tucnak-4.32/0000755000175000017500000000000014125271150007726 500000000000000tucnak-4.32/AUTHORS0000644000175000017500000000426513766616765010756 00000000000000Ladislav Vaiz, OK1ZIA Milos Zimmermann, OK1MZM - D_W database - Testing Michak Karas, OM4AA - Slovak translation - UTF-8 support - RPMs for FC - TOP10 in statistics Marco Fillipi, IW3IKN - Optional Exchange Sjoerd Cuijk, PE2SVN - Mandrake packages Florian Evers, DB1FLO - Gentoo ebuild file for tucnak1 Martin Douda, OK3MAD - Title page template - WIN32 consultations David Quental, CT1DRB - Portuguese translation Joop Stakenborg, PG4I - Former Debian maintainer Jerome Simonato, F0FLO - French translation of wiki Dave Gilligan, G1OGY - Taclog C_W conversion script share/tac2tuc.pl - Tucnakdw update Stephane Fillod, F8CFE - French translation of Tucnak Thomas Beierlein, DL1JBE - Gentoo maintainer for tucnak2 - Arguments --without-XXX in configure.in Olaf Wessels, DL5YBZ - Winkey fixes - Fx macros in CW window Lucian Langa YO6PLB - Fedora packages Leonardo Hoet LU9JMG - Castellano translation Hannes Jochriem DK1HJ - German translation of Tucnak - German translation of wiki Petr Parýzek, OK1IRG - WIN32 and DSP consultations Bartek SP5QWB - Polish translation Franck Rousseau, F4CIB - New countries in tucnakdw Vittorio Vallero, IK1RAC - Italian translation Sebastian Lange, DL7BST - IARU 1 HF Fieldday support Stefan U. Hegner DB4ST - German translation of Tucnak Florian Wolters, DF2ET - Optional exchange in Cabrillo - Optional exchange length patch - HTTP server refresh - WNA multipliers - R-Contest - ADIF export options Jaroslav Škarvada, OK2JRQ - Obsolete autoconf macros - FSF address update Ondřej Nový, OK3ON - Debian maintainer tucnak-4.32/config.sub0000644000175000017500000007555513700111027011641 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2019 Free Software Foundation, Inc. timestamp='2019-06-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) # First pass through any local machine types. echo "$1" exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Split fields of configuration type # shellcheck disable=SC2162 IFS="-" read field1 field2 field3 field4 <&2 exit 1 ;; *-*-*-*) basic_machine=$field1-$field2 os=$field3-$field4 ;; *-*-*) # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two # parts maybe_os=$field2-$field3 case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ | storm-chaos* | os2-emx* | rtmk-nova*) basic_machine=$field1 os=$maybe_os ;; android-linux) basic_machine=$field1-unknown os=linux-android ;; *) basic_machine=$field1-$field2 os=$field3 ;; esac ;; *-*) # A lone config we happen to match not fitting any pattern case $field1-$field2 in decstation-3100) basic_machine=mips-dec os= ;; *-*) # Second component is usually, but not always the OS case $field2 in # Prevent following clause from handling this valid os sun*os*) basic_machine=$field1 os=$field2 ;; # Manufacturers dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ | convergent* | ncr* | news | 32* | 3600* | 3100* \ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ | ultra | tti* | harris | dolphin | highlevel | gould \ | cbm | ns | masscomp | apple | axis | knuth | cray \ | microblaze* | sim | cisco \ | oki | wec | wrs | winbond) basic_machine=$field1-$field2 os= ;; *) basic_machine=$field1 os=$field2 ;; esac ;; esac ;; *) # Convert single-component short-hands not valid as part of # multi-component configurations. case $field1 in 386bsd) basic_machine=i386-pc os=bsd ;; a29khif) basic_machine=a29k-amd os=udi ;; adobe68k) basic_machine=m68010-adobe os=scout ;; alliant) basic_machine=fx80-alliant os= ;; altos | altos3068) basic_machine=m68k-altos os= ;; am29k) basic_machine=a29k-none os=bsd ;; amdahl) basic_machine=580-amdahl os=sysv ;; amiga) basic_machine=m68k-unknown os= ;; amigaos | amigados) basic_machine=m68k-unknown os=amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=sysv4 ;; apollo68) basic_machine=m68k-apollo os=sysv ;; apollo68bsd) basic_machine=m68k-apollo os=bsd ;; aros) basic_machine=i386-pc os=aros ;; aux) basic_machine=m68k-apple os=aux ;; balance) basic_machine=ns32k-sequent os=dynix ;; blackfin) basic_machine=bfin-unknown os=linux ;; cegcc) basic_machine=arm-unknown os=cegcc ;; convex-c1) basic_machine=c1-convex os=bsd ;; convex-c2) basic_machine=c2-convex os=bsd ;; convex-c32) basic_machine=c32-convex os=bsd ;; convex-c34) basic_machine=c34-convex os=bsd ;; convex-c38) basic_machine=c38-convex os=bsd ;; cray) basic_machine=j90-cray os=unicos ;; crds | unos) basic_machine=m68k-crds os= ;; da30) basic_machine=m68k-da30 os= ;; decstation | pmax | pmin | dec3100 | decstatn) basic_machine=mips-dec os= ;; delta88) basic_machine=m88k-motorola os=sysv3 ;; dicos) basic_machine=i686-pc os=dicos ;; djgpp) basic_machine=i586-pc os=msdosdjgpp ;; ebmon29k) basic_machine=a29k-amd os=ebmon ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=ose ;; gmicro) basic_machine=tron-gmicro os=sysv ;; go32) basic_machine=i386-pc os=go32 ;; h8300hms) basic_machine=h8300-hitachi os=hms ;; h8300xray) basic_machine=h8300-hitachi os=xray ;; h8500hms) basic_machine=h8500-hitachi os=hms ;; harris) basic_machine=m88k-harris os=sysv3 ;; hp300 | hp300hpux) basic_machine=m68k-hp os=hpux ;; hp300bsd) basic_machine=m68k-hp os=bsd ;; hppaosf) basic_machine=hppa1.1-hp os=osf ;; hppro) basic_machine=hppa1.1-hp os=proelf ;; i386mach) basic_machine=i386-mach os=mach ;; isi68 | isi) basic_machine=m68k-isi os=sysv ;; m68knommu) basic_machine=m68k-unknown os=linux ;; magnum | m3230) basic_machine=mips-mips os=sysv ;; merlin) basic_machine=ns32k-utek os=sysv ;; mingw64) basic_machine=x86_64-pc os=mingw64 ;; mingw32) basic_machine=i686-pc os=mingw32 ;; mingw32ce) basic_machine=arm-unknown os=mingw32ce ;; monitor) basic_machine=m68k-rom68k os=coff ;; morphos) basic_machine=powerpc-unknown os=morphos ;; moxiebox) basic_machine=moxie-unknown os=moxiebox ;; msdos) basic_machine=i386-pc os=msdos ;; msys) basic_machine=i686-pc os=msys ;; mvs) basic_machine=i370-ibm os=mvs ;; nacl) basic_machine=le32-unknown os=nacl ;; ncr3000) basic_machine=i486-ncr os=sysv4 ;; netbsd386) basic_machine=i386-pc os=netbsd ;; netwinder) basic_machine=armv4l-rebel os=linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=newsos ;; news1000) basic_machine=m68030-sony os=newsos ;; necv70) basic_machine=v70-nec os=sysv ;; nh3000) basic_machine=m68k-harris os=cxux ;; nh[45]000) basic_machine=m88k-harris os=cxux ;; nindy960) basic_machine=i960-intel os=nindy ;; mon960) basic_machine=i960-intel os=mon960 ;; nonstopux) basic_machine=mips-compaq os=nonstopux ;; os400) basic_machine=powerpc-ibm os=os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=ose ;; os68k) basic_machine=m68k-none os=os68k ;; paragon) basic_machine=i860-intel os=osf ;; parisc) basic_machine=hppa-unknown os=linux ;; pw32) basic_machine=i586-unknown os=pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=rdos ;; rdos32) basic_machine=i386-pc os=rdos ;; rom68k) basic_machine=m68k-rom68k os=coff ;; sa29200) basic_machine=a29k-amd os=udi ;; sei) basic_machine=mips-sei os=seiux ;; sequent) basic_machine=i386-sequent os= ;; sps7) basic_machine=m68k-bull os=sysv2 ;; st2000) basic_machine=m68k-tandem os= ;; stratus) basic_machine=i860-stratus os=sysv4 ;; sun2) basic_machine=m68000-sun os= ;; sun2os3) basic_machine=m68000-sun os=sunos3 ;; sun2os4) basic_machine=m68000-sun os=sunos4 ;; sun3) basic_machine=m68k-sun os= ;; sun3os3) basic_machine=m68k-sun os=sunos3 ;; sun3os4) basic_machine=m68k-sun os=sunos4 ;; sun4) basic_machine=sparc-sun os= ;; sun4os3) basic_machine=sparc-sun os=sunos3 ;; sun4os4) basic_machine=sparc-sun os=sunos4 ;; sun4sol2) basic_machine=sparc-sun os=solaris2 ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun os= ;; sv1) basic_machine=sv1-cray os=unicos ;; symmetry) basic_machine=i386-sequent os=dynix ;; t3e) basic_machine=alphaev5-cray os=unicos ;; t90) basic_machine=t90-cray os=unicos ;; toad1) basic_machine=pdp10-xkl os=tops20 ;; tpf) basic_machine=s390x-ibm os=tpf ;; udi29k) basic_machine=a29k-amd os=udi ;; ultra3) basic_machine=a29k-nyu os=sym1 ;; v810 | necv810) basic_machine=v810-nec os=none ;; vaxv) basic_machine=vax-dec os=sysv ;; vms) basic_machine=vax-dec os=vms ;; vsta) basic_machine=i386-pc os=vsta ;; vxworks960) basic_machine=i960-wrs os=vxworks ;; vxworks68) basic_machine=m68k-wrs os=vxworks ;; vxworks29k) basic_machine=a29k-wrs os=vxworks ;; xbox) basic_machine=i686-pc os=mingw32 ;; ymp) basic_machine=ymp-cray os=unicos ;; *) basic_machine=$1 os= ;; esac ;; esac # Decode 1-component or ad-hoc basic machines case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) cpu=hppa1.1 vendor=winbond ;; op50n) cpu=hppa1.1 vendor=oki ;; op60c) cpu=hppa1.1 vendor=oki ;; ibm*) cpu=i370 vendor=ibm ;; orion105) cpu=clipper vendor=highlevel ;; mac | mpw | mac-mpw) cpu=m68k vendor=apple ;; pmac | pmac-mpw) cpu=powerpc vendor=apple ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) cpu=m68000 vendor=att ;; 3b*) cpu=we32k vendor=att ;; bluegene*) cpu=powerpc vendor=ibm os=cnk ;; decsystem10* | dec10*) cpu=pdp10 vendor=dec os=tops10 ;; decsystem20* | dec20*) cpu=pdp10 vendor=dec os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) cpu=m68k vendor=motorola ;; dpx2*) cpu=m68k vendor=bull os=sysv3 ;; encore | umax | mmax) cpu=ns32k vendor=encore ;; elxsi) cpu=elxsi vendor=elxsi os=${os:-bsd} ;; fx2800) cpu=i860 vendor=alliant ;; genix) cpu=ns32k vendor=ns ;; h3050r* | hiux*) cpu=hppa1.1 vendor=hitachi os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) cpu=m68000 vendor=hp ;; hp9k3[2-9][0-9]) cpu=m68k vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) cpu=hppa1.1 vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; i*86v32) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=sysv32 ;; i*86v4*) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=sysv4 ;; i*86v) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=sysv ;; i*86sol2) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=solaris2 ;; j90 | j90-cray) cpu=j90 vendor=cray os=${os:-unicos} ;; iris | iris4d) cpu=mips vendor=sgi case $os in irix*) ;; *) os=irix4 ;; esac ;; miniframe) cpu=m68000 vendor=convergent ;; *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) cpu=m68k vendor=atari os=mint ;; news-3600 | risc-news) cpu=mips vendor=sony os=newsos ;; next | m*-next) cpu=m68k vendor=next case $os in openstep*) ;; nextstep*) ;; ns2*) os=nextstep2 ;; *) os=nextstep3 ;; esac ;; np1) cpu=np1 vendor=gould ;; op50n-* | op60c-*) cpu=hppa1.1 vendor=oki os=proelf ;; pa-hitachi) cpu=hppa1.1 vendor=hitachi os=hiuxwe2 ;; pbd) cpu=sparc vendor=tti ;; pbb) cpu=m68k vendor=tti ;; pc532) cpu=ns32k vendor=pc532 ;; pn) cpu=pn vendor=gould ;; power) cpu=power vendor=ibm ;; ps2) cpu=i386 vendor=ibm ;; rm[46]00) cpu=mips vendor=siemens ;; rtpc | rtpc-*) cpu=romp vendor=ibm ;; sde) cpu=mipsisa32 vendor=sde os=${os:-elf} ;; simso-wrs) cpu=sparclite vendor=wrs os=vxworks ;; tower | tower-32) cpu=m68k vendor=ncr ;; vpp*|vx|vx-*) cpu=f301 vendor=fujitsu ;; w65) cpu=w65 vendor=wdc ;; w89k-*) cpu=hppa1.1 vendor=winbond os=proelf ;; none) cpu=none vendor=none ;; leon|leon[3-9]) cpu=sparc vendor=$basic_machine ;; leon-*|leon[3-9]-*) cpu=sparc vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; *-*) # shellcheck disable=SC2162 IFS="-" read cpu vendor <&2 exit 1 ;; esac ;; esac # Here we canonicalize certain aliases for manufacturers. case $vendor in digital*) vendor=dec ;; commodore*) vendor=cbm ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x$os != x ] then case $os in # First match some system type aliases that might get confused # with valid system types. # solaris* is a basic system type, with this one exception. auroraux) os=auroraux ;; bluegene*) os=cnk ;; solaris1 | solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; solaris) os=solaris2 ;; unixware*) os=sysv4.2uw ;; gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) es1800*) os=ose ;; # Some version numbers need modification chorusos*) os=chorusos ;; isc) os=isc2.2 ;; sco6) os=sco5v6 ;; sco5) os=sco3.2v5 ;; sco4) os=sco3.2v4 ;; sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` ;; sco3.2v[4-9]* | sco5v6*) # Don't forget version if it is 3.2v4 or newer. ;; scout) # Don't match below ;; sco*) os=sco3.2v2 ;; psos*) os=psos ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. # sysv* is not here because it comes later, after sysvr4. gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ | sym* | kopensolaris* | plan9* \ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ | aos* | aros* | cloudabi* | sortix* \ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ | knetbsd* | mirbsd* | netbsd* \ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ | chorusrdb* | cegcc* | glidix* \ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ | linux-newlib* | linux-musl* | linux-uclibc* \ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ | interix* | uwin* | mks* | rhapsody* | darwin* \ | openstep* | oskit* | conix* | pw32* | nonstopux* \ | storm-chaos* | tops10* | tenex* | tops20* | its* \ | os2* | vos* | palmos* | uclinux* | nucleus* \ | morphos* | superux* | rtmk* | windiss* \ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix) # Remember, each alternative MUST END IN *, to match a version number. ;; qnx*) case $cpu in x86 | i*86) ;; *) os=nto-$os ;; esac ;; hiux*) os=hiuxwe2 ;; nto-qnx*) ;; nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; sim | xray | os68k* | v88r* \ | windows* | osx | abug | netware* | os9* \ | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) ;; linux-dietlibc) os=linux-dietlibc ;; linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; lynx*178) os=lynxos178 ;; lynx*5) os=lynxos5 ;; lynx*) os=lynxos ;; mac*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; opened*) os=openedition ;; os400*) os=os400 ;; sunos5*) os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; sunos6*) os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; wince*) os=wince ;; utek*) os=bsd ;; dynix*) os=bsd ;; acis*) os=aos ;; atheos*) os=atheos ;; syllable*) os=syllable ;; 386bsd) os=bsd ;; ctix* | uts*) os=sysv ;; nova*) os=rtmk-nova ;; ns2) os=nextstep2 ;; # Preserve the version number of sinix5. sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; sinix*) os=sysv4 ;; tpf*) os=tpf ;; triton*) os=sysv3 ;; oss*) os=sysv3 ;; svr4*) os=sysv4 ;; svr3) os=sysv3 ;; sysvr4) os=sysv4 ;; # This must come after sysvr4. sysv*) ;; ose*) os=ose ;; *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) os=mint ;; zvmoe) os=zvmoe ;; dicos*) os=dicos ;; pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. case $cpu in arm*) os=eabi ;; *) os=elf ;; esac ;; nacl*) ;; ios) ;; none) ;; *-eabi) ;; *) echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $cpu-$vendor in score-*) os=elf ;; spu-*) os=elf ;; *-acorn) os=riscix1.2 ;; arm*-rebel) os=linux ;; arm*-semi) os=aout ;; c4x-* | tic4x-*) os=coff ;; c8051-*) os=elf ;; clipper-intergraph) os=clix ;; hexagon-*) os=elf ;; tic54x-*) os=coff ;; tic55x-*) os=coff ;; tic6x-*) os=coff ;; # This must come before the *-dec entry. pdp10-*) os=tops20 ;; pdp11-*) os=none ;; *-dec | vax-*) os=ultrix4.2 ;; m68*-apollo) os=domain ;; i386-sun) os=sunos4.0.2 ;; m68000-sun) os=sunos3 ;; m68*-cisco) os=aout ;; mep-*) os=elf ;; mips*-cisco) os=elf ;; mips*-*) os=elf ;; or32-*) os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=sysv3 ;; sparc-* | *-sun) os=sunos4.1.1 ;; pru-*) os=elf ;; *-be) os=beos ;; *-ibm) os=aix ;; *-knuth) os=mmixware ;; *-wec) os=proelf ;; *-winbond) os=proelf ;; *-oki) os=proelf ;; *-hp) os=hpux ;; *-hitachi) os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=sysv ;; *-cbm) os=amigaos ;; *-dg) os=dgux ;; *-dolphin) os=sysv3 ;; m68k-ccur) os=rtu ;; m88k-omron*) os=luna ;; *-next) os=nextstep ;; *-sequent) os=ptx ;; *-crds) os=unos ;; *-ns) os=genix ;; i370-*) os=mvs ;; *-gould) os=sysv ;; *-highlevel) os=bsd ;; *-encore) os=bsd ;; *-sgi) os=irix ;; *-siemens) os=sysv4 ;; *-masscomp) os=rtu ;; f30[01]-fujitsu | f700-fujitsu) os=uxpv ;; *-rom68k) os=coff ;; *-*bug) os=coff ;; *-apple) os=macos ;; *-atari*) os=mint ;; *-wrs) os=vxworks ;; *) os=none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. case $vendor in unknown) case $os in riscix*) vendor=acorn ;; sunos*) vendor=sun ;; cnk*|-aix*) vendor=ibm ;; beos*) vendor=be ;; hpux*) vendor=hp ;; mpeix*) vendor=hp ;; hiux*) vendor=hitachi ;; unos*) vendor=crds ;; dgux*) vendor=dg ;; luna*) vendor=omron ;; genix*) vendor=ns ;; clix*) vendor=intergraph ;; mvs* | opened*) vendor=ibm ;; os400*) vendor=ibm ;; ptx*) vendor=sequent ;; tpf*) vendor=ibm ;; vxsim* | vxworks* | windiss*) vendor=wrs ;; aux*) vendor=apple ;; hms*) vendor=hitachi ;; mpw* | macos*) vendor=apple ;; *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) vendor=atari ;; vos*) vendor=stratus ;; esac ;; esac echo "$cpu-$vendor-$os" exit # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: tucnak-4.32/data/0000755000175000017500000000000014125271147010645 500000000000000tucnak-4.32/data/tucnakvexcagcw0000644000175000017500000000000611277513163013523 00000000000000A B C tucnak-4.32/data/cor2inc.pl0000755000175000017500000000324314016141620012455 00000000000000#!/usr/bin/perl -w use Fcntl 'SEEK_SET'; @INFILES=("tucnakcor"); $OUTFILE="../src/cordata.inc"; $OUTH="../src/cordata.h"; $PREFIX="cor"; open GD, ">$OUTFILE" or die "Can't open file $OUTFILE"; print GD "/* Automatically generated by cor2inc.pl */\n\n"; $hh="/* Automatically generated by corinc.pl */\n\n"; for $filename (@INFILES){ open (FD, $filename) or die; sysseek(FD, 0, 2); $len=sysseek(FD, 0, 1); sysseek(FD, 0, 0); sysread(FD, $icon, $len); close(FD); $ident=$filename; $ident=~s/\..*//; $items=$len/5; print GD "const struct cpoint $PREFIX"."_$ident"."[COR_ITEMS] = {\n "; $hh.=sprintf "#ifdef Z_HAVE_SDL\n"; $hh.=sprintf "#define COR_ITEMS %d\n\n", $items; $hh.=sprintf "extern const struct cpoint $PREFIX"."_$ident"."[COR_ITEMS];\n"; $hh.=sprintf "#endif /* Z_HAVE_SDL */\n"; $line=""; for ($i=0; $i<$len; $i+=5){ $w=unpack ("C", substr($icon, $i+0, 1))+256*unpack ("C", substr($icon, $i+1, 1)); if ($w > 32767) { $w -= 65536; } $h=unpack ("C", substr($icon, $i+2, 1))+256*unpack ("C", substr($icon, $i+3, 1)); if ($h > 32767) { $h -= 65536; } $t=unpack ("C", substr($icon, $i+4, 1)); $line.=sprintf "{%d,%d,%d}", $w, $h, $t; if ($i<$len-5) { $line.=","; if (length($line)>70) { print GD $line."\n "; $line=""; } } } print GD $line; print GD "\n};\n\n"; } close GD; #print $hh; $oldh=`cat $OUTH`; if (!$oldh or $hh ne $oldh){ print "new header\n"; open FD, ">$OUTH" or die; print FD $hh; close FD; }else{ print "same header\n"; } tucnak-4.32/data/tucnakvexcdok0000644000175000017500000001103412751076070013361 00000000000000A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 A33 A34 A35 A36 A37 A39 A40 A41 A43 A44 A45 A46 A47 A48 A50 A52 A53 A55 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 B32 B33 B34 B35 B36 B37 B38 B39 B40 B41 B42 B43 C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 C31 C32 C33 C34 C35 C36 C37 D01 D02 D03 D04 D05 D06 D07 D08 D09 D10 D11 D12 D13 D14 D15 D16 D17 D19 D20 D21 D23 D24 D25 D26 D27 E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E15 E16 E17 E18 E19 E20 E21 E22 E23 E24 E25 E26 E27 E28 E29 E30 E31 E32 E33 E34 E35 E36 E37 E38 E39 F01 F02 F03 F04 F05 F06 F07 F08 F09 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 F51 F52 F53 F54 F55 F56 F57 F58 F59 F60 F61 F62 F63 F64 F65 F66 F67 F68 F69 F70 F71 F72 F73 F74 F75 F76 G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 G14 G15 G16 G17 G18 G19 G20 G21 G22 G23 G24 G25 G26 G27 G28 G29 G31 G32 G33 G34 G35 G36 G37 G38 G40 G41 G42 G43 G44 G45 G46 G47 G48 G49 G50 G51 G52 G53 G54 G55 G56 G74 H01 H02 H03 H04 H05 H06 H07 H08 H09 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H59 H60 H61 H62 H63 H64 H65 H66 I01 I02 I03 I04 I05 I06 I07 I08 I09 I10 I11 I12 I13 I14 I15 I16 I17 I18 I19 I20 I21 I22 I23 I24 I25 I26 I27 I28 I29 I30 I31 I32 I33 I34 I35 I36 I37 I38 I39 I40 I41 I42 I43 I44 I45 I46 I47 I48 I49 I50 I51 I52 I53 I54 I55 I56 I57 I58 K01 K02 K03 K04 K05 K06 K07 K08 K09 K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 K30 K31 K32 K33 K34 K35 K36 K38 K39 K40 K41 K42 K43 K44 K45 K46 K47 K48 K49 K50 K51 K52 K53 K54 K55 K56 K57 L01 L02 L03 L04 L05 L06 L07 L08 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L22 L23 L24 L26 L27 L29 L30 L31 M01 M02 M03 M04 M05 M06 M07 M08 M09 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M27 M28 M29 M30 M31 M32 M33 M34 M35 N01 N02 N03 N04 N05 N06 N07 N08 N09 N10 N11 N12 N13 N14 N15 N16 N17 N18 N19 N20 N21 N22 N23 N24 N25 N26 N28 N29 N30 N31 N32 N33 N34 N35 N36 N37 N38 N39 N40 N41 N42 N43 N44 N45 N46 N47 N48 N49 N50 N51 N52 N53 N54 N55 N56 N57 N58 N59 N60 N61 N62 O01 O02 O03 O04 O05 O06 O07 O08 O09 O10 O11 O12 O13 O14 O15 O16 O17 O18 O19 O20 O21 O22 O23 O24 O25 O26 O27 O28 O29 O30 O31 O32 O33 O34 O35 O36 O37 O38 O39 O40 O41 O42 O43 O44 O45 O46 O47 O48 O49 O51 O52 O53 O54 O55 P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31 P32 P33 P34 P35 P36 P37 P38 P39 P40 P42 P43 P44 P45 P46 P47 P48 P49 P50 P51 P52 P53 P54 P55 P56 P57 P59 P60 P61 P62 Q01 Q02 Q03 Q04 Q05 Q06 Q07 Q08 Q09 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 R01 R02 R03 R04 R05 R06 R07 R08 R09 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 R30 R31 R32 R33 R34 S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 S12 S13 S14 S15 S16 S18 S19 S20 S21 S22 S24 S25 S26 S27 S28 S29 S30 S31 S32 S33 S34 S35 S36 S37 S38 S41 S42 S43 S44 S45 S46 S47 S48 S49 S50 S51 S52 S53 S54 S55 S56 S57 S58 S59 S60 S62 S63 S64 S65 S66 S69 S70 T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20 T21 U01 U02 U03 U04 U05 U06 U07 U08 U09 U10 U11 U12 U13 U14 U15 U16 U17 U18 U19 U20 U21 U22 U23 U24 U25 U26 U27 U28 U29 U30 V01 V02 V03 V04 V05 V06 V07 V08 V09 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V22 V23 V24 V25 V26 V27 V28 V29 V30 W01 W02 W03 W04 W05 W06 W07 W08 W09 W10 W11 W12 W13 W14 W15 W17 W18 W19 W20 W21 W22 W23 W24 W26 W27 W28 W29 W30 W31 W32 W33 W34 W35 W36 W37 W38 X01 X02 X03 X04 X05 X06 X07 X08 X09 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X27 X28 X29 X30 X31 X32 X33 X34 X35 X36 X37 X38 X39 X40 X41 X42 X43 X44 X45 X46 X47 X48 Y01 Y02 Y03 Y04 Y05 Y06 Y07 Y08 Y09 Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17 Y18 Y19 Y20 Y21 Y22 Y24 Y25 Y26 Y27 Y28 Y30 Y33 Y34 Y35 Y36 Y37 Y38 Y39 Y40 Y41 Y42 Y43 Z01 Z02 Z03 Z04 Z05 Z06 Z07 Z08 Z09 Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17 Z18 Z19 Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27 Z28 Z29 Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37 Z38 Z39 Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47 Z48 Z49 Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57 Z58 Z59 Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67 Z68 Z69 Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77 Z78 Z79 Z81 Z82 Z83 Z84 Z85 Z86 Z87 Z88 Z89 Z90 Z91 Z92 Z93 Z94 tucnak-4.32/data/tucnak64.png0000644000175000017500000001233711277513163012742 00000000000000PNG  IHDR@@iqgAMA7IDATx՛yt]ŝ?U޷Jzzkx & 66;6=t&'dItN7LzlIICt& L6x*,'-wJ'ؖ w=z_[,>dF۶#/ b1Ph}1\o 'R5xOW׏`$ `u_2Fնt\z{-*J'Fjt:'2[c74L&8o7Ʃ.ETT*`2fZFZZ?qLH$8bqF551mZkNM\%;@,|ԒHզ:!',)%Bjjj6u*{o^ޡ/GB t@~%<;h{;V΋bUUߜ2ꅗM&33vlNw2ֿn~͉'?u4eIg]ma{h[j5η7Q7u樂X"ˡ Hnʧmx7D/A}ŭFTv PN~ vw2m}yPak{ U -KY C6KmGTv1P`E~zu9N=p{XW5MG+o3w+SDuew;#r\<߇P?R cצkTv<[ţxn[ȫtۭG/$DUfテx7h84=ь[;7݅w e&lOF B 2yd\>#+">nGZbmRxt@%4Z:@R)MiTT\*Pa#ʿ'r 1\fa#˔(W*hmcmԤE'AV ,ˊ(5=@h>r,Y8|' T6HHA3dH$ڿ2=gMR啊˲K2e[ňbgtJ$D""50pL@X|XA e!2Aѭ,a1Vx<i~Ya]&-r]?Za@)RZ `4j8,Wפӟ8_ JdԘX|F0J?sjpLZH!"WV5"-Cř={6_>eaWBM8[__ ,t:, ˲BJooG#hR.?t:h#[oF~}QʗI$ c@4҆s5}Q*tal I_{9s&UUaK,A)͓O>Ŝs6m N ڼeZI<#gOr:x,F>P4iYtǨJ$D"1kDfKy^zzt0~{to^e~֧i&۴˫_eW.eޥsI&m!B)ERa,Zt9H$v' T*5QkZZZ7Ass3|u蠫c {&1(u]^jSp8CRf5T\osfH{BP*ZA[ba`E"̄X,_~0a"B/^mg`Bm6p6hc^]W׭cŴttv G ~*W ̙ >YFg [_1y\G,rz0TP\.Lt]mU_` ?`۶meONuu56g-X Dѭ-MB2$aP /lm!-q&IƳ5,M6WC{{;[lf?~Bɓ'ټy3W\q@ -=y[)N I`[JC,\.̳iMŤ ?RZ[1R58yu^uJJ)H*3>4X:P  )Q~'PUObW lC.E)ũSظu>LMM-JܴFfNuB0mdXzŨMS(eY’5(ˬZ+@IiUe۶2+,bӦM3e5d2YTp=%'F6I؎Äqc"L`YA6 3}l%;V*Zu+ HG=@%ZK$D} tMoNk(w*1xG[[g͚5֦qq+o^ DZHCC'WTL383yS)U S@/XݎF&8۶9x`?>͌(GOQEXI̫Ī9vjENèii!'~mKcq^nZqG@)5tQ:F)Jv1/6UUVkԱH%8E!30{~:(VD#$-cz:r|g[ir\%yJkM F!RJ%cT%֭[Tav;/>8uh庯j,ve16"V:0D\b|  !(zCًH5Swg* 'N6FHa A0$=5,Fk`'P9_Ε*Ji@H|UJyxQ@ƣG6~Ոo~bMVx,TLJBaOAb j 9v(V*[} 㭓jU*J=ҫma 6QDi2c Lǚ4o%NR`mI6g^H)9|/e򯀣&|0rUc*(1:h L$% 6==TK*KǶ?{ Eo矣)%^k^:9C=[lE@UL? /!'a|, 5DHæB#>\.K&g}lgwO{|zc2 }}~׺o~oW^;ҷR68N͎l۞"5 A5Ki燻@U rVjdTcQ줰7qMG;v A+]%9ZY5GJU  R?a~^C Hjk_V5(+{ }Gt?oW7<^1`#Y ۟6am\fz4k.meMێ(oC ANfR@}sWxȁ.wdHBduދwl8XUGQ+Gd$}Զ1t}U=k'@ܷ2'|h2܎#SWa g~vAtOjwu`Ec*Ҋ$  fS7'6vkl=6k)]JǺSsOa!5]=ngo 8~ʿ/yUƸk3͉D>4TfI#ҙx'ʆ7c-BMs|*2`=W/.RU;{6_~P MvB{ Xş;IENDB`tucnak-4.32/data/xfer32.png0000644000175000017500000000325512132501146012400 00000000000000PNG  IHDR szz pHYs  tIME ")LIDATXW1d$IW3z.$ am gM qBH`CI`f+)ŕ&w ̝}'hvnwjx08  {fFcx 0"hcjUr.0 @lG\/6oشX5`gJkmQz"" 0'feet]4wEAD+C{ 1Fi":Yf.cEę]&ZP-fP/!`1/ XKр0sWkY߮js} p.O:r\ $[fq=h$li_j"CtVs- UD9+Bm TԀ79w<צ6D (v.E3pNL{wkGKa.cf23 (ev35cfG 8"H-=rJg2 H X7df>es_?i$:pt8@rF9045X4I-%˼&h.hc~rn^wi'k_j]1|8kζKQE$s{هfm&4Teק. 3s1s)N0n·Gy_.Wu$:[jiO Y4IS4 7;:3ssr&2Kخk,9gB~qNvfqV,5Rl*Z-z{a.""cx6w`Wp8RJRKen E"\)",9K1crJS)ݔUmtnXU JNIj),sjYr-0$S)P^z^WoI!F\IENDB`tucnak-4.32/data/update_deb.sh0000755000175000017500000000120613614305660013217 00000000000000#!/bin/sh echo "*** This is upgrade script for Tucnak" echo "*** Please follow instructions below" echo "" echo "sudo LANG= LC_ALL= dpkg -i '$1' '$2'" LANG= LC_ALL= sudo dpkg -i "$1" "$2" if test x"$?" = x"0" ; then echo "*** Seems OK. Please restart Tucnak" exit 0 else echo "*** sudo returns $?, falling to su" fi echo "*** Please enter root's password" echo su -l -c dpkg -i "$1" "$2" root su -l -c "dpkg -i \"$1\" \"$2\"" root if test x"$?" = x"0" ; then echo "*** Seems OK. Please restart Tucnak" exit 0 else echo "*** su returns $?, giving up" echo "*** Please run as root: dpkg -i '$1' '$2'" exit 1 fi tucnak-4.32/data/tucnakcw0000644000175000017500000001733512010407131012321 00000000000000OL4K JO70TQ 20120707 CEHIJKLMN OK2VZK JN89SS 20120707 E OK2MEU JN89RX 20120707 CE OL4N JO60VR 20120707 C OK2UYZ JN89XX 20120707 E OL9W JN99CL 20120707 CEGHIJKLM OK2KOE JN89SV 20120707 CE OK2EZ JN99BS 20120707 C OK2OAS JN89DO 20120707 CEK OK1ASA JN79SR 20120707 C OK2PGO JN89GF 20120707 C OK2RSC JN89QE 20120707 CEG OK2RSC JN89QH 20120707 CEG OK7CM JO70KK 20120707 EG OK1EM JO70DP 20120707 CEGIJKLMN OK2KG JN89JI 20120707 CE OK1KCR JN79VS 20120707 C OK2KYZ JO80NB 20120707 CEGHIJK OK2KOJ JN89DL 20120707 C OK1KNC JO60IH 20120707 C OK1KNF JN69MJ 20120707 E OK1JHM JO70CO 20120707 CLMNOP OK2BUC JN99BN 20120707 C OK1ZVP JO60LJ 20120707 K OK2KEA JN89EJ 20120707 CEG OK2KZB JN99AK 20120707 CE OK2BHL/P JN88WX 20120707 E OK2BEN JN79XN 20120707 C OK1DJS JO70FB 20120707 C OK1OPT JN69NX 20120707 CEG OK1VAM/P JO60LJ 20120707 K OK7ST JO70DP 20120707 E OK2VG JN99DN 20120707 CEGK OK2PWY JO80HB 20120707 K OK2PHB JN89QU 20120707 E OK1CJH JO70UF 20120707 CEI OK1FAN JO70AD 20120707 CE OK2KJU JN89SJ 20120707 CE OK1AIG JO70NN 20120707 E OK2MAJ JN89SG 20120707 C OK1FC JN79CP 20120707 C OK1DEU JO80DD 20120707 G OK1UDQ JO70NO 20120707 C OK1KIR JO60PM 20120707 GHIJKL OK1VEC JN69NX 20120707 K OK2KPD JO80UB 20120707 E OK2QI JO80OC 20120707 IJLM OK2DGB JN79RL 20120707 G OK2AQ JN89FV 20120707 K OK1XFJ JN69GX 20120707 C OK2PCE JN88JU 20120707 C OK1RCA JN69QJ 20120707 C OK2RDI JN88WX 20120707 CE OK1KDO JN69KK 20120707 C OK1VUB JO70KK 20120707 C OK1VEI JN69JJ 20120707 GHLM OK2BPR JN99FU 20120707 KLM OK1DPO JO70CH 20120707 CEG OK1KOB JO70UK 20120707 C OK2VX JO80JB 20120707 C OK2OHA JN89SO 20120707 CEG OK1VUF JO70DP 20120707 E OK2BFF JO80HB 20120707 LM OK2VZ JN89SM 20120707 CE OK2RTI JN89FL 20120707 C OK2SJJ JN89FL 20120707 E OL5Z JN89AR 20120707 C OK5K JN89VP 20120707 EGK OK1VM JO60VR 20120707 IJKL OK5XT JO70UK 20120707 C OK1DPX JN79AQ 20120707 C OK1JDJ JO70AQ 20120707 C OK2KPS JN89WH 20120707 C OK1OAZ JO70FC 20120707 C OK1KTW JN89IW 20120707 CEG OK2TKE JN89JJ 20120707 C OK5T JO70BK 20120707 C OK1DKX JN79GB 20120707 G OK1AV JO70BN 20120707 C OK2UFU JN79VL 20120707 C OK1KJO JO60OK 20120707 C OL1B JO80IB 20120707 CEG OK2SUK JN89TO 20120707 EG OL1C JO60UQ 20120707 CE OK1MAC JN79IO 20120707 GH OK5Z JN89AK 20120707 CEGHIJKL OK2PNQ JN99EL 20120707 EGH OK5AJA JO70EQ 20120707 CE OK2VLT JN99CS 20120707 C OK1KEL JO70OP 20120707 C OK1STJ JN69WI 20120707 C OK2SEX JN99CV 20120707 C OK2BLH JN89EC 20120707 CQ OK1KJV JO60UA 20120707 CE OK2BS JN89LW 20120707 CEG OK1KEO JN79GS 20120707 C OK1KPA JN79US 20120707 CEGHKLM OK1KEP JO70OR 20120707 CEG OK1FHA JO60RA 20120707 EG OK6TT JO80CI 20120707 C OK1KPB JN79AP 20120707 C OK1XBF JN69MJ 20120707 C OK2KLD JN89PU 20120707 C OK2ZTK JN89QP 20120707 GH OK1LX JN69IO 20120707 C OK1KUO JO80FF 20120707 CEGHI OK1NWD JN69UJ 20120707 E OK1FHI JO70GS 20120707 C OK1GHZ JN79JT 20120707 C OK1KPI JN69XJ 20120707 CEG OK2KGB JN79QJ 20120707 C OK1RF JN79KM 20120707 C OK1KKD JO60WD 20120707 EGHIJKL OK2TAS JN99BN 20120707 C OK1KUW JN69KT 20120707 C OK1UFF JO60XR 20120707 CEGHKL OK1VVP JN79DO 20120707 C OL7C JO60JJ 20120707 C OL1Z JN88AU 20120707 CE OK1KKI JN79NF 20120707 CE OK6R JN79OW 20120707 C OK1WT JO60RA 20120707 C OK1FMY JO70FA 20120707 E OK1KFB JN79BC 20120707 E OK6T JO80BJ 20120707 C OK1CVX JO60WA 20120707 C OK1AKE JO70AM 20120707 CE OL7G JN78DR 20120707 C OK2KLS JN89PR 20120707 C OK1KKL JO70PO 20120707 CEGHIJKLMN OK4DL JN89CX 20120707 C OK1OHK JO80EG 20120707 CE OK1UFL JO70SQ 20120707 IJKLMN OK2HPI JN89UE 20120707 K OK1XHD JN79IW 20120707 C OK1KFH JN69VN 20120707 C OL2C JN88JX 20120707 CG OL7M JO80FG 20120707 E OK1AKL JO70FA 20120707 C OK1IEI JO70EC 20120707 CEGHK OK1KAD JO60KI 20120707 CEG OK1WGW JO60WP 20120707 CE OL7Q JN99FN 20120707 EHKM OK2SAR JN89LX 20120707 CEG OL2J JN79TI 20120707 C OK2BMJ JN89VC 20120707 C OK1CD JO70FC 20120707 C OK2KWS JN89PV 20120707 CE OK2ILA JN89LD 20120707 E OK2BRX JN89QU 20120707 C OK1ROZ JN69VP 20120707 C OK2A JO60JJ 20120707 EGK OK6PS JN89SV 20120707 CE OK1KQI JO80CH 20120707 C OK1MBT JO70CO 20120707 CMNOP OK2C JN99AJ 20120707 CEGHIJKLM OK1KVR JO70UO 20120707 C OK1DRX JN79DW 20120707 CE OK2RVM JN79XS 20120707 CE OK7N JN69WR 20120707 C OK1VRF JN69OK 20120707 E OK7O JN69OU 20120707 C OK2G JN99BK 20120707 CE OK1VBN JN79HA 20120707 E OK1JKT JO60RN 20120707 K OK1CR JN69HT 20120707 C OK1KLH JN79EF 20120707 C OK1JAH JN79OQ 20120707 C OK1UGI JN69QV 20120707 C OK2RAS JN99FP 20120707 C OK2M JN69UN 20120707 CEGHIJKLMN OK1KLL JN79IW 20120707 CEG OK1NH JN69UH 20120707 C OK1IA JO70UP 20120707 EGHIJKLM OK2IGL JN89LD 20120707 C OK1CZ JO70EC 20120707 CEG OK2VNQ JN99EL 20120707 CE OK1AIY/P JO60LJ 20120707 GHIJLMN OK1KLU JO60EG 20120707 CE OK1VHF JO70EB 20120707 CEKL OK1YA JN79IO 20120707 IJL OK2BSP JN99AK 20120707 CE OK2FKF JN89KL 20120707 C OK2KCN JN89OI 20120707 C OK2YT JN88JX 20120707 E OK1VRY JN79FP 20120707 C OK2IRE JN99IM 20120707 C OK1FDY JO70AQ 20120707 C OK2SRO JN89SM 20120707 CE OK1MHW JN79VS 20120707 E OK7RA JO60LJ 20120707 LM OK7RB JO60RB 20120707 GLM OK2PVF JN99JQ 20120707 C OK2BDA JN99EU 20120707 CE OK2TT JO80IA 20120707 JK OK1RKS JO70FB 20120707 E S59GS JN75NP 20120707 CEG OK1TF JN89AR 20120707 C OK2TX JN89UD 20120707 C OK1DDA JO60HE 20120707 C OK1DSZ JN69RI 20120707 C OK2JI JN89MW 20120707 EG OK1TI JO70DP 20120707 CG OK2JK JN89HE 20120707 C OL3Y JN69JJ 20120707 C OK1KMG JN89IW 20120707 CEG OK2UDE JN89JS 20120707 E OL3Z JN79FX 20120707 CEG OK1VSJ JN69IS 20120707 C OK1KHA JO80BJ 20120707 C OK1AMD JO70ND 20120707 C OK2VJC JN99CM 20120707 LM OK1BMW JO70EI 20120707 CE OK1ARO JN79LS 20120707 CE OK1FEN JO70NA 20120707 CEGJK OL4A JO60RN 20120707 C OK2HBR JN89PP 20120707 CE OK1RAR JN79CX 20120707 C OK1KMP JO70SM 20120707 C OK2MZL JN89SN 20120707 CE OK1KHI JN69JJ 20120707 E OK1KRY JN69ER 20120707 EGK OK2KYJ JN89QQ 20120707 CEG OK1KCB JN79GB 20120707 CE OK5AMA JO70EQ 20120707 CE OK1KHK JO70WE 20120707 C OK2KYK JN89NB 20120707 C OK1KHL JO80AC 20120707 C OK2DEY JN99EU 20120707 CE OK2OAJ JN99BU 20120707 C OK1IBB JN69MJ 20120707 E OK2SSJ JN89WW 20120707 CE tucnak-4.32/data/sortdw.pl0000755000175000017500000000124411277513163012452 00000000000000#!/usr/bin/perl -w open(F, "tucnakdw") or die; open(G, ">tucnakdw.tmp") or die; while ($s=){ $s=~s/[\r\n]+//; if ($s=~/^#/) { print G "$s\n"; next; } if ($s=~/^\s*$/) { print G "$s\n"; next; } print G "$s\n"; $s=; $s=~s/[\r\n]+//; die "empty second line" if (!defined($s)); @a=split(/\s+/, $s); %a=(); foreach $a (@a) {$a{$a}=1;} @a=sort(keys(%a)); $s=join(" ", @a); print G "$s\n"; $s=; #can be empty string if (defined($s)){ $s=~s/[\r\n]+//; print G "$s\n"; } } close(F); close(G); rename("tucnakdw.tmp", "tucnakdw"); tucnak-4.32/data/tucnakvexcrcont0000644000175000017500000000024513726075223013735 00000000000000ARDFR BY CM86 DIG DVR R01 R02 R03 R04 R05 R06 R07 R09 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R24 R25 R26 R27 R29 R31 R32 R33 R34 R55 R57 RDP XRAY XX YL YLR tucnak-4.32/data/listdir.pl0000755000175000017500000000611011277513163012577 00000000000000#!/usr/bin/perl -w open(FD,">index.html") or die; print FD " OK1ZIA - Provozak cervenec 2005

Logs



\n"; open(LS,"ls|") or die; $i=0; while($d=){ chomp($d); next if ! -d $d; next if ! -f "$d/desc"; $desc=`cat \"$d/desc\"`; @desc=split /\s+/,$desc,3; if ($i % 2){ print FD "\n"; }else{ print FD "\n"; } print FD ""; print FD ""; print FD "\n"; $i++; } close(LS); print FD "
DATE   CALL   CTEST  
".qh($desc[0])." ".qh($desc[1])." ".qh($desc[2])."

Created by listdir.pl, part of TUCNAK ver. 1.23

\"Valid  \"Viewable 



\n"; sub qh{ my ($s)=@_; return "" if !defined($s); $s=~s/\&/&/g; $s=~s/\"/"/g; $s=~s/\'/'/g; $s=~s/\/>/g; return $s; } sub qu #taken from URI:Escape.pm, sub uri_escape { my($text, $patn) = @_; if (!defined(%escapes)){ # Build a char->hex map for (0..255) { $escapes{chr($_)} = sprintf("%%%02X", $_); } } return undef unless defined $text; if (defined $patn){ unless (exists $subst{$patn}) { # Because we can't compile the regex we fake it with a cached sub (my $tmp = $patn) =~ s,/,\\/,g; eval "\$subst{\$patn} = sub {\$_[0] =~ s/([$tmp])/\$escapes{\$1} || _fail_hi(\$1)/ge; }"; Carp::croak("uri_escape: $@") if $@; } &{$subst{$patn}}($text); } else { # Default unsafe characters. RFC 2732 ^(uric - reserved) $text =~ s/([^A-Za-z0-9\-_.!~*'()])/$escapes{$1} || _fail_hi($1)/ge; } $text; } tucnak-4.32/data/tucnakvexckac0000644000175000017500000000034312632311203013327 00000000000000DVG KA YLG G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 G14 G15 G16 G17 G18 G19 G20 G21 G22 G23 G24 G25 G26 G27 G28 G29 G33 G34 G35 G36 G37 G38 G40 G41 G43 G44 G45 G46 G47 G48 G49 G50 G51 G53 G54 G55 G56 G73 Z12 Z32 Z37 tucnak-4.32/data/_4o.txt0000644000175000017500000000142111277513163012007 0000000000000019.2206 43.5167 19.2398 43.4689 19.3112 43.4310 19.3277 43.4190 19.4595 43.3891 19.4870 43.3751 19.5529 43.3052 19.5694 43.2512 19.6106 43.2292 19.6243 43.2292 19.6655 43.1872 19.6902 43.1831 19.7177 43.1831 19.7314 43.1711 19.7452 43.1872 19.7617 43.1852 19.7864 43.1571 19.7754 43.1451 19.8221 43.1090 19.8386 43.1130 19.8441 43.1010 19.8550 43.0930 19.8907 43.1050 19.9594 43.1110 19.9731 43.1210 19.9841 43.1150 19.9951 43.0829 20.1407 43.0107 20.1654 42.9986 20.3220 42.9544 20.3302 42.9383 20.3714 42.9303 20.3796 42.9021 20.3577 42.8438 20.3192 42.8297 20.3055 42.8176 20.3055 42.7954 20.2560 42.7571 20.0967 42.7853 20.0555 42.7773 20.0446 42.7591 20.0528 42.7188 20.0748 42.7168 20.1105 42.6905 20.1324 42.6764 20.0775 42.6198 20.0885 42.5956 20.0940 42.5854 20.0830 42.5591 tucnak-4.32/data/tucnakvexcusaca0000644000175000017500000000034011336204050013663 00000000000000AB AL ALB ALT AR AZ BC CA CO CT DC DE FL GA IA ID IL IN KS KY LA LAB MA MAN MB MD ME MI MN MO MS MT NB NC ND NE NF NH NJ NM NS NV NWT NY OH OK ON OR PA PEI PQ QC QU RI SC SD SK TN TX UT VA VT WA WI WV WY YT YU tucnak-4.32/data/txt2inc.pl0000755000175000017500000000353114125266427012527 00000000000000#!/usr/bin/perl -w use Fcntl 'SEEK_SET'; @INFILES=("aircrafts.txt", "cty.dat", "master.scp", "titlpage.html", "tucnakcw", "tucnaknames", "tucnakrc", "tucnakdw", "tucnakwiz", "tucnakvexcari", "tucnakvexckac", "tucnakvexcdok", "tucnakvexcagcw", "tucnakvexcokres", "tucnakvexcrsgbdc", "tucnakvexcuba", "tucnakvexcusaca", "tucnakvexcwna", "tucnakvexcwsa", "tucnakvexcrcont", "tucnakvexclcont", "update_deb.sh", "update_eee.sh"); $OUTFILE="../src/txts.inc"; $OUTH="../src/txts.h"; $PREFIX="txt"; open GD, ">$OUTFILE" or die "Can't open file $OUTFILE"; print GD "/* Automatically generated by txt2inc.pl */\n\n"; $h="/* Automatically generated by txt2inc.pl */\n\n"; for $filename (@INFILES){ $nr=""; $data=""; print "$filename\n"; open (FD, $filename) or die; sysseek(FD, 0, 2); sysseek(FD, 0, 0); $ident=$filename; $ident=~s/\..*//; while($s=){ $s=~s/[\r\n]+//g; $s=~s/\\/\\\\/g; $s=~s/\"/\\"/g; $s=~s/\t/\\t/g; $s="\"$s\\n\"\n"; if (length($data) + length($s) > 65530){ print GD "const char $PREFIX"."_$ident$nr"."[".length($data)."] = \n"; print GD $data; print GD ";\n\n"; $h.=sprintf "extern const char $PREFIX"."_$ident$nr"."[".length($data)."];\n"; $data=""; $nr++; } $data.=$s; } if (length($data)>0){ print GD "const char $PREFIX"."_$ident$nr"."[".length($data)."] = \n"; print GD $data; print GD ";\n\n"; $h.=sprintf "extern const char $PREFIX"."_$ident$nr"."[".length($data)."];\n"; } close(FD); } close GD; #print $h; $oldh=`cat $OUTH`; if (!$oldh or $h ne $oldh){ print "new header\n"; open FD, ">$OUTH" or die; print FD $h; close FD; }else{ print "same header\n"; } tucnak-4.32/data/svnversion.c0000644000175000017500000000000011765360475013145 00000000000000tucnak-4.32/data/tucnakvexcwsa0000644000175000017500000000034213607612623013377 00000000000000DVO DWS O01 O02 O03 O04 O05 O06 O08 O09 O10 O11 O12 O14 O15 O16 O17 O18 O19 O22 O23 O25 O26 O27 O28 O29 O30 O32 O33 O34 O35 O36 O37 O38 O39 O40 O41 O42 O43 O44 O45 O46 O47 O48 O49 O51 O52 O53 O54 O55 YLO Z03 Z38 Z92 Z93 tucnak-4.32/data/tucnakvexcokres0000644000175000017500000000122511277513163013731 00000000000000APA APB APC APD APE APF APG APH API APJ BBN BBE BKD BKO BKH BME BMB BNY BPZ BPV BPB BRA CBU CCK CJH CPE CPI CPR CST CTA DDO DCH DKV DKL DPM DPJ DPS DRO DSO DTA ECL EDE ECH EJA ELI ELT ELO EMO ETE EUL FHB FHK FCR FJI FNA FPA FRK FSE FSV FTR FUO GBL GBM GBV GBR GHO GJI GKR GPR GTR GUH GVY GZL GZN GZS HBR HFM HJE HKA HNJ HOL HOP HOS HPR HSU HVS BAA BAB BAC BAD BAE MAL PEZ SEN TRN DST GAL HLO PIE SEA SKA TNC BAN ILA MYJ NMV PAR PBY PRI PUC NIT KOM LVC NZA SAL TOP ZMO ZIL BYT CAD DKU KNM LMI MAR NAM RUZ TTE TVR BBY BRE DET KRU LUC POL REV RSO VKR ZVO ZAR ZIH BST KEA KEB KEC KED KEO GEL MIC ROZ SOB SNV TRE PRE BAR HUM KEZ LEV POP SAB SNI SLU STR SVI VRT MED tucnak-4.32/data/Makefile.am0000644000175000017500000000156214125266427012632 00000000000000datarootdir = @datarootdir@ bin_PROGRAMS = svnversion EXTRA_DIST = $(share_DATA) _4o.txt aircrafts.txt \ cor2inc.pl coradd.pl home32.png \ icon2inc.pl index.html listdir.pl \ key32.png \ mast.png master.scp norec.png play.png \ record.png sortdw.pl sun.png tucnakcor \ tucnak.png tucnak23.png tucnak64.png \ tucnakv.png tucnakv64.png txt2inc.pl \ update_deb.sh update_eee.sh usaca.txt \ xfer32.png \ zoomin32.png zoomout32.png all: ../src/txts.inc ../src/txts.h ../src/txts.inc: $(EXTRA_DIST) ./txt2inc.pl sharedir = $(datadir)/tucnak share_DATA = cty.dat titlpage.html \ tucnakcw tucnakdw tucnaknames tucnakrc \ tucnakvexcagcw tucnakvexcari \ tucnakvexcdok tucnakvexckac tucnakvexcokres tucnakvexcrsgbdc \ tucnakvexcuba tucnakvexcusaca tucnakvexcwna tucnakvexcwsa tucnakvexcrcont \ tucnakvexclcont tucnakwiz svnversion$(EXEEXT): (cd ..; /bin/sh svnver.sh) tucnak-4.32/data/index.html0000644000175000017500000000274311277513163012572 00000000000000 OK1ZIA - Provozak cervenec 2005

Logs



DATE   CALL   CTEST  

Created by listdir.pl, part of TUCNAK ver. 1.23

Valid HTML 4.01!  Viewable with any browser 



tucnak-4.32/data/tucnak23.png0000644000175000017500000000047711560173730012734 00000000000000PNG  IHDRHG?sRGBbKGD pHYs  tIMEi;^IDATHǽTA0evd81`( m",z6U_b9N"ʑ}6 KC[imS݌,?)Y^9׼ /$G@Nm)#?iH;6E-!om:į٧8g^ k5 H޼"m{vAU4: ɿԃښZD̅OhYK"VT; x48tIvsź =6 ү=(Yǻw`ڜɈO#…qZT[i(XN[U;D8x(444`ժUXr%Ng2Q(*G9 !"sIW[gw>&޵OU4cm)_w\חZDCE8---شi! oߎ$>䃆~/c2ܤ5,zN''<7B yK@U] "3DUEo^B0glذabZ< (4 M!<6 'Yܤ@ _e!{Aq'eZ3sJJq+ELV٧ `Fi{_}"h6HȞaXgb\]Y4lr:V V?ӚW5|m5VTby])fJj$YŹ7UUǡp-="`s" sjYVx|%XTĢ '_] INe (* }Xt)dY,ː$ ,OX @MӠi0* TƊ2G9t!sT] hbPŢx#TU=u FNyqЊ()d0*`łp8@ dSFu<q&fD AO9@9ytwg 1D\rT lqiRBA03 7% cax.EcƢuArIIŊLvWnGQy(?&q\ڠq0ՠ?{M7ٹu 9:W<> Ӭ˲ѰsX0Ӟc߿Бyޟ&Y&ui]~Ip;O@9gpJa>+Aֳ?$ݖ?ŏ&vuο8\+V/ʹ<3V 5y~Z,1ЃGCeT஗g,tɟ\+VEjg'5Pe3؞m „{?[p_6D&J"XrmmmlH^+rE?WIENDB`tucnak-4.32/data/icon2inc.pl0000755000175000017500000000275012132501146012624 00000000000000#!/usr/bin/perl -w use Fcntl 'SEEK_SET'; @INFILES=("home32.png", "key32.png", "mast.png", "norec.png", "play.png", "record.png", "sun.png", "tucnak.png", "tucnak23.png", "tucnak64.png", "tucnakv.png", "tucnakv64.png", "xfer32.png", "zoomin32.png", "zoomout32.png"); $OUTFILE="../src/icons.inc"; $OUTH="../src/icons.h"; $PREFIX="icon"; open GD, ">$OUTFILE" or die "Can't open file $OUTFILE"; print GD "/* Automatically generated by png2inc.pl */\n\n"; $h="/* Automatically generated by png2inc.pl */\n\n"; for $filename (@INFILES){ open (FD, $filename) or die; sysseek(FD, 0, 2); $len=sysseek(FD, 0, 1); sysseek(FD, 0, 0); sysread(FD, $icon, $len); close(FD); $ident=$filename; $ident=~s/\..*//; print GD "const unsigned char $PREFIX"."_$ident"."[$len] = {\n "; $h.=sprintf "extern const unsigned char $PREFIX"."_$ident"."[$len];\n"; for ($i=0; $i<$len; $i++){ # if ($i % 16==0){ # printf GD "\n /* 0x%02x %d */\n ", $i/16, $i/16; # } printf GD "0x%02x", unpack ("C", substr($icon, $i, 1)); if ($i!=$len-1) { print GD ", "; if ($i % 8==7) { print GD "\n "; } } } print GD "\n};\n\n"; } close GD; #print $h; $oldh=`cat $OUTH`; if (!$oldh or $h ne $oldh){ print "new header\n"; open FD, ">$OUTH" or die; print FD $h; close FD; }else{ print "same header\n"; } tucnak-4.32/data/tucnakvexcrsgbdc0000644000175000017500000000056511277513163014060 00000000000000AB AL BA BB BD BH BL BM BN BR BS BT CA CB CF CH CM CO CR CT CV CW DA DD DE DG DH DL DN DT DY EC EH EL EN EX FK FY GL GS GU GY HA HD HG HP HR HS HU HX IG IM IP IV JE KA KT KW KY LA LD LE LL LN LP LS LU ME MK ML MR NE NG NL NN NP NR NW OL OX PA PE PH PL PO PR RG RH RM SA SD SE SG SK SL SM SN SO SP SR SS ST SW SY TA TD TF TN TQ TR TS TW UB WA WC WD WF WL WN WR WS WV YO ZE tucnak-4.32/data/key32.png0000644000175000017500000000206312132501146012220 00000000000000PNG  IHDR  pHYs  tIME IDATHoUϝcNR@DA.\hSI}8&5;Ρ;}DOt:3ē3o|s)W8:2\4 $W~N\$RQU@R|&$[Wf˗n \3tLf^[o!!/{FPZK--?d  BYP0EtFw]H%I 5d< 6 0t 3t8W6 z w}Znn "RiF 뚦i!G>uVbQEQ,WFvnݳ[`#(IENDB`tucnak-4.32/data/tucnakcor0000644000175000017500000467761311277513163012533 00000000000000  " & + . 1 6 ; D G J J N [ ^ ^ [ [ Y X Y [ Y V X ` b j o l l |    x  s r ! n ( i / h < ^ H Z R R \ O f J i A q A s C { C } E { F { H H C < @ < 7 6 7 7 - * ' # #                          " ' ) 9 = @ @ G M R Y Y [ ^ u z | t r k h \ Y T O L E B = 3 ' ' * * ' % ' "        "  #  %  ' , 1 1 4 < @ C F M P Z a a ^ ^ c d h i m m s u s  u  r  p  u  u x | ' | 9 C G O R Y e e h r u = ^ 5 R 0 F ) , ( )  +  )  ) ( & &  &  $  $ $ & # ! ! $ & ( . . + ( & & ) ( & $ # ! # $ # $ ( & $ $ $ $ & $ !   ! ! # + # ! # + 2 5 7 5 0 5 7 8 7 5 2 - - ) ( & ( ( & & # & # ! ! $ $ & ) ( + 2 2 3 2 } . y 0 y 2 v 5 v 2 t 8 l 7 j : i : l < j = l = j ? l ? q A o B o D o F t F q G q G o I o K o I o I q F t I t N s N q P q Q t P y F G } B D < 8 B K } N { Q v Q q L g I X I P Q ? V . X ( X  V  U # S ( P ) P ( N ) L & P $ P  G  I  G  F  G  G I  G  B  F D B D F G Q V  I K N G I N G ? < 7 7 8 7 3 7 2 3 2 2 3 7 8 = 5 0 2 0 . ) ) &   u ` R  C  B  8  , ! % !  $  !  #  $ & 0 3 5 2 - . 0 0 2 2 3 7 A A D F F I G I z L q P M X 0 Z Z  N N Q ] e o x } ~ ~ ~ j g b ^ ] ` ^ E & !                         | r d Z P ; / "    } e P A < 2 $        } l d X V I ? &       $ ( . 2 3 Y7 H< 8G N ] }               z p b P 7 / %                w m w v o c ] ] X Y h ] Y V X T" Q# J" I" B E D 3 . + 0* 0* +' $# * 7 A J Y h n r p z } ! ' 1 5 = = B D N N S X [ S N N Q O N O ; : : 1 . ,&" )5;,?8QB[JgXvQyS|QyBt@h0h$e!^X[^`^^cecbch rw{~~w|rsqmqfm^jMlCl<o7m4h%eh j l m r q orqryyy|{|{|{wrlllhjlmooooqtvy||}vsrqoslocXbFcAb<^5].V)QOQ SX]jhjljjhjhjlhwbk]\^JbE`B^C[BY9[4`/`%`"[XTLJLNOIIEEDGBBu@s@i=_8\6W1K1A&-$#   w m ` [ V N ; 8 1 ) & $ "     z x r n c U M *    s qf gM XA K; A4 ., !, #  "     z m ` ` c ^ ` a ` [ Wy Mb 8[ 8P /L .D 'B *< ,( '# * * ) * $ $ , 3 6 ; > = 9 ,   | t k ^ T 9 4 "   R I   q g U R vM qF lC ^9 X* X! T I D @ : 5 3 5 0 . & !  v r o b ] T N B ? = @ L O Q X S J E @ ; 6 0 &        }xwukid__}aw_m__ZUYOYHWEY>U2U/R*T%RW%Z*W,\1\6\6Z9Z;_EcCf-p-rz}|    ydK2-~p^G6.)}rhK6'/11216EJU^aafinzrsrgrisusxwzw{xx|}}}z{zzxx}x}{{{zvxvsvx|vxsukwiuazd}gkxslkgdfigfg_ZUX_]ZXUSNID>775599::<77>A?CAFDIFFAADA??AFFFAC??><><972/0/-/24-0//*(-/005??CDC}D|Aw>u9n7n5m/n+p%p sruuuspprsrpswzurru|zuppux|$&!$),+&"         !""!    ~|~|~|yywmo{ywrrw tqqjg^]YX Yb c cb]TO L LSVXYY]]c"^$]"Y$Y!X!VSSIIILJGGDEI"G"D!B=6!5&5)8);&;'?&?)D.E,J)I,I.L.O,O0I0I1N8L8J8J=L?N?OBQDOEL@I?E6B6B8@6;6;;??;?6;38.=5@6D:E:I3B.@,D+B'B,I8N=T@S@V;V5O1O.L.J&I$L!I!GEOSQQ V Y[Y[]bgmoorvvy{{{wvv{|}}|xwwuswurcTTYZ\^_aca^^ca^\Z\\dZZYWWTTRPMKJJHFEEHJRRMJJCA;6177921/**%"      ! # !! !257><9952/%!&+% asv{z{~}yvxxsniegllieeddb_VPNI:%0.$@!B@GJOR``aprzz&+07?KN_jo{          %1\ pimk\ Z R J H C ; 77;7 4-, *'%   ' '%*-, - ( * , 1 2779 < CC@AFFJMPRTWWY\^chiruupnxzz||  |z| zw s p r      !')..06;BIJQSV]^]^lq|  $.237< B ?CAABAF?LAS>V9X5[2_+_*Z&[ ``bb] ]%`*]4S?LAGAAFAD?FA\DaGdLdUg[lbxenns}}~%~6C~RTRQTTW[\\`fktyywteea[WWWVTRV|}vqe]UI?DKK NNI IFADA:0-0 2<:320235!2&.(3+.. +& !!$&$((+(0)3&2&+$)+.&#!!&!##(#)-.-+0=DBIIKIKUUSUVVXXVX[]_]]``b``bonllnoloqqossvvysqq#>@AE@A@;;92279@@ACFHJKHMPPUUY\Z\ZZYZUTTWURRUYZYZ^fhdcc_acdinrpswxwwsszz|}}zz|~~ywwz~mkjhhkjjea\TGGE4.*'vvsnqpgkpqnnllidagiifffb_]URN?<74/0<99:<<>>ACAA?>550              !% }zx|wuusppnkkhhfhknssww}z||w~w{yvrtrwvwy~{trqmmjhcbchlmleb^`[Y[^][]YX[^gjmtvy|{`SNGIGEDJIDGEGE?=;853158:=@@@?@D@@BBEE=661"      ')')8EJJOu]fo_q\r;4/'#%"     & g[NLKG<+$  #(//029::79<:70/+(*-*&&#!tw~!t[#R%M%G(C(>*;*8&6&)2"5549 >AHIIPaa]\gifbdzbddWaP\FZ?W7U/N/K0N+H%CC942/-+(&  ~yvvmbXED=65+)"|nmdZECA6% }tj3)#!&*-7::<HNX]ilu~syz\VL1$  snkgXPKA7*  ~|{wqlc^[TGG= 30+  '.6CRWcmpoyy|wshYK9-% $#{&v&d+_(P)A$ dG lO y^ c j t w y | ~ |    ' @ R! T# R U U! Z! k) A j i o t   8 c h       # !   0, U a k p  $ / > V R H ^ ^ \ V Q O R Q M E > = 6 @ G O V ^ h k p z          ! - 0 3 8 : : < < = F G U V V K I F ? = D D L L L X ` j s t y { {  &+)+'',38:866688:;@?DBDGGIT^e^`chjqojgbcjlrr| %'(,//--17<@@CJFJHA>EM O O P R O PURTUUWYU Y2\:\DcIcDdDfHfIiIhKiMmPuZ !$'$$+,+,11.058:BJQTTQQTV[``]SOVVYY[[gcglotvrmmmoqrrqqrw{  %(**047597<CHMPXaabikqsx}    $$'11669;=>@JM}O}QzOxOuTuRxTzV}`}a{h}ruontnunwnzn~lniikbdgnpupnkgabaa_ZZXZZ\]]__abiiiggfgid]a\\XUXZXZ WZ]_#_$\&a)a)b+d-f2g5l2l2n7p7s?qDsQkSaU]VZSZSXVX]X_X]W_UiPjMnKqHxA{:y?x?y9}42/-/*&&*+229<9:>DCA?CDDIHFD F I HIHIMMKMNR"R"M%N#P%R,R,N-P-R/R2U2Z4Z1]1d2f6b7f9f;g;i9g6iFps#2Fg)t,+:JOX`mov wttw%-2@FHMU^hw  !!".I[]^my~|{yr{hy]rXmOmGmBj;h.e"emlhgcb[YXYXYVY^^VsTmOkIcI^EZBP?O391-,%.656=;::;?@=8550+)+"!{i[VL":)3,+:J^chlrqttyy~{|||| !%((+&*?DKNPSWzUyS~P~P|KNzRzUuStZo]obfgfkck`lWqTpLqJqHB96.*%"    } zvsnkgklkiiik i%i'f,g6Z>WTRtNuKwM|I~MMIKIDC?>995-*                     ',.55?LX[]bjjhhchghcgjjgjsmrjponomqiqdrcvO~A;76;<9AAHHEC<~;~;{7{6|2|'~qlgd]XPPPPQNNIFILKF=2-&&$!$&$$!     uprptw!$(-38=???AB IS$X)[2`2b5d7d=`=_B_A]BZGXL[X]]__bbbgbsZtXyUNIIKLIKLLGIBB87732 5520")*+;293;3E:J<J=R?PARBYGcLkQkSpUwZz]]Z]_`Z]_b  #(%"(**,6;9E PWYZda\YY\cfinsspmmf h d dcchm!r&r'w+w,|.0330}1z3x:}E@;86'""&$&+56:@DEOJE@BEIID;;@IONLLQNLQTX^ejrrroqow{|~~~yohhlmrw  !   %! % ( &% %!/"0&/'2'2)4+2+2.7.7395>3A6?8A8D6C5F3F.I3K3D8F;K:K6M6N8N:P8U=U@RDKEIGFIDG:L:JAD=9;9@4?4@7B5D2D2G4I9G9J4O0N-Q+Q-T-Y*[&[%^`^] ]]^] ^`b ehejjllomqtvw{{{yy~rj[OE=:1)"~~|{lhccggegllmjjlmttw{wy|yv|rzqzowmsonrmvkykwild`OXAQ7N2S-S,T'T'V#TVYXONQLI=1+q$V?:03 3 -|\@9'{}kzZrSrNmIkFkFh>i>_<^9_9\7\9T7U5P2K/H/E-C*;-,*&   t#V-Q+U%X&X%Z([-U/Q5G7=>8>7A7I5N0W+].b-n!v     $/6;BGLMRRQWVWY\ahmmpu                          ) ) % %      z u k d k m x |        $ ' * ' ) w|rk`wVrRnLnGi@dC\ERGMMJWM[O[Z`Zc^o_yfwrw|vkd\XWW__agkq{NNRRPNPPUXWZXZ]_bbdfbf}iylyq{uuqqnlnkigfgfgda_a\ZZXSPPN^ V V T S Q N D D D @ B @ ? : 6 5 5 6 6 : ; ; : 6 5 3 1 3 . , . 1 3 0 + . ' ' "                                                    ~ } y t t q o q s q o j i ` _ ] _ ] ` e i n i g i e e b ` ` ] _ X K L G B ? A ? ? < 3 2 . 0 - }. u- p& f h# r) r. z0 |2 2 2 5 7 : B D G K P N Q S S X ` ] ] Z ] _ _ b ` d i j l n o o n o l v t y y } { y ~ ~ }                                                                                   ! ! $ & $ " $ & ) + , , 0 . 0 0 3 1 5 3 5 6 : ; = : ; = ? @ B D E G I N S T X Y ^ ~|{wwtrttvtvv{!"!$$&"&&)&&$$"$&w+p)p&h$`$Q)O)L&E,>.>186.6*;"E"Q TVVVTVQNLGDEED ;=6$,')*))&*"*./8=B@BELL V [ c c\ \ck r z  !!                    ~ y z u t r t w t y z z       Xj Vm Sm So No Ip Bp ?r ?t :u :w 8u 5y 3y 5u 1u 1t .t 1p +o ,o 0o .m +m )o 'p )k 'h $j $f !f h f e c ` ` ^ \ Y Y [ W V T R J H  H G  E  C E M O Q Q H L M !L H G "E &G 'G 'H )J +E .J .L 3Q 8O :M 6J 5L 3J 3H 6H ;J ;M ?O IT LW NV QV QW Y^ ^\ ][ VV YV ^W bY ]` ]c Yf Vk !#$,&6:@DIN T Y[YTTSV[`b!`$Y$Y([)[+`0`3^7`8b<Y8T5N&L(J&I&E$B$=$8&8+6-:.;2;330&2&70A0D+D&?!35:0+ $&!R' Q% R% V$ W" V R O M M" J% G H G G Q T V ^ ` f k t  % 9 G H L J ^ c ^ \ Y |T yL tJ oE h@ \8 [6 W9 O8 O6 T3 T. Q%                      # & - 0 8 < ? I N U Z b j o s t s t y| ~| u u t p o f f k t u w u w u u y z u p c a ^  ` "^ ,` 2^ 9c >e >f  A ~A {F wF wE yF {E |> {4 w6 v6 v7 r9 t6 v4 r2 q2 q9 m; m< j> lA jA hC g@ h< h7 m4 l2 j, m( l% h( g( e' c" c% b% `( ^( ]' ], X* X O% N% O J J I G I L L G @ @ ? ? @ D D B @ ? = ; : : 5 6 ; : 5 3 6 3 6 8 6 5 1 3 0 , + , + ' ) & '" ,( 01 +6 "7 / , ( %                                                                                                                                 ~ ~ y } ~    ~ } } y y v v v s t q n q o n j j j g j i j n n s l i g g d d i  l l g g j g g b b [ [ )` ,` 0b 3` 8b 8` 5_ 3Z 6Z =[ B` Td Yd ^i cg eg je lg mi lj ll yn |q s s q s q s q o o l i i j j i i g b b e l j l n o x      ~ ~ } x y x ~                                                                                     % & ( + + / 0 - * - 0 0 - * & & # % # ! !   # # !                      " #  "  #  ' !*  / * / * / 4 2 4 4 6 7 7 > > @ @ C F                       # # ' ' ( , - / < @ A A E J K O W U T R U W Z ^ _ a d c f f i m k n n m k i m n p r u s u x z | |    }                  $ $ ) % ' / 1 4 4 8           ~ v o m e b ` e j j o t v w y     ~ { w t q o l r t { | |          | w s h h k i k h i h f h c d _  \ Z \ (Y *W *P +R /K 7H AK DO IO KM PR UU ZZ \Z b\ ga kc lh ph si zf }f d c _ _ ^ ^ a _ a ^ _ \ \ Y ^ \ \ _ c a ^ Z W W P  K  J H F C "C $A )> 3> 6@ 6A 9C @E EC LH LM JO BW 3i .i *n | } |                              { q l d ] U M K I F D > 5 2 ( %                     6 G H C H O M T M }O }M xL |J }H |E zE xH sG rC s@ p@ n9 s4 w8 x4 |6 |4 z/ x/ x* w* w' u% s n n k f h k m p s u u p r n n p n k f d c _ ^ \ ^ \ Y W T W W Y Y Y W W R O K M H F E C E @ > ; 7 6 , / / * ( % # # % # " "               qojhc``[VIGB@5510!!"!      "'+'+&"!&.8@IT]^^bghmqvq}xrsrkifa_^ZYZ R P O K H HHAA@@>>97642-,,((('%% #          !!         ~ sn d glsvvy    yy}                      "%*%"%'**% %(,1/,'*,*(*(*--,/-244797<;>@@AARRT\__cdc_ZWUY_ccdkwktilhjdj_cc]cY_X^TdYd`c`dhijmlmtnvmvpwsvrynwkyi|i~fddhdmpppzz|urwpkda_WWY\acdffmmhdd\c^\\YUTPMFFCAE@;<74622422679967997966142424--,*(''#%#              "   "%'*'( * * ' (,-22 6 67 9 7 9 99>ACFE FHJMOO RUW\ Za c frux*#            #'**=z9s4p1n3d6c4^'Z%TOOT WWaddinrrsnnmmkic_a__^\Y^YU\_\YWTWU URMM'T'Y1Z6^8c6f3f3m6p9r;u=|=z     , 9 E P T W W Z m p s u w |        & ( ) ( !                        } z w r p m i c \ Z W T R P O H F @ < ; 7 6 4 1 , - * * %               D I M M P| \w aq kY nJ u; )     rkf^ZPRP@72* ~xd]uBk:i5W)P(I&M(9&7$C$9#   !/5<CNf}+   vifaSC<0(#rhb~[zVySuLtEh:a1Y+T'O$LMQQVVRQTRVRVYVY+W,^;tJ~Y^hq !&+-05.-( ) ) ( $ $ (+(9+?+D.H-N-U0d<k?qIuQv '/@JZan  ! {0 n? kL kQ kT be al \q Wt P{ K| I I H D   | | z  k 2 c Y;];b;g8j4m1r.v,{)~%"   %*/5:?FKPW\aglqx} " ',16=%E,J/O3T6Y9^=c@hCmGrJwMzRVY\`aackot|!.38=BGLSX]bglqv{ $).27<AFKPUZ]bglq v{#(-27;@EJOTY\afkpuz               | w p k f a \"Y#T%O'H(C*>,9-4//1*2%6 79;< >@ACEFHJKMOPRTUWYZ\^_acdfhkk}nxpsrlsgubw]xXzS|N}ID?:52 '+6:@DLQV[`ejoty|{~~yyttqrlhc^J:,+)3":LV[i{!"+)+0558=@?;::;=656.,%1-39?OBPEZI^IcOkTmVs^^YVYXYXY[bcghlmee"h.j;mBmGmOrXy]{hyr|{~ym^][I."!!  wh^UMHF@2-%wtt wvom`XOJ:+t,g)F2#~z}wztwpsknhkch`d[aW^TYOULRHOCK>F9@,6  ~{xsojeb]ZUSF{?v=u8l3l.f+\WN IFA>:72/+&#  zwopokjecccec[^\YWY~VcEY;LLJLJLTTVSLNLJLuJpGoGeEeGaJRLROTeVQW\^cuwy||||ytoje`[VQLEGDDDBBBB@@@???===GN Q O'V,]Vl[qcojopltj|llrvvvrvtt~  *-599>?CDIKIM~M|IwMuKtNTR>W6Z,g'f%i ikiiiklkgknsv z}    "%*.69BqHqJpLqTlWk`kcgfbf]oZoStUuRzNzKP|P~S~UyWzSPNKD?*&+((%! zupkhfe ca`\ Y%V(R-Q2L5H9C>@A;D8H3K.N*R%U Z]bfil qux{}{vqkf_ZURPMHC?>:50+&  ~ytojc^YTOJE                 $ & 3 : L P S X _ e l o {       } w m d c _ ^ \ \ \ Z T O J K < 2 , ( %                    ' * , - 4 9 < A E H J K K O K M O P M O# K' F* E2 J6 K9 KE ZT _T dU iU nU sU xU U U U T T T T R R R R P U \ _ h h k d 'k 6s @ 3 , , 1 1 6 ? D G ` c e                   ! !!9)M8P:W:g@s=EJOTY^cjoty~  &+05:>?CHMPRUZ_fkqv{}{xuql ifb]ZU R%N*K.H3D8A;>@9C5H2L-Q(R%V Y\`a cefhkpuzywuc^\WQeVOTLRJRGaEeGeGoJpLuJLNLSVTTLJLJLLD@:6+' 25:?D}I|NzSxXw]ubsgrlpsnxk}khfdca_^\ZYWUTRPOMKJHFECA@>< ;976 2%1*//-4,9*>(C'H%O#T"Y \ a f k p w |              zupkfa\YTOJE@;72-(#{vq lgb]ZUPKFA<72.)$ {vqlgb]XSLGB=83.!|tokcaa`^YLGB=63ypf^xWuWp^l\i^b`_`NcHcAa4h jmjko o kmkuz|ywq`YSNGB;5.)&$$!"!!   \ ` e j o p k m j j r                                   | w t m m h ` [ [ W W T R B @ @ > ; 8 1 , ) "                                     $ + 2 7 < B B I L V{ Xs Vk [f `b _] `Z b\ gb lb n] tZ tR xP yK }I I H M K M R R K D 5 / + %                       " # 1 2 4 6 4 7 ; ; 9 ; <w @r Fo Oq Ww Z{ _w cy fy dt fq dm fb f` f] hY fT iN fE h? i; h0 n. z6 6 5 1 . + ) . 5 = ; ? ; ; : ; ? B @ @ ? ? ; 8 5 3 0 . + ' &  "  !    & .@GEDGbhlvtv{!&7:DMSW]buzz}} $   $) ): 'J "` )` /` 4` 9` @` G` M` T` [` a` h` o` u` z` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `  ` ` ` ` &` -` 3` :` A` F` L` U` [` b` i` o` v` }` ` ` ` ` ` ` ` ` ` ` ` ` ` ` b h m t y ~                            # * / 4 ; @ E J P U Z a f k r w |                     # ( / 5 : A F M R X ] d i p u {                             $ ) . 4 9 @ E L Q T Y ` e k p w |                             ! & - 2 7 : = A B G K G B ? A ? ? < 3 2 . 0 - }. u- p& f h# r) r. z0 |2 2 2 5 7 : B D G K N P L K K P V [ ` g l s x ~                             | }# }( }/ 6 ; A J K M P R T U W Y _ f k r w }                                             ',.55?LX[]bjjhhchghcgjjgjsmrjponomqiqdrcvO~A;76;<9AAHHEC<~;~;{7{6|2|'~qlgd]XPPPPQNNIFILKF=2-&&$!$&$$!     ~ttvrvvvrl|ltjpljoco[qVl,]'V O QNG===???@@@BBBBDDDGEs=g@W:P:M89)!! !                  e c ` G D ? 6 1 1 , , 3 @ 6s 'k d k h h _ \ U P R R R R T T T T U U U xU sU nU iU dU _T ZT KE K9 J6 E2 F* K' O# M P O M K O K K J H E A < 9 4 - , * '                    % ( , 2 < K J O T Z \ \ \ ^ _ c d m w }       { o l e _ X S P L : 3 & $                                          z u n k h d _ \ W T P K H C @ ; 7 2 / , ' # ~ z w w w y y y y  ~ w w j ` a f h{ py |o ~l tb pU mQ |8 |. r p e \                          ! & + 0 6 ; @ G L Q X ] b h m r y ~                              % + 0 5 < A F M R W ] b g n s x                               % * / 6 ; @ G L Q W \ a h m r y ~                                 # ( - 2 7 < A F I L P U Z ] Q N N Z  Z X 0 P M L q I z G I F F D A A 7 3 2 2 0 0 . - 2 5 3 0 & $ #  !  $  !  ! %  ,  8  B  C  R  `  u  & ) ) . 0 2 0 5 = 8 7 3 2 2 3 2 7 3 7 8 7 7 < ? G N I G N K I V  Q G F D B D F B  G  I  G G  F  G  I  G  P  P $ L & N ) P ( P ) S ( U # V  X  X ( V . Q ? I P I X L g Q q Q v N { K } B 8 < D B G } F P y Q t P q N q N s I t F t I q I o K o I o G o G q F q F t D o B o A o ? q ? l = j = l < j : l : i 7 j 8 l 2 t 5 v 2 v 0 y . y 2 } 3 2 2 + ( ) & $ $ ! ! # & # & & ( ( & ( ) - - 2 5 7 8 7 5 0 5 7 5 2 + # ! # + # ! !   ! $ & $ $ $ $ & ( $ # $ # ! # $ & ( ) & & ( + . . ( & $ ! ! # & $ $ $  &  &  & ( ) )  +  )  ( ) , 0 F 5 R = ^ 2 c = ^ 2 c  k  z  |  |              u r h e e Y R O G C 9 ' |  |  x  u  u  p  r  u  s  u  s  m  m  i  h  d  c  ^  ^  a  a  Z  P  M  F  C  @  <  4  1  1  ,  '  %  #  "       " ' % ' * * ' ' 3 = B E L O T Y \ h k r t |                              z u ^ [ Y Y R M G @ @ = 9 ) ' "                                                        #  #  '  *  -  7  7  6  7  <  @  <  C  H { H { F } E { C s C q A i A f J \ O R R H Z < ^ / h ( i ! n  r  s  x                  | l l o j b ` X V Y [ Y X Y [ [ ^ ^ [ N J J G D ; 6 1 . + & "                            } w r k f _ Y W U T R P M K J A ; 6 }/ }( }# |                             ~ x s l g ` [ V P K K L P N Q S S X ` ] ] Z ] _ _ b ` d i j l n o o n o l v t y y } { y ~ ~ }                                                                                   ! ! $ & $ " $ & ) + , , 0 . 0 0 3 1 5 3 5 6 : ; = : ; = ? @ B D E G I N S T X Y ^ V V T S Q N D D D @ B @ ? : 6 5 5 6 6 : ; ; : 6 5 3 1 3 . , . 1 3 0 + . ' ' "                                                    ~ } y t t q o q s q o j i ` _ ] _ ] ` e i j g i e e b ` ` ] _ X K G B A = : 7 2 - & !                             | w p k e ` Y T Q L E @ 9 4 . ) $                             { u p i d ] X R M F A : 5 / ( #                 zvqnifa\ X S P K F ? 9 4 - ( !      ! " " $ & ' ' ) + , , . 0 8 ? D I O T Y ` e l q v ~   { v o h c ] X Q L 0                           ! & * / 2 7 < > D F K \ k n                      " ' . 3 8 @ O c               # F P X b e e g s &} &~ )} .} 0 3 8 @ y     | { | {                % / 7 P b p z             } ] N G < 87 H3 Y2 . ( $         & ? I V X d l }      $ 2 < A P e }      " / ; P Z d r |                                       !  &  E  ^  `  ]  ^  b  g  j  ~ ~    ~ } x o e ] Z U P L I F A < 7 2 - ( #                                 ~ y r m h a \ W Q L G @ ; 6 / * %                               x s n g b ] W R M F A < 5 0 + %                              ~ y r m h b ] X Q L G @ ; 6 0 + & !                              | w r k f a Z U P J E @ ; 4 / * #                            ~ y t m h b ` ` ` ` ` ` ` ` ` ` [ V O J E @ : 5 0 + $         zup i#d'_(Y,T/O2H4C7>;7<2@-C'E"HKMP TWY\_adhimpruxz}ytnlg`[UPKD?83-(#        | u p k e `" Y$ T' M+ H, B. @+ 9' 3$ .! '            #,6PWadikmrr{sz  &8BJ`jotw             &((&(++/--/-/--+*&(%#%&-//-0479:>ADFC<>>v9v4u4s5k7i<d>bAaH_IaKdNfRiUkZk]iaibggfkblan\pXuUxPxM}KIHHFDCCDINSXXWZ]abbadginpsvz  %).169=BEJMQVY^aejmruy~   $+05<AFKQV]bglsx}  ""$$%%%')*.148;=>;63. *'"#(-149<AE J ORWZ_cfmrw|          ! '$ .' 3+ 9. @, B+ H' M$ T" Y ` e k p u |       #(-38?DKPU[`glnty}zxurpmihda_\YWTP MKHE"C'@-<2;77>4C2H/O,T(Y'_#d ipuz        $ + 0 5 : @ E J O V [ ` ` ` ` ` }` v` o` i` b` [` U` L` F` A` :` 3` -` &` ` ` `  ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` z` u` o` h` a` [` T` M` G` @` 9` 4` /` )` "` 'J ): $)   $  }}zzub]WSMD:7&!{vtvlhbGDEGIJILLJGGEBD?:;;:8110+,+)'|z} ||xwsia_YUOJHEA>;9664422/*#" }tj}ix`u_s`ubpepgmjkohsfxcy\sUqKeC`A_@_<[9X6N4K-G(G#B"      ~ yyr o jhh`VHCB=*%$ O R M K O O P U U Z Z O P O K M P O R R U W Y \ ^ ^ a d f f h i m m p p r p r z z u u                   z u k k n n h f d c d d a a _ a a \ Z Z U P P U T U U O M M J K H H C  C  F H F H M #R &T +R /T <Y Ac Hh Mh Rp Ur Xu ax gx p} n s u x {                              % 8 9} ;x >u Gu Os Rp Wr \p `u ow pr un uk rf uf yc zc zY |\ ~Y ^ ^ Z W T R U P R P O O H K P T W \ _ d h k n u z                             zr k c\\ cc [ V L LEB@B=8/.**")&*)')$,6= ;DEEDGLNQVTVVV T"Q"E*;.686>1>.E,L&O)Q)`$h$p&p)w+&$"$$&&)&&"&).5;BGNSY`qwy|zukmko o kjmjh a4cAcH`N`_^b\i^lWpWu^xfpy36=BGLY^`\YVzRwMrJmGhCc@^=Y9T6O3J/E,=%61,'"  }xqlga\WPKF?:5/*%   "~%{)v,r.m1j4g8b;];Y;Q4I/I.G.B';$; ;?==;8:36?B@63018;665310"!"!"!  xwuuxzxssmkn}sr}szrxp{m{mshuiuizfUvEsFpEnAn<:@5C2F/H*K&O!RUWZ^ acfimprux|ytojc^YS N IB=81.+!&"!&)+.0 36 8 ; ? @ D G I L N Q T V Y ] ^ b e g j l o r t w { | | w r m h c ^ Y T P O v |                                      % 0 ? H M S W Z Z d k q s u s x x z { { z x v u q p n i g g i d i g f g i k k n p s v z { }           ! ! ) - 0 2 3 5 7 8 : < = < = ? A B D F B D D B D B A A ? B D G I K L L L K K I G D A = < : 8 0 0 ( ! #                     ) 1 C H H T [ ^ a \ e p r |. |8 mQ pU tb ~l |o py h{ f a ` j w w ~  y y y y w w w z ~ # ' , / 2 7 ; @ C H O O P R P U R T W Z ^ ^ ~Y |\ zY zc yc uf rf uk un pr ow `u \p Wr Rp Os Gu >u ;x 9} 8 %                              { x u s n p} gx ax Xu Ur Rp Mh Hh Ac <Y /T +R &T #R M H F C @ @ > > 7 7 6 4 4 2 4 / * / *  / !*  '  #  " # "                      ! # #   ! ! # % # & & * - 0 0 - * - 0 / + + ( & %                                                                                     ~ x y x } ~ ~      x o n l j l e b b g i i j e ` [ U P K F ? : 5 . ) $                    { w w t q q m l o v { | y w y y v v {                             | } | *n .i 3i BW JO LM LH EC @E 9C 6@ >4 B/ B- >* >% B > > G L J L H J J R W T L L W [ [ ` a f k o o p u u y u~ zy y { t j g d ` U U L K D B A ? < 8 3 2 . - - + ) + (                           ! . 2 3 8 : 8 : A B G X ] i j y { v x {                                    " 6 C C A F H K K O R U Y _ c h n w                                                       & 0 ? L V Y h q v v y {                   $ ) . 5 : ? F K P U [ ` e j i i l o o q s q s q s s |q yn ll lj mi lg je eg cg ^i Yd Td B` =[ 6Z 3Z 5_ 8` 8b 3` 0b ,` )` [ [ b b g g j g g l  l i d d g g i l s n n j i j g j j j n o q n q t s v v v y y } } ~    ~ } y ~ ~                                                                                                                                 % ( , / "7 +6 01 ,( '" & ) ' + , + , 0 3 1 5 6 8 6 3 6 3 5 : ; 6 5 : : ; = ? @ B D D @ ? ? @ @ G L L I G I J J O N% O% X X* ], ]' ^( `( b% c% c" e' g( h( l% m( j, l2 m4 h7 h< g@ hC jA lA j> m< m; q9 q2 r2 v4 t6 r9 v7 v6 w6 {4 |> {E yF wE wF {F ~A A > ; @ F H F F K O O P T Y ^ c h m r w | | { w t r o l j g e b ^ ] Y V T Q N L I G D @ ? ; 8 6 30 .+)&"!!&+.18=B I NSY^cjoty|xurpmifca^ ZWURO!K&H*F/C2@5<:;>7C4F1K-N-P,N,R%R#P%N"M"RRNMKMMIHI H I FDFHIDDC?ACD>:9<922+*&&*/-/2}4y9x?y?{:xAqHnKjMiP_U]W_X]XVXSXSZVZU]SaQkDs?q7s7p2n2l5l2g-f+d)b)a&a$\#__]Z WZXZXUX\\a]digfggiiiba__]]\ZZXZZ_aabagknpupngdbkiin~lznwnuntnonruh}a{`}V}TzRxTuOuOxQzO}M}J@>=;96611'$$    {pg_WPI?2%  }zsuqklpnqu|{wztxj{g{cqYnTlTlLkGnBp@p6n5n"q!x!{        { z x x x v z x x { { V R M H H E H  G J R T V W [ Y Y \ ^ ` ` c e f h !f $f $j 'h )k 'p )o +m .m 0o ,o +o 1p .t 1t 1u 5u 3y 5y 8u :w :u ?t ?r Bp Ip No So Sm Vm Xj ]o `t hy j o v v y y w y | { v o l m q q t w w {               { y v v q h Y V L ? 0 &                                     y w u w u u f a [ Y Y V C E F J M W \ _ f n s zz y u w u w t h h k j j j k k j f c a \ \ Y Y R R V Y Y [ a f u u w u w y                                                                              w n h c _ Y U R O K K H F A C C        } x ~   ~ ~  9 ] q } t t i ` ` S Q S S S U S P N L  K I G F "D 'B .A 3= 8< >: B? GD JI ON RQ WV [Z `_ eb hg mj po us yx ~{                             & ( - - 7 = B F K P S P N P S U b e d e o x ~                                   " % * - 9 > M c k x z x x |     v v n n d S P L G F D D ? = < 8 ) & #                             & & ' ' , 0 1 3 5 6 : = JL Vb Xn ]x ` e j l m o q t v w y { |       y r r ^ ] X V" O# L( T* X- S6 XA VO YT [Z Y^ ^m ]p Qw N} E @ 6 . $    } | w u u r n m h c a i s s p p u        | z w u p n n m a Z W T O O R U Y ^ a n r z                       00Gm y                        % ( 2 5 > D F I K M U ] d l q { { x x z v x x x z {         {x!q!n"n5p6p@nBkGlLlTnTqY{c{gxjzt{wu|qnplkqusz}  %2?IPW_gp{}xsqkibaaXPMHC<795740**(%  {wrqqrrqommmrvtolgcg[[YYVVOS]``[VTQQTTQJB:850.11,+,+$$'$! uZmPiMhKiIfIfHdDcDcI\D\:Y2U YWUUTRUPO R P O O M E>AHJFJC@@<71--//,('% |rrljcbgjoqjhc`^e^TIGGDBD?@;:886668:83,''+)+&      { { y t s j ` X L L L D D = ? F I K V V U G F = < < : : 8 3 0 - !                                                             z p k h ^ V O G @ 6 = > E M Q R O Q V \ ^ ^ H R V > / $                                     p k a U R P N M} Kx Iw Hr Fk Cf Aa A\ ?U 

= = C H L L T W R J J H L J L G > > B >% >* B- B/ >4 8@ 6@ 3> )> $A "C C F H  J  K P W W Z ^ a c _ \ \ ^ Y \ \ _ ^ a _ a ^ ^ _ _ c d }f zf si ph lh kc ga b\ \Z ZZ UU PR KM IO DO AK 7H /K +R *P *W (Y \ Z  \ _ d c h f h i h k i k h h s w |          | | { t r l o q t w { ~     y w v t o j j e ` b e m o v ~               y m G00                      z r n a ^ Y U R O O T W Z a m n n p u w z |        u p p s s i a c h m n r u u w | }    $ . 6 @ E N} Qw ]p ^m Y^ [Z YT VO XA S6 X- T* L( O# V" X ] ^ r r y   >: C7 C0 H- G$ H L J G H H H G E J J V V [ [ \ [ Y [ Y V W Vy \p am `f a` e[ oW tW y\ |[ T G 4 1 ) "                                & ) ) . 0 . 0 5z 7q  ? H P Z a d n u { {                " " # % # # % ( * / / , 6 7 ; > @ E C E F H M K O R W W Y Y Y W W T W Y \ ^ \ ^ _ c d f k n p n n r p u u s p m k h f k n n s u% w' w* x* x/ z/ |4 |6 x4 w8 s4 n9 p@ s@ rC sG xH zE |E }H |J xL }M }O M T M O H C H G 6 = B E C G E G G M Q Y \ a m                                  # & ) 8 < = ? D D F G L P S d n n v v     | x x z x k c M > 9 - * % "                                   ~ x o e d e b U S P N P S P K F B = 7 - - ( &                             ~{ yx us po mj hg eb `_ [Z WV RQ ON JI GD B? >:          " " % ( ( ( * * ' ' , - , ,~ ,y ,w ,r *l (g (` '[ %V %O #J "D "?  8 3 , , ; Ys !&+05:?DJOTY^chmrw|      $ ) 0 5 ; @ E L Q V ] b ` V T  X [ *e 5c <] \^ bb f` n` s] z` c c h c c ` b ^ ^ g m m o m o t y       ~ ~                        } u s q l i g f i i k l f d f b _% Z& Z< WA WD WH XM XU XW UZ Rk Np Sv S S Z _ i n x z { v f U R I ? : 5 2 2 4 7 7 0 + + * % ( % %    %  % " " $ ) ) * / 4 9 = B C E E G H L Q V c e f h k r u y z                                % * 0 5 : A A > : < > : 9 - * ( * % ! # %| &z &r *p +m *k +f *a (^ *^ +^ *W 2T  ; 9 @ B @ @ = 6 , * *           # % ( ( * ' # # "                             } z x v a \ W R I C < 7 - / - * %                                                 | { y w v t q o m l j e ` ]x Xn Vb JL = : 6 5 3 1 0 , ' ' & &                       m a \ Y Q M G G E G C E B = 6 4 1 / ' % ) $ $                  }    | | z x u s u r p n m i k m n n k m i f f c d a _ ^ Z W U R T U W O K J E A A @ < / - , ( ' ' # #                         { { u n d a Z P H ? > 9 2 2 + + ( %               &  '(( ,--167 6!1&,(#2"::>? H#F%I"N"P'S'Z*Z*]/\;]C]FfCi@l>uCzEzHJPUOHE<<91,%"/9>OTRU Z c kr"s/x69CEJORWVRTRTRTWRR&T.Y6eEt[r|#-0<DRdiq}(+03):4=;FBIGGLI\GuBFIIGB==BINSX[`beglnqsx~ "#1;@JKMPWcis         ' ) . 6 B G L O Q T [ Y [ ^ g j o r w y { { |                                                                           ! #  %  ( * + - 2  0  4  5  7  7  < > A A D H K M N U W Z _ b f f g k l q u x {                                         " ) , 1 8 ; > @ @ B R T W W [ [ ` h m m t w |                                   r j j m k p o j e ` \ a ^ [ T H H C 1 )                     # ! ( 0 0 8 7 5 3 2 . - ) & #                             }  { {   { z x x s u s q k d Z Z W S M H ? 0 %               z z y t w t r t u z y ~                       | v o j hy `t ]o Xj Yf ]c ]` bY ^W YV VV ][ ^\ Y^ QW QV NV LW IT ?O ;M ;J 6H 3H 3J 5L 6J :M 8O 3Q .L .J +E )J 'H 'G &G "E G H !L M L H Q Q O M E  C  E  G H E H H M R V R R Y Y \ \ a c f j k k j j j k h h c a c ^ a }^ z` x^ p^ m\ f^ a\ ^^ Z^ TY PY Mc dj kk do Rj Mj Fh f >e 9c 2^ ,` "^  ` ^ a c p u z y u u w u w u t k f f o p t u u ~| y| t s t s o j b Z U N I ? < 8 0 - & #                                            z u o j e ^ Y T M J H G 9 %  t k f ` ^ V T Q G G H G J% M" M O R V W" V$ Q$ M% L) E) E. C* @. 4/ 13 .6 *3 /  . ) / . 1 / 3 3 6 3 3 . ' '       } q p l f b ]" ]% Z' X) X, U. R4 R; K= I@ CE  < : > A A : 5 0 * %                                z y u r k h f e c V Q L H G E E C B = 9 4 / * ) ) $ " "  %  %   % % ( % * + + 0 7 7 4 2 2 5 : ? I R U f v { z x n i _ Z S S Sv Np Rk UZ XW XU XM WH WD WA Z< Z& _% b f d f l k i i f g i l q s u }                        ~ ~       y t o m o m m g ^ ] [ V T Q I ? , !     "%$%'.1139>OTety ((}(w(r(m(f(a(\(U(P(K(E(@(;(4(/(*(#(((((-8= LL LDDDDDDDDDDDDDDD?:5)  {vojebXUUL=<=2.) !&+035<==BFGNQSVZ`dlosvyy~~||zz|ztkhe`VQLE@;4.)$ {vaIA:5-&TRRLLHL JLHHGL"J*E*@1>69866.Mp  !(0<NPQNPUX]`beegljsy{~  $%*=BCHV`hh j ory y ~    " #B(G-G4K6N9X<[@_A_C`KeUq\scyfxhskomjpgpeubs`u_x`}ijt} "#*/2244669;>AEHJOUY_aiswx| |}z'|)+,+0118:;;:?DBEGGJLLIJIG@.&     !  " & ' + . 0 3 5 8 ; ? ? @ @ B ? ; : ; ; ? ; = 5 . ) + . 1 5 6 z6 n. h0 i; h? fE iN fT hY f] f` fb dm fq dt fy cy _w Z{ Ww Oq Fo @r <w ; 9 ; ; 7 4 6 4 2 1 # "                       % + / 5 D K R R M K M H I }I yK xP tR tZ n] lb gb b\ `Z _] `b [f Vk Xs V{ L I B B < 7 2 + $                  { x u q l k g f f b _ Z W U N M K H D A A >  <  7  7  5  4  0 2 - + *  (  % # !                                                                           | { { y w r o j g ^ [ Y [ T Q O L G B 6 . ) '          sicWPMKJ@;1#" ~xsqnlgeb`[XSNIB==BGIIFuB\G\Bh=k8h5h0f0f-f#^\\cee afeajjkkktpojkjffefcacea``cca\zLwHuEu;p3t,o$o rrom khfea`^[YWTp|~        ).7:?Pgnqx~$).5:?EJOV[`glqv| !(-27>CHNSHD>94+(%!      "#""'"   ~#*14>CKRZahnrw      ! ! &  + . 1 6 : @  G  I N O S V Y ] ` ` m q r | |                  ! & D W U X# W& X* aC aR fW nZ u_ xg }i p }                                               " % ' * / / .% /) // 49 8C 9C ;H ;L BQ HQ OV QV Re Th Vk Vy W V Y [ Y [ \ [ [ V V J J E G H H H G J L H G$ H- C0 C7 >: 8< 3= .A 'B "D F G I  K L N P S U S S S Q S ` ` i t t } q ] 9  ~ ~   ~ x } t n F < ) ( #           ~ { w q l! c+ VL X~ Y} h} {        h c [ V Q L G B = 8 3 . ' "                   t o i j d _ [ V S N K G A < 8 z3 u0 r. k) h( c& _# Z! U! U R T# R! @ '               | ~ | y w t j c y^ lO dG ]> Z9 S1 Q1 K) G% < : 0 &                } q i g b ] X U M D 0 &                           { o ] @ 3 $ ! ! $    ui_^R;/"%'%zttokhffjmmjpuwz|zxtxytlieZXZX]Z]ZUF8538782..-((++)(--788330-)((&      #$)-0788:72 2 @ G O T V [ [ f k u u y   ~ w |r ur st rr nr mj ie fe dc aa Z` Wc Pe O` M^ @C >9 ;3 <' 9 ; 7 / / , ' #                % ( ( ( * / 2 ; ; C H c f h m n m p n r s w | |                                ) 1 6   { h} Y} X~ VL c+ l! q w { ~           # ( ) < F n t }         SX_dipuz  %*16;BGLQW\ahhhhhhhhhhh hhhh#h(h/h2h4m4t4y4~44444444444444444444444444 4444$4)4.434:4?4D4K4P4U4[4`4e4j4q4v4{4444444444444444449@EKRYcmrx    $ $ ) + . 0 0 3 5 3 5 5 : = @ D S V X ` e j r w ~                                     # % & % % + x- _9 [A [F ZI VK SI QP KS I\ Fa ?f 41*#~   "'""#"      !%(+49>DHSCEZdmn|")+56=DEXbmvvy~  &(+-/249C%C+H0N/K/N7U?WFZP\Waddzbdbfig\]aaPIIHA >945"5)26&8&;*>*C(G(M%R%[#t!~wt!#&&*-*(+/07:<97::920//(#  $+<GKLN[g &-5:AIav{ $).4;@ELQV`ehktz|zz||~~yyvsold`ZVSQNGFB==<530+&! ).2=<=LUUXbejov{  )5:?DDDDDDDDDDDDDDDLL L= 8-((((((#(*(/(4(;(@(E(K(P(U(\(a(f(m(r(w(}( yteTO>9311.'%$%"    ! , ? I Q T V [ ] ^ ^ b ` c c h c c z` s] n` f` bb \^ <] 5c *e [  X T V ` b ] V Q L E @ ; 5 0 ) $       |wrmhc^YTOJD?:50+&! sY; , , ' "           zsnhc^YWMH/((%"    } yx gSKF D"A#='=,815606+6$66666666666664444444444446666~6y6r6m6f6a6\6V6Q6J6E6>69636.6'6"6666 6666666666666666666666211v7lA_MHPHWC\9\*^#^^UOKFCCFFECFJKHCCACpmcWRC6. ' +03= GGT[^clqw{|~  *7AKPXgkns))$$1LV\yz~suli]XNH<::7-*&#!)37<AF KPSX]bejt} %6ACACCHKJFCEFFCCFKOU^^^#\*\9WCPHMHA_7l1v1266666666666666666666666 6666"6'6.63696>6E6J6Q6V6\6a6f6m6r6y6~66644444444444466666666666666$6+6015,8'=#="A DFKS gx y }   "%((/HMWY^chnsz          " ' , 3  8 "? "D #J %O %V '[ (` (g *l ,r ,w ,y ,~ , - , ' ' * * ( ( ( % " "                                 ~ w r j e ` X V S D @ = : 5 5 3 5 3 0 0 . + ) $ $     xrmcYRKE@944444444444444444{4v4q4j4e4`4[4U4P4K4D4?4:434.4)4$4444 44444444444444444444444444~4y4t4m4h4h2h/h(h#hhhh hhhhhhhhhha\WQLGB;61*%  zupid_XSNHC>72-(! |vqlg`[VOJE?:5.)$~xqngP?:7.)        ~|p|p  $$)) "%#'/4;\r_qfou]b`cow||     !'.05?DED@DEJIJGDDB?=830 . , ) & $&#* <? FHMPSS&])].a)f!innsppl lq xz "$')36:;=?BELQVXX]^`cegjloqrvy|}znlpuzxxsqsp plq&u+025975?DKNPUXZ]binsx}xvndb_\USPMIH>994{4z({%}#}%&*-+-+**&&#!#!#%#%%(&%&**029?DIPUZ_fkpv{ "%',4489@CBCGJOQJGGHGJHJJQTWY[^`aefh kmor r$o,o3t;pEuHuLw\zacc``aecacfeffjkjoptkkkjjaefae ec\\^f#f-f0h0h5k8h=\B\GLIGGBI;F4=):30+(}qidRD<0-#|r[Et6e.Y&TRRWTRTRTRVWROJEC9x6s/r"kc Z U RTO>9/"%,19<<EHOUPJHEzCz>u@lCiFfC];]/\*]*Z'Z'S"P"N%I#F H?>:":#2,(1&6!7 614<@ F HFJEA@74441-" " "%"      "%" " "-14447@AEJFHF @ <41--,( ('  '*.4EGGT\aejjkhhjkm~zwwy~~|zz}}|zzsswwxwsprnidca_ccdhf^ZYZYURRUWTTUZYZZZ_^aiimrrussw&w0|3z:s?wBxFwGwK|N}NNSS`lyy!$&&,6=@@BENSTSX^egjmrvw*4@HJKJR^\_\cmkmu  &++--0++-/--0<CCCDF)M,N=ZB\EaObSi]lhxecejltvy~wtoj`JB8&  zs{rrmkidaWP6,#   ~{ysjlgeeb`]XUPNQPN<0(!  pM6.86691>*@*E"JLGHHL JLHLLRRTQJJHJGHGGJQOJGCBC@9844,'%" {vpkf_ZUPID?9220/(%!qqomhc^XSNIB=83,'" u]OJJE8)')'      "166=EEBB@@D@?@@@=:851358;=?EGEGDIJDEGIGNS`{|yvtmjg^[XY][]^[Y[`^belmlhcbchjmmqrt{~ywvwrtrvy{w~w||z}wwssnkhfhhkknppsuuw|xz} %!              055>?AACA>><<:99<0/47<?NRU]_bfffiigadddddddddddd dddd"d)d.d3d8d?dDdIdOdTdYd^dedjdogoloqovo}ooooooooooooooooomoqq!%(/0220**&%&(%%#%#!#!#&&**+-+-*&}%}#{%z({4499>HIMPSU\_bdnvx}xsnib]ZXUPNKD?579520+&uql ppsqsxxzuplnz}|yvrqoljgec`^]XXVQLEB?=;:63)'$" z xq llppsnn!i)f.a)]&]SSPMH F? <*#&$& ) , . 0 38=?BDDGJIJED@DED?50.'!     ||woc`bu]dillnnqpkgpqnsvv "',38=BINSX^chmoooooooooooooooo}ovoqologododjded^dYdTdOdIdDd?d8d3d.d)d"dddd ddddddddddd} -/4AJOTchnruz|} ")*6;==9=@GGJLQMO\ajkoppmfkkp|~~".0|6z8wBzNwOuXuXrw[`aeheepokjokom&DDXb]]__bil+f7WdUiXoXtP7!72,*7*;KPY_c!/4:.:=9S:h:y/%    !#&(*+//200445:9<<?ADCFD KKHI H H!K!K#H#I&I(M-N+P/R-X4S9K7I9F:>:9?5D4F/H*K%P%R!R PR!W!X \\]afg!i!nlgbbfid b dkllkikkdikigfigiigpsuuvz}~yvtljecehx]lSiObEaB\=Z,N)MFDCCC<0--/-++0--++&  umkmc\_\^RJKJH@4*wvrmjge^XSTSNEB@@=6,&&$!yyl`SSNNN}K|GwFwBx?w:s3z0|&wwssurrmiia^_Z\YUUPPMHKJHFCA@@97229;;@A@EA@>#qqsyvvssoqqolonllnob``b``]]_][XVXXVVUSUUKIKIIBD=0+-.-)#(##!&!!#&.+$)&+&2)3(0(+$(&$!! &+. .+3.(2&5!32023:<20 -0:ADAFII NNK KD?IU]eqv}|VRTVWWW[aeetwyytkf`\\[WTTQRT~RC~6~%}e[WRLGEB=1.'$    {vpfb7b9d9f4v7x9x7{5}7<}<uCgMdRZRSUMWNXMX>\<b>b:p/s/v*z*}&(#((* (4FKad./`ajt~$'6>HW^chmrw| $+05:?DKPUZ_dinsx{{}~~ !(-28=BINUZ`ejqv}  %(,/26; >AEH#K*P/T6W;ZA^FaMdRiYm_pdskwpzw}| $+06=BINT [ ` g m r y    " & + . 0 . , , + ) ' ' & $ " " !        ! ( - 4 9 ? F K P S X\afinqvz|wrmfc_ZWROJ E A<941-(#"' *.36;>=;841.*)'%%%$$""  }xslgb]VQKFA<50+$   ~yurmjea^YVQMJEB=961.)%  zvspnigdabba]ZWXXSNIDCCDFHHI}KxMuHqCq9p5n0l+i*f-b-a/_5\7Z4X4R-P/N+M-I(I&H#K#K!H!H I HKKD FCDA?<<9:544002//+*(&#!    %/:y:h9S:=:.4/!c_YPK*;*72,7!7PXtXoUiWdf7l+ib__]]bXDD&mokojkope               # ( - 2 8 = B I N S Z _ d j o t y       x s m h a Z W P K C C A A @ @ > ( "    ( / 2 < R U \ a i n r } , 2 4 9 6 < ; @ A F H M K A @ @ E A < ;;>A&@,A3E=E@>@4D2G4LCOFSM[P[O]J`K`P`Wcagaj^m^qfqmrsw|~~{wrh cbcec^^`^[X^e!h$h0t@yB|QySvQgX[JQB?8;,5) "& , . 1 : : ; O N O Q N N S [ X S N N D B = = 5 1 '} !z p r n h Y J A 7 * # ' $* +* 0 0 + . 3 D E" B" I# J" Q T X V Y ] h Y X ] ] c o v w m w  { | { |     y @ 8 3} 0} .~ )} &s &g e e b X P F #          {yyxvvtts|qwqromnfnal\lVjQjMqEs@x9{8;@@HGEEBBC;4) u u4x>u@sCnEiHdK_OZRUUPYK\F^Aa<d7h2k-n(r#swz} ~ytoje`[VQ L G B = 8 3 . ) "! $ ' + . 1 5 8 ; ? B E I L O S V Y ] ` c g j m q t w { ~    } x s n i d ^ Y T O J E @ 9 4 / * %                             ! # & }* x- s0 n4 g7 b: ]> XA QD LH GK BM <P 7S 2W -Z &] !a d g k n p s v z }                             % , 3 8 > C E L O Y ` c m r t z | z |  ! & 8 F U b n v x x y              , 6 A H M _ n    & ( - . - + - 3 = D G G L ] b d _ e g o q v       O o      ~         ~ v e l l e b ` [ Y Y ` ` `% [* S1 X< TP [k Qn Lx Xz S G L N Q D ; 8 1 + & $ $ & ) 1 8 ; N V [ ` m w                        $#&-1A1K6W8\=_@i@sBuBGDEEIIONLJLTX[`"`%`/[4Y9[B^C`BbE^J]\bkhwljhjhjjljhj]XSQ OQV)].^5b<cAbFcXloosrqvs|}|yvtqoooomljhlllrw{|{|{|yyyrqroq r m l j h eh%m4o7l<lCjMm^j^gaca`W`P`K]J[O[PSMOFLCG4D2@4@>=E3E,A&@A>; ; < A E @ @ A K M H F A @ ; < 6 9 4 2} ,r n i a \ U R < 2 / (      " ( > @ @ A A C C K P W Z a h m s x     y t o j d _ Z S N I B = 8 2 - ( #                     c O @ 8 3 . ' "                      n k \ K F D > < 7 2 / * & !                             0 L Q X ] c h o v { ~ v q l e ` Y T O I D ? 8 0 . + & "      y r m g ` [TNIB=60+$ }|zwwpskpdm_iYdRaM^FZAW;T6P/K*H#EA>; 62/,(%  }vqje`ZUNIB=82-(! ~~}{{noqt %*/49CEMRWiNN"P0P8X?X@ZDXL_O_TbQgQnOpXlYi]p]q]sbseqgqhugvg{egjlhjhjotv{ywwtrvvwywv   $'.1=BEGLRW[eehea`w[XrXuOuNwBz8w6z0|."~~|pkkfmppokja\OMQLJGG@=9==;6*)" }|zurnhcTOJA4/- }} {{{yyyyxvvvtttssqoonbxixinnkogydyZ~UNIHKKDAA:959744:<>>?ACA:744:<?> ?>><">-:/<1>4:6<7?9?<I@IAFFFJAOAR?T9W5\/m&n(m+p-p0s2u4|4-00252475722+%!#&#!## !#!&##((##%(! !  "$'.5:=DIJQTVVXYVL2J2J4E2LCL_DX@Z?X8X0P"PNNiWRMEC94/*% tqonebx  ).225223<:IXgqq"#'-1149>CHMRY^chnnrx|}&,03@@DILLJJLLLLLLLL"L'L.L3L:L?LDLILNLSLXL^LcOcOhOmOrNvL~LLLLNNLLJJIILNLLJJIDEJLOSVVSXY]YXVVTQJID=:5.'$"   !!(%##((##&!#! ##!#&#!%+22757425200-|4u4s2p0p-m+n(m&\/W5T9R?OAJAFFAF@I<I9?7?6<4:1>/<-:"><>> ?>?<:447:ACA?>><:447959:AADKKHIN~UyZydognkinixbx[lUgLdGdDaA\?FADAFGALAS?]4`*]%] bb``[ Z&_*_+[2X5V9S>LAF?BAAA?CB < 732.$  |ql^]^]VSQJIB;60..)'!|wssmmc^UWTTPOKKKJHE<<><997642//,'##"  " "      &)35=BJITVY`etvy"#%*124;7AACEFJHEKFAAMRY\\ZZU O&R&Z+W/\0a<h>m?n?rCuDuDrFsDuCwAz<s:u:|772/((&&00KNXZ\ZXXURRUSU\filxx{ .8888::BGNT[bhov|  *((#(}&z*v*s/p/b:b>\<X>XMWNUMRSRZMdCg<u<}75}7{9x7x4v9f9d7bbfpv {vwywvvrtwwy{vtojhjhljgeg{gvhugqeqbs]s]q]pYiXlOpQnQgTbO_L_LCE2J4J2L2VY]YXSVVSOLJEDIJJLLNLIIJJLLNNLLLLL~NvOrOmOhOcLcL^LXLSLNLILDL?L:L3L.L'L"LLLLLLLJJLLID@@30,&                  $())--5<GKKFFIIKI K L PSQNSVZ[]_``elqtstvsvx{y}}{{~  "##""'*21479<FHMRRPPRRRKJKOPMFFKRY^chkmp       !!(7=ABFIIF G I SZ d ggiedde"e$d+g)j&l$q"s~"&~,~.10+'$!         " "  "##',//246799<><<EHJKKKOPTTWU^cmmssw|}|xrnnhc^YRMHC>9411-'#"qqgXI:<322522.)         r p sw z|z|  ||zzxnpuurihc^\YWWTRPMJFFA@C C <977 2 1 , * ( -,-*% ' '   %' *,- 47;7 7 ; C H J R Z\kmi p\1%           {oj_NK?70+&   &,0355;=GLQQSLIIINTY[`cghjhmmoqvw~{~~~~wtmc`\[WT[\^^\\YRMJ=9961,%      #&*}-4z9x9u<u:p>n>k7g2b7a:\?]C]DZHWISRMUMZHaSgUnUuPzNPRRMHDFF<<9:>>AA>?::7KKSU]aadbdb_a_babdg illsx{   %,14;BGL Q RRQOT"[ \\[[[`ekrw| $).3:?DIPUZ_djoty"',38=BGLQV[`ehkory~ #(.38=BGLQV[`glqv{  %*/6;@EJOTY_dinsx}       " ' , 1 6 ; ~@ ~G }L }Q }V {[ {` {e yl yq xv x{ x v v v t t s s s q q q o o n v }                          % * / 4 9 @ E J O T Y ^ d i n s x }  ~ { w t q m j g c ` ] Y V S O L I E B ? ; 8 5 1 . + ' $ !  " ) . 3 8 = B G LQV[`ejoty~ }zwsr#n(k-h2d7a<^A\FYKUPRUOZK_HdEiCn@s>u4x uu )4;CBBEEGH@@;{8x9s@qEjMjQlVl\nanfomqrqws|ttvvxyy{xsnid_ZUPKD?:50+$ |wrmhc^WH>6'$~tja`/.daKF4( |vohb[TNGB::8888. {xxlif\USURRUXXZ\ZXNK00&&((/277:|:u<sAzCwDuFsDrDuCu?r?n>m<h0a/\+W&Z&R OUZZ\\YRMAAFKEHJFECAA7;421*%#"yvte`YVTIJB=53)&   !$'+01.,~&~"~"s$q&l)j+g$d"eeddeig g dZ S I GFIIFBA=7(! !             I R  " 4 9 T ^ k t |     , 9 = > ; 6 3 , $ $ * ) *# *( '< ,B *D 'L .P /[ 8b 8y M W [ ` a ` ^ c ` ` m z           "  # , , !4 .; AA KM Xf gs q                   * M U c n r x z                            " $ $ & + 1 8 ; D Q N L Gz Sx Xn Lk QP [< T1 X* S% [ ` ` ` Y Y [ ` b e l l e v ~         ~      o O     v q o g e _ d b ] L G G D = 3 - + - . - ( &      n _ M H A 6 ,              y x x v n b U F 8 & !| z | z t r m c ` Y O L E C > 8 3 , %                     y r k e ^ W Q J C = 6 / ) "                         { u n g a Z S M F ? 9 2 + %           C^p~-2Kdy    |}z-r-pCfEc;_9Z6Z6\1\,\*W%ZW"U'U-U1W6Y;Z@\F^K_P_UaUfUkUrUwU|UUUUUUUUUUUUUUUUUUUUUUUUUU UUUU$U)U0U5U:U@UEUJUOUVU[U`WgWmWrWyW~WWWWWWWUUUUUUUUUUUUUZ_dkpuz          & + 2! 7$ <& C' H) N) P1 P6 P= PD PI PO PV P] Pc Pj Pq Pw P~ P P P P P P P P P P P P P P P P P P P P P P P P P% P( P( W( ]( d( k( q( x( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( %( ,( 3( 9( @( G( M( T( [( a( h( o( u( |( ( ( ( ( / 4 9 ? F M S Z _ d k q v {                     } z v s p n k g d a ] !Z &W -S 2P 7M <K BH GD LA Q> X: ]7 b4 g0 n- s* x& }# !                                                       } v n o o q q q s s s t t v v v{ xv xq xl ye y` {[ {V {Q }L }G }@ ~; ~6 1 , ' "        }xsnid_YTOJE@;6/*%  {vqlg`[VQLGB=83.(# ~yrokhe`[VQLGB=83,'"ytojd_ZUPID?:3.)$ |wrke`[[[\ \"[TOQR R QLGB;41,%   {xsll igdbab_a_bdbdaa]USKKDA7/*##    ")*,/469>CGHJHHHLMOMMJMQROLOTW[^accwrumzlzggeb][VQIG@~?;:630.)'&"~zywzyttrprtprptwwwttmWRJEJCW%R*T/R2U>UEYHWOYUY_Zm_w_}a__dikuwx}       & 0 6 ; @ E J S X Q O L @ = ? B N T ] b o r v     ! & . 0 5 3 5 : @ D I! T* X9 XC ^F lM qR vU g q                  % + 2 9 ? F M S Z a g n u {                         " ) / 6 = C J Q W ^ e k r y             { v q k d _ Z S M F ? 9 4 / ( ( ( ( ( ( |( u( o( h( a( [( T( M( G( @( 9( 3( ,( %( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( x( q( k( d( ]( W( P% P P P P P P P P P P P P P P P P P P P P P P P P P~ Pw Pq Pj Pc P] PV PO PI PD P= P6 P1 P) P) N' H& C$ <! 7 2 + &         zupkd_ZUUUUUUUUUUUUUWWWWWWWW~WyWrWmWgU`U[UVUOUJUEU@U:U5U0U)U$UUUU UUUUUUUUUUUUUUUUUUUUUUUUUU|UwUrUkUfUaP_K_F^@\;Z6Y1W-U'U"UW #%,-/26;@EKPRPTUTRKJMOR R'P'T.U,Y/U3T1O4K6O6P6R8O=K=H9F9H@JBFEEHCL@H;J9H6J2H1M'O#M%Q"TQQR WYVYVRMLRTWW[\^`hhkoorpuz~{{}}y{xvsvtstqle``_][ZVSNQSPL K I KIIFFKKG<5--))($                  zzrpa``ROJG@!B$@0.:%INPV_bddeeillgeinsxxvy}~{vvw{{{yvvroomgb][Y[ Y VQQSOE!G!I$L&I.J.L1O5O;V@V@S=T8N,I'B+B,D.@3B:I:E6D5@.=386;;???;;;6@6B8B6E6I?L@OEQDOBN?L?J=J8L8N8I1I0O0O,L.I.I,J)E,D.?)?&;';&8)5)5&6!=BD!G"N'`3o8DThloy~ #(-7?FSZZadkpuv  %,1699=JMRY\\^^\[TW[\`cmtw~~~~{~wvqommhjhgc`[YTNIIILSQQLG=;5530,&   pmkhc^YRKFFMPOKJKRRRPPRRMHF<97412*'""##"  zuprookhh`^\[WWTRLMRVYVY WRQQ"T%Q#M'O1M2H6J9H;J@HCLEHFEJBH@F9H9K=O=R8P6O6K6O4T1U3Y/U,T.P'R'R OMJKRTUTPRPPTPHA>AA;<@CHPPWW\^adhiprxsnid_ZZD:9#!    {z{vsnida\WPKFA<72/(# %+&!%/2599<>752! ! ! # !      "%**/1297716;ACJJMRRJHEEFHJJKMPRTTWWYZZd\\Z\^ac^^aca_^\ZYTTcruwsuwwx|}}|    !#9:DZZ_dinsxrpihda^\WWPPHC@<;AA>AHPTPPKE@;62/-,%# xuppuz|urruzwsprsrppsu#z%}%%%%%%%%%%%%%%%%(-27799<:9:?INPID'A.A3?6?;:=9@7G9O4T2[/]-b-m+r-{0|244:?DHMNNMMI|HtDqAgIYRVUSWIR@U:]6b1d0d)d&gb_ bdbZNNNNNNPPPPPPPPPPNNNNNSUXZ]_XUZ_gfgifdgklsxkgd}aziukwsuvxx|vsvxvz{{{}xx}zx{z}z}}|x{xzwxwusisgrsrzrnifaa^UJE61211/'6Khr}).6CJEJRWmttwwwtprptrprttyzwyz~"&').036:;~?@GIQV[]begzgzlumwrcca^[WTOLORQMJMMOMLHHHJHGC>964/,*)"    ##*/7ADK7::?>AA>>:9<<FFDHMRRPzNuPnUgUaSZHUMRMISHWDZC]?]:\7a2b7g>k>n:p<u9u9x4z-*}&#    vupkdaZZSF?7-(# {vqlg`[VQLG@;61,&! |xuur s%p+p/n5m7n9n>uAwD|C}DC??500/-(*//0-42/-/0/279<><>??CAFFFA??ADAAFFIDFAC?A>77<::995577>DINNNNNPPPPPPPPPPNNNNNNZbdb_ bgd&d)d0b1]6U:R@WIUSRVIYAgDqHtI|MMNNMHD?:4420|-{+r-m-b/]2[4T9O7G9@:=?;?6A3A.D'IPNI?:9:<99772-(%%%%%%%%%%%%%%%%%}#zuG"I"EDGGJLIIISSVX!Y!Y$]"^$c"]]YYXVSLL O T]bcc b YX Y]^gjqqtw rrwy{oryy|~|~|~    !""!         "&+,)$!&$|x| !&,16;@GLQV[`glqv{~yolhTDo8`3N'G"\ި wtzޕ1ރuޣ6|ރ Kއާު2* ߢ-<8%D&N<ZC7Xߧ߶߲ߌD߭߫~ "*6J;<>COT\b\UT5PgOM@;;9p9246 EcWkz/xiZFRdC[+".3=J TB^er{yqw qoot~hWJAMTf\iZUWcUh &;]q~2>5!Dv=h-DX_e 4>671('/*##x&<#(%*-2449>DD2?I92+*#%2+6/12,45CHPWZZXHZW]s]aaipqszvv"s:vEDLrv}{}:AKHa3;.%ayrr=KUe2Of| .T{2ASnM Nx$15BY057-$H$_)u)$t[cwzkaez $(-NedQNb~{HH_dZ_fnn} EJ]b`~ (#2?P}??XW\ks}pbWWbZ]WDP%%16=@@=;808Z6b.p.*,1//6 ;8*;;>B@*CHJRTWYv[aY7\!Y[kt~zy|z utt-|qzrtwwyuz|=|Q^|z|yokkpkf`gY\ceehhefjk#r(zy<wJjTfdfsjrk}khhfjmfc1cLa][mkkmru%  K_{}{zfwfptpohe^\\'`9fJfahhmptr|||of[WRHGHH<GXHgGyC~@{>~, $'O/r8r=xCdMYT^\\^_`|`YTTW\mwzrh`)[.VIOS@J>J;Q;g@|HEGG@*'%%* .&.+*0*D3q69916; 94>3BEGMGTC^ChHjLuMLQRVTY`5a[^`cjow1z<r#)2ADDXelt{||sa^OHF>MOC9 (UYU\dn  " #1>@EJMORTRTY^\YZ^ikrsx|     &,;;NTNNTYT Y X `bTIT'Y+V.b,j+l){')+03~:;:=;??;35:=ISSNNSTVY^]YX[`bbeghhgcb cg hhjml o oqvy{~~#<INNSZagabWRU_bu{k %$$33.3/;*.6;BEJ^t   !!#%(/4#725G9L:7-(#%&%%&0552/-/-*y(&~#l!e!SND50 .$   ~~zkfRC1'%,) ~wqlhgecec`]TO@86,++'+.0531 8 =@ @;3"1%3*8.@*B,B1?;?T=Y3M,G);!6)!$,)! $&&""!zpp s]US:"2'0$(" (*#     |vhmb^bvvrecj|^uluys{fTcS_Ycgcy_~cniida\Z\T~PlKoKHCA>;|7211,*-#""%%'-4441469> ACE>AXAk>k;b@P9(6-, (#>NK<?7?*  + FHH924?R_b_bk{xsqvvtoljib`]][LKKKNSUS ND ?=:8 01..-+)(*1,$##   )>C>,*;@@ELMME)9GO831.GRL@,3LW\a`^QV~OyRc~u~|te`aweokkmam^e[\YWRYE`Hf@a@\6`"jmppmkfccf`^\YWYYVOGGMOJG>CL63488O8T4T1L,H*;'C3%$ $"$  $);LMG)/.}_PHM]]N5-#HM\U/#RZX&pgk{gjfb_o\cMHImCT>,< 99:?CHxMyNtMdKQI8MMKMNU|W\WZasf db]gU Ap(!5 t T~tYj^XOB:J658=f=Y:F3@Z@'CHYms &+Auf9c=5 dwkd8YO9w@ߵ ?d7p ߈߽7 $'dw*7k0 ;aV @J-6 9| ^C,3,6=NV[[^bbcmy ~C~hH;1>T2 +0 9906-N<>?CCjAQHmKeMhNMIMSW\(aupu }*ct}|}0sQNNiy - 5 g"| `)Y*O)D 5kdhs)/131..)r*i.f8|BR\\ahjh;eQeYmrotu||~]Ye9HlaC24!:(_(z(}u x58=?DFIN.LMIOFHD;A9=V8j0~)##$DAPg]`bb_VPL5!! ((#\(x#(&+-3&$&.56?X`ho$|((!  #!)-.F5d8DKU V3VW_di!lIlsx#7}AxPyc^_d~oe3`gb|`_`b~Cs"; +="H~vqs$ % C /  ) ]    # ( / 9* >E @U >r ; (   &B|~~ !+99DHFNfg{xsx{}"*-6; <>*JfJzKU^acfhkmkims5rIrbxi|t} (RYZY\p|0@  +;DL]y$&57:M?=?BGGDDDJBeDu@=861!$ 3U`dA7+$&-.FD::KZ]_bt *29>>CKW}ETbh!U.@L^|}} -25|:k5a7\:PPCL7A1P*N#D&?FF<)78.{]ZILFsGFD82+(5K2[@g>nCy 7KYcmx0;S|/?Fkp lqpx"%(p,i-i-p1i7n<@CFCHFCCHO_chkp z\|k|}}   + = I P Z e !;!\!!!!!!!","6"G"L"L"Q"l"5w"3"0"+"$"" """"""""# ###D#I#W#d##########$3$=$E$T$[$h$$$$$$$$$$$$$$ % %% 0% 5%3%#%"#%$&%!8%"D%N%b% j%n%i%l%%%%%%&&&&1&9&<&R& h& w& &&&&&&&&B&L&N&L&J&L&L&J&?&:&=&B&J&Q&Q&S&X'['X)'V,'I.'6+'00')0'):'&='+N'0w'.~'+r')c'&`'"e'$j'"q'!v')'.'0'0'3'5'6v'8y':'=';';'?(E(G%(G+(@M(BR(@](=g(:z(;(I(L(L(I(E(?(=(:(8(6(.(.(,)&')$4)C)\)y)) ) ) ))**(*5*B*P*Z*]*l*********************++ + ++#+(+-+ 4+<+/+/+1P+;+D+E+N,T5,TL,SV,Ge,Do,6,5,',$,",!,,, , , , ,, , , ,-!-H-b-k- s- }--------...8.=.G.W.p.....//)/0/:/F/d/}/////00 000#0*010F0O0K0O0^0i0|000000000000000000011101Q1^1o1y1 1 111111111112*2:2>2A2N2k2}22222222222 22!2!2$2"3$3+3+3+63&T3$3)3+3'3'3+3.41$4104054.I4+Q4&V4"i4$n4+v43414.4.464541415. 5'5' 5$#565;5E5R5d5k55555555 5 6 66,656J6V6m666666666677#777<7?7H7Z7s7777777778$8,8,848H8^8m8w8|8y8z8888888888888888 99$9-9B9K9`9wj9p9n9r9p9f9Y9U9Y9U9T9K9H9E9F :H:K":M9:PF:OZ:Jp:H:C:A:A:J:M;M ;J;C ;<;-:%;1;?;B;Q;"o;;;;;";<"&<#*<*+</(<1%<4<7<<<< <>#<@!<E <J<O <P<F7<>A<;N<>X<>a<9p<2v<2Z</_<*k<%f<#X<"W<p< <<v<<<<<<<<<<<<<<< < << $=J=Q=V=[=h=e= j=u========== >>>>>>)>->?>Q>j>>>>>>>>>>>>>"?(?,?4?4?9?>?!>>$>+>+>&q>"q>>> >>>>>>>>>l>g>P>5>0><>>>>>>>>>F>->B>Q>n>>>>>>>>>>>>j>x>>>>>>|>|>x>u>u>r>r>s>r>n>m>i>i>f>f>a>W>T>R>P>K>H>F>F>C>E#?HR?Ec?<\?6?-?(?'>%> >#? 9?@?n?u?m? ???ߩ??????? @@????!@]@w@ߟ@ߩ@ߔ@ߺ@@ A@A-AZAgAZA4A+A9AXAAAAAfAqAlA߂AߏAߣA߼AAAAA{AxAsBs'Bo;BnfBi߄Bg߶BbBeBdB]CPNCK߰CG߿CD߹C?CB2DBPD?aD:pD7fD5|D5ߥD0D)'E)YE(߈E#ߤE$E#E-F0FF5F ߵιH_gKߠٻH8'+{ޞ˾ZG}΁QVn\pcihlmxrorpmkmpppmjc\[W[^` \1W6O8LHGLBC=$93*388G6`1e1j3k8m9y@@>8/.)$   pcG>"'')GOOHBCG}(Ё (#2$3%='?,:.-1)338 = BBq==9;8;31,3@1O4p43,$K-~U($05=??M=/:".)"׿ʿտٿ)yKq S$FAzAAAAAAA.B1B'BBBAAAAAbAIAKAAA2A AA@A AA@@@ A0A*AAA/AA#A-A/A5AFA~ځl`?2pkjrm=) )@;'I% Mav$*4BJ^corjaCBE;@VVey+?Vgv{xgeSA<BQyjVL~၎yrthShDk:y~$1@IV`o{w~~wc\TG;;>@Rq\UaRfHjHtUonrutuz||slz~ぱ:KbnqdIDIeiPLF5+   h\Y[uecYHB;qu!  (-.+# *@G R [YRB#$)035'5G0a-m$y##()+..07o2#    oX {sW]]KWf{䁢*2^zx|xxacrukdWOHJH9恿 !&&/0IZZUIMFMW\U\]MX\ikuu{a\F?>54%聊 />BLQ\r{w}rorkhmok[Q@1 0AIZly{~{so_LKND:55=3.-!+..( a\^R%^$h$u"""}unia9>>CDHNP WX1W6U;WAXJWTUURUPYRcNMHC}?m?cCUCEF<D4F-C(C">99]XXPGADPIQPG=.-5FD<? F NU_[_n qjolt{v{tb]ぷm$5&fZkkx>r]ID@3k, N:DQ+5DJ(Tu]`b`]|p_Y|YO_dn|xd}<uw@0,BNXj-3L큊DqhSB?=L;3,))?+n+' jz@umi]dajcdir+|:GTh{9T (((( ( (((((((((() )))) ) ))((((((((((x(p(m(r(p(i(h(h(f(h)d(f(a(\(^(\(Y(Z)_)i)m")s'),).)1)9)h)|)|)y)~)~)z)t)m)V)`)f)p)))))))))))))z)y)y)t)~))))))))))))))))))))))))))))))))))))))))))))))))))!)")+),)+)')))$)!)))))))&)))!)")')))+).)+)')')"))))))))))))))))))))))*!*'*.*0&*.0*=7*D:*GG*EL*DN*GP*GS*OV*Q`*Vb*[g*^j*^s*]x*^y*h}*l*m*j*l*o****************************************************************************************************** ****!*/*2*/*+*-*0*4*2*5*5*7*7*:*:*D*D*D*A*?*>*>*A*C*C*F*H*H*K*R*U*R*K*I*K*M*N*S*X*]*a*b*d*f*i*n*k*_*a*f*l*l*p*z******************************************~*~**~*}*}*x* v*s* o* o* s*t*s*o*l* `*,Z*4X*3U*4V*9P*>L*GK*JK*JP*LS*OQ*MP*OK*OG*MF*LI*HG*BK*BI*@D*CG*HG*GD*HB*L=*O?*VD*W7*Y5*[5*W:*c3*`0*c+*a)*^)*\&*^*f*e*t*r*t*t *w*w*w *z*z*)))y *z *))))))))))))))))))))))))))))))))) )))))))))))#y)!r)$t))k)0e)7c)7`)AW)KT)SR)SO)LQ)KO)NO)QM)UO)ZL)ZJ)]G)]L)bC)l@)tE)tG)tJ)vM)O)M)Q)V)T)V)Q)V)V)V)R)R)V)V)V)W)[)\)^)a)[)`)a)a)c)c)k)p)r)t)r)z)|)|)))))))))))))))))))))))) ))))))))))))) ) )#)()*)()-)/)4)4)6)4)7)6)6)7)6)4)1)1)1)-)-)')*)-)*)*)-)1)2)2)4)1)/)2)6)4)7)4)7)4)7)4)7)7)4)/)-)-)1)2)4)4)6);)<)>)A)F)F)K)O)P)R)U)T)P)R)R*U*W*U*P*R*U *W *Z *Z*\*Z*^*^*a*a*d*d*f*f*h*d*h*h*d*h!*h#*i$*h(*d)*c(*a(*a+*c+*d.*_-*c0*d8*f5*d2*h2*h3*k.*4(7(9(9(7(9(7(2(2(4(7(:(>(A(D(C(>(9(9(:(<(<(>(>(A(>(<(:(:(<(:(9(:(?(?(A(A(~C({F(|I(~I({K(wM({I(wD(wC(vF(oF(oI(jK(lI(jH(hD(cD(bA(bD([H(TH(TF(IH(EF(BI(?I(?R(@R(EX(B](?_(@f(If(Tk(Ti(Yl([k(Yl([n(]n([s(Tx(S(O(J(?(;(8(5(5(1(0u(&n($n($q(u(z(z({((((((($(.()()("((!((!(!((((((((o'x'''''''''''''''|'y'v'e'`'^'L'J'E'?'@':'6':'6'5'0'+'''"''''$' &' +' .'0'0'.','+'.'0'3'6'8';':';'@'I'J'D';' 6',.'>+'K&'R!'T'R'O"'J!'H"'F!'H'K'U'Y'^ 'w '' '''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & & & &&&&&&&)&+&,&.&8&?&@&?&B&G&O&S&X&^&`&^&^&b&g&l&t&&&&&&&&&&' '''''' '' ' ' '''''#'*'/ '2 '7'9'9'9'>'D)'H+'D1'HI'IJ'MJ'PL'KJ'HQ'Cl'Cq'Ft'Aq'9r'5m'2l'(o'h'l'm'l'j' h' g'j'l'j'g'c'c'g'e'g'g'l'm'l'q'r'|''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((( (((((((((%(&(%(2(4('t"'l)'`.'[1'U3'F6':5'76'71'-3'(6'5';' :';'8'5'8':';'='@'D'D'B'B'G'I'I'I'N'N'O'J'L'S'O'L'J'L'Q'N'J'I'J'L'N'L'N'T'Y']']'^'c'g']'X'V'V']'e'|b'zb'yg'rm'kv'hy'['O'M'G'9'4','"' '''' ''''''''''''''(((((+(5(>(P(a(d(i(p(s(s(v({((((((((((((((((((((((((((((((((((((((((((((( (( ( ( {( z(p(%g(1g(>i(Tg(^l(^i(ak(ka(w](|_(|b(b(d(g(d(d(f(i(i(k(n(i(k(g(i(X( R(H(#A()9(.-(<(D(L (`(j'o'n'l'l'o' & &&&&&&&&&&&&&}&|&&&&&|&z&|&&}&z&|&z&|&z&w&w&x&}&x&u&r&p&n&k&m&k&i&h&k&n&m&i&h&i&n&k&m&h&|f&zf&uc&ma&i^&c_&Y^&Ua&Ta&W^&Z\&Y\&>c&6d&4h&2i&2k&/m&-p&1p&/r&/s&2u&6w&<u&@r&Aw&@x&Az&A}&C}&E&H&F&F&C&<&<&>&<&6&9&6&-&-&(&"&%& &"&%&"&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''' ' ' ' ''''''''C$9 $/ $$$$$"$%$1$8$9$9$9$9$8$ 8$/$ 8$;$=$=$=$@$@$C$C$B$E$C$G$H$J$M$G$@$=$G$J$L$T$V$\$\$W$W$Y$[$\$^$\$^$W$W$R$R$T$W$`$`$\$\$[$[$Q$R$Y$Y$`$c$e$a$^$^$a$j$k$m$h$a$e$f$m$r$u$w$y$z$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}$y$s$n$n$i$e$]$`$b$i$n$s$x$$$}${${$$$$$$$${$x$t$t$q$o$l$e$b$]$Z$_$]$Z$V$Q$S$Q$P$Q$P$Q$I$=$=$3$-$+$&$$$&$!$!$$$$ $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|$z$w$t$u$u$p$e$c$[$W$C$=$>$>$E$G$L$R$^$^$[$^$a$c$a$`$^$Y$W$[$c$u$r$t%p$f%c%c$Y$T$L$C$=$;$9$;$B%G%J%M%O%M%J%G%@%;$8$4$6$3$1$1$1%;%@ %C%M %R%T%V%Y%T%R%M%B%C%B%@%@%; %4 %1 %/ %1%3%/%.%, %* %'%*%*%,%;#%E#%O)%M+%L3%L.%H)%G(%C&%>&%C)%6(%.(%*+%*.%*2%42%93%@7%=8%43%33%38%>=%E?%J<%MA%J=%EA%=A%9?%6<%3<%/8%$8%$B%%G%,P%;_%>`%E`%Le%Ve%Og%Mj%Wt%Tt%Vx%Y{%Vy%V}%`%a%f%c%`%k%m%o%z%%%%%%%%%%%%%|%w%r%r%w%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&p &t&t&u&t#&u%&y*&y-&w(&p#&c"&[%&L"&G&C&B&@ &;#&8*&4,&1*&1-&)-&',&%-&/&1&/&2&/&/&-&/&-&2&6&4&6&4&4&2&4&6&4&9&<&>&>&A&C&E&E&H&F&K&F&C&@&<&>&@&@&C&E&H&F&H&O&P&R&R&R&}P&{O&zO&pP&nR&iR&bT&bP&aP&\R&]T&ZR&XT&XY&WY&WW&SW&RU&PW&NU&MW&IU&KW&IY&IZ&MY&RY&W\&_Y&k\&qZ&u\&zZ&Z&x_&p_&ka&Z_&Zf&Xd&Uf&Ri&Ni&Nm&Km&Kn&Cs&Ar&<u&:u&<w&9u&0w&2z&0z&-z&+}&%& &&&& &&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&y&y&r&r&o&m&g&b&]&Y&Y&T&V&T&Q&N&L&J&D&B&D&@&?&=&;&8&5&1&3|&.}&.|&1z&0u&&w&z&z& }&z&|&x&|&z&|&|&}&&&& &"""""""""""""|"u"s"w"x"""""""""""}"|"|"""""""""""""""""""""""""""##"#""""|"z"z#|#"## # ##### ################!#&#&# ### # ###&#(#-#0#4#0#/#*#+#*#+#/#2#4#2#0#2#7#<#A#A#?#D#H#M#S#U#Z#a#a#d#f#f#b#a#Z#X#U#W#U#R#N#P#U#_#d#k#k#i#f#_#]#N#S# U# \# ]# ]# \# Z# _# _# ]# W#& K#" K#+ :#) :#" :#' 7#1 5#6 2#8 -#6 (#5 %#6 ##B #I #I #L #J "Q "T "T "X "[ "[ "Q "N #N #O #V #Y #] #` #^ #] #[ #V #L #E #@ #: 2#1 9#+ D#$ \#' _#+ a#1 a#6 \#5 W#8 Z#6 a#. b#0 g#, b#" b# d# g# i# b# a#f#l#q#u#x#x#u#{########################################x#x#u#w#s#p#m#h#a#R#E#6$/$$$ $($- $; $@$C$I D @ ? @ ? = ? ; : 8 6 6 8 : ; ; @ E I O O Q S T S N N G D @ = ; ; : ; : 0 , . . 3 0 , ) ' ' & $ $ & & & !                 $-.8:??DUeedeeinoos{~     }xxssi[ZSQPLGD=:7522.++)(&)$   }$u-p5f?cFaDTNMUFZ;g,y*%#(-2/67 ;AA H,M(O*T*c9n<s>x;z6}621,'""   (*((%'*-/11//,%#*(-*1266;;>A>7762/;;;>AAFJFFJMOMORZ^dkrzz||xrnkhd_ZURUW^dhihd_YWzUwUx^wdxkwnxux}}|uzsrmmkhd_^Z_achckakaf^aZYYYYaUZM^O_MaHiA^>^<_>cCcEhCi@f;f<i@i@nAp>s;s;u7u7m4n4r1s2x1z/x-s*w(u%u#s'z#xz"||z|zxxsrnkikhffccaddiihifdhfikiimpsxikpsx|zupnmnrs}n{n}rsrqsoplpgmgpgrbpbrgsnxjxn|qs}x}}tslnligeg}d}b}dz`z]|_][ZXQSVZ}VzXxXuKuGx?|?8757<=}<z7x2z.|+|))&$#$#!#$}|    ~|~||ywuttwwtjhecVVRLQROHGBB@>4*%$$"         }zvq!g&X'W)Z,Z.X,U.U1S.U,R+S+H,C.C0?.>0>.>,C,:,70*1565:=DE@?:==ISVYY^`bchggjlmghlotrtjllor{yqqmTE8853 }||z}|zpH2+/0,2'I(M,M-N2b6d9iAvEHP^aaikmnmmwz    %)'$ "%**13:/]1c/o/q)o'j"jr)q.w.y*w,w*'*,,13@;;>CEJQ[[\`!^(a*a*`-`-a5cAa:a>`?[C[DWDQFLRERGUGUHXJWLRLRMUO]OWRURRVH\A^?`A`XW]WaYfYzOMMHCHORRTORROJJHEGHHM TT"\)e1t4w3y4|4464/%$/8B@BC91*1==ER\`eeefeacceeca^ef h j m m y& ~$ |& ~( - - + - - - + $ ! ! # ( 8 = U ] ` b j n }                    & - ? : : < < = I L U!`!j!v!v!s!v!{!y!x!x!{"!'!6!;!>!E!U!n!T!P!T!T!U!Z!Z!\!\!Z!Z!W!R!M!K!M!J!H!K!F!H!H!E!A!@!>!>!A!C!A!H!H!M!T!W!c!m!n!m!k!m!h!h!^!^!a!a!i!r!s!r!}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!!!!!!! !/!2!C!H!O!Z!d"k"m!"p)"u;"u?"zL"T"V"^"c"e"h"q"q"o"b"^"["X"V"Y"]"`"c"h"h"q"t"v"o"o"q"o"t"|t"xr"wr"rt"pt"rv"ky"m~"p|"w~"y"{"~"p"r"w"z"|"x"z"s"n"r"w"}""""""""""""w"p"n"k"h"i"k"m"k"m"r"r"z"z""""""""""""""""""""""""""""z"r"m"k"m"n"r"u"w"x"u"s"r"s"x""z"u"s"p"s"p"r"w""""""""""""    " "    ! $ ) ) + + 1 B ? @ B I Q V X X V T T ^ ^ Y [ b h g h o                                   & + 0 2 7 > ? < C H C D K k q u x x }                                                        ' ' ) . 3 4 4 8 ; > C E E @ ; ; B E > @ C B E E H H Q J| Hy Jv Jm Mh Mg Rg [e ^g ac ^c [^ Y] [] ^X ^Y aV `V \T \S cT aT `V aS eT fQ fQ jT kX kY mT mL kJ tL wO tN |N T X V T Q S S O L L I O Y X T N L I D B E D B @ D G O T V S O G G I                  ' ' &   " ' + . 1 5 5 8 ; ? ? : : + $   $ $ ) , 1 5 6 : : ; ; B G J N T V ]                  | t p m m h a ` a a ^ ^ [ [ V Q O T Q M C @ 9 "         & & 4 < D R f v {                    } x v q n n q s n %n /p 4n 9d @b Cb Oa R\ TZ WZ \Z hb wf zi n p v v u s u z                & ) ( - 2 5 8 3 7 7 : < A A ? =} Fk La NU KP LK QC Q9 Z4 U/ U( X& [ _ d l o q q x                             9 > E J _ f i r x |                                               ' , 1 / 1 3 4 3 9 ; = C H L W o w w y | u u w | z z | ~                                                     ! & ( * * + ( & ( / 0 5 < : 5 2 + 9 7 9 < F M R U W a i k q s q l l g i p } } { g b ] [ ] [ X V V X S O O N I L N J I G E D B @ = : ; ? ; 8 5 0 5 6 : ? @ @ B B ? = 6 3 + + ) + !                                             " " '              % * ( &      ! # !  # # & & ! # % & ( %# # % * + 2 7 5 0 - % %                                                          ! ! # # % & ( * * - - 0 0 2 0 2 2 7 4 7 9 < < 9 : 9 7 5 7 9 : > > < > A A D H H K K I I K K M K M N H H C C D C > A ? > > < ? < > C C > 2 &  !                                   e e c ^ W W Y Y [ W W T W R O Q O L H G G G B G H Q R Q L M H J H H| By >{ 9v 3t *m $j g g e h j l j j h j m q m l m l q m o m o m t t t o m h }e {c u` q` l] d] Z[ X` R^ P^ I[ I^ F` >e :l 9{ :| 7{ 5v 4{ /w /v +{ * * & &{ &y %y !~   | ~                   "=BGJ``ejjmmoopyz  )05B!S2X:]Gd]gxeiiot{~   "%(-47PY_/d/r9>FFJMPT\a\ZWYTTK@@A4/*#      $ & . 1 0 3 1 1 5 5 8 ; = = = = : : = @ D D G J L O vY U` Lm :w 3 0 #&(+.7?DB=AGLX[[elvyy}&57:<<?<>"<'>,?7?<DMIUPpUknquz}zxuvxxzxzv{{$$&,166IX^{ 00//5 ? C CFPXfi'f/g3b9b>_HdJfQf[nh}pruw~hJ4/'%"  xkd\PNH22/(  y u r p m k [ W T J H B 4 %       } s f $] +H 5? ;7 =0 E0 N/ Q* S! Q L S S Y [ g j m t t w |                         { { y y | | ~ y { q q t v r r q h h g c ` [ T T N J E : 1 0 1 3 5 1 . & &       # % % & ( & (&&*/2459740-995>:DCDFHKFDC??>A?><>?><799?|C}DF}HxDrFnDhHiKhKfMdKcM^MYKTDJKFMCK>N;S7U2U,Z,_(a*]'_"d%f"i i fgkknlps x ux ~ x sg__[SNIDA"B$A)=):,7/0/&4$3#86998=;@@ E EHGHORRVY\^afjmruwyytojf y { g V x L p = ^  } | w w r n h h h d _ \ W R K H F > > ; 4 / , * ' %                ) , 0 3 5=@EEJL"Q&V$]$^$glmh ^ [ X Y X T V T X V Y X X V Q Q V S L J N L J J E I X X Y ] ` b ` ^ ] Qr Ok Ic ?Y =U 8P 0P .H ,F ,H &E &C 'C ,A 0< +6 )7 '4 "* ( "% "                 ! & ) , 3 ; D G Gy Jq Lj Oe Q_ XQ ]B ^B `? e! e h e ^ Y T N L I D = ; ; 8 1 . , , + ) $ ' + + . , ) + ) ' + ) ) $ & " !     !   ! ! ! " " $ $ ' '~ )~ +| +y 'w 0k 1e 3c 5a 6^ :a =` @^ @a Ea I\ GY EY GV GY JV NW N\ Q\ O^ N\ O` S\ TY XV VR [M VH VJ TG OE QJ SH QJ NG LG JC NB OE QB Q> S@ V8 T3 X/ V. Y, ]. b. `, b* c' b% b$ ^$ ` b" b c e h g g e c c ^ b ^ ` b b e c ` [ [ X Y X T T L J J I I I L L O Q O S T S S T V X X V X [ ] [ ` ` [ ] [ [ [ Y [ Y [ Y [ [ X X V Q T Q S T T V V Y [ ] ` ^ ^ b b ` ` ^ ` b b c e g j j l l m m m j l m o q r t r t v v w w v w w r t r t q t r w v v t v v t q o q o q v w | ~          |                                                          z u v u q g d b a _ ] \ X S R R N P N N K H D ? ? D D F D D F H H M N N P U X U Z \ S P N P M K M R X ] a a g g d d b f i l n k n q u x             z {  { } { x x s u p s p !q #{ !{ #} ! # # * + ( * - / - / 2 4 5 4 5 4} 5} 7x :x >z ?x C Mz Mu Pq Up Wf Zg \i Xg Xk Zk \n ]n dx gx g k l s u u s{ uv sk pU lM lC kA k? i5 l/ u2 {7 9 5 7 7 5 7 < A D I M P R \ a d l p n u                                       $ 3 4 > G M [ \ c \ T Q J E > @ M R ^ c o z             ~ z w u m p p k c ^ V V Y [ ^ [ e j r               ) 3 = A F D F "D $D $K 'N *Z /g 1i 6t ; = @ L L O M Q R V V W W [ [ \ a f j f2 fR ah ew ex c c f j r p k j j k j j ` Y T T Q L H E C G M HCM HJH@963''$1 3;@E'N)N)Q'g vwwy      */4>A K M Xfnv}   )$)*./1/68 .39;@CuEhQWRLMEECB68hiimsu&x*u&rihiik#m-n0n5r5u7u?xDuWpXnUkUiWdWi]hbdZ\W^M\F_D\?W5W/P&KOKEC@ACA ><979<A<<66;(   |{{~c[SV]beb`^][]^qqc][VJJNVeyxsqsoosyvsolgigd`ZVVSQK#A/?93F(Z z OwUROO^dcfdfdfdc^fh                                                             % * / / 6# 7. 4= 6F @N CI HI CK AP EQ FV JX JZ EU ;P 9L 7L 4U 7V 9[ 6n 7s 9v Ax Hs Kt M{ T} Uv \y Zt \q _o ds hn mn nl re ue ug rg no iq fv ^s \~ Wy U{ U T M~ Jy Ey 7 6 1 4 / 1 7 4 2 - * ( ' , ,s /i /V 2P /Q '_ #` (b *d (j %y % "   ~ o i l v t { }                               % # % # % " ' 1 1 ( ( "                              "   ~ v o n l j j d ` ` [# V, VA [T `Z b_ gc gi on xu {} }        ~ ~               &+5=8;B@BLOOLED@83..                  ' * % #            % ( 2 6 9;9;$7'4'6+4+6,@6CDCJENEYA`<`7]9[7]EgHgPy          ~e y[ tT {R {W ~` c ^ ^ [ Y W ` W R G G H G O ~L }O {G x@ t> tB s> q> qE tL xJ tT oO tR tQ sO sL l> o@ o= l= j> i9 g= _; d@ iE jJ nM `C Z; Q4 S4 Q1 P/ G/ A3 ?/ .3 * * ) , '                                                 t o h f \ \ V O M G E > = 9 . '/ '4 C T Y ^ ^ W [ Y W R R M B ; , , * * ) % % ) ) ' "                  l l f f b X W R K M > : 9 9 A C > ? > H S d l p v { x u l b \ U H 4 / - + - + * / - * ( (                          ~  j ^ Q E B @ I L X V O N N S ] ` ` ` c g r r w |   ~ | v v q e Y Q J E B B I V ^ ^ ` ^ b b ^ ` ] ^ Y X Y V Q N I = 1 $   ! $ . ? B G D 8 ) ! "     vqn k \ N K I I H F D F K I F I M K N R U Z \_a\ZXWNKMNNMHFA?<?? <775450/002400--+*-&&#%##            "   ! + 1 3 6 8 5 8 8 ; @ B I L Y g g e b ^ c b b e b g e h h h g g c [ [ X V O N L J J I I G @ ; = : : 5 3 8 5 + $ ' &             !  " & " ! & $ ) 0 0 &                            ||{|vrrog e b ` ^ ] [ Y Y YTT SOJ I E B ? ; ; D DJOQSTQSX```^]YXTTQSQNLNLE=;86=@@DGEJLLOQSVVXbhjhlmtvvrgb`X`^bzhxo|owqxoutu{nmnwzuma\UTTRTRJ@>AEHPRTPYY\\^cipw|}           |umh_cdddc_^YY URWURROOKHFHEFCA<@>>>A@><<>@>><> > 7 6722,('(%%"% #%&(-/ 4754"5%9'5(4'4*7,5/72545726/<4>2C/E/F2E4A9A:EA<?<>7<;<2>4?2?/A-?-C/C*?'?*A#?#?%C'C"D%H"DD >>9"7#:77:>CH NRXXX\bdgilnppnpppqquuz}}""%*,,,/169;>=>B@@CEJOQV[Y^`c{fyf{mypsrtuqulyl~b`VUPLFB?ANLF<<72.   uhok`RMLQQLJ;;>>9;89 8 = 6 ;9;94*" ) 37:=?BGKLLIILLNILLQKKIKLL PUdjx}{}{{zzvxuxqplp}p}nniidgiddbXXSSPR]PNPNPNPIKFFNPPM_]Z\]da__]SKIHK<:?<-*&#!  # xql_XSF.-2 C HMRSilz~yrpjhc``^a` `/cB`O\RRRHCC9B686/>uz    !3<<8320.-)#    ~|upruu}wzzqnlgd\WPFA><72424542(|uwyypaQLG''. 88//1 > J M#R+V4V5V7O>JIG_Cp9s3,*)*}}vp nd\PMNM 7"2%"* .,31BHM[acfkku~rtqhg`^[VTV]^[XTLJE61563+" &253:875335:==AFGGIINSQNPUVZ|[mPRLKIMFJBJ=;:7570/+1&'!  }}sjigji`dd[ZQQLQNKGAFBA:820.)&#    ~|ryrj`TG;896699434316611,.441146;B@CELOJB@=~;w;pCjCeG\BY9T4M)LC1${ v q ibXHNMPZWMC>FI>:% }snbNMH5/- *((%!    ymjgc[Jr@oBm=j8e6Y+Y&Y"`cb bYVVXV[][V[Y[Yu[hYdXYXFN>I4B/@%DB? :3.+!!"",05=EGE@DDDINOY}[}`gjjjmljb`bmywlNLSKGK<7:#rvttry{{~||ytw|      |ueh J#L(J5QDQSY\YaRb[gcdefhiesou|%%,89;GJLHJLOTW`e\etutuyy~|yyuyzwwtrormojheca`c`ccffjkmrhfjuz~  &))AA??BBI`glvyy~    ';>@EJMPYhmnssw&)+;B@LO`j&vKbgsqssx}tos ~~yo m"j"]%]%X(Q,N*N(L4J4G7E>@>;E8K+R+T.U0W3\5_:f3i!m'w'z6w=x?wBw@uBrLrSsLxD|6|'x&sxxw xzx z }|      urrmphcada_^^^a^WKKMME;71'*9KRTTPKE><997922667;9>RW^YYWTPUPJHHCER4#"#"#%"*644;7;>FFORRY\Z^fikk ruxzz}           !"$&)+).3;:?;:=858:??GGEGO]bjrytjh cc`bec&e&j'g&c$b'`,b.^1`1c3`:^:e;^:^:]@YDVEXGVETJOJJQJVGYD^IcGeEh=m?jDlGhJgXgYe`ghjmjbb^^~[~LGGEGILLLIE@?@BEINOQ*T2Q#STSSXhlo#{?{Nak{ 6RQapu   |wpja!W(e((%#! !&*(&**-*+/2~/t0p4p5t7:>A??DHNNPg}!.Vqxtck_cfad\rVuTrTzJEE@w@_=_;f;^9\4_3d6i4z83|1u*r$w''$ xsxz      zp ic \ ZPPYRRPWFC@977@>74/*''11/,,%#rcwd~_dYWYROMPR\Yadac^ZK>@;7;9>@4(2/42>H>7--/,*-,/99@<2297 2 -,-#2$747>>AJTWZ\ckikfddk#r$z&|(u.|.0.(!$$!#+-057:BDB?<?BGGIIINIIGGIBIPNGFB|FwBuDpAr=k=d8^5^.P+R&P&T$T#K#P!T#ZZWTP$A+>-;+9(;&9+729=ENZLkNsSQS[q}~'~xsoiZQB BBLLIKIBA2& $&&$$!  5; GBB0.,'+&!   |zppokmmprtutpojB?63"8"@,V;S=X>Y=Q>E658,=&C BB98=@CGHEHLO[[^^ehecehjokkhkui f fp_b"d'Z)\%S$D F"A'>':)<)4*7,2/0/*3&1#3%4 9=@C@ =;>==@=B=>;9643116@=>>@BBCBB E EEH61*)'"$*''""{|ymjee`^QB       x"l)f)a'_"fbdklinpv}}zzvuunq n g fn x {  G@>;q;`>PBKCDEAOAW<W:W7^8a0f3^NTZW[^Nk)kea[TOwJmJpGoGkHk=\>`;a8Y8W;[4M6T4V3V3Q3G4M3E11,'< 6 4 9 9 <z Ci AZ CS FA F2 J- K& F% K F E F K O M F E E O E A @ A < A A > @ > C E @ < 9 9 > ; ; 9 7 ; 7 ; ; 7 6~ 4y 4q 1v /v 4h 2c /b *j 'h (c 'V (O 'D #G #E %= "5 "+ + 0 0 . ' ' $ ) 3 5 : 5 : ; 6 ' & , 1 + ' 8 G J T J J L J @ 8 1 0 3 . 0 . 3 5 ; @ ? D E O Q T ] l o y        | ~   y e [ Pv Kc F^ AJ A@ B6 G. I N U [ i nv~}|`^X^K^BY<O39$92;<;7 964 41227;9;<CMMFMOPOOFwMr<r;r2r'uu y#*2299><AA<>9-"wwywwoe`^[OG              * 3 9 9 1 4 / * ' , . 1 3 8 4 % "  * , > B C Q V e ~   } x r n m k d c c i ph n^ mY iW iR fW _R ^H ZC \> Z9 Z6 ^3 _* c% a" ^ R O P W \ Y R H C < q r w y w                            } } { z z v s p l _ _ _ b b a Z Z S R R S S X X Z \ W U S R N P P M M H D ? 4 4| 0{ 0v -v +j (h &` !^ X [ T Q J D D = : 5 : : . + & " " ! & "     zwuskffkfhmmxpfd__c^YMKHEA>AE|A{<t;v>t@tErJoAlCj@e@eC`AbH`FYJ]J`O]MYP[UOTSWOWLZJZIUBTDP6K6P3P1T1Z.^,\$dcnihi| f afhmn^hmaikkfhdimffaac_cadZY\\R^ZWY_TWTYY^Zc^_WYc^^afnhnmnuw}  |z}| ws u s p m h k i k i r r h d a\^ _ c i p) w. w1 s3 r, k' m6 k: m= mJ kL pT p[ s` p` rh sj rr uq sy u| w| w w p r p u n n w w z x | }  } z } }      } }                                          # ( ( - - 0 4 ( -  % 7 : C ? A I K N N R S X U W a a X Z a b i n s s x z                                     wl^ X ^V``cc`b^^bbeehechee`bglwoorvvyyrtyt|~xvvtsjjgigoqolljeed`][[ZZVVQPLKF<853+($#!!!             %2:HNUilq  ),..*1;@E JRVV![#f+c-j-m-p0o.k0h7m<k?oBkFkFoImItKuIuIzKwLyPwPtUo[o[r`obpdyeueyjwjlnnqqss{}t}w~tutw~yzyzymjoppyzztrtw|~~~jrytkha\R[Y      !!($&23.0- ."(#( 2'$'#((,$-(-+,)*+*<,I/G1?1F78734:45-7-3/31+1#,-,-("''%#%%'(("',(%%',,/119<;;4222;9|;m7R9H>B;R<W<V>W>[;\9`<a<c@f>j>p@p@mAuCwHrJwF~A@FFCAFHCC;;>;<@CJMJEAC@<><99<AFMRUUTRMEOPUWW\ZWUTOMJMRMJFEA>61-/-14 2 479796642(4)6$7$9!9&;#;0A7FKJLKIJNKQMQMNOPOSPST_WdUeTjToUtYsZiYQZQ\_aei`^qdsdodnhlheibwZ|ZzUzSpXuS|Q|LG}B|BwB?<2035-(7?D383(##   $&&)+,.3368;=?@OOLLOSTTXYX``chjmeccgjhlmovtotv {y#$!!$$-7708:=5.35==B?)+.3.38:?=AGIIASNZSVXbbQS[__`dgiossxqqvyx{y"** 1 /;>AH MO U%T!W%a*h-p0n/n-d4d4Z5W4\7a4f5k5f:d7a<Y9Y:T<R?KAMD@H>IACPDPDTKKKRMRNJN>S7U;R@SFUEWJXH\M_MaZbYf^fficknlipmqksr\OUT^d{m}wznniadcpknwz|         ! " ' & , . 8 : @ E I S Y ^ e c q B A B D F F B 8 7 7 8 : G G G K L K D A ? 8 : = 8 : = A ? = = = 5 : : < A B G P N P I Iy N U Zu Xa [f [a ]a `= `; bE b. i; i, j6 eV ec _ _ ` b e g j l o s s t# y }!                              | u p r y u ~ r | p m [ ^ J B ; 1 ' % . "   ' " $      t i ` _ ` g }                                       '                                                            } x s i g ~i }b {_ }Z \ a a d i _ K g l s k k q n _ M 9 5 / ( { x v t l j ` ` ` d e d g d _ _ b n v y x { }  ~               !                                        { y         | { { j y  y ^ N I }0 x+ x1 v1 v: t' q o q' o1 n j j& i e$ b! ` [ Z1 V+ Q U X Q S U V [ Z [gb[`dlnnoqliedgeilottovtxxqnljglsrxmvhnfoas^qRlHlMiTidg_bc`kbr]}_```d_][Z[ZQSUVVQKIGGD==?AGLLxPnSpVkZ^ZTXMQHNUNJIKFEFAKFK;G9F4D9B6F/G1I*S<P,KG#D AA:3.)$%).$ #!)-.07LUPILQPBAAGA82..20.#&37DDAB?~=v8t2g-g)n+t-(+~(l!ltx       }xnl&]+])U+F(7!5AGgld`UKN LG? <::2-!-$$!   ytoruoW\Ypzytje`^VROJ[`eQQjmozjoohhe`Y^^cpyuoheroumhaajomh[T\Ym~k|tVTCJGJECE=;381'%%"%,3613EE=;43)~~|zzwzzwwutrrmkotu|~ zyz"yu*o/wur ropoptppojhjkjc fhfa``c$e6c4a"\[YWRMJ"GHJOT[ \[V[\\`[[\^ccaacec^[[YWWVQVVTRMCEHCBBCEGGGJLGECCBB@C@B"=%@ @>; 634==>>B@;84;@B@>>=98;;68=;41/..131.*)'),11}1{.z*}%q$s$p'l*u,s*l)g)a%b%N$I"I"RSZZadqvfRFK_MKRUnZ Z MD0+ 2 DI A & %*<+(/>I]MARWC5/2/:+*%#%%!(549A<I5*&2ANRMR\_dpu{xvibadWRXbgg_RKIKNFNNK4  &{}}}{z{zvuqqx  }xvsqppllkibggiggikfa_a]_]|Z\X\yXjUeXZWSgRePwMoIeKrR{RSW__aa]_]]XSUSRPMNMMKIKIFtFvCt?v9:<<>>:<:557742y/y//+y-v*q(r&o c+m-g-b+`-]0^4V4S9S<I:D7I2I2D0I0D/B0@2:/;/.-)+.+6(6%=&5(1*+-&+!('++((!%$#)!$%#!#           &'DILTOD8!.8X`b j oceovy~~wg`VVYgovye[I=0+@DB=DD856D;8,! xxrihdaamPZ\}_YY__UE>7@@<6167@O@EZTcaMJP^fZOKUUHA>A--( -2412@CW{YyWPJ>1(  ||'%~/ {yvrrwvqqrq ojootwtqmvvyyvqtytvqvtvyrqlsmmlljlhhgoeoeyb~chghee]]XTTOTQSSJDBEDBD@@BEJT[be`[``]~XGEBGQS]xVZQSNXL_LXOQLPB`@s?{={@g?]B]EU?Q:I=IBPGQJPLKI7E8@?D7I3J$JD?0?.?)8#=!DINNJJGEBB::3 5 3550.10!00070U,=)B,N+['d)t&+.,+'++&$&{'s'_!j!i!b$]'U!SN!Q)Q'8&3':)?,70.+)'' &!!     !+3:AD72+)3!    $+7?BBP[[UXejjo{}y}vqssdGGBBA803-#!  $#)&   ))087?<?<<:53&   })2<=<7-.30:-.+}.57B:}=z:x<w?x?xDwAw8p:n?rApBsLIPXdeigjdqjjot~x|yyslng_zd|jq}q|tw[pSmVkUiAf=c=a5a:a<a:_:YGZPaQaUaS^UZQYSWVY]_lav^nW_USWQYNULTFP=OBOLMLMAHAH<K=M<O-K)F)C(>AA!E&J$R(U$OJHMFA@ >74/-/6**14*'(-.4.6+40-5(2*8-</I2K7B457<;:9=;D@BAD<L<g9V9L6L/Q2X4U7V4Z6_9gAnMvMx@qE~CC>o7j2[-X,Z-],b-g,j-l1l-o*o*`%d(q,y,,y's%iXZdNKQZ ] X U[ b g}d]eni`SQ IFF?< <+ ) . +32+)-)(!((-3<?SUZty""(#%,-166;9EHHKRRZ\_dhs|          " ' %#',/699 C@ CFORUUUR R OA@CH&K$PU_acd!c$f&d+f,d3_5U0_+a'UP"P&@);.7+<+;&6"4)1),,,0-1,6(3"1%5"668;= BBGGLOOSVTX[Y ]^`]bjq wi \_PM P NW]db(7:?j?:BADGGKIKIF=<7773-}+(# xpkf^Ycm_M1'476##~yql`L7|utmtujYOLG/,),"   9ELQClx}}pk]llssbUUbdU:&!&%ye;yu to)m)k.k$m!o"rppr trooppfhkmfe[WMC>8/*% "$aWT2*(-41")4=HO\ffhpruyy||;~@@91/',-D7! 0GBLZQ??F===FKD:8z=r7r?p?m<p8o3WMB@=&>3=A4K6V1N.X%`$d"_`UU ` iXUI<8A<BB25!  ~u`EE9'zif]PMKMKI9597>C<><:79sK5NRPMKKKHC?AFIMNNPMPWUUXafiqsxwveuclgfbbc\Q]J_D_;W?SISBKGHX2t&#&&%(+--&%#!rme]TL@=,, &,& ( ! # ! % & + - 4 4 7 7 : ? F H M N M K M P U a b g i i n p s u v { } }} } w w p f h n m z z                           k W Y R E > < " % "    ' %  , -  #                                        " % ' ' ) / 3 4 8 8 8x ;x ;q =t 9 = 9 9 4 4 1 *       #     # ' 1 7 ; < A J K M R W W P W Y \ h x | | m k w          6q+5U_q'",,%.)4%8*;%@)C$BCEV[ [ack tutz~|wwpa575&  %[L1+)          r r k P C 9 ; 2 , / ,                              !  !       # #  ! # $ & $ $ & $ $ #    & & ) - . - 0 - 3 5} 7 ? < 5 3 5 3 . 2 5 = ? D B B D I L L S Uy Px N~ B B A D In Ge Dd =` :l 8l :Q 8Q :I 8G 2: 8D <D ?7 D B z+p+w++++++p+f+c+f+\+R+F+@+1+ +**********+(+4+9+T+P+T+P+;+6+'+ +"+++++***************x*j*G*D*V*S*F*:*+***)))))|)y)~))h)xc)wQ)rG)m1)m )n )p")s')zG)J)W)Y)j)o)))))))))))))***-*3*:*7*`*[*b*i*}*************** *  ++++*+4+J+W+!a+$\+$h+,+,+++++0+1+5+6+=+@+D+J,S&,T.,h`,qg,rc,r[,tY,tl,c,~[,J,?,@,$,&,,,, ,,,,++++),1,',B,O,`,^,N,X,l,o,~,v,y,r,o,l,b,c,T,[,],X,O,[,V,[,Q,S,L,G,;,;,B,?,,$,@,=,B,:,.,",',&,,+,,,++,, ,, ,,+++++++++++s+f+c+i+f+R+T+A+7+4+%++***********]*N*L*+*&*0*$* *)))))))))))))))))))))))) ) ))))))))))))))))|)`)Q)G)9)1)1)R)M)\)!`) Y) @)')) )( ((((!(!(%(%(%(()+")-8)01)2B)5M)9M)9m)7z)9)<t)>h)C`)H^)IW)M[)ME)I*)M)N(S(Z(Z(W(X(Z(\(](](S}(R_(UW(SA(N2(K4(F(:':'<':'0'+'%'''''o'l'g't''''{'h'w''''''''''''v'y'e'Q'.'''&&&&&&&&&&&'&''&&&&&&&&&|&{&q&h'c'`$']"'^!'c'j'q&v&{&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&m&W&R&O&J&A&J&^&W&>&1&'&&,&7&6&&&&&%%% &%%%%%%%%%%%%%%%%y%n%g%U%d%t%%~%%%%%n%F%<%7%$%!%%%$$$%$$$$$$$$$$$$$$$~$~$u$$m$c$`$j$h$`$^$V$L$L$C$J$H$\$^$Q$p$t$o$~$$$$$$$$$w$"$$$###########l#g#-# #+#-##|#{#w #w"{"{"~"y"t"w"t"t"q"q"o"m"l"g"h"e"c"]~"Ym"Yg"V^"]"[!X!S!T"S"O""OI"NJ"L@"J@"I5"E8"E3"G'"I,"L'"J"G"G!"E""="0"0!3!3!.!,!,!)!$!&!&!)!+!.!.!0!.!5!3!5!:!8!:!:!5!0!0!.!+!'!'!$!&!$!!!!!!!!"" " ! !"!! ! !!! !!! !!!!!!!!!!!!!!! ! ! !!!!!!!!!!!"&"$""!! """'"."1"?";""""""!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!!n!c!d!J!>!4!6!*!! !   8  ttzpjfcYamwyp`Wayzkunia^YWUOCA; < 7$ -& ( : F K X ~           {   x }           y x x~ yn xg oq ly d `} _s `` eZ iG lK qI ~b l q l s q y { v l b ` _ ] U S L B B 8 A : 8 3 7   ! l+ t     2 ( &  + ! - N o j n }     j d Z   #'(#"#(2L9,E FEHFHFEFA@n6_2W6H6C1D,:(:'D,d,s*zZH?9%   (HA\_]kkxxnq{}slkX   ygchwv~r~~g bbhgw#v(/6;>@APUUW_~dvdmhtfyikrms`wTxLr1fGZSFX9V,G   }vg`ZSF?:+3[Vb |   *<SZ_\aadlqsnu]MFHCHNDCyCuItUu_zaydugtsrkpkrvp}momokrmookkjhjmmmkjhecefffccfa}cvescneicXeXjWz#~%+2&-*29&%2-4%#{+ &1:p1VJB831*% OM<FJEHC7'# ~N?03-.:BNLNSV`jg x    xty    "$%')'$%'$$) */3"48"9;-@,;1=7C4G#J#J-M2J;LHTM[H`WhWj^kumxpxptpt~h_WP TaYPZ_(^5R7Y8W?aIdNaVU]P`Yj^sJ{Udnmdms^d_ZC% "'47E@AT#Y,h4i<xHpPpTuWm\harcifhfss*prrs w |zzxzvx0x+|-}BD?)}p hcaaUPM@@7#ff4$ " ,6GMBJEG~@n4eCjEgJbHbMZEV>S.V)Z,]*[$X?-(%-$35*5,:*842O2^.k(z$$(++ zr|kM@;/8 i7s?:i?5f?5\?3Y?2\?.J?)H?(@?)6?&1?$(? ??????  ?????????>>>>>>>>> ??>>>> >>#>.>3>3>5>8>8>5>:>=><>:>Ds>=e>Dl>Ge>Gi>N`>Sg>Xs>[q>bx>bo>e`>dy>e{>l>o>t>>j>_>5>==B='=<<<<<<R<?<9<<<;;;;;;;;;;v;c;?;=;X;g;m;m;I;E;;;); ;:::::::::::::::::::::::::::::::::::x:_:>:4:":%:2:7: (:#: >: C:H:R:T:P:Y:m: s: |:::::,|:1i:6F:;:>:@9A9@y9(G9+9!9 9 9888888888 8 888888888888"8#8"8(8686898784828/8/9*9'9,919191!9/9-)9#9#999 9#399_9@e9> 9;87878281u81h86R8;J8;T8;W8>\8<h86t8;z8H8K8H8J8H8A8C8A(9C79AS9C]9H<9M9R8Y8\8_h8aM8a.8d8d7f7f7ik7mM7u77z6w6p6n6d7Z7Z7Y 7U7U6R6P6O6P6R6R6Jr6Jm6A]67T61^6-m6-o6/g62e61q6162w676764616-61616'6 66m66666 6666666666y6r6o6b6X6[6X6Q6D6066$6"6666665555555556 65555555555555555555555555555555555555555555x5r5h5^5W5Y5T5P595-554444444444444444444_4)443 33333333333~333w3y3a3B3.3$3 3"3333322222222222222222{2}2v2n2Z2U2R2Z2p2 2222 22"k2 f2 v2_2 A2>252+2"+22271719191C1C1H1H1H1F1<1'1 111111111 11"1-12r17r1C]1<Q1;D1A,1A1C1J1M0U0Z0_0_0h|0kZ0kO0h;0i/0n0r/w/x/|//////j/}G/&//....}.z /x/w/z.}.....z.H.@.;.=.C.=.;.H.R.\.a.t.|.k.W..---]->--,,,,y,T,Y,q,y,,,y,j,e,],Y,`,X,Y,xI,u3,i:,dG,_l,^,\,^b,dB,h8,s,,w1,xB,T,Q,X,T,V,?,:,1,@,L,O,L,1,",,,,,,++++z+33333333333 3 3333333 3'3%333%3)3.363638393@3=3@3C3C3B3B3E3E3H3L3Q3O3Q3[3T3V3R3R3W3^3^3`3c3e3e3p3r3m3o3o3r3u3w3y3t3w3y3~333333333333333333333333333333333333333333333333333333333333334 444$4(4)4-40484<4=4K4N4[4d4j4v4x4{444444444444 444444444444$4&4(4+4+4(4+4+4.40434<4A4B5G5K 5P5S5X5[5] 5]'5d25g45j75n65s95t;5vA5y>5{A5~E5}K5M5P5U5W5W5a5d5m5r5555555555555%5(5- 67 6A6H6O6T6_!6d&6n56z@6|I6J6Q6Q6]6`6b6h6t666666666666 666"6"6&6"6!6!6!6$6$6'6+6,6,6.636568686?6?6@6@6L6]6h6q6t6{6|666666666666666666666666666666 6 6 77 77767 7* 7/707/ 72 79&7?*7D07H>7K?7R27X97Z77aF7_I7_K7fI7f<7k57l07q+7s%7x!7!7*707074707/7(7/7&7777 7776677 77#7*7-7&7-7779797:7?7>7>777>727+7 7 777 7 777666666 66666 6$6*6,6.6/6668616*m6/L68166)6306/36,06)16+6"56666636,6 ,6.6&66666565 6 6 6!6 "6!6"6"6 66555555555555555555 555555555$5'5%5 5 5$5%5'5*5/565858565656585654535.5.5*5%555 555 5 5u5r5n5d5a5f5m5 m5'r5.k51r54k58r5;m5Bi5Cm5Br5Cs5Gr5Hs5Lr5Rx5Tr5Yr5Ym5Vf5Wa5\c5Y^5RU5T<5V65T*5Q 5Q5R5[4\4`4^4`4h4o4u445 555'5-525>5C5K5T5W5\5d5k5n5r5z55555555555555555555555 5 5 565556#6$6(6)6567"6B'6D36F:6I:6FB6KI6QG6SI6QS6SS6_]6bq6dt6d|6j6q6t6x666666666667*757R7Z7g7 v77#7/7172717-8-84*86686E82\84`84f82m81j818284~8482828282868682868786828684869/9-8'8"8"99 9 9(9 +9'(92(9979;=96K91Q9/_91l9,}9,9#9%9(9*9*9'9(9*9/9296929/9-9*9'9'9%:':#:%:( :%':#*:%/:,,:21:4,:2,:/':4':1:2:9:<:C%:A(:@#:<%:;*:;/:91:>@:;J:>J:AF:C<:F>:J7:K7:M>:PF:UU:UW:WT:YW:WY:Yr:R:M:M:J:J:H:F:C:E:C:@:<:@:>:<:;:9:9:;:<:>:C:E:F;E;E;H;H!;E$;C);>,;<8;7?;2?;/D;,?;*B;*S;'^;(h;*m;'q;#|; |; q;e;S;L;D;?;:;$;!;; ;; ;;;;;);5;h;l; l; t;;;;; ;;;;;;;;;;;;;";%;"; ;'<% <" <<<<+<7<C<F<K<H< I<"U< \<i<n<u<q< u<< <<"<%<(<1<4<><<<9}<<{<<s<Cg<Aa<CR<>R<7Z<6S<;N<>P<AN<@K<<K<9D<95<;2<@/<C5<M><FF<FM<T?<d?<fP<dS<aP<dX<hW<u]<x<<<<<<<<<<<<<<<<<<<<=*=3=/=3=/= 6= G=R=V=c=p=y=!y=$="===&=&="='=& >) >,>00>,A>)B>'=>!I>&N>&Q>L>L>Q>_>_>d>g>o>"x>&}>,>,>3>3>0>.>+>)>&>!>>>>> >>>>>>>}>{>{>t>x>>y>q>o>g>q>x>v>{>y>~>y>v>l>j>x>y>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?????"??%?/?4?;?Y>T>J>C>9>/>,>#>v>j>j>e>g>d>Z>Z>N>L>D>.>3>+>&>>==================u=e=[=R=J=G=;=E=M=yR=oR=P6=L8=G3=K1=N'=L%=F$=?=5=2=.<(<-<3=5=2<#<<<<<<<<<<<t<j<f<E< <<<< =====}== =l=I"=7"= = =$= $=)=/=3=6=6=;=;=1=6=>=B=O=c=j=m= w======#=%=+=+=/=4=9=<=F=I=S=W=\=]=\=b=f=g=k=k=n=q=s=v={=z={======================================>>>8>B>L>Z>d>i>n>j>i>y>}>>>}>}>x>}>}>x>y>t>q>l>n>l>n>q>y>}>}>v>s>x>n>s>o> q>v>~>$~>,>1>=>L>M>O>R>R>O>L>H?L?J?L"?J-?R6?YF?^H?eT?jR?kW?oW?rO?~E??C?E?F?F?J?^?a?f?d?n?m?m?n?r?s?u?u?u?s@r@s@s@n@p$@h@f@c@a"@h@m!@n.@p3@r5@u0@x0@w3@|=@xE@sL@iY@a^@^]@Zb@^l@_t@m@n@s@x@x{@wy@xt@}t@|y@}@@@}@x@z@}@@@@@@@@@@@@@@@@@@@A@@@@@@@@|@r@m@h@_@^@a@pA+A5A5A2AAA>ACAHANAZAZAXAaA]AiAkAlAqAzAAAAAAAAAAAAABBBBB B)B%BBB9B=B@BJBOBVB\BeBYBWBwaBspBrtBnrBhBmBBBBBBBBBBBBBBBBBBBBBBBBBBBB C CCCC!C+C+C0C.C2C7CD,AD36D64D3>D3FD1HD0ED1JD:mD=uDIwDBzDDD?zDIDODXD`DgDgDhDmEmElEjEmEq?Er5Er)Ev&E{E~E!E)E$E"E'E'E3E1E~8E?E=EEEQENEOELEEEDE|EEv?ErEErBEqlEoEhE[ETETEYEbEgEjEjFmFvFv%F{#F~(F(FF FFF FFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE-E(E+E*E#EEEEEEEvEgE+NE7IEAQEKTENEEH3EF"E?E<E9 E>EDDDD>D>D9D5D?DADHDMDRDSDWDZDNDKDKDIxDIaDCEDC9DC,DD#DD>DDEDMaDKkDMsDK|DMDNDNDSDWDZD_D\D\DUDPDRDWDW EUEUEPEN$EM'EN6ER@ESBEU:EX=E\:Eb+Ed$Eg!EiEgEdEdDdDgDgDiDiDlDlDfDlEf5E]=E\OEUTESJERNERVENTEN[EKcEHbEFrEFECEDEDEAEAEFECE?E>E:E<ENEPFRFRFRF]0Ff?CFFCD?A<52*!!*497:DIHCD?ASdƺպ.6GGLHuVkRfH_R\eXkUoUzSzRpNtN|NNWURNCۻCA?7*#(#2(=/G2I>B:F:K7I4P-L-Q%B AZl o!v*v-x/t/e2j2q4s4}2~/**&(*+279:<?>x:q:j>qCyDvCgCdHoHyIyMNUoN[NXRbUdWgXqUWXZ\\\lünülqqxzz{}{}{}{ļɼͼ׼ɼ #/2-'   ,>@T^cc_daZwzxkaWa_n^O@*    %''ؼ*ռ'˼).,.1g1e/g)%$%"%i'd,`*V'V$P$X V]VGG K$G$K'I)I,N,V.Z/N3N1U1_4A/=/8174:689(6!464ʻ3ǻ1ʻ4޻3ݻ1ϻ/ӻ1.,**%"   !   ݻٻֻ޻ֻԻػ޻ػǻ  "%%*6HLHJRRTVV\YQOO~Y^`^acmmop|J1պ˺úź˺RU}{qp}u_RM/-?HݹڹǹPF7F/F-F&F%F?FKF FFEEEEEEEEEEE#E$E#E#EE#E&~E)mE)eE+`E+hE0QE3'E7 E?DBDDDLDLDNDLDIDIzDIkDKkDLDIaDK%DLDLCICLCGCKCLCSCQCNCLCNCPCKCICFCBCBCBCFCICKCNCVyCUbCV?CX)C_BbBeBdBbB_BQBLBDBBB?B=B7wB2tB0yB.B0B0B)B#B!BBB BBBBBBBBBBBBBBBBBBBBRB>B1B/B)BBBA A AAA+A5A<A<ABA?}A-MA$/A&A(A(A(@-@.@.[@0E@36@<@?@A@:?8?<?5?5?8?7s?%2%2#2 2#2* 2/241519191:1H1H1K1I1P1M1M1R1U1Z1]1]1_1a1_1a1d1b1f1g1f1a1\1Z1Z1n1x1{1}111111111111122 22222 2!2&242<2A2D2?2A2X2b2n2u2z2222222222222 2)2/242;2E2G2O2Q2T2[2^2\2c2e2f2h2h2m2m2o2o2p2r2y2~2z2z22222223333~1|1~1|11{1{1y1t1m1o1r1v1y1y1{1w1w1{111~1111111111~1{1|11{1{1~1|1~1111111|1{1y1w1y1w1y1~1y1w1v1v1t1t1l1m1r1r1r1q1l1g1e1b1c1b1`1[1]1`1c1j1l1h1m1q1q1m1q1r~1q|1oy1lw1qv1vq1yl1yj1wm1tm1rq1qr1qm1tj1th1oo1jr1ol1jj1ch1je1mh1oe1oc1re1tc1t^1r`1t]1rY1q^1q]1q[1o[1lb1jb1g^1e`1c]1eY1cY1^[1`X1^T1`T1cX1eV1hX1qV1oT1gT1gO1jO1hL1hJ1eN1bL1`O1`L1]L1^J1`I1]D1VE1XG1[G1[L1YJ1YL1VN1VI1SI1TO1XS1TT1TS1OV1JV1N[1NY1QY1VV1VY1Y[1V^1O^1Qb1Vc1Xc1Xe1[g1Xj1Th1Sl1Qj1Ol1Lm1Jg1Ig1Eg1El1Bh1=h1;l1?q1?v1:j18l18j15l15q13r10l1.m1.r1&m1$o1$r1!t1l1j1l1t1v1y1w1|1111111 w1 v1v1y11111~1 1 1 1 ~1 |1 {1 y1 g1 g1 j1 {1 |1 y1 v1 m1 j1 b1 e1 b1 ^1 ^1 [1 ^1 X1 X1 ]1 ]1 ^1 ]1 b1 g1 c1 `1 `1 ]1 Y1 [1 [1 X1 T1 Q1 T1 S1 V1 X1 V1 ]1 ^1 Y1 [1 V1 X1 X1 [1 ]1 ]1 `1 c1 `1 `1 b1 `1 b1 ]1 ^1 h1 j1 l1 o1 m1 r1 r1 q1 r1 {1 w1 w1 o1 m1 m1 h1 e1 `1 ]1 ^1 b1 j1 r1 v1 m1 m1 l1 e1 e1 `1 ^1 b1 c1 h1 e1 ^1 ]1 [1 [1 V1 S1 T1 X1 X1 V1 T1 X1 [1 ]1 ^1} `1 b1} e1 g1 m1 m1} l1z m1z h1x g1w h1s h1r l1n h1k h1i l1d l1f q1f t1p w1r |1s |1s 1u ~1x 1| 1| 1 1 1 1u 1r 1u 1u 1z 1} 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1} 1| 1| 1} 1} 1| 1x 1s 1s 1w 1w 1} 1} 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 !2 #2 2 2 *2 (2 *2 -2 /2 -2 -2 +2 -2 *2 02 22 02 &2 &2 02 /2 22 :2 <2 A2 92 <2 >2 >2 ?2 A2 C2 D2 F2 F2 P2 P2 X2 Z2 \2 ]2 b2 a2 d2 d2 g2 g2 k2 p2 q2 p2 s2 v2 {2 2 2 2 2 2 2 2 2 2 2 2 222222222$20282B2N2S2T2X2]2g2o2v2{2222v2q2q2k2k2U2I2?272%20000000000000000z0x0{0{000000000}0}00{0{0x0x0s0u0v0v0u0u0p0v1s1q0l0i0g0g0d0d0b1a0a0_0\0Z1S0R0R0N0M0K0H0D0C0<0:0504000(0&0&0!0(0&0#0 000!00!00 0!0#0&1 1 11111 11110000000000000000 0 0000000000000000000000000000000000000000000000000000100011111 1111000010000011 1 1111111111111111111 1111$1$1'101616151315161:1=1=1B1B1E1G1I1G1N1Q1^1`1c1r1y1{1~1.../ //////////#/$/0/3/=/B/G/D/=/=/A/A/D/L/L/P/V/]/_/`/g/j/o/q/t/x/{//////////////////////////////////{/s/t/q/v/{/}y/zy/}s/{s/xn/xd/q[/pZ/p`/nb/pg/po/bt/ay/a/b/d/b/d/f/d/a/a/]/Z/W/U/S/R/N~/M/N/H/D/>q/>n/Ai/<d/:g/9e/9`/5[/7V/7Q/4N/2L/2S/-P/+P/&Q/%P/!Q/ V/%[/&Z/([/&b/(d/*g/(t//~///2/4/5~/7/:/</>/</>/?/>/9/7/7/:/?/?/</A/?/C/C/F/K/M/P/W/\/\/_/f/f/i/l/k/l/q/p/s/s/z/z0z0z 0{ 0 000000}0"0"0'0%0"0 0"0'0#0%0(0,02040604060;0<0C0E0H0H0M0M0R0f0i0k0n0x0}00000000.----(-7-:-:->-C-F-H-K.P .R.N).H/.C1.C6.?8.HJ.MM.NT.N[.N\.K^.Kc.Nk.Ro.No.Np.Mp.Ny.Hp.It.S.W.Z.].d.f.i.u.q.u.s.u.x.v......... . . . . . . . . . . . . . . . . . . . . . .... .. . ... ......".$.&.&.$.&.$.!.".$.&.+.+.&/&/!/././ //////$/&$/0/1#/0&/0(/5$/:&/?-/?./=3/:5/65/57/::/=:/=?/B=/EA/E /K /P /W /_ .h .m .u .w .| .} . . . . . . . . . . . . . . . . . . .: -; -= -@ -= -: -; -? -D -G -J -J -G -G -L -I -S -V -X -Y -[ -X -V -T -N -D -J -Q -X -[ -^ -c -c -e -c -c -g -e .c .b -b .b .[ -V -X .[ .b .c .j .o .r .t .t .o .y .y $. . . . . . . . . . . . . . . . . . . . . . . . . . . . ". $. ). ,. *. .. *. *. .. /. 1. 4. 4. ;. >. B. B. @. B. C. C. R. O. O. V. Y. [. W. W. Y. [. \. `. e. `. ^. W. V. Q. Y. [. W. [. \. \. ^. a. ^. ^. e. h. j. o. r. z. y. u. r. t. y. z. ~. |. z. |. |. z. w. p. m. o. u. w. y. w. r. t. o. p. z. . . z. z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .( .* .- .+ .& .% .! .% .( .0 .0 .7 .4 .2 .- .- .& .* .4 .5 .9 .> .A .A .D .D .D .F .I .H .M .K .M .P .R .P .M .M .H .H .I .I .K .P .U .S .S .W .W .Z .U .S .P .R .S .U .X .Z .\ .\ ._ ._ ._ .a .b .f .d .a .f .i .i .l .n .n .u .u .v .x .v .s .s .n .p .u .z .x .q .q .u .v .z .{ .} .{ .z .x .v .u .l .p .l .i .i .i .n .s .x .v .v .u .q .p .p .n .i .d .a .a .] .\ .\ ._ .f .d .f .g .f .g .i .i .n .p .q .q .s .v .z .z . . . . . . . . . . . . . . . . . . . . . . . / / / / / / / / / / / . . . . . . . . . . . . . . / . / . . / / / /k.*i7*k7*m7*k8*m<*m=*n=*mA*pD*sD*sF*sG*rF*nK*fD*kL*nP*nL*rP*rN*sP*wN*xP*zP*|Q*zQ*xS*wX*xZ*uZ*w_*rZ*r]*n[*nZ*pZ*pV*kX*m_*m]*m_*p`*r`*pb*p`*n`*rd*re*sd*sg*wg*wi*xi*zg*wd*xd*|e*zd*wb*xb*z`*|b*}_*}b*b*b*b*_*`*]*]*]*_*`*]*_*`*`*d*d*e*g*i*i*g*j*l*o*i*i*j*l*}l*o*n*o*o*q*q*t*s*o*}t*}q*zt*}v*}y*xv*wx*wy*x{*u{*wy*ux*sy*py*ry*s~*r*s*s*w*x*|*|~*}~*}**z*****~**********}*|*x*w*r*p*r*u*r*p*r*p*p*n*p*i*h*d*d*_*\*\*_*^*^*a*d*_*_*c*a*a*f*c*d*h*k*n*s*u*u*x*x*z**}*z*w*s*u*r*m*m*p*r*h*f*c*d*d*f*m*n*i*k*c*c*f*c*d*c*a*^*\*Y*Y*W*W*U*W*W*J*F*E*E*F*E*A*7*7*2*/*/*,*'*"* *#* *"*%*'*#*"* *********** ** **********************++ + ++++++ +,+-+ (+ '+ #+ "+ ++++++++++++"+"+++ + +#+%+#+%+'+' +-+1 +2+2 +6 +; +< +; +9 +6+;+@+E +K"+P+R+T+U+T+U+U +_+a+^+Z +Z"+\#+R"+T%+U%+U'+U(+R%+R(+O'+P'+P#+O"+M#+F#+J(+J-+J2+M2+K7+M7+T6+Y6+^>+^C+_E+\C+W7+T7+W;+T9+M9+W>+\H+ZO+\T+^U+_\+c_+cc+da+c^+a\+aZ+a\+d^+hZ+h^+i_+hc+dd+fh+dh+cd+cf+ck+fr+fm+hk+ip+hr+fz+ax+_u+_w+h+i+i+m+p+k+k+h+h+i+h+i+k+n+k+h+r+r+s+u+|++++}++|+|+z+x+w+x+|+++++++++++++++}+|+z+|+++++++++++++,,, , ,,,,,,,",&,$,",.,1,0,6,8,8,:,=,=,@,B,J,I,D,B,=,;,5,5,;,?,G,I,O,S,X,Y,[,[,^,],`,^,`,Y,],],X,S,J,O,Q,V,O,I,?,:,B,G,N,T,V, S, N, L, L, S, X, [, ^, `, c, j, v, w, l, e, Y, Y,X,[,^,^,^,b,`,`,`,c,b,`,`,b,`,b,b,e,g,e,h,l,o,v,|,{,,,,,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-- - --- --------%-%-#-(-#-#-!- -!-&-(-%----------- -#-#-!-#-&-/-0-5-/-4-<->-:-:-<-A-I-K-K-R-U-W-S-Z-X-X-]-b-k-f-d-i-k-l-l-n-s-}---- - - - - - - - - - - - - - - - - - - - - - - - -! -& -! - -! - -& -) -+ -0 -3 -6 -8 -? -= -: -: -: -= -= -: -= -= -; -3 -5 -8 -: -|whVG@=4'$ "$)""%.1@COT^fk c h k j p o peu z ~ z|zzzo###&%#&%%((&!|m ^#h%j%t&u(e2j5t5~7z<<::99<>>AAAA?AA::y9w7m4h5e9e/`-W2R0O4R7R7M9O7G9E>EC=?CAGCEDGIVC@D>HEKHM=R>P=P9P3N.M/M'M$N)P$PM PPSRNPRRNKIIIKWXX\\X\__aa]\_bfd_\aaddb fggl i"ff$d%a.d*f*i3kEiLgYg\gmg|i~kwsxxzsunapOu@s9s1u/v;v1{6{>>CGWjomp~zukmohec`^\TJBBT^OEJC>@966131.,*)'$ $   qkqz{  $%/'48;;>9=@E>89B8/,$,.11@C6/966,"%*$   $,19>;BEMOTQRQ\^`kpjou~uv $&)-=INU[]_biejng`djgn} %#*112299AAEMMY_cffxrux|")0?Q$+)"+0:@EGJLG860:636ee`meSOjvozzxxsqqppnuuqkggdbbglggqftfa_]\]\ZWRSPNIHDoFgN^PTN[KYIbDgCmAjCbCX?Y?`<^:N9O7V<e<g5Y(Q&=*O+G+@(@ .#.)00'"  !#&(&#!!    xrurpphfcc__c__Y\OKHH@%%# "    {nKLG=G+()   ++:BGGQ]bqx~zyrojjfkmmkhc`^WTW\\\WQLHB>=;9;@EJLQQMLJHB;>;84/11.)"      zsu~s}p}nqkibbdbyd{dxanfbdXi[gXgUfUdVaU_P\K]K_NbNfLiGlDfGbFbI]D]:a=a:a8_:_3]2]Z X ZXWUS P NKKKMHHDC?><<>ADCDCC>:942020-(++%%&&##!%|#u%o!p k!jjfaa^^YVR#T%O!O H!EEB@= ;46//**)!3#;*E*B#,#'%.(10M0O4O4L5H7E5E0@- *((( & * +-//04459"5$9'9.:*?3A;CBA4>,>)<%>$5 7 9:>A?:AADFFIKMNUXWU]"\%]/_$_Z]Z]]\\Z\ZZZ\_abdabggklgilnnkgg%i*g*i3k1k$n$n'p)v)xz}/6=;889=MQ`uw|yymc`[aTGEBC66$*9@JLQQYWMQamtp~u|yjLEECB>=@>BC@@;9>83/'"$"..*,%$%"      $ ".@E>@> C BC/ )  "*,.,**)'""% $$)$$ ""$ %')**.**)'%$ " ,./ /1631". /.,"3'1/4,6%9,888L4V8[6a3c3h1f/h.f,k)o4w41333,,114386898;>@@CEGEGLOVTVWTTWWVORVTVTVY\\^aeceffcjkkmooprrpruww||   |y~  #!)##+27KI3+ # "%--#,-44<EE@KTYYZ^cinnzrnhd\^kswu}rnmf_RRF}EYhkpf~d}f}_{^{UyZvWt\v_xa{m}m~h~&,8:@EJ}JvOvNsNsQ_6S1P3A&<&2--& $!       ++0:JNOQOX]]bc`ecjh|ryytwe~`^\YTTTWROJHEB=1.)$       !#! !&&+07<CUXZafabgn}vkbXUIP}KMuKpKCxC}DCA<x9q:g<d<]9X7U5H2N4P7\5_0a+]+Z+R*W(W*Z*_(_!P!A9/+&-07FIHA<7>ADFFIIKZ_ZP \z zvngabPIC%~wmmt~ymeXQSJE?=3155?=B?=31$    }umdc\Z_^ZUPFA/-,%         "%,/99<AMPY\WZZ\  4 7:75&!!##!#*(r&p#r#a!a!Z#R&T*T+Y*Z+d-h/i-c0^/R4J5J4P7K:K7H9C5E4--*-%+"+(*-/0/0 0424045599ACCHHKMRRPRSRRUW#Z'Z*]*]>fJfOiYpavfkpuicirmicad_JC@A<41(%%(2;KMPR^ci|}"$*,,'',$ $'))3,,4;LRY`ehorporrtwtuwwyyzyyzzzyzpoomomoomjesekkkeheckZo\kUoMrKtHpHoEkFhOfK^M\J^>f4k"o okh^\YWWY`mu|~|ur t| "%12/,/*"(@/"#     !$$&$&2--&$#!!&#$$&##$(++-++.-.2353775788::<DFDADBDFGILPPLNNQSUXZ[]_]Z[[_``einigijlggjlnoqt}}y{vyxy{{}}~    s n T P M E @ > K R E > ; 6 1 * ' # #      ' / 9 E U Z _ f m z z  ? ? ? < : < : 5 +    ! % - 7 > ? ? ,**//131/.,33/1=>=>~@xBsCeJ[RUaShUkQoQyPzQ~SS[[bdgjilq{     #%,((-2*14ACEHEPTROMORTPRURYYUW^\^afhfkpwx}}}e[YOMRW`m`WML>8;@BLMJRTQR[fmp~yph`[\YQGEEOTQMEGLLLE;}8w9p8i;_;\8Y8U3O3K1F1;/7,4.1.-/'* /,'"%%'(%-%1%4%6)9*;'<'C*6"-"*"*,((((((((}(}((((((((,,,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, `/ l/ o/ l/ q/ x/ }/ / / / / / / / / / / / / / / / / / / / / / /~ /w /v /t /l /h /c /b /] /V /; x/, v/ q/ l/ l/ n/ j/ e/b/_/V/V/U/Q/L/F/D/A/=/7/8/3/3/0/+/(/&/&/#/&/$///// ///../............. .. . . . . . . . . . . . . ." .& .) .+ ., .: .@ .B .J .V .c /e /m /t / / !/ &/ +/ -/ 3/ 2/ 7/ 4; 47 47 46 46 41 4( 4" ~4 }4 x4 q4 l4 j4 d4 ]4 [4 U4 Q4 =4 04 +4 !4 !4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3' 3/ 3< 3> 3F 3M 3R 3R 3U 3R 3J 3C 3@ 4@ 4C 4E 4F 4E 4F 4E 4E )4M 24R 54\ 34a -4_ 54^ 74a ?4d ?4i L4m N4i `4m b4k d4m e4n e4m i4h i4h j4k n4h s4d s4a {4a 4^ 4^ 4_ 4\ 4\ 4_ 4Z 4Z 4Y 4U 4O 4/!7)*7'/7'77)>7.A7,C7)C7$A7<7<7>7C7D7H7N7X7f7g7d7l7g7g7n7s7s7q7u7v7x7vs7{z7{{7v{7u{7s7lx7ku7is7gu7l{7k}7i}7f{7fv7bq7au7_u7_p7]n7_v7Zu7Zn7Xq7Wn7Un7Us7Rs7Pk7Nq7Kn7Ki7Fp7Dl7Ff7Ck7Ak7Af7>i7?d7>_7?\7:_79\79]77\79W7<X7<S7-X70S70P7-N7*P7%H7!M7M7I7H7C7I7F7C7F7 F7I7 I7 K7I7 F7F7F7C7D7K7F7I7H7I7I7A7C7?7?7>727&7%7!7!777777 7 777777777|7q7m 7m 7j7g7c7^6Q6?636+66 6 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 w6 g6 ]6 Y6 ]6 X6 T6 V6 T6 [6 Y6 T6 S6 L6 J6 J6 I6 G6 E6 =6 86 56 36 36 66 56 56 36 86 56 66 B6 D6 ;6 36 !6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 }5 |5 5 }5 w5 u5 w5 s5 r5 s5 x5 z5 z5 w5 u5 k5 h5 a5 _5 a5 _5 U5 T5 W5 U5 _5 c5z m5x u5s x5s |5m |5m x5k x5k z5i x5c z5_ s5c m5c u5c s5d u5f u5h r5d p5f m5d m5d f5i i5i f5h a5f c5a \5c Y5a W5c T5^ R5\ C5Y >5U <5T @5P @5P <5P ;5R 95P 75O 65J <5E ;5E 95F 75E 45A 75A 45@ 45@ 15< /5; *5% 5# 5 5 5 5 5 5 5 5 5 5 4 4# 4% 4( 4( 4* 4/ 41 46 4; 4< 4> 4@ 4C 4C 4E 4H 4K 4M 4O 4T 4U 4Z 4\ 4_ 4a 4d 4h 4k 4n 4w 4z 4| 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ~4 {4 {4 y4 o4 n4 n4 t4 i4 j4 e4 b4 _4 [4 X4 Q4 Q4 S4 V4 ]4 [4} X4| X4} V4| U4u Q4w G4u F4s F4s D4u B4x A4| :4r #4s #4w (4x (4w 4u 4m 4h 4i 4m 4n 4n 4r 4r 4k 4k 4h 4d 4d 4d 4a 3h 3h 3k 3i 4h 4h 4k 4k 4n 4n 3i 3h 3h 3d 3f 3d 3c 3_ 3_ 3\ 3^ 3Z 3\ 3^ 3a 3d 3h 3i 3k 3k 3m 3k 3i 3_ 3W 3U 3T 3R 3F 3C 3C 3A 37 31 31 34 37 37 3; 3> 3@ 3H 3F ~3E ~3E z3F z3J 3M w3J j3K h3J f3H h3F f3H c3H `3K \3H [3H Y3F Y3F W3H V3F T3H T3K R3C M3@ G3C B3A @3A =3F =3J 63K /3F *3C %3@ $3A 3C "3K "3R 3Z %3d 3k "3m .3n ,3n %3r '3s *3p .3r 33r 83m ;3n >3r =3r >3s C3r E3p G3p B3m @3n C3n H3p M3r T3u R3x Y3| [3 a3 c3 h3 f3 h3 o3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 $4 -4 B4 X4 d4 s4 v4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 "5 #5 %5 #5 %5 (5 *5 5 5 55 5%5,5'-5)651>55F5L\5[h5hm5qm5yh5i5d5d5i5i5m5u5|5555555555555555}5w5x5~w5{w5||5{}5w5|5|5o5e5^5[5[5^5e5j5m5r5{5~55666)61686;6J6c6o6v6y6y6|66 6&6C6W6Z6b6v666666666666666666666666666666666666666 6666677777777!7#7&7+7 -707+7&7%7!7#777777666%7,7179 74737/!7s777777v7`7X7U8Q8K8B*8B 8<%8:)8:68:98=>8=B8<Q8:Q88M87L83J82O83R8:T8:[85[8+e8(8(8+888D8S8K8A8=85808)8&8888 88888888888888888888888888888888888888888888y8o8f8a8O8>868)8887y7m7f7`7e7k7t7u7z77777z7p7b7W7M7?7*7 77 7 777 7776666666z6r6t6o7j7f 7^7\7T(7R!7L7J7O 7Q7Q6M6Q6R6T6V6V6R6M6H6C6968646,6.6.61696@6H6O6T6V6[6^6f6p6u6z6~666666666666666666666666667777%7(707<7?777:757:7?7D7!M7+U73W7NU7[_7nd7a7\7P7N7N7U7S7U7X7Z7f7k7n7q7u79 =!>/>+B+C*B#E&H/H+L+L%O#O/L2O2R9L7M<O9O:L>J>HCHFOFQHOCR:V9Q2Q-W2W+W*Y+[0\>[AW:R>QCRUQXMXHNEN@R@X9a8]3\4Z4\6\6U8\8R;X;U9R;N9F4<3719393>/?.<1214451/3(6(4#6#6&9 GLMSJcBlB`B]@^BXEVENCOENGL                BM9K6R/K.H*H'A%@ 621- *%"%'.(12=;>@BKBMs}qyxtqqnijd_b]`dZV[XXQNIG3:<DKGIUQSF?7:B=?::7::B=AGILILQV]`b]ZXVX]est~|{w~{|{~~{|trrlrvtmhee`^eljloqvt{y{|yw{wvroqmomlghee`XY^eghjmgorrttywry{~|}}zp{m|myk|iydwdyf|c|adpnpsuz|}}~z~wcwhothkmprokkc`^\W[[WTy``cNfJhLjJhOjVpNuQwYwcwtutrpkea^QR[`hkotuwuyw|zwuwwpprtuyyzz|y|z|wjlechhcc[^^YYT`YTT[[SETNI?TY]X[`b^gqrotw|{jgtE~@w:a.a+h)k$k'o)p.t+=@DE)1,,;6681&$$!&$)x q& k= iT k` le n k i f _ ] \ Xt P` FT AG >3 9! < : 50-/-25>DFKIHMMKHFDp?@A(D'F-I#N1N@RJ]MiknipuqsuW'-c + !  x |faH>9'%69T|f v    q n W R \ f 1 H ^    t ` E 1        1 c ` Y Y \ Y V W T V V Q R& Rg Qx J J = 6 1 / *v *i $W  &       | w g X  }^- #    '@> $F"')*,)**},./w*'$%${%e$U*L,D*7469&=I=L=?@I=X@VEeBQEHH-JJM J MMR Q RQ0R5RDOPTQRdHMMQQTajcnaVVVY\`acfhfhokrooejjje\`#[V#VAYTTTVZ[dWx[w[TLpLxOJE>@CC@BGEGL[^cjkjjc`cjttom k! h f e c a \ Y OL L Q Q T M" T& R. Q+ M3 Q? RO WE YL YD ^I \Q [b ^V `Y [r ^v \ `~ ` ar er e a ` ^ [ Y ^ c c V Y V T Q M H GV HK LN R V , D=D=Ycmo(   #Pfk_sv{   CE`ew~wmahy|[J8)%zuuzui}NxXsSiUdf_\]a_k\sba__abbabdkli$g3iOinqpnkllgadbodea[aE] WRRPM8FEC^CT?VAHI/IMKDDINMIpFqA}As<u700+%&% 63;=BHTYeu`a WWO9 1) $ %>^a^ckw~#*-59>?AFFF F!F&N$b5i5n)q-u:z2}?{N{[vdtgsi "'<JZWki@2~dg_DX_` US+"%49=9438;CwG^BE=>9;3M3,3 )/81=MTermaOM4, * ),, l}zxnk P AC -/>D/ "-"0"9"S%l)u.u3f.*)'*.//*$" %'//,,)*`$`{yNE=^0,'";LLX^S[[ggv{o]V8') 3@LOH33     $  ,38694)9>>9)*%..>CCHHCGVTLHT^YammwrwtyuyprVOJ9331/).*'%"jy~ ~ sV[jed_[VUGGFA<50zrkj jfj7~:BNX[diegeltnjgeZUXvUsUsXqVoZodldjbj_iVeQ`K_L_P[PXAXBV?Q0P0P5L+F)D0D+B+=&<<BFG#L$IKLQQ[]`djlqy&7?FGLPSX]]dbgglXPYIVAX<V<JIINGSB]E_JVJ]Eb@b=eBgBlGeEoJ`LbJjLlNbOZO]S_SVTXTNOLTKXPV3T=LFJDESDSBNBV?Z=S;`8_6b1`8Q;N=GBBD8E7G8G3G0I-O2T.V0V3~tpw>@668B>99GOR[\}Y{VxTnJgHaCW3a)aflpu uqklppqqqvz '/3>~HHFC??<:744-+00{4z9{:?DIHucc`\JHECBB@>@>=96631.,.)),,/1434|6|6x8x8u9u;n>p>nCpEwGxH|LrJnLmMnLhMfOaQhThVmWnYkYn\n^panak`h^^a^eZeafchajcmkohtftau^uZwZwYyZyYzZ|ZWdc\_^WW^^cadachhhmprwx~{ywyvtqql`SQVTVXYVXX[]^bgq{~lf_WMD?:0*%  #&++499:AFIIMU\az   uni]ZXUKHFIIKPSPNPUUWRRMIDA::0u2p0p5h0a/a/_2_2\7^9\7ZAYCRDTDPAO9K9H?EDCHEFFFKCODPHOHKMKNJMHPHRESEWJZK]J]HaEgHkFpKxO{MMOPWYWRUWTWWTMKOKKHFJFMPMPOFHEA>6446211/24-62477<O\_fnuw|                                                    H C  C  H  D  C  ?  <  4  0  (  &                   |  t  e  `  X  N  J  8  6  1  0  3  1  5  3  6  5  8  :  =  E  E  D  D  B  E  J  I  J  Q  e  e  j  h  m  r  t  r  q  h  g  t  y  {  {                                           &  +  4  4  9  ?  ?  D  F  H g7p7q7i7k7g7i7i7d7g7}a7vW7pS7kW7fU7aZ7XS7KX7DS7?a7:f75g74d77Z75X70b7(l7*q7&s7%q77777 77777777}77777|7r7[7E7871{7){7x7u7u7k7 i7p7777777x7u7s7v7xu7s{7d7Zz72f7#g7n7q7q77777 7727;7>7@7C7>7474747272717,7/7/8*8(7%77 8888 8  888888 8"828@8K 8K8F8F8K7H7F7A8>8<8@7>7E7H7K7K7M7O7M7O7P7c7m7u7777777777777'717:7?7B 8B8D8D7E7G7J7L8J8E8E$8D$8B 8?=8;J81Y8+\8&c8"m8u888888 888'h8;\8NV8XW8eM8qL8B8@8,8"8888 888 8 888  8 8 8%8+8+8+7*77 77!7/7472757D7A7C7D7H7H7M7M7N7S7Z7Z7_7\7p7s7p7q7s7q7v7777777}7}7}7z7q777777777777777777777777777777 7 77777%7)71767B7B7@7;78747374737/7/7/74787373767/7%77 777777777777777777777777777777b7a7d7f7d7g7g7 :': :%:#:: :999999999999s9j9g9et9bn9Xg9X`9X]9][9dd9jd9le9ge9gj9il9nj9ns9nv9s{9x}9{v9~t9x9}}9~99999999999999999999: ::: :c:_:m:n:p:w::::::::: :::::::::::w:s:p:n:k:f:c:it;mw;dl;Zc;UY;OS;OG;MB;HD;EI;FO;KV;OY;Pb;Yh;\o;cq;k~;m{;kw;ht;<<<<<<<<<<<<<<<<<<<=<<<<<<<<<<<<<<<<<<<@@@@@@@@@@@@@z@u@r@j@kAj AfA[A^AaAhAmArAwA|@@@@@@?????@ @@@+@.@5@:@L@S@ S@X@O@N@J@#I@ ;@0@@@? ? ?? @@ @?????EEFF0F&B&B&C&C&C&E}&Bs&=&8s&3n&3d&6M&6>&3<&1@&,,&),&"%$%*"&,&.&/%&1&41&>9&BF&EP&HA&O*&Q&Q%M%L%M%J%J%L%J%H%H%L%Jt%LV%HD%C?%B7%E&%J%J%G%C%B%=$=$9$6$4$3$1$.$)$ $$$p$\$L$E$`$V$[$p$r$ `$h$ $$$$$$$ $ $$$ $ $$$$ %%%!%8%N%]%b%%%%%%%%%% &&&/&4&P&P&a&f&&&&&&&' '''&&&&&&&X%&%#%S%)%%$$$$$$[$c$6$9$ $%$4$=$G$`$u$C$t>$r$m#j#h$$f.$f$h#h#f#f#e#c#`#^#`#\#^$`E$^m$[p$^B$\$\#W $QH$R$T$Q#O.$H\$Cr$B$@$G$M$L$M %M#%QG%TU%V}%W%^&a&c%k%t%z%%%&&-&1&E&E&/&<&/&2&&&&%%%%%%%%%}%%j%X%ACO+W5_RZTPJEq>b<M<*;>CKPZ_UlnbXbbLK !&(&&Dy~hTBB6 ((1C,I*U'W-d(d'q(z/u/16x667<z9<@AEACEKMOPTTY\ZW\^^_cadccfhvivkxknu||wxzz}}/9BQu  }xrnnpmnrnnkkccfc_^^YUUZZYUTOMMKC>94'% #5Idqtyqo{qlqlGBB82)5KSVgd=)&   !yc^`QLQJHYVac[MOC434.%$   //'")    uxki]l_XK>5(!# ,B+.,. 0 )+,,)&!!   ~fRfhH1  .@HOemmyoc[=*6B84,.@M\fy(-(0)-8DUV]]:+5+(27Feg~d&lx{]dsyxn{!"&")+'(03&A"W'd,c0Z1K8@3R1^0m36:=?DGIIzLiJ}LNJLNXVONNTV[bhmlebhqo&q'y;wNyV~m !Wqx 6Y  eM>,    {ukkPPHCC4+ ~woj^`O60& ssTJ4-~vy{yvlmyqnrVrIo5l-h)h8c:S^[]``bb`[TTLLNO NL GIEI!G$GDD?;856883 3..<,Ao  7W{d:lo9>96 3899@CL9H^@d>h;P;7819;@JLyMlQ_a_cXh_pAripxpoje a(`"aa``\YWQRTQLJLLRYac`a#e+cNYLTSOGLPGFG)GGJMTp[b\s\``cjhjha^\Y VYWRQRQTTqVp>@>>EGJGE@=;989;=>HQTTWWV}RRmQhRTWRWK\7^7e_ek^u`^`^`aeehjkoommuuyurrpuu:w6|N@Ogbh;E.$0$bv75~utrpjmthwe`f8fa^\\W'T"R0Q"O"O TOHMLHGHJ, #_ph ~zzmw\w9t<t*o,kywwty|~u*w1z%"(E>hm =IT;E|1|wurphkrkkjOo@t%u,o  7W{d:lowuz +U]t[[V=< M[ejup[Y."C\o!5byQF~rm[CC5?=&~+2FnqqL5D?sv}o-5IlBLd9b9]#9Z+9Z79]A9V=9S<9V79U09L&9I9B 9=9782828)8&8&8#88 88888!8&8(858<8?8B8I8L9V 9Z 9_9b9b9             $  !        $ "                            L[`beegjlooqssqnqy{~},t;qAlClJiYeZbkbr_uUSSPKD?<=<8<p7h:c8W<E?ABCBJDJL6L%PPQ QLKKN     } v q l n q l l d b a a ] _ i g i i l p u x }            I[$?Y$<Y$<\$7W$5T$7T$7R$5R$4R$4W$/[$/\$*Y$Y$W$R$Q$Q$O$M$M$Q$M$L$J$ G$ H$ L$ M$ M$Q$Q$Q$R$T$R$T$O$Q$M$M$J$J$E$G$J$L$G$J$H$J$G$G$E$B$C$B$;$>$=$9$9$=$@$@$>$;$8$4$4$6$6$9$9$;$=$~9$|8$6$3$1$.$1$.$,$)$)$%$$$'$)$*$.$.$.$1$/$3$6$8$8$8$>$>$>$;$;$>$>$9$8$9$8$;$>$;$9$@$B$C$@$C$ C$!G$%C$&E$*E$-G$0E$2E$5C$9G$:H$?J$CJ$CL$FO$KO$KT$MV$KV$MY$I[$>$@$@$>$9$8$8$;$=$>$**********************++++*++++++++ +"+"++++"+"+#+"+(+-+,+/+1+4+6+6+4+1+1+4+9+<+>+E+O+T+W+Z+\+^+_+Y+M+J+J+M+M+H+J+H+H+C+C+A+>+;+<+7+7+{2+}(+x,+y/+t/+y1+y2+q1+o-+j,+b,+`'+]'+Z#+X%+X*+Z*+_*+`*+V-+U'+Q#+L#+K"+K+L +N +L+L+K+I+=+:+:*8*8+0*3*3*0*.*.*0*0*5*3*3*2*2*0*.*0*0*&*#*#*$*#*!************!*******!**#*$*&*&*$*&*+*-*-*0*3*8*:t*As*Fv*Pv*Vs*[n*eq*vn*{s*{t*s*n*q*s*s*t*}*~****************************************** 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 H2 I2 H2 K2 I2 H2 K2 D2 D2 A2 D2 D2 :2 >2 <2 <2 92 72 <2 <2 72 52 22 22 52 A2 <2 >2 A2 D2 D2 F2 I2 H2 I2 1 1 1 1 1 1 1 1 1 1 1 t1 h1 b1 Y1 S1 L1 G1 G1 J1 X1 y1 1 2 2 2 2 2} 2s 2n 2n 2h 2f 2h 2i 2m 2i 2n 2m 2i 2k {2m 2r 2u 2u 2| 2| 2 2 2 2 2 2_ 2^ 2\ 2T 2O z2P z2R v2h z2h {2d {2f 2f 2c 2d 2_ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2" 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 }2 {2 v2 s2 2 2 {2 {2 }2 2 2 2 2 2 2 2 2 2 2 2 2 2 2" 2" 2 2{ 2x !2u !2n 2g 2f 2d 2b 2a 2_ 2_ 2\ 2X 1W 1U 1U 1S 1R 1P 1M 1F 1H 1F 1< 1: 1: 17 14 14 10 10 15 1< 1< 1C 1C 1F 1F 1S 1U 1W 1X 1Z 1_ 1b 1d 1f 1l 1l 2g 1g 2k 2l 2p 2p 2s 2u 2x 2 2} 2                          ) ) % %      z u k d k m x |        $ ' * ' ) w|rk`wVrRnLnGi@dC\ERGMMJWM[O[Z`Zc^o_yfwrw|vkd\XWW__agkq{NNRRPNPPUXWZXZ]_bbdfbf}iylyq{uuqqnlnkigfgfgda_a\ZZXSPPNy}y !&+))003155'&'"&)!   ((%(>@CFF JO MHEC>;;7972,((,/2;>CFEHHEHHCACAA9229479;@>;>A@7z6s4p2h-f1c-_-\,\,_,h(i'c#dkrsxx|| nkca c ^^UMJC<;7;@AEEA<>@AA<></*'-2792% tnljdb[XKA2&       &! $)))$*-4>>CMPY \ PPTYW\_cfmnruzzz           !!$&)#$#$)-23032277FFBFQPGAA:FGSVSQPGFBFLQQLQSXXV]X[]`beeijlilnooqsqtooqsty##%(* 14@!C"A&A'E&E=J@HEJGKIJLFIELHSMSMTFX@jA~HFHFHKJHFEEHFHHA;7969;9<971 9<7 97/!/+2-606<9D7I7S7U;R9W;Z9_9l7q2}64//(%*-4;;447;;74;C@;667>CFHFCAFJJH@;64'   }#i"a"_ g aZ ] P*>(5%-'+(%%%' % ' ,----1111-//,-/-,*,*,-/,*,,(*'(*,/6{9667;;{4t({(w(t%q(m,o-l,g*e(h(e%h"b#["Y#T([(X'T QL"D B?= 6:60.+&&"!            "%#x{ifflpgd|XzKyFyCy9y0wzy z ~%+7Fdi{(( ("N("k('u('(&()(+(0(,(0(6(5)3)8C);T)=H);*);)D(V(Y(X(N(J(J(D(?(=(@(@(;(6(8(8(1(0q(,g(,S(&?()<('0(& ()(''&'''&'+{'1c'3Q'5N'8G'BI'B8'D?'DI'JQ'OO'TI'T6'Y5'Y&'['']"']'Y'V'S'SD'QG'NB'IG'E='E6'G6'G.'E.'@'?';':8'16'$I'!?'?':'5'&'&' ''&&&&&& & & '&  ' "' .' ='@'I'Q'`'o't''v'l'l'{''''''''' w'''m'c'X'J'e'''''''''''''''''' '''( (((          | { w v q v w o q o h bX J B = 8 5 3. +) ' $ "''5;;851=61&                                                                      !u &h 'k ,d .f )m 'm &x ! ) ) . ;z Dd Gf J_ Nd Sc YW `R bK `K ]J ]F gA mE lO cO cT [Z Qm Oh Jh Bx @ : = O O Q O I O Y gs [ Q Q X [ e j mx tw oz e [ S X Q Q J = ; = B N N Q N I I D I I O ^ h m q q l o o q y y v w w t q j b o o m q { y t t ~   } | x u x     4C979D<4-((-&#|     ""    # # ( - - 2 5 : = A Q V ] ] X X e s v                     }     ~ v o j e d Z U }U X }Z uQ nV iS fL fF fB iA i= i5 h- i! r+ s- w$ z( }(                                                                " !    **************************z*t*o*k*h*\*Y*V*C*>*9*6*'*$** ************** * **s*e*i*s********{*t*n*]*[*N*N*Q*Q*B*0*-***)))})v)p)p)q)u)v)u)q)q)i)])X)Z)U~)Py)K|)Fr)Co)>h)5`)5Y)2T)-9)(*)%)!(((((((((*(0(2(4(7(<(:(C(C)F )H)N")S1)\>)bG)gJ)c)y))))))))))))))))))*** *2*7*D*G*L*'N**V*4_*6b*Hj*Ty*`*f*j*m*t*w****************''''''' (( ((( ( (((((((%(&(((*(*(+(/(0(2(2(5(:(<(A(A(9(A(>(>(C(R(R(W(S(U(R(P(P(S(P(_(_(](|W(tH(eD(aF(^R(WU(WZ(VW(CW(C](BZ(>](6](,d(%p()d(1](=\(>W(=P(1A('<(A(H(N(X( W( ]( X(X(i(q(u(u(v(x(((((((((}(p(g(f(f(b(g(g(a(b(a(](b(b(](_(](Z(F(4(*(4(M(U(U( R(K(C(C(:('9(1>(=K(BH(CA(CI(>P(CU(YR(\N(aC(hA(tD(U(\(\(W(K(N(N(D(:(7(9(7(0(+(&(%(&(%(((( ( (( ((((' ((('''''''''''''''''''''''''''''''('''''(((''''''''''''''''('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''                                                                4 7 5 0 0 - ( &  & 0 4 **************************z*t*o*k*h*\*Y*V*C*>*9*6*'*$** ************** * **s*e*i*s********{*t*n*]*[*N*N*Q*Q*B*0*-***)))})v)p)p)q)u)v)u)q)q)i)])X)Z)U~)Py)K|)Fr)Co)>h)5`)5Y)2T)-9)(*)%)!(((((((((*(0(2(4(7(<(:(C(C)F )H)N")S1)\>)bG)gJ)c)y))))))))))))))))))*** *2*7*D*G*L*'N**V*4_*6b*Hj*Ty*`*f*j*m*t*w****************g(d(d(a(b(_(\(P(H(I(N(P(Z(Z(U(U(X(](_(a(_(b(d(d(g(i(g(''''''' (( ((( ( (((((((%(&(((*(*(+(/(0(2(2(5(:(<(A(A(9(A(>(>(C(R(R(W(S(U(R(P(P(S(P(_(_(](|W(tH(eD(aF(^R(WU(WZ(VW(CW(C](BZ(>](6](,d(%p()d(1](=\(>W(=P(1A('<(A(H(N(X( W( ]( X(X(i(q(u(u(v(x(((((((((}(p(g(f(f(b(g(g(a(b(a(](b(b(](_(](Z(F(4(*(4(M(U(U( R(K(C(C(:('9(1>(=K(BH(CA(CI(>P(CU(YR(\N(aC(hA(tD(U(\(\(W(K(N(N(D(:(7(9(7(0(+(&(%(&(%(((( ( (( ((((' ((('''''''''''''''''''''''''''''''('''''(((''''''''''''''''('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''a#p###########$ $$$$$$"$"$%$.$.$)$'$%$"$$$$ $$$###########~####y#t#j#^#Y#M#G#@#=#>#>#=#=#>#=#9#9#>#;#3#)########### ##### #### # #"#"#%#*#1#3#6#8#=#B#J#Q#V#[#`#a# "'*6; = = @ L( W2 \G fU ml kt fv e~ f a ^ ^ a fs fq ^n \g Y` [] YU OD M7 J2 E( C ; 4/)$                } v q l o v }                ! ' , 0 3 8 = = G J O Q N T [ X Y Y ] c b ^ b ^ ^ c c e l l m j h b ^ [ ] [ Y X V T T S Q L L @ 8 8 6!5 5 1 0 ) $ $                                 !           4C979D<4-((-&#|     ""   VTJE@?;66;#;(8.531..-,+'-&    ~ywttuy||~ #"&,(6.8&568;=? EIVX_blpuplifgfdffb]ZXUX\!Y!Y"W3T+VYWOOLJG@ECGE C@>=/)''%    $'5: @"D"J'N%S'V,^,g/m/o,l*l'v%q'l*c)^']%[$V Q [IND@?:8?@BEEGLLIGGD??3,,').8[{wrVN?;?8.&'+8:6:;60+)&)'"" ""%),=@TYY\`hot|;@B86&'++)+.5:6@@ENNBIDEBELEO]bj{ #/4:CKPC?<72*!!#~yohbc^`YYQLSSzJ~I6~5|:z:zufh"j'h0e5f)e'c'\\!i``i o}"'5=NSY`clry     #"%#   &+/+449(4/444C7H7O>ZD_?U<K5A9;:,<-<4?/F1<(:790-- %  re[XY[]]YTVTOJ@60+tob[]dixttqqnnnl_beggigigbZUVUQLKGB?==A==::8::2.++())()($##!#).0277<==??BADGIIQPIQbgillost}  }xonnq~tonljjnstx0 - 0*?/?=GQD[GfFmIoKwL~QV_`d_dbZ[bgqv{~}voniedilg~gwe|b|ZwSyPwNrPhLfKaL[NMPGLGF=D,?"0"',12612#6$7$<C#HH#MUYhf c^U#K!H)C&C);$6)/!((*'( %%"  #!#&!     !#(()-25835=DINIF:20.++$#$#&)02.(#)&-.0+3-.5737.55-)).&)&#$!-.&         #'zxwuux} @ C C E M P R _ c k n p s n r s u z |  }                          s r n h W Y W T T R O U T J C C @ ; 4 2 2 4 C F > < 9 7 ; @`[_bnt}v~nd`_`&5BB:3.'!I$T&]-]-`.b-o(r-v&w&{){()++.|2{0v3t5m2g0[-T-Y([J#G&3+3}~ }xt6oEsLoVoYxevpszsvvtnlooqoztmtflTiOlOnRoOnBtsoqtt{x~  },&,!wYKA1,'" ysje_VQGD:. $ ## #-28?FDGU]djs} 2@HTZh !")urusurpnuiqhbfbfihnismvnpprrsrp^\WOKKMKE@/,%"#(-2@CEMOMMU^_^8;BLOV{Xv[lY]YN]=`(jr khmW\OL84*/B@GMH LO[WO>!1#% -59940&#8Ya QORCC1/=L`\pkrt h$`+^A[L[sX}QO@8   3>E J [f    jYM=4 nlp|rhhc]VTS O4L>DM=R.Y'ffmt &07ALSgo{-7>R\s $08ITY`j| %7<FM]aiq}}|xwspmcZRJF@@A A94 7'9/6=9G6J2V/V-L,M(Y,^-c/k-t'y#u#|~      # ( 7 3 5 A G I L S ] l l d g t }             } v s g d ` b _ _ ] Z S S P!K D : - ( !          $ ) 0 : B L P Q X [ ] ] ` _ d e q v {          ~ } g ` ` g g Q K F D ? 2 0 2 & !     z z t#o't,p,e%[,G/G1O6E4=7,6'2"27>> < >EHPZamnsux||}lg]XXKF</% yjbYTI6,$ r_WO>2}qneNI=0$ #(.8ILGAGAINKFF|:z<}A|FwKrQmPiQfK^S\P_F^BYBUAW-M#KCA C>77762-(%   #'*/249;>CEEKP!Y+W?aA_PhFkNsNzBx<x7z57AAKG?==B=G<32++#  zpc`&a.T=LG@J8O"OS S]bgm|{sfg\Zdaix}vxsuz  &*/59>}AzK{SuX{]q_ibaiblXzRIHIANSdnv}lxfdffaZRIF?><:0-%!   zusig\Zdaix}vxsuz  &*/59>}AzK{SuX{]q_ibaiblXzRIHIANSdnv}lxfdffaZRIF?><:0-%!   zusi&#(#*#-#/#0#7#:#Fx#Iq#Mb#MP#WC#aA#g9#k5#l*#p%#u&#!#!#&#&## ##"""""""""v"o"b"g"j"g"`"`"zX"q["aO"PO"HI"C;"+5"%:":"3"=";"1"!""&"!""";"T"l"t""""v"j"e"`"]"T"b"h"v""""r"c"Q"@"1"""""""8"8"."%5"2+"?."F8"I@"UI"aI"lS"xQ"Y"Y"b"b"]"I"@"E"V"X"T""""")",",""!!!!!!!!!!'!6!C!M!T!V!V!W!a!h!|!!!!!!!!!!!!!!!!!!!!!!! !|!!!!!0|!5_!=T!AA!?/!8!- - 0 : = = ? K I L Z ] _t `~ _ Z U Q K G B < : 5 B !FT!Dc!=x!2!)!!!!!! !!!!!!!!!!!!!!!!!!!z!p!h!`![!\![!W!T!H!@!;!6!/!*!"!!!!!!!!!!!"""1"5"5"0"""$"5"S"^"`"O"T"b"o"y"""""""""#&#-#&#(#z-#p*#i>#_H#ZH#PU#Nb#Iz#:#7#2#/#0#/#+#*#&#  z(Z3F?9A/K#QSVVZ`dgiglosvysoosqsxyeVNJJV[]cqq^][]^`beb]VS[c~{{|   (;66<<A<979<>A CA@CEKOKP&W/W5\?_D\F^M\WdZhbi]dWiWkUnUpXuWxDu?u7r5n5n0m-k#iihiru&x*u&smiihinsuzz| %&&(++/7?HPXagkqu} $)+)++,066;=DLQV]bb`]]bg{mzovqko_qWyR|MwFv?v7{5{-~& ~tm`TNILD;0.+&"                                   u n f c  h h d ^ c  f %c (\ +U 0U 2a 4i 5u 9u ?s An Ac Ha H^ MU RR XP XT ]U _P bO fH iA n@ n; u6 s* q" n s s s u s v q n k i l i i k p p q n i b ] Z X U U S} S{ Xy Zv Zl \l bj dd fd kb k` nZ u[ zZ Z X [ _ _ V U Q Z V S K B < 5 : < ? B B G K N V [ ` j q v }                               } s l i j j  n q s v n $j $` %_ %U )N ,L /D 1< 8< =: B8 G3 H0 J& O) R. [0 [. [$ \ ^ a f h k p w y |                                        y y | ~  z o e ^ T L E @ 8 6 3 '                # ( - 2 3 3 7 7 5 7 < < B G L N P U Z _ d g j n o s t y y {                                                               # ' ( , - 4 7 ; C H R Y \ W P O R ^ a" c% _* ^3 Z6 Z9 \> ZC ^H _R fW iR iW mY n^ ph i c c d k m n r x }   ~ e V Q C B > , *  " % 4 8 3 1 . , ' * / 4 1 9 9 3 *                   $ / 6 B j y       6 I L V ] e+ g- j7 v< yB K V Q P 8 2                   # ( / 4 : ? C I M P P \ d k p s v z z }              u ^ $\ .a J ` e o r ~ w 6  ; B 9    E O T ` m  t t    & + . 3 3 5 7 3 + ) + . 8 : B D ?7 <D 8D 2: 8G :I 8Q :Q 8l :l =` Dd Ge In D A B B N~ Px Uy S L L I D B B D ? = 5 2 . 3 5 3 5 < ? 7 5} 3 - 0 - . - ) & &    # $ $ & $ $ & $ # !  # #       !  !                                   , / , 2 ; 9 C P k r r                )+1L[%  &575apww|~ztutk ca[[ VECBC$@);%8*4%.),%,'"q_U5+q6         w k m |  |  x  h  \  Y  W  P W W R  M K  J  A < ; 7 1 ' #     #       * 1 4 4 9 9 = 9 =t ;q ;x 8x 8 8 4 3 / ) ' ' % "                                              #  - ,  % '    " % " < > E R Y W k                           z z m n h f p w w } }} } { v u s p n i i g b a U P M K M N M H F ? : 7 7 4 4 - + & % ! ! (  &, &,,=@LT]emr!#%&--+(%&&#&2tHXKGSBSIW?_;_D]J\QbcfblgucvexwsqifaXUUWPMPNNMIFA?CHKKKMPRNK59s7:<><C>7959IKMKMP]fiz'9EE`u~  !52BB<A8<IUX i `UU`"_$d%`.X1N6V4K=A>3=&@BMWo3p8m<p?r?r7z=8:DKF===F??QZLBG0 !7D-,'/19@~@|;|yyurphff\OH=4)"14-(*2TWa$" %*/8>CMW[efmkhfppoortr ppro"m!k$k.m)o)tu y;ey%&!&:UdbUUbssll]kp}}xlCQLE9   ",),/GLOYjutmtu|7L`lqy~##674'1M_mcY^fkpx #(+-}3777<=FIKIKGGDAB?:?j:7(bd]W N PMP_ \i 8/;@Mk|rz ++($$(z.k2^2O84:*5,5*3-$(%-?X[$]*Z,V)S.V>ZEbMbHgJjEeCn4~@GEJBMG6, " $4ff#7@@MPUaachp })?D}B|-x+x0zvxzz|w s rrps*fsfhciar\hWmTuPpHp<x4i,h#YTA@E74'" %CZ_d^smdmnd{UsJj^`Y]PVUNaId?a8W7Y5R(^_ZPYa TPW_h~tptppxmxkuj^hW`W[HTMLHJ;M2J-J#G#C4=7;1@,;-98"43"/*) $$'%$')'%$"    yt x    xgj`VSNLNB:.-30?N~ #'7CHEJF<MO %*138BJVp1:1& +{#%4-2%&92*-&2+~%#zjWeXcXeicnescva}fccfffecehjkmmmjhjkkoomrkomomp}rvpkrktsugydzau_tUuIyCCDNHCHFM]unsqldaa\_ZS<*    |bV[3+:?FSZ`gv}   ,G9VFXZSfGr1xLwTs`rmkifyhtdmdv_~WUUPA@>;6/(#vwghb bg~~r~vwhcgy   Xkls}{qnxxkk]_\AH(  % 9?HZ*z,s,d'D(:,:1D6C6H2W6_@nAFEFHFHEFE 9,2L(#"#('#   Z  d j     } n j o N - ! +  & ( 2     t l+ !   7 3 8 : A 8 B B L S U ] _ ` b l v { y q s l q l ~b qI lK iG eZ `` _s `} d ly oq xg yn x~ x y           } x   {            ~ X K F  : ( -& 7$ < ; ACOUWY^ainukzyaW`pywmaYcfjpztt 8     !!*!6!4!>!J!d!c!n!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!""""";"?"1"."'""" "!!"$"&"!"!!!!!!!!! ! ! !!!!!!!!!!!!!!! !!! !!! ! !!!" ! ! """!!!!!!!$!&!$!'!'!+!.!0!0!5!:!:!8!:!5!3!5!.!0!.!.!+!)!&!&!$!)!,!,!.!3!3!0!0"="E""G!"G"J"L'"I,"G'"E3"E8"I5"J@"L@"NJ"OI"O""S"T"S!X![!]"V^"Yg"Ym"]~"c"e"h"g"l"m"o"q"q"t"t"w"t"y"~"{"{"w"w #{#|##-#+# #-#g#l############$$"$w$$$$$$$$$~$o$t$p$Q$^$\$H$J$C$L$L$V$^$`$h$j$`$c$m$$u$~$~$$$$$$$$$$$$$$$$%$$$%%!%$%7%<%F%n%%%%%~%%t%d%U%g%n%y%%%%%%%%%%%%%%%%% &%%%&&&&6&7&,&&'&1&>&W&^&J&A&J&O&R&W&m&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&{&v&q&j'c'^!']"'`$'c'h'q&{&|&&&&&&&&&&''&'&&&&&&&&&&&''.'Q'e'y'v''''''''''''w'h'{''''t'g'l'o'''''%'+'0':'<':':'F(K4(N2(SA(UW(R_(S}(](](\(Z(X(W(Z(Z(S(N(M)I*)ME)M[)IW)H^)C`)>h)<t)9)7z)9m)9M)5M)2B)01)-8)+")()%(%(%(!(!(((( (( ))') @) Y)!`)\)M)R)1)1)9)G)Q)`)|)))))))))))))))) ) ))))))))))))))))))))))))) *$*0*&*+*L*N*]************+%+4+7+A+T+R+f+i+c+f+s++++++++++++, ,, ,,,++,,,+,&,',",.,:,B,=,@,$,,?,B,;,;,G,L,S,Q,[,V,[,O,X,],[,T,c,b,l,o,r,y,v,~,o,l,X,N,^,`,O,B,',1,),++++,,, ,,,,&,$,@,?,J,~[,c,tl,tY,r[,rc,qg,h`,T.,S&,J,D+@+=+6+5+1+0+++++,+,+$h+$\+!a+W+J+4+*++++  + ***************}*i*b*[*`*7*:*3*-****))))))))))))o)j)Y)W)J)zG)s')p")n )m )m1)rG)wQ)xc)h))~)y)|))))))**+*:*F*S*V*D*G*j*x****************++++"+ +'+6+;+P+T+P+T+9+4+(++********** +1+@+F+R+\+f+c+f+p++++++w+p+z+++++,,,,,",1,L,O,L,@,1,:,?,V,T,X,Q,T,xB,w1,s,,h8,dB,^b,\,^,_l,dG,i:,u3,xI,Y,X,`,Y,],e,j,y,,,y,q,Y,T,y,,,,,->-]----.W.k.|.t.a.\.R.H.;.=.C.=.;.@.H.z.....}.z.w/x/z /}...../&/}G/j//////|/x/w/r/n0i/0h;0kO0kZ0h|0_0_0Z0U0M0J1C1A1A,1;D1<Q1C]17r12r1-1"11 111111111 1'1<1F1H1H1H1C1C19191717122"+2+252>2 A2_2 v2 f2"k22 2222 2p2Z2R2U2Z2n2v2}2{2222222222222222223333"3 3$3.3B3a3y3w333~33333333333 334)4_444444444444444444445-595P5T5Y5W5^5h5r5x55555555555555555555555555555555555555555555 6655555555566666"6$6606D6Q6X6[6X6b6o6r6y6666666666 66666m66 6'61616-6164676762w6161q62e6/g6-o6-m61^67T6A]6Jm6Jr6R6R6P6O6P6R6U6U7Y 7Z7Z7d7n6p6w6z6u77mM7ik7f7f7d7d8a.8aM8_h8\8Y8R8M9H<9C]9AS9C79A(9C8A8H8J8H8K8H8;z86t8<h8>\8;W8;T8;J86R81h81u8287878;8> 9@e99_9#39 999#9#9-)9/91!91919,9'9*9/9/8284878986868(8"8#8"888888888888 8 8888888888 9 9!9+9(G9@y9A9@9>:;:6F:1i:,|::::: |: s:m:Y:P:T:R:H: C: >:#: (:7:2:%:":4:>:_:x:::::::::::::::::::::::::::::::::::: ;);;;E;I;m;m;g;X;=;?;c;v;;;;;;;;;;;<<9<?<R<<<<<<<'=B===5>_>j>>t>o>l>e{>dy>e`>bo>bx>[q>Xs>Sg>N`>Gi>Ge>Dl>=e>Ds>:><>=>:>5>8>8>5>3>3>.>#>> >>>>>? ?>>>>>>>>>????????  ?????? ?$(?&1?)6?(@?)H?.J?2\?3Y?5\?5f?:i?7s?8?5?5?<?8?:?A@?@<@36@0E@.[@.@-@(@(A(A&A$/A-MA?}ABA<A<A5A+AAA A AABB)B/B1B>BRBBBBBBBBBBBBBBBBBBBB BBB!B#B)B0B0B.B0yB2tB7wB=B?BBBDBLBQB_BbBdBeBbB_BX)CV?CUbCVyCNCKCICFCBCBCBCFCICKCPCNCLCNCQCSCLCKCGCLCICLCLDK%DIaDLDKkDIkDIzDIDLDNDLDLDDDBD?D7 E3'E0QE+hE+`E)eE)mE&~E#EE#E#E$E#EEEEEEEEEEEEF FKF?F%F&F-F/F7FPFǹڹݹH?-/MR_u}pq{}UR˺źú˺պ1Jp|ommca^`^YO~OQY\VVTRRJHLH6*%%"  ǻػ޻ػԻֻ޻ֻٻݻ   !     "%**,.1/ӻ1ϻ3ݻ4޻1ʻ3ǻ4ʻ646!9(684:17/8/=4A1_1U3N/N.Z,V,N)I'I$K$G KGGV] V$X$P'V*V,`'d%i"%$%)/g1e1g.,.)'˼*ռ'ؼ'%    *@O^n_aWakxzwZad_cc^T@>,   '-2/# ɼ׼ͼɼļ{}{}{}{zzxqqlnülü\\\ZXWUXqWgUdRbNXN[UoNMIyHyHoCdCgDvCy>q:j:q>x?<:972+*(&**/2~4}4s2q2j/e/t-x*v!v olZ A%B-Q-L4P7I:K:F>B2I/G(=#2#(*7?ACCۻNRUWNNN|NtRpSzUzUoXk\e_RfHkRuVHLGG6.պƺdSA?DCHID:794*!!*25<A?DCFFC?>97*  չйڹڹιǹ¹ɹ߹۹uιs¹kPFfE?ECEFEAEAEDEDECEFEFrEHbEKcEN[ENTERVERNESJEUTE\OE]=Ef5ElEfDlDlDiDiDgDgDdDdDdEgEiEg!Ed$Eb+E\:EX=EU:ESBER@EN6EM'EN$EPEUEUEW EWDRDPDUD\D\D_DZDWDSDNDNDMDK|DMsDKkDMaDDEDD>DD#DC,DC9DCEDIaDIxDKDKDNDZDWDSDRDMDHDAD?D5D9D>D>DDDDD>E9 E<E?EF"EH3ENEEKTEAQE7IE+NEgEvEEEEEEE#E*E+E(E-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFF FFF FF(F~(F{#Fv%FvFmFjFjEgEbEYETETE[EhEoEqlErBErEEv?E|EEDEEELEOENEQEEE=E?E~8E1E3E'E'E"E$E)E!E~E{Ev&Er)Er5Eq?EmEjElEmEmEhDgDgD`DXDODID?zDDDBzDIwD=uD:mD1JD0ED1HD3FD3>D64D36D,AD+>D'4D$%D&D'D)D$D& D$D& D& D'C'D&C"C"DCCCCCCCCC C CCCCCCCCCxCCCCsC}CsCqCgCSCUC[CPCICNCVCZC[C`C`CVCLCFC?C2CAAA2A5A5A+ApAa@^@_@h@m@r@|@@@@@@@@@A@@@@@@@@@@@@@@@@@@}@z@x@}@@@}@|y@}t@xt@wy@x{@x@s@n@m@_t@^l@Zb@^]@a^@iY@sL@xE@|=@w3@x0@u0@r5@p3@n.@m!@h@a"@c@f@h@p$@n@s@s@r@s@u?u?u?s?r?n?m?m?n?d?f?a?^?J?F?F?E?C?>?7?2?%?%?*?(?*?'?#? ? ??????????????? ???? ????????|?p?U?A?A?K?R?a?s?p?i?i?m?x?w?z?????????????~?t?o?g?g?Z?I?8?.?)?&?)?+?)?)?&????? ?????????????|?????? ????? ? ???? ? |?w?p?p?x??|?x?s?^?R?K?M?J?A?@?6?/?,?,?6?7?O>R>R>O>M>L>=>1>,>$~>~>v> q>o>s>n>x>s>v>}>}>y>q>n>l>n>l>q>t>y>x>}>}>x>}>}>>>}>y>i>j>n>i>d>Z>L>B>8>>>>====================================={=z={=v=s=q=n=k=k=g=f=b=\=]=\=W=S=I=F=<=9=4=/=+=+=%=#====== w=m=j=c=O=B=>=6=1=;=;=6=6=3=/=)= $=$= = =7"=I"=l= ==}===== =<<<<<<<<<<<<<<<<<<< <<<< <%<*</<6<;<@<E<L<Q<V<\<a<f<j<t<<<<<<<<<<<#<2<5=3=-<(<.<2=5=?=F$=L%=N'=K1=G3=L8=P6=oR=yR=M=E=;=G=J=R=[=e=u===================>&>+>3>.>D>L>N>Z>Z>d>g>e>j>j>v>#>,>/>9>C>J>T>Y>a>u?w?w?z#?|,?6?A?@?@?;?@?T?\?p?z????????????????????????? @ @@@ @@?? ?@@"@'@,@6@;@B@G@L@S@Y'@]8@b;@eD@gJ@gX@bl@b|@^@X@X@`@e|@g@h@e@c@e@j@lw@ol@rV@|J@5@|+@y @t@v?q?o?l?g?e?c?`?^?[?Y?V?V?T?L?D?B???:?6?5?1?0?$?"?????????? ???????????????}?p?k?d?d? ^? ^?P?M?K?A?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>y>x>j>l>v>y>~>y>{>v>x>q>g>o>q>y>>x>t>{>{>}>>>>>>> >>>>>!>&>)>+>.>0>3>3>,>,>&}>"x>o>g>d>_>_>Q>L>L>&Q>&N>!I>'=>)B>,A>00>,>) >& >'="=&=&==="=$=!y=y=p=c=V=R= G= 6=/=3=/=3=*==<<<<<<<<<<<<<<<<<<<x<u]<hW<dX<aP<dS<fP<d?<T?<FM<FF<M><C5<@/<;2<95<9D<<K<@K<AN<>P<;N<6S<7Z<>R<CR<Aa<Cg<<s<<{<9}<<<><4<1<(<%<"<< << u<q<u<n<i< \<"U< I<H<K<F<C<7<+<<<<" <% <'< ;";%;";;;;;;;;;;;;; ;;;;; t; l;l;h;5;);;;;; ;; ;;!;$;:;?;D;L;S;e; q; |;#|;'q;*m;(h;'^;*S;*B;,?;/D;2?;7?;<8;>,;C);E$;H!;H;E;E;F;E:C:>:<:;:9:9:;:<:>:@:<:@:C:E:C:F:H:J:J:M:M:R:Yr:WY:YW:WT:UW:UU:PF:M>:K7:J7:F>:C<:AF:>J:;J:>@:91:;/:;*:<%:@#:A(:C%:<:9:2:1:4':/':2,:4,:21:,,:%/:#*:%':( :%:#:':%:'9'9*9-9/9296929/9*9(9'9*9*9(9%9#9,9,}91l9/_91Q96K9;=99792(9'(9 +9(9 9 99"9"8'8-8/96948682868786828686828282828484~828181j82m84f84`82\86E86684*8-8-8172717/7#77 v7g7Z7R757*776666666666x6t6q6j6d|6dt6bq6_]6SS6QS6SI6QG6KI6FB6I:6F:6D36B'67"656)6(6$6#665556 5 5 55555555555555555555555z5r5n5k5d5\5W5T5K5C5>525-5'555 554u4o4h4`4^4`4\4[4R5Q5Q 5T*5V65T<5RU5Y^5\c5Wa5Vf5Ym5Yr5Tr5Rx5Lr5Hs5Gr5Cs5Br5Cm5Bi5;m58r54k51r5.k5'r5 m5m5f5a5d5n5r5u5 5 555 555%5*5.5.535456585656565858565/5*5'5%5$5 5 5%5'5$555555555 55555555555555555556 6"6"6!6 "6!6 6 6 65656666&6.6 ,6,6366666"56+6)16,06/363066)6816/L6*m6168666/6.6,6*6$6 66666 666666677 7 777 7 7+727>777>7>7?7:7979777-7&7-7*7#77 7776677 7777&7/7(7/707470707*7!7x!7s%7q+7l07k57f<7fI7_K7_I7aF7Z77X97R27K?7H>7D07?*79&72 7/ 707/7* 7 77677 77 7 6 666666666666666666666666666666|6{6t6q6h6]6L6@6@6?6?686865636.6,6,6+6'6$6$6!6!6!6"6&6"6"666 666666666666t6h6b6`6]6Q6Q6J6|I6z@6n56d&6_!6T6O6H6A67 6- 6(5%5555555555555r5m5d5a5W5W5U5P5M5}K5~E5{A5y>5vA5t;5s95n65j75g45d25]'5] 5[5X5S5P5K 5G5B5A4<43404.4+4+4(4+4+4(4&4$444444444444 444444444444{4x4v4j4d4[4N4K4=4<48404-4)4(4$444 443333333333333333333333333333333333333333333333333333333333333~3y3w3t3y3w3u3r3o3o3m3r3p3e3e3c3`3^3^3W3R3R3V3T3[3Q3O3Q3L3H3E3E3B3B3C3C3@3=3@393836363.3)3%333%3'3 3333333 3 33333333333 3 3 3333332222233333.31383936363B3B3>3G3G3L3J3@3>3B3 @3B3@3B3@3(E3-C33E35J38H3=G3DE3IC3NB3S@3X>3]=3d;3i93n83t63v33{13~,3'313333393B3G3M3[3\3m3m3k3m3o3w333333333333333333344344444#4!4$4$4!4$4$4&4#4$4&4(4+4.4042474<484?4 B4D4 G4I4I4N4L4P4K4L4P4 Q4"N4#I4'I4-N41N46V4;Z4E]4JZ4T_4Y_4de4dl4hn4in4mj4pl4ug4|j4o4x444444444444444444444q4j4]4Z4V4L4?4:404)4(4$444 433333333333333333~3p3j3f3c3a3V3G3=363*3%3'3 3 3 3 33333333333323 3 3322222$2'2,202325282?2@2?2B2J2N2N2L2G2G2J}2Jx2Gn2Ii2Od2Q\2SZ2TU2SK2VK2YP2]N2^H2bC2]>2^22]%2Y!2[2Y2Y 2^2`1^1^1c1g1o1t1w111111111111111111 1 1 111111 1 111111!1%{1({1+1/~1214~15{17w1Fl1Ig1Pc1Sg1Sl1]o1ag1dX1gY1lc1nX1vY1S1L1N1J1?1=1:16161?1;1B1B1=151+1+1'1111111 11100000000000000|0r0n0d0R0J0F0A0C0>0<090'00 0////////////v/e/[/Q/K/G/7/3/3/(///........./ /(/{$/q/n!/g-/\./W+/U&/N(/H!/F/D/D/?/?/9//./.*.#..... ..................................t.`.W.~M.vG.v>.r=.m/.g).e$.`.[.V .X.b-c-e-l-w--{-f-W-~<-|5-~+-~--,,,,,,,,,,{,r,],T,Q,t8,g.,`,,^",Y,V ,V,Y+Y+O+L+L+L+G+G+I+Ez+Bn+6W+3F+3>+8'+= +6+5 +6+8*6*;*;*=*@*B*E*I*E*G*G*Eg*OU*YK*[?*^7*b3*g3*g-*h+*o.*y+*.*&*!***)))))))))))y)o)o)f)Y)T)C)') ))))(((((((((((((k(\(X(U(N(<(4(&(( (('''''''''''''' ' ''''''''' '!'%~'2V'4L'5G'5)'7 ':'D&F&K&P&W&\&_&\&S&?&:&4i&&a& c&_&\&T&M& A&E&@&<&7&<&C&E&J&E&O&Y&c&h&i&d&d&R&C&;&2& &&| &y&r&m&m&q%t%v%~%%{%{%%%~%%%}%v%o%g%X%~Q%F%$%%% %$$$$$$$$$$$$$w$j$^$V$V$Q$T$R$@$=$6$3$)$$$$$$$############s#q#n#i#\#U#K#A#-#*#*#&####~#y#v#t#o #l #h#e"^"c"c"b"]"Y"V"S"S"Y"["Y"S"S"Q"O"Q"V"T"T"Sv"Im"Bq"?q";e"6^"5O"5D"18"11"..",'"."5":"="="="B!B!G!L!Q!V!Y!]!]!b!g!j!l!t!t!t!t!o!l!h!b!`!^!Y!X!S!X!X!T!V![![!]![z!^r!`k!^a!]_!]Y!`U!^P!cJ!jH!oF!w@!|>!~6!2!2!6!6!-!%! !!!!!                        x t n e Z Q P N A 8 . $       ~pmkpookf[TTJGGHC>96.*"  & +27>CIPW]agpu{zvqkaZRH<5-&   %')))%',/6;>BC E BB=;999;61/,*'%"$ vy{rl c ]SOE=:6,+)    ""s%k%\ UT^ahhhWRHFJ E"E$M$P%R'H*>/@1<8;=2='9'4-1(,1*4%1'*,'/1 ,'$$$)**$$*.36;88>EJRV[^afmrzxoe]XPLD80$~ywwyytzotmkkcmWoOoLjGh=f3f'eca``^\YWV^^YTWWYYRQRQMzEv@{9z9p@gB_>U;K@K@A=9=09-9#8884684431/.,,,*%""$$~wrqmebhbYQEB:;=3+.)$       $.6@DEE?6.${unkggbaa]ZSPPNwIuDzCDFDA><52-****#     xppmif_TJA@<2*(}yyogd_XVLDB:2)))!~|trmka`[[`aYWMJGBEEGLE81,),'%    !!!#*}-v7u9s9q4l4b/]/U/M0A+<&7!<4+!+!&#%%#   #%-/ 00/005992/(%%+--((#  {tmc[SNIGDLNE=3+&    ~|wvww{{{{|zw}zwm|\{TtPoOhOcO]KXJQHJFEFBO=Y:^1a+\$U!MF@> ;72/,*2<CPT\cfhfni^chkhmw|umd _ YRK!F$A!><< AEEA<97441/ *(%#! '.5::;B@=3351)00. + ' & "      zpmkfh~d^^\^}Y}UyOvKvFqCq@i>g@d<]>XEVHXKU^QaGfDnFpFs8x3($#   #&#yra^\YRMGB=9664/*'" "z$w*u.r4n8m=h>h;c;^@ZC\CYHTLTMMRFWEYE[CW>V6T2V/[-\'^"cafhf jhfkkkkottwz~~yxqd]XPIFA82-& ~wpmf\\WQMLC=8/.)$ |1|11111111111111222  22%272?2I2U2k2k2q2q2v2222{2v2o2g2]2X2T2S2N2B28202$222222222 2 2 2 2 2 2 2 2 2 2 2 2 {2 v2 s2 p2 q2 p2 k2 g2 g2 d2 d2 a2 b2 ]2 \2 Z2 X2 P2 P2 F2 F2 D2 C2 A2 ?2 >2 >2 <2 92 A2 <2 :2 22 /2 02 &2 &2 02 22 02 *2 -2 +2 -2 -2 /2 -2 *2 (2 *2 2 2 #2 !2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1} 1} 1w 1w 1s 1s 1x 1| 1} 1} 1| 1| 1} 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1} 1z 1u 1u 1r 1u 1 1 1 1| 1| 1x 1u ~1s 1s |1r |1p w1f t1f q1d l1i l1k h1n h1r l1s h1w h1x g1z h1z m1} l1 m1 m1 g1} e1 b1} `1 ^1 ]1 [1 X1 T1 V1 X1 X1 T1 S1 V1 [1 [1 ]1 ^1 e1 h1 c1 b1 ^1 `1 e1 e1 l1 m1 m1 v1 r1 j1 b1 ^1 ]1 `1 e1 h1 m1 m1 o1 w1 w1 {1 r1 q1 r1 r1 m1 o1 l1 j1 h1 ^1 ]1 b1 `1 b1 `1 `1 c1 `1 ]1 ]1 [1 X1 X1 V1 [1 Y1 ^1 ]1 V1 X1 V1 S1 T1 Q1 T1 X1 [1 [1 Y1 ]1 `1 `1 c1 g1 b1 ]1 ^1 ]1 ]1 X1 X1 ^1 [1 ^1 ^1 b1 e1 b1 j1 m1 v1 y1 |1 {1 j1 g1 g1 y1 {1 |1 ~1 1 1 1~11111y1v1 v1 w1111111|1w1y1v1t1l1j1l1!t1$r1$o1&m1.r1.m10l13r15q15l18j18l1:j1?v1?q1;l1=h1Bh1El1Eg1Ig1Jg1Lm1Ol1Qj1Sl1Th1Xj1[g1Xe1Xc1Vc1Qb1O^1V^1Y[1VY1VV1QY1NY1N[1JV1OV1TS1TT1XS1TO1SI1VI1VN1YL1YJ1[L1[G1XG1VE1]D1`I1^J1]L1`L1`O1bL1eN1hJ1hL1jO1gO1gT1oT1qV1hX1eV1cX1`T1^T1`X1^[1cY1eY1c]1e`1g^1jb1lb1o[1q[1q]1q^1rY1t]1r`1t^1tc1re1oc1oe1mh1je1ch1jj1ol1jr1oo1th1tj1qm1qr1rq1tm1wm1yj1yl1vq1qv1lw1oy1q|1r~1q1m1q1q1m1h1l1j1c1`1]1[1`1b1c1b1e1g1l1q1r1r1r1m1l1t1t1v1v1w1y1~1y1w1y1w1y1{1|1111111~1|1~1{1{11|1{1~1111111111~111{1w1w1{1y1y1v1r1o1m1t1y1{1{11|1~1|1|1{1y1r1c1`1^1Q1N1G1I1G1E1B1B1=1=1:161513151616101'1$1$1111 1111111111111111111 1 1110000010000111 1111110001000000000000000000000000000000000000000000000000000 0 00000000000000000111 11111 1 1&1#0!0 00!00!000 0#0&0(0!0&0&0(0004050:0<0C0D0H0K0M0N0R0R0S0Z1\0_0a0a0b1d0d0g0g0i0l0q0s1v1p0u0u0v0v0u0s0x0x0{0{00}0}000000000{0{0x0z00000000000000000000000000000000000000011 1 111111111!1&1,10111:161;1?1?1B1B1 E1 D1J1T1X1[1]1'e1)j1%j1'm1/j16o1=r1Bq1Ct1Gv1G{1J1L|1M~1J1M1M1R1T1Q1M1H1G1E1C1B1@1>1918191818161613131/1,1.1,1/1/111.112.2,2.2*2*2, 2) 2.2>2E2J2Q 2T 2`2h2k!2k*2h/2h22h92j<2k?2jD2mI2j]2p_2rg2uk2up2~z2x2v2z2v2{2{2z2{22222222222222222222222222222222222222222222333 3 3 3333222222z2z2~2y2r2p2o2o2m2m2h2h2f2e2c2\2^2[2T2Q2O2G2E2;242/2)2 2222222222222z2u2n2b2X2A2?2D2A2<242&2!2 22222 222111111111111}1{1x1n1Z1Z1\1a1f1g1f1b1d1a1_1a1_1]1]1Z1U1R1M1M1P1I1K1H1H1:191915141/2* 2#2 2#2%2%22  22221111111111111|1|15O"0S"&S"L"D"B"E"N"O" [" ^"^"h"h"b"^"]"h"t""""""""""""""""""#"# #######&#/#4#F#K#K#U#W#\#|Z#w]#r_#dk#cn#\q#Z{#W#P#M#J#C#C#A#;#*#'######}#u#k#k#n####### $J$a$f$o$y$$$$t$s$t$d$d$]$S$Q%Q%I%KD%ID%B=%3<%2=%.P%_%q%v%v%~%%%%%%&&&H&p&&&&&&'''"')'.'5'='D'J'Q'Y'`'h'o'v'|''''''''''''|'w't'r (h>(^X(T(T(V(Y(Y(B(9(M)M)Q%)\>)h[)pz)z)))))* *&*I*Q*j**********++ +*+1+<+>+E+\+s+}+++++++&+.+7+B+N+P+S+[+i+t+++++++,,$,~;,T,{`,r,y,,,,,,,,,,-2->-U-]-d-l-g-l-x------ ---'-,-2-4-2-,--.2 .6.9.<$.>*.C9.@G.AW.>^.>e.Af.Em.Ep.Ar.Cz.9.;.4.7.6.2.4.;.;.7.;.E.P.U.Z._.h.x.z.......f.M.C.;.4...)......-----{-i-W-M-&--?->-\-U-X-\-$_-)b-.f-3i-6k-;n-@q-Eu-Jx-N{-S-X-]-`-e-j-o-t-w-l-e-c-b-X.V .[.`.e$.g).m/.r=.v>.vG.~M.W.`.t.................................. .....#.*././.9/?/?/D/D/F/H!/N(/U&/W+/\./g-/n!/q/{$/(/ //.........//(/3/3/7/G/K/Q/[/e/v///////////// 00'090<0>0C0A0F0J0R0d0n0r0|00000000000000011 1111111'1+1+151=1B1B1;1?16161:1=1?1J1N1L1S1vY1nX1lc1gY1dX1ag1]o1Sl1Sg1Pc1Ig1Fl17w15{14~121/~1+1({1%{1!111111 1 111111 1 1 111111111111111111w1t1o1g1c1^1^1`1^2Y 2Y2[2Y!2]%2^22]>2bC2^H2]N2YP2VK2SK2TU2SZ2Q\2Od2Ii2Gn2Jx2J}2G2G2L2N2N2J2B2?2@2?282523202,2'2$2222223 3 33233333333333 3 3 3 3'3%3*363=3G3V3a3c3f3j3p3~333333333333333333 444$4(4)404:4?4L4V4Z4]4j4q444444444444444444444x4o4|j4ug4pl4mj4in4hn4dl4de4Y_4T_4JZ4E]4;Z46V41N4-N4'I4#I4"N4 Q4P4L4K4P4L4N4I4I4 G4D4 B4?484<4742404.4+4(4&4$4#4&4$4$4!4$4$4!4#444444344333333333333333333w3o3m3k3m3m3\3[3M3G3B393333313'3~,3{13v33t63n83i93d;3]=3X>3S@3NB3IC3DE3=G38H35J33E3-C3(E3@3B3@3B3 @3B3>3@3J3L3G3G3>3B3B36363938313.3333332222233333 3 3 33332222222222222222222222222222222222222222222{2z2{2{2v2z2v2x2~z2up2uk2rg2p_2j]2mI2jD2k?2j<2h92h22h/2k*2k!2h2`2T 2Q 2J2E2>2.2) 2, 2*2*2.2,2.212.111/1/1,1.1,1/1313161618181918191>1@1B1C1E1G1H1M1Q1T1R1M1M1J1M~1L|1J1G{1Gv1Ct1Bq1=r16o1/j1'm1%j1)j1'e1]1[1X1T1J1 D1 E1B1B1?1?1;161:11101,1&1!111111111 1 11100000000000000000000000000000}0x0n0k0i0f0R0M0M0H0H0E0C0<0;06040604020,0(0%0#0'0"0 0"0%0'0"0"0}000000 0{ 0z 0z0z0z/s/s/p/q/l/k/l/i/f/f/_/\/\/W/P/M/K/F/C/C/?/A/</?/?/:/7/7/9/>/?/>/</>/</:/7/5~/4/2////~/(t/*g/(d/&b/([/&Z/%[/ V/!Q/%P/&Q/+P/-P/2S/2L/4N/7Q/7V/5[/9`/9e/:g/<d/Ai/>n/>q/D/H/N/M/N~/R/S/U/W/Z/]/a/a/d/f/d/b/d/b/a/ay/bt/po/pg/nb/p`/pZ/q[/xd/xn/{s/}s/zy/}y/{/v/q/t/s/{//////////////////////////////////{/x/t/q/o/j/g/`/_/]/V/P/L/L/D/A/A/=/=/D/G/B/=/3/0/$/#////////// //..........v.x.u.s.u.q.u.i.f.d.].Z.W.S.It.Hp.Ny.Mp.Np.No.Ro.Nk.Kc.K^.N\.N[.NT.MM.HJ.?8.C6.C1.H/.N).R.P .K.H-F-C->-:-:-7-(-----....... .$.*.8.;.C.O.R.V.m.k.o.t.w..~.....y.u.y.~...........././ ///!/)/3/7/=/=/D/F/S/Q/Q/S/Z/g/i/g/i/o/j/j/q/t/y/}////~////////////////////////////////////////~///~/{/w/t/v/v/l/j/l/m/l/j/h/e/e/c/b/c/h/j/m/t/t/m/o/l/j/o/r/q/t/r/q/m/m/h/c/b/c/c/b/Y/]~/[}/]{/[y/]t/^v/^{/c/c/c{/`v/bt/cq/^s/[q/[j/Xi/Vl/Xe/TX/NL/LI/OG/JG/J?/L=/N=/Q3/N+/J+/I)/E+/E./J2/L5/I8/G /; /9 /4 /1 /- /% /% /# / / / / #/ &/ +/ )/ +/ )/ ./ 0/ 0/ 2/ 2/ 3/ 7/ :/ 8/ :/ :/ 5/ 7/ 3/ 3/ A/ L/ N/ Q/ V/ X/ `/ l/ n/ l/ n/ i/ j/ j/ o/ o/ t/ y/ /x /l /e /` /` /d /g ~/j x/n t/o q/s `/o U/s L/o B/q ?/t ?/v .9 .5 .4 .* .& .- .- .2 .4 .7 .0 .0 .( .% .! .% .& .+ .- .* .( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . z. z. . . z. p. o. t. r. w. y. w. u. o. m. p. w. z. |. |. z. |. ~. z. y. t. r. u. y. z. r. o. j. h. e. ^. ^. a. ^. \. \. [. W. [. Y. Q. V. W. ^. `. e. `. \. [. Y. W. W. [. Y. V. O. O. R. C. C. B. @. B. B. >. ;. 4. 4. 1. /. .. *. *. .. *. ,. ). $. ". . . . . . . . . . . . . . . . . . . . . . . . . . . .y $.y .o .t .t .r .o .j .c .b .[ .X .V -[ -b .b .b -c .e .g -c -c -e -c -c -^ -[ -X -Q -J -D -N -T -V -X -[ -Y -X -V -S -I -L -G -G -J -J -G -D -? -; -: -= -@ -= -; -: -8 -5 -3 -; -= -= -: -= -= -: -: -: -= -? -8 -6 -3 -0 -+ -) -& - -! - -! -& -! - - - - - - - - - - - - - - - - - - - - - - - - ----}-s-n-l-l-k-i-d-f-k-b-]-X-X-Z-S-W-U-R-K-K-I-A-<-:-:->-<-4-/-5-0-/-&-#-!-#-#- -----------%-(-&-!- -!-#-#-(-#-%-%-------- --- - ---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,,,,,,,{,|,v,o,l,h,e,g,e,b,b,`,b,`,`,b,c,`,`,`,b,^,^,^,[,X, Y, Y, e, l, w, v, j, c, `, ^, [, X, S, L, L, N, S,V,T,N,G,B,:,?,I,O,V,Q,O,J,S,X,],],Y,`,^,`,],^,[,[,Y,X,S,O,I,G,?,;,5,5,;,=,B,D,I,J,B,@,=,=,:,8,8,6,0,1,.,",$,&,",,,,,,, , ,,,,++++++++++++|+z+|+}+++++++++++++++|+x+w+x+z+|+|++}++++|+u+s+r+r+h+k+n+k+i+h+i+h+h+k+k+p+m+i+i+h+_w+_u+ax+fz+hr+ip+hk+fm+fr+ck+cf+cd+dh+fh+dd+hc+i_+h^+hZ+d^+a\+aZ+a\+c^+da+cc+c_+_\+^U+\T+ZO+\H+W>+M9+T9+W;+T7+W7+\C+_E+^C+^>+Y6+T6+M7+K7+M2+J2+J-+J(+F#+M#+O"+P#+P'+O'+R(+R%+U(+U'+U%+T%+R"+\#+Z"+Z +^+a+_+U +U+T+U+T+R+P+K"+E +@+;+6+9 +; +< +; +6 +2 +2+1 +-+' +'+%+#+%+#+ + +++"+"++++++++++++ + "+ #+ '+ (+-+,+ ++++++ + +++********************* ** ********** *"*#*'*%*"* *#* *"*'*,*/*/*2*7*7*A*E*F*E*E*F*J*W*W*U*W*W*Y*Y*\*^*a*c*d*c*f*c*c*k*i*n*m*f*d*d*c*f*h*r*p*m*m*r*u*s*w*z*}**z*x*x*u*u*s*n*k*h*d*c*f*a*a*c*_*_*d*a*^*^*_*\*\*_*d*d*h*i*p*n*p*p*r*p*r*u*r*p*r*w*x*|*}**********~*****z**}*}~*|~*|*x*w*s*s*r*s~*ry*py*sy*ux*wy*u{*x{*wy*wx*xv*}y*}v*zt*}q*}t*o*s*t*q*q*o*o*n*o*}l*l*j*i*i*o*l*j*g*i*i*g*e*d*d*`*`*_*]*`*_*]*]*]*`*_*b*b*b*}b*}_*|b*z`*xb*wb*zd*|e*xd*wd*zg*xi*wi*wg*sg*sd*re*rd*n`*p`*pb*r`*p`*m_*m]*m_*kX*pV*pZ*nZ*n[*r]*rZ*w_*uZ*xZ*wX*xS*zQ*|Q*zP*xP*wN*sP*rN*rP*nL*nP*kL*fD*nK*rF*sG*sF*sD*pD*mA*n=*m=*m<*k8*m7*k7*i7*k.*i7*i+*n)*p&*u#*w*r*r*n*p)s)u)u)p)r)x)})z))))))))))))))))))))))))))))))))))))))))))))))|)p)j)f)`)[)R)M) L) =) ;) 8) 6) 1) ,) ')! ')" %) ) ) ) ) ) ) ) ( ( ( (((((((((((((((((((}(z(x(u(v(q(i(g(g(a(](Z(X(N(K(M(C(C(?(:(5(/(&((((((((((''(''''''''''''''''''''''''''''''''|'z'u's'p'n'h'd'a'T'R'P'M'J'J'C'A'C'F'H'F'K'M'K'F'F'M'R'T'Z'^'d'k'm's'z''|v'xh'ug'sc'n`'hY'fT'dS'aL'aI'cD'a@'i;'i6'i3'd.'a&'_&'a"'d'f'n's'u!'x'z' ' '' ' ''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & & & & & & & & & & & & & & & & &! && &, &, &1 &3 &: &; &@ &B &I &L &O &X &[ &] &` &j &l &q &m &l &h &l &m s&j k&m ^&h M&c C&c @&[ 7&[ 2&T ,&S '&Q %&V "&Y &] &` "&g %&l ,&q /&v -&y 1&| /&~ '& '& ,& (& '& & & & & (& 1& 4& -& ,& /& 2& 7& ;& >& A& J& O& R& U& W& U& Y& Y& c& f& i& n& p& s& u& x& x& }& & & & && &( &- &4 &7 &2 &2 &5 &9 &: &A &A &C &H &N &b &d &n &p &v & & & & & & & & & & & & & & & & & & & |& s& s& r& p& k& h& c& _& _& ^& _& Z& Y& Y& \& \& Z& U& W& W& R& O& J& J& E& A& >& 9& 7& 4& /&$ ,&$ (& #&' &' & & & & & & & & & & % % % % % % % % % % % % % % % % % % % % %% %' %) %* %* %/ %4 %9 %> %J %Q %Q %[ %Y %W %M %J %J %O %T %[ %\ %^ %c %e %f %m %p %m %k %m %t %w % %| {%| t%y o%w i%r d%r `%m [%m V%j V%j Q%a S%a N%Y K%W B%[ 5%^ 2%` (%c $%c %e %a %` %c %f %e %j %o %t $u $o $j $j $h $c $c $\ $R $Q $H $G $C $C $@ $@ $> $= $; $6 $8 $4 $4 $3 t$/ p$/ k$ a$ \$ R$ M$ H$ B$ @$ 4$ 3$ 9$ 8$ /$ *$ '$ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # # # # # # # # # # {# q# l# d# ]# W# M# K# P# P# N# :# (# &# !# # # # " " " " " " " " " " " " " " " " " " " " " " " " " " " " o" l" o" h" e" c" ^" [" V" Q" L" E" =" :" 3" 0" ." &" &" " " " " ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! }! m! d! ^! Y! U! R! J! C! >!) @!/ @!4 >!3 9!/ 4!* %!. !1 !3 !8 !6 9 9 @ B @ @ G R Y ` f p p u r a [ Y \ a e |   t  g  [  U  D  5  )                                | u ` W T W R W Y V T Q L H E = 8 4 ' $     & + 2 3 7 : = ? D F G F = A : : : 8 : ? I K L P Z ] ` _ ` e g j n ~                                                  # # " # , / 7 E J H K J K O T Z Z \ p s r $u )z %} $ ) 1 4 B G J R T T ^ ^ \ ^ f f f c ^ Y T M H E B = 8 3 / . "                   x u u s p f b ] Z S H > 4 &              !"$'0:=GNSY]]]YYy]wewltq`t[rIoDlBq@v:v1{,w!w|"$)+.38:BEIVX^YQGBGGJBEBDD:88?= 6 0)  !(/459<DKMS_gklux{ $+1@@:?S]cehm  !/:FKPX k { "'*349=CELMRRR \\*`.f/j4kCkTm[r\uY|W~\^[\WVYROQWY[fzymffp~(r.m7j=eIh]clhqftkvtyt}k}e[@43;HLhjmo|   & ) 8 A G K I A - ( ( 2 <  A P E_ Yn ro sy r~ n i c ^ Y Z \ \ \ Z!\!U!P!K!K!O1!R2!U;!\F!aK!ch!nn!px!xz!|x!z!p!r!i!p!r!!!!!!!!!!!! !!!!!!&!+!.!.!1 "0".",'".."11"18"5D"5O"%%~%v%v%q%_%.P%2=%3<%B=%ID%KD%I%Q%Q%S$]$d$d$t$s$t$$$$y$o$f$a$J$ $######n#k#k#u#}######'#*#;#A#C#C#J#M#P#W#Z{#\q#cn#dk#r_#w]#|Z#\#W#U#K#K#F#4#/#&####### ##"#"""""""""""""""""t"h"]"^"b"h"h"^" ^" ["O"N"E"B"D"L"&S"0S"5O"6^";e"?q"Bq"Im"Sv"T"T"V"Q"O"Q"S"S"Y"["Y"S"S"V"Y"]"b"c"c"^"e"h#l #o #t#v#y#~####&#*#*#-#A#K#U#\#i#n#q#s#############$$$$$$)$3$6$=$@$R$T$Q$V$V$^$j$w$$$$$$$$$$$$$$ %%%$%F%~Q%X%g%o%v%}%%%~%%%{%{%%~%v%t%q%m&m&r&y&| && &2&;&C&R&d&d&i&h&c&Y&O&E&J&E&C&<&7&<&@&E& A&M&T&\&_& c&&a&4i&:&?&S&\&_&\&W&P&K&F&D&:'7 '5)'5G'4L'2V'%~'!' ''''''''' ' '''''''''''''''( ((&(4(<(N(U(X(\(k(((((((((((((())) )')C)T)Y)f)o)o)y))))))))))))**!*&*.*y+*o.*h+*g-*g3*b3*^7*[?*YK*OU*Eg*G*G*E*I*E*B*@*=*;*;*6*8*6+5 +6+= +8'+3>+3F+6W+Bn+Ez+I+G+G+L+L+L+O+Y+Y+V,V ,Y,^",`,,g.,t8,Q,T,],r,{,,,,,,,,,,,-~-~+-|5-~<-W-f-{--w-t-o-j-e-`-]-X-S-N{-Jx-Eu-@q-;n-6k-3i-.f-)b-$_-\-X-U-\->-?--&-M-W-i-{------.....)...4.;.C.M.f.......z.x.h._.Z.U.P.E.;.7.;.;.4.2.6.7.4.;.9.Cz.Ar.Ep.Em.Af.>e.>^.AW.@G.C9.>*.<$.9.6.2 .-.,-2-4-2-,-'--- ------x-l-g-l-d-]-U->-2--,,,,,,,,,y,r,{`,T,~;,$,,,++++++t+i+[+S+P+N+B+7+.+&+++++++}+s+\+E+>+<+1+*+ +++*********j*Q*I*&* **))))z)pz)h[)\>)Q%)M)M)9(B(Y(Y(V(T(T(^X(h>(r (t'w'|''''''''''''|'v'o'h'`'Y'Q'J'D'='5'.')'"''''&&&&&p&H&&&&%%%%Q{^eh{m{rxz{z{qlgdaXKH?94/0-!     (038DKLQUijiqooonnlooiied``dgggedddedd%e%jnl y&-457::DIP_}'%(,((1//6477<@@CMRRYWWWZ\}PsObJiHdJWMWMSPPRPURUPOIPCRCUDR9W0a0a-a+Z(a!hca^_\RTUYUUMJPORHMHH@@EC<772|1w/v-t1q-o/j,j/h2b,c,`*^-]1S2S*V*S-S/O-N2B(L(D,B,@*B(@#G II E#@'?':%="= @="55. '#!%(*/ 14479<AEEA< <>A!F$K!RY_ d mu|wmhkhc^infhfc\TPC<2*,/27 ;>@F!M$U+\1a:^=YBOEFJFQHXJ]KcOhOoOtP{T|\mwz}wz|{{{{wwvw|~    &+3=ENLDGINS[cmt{  #((--+%%(/299500/00/ -%#   %##%!&!++4!<&7+<0A/M/U/]4b4l9q9s7u-v*}#!!!    %',),18ELGEEBGJMWYa`[[`akmrt|~!)))2:BDLVX_dgoyy}(*2<@AJT_fimppx     #****-25<>ADFDCDzIuNwPPSZ]aabggknu{$.6?EED@6.$       $).+3=;:BEQYbhbemqrw~$$""%*,,,./13448648889#9-=0=9@A@K;K>UB_@g9p9z@{EvMzQRQRYYWWTY^^VWY\^``acef'f3h=jGoLoOmWkcmkottzyywwy~$08DLPX]eoxzrmfa^[VRJE>88;63.*$$**)$$$',1 /,''*%1*4,11(4-9'='=28;1</@*>'H%R$P$M"E EJFHRWhhha^T U%\%k"s"    )+,6:=EOS ] clr{y v$"%'*,/16;999;=BBE C B>;6/,'%)))'%   &-5<HRZakqvz{upga]WPIC>72+&   "*.69>CHGGJTT[fkoopkmp~      $ . 8 A N P Q Z e n t x                         !!!! !%!-!6!6!2!2!~6!|>!w@!oF!jH!cJ!^P!`U!]Y!]_!^a!`k!^r![z!]![![!V!T!X!X!S!X!Y!^!`!b!h!l!o!t!t!t!t!l!j!g!b!]!]!Y!V!Q!L!G!B!B!="="=":"5"."0"1 ".!.!+!&!!!!!! !!!!!!!!!!!!r!p!i!r!p!z!|x!xz!px!nn!ch!aK!\F!U;!R2!O1!K!K!P!U!\!Z!\ \ \ Z Y ^ c i n r~ sy ro Yn E_ P  A < 2 ( ( - A I K G A 8 ) &    |omjhLH;34@[}e}kytvttkqflh]cIh=e7j.m(r~pffmyzf[YWQORYVW\[^~\VT|L~LJGB=911,% {uqib_XNH>7*& |vlc[VOID=60,&" |snkcZRHA;2,% ||wtohhjoruto}kxfyexao^jWgV_Q[QZRVLSJNLGJ?G8E2B-=(;!61131 .*%'"   zwoh`TME8,% '.8>HQW^^``achmty~ }vsld\UM >5/            rhbXNE86. '#( -25:=FLQQLQSXXV]X[]`beeijlilnooqsqtooqsty}y !&+))003155'&'"&)!   ((%(>@CFF JO MHEC>;;7972,((,/2;>CFEHHEHHCACAA9229479;@>;>A@7z6s4p2h-f1c-_-\,\,_,h(i'c#dkrsxx|| nkca c ^^UMJC<;7;@AEEA<>@AA<></*'-2792% ~vg`XLD<-${voje_ZUNID=83-(# |wrkfa[VQJE@94/)$$$     %*/6;@GMR|Vw\waufpjkoer^wR~HB;4*" ~|yurmhea\YVQ{(((((')0)3)5 )@)E )G)G)D)@)=')B))I/)G3)G;)NR)D[)=[);a)Bc)=j)8p)6z)5|)?z)Dw)Ew)Iw)J~)Qz)Vw)Tu)St)Tr)[k)^j)`c)c`)g`)j[)r\)w^){\)\)W)V)W)Y)\)e)j)j)m)u)z))))))))))))))))))))))))))))))************))): *K *P*\*d)i)l)p)s)v)x)x){)))))))))**********))** ** * *** ****** ))))))))%)))*)3)3)1)8)8)B)E)H)H)G)G)O)O)R)[)^)^)^)c)h)j)j)o)t)u)u)p)o)k)j)k)k)m)u)z)|)z)~)~)))))))))))))))~)k)[)O)L)H)H)B)C)B) >) >)9)9)6)6)4)/).),)$)#$)!)$)().)0)5)D)D)F)I)K)N)N)P)Q)Q(V(V(X([([(`(b(j(j(s(t(x(x({(}((((((((((((((((((((((((((((((((((((((((((((((((((((())))(((((((((((((((((((( (((((("(#('(*(*(*(-(/(/(2(/(*(*(((((%(%( (((((z(p(#i("i( g(b("Z(#X("U(%M(-D(1D(9?(<9(C7(E4(K4(M0(M*(R/(R2(Z2(a7(c5(_0(c2(n<(}:(9(}7(|/(/(-(*(((}*(w#(u(}((((( ( ( (((''''''''''(''(((((((((&(/(5(:(?(C(C(M(K(N(X(Z(](a(g(g(i(q(v(u(x(z(}((((((((((((((((((( ( ( ( ( ) ) ) ) ) ) )" %)! ') ') ,) 1) 6) 8) ;) =) L)M)R)[)`)f)j)p)|))))))))))))))))))))))))))))))))))))))))))))))z)})x)r)p)u)u)s)p)n*r*r*w*u#*p&*n)*i+*i7*k.*h3*h2*d2*f5*d8*c0*_-*d.*c+*a+*a(*c(*d)*h(*i$*h#*h!*d*h*h*d*h*f*f*d*d*a*a*^*^*Z*\*Z*Z *W *U *R*P*U*W*U*R*R)P)T)U)R)P)O)K)F)F)A)>)<);)6)4)4)2)1)-)-)/)4)7)7)4)7)4)7)4)7)4)6)2)/)1)4)2)2)1)-)*)*)-)*)')-)-)1)1)1)4)6)7)6)6)7)4)6)4)4)/)-)()*)()#) ) ))))))))))))) ))))))))))))))))))))))))|)|)z)r)t)r)p)k)c)c)a)a)`)[)a)^)\)[)W)V)V)V)R)R)V)V)V)Q)V)T)V)Q)M)O)vM)tJ)tG)tE)l@)bC)]L)]G)ZJ)ZL)UO)QM)NO)KO)LQ)SO)SR)KT)AW)7`)7c)0e))k)$t)!r)#y))))))))))) ))))))))))))))))))))))))))))))))))z *y *)))z*z*w *w*w*t *t*r*t*e*f*^*\&*^)*a)*c+*`0*c3*W:*[5*Y5*W7*VD*O?*L=*HB*GD*HG*CG*@D*BI*BK*HG*LI*MF*OG*OK*MP*OQ*LS*JP*JK*GK*>L*9P*4V*3U*4X*,Z* `*l*o*s*t* s* o* o*s* v*x*}*}*~**~*~******************************************z*p*l*l*f*a*_*k*n*i*f*d*b*a*]*X*S*N*M*K*I*K*R*U*R*K*H*H*F*C*C*A*>*>*?*A*D*D*D*:*:*7*7*5*5*2*4*0*-*+*/*2*/*!**** ******************************************************************************************************o*l*j*m*l*h}*^y*]x*^s*^j*[g*Vb*Q`*OV*GS*GP*DN*EL*GG*D:*=7*.0*0&*.*'*!**)))))))))))))))))))))")')')+).)+)))')")!)))&)))))))!)$)))')+),)+)")!))))))))))))))))))))))))))))))))))))))))))))))))))~)t)y)y)z)))))))))))))p)f)`)V)m)t)z)~)~)y)|)|)h)9)1).),)s')m")i)_)Z)Y(\(^(\(a(f(d(h)f(h(h(i(p(r(m(p(x((((((((((() ) )))) ))((((((((( ( (((((((((((!(!((!(("()()(.($((((((({(z(z(u($q($n(&n(0u(1(5(5(8(;(?(J(O(S(Tx([s(]n([n(Yl([k(Yl(Ti(Tk(If(@f(?_(B](EX(@R(?R(?I(BI(EF(IH(TF(TH([H(bD(bA(cD(hD(jH(lI(jK(oI(oF(vF(wC(wD({I(wM({K(~I(|I({F(~C(A(A(?(?(:(9(:(<(:(:(<(>(A(>(>(<(<(:(9(9(>(C(D(A(>(:(7(4(2(2(7(9(7(9(9(7(4(5(4(-(+(&(&( (!(&(&(!( ((( ( ( ( ( ( ( ( ( ( ( (( (+'0'F'K'N'M(M (P(P(U(X(a (q&(z2(2(5(7(?(F(N(S(X(d(i(k(u(z(}((((((((((((((((((((((((((((((((())) )))))) )%)))3)=)>)C)E)G)J)M)R)zT)q`)pe)qj)pr)xt)}z)y)u)r)k)k)h)h)o)o)p)r)y)~))))))))))))))))))))))))))))))))))))))))*****)))))))){)x)x)v)s)p)l)i)d)\*P*K *: *)))************)))))))))))))))))))))))))))))z)u)m)j)j)e)\)Y)W)V)W)\){\)w^)r\)j[)g`)c`)`c)^j)[k)Tr)St)Tu)Vw)Qz)J~)Iw)Ew)Dw)?z)5|)6z)8p)=j)Bc);a)=[)D[)NR)G;)G3)I/)B))=')@)D)G)G)E )@)5 )3)0)')(((((''!')'3'#5' D'#J''Q'(O''G''D'(D'/D'2G'6G'9N'AS'FV'RX'R^'Re'Yj'\t'd'i'm'k'd'^'Z'T'R'M'F'F'K'M'K'F'H'F'C'A'C'J'J'M'P'R'T'a'd'h'n'p's'u'z'|''''''''''''''''''''''''''''''''''''(( ( ( (((((}(u(w#(}*(((*(-(/(|/(}7(9(}:(n<(c2(_0(c5(a7(Z2(R2(R/(M*(M0(K4(E4(C7(<9(9?(1D(-D(%M("U(#X("Z(b( g("i(#i(p(z((((( (%(%(((((*(*(/(2(/(/(-(*(*(*('(#("(((((( ((((((((((((((((((((())))((((((((((((((((((((((((((((((((((((((((((((((((((((}({(x(x(t(s(j(j(b(`([([(X(V(V(Q(Q)P)N)N)K)I)F)D)D)5)0).)()$)!)#$)$),).)/)4)6)6)9)9) >) >)B)C)B)H)H)L)O)[)k)~)))))))))))))))~)~)z)|)z)u)m)k)k)j)k)o)p)u)u)t)o)j)j)h)c)^)^)^)[)R)O)O)G)G)H)H)E)B)8)8)1)3)3)*)))%)))))))) )***** *** * ** ***))******)))))))))))))))))))))))))))))))))))))))~)y)r)p)o)o)h)h)k)k)r)u)y)}z)xt)pr)qj)pe)q`)zT)R)M)J)G)E)C)>)=)3)))%) )))))")$)')*)1)1)9)9)8)9)8)8);)9)>);)B)>);)8)3)4);)@)>)6)3)6)=)@)@)C)C)%@)'9))6)'1),,)9')>*)@/)B.)E)J )M )Y)c(m(u(y(((((((((((((((((((((()($($()()(0x(3d(2Z(-U(+S((X($X(M(I(C( C(A(>(7(/(&(#(((((( ((( ' '''''''' ' '' ''''''''''''''''''''''''~'|'w'l'l'o'r'r't'r'w'v'|'' ' ''''!'&')'-~'3y'8~'<~'<'A'D'G'L'P'V'`'g'j'o'q'y'''''''''''''w'j'b'^'Y'Q'N'L'J'E'D'@'@'=';'8'='B'J'G'D'?';':'5'1')'&'&'!'!'!'''')))) ))))((((((((((((((((((((((((((((((((}(z(u(k(i(d(X(S(N(F(?(7(5(2(z2(q&(a (X(U(P(P(M (M(N'K'F'0'+' (( ( ( ( ( ( ( ( ( ( ( ((( (!(&(&(!( (&(&(+(-(4(5(4(2(%(&(%((((((((( (((('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''|'r'q'l'm'l'g'g'e'g'c'c'g'j'l'j' g' h'j'l'm'l'h'(o'2l'5m'9r'Aq'Ft'Cq'Cl'HQ'KJ'PL'MJ'IJ'HI'D1'H+'D)'>'9'9'9'7'2 '/ '*'#''''' ' ' '' '''''' ''&&&&&&&&&t&l&g&b&^&^&`&^&X&S&O&G&B&?&@&?&8&.&,&+&)&&&&&&& & & & &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''' ''w '^ 'Y'U'K'H'F!'H"'J!'O"'R'T'R!'K&'>+',.' 6';'D'J'I'@';':';'8'6'3'0'.'+','.'0'0' .' +' &'$''''"'''+'0'5'6':'6':'@'?'E'J'L'^'`'e'v'y'|'''''''''''''''x'o'd'U'K'B'?'?'B'B'A'F'K'K'N'P'K'K'D'D'A':'7'3'<|'=v'Br'Nw'Q~'V'[~'b'g|'i|'j'q'qw'tr'oo'qh'oe'te'ye'}c'c'`']'['S'E'D';'5'1'.'+')'&'"'!'$'!'!'''''''' ' ' ' ''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&"&%&"& &%&"&(&-&-&6&9&6&<&>&<&<&C&F&F&H&E&C}&A}&Az&@x&Aw&@r&<u&6w&2u&/s&/r&1p&-p&/m&2k&2i&4h&6d&>c&Y\&Z\&W^&Ta&Ua&Y^&c_&i^&ma&uc&zf&|f&h&m&k&n&i&h&i&m&n&k&h&i&k&m&k&n&p&r&u&x&}&x&w&w&z&|&z&|&z&}&&|&z&|&&&&&|&}&&&&&&&&&&&&& & &&&&"&&&,&5&6&:&:&:&;&;&@&D&I&G&I&N&O&T&V&c&h&l&r&y&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&!&&&*&4&5&<&C&M&N&S&\&_&a&g&l&q&z&{&&&&&&&&&&z&w&w&u&h&f&c&c&a&a&^&_&Z&^&\&c&h&n&r&r&p&p&r&s&w&z&&&& &&&$&3&9&=&B&E&E&H&L&M&L&J&M&V&[&`&f&k&p&m&f&a&[&\&f&j&m&w&z&~&}&|&x&z&}&}&&|&|&&&z&|&x&x&w&w&r&i&h&h&f&f&a&a&^&T&T&M&M&K&J&C&2&1&*&(&*&-&/& ,& (&*&(&(&"&!"&#%&$%&("&)&(&#&$&)&2&?&B &? &?&:&8&="&?"&A'&A1&L2&Q1&_/&e(&i-&o/&v7&7&2&7&4&<&;&;&>&E&H&K&K&M&P&R&U&\&_&a&c&i&w&|&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&' '''''''!'!'!'&'&')'1'5':';'?'D'G'J'B'='8';'='@'@'D'E'J'L'N'Q'Y'^'b'j'w'''''''''''''y'q'o'j'g'`'V'P'L'G'D'A'<'<~'8~'3y'-~')'&'!'''' ' ''|'v'w'r't'r'r'o'l'l'w'|'~'''''''''''''''''''''''' '' ' '''''''' ' '(( ((((((#(&(/(7(>(A( C(C(I(M($X((X(+S(-U(2Z(3d(0x()()($($()((((((((((((((((((((((y(u(m(c(Y)M )J )E)B.)@/)>*)9'),,)'1))6)'9)%@)C)C)@)@)=)6)3)6)>)@);)4)3)8);)>)B);)>)9);)8)8)9)8)9)9)1)1)*)')$)"))))'!'!'$'!'"'&')'+'.'1'5';'D'E'S'[']'`'c'}c'ye'te'oe'qh'oo'tr'qw'q'j'i|'g|'b'[~'V'Q~'Nw'Br'=v'<|'3'7':'A'D'D'K'K'P'N'K'K'F'A'B'B'?'?'B'K'U'd'o'l'l'n'o'j'`(L (D(<(.-()9(#A(H( R(X(i(g(k(i(n(k(i(i(f(d(d(g(d(b(|b(|_(w](ka(ak(^i(^l(Tg(>i(1g(%g(p( z( {( ( (( ((((((((((((((((((((((((((((((((((((((((((((({(v(s(s(p(i(d(a(P(>(5(+((((((''''''''''''' '''' '"','4'9'G'M'O'['hy'kv'rm'yg'zb'|b'e']'V'V'X']'g'c'^']']'Y'T'N'L'N'L'J'I'J'N'Q'L'J'L'O'S'L'J'O'N'N'I'I'I'G'B'B'D'D'@'=';':'8'5'8';' :';'5'(6'-3'71'76':5'F6'U3'[1'`.'l)'t"'' &&&&}&|&|&z&|&x&|&z& }&z&z&&w&0u&1z&.|&.}&3|&1&5&8&;&=&?&@&D&B&D&J&L&N&Q&T&V&T&Y&Y&]&b&g&m&o&r&r&y&y&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&& &&&& &%&+}&-z&0z&2z&0w&9u&<w&:u&<u&Ar&Cs&Kn&Km&Nm&Ni&Ri&Uf&Xd&Zf&Z_&ka&p_&x_&Z&zZ&u\&qZ&k\&_Y&W\&RY&MY&IZ&IY&KW&IU&MW&NU&PW&RU&SW&WW&WY&XY&XT&ZR&]T&\R&aP&bP&bT&iR&nR&pP&zO&{O&}P&R&R&R&P&O&H&F&H&E&C&@&@&>&<&@&C&F&K&F&H&E&E&C&A&>&>&<&9&4&6&4&2&4&4&6&4&6&2&-&/&-&/&/&2&/&1&/&%-&',&)-&1-&1*&4,&8*&;#&@ &B&C&G&L"&[%&c"&p#&w(&y-&y*&u%&t#&u&t&t&p &&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%w%r%r%w%|%%%%%%%%%%%%%z%o%m%k%`%c%f%a%`%V}%Vy%Y{%Vx%Tt%Wt%Mj%Og%Ve%Le%E`%>`%;_%,P%%G%$B%$8%/8%3<%6<%9?%=A%EA%J=%MA%J<%E?%>=%38%33%43%=8%@7%93%42%*2%*.%*+%.(%6(%C)%>&%C&%G(%H)%L.%L3%M+%O)%E#%;#%,%*%*%'%* %, %.%/%3%1%/ %1 %4 %; %@%@%B%C%B%M%R%T%Y%V%T%R%M %C%@ %;%1%1$1$3$6$4$8$;$@%G%J%M%O%M%J%G%B%;$9$;$=$C$L$T$Y$c$c%f%p$t%r$u$c$[$W$Y$^$`$a$c$a$^$[$^$^$R$L$G$E$>$>$=$C$W$[$c$e$p$u$u$t$w$z$|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $$$$!$!$&$$$&$+$-$3$=$=$I$Q$P$Q$P$Q$S$Q$V$Z$]$_$Z$]$b$e$l$o$q$t$t$x${$$$$$$$${${$}$$$x$s$n$i$b$`$]$e$i$n$n$s$y$}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~$z$y$w$u$r$m$f$e$a$h$m$k$j$a$^$^$a$e$c$`$Y$Y$R$Q$[$[$\$\$`$`$W$T$R$R$W$W$^$\$^$\$[$Y$W$W$\$\$V$T$L$J$G$=$@$G$M$J$H$G$C$E$B$C$C$@$@$=$=$=$;$ 8$/$ 8$8$9$9$9$9$8$1$%$"$$$$$/ $9 $A$F$K$R$U$Y $^ $^$c$_$Y$W $Z'$R*$M,$R3$c.$s,$,$.$,$1$4$4$6$6$8$G$H$J$L$M$O$T$R$V$Y$Y$\$c$e$c$h$f$a$`$a$^$^$`$a$c$e$a$ a$ h$k$r$ w$ w$ z$ y$ z$ y$" |$. |$8 ~$= ~$@ $E |$S z$X z$^ u$g u$h y$h |$] $] $^ $] $` $b $` $Y $[ $X $V $T $Q $Q $S $Y $` $o $| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % % $ $ $ $ $ $ % % % % % % %! %% $%- .%0 -%4 (%: &%< (%> $%I #%R &%X #%a +%f )%g 0%l 3%l 5%i 5%i 7%p G%z P%z Z% ]% d% g% l% v% }% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & &' &' & #&$ (&$ ,& /& 4& 7& 9& >& A& E& J& J& O& R& W& W& U& Z& \& \& Y& Y& Z& _& ^& _& _& c& h& k& p& r& s& s& |& & & & & & & & & & & & & & & & & & &v &p &n &d &b &N &H &C &A &A &: &9 &5 &2 &2 &7 &4 &- &( && & & & & & }& x& x& u& s& p& n& i& f& c& Y& Y& U& W& U& R& O& J& A& >& ;& 7& 2& /& ,& -& 4& 1& (& & & & & '& (& ,& '&~ '&| /&y 1&v -&q /&l ,&g %&` "&] &Y &V "&Q %&S '&T ,&[ 2&[ 7&c @&c C&h M&m ^&j k&m s&l &h &l &m &q &l &j &` &] &[ &X &O &L &I &B &@ &; &: &3 &1 &, &, && &! & & & & & & & & & & & & & & & & & &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''' ' '' ' 'z'x'u!'s'n'f'd'a"'_&'a&'d.'i3'i6'i;'a@'cD'aI'aL'dS'fT'hY'n`'sc'ug'xh'|v''z's'm'i'd'\t'Yj'Re'R^'RX'FV'AS'9N'6G'2G'/D'(D''D''G'(O''Q'#J' D'#5'3')'!'''''' ''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&w&i&c&a&_&\&U&R&P&M&K&K&H&E&>&;&;&<&4&7&2&7&v7&o/&i-&e(&_/&Q1&L2&A1&A'&?"&="&8&:&?&? &B &?&2&)&$&#&(&)&("&$%&#%&!"&"&(&(&*& (& ,&/&-&*&(&*&1&2&C&J&K&M&M&T&T&^&a&a&f&f&h&h&i&r&w&w&x&x&|&z&&&|&|&&}&}&z&x&|&}&~&z&w&m&j&f&\&[&a&f&m&p&k&f&`&[&V&M&J&L&M&L&H&E&E&B&=&9&3&$&&& &&&&z&w&s&r&p&p&r&r&n&h&c&\&^&Z&_&^&a&a&c&c&f&h&u&w&w&z&&&&&&&&&&{&z&q&l&g&a&_&\&S&N&M&C&<&5&4&*&&&!&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&y&r&l&h&c&V&T&O&N&I&G&I&D&@&;&;&:&:&:&6&5&,&&&"&&&& &I T V X [ X X Y ] ] [ ] ]    | { w y   y | ~ y | ~ | 0q <q [t _ d q x ~    | y w w {                           ~ t n j e& `0 bA iH iN jS j] ja gd bb Id Dk <s (z $ ( . : ? L Q [ e t }               - 44 >= FO iW c m                              #  '! )# ,$ ,( '( !+ 8 D "I 'L 'P $X $e i i n t ){ .{ 6 : ? @ I J O N N Q V Y ] ] ^ e j m m q r l b [ S N E @ = 3 0 , ) , + 0 . ' ' ' "                % ( / 2 6 < C F M K M O R U W Z d h i i k h i p u              & . : G ] gz tw z                   # ( / 4 9 ? D I P U Z a f p s u u x                   " . / 3 8 = B E H M T Y ^ c f f f ^ \ ^ ^ T T R J G B 4 1 )} $z %u )r $s p \ Z Z T O K J K H J E 7 / , # " # #                                                  ~ n j g e ` _ ` ] Z P L K I ? : 8 : : : A = F G F D ? = : 7 3 2 + &       $ ' 4 8 = E H L Q T V Y W R W T W ` u |                | u p j e f j h c c \ \ Y~ Wz [t \t ^h \j Yh Wc Ya W` Q^ OW LT MO GL EC GB M= R; Y8 [6 `/ c/ k) t* t1 r4 u4 z1 z/ * ) % " "                                  (  +  2  5  N  P  S  U  d  g  o  ~                         ! ! ! ! ! ! %! *! 1! 1! 7!} 7! @! F!} H!x F!u J!q U!u Z!x ^!x d! s!x }!u }!k }!d !d !a !f !i !k !d !d !b !f !f !d !b !b !a !] !Z !X !R !U !S !W !Z !] !] !b "U "R "P "R "M "K "K "P !"S +"R 1"N 8"P ="S @"R I"U J"W J"S Q"W T"W V"U Y"S X"P ["M b"S j"X l"] j"d m"k q"u t" r" m" l" g" c" `" b" b" g" c" g" e" e" h" l" r" r" t" o" l" o" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "{ "z "z "z "} " "x "z "u #q #p #q #n #n #q #p #s 7#v :#z :#} >#} F# K# N#x a#u n#v #z #x #v #v #x # # #x #z #x #z #x # #} #z #x #{ #} # # #} #} # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ '$ *$ /$ 8$ 9$ 3$ 4$ @$ B$ H$ M$ R$ \$ a$/ k$/ p$3 t$4 $4 $8 $6 $; $= $> $@ $@ $C $C $G $H $Q $R $\ $c $c $h $j $j $o $u $t $o %j %e %f %c %` %a %e %c %c $%` (%^ 2%[ 5%W B%Y K%a N%a S%j Q%j V%m V%m [%r `%r d%w i%y o%| t%| {% %w %t %m %k %m %p %m %f %e %c %^ %\ %[ %T %O %J %J %M %W %Y %[ %Q %Q %J %> %9 %4 %/ %* %* %) %' %% % % % % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % }% v% l% g% d% ]%z Z%z P%p G%i 7%i 5%l 5%l 3%g 0%f )%a +%X #%R &%I #%> $%< (%: &%4 (%0 -%- .%% $%! % % % % % % % % $ $ $ $ $ $ % % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $| $o $` $Y $S $Q $Q $T $V $X $[ $Y $` $b $` $] $^ $] $] $h |$h y$g u$^ u$X z$S z$E |$@ $= ~$8 ~$. |$" |$ y$ z$ y$ z$ w$ w$r$k$ h$ a$a$e$c$a$`$^$^$a$`$a$f$h$c$e$c$\$Y$Y$V$R$T$O$M$L$J$H$G$8$6$6$4$4$1$,$)$,$,$*$'$%$%$$$$$$$$ $ $ $ $! $' $3 $8 $; $B $D $D $= $= $D $E $E #= #= #E #E #? #6 #. #) #' #& # # # ######## # # # # # # # # # # # # # # # # #! #! #, #0 #3 #; #? #= #@ #B #E #I #Q #V #] #` #^ #` #e #j #l #h #j #l #o #v #o #o #w #w #r #o #{ # # # # # # # # # # # $ $ $ $ $ $ $ $ $ "$ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # # # # # # # # # z# u# s# l# i# \# S# N# D# 4# %# # # # # # # # # #! ## #& #( #& #- #0 #7 #9 #< #? #> #: #9 #: #7 "5 #5 #2 #2 "0 #/ #+ "( "% "% "( "( "+ "( "* "/ "/ "2 "4 "5 "C "H "I "H "I "K "N "P "U "R "M "K "I "I "F "F "C "C "C "? "? "? "D "D "C "? "? "? "D "F "C "D "D "F "H "K "M "N "P "R "R "W "W "] "_ "g "b "W "U "X "W "M "M "I "H "D "> ": y"7 r"4 r"2 o"/ r"+ r"* o"! l" j" l" m" o" v" y" |" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " {" y" v" m" q" m" l" j" h" g" e" j" l" m" " " "~ " "y "t "q "h "g "c "c "` "^ "X "V "S "S "S "N "I "G "= "; "8 "6 "3 "0 ". "+ ". ". "+ "$ "! " " " " " " " " " " """""""""""""""""""""""""""""""""""""w"r"p"s"p"s"u"z""x"s"r"s"u"x"w"u"r"n"m"k"m"r"z""""""""""""""""""""""""""""z"z"r"r"m"k"m"k"i"h"k"n"p"w""""""""""""}"w"r"n"s"z"x"|"z"w"r"p"~"{"y"w~"p|"m~"ky"rv"pt"rt"wr"xr"|t"t"o"q"o"o"v"t"q"h"h"c"`"]"Y"V"X"["^"b"o"q"q"h"e"c"^"V"T"zL"u?"u;"p)"m!"k"d"Z!O!H!C!2!/! !!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}!r!s!r!i!a!a!^!^!h!h!m!k!m!n!m!c!W!T!M!H!H!A!C!A!>!>!@!A!E!H!H!F!K!H!J!M!K!M!R!W!Z!Z!\!\!Z!Z!U!T!T!P!T!n!U!E!>!;!6!'!{"!x!x!y!{!v!s!v!v!j!`!U!L I = < < : : ? - &                     } n j b ` ] U = 8 ( # ! ! $ + - - - + - - ~( |& ~$ y& m m j h f e^aceeccaefeee`\RE==1*19CB@B8/$%/46444|3y4w1t)e"\T TMHHGEHJJORROTRROHCHMMzOfYaY]WXWA`?`A^H\RVURWR]OUORMRLWLXJUHUGRGREFLDQDWC[?[>`:aAa5c-a-`*`*a(a!^`\[[QJEC>;;@31,,*'w*w,y*w.q.r)jj"o'q)o/c/]1:/31**%" $')%    zwmmnmkiaa^PHEAv9i6d2b-N,M(M'I,2/02+Hpz|}z||} 3588ETmqqy{rolljtrtolhgmljgghcb`^YYVSI==:?@ED=:565*170:,C,>,>.>0?.C0C.H,S+R+U,S.U1U.X,Z.Z,W)X'g&q!vz}         "$$%*4>@BBGHORQLRVVcehjtwwttuwy||~|~    |$}#!#$#$&))+|.|2z7x<z=}<7578??|GxKuXuXxVzZ}VSQXZ[]_]|`zdzb}d}g}egilnlst}x}s}qn|jxnxgsbrbpgrgpgmlpopqssr}r{n}nsrnmnpuz|xspkixspmiikifhdfihiiddaccffhkiknrsxxz|z|"|z#x'z#s%u(u*w-s/x1z2x1s4r4n7m7u;u;s>sAp@n@i<i;f@fCiEhCc>c<_>^A^HiMaO_M^UZYaYYZY^aafakckch_a^Zd_khmmsruz|}x}xuwnxkwdx^wUzUWY_dhihd^WURUZ_dhknrx||zzrkd^ZROMOMJFFJFAA>;;;/2677>A>;;6621*-(*#%,//11/-*'%((*(   ""',12}6z6x;s>n<c9T*O*M(H,A A;7 6/2-(#%*,y;gFZMUTNaDcFf?p5u-}$   $)&()++.2257:=DGLPQSZ[issxx}     ~{soonieedeeUD??:8.-$                ! & & & $ $ & ' ' ) , 0 3 . . , 0 : ; : ; ; = @ D G N N S T S Q O O I E @ ; ; : 8 6 6 8 : ; ? = ? @ ? @ D I """""""""""""""""""""""""" " " " " " " " " " "! "$ "+ ". ". "+ ". "0 "3 "6 "8 "; "= "G "I "N "S "S "S "V "X "^ "` "c "c "g "h "q "t "y " "~ " " " " m" l" j" e" g" h" j" l" m" q" m" v" y" {" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " |" y" v" o" m" l" j"! l"* o"+ r"/ r"2 o"4 r"7 r": y"> "D "H "I "M "M "W "X "U "W "b "g "_ "] "W "W "R "R "P "N "M "K "H "F "D "D "C "F "D "? "? "? "C "D "D "? "? "? "C "C "C "F "F "I "I "K "M "R "U "P "N "K "I "H "I "H "C "5 "4 "2 "/ "/ "* "( "+ "( "( "% "% "( "+ "/ #0 #2 "2 #5 #5 #7 ": #9 #: #> #? #< #9 #7 #0 #- #& #( #& ## #! # # # # # # # # # # %# 4# D# N# S# \# i# l# s# u# z# # # # # # # # # # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ "$ $ $ $ $ $ $ $ $ $ # # # # # # # # # #{ #o #r #w #w #o #o #v #o #l #j #h #l #j #e #` #^ #` #] #V #Q #I #E #B #@ #= #? #; #3 #0 #, #! #! # # # # # # # # # # # # # # # # # ######## # # #& #' #) #. #6 #? #E #E #= #= #E #E $D $= $= $D $D $B $; $8 $3 $' $! $ $ $ $ $$$$$$$$%$%$'$*$,$,$)$,$.$,$s,$c.$R3$M,$R*$Z'$W $Y$_$c$^$^ $Y $U$R$K$F$A$@$; $- $($ $$$/$6$E#R#a#h#m#p#s#w#u#x#x########################################{#u#x#x#u#q#l#f# a# b# i# g# d#" b#, b#0 g#. b#6 a#8 Z#5 W#6 \#1 a#+ a#' _#$ \#+ D#1 9#: 2#@ #E #L #V #[ #] #^ #` #] #Y #V #O #N #N #Q "[ "[ "X "T "T "Q "J "L #I #I #B #6 ##5 %#6 (#8 -#6 2#1 5#' 7#" :#) :#+ :#" K#& K# W# ]# _# _# Z# \# ]# ]# \# U#S#N#]#_#f#i#k#k#d#_#U#P#N#R#U#W#U#X#Z#a#b#f#f#d#a#a#Z#U#S#M#H#D#?#A#A#<#7#2#0#2#4#2#/#+#*#+#*#/#0#4#0#-#(#&### # ### #&#&#!################ ##### # ###"|#z#z"|"""""#"##""""""""""""""""""""""""""|"|"}"""""""""""x"w"s"u"|"""""""""""""" " " " " " " " " " " # # # !# &# (# :# N# P# P# K# M# W# ]# d# l# q# {# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #} #} # # #} #{ #x #z #} # #x #z #x #z #x # # #x #v #v #x #z #v #u n#x a# N# K#} F#} >#z :#v :#s 7#p #q #n #n #q #p #q #u #z "x " "} "z "z "z "{ " " " " " " " " " " " " " "                           )  5  D  U  [  g  t  | e a \ Y [ a r u p p f ` Y R G @ @ B @ 9 9 6 8 !3 !1 !. !* %!/ 4!3 9!4 >!/ @!) @! >! C! J! R! U! Y! ^! d! m! }! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " " " " &" &" ." 0" 3" :" =" E" L" Q" V" [" ^" c" e" h" o" t" r" r" l" h" e" e" g" c" g" b" b" `" c" g" l" m" r"u t"k q"d m"] j"X l"S j"M b"P ["S X"U Y"W V"W T"S Q"W J"U J"R I"S @"P ="N 8"R 1"S +"P !"K "K "M "R "P "R "U "b "] !] !Z !W !S !U !R !X !Z !] !a !b !b !d !f !f !b !d !d !k !i !f !a !d !d !k }!u }!x }! s!x d!x ^!u Z!q U!u J!x F!} H! F! @!} 7! 7! 1! 1! *! %! ! ! ! ! ! !                        ~  o  g  d  U  S  P  N  5  2  +  (                                 " " % ) * / 1 z4 z4 u1 r* t) t/ k/ c6 `8 [; Y= RB MC GL EO GT MW L^ O` Qa Wc Yh Wj Yh \t ^t \z [~ W Y \ \ c c h j f e j p u |                 $ ' ' & ) , '% &( )/ 'C ,D 5I ;H @D DD OH QI OI SM TR SW XZ X] ]_ ba cb vf {d ~f g i g p z }                     t m j g c Y$ ?) .1 &9 > G V Y \ ^ a c j o r w z |                           ! ' , 3 : ? E L Q X ^~ c| h~ q~ v~ |                      | z ~      & + 2 7 > C I P U \ b g n u z                              $ 2 2 8 < )< 15 /5 15 =2 @2 H2 R7 f7 j= t= z? |D zF uD oG jK jQ fQ tV ~[ [ _ b e i o n j i e i j l o n j j b _ Z X Z ] ] i s y       !   $ ( $ & . 8 : B G L U [ _ g y t o l i l# l' g- e- b/ V6 S9 P> NA KF NJ NK NM XJ bJ iH lF vE yC E F J J K M O T Y c k m n w z                             !$&0158??8 8 :? @ BJ"J'O'Q2S4V1X2[@]ObYcwgehhghjhjljbcjjq tvqw!{,v1v:q@lBoDrIt[q`ltew]wYyY]]]YSNG=:0'$"!               & 4 > H S Z ] b f a Z U P I D ? 9 4 / ( #                 z w z t g ] G : . &            u p i h k i i h d Z W U R O M K M F C < 6 2 / ( %                  " ' ' ' . 0 + , ) , 0 3 = @ E N S [ b l r q m m j e ^ ] ] Y V Q N N O J I @ ? :{ 6{ .t )n i i e X $P $L 'I 'D "8 + ( !( '$ ,# ,! ) '#                              m c W O i= F4 > 4 -               } t e [ Q L ? : . (z $s (k <d Db Id ba g] jS jN jH iA i0 b& ` e j n t ~                         { w w y |      ~ x q dt _q [q <| 0~ | y ~ | y   y w { |    ] ] [ ] ] Y X X [ X V T I G G O S V T O G D @ B D E B D I L N T X Y O I L L O S S Q T V X T N N |O tL wJ tL kT mY mX kT kQ jQ fT fS eV aT `T aS cT \V \V `Y aX ^] ^] [^ Yc [c ^g ae ^g [g Rh Mm Mv Jy J| H J Q H H E E B C @ > E B ; ; @ E E C > ; 8 4 4 3 . ) ' '                                                        } x x u q k K D C H C < ? > 7 2 0 + &                                   o h g h b [ Y ^ ^ T T V X X V Q I B @ ? B 1 + + ) ) $ !    " "     #(*,/29;AJJKJFJEFJMPRY_admmmsz|zuriaZWRPRP H A<42 764,' $$*).3 1./16;;963/*%"$" '*331.,14}8x8q8j;j@l@sC{HLRV[``a`chmmkmpuuw|~ %,2;AHRZckns| "&,06=DIOV[clv| &*7>HNX_biqu{ %,119=BGJ~L|LTV~\|WuYr\m[kTkCj4f/`.\*\R RRMLEC=943*'"  { kXPKF:/!  mhec]S?:@@1+$ {xulkkikidbd__aaa|_u_mbdb__ZbTaP]J]CZ>S;N9N7S6W1W,Z(a#_"]XXX _d i iikqvxuuspsqnnkfdgbbdknuvxzvvv}qvqssqxlsivdq]s_u[qZsVuVuNqKuFv?v7u0s)q#spqvx!$&)&)2:AGNV]binv}  !(*/59>>?><>~<w>pDoKpKkNjNeP^RWZT\W\`_^f\lWqYq\v`xk{m}r}u}|{xvuussqsqsux    !+-38?DFLPU]djqv}~yy{{}vnib]VNGA:2)&)&$!xvqpsq#s)u0v7v?uFqKuNuVsVqZu[s_q]vdsixlsqqsqvv}vvzxvunkdbbgdfknnqspsuuxvqkiii d _X XX]_"a#Z(W,W1S6N7N9S;Z>]C]JaPbT_Zb_bd_m_ua|aa__dbdikikkg_SMKD<954/(!  ) 0 6=?88:DDBEBJGGBGQY^XVIEB@:,' xp|f{cvcw^tUtJr>m6VT TV]eor|{{qqoliiqtqqnlieZSQND=85($!~ ~~|vtvlmrv{~zz|                      ! & & $ )) $. &5 !< !B D D F F G G I I K K L L N U Z _ e s { ~                               # - 6 U \ a d h h p w x | |                                 $ 5 ; G O S T S X g l o v              !!&!)/8<B?L>Q>mP{NNk{ ,668>ET^achuz~z{vrmlvtv|~~~ !$(58=DNQSZeilnqqtqiiloqq{{|roe]VTT Vm6r>tJtUw^vc{c|fpx ',:@B:83.+)$"|ww!qvtq jjcbjljhjhghhegcwbY]O[@X2V1S4Q2O'J'J"B@ ? :8 8 ??8510&$!                            z w n m k c Y T O M K J J F E C E yF vH lJ iJ bM XK NJ NF NA K> N9 P6 S/ V- b- e' g# l l i l o t y g _ [ U L G B : 8 . & $ ( $   !     y s i ] ] Z X Z _ b j j n o l j i e i j n o i e b _ [ [ V ~Q tQ fK jG jD oF uD z? |= z= t7 j7 f2 R2 H2 @5 =5 15 /< 1< )8 2 2 $                                z u n g b \ U P I C > 7 2 + &    ~ z |                       ~ |~ v~ q| h~ c ^ X Q L E ? : 3 , ' !               $)/49@EJQV[afkrw| #(-38=DINUZ_ejov{$-<DLX`gv~tnljdb[XKA2&       &! $)))$*-4>>CMPY \ PPTYW\_cfmnruzzz           !!$&)#$#$)-23032277FFBFQPGAA:FGSVSQPGFBFLF=:52-( # '.68ENXbhr            /5 >MU\dlsv }~ytmhca``^^WQH>8.' %,8EMT`howz   "'%*.1 3116;!=(B-E2G8J?LGJNLSRVQZQ[V_Wg^jaoexfykxo}turojhhotw||~|wuupmkmmhc`a``[VRLHC{@s@l;j8j8q8x4}1,.133*' "$"%*/369;;61/.13 .)*$$ ',46 724< A HPRPRWZairuz|zsmmmda_YRPMJFEJFJKJJA;92/,*(#  {{yy~}vqjd]UPLFD?83-+!    xusqsqssuuvx{}|}u}r{mxkv`q\qYlWf\_^\`\WZTRWP^NeNjKkKpDo>p<w>~<>?>>95/*(!  |zuhca^TE>866,   x sld]UP!I%A(:+42+7%: :7: ?CFKNSX_dikqux{yqgc`b`^^Y[XSLGD@=;88865 . .)  "%),}1z6z=}BE}LxQwVzTQQRVY^|`uekhkhskrppwmyu~pif^\TKE<4/*(" yyywyyxyqwit_oZjVeSaL^DWBRALBEB@F;G6F/G*L*S'Q"KG?8 . # "" ""$$$      %(4455: ? ?A?HCCIMMPSPNDHNNSPPXX\\_]]\]Z]\_a]\WNN\dpz}}zppqlkklnplppnpssuuxzzz{{    "//.3@=C83319@BGECHW[`e \e `aYWL%6,,1'4@JT\^ehotwrrorokheRLGGJJJGC=*  $)*./148=EHHQ{VY\aehmruy|~ "*4;B~HwRr^oejkfpau\wVwR|MG@;6/*%     $$$$$""" "  # .8?G"K'Q*S*L/G6F;G@FEBLBRAWB^DaLeSjVoZt_wiyqyxywyyy "(*/4<EKT\^fi~pyuwmppkrhshkek`u^|YVRQQTVzQwLxE}B=}6z1z,})%"  ) . .56888;=@DGLSX[Y^^`b`cgqy{xuqkid_XSNKFC?: 7:: 7%2++4(:%A!IPU]dl sx  {kN{NmPQ>L>B?8<)/&!!!               v o l g X S T S O G ; 5 $             ,08;BIQQQQQQQQQQQQQV[gwuyp{h^UOJHEA<<4122-*%}xqgid``]]XUQI70+! wkfjf\\R94/             D l s v y               | x u i W K F A "                        # #   # ' , 2 4 C C E J P W Z _ h k i u w w z |                                                        '),.6;:;BEILQT[]^^`chmqvyy{|~}~}{xsqjllnjgnnje]]ZXQLFKLPSSVX_`[VNN PPKL K+N/L/I2D7D<A?DDBIFP:S:U8X:b3f7f<d=fDfGbNfZi[u[}`_lty{}{zzxligfaXRNPMMIFCA><9975000-+ 40"/-2/:9>;?ADCKKMRKWP_UaZfbzknps{xgb_]ZWRKH?<:752+%! ""$0?Ow{wc]YTJCJMLZT{VX[ehlojjggeeb` `boqrv~/49R\\fjfkw !+07IQUX]]``digqx}%*-2214<<AEHJOU^{hypwug[VQQQQQQQQQQQQQIB;80,                         | | x w p h h d a \ U 6 - #                               ~ { s e _ Z U N L L K K I I G G F F D D B < !5 !. &) $ ) $ & & !                               | z w r o j c a ^ \ Y V G > 9 1 &) .$ ? Y c g j m t                   } z p g i g f d ~f {b va c_ b] ]Z XW XR SM TI SI OH QD OD DH @I ;D 5C ,/ '( )% & ' , ) & ' ' $                                        | x r i f _ J E > 9                             x q q o l d _& [( X/ U4 U9 ZC QK QP LU Ka Nk L} F = ? A A < : 7 7 3 8 5 2 - ( ) &              z u s u v v p n i f zb wZ hZ \Z W\ Ta Rb Ob Cd @n 9p 4n /n %s q n n q v x }                      { v f R D < 4 & &       " 9 @ C M Q T O Q V [ [ ^ ^ a a ` a h m m p t |                    ] V T N J G B ; ; : : 6 5 1 , ) $ $   $ + : : ? ? ; 8 5 5 1 . + ' "   & ' '                2/7,<-A/F,K(K%P%P'P-N-M/N1P1S6U1Z-]*_#d i i#i%l*l/p,s1v*u#z"z {{xx v x z }     "$'*.331/1.,*))'" "' - 6 799<"@"<'9*4.-/'3"6;@@GLRVY ^"\'[-V/T2V6W>[CYEWERFMMLTHTCYC\@Z;^;c>h=h8m4n.r*u$w"z "'*/4669=BGMRY\WRHC@961".'13:LTYXY^ejw|wyvjg]TVNTONQNNLNJzDn@kBbN_L\L_IXLZI]E_B]?X;K;D8>8:19+<)?0F3F+K+M)N$M!HA>70/*# !%+257:<?HKRWZ]_bgx{spnkbzZfUaP_KWMRKKDC?A>;:92/68CBEELMWRhQuEC@;93.  $)./8=CLMQW\\fmpw~ &-28AFIPX]dqxy~~zwttokkkkfhjf hfac^"Y VRLG@@;63"/'.-*4'9"<"@<99 7 6 -' ""'))*,.1/133.*'$""ysnjjb[SQKGA?70.&  "$))146389>@>631/44|6z6r4m8e/W3Q3L6L4E68 &.07?AGKQS[bjjnsy""     }z x v x x{{z z"u#v*s1p,l/l*i%i#i d _#]*Z-U1S6P1N1M/N-P-P'P%K%K(F,A/<-7,2//-0"4+ -/4:?DIMSZ\_afknsvxuqnquzvx}}vvqnlg`VLB?:5)      -0005799<>ACFIMMPNRXafgilxzz{}}xvzuqnquxvsnkfa_\ZSMID?:4/-  ) , 0 3 5=@EEJL"Q&V$]$^$glmh ^ [ X Y X T V T X V Y X X V Q Q V S L J N L J J E I X X Y ] ` b ` ^ ] Qr Ok Ic ?Y =U 8P 0P .H ,F ,H &E &C 'C ,A 0< +6 )7 '4 "* ( "% "                 ! & ) , 3 ; D G Gy Jq Lj Oe Q_ XQ ]B ^B `? e! e h e ^ Y T N L I D = ; ; 8 1 . , , + ) $ ' + + . , ) + ) ' + ) ) $ & " !     !   ! ! ! " " $ $ ' '~ )~ +| +y 'w 0k 1e 3c 5a 6^ :a =` @^ @a Ea I\ GY EY GV GY JV NW N\ Q\ O^ N\ O` S\ TY XV VR [M VH VJ TG OE QJ SH QJ NG LG JC NB OE QB Q> S@ V8 T3 X/ V. Y, ]. b. `, b* c' b% b$ ^$ ` b" b c e h g g e c c ^ b ^ ` b b e c ` [ [ X Y X T T L J J I I I L L O Q O S T S S T V X X V X [ ] [ ` ` [ ] [ [ [ Y [ Y [ Y [ [ X X V Q T Q S T T V V Y [ ] ` ^ ^ b b ` ` ^ ` b b c e g j j l l m m m j l m o q r t r t v v w w v w w r t r t q t r w v v t v v t q o q o q v w | ~          |                                                          z u v u q g d b a _ ] \ X S R R N P N N K H D ? ? D D F D D F H H M N N P U X U Z \ S P N  P  M K M R X ] a a  g g d d b f i l n k n q u x               z  {   { } { x x s u p s p !q #{ !{ #} ! # # * + ( * - / - / 2 4 5 4 5 4} 5} 7x :x >z ?x C Mz Mu Pq Up Wf Zg \i Xg Xk Zk \n ]n dx gx g k l s u u s{ uv sk pU lM lC kA k? i5 l/ u2 {7 9 5 7 7 5 7 < A D I M P R \ a d l p n u                                       $ 3 4 > G M [ \ c \ T Q J E > @ M R ^ c o z             ~ z w u m p p k c ^ V V  Y [ ^ [ e j r                 )  3 = A F D  F "D $D $K 'N *Z /g 1i 6t ; = @ L L O M Q R V V W W [ [ \ a f j f2 fR ah ew ex c c f j r p k j j k j j ` Y T T Q L H E C G M HCM HJH@963''$1 3;@E'N)N)Q'g vwwy      */4>A K M Xfnv}   )$)*./1/684E6L3L3Q/W8e4m6r6z4|4/136>@>983641))$"       )5:?BLV`glnqvv}{ytl_}`u[i[fZbNfGfDd=f<f7b3X:U8S:P:IFDB?D<A7D2D/I/L+N KLKP PNNV[`_XVSSPLKFLQXZ]]ejnngjnlljqsx{}~}o{[ySvUqPrIyG~DGKKG<2-(# ~~~|wmWH|;{||wthgb[[X{SSSNV?V4V!e jlj^[YOSQSN|OySvXy[rcS`S[NVNOJGJ@G:I8J6N3N1L1Q,T'T&N'B'@$?&6$8"5630. . ' &" !   ^ /e 6m < U h m                   ~ | z z | w u u | y w w o W L H C = ; 9 3 4 3 1 / 1 , ' ' ' ' ' ' ' ' ' % % % ' ) / 6 > T T V |V uW pW iY cY \[ W[ P[ J\ C\ <^ 7^ /h xk sm lo gp br [u Vw Qy Kz F| A : 5 0 - &                                              # z$ u( o) h- a. [2 V3 O7 H8 B< == 6A /D *F $I L P S U X [ _ b e g j n q t v y }          { u n g a Z X W S R P M K I H D C A > < : 7 5 4 2 / - + ( ( - 4 : ? F K R X# ]' d* k, p/ v2 }6 7 ; > @ C F J K O R U W Z ^ a c f i m n r       * *3 E,LWO\TaXe]j`octhyl|otw{~ #(-2<GKKG~DyGrIqPvUyS{[o}~}|~{yyvqmhc`^^][TQLIEB;:;6.,)'                                                       | z w w u i k h _ Z W P J E C C 4 2 , ' #   # #                          " A F K W i u x |             y v s l D                            m h Um <e 6^ /          " # % ( , 1 1 7 6 9 7 $; )7 17 69 6< 5< 1@ ,M 8O ;M ?O BR DU IZ L\ O_ Lc Jh Lh Im Ep Gr Gw ?| =z 3| 1 8 8 : = ? 6 5 3 0 . , ) '                           !" & ' ..036"5$8&6$?'@'B&N'T,T1Q1L3N6N8J:I@GGJOJVN[N`ScS[rXySvOyN|SQSOY[^jlje V!V4V?SNSSX{[[bghtw||{|;HWmw|~~~{wtol|hyct`o]jXeTaO\LWE,3  * *     r n m i f c a ^ Z W U R O K J F C @ > ; 7 6 2 }/ v, p* k' d# ] X R K F ? : 4 - ( %                                | w r m h c ] X T N I B = 8 0 & $ !                              % ' * , / 4 ; > > F H K R W \ _ d h h h n r w w | }      ' ) , . 0 3 5 6 ? = : 8 8| 1z 3| =w ?r Gp Gm Eh Ih Lc J_ L\ OZ LU IR DO BM ?O ;M 8@ ,< 1< 59 67 67 1; )7 $9 6 7 1 1 , ( % # "                                                           % % - 0 5 7 2 + * % # #  % ( & % # ! & & # #  ! # !      & ( * %                     {vuspl ifb_!Z&X&W+U0P5N5M:I?FFDLFQIXK_MeNlPnWq]sdtkxqyx{~ $*39@GMT[ahou|~  '-4;AHOU\cipw}         $ ) ) . 0 5 : ? D D I N S X X ] ^ ` b c b c b c e g g l r r w w v w y {                                               0w 3m :` LY UO vL J G D D @ = : : = = = = ; 8 5 5 1 1 3 0 1 . & $       #*/4A@@KTTYWZ\a\TPMJFF>r9d/_/YP74-(%"   ~{toiiegxd]]GX:S2B!50)  zypoommjje``JGB="       * 0 0 > C C > < ? < > > ? A > C D C C H H N M K M K K I I K K H H D A A > < > > : 9 7 5 7 9 : 9 < < 9 7 4 7 2 2 0 2 0 0 - - * * ( & % # # ! !          |uoha[TMG@93,% xqkd]WPN M K I H F& D, C3 A: >? <E :L 9S 7V 0[ *^ %c g j o r w {                         ~ |   ~ y !y %{ & & & *{ *v +w /{ /v 4{ 5| 7{ :l 9e :` >^ F[ I^ I^ P` R[ X] Z] d` l` qc ue {h }m o t t t m o m o m q l m l m q m j h j j l j h e g g j m $t *v 3{ 9y >| B H H J H M L Q R Q H G B G G G H L O Q O R W T W W [ Y Y W W ^ c e e                                 !  & 0 0 *                                                         { y w v w w r r l g g e c b c b c b ` ^ ] X X S N I D D ? : 5 0 . ) ) $            (/22HNP\dkx  "%'/4Jffjkpppty~~ #(()..38==BDKPV]b  '%.,42;7B>HEOJVP\Uc\jcphwn~uz# $&(!)').+5-;.B0I2O3V5]7b8h8o:v<|=?ABDFGGIKLNPQSUUVXZ[] _`b!d(d/e5g<iCjIlPeN_MXKQILFFD?F:I5M5N0P+U&W&X!Z_bf ilpsuv{~wurph}[nQfJfHd>_9b3b/g'fifXPF C C ?5//00 {^XI661,&$${{vzxzxxvuxz}zuqnkUPpIUDM?<?7>,<'>"<?<<:75&}yyvle[[XLGA=BD?7.+(&#fjotyywurmjfa^\YVRROHGH E E@@;=8996#8$3&40/7/:,=)A)B$A"DINS[__gsx ~  x u xsplnkkg f i"i%f"d'_*](a,_,Z2U7U;S>NCKFMJKTDYK^McMdKfMhKiKhHnDrFxD}HF}D|C?997<>?><>?A>??CDFKHFDCD:>599-0479542/*&& ( & ( & % % #     & & . 1 5 3 1 0 1 : E J N T T [ ` c g h h q r r v t q q { y ~ | | y y { {                           | w t t m j g [ Y S S L! Q* S/ Q0 N0 E7 =? ;H 5] +f $s }                                                              % 4 B H J T W [ k m p r u y w w u u t r r p p o o m m k k j j h f j m p $t 'w ,z 1~ 6 : ? B E I L O Q T X [ b g m r y ~                                  # & ) . 2 5 : = A F ~I {N tP |Q S U V X Z [ [ ] _ ` b d d e g i j l n n o q s t v x x y { &} +~ 2 7 < A F K N S X Z a g n u {        } y v t q n j g e b _ [ X U S P L I F $D *A /= 6< =8 B7 H3 O2 V. [- a) h( o$ u# z                                               & - 0 5 :| Az Fy Kw Qu Vr [p bo gm lk sh x^ /^ 7\ <\ C[ J[ P[ WY \Y cW iW pV uV |T T > 6 / ) ' % % % ' ' ' ' ' ' ' ' ' " "                                               ! + ) + + 3 6 = ? B B @ @ ? : 6 5 0 5 8 ; ? ; : = @ B D E G I J N L I N O O S X V V X [ ] [ ] b g} {} p i g l l q s q k i a W U R M F < 9 7 9 + 2 5 : < 5 0 / ( & ( + * * ( & !                                             { w r o j g c ^ %[ *V 0S 7L 9E :? <: >3 A, C& D F H I K MNPW]dkqx %,39@GMT[ahou|}wpic\UOHA;4-'  ~|uoha[TMG@93*$ ~{yxxqtksdq]nWlPjIiCg<e5d/d(b!`_] [ZXVUUSQPNLKIGGFDBA?=<|:v8o8h7b5]3V2O0I.B-;+5).)'(!&$# z~uwnphjcc\\UVPOJHEB>;742.,'%  b]VPKDB==83..)((# ~~ytpppkjffy                     $ $ & ( ) + - 0 0 2 5 5 3 < < = A A < : : < = D I K L N P Q U [ _ ` d e g i i n s y ~                               ! $ & 0 8 = B I N T X ] c h m r w |                                % ( ( + - / 2 4 5 7 : < > A C D H I K M P R S W X Z X S N K F A < 7~ 2} +{ &y x x v t s q o n n l j i g e d d b ` _ ] [ [ Z X V U S Q P |N tI {F ~A = : 5 2 . ) & #                                    ~ y r m g b [ X T Q O L I E B ? :~ 6z 1w ,t 'p $m j f h j j k k m m o o p p r r t u u w w y N K G D A A A A ? A F I N U Z ] ` d g g l n o o n s t y ~                            ~ y s n i i i g d ` _ ] Z U S N             |  |  z  k 2 c : m A m D n Q S V x g {                                                              ~ y t s n o o n l g g d ` ] Z U N I F A ? A A A A D G K N K G D < < 3 3 2 0 . - + & $                      2 c = ^ L p V x S Q D n A m : m 2 c                                     z x s s n i b a Z X a a W U X S R N N K I A ? C : 7 %  - ( 4 0 - - ( ( #                                          } }      } } z }  } | x z w w n n u p r p w w w| u| sy uq rr sj rh p` s` p[ pT kL mJ m= k: m6 k' r, s3 w1 w. p) i c _ ^ \ad h r r i k i k h m p s u s w| }z|  }wunmnhnfa^^cYW_^cZ^YYTWT_YWZ^R\\YZdac_caaffmidhfkkiamh^nmhf a f|ihinc$d,\.^1Z1T3P6P6KDPBTIUJZLZOWSWOT[UYP]M`O]JYJ`FbH`AeCe@j@lCoArJtEt@v>t;{<|AEA>AEHKMY^c__dfpxmmhfkffksuwz    " & ! " " & + . : :  5  :  = D D J Q T [ X !^ &` (h +j -v 0v 0{ 4| 4 ? D H M M P P N R S U W \ Z X X S S R R S Z Z a b b _ _ _ l p s v z z { } }                            w y w r q Y E ? @ = E E L L T T Y `  Y )O ,E 6? ;5 @: B6 G8 HG LI QG VI W; Y3 W, [' c+ f3 u, , 0 = = 3 0 $      rc\RJ<*(-' 7<@9 7Tx  ) @ O Y e l r t                   $ + -! .# 3& 7# :& ?7 DA IN QW Sf Qp Sx S} Q N Q S V [ _ _ ` ` X Q P L G :^ 8a $r `  B > T O E    9 B ;  6 w ~ r o e ` J .a $\ ^ u              } z z v s p k d \ P P M I C ? : 4 / ( #                   2 8 P Q V K yB v< j7 g- e+ ] V L I 6       y j B 6 / $       wqjb]`^ ]Y[XTVSOOLGGB B=;86"6%5"1(3,6-1,0,,1)4)6";&<+7+;.@)P&P"Ua'_+U0_5d3f,d+f&c$d!ca_UPK$H&C@AOR R UUUROFC@ C9 96/,'#%' "           |shd_\ZRRKHHE9;661-,%#(""ytZUS?<3-((!()-)+23 + . )+ <<?FF IQS`ine]d} g b[ U X ]ZQKNdZX%i's,y,,y(q%d*`*o-o1l-l,j-g,b-],Z-X2[7j>oCCE~@qMxMvAn9g6_4Z7V4U2X/Q6L9L9V<g<LAD@B;D9=;:7<457B2K/I-<*8(2-5406+4.-.'(*41**6/-/47>@ AFMHJOU$R(J$E&A!A>C(F)K)O-M<K=H<HAMAMLOLOBP=TFULYNWQUSW_^nav_lY]WVYSZQ^UaSaUaQZPYG_:a:a<a:a5c=f=iAkUmVpSw[|t}qq|jzd_gnlsyy|x~tojjqdjgiedXPIsLpBrAn?p:w8wAxDx?w?x<z:}=:B75}.+.-:03.-7<=<2)}   &35:<<?<?780))   &)#$  !#-308ABBGGdssqv}y}{ojjeXU[[PBB?7+$    !3)+27DA:3+!    ! !&' ')+.0,7)?':&3'8)Q!QN!S'U$]!b!i!j'_'s&{$&++'+,.+&)t'd+[,N)B,=0U07000!1.05535 3 ::BBEGJJNNID=!8#?)?.?0DJJ$I3D7@?E8I7LKJPGQBP=I:I?QEUB]?]@g={?{@sB`LPOQLXL_NXQSVZ]xSQGBEGX]~``[`eb[TJEB@@DBDEBDJSSQTOTTX]]eehghcb~eyeogohhljllmmlsrqvytvqvtytqvyyvvmqtwtoojoq rqqvwrrvy{ ~/%'||  (1>JPyW{YWC@2142- (--A>AHUUKOZf^PJMacTZE@O@7616<@@7>EU__YY_}\ZPmaadhirxx !,8;D658DD=BD@+0=I[eyvogYVV`gw~~yvoec o jb`X8.!8DOTLID'&           #!#%!$#)%$(!(++('+!-&*+(1&5%=(6+6+.-)/./;2:0@/B0D0I2D2I7I:D<I9S4S4V0^-]+`-b-g+m c&o(r*q-v+y///y2y47755:<:>><<:9?vCtFvFtIKIKMMNMPRSUSX]]_]aa__WSRR{KrIeMoPwReSgWZXUeXj\yX\Z]|_]a_afkiggiggbikllppqsvx}  xqquvz{z{}}}{&  4KNNFNKIKR_ggbXRWdabivx{upd_\RMRNA2&*5I<A945(!%%#%*+:/2/5CWRAM]I>/(+<* % & AI D 2+0D M ZZnURKM_KFRfvqdaZZS"R"I$I%N%b)a)g*l,s*u'l$p$s%q*}.z1{1}1,)')*.131../14;=86;;89=>>@B@;48;@B>>==436; >@@ =%B"@C@BBCCEGLJGGGECBBCHECMRTVVQVWWY[[^cecaacc^\[[`\\[V[\[ TOJHGJ"MRWY[\a"c4e6c$``afhfc jkjhjopptpoporr uwo/u*yz"yz ~|utokmrrtuwwzzwzz|~~)34;=EE3163,%"%%'183;=ECEJGJCTV|t~kmY\T[hmojaahmuorehouypc^^Y`ehhoojzomjQQe`[JORV^`ejtyzpY\Wouroty   !$$!--2:: <?G LNKU`dlgGA!5(7+F)U+]&]lnx }      xt!l(l+~(-+t)n-g2g8t=v?~BADD73&#.02..28AGAABPQLIPUL70.-)!# $.)$%).3:AAD G#KP,S<I*G1F/B6D9F4G9K;KFFAFEIKNJNUQHXMZTZ^VkSpPnLxLGA?==DGGIKQVVUSQZ[Z[]_d```_]}br`kbcg_idiTlMlHqRs^oanfvhxmsrlgjlnqxxtvottoliegdeilqonnld`[bg[Z [ V U S Q X U Q V+ Z1 [ ` b! e$ i j& j n o1 q' o q t' v: v1 x1 x+ }0 I N ^ y  y j { { |         y {                                        !               ~  } { x y v n b _ _ d g d e d ` ` ` j l t v x { ( / 5 9 M _ n q k k s l g K _ i d a a \ }Z {_ }b ~i g i s x }                                                            '                                       } g ` _ ` i t      $ " '   " . % ' 1 ; B J ^ [ m p | r ~ u y r p u |                              }! y t# s s o l j g e b ` _ _ ec eV j6 i, i; b. bE `; `= ]a [a [f Xa Zu U N Iy I P N P G B A < : : 5 = = = ? A = : 8 = : 8 ? A D K L K G G G : 8 7 7 8 B F F D B A B : 8 . + ) + 3 7 5 3 3 . + &    t  t m ` T >  B ` $r 8a :^ G L P Q X ` ` _ _ [ V S Q N Q S} Sx Qp Sf QW IN DA ?7 :& 7# 3& .# -! + $                   t r l e Y O @ )   xT 79@<7 gF+ kw`f^TVHCe=h.c B }ka:W4k/!v + trjgb]XSNID=83.)"  xndfda\RPMH'{v wv{'HMPR\adfdnx  ").38=DINSX]bgjrt  +v!/4k:Wak}  B.c=hCeVH^T`fkw +Fg '-(*<JR\cr     $ 0 3 = = 0 , u, f3 c+ [' W, Y3 W; VI QG LI HG G8 B6 @: ;5 6? ,E )O  Y ` Y T T L L E E = @ ? E Y q c e ^ Y S I E @ : 8 . , & ' " !          |zwnkpcdainnz}w{md^TUO\srqkpmliknicfff^bYaZ_M\MXHWJUESFR@U;S7N>NJMRKRKKDTDPCPIAH>D@AM?K<R:T9Y<Y7a:d5f5k4f7a4\5W4Z4d-d/n0n-p*h%a!W%T UO MHA>; / 1**"y{xyvqqxssoigd`__[SQbbXVSZNSAIIGA=?:83.3.+)?B==53.5=:8077-$$!!$#y{v totvomlhjgccemjhc``XYXTTSOLLOO@?=;8633.,+)&&$   ##(383D?7(-5302<?wB|B}BG|L|QuSpXzSzU|ZwZibhehldndods^qi`ae\_ZQYQZiYsUtToTjUeWdT_PSOSOPMNMQKQJNKIJLFKA7;0;#9&9!7$6$4)2(466979742 4 1-/-16>AEFJMRMJMOTUWZ\WWUPOEMRTUURMFA<99<><@CAEJMJC@<;>;;CCHFACFF@AF~JwHrCwAu@m@p>p>j@f<c<a9`;\>[>W<V<W;R>B9H7R;m9|;2224;;<911/,,'%%(,'"(('%%#%''"(-,-,1#1+/3-3-7454:73781F1?/G,I*<*+,)-+-(,$(('#'$ 2#("( .-0.32&$(!!      Y[R\ahktyrj~~~|wtrtzzyppojmyzyz~ywtu~t}w}t{ssqqnnljjweyeudybp`o[r[oUoPtPwLyKwIzIuKuItImFoFkBk?o<k7m0h.k0o-p-m-j+c#f![VVR JE@;1*..,)  qliUNH:2%             !!!#$(+358<FKLPQVVZZ[[]`deejlloqogigjjstvvx~|tytryyvvroowlgb`eehceheebb^^b`cc``V ^ X^l w        y o l ] T Q O E D ? @ ; 5 3 . 0 . 3 0 1 8 @ J L J J T J G 8 ' + 1 , & ' 6  ; : 5 :  5  3  ) $ ' ' . 0 0 + "+ "5 %= #E #G 'D (O 'V (c 'h *j /b 2c 4h /v 1v 4q 4y 6~ 7 ; ; 7 ; 7 9 ; ; > 9 9 < @ E C > @ > A A < A @ A E O E E F M O K F E F K F% K& J- F2 FA CS AZ Ci <z 9 9 4 6 ; 7 4 - , ( ' #                                          { { }    { }l xd xZ }U ~K A > : 2 * - - !                             : 8 #5 -1 /3 73 :: <; ?8 F; H: K; N? X; \8 \0 _, a. b) a' b" d" f g g l l $ 8 @ G V Y Y X Y Y T X S Q N G ? : 6 3 . 3 ; G L O L Q V Y c m v            % ' % % * 3 3 6 8 6 4 , ) ' ' * / / 4 8 8 9 ; = B H O T Y ` e k p u w( u+ w0 y2 z: A C M W \ _ i l q u } } s k a X X a _ \ d g f k n z                         ' 3 6 8 @ E L T ^ e o z  ~ | y y                                        | y w p k h f a ^ \ [$ [. [0 R. O) J& H0 G3 B8 =: 8< 1< /D ,L )N %U %_ $` $j n v s q  n j j i l s }                               } v q j ` [ V N K G B B ? < : 5 < B K S V Z Q U V _ _ [ X Z zZ u[ nZ k` kb fd dd bj \l Zl Zb \Z \N ]F Z? W< U: W0 Z( X W R P N K F F A ? : : 9 4 4 / * ( & # #                                     y t p  o &m &j +k -a &V %T &T &L #C > @ @ > 9 6 4  1 %4 %, &$ % # ( + 0 - * % % % * + & !   # & ( + - - / * + * ( ( - / / / 9 : : : 7 :} <u >k ?g >_ <\ ?U CR CI D> F7 H/ H& H K H H I I M N M K H H I F H I I H ? : 5 -r (j &e &] &[ -V +N /E += %;  @ : ;7221 446 97;<;2$939<OBYK^X^`^}|~vni [ U N I G. B6 A@ AJ F^ Kc Pv [ e y   ~ |                             ! - - * 2 : > A ~K }U xZ xd }l {    } { { y y t s o n j g d _ Z U P N L G B < < 7 5 7 7 3 3 2 - ( #                             z n k f ] R N K A ? 2 - &                                 ~ t l c [ O L J I ? 5 + !        wmc^UOKJ@;POPOMFMMC<;9;@JKOU^cmw       ! + 5 ? I J L O [ c l t ~                                 & - 2 ? A K N R ] f g d \ _ a X X a k s } } u q l i _ \ W M C A z: y2 w0 u+ w( u p k e ` Y T O H B = ; 9 8 8 4 / / * ' ' ) , 4 6 8 6 3 3 * % % ' %            v m c Y V Q L O L G ; 3 . + 0 0 *) *& 1 1 4 6 6 8 ; ;>@@=@GMTV[`ehmrtwzy~|shaZWP-9><AA<>992-GO[^`eowwyww"-22*#yu ur'r2r;r<wMFOPWZahs|~yzwtrmhe`[VTMG@=;;;;9999999z9r9i9^;BBEG     $ $ ' % $ " % , , / 8 8 > > = B J R T Q V  Y W O R Q 'O *V ,\ -f /e 1m ,k *o %k  j m o #t %t *u *w (y %~ '| ( % "     % % ( ' % #         # " # ' , * 1 1 4 9 > E J K K K K P P O O T U Z _ a f d i k m w w |   } z || | y u t m k f e f e c e k j j o p m k k p m k j h f ^ \ Y Q M J E E E > 6 / ' $ "                                        z s s { { v u u s n l l i f b ] W P H H C ? < 9                w m e ] S O J ? 3 , "       "$,.)))$$),135@JOTX]chjmqtwy ) @ B N ` c c m j j g h c b ^ [ ] l o c ] ] X V S S E B  ;  ; @ B ; ? :  @ %; += /E +N -V &[ &] &e (j -r 5 : ? H I I H F I H H K M N M I I H H K H H& H/ F7 D> CI CR ?U <\ >_ ?g >k <u :} 7 : : : 9 / / / - ( ( * + * / - - + ( & #   ! & + * % % % * - 0 + ( # % &$ %, %4  1 4 6 9 > @ @ > #C &L &T %T &V -a +k &j &m  o p t y                                     # # & ( * / 4 4 9 : : ? A F F K N P R W X Z( W0 U: W< Z? ]F \N \Z Zb Zl Zv Xy S{ S} U U X Z ] b i n q p p k i i l i k n q v s u s s s n q" s* u6 n; n@ iA fH bO _P ]U XT XP RR MU H^ Ha Ac An ?s 9u 5u 4i 2a 0U +U (\ %c  f c ^ d h  h c f n u                                    "&+.0;DLINT`mt~ ~&{-{5v7v?wF|MyRqWo_qkovmzg{b]]`bb]VQLD=;660,++)+)$ }uqkgaXPH?7/++(&&% |zzusnihOwHgEg7]9[7]<`A`EYENCJCD@66,4+6+4'7';$9;96 2 ( %              # % * '                     ..38@DELOOLB@B;8=5+&              ~ ~        } {} xu on gi gc b_ `Z [T VA V, [# ` ` d j j l n o v ~   "                              " ( ( 1 1 ' " % # % # %                                     } { t v l i o ~   " % %y (j *d (b #` '_ /Q 2P /V /i ,s , ' ( * - 2 4 7 9 6 1 / 4 1 6 7 Ey Jy M~ T U U{ Wy \~ ^s fv iq no rg ug ue re nl mn hn ds _o \q Zt \y Uv T} M{ Kt Hs Ax 9v 7s 6n 9[ 7V 4U 7L 9L ;P EU JZ JX FV EQ AP CK HI CI @N 6F 4= 7. 6# / / * %                                                                 ~ t r j e \ V Q M @ @ ; @ 6 )     !#(/4:>AFKPW\glv{{       ',113E4M3G3Q3V4V6T4M;[8W8Y;a>`=\HkGkGoJpJmOwT[aekk)^NW[TZ^Nf3a0^8W7W:W<OAEACDBK>P;`;q>@GEBB;9^9i9r9z999999;;;;=@@>;; 8 6 6 4 1 1 *& *) 0 0 + . 3 6 : ? G N Q S X T Y Y X Y Y V G @ 8 $ l l g g f d" b" a' b) a. _, \0 \8 X; N? K; H: F; ?8 <; :: 73 /3 -1 #5  8 : ? ; B @  ;  ; B E S S V X ] ] c o l ] [ ^ b c h g j j m c c ` N B @ )  ywtqmjhc]XTOJ@531,)$$))).,.136:@EEJJGJNzOrN_QPLHOAN;L9I>I7B2B,E'E"NLNJ NJJLLGEBD5:;;88:;@BGLJLQQ]b]YYXQONLxNtNsLoLiVjX][_b[gZhVhSjPlGvA{F{BB~=75+(#     ~ywtmhe\[YVTV^`ehjmkaWVRLEB@B>3,'    "&' +.38;?@(D.G3I3L:O?TBVKVQVZX]VjLiLoNsNtLxNOQXYY]b]QQLJLGB@;:88;;:5DBEGLLJJNJ NLNE"E'B,B2I7I>L9N;OALHQPN_OrNzJGJJEE@:631.,$" |srkhaTPKE@;/,'"sog]ZSUU]]SK?:5& gff]XUS"HD"<)<.41&5&8 =?BEGEELOSXYbchjmqrww !&-04:>CHHKIKaknnsv{  ',3>B@BELRVWakmjhe`^VTVY[\ehmtwy~     #(+57~=B{B{FvAlGjPhShVgZb[[_X]VZVQVKTBO?L:I3G3D.@(?;83.+' &"     |uo j e a a J=;66441/  ""$$&&"  z}x g                       # ' * 4 ; K P R T Z _ a c h i i m x z                                      { { s q p n l f i l l n s u u v { { s s z                                        " $ ' / 6 > E E E J M Q Y \ ^ f h j k m p k k m p o j j k e c e f e f k m t u y | || z }   | w w m k i d f a _ Z U T O O P P K K K K J E > 9 4 1 1 * , ' # " #         # % ' ( % %     " % ( '| %~ (y *w *u %t #t o m  j %k *o ,k 1m /e -f ,\ *V 'O Q R O W  Y V Q T R J B = > > 8 8 / , , % " $ % ' $ $      FLNP``ggdeiloxxts``boqsq|sxqutr}n~i~\YYdmid_\^ZYYachhd^OHE@9'%"         "',/269<@FH J"R%R*O/T6U6\9a<a<d@hAiCdJhKkMpTpWwZw\z_ud|hmnswz     " , 3 ? J O S ] e m w                9 < ? C H H P W ] b f l n p q s { {                                      z x m i i h c a _ Z T R P K ; 4 * ' #                           ) 6 @ ; @ @ M Q V \ e j r t ~              ~e y[ tT {R {W ~` c ^ ^ [ Y W ` W R G G H G O ~L }O {G x@ t> tB s> q> qE tL xJ tT oO tR tQ sO sL l> o@ o= l= j> i9 g= _; d@ iE jJ nM `C Z; Q4 S4 Q1 P/ G/ A3 ?/ .3 * *    # . 0 - - 5 2 2 5 8 = < ? = 8s 8n 5d 5N 3F .< .7 +0 (/ !#                  r ` S G : . !   !$.28 :<DFF%).149;CEMQRY\kkmmmoow|~ #02377<AAFFD<:8 2.$!  ! . : G S ` r                  !# (/ +0 .7 .< 3F 5N 5d 8n 8s = ? < = 8 5 2 2 5 - - 0 . #    * ) , '                                                 t o h f f f h h f c f a ` ` ^ c c h o p t p o o p p p m k h h f h e{ fx es fg aa ^b \b W_ VM OI LK LD O? O9 L/ G/ C2 C5 =7 9: 49 /< .9 '5 '- $& $! $ ' $ $ " $ $         ' % ) , . , ' ) . / 3 4 ; = ; 9 9 8 ;~ =y 9t 8r 9o ;j 8g 3h 1e 3b /] 1[ 4X 1V /L ,I .? *; ,3 ,1 .' ,$ ) , , ) % $ $ %+ 4 7 > < > ? A C F F M I M N  I  H I H I H I I R '] %b 'g .g 9d @d EX GZ LK OI VM W_ \b ^b aa fg es fx e{ h f h h k m p p p o o p t p o h c c ^ ` ` a f c f h h f f f \ \ V O M G E > = 9 . '/ '4  C T Y ^ ^ W [  Y  W R R M B ; , , *  *  )  %  %  ) ) ' "                     l l f f b X W R K M > : 9 9 A C > ? > H S d l p v { x u l b \ U H 4 / - +            |umh_cdddc_^YY URWURROOKHFHEFCA<@>>>A@><<>@>><> > 7 6722,('(%%"% #%&(-/ 4754"5%9'5(4'4*7,5/72545726/<4>2C/E/F2E4A9A:EA<?<>7<;<2>4?2?/A-?-C/C*?'?*A#?#?%C'C"D%H"DD >>9"7#:77:>CH NRXXX\bdgilnppnpppqquuz}}}}} #%,/299122W^impuxx $%%$ $ % ) , , ) ,$ .' ,1 ,3 *; .? ,I /L 1V 4X 1[ /] 3b 1e 3h 8g ;j 9o 8r 9t =y ;~ 8 9 9 ; = ; 4 3 / . ) ' , . , ) % '         $ $ " $ $ ' $ $! $& '- '5 .9 /< 49 9: =7 C5 C2 G/ L/ O9 O? LD LK GZ EX @d 9d .g 'g %b '] R I I H I H I  H  I N M I M F F C A ? > < > 7 4 + - + * / - * ( (                          ~  j ^ Q E B @ I L X V O N N S ] ` ` ` c g r r w |   ~ | v v q e Y Q J E B B I V ^ ^ ` ^ b b ^ ` ] ^ Y X Y V Q N I = 1 $   ! $ . ? B G D 8 ) ! "     vqn k \ N K I I H F D F K I F I M K N R U Z \_a\ZXWNKMNNMHFA?<?? <775450/002400--+*-&&#%##             "      !  + 1  3  6 8 5 8 8 ; @ B I L Y g g e b ^ c b b e b g e h h h g g c [ [ X V O N L J J I I G @ ; = : : 5 3 8 5 + $ ' &             !  " & " ! & $ ) 0 0 &                            ||{|vrrog e b ` ^ ] [ Y Y YTT SOJ I E B ? ; ; D DJOQSTQSX```^]YXTTQSQNLNLE=;86=@@DGEJLLOQSVVXbhjhlmtvvrgb`X`^bzhxo|owqxoutu{nmnwzuma\UTTRTRJ@>AEHPRTPYY\\^cipw|}22/%#     %''), /49;>EJMRR RW[\``ejkmo"p(t-u4y;zAuErHoOoPoRoTtPuPyU~Y~_|h~n~u|~|woommmkk\YRQMEC;941.)%%$ xxupmi^W2<AABDDBA<77:?:=DKSQNQSQQX__`degginoqsx}}{yvqlijlsy} $(-2.-+)+.38778<???AFKLLN}Q{Vy[{`yd~g~ilqty~~ysjotvtssqtxvv}{vojnllstvxqleddgid_][[XZ[`dllnssvy{        "%'9@EHO^dhhcaYYZ^\_dimdYY~\~i}ntrqusxq|sqob``stxxoliedgg``PNLFAA<77320# |~u~n|h~_~YyUuPtPoToRoPoOrHuEzAy;u4t-p(o"mkje``\[WRR [ \ ` aem o u ~zrpkeca^\Y^`c{fyf{mypsrtuqulyl~b`VUPLFB?ANLF<""%*,,,/169;>=>B@@CEJOQV[Y\^acekprz~u o m ea` \ [ R RMJE>;94/, )''%     #%/2221992/,%# }}}  !$(+|0z3u7o8m:f<`A\FYKWPTQTUOVM[O`OeMeLgLgJeCi>n;q6s1v,{..)" $''))%$$*14;@CGHMT[^ehkptz~    !(.025<?BDFDFGIIKKNPSUVUSSZ_gjsy~~ytqlig~d~`y[{VyQ{N}LLKFA???<87783.+)+-.2-($ }ysljilqvy{}}xsqonigged`__XQQSQNQSKD=:?:77<ABDDBAA<<832.)!  !).238<<<72.   uhok`RMLQQLJ;;>>9;89 8 = 6 ;9;94*" ) 37:=?BGKLLIILLNILLQKKIKLL PUdjx}{}{{zzvxuxqplp}p}nniidgiddbXXSSPR]PNPNPNPIKFFNPUWXZagipsuvxzz{}   $$$$ '*/6=BHMT\^"^'^,^-^-e-h,m-t*u'     $-078AFKPX[[]_digddelqxvtsllnjov{}vvxtqsstvtojg_ZSSUVUSPNKKIIGFDFDB?<520.(!    ~ztpkhe^[TMHGC@;41*$$%))''$ ").{.v,s1q6n;i>eCgJgLeLeM`O[OVMUOQTPTKWFYA\<`:f8m7o3u0z+|($!  OJUTWY\\^^\^^h\k\t_p_matfoiukukmnorjukwoxr}ommprtz~zkmpww&5:?KS]]UUSZ]gos"',/;@EKPTahkrs|zwsnmhd|_u\zZwWwTpMpKkJhCdAi@h<d<a9a6\6U/T*O%R"R JHF@<962/,'"           {yvssnlld`[ZXPKFA870-$     '*u-t1t1p6m9f;f;j<k>f@f@eC`H`HaMcO^PWOJcfikmrw}|zwx| !$35@D?DJIJXbcchmttrw~   %0<??A?ACFHMP]_dffg d gx}z  "&&$$""  /14466;= J a a e jou|   wwpmkz~ztrpmm}oxrwoukrjnokmkuiufoat_m_p\t\k^h\^^^\\WYUTOJK>C>>C;C<@@3@,>)@<<;766 99996764,*%###%#%(*}(x,p-\/K1?2:/4/-4#697;;>FFMPPRTUY^_cdfdca_Z^\^|Yv\oY^TVOTJSENFGE@F=H1K5M0O.O+M!OU\\ WUUPMORTTU\\^ccPPM_]Z\ipkd\XPNSSNKDHFP W U MK?A>:?? M#P%X-\,p(x*}(%#%###%*,467699996 67;<<@>)@,@3<@;C>CC>K>OJPWO^McHaH`C`@e@f>f<k;j;f9f6m1p1t-t,m-h-e-^,^'^"^^\TMHB=6/*' $$$$   }{zzxvuspigaZXWUP$&+058:=BBAA==??BBFFIILPQV[]`ejosttx{  "##%*/ 1-(*-4;> @">%E'K%O OKMU \^fkmruupnz}| "#**'**"#"%'(-167622//-/679<@AEHJOM!O+O.M0K5H1F=E@FGENJSOTTVY^\oYv^|\^Z_acdfdc_^YUTRPPMFF>;;7964#/-/42:1?/K-\%X#P M??:>A?K M U WPFHDKNSSNPX\dkpi\]da__]SKIHK<:?<-*&#!  # xql_XSF.-2 C HMRSilz~yrpjhc``^a` `/cB`O\RRRHCC9B686/>uz    !3<<8320.-)#    ~|upruu}wzzqnlgd\WPFA><72424542(|uwyypaQLG''. 88//1 > J M#R+V4V5V7O>JIG_Cp9s3,*)*}}vp nd\PMNM 7"2%"* .,31BHM[acfkku~rtqhg`^[VTV]^[XTLJE61563+" &253:875335:==AFGGIINSQNPUVZ|[mPRLKIMFJBJ=;:7570/+1&'! (+..+&(     "#*-2!7"()') ) ),,1355310101331068::65356::@EGILOSTS}Y{[}]}cgjmvvy}wx{v|qnjjeedegejitx}{}y{nioqsijd[ZZVZZ_`ZZ[SLNKNQSXigii`_`nnln l(b-d/[4[5S9V>S?ZC]?iAiFdFiClCtAxA}?}?CAFHFMRSWX\\abfglsv{#%,,/11''*/47>@779@CFWPRRYPP Z \c ipz      zxsx $''$w*r1u3|84z6i3d4_9\;^;f=_@_@wEEJTzTrVu\radcfk_rcphtrr|pomjhkjhkkojhecehe^^[[OLHEHGC@=89BBC =&8,65>E=Q>Y=X;S,V"@"836?BQ^`eejmy|{""''*$"')*16HEEE B BCBB@>>=@6113469;>=B=@==>;=@ C@=94 3%1#3&/*/0,2*7)4)<':'>"A F$D%S)\'Z"db_p f fiu{{vlg\WPKFA>:4/(#!{vsnnkaKIKHHC>:40-&! wwrqmjhcbYXSOLEEGEB?=8 5&1&.4)<"<D"HSUX]ff g dgffd_]PMHFCA?A??<0%   ~wrttmhccbXJIJD?D@53$!| xwz|}xuwrrmpphihidda_^YYPMHJMOUZ^_\\ZYTORA<4(    { xn f g nqnuuvzz}}vpnilkdb"f'_)a)f"lx rcwd~_dYWYROMPR\Yadac^ZK>@;7;9>@4(2/42>H>7--/,*-,/99@<2297 2 -,-#2$747>>AJTWZ\ckikfddk#r$z&|(u.|.0.(!$$!#+-057:BDB?<?BGGIIINIIGGIBIPNGFB|FwBuDpAr=k=d8^5^.P+R&P&T$T#K#P!T#ZZWTP$A+>-;+9(;&9+729=ENZLkNsSQS[q}~'~xsoiZQB BBLLIKIBA2& $&&$$!  5; GBB0.,'+&!   |zppokmmprtutpojkhjmopr|trphrcccfpwrmkifc"#'%#" xqoqqsvv l jgUV XUdbi#_%`(`/i4e<t@}FJOUY\_dmmsuxz| (4<AROTYZ\\_^ZUOMJHMPYY^_addihihppmrrwuxwpfccc^\\UTTROMPUUW\ \UOJHEA@<976/-//226761-('%"#"**'**#" |}znpuurmkf^ \UMK O%O'K%E"> @>;4-*(- 1/*%##"  Qapu   |wpja!W(e((%#! !&*(&**-*+/2~/t0p4p5t7:>A??DHNNPg}!.Vqx{vslgfba\\XWSRMFHFAC??}A}AxCtClFiFdAi?iC]?Z>S9V5S4[/[-d(b lnlnn`_`iigiXSQNKNLS[ZZ`_ZZVZZNLFA?::5358A<AABDDIFIGD=7-+ (    |z h``WR Q RQYD]K^K`IcNgNhIlKlFtBt?w=y?{?{B~=AGFIINSUZ[_bedeejjn|q{vwxy}vvmjgc]}[}Y{S}VoVgViTdQ`S_Q[QVSVTUVKYD 6Q R QRW`` hz|     (+-7=DGIFIDDBAA<A8535::?AFLNZ[djisqoin{y}{}xtijegeb_[ZUSNIIFGA~={B{?y?w=t?tBlFlKhIgNcN`I^K]KYD[B[AY=[7X2Y-X)V#Y$`bcbgjh jllqqtttw{yrooj``\YQHHEGC@=84'%"O`j&vKbgsqssx}tos ~~yo m"j"]%]%X(Q,N*N(L4J4G7E>@>;E8K+R+T.U0W3\5_:f3i!m'w'z6w=x?wBw@uBrLrSsLxD|6|'x&sxxw xzx z }|      urrmphcada_^^^a^WKKMME;71'*9KRTTPKE><997922667;9>RW^YYWTPUPJHHCER4#"#"#%"*644;7;>FFORRY\Z^fikk ruxzz}           !"$&)+).3;:?;:=858:??GGEGO]bjrytjh cc`bec&e&j'g&c$b'`,b.^1`1c3`:^:e;^:^:]@YDVEXGVETJOJJQJVGYD^IcGeEh=m?jDlGhJgXgYe`ghjmjbb^^~[~LGGEGILLLIE@?@BEINOQ*T2Q#STSSXhlo#{?{Nak{"%'48=@CGEHHQY\``joory{wtttqqlljh jgbcb`Y$V#X)Y-X2[7Y=[A[BYDVKTUSVQVQ[S_Q`TdViVgVoS}TSOLIGE@::65356::8601331010135531,,)) ) ')"(!72-*# "    |zxusmmd_\YUOJF@}<t4e/i(`%`#_ibdU XVUg j lvvsqqoq x"#%'#"{xttsoje`][VQPLIIFFBB??==AABB=:850+&$ }}sjigji`dd[ZQQLQNKGAFBA:820.)&#    ~|ryrj`TG;896699434316611,.441146;B;83.)'  zvvnaZRMFFHH/(%  |{tqywhgc^VTO#()).578<=AADDI?870&#!$)& (*5+:/A2=7?<DAFDDFAH=F3M3N+S)X)]#d!f$k$x !(2DGGNQKBBKSSZZUSZUXUVXUK X]]`go v'),,4>BEHH{GvHsOq[t\t\ncqencic_f[hVcVcNcKfGeBe?f:f2`3[(YW[\[W^^`^[ac^\WWW^^`jkprrwrromhe\etutuyy~|yyuyzwwtrormojheca`c`ccffjkmrhfjuz~~~      &))AA??BBI`glvyy~    ';>@EJMPYhmnssw&)+;B@LOTV^cghwyqt{|  %(/HHFFMRZanvvz  ').38;B@CELOJB@=~;w;pCjCeG\BY9T4M)LC1${ v q ibXHNMPZWMC>FI>:% }snbNMH5/- *((%!    ymjgc[Jr@oBm=j8e6Y+Y&Y"`cb bYVVXV[][V[Y[Yu[hYdXYXFN>I4B/@%DB? :3.+!"",05=EGE@DDDINOY}[}`gjjjmljb`bmywlNLSKGK<7:#rvttry{{~||ytw|      |ueh J#L(J5QDQSY\YaRb[gcdefhiesou|%%,89;GJLHJLOTW`ehmorrwrrpkj`^^WWW\^ca[^`^^W[\[WY[(`3f2f:e?eBfGcKcNcVhVf[c_ciencq\n\t[tOqHsGvH{HEB>4,,)' vog`]] XKUXVUXUZSUZZSSKBBKQNGGD2(! xk$f$d!]#X)S)N+M3F3H=FADDAF<D7?2=/A+:*5 (&)$!#&078?IDDAA=<875.))(#*//5:?ADHIHKNSX]_afkkkpssvz"$*,,'',$ $'))3,,4;LRY`ehorporrtwtuwwyyzz|$&"!&,05:JNOQOX]]bc`ecjh|ryytwe~`^\YTTTWROJHEB=1.)$       !#! !&&+07<CUXZafabgn}vkbXUIP}KMuKpKCxC}DCA<x9q:g<d<]9X7U5H2N4P7\5_0a+]+Z+R*W(W*Z*_(_!P!A9/+&-07FIHA<7>ADFFIIKZ_ZP \z zvngabPIC%~wmmt~ymeXQSJE?=3155?=B?=31$    }umdc\Z_^ZUPFA/-,%         "%,/99<AMPY\WZZ\  4 7:75*zyyzzzyzpoomomoomjesekkkeheckZo\kUoMrKtHpHoEkFhOfK^M\J^>f4k"o okh^\YWWY`mu|~|ur t| "%12/,/*"(@/"#     !$$&$&2--&$#!!&#$$&##$(++-++.-.2353775788::<DFDADBDFGILPPLNNQSUXZ[]_]Z[[_``einigijlggjlnoqt}}y{vyxy{{}}~    # "%--#,-44<EE@KTYYZ^cinnzrnhd\^kswu}rnmf_RRF}EYhkpf~d}f}_{^{UyZvWt\v_xa{m}m~h~&,8:@EJ}JvOvNsNsQ_6S1P3A&<&2--& $!       ++050,&!"&$|z*&!!##!#*(r&p#r#a!a!Z#R&T*T+Y*Z+d-h/i-c0^/R4J5J4P7K:K7H9C5E4--*-%+"+(*-/0/0 0424045599ACCHHKMRRPRSRRUW#Z'Z*]*]>fJfOiYpavfkpuicirmicad_JC@A<41(%%(2;KMPR^ci|}zvsspkkkfa_]XSNKHIHDA?:5//* "  yvl g'i*g,b*_.X9P@IBA6.15.5..$(%)$% ,.46;=CEHLMMMOTVVW[aa^aa jkpuzz+:BGGQ]bqx~zyrojjfkmmkhc`^WTW\\\WQLHB>=;9;@EJLQQMLJHB;>;84/11.)"     zsu~s}p}nqkibbdbyd{dxanfbdXi[gXgUfUdVaU_P\K]K_NbNfLiGlDfGbFbI]D]:a=a:a8_:_3]2]Z X ZXWUS P NKKKMHHDC?><<>ADCDCC>:942020-(++%%&&##!%|#u%o!p k!jjfaa^^YVR#T%O!O H!EEB@= ;46//**)!3#;*E*B#,#'%.(10M0O4O4L5H7E5E0@- *((( & * +-//04459"5$9'9.:*?3A;CBA4>,>)<%>$5 7 9:>A?:AADFFIKMNUXWU]"\%]/_$_Z]Z]]\\Z\ZZZ\_abdabggklgilnnkgg%i*g*i3k1k$n$n'p)v)xz}/6=;889=MQ`uw|yymc`[aTGEBC66$*9@JLQQYWMQamtp~u|yjLEECB>=@>BC@@;9>83/'"$"..*,%$%"      $ ".@E>@> C BC/ )   "*,.,**)'""% $$)$$ ""$ %')**.**)'%$ " ,./ /1631". /.,"3'1/4,6%9,888L4V8[6a3c3h1f/h.f,k)o4w41333,,114386898;>@@CEGEGLOVTVWTTWWVORVTVTVY\\^aeceffcjkkmooprrpruww||   |y~  #!)##+27KI3+zzupkja a^aa[WVVTOMMMLHEC=;64.,% $)%$(...5156.BA@I9P.X*_,b*g'i glv y " ~vrqob`` beeggjjolhe[XVT{LZJMJCTY]cw{w?O0$""#*/07>AHM!N$M)K+F+F3?0<)9+:1>8D8K;X;]?_B]EZIXL_I\L_LbNkBn@zDJNLNNQNOTNVT]gjvyw|wje^YXYTL:31.'1"69@CHRW\^ary#&#   #$(38xFsFpDnGfQaU^XKVHXE]>d<g@i>q@qCvFvKyO}U}Y^\^^~dhfkmpz       " & ' +.00)1533=@B;:::6"5= @"=%=':'?#@ EI I#G(@*B,@,B(D(L2B-N/O-S*S*V2S1S-]*^,`,c2b/h,j/j-o1q-t/v1w2|77<CE@@HHMHROPJMUUYUTR\_^acha!Z(a+a-a0W0R9UDRCPCOIUPURRPPPMSMWJWHdJiObPs\}ZWWWYRRMC@@<7746//1((,(%'}_PID::754-&yl nje%d%dedddegggd``deiioolnnoooqijiUQLKD830(     !-0/49?HKXadglq{zz{rxm{h{e^O{HHE=841/.*)$  *=CGJJJJGGLRehkororrwtohe^\TJ@41',,%6LWYa `e \e`[WHCEGB@91338C=@3.//"    {{zzzxuusspnpplpnlkklqppz}}zpd\NNW\]a_\]Z]\]]_\\XXPPSNNHDNPSPMMICCH?A?? : 5544(%       @Ҁ ; 6 8 : = @ @ = 6 5 3 1 3 0 3 0 + "    # 1 1 2 1 - , / / 2 7 9 A M K K J M P T xT wT zT xY nd id dk Zr Or Fr @p <r 6r -w x w u } "{)l,j.e8eD`EbI`J]L]QbNgOj[nYs[q]obqqerbo]qZoUqPvF<:23.-(&)(+2537335:<AAFFLPXUUPIGBAD::<:5035<BKVxyvy{{xtqovyqgbdZ[XUSKGA<20()(--))(.+))+(  !#59>HNRaluzppjotuzwz~|~| .9;=JORw[~ch~to~khhehfjjea^^Yekpprrurwz||~pz~~007BQ[Z]_nnqqty          9972*  %"#%*-1769<@;>>CAC@CTUTOMMPPRZZ\Zacc_YUZcr~|y}uwrmhea^YVOLHMLOJHWh      !$((+(###(!#z#x|}z usrn r w| }zpnkkhipnhfhkccfknkknfhpx$}$x.z2}.88550377.5238<BFDA=72-+)+252+&#$&-22&##(($)+-$ & $     ! " Ѐ& $',,)""'+,3.18868=@@BB@@EOQOIDBEEIJOXbehjg^^[[XNJOSSSVXclmmhcVY^`ccjecejqw|{wwtv{wvtqrwouqmqhqct\w[{WJC=JJMJMMRTQHLOT[fmjeWMG=/1,,)'$$%'/38989>4B>;994.11664631.*)"    snaXRS]lbWNK<9::4/242% ! +9?M WX R H 075 + !(-- 0&0*2->/Z-l+-/04<4/0d2_0P0I4C0?/:/9799?CA:<97252#0*/5-2+/%*!+% #! !((+/ 5 < F IK!U#]*_2_5]5\5Z2Z*S&S*X-X:b7b<f?gHiKpSndikdkX}NS\}dninnkqksquxxulqfsWvRzR}MM]flg]df_\KHIx7q/p(n&n klnsnidk nsu}  {v pqx  {zvklquxx            y`SVTNJG : ; 8 3.00'3'=IQTSNI'@*?.I*]*`.e/m/g,^.X/E*6*0',,&,/3$4!9@;99 =C EJ Q QV W T938:9;;5@0H1H8L:J1C0C,L!RW[\`!^'[,[0W3V:VDWEW8^0a$j)k.p3p0m+m'y5y=t:zJyOz[|^|N|;~8;EJQSX[`hmlg]VTJLONIILJNIJD@66|1|,'0=86.1+.;;8',)13:1..)!rhhmmefjrywpkjjfefhptuyy| x}||pwuxs^\UY___khmimus}}zssifa^WTMOPE9#<#C(<+A-A-F0H2K2H.E.@+>./5#8":=B?"B#IL"KFIGKLQSUSQQUUPNVZ]``ddg iedeegjlonovy}}~~}}~~vx ytig[ZPFLLKIDDAB573 30 ('7$;#9*, (# !& "#  !$#-+3..3??<<5#     wu yo~|tpE>>CQLB;8  ',*--21/26246477{A_CaCkFpEuJ{JzMzR\zdvnia^TJHHEEJOUUZ_a_\\^acpruupzkzip^aT9R*Wdhhhdinrwwz}|xsmkr|@wsnsssu|zrpmhfchdfmkprkhhmpusurkfZRE>6,* {yx{tvongnggidb_]_d_`[Z]XQVUXXSPQKNFGBGIF?:7+587FNNGL50+$!  !          !#(-).03027502+(($#   #&!|}} w srkksnnkhkkimknmnuupkhfcmnrr||spniih^ZZWUTWYZ\^afmkd_ayauZMP|TzUuYp\eYeUkTpRoKfOcR[O^J^F`EYFVAVAO>O>L<J;B<E>B>GCEFLHJTRE@;9;6>6@1H6C'</;)7,6'6 1, %#  #'*(,,*(%""'#"  """%(,//499<;77;>AEEHHMOTZ\YMKHKPUYr%@GJQcyaemry~tohWMJG813/.)'%  zvngb\UKMRMHHD9227AD\}\xfufm\hZdMd5c%^ _(^/_7_<^<\<R7P/M(M#P OKMOTTWZTM KMPRPMKKHCCACC@;7672422/11*%        # qohmb`[^YSVQVVNJ:655::,'+{+{$~"{{y}} yyxx o otooled_d`]ZZVSPNLNLIIKIIBDGIGDA<:?A::252.-0552}0--+}-z(s(p$u#|}if#a$^!W!PMJFC<<PWYT;79<;-'#    '*142% #('6<74--%%""    }{~vytqsqgdUU[SQLIFD=35=<2.+-(!~|ztp||ywzzw|w~zwumuaw^w\|V|\~\WRJCHC@B==@>~@yMwOrGk=k8h3j/m.p3r4t9t6t1w3w;w=|84HRTOM`ea``ejpyy|z| ()))##!028<=50=NQQV[g`iiSLGKIGGQS]gq!$$&)0:20.03...- 38DL d,i7iCj>tM}c}h{fxksktmtxsxs|vy}{vvxtsvppmmffdmnw}wwsu}   C6(%"    # ;A@EHCE;     ~xvqqogged` b g_X7--(  '*'#%(2266;;>JR^dkpw}||r|upnzpmmokjaG^/\^akڿmܿmnnppxƿ}xfafpsz}ƿտտڿڿпϿʿſſʿտ))%**     ޿Կȿ}x}{z}}sgnxxs}z} {xxpqvuvndkgifXPKPMNC9504>? : 2   # ?7(&'*&/':&<)A)R0F8ADFJS[g]kcqlmmlggccc]^bcegljhjhmqwwvÿʿпϿ˿ƿ  )36Mcft 032#!%& (* *+*&*-252445577>.H2R(W\ \\]]\]ZWNKMNRRNMIHKHFHFD>4~0z&y%p!j*f-a0a2e7Y7O:Q>GAEA><.787@4E4Q0O/H*G(B08217$:9:ٿ9ʿ:տ:Ϳ0440542/-/--4\9?FINRRSSX\_]Z_dilվq̾vǾ{ɾоӾx˾s̾pݾqv{{{#}!˾վվ~hYSXjom]Y]orѾǾվѾؾ־   4<DUZXD45?_{Կ  ޿޿"/;JYmtuw  y"y$'$''  2INij`` g ][PI: 2 +  "$')'*.,1/,13,*.;=;9..w1m/e1Y/Y,c,`1E8 9Q`jtwy|gR:0! վݾ Cп9BE9EH$H(M-M0E2Q5M5Q7M8O7V8Y:[<Y=QBYU]]bgvxvtsqqqonjiljgijllnqqxvt!x~5D~.Qqot}ylxs}yxl~}tv"'1CUx 38==,+  ,33:??NX[`bXcjhlqqlrrw~(49ADINZ]U_xuvnnzngablu}~ 48>C@O\t|}xx }{&v+x0v2x=vDoDjllyiijijljggieii ` _ b%]-[;[FX>VYU_VhXhUsU[[_]V]`_``b``bdbd]d``"_&`.ZIXNULVQUXUTSTQ^P^PcLcLhImI~DBDFDB<33785322320(052F2\-z0g.i-x+&&      =VQR`cz$&3.2#!# -3:FISdiivyxjs !#(-055"3"513;3F5M8O8K5C8F:C7782=;AU=@<F=T<P8c<f=rAxADGKNPSQLIFIKLNLXZ[[b_bbed`beeii ibdeeieebb``"b']&d.b1_0b?_:`BbGgGjNlInNnSqSsYjbi]gmdjbmeqdt]m]eZjN8I$GIAB:800-03300-.-.)-)|)p$h!k!ffchfO PJC E @@92 -( "   (*'@AFH97>4/1,""* ", -7> FFAJ P TMP \Z _ h sx|x}|us}!#!!&&&#&.(($(.20-##+)!!. 2 8:<)?=BXF`KLSUSSPLIIF?:78<=?KQSXbdjjl no&n0q(t}{}}}~5sS_lZnU{SxQ{NvA) !$!# #!!#! ##$#&(& ( ($ )+.2238:?%=/5389<9<>?6?*BADIDD'K*Q6UHVJUMVQZLUEV;Z@Z=Z4X4X.V'U'U Q QQUX`,_/[,['Z*[9[1_=]@_QZVZ[[Y][[e`c`Wb^dY`GbLdEgJgYg\ghdc_mZjX^XfVeUePeP^N^LcKcIhB^=^:r=|<<:72|+y#ff\ao!$&&&-27?AGDD G FD+F7DFFQF_DxAA72( #6Em}  &=GOLNS]~  (/>KIPfgnqsknsx{}svd]SK2&!-%~~| z|~-|5y>zCwKt\uft{propopruuu,u@rBpJrMtGuJwHwTtowkyoyuuuw|||zwzy|  |&z!u.u!t#p7r<t:u:yDuDuIteoleoat^j[jWnWsTsVyO~QYhkjhf\OOWYWTJ991434.14;1//3/*'$    '.))4.$%'% "    )) ',)/ 3368 8;@LVWTV^ry%((279KMHJMTRWYZimpufnimwanafc^Y\fh_ca\WPPHH;21''~"FW^}   $$$..;BO`my~~zutupruyw#y*z*z/w0w7r:uApIpUr\rdt_u_tfuktsyuwzzzuwy~~z~~|~~|~~z||"y$|'y.y6r>uHtVr[w^wo|rz||poy~wwrpmkhjojo ot tz~~|p|  $00==B:ABVQLAB<<0.3<?BKSPIQbx~~junrjplrojnker`h_eZcQaU[Q^V[[YZW_YbVlWo[vWyMoLiEgEqEsBtE~HHRMMROJ=>C@B@9;@;83/)%'**'',.3.{)~'t)q*t*s*n,d1e3b3[4Z3S/V,X)d$i"qv     "x%x'~$%%"$"%% %)*,/36;BGGHOWY^akmpruzz~42<KipuwskaifmmskkcUYR\ORMOAAE@EJOOZ@2/   %*2967H1' *-(,FRT\a!swa\ TZ T U ZWY mp}zwr$)r(d$^$Z$WR9!*$#+53 8 72-.0022288=BB=ABBDDADBDGyKlLqKtKxNtPxPtSvUnUgeKoGxIU_`gnqsyy{toZVUBLNV[VVPGSZQUNUbl{    "     %  49 EKT \ cffZn  ~xvvtqvv{}y&}+{.x0v+l.o5i@g@e8e"de ijqoonjiige``_]```]ZV V NNLGFDAABA:::788757:8::77323+)$$($),+++3.:285B7D7O5S5X3[5`5c3c3j2j2^+S)@(;&=)E(S)T-`(j)t(w)$$)&!!!!!  {~w|mjtyl`G j r~   / AIRxz|upmjTQGGE>8=>=68BBCB>BECEHJLOOLOTVVO'T*T,O,O4W3[9^6h;p4C[[^^rpwty~w|w~ !##!(+--35:=ABB?BFGKIADFIGKI GF#B&?3:K8q:{888:853235322..-&((+})v&     *27;A-#  #,26EAA  ~| z y uo j1[CWER>J942311*,**',,), )$"  }lbZ[SUX]_SQ?:52.28 : ?558< 85+-&&# "$ %*)) /31//,*,*)$""$$''%%$""  ! !:=FGPN?FD32#!  wt[RLGB/,.*))Gprfjk\TQG>6;;1)$g_MfsvRKFC>0+  hbTBSYrthl +7W_g{{xs nidaXPMKFKH?944-#  qii\]WMKFD<<-!  299-/*!#          vmle]VNLSQ?:1030,)  x n mnf^ iiupur__fkx  !'68@DNNVYemryw{mc^TJQQB,||yyvromm ooqrttqqmmortqvvmjjhhegge^][[XSQNJGIGNOST[][YTTSQNJJLJLIIGEBEB?@;=:6;==:;330.,1x3n,|,p)n)z'|&$""!xk ^ YUJOKUZWO<FHFF>EAHJ;1%  }xwrrnkiZKEEC@>941-//*  ',,414,*,''#1/77;7<PUYadsz}}{xqe[I?:=GKIB=?AFGKZ]_t][[VXVUID< <7(74377H3I3M3N0M+X&_!p}  $8L`mzz~&7ALKPSX[Z[Z]ZPN]dq}yuppm=.'$$ }%z#s%n,p%nkiki gg bgg*b1_2Z9XASMURSUP^FdDhDnAn<z2 ukf_Zccadiz    #%/+ %  ! "+'.3, .3600;D@ 6(6(:*5-0/)2+9!<$<,?5I.M=R@PBUBUIXGXJ\N_ObSgQiVg`kYkQnQsVuVvSzT{QVSOSNGGDB@;D?@@:=6;:35@?;:D81.118:531&,,',).+0.,.)+'+&"!""'!),&$""!"'+. &  $!!!!'&!   $"$$%')*)') * ,,.113466==@BBEJJLOQRVQRWWVWY[[YY^a`aecej m&t1t;zO|Sg{ 0DNU[l{tmb]]he[YOQOTVYQSVXQSO OT[] ^eejh l o hmlotrv{y"~#'(*,,/146474479;>AJKOPTROPROKFEHOPTWWYZ\dhhkmnpruswusuuwx|}}tw~~   "+3;ySwY~``gglmtroolmlmljh ee^AYF[MYN[SYXXbTuSxOnGZIaJfOxVXTOSQOLIGBDGLQQVXYX [[e%h8g;^C^H^M]O]VY\XfQjLuJuGEDDDDEGD==;:53.'',)$'.3,+'$""!        .038FLKS[Z`gdjnqoss}{~~wwswwrpnrpsppqwFwAmonmkmhfc_ZYPROHE><<96211/,**,/-*-,('" #%" ""     #'1>HHMKJOMOTUR\Z\WPMC>* ,9HJPRYY__cmpsszxzzfcps}}    ,1688?6:015;=@:BDIE?=53.6:=GLL=:GDX X LSNY^ c j hcbho|yqec]TT X"S'Q'Xb%^#c'e%h%j*c2b/l,o(y-t/o4q4v7j9m9l<c;q<w;4126;<<@~@rUeYm\lZq^r\w^va{^ZY\_adcdhhkimnruuwz||xwpnuw}|wwurpppmifhknpruusrrnkkhfcdhf_ZYZYPPOMKK@CKHJ H F E>E @66422122/1'%#%-1#/&/-,0'/#*"%"(#0(7(>%:#7"9 5"> A:4/*   #/5:?FHXWSC NF P SSMSMDRSSSXX]f_bnlagnqsllZSFD:970:CA:/*:I\S_bkvz{}snpqu]bbNRWUCWZ\gkusz}~}{yyqvvnsqniie`]][ZUXS[ZXSSUSNIF DB ? BAB?<820.0&++)(&&$!!$#$(-.322353530--+&#              %$"3GGC@>8/19EOTRTOQLT^cehkmoojk`[ajcoporpofce`ffprkppttu|z|mfhea[RY`efkma\MM|LRV`chhku||~zyt~r||zywpmmjfcccfkrw|y~~|~|wrrtttrmmkmm h mmjhh$ef&e-a.c2f2h?hFeDcGaV`Xa]ag^l\n\sYtWvW[YWVRRQOOJHGvGEEGEB>~=i>e>_=I;F9F8=9N4?1A/+'%"% $*,)/./3'+$#"# |mj\L@9;834>E[u~~rokhfj~|fw !.8B"K]n"g"[%U%G 8%.,5,A/A/F/U,`.d,g.n*n,{*)~*),*'%%"  " #"(-,41(22-16796147791%,(%,(1144,*# (  #6;6941*'#"  #1/9;}7{CxAuEsCv;v4u2u6s7q6{ xu#s%p2n/n6l7n>k<i6g6i;gAfFf6b9b@]<Z@X>X4U7P/R#M*I(C> : :7570--(%!!~xxqollj VK IB= ? < = <:: . ( ~wuyuttkkhecVRRMMEB>=B431)'" }zxgd]URSM><94&%!mTGB=830..0!   vyvoh^TEEBDB?Bu@p@k=h?d8a6Y8R5W5\0^.W.O)H+C.J1K3H6F6C6F0H,C)4$1/*/" }ld[UF=FIZXPQ[q{vvwof`cVaN\GO2J.C&F.M5MDRLRSTVT[W_^vn|} '2;CMYdks!015:0:B;O;S?`?o;:630!    ~mjJDB@=850! )0IQTX]Y]`lyxwidwcddaaddaddaZTKF@>;>;><2*(%'"        !!##%*4::4902MD>?HKKRRX]\XZz}{z}}  )//)*'    ~~}~x{uxxxuyqxqykvfxd}d}b}a}]vbs_x_yZ~XyXtUvSyUsPyMxKtMqHoHo<q:s>t<s7o:j9t(v&x#s%s*o+j/g-d0`/_+_*`*`([%_%_]_b__`ebdb` dejnoqt qojdd_`gjieib__]ZXXVUSQPSPNLNKIKNQLII=???=<=<877553..++($###$#!~{|{{w{ yw{wtootrqomlmeec[YSSQQNN L L JJGEE@??=:!:88;:863310,+.++)!'2)8&:"A&G+Q,`:eEjGj=],V&Z&l=nBtNsOlQnXt`~qt[vXsTtQvQv~ */455?0(% {he^TSNJB:5.++68830+$)03+)"   ~~}{xssstsqqsxxvxvtqoonttnnqossqooggijgddngglnjlgi}bb|Zz[xbzbx[w[uds`r`n_n]rZsXrZnXnSkUiViXhZf_f`fda_a`^e^e\`ZbWeWeRdRdU_U_M[JZJZFbFbA`CXCXA]AZ<[7V;P9P<L<L;K<I<N2P,U'Q"QV"V%X%Z%Z,](]%X [ i'j `__b`][SN F::7520.-)-22+0.237755200!(!&)-232-&!#!$))+0332($$#!.37870-.!!$$#!!#!#!#$  {tnolnje_]_]bZV.y*)'%s%b$Z'U1`.yV䀿VVZ`dgjjlsttg]ZZSLLPPQ[~eyjtlklfieiao`xWtQxMMQV^a^chmmjppoke^WMG;GGBC~=x9dMiOb>SCN;K9G6?8=9A=?9=;:9:8:67$$%%'$$'"$"$  "$')'$   "|wrmmkjfcW M JHB@;=94.*,  $ %$"$ ""         uppqqsplgkgdd_Za_]ZZXWXRHHHD??<7457>INPNRNPSWXZ_]gkn}lnuz}}” }}zzxs}kzf_\UMD94(&({vzslknfdda]]Z\XUNRPRSURSUXWUUXZWZXZ]\bafbgdinlnqpkusid_\__\_bid_abffZXWWb\Za_XUPSSRMNMHDA:<:/ 445 9 >>?<9475:??CKPSSNHFFAF? ?< 9#<%:%9 5 4&5#20/%/+5*:(:%?(F&A(>-?/F0A4A0>5>9:5545424/00--2-?2:9<?>A?AC?CCDCIIHCHAIAH?H>D>?<?9H9K5\?]DaDaFaadNkXkanZq_vau_kPlPsUxWsRuNuIlDiIa<b9k:k9i7b5]7\4d0b(a*a-_/]/]+Z+]&\%W*W&Z#Z U%S*R&R S WUSRRNM M#F&C&D#FDA&>(<(<%:#>CC5#4#9752 00/+- + %!  (+&#!    #+*00/0&%%##!#(/222-!   !#!&99720420400/020+&&%!    %(40*(24477499520-+(%(##(%*+# #+*04~/~5|5t4t+q(y!{~| ywvtq mj gej&h-g0e2h0l2m0q5l?lFjIlPG_+fl{ zxqllnpppk"i,b8aE\L\XWVSJREUIUIX@ZBSDSJKENBM;S;R:R3W8U8W:W;X3X+]f_!]&X'Z)U,W0S0P+U'S&U$S!Z"N&K)F,C.<0>0<,:)A&D!KI?:&4$479<:+"("&$!!%*0+&%&  !', 0, &    ( * * -4 5 2 4?K N II NKHK K D D K K M F C C F M PRWZ]_ Z_ b ] _ b bi l k l l g g k i f f b a b ] \ Z Z X R S P P M K I I C A ? 9 7 5 4 - + - + * & * ( * ( % % #       !              !                           # % % & ! # & * * 0 - 0 4 5 2 - / * ( &            } | z n i ^ W M A A F R Z J < @ q> eC c> `; Q< Q; L9 O7 G2 =* 1# +              } |   }   | } | } z s p r p m k n p r p u z } x n r r r r m m f h f k m} i{ f~ cx _v cs ^t Wx Rt Pt Ts Ts Oq On Yi Te Pi Ag Ae Fb J_ E_ M` Kb OX OU KU JZ H[ EX HU FS CU >S ;Q >Q AL @Q EQ KG CB AD @G >G ;? @= @? 1A -A ,= 2< ;8 @7 A2 @2 >2 <) 6+ 20 42 1. -( /) *# 1& 1( 4$ 4 1$ ,$ ( / - ( * / * , ' ( ( , * , / 1 / 1 - , * * 2 2 6 6 ; @ A C Km Z\ d[ dY f8 |1 )       $ , , }* |. s1 r4 r6 u9 u> k1 n, p u v u l a ] \ D 4 2 / #           | x s p n k d T M J O U ^ \ ^ d d ^ Y M K H J E C A @ < ; 9 < 9 4 - - ( % " "#   # ! # & % ( * / 5 2 C D K K S X U S W X \ Z ] g l l p k _ ] ] \ _ d n v   v v z x {        " % / 1 3 6 ; ; @ B @ > @ H L Q T T [ ^ ` a e e f e e f e f h j k o r u ~ ~ x q l l n l e Z Z P G F D A < . #                y w y |  u ` H 4 8 @ G H L Q M O ^ \ \ Y [ [ W T T Q M E > = > ; 9 8 8 6 1 , .             ݀  } x x u q n g d b \ W R K D > I 7 4 # ! #                                                 ~  ~ | | z z z y w w !t #w (t *p /o /m 0k -h 5j 5j 9h <f 9f <f 9e 7f 7f 5e 2a 2c 5a :\ 7` 4` 2\ 4^ 2[ /W -R /V *^ %[ #Y O M Q W [ \ c !c ` f c ` \ ^ c c k k m m j k m p r t u u r t t u y z z ~ |    | z u w r r t r p o j j f a \ \ ^ ` e f h j m o k m p t m m t u w t p r p r t r p p k j k j a e e a ` a ` a a e e f c a f yf rj vj tj qf oj gk `m Yo Vu St Tu Xy Yz ]t `u cp cm eo hw h| ^ ] Y Y ^ ^ [ [ [ X X V I J = ? = 3 6 5 $      " !             d Y T R U \ _ _ \ ^ۀ W T M M T W C ; y y |         ~ ~  ~ | y y t r t p o j f f h h e [ Y H G 9 9 9 6 4 . 8 1 , j% q, / 1 * j, j, n/ s/ j3 n6 n3 e4 e1 b/ ]1 ]3 Z8 Z9 X9 V= U6 U8 X4 V/ V. [) P, P, U/ S. P. N1 N1 I6 G8 F8 ?4 ?/ D) D' L$ P I I N" P U X X ? : : 7 5 2 . 3 3 - - 2 0 2 ) ( # $ # & $ ! #                      }   { z x _ Z \ Z X X R R M M I K D C D A ? < 9 4 2 0 / / + & * 0 %  g J J J I = G G  xpmdUOYZ^_dcfiswdcd_YPMMA1   !-<?SXX[b`bbotxvs{qg_[XUXZ__][ZXSSPPSPNKLNSXQPNPNF?==<0$ 7&U!T#\$_(_)c+h)h)k+r-s0s0n-f+d+_&\(W+^2r3320--.-+)-.023535:BB=3?FFLLQPLFBDBGDFBB ? =?:?ADAA??<<:!3.$0&5"3&3'7$8$365?7B3B3E8D8B5?8?<DASFVF[IbKbGVKXNYQYVTUQVNZL_O܀bVg]bT`O[JZJXDZ@bIlctmxt}|"1#7<AEFKORRUY2^K_NaZidklmskmnpnmrppmihkffhiffddcca_dhikmmiikhfinmnrn_a_YRFCC@76# vqqgUK?<2(!($&)+-03:=?DLNVZ_]VPQVQQLKNQPKNNK888݀853.z+z-&{+-++)+-+()(&|r}r{|}~}z{wzw{wxu{ovkvjshufq[k[gYf\fYd\a[_Y_WWVUQWMULRHNGKCK>D;C8F6D3I3N3P/U.U'b$a"a$d%d'f)g*i1i/i1p9d;b=d;i1u,%$  %)**./133466846963,**..1' ),*$,8)>)E.M1Q4V6\6h8m=r@r@kBfChBrBu@=9;8469>>43.)*..***..13//$! & ?LK? : :70-+(())& (# !!# ($$(-.-0.0758AA:2-05=BDBFGIILLNUV_`]ZVVXX[`dbb_ZVVLNVnqtx}vsvttxvtojnnqstqsttvxy}sxlsiS`I`A]*[ b`_`ddbZVUXUU[[[][_]XUSUSVVXZNIGFKKLNPQQSUVQPQLLPLFGKNKDIGAGKIKNSSPLGyFwBvAl=]?SDDLDNENDS?X6Z6X=V6V3X0U3X0Z5[0[e~}|}} }     xn*n6m;nOs_xhxmuxxuwuspmfd_\\ZUTPMH>>@<6("xifcdhhdd_a^WY\\WYY T UZZWWTPTRJHHFHFFJ KJFFCFEEHHJF>962/',# # "#    %"#%''21/,- 2472647/126467;>>AAA>@AA><>@CC@@@<;@<;7,'"#%*7CFHMUWWY\^\YZ_^_}^}a{avcshsinfjhdddai^iZlUxRxOyKxJyFxExHnJlJoKlJlMdK[ZNZK^KdNdSiUkUn[nVmUnSsZxVx[zXzU|V}UXUQKGGA7|wwy uy||~|~!!""&'$&''++58:8:~:|=~=w@r@mDuGuGzDzB|D~E~EDGINQOOQSX~^zjpohy^{YVEB61,)"      ݀ !+//79<><><7779:9<>?C?:77<<?:90+(%#%#%%}&(+}(&x%{%u(u(v*v-s-q*s*n-k/i0d/_/X-_/f*k+d(p%s&l+S-M0H97?+DF FIIR_lqpqqbvN6"ۀ )u8^@OBO@TBWHRLFMAQ>W;T4V*^#^ \YWWVTO'M-O-R'Q2M7L6HACE@KQ RTTVY \`e`^^Y\`aefkh``^\[YY\[YWVTVRTRQOMJEB>63.'{'x nd UPG$7%-.68=;=BCGEOTVRTVVWVY[`cjuuowkwctcw\zT|J@61qb__ZSMKA>-%  #):B~FK|`cl@o?s@v?x;t8v6v3y.} ""(*-2677;KW\afhhpw  | r n m h h$ d+ Z8 P= HB FE CS <^ /m t y |       ~ } x v x x t q s q j l i ` g l n o t v x x } } { { v l i e ` ] [ S U ] ] S D G N P N G D F D D D A B D B B! ?+ B4 IF SC SC Q? P9 P7 PC VH UI VH [D ]C [A ]> bA bD dD `F _N ]N ZK [K VI SS U] Pb Kk Bl =n =n Aq <q :u 8q 3p 8n 7n :l 8n -k )l $q z          ~ u y t ^* W= E> H; M= O@ O@ HC CH =J =Q 4Q /T 1Y .a /e .f *m ,r ,u 'u r u z          # $ #  # + 3 3 0 0 3 8 7 5 3 8 8 = ? ? N V V Z X }_ {] zU zU }P zP vN vN iP dU XX W] Mi >i 2l /n (v x } { v v l !l &d &] *V %Q #+ & !# & % / 2 4 2 7 : 7 9 5 9 < A H K N P P S W Z ] _ d s  w o j f e ` Y W Q O H J M Q M O M L H H E @ @ C B > 9 6 1 .            " , , * ) * 6 E E @ = C C G{ Ju Jq Hp Lk Og R_ Ya \d `i \n T M O Rz \x `s ep ka m\ wW uR tN yM yK |F ~D z? |5 2 + ( #    | | v r q r r m l m o r y | y q e b e b X V L &E &? (6 <3 =) D& B$ D! B A 8 -&&   & 5 ; @ E S X [ b l q r t u u~  y o k h c c ` ^ ` ^ T W T Q M G G H C @ > @ > C @ C @ > = = 9 ; 6 9 6 6 3 8 4 4 8 6 6 4 1 . / / 1 4 3 6 8 9 9 8 9 8 ; 9 9 8 8 6 4 6 4# ,+ '/ "2 0 > C D C C F I I I R S S \ _ i l k l p v { z z x q x z z } { z u s s x z x s p g _ Z R N M H H D ? < / ( ! # !        # ( - 2 : H U W W \ g n u v { u u q i g a b a Z X \ \ a i i g i k k l k g f n$ q* n, i3 g4 ]8 ]; WB UC PH NH ML KM HM CM AR ?R >V :Y <` 7a 0h -p !z ~       $ - 2 ? F ~I {K tP rS lV mV qZ o_ qd mg he mg ro tx e~ b [ Y X T J I @ @ ? 怞 .038:<888:7 8877&5'8+2.335,7,55785B2J3L2L0O-Y.]-^$]`VSNL I ID=63.$$$!   $(-.〲!&).03533:=DGIKKUXZ_it{~~}xtvttvvtsqqnnnoqljj n oojj"d,V;SAKHIMDP:K2C+C+;.6-4)4$2/%##+.20.053533025025722)toq$l(o-o0n2j3d2`.b+_+]+X)U+S&Q!K!G&F(?&<!:?0&     |pj`YY!\#V!LG!E!CCB@>!>!=;!;984.)) . $!# &&&$&).3AFGIIKKDDA A'=.?.?3A6BBAB?@?4=9:;:@=J:W7c8h8o5r7~53537?A?=?==GKLPUVbglqtvxy{|rmfeTMORVWRTY`jkmw~#c$e-g-h.l.m0m5r5v3w5y3|535<<88855330200-(## !  #// 49><92020-&  ogc#cހ    ##(&(+-)+.08:=DNQUSVZ]]`dbegjnt}     " ' % ( , 2 > O O E @ FKP T Y \ ^ ^ a u }   $+06:;;?@?BDOVbbeehmrwy|}}usswzuwspknrprpmmihdcdadkppa^^Z\YWYWURRURZWTRPRRPM MMRROPKJJJHHFJ#KOPO+J5F?CC>D>F@H<M;M<N;N;P<P>U@X>\<\<]>]Ab@f@n;q;v4z/v,v(q(p,n,k*l*k(i'k%l'l'p'v"}{"v#v%u#s"n#g"gfgknuxvzz}}     xlZSNFC?7-&!  ~y w#r#q*m,j/g/`4^9X7V@VHSMSMVOVPTRSZOhJkDm=n?nDpBs?r3p.nkikpnpursswzxzzwxz|}}||phZROOJFHHFHCCAA<<9664,'#  {yxvqqooolld[][XQQFDB833023502-&     ""''.@MQO==HHW^[cfcfjkpotyyru     $''**.,.1448;;@BBECCEGLLMOMQQRQRQOQTW\\\^ceackm ppp$t2y=|<~KL]blsnntt}vysxqx{ln]USSjlvyl`ULGNVXSNPV[b`elnsoyx %-29>EF<<4*-9AJAFHTU^_hnn}  &86'5;D@BS^STcott|    %&##*90<> 5  ! (&2A R P baSUb_UW_qls}!{!##).0}+..)&+.02<=?<??GIIGB?D F IILKPQQN LNP S SQSQ.U/V8Z9U@XJb^g^gRb6`beeeegjln{nqopxNvHyD}9y0s%sx{!}~%(%{lnqq~ltljicbbVXSIU?]=X_]]b`begebb"d,iIqVsgvlxytx{}r^}~   165$$'Bblrc^YT[h[O8 5LT $ "((-(%    .88^bt #4CIPa\fg */''.*.8=9>>BRaoh~kz~~~toy|~tjutfWHGcyw~|rrkz|uwzu|zttmo`LCGE=9;634;\\Rhfmrj[VJJ@@83,,)%= @  36 " "#'//*,-2966779<A@CvJlJfHUKNJIHCC(;4/-,/ 7 F HHFHJJK K0OHPRRZU_TbWdU\Y]ZXaWcZhKk+p%ps sihh^Y_ifhmsperOuNuTrjwnnzx|!}+>7yeYTT}G}@OLE.,5LXhlSGGS[h Z\:44 *>?Wfqzqv4>V"@Vo pt|zwzujjaO8=OVTG^e^H8HTh ym"\$c!mz PZn {vn!v)y,o,g"L"D&=&0)++++'),)+1=@INSSTIGNfOmQm]=YYToLwJOX[XY`elqv{y{`848>{`yMO`{tjjmm$h5b+[<YV`egntsl``V]oq[B5ukoy2KQD7VJ@6C=EVrreh|ojcaj|o`a\TGLG=49$*JB9MW^o    != S _o{02477:4+/v+j-e4j:N<=:>>?>?)A.DKKFH KKMKR SWW\Z]\-R]NvRSayf7kquzsdXUSHKUXXzXtXe]mgpi~uvppyx.:(8BNU[`[qv{v~[NPIBD==SSK DLXU%g*}*%'.E/LMMHJxE_B:>+6!43./<,#)),313>CEH JOY0\N[qWWVWW1WP[iaexhshe|fruyyUzT1ywwyyz|e]3#zwrrwwyzzz(Vo~~O})DG+)mA ; "   zdmfC<*'A/    }ye8(&7&`Cuqwkyl|xv  /Tk e J   fUDS;^]@68  % J   | ma d]I? n     4 R E    # / M ^ s       9 n$ $ ) 8. T2 J5 R7 m? D F K K N |P aX 'U %S V X [ ] [ V S X _ b d ` b f[ <V U V ] /b 0j Ss >x K{ >} -x s s Yt q t v y y Ft %t l e j l i g d [ V ] b b `] 6Z 9V )S /S $U Z ,_ *` 6b e j l n #o Nt ?x x { y q q v x { } C} y .{ | N   2 d i  o @ v M - 0 # > < *~ (} U{ M{ y px s o o q Dl qo Dn n l i d [ Z [ S [ b d g g Yi $v y t } ~ i R "  6 , ; } } v @y y x } } v } `y Py D{ Fy 8o _l yd e d d i e bj `t s q n n l i d i i d ` ] ] (_ .] A] o_ yb e] [ ] U P $P SK jF mA ^: w7 m0 y- o2 X8 ^= JA LB I K N Q S Q G B = 8 8 ? I N S V TV U U tV dU !P )I _F j? 8 0 . ) $ # M z T! O! ( & $   s t    ~_3 !      h k$ G) 5 < < S: 8 - # 2 l d 4  9Fvf\A   c V IS?    ( - $ H$ h x d! i J# *!      t : 3   &)Kq{`   9)C> $8'u]?MfqzF4+ Tj8~,y wutmmja[WTQQMLEGLG'B0@BEgJHGHHMYQOMMGB;631.,*'" regXYBDL1:6, mR9"]XXN) |w}}zuqqlpil-i-da$begtigffZbXdUWWXZ_XNMKIKIIAH2K4UW*MJFKHxHKNWX\XWSRP!MM'I"F1A1>'?>20/"-!07:9U9H/-*6(_*r*##($%$! ! ##(%\%;+*+++&L%L#b#F!0-! 87= X d U FLVUelv "7TfrfrmH'% ;E7>  "$6OXeOXQODV]]ly~w|y42>ISWpz;=6>=G^cj0-&8-8GyBw3t-rom$t.t?q3m:l5l-j-`B`V]`[]VKTQTIQKSSQbNiN{JGEEBD=;:8585311..+.,,))&$       #"#'2CC>%21;EHE9%( ,/#%76<>EPOds|zwi_dc\UdnnwuYZcWPC<>CWcis}zurppnkmpnkkdfac_^_^\\ZYTRTWTRPRPOPROPOTUMEJEFTHZJ\HaOdHhFkEhEmHxHJKHFEECE@;94/p*\(\'h'Z#OHOk "'-266*#d^ k W KK@7*KH@Mdsxkx $%/9@CCCA@9,'#$", ' +8NJ"b"h l`]VV[T;3VvwjNm|y{#-/97* #:7*%!/*!   +27>CH4~5:~?{Ax<x4{&}{mG~{"{6tXlt]][]XZX[UVU__ ][[Z!X[[ XUU[F]I[N[_ZbUXU>P>NDNRKXGXB]?fB<=7<&8&7+7<3D5M3I0P375(2#+*$ $#(2(5(0&2&?+M+R(W(d$\(N$D!H$2!!%%!    - 7 7 < C>FPRII] kg]\44M_bfbbZ]UUPFKSXUDC>95/+       *55+*!( #    qvrhb^bLB5&+')8Dttqo]S[V]`hqq^eo|w~&+!&    #(450??RXibM<2*ve`jjqq|{qgXQ=,)106==BD==^l~vq`JB:31DGNXJ33:,3?DG?108..)&&"~3|1|!~"|~~|ytpmmhca`^`f,yNyTz]zq~~yywwz|ywutrrwwtwz~ ~|zyyy||#|&~!~07-% &%*CHDHM]~\|U~P~9y*uttutm okjm7w\uqr}p}pptpu]m<h a0^?`R\_`q\d[d^K\A^7\2fkpoomokkotruyy~wqu]thu{trrht[rImDpTf5h@hBc+`$YTROMLHEECC@EG!G'O:J5H?OwO~RQTOQOVVTQOLE9; @(BCBH>K@S=S=I><>+9 8=JLOMQMJLtJ^GTGJEDE6C"CB@&>;9988643448$33.., .,),6*.,!*,)% $$ %D"G"X"[ e$w)|*)'~"$ "wYXNDGBBV^glom[O@8?Ocjtvq qc ] L1!++&!6DQvhT;+)6'     '.5@)  .L[h $$ *3X3\/M/A.9,H.X*b,p*q*x)u)d,W*I,5%"%-5DNWC5(  jg`"!,0.;B.&&+.31OX1=65;b`jrw|t|~l]^XIDJ=616@TYL;5ESX^llohcwy`mge``ghl|twrvy~ %%45*-AC0w~x{v|zxxzuppnnliigdfbba\XWSSPPU\XXSRNPPSXWUWZZ]_ffdbaa\ZXXbddgf_UXUURPNNIKHDA?<<74420-+&(#  #%(-4>AAIMNN KK I H?>>?? C DM0I2K9N7N0S7W+X0Z2]/d/d*a#b i!k ln qzs x4p%n(g*f4a0Z4W<M?KRMUKZSfWxPkNkMfIbFiHpFzCsCn?l5q-++&!!!&(/k5bC\HFD5A<DFCKAICD???:A(? <:#<*:0::74497M/7*P0d-g+a(_(Z(W&S+9-2(4&<&>&5+*(#!!#     %-<?I!M#S#WHAilksp sqndWP KF5 !   0FA?>  (-+  !(*>R\RI>5%      %**/4:AFDISS\asRKNMCC?<>:AADF:ACFIN\_iga]XPURUX\]g{kd_X~]gfiisq~l~g{bwbr]hXea`d[uVxV{]TTVSSQQOQSQVQSQSOQOOJGGLNLIJED@DD@B?@@=:;:866:?=::866::BINL@@ED@??==55110,+)'&$&,..,!'366631,+)'$!"         $ ) )    "  *$'.14@H8464*1;;48>CLRWGHOQO>1)%/169=CHO`[[LB>/)),9GHEGMTWcowtofY[OY[cormu   $$-.#((&0<8:8A?GVXSSA<$    !&<<FBFKGPSD7..2&#02 .#(.-.2()0.388==GGLNX`[GD:PQVXU[eVQSPV]j}~qt{sqt`XX[}X}[dqx{~}d}ex[w`wbz`xezgzjxqwouqsosyr}zsvy{|xrppxzpns}xx'z*|,}(|%} ('(#('(,"(*'"#%#   % #,1'6<EC*%EFMF<><9KJ<7( (<JJC@/(*67OHFJRUUTUKRJFC;461'#%;@FYRK@"7;CFKW^^YUPJ>@JJ>%7@MUYT^\dipmica d A; 9, Y f k miskwxppxnh\"J!C!A&K^iu!z++,,w0n08::w3h3a:n;d=h=n?r@pBzGwNQ}SwV}XuYnYY]YbOg<g7l6jEhJjMjPgTe\bcbh`i]x]|]^^|`ccubrgahahhmagngshwqsqmw\vTrTvOwOyJ|6|((%(1~@~H|RRW|W~_Z\~h^chnn^\kmpz|suux   !!),+&&"'$" $+ '    # !!&%&%&&"%"#+ +#1!6#;(:/!2'D$DIM RRSSUUX_b_ailpqlli n lfqs"p$g6g;l6l:dEgIfQkOlQlencn[qYqTuTuXs^seuhv]vg}h{m}yqqlmellrvtojbTLJS[TX]brr{~{qyv{|   !!(+(-- !*/572(-0<:>F>+/57:PU\dzznUUMKC<<C7:?DHdx{qs}u{{} |whVG@=4'$ "$)""%.1@COT^fk c h k j p o peu z ~ z|zzzo###&%#&%%((&!|m ^#h%j%t&u(e2j5t5~7z<<::99<>>AAAA?AA::y9w7m4h5e9e/`-W2R0O4R7R7M9O7G9E>EC=?CAGCEDGIVC@D>HEKHM=R>P=P9P3N.M/M'M$N)P$PM PPSRNPRRNKIIIKWXX\\X\__aa]\_bfd_\aaddb fggl i"ff$d%a.d*f*i3kEiLgYg\gmg|i~kwsxxzsunapOu@s9s1u/v;v1{6{>>CGWjomp~zukmohec`^\TJBBT^OEJC>@966131.,*)'$ $   qkqz{  $%/'48;;>9=@E>89B8/,$,.11@C6/966,"%*$   $,19>;BEMOTQRQ\^`kpjou~uv $&)-=INU[]_biejng`djgn} %#*112299AAEMMY_cffxrux|")0?Q$+)"+0:@EGJLG860:636ee`meSOjvozzxxsqqppnuuqkggdbbglggqftfa_]\]\ZWRSPNIHDoFgN^PTN[KYIbDgCmAjCbCX?Y?`<^:N9O7V<e<g5Y(Q&=*O+G+@(@ .#.)00'"  !#&(&#!!    xrurpphfcc__c__Y\OKHH@%%# "    {nKLG=G+()   قoa\^fejopwzzupnlb]ZMIIFDADHMXX\_ZZ]]WPMHHPSSKA<*! &+//4&5+5.0-/3(0(8#7..)$ &!( 338 :? D<5--$!&##$3BIBFDIGKLNVb]Z]ZVX`]_eg [ VSPF#I72:<>:A2C+C)I.M-R)WZ_bggkpqsvz{{   *,,/18868;@B@;61.*    t pj c Y WYTWORLMLB>@=;@GLMMR[cfhjt1؂.,))*,,*$"          ")/*/3*'*. "       ,/,*,11ӂ(-0>APbgqu,*11+R,R,Q3h5h=t?u@t;\=\DrErDjEjIyOSQSTXYY^`^]``^[[]]^`^^cceeqqhjlljccgmmjhlmomqqmqotyy&{&|!|{y{{{yyvvtqho^f]a^ahjottuw~ .L|P~XwPy[vPrLrP~nlvvb[odVQG:-.&  ~y{uqplf^\XGTCN4I,G%?=?;;??;:;;86;;:8;;=@BEGILTqSlTiTkXdX_[a]_]bb]bW^S]M]?[:]7]0^0b+c(c!g hlmorvww{y{|~~~{wvoqommghghhbYXQOQNJ IG GD @8*1-17,4+9):'/'0'4$-"(!&"# !" {te`jbTD)'5Eejq{~Ԃ"%(- /46!67>#A.H:H]C_@e<e;i<l@s@~<7y4x2q1s267;77<9;9746/,-9/>,>,@,F,Y*U(Y'u*'%k%H'H'>(<((*%(,*((*,--%# " ~xtjbZUPF.!  !#)#?(L&X+m.2022333200+-+-++(+$!)++++)+.03<553<B??<:8:==???88<=BABABFDA=DB=:878<F GFGI G!I&P2Q>UHUMXUbb߂omffkkf`kr ';Odm),+&!!,00++.11!utwwypefWYM;>#66 46861/*/63/3134/1/13348;;>;99;@E}LtJsLgOeMeQgQjVj\q\satcva{fyf~kjp݂  !!%(#(/SUMIFCFWZabkil i ip{ }lifggllppqux} "$!!$$&"     "$* ) 1 3= = B@EHGMRVV`hooruzzunmkfaZWYRRUWUUP KMJCA>>>CC>;1/,((*-,-/-&*)(($+<=GNX]e                  '%"*#,*/AHKJCFKMJMPWcfippsuw}xx}~}{}{ytog_dglnyxuvpla{h~f^~W{P{OPZ\\aYWYURMPHJHFECA<;@@1 ""#-12477979;<@~>~@xAv>qAnAd6[4Z,S%S"F?8))27520.{)v(l(q&s!neb`]ZQ ?857!:$8(8+<0A.G2I0P5Q5XI_L`LeLgKeIgPlQsjttxvsieggjotyxttvtqljndZQNA8&#}}~ytokha{`{WvMjQ`MUMA@7406+;(9=;3 13EMOGQRQLEu6a,Y$OQHCBCEHGHLWcot(:?BGLQUetqnjggjqsx $.13./)% $*,*,.34EHLR^fpor|   !0::52+- !  #** *%"#%(*%(*(*-1@FEFE<>r;^<Y/=19#'%%%"*(%%* -/-*,-479CHJJMKPPRURKRYYRO}OxKxEpHsMpZsZv^zd}hkkmprz}{sznsdmas_hH^A\5\/U&PMMKK<6621447><;;74|4y6y;|>CFJPRWWYU{WvTqPoPjOhOgPeMbO`P`O[FNC8>'<> EFJ U"\,^1f;pOjbb`f]gZdZaV_SWKKF><+8-7232758:7<7A5?5D0:.:-?.C0H0K.I+C&A#:#9&9#29< :<? ::>52& ~Q=0uςvx{z !5KF&!# (2AGSelt_|TRYVYTLJQJ@B98*" $.138HM`ehmt()&)37825AX q "''*,/(//14.;,2*6,F)E,W)R'P%Z'p"n"w"daWUKJPOKEC> 6 ,     #"-7CHF44FPRO\m        pf@7>>HH>//,'(129CMU961/,,}vvsiba]]\ZXUURRRUX]db_bdbbgkpv~{~zspykkyktitglfjd_bXbQ_V]UaIbFf8flpu˂,|2z>x;sHiOaZ_WRaKcHhHaF^H_K_UWYYdKpCx4(Cς#LR`` ffkjooz !)57?GF5&~zwtfa\aeyzzojja \RH#E&@+=(@(C҂uTJ<2' 6TZ     bb`f]gZdZaV_SWKKF><+8-7232758:7<7A5?5D0:.:-?.C0H0K.I+C&A#:#9&9#29< :<? ::>52& ~Q=0GӂB93//, % $',. 3669;@;8 / ) %*,//,     "%)/36=>CGHG u }  x zs zq xu xs us wl wn ns f} _} ^ ^ W U U R R ^ a _ d d m p uՂ  *-<>>669>@@EHKJRPUWZ_^_aYY_dhuwu|usuxz}}z|z|zwzxssmnmihhda_aZRRMKECEACA97142 ׂ    -05<KRPSfiqx}{usspifZHA:42--!   wwr|<؂;662(%}y}~vnjijnig``b`_[][_ddggjssvyyy{}{{xyvxvv}}}~~~  "%16;@<<+1ق(1!6/*,'. 13968=EOV`ckorpmj`\^^RB94361 / , %$%*)/!4(../.3+1IXӂ?W:X1S$R!SZ\__bii!n$s&v+x}    }z$x"sla_WXUSPPKIHA?:5202//-&(#004!?!K+N1M;S?S?PBN@UDUJWIXԂ~|~||ywtwvrwtt~qo~mutrymwyyz~wwwy{~|q݂gND;0"!    083))..168;ELNQTXmrvq ݂                     ނwwqmljgbYVQNOQQSTVTV[]`ceoy~~~wuuwuuppttoprroouz~x}}zzxx#߃%*7CFHMUWWY\^\YZ_^_}^}a{avcshsinfjhdddai^iZlUxRxOyKxJyFxExHnJlJoKlJlMdK[ZNZK^KdNdSiUkUn[nVmUnSsZxVx[zXzU|V}UXUQKGGA7|wwy uy||~|~!!""&'$&''++58:8:~:|=~=w@r@mDuGuGzDzB|D~E~EDGINQOOQSbb]YXESOQOLII L JG D?;:66#5$5)6+6050.80<0?5F8Q:SDQDS?X6Z6X=V6V3X0U3X0Z5[0[e~}xsrrpmi_OKJE@;;94*#SރX~^zjpohy^{YVEB61,)"        ! # & -2/2"7":? NSW_b"a'b/d3a8b;_@aGdLgLnRuWv[{\f}hzfxfpppwkyg|gkluuvvx} &$&((+-5778:<=ADBIINLPUVX[]_]__`bgjnqxxvsvttxvtojnnqstqsttvxy}sxlsiS`I`A]*[ b`_`ddbZVUXUU[[[][_]XUSUSVVXZNIGFKKLNPQQSUVQPQLLPLFGKNKDIGAGKIKNSSPLGyFwBvAl=]?SDDLDNENDSDQ:S8Q5F0?0<.850606+5)5$6#6:;?DG JL I ILOQOSEXY]bbS݃ !+//79<><><7779:9<>?C?:77<<?AA?AFHFIRX\_fnnnlnkqquvvvqqnlnk}lzlviqkpvnvg{ZWPIA>::#(+--/++&&*-*->M]di $$  %)**./133466846963,**..1' ),*$,8)>)E.M1Q4V6\6h8m=r@r@kBfChBrBu@=9;8469>>43.)*..***..13//$! & ?LK? : :70-+(())& (# !!# ($$(-.-0.0758AA:2-05=BDBFGIILLNUV_`]ZVVXX[`dbb_ZVVLNVnqtx}xxqnjgb`__]_][XVUPLNIIBDA=<:8775-+((&$& }xvvuulkgg|kypwppxfzf}hf{\v[uWnRgLdLaG_@b;a8d3b/a'b"_WSN? :7"2"/2-& # !   ?݃:90+(%#%#%%}&(+}(&x%{%u(u(v*v-s-q*s*n-k/i0d/_/X-_/f*k+d(p%s&l+S-M0H97?+DF FIIR_glnqv{{{  ::>AIPW{Zvgvnkpiqlvlzk}nlnqqvvvuqqknlnnnf_\XRIFHFA?AA?6D݃6<87608+6*6&---9:>CKMS UXZ\\d&f)i0k8p8q8u8x8853.z+z-&{+-++)+-+()(&|r}r{|}~}z{wzw{wxu{ovkvjshufq[k[gYf\fYd\a[_Y_WWVUQWMULRHNGKCK>D;C8F6Dۃ    $),16!;$>&C)H+H1H6H;HBHGHLHQHVH]HbHgHlHqHwH|HHHHHHHHHJJLMOQRVWY[[\\^aeefjkmooppppttwz|z||{wyyvvrmmhhb]YXQNJIINSY^chotvvvvvvvvvvvv{ #(--6&6*8+60876<6D3I3N3P/U.U'b$a"a$d%d'f)g*i1i/i1p9d;b=d;i1u,%$$ id]M>-*-*&&++/--+(#  {{{vqnlg_abdfiklnpqqqqqpp|pwpqplpgqbq]sXuSvNzI{D}?:61,)"  (-238DFGDFNPU`dgigijlnvy{!&).03533:=DGIKKUXZ_it{~~}xtvttvvtsqqnnnoqljj n oojj"d,V;SAKHIMDP:K2C+C+;.6-4)4$2/%##+.20.053533025025722)toq$l(o-o0n2j3d2`.b+_+]+X)U+S&Q!K!G&F(?&<!:?0&    |pj`YY!\#V!LG!E!CCB@>!>!=;!;984.)) . $!# &&&$&).3AFGIIKKDDA A'=.?.?3A6BBAB?@?4=9:;:@=J:W7c8h8o5r7~53537?A?=?==GKLPUVbglqtvxy{|rmfeTMORVWRTY`jkmw~{yvnljigigd`UPNFDGFD832-( ۃ )u8^@OBO@TBWHRLFMCMAQ>W;T4V*^#^ \YWWVTO'M-O-R'Q2M7L6HACE@KCAQ RTTVY \`e`^^Y\`aefkh``^\[YY\[YWVTVRTRQOMJEB>63.'{'x nd UPG$7%-.68=;=BCGEOTVRTVVWVY[`cjuuowkwctcw\zT|J@61qb__ZSMKA>-%  #):B~FK|`cl@o?s@v?x;t8v6v3y.} ""(*-2677;KW\afhhpw  | r n m h h$ d+ Z8 P= HB FE CS <^ /m t y |                                                                                          ~ } x v x x t q s q j l i ` g l n o t v x x } } { { v l i e ` ] [ S U ] ] S D G N P N G D F D D D A B D B B! ?+ B4 IF SC SC Q? P9 P7 PC VH UI VH [D ]C [A ]> bA bD dD `F _I _N ]N ZK [K VI SS U] Pb Kk Bl =n =n Aq <q :u 8q 3p 8n 7n :l 8n -k )l $q z                                                                  ~ u y t ^* W= E> H; M= O@ O@ HC CH =J =Q 4Q /T 1Y .a /e .f *m ,r ,u 'u r u z                         # $ #  # + 3 3 0 0 3 8 7 5 3 8 8 = ? ? N V V Z X }_ {] zU zU }P zP vN vN iP dU XX W] Mi >i 2l /n (v x } { v v l !l &d &] *V %Q #+ & !# & % / 2 4 2 7 : 7 9 5 9 < A H K N P P S W Z ] _ d s  w o j f e ` Y W Q O H J M Q M O M L H H E @ @ C B > 9 6 1 .                       " , , * ) * 6 E E @ = C C G{ Ju Jq Hp Lk Og R_ Ya \d `i \n T M O Rz \x `s ep ka m\ wW uR tN yM yK |F ~D z? |5 2 + ( #                        | | v r q r r m l m o r y |   y q e b e b X V L &E &? (6 <3 =) D& B$ D! B A 8 -&&   & 5 ; @ E S X [ b l q r t  u u~  y o k h c c ` ^ ` ^ T W T Q M G G H C @ > @ > C @ C @ > = = 9 ; 6 9 6 6 3 8 4 4 8 6 6 4 1 . / / 1 4 3 6 8 9 9 8 9 8 ; 9 9 8 8 6 4 6 4# ,+ '/ "2 0 > C D C C F I I I R S S \ _ i l k l p v      { z z x q x z z } { z u s s x z     x s p g _ Z R N M H H D ? < / ( ! # !          # ( - 2 : H U W W \ g n u v { u u q i g a b a Z X \ \ a i i g g i k k l k g f n$ q* n, i3 g4 ]8 ]; WB UC PH NH ML KM HM CM AR ?R >V :Y <` 7a 0h -p !z ~                                $ - 2 ? F ~I {K tP rS lV mV qZ o_ qd mg he mg ro tx e~ b [ Y X T J I @ @ G L S Y ^ e j q w |                            & + 0 - ( * & - 4 9 ? D K P W ] b i n u z              ~ } { y v t s q o n l j i g d %b ,` 1_ 8] >[ CZ JX OU VS [Q aP fN mL rK yG ~F D B A ? = = = = = = = = = = = = = = = = = = = = = $= += 2= 8= ?= F= L= S= Z= `= g= n= t= {= }= = = = = = = = = = B G N U [ b i j j j j j j j j j j j j j j j j j %j ,j 4j ;j Aj Fj Mj Uj \j aj dg hg r` wL G D A = 5 . $                           " ' ) . 6 ? D L L~ Ou [p lo vm wk vh {c c [ [ V W V V T T R T [ Y \ ^ f h j j m t w w |                       * + 0 4 9 : < ? M S W W W ] a d b i n l n u v v v z  z w p p k e ` T L G C C 4 / . , ) % "                            "  % %  $ $ ' ) ' ) % . . 1 1} 9f C_ CZ LR JP LP RN TP VP WN YP [M `M hH oF mF rC r? wA ~? A < ? < < 7 7 4 0 - / / / / - + / - - - + + ( % #         ! ! % # %       g J J J I = G G  xpmdUOYZ^_dcfiswdcd_YPMMA1   !-<?SXX[b`bbotxvs{qg_[XUXZ__][ZXSSPPSPNKLNSXQPNPNF?==<0$ 7&U!T#\$_(_)c+h)h)k+r-s0s0n-f+d+_&\(W+^2r3320--.-+)-.023535:BB=3?FFLLQPLFBDBGDFBB ? =?:?ADAA??<<:!3.$0&5"3&3'7$8$365?7B3B3E8D8B5?8?<DASFVF[IbKbGVKXNYQYVTUQVN[NbVg]bT`O[JZJXDZ@bIlctmxt}|"'1'#7<AEFKORRUY2^K_NaZidklmskmnpnmrppmihkffhiffddcca_dhikmmiikhfinmnrn_a_YRFCC@76# vqqgUK?<2(!($&)+-03:=?DLNVZ_]VPQVQQLKNQPKNNK88x8u8q8p0k)i&fd\\ZX USMKC>:9--(# {vvvvvvvvvvvvtohc^YSNIIJNQXY]bhhmmrvvyyw{||z|zwttppppoomkjfeea^\\[[YWVRQOMLJJHHHHHHHHHH|HwHqHlHgHbH]HVHQHLHGHBH;H6H1H+C)>&;$6!1,)$     @҃ ; 6 8 : = @ @ = 6 5 3 1 3 0 3 0 + "     # 1 1 2 1 - , / / 2 7 9 A M K K J M P T xT wT zT xY nd id dk Zr Or Fr @p <r 6r -w x w u }                          "{)l,j.e8eD`EbI`J]L]QbNgOj[nYs[q]obqqerbo]qZoUqPvF<:23.-(&)(+2537335:<AAFFLPXUUPIGBAD::<:5035<BKVxyvy{{xtqovyqgbdZ[XUSKGA<20()(--))(.+))+(  !#59>HNRaluzppjotuzwz~|~| .9;=JORw[~ch~to~khhehfjjea^^Yekpprrurwz||~pz~~007BQ[Z]_nnqqty          9972*  %"#%*-1769<@;>>CAC@CTUTOMMPPRZZ\Zacc_YUZcr~|y}uwrmhea^YVOLHMLOJHWh      !$((+(###(!#z#x|}z usrn r w| }zpnkkhipnhfhkccfknkknfhpx$}$x.z2}.88550377.5238<BFDA=72-+)+252+&#$&-22&##(($)+-$ & $     ! " $ $$$&$0$:$D$N$X$b$l$v$$$$$$$$$$$$$$$ $$ $'$4$>$H$R$\$f$p$z$$$$$$$$$$$$$$$$$$$.$8$B$I$S$]$g$q${$$$$$$$$$$$$$$$ $$$($2$<$F$P$Z$d$q$x$$$$$$$$$$$$$$$$$"$,$6$@$J$T$^$h$r$|$$$$$$$$$$$$$$$$$&$0$:$D$N$X$b$l$v$$$$$$$$$$$$$$$ $$ $*$4$;$H$R$\$f$p$z$$$$$$$$$$$$$$$$$$$.$8$B$L$T$]$h$t$~$$$$$$$$$$$$$$ $$$($2$<$F$P$Z$g$n$x$$$$$$$$$$$$$$$$$"$,$6$@$J$T$^$h$r$|$$$$$$$$$$$$$$$$$&$0$:$D$N$X$b$l$v$$$$$$$$$$+18?EJIID5!  *-1WY\^k| +0..::;GJL[g{jpOf;^1\,U"J FE> <>'C8FNO[P`O`MbPeOgOhPjPoTqWvU{YWWRPJFC>;|6y4y4|7;;<>7441266<KKMMPU&\/\5^AhHs_rbiahldn_lanZsMpHsEpKxOxO}RYYRKRURPPKMJJHC974-,*-/-* %%(*%"%%#'19/=<Y;^>r<EFEF@1-*(*(%*(%#"%** *#   !-+25::0!   |ropf^RLHE43.,*,*$ %)/.31.$ xsqjggjnqteUQLGB?:(tocWLHGHECBCHQY$a,u6ELQRQGOME3 13;=(9+;0674A@UM`MjQvM{W{`ahkoty~}}#&8ANQZdnjlqtvttxytojggeisvtxjtQsPlIgKeLgLeL`I_5X5Q0P2I.G0A+<(8$8!:758 ?QZ]`be!n&s(q(l)v.{02572)pjkf~fya{cvat\s\qVjQjQgMeLgJsLtE}@;99;>;;84331/1/4313/36/*/168646 6>#M;WYepywwtu!11.++00,0=Q~ &25>: :?< :<9#2&9#9#:&A+C.I0K0H.C-?.:0:5D5?7A7<8:7532728-<+F>KKSWV_ZaZd]g`f`dnuYahou~ !(278<ABGLPUVVX_dgi`boy~ #>zwns%u/x7z>xEzJ}JP}^zapsh|c~~}{xssstsqqsxxvxvtqoonttnnqossqooggijgddngglnjlgi}bb|Zz[xbzbx[w[uds`r`n_n]rZsXrZnXnSkUiViXhZf_f`fda_a`^e^e\`ZbWeWeRdRdU_U_M[JZJZFbFbA`CXCXA]AZ<[7V;P9P<L<L;K<I<N2P,U'Q"QV"V%X%Z%Z,](]%X [ i'j `__b`][SN F::7520.-)-22+0.237755200!(!&)-232-&!#!$))+0332($$#!.37870-.!!$$#!!#!#!#$  {tnolnje__]bZVVVZ`dgjjlsttg]ZZSLLPPQ[~eyjtlklfieiao`xWtQxMMQV^a^chmmjppoke^WMG;GGBC~=x9dMiOb>SCN;K9G6?8=9A=?9=;:9:8:683260C0T8L2L.J-G-E)G$O(L&O!VTMJGJHE@=94)* '%$$%%'$$'"$"$  "$')'$   "|wrmmkjfcW M JHB@=94.*,  $ %$"$ ""         uppqqsplgkgdd_Za_]ZZXWXRHHHD??<7457>INPNRNPSWXZ_]gkn}lnuz}}}}zzxs}kzf_\UMD94(&({vzslknfdda]]Z\XUNRPRSURSUXWUUXZWZXZ]\bafbgdinlnqpkusid_\__\_bid_abffZXWWb\Za_XUPSSRMNMHDA:<:/ 447 >>?<9475:??CKPSSNHFFAF? ?< 9#<%:%9 5 4&5#20/%/+5*:(:%?(F&A(>-?/F0A4A0>5>9:5545424/00--2-?2:9<?>A?AC?CCDCIIHCHAIAH?H>D>?<?9H9K5\?]DaDaFaadNkXkanZq_vau_kPlPsUxWsRuNuIlDiIa<b9k:k9i7b5]7\4d0b(a*a-_/]/]+Z+]&\%W*W&Z#Z U%S*R&R S WUSRRNM M#F&C&D#FDA&>(<(<%:#>CC5#4#9752 00/+- + %!  (+&#!    #+*00/0&%%##!#&/22-!   !#!&99720420400/020+&&%!    %(40*(24477499520-+(%(##(%*+# #+*04~/~5|5t4t+q(y!{~| ywvtq mj gej&h-g0e2h0l2m0q5l?lFjIlPGa+fl{ zxqllnpppk"i,b8aE\L\XWVSJREUIUIX@ZBSDSJKENBM;S;R:R3W8U8W:W;X3X+]f_!]&X'Z)U,W0S0P+U'S&U$S!Z"N&K)F,C.<0>0<,:)A&D!KI?:&4$479<:+"("&$!!%*0+&%&  !', 0, &     ( * * -4 5 2 4?K N II NKHK K D D K K M F C C F M PRWZ]_ Z_ b ] _ b bi l k l l g g k i f f b a b ] \ Z Z X R S P P M K I I C A ? 9 7 5 4 - + - + * & * ( * ( % %  #        !                        !                                      # % % & ! # & * * 0 - 0 4 5 2 - / * ( &                                      } | z n i ^ W M A A F R Z J < @ q> eC c> `9 Q; Q< Q; L9 O7 G2 =* 1# +                                                                     } |                      }   | } | } z s p r p m k n p r p u z } x n r r r r m m f h k m} i{ f~ cx _v cs ^t Wx Rt Pt Ts Ts Oq On Yi Te Pi Ag Ae Fb J_ E_ M` Kb OX OU KU JZ H[ EX HU FS CU >S ;Q >Q AL @Q EQ KG CB AD @G >G ;? @= @? 1A -A ,= 2< ;8 @7 A2 @2 >2 <) 6+ 20 42 1. -( /) *# 1& 1( 4$ 4 1$ ,$ ( / - ( * / * , ' ( ( , * , / 1 / 1 - , * * 2 2 6 6 ; @ A C Km Z\ d[ dY f8 |1 )             $ , , }* |. s1 r4 r6 u9 u> k1 n, p u               v u l a ] \ D 4 2 / #                                    | x s p n k d T M J O U ^ \ ^ d d ^ Y M K H J E C A @ < ; 9 < 9 4 - - ( % " "#   # ! # & % ( * / 5 2 C D K K S X U S W X \ Z ] g l l p k _ ] ] \ _ d n v                     v v z x {                                                                                         " % / 1 3 6 ; ; @ B @ > @ H L Q T T [ ^ ` a e e f e e f e f h j k o r u ~ ~ x q l l n l e Z Z P G F D A < . #                                                                                            y w y |         u ` H 4 8 @ G H L Q M O ^ \ \ Y [ [ W T T Q M E > = > ; 9 8 8 6 1 , .                                                                                         } x x u q n g d b \ W R K D > I 7 4 # ! #                                                                                                                           ~  ~ | | z z z y w w !t #w (t *p /o /m 0k -h 5j 5j 9h <f 9f <f 9e 7f 7f 5e 2a 2c 5a :\ 7` 4` 2\ 4^ 2[ /W -R /V *^ %[ #Y O M Q W [ \ c !c ` f c ` \ ^ c c k k m m j k m p r t u u r t t u y z z ~ |                         | z u w r r t r p o j j f a \ \ ^ ` e f h j m o k m p t m m t u w t p r p r t r p p k j k j a e e a ` a ` a a e e f c a f yf rj vj tj qf oj gk `m Yo Vu St Tu Xy Yz ]t `u cp cm eo hw h| ^ ] Y Y ^ ^ [ [ [ X X V I J = ? = 3 6 5 $      " !                          d Y T R U \ _ _ ^ W T M M T W C ; y y |                                  ~ ~  ~ | y y t r t p o j f f h h e [ Y H G 9 9 9 6 4 . 8 1 ,  j% q, / 1 * j, j, n/ s/ j3 n6 n3 e4 e1 b/ ]1 ]3 Z8 Z9 X9 V= U6 U8 X4 V/ V. [) P, P, U/ S. P. N1 N1 I6 G8 F8 ?4 ?/ D) D' L$ P I I N" P U X X ? : : 7 5 2 . 3 3 - - 2 0 2 ) ( # $ # & $ ! #                                                                                   }    { z x _ Z \ Z X X R R M M I K D C D A ? < 9 4 2 0 / / + & * 0 % # % ! !         # % ( + + - - - / + - / / / / - 0 4 7 7 < < ? < A ? A ~? wC rF rF mH oM hM `P [N YP WP VN TP RP LR JZ L_ Cf C} 9 1 1 . . % ) ' ) ' $ $  % %  "                          " % ) , . / 4 C C G L T ` e k p p w z    z v v v u n l n i b d a ] W W W S M ? < : 9 4 0 + *                     | w w t m j j h f ^ \ Y [ T R T T V V W V [ [ c c h {k vm wo vp lu [~ O L L D ? 6 . ) ' "                         $ . 5 = A D G L ` wg rg hj dj aj \j Uj Mj Fj Aj ;j 4j ,j %j j j j j j j j j j j j j j j j i b [ U N G B = = = = = = = = = = = }= {= t= n= g= `= Z= S= L= F= ?= 8= 2= += $= = = = = = = = = = = = = = = = = = = = ? A B D F G ~K yL rN mP fQ aS [U VX OZ J[ C] >_ 8` 1b ,d %g i j l n o q s t v y { } ~                z u n i b ] W P K D ? 9 4 - & * ( - 0 + &                            | w q j e ^ Y S L G @$σ'+,3.18868=@@BB@@EOQOIDBEEIJOXbehjg^^[[XNJOSSSVXclmmhcVY^`ccjecejqw|{wwtv{wvtqrwouqmqhqct\w[{WJC=JJMJMMRTQHLOT[fmjeWMG=/1,,)'$$%'/38989>4B>;994.11664631.*)"    snaXRS]lbWNK<9::4/242% ! +9?M WX R H 075 + !(-- 0&0*2->/Z-l+-/04<4/0d2_0P0I4C0?/:/9799?CA:<97252#0*/5-2+/%*!+% #! !((+/ 5 < F IK!U#]*_2_5]5\5Z2Z*S&S*X-X:b7b<f?gHiKpSndikdkX}NS\}dninnkqksquxxulqfsWvRzR}MM]flg]df_\KHIx7q/p(n&n klnsnidk nsu}  {v pqx  {zvklquxx            y`SVTNJG : ; 8 3.00'3'=IQTSNI'@*?.I*]*`.e/m/g,^.X/E*6*0',,&,/3$4!9@;99 =C EJ Q QV W T938:9;;5@0H1H8L:J1C0C,L!RW[\`!^'[,[0W3V:VDWEW8^0a$j)k.p3p0m+m'y5y=t:zJyOz[|^|N|;~8;EJQSX[`hmlg]VTJLONIILJNIJD@66|1|,'0=86.1+.;;860! $+|0}7fGmLOXYjJx7  yo e%d(I/B2F7<9=;BEBJ:K2R-U#\OKHEA;9;( ^OJ L#BYfpxpR# !'.5;BIOTY`gmt{ %+07<CIPW]dkqx %,16=CJQV[ahot| &-25322320(052F2\-z0g.i-x+&&      =VQR`cz$&3.2#!# -3:FISdiivyxjs !#(-055"3"513;3F5M8O8K5C8F:C7782=;AU=@<F=T<P8c<f=rAxADGKNPSQLIFIKLNLXZ[[b_bbed`beeii ibdeeieebb``"b']&d.b1_0b?_:`BbGgGjNlInNnSqSsYjbi]gmdjbmeqdt]m]eZjN8I$GIAB:800-03300-.-.)-)|)p$h!k!ffchfO PJC E @@92 -( "   (*'@AFH97>4/1,""* ", -7> FFAJ P TMP \Z _ h sx|x}|us}!#!!&&&#&.(($(.20-##+)!!. 2 8:<)?=BXF`KLSUSSPLIIF?:78<=?KQSXbdjjl no&n0q(t}{}}}~5sS_lZnU{SxQ{NvA) !$!# #!!#! ##$#&(& ( ($ )+.2238:?%=/5389<9<>?6?*BADIDD'K*Q6UHVJUMVQZLUEV;Z@Z=Z4X4X.V'U'U Q QQUX`,_/[,['Z*[9[1_=]@_QZVZ[[Y][[e`c`Wb^dY`GbLdEgJgYg\ghdc_mZjX^XfVeU[SePeP^N^LcKcIhB^=^:r=|<<:72|+y#ff\ao!$&&&-27?AGDD G FD+F7DFFQF_DxAA72( #6Em}  &=GOLNS]~  (/>KIPfgnqsknsx{}svd]SK2&!-%~~| z|~-|5y>zCwKt\uft{propopruuu,u@rBpJrMtGuJwHwTtowkyoyuuuw|||zwzy|  |&z!u.u!t#p7r<t:u:yDuDuIteoleoat^j[jWnWsTsVyO~QYhkjhf\OOWYWTJ991434.14;1//3/*'$    '.))4.$%'% "     ))  ',)/ 3368 8;@LVWTV^ry%((279KMHJMTRWYZimpufnimwanafc^Y\fh_ca\WPPHH;21''~"FW^}   $$$..;BO`my~~zutupruyw#y*z*z/w0w7r:uApIpUr\rdt_u_tfuktsyuwzzzuwy~~z~~|~~|~~z||"y$|'y.y6r>uHtVr[w^wo|rz||poy~wwrpmkhjojo ot tz~~|p|  $00==B:ABVQLAB<<0.3<?BKSPIQbx~~junrjplrojnker`h_eZcQaU[Q^V[[YZW_YbVlWo[vWyMoLiEgEqEsBtE~HHRMMROJ=>C@B@9;@;83/)%'**'',.3.{)~'t)q*t*s*n,d1e3b3[4Z3S/V,X)d$i"qv     "x%x'~$%%"$"%% %)*,/36;BGGHOWY^akmpruzz~42<KipuwskaifmmskkcUYR\ORMOAAE@EJOOZ@2/   %*2967H1' *-(,FRT\a!swa\ TZ T U ZWY mp}zwr$)r(d$^$Z$WR9!*$#+53 8 72-.0022288=BB=ABBDDADBDGyKlLqKtKxNtPxPtSvUnUgeKoGxIU_`gnqsyy{toZVUBLNV[VVPGSZQUNUbl{    "      %  49 EKT \ cffZn  ~xvvtqvv{}y&}+{.x0v+l.o5i@g@e8e"de ijqoonjiige``_]```]ZV V NNLGFDAABA:::788757:8::77323+)$$($),+++3.:285B7D7O5S5X3[5`5c3c3j2j2^+S)@(;&=)E(S)T-`(j)t(w)$$)&!!!!!  {~w|mjtyl`G j r~   / AIRxz|upmjTQGGE>8=>=68BBCB>BECEHJLOOLOTVVO'T*T,O,O4W3[9^6h;p4C[[^^rpwty~w|w~ !##!(+--35:=ABB?BFGKIADFIGKI GF#B&?3:K8q:{888:853235322..-&((+})v&     *27;A-#  #,26EAA  ~| z y uo j1[CWER>J942311*,**',,), )$"  }lbZ[SUX]_SQ?:52.28 : ?558< 85+-&&# "$ %*)) /31//,*,*)$""$$''%%$""   ! !:=FGPN?FD32#!  wt[RLGB/,.*))Gprfjk\TQG>6;;1)$g_MfsvRKFC>0+  hbTBSYrthl +7W_g{{xs nidaXPMKFKH?944-#  qii\]WMKFD<<-!  299-/*!#          vmle]VNLSQ?:1030,)  x n mnf^ iiupur__fkx  !'68@DNNVYemryw{mc^TJQQB,||yyvromm ooqrttqqmmortqvvmjjhhegge^][[XSQNJGIGNOST[][YTTSQNJJLJLIIGEBEB?@;=:6;==:;330.,1x3n,|,p)n)z'|&$""!xk ^ YUJOKUZWO<FHFF>EAHJ;1%  }xwrrpnkiZKEEC@>941-//*  ',,414,*,''#1/77;7<PUYadsz}}{xqe[I?:=GKIB=?AFGKZ]_t][[VXVUID< <7(74375A7H3I3M3N0M+X&_!p}  $8L`mzz~&7ALKPSX[Z[Z]ZPN]dq}yuppm=.'$$ }%z#s%n,p%nkiki gg bgg*b1_2Z9XASMURSUP^FdDhDnAn<z2 ukf_Zccadiz    #%/+ %   ! "+'.3, .3600;D@ 6(6(:*5-0/)2+9!<$<,?5I.M=R@PBUBUIXGXJ\N_ObSgQiVg`kYkQnQsVuVvSzT{QVSOSNGGDB@;D?@@:=6;:35@?;:D81.118:531&,,',).+0.,.)+'+&"!""'!),&$""!"'+. &  $!!!!'&!   $"$$%')*)') * ,,.113466==@BBEJJLOQRVQRWWVWY[[YY^a`aecej m&t1t;zO|Sg{ 0DNU[l{tmb]]he[YOQOTVYQSVXQSO OT[] ^eejh l o hmlotrv{y"~#'(*,,/146474479;>AJKOPTROPROKFEHOPTWWYZ\dhhkmnpruswusuuwx|}}tw~~   "+3;ySwY~``gglmtroolmlmljh ee^AYF[MYN[SYXXbTuSxOnGZIaJfOxVXTOSQOLIGBDGLQQVXYX [[e%h8g;^C^H^M]O]VY\XfQjLuJuGEDDDDEGD==;:53.'',)$'.3,+'$""!          .038FLKS[Z`gdjnqoss}{~~wwswwrpnrpsppqwFwAmonmkmhfc_ZYPROHE><<96211/,**,/-*-,('" #%" ""     #'1>HHMKJOMOTUR\Z\WPMC>* ,9HJPRYY__cmpsszxzzfcps}}    ,1688?6:015;=@:BDIE?=53.6:=GLL=:GDX X LSNY^ c j hcbho|yqec]TT X"S'Q'Xb%^#c'e%h%j*c2b/l,o(y-t/o4q4v7j9m9l<c;q<w;4126;<<@~@rUeYm\lZq^r\w^va{^ZY\_adcdhhkimnruuwz||xwpnuw}|wwurpppmifhknpruusrrnkkhfcdhf_ZYZYPPOMKK@CKHJ H F E>E @66422122/1'%#%-1#/&/-,0'/#*"%"(#0(7(>%:#7"9 5"> A:4/*   #/5:?FHXWSC NF P SSMSMDRSSSXX]f_bnlagnqsllZSFD:970:CA:/*:I\S_bkvz{}snpqu]bbNRWUCWZ\gkusz}~}{yyqvvnsqniie`]][ZUXS[ZXSSUSNIF DB ? BAB?<820.0&++)(&&$!!$#$(-.322353530--+&#              %$"3GGC@>8/19EOTRTOQLT^cehkmoojk`[ajcoporpofce`ffprkppttu|z|mfhea[RY`efkma\MM|LRV`chhku||~zyt~r||zywpmmjfcccfkrw|y~~|~|wrrtttrmmkmm h mmjhh$ef&e-a.c2f2h?hFeDcGaV`Xa]ag^l\n\sYtWvW[YWVRRQOOJHGvGEEGEB>~=i>e>_=I;F9F8=9N4?1A/+'%"% $*,)/./3'+$#"# |mj\L@9;834>E[u~~rokhfj~|fw !.8B"K]n"g"[%U%G 8%.,5,A/A/F/U,`.d,g.n*n,{*)~*),*'%%"  " #"(-,41(22-16796147791%,(%,(1144,*# (  #6;6941*'#"  #1/9;}7{CxAuEsCv;v4u2u6s7q6{ xu#s%p2n/n6l7n>k<i6g6i;gAfFf6b9b@]<Z@X>X4U7P/R#M*I(C> : :7570--(%!!~xxqollj VK IB= ? < = <:: . ( ~wuyuttkkhecVRRMMEB>=B431)'" }zxgd]URSM><94&%!mTGB=830..0!   vyvoh^TEEBDB?Bu@p@k=h?d8a6Y8R5W5\0^.W.O)H+C.J1K3H6F6C6F0H,C)4$1/*/" }ld[UF=FIZXPQ[q{vvwof`cVaN\GO2J.C&F.M5MDRLRSTVT[W_^vn|} '2;CMYdks!015:0:B;O;S?`?o;:630!    ~mjJDB@=850! )0IQTX]Y]`lyxwidwcddaaddaddaZTKF@>;>;><2*(%'"        !!##%*4::4902MD>?HKKRRX]\XZz}{z}}  )//)*'    ~~}~x{uxxxuyqxqykvfxd}d}b}a}]vbs_x_yZ~XyXtUvSyUsPyMxKtMqHoHo<q:s>t<s7o:j9t(v&x#s%s*o+j/g-d0`/_+_*`*`([%_%_]_b__`ebdb` dejnoqt qojdd_`gjieib__]ZXXVUSQPSPNLNKIKNQLII=???=<=<877553..++($###$#!~{|{{w{ yw{wtootrqomlmeec[YSSQQNN L L JJGEE@??=:!:88;:863310,+.++)!'2)8&:"A&G+Q,`:eEjGj=],V&Z&l=nBtNsOlQnXt`~qt[vXsTtQvQv~ */455?0(% {he^TSNJB:5.++68830+$)03+)"   ch|psza}^P}JzJxEz>x7u/s%nwz># ~yob`igd_XVVUPLGBA<872(! ~uohaYnu`dXUUMUHQ>P2I&G!I GFGF <878:=BD=ADFBABAB=<88???==:8:<??B<355<30.+)++++)!$+(++-+-+0023332202.+m&X(L#?#)!  !!&+,)mdO;' rk`fkkffmo)8?FS"S%Z,[4d6nAqAv>xA~@~>@<;97977421-#"" 1@@;<ACEFHJHPMRUYWYa\\ZP{O{P~W^~f{hlavpxuynlgd_goty{}{}~}xx}wusppifcWPMJMKFCJKHA/*,#*"%'                  e]XNG=<+$((*)-&/-,-*((,/1;>CC>>>ACJMKP UUWURRYWZafkmnuzzurooh`VVRMGHE@ B == 3 1 )*$"     "&$$!!$" }xuqppllggfil} {p i ilikbaZWFCFIMUS/(#(%!!  {g[LJG;::..0+ |k^\YW1-*  !5DIIJE?81+$$$$$$$$$$$v$l$b$X$N$D$:$0$&$$$$$$$$$$$$$$$$$|$r$h$^$T$J$@$6$,$"$$$$$$$$$$$$$$$$$x$n$g$Z$P$F$<$2$($$$ $$$$$$$$$$$$$$~$t$h$]$T$L$B$8$.$$$$$$$$$$$$$$$$$$$z$p$f$\$R$H$;$4$*$ $$ $$$$$$$$$$$$$$$v$l$b$X$N$D$:$0$&$$$$$$$$$$$$$$$$$|$r$h$^$T$J$@$6$,$"$$$$$$$$$$$$$$$$$x$q$d$Z$P$F$<$2$($$$ $$$$$$$$$$$$$$${$q$g$]$S$I$B$8$.$$$$$$$$$$$$$$$$$$$z$p$f$\$R$H$>$4$'$ $$ $$$$$$$$$$$$$$$v$l$b$X$N$D$:$0$&$$$ &',,'$$8̓',)13:1..)!rhhmmefjrywpkjjfefhptuyy| x}||pwuxs^\UY___khmimus}}zssifa^WTMOPE9#<#C(<+A-A-F0H2K2H.E.@+>./5#8":=B?"B#IL"KFIGKLQSUSQQUUPNVZ]``ddg iedeegjlonovy}}~~}}~~vx ytig[ZPFLLKIDDAB573 30 ('7$;#9*, (# !& "#  !$#-+3..3??<<5#     wu yo~|tpE>>CQLB;8  ',*--21/26246477{A_CaCkFpEuJ{JzMzR\zdvnia^TJHHEEJOUUZ_a_\\^acpruupzkzip^aT9R*Wdhhhdinrwwz}|xsmkr|@wsnsssu|zrpmhfchdfmkprkhhmpusurkfZRE>6,* {yx{tvongnggidb_]_d_`[Z]XQVUXXSPQKNFGBGIF?:7+587FNNGL50+$!  !          !#(-).03027502+(($#   #&!|}} w srkksnnkhkkimknmnuupkhfcmnrr||spniih^ZZWUTWYZ\^afmkd_ayauZMP|TzUuYp\eYeUkTpRoKfOcR[O^J^F`EYFVAVAO>O>L<J;B<E>B>GCEFLHJTRE@;9;6>6@1H6C'</;)7,6'6 1, %#  #'*(,,*(%""'#"  """%(,//499<;77;>AEEHHMOTZ\YMKHKPUYr%@GJQcyaemry~tohWMJG813/.)'%  zvngb\UKMRMHHD9227AD\}\xfufm\hZdMd5c%^ _(^/_7_<^<\<R7P/M(M#P OKMOTTWZTM KMPRPMKKHCCACC@;7672422/11*%          # qohmb`[^YSVQVVNJ:655::,'+{+{$~"{{y}} yyxx o otooled_d`]ZZVSPNLNLIIKIIBDGIGDA<:?A::252.-0552}0--+}-z(s(p$u#|}if#a$^!W!PMJFC<<PWYT;79<;-'#    '*142% #('6<74--%%""    }{~vytqsqgdUU[SQLIFD=35=<2.+-(!~|ztp||ywzzw|w~zwumuaw^w\|V|\~\WRJCHC@B==@>~@yMwOrGk=k8h3j/m.p3r4t9t6t1w3w;w=|84HRTOM`ea``ejpyy|z| ()))##!028<=50=NQQV[g`iiSLGKIGGQS]gq!$$&)0:20.03...- 38DL d,i7iCj>tM}c}h{fxksktmtxsxs|vy}{vvxtsvppmmffdmnw}wwsu}   C6(%"    # ;A@EHCE;     ~xvqqogged` b g_X7--(  '*'#%(2266;;>JR^dkpw}||r|upnzpmmokjaG^/\^akڿmܿmnnppxƿ}xfafpsz}ƿտտڿڿпϿʿſſʿտ))%**     ޿Կȿ}x}{z}}sgnxxs}z} {xxpqvuvndkgifXPKPMNC9504>? : 2   # ?7(&'*&/':&<)A)R0F8ADFJS[g]kcqlmmlggccc]^bcegljhjhmqwwvÿʿпϿ˿ƿ  )36Mcft 032#!%& (* *+*&*-252445577>.H2R(W\ \\]]\]ZWNKMNRRNMIHKHFHFD>4~0z&y%p!j*f-a0a2e7Y7O:Q>GAEA><.787@4E4Q0O/H*G(B08217$:9:ٿ9ʿ:տ:Ϳ0440542/-/--4\9?FINRRSSX\_]Z_dilվq̾vǾ{ɾоӾx˾s̾pݾqv{{{#}!˾վվ~hYSXjom]Y]orѾǾվѾؾ־   4<DUZXD45?_{Կ  ޿޿"/;JYmtuw  y"y$'$''  2INij`` g ][PI: 2 +  "$')'*.,1/,13,*.;=;9..w1m/e1Y/Y,c,`1E8 9Q`jtwy|gR:0! վݾ Cп9BE9EH$H(M-M0E2Q5M5Q7M8O7V8Y:[<Y=QBYU]]bgvxvtsqqqonjiljgijllnqqxvt!x~5D~.Qqot}ylxs}yxl~}tv"'1CUx 38==,+  ,33:??NX[`bXcjhlqqlrrw~(49ADINZ]U_xuvnnzngablu}~ 48>C@O\t|}xx }{&v+x0v2x=vDoDjllyiijijljggieii ` _ b%]-[;[FX>VYU_VhXhUsU[[_]V]`_``b``bdbd]d``"_&`.ZIXNULVQUXUTSTQ^P^PcLcLhImI~DBDFDB<337852-& |toha[VQJC=61,% xqkd]WPIC<70+% {tmg`YTOIB;5.'! #RpxpfY#B LJO ^(;9;AEHKO\U#R-K2J:EB;B9=7<2F/B(I%d eoy  x7jJXYLOGm7f0}+|$ !068         ~tpwt(r(o+m:q:t9v4t(  +/-*  NQ]oor q!q%m&g(X&O%N N         ? @ ? : = : : 5 6 , + ' ' $ !                     ) 1 6 ; ?  u⁦ l k i s s z | | y t q o m l o q o v {    x u| ~ | { y w r q o m l e c c j m t v m c ` ^ [ X V Y X N N L G E G G E D E G G J I J N Q O J J N N Q T S Q Y ^ ^ b e g j j o o q t v y |  t { ~                     ~ | { |   { { t j c ] b b g h j l g g m m o m o r q t t r m m j l q q t v v w y r t        ( - 0 9 D D C A C C > ? > : 9 0 / : : > ? > < : < A A ? > 7 -        ၄     l l k f d \ X W R N I F D H F ? 5 !   & ( * + / 0 5 7 < A D H K R S U Z \ _ b d l l s          l 'i 0f 1f 5b 8b Bf Gl Ln Lp Is Lx Nv Qq Sq Vl en hp lp yn |q p u p k g k g yf ja VX BZ =_ 5l &n &l '76799;<;>8@=ACFGHRKTE[AaFmOtTuUzT|Ez1m1`-\/^,O/@,9-8186476hmtojfc`[YWYW TVY[acfhE[ae^[\WWTE>;>E    ",1386643343386699====>9889964)'$$"$'*,*'"߁|wuppmd_acfimsmikmmpnmnprwVY]`geelljje`^^``YVSQOGGGGDBBELOVhmtvw~~wvtwtrrqorqmlhၶၢ:$;*;.;3:631.,.*+)*)'* , /,,)   $'+,,01353535588 68:$o[g[eV`Q`L^H^GY@[;^;^>jLmVlWmYo[ B܁B88;DJLNLJNOS]]ehllhgge]TTJDBDGIJNT`elt{|wyvywyoghc``XXT TO N I B1܁36;BLLLLJE;1HDAA?A?A?>>:952/0/((}+{-u/u/n2p2v4}9{:v:s>qCbHiHM H FAA?? >??54575 02/0/*+(++/4&(޺-ߺ2799<><:::<>AAFIKKNN M zxvusp n kffd]Z\\\XZ\ZݻZZWS޻SۻXۻWٻWֻXԻSػUѻSѻSϻSŻU»S»PRSSPPRPRUSRSRWUXW\XZXZX\ZZλ]̻]ֻ_ѻbѻa޻adۻfݻfbdffgiklpnllnݻpۻpquuvz\]\\Z\X\!](_-_2]2_7\7Z:\=ZA\BZDZGXIXNZNZVZ_XqU]WUWSWPSFS<R:S8S3U3U(W(U#SUXZ\]\tmoTD?=;;61&  !"+15;=5:6=BI`gtt        ߾ھؾݾݾؾ־վо̾ɾǾľwoǾƾľľ̾оѾվؾվ۾ݾھѾоǾ  ¾ǾоӾݾݾ߾    !/07?HHDHCHzIwCwIsIrNpMmNnWkRkUhSfNfDhAfAf>c4f*f(c+_aca ^^Z WWZ^ aacadfݾkоn¾pľprnpxww}վؾؾ }wcWTJC,Eanzpc@1*'߼ -#*,277>EWZakszýýȽҽǽ ۽ܽԽԽѽȽ½Ž"Á+,:@Iblmtvw{{|tmcV{GyBv?q=j:d1i0o&ot~  """--('%#       #(-66792*,,/-HFJHEEEFEC<9@<>CFJJHzKwPrPmUkWhYfWcW_^_aa^c_accd_c^c\fYfTmPiPfOfPcOZPWRUTUURTOTMWKYOZO\JWKYEWJRJTFR>Z;Z7a6d1i1n-p4n<xEzJzḰ  ~wwtpookj%h#e(a%`,^*\-[-[%\%^ \aahkkko rttuw~ˁ '>ECEJMMTYaaUE@;;7<<6/,//29>AJKUUOKC@CEJKOY\aahcYWY\dhnrsmppkfhdi|Zzayczf|i~nrszsynwurspkmskuksjufufpar\p^h`f\f\aaY`TeRhZjYjUfRhMjOkUmUoPoTpOtMtJuKyJ~J|FtFrAt>wCzC|@z@u;y4z4y7z9~;~77A9<92471/2/#          ́B́=52#  #(-0003)))(!     $-.0702377:77::FIKLIDD<=DDB:ˁ73300+!!!#&&+0.-$!      !!!#&##(3~573.37:58:<=:o:ˁlDeLeNeDdIbFbK]L]UZUZSUXQUPZLZK]G]F_<`:d3d)jjjgeejjgjejjgded`]]ZUP K?BAKK$S$PI!F&G(K(F$DA:#8+D-A+?$3$0(3)2+50538.)0$2&388(=A!D+F2D3G3G&LQU)V#SUX]#][] ` gigl jn oqv{{!x(sot&s)t0q5n0o:ʁ  $#&:<:GKNGLB07?BFGKB-$!)-038<LtVvQtQsSqSqFs=t<~#~ } }{y x v s qn ljijnqtxxvos~QˁXXbdqqv{~~yqvsvttsqlogebbdidgjgbb_]]XUUQPQNLGxGnDlGlPjSnUjZiZjZqZt[t[q_nbqd{evgqlsltiyieeiljlytotvx{{y{vo{le`b`[]X]]_[ZSPLPKIGINQā{}vsiggddaXUSSK957-%*9<>F27FIPSSPSHRW\]addnkqquxx}!ā<<NMHHKDFDHKKPWX\bbfglqsvuv{sisqqpxuu{vonpqssqolqftbs]tXxUxDxAv?vDtDs:o9s?sKsPnXlaid`\`XbXbU_N_K`IbKdFgHeCe7d0d-g+b+`4b:]AZ2[#Z VXUP U USU PK LKIIFFDB==A:878735-)-)+57:=BABFFAAKQSPIBADIPPQSQSPPKIPPGF?==<:8::785:=ABS__`_``bgieggjnqty{xx~}~}yynb_dgilx~{y~     &&*((%+-7(!!z"t*o*f/c6e>f@eE\J[O[C\H^G^@\>^9^6c1a)Y)Y"W VWVTڿOҿLϿHϿEʿB>@BGGJMRW[kptuſt˿pпpڿtڿyyz z" % ( ( "  % " ' ( % % # % zyomecVE;866@B/ )//'"%$ ')/148348;=CMLLQQRYWTTemmrru             q݁dd]F<D-&(-&0Pagplsq с            P -сO 4O 9K CK FM HO KM PJ OH JH CE >E 6F -J ,K -P (P -K сK M K J H H #E #@ @ > A J J K ́wppuxzzu|rz}|}vvsuz{ususqqsslnliklnpplliiggbaabfb]\]bga]]_gbdppssxxz{zzwsnhmsnpxunhkhf_YYTPMWZ^_\cad\UMO@<>9;79@FTZcirux$́}}wxwzzrhZYUY\d_YRPPHAA>;<692**12;7%*<FH@<--*%(%"     ") ))%$ '/$7 97-,-9;C"H$R"TYY_ca d c\ZRK@2-44;;>MAAFTTOPZ\a^\ f hdc^nx")$ʁ       23-($5!:$?#I$N$U&Z$[#i!s!}$&}&s#s(l+n)t+y-v3<x<<<78732-.-)-+)(&())-.+)$ oleev~{yol]]VULLG505΁2 !(*% (-29::2+472*   #&%(594:55:>HIFNSXZ\SRMyW{kl|p|sxsx||~yvjlmrqjggeheeccb^OLIJLQSQONGLQQNLQLGDGJOLD@:??I=;=3:8.0.,))$!!"' &! $!"$)"1$60=:>;>1B&;!6.**%    >CL\achefru   $"$&'+01018:;==??DB|DzDwGmI[NQSHQESBV@V=Y;c4g.h/g8l9 zussgd\XPM<:94   wmmw⁓~rjc[WVOOJxJnEZG7E/C&EB EJVY`cr&49IS\q߁troe^TINQvNeEQGLILVKYD`7g7qNwS|[_s~b^VQ I =686,)$! "$+,6?BNT]```]bb  ++.))0'&'$'&     u偢|uf^PKHJPZ^chu;с9FTrx|w}|ur}&]o|mN?3!zrmi_w\rWsKdCf<E7761799;;74/( qL L.)11 (,,112699<>>FJJ M PTW$Y1\/\'_"a)c'c.f3f*k/r)u w"u1x@xM}`\^YQJG9BOM`hekrrz|tmjaae[\WJTMC B| 2o#/PMAC219\<ӁZAYAYWZX\a_qc__f^\^acikkn zz8pokwhcYRtPyKkFRCJ@RAYC`Cc7V4W>c>hAzCyAjEfJzOOKHHECEEAA<HKPOTYWWRKKRTWWKO KWYWPRW^ aaacdiiccfhikimru|}#|+z.x!mFkDmXk]i`h[fbcsaiYgZsY{\yYTC4/-1--,      "'(,,--9><>CFJMOTTZ^_cfknx| "-2(,AMWhi|}|wwunmkinnifa^WWPPMOMF2,'% =8@=D8030@JT`q~ x{x#s/s9v<vHsRnKdUe\dbjfeuilg`ZUQPPFA=:77578}7v7kG]LbP_5I<??7=0=-D%I#FINPNIGD ?AFABA=A::8-)+))+-5:8:82+!((&  $$&$#/&%    %- 7A?5:*% yeVIEBE3.& p p|}xx&^OM6 ;11'ysZD(~|k@4)$    iX +      {#q$w(r-v.g-c-g)h-b.T0T2[5[:D?3X!]+dDntt%xAx\xgtqssqooqnll no ooqs3t"v$qGsLtwvwvjxpyt{e}B94," xiSM9!wh5)&"B[` hYB6&"&   z wz%,2267ACFKR\_fs|)|;ESw 2?as{xspznaiUdWd_aP^K\<\߁XWRNMIMHDD?2+#    -1/ 64ACcd^ c arzz}}mdc_RH6'   v q l e _XPXSXUKGB80&zkO,$ 9CQ V VRHLE%B(E+@7B<>PQRWSTWVXR\YaRdQkVn[x[W^Y^ffz}zz{ !z#x(v<u8u<uGu_qlksfs_\0ׁ&' }||wuww}xiYH61Z '.0LفIFBA=:870:72.$($2!:Ijogjjstqq y {~dK$  ~wpa`fcVTQHOGB9)%%334BT[jprw!z$~##(|..-##!&.0<BFLL*F&C%F%K%J(P(T%T(W%\#Z%U!YW TOTWWRMJKF H7 ,*%'"  %'#(127<9<;946121/--/,*%  {ywoom`[y~yy|~    %,179>AHKTUT~MyCy@w@t1q,m%o l jhb]gj#l,g%j*h*h1c,`'^,[(TNOV"X1V7T6T<S7Q6SAO>NAJALENETMTPNKIKSTQUSWVYVaOYO\QcQdNaGWI^G_E^G_LdJdLhGfGcDdGfGiJmNiTiYdYiYnXmVpYpYwYuSxOsNuJrLpGm?n:d5_3_3d0c0d.f'^,i0r0n.i0h5h6k6h=s@G|DE@:=BB@@EGNL?@GDEIJNOYYVQSSQNIE?BDIOOLNLNILLIJQSQTSSOQOLJII E DEB@@=;6300.'&'&&&""!               !+.,036;=BEEJJNLNIEB;:50,+))&&       !$)'1:=BGLQT]SQQGG?;8;:=:1835;1:8;=8??EV[]bejjhoolrqloj|ez`zcw^u`u^fYdSc[a[aY^[\VZXYVUXTTFSAJ9D6;95@1A1<,@)<&A'669@ CFORPH H J RTWUWZUWZZ cdiimkpif k i dda_WUTOMKHJPWdsrw|||z|}zxxrmk}m}p|mwm|d}dzczaw\u^rcscp\rWmUmRhR_PaO^PUUUTPUPUORMTKPHOEO;M;O9O1T#U"Z#c-d2f7dAfEiRnWwfipz}|zxuwrd_^aa^\YYUUZ\Y^Z\ZYPJHJAJECEC<>7741/,'922-(E@1((114274;77221/*"   {ysog`d`]UQQDB<57=732-)&##聹&).=:2-)$!    !&$&'+0.3505.3.5,3)3+<)I$L"Q[!d"b"["U$S'N0I1L0S1Z0_6g3_5[6`3S3N6N6Z;_:U;DBALBSI[V[[Y_V`S`OdQdTbVeQqSvVn]jYgXe```]l_wi   +**-*2%,#,#1,;FH@!@!<#;&<#<&@(FT_aks}zZA6*7CRTw2rWmijnjsg}gc^VQNJJGGD@@=30,,+,+,++13;\@MDHJ*L+Q&V&[ clorvvtr{~|w2Mp@o<m;h9m7j4m/h a\YV R VYafffOJHE9;8/$  ,.69>EG@@8%'$$/4/3,*  $'4>@;==CCGGGEHMT\ah\YWRLHEBB` jrrohYQOamtw|t yz| |    ypha`^TMGE;;961/**  "%",%1)4'7)7*2*9/H9J@PJ^R_V^[\`^f^j\jR^RcOcOpMp聛}wwwswsrsrs|_WPMJHJFCC@9 6 64 4 7 621, *(* *,*'%#%(*,-/1#,4(2'7*:,7*D%F"M M#N"]#s"u#v%}#%((%      }upqkpnalqpii k i f fX]]_adg_XPS I M RS W NM :4 0&   "  #%%-/1127277>CJRW^c_ "  }~  偩"& ~y&+=;@GBG5?|6k8y?~=LOJLOSYmohz^wcrqhyh|rwze~lrz~zwwtmkmtuyzztpr~|wyyrroruokjhjhca``\[[Y[[VQMMJ LQOMJJEEB@>CCGGB@94,.48;>>@ C CBC C*B7=76//,),1 42;<@:HCLIJNHNEHHSLPMWJbBg=_9N6H.N)M"--(&/4 2$7"9<7:DA"C"N%W%b)i)svn uu{%{''" %'/1/$""))%'%"""       }zqnvvzsnb]ilpxxsqvv}sxxqpkglpgdaSSP952/?>A5(!?DA52*&+&//7:H9+#5>054?>C>77A}C{7zDvCx?v0u9s4qCp?n9k?i5i>g<g5d7a/_2X-\#]%_#a(d&abffgg#igg n uvv nnpkinnsxxsx}vnqpssxusx{}}{}|{~~wovmjoy~vOD?;BI]hmgmlecVNG;)$$!&)      |xp}wrmmsYTMOJC>;@;6;CJWZUZZcfmiffc\dd\MP^RPOT\^_aca^h\fnu|}ur}}xrrxurinsum}}{zzxzx{nnklliknsvpnliigkidda]]\WUMNR_gf_b]\]]WZW)M$MK$D"D)N,U6N6K5F5H8M8K=CB?JALIBKGP?SDS@X=XBWEXGWNPNUSRYPYIQDVITM[HeFb?b<Y:Q9T2S0V2e0j/j0m5w2{0w/r+t0{/04504200*&(&%#~v hY^qrmqge{w|v{    ~wywvrq{~~|{{{|y|{ww{{tqomc]YVSQXSQJJND=;I?;313+'"$0.'"  xx}umhcc^WZUPUTKE;9%(   %9C>JUTY\Y^ahxrxz|~y|{wyvvrqljbe eb^][ [ Y SXY[YXY![!Y$V)Q)SN3Q6N?L?E3?5@+E'D$B$D';.8+8135580=,;,3+1)+..10155::=::=;B??DEGEGIGIILNJ}NrLnNhNdNWS2V(Y(Y]^]^] ^ elvvmtvoo{|{~~~vPQ[SAAKGKDB=57BKVULKLFFA75-(+)  &)(-$#       tworf!ea \a`V!V#Y&[#`%a(Y%V%R*M-Q-Y/^-T/R0R4^7c:k>k:f<aC^?Y:^5^2M9L7R9T:O<Q:C<BC;A9>;:89;9451<$<2'0./*0'0$/%-"0+(&!!# %%(*//+-5 479: :?IKI FD CC>:?ADD?C:9<>?CIKUSWWZZZWWUPMPNPNMKFC757542440/-**((%(&+**2/--+//459{9n>d<_9f9a5b/s-u/k+n-k0]0X/]+d+b&k%k&b%a&X&U(S%I&D%?%C#?#+ 0>0 %   %*       ##& #%&((+(*-/259v:w:{>wAwAtFwFjHvKvN|P|RUZ{a{finssvx} FMNzfskp}ia]]q\xUzSRPNMHHIMS\\WXX{Z]_bb_bdiknnidnvxvl{k}a}Z\UUlquxx{}'339BLC=>866;4*""GQ Yr  !!~|%/448=EGMQ[^aejkkrwz~~|ywrmkfjf`[\WRJV^`\f`YYLMG>B>;8;@@3'$$%3*14/*6,/$ $ zxWP& +CIPSbbgv{ xU?*!&+.5 2:397>7*:(8!:877522- .03.03388:<88<?A?BFGFFFIIFGGLQQIKIFFBB??Fjqosnq{qtn{jwlqoolgn`s]vSyYy`{]{V{OxN{E}I}B=630.1)!0$05:@50&""$  {}}xxyv,j;_=]DXEQDN:L8L0LLKIIKUSXXXVX]]n_h]^_WbU`ObEb,ed_]'X1[<VKQOKcAs=m<a=aARFKI>Q,Q%S U"Uggjvvlld_UQNKL LKIIKGFFBDDFGGIIGILQPSZX}ZxVqSSV(V XX[_`b__bb`u[w__[VZVXzbOo1{1{.4JJCG.~)}$x'y y{~~~  ~}{txyxyvvtoovvy{yyvvy{~}xsZH<<&(%(/FNazulb/  #',,12/129;@HJKKKOY^_^cc fnnkk m n#psx|!%(%/*-5H:7<HbPKdpu1TYp\Gw'id$a"U@JQ;=49">GG \ fwofRO@>*8M|  wf"ck#j""~%'',-267669;9;97996962/-*'""' ,- 2677<CCFEEEFHJMHEECCFFJOWYZ_kwzxunm)k2k5n-pu z|#=LUF7&IPSXSS20Sy#//<FJH|spif_YW|MaCRAJ<H769EKhMsTRFC<p6i4m4_*('(z*s(c(Y(\'\%T#^%m#pm__iuu  %(2212449>;2-4@FKPRRPOJA<9667<946;<EHC<!<)7&4)'!  &@QVLL3",13(Xbv {hjy{ ~|h,^1B6371<=@6A8A@EL@T7S6Y1`6^9YA]<v<9;94-*-122-/44<F`MORQW[Z[aycffkkhca Z?OFPMWIZPZWW{URH;2,/,_'K A(+9H%N*d,z*(('#" zpdZIF\ds}  "*-*(         3 88 =B=.,$$  "%1>C;B=HJOVLH>83%"399>GQQ\kkrwae^OVTahjry|~ &8##22(0V]jtn_]:5  ytx3-y)x$q(Ze#l&s.v-=F?DSlxyxPTTC}C67-{/y,vv qnlgd`_[Z[_]ZVVUQPIyISSUX]`eji j nll,g/b%_']"X UFGFB=727=ADDBBDLSS#Q*S,Q1V-V2Z;]7]C_E_Od\eYeOiTiMjMjTnPt_xaxkvnsne]XSKFB=<=BAp<_<\3P3;5,3"))--))(&)+&) -.-.;!r!}$## ZM9C_ hc / '   >*  ,F^ssP@99O^kkhnrfT@Rc}s\72>@4( (-Kkh_hfZK7*" ',1A9'%(CHZ^ccinssxzuz}}}s'1w 90405/5}DzIuDr/rsuxzxmuJkiknsw}phknzifppisځ 6RZ_daaix;mv{bY5JOD33z$w"pkfimnnrppzmpm>m-m(i'h*i1i;fHhUi^aZ^iYsO}K|JsCmA_>Z1F'@#1"2";'E#C EA 2"" %**-//-/2CKKMOTUZ\acddfiimnnr} ځ%wJohlkj\jke|`rXTxS|OkOxI@33}3s1},z'd'1),&',+,138858813::=::=?DsEsG}I{GvGsNyNqDjBeB]EXJXJ`L_LNJBSD`S]Z`[bZcgeexgxjjol{rqoqtt}qqtsvyv~wvrtwwy9с7::9755542+032=2L5B5:9=4[4b5^7e9m:m:^<Y<LA=DEAGCVFbHcHVIVKIHDC>722/-*&#!      {g]QGENSB) }|hfWRK<CC>KJ>MH4TTFA>H@<7"eSKKB.!)( .NZn %2 C#F&^0f4p5x479~ׁ/Ku}z   *YxWuJlRgBffbffklzpi]jjb1 =X|][qr{vmjjbXVLOr][LEB3' "b~ف(KbnqesuslkdkZnUnKkAk7i=kNiGiLg8b(dkpsx{}$) ؁  8=E9BJMHQRYYc`aOQajmopuecm~wtv~~{{~||{yyvvttrqoqoqqmlmmjhlmhghjhb```][]]XX]bb`^]XXSNNLJpLjNmNcSaQWLYL9J1L,O.X9X3O"J)IJNOV[]^`ccghljlmorqoooqqrrwwy{{|~ 8Q`YupgfZR+~~& 5>C_]buuklfWPdldI724?ZfD7## %#-#5_lu ' *   wvqeY?!   1JYgqrkhfdc"_ \.^8\;UWPTRaRjOoHoFjKMMMKEO'KFE$>H9H9M<R;c4T1[-Y,H-/1,24464/1%47>CKOOKORUWWUWY\{hxspuzwusussr|rxrwhsjrYpVp[p^n`mkkekmhudpdhfed`hadWfOf6d,h h,kpwwz|zkfk GR}^}`|f}k|rvsI<>DazF7 #Xvxtqol1dI[TPjL|FB=873(!b:   !! &!#+.)-+$ !#(($$(-00-+-.23:=??<78ADIKKQUUPQUZ`jqxx؁,@;BHfjky#     uz}xwun nic \ \d$h?kDkKhLfF_SYXUUU[JbHXES@=@)>:;?<G9I9B7F7K(N'I#)"=#PLGA37LNF 55<83 ) #  rpeWQL=4*/  "%*(*--24441279;<<}Au<d9d9Z;]>R>I<H@D>>E4H4F>J9H0O+O0UTZ\ahrw  -+29?>C:|CxN|N|WzPwXp]nfnlpinnknkbighnfdfdfhimkkkkimswz|||xx|}nlRUNXapxԁ 9LW[V9.1)4=B=EQrwwhyw|):S|t~tsi{v}s}qogeUF=B(-&))0DDPQFL:8$& $$(++5:INU[t/*9197@@HZ@>A\w~|{wvqlhb`^YYVQN}LKE;D#EEINQVVOLNLGGEEDEIJJQSQsOqLsLiJlJbGIBF?8?:;=;:8686.,))&""!!y`*s&W+K,M3a8}===?@BDIL L>JYNmQtQkSkS|TTXVXY]^bbcggb^~]t]h[j[^^WYJ[;X[`"bbcb^^`chg`YXVX[XTSQQS{Y^]^emvvwvqv{{qvnquekbdeXhSjFlDg:gFeN]ZSMJ#IJQV^YVYYXONIQVXVX]`^wXjYX[Q[J[=^"ej lq{5| 83J[&& ~ohh{~mjq| 50+IPipnflkzqz܁,?Nv~vqlJ;Lv{%(eJ6[[LN^{c{m{wgglo~+#%+|2{>y>wCwS{UFSWbx~{|yy{|{.wBt@r.q,rBvWtwz{r|\~Yp0803ALK`iv'>RAZ{|ywtrqolljhh]][YTSSOOLJIGIGLONLJDB??:?BE?@EB?:630,''""!!m"U!F !!',366;;yB`@[;`5t"eVB2!)+.',+a\\`"W&V$QO>$&&* ng$g.u5u56p;sBi=i:b=b;]+N+H6D;46:07003!0*,2$/!#" "$'$&+010,~.r3w5;@@;3j3b1]'j'X0T.O+S)O)=,0.6030"."01"8 DEG OSTVY[ Y[]]^blqqwrknmh_mh>2 v{qniXQA--&+<=IUbQFNLU`I=. + 0 :=..PQ]dgbZ  *1@ M kr|ku}ur7 75 97 FB sF L SL HP 9S 0V RV 4X b j o n l o 5q Mn q n g ] *U cQ N P X m] Vb Qe ;n jq s |v t v v q l e ` Qb Sl n s :v 8x x v q o l n o j j 1l Aj ae ai e i g e e g e e ` Z N mL MI 1G /I wI P P S ] O[ mV hU X y] ] _ ~b b ` _ ] Z U [ [ *X >U >Q 0P P #K -I KD AD aB k? _7 \3 ?7 b< n8 {< = < < 8 : : : 8 3 ( $       F&{yh]5X{E:'aPKMC6/ h'Tm6T"~zujfcccfjoyVjfya{YTT]TSQ2LLLRRVVTLHHHGGM[MiJvEvCg>`=-94884L.D.:*7)%  ",u,./Q/'114431*,*'E)W$WkoY;.$  snd bW<       >A\D7    CWsgf\_C|ovCH?{e0low+la0#%9]pSD% 4DHvA *?KxxuXvDzAz7v!sqnpsqxqvmuvqcn^khi{g{d_]ZWWPKFA?o:o7Q2:459?:;904$042/025u:\>T>@C9H#K#MNS WXRN I?9,9H5K4K0 42-%# %0T( &-* #!!"    $ 0'=B@O Q`bo v{ecYJJO81$ }ifWTaRrs^FH9* nql`{}{dLI:-( C>RR*J' {u{u}}lpgpniZf]inpbdZ_b\_XMRD970%! ><Wiqxi!!! ! !&&! !%&,&&( (((+/ //2579959:?DIKNSU]_afiifnlfBdRZkF|C>|CC?<:4245:<: <09D7e:b:g<LAAFiN\bdfnpssz{zpkfb\RnIQD:H8F2I HHKMSZ_XPWZ]_ddfgdfklnlkgnl nqnnknppqv}z} -}YMLO\oycaL6 )aI_l~{ ,*N8#8bnq`Z0-75$ "$"r)8.8.B49=C968=@8L'^4a\ar[[.YFG3'$   "/" pc^$E$('().#694B`hj;oopruy||^||~N  1+3+V`YrqbE=D6'   dwuuw|q_[ytN=GALyDu7turtuu~|u`wB|4yqE)f%aytc=A>9NCX_<wwmeGG'+D[qeo -    - 5 < : a              W u           a )  % # $ ( + + 0 3 p7 |8 7 3 3 . + - ++ G( `$ o q          & $   ^          n ^ i C ) 0 : : ,< B G K K G 1= h? N OU *X "Z -Z ZV P L I I L P K L TN Q U X Z [ ` b e i g e _ g =e Id V] S_ `Z y_ q] _ b ~d _ U S K B Z7 5'ہ;axxWA"1A^s|wx$$&,?@ehyuouuwt!o5h#h4a2^#\#T5JkJvOsJRvTVn\Zf]mzjROOLEHG@;9831//386 "/Lce[ e W^ k~ ~M9/," }gPUkN9%  wbD13}uZkUO-,Hp}!gN+eg      |imK2<WE4""  '%%),*'' %%q%i'g,d/P3Z1I3F4B8S8Z4Z6d6s9e;DB<EZELCAE:H0M5O<M]HxECE>BJQR@TVQLLQTVYVWTYe[Q[G`Qc<eDcPcUagcjeef{affmpvtuy}zz|zwwJuMu^zH~#| 4@>*% %*;AOAR9%'pɃpppppgpppEpppppppgppQprh ])E{hVB5a>TE'*,,et уY_ DI:O4r:[:+l$qJڃ4RpYrGhpN-55A(؃ (B(S({(((('(W(c(p(+(/+e4/e4B7:B7?:A?FAIFpMIMNpM SCSMNU SXU\X|_\Ya|_6dYa$g6dpσpppppipppOppp9ppppppplpppJppp$ppp pxppYppp:ppp у= u      [       C p $Ճ[/C16kAN7Jp{X!_J #Dvz僚JJ@ 8mw,`ay9SU7 A dv9dm {]frA2n-(uS%PuS%PPuPPP,PPPP?PPPMPh~σhQh X҃VO TQQG#J4I$IhJ҃I$O2S5S:O<VAXFOIOKNIGKELBK?K=L:X6]8`6g?{I~SV]]hoyrje]Vh уhhJ :Ӄ< h bԃbijqqy{y|yyxuswqrlpirgwgugrimiaeTiMgCg@e>g6g,i)g _]`b`[ZVUXZ]_`begjlq~~zxsqnfb_XPNKACAFHAFNRNPIIHK F MKP P%S*P-W/U;X<U;N9H9?;9<9@:C4@-@+F+F%KPTZZ_ dipuxz$bԃZ`hԃbhJ҃hhuh hvuӃhugՃhgՃi^tgՃgtsӃtttittt0t :Ӄ 9 < 9 : > ? > 5 7 4 452/0/4!AKUXZbkln$uvu 0Ӄ 4 C D C K I I D 5 2 5 4 4 / 2 / 9 > C C# D( D, H6 D; D> HC DK NT RZ ad lk gw Ww S} S N N K F ? ? : := gՃtg^׃$]`׃^^׃I]׃]^׃]]׃ !.0::ABQ&؃%^&؃t&B׃tj dփo \ U   H BB&؃u!t׃t(tttXt B׃BIB?  p n n r m )n ,u .w 1r 3p 9m ;i @a @^ B\ R^ WY aU oW |P O P T U W U O J F > < ; < E F E > > 7 6 7 < 9 > > ; 6 4 / , / 4 6 9 9 9 > C E $C (; +; 29 79 <@ ?@ D9 D6 L2 N2 X, ]* `, b1 d1 l7 q9 ~; > 9 ; 9 > > A @ C @ < < ; ; < > @ > A E C @ @ ; 9 ; 6 6 / - * ( ' ( ' % GڃFI GDD#8'8*72590A2H0T3U0\--)+)+#  !$SڃSK:)-AGGIUڃU^PڃPNLILAADIGKKNNLQSPGIFFKKDDSڃ   "%149;9{9x>yBvHvLyOxTy^qfqmgtez]~]_VZZPڃڃa+.056?@It ۃI K K MMPWZ_bdiksuvzB ۃt % ۃ  B % ۃ#    "  " ( * / 1 6 9 @ C C \ۃ d d f d d a a f d c d h h n p s s w s s x& s. w0 p7 n< hA kF fI dL aP dS ^X Yb Ze Yj Yt Ry K} H C C  b^܃[Y(Q-L3@38?$BQSZ_gl{;;@@E܃yqmlgbcjlh`]`]^I܃NONOJJTejlywmj.q/t/1189=>GOVht2܃/1/-*0MRX_dln{݃݃%q0݃r/r(v&w#|!|{v!t y~   (+4597009CFIUZaiqqjseNLGID@BEIL݃_]ZPKHA<7/(#  ݃{qpllv{p{l{g_F?:50{+v+r/o0h0c*`+`/]/]*Y(S+J&I#JONJ@B݃= ? B G IGD@=5330+)'܃                                         ܃                            | u r n h i m m i f d d ^ _ {\ {Z Y W Y |W wT yR R M K |J vE vJ lJ jA q9 m4 t2 q4 e1 e, g, m( o' j( e- b, ]" c b [ ` [ ^ ` c g g ^ ^ b g j m m e h m o m j j ` ` g b b܃ ] ^ e e g j j j e b l m h c c g o r q l r r o l j h h m v v t t | ~ v v v o l e c e m o r r m l c e l l} by `s Yn Ys To Qj Oi Xe N[ J] B[ @X BX IV JQ @L @F DD BD ?G =F ;A ;< @: @8 ?7 35 30 8) 5# ;! : 5 3                 QރQMHMe߃JFA94220+&(&#!  |yrpmfc\VMLLCBGG@9=44.,)%'  ߃  # yvoebXSGF A%=&5&(*27<AHCDID߃߃yrjge^[Y}VqTlS`OVLQB݃BITSOQQ.O/S4NONL&JLLPLLNLNE@835 3 .!          { v q o g b [ X U K B < 8 3 . + (      ܃  ރ    ރ  ݃  v p x ݃                  ރ # - . 7 I L Q [ ` o v                         H   ( %                             f}xwwsuppmimzhxcsZiPdEb@_7a4d1d-b,]%X#WSRMFC >957 5 2/05:>5+%  ߃   } y v q {   } x x k c Y T K C C < 6 / "                   % ' , * 4 2 4 4 9 @ A E E J H K O O M O M O U _ c f ߃               W Y W Y c h r p 9 QNLIMGGGa]Kigfe]cW^M^CT>Q9L9I5E4B5=&1-$!    urpkhifa\ZMF72,# PZZ_ fkli&i)s3u8v6{:z?x=u=qEpNqYs^v[x`z]}e{lrv{}xxxxzxuspqqnnif_]hhhfc[[WTRMLEB441/*'"mL"EL4;cpHmLkhhhhkkjkkh.,$jj^\#R#O)H0E787Yネ[V~[nV]`U[I\DV5Q2T)T#WVW RQTW Y [ ^`ea`cンcVNIB<732-&<IFNVU_䃖{j id [XSSNI:0-$fvsqf⃌lul?kf]\ZZWSPMICCA:95'$ &2<728 ~888 8888&8(8/8485848585828/8-8(~8(w8!o8m8c8`8a8f8j8m8z888888~8 y8 ~8 y8 k8a8V8B838$8 888 88777777777{7 l7 d7 \7 W7R7R7K7H7C7>77757972777!7#6%6+6-6D6P6W6Z6]6i6n6x6{666666666666|6h6B6B6I6X6w666666|6v6r6h6O6O6"B6@6;6?636$6665555$6, 636H6M6V6c6j6f6j6m66555555555~5t5M5J5G5B5B5H5G5B5B595=5956w56s5>p5Bw5H}5L5Q}5W5\5[5\5`5\5[5[5^5|55555555555555555555555555555 5 55552575:5B5D5I5L5L5F5=5<585)5#5555!5555 5555555555|5w5}5z5p5k5f5Y5T5J5A59515*5*5'5%5%5#555~5w5w5m5h 5f 5f5j5o5k 5a5W5V5V5[5[5`5a 5`5^4W4W4c4r4r4u4y4~44~4|4|44444444~4y4y4z4|444|4|444444444444444444444 4 4444 4 {4x4v4t4q4 x4 x4 t4o4l4i4e4e4g4#g4#b4$`4$]4+b4.b42`45Z48X48d43j48n4?q4Bl4Gl4Kj4S_4QV4NS4PN4LK4LF4SD4ZG4ZI4ZK4XL4ZN4dK4jB4i=4j<4n<4o34s34t24y.4x+4t+4s)4s$4x4t4o!4n!4o4n4q4n 4q4n3t3y3y3}333333333333333\3Q3H3@3;313333222222222{2p2F2A22{2s1n1l1g1g1b1b1`1_1`1]1]t1]o1`h1`^1bY1dO1eJ1dD1`=1`61V1S1L 1I1F0A0=08020+0(0#0!00x0u0n0i0a0_0W0T0T0P0K0E0>0<0;09010-0*0 0000000000////////////////////////y/g/b/_/U/Q/P/P/F/:/5/3/#////..................................|.r.r.k.c.|c.ye.ua.t`.r[.pY.oM.hC.a>.\B.[@.[;.W*.V).R,.O*.R".O.O.Q.V.V.Q.M .J .J.H.G.E.E.J.M-M-E-E-J-H-H-L-M-Q-O-Q-R-T-R-M-M-J-M-M-Q-R-R-M-L-O-R-Q-M-L-Q-Q-R{-Vv-W-Y-[-\z-^v-^u-Yu-Wq-^_-aP-hN-jI-oI-u?-|:-0---#----,,,,,,,,,,,,,,,,-----&-(-/-2-0---+---/-&(-8(-=&-B&-I--I0-G0-A+-:--32-34-54-A0-B2-A5-B7-F7-L2-X4-]2-`4-e0-i4-o7-{4-5-/-&----,,,, ,,,2,9,C,Y,d,z,,,,,,,,,,,,,,,,,!,$,),0,B,V,e{,tv,e,],D,@,?,3,3,:,=,?,=,?,?,@,D,B,D,E,G,I,I,G,I,J,N,O,T,X,V,X,[,Y,[,Y,[,],^,`,b,c,c,e,g,j,l,o,q,v,t,y,w,y,w,r,g,[,[,V,V,S,T,S,Q,O,O,L,L,N, T,V,X,^,b,l,l,o,l,l,h,j,l,r,y,{,y,|,~,,,,,,,,,,,,,,,,,,,,,,,,%v,-t,9g,Ce,Hg,P`,Rc,W],bT,pI,}I,G,L,J,O,O,T,V,],^,m,q,q,q,o,t,v,o,"h,1e,4j,8j,;m,Bo,Ht,Mt,Tw,j~,z,|,~,~,,~,|,w,W,Q,J,L,L,E,B,@,9,8,8,=,>,=,9,;,J,T,W,[,\,^,j,k,j,h,j,m,o,y,~,,,,,,,,,,,--- -----&-*-/-5-9-<->-D-_-a-f-l-q-{----------------------------. .....)...6.9.=.C.G.J.O.T.\.c.f.k.m.k.o.#r.$u..y.2.7.3.8.7.2.3...+.-.3.2.7.7.:.=.<.B/P&/S2/_G/q_/o/t/v/y/{/}/~////~//////////////////////////////(/F/O/R/U/W/^/a/d/d/a/c/i/h/d/f/n/r/r/u/w/w/s/x/w/u/w/u/x/z/}////000000000 0 0 0 00 0 0000|0}00|0}0z0w0s0u0s 0p 0h0d%0_'0^*0Z,0T*0K40A40<;09<07@01A0-E0'F0F0H0Y0 U0 H0*H04F0AH0KK0HO0JO0JR0TH0^H0_K0_P0\P0WP0TT0TU0ZU0WZ0O^0R_0^^0__0^d0da0pk0pf0i^0mZ0pY0xT0zO0E0E0H0H0M0K0H0F0A090>0<0H0M0J0A0A0C0C0M0P0M0T0P0M0H0F0J0H0M0J0O0P0W0\0\0Y0^0a0c0f0h0h0n0p0s0r0n0m0m0m0m0p0z0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00000000000000000000 0000 0 0 00000000000000000'0'0&0"0!0"0!000000000000!0"0$0&0$0+0+0.0,0.00030505060;0?0@0G0E0G0I0L0O0T0T0O0Q0Q0L0J0S1V1V1Q1Q 1T 1V1`1c 1g1j 1o1q1q1l1l1j1g1g1e1]1[1T1Q1L1N1V1]!1[$1]&1['1X&1S&1N$1L'1L+1J,1J.1T.1T01S51V51X:1b61h=1q=1rD1{E1|D1?151315181:1;1=1?1?1:1:1E1D1I1L1G1J1L1L1I1~L1yJ1vN1rL1qL1tQ1rS1vX1wX1{T1V1X1]1`1e1l1m1o1o1h1c1e1h1j1|g1yj1{o1ro1qq1qr1vt1ww1y1{1{|1|~1111~1~1111111111111111111111111111111111111w1o1l1e1c1b1^1]1[1X1T1Q1N1O1N2I2G 2B2B2@2?2=2525 232. 2!22 2 111 12222111122 2 2 2 222222!2#222 2222"2'2&2!2#2%2"#2!*2!+2"-2.(2.+2)/2./26*28%2:&2;02;72::2;>2;C2:F25I25U21b2.g20k2)l2)p2)q2$u2s2u2q2s2u2v2x2z2{2,z2.}2323202)2'2'2,2.2)2!2!2!222222222222222222222222 2 2222"2&2,2.2.212525232,212626282:2;2@2@2;2;26282=2=2=2@2B2D2E2L2O2S2O2S2Q2S2X2V2Y2^2`2e2j2q2t2y2y2~2~222222222222222222222222222222222222222 2 2 22 2 22 2233 3 3 32333!3#3&3&3!333333"3%33$3 3%3*3+ 3+*3*,3*/30.37.3>*3?,3>63:83<=34E3:E3FL3AM39M32T30m34|37323032373:3537353-3(3(3*3-373>3?3C3?3?3>3>3?3C3I3N3U3W3Z3Z3]3a3k3k3n3n3u3u3q3p3u3v3x3x3z3{3}3333333}3z3z3333333333|3w3z33~33333333333333333333333333333333333333333}3}3333333333}3{3x3p3i4f 4i4g4f4d4b4d4f4d4a4a(4X&4Z)4_-4\04\24_74a74b?4fA4fF4dI4fN4bP4aN4_L4]G4\F4XG4SN4SS4XX4X[4S_4Ub4Ng4Me4Ki4Fi4Ae4>i4?j4Fl4Kn4Mq4Kv4Fy4D4A4H4N4P4N4M4H4D4A4?4<4<474242444542494>4F4K5N5M5M5I 5C5<49454/525455 57 59595<5:5<5D"5C"5>5957555254%52%5/ 5#5# 5 5"5!'565!<5%<5*@50A55@5565925:25D;5FA5NH5SW5SY5RY5NO5KM5IO5KT5FU5AY5:Y50a50i52i57d5:k5:n57r55u5-|5(z5(5%5#x5r5m5k5m5i5i5k5h5 d5c5Z5\5\5Y5U5T5T5O5O5P5R5U5U5\5a5^5\5Y5W5U5U5T5M5O5R5T5W5U5O5O5M5J5F5F5@5A5C5E5C5@5>5>5>56565952515/5-5-5,5*5'5#5#5"5 55555555555555555555#5%5%5"55 55555w5t5h5]4]4Y4S4J4E4D4?4=464&4444 5 555'54565;5>5J5T5Z5^5f5d5f5n5z5|5555555555555555555|5w6w 6s6s"6s)6n06m86i;6h@6iE6hI6fO6_Q6\V6Y]6O[6A`66j64q66y6%6%6666666"6#6*6*6/6/767J 7_7h7r7s 7|&7*7-7/70747<7:7<7?7D7A7H7M7P7 X7 \7W7W7U7W7U7"U7?I7NI7YH7gK7wN7~M7I7C7A7H7I7I7K7K7N7R7W7W7W7Z7X7]7Z7]7W7W7X7R7P7R7N7a7d7g7k7l7p7q7p7v7s7p7i7 g7l7x7{7u7d7\7X7\7Z7X7W7U7U7W7R7P7P7#U74Z75b79\7Hb7Nk7Nl7Hn7An7>p7Aq7Fq7Cx7F{7I}7K}7Kx7Ps7Ss7_u7dx7gx7l{7v{7777777777777777777777777777777{7u7n7]7X7R7R7S7S7M7P7N7H7<7<7:757*7*7(7&7&7!777888878888888888888888 8 8~8|"8r"8b*8X38V68X88V98X;8YE8]H8^J8`M8bO8gR8mT8mW8j[8j^8je8mj8qm8wp8wt8vu8rw8mz8c|8c8b8[~8V8S8O8Q8L8J8;86868383808'8'8)8'8$888 8 8 8888888888888888888888}8s8f8f8i8f8f8i9h9a9\8U8J9<97 94 9'9999 999 9 99 9 999#9$9(9)9)9&9$9#9$929=9K9U9{[9x`9ve9xj9q9}s9ts9ox9jy9l}9j9i9l9j9s9t9o9g9`9_9]9X9V9U9S9I9B9F9I9N9L9I9?9<9:9:9<9?9?9?9<9:97939.9)9(9&9!9!9#9&9(9+9-:) :$: : :::::::::: :%:(:*:':#::::::::::::: :#:(:2:6:7:7:4:6:;:A:H:J:F:H:E:K:O:P:P:T:P:T:P:P:T:Y:^:c:f:d:a:a:c:_:y_:uc:pc:Wm:Ti:Ln:Hm:Gr:Es:Bn:@m:Bx:8x:1s:;:@:9:.:':):1:C:G:J:V:Y:Y:Q:M:C:>:3:1:,:,:%:%:1:3:4:8:>:E:H:G:B:=:>:B:C:=:9:4:9:8:3:,:):):1:3:/:*:": : : : :::::::::::::::::::::;;;;;$;);3;6;:;?;D;G;L;L;O;T;u`;ng;_q;]w;Z{;W;S;S;P;I;A;<;5;/;+;(;%;#;;;; ;;;;;;;;;;;;;;;;;;;;;w;h;c;^;];];[;X;X;T;L;G;=;?;@;=;0;+;";;;$;;;;;<;;<<;;;;;;;n;d;_;E;9;/;;;;;;;;;;;;;;;;;;;;;;;;;;{;x;o;e;b;[;U;Q;P;N;G;B~;=t;8r;P::M:>@:<6:?/:<(:> :<:::<::99929494979792909-9+9-9092909+9 9q9g9_9[9[9]9V9U9L9K9G9F9<98929.9)9999!9&9.9295979293979792929-9)9&9&9999999 999888888888888888888888 8888888888€xsrwxxuu}}zxzCD D DDDDDCCDDDD D DDDDDD DDCCCCCC D DD D D D D D D DDDDDDDD D DDD DDDCCCCCCCCCCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C CCCC C C}CxCtCvCsCqCvC!tC,yC+C.xC,oC)iC&iC'oC&nC&lC$lC"iC"gC!eC&eC$bCSCBC=CB9B-B4B6B9B1B,B(B/B1B/B/B,B*B(B*B'B"BBB#B'B'B|B#B#BBzBuBrBpBuBuBoBjB \BYB\BfBaBWBTBRBYBYBTBQBMBEB>B4B8B6B4B3B.B)BB BBBBB BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA{AvA{AA{AvAsAxAxuA{qAuAqAkA{iAlnAlkAokAsgAxiA}fAy\Av\AvWAqPAoPAi_AnNAlKAiKAeNAbWAbPA_NAbNAiHAbCAZNAZIA_DA`AA]AB>ADAAGAAKA2A$BCBJBOBEBJBRBYBYBmBrBBB BBBBBBBBBBBBB#B#B$B(B+B-B-B0B3B2B3B7B:B?BDBGBGBIB[BoBvBxB{B}BBB~B}BxBsBtBBBBBBBBBBBBBBBBBBBBBBBBBBBBCBBBBBCCCCC!C$C+CDC8C+CCC CCBBBBBBBBBBBBBBBBBB B"B1B/B%B#BB"C%B'B"CCBBBC CCC)CACKCXCVC[C`CdCgCnCqC`CZCZCvC{CyC}CCCCCCCCCCCCCCCCCCCCCCCCCCC}CvCtCtCyCCyC{C~C yCnC[CIC DEDKDODKDMDTDUDRD RD!OD!KDHD!FD%HD%MD+RD/OD+KD(JD(FD+FD7FDWD?YDCYDAUD>TD?MDNHDa@Dd@DfEDkHDpKDlEDg@Dp;D/D1D;D9D{>Du@DsADuCDzAD{HD}@DCDFDFDJDODUDWDMDJDFDFDKDED;D6D6D2D,D*D DDD D D DDDDDDDDDDDD D D"D"D#D%D'D(D'D'D%D#D%D'D#D'D#DDDDDDDD#D,D*D"D"DDDDDDDD"D"D%D%D D DDDDDDDDDDDD D D DDDDDD DDDCCCCCCCCCCCCCDD DD D D DDCCCCC CC$C)C*C%C)C,C)C,C/C.C4C3C6C4C3C4C8C4C1C/C1C/C.C,C.C.C*C)C'CC.C1C1C6C3C/C3C6C8C6C8C>CBCBCECOCVCcChC~CyCxCsCvCtCvCyCCCCCCCCCCCCCCCCCCC~CCwCwC~CCCrCkCfCeCjCfC\CWCRCRCRCVCVCaCcCeCfChCfCcCeCaC^CYCVCVCRCVCWC[CYCYCVCWCVCRCRCOCMCJCJCMCOCRCTCRCQCMCHCGCHDCDBD@DEDCDECCC@C>C=C=D8D4D/D/D3 D1 D4 D3D3D6D6 D8D9 D8D9D9D=D@D6D3D3 D1D/"D. D/D1D3D) D)'D"*D"'D 'D*D2D1D'D*D,D,D/D /D ,D /D 2D2D4D/D/D,D,D(D(D%D"DD D DDDD D(D-D(D*D1D6D7D6D7D9D9DCDJDJDHDHDPDMDEDCDFDFDCD@DAD@DAD@D@D@DFDODED@DEDJDFDADAD@D>D6D6D9DD>DEDJDMDRDPDODPDUDYDYD^D\D^DdDdDfDmDpDsDxD|D}|DvDuDvDzDzDvDsDsDsDuD}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}DxD{DvDuDsDqDbD_D]D_D]D\DXDNDPDRDRDXDWDUDRDRDMDMDIDHDFDIDIDDDDDMDMDFDCDAD?D5E+0E*1E(+E&1E&5E*3E(8E(=E&@E*BE*NE+SE4`E:bEE>E9E4E-E&EEEE EEEEEEEEEEEEEEEEE|E|EEEEE{EyEvE{EyEvEqEcEOENE)E'EEEEEEEEt9m9h9b9^9^9]9T9Q9O9Q9O9L9N9L9G9E9E9D9B9B9E9G9J9O9S9X9X9X9`9e9g9j9q9v9v9w9t9#8-8289878;8>8E8F8K8W8W8Z8Z8\8_8c8h8i8r88}8|8w8r8i8f8h8m8m8r8s8s8x8x8u8x88888888888888888888|8|8888888888888 88888888 8 8 88 88888999-9?9?9B9F9D9G9I9P9Q9X9X9Z9_9b9b9g9i9n9s9v9x9y9x9v9l9l9g9g9b9[9X9e9n9}9999999 9 9 99999999 9 9 999999999999999999999999}9}999999999999z9w9r9m9f9c9c9c9a9\9T9O9K9A9A9E9F9E9E9A9;969,9,9*9'9"9#9*9%9 9"9'9,9-96999;9<99979294999>9@9A9@9C9C9E9C9@9>9;9996929499999994979;9>9@9H9J9H9E9<9;949/9,9'999y9v9o9t9t9 o9 j9 j9 l9i9b9b9e9]9[9V9P9F9B9A9<929-9&9$9!99999 9 99999 999999999999 99%9%8888888%8>8E8{J8oM8gL8`M8XH8VE8SB8O98N68S18[38e.8l/8w/8|4888>855555555 5 5 5555555 5 55555555555555555555w5s5r5f5c5Y5T5W5W5 k5x555577%7*7/707474777?7S7g7g7n7x7777777777777777778888 8$8%8,81818;8>8B8O8Q8O8M8M8R8T8V8}V8}Y8\8t8|w8uw8py8n|8n8m8f8d8a8^8^8Z8Z8W8T8T8O8K8H8J8H8E8>86868*8#8888 88888888888899999!9$9)9.97989?9I9V9X9Z9`9d9i9q9t9v999999999999999y9s9n9l9j9j9e9`9_9]9_9]9_9]9`{9`t9_q9]i9Ug9Gg9?o9Bs9=q9:>:;:=:9:8:4:3:1:/:.:)|:": ::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::n:i:i:h:f:f:c:a:a:^:\:Y:U:>:4:1:'::::: : :: :: : ::::999 9 9 999999 9 9 99999999999999$9/9@9B9C9G9J9H9G9E9H}9J{9L{9Qx9Qt9Ov9Lv9Jt9Mq9Tl9^j9ag9`d9`b9cd9eb9j`9kb9o`9od9ti9wj9yi9wg9tg9rd9p`9wU9yG9|B9A9A9?9?9B9D9B9A9=9<9<939.9)9#9#99!9999999999888888888888888888888888888888888 88888 88z8w8u8t8t8 t8r8u8t8o8j8h8k8o8t8p8j8h8e8e8`8^8a8a8^8[8W8[8W8[8[8V8R8L8B888.8)8$888 8'8 '8/818;8;8986838.8/848686818'8$8888 8888 888887777777777777777777777777777788z8y7z7y7t7t7j7[7[7a7e7h7k7h7jv7fn7ha7eR7fN7fH7kA7m:7m27f*7e%7e 7o7;;;;;;;; <} <{<x<v<v<u<v<s;u;v;x;x;};z;{;{;};;;;;;;;;;;;;;[:V:Q:R:T:Q:O:J:G:C:B:@:=:;:8:9:8:4:6:9:;:;:9:9:;:;:=:>:;:=:>:C:E:H:L:J:M:Q:V:Y:[:[:~;;~;;~;y;w;w;u;r;r;o;j;m;k;j;f;h;f;e;k;k;h;f;h;j;m;o;u;y;y;z;y;~;~;ar;_v;Yy;Ww;Yt;Zr;Yq;Rq;Pr;Pw;Oy;O|;O;F;C;<;2;,; ;;w; q;e;b;^; ];];e;g;m;o;l;j;e;];T;O;I;G;B;=;:;6;+;);+;0;0;';$;$;;;;; ;;::::::::::::::::::::::::::::}:z:s:m:m:k:d:U:P:M:E:E:A:9:9:<:<:;:7:9:9:7:6:2:(:':%:(:":::::: : :::99999:: :::::%:%:(:,:1:6:F:J:J:Y:\:_:a:c:f:h:m:w:x:w:x:x:}:}::::::::::::::::: : : :::::::::::::::::::::::::::::; ;;;!;,;1;3;6;:;=;@;B;#?;2?;7:;>;;A:;E8;H3;K3;P0;T0;Y.;\0;^1;\6;\D;ZD;\J;YQ;PT;O];O`;Uc;Wc;Z`;\`;Zg;\j;Zm;\o;ao;ar;:::::;;;;;;;;!;&;.;1;8;?;E;G;J;J;N;Q;V;X;[;];e;e;l;t;;;;;;;;;;;|;z;z;};};s;r;p;p;k;_;\;Y;U;M;J;C;@;<;9;4;1;,;(;#; ; ;; ;#;%;';*;,;-;6;7;C;E;K;W;Z;^;f;k;};;;;;;|;y;o;[;E;:;+;';;;; ;;::::::::::::::::::: :: ::::::: : : ::::::::::::::::::: :n0A0A0F0H 0N0U/X/]/b/b/f/g/f/g/k/n/q/p/q/u/q/q/s/u/s/g/f/]/]/\/U/N/I/H/K/?/+/*/%/+/4/7/>/D/I/K/N/P/N/N/R/R/_/d/b/d/d/g/i/l/n/q/s/s/p/n/l/it/do/\q/Zo/Zq/Xq/Un/Wj/Ui/P`/SS/RL/SG/\I/_I/bD/aA/X8/\8/a=/f:/l0C0E0H0F0F0J0J0M0R0Z0\0Z0Z0^0a0c0d0u0u0s0p0r0p0s0w0u0w0w0u0p0h0d0a0_0\0U0T0W0U0T0R0M0O0H0H0F0A0>07010-0*0#0 000000"0#0#0%0'0'0*0(0'0"0"0%0'0(0(0#0#0'0H/H /F/H/D/D(/C+/HP/<Q/9P/>Q/?X/4e/-j/*o/!o/!x/ {/{/t/ v/t/t/t/x/{/x/t/o/o/o/n/o/l/j/l/g/`/]/[/V/P/N/N/P/Q/Q/P/N/L/B/ />/:/:/:/?.D/H/0000000000000000000000000000000000111 1 1111111111101101111111| 1y1y 1v 1t1o1j1e 1` 1^1`1c1`1[1Q"1O!1O1S1T1X1Y1X1Y1[ 1Y 1T 1Y1T0X0V0X0Y0[0X0V0T0X0b0g0h0h0l0o0v0y0{0~0{0{0~000000000000000000000000000000000000000000{0r0y0v0m0j0l0q0w0v0w0v0v0r0j0e0e0b0e0]0O0I0?03000.0)0"00000 000000 0 000000000000 0000$0+080?0E0L0L0I0D0?0?0B0B0E0D0J0N0O0S0Y0b0e0g0j0l0o0q0r0t0v0~00001111111"1,1.11131515101.131816181?1B1L1N1J1J1N1O1X1s[1mX1kS1iQ1iO1hO1dS1dL1aE1\B1TI1TO1WN1WS1T[1U]1R`1O`1M]1J]1J^1E]1CY1@[1<`14Y12]14b17e14g1,e1*g1(e1#c1 c1e1^1^1`1 c1 e1j1r1q1r1v1t1q1r1q1v1r1o1m1h1g1g1[1Y1X1V1X1[1Y1V1T1O1L1J1J1I1J1Q1O1N1N1L1sL1tJ1}I1~E1E1B1@1B1@1816161,1.1)1)1&1$111111 1 11100000011 111{1v1o1b1Q1=1.0-0-030<0=0A0B0F0G0L0P0V0_0b0b0b0b0L0I0K0K0Q0Q0V0V0Z0`0l0o0t0y|0x0w0s0s0u0u0u0s0s0s0p0m0m0m0s00000000z0u0n0k0Z0W0 W0P0K0F0 90 90>0>090404010/020407090907020-0(0(0#0000000000000000/0////////// / /////////////////////////////////////%/'/'/'/(/*/1/,/,/,//0609 0; 0>0A 0H 0P0T0U 0T#0U,0Y/0^/0_60a70f40h40h;0d;0f@0a>0^@0^E0ZF0aJ0cH0cJ0cK0aK0_O0_T0\U0\Y0YY0U\0R\0O_0Ka01d0'Z0#P0O0P0 W0*c0,h01m02u02040;0@0E0F0U0^0^0Z0Y0T0T0M0K0P0P0R0W0\0c0f0i0m0p000000|0r0u0w0}000000011 1 11111001//////////////////////////000000000000000000000u0f0c0d0c0^0\0\0^0d0h0i0u0x0|0|000000000000bw0Ys0Tp0Qr0Qu0Iw0Eu0@w03r0$u0!s0u0u0p0r0 n0 n0 m0f0c0Z0Y0T0R0O0K0K0H0C0<0/0,0,01060402020606070@0A0H0H0T0T0$W0'Y00^01a0Ji0Nh0Qi0Vk0Tm0[k0^m0cp0gr0gw0ex0bw0@A0;C0;F06E0.@0<020 /0-0*0*0"0 0000000000 0 0#0-0*0"000000 0000//////////////////////// ///0&00 06 0;0@ 0D 0D0J 0L#0G-0G40D40E70E;0D>0E@0@A0/////////~////////////0{/w0w0{0| 00000~0|0{0{0w0r0o0m0l0c0`0^0]0[0]0]0T0S 0Q 0O0S0N0O0N/N/J/G/?/8/6/3/0/0/./,/+/'/"/"//////!/+/0/3/5/D/O/^/e/j/o/{/|////////////...............///////...........................v.m.l.m.j.^.Y.V.S.T.N.L.L.?.:.;.0.+.+.,.).).&...... . . . ......|.u.r.j.f.f.c.c.f.f.a.a.^.^.^.`.e.e.a.a.^.[.Y.O.O.J.C.;.6.1.%.$.". .x.r .n .m.d-d-a-c-_-Y-U-R-T-P-R-P-J-E-A-A-F-K-R-Z-\-\-a-c-f-f-i-m-|-----... ......%.%.*...4.9.;.B.G.J.M.V.V.Y.[.Y.^.`.e.f.e.h.k.j.j.m.p.u.w.w.~. . . z. y.|..............!.'.1.5.3.5.:.=.B.B.G.G.D.E.D.E.B.@.?.?.=.:.:.8.6.5.5.1.1.8.;.?.?.B.E.E.J.N.L.S.V.Q.Q.Y.Y.^.^.c.j.m.m.v.t.wg6wc6zc6z`6[6]6`6b6e6l6r6w6|666666|6{6~6{6{6w6v6t6r6|q6wj6we6;;;;;;;&;(;*;+;0;<;F;H;N;P;R;Z;Z;W;H;C;A;<;/;;;;W%3Z"3b3i 3s2z2}22222223333 3 3 3333333"3'3*313336393=3>3B3B3B3G3L3J3O3Q3T3V3W3W3[3[3\3a3e3c3^3\3{[3u[3vT3uR3gH3gE3dB3_63S*3U'3W%3_3]2_2b2d2]2_2b2g2n2n2k2n2n2p2q22222222}2{2x2n2l2f 3a3_3ju5lk5lf5hc5h_5j^5rH5o@5q@5wH5{J5F5H5O5P5U5Z5_5\5\5Z5Z5c5f5h5h5d5h5f5h5r5r5s5p5u5z5|5x5u5n5k5h5h5h5k5n5~k5~i5{f5th5qk5tn5vm5wn5qu5qw5v|5v5q}5h}5jz5gw5ju5l =j%=g*=g1=b6=_6=[;=SJ=QR=NV=NY=F`=8c=2f=3j=2j=.m=0p=)r=(t=&y=#z=&z=&|=#=&=$=!=====~=t=#t=r=!o=o=!m=#c=!^=&^=)[=(V=+V=.M=2H=N4=U)=_=d=g=l ======================================y=w=u=r=o=m=k=j=k=p=t=t=u=z===== = = =>>>>>>>>#>$>)>0>0>3>5>8>:>?>F>F>G>N>S>e>q>n>i>g>j>n>s>s>v>v>n>j>i>g>d>b>Z>U>G>=><>8>8>3>.>(>$>$>>>>> > >>>>>======== = ===cb>`j>Ws>Rx>Qy>Q>R>Q>R>Q>R>Q>M>L>G>E>@>6>6>3>1>/>*>'>"> >>$>">%>*>*>,~>,x>.t>,o>1j>4d>;b>;_>@_>C]>GX>HX>JZ>QX>TZ>WX>\X>cb>>>>>>>>>>>>>>>>>>>>>>~>|>y>t>r>p>m>m>j>h?f>c>^>`>Y?M?L ?E ?= ?B?Q>T>Y>\>\>^>a>c>f>j>j>p>u>>>>>>>>>>>>>>>>>>>>>???'?(?-?4?7??;?9?7?6?1?/?*?*?'?%?"?"????????????? ?????t@q@o@l@e@b@Y@J@ I@B@0@.@.@1@.@.@)@!@@!@(@(@$@$@!@#@@@@@@@@@@@@@ !@ !@@ @@@!@'@+@+@,@3@8@8@5@?@B@D@I@I@L@N@N@Q@S@O@T@S@V@V@X@X@Y@[@`@^@`@`@b@c@c@e@g@l@o@m@r@r@v@t@y@w@y@{@~@@@@@@@@@@@@@@@@@@@@@~@z@|@|@z@w@w@u@u@r@o@o@k@k@o@m@p@r@p@m@k@h@e@e@c@`@a@^@`@^@[@Y@W@W@Y@Y@W@T@Q@T@V@VATAQAQAOAOAHAHALALAO AQ AOAMAJALAGAHAE AE%AC!AB!A@&AB(AB+AE*AJ+AH-AG+AE-AE/AG/AC2AB0AC4AB4A@0A@4AC9AE9AG:AGAL>AO>AO?AQ?AV9AW5AY7A^7Ae-Af%Ah%Aj!AjAm AoAmAoArAtA| A~AAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{@t@AA A'A%A'A%A#A"AAAAAAAAAAAA AA AA A A A A A A AAAAA$%A.%A5!A6!A6 A;A?A@AJAEA6 A. A'A"A!AAA AAA%A%A*A+A-A0A0A4A>ADAKASASAPAMAMANANA MA IA KAKAIAHAFADACA!AA!?A$CA'AA+DA,808-8+8-80858<8?~8?8?8C8F8K8S8U8S8fāfruwunkhfŁ #'(('"!.'0'3' ,')'"'$'#"'&'#)'!0'--------------.. ...'...9.;.>.O.O.T.T.V.Y.Y.R.T.M.J.H.G.H.H.C.B.=.4.,.*.%.%.)...1.4.6.8.;.B.H.J.R.^.t.... ....!...y.y.u.u.!t.&k.$j.(h.+`.3W.2T.-T.(Q.3Q.7T.8R.:O.?G.F=.B9.G1.D).B'.?).='.8%.<".:.<.8.=.?.D.F.D.F .K$.P .U.X.[._._.S .S.P.N.P-N-N-K-N-Q-V-Z-Z-]-_-`-j-n-q-q-y-{-~-----------------------------------------------------}q-vp-vl-sg-sk-tl-sl-ol-qi-of-e_-dZ-bX-b]-_]-X\-PU-GU-?H-5F--A-)>-(7-)---*-((-)&--&-0*-2*-3(--%-------!- (-%-#--- ----,,,,,,,,,,,,y,m,wO,mL,cB,`B,R6,M3,H+,G,,C,,=&,6,)+"++ +++++++++++|+u+u+r+p+n+s+s+p+m+z+}+}+++}+u+s+s+w+p+m+h+h+i+f+h+k+n+r+w+s+p+n+i+f+_+^+\+^+c+m+s+x+|+}++}+z+u+k+c+Y+J+E+E+C+;+A+A+2+-+,+'+,+%+ ++++++++++ +*********,,,,,,,,,,,,,,,,,,,,,,,,-3%-8%0<%2A%5G%5I%0N%3X%0_%-i%&t%!v%%%% % % % % % %%%%% %%%  & & &(&2&7&>&@&E&F&J&H&J&M&O&P&U&Y&Z&^&_&d&d&c&c&Z&Z&c&f&n&p&w&z&&&&z&t&k&f&c&T&R&O&E&>&6&3&,'.','%'' ' ''''' ' ''''''' ' '!'&' &' )'+'.':'@'L'O'S'b'g'j'm'o'o'l'j'b'`'`'c'm'{'y'{'''''''''''''}'x'n'f'a'Z'N(I(K(I&(I0(F5(4D(/D(-D(#((( (((( ((((!(((0(!>(&C(*N(0R(2X(5_(2i(*s(%x( x(!{(((((({(v(u(v(v(s(l(l(f(W(a(l(n(l(f(](b(n(u(x(p(f(d(a(b(f(d(a(b(](b(k(k(g(l(p(s(v(}(((((((((((((((y(m(c(O(L(I(E(?(?(@(G(?(:(6(6(:(:(5(3(8(8(1(+($(((((((((((((((((((((()))))');)9)B) C)@)B)H)R)R)V)W)^)f)k)m)m)p)o)f)^)V)V)a)c)kY)WV)OV)JY)HY)A^)7^)2\)-^),\) [)\)`)[)[)W)W)V)W)T)R)M)L)@)>)>);)9)8)4)/) ))))))))))))))) ) ))((((((((((((((((((((((((((((((( ( ((((}(}(z(s(l(f( b( a( ](%Z(-S(9A(@2(E0(K*(W(p's'x'|'}''''''''''''~'j''c'1h'?g'^Q'jO'jL'oI'rJ'tI'vJ'|I'~B'?':':';';':':'5'6'5':':'8'6'6'5'1'0''''''&&&&&&&&&&&&&&&& &#&*&4&4&:&?&?&M&U&Z&n&&&&&&&&&&&&&&&&&&&&&|&r&k&i&c&_&T&C&@&;&7&6&4&/&%& %&#& & & &"&$&) &3&>&B%E%`%h%p%w%w%w%y%%%%%%%%{%q%b%]%X%U%U%Q%N%F%F%?%?%<%:%8%:%:% 5%3%0%3%3%5%!3%#5%$2%)0%.2%-3%-8%0<%2A%5G%5I%0N%3X%0_%-i%&t%!v%%%% % % % % % %%%%% %%%  & & &(&2&7&>&@&E&F&J&H&J&M&O&P&U&Y&Z&^&_&d&d&c&c&Z&Z&c&f&n&p&w&z&&&&z&t&k&f&c&T&R&O&E&>&6&3&,'.','%'' ' ''''' ' ''''''' ' '!'&' &' )'+'.':'@'L'O'S'b'g'j'm'o'o'l'j'b'`'`'c'm'{'y'{'''''''''''''}'x'n'f'a'Z'N(I(K(I&(I0(F5(4D(/D(-D(#((( (((( ((((!(((0(!>(&C(*N(0R(2X(5_(2i(*s(%x( x(!{(((((({(v(u(v(v(s(l(l(f(W(a(l(n(l(f(](b(n(u(x(p(f(d(a(b(f(d(a(b(](b(k(k(g(l(p(s(v(}(((((((((((((((y(m(c(O(L(I(E(?(?(@(G(?(:(6(6(:(:(5(3(8(8(1(+($(((((((((((((((((((((()))))');)9)B) C)@)B)H)R)R)V)W)^)f)k)m)m)p)o)f)^)V)V)a)c)kY)WV)OV)JY)HY)A^)7^)2\)-^),\) [)\)`)[)[)W)W)V)W)T)R)M)L)@)>)>);)9)8)4)/) ))))))))))))))) ) ))((((((((((((((((((((((((((((((( ( ((((}(}(z(s(l(f( b( a( ](%Z(-S(9A(@2(E0(K*(W(p's'x'|'}''''''''''''~'j''c'1h'?g'^Q'jO'jL'oI'rJ'tI'vJ'|I'~B'?':':';';':':'5'6'5':':'8'6'6'5'1'0''''''&&&&&&&&&&&&&&&& &#&*&4&4&:&?&?&M&U&Z&n&&&&&&&&&&&&&&&&&&&&&|&r&k&i&c&_&T&C&@&;&7&6&4&/&%& %&#& & & &"&$&) &3&>&B%E%`%h%p%w%w%w%y%%%%%%%%{%q%b%]%X%U%U%Q%N%F%F%?%?%<%:%8%:%:% 5%3%0%3%3%5%!3%#5%$2%)0%.2%-3%%%%%%%%%%%%%}%y%v%t%t% s% j%j%e%e%b%b%d%j% i%%l%$n%$t% x% s%t%{%%%%% % % % % %%%%%%%%%%%%O&L&O&V&X&]&^&b&h&~&&&&&&&&&&&&&&&&&&&&&&w&r&o&q&o&h&e&b&b&^&Y&V&S&^&]&[&O&N&O&]@&X>&R>&N<&?<&76&:2&9/&9-&:-&9,&:(&<(&?(&C%&H%&R"&X&Z&]&]&_&] &d &u&{%%%%%%%%%%%%&&& &&&&&& &v(&s/&s2&k7&i<&g@&aA&]@&l\)j`)ga)ef)bk)`m)]k)Xk)Qp)Nr)Lu)Gu)Dz)8y)+z)) )))))))))))))))))))))))))))w)r)f)e)`)^)^)a)a) `) Y)V)W)!T)'T))R)+O),@)1=).4)+1)+$)+ )1)1)6)=)@)D )L,)Q,)V%)X')[')]*)`,)`/)c3)c;)g>)g@)`B)]E)YJ)TE)OH)NL)OO)LR)NV)TO)XO)[O)]M)gJ)gW)j[)j^)****&*)*0*3*5*:*A*B*D*G*K*N*L*D*F*B*D*8*7*8*3*.*-*-*(*$*&*#**!** * * * *** ****** * ** * * * ***f(b(\(Z(S(R(U(X(\(\(](_(a(b(d(f(i(i(f(f(d(d(g(l(q(u(u(x(u(u(x(z({(z(v(q(n(f(q(i(k(i(d(b(b(d(d(g(l(l(q(q(v(q(s(v(v(u(q(WM(SK(SH(WA(Z9(a2(b+(g&(g (d(f(l(s (u#(u((q0(l9(fA(XM(UM(PA(HA(F>(F<(M5(P/(P(M(P(X(\(_ (l(p(q (q (l(i(f(d(f (d&(]0(S?(NA(z(n(a(_(\'\'f'i'n'x'''''''}(x( ( ( (('''''''''(( (''''''''''''''''''''****************z*z******z*u*p*d*_*X*W*W*R*K*F*C*>*2***#* **** ****************************************************************{*v*m*j*[*S*N*L*J*I*E*=+1+'+!++ ++++ +++++ ++++(+-+2+4+9+6+;+@+F+P+T+Y+Y+F+C+K+R+W+c+n+}++++++++++++++++++++++++++, ,&,&,!,,",&,&,',,,1,8,;,B,G,D,I,O,Q,T,b,e,c,b,g,w,,,,,,,,,,,,,,,,,,,,,,,},n,c,_,^,_,k,x-#-/-5-?-M-P-P-Z-\-_-a-a-_-]-\-b-b-a-a-k-i-b-a-Z-\-\-]-]-_-a-d-f-i-k-s-u-u-x-s-q-n-n-p-p-n-s-x-z------"-&-"-&-'-'-"z-)v-)q-'l-.s-0{-3}-@-Gz-N}-Ox-Nu-Nq-Jk-Lg-Nf-Ok-Vq-^-c-g-l-r-w-~------------------------------------------------------------------ - ----!-(-+-0-9->-?-F-I-R.R .S.S.N.N.P.U.Z.b.l.p.n.k.a.\.X).U9.R;.P>.SC.SJ.PO.U[.Pe.Ph.Wo.Zw.b~.d|.g|.i|.kt.io.im.sh.ue.vf.xf.Y.T.M.H.E.C.@.B.%.... . . . . . ..--..........".".......----- -"-$-)-,-*-1-4-6-6-9-=->-B-B-E-G-C-C-J-M-O-Q-W-Y-W-[-\-a-h-j-j-h-k-m-k-k-h-m-r-w-z-y-o-k-k-p.r.t.y-z-y.z.------------------**+++<+@+K+^+d+f+h+k+m+w+z+|+}++++++++++++++++++++++++++++++++++,, ,,,,,,!,',6,;,G,L,Q,T,T,Y,c,g,l,l,o,t,v,v,{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,r,l,h,V,N,B,@,=,6,.,),",, , , ,,!,(,-,0 ,. ,+,+,0+0+0,3,<+=+?,A,?+A+F+L+Q+Q+L+L+P+Q+P+L+N+Q+Z+Z+V+Z+]+g+i+i+b+`+bp+bn+bk+ld+yc+}^+}W+~T+}F+{A+v>+v;+s<+q;+e9+S1+I(+F+G+I+N +Q +N+K*L*Q*S*U*X*Q*P*S*Z*X*S*S*S*X*X*V~*Vx*Zs*Zo*]l*ei*vg*Z*P*F*B*B*=*7*.*$****** **))))))))))))))))))))))|)y)t)r)p)k)h)e)\)W)~V)yT)vQ)tL)vH){G)yC)vC)jC)_8)V4)V3)V1)],)b,)e))d%)`$)[)[)S)S )V")V*)Q.)S1)Q4)Q;)UJ)QR)SY)S[)U`)Uh)So)Ly)I)G)D)D)G)F)D)=)5)2)2)-)&))!))))))))) * ****#*)*.*A*]*b*b*e*l*q*s*t*t*v*{******************N,P+,N8,PQ,NV,Pl,Pv,Q,N,L,K,I,F,D,B,?,?{,.C.C.@.@.;.9.6.4.3.'.$."....... ...---z-w-w-y-z-z-y-r-p-u-w-z-z-~---------------------Q.R.V.V.W.V.W.V.Y.Y.W.V.V.`.O.L.M.J.;.;/8/=/;/6/4/1/)/"#/-/2/3/3/ -/(//////.... . ....... .".%.,.,././.1./.,./.1.1.6.;~.>|.Cu.Lz.Q..// ///////!/+/0<09040-0(0#0"0,0/0<0<0;0106000000000000000000000000000000000M0Q0R0W0^0e 1j1h1j1m!1m&1o)1o31~G1~T1g1l1m1r1w1{111111111111111111~1q1m1j1b1[1O1I1@1:111)1111 11000000|0z0w0u0p0k0j0j0h0f0a0^0Yn0Lc0HZ0CY0=O0;O03O0,K0'O0"M0F0F0H0K0R0W0Y0W0 O0H0E0A0@0<0>0;0C0J0M0R0W0^0_0i0s0u0x0|00000"0)030;0E0M051@1J1Q1Y1^1b1e1h1 v1 w1w1~111111|1v1l1g1`1T1J1D11101"1!1&1&1,1+10131518m37o33m33p37r33t30w3-r3.o3+k3&k3p3o3o3r3p3p3o3o3k3h3e3^3\3[3[3T3Q3R3O3M3Q3L3J3J3H3G3E39363834383;393=3;3838393@3E3@3>3>3@3C3L3M3M3O3Q3T3R3!T3#Y3&Y3-\3.c32`35a37e38f37h38m3........................ ...'.*.7.R.Y.^.f.h.k.r.r.m.r.............~.|.|.y.u.t.p.m.k.m.k.k.e.f.j.m.m.p.p.o.e.e.f.j.o.t.~.. .....!.$...6.:.=.;.?.I.L.X.b.l.t.y.................................. .......#.(./.0.2.4.9.C.H.K.K.P.S.a.b.b/a/W/U/P /P/M/P/S/S/X/b$/a)/b)/f+/i0/s0/z3/2/3/7/:/:/v/Cx/Hy/Tx/Wy/Y{/Y}/W}/U}/Y~/a/h/k/pt/po/rn/ri/|b/z]/]/Z/U/L/8/7/8/?/B/K/K/I/L/L/K/I/G/F/D/B/F/F/I/K/L/G/:/5/2/-/////.......// /// // / / //w/m/d/_/U/P/J/@/;/6// /* ////../// / // / ////....11111111~1|1~1111~1111111111~C0wA0qA0j90h40j20h10m/0o-0r,0r*0q'0h%0c%0^%0]%0`"0]0b0e0j0~0y0l0`0b/h/o/w//00 000000"0#0 0t#0v'0|(0~,0106060707090<0C0|C0[0[0^0[0]0]0Y0V0T0S0Q0O0O0Q0V0X0V0V0T0O0N0N0S0S0Q0N0N0D0D0D0B0B0B0?0=0@0@0B0B0;06060?0D0J0O0X0Y0[0N0L0N1J1L 1J1J1J1L1L'1N61LB1J[1GY1DS1DL1DI1D@1@51?01B)1@&1@1=0B0E0D0G0J0L0N0N02/////// ///////////////////////////////////%/'///2/2/H0E0A0>06 0-0,"0"0 00#0*0(0#0#0%0%0 000 0 0 00 0 00000000"0"000 00/00//////////////////// / / /////1/>0A0H0J0J0H0E1I1L1N1Q1T1b1111111111111111111111111~1h1]1Q1J1E1;1:1:1B1E12(24292Z2i2k2k2k2n2q2v2v2z2{222222222222222222333 3 3333333333}3}333322222222222222222{2n2_2]2b2a2Z2W2U2N2H2C2D2D29202(222222 2 2222111111111112 22 222 2 2 2222d4i4n4v4t4x4{4t4s4n4n4g4e4g4e4d4`~4]~4X{4V}4Sx4Pq4Ll4Lj4Sg4U_4[]4g`4yb4xe4xi4vj4vn4{j4yg4{e4~d4d4`4b4d4444444444444444444444444444444444444444444444444}4y4s4v4{4~4v4x4t4x4x4}4{4~4}4y4y4x4q4l4l4o4y4}4{4444444444q1o1q1v1{1y1y1q1q1q1c2c 2c 2^2X2T2T2X1V1X1S1Q1X1]1b1g1h1l1o1r1q1111111111111111111111111111111111111111112222222#2(2+2/222425292:2>2D2F2A2A29222!2222Z2S2 72(/2&(2(%2&2(2*2-201-1&1 1111 111112222+2 2222221111111 11!1!1%1&1*12171<1H1M1U1Z1a1d1i1g1l1q1v1z1111111111111111112221111112222222121z1s1q1l1f1b1\1X1U1R1R1P1P1U1\1a1d1k1p2p2q2v2z2{2{ 2 2 222!2%2(2/22272?2F2I2H2F2D2D2K2K2I2H2xF2kF2kA2b52a02]+2Z2W2R2R2P2M2I2A#2?+2<02:529:27C24D20C2/D2(F2!D2S2W2Z23'3)31313138393@3G3J3L3J3O3L3H3G3E3B3=38363/3,3*3)3"3333333 33 333 3333 3333333 3"3$3'3%3%3$333 33 3 3333332222222222222222222222222222222222222222222223333 3333333X2S2N2G2E2D2@2=2;2:2:26282=2626232121232526282;2?2@2D2G2I2L2N2S2S2S2V2X2X26.686 E6 S6O6N6J6J6@6@6B6;666+6$666666555555555555555 55 6!6o7w7666666666666666666666666666r6m6e6c6e6e6b6g6h6b6`6c6c6T6I6E6D6=6;6=6B6D6B6D6L6L6Q6V6 V6S6N6G6D6#?6+16-,60+60,60E6+O6-^60`65c65`6.[6.Q63E65=6836D'6I!6L!6P$6N16P56S:6SB6QJ6NN6FX6G^6KV6QN6UI6V;6]56`,6g+6g.6b;6j,6n+6666 666665556 6 65555555555555555555555555555555555555 5 5 5 5 5555 5 555555555555|5x5r5p5p5k5k5i5f5c5 Z5%R5%O5(K5(J5,C5-65//51/52,54'54#5<5>5>4E4C4A4C4P4U4W4Z4c4c4d4f4k4m4p4w4u4r4u4w4u4x4w4x4x4w4u4n4m4r4s4x4z~4}y4w}4u{4uv4py4nx4nv4ss4sn4wj4zi4ze4l4i4e4d4e4d4`4]4Z4V4U4P4I4G4D4G4F4?4<4:4:43434:48484<4<4A4B4F4I4K4P4P4N4I4L4K4F4G4D4=4747454-4)4(4(4$4-4.4-4&444!4}!4|4n4h 4i4i3h3d3h3m3p3s3u3x3w3x3333333333333333333333333333333333333333333333333333333333333333333333333333333333 3 4 4 4 44444444!4!4!4#4$4&4(4)4)4.4045484748484:4:4?4F4F4D4F4A4 =4 ?4G4 K4N4 N4K4K4X4X4P4N4L4Q4S4S4K4S4!S4$S4Q4N4L4G4B4D4"K4$L4$P4'S4&L4)Q4.Q4,I4)F4'A4'<4$:4$74!54!24!04&04!-4+4)4$(4!&4!!4"4!4$4! 4" 43333333!3&3"333)3+3.31363836383;3@3@3E3I3J3S3X3X3V3T3X3[3`3c3g3b3e3`|3bz3g~3j|3ez3bu3cr3ht3gk3hj3lf3l`3m^3l[3j[3jW3mR3qT3tR3tL3vH3tG3qM3mM3jH3jC3g@3l>3o83o)3q'3r'3v,3/313>3E3E3G3G3H3E3C3Q3V3`3a3`3f3333333333333333333334444.40424?4A4F4G4N4X4]4b4e4j4`4_4[4_4e4l4yt4qo4en4[e4X`4Dd4?g43g41e4+d4&g4"g4i4i4n4 q4v4x44444444444 444444444444444444444444444444445 5 55 555555555"5"5%5(52595<5 <5C5A5"H5$U5"U5!W5d5h5k5!p5"s5$s5&}5+5+5,5.5051565:5=5B5J5L5N5O5O5T5]5`5c5m5l5^5]5S6N)6G36B56==6;E68O61^6+h6)o666666666666 6 6 66 6 666666677`4^4] 5[5[45X95X>5TE5SY5Qp5Nz5Lz5Jw5Ii5Gf5D_5EU5BU5DR5BM5EA5D<5@;5B95B75E65E45G'5J"5J5N5Q5Q5S 5T5V5V4V4X4X4[4[4^4`4`44444455 55555'5'5(5,51525;5<5@5E5F5A5;5-5*5#55555 5 5554444444444\E_EfEkEpErEnEpEsEsEuEzEwExEzEzE}E}EEEEE|EEEEEEEEEEEEEEEEEEEEEF F F FFFFFFFFFFF F!F F!F#F%F%F&F*F*F/F0F4F9F9F?FAF?FMFPFNFCF>F:F:F7F(F&F&F%F&F%F#F|FzFxFsFu!Fs!Fs%Fw%Fz+F|-F|/F4F4F7F7F:FAFFFIFKFFFDF}AF}DFxFFwKFuIFuFFsFFsCFuAFwCFw>FxE9E7E4E1E/E,E1E1E,E*E*E'E%E#E"E EEEEEE E EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE****************z*x+v +g+b+d+b +Z'+U1+W6+Z7+W<+X>+ZA+ZE+\F+ZH+_J+fR+f^+kp+ls+kw+f+f+a+a+d+g+f+d+d+f+k+q+s++++++++++,,&,),+,',",",,,3,6,E,O,Y,],{c,ze,t,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,,,, ,,,,",)-/-. -* -)-*-.-.-1-8-=#-> -@ -L!-W&-W+-Y+-^(-c(-j%-t&-*-%-%-+-0-5-9->->-A-A-C-N-U-]-b-n-u-{----------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,- --------,,,777777~7}7} 7y7v7t 7q 7o 7l 7j7g7`7]7Z7V 7S 7Q 7N7N7o7b2d2d2"d2Fd2d2d2d2d2+d2ed2d2d2d2d2Id2]d2d2d2d2d2.d2hd2d2d2d2d2Qd2sd2d2d2d2d2o;q;t>vAvH{F|C|@9469741/,*,-,-/1147;HJO~P~RU|W|U{T|R~O|JOyKvHvFqHoJtKtOrRtUrTqPrKqMmOqRoPoKlKjPhMgJcUbW`T^ObKbHcAbC^F[M[JYMVRXWTYSYX\T_VaOcOcLfJiLmJkJhJhIfGiEm?p=u:s:p5z.!"&!}zzxx~~{qoqvoj]XZNB=85520220.(&$$&&#!  ~|~|ywuuuwrttrrooommjfeecccaa`^^\\\`[YTVTOMLMROQMLJEEBB>=91/1),**,*)'% %$        |vtrrqoe^[YSQOLJGGIDDEDEGEEGEIJLNNLQNJIB=30,)!+0316$䀨&388..+  zyrvmrhofj`gVg9g/g,j$oomomol o l lhcXTIE=;33:;856338;66;@@?@=@BIILJJLTVYVTIB?8833530.0110,''$!{{}zxxvulnq}{zzxuuqluxzupigdb_addXWNHDD?<755}0z%w%snkd ^WUWPKHA<2(*(##%%(**--,*-112242477;9;EJOTZ_cc6ဏ5510161{0{,{+z)s)p&v"zqlkkdbZWSXZd_WWSSMDA?:50+% ##}zspmhddh{uvrmrlngnek`kOs?w=w;s1u+r$d'Z$\adhrw|   ".0056530.+'"nk|iu^fUdPZHWCR@J@C>@;9>/;,9FJP TRJJHOTaihd^WRPMJJORcr}qi[PIF<82) $&,,)3;=;;EE~D|GuGtLpOmNkJhLeLeNjOjTeTaS[V[[R]Q`M^>b8g,o%m"qorv t|~}zqkga\SMIHDA>:5*%  4<><5220+((+0244~2w4v5y5w<r>qChDgAcDbH]KYRSPOUEWD]@_;f.+'" )16>Q\^ehjo}|usmhfa^ZYWRMJF@ @>;4!&0 3:<BILQV_gtvtqlb_ZZUQPLGD=<52+(! wttmha`YLGB;8/*)" yvvtnqllnlnjjlnqstx~}vxtvtvvq}szqpqknbqXnSqFs5G#OM HJHGHQQWccfehefcfccYYV~T{VtTmWhVhTqRqQqMlHh@g@g9b4]9T;T9S6N3J4G16/6.,1&.")!''" ""%'%**/4@EEJC8831BHORRThkorwrww}zskik}zzzrpmhd_afff_ZTRKC<2,-241,'t t py|ww|~|zuuroopmjfffa``fkprokjyy|qpoeq[nViTdWd[`[]^XYXOSMPONYP\SaPjFwBFDBA==?zByBtIjLjNfK\D\GYFT?RBQ?HB$M)Q.[+^)j(e(V&RCEHB> @ 9;;>;=;88=@>OQVYRLGCEL>1/3.,)$ *//'$%'       }{usnlqszz}zussxx   yuwzwwuutmomhjhoh fefeca aa`\YYYY[a^achhfjkmmfmkfa^acc\YWWVYYWWVVWTWTQOV.\.c3f3h/o4m4k9j6e6e;\3V6TEM>LCMGLJGGEHCMC[@fBY@QBJEEHCJ=H;C=B;@B;B4L/V3^9`8a1`.Y*Y.R.M.J,G'E*B*@1B4>8/4,;1=/6%;'=$;>==@@>=41/,** ).,;BBEB@>988=;83,*)$"   ""      )) '" $'/1841*$ } {}" $xvv"p$q"uuxv {}zpplgdb dbdbba\%Z%\aa ]_bdggkpnpplinngdbda_b]_ZXWUSS]]XPMMPPSSRM HKFC$A$CH FD C >> A IHCA:/ 0 4 0/-+ %%("+*4)7,C/F3H;PBPCH@C4?4:;9C7G5M5G0G2C5B7=514.//(.%3&.(*%$!).,''! !     "1/36469683..438;B@;9;@=@>=4/*'"" $*""/4*,/6;@EEMH@CHGLJOLTQMJGB@=;B>CBERV\``^[V\^aaekmoujhtwuopwz|tofe^`eejjkw~~~tpywmfaacottw~yuty~~rokfe\JHMGC>=834==BC>C@=;9BGHGJC~C|>{EwEyBw>w=v=t8o9qCm@l9g8g;e>g>g@lElJoJmMqOqTyTtYv^o[m\maqewk~jehh~ou~|{|~w|r{pw|woomofhchah^c^ccbe`Y^VbVbR^MbM`C^E]L[VXYY^T`XfVjTeSeScOeS\O[OWLYNTLOJVGWD\DcBhBjEfJhImEjBoEyGzE~LSV]z]``ceoqrvrhh~j~q~|y|{yw|~{{vorrv{|y{wwqq lllqqmmoqljeb^Y[`]`Y]`cje[~XTNIJB=@?B?==::31.0588;;r8o=^;^8e5f1o0u''&&$$"""$','''+10136856:568::6:==EDDDEGEIGE@?@ELNQ]^bgb!`2[8X7O-I)B#??=;86+365650&$"!"&$&+3133,'$ (?FF IK!F'F.I8I?POXTVVPYU^Vb_bXeXgShSgXh[j`h`hdljjnmnosovjqjtqov{|{ %6>ACEJH<,  ->DRZdFiKkKq<x9z6x-zxv z{{-}46//'/1;{<qFlOl\qi  $'.+1,616B;=>?C;E@CICNELGNJERDT@V;T5LMMMQ&R,W6WBWDmQ~SSOOGB8.'" ##.7<PSVXXZ_] `diio$o6j=jElDnGjJjQgXjXi[j`n^nbo`tbtevg}TTVX^hmovwvw~{{~|~||{| %,4967;;EHMPUWYadfa\\ZYUJFA@AAFK%P%Z*x* }}|xusmmnmkmmmx}   <DMasx !!$$!!').1BIJNT[jmoromq$*=-8I_ g jy %*9KS]dk%*4EOTaje_hXmFu8~3-)($(#-222+-+)!#&.-.-0DII&K.FGBNBSDDI0K)Q#SPIB73530.2-.--0:BDPQVbiyupokkhc\\` ^ \ [\`e(j6k>jHhOf_cf^h^k`}^\[VY\acfrtww|~zutuy|"''5B]gq(~Ngotysty{}}yvx{{     # % ##*(**,/1269>@FFCC>96411-1 --*%"  ('((*,+*5/7142425696:-C#A ??<97 9%4"/44 52/ }sosx 4XYs_xs !'),386:;EIJON TT[b ` ^ ^bch e chjlrt|       ## #%# !  $$'* 1!33.)*'' ),/4%>&B(E2J7J4C5;7;9>:=:C9@7@5E:H?LCOFQHTITP`UfZo\z_|gsvuvz )-.5:=BFDAABINSXV]]bdeglggnvxv{}      % % ## "%"*%,$2 21--1,'* , ' , /1T U _  $/33>BEO[fjm "'+1358 BEB??;:=;BBDEIJ$O+N-Q3S5Q8XI^PhSrUtl~v~{y|{ "/6@MR\fks|&.68:;G^ejotw{|ywvy~    (%/*4CFRNx_gfd\bf_]_aabddgkillkiknnqnkggdffgkqx}{{vvxuqpxz} $/31/39=@>;938@@; 69 9=@BGY%[)\,j6y=~BGGLLMTTWY[[`^^[^`ccefece^`c^c`aceeh f c e [` ff!h-h3j5f:e=eBfFe ; 1#         $&'))$" ~~!!'))+03555668BBDEIEJIGIIINQTQLJNJ~OTTSOQ~SVX[]^]~^b~c}]{]}]{`x^t[v[s[t`q`tetgvhvl{o{ryoxlsltjqeq`obl`jbjeognhjhnlllgqelelbldmembl_h_l]l[gZeVbS^SXVVQSPSITGYG]IcKeFcFbFcDeDgGlIlGjFlFoLrNwN|K|GyIvGqFmBqBqAm?l=g?e?g=h=j=h8l<m:j7m8m<w=yB~D~?~B|=y=r7t7w:{8y5{5|7~7|55773{2~02.{.w-w&{(|&|$~&&#&&$!{~  퀸~~|zz|uwuuwyz~~|zrtomjjfa[[\\\YVTQOMMEC>>=;6/31.)"%*%$'$"|||mmhgh`Y]]b b mjmljb^][XTQNGGDDB8&&,.58:BDGJNJONEGGE@@:86=@?B@?BB@=@B1.306?;@DI}JzGnEi@gB_=X6W6R0N:K?K:H?I?DI:L4N0Q/N5S7]4e+q&t(w%{%&# #&%&#{vteb^][XVX^hcc{`hcjgrgwjqvyyvrt{~ !(+*?CKIUPXU\_kbngsnukvnu}{qnf_XRIDC><7/-+*+(/2440-/*%& % ## 9@GO   mpz{{rmcX!S#L!J!G(:(8&6(3)1)&-2:?AB<2+(5?BFGLLNPVVXUuSsQwNzNKKLIKIKIL|IzFxFwKzLxNrNnPiU^VAS/L'I*D*<,7*A*FFSSUXSLA+($08AGSXbgsyyts}tibZSIG?8.)&!~!()()(#JHC971-67;<@EHTUU^|_k_hZfWcUaW[WQ\L\HZCY.U.O*M%H%J$M$O)R)RHK P PRUYZ__Z^Z\^is x "$,.1.%" $.4>>@B@;6//11'  {zzxvxusllklkifbfgklnpsv{  z pki ikkdgd ifdkquuslkdl!'')'))+,,013010100.0,.351}.n0d.W1S0S,K+H,D,A.>+<+9)7+5)2'2'/+0)'')&''+&!!"!#!        rbEETJED??D1,,1"3".)!)$' &$&}}wpd_"W,R5O;O=R?W@YDPDKEKEOERBTDUQOXJ[H^J`H^F`@e<j2o-q'yy||~|y{~ww||||{wyw{|{{wvvqoqj~jvgthxetcb`SL+I#JIDD@88 5 51)'$!  )03:=<A?=<==?=5.-& "'+ 0 6BINONJLNQT`t##$? @ ? : = : : 5 6 , + ' ' $ !                     ) 1 6 ; ?  u⁦ l k i s s z | | y t q o m l o q o v {    x u| ~ | { y w r q o m l e c c j m t v m c ` ^ [ X V Y X N N L G E G G E D E G G J I J N Q O J J N N Q T S Q Y ^ ^ b e g j j o o q t v y |  t { ~                     ~ | { |   { { t j c ] b b g h j l g g m m o m o r q t t r m m j l q q t v v w y r t        ( - 0 9 D D C A C C > ? > : 9 0 / : : > ? > < : < A A ? > 7 -        ၄     l l k f d \ X W R N I F D H F ? 5 !   & ( * + / 0 5 7 < A D H K R S U Z \ _ b d l l s          l 'i 0f 1f 5b 8b Bf Gl Ln Lp Is Lx Nv Qq Sq Vl en hp lp yn |q p u p k g k g yf ja VX BZ =_ 5l &n &l '76799;<;>8@=ACFGHRKTE[AaFmOtTuUzT|Ez1m1`-\/^,O/@,9-8186476hmtojfc`[YWYW TVY[acfhE[ae^[\WWTE>;>E    ",1386643343386699====>9889964)'$$"$'*,*'"߁|wuppmd_acfimsmikmmpnmnprwVY]`geelljje`^^``YVSQOGGGGDBBELOVhmtvw~~wvtwtrrqorqmlhzwpddhkprsrikik|m}kmnszpxrwpumrmdpardsaz^_^POKOi}}zH偄O}O}HE}E|Ex<|7|2z6x7u4w"}  }xur"r2p9rJnMmTmPiZfZfHfAd<f2k-i%i-f,f/c/c7_4c@aM\O^T\Y\_ZaU_UiTkOfKkJkHsCmAr@CJMQY `k   z tyt p a^aYQR[aemtoo!k"k$u&y$y!w|~"z"!     "  #'(,147<>@JPU ^ dfu "$"%*/.8;>CGJEGCBGOOJJVTWzVxTzQxMwLxCs9i6d>a4d.i/h,d*a,\*Z,W1U6T6R;O=HJ@JA6>;;;7>7C2C/H1@/@,J(L'H(C(>';%3(3(/'. /466364.,** %"o2]ESR@Z@WJTLPJHDA@;;7591>.F._&fkr !DIQV|||yttml^[VTO;=;6, YRP<71      yrt~~~|{yvyvomjhgjtvtrogcbb`b`^^^ceeccglgcjjgbb^[YXXTSNQS[b[SOLJQ{QvTuYu[sYqTsOnNiQfSa]a^]`\cah]l]h\c_b\`\]_S][ZO\NWOSLZJZIRIKL>Q<S>S?]9e/q(v*w({&+*((/??:?DACHDA?:70-*(*++/-**+**/049<C<4/25>CHPSUak:$;*;.;3:631.,.*+)*)'* , /,,)   $'+,,01353535588 68:$o[g[eV`Q`L^H^GY@[;^;^>jLmVlWmYo[)聰*/8899EE>=JLMOQWY[[ch\T\accejjhkjmorpruwz~~ytmk`\YWOQ`mtytp^\^jjcYROVawz~utukhfeca[Y^VQMLQJLJ=CG@94.*)聦!)0583-(#!&$-..038<<AB?GAB<<75<B`eeiolo_UUPLIVnoodbgosi[]U=BI?5<AF.&   B܁B88;DJLNLJNOS]]ehllhgge]TTJDBDGIJNT`elt{|wyvywyoghc``XXT TO N I B1܁36;BLLLLJE;1            5780+)()(##!                     !!!!!$$!!#$&&)))+-+-0..337.-3<:-+$&(-))+)()++032.-02<=:88<DFQQSVSQSQVVUVXSPQPFDDDB?=:<87877583527770.+(&($#!           !!##!    !!#$()+.0527:775``_`_`Z[[ZVVVUSNKIGBABGLGBADFFIGKLNPQQSXVXZZVXVSUSSPQQVSPQNLLPPKGFIIKNPQPQUSSQUPNNIKFDFGKNKKKLNNQVSPPLNIGDGGBDFDDBABA??777<:8<==A?<=?=?ABDFDGILLPLIIFFGIIKKPNPNBBIGKPSUVUUQSZQQQSPPNQUVQKIKPQUUXVUSZX[[ZVZXX[]]`]]___VX]Z[`Z[__bbdeijjllniotqostyvvliggjeb``]]]`bebbdbbd` 傉            "# ,144664611,','#  rm c\+J=GFBK@N@PEXCbEgHoGqGsJvLGEELMR\cfomoru| %*1<CHMOOTkpw $.38EGN OV[-[2]5[=]QYZXlVqVvONOOJEIILLOOSS[XT V(T,S/N/I6I/L-Q,Q"TSNLID @?;6:EDB?;686@B@EIIEEN{OnXXXQX?X8V5V+T(V#NI E@60+zshihaYH9(% zuhWTTOOL{QxOsMqJnLjLiMeM`M_M]HXJKE?H:M7L-LY[afmr'"! .(0.:8BA:D1D.G$NU[ b e l nv{{~|unkhcca\ZUJFEE<921  "    "**/17<><><61**,*-,*--,11}6}7;EJUZ^^_mp| %**,1;<>AA@77@EFJJKR TTW ^^cdkrswz&|'}$+66??=;=?B??GDEGIJLGLIILNQ[[XX[``echcghjor    !(-4:CPUbn{zra\ZYUPPORMPOOJJE FCH)F/<3;@9L/J'M"LLJMLM W`a^WVTQQMROOOLJLQOMOQQQQQRTRVRRTRTRVVVWVVW~^{\x^s^o[o\lYi\g[b\_`]`ZfZr`w]|__d__`]]`ggdbiigjigd`gd]gb_[Z[XVZ PNLIIGLIG!N&S)U+Z-[-b2gKLLLPPUQZU_VdXi[n]s`xb}egjlnvtoqqstvxy{}~t x xttono s/`6S9D>:@3C0\-d)m+z().55872.+&! ~~~||||zzzyuroj f c`[Wj6eDhJmNmQkQmToXm^jchjcrcv`~afjfhaaWTLGG@>1.))%$  {zvuqkidb__ ]]W M C ?:54-+%! !!     !!(+497:<?DFAADMPSX\biknkgfklsuvz~|y{wtvwttv{{~|{rvvqqotv|~{{'~,{/{4w8q4j3h.h,e)c)^,[,V/V1T/O3N.L1J.E/B,5.0,.,')!)$ $"}nidcZZUTOJF<6%""%"}ysi)i.l.o3s8q=nBlCjCoGnHqJoJsQtOlHeC]=X9P4N/G*D*?'<%72+&#$),19@GGJLOORThWj[octfzkzk~mt~|ukfa\YYTQMGE@@=;1/.3466)%!"#)#1&6.4015/:,A/P1S6X8Z>_BbHnYth{mokjjoorw  ""#%%**/4266<>@>A<A>A@CEEC!E$E(J(J-F0K2M3J5H8J:K=JBODKFJITQWQYUZU^Ua[_ddedj_i_l\ncqat^vc{c_c^YRROPUWTPOMOORWZ_dkpuz $+05:@EJQV[`gjrty #*/49:9<:<<??CDAFFHI?C>>A?AFHMUWZ__dgkggkklklnkka^^YYUTWY\^_dhipsx}uzKM$K'I+K.N1P;ZEbSbb_gZhShIbCcAhFqKtSv\|]anqsquxz}}%(/<<A?A?!$,38EW[`huz#(/257:AKNyWhfelepeshvh{pzz}{}  .348=GOVVOG L TY^cc hkr w|~  ~zzyrkhe\WWTQOMEC@=;96/* {xvz!$&)&2258::AGKX[Z`dq}'*(*   ""#(-7;<J^aadhkprwx))+615@DGOV[`gmoty{w { "%38;=CECH\``jrtuy|zpm    z u p j e ` [ V O G@9 # # %&%*/-0442/(+*+-/7<>CDIRX_fnq{}unkvnugsbn_kU\PXIUCK*?+(! ~{trvyyvqjgwgrcj`hc{ch^XVX[]^betv{#&%&# #&{%w%t(q&e+]4S7N5Q/N0L4I:?D?I:H?K:K0N6R6W=XB_@gEiGnJzI}D@;?603.1B@=@BB?@B?@=68:@@EGGENOJNJGDB:85.,&&8BDDGGNQTX[]^bjlmjmb b ]]Y`hghmm|||"$'$%*%").13/6;=>>CEMMOQTVY\\\[[afjjmotrz|~~zywuuwu|zz|~~         ~{!$&&#&~&|$|&{(w&w-{..2~0{23775|5~7|7{5y5{8w:t7r7y=|=~B~?~DyBw=m<m8j7m:l<h8j=h=g=e?g?l=m?qAqBmBqFvGyI|G|KwNrNoLlFjFlGlIgGeDcDbFcFeFcK]IYGTGSISPVQXV^SbSeVgZl[l]h_l_mbmeldlbleqelgllhnhjgneobj`jbl`oeqjqltlsoxryo{l{hvgvet`t`q[t[s[v^t`x]{]}]{c}b~^]~^][XVSQ~OSTTOJ~NJLQTQNIIIGIJEIEDBB86655530+))'!!~~ "$))'&$               # 1 ;>CHRW^chhdhknnu}}  $,06@NQSTY]`mr||{~~wumkfZ#P0M4J7H?;D6K1R1U1\/]*k'p%q"qv{$'*/1489=@@@CCCEEJHJHHEGLMQRVVsWiWb[ZYX[P\LcKaFcD`Aa=^<^:^<\8^7\@=93/13/$ }zxpquxvv{{}xqkgffdggknqnnkikllikgddbaa_]_fb\dfgx_RNCF*4%/(      ~yvwy|{wtoje^G;:86.&|skf\RM@6/" {|y{v~l~UtSrPhI^8X5Q3S-Q+N$OJIEDBB;=:;??BE B8531+'" mjf[OEB>33/$      _ UT1 / , ' ,*',1--1 2$2%,"*"% # # %%               }{vxvngglgedb]]VXSNIBAADFB=:5.-) zvuvsg_|\zZoUfP`ITHTFQCO?L:H5E7@9@:C:=9>7;5;4C7J2J(E&B%>4/, )''*).3!3 1*'$$  !# %# ##           |trljhce h cb^^ ` b [TTN OJIE;:683,)'! s_xYsPpKnFlAi:74  xsos} /2 544"/%4 979<? ?#A-C6:69252414/7*5,+(*'((  "%*--1 -11469>CCFF@>9621/,**(*##% #       {{xvy}}{ytsytogN(~qg]B5'SD`NgNoFvIIGDGQUZXQPZZ_b`ge`ejlj g dde%y,}1}1,--*,-*,**16<><><71/**"    "  129<EEFJUZ\acchknu|~{{vnl e b [ UNG$D.D1A:8B.:(0. !"'"|yutuz~|wwtrfca\YV[\^`}^k^hcff_hOjHk>j6e(`\[\ ^ ` \\chkkopuyibVQPDB:0--.-2.03537BIP#S)Q0KDISDQ(SeRvqV!AI8I0K&KGILGIILN PZVX[Z[_bg]dg`dgijgiibdgg`]]`__d_|_w]r`fZ`Z`]\_[b\gYi\l[o^o^s\x^{W~VVWVVVRTRTRRVRTRQQQQQOMOQLJLOOORMQQTVW^a`WM LMJLLM"J'L/@93;/<)FHC FEJJOOPMROPPUYZ\arz{nbUPC:4-(!wywwp{ivZqWjWjOcMcH[KXJTJQHOAI;G7L/Q-S*S#TVTO NE:=EGEBBJJIDDEIINO~TtVnYZXQYAX7X&T[beghm!o#m$r&v)w({(|.388557<<?AFDGBDFBGGNILNPV[egbbgeljsoosxy{~}{ x%s*q/i4e4Z7X7S:P:LCBA?>:<7?5K+M#NRR\addlp}tkc[WROLH;4,) "  $%)),/348;@BBEHJOQ| |16|=|GuMxRwWs^uaskhfc^^F>97<AA9*%% %-'!(##&"(#)-+7398<<9A9B4K*N,S1g@iEjEt9x/,%     *6>@EJJRRWYZ^dnxz    #',',116466441, #"       "'+.18:=?GNOVbeg o t|    % '""#(*,,-P"%""%6<FJOTUZZcdin}"$$ ))!,',..0,5/B.E1J.L3N/O1T/V,V,[)^)c,e.h3h4j8q4w/{,{'~{{~|vtoqqvvr{|~{{vttwvtw{y|~zvuslkfgknkib\XSPMDAAFD?<:794+(!!    ! !! %+-45: ? C MW] ]__bdikquvz{  $%)).1>@GGLTWaahfjf~av`rcjcch^jXmToQmQkNmJmDh6ejW[` c fjoruyzzz||||~~~ !&+.27855.)z(m+d)\-C0@3>:9D6S/` sonott x xt~}{yxvtsqqotvnljg}exbs`n]i[dX_VZUUQPPLLKL2g-b-[+Z)U&S!NG&K0K8IAIV!qveRS(QQVY{[zhvh ehha^YWQOE>4/*' '1=BCLRWV[\`^m`b^`\QaJo?p5u5y0~$~!j``\TRTQEB=844' 僬   E像E#-79::<:55:5-z+p-k7k?cX`_[kGnGxMCGGOGHBGGOMootkjtt|$,8;>@GYhrtuyzz~ #&+03577:<BGL&N&V#Z[n nssqtv(.-07:550 "#'(*2CPUZ^chmu| !&)685?BDBBLNTVXXV^hlo| --7:?KNQPSVULGBDB!D%AF2N3R8U7]:a8f3n0v7}78<85058572277:=?=AKLNQXbb`bginnqtx}~~~"%}.y/}1~4{6s8o;o@s@{EVhjmp~ (+5BFGIPQV]`djnstx{}{}yxsnoqossy{~ #%" "(269<@@K^adfiu  +.38? E JOX]hj"j*e1c6j9m>mEoKoPvP|TRE;67FH>99447*>/A-F/M0M9F?ECAFCF>I9N7S7]>d@dAbAbEgEnJnRxW '448=BEQTRT\``j~!~$y0u5p5o?aJ\Q^``b^m`\[VWRLCB=1' '*/4>EOQWY^ahheh hv[zY{VQQOJHEBB@;843/,))%$  " ),4;HLORW[ckt}pldda\RRNM#K+?5<7>:A?CB:L:P7S7X4Z4e/i*q%s x{}~{yxsoosjlegbbge[VPNLINGGBFDBGDFA?<<755883|.{(w(v)r&m$o#m!hgeb[TX&X7YAXQYZVnTtO~NIIEDDIJJBBEGE=:ENO TVTS#S*Q-L/G7I;OAQHTJXJ[KcHcMjOjWqWvZ{iwpyww    rojhgchce``[XX[[QNLIILGLJIGEDG??B?=;=??66+$'}&|zwsrkdc^ ^WT TRKJJFE@77@AA><;1,**% |pm_^^ZUJE;76}1},}%yed d gjlje`eg`b_ZZPQXZUQGDGIvIoFgN`NSDNBGB.F&KIID0-.-.&#!)+-+222-#($()-~3u8mFhXe_ajTOE4*%kd]SK9*% y j g_I8- ztmh`YRLE=*$qmoromj[TNJIB1.)'!!$$!! xsaMD<     }xmmmkmnmmsux|}} x*Z*P%K%FAA@AFJUYZ\\afdaYWUPMHE;;7694,% |{||~|~{{~wvwvomh^XVT}Tvgtetbo`nbn^j`i[jXgXjQjJnGlDjEj=o6o$iid`] _ZXXVSP<7.## "'.8BGOOS~SmQWDWBW6R,Q&MMMLT5V;T@RDJEGNELCNCIE@C;>?;=6B611,.+'$  qil\lOqF{<;1/'//6}4{-{zv xzx-z6x9q<kKiKdFZRD>-   ,<HJE1僓1111111111111111111111 1121"2'2.23282?2D2I2O2T2Y2^2e2j2o2]ESR@Z@WJTLPJHDA@;;7591>.F._&fkr !DIQV|||yttml^[VTO;=;6, YRP<71-%' lj`_[UVgsyyqinl`]VLL[KIKA?DDID?=?A<:72.&&0+)-&###     ##!37<7BGGKIV[_dej``Z[_diben{{ytvobVQNVNKl     '+,'$!!$'}){5x={J{QLGJNVXYV]`bc~ghgc]]^bcgq{~~ollo ovy"o2j2e2^2Y2T2O2I2D2?28232.2'2"2121 111111111111111111111111E僊CA>6% {|{voqjtjqovosmnjnljhdh`j`h[gXhSgSeXbXb_^VYUVPTVOX?P8I.I'F!FK IFF?( $',3313+&$&"!"$&056563+68;=??B#I)O-X7[8`2b!gb^]QNLE@?@EGIEGEDDDE==:6::865:65863101+''','$"""$$&&''0u1o5f8e;^=^8o;r;8850.13::==?B?@=BJINTX[~ejc`]Y`]`[Y^bejlqommqqlllq qww{y|{vrrov{{~|wy{|y|~qj~h~hrvrqoec``]]zVSLE~GzEyBoEjImJhEfBjBhDcD\GWJVLONTLYOWO[S\OeScSeTeVjXfT`Y^XY[V]L^E`CbM^MbRbV^V`Ybeccc^h^hahcofomwow|{p|r~w|{|~u~ohhe~jwkqemam\o[v^tYyTqTqOmMoJlJlEg@g>e>g;g8l9m@qCo9t8v=w=w>yBwE{E|>~CCJGHGB9;=@C>CB==438=>CGMHJ\efkor~~ytuy~wttocaafmwypt~~~wkjjee`^efot|zwpouwthjuomkeaa^\V[^``\VREBC>B;=@BGJMQTLOJLGHC@HMEE@;6/,*4/""*$ ""'*/4=>@=@;9;@B;834..38696463/1"     ! ! '',.!)%$(*&.%3(.//4.517=5B2C0G5G5M7G9C:;?4C4H@PCPBH;F3C/7,4)+*("%%+ -/04 0 / :ACHIA > >C D FH CA$C$FKHM RSSPPMMPX]]SSUWXZ_]b_adbdgnnilppnpkggdb_]a a\Z%\%abbdbdb dglppz}{v xuuq"p$v"vx$ "}{}  $*1481/'$  "' ))         ""   "$)*,38;=889>@BEBB;,.)* *,/14=>@@==>;=$;'6%=/;14,8/4>1B*@*B'E,G.J.M.R*Y.Y1`8a9`3^/V4L;B@BB;C=H;J=HCEEBJ@QBY@fC[CMEHGGLJMGLCM>TEV6\3e;e6j6k9m4o4h/f3c3\.V.OQTWTWVVWWYYVWWY\cca^afkmfmmkjfhhca^a[YYYY\`aaa cefefh ohjhmomtuuwwzwuy     xxssuz}zzsqlnsu{}       '%$'//* $),.3/1>LECGLRYVQO>@=88;=;>;; 9 @>BHEC&R(V(e)j+^.[)Q$MB?HBQ?RFTGYD\K\NfLjIjBtBy?z==ABDFBFwPjSaP\NYPOSMXOXY]^`[d[dWiTnVq[oeqpy|yjkorpkf``afffjmpooruuz|~|ww|y p tt',142-,2<CKRTZ_fffa_dhmprzzz}kiksz}wwrwrokhTRROHB1388CJEE@4/**%'%""  "'!'")&.,16.6/G1J4N3S6T9T;]9b4g9g@h@lHqMqQqRhThVmWtT{V~TVYYccfcfehefccWQQHGHJ HM#O5G?>C9H;P8X@]@b@g9k8p;z=}BxGvMsOxa}hkjmmmhkmopmoprtty~|~ $/1=CJ`jmw  # (2 38:?LPVZ]_dl    %//,* -114766;@HK!O!O&R(Y(\$c#k$n(u#&#!&($)).3253 578::"<&<,?1A3A0D1I6L=LDPOISKVK[I^IbGgIjKgNgPoSoVrVtZV]]_bdbdbiiegeeeiigbb_bbdgig j n qtx{(}/y2vF^^cfkhas^uWsRwMxGu=|6|1 ||xWnRnJgEbEbAdAd@]>S7N7I9F>FCCA?E9F0M/M-F/A*>74499>HF76;ER|TvPoPoKmEm>j9c6e1j*j"h]XOJE ? 83.+  uifda^K@@<962(" "%# ~{yssoqonsxy}{}{xtsnjd`]VQPIGFB5+( ~pmjhVE@{@s;o8o6s4{1~/}.y%}"~~~}xtqnnigb`bbXQNLKA=?=:77227585058<8}7v7n0f3a8]:U7R8N3F2%A!DBDBGLUVSPQNK?:7-- |olh^VXXVTNLBBDB?586)&! |umhc^ZUPC2*('#" 055:70-.(vtqssnn [ZV#N&L&GB<:77530+&# ~zzyutrhYG@>;8,$|ttjktooMOGGBHGOGGCxMnGkG_[X`?c7k-k+p-z5:55:<::97-#EE ').14898;@HJQYahjkkz~ +2<BA?:2-)&)1(3&6(8(:!G!J#L!SXcmr{{|yutrj``\HCEC=;83%"  {w{ytomg`[VOGD@516+)) "')./34999=>EHLROROMQOOQ{Ry[}`{etjsoiwg~d]VSQU]]`id``ioqx  $(+ALSXUSSFFA*7*<,D*I*L'S/VAU^PiNnNrLxKzFwFxIzL|IKIKILKKNNzQwSsUuXVVPNLLGFB?5( ~zkkjhaYQJH@;89841.)' xwrpkhdaa^J<;7-(#""   *(*'GSV dejj o s"vy%%*,3646;BJQ[ehkmttkhc^[RQVVROOLHJORVWV\mowy"##-167;@UTHE@<;76-179CHJEA><9742/,*'#   ()()(!~!&).8?GISZbit}styysgbXSGA80$  xqoi``di`]]UQSV]~dwgoijset`{[}RyQ{OOQMORORLHE>=99943/.)'" }qd`Z[XKGA::8522&)&$!zvx{ */69;=@CEMOQTWW\ehkryzz~  ~| wrk hcc^Y T LGz僀  EGJLTY^mtuuy|}|} $().8BLX[`dgllstxszoxnslmnajWiPjCi;i6e1jjnlb`dgd}tqojdb][ZPNNIDA720))(#  #%*9@EH_~~|hWVW[^`cfkruz|~~)?BGOTX[][$##t`TQNLJNONIB60 + '" &-.5=?==<=?A<=:30) ! $')155 8 8@DDIJI#L+`Scbethxgtjvj~qoqvvw{{|{wyw{||||ww~{y|~||yyq'o-j2e<`@^F`H^J[HXJQODUBTEREOEKDKDP@Y?W=R;O5O,R"W_dpw}}&$&' $))!"."31,,1D??DEJTEEbr        !#!"!!&+''&)'')0+'/'2)2+5)7+9+<.>,A,D+H,K0S1S.W0d.n1}53.,0.001010310,,+))')''!ldklsuuqkdf idgdkk iik pz  {vspnlkgfbfiklkllsuxvxzz{  '11//6;@B@>>4.$ "%.1.,$"x s i^\Z^Z__ZYURPP K HRR)O)M$J$H%M%O*U.Y.ZC\H\LWQW[UaWcZf_h_k^|U@;761-##"ywom\VWVROJHLOORVVQR[^chkttmkhe[QJB;6463,*%%yvs"o j jedV SGOVVOG=843.  }{}zzph{hvesepelhfyWNKA:752/(#zuh`[WE83,$!?A?A<</(%}}zxuqsqna]\|SvKtFqAhCcIbShZh_gbbbSZEP;N1K.I+K'M$Kz6ე130+!),03=BIJNQLNNLJIEGEEGEDEDDIGGJLOQSY[^eoqrrtv|        $% %')*,**,)1/19=>BBEEJLMQORMLMOTVTY[`\\\^^`aaccceefjmmooorrttrwuuuwy|~|~  !#&&$$&(.02202558=BNZX]jovqoq{~~ *46;;<HMOOPU\_acc_ZTOJE;9;774242211-*,--**(%%##(*(2<AHKPWUW^d knsw%z%}0557<?DDHNWXdda_bdgipuzxulquuxzz{}qnluvxxz}{{!$'',0110.0353388?BITVYVTLJJLIIB@=@?@@;66;833658;:33;=EITXchll o l omomooj$g,g/g9gVj`ofrhvmyrz  +..883&$[][XTOGB?)~~|zurkfc`^[WVWh|~~_HE@9*%#  #())027ADINNPZ[]bdjoqt}dgd`blnjje1i6i;jCiPjWnalmnsoxszxtsllgd`[XLB8.)($ }|}|yuutm^YTLJGE  zu}xspihd_^\YWTUYY^^akknlklkkggkgd__ZWUMHFA?A>>C?IHFFADC??<<:<9:94/*# ytrjg`[VQJE@:50+$ zupkd_Zfiw}}tnjd`{ x sn l gebbU"N"I$B"ABA=7530+&$!"&'&+&     ~zwutrmk"h&h+m0p;kBkIjNhQcNaO\LYOTOQSMXG^GcLlJrBvCyB|B~>=3/.,'"uid _W#K%I#D&D(A(:-2-0*-(((  &#&*/5>AACAHKRUURRSXWZ\~drgqkexYzSxO{O{LLIDB6tg_VQLIB<: 30&!4;>@@ FJMRWYZ^afhmsu|}ojhe^\Q>61)  "'+.;f@_D]EWOUSPYR]KbHcDgAhDqCr>w<y5v5w4~24420+((+0225<><4   %*5:>ADHIMS\agkqz}~| tvro"q%m,o8g>bM^Q`R][[[VaSeTjTjOeNeLhLkJmNpOtLuG|G~DEE;;=;3),,&$ )28<FIP[iq}rcROJJMPRW^dhiaTOHJJR TPJF,9/;9>@;C>J@R@WCZHdPfUu^|ikn|wurnrrkhc\Z\\JEA@ACHHRTRRJHHE@@AEE<<94    !$&.",%,,02:6D9E@EEJFEPEUIcLfOrQxS^`ccgmooqwvrr|~ +Ieze{{vu"',./3=~>|ByBvCrBlJcL^GXGSMOQOTLYO\NaQcNhIjBk;k0p+m&h"hkmrtuwz~     &+&'&"!$&+0357=AB"A$B"I"NUbbe g ln s x{`djn}t}wifZWROOMOPTWUPORRY^c_cc{^vatcq\n_l_idjde_da[^UZUYUWQTQJIKFODJBK=J:H8J5M3K2F0J-J(E(E$C!EEC@A>A<A>@><6624/**%%#""  wroojjko{mthnYbH_BZ>X8S6P1A/:,5/01.4&6#1#)"!%)6643./1;=@@EGMQTYY\afku|~tmk~kzfzct[oWjThROOLJGG@91,)$#&+2%7'<*?*D/G4N9P=XC]HeOlQtJsJoHqGnCoCjBl=n8q3s.o.l)iisy}P-,,*(#"" '%    |to g ebVONG?=:81.+'"                 zxnd^ZYWRRJJE@>6* "'+.0356500."   |wrhda$\'Z$d+r1u;s=w?wOs`kekgnlnmrvr{uhddhmpsz}## %+05:?ADMSSWW_dZXSWZbdkklqzv"p&s)z){+{,{016101556BDIL{L{OxOzSxYkegqdr\~ZWXSRRUURKHACAA>5/*&#&  (((*--0-2(:(A&D#D%I#KW _diuuv{e{ez+I ~|rrvwqoomgcc`^xSrQfOcLUIPEFEEJ@E9E6D2:,0%,",.&$ !   49<<EEA@@EHHJRRTRHHCA@AEJ\\Z\chkrrnruw|#߃*49;;@EJKO_imprrsx}}|}} }     xn*n6m;nOs_xhxmu'&!$&)..156:;=@BGILQTXY^t}xxpssnmmihfacca_\UPOOMH<;;64* |ywwvtttlleb^"^%](]*`'`%g*o/q2q9j9m;m<m>o;q;t>vAvH{F|C|@9469741/,*,-,-/1147;HJO~P~RU|W|U{T|R~O|JOyKvHvFqHoJtKtOrRtUrTqPrKqMmOqRoPoKlKjPhMgJcUbW`T^ObKbHcAbC^F[M[JYMVRXWTYSYX\T_VaOcOcLfJiLmJkJhJhIfGiEm?p=u:s:p5z.!"&!}zzxxxuwuspmfd_\\ZUTPMH>>@<6("xifcdhhdd_a^WY\\WYY T UZZWWTPTRJHHFHFFJ KJFFCFEEHHJF>962/',# # "#    %"#%''21/,- 2472647/126467;>>AAA>@AA><>@CC@@@<;@<;7,'"#^__^tucnak-4.32/data/zoomin32.png0000644000175000017500000000404312055104352012745 00000000000000PNG  IHDR szzbKGD pHYs  tIME  !uIDATXý[lT>a3v/8[ <FM%R*PT+//$!JK FMƮdxf<3 3sfVb"Ѹ9[:k =jllád-[L۽{7Lӄ\.dbb2Oyk۶mO@ A6G_McВJx|n.ݑl>%2ȤgJE-[GZ[[.8s:tT*nߴip:42S*_P*3;K߼5bd$ KLAR22{v}Ϟ=oNOOk ZSS$}~&?a5) D)n~X^)SA^B@EݿydEC%sʕ+[9W@ z\>&rMT! թ@Տ?nz~eUUsޛv|Li#"^,BHjR:r&˭"8yi0D7LJ bF'jk\ҝeRqJݺU?^& }LK|F.| Gt ѣGbB{v1.J9 ۣ )SNU"aBxӉx"Dӧ?, rsuy\\)+irʣlNcn!YHTn1“hp!?}ygMbK RRn[* tLr-< ƅ7/v5Ν;I)]Б_3'Nxo쫯8s͒ ? \ q5+t &eK={ZooG Rx+4 #?<<|``iri!H,!Mۘ)T 8EjIslv9ZVA!\Q]T(PJ\.xW_-Kv]Rԩ׊+JJVvwwsމ?q=%b7PaXt]=[D:ڴi;k׬YR w9B#S`KKkg"d2E~s'wݿ+|&(88硉k5wFL&ΝXVVuH?c"!X(666vDg0#7%%%]G0\QJ_8@1D5533H̑ft]°BQJ_ }t8dsY^]R)M\@J\.WZ\h !B(@"4ͽ~y7H4G1N!j=5;TQIENDB`tucnak-4.32/data/zoomout32.png0000644000175000017500000000364212055104352013152 00000000000000PNG  IHDR szzbKGD pHYs  tIME  8_xv/IDATXý]lTϹsۻ .uB[chB% JjၗJK$J<@"Y8Dm,EMR . Z5 gwYc{wk{ܙ9}Apg~̙v^Z۷o O8N( 02yӧv"|>ѣ`Sap\_{x|o"ȗ'NpB&,p8<;00`]fMǮ]ܹsƦ'ziY?WOyAJbsO(R/9^'ONҡCUUUk_/JD))QC; i"Jv-{6oڴr2T.(g=Hta#DD%@\"BHARC_Y[[wr4ło744Ϧҟt%PIZPJ3(!!Sr+ [6?>G ({ RrԩUUU4\[ %( )0 TSȢD, )P$Yl6FWrc7nܘRR>7.߮onjKQ)t:GDRDTY]]u`I ---i^U6-Yjs2ռ^/( Nܼy_&&&FVZc;Z[[!zp~}mP, s0u]!DyOd^nRJaH$2ӈ%"[]P59UU';vD^ܓ/䇍RXFO-qr =NsOw$' ܳt-Ş|>7\* 8)jyANDžt" u)dݻ{97 Nih4y9d2{wn߾5@qAJeŢޙJq˖TYYwc@DǦH}}CJ1j'RB(kX0bsɹLv7l@V/R!0JF,DnOo*Elj (:CF,EGo&Bk x,z~!T\ZM[⛈ ӹ4Mㄯ¶쨥nMUxZIENDB`tucnak-4.32/data/tucnakwiz0000644000175000017500000003036414125266427012542 00000000000000[Region I Standard Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=ABCEGHIJKLMNOPQ [Region I Std test 59 expert] pexch= tttype=3 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=0 excbonu=0 excmult=0 exccfm=0 exctype=0 excname= rstused=1 defrstr=1 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=CEGHIJKLMN [I. subregionalni zavod] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=CEGHIJKLMN [II. subregionalni zavod] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=CEGHIJKLMN [Microwave contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=GHIJKLMN [III. subregionalni zavod] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=CEGHIJKLMN [IARU Region I. VHF Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=C [IARU Region I. UHF Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=EGHIJKLMN [Marconi memorial/A1 Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=C [OK VHF Activity Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=1 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=4 total_method=1 bands=CEGHIJKLMN [FM pohar] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=4 total_method=1 bands=CEGHIJKLMN [OK Easter Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=CEGHIJKLMN [OK X-MAS Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=C [AGCW VHF/UHF Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=1 excbonu=0 excmult=0 exccfm=1 exctype=2 excname=AGCW rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=CE [RSGB M1-type Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=1 excbonu=0 excmult=1 exccfm=1 exctype=2 excname=RSGBDC rstused=1 defrstr=0 dxcbonu=0 dxcmult=1 qsop_method=12 total_method=2 bands=BC [RSGB M2-type Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=1 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=0 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=2 total_method=1 bands=ABCEG [RSGB M3-type Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=1 wwlcfm=1 excused=1 excbonu=0 excmult=1 exccfm=1 exctype=2 excname=RSGBDC rstused=1 defrstr=0 dxcbonu=0 dxcmult=1 qsop_method=12 total_method=2 bands=ACE [RSGB M4-type Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=1 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=0 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=1 qsop_method=2 total_method=2 bands=ABCEK [RSGB M5-type Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=1 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=0 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=17 total_method=2 bands=ABCEK [SSB Liga] pexch= rstused=1 tttype=2 qsoused=0 wwlused=0 qsomult=1 qsoglob=1 qsop_method=1 wwlbonu=0 wwlmult=0 dxcbonu=0 dxcmult=0 excbonu=0 excmult=1 total_method=1 excused=1 exctype=2 excname=OKRES exccfm=0 defrstr=1 bands=V [SOTA/GMA/FF] pexch= tttype=2 qsoused=0 qsomult=0 qsoglob=1 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=2 excbonu=0 excmult=10 exccfm=0 exctype=0 excname=summit ref rstused=1 defrstr=1 dxcbonu=0 dxcmult=0 qsop_method=21 total_method=4 bands=WXACE [CQ WW DX Contest] pexch= tttype=4 qsoused=0 qsomult=1 qsoglob=1 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=1 excbonu=0 excmult=1 exccfm=0 exctype=3 excname=WAZ rstused=1 defrstr=1 dxcbonu=0 dxcmult=1 qsop_method=13 total_method=3 bands=UVWXYZ [CQ WW WPX Contest] pexch= tttype=3 qsoused=1 qsomult=1 qsoglob=1 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=0 exctype=0 excname= rstused=1 defrstr=1 dxcbonu=0 prefmult=1 qsop_method=14 total_method=3 bands=UVWXYZ [UKSMG Summer Contest] pexch= tttype=4 qsoused=2 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 excused=1 excbonu=0 excmult=0 exccfm=0 exctype=1 excname=SUMMER excmult=1 rstused=1 defrstr=0 dxcmult=0 qsop_method=12 total_method=1 bands=A [ARRL VHF Contest] pexch= tttype=3 qsoused=0 qsomult=0 qsoglob=1 wwlused=3 wwlbonu=0 wwlmult=1 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=0 exctype=0 excname= rstused=0 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=15 total_method=4 bands=ABCDEFGHIJKLMNOPQ [ARRL Internat. DX Contest] pexch= tttype=2 qsoused=0 qsomult=3 qsoglob=1 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=1 excbonu=0 excmult=1 exccfm=0 exctype=2 excname=USACA rstused=1 defrstr=1 dxcbonu=0 dxcmult=0 qsop_method=2 total_method=3 bands=UVWXYZ [Championat de France THF] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=16 total_method=1 bands=CEGHIJKLMNOPQ [OK-OM DX Contest - OK stn.] pexch= rstused=1 tttype=3 qsoused=1 wwlused=0 qsomult=1 qsoglob=1 qsop_method=14 wwlbonu=0 wwlmult=0 dxcbonu=0 dxcmult=0 excbonu=0 excmult=1 total_method=3 excused=2 exctype=0 excname=OKRES exccfm=1 defrstr=1 bands=UVWXYZ [Nordic Activity Contest] pexch= tttype=1 qsoused=2 qsomult=1 qsomult_h=4 qsomult_i=9 qsomult_j=16 qsomult_k=25 qsomult_l=36 qsomult_m=49 qsomult_n=64 qsomult_o=81 qsomult_p=100 qsomult_q=121 qsoglob=0 wwlused=1 wwlbonu=500 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=ABCEGHIJKLKMNOPQZ [DARC 10m Contest] pexch= tttype=1 qsoused=1 qsomult=0 qsoglob=0 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=1 excbonu=0 excmult=1 exccfm=0 exctype=5 excname=DOK rstused=1 defrstr=0 dxcbonu=0 dxcmult=1 qsop_method=21 total_method=1 bands=Z [DARC 2m Education Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=1 qsop_method=1 total_method=1 bands=C [DARC Easter Contest] pexch= tttype=1 qsoused=0 qsomult=1 qsoglob=0 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=2 excbonu=0 excmult=1 exccfm=1 exctype=5 excname=DOK rstused=1 defrstr=0 dxcbonu=0 dxcmult=1 prefmult=1 qsop_method=1 total_method=3 bands=VW [DARC Koeln-Aachen-Contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=1 exccfm=1 exctype=2 excname=KAC rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=2 total_method=1 bands=CEVZ [DARC VHF,UHF,Microwave] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=2 excbonu=0 excmult=0 exccfm=1 exctype=2 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=ABCEGHIJKLKMNOPQZ [Westphalia-North Activity] pexch= tttype=2 qsoused=2 qsomult=1 qsoglob=1 wwlused=2 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=2 excbonu=0 excmult=1 exccfm=1 exctype=5 excname=WNA rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=19 total_method=4 bands=CE [Westphalia-South Activity] pexch= tttype=2 qsoused=2 qsomult=1 qsoglob=1 wwlused=2 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=2 excbonu=0 excmult=1 exccfm=1 exctype=5 excname=WSA rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=19 total_method=4 bands=CE [R-Contest] pexch= tttype=2 qsoused=2 qsomult=1 qsoglob=1 wwlused=2 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=2 excbonu=0 excmult=1 exccfm=1 exctype=5 excname=RCONT rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=21 total_method=4 bands=CEG [Ruhrgebiets Contest] pexch= tttype=2 qsoused=2 qsomult=1 qsoglob=1 wwlused=2 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=2 excbonu=0 excmult=1 exccfm=1 exctype=5 excname=LCONT rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=21 total_method=4 bands=CEVW [ON Contest, UBA Section MCL (Mechelen)] pexch= tttype=3 qsoused=1 qsomult=3 qsoglob=1 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=1 excbonu=0 excmult=1 exccfm=1 exctype=2 excname=uba rstused=1 defrstr=1 dxcbonu=0 dxcmult=0 qsop_method=2 total_method=1 bands=ACV [Contest Lombardia] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 prefmult=1 qsop_method=20 total_method=1 bands=C [Moon contest] pexch= tttype=1 qsoused=1 qsomult=1 qsoglob=0 wwlused=1 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=1 excbonu=0 excmult=0 exccfm=1 exctype=1 excname=QTH rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=22 total_method=1 bands=ACE [CUC contest] pexch= tttype=3 qsoused=1 qsomult=0 qsoglob=1 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=0 excused=0 excbonu=10 excmult=0 exccfm=0 exctype=0 excname=NR rstused=1 defrstr=1 dxcbonu=0 dxcmult=0 qsop_method=21 total_method=4 bands=VW [Paleni carodejnic] pexch=YL OHEN tttype=1 qsoused=2 qsomult=1 qsoglob=0 wwlused=2 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=2 excbonu=0 excmult=0 exccfm=1 exctype=1 excname=bonus rstused=1 defrstr=1 dxcbonu=0 dxcmult=0 qsop_method=2 total_method=1 bands=VC [ARI DX] pexch= tttype=3 qsoused=2 qsomult=1 qsoglob=1 wwlused=0 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=2 excbonu=0 excmult=1 exccfm=1 exctype=2 excname=ARI rstused=1 defrstr=1 dxcbonu=0 dxcmult=1 qsop_method=14 total_method=3 bands=UVWXYZ [Expedition] pexch= tttype=1 qsoused=0 qsomult=1 qsoglob=0 wwlused=2 wwlbonu=0 wwlmult=0 wwlcfm=1 excused=0 excbonu=0 excmult=0 exccfm=1 exctype=0 excname= rstused=1 defrstr=0 dxcbonu=0 dxcmult=0 qsop_method=1 total_method=1 bands=ABCEGHIJKLMNOPQUVWXYZ tucnak-4.32/data/tucnakdw0000644000175000017500000010117014000322112012305 00000000000000# 1th row - The official prefix of the DXCC # 2nd row - The list of WWL in the DXCC (separated by a gap). # Lists commence at the SW of the DXC (in most cases). # # 3rd row - The most effective WWL from JN69UO # - Criterion over-ridden to internationalise the file. # 3rd row - WWL/DXC defaults (where practical), additions and updates # G1OGY: 20191111 & 20201225 # # There is a free row between DXCC's # # The list of DXCC in 'tucnakdw.dat': # 1A 3A 4J 4L 4O 4U1I 4U1V 5B 9A 9H C3 CT3 CT CU DU DL E7 EA6 # EA8 EA9 EA EI ER ES EU F GD GI GJ GM GU GW G HB0 HB # HG HV IS IT9 I JW JX LA LX LY LZ OE OH0 OH OJ0 OK OM ON # OY OZ PA S5 SM SP SV5 SV9 SV TA T7 TF TK UA2 UR UA # YL YO YU Z3 ZA ZB # # # F4CIB added K & VE 9Y PJ2 PJ4 YV(partially) IH9 # G1OGY [Nov2019]: 1A correction, EA# call areas, EK, EL, SM# call areas. # [Dec2020]: JA# & VK# call areas, 3V, 3W, 3X, 5N, 5T, 5U, 5V, 6W, # 7O, 7X, 8P, 9G, 9K, 9L, 9N, 9Y, A4, A5, A6, A7, A9, # C5, D4, E3, E4, ET, FG, FM7, F08, HC, HH, HI, HK, HL, # HP, HR, HZ, J2, J3, J5, J6, J7, J8, JY, OD, P4, P5, # SO, ST, SU, TG, TI, TT, TU, TY, TZ, V3, VU, XE, XT, # YK, YN, YS, YV (completed), Z8, ZL # # `defaults` for DXCs # # Sovereign Military Order of Malta (Rome, Italy) 1A JN61 # Monaco 3A JN33 JN33RR # Tunisia 3V JM33 JM34 JM40 JM41 JM42 JM43 JM44 JM45 JM46 JM47 JM50 JM51 JM52 JM53 JM54 JM55 JM56 JM57 JM56 # Vietnam 3W OJ28 OJ29 OJ39 OK10 OK19 OK20 OK21 OK27 OK28 OK29 OK30 OK31 OK32 OK33 OK34 OK35 OK36 OK37 OK38 OK39 OL10 OL11 OL12 OL20 OL21 OL22 OL23 OL30 OL31 OL32 OL41 # Guinea 3X IJ29 IJ39 IJ48 IJ49 IJ57 IJ58 IJ59 IJ68 IJ69 IK20 IK21 IK30 IK31 IK32 IK40 IK41 IK42 IK50 IK51 IK52 IK60 # Azerbaijan 4J2 LM28 LM29 LM38 LM39 LM29 4J LM29 LM38 LM39 LM48 LM49 LN20 LN21 LN30 LN31 LN40 LN41 LN50 LN30 # Georgia 4L LN01 LN02 LN03 LN11 LN12 LN13 LN21 LN22 LN31 LN32 LN01 LN21 # Montenegro 4O JN91 JN92 JN93 KN02 KN03 JN92 # United Nations 4U1I JN36 4U1V JN88 # Israel 4X KM70 KM71 KM72 KM73 KL79 # Cyprus 5B KM64 KM65 KM74 KM75 # Nigeria 5N JJ16 JJ17 JJ18 JJ19 JJ24 JJ25 JJ26 JJ27 JJ28 JJ29 JJ34 JJ35 JJ36 JJ37 JJ38 JJ39 JJ44 JJ45 JJ46 JJ47 JJ48 JJ49 JJ56 JJ57 JJ58 JJ59 JJ67 JJ68 JJ69 JK10 JK11 JK12 JK20 JK21 JK22 JK23 JK30 JK31 JK32 JK33 JK40 JK41 JK42 JK43 JK50 JK51 JK52 JK53 JK60 JK61 JK62 JK63 JK71 JK72 JK73 JJ16 JJ39 # Mauritania 5T IK16 IK17 IK18 IK19 IK26 IK27 IK28 IK29 IK34 IK35 IK36 IK37 IK38 IK39 IK44 IK45 IK46 IK47 IK48 IK49 IK55 IK56 IK57 IK58 IK59 IK65 IK66 IK67 IK68 IK69 IK75 IK76 IK77 IK78 IK79 IL10 IL11 IL20 IL21 IL31 IL32 IL33 IL40 IL41 IL42 IL43 IL44 IL45 IL50 IL51 IL52 IL53 IL54 IL55 IL56 IL57 IL60 IL61 IL62 IL63 IL64 IL65 IL66 IL75 # Niger 5U JK02 JK03 JK04 JK05 JK11 JK12 JK13 JK14 JK15 JK22 JK23 JK24 JK25 JK26 JK27 JK28 JK29 JK33 JK34 JK35 JK36 JK37 JK38 JK39 JK42 JK43 JK44 JK45 JK46 JK47 JK48 JK49 JK53 JK54 JK55 JK56 JK57 JK58 JK59BJK63 JK64 JK65 JK66 JK67 JK68 JK69 JK75 JK76 JK77 JK78 JK78 JL30 JL31 JL40 JL41 JL50 JL51 JL52 JL53 JL60 JL61 JL62 JL63 JL70 JL71 JL72 JK13 # Togo 5V IK90 JJ06 JJ07 JJ08 JJ09 JK00 JK01 # Senegal 6W IK12 IK13 IK14 IK15 IK16 IK22 IK23 IK24 IK25 IK26 IK32 IK33 IK34 IK35 IK42 IK43 IK44 IK14 # Jamaica 6Y FK08 FK17 FK18 FK18 # Yemen 7O LK12 LK13 LK14 LK15 LK16 LK17 LK22 LK23 LK24 LK25 LK26 LK27 LK33 LK34 LK35 LK36 LK37 LK43 LK44 LK45 LK46 LK47 LK48 LK54 LK55 LK56 LK57 LK58 LK62 LK65 LK66 LK67 LK68 LK72 LK25 # Algeria 7X IL57 IL58 IL66 IL67 IL68 IL69 IL75 IL76 IL77 IL78 IL79 IL83 IL84 IL85 IL86 IL87 IL88 IL89 IL91 IL92 IL93 IL94 IL95 IL96 IL97 IL98 IL99 IM70 IM80 IM81 IM82 IN84 IM85 IM90 IM91 IM92 IM93 IM94 IM95 JK19 JK29 JK39 JL00 JL01 JL02 JL03 JL04 JL05 JL06 JL07 JL08 JL09 JL10 JL11 JL12 JL13 JL14 JL15 JL16 JL17 JL18 JL19 JL20 JL21 JL22 JL23 JL24 JL25 JL26 JL27 JL28 JL29 JL30 JL31 JL32 JL33 JL34 JL35 JL36 JL37 JL38 JL39 JL41 JL42 JL43 JL44 JL45 JL46 JL47 JL48 JL49 JL52 JL53 JL54 JM00 JM01 JM02 JM03 JM04 JM05 JM06 JM10 JM11 JM12 JM13 JM14 JM15 JM16 JM20 JM21 JM22 JM23 JM24 JM25 JM26 JM30 JM31 JM32 JM33 JM34 JM35 JM36 JM37 JM40 JM41 JM42 JM43 JM44 JM45 JM46 # Barbados 8P GK03 # Croatia 9A JN64 JN65 JN72 JN73 JN74 JN75 JN76 JN82 JN83 JN84 JN85 JN86 JN92 JN94 JN95 JN85 JN83 # Ghana 9G IJ79 IJ84 IJ85 IJ86 IJ87 IJ88 IJ89 IJ94 IJ95 IJ96 IJ97 IJ98 IJ99 IK70 IK71 IK72 IK73 IK80 IK81 IK82 IK83 IK84 IK90 IK91 IK92 IK93 IK94 IK95 JJ05 JJ06 JJ07 JJ08 JJ09 JK00 IJ95 # Malta 9H JM75 JM76 # Kuwait 9K LL38 LL39 LL48 LL49 LM30 LM40 LL39 # Sierra Leone 9L IJ37 IJ38 IJ39 IJ46 IJ47 IJ48 IJ49 IJ38 # Nepal 9N NL07 NL08 NL09 NL17 NL18 NL19 NL26 NL27 NL28 NL29 NL36 NL37 NL38 NL46 NL47 NM00 NM10 # Trinidad & Tobago 9Y FK90 FK91 # Oman A4 LK66 LK67 LK68 LK69 LK76 LK77 LK78 LK79 LK87 LK88 LK89 LL70 LL71 LL72 LL73 LL74 LL80 LL81 LL82 LL83 LL84 LL85 LL86 LL90 LL91 LL92 LL93 LL93 # Bhutan A5 NL46 NL47 NL48 NL56 NL57 NL58 NL66 NL67 NL47 # UAE A6 LL53 LL54 LL62 LL63 LL64 LL72 LL73 LL74 LL75 LL84 LL85 LL86 LL75 # Qatar A7 LL54 LL55 LL55 # Bahrein A9 LL55 LL56 LL56 # Andorra C3 JN02 # The Gambia C5 IK13 1K23 IK33 IK13 # Bahamas C6 FL04 FL05 FL06 FL13 FL14 FL15 FL16 FL22 FL23 FL24 FL30 FL31 FL32 FL33 FL04 FL32 # Cuba CO EL71 EL72 EL81 EL82 EL83 EL91 EL92 EL93 FL00 FL01 FL02 FL10 FL11 FL20 FL21 FK19 FK29 EL83 FL20 # Morocco CN IL37 IL38 IL47 IL48 IL49 IL57 IL58 IL59 IL69 IL79 IM50 IM51 IM52 IM53 IM60 IM61 IM62 IM63 IM64 IM65 IM70 IM71 IM72 IM73 IM74 IM75 IM80 IM81 IM82 IM83 IM84 IM85 IM92 IM93 IM94 IM63 # Madeira CT3 IM12 IM13 # Portugal CT IM56 IM57 IM58 IM59 IM66 IM67 IM68 IM69 IN50 IN51 IN52 IN60 IN61 IN50 IM57 # Azores CU HM49 HM58 HM59 HM68 HM69 HM76 HM77 HM59 # Cape Verde D4 HK74 HK75 HK76 HK77 HK84 HK85 HK86 HK76MU # Manila, Philippines DU PK04 # Germany DL JN37 JN38 JN39 JN47 JN48 JN49 JN57 JN58 JN59 JN67 JN68 JN69 JO20 JO21 JO30 JO31 JO32 JO33 JO34 JO40 JO41 JO42 JO43 JO44 JO50 JO51 JO52 JO53 JO54 JO60 JO61 JO62 JO63 JO64 JO70 JO71 JO72 JO73 JO74 JO31LE JO43WK # Eritrea E3 KK84 KK85 KK86 KK87 KK94 KK95 KK96 KK97 LK02 LK03 LK05 LK05 LK06 LK12 LK13 # 'Palestine' E4 KM71 KM72 # Bosnia & Herzegovena E7 JN74 JN75 JN82 JN83 JN84 JN85 JN92 JN93 JN94 JN95 JN83 JN94IR # Spain by Call Area EA1 IN52 IN53 IN60 IN61 IN62 IN63 IN70 IN71 IN72 IN73 IN80 IN81 IN82 IN83 IN91 IN92 IN82 IN63 EA2 IN82 IN83 IN90 IN91 IN92 IN93 JN01 JN02 IN91 EA3 JN00 JN01 JN02 JN11 JN12 JN00 JN01 EA4 IM68 IM69 IM78 IM79 IM88 IM89 IN60 IN80 IN81 IN90 IN91 IN80 EA5 IM87 IM88 IM89 IM97 IM98 IM99 IN90 JN00 IM98 EA6 JM08 JM09 JM19 JM29 JN10 JN20 JN19 EA7 IM66 IM67 IM68 IM76 IM77 IM78 IM86 IM87 IM88 IM96 IM97 IM76 IM87 EA8 IL18 IL27 IL28 IL38 IL39 IL18 IL28GD EA9 IM75 IM85 ## Superceeded by District lists ['OGY] # EA # IM66 IM67 IM68 IM69 IM75 IM76 IM77 IM78 IM79 IM86 IM87 IM88 IM89 IM96 IM97 IM98 IM99 IN51 IN52 IN53 IN60 IN61 IN62 IN63 IN70 IN71 IN72 IN73 IN80 IN81 IN82 IN83 IN90 IN91 IN92 IN93 JM08 JM09 JN00 JN01 JN02 JN11 JN12 # IN63 JN02 # Eire EI IO41 IO42 IO43 IO44 IO51 IO52 IO53 IO54 IO55 IO61 IO62 IO63 IO64 IO65 IO51 IO63 # Armenia EK LN10 LN11 LN20 LN21 LM29 LM38 LM39 LN20 # Liberia EL IJ46 IJ47 IJ48 IJ54 IJ55 IJ56 IJ57 IJ64 IJ65 IJ66 IJ46 # Moldova ER KN36 KN37 KN38 KN45 KN46 KN47 KN48 KN56 KN47 # Estonia ES KO07 KO08 KO17 KO18 KO19 KO27 KO28 KO29 KO37 KO38 KO39 KO49 KO29 KO38 # Ethiopia ET KJ67 KJ68 KJ74 KJ75 KJ76 KJ77 KJ78 KJ79 KJ83 KJ84 KJ85 KJ86 KJ87 KJ88 KJ89 KJ93 KJ94 KJ95 KJ96 KJ97 KJ98 KJ99 KK70 KK71 KK72 KK80 KK81 KK82 KK83 KK84 KK90 KK91 KK92 KK93 KK94 LJ04 LJ05 LJ06 LJ07 LJ08 LJ09 LJ14 LJ15 LJ16 LJ17 LJ18 LJ19 LK00 LK01 LK02 LK03 LK04 LK10 LK12 KJ99 # Belarus EU KO11 KO12 KO13 KO21 KO22 KO23 KO24 KO31 KO32 KO33 KO34 KO35 KO36 KO41 KO42 KO43 KO44 KO45 KO46 KO51 KO52 KO53 KO54 KO55 KO63 KO33 # France F IN77 IN78 IN86 IN87 IN88 IN92 IN93 IN94 IN95 IN96 IN97 IN98 IN99 JN02 JN03 JN04 JN05 JN06 JN07 JN08 JN09 JN12 JN13 JN14 JN15 JN16 JN17 JN18 JN19 JN23 JN24 JN25 JN26 JN27 JN28 JN29 JN32 JN33 JN34 JN35 JN36 JN37 JN38 JN39 JN48 JO00 JO01 JO10 JO11 JO20 JN27 IN95 # Guadeloupe FG FK95 FK96 # Martinique FM7 FK94 # Clipperton Island FO8X DK50JG DK50JH # Isle of Man GD IO74 # N. Ireland GI IO54 IO64 IO65 IO74 IO75 IO74 # Jersey GJ IN89 # Scotland GM IO57 IO65 IO66 IO67 IO68 IO74 IO75 IO76 IO77 IO78 IO84 IO85 IO86 IO87 IO88 IO89 IO95 IO97 IO99 IP90 IO75 IO87 # Guernsey GU IN89 IN89RL # Wales GW IO71 IO72 IO73 IO81 IO82 IO83 IO81 IO83 # England G IN69 IN79 IO70 IO71 IO80 IO81 IO82 IO83 IO84 IO85 IO90 IO91 IO92 IO93 IO94 IO95 JO00 JO01 JO02 JO03 JO01 IO93 # Hungary HA JN85 JN86 JN87 JN95 JN96 JN97 JN98 KN06 KN07 KN08 KN17 KN18 JN97RV # Switzerland HB JN35 JN36 JN37 JN45 JN46 JN47 JN56 JN47HD # Liechtenstein HB0 JN47 JN47SB # Ecuador HC EI95 EI96 EI97 EI98 EI99 EJ90 FI04 FI05 FI06 FI07 FI08 FI09 FI16 FI17 FI18 FI19 FI27 FI28 FI29 FJ00 FJ01 FJ10 FJ20 # Galapagos Islands HC8 EI48 EI49 EI58 EI59 EJ31 EJ40 EJ41 EJ50 # Haiti HH FK28 FK38 FK39 FK48 FK49 FL30 # Columbia HK FI28 FI29 FI37 FI38 FI39 FI45 FI46 FI47 FI48 FI49 FI55 FI56 FI57 FI58 FI59 FJ00 FJ01 FJ02 FJ10 FJ11 FJ12 FJ13 FJ14 FJ15 FJ16 FJ17 FJ18 FJ19 FJ20 FJ21 FJ22 FJ23 FJ24 FJ25 FJ26 FJ27 FJ28 FJ29 FJ30 FJ31 FJ32 FJ33 FJ34 FJ35 FJ36 FJ37 FJ38 FJ39 FJ40 FJ41 FJ42 FJ43 FJ44 FJ45 FJ46 FJ47 FJ50 FJ51 FJ52 FJ53 FJ54 FJ55 FJ56 FJ61 FJ62 FJ63 FJ64 FJ65 FJ66 FK20 FK21 FK30 FK31 FK32 FK41 FK42 # Columbia (Offshore Islands, N & W) HK0 EK92 EK93 EK94 FK05 EJ93 EJ94 # Dominican Republic HI FK47 FK48 FK49 FK58 FK59 FK58 # Panama HP EJ88 EJ89 EJ97 EJ98 EJ99 FJ07 FJ08 FJ09 FJ17 FJ18 FJ19 # Honduras HR EK53 EK54 EK55 EK63 EK64 EK65 EK73 EK74 EK75 EK84 EK85 HR6 EK66 EK76 EK87 # Vatican City HV JN61 JN61FV #South Korea HL PM24 PM27 PM33 PM34 PM35 PM36 PM37 PM38 PM44 PM45 PM46 PM47 PM48 PM37 # Saudi Arabia HZ KL77 KL78 KL79 KL84 KL85 KL86 KL87 KL88 KL89 KL90 KL91 KL92 KL93 KL94 KL95 KL96 KL97 KL98 KL99 KM80 KM81 KM90 KM91 KM92 LK06 LK07 LK08 LK09 LK16 LK17 LK18 LK19 LK27 LK28 LK29 LK36 LK37 LK38 LK39 LK48 LK49 LK58 LK59 LK69 LK79 LL00 LL01 LL02 LL03 LL04 LL05 LL06 LL07 LL08 LL09 LL10 LL11 LL12 LL13 LL14 LL15 LL16 LL17 LL18 LL19 LL20 LL21 LL22 LL23 LL24 LL25 LL26 LL27 LL28 LL29 LL30 LL31 LL32 LL33 LL34 LL35 LL36 LL37 LL38 LL39 LL40 LL41 LL42 LL43 LL44 LL45 LL46 LL47 LL48 LL50 LL51 LL52 LL53 LL54 LL55 LL56 LL60 LL61 LL62 LL63 LL70 LL71 LL72 LM00 LM01 LM10 LM11 LL34 KL91 # Pelagie Islands IG9 JM65 # Pantellaria Island IH9 JM56 JM66 # Sardinia IS JM48 JM49 JN40 JN41 JN40 # Sicily IT9 JM67 JM68 JM76 JM77 JM78 JM77 JM68 # Italy I JM77 JM78 JM79 JM87 JM88 JM89 JM99 JN33 JN34 JN35 JN43 JN44 JN45 JN46 JN51 JN52 JN53 JN54 JN55 JN56 JN57 JN60 JN61 JN62 JN63 JN64 JN65 JN66 JN67 JN70 JN71 JN72 JN80 JN81 JN90 JN54XA # Djibouti J2 LK00 LK01 LK10 LK11 LK12 LK11 # Grenada J3 FK91 FK92 # Guinea Bissau J5 IK11 IK12 IK20 IK21 IK22 IK31 IK32 IK21 # St Lucia J6 FK93 FK94 # Dominica J7 FK95 # Saint Vincent & Grenadines J8 FK92 FK93 # Japan (by Call Area) JA0 PM85 PM86 PM87 PM95 PM96 PM97 PM98 PM97 JA1 PM93 PM94 PM95 PM96 PM97 QM05 QM06 QM07 PM95 JA2 PM83 PM84 PM85 PM86 PM94 PM95 PM85 JA3 PM73 PM74 PM75 PM84 PM85 PM74 JA4 PM53 PM54 PM63 PM64 PM65 PM66 PM74 PM75 PM64 JA5 PM53 PM62 PM63 PM64 PM73 PM74 JA6 PL47 PL48 PL49 PM40 PM41 PM42 PM43 PM44 PM50 PM51 PM52 PM53 PM53 JA7 PM96 PM97 PM98 PM99 PN90 QM06 QM07 QM08 QM09 QM19 QN00 QN01 QM08 JA8 PN91 PN92 QN01 QN02 QN03 QN04 QN05 QN11 QN12 QN13 QN14 QN15 QN22 QN23 QN24 QN03 JA9 PM75 PM85 PM86 PM87 JD1 PL80 QL04 QL05 QL07 QL16 QL17 JR6 PL14 PL24 PL35 PL36 PL37 PL46 PL55 # Japan (superceded by Call Area lists)['OGY] # JA # PM40 PM41 PM42 PM43 PM44 PM50 PM51 PM52 PM53 PM54 PM62 PM63 PM64 PM65 PM66 PM73 PM74 PM75 PM76 PM83 PM84 PM85 PM86 PM87 PM93 PM94 PM95 PM96 PM97 PM98 PM99 PN90 PN91 PN92 QM05 QM06 QM07 QM08 QM09 QM19 QN00 QN01 QN02 QN03 QN04 QN05 QN11 QN12 QN13 QN14 QN15 QN22 QN23 QN24 # PM53 PM95 # Svalbard (Spitsbergen) JW JQ58 JQ59 JQ67 JQ68 JQ69 JQ76 JQ77 JQ78 JQ79 JQ86 JQ87 JQ88 JQ89 JQ97 JQ98 JQ99 KQ07 KQ08 KQ09 KQ17 KQ18 KQ19 KQ27 KQ29 KQ38 KQ39 KQ48 KQ58 JR70 JR80 JR90 KR00 KR10 KR20 KR30 KR40 KR50 KR60 KR80 JQ78 KQ29 # Jan Mayen JX IQ50 IQ51 # Jordan JY KL79 KL89 KM70 KM71 KM72 KM80 KM81 KM82 KM91 KM92 KM93 KM71 # USA K CM86 CM87 CM88 CM89 CM93 CM94 CM95 CM96 CM97 CM98 CM99 CN70 CN71 CN72 CN73 CN74 CN75 CN76 CN77 CN78 CN80 CN81 CN82 CN83 CN84 CN85 CN86 CN87 CN88 CN90 CN91 CN92 CN93 CN94 CN95 CN96 CN97 CN98 DL79 DL88 DL89 DL98 DL99 DM03 DM04 DM05 DM06 DM07 DM08 DM09 DM12 DM13 DM14 DM15 DM16 DM17 DM18 DM19 DM22 DM23 DM24 DM25 DM26 DM27 DM28 DM29 DM31 DM32 DM33 DM34 DM35 DM36 DM37 DM38 DM39 DM41 DM42 DM43 DM44 DM45 DM46 DM47 DM48 DM49 DM51 DM52 DM53 DM54 DM55 DM56 DM57 DM58 DM59 DM61 DM62 DM63 DM64 DM65 DM66 DM67 DM68 DM69 DM70 DM71 DM72 DM73 DM74 DM75 DM76 DM77 DM78 DM79 DM80 DM81 DM82 DM83 DM84 DM85 DM86 DM87 DM88 DM89 DM90 DM91 DM92 DM93 DM94 DM95 DM96 DM97 DM98 DM99 DN00 DN01 DN02 DN03 DN04 DN05 DN06 DN07 DN08 DN10 DN11 DN12 DN13 DN14 DN15 DN16 DN17 DN18 DN20 DN21 DN22 DN23 DN24 DN25 DN26 DN27 DN28 DN30 DN31 DN32 DN33 DN34 DN35 DN36 DN37 DN38 DN40 DN41 DN42 DN43 DN44 DN45 DN46 DN47 DN48 DN50 DN51 DN52 DN53 DN54 DN55 DN56 DN57 DN58 DN60 DN61 DN62 DN63 DN64 DN65 DN66 DN67 DN68 DN70 DN71 DN72 DN73 DN74 DN75 DN76 DN77 DN78 DN80 DN81 DN82 DN83 DN84 DN85 DN86 DN87 DN88 DN90 DN91 DN92 DN93 DN94 DN95 DN96 DN97 DN98 EL06 EL07 EL08 EL09 EL15 EL16 EL17 EL18 EL19 EL28 EL29 EL39 EL49 EL59 EL79 EL86 EL87 EL88 EL89 EL95 EL96 EL97 EL98 EL99 EM00 EM01 EM02 EM03 EM04 EM05 EM06 EM07 EM08 EM09 EM10 EM11 EM12 EM13 EM14 EM15 EM16 EM17 EM18 EM19 EM20 EM21 EM22 EM23 EM24 EM25 EM26 EM27 EM28 EM29 EM30 EM31 EM32 EM33 EM34 EM35 EM36 EM37 EM38 EM39 EM40 EM41 EM42 EM43 EM44 EM45 EM46 EM47 EM48 EM49 EM50 EM51 EM52 EM53 EM54 EM55 EM56 EM57 EM58 EM59 EM60 EM61 EM62 EM63 EM64 EM65 EM66 EM67 EM68 EM69 EM70 EM71 EM72 EM73 EM74 EM75 EM76 EM77 EM78 EM79 EM80 EM81 EM82 EM83 EM84 EM85 EM86 EM87 EM88 EM89 EM90 EM91 EM92 EM93 EM94 EM95 EM96 EM97 EM98 EM99 EN00 EN01 EN02 EN03 EN04 EN05 EN06 EN07 EN08 EN10 EN11 EN12 EN13 EN14 EN15 EN16 EN17 EN18 EN20 EN21 EN22 EN23 EN24 EN25 EN26 EN27 EN28 EN29 EN30 EN31 EN32 EN33 EN34 EN35 EN36 EN37 EN38 EN40 EN41 EN42 EN43 EN44 EN45 EN46 EN47 EN48 EN50 EN51 EN52 EN53 EN54 EN55 EN56 EN57 EN58 EN60 EN61 EN62 EN63 EN64 EN65 EN66 EN67 EN68 EN70 EN71 EN72 EN73 EN74 EN75 EN76 EN77 EN78 EN80 EN81 EN82 EN83 EN84 EN85 EN86 EN90 EN91 EN92 EN93 EN94 EN95 EN96 FM02 FM03 FM04 FM05 FM06 FM07 FM08 FM09 FM13 FM14 FM15 FM16 FM17 FM18 FM19 FM25 FM26 FM27 FM28 FM29 FM39 FN00 FN01 FN02 FN03 FN04 FN05 FN10 FN11 FN12 FN13 FN14 FN20 FN21 FN22 FN23 FN24 FN30 FN31 FN32 FN33 FN34 FN40 FN41 FN42 FN43 FN44 FN45 FN46 FN51 FN52 FN53 FN54 FN55 FN56 FN57 FN64 FN65 FN66 FN67 # Guantanamo Bay KG4 FL20 # Navassa Is KP1 FK28 # US Virgin Is KP2 FK77 # Puerto Rico KP3 FK67 FK68 FK77 FK78 FK68 # Desecheo Is KP5 FK68 # Norway LA JO28 JO29 JO37 JO38 JO39 JO48 JO49 JO58 JO59 JO69 JP20 JP21 JP22 JP30 JP31 JP32 JP33 JP40 JP41 JP42 JP43 JP44 JP50 JP51 JP52 JP53 JP54 JP55 JP60 JP61 JP62 JP63 JP64 JP65 JP66 JP67 JP68 JP74 JP75 JP76 JP77 JP78 JP79 JP86 JP87 JP88 JP89 JP98 JP99 JQ90 KP08 KP09 KP18 KP19 KP28 KP29 KP39 KP48 KP49 KP59 KQ00 KQ10 KQ20 KQ21 KQ30 KQ31 KQ40 KQ50 JO59 JP20 # Luxembourg LX JN29 JN39 JO20 JO30 JN29VX # Lithuania LY KO05 KO06 KO13 KO14 KO15 KO16 KO23 KO24 KO25 KO26 KO34 KO35 KO24 KO05 # Bulgaria LZ KN11 KN12 KN13 KN14 KN21 KN22 KN23 KN31 KN32 KN33 KN34 KN43 KN12 KN35 # Lebanon OD KM73 KM74 KM83 KM84 KM73 # Austria OE JN46 JN47 JN56 JN57 JN66 JN67 JN68 JN76 JN77 JN78 JN86 JN87 JN88 JN88DC JN68PC # Aland Island OH0 JP90 KP00 # Finland OH KO19 KO29 KP00 KP01 KP02 KP03 KP08 KP09 KP10 KP11 KP12 KP13 KP14 KP16 KP17 KP18 KP19 KP20 KP21 KP22 KP23 KP24 KP25 KP26 KP27 KP28 KP29 KP30 KP31 KP32 KP33 KP34 KP35 KP36 KP37 KP38 KP39 KP40 KP41 KP42 KP43 KP44 KP45 KP46 KP47 KP48 KP49 KP51 KP52 KP53 KP54 KP55 KQ30 # Market Reef OJ0 JP90 # Czechia OK JN68 JN69 JN78 JN79 JN88 JN89 JN98 JN99 JO60 JO70 JO71 JO80 JO90 JN89JM JO80IA # Slovakia OM JN87 JN88 JN89 JN97 JN98 JN99 KN08 KN09 KN18 KN19 JN98EP JN88RG # Belgium ON JN29 JO10 JO11 JO20 JO21 JO30 JO20JU # Faroe Islands OY IP61 IP62 # Denmark OZ JO44 JO45 JO46 JO47 JO54 JO55 JO56 JO57 JO64 JO65 JO66 JO74 JO75 JO46 JO55 # Aruba P4 FK52 # North Korea P5 PM27 PM28 PM29 PM37 PM38 PM39 PM48 PN20 PN30 PN31 PN40 PN41 PN42 PN52 PM28 # Netherlands PA JO11 JO20 JO21 JO22 JO23 JO30 JO31 JO32 JO33 JO21GV JO33 # Netherlands Antilles PJ2 FK52 PJ4 FK52 # Western Sahara (non-ITU) S0 IL10 IL11 IL12 IL13 IL21 IL22 IL23 IL24 IL25 IL26 IL31 IL32 IL33 IL34 IL35 IL36 IL37 IL46 IL47 IL56 IL57 # Slovenia S5 JN65 JN66 JN75 JN76 JN86 JN65 JN76KO # Sweden, by District SM0 JO88 JO89 JO99 JP90 JO99 SM1 JO96 JO97 SM2 JP75 JP76 JP84 JP85 JP86 JP87 JP88 JP93 JP94 JP95 JP96 JP97 JP98 KP03 KP04 KP05 KP06 KP07 KP08 KP09 KP15 KP16 KP17 KP18 JP96 SM3 JP62 JP63 JP64 JP71 JP72 JP73 JP80 JP81 JP82 JP84 JP92 JP93 JP73 SM4 JO68 JO69 JO78 JO79 JP60 JP61 JP62 JP70 JP71 JO69 SM5 JO77 JO78 JO79 JO88 JO89 JP80 JO78 JO89 SM6 JO58 JO59 JO66 JO67 JO68 JO78 JO67 SM7 JO65 JO66 JO67 JO75 JO76 JO77 JO86 JO87 JO65 JO76 ## Superceded by District lists ['OGY] # SM # JO57 JO58 JO59 JO65 JO66 JO67 JO68 JO69 JO75 JO76 JO77 JO78 JO79 JO86 JO87 JO88 JO89 JO96 JO97 JO98 JO99 JP53 JP60 JP61 JP62 JP63 JP64 JP70 JP71 JP72 JP73 JP74 JP75 JP76 JP80 JP81 JP82 JP83 JP84 JP85 JP86 JP87 JP88 JP90 JP92 JP93 JP94 JP95 JP96 JP97 JP98 KP03 KP04 KP05 KP06 KP07 KP08 KP09 KP15 KP16 KP17 KP18 KP25 KP26 # JO65 JO89 # Poland SP JN89 JN99 JO70 JO71 JO72 JO73 JO74 JO80 JO81 JO82 JO83 JO84 JO90 JO91 JO92 JO93 JO94 KN09 KN19 KO00 KO01 KO02 KO03 KO04 KO10 KO11 KO12 KO13 KO14 KO20 JO73 JO91 # Sudan (EXCL. Disputed areas, Dec 2020) ST KJ19 KJ29 KJ49 KJ59 KJ69 KJ79 KK02 KK03 KK10 KK11 KK12 KK13 KK14 KK15 KK20 KK21 KK22 KK23 KK24 KK25 KK26 KK27 KK28 KK29 KK30 KK31 KK32 KK33 KK34 KK35 KK36 KK37 KK38 KK39 KK40 KK41 KK42 KK43 KK44 KK45 KK46 KK47 KK48 KK49 KK50 KK51 KK52 KK53 KK54 KK55 KK56 KK57 KK58 KK59 KK60 KK61 KK62 KK63 KK64 KK65 KK66 KK67 KK68 KK69 KK70 KK71 KK72 KK73 KK74 KK75 KK76 KK77 KK78 KK79 KK82 KK83 KK84 KK85 KK86 KK87 KK88 KK89 KK98 KL20 KL21 KL30 KL31 KL40 KL41 KL50 KL51 KL60 KL61 KL70 KL71 KL80 KL81 KK65 # Egypt SU KL22 KL23 KL24 KL25 KL26 KL27 KL28 KL29 KL32 KL33 KL34 KL35 KL36 KL37 KL38 KL39 KL42 KL43 KL44 KL45 KL46 KL47 KL48 KL49 KL52 KL53 KL54 KL55 KL56 KL57 KL58 KL59 KL61 KL62 KL63 KL64 KL65 KL66 KL67 KL68 KL69 KL71 KL72 KL73 KL74 KL75 KL76 KL77 KL78 KL79 KL80 KL81 KL82 KM20 KM21 KM30 KM31 KM40 KM41 KM50 KM51 KM60 KM61 KM70 KM71 KM50 # Rhodes etc SV5 KM35 KM36 KM45 KM46 KM36 # Crete SV9 KM15 KM24 KM25 KM34 KM35 KM25 # Greece SV JM99 KM06 KM07 KM08 KM09 KM16 KM17 KM18 KM19 KM26 KM27 KM28 KM29 KM36 KM37 KM38 KM39 KN00 KN01 KN10 KN11 KN20 KN21 KN30 KN31 # San Marino T7 JN63 # Turkey TA KM27 KM28 KM29 KM35 KM36 KM37 KM38 KM39 KM46 KM47 KM48 KM49 KM56 KM57 KM58 KM59 KM64 KM65 KM66 KM67 KM68 KM69 KM74 KM75 KM76 KM77 KM78 KM79 KM85 KM86 KM87 KM88 KM89 KM96 KM97 KM98 KM99 KN20 KN30 KN32 KN40 KN41 KN50 KN51 KN60 KN61 KN62 KN70 KN71 KN72 KN80 KN81 KN90 KN91 LM06 LM07 LM08 LM09 LM17 LM18 LM19 LM26 LM27 LM28 LM29 LN00 LN01 LN10 LN11 LN20 KM69JX TA1 KN30 KN31 KN32 KN40 KN41 KN42 KN31 # Costa Rica TI EJ79 EJ88 EJ89 EK70 EK80 # Cocos Island TI9 EJ65 # Iceland TF HP74 HP75 HP83 HP84 HP85 HP86 HP93 HP94 HP95 HP96 IP03 IP04 IP05 IP06 IP13 IP14 IP15 IP16 IP24 IP25 IP26 IP34 IP35 HP94 IP25 # Guatamala TG EK34 EK35 EK43 EK44 EK45 EK46 EK47 EK53 EK54 EK55 EK56 EK57 EK44 # Corsica TK JN41 JN42 JN43 JN41 JN43 # Chad TT IK63 IK64 JJ77 JJ78 JJ79 JJ87 JJ88 JJ89 JJ98 JJ99 JK70 JK71 JK72 JK73 JK74 JK75 JK76 JK77 JK78 JK79 JK80 JK81 JK82 JK83 JK84 JK85 JK86 JK87 JK88 JK89 JK90 JK91 JK92 JK93 JK94 JK95 JK96 JK97 JK98 JK99 JL70 JL71 JL72 JL73 KJ09 KK00 KK01 KK02 KK03 KK04 KK05 KK06 KK07 KK08 KK09 KK10 KK11 KK12 KK13 KK14 KK15 KK16 KK17 KK18 KK19 KL00 KL01 KL10 # Ivory Coast TU IJ56 IJ57 IJ58 IJ59 IJ64 IJ65 IJ66 IJ67 IJ68 IJ69 IJ74 IJ75 IJ76 IJ77 IJ78 IJ79 IJ85 IJ86 IJ87 IJ88 IJ89 IK50 IK60 IK70 IJ76 # Benin TY JJ06 JJ07 JJ08 JJ09 JJ16 JJ17 JJ18 JJ19 JK00 JK01 JK10 JK11 JK12 JJ16 # Mali TZ IK33 IK34 IK42 IK43 IK44 IK45 IK50 IK51 IK52 IK53 IK54 IK55 IK60 IK61 IK62 IK63 IK64 IK65 IK70 IK71 IK72 IK73 IK74 IK75 IK76 IK77 IK78 IK79 I883 IK84 IK85 IK86 IK87 IK88 IK89 IK94 IK95 IK96 IK97 IK98 IK99 IL60 IL61 IL62 IL63 IL64 IL70 IL71 IL72 IL73 IL74 IL80 IL81 IL82 IL83 IL90 IL91 IL92 IL93 JK04 JK05 JK06 JK07 JK08 JK09 JK15 JK16 JK17 JK18 JK19 JK26 JK27 JK28 JK29 JL00 JL01 JL10 IK62 # Kalingrad UA2 JO94 KO04 KO05 KO14 KO15 # Ukraine UR KN17 KN18 KN19 KN27 KN28 KN29 KN37 KN38 KN39 KN45 KN46 KN47 KN48 KN49 KN55 KN56 KN57 KN58 KN59 KN64 KN65 KN66 KN67 KN68 KN69 KN74 KN75 KN76 KN77 KN78 KN79 KN84 KN85 KN86 KN87 KN88 KN89 KN96 KN97 KN98 KN99 KO10 KO11 KO20 KO21 KO30 KO31 KO40 KO41 KO50 KO51 KO52 KO60 KO61 KO62 KO70 KO71 KO72 KO80 KO90 LN08 LN09 # Russia UA KN84 KN85 KN86 KN89 KN93 KN94 KN95 KN96 KN97 KN98 KN99 KO36 KO37 KO38 KO39 KO45 KO46 KO47 KO48 KO49 KO52 KO53 KO54 KO55 KO56 KO57 KO58 KO62 KO63 KO64 KO65 KO66 KO67 KO68 KO69 KO70 KO71 KO72 KO73 KO74 KO75 KO76 KO77 KO78 KO79 KO80 KO81 KO82 KO83 KO84 KO85 KO86 KO87 KO88 KO89 KO90 KO91 KO92 KO93 KO94 KO95 KO96 KO97 KO98 KO99 LN03 LN04 LN05 LN06 LN07 LN08 LN09 LN12 LN13 LN14 LN15 LN16 LN17 LN18 LN19 LN22 LN23 LN24 LN25 LN26 LN27 LN28 LN29 LN31 LN32 LN33 LN34 LN35 LN36 LN37 LN38 LN39 LN41 LN42 LN43 LN44 LN45 LN46 LN47 LN49 LO00 LO01 LO02 LO03 LO04 LO05 LO06 LO07 LO08 LO09 LO10 LO11 LO12 LO13 LO14 LO15 LO16 LO17 LO18 LO19 LO20 LO21 LO22 LO23 LO24 LO25 LO26 LO27 LO28 LO29 LO90 LO91 LO92 LO93 LO94 LO95 LO96 LO97 LO98 LO99 # Belize V3 EK55 EK56 EK57 EK58 EK67 EK68 EK57 # Canada VE BP90 BP91 BP92 BP93 BP94 BP95 BP96 BP97 BP98 BP99 CN69 CN78 CN79 CN88 CN89 CN99 CO09 CO19 CO29 CO32 CO33 CO34 CO37 CO38 CO39 CO42 CO43 CO44 CO45 CO46 CO47 CO48 CO49 CO50 CO51 CO52 CO53 CO54 CO55 CO56 CO57 CO58 CO59 CO60 CO61 CO62 CO63 CO64 CO65 CO66 CO67 CO68 CO69 CO70 CO71 CO72 CO73 CO74 CO75 CO76 CO77 CO78 CO79 CO80 CO81 CO82 CO83 CO84 CO85 CO86 CO87 CO88 CO89 CO90 CO91 CO92 CO93 CO94 CO95 CO96 CO97 CO98 CO99 CP00 CP01 CP02 CP03 CP04 CP05 CP06 CP07 CP08 CP09 CP10 CP11 CP12 CP13 CP14 CP15 CP16 CP17 CP18 CP19 CP20 CP21 CP22 CP23 CP24 CP25 CP26 CP27 CP28 CP29 CP30 CP31 CP32 CP33 CP34 CP35 CP36 CP37 CP38 CP39 CP40 CP41 CP42 CP43 CP44 CP45 CP46 CP47 CP48 CP49 CP50 CP51 CP52 CP53 CP54 CP55 CP56 CP57 CP58 CP59 CP60 CP61 CP62 CP63 CP64 CP65 CP66 CP67 CP68 CP69 CP70 CP71 CP72 CP73 CP74 CP75 CP76 CP77 CP78 CP79 CP80 CP81 CP82 CP83 CP84 CP85 CP86 CP87 CP88 CP89 CP90 CP91 CP92 CP93 CP94 CP95 CP96 CP97 CP98 CP99 CQ40 CQ50 CQ60 CQ71 CQ72 CQ73 CQ74 CQ81 CQ82 CQ83 CQ84 CQ91 CQ92 CQ93 CQ94 DN09 DN19 DN29 DN39 DN49 DN59 DN69 DN79 DN89 DN99 DO00 DO01 DO02 DO03 DO04 DO05 DO06 DO07 DO08 DO09 DO10 DO11 DO12 DO13 DO14 DO15 DO16 DO17 DO18 DO19 DO20 DO21 DO22 DO23 DO24 DO25 DO26 DO27 DO28 DO29 DO30 DO31 DO32 DO33 DO34 DO35 DO36 DO37 DO38 DO39 DO40 DO41 DO42 DO43 DO44 DO45 DO46 DO47 DO48 DO49 DO50 DO51 DO52 DO53 DO54 DO55 DO56 DO57 DO58 DO59 DO60 DO61 DO62 DO63 DO64 DO65 DO66 DO67 DO68 DO69 DO70 DO71 DO72 DO73 DO74 DO75 DO76 DO77 DO78 DO79 DO80 DO81 DO82 DO83 DO84 DO85 DO86 DO87 DO88 DO89 DO90 DO91 DO92 DO93 DO94 DO95 DO96 DO97 DO98 DO99 DP00 DP01 DP02 DP03 DP04 DP05 DP06 DP07 DP08 DP09 DP10 DP11 DP12 DP13 DP14 DP15 DP16 DP17 DP18 DP19 DP20 DP21 DP22 DP23 DP24 DP25 DP26 DP27 DP28 DP29 DP30 DP31 DP32 DP33 DP34 DP35 DP36 DP37 DP38 DP39 DP40 DP41 DP42 DP43 DP44 DP45 DP46 DP47 DP48 DP49 DP50 DP51 DP52 DP53 DP54 DP55 DP56 DP57 DP58 DP59 DP60 DP61 DP62 DP63 DP64 DP65 DP66 DP67 DP68 DP69 DP70 DP71 DP72 DP73 DP74 DP75 DP76 DP77 DP78 DP79 DP80 DP81 DP82 DP83 DP84 DP85 DP86 DP87 DP88 DP89 DP90 DP91 DP92 DP93 DP94 DP95 DP96 DP97 DP98 DP99 DQ00 DQ01 DQ02 DQ03 DQ04 DQ10 DQ11 DQ12 DQ13 DQ14 DQ20 DQ21 DQ22 DQ23 DQ24 DQ30 DQ31 DQ32 DQ33 DQ34 DQ40 DQ41 DQ42 DQ43 DQ44 DQ50 DQ51 DQ52 DQ53 DQ54 DQ60 DQ61 DQ62 DQ63 DQ64 DQ70 DQ71 DQ72 DQ73 DQ74 DQ80 DQ81 DQ82 DQ83 DQ84 DQ90 DQ91 DQ92 DQ93 DQ94 EN09 EN19 EN28 EN29 EN38 EN39 EN48 EN49 EN58 EN59 EN68 EN69 EN76 EN77 EN78 EN79 EN82 EN83 EN85 EN86 EN87 EN88 EN89 EN92 EN93 EN94 EN95 EN96 EN97 EN98 EN99 EO00 EO01 EO02 EO03 EO04 EO05 EO06 EO07 EO08 EO09 EO10 EO11 EO12 EO13 EO14 EO15 EO16 EO17 EO18 EO19 EO20 EO21 EO22 EO23 EO24 EO25 EO26 EO27 EO28 EO29 EO30 EO31 EO32 EO33 EO34 EO35 EO36 EO37 EO38 EO40 EO41 EO42 EO43 EO44 EO45 EO46 EO47 EO50 EO51 EO52 EO53 EO54 EO55 EO56 EO57 EO60 EO61 EO62 EO63 EO64 EO65 EO66 EO70 EO71 EO72 EO73 EO74 EO75 EO80 EO81 EO82 EO83 EO84 EO85 EO90 EO91 EO92 EP00 EP01 EP02 EP03 EP04 EP05 EP06 EP07 EP08 EP09 EP10 EP11 EP12 EP13 EP14 EP15 EP16 EP17 EP18 EP19 EP20 EP21 EP22 EP23 EP24 EP25 EP26 EP27 EP28 EP29 EP30 EP31 EP32 EP33 EP34 EP35 EP36 EP37 EP38 EP39 EP40 EP41 EP42 EP43 EP44 EP45 EP46 EP47 EP48 EP49 EP50 EP51 EP52 EP53 EP54 EP55 EP56 EP57 EP58 EP59 EP60 EP61 EP62 EP63 EP64 EP65 EP66 EP67 EP68 EP69 EP70 EP71 EP72 EP73 EP74 EP75 EP76 EP77 EP78 EP79 EP80 EP81 EP82 EP83 EP84 EP85 EP86 EP87 EP88 EP89 EP90 EP91 EP92 EP93 EP94 EP95 EP96 EP97 EP98 EP99 EQ00 EQ01 EQ02 EQ03 EQ04 EQ10 EQ11 EQ12 EQ13 EQ14 EQ20 EQ21 EQ22 EQ23 EQ24 EQ30 EQ31 EQ32 EQ33 EQ34 EQ40 EQ41 EQ42 EQ43 EQ44 EQ50 EQ51 EQ52 EQ53 EQ54 EQ60 EQ61 EQ62 EQ63 EQ64 EQ70 EQ71 EQ72 EQ73 EQ74 EQ80 EQ81 EQ82 EQ83 EQ84 EQ90 EQ91 EQ92 EQ93 EQ94 FN02 FN03 FN04 FN05 FN06 FN07 FN08 FN09 FN13 FN14 FN15 FN16 FN17 FN18 FN19 FN24 FN25 FN26 FN27 FN28 FN29 FN34 FN35 FN36 FN37 FN38 FN39 FN44 FN45 FN46 FN47 FN48 FN49 FN56 FN57 FN58 FN59 FN65 FN66 FN67 FN68 FN69 FN73 FN74 FN75 FN76 FN77 FN78 FN79 FN84 FN85 FN86 FN89 FN94 FN95 FN96 FN99 FO01 FO02 FO03 FO04 FO05 FO09 FO10 FO11 FO12 FO13 FO14 FO15 FO17 FO18 FO19 FO20 FO21 FO22 FO24 FO25 FO26 FO27 FO28 FO29 FO30 FO31 FO32 FO33 FO34 FO35 FO36 FO37 FO38 FO39 FO40 FO41 FO42 FO43 FO44 FO45 FO46 FO47 FO48 FO49 FO50 FO51 FO52 FO53 FO54 FO55 FO56 FO57 FO58 FO59 FO61 FO62 FO63 FO64 FO65 FO66 FO67 FO68 FO69 FO70 FO71 FO72 FO73 FO74 FO75 FO76 FO77 FO84 FO85 FO86 FO87 FO96 FO97 FQ00 FQ01 FQ02 FQ10 FQ11 FQ12 FQ20 FQ21 FQ22 FQ30 FQ31 FQ40 FQ41 FQ50 FQ60 GN07 GN08 GN09 GN17 GN18 GN19 GN27 GN28 GN29 GN36 GN37 GN38 GN39 GO00 GO01 GO02 GO03 GO04 GO05 GO10 GO11 GO12 GO13 GO14 GO20 GO21 GO22 GO23 # Newfoundland & Labrador, Canada VO GN07 GN08 GN09 GN17 GN18 GN19 GN27 GN28 GN29 GN36 GN37 GN38 GN39 GO00 GO01 GO02 GO03 GO04 GO05 GO10 GO11 GO12 GO13 GO14 GO20 GO21 GO22 GO23 # Australia (by Call Area) # External Territory VK0 MD66 MD67 OD95 # Capital Territory / Jarvis Bay VK1 QF44 QF54 # New South Wales VK2 QF06 QF07 QF08 QF09 QF14 QF15 QF16 QF17 QF18 QF19 QF23 QF24 QF25 QF26 QF27 QF28 QF29 QF33 QF34 QF35 QF36 QF37 QF38 QF39 QF42 QF43 QF44 QF45 QF46 QF47 QF48 QF49 QF52 QF53 QF54 QF55 QF56 QF57 QF58 QF59 QF67 QF68 QF69 # Victoria VK3 QF01 QF02 QF03 QF04 QFO5 QF11 QF12 QF13 QF14 QF15 QF21 QF22 QF23 QF24 QF30 QF31 QF32 QF33 QF34 QF42 QF43 # Queensland VK4 PG94 PG95 PG96 PG97 PG98 PG99 PH90 PH91 PH92 PH93 QG01 QG02 QG03 QG04 QG05 QG06 QG07 QG08 QG09 QG11 QG12 QG13 QG14 QG15 QG16 QG17 QG18 QG19 QG21 QG22 QG23 QG24 QG25 QG26 QG27 QG28 QG29 QG31 QG32 QG33 QG34 QG35 QG36 QG37 QG38 QG39 QG41 QG42 QG43 QG44 QG45 QG46 QG47 QG48 QG49 QG50 QG51 QG52 QG53 QG54 QG55 QG56 QG57 QG58 QG61 QG62 QG63 QG64 QG65 QH00 QH01 QH02 QH03 QH04 QH05 QH06 QH07 QH08 QH10 QH11 QH12 QH13 QH14 QH15 QH16 QH17 QH18 QH19 QH20 QH21 QH22 QH23 QH24 QH25 QH30 QH31 QH32 QH40 QI10 # South Australia VK5 PF48 PF49 PF58 PF59 PF67 PF68 PF69 PF74 PF75 PF76 PF77 PF78 PF79 PF83 PF84 PF85 PF86 PF87 PF88 PF89 PF92 PF93 PF94 PF95 PF96 PF97 PF98 PF99 PG40 PG41 PG42 PG43 PG50 PG51 PG52 PG53 PG60 PG61 PG62 PG63 PG70 PG71 PG72 PG73 PG80 PG81 PG82 PG83 PG90 PG91 PG92 PG93 QF01 QF02 QF03 QF04 QFO5 QF06 QF07 QF08 QF09 QG00 QG01 QG02 QG03 # Western Australia VK6 OF75 OF76 OF77 OF78 OF79 OF84 OF85 OF86 OF87 OF88 OF89 0F94 OF95 OF96 OF97 OF98 OF99 OG62 OG63 OG64 OG65 OG66 OG67 OG68 OG70 OG71 OG72 OG73 OG74 OG75 OG76 OG77 OG78 OG79 OG80 OG81 OG82 OG83 OG84 OG85 OG86 OG87 OG88 OG89 OG90 OG91 OG92 OG93 OG94 OG95 OG96 OG97 OG98 OG99 OH90 PF06 PF07 PF08 PF09 PF15 PF16 PF17 PF18 PF19 PF26 PF27 PF28 PF29 PF37 PF38 PF39 PF47 PF48 PF49 PG00 PG01 PG02 PG03 PG04 PG05 PG06 PG07 PG08 PG09 PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18 PG19 PG20 PG21 PG22 PG23 PG24 PG25 PG26 PG27 PG28 PG29 PG30 PG31 PG32 PG33 PG34 PG35 PG36 PG37 PG38 PG39 PG40 PG41 PG42 PG43 PG44 PG45 PG46 PG47 PG48 PG49 PH00 PH01 PH10 PH11 PH12 PH13 PH14 PH17 PH20 PH21 PH22 PH23 PH24 PH25 PH30 PH31 PH32 PH33 PH34 PH35 PH36 PH40 PH41 PH42 PH43 PH44 PH45 # Tasmania VK7 QE19 QE26 QE27 QE28 QE29 QE36 QE37 QE38 QE39 QE46 QE47 QE48 QE49 QF10 QF20 QF30 QF40 # Northern Territory VK8 PG44 PG45 PG46 PG47 PG48 PG49 PG54 PG55 PG56 PG57 PG58 PG59 PG64 PG65 PG66 PG67 PG68 PG69 PG74 PG75 PG76 PG77 PG78 PG79 PG84 PG85 PG86 PG87 PG88 PG89 PH40 PH41 PH42 PH43 PH44 PH45 PH46 PH50 PH51 PH52 PH53 PH54 PH55 PH56 PH57 PH58 PH60 PH61 PH62 PH63 PH64 PH65 PH66 PH67 PH68 PH69 PH70 PH71 PH72 PH73 PH74 PH75 PH76 PH77 PH78 PH80 PH81 PH82 PH83 PH84 PH85 PH86 PH87 PH88 PH89 # External Territories VK9 NH87 NH88 OH29 QH43 QH72 RG30 # Lord Howe Is VK9L QF98 # Turks & Caicos Is VP5 FL31 FL41 # India VU MJ88 MJ89 MJ98 MJ99 MK64 MK65 MK66 MK67 MK68 MK69 MK70 MK71 MK72 MK73 MK74 MK75 MK76 MK77 MK78 MK79 MK80 MK81 MK82 MK83 MK84 MK85 MK86 MK87 MK88 MK89 MK90 MK91 MK92 MK93 MK94 MK95 MK96 MK97 MK98 MK99 ML41 ML42 ML43 ML44 ML46 ML47 ML50 ML51 LM52 ML53 ML54 ML55 ML56 ML57 ML58 ML60 ML61 ML62 ML63 ML64 ML65 ML66 ML67 ML68 ML69 ML70 ML71 ML72 ML73 ML74 ML75 ML76 ML77 ML78 ML79 ML80 ML81 ML82 ML83 ML84 ML85 ML86 ML87 ML88 ML89 ML90 ML91 ML92 ML93 ML94 ML95 ML96 ML97 ML98 ML99 MM60 MM63 MM64 MM70 MM71 MM72 MM73 MM74 MM80 MM81 MM82 MM83 MM84 MM85 MM90 MM91 MM92 MM93 MM94 MM95 NK02 NK03 NK04 NK05 NK06 NK07 NK08 NK09 NK16 NK17 NK18 NK19 NK28 NK29 NK39 NL00 NL01 NL02 NL03 NL04 NL05 NL06 NL07 NL08 NL09 NL10 NL11 NL12 NL13 NL14 NL15 NL16 NL17 NL20 NL21 NL22 NL23 NL24 NL25 NL26 NL27 NL30 NL31 NL32 NL33 NL34 NL35 NL36 NL41 NL42 NL43 NL44 NL45 NL46 NL47 NL48 NL52 NL53 NL54 NL55 NL56 NL57 NL61 NL62 NL63 NL64 NL65 NL66 NL67 NL68 NL73 NL74 NL75 NL76 NL77 NL78 NL79 NL87 NL88 NL89 NM00 # Mexico (Mainland) XE DK78 DK79 DK87 DK88 DK89 DK96 DK97 DK98 DK99 DL26 DL27 DL28 DL29 DL34 DL35 DL36 DL37 DL38 DL39 DL42 DL43 DL44 DL45 DL46 DL47 DL48 DL49 DL52 DL53 DL54 DL55 DL56 DL57 DL58 DL59 DL61 DL62 DL63 DL64 DL65 DL66 DL67 DL68 DL69 DL70 DL71 DL72 DL73 DL74 DL75 DL76 DL77 DL78 DL79 DL80 DL81 DL82 DL83 DL84 DL85 DL86 DL87 DL88 DL89 DL90 DL91 DL92 DL93 DL94 DL95 DL96 DL97 DL98 DL99 DM10 DM11 DM12 DM20 DM21 DM22 DM30 DM31 DM40 DM41 DM50 DM51 DM60 DM61 DM70 DM71 EK06 EK07 EK08 EK09 EK15 EK16 EK17 EK18 EK19 EK25 EK26 EK27 EK28 EK34 EK35 EK36 EK37 EK38 EK45 EK46 EK47 EK48 EK49 EK57 EK58 EK59 EK68 EK69 EL00 EL01 EL02 EL03 EL04 EL05 EL06 EL07 EL10 EL11 EL12 EL13 EL14 EL15 EL40 EL41 EL50 EL51 EL60 EL61 # Mexico (Islands) [Best guess] XF1 DL08 DL09 DL38 DL39 XF2 EL30 EL40 EL42 EL52 XF3 EK68 EL60 XF4 DK28 DK38 DK39 DK48 DK49 # Burkina Faso XT IJ79 IJ89 IK70 IK71 IK72 IK73 IK80 IK81 IK82 IK83 IK91 IK92 IK93 IK94 IK95 JK01 JK02 JK03 JK04 # Syria YK KM72 KM73 KM74 KM75 KM82 KM83 KM84 KM85 KM86 KM93 KM94 KM95 KM96 LM04 LM05 LM06 LM16 LM17 KM83 # Latvia YL KO06 KO07 KO16 KO17 KO25 KO26 KO27 KO35 KO36 KO37 KO46 KO26 # Nicaragua YN EK61 EK62 EK63 EK64 EK70 EK71 EK72 EK73 EK74 EK80 EK81 EK82 EK83 EK84 EK85 EK62 # Romania YO KN04 KN05 KN06 KN07 KN13 KN14 KN15 KN16 KN17 KN18 KN23 KN24 KN25 KN26 KN27 KN33 KN34 KN35 KN36 KN37 KN38 KN43 KN44 KN45 KN46 KN34 KN05PS # El Salvador YS EK43 EK53 EK54 EK63 # Serbia YU JN93 JN94 JN95 JN96 KN02 KN03 KN04 KN05 KN06 KN12 KN13 KN14 KN05 KN34 # Venezuela YV FJ37 FJ38 FJ39 FJ47 FJ48 FJ49 FJ56 FJ57 FJ58 FJ59 FJ60 FJ61 FJ62 FJ63 FJ64 FJ65 FJ66 FJ67 FJ68 FJ69 FJ70 FJ71 FJ72 FJ73 FJ74 FJ75 FJ76 FJ77 FJ78 FJ79 FJ82 FJ83 FJ84 FJ85 FJ86 FJ87 FJ88 FJ89 FJ94 FJ95 FJ96 FJ97 FJ98 FJ99 FK30 FK31 FK32 FK40 FK41 FK42 FK50 FK51 FK52 FK60 FK70 FK80 GJ08 FK40 FK60 # N. Macedonia Z3 KN00 KN01 KN02 KN11 KN12 KN01 # South Sudan (EXCL. Disputed areas, Dec 2020) Z8 KJ27 KJ28 KJ29 KJ34 KJ35 KJ36 KJ37 KJ38 KJ39 KJ44 KJ45 KJ 46 KJ47 KJ48 KJ49 KJ53 KJ54 KJ55 KJ56 KJ57 KJ58 KJ59 KJ63 KJ64 KJ65 KJ66 KJ67 KJ68 KJ69 KJ74 KJ75 KJ76 KJ77 KJ78 KJ79 KK40 KK50 KK60 KK61 KK62 KJ54 # Albania ZA JM99 JN90 JN91 JN92 KM09 KN00 KN01 KN02 JN91 # Gibraltar ZB IM76 # UK Bases, Cyprus ZC KM64 KM65 # Cayman Is ZF EK99 FK09 # New Zealand ZL AE15 AE16 RE32 RE33 RE34 RE35 RE42 RE43 RE44 RE45 RE46 RE53 RE54 RE55 RE56 RE57 RE58 RE65 RE66 RE67 RE68 RE69 RE78 RE79 RE88 RE89 RF60 RF63 RF64 RF65 RF70 RF71 RF72 RF73 RF74 tucnak-4.32/data/master.scp0000644000175000017500000110247211555757457012617 00000000000000# # RELEASE 2010.08.09.00 # by Bob Raymond, WA1Z # 2E0AOZ 2E0BFJ 2E0BMG 2E0BPP 2E0BVP 2E0CNL 2E0CPT 2E0CRD 2E0CTT 2E0CVN 2E0DBD/P 2E0DYM 2E0EMF 2E0FFQ 2E0FPC 2E0FSR 2E0GMW 2E0GVG 2E0HEP 2E0HOQ 2E0HQD 2E0HTS 2E0IIM 2E0IJK 2E0IMS 2E0IMT 2E0IMW 2E0IXC 2E0JKD 2E0JWW 2E0JYK 2E0KGV/P 2E0KIM 2E0KLD 2E0KYI 2E0LIB 2E0LMA 2E0LMG 2E0LPA 2E0LSB 2E0MAS 2E0MCA 2E0MMI 2E0NJC 2E0NKC 2E0NOC 2E0OCC 2E0PLA 2E0PSW 2E0RAK 2E0RCM 2E0RCV 2E0RFS 2E0RJM 2E0RKY 2E0RUS 2E0SFC 2E0SMJ 2E0SPF 2E0SQL 2E0TAD 2E0TAL 2E0TGS 2E0TJU 2E0TQR 2E0UNN 2E0VDS 2E0WAW 2E0WDS 2E0WDX 2E0WHG 2E0WMG/P 2E0WPX 2E0XIK 2E0XIS 2E0YQC 2E0ZIG 2E0ZWW 2E1AXL 2E1DFI 2E1FVS 2E1OKT 2I0BIW 2I0BSA 2I0FLO 2I0MVP 2I0SAI 2J0RZD 2M0BGT 2M0FSF 2M0GOV 2M0IVG 2M0KLL 2M0KPE 2M0WMJ 2M0XAT 2U0ARE 2W0IJL 2W0XTP 2W0ZAE 2W0ZJA 3A2MD 3A2MG 3A2MW 3B8GT 3D2KJ 3D2MJ 3DA0DJ 3DA0WW 3G1C 3G1X 3G3V 3V3S 3V8BB 3V8CB 3V8HQ 3V8SF 3V8SS 3V8ST 3V9A 3W1M 3W3W 3X5A 3XY6D 3Z30C 3Z40KP 3Z50KPN 3Z70RG 3Z80PZK 3Z8Z 3Z90PR 3Z9CESJ 3Z9TA 41N14O 4A1B 4A1DXXE 4A2S 4B1EE 4B1KK 4B2AU 4B2S 4B2WK 4D1N 4F1AL 4H1T 4H9RG 4J3M 4J5A 4J7WMF 4J9M 4K0CW 4K3K 4K4K 4K6FO 4K8M 4K9W 4L0A 4L0HQ 4L1BR 4L1FP 4L1MA 4L1UN 4L2M 4L3A 4L3Y 4L4CC 4L6DL 4L6QC 4L7O 4L8A 4L9QQ 4M1F 4M1M 4M4C 4M4V 4M5DX 4M5IR 4M5RY 4O1OTA 4O3A 4O3RR 4O3TT 4O3Z 4O4A 4O7A 4O8A 4S7EA 4S7NE 4U10NPT 4U1ITU 4U1UN 4U1VIC 4U1WB 4U30VIC 4V4JR 4X0A 4X0B 4X0C 4X0G 4X0T 4X0V 4X1AS 4X1DF 4X1IM 4X1VF 4X2M 4X3HQ 4X4DK 4X4DZ 4X4FC 4X4FR 4X4JU 4X4PG 4X4WN 4X6DK 4X6FK 4X6FR 4X6FU 4X6KA 4X6TF 4X6UU 4X6ZK 4X6ZM 4X6ZQ 4Z1UF 4Z4DX 4Z4KX 4Z4OQ 4Z4TJ 4Z4TL 4Z4UT 4Z4WR 4Z5AD 4Z5AY 4Z5CP 4Z5CX 4Z5FI 4Z5IW 4Z5J 4Z5JU 4Z5KO 4Z5KZ 4Z5LA 4Z5LU 4Z5LX 4Z5LZ 4Z5ML 4Z5MU 4Z5MV 4Z5MY 4Z5OZ 4Z5PJ 4Z5PS 4Z5QQ 4Z5ST 4Z5TA 4Z5TK 4Z5UN 4Z8BB 4Z8DT 5B/AJ2O 5B/G3RXQ 5B/G4IRN 5B/HA5PP 5B/HG3IPA 5B/KC2TIZ 5B/US8ITL 5B/UT0U 5B/W2TAA 5B4AGM 5B4AGN 5B4AHJ 5B4AIA 5B4AIF 5B4AII 5B4AIX 5B4AIZ 5B4KH 5B4XF 5B4ZN 5B8AD 5C2P 5C5T 5C5W 5D0IPY 5D5A 5H1HS 5H2WK 5H3EE 5J1A 5K0CW 5K0T 5N0HQ 5N0OCH 5N3CPR 5N7M 5P0O 5P2A 5P3WW 5P5CW 5P5N 5P5X 5P9X 5Q1A 5Q2J 5Q2T 5Q8A 5R8FU 5R8KD 5R8ZO 5U5U 5W0KH 5W0OU 5W0YA 5X1AB 5X1NH 5X4X 5Z4/DL8NBE 5Z4/RW1AU 5Z4JC 6K2CFI 6K2DFG 6K2DIO 6K2EJJ 6K2FDL 6K2GCW 6K2GDT 6K5AQY 6K5AYC 6K5BHZ 6K5BLW 6K5BUI 6K5BXQ 6K5XQE 6K5YHX 6L0NJ 6M0HZ 6M0HZ/2 6M0MM 6V7E 6V7M 6V7N 6V7Q 6V7V 6W/DL2RMC 6W/PA3EWP 6W1RW 6W1RY 6W1SE 6W1SJ 6W2SC 6W7RV 6Y0FF 6Y1LZ 6Y1V 6Y1X 6Y5CR 6Y5IC 6Y5JH 6Y5WJ 6Y7J 6Y9V 7J1AAI 7J1ABD 7J1AQH 7J1BBC 7J1YAJ 7J2YAF 7J4AAL 7J7ACT 7J9AAD 7K1CPT 7K1DEE 7K1EQG 7K1MAG 7K1PTO 7K1PTT 7K1SGX 7K2GMJ 7K3BKZ 7K3PCI 7K3QPL 7K4DHB 7K4GUR 7K4NBV 7K4PTY 7K4QOK 7K4TSM 7K4XNN 7L1FFH 7L1JHN 7L1QWK 7L1WII 7L2OHM 7L2PDJ 7L2QXT/3 7L3DGP 7L3KJV 7L3LYK 7L4IOU 7M1MCT 7M1MCU 7M2ALP 7M2PSC 7M3IYU 7M3QQP/1 7M4CDX 7M4HXF 7N1PRD/0 7N2CQN 7N2DAB 7N2JNN 7N2JZT 7N2SPK 7N2TCB 7N2TCF 7N2TNI 7N2TRM 7N2UQC 7N4AVW 7N4CLI 7N4CPT 7N4KDU 7N4LHJ 7N4MXU 7N4NGR 7N4NIK 7N4NQR 7N4QCQ 7N4QID 7N4WPY 7N4WZI 7N4XAL 7Q7BP 7S0X 7S2E 7S3A 7S3F 7S4B 7S5C 7S5Q 7S5S 7S7V 7X0RY 7Z1CQ 7Z1HB 7Z1HL 7Z1SJ 7Z1TT 8J1ASAHI/1 8J1AXA/1 8J1ITU 8J1YDXC 8J4P 8J7SK 8N1HQ 8N1Y 8N3HQ 8N4HQ 8N5A 8N8HQ 8P0P 8P3A 8P5A 8P6AW 8P6BX 8P6ER 8P6EX 8P6JD 8P9FW 8P9NX 8P9PB 8P9SS 8Q7DV 8Q7SC 8S0A 8S0C 8S0C/5 8S0W 8S4S 8S5W 8S5X 8S6E 9A/AC6DD 9A/DL1DVP 9A/DL2RBB 9A/DL3VTA 9A/E73T 9A/E75DX 9A/OM2FY 9A/OM8A 9A/S50R 9A/S51DX 9A/S53AU/P 9A/VE3ZIK 9A09P 9A0AA 9A0HQ 9A0M 9A0W 9A1A 9A1AA 9A1ACD 9A1BM 9A1CAL 9A1CCB 9A1CCY 9A1CDO 9A1CFN 9A1CFR 9A1CIG 9A1CKL 9A1CMA 9A1CMS 9A1CVG 9A1DL 9A1HDE 9A1MB 9A1MM 9A1O 9A1P 9A1UN 9A1VZD 9A1ZZ 9A2AA 9A2AJ 9A2BD 9A2BW 9A2CD 9A2CW 9A2CY 9A2D 9A2DI 9A2DQ 9A2DS 9A2EA 9A2EU 9A2EY 9A2F 9A2FW 9A2GA 9A2GF 9A2GW 9A2HQ 9A2JG 9A2JH 9A2JK 9A2KD 9A2L 9A2LM 9A2MF 9A2N 9A2NA 9A2NO 9A2NY 9A2OU 9A2QF 9A2QF/P 9A2R 9A2RD 9A2SY 9A2TD 9A2TN 9A2U 9A2UA 9A2UU 9A2VJ 9A2VQ 9A2VR 9A2WJ 9A2WT 9A2X 9A2Y 9A2YM 9A2Z 9A2ZR 9A3AAX 9A3AG 9A3AGS 9A3ALD 9A3ARN 9A3B 9A3CCB 9A3CNN 9A3DF 9A3FY 9A3GA 9A3GI 9A3GL 9A3GS 9A3IH 9A3IJ 9A3IV 9A3IW 9A3JB 9A3KS 9A3LE 9A3MA 9A3MJ 9A3ML 9A3MN 9A3MR 9A3ND 9A3OS 9A3QB 9A3SM 9A3ST 9A3TA 9A3TN 9A3TR 9A3TU 9A3VM 9A3W/P 9A3WX 9A3XV 9A3Y 9A3ZC 9A3ZI 9A4A 9A4AA 9A4BA 9A4BB 9A4BL 9A4BT 9A4C 9A4D 9A4GM 9A4J 9A4KW 9A4M 9A4MF 9A4QV 9A4SS 9A4TT 9A4U 9A4VM 9A4W 9A4WW 9A4WY 9A4ZZ 9A4ZZ/P 9A50KDE 9A5AMC 9A5AMG 9A5AN 9A5ANB 9A5AX 9A5BB 9A5BDA 9A5BS 9A5BTP 9A5CW 9A5CY 9A5D 9A5DU 9A5E 9A5K 9A5MT 9A5PV 9A5RJ 9A5SM 9A5ST 9A5V 9A5W 9A5X 9A5Y 9A5ZM 9A5ZP 9A6A 9A6AKD 9A6AR 9A6B 9A6C 9A6D 9A6GWQ 9A6ILI 9A6K 9A6KTB 9A6M 9A6NDD 9A6NDH 9A6NNS 9A6R 9A6SJU 9A6Z 9A6ZT 9A7A 9A7B 9A7BDJ 9A7D 9A7IMR 9A7IUP 9A7KDT 9A7KJI 9A7P 9A7R 9A7T 9A7V 9A7W 9A7WA 9A7YY 9A800VZ 9A8A 9A8AW 9A8M 9A8MM 9A8W 9A8WW 9A9A 9A9DR 9A9L 9A9R 9A9SF 9A9XX 9A9YY 9G5XA 9G5ZZ 9H1CG 9H1DE 9H1NB 9H1SP 9H1XT 9H3HH 9H3TX 9J2BO 9J3A 9K/K6PAU 9K2/SP4R 9K2CQ 9K2HN 9K2K 9K2MU 9K2RA 9K2YM 9K9HQ 9L0W 9L1BTB 9L5A 9M2AX 9M2CCO 9M2CNC 9M2CQC 9M2IDJ 9M2JKL 9M2MRS 9M2MT 9M2NNM 9M2TO 9M4DXX 9M6BG 9M6BOB 9M6BRC 9M6LSC 9M6NA 9M6XRO 9M6YBG 9M8YY 9M8Z 9Q1EK 9V1DE 9V1PC 9V1QQ 9V1RH 9V1UV 9V1YC 9W2NTO 9Y/DL2DBE 9Y4/DF8AN 9Y4D 9Y4HQ 9Y4LDK 9Y4VU 9Y4W 9Z4CP 9Z4CT A25NW A31A A31KK A35A A35KL A35RK/P A41MX A41OR A45WG A45XR A47RS A61AB A61BK A61C A61KM A61M A61NA A61OO A62A A65BD A65BM A65BP A65CA A65DLH A7/M0FGA A71A A71BU A71BX A71CT A71CV A71EM A71FJ A73A A92GE A92GR AA0A AA0AW AA0BQ AA0CL AA0CX AA0DW AA0MZ AA0N AA0NK AA0QZ AA0RS AA0YY AA1AR AA1AR/4 AA1BU AA1CA AA1DS AA1E AA1JD AA1JM AA1K AA1KS AA1LL AA1M AA1ME AA1O AA1ON AA1QD AA1QN AA1SB AA1SU AA1TR AA1V AA1VA AA1VT AA1VX AA1XV AA1YD AA1ZT AA2AD AA2DC AA2DR AA2DS AA2F AA2GS AA2IZ AA2JZ AA2KD AA2L AA2MF AA2MX AA2NA AA2NA/P AA2OI AA2UP AA2VK AA2WC AA2XB AA2YV AA2ZW AA3B AA3CS AA3DF AA3DW AA3E AA3I AA3II AA3JK AA3K AA3LX AA3RZ AA3S AA3SJ AA3SL AA3TH AA3TL AA3VA AA4A AA4AK AA4AK/1 AA4CF AA4D AA4EA AA4FU AA4FX AA4GT AA4H AA4HV AA4II AA4KD AA4LR AA4MD AA4MJ AA4MM AA4N AA4NC AA4NU AA4Q AA4R AA4RP AA4S AA4SC AA4SD AA4U AA4UC AA4V AA4V/VP9 AA4VV AA4W AA4WO AA4XA AA4XS AA4XX AA4YL AA4ZU AA4ZZ AA5AM AA5AT AA5AU AA5B AA5BE AA5BT AA5C AA5CH AA5CK AA5CO AA5EY AA5JG AA5L AA5LA AA5N AA5R/C6A AA5SH AA5TB AA5VU AA5VZ AA5X AA6AD AA6AE AA6CJ AA6DP AA6DW AA6DX AA6DY AA6E/1 AA6EE AA6EV AA6G AA6IO AA6JJ AA6K AA6PW AA6RR AA6VB AA6VX AA6X AA6XV AA6XX AA6YX AA7A AA7AX AA7CP AA7CQ AA7DJ AA7DK AA7FG AA7FK AA7GS AA7IH AA7J AA7JV AA7ML AA7MN AA7MT AA7PJ AA7PM AA7RV AA7UI AA7X AA8BV AA8CH AA8DX AA8EB AA8EN AA8HH AA8HO AA8IA AA8IN AA8JL AA8L AA8LL AA8M AA8NT AA8OY AA8R AA8TK AA8UL AA8YN AA9CN AA9D AA9DA AA9DY AA9F AA9GG AA9GR AA9GZ AA9IK AA9IX AA9KH AA9L AA9LC AA9NF AA9RN AA9RR AA9RT AA9SJ AA9UF AA9VI AA9WJ AA9WS AA9ZZ AB0CD AB0DI AB0JM AB0LL AB0LR AB0OX AB0QN AB0RE AB0RX AB0S AB0TA AB0TO AB0TX AB0UK AB0VK AB0X AB0YM AB0YW AB0Z AB0ZO AB1BW AB1BX AB1CW AB1DD AB1DO AB1DZ AB1EP AB1FY AB1HD AB1HL AB1HO AB1HZ AB1J AB1JB AB1JM AB1KE AB1KW AB1U AB2DE AB2E AB2G AB2IO AB2KX AB2NI AB2NT AB2RC AB2SR AB2TC AB2TS AB2UV AB2VI AB2WW AB2XW AB2YS AB2ZI AB2ZL AB2ZT AB2ZY AB3AH AB3AI AB3AP AB3CX AB3EN AB3FH AB3FX AB3GB AB3GY AB3HP AB3IC AB4AR AB4BJ AB4DF AB4G AB4GG AB4H AB4I AB4IQ AB4JK AB4LE AB4OM AB4Q AB4RJ AB4SA AB4SF AB4SK AB4U AB4VF AB4VV AB4ZT AB5C AB5CC AB5DK AB5EU AB5GG AB5I AB5JN AB5JR AB5K AB5MM AB5NE AB5NX AB5RM AB5TY AB5WF AB5WS AB5X AB5XP AB5XZ AB5YI AB5ZA AB5ZA/7 AB6CF AB6EZ AB6L AB6QM AB6QR AB6WM AB6Z AB7CB AB7E AB7FX AB7GP AB7LT AB7Q AB7R AB7RW AB7TJ AB8AL AB8BT AB8CI AB8CL AB8DD AB8DF AB8EU AB8FJ AB8IT AB8JR AB8K AB8OJ AB8PD AB8RL AB8RX AB8S AB8SA AB8SG AB8TO AB8UL AB8WI AB8XE AB8XG AB8YO AB8YY AB8YZ AB8ZX AB9AX AB9CA AB9DR AB9DU AB9H AB9HE AB9HH AB9KZ AB9LA AB9M AB9ML AB9MP AB9NH AB9OS AB9QH AB9QQ AB9QT AB9QX AB9RC AB9SJ AB9SO AB9TA AB9TE AB9TU AB9V AC0A AC0AX AC0BI AC0BR AC0BV AC0C AC0DQ AC0DS AC0E AC0GI AC0GJ AC0GQ AC0H AC0IU AC0IV AC0JX AC0KK AC0LL AC0MW AC0NB AC0OJ AC0P AC0PD AC0PJ AC0PR AC0QG AC0W AC0X AC1AA AC1J AC1L AC1O AC2AA AC2AC AC2CP AC2FM AC2K AC2N AC2T AC3C AC3D AC4AH AC4BV AC4CA AC4CA/5 AC4GT AC4IK AC4M AC4MO AC4PQ AC4PY AC4S AC4TO AC4TT AC4WC AC4YD AC4ZH AC5BX AC5K AC5N AC5O AC5P AC5SW AC5ZG AC5ZS AC6DD AC6DX AC6E AC6EA AC6FU AC6HY AC6JA AC6LT AC6MV AC6N AC6NN AC6SL AC6T AC6VN AC6YY AC7A AC7AF AC7AP AC7CJ AC7FA AC7GL AC7GP AC7JM AC7JN AC7JW AC7JY AC7LK AC7MA AC7NK AC7NO AC7P AC7PN AC7T AC7UH AC7VA AC7ZG AC8AG AC8AP AC8AZ AC8BP AC8CY AC8E AC8EA AC8G AC8W AC8WV AC8Y AC9BP AC9S AC9X AD0H AD0NW AD0RB AD1B AD1C AD1DX AD1L AD1N AD2AM AD2H AD2L AD2P AD2TM AD2Z AD3J AD3PA AD4AA AD4C AD4CJ AD4EB AD4ES AD4G AD4IE AD4J AD4L AD4TJ AD4YQ AD4Z AD5A AD5C AD5CQ AD5EN AD5HR AD5HV AD5IN AD5IT AD5LU AD5MD AD5MN AD5Q AD5QB AD5ST AD5TJ AD5UQ AD5VC AD5VJ AD5WB AD5WI AD5XD AD5XM AD5YB AD5YJ AD5YU AD5ZA AD6C AD6DK AD6E AD6FR AD6GI AD6HF AD6HV AD6KA AD6KT AD6MJ AD6MT AD6OI AD6P AD6PB AD6RH AD6WL AD6Z AD6ZJ AD6ZR AD7AF AD7AJ AD7AV AD7BN AD7GL AD7GN AD7HE AD7HI AD7HK AD7J AD7JI AD7JX AD7KG AD7KI AD7L AD7LI AD7MD AD7MQ AD7OG AD7OV AD7PK AD7QL AD7RO AD7SF AD7SH AD7SI AD7T AD7UP AD7UZ AD7VH AD7XV AD7XZ AD7YT AD8B AD8C AD8D AD8J AD8L AD8P AD9H AD9P AD9V AE0G AE1C AE1N AE1P AE1T AE2AA AE2J AE2JL AE2T AE2X AE3E AE3J AE3T AE4CJ AE4CW AE4EC AE4MN AE4NZ AE4O AE4PC AE4RV AE4T AE4TE AE4TX AE4Y AE5AA AE5BR AE5CX AE5FT AE5GT AE5I AE5JA AE5JG AE5JK AE5JT AE5KM AE5KT AE5LO AE5LQ AE5MM AE5OV AE5P AE5PW AE5RE AE5T AE5TD AE5X AE6C AE6GC AE6GE AE6JN AE6K AE6OU AE6PP AE6QH AE6RF AE6RG AE6RR AE6RS AE6SX AE6XC AE6Y AE6YB AE6ZB AE6ZF AE6ZV AE7AB AE7AP AE7AW AE7CC AE7CJ AE7EE AE7H AE7K AE7RW AE8M AE9C AE9F AE9H AE9K AE9Q AF1E AF1G AF1T AF2C AF2D AF2K AF2S AF3D AF3I AF3K AF3L AF3RH AF3Y AF4AI AF4IB AF4JF AF4KL AF4MO AF4OX AF4PP AF4RK AF4TK AF4Z AF5K AF5M AF5P AF5Q AF5T AF5U AF5Z AF6AV AF6BJ AF6DD AF6EH AF6EV AF6GL AF6JC AF6JP AF6JX AF6ME AF6MO AF6NE AF6NI AF6P AF6PA AF6PK AF6SA AF6SY AF6T AF6VQ AF7DX AF7K AF7O AF7Z AF8A AF8C AF8RH AF8T AF8V AF9H AF9J AG0A AG0I AG0J AG0L AG0M AG1C AG1H AG2M AG2T AG3G AG3L AG3R AG3V AG4CZ AG4ES AG4GB AG4K AG4M AG4P AG4PJ AG4PZ AG4QX AG4TO AG4V AG4VS AG4W AG4WL AG4WY AG4XL AG4XR AG5T AG5W AG5Z AG6MB AG7N AG7T AG7U AG8U AG9A AG9C AG9S AH0/AH2Y AH0BT AH0S AH2DT AH2L AH2R AH2Y AH6EZ/W9 AH6FC AH6JD AH6N AH6NF AH6NM AH6RE AH6RR AH6V AH6WX AH6XX AH6ZZ AH7A AH7C AH7G AH7ZA AH8/DL2AH AH8DX/W7 AI0L AI0M AI0O AI0Q AI1O AI1P AI1P/0 AI1V AI2C AI2I AI2IA AI2N AI2S AI2T AI3G AI3Q AI4AW AI4BJ AI4CJ AI4CM AI4CO AI4DB AI4FR AI4G AI4GP AI4GR AI4HH AI4IC AI4IO AI4JT AI4KM AI4LV AI4ME AI4MI AI4NW AI4OF AI4OH AI4OT AI4PF AI4PY AI4QQ AI4QR AI4QY AI4RF AI4RJ AI4TE AI4UN AI4VE AI4VQ AI4W AI4WL AI4WU AI4WW AI4YO AI5DX AI5G AI5M AI5P AI6L AI6O AI6V AI6YL AI6Z AI7H AI8P AI9F AI9I AI9K AI9L AI9P AI9T AJ0W AJ1E AJ1G AJ1I AJ1M AJ1M/8 AJ2T AJ2Y AJ3G AJ3M AJ3T AJ4A AJ4AQ AJ4BT AJ4CD AJ4CG AJ4CU AJ4DX AJ4F AJ4FM AJ4FV AJ4GC AJ4HO AJ4HZ AJ4IM AJ4JD AJ4JQ AJ4JZ AJ4KF AJ4LM AJ4LU AJ4MW AJ4NM AJ4OA AJ4OV AJ4RK AJ4RW AJ4SQ AJ5C AJ5DW AJ5H AJ6T AJ6V AJ7EF AJ8B AJ8MH AJ8P AJ9C AJ9K AK0A AK0F AK0M AK0MR AK1N AK1Q AK1W AK2A AK2B AK2P AK2S AK3Q AK3V AK3W AK4DM AK4DW AK4I AK4IK AK4JH AK4K AK4NC AK4RS AK4Z AK5AA AK5DX AK5V AK5X AK6DV AK6M AK6R AK6X AK7A AK7AT AK7AZ AK7DB AK7FF AK7G AK7H AK7O AK7S AK7Y AK8A AK9F AK9I AK9L AK9N AK9N/7 AK9W AK9Y AL1G AL2F AL2V AL3K AL7AF AL7BA/W8 AL7FD AL7HW/4 AL7IF AL7L AL7PQ AL7QQ AL7R AL7TC AL9A AM1A AM1C AM1G AM1Q AM1S AM1T AM1W AM2T AM3A AM3CS AM3EGB AM3M AM3SSB AM5A AM5B AM5BM AM5KB AM5M AM5Q AM5SP AM7C AM7M AM7W AM8A AN1A AN1C AN1K AN1R AN2A AN2K AN3N AN4A AN5CNK AN5E AN5L AN5N AN5P AN5W AN7K AN7LM AN8A AN8R AN8X AO1ABT AO1B AO1ET AO1J AO1K AO1L AO1T AO1Y AO2A AO2KY AO2R AO2V AO2W AO3A AO3DE AO3K AO3T AO4C AO4M AO4Y AO5A AO5B AO5GVZ AO5GX AO5KB AO5L AO5M AO5R AO5SP AO5T AO5V AO5W AO7A AO7AAW AO7O AO7T AO8A AO8HQ AT1HQ AU2RSB AU5JCB AY0DX AY4D AY5F AY7X AY8A AY9F B1C B1HQ B1P B1Z B3C B3HQ B4B B4HQ B4R B4S B4TB B4VE B4X B5A B5TT B7HQ B7M B7P BA1AN BA1GN BA1RB BA1SN BA2IA BA3AX BA3RJ BA4AA BA4ALC BA4CH BA4DL BA4II BA4KA BA4QO BA4RC BA4RF BA4SD BA4SI BA4T BA4VE BA4WW BA5AG BA5AN BA5AP BA5BO BA5DX BA5HAM BA5RR BA6IT BA6IV BA6QD BA6QH BA7CK BA7IA BA7IN BA7IO BA7KM BA7MG BA7MY BA7NQ BA8AG BA8BA BD1AQH BD1BYV BD1CAL BD1DQD BD1FBV BD1HW BD1ISI BD1ND BD1RCR BD1TCC BD1WC BD2BT BD2IMS BD2RJ BD2SH/7 BD3EO/1 BD3PCH BD4AGK BD4CZX BD4DVK BD4IBW/4 BD4JUU BD4JZY BD4KUU BD4KYA BD4LGF BD4QH BD4QO BD4RQ BD4SP BD4SS BD4SVB BD4SX BD4SZW BD4TD BD4TR BD4TU BD4WZH BD5BAJ BD5CFB BD5CFY BD5HML BD5HST BD5HUI BD5WW BD6AHP BD6IQD BD6IVX BD6QDR BD6QMY BD7IBN BD7IN BD7IXG BD7JDG BD7JSQ BD7KBH BD7LDM BD7MSN BD7MVZ BD7NL BD7NWF BD7RDC BD8AIB BD8ATI BD9AFM BG1JR BG1QEX BG2SHQ BG3MOU BG4AHD BG4AHF BG4CZX BG4DVK BG4ENK BG4EPV BG4JZY BG4MCG BG4MR BG4REA BG4TWS BG5HJC BG5HST BG5HSV BG6AHU BG6JEQ BG6JNB BG7BAH BG7IEU BG7NWF BG8IK BG9AFM BG9TX BH1IIA BH1IIJ BH4SFE BH7LMD BT4EXPO BT4NG BU2AC BU2AE BU2AI BU2AO BU2AU BV0HQ BV0J BV0L BV1EK BV2A BV3FG BV4VQ BV4VR BV4VT BV7FC BW/DL3OCH BW2/JP1RIW BW3/DJ3KR BX0WPX BX1AAB BX2ABD BX3AA BX4AD BX4AF BX4AQ BX5AA BX6AP BY1CJL BY1CW BY1DX BY1QH BY1RX BY1TTY BY3MM BY4BZB BY4DX BY4HAM BY4IO BY4QA BY4SA BY5CD BY5HB BY6HY BY6IC BY7HL BY7KG BY7KP BY8AC BY8DX C31CA C31CT C37NL C37RC C37URE C49C C4DX C4I C4M C4N C4SV C4W C4Z C6AGN C6AKQ C6AKX C6ALT C6AMM C6AMS C6ANM C6APG C6APR C6AQQ C6ARR C6ASB C6ATA C6AUM C6AWL C91LW C91TX C98LW CA3KHZ CA3OEV CA6BMF CD1R CE0Y/SM6CUK CE1/K7CA CE1KR CE1TT CE1U CE1UGE CE1W CE1Z CE2/K0MD CE2HZ CE2LS CE2P CE2WWF CE2WZ CE3AA CE3BFZ CE3DNP CE3FZ CE3G CE3HQ CE3NR CE3PG CE3RR CE4B CE4CT CE4ETZ CE4SES CE4UJU CE5JZO CE6SAX CE6TBN CE6VMO CJ3WPV CJ7FC CJ7GEM CK1BVD CK1WT CK2AWR CK2DWA CK3AT CK3CUI CK3CW CK6BF CK7HL CM2KY CM2ORO CM2QM CM2RVA CM2ZT CM3GW CM3RPN CM5FZ CM6CAC CM6RCR CM6YAC CM8CAD CM8GJ CN2A CN2B CN2BC CN2IPA CN2M CN2R CN2YF CN3A CN3R CN4P CN8KD CN8LI CN8SG CN8VO CN8WW CN8YE CN8YR CN8YZ CN8ZG CO2EL CO2FU CO2GL CO2IZ CO2JD CO2JG CO2JW CO2KY CO2OT CO2WF CO3CJ CO3JN CO3LC CO3TJ CO4LS CO6CAC CO6LC CO6LP CO6RD CO6WD CO6WYR CO6YI CO7EH CO7PH CO7RR CO8AW CO8CML CO8CY CO8LY CO8TW CO8WZ CO8ZZ CP1FF CP1WG CP5RC CP6AA CP6XE CQ3L CQ3T CQ3Z CQ4T CQ4U CQ8L CQ8X CQ95F CQ9K CQ9T CR1M CR1Z CR2A CR2T CR2X CR3A CR3E CR3L CR3T CR5A CR5CQK CR5HQ CR5M CR5R CR5SBK CR5T CR5X CR6A CR6K CR6P CR6T CS1CRE CS2C CS2K CS2P CS2T CS5RBL CS7A CS7CQK CS9A CS9L CT1AGF CT1AHU CT1ANO CT1AOZ CT1APE CT1BH CT1BNW CT1BOH CT1BOL CT1BOP CT1BWU CT1BWW CT1BXE CT1BXT CT1BYK CT1BZG CT1CDP CT1CJJ CT1CQK CT1DIN CT1DIZ CT1DJE CT1DOV CT1DVV CT1DZY CT1EAT CT1EBM CT1EEK CT1EGF CT1EGW CT1EHK CT1ELF CT1ELP CT1ELZ CT1END/P CT1ENQ CT1ENV CT1EOD CT1EPJ CT1ESG CT1ESJ CT1ESV CT1ETW CT1ETX CT1EWA CT1FHL CT1FJK CT1FJL CT1FMX CT1FUH CT1GC CT1GFK CT1GPQ CT1HBV CT1HMN CT1HZU CT1ILT CT1IUA CT1IZW CT1JEY CT1JGA CT1JLZ CT1JRZ CT1JSP CT1YTS CT2CRP CT2FPE CT2GDW CT2GQN CT2GSN CT2HKN CT2HRB CT2IOV CT2IPG CT2ITR CT2IVH CT2JBG CT2JMR CT2JRZ CT2JTR CT2JVP CT2JYX CT2KAL CT2KCG CT3AS CT3BD CT3CD CT3DL CT3DZ CT3EE CT3EN CT3FJ CT3FN CT3FQ CT3FT CT3HF CT3IA CT3KN CT3KU CT3KY CT3MD CT3NT CT4HA CT4IS CT4NH CT6P CT7/CU8AS/P CT7/DJ5YQ CT7/LZ3ND CT7A CT7D CT7E CT7R CT8K CT9/DK7TM CT9/DL1SBF CT9/DL3KWF CT9/DL3ZH CT9K CT9L CT9M CU2A CU2AF CU2AO CU2CR CU2DX CU2JT CU2X CU30AA CU3EJ CU3HQ CU3TRP CU5CQ CU6AY CU7AJ CU8A CU8AS CV5D CV5K CW2T CW5W CW7T CX1AA CX1AV CX1AX CX1CCC CX1JJ CX2ABC CX2ABP CX2AL CX2AQ CX2CC CX2DDP CX2FT CX2TG CX3CCC CX3CQ CX4AAJ CX4AD CX4BW CX4CR CX4DX CX5BW CX5TR CX6VM CX7CO CX7TT CX8BBH CX9AU CX9BP CX9DX CY2ZT/2 D2NX D44AC D4C D80Y DA0A DA0AD DA0AMT DA0BCC DA0CA DA0CCC DA0CW DA0HEL DA0HQ DA0I DA0R DA0X DA0YFD DA1MC DA2U DA2UN DA3A DA3T DA3X DA6TEC DA9L DB1APP DB1BAN DB1BMN DB1CD DB1DT DB1LI DB1MI DB1MUC DB1NR DB1RLE DB1SKA DB1SMW DB1VQ DB2B DB2BJT DB2CTM DB2HV DB2KT DB2NQ DB2OJ DB3BE DB3BX DB3FS DB3KE DB3LO DB4BU DB4NNW DB4SP DB4VI DB4VO DB5FW DB5SD DB6NT DB6SI DB6VP DB6YW DB6ZU DB7AA DB7BU DB7HH DB7MA DB7QJ DB7TF DB7UQ DB8AH DB8NI DB8VB DB9EV DB9EX DB9UH DC0ASP DC0GO DC0KK DC0NA DC0NE DC0UH DC0VD DC1HPS DC1HR DC1JAG DC1NSK DC1OBB DC1RJJ DC1RS DC1SK DC1SV DC1XM DC1YB DC2CB DC2CT DC2CW DC2IP DC2KN DC2OD DC2VE DC2YY DC3FR DC3HB DC3RJ DC3SW DC3TS DC3ZB DC4A DC5IMM DC5JQ DC6A DC6CX DC6CZ DC6KW DC6MY DC6OAF DC6RN DC7CCC DC7HP DC7IE DC7KM DC7NF DC7OH DC8KU DC8QT DC8RU DC8SG DC8TS DC8WPA DC9KH DC9MA DC9PI DC9TH DC9ZB DC9ZP DD0ARN DD0D DD0DRK DD0PB DD0VD DD0VR DD0ZL DD0ZN DD1D DD1DD DD1DZ DD1IM DD1JD DD1JN DD1LD DD1LI DD1MAT DD1OP DD1RB DD1UDW DD1UN DD1YGB DD2D DD2FJ DD2JA DD2ML DD2NU DD2TC DD3D DD3DZ DD3NJ DD3QD DD3WW DD4B DD4BY DD4DA DD4DJ DD5A DD5AJ DD5FZ DD5JK DD5KG DD5M DD5T DD5XL DD6PS DD6ZJ DD7GK DD7VA DD7ZT DD8IU DD8JJ DD8SM DD8VX DD9DAG DD9HK DD9NT DD9PS DD9WG DF0AT DF0AW DF0BAU DF0BLM DF0BV DF0CG DF0CI DF0DA DF0DBP DF0DG DF0DJ DF0DOX DF0DX DF0EG DF0FFH DF0FY DF0HO DF0HQ DF0II DF0II/P DF0IT DF0PT DF0RI DF0RW DF0SAX DF0SL DF0SQ DF0SX DF0TX DF0WLG DF1AG DF1AL DF1ASG DF1BN DF1BV DF1DT DF1DX DF1FN DF1HE DF1HF DF1IAQ DF1JM DF1KBN DF1KSP DF1LON DF1MA DF1MDX DF1NP DF1OE DF1OLS DF1OM DF1PH DF1PU DF1PY DF1QQ DF1QR DF1SD DF1SZ DF1TJ DF1UWE DF1VB DF1VU DF1XC DF1YQ DF2AJ DF2AP DF2BO DF2BR DF2CD DF2CH DF2CK DF2CQ DF2EQ DF2FM DF2FR DF2FU DF2GH DF2GW DF2HL DF2IAX DF2IC DF2IY DF2KD DF2KK DF2LH DF2MC DF2MG DF2MM DF2NJ DF2NS DF2NU DF2NV DF2OK DF2OU DF2PH DF2PI DF2PN DF2PY DF2QC DF2QZ DF2RG DF2TG DF2TT DF2UA DF2UD DF2UQ DF2UU DF3AX DF3CB DF3DK DF3EH DF3GE DF3GY DF3HD DF3IS DF3IU DF3JM DF3JO DF3KJ DF3KT DF3KV DF3MC DF3OL DF3PN DF3QG DF3SM DF3SP DF3SS DF3TE DF3XP DF3XZ DF3ZE DF4BV DF4EU DF4FD DF4FQ DF4IE DF4KC DF4PA DF4PD DF4TD DF4TS DF4UM DF4WC DF4WG DF4WQ DF4XF DF4ZK DF4ZL DF4ZW DF4ZY DF5A DF5AN DF5AU DF5BM DF5BX DF5FF DF5FL DF5HG DF5HOA DF5KE DF5KT DF5LR DF5LW DF5PP DF5RF DF5SF DF5SR DF5UL DF5WBA DF5WN DF5WW DF5ZV DF6AD DF6DBF DF6EH DF6EX DF6FK DF6FR DF6IC DF6JC DF6JF DF6LQ DF6MU DF6PW DF6QB DF6QC DF6QN DF6QP DF6QV DF6RI DF6RK DF6TC DF6VL DF6WE DF6WM DF6WR DF6YC DF6ZY DF7AA DF7BL DF7DF DF7EF DF7EM DF7FC DF7GB DF7GG DF7IR DF7IS DF7JC DF7LA DF7LS DF7NR DF7OG DF7OM DF7PW DF7PX DF7RG DF7TH DF7TS DF7TT DF7TU DF7TW DF7TY DF7WT DF7XH DF7ZM DF7ZS DF8AA DF8AE DF8BB DF8CS DF8DHG DF8DT DF8DU DF8FT DF8HS DF8JB DF8JE DF8JK DF8KN DF8PJ DF8PR DF8QB DF8ST DF8TI DF8TM DF8TY DF8UO DF8VV DF8WA DF8WL DF8XC DF8ZH DF9DD DF9DH DF9DM DF9EY DF9FR DF9FS DF9FT DF9GH DF9GR DF9JL DF9KF DF9KQ DF9LJ DF9LW DF9LW/P DF9OB DF9OO DF9QT DF9RD DF9SH DF9TF DF9TS DF9VH DF9VJ DF9WB DF9WP DF9XV DF9YC DF9ZP DF9ZW DG0AAE DG0AM DG0CAW DG0CC DG0DG DG0DRF DG0DZ DG0GCS DG0KS DG0KT DG0LHI DG0OBU DG0OJO DG0OM DG0YS DG1ATN DG1BQC DG1CMZ DG1DHW DG1DTL DG1EA DG1FKA DG1FSK DG1GJH DG1HUD DG1IU DG1KOH DG1LS DG1MDQ DG1MHC DG1NI DG1NOE DG1NPM DG1PU DG1RPU DG1VL DG1YBN DG1YFF DG1YHA DG2BHB DG2EBW DG2GAW DG2JA DG2JO DG2KO DG2NMH DG2RSF DG2SEW DG2SRL DG2TOM DG2UA DG2US DG3DAA DG3DAT DG3DBO DG3EK DG3FAW DG3FK DG3LAL DG3LCH DG3LSM/P DG3MDE DG3NCZ DG3NEC DG3OBK DG3RCE DG3SBJ DG3YCC DG4DB DG4FCN DG4FDQ DG4GP DG4KAD DG4MR DG4NAT DG4NEC DG4R DG4VD DG4YGW DG5AA DG5AAP DG5BKL DG5BKR DG5DBT DG5EAE DG5EKE DG5FFF DG5HFS DG5KX DG5LAC DG5MEO DG5MEX DG5MLA DG5MLA/P DG5MMQ DG5MMW DG5OBB DG5PI DG5PY DG5SBK DG5YHE DG6CA/P DG6DAF DG6MIB DG6NBW DG6OAG DG6OBP DG6PU DG6PW DG6PY/P DG6SFU DG7DBN DG7DBR DG7FF DG7JB DG7KR DG7LAE DG7MAQ DG7OBV DG7RO DG7UAC DG7XO DG8AM DG8DBW DG8DP DG8EV DG8FAY DG8FBV DG8FI DG8KAJ DG8MH DG8NCY DG8NFB DG8NGC DG8OP DG8RAN DG8VE DG8YHO DG9AK DG9BBZ DG9BHU DG9KB DG9MA DG9MDM DG9MEH DG9MEX DG9NAO DG9NAV DG9SEH DG9SQ DG9VH DG9YCA DH0DX DH0FAB DH0GDS DH0GHU DH0GSU DH0HUI DH0JAE DH0KAA DH0MWH DH0PAZ DH0SP DH1AC DH1AKG DH1DE DH1DX DH1GD DH1JG DH1NAS DH1NJS DH1OAD DH1OK DH1PAL DH1PS DH1RAT DH1TS DH1TST DH1UZ DH1YAE DH2DAM DH2DAS DH2FW DH2KS DH2MA DH2MS DH2PC DH2PG DH2PL DH2URF DH2WQ DH2YAZ DH3FAN DH3FAW DH3FEN DH3FR DH3MAY DH3MD DH3MG DH3MIT DH3RB DH3RM DH3SW DH3UN DH3YC DH4BM DH4FAW DH4GK DH4JU DH4PAA DH4PSG DH4RJ DH4SC DH4SG DH5AO DH5FA DH5HS DH5JB DH5JG DH5MM DH5NT DH5PK DH6AB DH6AN DH6BH DH6DAO DH6FBP DH6JL DH6KS DH6LAS DH6UFB DH7ACI DH7KU DH7LF DH7PR DH7RD DH7SA DH8ACF DH8BAT DH8BQA DH8IJ DH8KV DH8MS DH8SL DH8VV DH8WE DH8WM DH9FAJ DH9FAV DH9FAW DH9GCD DH9JK DH9NBU DH9RCG DH9SB DJ0A DJ0ACA DJ0ACY DJ0AH DJ0BE DJ0CC DJ0DO DJ0DX DJ0FX DJ0GD DJ0GM DJ0IF DJ0JE DJ0JG DJ0MCH DJ0MCZ DJ0MDR DJ0MY DJ0QN DJ0QS DJ0RU DJ0SP DJ0TP DJ0VZ DJ0YI DJ0ZY DJ1AA DJ1AIB DJ1BV DJ1BWH DJ1CT DJ1CW DJ1EH DJ1FZ DJ1HA DJ1HF DJ1JM DJ1KJ DJ1MH DJ1MM DJ1ND DJ1OB DJ1OJ DJ1PE DJ1PQ DJ1QL DJ1RK DJ1RKS DJ1SD DJ1TO DJ1TU DJ1TW DJ1VT DJ1WJ DJ1WQ DJ1XT DJ1YF DJ1YFK DJ1YJ DJ1ZU DJ2AX DJ2BC DJ2BW DJ2C DJ2CW DJ2FR DJ2GM DJ2GMS DJ2HD DJ2HL DJ2IA DJ2JI DJ2JQ DJ2JS DJ2KUA DJ2ML DJ2MM DJ2MX DJ2NR DJ2PB DJ2PJ DJ2PR DJ2QV DJ2RG DJ2SEA DJ2SL DJ2ST DJ2SX DJ2TH DJ2TI DJ2UP DJ2UU DJ2VA DJ2VO DJ2XC DJ2XO DJ2YA DJ2YE DJ3AA DJ3AN DJ3DQ DJ3EF DJ3EZ DJ3FK DJ3GE DJ3GG DJ3HJ DJ3HW DJ3IW DJ3JB DJ3JD DJ3KJ DJ3KR DJ3LE DJ3NK DJ3OB DJ3OE DJ3OS DJ3PP DJ3RA DJ3SH DJ3ST DJ3TK DJ3TU DJ3WE DJ3XA DJ3XD DJ3XK DJ3ZF DJ4AK DJ4AX DJ4BG DJ4DN DJ4DY DJ4EN DJ4EY DJ4FZ DJ4GX DJ4IC DJ4JF DJ4KW DJ4LK DJ4MH DJ4MJ DJ4MM DJ4MO DJ4MZ DJ4OQ DJ4PI DJ4PK DJ4PT DJ4QG DJ4QO DJ4SN DJ4SO DJ4TS DJ4UR DJ4VP DJ4WM DJ4WT DJ4XD DJ4XR DJ4YA DJ5AA DJ5AN DJ5AV DJ5AZ DJ5BT DJ5BV DJ5CL DJ5DC DJ5DN DJ5DT DJ5EU DJ5FZ DJ5GK DJ5HD DJ5IR DJ5IW DJ5JH DJ5JK DJ5KB DJ5KW DJ5KX DJ5KZ DJ5LY DJ5MF DJ5MN DJ5MS DJ5MW DJ5MY DJ5OR DJ5PZ DJ5QE DJ5QK DJ5QV DJ5RE DJ5RQ DJ5TD DJ5TH DJ5TT DJ5UZ DJ5VB DJ5VW DJ5WG DJ6AL DJ6APA DJ6BQ DJ6CB DJ6DO DJ6FO DJ6GK DJ6GR DJ6HB DJ6HL DJ6HP DJ6JH DJ6KH DJ6KS DJ6LW DJ6MD DJ6NI DJ6NT DJ6OI DJ6OL DJ6OV DJ6OZ DJ6PE DJ6QP DJ6QT DJ6RA DJ6RN DJ6TB DJ6TK DJ6UP DJ6VM DJ6XB DJ6XG DJ6XV DJ6YD DJ6YX DJ6ZC DJ6ZJ DJ6ZM DJ7A DJ7AT DJ7BA DJ7EC DJ7ER DJ7FM DJ7IK DJ7JB DJ7JC DJ7LB DJ7LH DJ7OM DJ7OQ DJ7PA DJ7PI DJ7PR DJ7PT DJ7PW DJ7R DJ7RD DJ7RJ DJ7RL DJ7SR DJ7ST DJ7SW DJ7TW DJ7UC DJ7UD DJ7UN DJ7UO DJ7WG DJ7XB DJ7YM DJ7YP DJ7YR DJ7YT DJ7ZL DJ8BD DJ8EE DJ8EF DJ8EL DJ8ES DJ8EW DJ8FR DJ8GE DJ8MP DJ8NK DJ8NU DJ8OG DJ8QP DJ8RI DJ8RS DJ8RX DJ8RZ DJ8SW DJ8TK DJ8UL DJ8UV DJ8VC DJ8VI DJ8WI DJ9A DJ9AO DJ9BO DJ9CB DJ9CN DJ9CW DJ9DL DJ9DZ DJ9EF DJ9EG DJ9EI DJ9ER DJ9EU DJ9FB DJ9FG DJ9GS DJ9HX DJ9IE DJ9IO DJ9JD DJ9JX DJ9JY DJ9KM DJ9MH DJ9MT DJ9OI DJ9ON DJ9RB DJ9RM DJ9RQ DJ9RR DJ9SO DJ9UJ DJ9UM DJ9UP DJ9VA DJ9VS DJ9WJ DJ9XB DJ9ZB DK0A DK0AE DK0ALC DK0ALK DK0AY DK0BM DK0C DK0CO DK0CU DK0DB DK0ED DK0EE DK0FC DK0FL DK0GYB DK0HEL DK0HF DK0HUN DK0IA DK0IPA DK0IU DK0IW DK0IZ DK0LD DK0LE DK0MBB DK0MIT DK0MM DK0MN DK0OD DK0OG DK0PC DK0PM DK0PO DK0QQ DK0RX DK0SU DK0TZ DK0V DK0WL DK0WW DK0XB DK0YA DK1A DK1AA DK1AC DK1AF DK1AQ DK1AUP DK1AW DK1AX DK1BN DK1BT DK1BX DK1CY DK1DN DK1EAW DK1EI DK1ER DK1F DK1FB DK1FT DK1FW DK1GD DK1GW DK1HKU DK1HO DK1HV DK1II DK1IP DK1IZ DK1JU DK1KC DK1KF DK1KH DK1LRS DK1MA DK1MF DK1MM DK1NKW DK1NO DK1ODE DK1PG DK1PU DK1PZ DK1QC DK1QH DK1QO DK1QV DK1RS DK1SI DK1TR DK1TS DK1TX DK1VFA DK1WA DK1WB DK1WER DK1WU DK1WZ DK1XC DK1YP DK1YY DK2AI DK2AJ DK2AR DK2AT DK2AY DK2BH DK2BJ DK2CF DK2CRN DK2CX DK2DB DK2DD DK2DH DK2ELF DK2FG DK2GZ DK2HZ DK2IO DK2IX DK2JP DK2LO DK2ML DK2NPM DK2NZ DK2OY DK2PR DK2PS DK2PZ DK2QF DK2RT DK2RZ DK2SF DK2SG DK2SZ DK2TA DK2TG DK2TX DK2VA DK2VM DK2WC DK2WM DK2YI DK2YL DK2ZO DK3AX DK3BN DK3BT DK3CU DK3DG DK3DM DK3DUA DK3EG DK3FW DK3GG DK3GI DK3HA DK3HL DK3HV DK3KD DK3KN DK3LT DK3NU DK3PM DK3QZ DK3RA DK3RED DK3RP DK3SN DK3T DK3TL DK3UA DK3UO DK3UZ DK3W DK3WG DK3WI DK3WJ DK3WM DK3WN DK3WW DK3YD DK4A DK4AN DK4BY DK4CR DK4DJ DK4DS DK4EF DK4FG DK4GKR DK4IO DK4IS DK4JPC DK4JT DK4K DK4KI DK4KL DK4KW DK4LEH DK4LI DK4LX DK4MO DK4MX DK4NJ DK4QT DK4RL DK4RM DK4RW DK4SC DK4SDR DK4TP DK4UD DK4US DK4UV DK4VF DK4VW DK4VY DK4WA DK4WF DK4WW DK4XB DK4YF DK4YJ DK4ZZ DK5AD DK5AI DK5AL DK5AN DK5CCA DK5CS DK5D DK5DC DK5DQ DK5DS DK5E DK5EC DK5EQ DK5EZ DK5FF DK5GT DK5HB DK5HZ DK5IM DK5IP DK5IR DK5JA DK5JM DK5JX DK5KMA DK5M DK5MB DK5MJ DK5MO DK5MV DK5OS DK5PF DK5PQ DK5PR DK5QN DK5RO DK5SF DK5ST DK5TX DK5VA DK5WB DK5WL DK5WMA DK5WN DK5WO DK5XG DK5XI DK5ZO DK5ZX DK6AH DK6AJ DK6AN DK6AO DK6AR DK6AS DK6AV DK6AY DK6BT DK6CQ DK6CS DK6FI DK6HD DK6HW DK6IM DK6IR DK6MO DK6NC DK6NF DK6PW DK6QW DK6RF DK6RS DK6TA DK6TP DK6TV DK6UZ DK6WA DK6WH DK6WL DK6XR DK6XZ DK7AN DK7AW DK7BT DK7CH DK7CX DK7DV DK7DY DK7FP DK7FS DK7FX DK7FZ DK7GH DK7HA DK7IF DK7JQ DK7KR DK7M DK7MCX DK7MD DK7OM DK7PE DK7SP DK7SS DK7TM DK7UM DK7UU DK7VW DK7YY DK7YY/P DK7ZB DK7ZH DK7ZT DK8AF DK8AW DK8AX DK8CC DK8CX DK8DV DK8DX DK8EY DK8FA DK8FD DK8FS DK8IF DK8IL DK8IZ DK8JB DK8KF DK8MCT DK8MW DK8MZ DK8NC DK8NG DK8NI DK8NM DK8NT DK8NX DK8OL DK8PX DK8QY DK8RE DK8SR DK8SX DK8TP DK8TU DK8VK DK8YY DK8ZB DK9AP DK9BW DK9CG DK9CL DK9CR DK9CS DK9DA DK9EA DK9ETM DK9FEC DK9HE DK9HN DK9IP DK9JI DK9JS DK9KC DK9KX DK9LB DK9LJ DK9MH DK9MS DK9NCX DK9NM DK9OR DK9OY DK9PS DK9PY DK9PZ DK9QD DK9SF DK9TN DK9UMA DK9VA DK9WB DK9WI DL0AA DL0ABK DL0AO DL0AS DL0ASD DL0AT DL0BAS DL0BI DL0BL DL0BMW DL0BO DL0BV DL0C DL0CB DL0CS DL0DAB DL0DEF DL0DO DL0DPM DL0DSA DL0DWD DL0DWE DL0EH DL0EKO DL0ER DL0ERF DL0ERP DL0FC DL0FOR DL0FR DL0FTL DL0GD DL0GDP DL0GER/P DL0GL DL0HA DL0HFC DL0HN DL0HNF DL0HSC DL0II DL0IL DL0IR DL0IV DL0KB DL0KCT DL0KK DL0KU DL0KW DL0KWH DL0LC DL0LN DL0MB DL0MET DL0MFS DL0MFX DL0ML DL0N DL0NG DL0NP DL0NS DL0NZ DL0OS DL0P DL0PB DL0PE DL0QQ DL0RM/P DL0SLS/P DL0SN DL0SOP DL0SP DL0TD DL0TE DL0TU DL0TUM DL0UM DL0VLA DL0VLP DL0VN DL0VV DL0WAE DL0WB DL0WH DL0WW DL0XA DL0YE DL1A DL1AB DL1ABJ DL1AGS DL1AH DL1AIW DL1AKL DL1AKP DL1AKU DL1AKZ DL1AL DL1ALA DL1ALB DL1ALN DL1AMH DL1AMQ DL1ANA DL1AO DL1AOB DL1AOP DL1AP DL1APW DL1APX DL1AQU/P DL1AQY DL1ARD DL1ARH DL1ARJ DL1ARS DL1ASA DL1ASF DL1ASP DL1ATR DL1AUZ DL1AVA DL1AVF DL1AVK DL1AVU DL1AWM DL1AXX DL1AYU DL1AZA DL1AZI DL1AZK DL1AZZ DL1BA DL1BAM DL1BBP DL1BBR DL1BFR DL1BI DL1BKI DL1BKK DL1BKT DL1BRD DL1BRL DL1BTE DL1BUG DL1BUT DL1BWU DL1BYL DL1BYZ DL1BZA DL1CC DL1CF DL1CHK DL1CJ/P DL1CLM DL1CW DL1D DL1DA DL1DAW DL1DBR DL1DBV DL1DCT DL1DF DL1DF/P DL1DH DL1DPN DL1DQW DL1DQY DL1DQZ DL1DRE DL1DSN DL1DSW DL1DTC DL1DTF DL1DTL DL1DUO DL1DUS DL1DVE DL1DWL DL1DWR DL1DXA DL1DXF DL1EAL DL1ECG DL1ECK DL1EEC DL1EEZ DL1EF DL1EFD DL1EHR DL1EJA DL1EJD DL1EK DL1EKC/P DL1EKG DL1EKO DL1EL DL1ELY DL1EMY DL1EST DL1ET DL1EV DL1EZ DL1FAA DL1FCU DL1FDK DL1FDL DL1FKA DL1FMG DL1FYV DL1FZZ DL1GBQ DL1GCY DL1GDS DL1GHJ DL1GKC DL1GPR DL1GTZ DL1HAA DL1HBD DL1HBL DL1HCM DL1HIK DL1HQE DL1HRN DL1HRY DL1HSI DL1HSR DL1HTX DL1HTY DL1HUH DL1HXA DL1IA DL1IAO DL1ICB DL1II DL1JB DL1JCM DL1JDQ DL1JDU DL1JEL DL1JFM DL1JGG DL1JGO DL1JIU DL1JKK DL1JML DL1JMS DL1JNA DL1JPF DL1JSO DL1KAS DL1KCQ DL1KEW DL1KLO DL1KSE DL1KSE/P DL1KUN DL1KUR DL1KVS DL1KWK DL1KZA DL1LAE DL1LAF DL1LH DL1LOD DL1LQA DL1LQR DL1LRA DL1LRI DL1LSH DL1LTK DL1MAJ DL1MDU DL1MDV DL1MGB DL1MHJ DL1MIM DL1MUC DL1NE DL1NEO DL1NFC DL1NFG DL1NGS DL1NHW DL1NKS DL1NPG DL1NRC DL1NUB DL1NUX DL1OD DL1OJ DL1OLI DL1PF DL1PR DL1PT DL1QQ DL1QW DL1RCD DL1REM DL1RG DL1RH DL1RLB DL1RMO DL1RNT DL1ROJ DL1ROT DL1RPC DL1RTD DL1RTL DL1RTS DL1RWO DL1RWS DL1RYD DL1SA DL1SAN DL1SBF DL1SCH DL1SEC DL1SKK DL1SMA DL1SP DL1SRS DL1ST DL1STG DL1STV DL1SVA DL1SWB DL1SWT DL1SXB DL1THB DL1TKB DL1TKL DL1TL DL1TPY DL1TRK DL1TS DL1TTX DL1UP DL1USB DL1VDL DL1VF DL1VFR DL1VJL DL1VRL DL1VTL DL1WA DL1WH DL1XA DL1XP DL1XT DL1XW DL1XX DL1YAL DL1YAW DL1YCZ DL1YD DL1YEF DL1YEL DL1YEN DL1YFF DL1YGH DL1YP DL1Z DL1ZBO DL1ZM DL1ZU DL2A DL2AA DL2ABM DL2AJB DL2AK DL2AL DL2AMD DL2ANM DL2ARD DL2ARG DL2ARH DL2ARN DL2ASB DL2AWA DL2AWB DL2AXA DL2AXM DL2AYJ DL2AYK DL2BAQ DL2BBV DL2BIS DL2BM DL2BQD DL2BUM DL2BWG DL2BWO DL2CC DL2CHN DL2CK DL2DCD DL2DCX DL2DIE DL2DQL DL2DRM DL2DRU DL2DSL DL2DTJ DL2DTL DL2DUA DL2DVE DL2DWP DL2DX DL2DXA DL2DYL DL2EAB DL2EAM DL2F DL2FAG DL2FAR DL2FCA DL2FCB DL2FDL DL2FK DL2FP DL2GAR DL2GBB DL2GF DL2GGE DL2GWZ DL2HAE DL2HCB DL2HJ DL2HRE DL2HRF DL2HRT DL2HRZ DL2HUI DL2HUM DL2HVM DL2HWA DL2HWB DL2HWH DL2HWI DL2HX DL2HYH DL2IAN DL2IH DL2IPU DL2JAA DL2JAW DL2JIM DL2JKE DL2JLB DL2JRM DL2JT DL2JX DL2KDW DL2KQ DL2KUA DL2KUF DL2KUZ DL2LAR DL2LI DL2LMS DL2LRT DL2LSM DL2LTM DL2LZ DL2MDU DL2MDZ DL2MGF DL2MIH DL2MIJ DL2MJ DL2MKX DL2MLU DL2MM DL2MRK DL2MSA DL2MWB DL2NAI DL2NBH DL2NBU DL2NBY DL2NC DL2NEA DL2NEE DL2NFC DL2NO DL2NY DL2OBN DL2OBO DL2OCE DL2OE DL2OM DL2PAN DL2QB DL2QT DL2RBB DL2RBT DL2RMC DL2RPS DL2RSH DL2RTJ DL2RTL DL2RU DL2RUG DL2SAX DL2SBF DL2SER DL2SUB DL2SWB DL2SWI DL2SWN DL2SWW DL2TG DL2TI DL2TOS DL2UH DL2UR DL2UX DL2VA DL2VB DL2VBN DL2VK DL2VLA DL2VM DL2VNL DL2VPF DL2VPO DL2VRL DL2VSF DL2VVL DL2VWR DL2WB DL2WJT DL2XB DL2YCA DL2YED DL2YET DL2YL DL2YMR DL2ZA DL2ZAE DL2ZBO DL2ZN DL3ABL DL3AG DL3ALI DL3AMB DL3AMW DL3ANK DL3AO DL3APK DL3APO DL3AQJ DL3ARH DL3ARK DL3ARM DL3AS DL3AVI DL3AWB DL3AWI DL3AYJ DL3AZI DL3BAL DL3BBY DL3BCR DL3BCU DL3BPC DL3BQA DL3BRA DL3BRE DL3BUE DL3BVA DL3BXX DL3CA DL3DBY DL3DCQ DL3DQL DL3DRN DL3DTH DL3DXF DL3DXX DL3EA DL3EBX DL3EEE DL3EK DL3EL DL3FBB DL3FBJ DL3FCG DL3FDT DL3FF DL3FSC DL3G DL3GA DL3GCB DL3GD DL3GDS DL3GER DL3HAA DL3HRT DL3HRW DL3HRZ DL3HSC DL3HWD DL3HXX DL3IAC DL3JA DL3JAN DL3JFN DL3JH DL3JJ DL3JON DL3JPN DL3JRA DL3KDC DL3KDS DL3KF DL3KO DL3KP DL3KUD DL3KUF DL3KUM DL3KVR DL3KVT DL3KWF DL3KWR DL3KZA DL3LA DL3LAB DL3LBM DL3LE DL3MBG DL3MBJ DL3MBX DL3MCO DL3MDJ DL3MGK DL3MGN DL3MR DL3NAA DL3NCR DL3NCS DL3NDD DL3NDP DL3NGN DL3NSM DL3OAU DL3OBQ DL3OBW DL3OCF DL3OH DL3OHB DL3OR DL3OV DL3PA DL3PN DL3PU DL3QQ DL3RAD DL3RCF DL3RDM DL3RSB DL3SBD DL3SCN DL3SDN DL3SEM DL3SWS DL3SZ DL3TC DL3TD DL3TNA DL3VDL DL3VL DL3VTA DL3VTL DL3VZL DL3WKG DL3XM DL3XS DL3YA DL3YAF DL3YCF DL3YCX DL3YDY DL3YEE DL3YHM DL3YL DL3YM DL3ZAI DL3ZH DL3ZI DL3ZM DL3ZZA DL4A DL4AAE DL4AC DL4ALI DL4AO DL4AWA DL4BBJ DL4BCJ DL4CC DL4CF DL4CH DL4CW DL4DBG DL4DBM DL4DCE DL4DCL DL4DG DL4DKM DL4DQA DL4DTL DL4DZL DL4EAX DL4EBA DL4EBV DL4EBW DL4EDB DL4EDC DL4EPM DL4FAP DL4FCH DL4FDI DL4FDM DL4FF DL4FN DL4FO DL4GBA DL4GN DL4HG DL4HG/P DL4HRM DL4HSI DL4HTK DL4HWI DL4IAH DL4IAL DL4IAZ DL4IW DL4IZ DL4JLM DL4JMN DL4JNB DL4JU DL4JWU DL4JYT DL4KCA DL4KG DL4KUG DL4KW DL4LAM DL4LAX DL4LBK DL4LBM DL4LH DL4MA DL4MAQ DL4MAU DL4MBY DL4MCF DL4MDO DL4ME DL4MEV DL4MFC DL4MFF DL4MFP DL4MHA DL4MN DL4MNG DL4MP DL4NBE DL4NEG DL4NER DL4NN DL4NT DL4NY DL4OCE DL4OCH DL4OL DL4PU/P DL4PY DL4R DL4RAK DL4RAT DL4RBV DL4RCK DL4RDJ DL4RDP DL4RU DL4RX DL4SDW DL4SL DL4SUN DL4SVA DL4SZB DL4TJ DL4TL DL4TZ DL4UCS DL4UL DL4UNY DL4VAI DL4VAQ DL4VBU DL4VCG DL4VCR DL4VM DL4VQ DL4WA DL4WD DL4WDK DL4WG DL4XU DL4YAO DL4YAR DL4YBP DL4YIH DL4YR DL4YY DL4ZA DL4ZB DL4ZBP DL4ZBU DL4ZBY DL4ZM DL5AI DL5ALW DL5AMF DL5AN DL5ANE DL5ANS DL5ANT DL5AOJ DL5ARM DL5ARZ DL5ASE DL5ASK DL5AWI DL5AX DL5AXJ DL5AXX DL5AYI DL5AZA DL5BAW DL5BCF DL5CD DL5CF DL5CK DL5CL DL5CO DL5CR DL5CT DL5CW DL5CX DL5DBH DL5DCL DL5DD DL5DF DL5DRM DL5DSM DL5DWF DL5DXS DL5DZ DL5EBF DL5FAC DL5FAM DL5FBB DL5FCV DL5FCZ DL5FR DL5FU DL5GAC DL5GBG DL5GBN DL5GCH DL5HAB DL5HN DL5HP DL5IAH DL5IC DL5IO DL5JAB DL5JAG DL5JAG/P DL5JAN DL5JBW DL5JH DL5JRA DL5JS DL5JSP DL5JWL DL5KM DL5KMS DL5KUA DL5KUD DL5KUR DL5KUS DL5KUT DL5KVV DL5L DL5LBY DL5LWM DL5MAE DL5MBY DL5MC DL5MEV DL5MFL DL5MG DL5MHR DL5MK DL5ML DL5MLO DL5MO DL5MU DL5MX DL5NA DL5NDX DL5NO DL5NUA DL5OAB DL5OAS DL5OB DL5OCD DL5OO DL5PW DL5QS DL5RBR DL5RBW DL5RDI DL5RDO DL5RDP DL5RF DL5RJ DL5RK DL5RM DL5RMH DL5RU DL5SBA DL5SE DL5SL DL5ST DL5SVB DL5SWB DL5SZB DL5UR DL5VW DL5VZ DL5WC DL5WG DL5WK DL5WM DL5WP DL5WS DL5WW DL5WX DL5XAT DL5XJ DL5YAL DL5YAS DL5YCI DL5YEE DL5YL DL5YM DL5YWM DL5YYM DL5ZA DL5ZAA DL5ZB DL5ZBA DL5ZBO DL5ZBS DL5ZG DL5ZL DL5ZL/P DL60DARC DL6AAF DL6AAO DL6ABB DL6ABN DL6AG DL6ALJ DL6AP DL6AST DL6ATI DL6ATM DL6AWJ DL6AZ DL6BBR DL6BBT DL6BJ DL6BLD DL6BQE DL6BR DL6CGB DL6CGX DL6CKP DL6CMK DL6CNG DL6CT DL6CWL DL6CX DL6DCD DL6DH DL6DSA DL6DVU DL6EAQ DL6ERD DL6ET DL6EZ DL6FA DL6FAH DL6FAN DL6FAX DL6FBH DL6FBL DL6FBR DL6FCB DL6FRG DL6GV DL6HCF DL6HRW DL6IAN DL6IY DL6JCB DL6JGN DL6JI DL6JV DL6JZ DL6KAC DL6KCR DL6KHW DL6KO DL6KR DL6KT DL6KVA DL6KVH DL6KWN DL6KY DL6LBQ DL6LW DL6MAO DL6MDG DL6MFK DL6MGR DL6MHG DL6MHW DL6MIG DL6MN DL6MRS DL6MTA DL6MWG DL6NAL DL6NAL/P DL6NBR DL6NCY DL6NDW DL6NEF DL6NWA DL6OA DL6OAA DL6OCF DL6OCM DL6OZ DL6PO DL6QW DL6RAI DL6RAW DL6RAW/P DL6RBG DL6RBH DL6RBO DL6RCD DL6SDW DL6SFR DL6SRD DL6TK DL6TQ DL6UAA DL6UAM DL6UBM DL6UGF DL6UHA DL6UHD DL6UJ DL6UKL DL6UKW DL6UM DL6UMF DL6UNF DL6UOF DL6USA DL6VK DL6VRG DL6WT DL6XA DL6XK DL6XX DL6XZ DL6YCU DL6YDH DL6YFG DL6ZBN DL6ZFG DL6ZXG DL7AAG DL7AEV DL7AFY DL7AMU DL7ANR DL7AOJ DL7AOS DL7APK DL7APT DL7AQT DL7AQU DL7ARJ DL7ARM DL7ARV DL7AT DL7AU DL7AXM DL7BA DL7BC DL7BPM DL7BQ DL7BW DL7BY DL7CB DL7CK DL7CM DL7CO DL7CS DL7CU DL7CX DL7DAX DL7DCL DL7DJ DL7DO DL7DS DL7DZ DL7ED DL7EDH DL7ET DL7FA DL7FCQ DL7FN DL7GEM DL7GN DL7GP DL7GW DL7HT DL7HU DL7HZ DL7IO DL7JAN DL7JOM DL7JRD DL7JV DL7LG DL7LX DL7LZ DL7OD DL7OK DL7ON DL7PA DL7PV DL7QU DL7QW DL7RAG DL7RV DL7SAQ DL7SBV DL7SI DL7SLB DL7SP DL7TJ DL7UAJ DL7UCW DL7UCX DL7UDA DL7UDG DL7UEB DL7UFN DL7UG DL7UGO DL7UIO DL7UK DL7UKA DL7ULM DL7UM DL7UMK DL7UMK/P DL7UML DL7UPF DL7UPN DL7URH DL7USA DL7USY DL7UVO DL7UWE DL7UWR DL7UXG DL7VAF DL7VAI DL7VBJ DL7VEE DL7VFM DL7VHP DL7VIO DL7VKG DL7VMM DL7VOE DL7VPE DL7VPO DL7VRG DL7VSN DL7VX DL7XR DL7XU DL7YAD DL7YS DL7YY DL8AAE DL8AAM DL8AAV DL8ABK DL8AWK DL8AX DL8BED DL8BTE DL8BU DL8CA DL8CKL DL8CMM DL8CN DL8CO DL8CWA DL8DAS DL8DAZ DL8DBW DL8DC DL8DUL DL8DW DL8DWW DL8DX DL8DXF DL8DXL DL8DXW DL8DYL DL8DZV DL8EAQ DL8FD DL8FL DL8FP DL8HA DL8HCO DL8HK DL8IH DL8JDX DL8JEW DL8JS DL8KAC DL8KJ DL8KX DL8LAS DL8LBK DL8LDN DL8MBS DL8MKG DL8NBE DL8NBJ DL8NCF DL8NCG DL8NU DL8OBF DL8OH DL8PG DL8QC DL8QS DL8R DL8RB DL8RBS DL8RCL DL8RDL DL8RJ DL8SAD DL8SAS DL8SCG DL8SH DL8SMC DL8STW DL8TG DL8TL DL8TN DL8TR DL8UAA DL8UAT DL8UCC DL8UFO DL8UGF DL8UI DL8UKE DL8ULO DL8UNF DL8UO DL8UP DL8USA DL8UVG DL8UWE DL8VN DL8VX DL8WAA DL8WAZ DL8WBB DL8WEM DL8WN DL8WX DL8XF DL8YAU DL8YBM DL8YH DL8YR DL8YS DL8ZAJ DL8ZU DL8ZVG DL9ABM DL9AJ DL9AKA DL9AWI DL9BBE DL9BG DL9CE DL9CI DL9CIA DL9CM DL9CW DL9DA DL9DAC DL9DAJ DL9DRA DL9DRZ DL9DWR DL9DYL DL9ECA DL9EE DL9EI DL9EJ DL9EO DL9FB DL9FC DL9GCG DL9GFB DL9GMC DL9GMM DL9GMN DL9GR DL9GRE DL9GS DL9GTB DL9GTI DL9GTK DL9GWD DL9HB DL9HC DL9HD DL9HK DL9IE DL9IU DL9JBN DL9JL DL9JN DL9JON DL9JSO DL9LF DL9LM DL9MBI DL9MBZ DL9MCD DL9MCO DL9MDI DL9MEN DL9MFY DL9MKA DL9MKN DL9MRF DL9MS DL9MWG DL9NCR DL9NDS DL9NDV DL9NEF DL9NEI DL9NM DL9NO DL9OC DL9OCG DL9OLI DL9PT DL9QJ DL9RBT DL9RCF DL9RT DL9SBL DL9SEV DL9SFE DL9SN DL9SUB DL9SXX DL9TJ DL9UJF DL9UO DL9WC DL9WJH DL9WO DL9XAW DL9YAJ DL9YBY DL9YCS DL9YDW DL9YX DL9ZAL DL9ZAP DL9ZEA DL9ZP DL9ZWG DM0E DM0Y DM1A DM1AM DM1DE DM1FS DM1KE DM1LM DM1PW DM1RG DM1T DM1TT DM1YP DM1YS DM2A DM2AF DM2AML DM2AOC DM2AUO DM2AWM DM2BM DM2BPG DM2BR DM2BRF DM2C DM2DMI DM2DTH DM2DXA DM2EV DM2FDO DM2GFN DM2GG DM2LB DM2ORI DM2RG DM2RN DM2RP DM2TO DM2TS DM2XO DM3B DM3BJ DM3CW DM3DA DM3DL DM3F DM3FF DM3FG DM3FZN DM3GH DM3HZN DM3K DM3KF DM3KTO DM3KXL DM3KZN DM3MH DM3ML DM3MM DM3MR DM3PKK DM3PYA DM3RB DM3SCK DM3SU DM3VL DM3W DM3WSO DM3X/P DM3XI DM3ZF DM4DB DM4DX DM4G DM4IM DM4KR DM4M DM4TI DM4TNF DM4WL DM4YWL DM50KWF DM50PSF DM5A DM5AA DM5BB DM5CQ DM5CT DM5DM DM5DX DM5EL DM5GI DM5JBN DM5JF DM5JL DM5LK DM5MA DM5MM DM5R DM5TI DM5WF DM5WH DM5Z DM5ZQL DM6DL DM6HK DM6TM DM6YY DM7C DM7DX DM7MM DM7MRE DM7RM DM7XT DM9CCOL DM9JM DM9K DM9KT DM9LSB DN1CS DN1JC DN1SJ DN2LD DN2WD DN2WH DN3AMH/P DN4NER DN5KID DN5PP DN6WT DO1AYJ DO1BEN DO1CDE DO1CO DO1CS DO1CTL DO1DEL DO1DJJ DO1DMI DO1DQ DO1DXX DO1ESK DO1FV DO1GC DO1GM DO1HGS DO1HPW DO1IJB DO1IQ DO1JVA DO1JWZ DO1KM DO1KRT DO1KUB DO1MGN DO1MKA DO1NWA DO1OHL DO1PKL DO1PM DO1RTO DO1SAJ DO1SJF DO1SKJ DO1SSB DO1THG DO1TU DO1UZ DO1VK DO1WRB DO1WUP DO1YCL DO1YHN DO1YNM DO1YWF DO2BL DO2DC DO2DT DO2GN DO2HO DO2JP DO2MGY DO2ML DO2MS DO2SBE DO2SYD DO2TC DO2WAL DO2YPB DO3AH DO3BJ DO3BST DO3ED DO3HEL DO3HF DO3IR DO3LU DO3ME DO3MU DO3NN DO3NO DO3PKE DO3SH DO3SP DO3UWE DO3VE DO3WBH DO3WG DO4APB DO4AV DO4DW DO4DXA DO4HRE DO4JS DO4JU DO4KC DO4NW DO4OD DO4RJ DO4TP DO4YU DO5AWE DO5DF DO5DGH DO5FE DO5HCS DO5KWH DO5LN DO5MCL DO5MST DO5OT DO5RT DO5SL DO5SU DO5TAN DO5WA DO5WD DO5WW DO6AL DO6DZ DO6ELW DO6GZ DO6HMA DO6JJ DO6KDS DO6MBA DO6NI DO6OA DO6PP DO6RO DO6SD DO6SR DO6TPG DO6YL DO7ADH DO7AF DO7AK DO7DC DO7DSV DO7DU DO7FC DO7HS DO7JF DO7JF/P DO7JVB DO7LR DO7MAN DO7OM DO7RAF DO7WP DO8AH DO8CW DO8DL DO8LA DO8OL DO8RW DO8TB DO8YX DO9BC DO9PL DO9RE DO9ST DP1POL DP3D DP3E DP4A DP4D DP4K DP4N DP4P DP4W DP5A DP5E DP5M DP5W DP5X DP6A DP6M DP6T DP7A DP8P DP9A DP9I DP9Z DQ0A DQ0B DQ0L DQ1A DQ3M DQ4Q DQ4T DQ4W DQ5T DQ6E DQ8N DR0K DR0X DR10TCC DR12IAAF DR1A DR1F DR1R DR1X DR2010L DR2010N DR2010O DR20MVP DR2C DR2N DR2P DR2Q DR2W DR3R DR3W DR3X DR4A DR4G DR4T DR4W DR5A DR5L DR5N DR5O DR5X DR5Z DR600UL DR60GER DR6J DR775TMG DR7T DR800GRZ DR888PL DR8M DS0HAN DS1AFL DS1CPT DS1JFY DS1OKY DS1PEG DS1PRD DS1QMV DS1REE DS1RJI DS2GOO DS2GWM DS2JJV DS2KGJ DS2OQF DS3FGV DS3MLG/2 DS4CNB DS4DBF DS4DBG DS4DRT DS4FMG DS4GCS DS4GEX DS4GGM DS4GKF DS4GKG DS4OVT DS5ACV DS5ANY DS5BRE DS5DNO DS5DYM DS5FNE DS5KJR DS5KOU DS5QLJ DS5TOS DS5UST DT0IT DU1AV DU1BP DU1EG DU1EV DU1IVT DU1JI DU1LC DU1UGZ DU3NXE DU7/PA0HIP DU9/DL5SDF DU9RG DV1/JO7KMB DV1JM DV1SDT DV1UBY DV1VSR DV5PO DW1VKT DX1ARM DX1CW DX1DBT DX1HQ DX1J DX1M DX1PRS DX9DX E20AC E20AS E20HHK E20WXA E20YLM E21AOY E21EIC E21EJC E21IZC E21YDP E51CG E51COF E51JD E51QQQ E51USA E70JA E70M E70R E70T E71A E71DX E71EDV E71EZC E71M E71S E71W E72B E72C E72DX E72MM E72U E72W E72X E73ACL E73BB E73C E73DX E73ECJ E73ESP E73F E73FDE E73M E73MJ E73MS E73O E73PY E73S E73T E73TTT E73U E73W E73X E73XL E73Y E73YL E74A E74AA E74AW E74BQ E74BY E74CN E74DT E74DX E74EBL E74EE E74FN E74GZ E74IO E74IW E74JS E74KC E74KM E74QA E74QG E74SD E74VT E74WN E74X E74Y E74ZZ E75A E75AZ E75MC E75MJ E75O E76C E77A E77BA E77C E77CFG E77DX E77E E77EZ E77G E77J E77K E77M E77O E77R E77U E77XZ E77Y E78AA E78ATM E78CB E78DX E78G E79D E79EA E79Z E7DX E7HQ E7SRRS EA1AAA EA1AAW EA1ABS EA1ABT EA1ACP EA1AHY EA1AKS EA1AP EA1APS EA1APV EA1AQ EA1AQE EA1AR EA1AS EA1ASC EA1ASG EA1AST EA1AUS EA1AUT EA1AW EA1BAF EA1BFZ EA1BGV EA1BHR EA1BIM EA1BLA EA1BLI EA1BLX EA1BNF EA1BP EA1BRB EA1BTX EA1BXX EA1CBX EA1CCM EA1CCW EA1CDI EA1CF EA1CGK EA1CJ EA1CJF EA1CJH EA1CP EA1CQ EA1CRL EA1CS EA1CUB EA1DDU EA1DFP EA1DGG EA1DIW EA1DKV EA1DR EA1DRL EA1DVY EA1DZM EA1EA EA1EAU EA1EED EA1EEY EA1EMB EA1ET EA1EUI EA1EVR EA1EVS EA1EWC EA1EWY EA1EWY/P EA1EXE EA1EY EA1EYG EA1FAU EA1FBU EA1FCI EA1FD EA1FDI EA1GA EA1GAZ EA1GFT EA1GHT EA1GIB EA1GPL EA1GT EA1GWL EA1GWM EA1GY EA1HDD EA1HF EA1HFI EA1HLH EA1HLL EA1HOE EA1IT EA1JK EA1JO EA1JW EA1KC EA1KE EA1KY EA1MR EA1MV EA1MX EA1ND EA1NE EA1NX EA1OD EA1OS EA1OT EA1PO EA1PP EA1QA EA1QK EA1QT EA1RCR EA1RG EA1RJ EA1RKA EA1RU EA1SA EA1SB EA1SZ EA1TI EA1URF EA1URO EA1VIC EA1VT EA1WX EA1XT EA1YB EA1YG EA1YO EA1YR EA2AAZ EA2ABI EA2AFV EA2AOO/P EA2AOS EA2AP EA2ASB EA2AVM EA2AWF EA2AZ EA2BCJ EA2BD EA2BEF EA2BNU EA2BVV EA2CAR EA2CCG EA2CE EA2CHL EA2CIN EA2CJ EA2CNU EA2CQ EA2CTB EA2CXS EA2CXT EA2CYJ EA2DCF EA2DK EA2DNR EA2DOT EA2DPN EA2DR EA2EA EA2EC EA2GP EA2HA EA2IA EA2IF EA2JB EA2JE EA2KU EA2KV EA2KY EA2LU EA2MH EA2NN EA2OK EA2PI EA2QU EA2RC EA2RCF EA2RKG EA2RW EA2RY EA2SS EA2SW EA2TO EA2VE EA2VI EA2WD EA2YY EA3/CX8CP EA3/EA8TL EA3/K1MM EA3AAH EA3AEL EA3AGZ EA3AIZ EA3AKA EA3ALV EA3ALZ EA3AMS EA3ANE EA3APV EA3AQL EA3AR EA3AS EA3ATM EA3ATO EA3AV EA3AVV EA3AXM EA3AYK EA3BCK EA3BFK EA3BHK EA3BJM EA3BOW EA3BOX EA3BT EA3CC EA3CCN EA3CEC EA3CEC/EA1 EA3CI EA3CT EA3CUU EA3CXG EA3CZ EA3CZM EA3CZR EA3DEN EA3DIQ EA3DTD EA3DUM EA3DVJ EA3DW EA3DWS EA3EAN EA3EDU EA3EEE EA3EGB EA3EIQ EA3EJI EA3EJJ EA3ELZ EA3ESE EA3ESJ EA3EU EA3EVL EA3EVR EA3EXP EA3EYD EA3EZD EA3FAG EA3FAR EA3FF EA3FHC EA3FHP EA3FLS EA3FYD EA3GBA EA3GBU EA3GEG EA3GEO EA3GHZ EA3GLB EA3GNP EA3GOA EA3GOD EA3GP EA3GUG EA3GXH EA3GXJ EA3GXL EA3GYK EA3GYK/5 EA3HAB EA3HAN EA3HCJ EA3HCL EA3HCY EA3HEU EA3HP EA3IM EA3IN EA3JJ EA3JL EA3JW EA3KN EA3KT EA3KU EA3LA EA3LD EA3LS EA3MM EA3NA EA3NB EA3NE EA3NJ EA3NO EA3NP EA3NT EA3NU EA3NW EA3NY EA3ODC EA3OH EA3OR EA3PT EA3QP EA3RCB EA3RKR EA3RR EA3SD EA3TI EA3TJ EA3WD EA3WX EA3XQ EA4/DH1TW EA4/UY7CW EA4/YO8DHC EA4AFP EA4AGI EA4AXG EA4AYD EA4AYU EA4BF EA4BGM EA4BHK EA4BM EA4BT EA4BV EA4BZ EA4CFY EA4CJI EA4CQT EA4CRP EA4CS EA4CS/P EA4CU EA4CW EA4CWN EA4DAT EA4DB EA4DEC EA4DEI EA4DLX EA4DQX EA4DRV EA4DTN EA4DTV EA4DUT EA4DW EA4DX EA4EER EA4EIY EA4EJR EA4EMC EA4EN EA4EPE EA4EPY EA4EQ EA4EQD EA4ERJ EA4ERX EA4ERZ EA4ESG EA4ETW EA4EUI EA4FJJ EA4FKI EA4FL EA4FLS EA4FLY EA4FQO EA4FSL EA4FSW EA4FTP EA4GA EA4GB EA4HD EA4IJ EA4IP EA4IS EA4JJ EA4KA EA4KD EA4KG EA4KR EA4KT EA4LG EA4LU EA4MA EA4NP EA4NW EA4OA EA4PL EA4RCT EA4RE EA4RF EA4SG EA4TD EA4TG EA4TK EA4TX EA4URA EA4UV EA4WC EA4WD EA4WP EA4WT EA4WW EA4XT EA4YK EA4ZK EA5/DG9NED EA5/DJ1MH EA5/DL5EO EA5/UT2XD EA5ABH EA5AE EA5AER EA5AID EA5AIO EA5ARC EA5ASF EA5ASM EA5AT EA5ATK EA5AVL EA5AVW EA5AWJ EA5AX EA5BAH EA5BM EA5BS EA5BVS EA5BWR EA5BY EA5BZ EA5CEE EA5CLH EA5CP EA5CRU EA5CW EA5CZM EA5DB EA5DCL EA5DF EA5DFV EA5DIT EA5DKU EA5DM EA5DT EA5DY EA5EA EA5EH EA5EI EA5EM EA5EM/2 EA5EN EA5EOR EA5ET EA5EU EA5EV EA5EXK EA5FCW EA5FFC EA5FHC EA5FID EA5FIV EA5FJD EA5FKX EA5FL EA5FQ EA5FU EA5FV EA5FWW EA5FX EA5GF EA5GI EA5GIE EA5GIN EA5GL EA5GS EA5GSD EA5GSW EA5GTQ EA5GU EA5GUD EA5GUI EA5GVV EA5GVZ EA5GX EA5GXI EA5GZY EA5HAB EA5HH EA5HIH EA5HJO EA5HKA EA5HKQ EA5HKS EA5HM EA5HPX EA5HT EA5ID EA5IY EA5JC EA5JK EA5JW EA5KA EA5KB EA5KD EA5KGD EA5KV EA5KY EA5LA EA5LK EA5LV EA5ON EA5PS EA5PW EA5QB EA5RM EA5RM/7 EA5RS EA5RU EA5TD EA5TN EA5TS EA5TT EA5UB EA5URB EA5VK EA5VN EA5WO EA5WP EA5XC EA5XY EA5YE EA5YU EA6ABB EA6AFM EA6AGA EA6AIV EA6AZ EA6BC EA6BF EA6BH EA6DB EA6DD EA6DX EA6IB EA6LP EA6NB EA6OM EA6SX EA6UN EA6UP EA6XQ EA6ZS EA7/DL2FP/P EA7/DL3XO EA7AA EA7AAW EA7AE EA7AGX EA7AHA EA7AJR EA7AKK EA7ATX EA7AVP EA7AZA EA7BJ EA7CB EA7CHO EA7CIX EA7CJN EA7CVF EA7CWA EA7DLD EA7ELY EA7EN EA7ESM EA7EU EA7EYQ EA7FIQ EA7FR EA7FRX EA7FUN EA7GSU EA7GV EA7GYS EA7GZT EA7HCB EA7HCJ EA7HE EA7HEG EA7HF EA7HFH EA7HFI EA7HG EA7HGH EA7HHR EA7HHS EA7HHV EA7HKE EA7HLU EA7HLZ EA7HW EA7HXQ EA7HY EA7HYL EA7IBK EA7ICN EA7ICN/2 EA7IHD EA7ISH EA7JX EA7KS EA7LL EA7LM EA7LS EA7LU EA7MK EA7MT EA7NL EA7NW EA7OR EA7OT EA7RM EA7RU EA7SG EA7ST EA7TG EA7TL EA7TN EA7TV EA7UU EA7VJ EA7WA EA7WL EA7ZY EA8/DF2XE EA8/DK5LM EA8/DL3KVR EA8/DL8NU EA8/EA4SV EA8/LA8WF EA8/OH2NT EA8/OH6CS EA8/OX3XR EA8AG EA8AH EA8AJO EA8AJY EA8AK EA8ANE EA8AOC EA8AVK EA8AX EA8BEX EA8BGO EA8BMG EA8BPX EA8BQM EA8BTM EA8BVP EA8BZH EA8CAC EA8CDI EA8CDP EA8CER EA8CFY EA8CMX EA8CN EA8CNB EA8CNR EA8CPN EA8CQW EA8CSG EA8DA EA8DD EA8DG EA8DP EA8EU EA8EW EA8IK EA8IT EA8JA EA8KG EA8KK EA8KV EA8LS EA8MQ EA8MT EA8NB EA8NQ EA8OM EA8TL EA8TT EA8TX EA8UK EA8UP EA8URL EA8VD EA8ZS EA9BO EA9BW EA9EU EA9IE EA9LZ EA9PY EA9Z EB1APH EB1BOA EB1CFH EB1DMQ EB1DNA EB1ERK EB1EVX EB1GCA EB1IFI EB1LA EB1TR EB1WW EB2BXL EB2CYQ EB2FWD EB2GFA EB2RA EB3CML EB3EPP EB3EPR EB3EPR/2 EB3FLY EB3FSS EB3JT EB4FJV EB4GER EB5AL EB5ARP EB5BBA EB5CNK EB5CS EB5GGB EB5GIV EB5GMH EB5HRX EB5KAU EB5KB EB5KBB EB5RR EB5WC EB6AOK EB7ABJ EB7CIN EB7DX EB8AH EC1AAC EC1ABR EC1AE EC1AIJ EC1AJV EC1AQT EC1CSV EC1CT EC1CTV EC1DBO EC1DLH EC1DMY EC1KR EC1KV EC2ACC EC2ADT EC2ASL EC2AWD EC2BAD EC2DX EC3AAJ EC3ACH EC3AED EC3PL EC4AIU EC4AIV EC4CBZ EC5AB EC5AGM EC5AMK EC5APA EC5BNL EC5BZR EC5CR EC5CSW EC5CYI EC5EC EC5KB EC5WW EC6AAE EC6TK EC6UD EC7ABV EC7ACV EC7AKV EC7AMT EC7AMY EC7AT EC7CUH EC7DDZ EC7DIK EC7DND EC7DNX EC7DX EC7DZZ EC7EAM EC8ABQ EC8ADS EC8ADW EC8AFM EC8AQQ EC8AUZ ED1R ED1RCM ED1T ED2R ED4A ED4R/8 ED5CJX ED5D ED5GVZ ED5M ED5R ED5T ED7AJR ED7D ED7H ED8D ED8R ED8T ED9NA EE1E EE1K EE1S EE2K EE2W EE3E EE3R EE3Y EE4E EE5E EE5G EE5I EE5J EE5KB EE5R EE5T EE5U EE5V EE5W EE6E EE6LP EE7AJR EE7D EE7E EE7J EE7R EE7X EE8E EE9E EE9K EE9Z EF1A EF1W EF3A EF3M EF5BM EF5F EF5J EF5K EF5W EF7A EF7R EF8G EF8M EF8N EF8R EF8T EF9K EG1W EG2R EG4M EG5A EG5J EG5T EG5U EG5W EG8GCA EH1K EH2R EH2WE EH5H EH5I EH5J EH5T EH7H EH7Z EI/EA3BOX EI/ON4EI EI/W5GN EI0CZ EI0HQ EI0W EI2AJ EI2CA EI2CC EI2CL EI2CN EI2GLB EI2II EI2JD EI2JK EI2KA EI2VNO EI2W EI3EBB EI3ENB EI3FDB EI3GC EI3GDB EI3GRB EI3GZ EI3IO EI3JE EI3Y EI4BZ EI4CF EI4CF/P EI4DJB EI4DW EI4GAB EI4GK EI4GNB EI4GXB EI4GYB EI4HQ EI4IB EI4II EI4IR EI4JZ EI4RX EI5AL EI5DI EI5DR EI5E EI5GJB EI5GM EI5GPB EI5GSB EI5JC EI5JQ EI5JZ EI6AK EI6AL EI6ARB EI6D EI6DX EI6FOB EI6FR EI6GEB EI6HB EI6IZ EI6JK EI6JY EI6KC EI6S EI7BA EI7CC EI7DMB EI7GM EI7GY EI7IG EI7IQ EI7JK EI7JN EI7JQ EI7JZ EI7M EI8DD EI8EM EI8FH EI8GHB EI8GNB EI8GS EI8HL EI8HT EI8IR EI8JB EI8JF EI8JR EI8JX EI8KB EI9C EI9CF EI9CJ EI9E EI9ES EI9FBB EI9FN EI9FVB EI9HQ EI9HW EI9HX EI9JF EI9JU EI9O EJ3Z EJ4II EJ6DX EJ8GQB EK0B EK0HQ EK3GM EK3SA EK6GB EK6LP EK6TA EK7DX EK8WA EL2DX EL8RI EM0X EM50KFF EM5HQ EM7L EM9F EN7U EO1I EO3Q EO5I EO5M EP3HF ER0/UT0FT ER0FEO ER0WW ER1DA ER1DAC ER1LW ER1OO ER1RR ER1WK ER1ZZ ER2KAG ER2KRT ER2RM ER3AU ER3CT ER3DX ER3HW ER3MM ER3R ER3ZZ ER4A ER4DX ER4KAA ER4LX ER4X ER5AA ER5AL ER5DX ER5GB ER5LL ER5WU ER6A ER7HQ ES0DJ ES0NW ES1A ES1AN ES1AR ES1CN ES1CR ES1CW ES1GO ES1IP ES1LBK ES1LS ES1QD ES1RA ES1WN ES1WST ES1XQ ES2BH ES2BL ES2DJ ES2EZ ES2IPA ES2JL ES2MA ES2MC ES3AX ES3BQ ES3RF ES3VI ES4A ES4IN ES4MM ES4NG ES4RD ES4RX ES4RZ ES5DB ES5EC ES5EP ES5G ES5GP ES5JR ES5MC ES5MG ES5NC ES5Q ES5QA ES5QX ES5RGJ ES5RIM ES5RR ES5RW ES5RY ES5TF ES5TV ES6CO ES6DO ES6KW ES6PA ES6Q ES6QZ ES6RMR ES6TX ES7ABD ES7FQ ES7FU ES7GM ES7GN ES7NY ES8DH ES8TJM ES8W ES8ZP ES9A ES9C ET3AA ET3JA ET3SID EU1AD EU1AI EU1AZ EU1CL EU1DX EU1DZ EU1DZ/6 EU1EU EU1FC EU1FY EU1PA EU1UA EU1UN EU2EU EU2MM EU3AR EU4AA EU4AG EU4CQ EU4LY EU5ROPE EU6AA EU6AF EU6MM EU7SA EU7SR EU8KP EU8RZ EV1P EV1P/2 EV1R EV1Z EV2A EV6M EV6Z EV8D EV8DP EW1ABA EW1AR EW1BA EW1CQ EW1DJ EW1DO EW1EA EW1FM EW1IP EW1KT EW1NA EW1NM EW1OT EW1WZ EW1YL EW2AA EW2AO EW2BX EW2DN EW2EG EW2EO EW2ES EW2MA EW2TT EW2WW EW3EA EW3EW EW3LN EW4AA EW4AB EW4AM EW4DX EW4MM EW4PA EW5A EW6AF EW6AL EW6CU EW6DM EW6DX EW6EW EW6GF EW6GL EW6MM EW6OO EW6WA EW7AK EW7BR EW7DK EW7EW EW7KF EW7LE EW7LO EW7PK EW8A EW8BQ EW8CD EW8CF EW8CY EW8DA EW8DD EW8DJ EW8DX EW8DZ EW8EW EW8KF EW8KY EW8MW EW8OF EW8OG EW8OM EW8RR EW8WW EW8ZO EX2A EX2M EX2T EX2U EX2X EX7ML EX8AB EX8AI EX8M EX8MAT EX8O EY7AB EY7AD EY7AF EY7BJ EY7ZA EY8/F4EGS EY8/K4ZW EY8AJ EY8BA EY8CC EY8DD EY8MM F1ACC F1ACK F1ACS F1ADG F1AEY F1AKK F1BAV F1BBK F1BGY F1BJD F1BLQ F1BNT F1BOQ F1BRV F1CGN F1DFR F1EAA F1EBN F1EIT F1EPQ F1FPL F1GTU F1HSW F1HTU F1HUM/P F1ICR F1ICS F1IEH F1IWH F1JGN F1JKJ F1JPE F1JRD F1LPT F1MKG F1MLN F1MUG F1MWV F1NGP F1NZC F1OET F1OKV F1OOG F1PDI F1PGZ F1PUX F1PYW F1RCX F1RHS F1RUK F1SAL F1SIU F1SMV F1TRE F1TZE F1TZG F1UIH F1UIJ F1UJS F1UMO F1URL F1UVN F2AI F2AR F2BF F2DX F2FZ F2GL F2JD F2LG F2LZ F2MA F2NZ/P F2QH F2RO F2SI F2SY F2TA F2VX F2WT F2YT F3AT F3CW F3MB F3NB F3OA F3TH F3TK F3VV F3VX F3WT F4ABC F4AGR F4APR F4APS F4ASK F4ASQ F4BCX F4BDG F4BHW F4BIV F4BKB F4BKV F4BXY F4CDR F4CGJ F4CLB F4CMC/P F4CPD F4CPF F4CQK F4CRE F4CUI F4CWL F4CWZ F4CYZ/P F4CZV F4DBJ F4DIA F4DLL F4DNW F4DPT F4DRC F4DRT F4DSD F4DSK F4DTO F4DVO F4DVX F4DVX/P F4DXP F4DXW F4DXX F4EAN F4EEI F4EEJ F4EFL F4EGA F4EGD F4EGG F4EGS F4EIZ F4EJW F4ELU F4EMN F4EMU F4ENJ F4ENK F4ENU F4EPR F4EPU F4EQA F4EQH F4ESE F4ETG F4EUG F4EUN F4EVR F4EWU F4EWU/P F4EYU F4EZC F4EZJ F4FAO F4FBB F4FBP F4FDA F4FDR F4FEP F4FFH F4FFN F4FFZ F4FGJ F4FHI F4FHM F4FHR F4FHT F4FHV F4FIP F4FJH F4FKJ F4FLF F4FLN F4FLQ F4FNL F4FNT F4FPF F4FPG F4FQH F4FQI F4FSB F4FSV F4FTS F4FWL F4FWM F4GAJ F4GAR F4GBW F4JRC F4JVG F4LKC F4MBZ F4OHA F4PCM F4RST F4SGU F4TTR F4UJU F4UKP F5AAR F5AIB F5AKL F5AMH F5AOL F5AQB F5ARU F5ASD F5AUZ F5AXG F5AZM F5BBD F5BEG F5BOY F5BTH F5BTH/P F5BZB F5CBQ F5CCX F5CDE F5CH F5CQ F5CT F5CWU F5CYM F5CYS F5DDX F5DM F5DRD F5DYD F5ELL F5ELL/P F5EOT F5FAB/P F5FJ F5GFA F5GGL F5GN F5GPE F5HNQ F5HRY F5HTR F5HUF F5HX F5HY F5IAE F5ICC F5IDB F5IDJ F5IEP F5IHP F5IHP/P F5ILS F5IN F5INJ F5IQA F5IQJ F5ISG F5IUZ F5IYJ F5IYU F5IZP F5JDG F5JFU F5JGA F5JIW F5JLH F5JLV F5JMI F5JRL F5JSD F5JSK F5JSQ F5JU F5JXU F5JY F5JYD F5KAR F5KAR/P F5KCH F5KEE F5KEQ F5KFL F5KIN F5KKD F5KLE F5KLP F5KSE F5LCU F5LDY F5LEN F5LGE F5LGF F5LIW F5LJA F5LLE F5LLN F5LMJ F5LMK F5LND F5LOW F5LPY F5LQ F5LTH F5LUN F5LVL F5LWF F5MA F5MAE F5MBM F5MFI F5MFU F5MLJ F5MMB F5MMF F5MMX F5MMY F5MOO F5MPN F5MQW F5MSB F5MSE F5MUX F5MVT F5MWW F5MXH F5MXQ F5MZN F5NBK F5NBQ F5NBU F5NBX F5NCU F5NEH F5NEP F5NEV F5NKP F5NKX F5NMK F5NQL F5NSL F5NTV F5NTZ F5NYK F5NZY F5OAM F5OCL F5ODA F5ODF F5OEL F5OEV F5OGL F5OHH F5OHM F5OHS F5OHV F5OQL F5ORE F5OTZ F5OWL F5OWT F5OZC F5OZF F5PAL F5PBM F5PCV F5PCX F5PEU F5PHP F5PHW F5PLC F5POJ F5PPO F5PQH F5PRH F5PTI F5PU F5PVK F5PWK F5PZR F5QE F5QF F5RAB F5RAV F5RBB F5RD F5RDK F5RDS F5RDS/P F5RJK F5RJM F5RKC F5RKL F5RLW F5RMK F5RMN F5ROL F5ROX F5RPB F5RQQ F5RRS F5RUJ F5RVV F5RWQ F5RXL F5SDD F5SDH F5SGI F5SIH F5SJB F5SSK F5SUL F5SVU F5SXD F5SZB F5TDB F5TDK F5TFI F5TFU F5TGR F5TGW F5TIL F5TLZ F5TMJ F5TO F5TRB F5TSB F5TSG F5TTI F5TXW F5UBH F5UFX F5UJK F5UKL F5UL F5UMP F5UMU F5UOW F5UQN F5UTN F5VBT F5VBU F5VFU F5VHE F5VHQ F5VHY F5VIF F5VIF/P F5VIH F5VIM F5VJC F5VJK F5VKP F5VKT F5VLT F5VLV F5VMO F5VNB F5VU F5VV F5VW F5VW/P F5YD F5YJ F6ABI F6ACD F6ACV F6AEW F6AFC F6AGQ F6AJH F6AML F6AOI F6AOJ F6API F6AQI F6AQO F6ARC F6ARQ F6ATP F6AUS F6AVP F6AXX F6BAT F6BBO F6BBQ F6BDM F6BEE F6BFH F6BGC F6BGG F6BGV F6BIP F6BIP/P F6BKI F6BKP F6BLP F6BNH F6BNL F6BNX F6BPO F6BPZ F6BUL F6BVY F6BWJ F6BWO F6CBA F6CBH F6CBL F6CBW F6CEL F6CFB F6CKD F6CKE F6CLH F6CLQ F6CMG F6CNM F6COA F6COW F6COZ F6CRP F6CRT F6CSO F6CSQ F6CTL F6CTT F6CVR F6CWA F6CWN F6CXJ F6CYT F6CZC F6CZV F6DAM F6DBX F6DDP F6DDR F6DFZ F6DGH F6DKI F6DKQ F6DKV F6DLM F6DRP F6DSB F6DSV F6DUK F6DVH F6DYX F6DYY F6DZD F6DZS F6DZU F6EAZ F6ECI F6ECS F6EDO F6EHP F6EKI F6EKJ F6EMA F6EOE F6EPO F6EPQ F6EQD F6EQZ F6EWX F6EXV F6EZF F6EZR F6EZV F6FCM F6FDR F6FGB F6FHO F6FLU F6FNA F6FNL F6FTB F6FYA F6FYD F6GCI F6GEO F6GGO F6GID F6GIN F6GMT F6GNZ F6GOE F6GOX F6GPT F6GQO F6GRA F6GUF F6GUU F6GYF F6GYU F6HAC F6HBR F6HGC F6HHR F6HIA F6HIQ F6HKA F6HKO F6HMJ F6HMQ F6HQP F6HQY F6HRP F6HZS F6IFJ F6IGS F6IIT F6IOC F6IPQ F6IQA F6IRA F6IRF F6IRG F6IRS F6ISQ F6IZZ F6JOE F6JOE/P F6JXR F6KAR F6KBF F6KCP F6KDL F6KFA F6KFI F6KFV F6KHM F6KMX F6KNB F6KOH F6KPQ F6KPQ/P F6KRK F6KSV F6KUJ F6KUM/P F6PTT F8AAB F8AEE F8AFC F8AKC F8AKS F8AOF F8AQK F8AQT F8ASG F8ATM F8ATS F8BBL F8BBT F8BCS F8BDX F8BFU F8BJI F8BMG F8BMX F8BNN F8BNV F8BOJ F8BPN F8BUO F8BUY F8BXI F8CDM F8CED F8CFU F8CGL F8CHK F8CIL F8CJS F8CKH F8CMF F8CRH F8CRS F8DBF F8DEG F8DFP F8DHA F8DHB F8DHE F8DJV F8DKG F8DML F8DNX F8DOR F8DRE F8DVD F8DYD F8DZU F8DZY F8EBY F8EEQ F8EMH F8EOI F8EZE F8FGZ F8FKD F8FLK F8FQJ F8FSK F8FSN F8FWM F8FY F8IXZ F8JZR F8KA F8KCF F8KDX F8KGH F8KGL/P F8KHW F8KHW/P F8KKH F8LKU F8MRQ F8NAN F8NUH F8NZQ F8PMO F8UG F8VNU F8VNZ F8VOA F8XH F8XX F8ZW F9CI F9CZ F9DK F9EW F9GN F9IE F9JS F9KP F9NF F9OB F9OE F9OQ F9WT FG1GW FG1PP FG5FI FG5KC FG5LA FG8AR FJ/VE3EY FJ/WJ2O FK8CP FK8GM FK8KAB FM1AG FM1FV FM1HN FM1II FM5AN FM5BH FM5CD FM5CW FM5DN FM5FJ FM5KC FM5LD FM5WD FM5WE FO/N6JA FO5RH FO8RZ FR1AN FR1GZ FR5GS FS5KA FT5GA FY/LA0BY FY5FY FY5KE G/SP4BHD G0AAA G0ABY G0ADH G0AEV G0AJJ G0AKF G0AOJ G0AOL G0AOZ G0ARL G0ATG G0AZE G0AZH G0AZS G0BFJ G0BHK G0BLB G0BNR G0BRC G0BWB G0BYJ G0CER G0CGL G0CKP G0CKV G0CLP G0CLP/P G0CMP G0CPA G0CTR G0CXW G0DAY G0DBE G0DCK G0DKL G0DQS G0DRM G0DVJ G0DWO G0DWV G0DZM G0ECJ G0EFO G0EIG G0EML G0EVQ G0EYO G0EYR G0FBY G0FDJ G0FDU G0FHM G0FJS G0FPU G0FUN G0FWX G0FYX G0FZI G0GDA G0GDU G0GFQ G0GIS G0GJS G0GKH G0GMS G0HDB G0HDV G0HIO G0HIS G0HIZ G0HJK G0HMN G0HOF G0HSA G0HVQ G0HZG G0IBN G0ICJ G0IDA G0IEE G0IIQ G0IUM G0IVZ G0IYH G0JHC G0JJG G0JKY G0JVT G0KBL G0KBY G0KDS G0KDZ G0KGU G0KJP G0KOM G0KRT G0KSC G0KYA G0KYS G0LGJ G0LGS G0LHZ G0LMX G0LRX G0LVX G0LWU G0LZL G0LZY G0MBP G0MHC G0MLY G0MMI G0MNN G0MPR G0MRH G0MRY G0MTF/P G0MTN G0MUR G0NDE G0NFH G0NOR G0NSL G0NUZ G0NXA G0NZI G0OGD G0OIL G0OKD G0OKF G0OMS G0ONH G0OPB G0OPH G0ORC G0ORH G0ORS G0OTT G0PCF G0PHY G0PPM G0PSE G0PVR G0PZA G0RAF G0RAH G0REK G0RGJ G0RIF G0RPM G0RQL G0RRM G0RSQ G0RWW G0RXA G0SNG G0THY G0TKZ G0TMX G0TOC G0TPH G0TRB G0TSM G0TYS G0TZZ G0UAN G0UCH G0UCP G0UGO G0UII G0UIQ G0UKB G0UKN G0UKX G0UQC G0UUT G0UZL G0UZP G0VDZ G0VGS G0VJG G0VOF G0VOK G0VTI G0VVE G0VXC G0VXE G0WAT G0WFK G0WHO G0WPH G0WPX G0WSA G0WSC G0WWD G0WWF G0XDI G0YYY G1A G1BHR G1DJI G1DYN G1FON G1HHD G1HJW G1HLT G1ISN G1KFB G1KHX G1MIE G1N G1OCN G1OCR G1PIE G1PIR G1RSC G1RVP G1SMT G1SSL G1T G1TIF G1TZC G1UGH G1UNQ G1UZD G1VDP G1VNV G1WMJ G1XKZ G1XOW G1YLE G1YTV G1ZQN G2AA G2ACN G2AFV G2B G2BKZ G2BOF G2DWB G2F G2FM G2FSR G2HDR G2HKU G2JL G2KF G2PA G2PB G2W G2YL G3ASG G3B G3BBR G3BDQ G3BFP G3BJ G3CCO G3CSA G3CWW G3DCZ G3DGW G3EKJ G3ESY G3FNZ G3FPQ G3FYX G3GAF G3GEJ G3GGS G3GHN G3GJX G3GLL G3HAL G3HEJ G3HGE G3HMB G3HQT G3HRH G3HTA G3IAF G3ICO G3IEW G3IFB G3IGU G3IGZ G3IJA G3IJL G3ILO G3ILO/P G3IOE G3IQF G3ITH G3IZD G3JDT G3JFS G3JHS G3JIR G3JJG G3JJZ G3JKB G3JKY G3JMJ G3JMZ G3JNB G3JRM G3JUL G3JUX G3JXC G3JZL G3KAF G3KDP G3KIP G3KKJ G3KKP G3KLH G3KLO G3KLP G3KMA G3KMG G3KMQ G3KNU G3KOJ G3KOZ G3KSU G3KTH G3KTZ G3KWK G3KWY G3KYF G3KZR G3LAS G3LAZ G3LCS G3LDI G3LET G3LHJ G3LHS G3LIK G3LKY/P G3LKZ G3LLK G3LME G3LNC G3LNP G3LPS G3LPU G3LQP G3LUA G3LUW G3LVP G3LZQ G3MCK G3MEA G3MIR G3MLO G3MPB G3MUO G3MXH G3MYI G3MZV G3NAE G3NBC G3NCN G3NDC G3NDJ G3NEO G3NFB G3NHL G3NIC G3NKC G3NKQ G3NKS G3NLY G3NOH G3NPF G3NPZ G3NUG G3NWG G3NXT G3NYY G3NYY/P G3OAG G3OAY G3OCA G3OFA G3OGP G3OKA G3OLB G3OND G3ONQ G3OOU G3ORP G3ORY G3OTK/P G3OWO G3P G3PDH G3PGA G3PHO G3PHS G3PIA G3PJK G3PJT G3PLP G3PQA G3PSM G3PXT G3PYI G3PYM G3RAU G3RCE G3RGD G3RHH G3RIK G3RIR G3RKJ G3RLE G3RMD G3RPB G3RSD G3RTE G3RTU G3RTY G3RUO G3RVM G3RWF G3RWL G3RXP G3RXQ G3RZF G3SDC G3SED G3SEM G3SEN G3SET G3SGC G3SHF G3SJJ G3SJX G3SNN G3SNU G3SQH G3SVD G3SVK G3SVL G3SWC G3SWH G3SYM G3SZS G3SZU G3TA G3TBK G3TBU G3TDH G3TEV G3TEX G3TJE G3TKF G3TKK G3TLH G3TLY G3TQZ G3TTH G3TTJ G3TVW G3TWG G3TXF G3TXZ G3TZM G3UAA G3UAS G3UD G3UDA G3UEG G3UFY G3UHU G3UJE G3UKV G3ULN G3UML G3UMT G3USE G3UUV G3UYD G3UZD G3UZM G3V G3VA G3VAJ G3VAO G3VCA G3VCQ G3VCR G3VDB G3VDL G3VER G3VGR G3VIP G3VIR G3VKW G3VMW G3VMY G3VOF G3VOT G3VOU G3VPS G3VPW G3VQO G3VTT G3VUS G3VWH G3VXJ G3VYF G3VYI G3VZM G3WAB G3WCQ G3WCY G3WDS G3WEF G3WFM G3WGV G3WKL G3WKZ G3WMX G3WPD G3WPF G3WPH G3WRR G3WVG G3WVO G3WW G3WWS G3WYN G3WYW G3WZT G3XAN G3XAP G3XAQ G3XDY G3XGC G3XGD G3XLB G3XLL G3XLW G3XMM G3XOV G3XPO G3XSD G3XSV G3XTT G3XUD G3XVF G3XVN G3XVR G3XXH G3XYC G3XYF G3XYP G3XZG G3XZQ G3YAJ G3YBO G3YBT G3YBY G3YEC G3YER G3YEU G3YFE G3YHV G3YIQ G3YJD G3YMC G3YNN G3YOA G3YOG G3YPE G3YPN G3YRC G3YRO G3YTY G3YXX G3YYD G3YYZ G3Z G3ZAY G3ZBU G3ZDF G3ZFC G3ZGC G3ZGC/A G3ZHE G3ZKN G3ZNH G3ZNR G3ZOH G3ZQH G3ZQQ G3ZRJ G3ZRS G3ZSE G3ZSS G3ZVW G4ABX G4ACS G4ADJ G4AEH G4AFJ G4AFS G4AFU G4AHJ G4AHK G4AJC G4ALA G4ALD G4ALH G4AMN G4AMT G4AON G4APO G4AQG G4AQK G4ARI G4ARN G4ASR G4ATA G4AXX G4AYR G4AZN G4BEE G4BJG G4BJM G4BUE G4BUO G4BVB G4BVY G4BWF G4BXT G4BYG G4BZP G4C G4CCZ G4CFW G4CGG G4CI G4CKH G4CLA G4CLN G4CMQ G4CUS G4CVC G4CWH G4CXQ G4CYB G4CZB G4CZP G4DBW G4DBX G4DCV G4DDL G4DDS G4DDX G4DFI G4DJC G4DJJ G4DJX G4DOQ G4DRS G4DSD G4DYC G4DYO G4DZL G4DZW G4EBK G4EDD G4EDG G4EGU G4EHN G4EHT G4EKT G4ELJ G4ELY G4ELZ G4ENZ G4EOF/P G4ERW G4EZR G4EZT G4EZV G4FAD G4FAL G4FFE G4FFN G4FKA G4FKG G4FKH G4FMO G4FNL G4FOC G4FON G4FPA G4FQF G4FSU G4FTC G4FTP G4FUF G4FVK G4GEE G4GIR G4GLV G4GMW G4GVB G4GVN G4HEE G4HFP G4HHJ G4HHX G4HOM G4HUN G4HVC G4HZV G4IDR G4IIY G4IKR G4ILO G4IOG G4IUF G4IUP G4IWO G4IXF G4JKZ G4JRY G4JSR G4JZO G4KEE G4KFT G4KGL G4KHG G4KHM G4KIU G4KKI G4KLF G4KMH G4KNO G4KPN G4KRN G4KTZ G4KUE G4KZD G4LDL G4LIR G4LJU G4LMW G4LMX G4LPD G4LRP G4LWB G4LYM G4MEM G4MKP G4MKR G4MLA G4MUL G4MZJ G4NDM G4NFS G4NJW G4NKT G4NLH G4NXG G4OBB G4OBC G4OBK G4OCO G4OEC G4OFY G4OGB G4OJB G4OJS G4OPL G4ORC G4OSB G4OWG G4OWT G4OYC G4PBP G4PEF G4PIQ G4PLE G4PLY G4PNC G4POF G4PTJ G4PWA G4RCD G4RCG G4RFC G4RFR G4RGK G4RKO G4RLS G4RNK G4RQI G4RRA G4RRM G4RUW G4RWD G4RYV G4SGI G4SJG G4SJX G4SMD G4SNU G4SOF G4STH G4TNB G4TPO G4TQF G4TSH G4TSN G4UDU G4UEL G4UFK G4UFU G4UJS G4UKP G4UZN G4VCJ G4VFG G4VHH G4VMM G4VMX G4VSS G4VTO G4VUA G4VUD G4VXE G4VZR G4WBV G4WFQ G4WGE G4WPD G4WQZ G4WUG G4WXZ G4WZI G4XEX G4XFA G4XPE G4XRV G4XRX G4YAQ G4YLO G4YPV G4YRF G4YRU G4ZCG G4ZCS G4ZFE G4ZFJ G4ZGP G4ZIB G4ZOB G4ZOY G4ZUL G4ZWX G5D G5E G5FZ G5G G5KC G5KN G5LP G5N G5O G5W G5XW G5YC G6A G6AY G6BDV G6BOX G6CSY G6EVD G6H G6IRR G6LKB G6LSO G6LUG G6MC G6NUM G6NYG G6OKU G6OTZ G6PWY G6PZ G6RGA G6SFP G6TEL G6TUH G6TW G6UBM G6UW G6VS G6WWM G6WYH G6XMI G6XN G6YEK G6YGZ G6YKT G6YTB G6ZAC G7ACV G7AGZ G7AKM G7BHU G7BRZ G7BXG G7BXU G7BZD G7CLY G7DDN G7EPN G7FHV G7FIF G7FSI G7IGB G7IJI G7ITD G7IYF G7KHV G7KMZ G7LRR G7MBH G7MEI G7MJX G7N G7NAL G7NBQ G7NKS G7NOT G7OOD G7PVZ G7RAU G7RTI G7SKR G7SOZ G7SQC G7SQW G7SSE G7TGK G7TMU G7TPL G7TWC G7UOU G7VJR G7VNN G7VRK G7WFA G7WLL G8APB G8BIG G8BUN G8CCL G8CKT G8CMU G8CUG G8DNP G8DQP G8DVK G8DYT G8ETD G8EYC G8FCQ G8FDR G8FMJ G8FMJ/P G8FRS G8GBY G8GXP G8HBS G8HGP G8HPW G8HQJ G8HXE G8HYP G8JIT G8JXV G8KEK G8KVP G8LBS G8LED G8LIK G8LOJ G8LRS G8MIA G8NRP G8OEF G8P G8PQ G8RCK G8UBJ G8ULM G8VOI G8WQE G8XDX G8XTJ G8XXJ G8ZRE G9M GA0DBW GA0FGI GA0NBM GA0WED GA2MP GA3TAL GA3WUX GA3YOR GA4AGL GA4XQJ GB2BP GB2DX GB2WCM GB50ATG GB50OT GB7HQ GC0EJE GC4KPT GD0AMD GD0IFU GD0TEP GD3TNS GD4EIP GD4IHC GD4KIN GD4WBY GD6IA GD7ARS GD8K GI0AIJ GI0EJU GI0KOV GI0KOW GI0KVQ GI0MXT GI0NCA GI0OUM GI0RQK GI0RTN GI0THZ GI0UQK GI0UVD GI3DZE GI3KDR GI3NVW GI3OQR GI3PDN GI3POS GI3SG GI4AAM GI4BQI GI4CFQ GI4DOH GI4DYE GI4EBS GI4FUE GI4FUM GI4JTF GI4KSH GI4KSO GI4MWA GI4NKB GI4OWA GI4SJQ GI4SNA GI4SZW GI4VIV GI4WXA GI4XSF GI5K GI6DEY GI6FHD GI7AXB GI7THH GI8HXY GI8SKN GJ0KYZ GJ2A GJ3WW GJ3YHU GJ4CBQ GJ6YB GJ7DNI GM0ADX GM0AXY GM0B GM0CDV GM0DBW GM0EGI GM0EKM GM0ELP GM0F GM0FGI GM0FNE GM0FSV GM0GAV GM0GMN GM0GOV GM0IIO GM0KWW GM0NAI GM0NBM GM0NKX GM0OAA GM0OGN GM0ONX GM0OQV GM0RML GM0SCA GM0TQJ GM0UDL GM0UUB GM0VIT GM0VRP GM0WED GM1DSK GM1F GM1FLQ GM1J GM1POA GM1SRX GM2T GM2V GM3AXI GM3C GM3CFS GM3FDN GM3ITN GM3JKS GM3JOB GM3JQJ GM3JSX GM3LKY GM3LKY/P GM3MZX GM3NHQ GM3NSQ GM3OXX GM3OZB GM3POI GM3PPG GM3SEK GM3SVW GM3T GM3TCW GM3UA GM3UHT GM3VNW GM3VTY GM3W GM3WIJ GM3WIL GM3WOJ GM3WUX GM3YEH GM3YOR GM3YS GM3YTS GM3ZBE GM3ZRT GM3ZXL GM4AFF GM4AGL GM4BKV GM4BRN GM4CXM GM4DZX GM4ELV GM4ESD GM4EVS GM4FAM GM4FDM GM4FFF GM4HQF GM4IKT GM4JR GM4JYB GM4KGK GM4KLN GM4NTL GM4OSS GM4SDQ GM4SID GM4TAL GM4UBJ GM4ULS GM4UYE GM4UYZ GM4W GM4WIE GM4WLN GM4XQJ GM4YLN GM4YSN GM4YXI GM4ZJI GM4ZNC GM4ZUK GM5A GM5M GM6MD GM6NX GM6VCV GM6VVG GM7A GM7AAJ GM7DAJ GM7KFS GM7OAW GM7R GM7TFN GM7TUD GM7UAU GM7V GM7VSB/P GM8GAX GM8LFB GM8SBH GR2HQ GS0TOW GS8R GU0SUP GU4CHY GU4EON GU4RUK GU4YOX GU6EFB GW0ANA GW0ARK GW0ETF GW0FEU GW0GEI GW0IRP GW0IWD GW0LBI GW0LKJ GW0MOW GW0NPL GW0RYT GW0TSM GW0UDJ GW0UZK GW0VSW GW0VWD GW0WGK GW1CJJ GW1IOT GW1MVZ GW1PJP GW1VDW GW3CBA GW3HGL GW3JSV GW3JXN GW3KDB GW3KGV GW3LDC GW3LEW GW3LNR GW3MCS GW3NAS GW3NJW GW3R GW3SFC GW3SQX GW3UOF GW3XRM GW3YAF GW3YBX GW3YDX GW3YRP GW3YVC GW4AYJ GW4BKG GW4BLE GW4BVE GW4BZD GW4CQZ GW4EVX GW4HDF GW4MVA GW4OGO GW4OH GW4RDW GW4RIB GW4SKA GW4TPG GW5NF GW6JBN GW6NKG GW6PMC GW6W GW7BZR GW7ERI GW7X GW8GT GW8IQC GW8IZR GW8JOY GW8NBI GW9T GX3YNN GX4BJC/A GX4BJC/P GZ0F GZ5Y H22H H2E H2Q H2T H44MS H44MY H7A HA/YO5KAD/P HA0ANA HA0BW HA0BY HA0DD HA0ER HA0GK HA0HV HA0HW HA0IH HA0IL HA0IM HA0IT HA0IV HA0KLL HA0LC HA0LG HA0LP HA0LW HA0ML HA0MO HA0MS HA0NAR HA0NGT HA100KONE HA1A HA1AD HA1AG HA1AR HA1AV HA1BC HA1CA/P HA1CW HA1DAE HA1DK HA1FF HA1Q HA1RS HA1SD HA1SN HA1SU HA1TAB HA1TI HA1TNX HA1TO HA1VE HA1WD HA1XU HA1XY HA1YI HA1ZH HA1ZU HA1ZV HA1ZZ HA25NAR HA2EBE HA2EOA HA2EOD HA2EOJ HA2EQD HA2ERO HA2ESM HA2G HA2MJ HA2MN HA2NM HA2PP HA2QW HA2R HA2RQ HA2SG HA2SJ HA2VH HA2VR/P HA2YL HA3/N1BCL HA3DMF HA3DX HA3E HA3FT HA3FTA HA3FZ HA3GE HA3GJ HA3GN HA3GO HA3GQ HA3HF HA3HK HA3HO HA3HX HA3JB HA3JO HA3LGB HA3LI HA3LN HA3MN HA3MU HA3MY HA3NU HA3OD HA3OK HA3OU HA3OV HA3PT HA3RD HA3UU HA3YE HA4AA HA4FB HA4FV HA4FY HA4YF HA4YO HA5AB HA5AEZ HA5AF HA5AGS HA5AO HA5AQ HA5ARX HA5AWT HA5AZZ HA5BA HA5BKV/P HA5BPS/P HA5BSW HA5BVG HA5CQ HA5DA HA5DE HA5FA HA5FM HA5FQ HA5GN HA5GO HA5GY HA5HH HA5JI HA5KDQ HA5KG HA5KID HA5KKC HA5KN HA5KQ HA5KY HA5LV HA5LZ HA5MK HA5MO HA5NB HA5OAF HA5OB HA5OM HA5OMM HA5OO HA5OV HA5OW HA5PP HA5PT HA5RDP HA5TI HA5UA HA5UK HA5UY HA5VJ HA5VZ HA5W HA5WA HA5X HA6D HA6FQ HA6IAM HA6IAY HA6ICP HA6IGM HA6KNX HA6KZS HA6M HA6NF HA6NI HA6NL HA6NN HA6NW HA6NY HA6OA HA6OD HA6OL HA6OZ HA6PF HA6PJ HA6PQ HA6PS/P HA6PX HA6QR HA6VA HA6VB HA6WTM/P HA6XA HA6ZQ HA7A HA7AVU HA7CN HA7GN HA7JDV HA7JQK HA7LW HA7MB HA7ML HA7MS HA7MW HA7MY HA7NK HA7PF HA7PL HA7PO HA7RY HA7SBQ HA7SG HA7SQ HA7TM HA7UG HA7UI HA7UL HA7UW HA7VK HA7YS HA7ZT HA8A HA8AAA HA8AL HA8AR HA8BE HA8BQ HA8BR HA8BT HA8CQ HA8DM HA8DT HA8EK HA8EN HA8EV HA8FK HA8FM HA8GT HA8GY HA8IB HA8IC HA8IE HA8IH HA8JP HA8JV HA8KCS HA8KVK HA8KW HA8LKM HA8LLK HA8LNA HA8LNN HA8MD HA8MT HA8MV HA8PH HA8QB HA8QC HA8QZ HA8RC HA8RJ HA8RM HA8SSG HA8TI HA8TP HA8UT HA8V HA8VK HA8VX HA8WO HA8WP HA8WY HA8WZ HA8YU HA8ZB HA9DMD HA9PP HA9RC HA9RE HA9RT HA9RU HA9SU HB0/DH2FW HB0/DJ9CB HB0/DK4YJ HB0/DK9FEC HB0/DK9TN HB0/F5LMJ HB0/HB9AON HB0/HB9LCW HB0CC HB10DX HB3YAV HB3YDJ HB3YFC HB3YRB HB3YSC HB3YUL HB3YVF HB3YVZ HB4FE HB4FL HB8AD HB9AA HB9AAL HB9AAP HB9AAQ HB9AAY HB9AAZ HB9ABB HB9ACC HB9ADC HB9AEP HB9AEV HB9AFH HB9AFI HB9AGA HB9AGH HB9AGO HB9AII HB9AIY HB9AJ HB9AJG HB9AJM HB9AJP HB9AJW HB9AKB HB9ALH HB9ALO HB9AMB HB9AMO HB9ANJ HB9ANM HB9AON HB9APJ HB9AQA HB9AQW HB9ARF HB9ARK HB9ATG HB9ATX HB9AUK HB9AUS HB9AVE HB9AVK HB9AWS HB9AYZ HB9AZZ HB9BAP HB9BEI HB9BGF HB9BHW HB9BIN HB9BIQ HB9BJJ HB9BJL HB9BLQ HB9BMY HB9BNK HB9BOO HB9BOS HB9BPV HB9BPX HB9BQP HB9BQY HB9BRJ HB9BRU HB9BTI HB9BTQ HB9BXE HB9BXQ HB9BYQ HB9BZA HB9CA HB9CAL HB9CAT HB9CBR HB9CCZ HB9CEI HB9CEX HB9CEY HB9CFU HB9CGL HB9CGO HB9CHY HB9CIC HB9CIK HB9CIN HB9CIP HB9CKM HB9CMG HB9CNR HB9CNU HB9CNY HB9COH HB9COJ HB9COP HB9COZ HB9CPS HB9CQL HB9CQS HB9CRV HB9CSM HB9CUK HB9CVE HB9CVQ HB9CXR HB9CXZ HB9CYT HB9CZF HB9DA HB9DAI HB9DAX HB9DBK HB9DCL HB9DCM HB9DCQ HB9DDE HB9DDO HB9DDS HB9DDZ HB9DES HB9DFD HB9DFI HB9DHA HB9DHG HB9DNG HB9DOS HB9DPO HB9DPY HB9DQD HB9DQH HB9DQJ HB9DRI HB9DRK HB9DRM HB9DRS HB9DRT HB9DSE HB9DSU HB9DUP HB9DUR HB9DVT HB9DVZ HB9DWL HB9DWR HB9DWZ HB9EAZ HB9EBC HB9EDG HB9EE HB9EFJ HB9EFM HB9EGA/P HB9EHJ HB9EHK HB9EHN HB9EHP HB9EHV HB9EI HB9EIY HB9EIZ HB9EKR HB9ELD HB9ELF HB9ELS HB9ELV HB9EP HB9EPH HB9EPM HB9ESC HB9ESS HB9ETR HB9FAI HB9FAP HB9FAQ HB9FAW HB9FBG HB9FBM HB9FBS HB9FBU HB9FMN HB9FMT HB9FMU HB9FNE HB9FNX HB9G HB9GBJ HB9GCE HB9H HB9HFM HB9HFN HB9HI/P HB9HLM HB9HQ HB9HQA HB9HQX HB9IAB HB9ICC HB9ICG HB9IIO HB9IIY HB9IK HB9IQB HB9IQP HB9JBN HB9JF HB9JNM HB9JOE HB9JW HB9KAI HB9KAM HB9KAR HB9KBB HB9KNA HB9KNY HB9KOG HB9KT HB9LBL HB9LCW HB9LF HB9LL HB9MCF HB9MFM HB9MGX HB9MHR HB9MI HB9MXY HB9MZI HB9OAB HB9OCR HB9ODK HB9ODP HB9OK HB9ON HB9PGR HB9PJT HB9PL HB9PLW HB9PNR HB9QA HB9QR HB9QT HB9RDE HB9RE HB9RJD HB9RJG HB9ROX HB9RVE HB9SVT HB9TI HB9TKS HB9TLM HB9TMW HB9TNU HB9TNW HB9TOC HB9TON HB9TOX HB9TPK HB9TPT HB9TQL HB9TQP HB9TRD HB9TRT HB9TSA HB9TSI HB9TST HB9TSU HB9TSW HB9TTX HB9TUD HB9TUZ HB9TVR HB9TVY HB9TWS HB9TWU HB9TWZ HB9TZR HB9UU HB9VID HB9WDY HB9XAW HB9YBQ HB9YC HB9ZAG HB9ZCF HB9ZCV HB9ZE HB9ZV HB9ZY HB9ZZ HC1HC HC1JQ HC1MD HC2A HC2AD HC2AQ HC2GF HC2GO HC2GT HC2IK HC2KB HC2S HC2SA HC2SL HC5VF HC5WW HC7AE HC8A HC8GR HC8N HD2A HD2M HD5J HE8AAA HE8AFI HE8AOF HE8AUS HE8AWS HE8BIN HE8BRU HE8CIC HE8CSM HE8CUK HE8CXZ HE8CZF HE8DAX HE8DDE HE8DSY HE8DWR HE8EBC HE8EFJ HE8FAP HE8FR HE8HLM HE8MH HE8MXY HE8OK HE8PKP HE8TJM HE8TMW HE8TOC HE8TST HE8TSU HE8TUD HE8TUZ HE8WW HE8ZZ HF200C HF30CUF HF4K HF50BORY HF50OLS HF5ES HF65PW HF70M HF70W HF80B HF80IU HF80JMR HF94JEN HF94KE HG0A HG0HQ HG0R HG10P HG1848I HG1A HG1DX HG1R HG1S HG1W HG1X HG2W HG2X HG30FHA HG3A HG3DX HG3FMZ HG3IPA HG3M HG3R HG3W HG400HV HG4F HG4I HG5A HG5C HG5O HG5XA HG60VOTT HG6N HG6V HG6W HG6Y HG7HQ HG7JAL HG7T HG8C HG8DX HG8K HG8N HG8R HG8W HG8YKO HG8Z HG9R HH2/I8UZA HI3/LY3UM HI3/W1JNZ HI3A HI3CC HI3CCP HI3FVA HI3K HI3T HI3TEJ HI8A HI8JQE HI8LAM HI8PJP HI8PLE HK0/EA7HEJ HK0T HK1A HK1AA HK1KXA HK1KYR HK1N HK1NK HK1R HK1X HK3/KC2LSD HK3CQ HK3J HK3JJH HK3KWX HK3LGO HK3O HK3OZ HK3PSA HK3Q HK3RA HK3TU HK3UA HK3W HK3Y HK4EB HK4SAN HK6CF HK6F HK6P HK6R HK8EA HL0HQ HL0MBC HL0U HL1/SP5AUC HL1/WX8C HL1AV HL1IBG HL1IWD HL1OYF HL1VAU HL2/KF6RCP HL2ADO HL2AEJ HL2AVK HL2BM HL2CFY HL2DC HL2DYS HL2FDW HL2KV HL2KXT HL2LTX HL2MTK HL2OLN HL2PCU HL2ST HL2SU HL2UOK HL3AMO HL3IB HL3IUA HL4CEL HL4CJG HL4GKR HL4RBR HL4XM HL5/VK6DXI HL5AP HL5BLI HL5BMX HL5FKP HL5FXP HL5JCB HL5JGR HL5LKI HL5OC HL5QY HL5UOG HL5YI HL9A HP1/IZ6BRN HP1AC HP1ALX HP1AVS HP1BYS HP1DCP HP1RIS HP1WW HP3AK HP3DX HP3FTD HP3TA HQ1L HQ2R HQ2T HQ2W HQ3Z HQ9R HR1/K2LCT HR1RTF HR2DMR HR2J HR2OAV HR9/WQ7R HS0/W4ESF HS0AC HS0EHF HS0GBI HS0ZBS HS0ZCW HS0ZCX HS0ZDJ HS0ZDR HS0ZDX HS0ZDY HS0ZED HS0ZEE HS0ZFK HS0ZGD HS0ZGV HS0ZHB HS0ZHC HS0ZHI HS0ZIN HS0ZIQ HS1CHB HS1CKC HS8JYX HS8KGG HT2N HV0A HV4NAC HZ1DG HZ1GW HZ1MD HZ1PS HZ1SK I/SQ9DJD I0/YO7LKW I0AAF I0ABK I0AMU I0APV I0BYR I0CG I0CMD I0DJV I0DTK I0EKY I0FDH I0GXK I0HCJ I0IA I0ISK I0JBL I0JX I0KHP I0KHY I0KNQ I0KWK I0KWX I0LTX I0LYO I0MOC I0MOM I0MWI I0NNY I0QM I0TIC I0TWA I0UZF I0VPK I0XXR I0YKN I0YQV I0YR I0ZUT I0ZV I0ZY I1ABT I1APQ I1BAY I1BEP I1BPU I1COB I1EIS I1FHA I1FLC I1FQH I1GIK I1HJT I1HJT/3 I1HLP I1IOQ I1JHS I1LBI I1LGR I1LSN I1MRH I1NVU I1OOQ I1OQI I1PLX I1POR I1QBI I1RB I1RJP I1SAF I1SCL I1UW I1WQR I1WXY I1XPQ I1XSG I1YGQ I1YRL I1YTO I1ZDW I1ZEU I1ZL I2AT I2AXC/IS0 I2AZ I2BBJ I2BJS I2BPP I2BZN I2CZQ I2DJX I2DMI I2EAY I2EGD I2FUG I2FUM I2GPT I2HXO I2JIM I2JIN I2JSB I2KAJ I2KBD I2KBW I2KMG I2MOV I2MQP I2NKR I2NX I2OGV I2ORX I2PEI I2PJA I2PUS I2RBR I2RFJ I2ROO I2RVW I2SVA I2TAO I2TFJ I2TZK I2UAC I2UBI I2UCE I2VGW I2VGZ I2VRN I2VXJ I2WDB I2WIJ I2WSG I2XBO I2XIP I2XLF I2YYO I2ZGA I2ZP I3BBK I3BLF I3CRW I3DBD I3EVK I3FDZ I3FIY I3GKK I3GVN I3ISM I3JRF I3JSS I3KAN I3MIQ I3MLU I3MMB I3MU I3OKZ I3PVB I3PXN I3QDK I3STS I3TGW I3THJ I3TXQ I3VAD I3VJW I3VRD I3VWK I3XMQ I3YEG I3ZNG I3ZSX I4ABF I4AUM I4AVG I4BMJ I4DVT I4DZ I4EAT I4ENO I4EUM I4EWH I4FGG I4FTU I4FYF I4GAD I4GYG I4HRH I4IKW I4JEE I4JRE I4JUQ I4KJW I4KMN I4KMW I4KRF I4LCK I4LEC I4MKN I4MNY I4NJM I4PZP I4QHD I4SJZ I4TJE I4UKS I4VEQ I4VIL I4VJC I4VOS I4WYE I4XNN I4YCE I4YEL I4YEY I4YSS I4YUG I4YYC I4ZGI I4ZQS I4ZSQ I5/IZ2RPJ I5BG I5BOL I5DOF I5DUI I5ECW I5ESR I5FCK I5FLN I5FWT I5HLK I5IAR I5IHE I5JFG I5JHW I5JKI/3 I5KAP I5KG I5LRW I5LYJ I5MPK I5MXX I5NPH I5NSR I5OYY I5PFX I5QNJ I5REA I5RFD I5SDG I5VVA I5VXG I5WNN I5ZJK I5ZSS I5ZUF I6BDS I6BYQ I6CBI I6COJ I6DU I6DVW I6FDJ I6FLD I6FPN I6JEI I6KIU I6NO I6PTL I6TIH I6VGA I6WJB I7/9A3A I7CSB I7PHH I7PXV I7WL I8HAK I8IGS I8JOQ I8JYK I8KCI I8KFR I8KRC I8LWL I8MPO I8MSY I8NHJ I8OCA I8PND I8QJU I8QLI I8QLS I8SAT IA3IPY IB0R IC8AJU IC8C IC8FBU IC8OZM IC8POF IC8SCI IC8TEM IF9A IF9ZWA IG9/I2ADN IG9R IG9S IG9U IG9W IG9X IH9GPI IH9N IH9YMC II1H II1W II20CJ II2A II2C II2CV II2IARA II2S II3L II4A II4DP II5P II5W II7M IK0ATK IK0AUO IK0BOU IK0BZE IK0CHU IK0CNA IK0EFR IK0EIE IK0ESW IK0FMB IK0FUX IK0GDG IK0GHB IK0HBN IK0HFO IK0HIT IK0IKE IK0IOL IK0ISD IK0IXI IK0IZW IK0JFW IK0JNI IK0JOE IK0LNN IK0MHR IK0MIB IK0MPI IK0NSF IK0OZD IK0OZH IK0PEA IK0PHY IK0PRG IK0PXC IK0RCY IK0SDQ IK0SME IK0SXU IK0TUM IK0TWN IK0UTM IK0VAQ IK0VBT IK0VJH IK0VKL IK0VSY IK0VVG IK0VWH IK0VXG IK0WHN IK0WRB IK0XBX IK0XIH IK0YQJ IK0YUT IK0YVV IK0ZSN IK1ADH IK1ASR IK1BBC IK1BHS IK1BPL IK1CCS IK1DFH IK1DPA IK1DQW IK1EZC IK1FLE IK1FVO IK1FXX IK1GKD IK1GKH IK1GPG IK1GPK IK1HSS IK1HXN IK1HZZ IK1IXG IK1JJM IK1JNS IK1JTQ IK1JXY IK1LJO IK1LYQ IK1MDF IK1MEG IK1MJG IK1NEG IK1NPP IK1PMR IK1QBT IK1QFP IK1QHB IK1RAG IK1RGK IK1RKN IK1RKU IK1RQQ IK1SOW IK1SPE IK1SPR IK1TAZ IK1TJK IK1TWC IK1UGX IK1VCE IK1VDN IK1VEK IK1WEG IK1WGX IK1WJN IK1WJR IK1XHZ IK1XPK IK1XVO IK1YDB IK1YED IK1YEK IK1YLL IK1ZFO IK1ZNL IK1ZOE IK1ZYO IK2AHB IK2AHG IK2AHR IK2AIT IK2ANI IK2AOO IK2APW IK2AQZ IK2AUK IK2AVH IK2BBU IK2BCP IK2BDR IK2BLA IK2BSK IK2BUF IK2CFD IK2CHZ IK2CIK IK2CIO IK2CLB IK2CMN IK2CZQ IK2DAD IK2DED IK2DFZ IK2DJV IK2DKX IK2DPP IK2DZN IK2EAD IK2EBP IK2ECM IK2ECP IK2EGL IK2EKO IK2FCO IK2FIL IK2FIQ IK2FSS IK2FWO IK2GPQ IK2GWH IK2GZU IK2HBF IK2HDF IK2HKN IK2HKT IK2HLM IK2IKW IK2ILH IK2IQD IK2JYT IK2LFD IK2LOL IK2LTR IK2MKM IK2MLS IK2MLY IK2MPR IK2NCF IK2NUX IK2NVE IK2PFL IK2QEB IK2QEI IK2QIK IK2QIN IK2QLX IK2QPR IK2REA IK2RGT IK2RLS IK2RMZ IK2RZP IK2RZQ IK2SAI IK2SAR IK2SAU IK2SGB IK2SGF IK2SND IK2SVF IK2TDM IK2TDR IK2TYP IK2UCK IK2UEC IK2UEK IK2UJF IK2UJS IK2UTT IK2UZQ IK2VFR IK2VFW IK2VIW IK2WFJ IK2WFN IK2WJT IK2WPO IK2WQK IK2WSJ IK2WXQ IK2WXV IK2WYI IK2WYW IK2WZM IK2XDE IK2XDF IK2XEF IK2XRO IK2XYI IK2YCW IK2YFT IK2YGZ IK2YSJ IK2YXB IK2YXP IK3AES IK3ASM IK3BTK IK3BVD IK3CST IK3DQU IK3DRO IK3DVY IK3GER IK3GES IK3GHW IK3GID IK3HHX IK3HMB IK3HUG IK3IUE IK3IUL IK3JBP IK3JLV IK3MLF IK3OBX IK3OCD IK3OII IK3ORD IK3OYY IK3PQG IK3PQH IK3QAR IK3RET IK3SCA IK3SCB IK3SHP IK3SSJ IK3SSO IK3SSW IK3STG IK3SWB IK3TPP IK3TZB IK3UMZ IK3UNA IK3UNA/1 IK3VBB IK3VUT IK3VUU IK3WOI IK3XJL IK3XJP IK3XTY IK3YBX IK4ALM IK4AUY IK4BHO IK4CIE IK4DCT IK4DCX IK4DDI IK4DRR IK4DRY IK4EWN IK4GBU IK4GME IK4GRO IK4HAQ IK4HLQ IK4ICS IK4JQO IK4JQS IK4LAI IK4MGJ IK4MGP IK4MGV IK4NQW IK4PKK IK4PKN IK4PMB IK4QJF IK4RQE IK4RQJ IK4RSO IK4TVP IK4UNH IK4UOA IK4UPB IK4VET IK4VFB IK4WKU IK4WLU IK4WMB IK4WMH IK4WTU IK4XCL IK4XQT IK4YAZ IK4ZGO IK4ZHH IK5AAB IK5ACO IK5AFJ IK5AMB IK5AYM IK5BAF IK5BCM IK5BDG IK5DHL IK5DVW IK5EKB IK5EKL IK5FCK IK5FKF IK5FQX IK5GFC IK5GQK IK5HHA IK5IFH IK5IIY IK5JXR IK5MEJ IK5MEN IK5OJB IK5PVX IK5PWB IK5PWC IK5PWN IK5PWQ IK5PWS IK5ROP IK5RUN IK5SRF IK5TBI IK5TTA IK5UAN IK5UAN/5 IK5UIM IK5WGK IK5XLB IK5YJK IK5ZAJ IK5ZQC IK5ZTT IK5ZUB IK5ZWU IK6BGJ IK6CNM IK6CWQ IK6DTB IK6EIW IK6EUH IK6FTZ IK6FWJ IK6GQC IK6GRT IK6GTF IK6HRB IK6IHN IK6IJF IK6IKJ IK6JRI IK6LBV IK6MNB IK6MND IK6OIN IK6PTH IK6SIO IK6SNR IK6TOS IK6UBY IK6VXO IK6XEJ IK6YXM IK6ZDE IK6ZER IK7BEF IK7BPV IK7CMY IK7FMQ IK7FPU IK7GFS IK7GIM IK7JTF IK7JWY IK7LMX IK7NXU IK7OFI IK7PTX IK7RVY IK7SLT IK7UFW IK7UXU IK7WPC IK7WPD IK7XLU IK7XLW IK7YTT IK7YZG IK8ARF IK8AWH IK8BIZ IK8BQE IK8EJN IK8ENH IK8EPC IK8GYL IK8GYQ IK8HBA IK8HCG IK8HJC IK8HMJ IK8HTM IK8IOZ IK8IPL IK8JDH IK8JUY IK8LJA IK8LTB IK8LXI IK8MIG IK8MYJ IK8MYM IK8NBE IK8NII IK8NIJ IK8NRW IK8NSR IK8NUO IK8OFW IK8OXQ IK8OZV IK8OZZ IK8PLE IK8QQO IK8RIJ IK8SCR IK8SEU IK8TEM IK8TEO IK8TVG IK8UND IK8VZE IK8WEJ IK8XFR IK8XFU IK8XIM IK8YDP IK8YFU IK8YJQ IK8YJQ/P IK8YOQ IL3T IN3ADW IN3ADW/P IN3AEF IN3AFT IN3BAO IN3BFW IN3BHR IN3BIY IN3BZY IN3DOV IN3EAR IN3FFN IN3FHE IN3HUU IN3IKF IN3IZT IN3JJI IN3JRZ IN3KCV IN3KMY IN3MNS IN3MOD IN3MQT IN3NJB IN3OWY/2 IN3OWY/I2 IN3PWE IN3QBR IN3QCI IN3REZ IN3RYE IN3SUI IN3TKF/4 IN3TLJ IN3UFW IN3VHA IN3VVK IN3VXH IN3WRR IN3XUG IN3XWE IN3YGW IN3YKS IN3ZNR IN3ZWF IO1A IO1T IO2L IO3B IO3J IO3N IO3O IO3P IO3R IO3T IO3X IO4T IO5A IO5O IO6A IO8V IO9K IP9BGS IQ0AL IQ0CI IQ0EF IQ0OS IQ0RM IQ1EE IQ1NO IQ1RY IQ1SM IQ1TO IQ2CJ IQ2CU IQ2LS IQ2MG IQ2VC IQ2XX IQ3CG IQ3FX IQ3GA IQ3GO IQ3ME IQ3MO IQ3PN IQ3RK IQ3SD IQ3TN IQ3UD IQ3VE IQ4AX IQ4RN IQ5AE IQ5DY IQ5FI IQ5LU IQ5MS IQ5PO IQ5PT IQ6TC IQ7AF IQ7DV IQ8EB IQ8FT IQ8LR IQ8MD IQ8PL IQ8PQ IQ8PZ IQ8RB IQ8RB/1 IQ9BF IQ9DE IQ9GD IQ9NI IQ9PA IR1A IR1C IR1G IR1K IR1M IR1R IR1W IR1Y IR2A IR2C IR2K IR2M IR2Y IR3C IR3W IR3X IR3Y IR3Z IR4E IR4M IR4T IR4X IR5B IR5T IR5X IR6D IR6T IR7A IR7C IR8A IR8P IR8W IR9P IR9W IR9X IR9Y IR9Z IS0/G1VNV IS0/IK4ZHH IS0/IK5EKB IS0/IT9VDQ IS0/K7QB IS0/OK1CZ IS0/OL0A IS0A IS0AFM IS0ANY IS0B IS0C IS0DFC IS0EBO IS0GQX IS0GRB IS0HQJ IS0IEK IS0IGV IS0LFZ IS0LYN IS0NHT IS0OMH IS0RDY IS0RZG IS0SQJ IS0SWW IS0T IS0XDA IS0YEK IS0YTA IT9ABY IT9ACN IT9AJP IT9AQV IT9AST IT9AUG IT9AUH IT9AUT IT9AXQ IT9BLB IT9CCQ IT9CJC IT9DFI IT9ECQ IT9EJP IT9EJW IT9ELD IT9EQO IT9ESI IT9ESW IT9FGA IT9FXY IT9GAC IT9GSF IT9HBT IT9HLR IT9HUV IT9IAS IT9ICS IT9IFI IT9IMJ IT9INO IT9IYZ IT9IZY IT9JAV IT9JDH IT9JOF IT9JQY IT9KCD IT9LED IT9LKX IT9LNH IT9MNP IT9MRZ IT9MUO IT9MYY IT9NTD IT9OJW IT9PAD IT9PCU IT9PKO IT9PPG IT9PQJ IT9QDS IT9QQO IT9QQP IT9RBW IT9RGY IT9RIA IT9RJQ IT9RKR IT9RWB IT9RYJ IT9RZU IT9SFT IT9SGN IT9SMU IT9SSI IT9STX IT9TFX IT9UCS IT9UFP IT9VDQ IT9VPT IT9WTY IT9XTP IT9YAO IT9YHR IT9YSW IT9ZAU IT9ZGY IT9ZIR IT9ZMX IT9ZRU IT9ZVJ IT9ZVL IT9ZZO IU0R IU1A IU1HQ IU1U IU2HQ IU2P IU2R IU4HQ IU5HQ IU8HQ IU9A IU9HQ IU9T IV3AOL IV3APV IV3ARJ IV3AVQ IV3AZV IV3BEI IV3BKH IV3BYT IV3CGJ IV3CTW IV3DSH IV3DXW IV3DYS IV3EAD IV3EFE IV3EHH IV3EPO IV3FAS IV3FIV IV3FSG IV3GOW IV3GTH IV3HYD IV3IDP IV3IFN IV3IFY IV3IQY IV3IUM IV3IXN IV3IYH IV3IZU IV3JCC IV3JVJ IV3JWY IV3KAS IV3KFB IV3KSE IV3KVC IV3KYQ IV3MGN IV3MRK IV3NBA IV3NVB IV3NVN IV3NVN/P IV3ODE IV3ONZ IV3PGQ IV3PRK IV3RAV IV3RAZ IV3RJT IV3RLB IV3RVN IV3SKB IV3TIQ IV3TMV IV3TQE IV3TRK IV3TUO IV3UHL IV3UT IV3VBM IV3VCS IV3VER IV3VSN IV3WJP IV3WMS IV3XAZ IV3XHM IV3XPP IV3XUX IV3XWD IV3XZG IV3YER IV3YIB IV3YIM IV3YND IV3YYK IV3ZIZ IV3ZUY IV3ZXF IV3ZXQ IW0AFS IW0AGX IW0BCF IW0BLW IW0BMC IW0BNW IW0BSQ IW0BYL IW0BZD IW0CGT IW0CJE IW0DGJ IW0DUA IW0EAC IW0EFA IW0GBU IW0GTA IW0GVG IW0GXY IW0GYC IW0HBY IW0HEX IW0HLE IW0HLZ IW0HOU IW0HQE IW0QO IW0RVQ IW0SAF IW0UII IW0UWE IW1ARB IW1AYD IW1CKJ IW1CPZ IW1CQ IW1DFU IW1DMC IW1ECY IW1FGY IW1FGZ IW1FNW IW1FPK IW1FZR IW1GAL IW1GB IW1GJJ IW1GPT IW1PDP IW1PNJ IW1PPM IW1PUR IW1QLH IW1QN IW1RAX IW1RGS IW1RHR IW1RIU IW1RMD IW2BAC IW2BAI IW2BNA IW2BZY IW2CAM IW2CLM IW2ETR IW2FIV IW2FND IW2FTN IW2FUT IW2GRA IW2HAJ IW2HUS IW2JRV IW2KIR IW2LHE IW2LLH IW2MJQ IW2MNT IW2MWZ IW2MXY IW2MYH IW2MYV IW2MZX IW2NBW IW2NEF IW2NRI IW2NRT IW2NUI IW2NWV IW3AAD IW3AJN IW3AJN/P IW3BTR IW3EKH IW3EOL IW3FZQ IW3GGU IW3GRG IW3GXW IW3HXR IW3IA IW3ICN IW3IFJ IW3IIP IW3ILM IW3IMM IW3QAF IW3RUA IW3SKX IW3SMU IW3SNW IW3SOM IW3SQY IW3SRC IW3SRG IW3SSA IW4BLZ IW4BTN IW4DQY IW4ECX IW4EGX IW4ENR IW4EQI IW5AB IW5ADB IW5ALG IW5BEN IW5BHU IW5CBK IW5CI IW5CWA IW5DLY IW5DPF IW5ECP IW5EDI IW5EFX IW5EHY IW5EID IW5EIJ IW5ELA IW5ELL IW6AFT IW6APY IW6ASD IW6ATQ IW6CJM IW6DGJ IW6DRH IW6NZY IW6PWC IW7BIM IW7EBE IW7ECJ IW7EDB IW7EEV IW7EFC IW7EFJ IW8AWR IW8BAK IW8DCS IW8DON IW8EHK IW8ELR IW8EPH IW8FEA IW8PQ IW8QIE IW8RQA IW8RRF IW9ANR IW9BCW IW9CTR IW9DNI IW9FDD IW9FI IW9FRA IW9FRB IW9GUR IW9GYL IW9HEB IW9HHB IW9HII IW9HIK IX1ALR IX1BFL IX1CVF IY0GM IY1GM IY1GMN IY1NGM IY2M IY3GM IY3XX IY4FGM IY8GM IZ0ADG IZ0AEZ IZ0ARL IZ0BEE IZ0BNR IZ0BNV IZ0BVU IZ0CEZ IZ0CGV IZ0CIV IZ0CLS IZ0COI IZ0DIB IZ0DKZ IZ0DXD IZ0DXI IZ0EHL IZ0ESL IZ0EVK IZ0EYP IZ0EYP/8 IZ0FBJ IZ0FKE IZ0FUW IZ0FVD IZ0FVH IZ0FVL IZ0FWD IZ0FWE IZ0FZM IZ0GIY IZ0GKB IZ0GMS IZ0GRR IZ0GUS IZ0GVR IZ0GXM IZ0GYP IZ0HAP IZ0HPX IZ0HQS IZ0IIY IZ0INX IZ0IWU IZ0KBA IZ0KBR IZ0KBW IZ0MII IZ0MJE IZ0MJG IZ0MQN IZ0MTF IZ0MTV IZ0NRG IZ0OTB IZ0OVZ IZ0OWC IZ0PAD IZ0PED IZ0PMV IZ0PSA IZ0PSC IZ0PTY IZ0PXT IZ0RCP IZ0RMV IZ0RPZ IZ0RTP IZ1ANK IZ1ANU IZ1ANZ IZ1AOC IZ1AOD IZ1AZA IZ1BCS IZ1BII IZ1BTS IZ1BZS IZ1BZV IZ1CCE IZ1CCF IZ1CLA IZ1CQZ IZ1DBY IZ1DFG IZ1DGG IZ1DLY IZ1DMI IZ1DNJ IZ1DNQ IZ1DUG IZ1DUI IZ1DXS IZ1ERW IZ1FBC IZ1FHF IZ1FUM IZ1FYQ IZ1GAR IZ1GCM IZ1GCQ IZ1GCV IZ1GIP IZ1GJK IZ1GLO IZ1GLT IZ1GLX IZ1GQJ IZ1GWW IZ1GZF IZ1HBC IZ1HIV IZ1JKH IZ1JKY IZ1JLF IZ1JLG IZ1JLN IZ1JLP IZ1JMN IZ1JTH IZ1KGY IZ1KIM IZ1LBB IZ1LBG IZ1LGV IZ1MDJ IZ1MHL IZ1MHQ IZ1MHX IZ1MHY IZ1MKB IZ1MKP IZ1MKQ IZ1MKZ IZ1MLQ IZ1MRO IZ1NBX IZ1OMY IZ1OQB IZ1OSP IZ1PHT IZ1PKV IZ1POA IZ2ABI IZ2ABN IZ2ACD IZ2ACM IZ2AJE IZ2AMW IZ2AVK IZ2BKA IZ2BQF IZ2BVL IZ2BZP IZ2CEE IZ2CHN IZ2CPO IZ2CSX IZ2DII IZ2DMV IZ2DPX IZ2DVI IZ2EAS IZ2EER IZ2EEV IZ2EID IZ2EVH IZ2EWM IZ2EWR IZ2FDY IZ2FFK IZ2FLX IZ2FME IZ2FOB IZ2FOS IZ2GIU IZ2GMT IZ2GNQ IZ2GOT IZ2GRG IZ2GTO IZ2IHO IZ2IPF IZ2JCD IZ2JNN IZ2JPN IZ2JQP IZ2KPE IZ2KPI IZ2KRZ IZ2KTE IZ2KTF IZ2KXC IZ2LQD IZ2LSC IZ2NBD IZ2NYY IZ2NZQ IZ2NZZ IZ2OBS IZ2OBY IZ2ODM IZ2OHL IZ2OIF IZ2PCJ IZ2QBH IZ2QDC IZ2QKG IZ2RPJ IZ3ALF IZ3ASB IZ3AWU IZ3BGL IZ3BJA IZ3BUG IZ3CAN IZ3CAR IZ3CKG IZ3DBA IZ3DVU IZ3EAV IZ3EAX IZ3EAY IZ3EBA IZ3ENH IZ3EOU IZ3ERM IZ3ESV IZ3ETC IZ3ETU IZ3FJZ IZ3GFZ IZ3GHP IZ3GNG IZ3GOG IZ3GOM IZ3GOO IZ3GYS IZ3HKN IZ3IBL IZ3KIF IZ3KKE IZ3KMY IZ3KNK IZ3KSO IZ3KSP IZ3KUY IZ3KVD IZ3LCF IZ3LES IZ3LHX IZ3LJG IZ3LQN IZ3LSZ IZ3LUF IZ3MSK IZ3NPZ IZ3NVR IZ3NXC IZ3NYG IZ3NYS IZ3ODB IZ3PYL IZ3PZL/3 IZ3PZM IZ3QHA IZ3QHB IZ4AFW IZ4AIF IZ4AII IZ4AMS IZ4BBF IZ4BQV IZ4COW IZ4CZE IZ4CZL IZ4DIG IZ4DIW IZ4DJD IZ4DLR IZ4DPV IZ4DUX IZ4DYX IZ4DZD IZ4EFN IZ4EFP IZ4FUA IZ4GAH IZ4GOL IZ4GSE IZ4GWE IZ4HVM IZ4HVM/3 IZ4HZA IZ4IFR IZ4IRO IZ4ISC IZ4IST IZ4JMA IZ4MJP IZ4NIC IZ4NSV IZ4ORN IZ4ORO IZ4OSG IZ4OSH IZ4OUA IZ4OUL IZ5ASZ IZ5AXA IZ5BLP IZ5BRP IZ5BRW IZ5BSA IZ5CMG IZ5CMI IZ5CML IZ5DIY IZ5DKG IZ5DKJ IZ5DKO IZ5DKR IZ5DMB IZ5EBL IZ5EKV IZ5EKX IZ5EME IZ5FSA IZ5FSO IZ5GRS IZ5HPQ IZ5HQB IZ5HSK IZ5ICH IZ5IIN IZ5IJY IZ5ILC IZ5ILD IZ5ILF IZ5ILJ IZ5ILK IZ5ILU IZ5IMD IZ5IOM IZ5IOM/5 IZ5IOS IZ5IOW IZ5IPA IZ5JHJ IZ5JMZ IZ5JNO IZ5LDD IZ5MAO IZ5MJZ IZ5MKA IZ5MMB IZ5MMK IZ5MMN IZ5MMR IZ5MOQ IZ5MXA IZ5NFC IZ5NRF IZ5OOP IZ5OPV IZ5OPX IZ5OQA IZ5OQX IZ5PQT IZ5RKC IZ6AAW IZ6BTN IZ6BXV IZ6CLN IZ6CLZ IZ6EIY IZ6ERS IZ6FHZ IZ6FXP IZ6GIG IZ6GSB IZ6GSQ IZ6HRT IZ6IMN IZ6INR IZ6IOC IZ6KBL IZ6LOF IZ6MPY IZ6MQH IZ6NCN IZ7CDE IZ7CRW IZ7DOK IZ7DOO IZ7ECL IZ7EDQ IZ7EQX IZ7EUB IZ7EVZ IZ7FLT IZ7FMM IZ7GAT IZ7GLL IZ7GWZ IZ7HNO IZ7IJW IZ7JVR IZ7KHR IZ7LDC IZ7LDL IZ7MFY IZ7MYV IZ7MZU IZ7NMD IZ7OJY IZ7QLY IZ8BFV IZ8BGY IZ8CCW IZ8CKT IZ8CLM IZ8DBJ IZ8DDL IZ8DGR IZ8DPL IZ8DSX IZ8DVD IZ8DWL IZ8EDL IZ8EEL IZ8EFD IZ8EKL IZ8EMB IZ8EMK IZ8EPX IZ8ESX IZ8EWD IZ8FAV IZ8FBU IZ8FDG IZ8FDH IZ8FFA IZ8FQO IZ8FTW IZ8FWN IZ8GBH IZ8GBT IZ8GCB IZ8GCE IZ8GNR IZ8GNW IZ8HUJ IZ8HXG IZ8IFL IZ8ITT IZ8IYN IZ8IYX IZ8JAI IZ8JDF IZ8JFL IZ8JPV IZ8LGP IZ8LIP IZ8LKL IZ8LLH IZ8LLQ IZ8LMA IZ8MBW IZ8MCG IZ8MNL IZ8MNQ IZ8MXB IZ8NGH IZ8NVV IZ8OFO IZ8OGR IZ8PPH IZ8PPI IZ8QIG J28AA J28JA J28OO J37K J37T J38A J38CW J38RF J38XJ J38XX J39BS J41E J42T J42WT J43J J43P J45KLN J46J J48HW J48RT J49I J49XB J5UAP J68JA J68V J69DS J69MV J79WE J79ZG J7N J7Y J88DR JA0AOQ JA0ARF JA0ASO JA0AVS JA0AXV JA0BEE JA0BES JA0BJY JA0BKX JA0BOV JA0CIY JA0CRI JA0CVC JA0DAI JA0DBQ JA0DBS JA0DNE JA0DOW JA0DSH JA0ED JA0EME JA0EQO JA0EVI JA0FMB JA0FMU JA0FNU JA0FSB JA0FSN JA0FVU JA0GCI JA0GEY JA0GJJ JA0GSG JA0GZZ JA0HWF JA0IND/1 JA0IOF JA0JHA JA0KAZ JA0KJD JA0LCP JA0LHU JA0LXP JA0MVW JA0NFP JA0NPQ JA0PE JA0PTK JA0QNJ JA0RCK JA0RUG JA0SDW JA0UFZ JA0UJL JA0UMV JA0UPW JA0UR JA0URR JA0VHI JA1AA JA1AAA JA1AAT JA1ACF JA1ADN JA1ADT JA1ADU JA1AEC JA1AFF JA1AFI JA1AJK JA1AKL JA1AKR JA1ALT JA1ALU JA1AML JA1ANF JA1ANG JA1ANR JA1ANT JA1AOH JA1APX JA1ARO JA1ATB JA1ATZ JA1AUD JA1AYO JA1AZR JA1AZW JA1BAN JA1BAQ JA1BAS JA1BFN JA1BHK JA1BJI JA1BK JA1BMA JA1BNL JA1BNW JA1BON JA1BOQ JA1BPA JA1BPN JA1BTR JA1BUQ JA1BWA JA1BWD JA1BWT JA1CAQ JA1CC JA1CCA JA1CCO JA1CG JA1CIA JA1CJI JA1CJP JA1CKA JA1CKE JA1CLW JA1CLZ JA1CON JA1COP JA1CP JA1CPA JA1CPN JA1CPZ JA1CQK JA1CQT JA1CTB JA1CTZ JA1CXC JA1DBG JA1DCK JA1DDZ JA1DEQ JA1DEU JA1DIO JA1DKT JA1DMX JA1DOF JA1DOT JA1DSI JA1DUA JA1DUH JA1DUP JA1DVN JA1DXE JA1DXF JA1EFY JA1EHV JA1EJY JA1ELY JA1EM JA1EMQ JA1EOD JA1EOG JA1ERB JA1ESH JA1ETN JA1EWE JA1FFO JA1FGB JA1FIO/1 JA1FKY JA1FNA JA1FNO JA1FO JA1FRQ JA1FTW JA1FUI JA1FVJ JA1FVK JA1FVS JA1FWJ JA1FWY JA1GBC JA1GC JA1GCA JA1GDF JA1GFD JA1GHH JA1GHR JA1GHV JA1GLE JA1GRM JA1GSG JA1GTR JA1GVT JA1GYO JA1HFY JA1HG JA1HGX JA1HGY JA1HHL JA1HLF JA1HLR JA1HMK JA1HNW JA1HO JA1HP JA1HRQ JA1HTD JA1HTK JA1HXJ JA1HYF JA1IAW JA1IDY JA1IE JA1IFB JA1IFD JA1IFP JA1IKA JA1IOA JA1IRH JA1ISA JA1IST JA1ITX JA1IUG JA1IVV JA1IVY JA1IWP JA1IXY JA1IZ JA1IZB JA1IZZ JA1JCF/1 JA1JDP JA1JKG JA1JLP JA1JNM JA1JQM JA1JQY JA1JXD JA1JXT JA1JXU JA1JYS JA1KEB JA1KEV JA1KGV JA1KI JA1KIH JA1KJW JA1KK JA1KLK JA1KLW JA1KPF JA1KPH JA1KTB JA1KVT JA1KW JA1KWB JA1KXT JA1KZK JA1KZP JA1LBN JA1LBZ JA1LHH JA1LLN/8 JA1LLY JA1LNZ JA1LPH JA1LPQ JA1LQL JA1LQV JA1LSP JA1LZB JA1LZR JA1MBJ JA1MCU JA1MJC JA1MJN JA1MLV JA1MOD JA1MOW JA1MRM JA1MSS JA1MUZ JA1MVK JA1MVR JA1MZL JA1MZM JA1NAA JA1NGD JA1NGW JA1NIJ JA1NIR JA1NLC JA1NLX JA1NPD JA1NRF JA1NRQ JA1NUT JA1NUX JA1NVF JA1NWD JA1NXG JA1NXV JA1NZJ JA1NZK JA1OAF JA1OBJ JA1OCA JA1OCZ JA1ODE JA1ODP JA1OHD JA1OHP JA1OJJ JA1OND JA1OQ JA1OQQ JA1ORM JA1OSN/7 JA1OVD JA1OWP JA1OYD JA1OYY JA1OZK JA1PAH JA1PIN JA1PJS JA1PMN JA1PNA JA1POS JA1PRV JA1PS JA1PTJ JA1PTO JA1PVX JA1QCQ JA1QEU JA1QGT JA1QIW JA1QJE JA1QN JA1QNO JA1QOP JA1QS JA1QWT JA1QXC JA1QXY JA1RAC JA1RPK JA1RQT JA1RRA JA1RRR JA1RTX JA1RYC JA1SEV JA1SGU JA1SGX JA1SHC JA1SHE JA1SIM JA1SIN JA1SJT JA1SJV JA1SKE JA1SST JA1STY JA1SVP JA1SYY JA1SZN JA1TBX JA1TFJ JA1TGO JA1TLE JA1TMG JA1TQE JA1TQP JA1TRC JA1TRL JA1UAT JA1UCC JA1UII JA1UOC JA1UPO JA1UPT JA1UQA JA1USO JA1UTN JA1UTQ JA1UTZ JA1UVO JA1UZG JA1UZQ JA1VCW JA1VDI JA1VGV JA1VJQ JA1VLK JA1VND JA1VNS JA1VPE JA1VRU JA1VRY JA1VUI JA1WDF JA1WHG JA1WLO JA1WPX JA1WQD JA1WQX JA1WRI JA1WSK JA1WSX JA1WTI JA1WUM JA1WWB JA1WWE JA1WWO JA1WZG JA1XGI JA1XIA JA1XJA JA1XMS JA1XMT JA1XPH JA1XPU JA1XRA JA1XRH JA1XTN JA1XTQ JA1XUY JA1XXI JA1XZF JA1YAI JA1YPA JA1YSW JA1YUC JA1ZGO JA1ZGP JA2ACI JA2ADH JA2AEV JA2AH JA2AHH JA2AIB JA2ANR JA2AO JA2ATE JA2AXB JA2AYH JA2BAY JA2BCE JA2BDR JA2BGN JA2BHQ JA2BIV JA2BJW JA2BL JA2BMW JA2BNN JA2BQX JA2BVL JA2BXP JA2BY JA2CBZ JA2CJN JA2CPD JA2CUS JA2CXF JA2CXH JA2CYL JA2DCN JA2DDA JA2DGQ JA2DGQ/3 JA2DHF JA2DLM JA2DNA JA2DO JA2DPQ JA2DSY JA2DXD JA2DZQ JA2EDG JA2ELH JA2EPW JA2FBC JA2FEA JA2FGE JA2FJP JA2FSM JA2FTR/3 JA2FUA JA2FUJ JA2FVA JA2FWS JA2GAL JA2GDF JA2GDH JA2GHP JA2GTW JA2GWL JA2HCE JA2HDG JA2HGF JA2HMF JA2HO JA2HOL JA2HXV JA2IDJ JA2ITK JA2IU JA2IVK JA2IXS JA2JDY JA2JOJ JA2JTN JA2JW JA2KCY JA2KGH JA2KIY JA2KKA JA2KLE JA2KOG JA2KPV JA2KPW JA2KSI JA2KTK JA2KVB JA2KVD JA2LCP JA2LHG JA2LPY JA2LWO JA2MEI/2 JA2MNB JA2MOG JA2MWV JA2MYA JA2NOV JA2NVM JA2ODB JA2OGB JA2OZI JA2OZJ JA2PAC JA2PFO JA2PJC JA2PJX JA2PSV JA2PVE JA2QOF JA2QQC JA2QVP JA2QXY JA2RGH JA2RJE JA2RPZ JA2SGH JA2TBS JA2TFU JA2TTH JA2UHR JA2UJ JA2UZE JA2VHG JA2VHO JA2VKU JA2VPO JA2VSU JA2VUP JA2VZL JA2WP JA2XCR JA2XQO JA2XYO JA2ZJW JA2ZS JA3AA JA3AAD JA3AK JA3ALY JA3AMI JA3AOP JA3APU JA3APV JA3AQM JA3AVO JA3AYL JA3AYX JA3AZD JA3BAZ JA3BBG JA3BCC JA3BCT JA3BDP JA3BHO JA3BIN JA3BJZ JA3BKP JA3BLN JA3BRI JA3BUM JA3BVJ JA3BXZ JA3CCX JA3CG JA3CSZ JA3CZV JA3CZY JA3DAY JA3DLE/1 JA3DPX JA3DSY JA3DX JA3DXD JA3DXR/1 JA3EA JA3EEM JA3EGE JA3EGZ JA3EMU JA3EOE JA3ETD JA3EUB JA3EUF JA3EY JA3EZJ JA3FGJ JA3FSV JA3FYC JA3GMJ JA3GN JA3GSM JA3GW JA3HBC JA3HBF JA3HBP JA3HDM JA3HIL JA3HRV JA3HU JA3HZT JA3IDQ JA3IGZ JA3IKG JA3JFT JA3JM JA3JND JA3JOT JA3KDJ JA3KGC JA3KKE JA3KLI JA3KNB JA3KRK JA3KZD JA3LCR JA3LEB JA3LEZ JA3LKE JA3LKU JA3LXH JA3LZC JA3MFE JA3MIB JA3MQY JA3MZB JA3NFA JA3NHL JA3NHW JA3NTE JA3OEA JA3OHY JA3OOK JA3OSA JA3PCQ JA3PJL JA3PNN JA3PST JA3PYC JA3PYH JA3QOS JA3RAR JA3RAZ JA3RK JA3RN JA3RQ JA3RWJ JA3TMM JA3TPK JA3TVM JA3UMQ JA3USA JA3UWB JA3VPA JA3VUI JA3VXH JA3WKK JA3WLN JA3WNB JA3WPN JA3WU JA3XOG JA3YAA JA3YBK JA3YKC JA3YPD JA3YPL JA4AFT JA4AJB JA4AQR JA4AVO JA4AXM JA4AYU JA4BDY JA4BPW JA4BSZ JA4BVH JA4BXU JA4CBX JA4CMW JA4COF JA4CQS JA4CUU JA4CZM JA4DC JA4DHN JA4DMB JA4DND JA4DQX JA4DWR JA4DZ JA4EBU JA4EE JA4ENN/1 JA4ENP JA4EZA JA4EZP JA4FHE JA4FIQ JA4FJL JA4FKX JA4FM JA4FWI JA4GCF JA4GGR JA4GXS JA4GXX JA4HXZ JA4IQK JA4IU JA4JBZ JA4JIF JA4JY/3 JA4KRR JA4LAZ JA4LKB JA4LXY JA4MOK JA4MRL JA4NQD JA4PXE JA4RMX JA4RWN JA4TY JA4UDN JA4XHF/3 JA4XRN JA4XW JA4XY JA4YHX JA5ADR JA5AOA JA5APU JA5AQC JA5ATN JA5AUC JA5BEI JA5BEN JA5BGA JA5BIN JA5BQT JA5BVO JA5BZL JA5CBO JA5CEX JA5CJZ JA5CPJ JA5CTW JA5CUX JA5DBE JA5DFX JA5DQH JA5DVK JA5ERZ JA5EWH JA5EXW JA5EYW JA5FBZ JA5FDJ JA5FNX JA5FTL JA5GE JA5GSG JA5INF/1 JA5IU JA5IVG JA5JGY JA5JWQ JA5MXP JA5ND JA5NLN JA5NNS JA5NPV JA5NSN JA5OP JA5PEU JA5RB JA5RVN JA5SRJ JA5SUD JA5TNF JA5UBW/3 JA5WIO JA5WNH JA5XPD JA5XPN JA6ACZ JA6AP JA6ARM JA6AUM JA6AVT JA6BCV JA6BDB JA6BEE JA6BGA JA6BJT JA6BJV JA6BLX JA6BWH JA6BZA JA6BZI JA6CBG JA6CDA JA6CDC JA6CFW JA6CLO JA6CM JA6CMI JA6CNH JA6CNL JA6COW JA6CRP JA6CUX JA6CYL/6 JA6DC JA6DH JA6DIJ JA6DSG JA6ECF/1 JA6EFT JA6EML JA6ETS JA6FBI JA6FFK JA6FGC JA6FMR JA6FOF JA6FUV JA6FXT/1 JA6GCE JA6GGD JA6GIJ JA6GKW JA6GT JA6GXP JA6HJW JA6HLU JA6HPI JA6HQT JA6IQG JA6JNF JA6JPS JA6JRE JA6JYM JA6KTY JA6LCJ JA6MYQ JA6NOC JA6OXT JA6PCH JA6QDU JA6QZ JA6RCH JA6REX JA6RXO JA6SHL JA6SRB JA6TIT JA6TMU JA6TWS JA6UDI JA6VDB JA6VI JA6VNR JA6VQA JA6VU JA6WFM JA6WIF JA6WJL JA6WW JA6XBH JA6XZS/1 JA6YG JA6ZPR JA7ACM JA7ACV JA7AEM JA7AGO JA7AHK JA7AKH JA7ARD JA7ARW JA7AXN JA7AXP JA7BAL JA7BCE JA7BJS JA7BLE JA7BME JA7BMR JA7BMW JA7BSV JA7BVH JA7BWT JA7BYP JA7BZU JA7CDK JA7CDV JA7COI JA7COK JA7CPW JA7CXL JA7DDK JA7DHJ/1 JA7DLE JA7DNJ JA7DOT JA7DXX JA7DY JA7DYJ JA7EDZ JA7EMG JA7EMH JA7ESQ JA7EU JA7EVH JA7EYK JA7FAS JA7FEX JA7FNQ JA7FTR JA7GAP JA7GBS JA7GUT JA7GYP JA7GZM JA7HB JA7HTJ JA7HUC JA7HYS JA7IC JA7JH JA7JMX JA7JWF JA7KDC JA7KE JA7KQC JA7KY JA7LDA JA7LGE JA7LLL JA7LMU/1 JA7LMZ JA7MBT JA7MGP JA7MJ JA7MSQ JA7ND JA7NI JA7NLW JA7NPV JA7NUM JA7NVF JA7NX JA7ODY JA7OEM JA7OUV JA7OWD JA7OXR JA7OXR/1 JA7OYM JA7OZW JA7QFU JA7QOU JA7QVI JA7RHJ JA7RPC JA7RQK JA7SN JA7SSP JA7SUR/1 JA7TJ JA7UES/1 JA7VEI JA7VSO JA7WMO JA7WNA JA7WQJ JA7XBG JA7XRH JA7XVZ JA7XZZ JA7YAA JA7YCQ JA7YRR JA7ZP JA7ZT/1 JA8AHA JA8AIN JA8AJE JA8APN JA8AWH JA8AZN JA8BAR JA8BBD JA8BKI JA8BNP JA8BOV JA8BXD JA8CDG JA8CEA JA8CJY JA8CMC JA8CNF JA8CPF/1 JA8CSY JA8CTO JA8DIV JA8DMB JA8DNV JA8ECS JA8EIA JA8EIU JA8EOT JA8EPO JA8FHM JA8GMZ JA8GWK JA8IAF JA8IJI JA8ISU JA8IUB JA8JDQ JA8JMG JA8JTH JA8KMA JA8KNJ JA8KSF JA8KXA JA8LN JA8LRG JA8LSZ JA8MS JA8MXC JA8NF JA8NFV JA8NSF/1 JA8RJE JA8RRF JA8RUU JA8RWU JA8RY JA8SCD JA8SCD/1 JA8SM JA8SPZ JA8TR JA8UON JA8WNR JA8WY JA8XOK JA8YYY JA8ZO JA9ABA JA9AGN JA9APS JA9APZ JA9ARC JA9BFM JA9BGL JA9BJS JA9BKU JA9BMG JA9CAC JA9CCG JA9CGW JA9CHI JA9CNC JA9CWJ JA9CZE JA9DJH JA9DNS JA9DTV/1 JA9EJG JA9ESZ JA9FAI JA9FHB JA9FO JA9FPI JA9FR JA9GLW JA9IFF JA9IL JA9LJS JA9LX JA9MAT JA9NFO JA9NUN JA9PAK JA9PPC JA9RO JA9RPU JA9RRH JA9RT JA9SSY/1 JA9SSY/2 JA9SW JA9TQY JA9UR JA9XRL JA9ZMQ JD1BIA JD1BLY JD1BMM JE0EHE JE1ALA JE1AON JE1BQE JE1CAC JE1CJB JE1CKA JE1COB JE1CPB JE1CQT JE1CSW JE1CTM JE1EMU JE1EQS JE1FQV JE1FUX JE1GNG JE1GWO JE1GYL JE1GZB JE1HMC JE1HQE JE1HXZ JE1IFV JE1JAC JE1KBV JE1KDM JE1KEY JE1KON JE1LCK JE1LDU JE1LET JE1LFR JE1LFX JE1LOI JE1LPZ JE1LRT JE1LZL JE1MHO JE1NGI JE1NVD JE1OHL JE1ORU JE1PGA JE1PNX JE1QCL JE1QUR JE1QYI JE1REU JE1RID JE1ROA JE1RRK JE1RXJ JE1RZR JE1SCF JE1SCJ JE1SGH JE1SHW JE1SPY JE1SSE JE1SYN JE1TBU JE1TNL JE1TRV JE1TSD JE1UMG JE1WHD JE1WYC JE1YEM JE1ZWT JE2ATB JE2DJC JE2DOD JE2EHP JE2FUP JE2HCJ JE2HXL JE2ILG JE2KDN JE2KUC JE2LDW JE2LPC JE2LUN JE2LVG JE2MIR JE2OTM JE2OVG JE2PCY JE2PMC JE2QIZ JE2RDO JE2SOY JE2TLZ JE2UFF JE2VLG JE2WGC JE2XJW JE2YWY JE3AGN JE3AOL JE3BXY JE3CXJ JE3EDJ JE3EJC JE3GUG JE3HWO JE3MTQ JE3RNC JE3UHV JE3VRJ JE3WUK JE3XNF JE4AEJ/1 JE4ICX/1 JE4JPQ JE4KQH JE4MHL JE4MZA JE4QGF JE4RAL JE4USZ JE4XYA JE5CIL JE5JHZ JE5PTI JE5PTJ JE5QPH JE6CAJ JE6CMG JE6DBI JE6DND JE6DVI JE6ETN JE6HUR JE6JVH JE6LXS JE6QUJ JE6TSP JE6TUU JE6URC JE6UWU JE7BUH JE7CJL JE7DMH JE7HYK JE7JDL JE7JZT JE7LKG JE7SOG JE7WBI JE7YSS JE8BKW JE8CIC JE8CLT JE8CRA JE8GNN JE8KGH/7 JE8KKX JE8NTJ JE8TGI JE9CRJ JE9QMZ JF0EHX JF0POA JF1AGB JF1AZQ JF1BFM JF1CBT JF1DMY JF1EGO JF1EGX JF1EUY JF1FFX JF1GUT JF1GYX JF1GZZ JF1HJX JF1HME JF1HYG JF1IRW JF1ISC/3 JF1IUA JF1IXE JF1JPB JF1KFR JF1KKV JF1KMC JF1KML JF1KSF JF1KUR JF1KWG JF1LLB JF1LMB JF1LWO JF1MAD JF1MQS JF1NHD JF1NZW JF1OLC JF1OPL JF1PJK JF1PTX JF1PYJ JF1QQK JF1RBU JF1RDH JF1RFZ JF1RQP JF1RWZ JF1RYU JF1SCB/7 JF1SEK JF1SPT JF1SQC JF1SVV JF1TEU JF1UVJ JF1VNR JF1VRR JF1VRU JF1VVR JF1VYX JF1WQC JF1WXN JF1XEP JF1YRK JF2BDK JF2CTY JF2DID JF2DND JF2DST JF2FIU JF2HPA JF2ICB JF2IKJ JF2IWL JF2KOZ JF2LVM JF2MBF JF2OHQ JF2OZH JF2PZY JF2QNM JF2RCX JF2RDG JF2RLD JF2SKV JF2SQB JF2TOG JF2UPM JF2VFN JF2VHS JF2VNV JF2WKE JF2WME JF2WTG JF2WXS JF3BFS JF3BRE JF3EIG JF3GKE JF3ITH JF3IYW JF3KNW JF3KON JF3KQA JF3LOP JF3MTM JF3MYU JF3NDW JF3NKA JF3RDE JF3SAD JF3SKW JF3VAX JF4ETK JF4GWA JF6CHY JF6WTY JF6XHS JF7GDF JF7NXS JF7XKY JF8AOJ JF9EXF JF9JTS JF9KVT JF9MJU JG0AXT JG0EKW JG0GGI JG0TCL JG1AUI JG1BKX JG1EIQ JG1FGL JG1FKT JG1FMA JG1FUV JG1GCO JG1GGF JG1GGU JG1GUW JG1HJV JG1HQA JG1HUF JG1IEF JG1IGX JG1ILF JG1IRX JG1IUF JG1IZA JG1JLA JG1LKT JG1MOH JG1NDM JG1OWV JG1PED JG1PST JG1RVN JG1SIS JG1SRB JG1THV JG1TLY JG1TVK JG1UKW JG1UZD JG1VVU JG1WNO JG1WRT JG1XLZ JG1ZKO JG2CNS JG2CNZ JG2GSY JG2KKG JG2KUT JG2LGM JG2NLN JG2REJ JG2SON JG2TSL JG3CKF/1 JG3CQJ JG3DOC JG3FEA JG3GYO JG3IWL JG3JLC JG3KUT JG3LGD JG3MBL JG3RXZ JG3SKK JG3SVP JG3TXD JG3UVN JG3WDN JG4AKL JG4OOU JG4QFG JG5DHX JG6DVF JG6FQW/1 JG6FUO JG6TPY JG6TXW JG7AMD JG7DLI JG7EHM JG7IJM JG7MFN JG7PSJ JG8QXB JG8TQL JH0BBE JH0BQX JH0CCK JH0EPI JH0EQN JH0EWT JH0EXA JH0GHZ JH0IEW JH0INE JH0INP JH0JDV/0 JH0KHR JH0LSP JH0MGW JH0MHR JH0MMJ JH0MXV JH0NEC JH0NOS JH0NVX/1 JH0OXS JH0QIQ JH0QYS JH0RNN JH0SGJ JH0TIS JH0WMN JH0WMN/1 JH1AAN JH1ABP JH1ACA JH1AEP JH1AGU JH1APK JH1APZ JH1ARJ JH1AWJ JH1BED JH1BEL JH1BQL JH1BZJ JH1CBD JH1CCN JH1CML JH1CRF JH1CTQ JH1DGQ JH1DJD JH1DLD JH1DTX JH1DVG JH1DYV JH1EAQ JH1EEB JH1EGJ JH1ESR JH1EVD JH1EVE JH1EYM JH1FNU JH1FSF JH1FSL JH1FTL JH1FVE JH1GEV JH1GNU JH1GUL JH1GUO JH1GUO/4 JH1GZE JH1HDT JH1HGF JH1HGI JH1HIC JH1HJC JH1HMC JH1HTF JH1HTQ/2 JH1HXY JH1HYW JH1IAQ JH1IED JH1IOY JH1IVD JH1IXW JH1JBV JH1KIM JH1KZB JH1KZQ JH1LAH JH1LEM JH1LPF JH1LPZ JH1MDJ JH1MSB JH1MTR/4 JH1NBN JH1NPQ JH1NXU JH1OBS JH1OCC JH1OGC JH1OGT JH1OHZ JH1OIV JH1OLB JH1OTZ JH1OVY JH1PCE JH1PQD JH1PXY JH1QDB JH1QDF JH1QQN JH1QVW JH1QYT JH1RDU JH1RFM JH1RFZ JH1RGG JH1RNI JH1RRP JH1SAJ JH1SAR JH1SBE JH1SJN JH1SVO JH1SWD JH1TFE JH1TKB JH1TUB JH1TWT JH1TXG/9 JH1UGN JH1URT JH1UUT JH1VHU JH1VIG JH1VMI JH1WHA JH1WJR JH1WLY JH1WNL JH1WVJ JH1XFR JH1XUM JH1XUP JH1XUZ JH1XVE JH1XYB JH2AHZ JH2AMH JH2AZW JH2BAX JH2BNL JH2BTM JH2BUF JH2CMH JH2DBQ JH2DFJ JH2DTP JH2FLY JH2FXK JH2GAA JH2GSW JH2GZY JH2HUQ JH2IEE JH2KCE JH2KIL JH2LPY JH2MYN JH2NWP JH2OEY JH2PWM JH2PWY JH2QAY JH2QLC JH2QUQ JH2RMU JH2SON JH2UVL JH2WGI JH2XQY JH2XTV JH3AIU JH3BYX JH3CCT JH3CTQ JH3CUL JH3DMQ JH3EDG JH3EGA JH3EGA/1 JH3EQP JH3EXI JH3FUK JH3GCN JH3HGH JH3HWL JH3JUB JH3JYS JH3KHS JH3LFL/1 JH3OHO JH3PRR JH3PTC JH3QFY JH3SIF JH3UDD JH3VWN JH3WKE JH4AAG JH4ADV JH4BTI JH4CES JH4CHV JH4CPC JH4EMK JH4EYD JH4FRP JH4FUF JH4GLG JH4GNE JH4IFF JH4JNG JH4LBE JH4OQF JH4OYA JH4RCK/3 JH4RNY JH4RUF JH4SLF JH4UTP JH4UYB JH4VDP JH5AVM JH5BJU/3 JH5CKV JH5DAH JH5FIX JH5FXP JH5GEN JH5IRT JH5KDL JH5MXB JH5OWN JH6ANR JH6AUS JH6CDI JH6DGE JH6DUI JH6EGU JH6FTJ JH6JMM JH6JMN JH6JSR JH6LPQ JH6MBD JH6NBW JH6OSR JH6QFJ JH6REM JH6RGY JH6RKI JH6RON JH6SCA JH6TYD JH6WDG JH6WHN JH6WMJ JH6XOD JH7BMF JH7BVH JH7CUO JH7CVM JH7DNO JH7DUM JH7FMJ JH7GNC JH7IAJ JH7IMX JH7IPR/6 JH7IXX JH7JCX JH7MEX JH7NTJ JH7OUW JH7PHD JH7QXJ JH7RTQ JH7RXY JH7SCY JH7UFT JH7UJI JH7XGC JH7XGN JH7XGQ JH7XMO JH8BHR JH8BOE JH8CXW JH8CZB JH8DBI JH8DBJ JH8DHV JH8FAJ JH8FAJ/1 JH8FIH JH8GEU JH8JOM JH8JYV JH8KFN JH8LLE JH8OCV JH8RXM JH8SGR JH8SIT JH8SLS JH8UGL JH8WWP JH8WXF JH9AUB JH9BZY JH9CAV JH9KVF JH9MBQ JH9URT JI1AFG JI1ALP JI1ANI JI1AQY JI1AVY JI1BBN JI1BDQ JI1BHO JI1BJB JI1BXD JI1CPN JI1CQA JI1CZK JI1DQA JI1DSO JI1DXM JI1ETJ JI1FDF JI1FLB JI1FXS JI1HAC JI1HFJ JI1IXW JI1JPJ JI1KXL JI1LAI JI1LAT JI1LET JI1LVQ JI1MUT JI1NCZ JI1OAB JI1OWY JI1QEW JI1QWE JI1QZQ JI1RAK JI1RXQ JI1SAI JI1UCL JI1UDD JI1VVB JI1XAC JI1XJB JI2HVT JI2IWB JI2KXK JI2LAL JI2MWH JI2TKX JI2TNT/9 JI2WYK JI2ZEY JI2ZJS JI3BAP JI3BFC JI3BKF JI3CJP JI3CWI JI3DST JI3DST/3 JI3DST/6 JI3FLA JI3FSI JI3ICP JI3JMG JI3KDH JI3KXB JI3KZD JI3MCM JI3OGI JI3OQO JI3QBQ JI4HKA JI4JGD JI4OHV JI4POR JI4UEN/4 JI4VXI JI4WHS JI5KGQ JI5RPT JI6AVL JI6IKW JI6OXK JI7EMD JI7GYU JI7HAV JI7NUF JI7RRS JI7UUO JI8XLD JJ0FVP JJ0HEN JJ0JML JJ0KDW JJ0KRD JJ0MPI JJ0NCC JJ0PER JJ1CBY JJ1CZR JJ1ENZ JJ1FDS JJ1FHH JJ1GQH JJ1IDW JJ1IVX JJ1LBJ JJ1LIB JJ1LID JJ1LRD JJ1MIX JJ1MZH JJ1NDP JJ1OAS JJ1OFQ JJ1QLT JJ1RSH JJ1SKG JJ1TBQ JJ1TJD JJ1VGA JJ1VJB JJ1VRO JJ1VTE JJ1WSN JJ1WWL JJ1XKE JJ1XPJ JJ1ZEJ JJ2CJB JJ2EOB JJ2HCM JJ2IBN JJ2JQF JJ2JQF/1 JJ2LPV JJ2NKX JJ2ONH JJ2PUG JJ2SQJ JJ2TKX JJ2YDV JJ3DXD JJ3GPJ JJ3JHP JJ3JJL JJ3LLT JJ3OFL JJ3SHR JJ3TBB JJ4CDW/4 JJ4NZO/1 JJ5EFY JJ5GMJ JJ6CZZ JJ6TWQ JJ7GCL JK1AFC JK1AII JK1BII JK1BQS JK1DHX JK1ECD JK1FFB JK1FNL JK1FNN JK1GKG JK1GMB JK1HWQ JK1JHB JK1KFO JK1KSB JK1LUY JK1MZT JK1NMJ JK1NSR JK1ODA JK1OLT JK1OPL JK1OXU JK1PDY JK1PIU JK1PLR JK1RAU JK1SDQ JK1SMY JK1SPQ JK1TCV JK1THF JK1TMP JK1UKQ JK1UVP JK1VEL JK1WXM JK1YMM JK2GMX JK2KNR JK2MDV JK2TTP JK2VOC JK2VOC/BA4TB JK2VQR JK3AGC JK3AHS JK3GHE JK3GWT JK3HFN JK3HLP JK3JTJ JK3NSD JK3ZCR JK4KSD JK6JAB JK6SEW JK7UST JK8NQW JK8USI JL1ARF JL1BDI JL1BNE JL1BYZ JL1CNY JL1DUE JL1EBL JL1EDB JL1EEE JL1ELQ JL1GXO JL1HSD JL1IHE JL1JJD JL1KLG JL1LNC JL1MUT JL1MWI JL1MWY JL1OHO JL1OXH JL1PPS JL1QOC JL1RUC JL1RXW JL1SAM JL1UJJ JL1UTS JL1VFZ JL1WPQ JL1XMN JL2CZY JL2LPX JL2VZJ JL3APM JL3CRS JL3JTD JL3MCM JL3QJQ JL3RDC JL3RNZ JL3RPD JL3RTA JL3SBE JL3TEQ JL3VUL/3 JL4BSE JL4HOZ JL4LWL JL4WYY JL6IPK JL6MSN JL6TKN JL7FBV/1 JL7SNM JL8AQH JL8GOV JL8LBK JL8MBF JL8VIV JM1AHX JM1BKZ JM1CYJ JM1EKM JM1FBF JM1FHL JM1FYH JM1HJG JM1IMF JM1ISX JM1JZN JM1KLO JM1KNI JM1LKI JM1LQI JM1LRQ JM1LWY JM1NKT JM1QBY JM1RQS JM1RSV JM1SBU JM1SMY JM1TUY JM1TWR JM1UTT JM1UWB JM1XCW JM1XSJ JM2DRM JM2LEI JM2LHB JM2LOF JM2MHQ JM2RUV JM2VYA JM3APP JM3PLL JM3QML JM3ROY JM3UAO JM3UML JM4UVV JM4WUZ JM6BYV JM7NBS JM7OLW JN1ADL JN1BBO JN1BMX JN1CJS JN1DJY JN1DNV JN1GLB JN1IZK JN1IZR JN1KWR JN1LWD JN1MSO JN1NDY JN1NOP JN1NTK JN1PFH JN1RQV JN1WFF JN2AMD JN2NOJ JN3DMJ JN3DRX JN3DSH JN3IWE JN3KST JN3LQP JN3MUC JN3SAC JN4FNZ JN4MMO JN4SNG JN4XYZ JN6EPA JN6GBB JN6VSN JN6VSN/1 JN7GLC JN7IIR JN7MLJ JN7TAN JO1ABS JO1COV JO1DZA JO1GUZ JO1HJD JO1KCQ JO1KVS JO1KXP JO1KXP/1 JO1LVZ JO1NLN JO1PNA JO1QNO JO1QZI JO1RUQ JO1SIM JO1UOK JO1UTR JO1VRV JO1WIZ JO1WKO JO1WNV JO1WZM JO1XEU JO2EWL JO2VSU JO3AGQ JO3AXC JO3AYN JO3DDD JO3EVM JO3GZH JO3JYE JO3MXH JO3NJD JO3PSJ JO3PSJ/3 JO3PSJ/4 JO3RCK JO3TGL JO4CBO JO4CFV JO6XMM JO7AJQ JO7GVC JO7HAM JO7INF JO7KJC JO7NFR JP1AEG JP1DMR JP1EWY JP1HDK JP1HUJ JP1IOF JP1IXV JP1JFG JP1KHY JP1PQD JP1PZE JP1QDH JP1SRG JP1TRJ JP1TVC JP2MRD JP3AZM JP3WAU JP6OGP JP7AWQ JQ1ABC JQ1AHZ/6 JQ1BVI JQ1COB JQ1DPP JQ1DTT JQ1GXV JQ1NGT JQ1PCX JQ1QGM JQ1QKK JQ1RKI JQ1SUO JQ1TAR JQ1VDJ JQ1VDJ/1 JQ1YER JQ1YIW JQ1YWK JQ2EHD JQ2GYU JQ2HVN JQ2MUM JQ2OUL JQ2QHQ JQ2SIX JQ2UMS JQ2UNS JQ2UNY JQ2UOZ JQ2VVH JQ2WTT JQ3UDL JQ6CAA JQ6JBU JQ6NAW JQ6OZP JQ6QNQ JR0AMD JR0BUL JR0EQQ JR0ETA JR0GUY JR0GXA JR0HYT/1 JR0KVU/1 JR0WZR JR1AHL JR1AHQ JR1ATA JR1AUK JR1BAS JR1BLX JR1BRS JR1BTG JR1BYO JR1CBC JR1CCT JR1CJD JR1CJD/1 JR1CVU JR1DIU JR1DUP JR1ERU JR1FHP JR1FVI JR1GCN JR1GFX JR1GJP JR1GLL JR1GMK JR1GNB JR1GVP JR1HUA JR1IJV JR1IZM JR1IZM/1 JR1KAG JR1KQU JR1LEV JR1LZK JR1MQT JR1MRG JR1MTS JR1NAL JR1NHD JR1NKN JR1PST JR1RGX JR1TOK JR1TRK JR1UBR JR1UFN JR1UMO JR1VAY JR1WLR JR1XFS JR2AAN JR2AAN/2 JR2AGL JR2ALA JR2AWS JR2BOF JR2BQN JR2BYJ JR2DOL JR2DUM JR2ECF JR2FJC JR2KDN JR2MCN JR2MIN JR2MLV JR2NTC JR2NTC/2 JR2PAU JR2PMQ JR2PMT JR2SCJ JR2SCZ JR2SQU JR2TMB/1 JR2TRC JR2TZJ JR2UBS JR2VWD JR2XOM JR3AAZ JR3BOT JR3CNQ JR3EOI JR3FQB JR3GVH JR3HTK JR3HZW JR3IIR JR3JFZ JR3KAH JR3KQJ JR3NDM JR3NZC JR3OEH JR3PKO JR3QHQ JR3RGX JR3RIY JR3RWB JR3STX JR3SZZ/3 JR3TOE JR3UIC JR3VFU JR3VXR JR3XEX JR3XKF JR4ABB JR4DAH JR4DHK JR4FLW JR4GPA JR4HTZ JR4IMV JR4ISF/3 JR4KJW JR4LRY JR4NMV JR4OHO JR4PDP JR4PMX/1 JR4URW JR4VEV JR4XME JR5DPV JR5EPQ JR5GZV JR5HKM JR5HXU JR5JAQ JR5MYC JR5VHU JR5XPG JR5YBH JR6AG JR6AUC JR6BU JR6EZE JR6FC JR6FRV JR6GHN JR6GIM JR6HMJ/1 JR6IGU JR6IKD JR6KBY JR6LLN JR6OSY JR6SVM JR6VIX JR6YAA JR7AMZ JR7ANB JR7AQL JR7COP JR7DXN JR7FNT JR7FVO JR7IAD JR7KSZ JR7MAZ JR7NAL/1 JR7NFW JR7NXM JR7RZM JR7RZM/6 JR7TBZ JR7TEQ JR7VHZ JR7WAB JR7XGL JR7XKN JR7YGK JR8AMF JR8BHW JR8NOD JR8ORC JR8OXT JR8PPG JR8QFG JR8QVT/1 JR8SUB JR8VSE JR9CPT JR9GEX JR9GMS JR9NVB JR9SCH JS1DLC JS1JTX JS1KQQ JS1LQI JS1MZV JS1NDM JS1OHI JS1OKS JS1OYN JS2NYO JS3CTQ JS3EOE JS3LSQ JS3OSI JS3QBP JS3QWI JS6DMT JS6GIM JS6RGY JS6RRR JS6RTJ JT1AA JT1BE JT1BH JT1BL JT1BV JT1BZ JT1C JT1CD JT1CJ JT1CO JT1CS JT1DA JT1R JT1ZO JT5DX JU1DX JU1F JU75BSI JV1A JW1CCA JW5E JW5HE JW5NM JW7QIA JW7XK JY3ZH JY4CI JY4NE JY5CC JY6HQ K0ABC K0ACP K0AD K0ADX K0AE K0AIZ K0AK K0ALT K0ALV K0ANS K0AOZ K0AP K0ARK K0ARS K0ARY K0AV K0AWU K0AXX K0AZ K0BJ K0BLT K0BO K0BOG K0BUD K0BWJ K0BWQ K0BX K0CA K0CCM K0CD K0CF K0CIE/5 K0CIY K0CKD K0CL K0CMH K0CMS K0CN K0COM K0COP K0CS K0CW K0DBN K0DEQ K0DI K0DK K0DLW K0DN K0DNG K0DQ K0DTJ K0DU K0DVV K0DVY K0DXC K0EA K0EIA K0EJ K0EKL K0EOA K0EOO K0EOU K0EQH K0ESE K0ETV K0ETY K0EU K0EWS K0EX K0FA K0FBV K0FG K0FHG K0FJ K0FLY K0FM K0FPL K0FRP K0FS K0FTC K0FVF K0FW K0FX K0FY K0FYI K0GAS K0GBC K0GEO K0GLT K0GM K0GMO K0GND K0GPF K0GSV K0GT K0GVG K0GXI K0HA K0HAA K0HB K0HC K0HGW K0HHB K0HIP K0HJC K0HMO K0HNC K0HNM K0HP K0HRM K0HS K0HT K0HUU K0HW K0IDT K0IE K0IEA K0INR K0IO K0IP K0IR K0IRL K0IS K0ISL K0ITC K0IUC K0IVK K0IYA K0IZ K0JA K0JCK K0JDD K0JE K0JEM K0JGH K0JJ K0JJM K0JJR K0JPL K0JSC K0JUH K0JV K0JZW K0KD K0KE K0KES K0KJS K0KL K0KP K0KRH K0KT K0KU K0KVR K0KW K0KX K0KY K0KZA K0LAF K0LC K0LDS K0LEJ K0LFV K0LG K0LIR K0LMD K0LU K0LUZ K0LW K0LWV K0MA K0MAF K0MD K0MDS K0MF K0MIS K0MJS K0MPH K0MZN K0NA K0NE K0NI K0NM K0NN K0NO K0NW K0NWT K0NX K0NY K0NZ K0OB K0OD K0OK K0OLD K0OSW K0OU K0PC K0PFV K0PFX K0PFZ K0PIR K0PJ K0PK K0PL K0PP K0PP/7 K0PT K0PY K0QB K0QC K0QH K0QL K0QQ K0QU K0RC K0RDK K0RDW K0RF K0RFD K0RG K0RGR K0RH K0RI K0RPD K0RRP K0RRY K0RS K0RU K0RY K0RZ K0SA K0SBV K0SCM K0SDW K0SF K0SIX K0SN K0SPI K0SQ K0SR K0SRL K0SRW K0SV K0SVX K0SW K0SX K0TER K0TG K0THN K0TI K0TIV K0TK K0TO K0TPK K0TPP K0TQ K0TRT K0TT K0TTY K0TV K0TZ K0UA K0UAS K0UB K0UD K0UE K0UIF K0UK K0UM K0URN K0USA K0UU K0VAR K0VBU K0VEE K0VET K0VG K0VH K0VIZ K0VK K0VM K0VR K0VVY K0VXP K0VXU K0VZT K0WA K0WB K0WHV K0WIU K0WK K0XB K0XD K0XE K0XI K0XTR K0XU K0XY K0YCR K0YLW K0YQ K0YQ/7 K0YR K0YY K0ZK K0ZN K0ZR K0ZX K1AA K1AA/4 K1AC K1AF K1AIR K1AJ K1ANT K1AR K1ARO K1ASA K1ATT K1BAA K1BBM K1BD K1BG K1BKE K1BO K1BV K1BW K1BX K1BZM K1CBR K1CL K1CN K1CP K1CTT K1DAN K1DAT K1DAT/1 K1DC K1DD K1DEC K1DFT K1DG K1DM K1DQV K1DRM K1DRW K1DS K1DT K1DUQ K1DW K1DX K1DXA K1DZS K1EA K1EAR K1EBY K1EEE K1EFI K1EKF K1EO K1EP K1EQA K1ESE K1EY K1FE K1FEV K1FFX K1FIR K1FJH K1FQ K1FTK K1FUG K1FWE K1FXY K1GE K1GI K1GIG K1GIL K1GMD K1GQ K1GTS K1GU K1GU/4 K1GUN K1GUP K1GW K1HAP K1HI K1HOP K1HR K1HT K1HT/8 K1HTJ K1HTN K1HTQ K1HTV K1HV K1HZ K1IB K1IEB K1IED K1IF K1IK K1ILR K1IM K1IMI K1IN K1IPT K1IR K1IX K1JB K1JC K1JD K1JDL K1JE K1JI K1JO K1JOS K1JT K1JTF K1JWP K1KA K1KAV K1KBA K1KD K1KDG K1KE K1KI K1KLM K1KNJ K1KNM K1KNQ K1KO K1KP K1KQ K1KS K1KU K1KUZ K1KX K1LD K1LEE K1LGM K1LGQ K1LHO K1LI K1LKP K1LKR K1LOG K1LPS K1LT K1LTJ K1LU K1LZ K1MAA K1MC K1MIJ K1MK K1MM K1MO K1MQ K1MR K1MTK K1MVM K1MVY K1MW K1NA K1ND K1NDF K1NDV K1NEF K1NG K1NH K1NI K1NIU K1NJ K1NK K1NKA K1NNJ K1NPT K1NR K1NSS K1NTR K1NU K1NUH K1NV K1NY K1OA K1OCD K1OU K1OW K1OYQ K1PAD K1PDY K1PJ K1PL K1PLX K1PS K1PT K1PTF K1PU K1PUB K1PV K1PY K1QF K1QK K1QO K1QR K1QS K1QW K1QX K1RA K1RC K1RH K1RJV K1RK K1RM K1RO K1RQ K1RRR K1RS K1RU K1RV K1RX K1RY K1RZ K1SA K1SA/4 K1SD K1SE K1SEZ K1SFA K1SI K1SL K1SL/6 K1SLB K1SM K1SND K1SO K1SSH K1ST K1SUB K1SVC K1SVT K1SXD K1TA K1TAX K1TC K1TG K1TH K1THP K1TKJ K1TKL K1TM K1TN K1TN/2 K1TO K1TR K1TTT K1TTY K1TW K1TZD K1UI K1UO K1UQT K1UR K1UTI K1VA K1VC K1VDF K1VI K1VIJ K1VLB K1VM K1VMI K1VML K1VO K1VSJ K1VT K1VU K1VV K1VW K1WB K1WCC K1WHS K1WN K1WO K1WVU K1WW K1WY K1XM K1XN K1XO K1XT K1XV K1YA K1YE K1YK K1YM K1YQ K1YSY K1YT K1YX K1ZE K1ZG K1ZM K1ZO K1ZR K1ZW K1ZW/4 K1ZZ K1ZZI K2AAW K2AFY K2AMI K2AMP K2AOP K2AQ K2ARO K2ATX K2AV K2AVX K2AX K2AXX K2BB K2BBQ K2BLA K2BLC K2BOG K2BQ K2BQW K2BW K2BX K2CAF K2CBI K2CC K2CDJ K2CF K2CIB K2CJ K2CM K2CS K2CUB K2CV K2CVG K2DAR K2DB K2DBK K2DC K2DEN K2DER K2DFC K2DGM K2DI K2DL K2DLJ K2DLS K2DM K2DP K2DRN K2DS K2DSL K2DSL/4 K2DUX K2EEF K2EGJ K2EK K2EKM K2EN K2EP K2ER K2ERG K2ESE K2EUH K2FF K2FJ K2FL K2FU K2FW K2GE K2GEK K2GER K2GIL K2GJJ K2GLS K2GMY K2GN K2GNR K2GNR/7 K2GSP K2GTC K2GV K2GXT K2HGO K2HIG K2HK K2HL K2HN K2HPV K2HQ K2HSV K2HT K2HTO K2HVE K2IC K2ID K2IGW K2IL K2ITT K2IUC K2IWR K2IXQ K2IY K2IZ K2JAO K2JAY K2JMY K2JT K2KEY K2KNB K2KQ K2KR K2KSH K2KW K2LE K2LML K2LNS K2LP K2LRE K2LS K2LTS K2MAI K2MD K2MEN K2MFW K2MFY K2MGR K2MK K2MLB K2MM K2MME K2MMO K2MMW K2MO K2MP K2MUB K2NDR K2NF K2NG K2NJ K2NNY K2NRC K2NV K2NV/VE3 K2NYG K2OAK K2ODC K2OEK K2OF K2OGD K2OGD/4 K2OID K2OK K2ONP K2OO K2OQA K2OS K2OVS K2OWE K2OWR K2PF K2PGB K2PH K2PK K2PLF K2PO K2PO/7 K2PS K2PSD K2PW K2QD K2QDY K2QMF K2QNU K2QO K2QPN K2QQ K2QY K2RB K2RD K2RDX K2RED K2RET K2RI K2RIG K2RMA K2RNY K2RP K2RPC K2RR K2RRV K2RS K2RSB K2RSK K2SA K2SAX K2SD K2SFS K2SG K2SGH K2SHZ K2SI K2SJ K2SLZ K2SM K2SMC K2SQS K2SR K2SS K2STO K2SX K2SZ K2TB K2TD K2TE K2TGI K2TGW K2TJ K2TJJ K2TL K2TO K2TQC K2TR K2TT K2TTT K2TV K2TVY K2TW K2TWI K2TWK K2TZ K2UC K2UF K2UFT K2ULF K2UM K2UO K2UOP K2UR K2UT K2UTC K2UU K2UV K2UX K2UY K2VCO K2VNS K2VPX K2VUI K2VV K2VX K2VY K2VZ K2WCT K2WG K2WH K2WK K2WO K2WOP K2WR K2WU K2XA K2XB K2XC K2XE K2XF K2XN K2XR K2XT K2XX K2YEH K2YG K2YR K2YY K2YYD K2YZO K2ZB K2ZC K2ZF K2ZJ K2ZQ K2ZR K2ZR/4 K2ZS K2ZVI K3AFR K3AJ K3AN K3AQ K3ARK K3ASK K3ATO K3AU K3BBB K3BDI K3BEQ K3BEV K3BFQ K3BHX K3BSY K3BTK K3BU K3BVQ K3BVU K3BYU K3BZ K3CB K3CDQ K3CKT K3CO K3CQ K3CR K3CSL K3CT K3CXB K3DCW K3DE K3DI K3DJ K3DMG K3DNE K3DOS K3DQ K3DQB K3DYU K3EE K3EIN K3EL K3EP K3ERN K3EST K3FGO K3FH K3FH/4 K3FIV K3FN K3FOP K3FP K3FS K3FT K3FWG K3FXR K3GC K3GEG K3GEN K3GEV K3GGN K3GHH K3GK K3GM K3GMT K3GP K3GP/8 K3GW K3GWK K3GY K3GYS K3HH K3HP K3HR K3HX K3HY K3IA K3IE K3II K3IPK K3ISH K3IU K3IVO K3IXD K3IXD/4 K3IZ K3JA K3JD K3JHT K3JJG K3JLM K3JMH K3JPW K3JRR K3JT K3JT/8 K3JVB K3JWI K3JXO K3KE K3KK K3KN K3KNL K3KO K3KU K3LA K3LAB K3LB K3LJ K3LL K3LMR K3LP K3LPP K3LR K3LRH K3LS K3LU K3LUE K3MD K3MI K3MIM K3MIY K3MJ K3MJW K3MKZ K3MLT K3MM K3MOT K3MOV K3MQ K3MQP K3MRG K3MRK K3MSB K3MZ K3NA K3NC K3NCO K3ND K3NF K3NK K3NL K3NM K3NQV K3NRK K3NUI K3OD K3OK K3OMG K3OMI K3OMI/VE1 K3ONW K3OO K3OOO K3OQ K3OQF K3ORS K3OSO K3OX K3PF K3PG K3PH K3PIN K3PP K3PSP K3PT K3PU K3PUR K3QDV K3QE K3QF K3QIA K3QT K3QX K3RA K3RCW K3RDA K3RH K3RJG K3RMB K3RN K3RNZ K3RR K3RSJ K3RU K3RV K3RWN K3RY K3SAE K3SEW K3SF K3SKB K3SOM K3STX K3SUI K3SV K3SWZ K3SX K3SXA K3TC K3TD K3TEJ K3TLP K3TM K3TN K3TP K3TRM K3TUF K3TW K3TW/4 K3TX K3UA K3UC K3UD K3UG K3UI K3UK K3UL K3USC K3UU K3UV K3VA K3VAR K3VAT K3VED K3VIG K3VIN K3VJ K3VN K3VOA K3VX K3WA K3WC K3WD K3WGR K3WI K3WJV K3WM K3WT K3WU K3WW K3WWP K3XA K3XO K3YDX K3YG K3YH K3YP K3ZA K3ZJ K3ZM K3ZMJ K3ZO K3ZQ K3ZV K3ZXL K3ZZ K4AAB K4AAZ K4AB K4ACG K4ADI K4ADJ K4ADR K4ADU K4ADV K4AEN K4AG K4AGT K4AL K4ALE K4AMC K4AMI K4AMW K4AOC K4AP K4APG K4ARC K4ARL K4ARO K4AU K4AUX K4AVF K4AVU K4AVX K4AWM K4AZV K4BAI K4BFT K4BM K4BN K4BNC K4BOE K4BP K4BQP K4BRI K4BSD K4BSK K4BTC K4BX K4BYF K4CA K4CC K4CEB K4CIA K4CIT K4CJB K4CJN K4CKD K4CMC K4CMS K4CNW K4CQB K4CQW K4CRM K4CU K4CUB K4CVL K4CWW K4CX K4CZ K4DAS K4DES K4DGJ K4DJ K4DJG K4DK K4DLG K4DLI K4DMH K4DPF K4DSP K4DVD K4DXA K4DXR K4DXU K4DXV K4DY K4DZR K4EA K4EAK K4EC K4ECP K4EDI K4EET K4EFZ K4EHI K4EHT K4EJ K4EJQ K4EOR K4ESA K4ESB K4EU K4EWG K4EYE K4EZY K4FAU K4FCC K4FCG K4FDS K4FJ K4FJW K4FK K4FO K4FOY K4FP K4FPF K4FRC K4FT K4FTO K4FV K4FW K4FX K4FXN K4FYM K4GBH K4GCD K4GCR K4GDW K4GHS K4GK K4GKD K4GM K4GMH K4GOP K4GSG K4GSO K4GT K4GTM K4HA K4HAL K4HFQ K4HGG K4HGX K4HJZ K4HMB K4HO K4HPP K4HQK K4HR K4HTA K4HTY K4HUD K4HV K4IA K4IB K4ICL K4ICY K4IDD K4IE K4IJ K4IJQ K4IN K4IOE K4IQJ K4IQJ/4 K4IRI K4ISV K4IU K4IUD K4IX K4JAB K4JAF K4JBJ K4JC K4JEB K4JER K4JJF K4JJQ K4JK K4JLD K4JO K4JP K4JPC K4JPD K4JPG K4JPN K4JRA K4JRB K4JRS K4JSI K4JTT K4JUZ K4JVK K4JWF K4KAL K4KAY K4KBR K4KFN K4KG K4KGG K4KGT K4KIU K4KL K4KO K4KP K4KR K4KSR K4KTG K4KV K4KYY K4KZ K4KZO K4KZZ K4LA K4LJ K4LJA K4LNN K4LO K4LQ K4LRP K4LRP/2 K4LRX K4LSU K4LT K4LTA K4LW K4LY K4MA K4MCG K4MCK K4MDX K4MEW K4MF K4MGA K4MIA K4MIL K4ML K4MM K4MNE K4MOA K4MOG K4MPE K4MQG K4MQM K4MSR K4MSS K4MU K4MWB K4MX K4MYA K4NAU K4NAX K4NFA K4NFX K4NIN K4NJK K4NKY K4NLL K4NNX K4NO K4NOP K4NP K4NTO K4NV K4NVA K4NVJ K4NYS K4OB K4OCE K4OD K4ODL K4OJ K4OMG K4OO K4ORD K4OSO K4PB K4PBY K4PDJ K4PDM K4PG K4PHE K4PI K4PIC K4PJ K4PPK K4PPQ K4PRO K4PRP K4PUF K4PV K4PX K4PZC K4QD K4QL K4QO K4QPL K4QU K4QVK K4QXX K4RAF K4RBA K4RCG K4RDU K4REB K4RFE K4RG K4RGR K4RH K4RKQ K4RLC K4RM K4RMC K4RO K4RR K4RRF K4RST K4RT K4RUM K4RV K4RW K4RWP K4RXR K4SAC K4SAV K4SAW K4SKB K4SKY K4SN K4SO K4SPO K4SQ K4SSU K4ST K4STN K4SUS K4SV K4SWE K4SWJ K4SX K4TB K4TCM K4TD K4TDW K4TEA K4TER K4TI K4TJD K4TMC K4TNN K4TNP K4TP K4TR K4TRT K4TS K4TSU K4TT K4TVE K4TVO K4TWJ K4TX K4TXJ K4TZ K4UB K4UEE K4UFT K4UI K4UK K4UTE K4UTI K4UU K4UWH K4UY K4VAC K4VCU K4VHV K4VIG K4VRC K4VT K4VV K4VWK K4VX K4VXR K4WAM K4WB K4WES K4WFM K4WI K4WIP K4WJR K4WLS K4WMS K4WNW K4WOP K4WP K4WPM K4WPY K4WQ K4WS K4WW K4WWM K4WY K4WZ K4XB K4XD K4XG K4XI K4XL K4XLT K4XR K4XTC K4XU K4XXX K4XZ K4YA K4YBB K4YCF K4YDN K4YFH K4YFR K4YGD K4YHB K4YJ K4YKZ K4YMQ K4YP K4YR K4YRK K4YT K4YYD K4YYL K4ZGB K4ZGV K4ZH K4ZIN K4ZIW K4ZJ K4ZLE K4ZMV K4ZOO K4ZRJ K4ZTL K4ZW K4ZYU K4ZZ K5AAD K5AB K5ACO K5ADA K5AEM K5AF K5AJK K5AM K5ANR K5AR K5ATS K5AUP K5AUW K5AV K5AVH K5AVY K5AX K5AY K5BAT K5BCN K5BDM K5BG K5BOC K5BTK K5BUD K5BWV K5BWV/0 K5BZH K5CBS K5CFA K5CI K5CID K5CM K5CS K5CWC K5CX K5DB K5DD K5DEL K5DEY K5DF K5DH K5DHY K5DJZ K5DKH K5DMC K5DNL K5DOE K5DOG K5DU K5DWI K5EA K5ECI K5EEE K5EJ K5EK K5ENS K5ER K5ESW K5EUO K5EW K5EWJ K5EWS K5FA K5FG K5FMC K5FNQ K5FO K5FP K5FR K5FSE K5FUV K5FXB K5GA K5GAT K5GH K5GKC K5GM K5GMT K5GO K5GQ K5GS K5GVP K5GY K5GZR K5HCT K5HDU K5HDX K5HGX K5HK K5HQV K5HTE K5HUT K5HW K5HX K5ICW K5IFJ K5IID K5IS K5IU K5IX K5IX/KH6 K5IZ K5IZO K5JAW K5JP K5JRN K5JRW K5JSW K5JTH K5JUC K5JX K5JYD K5KA K5KAB K5KC K5KDX K5KEE K5KG K5KJ K5KLA K5KM K5KS K5KT K5KT/6 K5KUA K5KV K5KVN K5LAD K5LBM K5LBU K5LC K5LG K5LH K5LJ K5LRS K5LSU K5LU K5LXK K5MA K5MBA K5MDX K5ME K5MEZ K5MH K5ML K5MMH K5MO K5MOG K5MOZ K5MR K5MRM K5MV K5MVZ K5NA K5NAA K5ND K5NDB K5NDT K5NOF K5NOW K5NTT K5NU K5NX K5NZ K5OAI K5OG K5OI K5OO K5OOL K5OR K5OVW K5PAR K5PAX K5PBR K5PC K5PEW K5PI K5PO K5PQ K5PSH K5PX K5QB K5QBG K5QEA K5QED K5QJ K5QNK K5QQ K5QR K5QU K5QX K5QXJ K5QY K5RA K5RC K5RCD K5RHZ K5RJI K5RK K5RN K5RNB K5RQ K5RR K5RRD K5RS K5RT K5RX K5RXQ K5SEE K5SF K5SI K5SL K5SM K5SNA K5SOG K5SOR K5SS K5STZ K5SUL K5SWW K5TA K5TC K5TDA K5TER K5TF K5TFA K5TGS K5TKY K5TQ K5TQP K5TR K5TRM K5TT K5TTT K5TVC K5TXG K5UA K5UC K5UIC K5UN K5UO K5UR K5UTG K5UV K5UZ K5VIP K5VJZ K5VR K5VRX K5VU K5VUY K5VYT K5WA K5WAF K5WBM K5WDW K5WE K5WES K5WI K5WK K5WLQ K5WMH K5WMH/5 K5WNH K5WO K5WPN K5WQG K5WSC K5WTA K5WW K5XA K5XG K5XH K5XM K5XR K5XRF K5XT K5XU K5XY K5YA K5YAA K5YC K5YCM K5YG K5YM K5YNZ K5YU K5ZCJ K5ZD K5ZE K5ZG K5ZK K5ZO K5ZQ K6AA K6AAB K6AAX K6ACJ K6AH K6AHQ K6AIA K6AIM K6AKR K6ALE K6AM K6AN K6ANP K6AO K6AQL K6AUC K6AW K6AWB K6AWO K6AWR K6BBQ K6BDK K6BEW K6BF K6BHH K6BIR K6BJ K6BL K6BR K6BRA K6BV K6BY K6BZS K6CDJ K6CF K6CO K6CRC K6CSL K6CSL/7 K6CTA K6CU K6DAJ K6DBG K6DBS K6DBW K6DEX K6DF K6DGW K6DK K6DLC K6DLV K6DW K6DXX K6DY K6ED K6EE K6EEE K6EEP K6EGF K6EI K6EL K6ELE K6EM K6EMI K6EP K6ERT K6ETM K6EU K6EVR K6EZ K6FAF K6FFY K6FG K6FI K6FO K6FQ K6FR K6FW K6FX K6GAK K6GCN K6GDP K6GE K6GEP K6GFB K6GFJ K6GGO K6GJ K6GN K6GO K6GPB K6GRD K6GRJ K6GT K6GVG K6GXO K6GYL K6GZA K6HCJ K6HFA K6HGF K6HJM K6HL K6HNZ K6HP K6HR K6HRT K6HRU K6IAM K6IC K6IDX K6IF K6IFF K6III K6IMZ K6IP K6IT K6JAJ K6JAT K6JEB K6JEY K6JF K6JGM K6JH K6JHD K6JHL K6JHX K6JJ K6JL K6JRA K6JRY K6JS K6JSV K6JW K6JWB K6JYG K6KAL K6KE K6KII K6KK K6KLY K6KO K6KQV K6KR K6KR/7 K6KRD K6KV K6KW K6KY K6KYJ K6LA K6LAC K6LE K6LG K6LJC K6LL K6LMN K6LPO K6LQP K6LRG K6LRN K6LX K6LZ K6MB K6MBY K6MC K6MDJ K6ME K6MEE K6MI K6MJ K6MKF K6ML K6MLF K6MM K6MYC K6NA K6ND K6NDG K6NDV K6NO K6NOD K6NQY K6NR K6NUG K6NV K6OA K6OGO K6OI K6OJ K6OKW K6OM K6OO K6OP K6OQ K6OY K6PAU K6PB K6PBQ K6PCQ K6PJ K6PKT K6PUD K6PZB K6QAX K6QD K6QG K6QK K6QU K6RAD K6RB K6RBS K6RC K6REF K6RF K6RFM K6RG K6RIM K6RJ K6RJP K6RJY K6RM K6RN K6RNK K6RR K6RRA K6RTC K6RV K6SAT K6SEM K6SGH K6SMF K6SMO K6SQL K6SRA K6SRZ K6SSJ K6ST K6STA K6SU K6SV K6SXA K6SY K6TA K6TD K6TI K6TQM K6TTT K6TU K6TUJ K6TV K6UD K6UF K6UFO K6UIZ K6UM K6UNR K6UNT K6UUW K6UW K6UZB K6VAR K6VFF K6VIA K6VMD K6VMN K6VMV K6VNX K6VO K6VOA K6VRS K6VUG K6VVA K6VVK K6VWL K6WAC K6WC K6WG K6WH K6WRJ K6WS K6WSC K6WV K6WX K6WY K6XC K6XJ K6XM K6XN K6XT K6XV K6XX K6YA K6YK K6YLG K6YP K6YR K6YRA K6YS K6YT K6YUI K6YV K6ZB K6ZCL K6ZH K6ZM K6ZRH K6ZSR K6ZTA K6ZZ K7AA K7AAE K7ABC K7ABL K7ABV K7ACS K7ACZ K7AED K7AMS K7AO K7AR K7ARJ K7AWB K7BAN K7BBR K7BE K7BG K7BHM K7BIG K7BLS K7BNY K7BTW K7BUD K7BX K7CA K7CAT K7CCC K7CF K7CMR K7CMZ K7CS K7CTR K7CU K7DAA K7DBU K7DD K7DHD K7DNH K7DPS K7DR K7DRA K7DS K7DSE K7DSL K7DX K7DZ K7EA K7EAR K7EDX K7EG K7EIQ K7EKM K7EM K7ENA K7EUG K7EV K7EY K7FA K7FD K7FED K7FF K7FU K7GA K7GGG K7GIM K7GK K7GLM K7GMF K7GO K7GQ K7GS K7GSE K7GT K7GUS K7GZP K7HBN K7HC K7HD K7HIL K7HP K7HPH K7HPT K7HRT K7HV K7IA K7IB K7IDX K7IDX/7 K7IE K7II K7IK K7INA K7IP K7IR K7IWH K7JA K7JAN K7JBQ K7JCA K7JE K7JH K7JI K7JIZ K7JJ K7JLF K7JNX K7JPF K7JQ K7JRB K7JRW K7JSM K7KAJ K7KAR K7KC K7KF K7KJ K7KMR K7KMS K7KR K7KSO K7KU K7LAY K7LAZ K7LFY K7LJ K7LL K7LNP K7LR K7LTF K7LU K7LUH K7LV K7LY K7MDH K7MH K7MHI K7MI K7MJD K7MM K7MM/VE2 K7MO K7MOA K7MRU K7MS K7MTR K7MY K7MZ K7NAA K7NCG K7NEJ K7NFB K7NJ K7NK K7NM K7NN K7NNR K7NV K7NWM K7NWR K7NWS K7OA K7OG K7OM K7OM/4 K7ON K7ONP K7ORY K7OV K7OVG K7OVM K7OVW K7OX K7PAP K7PDW K7PGL K7PI K7PJT K7PKT K7PMK K7PRW K7PU K7PUC K7PWL K7PWN K7PX K7QBO K7QI K7QMM K7QQ K7QXG K7QYY K7RB K7RDG K7RE K7RE/0 K7REL K7RF K7RFW K7RI K7RL K7RLD K7RLF K7RMJ K7RP K7RR K7RSM K7RST K7RX K7RZW K7SA K7SAM K7SC K7SCX K7SDW K7SEX K7SF K7SFN K7SID K7SJ K7SKH K7SMW K7SO K7SP K7SS K7STU K7SU K7SV K7SX K7SYS K7SZ K7SZ/4 K7TD K7TFY K7TJ K7TJR K7TLX K7TM K7TOK K7TP K7TPD K7TQ K7TR K7TR/HR8 K7TRK K7UA K7ULS K7UN K7UNZ K7UP K7UPJ K7UT K7VAY K7VI K7VIC K7VIT K7VL K7VM K7VS K7VU K7VZX K7WA K7WE K7WIN K7WK K7WLF K7WLF/4 K7WM K7WP K7WQ K7WXO K7WXW K7XB K7XC K7XE K7XH K7XQ K7XV K7YDL K7YZ K7YZO K7ZA K7ZAD K7ZB K7ZD K7ZI K7ZO K7ZP K7ZQ K7ZS K7ZSD K7ZUM K7ZV K7ZX K7ZYV K7ZZ K7ZZX K8AA K8AAX K8AB K8AC K8AE K8AEX K8AJS K8AJX K8ALM K8AO K8AQM K8ATA K8AZ K8BB K8BBE K8BCK K8BEG K8BHU K8BJ K8BL K8BN K8BSW K8BUF K8BVY K8BZ K8CAA K8CAR K8CC K8CHR K8CI K8CJQ K8CJY K8CMO K8CMR K8CN K8CQ K8CR K8CV K8CW K8CX K8CXM K8DAR K8DD K8DE K8DID K8DJC K8DJR K8DO K8DR K8DSL K8DSS K8DTW K8DV K8ED K8EE K8EEW K8EG K8EHB K8EHE K8EJ K8EM K8EMS K8EO K8ESQ K8EUR K8FB K8FC K8FF K8FG K8FH K8FL K8FN K8FP K8FUN K8FX K8GA K8GG K8GI K8GI/4 K8GIM K8GL K8GLS K8GP K8GT K8GU K8GVK K8GVQ K8GW K8GWU K8HGY K8HK K8HLQ K8HMS K8HW K8HWW K8IA K8IAT K8IFK K8IJ K8IKW K8IR K8IRC K8ISK K8IU K8IY K8JA K8JD K8JK K8JLB K8JQ K8JRG K8JRM K8JWT K8KF K8KFJ K8KHZ K8KI K8KPE K8KPU K8KR K8KS K8KU K8KWT K8KY K8LCR K8LE K8LEE K8LES K8LF K8LJ K8LJK K8LN K8LSB K8LTG K8LV K8LY K8MAD K8MAJ K8MCN K8MD K8ME K8MEG K8MEM K8MFO K8MGK K8MJZ K8MLM K8MM K8MN K8MP K8MR K8MSQ K8MU K8MV K8MVZ K8MW K8MWO K8MXC K8MZ K8NA K8NAP K8ND K8NHR K8NI K8NK K8NKQ K8NMG K8NNU K8NOW K8NOZ K8NU K8NVR K8NW K8NWD K8NYG K8NYM K8NYY K8NZ K8OM K8OOK K8OQL K8OSF K8OT K8OWL K8OZ K8PG K8PO K8PP K8PVD K8PWL K8QF K8QFH K8QH K8QI K8QJO K8QKY K8QM K8QWY K8RA K8RAT K8RD K8RDJ K8RDN K8RGM K8RJH K8RJM K8RJW K8RMC K8RNM K8ROX K8RS K8RWL K8RYU K8SAK K8SB K8SCH K8SDK K8SDX K8SEM K8SIA K8SIX K8SJE K8SM K8SN K8SSB K8SVT K8SWD K8SYH K8THU K8TJM K8TOM K8TS K8TV K8TVD K8TW K8TWA K8UC K8UP K8UPG K8UPR K8UT K8UU K8UV K8VFR K8VFV K8VKA K8VUS K8VW K8VYA K8VZD K8WAY K8WDN K8WDQ K8WFL K8WHA K8WV K8YAH K8YC K8YFM K8YM K8YN K8YQR K8YSE K8YSU K8YTO K8ZBY K8ZEE K8ZH K8ZOG K8ZPR K8ZT K8ZTT K8ZZ K8ZZU K8ZZU/4 K8ZZV K9ACX K9ADL K9AGW K9AHH K9AIH K9AJ K9ALP K9ANF K9ARF K9AU K9AUB K9AW K9AY K9BF K9BGL K9BJM K9BQL K9BTQ K9BWI K9BWQ K9CAN K9CC K9CG K9CGD K9CHP K9CHZ K9CIV K9CJ K9CS K9CT K9CU K9CW K9DA K9DCV K9DCW K9DIG K9DJ K9DN K9DR K9DT K9DTC K9DU K9DUR K9DX K9DXA K9DXL K9DY K9EA K9EBY K9EE K9EIF K9EMG K9EN K9ES K9EU K9EZ K9FBI K9FEN K9FF K9FI K9FMX K9FN K9FO K9FQC K9FUA K9FW K9FWH K9FY K9FZ K9GA K9GAJ K9GDT K9GLN K9GS K9GTH K9GTO K9GWB K9GY K9GYI K9HCK K9HN K9HUY K9IA K9IAC K9IDQ K9IDX K9IG K9IJ K9IL K9IMM K9ING K9IT K9IU K9IUA K9IUQ K9JA K9JAI K9JDV K9JE K9JF K9JF/7 K9JG K9JIG K9JK K9JM K9JM/6 K9JMB K9JO K9JOB K9JP K9JS K9JT K9JU K9JWI K9JWV K9JX K9JY K9JZZ K9KA K9KDE K9KDS K9KEJ K9KEU K9KFR K9KHW K9KK K9KL K9KLR K9KM K9KMD K9KNW K9KNZ K9KR K9KU K9KUZ K9LA K9LCR K9LGM K9LJ K9LJN K9LLI K9LOF K9LOF/5 K9LZJ K9MA K9MBQ K9MDK K9MDO K9MI K9MK K9MM K9MMS K9MOT K9MQ K9MRD K9MU K9MUG K9MUG/4 K9MV K9MW K9MWM K9MY K9NA K9NB K9NBR K9NN K9NO K9NR K9NU K9NW K9NZ K9OKK K9OM K9ON K9OQ K9OR K9OT K9OW K9OZ K9PG K9PGC K9PJ K9PLX K9PMV K9PPY K9PY K9QCW K9QH K9QLC K9QVB K9QVB/9 K9RCE K9RDW K9RH K9RII K9RIM K9RJ K9RJO K9RJZ K9RM K9RO K9RON K9RS K9RU K9RX K9SD K9SE K9SEM K9SEX K9SG K9SH K9SKX K9SQL K9SSB K9SSH K9STH K9SUH K9SV K9TA K9TCD K9TEN K9TM K9TP K9TPT K9TRV K9TV K9TY K9UH K9UIY K9UK K9UP K9UQN K9US K9UT K9UW K9UWA K9UXZ K9VB K9VFU K9VIC K9VIS K9VS K9VSO K9VV K9WA K9WD K9WDY K9WEY K9WIS K9WJL K9WJU K9WKW K9WMS K9WN K9WWT K9WX K9WYP K9WZB K9XB K9XD K9XE K9XK K9XL K9XR K9XV K9XW K9YC K9YKL K9YU K9ZA K9ZBX K9ZG K9ZI K9ZMD/6 K9ZMU K9ZMZ K9ZO K9ZT K9ZU K9ZVZ K9ZW K9ZXO KA0ARA KA0BHO KA0BMX KA0BV KA0CSW KA0EIC KA0FSP KA0HDJ KA0HZP KA0LDG KA0LL KA0NES KA0P KA0PQW KA0SPM KA0UEH KA0UK KA0VXK KA1AMR KA1API KA1ARB KA1BQ KA1BVE KA1C KA1CQR KA1DWX KA1EFO KA1EHR KA1ERL KA1G KA1GEU KA1GIJ KA1GMN KA1GVI KA1GYB KA1HD KA1HFY KA1IE KA1IOR KA1IXK KA1J KA1JVR KA1JY KA1LDS KA1LMR KA1LOR KA1NCN KA1OEO KA1OX KA1QAA KA1QBO KA1R KA1RVM KA1SA KA1SAW KA1SWK KA1T KA1VF KA1VMG KA1VVT KA1XC KA1YB KA1YMX KA2ANF KA2BKG KA2BZS KA2CYN KA2D KA2DZR KA2EKI KA2EYH KA2F KA2FHN KA2FIR KA2GYM KA2IBE KA2IVS KA2KGP KA2KON KA2L KA2LIM KA2MGE KA2MGI KA2NDX KA2NUE KA2OUO KA2OUS KA2QWC KA2RQS KA2RVO KA2UGZ KA2VEE KA2VHY KA2YKN KA2ZOH KA3AFY KA3ANJ KA3ARF KA3BMU KA3BPN KA3BWP KA3CRC KA3DCO KA3DRR KA3EJJ KA3EQU KA3FZN KA3FZO KA3GEA KA3GLQ KA3IRJ KA3J KA3JLW KA3JOI KA3LKM KA3MLU KA3MTT KA3NRX KA3P KA3PCX KA3POX KA3PVA KA3QLF KA3S KA3SMF KA3UBG KA3UOL KA3WMJ KA3YJU KA4AQM KA4BDW KA4BIX KA4BSZ KA4DQJ KA4EMR KA4GFY KA4HKK KA4NWS KA4OTB KA4R KA4RRU KA4RUR KA4TEU KA4U KA4VGE KA4W KA4ZPF KA4ZTY KA5BNS KA5BQM KA5CJJ KA5DWI KA5EYH KA5FSJ KA5GCB KA5GIL KA5IAU KA5M KA5MWB KA5N KA5OAI KA5PRO KA5PVB KA5QMA KA5RAN KA5T KA5TCF KA5VEL KA5VFU KA5VVA KA5VZG KA5WSS KA5ZDE KA6BIM KA6C KA6CUU KA6DOW KA6GDT KA6HXI KA6JLT KA6MAL KA6MIB KA6NGR KA6PGY KA6SGT KA6T KA6UMQ KA6W KA7A KA7ARK KA7CVJ KA7FEF KA7HUO KA7JAS KA7KSP KA7KUZ KA7LYQ KA7NWQ KA7NYE KA7R KA7SPS KA7T KA7U KA8CNI KA8CPO KA8ETK KA8F KA8FAN KA8HOK KA8JHD KA8JRJ KA8KGW KA8LCW KA8NAK KA8NJW KA8POZ KA8PTT KA8Q KA8RTS KA8SYV KA8WEM KA8WQL KA8ZPE KA9A KA9ABC KA9AJF KA9AQZ KA9BHD KA9CFD KA9CKK KA9CLP KA9DRW KA9DVX KA9EKJ KA9FON KA9FOX KA9FQG KA9FRH KA9GWM KA9IVY KA9JAC KA9KBO KA9KLR KA9MOM KA9NFE KA9O KA9OBZ KA9OKH KA9OMY KA9OZP KA9P KA9RPR KA9SWE KA9UDA KA9UVY KA9VHG KA9WAR KA9WRN KA9ZAI KB0ARZ KB0B KB0CH KB0COV KB0CQ KB0EO KB0FHP KB0HH KB0IXX KB0JSH KB0JSH/T KB0L KB0LF KB0NES KB0NHW KB0NMQ KB0OXT KB0PAT KB0PKL KB0PTV KB0QBT KB0QEF KB0QH KB0QHZ KB0R KB0SK KB0TLC KB0UBZ KB0UKM KB0UKW KB0USA KB0VE KB0VQD KB0VVT KB0WMQ KB0WVI KB0YH KB0ZF KB1CJ KB1CL KB1CWO KB1DK KB1DMX KB1DN KB1DQT KB1E KB1EE KB1EFS KB1FCB KB1FJ KB1FRK KB1FRW KB1H KB1HFL KB1HIF KB1HIP KB1HNZ KB1IC KB1IQZ KB1JDY KB1JUF KB1JZU KB1K KB1KGA KB1LIH KB1LZH KB1MCK KB1MGL KB1MH KB1NA KB1NFI KB1NFW KB1NHV KB1NRB KB1NRI KB1NWH KB1ODO KB1OJT KB1OPV KB1OQH KB1OSI KB1OUV KB1OVA KB1OWT KB1P KB1PAJ KB1PHN KB1PLN KB1PSP KB1PXD KB1PXE KB1PXX KB1PXY KB1QEU KB1QOV KB1QU KB1RDL KB1RNX KB1RRX KB1RXA KB1SLN KB1SNB KB1T KB1TFR KB1TRQ KB1TY KB1W KB1WEB KB2AMY KB2AYS KB2BBG KB2BSL KB2CKN KB2DKB KB2ESY KB2FEL KB2FM KB2HSH KB2IAU KB2JQC KB2JSG KB2KWD KB2M KB2MFS KB2MN KB2NB KB2PD KB2PIZ KB2QXH KB2RLH KB2RPV KB2SEO KB2SXT KB2TNH KB2URI KB2UZY KB2VMG KB2VRM KB2WXV KB3AAY KB3AF KB3ATF KB3ATI KB3CQU KB3CTX KB3CWQ KB3CXQ KB3ELT KB3EOJ KB3EXB KB3FEI KB3FJJ KB3FMO KB3FTE KB3GFC KB3GQK KB3GVV KB3HJK KB3HQN KB3IBT KB3IHX KB3ILS KB3IOG KB3IWV KB3IZA KB3KBJ KB3KJ KB3KJS KB3KOC KB3KOW KB3KXX KB3LBB KB3LFX KB3LIX KB3LTT KB3LVH KB3MDX KB3MHB/0 KB3MOW KB3MP KB3NKS KB3NPA KB3NSL KB3NXT KB3OJM KB3OK KB3ONQ KB3ONZ KB3OSP KB3OVB KB3OXF KB3P KB3PDR KB3QAQ KB3QGB KB3QIU KB3QLK KB3RBU KB3RFH KB3RM KB3ROR KB3RPE KB3RRV KB3RRX KB3RTB KB3SJQ KB3TAW KB3TS KB3WK KB3WL KB3X KB3XD KB3Z KB4BHB KB4BR KB4C KB4CAU KB4CP KB4ET KB4FB KB4FXE KB4GYT KB4HF KB4HJQ KB4J KB4JHU KB4KBS KB4KBS/5 KB4MDD KB4MRX KB4OLM KB4PPE KB4QDQ KB4QQJ KB4REC KB4RGW KB4SAD KB4UF KB4USB KB4X KB4XK KB4YP KB4ZAA KB4ZMR KB5AAB KB5AAM KB5DNR KB5DRJ KB5ENP KB5FCF KB5FSV KB5GA KB5HPL KB5IBY KB5IED KB5IY KB5JO KB5LKE KB5LT KB5MRT KB5MZ KB5OS KB5REX KB5RP KB5RXL KB5TAN KB5TX KB5U KB5UNX KB5VP KB5WCA KB5YEG KB5YIA KB5YLG KB5YN KB5ZSK KB6A KB6ATT KB6ATZ KB6BYU KB6DL KB6FB KB6J KB6NAN KB6NFY KB6NU KB6OJE KB6QXR KB6RQZ KB7BGS KB7CJ KB7DQT KB7EEG KB7GP KB7HDX KB7HH KB7IQO KB7JMS KB7KLT KB7MBI KB7ME KB7N KB7NJV KB7OBU/KH2 KB7OGE KB7PJ KB7PYF KB7Q KB7QFE KB7QKS KB7QOS KB7RJ KB7RUQ KB7SO KB7STO KB7TGR KB7TJP KB7TLE KB7UJI KB7UP KB7ZR KB7ZTI KB8APA KB8DID KB8DP KB8ECG KB8F KB8FZY KB8GAE KB8HOC KB8HRR KB8KE KB8KIK KB8LWU KB8M KB8MNX KB8MOU KB8MYC KB8NNU KB8NOD KB8NTL KB8NTY KB8NUF KB8O KB8O/2 KB8OCA KB8OCP KB8OEJ KB8OLS KB8OMG KB8OSB KB8PFF KB8QAP KB8RJ KB8RTB KB8SB KB8SMD KB8TI KB8TL KB8TT KB8TWM KB8TXZ KB8TYJ KB8U KB8UEY KB8UHN KB8UUM KB8UUZ KB8V KB8VAO KB8VGD KB8VJL KB8X KB8YJY KB8ZGL KB8ZYE KB9AMG KB9AVX KB9AX KB9BIT KB9BNY KB9CYL KB9DFE KB9DVC KB9FBI KB9GKG KB9II KB9IIZ KB9IKY KB9JM KB9JOG KB9KAK KB9KCT KB9KEG KB9LHT KB9LIE KB9MI KB9MIE KB9MJN KB9MLE KB9NKM KB9ORH KB9OWD KB9PVR KB9PWN KB9Q KB9RDS KB9RNO KB9S KB9SRE KB9STR KB9UMT KB9UWR KB9UX KB9VT KB9WL KB9WQJ KB9XH KB9YGD KB9YGF KB9ZTF KB9ZUV KB9ZWB KC0ADP KC0BMF KC0CF KC0CRU KC0CWU KC0DEB KC0DX KC0ELZ KC0EUX KC0EWX KC0GL KC0GLA KC0GXY KC0HPM KC0IEI KC0IKU KC0INP KC0JFY KC0JRW KC0LOE KC0M KC0MEZ KC0MKS KC0MO KC0MPQ KC0MS KC0NFB KC0NOX KC0OKO KC0ONP KC0OW KC0PDX KC0PKA KC0PLZ KC0PPA KC0QBU KC0QIE KC0REN KC0RET KC0REY KC0RQH KC0RRP KC0SBV KC0SIV KC0SKR KC0STQ KC0SZU KC0TDQ KC0THR KC0TJ KC0TPP KC0TRX KC0UFB KC0UJM KC0UTN KC0UUP KC0UUT KC0UYQ KC0V KC0VEU KC0VFO KC0VFP KC0VKN KC0VTJ KC0W KC0WCF KC0WKZ KC0WMN KC0WTS KC0YHU KC0YJO KC0YQQ KC0YRS KC0ZHF KC0ZNI KC0ZSM KC0ZTC KC0ZXZ KC0ZZH KC1HD KC1JB KC1ME KC1MR KC1NN KC1SQ KC1UX KC1V KC1XX KC1ZO KC2ANN KC2ANS KC2AQU KC2COB KC2DU KC2EE KC2EES KC2EMM KC2EPU KC2EVL KC2FOL KC2GFA KC2GNL KC2GOW KC2HO KC2HTV KC2HZM KC2HZW KC2IGE KC2IOS KC2IUR KC2JKU KC2JRQ KC2KME KC2KPK KC2KTZ KC2KXV KC2KY KC2KZJ KC2LMB KC2LMX KC2LR KC2LSD KC2LST KC2LXD KC2MBV KC2MCY KC2MDQ KC2MHE KC2MHY KC2MNV KC2MR KC2MXH KC2NB KC2NLF KC2NTV KC2NYU KC2OBN KC2OBS KC2OGR KC2OUV KC2OYY KC2PBJ KC2PBX KC2PCD KC2PCR KC2PGE KC2PJH KC2PJL KC2PLJ KC2PQI KC2PSR KC2PVM KC2PZ KC2Q KC2QEZ KC2QFR KC2QGK KC2QJB KC2QLA KC2QLJ KC2QXA KC2QYC KC2QYM KC2RDW KC2RIV KC2RJC KC2ROF KC2RXS KC2SCY KC2SDR KC2SGS KC2SJN KC2SKF KC2SKI KC2SPD KC2SPY KC2SPZ KC2SWZ KC2SZ KC2TA KC2TAU KC2TEL KC2TNY KC2TYZ KC2UCJ KC2ULY KC2URV KC2VMR KC2VVZ KC2ZA KC3EF KC3ET KC3M KC3MX KC3N KC3OL KC3QU KC3R KC3RT KC3WX KC4AA KC4ABC KC4ART KC4ATU KC4AUF KC4B KC4CQS KC4CSU KC4D KC4EZN KC4FLT KC4GL KC4H KC4HW KC4IWI KC4JD KC4LLV KC4MYV KC4NPR KC4OOO KC4Q KC4QIH KC4RN KC4RV KC4SAW KC4SC KC4SSD KC4SW KC4SW/7 KC4TVN KC4TVZ KC4UCK KC4USV KC4VLO KC4VT KC4WQ KC4YAU KC4YBO KC4YCT KC4YTF KC4Z KC4ZPB KC4ZUA KC5ADQ KC5AKB KC5BYE KC5EZ KC5FEN KC5FU KC5GTT KC5LDO KC5LK KC5MAH KC5MOL KC5MPS KC5NOA KC5NT KC5R KC5RUO KC5RWW KC5SLQ KC5T KC5TJT KC5UES KC5WA KC5YGC KC5YPU KC6AWX KC6G KC6M KC6MMU KC6OVG KC6P KC6R KC6SEH KC6UIX KC6UKO KC6VVT KC6X KC6ZBE KC7CM KC7CPM KC7DB KC7EFP KC7EKU KC7ESB KC7GNM KC7H KC7HFL KC7ITP KC7J KC7KNY KC7KZ KC7O KC7OM KC7OO KC7PFR KC7QR KC7STK KC7TA KC7UP KC7V KC7WDL KC7WWY KC7ZFP KC7ZKO KC7ZON KC7ZZ KC8ALZ KC8BLL KC8BOM KC8BYJ KC8CC KC8CPT KC8CY KC8EMF KC8FVE KC8FZM KC8GCR KC8GTX KC8HWL KC8IMV KC8IVC KC8JNL KC8JWS KC8KCU KC8KE KC8LA KC8LAU KC8LBZ KC8LTL KC8LUB KC8MGD KC8NIN KC8OBH KC8PKY KC8PSO KC8PX KC8QAE KC8QHT KC8RQT KC8SQI KC8UAV KC8UNY KC8UR KC8UWG KC8UZM KC8VGG KC8VML KC8VWM KC8WGA KC8YEJ KC8YJB KC8YLD KC8YSG KC8YTY KC8YVF KC8ZTJ KC9AMM KC9AOP KC9AQD KC9ARN KC9ARR KC9CDW KC9CHG KC9CRM KC9CRV KC9CSQ KC9CUK KC9DAO KC9DDF KC9DFU KC9DJQ KC9DKQ KC9DLO KC9ECI KC9ELU KC9EOQ KC9FAV KC9FLB KC9FOL KC9FQV KC9FQV/0 KC9FSH KC9FZT KC9G KC9GBX KC9GGV KC9GKE KC9GRD KC9GTN KC9GUP KC9GZB KC9HEK KC9HEQ KC9HGW KC9HHT KC9HIU KC9HPA KC9HQV KC9HYL KC9ICP KC9IFT KC9IGB KC9IL KC9IRQ KC9JCH KC9JFP KC9JJV KC9JQY KC9JUY KC9KBB KC9KIO KC9KKM KC9KNQ KC9KRX KC9KSN KC9KTV KC9KXT KC9LBO KC9LC KC9LDK KC9LDO KC9LET KC9LIF KC9LMO KC9LNH KC9LQS KC9LTV KC9LWF KC9MAV KC9MEA KC9MOT KC9MRW KC9MVQ KC9MXI KC9MXM KC9MXQ KC9MYL KC9MZ KC9NBE KC9NCF KC9NEA KC9NGZ KC9OAG KC9OLC KC9OP KC9OQO KC9OUT KC9OYE KC9PAU KC9PBQ KC9PEG KC9POO KC9PTD KC9PXJ KC9QQ KC9TS KC9YY KC9Z KC9ZO KC9ZZ KD0AA KD0AAA KD0AAT KD0ABR KD0ACO KD0ACR KD0AHR KD0AJB KD0AKN KD0AV KD0BJS KD0BLE KD0BTT KD0CA KD0CAO KD0CIU KD0CPA KD0CPH KD0CVZ KD0DAW KD0DDY KD0DOS KD0DRQ KD0DSU KD0EH KD0EXQ KD0FLB KD0FQN KD0FW KD0GWI KD0HSF KD0HUC KD0IJW KD0INK KD0IZL KD0JLD KD0Q KD0R KD0S KD0UN KD0Y KD0ZZ KD1BD KD1CT KD1EU KD1FR KD1J KD1KT KD1LE KD1NA KD1XX KD1YV KD1ZX KD2A KD2HE KD2I KD2JA KD2JC KD2MU KD2MX KD2N KD2NE KD2NF KD2NL KD2RD KD3CQ KD3HN KD3KB KD3RF KD3SB KD3TB KD3WK KD3Y KD4AEN KD4AMP KD4BPZ KD4CMV KD4D KD4EDG KD4ESV KD4EXY KD4FJ KD4FNI KD4FXL KD4GID KD4GNM KD4HXT KD4ICT KD4JMI KD4JRX KD4LCR KD4LHA KD4LN KD4MPN KD4MZM KD4N KD4NH KD4OFG KD4OZI KD4POJ KD4QFT KD4QMY KD4QYJ KD4RE KD4RS KD4RSL KD4SH KD4SM KD4SN KD4SUG KD4SVC KD4TDI KD4TNY KD4TXF KD4ULB KD4ULW KD4VHH KD4W KD4WKP KD4WQT KD4WUO KD5CQT KD5CVL KD5DLL KD5EDL KD5EJG KD5FKY KD5GJF KD5IKG KD5ITM KD5J KD5JAA KD5JGA KD5JHE KD5JKH KD5JWC KD5L KD5LEP KD5LNO KD5LPB KD5M KD5MMM KD5MTB KD5MUY KD5NFW KD5NXR KD5PGA KD5R KD5RA KD5RQB KD5RXN KD5SBO KD5SGL KD5SRW KD5TFK KD5TIO KD5UVV KD5VIJ KD5VVI KD5WKK KD5WUD KD5YIA KD5YPC KD5YUK KD5YZU KD5ZAT KD5ZEZ KD6AF KD6AKC KD6AW KD6DKC KD6FIL KD6GC KD6HTN KD6HWD KD6JHV KD6JZZ KD6KVL KD6NL KD6NSA KD6OAT KD6PA KD6PQF KD6UO KD6VKF KD6WKY KD6YV KD7DCR KD7DEG KD7EX KD7GC KD7GTI KD7H KD7I KD7IBE KD7IIC KD7JGI KD7JZ KD7KST KD7LRK KD7MDX KD7MSC KD7OWN KD7P KD7Q KD7RHI KD7RQI KD7RUS KD7RX KD7SWL KD7TQM KD7UO KD7VA KD7VIK KD7WIZ KD7YCU KD7YDL KD7YFG KD7YZ KD8A KD8ADO KD8AMN KD8AQ KD8BBK KD8BIN KD8BWR KD8CAO KD8CDC KD8CGH KD8CMN KD8CQC KD8CTV KD8CVS KD8CWP KD8DCW KD8DGG KD8DHH KD8DHZ KD8DX KD8ECG KD8EER KD8ELX KD8EXU KD8EXX KD8EZS KD8EZU KD8FNA KD8FTH KD8FVX KD8FXB KD8GBK KD8GKR KD8GOX KD8GRG KD8GYH KD8GZG KD8HB KD8HDY KD8HHG KD8HMA KD8HNF KD8HNI KD8HSV KD8HTG KD8HXT KD8HXU KD8IIS KD8ILL KD8IOW KD8IZZ KD8JAM KD8JBD KD8JDC KD8JNJ KD8JNS KD8JRH KD8JV KD8LCD KD8LDT KD8LGW KD8LLJ KD8LW KD8LWR KD8MBH KD8MBI KD8MGI KD8NJ KD8OK KD8SQ KD9AC KD9AW KD9B KD9GY KD9LA KD9LEH KD9MS KD9ST KD9SV KE0A KE0BZ KE0ER KE0FJ KE0FK KE0G KE0H KE0L KE0LX KE0M KE0MD KE0MF KE0MT KE0N KE0PX KE0UF KE0UI KE0WM KE0WO KE0Z KE0Z/VE4 KE1AF KE1AU KE1B KE1B/6 KE1F KE1FO KE1IH KE1JF KE1Q KE1R KE1V KE2C KE2DX KE2EH KE2GD KE2N KE2OI KE2SD KE2U KE2UN KE2VB KE2VN KE2WY KE2XC KE3C KE3CT KE3D KE3D/5 KE3FG KE3G KE3KD KE3OA KE3Q KE3VG KE3VV KE4AHP KE4AK KE4BFG KE4CAW KE4CAX KE4CEC KE4D KE4EQY KE4ERG KE4ETY KE4GY KE4HX KE4I KE4KMG KE4KWE KE4KY KE4LIA KE4MBP KE4MYW KE4NU KE4NYH KE4OAR KE4OHB KE4OIC KE4OJH KE4OVN KE4P KE4PT KE4PVL KE4QCY KE4R KE4RQ KE4RUN KE4S KE4TBG KE4TG KE4TP KE4TTS KE4TWI KE4UNA KE4UW KE4VA KE4VQM KE4WBO KE4WLE KE4YLQ KE4YOH KE4YVD KE5AKL KE5AUI KE5BWG KE5C KE5CQJ KE5DLZ KE5DYG KE5FNA KE5FRF KE5FTY KE5FXE KE5HDE KE5HPY KE5HWE KE5IOV KE5ISO KE5JA KE5K KE5KCN KE5KZX KE5LLM/6 KE5LQ KE5LYW KE5MHV KE5MIS KE5MMT KE5MOZ KE5NCD KE5NQ KE5NYZ KE5OG KE5OKQ KE5OOA KE5ORW KE5OVE KE5OXS KE5PMZ KE5PRL KE5PUH KE5PWL KE5PWR KE5QAR KE5QBZ KE5QKR KE5QWP KE5RFR KE5RHM KE5RON KE5RPT KE5RS KE5RXN KE5SNK KE5SOF KE5SPE KE5TQA KE5TRZ KE5UTN KE5VDT KE5WUE KE5YA KE5YGR KE5YOO KE5YXO KE5ZDN KE5ZGI KE5ZSR KE5ZSW KE5ZWD KE5ZYP KE6BAE KE6CX KE6EEZ KE6EJG KE6EKH KE6ENI/XE2 KE6FV KE6GFF KE6GFI KE6GLA KE6KJD KE6LPO KE6MGW KE6OIO KE6OJ KE6QR KE6RAD KE6RGB KE6RS KE6RYZ KE6SHL KE6TE KE6U KE6V KE6WC KE6YLH KE6ZLY KE7A KE7ACE KE7AJ KE7AUB KE7BT KE7CPE KE7CRN KE7DX KE7FBY KE7FGB KE7FXF KE7GRL KE7GYQ KE7GYT KE7HHW KE7HTL KE7HTY KE7IEE KE7JIW KE7JNT KE7LOQ KE7NKF KE7NO KE7NPH KE7NVA KE7NVY KE7NZE KE7ORS KE7PAV KE7PGO KE7PZX KE7RLI KE7RPR KE7RVL KE7SW KE7SX KE7TBK KE7TM KE7TWL KE7UGO KE7UTX KE7VUX KE7WDJ KE7WMI KE7WRJ KE7WVZ KE7X KE7XE KE7XM KE7Y KE7YF KE7YIQ KE7YKS KE7ZAC KE7ZGG KE7ZZO KE8BP KE8DM KE8E KE8FO KE8G KE8M KE8NK KE8PX KE8RG KE8SO KE8UM KE8VC KE8VK KE9AG KE9ET KE9I KE9LY KE9PH KE9PP KE9TP KE9U KE9VS KF0AK KF0F KF0GE KF0IQ KF0LA KF0N KF0P KF0QR KF0SJ KF0UR KF0VR KF0XM KF0Z KF1C KF1D KF2AT KF2AX KF2FK KF2HO KF2JK KF2O KF2T KF2U KF2VX KF2X KF2XN KF2YS KF2ZQ KF3B KF3BA KF3DJ KF3EQ KF3F KF3P KF4BI KF4DNL KF4DVF KF4DVG KF4DYN KF4ECG KF4ENE KF4EUZ KF4FL KF4GDX KF4GLE KF4HMD KF4HOU KF4IBU KF4IFF KF4IRC KF4JPX KF4KNF KF4LJX KF4LMT KF4LMW KF4MH KF4NMH KF4OHI KF4ONH KF4OPX KF4PCT KF4PQL KF4QQY KF4QYF KF4SQ KF4TP KF4UOR KF4VTT KF4WER KF4YCP KF4YLM KF4ZS KF4ZZ KF5CCT KF5CST KF5DKS KF5EH KF5EHV KF5ER KF5H KF5KWO KF5S KF5SA KF5VM KF5Y KF6A KF6I KF6JOQ KF6JQ KF6KDA KF6MWA KF6NCX KF6PKG KF6RNT KF6RXB KF6RY KF6T KF6TRX KF6ZYD KF7ADB KF7ADK KF7BBJ KF7CG KF7E KF7F KF7GYE KF7IQ KF7MD KF7NN KF7P KF7PG KF7RU KF7TY KF7WQ KF8ES KF8GE KF8K KF8PS KF8UN KF8Z KF9AF KF9D KF9JV KF9KP KF9LI KF9MT KF9TI KF9UP KF9WW KG0AQ KG0DX KG0EI KG0EW KG0F KG0JD KG0KP KG0PP KG0TS KG0TW KG0TZ KG0UA KG0US KG0Z KG1D KG1E KG1V KG2AF KG2GL KG2MV KG2RG KG2V KG3BOZ KG3F KG3Q KG3V KG4AZN KG4BYL KG4CBI KG4CUY KG4FPJ KG4HTT KG4HUF KG4IGC KG4IJS KG4JGQ KG4JJS KG4JSZ KG4JYB KG4KEA KG4KQI KG4KWW KG4LCF KG4MGE KG4MIF KG4NAK KG4NRF KG4NWS KG4OCJ KG4PLT KG4RUE KG4RWO KG4SS KG4STI KG4TEI KG4TQQ KG4TTQ KG4UDL KG4USN KG4UVU KG4VBK KG4VLW KG4VOV KG4VPC KG4W KG4WNA KG4WQZ KG4YGP KG4YHR KG4YLZ KG4YNM KG4ZDM KG4ZNA KG4ZOD KG4ZOI KG4ZVA KG4ZXK KG5EG KG5NP KG5OO KG5RJ KG5RQ KG5TA KG5V KG5VK KG6ACG KG6AMW KG6AO KG6AXA KG6B KG6COH KG6D KG6DX KG6I KG6JDX KG6KH KG6MZS KG6OJB KG6RCW KG6SMN KG6STU KG6TAD KG6TBR KG6TGR KG6TT KG6UBG KG6WIK KG6YHH KG6YPH KG6ZHC KG7C KG7E KG7EW KG7H KG7HF KG7HF/1 KG7P KG7RZ KG7VQ KG7WZ KG8CO KG8CW KG8CX KG8DH KG8DP KG8OU KG8P KG8V KG8WI KG9AH KG9AV KG9D KG9E KG9EE KG9FA KG9G KG9IL KG9JP KG9N KG9SF KG9X KG9Z KH0UA KH2/JJ1LRD KH2AR/4 KH2AR/W4 KH2JU KH2L KH2OP KH2RU/KP4 KH2X/W4 KH6AK KH6AT KH6BZF KH6CB KH6CD KH6CG KH6CJJ KH6CO KH6CQH/W7 KH6CW KH6FI KH6FP KH6GMP KH6HAM KH6HU KH6IB KH6J KH6KM KH6LC KH6LS KH6MB KH6ND KH6NF KH6NO/W7 KH6OA KH6OO KH6P KH6QJ KH6RC KH6RZ KH6TDM KH6U KH6YR KH6ZM KH6ZN KH7B KH7BB KH7C KH7CC KH7DX KH7HI KH7LC KH7T KH7U KH7WW/W7 KH7X KH7XS KH7Y KH9/WA2YUN KI0F KI0G KI0HA KI0HS KI0II KI0J KI0JG KI0LS KI0OV KI0QS KI0RB KI0RH KI0SK KI0WA KI0Y KI0Z KI1G KI1M KI2G KI2P KI3C KI3DS KI3O KI3T KI4ACW KI4AOQ KI4ASK KI4BAL KI4BIY KI4BJS KI4BSB KI4BWS KI4BXU KI4BYQ KI4C KI4CBF KI4CBN KI4CQO KI4DT KI4EEY KI4EGT KI4EZC KI4FCQ KI4FIA KI4FSZ KI4FVS KI4FW KI4GGH KI4GGJ KI4GHT KI4GKS KI4GUO KI4HHK KI4IKB KI4IRH KI4ITV KI4JMI KI4KFW KI4KK KI4KPA KI4KQ KI4KTH KI4LAV KI4LIL KI4LMA KI4LNE KI4LPR KI4MFF KI4MFX KI4MHA KI4MIV KI4MQF KI4MUG KI4MZS KI4NCX KI4NKA KI4NSI KI4NSP KI4ODO KI4ONJ KI4ORL KI4ORU KI4ORY KI4PAQ KI4PHE KI4PKW KI4PRK KI4PTM KI4PVD KI4QEO KI4QLN KI4QMK KI4RKB KI4ROA KI4RXE KI4SGQ KI4SII KI4SNS KI4SP KI4SPO KI4SVQ KI4TAW KI4TI KI4TMD KI4TTS KI4TXP KI4TYK KI4TZ KI4TZU KI4UFF KI4URM KI4UYM KI4VBR KI4VCT KI4VDC KI4VEU KI4VFW KI4VLQ KI4VTL KI4VWJ KI4WAX KI4WCA KI4WOH KI4YAH KI4YCC KI4YDJ KI4YPT KI4YRH KI4YXO KI4YY KI4ZHF KI4ZKJ KI5EE KI5F KI5FJ KI5FR KI5IK KI5JF KI5T KI5TN KI5WE KI5WL KI5XP KI6ASK KI6BEN KI6BQB KI6CDF KI6CG KI6DCN KI6DRN KI6DY KI6DY/0 KI6EAB KI6FTT KI6FYQ KI6GVI KI6GVM KI6HDV KI6IBS KI6IRA KI6IT KI6J KI6JGH KI6JJW KI6KFB KI6KSY KI6KVR KI6LDM KI6LQE KI6LTC KI6LZ KI6MQX KI6MWN KI6NDA KI6NGN KI6NN KI6NNN KI6OQU KI6ORO KI6OY KI6PGQ KI6PMD KI6PR KI6PTU KI6QDB KI6QDH KI6RRD KI6RRN KI6RUW KI6SMX KI6SN KI6SYO KI6T KI6TGS KI6TXC KI6UAL KI6UDJ KI6VC KI6VJY KI6WCI KI6WJ KI6WOX KI6WWB KI6WZZ KI6YYT KI6ZLW KI6ZX KI6ZZD KI7AO KI7BP KI7DG KI7K KI7M KI7MT KI7N KI7T KI7TG KI7VR KI7XA KI7Y KI8BV KI8CQ KI8JD KI8KQ KI8L KI9A KI9E KI9H KJ0B KJ0G KJ0I KJ0M KJ0MTN KJ0P KJ0R KJ1I KJ1J KJ2D KJ2M KJ3L KJ3X KJ4ADN KJ4AIS KJ4AMH KJ4AMU KJ4AOM KJ4APD KJ4AUQ KJ4AUR KJ4AYT KJ4AZA KJ4BEE KJ4BIW KJ4BIX KJ4BJ KJ4BOU KJ4BPH KJ4BQS KJ4CGU KJ4CMG KJ4CNN KJ4CTS KJ4CVY KJ4DBB KJ4DDM KJ4DHB KJ4DLP KJ4DOZ KJ4DVD KJ4EEW KJ4EKS KJ4EPL KJ4ERZ KJ4EUN KJ4EX KJ4EYZ KJ4FDV KJ4FKQ KJ4FSU KJ4FYX KJ4GDW KJ4GLK KJ4GOI KJ4HEY KJ4HYG KJ4HZ KJ4IC KJ4IGV KJ4IQT KJ4IVB KJ4IVK KJ4IWX KJ4IXI KJ4IZW KJ4JC KJ4JEY KJ4JQV KJ4JTQ KJ4JTT KJ4KNW KJ4KTG KJ4KVC KJ4LEN KJ4LKU KJ4ND KJ4NNO KJ4OOA KJ4QVJ KJ4R KJ4RR KJ4UNA KJ4UY KJ4WD KJ5CI KJ5OA KJ5RC KJ5RM KJ5T KJ5XX KJ6ABC KJ6AGX KJ6AP KJ6C KJ6CA KJ6CM KJ6DJL KJ6DQ KJ6HZ KJ6NO KJ6P KJ6RA KJ6UD KJ6Y KJ6YK KJ6ZI KJ7BS KJ7GI KJ7NO KJ7QM KJ7S KJ8O KJ9A KJ9C KJ9D KJ9I KJ9R KK0A KK0DJ KK0G KK0HF KK0I KK0K KK0M KK0Q KK0SD KK1DX KK1F KK1KW KK1L KK1S KK1W KK1X KK2O KK2W KK3AN KK3F KK3Q KK4A KK4AW KK4E KK4GV KK4IY KK4KM KK4PJ KK4PQ KK4R KK4RV KK4SI KK4SZ KK4TE KK4US KK4WS KK4XL KK5CT KK5E KK5HT KK5I KK5IB KK5J KK5JY KK5K KK5LO KK5MR KK5NA KK5NO KK5OQ KK5OV KK5RX KK5TC KK5ZD KK6EL KK6GJ KK6LT KK6MC KK6PC KK6QT KK6T KK6TV KK6XN KK7AC KK7BR KK7CG KK7DP KK7EU KK7IG KK7MF KK7OO KK7PR KK7S KK7UQ KK7UV KK7VL KK7X KK7XT KK7YC KK7YL KK7YU KK8B KK8D KK8MM KK8U KK8X KK8Y KK9A KK9DX KK9G KK9H KK9N KK9O KK9T KK9V KL1IN KL1JP KL1R KL1SE/W4 KL1SF KL1V KL1WE/6 KL1WE/W6 KL1YY KL2AX KL2R KL2RG KL5DX KL5E KL5O KL5Z KL7AA KL7AC KL7AF KL7AI KL7AIR KL7AM KL7AN KL7BB/W7 KL7CH KL7CQ KL7CW KL7D KL7DX KL7FAP KL7GS KL7HBK KL7IDA KL7IKV KL7IWC KL7J KL7LT KL7MM KL7NC KL7OH KL7OO KL7OO/W7 KL7OU KL7QR KL7R KL7RA KL7SB KL7SG KL7TS KL7VX KL7WP KL7WV KL7XX KL7YK KL7Z KL8DX KM0O KM0U KM1C KM1D KM1E KM1R KM1W KM1X KM1Z KM2L KM2O KM2Y KM2Z KM3J KM3T KM3T/KP4 KM3V KM4C KM4CH KM4D KM4DR KM4DR/5 KM4H KM4HI KM4JA KM4KB KM4M KM4MK KM4OR KM4OZ KM4RK KM4RO KM4U KM4ZR KM5E KM5FY KM5LS KM5PS KM5RA KM5TY KM5VI KM5Z KM6CR KM6CZ KM6HB KM6I KM6K KM6TY KM6XX KM6Z KM7DX KM7T KM7TR KM7W KM8L KM8R KM9M KM9P KM9X KN0A KN0N KN0R KN0V KN1H KN1R KN1W KN3A KN3X KN4DS KN4JN KN4JX KN4KL KN4LF KN4NN KN4OK KN4Q KN4QD KN4Y KN5H KN5O KN5S KN6B KN6DV KN6E KN6H KN6LF KN6OP KN6OZ KN6U KN6VVH KN6X KN6Y KN6YC KN7D KN7K KN7N KN7PF KN7S KN7T KN7Y KN8DMK KN8J KN8KAZ KN8KAZ/5 KN8M KN9C KN9K KN9N KN9P KO0Z KO1E KO1G KO1H KO1U KO2OK KO4OL KO4PU KO4XB KO4XJ KO4Y KO5DX KO6I KO6IS KO6U KO7AA KO7P KO7T KO7X KO9G KO9H KP2B KP2BH KP2CT KP2CW KP2D KP2DX KP2M KP2SJ KP2TM KP3AAA KP3G KP3S KP3VA KP3Z KP4AH KP4ATF KP4BD KP4BME KP4BOY KP4BT KP4ED KP4GB KP4GB/W3 KP4GC KP4JFR KP4JRS KP4KE KP4KE/W4 KP4LH KP4MS KP4QY KP4RAT KP4RAY KP4SQ KP4TF KP4US KP4VP KP4WW KP4Y/W0 KQ0B KQ1A KQ1F KQ1P KQ1U KQ1X KQ2I KQ2M KQ3F KQ4BH KQ4KK KQ4VY KQ4Y KQ5E KQ6DX KQ6EA KQ6ES KQ6IU KQ6K KQ6LV KQ6MU KQ6OD KQ6PK KQ6Q KQ6X KQ6YG KQ6Z KQ7W KQ8E KQ8M KQ9J KR0I KR0K KR0O KR0T KR0U KR0V KR1A KR1B KR1ST KR2AA KR2C KR2D KR2Q KR3E KR3J KR3O KR4BG KR4EY KR4F KR4JY KR4LO KR4OJ KR4OW KR4RO KR4TI KR4U KR4V KR4WI KR4X KR4Z KR4ZA KR5DX KR5N KR5V KR5X KR6C KR6RR KR7DX KR7G KR7LD KR7O KR7RK KR7RR KR7W KR7X KR8MR KR8Q KR8T KR8U KR8V KS0AA KS0M KS0T KS0X KS0Y KS1C KS1G KS1J KS1Y KS2G KS2L KS2O KS3D KS3F KS3P KS3S KS4G KS4L KS4S KS4V KS4X KS4XN KS4Z KS5A KS5Z KS6A KS6M KS6U KS7S KS7T KS7U KS8O KS9K KS9W KT0AD KT0DX KT0F KT0K KT0P KT0R KT1B KT1D KT1I KT1J KT1V KT1VT KT2D KT2Z KT3M KT3W KT3Y KT4AH KT4CB KT4DW KT4FJ KT4FY KT4HX KT4LF KT4MM KT4OO KT4PD KT4Q KT4RH KT4SS KT4TL KT4U KT4ZB KT5D KT5E KT5G KT5J KT5V KT5X KT6D KT6DX KT6LA KT6V KT6VV KT6YL KT7AZ KT7DX KT7G KT8K KT8N KT8R KT8X KT8Y KT8Z KT9B KT9L KT9T KT9W KU0DM KU0G KU0K KU1CW KU1T KU2C KU2M KU2US KU3G KU3X KU4A KU4AF KU4BL KU4BP KU4C KU4EC KU4GW KU4ME KU4MT KU4PY KU4UV KU4UW KU4V KU4VY KU4WD KU4XO KU4XP KU4YT KU4YW KU4ZV KU5B KU6S KU7K KU7N KU7Y KU7Z KU8E KU8L KU8T KU8V KU9RK KU9S KU9Z KV0K KV0Q KV1J KV1P KV1W KV2K KV2M KV2R KV2S KV2X KV3W KV4CN KV4CQ KV4DT KV4FZ KV4K KV4T KV5V KV5WS KV5Y KV6O KV7DX KV7K KV7S KV8Q KV9O KV9R KV9W KW0H KW0U KW0V KW2A KW2G KW2HV KW2J KW2N KW2O KW3A KW3F KW3LO KW3U KW3W KW4CC KW4E KW4J KW4JS KW4T KW4TT KW4V KW4VA KW4WK KW5HP KW5K KW5USA KW6G KW6N KW6Q KW7A KW7E KW7I KW7JS KW7N KW7OS KW7Q KW7XX KW7Y KW8N KW8O KW8V KW9A KW9CAT KW9DX KW9M KW9N KW9R KX0R KX1E KX1G KX1X KX2A KX2B KX2H KX2P KX2S KX2X KX2Y KX3K KX3Q KX4D KX4G KX4O KX4P KX4R KX4X KX5A KX5RW KX5T KX5W KX6M KX6X KX7F KX7L KX7M KX7YT KX8A KX8D KX8K KX8X KX9DX KX9M KX9Q KX9X KY0O KY0R KY0W KY0Y KY1LAW KY1RK KY1Z KY2J KY2T KY3B KY3X KY4BP KY4CW KY4F KY4J KY4P KY4USA KY4Z KY5D KY5G KY5N KY5Q KY5R KY6J KY6LA KY7K KY7L KY7M KY7Q KY9KY KY9KYO KZ1A KZ1K KZ1M KZ1O KZ1W KZ1X KZ1Z KZ2I KZ2T KZ2V KZ3DX KZ3M KZ3Q KZ3W KZ3X KZ4D KZ4G KZ4USA KZ4V KZ4VT KZ4ZZ KZ5A KZ5AM KZ5D KZ5J KZ5JE KZ5MM KZ5OH KZ5OM KZ5P KZ5V KZ6D KZ7O KZ7Q KZ7X KZ8A KZ8E KZ8K KZ8ZZ KZ9O L20E L21D L25X L33M L44DX L46V L47H L55D L60DK L73D L73DX LA0CX LA0FA LA1BFA LA1DSA LA1EK LA1ENA LA1K LA1NSB LA1PHA LA1QDA LA1TPA LA1TPK LA1TUR LA1UKA LA1VFA LA1VNA LA1XFA LA1YE LA1YPA LA2008TSR LA2AB LA2FKA LA2GH LA2GN LA2GRA LA2HFA LA2IJ LA2MJA LA2MOA LA2O LA2OKA LA2PA LA2QM LA2RZ LA2TD LA2WRA LA2XPA LA3ANA LA3BO LA3BPA LA3HPA LA3RK LA3S LA3TK LA3WAA LA3YNA LA3YU LA3ZA LA3ZPA LA4CW LA4EI LA4EJ LA4EU LA4FNA LA4GHA LA4IR LA4NE LA4O LA4OGA LA4PM LA4RT LA4SGA LA4URA LA4WKA LA5EKA LA5FBA LA5FH LA5FJA LA5HE LA5HPA LA5IIA LA5LBA LA5LJA LA5MDA LA5PBA LA5PRA LA5SAA LA5SJA LA5TFA LA5UF LA5UJ LA5UKA LA5VK LA5WNA LA5YJ LA5YW LA5ZQ LA6ALA LA6BNA LA6CF LA6DW LA6FJA LA6HL LA6IHA LA6IRA LA6K LA6KOA LA6LDA LA6OP LA6PB LA6TP LA6VM LA6YEA LA6ZFA LA7AFA LA7CL LA7GIA LA7GNA LA7IJA LA7JO LA7NFA LA7OC LA7QI LA7QIA LA7RJ LA7RRA LA7SI LA7SKA LA7THA LA7TN LA7TO LA7VE LA7WCA LA7XK LA8AJA LA8AW LA8D LA8DW LA8HGA LA8KRA LA8NRA LA8OKA LA8OM LA8OOA LA8PDA LA8TIA LA8UHA LA8UL LA8WG LA8XM LA8ZIA LA9AJA LA9BM LA9DAA LA9DJA LA9DK LA9FFA LA9LMA LA9NM LA9QL LA9QNA LA9TJA LA9TY LA9VDA LA9VK LA9VPA LA9XKA LA9Z LB2TB LB3KB LB7Q LB9LE LB9RE LG5LG LN1T LN2HQ LN2L LN2T LN3F LN3R LN3Z LN4BBC LN5O LN7AZ LN8W LN9Z LO2F LO7D LO7H LP1H LP2F LP3U LQ0F LQ4D LQ5H LR1A LR1H LR1V LR2F LR4D LR4E LR6H LR7F LS1D LS2D LS2E LS4DX LT0D LT0H LT1A LT1D LT1F LT1K LT2F LT4S LT5D LT5H LT5X LT5Y LT7D LT7H LU1AEE LU1ALF LU1ARG LU1ARV LU1BJW LU1BR LU1BW LU1DCB LU1DK LU1DP LU1DZ LU1EDH LU1EJ LU1EWL LU1FDU LU1HF LU1HLH LU1IBL LU1ICX LU1MPK LU1MSD LU1NDC LU1QAH LU1QS LU1SF LU1UM LU1VM LU1WI LU1XS LU1YY LU2AH LU2BA LU2DGZ LU2DKT LU2DPW LU2DT LU2DVI/H LU2EE LU2EQF LU2FCB LU2FFD LU2FLN LU2NI LU2QC LU2UE LU2UF LU2VC LU3CQ LU3CT LU3DAT LU3DDH LU3DKV LU3DOC LU3DR LU3DX LU3DY LU3FID LU3FLV LU3HIP LU3HS LU3JVO LU3MAM LU3MCJ LU4AT LU4DPC LU4DQ LU4DX LU4DXU LU4EJS LU4FLJ LU4FPZ LU4FW LU4KC LU4MHQ LU4VEW LU4WG LU5CAB LU5EVK LU5FF LU5FII LU5FMC LU5FT LU5FZ/A LU5MT LU5OM LU5VV LU5WW LU5YF LU6AM LU6DAT LU6DK LU6DO LU6EF LU6EQT LU6ETB LU6EVD LU6FAH LU6FBJ LU6FEC LU6FN LU6FOV LU6FT LU6KA LU6QI LU6UBN LU6UO LU6WG LU6XQ/D LU7DNN LU7DSU LU7DSY LU7EE LU7FPA LU7FSM LU7FTS LU7FWV LU7HN LU7HW LU7KAT LU7MAL LU7MCJ LU7MSE LU7SN LU7VCH LU7YS LU7YW LU7YZ LU8ADX LU8DWR LU8DY LU8EEM LU8EGS LU8EHR LU8EOT LU8QT LU8SAN LU8YE LU9DA LU9DAG LU9DO LU9DTC LU9ESD LU9EY LU9FDG LU9FFZ LU9HP LU9MBY LU9MDH LV5V LV6D LW1DBG LW1DTZ LW1DX LW1E LW1EUD LW1EXU/D LW1HR LW2DFH LW3DC LW3DG LW3DIV LW3DN LW3EWZ LW3EX LW4DYI LW4EU LW4HBR LW5DFR LW5DR LW5EAE LW5EE LW5ET LW5HBR LW6DG LW6DW LW6EFR LW7DX LW7H LW7HE LW7HT LW8DQ LW9DHR LW9EOC LW9ETQ LX0HQ LX1A LX1DA LX1EA LX1ER LX1FC LX1HD LX1KC LX1KN LX1NO LX1SG LX1TO LX1UN LX30AK LX4A LX5T LX7I LX8DL LX8I LX8M LX8RTTY LX9EG LX9UN LY0HQ LY1AKM LY1BA LY1BX LY1C LY1CG LY1CM LY1CO LY1CT LY1CX LY1DJ LY1DT LY1FGP LY1FW LY1G LY1GK LY1K LY1M LY1MA LY1N LY1NDN LY1PM LY1R LY1RB LY1TR LY1XA LY1XM LY2A LY2AE LY2AO LY2AT LY2BAW LY2BBF LY2BIS LY2BKT LY2BNL LY2BOK LY2BOS LY2BUU LY2BVB LY2C LY2CG LY2CO LY2CV LY2CX LY2DM LY2DV LY2DX LY2DZ LY2F LY2FN LY2GV LY2GW LY2H LY2IJ LY2J LY2K LY2KM LY2KZ LY2L LY2LB LY2LE LY2LF LY2LU LY2MM LY2N LY2ND LY2NK LY2O LY2OF LY2OM LY2OO LY2OU LY2OX LY2PX LY2QT LY2RJ LY2SA LY2SL LY2T LY2TA LY2TS LY2VA LY2W LY2WJ LY2WN LY2X LY2XW LY2YR LY2ZZ LY3A LY3B LY3BB LY3BG LY3BM LY3BN LY3BY LY3CW LY3CY LY3ID LY3JM LY3KS LY3M LY3NX LY3O LY3P LY3QA LY3RA LY3S LY3SL LY3TW LY3UV LY3V LY3VD LY3W LY3X LY3ZM LY4A LY4AA LY4BF LY4BP LY4BR LY4CW LY4D LY4G LY4K LY4L LY4MM LY4OO LY4Q LY4R LY4T LY5A LY5G LY5R LY5W LY6A LY6M LY7A LY7M LY7Z LY8O LY9A LY9Y LZ/SQ9UM LZ09BR LZ09IPY LZ100SO LZ10ARDF LZ10RF LZ1195IR LZ170HD LZ17ARDF LZ180FT LZ1ABC LZ1AF LZ1AQ LZ1AZ LZ1BJ LZ1BJ/1 LZ1BP LZ1BY LZ1CF LZ1CY LZ1DCD LZ1DM LZ1DNY LZ1DO LZ1DQ LZ1EO LZ1EP LZ1FH LZ1FI LZ1FJ LZ1GL LZ1HW LZ1IA LZ1IKY LZ1IQ LZ1JY LZ1JZ LZ1KP LZ1KSC LZ1KZA LZ1MC LZ1MG LZ1MS LZ1ND LZ1NG LZ1NJ LZ1NK LZ1NY LZ1NYK LZ1OI LZ1OJ LZ1ONK LZ1PJ LZ1PM LZ1PSH LZ1QB LZ1QI LZ1QN LZ1QV LZ1QZ LZ1RGM LZ1SDR LZ1VB LZ1VCT LZ1VQ LZ1VVV LZ1WJ LZ1XL LZ1YE LZ1YG LZ1YP LZ1YY LZ1ZC LZ1ZF LZ1ZJ LZ1ZM LZ1ZV LZ26ZA LZ2A LZ2AB LZ2AG LZ2AY LZ2BE LZ2CC LZ2CE LZ2CJ LZ2CWW LZ2DF LZ2EG LZ2ES LZ2FM LZ2FO LZ2FQ LZ2GS LZ2HA LZ2HM LZ2HN LZ2HR LZ2JA LZ2JR LZ2KAF LZ2KV LZ2LE LZ2LH LZ2LT LZ2MW LZ2NA LZ2NG LZ2NKM LZ2OV LZ2PB LZ2PEP LZ2PI LZ2PL LZ2PS LZ2RS LZ2SC LZ2SX LZ2UU LZ2UW LZ2UZ LZ2VP LZ2VU LZ2XF LZ2ZD LZ2ZF LZ2ZG LZ2ZY LZ3CB LZ3DX LZ3FN LZ3HI LZ3IW LZ3NY LZ3PZ LZ3RZ LZ3SD LZ3SM LZ3TL LZ3TY LZ3YV LZ3ZQ LZ3ZX LZ3ZZ LZ40ATSA LZ44WFF LZ4AE LZ4BU LZ4GL LZ4RR LZ4TL LZ4TX LZ4UU LZ5A LZ5F LZ5K LZ5R LZ5T LZ5VK LZ5XQ LZ5Z LZ5ZI LZ65P LZ6W LZ7G LZ7H LZ7HQ LZ7J LZ7S LZ7T LZ7X LZ8A LZ8E LZ8W LZ9A LZ9C LZ9R LZ9V LZ9W LZ9X M0AAA M0AAC M0AAS M0ACL M0ACM M0AEJ M0AEU M0AFE M0AFJ M0AGA M0AID M0AJM M0AMS M0AOI M0ASR M0AWS M0AWX M0AXD M0B M0BCT M0BGR M0BJL M0BJX M0BKH M0BKV M0BLF M0BMX M0BPQ M0BSV M0BUY M0BVE M0BVQ M0BXR M0BZU M0BZZ M0CAR M0CCQ M0CEF M0CES M0CFW M0CHK M0CJW M0CKE M0CKX M0CMH M0CNP M0COK M0COM M0COP M0CQE M0CSD M0CTR M0CUL M0CUS M0CVK M0CYR M0DCD M0DDT M0DEG M0DEP M0DGB M0DHO M0DIV M0DKN M0DLL M0DMA M0DMJ M0DMS M0DOL M0DOL/P M0DSK M0DUO M0DVV M0DWW M0DXR M0DXS M0DYI M0EBJ M0EDX M0EMM M0EVI M0FAQ M0FCR M0FJM M0FTL M0GAV M0GBK M0GBP M0GDX M0GEJ M0GHQ M0GIA/P M0GIZ M0GJH M0GKC M0GLP M0GME M0GMT M0GWS M0HDD M0HDK M0HEM M0HKB M0HRC M0HWK M0IAA M0IKE M0ILT M0INB M0IOD M0IPS M0ITY M0JME M0JMO M0JRA M0KAZ M0KOP M0KPB M0KSJ M0KTM M0KVP M0KZH M0LLW M0LMH M0LUV M0MAC M0MAD M0MCV M0MCX M0MDF M0MDR M0MGF M0MRB M0NDZ M0NKS M0NNH M0NOV M0NQN M0OIC M0OKT M0OVL M0OXD M0OXO M0PAR M0PCB M0PIE M0PNN M0POQ M0PSK M0PSW M0RBE M0RBG M0REX M0RGI M0RHS M0RIA M0RMW M0RNR M0RPD M0RSD M0RTI M0RYB M0SAD M0SAT M0SCG M0SDX M0SDY M0SEL M0SFR M0SLA/W9 M0SUF M0TAZ M0TCA M0TDW M0TEF M0TFO M0TJU M0TLN M0TMW/P M0TUB M0TUL M0TVT M0TWW M0TZO M0UCK M0UNI M0URX M0USY M0UTD M0UTD/P M0VAA M0VBY M0VFC M0VIE M0VKC M0VKX M0VKY M0VPE M0WAY M0WBX M0WGI M0WKR M0WLF M0WTD M0WTF M0WTG M0WYB M0WYM M0XAT M0XDX M0XGB M0XIE M0XIK M0XJP M0XKD M0XLD M0XLT M0XSM M0XXT M0YCQ M0YCQ/P M0YEC M0YOM M0YYV M0ZAK M0ZDW M0ZJB M0ZRA M0ZWW M1A M1ACB M1ADX M1BYH M1CEC M1DDD M1DNC M1DSE/P M1DST M1DTJ M1EBV M1EYP M1EYP/P M1FCV M1HOG M1LMO M1PTR M1SLH M1SMH M1TZR M1VHT M1WDK M2W M2X M3CEC M3DOV M3ENF M3FDZ M3GWO M3HXS M3JFM M3OHA M3OIG M3ONL M3PBK M3PHP M3PSK M3PZT M3RCV M3TBV M3TLP M3UFB M3UNN M3UXJ M3UZV M3VAM M3VQZ M3W M3WAZ M3WNF M3WYX M3XAC M3XFL M3XIK M3XMC M3XYP M3YFL M3YOS M3ZWW M3ZXX M4A M4T M4U M5A M5ADZ M5AEF M5AEO M5AEX M5AFD M5AGV M5ALG M5ARC M5B M5BFL M5BFL/P M5DIK M5E M5FUN M5GUS M5ITE M5KJM M5LRO M5O M5T M5X M6CMG M6GCS M6HRS M6JAS M6KAH M6OJE M6RPG M6T M6W M7A M7T M8C M8M M9C M9W M9X MA0BQI MA0GPZ MA0RKT MA0XAU MA3YFT MC0SHL MD0CCE MD0MDI MD3YLX MD3ZFQ MD4K MD6V MD9Y MI0AYR MI0BPB MI0ENR MI0GRG MI0GTM MI0JFC MI0JZZ MI0LLL MI0M MI0MIX MI0MVP MI0SAI MI0SDR MI0TFK MI1SJM MI3OZX MI5JYK MI6GWA MJ/W1NN MJ0ASP MJ0CFW MJ4K MM0AMW MM0APF MM0BHX MM0BHY MM0BQI MM0BQN MM0BSM MM0CBL MM0CIN MM0DFV MM0DFZ MM0DVZ MM0DWF MM0DXH MM0EAX MM0FWG MM0GHM/P MM0GOR MM0GPZ MM0JOK MM0JVB MM0KBT MM0LGR MM0LID MM0MOC MM0MUK MM0NDX MM0Q MM0R MM0RKT MM0ROV MM0SAJ MM0SGQ MM0SJH MM0TFU MM0TOB MM0VTV MM0WHA MM0WNW MM0XAU MM0XDG MM0YEC MM1D MM2R MM3LLU MM3PDM MM3RCR MM3RDP MM3T MM3UOR MM3WEV MM3XXW MM3YCG MM3YFT MM3YIO MM5DWW MM5FUN MM6ADR MM6GLI MM6SOR MN0OCG/P MS0ZET MU/DL5SE MU/OZ7BQ MU0FAL MU0GSY MW0AUG MW0BYS MW0CBC MW0CRI MW0CVT MW0CWJ MW0DNF MW0GOV MW0HMV MW0IDX MW0JRX MW0JZE MW0LAO MW0MAU MW0MJB MW0MWZ MW0RZC MW0X MW0XMI MW0YDX MW0ZZK MW1LCR MW1MDH MW2I MW3WSC MW5A MW5ACN MW5D MW6SLW MW6VHF MW9W MX0ADJ MX1SWL/A MZ5B MZ8A N0ABA N0AC N0ADL N0AE N0AG N0AH N0AIE N0ANP N0AR N0ARU N0AT N0AV N0AX N0AZZ N0BB N0BDS N0BE N0BED N0BK N0BLG N0BM N0BOF N0BSS N0BUI N0CEL N0CKC N0CN N0CRL N0CU N0DFP N0DH N0DJY N0DNR N0DQS N0DWY N0EG N0ENQ N0EO N0EOP N0EQ N0EVH N0EZH N0FCD N0FP N0FTZ N0FV N0FW N0GBR N0GF N0GIC N0GMG N0GMT N0GOM N0GOS N0GWH N0GZ N0HD N0HF N0HIO N0HJZ N0HNQ N0HR N0HT N0HT/4 N0IB N0IBD N0IBT N0IJ N0IJK N0IM N0IRM N0IRW N0IW N0JBF N0JG N0JK N0JL N0JTE N0JX N0JZ N0KBD N0KE N0KGM N0KK N0KM N0KMA N0KQ N0KV N0LEF N0LGU N0LIA N0LIE N0LLH N0LP N0LRI N0LSD N0LTX N0LY N0LZ N0MA N0MNO N0MSB N0NB N0NC N0NI N0NM N0NO N0NR N0NS N0OB N0OCT N0ODK N0OJ N0OK N0OP N0OST N0OU N0PB N0PC N0PFE N0PL N0PNQ N0PSJ N0PVZ N0QE N0QNL N0QO N0QP N0QW N0QX N0QXW N0RB N0RDJ N0RN N0RPI N0RPJ N0RR N0RT N0RU N0RUV N0RWR N0RZT N0SJ N0SM N0SMX N0SO N0SOX N0SRF N0SS N0SSC N0ST N0STL N0SWE N0SXX N0TA N0TG N0TK N0TMU N0TOP N0TT N0TU N0TUN N0TW N0TYE N0UA N0UB N0UD N0UJJ N0UN N0UNL N0UR N0URW N0UU N0UV N0UY N0VCY N0VD N0VLJ N0VLN N0VPL N0VR N0VRP N0VTZ N0VVH N0VY N0WAF N0WAR N0WE N0WFO N0WM N0XA N0XJO N0XM N0XR N0XT N0YD N0YE N0YKN N0YO N0YY N0ZA N0ZC N0ZGG N0ZK N0ZM N1AA N1AAU N1ABA N1ABF N1ABY N1AC N1ADY N1AIA N1AM N1AO N1AP N1API N1AU N1AW N1BAA N1BCL N1BFO N1BG N1BNC N1BQL N1BRU N1BSA N1BUG N1BY N1BZ N1CC N1CE N1CGP N1CKM N1CM N1CWR N1DC N1DCM N1DD N1DF N1DG N1DGF N1DJF N1DK N1DM N1DS N1EMC N1EO N1EOP N1EU N1EY N1EZO N1FD N1FDX N1FIO N1FJ N1FOJ N1FQ N1GB N1GC N1GDD N1GE N1GFS N1GKE N1GKX N1GLT N1GN N1GSA N1HCE N1HLZ N1HRA N1HT N1HTS N1HY N1IBM N1IER N1ILD N1IMW N1ITT N1IUN N1IVY N1IW N1IX N1IXF N1JAO N1JBH N1JD N1JDK N1JM N1JP N1JW N1KEZ N1KJW N1KOH N1KON N1KPY N1KR N1KW N1KWF N1LI N1LJG N1LN N1LQ N1LT N1LU N1MEO N1MGO N1MIW N1MJF N1MM N1MQ N1ND N1NK N1NKC N1NN N1NQZ N1NRK N1OFV N1OIG N1OWA N1OXA N1PGA N1PT N1QAE N1QEH N1QEQ N1QI N1QM N1QN N1QV N1QXV N1QY N1RA N1RB N1RFB N1RFK N1RK N1RNJ N1RR N1RX N1SDH N1SM N1SNB N1SPX N1SV N1SW N1SXL N1SZ N1TB N1TKS N1TM N1TO N1TQ N1UDY N1UED N1UK N1UR N1URA N1UW N1UZ N1VVV N1VXW N1WC N1WGX N1WK N1WON N1WPU N1WQ N1WR N1WRK N1WWE N1XIH/7 N1XK N1XLG N1XQ N1XX N1XY N1YBX N1YC N1YE N1YF N1YNI N1YW N1YWB N1YX N1YXE N1ZJ N1ZN N1ZQ N1ZU N1ZX N1ZZ N2AA N2AB N2ADE N2AET N2AJ N2AK N2AMG N2AN N2ATA N2AUG N2AXX N2AYI N2BA N2BC N2BEE N2BEG N2BJ N2BJ/9 N2BJV N2BMK N2BR N2BT N2BZP N2CEI N2CG N2CHD N2CJ N2CJO N2CK N2CQ N2CU N2CUA N2CW N2CYY N2DPF N2DVQ N2DW N2DWS N2EA N2ED N2EGO N2EIK N2EM N2EOC N2ESH N2ESP N2ETJ N2EX/4 N2EY N2FBV N2FF N2FJ N2FNO N2FPJ N2FQ N2FT N2FY N2GA N2GC N2GDU N2GG N2GJ N2GM N2GRS N2GVB N2GWK N2HMM N2HN N2HO N2IC N2IEL N2IEN N2IMM N2ION N2IW N2IX N2IXD N2IXX N2JBA N2JDQ N2JEN N2JEX N2JF N2JJ N2JNZ N2JTZ N2JUG N2KA N2KHH N2KI N2KPB N2KRN N2KW N2KW/1 N2KX N2LBR N2LEB N2LEC N2LH N2LJJ N2LK N2LL N2LQ N2LT N2MAD N2MCI N2MEE N2MF N2MGT N2MH N2MID N2MLP N2MM N2MO N2MTG N2MUN N2MZZ N2NC N2NDY N2NEP N2NF N2NFC N2NGW N2NHN N2NI N2NKP N2NL N2NNN N2NNY N2NO N2NOM N2NQ N2NS N2NT N2NVH N2OB N2OGK N2OMC N2OO N2OPW N2OPW/8 N2OT N2OUV N2OZ N2PA N2PHI N2PK N2PKB N2PKP N2PL N2PP N2QLQ N2QMT N2QQF N2QT N2QT/4 N2QZ N2RF N2RFA N2RHL N2RI N2RIT N2RJ N2RK N2RM N2RM/4 N2RO N2RR N2RRA N2SLC N2SO N2SQW N2SS N2SU N2TEW N2TK N2TM N2TN N2TO N2TRX N2TTL N2TU N2UL N2UM N2UN N2UO N2US N2USM N2UT N2UU N2UZ N2VM N2VRA N2VT N2VW N2VYT N2WB N2WC N2WF N2WFK N2WK N2WKS N2WLG N2WLS N2WM N2WN N2WQ/VE3 N2WSY N2WW N2WY N2XDR N2XNB N2XP N2XPW N2XQM N2XT N2XWV N2YB N2YBB N2YC N2YDD N2YET N2YHN N2YN N2YO N2YOA N2YVF N2YXW N2ZAK N2ZN N2ZUL N2ZX N2ZZ N3AAF N3AB N3AD N3ADF N3AE N3AF N3AFT N3AIU N3ALN N3AM N3AO N3AS N3ATQ N3AYY N3AZH N3BA N3BB N3BBF N3BC N3BHM N3BM N3BNA N3BUD N3BUO N3CAU N3CB N3CDA N3CHX N3CJD N3CO N3COB N3CR N3CRM N3CW N3CXV N3CY N3CZ N3DAP N3DBC N3DFK N3DG N3DG/2 N3DNX N3DUE N3DXX N3EEI N3EFZ N3EMF N3EMZ N3EN N3ER N3EU N3FAW N3FD N3FES N3FIU N3FJP N3FKS N3FP N3FSC N3FSQ N3FX N3FZ N3GA N3GD N3GGT N3GH N3GJ N3GL N3GM N3GNW N3GS N3GSN N3GXX N3HBX N3HE N3HQB N3HU N3HYB N3ICK N3II N3IK N3IL N3INJ N3IQ N3IYX N3JAB N3JB N3JDQ N3JIX N3JJT N3JNX N3JON N3JT N3JW N3KAE N3KBF N3KCJ N3KHK N3KKM N3KN N3KR N3KRS N3KRX N3KS N3KTA N3KTV N3KUN N3KV N3LAZ N3LFC N3LH N3LL N3LWM N3MA N3ME N3MK N3MMH N3MON N3MRA N3MRV N3MVX N3MWR N3MX N3MZ N3NA N3ND N3NEP N3NR N3NRN N3NS N3NT N3NZ N3OA N3OC N3OJL N3OW N3OX N3PE N3PF N3PKC N3PPE N3QCM N3QE N3QO N3QQ N3QVB N3QW N3RC N3RCW N3RD N3RDV N3RG N3RJ N3RM N3RN N3RR N3RRR N3RS N3RW N3RWB N3SD N3SEO N3SL N3SMT N3SNZ N3SQD N3ST N3STZ N3SW N3SY N3TB N3TDE N3TG N3TH N3TIR N3TL N3TM N3TNQ N3TO N3TQU N3TR N3TUQ N3UA N3UB N3UC N3UGY N3UM N3UR N3US N3VBJ N3VJV N3VMD N3VOP N3VRO N3VS N3VYZ N3WD N3WG N3WJ N3WT N3WZR N3XF N3XL N3XLS N3XM/VE3 N3XP N3XPD N3XRU N3XRV N3XUD N3XVU N3XX N3XZ N3YD N3YEA N3YH N3YIM N3YMS N3YW N3YWM N3YZ N3ZA N3ZBK N3ZD N3ZK N3ZL N3ZL/4 N3ZN N3ZP N3ZU N3ZV N3ZZ N3ZZK N4AA N4AAI N4AB N4AC N4AF N4AGG N4AH N4AL N4ALN N4AO N4AOE N4APR N4AR N4ARO N4ARR N4ASX N4AU N4AVV N4AWU N4AX N4BCB N4BCC N4BCD N4BFR N4BG N4BG/2 N4BH N4BLT N4BNO N4BP N4BPG N4BU N4BWB N4BWV N4CB N4CC N4CD N4CE N4CFI N4CJ N4COB N4CPA N4CPO N4CT N4CU N4CUS N4CV N4CW N4CW/1 N4CWP N4CY N4DA N4DAG N4DE N4DJ N4DKD N4DL N4DMD N4DPU N4DT N4DTF N4DU N4DV N4DW N4DWK N4DXC N4DXI N4DXS N4DXY N4EA N4ECM N4ECW N4EDT N4EE N4EEB N4EK N4EL N4EMG N4ESS N4EX N4FCG N4FD N4FF N4FN N4FP N4FPS N4FR N4FW N4FX N4FY N4FZ N4GCP N4GEB N4GG N4GG/4 N4GI N4GJ N4GK N4GN N4GO N4GOA N4GU N4GW N4HA N4HAF N4HAI N4HB N4HH N4HID N4HLF N4HN N4HPL N4HUF N4HXI N4IB N4ICF N4IG N4II N4IJ N4IL N4IM N4IOZ N4IQ N4IR N4IS N4JA N4JB N4JDB N4JDF N4JDX N4JED N4JF N4JG N4JH N4JIK N4JIK/5 N4JKA N4JN N4JOW N4JR N4JRZ N4JT N4JTQ N4JVP N4KC N4KE N4KFT N4KG N4KGL N4KH N4KIT N4KJR N4KK N4KL N4KTM N4KW N4KZ N4LA N4LDM N4LF N4LKE N4LMN N4LPD N4LR N4LS N4LSP N4LT N4LU N4LV N4LVQ N4LW N4LZ N4LZL N4MB N4ME N4MF N4MIK N4MIO N4MJ N4MM N4MO N4MUH N4MWR N4MWY N4NAB N4NKA N4NM N4NN N4NO N4NOO N4NS N4NTO N4NTQ N4NW N4NX N4OA N4OFA N4OGW N4OI N4OO N4OQP N4OT N4OX N4OYT N4PB N4PD N4PEG N4PF N4PGL N4PJ N4PLR N4PN N4PQX N4PSE N4PTC N4PUM N4PY N4QA N4QB N4QK N4QLB N4QM N4QNT N4QQ N4QS N4QV N4QVM N4QWF N4QWZ N4QX N4RA N4RDX N4RI N4RJ N4RJL N4RLD N4RP N4RQ N4RR N4RS N4RSS N4RTD N4RU N4RV N4RVM N4RZ N4SAM N4SC N4SCS N4SEA N4SF N4SMM N4SOC N4SR N4SS N4ST N4TB N4TCP N4TD N4TDO N4TEF N4TG N4THG N4TIZ N4TJ N4TL N4TN N4TO N4TOL N4TP N4TRI N4TSC N4TT N4TTE N4TUT N4TV N4TX N4TZ N4UA N4UC N4UED N4UFP N4UJ N4UM N4UPX N4UQB N4URW N4UU N4UW N4VA N4VAN N4VI N4VN N4VS N4VV N4WBS N4WD N4WHK N4WJ N4WJW N4WMB N4WO N4WOT N4WP N4WPG N4WQB N4WR N4WW N4WZ N4XC N4XD N4XFA N4XFF N4XGI N4XL N4XM N4XO N4XR N4XU N4YBU N4YBW N4YC N4YDU N4YE N4YHC N4YM N4YSA N4YT N4YYV N4YZ N4ZA N4ZAK N4ZC N4ZI N4ZO N4ZQ N4ZR N4ZRL N4ZSA N4ZY N4ZZ N5AA N5ACK N5AF N5AN N5ATT N5AU N5AUA N5AW N5AW/0 N5BA N5BE N5BF N5BNU N5BO N5BR N5BST N5CHA N5CJQ N5CMC N5CQ N5CRO N5CW N5DBK N5DD N5DF N5DG N5DGK N5DK N5DM N5DO N5DRB N5DT N5DTT N5DX N5DY N5EA N5EBD N5EEI N5EJK N5EN N5ER N5ESA N5ET N5EXS N5EZE N5FF N5FG N5FPW N5GD N5GE N5GH N5GL N5GY N5HA N5HEK N5HHS N5HI N5HMH N5HOT N5HSF N5IA N5IE N5II N5IIT N5IN N5IR N5IW N5JB N5JBD N5JC N5JED N5JJH N5JJZ N5JM N5JOA N5JPJ N5JR N5KA N5KAE N5KD N5KDV N5KE N5KEV N5KF N5KGV N5KGY N5KI N5KIP N5KLE N5KM N5KO N5KR N5KRC N5KTT N5KWN N5KXF N5KY N5LDD N5LFE N5LIV N5LNL N5LTM N5LUL N5LUQ N5LYJ N5LYJ/5 N5LZ N5MEG N5MNX N5MOA N5MOC N5MT N5MU N5MV N5NA N5NK N5NN N5NOU N5NR N5NU N5OE N5OHL N5OK N5OL N5OP N5ORT N5OTI N5PA N5PAX N5PEF N5PHT N5PJ N5PJY N5PO N5PQ N5PR N5PT N5PU N5PYQ N5QJ N5QN N5QQ N5QS N5RA N5RGV N5RKD N5RKK N5RL N5RM N5RMS N5RN N5RP N5RP/W9 N5RR N5RVT N5RZ N5RZK N5SAM N5SAN N5SJS N5SM N5SMQ N5SPE N5SQL N5SR N5SSH N5SV N5TEN N5TER N5TGL N5THN N5TJ N5TM N5TSP N5TU N5TW N5TWH N5TY N5UCF N5UKZ N5UL N5UM N5UR N5UV N5UWY N5UXT N5VA N5VAG N5VEI N5VEZ N5VI N5VK N5VR N5VSB N5VU N5VYS N5WA N5WBF N5WC N5WEB N5WJ N5WLA N5WMQ N5WNG N5WR N5WX N5WY N5XE N5XES N5XG N5XJ N5XM N5XR N5XU N5XZ N5YA N5YE N5YEN N5YF N5YPJ N5YRJ N5YT N5ZBI N5ZC N5ZGT N5ZK N5ZM N5ZMP N5ZV N5ZWS N5ZZ N6AA N6AB N6AD N6AE N6AJG N6AJR N6AN N6AQ N6AR N6ATD N6AW N6AWD N6AX N6BHX N6BM N6BOB N6BU N6BV N6BX N6BXO N6BY N6CCH N6CHU N6CK N6CMF N6CVA N6CY N6CY/KH6 N6DA N6DAG N6DBS N6DE N6DG N6DIT N6DM N6DMV N6DQ N6DQ/C6A N6DSM N6DT N6DW N6DX N6DZ N6ED N6EE N6EEB N6EF N6EM N6EO N6EP N6ER N6ERD N6ET N6FB N6FD N6FMF N6FR N6FX N6GA N6GEO N6GK N6GL N6HA N6HC N6HE N6HH N6HI N6HK N6HRO N6HY N6IC N6IE N6IEF N6IFR N6IG N6ISY N6IV N6JC N6JN N6JOJ N6JRL N6JS N6JV N6JW N6KD N6KI N6KJ N6KK N6KL N6KM N6KN N6KOG N6KP N6KS N6KT N6KV N6KW N6KW/7 N6KZ N6LC N6LHZ N6LL N6LN N6MA N6MEF N6MI N6ML N6MM N6MQL N6MSQ N6MSY N6MU N6MUF N6MW N6MWX N6MXU N6MZ N6NA N6NBB N6NC N6NCW N6ND N6NF N6NG N6NH N6NKJ N6NKT N6NM N6NO N6NPG N6NR N6NU N6NW N6NZ N6NZE N6OC N6OJ N6OO N6OPR N6OR N6OR/4 N6ORB N6OU N6OX N6PC N6PE N6PEQ N6PF N6PHW N6PI N6PIA N6PN N6PNK N6PSE N6PYN N6PZ N6QEK N6QEK/VY1 N6QI N6QQ N6QZS N6RA N6RBY N6RC N6RDN N6REG N6RI N6RJ N6RK N6RNO N6RO N6RSH N6RT N6RUX N6RV N6RW N6RXA N6RZ N6RZR N6SC N6SF N6SI N6SL N6SL/4 N6SPB N6SPP N6SQ N6SS N6SUN N6TA N6TCZ N6TE N6TEM N6TH N6TI N6TJ N6TP N6TQS N6TR/7 N6TT N6TU N6TV N6TW N6TZV N6UGJ N6UWW N6VDR N6VH N6VHF N6VI N6VM N6VNI N6VOC N6VR N6VX N6VXM N6VZ N6WB N6WBL N6WD N6WG N6WHK N6WIN N6WK N6WM N6WO N6WS N6WZ N6XG N6XI N6XT N6XXN N6YDP N6YEU N6YMM N6YVW N6ZE N6ZFO N6ZI N6ZM N6ZN N6ZS N7AAM N7AC N7AM N7AN N7AP N7APN N7AR N7AT N7AZ N7BAN N7BAT N7BBC N7BEF N7BK N7BLN N7BPA N7BRC N7BT N7BU N7BV N7BXX N7CAC N7CKJ N7CVZ N7CW N7DB N7DC N7DCR N7DD N7DF N7DK N7DLI N7DOM N7DRK N7DS N7DV N7EA N7EDK N7EG N7EIE N7EKD N7EL N7ELF N7ENN N7EO N7EPD N7ER N7ESU N7ET/DU7 N7ETA N7ETC N7EXP N7FF N7FFL N7FJM N7FLT N7FMM N7FO N7FYO N7FYP/VY2 N7GCO N7GK N7GMT N7GR N7GTE N7GTW N7GUO N7GVV N7HD N7HGH N7HJL N7HT N7ICK N7INV N7IPG N7IR N7IV N7IX N7IXI N7IZ N7JB N7JEC N7JI N7JO N7JQ N7JT N7JW N7JXS N7KA N7KCX N7KD N7KE N7KF N7KFL N7KMM N7KO N7KQ N7KR N7KRE N7KU N7LB N7LE N7LOX N7LQT N7LR N7LYR N7MAL N7MB N7MBL N7MQ N7MSI N7MW N7MZW N7NG N7NJO N7NKO N7NM N7NOG N7NSL N7NT N7NTQ N7NW N7ODM N7OG N7OLK N7ON N7OU N7PC N7PIB N7PP N7PV N7PWZ N7QAX N7QMT N7QNO N7QOZ N7QQ N7QS N7QU N7QU/5 N7RBP N7RC N7RK N7RN N7RO N7RP N7RQ N7RT N7RU N7RVD N7RVN N7RYW N7SCL N7SGX N7TK N7TL N7TM N7TO N7TP N7TR N7TT N7TW N7TY N7UA N7UC N7UN N7UO N7UR N7US N7UVH N7UY N7VF N7VFF N7VJ N7VM N7VOE N7VPN N7VS N7WA N7WB N7WH N7WHB N7WI N7WO N7WR N7WS N7WX N7WZE N7XB N7XCZ N7XDX N7XG N7XM N7XR N7XRM N7XY N7YA N7YDX N7YP N7YQ N7YX N7ZA N7ZG N7ZN N8AA N8AAE N8AE N8AG N8AGU N8AJN N8AMM N8AP N8ATC N8AYY N8BB N8BC N8BE N8BEE N8BEG N8BHL N8BI N8BJQ N8BM N8BP N8BQV N8BR N8BTU N8BUS N8BV N8CAK N8CC N8CHR N8CHS N8CL N8CLB N8CMS N8CN N8CPA N8CT N8CX N8DC N8DCJ N8DE N8DEZ N8DGD N8DJX N8DNG N8DOD N8DP N8DRC N8DSG N8DSG/P N8DT N8DV N8DX N8EA N8ECI N8EHP N8EMR N8EN N8ERL N8ESW N8ET N8EW N8FDI N8FE N8FEB N8FF N8FGB N8FNR N8FRT N8FV N8GGI N8GIY N8GJK N8GOV N8GU N8GZ N8HAL N8HC N8HHG N8HKU N8HP N8HR N8HSO N8HTG N8HTW N8IE N8IGZ N8II N8IL N8IPO N8IR N8IRC N8IS N8IVN N8IW N8IWC N8JBG N8JE N8JF N8JK N8JVL N8KAM N8KC N8KCM N8KG N8KH N8KOJ N8KR N8KU N8KUE N8KV N8LCU N8LGL N8LJ N8LMT N8LP N8LRG N8MBZ N8MDP N8MHL N8MME N8MOX N8MPX N8MR N8MRC N8MWK N8MZ N8NA N8NAV N8NB N8NKC N8NM N8NN N8NOE N8NR N8NVL N8NWA N8NX N8NYI N8OC N8OCJ N8OEJ N8OGI N8OH N8OL N8OO N8OQQ N8OT N8OY N8PA N8PB N8PQ N8PR N8PS N8PVW N8PW N8PY N8QAZ N8QE N8QMU N8QWS N8RA N8RBC N8RGQ N8RMT N8RMZ N8RN N8RO N8RQJ N8RR N8RT N8SHZ N8SKB N8SM N8SNM N8SOB N8SR N8SS N8SSE N8STY N8TC N8TD N8TDL N8TL N8TP N8TR N8TWM N8TXI N8UBK N8UM N8UO N8UV N8UZE N8VEN N8VFJ N8VV N8VW N8VZ N8WAV N8WCR N8WJS N8WK N8WNA N8WRL N8WS N8WXQ N8XA N8XC N8XE N8XI N8XKO N8XMS N8XPQ N8XQM N8XTH N8XX N8YA N8YD N8YYS N8ZA N8ZB N8ZBA N8ZFH N9AB N9ABC N9ADG N9AF N9AG N9AI N9AJV N9AK N9AKR N9AMW N9AOL N9APE N9AU N9AUG N9AVY N9AW N9AX N9AZR N9AZZ N9BBE N9BL N9BMS N9BOR N9BSS N9BT N9BU N9BX N9CC N9CDX N9CHN N9CI N9CIQ N9CK N9CKL N9CM N9CO N9CX N9CXI N9DD N9DGK N9DJ N9DOA N9DR N9DT N9EAJ N9EAX N9EN N9EP N9ER N9ESR N9EVW N9FC N9FDE N9FN N9FTC/4 N9GBB N9GC N9GEX N9GG N9GH N9GOC N9GOD N9GTC N9GUN N9GWO N9GXA N9GY N9HDE N9HF N9HH N9HNO N9HSB N9HZ N9IC N9ID N9IJ N9IO N9ISN N9IUA N9IVO N9IW N9IZ N9JCA N9JDQ N9JF N9JFW N9JW N9JZN N9KG N9KHR N9KIM N9KO N9KR N9KS N9KT N9KZ N9LA N9LAH N9LB N9LF N9LGP N9LJX N9LJY N9LPT N9LR N9LTV N9LYE N9LZY N9MHD N9MIW N9MKZ N9ML N9MM N9MR N9MSG N9MTT N9MW N9MXT N9MZF N9NA N9NB N9NC N9NDI N9NDP N9NE N9NF N9NM N9NS N9NT N9NTC N9OE N9OF N9OH N9OHW N9OI N9OK N9OL N9ONJ N9OOO N9OQW N9ORD N9OX N9OY N9PL N9PUZ N9PYS N9QK N9QQK N9QR N9QS N9QVQ N9RC N9RD N9RE N9REP N9REY N9RG N9RGE N9RJM N9RLI N9ROY N9RS N9RV N9RYM N9SB N9SCW N9SDT N9SF N9SJ N9SOR N9STL N9SW N9SZ N9TAX N9TF N9TGR N9TH N9TK N9TMU N9TMZ N9TTX N9TV N9UA N9UC N9UDO N9UE N9UFO N9UHF N9UHO N9UM N9UO N9US N9UUI N9UUP N9UX N9UY N9VA N9VAO N9VI N9VKZ N9VPR N9VPV N9WEW N9WFT N9WK N9WKW N9WL N9WQ N9WRG N9WVM N9WW N9XAK N9XBB N9XHU N9XO N9XR N9XRR N9XX N9XY N9YA N9YK N9YKE N9YN N9YUE N9YZA N9ZDD N9ZEW N9ZF N9ZI N9ZM N9ZOE NA0BR NA0CW NA0N NA0T NA1A NA1G NA1QP NA1R NA2AA NA2M NA2R NA2U NA2X NA3D NA3F NA3J/0 NA3M NA3V NA4AR NA4BW NA4C NA4CW NA4D NA4K NA4M NA4M/5 NA4NA NA4O NA4R NA4W NA5C NA5DX NA5G NA5Q NA5RC NA5TR NA5U NA5Z NA6G NA6Q NA7DX NA7EM NA7QP NA7RH NA7US NA7XX NA8M NA8SA NA8V NA8W NA9A NA9J NA9L NA9M NA9U NA9US NB0Z NB1HF NB1N NB1U NB2T NB3C NB3K NB3T NB4F NB4M NB5N NB7N NB7V NB8Q NC0B NC0O NC1C NC1I NC1T NC2O NC2W NC3P NC4AA NC4AR NC4CS NC4G NC4KW NC4MI NC4MM NC4RB NC4RW NC4S NC4VA NC4X NC5B NC5O NC5OW NC6CC NC6P NC6PT NC6Q NC6RJ NC6V NC6X NC7I NC7J NC7M NC7W NC8B NC8T NC9F ND0C ND0J ND0L ND0M ND0N ND0V ND1X ND2K ND2T ND3D ND3F ND3R ND4Q ND4V ND4X ND4Z ND5R ND5T ND6H ND6MM ND6P ND6S ND8DX ND8L ND8N ND9E ND9M ND9Z NE0DX NE0U NE0W NE1B NE1C NE1F NE1H NE1I NE1QP NE1RD NE2I NE2U NE2Z NE3F NE3H NE3I NE3R NE4M NE4S NE4W NE5D NE5DL NE5LL NE5S NE5W NE6I NE6LE NE6M NE6O NE6R NE7D NE7X NE8J NE8O NE8O/3 NE8P NE8Z NE9H NE9U NE9Z NF0N NF0T NF1A NF1D NF1L NF1X NF2O NF4A NF4GA NF5P NF5T NF5Y NF5Z NF6A NF6P NF6R NF7E NF7R NF7T NF8J NF8M NF8R NF9D NF9V NG0G NG0K NG0M NG0T NG1F NG1G NG1O NG1Q NG2C NG2P NG2T NG2X NG3I NG3J NG3K NG3O NG3Q NG3R NG3U NG3V NG4D NG4L NG4P NG4Z NG5A NG5NG NG5X NG6S NG6X NG7A NG7M NG7X NG7Z NG8U NG9E NG9R NG9T NH2T NH6AB NH6JC NH6P NH6T/W4 NH6WZ NH6YK NH7A NH7C NH7FY NH7O NH7QH NI0B NI0C NI0F NI0R NI1L NI1N NI2O NI3B NI3H NI3K NI3N NI4S NI4T NI5DX NI5F NI5L NI5O NI5R NI5T NI5W NI6J NI6P NI6Q NI6T NI6W NI7F NI7R NI7T NI8Z NI9C NI9H NI9K NI9Y NJ0IP NJ0U NJ1F NJ1H NJ1Q NJ1Q/1 NJ1T NJ2AR NJ2BB NJ2F NJ2OM NJ2P NJ3K NJ3W NJ4F NJ4I NJ4M NJ4O NJ4U NJ4X NJ4Z NJ5DX NJ5O NJ5T NJ6D NJ6N NJ6P NJ8V NJ9D NJ9Z NK0S NK0Z NK1N NK1Z NK3U NK3Y NK4A NK4I NK4L NK4N NK5G NK5O NK5Q NK5Z NK6A NK7C NK7J NK7U NK7Z NK8I NK8Q NK9D NK9G NK9I NK9N NK9O NL7G NL7KF NL7QC NL7V NL7Y NL7Z NL8F NM1A NM1C NM1J NM1JY NM1W NM2D NM2L NM2O NM3N NM4K NM4M NM4O NM4V NM5C NM5M NM5NM NM5O NM5S NM5TF NM5U NM5WB NM5Y NM6E NM6E/W5 NM6G NM6K NM6X NM7D NM7N NM7X NM8O NM9C NN0F NN0K NN0Q NN0TT NN1AA NN1N NN2E NN2L NN2RL NN2T NN2W NN3C NN3L NN3NN NN3Q NN3RP NN3W NN4AA NN4DF NN4F NN4FL NN4GG NN4K NN4MM NN4N NN4R NN4RH NN4RR NN4T NN4TO NN4TT NN4US NN4W NN4X NN4ZZ NN5J NN5K NN5T NN5V NN5Z NN6AA NN6C NN6CH NN6DX NN6EE NN6K NN6L NN6NN NN6R NN6T NN6W NN6XX NN7A NN7D NN7F NN7SS NN7ZZ NN8K NN8L NN8P NN8R NN8UU NN9K NN9Q NO2D NO2J NO2R NO2T NO2X NO3M NO4Q NO4S NO4Y NO5FD NO5G NO5LA NO5Q NO5W NO5X NO6F NO6T NO6X NO7B NO7T NO8C NO8D NO8DX NO8J NO8R NO9C NO9E NO9Z NP2B NP2I/AG9 NP2KW NP2L NP2N NP2Q NP2SH NP2X NP3CW NP3D NP3HM NP3QE NP3U NP4A NP4BM NP4BW NP4DX NP4EG NP4G NP4KT NP4V NP4Z NQ0K NQ1W NQ2F NQ2W NQ3A NQ3I NQ3N NQ4A NQ4I NQ4K NQ4RP NQ4U NQ5D NQ5K NQ5L NQ5Z NQ6L NQ6P NQ7P NQ7R NR0E NR0L NR0T NR1I NR1R NR1X NR3I NR3R NR3X NR3Y NR4C NR4M NR4MM NR4N NR5M NR5R NR6O NR6TT NR7DX NR7Q NR7RR NR7T NR8I NR8U NR9A NR9A/0 NR9B NR9B/9 NR9W NS0I NS0M NS1E NS1G NS1L NS1S NS1T NS2O NS2X NS3A NS3Q NS3T NS3X NS4L NS4SC NS4SN NS5Z NS6C NS6T NS7B NS7E NS7K NS7O NS7P NS8G NS8O NS9I NT0F NT0L NT0V NT0Z NT1A NT1N NT2A NT2F NT3R NT4A NT4D NT4Q NT4TS NT4Y NT5C NT5O NT5R NT5V NT6AA NT6K NT6X NT8P NT8S NT8V NT8W NT9F NU0C NU0J NU0Q NU0V NU1AW NU1B NU1M NU2J NU2M NU3A NU3B NU3H NU4B NU4C NU4I NU4N NU4SC NU4Y NU5A NU5DE NU5K NU6C NU6L NU6S NU6T NU7DX NU7F NU7J NU7P NU7T NU8L NU8Z NV0P NV0S NV0U NV1N NV2G NV3V NV4A NV4B NV4G NV5E NV5H NV6C NV6R NV7A NV7E NV7P NV8N NV9X NV9Z NW0DX NW0G NW0Q NW1C NW1E NW1V NW2I NW3DC NW4J NW4N NW4T NW4V NW5U NW5X NW6H NW6P NW6R NW6S NW7D NW7E NW7I NW7O NW7US NW8F NW8U NW9S NX0I NX0X NX1C NX1P NX1Q NX1T NX1Y NX2PX NX2X NX3Y NX4C NX4D NX4N NX4O NX5D NX5M NX5O NX5Z NX6J NX6T NX7DX NX7F NX7TT NX7U NX8G NX8J NX9B NX9T NY0O NY0R NY0T NY0V NY1E NY1H NY1Q NY2U NY3A NY3B NY3C NY3DX NY3H NY4A NY4D NY4FL NY4I NY4JB NY4N NY4O NY4P NY4PD NY4S NY6DX NY6I NY6J NY6N NY6P NY6U NY6X NY6Y NY8K NY8T NY9H NY9S NZ0O NZ0R NZ0T NZ1D NZ1R NZ1U NZ3J NZ3M NZ4CW NZ4DX NZ4L NZ4O NZ4R NZ5A NZ5DX NZ5G NZ5L NZ5M NZ5N NZ5P NZ6K NZ6L NZ6P NZ6Q NZ8J NZ9R NZ9Z OA4AHW OA4AI OA4O OA4SS OA4TT OA4WW OA6/OE3NHW OC4HQ OD5NJ OD5O OD5T OD5TE OD5WPX OE1A OE1AGB OE1AZS OE1BKA OE1C OE1DWC OE1EHB OE1FSB OE1H OE1HFC OE1HHB OE1HMC OE1JEW OE1KBC OE1KDK OE1KLW OE1KTS OE1MBB OE1MCU OE1MHL OE1MOU OE1PEW OE1PMU OE1PPA OE1RGC OE1RKS OE1SF OE1SGU OE1SZW OE1TKW OE1TRB OE1UZ OE1WEU OE1WIU OE1XTU OE2BZL OE2DYL OE2GEN OE2GRL OE2IGP OE2IJL OE2KGL OE2KHM OE2KNN OE2LCM OE2M OE2MON OE2S OE2SCM OE2SNL OE2UKL OE2VDL OE2VEL OE2VLN OE2WUL OE2XWL OE3AKB OE3CHA OE3CHC OE3DIA OE3DMA OE3DSA OE3DSB OE3DWC OE3DXA OE3EHA OE3EMC OE3EVA OE3FLU OE3FPA OE3GBB OE3GCU OE3GSA OE3HPA OE3HPU OE3HTC OE3HWC OE3HZW OE3I OE3JAG OE3JS OE3JTB OE3JWC OE3K OE3KAB OE3KLU OE3KOA OE3MRA OE3NHW OE3O OE3OLW OE3PGW OE3PRU OE3REC OE3RTB OE3SGA OE3SGU OE3TL OE3WEU OE3WMA OE3WMW OE3WXU OE3ZK OE4A OE4AAC OE4HSB OE4PWW OE4RGC OE4RLC OE4VIE OE4WBW OE4WWL OE4XRK OE5AWL OE5BWN OE5CSP OE5CWO OE5CYL OE5DFP OE5DI OE5FBL OE5FDM OE5FIN OE5FZO OE5GA OE5GWP OE5HDN OE5HIL OE5HSN OE5JKL OE5KE OE5MSM OE5NGM OE5OHO OE5ORM OE5PEN OE5RI OE5SMU OE5T OE5UAL OE5WEL OE5WGL OE5XIL OE6AKD OE6BMG OE6CWL OE6FGG OE6GRG OE6HLF OE6HTG OE6HZG OE6IMD OE6KDG OE6KYG OE6LCF OE6LUG OE6MBG OE6MDF OE6MMF OE6SQD OE6TXG OE6WIG OE6WSF OE6Z OE7AJT OE7BJT OE7DDI OE7F OE7FMH OE7FRH OE7GJ OE7MFI OE7PKJ OE8ANK OE8DLK OE8GBK OE8GMK OE8GMQ OE8HAQ OE8HIK OE8KR OE8MKQ OE8NTK OE8Q OE8SKQ OE8SPW OE8WIU OE8XBH OE9ADW OE9GHV OE9GLV OE9GWI OE9HGV OE9HLH OE9ICI OE9MCV OE9MON OE9MWV OE9NRH OE9PTI OE9R OE9RJJ OE9SBD OE9SEI OE9SLH OE9WGI OE9WLJ OG0I OG0M OG0R OG0Z OG1M OG1T OG2A OG2M OG2O OG2P OG2U OG3A OG3M OG3R OG4T OG4X OG50F OG5A OG5B OG5M OG5OF OG5T OG6A OG6G OG6K OG6N OG6R OG7X OG8A OG8X OG9W OH/AB9OG OH/G1UZD OH0/OH2LRE OH0AL OH0B OH0E OH0EC OH0JFP OH0PM OH0R OH0RJ OH0V OH0X OH0Z OH1BGG OH1BOI OH1BV OH1EB OH1F OH1FFN OH1FJ OH1HD OH1HM OH1JO OH1JT OH1KF OH1KIO OH1LA OH1LEG OH1LEU OH1LQ OH1LWZ OH1MA OH1MAU OH1MLZ OH1MM OH1MN OH1MZ OH1ND OH1NM OH1NOA OH1NX OH1O OH1PY OH1QA OH1RX OH1SIC OH1TD OH1TIN OH1TN OH1TS OH1TX OH1UM OH1VR OH1WF OH1WR OH1XT OH1XX OH1XY OH1Z OH1ZE OH2AG OH2BAD OH2BAH OH2BBR OH2BBT OH2BC OH2BCD OH2BCK OH2BEC OH2BEJ OH2BEN OH2BF OH2BGD OH2BH OH2BJ OH2BLD OH2BLV OH2BMO OH2BN OH2BNX OH2BO OH2BP OH2BPA OH2BPU OH2BR OH2BS OH2BSI OH2BU OH2BUW OH2BV OH2CI OH2CK OH2CP OH2CW OH2DP OH2EI OH2EO OH2ET OH2EV OH2FS OH2FT OH2GI OH2HAN OH2HOD OH2HQ OH2JSR OH2K OH2KAD OH2KI OH2KK OH2KW OH2LE OH2LI OH2LIR OH2LNH OH2LP OH2LU OH2LYJ OH2LZI OH2MA OH2MFE OH2MM OH2MO OH2MQ OH2MZB OH2NC OH2NFN OH2NT OH2OT OH2PM OH2PQ OH2RH OH2RI OH2T OH2TM OH2U OH2VB OH2VZ OH2WI OH2XF OH2XP OH2XX OH2ZZ OH3BHL OH3BU OH3CT OH3DP OH3FLF OH3FM OH3GBS OH3GD OH3GIF OH3GZ OH3HS OH3I OH3JF OH3JP OH3JR OH3KAV OH3KQ OH3LB OH3LQK OH3MC OH3MEO OH3MF OH3MKH OH3MMF OH3NDH OH3OJ OH3P OH3QL OH3RF OH3RM OH3RU OH3SR OH3UU OH3VV OH3WD OH3WR OH3WW OH3XA OH3XR OH3YI OH4A OH4AB OH4BNP OH4E OH4EA OH4JK OH4JT OH4KA OH4LA OH4LBX OH4M OH4MDY OH4MFA OH4R OH4RF OH4TI OH4TY OH4XX OH5BM OH5CW OH5DA OH5HBA OH5JH OH5JJL OH5K OH5KW OH5LF OH5LP OH5N OH5NE OH5NQ OH5NZ OH5PT OH5TQ OH5TS OH5UFO OH5UQ OH5UX OH5VG OH5VT OH5XX OH5YU OH5YX OH5Z OH5ZZ OH6AC OH6BA OH6BG OH6CT OH6DX OH6EI OH6FMG OH6GAZ OH6GDX OH6GL OH6GUA OH6HOL OH6IU OH6JKW OH6JT OH6JYH OH6K OH6KZP OH6LEZ OH6LHB OH6LI OH6LOB OH6M OH6MBQ OH6MK OH6MKL OH6MM OH6MMC OH6MSZ OH6MW OH6NJ OH6NV OH6OS OH6P OH6R OH6RC OH6RE OH6RP OH6RX OH6TN OH6UE OH6VI OH6WI OH6XB OH6XY OH7AZL OH7BX OH7FAE OH7FF OH7FKV OH7HD OH7HM OH7HXH OH7JH OH7JHI OH7JJT OH7JL OH7JR OH7KBF OH7KD OH7KNM OH7M OH7MFO OH7MJU OH7MM OH7MN OH7MP OH7MS OH7MYK OH7N OH7NJ OH7R OH7RJ OH7UE OH7UG OH7WN OH7WW OH7XM OH7YN OH8A OH8CW OH8DR OH8F OH8FAL OH8FBD OH8FKU OH8GBO OH8GZN OH8GZQ OH8HTG OH8JSZ OH8KA OH8KTN OH8KVA OH8KVY OH8L OH8LQ OH8LXT OH8MBN OH8MJ OH8NC OH8OB OH8OR OH8R OH8SE OH8T OH8TA OH8TV OH8UL OH8US OH8VQ OH8WW OH8X OH9BS OH9GIT OH9KL OH9MDV OH9RP OH9VC OH9VL OH9W OI3V OI6X OJ0B OK1AA OK1AAZ OK1ABB OK1ABF OK1ACF OK1AD OK1ADM OK1AEZ OK1AHG OK1AHJ OK1AHV OK1AIJ OK1AIT OK1AJR OK1AJY OK1AK OK1AKB OK1AKJ OK1AL OK1AMM OK1AMU OK1AN OK1ANT OK1AOU OK1AOV OK1AOZ OK1APB OK1APV OK1AQW OK1ARO OK1ATH OK1ATX OK1AUG OK1AVG OK1AVY OK1AWG OK1AWH OK1AWU OK1AXB OK1AXG OK1AXX OK1AY OK1AYD OK1AYE OK1AYU OK1AYW OK1AYY OK1AZK OK1BA OK1BB OK1BET OK1BLU OK1BM OK1BMW OK1BN OK1CAM OK1CDJ OK1CF OK1CLD OK1CO OK1CQ OK1CRM OK1CSS OK1CW OK1CZ OK1DAM OK1DAU OK1DBE OK1DC OK1DCF OK1DDQ OK1DDV/P OK1DEC OK1DEK OK1DF OK1DG OK1DGU OK1DH OK1DHP OK1DI OK1DIG OK1DIX OK1DJD OK1DJS OK1DKA OK1DKO OK1DKR OK1DKZ OK1DLA OK1DLB OK1DM OK1DMP OK1DNJ OK1DO OK1DOF OK1DOL OK1DOM OK1DOR OK1DOT OK1DOY OK1DOZ OK1DQT OK1DRQ OK1DRU OK1DRX OK1DRY OK1DST OK1DSU OK1DSX OK1DTC OK1DTM OK1DTN OK1DUT OK1DVA OK1DVK OK1DVM OK1DWC OK1DWF OK1DWJ OK1DX OK1DXD OK1DXI OK1ED OK1EK OK1EP OK1ES OK1EV OK1FAB OK1FAI OK1FAK OK1FAN OK1FAO OK1FAQ OK1FAV OK1FBH OK1FC OK1FCA OK1FCR OK1FDR OK1FDY OK1FED OK1FEK OK1FFA OK1FFU OK1FFW OK1FGD OK1FGE OK1FGS OK1FGU OK1FHD OK1FHI OK1FIM OK1FIY OK1FKD OK1FKM OK1FLC OK1FLK OK1FLT OK1FMG OK1FMX OK1FNT OK1FOG OK1FP OK1FPG OK1FPQ OK1FPS OK1FQT OK1FRD OK1FRG OK1FRO OK1FSM OK1FTM OK1FUK OK1FV OK1FWW OK1FZM OK1GI OK1GK OK1GM OK1GS OK1GT OK1GTH OK1GU OK1HA OK1HAS OK1HC OK1HCD OK1HCG OK1HCU OK1HEH OK1HFP OK1HGM OK1HL OK1HMP OK1HRA OK1HWI OK1HX OK1IAS OK1IBP OK1IC OK1IEC OK1IEV OK1II OK1IPS OK1IR OK1ITK OK1IW OK1IWN OK1JDJ OK1JDR OK1JFP OK1JKR OK1JL OK1JMD OK1JMJ OK1JN OK1JOC OK1JOK OK1JR OK1JST OK1JVT OK1JXU OK1KAK OK1KC OK1KDO OK1KFB OK1KI OK1KJA OK1KJV OK1KL OK1KM OK1KMG OK1KMU OK1KOB OK1KSL OK1KT OK1KTI OK1KTT OK1KUO OK1KW OK1KZ OK1LO OK1LOL OK1LV OK1LX OK1MAC OK1MBZ OK1MCW OK1MDK OK1MGW OK1MIN OK1MIQ OK1MKD OK1MKI OK1MKU OK1MMN OK1MMU OK1MNI OK1MNV OK1MNW OK1MP OK1MQ OK1MRU OK1MSJ OK1MSL OK1MSP OK1MV OK1MYA OK1MZB OK1MZO OK1ND OK1NE OK1NG OK1NGC OK1NI OK1NL OK1NR OK1NU OK1NY OK1NZ OK1OA OK1ODX OK1OUE OK1PA OK1PD OK1PFM OK1PI OK1PR OK1PV OK1PW OK1Q OK1QM OK1RP OK1RR OK1RS OK1SD OK1SF OK1SI OK1SKJ OK1SMJ OK1SP OK1SX OK1T OK1TA OK1TC OK1TD OK1TFH OK1TIR OK1TN OK1TPW OK1TRA OK1UDJ OK1UG OK1UKV OK1ULE OK1UN OK1UNL OK1US OK1USU OK1UU OK1VAW OK1VD OK1VDJ OK1VEI OK1VFT OK1VHV OK1VKC OK1VPU OK1VRF OK1W OK1WCF OK1WF OK1WIP OK1WMJ OK1WT OK1X OK1XC OK1XPP OK1XQ OK1XR OK1XV OK1XW OK1XYZ OK1YC OK1YM OK1Z OK1ZCW OK1ZE OK1ZHS OK1ZHV OK1ZVL OK2ABU OK2AF OK2AJ OK2AN OK2AOP OK2ARD OK2BAQ OK2BBJ OK2BBQ OK2BDR OK2BEH OK2BEN OK2BFN OK2BGB OK2BGN OK2BH OK2BHD OK2BHL OK2BIQ OK2BIU OK2BJ OK2BJC OK2BJI OK2BJL OK2BK OK2BKL OK2BLD OK2BMC OK2BME OK2BMI OK2BMU OK2BNC OK2BND OK2BNF OK2BOB OK2BPK OK2BPU OK2BQ OK2BQZ OK2BRQ OK2BRS OK2BRV OK2BRX OK2BSQ OK2BTC OK2BTR OK2BTS OK2BTT OK2BUD OK2BUT OK2BUZ OK2BV OK2BWC OK2BWI OK2BWJ OK2BWK OK2BWM OK2BXA OK2BXE OK2BXU OK2BXW OK2BYW OK2BZ OK2BZE OK2BZM OK2CJM OK2CLW OK2CMW OK2COB OK2CQR OK2CSU OK2CVA OK2DW OK2EA OK2EC OK2EE OK2EI OK2EQ OK2ER OK2FB OK2FD OK2FN OK2FR OK2FYM OK2GG OK2GU OK2GX OK2GZ OK2HBR OK2HBY OK2HI OK2HIJ OK2HZ OK2ILD OK2JK OK2JNB OK2JOW OK2JS OK2KFK OK2KG OK2KJ OK2KJU OK2KO OK2KOJ OK2KPS OK2KR OK2KRT OK2KV OK2LI OK2LW OK2MBP OK2MJF OK2N OK2NA OK2NAJ OK2NMA OK2NO OK2OLD OK2OP OK2OV OK2OZL OK2PA OK2PAD OK2PAY OK2PBF OK2PBG OK2PCL OK2PCX OK2PDN OK2PDT OK2PEX OK2PF OK2PHI OK2PJW OK2PKT OK2PLH OK2PMA OK2PMF OK2PMS OK2PO OK2PQS OK2PRM OK2PTS OK2PVZ OK2PWJ OK2PWY OK2PX OK2PYA OK2PZ OK2QA OK2QX OK2RAC OK2RDI OK2RN OK2RRR OK2RU OK2RVM OK2RW OK2RZ OK2SA OK2SAI OK2SAR OK2SFO OK2SFP OK2SG OK2SGW OK2SGY OK2SI OK2SK OK2SKP OK2SLS OK2SPD OK2SSD OK2SVL OK2SW OK2SWD OK2TBC OK2TC OK2TDM OK2TEO OK2TPS OK2TRN OK2TS OK2U OK2UFB OK2UHP OK2UIN OK2UM OK2UVX OK2UZ OK2VA OK2VK OK2VWB OK2VX OK2VZE OK2W OK2WED OK2WKW OK2WM OK2WO OK2WY OK2WYK OK2XRW OK2YT OK2YZ OK2ZAK OK2ZAW OK2ZC OK2ZD OK2ZDL OK2ZI OK2ZO OK2ZU OK2ZV OK2ZW OK3AA OK3C OK3DN OK3KK OK3M OK3MAD OK3R OK3VM OK3W OK4AS OK4AZ OK4BX OK4DZ OK4FD OK4M OK4MM OK4N OK4PA OK4RQ OK4U OK4W OK5AA OK5AD OK5CW OK5IM OK5M OK5MK OK5MM OK5MN OK5OK OK5R OK5SA OK5SAZ OK5SWL OK5TFC OK5TK OK5TM OK5W OK5XX OK5ZH OK6AB OK6AY OK6CX OK6DJ OK6DX OK6K OK6MA OK6T OK6TW OK6Y OK7B OK7CM OK7CW OK7D OK7FL OK7GU OK7K OK7M OK7MD OK7MK OK7MT OK7N OK7O OK7PJ OK7PY OK7R OK7RJ OK7RY OK7SX OK7TB OK7U OK7WA OK7X OK7XX OK7Y OK8ACS OK8DCC OK8DD OK8DF OK8RA OK8RE OK8WW OK8YD OL0A OL0E OL0L OL0W OL16BND OL1A OL1B OL1C OL1M OL1S OL1X OL25LP OL26LP OL2A OL2N OL2T OL2U OL2X OL3A OL3M OL3R OL3X OL3Y OL3Z OL4A OL4M OL4W OL5K OL5M OL5Q OL5R OL5T OL5Y OL6M OL6P OL6W OL6X OL73NR OL7C OL7D OL7G OL7H OL7M OL7O OL7P OL7R OL7S OL7T OL8M OL8R OL8W OL9HQ OL9M OL9R OL9S OL9Z OM0A OM0ATP OM0M OM0R OM0TT OM0WR OM1ADM OM1AF OM1ATW OM1AW OM1AX OM1BM OM1HI OM1II OM1PD OM1TD OM1VA OM1XQ OM2AD OM2AK OM2ALA OM2AM OM2AW OM2BJ OM2CS OM2FY OM2IB OM2TB OM2VL OM2WX OM2XW OM2ZZ OM3AG OM3BA OM3BH OM3BY OM3CAQ OM3CDN OM3CEA OM3CGN OM3CHO OM3CPF OM3CUG OM3CW OM3DX OM3ED OM3EK OM3EQ OM3EY OM3FR OM3FZ OM3GI OM3IAG OM3ID OM3JA OM3JW OM3KFF OM3KJH OM3KWZ OM3KXX OM3KZA OM3LA OM3LK OM3LL OM3LS OM3LU OM3MB OM3MM OM3MV OM3NA OM3NI OM3OM OM3PA OM3PC OM3PQ OM3PR OM3QQ OM3R OM3RDX OM3RJB OM3RM OM3RMM OM3RRC OM3SEM OM3SG OM3SX OM3TB OM3TLE OM3TPN OM3TWM OM3TYC OM3TZO OM3X OM3YAD OM3YCA OM3YDX OM3YFT OM3ZBG OM3ZWA OM4A OM4AAS OM4ADR OM4ANJ OM4AY OM4CX OM4DA OM4DN OM4DU OM4DW OM4EX OM4F OM4J OM4JD OM4KW OM4PD OM4RF OM4TC OM4TW OM4W OM4WW OM4XA OM5AGM OM5ALC OM5CD OM5CM OM5CW OM5DP OM5DX OM5EA OM5FA OM5GU OM5KM OM5KP OM5LD OM5LR OM5M OM5MF OM5MO OM5MX OM5MZ OM5NA OM5NL OM5NU OM5RM OM5TX OM5UM OM5VS OM5X OM5ZW OM60KAP OM6A OM6AC OM6AL OM6AR OM6AT OM6AVK OM6CI OM6FM OM6JK OM6KW OM6MS OM6MT OM6MW OM6NM OM6P OM6PR OM6RK OM6SM OM6T OM6TC OM6TX OM7A OM7AB OM7AG OM7AT OM7AW OM7AX OM7CA OM7CG OM7CM OM7CW OM7DX OM7GW OM7KW OM7M OM7OB OM7OM OM7PY OM7RC OM7RR OM7RU OM7SR OM7TJ OM7TQ OM7YC OM7YL OM7ZM OM8A OM8AA OM8AHI OM8AMF OM8AQ OM8ART OM8AW OM8DD OM8FF OM8HG OM8JP OM8KW OM8LA OM8MM OM8ON OM8PG OM8RA OM8SL OM8TA OM9ACA OM9AJP OM9AMM ON1708M ON3AB ON3AD ON3AR ON3BZ ON3CCM ON3CQ ON3CYV ON3DI ON3DV ON3ED ON3EEF ON3EZ ON3FZT ON3GEO ON3GL ON3JF ON3JPA ON3KBY ON3KMJ ON3LBS ON3LX ON3ME ON3MI ON3MN ON3MT ON3ND ON3OG ON3OMD ON3OPA ON3OY ON3POL ON3RBJ ON3RPL ON3RR ON3TD ON3TO ON3URT ON3VBJ ON3VHF ON3VRT ON3VS ON3VW ON3VY ON3WAB ON3WJ ON3WLS ON3XXX ON3YV ON4ABL ON4ACW ON4AEF ON4AEK ON4AEM ON4AEY ON4AHF ON4ALJ ON4ALY ON4AMC ON4AMI ON4AMY ON4AN ON4ANL ON4ANL/P ON4AOI ON4ARJ ON4ARL ON4AST ON4ATA ON4ATW ON4AVG ON4AVZ ON4AWW ON4AXU ON4AYQ ON4AZL ON4BAG ON4BEN ON4BHP ON4BHQ ON4BR ON4BV ON4BX ON4CAB ON4CAS ON4CAU ON4CCC ON4CCN ON4CCU ON4CD ON4CDZ ON4CHK ON4CHN ON4CHP ON4CIS ON4CJR ON4CKE ON4CLF ON4CLQ ON4CP ON4CT ON4CZ ON4DA ON4DAP ON4DN ON4DY ON4ED ON4EI/EI ON4FG ON4FI ON4GG ON4GL ON4GO ON4HVO ON4IA ON4IBM ON4IG ON4IQ ON4IT ON4JM ON4JPB ON4KBZ ON4KCY ON4KEB ON4KEP ON4KGL ON4KLG ON4KMB ON4KML ON4KN ON4KSC ON4LBI ON4LCI ON4LCX ON4LDH ON4LDP ON4LDU ON4LEX ON4LFN ON4LG ON4LN ON4LO ON4LWX ON4MA ON4MW ON4ND ON4NOK ON4OL ON4OLE ON4ON ON4OS ON4PAL ON4PJA ON4PO ON4QX ON4RK ON4RO ON4SV ON4TC ON4TO ON4TOM ON4TTT ON4UN ON4UP ON4UQ ON4UW ON4VDV ON4VMA ON4VQ ON4WE ON4WIY ON4WW ON4XG ON4XJ ON4YN ON5AFB ON5ARY ON5CMB ON5DC ON5DH ON5DJ ON5EU ON5EX ON5GA ON5GF ON5GQ ON5GY ON5HF ON5HR ON5HY ON5JD ON5JT ON5KDX ON5KQ ON5LA ON5LGS ON5LO ON5MQ ON5NT ON5PO ON5QD ON5RA ON5RV ON5RZ ON5RZ/P ON5SD ON5SV ON5SY ON5TC ON5TO ON5TQ ON5UJ ON5UK ON5VL ON5WL ON5WQ ON5ZO ON65CLM ON6AB ON6BR ON6BU ON6DK ON6DP ON6EF ON6FC ON6FT ON6GV ON6HV ON6HZ ON6IP ON6LEO ON6LR ON6LS ON6LY ON6MG ON6MR ON6NL ON6NP ON6NW ON6OM ON6PF ON6PQ ON6PW ON6QG ON6QH ON6QO ON6QP ON6RJ ON6SA ON6SI ON6SM ON6SX ON6UC ON6UD ON6UF ON6UL ON6VL ON6WP ON6WR ON6XG ON6YH ON6YX ON6YYY ON6ZM ON6ZV ON769MS ON7AA ON7AAU ON7ARQ ON7BBR ON7BJ ON7BM ON7BT ON7CC ON7CD ON7CK ON7CL ON7CX ON7DDG ON7DR ON7DY ON7EE ON7EH ON7EQ ON7GB ON7GO ON7GR ON7HM ON7IDX ON7JA ON7JM ON7JV ON7KB ON7KC ON7KEC ON7NT ON7ON ON7PM ON7PP ON7PQ ON7PS ON7RU ON7SS ON7TG ON7TWA ON7UI ON7USB ON7UZ ON7VD ON7VMR ON7WB ON7WW ON7XD ON7YX ON7ZM ON8AJ ON8AM ON8AR ON8BB ON8BV ON8DM ON8EA ON8LDS ON8MT ON8NT ON8SL ON8VK ON8VM ON8VP ON8VT ON8WF ON8WW ON8XT ON8ZT ON9CCS ON9CSV OO0A OO2T OO4O OO4P OO4T OO5D OO5G OO5P OO5S OO5Z OO6C OO6U OO7K OO7W OO9O OP0HQ OP0P OP1A OP2A OP4A OP4B OP4D OP4F OP4K OP4L OP4T OP5N OP5T OP6A OP6T OP7A OP7B OQ3R OQ4A OQ4B OQ4T OQ4U OQ5A OQ5M OQ7Q OQ7T OR0A OR0OST OR1T OR1Z OR2A OR2F OR2M OR2R OR2T OR4A OR4R OR4U OR4W OR5EU OR5N OR6C OR7Z OS0S OS2A OS2T OS4U OS5N OS6C OS7A OS8A OT1A OT2A OT2B OT2C OT2X OT3A OT3T OT4A OT4P OT5A OT5P OT5T OT5W OT6E OT6T OT7E OT7G OT7N OT7T OT7X OU2P OU3A OU4O OU7X OV1A OV3X OV5A OX2A OX3XR OX5AA OX8XX OY1CT OY2J OY3AA OY3JE OY3QN OY4M OY6A OY9JD OY9R OZ0A OZ0MF OZ0MJ OZ0TE OZ0W OZ1AAR OZ1ACB OZ1ADL OZ1AGN OZ1AXG OZ1BCG OZ1BTE OZ1BXG OZ1BZJ OZ1CCM OZ1CJS OZ1CTK OZ1CWH OZ1DGQ OZ1DSD OZ1DYI/P OZ1DZ OZ1EDR OZ1FAO OZ1GCT OZ1GML OZ1HHH OZ1HQ OZ1HUE OZ1HYI OZ1IEZ OZ1IKW OZ1IKY OZ1ING OZ1JFK OZ1JTE OZ1JU OZ1JVX OZ1KEF OZ1KGV OZ1KJG OZ1KKH OZ1KSN OZ1KVM OZ1LCG OZ1LFI OZ1LNL OZ1LO OZ1LXJ OZ1NF OZ1XV OZ1ZE OZ2A OZ2ABI OZ2AKM OZ2AR OZ2BKK OZ2CVT OZ2DAN OZ2HT OZ2PBS OZ2RH OZ2SPACE OZ2TF OZ2U OZ3ABU OZ3ANT OZ3BJ OZ3EN OZ3SA OZ3SK OZ3SM OZ3SW OZ4ACK OZ4B OZ4CG OZ4EU OZ4FA OZ4FF OZ4M OZ4NA OZ4O OZ4RT OZ4UN OZ4VV OZ4VW OZ5AGJ OZ5BD OZ5D OZ5DSB OZ5DX OZ5E OZ5ESB OZ5EV OZ5GX OZ5HZ OZ5JC OZ5KU OZ5NJ OZ5RM OZ5TL OZ5UR OZ5W OZ5WQ OZ6ABL OZ6AGD OZ6AGX OZ6EI OZ6OM OZ6TL OZ7A OZ7AEI OZ7AKT OZ7AM OZ7BQ OZ7DK OZ7DN OZ7EA OZ7HAM OZ7HT OZ7IF OZ7KU OZ7NB OZ7OX OZ7RQ OZ7SMJ OZ7TTT OZ7UV OZ7X OZ7XE OZ7YL OZ7YY OZ8A OZ8ABE OZ8BZ OZ8CT OZ8EA OZ8PG OZ8PI OZ8SW OZ9KZ OZ9V P29CW P29NB P29TL P33W P39P P3F P3J P3M P3N P40A P40HQ P40K P40L P40LE P40N P40Q P40R P40TA P40V P40W P40Y P40YL P41M P41V P41YL P43A P43E P43JB P48AA P48ADI P49MR P49V P49X P49Y PA09CC PA0A PA0AA PA0ABM PA0ADP PA0AGA PA0AKN PA0ASD PA0ATG PA0ATY PA0AWH PA0B PA0BW PA0BWL PA0CAH PA0CGB PA0CKV PA0CMU PA0COR PA0CYW PA0DDB PA0DIN PA0DVD PA0DVM PA0ELS PA0EMO PA0END PA0FAW PA0FEI PA0FLE PA0GJV PA0GKO PA0GMM PA0GMS PA0GRU PA0HOR PA0HRM PA0HWB PA0IA PA0IJM PA0INA PA0JED PA0JHM PA0JNH PA0JSE PA0KT PA0LEG PA0LOU PA0LRK PA0LSK PA0M PA0MAW PA0MBD PA0MIR PA0MJM PA0O PA0PFW PA0PSA PA0PVW PA0QRB PA0QX PA0RBA PA0RBO PA0RDY PA0RHA PA0RRA PA0SAR PA0SDZ PA0SKP PA0SNG PA0SON PA0TCA PA0VAJ PA0VDV PA0VHA PA0VST PA0W PA0WDG PA0WKI PA0WLB PA0WMR PA0WRS PA0WTO PA0WYS PA100BEVER PA1A PA1AK PA1APW PA1AT PA1AW PA1B PA1BBO PA1BDO PA1BK PA1BOB PA1BR PA1BX PA1CC PA1CM PA1CPA PA1CW PA1DK PA1DV PA1FOC PA1FR PA1H PA1HCB PA1HEM PA1HR PA1JHP PA1K PA1M PA1MR PA1MV PA1MVL PA1NHZ PA1NL PA1PAT PA1PDM PA1PE PA1PT PA1PT/P PA1RF PA1RVL PA1T PA1TK PA1TO PA1TT PA1TX PA1UL PA1VC PA1W PA1WLB PA1X PA1XA PA2A PA2ALF PA2AM PA2AWU PA2C PA2CHM PA2CVD PA2DW PA2F PA2GJ PA2GP PA2IP PA2JWN PA2KHN PA2KW PA2LO PA2LS PA2MI PA2MRT PA2N PA2NJC PA2PCH PA2PDV PA2PKZ PA2PRU PA2R PA2REH PA2RU PA2RUS PA2SAM PA2SWL PA2TB PA2V PA2W PA2WO PA30IPA PA3A PA3AAV PA3ABH PA3ADJ PA3AFF PA3AGF PA3AIN PA3AJH PA3AJN PA3AJW PA3AKP PA3ALK PA3ALY PA3AM PA3ANN PA3AO PA3AQL PA3AQY PA3ARK PA3ARM PA3ATN PA3ATP PA3AWW PA3BFH PA3BFS PA3BGQ PA3BQC PA3BWD PA3BWK PA3BWS PA3C PA3CAL PA3CDN PA3CEV PA3CJF PA3CJP PA3CLQ PA3CMF PA3CNI PA3CSG PA3CTA PA3CUI PA3CVI PA3CVJ PA3CVR PA3DAT PA3DBH PA3DBS PA3DCX PA3DDP PA3DFG PA3DGH PA3DHR PA3DOB PA3DRL PA3DTR PA3DZF PA3EBP PA3ECJ PA3EEG PA3EKE PA3ELQ PA3EMN PA3EQO PA3ERY PA3ESO PA3EVY PA3EWG PA3EWP PA3EZC PA3FKN PA3FMC PA3FNB PA3FOE PA3FQA PA3FRD PA3FTX PA3FYG PA3FYI PA3GBI PA3GBQ PA3GCV PA3GDD PA3GDY PA3GEO PA3GGB PA3GGD PA3GGW PA3GJU PA3GMM PA3GPP PA3GPT PA3GQF PA3GQG PA3GVI PA3GWN PA3GXT PA3HAH PA3HCC PA3HCD PA3HCF PA3HFG PA3HFJ PA3HGF PA3HGP PA3HGY PA3HHE PA3HHT PA3HIJ PA3HK PA3HPY PA3HS PA3JD PA3JDV PA3KVE PA3MET PA3MM PA3MR PA3N PA3PCV PA3RB PA3RW PA3S PA3T PA3TON PA3TOP PA3WB PA3YH PA40MIR PA44N PA4AO PA4AR PA4B PA4CHE PA4DO PA4F PA4HF PA4JJ PA4LA PA4MRS PA4N PA4NIC PA4PS PA4SDV PA4T PA4VHF PA4WG PA50RNARS PA5A PA5CW PA5F PA5GU PA5HJ PA5J PA5JSB PA5KT PA5LV PA5MS PA5O PA5P PA5PR PA5RG PA5TT PA5V PA5VK PA5VL PA5W PA5WT PA5YL PA600MIR PA6HQ PA6OI PA6V PA6Z PA7A PA7BAS PA7CG PA7DW PA7F PA7FA PA7HPH PA7J PA7JM PA7JS PA7JWC PA7KG PA7LV PA7LZ PA7MM PA7N PA7OB PA7PA PA7PTT PA7PYR PA7RA PA7TWO PA7UL PA7WB PA7WW PA7YI PA7ZZ PA8F PA8KW PA8N PA8TWN PA9CC PA9CW PA9DD PA9HR PA9JO PA9LUC PA9M PA9MR PA9P PA9RD PA9RZ PB0ACU PB0AEX PB0AEZ PB0AMU PB0P PB1TT PB2JJ PB2T PB2X PB5T PB5WIM PB65BP PB6W PB7CW PB7XYL PC25DIG PC2A PC2C PC2F PC2J PC4T PC4U PC5M PC5W PC5WDB PC7R PC7T PC8E PD05CW PD0ADR PD0AG PD0ARI PD0BOR PD0DJB PD0DK PD0EJN PD0EMR PD0GAB PD0HD PD0HF PD0HM PD0HQF PD0JHM PD0JMH PD0JNG PD0LBH PD0LDC PD0LG PD0LGG PD0LUR PD0MBY PD0MD PD0MHZ PD0MLO PD0MM PD0MNF PD0OQV PD0OYF PD0PVL PD0RKA PD0RKC PD0ROC PD0RS PD0RXP PD0SCY PD0SV PD0TB PD0WR PD1ABO PD1AIH PD1AIV PD1ALW PD1ARM PD1D PD1DX PD1EHA PD1EN PD1EVL PD1KSA PD1MVL PD1RP PD1SA PD1TV PD1UAR PD2ATG PD2AVE PD2DX PD2EDR PD2GCM PD2GJS PD2GSP PD2HT PD2J PD2JAM PD2LLS PD2PKM PD2R PD2RKG PD2SO PD2YL PD3ALX PD3ATM PD3BVI PD3DX PD3EM PD3GO PD3GSN PD3GVA PD3HB PD3LHS PD3MDM PD4BAS PD4DX PD4HDB PD4JP PD4NYS PD4SAM PD4U PD4X PD5B PD5CW PD5DJ PD5GO PD5JFK PD5L PD5LKM PD5LO PD5MJF PD5RS PD5URK PD5X PD602YL PD6W PD7BZ PD7CJT PD7EAT PD7MER PD7RB PD7TWO PD9BM PD9DX PD9FDG PD9FER PD9FJ PD9GD PD9HVS PD9NR PD9W PD9Y PE0MVJ PE0NYJ PE0VT PE1AUV PE1B PE1CIM PE1CPJ PE1CVJ PE1CZG PE1DAB PE1DH PE1DTU PE1ER PE1EWR PE1FNW PE1FTV PE1FZK PE1GRJ PE1GWX PE1HB PE1HWO PE1IWT PE1JMN PE1JRP PE1KL PE1LGZ PE1LTY PE1LUB PE1MMZ PE1MPA PE1NAO PE1NBD PE1NCP PE1NGR PE1ODY PE1OLM PE1OPK PE1OUL PE1OXP PE1OXS PE1OYB PE1PGA PE1RDP PE1RF PE1RIK PE1RLF PE1RUS PE25KP PE2AE PE2CML PE2EMS PE2HD PE2HHN PE2JMR PE2KM PE2KP PE2KY PE2LZ PE2MC PE2MEV PE2RPS PE2T PE2TET PE3HG PE4AD PE4BAS PE5ENJ PE5T PE5TS PE7T PE7TG PE8ROB PE9GG PF0R PF0X PF1MO PF4T PF5X PF6WW PF7DKW PF7M PF7X PF9A PG1A PG1R PG2AA PG2D PG3N PG4DX PG4I PG5M PG6EL PG7A PG7V PH0AS PH0AW PH0JFL PH0Q PH100EL/P PH2A PH2M PH5C PH60PH PH7A PH7FE PH8GB PH9HB PI4AAG PI4AMF PI4AML PI4BRD PI4CC PI4CG PI4COM PI4D PI4DIG PI4DX PI4EDE PI4FRG PI4HQ PI4KGL PI4LWD PI4MRC PI4N PI4RCA PI4RCK PI4TIL PI4TUE PI4VHW PI4VPO PI4W PI4WLD PI4WNO PI4Z PI4ZI PI4ZOD PI65AAG PI65BRD PI9TP PJ2DX PJ2E PJ2HQ PJ2P PJ2T PJ4A PJ4E PJ4G PJ4K PJ4L PJ4LS PJ4NX PJ4R PJ4T PJ4X PJ5NA PJ7B PJ7MF PJ7UQ PP1CZ PP2RON PP5/OE9APV PP5AR PP5BI PP5BK PP5BZ PP5EG PP5IZ PP5JAK PP5JN PP5JY PP5KR PP5MQ PP5MS PP5TR PP5VK PP5VX PP5WG PP5XX PP7LL PP8ZAC PQ0F PQ4F PQ5B PR1T PR2B PR5D PR5W PR5Z PR7AA PR7AB PR7AF PR7AP PR7AR PR7AYE PR7CPK PR7DZ PR7GY PR7HR PR8ZX PS0F PS2T PS6T PS7DX PS7YL PS8CC PS8DX PS8ET PS8SP PT1A PT1Z PT2BW PT2CM PT2ZHA PT2ZXR PT3T PT4C PT5A PT5T PT5UN PT7AG PT7AZ PT7CG PT7DX PT7ZT PT8CWA PT8DX PT9PA PU1KGG PU1KYC PU2KLM PU2LEP PU2LGR PU2MJU PU2MTS PU2RKP PU2SDX PU2UEO PU2UTC PU2WDX PU3CAL PU3KNG PU3LYB PU3SVA PU4HUD PU5AAD PU5ATX PU5BIA PU5FJR PU5OGE PU5UAI PU8TEP PU9OSB PV2P PV8AA PV8ADI PV8DR PV8DX PV8RF PW1W PW2B PW2D PW2P PW5G PW7A PW7T PX2C PX2T PX5B PX5E PY0FF PY1CL PY1CMT PY1DHG PY1DX PY1HY PY1KN PY1ME PY1NB PY1NX PY1OW PY1RY PY1SX PY1WS PY1ZV PY2AAZ PY2AC PY2ADR PY2ARL PY2ASS PY2BK PY2BN PY2BRA PY2BRZ PY2BT PY2BW PY2DEZ PY2DJ PY2DU PY2DXX PY2DY PY2EB PY2EJ PY2EL PY2ELG PY2ESP PY2EU PY2EX PY2EYE PY2GA PY2GH PY2GMR PY2HAM PY2HL PY2HT PY2IAX PY2IQ PY2IU PY2KGB PY2KJ PY2KP PY2LEI PY2LSM PY2MNL PY2MPG PY2MR PY2MTS PY2MTV PY2NA PY2NB PY2NDX PY2NFE PY2NY PY2OE PY2OX PY2PT PY2QA PY2RDZ PY2RH PY2SBY PY2SEI PY2SEX PY2SF PY2SHF PY2SRB PY2TEL PY2TI PY2TIM PY2TO PY2UDX PY2UN PY2VA PY2VFU PY2VM PY2VZ PY2WAS PY2WB PY2WC PY2WL PY2XAT PY2XB PY2XC PY2XTA PY2YP PY2YU PY2ZA PY2ZK PY2ZR PY2ZXU PY2ZY PY3APY PY3ATR PY3AU PY3CAL PY3DX PY3EAM PY3FBI PY3FF PY3FOX PY3IP PY3KIM PY3KN PY3MHZ PY3NZ PY3OG PY3OL PY3OPP PY3PA PY3SB PY3TIO PY3UA PY3UEB PY3VB PY3VK PY3YD PY4BW PY4DEL PY4FQ PY4LH PY4OG PY4OY PY4UM PY4XX PY4ZF PY4ZO PY5AKW PY5AP PY5BH PY5BLG PY5CA PY5DC PY5EW PY5FB PY5FO PY5GA PY5IP PY5JO PY5KA PY5KD PY5KW PY5LF PY5MJ PY5QW PY5RB PY5TJ PY5XH PY5ZD PY5ZHP PY6HD PY6KW PY6KY PY6PRS PY7AHA PY7GK PY7OJ PY7RP PY7VI PY7XC PY7ZBK PY7ZY PY7ZZ PY8MGB PZ1AP PZ5M PZ5RA PZ5TT PZ5X PZ5Z R0HQ R100MAR R1ANB R1ANC R1ANP R1ANR R1ANY R2DW R3/AL1G R3/K5WA R3/K9GY R3/SM6LRR R3/UY0YU R3AA R3AR R3AT R3FF R3HQ R3K R3KM R3QX R3ZV R4/UN6P R4/UT5UDX R4WAA R5ACQ R6LA R7FF R7HF R7LV R85NN R8TX R9FM R9FT R9SA R9WW RA0AA RA0ACM RA0AM RA0ANO RA0AR RA0AY RA0BA RA0CAH RA0CL RA0CY RA0FLP RA0FU RA0FZ RA0JBL RA0JY RA0LE RA0LG RA0LL RA0LV RA0QC RA0QD RA0QQ RA0SF RA0SMS RA0SS RA0SU RA0UF RA0WHE RA0WU RA0ZN RA1AEI RA1AFR RA1AG RA1AGG RA1AGL RA1AGU RA1AIE RA1AIP RA1AKR RA1AL RA1ALZ RA1AOB RA1AOP RA1AR RA1AUW RA1AW RA1CF RA1CP RA1CW RA1OD RA1OGP RA1OHX RA1OJ RA1OW RA1OZ/1 RA1QA RA1QAX RA1QCZ RA1QD RA1QDP RA1QFY RA1QG RA1QGK RA1QGO RA1QGW RA1QIH RA1QIT RA1QJA RA1QN RA1QQ RA1QR RA1QX RA1QY RA1TU RA1TV RA1WJ RA1WZ RA1ZZ/3 RA2FAC RA2FB RA2FCE RA2FDX RA2FF RA2FG RA2FIA RA2FN RA2FU RA2FV RA2FX RA3AA RA3AD RA3AGF RA3AGN RA3AH RA3AJ RA3AN RA3ANI RA3APN RA3ATE RA3ATX RA3AUM RA3AV RA3AWO RA3AWW RA3AX RA3BB RA3BQ RA3BQ/3 RA3BT RA3BZ RA3CM RA3CO RA3CQ RA3DA RA3DBK RA3DCT RA3DEQ RA3DGH RA3DH RA3DNC RA3DRC RA3DRI RA3DTH RA3DTN RA3DW RA3DX RA3DXU RA3EA RA3EC RA3ED RA3EF RA3EG RA3EM RA3EW RA3FC RA3FD RA3FF RA3FH RA3FO RA3GAS RA3GFG RA3GJ RA3GN RA3GP RA3ICK RA3ID RA3IS RA3LAL RA3LB RA3LBG RA3LDP RA3LG RA3LJ RA3LO RA3LZ RA3MAV RA3MB RA3MD RA3MQ RA3MR RA3MU RA3NAN RA3NC RA3NF RA3NK RA3NN RA3NU RA3NZ RA3OE RA3OO RA3OW RA3PQ RA3PS RA3PW RA3QG RA3QH RA3QJ RA3QN RA3QPT RA3QPY RA3QSY RA3RBL RA3RCL RA3RDW RA3RGD RA3RGQ RA3RIU RA3RK RA3RLP RA3RN RA3RNN RA3RPS RA3RUF RA3RVZ RA3SI RA3SL RA3SS RA3ST RA3SX RA3TA RA3TAC RA3THN RA3TJX RA3TT RA3TUE RA3TUT RA3TV RA3TVL RA3TYL RA3UAG RA3UF RA3UT RA3VE RA3VE/3 RA3VFM RA3VGS RA3VHO RA3VKU RA3VLD RA3VMJ RA3VR RA3WCG RA3WEU RA3WJ RA3WP RA3WUG RA3XA RA3XAR RA3XCW RA3XCZ RA3XDX RA3XE RA3XEV RA3XI RA3XM RA3XO RA3XP RA3YAO RA3YBU RA3YC RA3YZ RA3ZA RA3ZC RA3ZH RA3ZOM RA3ZZ RA4AAJ RA4AAO RA4ACX RA4AFZ RA4AR RA4CA RA4CBN RA4CC RA4CKC RA4CP RA4CQ RA4CSP RA4CVT RA4CW RA4FAU RA4FDY RA4FJV RA4FP RA4FUN RA4FUT RA4FW RA4FWA RA4FY RA4HBS RA4HFE RA4HGN RA4HL RA4HMT RA4HO RA4HPA RA4HT RA4HX RA4LBS RA4LF RA4LK RA4LW RA4LZ RA4NCC RA4NF RA4NX RA4PD RA4PI RA4PKI RA4PNO RA4PO RA4POX RA4PR RA4PUT RA4RT RA4SE RA4ST RA4UAT RA4UF RA4UVK RA4WA RA4WC RA4YEW RA6AAW RA6ABC RA6AF RA6AMO RA6AQV RA6AR RA6ARI RA6AX RA6AZ RA6CU RA6CZ RA6DB RA6DE RA6DT RA6EE RA6FG RA6FHY RA6FP RA6FP/6 RA6FPV RA6FQL RA6FRL RA6FSZ RA6FUZ RA6FV RA6FZ RA6GW RA6HCN RA6HDI RA6HJA RA6HJR RA6HPL RA6HSM RA6LBS RA6LOO RA6LW RA6MA RA6MQ RA6MS RA6MT RA6UAR RA6UH RA6XB RA6XE RA6XMF RA6XPG RA6XQQ RA6XR RA6XV RA6YBW RA6YDX RA6YJ RA7A RA9A RA9AAA RA9AB RA9AC RA9ACS RA9AE RA9AFZ RA9AKI RA9AMO RA9AN RA9AP RA9AU RA9AY RA9CB RA9CCO RA9CDW RA9CEX RA9CIN RA9CKM RA9CKQ RA9CMO RA9CNF RA9DR RA9DZ RA9FAA RA9FEL RA9FEU RA9FHL RA9FLW RA9FN RA9FR RA9FW RA9HL RA9HM RA9HO RA9JB RA9JBA RA9JG RA9JM RA9JP RA9JR RA9KM RA9KY RA9LE RA9LT RA9LZ RA9MC RA9MGX RA9MJ RA9MLR RA9MLX RA9MU RA9MX RA9OBG RA9QBQ RA9RR RA9SAS RA9SB RA9SC RA9SF RA9SG RA9SK RA9SKL RA9SN RA9SPF RA9ST RA9SUF RA9UAD RA9UAG RA9UGU RA9UIV/9 RA9ULK RA9UN RA9USU/3 RA9UT RA9WD RA9WU RA9WV RA9WW RA9XE RA9XF RA9XSL RA9XU RA9XV RA9YAI RA9YN RC3W RC4AA RC4Q RC7F RC8I RC9F RC9JWR RC9O RD0C RD1AL RD1AN RD1AW RD3A RD3AAD RD3AB RD3ABN RD3AD RD3AF RD3AJB RD3AL RD3AN RD3AP RD3ATT RD3AW RD3AY RD3BE RD3BV RD3BW RD3BY RD3BZ RD3DD RD3DG RD3DS RD3DT RD3DY RD3FF RD3FI RD3FT RD3FX RD3FY RD3MA RD3MM RD3MR RD3PM RD3PO RD3PX RD3QX RD3WA RD3WAR RD3WF RD3ZC RD3ZF RD3ZW RD4HD RD4HF RD4WA RD4WM RD6LP RD6MA RD6MF RD9CX RF3C RF3P RF3T RF4M RF4N RF4S RF9M RF9W RG3K RG6G RG9A RJ3AA RJ3AM RK0AB RK0BWW/0 RK0LWW RK0QWT RK0QZ RK0SA RK0SK RK0SP RK0SXF RK0SXR RK0UN RK0UT RK1AA RK1AD RK1AM RK1AO RK1AR RK1AX RK1NA RK1NWA RK1OWA RK1OWZ RK1OZM RK1PWA/3 RK1QWX RK2FWA RK2FWN RK2FXG RK3ANL RK3AO RK3AQW RK3AWA RK3AWE RK3AWK RK3AWL RK3AX RK3BA RK3BX RK3DH RK3DK RK3DOJ RK3DS RK3DSW RK3DT RK3DU RK3DWH RK3DWR RK3DXS RK3DXW RK3DXZ RK3DZB RK3DZD/P RK3DZF RK3DZH RK3ER RK3EWW RK3EXA RK3FJ RK3FM RK3FQ RK3FWA RK3FWE RK3FWI RK3FY RK3GWW RK3GYM RK3IM RK3IWB RK3K RK3MWC RK3MWD RK3MWI RK3MWL RK3MXT RK3MXT/P RK3PA RK3PWJ RK3QS RK3QWA RK3QWM RK3QWW RK3QY RK3QZ RK3RB RK3RWA RK3RX RK3RZM RK3SWB RK3SWS RK3TD RK3TS RK3VWA RK3VWB RK3XWO RK3YWW RK3YYQ RK3YZA RK3ZB RK3ZF RK3ZZ RK4CWQ RK4CYW RK4FAD RK4FB RK4FF RK4FM RK4FWX RK4HWW RK4HYT RK4LWA RK4NA RK4NAB RK4PA RK4PB RK4PK RK4SA RK4UWA RK4UWR RK4WWA RK4WWF RK4WWQ RK4YJ RK6AM RK6AQM RK6ASY RK6AWY RK6AX RK6AXS RK6BBZ RK6CC RK6CK RK6CM RK6DL RK6FS RK6FZ RK6HG RK6HWR RK6HWW RK6LC RK6LP RK6LWA RK6LZF RK6MY RK6XWA RK6YD RK6YY RK6YZZ RK8I RK9AA RK9ABJ RK9AD RK9AJZ RK9AK RK9AN RK9AWC RK9AWN RK9AWT RK9AX RK9AY RK9CWA RK9CWW RK9CYA RK9CZO RK9DC RK9DM RK9DO RK9DR RK9FBE RK9FWW RK9FYS RK9JWR RK9JWV RK9JWW RK9JXP RK9KWI RK9KWK RK9MWL RK9QWM RK9QWZ RK9SWM RK9SWY RK9UAC RK9UAH RK9UC RK9UE RK9UN RK9WZZ RK9XA RK9XM RK9XWA RK9XWO RK9XX RK9XXX RK9XZB RK9YWE RK9YWK RL3A RL3AA RL3AB RL3AF RL3AJ RL3AW RL3BB RL3BK RL3BK/3 RL3BM RL3BN RL3BZ RL3DD RL3DE RL3DF RL3DJ RL3DR RL3DX RL3DZ RL3F RL3FA RL3FM RL3FO RL3FT RL3FZ RL3KO RL3QWA RL3WL RL3WX RL3ZI RL4R RL6YXX RL9AA RM3F RM3M RM3Q RM3Z RM4HZ RM5A RM5D RM7M RM8W RM9RZ RN0CF RN0CT RN0CW RN0JJ RN0JX RN0SA RN0SRR RN0SS RN1AI RN1AJ RN1AN RN1AO RN1AQ RN1CC RN1CW RN1CX RN1NA RN1NEB RN1NEO RN1NU RN1NW RN1NY RN1ON RN1TA RN1TN RN2FA RN2FQ RN3AAB RN3AAB/3 RN3AC RN3ADV RN3AHL RN3AKK RN3AM RN3AMF RN3ANT RN3ARA RN3AU RN3AU/3 RN3AW RN3AZ RN3BO RN3BU RN3BW RN3CT RN3DAO RN3DAZ RN3DBA RN3DDR RN3DFN RN3DFS RN3DKE RN3DWW RN3DY RN3FA RN3FR RN3FS RN3FY RN3GA RN3GE RN3GL RN3GM RN3KK RN3KL RN3LA RN3OA RN3OK RN3QIS RN3QKC RN3QLM RN3QN RN3QO RN3QP RN3QQ RN3QVG RN3QY RN3RA RN3REA RN3REY RN3RF RN3RFX RN3RQ RN3RX RN3T RN3TT RN3ZC RN3ZHV RN3ZIC RN3ZIN RN3ZJJ RN3ZKD RN3ZOB RN3ZQ RN3ZR RN3ZRJ RN3ZX RN4AAD RN4ACX RN4AK RN4AO RN4AT RN4AX RN4CA RN4CC RN4CU RN4CU/0 RN4HA RN4HAB RN4HFJ RN4HGP RN4HIF RN4HJQ RN4HW RN4LL RN4LP RN4LR RN4NF RN4SC RN4SM RN4SN RN4SS RN4WA RN4ZT RN6A RN6AH RN6AI RN6AJ RN6AT RN6BM RN6BY RN6CD RN6DJ RN6DR RN6DV RN6FA RN6FJ RN6FK RN6FM RN6FZ RN6HDX RN6HZ RN6MA RN7A RN7F RN9AA RN9AA/9 RN9AUF RN9AWU RN9CM RN9CWJ RN9HM RN9HT RN9MA RN9MZ RN9RF RN9RM RN9S RN9SXX RN9XA RO3DX RO3T RO4W RO7M RO8WA RO9O RP2F RP3AF RP3G RP3QUP RP4M RP65DXS RP65Z RP6A RP9RP RQ9I RS3A RT0C RT3A RT3F RT3M RT3T RT4D RT4F RT4M RT4RO RT4W RT6A RT7D RT8O RT9S RT9W RU0AB RU0AE RU0AI RU0AKB RU0ANW RU0AT RU0AW RU0LI RU0LL RU0LQ RU0SN RU0ST RU0SU RU0UA RU0UQ RU1A RU1AA RU1AB RU1AO RU1AT RU1QD RU1QQ RU1QY RU2FAA RU2FL RU2FM RU3AA RU3AL RU3AT RU3BU RU3DBR RU3DD RU3DG RU3DM RU3DU RU3DVR RU3DX RU3EJ RU3EQ RU3FF RU3FF/6 RU3FN RU3FT RU3GA RU3GS RU3HD RU3KC RU3LA RU3MJ RU3MW RU3ON RU3OO RU3OP RU3OW RU3PU RU3PY RU3QR RU3QW RU3RM RU3RR RU3SD RU3SE RU3ST RU3TC RU3UB RU3UM RU3UN RU3UR RU3UW RU3VD RU3VV RU3WR RU3XB RU3XF RU3XK RU3XW RU3XY RU3XY/1 RU3YA RU3ZV RU3ZX RU4AW RU4CD RU4CO RU4CS RU4FA RU4HP RU4HU RU4LM RU4PU RU4SM RU4SO RU4SS RU4SU RU4SW RU4UR RU4WD RU4YES RU5A RU6AM RU6AN RU6AR RU6AV RU6AX RU6BR RU6CH RU6CQ RU6CT RU6DX RU6FA RU6FC RU6FZ RU6HJ RU6LA RU6LG RU6LWZ RU6M RU6MD RU6MM/1 RU6UR RU6YJ RU6YK RU6YY RU6YZ RU9AC RU9AT RU9AWA RU9AZ RU9BS RU9CC RU9CD RU9CI RU9CK RU9CM RU9CO RU9CWF RU9CWG RU9CX RU9CY RU9CZ RU9CZD RU9DD RU9HM RU9LA RU9MU RU9MX RU9SO RU9TO RU9UC RU9UG RU9UN RU9UWU RU9WB RU9WX RU9WZ RU9YF RV0AE RV0AL RV0AR RV0AU RV0AUI RV0CD RV0SR RV1AC RV1AE RV1AP RV1AQ RV1AT RV1CB RV1CC RV1OO RV2FW/1 RV2FZ RV3ACA/3 RV3AMV RV3AQN RV3ATS RV3AZ RV3BQ RV3BV RV3DB RV3DBG RV3DBK RV3DCZ RV3DHC RV3DND RV3DUT RV3EAK RV3F RV3FD RV3FF RV3FI RV3FM RV3FN RV3FU RV3GM RV3IC RV3ID RV3IG RV3LE RV3LO RV3LU RV3MA RV3MF RV3MI RV3ML RV3MR RV3NA RV3NB RV3PN RV3QJ RV3QO RV3QR RV3QX RV3RM RV3TG RV3WD RV3WT RV3YM RV3YN RV3YR RV3ZL RV3ZN RV3ZQ RV4AB RV4AP RV4CO RV4CT RV4CU RV4HC RV4HL RV4HV RV4LC RV4LS RV6AA/P RV6AAA RV6ACC RV6AF RV6AJ RV6AJJ RV6ALI RV6ARS RV6ASU RV6BC RV6BK RV6BO RV6FA RV6FG RV6HEO RV6HO RV6LA RV6LAF RV6LCI RV6LFE RV6LJK RV6LN RV6LO RV6LX RV6YB RV9AV RV9AZ RV9CBW RV9CM RV9CP RV9CPZ RV9CQ RV9CX RV9FQ RV9FT RV9JE RV9JR RV9LF RV9LM RV9LV RV9MA RV9MM RV9MN RV9MZ RV9OM RV9SQ RV9SV RV9UB RV9UD RV9UF RV9UP RV9WA RV9WB RV9WJ RV9WP RV9WZ RV9WZ/2 RV9XE RV9XM RV9XO RV9XQ RV9YK RV9YP RV9YW RV9YZ RV9YZ/9 RW0A RW0AA RW0AJ RW0AQ RW0AR RW0BG RW0BM RW0CF RW0CN RW0COA RW0CR RW0CV RW0CWA RW0LBM RW0LD RW0LL RW0LQ RW0LT RW0LZ RW0MM RW0SD RW0SP RW0SR RW0UB RW0UM RW0UU RW1AC RW1AI RW1AM RW1AU RW1CW RW1CX RW1QV RW1ZA RW2F RW2L RW2WR RW3AF RW3AFY RW3AI RW3DA RW3DC RW3DD RW3DF RW3DL RW3DOX RW3DU RW3DW RW3DY RW3FX RW3GU RW3LB RW3LL RW3LX RW3MA RW3MB RW3MW RW3PF RW3PK RW3PX RW3PZ RW3QF RW3QHN RW3QO RW3QW RW3RM RW3RQ RW3SB RW3SK RW3SU RW3SY RW3TA RW3TT RW3VA RW3VI RW3VM RW3VZ RW3WWW/1 RW3WX RW3XB RW3XM RW3XN RW3XS RW3XX RW3XZ RW3YA RW3YW RW3ZA RW3ZC RW4AA/9 RW4AD RW4AO RW4CBG RW4CHD RW4CLF RW4CY RW4FD RW4FE RW4FX RW4HB RW4HBG RW4HD RW4HFH RW4HM RW4HM/P RW4HO RW4HP RW4HT RW4LK RW4LQ RW4NH RW4NN RW4NO RW4NQ RW4NX RW4PK RW4PL RW4PP RW4PU RW4PY RW4W RW4WM RW4WN RW4WW RW4WY RW4WZ RW4YR RW4YY RW6AF RW6AH RW6AHO RW6ALB RW6AM RW6AMP RW6AN RW6ATJ RW6AX RW6BD RW6BJ RW6BN RW6CF RW6CR RW6CW RW6FO RW6FZ RW6HA RW6HA/6 RW6HJV RW6HJV/6 RW6HKF RW6HP RW6HPD RW6HX RW6LP RW6MBC RW6MII RW6MN RW6MT RW9AW RW9C RW9CD RW9CW RW9DW RW9DX RW9FWR RW9HA RW9IM RW9JD RW9JE RW9JZ RW9LL RW9MC RW9MZ RW9OC RW9OW RW9OWD RW9OWW RW9OX RW9QA RW9RA RW9RN RW9RO RW9RW RW9SZ RW9TA RW9TP RW9TR RW9UKU RW9UOB RW9USA RW9UU RW9UW RW9UX RW9UY RW9WA RW9WC RW9WT RW9WW RW9XF RW9YP RX0AK RX0AT RX0AW RX0QA RX0QWW RX0SA RX1AA RX1AO RX1AP RX1CD RX1CQ RX3AA RX3AEX RX3AGD RX3AGQ RX3AHR RX3AJ RX3ALL RX3AMG RX3AP RX3APM RX3ASQ RX3AT RX3AU RX3AW RX3BP RX3DBG RX3DBH RX3DFL RX3DIS RX3DN RX3DTM RX3DTN RX3DUE RX3FK RX3FS RX3FS/3 RX3FT RX3MA RX3MM RX3MX RX3OM RX3PR RX3QDF RX3QFY RX3QP RX3RA RX3RB RX3RZ RX3VA RX3VF RX3XA RX3XP RX3ZE RX3ZX RX4AW RX4CD RX4HX RX4HZ RX4HZZ RX4WX RX4YY RX6ABL RX6AH RX6AIC RX6AKA RX6AM RX6AMV RX6AOB RX6AUE RX6AY RX6BH RX6BS RX6BZ RX6CC RX6DM RX6DQ RX6DX RX6FJ RX6HT RX6LD RX6LE RX6LN RX6LOL RX6MR RX9AF RX9AI RX9AM RX9AON RX9AX RX9CAZ RX9CCJ RX9CDQ RX9CJ RX9DJ RX9FB RX9FG RX9FJ RX9FM RX9FR RX9FW RX9JD RX9JM/9 RX9JP RX9KD RX9LW RX9SA RX9SK RX9SL RX9SN RX9SR RX9SS RX9TL RX9TL/9 RX9TX RX9UL/3 RX9WN RX9WR RX9WX RY4I RY9C RZ0AF RZ0AM RZ0AWO RZ0CQ RZ0CWN RZ0LWA RZ0SB RZ0SN RZ0SO RZ0SR RZ0SZZ RZ0WWA RZ1AP RZ1AT RZ1AU RZ1AWG RZ1AWO RZ1AWT RZ1AWZ RZ1AZ RZ1OA RZ1OK RZ1OM RZ1ZZ RZ1ZZZ RZ3AAO RZ3ABC RZ3ABF RZ3AIA RZ3AIU RZ3AM RZ3AMW RZ3ARO RZ3ATE RZ3ATG RZ3AUL RZ3AV RZ3AWI RZ3AWM/3 RZ3AXX RZ3AZ RZ3BY RZ3DA RZ3DC RZ3DH RZ3DJ RZ3DSN RZ3DX RZ3DXR RZ3DZ RZ3DZA RZ3DZF RZ3DZI RZ3EC RZ3EE RZ3EM RZ3EV RZ3FH RZ3FR RZ3FR/3 RZ3FW RZ3GU RZ3GV RZ3LC RZ3LWW RZ3OV RZ3PS RZ3QL RZ3QS RZ3QWT RZ3QZ RZ3RM RZ3TXZ RZ3TZL RZ3TZZ RZ3VA RZ3VO RZ3VV RZ3XA RZ4AA RZ4AG RZ4AO RZ4AR RZ4AYN RZ4AZ RZ4CWW RZ4FA RZ4FB RZ4FO RZ4FWA RZ4FWE RZ4FZZ RZ4HL RZ4HO RZ4HWS RZ4HX RZ4HZW RZ4LA RZ4NXF RZ4PWL RZ4SWM RZ4WZ RZ6AD RZ6AK RZ6ARM RZ6AW RZ6BR RZ6BU RZ6FA RZ6FC RZ6HDX RZ6HF RZ6HV RZ6HWA RZ6HX RZ6LB RZ6LG RZ6LV RZ6LWZ RZ6LY RZ6MD RZ6MM RZ6MP RZ6YZ RZ9AE RZ9AN RZ9AW RZ9AY RZ9AZ RZ9CJ RZ9CW RZ9FN RZ9HA RZ9HG RZ9HK RZ9HT RZ9IR RZ9OJ RZ9OO RZ9OP RZ9OQ RZ9OS RZ9OW RZ9OWN RZ9OZO RZ9SR RZ9SWA RZ9SZ/9 RZ9UGN RZ9UI RZ9UMA RZ9UO RZ9UWZ RZ9WU RZ9WXK RZ9YB RZ9YF S50A S50AL S50B S50C S50D S50E S50G S50HQ S50IPY S50J S50K S50L S50NV S50O S50R S50U S50X S50XX S51A S51AD S51AE S51AU S51AY S51BO S51CAB S51CK S51D S51DF S51DI S51DV S51DX S51EC S51EP S51F S51FB S51HU S51IS S51IV S51J S51JQ S51K S51KV S51LU S51M S51MA S51ME S51MF S51NM S51NP S51NR S51NY S51NZ S51OE S51RE S51RJ S51RU S51SK S51SL S51ST S51SX S51TA S51TC S51TJ S51TN S51U S51UJ S51V S51W S51WO S51WX S51XA S51Z S51ZG S51ZZ S520A S52AL S52AU S52AW S52BB S52BM S52BT S52C S52CC S52DX S52F S52FW S52GO S52GP S52IC S52ID S52LW S52MZ S52OP S52OT S52P S52Q S52QM S52R S52RA S52ST S52TJ S52W S52WW S52X S52ZW S53A S53AF S53AK S53APR S53AR S53AU S53BB S53BH S53CC S53DA S53DIJ S53DRA S53DX S53EA S53EJ S53EO S53F S53FO S53G S53M S53MM S53NW S53O S53P S53QD S53R S53RA S53S S53SL S53SO S53V S53VP S53W S53XX S54A S54AA S54AO S54E S54G S54K S54L S54O S54W S54X S55A S55DX S55M S55N S55O S55OO S55SL S55T S55VM S55Y S55Z S55ZZ S56A S56AA S56B S56C S56DX S56EPX S56G S56IHX S56M S56P S56PYZ S56SD S56WPF S56WRT S56WYB S56X S56Y S56ZZZ S57A S57AC S57AD S57AJ S57AL S57AM S57AT S57AW S57AY S57C S57CV S57CW S57D S57DX S57EA S57ESG S57ET S57F S57GM S57J S57JA S57JZ S57KV S57L S57LC S57LR S57M S57MM S57MPU S57NAW S57NCP S57NEA S57NL S57NTR S57NW S57O S57OWA S57PM S57PY S57Q S57RL S57RTH S57S S57SU S57T S57U S57UN S57VW S57WJ S57WO S57WW S57X S57XX S57YX S57Z S58A S58AA S58AB S58AL S58AW S58D S58DX S58FA S58G S58J S58M S58MU S58N S58O S58P S58Q S58R S58RU S58T S58WW S58X S59A S59AA S59ABC S59AKR S59AR S59AV S59D S59DBC S59DDR S59DEM S59DJK S59DKR S59DR S59EIJ S59EKL S59H S59KB S59KM S59MA S59N S59O S59PC S59SV S59T S59TI S59V S59W S59X S59Z S59ZB S59ZZ S5D S79MI SA0AEK SA0AQT SA0BDK SA1A SA3A SA3ANZ SA3BGM SA3V SA4A SA4AQW SA4Z SA5ACL SA5ACR SA5ATV SA6AIN SA6AQP SA6BET SA6G SA6W SA7AOI SA7AUH SA7J SB0M SB6A SC3A SC3DX SC3N SC7DX SD0MN SD3A SD3D SD40JZ SD7X SE0X SE2A SE2T SE5E SE5S SE5T SE6C SE6E SE6N SE6U SE6W SE6Y SE7A SE800M SF0D SF0L SF0X SF3A SF3E SF5X SF6D SF6DX SF7WT SG0M SG0X SG1A SG3O SG4G SG5A SG5W SG5X SG6A SG6T SG7A SG7YL SH3O SI0E SI0M SI3A SI4G SI5S SI5Y SI6A SI6GM SI6R SI7V SI9AM SJ0X SJ2W SJ4F SJ6A SJ7M SK0CT SK0HB SK0QO SK0X SK2T SK3A SK3GM SK3GW SK3W SK4RY SK4TL SK5A SK5AA SK6AW SK6D SK6HD SK7A SK7AX SK7DX SK7OA SK9HQ SL0W SL5ZP SM0A SM0AIG SM0BDS SM0BSB SM0BSO SM0BYD SM0DTK SM0EPO SM0FM SM0GYX SM0IFP SM0IMJ SM0JHF SM0KRN SM0KV SM0MXO SM0NZY SM0Q SM0R SM0S SM0W SM0XG SM0Y SM0YRJ SM1ALH SM2BJS SM2CEW SM2CVH SM2EKA SM2EKM SM2ELN SM2JEB SM2JUR SM2LIY SM2M SM2MZC SM2ODB SM2T SM3AF SM3B SM3BDZ SM3BFH SM3BIZ SM3C SM3CCM SM3CZS SM3D SM3DMP SM3DXC SM3EAE SM3ETC SM3EVR SM3FVW SM3GBA SM3GSK SM3KIF SM3LBP SM3NFB SM3NRY SM3OKC SM3PHM SM3PZG SM3Q SM3R SM3RAB SM3RL SM3SJN SM3TLG SM3UZU SM3VAC SM3X SM3YBP SM4AIO SM4ASX SM4ATA SM4AZQ SM4C SM4CAN SM4CTT SM4EMO SM4F SM4OEP SM4PBT SM4RGD SM4RLD SM4TU SM4WKT SM4XFP SM50BFJ SM5ACQ SM5AOG SM5APS SM5AQD SM5AQI SM5ARL SM5BAX SM5BJT SM5BMB SM5BOK SM5BRG SM5BSB SM5C SM5CAK SM5CBM SM5CCE SM5CEU SM5CIL SM5CJW SM5CNQ SM5COP SM5CSS SM5CZQ SM5D SM5DD SM5DFF SM5DJZ SM5DKK SM5DQE SM5DXR SM5DXT SM5DYC SM5EDX SM5EFX SM5EJN SM5ENX SM5EPO SM5FQQ SM5FUG SM5GMZ SM5HPB SM5IMO SM5INC SM5ISM SM5J SM5LWC/7 SM5MEK SM5MX SM5NVF SM5OSZ SM5PEY/5 SM5Q SM5QU SM5R SM5SIK SM5SRR SM5T SM5U SM5USK SM5V SM5YOC SM5ZBJ SM6A SM6AHU SM6ALF SM6AOU SM6BGG SM6BSK SM6C SM6CKU SM6CMU SM6CNN SM6CPY SM6CRM SM6CTQ SM6CUK SM6CVT SM6CWK SM6DER/7 SM6DHU SM6DLY SM6E SM6EQO SM6FJY SM6FUD SM6GKT SM6GZ SM6IQD SM6JCC SM6JMZ SM6JWW SM6LIF SM6LJU SM6M SM6MCW SM6MIS SM6MSG SM6MVE SM6NET SM6NJK SM6NM SM6NOC SM6Q SM6TOL SM6U SM6V SM6VJA/P SM6VVT SM6W SM6WET SM6WZH SM6X SM6XKB SM6Z SM7ATL SM7AWQ SM7BGE SM7BHM SM7BIC SM7BJW SM7BQX SM7BVO SM7BZV SM7C SM7CBS SM7CIL SM7CQY SM7CTJ SM7CWI SM7DBN SM7DLK SM7DQV SM7DXQ SM7E SM7EH SM7EHU SM7GIB SM7GUY SM7GVF SM7HVQ SM7JKD SM7JNT SM7LPY SM7MPM SM7N SM7NGH SM7PEV SM7PXS SM7RPU SM7S SM7SJR SM7TZK SM7U SM7UFR SM7VZJ SM7VZX SM7YEA SM7YGZ SM7ZDI SN0HQ SN120OSP SN1918PR SN1A SN1C SN1I SN1J SN2009EM SN2B SN2F SN2I SN2J SN2K SN2L SN2M SN2MTBO SN2Q SN2S SN2U SN2Y SN2Z SN30J SN3A SN3B SN3C SN3O SN3Q SN3R SN3S SN3T SN3X SN40DVP SN40K SN4F SN4L SN4W SN50RS SN50RS/7 SN50SPP SN51FBQ SN5B SN5E SN5G SN5I SN5J SN5N SN5Q SN5T SN5Z SN6C SN6G SN6K SN6Z SN7C SN7F SN7H SN7O SN7P SN7Q SN7T SN8B SN8C SN8F SN8J SN8M SN8R SN8W SN90SW SN9A SN9C SN9D SN9F SN9G SN9I SN9K SN9L SN9M SN9N SN9O SN9P SN9Q SN9R SN9U SN9V SN9Y SN9Z SO1EKO SO1TH SO1WE SO2D SO2I SO2W SO4M SO4R SO5A SO5S SO6C SO6I SO6V SO6X SO70M SO7O SO80J SO8A SO8B SO8L SO8N SO8O SO8R SO8T SO9A SO9C SO9D SO9G SO9L SO9Q SO9R SO9S SP0PZK SP0ZHG SP1ADY SP1AEN SP1BLE SP1CQZ SP1DMD SP1DPA SP1EG SP1F SP1FFC SP1GZF SP1HJK SP1I SP1II SP1JPQ/P SP1JXJ SP1KAA SP1KCJ SP1KQR SP1KRF SP1KV SP1KZE SP1MAB SP1MHZ SP1MVG SP1MVL SP1MWF SP1MWK SP1MWN SP1NQN SP1NY SP1O SP1PWP SP1QXK SP1QY SP1RFC SP1RKR SP1RKT SP1S SP2010CY SP2AEK SP2AJO SP2ALT SP2AOB SP2AQP SP2AVE SP2AYC SP2B SP2BKX SP2BLC SP2BNJ SP2CYK SP2DDX SP2DKI SP2DMB/3 SP2DNI SP2DWA SP2DX SP2EPV SP2ESG SP2EWQ SP2EXE SP2EXN SP2FAP SP2FAV SP2FGO SP2FKE SP2FOV SP2FTL SP2FUD SP2FWC SP2GCE SP2GCJ SP2GJI SP2GJV SP2GLS SP2GMA SP2GTJ SP2GUV SP2GWH SP2HMN SP2HMT SP2HPD SP2HPM SP2HPM/7 SP2HWW SP2HXY SP2IKP SP2ILQ SP2IU SP2IW SP2JGQ SP2JL SP2JLR SP2JMB SP2KAC SP2KDS SP2KPD SP2KRS SP2LNW SP2LQP SP2LUB SP2MHC SP2MKI SP2MKZ SP2OVQ SP2PAQ SP2PIK SP2QCU SP2QCW SP2QG SP2QOT SP2RXG SP2SGN SP2SV SP2SWI SP2UKB SP2US SP2UUU SP2UV SP2WGB SP2WLB SP2Y SP2YUV SP3AGE SP3AOT SP3AZO SP3BGD SP3BHG SP3BJK SP3BQ SP3BVI SP3C SP3CFM SP3CGK SP3CJS SP3CQP SP3CYY SP3DIK SP3DOF SP3DOI SP3DRM SP3DSC SP3DVG SP3EPK SP3EPX SP3EQE SP3FHV SP3FPF SP3FUK SP3FYX SP3FZN SP3GAX SP3GEM SP3GHK SP3GRQ SP3GTS SP3GXH SP3HBF SP3HC SP3HLM SP3HRN SP3HZG SP3IOE SP3J SP3JHY SP3JIA SP3JUN SP3KPN SP3LAU SP3LD SP3LGF SP3LPG SP3LPR SP3LWP SP3LYN SP3MEY SP3MGM SP3MY SP3NEN SP3NNH SP3OCC SP3OL SP3PJY SP3PL SP3POZ SP3QYQ SP3RBG SP3RNZ SP3SLO SP3SLU SP3SPK SP3VSE SP3VT SP3VZY SP3WW SP3XR SP3YM SP3ZIR SP40EIY SP4AAZ SP4AVG SP4AWE SP4BEU SP4BOS SP4BPH SP4BY SP4CGJ SP4CJA SP4CPB SP4CQU SP4CUF SP4DDS SP4DEU SP4DM SP4DNX SP4DZT SP4FMD SP4GDC SP4GFG SP4GHL SP4GL SP4ICD SP4ICP SP4INT SP4IRS SP4JAE SP4JCP SP4JCQ SP4JFR SP4JTJ SP4JWR SP4K SP4KNA SP4KSY SP4LVK SP4LXC SP4MPG SP4MPH SP4NKJ SP4NKU SP4OIC SP4OIZ SP4OZ SP4PBI SP4SHD SP4TBM SP4TKB SP4TKO SP4TKR SP4TXI SP4XQN SP4YPB SP4Z SP50AAZ SP50DXC SP50XR SP5ADX SP5AGU SP5AHR SP5AHY SP5AKG SP5APW SP5ATO SP5AUY SP5AZN SP5BB SP5BLI SP5BMU SP5BNB SP5BR SP5BUJ SP5CCC SP5CFD SP5CGN SP5CIB SP5CJQ SP5CJY SP5CNA SP5CQI SP5DDF SP5DDJ SP5DIR SP5DPD SP5DRE SP5DRH SP5EAF SP5EAQ SP5ECC SP5ELA SP5ELA/8 SP5ELM SP5ELW SP5ENG SP5ENM SP5EOT SP5ES SP5EWX SP5EWX/7 SP5EWY SP5FKW SP5GDY SP5GH SP5GMM SP5GQI SP5GRM SP5GRU SP5HFS SP5HRX SP5ICS SP5IT SP5IXS SP5JSZ SP5JTF SP5KCR SP5KDK SP5KW SP5LM SP5LS SP5MBA SP5MDB SP5NHK SP5NN SP5NVX SP5NZA SP5NZN SP5PBE SP5PSL SP5PX SP5SA SP5TAZ SP5UAR SP5VYI SP5WA SP5X SP5XO SP5XOR SP5XOV SP5XSD SP5XSL SP5XVY SP5YOC SP6A SP6AAT SP6AEG SP6ARE SP6AUI SP6AXW SP6BAA SP6BBE SP6BEN SP6BSL SP6BXM SP6BXP SP6CCI SP6CDK SP6CZ SP6DAY SP6DHH SP6DMI SP6DNZ SP6DVP SP6EF SP6EIY SP6EKS SP6EWB SP6FEK SP6FHU SP6FVP SP6FXY SP6GCU SP6GNJ SP6GTN SP6HEQ SP6IEQ SP6IHE SP6IXU SP6JIR SP6JOE SP6JQC SP6JZP SP6KCN SP6KEP SP6LK SP6LMQ SP6LUV SP6LV SP6M SP6MLX SP6MQO SP6NIC SP6NIK SP6NVK SP6NVN SP6OJE SP6OJG SP6OJK SP6OPZ SP6OUJ SP6OWY SP6PCL SP6PKO SP6PLH SP6PWT SP6QKP SP6QKX SP6QNU SP6RBO SP6RGC SP6RLF SP6RT SP6RYD SP6SOX SP6T SP6TGD SP6TGR SP6TRH SP6TRX SP6VWC SP6WM SP6XP SP6ZC SP7ASZ SP7ATY SP7AWG SP7BCA SP7BDS SP7CCB SP7CDH SP7CVW SP7DBI SP7DCS SP7EBM SP7EXJ SP7FBQ SP7FDV SP7FGA SP7FGP SP7FRO SP7HKK SP7HOA SP7HOV SP7HQ SP7IDX SP7IIT SP7ISV SP7IWA SP7IXT SP7JLH SP7JOA SP7JQQ SP7LI SP7LIE SP7MC SP7MFQ SP7MFR SP7MJL SP7MJX SP7MOC SP7MTF SP7MTU SP7NHS SP7OGP SP7Q SP7QHR SP7QJB SP7SZW SP7TES SP7TEX SP7TF SP80MVG SP8AG SP8AJK SP8AWL SP8BAB SP8BBK SP8BMF SP8BQL SP8BRQ SP8BVN SP8BVO SP8BWE SP8CGU SP8CNS SP8DIP SP8EDD SP8EEX SP8FHM SP8FNA SP8GSC SP8HDP SP8HKT SP8HPW SP8HWM SP8HXN SP8IIS SP8IOV SP8IQR SP8JMA SP8JPR SP8KEA SP8LBK SP8LNE SP8LXE SP8LZC SP8NCJ SP8NR SP8ONB SP8ONZ SP8OOB SP8QED SP8QJM SP8RX/1 SP8SW SP8TDV SP8TJU SP8UFB SP8YB SP8YZZ SP9ADU SP9ADU/9 SP9AJM SP9ATE SP9AUV SP9BGL SP9BGS SP9BMH SP9BNM SP9BRP SP9BXU SP9CLO SP9CLU SP9CQ SP9CTS SP9CTW SP9CTX SP9CV SP9CVY SP9CXN SP9CXX SP9DLY SP9DNO SP9DSD SP9DTE SP9DTE/1 SP9DTH SP9DUX SP9EJH SP9EML SP9EVP SP9EWM SP9FKQ SP9FOW SP9FT SP9FWQ SP9FZC SP9GFI SP9GKJ SP9GKM SP9GPW SP9GR SP9GZQ SP9H SP9HVV SP9HZF SP9HZW SP9IBJ SP9IEK SP9IGY SP9IHP SP9IKN SP9IKS SP9IVD SP9IVQ SP9JKL SP9JPA SP9JQA SP9JZT SP9JZU SP9KAG SP9KDA SP9KRT SP9LAS SP9LDB SP9LDU SP9LJD SP9MAN SP9MDO SP9MDY SP9MZH SP9NH SP9NLI SP9NSV SP9NSV/7 SP9NWN SP9ODM SP9ODM/8 SP9ODY SP9OHL SP9OYB SP9PRO SP9PSJ SP9QJ SP9RHN SP9RI SP9RQH SP9RQJ SP9RTL SP9SDR SP9TTT SP9UPH SP9VJ SP9VRY SP9W SP9WAN SP9WTN SP9WZS SP9XCJ SQ1BHH SQ1DWR SQ1DWS SQ1EIA SQ1EIX SQ1EUG SQ1FYX SQ1K SQ1MNF SQ1NDW SQ1OD SQ1WO SQ2AJI SQ2BXI SQ2DYF SQ2EAN SQ2EEQ SQ2FRF SQ2GXO SQ2HL SQ2HNA SQ2LYF SQ2LYH SQ2LYS SQ2NNN SQ2RGB SQ2SAT SQ2TOM SQ2XC SQ3A SQ3AUA SQ3BDQ SQ3HMM SQ3HXH SQ3JVW SQ3LMY SQ3OGP SQ3OGZ SQ3RJP SQ3RX SQ3VAJ SQ3VV SQ3WW SQ4CTS SQ4FXM SQ4G SQ4HRN SQ4INW SQ4IOH SQ4MP SQ4OLP SQ5ALL SQ5ARG SQ5BUO SQ5EBM SQ5FWR SQ5GVY SQ5IZX SQ5JUP SQ5M SQ5NAE SQ5NPF SQ5NPX SQ5STS SQ5TA SQ5WAA SQ6ADL SQ6FHP SQ6ILC SQ6IYS SQ6LJA SQ6LJV SQ6MIH SQ6MS SQ6NDJ SQ6NES SQ6NTE SQ6NTM SQ6ODD SQ6OR SQ6OXC SQ6R SQ7B SQ7FPD SQ7HJZ SQ7IL SQ7MHN SQ7MPJ SQ7MZH SQ7NHT SQ7OTB SQ7VO SQ80UM SQ8GBG SQ8HNB SQ8IFG SQ8J SQ8JLA SQ8JLN SQ8JLU SQ8JMC SQ8JX SQ8LEC SQ8LSB SQ8LSC SQ8MHH SQ8TWP SQ9ANS SQ9AOR SQ9BDN SQ9C SQ9CAQ SQ9CND SQ9CWO SQ9DXN SQ9DXT SQ9E SQ9FCH SQ9FMU SQ9HQ SQ9HZM SQ9I SQ9IAJ SQ9IAU SQ9IDE SQ9IWT SQ9JKS SQ9JYK SQ9LOJ SQ9LOM SQ9LR SQ9MEE SQ9MEI SQ9MZ SQ9NIN SQ9NIS SQ9NKK SQ9NRY SQ9SX SQ9UM SQ9UM/6 ST2AR ST2KSS ST2M ST2NH SU1KM SU1SK SU9HP SV0GU SV0XBA SV0XBM/9 SV0XBN/9 SV1/SV4LBA SV1ACK SV1AER SV1AIN SV1AIP SV1AOW SV1AVD SV1BDO/3 SV1BGR SV1BJW SV1BJW/6 SV1BTK SV1BUU SV1CAL SV1CEI SV1CIV SV1CQN SV1DOI SV1DOJ SV1DPI SV1DPP SV1DVZ SV1EBV SV1EEM SV1EML SV1EMM SV1ENG SV1ENM SV1ENV SV1EQU SV1EX SV1FJN SV1GRD SV1GRE SV1GSX SV1GYG SV1HEM SV1HER SV1HKD SV1IW SV1JA SV1JFT SV1JG SV1JGX SV1JMO SV1JRR SV1JSN SV1JSQ SV1KU SV1LK SV1LV SV1MF SV1MO SV1NJA SV1NK SV1NPC SV1OH SV1OZ SV1PL SV1PS SV1QN SV1QT SV1RK SV1UG SV1UT SV1VS SV1XV SV2AVP SV2BFL SV2BFN SV2BOH SV2CLJ/8 SV2CUI SV2CWV SV2CXI SV2DCD SV2DFA SV2DGJ SV2FLQ SV2FWV SV2GJV SV2GNC SV2HRT SV2HWR SV2HXV SV2JAO SV2KBB SV2KBE SV2KBS SV2YC SV3/YO7CKQ/P SV3AQM SV3AQR SV3AWG SV3BEF SV3BSF SV3CYL SV3DCX SV3FUP SV3GKU SV3GLL SV3HHS SV3IBF SV3ICL SV3IDM SV3MSE SV3RF SV4AAQ SV4AFY SV4FFL SV4IMJ SV4IMJ/1 SV5BYR SV5DKL SV5RW SV7BAY SV7BOD SV7BOT SV7CFJ SV7CUD SV7HVI SV7LNK SV7LNX SV7LOS SV7LPL SV7LWV/2 SV7NHN SV8CRI SV8CS SV8CYR SV8DTD SV8EIU SV8EUV SV8FMY SV8KOM SV8RX SV8UM SV9AHZ SV9BAI SV9CJO SV9COL SV9CVY SV9DJO SV9DRU SV9GPV SV9MBH SV9OFS SX0HQ SX1L SX2CM SX5P SX5R SX8WT SX9JZ SY1RY SY2O SY2V SY43D SY7ISDE SY9A SY9M SZ1A SZ1SV SZ1TEIA SZ3P SZ6P SZ7SER T27A T32CXX T33ZZ T40C T42T T46A T46G T48K T6AG T70A T77C T77GO T77NC T77NM T77Q T88CI T88CJ T88YB T8CW T8IC TA0U TA1AN TA1BM TA1C/2 TA1CM TA1CQ TA1CX TA1DX TA1ED TA1FA TA1HZ TA1KC TA1TR TA1ZK TA2AL TA2DS TA2EY TA2KK TA2RC TA2VO TA2ZAF TA2ZF TA3AX TA3BN TA3D TA3DJ TA3GO TA3J TA3KZ TA4AU TA4ZA TA7AO TA7EB TA7KA TC1DX TC2010CCE TC3EC TC4X TC7HQ TC7KA TC7M TC85TC TE1W TE2M TF1AM TF1CW TF2JB TF2WIN TF3AM TF3AO TF3CW TF3DC TF3DX TF3G TF3GB TF3GC TF3HP TF3HQ TF3IG TF3IGN TF3IRA TF3KX TF3KX/1 TF3PPN TF3SG TF3US TF3VS TF3VS/P TF3W TF3Y TF3ZA TF4M TF4X TF6IF TF8GX TF8SM TG0AA TG9/IV3IYH TG9ADQ TG9AJR TG9ANF TG9AXF TG9CT TG9IRP TG9NX TG9SM TI0RC TI1R TI2CC TI2CLX TI2GBY TI2JCY TI2KAC TI2KWN TI2WMP TI4CF TI5/NP3D TI5/WW4LL TI5A TI5N TI7DBS TI8II TI8M TJ3SL TK5A TK5EP TK5IH TK5IX TK5MH TK5NJ TK5XN TK7P TK9E TK9R TL0A TM0C TM0HQ TM0R TM0T TM0TAN TM1C TM1O TM1W TM2B TM2MW TM2S TM2T TM2Y TM33E TM3R TM3S TM3T TM4D TM4P TM4Q TM4W TM57M TM5C TM5HV TM5KD TM5W TM6M TM6X TM77M TM7C TM7F TM7M TM7T TM7XX TM8ARP TM9FL TM9R TN5SN TO2HI TO2T TO3R TO4D TO4X TO5A TO5DX TO5T TO5X TO7A TO8Z TR8CA TS9A TT8JT TU2CI TX1B TX3A TY1MS U1BA U1BB U1BD U3DI U4MIR U5EX U5MZ UA0AAS UA0ABB UA0ABK UA0ACG UA0ADX UA0AGI UA0AKY UA0ANW UA0APV UA0AV UA0AYA UA0AZ UA0BA UA0CA UA0CB UA0CDC UA0CM UA0CMG UA0CNX UA0CS UA0CW UA0DAM UA0DC UA0FAI UA0FDX UA0FM UA0IBX UA0IDZ UA0IT UA0JF UA0JM UA0LCZ UA0LD UA0LDW UA0LDY UA0LH UA0LKD UA0LMO UA0LNO UA0LS UA0MF UA0NL UA0OA UA0OD UA0QBR UA0SBQ UA0SC UA0SDX UA0SE UA0SEP UA0SIK/0 UA0SJ UA0SOX UA0SP UA0SR UA0SW UA0SWA UA0UV UA0VF UA0WAA UA0WF UA0WL UA0WW UA0YAY UA0YM UA0ZAL UA0ZAM UA0ZC UA0ZEO UA0ZS UA0ZV UA1AAF UA1AAR UA1AAU UA1ABO UA1ACC UA1ACG UA1ADZ UA1AFT UA1AFZ UA1AIK/1 UA1AJ UA1AJW UA1AKE UA1AKJ UA1ANA UA1AQA UA1ASB UA1AUW UA1CAK UA1CE UA1CEC UA1CEG UA1CEI UA1CGF UA1CHJ UA1CJX UA1CKC UA1CT UA1CUR UA1HY UA1MU UA1NA UA1NFA UA1OAM UA1ODM UA1OEX UA1OIZ UA1OJL UA1OM UA1OMS UA1OMZ UA1OOX UA1ORK UA1ORL UA1ORT UA1QCE UA1QM UA1QV UA1QW UA1RG UA1TAN UA1TGQ UA1WA UA1WBV UA1WCF UA1WDG UA1WDX UA1WGV UA1ZCX UA1ZZ UA2AB UA2CZ UA2FBQ UA2FCB UA2FCT UA2FDM UA2FEK UA2FF UA2FFW UA2FFX/1 UA2FGY UA2FHZ UA2FL UA2FT UA2FW UA2FZ UA3A/1 UA3AAP UA3AB UA3ABJ UA3ACL UA3ADN UA3AFJ UA3AGU UA3AGW UA3AHA UA3AIF UA3AIU UA3AKI UA3AKO UA3ALS UA3AMZ UA3AO UA3AP UA3AQB UA3ASZ UA3AWA UA3BL UA3BM UA3BS UA3BX UA3BZ UA3CS UA3DA UA3DAM UA3DCE UA3DCI UA3DCM UA3DCU UA3DCW UA3DCZ UA3DDA UA3DFM UA3DFR UA3DFV UA3DGA UA3DJC UA3DK UA3DKN UA3DKT UA3DLD UA3DLL UA3DOM UA3DPM UA3DQK UA3DSS UA3DTS UA3DTT UA3DUJ UA3DUS UA3DUZ UA3DW UA3EAA UA3EAY UA3ECJ UA3EDQ UA3EKG UA3ERD UA3EUW UA3EVG UA3FDX UA3FO UA3FX UA3GAF UA3GBI UA3GH UA3GIE UA3GM UA3GTA UA3GTG UA3GVT UA3GX UA3GZ UA3HM UA3IAH UA3ICF UA3ICK UA3ICN UA3KA UA3KM UA3KW UA3LAR UA3LDU UA3LEO UA3LHL UA3LIA UA3LID UA3LIZ UA3LMR UA3LMR/3 UA3LNM UA3LPF UA3LQQ UA3LQX UA3LTQ UA3MEG UA3MEJ UA3MHG UA3MIF UA3MKT UA3MNB UA3MOC UA3MOM UA3MSS UA3OQ UA3PAB UA3PAY UA3PB UA3PCP UA3PF UA3PM UA3PNO UA3PP UA3PPP UA3PT UA3PTW UA3PW UA3QAM UA3QBL UA3QCB UA3QDF UA3QFU UA3QFY UA3QG UA3QGT UA3QJJ UA3QKA UA3QLC UA3QLQ UA3QNS UA3QOS UA3QPA UA3QQ UA3QR UA3QU UA3QUO UA3QUP UA3QY UA3R UA3RAG UA3RAI UA3RAR UA3RAW UA3RC UA3RE UA3RJH UA3RLT UA3RN UA3RO UA3RW UA3SAO UA3SAQ UA3SBW UA3SKV UA3TAO UA3TCJ UA3TN UA3TT UA3TW UA3UAD UA3UBT UA3UCD UA3UDE UA3UHZ UA3UJP UA3UNP UA3URF UA3VFS UA3VJV UA3VLO UA3VQL UA3VVB UA3WCN UA3WHK UA3WT UA3XAC UA3XAG UA3XGM UA3YAA UA3YCX UA3YCZ UA3YDH UA3YFL UA3YQL UA3YY UA3ZJG UA4AAC UA4AGO UA4ALI UA4AMM UA4AMT UA4AN UA4ANZ UA4AP UA4AQL UA4ASE UA4AY UA4AZ UA4CBJ UA4CC UA4CCG UA4CDL UA4CGR UA4CIF UA4CK UA4CM UA4CNJ UA4CNZ UA4CR UA4CTE UA4FBG UA4FCO UA4FDL UA4FEN UA4FER UA4FHW UA4FJ UA4FRJ UA4FRL UA4FTA UA4FUW UA4HAM UA4HAU UA4HBW UA4HEJ UA4HIP UA4HJ UA4HOX UA4HRZ UA4HUR UA4IW UA4LA UA4LBK UA4LCH UA4LFK UA4LL UA4LM UA4LRN UA4LS UA4LU UA4LU/3 UA4LW UA4LX UA4LY UA4M UA4NBA UA4NC UA4NCI UA4NEP UA4NF UA4NU UA4NW UA4NX UA4PAN UA4PAQ UA4PAY UA4PC UA4PCA UA4PCF UA4PCM UA4PF UA4PI UA4PK UA4PKN UA4PN UA4PNT UA4PNW UA4PO UA4PR UA4PT UA4PWR UA4QK UA4RF UA4RL UA4RW UA4RZ UA4SAW UA4SBZ UA4SJK UA4SKW UA4SN UA4UBW UA4UT UA4WAG UA4WAU UA4WAV UA4WAW UA4WCM UA4WI UA4WJ UA4WK UA4WKK UA4WKW UA4WL UA4WLI UA4WW UA4YA UA4YJJ UA6AA UA6AAY UA6ACA UA6AES UA6AF UA6AGE UA6AGK UA6AH UA6AIR UA6AIW UA6AK UA6AKD UA6ARR UA6AX UA6BFE UA6BJY UA6BJZ UA6BQ UA6BQN UA6BRD UA6BTV UA6CC UA6CE UA6CFD UA6CQ UA6CW UA6DX UA6EED UA6EHF UA6FF UA6FJ UA6FQ UA6FW UA6FZ UA6GE UA6GF UA6GG UA6GM UA6GO UA6GP UA6GR UA6GS UA6GU UA6GX UA6HFI UA6HHE UA6HLO UA6HLP UA6HMM UA6HO UA6HRX UA6HZ UA6IC UA6JCC UA6JD UA6JFG UA6JGG UA6JQ UA6LAH UA6LCJ UA6LCN UA6LDD UA6LF UA6LFQ UA6LJ UA6LJU UA6LLE UA6LN UA6LP UA6LPN UA6LPY UA6LTI UA6LUQ UA6LV UA6MA UA6MF UA6MM UA6NZ UA6PF/3 UA6UDV UA6UEK UA6XDX UA6YH UA6YI UA6YIU UA6YN UA6YW UA7F UA7G UA8AA/5 UA9AB UA9ACJ UA9ADW UA9AFS UA9AGX UA9AJ UA9AM UA9AOL UA9APA UA9AX UA9AYA UA9AZ UA9BA UA9BS UA9BX UA9BZ UA9CAX UA9CBM UA9CBO UA9CBR UA9CC UA9CCL UA9CDC UA9CDJ UA9CDV UA9CES UA9CEW UA9CGL UA9CHL UA9CIM UA9CL UA9CLB UA9CM UA9CMQ UA9CR UA9CSA UA9CTT UA9CUA UA9CVQ UA9DD UA9DR UA9FAR UA9FEG UA9FEX UA9FFV UA9FGJ UA9FGR UA9FKH UA9FM UA9FPQ UA9FQS UA9HN UA9HR UA9JDP UA9JFA UA9JFM/3 UA9JFR UA9JJG UA9JKM UA9JLL UA9JMB UA9JSN UA9KAA UA9KAA/9 UA9KB UA9KGG UA9KGH/1 UA9KL UA9KW UA9KZ UA9LAO UA9LBQ UA9LP UA9LR UA9LT UA9MA UA9MC UA9MD UA9MDP UA9MFB UA9MGC UA9MHN UA9MI UA9MKF UA9MLT UA9MP UA9MR UA9MRX/3 UA9MW UA9ND UA9NN UA9OA UA9OAI UA9OC UA9ODE UA9ODU UA9OG UA9OGF UA9OKM UA9OL UA9OLO UA9OMT UA9ONJ UA9ONJ/P UA9OQA UA9OQJ UA9OR UA9OSB UA9OV UA9OW UA9OZ UA9PC UA9PM UA9QA UA9QAE UA9QCP/3 UA9QCQ UA9QCZ UA9QF UA9QG UA9QM UA9QQ UA9QT UA9SAW UA9SC UA9SG UA9SJR UA9SP UA9SUX UA9TF UA9TQ UA9TT UA9TW UA9TZ UA9UBL UA9UCK UA9UDX UA9UFL UA9UHN UA9UNG UA9UOI UA9UPG UA9UR UA9URF UA9UX UA9UZZ UA9WBX UA9WIK UA9WOB UA9WOU UA9WS UA9WTF UA9WZ UA9XBJ UA9XF UA9XHT/9 UA9XK UA9XL UA9XLC UA9XMC UA9XS UA9XTL UA9XTN UA9XW UA9XZ UA9YAB UA9YAD UA9YBA UA9YE UA9YF UA9YJI UA9YTN UA9ZZ UD3D UE4CAC/P UE6LHT UE80MC UE80MD UE9CAP UE9WDA/6 UF3CWR UI4I UI9I UK7AZ UK7F UK8AKK UK8AR UK8DAN UK8DT UK8OM UK8OWW UK8UC UK8UWG UK9AA UN/RX9TL UN0C UN0L UN1F UN1HQ UN1L UN1O UN2C UN2E UN3GX UN3M UN4L UN4PD UN4PG UN5C UN5J UN5P UN6G UN6GD UN6GK UN6LN UN6P UN6T UN7AB UN7AL UN7AM UN7BN UN7CAD UN7CH UN7CM UN7CN UN7ECA UN7EV UN7EW UN7EX UN7FDP UN7FW UN7GCE UN7IT UN7JX UN7LAN UN7LZ UN7MMM UN7P UN7PBY UN7PL UN7PV UN7QF UN7RL UN7TDB UN7TO UN7TW UN7TX UN8CB UN8FM UN8GA UN8GU UN8GV UN8L UN8LF UN8LWF UN8P UN8PIM UN8PT UN9GD UN9L UN9LU UN9PQ UO1P UO6P UP0G UP0L UP1G UP2F UP2L UP4L UP6P UP7A UP8A UP9L UQ70F UR0CB UR0EE UR0EG UR0EV UR0HQ UR0IM UR0IQ UR0MM UR0QX UR0VV UR0VX UR1HM UR1MI UR1MM UR1MN UR2ML UR2MM UR2MO UR2P UR2VA UR3AC UR3CKR UR3EO UR3GO UR3HC UR3IDD UR3IFD UR3IJI UR3IQO UR3LL UR3LPM UR3LTD UR3MM UR3PA UR3PDQ UR3PGW UR3QB UR3QCW UR3QM UR3QX UR3QXX UR3UX UR4CU UR4CWQ UR4EI UR4ES UR4EWT UR4EXF UR4EXS UR4FA UR4GU UR4IGP UR4IOR UR4IXM UR4IZ UR4LCB UR4LRG UR4LWC UR4MCK UR4MH UR4MKY UR4MS UR4MSF UR4MTJ UR4PWC UR4PWL UR4QQF UR4QRH UR4QX UR4U UR4UC UR4UDI UR4VWA UR4WG UR4WWT UR4Z UR4ZYD UR5AKU UR5ALU UR5AMK UR5AO UR5AS UR5AW UR5BO UR5CC UR5CSL UR5E UR5EAW UR5EDU UR5EFL UR5EIT UR5EJ UR5ELN UR5EPG UR5EPV UR5EQQ UR5ETN UR5EU UR5EUY UR5FBM UR5FCK UR5FCM UR5FEL UR5FEO UR5FS UR5GAW/A UR5GBW UR5HAC UR5IF UR5IFB UR5IFX UR5IHC UR5IHQ UR5II UR5IKN UR5IOK UR5IRM UR5KDX UR5KED UR5KHZ UR5LAK UR5LAM UR5LCV UR5LCZ UR5LF UR5LJD UR5LO UR5LY UR5MA UR5MAF UR5MBA UR5MBB UR5MD UR5MER UR5MF UR5MID UR5MM UR5MP UR5MQS UR5MW UR5MZ UR5NF UR5PG UR5QA UR5QU UR5QUM UR5RMD UR5RP UR5RZ UR5SFC UR5TGK UR5THM UR5TW UR5UBD UR5UBR UR5UC UR5UJ UR5UZ UR5VR UR5WCA UR5WCQ UR5WD UR5WDQ UR5WHQ UR5WHT UR5WMM UR5WX UR5XMM UR5ZMK UR5ZPV UR5ZSU UR5ZTH UR5ZVJ UR5ZVP UR6AJ UR6EO UR6F UR6GWZ UR6HCF UR6ID UR6IDX UR6IJ UR6IM UR6IMF UR6IS UR6LAF UR6MX UR6QA UR6QR UR6QS UR7CQ UR7CT UR7EC UR7EM UR7EP UR7EQ UR7EU UR7EW UR7EY UR7EZ UR7GG UR7GO UR7GW UR7HA UR7HCX UR7IKV UR7INK UR7IQJ UR7M UR7MA UR7MG UR7MZ UR7QC UR7QL UR7QM UR7R UR7TZ UR7UC UR7UD UR7UM UR7UT UR7VA UR7ZO UR8EQ UR8GM UR8GX UR8IDX UR8IF UR8IW UR8LV UR8MH UR8QQ UR8QR UR8RF UR9MB UR9MC UR9QQ US0CD US0GA US0GH US0HZ US0IJ US0IW US0KS US0KW US0LA US0LO US0LW US0MF US0MM US0MS US0NJ US0QG US0SY US0TA US0VA US0YA US0YW US0ZK US0ZZ US1GBH US1IT US1IV US1IW US1MM US1PM US1US US1UU US1UX US1VS US2IHS US2IR US2IW US2IZ US2LX US2MW US2WU US2YW US3IG US3IMZ US3IP US3IRX US3ITA US3IVN US3IZ US3LX US3QQ US3QW US3WD US4AS US4EG US4EX US4IDY US4IPC US4IPQ US4IQ US4IXT US4IYM US4L US4LGW US4LS US4MW US5CB US5CCO US5D US5DA US5E US5EEK US5ELM US5EVJ US5FA US5HI US5I US5IIM US5IND US5IQ US5ISV US5IVD US5LAE US5MPO US5MUW US5QRW US5UO US5VX US5WAM US5WCP US5WDT US5WE US5XD US5ZCW US6CQ US6EX US6IKF US6IKV US6IPD US6IQ US6IT US7AF US7IA US7IAU US7IB US7IGF US7IID US7IM US7IQZ US7IUF US7IVW US7IY US7LM US7ML US7MM US7QQ US7UX US7VL US7WW US8IB US8IBS US8ICA US8ICM US8IDX US8IM US8MX US8QQ US8UA US9PA UT/PA3BUD UT/RN3DAW UT0AZA UT0CK UT0EA UT0EL UT0EO UT0ET UT0IG UT0IL UT0IV UT0IW UT0L UT0MF UT0MG UT0NT UT0RM UT0U UT0VE UT0ZD UT1AA UT1AB UT1CC UT1CZ UT1DX UT1DZ UT1EA UT1HT UT1HZZ UT1IA UT1IF UT1IH UT1IK UT1IM UT1IR UT1PO UT1QL UT1S UT1UL UT1US UT1UW UT1UY UT1XX UT1YV UT2AA UT2AB UT2AU UT2EZ UT2FA UT2FF/A UT2HM UT2ID UT2IF UT2II UT2IO UT2IU UT2IV UT2IW UT2IY UT2LF UT2LU UT2LY UT2M UT2PL UT2PX UT2QQ UT2QT UT2RZ UT2UB UT2UN UT2UU UT2UZ UT2VU UT2XX UT3EG UT3EK UT3EV UT3EW UT3FM UT3HWW UT3I UT3IB UT3IJ UT3IK UT3IM UT3IW UT3IZ UT3L UT3MA UT3N UT3NA UT3NF UT3QN UT3QT UT3QU UT3RN UT3RS UT3SA UT3SO UT3UA UT3UV UT3UX UT3UY UT3UZ UT3WJ UT3WW UT3WX UT4CE UT4EK UT4EN UT4EO UT4EU UT4FJ UT4FM UT4HZ UT4IZ UT4MF UT4MW UT4MWA UT4NR UT4NW UT4NX UT4NY UT4NZ UT4PZ UT4Q UT4QV UT4UB UT4UBY UT4UF UT4UH UT4UO UT4UP UT4UQ UT4UW UT4VV UT4VW UT4WA UT4WT UT4XD UT4XU UT4ZG UT4ZX UT5A UT5AT UT5CB UT5CL UT5CY UT5DJ UT5DL UT5EA UT5ECZ UT5EL UT5EMU UT5EO UT5EPP UT5ERP UT5ERV UT5EUQ UT5HCW UT5HX UT5IA UT5ID UT5IF UT5IH UT5IM UT5IZ UT5IZO UT5JAJ UT5JCE UT5KL UT5KO UT5KTT UT5LO UT5MB UT5NWA UT5PH UT5PI UT5PQ UT5PW UT5PY UT5SA UT5SI UT5UA UT5UCP UT5UFT UT5UGR UT5UGS UT5UGW UT5UIA UT5UJ UT5UKA UT5UKY UT5ULB UT5ULX UT5UMY UT5UN UT5UNZ UT5UPN UT5UQN UT5UQV UT5URW UT5US UT5UT UT5UUV UT5UY UT5VX UT5XM UT5ZA UT5ZY UT6EC UT6EE UT6IS UT6LX UT7AXA UT7CH UT7CL UT7CR UT7DK UT7E UT7EE UT7EF UT7EG UT7EI UT7EJ UT7EM UT7EN UT7EV UT7EY UT7EZ UT7EZZ UT7FO UT7FP UT7HM UT7I UT7IA UT7IL UT7L UT7LA UT7LD UT7LM UT7LW UT7MA UT7MC UT7MD UT7MR UT7MW UT7ND UT7NF UT7NT UT7NW UT7NY UT7QB UT7QF UT7QL UT7TA UT7U UT7UJ UT7UT UT7UV UT7UW UT7UZ UT7VR UT7WZ UT7WZA UT7XX UT7Y UT7ZB UT8AL UT8AS UT8EL UT8EU UT8IA UT8IM UT8IO UT8IT UT8IV UT8L UT8LO UT8NT UT8QQ UT8RN UT8SQ UT9EL UT9FJ UT9IR UT9NA UU0A UU0JC UU0JM UU1AZ UU1CC UU1CW UU1DX UU1JE UU1K UU2AA UU2CW UU2J UU2JA UU2JG UU2JQ UU3JC UU3JX UU3W UU4J UU4JC UU4JDD UU4JGR UU4JMG UU4JO UU4JQE UU4JWA UU4JWC UU4JXI UU4JXM UU5A UU5AB UU5AF UU5AI UU5JAQ UU5JBO UU5JFP UU5JQV UU5JS UU5JZ UU5JZA UU5WW UU6JF UU6JJ UU7J UU7JD UU7JF UU7JM UU7JN UU7JR UU7JX UU8JK UU8JM UU8JY UU9CI UU9CW UU9JK UU9JQ UU9JR UV1GW UV2L UV3QF UV3RT UV5EEO UV5ERY UV5QAV UV5QQ UV5QR UV5U UV7QA UV8M UW0K UW0L UW1G UW1GZ UW1I UW1M UW1WU UW2F UW2I UW2M UW2N UW2Q UW2ZM UW3E UW3M UW3U UW4E UW4SU UW5M UW5Q UW5SW UW5U UW5W UW5ZM UW7CF UW7CN UW7F UW7LL UW7M UW7RV UW8I UW8M UW8SM UX0BB UX0FF UX0FY UX0HO UX0IK UX0IY UX0LL UX0LL/A UX0SX UX0UN UX0UW UX0ZL UX1AA UX1BZ UX1CW UX1HW UX1IB UX1IL UX1IM UX1MH UX1QQ UX1UF UX1UX UX2HB UX2IJ UX2IO UX2IQ UX2KA UX2MF UX2MK UX2QA UX2SB UX2X UX35A UX3HA UX3HX UX3IA UX3IO UX3IT UX3IV UX3IW UX3MF UX3MX UX3MZ UX3UN UX3ZW UX4E UX4FC UX4LA UX4U UX4UM UX5D UX5I UX5IO UX5IZ UX5MZ UX5NQ UX5OF UX5TQ UX5UO UX5VK UX6F UX6IA UX6IB UX6IR UX6VA UX7CQ UX7E UX7FC UX7FD UX7IB UX7IW UX7LL UX7MA UX7MM UX7MR UX7MX UX7QD UX7QJ UX7QV UX7U UX7UN UX8IR UX8IW UX8IX UX8IXX UX8ML UX8MM UX8ZA UY0CA UY0IR UY0IX UY0MM UY0ZA UY0ZG UY1HY UY1LS UY1U UY2IF UY2IG UY2IJ UY2IZ UY2MQ UY2RA UY2RZ UY2UA UY2UQ UY2UZ UY2VM UY2ZA UY2ZZ UY3AW UY3CC UY3LA UY3MW UY3QT UY3QW UY4F UY4WWA UY5AA UY5AB UY5AO UY5AP UY5AR UY5AX UY5BA UY5BC UY5BO UY5BT UY5EI UY5HF UY5LM UY5MB UY5ME UY5MR UY5QJ UY5QO UY5QZ UY5TE UY5TF UY5UO UY5UV UY5VA UY5YA UY5YB UY5ZI UY5ZZ UY5ZZ/A UY6IM UY7C UY7IO UY7IQ UY7LA UY7LM UY7LU UY7M UY7MM UY7QF UY7QN UY8IF UY8LM UY9IF UY9IM UY9IX UY9QY UZ0U UZ1G UZ1H UZ1RR UZ2FWB UZ2HZ UZ2I UZ2LL UZ2M UZ4E UZ4L UZ5I UZ5Q UZ5U UZ5UA UZ7HO UZ7M UZ7U UZ8I UZ8L V21MJ V25JK V25Y V25Z V26B V26E V26F V26G V26K V26M V31CW V31GW V31MD V31MU V31MW V31MX V31PT V31RI V31RR V31TB V31TP V31WA V31WO V31WV V31WVK V31YN V44KAI V47JA V47NT V48M V49A V51AS V51GB V51YJ V55X V63MY V73NS V85SS V8AQM VA1CC VA1CHP VA1IVY VA1MM VA1SEA VA1XBN VA2AAB VA2AAE VA2AM VA2AN VA2AY VA2BK VA2BN VA2BS VA2CT VA2EW VA2GU VA2KK VA2KT VA2LC VA2LGQ VA2MZ VA2PC VA2PR VA2PZ VA2RF VA2RIO VA2RM VA2RP VA2SG VA2TG VA2UP VA2UT VA2WDQ VA2WT VA2ZA VA2ZM VA2ZZ VA3AAO VA3ADW VA3AG VA3AM VA3ARK VA3ARS VA3ATT VA3BD VA3BI VA3BOH VA3CCO VA3CDX VA3CFK VA3CWT VA3DF VA3DN VA3DX VA3DZ VA3EBM VA3EC VA3ECO VA3FN VA3FP VA3GD VA3GFD VA3GGF VA3GKO VA3GL VA3GML VA3GUY VA3GVS VA3HIE VA3HJ VA3HP VA3HUN VA3IBL VA3IC VA3ICW VA3IX VA3JFF/W1 VA3JWR VA3KA VA3KAI VA3KGS VA3KSF VA3MJR VA3MN VA3MO VA3NA VA3NN VA3NPL VA3NQ VA3NR VA3OBR VA3OC VA3OR VA3ORI VA3OX VA3PC VA3PEN VA3PL VA3QV VA3RDC VA3RJ VA3RKM VA3RNJ VA3SB VA3SK VA3STG VA3SWG VA3SX VA3THC VA3TPS VA3TSG VA3TTU VA3TV VA3TVW VA3VF VA3VO VA3VU VA3VW VA3VY VA3WL VA3WLD VA3WPV VA3WR VA3WU VA3WWC VA3XH VA3XQ VA3YOJ VA3YP VA3YT VA3YX VA3ZC VA3ZTZ VA3ZW VA3ZWT VA4DX VA4GD VA4HZ VA5DX VA5LF VA5RI VA6APB VA6AW VA6BSH VA6FZ VA6IK VA6MM VA6NJK VA6OZ VA6RAR VA6UK VA6XDX VA6ZZZ VA7AD VA7ALK VA7AM VA7AO VA7APK VA7AQ VA7BEC VA7BS VA7CAB VA7CE VA7CPC VA7CRO VA7CRZ VA7DER VA7DIN VA7DM VA7DX VA7DXC VA7DZ VA7FC VA7GAP VA7GEM VA7GG VA7HZ VA7IR VA7JC VA7JW VA7KO VA7MEV VA7MJR VA7MM VA7MT VA7ND VA7OA VA7OO VA7PGE VA7PX VA7RME VA7RMM VA7RN VA7RR VA7RY VA7ST VA7SW VA7TF VA7TT VA7VI VA7VJ VA7VV VA7VZZ VA7XB VA7XX VA7ZOO VC2A VC2E VC2W VC2Z VC3A VC3COPP VC3D VC3O VC3Y VC6R VC6T VC6X VC7C VE1/K3OMI VE1AHX VE1AI VE1AL VE1AOE VE1ARG VE1AWC VE1AYY VE1AZV VE1BB VE1BU VE1BVD VE1BZI VE1CJB VE1CTW VE1CZ VE1DC VE1DHD VE1DI VE1DT VE1DX VE1EP VE1FO/9 VE1GW VE1IM VE1JF VE1JS VE1KF VE1KY VE1MC VE1NB VE1OP VE1QA VE1QY VE1RAR VE1RGB VE1RHP VE1RSM VE1SD VE1SK VE1SKY VE1SQ VE1TK VE1TRI VE1TT VE1UT VE1UY VE1WO VE1WT VE1XZ VE1YVN VE1YX VE1ZA VE1ZAC VE1ZD VE1ZJ VE1ZZ VE2ACP VE2AEJ VE2AFC VE2AHS VE2ARR VE2AWN VE2AWR VE2AWW VE2AXO VE2BDR VE2BQB VE2BR VE2BWL VE2CAQ VE2CPD VE2DC VE2DJC VE2DLC VE2DWA VE2DX VE2DXQ VE2DXY VE2EBL VE2EH VE2EKA VE2EWQ VE2EZD VE2FET VE2FFE VE2FK VE2FKZ VE2FU VE2FWW VE2FXL VE2GHI VE2GK VE2GLA VE2GSO VE2HAY VE2HLS VE2IM VE2JCW VE2JD VE2JMK VE2KH VE2LQ VE2LSF VE2LX VE2MAB VE2MRN VE2OJ VE2OPB VE2OTW VE2OWL VE2PC VE2PEP VE2PZ VE2QAU VE2QRA VE2QV VE2QV/3 VE2QY VE2RA VE2RDQ VE2RO VE2RYY VE2SB VE2SBJ VE2SG VE2SHF VE2TBK VE2TG VE2TH VE2TKH VE2TZT VE2UMS VE2VIG VE2WKO VE2XAA VE2XAA/2 VE2XX VE2YY VE2ZV VE2ZVZ VE3AAQ VE3ABG VE3ACA VE3AD VE3ADQ VE3AGC VE3AJ VE3AP VE3AR VE3ARF VE3AT VE3AWE VE3AXC VE3AZA VE3BDN VE3BHZ VE3BK VE3BKA VE3BLB VE3BNO VE3BVA VE3BW VE3BXI VE3BY VE3C VE3CAK VE3CCT VE3CFK VE3CG VE3CGC VE3CGR VE3CH VE3CKG VE3CLQ VE3CM VE3CMB VE3CNX VE3CPK VE3CPP VE3CR VE3CRG VE3CRO VE3CRU VE3CSJ VE3CSK VE3CTO VE3CUI VE3CW VE3CWO VE3CWP VE3CWU VE3CX VE3CXD VE3CXT VE3CZ VE3DBP VE3DC VE3DDG VE3DJX VE3DO VE3DPZ VE3DX VE3DZ VE3EBN VE3EDM VE3EDY VE3EFC VE3EGC VE3EJ VE3EK VE3EL VE3ELL VE3EN VE3ENG VE3EP VE3EWW VE3EXW VE3EXY VE3EY VE3EZP VE3FAS VE3FDK VE3FDT VE3FDX/W4 VE3FGU VE3FH VE3FJ VE3FJB VE3FLT VE3FRJ VE3FRX VE3FSJ VE3FST VE3FTM VE3FU VE3FWF VE3FZ VE3GB VE3GFN VE3GIN VE3GJA VE3GLA VE3GLO VE3GLU VE3GN VE3GNB VE3GNO VE3GNX VE3GO VE3GPH VE3GPM VE3GSI VE3GYL VE3GZD VE3HG VE3HIA VE3HLS VE3HOL VE3HUR VE3HX VE3IAE VE3ICV VE3IDT VE3IFS/W2 VE3IGJ VE3IIE VE3IKT VE3ILG VE3IN VE3IPS VE3IQ VE3ISO VE3IZZ VE3JAQ VE3JAS VE3JDF VE3JDF/W4 VE3JI VE3JM VE3JSQ VE3KAO VE3KF VE3KI VE3KKB VE3KKQ VE3KL VE3KP VE3KPP VE3KQN VE3KWK VE3KZ VE3LC VE3LFJ VE3LFN VE3LKV VE3LLL VE3LR VE3LXL VE3LXV VE3MA VE3MCF VE3MCZ VE3MGY VE3MIA VE3MIH VE3MIS VE3MLK VE3MM VE3MMB VE3MMQ VE3MNE VE3MO VE3MS VE3MV VE3MWX VE3MXJ VE3NB VE3NCQ VE3NE VE3NLH VE3NOO VE3NPO VE3NQM VE3NRG VE3NYX VE3NYZ VE3NZ VE3OBU VE3OI VE3OIL VE3OKK VE3OM VE3OQM VE3OSC VE3OSZ VE3OU VE3OWO VE3OX VE3OZO VE3PA VE3PN VE3PST VE3PTC VE3PYJ VE3QAA VE3QBH VE3QDR VE3QN VE3QO VE3QRA VE3QT VE3RBE VE3RCN VE3RER VE3RHD VE3RIA VE3RM VE3RRH VE3RSA VE3RTU VE3RWA VE3RYI VE3RZ VE3SAO VE3SAQ VE3SCP VE3SIQ VE3SMA VE3SMN VE3SS VE3SSR VE3SSV VE3SUA VE3SUB VE3SWA VE3SXB VE3TA VE3TAZ VE3TC VE3TEI VE3TES VE3THX VE3TLT VE3TMG VE3TMT VE3TU VE3TV VE3TW VE3TWM VE3UEK VE3UK VE3UN VE3UTT VE3UUH VE3UWC VE3UZ VE3VA VE3VAW VE3VC VE3VID VE3VJ VE3VJC VE3VMJ VE3VO VE3VOE VE3VV VE3WBJ VE3WBR VE3WDM VE3WE VE3WEJ VE3WF VE3WIB VE3WKG VE3WLD VE3WRW VE3WZ VE3XAT VE3XB VE3XBR VE3XBX VE3XC VE3XD VE3XL VE3XN VE3YAA VE3YEN VE3YN VE3YRI VE3YV VE3YXO VE3YYK VE3ZI VE3ZIN VE3ZT VE3ZZ VE4AEO VE4AMU VE4BAE VE4BG VE4DRN VE4DS VE4DXX VE4EA VE4EAR VE4GF VE4GR VE4GV VE4IHF VE4JCJ VE4KT VE4ME/W4 VE4MG VE4MT VE4RA VE4TV VE4XT VE4YU VE5AAD VE5BCS VE5CPU VE5DLM VE5FF VE5FN VE5FX VE5KC VE5MX VE5PM VE5PV VE5RI VE5SF VE5SMC VE5SWL VE5TLW VE5UA VE5UF VE5WI VE5ZC VE5ZG VE5ZX VE6ADS VE6AID VE6AML VE6AO VE6APL VE6AVK VE6AX VE6AXA VE6BBP VE6BF VE6BI VE6BIR VE6BIR/3 VE6BP VE6CMV VE6CN VE6CNU VE6CPU VE6DC VE6DDD VE6DJT VE6DLH VE6DO VE6DXX VE6ECK VE6EPK VE6EX VE6EXE VE6EZ VE6EZ/7 VE6FI VE6FN VE6FT VE6GGF VE6GJ VE6HII VE6HX VE6IM VE6IV VE6JC VE6JJO VE6JOY VE6JY VE6KC VE6KD VE6KK VE6LB VE6LDX VE6LE VE6MAA VE6MO VE6MRV VE6MRX VE6MV VE6NA VE6NC VE6NL VE6NU VE6OH VE6PG VE6PL VE6PR VE6RAC VE6RRD VE6RST VE6SF VE6SH VE6SKU VE6SKY VE6SQ VE6STP VE6SV VE6TA VE6TC VE6TCK VE6TD VE6TL VE6TN VE6TR VE6TRD VE6US VE6VK VE6WDE VE6WQ VE6WTF VE6WZ VE6YC VE6YV VE6ZC VE7ABC VE7AF VE7AFZ VE7AHA VE7AHT VE7AIJ VE7APF VE7AV VE7AX VE7AXU VE7BC VE7BCJ VE7BDO VE7BGP VE7BQ VE7BQO VE7BSM VE7BV VE7BZR VE7CA VE7CC VE7CF VE7CFZ VE7CML VE7CNA VE7CNW VE7CT VE7CUS VE7CV VE7CYY VE7DAO VE7DD VE7DHJ VE7DP VE7DSE VE7DX VE7DXE VE7DXH VE7EPP VE7FCO VE7FE VE7FEI VE7FI VE7FO VE7GBK VE7GL VE7GPZ VE7GTC VE7HA VE7HBS VE7HJ VE7HL VE7IAF VE7IG VE7IJJ VE7IN VE7IO VE7IO/7 VE7IX VE7JKZ VE7JQ VE7JT VE7JZ VE7KB VE7KDU VE7KFM VE7KS VE7KWA VE7LGI VE7MID VE7MR VE7NA VE7NF VE7NGR VE7NI VE7NS VE7NSR VE7NX VE7ODS VE7OGO VE7ON VE7PTT VE7QC VE7RSV VE7SA VE7SAG VE7SCC VE7SK VE7SNC VE7SQ VE7SV VE7SZ VE7TGV VE7TK VE7TUG VE7UF VE7UQ VE7URS VE7VF VE7VR VE7VV VE7VZ VE7WEB VE7WU VE7WWW VE7WY VE7XF VE7XT VE7XV VE7YJ VE7YL VE7YU VE7ZR VE7ZTW VE7ZZF VE8DAV VE8DW VE8EV VE8GER VE8NSD VE9AA VE9CEH VE9CX VE9DX VE9EZ VE9GJ VE9GLF VE9GU VE9HF VE9IS VE9JT VE9KAR VE9ML VE9MOE VE9MY VE9NC VE9OX VE9QRP VE9ST VE9XA VE9XX VE9ZX VER20100809 VK1CC VK1GG/VK2 VK1MJ VK2ABK VK2ACC VK2AET VK2APG VK2AR VK2AWA VK2AWD VK2AYD VK2BCQ VK2BD VK2BJ VK2BNG VK2BPL VK2CA VK2CCC VK2DAG VK2DV VK2FAJM VK2FTZ VK2GKA VK2GR VK2GWK VK2HBG VK2HEW VK2HJW VK2HOT VK2HV VK2IA VK2IM VK2IR VK2JZD VK2KDP VK2KM VK2KPP VK2LAW VK2MDY VK2MWG VK2NA VK2NCD VK2NOS VK2NRB VK2NSS VK2NU VK2PN VK2SF VK2UZ VK2WAY VK2WGW VK2WTT VK2XF VK2XN VK2ZF VK2ZQ VK3ACT VK3AMA VK3AMK VK3AMZ VK3AVV VK3DWS VK3EGN VK3EW VK3FGRC VK3FM VK3FRC VK3FT VK3FY VK3GDM VK3GK VK3HE VK3HJ VK3HJA VK3HR VK3IO VK3JMB VK3KE VK3LB VK3LK VK3LM VK3MDX VK3MO VK3NDX VK3NI VK3PA VK3PTO VK3QI VK3TC VK3TDX VK3TZ VK3VBC VK3VIN VK3VT VK3VTH VK3WF VK3YB VK3YXC VK3ZJ VK4/NL8F VK4AAR VK4AAV VK4AN VK4ATH VK4BL VK4BU VK4BUI VK4CMV VK4CQ VK4CZ VK4DMP VK4DX VK4DZ VK4EJ VK4EMM VK4FJ VK4FNQ VK4FRAJ VK4GH VK4HAM VK4HDX VK4HFO VK4HG VK4IU VK4IZ VK4KAD VK4KEE VK4KKD VK4KW VK4LDX VK4LMB VK4MA VK4MIT VK4OQ VK4PN VK4QO VK4SN VK4SS VK4TBW VK4TI VK4TJF VK4TT VK4VDX VK4WI VK4WIL VK4WR VK4XA VK4XES VK4XY VK4YN VK4ZD VK4ZJR VK5BC VK5HRT VK5LA VK5MAV VK5NPR VK5SW VK6AA VK6AHR VK6AJ VK6ANC VK6APZ VK6ARW VK6BN VK6DU VK6DXI VK6EH VK6FDX VK6HD VK6HG VK6HZ VK6IR VK6JJ VK6LC VK6LK VK6LW VK6NC VK6NTE VK6RO VK6RZ VK6VR VK6VZ VK6WR VK6YS VK6ZN/5 VK7AC VK7AD VK7FWAY VK7GK VK7GN VK7GZ VK7JB VK7ROY VK7TS VK7WI VK7XX VK7ZE VK7ZGK VK8AV VK8GMT/VK2 VK8NSB VK8PDX VK9AA VK9DWX VK9LA VK9XW VO1AA VO1ABN VO1BB VO1BBN VO1BE VO1BQ VO1DD VO1DJT VO1FD VO1FU VO1FZ VO1GO VO1GXG VO1HE VO1HP VO1KVT VO1MP VO1NM VO1OR VO1SA VO1TA VO1TK VO1TTY VO1TX VO1UL VO1XT VO2/GM0TQJ VO2FF VO2NS VO3A VP2E VP2EC VP2ETN VP2MDG VP2MNK VP2MPR VP2VVA VP50V VP59V VP5CM VP5DF VP5DX VP5H VP5JM VP5T VP5W VP8BKF VP8DIF VP8DMH VP8KF VP8NO VP9/AA4V VP9/K3IRV VP9/K3TRM VP9/N1SNB VP9/W6PH VP9400I VP9AD VP9BO VP9HE VP9HW VP9I VQ5B VQ5V VQ90JC VQ99JC VQ9JC VQ9LA VQ9RD VQ9X VR2009EAG VR2AAW VR2C VR2CB VR2CD VR2HF VR2HK VR2IZ VR2JK VR2NN VR2PW VR2PX VR2UW VR2XLN VR2XMT VR2YQU VR2YYW VR2ZQZ/P VR2ZRE VU2BGS VU2DK VU2HFR VU2JOS VU2LBW VU2NKS VU2ORO VU2PAI VU2PEP VU2PTT VU2RCT VU2RMS VU2SWS VU2TS VU2UR VU3DJQ VU3DMP VU3USJ VU4MY VU4RG VU7NRO VU7SJ VX3AP VX3CW VX3CX VX3FH VX3JAQ VX3OI VX3RTU VX3RZ VX3S VX3XN VX6AO VX6AX VX6WQ VX7BC VX7CC VX7ZD VX9HF VX9NC VY0HL VY0PW VY1CQ VY1EI VY1WUD VY2EJ VY2GM VY2LI VY2MP VY2MT VY2OM VY2RAC VY2RG VY2RO VY2RU VY2RWM VY2SS VY2TT VY2ZM W0AAA W0AD W0AG W0AIH W0AMX W0AR W0ARK W0AV W0AVE W0AW W0AWL W0BBI W0BCA W0BE W0BF W0BH W0BKR W0BM W0BNW W0BR W0BUW W0BV W0BVR W0CAR W0CBH W0CCA W0CEM W0CGR W0CM W0CML W0CN W0CNN W0CO W0CP W0CQ W0CRC W0CZ W0CZE W0DC W0DD W0DET W0DF W0DHB W0DJH W0DLE W0DOX W0EAR W0EB W0ECS W0EEA W0EF W0EJ W0EK W0EKS W0ELT W0EM W0EOZ W0EP W0EPC W0ERE W0ERP W0ETT W0EWD W0EWM W0FE W0FF W0FK W0FL W0FLS W0FM W0FMS W0FRC W0FS W0FV W0GG W0GHZ W0GJ W0GLB W0GMO W0GXN W0GXQ W0GZR W0HBH W0HDC W0HJW W0HMS W0HR W0HT W0HW W0HXL W0HY W0ICY W0IF W0IJR W0IMD W0IS W0IVJ W0IW W0IYH W0IZ W0IZL W0JA W0JEC W0JEE W0JFR W0JH W0JIM W0JLC W0JPL W0JRP W0JX W0KC W0KIT W0KSD W0KT W0KU W0KVA W0LB W0LEO W0LFZ W0LGU W0LK W0LM W0LS W0LSD W0LTL W0LV W0LWU W0MA W0MF W0MHK W0MJN W0ML W0MM W0MN W0MOT W0MR W0MRM W0MRZ W0MSM W0MSR W0MTW W0MU W0NA W0NB W0NFD W0NFS W0NMD W0NN W0NO W0NT W0NTA W0NUH W0NV W0NZG W0ODS W0OF W0OJ W0OP W0OR W0OR/4 W0OTM W0OTV W0OXJ W0PAN W0PB W0PC W0PI W0PPF W0PQ W0PR W0PRS W0PS W0PSS W0PTI W0PV W0PYZ W0QE W0QL W0QQ W0QQG W0RAA W0RC W0RDS W0RHT W0RI W0RIC W0RLI W0RO W0RSB W0RSP W0RSR W0RT W0RU W0RUN W0RX W0SD W0SHL W0SK W0SLW W0SM W0SO W0SRC W0STB W0SV W0TAW W0TF W0TL W0TLE W0TT W0TU W0TUP W0TVD W0TY W0UA W0UC W0UCE W0UD W0UO W0UOW W0UVC W0UY W0UY/5 W0VB W0VD W0VHV W0VOM W0VX W0WLL W0WMU W0WN W0WOI W0WP W0WPL W0WQ W0WSP W0XG W0XL W0XV W0XXX W0YHE W0YJT W0YK W0YK/6 W0YNI W0YR W0YRN W0YSE W0YV W0YVA W0YY W0YZZ W0ZA W0ZC W0ZD W0ZH W0ZKE W0ZP W0ZQ W0ZR W0ZS W0ZT W0ZTL W0ZU W0ZW W1/YO7ARY W1AAX W1ACC W1ACT W1AD W1AF W1AH W1AIU W1AJT W1AMF W1AMJ W1AN W1AO W1AR W1ASB W1ATA W1ATV W1AUV W1AVK W1AW W1AX W1BB W1BBQ W1BCD W1BEM W1BHC W1BJ W1BLT W1BNC W1BR W1BS W1BUZ W1BV W1BYH W1CBI W1CC W1CCE W1CCE/4 W1CDX W1CKA W1CRK W1CRP W1CRS W1CSM W1CTN W1CU W1CVE W1CWU W1DAD W1DBD W1DDD W1DEO W1DF W1DFL W1DIG W1DMC W1DMD W1DMM W1DNK W1DNK/5 W1DO W1DQ W1DSH W1DUW W1DWA W1DX W1DXH W1DY W1DYJ W1EAT W1EBI W1EBM W1ECH W1ECS W1ECT W1EEB W1EHQ W1EM W1EME W1END W1EQ W1EQO W1ES W1ESE W1EZY W1FA W1FH W1FJ W1FK W1FM W1FMO W1FMR W1FNB W1FP W1FQ W1FV W1GD W1GG W1GL W1GLO W1GQ W1GS W1GSH W1GUD W1GUE W1GUS W1GWN W1GX W1GXZ W1GY W1HBR W1HFD W1HFF W1HFN W1HI W1HIH W1HIJ W1HIS W1HJT W1HMD W1HPT W1HQ W1HR W1HT W1HY W1IBI W1IBQ W1IDL W1IE W1IG W1II W1IL W1IS W1IT W1ITT W1IZQ W1JA W1JCJ W1JCW W1JD W1JGS W1JJC W1JKS W1JMA W1JN W1JNZ W1JQ W1JR W1JSB W1JWC W1KDA W1KM W1KOK W1KQ W1KRS W1KRV W1KSI W1KSZ W1KT W1LDD W1LK W1LOZ W1LRY W1LWH W1LXA W1LY W1LZ W1MAD W1MAT W1MAW W1MD W1MHZ W1MIG W1MJ W1MJB W1MK W1MKY W1MLG W1MO W1MPF W1MSW W1MU W1MX W1MX/100 W1NA W1NDY W1NG W1NK W1NN W1NQT W1NR W1NRB W1NRG W1NSK W1NT W1NY W1OHM W1OO W1OOO W1OP W1ORS W1OU W1OW W1OX W1OZ W1PBB W1PH W1PHB W1PID W1PMR W1PNS W1PR W1PX/4 W1QA W1QG W1QH W1QK W1QLF W1QS W1RAN W1RDJ W1REP W1RET W1RH W1RKT W1RM W1RME W1RO W1RPG W1RQ W1RY W1RZ W1RZF W1SAM W1SD W1SGC W1SJ W1SKB W1SKU W1SLF W1SNE W1SOX W1SRB W1SRD W1SRG W1STT W1TAM W1TBR W1TI W1TJL W1TM W1TMS W1TO W1TR W1TRB W1TS W1TSM W1TSP W1TUM W1TW W1TY W1UD W1UE W1UF W1UJ W1UK W1UN W1UR W1URV W1UU W1VB W1VD W1VE W1VG W1VIV W1VO W1VRY W1VV W1WAT W1WBB W1WC W1WCG W1WEF W1WH W1WIU W1WLJ W1WLW W1WN W1WQM W1WRA W1WSN W1WTG W1WV W1WWW W1XH W1XP W1XT W1XV W1XW W1XX W1YK W1YL/4 W1YM W1YN W1YRC W1YY W1YY/7 W1ZA W1ZC W1ZD/7 W1ZE W1ZGZ W1ZK W1ZM W1ZN W1ZO W1ZR W1ZS W1ZT W1ZX W1ZYX W1ZZ W2/CT1FMX W2/CT1GIF W2/E78WW W2/PY2AAZ W2AAB W2AAS W2ACY W2ACY/5 W2ACY/7 W2AD W2AFC W2AIV W2AN W2ARP W2AT W2AU W2AW W2AYM W2BC W2BEE W2BSN W2BVH W2BXA W2BZR W2BZY W2CCC W2CDO W2CG W2CO W2CR W2CUA W2CVW W2CXX W2DCM W2DEC W2DKM W2DLL W2DLT W2DNR W2DPT W2DWW W2DX W2DXE W2DZO W2EB W2EF W2EFI W2EG W2EJG W2EL W2EN W2EQ W2ESX W2EUA W2EVL W2EZB W2FA W2FAL W2FB W2FBS W2FCP W2FDJ W2FE W2FF W2FJA W2FKF W2FKN W2FMB W2FP W2FT W2FU W2FUI W2FV W2GB W2GD W2GDJ W2GEZ W2GFF W2GG W2GGC W2GGI W2GHD W2GJ W2GLE W2GPS W2GS W2GW W2HA W2HCB W2HDI W2HIY W2HKE W2HLI W2HTI W2HTS W2ID W2IF W2II W2IJ W2IKN W2IMX W2IQK W2IRT W2IUC W2IW W2IZN W2JB W2JD W2JEK W2JGQ W2JJ W2JLK W2JSJ W2JTM W2JU W2JU/1 W2KD W2KFV W2KIM W2KJ W2KKJ W2KKZ W2KLS W2KN W2KP W2KQ W2KU W2KV W2KW W2KXD W2LB W2LC W2LE W2LHL W2LJ W2LK W2LO W2LP W2LPL W2LRO W2LRT W2LU W2LYL W2MAT W2MC W2MEB W2MF W2MFT W2MKW W2ML W2MM W2MMD W2MN W2MSK W2MV W2MXL W2MYA W2MYC W2NBJ W2NGC W2NJ W2NLS W2NO W2NQ W2NQ/7 W2NRA W2NRD W2NY W2OB W2OIB W2OKM W2OL W2OO W2OR W2OSR W2OX W2OZO W2PA W2PHD W2PI W2PJ W2PK W2PM W2PSU W2PV W2PWS W2QF W2QM W2QO W2QQ W2RA W2RBA W2RD W2RDX W2RE W2REH W2RI W2RIJ W2RIP W2RK W2RLB W2RLK W2RM W2RON W2RQ W2RR W2RRT W2RS W2RST W2RTY W2RU W2RX W2RZS W2SF W2SH W2SM W2SMS W2SNX W2SON W2SR W2TA W2TB W2TDZ W2TIN W2TN W2TX W2TZ W2UB W2UDT W2UGZ W2UI W2UJ W2UP W2UQ W2VI W2VJN W2VK W2VKT W2VO W2VP W2VQ W2VS W2VT W2VTV W2VU W2VUF W2VV W2WC W2WD W2WG W2WO W2WP W2XB W2XI W2XL W2XM W2XS W2XYZ W2YC W2YE W2YJ W2YK W2YP W2YR W2YSL W2YT W2YX W2ZDP W2ZEP W2ZI W2ZKE W2ZQ W3ABT W3ACO W3AG W3AMB W3ANJ W3AO W3AS W3ASA W3AT W3AU W3AZ W3AZD W3BBO W3BC W3BE W3BEE W3BG W3BGN W3BJ W3BMW W3BP W3BRG W3BTX W3BUI W3BW W3BZN W3CB W3CC W3CEI W3CF W3CG W3CP W3CQ W3CQB W3CQH W3CRZ W3CSA W3CWE W3DA W3DAD W3DB W3DF W3DM W3DNA W3DP W3DQ W3DQN W3DQT W3DRY W3DSX W3DX W3DYA W3DZH W3EA W3EC W3EDP W3EEE W3EEK W3EF W3EFE W3EH W3EHT W3EJM W3EKT W3EL W3EP W3EQ W3ERC W3ERE W3EST W3EW W3EX W3FAF W3FF W3FI W3FQ W3FT W3FV W3FVT W3FW W3GAT W3GC W3GEG W3GG W3GH W3GK W3GLH W3GM W3GNQ W3GQ W3GRF W3GT W3GYK W3HAL W3HBA W3HDH W3HHN W3HKK W3HMR W3HNK W3HP W3HWY W3HZU W3IDT W3IHY W3II W3IK W3IL W3IP W3IQ W3IUU W3IZ W3JAA W3JBS W3JK W3JXP W3KB W3KDR W3KL W3KLG W3KM W3KS W3KWH W3LD W3LDG W3LJ W3LL W3LPL W3LR W3LSW W3MAT W3MC W3MEL W3MF W3MIK W3ML W3MR W3MRL W3MWR W3NF W3NJ W3NO W3NR W3NR/4 W3NV W3NX W3OA W3OC W3OD W3ODJ W3OE W3OFD W3OFT W3OK W3OKC W3OU W3OUF W3PA W3PD W3PF W3PFC W3PG W3PH W3PMV W3PN W3PO W3PP W3PRL W3PV W3PX W3QK W3RA W3RCP W3RI W3RJ W3RLO W3RT W3SB W3SD W3SE W3SFG W3SM W3SO W3SON W3SQ W3TB W3TB/VP9 W3TC W3TD W3TDF W3TMC W3TMS W3TMZ W3TN W3TNU W3TS W3TUA W3TZ W3UA W3UL W3UM W3UR W3USA W3UTD W3VT W3WC W3WH W3WKX W3WL W3WN W3WOT W3WPA W3WRL W3WTJ W3WW W3XB W3XG W3XX W3XY W3YJ W3YR W3YX W3YY W3YZM W3ZA W3ZF W3ZGD W3ZI W3ZL W3ZQI W3ZV W3ZYF W3ZZ W3ZZX W4/AL7HW W4/G3LIK W4/OH2MQ W4AA W4AAA W4AAM W4ABE W4AEJ W4AG W4AGS W4AJT W4AK W4AKO W4ALA W4AMP W4AMS W4AMW W4AN W4ANR W4AO W4ARM W4AS W4ASE W4ATK W4ATL W4ATM W4AU W4AUB W4AV W4AVV W4AWF W4AZR W4BAB W4BAI W4BAK W4BCG W4BCU W4BFB W4BGH W4BHJ W4BK W4BKV W4BLA W4BNM W4BNO W4BQF W4BTZ W4BUE W4BUW W4BW W4BXI W4CA W4CB W4CCS W4CDM W4CFF W4CHA W4CI W4CID W4CK W4CKD W4CLJ W4CM W4CMM W4COH W4CPO W4CQZ W4CU W4CWA W4CZ W4CZU W4DAN W4DAS W4DAT W4DBT W4DD W4DDR W4DF W4DFW W4DHX W4DJ W4DK W4DKB W4DKR W4DKS W4DL W4DLZ W4DN W4DNN W4DNQ W4DNT W4DR W4DTA W4DU W4DUG W4DUP W4DVG W4DYR W4EA W4EBA W4EDE W4EE W4EEH W4EF W4EI W4EIB W4EIP W4EJG W4ELP W4EMM W4ENN W4ERD W4ET W4ETB W4EW W4EY W4FCR W4FCU W4FDA W4FHC W4FI W4FIN W4FOA W4FOT W4FRA W4FT W4FUN W4FW W4FXE W4FXO W4GAC W4GBU W4GD W4GHD W4GHS W4GHW W4GIW W4GKA W4GKF W4GKM W4GKP W4GKR W4GKT W4GM W4GMH W4GMS W4GNS W4GRC W4GRV W4GV W4GWL W4HAK W4HG W4HGW W4HIJ W4HJ W4HLD W4HLN W4HMV W4HOD W4HQF W4HRC W4HSA W4HVW W4HX W4HYT W4HZ W4HZD W4IA W4IBI W4ID W4IDW W4IEI W4IFG W4IHI W4II W4ILC W4IM W4IOW W4IR W4IS W4ISI W4IT W4IU W4IX W4IY W4JAM W4JCM W4JHC W4JHU W4JKC W4JLS W4JME W4JMJ W4JNH W4JO W4JS W4JSI W4JVN W4JVY W4KA W4KAZ W4KD W4KDB W4KES W4KFA W4KFC W4KFH W4KIL W4KLY W4KN W4KP W4KPA W4KPG W4KRN W4KS W4KTR W4KVS W4KVW W4KW W4KZ W4LC W4LCL W4LDA W4LDE W4LHS W4LIA W4LJM W4LK W4LLX W4LLY W4LM W4LOS W4LQ W4LSC W4LT W4LWW W4MAL W4MAY W4MBD W4MCQ W4MEL W4MIR W4MJA W4ML W4MLB W4MLN W4MOT W4MPS W4MQC W4MR W4MY W4MYA W4NA W4NB W4NBS W4NBY W4NC W4NE W4NF W4NHJ W4NI W4NJK W4NL W4NLX W4NML W4NP W4NPX W4NSC W4NT W4NTI W4NUN W4NX W4NZ W4OC W4OCO W4OEQ W4OG W4OGG W4OI W4OJC W4OM W4OTN W4OV W4OX W4OY W4PA W4PBG W4PBU W4PC W4PDX W4PFM W4PG W4PGC W4PGM W4PHS W4PJ W4PJP W4PJW W4PK W4PL W4PM W4PR W4PTY W4PUX W4PV W4PVC W4PVT W4PY W4QF W4QG W4QJ W4QK W4QM W4QN W4QNW W4QO W4RAA W4RBO W4REG W4REM W4RG W4RIS W4RJ W4RK W4RK/0 W4RKC W4RKZ W4RL W4RM W4RNK W4RQ W4RRE W4RU W4RVN W4RVU W4RX W4RYW W4SAA W4SAR W4SEC W4SES W4SHG W4SIG W4SJV W4SK W4SKI W4SKW W4SLT W4SO W4SOH W4SQL W4STB W4SUL W4SVO W4SVP W4SYV W4TAA W4TBB W4TD W4TDC W4TGB W4TGT W4TIJ W4TJE W4TJW W4TKI W4TME W4TMN W4TMO W4TMR W4TO W4TQ W4TRL W4TSP W4TUG W4TUN W4TVG W4UAL W4UAS W4UAT W4UBC W4UCZ W4UDX W4UE W4UEB W4UEF W4UFO W4UH W4UHF W4UK W4UNP W4UOR W4UP W4USC W4UT W4UUM W4UVA W4UX W4VAB W4VDW W4VES W4VG W4VGI W4VGX W4VHH W4VIC W4VJ W4VKU W4VQ W4VR W4VV W4VX W4WAM W4WFX W4WKN W4WL W4WLF W4WNT W4WQ W4WR W4WRL W4WRS W4WS W4WSW W4WTB W4WVP W4WWK W4WWV W4WX W4XD W4XDX W4XE W4XO W4XQ W4XW W4YA W4YCC W4YCZ W4YD W4YDY W4YE W4YFJ W4YHD W4YK W4YOK W4YWX W4ZAN W4ZE W4ZEW W4ZF W4ZGR W4ZJ W4ZKE W4ZLU W4ZPH W4ZPR W4ZV W4ZW W4ZYT W5ABC W5ACB W5AFW W5AG W5AJ W5AJD W5AK W5AO W5AP W5APS W5AQ W5ASP W5AT W5AU W5AZ W5BAK W5BEN W5BN W5BOL W5BRW W5CDX W5CF W5CHA W5CJF W5CN W5CPT W5CRD W5CU W5CUB W5CWQ W5CX W5DAC W5DAW W5DC W5DET W5DEZ W5DJT W5DKK W5DNT W5DPR W5DQ W5DWA W5EEA W5EK W5EMC W5EN W5EPW W5ERX W5ESE W5ETJ W5EZI W5FBK W5FIT W5FO W5FP W5FPT W5FWR W5FYR W5FZ W5GA W5GAI W5GCX W5GFI W5GFR W5GG W5GGO W5GHZ W5GI W5GJ W5GLW W5GN W5GT W5GWH W5GXV W5GZ W5HD W5HFF W5HNK W5HNS W5HPQ W5HY W5HYN W5IF W5IFP W5IHN W5IO W5IV W5IZ W5JAK W5JAO W5JAW W5JAY W5JBO W5JBV W5JDF W5JE W5JJ W5JK W5JLF W5JLH W5JLR W5JMW W5JNL W5JNP W5JQ W5JR W5JRT W5JZ W5KD W5KDJ W5KEB W5KFT W5KI W5KK W5KNE W5KNN W5KQ W5KRB W5KU W5KV W5LD W5LE W5LEO W5LJW W5LS W5LUA W5LW W5LXG W5MDC W5MET W5MF W5MIC W5MIL W5MJ W5MK W5MMX W5MPC W5MSR W5MT W5MX W5NUT W5NWR W5NYC W5OB W5OJT W5OM W5OMU W5ONX W5OOO W5OU W5OV W5PDW W5PEM W5PET W5PF W5PG W5PJR W5PJW W5PKE W5PO W5PQ W5PR W5PUF W5QLF W5QM W5QP W5RAW W5RCD W5RDW W5RE W5RI W5RJA W5ROS W5RQ W5RRP W5RU W5RW W5RY W5RYA W5RZ W5SG W5SGL W5SL W5SQA W5SV W5SWV W5SXD W5TA W5TAF W5TCR W5TCX W5TFW W5THT W5TM W5TMC W5TO W5TT W5TTE W5TUU W5TV W5TX W5TZC W5UC W5UD W5UE W5UFA W5UHQ W5UHQ/W8 W5UM W5UN W5UW W5VAN W5VDM W5VE W5VEK W5VFO W5VGR W5VQ W5VX W5VY W5VYH W5VZF W5VZM W5WEE W5WFF W5WLA W5WM W5WMU W5WP W5WRE W5WRJ W5WSS W5WT W5WW W5WY W5WZ W5XB W5XC W5XD W5XN W5XU W5XX W5XZ W5YAA W5YC W5YD W5YDM W5YM W5YZ W5ZAX W5ZD W5ZE W5ZG W5ZH W5ZL W5ZN W5ZO W5ZPA W5ZQ W5ZR W5ZZ W6/VK2IMM W6AAN W6ABM W6AEA W6AEQ W6AFA W6AH W6AHB W6AMM W6AMY W6AQ W6ARU W6ASP W6AT W6ATV W6AUG W6AWS W6AYC W6BCQ W6BH W6BJH W6BK W6BN W6BO W6BSY W6BT W6BVB W6BWG W6BX W6BXQ W6BXQ/4 W6CCP W6CS W6CT W6CWM W6CYX W6CZ W6DAW W6DCC W6DDB W6DDD W6DDX W6DEP W6DF W6DNE W6DOC W6DOE W6DOJ W6DPD W6DR W6DRX W6DSG W6DVS W6DW W6DXO W6DXW W6EA W6EB W6EJJ W6EM W6EMC W6ENZ W6EOD W6ERN W6EU W6EUF W6FA W6FB W6FEL W6FFH W6FG W6FH W6FI W6FTA W6FUV W6GA W6GBG W6GEE W6GL W6GMP W6GMT W6GMU W6GR W6GRT W6GRV W6GS W6GU W6GV W6GX W6HF W6HFM W6HG W6HGF W6HH W6HN W6HTC W6HTY W6HYK W6IA W6IGK W6IHG W6IHG/4 W6II W6IJ W6IMF W6IS W6ISO W6IXP W6IYS W6IZT W6JAZ W6JD W6JJW W6JK W6JL W6JNU W6JOD W6JPC W6JTI W6JV W6JVA W6JXH W6JYT W6JYT/7 W6JZH W6KA W6KAT W6KC W6KGP W6KH W6KJ W6KK W6KPC W6KW W6KY W6LAB W6LAR W6LD W6LED W6LEN W6LFB W6LG W6LGS W6LOL W6LW W6LX W6MAC W6MCA W6MIL W6ML W6MM W6MQI W6MUB W6MVW W6MY W6MZQ W6ND W6NEK W6NF W6NIA W6NL W6NOW W6NPR W6NRJ W6NRW W6NV W6NWF W6NWS W6NY W6OAR W6OAT W6OES W6OEZ W6OFM W6ONV W6OOL W6OP W6OPO W6OQI W6OR W6ORD W6OSP W6OTC W6OUL W6OWI W6OZI W6PBF W6PDX W6PH W6PJ W6POK W6PSA W6PU W6PZ W6QE W6QJI W6QO W6QU W6QUV W6RA W6RAR W6RBA W6RDG W6RE W6RFF W6RFU W6RGG W6RJ W6RK W6RKC W6RLK W6RLL W6RLL/7 W6RMC W6RO W6RQ W6RQR W6RS W6RSP W6RTW W6RYI W6SA W6SA/7 W6SAI W6SC W6SGJ/7 W6SIY W6SJ W6SL W6SQC W6SR W6SW W6SX W6SZG W6SZN W6TA W6TAD W6TAI W6TAN W6TC W6TH W6TJ W6TJI W6TK W6TKV W6TMD W6TQG W6TRI W6TRI/9 W6TTF W6TYG W6UB W6UDO W6UE W6UFO W6UM W6UQZ W6UR W6USN W6UW W6UX W6VAR W6VM W6VNQ W6VNR W6VPH W6VW W6VX W6VY W6WAR W6WB W6WGC W6WQC W6WRT W6WVW W6XB W6XI W6XK W6XLR W6XR W6XR/2 W6XTC W6XU W6XX W6YA W6YDE W6YI W6YRA W6YV W6YX W6YXY W6ZEN W6ZL W6ZO W6ZR W6ZZ W7/KL7WP W7AAD W7ABC W7ACD W7ACX W7AFR W7AIT W7AK W7AL W7AML W7APE W7AQK W7ASF W7ASF/VY2 W7ASU W7AT W7AUM W7AWA W7AWH W7AY W7AYN W7BBC W7BBQ W7BCC W7BEB W7BEM W7BG W7BIA W7BJB W7BJN W7BPM W7BQ W7BRS W7BV W7CA W7CAR W7CB W7CEG W7CEL W7CF W7CFR W7CM W7CNA W7CNL W7COH W7COM W7CPI W7CT W7CV W7CWR W7CXA W7DAO W7DCS W7DDD W7DEV W7DFO W7DG W7DK W7DMV W7DO W7DOC W7DPW W7DR W7DRA W7DTG W7DX W7EB W7ED W7EJ W7EKG W7EPA W7ESE W7EW W7EWG W7EXC W7EYE W7FB W7FF W7FFD W7FG W7FM W7FP W7FYW W7GAX W7GB W7GCM W7GET W7GH W7GKF W7GKF/6 W7GLC W7GM W7GMC W7GN W7GO W7GS W7GSV W7GT W7GTH W7GTO W7GVE W7HB W7HJ W7HJ/4 W7HO W7HPW W7HQC W7HS W7HWR W7HX W7HY W7IAN W7ID W7IDG W7IIT W7IJ W7IJN W7IMP W7IMU W7IN W7IU W7IUO W7IUV W7IVM W7IWB W7IX W7IY W7IZ W7IZL W7JAF W7JAM W7JAZ W7JDE W7JEN W7JFF W7JI W7JIF W7JK W7JLC W7JPI W7JQ W7JVN W7JW W7JY W7KAM W7KAT W7KB W7KBI W7KBM W7KEY W7KF W7KFY W7KKR W7KL W7KPL W7KQ W7KQU W7KQZ W7KTE W7KU W7KVN W7KZO W7LB W7LBN W7LD W7LEA W7LEB W7LGG W7LKG W7LNG W7LOU W7LR W7LRD W7LX W7MAD W7MAL W7MAP/5 W7MD W7MDK W7MEM W7MEW W7MEX W7MFC W7MJJ W7MJM W7MM W7MPZ W7MRC W7MS W7MTL W7NAT W7NBH W7ND W7NE W7NEE W7NER W7NNN W7NO W7NP W7NUW W7NYG W7OE W7OIL W7OM W7ON W7OR W7OTV W7OU W7OXB W7OYW W7PEB W7PN W7POE W7PP W7PP/8 W7PRO W7PSK W7PT W7PU W7QC W7QDM W7QEK W7QF W7QL W7QN W7QQQ W7QR W7RF W7RG W7RH W7RIP W7RJ W7RM W7RN W7RNF W7ROE W7RPT W7RRS W7RT W7RTL W7RTO W7RTX W7RV W7RY W7SCT W7SE W7SID W7SMW W7SNH W7SO W7SSO W7SST W7SUR W7SV W7SW W7SWL W7SX W7TAE W7THS W7THY W7TJ W7TMD W7TMT W7TNS W7TSQ W7TVC W7TVF W7TYN W7UA W7UDG W7UG W7ULV W7UPF W7UQ W7URX W7USA W7UT W7UV W7VJ W7VMI W7VO W7VP W7VS W7VSM W7VT W7VV W7VXS W7VY W7WA W7WEC W7WES W7WH W7WHO W7WHY W7WLL W7WMO W7WOF W7WPR W7WVF W7WW W7WWA W7XA W7XC W7XG W7XI W7XU W7XZ W7YA W7YAQ W7YED W7YES W7YKM W7YKN W7YM W7YMS W7YOW W7YOZ W7YP W7YS W7YV W7YVK W7YW W7YY W7ZAC W7ZB W7ZBS W7ZEB W7ZI W7ZJ W7ZMD W7ZOI W7ZQ W7ZR W7ZRC W7ZT W8/T98T W8/W1AW W8AAX W8AB W8AEF W8AEF/7 W8AF W8AJS W8AKS W8AN W8ARC W8ASA W8AV W8AZA W8BAQ W8BAR W8BBM W8BBQ W8BC W8BD W8BFX W8BG W8BI W8BLA W8BTD W8BXG W8BZY W8CAA W8CAM W8CAR W8CCW W8CD W8CDA W8CJQ W8CO W8CT W8CZN W8DA W8DBF W8DC W8DCH W8DCQ W8DD W8DEO W8DEP W8DF W8DHG W8DJ W8DLD W8DM W8DN W8DO W8DQ W8DRZ W8DSN W8DW W8DX W8DYY W8EDU W8EGI W8EH W8EII W8EJK W8EL W8EMI W8EMT W8ERD W8ERN W8FAX W8FDN W8FEM W8FGX W8FJ W8FN W8FR W8FT W8FV W8GBH W8GC W8GEX W8GF W8GG W8GJ W8GNM W8GNM/8 W8GOC W8GP W8GR W8GRP W8GTS W8GXB W8GXT W8HC W8HCS W8HF W8HFY W8HGH W8HMK W8HOM W8HPJ W8HW W8ID W8IDM W8ILC W8IM W8IQ W8ISZ W8IVF W8IW W8IZC W8JA W8JE W8JGU W8JH W8JI W8JJ W8JMF W8JRK W8JTM W8JTW W8JV W8JWA W8JWN W8JY W8KA W8KEN W8KER W8KHP W8KHP/4 W8KJ W8KJP W8KNO W8KQE W8KR W8KRZ W8KTQ W8KV W8KX W8KZP W8LBZ W8LEW W8LGJ W8LGX W8LJB W8LKG W8LKU W8LM W8LO W8LQ W8LR W8LRL W8LRO W8LSV W8LU W8LVN W8LYJ W8MC W8MET W8MHW W8MIS W8MJ W8MKH W8MKR W8MLO W8MP W8MSK W8NA W8NBG W8NCN W8NDG W8NET W8NF W8NGA W8NIC W8NJR W8NNC W8NYK W8OEY W8OH W8OHT W8OI W8OKN W8OP W8OTY W8OU W8OV W8OWS W8OX W8OY/YO W8PBO W8PC W8PDI W8PEN W8PG W8PGW W8PI W8PN W8POF W8POF/4 W8PT W8PU W8PWQ W8QGP W8QID W8QQC W8QQQ W8QW W8QY W8QZA W8RA W8RC W8RCY W8REG W8REW W8RHM W8RID W8RIT W8RJL W8RJM W8RSI W8RT W8RU W8SAN W8SAX W8SF W8SH W8SJ W8SOO W8SQ W8SY W8SYD W8SYR W8TE W8TIV W8TJ W8TK W8TM W8TN W8TOM W8TOP W8TRN W8TU W8TVQ W8TWA W8TZ W8UD W8UDX W8UDY W8UE W8UI W8UMD W8UMH W8UV W8UVZ W8VCK W8VE W8VI W8VM W8VO W8VS W8VSK W8VVE W8VVG W8VXH W8WA W8WCQ W8WD W8WEJ W8WFN W8WG W8WGT W8WH W8WHG W8WOJ W8WTL W8WTS W8WVM W8WVU W8WWC W8WY W8XC W8XD W8XP W8XR W8XY W8XZ W8YMO W8YU W8YY W8ZA W8ZC W8ZD W8ZHO W8ZM W8ZN W8ZR W8ZU W8ZZU W9/DM5TI W9/NP2I W9/UY5LW W9AAC W9ACE W9AEB W9AEM W9AKS W9AMX W9ANT W9APE W9AQ W9ATU W9AV W9AVM W9AZ W9BDN W9BF W9BGA W9BGJ W9BGX W9BHI W9BJ W9BK W9BLI W9BN W9BNO W9BOK W9BP W9BR W9BS W9BWR W9CA W9CC W9CF W9CJO W9CL W9CO W9COD W9CPI W9CPV W9CSX W9CYI W9DC W9DCO W9DEW W9DF W9DGI W9DHD W9DHQ W9DKB W9DKL W9DO W9DX W9DY W9DZ W9EAU W9EBK W9EBO W9EBY W9EEU W9EJB W9EVT W9EWZ W9EXY W9EYE W9FAM W9FBC W9FF W9FHA W9FPZ W9FR W9FW W9FX W9FY W9GD W9GE W9GG W9GIG W9GJG W9GKA W9GLG W9GM W9GMT W9GRS W9GT W9GVW W9HA W9HAK W9HB W9HHX W9HLY W9HM W9HPJ W9HR W9HT W9HW W9IIX W9IKU W9IL W9ILF W9ILY W9ILY/0 W9ILY/9 W9IND W9IP W9ITT W9ITV W9IU W9IW W9JA W9JAZ W9JDJ W9JGC W9JGV W9JH W9JI W9JIU W9JKF W9JL W9JPM W9JTL W9JUV W9JWC W9JXN W9KAY/5 W9KB W9KHH W9KNI W9KQD W9KVR W9KXI W9KXQ W9KXT W9KY W9LC W9LD W9LDO W9LHG W9LIZ W9LL W9LLC W9LNQ W9LO W9LP W9LR W9LU W9LW W9LX W9LZE W9MAF W9MAK W9MBT W9MDG W9MG W9MHB W9MIM W9MK W9MM W9MMZ W9MOF W9MS W9MSE W9MSL W9MU W9MWV W9NG W9NGA W9NJY W9NPI W9NRC W9NTO W9NVK W9NWY W9NX W9NY W9OA W9OA/9 W9OBQ W9OD W9OF W9OF/4 W9OL W9OO W9OOT W9OP W9OSI W9OY W9PDS W9PH W9PIP W9PL W9PL/7 W9PN W9PNP W9POC W9PRD W9PSE W9PT W9PZT W9QB W9QL W9QO W9QR W9QS W9RAM W9RC W9RE W9RGB W9RIG W9RIT W9RLL W9RM W9RN W9RNY W9ROB W9ROG W9RPM W9RR W9RSR W9RTB W9RUK W9RVR W9RWS W9SE W9SN W9SR W9SSS W9STG W9SU W9SUN W9SUS W9SZ W9TB W9THD W9TMW W9TN W9TRF W9TT W9TTT W9TTY W9TY W9UAL W9UBP W9UBT W9UCW W9UD W9UIH W9UK W9UM W9UUM W9UX W9VA W9VHL W9VNE W9VOX W9VQ W9VSA W9VT W9WE W9WGV W9WI W9WJ W9WLC W9WLX W9WS W9WTF W9XA W9XG W9XN W9XQ W9XS W9XT W9XX W9XY W9YA W9YK W9YNI W9YS W9YSX W9YT W9YYG W9YZG W9ZA W9ZJ W9ZJX W9ZR W9ZRX W9ZSJ W9ZT W9ZV WA0AAM WA0AAR WA0ACF WA0ASM WA0AUX WA0AVL WA0BJR WA0BNX WA0BZA WA0CED WA0CTZ WA0DDC WA0DEL WA0DKC WA0DYJ WA0EBZ WA0F WA0FAA WA0GNC WA0GUD WA0HHX WA0IAF WA0IIH WA0JCO WA0JH WA0JTL WA0KAQ WA0KDS WA0KLC WA0KNP WA0L WA0LJM WA0LPV WA0LRE WA0MHJ WA0N WA0OFM WA0OTO WA0PNB WA0QVC WA0RAD WA0RBW WA0ROI WA0RSX WA0SKN WA0SXV WA0USA WA0VPJ WA0WDV WA0WOV WA0WWW WA0YVH WA1APX WA1APX/8 WA1AR WA1AWJ WA1BXY WA1DBR WA1DD WA1DJK WA1DRQ WA1EAJ WA1EHK WA1EOX WA1ESO WA1FCN WA1FOK WA1FVJ WA1FXK WA1GON WA1GOS WA1GS WA1HFF WA1IIE WA1IVN WA1JAE WA1JG WA1JMP WA1JWJ WA1KBE WA1KKM WA1LMC WA1LWS WA1MXT WA1NGH WA1NRQ WA1NTA WA1NVV WA1OLV WA1OUI WA1PMA WA1PMA/4 WA1QDP WA1QYM WA1RCH WA1RF WA1RKS WA1RUS WA1SEO WA1SKQ WA1SYH WA1T WA1T/3 WA1TAC WA1TDQ WA1TTL WA1UJU WA1VIL WA1VQY WA1YZN WA1Z WA1ZHM WA1ZJE WA1ZYX WA2AAW WA2ALY WA2AOG WA2ART WA2ASQ WA2ASQ/4 WA2AXD WA2BAH WA2BCK WA2BEV WA2BJN WA2BKN WA2BMH WA2BSW WA2C WA2CAM WA2CG WA2CLP WA2DKJ WA2DX WA2EAJ WA2EGT WA2EKW WA2EMF WA2EQF WA2ETU WA2EXZ WA2FAX WA2FBN WA2FGK WA2GBF WA2GMT WA2GSX WA2HMM WA2HOM WA2HZO WA2IIE WA2JJQ WA2JJV WA2JLW WA2JQK WA2JVI WA2KBZ WA2KFS WA2KHO WA2LOT WA2LTH WA2LUY WA2LXE WA2MAV WA2MBP WA2MCR WA2MIS WA2MKM WA2NHA WA2NLL WA2NYY WA2OAX WA2OCG WA2OOB WA2PCS WA2PJZ WA2PNI WA2PYX WA2QBJ WA2QQF WA2RAS WA2RKO WA2RNY WA2RSX WA2RXS WA2RY WA2RZJ WA2SCB WA2SEI WA2SON WA2TDC WA2TMC WA2TPU WA2TVS WA2UAH WA2UBK WA2UNP WA2UPK WA2USA WA2USA/2 WA2VCQ WA2VJL WA2VMO WA2VQF WA2VQV WA2VQW WA2VUN WA2VUY WA2VYA WA2VZQ WA2WGF WA2WMR WA2WZU WA2YSJ WA2ZOU WA2ZSK WA3A WA3AAN WA3AER WA3AFS WA3BTA WA3C WA3CUC WA3EKL WA3ELQ WA3EOQ WA3EQJ WA3ERQ WA3ETD WA3EYL WA3EZN WA3FAE WA3FRP WA3G WA3GFB WA3GFM WA3GGM WA3GNW WA3GYW WA3HAE WA3HDQ WA3HJJ WA3HJR WA3HOL WA3IDQ WA3IIA WA3IUO WA3IVV WA3JAT WA3JJT WA3JMV WA3KCP WA3KVN WA3KYY WA3LCO WA3LKT WA3LTJ WA3MKB WA3MKC WA3N WA3O WA3OFC WA3OFR WA3PAK WA3PBL WA3QMJ WA3QWT WA3RCA WA3RGH WA3RHW WA3RNC WA3RP WA3SES WA3SGZ WA3SKQ WA3SLN WA3SWJ WA3SXX WA3TRE WA3UCR WA3UTC WA3UYJ WA3V WA3WLH WA3WOM WA3YGQ WA3YMM WA3YQK WA3YUR WA3ZIC WA3ZII WA3ZMH WA3ZTR WA3ZWC WA4AN WA4APB WA4APG WA4ASJ WA4AU WA4AUL WA4BPJ WA4BUE WA4BVO WA4CAX WA4CEM WA4CGF WA4CM WA4CQG WA4CXI WA4DCL WA4DOU WA4DRM WA4DT WA4DX WA4ED WA4EEZ WA4EMU WA4ERU WA4EUL WA4FFW WA4FMA WA4FXT WA4FXX WA4GBU WA4GGK WA4GLH WA4GP WA4GQG WA4GZK WA4HBK WA4IAX WA4IIF WA4III WA4JA WA4JQS WA4JS WA4JUK WA4KPU WA4KSO WA4KXX WA4KYI WA4LKD WA4LOX WA4LR WA4MAE WA4MDP WA4MLD WA4MYO WA4NEL WA4NUF WA4NVE WA4OAB WA4OSD WA4OTD WA4PAM WA4PGM WA4PXP WA4RG WA4RTE WA4SM WA4SQM WA4SSG WA4STO WA4TII WA4TMJ WA4UIH WA4VKW WA4VMC WA4VVO WA4WKL WA4WLI WA4WQK WA4WTG WA4YBP WA4YJB WA4YYM WA4ZKF WA4ZNY WA4ZSQ WA4ZXV WA5ABR WA5AU WA5BDU WA5BKN WA5FWC WA5IEX WA5IYX WA5JAN WA5JEC WA5JUM WA5KGW WA5KMA WA5KSC WA5KTC WA5KWS WA5LFD WA5LLX WA5LOU WA5MS WA5MUF WA5NFC WA5NNO WA5NNV WA5NOM WA5OYU WA5PFJ WA5POK WA5RHG WA5RML WA5RNV WA5SOG WA5SPP WA5SWN WA5SYU WA5TRX WA5TYJ WA5UA WA5VGI WA5VQM WA5VRE WA5VSK WA5WFE WA5Y WA5YNB WA5ZKO WA5ZUP WA6AEE WA6APQ WA6BAI WA6BOB WA6CDO WA6CDR WA6CIE WA6DIL WA6ES WA6F WA6FFJ WA6FGV WA6GFR WA6HFP WA6HXD WA6HXW WA6HZY WA6IOQ WA6JJB WA6JRZ WA6KHK WA6KYR WA6L WA6LD WA6LDI WA6LIE WA6MEM WA6MQF WA6NHD WA6NHO WA6NOL WA6NUO WA6O WA6OJM WA6OWM WA6PHJ WA6PSI WA6PWP WA6PY WA6QHD WA6RIK WA6RSV WA6RUS WA6RZ WA6SCW WA6SJQ WA6ST WA6TLA WA6TLL WA6UDR WA6URY WA6UYO WA6WPG WA6WXD WA6YEE WA6YKU WA6ZTY WA7AA WA7ADK WA7AJ WA7AR WA7AVL WA7BME WA7CC WA7DX WA7ETH WA7HDI WA7HQD WA7HR WA7IPM WA7ITZ WA7JHQ WA7JT WA7JTM WA7KYI WA7LFJ WA7LK WA7LNC WA7LNW WA7LT WA7LZC WA7MMM WA7NB WA7NCL WA7ND WA7NPX WA7NUH WA7NWL WA7OB WA7OET WA7OFH WA7OJY WA7OZT WA7PRC WA7PVE WA7QCC WA7QQI WA7RCT WA7RF WA7RZW WA7SHP WA7SRZ WA7TOF WA7U WA7UR WA7UTM WA7WNJ WA7YAZ WA8ADA WA8ALV WA8BMY WA8CLT WA8DXB WA8EFK WA8FRD WA8FZZ WA8HSB WA8ICK WA8IHI WA8IQF WA8JBG WA8JOC WA8KAN WA8KAZ WA8KQQ WA8KSS WA8LOW WA8MCD WA8MGD WA8MTI WA8MVU WA8NJR WA8NLX WA8NSS WA8OIF WA8OJR WA8OLD WA8PGE WA8QNN WA8QYJ WA8QZS WA8RCK WA8RCN WA8REI WA8RPK WA8RRA WA8SDA WA8SDF WA8SHP WA8SSQ WA8TJL WA8TM WA8TWM WA8UEG WA8UMT WA8VSJ WA8VTD WA8VVG WA8WV WA8Y WA8YUZ WA8YVF WA8YXA WA8ZBT WA8ZDL WA9ACO WA9AFM WA9AFM/5 WA9APL WA9AQN WA9AQQ WA9BLP WA9BXB WA9C WA9CWX WA9DKO WA9ETW WA9FBC WA9FET WA9FRU WA9FTU WA9FWT WA9HUP WA9HUX WA9IVH WA9JHH WA9JLV WA9JM WA9LEY WA9LJK WA9LKZ WA9LT WA9LYZ WA9MXQ WA9NBU WA9NJR WA9OEC WA9OUE WA9PWP WA9QNN WA9RVM WA9S WA9TOP WA9TZE WA9U WA9URF WA9VEE WA9WJJ WA9WSJ WA9YTQ WA9YYY WA9Z WA9ZBV WA9ZBW WA9ZES WA9ZPC WA9ZPL WA9ZWL/6 WB0AJS WB0B WB0BLV WB0CFF WB0CJB WB0DAS WB0DJX WB0DUG WB0FNZ WB0GAG WB0GAZ WB0GBI WB0GGM WB0GKH WB0HHM WB0IEL WB0IOL WB0IWG WB0IZO WB0JDQ WB0KFM WB0KGN WB0KWJ WB0M WB0MCO WB0MNW WB0N WB0POH WB0PYF WB0QIR WB0QLU WB0QVB WB0RSH WB0RUR WB0SMS WB0SND WB0SOK WB0TEV WB0TRA WB0TSR WB0TUA WB0TVY WB0U WB0UKI WB0UKL WB0ULX WB0VAK WB0VBW WB0VHF WB0VHW WB0WIV WB0WKQ WB0WQS WB0YEA WB0YJT WB0YRM WB0YYE WB0ZNY WB1ABQ WB1ADR WB1AEL WB1COV WB1DX WB1EDI WB1FJH WB1FLA WB1FPA WB1FQW WB1FVY WB1GCM WB1GQR WB1HBQ WB1HJS WB1I WB1Z WB2AA WB2ABD WB2AIV WB2AMU WB2AQC WB2ART WB2ATZ WB2AZE WB2BTO WB2COY WB2DFC WB2ELD WB2FUE WB2GGM WB2GHC WB2HJV WB2HTO WB2HVF WB2IVN WB2JEP WB2JFP WB2JGD WB2JNA WB2JSM WB2JUF WB2KAO WB2KEC WB2KHE WB2KLD WB2KSK WB2KWF WB2L WB2LEB WB2MIC WB2MRX WB2MXJ WB2NJN WB2OFV WB2OQQ WB2PJH WB2PYD WB2QJ WB2RAT WB2REM WB2RFV WB2RGK WB2RHM WB2RIS WB2RRF WB2RTG WB2SCT WB2SIH WB2SUN WB2SXY WB2TFM WB2TJO WB2TPS WB2TQE WB2TSL WB2TSV/7 WB2UFF WB2VSJ WB2WIK WB2WPM WB2Y WB2YHK WB2YIP WB2YZX WB2ZAB WB2ZAP WB2ZEI WB2ZEX WB3AFS WB3AGB WB3AGC WB3ANT WB3AVD WB3AVN WB3BDH WB3BEL WB3BGK WB3CJU WB3CQD WB3CQM WB3CSY WB3DOM WB3EHS WB3EML WB3ESR WB3FIZ WB3HLH WB3HUZ WB3IGR WB3IZF WB3JFS WB3JKQ WB3JVD WB3LGC WB3LTT WB3T WB4AEG WB4BYQ WB4C WB4CSK WB4CSW WB4DAN WB4DNL WB4FDT WB4FEV WB4FSF WB4FSV WB4FWQ WB4GLI WB4HDC WB4HDM WB4HUX WB4I WB4IUY WB4IZX WB4JFS WB4JJJ WB4JVR WB4K WB4KKT WB4KLI WB4KTF WB4KUU WB4KZW WB4LJX WB4LMH WB4MAK WB4MDX WB4MNK WB4MRF WB4MSG WB4NBE WB4NCW WB4NUM WB4OEE WB4OMM WB4OQF WB4PPW WB4PWZ WB4QNG WB4ROA WB4ROA/7 WB4RRD WB4SGA WB4SLM WB4SQ WB4TDH WB4TLX WB4TOM WB4U WB4UIC WB4VSD WB4VVU WB4W WB4WMR WB4WXE WB4X WB4YBY WB4YDL WB4YDY WB4YZA WB4ZBI WB4ZPF WB5A WB5AAA WB5AAR WB5AHN WB5ANN WB5ASP WB5BKL WB5HOW WB5HQO WB5ISM WB5IUU WB5IZD WB5JID WB5K WB5KIA WB5LXJ WB5MFI WB5NMZ WB5NPW WB5ONA WB5OSD WB5PDZ WB5QCB WB5R WB5RYB WB5S WB5SGN WB5STU WB5TEQ WB5TKA WB5TKI WB5TOI WB5TTE WB5TUF WB5UFR WB5VZL WB5WAJ WB5XX WB5YYA WB6AAJ WB6BET WB6BFG WB6BOD WB6CMX WB6CYK WB6FWS WB6HGJ WB6HYH WB6I WB6IQY WB6IXS WB6IYM WB6JJJ WB6JSB WB6JVP WB6KWL WB6L WB6LIU WB6MBF WB6MIO WB6MMC WB6MRQ WB6NJA WB6NKJ WB6NVB WB6OJB WB6OKG WB6OWZ WB6QPG WB6QQU WB6REZ WB6RSE WB6TFD WB6TPF WB6Z WB6ZAM WB6ZHZ WB7ACV WB7AGN WB7AKE WB7B WB7D WB7DBJ WB7DFQ WB7DJR WB7ECS WB7ECS/4 WB7FJG WB7NJV WB7OCV WB7OTL WB7OUZ WB7PMT WB7QCS WB7QXU WB7S WB7TIR WB7TVS WB7UZO WB8AFC WB8AKW WB8B WB8BOR WB8BPU WB8BZK WB8CEH WB8DEG WB8DNO WB8E WB8ENE WB8EYE WB8FLE WB8FSV WB8HWO WB8ICN WB8IMY WB8JAY WB8JUI WB8K WB8KRY WB8LCD WB8LZA WB8MIW WB8MKH WB8N WB8NBA WB8NUT WB8NWA WB8O WB8OWM WB8QLA WB8RFB WB8RTJ WB8SKP WB8TDA WB8TDG WB8TGY WB8TIJ WB8TLI WB8TNN WB8TSD WB8VGE WB8VQU WB8WKQ WB8WRP WB8WTZ WB8YJF WB8YJF/4 WB8YQJ WB8YYY WB8ZOM WB8ZRL WB9AYW WB9CHY WB9CIF WB9DIF WB9DKL WB9DLC WB9EDP WB9EEE WB9EGZ WB9FCI WB9FIP WB9FIU WB9FQS WB9GYJ WB9HFK WB9IRF WB9IRJ WB9JNZ WB9JOX WB9KPT WB9L WB9LPW WB9LRK WB9LTY WB9LZR WB9MDS WB9MII WB9MMR WB9NMN WB9NOO WB9NRK WB9OJE WB9OKQ WB9ONU WB9PUB WB9PZB WB9QVR WB9RAS WB9RZY WB9SFM WB9TFH WB9TNF WB9TVY WB9UDJ WB9UGC WB9UGX WB9UQE WB9VGO WB9VKZ WB9VRP WB9WHQ WB9WKT WB9WOZ WB9YBI WB9YIG WB9YJE WB9YSD WB9Z WB9ZFN WC0A WC0B WC0L WC0N WC0U WC0V WC0W WC1M WC1T WC2C WC2K WC2L WC2W WC2Z WC3A WC3O WC3Q WC4B WC4CC WC4DC WC4E WC4H WC4I WC4KY WC4MBC WC4TX WC4U WC4V WC5B WC5C WC5M WC5N WC5P WC5T WC6DX WC6H WC7CW WC7Q WC7S WC7V WC7WB WC7X WC8VOA WC8W WC9B WC9C WD0AZW WD0BC WD0BGZ WD0BMR WD0BMS WD0CIV WD0DAI WD0DX WD0E WD0EDK WD0FAA WD0GTY WD0J WD0K WD0L WD0M WD0MR WD0T WD1V WD1W WD1X WD1Z WD2E WD2F WD3B WD3C WD4AB WD4ABO WD4AHZ WD4ASP WD4CBA WD4CJN WD4DC WD4DDU WD4DMZ WD4EBR WD4ELG WD4FNY WD4FNY/0 WD4GBW WD4GEO WD4HIM WD4HXE WD4IXD WD4JJ WD4KGC WD4KTF WD4LAZ WD4LBR WD4LTF WD4LUR WD4LYV WD4MSM WD4OHD WD4OHM WD4OJM WD4PDZ WD4PTJ WD4SIG WD5AAM WD5ABC WD5ACR WD5BJT WD5BUC WD5CAW WD5COV WD5DBV WD5EAE WD5FUN WD5HIO WD5IQR WD5IYF WD5IYT WD5JB WD5JNC WD5K WD5KCX WD5R WD5T WD5USA WD6AHV WD6BGG WD6CKT WD6DBM WD6FTB WD6GFF WD6L WD7K WD7Y WD8AHR WD8ANZ WD8BAH WD8BBE WD8BCS WD8BIL WD8CJN WD8CQB WD8DSB WD8DYO WD8EOL WD8H WD8ICX WD8INF WD8IQJ WD8JJA WD8JOL WD8JP WD8KNC WD8KRV WD8M WD8MBE WD8NHA WD8NVN WD8OSE WD8OSV WD8OZS WD8PKF WD8QGE WD8QIJ WD8RIF WD8RUW WD8RWI WD8RYC WD8S WD8V WD9ABG WD9CHG WD9CIR WD9COM WD9DZV WD9EJK WD9EKA WD9EMI WD9F WD9FJL WD9FTZ WD9GJK WD9GMK WD9HDT WD9HSY WD9HYM WD9IDV WD9IOK WE0Q WE1H WE1P WE2N WE2Y WE3C WE3E WE3J WE3ST WE4H WE4M WE4Q WE4S WE5I WE5K WE5O WE6C WE6EZ WE6L WE6M WE6Z WE7G WE7K WE7P WE8P WE8R WE9A WE9M WE9N WE9R WE9V WF0GM WF1L WF2B WF2S WF2W WF3C WF3M WF3T WF4B WF4G WF4M WF4U WF4W WF5E WF5I WF5T WF5W WF5X WF6C WF6F WF6O WF7K WF7T WF7T/4 WF8N WF8P WF9A WF9V WG0G WG0I WG0M WG0V WG1W WG1X WG2B WG2Y WG3J WG3U WG4F WG4M WG4MB WG4P WG5G WG5J WG7J WG7X WG7Y WG8DX WG8H WG8P WG8Y WG9L WH0AC WH0S WH2D WH2DX WH2X WH6C WH6OR WH6R WH7GM WH7TU WH7V WI0S WI0W WI0WA WI1G WI1I WI2E WI3K WI4A WI4DX WI4N WI4R WI4T WI5ND WI6I WI6J WI6T WI6Z WI7D WI7F WI7N WI8A WI8B WI8C WI8R WI9G WI9H WI9M WI9TOM WI9WI WI9Z WJ0X WJ1B WJ1R WJ2D WJ2O WJ2P WJ3A WJ3F WJ3P WJ4N WJ5C WJ5DX WJ5S WJ6O WJ6Y WJ7R WJ8E WJ8Y WJ9B WJ9X WK0DX WK0P WK1Q WK2G WK2H WK2S WK3N WK4F WK4P WK4Q WK4W WK4Y WK5T WK5X WK6C WK6I WK6S WK7P WK8A WK8U WK8V WK9H WL7BDO WL7E/W7 WL7E/WZ7 WL7O WL7SJ WL7UQ WM0F WM0G WM1G WM2H WM2Z WM3L WM3O WM3PEN WM3T WM4D WM4Q WM4R WM4RM WM5DX WM5R WM6A WM6DX WM7DX WM9DX WN0G WN0L WN1GIV WN1M WN1OTV WN1X WN2O WN2T WN2Y WN3N WN3R WN3USA WN4AT WN4DX WN4LTY WN4S WN4VCH WN5G WN5V WN6K WN6M WN6W WN7J WN7L WN7M WN7T WN7Y WN8P WN8R WN9E WN9ICB WN9J WN9M WN9O WN9P WO0Q WO1N WO2N WO2T WO2Y WO3P WO3Z WO4D WO4DX WO4O WO4R WO5D WO5I WO6M WO6T WO7U WO7Y WO8CC WO8J WO8J/7 WO8USA WO8VET WO9S WO9U WO9Z WP2B WP2E WP2Z WP3C WP3EF WP3GW WP3R WP3UX WP4BH WP4CGH WP4CRG WP4D WP4DQK WP4EDD WP4I WP4JBG WP4L WP4NEG WP4NIX WP4NND WP4SK WP4U WP4WV WP4WW WQ0A WQ0B WQ1H WQ2N WQ3E WQ3T WQ3X WQ4L WQ5L WQ5O WQ6K WQ6O WQ6X WQ7A WQ7L WQ7X WQ8RP WQ8T WQ9E WQ9T WQ9Z WR1B WR1Q WR1TX WR2G WR2V WR3H WR3L WR3Z WR4AA WR4C WR4F WR4I WR4K WR4U WR5AW WR5G WR5U WR7DW WR7HE WR7K WR7Q WR8J WR8R WR9AN WR9L WR9Y WS0Z WS1F WS1L WS1V WS2E WS2L WS4C WS4F WS4H WS4NC WS4WW WS4Y WS5H WS5K WS6K WS6X WS6Z WS7I WS7L WS7N WS7V WS7X WS8D WS8M WS9E WS9J WS9M WS9M/2 WS9M/4 WS9V WS9W WT0A WT0AA WT0D WT0O WT1M WT2Z WT3Q WT4PF WT4Q WT4Y WT5K WT5L WT5N WT5R WT5U WT6A WT6G WT6K WT6P WT6TT WT6X WT7N WT7RC WT7TT WT8C WT8E WT8F WT8N WT8O WT9Q WT9U WU0L WU1E WU1ITU WU2L WU2S WU2X WU3A WU3H WU4G WU5E WU5PIG WU6CC WU7O WU7R WU8P WU8Q WU9B WV0T WV1M WV2NY WV2ZOW WV3U WV4I WV4V WV4Y WV5K WV5L WV6E WV6I WV6N WV7Q WV7Z WV8A WV8AA WV8USA WV9B WV9S WW0AL WW0E WW0H WW0WB WW1M WW1WW WW2DX WW2NC WW2NJ WW2P WW2PT WW2R WW2Y WW3A WW3DE WW3K WW3KP WW3Q WW3QB WW3S WW4B WW4CP WW4DM WW4E WW4GC WW4LL WW4R WW5AA WW5R WW5TT WW5W WW6D WW6O WW6P WW6USA WW7Q WW8O WW8OH WW9DX WW9R WX0B WX0V WX1MAN WX1O WX1S WX1V WX1X WX2F WX2N WX2T WX2U WX3A WX3B WX3G WX3SKY WX4CW WX4G WX4MLB WX4MM WX4QN WX4RM WX4TM WX4X WX5H WX5I WX5N WX5S WX5W WX6V WX6W WX6Y WX7B WX7E WX7G WX7L WX7P WX7T WX8G WX9C WX9EP WX9U WX9Z WY0B WY0L WY0V WY1H WY1U WY2G WY3A WY3P WY4A WY4J WY4Y WY5I WY6DX WY6K WY7DK WY7FD WY7I WY7KRA WY7LL WY7N WY7SS WY7USA WY8DX WY8I WY9N WZ1F WZ2T WZ3B WZ4F WZ4P WZ4Z WZ6T WZ6Z WZ7E WZ7M WZ7ZR WZ8D WZ8DX WZ8K WZ8P WZ8T WZ9B XE1AY XE1B XE1BY XE1CDF XE1CQ XE1CRG XE1CT XE1CWJ XE1EE XE1FAS XE1FSK XE1FZE XE1GRR XE1GZU XE1HJL XE1HJN XE1HON XE1IM XE1J XE1KK XE1L XE1LM XE1MEX XE1MM XE1MO XE1MW XE1NVA XE1NW XE1OK XE1R XE1RBV XE1RCS XE1REM XE1REW XE1RP XE1RZL XE1SAR XE1SAX XE1SGW XE1SVT XE1TD XE1TDX XE1TNC XE1TRP XE1USG XE1V XE1VY XE1XZQ XE1YJS XE1YYD XE1YZY XE1ZCQ XE1ZTW XE1ZW XE2AC XE2AI XE2ANT XE2AU XE2AUB XE2AUD XE2CQ XE2D XE2EJ XE2ES XE2EX XE2FGC XE2GAG XE2GG XE2HUM XE2HUQ XE2I XE2JA XE2K XE2MM XE2MVS XE2MX XE2NS XE2RC XE2RV XE2S XE2SIV XE2TH XE2TPJ XE2TZP XE2WK XE2WWW XE2YBG XE2YHR XE2YOM XE2YWH XE3D XE3DX XE3KGS XE3N XE3PMR XE3RR XF3PAS XQ1IDM XQ4CW XQ4EM XQ5C XQ5CIE XQ5CL XQ8GLQ XR1A XR3A XR3P XR6T XU7AAA XU7ACY XU7ADU XU7FMZ XU7KOH XU7MDY XU7TZG XU7XXX XV1X XV2MDY XV2RZ XV2W XV4BX XW1B XX9LT YB0AI YB0AJV YB0BCU YB0COU YB0COX YB0DPO YB0ECT YB0EIN YB0JIV YB0JK YB0KYM YB0MJY YB0MWM YB0NFL YB0PAH YB0ZZ YB1ALL YB1AQD YB1AR YB1C YB1CCF YB1CYD YB1KAR YB1MBA YB1NWP YB1PC YB1TJ YB1UUN YB1YCT YB2DDL YB2DX YB2ECG YB2LSR YB2OK YB2UTX YB3BOA YB3IZK YB3JBJ YB3MM YB3OX YB3TD YB3VK YB3XM YB41AR YB4IR YB5AQB YB5OUB YB6INU YB8EL YB8EXL YB8FL YC0COX YC0IEM YC1BRS YC1BYX YC1DYY YC1LA YC1UDK YC1URC YC2BG YC2EUZ YC2LEV YC2USI YC2WWW YC2YTH YC3TKH YC5OO YC5OUB YC5VB YC6BRS YC6CM YC6EN YC6JRT YC6NE YC8FEF YC9MDX YC9WIC YD1BJX YD1HUH YD1XUH YD2LEV YD3KWR YE0X YE1C YE1ZAL YE1ZAT YE2R YI9WV YJ0MM YK9Y YL/4L3A YL0A YL0Y YL1S YL1XN YL1YI YL1ZC YL1ZO YL1ZS YL1ZX YL2BJ YL2BR YL2CA YL2CF YL2CI YL2CR YL2CV YL2EC YL2GC YL2GC/P YL2GD YL2GP YL2GQG YL2GQT YL2GUV YL2HK YL2II YL2IP YL2IS YL2IU YL2JZ YL2KF YL2KO YL2LW YL2MR YL2MR/P YL2NK YL2NN YL2PA YL2PJ YL2PN YL2PP YL2QS YL2QV YL2SM YL2TB YL2TD YL2TQ YL2VW YL3AD YL3BZ YL3CU YL3DR YL3DW YL3DX YL3FP YL3FT YL3FW YL3FX YL3GDR YL3GFO YL3GFX YL3GGX YL3IZ YL4HQ YL4U YL5M YL5T YL5W YL6W YL7A YL7W YL7X YL8M YL90AIR YL90CP YL90PA YL9T YL9W YM2W YM3A YM3D YN2BQ YN2DD YN2EA YN2GY YN2NB YN2S YN2WW YN2Z YO/HA5BWW YO2ADQ YO2AMU YO2AOB YO2AQB YO2ARV YO2BB YO2BBX YO2BLX YO2BS YO2BV YO2CJX YO2CMI YO2DFA YO2GL YO2II YO2IS YO2IS/P YO2KCB YO2KDT YO2KJI YO2LAN YO2LAU YO2LEA YO2LEE YO2LFP YO2LGX YO2LHD YO2LIE YO2LIM YO2LIW YO2LRH YO2LXB YO2LXW YO2LYN YO2MAX YO2MBA YO2MCK YO2MHD YO2MHJ YO2MIL YO2MJI YO2MJZ YO2ODE YO2QY YO2R YO2RLC YO2RO YO2RR YO3AAJ YO3AIL YO3AIS YO3AK YO3APJ YO3BAP YO3BL YO3BZF YO3CBZ YO3CCC YO3CEN YO3CVG YO3CZW YO3DAC YO3DIU YO3DLK YO3FF YO3FFF YO3FLR YO3FN YO3FOM YO3FRI YO3FVR YO3GCL YO3GGO YO3GW YO3III YO3JF YO3JOS/P YO3JR YO3JV YO3JW YO3KIA YO3KPA YO3ND YO3RU YO3UA YO3VU YO3XX YO3YB YO3YV YO3YX YO3YZ YO3ZA YO4AAC YO4AB YO4ASD YO4ASG YO4ATW YO4AUL YO4AUP YO4AYE YO4AYL YO4BEX YO4BTB YO4CAH YO4CAS YO4CSL YO4CVT YO4CVV YO4DFT YO4DW YO4FTC YO4FTE YO4GHW YO4GNJ YO4HEK YO4KCC YO4MM YO4NA YO4PX YO4QZ YO4RIU YO4RIW YO4RSS YO4RST YO4SI YO4TMB YO4UQ YO4US YO4WZ YO50IE YO50IF YO5AEX YO5AIR YO5AJR YO5ALI YO5AM YO5AMF YO5BAT YO5BBO YO5BET YO5BEU YO5BJW YO5BQQ YO5BRE YO5BRZ YO5BTZ YO5BXI YO5BXK YO5BYV YO5CBN YO5CBX YO5CCQ YO5CCX YO5CRQ YO5CUQ YO5CZZ YO5DAS YO5DMB/P YO5FMT YO5IR YO5KAD YO5KDW YO5KDX YO5KOP YO5KTK YO5KUF YO5LN YO5NY YO5OAG YO5OCZ YO5ODL YO5ODT YO5OED YO5OEF YO5OET YO5OHC YO5OHO YO5OHY YO5OLD YO5OPH YO5PBF YO5PBG YO5PBW YO5PCY YO5PHQ YO5QBP YO5QCD YO5TP YO6ADW YO6AEI YO6AJI YO6BHN YO6BLU YO6BZL YO6CFB YO6DBL YO6EV YO6EX YO6EZ YO6FGZ YO6HSU YO6HVQ YO6KEA YO6KEI YO6KNE YO6KNY YO6LV YO6MK YO6MT YO6OAF YO6PEG YO6PHX YO6QT YO6UO YO6VCB YO7AHR YO7APA YO7AQF YO7ARY YO7ARY/W1 YO7ARZ YO7AWZ YO7BGA YO7BGB YO7CVL YO7CWP YO7DAA YO7DO YO7FB YO7FT YO7HBY YO7HGM YO7HJM YO7KFA YO7KJX YO7LBX YO7LCB YO7LFV YO7LGI YO7LHC YO7LHU YO7LID YO7LKW YO7LTQ YO7LYM YO7MGG YO7NE YO7NW YO7VP YO7VT YO7WB YO8AXP YO8AZQ YO8BDQ YO8BFB YO8BFC YO8BGD YO8BPK YO8BPY YO8CJY YO8CLX YO8DDP YO8DOH YO8FR YO8FZ YO8GF YO8KAE YO8KGA YO8KGP YO8KIS YO8KOO YO8KOS YO8KRR YO8KVS YO8MF YO8MI YO8OH YO8OU YO8RAA YO8RFJ YO8RFS YO8RIJ YO8RIX YO8RKP YO8ROO YO8RQP YO8RZJ YO8SAI YO8SS YO8SSB YO8ST YO8STB YO8SXX YO8THG YO8TNB YO8TOH YO8WW YO9ABL YO9AFH YO9AFT YO9AGI YO9BCZ YO9BHI YO9BPX YO9BQW YO9BXC YO9BXE YO9BXZ YO9CB YO9CWY YO9CXE YO9CYM YO9DFQ YO9DL YO9FKN YO9FKU YO9FL YO9FNP YO9FWX YO9FYP YO9GJX YO9GMI YO9GSB YO9GVN YO9HG YO9HMB YO9HNH YO9HP YO9HPJ YO9IE YO9IF YO9IIF YO9IKW YO9ION YO9KPI YO9KPM YO9KVV YO9OC YO9SW YO9WF YO9XC YP0A YP1WFF YP2U YP2W YP2Y YP3A YP5Z YP6C YP7P YP8A YP8I YP8I/P YP9W YQ2ANT YQ5Q YQ6A YQ9W YR0HQ YR0R YR0WL YR1A YR1C YR1Z YR2TM YR2U YR2X YR2Y YR5N YR5O YR5S YR5T YR5Z YR6M YR7M YR80HCS YR8A YR8B YR8D YR8I YR8T YR8V YR90U YR9F YR9HQ YR9P YS1/W3MKT YS1GR YS1MAE YS1YS YS1ZC YS4M YS4RR YS4U YT09AU YT0A YT0HQ YT0I YT0T YT0W YT0Z YT1A YT1AA YT1AD YT1AU YT1BB YT1BX YT1CC YT1CS YT1DB YT1E YT1FM YT1HA YT1KC YT1LD YT1ML YT1MZ YT1Q YT1QQ YT1R YT1S YT1T YT1TA YT1TM YT1UM YT1UR YT1V YT1VM YT1VP YT1WS YT1ZA YT1ZZ YT2A YT2AA YT2AAA YT2ACA YT2B YT2EA YT2F YT2FA YT2ISM YT2L YT2PFR YT2RX YT2SMS YT2T YT2U YT2VPA YT2W YT2WW YT3A YT3AA YT3C YT3E YT3H YT3M YT3MA YT3PL YT3R YT3T YT3W YT40E YT40EC YT4A YT4RA YT4T YT4W YT5A YT5C YT5CC YT5CWW YT5M YT5N YT5RA YT5T YT5TT YT5W YT5Z YT7A YT7AT YT7AW YT7B YT7DQ YT7DX YT7EC YT7EE YT7IM YT7KF YT7KM YT7R YT7T YT7TA YT7W YT7XX YT7Z YT8A YT8AA YT8FG YT8T YT8TA YT8WW YT9A YT9C YT9T YT9X YU/HB9EDB YU/N8BO YU/NF5A YU09DW YU09RP YU0A YU0R YU0U YU0W YU140Z YU1AAQ YU1AAV YU1AB YU1ADO YU1AM YU1AR YU1ARC YU1ARL YU1AS YU1AST YU1AT YU1AU YU1B YU1BFG YU1BM YU1BN YU1CA YU1CC YU1DG YU1DW YU1DX YU1ED YU1EL YU1EO YU1EW YU1EX YU1EXY YU1FE YU1FG YU1FJK YU1FW YU1GN YU1GU YU1HC YU1HFG YU1HQR YU1IG YU1INO YU1IV YU1JF YU1JW YU1KA YU1KN YU1KT YU1KX YU1LA YU1LD YU1LM YU1MM YU1MS YU1NA YU1NGR YU1NR YU1NSK YU1NT YU1OTB YU1PC YU1PJ YU1QQ YU1QT YU1QU YU1R YU1RA YU1RE YU1RK YU1RP YU1RW YU1SB YU1SZ YU1TO YU1TR YU1UM YU1UN YU1UO YU1VG YU1W YU1WC YU1WN YU1WS YU1XO YU1XW YU1XX YU1YJ YU1YO YU1YV YU1ZM YU1ZZ YU25KN YU2A YU2AA YU2AVB YU2CV YU2DRA YU2DX YU2EF YU2EZ YU2FG YU2M YU2MBM YU2MMA YU2U YU3A YU3AA YU3FX YU3MMM YU3MUP YU3W YU3WW YU40A YU40AF YU40BM YU40FN YU40MM YU4A YU5A YU5B YU5C YU5GBT YU5M YU5MOL YU5R YU5RA YU5RY YU5T YU5W YU5ZM YU6A YU6DX YU7AE YU7AF YU7AU YU7AV YU7BB YU7BCD YU7BCL YU7BH YU7BL YU7D YU7DP YU7DX YU7DZ YU7EE YU7FN YU7FW YU7GM YU7GW YU7KG YU7KM YU7KW YU7LS YU7MM YU7NU YU7ONE YU7PG YU7RL YU7RQ YU7U YU7VX YU7W YU7WI YU7WW YU7YZ YU7ZEX YU7ZZ YU8A YU8AU YU8CW YU8EQ YU8FD YU8GD YU8JU YU8KN YU8NR YU8NU YU8QQ YU9A YU9DX YV1CTE YV1DIG YV1FM YV1JGT YV1NX YV1RDX YV2BYT YV2IF YV4A YV4AZ YV4BCD YV4CW YV4GD YV5AAX YV5AJ YV5AMH YV5BM YV5EAH YV5ER YV5IAL YV5JBI YV5JF YV5KG YV5KQA YV5LI YV5MSG YV5NWG YV5OIE YV5OK YV5VD YV5VE YV6BFE YV6BTF YV6BXN YV7QP YV8AD YW2LV YW4A YW4B YW4D YW4V YW5D YW5DX YW5L YW5NN YW5RTTY YW5RY YW5T YW5W YW7A YY1ALC YY1JGT YY1MTX YY1OKR YY4CVI YY4RN YY5AEA YY5ALO YY5CBK YY5EBV YY5GJC YY5LI YY6JAG Z21BB Z29KM Z30A Z30HQ Z30MCWG Z31A Z31CZ Z31MM Z32AJA Z32ID Z33A Z33F Z33Z Z35F Z35G Z35M Z35M/P Z35T Z35W Z35X Z36N Z36W Z37M Z39Z ZA0/I0SNY ZA0/I8LWL ZA0/IK7JWX ZA1FD ZA1FM ZB2BL ZB2EO ZB2X ZC4LI ZC4T ZC4TS ZC4VJ ZD8RH ZF1A ZF1EJ ZF2AE/ZF8 ZF2AH ZF2AM ZF2BJ ZF2DF ZF2DO ZF2JT ZK2DF ZK2DL ZK2V ZL1AAO ZL1AAR ZL1AH ZL1AIH ZL1AIX ZL1ALA ZL1ALZ ZL1ANH ZL1AZE ZL1BIV ZL1BOQ ZL1BVB ZL1BYZ ZL1CDP ZL1CDX ZL1DK ZL1IRD ZL1JMC ZL1KMN ZL1NI ZL1OGX ZL1T ZL1TM ZL1V ZL2ACG ZL2AFT ZL2AGY ZL2AJ ZL2AL ZL2ALJ ZL2AOH ZL2AUA ZL2AUB ZL2AUJ ZL2AZ ZL2BAB ZL2BR ZL2CV ZL2FT ZL2G ZL2GR ZL2IFB ZL2JKY ZL2JU ZL2LF ZL2MF ZL2MM ZL2OK ZL2ST ZL2UN ZL2UO ZL3A ZL3AB ZL3DMC ZL3DXT ZL3GA ZL3IO ZL3IX ZL3JT ZL3NB ZL3PAH ZL3SV ZL3TE ZL4A ZL4AD ZL4AS ZL4CR ZL4DH ZL4DX ZL4IG ZL4JB ZL4NG ZL4NR ZL4NX ZL4PW ZL4QJ ZL4QS ZL4WW ZL6HQ ZM1A ZM1K ZM2A ZM2AGY ZM2B ZM2M ZM2RR ZM3A ZM3T ZM4A ZM4G ZM4M ZM4T ZP0R ZP5AA ZP5CGL ZP5DPA ZP5KO ZP5MAL ZP6/N3BNA ZP6DEM ZP6VLA ZP6VT ZP7NIA ZP8VAO ZP9EH ZR1ADI ZS10WCS ZS1A ZS1AAX ZS1AJ ZS1EL ZS1IL ZS1JX ZS1JY ZS1OLI ZS1REC ZS1RJQ ZS1ROY ZS1SA ZS1SR ZS1WE ZS1XUK ZS1ZY ZS2BS ZS2DL ZS2EZ ZS2I ZS2NF ZS2Y ZS3AOR ZS3D ZS3Y ZS4BS ZS4JAN ZS4S ZS4TX ZS4U ZS5NK ZS5ZZ ZS6AKU ZS6BAF ZS6BB ZS6BQI ZS6BRZ ZS6C ZS6JPY ZS6JR ZS6ME ZS6PMS ZS6PVT ZS6RF ZS6RJ ZS6WN ZS6WR ZS9T ZS9X ZS9Z ZT2V ZV2A ZV2C ZV2K ZV2V ZV5E ZV5O ZW2B ZW2C ZW3F ZW4O ZW5B ZW5D ZW5HQ ZW5R ZW5UN ZW7A ZW8T ZX2B ZX2X ZX5B ZX5J ZX5ZZ ZX7A ZX7C ZX7U ZY2C ZY5Z ZY7C ZZ5Z ZZ6Z KH6/N0CO KH6/W6PH F/G4BJM F/DJ7JC IM0/IK0FMB ZZ5Z HA7VK CR3E tucnak-4.32/data/tucnakv64.png0000644000175000017500000001166211277513163013130 00000000000000PNG  IHDR@@iqbKGDC pHYs  tIME  |?IDATxyl\uwyo gpER(JDKdYaRɶKuҤ8:M"E ZimRINرc%v/X(J"UCCry˽ I2iKA.@bgXmif7\/?o]lJ?{o;rcfۻN[RS:zJ,[o)'O~Iymur&HҀ:u :p,\|w@_v}ߍͼgL&N:|zfBQ|ݟ}I2tʖ_ׯ|w,9hv7O@MN@9<ۆbȧR>k{dӘ.{g%{wA)|"#[eW]48ܳpvxjh[W*B>߷H`B$  "zКZXe?y^r(ƠZZkjFf w~+#ۋ?2w[: ~!@>>ё۟(pr/g:;A$hB[>kx}/ՏoM/G'nGa /}>XҽG-Z V[ L%#핏=9MQsb1'gSh" O6C?=4(ց%muuș}bO+pcة5ce 5k\`v( X0Q[l2놅Di=Ə.a3ʘ4%"W_ ƭ(>09`2m dTGkGzk hݽy̆aҲ`BdK.2%>avv#ֳ1(M<].H-'nalX /?U leǃR/9)@}K@"0]+7\u&@H 5B'^~|vf 3 0@a?wt/:}I@u[7m}晧7_ )^m6$s*8I; FK%\-(h,fƵ+Z 0i<hĎmP]BQ<'2\pI(>N[5{u~{ 13goN-a6Uq 2$@{\8<,|B/[ely 81#Xum+A"08 !Bǩ? WuH4wA.+oJ2-QJ0=Ĕ6!}~(@.9ZfPolKS(˾ N@N:(#kl 3jI+J.8/ELkÔX)cm+FJ$J(:1X ŪTBU,֖Q8/R3U!noEfFN 8?\ 1Z~$1$1J"<` }k5jV!+BFD@5 0`&B aBJ 0  Lp/,SJ!k:::NpT7iRsyc>p_H+wa16l؀d2 &Lyi XB8FuuubӦP7)Ba8c~Eb!kyc\$6^qVJ#j B <(lcE 3zjju]`0帞D`fq"=b,`;chۼi#2!޵Bbp$p8l24ryUK^kƛ^ V&A.WqB.\ Ӵ.JdfwI)m۶ =0wBjbBs465!TUc|VBd q\tӍ$X,a`4 DrleY @:gD?Eou_Q8y @k 0ށD"Q-8EHE&D"% 6 +7w\0Bޏ1hM ADò RC(XuI _?(jiiphhhZX)O^} BTWĢƦ |xWd"B8ڲ,~7֝;!fb0:6<] B"AJ !G#cKq'5c¢E6|ݫ>^4o.{ظ@R%aR8sf??o?\vFz:}^J@ay t. 3ήB6MS,nU`v"^O~ ˖u¶mdYR)H)+{9k甞r>,R l|N  \;R )P8u, v4 QS#9=d<y+V<6<;oψX%6Yٳgg^466gΤw>J9\!d*C᜿iss!`+7BZcVE[ww7VFjbI[, @J` 104ipp\0R`( AGGHkB p˖.ŢFD"(R8]*ĉ*Hy^a^D@]SSSw(R)dYlہeYH9JO PNټa4 y?އcJgfj6X>ˇI E` DiZcw1 `~0jޱcGcǎ8Z"9e~Ə,<T.@y L oX-Ģ1(XԴ۷oǺX"CSS#4il6q9¯ >Vj\)oL)5BV Cr{G! kǡ\J-F߇Hdfqh"C!\rKH&|y'>;rJp)B  #ˁ OU8e3p=&2QzRQя=Zddfguughmdsx/.XF , s!H^Z =܃d4$c<@JrY"[,K`zs%>WٶSIÈB,)2}Uȫ11 3xmK@k vzB"*0V&\B|Atv:a(m0U\- )qr6KI{2(K8Di89(? TMA:Хw|"#@pP("eY82,BÇ!1yGR{0BLc!CM\Ji!*+"\GA@, ^2|Z5KiqVHG:G3M¡Cy>u[{]Ѯݾ*|M-E) P\(1rk+eW͵ŕB7܋}yǰ7f֪uJ97@FcUN"$kR p|UFDZEΠ,^۳?~e9rY?v)]ND?Ol4"!߄4|-sJkx0T1k+oybTW' L'wϰAsY2H#yJ~\z."4=V/v5w:*n')VRsDzǎY/f2ZV_Wh4`(҄\tz v6 96NNd0jug<{۱]MDx/Qtó)AS4ZONCÅg:ʫ0rm\ytl$! BL~ǰa}-uq FQCoxPTsD4yxd^|rjٽ)K~]?<=]r:c㬆3(o֦Dt΍5݋ECV0N)v ɦS0[PΝgmdTi$byG2s'u`+ %7w]~CM㒫"MM1068ǁaPʆkñcG6:ɴn3j{oѶRd:3̛0uz2 w ρ)2pcnDulYKL摛:]<Lz:t=;H%`2r M)A\E|@Ua,[N_pĂ&LerIFg^:[ә V}?l/7O~39d(E ê2HYǝ<>],^fIENDB`tucnak-4.32/data/update_eee.sh0000755000175000017500000000050612133241455013221 00000000000000#!/bin/sh echo "*** This is upgrade script for Tucnak" echo "*** Please follow instructions bellow" echo "" cd $HOME echo "tar xvzf '$2' tucnak/tucnak" tar xvzf '$2' tucnak/tucnak if test x"$?" = x"0" ; then echo "*** Seems OK. Please restart Tucnak" exit 0 else echo "*** tar returns $?, giving up" fi tucnak-4.32/data/tucnakvexcuba0000644000175000017500000000072513163015331013347 00000000000000AAA HAC PHI ACC HCC RAC ALT HOB RAF ARA HRT RAM ARC IPR RAT AST KSD RBO ATH KTK RCA ATO LGE RCB BDX LIR RCN BFA LLV REM BLW LUS RST BRC LVN RSX BSE MCL SNW BTS MLB THN BXE MNS TLS CDZ MTT TRA CLR MWV TRC CPN NBT TWS CRD NLB UBA DNZ NMR VHF DRC NNV WLD DST NOK WRA EKO NOL WRC ERA ODE WTN GBN ONZ WTO GBX ORA XXX GDV OSA ZLB GNT OSB ZLZ GTM OST ZTM XXX tucnak-4.32/data/titlpage.html0000644000175000017500000001572313732575627013311 00000000000000 $PCall - $TName

Contest log

Category: $PSectName
Sheet Nr. 1 of $NoOfPages Pg

Band: $PBand
WW-Locator: $PWWLo

Call used: $PCall
Contest: $TDate - $TName
Contest QTH: $PAddr1 $Paddr2
First operator name: $RName
Call: $RCall

Address: $RAddr1 $RAddr2 $RPoCo $RCity
Other operators: $MOpe1 $MOpe2
Transmitter: $TXEq
Output: $SPowe

Receiver: $RXEq
Preamp: $SPreamp

Antennas: $RAnte
AGL;ASL: $SAntH

Sum of QSO 's: $CQSOs
Average km/QSO $CAvg

Best DX - km : $CODXQRB
Call: $CODXCall Locator: $CODXLoc

Countries worked: $CDXCCs
Total sum of points: $CToSc
Declaration:
I hereby certify that this station was operated within the rules and spirit of the contest and within the terms of the license.
Date:
First op. signature:

Contest manager:
Call:
Locator:

Section:
Claimed score:

QSOs:
Correction:

Final score:

tucnak-4.32/data/home32.png0000644000175000017500000000146212055104352012364 00000000000000PNG  IHDR sbKGD̿ pHYs  tIME  IDATHYHTa8dQF\-eADKABԋEIdX>DEоGaYT(m36wTFAs1m==LַyY|U_Eu=1ĐB"פy-uW3р<pm(xG<1 ]%gɟ*g][껥z[_%=Fx1]n046ݛ'i6iv96'.`Ou˛ Tm2+o H(sM[4v)&ᔷrwj 9sHo$6p5׊Qjs|]~ xb*P2(]VvƛD6=pP鍊{HL* ѣ $k} ,&dʀ^oYtCu Z0bXVp(Fh@5 @z 9ĝ)[º%!0>SFnU!8:wﯯEygHcIENDB`tucnak-4.32/data/cty.dat0000644000175000017500000023303212026200621012044 00000000000000Sov Mil Order of Malta: 15: 28: EU: 41.90: -12.43: -1.0: 1A: 1A; Spratly Islands: 26: 50: AS: 9.88: -114.23: -8.0: 1S: 1S,9M0,BV9S,=9M4SLL; Monaco: 14: 27: EU: 43.73: -7.40: -1.0: 3A: 3A; Agalega & St. Brandon: 39: 53: AF: -10.45: -56.67: -4.0: 3B6: 3B6,3B7; Mauritius: 39: 53: AF: -20.35: -57.50: -4.0: 3B8: 3B8; Rodriguez Island: 39: 53: AF: -19.70: -63.42: -4.0: 3B9: 3B9; Equatorial Guinea: 36: 47: AF: 1.70: -10.33: -1.0: 3C: 3C; Annobon Island: 36: 52: AF: -1.43: -5.62: -1.0: 3C0: 3C0; Fiji: 32: 56: OC: -17.78: -177.92: -12.0: 3D2: 3D2; Conway Reef: 32: 56: OC: -22.00: -175.00: -12.0: 3D2/c: =3D2C; Rotuma Island: 32: 56: OC: -12.48: -177.08: -12.0: 3D2/r: =3D2RI; Swaziland: 38: 57: AF: -26.65: -31.48: -2.0: 3DA: 3DA; Tunisia: 33: 37: AF: 35.40: -9.32: -1.0: 3V: 3V,TS; Vietnam: 26: 49: AS: 15.80: -107.90: -7.0: 3W: 3W,XV; Guinea: 35: 46: AF: 11.00: 10.68: 0.0: 3X: 3X; Bouvet: 38: 67: AF: -54.42: -3.38: -1.0: 3Y/b: =3Y0E; Peter 1 Island: 12: 72: SA: -68.77: 90.58: 4.0: 3Y/p: =3Y0X; Azerbaijan: 21: 29: AS: 40.45: -47.37: -4.0: 4J: 4J,4K; Georgia: 21: 29: AS: 42.00: -45.00: -4.0: 4L: 4L,UF6V; Montenegro: 15: 28: EU: 42.50: -19.28: -1.0: 4O: 4O; Sri Lanka: 22: 41: AS: 7.60: -80.70: -5.5: 4S: 4P,4Q,4R,4S; ITU HQ: 14: 28: EU: 46.17: -6.05: -1.0: 4U1I: 4U0I,4U1I,4U2I,4U3I,4U4I,4U5I,4U6I,4U7I,4U8I,4U9I,=4U1WRC; United Nations HQ: 05: 08: NA: 40.75: 73.97: 5.0: 4U1U: 4U1U; Vienna Intl Ctr: 15: 28: EU: 48.20: -16.30: -1.0: *4U1V: 4U1V; Timor - Leste: 28: 54: OC: -8.80: -126.05: -9.0: 4W: 4W; Israel: 20: 39: AS: 31.32: -34.82: -2.0: 4X: 4X,4Z; Libya: 34: 38: AF: 27.20: -16.60: -2.0: 5A: 5A; Cyprus: 20: 39: AS: 35.00: -33.00: -2.0: 5B: 5B,C4,H2,P3; Tanzania: 37: 53: AF: -5.75: -33.92: -3.0: 5H: 5H,5I; Nigeria: 35: 46: AF: 9.87: -7.55: -1.0: 5N: 5N,5O; Madagascar: 39: 53: AF: -19.00: -46.58: -3.0: 5R: 5R,5S,6X; Mauritania: 35: 46: AF: 20.60: 10.50: 0.0: 5T: 5T; Niger: 35: 46: AF: 17.63: -9.43: -1.0: 5U: 5U; Togo: 35: 46: AF: 8.40: -1.28: 0.0: 5V: 5V; Samoa: 32: 62: OC: -13.93: 171.70: -13.0: 5W: 5W; Uganda: 37: 48: AF: 1.92: -32.60: -3.0: 5X: 5X; Kenya: 37: 48: AF: 0.32: -38.15: -3.0: 5Z: 5Y,5Z; Senegal: 35: 46: AF: 15.20: 14.63: 0.0: 6W: 6V,6W; Jamaica: 08: 11: NA: 18.20: 77.47: 5.0: 6Y: 6Y; Yemen: 21: 39: AS: 15.65: -48.12: -3.0: 7O: 7O; Lesotho: 38: 57: AF: -29.22: -27.88: -2.0: 7P: 7P; Malawi: 37: 53: AF: -14.00: -34.00: -2.0: 7Q: 7Q; Algeria: 33: 37: AF: 28.00: -2.00: -1.0: 7X: 7R,7T,7U,7V,7W,7X,7Y; Barbados: 08: 11: NA: 13.18: 59.53: 4.0: 8P: 8P; Maldives: 22: 41: AS: 4.15: -73.45: -5.0: 8Q: 8Q; Guyana: 09: 12: SA: 6.02: 59.45: 4.0: 8R: 8R; Croatia: 15: 28: EU: 45.18: -15.30: -1.0: 9A: 9A,=VERSION; Ghana: 35: 46: AF: 7.70: 1.57: 0.0: 9G: 9G; Malta: 15: 28: EU: 35.88: -14.42: -1.0: 9H: 9H; Zambia: 36: 53: AF: -14.22: -26.73: -2.0: 9J: 9I,9J; Kuwait: 21: 39: AS: 29.38: -47.38: -3.0: 9K: 9K,NLD; Sierra Leone: 35: 46: AF: 8.50: 13.25: 0.0: 9L: 9L; West Malaysia: 28: 54: AS: 3.95: -102.23: -8.0: 9M2: 9M2,9M4,9W2,9W4,=9M8DX/2; East Malaysia: 28: 54: OC: 2.68: -113.32: -8.0: 9M6: 9M6,9M8,9M9,9W6,9W8,=9M4SAB; Nepal: 22: 42: AS: 27.70: -85.33: -5.75: 9N: 9N; Dem. Rep. of the Congo: 36: 52: AF: -3.12: -23.03: -1.0: 9Q: 9O,9P,9Q,9R,9S,9T; Burundi: 36: 52: AF: -3.17: -29.78: -2.0: 9U: 9U; Singapore: 28: 54: AS: 1.37: -103.78: -8.0: 9V: 9V,S6; Rwanda: 36: 52: AF: -1.75: -29.82: -2.0: 9X: 9X; Trinidad & Tobago: 09: 11: SA: 10.38: 61.28: 4.0: 9Y: 9Y,9Z; Botswana: 38: 57: AF: -22.00: -24.00: -2.0: A2: 8O,A2; Tonga: 32: 62: OC: -21.22: 175.13: -13.0: A3: A3; Oman: 21: 39: AS: 23.60: -58.55: -4.0: A4: A4; Bhutan: 22: 41: AS: 27.40: -90.18: -6.0: A5: A5; United Arab Emirates: 21: 39: AS: 24.00: -54.00: -4.0: A6: A6; Qatar: 21: 39: AS: 25.25: -51.13: -3.0: A7: A7; Bahrain: 21: 39: AS: 26.03: -50.53: -3.0: A9: A9; Pakistan: 21: 41: AS: 30.00: -70.00: -5.0: AP: 6P,6Q,6R,6S,AP,AQ,AR,AS; Scarborough Reef: 27: 50: AS: 15.08: -117.72: -8.0: BS7: =BS7H; Taiwan: 24: 44: AS: 23.72: -120.88: -8.0: BV: BM,BN,BO,BP,BQ,BU,BV,BW,BX; Pratas Island: 24: 44: AS: 20.70: -116.70: -8.0: BV9P: BM9P,BN9P,BO9P,BP9P,BQ9P,BU9P,BV9P,BW9P,BX9P; China: 24: 44: AS: 36.00: -102.00: -8.0: BY: 3H,3H0(23)[42],3H9(23)[43],3I,3I0(23)[42],3I9(23)[43],3J,3J0(23)[42], 3J9(23)[43],3K,3K0(23)[42],3K9(23)[43],3L,3L0(23)[42],3L9(23)[43],3M, 3M0(23)[42],3M9(23)[43],3N,3N0(23)[42],3N9(23)[43],3O,3O0(23)[42], 3O9(23)[43],3P,3P0(23)[42],3P9(23)[43],3Q,3Q0(23)[42],3Q9(23)[43],3R, 3R0(23)[42],3R9(23)[43],3S,3S0(23)[42],3S9(23)[43],3T,3T0(23)[42], 3T9(23)[43],3U,3U0(23)[42],3U9(23)[43],B0(23)[42],B2,B3,B4,B5,B6,B7,B8, B9(23)[43],BA,BA0(23)[42],BA9(23)[43],BD,BD0(23)[42],BD9(23)[43],BG, BG0(23)[42],BG9(23)[43],BH,BH0(23)[42],BH9(23)[43],BI,BJ,BJ0(23)[42], BJ9(23)[43],BL,BL0(23)[42],BL9(23)[43],BT,BT0(23)[42],BT9(23)[43],BY, BY0(23)[42],BY9(23)[43],BZ,BZ0(23)[42],BZ9(23)[43],XS,XS0(23)[42], XS9(23)[43],B1,B2A[33],B2B[33],B2C[33],B2D[33],B2E[33],B2F[33],B2G[33], B2H[33],B2I[33],B2J[33],B2K[33],B2L[33],B2M[33],B2N[33],B2O[33],B2P[33], B3G(23)[33],B3H(23)[33],B3I(23)[33],B3J(23)[33],B3K(23)[33],B3L(23)[33], B6Q[43],B6R[43],B6S[43],B6T[43],B6U[43],B6V[43],B6W[43],B6X[43],B7A[43], B7B[43],B7C[43],B7D[43],B7E[43],B7F[43],B7G[43],B7H[43],B7Q[43],B7R[43], B7S[43],B7T[43],B7U[43],B7V[43],B7W[43],B7X[43],B8A[43],B8B[43],B8C[43], B8D[43],B8E[43],B8F[43],B8G[43],B8H[43],B8I[43],B8J[43],B8K[43],B8L[43], B8M[43],B8N[43],B8O[43],B8P[43],B8Q[43],B8R[43],B8S[43],B8T[43],B8U[43], B8V[43],B8W[43],B8X[43],B9A(24)[43],B9B(24)[43],B9C(24)[43],B9D(24)[43], B9E(24)[43],B9F(24)[43],B9S(23)[42],B9T(23)[42],B9U(23)[42],B9V(23)[42], B9W(23)[42],B9X(23)[42],BA2A[33],BA2B[33],BA2C[33],BA2D[33],BA2E[33], BA2F[33],BA2G[33],BA2H[33],BA2I[33],BA2J[33],BA2K[33],BA2L[33],BA2M[33], BA2N[33],BA2O[33],BA2P[33],BA3G(23)[33],BA3H(23)[33],BA3I(23)[33], BA3J(23)[33],BA3K(23)[33],BA3L(23)[33],BA6Q[43],BA6R[43],BA6S[43], BA6T[43],BA6U[43],BA6V[43],BA6W[43],BA6X[43],BA7A[43],BA7B[43],BA7C[43], BA7D[43],BA7E[43],BA7F[43],BA7G[43],BA7H[43],BA7Q[43],BA7R[43],BA7S[43], BA7T[43],BA7U[43],BA7V[43],BA7W[43],BA7X[43],BA8A[43],BA8B[43],BA8C[43], BA8D[43],BA8E[43],BA8F[43],BA8G[43],BA8H[43],BA8I[43],BA8J[43],BA8K[43], BA8L[43],BA8M[43],BA8N[43],BA8O[43],BA8P[43],BA8Q[43],BA8R[43],BA8S[43], BA8T[43],BA8U[43],BA8V[43],BA8W[43],BA8X[43],BA9A(24)[43],BA9B(24)[43], BA9C(24)[43],BA9D(24)[43],BA9E(24)[43],BA9F(24)[43],BA9S(23)[42], BA9T(23)[42],BA9U(23)[42],BA9V(23)[42],BA9W(23)[42],BA9X(23)[42],BD2A[33], BD2B[33],BD2C[33],BD2D[33],BD2E[33],BD2F[33],BD2G[33],BD2H[33],BD2I[33], BD2J[33],BD2K[33],BD2L[33],BD2M[33],BD2N[33],BD2O[33],BD2P[33], BD3G(23)[33],BD3H(23)[33],BD3I(23)[33],BD3J(23)[33],BD3K(23)[33], BD3L(23)[33],BD6Q[43],BD6R[43],BD6S[43],BD6T[43],BD6U[43],BD6V[43], BD6W[43],BD6X[43],BD7A[43],BD7B[43],BD7C[43],BD7D[43],BD7E[43],BD7F[43], BD7G[43],BD7H[43],BD7Q[43],BD7R[43],BD7S[43],BD7T[43],BD7U[43],BD7V[43], BD7W[43],BD7X[43],BD8A[43],BD8B[43],BD8C[43],BD8D[43],BD8E[43],BD8F[43], BD8G[43],BD8H[43],BD8I[43],BD8J[43],BD8K[43],BD8L[43],BD8M[43],BD8N[43], BD8O[43],BD8P[43],BD8Q[43],BD8R[43],BD8S[43],BD8T[43],BD8U[43],BD8V[43], BD8W[43],BD8X[43],BD9A(24)[43],BD9B(24)[43],BD9C(24)[43],BD9D(24)[43], BD9E(24)[43],BD9F(24)[43],BD9S(23)[42],BD9T(23)[42],BD9U(23)[42], BD9V(23)[42],BD9W(23)[42],BD9X(23)[42],BG2A[33],BG2B[33],BG2C[33], BG2D[33],BG2E[33],BG2F[33],BG2G[33],BG2H[33],BG2I[33],BG2J[33],BG2K[33], BG2L[33],BG2M[33],BG2N[33],BG2O[33],BG2P[33],BG3G(23)[33],BG3H(23)[33], BG3I(23)[33],BG3J(23)[33],BG3K(23)[33],BG3L(23)[33],BG6Q[43],BG6R[43], BG6S[43],BG6T[43],BG6U[43],BG6V[43],BG6W[43],BG6X[43],BG7A[43],BG7B[43], BG7C[43],BG7D[43],BG7E[43],BG7F[43],BG7G[43],BG7H[43],BG7Q[43],BG7R[43], BG7S[43],BG7T[43],BG7U[43],BG7V[43],BG7W[43],BG7X[43],BG8A[43],BG8B[43], BG8C[43],BG8D[43],BG8E[43],BG8F[43],BG8G[43],BG8H[43],BG8I[43],BG8J[43], BG8K[43],BG8L[43],BG8M[43],BG8N[43],BG8O[43],BG8P[43],BG8Q[43],BG8R[43], BG8S[43],BG8T[43],BG8U[43],BG8V[43],BG8W[43],BG8X[43],BG9A(24)[43], BG9B(24)[43],BG9C(24)[43],BG9D(24)[43],BG9E(24)[43],BG9F(24)[43], BG9S(23)[42],BG9T(23)[42],BG9U(23)[42],BG9V(23)[42],BG9W(23)[42], BG9X(23)[42],BH2A[33],BH2B[33],BH2C[33],BH2D[33],BH2E[33],BH2F[33], BH2G[33],BH2H[33],BH2I[33],BH2J[33],BH2K[33],BH2L[33],BH2M[33],BH2N[33], BH2O[33],BH2P[33],BH3G(23)[33],BH3H(23)[33],BH3I(23)[33],BH3J(23)[33], BH3K(23)[33],BH3L(23)[33],BH6Q[43],BH6R[43],BH6S[43],BH6T[43],BH6U[43], BH6V[43],BH6W[43],BH6X[43],BH7A[43],BH7B[43],BH7C[43],BH7D[43],BH7E[43], BH7F[43],BH7G[43],BH7H[43],BH7Q[43],BH7R[43],BH7S[43],BH7T[43],BH7U[43], BH7V[43],BH7W[43],BH7X[43],BH8A[43],BH8B[43],BH8C[43],BH8D[43],BH8E[43], BH8F[43],BH8G[43],BH8H[43],BH8I[43],BH8J[43],BH8K[43],BH8L[43],BH8M[43], BH8N[43],BH8O[43],BH8P[43],BH8Q[43],BH8R[43],BH8S[43],BH8T[43],BH8U[43], BH8V[43],BH8W[43],BH8X[43],BH9A(24)[43],BH9B(24)[43],BH9C(24)[43], BH9D(24)[43],BH9E(24)[43],BH9F(24)[43],BH9S(23)[42],BH9T(23)[42], BH9U(23)[42],BH9V(23)[42],BH9W(23)[42],BH9X(23)[42],BJ2A[33],BJ2B[33], BJ2C[33],BJ2D[33],BJ2E[33],BJ2F[33],BJ2G[33],BJ2H[33],BJ2I[33],BJ2J[33], BJ2K[33],BJ2L[33],BJ2M[33],BJ2N[33],BJ2O[33],BJ2P[33],BJ3G(23)[33], BJ3H(23)[33],BJ3I(23)[33],BJ3J(23)[33],BJ3K(23)[33],BJ3L(23)[33],BJ6Q[43], BJ6R[43],BJ6S[43],BJ6T[43],BJ6U[43],BJ6V[43],BJ6W[43],BJ6X[43],BJ7A[43], BJ7B[43],BJ7C[43],BJ7D[43],BJ7E[43],BJ7F[43],BJ7G[43],BJ7H[43],BJ7Q[43], BJ7R[43],BJ7S[43],BJ7T[43],BJ7U[43],BJ7V[43],BJ7W[43],BJ7X[43],BJ8A[43], BJ8B[43],BJ8C[43],BJ8D[43],BJ8E[43],BJ8F[43],BJ8G[43],BJ8H[43],BJ8I[43], BJ8J[43],BJ8K[43],BJ8L[43],BJ8M[43],BJ8N[43],BJ8O[43],BJ8P[43],BJ8Q[43], BJ8R[43],BJ8S[43],BJ8T[43],BJ8U[43],BJ8V[43],BJ8W[43],BJ8X[43], BJ9A(24)[43],BJ9B(24)[43],BJ9C(24)[43],BJ9D(24)[43],BJ9E(24)[43], BJ9F(24)[43],BJ9S(23)[42],BJ9T(23)[42],BJ9U(23)[42],BJ9V(23)[42], BJ9W(23)[42],BJ9X(23)[42],BL2A[33],BL2B[33],BL2C[33],BL2D[33],BL2E[33], BL2F[33],BL2G[33],BL2H[33],BL2I[33],BL2J[33],BL2K[33],BL2L[33],BL2M[33], BL2N[33],BL2O[33],BL2P[33],BL3G(23)[33],BL3H(23)[33],BL3I(23)[33], BL3J(23)[33],BL3K(23)[33],BL3L(23)[33],BL6Q[43],BL6R[43],BL6S[43], BL6T[43],BL6U[43],BL6V[43],BL6W[43],BL6X[43],BL7A[43],BL7B[43],BL7C[43], BL7D[43],BL7E[43],BL7F[43],BL7G[43],BL7H[43],BL7Q[43],BL7R[43],BL7S[43], BL7T[43],BL7U[43],BL7V[43],BL7W[43],BL7X[43],BL8A[43],BL8B[43],BL8C[43], BL8D[43],BL8E[43],BL8F[43],BL8G[43],BL8H[43],BL8I[43],BL8J[43],BL8K[43], BL8L[43],BL8M[43],BL8N[43],BL8O[43],BL8P[43],BL8Q[43],BL8R[43],BL8S[43], BL8T[43],BL8U[43],BL8V[43],BL8W[43],BL8X[43],BL9A(24)[43],BL9B(24)[43], BL9C(24)[43],BL9D(24)[43],BL9E(24)[43],BL9F(24)[43],BL9S(23)[42], BL9T(23)[42],BL9U(23)[42],BL9V(23)[42],BL9W(23)[42],BL9X(23)[42],BT2A[33], BT2B[33],BT2C[33],BT2D[33],BT2E[33],BT2F[33],BT2G[33],BT2H[33],BT2I[33], BT2J[33],BT2K[33],BT2L[33],BT2M[33],BT2N[33],BT2O[33],BT2P[33], BT3G(23)[33],BT3H(23)[33],BT3I(23)[33],BT3J(23)[33],BT3K(23)[33], BT3L(23)[33],BT6Q[43],BT6R[43],BT6S[43],BT6T[43],BT6U[43],BT6V[43], BT6W[43],BT6X[43],BT7A[43],BT7B[43],BT7C[43],BT7D[43],BT7E[43],BT7F[43], BT7G[43],BT7H[43],BT7Q[43],BT7R[43],BT7S[43],BT7T[43],BT7U[43],BT7V[43], BT7W[43],BT7X[43],BT8A[43],BT8B[43],BT8C[43],BT8D[43],BT8E[43],BT8F[43], BT8G[43],BT8H[43],BT8I[43],BT8J[43],BT8K[43],BT8L[43],BT8M[43],BT8N[43], BT8O[43],BT8P[43],BT8Q[43],BT8R[43],BT8S[43],BT8T[43],BT8U[43],BT8V[43], BT8W[43],BT8X[43],BT9A(24)[43],BT9B(24)[43],BT9C(24)[43],BT9D(24)[43], BT9E(24)[43],BT9F(24)[43],BT9S(23)[42],BT9T(23)[42],BT9U(23)[42], BT9V(23)[42],BT9W(23)[42],BT9X(23)[42],BY2A[33],BY2B[33],BY2C[33], BY2D[33],BY2E[33],BY2F[33],BY2G[33],BY2H[33],BY2I[33],BY2J[33],BY2K[33], BY2L[33],BY2M[33],BY2N[33],BY2O[33],BY2P[33],BY3G(23)[33],BY3H(23)[33], BY3I(23)[33],BY3J(23)[33],BY3K(23)[33],BY3L(23)[33],BY6Q[43],BY6R[43], BY6S[43],BY6T[43],BY6U[43],BY6V[43],BY6W[43],BY6X[43],BY7A[43],BY7B[43], BY7C[43],BY7D[43],BY7E[43],BY7F[43],BY7G[43],BY7H[43],BY7Q[43],BY7R[43], BY7S[43],BY7T[43],BY7U[43],BY7V[43],BY7W[43],BY7X[43],BY8A[43],BY8B[43], BY8C[43],BY8D[43],BY8E[43],BY8F[43],BY8G[43],BY8H[43],BY8I[43],BY8J[43], BY8K[43],BY8L[43],BY8M[43],BY8N[43],BY8O[43],BY8P[43],BY8Q[43],BY8R[43], BY8S[43],BY8T[43],BY8U[43],BY8V[43],BY8W[43],BY8X[43],BY9A(24)[43], BY9B(24)[43],BY9C(24)[43],BY9D(24)[43],BY9E(24)[43],BY9F(24)[43], BY9S(23)[42],BY9T(23)[42],BY9U(23)[42],BY9V(23)[42],BY9W(23)[42], BY9X(23)[42],BZ2A[33],BZ2B[33],BZ2C[33],BZ2D[33],BZ2E[33],BZ2F[33], BZ2G[33],BZ2H[33],BZ2I[33],BZ2J[33],BZ2K[33],BZ2L[33],BZ2M[33],BZ2N[33], BZ2O[33],BZ2P[33],BZ3G(23)[33],BZ3H(23)[33],BZ3I(23)[33],BZ3J(23)[33], BZ3K(23)[33],BZ3L(23)[33],BZ6Q[43],BZ6R[43],BZ6S[43],BZ6T[43],BZ6U[43], BZ6V[43],BZ6W[43],BZ6X[43],BZ7A[43],BZ7B[43],BZ7C[43],BZ7D[43],BZ7E[43], BZ7F[43],BZ7G[43],BZ7H[43],BZ7Q[43],BZ7R[43],BZ7S[43],BZ7T[43],BZ7U[43], BZ7V[43],BZ7W[43],BZ7X[43],BZ8A[43],BZ8B[43],BZ8C[43],BZ8D[43],BZ8E[43], BZ8F[43],BZ8G[43],BZ8H[43],BZ8I[43],BZ8J[43],BZ8K[43],BZ8L[43],BZ8M[43], BZ8N[43],BZ8O[43],BZ8P[43],BZ8Q[43],BZ8R[43],BZ8S[43],BZ8T[43],BZ8U[43], BZ8V[43],BZ8W[43],BZ8X[43],BZ9A(24)[43],BZ9B(24)[43],BZ9C(24)[43], BZ9D(24)[43],BZ9E(24)[43],BZ9F(24)[43],BZ9S(23)[42],BZ9T(23)[42], BZ9U(23)[42],BZ9V(23)[42],BZ9W(23)[42],BZ9X(23)[42],=BA7JS/9(23)[42], =BD5HSV/9(23)[43],=BG0GE/9; Nauru: 31: 65: OC: -0.52: -166.92: -12.0: C2: C2; Andorra: 14: 27: EU: 42.58: -1.62: -1.0: C3: C3; The Gambia: 35: 46: AF: 13.40: 16.38: 0.0: C5: C5; Bahamas: 08: 11: NA: 24.25: 76.00: 5.0: C6: C6; Mozambique: 37: 53: AF: -18.25: -35.00: -2.0: C9: C8,C9; Chile: 12: 14: SA: -30.00: 71.00: 4.0: CE: 3G,CA,CB,CC,CD,CE,XQ,XR,3G7[16],3G8[16],CA7[16],CA8[16],CB7[16],CB8[16], CC7[16],CC8[16],CD7[16],CD8[16],CE7[16],CE8[16],XQ7[16],XQ8[16],XR7[16], XR8[16]; San Felix & San Ambrosio: 12: 14: SA: -26.28: 80.07: 4.0: CE0X: 3G0X,CA0X,CB0X,CC0X,CD0X,CE0X,XQ0X,XR0X; Easter Island: 12: 63: SA: -27.10: 109.37: 6.0: CE0Y: 3G0,CA0,CB0,CC0,CD0,CE0,XQ0,XR0; Juan Fernandez Islands: 12: 14: SA: -33.60: 78.85: 4.0: CE0Z: 3G0Z,CA0Z,CB0Z,CC0Z,CD0Z,CE0Z,XQ0Z,XR0Z; Antarctica: 13: 74: SA: -90.00: 0.00: 0.0: CE9: 3Y[73],ANT(29)[69],AX0(39)[69],AY1Z[73],AY2Z[73],AY3Z[73],AY4Z[73], AY5Z[73],AY6Z[73],AY7Z[73],AY8Z[73],AY9Z[73],FT0Y(30)[70],FT1Y(30)[70], FT2Y(30)[70],FT4Y(30)[70],FT5Y(30)[70],FT8Y(30)[70],LU1Z[73],LU2Z[73], LU3Z[73],LU4Z[73],LU5Z[73],LU6Z[73],LU7Z[73],LU8Z[73],LU9Z[73], R1AN(29)[69],RI1AN(29)[69],VI0(39)[69],VK0(39)[69],ZL5(30)[71], ZM5(30)[71],ZS7(38)[67],=K9PET/KC4,=8J1RL(39)[67],=DP0GVN(38)[67], =DP0GVN/P(38)[67],=DP1POL(38)[67],=KC4AAA(39),=KC4AAC[73],=KC4USB(12), =KC4USV(30)[71],=R1ANR(38)[67],=RI1ANR(38)[67],=VK0BFG(29)[70], =VP8ADE/B[73],=VP8DLM[73],=VP8DMH[73],=VU3BPZ(38)[67],=VU3BPZ/P(39)[69]; Cuba: 08: 11: NA: 21.50: 80.00: 5.0: CM: CL,CM,CO,T4; Morocco: 33: 37: AF: 32.00: 5.00: 0.0: CN: 5C,5D,5E,5F,5G,CN; Bolivia: 10: 12: SA: -17.00: 65.00: 4.0: CP: CP,CP2[14],CP3[14],CP4[14],CP5[14],CP6[14],CP7[14]; Portugal: 14: 37: EU: 39.50: 8.00: 0.0: CT: CQ,CR,CS,CT; Madeira Islands: 33: 36: AF: 32.75: 16.95: 0.0: CT3: CQ2,CQ3,CQ9,CR3,CR9,CS3,CS9,CT3,CT9; Azores: 14: 36: EU: 38.70: 27.23: 1.0: CU: CQ1,CQ8,CR1,CR2,CR8,CS4,CS8,CT8,CU; Uruguay: 13: 14: SA: -33.00: 56.00: 3.0: CX: CV,CW,CX; Sable Island: 05: 09: NA: 43.93: 59.90: 4.0: CY0: CY0; St. Paul Island: 05: 09: NA: 47.00: 60.00: 4.0: CY9: CY9; Angola: 36: 52: AF: -12.50: -18.50: -1.0: D2: D2,D3; Cape Verde: 35: 46: AF: 16.00: 24.00: 1.0: D4: D4; Comoros: 39: 53: AF: -11.63: -43.30: -3.0: D6: D6; Fed. Rep. of Germany: 14: 28: EU: 51.00: -10.00: -1.0: DL: DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR; Philippines: 27: 50: OC: 13.00: -122.00: -8.0: DU: 4D,4E,4F,4G,4H,4I,DU,DV,DW,DX,DY,DZ; Eritrea: 37: 48: AF: 15.00: -39.00: -3.0: E3: E3; Palestine: 20: 39: AS: 31.28: -34.27: -2.0: E4: E4; North Cook Islands: 32: 62: OC: -10.02: 161.08: 10.0: E5/n: =E51AND,=E51WL[63]; South Cook Islands: 32: 63: OC: -21.90: 157.93: 10.0: E5/s: E5; Niue: 32: 62: OC: -19.03: 169.85: 11.0: E6: E6; Bosnia-Herzegovina: 15: 28: EU: 44.32: -17.57: -1.0: E7: E7; Spain: 14: 37: EU: 40.37: 4.88: -1.0: EA: AM,AN,AO,EA,EB,EC,ED,EE,EF,EG,EH,=EA8CZT/1,=EA9JS/7; Balearic Islands: 14: 37: EU: 39.60: -2.95: -1.0: EA6: AM6,AN6,AO6,EA6,EB6,EC6,ED6,EE6,EF6,EG6,EH6,=EA7DUT/6; Canary Islands: 33: 36: AF: 28.10: 15.40: 0.0: EA8: AM8,AN8,AO8,EA8,EB8,EC8,ED8,EE8,EF8,EG8,EH8; Ceuta & Melilla: 33: 37: AF: 35.90: 5.27: -1.0: EA9: AM9,AN9,AO9,EA9,EB9,EC9,ED9,EE9,EF9,EG9,EH9; Ireland: 14: 27: EU: 53.13: 8.02: 0.0: EI: EI,EJ; Armenia: 21: 29: AS: 40.40: -44.90: -4.0: EK: EK; Liberia: 35: 46: AF: 6.50: 9.50: 0.0: EL: 5L,5M,6Z,A8,D5,EL; Iran: 21: 40: AS: 32.00: -53.00: -3.5: EP: 9B,9C,9D,EP,EQ; Moldova: 16: 29: EU: 47.00: -29.00: -2.0: ER: ER; Estonia: 15: 29: EU: 59.00: -25.00: -2.0: ES: ES; Ethiopia: 37: 48: AF: 9.00: -39.00: -3.0: ET: 9E,9F,ET; Belarus: 16: 29: EU: 54.00: -28.00: -2.0: EU: EU,EV,EW; Kyrgyzstan: 17: 30: AS: 41.70: -74.13: -6.0: EX: EX,EX2P[31],EX2Q[31],EX6P[31],EX6Q[31],EX7P[31],EX7Q[31],EX8P[31], EX8Q[31]; Tajikistan: 17: 30: AS: 38.82: -71.22: -5.0: EY: EY; Turkmenistan: 17: 30: AS: 38.00: -58.00: -5.0: EZ: EZ; France: 14: 27: EU: 46.00: -2.00: -1.0: F: F,HW,HX,HY,TH,TM,TP,TQ,TV; Guadeloupe: 08: 11: NA: 16.13: 61.67: 4.0: FG: FG; Mayotte: 39: 53: AF: -12.88: -45.15: -3.0: FH: FH; St. Barthelemy: 08: 11: NA: 17.90: 62.83: 4.0: FJ: FJ; New Caledonia: 32: 56: OC: -21.50: -165.50: -11.0: FK: FK; Chesterfield Islands: 30: 56: OC: -19.87: -158.32: -11.0: FK/c: =FK8IK/C; Martinique: 08: 11: NA: 14.70: 61.03: 4.0: FM: FM,=TO5A,=TO5K,=TO5T,=TO7A; French Polynesia: 32: 63: OC: -17.65: 149.40: 10.0: FO: FO; Austral Islands: 32: 63: OC: -23.37: 149.48: 10.0: FO/a: =TX0HF; Clipperton Island: 07: 10: NA: 10.28: 109.22: 8.0: FO/c: =TX5C; Marquesas Islands: 31: 63: OC: -8.92: 140.07: 9.5: FO/m: =TX5VT; St. Pierre & Miquelon: 05: 09: NA: 46.77: 56.20: 3.0: FP: FP; Reunion Island: 39: 53: AF: -21.12: -55.48: -4.0: FR: FR; Glorioso Islands: 39: 53: AF: -11.55: -47.28: -4.0: FR/g: FT5G; Juan de Nova, Europa: 39: 53: AF: -17.05: -42.72: -3.0: FR/j: FT5E,FT5J; Tromelin Island: 39: 53: AF: -15.88: -54.50: -4.0: FR/t: FT5T; St. Martin: 08: 11: NA: 18.08: 63.03: 4.0: FS: FS; Crozet Island: 39: 68: AF: -46.42: -51.75: -5.0: FT5W: FT0W,FT1W,FT2W,FT4W,FT5W,FT8W; Kerguelen Islands: 39: 68: AF: -49.00: -69.27: -5.0: FT5X: FT0X,FT1X,FT2X,FT4X,FT5X,FT8X; Amsterdam & St. Paul Is.: 39: 68: AF: -37.85: -77.53: -5.0: FT5Z: FT0Z,FT1Z,FT2Z,FT4Z,FT5Z,FT8Z; Wallis & Futuna Islands: 32: 62: OC: -13.30: 176.20: -12.0: FW: FW,TW; French Guiana: 09: 12: SA: 4.00: 53.00: 3.0: FY: FY; England: 14: 27: EU: 52.77: 1.47: 0.0: G: 2,G,M,ZH,ZI,ZJ,=2O0YYY/P; Isle of Man: 14: 27: EU: 54.20: 4.53: 0.0: GD: 2D,2T,GD,GT,MD,MT,=2O0YLX,=GB2WB,=GO0OUD,=MO1CLV; Northern Ireland: 14: 27: EU: 54.73: 6.68: 0.0: GI: 2I,2N,GI,GN,MI,MN,=2O0BAD,=2O0HBO,=2O0HRV,=2O0MFB,=2O0TWA,=2O0VEP,=2O0VGW, =2O0VIM,=2O0WAI,=2O0ZXM,=GB0CHW,=GB0REL,=GB150WCB,=GB1SPD,=GB2AD,=GB2LOL, =GB2PP,=GB2UAS,=GB4SPD,=GB5SPD,=GO0AQD,=GO0BJH,=GO0DUP,=GO3KVD,=GO3MMF, =GO3SG,=GO4DOH,=GO4GID,=GO4GUH,=GO4LKG,=GO4NKB,=GO4ONL,=GO4OYM,=GO4SRQ, =GO4SZW,=GO6MTL,=GO7AXB,=GO7KMC,=GO8YYM,=MO0ALS,=MO0BDZ,=MO0CBH,=MO0IOU, =MO0IRZ,=MO0JFC,=MO0JFC/P,=MO0JML,=MO0JST,=MO0KYE,=MO0LPO,=MO0MOD, =MO0MOD/P,=MO0MSR,=MO0MVP,=MO0RRE,=MO0RUC,=MO0RYL,=MO0TGO,=MO0VAX,=MO0WDB, =MO0ZXZ,=MO3RLA,=MO6AOX,=MO6NIR,=MO6WAG,=MO6WDB,=MO6YDR; Jersey: 14: 27: EU: 49.22: 2.18: 0.0: GJ: 2H,2J,GH,GJ,MH,MJ,=GO8PVL,=MO0ASP; Scotland: 14: 27: EU: 56.82: 4.18: 0.0: GM: 2A,2M,2S,GA,GM,GS,MA,MM,MS,=2O0BSE,=2O0BZB,=2O0HJS,=2O0IMP,=2O0IOB, =2O0IVG,=2O0LIM,=2O0LJM,=2O0TOK,=2O1MIC,=2O1SJB,=GB0FFS,=GB0NHL,=GB1MAY, =GB1OL,=GB2AL,=GB2BHM,=GB2CHC,=GB2EPC,=GB2GNL,=GB2LBN,=GB2LK,=GB2LT, =GB2MOF,=GB2MSL,=GB2NCL,=GB2OWM,=GB2PG,=GB2VCB,=GB2YLS,=GB5AG,=GB5FHC, =GB80GD,=GM4WSB/P,=GO0AEG,=GO0AIR,=GO0BKC,=GO0DBW,=GO0DEQ,=GO0GMN,=GO0OGN, =GO0SYY,=GO0TUB,=GO0VRP,=GO0WEZ,=GO1BAN,=GO1BKF,=GO1MQE,=GO1TBW,=GO2MP, =GO3HVK,=GO3JIJ,=GO3NIG,=GO3VTB,=GO4BLO,=GO4CAU,=GO4CFS,=GO4CHX,=GO4CXM, =GO4DLG,=GO4EMX,=GO4FAM,=GO4FAU,=GO4JOJ,=GO4JPZ,=GO4JR,=GO4LYJ,=GO4MOX, =GO4MSL,=GO4PRB,=GO4UBJ,=GO4VTB,=GO4WZG,=GO4XQJ,=GO6JEP,=GO6JRX,=GO6KON, =GO6LYJ,=GO7GAX,=GO7GDE,=GO7HUD,=GO7TUD,=GO7WEF,=GO8CBQ,=GO8MHU,=GO8SVB, =GO8TTD,=MO0BFF,=MO0CWJ,=MO0CYR,=MO0DBC,=MO0DNX,=MO0EPC,=MO0FMF,=MO0GXQ, =MO0HZT,=MO0KJG,=MO0KSS,=MO0NFC,=MO0SGQ,=MO0SJT,=MO0TGB,=MO0TSG,=MO0WKC, =MO0XXW,=MO0ZBH,=MO1AWV,=MO1HMV,=MO3BCA,=MO3BRR,=MO3GPL,=MO3OQR,=MO3TUP, =MO3UVL,=MO3YHA,=MO3YMU,=MO3ZRF,=MO6BJJ,=MO6CCS,=MO6CHM,=MO6CRQ,=MO6DGZ, =MO6HUT,=MO6KAU,=MO6KSJ,=MO6MCV,=MO6SRL,=MO6TEW; Shetland and Fair Isle: 14: 27: EU: 60.50: 1.50: 0.0: *GM/s: 2Z,GZ,MZ,=2M0ZET,=2M1ANT,=2M1ASQ,=2M1ODL,=G0FBJ,=GB0BL,=GB0HFC,=GB0OS, =GB2ELH,=GB2ZET,=GB4SI,=GM0CXQ,=GM0CYJ,=GM0DJI,=GM0EKM,=GM0ILB,=GM0JDB, =GM0MZD,=GM0OMV,=GM0VFA,=GM1BYL,=GM1CBQ,=GM1KKI,=GM1MXN,=GM1ZNR,=GM3KLA, =GM3RFR,=GM3SJA,=GM3STU,=GM3UPU,=GM3WCH,=GM3WHT,=GM3XPQ,=GM3ZET,=GM3ZNM, =GM3ZXH,=GM4AGX,=GM4CAQ,=GM4DQD,=GM4ENK,=GM4FNA,=GM4FNE,=GM4GPN,=GM4GPP, =GM4GQD,=GM4GQM,=GM4IPK,=GM4JPI,=GM4KJQ,=GM4LBE,=GM4LER,=GM4PXG,=GM4SLV, =GM4SRU,=GM4SSA,=GM4SWU,=GM4WXQ,=GM4YEL,=GM4ZHL,=GM6RTO,=GM6VZB,=GM6WVI, =GM6YQA,=GM7AFE,=GM7GWW,=GM7RKD,=GM8LNH,=GM8MMA,=GM8YEC,=GS0GRC,=GS3ZET, =MA1FJM,=MM0LSM,=MM0XAU,=MM0ZAL,=MM0ZCG,=MM1FJM,=MM3ZET,=MM5PSL,=MM6ACW, =MM6SJK,=MO5PSL,=MS0ZCG,=MS0ZET; Guernsey: 14: 27: EU: 49.45: 2.58: 0.0: GU: 2P,2U,GP,GU,MP,MU,=2O0FER,=GO8FBO,=MO0FAL,=MO0KWD; Wales: 14: 27: EU: 52.28: 3.73: 0.0: GW: 2C,2W,2X,2Y,GC,GW,MC,MW,=2O0CDY,=2O0CGM,=2O0CJI,=2O0CVE,=2O0DAA,=2O0DUL, =2O0DVP,=2O0IDT,=2O0JBJ,=2O0OJA,=2O0RMR,=2O0RWF,=2O0TRR,=2O0UAA,=2O0WDS, =2O0ZJA,=2O12W,=GB0AD,=GB0AWS,=GB0HEL,=GB0PLB,=GB0RS,=GB1CDS,=GB2LSA, =GB2MOP,=GB2TD,=GB4BPL,=GB4EUL,=GB4MD,=GB4MDI,=GB4PAT,=GB4SDD,=GB5GEO, =GB6BLB,=GB6TS,=GB8CCC,=GB8MD,=GO0DIV,=GO0EZQ,=GO0EZY,=GO0JEQ,=GO0MNP, =GO0MNP/P,=GO0NPL,=GO0PLB,=GO0PNI,=GO0PUP,=GO0SGR,=GO0VKW,=GO0VML,=GO0VSW, =GO0XJQ,=GO1DPL,=GO1IOT,=GO1JFV,=GO1MVL,=GO1PKM,=GO3UOF,=GO4BKG,=GO4BLE, =GO4CQZ,=GO4DTQ,=GO4GTI,=GO4JKR,=GO4JUN,=GO4JUW,=GO4MVA,=GO4NOO,=GO4OKR, =GO4OKT,=GO4SUE,=GO4SUE/P,=GO4TNZ,=GO4WXM,=GO6IMS,=GO6NKG,=GO6UKO,=GO7DWR, =GO7SBO,=GO7VJK,=GO7VQD,=GO8BQK,=GO8IQC,=GO8JOY,=GO8OKR,=MO0AQZ,=MO0ATI, =MO0COE,=MO0CVT,=MO0EQL,=MO0EZQ,=MO0GXE,=MO0HCX,=MO0IBZ,=MO0IML,=MO0KLW, =MO0LDJ,=MO0LLK,=MO0LUK,=MO0LZZ,=MO0MAU,=MO0MUM,=MO0MWZ,=MO0OWW,=MO0SGD, =MO0SGR,=MO0TBB,=MO0TMI,=MO0TTU,=MO0UPH,=MO0VVO,=MO1CFA,=MO1CFN,=MO3DAO, =MO3DQB,=MO3GKI,=MO3OJA,=MO3PUU,=MO3RNI,=MO3UEZ,=MO3WPH,=MO3YVO,=MO3ZCO, =MO6DVP,=MO6GWK,=MO6GWR,=MO6GWR/P,=MO6MAU,=MO6PAM,=MO6PLC,=MO6PUT,=MO6SEF, =MO6TBD,=MO6TBP,=MO6WLB; Solomon Islands: 28: 51: OC: -9.00: -160.00: -11.0: H4: H4; Temotu Province: 32: 51: OC: -10.72: -165.80: -11.0: H40: H40; Hungary: 15: 28: EU: 47.12: -19.28: -1.0: HA: HA,HG; Switzerland: 14: 28: EU: 46.87: -8.12: -1.0: HB: HB,HE; Liechtenstein: 14: 28: EU: 47.13: -9.57: -1.0: HB0: HB0,HE0; Ecuador: 10: 12: SA: -1.40: 78.40: 6.0: HC: HC,HD; Galapagos Islands: 10: 12: SA: -0.78: 91.03: 6.0: HC8: HC8,HD8; Haiti: 08: 11: NA: 19.02: 72.18: 5.0: HH: 4V,HH; Dominican Republic: 08: 11: NA: 19.13: 70.68: 4.0: HI: HI; Colombia: 09: 12: SA: 5.00: 74.00: 5.0: HK: 5J,5K,HJ,HK; San Andres & Providencia: 07: 11: NA: 12.55: 81.72: 5.0: HK0/a: 5J0,5K0,HJ0,HK0; Malpelo Island: 09: 12: SA: 3.98: 81.58: 5.0: HK0/m: 5J0M,5K0M,HJ0M,HK0M,=HK0TU; Republic of Korea: 25: 44: AS: 36.23: -127.90: -9.0: HL: 6K,6L,6M,6N,D7,D8,D9,DS,DT,HL,KL9K; Panama: 07: 11: NA: 9.00: 80.00: 5.0: HP: 3E,3F,H3,H8,H9,HO,HP; Honduras: 07: 11: NA: 15.00: 87.00: 6.0: HR: HQ,HR; Thailand: 26: 49: AS: 12.60: -99.70: -7.0: HS: E2,HS; Vatican City: 15: 28: EU: 41.90: -12.47: -1.0: HV: HV; Saudi Arabia: 21: 39: AS: 24.20: -43.83: -3.0: HZ: 7Z,8Z,HZ,=HZ1SBS/J; Italy: 15: 28: EU: 42.82: -12.58: -1.0: I: I,=IZ1CLA/N,=4U1GSC,=I1YRL/GRA; African Italy: 33: 37: AF: 35.67: -12.67: -1.0: *IG9: IG9,IH9; Sardinia: 15: 28: EU: 40.15: -9.27: -1.0: IS: IM0,IS,IW0U,IW0V,IW0W,IW0X,IW0Y,IW0Z,=II0SB,=IQ0AH,=IQ0ID,=IQ0SS,=IY0GA; Sicily: 15: 28: EU: 37.50: -14.00: -1.0: *IT9: IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IZ9; Djibouti: 37: 48: AF: 11.75: -42.35: -3.0: J2: J2; Grenada: 08: 11: NA: 12.13: 61.68: 4.0: J3: J3; Guinea-Bissau: 35: 46: AF: 12.02: 14.80: 0.0: J5: J5; St. Lucia: 08: 11: NA: 13.87: 61.00: 4.0: J6: J6; Dominica: 08: 11: NA: 15.43: 61.35: 4.0: J7: J7; St. Vincent: 08: 11: NA: 13.23: 61.20: 4.0: J8: J8; Japan: 25: 45: AS: 36.40: -138.38: -9.0: JA: 7J,7K,7L,7M,7N,8J,8K,8L,8M,8N,JA,JE,JF,JG,JH,JI,JJ,JK,JL,JM,JN,JO,JP,JQ, JR,JS; Minami Torishima: 27: 90: OC: 24.28: -153.97: -10.0: JD/m: =JD1/JF3CTR,=JD1/JG8NQJ,=JD1BMM,=JF3CTR/JD1,=JG8NQJ/JD1; Ogasawara: 27: 45: AS: 27.05: -142.20: -9.0: JD/o: JD1; Mongolia: 23: 32: AS: 46.77: -102.17: -7.0: JT: JT,JU,JV,JT2[33],JT3[33],JU2[33],JU3[33],JV2[33],JV3[33]; Svalbard: 40: 18: EU: 78.00: -16.00: -1.0: JW: JW; Bear Island: 40: 18: EU: 74.43: -19.08: -1.0: *JW/b: =JW2US; Jan Mayen: 40: 18: EU: 71.05: 8.28: 1.0: JX: JX; Jordan: 20: 39: AS: 31.18: -36.42: -2.0: JY: JY; United States: 05: 08: NA: 37.53: 91.67: 5.0: K: AA,AB,AC,AD,AE,AF,AG,AI,AJ,AK,K,N,W,=4U1WB(5)[8],=AA4DD(4)[8], =AA4YL(4)[8],=AB4GG(4)[8],=AB4IQ(4)[8],=AB9DU(5)[8],=AC4CA(4)[7], =AD1C(4)[7],=AD4EB(4)[8],=AD7MQ(4)[6],=AD8J(5)[8],=AE7AP(4)[6], =AE9F(3)[6],=AG3R(4)[8],=AG3V(4)[7],=AG4W(4)[8],=AJ4A(4)[8],=AJ4F(4)[7], =GO4AZM(5)[8],=K0COP(5)[8],=K0DQ(5)[8],=K0IP(3)[6],=K0JJ(3)[6], =K0LUZ(5)[8],=K0NW(3)[6],=K0TQ(4)[8],=K0TV(5)[8],=K0ZR(5)[8],=K1DW(4)[7], =K1GU(4)[8],=K1KD(4)[7],=K1LT(4)[8],=K1TN(4)[8],=K2HT(4)[7],=K2PO(3)[6], =K2RD(3)[6],=K2RP(3)[6],=K2UR(4)[8],=K3FIV(3)[6],=K3GP(4)[8],=K3IE(4)[8], =K3JWI(4)[8],=K3TD(4)[7],=K3USC(4)[8],=K3WA(4)[8],=K3WT(4)[7],=K3YP(4)[8], =K4AB(4)[8],=K4AMC(4)[8],=K4BP(4)[8],=K4BX(4)[8],=K4CWA(4)[8], =K4CWW(4)[8],=K4CX(4)[8],=K4DZR(4)[8],=K4EDI(4)[8],=K4EJQ(4)[8], =K4FT(4)[8],=K4FXN(4)[8],=K4HAL(4)[8],=K4IE(4)[8],=K4IQJ(4)[8], =K4IU(4)[7],=K4LTA(4)[8],=K4MCK(4)[8],=K4MGE(4)[8],=K4NO(4)[8], =K4PJ(4)[8],=K4RO(4)[8],=K4SPO(4)[8],=K4TD(4)[8],=K4WI(4)[8],=K4WW(4)[8], =K4XG(4)[8],=K4XU(3)[6],=K4ZGB(4)[8],=K5AUP(5)[8],=K5EK(5)[8],=K5KG(5)[8], =K5OA(3)[6],=K5RQ(5)[8],=K5RR(3)[6],=K5VIP(5)[8],=K5ZD(5)[8],=K6ND(5)[8], =K6NDV(5)[8],=K6PJ(4)[6],=K6RM(5)[8],=K6SXA(4)[7],=K6XT(4)[7], =K7ABV(4)[6],=K7BG(4)[6],=K7CS(5)[8],=K7IA(4)[7],=K7KAR(4)[6],=K7KU(4)[7], =K7OM(5)[8],=K7RB(4)[7],=K7RE(4)[7],=K7RSM(4)[7],=K7SCX(4)[7],=K7SV(5)[8], =K7TD(4)[7],=K7VU(4)[7],=K8AC(5)[8],=K8CN(5)[8],=K8GU(5)[8],=K8IA(3)[6], =K8JQ(5)[8],=K8LF(5)[8],=K8MN(5)[8],=K8NYG(5)[8],=K8PO(5)[8],=K8TE(4)[7], =K8WT(5)[8],=K8YC(5)[8],=K9AIH(5)[8],=K9BWI(4)[7],=K9CHP(5)[8], =K9DR(4)[7],=K9DU(4)[7],=K9FY(5)[8],=K9JF(3)[6],=K9JM(3)[6],=K9JWV(3)[6], =K9MBB(4)[7],=K9MWM(4)[7],=K9OM(5)[8],=K9RS(5)[8],=K9WZB(3)[6], =K9YC(3)[6],=KA3DRR(3)[6],=KA4OTB(4)[8],=KA4PKB(4)[8],=KA4R(4)[8], =KA8HDE(4)[7],=KA8Q(5)[8],=KB7FSC(4)[6],=KB7Q(4)[6],=KB7QOS(4)[7], =KB8V(5)[8],=KC4HW(4)[8],=KC4SAW(4)[8],=KC4WQ(4)[8],=KC6X(4)[7], =KC8GCR(5)[8],=KD4POJ(4)[7],=KD4SN(4)[8],=KD7DCR(4)[6],=KE1B(3)[6], =KE2VB(3)[6],=KE3D(4)[7],=KE4ETY(4)[8],=KE4KY(4)[8],=KE7X(4)[6], =KF6A(4)[8],=KG0F(3)[6],=KG4CUY(4)[8],=KG9JP(3)[6],=KH0WJ(5)[8], =KH2D(5)[8],=KH6GN(4)[8],=KH6OU(5)[8],=KI4EEY(4)[8],=KI4EZC(4)[8], =KI4SP(4)[8],=KI6DY(4)[7],=KI7MT(4)[6],=KJ4AOM(4)[8],=KJ4FDV(4)[8], =KK6MC(4)[7],=KK9A(5)[8],=KK9O(5)[8],=KL5Z(4)[7],=KL7FDQ(3)[6], =KL7QW(4)[7],=KL7WP(3)[6],=KL7WV(5)[8],=KM4DR(4)[7],=KM4JA(4)[8], =KM7W(4)[6],=KO4OL(4)[8],=KO4PU(4)[8],=KO4XJ(4)[8],=KO7X(4)[7], =KR2E(3)[6],=KR4F(4)[8],=KR7C(4)[7],=KS4L(4)[8],=KS4X(4)[8],=KS5A(3)[6], =KS7T(4)[6],=KT0P(5)[8],=KU1CW(4)[7],=KU1YL(4)[7],=KU4A(4)[8],=KU8E(5)[8], =KV1E(4)[7],=KX2P(4)[7],=KX9X(5)[8],=KY0W(3)[6],=KY4F(4)[8],=KZ2V(3)[6], =N0FW(4)[8],=N0RZT(4)[8],=N1CC(4)[7],=N1JM(3)[6],=N1WQ(4)[7],=N2BJ(4)[8], =N2IC(4)[7],=N2NS(3)[6],=N2OPW(4)[8],=N2WN(4)[8],=N3FAW(3)[6],=N3RC(4)[6], =N3ZZ(3)[6],=N4AAI(4)[8],=N4ARO(4)[8],=N4AU(4)[8],=N4BCB(4)[8], =N4DTF(4)[8],=N4DW(4)[8],=N4IJ(4)[7],=N4IR(4)[8],=N4JF(4)[8],=N4KG(4)[8], =N4KH(4)[8],=N4NM(4)[8],=N4NO(4)[8],=N4OGW(4)[8],=N4QS(4)[8],=N4TZ(4)[8], =N4UC(4)[8],=N4UPX(4)[7],=N4UW(4)[8],=N4VN(4)[8],=N4VV(4)[8],=N4ZI(4)[8], =N4ZZ(4)[8],=N5IE(5)[8],=N5KO(3)[6],=N5LZ(3)[6],=N6AR(5)[8],=N6FS(4)[8], =N7DR(4)[7],=N7EO(5)[8],=N7FLT(4)[6],=N7GVV(4)[8],=N7IP(4)[6],=N7IV(4)[7], =N7IX(4)[7],=N7KA(4)[7],=N7MZW(4)[7],=N7US(4)[8],=N8CL(5)[8],=N8HM(5)[8], =N8II(5)[8],=N8MPX(5)[8],=N8NA(5)[8],=N8PR(5)[8],=N8RA(5)[8],=N8WXQ(5)[8], =N9ADG(3)[6],=N9CM(5)[8],=N9DFD(5)[8],=N9HDE(4)[7],=N9MM(4)[7], =N9NC(5)[8],=N9UY(5)[8],=NA2U(3)[6],=NA4C(4)[8],=NA4K(4)[8],=NB4M(4)[8], =ND2T(3)[6],=ND4X(4)[8],=NE4M(4)[8],=NE8J(5)[8],=NG7A(5)[8],=NH6Z(3)[6], =NH7RO(4)[7],=NJ4I(4)[8],=NJ8J(5)[8],=NL7CQ(4)[7],=NN3V(3)[6], =NN4MM(4)[8],=NN7A(4)[7],=NO2D(4)[7],=NO9E(5)[8],=NP3D(5)[8],=NR7DX(4)[6], =NS2X(4)[8],=NS4X(4)[8],=NU4B(4)[8],=NV4B(4)[8],=NW8U(5)[8],=NX1P(3)[6], =NX9T(5)[8],=NY4JB(4)[8],=NY6DX(5)[8],=W0BR(5)[8],=W0IZ(4)[8], =W0JLC(5)[8],=W0PAN(3)[6],=W0PV(5)[8],=W0QQG(5)[8],=W0UCE(5)[8], =W0YK(3)[6],=W0YR(5)[8],=W1NN(4)[8],=W1RH(3)[6],=W1SRD(3)[6],=W1ZD(3)[6], =W2AJW(3)[6],=W2OO(4)[8],=W2UP(4)[7],=W2VJN(3)[6],=W2VKT(3)[6], =W3HDH(4)[8],=W3TUA(4)[7],=W4BCG(4)[8],=W4BCU(4)[8],=W4BK(4)[8], =W4CBX(4)[8],=W4DAN(4)[8],=W4DVG(4)[8],=W4EF(3)[6],=W4GHD(4)[8], =W4GKM(4)[8],=W4HOD(4)[8],=W4HZD(4)[8],=W4JHC(4)[7],=W4JSI(4)[8], =W4KW(4)[8],=W4LC(4)[8],=W4NBS(4)[8],=W4NI(4)[8],=W4NJK(3)[6],=W4NZ(4)[8], =W4PHS(4)[8],=W4PV(4)[8],=W4RK(4)[7],=W4RYW(4)[8],=W4UAL(4)[8], =W4UAT(3)[6],=W4UT(4)[8],=W5DQ(3)[6],=W5JBO(3)[6],=W5JR(5)[8],=W5MX(4)[8], =W5NZ(4)[8],=W5XB(5)[8],=W6AAN(5)[8],=W6DVS(5)[8],=W6GMT(4)[7], =W6IHG(5)[8],=W6KGP(4)[7],=W6LFB(4)[7],=W6NWS(5)[8],=W6SAI(4)[8], =W6UB(4)[8],=W6XR(5)[8],=W7DO(5)[8],=W7HJ(5)[8],=W7IY(5)[8],=W7RTX(4)[7], =W7WZ(5)[8],=W8AEF(3)[6],=W8AKS(5)[8],=W8BFX(3)[6],=W8FJ(5)[8], =W8FN(4)[7],=W8HGH(5)[8],=W8JI(5)[8],=W8OHT(5)[8],=W8WEJ(5)[8], =W8ZA(5)[8],=W9CF(3)[6],=W9DKC(5)[8],=W9GE(5)[8],=W9KB(5)[8],=W9LHG(4)[7], =W9NGA(3)[6],=W9UK(5)[8],=W9XQ(4)[7],=WA0WWW(3)[6],=WA1FCN(4)[8], =WA1PMA(3)[6],=WA1UJU(4)[8],=WA3C(4)[8],=WA4SM(4)[8],=WA5VGI(3)[6], =WA8KAN(5)[8],=WA8OJR(5)[8],=WA8QYJ(5)[8],=WA8ZBT(4)[7],=WB0POH(5)[8], =WB3JFS(3)[6],=WB4KDI(4)[8],=WB4YDL(4)[8],=WB4YDY(4)[8],=WB8BPU(5)[8], =WB8YQJ(3)[6],=WB8YYY(5)[8],=WB9KPT(4)[7],=WC7S(4)[7],=WE6EZ(4)[7], =WF4U(3)[6],=WF7T(4)[8],=WG7Y(4)[7],=WJ9B(3)[6],=WK5X(5)[8],=WL7OU(4)[7], =WO4O(4)[8],=WR5G(3)[6],=WS4Y(4)[7],=WS6K(4)[8],=WS9M(5)[8],=WT5L(5)[8], =WU9B(3)[6],=WW4R(4)[8],=WY7SS(4)[7],=WZ4F(4)[8]; Guantanamo Bay: 08: 11: NA: 20.00: 75.00: 5.0: KG4: KG4; Mariana Islands: 27: 64: OC: 15.18: -145.72: -10.0: KH0: AH0,KH0,NH0,WH0,=K0Y,=N2G; Baker & Howland Islands: 31: 61: OC: 0.00: 176.00: 12.0: KH1: AH1,KH1,NH1,WH1; Guam: 27: 64: OC: 13.37: -144.70: -10.0: KH2: AH2,KH2,NH2,WH2,=KG6DX; Johnston Island: 31: 61: OC: 16.72: 169.53: 10.0: KH3: AH3,KH3,NH3,WH3,=KJ6BZ; Midway Island: 31: 61: OC: 28.20: 177.37: 11.0: KH4: AH4,KH4,NH4,WH4; Palmyra & Jarvis Islands: 31: 61: OC: 5.87: 162.07: 11.0: KH5: AH5,KH5,NH5,WH5; Kingman Reef: 31: 61: OC: 6.40: 162.40: 11.0: KH5K: AH5K,KH5K,NH5K,WH5K; Hawaii: 31: 61: OC: 19.67: 155.57: 10.0: KH6: AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=K4XV,=KB6EGA,=N1C,=WB4JTT; Kure Island: 31: 61: OC: 29.00: 178.00: 10.0: KH7K: AH7K,KH7K,NH7K,WH7K; American Samoa: 32: 62: OC: -14.32: 170.78: 11.0: KH8: AH8,KH8,NH8,WH8; Swains Island: 32: 62: OC: -11.05: 171.25: 11.0: KH8/s: =NH8S; Wake Island: 31: 65: OC: 19.28: -166.63: -12.0: KH9: AH9,KH9,NH9,WH9; Alaska: 01: 01: NA: 63.87: 153.78: 8.0: KL: AL,KL,NL,WL,=K7P,=N7ZYS; Navassa Island: 08: 11: NA: 18.40: 75.00: 5.0: KP1: KP1,NP1,WP1; US Virgin Islands: 08: 11: NA: 17.73: 64.80: 4.0: KP2: KP2,NP2,WP2,=KV4BT,=KV4BW,=KV4CF,=KV4FZ,=N2A; Puerto Rico: 08: 11: NA: 18.18: 66.55: 4.0: KP4: KP3,KP4,NP3,NP4,WP3,WP4,=KB2OPM,=KC2TE,=KH2RU,=KP2Z,=KP4ES/L,=N2PGO,=W4L, =W4W; Desecheo Island: 08: 11: NA: 18.08: 67.88: 4.0: KP5: KP5,NP5,WP5; Norway: 14: 18: EU: 61.00: -9.00: -1.0: LA: LA,LB,LC,LD,LE,LF,LG,LH,LI,LJ,LK,LL,LM,LN; Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: AY,AZ,L1,L2,L3,L4,L5,L6,L7,L8,L9,LO,LP,LQ,LR,LS,LT,LU,LV,LW,AY0V[16], AY0W[16],AY0X[16],AY0Y[16],AY1V[16],AY1W[16],AY1X[16],AY1Y[16],AY2V[16], AY2W[16],AY2X[16],AY2Y[16],AY3V[16],AY3W[16],AY3X[16],AY3Y[16],AY4V[16], AY4W[16],AY4X[16],AY4Y[16],AY5V[16],AY5W[16],AY5X[16],AY5Y[16],AY6V[16], AY6W[16],AY6X[16],AY6Y[16],AY7V[16],AY7W[16],AY7X[16],AY7Y[16],AY8V[16], AY8W[16],AY8X[16],AY8Y[16],AY9V[16],AY9W[16],AY9X[16],AY9Y[16],AZ0V[16], AZ0W[16],AZ0X[16],AZ0Y[16],AZ1V[16],AZ1W[16],AZ1X[16],AZ1Y[16],AZ2V[16], AZ2W[16],AZ2X[16],AZ2Y[16],AZ3V[16],AZ3W[16],AZ3X[16],AZ3Y[16],AZ4V[16], AZ4W[16],AZ4X[16],AZ4Y[16],AZ5V[16],AZ5W[16],AZ5X[16],AZ5Y[16],AZ6V[16], AZ6W[16],AZ6X[16],AZ6Y[16],AZ7V[16],AZ7W[16],AZ7X[16],AZ7Y[16],AZ8V[16], AZ8W[16],AZ8X[16],AZ8Y[16],AZ9V[16],AZ9W[16],AZ9X[16],AZ9Y[16],L20V[16], L20W[16],L20X[16],L20Y[16],L21V[16],L21W[16],L21X[16],L21Y[16],L22V[16], L22W[16],L22X[16],L22Y[16],L23V[16],L23W[16],L23X[16],L23Y[16],L24V[16], L24W[16],L24X[16],L24Y[16],L25V[16],L25W[16],L25X[16],L25Y[16],L26V[16], L26W[16],L26X[16],L26Y[16],L27V[16],L27W[16],L27X[16],L27Y[16],L28V[16], L28W[16],L28X[16],L28Y[16],L29V[16],L29W[16],L29X[16],L29Y[16],L30V[16], L30W[16],L30X[16],L30Y[16],L31V[16],L31W[16],L31X[16],L31Y[16],L32V[16], L32W[16],L32X[16],L32Y[16],L33V[16],L33W[16],L33X[16],L33Y[16],L34V[16], L34W[16],L34X[16],L34Y[16],L35V[16],L35W[16],L35X[16],L35Y[16],L36V[16], L36W[16],L36X[16],L36Y[16],L37V[16],L37W[16],L37X[16],L37Y[16],L38V[16], L38W[16],L38X[16],L38Y[16],L39V[16],L39W[16],L39X[16],L39Y[16],L40V[16], L40W[16],L40X[16],L40Y[16],L41V[16],L41W[16],L41X[16],L41Y[16],L42V[16], L42W[16],L42X[16],L42Y[16],L43V[16],L43W[16],L43X[16],L43Y[16],L44V[16], L44W[16],L44X[16],L44Y[16],L45V[16],L45W[16],L45X[16],L45Y[16],L46V[16], L46W[16],L46X[16],L46Y[16],L47V[16],L47W[16],L47X[16],L47Y[16],L48V[16], L48W[16],L48X[16],L48Y[16],L49V[16],L49W[16],L49X[16],L49Y[16],L50V[16], L50W[16],L50X[16],L50Y[16],L51V[16],L51W[16],L51X[16],L51Y[16],L52V[16], L52W[16],L52X[16],L52Y[16],L53V[16],L53W[16],L53X[16],L53Y[16],L54V[16], L54W[16],L54X[16],L54Y[16],L55V[16],L55W[16],L55X[16],L55Y[16],L56V[16], L56W[16],L56X[16],L56Y[16],L57V[16],L57W[16],L57X[16],L57Y[16],L58V[16], L58W[16],L58X[16],L58Y[16],L59V[16],L59W[16],L59X[16],L59Y[16],L60V[16], L60W[16],L60X[16],L60Y[16],L61V[16],L61W[16],L61X[16],L61Y[16],L62V[16], L62W[16],L62X[16],L62Y[16],L63V[16],L63W[16],L63X[16],L63Y[16],L64V[16], L64W[16],L64X[16],L64Y[16],L65V[16],L65W[16],L65X[16],L65Y[16],L66V[16], L66W[16],L66X[16],L66Y[16],L67V[16],L67W[16],L67X[16],L67Y[16],L68V[16], L68W[16],L68X[16],L68Y[16],L69V[16],L69W[16],L69X[16],L69Y[16],L70V[16], L70W[16],L70X[16],L70Y[16],L71V[16],L71W[16],L71X[16],L71Y[16],L72V[16], L72W[16],L72X[16],L72Y[16],L73V[16],L73W[16],L73X[16],L73Y[16],L74V[16], L74W[16],L74X[16],L74Y[16],L75V[16],L75W[16],L75X[16],L75Y[16],L76V[16], L76W[16],L76X[16],L76Y[16],L77V[16],L77W[16],L77X[16],L77Y[16],L78V[16], L78W[16],L78X[16],L78Y[16],L79V[16],L79W[16],L79X[16],L79Y[16],L80V[16], L80W[16],L80X[16],L80Y[16],L81V[16],L81W[16],L81X[16],L81Y[16],L82V[16], L82W[16],L82X[16],L82Y[16],L83V[16],L83W[16],L83X[16],L83Y[16],L84V[16], L84W[16],L84X[16],L84Y[16],L85V[16],L85W[16],L85X[16],L85Y[16],L86V[16], L86W[16],L86X[16],L86Y[16],L87V[16],L87W[16],L87X[16],L87Y[16],L88V[16], L88W[16],L88X[16],L88Y[16],L89V[16],L89W[16],L89X[16],L89Y[16],L90V[16], L90W[16],L90X[16],L90Y[16],L91V[16],L91W[16],L91X[16],L91Y[16],L92V[16], L92W[16],L92X[16],L92Y[16],L93V[16],L93W[16],L93X[16],L93Y[16],L94V[16], L94W[16],L94X[16],L94Y[16],L95V[16],L95W[16],L95X[16],L95Y[16],L96V[16], L96W[16],L96X[16],L96Y[16],L97V[16],L97W[16],L97X[16],L97Y[16],L98V[16], L98W[16],L98X[16],L98Y[16],L99V[16],L99W[16],L99X[16],L99Y[16],LO0V[16], LO0W[16],LO0X[16],LO0Y[16],LO1V[16],LO1W[16],LO1X[16],LO1Y[16],LO2V[16], LO2W[16],LO2X[16],LO2Y[16],LO3V[16],LO3W[16],LO3X[16],LO3Y[16],LO4V[16], LO4W[16],LO4X[16],LO4Y[16],LO5V[16],LO5W[16],LO5X[16],LO5Y[16],LO6V[16], LO6W[16],LO6X[16],LO6Y[16],LO7V[16],LO7W[16],LO7X[16],LO7Y[16],LO8V[16], LO8W[16],LO8X[16],LO8Y[16],LO9V[16],LO9W[16],LO9X[16],LO9Y[16],LP0V[16], LP0W[16],LP0X[16],LP0Y[16],LP1V[16],LP1W[16],LP1X[16],LP1Y[16],LP2V[16], LP2W[16],LP2X[16],LP2Y[16],LP3V[16],LP3W[16],LP3X[16],LP3Y[16],LP4V[16], LP4W[16],LP4X[16],LP4Y[16],LP5V[16],LP5W[16],LP5X[16],LP5Y[16],LP6V[16], LP6W[16],LP6X[16],LP6Y[16],LP7V[16],LP7W[16],LP7X[16],LP7Y[16],LP8V[16], LP8W[16],LP8X[16],LP8Y[16],LP9V[16],LP9W[16],LP9X[16],LP9Y[16],LQ0V[16], LQ0W[16],LQ0X[16],LQ0Y[16],LQ1V[16],LQ1W[16],LQ1X[16],LQ1Y[16],LQ2V[16], LQ2W[16],LQ2X[16],LQ2Y[16],LQ3V[16],LQ3W[16],LQ3X[16],LQ3Y[16],LQ4V[16], LQ4W[16],LQ4X[16],LQ4Y[16],LQ5V[16],LQ5W[16],LQ5X[16],LQ5Y[16],LQ6V[16], LQ6W[16],LQ6X[16],LQ6Y[16],LQ7V[16],LQ7W[16],LQ7X[16],LQ7Y[16],LQ8V[16], LQ8W[16],LQ8X[16],LQ8Y[16],LQ9V[16],LQ9W[16],LQ9X[16],LQ9Y[16],LR0V[16], LR0W[16],LR0X[16],LR0Y[16],LR1V[16],LR1W[16],LR1X[16],LR1Y[16],LR2V[16], LR2W[16],LR2X[16],LR2Y[16],LR3V[16],LR3W[16],LR3X[16],LR3Y[16],LR4V[16], LR4W[16],LR4X[16],LR4Y[16],LR5V[16],LR5W[16],LR5X[16],LR5Y[16],LR6V[16], LR6W[16],LR6X[16],LR6Y[16],LR7V[16],LR7W[16],LR7X[16],LR7Y[16],LR8V[16], LR8W[16],LR8X[16],LR8Y[16],LR9V[16],LR9W[16],LR9X[16],LR9Y[16],LS0V[16], LS0W[16],LS0X[16],LS0Y[16],LS1V[16],LS1W[16],LS1X[16],LS1Y[16],LS2V[16], LS2W[16],LS2X[16],LS2Y[16],LS3V[16],LS3W[16],LS3X[16],LS3Y[16],LS4V[16], LS4W[16],LS4X[16],LS4Y[16],LS5V[16],LS5W[16],LS5X[16],LS5Y[16],LS6V[16], LS6W[16],LS6X[16],LS6Y[16],LS7V[16],LS7W[16],LS7X[16],LS7Y[16],LS8V[16], LS8W[16],LS8X[16],LS8Y[16],LS9V[16],LS9W[16],LS9X[16],LS9Y[16],LT0V[16], LT0W[16],LT0X[16],LT0Y[16],LT1V[16],LT1W[16],LT1X[16],LT1Y[16],LT2V[16], LT2W[16],LT2X[16],LT2Y[16],LT3V[16],LT3W[16],LT3X[16],LT3Y[16],LT4V[16], LT4W[16],LT4X[16],LT4Y[16],LT5V[16],LT5W[16],LT5X[16],LT5Y[16],LT6V[16], LT6W[16],LT6X[16],LT6Y[16],LT7V[16],LT7W[16],LT7X[16],LT7Y[16],LT8V[16], LT8W[16],LT8X[16],LT8Y[16],LT9V[16],LT9W[16],LT9X[16],LT9Y[16],LU0V[16], LU0W[16],LU0X[16],LU0Y[16],LU1V[16],LU1W[16],LU1X[16],LU1Y[16],LU2V[16], LU2W[16],LU2X[16],LU2Y[16],LU3V[16],LU3W[16],LU3X[16],LU3Y[16],LU4V[16], LU4W[16],LU4X[16],LU4Y[16],LU5V[16],LU5W[16],LU5X[16],LU5Y[16],LU6V[16], LU6W[16],LU6X[16],LU6Y[16],LU7V[16],LU7W[16],LU7X[16],LU7Y[16],LU8V[16], LU8W[16],LU8X[16],LU8Y[16],LU9V[16],LU9W[16],LU9X[16],LU9Y[16],LV0V[16], LV0W[16],LV0X[16],LV0Y[16],LV1V[16],LV1W[16],LV1X[16],LV1Y[16],LV2V[16], LV2W[16],LV2X[16],LV2Y[16],LV3V[16],LV3W[16],LV3X[16],LV3Y[16],LV4V[16], LV4W[16],LV4X[16],LV4Y[16],LV5V[16],LV5W[16],LV5X[16],LV5Y[16],LV6V[16], LV6W[16],LV6X[16],LV6Y[16],LV7V[16],LV7W[16],LV7X[16],LV7Y[16],LV8V[16], LV8W[16],LV8X[16],LV8Y[16],LV9V[16],LV9W[16],LV9X[16],LV9Y[16],LW0V[16], LW0W[16],LW0X[16],LW0Y[16],LW1V[16],LW1W[16],LW1X[16],LW1Y[16],LW2V[16], LW2W[16],LW2X[16],LW2Y[16],LW3V[16],LW3W[16],LW3X[16],LW3Y[16],LW4V[16], LW4W[16],LW4X[16],LW4Y[16],LW5V[16],LW5W[16],LW5X[16],LW5Y[16],LW6V[16], LW6W[16],LW6X[16],LW6Y[16],LW7V[16],LW7W[16],LW7X[16],LW7Y[16],LW8V[16], LW8W[16],LW8X[16],LW8Y[16],LW9V[16],LW9W[16],LW9X[16],LW9Y[16],=LU1DAR/D, =LU1DCB/D,=LU1EQ/D,=LU1FFF/F,=LU1HLH/D,=LU1QA/Q,=LU1VOF/D,=LU1WJY/W[16], =LU1XZ/H,=LU1YY/Y[16],=LU2DB/V[16],=LU2DJB/J,=LU2DVI/H,=LU2FLB/F, =LU2WA/W[16],=LU4DBT/D,=LU4DDL/V[16],=LU4DLL/D,=LU5DEM/W[16], =LU5DGI/W[16],=LU5DX/H,=LU5FES/F,=LU5FZ/GA,=LU5JU/J,=LU5YF/V[16],=LU6DM/D, =LU6EJJ/D,=LU6HBB/D,=LU6VAC/V[16],=LU7DOT/D,=LU7EO/D,=LU7HW/D, =LU8VER/V[16],=LU9JMG/J,=LW2EIY/H,=LW3DKO/D,=LW4EIN/D,=LW4HCL/D,=LW7EIY/H; Luxembourg: 14: 27: EU: 50.00: -6.00: -1.0: LX: LX; Lithuania: 15: 29: EU: 55.45: -23.63: -2.0: LY: LY; Bulgaria: 20: 28: EU: 42.83: -25.08: -2.0: LZ: LZ; Peru: 10: 12: SA: -10.00: 76.00: 5.0: OA: 4T,OA,OB,OC; Lebanon: 20: 39: AS: 33.83: -35.83: -2.0: OD: OD; Austria: 15: 28: EU: 47.33: -13.33: -1.0: OE: 4U1V,OE; Finland: 15: 18: EU: 63.78: -27.08: -2.0: OH: OF,OG,OH,OI,OJ; Aland Islands: 15: 18: EU: 60.13: -20.37: -2.0: OH0: OF0,OG0,OH0,OI0; Market Reef: 15: 18: EU: 60.00: -19.00: -2.0: OJ0: OJ0; Czech Republic: 15: 28: EU: 50.00: -16.00: -1.0: OK: OK,OL; Slovak Republic: 15: 28: EU: 49.00: -20.00: -1.0: OM: OM; Belgium: 14: 27: EU: 50.70: -4.85: -1.0: ON: ON,OO,OP,OQ,OR,OS,OT; Greenland: 40: 05: NA: 74.00: 42.78: 3.0: OX: OX,XP; Faroe Islands: 14: 18: EU: 62.07: 6.93: 0.0: OY: OW,OY; Denmark: 14: 18: EU: 56.00: -10.00: -1.0: OZ: 5P,5Q,OU,OV,OZ; Papua New Guinea: 28: 51: OC: -9.50: -147.12: -10.0: P2: P2; Aruba: 09: 11: SA: 12.53: 69.98: 4.0: P4: P4; DPR of Korea: 25: 44: AS: 39.78: -126.30: -9.0: P5: HM,P5,P6,P7,P8,P9; Netherlands: 14: 27: EU: 52.28: -5.47: -1.0: PA: PA,PB,PC,PD,PE,PF,PG,PH,PI,=PH4RTM/MILL; Curacao: 09: 11: SA: 12.17: 69.00: 4.0: PJ2: PJ2; Bonaire: 09: 11: SA: 12.20: 68.25: 4.0: PJ4: PJ4; Saba & St. Eustatius: 08: 11: NA: 17.57: 63.10: 4.0: PJ5: PJ5,PJ6; Sint Maarten: 08: 11: NA: 18.07: 63.07: 4.0: PJ7: PJ7; Brazil: 11: 12: SA: -10.00: 53.00: 3.0: PY: PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,ZV,ZW,ZX,ZY,ZZ,PP1[15],PP2[15],PP3[15], PP4[15],PP5[15],PP6[13],PP7[13],PQ2[13],PQ3[15],PQ4[15],PQ8[13],PR3[15], PR4[15],PR7[13],PR8[13],PS3[15],PS4[15],PS7[13],PS8[13],PT2[13],PT3[15], PT4[15],PT7[13],PT9[15],PU3[15],PU4[15],PV3[15],PV4[15],PW3[15],PW4[15], PX3[15],PX4[15],PY1[15],PY2[15],PY3[15],PY4[15],PY5[15],PY6[13],PY7[13], PY8[13],PY9[13],ZV3[15],ZV4[15],ZW3[15],ZW4[15],ZX3[15],ZX4[15],ZY3[15], ZY4[15],ZZ3[15],ZZ4[15]; Fernando de Noronha: 11: 13: SA: -3.85: 32.43: 2.0: PY0F: PP0F,PQ0F,PR0F,PS0F,PT0F,PU0F,PV0F,PW0F,PX0F,PY0F,PY0Z,ZV0F,ZW0F,ZX0F, ZY0F,ZY0R,ZY0Z,ZZ0F; St. Peter & St. Paul: 11: 13: SA: 0.00: 29.00: 2.0: PY0S: PP0S,PQ0S,PR0S,PS0S,PT0S,PU0S,PV0S,PW0S,PX0S,PY0S,ZV0S,ZW0S,ZX0S,ZY0S, ZZ0S; Trindade & Martim Vaz: 11: 15: SA: -20.50: 29.32: 2.0: PY0T: PP0M,PP0T,PQ0M,PQ0T,PR0M,PR0T,PS0M,PS0T,PT0M,PT0T,PU0M,PU0T,PV0M,PV0T, PW0M,PW0T,PX0M,PX0T,PY0M,PY0T,ZV0M,ZV0T,ZW0M,ZW0T,ZX0M,ZX0T,ZY0M,ZY0T, ZZ0M,ZZ0T; Suriname: 09: 12: SA: 4.00: 56.00: 3.0: PZ: PZ; Franz Josef Land: 40: 75: EU: 80.68: -49.92: -3.0: R1FJ: FJL,R1FJ,RI1FJ; Western Sahara: 33: 46: AF: 24.82: 13.85: 0.0: S0: S0; Bangladesh: 22: 41: AS: 24.12: -89.65: -6.0: S2: S2,S3; Slovenia: 15: 28: EU: 46.00: -14.00: -1.0: S5: S5; Seychelles: 39: 53: AF: -4.67: -55.47: -4.0: S7: S7; Sao Tome & Principe: 36: 47: AF: 0.22: -6.57: 0.0: S9: S9; Sweden: 14: 18: EU: 61.20: -14.57: -1.0: SM: 7S,8S,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SM; Poland: 15: 28: EU: 52.28: -18.67: -1.0: SP: 3Z,HF,SN,SO,SP,SQ,SR; Sudan: 34: 48: AF: 14.47: -28.62: -3.0: ST: 6T,6U,ST; Egypt: 34: 38: AF: 26.28: -28.60: -2.0: SU: 6A,6B,SS,SU; Greece: 20: 28: EU: 39.78: -21.78: -2.0: SV: J4,SV,SW,SX,SY,SZ; Mount Athos: 20: 28: EU: 40.00: -24.00: -2.0: SV/a: =SV2ASP/A; Dodecanese: 20: 28: EU: 36.17: -27.93: -2.0: SV5: J45,SV5,SW5,SX5,SY5,SZ5,=SV0XAN/5,=SV0XCA/5; Crete: 20: 28: EU: 35.23: -24.78: -2.0: SV9: J49,SV9,SW9,SX9,SY9,SZ9,=SV0XAI/9,=SV0XBN/9,=SV0XCC/9; Tuvalu: 31: 65: OC: -8.50: -179.20: -12.0: T2: T2; Western Kiribati: 31: 65: OC: 1.42: -173.00: -12.0: T30: T30; Central Kiribati: 31: 62: OC: -2.83: 171.72: -13.0: T31: T31; Eastern Kiribati: 31: 61: OC: 1.80: 157.35: -14.0: T32: T32; Banaba Island: 31: 65: OC: -0.88: -169.53: -12.0: T33: T33; Somalia: 37: 48: AF: 2.03: -45.35: -3.0: T5: 6O,T5; San Marino: 15: 28: EU: 43.95: -12.45: -1.0: T7: T7; Palau: 27: 64: OC: 7.45: -134.53: -9.0: T8: T8; Asiatic Turkey: 20: 39: AS: 39.18: -35.65: -2.0: TA: TA,TB,TC,YM,=TC50TRAC/18E,=TC50TRAC/18C,=TC50TRAC/28G,=TC50TRAC/29T, =TC50TRAC/38D,=TC50TRAC/38K; European Turkey: 20: 39: EU: 41.02: -28.97: -2.0: *TA1: TA1,TB1,TC1,YM1; Iceland: 40: 17: EU: 64.80: 18.73: 0.0: TF: TF; Guatemala: 07: 11: NA: 15.50: 90.30: 6.0: TG: TD,TG; Costa Rica: 07: 11: NA: 10.00: 84.00: 6.0: TI: TE,TI; Cocos Island: 07: 11: NA: 5.52: 87.05: 6.0: TI9: TE9,TI9; Cameroon: 36: 47: AF: 5.38: -11.87: -1.0: TJ: TJ; Corsica: 15: 28: EU: 42.00: -9.00: -1.0: TK: TK; Central African Republic: 36: 47: AF: 6.75: -20.33: -1.0: TL: TL; Republic of the Congo: 36: 52: AF: -1.02: -15.37: -1.0: TN: TN; Gabon: 36: 52: AF: -0.37: -11.73: -1.0: TR: TR; Chad: 36: 47: AF: 15.80: -18.17: -1.0: TT: TT; Cote d'Ivoire: 35: 46: AF: 7.58: 5.80: 0.0: TU: TU; Benin: 35: 46: AF: 9.87: -2.25: -1.0: TY: TY; Mali: 35: 46: AF: 18.00: 2.58: 0.0: TZ: TZ; European Russia: 16: 29: EU: 56.00: -37.00: -4.0: UA: R,U,R1N[19],R1O[19],R1P[20],R1Z[19],R4H[30],R4I[30],R4W[30],R8F(17)[30], R8G(17)[30],R8X(17)[19],R9F(17)[30],R9G(17)[30],R9X(17)[19],RA1N[19], RA1O[19],RA1P[20],RA1Z[19],RA4H[30],RA4I[30],RA4W[30],RA8F(17)[30], RA8G(17)[30],RA8X(17)[19],RA9F(17)[30],RA9G(17)[30],RA9X(17)[19],RC1N[19], RC1O[19],RC1P[20],RC1Z[19],RC4H[30],RC4I[30],RC4W[30],RC8F(17)[30], RC8G(17)[30],RC8X(17)[19],RC9F(17)[30],RC9G(17)[30],RC9X(17)[19],RD1N[19], RD1O[19],RD1P[20],RD1Z[19],RD4H[30],RD4I[30],RD4W[30],RD8F(17)[30], RD8G(17)[30],RD8X(17)[19],RD9F(17)[30],RD9G(17)[30],RD9X(17)[19],RF1N[19], RF1O[19],RF1P[20],RF1Z[19],RF4H[30],RF4I[30],RF4W[30],RF8F(17)[30], RF8G(17)[30],RF8X(17)[19],RF9F(17)[30],RF9G(17)[30],RF9X(17)[19],RG1N[19], RG1O[19],RG1P[20],RG1Z[19],RG4H[30],RG4I[30],RG4W[30],RG8F(17)[30], RG8G(17)[30],RG8X(17)[19],RG9F(17)[30],RG9G(17)[30],RG9X(17)[19],RI1N[19], RI1O[19],RI1P[20],RI1Z[19],RI4H[30],RI4I[30],RI4W[30],RI8F(17)[30], RI8G(17)[30],RI8X(17)[19],RI9F(17)[30],RI9G(17)[30],RI9X(17)[19],RJ1N[19], RJ1O[19],RJ1P[20],RJ1Z[19],RJ4H[30],RJ4I[30],RJ4W[30],RJ8F(17)[30], RJ8G(17)[30],RJ8X(17)[19],RJ9F(17)[30],RJ9G(17)[30],RJ9X(17)[19],RK1N[19], RK1O[19],RK1P[20],RK1Z[19],RK4H[30],RK4I[30],RK4W[30],RK8F(17)[30], RK8G(17)[30],RK8X(17)[19],RK9F(17)[30],RK9G(17)[30],RK9X(17)[19],RL1N[19], RL1O[19],RL1P[20],RL1Z[19],RL4H[30],RL4I[30],RL4W[30],RL8F(17)[30], RL8G(17)[30],RL8X(17)[19],RL9F(17)[30],RL9G(17)[30],RL9X(17)[19],RM1N[19], RM1O[19],RM1P[20],RM1Z[19],RM4H[30],RM4I[30],RM4W[30],RM8F(17)[30], RM8G(17)[30],RM8X(17)[19],RM9F(17)[30],RM9G(17)[30],RM9X(17)[19],RN1N[19], RN1O[19],RN1P[20],RN1Z[19],RN4H[30],RN4I[30],RN4W[30],RN8F(17)[30], RN8G(17)[30],RN8X(17)[19],RN9F(17)[30],RN9G(17)[30],RN9X(17)[19],RO1N[19], RO1O[19],RO1P[20],RO1Z[19],RO4H[30],RO4I[30],RO4W[30],RO8F(17)[30], RO8G(17)[30],RO8X(17)[19],RO9F(17)[30],RO9G(17)[30],RO9X(17)[19],RP1N[19], RP1O[19],RP1P[20],RP1Z[19],RP4H[30],RP4I[30],RP4W[30],RP8F(17)[30], RP8G(17)[30],RP8X(17)[19],RP9F(17)[30],RP9G(17)[30],RP9X(17)[19],RQ1N[19], RQ1O[19],RQ1P[20],RQ1Z[19],RQ4H[30],RQ4I[30],RQ4W[30],RQ8F(17)[30], RQ8G(17)[30],RQ8X(17)[19],RQ9F(17)[30],RQ9G(17)[30],RQ9X(17)[19],RR1N[19], RR1O[19],RR1P[20],RR1Z[19],RR4H[30],RR4I[30],RR4W[30],RR8F(17)[30], RR8G(17)[30],RR8X(17)[19],RR9F(17)[30],RR9G(17)[30],RR9X(17)[19],RT1N[19], RT1O[19],RT1P[20],RT1Z[19],RT4H[30],RT4I[30],RT4W[30],RT8F(17)[30], RT8G(17)[30],RT8X(17)[19],RT9F(17)[30],RT9G(17)[30],RT9X(17)[19],RU1N[19], RU1O[19],RU1P[20],RU1Z[19],RU4H[30],RU4I[30],RU4W[30],RU8F(17)[30], RU8G(17)[30],RU8X(17)[19],RU9F(17)[30],RU9G(17)[30],RU9X(17)[19],RV1N[19], RV1O[19],RV1P[20],RV1Z[19],RV4H[30],RV4I[30],RV4W[30],RV8F(17)[30], RV8G(17)[30],RV8X(17)[19],RV9F(17)[30],RV9G(17)[30],RV9X(17)[19],RW1N[19], RW1O[19],RW1P[20],RW1Z[19],RW4H[30],RW4I[30],RW4W[30],RW8F(17)[30], RW8G(17)[30],RW8X(17)[19],RW9F(17)[30],RW9G(17)[30],RW9X(17)[19],RX1N[19], RX1O[19],RX1P[20],RX1Z[19],RX4H[30],RX4I[30],RX4W[30],RX8F(17)[30], RX8G(17)[30],RX8X(17)[19],RX9F(17)[30],RX9G(17)[30],RX9X(17)[19],RY1N[19], RY1O[19],RY1P[20],RY1Z[19],RY4H[30],RY4I[30],RY4W[30],RY8F(17)[30], RY8G(17)[30],RY8X(17)[19],RY9F(17)[30],RY9G(17)[30],RY9X(17)[19],RZ1N[19], RZ1O[19],RZ1P[20],RZ1Z[19],RZ4H[30],RZ4I[30],RZ4W[30],RZ8F(17)[30], RZ8G(17)[30],RZ8X(17)[19],RZ9F(17)[30],RZ9G(17)[30],RZ9X(17)[19],U1N[19], U1O[19],U1P[20],U1Z[19],U4H[30],U4I[30],U4W[30],U8F(17)[30],U8G(17)[30], U8X(17)[19],U9F(17)[30],U9G(17)[30],U9X(17)[19],UA1N[19],UA1O[19], UA1P[20],UA1Z[19],UA4H[30],UA4I[30],UA4W[30],UA8F(17)[30],UA8G(17)[30], UA8X(17)[19],UA9F(17)[30],UA9G(17)[30],UA9X(17)[19],UB1N[19],UB1O[19], UB1P[20],UB1Z[19],UB4H[30],UB4I[30],UB4W[30],UB8F(17)[30],UB8G(17)[30], UB8X(17)[19],UB9F(17)[30],UB9G(17)[30],UB9X(17)[19],UC1N[19],UC1O[19], UC1P[20],UC1Z[19],UC4H[30],UC4I[30],UC4W[30],UC8F(17)[30],UC8G(17)[30], UC8X(17)[19],UC9F(17)[30],UC9G(17)[30],UC9X(17)[19],UD1N[19],UD1O[19], UD1P[20],UD1Z[19],UD4H[30],UD4I[30],UD4W[30],UD8F(17)[30],UD8G(17)[30], UD8X(17)[19],UD9F(17)[30],UD9G(17)[30],UD9X(17)[19],UE1N[19],UE1O[19], UE1P[20],UE1Z[19],UE4H[30],UE4I[30],UE4W[30],UE8F(17)[30],UE8G(17)[30], UE8X(17)[19],UE9F(17)[30],UE9G(17)[30],UE9X(17)[19],UF1N[19],UF1O[19], UF1P[20],UF1Z[19],UF4H[30],UF4I[30],UF4W[30],UF8F(17)[30],UF8G(17)[30], UF8X(17)[19],UF9F(17)[30],UF9G(17)[30],UF9X(17)[19],UG1N[19],UG1O[19], UG1P[20],UG1Z[19],UG4H[30],UG4I[30],UG4W[30],UG8F(17)[30],UG8G(17)[30], UG8X(17)[19],UG9F(17)[30],UG9G(17)[30],UG9X(17)[19],UH1N[19],UH1O[19], UH1P[20],UH1Z[19],UH4H[30],UH4I[30],UH4W[30],UH8F(17)[30],UH8G(17)[30], UH8X(17)[19],UH9F(17)[30],UH9G(17)[30],UH9X(17)[19],UI1N[19],UI1O[19], UI1P[20],UI1Z[19],UI4H[30],UI4I[30],UI4W[30],UI8F(17)[30],UI8G(17)[30], UI8X(17)[19],UI9F(17)[30],UI9G(17)[30],UI9X(17)[19],=R875R,=RD9CX/4/P, =RV9WKI/4/P,=RZ9HK/3/P; Kaliningrad: 15: 29: EU: 54.72: -20.52: -3.0: UA2: R2F,R2K,RA2,RC2F,RC2K,RD2F,RD2K,RF2F,RF2K,RG2F,RG2K,RI2F,RI2K,RJ2F,RJ2K, RK2F,RK2K,RL2F,RL2K,RM2F,RM2K,RN2F,RN2K,RO2F,RO2K,RP2F,RP2K,RQ2F,RQ2K, RR2F,RR2K,RT2F,RT2K,RU2F,RU2K,RV2F,RV2K,RW2F,RW2K,RX2F,RX2K,RY2F,RY2K, RZ2F,RZ2K,U2F,U2K,UA2,UB2,UC2,UD2,UE2,UF2,UG2,UH2,UI2,=R10RLHA/2,=R21GGGR, =R22GGGR,=R2MWO; Asiatic Russia: 17: 30: AS: 67.18: -104.00: -7.0: UA9: R0,R8(17)[30],R9,RA0,RA8(17)[30],RA9,RB0,RB8(17)[30],RB9,RC0,RC8(17)[30], RC9,RD0,RD8(17)[30],RD9,RE0,RE8(17)[30],RE9,RF0,RF8(17)[30],RF9,RG0, RG8(17)[30],RG9,RH0,RH8(17)[30],RH9,RI0,RI8(17)[30],RI9,RJ0,RJ8(17)[30], RJ9,RK0,RK8(17)[30],RK9,RL0,RL8(17)[30],RL9,RM0,RM8(17)[30],RM9,RN0, RN8(17)[30],RN9,RO0,RO8(17)[30],RO9,RP0,RP8(17)[30],RP9,RQ0,RQ8(17)[30], RQ9,RR0,RR8(17)[30],RR9,RS0,RS8(17)[30],RS9,RT0,RT8(17)[30],RT9,RU0, RU8(17)[30],RU9,RV0,RV8(17)[30],RV9,RW0,RW8(17)[30],RW9,RX0,RX8(17)[30], RX9,RY0,RY8(17)[30],RY9,RZ0,RZ8(17)[30],RZ9,U0,U8(17)[30],U9,UA0, UA8(17)[30],UA9,UB0,UB8(17)[30],UB9,UC0,UC8(17)[30],UC9,UD0,UD8(17)[30], UD9,UE0,UE8(17)[30],UE9,UF0,UF8(17)[30],UF9,UG0,UG8(17)[30],UG9,UH0, UH8(17)[30],UH9,UI0,UI8(17)[30],UI9,R0T(18)[32],R8H(18)[31],R8I(18)[31], R8O(18)[31],R8P(18)[31],R8S(16)[30],R8T(16)[30],R8U(18)[31],R8V(18)[31], R8W(16)[30],R8Y(18)[31],R8Z(18)[31],R9I(18)[31],R9M(17)[30],R9P(18)[31], R9S(16),R9T(16),R9V(18)[31],R9W(16),RA0T(18)[32],RA8H(18)[31], RA8I(18)[31],RA8O(18)[31],RA8P(18)[31],RA8S(16)[30],RA8T(16)[30], RA8U(18)[31],RA8V(18)[31],RA8W(16)[30],RA8Y(18)[31],RA8Z(18)[31], RA9I(18)[31],RA9M(17)[30],RA9P(18)[31],RA9S(16),RA9T(16),RA9V(18)[31], RA9W(16),RC0T(18)[32],RC8H(18)[31],RC8I(18)[31],RC8O(18)[31],RC8P(18)[31], RC8S(16)[30],RC8T(16)[30],RC8U(18)[31],RC8V(18)[31],RC8W(16)[30], RC8Y(18)[31],RC8Z(18)[31],RC9I(18)[31],RC9M(17)[30],RC9P(18)[31],RC9S(16), RC9T(16),RC9V(18)[31],RC9W(16),RD0T(18)[32],RD8H(18)[31],RD8I(18)[31], RD8O(18)[31],RD8P(18)[31],RD8S(16)[30],RD8T(16)[30],RD8U(18)[31], RD8V(18)[31],RD8W(16)[30],RD8Y(18)[31],RD8Z(18)[31],RD9I(18)[31], RD9M(17)[30],RD9P(18)[31],RD9S(16),RD9T(16),RD9V(18)[31],RD9W(16), RF0T(18)[32],RF8H(18)[31],RF8I(18)[31],RF8O(18)[31],RF8P(18)[31], RF8S(16)[30],RF8T(16)[30],RF8U(18)[31],RF8V(18)[31],RF8W(16)[30], RF8Y(18)[31],RF8Z(18)[31],RF9I(18)[31],RF9M(17)[30],RF9P(18)[31],RF9S(16), RF9T(16),RF9V(18)[31],RF9W(16),RG0T(18)[32],RG8H(18)[31],RG8I(18)[31], RG8O(18)[31],RG8P(18)[31],RG8S(16)[30],RG8T(16)[30],RG8U(18)[31], RG8V(18)[31],RG8W(16)[30],RG8Y(18)[31],RG8Z(18)[31],RG9I(18)[31], RG9M(17)[30],RG9P(18)[31],RG9S(16),RG9T(16),RG9V(18)[31],RG9W(16), RI0T(18)[32],RI8H(18)[31],RI8I(18)[31],RI8O(18)[31],RI8P(18)[31], RI8S(16)[30],RI8T(16)[30],RI8U(18)[31],RI8V(18)[31],RI8W(16)[30], RI8Y(18)[31],RI8Z(18)[31],RI9I(18)[31],RI9M(17)[30],RI9P(18)[31],RI9S(16), RI9T(16),RI9V(18)[31],RI9W(16),RJ0T(18)[32],RJ8H(18)[31],RJ8I(18)[31], RJ8O(18)[31],RJ8P(18)[31],RJ8S(16)[30],RJ8T(16)[30],RJ8U(18)[31], RJ8V(18)[31],RJ8W(16)[30],RJ8Y(18)[31],RJ8Z(18)[31],RJ9I(18)[31], RJ9M(17)[30],RJ9P(18)[31],RJ9S(16),RJ9T(16),RJ9V(18)[31],RJ9W(16), RK0T(18)[32],RK8H(18)[31],RK8I(18)[31],RK8O(18)[31],RK8P(18)[31], RK8S(16)[30],RK8T(16)[30],RK8U(18)[31],RK8V(18)[31],RK8W(16)[30], RK8Y(18)[31],RK8Z(18)[31],RK9I(18)[31],RK9M(17)[30],RK9P(18)[31],RK9S(16), RK9T(16),RK9V(18)[31],RK9W(16),RL0T(18)[32],RL8H(18)[31],RL8I(18)[31], RL8O(18)[31],RL8P(18)[31],RL8S(16)[30],RL8T(16)[30],RL8U(18)[31], RL8V(18)[31],RL8W(16)[30],RL8Y(18)[31],RL8Z(18)[31],RL9I(18)[31], RL9M(17)[30],RL9P(18)[31],RL9S(16),RL9T(16),RL9V(18)[31],RL9W(16), RM0T(18)[32],RM8H(18)[31],RM8I(18)[31],RM8O(18)[31],RM8P(18)[31], RM8S(16)[30],RM8T(16)[30],RM8U(18)[31],RM8V(18)[31],RM8W(16)[30], RM8Y(18)[31],RM8Z(18)[31],RM9I(18)[31],RM9M(17)[30],RM9P(18)[31],RM9S(16), RM9T(16),RM9V(18)[31],RM9W(16),RN0T(18)[32],RN8H(18)[31],RN8I(18)[31], RN8O(18)[31],RN8P(18)[31],RN8S(16)[30],RN8T(16)[30],RN8U(18)[31], RN8V(18)[31],RN8W(16)[30],RN8Y(18)[31],RN8Z(18)[31],RN9I(18)[31], RN9M(17)[30],RN9P(18)[31],RN9S(16),RN9T(16),RN9V(18)[31],RN9W(16), RO0T(18)[32],RO8H(18)[31],RO8I(18)[31],RO8O(18)[31],RO8P(18)[31], RO8S(16)[30],RO8T(16)[30],RO8U(18)[31],RO8V(18)[31],RO8W(16)[30], RO8Y(18)[31],RO8Z(18)[31],RO9I(18)[31],RO9M(17)[30],RO9P(18)[31],RO9S(16), RO9T(16),RO9V(18)[31],RO9W(16),RP0T(18)[32],RP8H(18)[31],RP8I(18)[31], RP8O(18)[31],RP8P(18)[31],RP8S(16)[30],RP8T(16)[30],RP8U(18)[31], RP8V(18)[31],RP8W(16)[30],RP8Y(18)[31],RP8Z(18)[31],RP9I(18)[31], RP9M(17)[30],RP9P(18)[31],RP9S(16),RP9T(16),RP9V(18)[31],RP9W(16), RQ0T(18)[32],RQ8H(18)[31],RQ8I(18)[31],RQ8O(18)[31],RQ8P(18)[31], RQ8S(16)[30],RQ8T(16)[30],RQ8U(18)[31],RQ8V(18)[31],RQ8W(16)[30], RQ8Y(18)[31],RQ8Z(18)[31],RQ9I(18)[31],RQ9M(17)[30],RQ9P(18)[31],RQ9S(16), RQ9T(16),RQ9V(18)[31],RQ9W(16),RR0T(18)[32],RR8H(18)[31],RR8I(18)[31], RR8O(18)[31],RR8P(18)[31],RR8S(16)[30],RR8T(16)[30],RR8U(18)[31], RR8V(18)[31],RR8W(16)[30],RR8Y(18)[31],RR8Z(18)[31],RR9I(18)[31], RR9M(17)[30],RR9P(18)[31],RR9S(16),RR9T(16),RR9V(18)[31],RR9W(16), RT0T(18)[32],RT8H(18)[31],RT8I(18)[31],RT8O(18)[31],RT8P(18)[31], RT8S(16)[30],RT8T(16)[30],RT8U(18)[31],RT8V(18)[31],RT8W(16)[30], RT8Y(18)[31],RT8Z(18)[31],RT9I(18)[31],RT9M(17)[30],RT9P(18)[31],RT9S(16), RT9T(16),RT9V(18)[31],RT9W(16),RU0T(18)[32],RU8H(18)[31],RU8I(18)[31], RU8O(18)[31],RU8P(18)[31],RU8S(16)[30],RU8T(16)[30],RU8U(18)[31], RU8V(18)[31],RU8W(16)[30],RU8Y(18)[31],RU8Z(18)[31],RU9I(18)[31], RU9M(17)[30],RU9P(18)[31],RU9S(16),RU9T(16),RU9V(18)[31],RU9W(16), RV0T(18)[32],RV8H(18)[31],RV8I(18)[31],RV8O(18)[31],RV8P(18)[31], RV8S(16)[30],RV8T(16)[30],RV8U(18)[31],RV8V(18)[31],RV8W(16)[30], RV8Y(18)[31],RV8Z(18)[31],RV9I(18)[31],RV9M(17)[30],RV9P(18)[31],RV9S(16), RV9T(16),RV9V(18)[31],RV9W(16),RW0T(18)[32],RW8H(18)[31],RW8I(18)[31], RW8O(18)[31],RW8P(18)[31],RW8S(16)[30],RW8T(16)[30],RW8U(18)[31], RW8V(18)[31],RW8W(16)[30],RW8Y(18)[31],RW8Z(18)[31],RW9I(18)[31], RW9M(17)[30],RW9P(18)[31],RW9S(16),RW9T(16),RW9V(18)[31],RW9W(16), RX0T(18)[32],RX8H(18)[31],RX8I(18)[31],RX8O(18)[31],RX8P(18)[31], RX8S(16)[30],RX8T(16)[30],RX8U(18)[31],RX8V(18)[31],RX8W(16)[30], RX8Y(18)[31],RX8Z(18)[31],RX9I(18)[31],RX9M(17)[30],RX9P(18)[31],RX9S(16), RX9T(16),RX9V(18)[31],RX9W(16),RY0T(18)[32],RY8H(18)[31],RY8I(18)[31], RY8O(18)[31],RY8P(18)[31],RY8S(16)[30],RY8T(16)[30],RY8U(18)[31], RY8V(18)[31],RY8W(16)[30],RY8Y(18)[31],RY8Z(18)[31],RY9I(18)[31], RY9M(17)[30],RY9P(18)[31],RY9S(16),RY9T(16),RY9V(18)[31],RY9W(16), RZ0T(18)[32],RZ8H(18)[31],RZ8I(18)[31],RZ8O(18)[31],RZ8P(18)[31], RZ8S(16)[30],RZ8T(16)[30],RZ8U(18)[31],RZ8V(18)[31],RZ8W(16)[30], RZ8Y(18)[31],RZ8Z(18)[31],RZ9I(18)[31],RZ9M(17)[30],RZ9P(18)[31],RZ9S(16), RZ9T(16),RZ9V(18)[31],RZ9W(16),U0T(18)[32],U8H(18)[31],U8I(18)[31], U8O(18)[31],U8P(18)[31],U8S(16)[30],U8T(16)[30],U8U(18)[31],U8V(18)[31], U8W(16)[30],U8Y(18)[31],U8Z(18)[31],U9I(18)[31],U9M(17)[30],U9P(18)[31], U9S(16),U9T(16),U9V(18)[31],U9W(16),UA0T(18)[32],UA8H(18)[31], UA8I(18)[31],UA8O(18)[31],UA8P(18)[31],UA8S(16)[30],UA8T(16)[30], UA8U(18)[31],UA8V(18)[31],UA8W(16)[30],UA8Y(18)[31],UA8Z(18)[31], UA9I(18)[31],UA9M(17)[30],UA9P(18)[31],UA9S(16),UA9T(16),UA9V(18)[31], UA9W(16),UB0T(18)[32],UB8H(18)[31],UB8I(18)[31],UB8O(18)[31],UB8P(18)[31], UB8S(16)[30],UB8T(16)[30],UB8U(18)[31],UB8V(18)[31],UB8W(16)[30], UB8Y(18)[31],UB8Z(18)[31],UB9I(18)[31],UB9M(17)[30],UB9P(18)[31],UB9S(16), UB9T(16),UB9V(18)[31],UB9W(16),UC0T(18)[32],UC8H(18)[31],UC8I(18)[31], UC8O(18)[31],UC8P(18)[31],UC8S(16)[30],UC8T(16)[30],UC8U(18)[31], UC8V(18)[31],UC8W(16)[30],UC8Y(18)[31],UC8Z(18)[31],UC9I(18)[31], UC9M(17)[30],UC9P(18)[31],UC9S(16),UC9T(16),UC9V(18)[31],UC9W(16), UD0T(18)[32],UD8H(18)[31],UD8I(18)[31],UD8O(18)[31],UD8P(18)[31], UD8S(16)[30],UD8T(16)[30],UD8U(18)[31],UD8V(18)[31],UD8W(16)[30], UD8Y(18)[31],UD8Z(18)[31],UD9I(18)[31],UD9M(17)[30],UD9P(18)[31],UD9S(16), UD9T(16),UD9V(18)[31],UD9W(16),UE0T(18)[32],UE8H(18)[31],UE8I(18)[31], UE8O(18)[31],UE8P(18)[31],UE8S(16)[30],UE8T(16)[30],UE8U(18)[31], UE8V(18)[31],UE8W(16)[30],UE8Y(18)[31],UE8Z(18)[31],UE9I(18)[31], UE9M(17)[30],UE9P(18)[31],UE9S(16),UE9T(16),UE9V(18)[31],UE9W(16), UF0T(18)[32],UF8H(18)[31],UF8I(18)[31],UF8O(18)[31],UF8P(18)[31], UF8S(16)[30],UF8T(16)[30],UF8U(18)[31],UF8V(18)[31],UF8W(16)[30], UF8Y(18)[31],UF8Z(18)[31],UF9I(18)[31],UF9M(17)[30],UF9P(18)[31],UF9S(16), UF9T(16),UF9V(18)[31],UF9W(16),UG0T(18)[32],UG8H(18)[31],UG8I(18)[31], UG8O(18)[31],UG8P(18)[31],UG8S(16)[30],UG8T(16)[30],UG8U(18)[31], UG8V(18)[31],UG8W(16)[30],UG8Y(18)[31],UG8Z(18)[31],UG9I(18)[31], UG9M(17)[30],UG9P(18)[31],UG9S(16),UG9T(16),UG9V(18)[31],UG9W(16), UH0T(18)[32],UH8H(18)[31],UH8I(18)[31],UH8O(18)[31],UH8P(18)[31], UH8S(16)[30],UH8T(16)[30],UH8U(18)[31],UH8V(18)[31],UH8W(16)[30], UH8Y(18)[31],UH8Z(18)[31],UH9I(18)[31],UH9M(17)[30],UH9P(18)[31],UH9S(16), UH9T(16),UH9V(18)[31],UH9W(16),UI0T(18)[32],UI8H(18)[31],UI8I(18)[31], UI8O(18)[31],UI8P(18)[31],UI8S(16)[30],UI8T(16)[30],UI8U(18)[31], UI8V(18)[31],UI8W(16)[30],UI8Y(18)[31],UI8Z(18)[31],UI9I(18)[31], UI9M(17)[30],UI9P(18)[31],UI9S(16),UI9T(16),UI9V(18)[31],UI9W(16), =RA/DL6XK,=RA/IK0PRH(19)[24],=RA/IK0PRH/P(19)[24],=RA/KE5JA(19)[34], =RA/UR5WT(18)[32],=RA/UT5IA(19)[23],=UE80C(19)[33]; Uzbekistan: 17: 30: AS: 41.40: -63.97: -5.0: UK: UJ,UK,UL,UM; Kazakhstan: 17: 30: AS: 48.17: -65.18: -5.0: UN: UN,UO,UP,UQ,UN0D[31],UN0F[31],UN0G[31],UN0J[31],UN0Q[31],UN0V[31], UN1D[31],UN1F[31],UN1G[31],UN1J[31],UN1Q[31],UN1V[31],UN2D[31],UN2F[31], UN2G[31],UN2J[31],UN2Q[31],UN2V[31],UN3D[31],UN3F[31],UN3G[31],UN3J[31], UN3Q[31],UN3V[31],UN4D[31],UN4F[31],UN4G[31],UN4J[31],UN4Q[31],UN4V[31], UN5D[31],UN5F[31],UN5G[31],UN5J[31],UN5Q[31],UN5V[31],UN6D[31],UN6F[31], UN6G[31],UN6J[31],UN6Q[31],UN6V[31],UN7D[31],UN7F[31],UN7G[31],UN7J[31], UN7Q[31],UN7V[31],UN8D[31],UN8F[31],UN8G[31],UN8J[31],UN8Q[31],UN8V[31], UN9D[31],UN9F[31],UN9G[31],UN9J[31],UN9Q[31],UN9V[31],UO0D[31],UO0F[31], UO0G[31],UO0J[31],UO0Q[31],UO0V[31],UO1D[31],UO1F[31],UO1G[31],UO1J[31], UO1Q[31],UO1V[31],UO2D[31],UO2F[31],UO2G[31],UO2J[31],UO2Q[31],UO2V[31], UO3D[31],UO3F[31],UO3G[31],UO3J[31],UO3Q[31],UO3V[31],UO4D[31],UO4F[31], UO4G[31],UO4J[31],UO4Q[31],UO4V[31],UO5D[31],UO5F[31],UO5G[31],UO5J[31], UO5Q[31],UO5V[31],UO6D[31],UO6F[31],UO6G[31],UO6J[31],UO6Q[31],UO6V[31], UO7D[31],UO7F[31],UO7G[31],UO7J[31],UO7Q[31],UO7V[31],UO8D[31],UO8F[31], UO8G[31],UO8J[31],UO8Q[31],UO8V[31],UO9D[31],UO9F[31],UO9G[31],UO9J[31], UO9Q[31],UO9V[31],UP0D[31],UP0F[31],UP0G[31],UP0J[31],UP0Q[31],UP0V[31], UP1D[31],UP1F[31],UP1G[31],UP1J[31],UP1Q[31],UP1V[31],UP2D[31],UP2F[31], UP2G[31],UP2J[31],UP2Q[31],UP2V[31],UP3D[31],UP3F[31],UP3G[31],UP3J[31], UP3Q[31],UP3V[31],UP4D[31],UP4F[31],UP4G[31],UP4J[31],UP4Q[31],UP4V[31], UP5D[31],UP5F[31],UP5G[31],UP5J[31],UP5Q[31],UP5V[31],UP6D[31],UP6F[31], UP6G[31],UP6J[31],UP6Q[31],UP6V[31],UP7D[31],UP7F[31],UP7G[31],UP7J[31], UP7Q[31],UP7V[31],UP8D[31],UP8F[31],UP8G[31],UP8J[31],UP8Q[31],UP8V[31], UP9D[31],UP9F[31],UP9G[31],UP9J[31],UP9Q[31],UP9V[31],UQ0D[31],UQ0F[31], UQ0G[31],UQ0J[31],UQ0Q[31],UQ0V[31],UQ1D[31],UQ1F[31],UQ1G[31],UQ1J[31], UQ1Q[31],UQ1V[31],UQ2D[31],UQ2F[31],UQ2G[31],UQ2J[31],UQ2Q[31],UQ2V[31], UQ3D[31],UQ3F[31],UQ3G[31],UQ3J[31],UQ3Q[31],UQ3V[31],UQ4D[31],UQ4F[31], UQ4G[31],UQ4J[31],UQ4Q[31],UQ4V[31],UQ5D[31],UQ5F[31],UQ5G[31],UQ5J[31], UQ5Q[31],UQ5V[31],UQ6D[31],UQ6F[31],UQ6G[31],UQ6J[31],UQ6Q[31],UQ6V[31], UQ7D[31],UQ7F[31],UQ7G[31],UQ7J[31],UQ7Q[31],UQ7V[31],UQ8D[31],UQ8F[31], UQ8G[31],UQ8J[31],UQ8Q[31],UQ8V[31],UQ9D[31],UQ9F[31],UQ9G[31],UQ9J[31], UQ9Q[31],UQ9V[31]; Ukraine: 16: 29: EU: 50.00: -30.00: -2.0: UR: EM,EN,EO,U5,UR,US,UT,UU,UV,UW,UX,UY,UZ; Antigua & Barbuda: 08: 11: NA: 17.07: 61.80: 4.0: V2: V2; Belize: 07: 11: NA: 16.97: 88.67: 6.0: V3: V3; St. Kitts & Nevis: 08: 11: NA: 17.37: 62.78: 4.0: V4: V4; Namibia: 38: 57: AF: -22.00: -17.00: -1.0: V5: V5; Micronesia: 27: 65: OC: 6.88: -158.20: -10.0: V6: V6; Marshall Islands: 31: 65: OC: 9.08: -167.33: -12.0: V7: V7; Brunei Darussalam: 28: 54: OC: 4.50: -114.60: -8.0: V8: V8; Canada: 05: 09: NA: 44.35: 78.75: 5.0: VE: CF,CG,CJ,CK,VA,VB,VC,VE,VG,VX,XL,XM,CF2[4],CG2[4],CH1,CH2(2),CI0(2)[4], CI1(1)[2],CI2,CJ2[4],CK2[4],CY1,CY2(2),CZ0(2)[4],CZ1(1)[2],CZ2,VA2[4], VB2[4],VC2[4],VD1,VD2(2),VE2[4],VF0(2)[4],VF1(1)[2],VF2,VG2[4],VO1,VO2(2), VX2[4],VY0(2)[4],VY1(1)[2],VY2,XJ1,XJ2(2),XK0(2)[4],XK1(1)[2],XK2,XL2[4], XM2[4],XN1,XN2(2),XO0(2)[4],XO1(1)[2],XO2,=VER20120918,=VA2PL(2)[4], =VE2AEJ(4)[4],=VE2CSI(2)[4],=VE2DXY(2)[4],=VE2EKA(2)[4],=VE2ENB(2)[4], =VE2EW(2)[4],=VE2FK[9],=VE2GSO(2)[4],=VE2HRI(2)[4],=VE2III(2)[4], =VE2IM(2)[4],=VE2TKH(2)[4],=VE2XB/3(4)[4],=VY0PW(4)[3]; Australia: 30: 59: OC: -23.70: -132.33: -10.0: VK: AX,VH,VI,VJ,VK,VL,VM,VN,VZ,AX4[55],VH4[55],VI4[55],VJ4[55],VK4[55], VL4[55],VM4[55],VN4[55],VZ4[55]; Heard Island: 39: 68: AF: -53.08: -73.50: -5.0: VK0H: =VK0IR; Macquarie Island: 30: 60: OC: -54.60: -158.88: -10.0: VK0M: =VK0TH; Cocos (Keeling) Islands: 29: 54: OC: -12.15: -96.82: -6.5: VK9C: AX9C,AX9Y,VH9C,VH9Y,VI9C,VI9Y,VJ9C,VJ9Y,VK9C,VK9Y,VL9C,VL9Y,VM9C,VM9Y, VN9C,VN9Y,VZ9C,VZ9Y,=VK9AA; Lord Howe Island: 30: 60: OC: -31.55: -159.08: -10.5: VK9L: AX9L,VH9L,VI9L,VJ9L,VK9L,VL9L,VM9L,VN9L,VZ9L,=VK9FLHI; Mellish Reef: 30: 56: OC: -17.40: -155.85: -10.0: VK9M: AX9M,VH9M,VI9M,VJ9M,VK9M,VL9M,VM9M,VN9M,VZ9M; Norfolk Island: 32: 60: OC: -29.03: -167.93: -11.5: VK9N: AX9,VH9,VI9,VJ9,VK9,VL9,VM9,VN9,VZ9; Willis Island: 30: 55: OC: -16.22: -150.02: -10.0: VK9W: AX9W,AX9Z,VH9W,VH9Z,VI9W,VI9Z,VJ9W,VJ9Z,VK9W,VK9Z,VL9W,VL9Z,VM9W,VM9Z, VN9W,VN9Z,VZ9W,VZ9Z; Christmas Island: 29: 54: OC: -10.48: -105.63: -7.0: VK9X: AX9X,VH9X,VI9X,VJ9X,VK9X,VL9X,VM9X,VN9X,VZ9X; Anguilla: 08: 11: NA: 18.23: 63.00: 4.0: VP2E: VP2E; Montserrat: 08: 11: NA: 16.75: 62.18: 4.0: VP2M: VP2M; British Virgin Islands: 08: 11: NA: 18.33: 64.75: 4.0: VP2V: VP2V; Turks & Caicos Islands: 08: 11: NA: 21.77: 71.75: 5.0: VP5: VP5,VQ5; Pitcairn Island: 32: 63: OC: -24.35: 128.32: 8.0: VP6: VP6; Ducie Island: 32: 63: OC: -24.70: 124.80: 8.0: VP6/d: =VP6DX; Falkland Islands: 13: 16: SA: -51.63: 58.72: 4.0: VP8: VP8; South Georgia Island: 13: 73: SA: -54.48: 37.08: 2.0: VP8/g: =VP8SGK; South Shetland Islands: 13: 73: SA: -62.08: 58.67: 4.0: VP8/h: CE9,XR9,=DT8A,=HF0POL,=RI1ANA,=RI1ANF,=RI1ANF/P; South Orkney Islands: 13: 73: SA: -60.60: 45.55: 3.0: VP8/o: =LU1ZA; South Sandwich Islands: 13: 73: SA: -58.43: 26.33: 2.0: VP8/s: =VP8THU; Bermuda: 05: 11: NA: 32.32: 64.73: 4.0: VP9: VP9; Chagos Islands: 39: 41: AF: -7.32: -72.42: -6.0: VQ9: VQ9; Hong Kong: 24: 44: AS: 22.28: -114.18: -8.0: VR: VR; India: 22: 41: AS: 22.50: -77.58: -5.5: VU: 8T,8U,8V,8W,8X,8Y,AT,AU,AV,AW,VT,VU,VV,VW; Andaman & Nicobar Is.: 26: 49: AS: 12.37: -92.78: -5.5: VU4: VU4; Lakshadweep Islands: 22: 41: AS: 11.23: -72.78: -5.5: VU7: VU7; Mexico: 06: 10: NA: 24.00: 102.00: 6.0: XE: 4A,4B,4C,6D,6E,6F,6G,6H,6I,6J,XA,XB,XC,XD,XE,XF,XG,XH,XI; Revillagigedo: 06: 10: NA: 18.77: 110.97: 7.0: XF4: 4A4,4B4,4C4,6D4,6E4,6F4,6G4,6H4,6I4,6J4,XA4,XB4,XC4,XD4,XE4,XF0,XF4,XG4, XH4,XI4; Burkina Faso: 35: 46: AF: 12.00: 2.00: 0.0: XT: XT; Cambodia: 26: 49: AS: 12.93: -105.13: -7.0: XU: XU; Laos: 26: 49: AS: 18.20: -104.55: -7.0: XW: XW; Macao: 24: 44: AS: 22.10: -113.50: -8.0: XX9: XX9; Myanmar: 26: 49: AS: 20.00: -96.37: -6.5: XZ: XY,XZ; Afghanistan: 21: 40: AS: 34.70: -65.80: -4.5: YA: T6,YA; Indonesia: 28: 51: OC: -7.30: -109.88: -7.0: YB: 7A,7B,7C,7D,7E,7F,7G,7H,7I,8A,8B,8C,8D,8E,8F,8G,8H,8I,JZ,PK,PL,PM,PN,PO, YB,YC,YD,YE,YF,YG,YH,YB0[54],YB1[54],YB2[54],YB3[54],YB4[54],YB5[54], YB6[54],YB7[54],YB8[54],YC0[54],YC1[54],YC2[54],YC3[54],YC4[54],YC5[54], YC6[54],YC7[54],YC8[54],YD0[54],YD1[54],YD2[54],YD3[54],YD4[54],YD5[54], YD6[54],YD7[54],YD8[54],YE0[54],YE1[54],YE2[54],YE3[54],YE4[54],YE5[54], YE6[54],YE7[54],YE8[54],YF0[54],YF1[54],YF2[54],YF3[54],YF4[54],YF5[54], YF6[54],YF7[54],YF8[54],YG0[54],YG1[54],YG2[54],YG3[54],YG4[54],YG5[54], YG6[54],YG7[54],YG8[54],YH0[54],YH1[54],YH2[54],YH3[54],YH4[54],YH5[54], YH6[54],YH7[54],YH8[54]; Iraq: 21: 39: AS: 33.92: -42.78: -3.0: YI: HN,YI; Vanuatu: 32: 56: OC: -17.67: -168.38: -11.0: YJ: YJ; Syria: 20: 39: AS: 35.38: -38.20: -2.0: YK: 6C,YK; Latvia: 15: 29: EU: 57.03: -24.65: -2.0: YL: YL; Nicaragua: 07: 11: NA: 12.88: 85.05: 6.0: YN: H6,H7,HT,YN; Romania: 20: 28: EU: 45.78: -24.70: -2.0: YO: YO,YP,YQ,YR; El Salvador: 07: 11: NA: 14.00: 89.00: 6.0: YS: HU,YS; Serbia: 15: 28: EU: 44.00: -21.00: -1.0: YU: 4N,YT,YU; Venezuela: 09: 12: SA: 8.00: 66.00: 4.5: YV: 4M,YV,YW,YX,YY; Aves Island: 08: 11: NA: 15.67: 63.60: 4.0: YV0: 4M0,YV0,YW0,YX0,YY0; Zimbabwe: 38: 53: AF: -18.00: -31.00: -2.0: Z2: Z2; Macedonia: 15: 28: EU: 41.60: -21.65: -1.0: Z3: Z3; Kosovo: 15: 28: EU: 42.67: -21.17: -1.0: *Z6: Z6,=YU8/IV3LAR; Republic of South Sudan: 34: 48: AF: 4.85: -31.60: -3.0: Z8: Z8; Albania: 15: 28: EU: 41.00: -20.00: -1.0: ZA: ZA; Gibraltar: 14: 37: EU: 36.15: 5.37: -1.0: ZB: ZB,ZG; UK Base Areas on Cyprus: 20: 39: AS: 35.32: -33.57: -2.0: ZC4: ZC4; St. Helena: 36: 66: AF: -15.97: 5.72: 0.0: ZD7: ZD7; Ascension Island: 36: 66: AF: -7.93: 14.37: 0.0: ZD8: ZD8; Tristan da Cunha & Gough: 38: 66: AF: -37.13: 12.30: 0.0: ZD9: ZD9; Cayman Islands: 08: 11: NA: 19.32: 81.22: 5.0: ZF: ZF; Tokelau Islands: 31: 62: OC: -9.40: 171.20: -13.0: ZK3: ZK3; New Zealand: 32: 60: OC: -41.83: -173.27: -12.0: ZL: ZK,ZL,ZM; Chatham Islands: 32: 60: OC: -43.85: 176.48: -12.75: ZL7: ZL7,ZM7; Kermadec Islands: 32: 60: OC: -29.25: 177.92: -12.0: ZL8: ZL8,ZM8; Auckland & Campbell Is.: 32: 60: OC: -50.73: -166.10: -12.0: ZL9: ZL9,ZM9; Paraguay: 11: 14: SA: -25.27: 57.67: 4.0: ZP: ZP; South Africa: 38: 57: AF: -29.07: -22.63: -2.0: ZS: H5,S4,S8,V9,ZR,ZS,ZT,ZU,=ZS1CT/L,=ZS1FRC/L,=ZS5ZLB/L; Pr. Edward & Marion Is.: 38: 57: AF: -46.88: -37.72: -3.0: ZS8: ZR8,ZS8,ZT8,ZU8; tucnak-4.32/data/coradd.pl0000755000175000017500000000067211277513163012370 00000000000000#!/usr/bin/perl -w use Data::Dumper; open(COR, ">>tucnakcor") or die; $t=128; while ($s=<>){ chomp($s); next if (length($s)==0); ($w,$h)=split /\s+/,$s; print Dumper($w,$h); next unless defined $w; next unless defined $h; $iw = int($w * 100); $ih = int($h * 100); print Dumper($iw, $ih); $bin=pack("ccccc", $ih % 256, $ih / 256, $iw % 256, $iw / 256, $t); $t=0; print COR $bin; } close(COR); tucnak-4.32/data/tucnaknames0000644000175000017500000012753014035370711013026 00000000000000DK2DTF Drahomir OK1AAC Oldrich OK1AAF Rudolf OK1AAI Zdenek OK1AA Ludek OK1AAM Petr OK1AAP Ales OK1AAU Frantisek OK1AAZ Josef OK1ABA Josef OK1ABF Vladimir OK1ABG Vaclav OK1ABR Antonin OK1ACE Vaclav OK1ACF Zdenek OK1ACK Jiri OK1ACO Jiri OK1ACP Lubos OK1ACS Vaclav OK1ADA Alena OK1AD Ladislav OK1ADM Vaclav OK1ADO Frantisek OK1ADR Juraj OK1ADT Pavel OK1ADY Jozef OK1AEB Karel OK1AEM Josef OK1AEU Martin OK1AEV Pavel OK1AEW Jaroslav OK1AEY Bozetech OK1AE Zdenek OK1AEZ Jiri OK1AFI Vladimir OK1AFJ Ervin OK1AFO Antonin OK1AFR Rostislav OK1AFU Jan OK1AFV Vladislav OK1AGC Ales OK1AGE Stanislav OK1AGM Josef OK1AGR Vlasta OK1AGS Miroslav OK1AG Zdenek OK1AHB Antonin OK1AHG Jan OK1AHJ Jaroslav OK1AHM Lubomir OK1AHO Pribin OK1AHV Beda OK1AHX Stanislav OK1AHY Oldrich OK1AIC Stanislav OK1AIG Miroslav OK1AIJ Karel OK1AIK Zdenek OK1AIL Miloslav OK1AI Lubomir OK1AIM Vaclav OK1AIT Jaromir OK1AIX Oldrich OK1AIY Pavel OK1AIZ Miloslav OK1AJD Vladimir OK1AJJ Josef OK1AJL Josef OK1AJ Petr OK1AJR Vaclav OK1AJU Jiri OK1AJY Stanislav OK1AKF Cestmir OK1AKI Petr OK1AKJ Frantisek OK1AKM Radek OK1AKU Stepan OK1AK Vlastimil OK1ALA Vaclav OK1ALB Jaroslav OK1ALG Vaclav OK1AL Karel OK1ALK Hana OK1ALL Vaclav OK1ALM Jaroslav OK1ALR Karel OK1ALU Bohumil OK1ALY Ivan OK1ALZ Josef OK1AMD Milos OK1AME Milan OK1AMF Frantisek OK1A Milan OK1AMJ Jaroslav OK1AMO Vladimir OK1AMP Frantisek OK1AMT Pavel OK1AMU Jiri OK1AMY Alek OK1ANA Vaclav OK1ANJ Jindrich OK1ANM Stanislav OK1ANN Vladimir OK1ANO Josef OK1ANR Vaclav OK1ANS Ivan OK1ANT Vaclav OK1ANV Vaclav OK1ANY Josef OK1AO Adolf OK1AOF Ivo OK1AOT Adolf OK1AOU Jaroslav OK1AOV Jiri OK1AOZ Jiri OK1APB Lubos OK1APC Josef OK1APE Alois OK1APF Jiri OK1APG Jiri OK1API Josef OK1APR Jan OK1APS Jan OK1APT Miroslav OK1APU Mojmir OK1APV Antonin OK1APW Miroslav OK1APY Petr OK1APZ Emil OK1AQB Jan OK1AQL Jindrich OK1AQN Miroslav OK1AQO Josef OK1AQT Vladimir OK1AQW Zdenek OK1ARA Jiri OK1ARE Petr OK1ARI Jaroslava OK1ARN Jiri OK1ARO Bohumil OK1ARQ Josef OK1AR Zdenek OK1ASG Antonin OK1ASJ Jaroslav OK1ASK Jana OK1AS Ludovit OK1ASR Josef OK1ATC Karel OK1ATI Jaroslav OK1AT Jiri OK1ATL Petr OK1ATN Stanislav OK1ATP Jaroslav OK1ATR Dalibor OK1ATW Josef OK1ATX Jan OK1ATY Jaromir OK1AUB Vladislav OK1AUC Josef OK1AUE Miloslav OK1AUK Jozef OK1AUN Vaclav OK1AUO Tomas OK1AUP Vaclav OK1AU Stanislav OK1AUV Vladimir OK1AUX Bedrich OK1AUZ Zdenek OK1AVI Jiri OK1AVO Jaroslav OK1AVP Jan OK1AVR Jan OK1AVV Jiri OK1AVY Dobroslav OK1AWC Miroslav OK1AWG Josef OK1AWH Bohuslav OK1AWJ Jaroslav OK1AWK Milos OK1AWO Stanislav OK1AW Pavel OK1AWR Jiri OK1AWU Milos OK1AXA Ladislav OK1AXB Josef OK1AXD Vit OK1AXG Bohumil OK1AXK Jan OK1AXL Josef OK1AXX Pavel OK1AYA Silvestr OK1AYB Vaclav OK1AYD Josef OK1AYE Jiri OK1AYF Vladimir OK1AY Josef OK1AYN Vladislav OK1AYR Jan OK1AYU Petr OK1AYV Frantisek OK1AYW Vaclav OK1AYY Jaroslav OK1AYZ Pavel OK1AZD Emil OK1AZR Bohdan OK1BAF Jan OK1BAH Jiri OK1BA Karel OK1BB Jaroslav OK1BC Robert OK1BET Miroslav OK1BF Roman OK1BI Jiri OK1BJH Josef OK1BKO Radek OK1BLU Milan OK1BN Petr OK1BO Mikulas OK1BPO Petr OK1BQT Vlastimil OK1BTW Jiri OK1BU Jindrich OK1BWF Ladislav OK1BYR Martin OK1BZ Jaroslav OK1CAG Milan OK1CAM Olga OK1CAP Ales OK1CAU Lubos OK1CAV Jiri OK1CBB Jan OK1CBI Miloslav OK1CB Jozef OK1CBM Michal OK1CBR Roman OK1CC Karel OK1CCK Zdenek OK1CCM Jan OK1CCS Josef OK1CDA Vladimir OK1CDE Petr OK1CDF Vladimir OK1CDG Milan OK1CD Karel OK1CDS Daniel OK1CDT Jakub OK1CDU Petr OK1CEI Vlastimil OK1CF Karel OK1CFK Frantisek OK1CGA Martin OK1CGQ Pavel OK1CID Stanislav OK1CIG Zdenek OK1CI Josef OK1CIS Jiri OK1CJB Jaroslav OK1CJH Jan OK1CJ Jaroslav OK1CJJ Jan OK1CJN Jiri OK1CJS Jaroslav OK1CJT Josef OK1CKF Frantisek OK1CKH Vladimir OK1CKV Vaclav OK1CLA Ludek OK1CLD Ondrej OK1CLO Ladislav OK1CLR Ludvik OK1CLT Libor OK1CLZ Zdenek OK1CMA Martin OK1CMD Lubos OK1CMJ Josef OK1CMQ Gabriel OK1CMU Petr OK1CMV Vaclav OK1CNM Jaroslav OK1CNN Vaclav OK1CO Jiri OK1COM Jan OK1COT Ondrej OK1CPB Libor OK1CP Ivan OK1CPR Radek OK1CPS Arnost OK1CPU Miloslav OK1CR Frantisek OK1CRM Pavol OK1CRS Pavel OK1CRX Katarina OK1CS Emil OK1CSS Stepan OK1CTA Tomas OK1CTB Bedrich OK1CT Milos OK1CTM Pavel OK1CTT Rostislav OK1CU Vitezslav OK1CUV Zdenek OK1CVC Vaclav OK1CVM Martina OK1CVP Vaclav OK1CW Vladimir OK1CYB Lenka OK1CYC Miroslav OK1DAE Petr OK1DAH Jan OK1DAI Antonin OK1DAK Vladimir OK1DAM Josef OK1DAR Jiri OK1DAU Jaroslav OK1DAV Oldrich OK1DBF Otakar OK1DBK Jan OK1DBL Alexander OK1DBQ Milan OK1DBS David OK1DBT Zdenek OK1DBU Ivan OK1DCA Andre OK1DCB Frantisek OK1DC Dusan OK1DCF Ladislav OK1DCI Jiri OK1DCK Ladislav OK1DCM Jiri OK1DCP Frantisek OK1DCS Vaclav OK1DCU Jaroslav OK1DCV Frantisek OK1DCX Vojtech OK1DDA Frantisek OK1DDB Jan OK1DDC Jindrich OK1DDD Karel OK1DDJ Karel OK1DDQ Jiri OK1DDV Vladimir OK1DDX Vaclav OK1DEC Josef OK1DEF Zdenek OK1DEK Jaromir OK1DEM Josef OK1DEP Radoslav OK1DEU Roman OK1DEZ Jiri OK1DFC Zdenek OK1DFE Eva OK1DF Frantisek OK1DFK Frantisek OK1DFR Pavel OK1DFT Antonin OK1DG Karel OK1DGT Zdenek OK1DGU Vladimir OK1DGV Milos OK1DGY Jindrich OK1DHA Jiri OK1DHJ Jan OK1DHN Vladimir OK1DHP Petr OK1DHR Hilbert OK1DH Robert OK1DHZ Karel OK1DIB Adolf OK1DID Vladimir OK1DIE Petr OK1DIK Karel OK1DIL Alois OK1DIN Pavel OK1DIP Miloslav OK1DIX Ladislav OK1DJD Josef OK1DJE Josef OK1DJL Josef OK1DJO Martin OK1DJS Jan OK1DJT Tomas OK1DJW Jiri OK1DKA Bohuslav OK1DKB Rudolf OK1DKK Jan OK1DKM Milos OK1DKO Karel OK1DKR Rudolf OK1DKU Vladimir OK1DKX Jaroslav OK1DLA Ludek OK1DLB Milos OK1DLS Miloslav OK1DLX Miroslav OK1DLY Ladislav OK1DLZ Lubos OK1DMB Milos OK1DMD Helena OK1DMM Milos OK1DM Otakar OK1DMP Milan OK1DMQ Drahomir OK1DMT Zdenek OK1DMW Milena OK1DMZ Jaroslav OK1DNJ Jaroslav OK1DNL Jiri OK1DNM Milan OK1DNQ Vlasta OK1DNS Michal OK1DNT Denis OK1DNU Bohuslav OK1DN Vaclav OK1DNV Vaclav OK1DNW Jaroslav OK1DNZ Pavel OK1DOA Josef OK1DOB Otakar OK1DOF Petr OK1DOH Jan OK1DO Jiri OK1DOL Libor OK1DOM Miroslav OK1DOR Antonin OK1DOS Zdenek OK1DOU Miloslav OK1DOW Vojta OK1DOY Zdenek OK1DOZ Bedrich OK1DPA Ladislav OK1DPF Petr OK1DPO Josef OK1DP Petr OK1DPQ Petr OK1DPR Ivan OK1DPU Jan OK1DPV Pavel OK1DPX Petr OK1DQA Martin OK1DQP Ales OK1DQR Frantisek OK1DQT Jiri OK1DRD Miroslav OK1DRG Eduard OK1DRH Jiri OK1DR Jiri OK1DRJ Jiri OK1DRQ Pavel OK1DRX Jiri OK1DRZ Rostislav OK1DSA Roman OK1DSD Daniel OK1DSF Karel OK1DS Leona OK1DSN Michal OK1DSP Bretislav OK1DSS Sieghard OK1DST Alexandr OK1DSX Jaroslav OK1DSZ Zdenek OK1DTM Josef OK1DTN Rudolf OK1DTP David OK1DTU Petr OK1DTX Vera OK1DT Zdenek OK1DUB Miroslav OK1DUG Petr OK1DU Libor OK1DUO Jaroslav OK1DUS Martin OK1DUT Jiri OK1DUV Jiri OK1DVA Olga OK1DVB Vaclav OK1DVG Vaclav OK1DVK Vojtech OK1DVN Vojtech OK1DVP Valdemar OK1DVU Stanislav OK1DVW Alois OK1DVX Ladislav OK1DVZ Zdenek OK1DWC Milan OK1DWD Jarmila OK1DWF Karel OK1DWJ Ales OK1DXE Vaclav OK1DXF Rostislav OK1DXI Miloslav OK1DXJ Ludvik OK1DXK Jiri OK1DXL Jiri OK1DXM Jaromir OK1DXO Zbynek OK1DX Pavel OK1DXR Pavel OK1DXT Antonin OK1DY Kamil OK1DYW Helena OK1DYX Marie OK1DZA Zdenka OK1DZG Jiri OK1DZH Helena OK1DZM Michal OK1DZR Ludek OK1EA Vlastimil OK1EC Radek OK1ED Jan OK1EE Martin OK1EG Vladimir OK1EK Frantisek OK1ELA Martin OK1EM Edvin OK1EO Jaroslav OK1EP Karel OK1EQ Petr OK1ES Josef OK1ET Petr OK1EVA Eva OK1EV Jan OK1EY Pavel OK1FAC Lubos OK1FAG Jiri OK1FAH Josef OK1FAI Vaclav OK1FA Jaroslav OK1FAK Svojmir OK1FAM Ludvik OK1FAN Frantisek OK1FAO Jiri OK1FAP Bohumil OK1FAT Miroslav OK1FAU Jaroslav OK1FAY Zdenek OK1FBE Vaclav OK1FBH Karel OK1FBI Ludek OK1FBL Josefa OK1FBO Karel OK1FBU Dusan OK1FBW Marcel OK1FCA Stanislav OK1FCB Jiri OK1FCF Jiri OK1FCJ Petr OK1FCK Petr OK1FCR Vladimir OK1FCS Vaclav OK1FCT Josef OK1FCX Radovan OK1FDC Frantisek OK1FDE Radoslav OK1FDH Pavel OK1FDN Frantisek OK1FDR Radim OK1FDS Dalibor OK1FD Vaclav OK1FDY Rudolf OK1FDZ Pavel OK1FED Josef OK1FEK Jaroslav OK1FEN Robert OK1FET Vladimir OK1FFE Josef OK1FFH Mojmir OK1FF Petr OK1FFP Jindrich OK1FFR Rudolf OK1FFS Petr OK1FFU Petr OK1FFV Jaromir OK1FFW Pavel OK1FFY Helena OK1FGA Josef OK1FGB Bohuslav OK1FGD Lubos OK1FGE Vladimir OK1FGF Jirina OK1FGH Miroslav OK1FGN Karel OK1FGS Karel OK1FGU Rudolf OK1FGY Josef OK1FGZ Ladislav OK1FHA Frantisek OK1FHD Josef OK1FHE Eduard OK1FHF Frantisek OK1FHG Petr OK1FHI Radek OK1FHP Frantisek OK1FHT Frantisek OK1FII Vladimir OK1FIK Vladislav OK1FIM Vlastimil OK1FIP Petr OK1FIR Vaclav OK1FI Vaclav OK1FIV Ivan OK1FIY Zdenek OK1FJB Jan OK1FJD David OK1FJJ Josef OK1FJK Jan OK1FJN Josef OK1FJP Jindrich OK1FJS Jaroslav OK1FJW Bohuslav OK1FJX Jindrich OK1FJY Pavel OK1FKD Josef OK1FKF Karel OK1FK Frantisek OK1FKH Jaroslav OK1FKL Karel OK1FKR Josef OK1FKV Petr OK1FLB Vladimir OK1FLC Michal OK1FL Josef OK1FLK Vladimir OK1FLR Ladislav OK1FLT Lubomir OK1FLX Martin OK1FLY Karel OK1FMD Martin OK1FMF Milan OK1FMG Vitezslav OK1FMJ Josef OK1FML Ladislav OK1FM Milan OK1FMM Milan OK1FMS Martin OK1FMU Jiri OK1FMW Ladislav OK1FMX Milan OK1FMY Milos OK1FNA Vladimir OK1FNI Miloslav OK1FNN Marek OK1FNS Zlata OK1FNT Tomas OK1FNV Jiri OK1FNX Vladimir OK1FOD Oldrich OK1FOG Jan OK1FOM Vaclav OK1FOU Jindrich OK1FOX Jiri OK1FPA Petr OK1FPD Petr OK1FPE Martin OK1FP Frantisek OK1FPG Jiri OK1FPL Liboslav OK1FPM Miroslav OK1FPQ Ladislav OK1FPR Milos OK1FPS Pavel OK1FQB Ales OK1FQC Miroslav OK1FQK Libor OK1FQT Karel OK1FRA Josef OK1FRE Frantisek OK1FR Frantisek OK1FRG Petr OK1FRI Ivo OK1FRJ Josef OK1FRN Martin OK1FRO Frantisek OK1FRT Ladislav OK1FRU Pavel OK1FRZ Vladimir OK1FSM Jiri OK1FST Stefan OK1FSX Tomas OK1FTC Tomas OK1FTD Michael OK1FTG Karel OK1FTH Pavel OK1FT Jiri OK1FTJ Jiri OK1FTK Antonin OK1FTM Jaroslav OK1FTS Jaroslav OK1FTV Vladimir OK1FTW Jiri OK1FUA Martin OK1FUK Kamil OK1FUN Jan OK1FUU Michal OK1FUW Jaroslav OK1FVI Vitezslav OK1FVJ Jiri OK1FVN Jakub OK1FVS Vaclav OK1FVU Vladimir OK1FV Vaclav OK1FVV Vladimir OK1FWA Ladislav OK1FWF Frantisek OK1FWI Pavel OK1FWO Ondrej OK1FWQ Josef OK1FWS Jozef OK1FWT Frantisek OK1FWU Dana OK1FWW Miroslav OK1FXF Tomas OK1FXG Martin OK1FXK Vitezslav OK1FYY Vladimir OK1FZH Zdenek OK1FZJ Josef OK1FZK Zdenek OK1FZT Jan OK1GEO Jiri OK1GET David OK1GF Zdenek OK1GHZ Michal OK1GI Vojtech OK1GKO Kurt OK1GK Pavel OK1GLB Jiri OK1GMB Bohumil OK1GM Petr OK1GMR Milan OK1GPC Stanislav OK1GP Gerhard OK1GSB Jan OK1GS Miroslav OK1GTH Tomas OK1GT Jiri OK1GU Pavel OK1GV Miroslav OK1HAB Josef OK1HAI Alois OK1HAK Milan OK1HAL Jitka OK1HAN Frantisek OK1HAS Ludek OK1HAY Alois OK1HBB Jiri OK1HBJ Josef OK1HBM Miroslav OK1HB Rudolf OK1HBT Petr OK1HCA Alois OK1HCC Vaclav OK1HCD Stanislav OK1HCF Otakar OK1HCG Karel OK1HC Vlastimil OK1HCW Hana OK1HDF Dalibor OK1HDR Jan OK1HEH Eduard OK1HFE Jiri OK1HFP Frantisek OK1HGB Bedrich OK1HH Frantisek OK1HIL Jan OK1HI Lukas OK1HIR Jindriska OK1HJI Jiri OK1HJP Jaroslav OK1HJS Jaroslav OK1HJV Jaromir OK1HJZ Jiri OK1HKF Jaroslav OK1HK Rudolf OK1HKW Frantisek OK1HLB Ladislav OK1HLE Jaroslav OK1HL Jaroslav OK1HLS Ladislav OK1HMB Michal OK1HMD Martin OK1HMN Martin OK1HMO Michal OK1HMP Martin OK1HMV Michal OK1HOC Petr OK1HP Petr OK1HPP Petr OK1HPS Miroslav OK1HPX Petr OK1HRA Daniel OK1HSF Petr OK1HSJ Jan OK1HSL Stefan OK1HSV Stanislav OK1HTM Petra OK1HT Petr OK1HTP Hana OK1HTV Tomas OK1HWB Michal OK1HWI Milan OK1HWS Rudolf OK1HWU Jiri OK1HX Jaroslav OK1HXZ Petr OK1HYN Hynek OK1HZ Jan OK1CHC Jiri OK1CHE Jiri OK1CH Jan OK1CHL Miroslav OK1CHM Jan OK1IA Jan OK1IAL Pavel OK1IAO Jaroslav OK1IAS Vaclav OK1IAT Josef OK1IAY Miroslav OK1IBB Frantisek OK1IBK Bohumil OK1IBL Vaclav OK1IBM Petr OK1IBQ Karel OK1ICQ Tomas OK1IC Tomas OK1ICW Michal OK1ID Daniel OK1IDP Zbynek OK1IDZ Zdenek OK1IEC Jiri OK1IEF Vitezslav OK1IEI Ivan OK1IE Jan OK1IES Emanuel OK1IFE Stanislav OK1IF Milan OK1IFT Martin OK1IFZ Frantisek OK1IGO Petr OK1IGZ Zdenek OK1IHB Darina OK1IHG Hana OK1IHJ Karel OK1IHR Robert OK1IHZ Zdenek OK1II Jan OK1IIJ Jan OK1IIK Ivana OK1IIN Alexej OK1IIV Ivo OK1IJC Milan OK1IJK Karel OK1IJS Josef OK1IJV Jaroslav OK1IKE Jiri OK1IKP Karel OK1IKQ Petr OK1IK Vladimir OK1ILB Ladislav OK1IL Ivan OK1IMC Milan OK1IME Ota OK1IM Jiri OK1IMV Vladislav OK1INE Miroslav OK1ING Pavel OK1INO David OK1IN Petr OK1INT Frantisek OK1IOA Jaroslav OK1IO Jiri OK1IOK Oldrich OK1IPE Eduard OK1IPS Pavel OK1IPT Josef OK1IPV Petr OK1IQN Karel OK1IRZ Jaroslav OK1ISC Ivo OK1ISH Stanislav OK1ISW Pavel OK1ITK Petr OK1IUO Alexandr OK1IUS Zdenek OK1IVF Vaclav OK1IVI Ivana OK1IVO Jan OK1IVP Vaclav OK1IVU Vladimir OK1IVW Vlastimil OK1IVZ Vladislav OK1IWI Jaromir OK1IW Milan OK1IWN Jan OK1IWP Alena OK1IWR Radek OK1IWS Wolfgang OK1IZK Eliska OK1JAE Jiri OK1JAF Frantisek OK1JAG Jaroslav OK1JAM Ladislav OK1JAX Pavel OK1JBK Pavel OK1JBO Bozena OK1JCF Pavel OK1JCI Jiri OK1JC Jan OK1JCQ Jaroslav OK1JDF Jiri OK1JD Jan OK1JDJ Jiri OK1JDR Jan OK1JDU Josef OK1JDZ Stanislav OK1JEE Bohumil OK1JEG Frantisek OK1JEK Zdenek OK1JFC Frantisek OK1JFF Petr OK1JFH Josef OK1JFP Pavel OK1JFR Jirka OK1JGM Miroslav OK1JHF Josef OK1JHH Helena OK1JH Jiri OK1JHM Milan OK1JHQ Jaroslav OK1JHU Jaroslav OK1JHV Jaroslav OK1JIA Jiri OK1JIC Jiri OK1JIG Jiri OK1JIM Jaroslav OK1JIR Jiri OK1JIX Josef OK1JJ Jiri OK1JJT Jana OK1JKA Adam OK1JK Jan OK1JKM Miloslav OK1JKN Bohuslav OK1JKP Petr OK1JKR Zdenek OK1JKT Karel OK1JKU Pavel OK1JLO Martin OK1JLX Alex OK1JLZ Vladimir OK1JMA Martin OK1JMB Miroslav OK1JMD Martin OK1JME Arnost OK1JM Jiri OK1JMJ Miroslav OK1JMK Maxim OK1JMO Miroslav OK1JMP Petr OK1JMS Milan OK1JMW Pavel OK1JMZ Zdenek OK1JNB Jan OK1JNU Vaclav OK1JNW Lukas OK1JOL Jindrich OK1JON Jaromir OK1JOY Miroslav OK1JPB Petr OK1JPH Jiri OK1JPO Petr OK1JPP Petr OK1JQD Jaroslav OK1JQP Jaroslav OK1JRA Tomas OK1JR Stanislav OK1JRU Karel OK1JRZ Rudolf OK1JSA Stefan OK1JSF Jaromir OK1JSI Ivan OK1JSL Jaroslav OK1JST Jiri OK1JSV Stepan OK1JTA Jiri OK1JTC Jiri OK1JTH Josef OK1JTM Mikulas OK1JTV Tomas OK1JTZ Libor OK1JVA Jiri OK1JV Jiri OK1JVP Vilibald OK1JVS Vaclav OK1JVT Vaclav OK1JVU Marie OK1JVX Milan OK1JVY Jaroslav OK1JWV Vladimir OK1JXD Josef OK1JX Marek OK1JXU Petr OK1JXX Josef OK1JY Jaroslav OK1JYL Jana OK1JYT Jaroslav OK1JZI Jiri OK1JZ Jiri OK1JZN Zdenek OK1JZS Zdenek OK1JZV Zdenek OK1KA Josef OK1KBI DDM OK1KC Josef OK1KD Ivo OK1KF Vaclav OK1KH Otto OK1KI Milada OK1KIX Oldrich OK1KJ Miroslav OK1KK Roman OK1KKT Tanvald OK1KM Karel OK1KN Jaromir OK1KO Vladimir OK1KR Roman OK1KT Vratislav OK1KV Marek OK1KW Milan OK1KX Karel OK1KZ Pavel OK1LAH Ladislav OK1LA Ladislav OK1LAT Ivo OK1LBB Pavel OK1LBO Jaroslav OK1LCD Radka OK1LD Jiri OK1LDX Pavel OK1LEO Alice OK1LH Tomas OK1LL Ivan OK1LM Miloslav OK1LO Ladislav OK1LOL Michal OK1LPD Michal OK1LTV Libor OK1LUB Lubomir OK1LU Josef OK1LUK Lukas OK1LV Ladislav OK1LX Peter OK1LY Frantisek OK1LZA Lucie OK1LZ Zdenek OK1MAF Ladislav OK1MAG Karel OK1MA Jiri OK1MAJ Ondrej OK1MAM Vlastimil OK1MAQ Jan OK1MAS Rudolf OK1MAV Jaroslav OK1MAW Vladimir OK1MAY Josef OK1MBL Lubomir OK1MB Milan OK1MBR Rudolf OK1MBT Miroslav OK1MBU Zdenek OK1MBW Petr OK1MBZ Zdenek OK1MCN Karel OK1MCS Pavel OK1MCV Frantisek OK1MCW Martin OK1MDA Jiri OK1MDE Miroslav OK1MDJ Jiri OK1MDK Josef OK1MDM Jan OK1MD Mlados OK1MDX Stanislav OK1MEF Petr OK1MEH Miroslav OK1MEK Karel OK1MEP Pavel OK1MES Jiri OK1MFF Frantisek OK1MFG Petr OK1MFH Martin OK1MFJ Jindrich OK1MFK Frantisek OK1MFL Lubomir OK1MFM Frantisek OK1MFS Frantisek OK1MGA Petr OK1MGO Jiri OK1MGQ Leos OK1MGS Milos OK1MGW Petr OK1MGX Vratislav OK1MHG Petr OK1MHN Hana OK1MHW Lukas OK1MHZ Miloslav OK1MCH Zdenek OK1MIC Lubor OK1MIE Miloslav OK1MIG Josef OK1MI Karel OK1MIK Jaroslav OK1MIN Pavel OK1MIQ Jan OK1MIU Bohumil OK1MJA Jan OK1MJH Jaroslav OK1MJ Miroslav OK1MJS Jaromir OK1MJV Jan OK1MJW Jan OK1MKA Vaclav OK1MKB Karel OK1MKD Josef OK1MKH Martin OK1MKJ Josef OK1MKL Pavel OK1MKU Karel OK1MKX Jaroslav OK1MKZ Zdenek OK1MLF Ladislav OK1MLG Ladislav OK1MLP Karel OK1MLX Pavel OK1MMI Petra OK1MMK Miroslav OK1MMU Miroslav OK1MMX Alexandr OK1MNA Josef OK1MNC Josef OK1MNH Stanislav OK1MNI Miroslav OK1MN Pavel OK1MNR Josef OK1MNV Jan OK1MNW Jindrich OK1MOC Lubomir OK1MOD Jaroslav OK1MO Jiri OK1MOP Martin OK1MOS Jiri OK1MOW Ivan OK1MOY Otto OK1MPD Martin OK1MPF Martin OK1MPI Martin OK1MP Milos OK1MPO Petr OK1MPR Roman OK1MPU Miroslav OK1MPX Zbynek OK1MPY Petr OK1MQY Erhard OK1MRA Jiri OK1MRC Jan OK1MRE Rudolf OK1MRI Milos OK1MRL Roman OK1MR Milan OK1MRM Miroslav OK1MRN Radek OK1MRS Vladimir OK1MRZ Zdenek OK1MSB Bohuslav OK1MSD Jiri OK1MSJ Jiri OK1MSL Stanislav OK1MSP Stanislav OK1MSQ Josef OK1MSR Jiri OK1MST Jaroslav OK1MSV Jiri OK1MTA Vaclav OK1MT Jan OK1MTQ Miroslav OK1MTX Zdenek OK1MTZ Michal OK1MUA Bretislav OK1MUC Frantisek OK1MUF Jan OK1MUK Karel OK1MU Pavel OK1MVG Vit OK1MVJ Vojtech OK1MVK Vaclav OK1MV Marek OK1MVN Vratislav OK1MVP Vaclav OK1MVS Vaclav OK1MVV Vladimir OK1MVW Marie OK1MWA Vaclav OK1MWC Helena OK1MW Martin OK1MWM Miloslav OK1MWW Jiri OK1MXM Jiri OK1MXX Frantisek OK1MYL Dagmar OK1MYM Miroslav OK1MY Pavel OK1MZB Zdenek OK1MZ Milan OK1MZM Milos OK1MZN Milos OK1MZO Jiri OK1MZT Zdenek OK1NAS Miroslav OK1NAT Michal OK1NAW Jaromir OK1ND Miroslav OK1NE Julius OK1NFA Jan OK1NF Jan OK1NGC Miroslav OK1NG Jaromir OK1NH Jaroslav OK1NHR Jan OK1NIK Karel OK1NIL Vaclav OK1NI Milan OK1NIP Ivan OK1NIT Vladimir OK1NJA Jana OK1NJB Michal OK1NJC Jiri OK1NJP Pavel OK1NL Milan OK1NMI Ivo OK1NMJ Jiri OK1NMP Miroslav OK1NMR Zdenek OK1NMW Jiri OK1NOC Jiri OK1NOP Josef OK1NOR Jindrich OK1NPA Petr OK1NPF Roman OK1NP Jan OK1NR Jan OK1NS Petr OK1NSX Jaroslav OK1NT Antonin OK1NU Jan OK1NUN Michael OK1NVJ Jiri OK1NVO Josef OK1NWD Petr OK1NW Zdenek OK1NYD Pavel OK1NZ Jaroslav OK1NZJ Zdenek OK1NZV Vera OK1OA Jiri OK1OAZ radioclub: OK1OB Stefan OK1OH Frantisek OK1OHK DDM OK1OK Mirka OK1OS Otakar OK1OW Zdenka OK1OX Miroslav OK1PAA Josef OK1PAI Ivo OK1PA Petr OK1PBB Bohumil OK1PBO Pavel OK1PBP Pavel OK1PC Pavel OK1PD Josef OK1PFA Josef OK1PFE Petr OK1PFH Jan OK1PFM Petr OK1PF Petr OK1PGS Frantisek OK1PH Jindrich OK1PHM Petr OK1PHP Petr OK1PHU Pavel OK1PHX Petr OK1PHZ Petr OK1PII Petr OK1PI Ivan OK1PJB Jiri OK1PJP Pavel OK1PJX Pavel OK1PKO Pavel OK1PK Pavel OK1PL Jan OK1PLS Vladimir OK1PMA Pavel OK1PMR Tomas OK1PNA Michal OK1PO Otakar OK1POS Oldrich OK1POY Vaclav OK1PPJ Petr OK1PP Petr OK1PPT Petr OK1PRI Pavel OK1PR Ivan OK1PRR Petr OK1PSH Petr OK1PSY Vaclav OK1PTB Petr OK1PUJ Jan OK1PUK Michal OK1PUL Pavel OK1PUP Alena OK1PV Vojtech OK1PW Rudolf OK1QF Frantisek OK1QO Jan OK1QS Jiri OK1QT Jiri OK1QW Herbert OK1RA Slavomil OK1RAY Alois OK1RD Jaroslav OK1RF Jiri OK1RH Vaclav OK1RK David OK1RO Jan OK1RP Petr OK1RR Martin OK1RSM Rosomaci OK1RV Josef OK1RW Jiri OK1RY Jaroslav OK1RZ Rostislav OK1SAB Miroslav OK1SA Bohumil OK1SAO Petr OK1SAT Richard OK1SBV Vladimir OK1SCB Jan OK1SC Jan OK1SDE Dalibor OK1SD Stanislav OK1SEL Miroslav OK1SF Bedrich OK1SFR Pavel OK1SFT Frantisek OK1SFW Frantisek OK1SGI Michal OK1SHF Zdenek OK1SIB Jan OK1SI Ivo OK1SIT Bretislav OK1SJL Josef OK1SKD Karel OK1SKJ Jiri OK1SLM Libor OK1SLY Lubos OK1SMH Michaela OK1SMN Marian OK1SMU Jan OK1SMY Miroslav OK1SNE Jiri OK1SNR Stanislav OK1SOA Karel OK1SOX Milan OK1SP Julius OK1SPL Slava OK1SPV Pavla OK1SPX Jindrich OK1SPY Jiri OK1SQK Karel OK1SQT Simona OK1SRD Josef OK1SRT Radek OK1STJ Pavel OK1ST Martin OK1STN Jiri OK1STO Pavel OK1STS Petr OK1STW Stanislav OK1STX Pavel OK1SVB Vladimir OK1SVF Stanislav OK1SVH Alena OK1SVV Vlastimil OK1SX Milan OK1SY Josef OK1SYM Tomas OK1SYN Jan OK1SZA Jan OK1TAI Karel OK1TA Karel OK1TAL Ladislav OK1TAM Svatoslav OK1TAN Antonin OK1TAO Otakar OK1TAV Pavel OK1TBA Vlastimil OK1TBT Tomas OK1TCF Antonin OK1TC Jaroslav OK1TCM Jakub OK1TCN Viktor OK1TDD Antonin OK1TDE Emil OK1TDF Tomas OK1TDI Jiri OK1TD Jiri OK1TDO Daniel OK1TDS Pavel OK1TDU David OK1TEB Pavel OK1TEH Matej OK1TE Jan OK1TEM Jarmila OK1TEP Tomas OK1TFD Frantisek OK1TFH Ivan OK1TF Josef OK1TGA Vaclav OK1TGI Igor OK1TGN Tomas OK1THA Petr OK1THK Jaroslav OK1THR Miloslav OK1THX Milan OK1TIC Jan OK1TI Karel OK1TIM Pavel OK1TIR Karel OK1TIZ Zdenek OK1TJC Josef OK1TJD Dimitrij OK1TJE Michal OK1TJH Jan OK1TJI Jiri OK1TJJ Jiri OK1TJO Tomas OK1TJT Jindrich OK1TKC Josef OK1TKM Leo OK1TKO Andrej OK1TKR Miroslav OK1TKZ Jan OK1TLB Vaclav OK1TLJ Jiri OK1TLT Tomas OK1TMI Milos OK1TMJ Michal OK1TML Michal OK1TMT Martina OK1TNM Rudolf OK1TN Slavomir OK1TO Otakar OK1TOT Ondrej OK1TOV Otakar OK1TOX Leo OK1TOZ Jan OK1TPC Josef OK1TPG Vladimir OK1TPI Jaroslav OK1TPK Peter OK1TPL Tomas OK1TPW Ivan OK1TQ Josef OK1TRA Jiri OK1TRD Libor OK1TRJ Michal OK1TR Renata OK1TRW Fedor OK1TTL Tomas OK1TTP Josef OK1TUD Jaroslav OK1TUK Jaroslav OK1TUV Ludovit OK1TVA Veronika OK1TVD Vladimir OK1TVK Jindrich OK1TVL Libor OK1TVM Vaclav OK1TVR Vilem OK1TXW Cenek OK1TYM Jiri OK1TYR Ivo OK1TY Zdenek OK1TZA Zdenek OK1TZD Petra OK1TZL Martin OK1TZW Martin OK1TZX Vladislav OK1UAH Pavel OK1UA Vlastimil OK1UBA Martin OK1UBB Bohumil OK1UBL Ladislav OK1UBO Jiri OK1UBP Pavel OK1UBR Frantisek OK1UDF Karel OK1UDJ Jiri OK1UDK Antonin OK1UDQ Miroslav OK1UDS Josef OK1UDX Stefan OK1UEA Miroslav OK1UEB Jiri OK1UEC Milan OK1UEH Ervin OK1UEI Aleksandar OK1UEK Ondrej OK1UEM Martin OK1UES Jaroslava OK1UFC Mira OK1UFE Vladimir OK1UFL Miloslav OK1UFM Roman OK1UGA Martin OK1UGD Tomas OK1UGE Pavel OK1UGH Miroslav OK1UGI Jindrich OK1UGK Josef OK1UG Pavel OK1UHQ Ladislav OK1UJA Ivana OK1UJB Josef OK1UJG Vlasta OK1UJL Svatoslav OK1UJP Jiri OK1UJQ Vladislav OK1UJX Jana OK1UKS Karel OK1UKV Jaroslav OK1UKZ Zdenek OK1ULE Leos OK1ULK Ivan OK1ULL Petr OK1ULU Ales OK1UMB Miroslav OK1UME Karel OK1UMI Eduarda OK1UML Lenka OK1UMR Marcela OK1UNG Arnost OK1UN Lubomir OK1UNZ Zdenek OK1UOM Stanislav OK1UOZ Pavel OK1UPB Pavel OK1UPE Petr OK1UPU Zdenek OK1UPZ Zdenek OK1UQM Miroslav OK1UQP Josef OK1URM Martin OK1URO Milan OK1URT Tomas OK1US Jiri OK1USJ Jitka OK1USK Jozef OK1USS Stanislav OK1USU Jiri OK1USW Ladislav OK1UTK Ladislav OK1UTX Frantisek OK1UU Jan OK1UUK Eduard OK1UVE Vaclav OK1UVG Vaclav OK1UVJ Josef OK1UVU Miroslav OK1UWE Siegfried OK1UWW Karel OK1UXH Vlastislav OK1UXT Ivo OK1UX Vaclav OK1UYM Frantisek OK1UYR Martin OK1UZB Oskar OK1UZE Zdenek OK1UZR Zdenek OK1UZW Zdenek OK1VAK Vaclav OK1VAM Jan OK1VBD Vojtech OK1VBN Josef OK1VBQ Rudolf OK1VBS Pavel OK1VB Vaclav OK1VCB Tomas OK1VCF Tomas OK1VCO Jan OK1VCP Vitezslav OK1VDF Jaroslav OK1VDJ Bedrich OK1VDS Zdenek OK1VD Vaclav OK1VDX Stanislav OK1VEA Ludvik OK1VEC Jiri OK1VEH Bohumir OK1VEI Pavel OK1VEL Jaroslav OK1VEN Petr OK1VEY Svetozar OK1VFC Vitezslav OK1VGJ Jan OK1VGS Zdenek OK1VHF Milan OK1VHN Denis OK1VHQ Marcel OK1VHV Josef OK1VIB Milan OK1VIT Jiri OK1VIU Josef OK1VJB Josef OK1VJH Josef OK1VJL Jiri OK1VJU Eva OK1VJV Jaromir OK1VKC Josef OK1VKJ Josef OK1VKK Frantisek OK1VKL Jiri OK1VKQ Vaclav OK1VKX Dusan OK1VKZ Zdenek OK1VLA Vladimir OK1VLC Arnost OK1VLG Lubomir OK1VLK Oldrich OK1VLR Lubomir OK1VMF Vitezslav OK1VMK Miroslav OK1VM Michal OK1VNI Michal OK1VNT Jaromir OK1VOC Stanislav OK1VOF Alexandr OK1VOR Vladimir OK1VOT Miloslav OK1VOV Vaclav OK1VOZ Marie OK1VPD Josef OK1VPO Milos OK1VPR Jiri OK1VPS Jaroslava OK1VPT Ludvik OK1VPU Jaroslav OK1VPV Jaroslav OK1VPY Jan OK1VPZ Vladimir OK1VQC Milan OK1VRF Vaclav OK1VRI Richard OK1VR Jindra OK1VRL Zdenka OK1VRN August OK1VRV Vaclav OK1VRW Ludek OK1VRY Ludvik OK1VSA Alexandr OK1VSG Stanislav OK1VSL Ludek OK1VSV Sonja OK1VTG Frantisek OK1VTJ Jiri OK1VTL Petr OK1VTO Frantisek OK1VT Pavel OK1VTR Vladimir OK1VTV Roman OK1VUA Ottomar OK1VUB Bohumil OK1VUC Jan OK1VUM Miloslav OK1VU Vaclav OK1VVC Bohuslav OK1VVH Jaroslav OK1VVS Vladimir OK1VVV Jan OK1VW Jiri OK1VXB Ladislav OK1VXI Petr OK1VYC Frantisek OK1VYK Jiri OK1VYL Lotka OK1VYM Marie OK1VYP Jitka OK1VYR Vaclav OK1VZA Otakar OK1VZ Karel OK1VZL Otakar OK1VZP Zdenka OK1VZV Bohuslav OK1VZZ Zuzana OK1WA Oldrich OK1WAV Jaroslav OK1WCF Martin OK1WEN Vaclav OK1WFE Josef OK1WF Jaroslav OK1WGW Jaroslav OK1WIP Miroslav OK1WJA Petr OK1WJB Jaroslav OK1WJV Jaroslav OK1WJW Josef OK1WLH Josef OK1WLM Milan OK1WMB Vladimir OK1WMJ Jan OK1WMK Marek OK1WMR Michal OK1WMV Vaclav OK1WNB Jaroslav OK1WN Stanislav OK1WPM Petra OK1WQ Vladislav OK1WRA Matej OK1WRM Roman OK1WRZ Jan OK1WS Libor OK1WSL Josef OK1WT Vladimir OK1WUA Boris OK1WU Jiri OK1WVR Vaclav OK1WVS Vlastimil OK1WVV Jan OK1WWJ Pavel OK1WW Julek OK1WWV Petr OK1WXA Pavlina OK1WZ Josef OK1WZV Zbynek OK1XA Jakub OK1XAV Otakar OK1XBF Pavel OK1XBK Jiri OK1XC Josef OK1XDK David OK1XDN Daniel OK1XDR Jiri OK1XDY Josef OK1XEB Pavel OK1XE Emil OK1XEM Michal OK1XEN Martin OK1XET Pavel OK1XEV Vit OK1XEW Lukas OK1XFA Jaroslav OK1XFI Libor OK1XFJ Jan OK1XFL Bedrich OK1XFO Milan OK1XGA Jan OK1XGI Miroslav OK1XGL Petr OK1XGP Jan OK1XHD Josef OK1XHE Frantisek OK1XHI Zdenek OK1XH Milan OK1XHV Jan OK1XCH Jan OK1XIN Vaclav OK1XJB Viera OK1XJD Martin OK1XJF Jiri OK1XJ Jiri OK1XJL Josef OK1XJN Jaroslav OK1XJP Jiri OK1XKV Vladimir OK1XL Ladislav OK1XLS Milan OK1XMS Richard OK1XMV Stanislav OK1XNC Frantisek OK1XNG Vaclav OK1XNP Pavel OK1XOD Ales OK1XOE Tomas OK1XO Josef OK1XOR Karel OK1XOT Tomas OK1XOX Ales OK1XPA Petr OK1XPB Pavel OK1XPF Miroslav OK1XPH Jiri OK1XPJ Petr OK1XP Otakar OK1XPP Pavel OK1XQA Jaroslava OK1XQC Frantisek OK1XQD Vaclav OK1XR Jindrich OK1XRM Jaroslav OK1XS Roman OK1XSW Miroslav OK1XTF Frantisek OK1XT Jiri OK1XTM Miloslav OK1XTR Tomislav OK1XUB Jaroslav OK1XU Jan OK1XUJ Josef OK1XV Josef OK1XVW Vaclav OK1XW Viktor OK1XWW Julius OK1XXB Zdenek OK1XX Jan OK1XXL Petr OK1XY Ladislav OK1XYZ Oldrich OK1XZB Zdenek OK1XZS Zdenek OK1YA Premysl OK1YB Vera OK1YC Martin OK1YI Jan OK1YK Jaromir OK1YLB Jiri OK1YL Petra OK1YM Oldrich OK1YO Imrich OK1YX Pavel OK1YZN Ladislav OK1ZA Arnost OK1ZAD Jiri OK1ZAJ Pavel OK1ZAT Pavel OK1ZBD Karel OK1ZBK Karel OK1ZCJ Jaroslav OK1ZDA Lubos OK1ZDE Zdenek OK1ZDT Zdenek OK1ZDX Jan OK1ZD Zdenek OK1ZED Jiri OK1ZES Zdenek OK1ZE Vaclav OK1ZFP Frantisek OK1ZGA Vladimir OK1ZH Ladislav OK1ZHS Jan OK1ZHU Zdenek OK1ZHV Vojtech OK1ZJA Zdenek OK1ZJB Josef OK1ZJH Jiri OK1ZJJ Jana OK1ZJL Jiri OK1ZJN Jiri OK1ZJP Jakub OK1ZJV Jiri OK1ZK Jan OK1ZKJ Jaroslav OK1ZKL Ladislav OK1ZKN Jaroslav OK1ZKQ Vlastimil OK1ZLM Ladislav OK1ZMD Milan OK1ZMH Jan OK1ZMJ Jana OK1ZML Milan OK1ZMO Otto OK1ZMS Martin OK1ZMX Zdenek OK1ZN Jaromir OK1ZOR Otakar OK1ZOZ David OK1ZPC Zdenek OK1ZP Josef OK1ZPJ Zdenek OK1ZPT Petr OK1ZRA Zdenek OK1ZSR Juraj OK1ZSV Vladimir OK1ZTO Oldrich OK1ZUB Vojtech OK1ZVA Vlastimil OK1ZVL Vladimir OK1ZVP Petr OK1ZVS Vlastimil OK1ZWF Jiri OK1ZW Marek OK1ZX Jan OK1ZY Jan OK1ZZX Vladimir OK1ZZ Zbynek OK1ZZZ Karel OK2ABH Petr OK2AB Rostislav OK2ABU Zdenek OK2ACM Marek OK2ADI Petr OK2AF Milan OK2AIA Petr OK2AIS Ales OK2AJ Slavomir OK2AK Ales OK2ALP Ales OK2AM Miloslav OK2AN Vaclav OK2AOP Jiri OK2APY Alena OK2AQA Marcel OK2ARD Daniel OK2AR Jan OK2ARK Rudolf OK2ARM Josef OK2ARP Radomir OK2ATC Antonin OK2AT Vladimir OK2AVA Jiri OK2AZ Antonin OK2BA Jan OK2BAQ Jaroslav OK2BAT Jiri OK2BAV Jaroslav OK2BBA Jan OK2BBB Frantisek OK2BBD Zdenek OK2BBI Zdenka OK2BBJ Josef OK2BBR Vlastimil OK2BCF Milan OK2BCI Lubomir OK2BCN Pravoslav OK2BC Vilem OK2BCW Jaroslav OK2BDA Vilem OK2BDB Josef OK2BDF Jiri OK2BDR Jan OK2BDS Ludvik OK2BDU Milan OK2BDX Vladimir OK2BEA Miroslav OK2BEH Zdenek OK2BEJ Vlastimil OK2BEM Jan OK2BEN Lubos OK2BEO Ivan OK2BET Jaroslav OK2BEW Karel OK2BFH Jan OK2BFI Svatopluk OK2BFK Vladimir OK2BFN Tomas OK2BF Stanislav OK2BFU Milan OK2BFY Josef OK2BGA Vladimir OK2BGB Ludvik OK2BGK Frantisek OK2BGN Stanislav OK2BGO Antonin OK2BGW Ivo OK2BHD Zdenek OK2BHE Miloslav OK2BHK Ivan OK2BHL Jiri OK2BHM Erich OK2BHS Vaclav OK2BH Zdenek OK2BHZ Zbigniew OK2BIC Milan OK2BIJ Libor OK2BIK Jaroslav OK2BIQ Jan OK2BIT Ladislav OK2BIU Jan OK2BIW Vaclav OK2BIX Vladimir OK2BJC Jan OK2BJG Ondrej OK2BJI Miloslav OK2BJJ Jan OK2BJK Jaroslav OK2BJM Josef OK2BJQ Rostislav OK2BJR Miloslav OK2BJS Jaromir OK2BJ Slavomir OK2BJT Stefan OK2BJW Jaroslav OK2BJX Jan OK2BKA Cestmir OK2BKE Jiri OK2BKF Miloslav OK2BKJ Josef OK2BK Josef OK2BKK Bohuslav OK2BKL Miroslav OK2BKN Vladimir OK2BKP Antonin OK2BKQ Jan OK2BKU Ondrej OK2BLB Josef OK2BL Bohumil OK2BLD Ladislav OK2BLH Karel OK2BLO Josef OK2BLR Ladislav OK2BLS Zdenek OK2BMA Pavel OK2BMC Milan OK2BMD Lidmila OK2BME Pavel OK2BMI Milan OK2BMJ Milan OK2BMU Ivan OK2BMV Marek OK2BMZ Zdenka OK2BNA Magda OK2BNC Jiri OK2BND Jan OK2BNF Stanislav OK2BNG Jan OK2BNP Jaroslav OK2BNT Ladislav OK2BN Vladimir OK2BOB Bohumil OK2BOF Edvard OK2BOG Ladislav OK2BON Stepan OK2BOR Frantisek OK2BOS Karel OK2BOV Rudolf OK2BOZ Ondrej OK2BPA Miroslav OK2BPB Vit OK2BPG Josef OK2BPH Zdenek OK2BPI Jaroslav OK2BPK Josef OK2BPL Michal OK2BPN Jaroslav OK2BPR Eduard OK2BPV Stanislav OK2BPW Svatomir OK2BPX Antonin OK2BQC Jaroslav OK2BQ Frantisek OK2BQM Stanislav OK2BQR Frantisek OK2BQU Emil OK2BQY Jiri OK2BQZ Jaroslav OK2BRA Karel OK2BRD Jiri OK2BRJ Petr OK2BRO Ludek OK2BRQ Ivan OK2BRS Ivan OK2BRV Vaclav OK2BRW Dalibor OK2BRX Vojtech OK2BRY Milos OK2BRZ Pavel OK2BSB Adolf OK2BS Bohuslav OK2BSE Milan OK2BSH Miroslav OK2BSK Milan OK2BSL Ladislav OK2BSN Dalibor OK2BSO Petr OK2BSP Jaroslav OK2BSQ Jaroslav OK2BST Dusan OK2BSV Ladislav OK2BSY Petr OK2BTA Oldrich OK2BTB Miroslav OK2BTC Jaroslav OK2BTE Alois OK2BTI Jaroslav OK2BTJ Miroslav OK2BTK Petr OK2BTQ Jan OK2BTR Oldrich OK2BTS Josef OK2BTT Frantisek OK2BTU Karel OK2BTY Jiri OK2BTZ Antonin OK2BUB Miroslav OK2BUD Alois OK2BUE Josef OK2BUH Miroslav OK2BUN Milan OK2BUP Jaroslav OK2BU Radek OK2BUS Jaroslav OK2BUT Jan OK2BUX Stanislav OK2BUZ Frantisek OK2BVA Ivan OK2BVB Milan OK2BVC Jan OK2BVE Josef OK2BVF Karel OK2BVS Jirina OK2BVT Petr OK2BVY Vaclav OK2BWC Zdenek OK2BWJ Petr OK2BWK Leopold OK2BWM Vlastimil OK2BWQ Ladislav OK2BWR Ladislav OK2BWT Jaroslav OK2BWU Svatoslav OK2BWZ Helena OK2BXA Josef OK2BXE Drahomir OK2BXF Michal OK2BXG Petr OK2BXI Pavel OK2BXM Miroslav OK2BXU Daniel OK2BXW Jaromir OK2BX Zdenek OK2BXZ Petr OK2BYH Roman OK2BYW Milan OK2BZE Milan OK2BZ Josef OK2BZM Zdenek OK2BZQ Martin OK2BZW Karel OK2BZY Josef OK2BZZ Milada OK2CDI Vaclav OK2CD Milan OK2CDR Jan OK2CEU Bozena OK2CFM Martin OK2CJM Marie OK2CKC Jindrich OK2CKJ Josef OK2CL Alois OK2CLL Karel OK2CLW Milan OK2CME Cestmir OK2CMW Milan OK2CMX Ondrej OK2CMZ Martin OK2CNI Pavel OK2COD Marian OK2COS Oldrich OK2CPD Josef OK2CPG Pavel OK2CPV Petr OK2CQR Petr OK2CRB Radomir OK2CRK Radoslav OK2CR Roman OK2CRT Petr OK2CSU Marian OK2CTS Jaromir OK2CVA Antonin OK2CVH Vladimir OK2CV Vladimir OK2DAB Jiri OK2DAJ Jiri OK2DAN Miroslav OK2DAS Karel OK2DA Zdenek OK2DCL Otto OK2DC Zdenek OK2DDS David OK2DE Jiri OK2DEY Bronislav OK2DGB Vladimir OK2DGF Josef OK2DGG Jitka OK2DJD Jiri OK2DJ Michal OK2DL Marek OK2DRK Rudolf OK2DRL Jan OK2DTF Drahomir OK2DTI Prokop OK2DUS Dusan OK2DV Dalibor OK2DVS Vilem OK2DW Antonin OK2DX Pavel OK2EAM Michal OK2EA Vitezslav OK2EC Stepan OK2EE Martin OK2EI Jaroslav OK2EK Emil OK2EMH Vitezslav OK2ER Oldrich OK2EW Jiri OK2EZ Martin OK2FA Petr OK2FB Pavel OK2FBY Miroslav OK2FC Alexandr OK2FEI Petr OK2FF Frantisek OK2FH Frantisek OK2FJ Frantisek OK2FJI Jiri OK2FKC Lubos OK2FKF Martin OK2FLI Frantisek OK2FM Frantisek OK2FPN Petr OK2FR Pavel OK2FRP Pavel OK2FSC Cestmir OK2FSE Frantisek OK2FUG Miroslav OK2FYM Ladislav OK2GA Stepan OK2GD Tomas OK2GG Jaroslav OK2GJ Vladimir OK2GL Vincenc OK2GM Martin OK2GPS Jaroslav OK2GQG Jitka OK2GTI David OK2GU Augustin OK2GX Stanislav OK2HAD Frantisek OK2HAP Milan OK2HAZ Michal OK2HBF Jiri OK2HBR Zdenek OK2HBY Kamil OK2HDL Antonin OK2HDQ Vladimir OK2HFC Stanislav OK2HF Petr OK2HHF Frantisek OK2HH Jakub OK2HIJ Jiri OK2HI Karel OK2HJ Jaroslav OK2HJJ Jaroslav OK2HJL Jan OK2HJO Josef OK2HJS Jiri OK2HKP Ivan OK2HL Jan OK2HME Bohumil OK2HMF Milan OK2HM Milan OK2HMS Milan OK2HPA Petr OK2HPH Vladimir OK2HPI Pavel OK2HRL Lukas OK2HSB Svatohor OK2HSR Robert OK2HWP Milan OK2HW Vladimir OK2HY Jiri OK2HZ Jaromir OK2CHB Hugo OK2CHI Lenka OK2CHO Petr OK2IAW Josef OK2IBS Vladimir OK2IBT Petr OK2ICF Kvetoslava OK2ICP Petr OK2IDB Martin OK2ID Tomas OK2IDW Drahoslav OK2IEA Petr OK2IEN Ludek OK2IGG Michal OK2IGL Vojtech OK2IJF Jiri OK2IJH Jaroslav OK2IJL Jiri OK2IKL Ladislav OK2IKY Jaromir OK2ILA Jan OK2ILD Zbynek OK2IL Hubert OK2IMH Milan OK2IM Martin OK2IMO Jarmil OK2INI Martina OK2INW Vitezslav OK2IOV Vladimir OK2IOZ Zbynek OK2IPL Ladislav OK2IPP Pavel OK2IPW Adam OK2IPZ Petr OK2IQT Vladimir OK2IRE Miroslav OK2IRO Pavel OK2ISI Vera OK2ITI Michaela OK2IUH Zdenek OK2IVB Jiri OK2IVK Karel OK2IWO Ivo OK2IWU Ivana OK2IXO Oldrich OK2IZJ Jan OK2JAF Frantisek OK2JAJ Antonin OK2JA Vaclav OK2JBC Marie OK2JBI Jaromir OK2JC Jan OK2JCJ Jaroslav OK2JDH Dalibor OK2JES Jan OK2JEW Vlastimil OK2JEY Jiri OK2JFS Frantisek OK2JGD Jan OK2JGF Jan OK2JGI Jan OK2JGK Jaroslav OK2JHG Jiri OK2JHJ Jaroslav OK2JHR Jaromir OK2JI Jaroslav OK2JIQ Jiri OK2JJA Jan OK2JJQ Marek OK2JK Jan OK2JKN Premysl OK2JKO Jan OK2JKQ Petr OK2JMA Karel OK2JML Lubomir OK2JNB Jaroslav OK2JO Jiri OK2JOV Jaroslava OK2JOW Jiri OK2JOZ Emil OK2JPF Frantiska OK2JP Jindrich OK2JQR Frantisek OK2JRQ Jaroslav OK2JS Jan OK2JSO Jan OK2JSY Jarda OK2JTF Jiri OK2JT Jiri OK2JUA Antonin OK2JUB Jaromir OK2JU Jaroslav OK2JV Jirka OK2JZR Jindrich OK2JZZ Zdenek OK2KE Jaroslav OK2KFU Josef OK2KG Jiri OK2KH Katka OK2KJ Josef OK2KOV Palackeho OK2KP Jiri OK2KR Stanislav OK2KV Vladimir OK2KY Frantisek OK2LA Jindrich OK2LC Lubomir OK2LDH Ludvik OK2LET Vitezslav OK2LF Frantisek OK2LI Jiri OK2LMJ Milos OK2LMK Lubomir OK2LM Miroslav OK2LMX Miroslav OK2LS Frantisek OK2LST Lubomir OK2LT Lubomir OK2LW Josef OK2LZ Vladimir OK2MAJ Jana OK2MA Marcel OK2MAP Dalibor OK2MBN Bohumir OK2MBO Zdenek OK2MBP Jiri OK2MCD Pavel OK2MCJ Radmila OK2MCL Lukas OK2MCT Miroslav OK2MDI Milan OK2MDK Miroslav OK2MDQ Milan OK2MDU Bohumil OK2MED Petr OK2MEU Miroslav OK2ME Zdenek OK2MEZ Pavel OK2MFA Lubomir OK2MGB Jan OK2MG Miroslav OK2MHS Stanislav OK2MI Alexandr OK2MIC Jiri OK2MIG Milan OK2MII Bretislav OK2MIT Petr OK2MJF Michal OK2MJI Milan OK2MJY Jiri OK2MKS Michal OK2ML Milos OK2MMD David OK2MMG Milos OK2MMQ Jindrich OK2MMV Marie OK2MND Katerina OK2MNM Martin OK2MOA Jan OK2MO Marcel OK2MOO Miroslav OK2MPB Petr OK2MRJ Ales OK2MR Martin OK2MRP Adam OK2MRT Petr OK2MSS Karel OK2MSW Zdenek OK2MTM Tomas OK2MTV Vladimir OK2MTW Martin OK2MUF Michal OK2MV Marek OK2MVZ Vadim OK2MWK Karel OK2MXL Jaroslav OK2MZL Martin OK2MZR Milan OK2NAJ Jiri OK2NA Pavel OK2NB Petr OK2NCA Adam OK2NCZ Zdenek OK2NDT Stanislav OK2NET Petr OK2NID Miroslav OK2NJE Eduard OK2NMA Radek OK2NM Zdenek OK2NMZ Marek OK2NO Jaroslav OK2NPN Petr OK2NTA Roman OK2NZ Zdenek OK2OG Jaroslav OK2OJ Jiri OK2ON Radek OK2OP Jiri OK2OR Rudolf OK2OT Jaromir OK2OU Arnost OK2PAD Zdenek OK2PA Janus OK2PAJ Vladimir OK2PAK Vladimir OK2PAL Pavel OK2PAS Josef OK2PAU Pavel OK2PAV Pavel OK2PAX Jaroslav OK2PBF Miloslav OK2PBG Ladislav OK2PBH Ladislav OK2PBK Radomir OK2PBL Jiri OK2PBR Vilibald OK2PBS Martin OK2PBT Vaclav OK2PBV Bretislav OK2PBW Petr OK2PCE Jan OK2PCL Rudolf OK2PCS Frantisek OK2PCU Jaroslav OK2PCY Josef OK2PDB Pavel OK2PDC Josef OK2PDE Jiri OK2PDH Karel OK2PDK Jan OK2PDN Josef OK2PDU Josef OK2PDW Jan OK2PDY Frantisek OK2PEB Eduard OK2PEC Jaroslav OK2PE Karel OK2PEM Jiri OK2PER Josef OK2PES Vasek OK2PET Petr OK2PEX Antonin OK2PEY Milos OK2PEZ Jan OK2PFA Bohumil OK2PFY Jiri OK2PGJ Jiri OK2PGT Antonin OK2PHC Zdenek OK2PHI Alois OK2PHK Peter OK2PHQ Jan OK2PIC Oldrich OK2PIM Dalibor OK2PIP Pavel OK2PIR Jiri OK2PIW Vasil OK2PIX Radek OK2PJE Karel OK2PJF Frantisek OK2PJH Jan OK2PJ Jan OK2PJJ Jan OK2PJM Jakub OK2PJO Josef OK2PJT Michal OK2PJW Ladislav OK2PKD Ludek OK2PKH Bretislav OK2PK Josef OK2PKL Antonin OK2PKM Libor OK2PKO Vlastimil OK2PKS Gunter OK2PKT Roman OK2PKX Pavel OK2PKY Jiri OK2PLD Vladimir OK2PLH Zdenka OK2PLI Jitka OK2PLK Ludek OK2PLL Lev OK2PLV Leo OK2PMA Pavel OK2PMF Milan OK2PMG Miloslav OK2PM Karel OK2PMP Milan OK2PMR Jiri OK2PMS Jiri OK2PMT Petr OK2PMV Vaclav OK2PMX Petr OK2PNQ Tomas OK2POB Martin OK2POE Petr OK2POH Oldrich OK2POI Jiri OK2PO Josef OK2PPH Petr OK2PPK Pavel OK2PPM Petr OK2PPP Vladimir OK2PQH Vlastislav OK2PQP Rene OK2PQS Robert OK2PRF Jaroslav OK2PRM Rudolf OK2PRP Petr OK2PRQ Bohumil OK2PRW Radim OK2PSA Pavel OK2PSB Petr OK2PSC Slavomir OK2PSE Pavel OK2PSJ Jan OK2PS Pavel OK2PST Josef OK2PSV Stanislav OK2PTA Ondrej OK2PTC Libor OK2PTD Petr OK2PTH Miroslav OK2PTJ Jaroslav OK2PTK Milos OK2PTL Ludvik OK2PTM Antonin OK2PTP Vratislav OK2PTS Vaclav OK2PTT Jan OK2PTU Zdenek OK2PTZ Tomas OK2PUH Premysl OK2PUX Zdenek OK2PVC Jan OK2PVD Karel OK2PVF Rostislav OK2PVG Vitezslav OK2PVH Miroslav OK2PV Josef OK2PVL Pavel OK2PVO Vladislav OK2PVS Vlastimil OK2PVZ Pavel OK2PWA Petr OK2PWB Vaclav OK2PWD Josef OK2PWJ Petr OK2PWL Karel OK2PWM Premysl OK2PWX Jaroslav OK2PX Alois OK2PXD Zdenek OK2PXW Radek OK2PXX Otakar OK2PYA Robert OK2PYD Frantisek OK2PYL Jaroslava OK2PZF Zdenek OK2PZL Petr OK2PZO Vladimir OK2PZ Vojtech OK2QA Rudolf OK2QX Jiri OK2RA Radek OK2RF Rene OK2RI Jiri OK2RL Richard OK2RN Leo OK2RPA ERA a.s. OK2RP Roman OK2RS Rudolf OK2RU Raimund OK2RX Vladimir OK2RZ Jiri OK2SAD Milan OK2SAI Henryk OK2SA Josef OK2SAQ Jaroslav OK2SAR Miroslav OK2SAU Jaroslav OK2SBX Jitka OK2SCS Karel OK2SDH Dagmar OK2SDX Frantisek OK2SET Emil OK2SEV Milan OK2SFI Josef OK2SFO Frantisek OK2SFP Jaroslav OK2SGC Jiri OK2SG Stanislav OK2SGW Zdenek OK2SHB Hugo OK2SHH Stepan OK2SIA Miroslav OK2SIG Ondrej OK2SI Jaroslav OK2SIN Jaromir OK2SIR Ivo OK2SJC Josef OK2SJF Marek OK2SJI Jiri OK2SJ Jiri OK2SJJ Jaroslav OK2SJK Karel OK2SJP Pavel OK2SJS Jan OK2SK Frantisek OK2SKI Rostislav OK2SKO Oto OK2SKP Petr OK2SKT Jiri OK2SLC Jaroslav OK2SLJ Jozef OK2SLS Karel OK2SMA Ludvik OK2SMI Josef OK2SMK Eduard OK2SML Lubomir OK2SMS Bohumil OK2SND Hana OK2SO Miloslav OK2SON Ondrej OK2SPA Antonin OK2SPD Petr OK2SPE Stefan OK2SPO Jan OK2SPQ Petr OK2SPS Petr OK2SPW Stanislav OK2SPZ Josef OK2SQR Eduard OK2SRI Radek OK2SRO Jan OK2SR Rudolf OK2SSD Josef OK2SS Jiri OK2SSJ Jiri OK2STA Antonin OK2STD Jan OK2STF Jiri OK2STH Tomas OK2STK Josef OK2STM Milan OK2STP Jaroslav OK2STV Petr OK2SUA Karel OK2SU Frantisek OK2SUP Josef OK2SV Josef OK2SVL Jaroslav OK2SVM Stanislav OK2SVO Oldrich OK2SVP Vaclav OK2SWD Dusan OK2SY Miroslav OK2SYS Josef OK2SYZ Jan OK2SZD Zbynek OK2SZL Svatopluk OK2SZ Zdenek OK2TAB Josef OK2TAJ Alois OK2TAP Radek OK2TAR Viktor OK2TAS Pavel OK2TB Bedrich OK2TBC Kamil OK2TBE Tomas OK2TBS Lucie OK2TCJ Jan OK2TCS Ales OK2TC Stanislav OK2TCW Tomas OK2TDM Milan OK2TDR Richard OK2TEJ Radim OK2TEL Jiri OK2TEO Rostislav OK2TFO Frantisek OK2TGE Tomas OK2TGM Tomas OK2TIH Veronika OK2TIQ Oldrich OK2TIT Petr OK2TJG Jindrich OK2TJL Jiri OK2TJS Josef OK2TKE Bohumir OK2TKM Tomas OK2TM Miroslav OK2TMO Milan OK2TN Miroslav OK2TOD Oldrich OK2TOP Ondrej OK2TOR Premysl OK2TPQ Tomas OK2TPS Vlastimil OK2TPU Petr OK2TQA Petr OK2TQI Josef OK2TRN Pavel OK2TRV Radovan OK2TRW Jiri OK2TRZ Radomir OK2TSE Milan OK2TSF Tomas OK2TS Jaroslav OK2TSL Lubomir OK2TSN Jiri OK2TSV Ladislav OK2TT Jan OK2TUH Jiri OK2TWM Martin OK2UA Jaroslava OK2UBW Pavel OK2UCB Karel OK2UCC Jiri OK2UCQ Milan OK2UDE Jan OK2UDP Bohumil OK2UEV Miroslav OK2UFB Rostislav OK2UFJ Miroslav OK2UFO Jan OK2UFT Pavel OK2UFU Vladimir OK2UFX Josef OK2UFY Jan OK2UGG Jiri OK2UGS Miroslav OK2UHF Zdenek OK2UHG Miroslav OK2UHN Leos OK2UHP Petr OK2UIN Josef OK2UIZ Ivo OK2UJC Jan OK2UJS Josef OK2UKG Roman OK2UKQ Petr OK2ULP Ladislav OK2ULQ Petr OK2UMD Karel OK2UM Jiri OK2UMM Miroslav OK2UMP Martin OK2UNM Mieczyslaw OK2UNS Miloslav OK2UOK Vladimir OK2UPG Jaroslav OK2UPJ Petr OK2UPP Petr OK2UQ Emil OK2UQF Karel OK2UQL Gabriel OK2UQQ Radek OK2URD Vladimir OK2URF Jaroslav OK2UR Milan OK2USG Milan OK2USM Miroslav OK2UVR Radek OK2UVX Oldrich OK2UWD Emil OK2UWH Karel OK2UWJ Josef OK2UWQ Robert OK2UXO Vladimir OK2UYG Karel OK2UYU Jaromir OK2UYZ Miroslav OK2UZD Zdenek OK2UZ Jindrich OK2UZL Ludek OK2UZS Zdenek OK2UZX Josef OK2VA Miloslav OK2VAS Vaclav OK2VAZ Oskar OK2VBZ Radek OK2VCR Zdenek OK2VCT Jiri OK2VED Oldrich OK2VF Frantisek OK2VFR Petr OK2VGC Miloslav OK2VGD Vladimir OK2VGZ Jiri OK2VJD Tomas OK2VJQ Josef OK2VKF Jaroslav OK2VK Frantisek OK2VKK Karel OK2VLJ Rudolf OK2VLT Jaroslav OK2VLY Martin OK2VMC Antonin OK2VMG Jiri OK2VMJ Zdenek OK2VNA Rostislav OK2VNC Ivo OK2VND Ludvik OK2VNO Vladimir OK2VNQ Ludek OK2VN Vladimir OK2VOB Oskar OK2VOM Jiri OK2VOP Petr OK2VPA Vlastimil OK2VPI Josef OK2VPX Jan OK2VQF Peter OK2VQG Josef OK2VSF Ferdinand OK2VSJ Josef OK2VSO Oldrich OK2VSU Vaclav OK2VTD Josef OK2VTZ Danuse OK2VUH Josef OK2VVN Vilem OK2VWB Wieslaw OK2VWE Tomas OK2VWF Milan OK2VWM Milan OK2VWX Ivo OK2VXH Jindrich OK2VXJ Vlastimil OK2VX Ladislav OK2VXL Jan OK2VXV Bohuslav OK2VYG Alexandr OK2VYJ Antonin OK2VYM Radomir OK2VZE Miroslav OK2VZF Petr OK2VZK Vlastimil OK2VZ Veronika OK2WAZ Dominik OK2WB Jan OK2WDA Ivana OK2WD Emil OK2WDT Lukas OK2WED Petr OK2WF Frantisek OK2WFW Karel OK2WGR Petr OK2WHG Viktor OK2WHT Stanislav OK2WH Vit OK2WHV Vaclav OK2WID Zdenek OK2WI Nevenka OK2WK Antonin OK2WKF Vera OK2WKM Milan OK2WKW Karel OK2WMC Michal OK2WM Karel OK2WMW Radek OK2WN Ivan OK2WNR Richard OK2WO Josef OK2WPA Antonin OK2WTF Petr OK2WTM Petr OK2WTT Jiri OK2WTW Pavel OK2WVH Vaclav OK2WW Bernard OK2WWW Ondrej OK2WX Vladimir OK2WXZ Vaclav OK2WY Jiri OK2WYK Martin OK2WZN Rostislav OK2XAF Jaroslav OK2XAG Rudolf OK2XAP Antonin OK2XAS Alois OK2XCG Wladyslaw OK2XCO Borivoj OK2XDU Jiri OK2XFR Felix OK2XFU Milan OK2XHK Karel OK2XHR Jaroslav OK2XID Karel OK2XIT Jan OK2XKM Magda OK2XLB Marian OK2XMM Miroslav OK2XMT Milan OK2XMW Radim OK2XQG Ludmila OK2XRW Richard OK2XSZ Zdenek OK2XTJ Jan OK2XUM Milan OK2XVM Vladimir OK2XVX Vladimir OK2XWH Martin OK2XYN Ales OK2XY Pavel OK2XZ Dusan OK2YJ Jaroslav OK2YN Josef OK2YP Vaclav OK2YT Radek OK2YZ Jaroslav OK2ZAA Zdenek OK2ZAE Jan OK2ZAK Antonin OK2ZAR Petr OK2ZA Rudlof OK2ZAW Jan OK2ZAZ Jiri OK2ZBO Vera OK2ZB Zdenek OK2ZCB Martin OK2ZC Ludek OK2ZDL Jan OK2ZD Zbynek OK2ZEJ Jakub OK2ZEL Emil OK2ZEO Roman OK2ZFB Filip OK2ZF Zdenek OK2ZI Karel OK2ZIL Jakub OK2ZIO Karel OK2ZKO Zdenek OK2ZLA Vladislav OK2ZLD Pavel OK2ZLK Zbynek OK2ZMA Miroslav OK2ZMB Milan OK2ZMI Miroslav OK2ZM Miroslav OK2ZNE Eduard OK2ZN Petr OK2ZNT Petr OK2ZOW Zbynek OK2ZPS Pavel OK2ZQ Alois OK2ZR Petr OK2ZS Jaroslav OK2ZT Jan OK2ZTU Martin OK2ZTV Jaroslav OK2ZTW Roman OK2ZU Vojtech OK2ZUZ Miloslav OK2ZVN Ladislav OK2ZV Vit OK2ZW Zdeno OK2ZYZ Petr OK2ZZJ Josef OK3AA Milan OK3BR Bohumil OK3C Ludek OK3CV Svatopluk OK3DHD Jan OK3DU Milan OK3FJ Jiri OK3JM Jan OK3JOZ Petr OK3KLM Michal OK3KT Karel OK3KW Karel OK3MAD Martin OK3MK Miroslav OK3MN Milan OK3MO Ota OK3MP Richard OK3MZ Miroslav OK3ON Ondrej OK3OPA Rudolf OK3PJ Petr OK3PS Peter OK3RM Zdenek OK3SJ Josef OK3SM Oldrich OK3TT Tomas OK3VO Vojtech OK3WW Milos OK3YL Andrea OK4AA Vladimir OK4AZ Ivan OK4BB Borivoj OK4DIG Jan OK4DL Ladislav OK4DZ David OK4FD Frantisek OK4JM Josef OK4JR Jaroslav OK4KOP David OK4MM Jaroslav OK4M Stanislav OK4MT Milos OK4NCA Vaclav OK4PY Pavel OK4PZ Petr OK4RQ Pavel OK4SEA Robert OK4TO Tomas OK4TP Tomas OK4TX Lukas OK4VSA Vit OK4ZW Zdenek OK5AA Pavel OK5AB Frantisek OK5AJA Vojtech OK5A Jiri OK5AMA Arnold OK5AR Marie OK5ATY Jarmila OK5AW Milos OK5DX Slavomir OK5E ERA a.s. OK5EPC Pavel OK5ET Martin OK5FS Frantisek OK5IB Ivan OK5IM Jiri OK5JM Jaroslav OK5JP Jiri OK5KL Lubos OK5KM Viktor OK5MAD Jan OK5MAX Adam OK5MK Martin OK5MN Jan OK5NN Jiri OK5OK Jiri OK5OM Otakar OK5QZ Ales OK5RP Petr OK5RS Radek OK5RV Josef OK5SE Jirka OK5TK Petr OK5TR Marek OK5TT Jan OK5TVR Tomas OK5TX Jarda OK5US Jaromir OK5WW Jindrich OK5XM Jan OK5XT Jiri OK5YL Zdenka OK5YY Martin OK5ZH Jan OK5ZS Zdenek OK6AB Radek OK6AD Josef OK6AM Tomas OK6AR Zdenka OK6AZ Pavel OK6CPU Petr OK6FK Filip OK6LEO Leos OK6MA Marek OK6MM Vaclav OK6PM Petr OK6PS Petr OK6TT Zdenek OK6TW Libor OK6VM Vaclav OK6WW Vaclav OK7AJ Antonin OK7AP Jiri OK7AR Alena OK7CM Antonin OK7CW Jiri OK7DA Vladimir OK7DM Jiri OK7DX Jan OK7FR Pavel OK7FSB Stanislav OK7FW Franta OK7GU Milan OK7IS Ivo OK7IW Iva OK7JP Josef OK7L Vaclav OK7LW Libor OK7MD Milan OK7MS Martin OK7MT Michal OK7NV Jiri OK7OK Darius OK7PB Petr OK7PM Pavel OK7PP Pavel OK7PY Pavel OK7RA Jiri OK7RB Ludek OK7RJ Jiri OK7RP Roman OK7SE Michael OK7SS Tomas OK7ST Karel OK7TC Jaroslav OK7VE Pavel OK7VV Bohuslav OK7WA Frantisek OK7WW Zdenek OK8ACS Tilo OK8AFF Joachim OK8APJ Torsten OK8AXA Libor OK8CC Wolf OK8CS Kamil OK8CW Pavel OK8DBD Wolfgang OK8DD Roman OK8DF Dietmar OK8DL Gerhard OK8EJT Davide OK8ENK John OK8FHP Zb. Jerzy OK8GA Stefan OK8HA Miklos OK8HIT Robert OK8JV Jens OK8LAW Zdzislaw OK8LHH Lucien OK8MRU Andrzey OK8MSE Milutin OK8OK Stanislav OK8PKM Boguslaw OK8RF Richard OK8SAX Dieter OK8TNA Jan OK8VI Frank OK8XB Steve OK8ZAG Ferdinand OK9AMR Miroslav OK9ATD Jan OK9BAR Martina OK9BAU Miroslav OK9BVT Tomas OK9CPU Petr OK9DAL Tomas OK9DAM Dagmar OK9DDS David OK9DTZ David OK9FER Miroslav OK9FFZ Frantisek OK9FMH Filip OK9FSB Stanislav OK9GOG Martin OK9HAG Marek OK9HEL Vaclav OK9JAR Jaroslav OK9JL Jiri OK9JLJ Ludek OK9KKV Karel OK9MVM Daniel OK9PDK Josef OK9PJE Karel OK9SON Ondrej OK9SWL Martin OK9TMZ Tomas OK9TVR Tomas OK9UKI Milan OK9VCH Josef OK9XPM Michal OK9ZJI Jakub OK9ZOB Lubos OL0M Ondrej OL16B Karel OL5QRP Jaroslav OM0ATV Jano OM1AKU Karol OM1BM Miroslav OM1DK Daniel OM1PF Peter OM1UW Robo OM2AJK Jozef OM2ALD Peter OM2DT Dusan OM2IB Jano OM2RC Roman OM2RL Ladislav OM2YW Naty OM3CLS Vladimir OM3CPW Stanislav OM3CQF Draho OM3PA Peter OM3RM Tibor OM3TGE Jan OM3WKX Mikulas OM3WMA Vlado OM3WOR Jozef OM4ADM Martin OM4AJK Juro OM4CW Vladimir OM4MX Milan OM5AW Jozef OM5MX Pavel OM6ABA Jozef OM6ABF Filip OM6APR Roman OM6DC Tomas OM6TX Peter OM7AC Igor OM7KW Stevo tucnak-4.32/data/norec.png0000644000175000017500000000735111277513163012411 00000000000000PNG  IHDR00WbKGD pHYs  tIME$ǢvIDATh՚K\UzWuzƀm cE%Ho"6 ab,< "C& hPVda 2e@~TwUWWխ{9'{]dtUUq}|_]4{FV0 p}@_m8Fk1}^ Y| ~o |0$HBV *0 =% ^#d&$ܡw}$p]`ʾ9p~ oHh]oO(5`>0 $vp`R`6I3g裏[8=Bk D(*d*Ch sY֜9s_~_cCV v>,_kԜ]+ K&fv =mZ7 a.\R$Ix饗Rck;i΂xîɁм!ϸw PV5fʪT[ 4!a>Rq /@XD4M9un2!Wvg`w5`hXUb6@j 7Dv  !MK.uyh4|Wh4prpThtݟ-+0eYx.YjYwzB@d2b=Rnh L[sE&8.x뒦)=Gŋj5.FkAj >)98DI2K6Ҁ~nt@bjbzIw>4]& nΫؐ&X0|Aǎ9yz]}Zhpߧ8Hm4P(ӚRI&'YcP`8ӟ.n% EK|J~:\T;7^{ߣ|EP.%ZZ(p`mU 6Atv+330t!NS$a~~~29 L.HSV၃^YS,t]2HM&N"ՕfW)|1l̰2=80y@' Z=v8p3Mi៟aRacjY&' Cv]PI1$IxFغr%cQ/IpvvR"=bNC_Jf*f73 'չ9.uѧ)N HN#*ݦ5NbL>Os{6V E1DnJcv.i;1`ir*F~3^']X`ZE.B07Ip$xJ!1tJ%SSggYY(df#|?JB!vvv~#Ӥi ˿<\)1B0jevՌq]53C֧*}ƠBkMǜ?0 v(c11oJ\*J$ R}$P>DaHsb"Bn4J)y 'x",o]sJ6I:ѣwhie롄1c0RfBHI7IwޡX*| =0?ޏzJ^"(bx( #G81jQ&S^fggڻ` 4eT6($DU4Y.210!(!GAzLIv".x{KJ)|gdd5RJØRc>*J lkM\fe| *JR+R e Mʀ5qL5l҃@(" מE0^{-W[qǩW*gd.G\&c++(ufkMo/;ꑝ&AKYa9siJU1xafV<:ʕQJ%OqPJa!v:˥U Fk8S ׶ DV5v8xKETҔqѝNDQDU)F!}6`XdZeqtRӵï $AHJ1e yΊe;*\j5{K=cRRP8N㻻('IHJZZ$%r/eVÐm%rs٬u:,.j5ݦS c'Zx[?Z%QZm q0@} G~#+i;Ẕ!IɎR|r4 {?cH)u& | 5~ ! բf؞%77kp+wX'MmEuuY}> >McWJ՛}OEDQy$viC*kB[Ԥz3֜k d~(0fnlS(I<#)iV^P()fRDCJIhY\\TzHA+-qPq aOZj̰5Ny8#c&U6"USSJ~ m[L[E͚u0=={<N&Dę@̌O^bahJYE=U f&&KgϘ|L (^JH3@1Qh]9dbDŋ  JoU{vdPRVbxûw߿ϠTČ  Jkw&o3ȋ0(*i0,ZǷ 5@̇"L|<,i~Z >: 18gPxA3cc)) g@1 Kt'.ǀFe8w@,^"7D22poÿ<&z e F @8@ ~batG Y0ga`Tc3gaD@8_T\BBvÏ? dٙx ~}pg%T  $(x Dj.b8 9!b1|T2;99T 1>uD 8/^00113hj뀸>%vG'gސ`_{ -]Vv.D8}ԩDvێ ߿ge32EC : 9@qAUe9:A˷p)`Mv/P*zbÌpqq{-CϞ1D'3 2 ))I/3,7P(b &=MJFvZ?By`{@@ _>}fPUdS@ lΐܷw8Ç }vN.?bmmm+׮0 ?f _ '7oP >Bw@67/_EKTΜ;9Do`W^e8v8CPPM޽}?š/@ψ1888pg! &e;ógO*._ >_#='W12>s`05gf caL&f ^@,  {YXAg@ #3EK9}86"?vL\_QY忌u]KW.\N򿺱GW&P +@\{@63}g`˕f&Q`)5j0@~2,Z_v"X@G15$@!;2#: Vff#3y \L 1~v֧v211<{AJRn```8~(4>3'gB xjo3|%Ǡ lAj^)IqOfx.\8 w`DLQOo_2dg 6`S(24V˜mIf0<|a +Py m:p( ? LYP+ B+ de[wpq ߿@O# @b);Gzyf>10^ F@ *D@1~n[-Q/>E ˶7@ @ Hi3Ar_h>fBj)Z Ϭ}P^S#`&{Y: @u< \EAccD.Uw3|?F/^9w)og;}  (v6C$n>pSAtIPӟ,{Wk&"a( L:0{ @XIENDB`tucnak-4.32/data/Makefile.in0000644000175000017500000005067414125266462012652 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = svnversion$(EXEEXT) subdir = data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sharedir)" PROGRAMS = $(bin_PROGRAMS) svnversion_SOURCES = svnversion.c svnversion_OBJECTS = svnversion.$(OBJEXT) svnversion_LDADD = $(LDADD) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = svnversion.c DIST_SOURCES = svnversion.c am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(share_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = $(share_DATA) _4o.txt aircrafts.txt \ cor2inc.pl coradd.pl home32.png \ icon2inc.pl index.html listdir.pl \ key32.png \ mast.png master.scp norec.png play.png \ record.png sortdw.pl sun.png tucnakcor \ tucnak.png tucnak23.png tucnak64.png \ tucnakv.png tucnakv64.png txt2inc.pl \ update_deb.sh update_eee.sh usaca.txt \ xfer32.png \ zoomin32.png zoomout32.png sharedir = $(datadir)/tucnak share_DATA = cty.dat titlpage.html \ tucnakcw tucnakdw tucnaknames tucnakrc \ tucnakvexcagcw tucnakvexcari \ tucnakvexcdok tucnakvexckac tucnakvexcokres tucnakvexcrsgbdc \ tucnakvexcuba tucnakvexcusaca tucnakvexcwna tucnakvexcwsa tucnakvexcrcont \ tucnakvexclcont tucnakwiz all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svnversion.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-shareDATA: $(share_DATA) @$(NORMAL_INSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(sharedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(sharedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sharedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(sharedir)" || exit $$?; \ done uninstall-shareDATA: @$(NORMAL_UNINSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(sharedir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sharedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-shareDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-shareDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-binPROGRAMS install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-shareDATA install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-shareDATA .PRECIOUS: Makefile all: ../src/txts.inc ../src/txts.h ../src/txts.inc: $(EXTRA_DIST) ./txt2inc.pl svnversion$(EXEEXT): (cd ..; /bin/sh svnver.sh) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/data/tucnakvexcari0000644000175000017500000000050114052410277013351 00000000000000AL AT BI CN GE IM NO SP SV TO VB VC AO BG BS CO CR LC LO MB MI MN PV SO VA BL PD RO TV VE VI VR BZ TN GO PN TS UD BO FC FE MO PC PR RA RE RN AR FI GR LI LU MS PI PO PT SI AN AP AQ CH FM MC PE PU TE BA BR BT FG LE MT TA AV BN CB CE CS CZ IS KR NA PZ RC SA VV FR LT PG RI RM TR VT AG CL CT EN ME PA RG SR TP CA NU OR SS SU tucnak-4.32/data/tucnakvexcwna0000644000175000017500000000035013606027700013364 00000000000000N01 N02 N04 N05 N06 N08 N09 N10 N11 N12 N13 N14 N15 N16 N17 N18 N19 N20 N21 N22 N23 N24 N25 N26 N28 N29 N30 N32 N33 N34 N35 N38 N39 N40 N41 N42 N43 N44 N46 N47 N48 N49 N50 N51 N52 N53 N59 N60 N61 N62 DVN WN YLN Z14 Z34 Z41 Z60 tucnak-4.32/data/record.png0000644000175000017500000000521711277513163012560 00000000000000PNG  IHDR00WbKGD pHYs  tIME4*V# IDATh{]}?3s}ݻއmXC%(DQF-UJ桤DRJԒP9UJ#UmZظ12!A&aQ8`lp szƘ[G:sw{ \lvE27$9y$nֿKND-'c=96 JP]KaG' wcV'hHH >~AX?386֬^M1˾W N P7:C3M9"j9Rh-wػw/fgFO:] "rå+ΑcM/l$W_{?< pPRU U(+QsMDٳvv%t%ʳϒg9iu{L5i:t`B'c{. r?]oU-U4iN6ܱ߼FzLlncWӌ1R: t/ӭ;r zm/nIP&e7λo0GI+)&M 175襫Z-nF)ng3ko[#9!q\`bsӡ_H+ϻ$ d")6 ex| Y\hЙnu!! "H HE!daT7^WL1D[Km0IOv3|}-1QB @="aZ`=w+֌gy@#6\:jGƓZ/^6l}fc2^~Ad&H޲8bRu֓$5hMJ#UTJ)t>RFV8*_}rE_cbDG徝 4Kc-",Op+W ZdkL2:!PO I[\96ۯS.]OĺZ/6׿_glz1FU6H3ÆffLCR$6q(QfacZf&l3F)v̷X{+rY_ME/vNPOR3| La> >b Xm |hN\ x8JHn[/6~vbt\hM:r t\xCg" %C?◆BTF#s"+]ê#w[ܹg?{9o0V 1h="is V xۦk=6hYǮVjy= {wp` Eo̯A T+Dq/}0(' Zs6hkm@mi3&'YU.Ap$ /ƪQU5ȭCkמǶ~zh~]BaC,ޝ9](moy)3p1ݻ%P[ N =*i63к` DEQ%>g'^N^ g4Ziv|wH @taAXE|OA%XEm?'bYQ "FH-IˌKT^n0 D@Er(/2徽>bo¢(DgSO1Zp)­VF:$a\O$PWת }dl 7}TQND `^VmwHFf 9gȬHR&wj)^)$S]v3D?xcx83Yjh]RǚZ!|᪷C%R %H$5S6ee'>ξ3Q!)ȃ{~B55'5 4]1`r^[ORʉ 1+iBj 7JK\{h(}RyC1<_H.y?ӋՔM91$b9hJ&M E8밢\5$ZOjD~|ৄ7QJ]2FY26$ZDIN">FrP5k QՆNp/5 .:2 VvF%$H[ѴIX,s5"=R)d -`ch%Uzi?ȒB7=C:Lj18P7iʳb?B84+a[3՜XےM"atV \\_7>+ oXWܼ-J! k890W#b3Sўl;I˲|ŔEFn bR@q}ta()b!>_ޗK ʐ-mmE^1IE`Б B>{fg; b$J.: <~@U r@Cv!l]<?ǎ`cMNNhbE͢, D]NW<#zSa-.n[/X= kkkn7r2)377WtrUUUݻc3Z:#ǎb XrY I6S}~@Z6mpB@G@4:UQaY&hڴ%'mٌY yӦ~#먯bQ 888qW?CaA>(Lӄe иA䝊|!OTTT|&fg 2(c`R8HR8z8jkpE(e 0 nVC߷Yt@2e8+9d*BOD"-Y&lm A p:())]A>Pb;M1OQԦBVZ*h2X7 GZNٵ _Yv 0 e{{;sW-9OrgU-bJ[kD"JxV`Deet -2Mã1 CT*%y,;(}0 =MnϠ׃3W6$QB3 /nw=dr`ktRPAV? 1@ oagzZ;d ImD<%as浳S6 ^V"),*8022ޮonɿh!KáI_jNGԥx+=={3JvɖC+䑺*"lf6 fEE1-Ed%jIӏm͂vH+nXQBڿ 1VT>s?HƦ O[j]ћ+<۲楀Mteh86SƝJ7fIENDB`tucnak-4.32/data/mast.png0000644000175000017500000000051611650277003012236 00000000000000PNG  IHDR ,sRGBbKGD pHYs  tIME  q<IDAT8˭0 (xMǀ"ei*R}2DT,obBD4 <û ,G9L2G=:.\Ҭ$7yQX['80Խ.Jys=Z-pȼ9f`0M ^U`6۹4۹ǑBJٕQj[wW}7}LIENDB`tucnak-4.32/data/sun.png0000644000175000017500000000357611277513163012115 00000000000000PNG  IHDR! bKGD{ pHYs  tIME4h IDATxڭKW{o=5;vE62H(*,@Y6X쐲AHBF"2 DdA1xlgOtlW3Gc(!!`gX`uc[={BG}كKg{0݁V<{, ͅ(QD`x{VV>_9{z}8} T/9(;=vՀfhx(H5a#I!Na2MʕUw/\)ySՍC ʓyXAo-E &4Bh4 ,skm ^[?'C{@#=`q0=Dhucʀo,0߷DȞ_&}W>~|>X8z "|[:c0yEy>|Don_)TԁUgT"bÖ`5+ !/,[pW. fֱS9+&O>f"Q.ƉvJ LYBVwھ]UUv(Ɓn J$SwDȯF$ $myfע)juPgpTX3HS;}kHYR(($IF;+Zܱ:FSBΌbvՅ]/\ F%$ $2 HkI'3gZRFBK1ϽawUw޻y„s"BKyYzF #܆u\]SO_[6YW'@0Fa+gKza[;p5o_.jaz4=kj=U|^8v?I,I;l`sʪ T=ZU.v٢䳾ς1*n۫>9N`dmk}~KqyEq3rIܛ2gL> ~LA6A[#acKއp[|=)pZ-BTq L3e)O۰329O7ȳs]y|gϦ<=TR`7IW1#ݎ|Ӑϴn}7TM(&b6٭H>7#η[ў,i%BV6FᛯdI5E tIENDB`tucnak-4.32/leaks0000755000175000017500000000042714011557410010676 00000000000000#!/bin/bash #valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=valgrind-out.txt src/tucnak valgrind --leak-check=full --show-leak-kinds=definite --track-origins=yes --verbose --suppressions=suppressions --gen-suppressions=all src/tucnak tucnak-4.32/pkg/0000755000175000017500000000000014125271147010515 500000000000000tucnak-4.32/pkg/Makefile.am0000644000175000017500000000010612412214635012462 00000000000000datarootdir = @datarootdir@ EXTRA_DIST = tucnak.spec tucnak.spec.in tucnak-4.32/pkg/tucnak.spec0000644000175000017500000000236414125267033012602 00000000000000# Note that this is NOT a relocatable package %define ver 4.32 %define rel 1 %define prefix /usr Summary: VHF and microwave contest log Name: 4.32 Version: %ver Release: %rel License: GPL Group: Applications/Hamradio Source: tucnak-%{PACKAGE_VERSION}.tar.gz URL: http://tucnak.nagano.cz/ BuildRoot: /tmp/tucnak-%{PACKAGE_VERSION}-root # fill this by your name and email (then uncomment) #Packager: Mike Karas OM4AA Requires: glib %description Tucnak is a amaterur radio VHF and above contest logging program with some useful features as networking, cw keying, ssb voicer, sound recorder and more. User interface is based on Taclog. %prep %setup CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --sysconfdir=/etc --with-pkg=rpm make %install make DESTDIR=$RPM_BUILD_ROOT install %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root) %config /etc/* %{prefix}/* %changelog * Tue Feb 14 2006 OM4AA - fixed legacy tag - updated to 1.24 * Wed Apr 13 2005 OK1ZIA - Packages for Mandrake made by PE2SVN * Mon Nov 22 2004 OM4AA - updated to version 1.16, for news in this version see ChangeLog * Tue Nov 11 2004 OM4AA - updated .spec file for tucnak2 (and newer) package name * Fri Dec 13 2002 OK1ZIA - created .spec file tucnak-4.32/pkg/Makefile.in0000644000175000017500000002777114125266462012524 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = pkg ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = tucnak.spec CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/tucnak.spec.in \ $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = tucnak.spec tucnak.spec.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pkg/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu pkg/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tucnak.spec: $(top_builddir)/config.status $(srcdir)/tucnak.spec.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/pkg/tucnak.spec.in0000644000175000017500000000245312412213733013201 00000000000000# Note that this is NOT a relocatable package %define ver @PACKAGE_VERSION@ %define rel 1@RPM_RELEASE@ %define prefix /usr Summary: VHF and microwave contest log Name: @PACKAGE_VERSION@ Version: %ver Release: %rel License: GPL Group: Applications/Hamradio Source: @PACKAGE_NAME@-%{PACKAGE_VERSION}.tar.gz URL: http://tucnak.nagano.cz/ BuildRoot: /tmp/@PACKAGE_NAME@-%{PACKAGE_VERSION}-root # fill this by your name and email (then uncomment) #Packager: Mike Karas OM4AA Requires: glib %description Tucnak is a amaterur radio VHF and above contest logging program with some useful features as networking, cw keying, ssb voicer, sound recorder and more. User interface is based on Taclog. %prep %setup CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --sysconfdir=/etc --with-pkg=rpm make %install make DESTDIR=$RPM_BUILD_ROOT install %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root) %config /etc/* %{prefix}/* %changelog * Tue Feb 14 2006 OM4AA - fixed legacy tag - updated to 1.24 * Wed Apr 13 2005 OK1ZIA - Packages for Mandrake made by PE2SVN * Mon Nov 22 2004 OM4AA - updated to version 1.16, for news in this version see ChangeLog * Tue Nov 11 2004 OM4AA - updated .spec file for tucnak2 (and newer) package name * Fri Dec 13 2002 OK1ZIA - created .spec file tucnak-4.32/install-sh0000755000175000017500000003325512632516463011674 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: tucnak-4.32/doc/0000755000175000017500000000000014125271147010501 500000000000000tucnak-4.32/doc/Makefile.am0000644000175000017500000000066212412214753012456 00000000000000datarootdir = @datarootdir@ EXTRA_DIST = $(docs_DATA) README.win32 docsdir = $(datadir)/tucnak/doc docs_DATA = NAVOD.pdf NAVOD.sxw nagup: rsync -atuvxz --progress --partial $(docs_DATA) ok1zia@nagano.cz::ok1zia/public_html/tucnak/ nagdown: rsync -atuvxz --progress --partial ok1zia@nagano.cz::ok1zia/public_html/tucnak/ . cygwin: mkdir -p $$DIR/doc (for file in $(docs_DATA); do \ cp $$file $$DIR/doc ; \ done ) tucnak-4.32/doc/NAVOD.sxw0000644000175000017500000002145711277513162012045 00000000000000PK|819mimetypeapplication/vnd.sun.xml.writerPK|8'Configurations2/accelerator/current.xmlPKPK|8 content.xml\IsW)C\%Q3RJlFvR94@#X!OS9\JsPUrGK  ؇1-"G]C]b*52|!!SE5.2FOx^ㇳD[-U& ]NNGgGoP&'I&1N9YZG7 I:8ɠW%rsh؛w+vsS(C1B oxzN;KbܜS䊅cܧoр:]Z&}_?GM5:SyOjzXHCv vr[C)+>1(۞t 㣡,=9#-ՌG.H2~ j|oA"kKna  Cl{zjԢuUFx0C ٢Wc(X# ] ~m!.Tܳ.  Ar#tK~ ܦHl;4c>r?܆d:Qk M"Z^fDž,:reU6H"_a2ߑm(&HKb@##3>fzi1hMl11kնDG'H1'}|Y4!_{MuC972)[1!Jib9*=kUaZ-_.TeX8&K(4r8w&":Jsuc:џkeTnZ‹ ?HIxɞD&Ɇp7"jBP[gއ&byG$Ȧ?d[25hC97=0S5@ZvJQuGk9o13hcKnߴOL6u Qҋc+K(Y*u:>hH^+o]c[[zMZ[f)Ta jKXL.=`sF/ ]F s,k"5j a[ņ?$)S_"eИX+vV`k0V5 cbWp_8Wb粢I<޼XCG*;m:bL|γ/|ڢ4`;T->_gǘj693~SDN\\j!໙]{cyuEb{izc,Ͳ#K #bnIu";cцF'c86&5lDk;8 ㈢z/)Eϣf83v)-K`'ӯ4Q07lnʥoG bYn$e))ܘc@#]@'V٦i0}22+ !9mTtyo`Vne~ߧ:^g͡ 8{e#7i4IgqM $-jdջ^ +I_> JړZ16(dVOcjaB)lPY8`7Oann:g=%Nw7z5jhAra} o4͵ ݁$}9.l,}gL9bgP+'koaޮrAtdK4Qr,b9DCJ3r*.202-,Ӯz}V펡"wO}6¨M.uQw:n~hAi"9AU_dQ$:&{v8M)pH-0S[HQwh;LsY?qQg;JZ@܁`J20颖E:]= M!J/޺eGsZ7%t%ep%Wz&T>?Ӝ3dUkب#]@Adp2dQ*%gX@a#mRsp+B=Ec@D6gtCȢqvM |7I1^I9<`b%vT32+ЛW;e b +ETRTޟ@?3Jk̫meyT 27.9*i҄T?]7G)ԝ={Eh zBC㿩B'Vb"&Q)HBmozm;%2FrXsI附XEatsG>!N B5 ˥+8J%l/K(` [AGv ꌕZf{ݎ6^*gTfw+0fE"|(G{TQٙ[b!:lSR sVv %%sO[[0aG`pQ?kŁPiSa~Ii c׃3Ei,ڦ uƷY)GRkRח@9thgpPғ,m?rӓz(\Jl'bl f2꤯"(?͸IOv=Y*7 {zӿR;;÷ ÒĆf_̌=~*7 '@Egcv5pԢRG;w3>W ]i*S(Y$:5V5-ܧݹˢ/lU6 ֈ"v>|ϳ(Eأӄ`؄yF dVΤ5E2AD_~.?7;avw3sA]l{,!t?ݼ .^_}O=ݒ?KX\@Ȼ O/]z~ L?j0|u3_Uggk.Ar+mN=h?ʭj~?/5gZ_7稶 ZVZ-A"nw.Ɓq4#GeŦ Q> W bNq [Lpϵ#LQ𸖈_ޖ-Ivצ5d(' aḎi2]#*Oz &2c-1q{J+e'J S`to̻"Tz?1N}UΚa$ߔDjH_i񯽫2& k.X4l x[váͰ;L!^VD!@?+9:l]&;>[6)n$K RC30_M 2]E*3GEJb[C@g3 ;8lCyq:D2Q eL..Foq\=VLa2}WsӻA߀#Z@ Uc`(J[OrAԙ 1D2NKpiY^d*v]5SyMIGTR2pI0 PVApDwωTڵ@njBW gP z#H$"+RLlQ&pkx9"Tw= % Aɉ'Ʋ4@֬A0nq$"UJJV{ wum3OApdH C65G@4fT0)YKIsb40eTs=8{X/n3 @SFlK?r,~ŸD7!󢇄uv0!X8w4N1YtcbZ[!_3hKX>PM%A&ȊjE2&I'lai!^Z#ZVK0$ YßEMm*ߣ+Pݮ8a[\eԙRHH3cQDWTڥN[#`(;=Qt16D|9m}'o?kC4=DJ(6ݒ]C׷ͪ2**[X翎Ƃ "k í9&@dlw̑2PlXH9hì a޿EuXy%4U*1Aj4㞺z$,6Vv+hO3t4A-Z :Z,Voe 'wh՝G)˦GGua0(#fYSKۡj< W.ƏdDG ~5ͯxyA[f J` ƌsH!6Ot|@i=H_H YS}h1ur/ r0'Nx|9n|q LEn;42q MCUpLO)1h̎/ PK  *PK|8:Oddmeta.xml OpenOffice.org 1.1.3 (Linux)2003-07-03T09:41:092008-07-23T17:39:452006-06-05T19:26:48cs-CZ61P1DT5H8M48SPK|8 settings.xmlX]{8_rvKyPuZwB'$lDo@XB^X1=\A(q)FϬy|[// uQHikyaЭ)uU} yL([jo֫{jґގ<*\tK¯7'DxTih [ooqV7 CMW.%/غ7Q1)jo{?n}7?}yj l|=u io2f4T+bݺhy8zYZ9إhjz-!enZo5mS%CPdRQڂE; bKǨh%Kx({ )D_@X D[ߟf{d`hOKN(<19[QXJw0tw'$JAw4./ cEi0H\(peٰn2F@bZGa-m K "b@_* 00vjX1EI Ng?fB Še9dpui2ē(ǖ+urkoc1IX~ D,qd#")jTؒU+}:A%PJŒyER(*8eptq `;=]6xD_LC_L94_z1Mϖ_oß-6]فeK[= pgncL=U8ͯX!4W WOCc8 ?7,iaϼwnѪoF\D=q FoVE kc:wF|Ža#Iխ"=b> ㈸"JOJ5y4SW1&Õ+`F}G& \h ^*޷G^%-W? &LEuxZMr6VV1C9Tg |01qC]@\@`F^f?Hk gFryBXeQ8b,+i%ۚшf%s);z |[MH:XÒ n;ƫޘyPK֓PK|8META-INF/manifest.xmlAk17z**T-A=b$V}caUЖZ-&{oBnVl(D] }iܲ){?ﳉX+g*kbx|y 5iUM҇%x>m_b#N@@%K.!ϙɔsCnwmJ q$URF1FeUh)5n\)cd08kZJ2e]eMҎ]TZT !N]JOU~g&fFs(^Kc2G|gn䝥xsX+1ඏgOt PKS2(:PK|819mimetypePK|8'DConfigurations2/accelerator/current.xmlPK|8 _ content.xmlPK|8  * styles.xmlPK|8:Oddmeta.xmlPK|8֓ 2settings.xmlPK|8S2(:META-INF/manifest.xmlPKj!tucnak-4.32/doc/NAVOD.pdf0000644000175000017500000070536711277513162012006 00000000000000%PDF-1.4 %äüöß 2 0 obj <> stream xˊlm㷏inBCv ldز% 5}l[lopotw^Ƿߒ?Go?[P>۫yI_&>Ƿ_&xRry}i ɼόרW83/7=2_~tmRy|F51z"6Cp#+nP_M.O91D蟏eM/A^WɒAܾʒ@^]ц+Q"lh ӯŽyCGZȫiI-`NrΟK#oB92NQbn(bpJMZHE#euVP- |+0*"O%g2a߾֟bzdh_"ʆ;@E,rڦ(It B܆/+wVBJA,Fp">H"Rb־aXnj3. MiޚeBw'k4ʀ\-ƨ). D&gfS&Y9_`wN" Ư)P}0;I߽t#+ѭOm C9( :9ϓE,sic9{@Fދlk\@S,_jߩST ȵJ؇uQi{?):vNEC, yCz%f(N6/ϪCE_ul}㋅ &;3{Ȭ}@26eũO[+˃1${\u3s: q.'j^Sls>f<ҹa}kcp(oQW88b3;9h\B=ŽM%t`SVkJ)TH 5f2l4%zl`DI=lThw`kjԌs]z QK(JrZ,!%v3y%-qztr *zzG;8ݙhMjJ$da8l3@i44 ę@ d rD:;*O2x2˭rêr}[׾sr␬d/LgnFf ܌C36ބeQn*Apk9\.+w*eE#L) D! 0*DZ P!h9кH=h0InމgnlAUKlOJ>Y0^Uq@y$F֒-gC=p<3h)?V}:HܶοhL60gOU #.0XU~aZ8 Lq%-Z4H5T;CMVLt"]z^r]J&&gh2jb,Jzd!K)9ꎤ8ic znkb7r&7aHP=[Nۿ6V: GbqAVnҥp"3c0^h|&2,&Cv9) FnK·6<n~~廃|KsK0"f9g)A=)2AJh> ; Vw.:A/EيXL@5{WC ar .,z[!pNpblz2hSijkJ0n2_a9Lgd4@P@d!RžgxcDh ).cZA`.t I8eÍpFcnc`CcAY.j wB,^68^DUqba*wyWb'5gK.Xs92|*D,{ʋG?Z`]Iူ>l0]Ly#MGc䁽{17p{R9æFYƆ9gG:${k>'*ܽ/7#El^A|WpٜרeIT1H6^[TE;4g%CO8wz/&E@a;vY& yaN&P{#@=E pͱ<`,1 Y9L_muhMf8} +4o989X+V갆U\VMؠ5oc]Ɇ$V Q1i6'g?\+ieIv8,ˁkb0bzFVi=iڱzEoЊ ]TXF۔(5Fo;c4y3ϸ3a#bޙchQ,{bkxƵ_w}G,ǕOZ**q pݴMuzY{/ WNnڑ('Vc14f5wwlo9It@aNO]NWS%D=z&^EY"_`v=hHBg,~Xo3阋h̺4Ƿ^ HK|{uZA!ި.PfT' 93-@6t@;[A3˻b3dlmH|ߚ]!Nf+OٍcUfx> Rpv8헧ʩ[+p)f'^r!BZBmR:#oDZ8w,++WbomrM43 u)XA),l⇥q=lD& ÙB܉E4, i7QNQvEP|-Ę9?HU=p1 ( R9J#@;D ~זNWf۰z_ W 7ֶ]8>.nt]8&꾾MRJV=u 8(;;}VU'\@=Bڋxl㩥Z Sv!vs> ~ہU`54-.hE'QOOJph^OܟY t?HdeVuH[_4,4Im{ "?y<"brsT endstream endobj 3 0 obj 4727 endobj 5 0 obj <> stream xSKkQI >6aUۅ1"t!BZh0"d:yf:BP|AzjkqۿsTw> endobj 8 0 obj <> stream x]Ak0s=,Q7eC? & I1k[!Mt=u~`{L0zrKX" 8yRetD%Z7] Nm/_c)Arϳ/fFKix"Buyb%lhBUE($;a%YJzht~ڀ]I=WCܩm endstream endobj 9 0 obj <> endobj 10 0 obj <> stream xsteo5vNl۶mĶJŬضmmT[wq~\k=c e5sGS #3/@UAAh rQP[ G tqvtw / n\ n Xy8x9\.ttX8Q9:yX[Z@ECGG  @jmQ= 6Xy;YĹhhmvNNj1Q_p)HY.rssebKYC1Z0:ݘjRH89Ӎ+?ŭ]ff?ݶupt_?sw'& kgw8YyY@g̊K{;E8:9:,L\8_W & `nm0ZZ;_hk7k/3_|7wtrE{  _`afepo*Xg-)`9<#L;tt6MQoX9_@G鿓:t&௝y?ڙz{k;ˎUGKI "v6d*i4Wv3'`tv*;Zs```?Iu+k3[/`?/$`hn` Psi]\Zw{fpnBafvy]T̴:[d{< cJp%7bߕf˂M\lC$ta&i v'QiӫrfiL?r삄y=|?M4t`b!VA D([B``^4+G/zEQ 9 _37Un ˔yO\$= )q'!WS֖fz'ݩG Hpd"2tW̃_CuxH)>6 ü!'d@ܚY6G(ThX}gcq¢}1X[c5c={r_dMK{7t5(L(՜ W3o7Xl蜵lS1܄.fZtʭ }.Kgib4^fj9fTYg!|v;"DTo<&J/T?&i5D)U tMN~u̚A݁.MY0m{LqQw@hQ*MC\:?$U6 VzSM Kj ʰB2EDnz гy*StncZ%5ώLGM gf ȏb1>c$Wٳ 8ϧl6c;h2k![-cҔߴz=}Tykak}'^JN#Nv&||9]߄MA1LЉsϤDB!3Eo8hX| ?R$qi?>Q.(2|}5u*Ѝd_z}rw%}242Rhx҂J×o"cC򭞻n[XuC{Kv;z~ڸõ w\7;KmwMWpg0'_K+sm~AI[J캡إ^UO=c>5gpnA29F%`r* 6=:c Ӥ.6{{+Mt`w@=~`P~ 2Q?~xZJg-t?5[rR..CFqxеgVҫ >zu}o3{ 0vi2&1u^OF,)EIb~W U9PO+ÙR&;$`dX)~A)E{kwp$Uҽ7хm$[^Sʤqnu9E`edR1?Y֌NߜU\mi\S,ih8H %2 }ZB ed{I;H_;^ ScǶi4)&%4QWD4/[|9-U'n?"T4qfiٚ,9-ca0A3tG4`bsûmnwy'̂C0Aϳ1w-+T8asѠ QjڰV9vi:?QIdJ/ys0Unkg3dG\mVۣ pGQ YX? oqnkT&l:+D{)ʵ.r-F' Cr/g9ȁ>mٔ/s{ VmC`Cjڡ-d^hUS05TfNS6<ϕ%Yg5 op[]m,(l $> lZձ{om=٨e(Ml/{C 3-0c3&oY}X1)Ԋ'5V|aEIܷ?MϠϣ)OSHGM>v`j+D7`iWђF޸UW\{°.4.}|NaB'!+_' xА Ү#>#;d " D[u 0o&=CHOe' y OL{ecXJZ-{hH&]qRcJc>ZrYIz ]b^4b& qg6)3'h qku-$r 휩RI{S_W<$̊& 51v} yK$:6GC>жk܇p {H>&Ǚ1!n֐t*.Uǿ@ɟ|DÉZel y,Fz04,ti*2\ݡ 7G7BMk_iOL3y8 M}lT:p kDT8}S9I8ggĆgω NI?jaj$Mh:͝xT'*',cQ퀘7zpS^0_ڼ&zcvjuiIbG,ñ+‘.7ךw~;9ܳ; _70aLlwSM.ٱQTʧY!N4ć &./E?gnbSrmu},J} .!JIjb7K$&FHMոj Z"AdFlVV@hw_A&o ^$iPt[%ŔHEb 24eEѺi$O^*O;':߻}WLd9[M-$)n-DD5geڜ6`3rӏ_H[^QFڒb2D*y|ueW6.CaWe, {2A5B%.l 3I}$R ֪4!15?bB>v̝6C__Nckh%R1Ĵ"M*sڇ;g={mkT&3N >BCP2GvL" s:Rn_e6H I,g4RA瑺?PzK'# 6^;]u$\L#0/~xKm{N57{l ͯg )t9 ]ա/HSp˜֑xEQ+NB X&M}A4k_'<6[-bx88#;*. .!:̎Wו4sWGZ[K F yHI} G M33( ywDǺFdYl}3q/)gX=ݶx TA &Wq3ub4+%c82-'0O`M n7,뉾ow 3o22T#廊,e;y[={E;Pr؄7Zku,:,@LiU!~'N:JȀ`֘]l)\ ;sċ.0Cg-a'w@tPz=y)opWE(tkڼN609"=TX9!Wyنd5KI?]}U<K^bzS#O~OO11L^)NiFJwR+˰_*9 ,d4|qI#CkJ}&kNEʳ^f;z,]WfMK .2܋ه"!rV|]6~ kLK>/zͰelVrQW(=mWꂉYu.掠|ӄ [ĉv?uT} /;~9_Fm 6^FZ2yl,-Eqpw A|in|'ȼz7_lj7a}.8]QVǘju,d!;Ԋ1t;F$ {~9H k8Ѣ  tBUiΛ3,CQe-Ʌ bp®lƿXHXQ0(~0F103ʣlz$֤I/gq4l&>RTq/Zێ"b>Jea§jgEC) 6)i ww: $7Y=&[k=pG@"ɆWHBDfB{2)vv!j:6>N6gD[e|_B@E`*LxN#Xo1!qPT`Mס }^aͩNCs'=,v> .ٓ 'ẔWx^ޢJ2񹤙Ĝ˳(eASaQQr+}vTMŗ$n+v0P;% eT),dhiH|u@ҥ`1QWӜe|Yie<)TrzO9TAg2\}$-\N:xkx]ȣS"ZRb%Ymz{}'qOjPyK#\w&9ܗCĎv~/ON/Rupm絖-ix.L-b1jOxۺz]>3U@Y Q;*׎Q>Ӣ" lD>沒Mslg7*5/0Be2zmϓ[ "aų[l(e[Afs#\a@̘鹬%?z;*fqF$&Xw/k(eK?8]1EkzZ,a.|Cp.u*.2L9U~gϘFtm3N7KVꦏbV$+F@7.̱Tn@U+*L|T"jD[iy/x])J#j~|}sK58}n3*qM^ldӴ6E8muZw..x.<]|f "-_; TX$*Cl(P^9I2j,043dMB͋.c I!aE:ܚsct}{vvt̀x q'7L'a2lD\ @9E mzIa2 }Ns5jPkΔKCOk?YZ5:2sS/[U8QeTNDw7ZIl7S[bNئ:j&hTS[T+N\ӠϘ;@/ZB_i #^Y%VK`O,3eu/GLGLocyWVqq5xEn8<[ M L/mFa^#W}gBMqrnO ~oOܹONF#饯$9<wH4(L|P![ E+>$~TܤWJNJ?w8 =q;Ъ0WX>ON#l-tנkv._ȗOA2lճ|$KC#X=!+!-'p{SIl?6qjUaxɲ0g@G_ـ9َØ\~ԑ vqH!w4$y ëg&lk$yCkP-M@6i8YAY!?x1Li%'g0 U4GC7j#c1:jy@ǝT$]{F8EKx @f=2_gR$A\?wn.L 7 J4޿bPmSPEBKImi:]t[8ǿ/QKLkCc.#(̮K?U9OGS3qkFY% xF uǢdGVz޶#*OrF٠v<{H~-\ٴiVӣOBGlm$vq*3H,!.kAVvFb&D5g(l:e SǓHlkS>jŋH~rwಚOE"waNpQ)Lࡂ$!i$B$=8Pdi)A6/>믶.>"|hQg1QU1;QrR٣S[r.$W/|ZH>C3 D`oaDzjm_[Ii ÆK&/b5D_>1QOy;"mm 8qnNn;9o9ZR[1(Yp곑Mj̴gaW][BùMqiF}]G0}%:Ƹp9\ uM u8S>3W|7 *:1ک٥lJ~|a=9(-ۿ^W\䣌qϔ!Cg.'/B@ OSeS8mAy3{;IQ8jo~Ui? 5/B9r =z[Ẃh2L]2gqxN}T/FEwUع:_P f'sFDW4=;6:5i4#a&S?"vwg"=͜aL3ҩ0LLagvBcn^Rhd8M3VQ#ލn?(6/D 3sC`:o{Ii@,$r4Hy}O$6Y黰b0UC'' ތIhyM@fNrz ahT0ސ뚘5hrCі_mbtP[,#tͅʯ e&* .Q'O_G6UDW{QeT5Z56$lfeVNPQS~l6Ż^@6~Л?,5^b,m (l4qo`k݇ΨS Sq qx'jrfy-)BcxǸwb 6KG fVC/ qx^mDZ'LE@`=t]%p&TzGؑNg=w]#:v 2bDm t<E V:<c* 77돗͉dz(P[ ܨ$+ Wfٴ7J;0=kHNz9aHK{e7 ;@ ͮ]xg;aR:?R:mV~8-oZ5TWf꽺ą\w ]cW2Vq-PDE,$C;6 o0"Ltevw \ԉ-)8A08׆_?md{N ƚg'% '~)܋w]6ОWG2G>xZ,%cEjэdFI: k;,l8x 9ĭ}nFG;nNo͞2@ t+8W= Bz -1+aUx`QG0+73WR*u6 7mU ;WU Nc52(G j*E}>oabr}9mk "Ǎ޾@P9rZyoo"0nH4JG8"273i'sČ8N!xTwFm1RƤBX Q=2X oQ(:7 ~󖙝bRhW>;>FkXμe?ۘ /\X`[LhP'{QB<[J'8CT1g#{9oi33qH r"𷏭 Jvϓ(xAN;˭U%R0Qtɒ JMY9$:eVg} !/oϭSQ3 W,{bYWPmˈioIo//PU1 )oC?-a$p].SVRMESMir/)]>( U$S](Z0}HEQM bʪ^P41puwCL(g:r~%'jH%uT$"*ɸ d0HZr8_2}=Y?xwC Q6>+!sk/j^B1;B,{ǯIEHV<&/'av &kF7_`u!}쒷iO6* Jdq2 kKTҝU\gq$^#MKj(A28:>=!A:ްP3Iz`~pe>zO̻8}NcβXdn4!dτz&W@UPBF8gv[,lWӏ|U-) r;DVS!r7l#Eg12> &Bzm=ƂI,G tӫbj^#zrвW(ffH#>K˰S?]j_.gwnE*O$Pl{m+8E&^ɵsCk']S|Ŝ9o}Ty[*υ1:_)|/אF!4Dm$\-yKL;|\6a/?dKBF/icu^(F {QW3OXkjϾ`7{76;Rzw\zb41ۿANjT^R+z!U[)JABx:$U}{ w@B [-x#i4;xj__fHvf T`hkh+|"Y)X4v:T +C:5ZbgS+g2C'U(!hgR^#6t.)|qr%nM#j+>ArxF;xz0eXX僧\@, ᫋ICEvیC- 5ŔPrnoEJ8EiaWNk0ݠw⻩̍}ܮ2> mZ+H!cS9p\dG:/\(~_ `yz(f֥"~*){.틶}g}Ld酐l&Au_ q{B0 #\DRQPB/{R$8Ia5=&RT=?>c#J\,**~' |ˏ'9؀̻Xk{EK1ފOeHФ&~i9B6)EOʸUMH}j' q0L6r8;`9kAat*o X?Qߥ!AGM[UɆ"X ~ jdꛏ=3Fc_9g|_lЬS![!؞~ >^}~TRNLIg;ⱩfHkn JixudgX>*K )Ut#$D#A |"*!*ɱ}Ҝ} 0 l~ ">\9 x7|"E OX3RvhkL毬>pZү6 ÖX8J#c9Y` (I!C{(fzرz잊_d!D~Uc'rPkD ~ESz}@.[#¿VjRH;E\2"tv[;cNjz{4([?>vC ipArCۍل˥)a#K"y{?T44Yp L!bÿP'QXvH[ퟦ 'sqmOW"$7w^ qlf XHV~XZuVt`ٞ`cHŽ[.ӓQs'գpk+ǫ0}0WM|[9Ѩ@1Iebr~qi}]gJ񀼑SQt_ 08N}Ԉcl"־N ΩU6(C?tl I^J8`F0<4!Y3ʋ|ȬX7 {^b) Ȓh|i y8\|Gޟy9RsPɄjWBP~^f&{hÏhY\^;$Wn-K0`wq $l/H 1ʺ~䱡;0_I.eWuG{D2~>:Y;* "/朷4i }(vZ7Dqh-ȟ[( NNV`r&.p>3*|SKm9k2+fxO!^CpVG+DMl\!;߽MmOe+i53J?i<ʜYF@dJ]ސʃ+>9#l59.\}ֹ h{Ϊ8wT@vKO<ʉ̑mx~j XG7tfХCaxV#zVMgڞ1MS]sF:-EPaˌL[d.h P7okr )02V|U\MX{Pvn .Z#!-UNa&M8%6X2.&t;$?д1 hflzq ~=ٖ-0mCGFrTzĮ|0gT-JU۠g*%g4zK'XS/gCS$TWAP!cE6a|4Z~鸘ن.Q򞔤Y_ S qF$OR ʪ@ٳ)!=`j@tl8B l$`¯g$/Ycb{ `7)wnQ]*{cIщ'cDI`,Cͪ<\«TXy}|ZBqXN[vh;]imoF ݬ긆+ᖝ;>8ꌗNb%d8&~0Yw8^-!'8kŦ4_9ͣ4HȈ{-{)iJ4Jxl5I5L'@ؿ-B̅QpHry23-6"T瘹;H>[+W җߐbKd@(:Q3j+;7I_%۾MaV+T$kb`S~ bٯ+Kݑ1WzuE`eL9d!ٟrzSN0ё!Z Im繳[RxMFkO|m1ªC1[Dϳ5'8UTmWP?(هmk},]NP 7Vx(u`J1׾X˻ΰXҖ[z C7saC.? @-:`VO}+yυ@#H lj$P۵4TQ?8Am9[@Ey%\MHmc)&jigi,w cl#SǛC۬IlK|QDbmv((~hmXjBʵ=()}sz:*c@BHZKexwkwD~9F>1,fpO>iPu_kbj)8H,FI' -%_|T0[ !7mC0#bMkXCfZ]Vr\t瀪`ќ~6#B r<iPQ4c̋~}]] _~wV]^O) ب0?)V AR}\$ dm˳w8J+\UMGL`5m(?lwh%ÿU!ڳm`SZMTJ!TR$qs}@r5( \+ޑq:?+YIp'Zy0o?wG04 |mVa!>XW q]{Sj9oYh.j{T݀VΏ@wqj#յ9oc%;ٲ|EdcP_~B;ga#'s_ߜ$|3]נR*tLN) [H>P|vK\"Y!NMN֒;AQR161/[VL!"vB{dQ#<9dAOd 0Ss9쩌JO#:R\#*|/ةiGkQn=!nj` <DTMz'=gL⣊㶦}-ȟ.^NQidr!pH>K!kإ8gU`b䯲.XDk O8}eYzI^%lֳD4!]\OQیzŀ`[(eU!OW|+}X5Ev/CݩV9~~y'Q=&/%1U'828 Md6+'=6t6xU3"J YTm |t *3ztP6<&yV[}OkfxvZy $EU`s!Pୖ#Py5y覴,OV% " 'cbUiYp֙BK, CED堣n񰣊 ?;rɫx3Dd G. aߝ*@_b!m*`P㆒ q^(DM#Gp-J#,ȹSLf Y3n,3_ή16m[tƱ㞑0jlGc!8>ɏg좆+ )*%]~f,93 =Ի20XRԜ .X9/^fo*R&9UîFgWN+6[{BjEהΛ(7{Y)%O@vޡۘ9i ~5h]*KbO]Ŷiy_FV,ӛT=+je~r8(r jx= 4Sl|;>wۺ "TTR[|$İEp:t@i 4:-e:m -HƭY*yZw/ZNPð:=RYhx Y S1o! (_tLc<ًա4mݏjtVXU< zFEFkw+ -*n=׬ S|O_2YKO>T"y.EQ!)ͷ;3hN@wzAQwX?q%l#/s`Q6x*Rע؁9Ì7\'FȈuG6Nҥ]} .2 };g".OeE!}VW^![+8+˝K g`}}Mxh}41@K񯑿fIf~1VT\9iԀc؟u_OņG{~bua"hM<^H?WEW,]&MWp¦PWN2F7>۪:el鐘;C܃b:i$%K J;Dlŗj: ?>:hY9pNc{EIĜuԠT:jghwCUMCiERZ C1Gì%*ި4zQ<[ =MԸy*cwVϚ PU"A.(dE(9eV gK|[ Kii3#Y  iLX3Ul{),brMc sL^)ĠOGcXJgzpiEr ]hFM^*vOGuå\e_& .Zdxz,n ? 4 >ܭGPi,xU&}5+h"Q++\pr\Wg/5:-wRo}~!X'x0X[*Ӱ~}aO'߿t;霵ne'UqhWVwٮ€ņ?Xtɦ،@,Ȕn}5|%E.`4)vdlS*ʙ-wżO6mryky"|kRpV A>R\iQ joh9ͦx}hDǣ L\r3cJP6iacQ*JLMŰ#i9cV,u/{>iJ,16ۂ&g%M'gd[w mZH:(DjrUo_ŕ#}m6fXH¬Q@*A: 4 á^/sDtosqyF\i =8IN #1b_6$GY6Cּ20u,I ?ymD1s`9V1S\ DF1~xA!^;p1\9QȃJ4u^qE۲ o#%)RF%En[bE]ʲ5SE؞#I 3}J aAh-)$"lu"9?r2;WشQ[ܞ|d=iȺ cX80y?pBɖ͎O0dw)jS恝BJũ>jn u܂#oٮatܵv@l]uǏyp׷l{!YQ͌obj mcv*`hS?)ͽE n|t֮`8&"cbcٍYpsÒ `O{ sʁ27!fXWg:=%qY̸Q1W";$6zo͵rWhg 80Og&R\6o/7/]Koć_ 3 )zU=-] ?rA%&j՚Plw:MѹXB8O$J0ل|6eF%F9,Λ%\㾆ϾvOBHAbL"BrZx1@=&;3hq*j^^ki<0~O3+*k>O&_ӟr>tvjP#xih yt{#e2Gfu/e\|~>p%7Iٞ2 T %:33H:\ ՟ʮ -ͣ޼9 U^tOBظw:_C<.YMJ.rQpvUgM48^`5Ey߿`;cP2P%-3c!)b4xղy'(@zXQk珀0ڎБO]63}pD]hx.]T(Mif%'T2 1j_hTdQf& _!&ɭCV,H'mܟ4p6$>*U=f; dH#)z0pgNH:yyuE*1XbNݶ#p?|jb>ǚgR@t}g` Rnc8uL!elt\@hn2щ0@CTKZ /ayl~ |t{:{Y*jdrKjJ1ee+<$V~o\_58sZ:5r~K(C&٫ 0i!S϶Qa[Oɦ8B a$ Ԗ=ElCdhhiZG(ϖ KEPo6\͔č\ zlj<Ρ42o'SIt8g9Moa3,T%D+2XVvKn^8Y=w5@RR.XCiAoQ V$:SXW$K'G>+`SM3rm]k꫺5G+gMRQK5xrm|p Il/s cF6ӄLC>f7״ɇ< cYFXX2޹XC#웚fSl+<nXJ1D׬N&ʼ\1Gsi^?`$ et꟢,d*Zڊ5VBf5hi^"g՜,up3M GebfdBRj٭?(ӭ bcJ Y*G88#R}~-8rSƷE~ut%phP0j]ieɘX Rbσlϑy#tli"C@KŔR^rK~_~Mt}RAm(zW*@cẂ8ް:hLE`m,(D;{%h~5ռ}P%h?_bw@ '7v !;E" ܄}N)9(cqvkЭ Z,=a?T.WgeF[3m ? ~!gy(q⭮h0LY159Cʦx7bC¡1S%[qsb}Rwry`u2Az`#tcځWK61'] Գgzow=&|:XӫKxR do=?a;'veu/|Ǎ l g4L}8+D-tըN,=VG?4ԚAM860ZP~qVN4zav{`)eF#sl[3#rAy:bKz˘" T0m\Q~%.`QYG S +e8-?Bsd~#<5t*NYp!BP!49jn { ȎUe8[LtfpaM  ')͋(CE0o~z.:lqTgNfIc9 6n\Sk߲ X*#rOũk54ұƷZyH >{t{XQgW揰\Bjz^H@wƻ`~jT߉h,n=h9<>%eO1dر. <˗&w(Us UfJq ̵ٌݱluC Qx_Y!b%*֫QhB^95Q96= z(0vPV]"Ȗ?o)%@AeȁɱOzL&8ް|\DW}U~~(͞?o k=}b[Z;6's /Zz Ӷ\G9&:sz,\Ԫ'lq9U~ųU*52S@ ƥ)kۋ_kbG]KITM m5MdN}aBPJĥㅌ~E(Q9$˺Pܭi$nJ GUJZn%,x}iUd?UJWco ͣ& c" fۧ® y؏&hܨDKe[܉U(QXW>OM*%N>/eh)Ɣ6@˙T-f(B4!UaA\=>V8`ͩSdpݩY?a̺$X_l?š/ = g@('8Pbmdw@l|?y@" )Kx ěJ]YLf :{dk򛁰Cx"n6{X [Ȩ 1s˝F)hp46qJB=-K9{W+#$f'k9KN9B4%-;yGCX;Nys5+"Tph”>< .m]HIQ-sA3IBK@A[ed^k0tjIB|*`F9OdzoYOu,:!?|`rJ#kx0g!B|AcU7,jmAc]O]kP`xuaP=qtHΒQi͍A G\)Cf!;f8i]TYO-rEU?NVwL4SL>'%P[.mB|O9Db W(;O,1ybzU.c1s@v4: J@b9 ª(J[EbՑjw󿸙DK="IuGAUZZiV3?0)/RxE%enTb芕#AcCse[*W0XYѼ8=̔Bcm2^y0a"_$G[s9,kR'GzuK~:orѷ,<FzjkbS0[]pen&ygy7$lyeƐx%k*u88̜ڠ \~_Po@&Yi'CXSEBZmK?~V*b7u L &9Im Xہ *k'fVI$_MA>5p,r tP@WAoUp'j|^w \)* ::%OwBdW'<~Nu|"!e=(9B;Oܕ F_VFi6Jv.-nT ʸ=EZ6Z]GRiA_lcZ֊] NG#")f~ܬ NaX-:Z#'KJR߀",d#Ȭ+8,uT|M..YJvSڄ0x:6mv7eo.k9 lZkJ[tz~l#d_V iy{(xϤjm!79#ao٤934Rtqq VyVn L[jI5P&Р44iܧp΃VyXBeNi \tB*ޟzUX&Q_'$Rz{q|Eyc?Ė7Z:[bc4 kw>!Xr&5oV ֒J •hn$d9p[vs~LTИB=k@36?6l[>Mvbtׁ5˄@UR$VGtZ?x& ^ ?^Jkij~!.bJ_~uG툗UGYT} jn,fOs1X旧FWydi">k=lvp%|Ut/§ptDڒ$m}(FOy3DvIݴAv Jۜ[/ w nl!2ۮҀB:'svS/ -FKPVGk42T_ N=;@IaiYD/Am_/YǨV(`k~@ > SY#kZ*K ȇQ@IXa PGwTui38*dzEm23m <$ *hwFT%A#+qL%A;me;f>\AsRR|kk4qaCKqM͋sUƄd&$U}Iziael3XѠAXV`/ fSn?B~ C݀F4S1\},ͪ%%&Bі<}AwD#>$g_Bbі8_Y;I2)$yYF簂MU1 P (KN|#E'PT)bZq54 +a8HM&4 u*#"POnWм g_j@O-p+=2zya VOajG N\'t\̥`|0B՚(ũբ36izSQhǎze-,og@F`z}Q2D;A։9smNuǖ\ k8[\<^[wsw0| , ˿J,vx2&/U< WzN m'[kkWīEUli+ǝwe 2YkbUFmIoj)059bTzRi )DT3)ZdQ@ޡmm$X\$9V Mǚb&]/ArN:'.^dɻgaJA- }++ޏ Lݖ\q3D\`4|16GYcr>\A` OK+8K:jkbŻ/}Jq|q)P3nλkr_p/1zJi׌^Zo8IJ]FB>JMW}b،j"u bZ \L7S-dy510v 釗 ԉݔHfY|^kZ5mo1Qց3d܎{Z>⃹&˯x̦7#^cWE p]?Lp$raInkK9ֿi:S"Zzӝ}+VNZ.!gڟ-(2zM?UӅFgifTԼQN"(l# xP:i-j2c ji. V4e䟰?tg{U^ga V(# D?U7@Ic_s&,@wV K\31Oaf{i8ő%9>k I<.6ֆkS MQ ƙ%R4>ʠ/rN9p6 C}YA$`x֕oFϽYXAcYzւUl3[/1GIܖ:X*FPrUEp|/σ4%1,(62hv>RdVNZϟPL3;4 g6$(,P(21;NY"dܴ _^&`nO%|šCgL̯HtY(z|W)'ݞK:/] Trryrj r삫X+3zQo nΗ3m"/JH=Dhpo~Tm5|)1quqqxVr͙*k;">Ⱦ!%Ch =֡Yf~4XݩN=܏\Tčށ֭GGE* L%$]$ #'9i3[zZI/.~;Z#zZ@vGUs0z wpڅ,$%P/HHW=!w$,KW+'+{&抰rhh * /#n5u`@eD|h~Ӻ+ӚЫ 1|^ur*fTw*RI՟ q0)ϚϭCcE%0Z {-G8e ]qUԭC`C&ʰ"0}LN//5 >-z#$A=uE_6NNW*řoXkFXkmχ4C4+s#|='X mu kl\2FC yFו(Eʎ~5>!ޭ*d8DH`C0vA 4 _&EhoO>\  GEMi H #l1᤭0sΒ:|ơXfd [c4k@ˌr|LSm:ReZ~h,s͢P(| +| /`-w4#q`ԤAyH &8vIqr |;B3Κ e] _x.X`nVż(9_QVTwn}~,VXvB4G "$ȸְhEi51i}Ƞ ɣ麯kܦ;>XEֽS#noҬS[,Ӎ)7a$k)cc;tMSm꫉j%9Fw]"aOg/H}8RMbhzӺY!~PpM*9Mm0Mc?_4Dbט2JSkǚ%zxi|pBJaJj}:gyƭbْ͠:OS-b(У\01ylN1=gH*o+Q`eYe %cCM=Vtbi$MtAm#qWӱFGƨzW?y7U\p^p_5z-Kga[ݩbL )`ʙ[/ICؒ{w^W Tb!P>x.-= o ]sqB+yuF#2B~3ZL14^#xtbfGAAj@!‚ؓDcSM e'U^:lxن1ZQlt`֥8R:t ([*+B1F&ÐDò!S$*+˹3.t1}OY$Yx"?Jƨ hq;Nslf=X^@Wsjyc~wUXjvxGO^GʠaY mIVuLqcdKnN+#Lq.RKɗߒ{P1 K_`PD`YP"$"$WH@0{e;r~FЬM ~B2Y&BOH`E) &t@YaVŸJ։F>X+$U;HNJ"H`hG1MeS32cg!W6*Sv]##T5ԣY"2|!z֠G.n\AfBy#mk2d%pT.-q,齞 *4pTK +jrMfBldҢey`nնBZ!GE%F>k*%o]IjWr@jyK58j4Yp}9têl%aF qY`z ,c̝PCχg9OqDDeo+sI~{ 1\ハRt(t_dr-~Ac$"ع=4AU}1joD4l:45θI{kN&L %: "vGQ~]I)Y"/+ D3k |5?TMCPՏ-L檸AO,xc:. V>т;v#ypt4m|j:p~G68Z>ӕyH<8.p}>zWQ{}hCL"4_׈*q"Pn7quTyT9ݺk;Ng}w-Ҁ_uwC1Or傞ѯ0OdzΖC2 ̰Hq#/D+:קGHj CFn٣ۤXڃfRRN C*}Q`g}irss).G`+KYQ+KfeR:ֆYƃ+# kPcbMx=}=!@-pI`gR $, Z8j4IuJ9N,ɯϲ·f*.gaQQJz -+:'J2)Ġp%zUwɩ)e[ JHXo4<2ޛMdY-;w aBrB_UQv˾C>=ec~XSER=dBkgWP 8jJw?v)a^vLz1DaZNi21 f_IDIJ1Ϭvt$'zo\wP0`HR nYbwb>:FG|Bd B3Ѳ7KE.bo";?{QU lo5<eA3+98g& >Z!ÝA@Z26o_ɒM >tgDۯc_ԡ>XQJEa T_3 fy\qN2u_iV4j4RzbO9_=_E;7\,GJ*SvQvti91Wfj:kh )m,^IbSSGd,Kʇ^I ۇALn"|Jʁ?i3;!{kݥHK^vwuo+yP\]/Ό>"&b QK=|x^F G7,[F  zY;,ZAɷ_g:\]lEə)㠭Boc8:s?f)Zk!70_&uD:{"uwX]Ct}R3ZqXGSrz˖>]赆o[ JbfhQ(nCz^g`v%F&{ְzdOW`:VAIN$u9Hw͵&^5ǵԂzrr2Ⱥm+n`Ez+>2Y*-kj֓mIKkep]QfUF9݂Fp|pcry7[| ZO7mn쩴sDkFgdD)X/.eʴRWqy¸>7 ZQKW3.Ie'Ҋsa50!1_zLsV)jN:_U`:K17즣crU؞唷;xyt*FYڼ8Y^߯94 a(ʂ BwD4ߛ _1i[4dfhYw槦H۬ވ"jKT`m3dɪ(&koz+ T UZ:P,:O"uԙitbԹ蝎~'Aa06H&F`κ)_o3 H/^M;?*Hu>} ü회Qpն_ycVc %B3PA'fIb<6@1AU5ImWYUmz@d7aB F.Vb .[:靕cA<‰łc;-7 ,5aY`C\]h+E:꣬y.}Rcc&B섕PF7Dbvtl0V|k3 `ͪH?TdP @}mv[IUGZ8{vq,$Z7RW?*DCOKV=djP1(>a2=:=o(R2>;tn܈"d)3G-+jZW.Z ϩx[3&'NG+oGx*>ɩڰ~ !QˤiN$/=%Nne!)V=J]Bj9nmsUZm4~VsPkR_(&p5}`76aD-V#a^ GZU;k@*BFƐG4haH chTbE5[*-) 4|pU^ua<9!nBa@P%G5k{ ˅5ת.+fX=(فj)v-O]ë'4# ޕcw3¸PoΣ72K[{-fr.PddUGr,O?'ChYFڵl\&X!ܯ64"?6?Wu阫ԃIw22/ȸmwvh@J{<1~KE vhC~rR 0PDhLYRV6Mgq8kfe pi3E$6f}yJ$tQV&Y%Xtjt]\5m.{sPs-5I{! v!ydz(||83> (NJtU0߷xB6EK;`TwGK2-sʡ~Y7( boJ4xJ-QB̒UAsh^"vPtFc I*4FiBY@!VJ>Oj+y+eIB* \#l⡝cuUFG"NaP[%߾+2=iγ(4 Y]?Z0f?wNQz |m57`Qd7%{͓8c ^n9b^ilG I q**X'UEnCYިvb@)G ;BGֈ9q%Z7 SEbg,FƘTMy6vP- 鐗1Ky#(FhxYkqWgahd`v-CH<:љM0&^{QG)9c"a3fG7 t[n@k|72H3ވ Or*QtmpM}eƚnbpF|+(XO""+Kh~ʾwO'.|ߨX(AP9f-R `) 4VN >\9n:[L8X 3"ʁ"o'U4Fv{_aWX.j6!%hpʀ0SFDm⽅vY]d6+%eF- lod,H%X?Hجt`:S ) 1 z(ֺLP2I< O6*aiO%ŝ)XH!\ֽpx\!>IZ@Σ:Y$d^]RK-AS˼Iayky0apg2NL*vcUwJ}Vb>'wMqSEveVԻ20eFDV9In)Qvf'7[ 6#mJhA.o\9Jim}%ѱ [3_94끕.&^u [ɐ{ uŪ+V3m%4VY)N1bЖf(_0 zfS& \yӁ΁,m(:HتV3YF+GCM:6\؊P?s|0 ddeV<C@y aƟ,EJ2..h4]m{أد9sVJA^>zDEMz;}[ɝ#APr@fw%^s&!kNL$΃Լ(*B׎IΣԵko`NnpM` $M 12^N[ 8GG&N ψvuqy~މ-iwD% xJenD Oebf60_cț7%#Ǽe@ڕbVN3N,+_%Ar8BKBea܄:ܾ3c8HA6͹r>3m{ܽrKqE*̲J>t4&|nnJd-E)$>QUIyM@F9Gz,xJF]?KAН_ǐdo L.K2.(:9 wxpˁiܭY7Xjz4MΖE/1 `FEvk-'su¦:M/p'?%؇} fKK楒'. 3rNCdWZ" n_0q>CA5uGU(A)w y꛱엚h?/(k!鴴٪xr M٨RJ@JG>ZfZ D\(V/@׳X=e \Wy4uoeH\SRŶ=VOX[rӬg3p Q8 ^2uNAw !XօI0i4u D\CrnkU0"J4i"\Ubg~i:,qd(9W (0YGWG"8S፩[}ïVz`bhgX$CqO$= GG߶>!~u{5 [S3Dht{d&"kLqT'(msXHEf=Ǽr O5~׎Q9( Zdt%O5%vS%Ѣ8F `0qy h:72轻ϴZh# bqӇZ)xaZ wvå}˷+FIc,IWjJGg))dMb854^2Q ګdO96یEjRLfEWۗ^Nh..s)eeWhiÏe4pdjȪIƗ,cj:Jwu\^"X>EBFir#c[Լ)PqlOQZLxV6:@UB?ZVBT%C]t Sd.zOĞt@QǗVwRzqw/z3нvIy ؏䞝goSc"_(GQ)ER~Pc8۪{yl+}Y^H(Ѽ(~pLFh]'e4|_/ZD&-.A CJds TOܓeBo(L&d=5O,Ƿo)xJG5z?_5$-VC 0o{qe_W*OkAr]l`ꙉŹ8KKaiz76e+4y ({RŔ\Pʼ\O”S6DPQo}$!X-[g!D\OFv4L(7@IA,Fi$DS닊}79FV#bwFI5__FԐSЖ¶?}?+Ȝ_&!<4xb =F;C'Us'! 21йmcX}ER~38S\m_*cĽ,}L-Hkf] Vz8N-@&3G@}lU; y uߎg>{ո2{OTs؃qu +4vizZXI0y=D,fR( ymZOYhI0 SMxXGaɆ.Қwj=ELy}`=faUU/&܄jnNpu[ m>Be=TJ|,a7hC ߩy3>Z[5/;;st"1Rҭ +|Q-LDĩ=׀b}X'_e iе3pD@mrkp87M[4ъURz%oɂ;KP64 lVB#Qһ12Y+;_ m A*d)'%X%F'd>W<:V3q:hg1mz ᏂE܏|¯ϳMn-g-hOvanp>]WyStS97[e> ̈́N ^q9<1ؠMP܊r C$->ۉӹro@].paz{ RrT6"C10YG5=eo[Mǹb8ǹ|qᚶ!!iF^wI^,bj4q @2Uuf(}4_RV34} n= [dRW<ڸH; j/ yߍjIobl C_Cr>iP ~(M,#gxN 䇎KON܎p0;pK$wW?m l{6 DůpcU9C&툰U>̹#7rUȱES\3OD^6F~L+t"~=E"8#gm% }UyBe,OW'䡰׎zɛdKmA!C? |baBőGC*!Y9_jC)Hr;k@ Uц#C]<='{KF}"=ƓHB(E+ZI4P,.kcmysNyut ӹ|e5_/#.jލ0#kt3Bq[c3!R>*4jMDAypp*ҌNPz_uATv:"tnah/4$+0aKAt_Ff Xw>HEY H۩ (o&ö;e0*ftJ尰2a% qT+P'VdRT "Z'{gKkXY~ U]w(;StnJ6|&9emߡq3{4oMyɪkc]_*D5Ӭ qRP jVKV9(Lͅ[Wi 2oMщ*Wrޅ痪pUS)얔A{=AG,~Lq ϴh1h(i H!7eUfmMqʯi#5,gLze~:.>j;!έ_zgFOc[  @C-&Plkmo=(9 gO=Y۬|auĉ|nt&d^{/#T4~H*=s<[ q$Yod.U0☡JoIc5UDOtmI h\S4[~sV+3ފ54.Er*?z2 3FD& fdGf iwn{/z `,LgQƧUO9!RSg Fˣxw+U~aYn'ު3 ~m,ԝ LiU6}FPEz6!w1Aᯊ8нJFi@61m=wo-sNc3 !cGL UЯ>_|7օrU'\9H/tjH~3m0̗a| ܤPar3㤵BUrn2F-S͝ov? t6n@.&D_TPIiC+6K錼 ?3ء`~Jm|r{ i̭ vGNyJ' %rStIƉ~&|2KGți{<įFPn3Ŗ*78݉h" #'h16p٭h= ѼKte5bi@[[sui)YΘﮘ!nY$"ijG(u 6K;caT(ģ/ 1)$&39@DlŖ|L4k"TsImD$} ˖]V  2 ȭlB'9s:OxAF0H$7Bua+1C x⵩6NO"RqTwRYgH}-C',u-M1c! $j}K}_nѻhȔ ZT8s9fOipvύCpɟy$d/yi8:}AlߊhFnSEPöެ1\J5@=01w|nyZS)K;AZ_@h FAmkD`Y#P8AsñRbwY3abGԏ3^ЄS@Ue>/smtA #! .27{~Ժ$Zc#,\K ĹQ@'cp>*ci6"ܺ|_<`:j]"ބ-Q9{Dgf@8p9LME{Y\?$CJK^׺2ooф^#5{S4 (Bk U:Yńiľ0mNi}햤A<%Jv j(& vJRes\^k ͆%EjQÖK (Kl]Ӆ8%F ӃP|VT${v֋OLleN^lS_Mgȏ#y3;#xt$TpI8RlʟX.2})5G|s='?70q -8wjb{p;Ir 1zWoϷ/Y<>,~:F4\ [O5:ъ̤gOG% \{Qu,hԕ <-ҍ| ~m_ ȪEZ#%'L $iKWht-fOĮMp̐%\ڕAvJ`-.j0uwYT'S : `d&V`+S ๵ݲ ގ#= 7$4*3"In5i-Q.3$N*&qJot$,"6fhVANW٠Ay/% sewg|hhs(' 8ˁDOj>qnq 'ْzؚ4u؟`ԔT]X(bM$ c܍}bnܙGgSWU)) ! Ҥ}U/zѱ`C. ZՏŽMtjV{7EQT X*[H0Q0dTLAD3dܼ[M zIJKՌ46}lv99(ܓ~ qcң ky䏍R@9du e_1X' J_&Y.\Wlq!?xRGӠI)DbV^ZUΎ@; RAQggL)Q܏,8D%P^y6徢/0LKxOOM,@f=+(~Lq7l(Ö(6Q=fPK>2c!?Ҏ"p_+tiZPёc$ bz4 lc 6k  '씜ɣcs]B%A8liX[K+uݬ۹*ARdOY+p_ے[,c?EKlR%wec)zq]&s\T"B#w0-Q2`@5qE V30͔Ъ2o"Y\q(}PD?X _C<Q&vpKt0 oWwwZbyn7$|_#xϫqh$#킜˷gzym_eU |K慮u{WYpq,=y \ riv"jl#ؐLj#~۠8k;z ƱOLd mHH^e %tCH`Lb~”;Ϙg=٥-\ۚiyNQH靡>G K,t_]Zv–@a7zߋSK!lf#:=v,,rq,# b;#[>z|-5u Th|Xz^< qAxfNd'G0V:_uZM&sSVO0&N ȝC1 ~T˜ 0h IK{ M uZ6)=mC켓C$3q٦n6J=6 kC[$<<#0=DQ Ua4 _(">_qWbsUD..}tiHzľ Ƥ#T̎{]{ļYal8@b =NK`CC#B@~QdzGE^ k߿AqZ$.00 5d@8e@C5X45<ϱpD4,G->M?WuDs {eG- 8fۚƐ!jMrņڵ6!G@|gGndH`"U;R-~C;f9cU}l[ώ围~_WM4Q$pbu&E:B[/{xy4 qW>V l˕;TwQV ^e*1:3<y]=[AAtaU?qe@N> 7`̩8|Ղx!nd Umx"`vb1J}e 8OxڼĠ8_-^Cֽ9.7[hlkaݹگ_3gTip73oK1?LK;!j䏺ʗtSBЪ|)Mr?\ 4˼TnmĹYJ㿘BZvҽ[h91Gvbxofgx{֗Wp͒_A*ǩqQsX. Mi3=Kdɠm"wrS)J|NX(drT/9(7x?j:R;B7 +quHs|+CR-Fp뮀vZ;[Oaj 1d, H<%wnk]Dc$ɥmL3E#YÙR+/[xˎGP ܢm8$,n36&ukXŜf!os߽r}aW'5R^v?y|u6S fuKB)D:bg+{ C>V U!Vѧ\# _L(Q/Qeqt׬$a]X΁6@5}(ˣ6 CC>(Y"R\Ev6~dpc*\i Ҩ1hDWJcYz7}A ̼V%:H K8BU9$xӅ \k> f4Ԉ?+ѭ$~4 ̚6Õsڞf\Jڸ3i:}g[[tđZKY3HN}OEGm6C_[; }= p>?䫬`FW}Z=r= (Fr`Mhyy34+g ~ ߒgJBrPZ$t/<(vJA]JUљe?1j)t>4ЉƩ9~Dwi)K l75d:*N5So{)'b}t~)m6 *t&`*xw`05a\я:(6'si2gH/RAa{%j4Hl.(bq83k BJ{A?!قٷV^nǴ }( ܆q7쏓6a$Q=٨*Pb#0i#$䙇{>(k?y̪[/C5l~uxZ8<صy Er녗$揬-߸DfuOSEiE0"(LHhW}[M% =@FL\8SbbFWlWpCkѵ8QeNĒanA52K=Q60)|Mux<grAcgzE_kwV'ěVR9R>Sε5$T|B#d1 E?-^!)} W[ !&zf}?!|ɢZgVɡC6/;r2=s*]ݬ;DWq TE*JڬN~`ly"(Sm0zax{G '{AB!Y4?8׀WqHy.JF^M$g~{_Y2+[#àJ.bZ qե=mKy??^s4ey.2 \gfʽ'`QQh33*pWtO?Xcx+>#4') whK$jQKNɯ)um/^moHG\`4*2p"'\9oнYf-aBGL2f !hK@H?CD}c}Ye+0Gs^‹.?lNpZ}:SbCHK@d^<.lw:oʼH==򷄁tY|> s1#ӻ6r-vĚcR8]k} M.'q1B}}AP#i;l)Y3=߰85]^j lx1}c8y2̇pY ~'%o\u7f`CYtP+Dy'C6#eD7d4ɟxޔ,Z{щL^r4=z\.`qCH0ƲnvAKeHBդOec3osJmE=J-[ѰFX%w<~|51U[G) 7=(PRnYP*MO-P!7l6]΃0-7my.i5Zwq]il1F]"!JW) ";d N7%%z#C j{T?kk_SVx>ԁT"`wa V2Э‰ NGHGbq~@ˆGVXm$ΏQnPa1+ U]ɛ :o Xx- p|鞖9 ZP;#=^5R6Xu>䡡SsO'߼ ߫B*pFJk**Kf S~9 V?r4q~6h [Y>57eVҀSB+O8r+_Y"n!E|ku?=Qm [ʘ@r1!-kru$am ),1y2FIQk>)D㵦%ğz]J^4="MK2bky~FtD)gUh Y-m"ų~0S#b򥲖ӱ-uZXi~6ܓՊfbKu(\c [cwqd!&>O]9nsdAJ IJ'7ީ/Jt= io%buqg;7XWgz3䢭;}NvWfz\Xhໆ{O3 hK&$G:s rVQbc8%U.g9F= '|[\cVpgI]uqZnhmȱ FLB Fnlm@8ȧ8\=KvNȒӈJh%u7(&Y'ry'b!+473iԒoBнjһ3zVW`HuoƼY S4+TB)K)'wEZA\M+NiC0y|+b/h#ВQaC9Ol(@yd/Zom@9_҂CǼK0CsxU*n~N)9Gé7z &^:C,"` G=]5sq-D?Ƚ붋-7Ig ǠǯBK"5@Żz&#{t?~sI=6c zzsKҴ qi}47xzݶ | 6%=di0c1}03Dn4 f\'g ?eXАBy`54NOJ kI8FХ4Jo6O0d˅χI! u-: {— R! %p+j=ZT.=q&\OH &KddV(v\RLڀ}[q%AK3]g{=Sw -~~g3mπM[oi \>/D3Ĉ-"&Dbא0Al&˶W陃&ֺ4 ލq7&n#x,U]2f CЖ`/j@D!޸<~\%a;_e5 "HȰoBE#}3p"4#Un# Sq0eƲ۠jo%6[6CW!XFǣ6$2Dmv pS:eѯ*/b$Ͷ&TaR=?ɮ< u:7Ov2E K"{2M`]3иIa)*XBx`}u G bcgYWK; E*CaUФ[?sG}}# kӾ\2y=֨>8w6Ym @s56"R*S8e>6k?PY_C#߻\aGL[J'c7gZ1(Rs(UDUl;fK&:l)b$}~vΘ]ox1Y Ǖ2iP!)rGĈ?EJ\jmee_9maDϔހ3~Y6,r6 jٮQ=!R+c:ď )(|Fm)bƑc̢djG`=."=8u Q7џXY\ Q䀂ht:E$ɏdS;\ YlG 5 Ty0a1ň:oK{rޠb߃kRL=fZbnS[:鳐?˕{Ԁbv@jIJL]}ːR7o\ht`~_OCG3bCثK DkmP6?3x;tÓwۭt2XrIiX6_']<^Gu9Ĵ@e`  S)TC8}f<4IJ6c^1xWL3hQeAZ|bT za֝i);׽kaX8YF' 禱4Gu0s4vWQpbH8a$ӊ%Ta7ܷvm>TBCt)PEL-y>4R{ZH=AGR(F8!5Dc8ֲ/-ݾuf+d2;vjblq'UwwڇэXo7k$<`Md {[qEUcuϛXQH]wP3g M)JdKjhhd̮ŗgMP,IoUg,v]hagl_Ou?cjFxaSor+h(<[B$};blߒeͪ"Tv&*3&²RF9ԣSb3C@ga秬A`3oZHQIҸg(B y'}1CE3Ņ7y]21_^^N~Bτ7QXhT z P=sΆ/E'b \+X׃Du T8zwWdb}EC^Pi-տlhPu,RE"q ɯ̔f nв& A1: 旈7``TPaڐAN;N_BñhȘw,I`Fӡ[\;MAx>N/ugP-pR`9HXt 7|wcq M̓d =Xzr.C+f}]qasކհy _2,Ș/fFtv76{03*WgnJ[B^(b|X^|_2yoS}ǃӏA|dxG$O7H+JpC,I$f/tڢP&CSj 1~J)NϻNTX'W2Scɀ+EO}hk W#TU͞3=)KqǺ(/qQ- uƺMtob}op0Ji~RG7V&U+]qFlcғ" ԯmd>3_輂 .*֓Se3iQ|5ٮ}ަՆMÒ#ȕua15CRM fc $SG@,`fVHv@W'P=l dnÕyS8^o ÀkކvRo6O؏\2w[Ea2fR30]Zk)  YPJJS0 v*ۘP[@@ulxNs]*1p[[;J,kW6f9djf7 ܜ_}8Hѫ;߱Rd[]sRAڧ9XN0N]vW.l8QQ(7c&X] }1L@2"V(Tأr-)F`>׆%1S._U'~ՁFϥޤ1_zTH[Ow;S46ˉ͌4sG5?掺-;zQmdIߝ!D`ɴ9@op6[lƿj-mcIbNwࣂv3=is:x<8  4HFe-OT'0/΀} Ev G ُKe!i.آ 8a=|PJI/.]]5icPЬ>:R,֪=K#HX1!' @É7Kk Rp2 J#ΌfKɬafZsH'#'iӶ Xy n~/5B"Tɑ|eºGLaLDBmQ#Rv1L0%.dZx;;ҌKkZZeKvA.s =aT&~eF\É͢%g]Esy UuPYVb>uplǖ~ɚ:7Smู8`zgm }ixQFa FU{QZc]PNXm(1)Hxb{q DdxlA /Ri]&!n^4HIbrE\e |@8_B $'vXMOLNTD D[JDXD ;&$#L;fs22,pe `,)iDhֈ."Py`A uJNrK5Pj'/wSϢgA) gGuG=&J_ 5{vr DŽ1b}OEegAG±&=^8hqwSфr8wM)br 'W@F/+ltZ ܎8]}ߓVbH[hS'֗ҰZLLdM\8ĵ,gq)`(Ehs70,gXN~zLH+QV%׼cڅYB,u*EF[LϖOXeஔ.Aڊ wV/B HֱGҷ s `'JjRB 5^mpoi\E^s^oy5 $-hǾmvf;@Rb/M7(.cE)[4~B wF]$5^\CXןJrv m,?g Gk@/@q7SeDoXbA3D'=a)MhnT/hasZ?ߕVvkӃ}z*~Gɮ@.SKB%ED -#\ݢnQ}L;uvg.M%H k9(-|Ttt* U =2c<[ŻP=Zco'U˹^ylR1C%=P,.& rEk)2sWu \1<2N 5Q;=mB,"5_2h{/6}`.81I^şVrj\"3\ALw"Iݐw>~):l=qK}9\4Q]PR㲐FvRL)tBg.Nf^=k55@&25L0\5!6j.;F3yg?l('-f$P)f-ĵN_rܖ }">5 UspUAvjŃ[>uxi(MY øMe*F GwO3M*0<%j16b0*M@Q:<׽ON =S)EcBy1E=,z f8n_ `ǜ> 9/19(>&d.8Z|56ȇpG.8{2";\pm$O`3xF>A{Sćbym8៊9q"Sܿ| Pr ""A@ov% cرc۶m۶ݱm۶¹5uYUMi+JŰ=o[~;t~:o^vqdH Ë/=in`@kdlְ;!9闗Rx1!FRBb+i=(ՎVtNI7{`̟1L ̑&5KKUey knB4y6[0νX~̐?1Gfe,y;&gwCFJrICJ!]+q(GYCi`IdcTa~?R2U'Oz5dT!o|w`2\ }0;A_yռ?ɺHo0(PeK#KJgfqFPN(M ޺aUЀe:չZ-fF(>/r FK$9+nai*€ A(|{MH-1 peiK)odo=BG Fulg~87$sþ3qLU1Go(Qskӽzzl2j)ӆ!2`zmAk,fbںz/tbvE > SfÌ[o<QU/c+M.Kk*n48zw8l=iouQ<_ Mt ;))p½O{FǸv08o^|l@^~qsoA̾$h3:hA+p|%&V9dj31r&n!\';79G("ժ-Y8eF̀uXCR}PͻqC8榔HkRUTק&L2I+cqyֽg(Fi8e%WC{VmE)]M:Ic _0wTċ~ќ#3ɑזv WZI{FhC7, )dG1ECʰZs!i QƋy2}uR!bfD*k#wXѹXrUia8Q-8'>%NJ}âq6BĮ?6 'N̬3[y<<)Ȑ//a}gWڑĨ|Uv6ۺF,r~u8.o}{D>Uґi42U5dTBX_ƅ׷ikEGX -Zo~kO\}.A ctfNѮ9@ا*$$je&FVWOH["v4s+1(5feshćły$;գg~0A.Ǜ:t=1 7`;2UDM6І:C?PG'+[!}r=Vmp{xXhS47\pC2$XN= PvB@ zf_R?:QG(_ɠVTHlJ8Q}*,_cBB#]*d 7?;+f#pa=D8H Ixw2:#hBMl M3Tj Uax{rBƮ ^E|Vأ=&3k*ѶJKbV:^-'T*@!/ û$Ԍy=콍:tZVf[_ȉuúLqN^N:?r|T{F8##eN!7 ^~{$QEZ8YBg B_K:)鰹-q*u(dNGFb2nh<4ޑaNΥi'y|ޅ/ݾAKom&OlglEUDB2#ڮ<ȓ`ykq5‡N*v>\)Vmy翮2_y<'1x\h35wAB/R)~ޭw)o8aq@sv[7x f.8X\a3ll;eXɸl.~|yh?c˗%"M]"]d迅%R1Pܐ {̊P 5ٶ-RO=J!ʑa]z/iH(%eM< 9ս#2UKÉEZDp S9fDA hE>SKUl\no_-zs0o?Z03I*ʍ _cTJuϩ5RsU^25 'bfFdzE>7' .P43;ddSW!|䳝a uVLsn+mL%ܑ Ln$RxܗvSVG]Ü+.sHyArc]x)hX}Ϊtڹݱ"ӽGsht'Z\nR—2AUߌ2VF:aѕ7'0bӴeP)/7q7sLߦ|zw' IP~{4^Cujm!&C4;X/$r LE @&VҰTƫZil1꼠TIY{^Uֶ1+'$5pL(En>?B0gZJ5CMX<6**.Lnj :j= 1e@On]/{WNnyABp蟲4udk > kf7mT ])p ܵuuF3q7iH7B^0! |tsȎQ _mc'O ?{NrWWp@8ə Ks8hکA$ 5ͭD&9n XɛdP$b#dHV28[OÏ0AbhUq|Iun1"1Rn~ ȼH9X /_ނwc`0A9-$'7J%M-n7U! _fpkցIpj Xߦfy-nR+@vޠjGқFXJxmd%dwP~ZL8Ӗ+ٓClѳͲjXrݙҭ2tSJlY䲪'>dNJV|$ w1O寳ؐT 1ؚO#01" q/Y0΀-4t.xaĥŕlkU)n…Ks܈H12EI_,\,0HW>͹P\}ᶆ| lOD>683Ƞ+C:3&exW3Z|ju񳱹\L JBja/%? #sԽ{1r?:"rb'9QqyNR1X+dskkcvvt!vTN1%:VB"j*ˮU` "?kOoBBr (.JCƀA?[7e]B˰_>;"ťTz۴FOw։m-{T"YI00RQ\ֻTo*8\f.N0}:Sq eIDg0}Op4 1/i(ECQ: ANb|110y0;U"'?Zo ,q :߿ܵضg^زZݰ' y%y2Md%_?H2'_d?7*-&̭Kǟ_I)JoA[`Z쐜js|^ltw^5 L6< SkH3|+˛_at*dCƊ)|bå &&FLI-0,_j<պui\yS7 ҵ2jV [ꍎEF7Zt#IԼ4KN!ePKdsGƵN0@ΑD):-UZCe/g4ugJ_P/ *5 :62ѕl,TZ{)6byLțfL*6ӥ='͖.Owx o/%iLd+Qd.H0=-LcDdL? Tq0|p8o4;9 3;@M+7- _l\5nzLJF"nk}T? ʞp,VU1zcѣR53\WKHq[_Y=p<>NB[+;Xw8$￯vrz3ғ< &JMw&޻%5Ͻ&(x6Ut9l7^䏻KU:aBPPDʘm0k|tS`l.BA /lVA AIYyg^hΝb;DxiR} k ]zZc99m^ϲe7}]CbrÉ^ê~k1KbmrW]Qܩ 675b8^(OOn KYy'.MMS"g8aY=DA~ */O2Mw6݆;0A?16yqCN\@1`RzC;RM\mGZ%g SۗrZƝ\ΫNh×؟hEx޿ Tu{Hy=0U wQ*nt]4%Ғa65=B.NDBvX j;4I?IW$^]O6D#, 9 ?cX?PIXGM:S"}AIW=WyUڵ˽$Oo_CWJeŰDKOcForfƒtߖ|aϘ$g'F#S1[vEF:Մ>YbmI'(ȯ=[]{5h\洈sƐ;iem.tnyG`jEOMV죛0p^PA񏕱W&bp?{&ݷq\<i[a0FN_L/xԶ!NQ?irRV}&WZvwVœ騾~ Cuҭ\7{1zݔšk<0m+"l?4\ZyɯK}(kQ5fTH︽y5yR! =G끏Ew9Um8|qnJ@mQYsƜ~ZtJnXv<}k*z:#UA6bj= q?"k s9lO3i4Bt?TDv4?1^Xm󡩽<$Lrn\uf: gH<3]ߋ5R6Dj)}eoxrBeR!#X[4(2.Y| viA~_לo!Q>n쟮o h%HVoQY+&~\eR!Hjt.gwkؔ᧪!-/pIC.IzRN0t_]8 p #Pe!doҏAVWyn~N#u0 J&nXG5 J`6M{;6 KK+M5v^պWܞ1)Wq'dl'3brwN^U:4UAS|zGFUuz݊* QؗRb.psE!6J]Ŵd`i~Bk3ŰF1Qy*lFiB11tFu677?&y*~_w9Gyq^BzPRΨ1D:p@K^~V2M]=7aP4ɣ Xh54Bj`ByhEK)DB/GngP..;f@%c  4ͻkI,”kiyO9cnAH">_2{9Bpdd8k ή܅Sc9AWe k=ZYmCj2R֛f}ϝAN-m y#=ɪ1HֈϢJ것8PWtZi05VHc+9`kP!$wO؍?n)[k! V]6pEQnbi~/wiӄ+wO;n/B=Vݽ =JrID0W/IB].&lT;,gѻՐf87&L'xMf?&U3J^b?Zi-awVyNѠhԗ—4f5Sg 4;72g_5PNq_!{[P=.$"WlP5 #g(Y<"O!B D8-kEF2%K5s694FJ [AkG7Z"W}օ: gi"yܩ#* A~A,k V`ry#1ɸ[=(Pj3J%GT6Z -dV8v YV> ~r)#R*Fec5jRUf,^`Ո>bO)ץt3O.$>F]]eY6j#{iTFu:jZv&:3RM<Իx1cFnȹSʰN}Tyֶ#ݎ.fK 9hO,5K-a6 |8QPRjd㲮p-N˜\hG{mKNE'NU Bܥ9Yct/OJx8oe) MoBj 0ŚLi0I0fl3P ?ͬI<'vkDKY k 3i:Weѫ_܈;8fts]*dD2.;5LFhrbp#*7gR(8bB1*ͧRq^ )~X85YDx^gbf% *>Q+2 0!LD=5 V/:q] /A*)rw1z ϣlN# T~SLVqO3qW=1I% wi *;ƦA(V|sM^P#w+Yc`䩀Zѣ!:x$k׋%}T|PQrם؊&Z/f(Lg"Lo_^ _D)k{ 2ce>K1!L_~w8`.9RyMpoxts܇Mh(*I,Y#j@O=[;e' d8A`T 2Ja+V-C>>_-Y%wrL2<u~fr1(V?,ՒQHr#x$2Y_+^\]$:#f&)<"Htd{:\ \;rkVEc{]|BEoeG-O &˱;fқǟϺqs}FAk[ %%^zj63hr9]!w 3,l݄W?@UV:ܪ#+* 'y9e6(֮uB+LJ'l-u E*_Dxo7qWrL쏣$Bո -IVb,t[*oŢ rJzyZ^wJ4e"ՌG/m?J? '­R"?Sx틞*T7V=RfU\t/D@/GVWEglT o1'̸ ~p:$ Z[>R""yP*>Q:;6cSJ.\-S?l_|r^M}%vB!ZhgFӅ<;h $^tU | jj_8F۞f!wQ#$v% )f62k?"qsGE].O]jFc$]9Cҋ#0tcw˜Ɂ?{ KO&d휋ٲ`+5X0HGPA7?5o-H*U]p[% ϟOȧQ 3&{g r0x";Cը}jkfrj;,㌌~>XD\̳݉=O HVaz:U!|K=kZ]/Y릳SJW] S;AREH(5b LNW1U ]?!9 #mZW#A|aѸ7lf^.2=DRS$ :-foT|^ў=O|@8 y(øwvS4]_; l`nlS, &T*#Zְ$MAyZO+ZvhE3q>ʓ9%Mo,,Ƽ1ޭl1 ؞$R J.}kT Ru'JQj!Ng 53J8`\`0Ĝ$UpzE%Nw`4XE4pE:LG9q חJՁ 2DNգ 7J [yտjÅer+ #5f Z5R, ,z3-^V7)Ywc:zҜUD1WC|Փ<5aE~qW?i/mFu:nAl]̅SX9y=ʽ&Oi/"kR_&M(%zD#D]F㯸?70ԟĄTICy"(h3HLêl"rbwѼ=OW<5`N&mvq;JBPG!"1s JNzN~+2QstU],lr[:qP{e&;S - ?Xի[;*mY忩fzF~h&+ߛۑ /X6H8x("CXb` 5eF> endobj 13 0 obj <> stream x]n8ཟBvQXO HYi@#WGt>R4uwϷ?oytnW/^}cZNy:Շo|v/yUjNi%]O| _sՖ㆔_cs^mzWmasM]ǧôڶcsS1疹EYY٘ w#rbNsmܳGn@?@?@?@?~_~_~_~_~_~_~_~_W~_W~_W~_W~_W~_W~_W~_W~_ᷚs~7~7~7~R~7~7~7~9w~w~w~w~w~w~w~tF8#Hg3ٶ l+ڲr Y,h6;сDt8. Pi|Fv +KdDTguNm-^F ̸>-AāNą,ua`ʼnALt&8eM<#art˄F{ǁN tޮLvqpvvΙK2=n=azf1OOg$@;<) bwW<}ynS~y.XG) 3,ud@ژ4͛rPvc1Kzp endstream endobj 14 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <> stream x]n E|t&i$R^Cu.R 0v[ ̐Kmt޼ i<%zmϩ2,rdLc6- DWGe[x ٫Wĸ;@)Ku{dZ*u'Mh1[V/L`EU㋥%q;xOj55k'|Py|bMj7g T޽+ijm_uɅu'\ endstream endobj 17 0 obj <> endobj 18 0 obj <> stream xst$o5v:m۶ӱmNlN&L4I&mߣ[VW]{k9vU7)Phmof hg rQP[ G tqvt:1_@o;@`qrXх`h G!bmi S 3q@;G'{@/lggmvr4$=b4Q_p)H$],1 3+͉/ejtcI!`.hO7pplvޛvHݝ4݁2Uf tp020?Tvl`0s[[|]M<7wI `nm0ZZ;K/ ϵ@>sfƛ;:y\_C-*e`b01sXy<\<ۀ@MAI8X8A:_<3L m 7*H}fY{`%ҿ:t;N_?]&vU- `q3;ݿ0kWIk/ sP&խlN%@oM\6swq{{maG hg"">&bf'2.A1el$ ]֕BKR#]Ax{0hA.]%QN}]'WG_e@k)Ff0@^!sAds֥3:쌬- gR{zXJB6.-7YRHr|!f!Uk!_>Ar|'Y 8-ȆEN+H=k8'tlx4R:](}!&Jf*5҈0cxa D|1KewQOL܈ 01)zcpW1EaQc:9_XBK;XUߑՓw b9C'Xu-`ܲ"2|VRGL YTNڦ5|edE:ՔqKPHU\. ]?V˟֓,Ph#}$OٱrjW9>'̜ߍ&I^`KF _(4S/8$E7>I>n.'[Ex_GQg 4݃#P7`2'L&)iox-$-˼Ү#\Q x k[LڔW[('joaeӊfHu7H9&bV 5KZ0+f-Uq lӾ.hչiն\Nvyr(5luLWݲ|lACRqGHa/TL"#/L aQZpbXK@\ʁ /4U!M4)q:\hZ] x2%$nǵ UQClcR5M: o`0m3%>;00αsPTt:e^. ~`}:n943Fn[8X3w7Ք450ƀ1LȆ*m|X*"~ik'WRQ *ݙ>bCULX̻M'cWfbݽr8@W@Mh'e<a37VKhYS z|p щnh\2K_ D޹28<f =滖302VDgfEJn* Tk?~ k_2oXiJ7toZ&cj5qy.jM>segpYkYT|0\h a:l1u?= ^BY@1"(YXF3d5!  muVuf46j򋬪R JJkAN:G(QA,u~*Uh嵝~d{v b3P1D >TINtZGڡ$(ɸ8yBa/J D1Ts>L+@]0WwԆNfۢ|gf^0Olqj.Hf Pfe6^-uVL<=NـbR^ ~D/oZ-C}Jg'eÖ☖{!ND9ԘI9x7B4i/st\!iî\GrVJq$෴aӧV;Ei1gI"pw~hz<{㥮W,bRJu1H{HkSx*"~|##Y)HQ HQX'`;(/N/ؐm%Ϭ"}+krGJcx{ /me/[ҭ@ SY'g_d$'x򼫝`VB._Fd%LA58k&^)_LGw%A;;d"m }|dA wPMԌb-VͻD1=W%Yl y) ؾ?+X )EW[Uz33bBuzY^M<)HP3^1Hυ;, r˴TS!7q}&'=~‘ {M}}b67 e{9#-0."bqx*-!0w xvd֯_#&\2H&xPCv3 C 2~ y6d2U Xzc&WnaN.XD-/q+; N2M㑟k=#8?9mg]iBJ5;Dɗ]:SN t=#!&ce{C&xj slNnTr ݸ~6kMII ,^iQ3>EQ(9fg>Pw^jсhDxeC˽*w+Wq/Fw0G8$wDSmCC <[8ֶXGg@E)bq=#*>Yؐh;A3W[X*,XR n:ؙ{< Tj>[S?9&8_rJXudDo&\F&a_ k/NC$% Q\97U2YP̋L87 %Ĭ3u 7Ҿ)?xꔐ܉i]F2Lmlf0q ~5dʬN1ɥu@ViԮ(cix 78*5ꔄҎW@ao%&7^@i֍\leЗZ 9Q@\m(`h|q,jA8ł{'>Yhs;Ѽ"-(>E2>&ZOK?iEG/d'v״^ȁm>(fO;q>tQU *IqsBwufS߾Mfy>2#gAk}=|g:Ư~C/'rw,kFAv3qɲȩyHu 1=lIHBfS-οQ\a͇@bk/ vpnguplqQy]= aϜ¿, um.ߖ:T,ceο" "T h[J άV[ Qh(Tv{AZk# F,6^#XNk:z=MiE.">crk]r`'ۨu.1fewnGm#%VxBm"1h6|kMG e4CR7XGGpdY$TXATfvWq3{pɺ1:z6/i-'Hn8{&`s"V\yH'"=&ˌ̖<l V#x'\٬E Hθd ̛֜o# NÙ..Pm|}qYܧ%2μ27B'tp4,&Mvi)oe Aw>M6\f/"֑e!o4*ES(1qy0JtOLbjD3#V}0^,XðsbJe Irј~.bٙp 䱻 c B( kUof1"Y+6 ,WT3G }<9ձdof% 7W(mR J#Rnmȶ:'enݗGbo[l`8E%G0dY'* ꬃd Sp1$t-L\ےKHf|OugP>+T$𒉧6Oօt*yל; :+7[|K9 `h܎S8:BCj-S Ͼ¯ ϊub@ X{@$+T:Xkh%ް弜.Ū<م1.R:QGc^ug,qktb7frao&83.܎a=/}N8vOV^6yofl?(@b Q.Hg&w'A6X;L{ v<;qľQ9&%C& iB bSp~<7@%{+S),SMUyw6R:m_Oۯyip"-틿7Yu\M|s-ֶ)p_h" #"%5: (Xy8ե[@uxȚzϮ+1Ј+U_|;mnMڍ)4L{\g9aεw_#kE"zs~46hH_V9MnRJe3U&U LJٹJvF!vSjfْ;Ȓ˟Fh-I]p5ő@Z7=DV4|̦B~D6uˉ7A`<@T:[~bYN%K=Ie̦?ӡ,Ǭ藎my8uv=drge$$GA:a/n!5&=^yacee .WoT }^4`d972Do01 [Dw0֍k Tpz%G~[c=Vqnt\YyJ(TFh㮳~q_B m5(g i-;Am)k }i{b"Xw5[E @W_wTrVV$CkaPu諮ݒEQeHFH*<5w)vy ='^6fJzIIAPɨ4Yvb A6 n^5dtNt5wƨ6iG8a}Sw=?4K~QBSxtBHE4f!z<Ʈ'76r2mU# YdG%gd ?r=y9d0t]NʅϙF*9Oq=JzcqH\8""MwrVü$EƼ{k1'(2Xsϱ8U/WE09clZm ?xkQ ЈhP/LKd5{όͶ+"-*h.˩Aů?U1m 8An!zcd[0^X!W>Ҩb"I)׸hĻX"G*:424!+Yf35D]|@ZЬmjܴOާH߿2 n+^AXQZD п>"x)}_!w;p<SPk3v`zkИK ݥBJn~anAV5Le{-M]ioՕ:Q!#ȡ99~}r^y _UZtlR[YsU=$a3u#y6ig)=Z:>P!AGZkParaK;ჼ^Yn)D2y6TʲF| 1vPPϞ I Tg9C=/ϖ\i.SSJ؇/~D&gy_FB`dnIyz~ 9k?T]9BHX2@xܪàQ+ y憣(:n&t &a&o ?Rd&Co g:NΚ9șs/;]e"l7BVQ}WLEרWQ(zQlj(X.xre"ݽ}өA=Gr*bka+%I(!t8dX4w\FvdJT2R4{C#[GYOT1iFظ?-{6Fkma}H_#ڑ0wNq=(G/ro˜f~=} ۚwxķEV,.j"ػ$K;V神S1a[Vf6('r\@lhcc{Y2dA1ћ I=bp=iGа3;U0b1`Y^Rs_b?iێ{NRLuv٤uhuZ\H ʛil{Tcp礆|VaYcy_t.S%q~ 4i==+ɓ5  lهOurT XG^Chj5Zdp4l5v8)cJg#ɮ?>UP|7a(˞ 3jFDMhGs  ePY ?QGOzSЁ\xiC9K`RQpwM$k)ϹvTIK4N~ߑYjEzb&K -nSW@Ԥ ]@ȥѻUʽf^"czBH҃ pbP{ ֭FәRNvhwה3ҳ +R6&#*@yH$Wn$\Ѹs=){ArRE/RqB/jc0՞Arq:Ė!"۝nb>bŻWrEmvtw!bS06?HU1IM-E!r7 EnlN*qW|۫% 0 %ɓRKZ)ϢEnFL<$Ɉ]'U ői?~7uD.+ E+w+ epPAjh`~,Aba0qmv[ a-/vѠw}G'.>_V'MJ)'S]>-m9A_C¬ 35c}kMԮ粢۞5@E 㯬lL8Yl"c fA?+lǀ+,g1q3^.>x1/B:< (슅 XPMh"KJyz2ðe#v{8\]h,$2Yrl3SN829vu=;]GCm5Rr}U$B|_-9TF ?#oFqueb28Y˺S\fnDBc^[x콲{TzZXwmVHb-)U"&-EtK\j͖ ռUW B Yx/37`/tD-RMQ-0hfCŽ]Z}Vdwzb)pˢb 9zh*!ʾ3cǎxFt`."mok$fKk,ȶE'VT`Bjh cb/2։Hkمߔ8@:_HjkVECQ 1 $kzC7L?dXK| D*U#WEƎkmC.+?!ZFlU2qF'lnD;~R8F׆1)ҭOS )A'ȶ:WYGkWa.UY'H*&s3\ GlKel;T<3x"u$Y"U^L!2 JGQ Y}+h*~Lzz Bt5ae?&ȱ|C˹hR搡ĥryFivT)ڃK+\DO}CKX+Sp޲BL b=h\>nL[uu}86̽8%-3!bDE7gr#gyQn÷d2I$?WJ뀓dY0E9JL~$j z]B8eAGH=llSG7(lEDGW0i$fFLB:٘7aܯY+HG|]G6%φ"͏ud4Ax2ٻH+b@LD0Fw.i-pf|sQaTn+|U2l5l,6h(> VR6P"A;$ϏT4w2Mr-N^  3(i$ӧ*c(-ň{SEe ^+:oqӄ;bҟEJtƣ-SW)0\b‘Gēw/t’ PXH3<'~E0GbhHOlgNGc")fY8Bo`'X霔O!rXxm#Y\1!G)];0o<0Ɓl,pSSQ0+0Wr4p*B18WnJAfbBϏ_nb73\r/R锪:l7,h gQm햔P>gY$uo]RVK ZoHR$blRyz%O"pN{tY_!|w[bwp;+ArQvN(\^ B~iIWCD;pbQk$G2˒g}w럜B,1{|5s6gHkFuA0RL8tK &W#:Vo}tl$ӣR`loا&1-52Z!+>E/^ "9b^ {L sA=14~vWc58X2 `ԓD?\؞y|oLO|0$:$wÁ2>NFG"I2UmQ|'=煞 3B QRSPA;]Юd=k[? ˺viUMYF ]Tzo\lN6qNo/P_sXhgd8lF93R%7#=:ZNB5|}D˨B>r,z6OSw.L*k;pfel|/Z9 OD4-],^ KLA41fXVꝟ' K]ϛ%+t3f 5a~:cȯAE&׉b\<a0c.i(IRkHVDَ. 6tx2IIoj3 LmZoz5s==%Q*Jj_hgĪE@h`\ K@n){ =Y a^{Jg5WQg/gKQu`M^Gk5bo O1 `;}IE~/#D\ڊ PijU1o@/z_S')JqJ$iauAUyD.\}oKCfJJAW8Hd SE_jG͉Ճ(Ddɢ;R_th›4Z % XD*Zl&_Niyq [Ya>Y<7S/bO`-g;'KH)>͕ʭJ2"ֈק};)qYeZxSKH1Vy%Ft!0GEY&)1*` @R;fX2ݴ%p Q?;ZؠYퟬ0u| ZmB 48웉Z>Aodpz K}E AYdSFګ1АmwHν)3)F}vkgW saGdOֵau}5v"ܽz3x 苋{Sr7pa>EqtSQL 'a-YoJ}>?r@c_2}J6Wܸwv썧>oC##P`ωjM~a>0f$6t&ܸBP:n\C,4 %U<`O>A (C]kG?BU2N'Q-4;m{  LbAW"[ƢTP`k# 'k+і~NpЀٽ?vpȄYln}Ru~lMÉǜSm{(:fi(#%I=Z$Ok i,Xнkm>2_/RTz4pG(s~F߲#"%+[đ1a_lq/|eYp N"7Dl EvlKQR2[?:l{/L8ʀO8JHP*injczuxS[ez^"ʫq xv^CJ3 ^ak};jir2XDɜt3?#K \|# Y= .^'cӻwqAc1chW(g6^Aj )rTVxҼ&cy5eq#yuuVp_ΌV#-G,@(B}%"@E}RǾJm):K%Q'4r:[jjd=,秋Mt#wHՠc/H2$ޔZ`]ׯ9#}/U%9d.ף ;jL~/{QRgb.hⰎwi˕CIL3x"ݡyV>~3JY vC~Ub4,6I [ee-,( Qn#1o޳r9N /d[01WҤJ?."N{շstt$+B){M/Y1*GPrǃ}MRz,3& Prp$Oy eăطI Bsn}οɷU(S[UAUԜ 5bG{TO 䝃qƇgm"yb߭&Q2KCv' [I[xLg@70I6B `z ] 5??I3H@c0dLldP` 4طMR0f YGҊ-xFA5,B:{~: ߓUoh\cs1'~Ur ;q j.!'SCbGbOLDT$~Ru/o,SX lh7K\&L^N~ȸ<1Pi\$`.c]v.I $,"кKES!9Q6BHd@ ]eun9v#wI`<.~,ݙaVPQrEj r/Nz< I8J;}\_jpsy`qQ'_;cۡU@^GQ Rf Qq`˼e,\!ya9>W\3b /L>B A`2E={Р[O6jqQzrT ;Tjls=Π5z3  &mo >Cߋ EiC#M].A0/3^.qCkiw y,A۽ޘ[dyZdgQ3#ġ/P#aH?j]iBC͖Cǻ ^:"LhRC7r_KSBԒlDΌ'drmS[FtRٟg~N(2Kt!-4 $qmgCbK![u:Kly9.I 75v[AHZM 0#"CB ovÍԲU3 WZYMrN$Jh/PG(Zcd=DM 7HhY&='L'ń2Vu{T~])DHe%LӢr蘈[x# 2e)-_B+6ߐG B#cwMk9qOOk4G"k-Ptl?,m㐸o ^ 1o _+a`GgaZEhJx`ÃkT-i֘gSkdz58Dc7UZxoP)d7?u 5=.JQz ŗ-T]aF3 f8sw.r,ר;pjDp4#.&eq_c?ʓHG59zRVu #g`~'##HX{Ok#`~~Wz4"- YQbPwնtXrv0ʋ0%pHB~ O֤h[ӻ Ny5dr+A(c?%no "H^&jzJ^Gh{8ǹb}T>l31:J )oF8 HDD#^ vkpю0]a.|!o01?0lwc-2kAnvg@NI IޔДgKD^Pv \PKg (Isv1Z"),k0dF̫RGxvAB vFC-J/vNUotӕR >6):Cl`ORRrӡL먬D & >^+ېlCz*S_e)dk_{3!y39^r!ih43b¯uj}Bzj^f(O9$5_tBnqs<L:e۾_#4{'!(=kLZzZ Et%K51:Vh9\|\ |v\Wg|Чʥ*H_ڷ:7+=1dWcG*y߭K!t+w'*2}k1qF`v5pu)RѸz Y: 4B?'1$鄔wmŁUO'A@9LJ~%jˋb-ݵ#~CId ?rbRb&:q옓 T/ OLlؚFHDnu648qPjfNo83f V9qP04#l}ܴ^O=KeBwI)i9BYH6 ^x,}UT"%=lA!oX5@F./V-,o&-IO?0S=GMk ijH1̩{D0&} Pclj&UC3WL}g)>ÐNNhb69+ۏluY^'ƍTH?ףi[.ǗR,oM,׍7 L"jOߠ^2<cY*ǧ(Bi޹:^dAɁs ͗S}#y>Wd#^'+_N0s?_ ڔu$8y[qMۦ_6dK=p3dC^&l;6yMuW6(ExLPp\ \[9*O؛=f,Q-엤(>Ӣ"1kgh1f]ضKb(|R {O!j%.jC4r:^Z6{D*9p]l>o-6te!, zE4>hG}GI<1b%!ɚ:q#fu_Tbg_ӥVoh:l6esakܴti<ɧcU,cHo Y|XCuZߧ8_ \Z锹@\8r A²QCA"wd. 5:SC=[SNOZUT4S/q$=ģvXtU͂ieY<ٸ9 %|+VS$kcjĺI'UkC%ϔFFCS0i :JG?aUϤn+㔏rW2*^3^\C4.*< :F2 3G!#YM?4#;}k)tuTۇ>{PlE.o`4%,s$X[~yW T̬.H;A>#PERX56yB<^\b&;6 Bؾ΀qAwo>9,s :~S^`ۢˬY dpBvcS J.EkTShUr(Xrb*ߟeю -RF&7sh,N/GFxnXU8JIaрGgqQ3PN1f(kf5Ԭ?^N_ɂ1ipœ͞c>Db7,-@h:{~  {-w \{>xWW ˅;SJY3X;ɪކD[XƵr70EQ˫g1Ȯ QHS|.+&Qz}:׏lӄJxsRH a"}%IKj2k:jYh7ELԵ1zNJ(<ź\+b" 0x=BZߨ-%@$P`+b e-H>;xwx_6ƻBB-*NG -@axaA\4-VOjC]TaGP5t=E[ ">=uұ/d J.]6e~(" s:=[$sÌxb!N߃Ҫ9W.͘Պ}ًk!FPu";7Hq:e7UW^ry]9Za łWP6r OT%$~I$,;KZFz_@Rf{P,o cj 80TTF<Ӱ, V';S vɎ> }g ;goUq^x=0O>;17 UU) $aha=?mJ}fd[1UIZUe2%Y-ubkcrBWUQ([02BZ";!L4ʡ7-1raq|`ƋV#ZA ѵ0y2FEv]^f<|W{=04 ڢah/;7TZk;ۥj(ÈUH~I veϙŹd|$ ,9 } _|P!׎(D>mEoY 0MNY"/Qxm9Ke{vҐΠDq~ KVt\,@h :t&+e#s*a!I "HTcW`dQRDRa=|Ho)ڲ /#iSQbS zu!'TƊWW)+k!^%dN<:uM 3 "&Fl1[AN݌%~?HGJBz׆q[@<]yIFwYtU[)|j'(>1Y/NI62DEƝF8iW߸p7h-m$C3wSc&#[(V$LVW4u11ISG<.,Tw$:xq$$Ȏ@+GWO5ؗ9Z_Rx9Sqn0Ya|%CͶӼy Yͽn k.V4=]㒃ҝq"6j%.{g ʪ2d*/!]'z֗qpLCM e\ygNjQݜؙu6$.G\k]7]GJuS'y|]T/T)]ͅztؓA |țx-pG7HHAOQ-™AXfevd#"ߓKԽ$P 7R8Z &C1{ #wgճKA-]T4oZ#< `b7mַ8zJL ew8jwM<|ꀶBKaw`, ]<_LcʌphIPn Ë{JBtvv%IyԋUKZsCrr%^p`{^uW y3SNIZ_,tUs't0OV{?n_*J`7oqVsRu04>#hl"=z=YRP}?HM+("rŊ}8jn:<N(׋M왊fj[sְ?e _w%/=@ڥs$K7~Noy?J0aw鯮nwE-uY|`P?(ғL4? =jLʥbvNZ- (3b^(jNA 1X,j |J#b'n],rrF"Vq:mL<<2R4hˡ?t@ߙ57 g&L}|EaM ȝ;t9 !Q_^'Fz<_9 :9e E>Φ_S)AxhGsݽՏwoqt\ ?p}-㇐D[K ϲ_1d\7jAP؊Nto5/r;B@$~?wHpIT-6gOGSԖ`CmObO^oֺ<ɷ=w%FEkǓ8h`8>~MH|SU%V2gn{\=Xݒmfl;f!J3;FP-W5ڦ,qZI+!Κ`tϚ]sJg N 6 :Awj0c05 _oC /~})w\H6=Z@yR!i_i@Z8N &_:oEWؖ4('a͡l](n[/1-gI]2z>~E:nRL`\Ҁ,ha)mn {ߍLs t'"e&m93vLW?vuL&y2_#؏=K~3LJ"mMedݚ+SR(ԖTcx䖂hB:& #7'{wPdW:q6#b@n&}BX*Ud`8.${<|L^ʰ/r[!XPP8{'O,(|2E@fMXQUxT͗ $=V@E#ҏxeB`,R_DhXM,%<>ƉQ6*lsFlLGVէOǴVFcP) LJ,r@lG,'X,'A>PNan' ༣o% `u ^H))@Q$(3._=kS1j hv3YjثW8z \d3nưʋ@PohDgq _ָh& m-KcTqP{|ጛr2Uʍxn,]|j @J_ k*UVV BA#+,l┭J\7we'#Yyq`ufVPNMWibQٞرBxY6b`ˁX|&;[:RpQ@2i^ hxp0sZ \@K \֑ʯwcH u OߢcL@gg */^W^n?1N-59>D5@eڵyNnBoUz55g Z<^ZI0X9;4f!OtBdkSmfԬ5li [ h:f?Oۥ#N_o7{r>R̬rw5ْku7hE8ׯ%U5#jS,e=CL/]9w0nj OϫK~XY2沣XnUT<6qBA$'q[l<0Zr0~ ShHJpY7c?tϦِ -iP g%,1C<!FR@HMO'txȋ6H?7I.CSxblRJ9 }<9%An H -p D94Uc4``~[onzJb1Ya7@эj ,IB,#;kH/R~ٔ+xƬ {Sw&)?vqUS41RkqFz$A"ZL`o~|CτwiZV>lTڠᆅPNo0T;_ke*RR!yz ʗ:0Iĕ_YZua7?vu o# x_bE-0NJ Z\Vũ'tczCKKL航xek&?8^5w\@`S0Y;Rۘnֲ;j4pr?nnrV %;*(VZff@n5k-NC) 11]d0zNos8·~5l`i)ke\H^`UMb\'g}Ǻ7ENQnF//DK-/gO7`mz3% "bjmkudӾ#PHoa9+tHiދRLŒZaC̐ՒKj҅;Ef *qH,N{w@u"KC򝓩:u}"h8ܹ r!+ 7htc?@$?9#?u]b% @򿓪|ׯ %pW'ZHhDȯ jrkMC;=0 *]9qЯ"]|yTNyn9Cm'²v1J<&EYV^d;̰~k ѡ o*oPxo>SB6ݤG/I <*uD8IlG-S(^KdkN&9&t&X~4b*7poS\}u$ ByȮ{$)Kh $BɄI}a8p15QR[Of"N썀t&Bϱ=ܻ|& ^ x]<"v_#5Q!{|GYM:SCZ5`xtLx[ɷ-%an܆".| mv0K6U]Ax1PǿW+|Q8"V4m|ҁVTq'5  WX(C߅f9a9)CCP@ΛNFt;HnD\ئ*PK/'Tj#OMZ&N4;PNP/j0ᭂ ~CvG]~p_θt25B#SY PLX0iَ\q;>=Dr`W<W|4#e0Mw?~psv^s0*ZG$aIq m../wWY3X-wab [ng$7VR?}7Gk'Ī'yk;*̹S<IѥC/rg4hVl5T $*" c q:;\4A!oeĢ#*3gx_tH8j=$bXILaWz^Uϩ}pnD~:e'J 9cYӡξf³|$D7H:RC)I.pWgU" {39K~صR<(x ㍅PKצoU٤ Aٌ;d`}4cAZ>i~%wB`fJ萡h_d['.؇O;+ A(Sc\W",&fġB9n0JXqgXlWL/AL}>=i!V;!y> PB~vKh kpy gǏ}5t.K icwd{,vI<}>uCx:rϴ ysbo^4%=' ){re`PGt1"2ka5EϸF3N6:2Dl憟3SZ>:qt/.k9/3l̘QJ#N3ӓUDQnۜc(.o1DxpfK +/nqZ *(eņOurXަiA4bIj |~ze klDpK 3?"u7obUxr=D-]GWi59~Yx\0x >ۊ%֎zyP!SN- ~sX7b",ffl*   vUkl`+eoY\`i}B8OnK*2θ |$E+O\q^r -77Ϸyfhhc^8Oz8 ռTYӲ.0:kR0?L˥—?+`q۞/eheI9]xv4ױɀԷ}zTvO (ɕM3KmA{yYCBJwVOLTa1a`GNN_.~5DVd}#(7ԗ_caupȾ|?ʲJR|pJ#e[,a  9۹`ϫzڱ2z >(B[VG!Sy@]o# nRow.r,9]UP23u@]ߛ˨@n 0WZ7{1)Ϫ Jz1Ϝǩ,mQXɊo}G]vPF32eWI)Ϛ^Jj7*sjM='U.RUVN' L G\e\̞d/5;:s[j6)u"fkeMSl족xE&TI"+"DtKkPb&SyTX 2Ԕsԑ$$;& (\w<]vYͫ[h]]±ȸ ;Ӏ޴Ω eZqe:!T%ЩXJ^5&ĩ$qvQ1u/IOƱUs0˂2h|=TD@rw&ui`^-I5oqSf[ψu)PuVSC( M$qC!}aqI濡sV5F:xܘ81zppG!AM m*՗sڷ(j_LTem 0?hzD+0.Ukoe ssbF q5i`dP]{G>Nq1Xئ"a:1#9mtRQ%OŐ?篸P'%2lTxnY>jI { T5<{Ph(ʣbFQĶ|Չbi,3r H;YQcJu[Cc4JGjN~ ` y JIBgPw^@yrEy6hǾqT8j-鬆7hOӂyRr&s}獟98C:ӟb5oWy&]E5BY܀{?*r<&탣>rPDH$B"(at$˧a+Y^?YT-G.5!ymv rՀ8x%nO+WjeJ|! iA<㹖?9H2Cc澄))T>ҦTxJI={|2 KCz`7#3[ nŬ>vx3$Vf]vI傰нǍCAcJq{JA}6J Pb 7tU{V333FN2s4mW,)ۻh+܊a[v}j6`EŇ%ྟˉā 4S8Ӫ\MN\ϲ {5&RnGlC|4_:{-<'[CRʩ"^~ڎ .fv@ŻVGXQE^~(P'hV 0p&/0Y\vZb}7M4oA&OӍwyU]ɖ61j_-=rk0ܿ?a L_L伒 _ Juib +3صCaTT)ף:n*J^5o;YWĊ㟺oKx*$|ɦ̓VopИT^/ߡ ;*ƃUn8aHBS_ܤL !GQ#D~qmVfCZq@ǾTK/y kYM=/ .GkipcV_BQB؏e̩?l8uE֙K{wI k{DgYiXZtsAwtСa;-sJ* RYgvΓKJ?|[d+"FCӎkv]PrU8 A%a}.E 40*_#ʒ8WcЎ-eDw΄g\S @C'䥩;|׽]f}m}Y*c(SLB;?I(8uXdsׅ [Iz|ݒL~?-F6WƮ^䶛ct7*~ ig0D# #x&/3Hsf[M Zt^!I*ol&KR,¢}H)'39 ^Gh/~lyH7$"o=R DH0li(o$ȈoБt'M[7jRa#\vxQ-*Dvb"z;226Ugo?ުYNt P@X`Bp|!ϕ$chWؚ+wٽ4l'T-g7DiZ )oF~9>ԘEIgg>@-*XK˱w1zity&9?/}jLx)ΙSoa)]<)jr̭;g!Af (׭<˯+G?,ʃ Ռ%ci( y!, qї^AS*HIu<sLuXIWkYڅhx-d{bJP4㨂hp#uN.k痴cC$?#w~=~5TĶRu q!p֎=ې fW3sj}wPGvZC cp$Ľ_< 3u(Z)~ {O^MI8K/5ɐ9I#aLSfi.5,5"^ޢ֨W۞Uvq;o|i;,au,O$C-3/cTV1bQ'C2aQ8;V%-f_2df;{FLTY(݁|hz|u4.w+v=V2Fn)/Q"8]{+6ׅ o⋘EoW Hb2(d>k2 J8{0UMxIn1uw[~gc;vw0U־]#@{4=!dŹjV.</m 6TN!0Ob QPL\N` pͥP瑑)-K>!2L0d8]WFϕ0's3غ a6c̟ggԢ!T!whBZQE-V QBpNQ& X$P|[ Rs!EWp8kl8fJ| Y;͞Aϳ{|?'[$skEq"* e `1g2XDVwRH8v.k4n(* 6SjKk.8?K_,%d]6CGx9 hKB' ""uSQI(FmJ=o/A%4F^fɬd{ˆk#/U?1w1΀܏Rq_6nT20>$h'l¼D)~B{t%k}%v^32n?pv1/y%ph!ggax<`v60}9 s%;?c"vj3k\O0Y1fQ:;hO@ ϨTU\h18 uZ/~t&# lp9/ p$ZѴVGqV`.cQ" kuOKv]4YmJ&ÆB{Jmiu$Jh~pdW"ELjeN ZJO4(:99f-c.Z} ɛB$1X\Nvyq'$"!~92mgqPa ƚ'FdLG` hikL.gzSsR|(;9xY 0eL?rHmm'8rԒ'UPL+yPf)csIw@JlDzE om3WDV3gZT9띬(76(7Tfߘ,qΥ킛'`ht g~tnukU-ɝgZox9 a޻$`{&K.9%~ ><F$}Yx@xaVt2%Bvesqo9TULm(\3fQvT P[Cij$RSr߸I2GL!GOlDS ];+޵:4F PUQ Xh^Pud9J,|(O3LLӝc/ ~8bSsҹ?f`ERzgQŻzO^ uIkfg<9gSDecce& d! p Wcnm1@")&&MD,o{R`,C"i+ ܛ%=\*29;L. )M}0YhTC$w펜--oT9;702stz?jXy=xt^Y]KvnddGQ1B OIi-Z[kK~]?}ү;ڦ08hwibE  _8@~RzLj\~Y}djzz-\ RtuU#hhZWfk_dc]nTm"iyzgugoЪϏV+Ƴĩrv-^RX_ZExU<зG f { 2Ȟ:'.%Qmxj0v(zKqޜ[q`hGXbJA'"xAyˢ1(kRtdmx/A*L(2# c8vUJ<9[}9#E@Q?97{wE6(,kJ"]> RY7%Q dw+4(ZCi0!5MԵHF8}y?pTnx2%s+ݻ*xM5c)I#F Վr}r猡}KwGqx t]*su8#|A7`imGm2p_/;ڳit_to4jmsmڝkbvpy2̛M^Fx&ѓoTP Q.u#*q܃ɕ[r Ҽ{7؍:)t| T# N&jaĴKO1rϒDp< LF,@c֊:`ѝ P.ml6!|AM{gw: {4gpӺP5+>haxٲb63M=U24(V9w=sSZ†1vW'+Ve* *}m[U/\bw4E4yi2j<ʫS| lJiM6ܲ%Fr|:kʳB k+g;k8>m>UBfY67T+o˝ȊduƑ We(Nxx],}z6no{ 2R9cJXfZiBka t׺O% O0.tlZ!OF}=ܽ8σJ~ho[_C?3̲Q*sqKe3ix<ÒQʒOIE-PJ{JGTuZ3`d[h G}Q0Eo">؎ l;"Xy` aѤذGnRߞ VєxFDJmP,j#-!LTgQ|`;̓ 5Su1-ӹܽv \K>d7g^Pv\XUR_ b:kCyLCf̅`h0VY_K6/M 48{B NXwxZKa a#۷ U$ $P grs4:,Fb'J@B?+FUȀO-: ,M4CLOx)j4F)(;<7~^zv*ͳ`h[70? i*%XzqW/C'848mg,繚%ibFy?%h\V$:onSAPKzĝ9¿@Ь˾Z&vjsA[N,LZLt[%ukܥ}Qcxp بK;l%I5J{J̜]W%B,M{ANAtdmP(#c}@ Ϋec 7X 6'8لk؂\wLD&NAtr4>2R73o;?BOj eZvO\x=̲:?ف\?5ϔxHBg=E7< i삮!_Re.{Kc*:0(KI?2&7ѮsA^nqJp>[]|~?Zz,CCzw\t`x .dO˄Y-9=jjJim]K?qۆ4߉A"z)tRj/@Il$LMLcLRbdP֔KG"'\Sfx$ɞ IӓDu֨زqQ/5Fč>%@a9 }e_6T·@ X 좋nY}Pu [ݧpżFȨb[9Ob=:2,B6he(;$0ӊcsܵCqS<Ԩ81>?s?܎_k=8O2|99h(it4ߟ`}bSpG(j H ~`cZNzq2mG+ATŠO]Mi#Bnn5_-7S+-~orCޙBJe++޴&]KţG@u YdMe,Mt!v$h\PS"AZ.#)mV'UdޓTRdBp%w3g~'{$m;/m5Pk~]q"3:PnهhB6QgY Z_peQ唗5= XY٠ lc;p#Ir7nό8Iid+_HWlq8z3r1}ӕHS!bV\v  s \7]HN 3U4}o @4JKTT3n]YG|y/e=m?̔UB5;aDsR.1)Hia`]A&c2fÿ䳧Qh2SEAvHBNI8w&UCvS,_Bٛ(@n@HUoȥﳍ'\H!ލ;\yܤ]H*1&Ȭدj")=;09$(Y>QJƓ{4NT:?|e=7Ϸ ӷd/zMCbO`"R؊52b2Cu%: (@V <،r|*go8dCqvhjE7{6=FHj剀TȚ4 V¶3A1e?L/^y ]/!?u!BY(SJb`6qcǎ(ZvY@2c\F\K%6{\3<` ;41(t|\D.d'5x 5V|,(Ryl3] j M є+L5'x̀;'6<͗Ov&H(}_Boݜ8$톍rVsqDEVISM \r k;0T|&8y IILB飱c&1p{NBָDn*d'rjZ's[V՞޼K+S+w+˷ -)d8{M}00KZɫJ&]偮7i %Wm=QZM[k}MPh#Vbi5@ j;[?tfVӑlQbS,8:LQH[$JfοJAhY#1? SgrxJtt;.9ΚRAs Sqx+f&mW宍w;!e,H8je (4OE҈U{'ؐ4E:,9֭pE|0 IBSY luɴFW o3>ubb X54PՔ::gxN>%t H[̹!3bR4lһri_5f4%(G}׾beKYguX?6) ,XOfRQ+[ mư(!}jRR_^|zqdֲHgVJ#_"#s.O;,F1@+}-2j8zC7 vBPMBH%xFbQz]"y4dкS0 M>3K82S`d(?!.c* ۄbX Fn_eq1n!Uwoc $rl|d$>?A\Wcݖ5C/7 Ȍp͇zte)+iJ߸=԰k@ʗLd"kIy~D 4;\;.-7^9h:G.Kg^e@-G&Zjt7A}xi" i}cTDr@B,)y>=:,t-S7!y(:nc#?J/_&YԜt  eKo$"Ho8dxcbM5g d睟J>ݳz[+i͕.k4޶npbw]Cb*mURQz/;]%5YL*1:dB3T<L%(,zl[܉$iUr^pwpz^5@DMEI;ݫFVtN,&NjU VANRA4= ` K^T_ƕKi 5kQ W\[n>qN子ShG.^uiv@Z1R >CJP]GN w#j*e qbS$4K2W3%ȿ-Tpeb 3+;wI$U4~N2hj;+4&mlWE_r -.Xk- k@ q^z~w-&Y?gn2VJnw市YW^8/}x^SF+lA$ɋZPzx^IB yFr95}_W0z5%.6C]y\i2\%o_+D`p@%'{t9 ƶ*0I%ۅ]8 eCfor6CE hX Qy;Ky$# UO +FݘmiND8}CU+\r2#G9\912߉\H"}o3s+8s>w1 DDBYUB^pf+K2ݹagZ7Վ1Z3cEw`)8[E\`#&#7UyCnQH2l*Zyěz3aKTr!JXӉ`, Tɳ*oGwՒkbPX-v2rV\朥(5X!d4BUaD0?*5Ѥr4q1[l:I J48rJ-\֤$^&Ykߛh:,E/'\'X Б6 ǩGuQ}4p5 hG^A"%0*5°jH \eԉGxX%fbx]Y9 *%)eJɘ sw3nhMQEcA[ujaBC͙~ rq]"1_$ZApQs aY+n&+4|xV.8n6bE]duvEW<ދ5j4BItkk#p|/P;:#.>uz%Mƛ@-9\EK i:K5-=̲DRұGc@@BtiWCOˏ~rx(Vyaf|"1JRd6nNJn!j[XJ+aOazc؛5oKH6oŵC̐BxgWN1#5!]`y@R*' A}DR:28 s+E]Üy#&.!m/<2$DQ"+iv{k"yq[ ~sF=u𵉑*V᷋h ;l~8}4lNT Dz9h'Lfơ *L+=;>ÄYFeD5CnYw%xl⍝#*"/Q)_ց?tyȡ+"}X82KƤ4&jqΎ٢Rl:9>0*_(&bБB mMzEz 7O|'ƍ}'Mŝ0!dPs[^m'[, fuh&1DgğWkDv w@KKbۈLG5ݛZ[9i{JNITK M3<{eo&*#G 2R)Y]p[{\PJ*CdJI鿣瘠x]ݧj x- 4xmӭ5A@Ai:-$aR%UdZli8Un;&'Jײ~vٺ~^K[.,-H_:4B*dB֯1zv-\qIH'q%!sUjGfuȂXyI;TGiOff]ݲ|^<JBE~3 /=HI-Gvjg:L|z#sASP^ډ`Ex%֊H(ccI@v{wt..ȯl=\ 8g<\LfY׉Tij C2g_ddU-c/E/ߩ9Lo!*:0_D&UBw 3 -Ɓq5ؒ’wEQ/6X ՃKgt-iNb)>)S-yRQٷR3?Jwɖ# . Hn,ja4ymI+??fޯ4脕|HҭNx: U+_Y&-t_N$4# & -q I`𽕣n A"4ٞ%#oY 210 eΖ%3gy=a"z CK9?N$@̑:<v:a_A*ԩ4Q>\QvNx(_~?(܍Ŵf.ۺc/Ofo 3+g`OZ @(q0?x:ʣLGSB/;hf"EMvxpNICjK=YaZ҉ks@L˂+#8Ka),; ({LEŽ&`? H$Aq6<}7'Dzޒ,3?lQ8FUS+5y*"3y$)۾CP ԓNip9uGNnZ2nk9UPjKO@F.5u!9U8FMH|$1\Fe_s=]$iKE0SB@ڦMJup#m,ǝ6]k+ðI`Bz`t:>Kq3zTJ6󿔙}P+]I8`L-N>zqN9l/Nc '1/U,>NVe;8 ׻X :*-_̘r[Mr-PDy %~cZT1jlRjDwmӼRF~ͪm FCp'7H]5 M5o];F.7"޶T/=^/̈́IP'uԄSPx6Ϸ9}_f =e !:li(GȭܦvkhPxa~\wQs~lg47L|)$d /|}oP g)9s$Q}~R0U@٬$(Ns> ;gZxZ~cev5$4ZςS ͇|<An_[D+Ptc-wB N<[iE; h{_t:nv.+>ڋ3~xTrw#Y[S{f(@K 0i!DJ1³- ؛[ҵ>CVjZMeRy_~: O$_rTY[BMVc %ěQ[(9[)r?Pեp` y-њoߎ4s[x@b曜DKu16Ndd8l!"- 7WNDpNa>HeS{?0"7O H~ m~r]' $Da*&F;8 >K/<+v@@Je6C*¿Ǎ(E;^`3~ȡzwp<#_[mIbYl(W,B*Ι<>F\q|AL5A=O,Q>o6Ԡ{Y*~kcA)Hz{WA#{ zCu)%o+QZxF5q1yE6ܼ _;+N6ʒ=<6fw,~S1R[ s|U`J@ [2J<tJ*v$Gwm,nK7DlCt` afw;^ڸL01:k& ;bxq_Ps6=㐼p8z3u[8(T$*\a"gv^'<JC k5ACviJ:X1נgv:`Lu9ޖCGk>Кڡxhؠgr\^9#]2NC: WIhͩ_)Q"A4>=&U]* ~" s Bw1Rƒ%0bNjJQ5A#!4a5r&WHt헄xeka`̷ joǒ*A5+F!KKFNopA ;H$ʌa3eRϹN=D(/Pm ":R;zEp*wNW~ªK(2e+? A&Ұ iOi!x?-gҊr.܈ԝ֯ oCeۘğYY]m> "@-@Cq[SPr+6}% @ĂחR]/4 _x`0%P1~'5%2Ni.Lt@MzZUOLﹽ"HVj(8%@޻^Gd1*3$a=⒫],Dzp72=īWAy vGk VSQQXkN0#<!*Hw{3RYw|~*C'p!͝b^sgO>Ă}o0'{ͷRq&-SRMrol_rB"uKASW_) nyXۊvE!!I5dT%| qNVJLrFt.p\MHzGz@[vM!@qUi*SbPALpc6BA}ijBW1 \E-yQ^"kllfuZ&kkUER#iC F2;7 ˈ(un&꿞5 `Ħ E9Vc&sJ,7/]G*2rY_d̋E c0 vhnF(!4TI3WEx #\&z !*̴j җ9.TGA|D֟M=(@aa\:A=߷/J~sh0J4 %`Iܮuu @)!i]z(¹k>g ><[~ `tN=k[ aʋD‘l\alwT B|,.?-!>`6&*mE*ڰZZZzn>˹yĝ2ssHCȣp 6<4.SN!c4žhShc6ň;^5@)vT(?yB[k| @|4J0G#${6o`s+;$eibQ.w`M\ӭYUe'l ҅i"Bz3ȑb~/XюW`pZ]dWz'#MOt1fY KYACDlKhL5\8 T !s蛬@҂J?D n:->B@96i5q a©ƈgpw'_ti%<߆WyL*߁y2h9ryHaA$<`%َԏA^,,>t*=R&՚L kd-y~y@5V [shՋ =EY0Apv$ ·!V ~U6x'؋FUǴzrTD|3pn_\(Pt^_Y%]#B/ 7hsq+ןfK1pcPe4Ҟw( dN#c~8x@)* %!2?~CQ@%k'EUGɂC⡆̍AĪ[7 61}wmG|9^Ոb#H&E;Lp@>W|m>/Bd%(نEXYlKF 7^h/̇ Q"p~[RM|3>/-8y \p3k@q;X$'Z`%Dׯ./٦HlӘH+r}S3W؛tLpd6 Kh_4qI^Bm&nҬN2q2#dnk:ߺvlQ/yo%g%C9(0嘻g_w"eÅm]h+z6™KCXǺTIB׾2P%ѽarЧm'D@We([q172ij!N;G^_Sq54l'㒈NyC;R ygxЪ!r[K`R0@}¡& sN:*ٶRr5i"Gk|ar|tz#@T/) bp&^N߸oF_qfߵ铪nJ$ԁ#lyp ^1΋< 7u3Y0Ɋklӏ-BҌ:|p#͏9U1{ӒU7.#ӁT$'P[p HD\A+Y*O7A> T֥Ȗ|p>NQU|d,Af=jǎLuԑeHo=GˤSp?er`cᵆH^um@Ҟ 0K#HW \;Ją8)9=5KښT# +Z:"`g9q[>GԵ(!1BgO_x @J{zB+ "6H)UyV;zFn֡a>>ś8`,+fp1 l/c+Dyc4&]_8 mPڥ>e;k_c}MEwSBlUM^V Ǜ}sr$)vLP+]-nt/նIg*٫W1[r+`pg\jMiBPؒ9>::hVYu00cQ||ض4KSJ 4!sy@wK,V!-x&mGI)Q&PeโhN[z Xy'|*8伵qN`pxD|7?-w;;wbGFFhOBSnf2Qc0uH!Ŷ0bd8^PiUS)ŷ(H\#LCΠ1ph?4 3, w 2RɈ 9x"I~ Hz@{Qֺ-k6Z O; ͏N{/QAh" wD0.p-zQL%g])/#u6A y>+_]dƼї<«?I=(<5'-`b(ˑi/}NIǝ("w72zQ4r;1`IΫs7=(amD~Kr[miW:f6mŖqӂûB!)7$?*/r2ѫAO#sCs!xS9[5$q<`bD~ՏTI{sADvu+w RGk, Æ.L<*G((n2Jm@?=&OzsLWU6T\ QuR~F{0ej_SyQ]FjW@NNJ?|HOՓ]{4\RCƵ<._G'gb,FĊَTDz`a7 uO(t~ȞIޔ>+ ׿<%,fZKèڵO>i_wr居߯B#(аENh U8̽0_Ӧ 4m&yQ MȹFÔ>aqXSO}U 敕MyȔan&e9+ۚtj y$'MkOKR@N=Lcē-vxmݺ 8b=:)#'X\UlԸ6 vnyQIc-녋 Lu&_[4)Tz0x'\S67a39aGDIpd|>/B;9=DZFgakU5DR6M{)Hų+R.&( ]I5mQavQԊYISrw$ףxG3eh3`9KH8˼&bHiꨓIHQxo >tɴJ+E y_@' j?+rga: Ok,|䣒Ι̽eAX~J:/U lyuVß$.s3ن/%pc}vz.s1鶸h=.9@Rr$%[ƄG<ڇ$sN /r ClH+µ~] WGR{[td>Hy,ooɎ@IU_|Z!BG"G?)|ݢ\\~ʍXEbt#0O3X"vfI/d_$ <@62s6v9DI1ªb0Av\O0,cex hjJ0Ez@':ynҰQY3, 韠5b0hWi?AWȞ;'B D?iƣ 7S+ Z/i }B3H ޼:ձ[ԯ:t`dD:4ǰ'6 "|mtiJ {"_u`ߒX?:R,:ʽ,O'aPfq+U7۷Ѱx!1b߲ ҄"FI!% 2<=IX䌉WUEx iJ6R@K 4}ٓ;/ip]yuJ:, rFVbHxe?GY"c{os7.a۾̹ޟ+S\i!U n}Sl5t.#h:oq9)U7B{#6j b K 1J2\Nglh (kQ0?aXÝBN "|oo3s'a"ܽoKlٔ )zs>=j.Oԥ'>9+mF)QRۅꌐ7zC qn"9Uv4q&@'YٛǣZ!Vܚj8joi[:'3`UnSeь|X!VbfTyG~\=s iG 3<=7-#g XޏyQXYPTR\8F=v `ZW.w̗Yb>*óhrN&y}܉Y`ڔ^`1oxlW5uH B} V/{VaߐucP֒aN"`OHӔ1Z۽ҽSH٘$yt2!Yd!g f=z^zƽd\n$J82Iw2 yBSGH];dXJW(%PΞ?#9\uLxJRhQV36u kгsIrb1x'v M{ bu^Ķw^7χwŻRy8]`9 isd6\PhQ8xL^9 Q#^_/c~|% `Պ;ؗKp"Sa>m=.'w.4ٟ[(fgaTfJ 6hCjͱwFRe]Җn66(5¤(ͻ=lWم%p,$PҦ_fw]+=60^9iq9Y#_!(]Y`IQJhA֫;\of/x:tlkJKc}e/)b1zV?ܧb7@pU~!>B/v+sN~EN͒m6~ݲMr"\`6\ͤ\y,wMu?$a^An]Ch9S}DUWƂr$⯳q. fhrwh78Gn)B<_n1V鸄ҀahHa4~:q/tF=ke3rz~!6 M>՞`܈(80ֽ]CuXKq@ wIG2]jsߩhIk) i%Du5Fm"Rjt/i@fN6>u.7$yv܈ؚߞ^ "q ?%X-< Ax=JyqeA4~nMXSK9 q@x+1 bJ3T w)w]s|׽+]%kF#kUEI3,{t(i)~ޤx ~kSrnM-X ӌ|U[n˶HB.W}a:9fnȖp ^w |3Vo/|9`d+>oWKBjnV!U<Q3X Ƣ(>75uwFRwBϐ0_ێtq)>E^xEzp L(0hf\rv?k.q 9kfOvrrYh-cJ}TQB!/@z!q)u^e I iu˪aI-p$Tj@RAH CS8٫@pS:xn'GqgWD:ӛ/dҩI`_녾4W M)RV1uV_PK\V`Xv"5VE呫RPvdGKM)d@׆0ۢ}8w CmU$Jl^=2C'mySB$'18= E>th"9fD,6%4ÓBt*w4l=Q&\BǀwKߒPIXa*G!4{>'ߪXFMvX/ ͮ~' $08z_ L ~Ϥ2-!3c5GV*X@igVG 掠;#[~@Y98%;f&W3g Wh-Z{{M c3p!|plrJ5ZJRoPˢ$6@P`& \El`x5Ŧi3<ΛYS^q{EUE;{Ol?q6 UԜSD揑J^uNB K0tw-*t xlx:25h{qGfk pa~?p`ȥU?|mD  )e*uKlv @V IZ1MPT+~},Dʱ͔z03~I^:`ʠ2=kBMPqm܅6ʝN@hs5c(90,עyb[nvEUq4-gpV-uμŸg[e]JnH @mTbɽUmi!\tll58)֗DX"-:ҜB=Rw^f%RO z[ُ`xiGmsmd2RpA6!bjnuk`ekJg7>tDo:(P)^Mg;GcԮj{*Mb7VEG͘Qb1ޢ6SxsW8up߭e[O"-aKY"؀uޞ:jtCl՝amCv` 9aB`wAXWv;BFӎ9"yejBCȳPV Ù`+|XHghsҢP1ǗO ,?'kc /|3iC36FU\@?>x;O =ZJ%@v$(7zV<2 uk~_HXO2v]2i75NG!N$1FTRP7E>!&"HoeR~GKhO?h4lm5%}T~Cuw+< oI]ívۗR7#гQ9[X]ɵeƶi(Yɤ!"e_UQ9B쮥R.& gp7o:k;J#GsqȎ{O>4y?f=,hl-|(y1C#'3dL ;Ú>m<!e)v#Qзmv@oI|~Fgn3۸P|ʯItt$܏!p(wnU݌ǟʔ7gv|r5\l]sS > KP;h=Q<MSz1vrC٬g\93ى"-kGkpp.,dam$l>X3Y6laL.A7*f?rer+ '\lT2hE"F+gmu낂ws _hV*X$][ٴ"yWW.EhzKvH tT+VJ&} [\GQ[qNa ǙpX°_' Xhp!w#M=\(Ug>䨗L_a€頨(z:Dbi[p 3]^'~W@^xp_ܝovEį=*l& hNR>rx;q>k 4M^9\肮 o籼6{]HCЎdIL@{y6Jx>" )r F5 gHgT]:y;q0FKPDа5uNPc0ya_ L@*WF7z?;w1 |ZH\S K%nȢާ2 0r^o7zfHk"xB&"8-j%6I]yv>%vUHđb^n+ 3(SUS~\͉۸lo,cJnyn]6GbRHr~VAXI?~(>1#34uxDr5rr`웦f*KүJebU%pG KfqP8p9 4R!8Zٵj,g5ɠ9%YJZxцWAdF!* s-&ec!+6!.l%j0zFЁ≗?(:TI@Ʀ!%F5?FIC饉Ju]Ndq;'av$3p 7.p4Pqem`'rԹ rkb&L#S_?B`j7H}4^`%Jn"r Wcz!4Մ '5R<<獭xBߴ,f^*qxt E'aH^ѻi^5)j]+ ~P:^?+Ze? lD[,^`]7  $,@9`= ؐ*F{:~0WVˉfU]3ۤy24cx$5i9Cpm|W +c[.xk *EdQ/ް)곴oӊxC./R J^dDET*ydQe8ڸp3ud ȗi.YˑUJ|G妛zN+f4)"@t 12IaU6d^/5̖T$3dMEB<>dΣM~RFCPBQIp[.Q{]"qO?E lHmU^B=5 Pu49VvmKc@iڞH^QKĖ%:^FȲ>%hH-?}H5-f+GF5 Sެ~4¹8rޭ3r`utUH|e~tGS~ٺu IU.y<$il)*8ݛ,ݞTa}OռnRɝO6v%n/]b@,{5y$gdZ - }AG_ti||铔FZ;0e;ݬ~[jF+PR:J^a)T\;5!/+K; l tI59 #Ñn*kmrLhڲ;y̔lY | ;Fg!B:m\._Z Ǣ Wf^ "&FWٟdD$=pO -^ɽi.Ss1MXu".C &x02"%&\xz4Ipb`YҘ$Dr;X,[rd-GQo wϷ9;ĝn$w7i>%ն# *P(?ۏVU~3ix蟘yxtJDyb9ؠD{{E~c=@jek"fw BlZR=tcMqD Wmj)O_zhpulfDǡ龏ǫz^3SzP1]5iޙ2xAנ {bK_Cq#y@C]t endstream endobj 19 0 obj 69805 endobj 20 0 obj <> endobj 21 0 obj <> stream x]n8ཟBvQXO HYi@#WGt>R4uwϷ?oytnW/^}cZNy:Շo|v/yUjNi%]O| _sՖ㆔_cs^mzWmasM]ǧôڶcsS1疹EYY٘ w#rbNsmܳGn@?@?@?@?~_~_~_~_~_~_~_~_W~_W~_W~_W~_W~_W~_W~_W~_ᷚs~7~7~7~R~7~7~7~9w~w~w~w~w~w~w~tF8#Hg3ٶ l+ڲr Y,h6;сDt8. Pi|Fv +KdDTguNm-^F ̸>-AāNą,ua`ʼnALt&8eM<#art˄F{ǁN tޮLvqpvvΙK2=n=azf1OOg$@;<) bwW<}ynS~y.XG) 3,ud@ژ4͛rPvc1Kzp endstream endobj 22 0 obj <> endobj 23 0 obj <> endobj 24 0 obj <> stream x]PAj0{LA =C!mԒXЃ 3.?wmlouF WN1Y:zV%ܹ5I["mpx2~#dypFAcʹfuLmN7py%(܄ri:O{;QB>&aYh32mاsZ^%(5,7)r)l*1r9 endstream endobj 25 0 obj <> endobj 26 0 obj <> stream xctv*mN:v*mc'V8c۷̼s|֪y>gٵ>+ #3/@hgfl/ `k&jl KpQP]m 8 Msg=Պ9č][D,V ;/'/; y&pb^@K+W^oZ4ttL-C/nnhgn M^V.c33s44mm@[;Z@Jj4IgKruuebKYC1X0ڛ2դ7sg8Łb\w?) ?G4Nn2o 0w{Z1sH`c{3?GGf& h 01_?]]fƿ^yNom\.QQO 76e¿Pecߒ2*Y毋? '4q1\cp1s0 ;?J5,K=uq@cl?W|GQ2j/Lq9?Q$Ljj OBhoo T؛8yřۛ9$M̀5׿Q7v67m}{wJssOsS8kwӹ(?S:uR!vKC+IZ~3K3 \GMn4 `Y>y;@výLQNQ!f+8w=]^4bDⰹ4| O ֛MZ?H|DB*Z!h sodӣQ6Œkoa_FWڪ)$DFc:VpFp1CݒZ:FTˎ4t׺l-?dWjU#{/U|4}M+ 'Fpk:c 6QqOQS[\p53 3.ޅD΅+OcCTUnRUAlΕM njy175z✚Cz#:kfjI2 lnSl1%us1P~#+{خ֗5{&ozoLQ:ToSnӜl⦎/IJ晤]]xQorYԴr*92;5{%';>:?zM;›pfDx-F&$'=XWU[(G:GyƸ ﺲ˔\F$!3PoʒطX_ͯZWW1sl#0c:괡 ) gF-y/O#B >ҝyNJbWkVmJi<q^>~gK3Z{X,{C@P g q %`ȶV>2Һw7wzuT2GVo!vg7FUm|w^,t &eI.=ϿQ)A.Y^9^1=DaZ]૯yV0(QJAǬwLƳAF,C3+uFF D+ 7(TtӼX#V^.y}ܒ2"d9BE|(qxi+?({L?sR$cFCޫݞZg?e]j$5M@xc.,ꡈ?RˀB#틎X|tA$ kPǽ~bvB+V%ygR1tṛ-OPbd~DF'}B?2$9Wφ1}?5.Y]24<{*FCApgmј͙4zRp(Z`^s5Cp0i*VLC^N-iyb]VHxJyQC3?#Z&o>qlA˓f4̞P$@adH2_Ğʠᜐrι%0$4p*;/Gu1M_/y=#$DMEK?5nl TءR,Q]8hߦ/lo)Ƥ06b([XB9 _xf3vWH D"߉ =Lʽ틁o4jQ#PnٗC 7ocTS UVmy*8+Nת$ۜI _u?u7kŸzּ,8c!1nXEAA;J1 7Qhl51 WvGjwœ& ϕ# 낑ES>0;P8aCrc,N̾%T >Vg+?oߢ{+&Tdqw@,[t&He[ɭg;^lpIPkMyK?X n츌yٰϊ hUEWㇶaη?@ ř}O$O;8Pd&s28M mBPfKkG)#>ƺJ8~^dP阼8Kێ6N++,2}\6l=.Z-7"+ U;}sX7yug>FE*jߔeM_ֱ pȏGTŁ':kap8/ 0y^[+(S:$'{= &?{Nb+fzA-z7mt w;(v C¹E OwC [F&̐a|cyEJ%,:Y^cUn(Hd1D҂[(֜7&*YG{O#S"jE-5 MF/-κ[$m5b\rdT¥faE2h>˞!\̭8yZQޣ@LKsFxkV4*7~p) oި(J#sze6{/ݎRY[p|ne##>;11flzIAq/<uLKD_VS8F"FRtwnzאC|bʻ dcҕL H*5\o$'8[,]TۇL\ Rgpቕ6x8-r{秋/z/Emr̴-5i@ʾY@yzC?VvP3m8FGC(ٟHz. Zyӄ1T~{5La )$P+b~Z_⺫ K*⻷6 Cen)gψ f"<JQ?bFF[ B7IѶR4FR5QUCo5B/+}LAk<9m(+-@񤣞/Y<^ ܚʓ;ihF^$9bV;S]`Wҁ#ܑP LៗbW@ 1Z E|Vq=ޣ`lkv`k݃ii@Qix%5l$|C"aci诲L[.d=($3?đb+,?$F:9f >, %%24pI*;_ !]Yo#7b41 . x-D?}ҮK ݳL_p,!7UmsW85~ըx=[)8]B5q[S+/j98X1nBn/#nLvۅAsQz+&YÏJqQoإo Meh9DGCSSaq$Fm=\!" q(6<,-Xl.t# s^]oa_ۺ`@k(VۍY+}jS1[&U>RmsD㭉7m߼¬F8E0sn_s:i.?mmu2cMr<GduGU ~zp hd%KvAU7HF-lx7̴0y8yC~͍+~eJǚuZɮ X0v|\<u[DVځ…B;5M/aˣmwGT{]&wP5'Ή1Basf_e ٕ qtM%}vFM'f$[˷or AÃ*gܿ ~كDʌ>nPPK)-\*Ig&XͶ$7+AW$ɸAq2G:|xTI,Fw~w4}i#~iͲ%O9^x.6;S"3:vxQL/%FbY.][Id[*/t8(a6/ 8`-Pkp>C9u)?C;`\^T7WGV0 G gpS;h@䁣?dMYd*4['o!-}ZCf.SP*G>SJ 9VU2^]OC=d$8&cg~$OtǠ: XH JS V*;aS]Z 3tf$݋d'Lٻañ!u|"|uy:gu] .&U*_}|]g<#76 Խ?ǚ`ҸR&њC*^euDͼ`A1"=ܾ+-|l#HJN;HU_lwgʖ@v01ClyabċNb)GH^Ck땿MrY8KPSW%|dɒuSYW]_7`UG6Cybœ?75zJo+)DHը 1DBjq4+7>ӫ]qX@'g{\(N_}P(͇[(8:`_[g.enI,$lV f܏mR2)_&i03e|;+\) |Y6uHAPU02bw]S4?_I!$LdeH>Y3|b/o.= GP9KB3;3 _dJBu6B}s> "]՛**bW$44D:=Ltk 3l׼bױD\aݵύJ( Gx}Ͻ7jg?Jd?'fM O r@b*|6ÿy3F{Dq?⚐Z NEfI 1h;0dVX,sZ͍}}-.1]S{-B_:qvmkY X xj4T7)+A6B^"#89PPdrk0~ ^Wr _; 2֖%i"RIB"@chQP܁nc&{֌'w3?FpuB[Om4 Kj 4 s3] l3qݧoLP$ 9~. ❐J~ yzgfHBϘ#t~* T4``8,hsy̠^ /EAY5 &Wu fkᩕж pjQ6麵eȤ '8~ue"gwpsa[*u%$a_^+Q͜f0]CM|!KJà￟ K;;wf,:U*1cSA57mR)b*ۇ>,*NkZ乳M~+8bv|E^A\Ӌ2֟͝lFЙ`7ȗ]7Y1 Cn~,qtREm)&~~s}X95#do#\'dTw(;T?6)̋@xs.7x|H%sy@S*pj7w0 % {EMRm" }󞌷\Ii贔}W)2SmVD <j3/n7iyehx P &lZE 9HH>vӃ >{Ƹ } rI΋ĥun>7lCہu|UjX[:C=VH"w)_e@~⣙尕f60!fW8b(eܥz ^^˅jj0;3(Dُ+ r^HҔ.:\(CaMw"I4Ģ~vj&N#N-[]Q(;,O??CF-`o mx`.NX7v" dM®K x/> T&W2ʤakr$Bk'miOҁ ʾ]I_͎NIvq.й Sj)2F7z/ƙtŗÒRq*Nwi&sۋĴeg^ Z`Qĵd2pڞ7M9kiO K/QjrOMr `!xBA=bu.H&d$Y)bugb8]}:7h6߃ٺE/ \\,1䨌_8#m?(gM:uzA<\4#~&+cFDRaA<򋪍d4?NcH': ;|' %a K~|1#B+PfzRQ@Am,dWm  LZ0[k)](YN0K6%ۓpJyYA1k_: :8ӅQM S."=]9Mi搙 MhŠ`Eha!Hܪ|Lu4laRwLMU0[#$+GR9 'Qyqq|gsWMyx-2&ϔ"b "RI9Fl#} Jg73hLEQu AYc!L-Az @eeB:Lȴ6dmwJ{x۝.\<=7؎?/wK1}He3EVλVeS$etZ龃tvhp)m?nna&ED!1Ac]Bc Ƈ>bh|]z-wk#&K E` _G0Q+L!Y'2&rQomO۹r&1ƾDǰXIw}HHf?a*@PL'C g`dn5fXnMT{ jZ{sTp&#%2lT\lTkjxU5_ƒU>xk}5f*s$wGNօ)q^?ôZuZ _:hiQf&<@C@YVކL"Mټ;zdj##7ZvNY4:Tlw|-"e[ץA`RbS;ߠq3Ձ3R.a^i6)pkbDOG>P7*z1+^ QRM2>ݾ<؋;/5&-#[7qe_z|42[G3*L? ))ՊDz|Pvů:'JG_o[ _2>jOwSG0w>zd{Ep*s?q++Rc~p"VxUL[ TNYjU"sRR;1TAݿbU&?O*z\`_rʔm-]#bAy`+ h5VixR[2d ˁH =ڎvN?J9{˳zGPZrd~{x 2jm B"+>ؿy7kߡ[c~$q\J22bUCojj((j\V_\?Ai@؋fzU[]$7#DdqKC=A^]|]›hn:{Q8,>ƴr藾H S̏jHwe -Q|ځj}O!YaQx^%zaxU$O|pvoB_U[q{fqN#sr[a2\E,w~bb|rq"٬#rQ qԕKOBٞۅV2cDפ*cG]=Pv5,]&OTF0?5H{f;#EhĢt7 _~7cp1b{c|e#&;WR>HҴ V~LL̵;}f@^]aG\M x%bl!yN]hbʯkW;ꀍ4iS@TJ1d8On%keLUdgaм.':fB?`8Py_xfMJZO8Y!?Xq6갠E2"db.Čĩ0dapUtdV>/X_g2 tW6h]Sg고lfNC:I &PzWYvO&ۊ[\qc|ؠ-$Z=o!1_9"|HIHJ]@DzW{rMx0}` n JP0rU ٫J։%9;Mb|t5I*G4m\#Q0v򏗾so&9?i&Òʋ56Y0 Ŵħ/7rB;_ClcW(wOL[ֺ~gMmK ģ9"SlӅ0~[Q_ $+ Zr)j=(ٗلm#tIc:GCE'I8n P޷94Ҷs>EM *',J^O) (C=W .>ZI:Ǟs{hHfJ[y7bLf I&i*̀a=4%M#%'ܲ&RķM 2<& XbqYh$Y٫xIOΉSaVGŞc/edcef-TDT7;)"<%ICዮR: >FRm>h' lZ9 䠗e[?hjK; ϏX y=Uwݝ7$*Db ZLB]"p=FB'BEݳ֮z$zy, p%,N)zzmE8d AaW Qz(᫡R&߇eR~ Dfc83UN2ƤL> vPBj`QeD2HQM~"we{toǟ5m>א a '@R|ϕ0N:.`zCA+uNv(tvN,$ctz02u* br՞{36bqQ׃`|޽Wq+NLK"9h?4ŋ^yN~[رl`)A` Jdi:f'gR%yp&:JTLlյ @{SDlShAlT-;=J)4WF`خ`;AU=ep6ۏ뮦*Ij3&tp-~Dd[&=Ճk#^7dJ#g0YBFё'MI&j\™%]O~ Nx7a3dxg6첮<8dWNi~&Q ySB2QHt'#HP)54j?d49\Xqw'#qJ( )p9(t U]! ƕ^nįefg}E'l/}` ӂug4[1 j{pzүTP}~5XoK]U15O?!8\˥L ϋfǺ T[ `.B5dH5䌕޷;$Y>}gw$8-lָRx[5 9.eK! ^gBfM!cEh46i˯]?)Le)IɆywi/ W^UPЈ'j:ED↾/X'@^l x iV2ɿ:͕Gl+4ڮGjv U+/;{,[zNPChR 䧭G/e̫6pОSk#zU,$=G:ͫ|UtJh2|?xCNaۤЃU(w6gK,ϗm:=%u}pyv(lfFԇ%v VQKC A5h!bjwr '`@m8ޚX~+o9?e\8xւ)2[Z|dvZz;ҏԅ;G5!њ@?Z~{fqҐJ'58=J4B$A,(|R#/.qjnEC/ $"F}[5OE8-?z6B&iD{ӉsSts#%RﰉOj_4NU݂|[zb6qs,6o]n#jN\# z0I%{g&otCt#W]q!e o>\2)e_њB !po]_=nE_<Kk3-."2W|κ T 7bjK$}Gz8d {],T7w/>*ыsҶ(bI i-n>$WkL_H?i;υ+^O/5_ZS8$ U?(hВ/XO>)Lł3VdbPp-樘Z!CCn PQ[@'>2j̟Pd*vp2T+J  ݜd2 .}h^,s5o hmEĈybZrrR" QFss]N>o *,9r .1WP:X84wUEJTR;9~iMS3M%Ic-;qAϊZ p:쨑X/?S#CjAZ)p ^B8]bP͑<`!UNSDjɏIsuaASX76Y< !r7$ Vc*EZn\$*S=@p: q kALYj#K8l^\#?[b+ָN` xqㄟ4QEl1n`/tRJ0@`/ecb\)`q]"XRc)`ZN|UHز˸ 0MCl \R #=y_e~lȖJb#XRHBNhcBk.@ea` r^73_'*A{V\7Hoz(f(ЯTE!voN5㌯,)miN 8%{o)r^{llt |Y B" ݠr}n߇О.9Nm(F#1J[ԶuY:Z)e ty=v`#^nˏTi$O8uN7vc Vde|Ofk1dlEX-Y{[0v \0_UxeJqnYy,6C''8EVƽޗd1FIYUPn/[0JI-6W뚍Oi/CŏQ(nMS;$a_JK @Hua.sFg<A+h(Vgyf=3A$Bn "˶7MPҎyŬR輛o(oh!/`*o^+5W!_ytL:886ߙx-!m갛i$KTe}T9,VĝOݜT_%}{Xj(Re|"(_z(V_',6`lqXKSzI+E#5 nǸOM7[I}Qm ِD'm6+֢ԯtc" #fBn9mTI/pEi7K MjRŀ1Yxࠝ@短da>~.|:ps,pUzaC]4 -ڙF}`LӺ~yp |Vs)W5` S#{ =$$(d`1se%"83xYpDZ1% =ynq0 ge()7b:ӚF>崌;_Щ:X^:^hW5DH}LF@n`gC"q?c QLͩ0/ {=W: w(DJE,@nٲ,K'xdŅHBҺ^_b9=P b7%sTKDbc,7f0EwLH3lHD t34rz޹7^9dCX[!57+*qGo7{hKI5{؃#9=Gœ?9⛒a 5uǗ_5#V)(Ve^?jI\+Jwe̶ʸ'dHY5o*͵1t>yѵ[Ruh`>at $w`_"S^ ,uT$\L@mEOvs3 :(՞U>QFX<A;V'jA4je*49cmf_L_[X𖒓1Qp֨kg ?DɊεݿ+Wh'd~BW G7ps0=M{DJY#U).K'юplNv>IgH-Z4qF$=d,Ҳ6MJo,, DiCe{t#t̬VSw \bPk4g_ cʿy L $z¼haobHkw}僕8Yvy7+!PFB߾GzwR./;JЊA- iq  ZٽMBxz}9XW+*e.Bgq77_3-`ڢ͍KdBbt#>j˧ܼ؎֭B, NBloI"I)lrmDтvGx꿫5!JF;#M>F9GN9nI |ͮwhV,\͛zAp YN*~I'bچA_@u+7]GD]kR;,~Hz"G@*?VU.l"!a'VON]!sV z ^}_ N;ח"=:tE%Ď*9ɿA <D˸SjnS[=FyO%[-*SrɕDِ*8;$LfTxed ćxADvJFXFdwM铂m9mekqL8,KkLeu,=:&l /f8L?ضIibQqܰ>A'K ~9#O`<鯁I4X  U9#;]Yۉa盜]V8 xm%rlcOU(hE#.ŐZ,gؽD̜9i^uF 8aT'DÝM֙n]}0~MimƩ;魧 L"Uzsl//HCIoeN-6y[%T:ҒfD(XiFSmGA(kjF瑇88^)iuܠr['EbG/Mgѳd5GsD8q`% +P'a jJȦ'Pd^?…iޗGOa2?D(+%N:V.Kʆ j~<3u{6>q5U[c 9VX/No@y)*B=TÈ<֭pMZl$ 򚼨Ǭ\A%pٽF} ."pLO&2)$0\SfFot}#̤91#'3m19Z"}7S5'hӭ~]ѯػ}Ti5:ӌW,[>MF@ ϺdyCoPXGc("y_~y6SqPg^=ېm*NFv#i>.}986x.Trh[T!oGs*RfV0,3y(& Mf!'v ?[PrINBk \cc-o6;?lnfTr3xDh2Kɣ-5C};:U&:kZ~T$0|ƸyS3[; Wup-AZ ҥ#w7[1iG™蚓')v]*r"%sMKg~=gJqEq?:{G6nU( F11-&Tƽc?ݵ{PQ.խw_aGyĉ*ie uzJ&>x!7lL+D|\տ-Sn; UkOlYfb`{cfxܬMAA m{7 Mim&TG?dTYn̽TGGR{E`H(Zz-)r$^V}JH¿eo./ R|`0"M0ۭH80ytzD;y=IhxM2wLnHT`P݊o4lڰzLXYCi$"}E ;t)nQa[tVP%ENބ;?a ɿC>ʈoHS8c73wl+QU}5(&)vq#ok"(q^p=Y:vƪRMV tkqF_1 _-[& ;A[V37lM=Et[LZ{7_ku?,#/IbrPHZ\SHSzX{pCS,x(5 (I#(]gۆ=Bi^$uh^̸)*ᬯf8 r 5r Bl ]3|) @箕#CDxfMY2cE7."EQlK'O82 q$_OG xPuHy^Ϗ?ЅWʝ{$(w@=7)]5> sɬbXVd^jScWt$dLFm9wC4Xryr ꌛ??D@ `3JlD-j:ZY|YR@&/* ]=GElpqQlMi8ԩS k !"[Ϝ8)MG $G Np:<ĘD? fzGLZ'FPt\ J|2x$K-&W) ĴFm[H`_2K`gC Q3JMZ)CNCeݑSfsfm:!PƯ7V_{*M8gNׇ=_RߗfbJPc'k`V6i Gg yMQ34z][q~ʒ*uY'}bRʒؾ( ;b$._YǚiDu$&cT.f.72[{g!aRkL(nWܛ B$Q`TEw(4=''Ve#c@ߛaV2䓽7X62lx% ,ڛFA,nԻdJ{K|Xײ#/S,\OtSc X:oG)]Zn^QHY;gq2f}S' aYâq,:HıJ4 nYNQw8yb(%U%T̳ϙb,kH6*!Mqt'u8bXZJwvh_ N;'bl@嫧Nj>Fq}F人ӎQeY,bNw9 ?ϝ Æar$,p{F @0JuT̄zif vLT  Jl^ԙv* v큦NC Bp U!4 ُc-:E0Z`;36B͙y7kr1OE -^eqKid̀Á˚*@DR )eM[vS5iM'j0~yhb$20;NPs,Pxp Lc!:b;q@@|AC)xyKAƷkNak>u;\kھjzݵ`ț;qmQ:uLa]KG'|D?ԲSK.׈E݌k=U۱ n5V?/5_m²%ep7F3s8)@WZ)*aӯ#[{ "fQҐªek1@b]U+&26'Fazn1KZ59F/}8MT'.{{YIpuPap8@ӇOrcQUS9Z=m ?^D (6 MX2(?%S+Mg=:Mt>^Mp_Jي?g35*71A7v^XKn!bfNۺ#h0{y;u/9Pց-Lc݋)=xë[l[Y~6d#q,h$ZS7F~c3%Q 66b]vR|펋~#yRқ qE_A} 26DGs":bh o^btgEi49n^PaVK?xPюHs-:hwDt?qX]).r:CpyH폰Y"c >7kXNtS4 -w2dI^zٳ3F'wG-BTs KاBP6mO%y>=(gK.Yk6?m *Uy"O5WȄ񯍋 K Fb~y.xEk!5lȊP:vIP\&e ۉt{XRe(H*4f1^"sFK6n}] m6DD8,ߓY &W}&^ +q&D$EttU$gB#>`!<'!kɛs.4aԃB{Y:8gp?=ϫ tFjrTzA2ZNhDR< $3VZAzu%tiX tVCu&?g<%9ȆHNԹd'H;bU_Chs7ş4A +Tp6_#IZs=k=&58ͩNxt(b )'}-i|B{j…gXXJ'/1nIC? LO4O/rfI*q[vC{>>El|~FLE$Hp"lq05\eoV3פ\Q.nImXSDzK U^Bo0%H ;L"-)BAFf5Jif䶨AL:<SJux{)ӵ/#LkU4t-1-̪+8Xӳ0}L@Fm&URՌ(;v qȮBXhVfa7<;TeSH`fԡ5PƗ$Kۆj..cx j{?(_jݼwҎl 1FH_c$VG:{9i5~oZGA1WZK׬Qb~|,UFT*/^@6Iarx_Pa&ҽ8{JDgNДTmA! jGIr 9PNǵf@)mۮ rj?֨٫ߺ6b;8BfG>sv)!=2ݰ'KӂHߪqPpb >fƎaXhh[1Tb13rM%qg@[GGW˼_QP4gx[!Gˎ~tYuyB0yxevڞt[RI@b.)+fr aU K)u3IsVuTј)0}LMѝ_8ϐ +BzlLEA+ ە*! +uW{-7 R>aZ"6f ȆSe6i*F<2~$]O˭皆! FKGJJUs%Z"-ƝBMhO<8\p;jCnPAu E%P!d`coJ9 G aDZZqz>2<Ч8Qi>HN0Iz=цA|vA#?tE5RR$+U-٘Zbnm[n/Mz,ߍk\r\̝+y=Xi<|N[b~ (q'(!DNmoaP.WyNgig?|(]q>DM$ҶE\V zuQF|^ٺw;CI ǸB&. 8GՠhsdJ,QfW9!1|\iLC_ 'Bۢx>D251oMt"i*r2 tiE6Jk:]DR h> fvnH)^ND)Pg4֡kAߧH{a C`T_mA08ŝ@(3`+z=Dt`c ~D:M#,-׶;Y,"bRΐ25 -gmJ mJgD6!ҥ(K&8xX}q^vIV[xn`JgvҬlMƒkY*ǐaAT<}-%z&onuX |e)./->;yiku~-FT %$@a-FP8KާNe"Tv \21hs<+Z5X"5[g_4"վrZqɴh,1c |2ӶjZ̹!3eK 61+)MWd3fL6gMXb?KbTkOڐ(c%_z 汻}.V~ #:0dzVs t[Pbۀ r/R ߗHvM:sy I*VACWc ˧Kj_<5fۦm<# m%RH%ÒPV)!m藡'US4(&UyX<,公Exk@*gl~#;D9#cmSy9 銍OGf{e+<8nq:MVć7oܪa*TWVF̯ ;kelV"t]s8Ob{%0>rC蝝F ,qLgCbTk~,Ƚ~ԛ,V\=tV+;=*H϶]LEM1Kj IN?+αo8vKN`-ã|B|F"e&z^._N9}Ly;ڻƝ.YΎ(7/Z>01FI!DzNz2r&/#: }򭥅Gg :vII'b N˰*glkpO7౽] ƲN-bmS77)x3>οACeSt1$7 unBK$1^b*ukUV[$S^Kf~6ke鱭\#0TC =[R~4< Fj0D ,-!Y ACOѣ/áKf9R7mrQNM'iPn88Fl֠9"*rbA/S'f/*,0@hRREyW ,D ֥Y6&o)Ab?.KSݴ"=v\--"L2Sӫb;\j/|(F`jZ8eR f-Њo7IQːb|mc { i񹗆KwnC = К}g 1zXn'(2У`+qB*l K!1ud+Z؎v>(->hay%8q٨BAf:Gw:<ֻDHseR@F)F"uۋ5,H5Dv/[?]gZ!Ij8U:E#V5{$" NAzN٦|DW'&GUuÊjM;`;Wכ#κ}l.e'Oy(z^<*==5 l!@Uq$GֻxmDޟkVAN i!c-~gc?Fd9,XhtPqP@z-~:㱖n!<ƆgK̏*O$/;'t"0?mZJ8cU?WȽQ0 ᪨il|K{%zWDa߿T".M/TKnxlGbGR+UMXJYW.qº&-fR)ڢ9g1 #F[G% Q{H׎ _NwH?_|Tkߝ~dJ>E [< "mL~؛G2J~B:: jNа˳Xz>&&.|8T@ جU [ZDxg%|P<{>޶}zvF}q%ōæQc Qg b4ш]ME;VLR>:J]ϸλӮ!E  N}R痞j͵ prgZ)Fm4^@'Po>șABeVEƱHBӒ\[dRZHpb=tڒcw}BI^U WgJ<1k.!\w.cRR;HAv6?9rWOv@LEqSG?5m8Im7gIj)!s?~`#wSO=+H6c;&L]>\`dLt>xK/LKDS3,G;)>(CEMF#o,\>>oЇׇ/M 8;a[Bʧ$7t+G;H Z:pgscpd}%,->!|r*N dda5ZUL_dGRqmL{ 2WیѬ?rh ! 2'}ޕ;"aʢ; UDx¨}etjv3³d @bBNWdg #ar]]Snɾ_n^=8=UMѬBI4ޥ( D*tNWxhsmAߐ4{QFCfJ+YoH"ܑc@̓A 6XU`{0I3ltuG'jmͶo:߸̛0"@6lhۖ@OIS<&d=4UXGy3E5&I1CHaVdž orW0P:Oـ/4k-(ҙvl;H :%k"iruQizL~*xJͷb73J3ڨADZ+0n'Cgl.bw'G0{<1 !QkT˰G-i CRH2HL=XE&O?s1֬enUW5'D/F q[:tM{Cd w>cn5_Y륓  tc6Ť\=p5x"Aa9hKkxH IIn@>xH -bp+]0d.n;/!}̡)OmlaHM_a/Y#N; J ڃ@q*B.y1Ox[v:،SNSF]GDNG<{{@9'ܪ"q'F]!81 ps-ӣna6AZ'q*V'2mN ‡# \ @?3k׈CmSawBn(Cn!>q@2]-yAd&sii@ MN1@e>9%FI IWl`L NH澆iZN%gv~4Xw\B^Xd.lfy>Tgm_\iu('1@ђrȼ&WDe%ɼq_YbrUFDeYWS/*@N6sn2^bowL7۫_/o'w-:Ah|׬Ce^<C⠿WM؎9$0Y#B[Fݦd yzN=. d6Ziy{Y&ϴjl黫*sN M`Kw4|<2dj4pm _lCwPxfz<ϜLCM2n 6֢FVX9JM+=.Q.v.U3:DJr:Jn,dΐ ߒ,s}4R&i%4y^y8u(Z((J g(OdX,dg7j #w? nና V~Gj\$0 @BpT{8 \U[ J4|5$/#aBָ%:4  ܥlφ1( OCm$Or4F˛}"{ TFFEb^5ǴškѸ ߑnz16cN؃qSKRvbkc Bh ruNa%Gsֱ7a~K@%c?زnj4~4){ău:`IHwS0wdcވS(1I :uF)xźIh Me/ZUᜱ+ Hw bu_n/:tb){-WtTNMԭUpUcY#.<̛P􃪦}xv%FI<4a?)6)Uޔ+pgJ?7ss#7Lӝ`US eqžnQ2&2V8X*zu+TTsl.=WeNL*Z´8Sy1HGst_~Ⱦ1GoZNV~+hy;,_ͻ+??6ɤ-֩T'uK-RZ祇(m(,E՗h;fYuT v嗅1De5 eF xmIR`2rn/V)'EKhJt!Ϩ K2u)XFHI<+*+FOTF y.1約h+R.UG&֟L6@iA4Ԣ>eoSQ K(7e?$di bΙM|`ry&NM(H#ex. rygd|pQ f'PΒ"%e~6P"a?G bv#|/[Hk2D&͛U(]A[hET}5ޔ4 rN<;|3;˛b1cM0:OZ+iҐL3sԦeu7Kkfa|8ƞ"OoYOø8mhR:I./7Jظs ֍Z‡z5M [r.9(GV豫NG şTvT *;YO/&0+[{ ȫ8;]nuCDp;`۫v: [wr|j2qjn\k+C]6:C6cz'+L?嚯!Κ\ЍklWpM0%x^k;teuK|B9$F膆vc;Fqj{˷Qn g6mƀ`U5ǁ.^AqЋPw&DMcT҆yBI:ԭ?Y̓Y3w];tzaNJ^m I%b+$V9͏6wtHyak>RݧgB k#P!c%z_rvZ= 6ҌVSvaR y`h"p'.8Or>KqQz1CJeJ>pviPuA AGnyb@x¨iDJP3sS1N^ B\?_u媗Rr]| 6 ]:0^ KM#b0 z@ B{]Ak5RV G).Ds$1j%T f+aZA , j@<FL ΄?*c!-&K|'9ͤ_iRE]G9zܬz1w~e[]yʰ)(s#vx$_ysKl=HH7mCW(31m w툨=%?#nTA)S{[D4:'Y*v0Ԑbh*z52ɸrN#ಞNIl>ΨGؠK$A!G ' g Xnf7 F6Nahɣ֒_1x/}OÛ)n^k\'jmTJ\V迈*VfmEW[c4L{nո6`j ֯?޹_4zuWj!xȑ#Gb_t=f7zM 6VB>@ ުfœPщHHEbLq:HD  fOcn6n o")QJ+ ֐NiLΝDcـ#&}NōWt ;6G.ᒘqQ&`O\pSu-UX'D/\#Ptf=W$|ρX D8̾ƥ |66$O/wVJ&Z YgdX2L`pd-4}KڣehQ oӆ4 <&@C@i߱zqqfBg'nuL (ˏ̿Y`;7 !&H(H,/LmD=&X +NSԕԝ#uU kjiu W[LKHp29\a@L52A۴0w)ߗO!f5 r/WYW`#|p|C@uC"]vjoc|Wl__N4`b_QxS|Z 8zqs^A350}:gZy ATF!gUSb1I !3FO&s}9sYWQDQzÈ .WjO# 5rNP-_&˸(syN sĊc0SO΍c{{=lq(::-"j𱹗 ;0Qww57.Y4#^ʊ˹˘6 ᙯ w[Y7;0c㒊hp`f-.IGL=~Tjpɶ[2^dt^Zh`E-c qk Jottiv0!@n̑7X^Gn$/,6ݵ"K0#n]V2Y!nPcv>xm$眸t׾Jv60KOBOf+%NpUF^E 2PiKFߡs|ni%&}C!_#3ȋsu+>-7T߉v|nXw?cvLΚ4ì_B{z|0a htVd0◌OAoPD{N=~Bz*k-ff e$62r$au"igO e>wzy]C`mfRlUx1G7ε1qR( B'eLaw6 ޥ";9is!f߳tcSTCnF ikLg'""ap"#vlq~Pxg@Rn9u ߲H'Z{+w4OI=g&5e ub:hftچ3ߣ%f;^/t(̕!{!CүT\; ^=dR SN&h\]w%a Ro v`ԍ3R=+:߼É!oֿmǐ 4fY_|!jS%~U7@Y|QQ.O^Ԕ(Dt=e#_(j"]'MVL +"fwz -T7;Y["A<`幸1b >x>m={aBJ9 ճI4!&Jkۗ3PA? rvf+m5 a\הt&, t=`g|k hX`wxQ--x*$c"Sl&+@PJWO/ƃff<ݮ6p $?*#mٍ E0y/O8I-*^[4|_`>mg]^Xv`qbid2;.D߱$cWq.dkEHX#"qh>)fbS ]1thto7\(9i2]Jy}|`ㅬ3? ;.X! ܇˦B儣֯yiHAy$+(\t7Y+]Y m՟L<&*lKIg J9aKfCF3_d~Ayd ݣ)4xK8]SuuP}L5-G$'3/)H(ØagFBS~rW{. |$ )*w-[[p3]uH*\@_}ݶi9Hm2겂45!|=Ip<>6%'ks. qS}iD%0^sFd$K.nљ3jUX3|r NVorm1\lZJ7J$blܵ{2d5'8v̴~a6D'Ŗ*v" #U#ğ+B,\Xt.1F'"葉f[Ghw3h+W /ٽ||4`2oy#U`jig(ʡtPՓ*r95`e0n7F?@M8K@`}W0h1iߨq@CU l~JP|0o4qmEf b'OZ?/{qH=۪u6;Ri7ϻTME;'?<,^M?oy'2[{ttrkk7^-ęQ/=\-A-hKCA1o C՟(/r e=x3Yt杼:D30-^`HԇY}L! }pm&yâU9Zu18ϷI31``>B %}HlákT^R1)~+Nu3;`[C&7vQdN$z(mɩ#%, ggus{ƬTڴue ݯl_<{%H]("r#=Y?^ ;.\Du2?bGOJb[0Вa*Kߑ95' Eꩂ YAiڇ<m!o3_`b9MS6P`O!`abߛqUAǧVЗ;6I8-%Kf^8ؼz?L 6k.38/^a釲 Ҟ?} ֟l77*M N亁%֧T1n>Ѣ*Ŭ5˧x t^Z !nl9gXxQ_4LKx^5?PFھ[;MtSBԑck=KAo0ӡPUHs[9tA4;s,OnUK\G_F)%B~ >+ϋ33 !wEsZ }4~z׺$pr΢:]Gl'}jPp3I`}Ou3?rD:]l ІE{fd>Z\@T` t˹;*- e kFm;gxH05/!{bI!|$ b W8{Ҟ'gXI_\ފ-.[G-VVQo&8<,Mߍ: $3/~3DZKTX_҅"tS~?P'֔MkCD8Ȳi* }U*|+B G[N_{0jf|_[%}|HW~ؒ)=nǸvWݑXK 8klF!o[=g}m޲Yn.~h-f͛}88 q. BɵtLQ0^a,'sNajk#M9U=7c!!bWIH)-MQf ?-KsV#vs}jҍfJoiTZ~TNo=mg$饛 pxRG,p, CH3۳!NaԵaԵl?# L& t[ipf3X򿖘*J'1hȬ97vI 2#E*C(#ELH06 ۅ݂HZGτe u5HL@mE<=R窌]ZAm󱝜dȗB#=:$Ԃ9L5"gh뒕Q\>6s;6a o_&ˀ eOO_7 M >5Nz*{ZLc!;^UU [?!M8gŽC `Ѹ=NCt 0nݩM,i"2O)I(l/S +"⮁JsNsLFD ~(!4dM=M=b򐲉Ze.mRzm &68]^OF'N3j!y rDtԬiud捖tMm )K=[&GjkQEL Y"k1qy2)nai\4aA'J 0-:-q2Ћvڐ9%c+k*Ahg st2 `Rf~$%22ʖ[>Hj`;!9_/SĔ\V\ѕ(`c|͊'k@e:d)oѦfPNIhhACA *z̄8Oƽը|/8`\{M2P Srswں N I`s}A!l@fslcl1%GZ_^`v]}@׫7{ My`$s9pٛƊ4 Ll)βL.@# d8 \'qvi /tfEh2 PEe̗8ƨ=, h)/p]u_x!D B#6Ee^a@ڗO]=tD^Ϫ$WRZĺK"ZTrMGhy;{a ]P{/u!> 6ʼn<6~6a8SEm/_mؤn$ ̀Êgc>T< E>Q\7@|1\,(L^lR1$V0w9Բz(- ೹ic$ (QSmhz WLt/xNv5Hv(ekHW=fƽe]Fda?ԃ-;#BCEc*_P]HhqʺY{Lq҂VNOϯ8&6t` rDzA|`BLB`iեILR{UiYpeՀ 92;:fTNLru.% 2Ʀ/O~]r&}JogI݊;\lOa#l*O ~Io?O-@ w+Z:|@$îA%WFP}f0ZǠGQԤjNW0R2XK?$]p?n KDűHQDv&QA F\#Ji&O9Φpd|bPw鰙=&*^+rn ݹƊ[J)gR ˣk鑑zhqL+hW_(]Rb*l*."#}jZY6`{VOUQ8"Lumu՘L1_l'ѽ~<8X}u'#5EdJ+lUmg7q- {6̩^@=~<&$S'L -iz}a!b}Ic,W(=t?v'yz9 2^;ͼ >T@r~_uO}'Il\ғ;S"c;N%̦N%8n) 邩I&[.:TƲPP'ڨ6YQzÖaA *Ϩ/JR*Ul429?4sNW:$-冖 Np@aCj z;0ЅxM,j~oep<SG15AB0ۅ}Q/i^L2탘[aA4ٞ?\<xf`6PFiMAPb AwsH9̖kVNy>\(S?zɧ3f-#O}/ \VVG̅_ۃ_? 73r M.1tN7C@Hju~Z<;5G-{n5&L?y&R Gh_ sȢM 1ףة*!VĎ?`ph?b}ǒn$/<дZ`'%4|m+\.\sGcx#8VQω1oH69-FMפii;rOtl,mrmb=lRjTVTf7דij!ci_Io><_>'MsۂBy9RM,f,aڻJHrU4bb(K{ǀuFq 7_i OYZ?DX9VtDZ]w~P|@h x4{Ej@Y_˚RZaanpI~Q#% hz+ ^4?4A,bMNc 4QKJ-]Yg6Nm^tJ14eAื=jD{yqzAw9|?(jcHuz$υoqx]:lRcŵY'4٭?U;Hy;@z\~ CtՌ^ P~Kf$YvXm:7(Dѝi[БV߭vQK0hxd7ԝOIbXDuUYB:9ZmX= F4nʟ &z!#e_ݭ!D&)|[56PT3=g[QO x磡'nӷ4=uW.o[_g4dM~T 2NR;Of">\no$h2-+h,24T:0DKMmO&v zlzhsxGNMJK[1;aDsC`Gk:,6C;VGa7G)eI;vL3dniGָ 3*fm/op=GKjOk&goDq\2^Z娘kq\}jPΒ# ͣ؋$I??z|~ayrCOSP&3/F{PMuL! f9ϹPС}lhvМ_}QEZJY?o]hP;/K@nK` iҴw܀{f^(6]S:X6JQ ;Q cKRfjktw%U7Sp]8+Pk؜kM+Tɂ6f-(`1^2{!Ɉm5:%%80--GCvHou?.n\ 7)=j1Dj.<) tW׎[ df+JYl>Lϊupq)yo?GOwrc:9W+4z_@|lqL3W&m vO9#_U X–`7S0vJFWڨ36DjD妛Kl[,bX@>8@ϓ:rj$Ăh>d²hLc:,:WS`9KK2vNh0Azd~-Jꐖ0EXI)_*jk8V=#puu2+P )w` s/h] YGqfJz*de,,.\X@_$e(fFqIA^,Fɕ'ydJ\cEڪ煔kLs:raL4~YfV&X(}eCvN֧-[&7YԄ;^/:HJ1:PX6煽b p `_%$_ox& ,9RNW ΢{aN"XR:x,&&w꟪#Gwb<3N`5;3z?v(:ՅᠣΉ,O24XEAxO?1$T_l4#8Bm㱴J]{mҬۿNKMױ/" >yJ\/3f=nw#8NJIr`oTC8,K@CBZo$5)o߰$ O/O@x'&nh`חt(|1Dwj d`*]7>6&F!=IY$>[kD$SMoLSDC(i DIt'nm\J~)0-⒨ rÔn0JbylY+Sӌ]@IDoԖ \H  ͏ f Jb5Iq}pܟ]"mUX/G#򵲆hsiTYlƼkx) AZ|QB1UGKꩺ /xB9Y k*| ^ʐĴk0Yr1um&BVې}к3WO 6'z(Ӿi_cqCš^}hfL-_6(D@ok7|tc† x:9M;[co,)J[RZY8\αUK23_P֏4)WPNA韰?O9n'G- y б<*ݘsKS?`oQFSn+>wlS@i7izPBF :[=(+N5nlhp ^ Să@2}PbBөZ^A5V!S@!Vϡ;jGÌLL% d_D]2bZ<h,7zE2вȁ껉T#5T!ck6'g_,%'b9@M6ҼS!8 Uzs閉1\Ta;#O&Һ%|j(uhWrymfߢS,VkaR/tbQCt[&D+)d$5ˌ;a.|2o+[ݎ1Uه鴠qh7PTCiŤ[=)l8HӲAXc-E(PA2;e j7]?ppw hQ k_&^%G(r,;Weƌ:"[9: R09NHYA&,$-Ք-Uq(4ccRK/q9v m_UKNoPe?7E.FY0(\۔獐1r0_QR O&?Խ)?FdIt Y~)TK\PQ54qVC Zn~8F~\L5 .9K/(+h_c)A6j>FTo2sV8;|l#}]Ga"mK <3h]`om9e\CesRW?64GUep ^6(P=fE0MCz3 5 :"&X@"vM #Kg,a)iG1 #tN0`<tZ?hRY 窑ut#=E3mD9t[S *ox|ҵ}f0))@8#Wx%k@X> m K 9h볺P jD}ZKXC?1v>yG3WXilh*A1:Y$lC tk6sI\,mmcmIfKh{520/73׸V!0V~P`x5{5:|Z5o/E(>0u]!6x+(5s0} 8ñaڷ?I,E<$X^LsA>70v긅M ~MyY@+W,_: 沊H툀9rnl( X/o_2{ǽǁ6s'vI[FX~@RM D+A><ueq;Hd?lV_0P"S@|]^,zLLKCvo-ǢUe _Blu[y0.t/Y2!,Mb̶5yx_*#c$pu" buHCr-]hp-7%x$ޒ(Z~*ހ橺,9}E ̃j1Na?g9VN+ź:> Sw!1P5UבS &bK)y@ qńf;sA FSk]DgLॖ.l-UI<-V=0頗6`eg(ۍ|E>Κݤx?T}{k ʑ]l7-- -Dݞ(L\! 8fDTYS&rk+Pu}7n0.ozlKRپ͜v!DUw#b,/ "[SX5g:3dIA#z?.7&M6Hoeqrz`˳??t}H(0;NaDaQni70Ns f:d.*0RxFy7,VdSa4 $~e 6^GoQ3rmzĊVr~=+vs'yrt*LJɦX!kI6 x7U2حW$F\6ft5+׎} \~ZP8Ե~WZc6 HD ܢ,>]G2;T@s؀OɊqdM'' n_K }^YpP#MJBy c: U0{X V<]6~f Ԑ:ob z1|yY1C1GFaw*@J/n09WOwM5N#wg0*ЎF1`N{mT%4^[fy7p>j\ZYX|9ijDQ3`_vW!UHG*d#0T`-$bXKk*6F~X":d~&pOaKJ zENM*TS Su%Lߐ__wdCEֱhУOQ@<; Br .Rؑb[˲m Z-,OHNU8-'ޡ#/¶ڠQ1s6%\tԴKsxAak3;"!Hݢfxoge:dX7By_$uosݲi$^\KUfn@tU=eGfG8m6}j:(#r,O9hm:[s#G'=;eRme@#x۲A(2A.J!+\JpSY x{Ji9R`޷9oFo h/&#Gy,U`N{.mrKo0EZDZ#\Wu@cyo\9\-cMb줇y:WaIrAϟ&'-Qʧnp~' 8+|idjSGQa5U~-!p?+2(0Px^ ǨiU9L#^u2}oo3n%$Ii ׀Xߛ- Il1~/Eu`kGZ:>CAEM|: Sggx]XrIxw^G[e &V[eEQj$==EZMgfE0C_j}'\{Nsl{՞ڶ0遍.A 9$\+(Z)%P~?cel@@bm~ب>xvUůnU=D5}:l%Nِ^pa'ZhѸ!`mdW&a'aU5zFcڇ?&6x'2OJff (Nۺs0 ;ss +FZf,0aoR39rK\JVu69}܂vlrяc9hw DVլq.}جquCKb\@f/$<6pO~Yo!RnK]1躙[mo?jG$gyCz5 [*.cmUNu!@ Z$?L]w6b7jKf$ 8;‰::(~#VC!c<񗚦r]R.^Q孞nʁ'f;_ I21\Y˭ @3 *.̣O)x]ҤmȭF5sz'?֘D #j&O6r\}[-8悐Dzm"Q=N_%#Z£`D1 l'm`1iys O(菆NNoɐ&>$Jhn CXېy|AwG DugH,Z "R3{%P(֩:Rxo %NLz+i.y蕕Ok̩1n^& ^/YUI෧F-Y-%=AA'0~ӳgf}qs9X_d TqX5} mgj?ޟ (1#`(EP-^j¯gvHP8Yr6f6w?lǂ{=.s`1"kB9rNmEySB`j'cw4ªG#R _QH7A[fe @(PQn/.+6Rh{]x[DyA"Tm'k# x^uʣLBC{= i6g[lhk#t0+3.ր/G"tNGQUܻ,wkDLQyKeM Pi1a!x_꠼wAׇ^A6/_MQ_͜&~m5 &[E ,0WKex1e.u4HWS:BmMT`U)/k2Ar 'aѨIK -E``U#iXE ו:5ʧôbg_`"¹z6Al~]!HtrMT<%%8x:B%@aRWÝOLx1黇} rO,wh*3]|A.yV7SB G/ C|-ViʓTeιKGǫDYKʊ͇!{$<<ijtACKn3eK~fWFLŕH;^1/Z#/u=T6j7ZE/1p/++v(pj04cتիV CǤ+Mr%a皂: xEJuO'[Weu@=G1mJ83S>,l.eVD}3Ԗ>Z`>NTE> U4n"bه ZVNM>d~ -.7:O"c?D\W9Q/L' (Dl]t w蕝_-WƻcyFID$nCUzzlŠZzK`[;EkڮE2&I%,^OtR8ߩʷ6v:26+;*e8r`$fBP{Uӭ mi@LMPE2rؤ; " BC/}3 u9"ڒa[> -zHKDwjL7V%,\Rr6i4?.?X: \%SkZo&MBN%ͅN w6Q]߾!xyl$CtS,lU zNܳRnU~`6MPJ%ξeMں7&uFRcuǜ)(~n՛64o6r]'*ݾUC+ÿ;65qTACY6UDNaw`ǝZb1 a(<$?tllf/l㑖O@#.~s4 5cpHǪ-79Tnгv cv7;^W's¹`+GE0av;âOI?l~0x,OoJφx~ TaERF@:ѳQKB[9Zq"DN)5f>n?Nc _>t#BrߑLW_~8ϣĝӗ1XX":wO]>]O/ }=6j/m2ac.rHeiI(bE4-S v΂)~[Cx{^]L 9je-®4R枺jE2Ȑ(hB"iG(( zOİpMVb 4]A *׾r=$d2< [m"r *Ǵ&Fn ^L&#Ix8ͅ\UK=*;ko~V7 ~XؼXL!D-JBX"xUCT_\KE~i[Oi+)p?<*8ʤXR2 ܫ| ["I2d4t­)VM  2B`cѩ8 "d\ ,pm] 5.;DuQh)55?% '`g4eO;v.(y7N=*~:x_,'0|!ZE"4};ގ%wL\"r\Z*J|x(Hb6݉ lKm4äIV2CBkSfsHv`@lAzQB)%4)&v_w(^侔 ƣBOH爠^b_9.}r.K`)ʒ.Ads> r߰%g=՝1rk- tw^L>5d:jIŚ.]0FI f'B@F }<-FȖvNsc PELxhdt_efdܸ; ҈-8@ތj) ')1O)PA0N|So7hRn3  y}yIk6U]^dskTmXaM \2Bb|Ѩ2 0Ju ÊB$튮AvtQ@ʂğK[C+5jy ;"-V0^1" 7*f+_琀\|О \ KoSmf5!0U_|^~qM !_ -DҬ _*ϲ0RU tu$!aQBcɤr19vcӁ6>^⣸oxY3ai^댞 p"vA d6?/uqhCV PCTbwQ_5oK osE.xek8Ҏ:|B~Es[{V!Bh4m="@[$W;. rw_2dO>xMܴ'\ :A;O;BZXZ`*2ևy F4ta0xTE$}\qFMFlƝd{ܽV>DT kJi+yZ^]+ O6Rń85Oȋ{gpG0}SAL`*pA.~XpnvRD.D`D$eq/-.?$:i _:v2,mD&;\3!_ﶴwB^w5pWdӮXeQe{rGβUh5^?eɰ߯6DgS{69ͬs< sH`5R!d`m!:@Rֲ;0}%Nw3qzԂ<ÆC{8: ey|sx/xXt~DyPW?Q\UlفϪdo"%qũnǚm>KSJ3pk݅2ie>9s1ݜ5b5-c;*@p+<^T}l,"#5n8@v,o0Tlۆ*?x ƍ)g&G c@#Ook{;WяVi?,ZV+/dw"(Ew 9Pt{,E Og#ʜ1u &ʬMTW }j,JJj'#O\AFb`&V$I"6[~w*X`B%F)Li(UY,s!>3#naz<A$#.!ZFI Y߿D$>{H<%/ņ̺$7U^B&x.|ɫpΆTZAA얻[:tQ=bBAauJW)P`%ACc)@H0"- r{LA 6je࡭ղI?/xǝ^x}X ָ"Bt9 7@P%_-9ܘoޞ|ce36Xɛ]}WYJ&zR۟dD rs``s$aj+ɕϼVB+z!4N(YM%x*~jM缾Zx+HXU۲잊12MLؠ|Sa|cˆcܤGQѓӑj>\|.CP R#c=mXFX/ۛ@ )o>i֪kj|$_3FiT쎃 dkGq&e蒀A2`3KZF |4lHs(unϮ/aI6ldI]"ߢ_יF[demJbQJ7OgPSy%"zgP4:M(N)pDCx(oL@"1^ߩ&!COl-u{c><>)?hBD(tkRwχfd`)7kjo-8k:( q-!u:$G|vn W::$_Ĝż7;Re)Z`Xs5]?c~0gMk^oV)Q:R^;42'ԏ~ ׫CD*c Hrak7vۡB-Npx?6U?z{vd" -łz۸ꊦ J`C+/3#ja"u߁>(r_1p(P -&#Õ{vʄ|6ɜ J%:uS`ӹ1*\MFsK ՞甐n%ڟd#Td1B65vZ@4e̥ 6^hr-f kT xӝV7RGjg)yHf݋M+>O|Z^8ЫlV\)79Ĕa+o^3CzfL`lf[@EM,G {Xâˁm4jClo:P+ɔb882)N'[gW8ġ-^ 8(MF ۏ8!;O.aaǙk$<\'&XiWPf Sl繝1&3 ɅKԬڟ,證T%Ws<ɟ GZx:1aj^Ȯ;ŔǕxHF dž\UoB JXSYzHҽX.Fp;~FҢ*5I PvLNU&}y7H2|RfnF va+{)>Aa %ڟ9[S\$"// M-oBʁ?vTzʵIu,@T>p r QҜralhߖt# 5 yY.\q؈/xOOґ'7q&ema[`֢% vm\8R`PU-|NoⰐ$˗iw#|vZ\H|8 jUdӑ#PўIPӻrNv@;>IYܤ #kUz B+pނ1abAv5qY,u! 3<.Q@)n:M8~3Ry=%_{>O&fL{.*iMJvU5mf6͆#^|*0mR^00Duq۵nWBoD+d8wȘP/oiyjA9Dc71W "? \9R.k9f2W挘͝+r9K\1ə<˞+3??+|b?\E~=jLkfޫifhPэvi\h:X;w\6mn+:F $@/Nynb(-f9iNXр͸[c5pw|2yZN?xN/q)fÑelcCSN<TxVDQH{!Oa]Hf˕K$:i?jq7qw]RZ1ɖ_X,w=,~W%t2BǶU޼¨YiʗVt% zekO8~NU^z|yh%ͣ$g[8ն+Z=KMlr]_ZrP~EmV5@OwųhˬŒtzGaũߡ5wV*mJ5򻸙~i[XiaZX9p?ִ*{˄"ҞC5broDwGsBV>^rӲtoV'-"qa% Rӭ_̹?(g>iNz0W(A58LnVz*a4}(&fH4a ۗg-Kq&}ѭYq0tQ΁X{ghk83&l ;;}2$n_>|Ʉ7K7CY*r&RF`m\ƒᔹWCַ*L&OlUrpcl[>u+˚,[OJyY~>PDvE.e|$Sf񡜎2WK xI!!ńPG<S9RlVo] GoR'\Sɴ*5Rz3 {riU>lE(ڢ26qԐ&8ʪt}(x*}l{nlןvS~ݤ t\b ^P6*$guAY,w`{41h:gK~{Ph!< .C%h_8~RrFA3z桧B;Ϣϱu? Wk&3`AIved˵KUG>7dwB6bw} i\Q\_!8SqXlAɦH+ٕf\ TƋܩ~M Owگz_GEΧm O,>77O#ͱ0VInv!!#y ?|լG 斚ޑ|$;k{ߞZd F} s-R/Tyi@-KֺE.-,OY$fzmǕp%YΚ1XVOAr,8L3"dZD[zߊ2FɡswI4\h&YDh8!u//DJPcRL5Ԏ@Ur$z $ d=* ێiƙ;>WrS<8K닄  mq#G6*\Bsp.H]M3wyLpg5;',]P~|pz\7;_^?Go52Q?[9|ٻ>J fwU֜Oȭk6.?OvC ږffxs[9nNU+=Z^9wÊ9gϴM+-Q+6'[-1- 7}0W"n BZ6-o`D@e6؞#V޴Zv.,q~Qq tבei_ > endobj 29 0 obj <> stream x]n8ཟBvQXO HYi@#WGt>R4uwϷ?oytnW/^}cZNy:Շo|v/yUjNi%]O| _sՖ㆔_cs^mzWmasM]ǧôڶcsS1疹EYY٘ w#rbNsmܳGn@?@?@?@?~_~_~_~_~_~_~_~_W~_W~_W~_W~_W~_W~_W~_W~_ᷚs~7~7~7~R~7~7~7~9w~w~w~w~w~w~w~tF8#Hg3ٶ l+ڲr Y,h6;сDt8. Pi|Fv +KdDTguNm-^F ̸>-AāNą,ua`ʼnALt&8eM<#art˄F{ǁN tޮLvqpvvΙK2=n=azf1OOg$@;<) bwW<}ynS~y.XG) 3,ud@ژ4͛rPvc1Kzp endstream endobj 30 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> stream x]n <CٲTGIT'a Z߾8HC}Eyco9 ;3qUy7B&LjCM/K!7Faa}[!ly)o"(QU`K|pLjl]B9 .^U8m5(J*(J Jyj^J]OjĜsqG=m endstream endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 1 0 obj <>/Contents 2 0 R>> endobj 4 0 obj <> endobj 36 0 obj <> endobj 37 0 obj < /Producer /CreationDate(D:20090622203408+02'00')>> endobj xref 0 38 0000000000 65535 f 0000230692 00000 n 0000000019 00000 n 0000004817 00000 n 0000230835 00000 n 0000004838 00000 n 0000005497 00000 n 0000005517 00000 n 0000005706 00000 n 0000005997 00000 n 0000006155 00000 n 0000084499 00000 n 0000084522 00000 n 0000084710 00000 n 0000085655 00000 n 0000086620 00000 n 0000086761 00000 n 0000087105 00000 n 0000087315 00000 n 0000157234 00000 n 0000157257 00000 n 0000157445 00000 n 0000158390 00000 n 0000159354 00000 n 0000159431 00000 n 0000159734 00000 n 0000159911 00000 n 0000227891 00000 n 0000227914 00000 n 0000228109 00000 n 0000229054 00000 n 0000230022 00000 n 0000230083 00000 n 0000230372 00000 n 0000230545 00000 n 0000230637 00000 n 0000230934 00000 n 0000231031 00000 n trailer < <442A5EB9C14504C06948933227CC9645> ] /DocChecksum /CA04AA2B2A0286945C8D860430B3F8B5 >> startxref 231218 %%EOF tucnak-4.32/doc/README.win320000644000175000017500000000032711277513162012245 00000000000000 !!!! Warning !!!! If you run Tucnak under Windows (cygwin version), tucnak MUST be copied in C:\TUCNAK. F.e. main Tucnak binary must be C:\TUCNAK\TUCNAK.EXE Then run TUCNAK.BAT !!!! Warning !!!! tucnak-4.32/doc/Makefile.in0000644000175000017500000003447714125266462012511 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docsdir)" DATA = $(docs_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = $(docs_DATA) README.win32 docsdir = $(datadir)/tucnak/doc docs_DATA = NAVOD.pdf NAVOD.sxw all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-docsDATA: $(docs_DATA) @$(NORMAL_INSTALL) @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsdir)" || exit $$?; \ done uninstall-docsDATA: @$(NORMAL_UNINSTALL) @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(docsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-docsDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-docsDATA .PRECIOUS: Makefile nagup: rsync -atuvxz --progress --partial $(docs_DATA) ok1zia@nagano.cz::ok1zia/public_html/tucnak/ nagdown: rsync -atuvxz --progress --partial ok1zia@nagano.cz::ok1zia/public_html/tucnak/ . cygwin: mkdir -p $$DIR/doc (for file in $(docs_DATA); do \ cp $$file $$DIR/doc ; \ done ) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/configure.ac0000644000175000017500000006166014125263543012154 00000000000000AC_INIT(tucnak, 4.32) AC_CONFIG_HEADER([config.h]) AC_CONFIG_SRCDIR(src/main.c) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) dnl Determine default prefix test x$prefix = "xNONE" && prefix="$ac_default_prefix" if test -f "/etc/debian_version"; then echo "TIP: If following test fails, try to run: apt-get install libc6-dev" fi if test -f "/etc/SuSE-release"; then echo "TIP: If following test fails, try to run: yast -i gcc" fi dnl Locate required external software AC_PROG_CC tucnak_cc_ver=$($CC -dumpversion) # --disable-opt opt='-O2' AC_ARG_ENABLE(opt, [ --disable-opt Disable compiling optimisation (-O0)], disable_opt=yes,disable_opt=no ) if test x"$disable_opt" = x"yes"; then CFLAGS=$(echo "$CFLAGS"|sed 's/-O2/-O0/') opt='-O0' fi # check for package type pkg="bin" AC_ARG_WITH([pkg], [AS_HELP_STRING([--with-pkg], [Set package identifier for automatic update (default: bin)])], [ if test x"$with_pkg" != x""; then pkg="$with_pkg" fi ],[]) AC_DEFINE_UNQUOTED([PKG], ["$pkg"], [Package identifier for automatic update]) AC_MSG_CHECKING([whether linker supports -z now]) OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -z now" AC_LINK_IFELSE( [AC_LANG_PROGRAM([],[])], [tucnak_ld_z_now=yes], [tucnak_ld_z_now=no LDFLAGS=$OLDLDFLAGS]) AC_MSG_RESULT([$tucnak_ld_z_now]) AC_MSG_CHECKING([whether linker supports -rdynamic]) OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -rdynamic" AC_LINK_IFELSE( [AC_LANG_PROGRAM([],[])], [tucnak_ld_rdynamic=yes], [tucnak_ld_rdynamic=no LDFLAGS=$OLDLDFLAGS]) AC_MSG_RESULT([$tucnak_ld_rdynamic]) AC_MSG_CHECKING([whether linker supports -Wl,-Map (GNU)]) tucnak_ld_wlmap=unchecked OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Map,tucnak.map" AC_LINK_IFELSE( [AC_LANG_PROGRAM([],[])], [tucnak_ld_wlmap=yes tucnak_ld_flags="-Wl,-Map,tucnak.map"], [tucnak_ld_wlmap=no LDFLAGS=$OLDLDFLAGS]) if test x"$tucnak_ld_wlmap" = x"no"; then AC_MSG_CHECKING([whether linker supports -Wl,-map (BSD)]) tucnak_ld_wlmap=unchecked OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-map,tucnak.map" AC_LINK_IFELSE( [AC_LANG_PROGRAM([],[])], [tucnak_ld_wlmap=yes tucnak_ld_flags="-Wl,-map,tucnak.map"], [tucnak_ld_wlmap=no LDFLAGS=$OLDLDFLAGS]) fi rm -f tucnak.map AC_MSG_RESULT([$tucnak_ld_wlmap]) AC_PROG_INSTALL dnl Check for system header files AC_HEADER_STDC AC_CHECK_HEADERS(arpa/inet.h ctype.h dirent.h dlfcn.h errno.h fcntl.h grp.h iconv.h inttypes.h libgen.h linux/ppdev.h locale.h math.h netdb.h netinet/in.h netinet/ip.h nl_types.h png.h process.h pty.h pwd.h regex.h signal.h stdarg.h stdint.h stdio.h time.h unistd.h sys/ioctl.h sys/kd.h sys/param.h sys/select.h sys/signal.h sys/socket.h sys/soundcard.h sys/stat.h sys/time.h sys/types.h sys/vfs.h sys/wait.h termios.h utime.h winsock2.h) AC_HEADER_TIME tucnak_libc_ver="" iprig_libc_ver="cross" if test "$cross_compiling" = yes; then iprig_libc_ver=$(cat $TOPDIR/staging_dir_$target_cpu/uclibc_version) iprig_cc_ver=$(cat $TOPDIR/staging_dir_$target_cpu/gcc_version) else AC_TRY_RUN([ #include #include #ifdef __CYGWIN__ #include #endif FILE *f; int main(void){ f=fopen("conftest.libc.out", "wt"); if (!f) return -1; #ifdef __GLIBC__ fprintf(f, "glibc %d.%d (%s)\n", __GLIBC__, __GLIBC_MINOR__, gnu_get_libc_version()); #endif #ifdef __CYGWIN__ fprintf(f, "cygwin %d.%d.%d, api %d.%d\n", CYGWIN_VERSION_DLL_MAJOR/1000, CYGWIN_VERSION_DLL_MAJOR%1000, CYGWIN_VERSION_DLL_MINOR, CYGWIN_VERSION_API_MAJOR, CYGWIN_VERSION_API_MINOR); #endif fclose(f); return 0; } ],[ tucnak_libc_ver=$(cat conftest.libc.out)], []) rm -f conftest.libc.out fi AC_CHECK_LIB(m, sin, LIBM="-lm") AC_CHECK_LIB(m, cos, LIBM="-lm") AC_CHECK_LIB(m, tan, LIBM="-lm") AC_CHECK_LIB(m, acos, LIBM="-lm") AC_CHECK_LIB(m, round, LIBM="-lm") LIBS="$LIBS $LIBM" #AC_CHECK_LIB(ws2_32, [WSAStartup], [LIBS="$LIBS -lws2_32"]) if test "x$ac_cv_header_winsock2_h" = "xyes"; then LIBS="$LIBS -lws2_32 -lsetupapi" fi tucnak_mlibs="" tucnak_mdebs="" tucnak_mrpms="" tucnak_olibs="" tucnak_odebs="" tucnak_orpms="" # check for make AC_CHECK_PROG(HAVE_MAKE, make, [yes], [no]) if test x"$HAVE_MAKE" = x"no"; then tucnak_mlibs="$tucnak_mlibs make" tucnak_mdebs="$tucnak_mdebs make" tucnak_mrpms="$tucnak_mrpms make" fi # check for #pkg-config AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, [yes], [no]) if test x"$HAVE_PKGCONFIG" = x"no"; then tucnak_mlibs="$tucnak_mlibs pkg-config" tucnak_mdebs="$tucnak_mdebs pkg-config" tucnak_mrpms="$tucnak_mrpms pkg-config" fi # # check for libzia # tucnak_libzia_ver="" tucnak_libzia_settings="" AC_MSG_CHECKING([for libzia]) PKG_CHECK_MODULES(zia, libzia, [libzia_via_pkg=1], [libzia_via_pkg=0]) LIBZIA_CFLAGS=$zia_CFLAGS LIBZIA_LIBS=$zia_LIBS if test -d "../libzia"; then echo "existuje ../libzia" tucnak_libzia_ver="$(sh ../libzia/bin/zia-config --version) in $(readlink -f ../libzia/bin/zia-config)" tucnak_libzia_settings="../libzia/settings" LIBZIA_CFLAGS="$(bash ../libzia/bin/zia-config --cflags2) -I$(readlink -f ../libzia/include) -I$(readlink -f ../libzia/include/unix)" LIBZIA_LIBS="-L$(readlink -f ../libzia/src/.libs) -Wl,-Bstatic -lzia -Wl,-Bdynamic $(bash ../libzia/bin/zia-config --libs2)" AC_MSG_RESULT([yes; static in ../libzia/src]) else echo "neexistuje ../libzia" if test x"$libzia_via_pkg" = x"1"; then tucnak_libzia_ver="$($PKG_CONFIG --modversion 'libzia') via pkg-config in $($PKG_CONFIG --variable=prefix 'libzia')" tucnak_libzia_settings="$(zia-config --prefix)/share/libzia/$target/settings" LIBZIA_CFLAGS=$($PKG_CONFIG --cflags 'libzia') LIBZIA_LIBS=$($PKG_CONFIG --libs 'libzia') AC_MSG_RESULT([yes dynamic in $($PKG_CONFIG --variable=prefix 'libzia')]) else AC_MSG_ERROR([no libzia not found via pkg-config]) fi # tucnak_libzia_ver="$(zia-config --version) $(which zia-config)" # tucnak_libzia_settings="$(zia-config --prefix)/share/libzia/settings" # LIBZIA_CFLAGS="$(zia-config --cflags)" # LIBZIA_LIBS=$(zia-config --libs) # AC_MSG_RESULT([yes; dynamic in $(zia-config --prefix)]) fi echo "LIBZIA_CFLAGS='$LIBZIA_CFLAGS'" echo "LIBZIA_LIBS='$LIBZIA_LIBS'" # check for glib and gthreads tucnak_glib_ver="" PKG_CHECK_MODULES(GLIB, glib-2.0 > 2.0.0, [ AC_DEFINE([HAVE_GLIB], [1], [glib]) tucnak_glib="yes" tucnak_glib_ver=$($PKG_CONFIG --modversion 'glib-2.0 > 2.0.0')], [ tucnak_mlibs="$tucnak_mlibs libglib2" tucnak_mdebs="$tucnak_mdebs libglib2.0-dev" tucnak_glib="no"]) if test x"$tucnak_glib" = x"yes"; then PKG_CHECK_MODULES(GTHREAD, gthread-2.0 > 2.0.0, AC_DEFINE([HAVE_GTHREAD2], [1], [gthread2]), AC_MSG_ERROR([glib is installed but gthread not ?])) fi # AC_ARG_WITH([sdl], AS_HELP_STRING([--without-sdl], [Build without sdl library for graphics support (default: test)])) # tucnak_sdl="disabled" # # if test "x$with_sdl" != "xno"; then # # check for SDL # SDL_VERSION=1.2.0 # tucnak_sdl_ver=""; # AM_PATH_SDL($SDL_VERSION, # [ AC_DEFINE([HAVE_SDL], [1], [libSDL]) # tucnak_sdl="yes" # tucnak_sdl_ver=$(sdl-config --version)], # [ tucnak_olibs="$tucnak_olibs libsdl" # tucnak_odebs="$tucnak_odebs libsdl-dev" # tucnak_sdl="no"] # ) # # #export PKG_CONFIG=/usr/bin/pkg-config #AC_ARG_WITH([png], AS_HELP_STRING([--without-png], [Build without PNG support (default: test)])) # #if test "x$with_png" != "xno"; then ## check for libpng #tucnak_libpng_ver="" #PKG_CHECK_MODULES(LIBPNG, libpng > 1.2.0, # [ AC_DEFINE([HAVE_LIBPNG], [1], [libpng]) # tucnak_libpng_ver=$(pkg-config --modversion 'libpng > 1.2.0') ], # [ tucnak_olibs="$tucnak_olibs libpng" # tucnak_odebs="$tucnak_odebs libpng12-dev"]) #fi # check for iconv # if test x"$tucnak_sdl" = x"yes"; then AC_MSG_CHECKING(for iconv_open()) save_LIBS="$LIBS" LIBS="$LIBS -liconv" ICONV_LIBS="" tucnak_iconv="no" AC_TRY_LINK( [ #ifdef HAVE_ICONV_H # include #endif ], [ iconv_open("fr", "to"); ], [ # ok #echo " __OK " AC_MSG_RESULT(yes; with -liconv) AC_DEFINE([HAVE_ICONV],[1],[iconv with -liconv]) ICONV_LIBS="-liconv" tucnak_iconv="libiconv" ], [ # failed #echo " __FAIL " LIBS="$save_LIBS" AC_TRY_LINK( [ #ifdef HAVE_ICONV_H # include #endif ], [ iconv_open("fr", "to"); ], [ #echo " __OK " AC_MSG_RESULT(yes) AC_DEFINE([HAVE_ICONV],[1],[iconv in libc]) ICONV_LIBS="" tucnak_iconv="libc" ], [ # failed #echo " __FAIL " AC_MSG_RESULT(no) tucnak_mlibs="$tucnak_mlibs libiconv" tucnak_mdebs="$tucnak_mdebs libc6-dev" tucnak_iconv="no" LIBS="$save_LIBS" ]) # ]) #else # tucnak_iconv="not needed" #fi AC_ARG_WITH([gpm], AS_HELP_STRING([--with-gpm], [Build without GPM support (default: without)])) tucnak_libgpm="disabled" if test "x$with_gpm" == "xyes"; then # check for libgpm tucnak_libgpm="no" tucnak_old_LIBS=$LIBS tucnak_libgpm_ver="" AC_CHECK_LIB(gpm, Gpm_Open) if ! test x"$LIBS" = x"$tucnak_old_LIBS"; then tucnak_libgpm="yes" AC_TRY_RUN([ #include #include FILE *f; int main(void){ int w; f=fopen("conftest.libgpm.out", "wt"); if (!f) return -1; fprintf(f, "%s\n", Gpm_GetLibVersion(&w)); fclose(f); return 0; }], [ tucnak_libgpm_ver=$(cat conftest.libgpm.out)], [ tucnak_olibs="$tucnak_olibs libgpmg1" tucnak_odebs="$tucnak_odebs libgpmg1-dev" tucnak_orpms="$tucnak_orpms gpm-devel"]) rm -f conftest.libgpm.out fi fi AC_ARG_WITH([sndfile], AS_HELP_STRING([--without-sndfile], [Build without sndfile library (default: test)])) tucnak_sndfile="disabled" if test "x$with_sndfile" != "xno"; then # check for libsndfile libsndfile_LIBS=$LIBS libsndfile_CFLAGS=$CFLAGS PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2, [ AC_DEFINE_UNQUOTED([HAVE_SNDFILE], [1], [Set to 1 if you have libsndfile.]) AC_SUBST(SNDFILE_CFLAGS) AC_SUBST(SNDFILE_LIBS) tucnak_libsndfile_ver=$(pkg-config --modversion 'sndfile >= 1.0.2') tucnak_sndfile="yes" ], [ tucnak_olibs="$tucnak_mlibs libsndfile" tucnak_odebs="$tucnak_mdebs libsndfile-dev" tucnak_orpms="$tucnak_mrpms libsndfile-devel" tucnak_sndfile="no"]) fi AC_ARG_WITH([alsa], AS_HELP_STRING([--without-alsa], [Build without alsa library for audio i/o (default: test)])) tucnak_alsa="disabled" if test "x$with_alsa" != "xno"; then # check for alsa tucnak_alsa_ver="" AC_MSG_CHECKING(for alsa) AC_EGREP_CPP([AP_maGiC_VALUE], [ #include #if defined(SND_LIB_MAJOR) && defined(SND_LIB_MINOR) #if SND_LIB_MAJOR>0 || (SND_LIB_MAJOR==0 && SND_LIB_MINOR>=6) AP_maGiC_VALUE #endif #endif ],[ # have_alsa_final=yes ALSA_LIB="-lasound" AC_MSG_RESULT([yes]) AC_DEFINE([HAVE_ALSA],[1], [Alsa installed]) tucnak_alsa="yes" AC_TRY_RUN([ #include #include FILE *f; int main(void){ f=fopen("conftest.alsa.out", "wt"); if (!f) return -1; fprintf(f, "%s\n", SND_LIB_VERSION_STR); fclose(f); return 0; } ],[ tucnak_alsa_ver=$(cat conftest.alsa.out)], []) rm -f conftest.alsa.out ],[ AC_MSG_RESULT([no]) tucnak_alsa="no" tucnak_olibs="$tucnak_olibs libasound" tucnak_odebs="$tucnak_odebs libasound-dev" tucnak_orpms="$tucnak_orpms alsa-devel"] ) fi ## ## check for libftdi ## #AC_ARG_WITH([ftdi], AS_HELP_STRING([--without-ftdi], [Build without FTDI support for usb to serial converter (default: test)])) #tucnak_ftdi="disabled" # #if test "x$with_ftdi" != "xno"; then ## check for libftdi #tucnak_ftdi_ver="" #PKG_CHECK_MODULES(LIBFTDI, libftdi >= 0.11, # [ AC_DEFINE([HAVE_LIBFTDI], [1], [libftdi installed]) # tucnak_ftdi_ver=$($PKG_CONFIG --modversion 'libftdi >= 0.7') # echo "libftdi version $tucnak_ftdi_ver" # tucnak_ftdi="yes" # LIBS="$LIBS -lusb" # ], # [ tucnak_ftdi="no" # tucnak_olibs="$tucnak_olibs libftdi1" # tucnak_odebs="$tucnak_odebs libftdi-dev" ]) # #fi #AS_HELP_STRING([--with-hamlib=path], [Build with Hamlib from fiven path - hamlib configure prefix]) AC_ARG_WITH([hamlib], AS_HELP_STRING([--without-hamlib], [Build without Hamlib support (default: test)])) echo withval=$withval echo with_hamlib=$with_hamlib tucnak_hamlib="disabled" if test "x$with_hamlib" != "xno"; then if test "x$with_hamlib" == "x"; then # check for hamlib using pkgconfig echo 'check for hamlib using pkgconfig' tucnak_hamlib_ver="" PKG_CHECK_MODULES(HAMLIB, hamlib, [ AC_DEFINE([HAVE_HAMLIB], [1], [hamlib]) tucnak_hamlib="yes" tucnak_hamlib_ver=$($PKG_CONFIG --modversion 'hamlib') ], [ tucnak_olibs="$tucnak_olibs libhamlib" tucnak_odebs="$tucnak_odebs libhamlib-dev" tucnak_hamlib="no" ]) else # use path from with_hamlib echo 'use path from with_hamlib' HAMLIB_CFLAGS="-I$with_hamlib/hamlib/include" HAMLIB_LIBS="-L$with_hamlib/lib -lhamlib" AC_CHECK_LIB(hamlib, rig_init, [ AC_DEFINE([HAVE_HAMLIB], [1], [hamlib]) tucnak_hamlib="yes" tucnak_hamlib_ver="unknown from $with_hamlib" ], [ tucnak_hamlib="no" ]) fi fi # check for fftw3 AC_ARG_WITH([fftw3], AS_HELP_STRING([--without-fftw3], [Build without fftw3 library (default: test)])) tucnak_fftw3="disabled" if test "x$with_fftw3" != "xno"; then AC_CHECK_LIB(fftw3, fftw_execute, [ AC_DEFINE([HAVE_LIBFFTW3], [1], [fftw3 installed]) FFTW3_LIBS="-lfftw3" tucnak_fftw3="yes" ], [ tucnak_olibs="$tucnak_olibs libfftw3" tucnak_odebs="$tucnak_odebs libfftw3-dev" tucnak_orpms="$tucnak_orpms fftw3-devel" tucnak_fftw3="no" ]) fi # check for portaudio AC_ARG_WITH([portaudio], AS_HELP_STRING([--without-portaudio], [Build without portaudio library (default: test)])) tucnak_portaudio="disabled" if test "x$with_portaudio" != "xno"; then AC_CHECK_LIB(portaudio, Pa_WriteStream, [ AC_DEFINE([HAVE_PORTAUDIO], [1], [portaudio installed]) PORTAUDIO_LIBS="-lportaudio" tucnak_portaudio="yes" ], [ tucnak_olibs="$tucnak_olibs libportaudio" tucnak_odebs="$tucnak_odebs portaudio19-dev" tucnak_orpms="$tucnak_orpms portaudio-devel" tucnak_portaudio="no" ]) fi tucnak_librtlsdr_ver="" PKG_CHECK_MODULES(LIBRTLSDR, librtlsdr, [ AC_DEFINE([HAVE_LIBRTLSDR], [1], [librtlsdr]) tucnak_librtlsdr="yes" tucnak_librtlsdr_ver=$($PKG_CONFIG --modversion 'librtlsdr') ], [ tucnak_olibs="$tucnak_olibs librtlsdr" tucnak_odebs="$tucnak_odebs librtlsdr-dev" tucnak_librtlsdr="no" ]) # check for ddir tucnak_ddir="/usr/lib/tucnak" if test -n "$DEB_HOST_MULTIARCH"; then tucnak_ddir="/usr/lib/$DEB_HOST_MULTIARCH/tucnak" fi AC_DEFINE_UNQUOTED([DDIR], ["$tucnak_ddir"], [Directory for tucnak.d]) # check for library errors if test -n "$tucnak_mlibs$tucnak_olibs"; then echo "" echo "" echo "********" if test -n "$tucnak_mlibs"; then echo "Missing mandatory libraries: $tucnak_mlibs" fi if test -n "$tucnak_olibs"; then echo "Missing optional libraries: $tucnak_olibs" fi if test -f "/etc/debian_version"; then echo "Try to run: apt-get install $tucnak_mdebs $tucnak_odebs" fi if test -f "/etc/SuSE-release"; then echo "Try to run: yast -i $tucnak_mrpms $tucnak_orpms" fi echo "********" if test -n "$tucnak_mlibs"; then AC_MSG_ERROR([missing mandatory library/libraries]) fi fi # removed $GLIB_CFLAGS, $GLIB_LIBS CFLAGS="$CFLAGS $GTHREAD_CFLAGS $SNDFILE_CFLAGS $HAMLIB_CFLAGS $LIBRTLSDR_CFLAGS" LIBS="$LIBS $GTHREAD_LIBS $ICONV_LIBS $SNDFILE_LIBS $ALSA_LIB $HAMLIB_LIBS $FFTW3_LIBS $PORTAUDIO_LIBS $LIBRTLSDR_LIBS" AC_C_BIGENDIAN([tucnak_endian="big"],[tucnak_endian="little"],[tucnak_endian="unknown"]) AC_MSG_CHECKING([for long long]) AC_TRY_COMPILE(, [unsigned long long a;], have_long_long=yes, have_long_long=no) AC_MSG_RESULT($have_long_long) test "$have_long_long" = yes && AC_DEFINE([HAVE_LONG_LONG], [1], [long long]) AC_MSG_CHECKING([for uint32_t]) AC_TRY_COMPILE([ #include #ifdef HAVE_STDINT_H #include #endif #ifdef HAVE_INTTYPES_H #include #endif ], [uint32_t a;], have_uint32_t=yes, have_uint32_t=no) AC_MSG_RESULT($have_uint32_t) test "$have_uint32_t" = yes && AC_DEFINE([HAVE_UINT32_T], [1], [uinf32_t]) AC_MSG_CHECKING([for typeof]) AC_TRY_COMPILE(, [int a; typeof(a) b;], have_typeof=yes, have_typeof=no) AC_MSG_RESULT($have_typeof) test "$have_typeof" = yes && AC_DEFINE([HAVE_TYPEOF], [1], [have operator typeof]) AC_CHECK_SIZEOF(char) AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) test "$have_long_long" = yes && AC_CHECK_SIZEOF(long long, 8) AC_CHECK_SIZEOF(void *) AC_CHECK_FUNCS(gmtime_r, AC_DEFINE([HAVE_GMTIME_R], [1], [have function gmtime_r])) #check for F_TLOCK in fnctl.h AC_CACHE_CHECK([for F_TLOCK in sys/file.h],tucnak_cv_HAVE_F_TLOCK, [ AC_TRY_COMPILE([#include ],[int a = F_TLOCK], tucnak_cv_HAVE_F_TLOCK=yes,tucnak_cv_HAVE_F_TLOCK=no)]) if test x"$tucnak_cv_HAVE_F_TLOCK" = x"yes"; then AC_DEFINE([HAVE_F_TLOCK], [1], [T_LOCK]) fi #check for swradio #AC_CACHE_CHECK([for V4L2_BUF_TYPE_SDR_CAPTURE],tucnak_cv_HAVE_SWRADIO, [ # AC_TRY_COMPILE([#include ],[int a = V4L2_BUF_TYPE_SDR_CAPTURE], # tucnak_cv_HAVE_SWRADIO=yes,tucnak_cv_HAVE_SWRADIO=no)]) #if test x"$tucnak_cv_HAVE_SWRADIO" = x"yes"; then # AC_DEFINE([HAVE_SWRADIO], [1], [SWRADIO]) #fi AC_CHECK_PROG(HAVE_RPM, rpm, "yes", "no") HAVE_RPM_PACKAGING=no if test x$HAVE_RPM = xyes ; then AC_MSG_CHECKING(for rpm build directories) RPM_SOURCESDIR=$(rpm --showrc | grep "^sourcedir" | \ sed -e 's/.*: //' 2> /dev/null) if test x$RPM_SPECDIR = x ; then # Red Hat : /usr/src/redhat # Mandrake : /usr/src/RPM # SuSE : /usr/src/packages # Debian : /usr/src/rpm for TEST_DIR in /usr/src/redhat /usr/src/RPM /usr/src/packages /usr/src/rpm ; do if test -d $TEST_DIR/SPECS -a -d $TEST_DIR/SOURCES -a \ -d $TEST_DIR/RPMS -a -d $TEST_DIR/SRPMS -a \ -d $TEST_DIR/BUILD ; then RPM_SOURCESDIR=$TEST_DIR/SOURCES fi done fi if test x$RPM_SOURCESDIR = x ; then AC_MSG_RESULT(not found) RPM_SOURCESDIR="" else AC_MSG_RESULT($RPM_SOURCESDIR) HAVE_RPM_PACKAGING=yes fi if test -f /etc/mandrake-release ; then RPM_RELEASE="mdk" else RPM_RELEASE="" fi fi AC_SUBST(HAVE_RPM_PACKAGING) AC_SUBST(RPM_SOURCESDIR) AC_SUBST(RPM_RELEASE) #dnl check for ioctl(TIOCLINUX) AC_CACHE_CHECK([for TIOCLINUX],tucnak_cv_HAVE_TIOCLINUX,[ AC_TRY_RUN([ #define AUTOCONF_TEST 1 #include #include "confdefs.h" int cmp(const struct dirent **a, const struct dirent **b){return 0;} int main(){ char c[2]; c[0]=c[1]=0; exit(0); ioctl(1,TIOCLINUX,c); }], tucnak_cv_HAVE_TIOCLINUX=yes,tucnak_cv_HAVE_TIOCLINUX=no,tucnak_cv_HAVE_TIOCLINUX=cross)]) if test x"$tucnak_cv_HAVE_TIOCLINUX" = x"yes"; then AC_DEFINE([HAVE_TIOCLINUX], [], [ioctl TIOCLINUX]) fi #dnl Check for socklen_t AC_CACHE_CHECK([for SOCKLEN_T],tucnak_cv_HAVE_SOCKLEN_T,[ AC_TRY_RUN([ #define AUTOCONF_TEST 1 #include #include "confdefs.h" int main(){ socklen_t tmp; exit(0); }], tucnak_cv_HAVE_SOCKLEN_T=yes,tucnak_cv_HAVE_SOCKLEN_T=no,tucnak_cv_HAVE_SOCKLEN_T=cross)]) if test x"$tucnak_cv_HAVE_SOCKLEN_T" = x"yes"; then AC_DEFINE([HAVE_SOCKLEN_T], [], [socklen_t]) fi # --enable-pedantic AC_ARG_ENABLE(pedantic, [ --enable-pedantic Enable pedantic gcc checking(-Wall etc.)], enable_pedantic=yes,enable_pedantic=no ) dnl echo "pedantic=$enable_pedantic" if test x"$enable_pedantic" = x"yes"; then #CFLAGS="$CFLAGS -Wall -Wpedantic" CFLAGS="$CFLAGS -Wall -Werror -Wpointer-arith -Wstrict-prototypes -Wunused -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wformat -Wno-format-extra-args -Wformat-security -Wdeprecated-declarations " #-Wstringop-truncation -Wformat-overflow=2 fi # --enable-leak-debug AC_ARG_ENABLE(leak-debug, [ --enable-leak-debug Enable memory leak debug], enable_leak_debug=yes,enable_leak_debug=no ) if test x"$enable_leak_debug" = x"yes"; then AC_DEFINE_UNQUOTED([LEAK_DEBUG], [], [Memory leak debug]) AC_DEFINE_UNQUOTED([LEAK_DEBUG_LIST], [], [Memory leak debug list]) fi # --enable-instr AC_ARG_ENABLE(instr, [ --enable-instr Enable instrument call trace], [ CFLAGS="$CFLAGS -finstrument-functions" enable_instr=yes ], [ enable_instr=no]) dnl ebuild for Gentoo dnl rm -f "pkg/$PACKAGE_NAME-*.ebuild" dnl cp "pkg/$PACKAGE_NAME.ebuild" "pkg/$PACKAGE_NAME-$PACKAGE_VERSION.ebuild" if test x"$tucnak_ld_wlmap" = x"yes"; then LIBS="$LIBS $tucnak_ld_flags" fi CFLAGS="$CFLAGS $LIBZIA_CFLAGS" echo "LIBZIA_LIBS='$LIBZIA_LIBS'" echo "LIBS='$LIBS'" LIBS="$LIBZIA_LIBS $LIBS" echo "LIBS='$LIBS'" CFLAGS=$(echo $CFLAGS | sed 's/ \+/ /g') LDFLAGS=$(echo $LDFLAGS | sed 's/ \+/ /g') LIBS=$(echo $LIBS | sed 's/ \+/ /g') TUCNAK_LDADD=$LIBS LIBS="" AC_SUBST(TUCNAK_LDADD) TUCNAK_CFLAGS=$CFLAGS sharedir="$prefix/share/$PACKAGE_NAME" AC_DEFINE_UNQUOTED([SHAREDIR], ["$sharedir"], [Shared directory]) VERSIONCODE=$(echo $VERSION | sed 's/\.//') AC_SUBST(VERSIONCODE) AC_OUTPUT(Makefile android/AndroidManifest.xml android/Makefile android/nagup android/src/Makefile android/tucnak-package data/Makefile doc/Makefile intl/Makefile pkg/tucnak.spec pkg/Makefile share/Makefile share/applications/Makefile share/pixmaps/Makefile src/Makefile src/msvcver.h srcup win32/Makefile win32/nagup.bat win32/tucnak-cygwin.nsi win32/tucnak-msvc.nsi) chmod +x srcup svnver.sh android/tucnak-package echo "" (echo "------ Tucnak settings: --------"; echo " version: $PACKAGE_NAME-$PACKAGE_VERSION"; echo " prefix: $prefix"; echo " pkg: $pkg"; echo " CFLAGS: $CFLAGS"; echo " LDFLAGS: $LDFLAGS"; echo " LIBS: $TUCNAK_LDADD"; echo " libzia: yes $tucnak_libzia_ver"; echo " iconv: $tucnak_iconv"; echo " libgpm: $tucnak_libgpm $tucnak_libgpm_ver"; echo "libsndfile: $tucnak_sndfile $tucnak_libsndfile_ver"; echo " alsa: $tucnak_alsa $tucnak_alsa_ver"; echo " libhamlib: $tucnak_hamlib $tucnak_hamlib_ver"; echo " libfftw3: $tucnak_fftw3"; echo " portaudio: $tucnak_portaudio"; echo " librtlsdr: $tucnak_librtlsdr $tucnak_librtlsdr_ver"; echo " ppdev: $ac_cv_header_linux_ppdev_h"; echo " ddir: $tucnak_ddir"; echo " pedantic: $enable_pedantic"; echo " opts: $opt") | tee settings echo "" (echo "char *txt_settings[]="; cat settings | sed 's/\(.*\)/"\1\\n"/'; echo ";") > src/settings.c tucnak-4.32/NEWS0000644000175000017500000000000011277513163010343 00000000000000tucnak-4.32/Makefile.am0000644000175000017500000000546512524352137011722 00000000000000datarootdir = @datarootdir@ SUBDIRS = android data doc intl pkg share src win32 MAINTAINERCLEANFILES = aclocal.m4 config.h.in configure Makefile.in stamp-h.in EXTRA_DIST = COPYING INSTALL eee.sh leaks mingw rebuild svnver svnver.sh trywithout docsdir = $(datadir)/tucnak/doc docs_DATA = AUTHORS ChangeLog TODO stamp = `date +%Y%m%d_%H%M%S` tucnak.d: make -C src tucnak.d distd: dist echo $(distdir) # mv $(distdir).tar.gz $(distdir).tar.gz alpha: dist echo $(distdir) mv $(distdir).tar.gz $(distdir)-alpha.tar.gz rsync -atuvxz --partial --progress $(distdir)-alpha.tar.gz ok1zia@nagano.cz::ok1zia/public_html/tucnak/ threadsafe: grep -nE '\|\|\|\|\|\'\ '|\|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\|\'\ '|\|\|\|\|\|\'\ '|\|\' src/*.c src/*.h nagup: rsync -atuvxz --partial --progress tucnak*.tar.gz ok1zia@nagano.cz::ok1zia/public_html/tucnak/ specfile=$(top_srcdir)/pkg/tucnak.spec RPM_SOURCESDIR=@RPM_SOURCESDIR@ ver: @echo $(VERSION) deb: dpkg-buildpackage -b -rfakeroot -us -uc -tc mv ../$(PACKAGE)_$(VERSION)* . rpm: dist if test x$(HAVE_RPM_PACKAGING) = xyes ; then \ cp $(top_srcdir)/$(distdir).tar.gz $(RPM_SOURCESDIR) ; \ rpmbuild -bb --clean --rmsource $(specfile) ; \ mv $(RPM_SOURCESDIR)/../RPMS/*/$(distdir)-1$(RPM_RELEASE).*.rpm . ; \ else \ echo "Error: RPM executable and/or source directory not found." ; \ echo "Package build abandoned." ; \ fi srpm: dist if test x$(HAVE_RPM_PACKAGING) = xyes ; then \ cp $(top_srcdir)/$(distdir).tar.gz $(RPM_SOURCESDIR) ; \ rpmbuild -bs --clean --rmsource $(specfile) ; \ mv $(RPM_SOURCESDIR)/../SRPMS/$(distdir)-1$(RPM_RELEASE).src.rpm . ;\ else \ echo "Error: RPM executable and/or source directory not found." ;\ echo "Package build abandoned." ; \ fi lines: n=`cat src/*.[ch] ../libzia/include/*.h ../libzia/src/*.c | wc -l` ;echo Total=$$n, zia=$$(($$n-21228)) ctags: (cd src; ctags -R . ../../libzia/include ../../libzia/src /usr/include/SDL /usr/include/glib-2.0/glib) tucver: vim -o configure.ac debian/changelog debian/control ../libzia/configure.ac ../libzia/debian/changelog tucnak-4.32/svnver0000644000175000017500000000000614125266662011124 000000000000008489M tucnak-4.32/config.h.in0000644000175000017500000001451114125263657011710 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Directory for tucnak.d */ #undef DDIR /* Alsa installed */ #undef HAVE_ALSA /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the header file. */ #undef HAVE_CTYPE_H /* Define to 1 if you have the header file. */ #undef HAVE_DIRENT_H /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* T_LOCK */ #undef HAVE_F_TLOCK /* glib */ #undef HAVE_GLIB /* Define to 1 if you have the `gmtime_r' function. */ #undef HAVE_GMTIME_R /* Define to 1 if you have the header file. */ #undef HAVE_GRP_H /* gthread2 */ #undef HAVE_GTHREAD2 /* hamlib */ #undef HAVE_HAMLIB /* iconv in libc */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_ICONV_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* fftw3 installed */ #undef HAVE_LIBFFTW3 /* Define to 1 if you have the header file. */ #undef HAVE_LIBGEN_H /* Define to 1 if you have the `gpm' library (-lgpm). */ #undef HAVE_LIBGPM /* librtlsdr */ #undef HAVE_LIBRTLSDR /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_PPDEV_H /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* long long */ #undef HAVE_LONG_LONG /* Define to 1 if you have the header file. */ #undef HAVE_MATH_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_NETDB_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IP_H /* Define to 1 if you have the header file. */ #undef HAVE_NL_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_PNG_H /* portaudio installed */ #undef HAVE_PORTAUDIO /* Define to 1 if you have the header file. */ #undef HAVE_PROCESS_H /* Define to 1 if you have the header file. */ #undef HAVE_PTY_H /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H /* Define to 1 if you have the header file. */ #undef HAVE_REGEX_H /* Define to 1 if you have the header file. */ #undef HAVE_SIGNAL_H /* Set to 1 if you have libsndfile. */ #undef HAVE_SNDFILE /* socklen_t */ #undef HAVE_SOCKLEN_T /* Define to 1 if you have the header file. */ #undef HAVE_STDARG_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_KD_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SIGNAL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOUNDCARD_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_VFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H /* Define to 1 if you have the header file. */ #undef HAVE_TIME_H /* ioctl TIOCLINUX */ #undef HAVE_TIOCLINUX /* have operator typeof */ #undef HAVE_TYPEOF /* uinf32_t */ #undef HAVE_UINT32_T /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the header file. */ #undef HAVE_UTIME_H /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H /* Memory leak debug */ #undef LEAK_DEBUG /* Memory leak debug list */ #undef LEAK_DEBUG_LIST /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Package identifier for automatic update */ #undef PKG /* Shared directory */ #undef SHAREDIR /* The size of `char', as computed by sizeof. */ #undef SIZEOF_CHAR /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of `long long', as computed by sizeof. */ #undef SIZEOF_LONG_LONG /* The size of `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* The size of `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Version number of package */ #undef VERSION /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif tucnak-4.32/aclocal.m40000644000175000017500000014624314125263646011533 00000000000000# generated automatically by aclocal 1.15 -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- dnl serial 11 (pkg-config-0.29) dnl dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA. dnl dnl As a special exception to the GNU General Public License, if you dnl distribute this file as part of a program that contains a dnl configuration script generated by Autoconf, you may include it under dnl the same distribution terms that you use for the rest of that dnl program. dnl PKG_PREREQ(MIN-VERSION) dnl ----------------------- dnl Since: 0.29 dnl dnl Verify that the version of the pkg-config macros are at least dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's dnl installed version of pkg-config, this checks the developer's version dnl of pkg.m4 when generating configure. dnl dnl To ensure that this macro is defined, also add: dnl m4_ifndef([PKG_PREREQ], dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], [m4_define([PKG_MACROS_VERSION], [0.29]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) dnl ---------------------------------- dnl Since: 0.16 dnl dnl Search for the pkg-config tool and set the PKG_CONFIG variable to dnl first found in the path. Checks that the version of pkg-config found dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is dnl used since that's the first version where most current features of dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])dnl PKG_PROG_PKG_CONFIG dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------------------------------- dnl Since: 0.18 dnl dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl only at the first occurence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) dnl --------------------------------------------- dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])dnl _PKG_CONFIG dnl _PKG_SHORT_ERRORS_SUPPORTED dnl --------------------------- dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])dnl _PKG_SHORT_ERRORS_SUPPORTED dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl -------------------------------------------------------------- dnl Since: 0.4.0 dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES might not happen, you should be sure to include an dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])dnl PKG_CHECK_MODULES dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl --------------------------------------------------------------------- dnl Since: 0.29 dnl dnl Checks for existence of MODULES and gathers its build flags with dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags dnl and VARIABLE-PREFIX_LIBS from --libs. dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to dnl include an explicit call to PKG_PROG_PKG_CONFIG in your dnl configure.ac. AC_DEFUN([PKG_CHECK_MODULES_STATIC], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl _save_PKG_CONFIG=$PKG_CONFIG PKG_CONFIG="$PKG_CONFIG --static" PKG_CHECK_MODULES($@) PKG_CONFIG=$_save_PKG_CONFIG[]dnl ])dnl PKG_CHECK_MODULES_STATIC dnl PKG_INSTALLDIR([DIRECTORY]) dnl ------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable pkgconfigdir as the location where a module dnl should install pkg-config .pc files. By default the directory is dnl $libdir/pkgconfig, but the default can be changed by passing dnl DIRECTORY. The user can override through the --with-pkgconfigdir dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_INSTALLDIR dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) dnl -------------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable noarch_pkgconfigdir as the location where a dnl module should install arch-independent pkg-config .pc files. By dnl default the directory is $datadir/pkgconfig, but the default can be dnl changed by passing DIRECTORY. The user can override through the dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_NOARCH_INSTALLDIR dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------- dnl Since: 0.28 dnl dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR # Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.15], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR tucnak-4.32/mkinstalldirs0000755000175000017500000000672212632516463012475 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy scriptversion=2009-04-28.21; # UTC # Original author: Noah Friedman # Created: 1993-05-16 # Public domain. # # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' IFS=" "" $nl" errstatus=0 dirmode= usage="\ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" exit $? ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --version) echo "$0 $scriptversion" exit $? ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and # mkdir -p a/c at the same time, both will detect that a is missing, # one will create a, then the other will try to create a and die with # a "File exists" error. This is a problem when calling mkinstalldirs # from a parallel make. We use --version in the probe to restrict # ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" else # On NextStep and OpenStep, the 'mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because '.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version fi ;; *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else # Clean up after NextStep and OpenStep mkdir. for d in ./-m ./-p ./--version "./$dirmode"; do test -d $d && rmdir $d done fi ;; esac for file do case $file in /*) pathcomp=/ ;; *) pathcomp= ;; esac oIFS=$IFS IFS=/ set fnord $file shift IFS=$oIFS for d do test "x$d" = x && continue pathcomp=$pathcomp$d case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr= chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp=$pathcomp/ done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: tucnak-4.32/depcomp0000755000175000017500000005601612632516463011245 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: tucnak-4.32/android/0000755000175000017500000000000014125271147011354 500000000000000tucnak-4.32/android/build.xml0000644000175000017500000000666612300736712013130 00000000000000 tucnak-4.32/android/Makefile.am0000644000175000017500000000044612075737735013350 00000000000000datarootdir = @datarootdir@ EXTRA_DIST = AndroidManifest.xml AndroidManifest.xml.in build.xml local.properties \ nagup nagup.in project.properties repositories.txt \ res/drawable/icon.png res/values/strings.xml \ tucnak-all tucnak-compile tucnak-package tucnak-package.in SUBDIRS = src tucnak-4.32/android/repositories.txt0000644000175000017500000000046612075737735014606 00000000000000https://github.com/pelya/commandergenius.git https://github.com/ieei/glib.git https://github.com/ironsteel/iconv-android.git https://github.com/julienr/libpng-android.git https://github.com/trevd/libusb0-android.git https://github.com/michaelwu/libsndfile https://bitbucket.org/karanikk/portaudio-android.git tucnak-4.32/android/res/0000755000175000017500000000000014125271147012145 500000000000000tucnak-4.32/android/res/drawable/0000755000175000017500000000000014125271147013726 500000000000000tucnak-4.32/android/res/drawable/icon.png0000644000175000017500000001233712052426441015306 00000000000000PNG  IHDR@@iqgAMA7IDATx՛yt]ŝ?U޷Jzzkx & 66;6=t&'dItN7LzlIICt& L6x*,'-wJ'ؖ w=z_[,>dF۶#/ b1Ph}1\o 'R5xOW׏`$ `u_2Fնt\z{-*J'Fjt:'2[c74L&8o7Ʃ.ETT*`2fZFZZ?qLH$8bqF551mZkNM\%;@,|ԒHզ:!',)%Bjjj6u*{o^ޡ/GB t@~%<;h{;V΋bUUߜ2ꅗM&33vlNw2ֿn~͉'?u4eIg]ma{h[j5η7Q7u樂X"ˡ Hnʧmx7D/A}ŭFTv PN~ vw2m}yPak{ U -KY C6KmGTv1P`E~zu9N=p{XW5MG+o3w+SDuew;#r\<߇P?R cצkTv<[ţxn[ȫtۭG/$DUfテx7h84=ь[;7݅w e&lOF B 2yd\>#+">nGZbmRxt@%4Z:@R)MiTT\*Pa#ʿ'r 1\fa#˔(W*hmcmԤE'AV ,ˊ(5=@h>r,Y8|' T6HHA3dH$ڿ2=gMR啊˲K2e[ňbgtJ$D""50pL@X|XA e!2Aѭ,a1Vx<i~Ya]&-r]?Za@)RZ `4j8,Wפӟ8_ JdԘX|F0J?sjpLZH!"WV5"-Cř={6_>eaWBM8[__ ,t:, ˲BJooG#hR.?t:h#[oF~}QʗI$ c@4҆s5}Q*tal I_{9s&UUaK,A)͓O>Ŝs6m N ڼeZI<#gOr:x,F>P4iYtǨJ$D"1kDfKy^zzt0~{to^e~֧i&۴˫_eW.eޥsI&m!B)ERa,Zt9H$v' T*5QkZZZ7Ass3|u蠫c {&1(u]^jSp8CRf5T\osfH{BP*ZA[ba`E"̄X,_~0a"B/^mg`Bm6p6hc^]W׭cŴttv G ~*W ̙ >YFg [_1y\G,rz0TP\.Lt]mU_` ?`۶meONuu56g-X Dѭ-MB2$aP /lm!-q&IƳ5,M6WC{{;[lf?~Bɓ'ټy3W\q@ -=y[)N I`[JC,\.̳iMŤ ?RZ[1R58yu^uJJ)H*3>4X:P  )Q~'PUObW lC.E)ũSظu>LMM-JܴFfNuB0mdXzŨMS(eY’5(ˬZ+@IiUe۶2+,bӦM3e5d2YTp=%'F6I؎Äqc"L`YA6 3}l%;V*Zu+ HG=@%ZK$D} tMoNk(w*1xG[[g͚5֦qq+o^ DZHCC'WTL383yS)U S@/XݎF&8۶9x`?>͌(GOQEXI̫Ī9vjENèii!'~mKcq^nZqG@)5tQ:F)Jv1/6UUVkԱH%8E!30{~:(VD#$-cz:r|g[ir\%yJkM F!RJ%cT%֭[Tav;/>8uh庯j,ve16"V:0D\b|  !(zCًH5Swg* 'N6FHa A0$=5,Fk`'P9_Ε*Ji@H|UJyxQ@ƣG6~Ոo~bMVx,TLJBaOAb j 9v(V*[} 㭓jU*J=ҫma 6QDi2c Lǚ4o%NR`mI6g^H)9|/e򯀣&|0rUc*(1:h L$% 6==TK*KǶ?{ Eo矣)%^k^:9C=[lE@UL? /!'a|, 5DHæB#>\.K&g}lgwO{|zc2 }}~׺o~oW^;ҷR68N͎l۞"5 A5Ki燻@U rVjdTcQ줰7qMG;v A+]%9ZY5GJU  R?a~^C Hjk_V5(+{ }Gt?oW7<^1`#Y ۟6am\fz4k.meMێ(oC ANfR@}sWxȁ.wdHBduދwl8XUGQ+Gd$}Զ1t}U=k'@ܷ2'|h2܎#SWa g~vAtOjwu`Ec*Ҋ$  fS7'6vkl=6k)]JǺSsOa!5]=ngo 8~ʿ/yUƸk3͉D>4TfI#ҙx'ʆ7c-BMs|*2`=W/.RU;{6_~P MvB{ Xş;IENDB`tucnak-4.32/android/res/values/0000755000175000017500000000000014125271147013444 500000000000000tucnak-4.32/android/res/values/strings.xml0000644000175000017500000002320412230170431015565 00000000000000 Tucnak Loading Tucnak Please wait while data is being downloaded Device configuration Change device configuration No need to download Connecting to %s Failed connecting to %s Error connecting to %s Downloading data from %s Error downloading data from %s Error writing to %s %1$.0f%% done: file %2$s Finished Internal storage - %d MB free SD card storage - %d MB free Specify directory Specify command line parameters Data installation location Downloads Downloads OK Arrows / joystick / dpad Trackball Accelerometer Touchscreen only What kind of navigation keys does your device have? Additional controls On-screen keyboard Accelerometer On-screen keyboard size Size of button images Large Medium Small Tiny On-screen keyboard theme %1$s by %2$s On-screen keyboard transparency Invisible Almost invisible Transparent Semi-transparent Non-transparent No dampening Fast Medium Slow Trackball dampening Very fast Fast Medium Slow Very slow Accelerometer sensitivity Floating Fixed when application starts Fixed to table desk orientation Accelerometer center position Mouse emulation Right mouse click Menu key Physical key Touch screen with second finger Touch screen with force Disable right mouse click Left mouse click Normal Touch near mouse cursor Touch screen with second finger Touch screen with force Trackball click / joystick center Hold at the same spot Tap Tap or hold Holding timeout 0.3 sec 0.5 sec 0.7 sec 1 sec 1.5 sec Left mouse click with trackball / joystick center Advanced features Keep 4:3 screen aspect ratio Show screen under finger in separate window On-screen magnifying glass Move mouse with joystick or trackball Move mouse with joystick speed Move mouse with joystick acceleration Relative mouse movement (laptop mode) Relative mouse movement speed Relative mouse movement acceleration None Calibrate touchscreen pressure Please slide finger across the screen for two seconds Pressure %1$03d radius %2$03d Very small (fast devices, less lag) Small Medium Large (older devices, if sound is choppy) Size of audio buffer Remap physical keys Press any key except HOME and POWER, you may use volume keys Select SDL keycode Remap on-screen controls On-screen joystick On-screen button On-screen text input button Two-finger screen gestures Two-finger screen gestures sensitivity Zoom in two-finger gesture Zoom out two-finger gesture Rotate left two-finger gesture Rotate right two-finger gesture Customize on-screen keyboard layout Slide screen to add button, press BACK to undo last button Calibrate touchscreen Touch all edges of the screen, press BACK when done Video settings Linear video filtering Separate thread for video, will increase FPS on some devices Tap to start typing, press Back when done Mouse emulation mode Display size for mouse emulation Large (tablets) Small, magnifying glass Small, touchpad mode Tiny Tiny, touchpad mode Show more options Broken OS detected Your device has broken system libraries, this application will most probably crash. Please install a system update, or flash a custom ROM, or copy file /system/lib/libc.so from another device (experts only!) Hardware mouse detected, disabling mouse emulation Not enough RAM This app needs %1$d Mb RAM, your device has %2$d Mb Ignore tucnak-4.32/android/nagup.in0000755000175000017500000000045212300736712012737 00000000000000#!/bin/bash echo rsync bin/Tucnak-@VERSION@.apk rsync://ok1zia@nagano.cz/ok1zia/pub/tucnak/a set | grep RSYNC_PASSWORD rm -f bin/Tucnak.apk ln -s Tucnak-@VERSION@.apk bin/Tucnak.apk rsync -av --partial --progress bin/Tucnak-@VERSION@.apk bin/Tucnak.apk rsync://ok1zia@nagano.cz/ok1zia/pub/tucnak/a tucnak-4.32/android/tucnak-package0000755000175000017500000000342214125267033014100 00000000000000#!/bin/bash set -e set -x tmp=`dirname $0` ANDROID=`readlink -f $tmp` rm -f $ANDROID/libs/armeabi-v7a/* #cp ~/c/libsdl/project/libs/armeabi/libsdl-1.2.so $ANDROID/libs/armeabi #cp ~/c/libsdl/project/libs/armeabi/libsdl_main.so $ANDROID/libs/armeabi #cp ~/c/glib/obj/local/armeabi/libglib-2.0.so $ANDROID/libs/armeabi #cp ~/c/glib/obj/local/armeabi/libgthread-2.0.so $ANDROID/libs/armeabi #cp ~/c/libiconv/libs/armeabi/libiconv.so $ANDROID/libs/armeabi #cp ~/c/libpng14/libs/armeabi/libpngfkk.so $ANDROID/libs/armeabi #cp ~/c/hamlib/libs/armeabi/libhamlib.so $ANDROID/libs/armeabi #cp ~/c/libsndfile/libs/armeabi/libsndfile.so $ANDROID/libs/armeabi #cp ~/c/libusb/libs/armeabi/*.so $ANDROID/libs/armeabi #cp ~/c/libftdi/libs/armeabi/*.so $ANDROID/libs/armeabi #cp ~/c/libzia/src/obj/local/armeabi/libzia.so $ANDROID/libs/armeabi #cp ~/c/tucnak/android/obj/local/armeabi/libapplication.so $ANDROID/libs/armeabi cp ~/c/libzia/src/obj/local/armeabi-v7a/libsdl-1.2.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libglib-2.0.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libgthread-2.0.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libiconv.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libpngfkk.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libzia.so $ANDROID/libs/armeabi-v7a cp ~/c/libsndfile/libs/armeabi-v7a/libsndfile.so $ANDROID/libs/armeabi-v7a cp ~/c/tucnak/android/obj/local/armeabi-v7a/libsdl_main.so $ANDROID/libs/armeabi-v7a cp ~/c/tucnak/android/obj/local/armeabi-v7a/libapplication.so $ANDROID/libs/armeabi-v7a cd $ANDROID if [ -n "$1" ]; then ant release cp bin/Tucnak-release.apk bin/Tucnak-4.32.apk else ant debug cp bin/Tucnak-debug.apk bin/Tucnak-4.32.apk fi tucnak-4.32/android/AndroidManifest.xml.in0000644000175000017500000000351613700066135015474 00000000000000 tucnak-4.32/android/src/0000755000175000017500000000000014125271147012143 500000000000000tucnak-4.32/android/src/DataDownloader.java0000644000175000017500000005107212053665552015630 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.MotionEvent; import android.view.KeyEvent; import android.view.Window; import android.view.WindowManager; import android.os.Environment; import android.widget.TextView; import org.apache.http.client.methods.*; import org.apache.http.*; import org.apache.http.params.BasicHttpParams; import org.apache.http.conn.*; import org.apache.http.conn.params.*; import org.apache.http.conn.scheme.*; import org.apache.http.conn.ssl.*; import org.apache.http.impl.*; import org.apache.http.impl.client.*; import org.apache.http.impl.conn.SingleClientConnManager; import java.security.cert.*; import java.security.SecureRandom; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import java.util.zip.*; import java.io.*; import android.util.Log; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; import android.content.res.Resources; import java.lang.String; import android.text.SpannedString; class CountingInputStream extends BufferedInputStream { private long bytesReadMark = 0; private long bytesRead = 0; public CountingInputStream(InputStream in, int size) { super(in, size); } public CountingInputStream(InputStream in) { super(in); } public long getBytesRead() { return bytesRead; } public synchronized int read() throws IOException { int read = super.read(); if (read >= 0) { bytesRead++; } return read; } public synchronized int read(byte[] b, int off, int len) throws IOException { int read = super.read(b, off, len); if (read >= 0) { bytesRead += read; } return read; } public synchronized long skip(long n) throws IOException { long skipped = super.skip(n); if (skipped >= 0) { bytesRead += skipped; } return skipped; } public synchronized void mark(int readlimit) { super.mark(readlimit); bytesReadMark = bytesRead; } public synchronized void reset() throws IOException { super.reset(); bytesRead = bytesReadMark; } } class DataDownloader extends Thread { public static final String DOWNLOAD_FLAG_FILENAME = "libsdl-DownloadFinished-"; class StatusWriter { private TextView Status; private MainActivity Parent; private SpannedString oldText = new SpannedString(""); public StatusWriter( TextView _Status, MainActivity _Parent ) { Status = _Status; Parent = _Parent; } public void setParent( TextView _Status, MainActivity _Parent ) { synchronized(DataDownloader.this) { Status = _Status; Parent = _Parent; setText( oldText.toString() ); } } public void setText(final String str) { class Callback implements Runnable { public TextView Status; public SpannedString text; public void run() { Status.setText(text); } } synchronized(DataDownloader.this) { Callback cb = new Callback(); oldText = new SpannedString(str); cb.text = new SpannedString(str); cb.Status = Status; if( Parent != null && Status != null ) Parent.runOnUiThread(cb); } } } public DataDownloader( MainActivity _Parent, TextView _Status ) { Parent = _Parent; Status = new StatusWriter( _Status, _Parent ); //Status.setText( "Connecting to " + Globals.DataDownloadUrl ); outFilesDir = Globals.DataDir; DownloadComplete = false; this.start(); } public void setStatusField(TextView _Status) { synchronized(this) { Status.setParent( _Status, Parent ); } } @Override public void run() { /* String [] downloadFiles = Globals.DataDownloadUrl.split("\\^"); int total = 0; int count = 0; for( int i = 0; i < downloadFiles.length; i++ ) { if( downloadFiles[i].length() > 0 && ( Globals.OptionalDataDownload.length > i && Globals.OptionalDataDownload[i] ) || ( Globals.OptionalDataDownload.length <= i && downloadFiles[i].indexOf("!") == 0 ) ) total += 1; } for( int i = 0; i < downloadFiles.length; i++ ) { if( downloadFiles[i].length() > 0 && ( Globals.OptionalDataDownload.length > i && Globals.OptionalDataDownload[i] ) || ( Globals.OptionalDataDownload.length <= i && downloadFiles[i].indexOf("!") == 0 ) ) { if( ! DownloadDataFile(downloadFiles[i], DOWNLOAD_FLAG_FILENAME + String.valueOf(i) + ".flag", count+1, total) ) { DownloadFailed = true; return; } count += 1; } } */ DownloadComplete = true; initParent(); } public boolean DownloadDataFile(final String DataDownloadUrl, final String DownloadFlagFileName, int downloadCount, int downloadTotal) { Resources res = Parent.getResources(); String [] downloadUrls = DataDownloadUrl.split("[|]"); if( downloadUrls.length < 2 ) { System.out.println("Error: download string invalid: '" + DataDownloadUrl + "', your AndroidAppSettigns.cfg is broken"); Status.setText( res.getString(R.string.error_dl_from, DataDownloadUrl) ); return false; } boolean forceOverwrite = false; String path = getOutFilePath(DownloadFlagFileName); InputStream checkFile = null; try { checkFile = new FileInputStream( path ); } catch( FileNotFoundException e ) { } catch( SecurityException e ) { }; if( checkFile != null ) { try { byte b[] = new byte[ Globals.DataDownloadUrl.getBytes("UTF-8").length + 1 ]; int readed = checkFile.read(b); String compare = ""; if( readed > 0 ) compare = new String( b, 0, readed, "UTF-8" ); boolean matched = false; //System.out.println("Read URL: '" + compare + "'"); for( int i = 1; i < downloadUrls.length; i++ ) { //System.out.println("Comparing: '" + downloadUrls[i] + "'"); if( compare.compareTo(downloadUrls[i]) == 0 ) matched = true; } //System.out.println("Matched: " + String.valueOf(matched)); if( ! matched ) throw new IOException(); Status.setText( res.getString(R.string.download_unneeded) ); return true; } catch ( IOException e ) { forceOverwrite = true; new File(path).delete(); } } checkFile = null; // Create output directory (not necessary for phone storage) System.out.println("Downloading data to: '" + outFilesDir + "'"); try { File outDir = new File( outFilesDir ); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); OutputStream out = new FileOutputStream( getOutFilePath(".nomedia") ); out.flush(); out.close(); } catch( SecurityException e ) {} catch( FileNotFoundException e ) {} catch( IOException e ) {}; HttpResponse response = null, responseError = null; HttpGet request; long totalLen = 0; CountingInputStream stream; byte[] buf = new byte[16384]; boolean DoNotUnzip = false; boolean FileInAssets = false; String url = ""; long partialDownloadLen = 0; int downloadUrlIndex = 1; while( downloadUrlIndex < downloadUrls.length ) { System.out.println("Processing download " + downloadUrls[downloadUrlIndex]); url = new String(downloadUrls[downloadUrlIndex]); DoNotUnzip = false; if(url.indexOf(":") == 0) { path = getOutFilePath(url.substring( 1, url.indexOf(":", 1) )); url = url.substring( url.indexOf(":", 1) + 1 ); DoNotUnzip = true; File partialDownload = new File( path ); if( partialDownload.exists() && !partialDownload.isDirectory() && !forceOverwrite ) partialDownloadLen = partialDownload.length(); } Status.setText( downloadCount + "/" + downloadTotal + ": " + res.getString(R.string.connecting_to, url) ); if( url.indexOf("http://") == -1 && url.indexOf("https://") == -1 ) // File inside assets { InputStream stream1 = null; try { stream1 = Parent.getAssets().open(url); stream1.close(); } catch( Exception e ) { try { stream1 = Parent.getAssets().open(url + "00"); stream1.close(); } catch( Exception ee ) { System.out.println("Failed to open file in assets: " + url); downloadUrlIndex++; continue; } } FileInAssets = true; System.out.println("Fetching file from assets: " + url); break; } else { System.out.println("Connecting to: " + url); request = new HttpGet(url); request.addHeader("Accept", "*/*"); if( partialDownloadLen > 0 ) request.addHeader("Range", "bytes=" + partialDownloadLen + "-"); try { DefaultHttpClient client = HttpWithDisabledSslCertCheck(); client.getParams().setBooleanParameter("http.protocol.handle-redirects", true); response = client.execute(request); } catch (IOException e) { System.out.println("Failed to connect to " + url); downloadUrlIndex++; }; if( response != null ) { if( response.getStatusLine().getStatusCode() != 200 && response.getStatusLine().getStatusCode() != 206 ) { System.out.println("Failed to connect to " + url + " with error " + response.getStatusLine().getStatusCode() + " " + response.getStatusLine().getReasonPhrase()); responseError = response; response = null; downloadUrlIndex++; } else break; } } } if( FileInAssets ) { int multipartCounter = 0; InputStream multipart = null; while( true ) { try { // Make string ".zip00", ".zip01" etc for multipart archives String url1 = url + String.format("%02d", multipartCounter); CountingInputStream stream1 = new CountingInputStream(Parent.getAssets().open(url1), 8192); while( stream1.skip(65536) > 0 ) { }; totalLen += stream1.getBytesRead(); stream1.close(); InputStream s = Parent.getAssets().open(url1); if( multipart == null ) multipart = s; else multipart = new SequenceInputStream(multipart, s); System.out.println("Multipart archive found: " + url1); } catch( IOException e ) { break; } multipartCounter += 1; } if( multipart != null ) stream = new CountingInputStream(multipart, 8192); else { try { stream = new CountingInputStream(Parent.getAssets().open(url), 8192); while( stream.skip(65536) > 0 ) { }; totalLen += stream.getBytesRead(); stream.close(); stream = new CountingInputStream(Parent.getAssets().open(url), 8192); } catch( IOException e ) { System.out.println("Unpacking from assets '" + url + "' - error: " + e.toString()); Status.setText( res.getString(R.string.error_dl_from, url) ); return false; } } } else { if( response == null ) { System.out.println("Error connecting to " + url); Status.setText( res.getString(R.string.failed_connecting_to, url) + (responseError == null ? "" : ": " + responseError.getStatusLine().getStatusCode() + " " + responseError.getStatusLine().getReasonPhrase()) ); return false; } Status.setText( downloadCount + "/" + downloadTotal + ": " + res.getString(R.string.dl_from, url) ); totalLen = response.getEntity().getContentLength(); try { stream = new CountingInputStream(response.getEntity().getContent(), 8192); } catch( java.io.IOException e ) { Status.setText( res.getString(R.string.error_dl_from, url) ); return false; } } if(DoNotUnzip) { System.out.println("Saving file '" + path + "'"); OutputStream out = null; try { try { File outDir = new File( path.substring(0, path.lastIndexOf("/") )); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); } catch( SecurityException e ) { }; if( partialDownloadLen > 0 ) { try { Header[] range = response.getHeaders("Content-Range"); if( range.length > 0 && range[0].getValue().indexOf("bytes") == 0 ) { //System.out.println("Resuming download of file '" + path + "': Content-Range: " + range[0].getValue()); String[] skippedBytes = range[0].getValue().split("/")[0].split("-")[0].split(" "); if( skippedBytes.length >= 2 && Long.parseLong(skippedBytes[1]) == partialDownloadLen ) { out = new FileOutputStream( path, true ); System.out.println("Resuming download of file '" + path + "' at pos " + partialDownloadLen); } } } catch (Exception e) { } } if( out == null ) { out = new FileOutputStream( path ); partialDownloadLen = 0; } } catch( FileNotFoundException e ) { System.out.println("Saving file '" + path + "' - error creating output file: " + e.toString()); } catch( SecurityException e ) { System.out.println("Saving file '" + path + "' - error creating output file: " + e.toString()); }; if( out == null ) { Status.setText( res.getString(R.string.error_write, path) ); System.out.println("Saving file '" + path + "' - error creating output file"); return false; } try { int len = stream.read(buf); while (len >= 0) { if(len > 0) out.write(buf, 0, len); len = stream.read(buf); float percent = 0.0f; if( totalLen > 0 ) percent = (stream.getBytesRead() + partialDownloadLen) * 100.0f / (totalLen + partialDownloadLen); Status.setText( downloadCount + "/" + downloadTotal + ": " + res.getString(R.string.dl_progress, percent, path) ); } out.flush(); out.close(); out = null; } catch( java.io.IOException e ) { Status.setText( res.getString(R.string.error_write, path) + ": " + e.getMessage() ); System.out.println("Saving file '" + path + "' - error writing: " + e.toString()); return false; } System.out.println("Saving file '" + path + "' done"); } else { System.out.println("Reading from zip file '" + url + "'"); ZipInputStream zip = new ZipInputStream(stream); while(true) { ZipEntry entry = null; try { entry = zip.getNextEntry(); if( entry != null ) System.out.println("Reading from zip file '" + url + "' entry '" + entry.getName() + "'"); } catch( java.io.IOException e ) { Status.setText( res.getString(R.string.error_dl_from, url) ); System.out.println("Error reading from zip file '" + url + "': " + e.toString()); return false; } if( entry == null ) { System.out.println("Reading from zip file '" + url + "' finished"); break; } if( entry.isDirectory() ) { System.out.println("Creating dir '" + getOutFilePath(entry.getName()) + "'"); try { File outDir = new File( getOutFilePath(entry.getName()) ); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); } catch( SecurityException e ) { }; continue; } OutputStream out = null; path = getOutFilePath(entry.getName()); float percent = 0.0f; System.out.println("Saving file '" + path + "'"); try { File outDir = new File( path.substring(0, path.lastIndexOf("/") )); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); } catch( SecurityException e ) { }; try { CheckedInputStream check = new CheckedInputStream( new FileInputStream(path), new CRC32() ); while( check.read(buf, 0, buf.length) >= 0 ) {}; check.close(); if( check.getChecksum().getValue() != entry.getCrc() ) { File ff = new File(path); ff.delete(); throw new Exception(); } System.out.println("File '" + path + "' exists and passed CRC check - not overwriting it"); if( totalLen > 0 ) percent = stream.getBytesRead() * 100.0f / totalLen; Status.setText( downloadCount + "/" + downloadTotal + ": " + res.getString(R.string.dl_progress, percent, path) ); continue; } catch( Exception e ) { } try { out = new FileOutputStream( path ); } catch( FileNotFoundException e ) { System.out.println("Saving file '" + path + "' - cannot create file: " + e.toString()); } catch( SecurityException e ) { System.out.println("Saving file '" + path + "' - cannot create file: " + e.toString()); }; if( out == null ) { Status.setText( res.getString(R.string.error_write, path) ); System.out.println("Saving file '" + path + "' - cannot create file"); return false; } if( totalLen > 0 ) percent = stream.getBytesRead() * 100.0f / totalLen; Status.setText( downloadCount + "/" + downloadTotal + ": " + res.getString(R.string.dl_progress, percent, path) ); try { int len = zip.read(buf); while (len >= 0) { if(len > 0) out.write(buf, 0, len); len = zip.read(buf); percent = 0.0f; if( totalLen > 0 ) percent = stream.getBytesRead() * 100.0f / totalLen; Status.setText( downloadCount + "/" + downloadTotal + ": " + res.getString(R.string.dl_progress, percent, path) ); } out.flush(); out.close(); out = null; } catch( java.io.IOException e ) { Status.setText( res.getString(R.string.error_write, path) + ": " + e.getMessage() ); System.out.println("Saving file '" + path + "' - error writing or downloading: " + e.toString()); return false; } try { long count = 0, ret = 0; CheckedInputStream check = new CheckedInputStream( new FileInputStream(path), new CRC32() ); while( ret >= 0 ) { count += ret; ret = check.read(buf, 0, buf.length); } check.close(); if( check.getChecksum().getValue() != entry.getCrc() || count != entry.getSize() ) { File ff = new File(path); ff.delete(); System.out.println("Saving file '" + path + "' - CRC check failed, ZIP: " + String.format("%x", entry.getCrc()) + " actual file: " + String.format("%x", check.getChecksum().getValue()) + " file size in ZIP: " + entry.getSize() + " actual size " + count ); throw new Exception(); } } catch( Exception e ) { Status.setText( res.getString(R.string.error_write, path) + ": " + e.getMessage() ); return false; } System.out.println("Saving file '" + path + "' done"); } }; OutputStream out = null; path = getOutFilePath(DownloadFlagFileName); try { out = new FileOutputStream( path ); out.write(downloadUrls[downloadUrlIndex].getBytes("UTF-8")); out.flush(); out.close(); } catch( FileNotFoundException e ) { } catch( SecurityException e ) { } catch( java.io.IOException e ) { Status.setText( res.getString(R.string.error_write, path) + ": " + e.getMessage() ); return false; }; Status.setText( downloadCount + "/" + downloadTotal + ": " + res.getString(R.string.dl_finished) ); try { stream.close(); } catch( java.io.IOException e ) { }; return true; }; private void initParent() { class Callback implements Runnable { public MainActivity Parent; public void run() { Parent.initSDL(); } } Callback cb = new Callback(); synchronized(this) { cb.Parent = Parent; if(Parent != null) Parent.runOnUiThread(cb); } } private String getOutFilePath(final String filename) { return outFilesDir + "/" + filename; }; private static DefaultHttpClient HttpWithDisabledSslCertCheck() { return new DefaultHttpClient(); // This code does not work /* HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER; DefaultHttpClient client = new DefaultHttpClient(); SchemeRegistry registry = new SchemeRegistry(); SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory(); socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier); registry.register(new Scheme("https", socketFactory, 443)); SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry); DefaultHttpClient http = new DefaultHttpClient(mgr, client.getParams()); HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier); return http; */ } public StatusWriter Status; public boolean DownloadComplete = false; public boolean DownloadFailed = false; private MainActivity Parent; private String outFilesDir = null; } tucnak-4.32/android/src/GLSurfaceView_SDL.java0000644000175000017500000013360712052426441016104 00000000000000/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* This is GLSurfaceView class ripped out of Android 2.1 sources, fixed with a hammer to work with libSDL port */ package cz.nagano.tucnak; import java.io.Writer; import java.util.ArrayList; import java.util.concurrent.Semaphore; import javax.microedition.khronos.egl.EGL10; import javax.microedition.khronos.egl.EGL11; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.egl.EGLContext; import javax.microedition.khronos.egl.EGLDisplay; import javax.microedition.khronos.egl.EGLSurface; import javax.microedition.khronos.opengles.GL; import javax.microedition.khronos.opengles.GL10; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; /** * An implementation of SurfaceView that uses the dedicated surface for * displaying OpenGL rendering. *

* A GLSurfaceView provides the following features: *

*

    *
  • Manages a surface, which is a special piece of memory that can be * composited into the Android view system. *
  • Manages an EGL display, which enables OpenGL to render into a surface. *
  • Accepts a user-provided Renderer object that does the actual rendering. *
  • Renders on a dedicated thread to decouple rendering performance from the * UI thread. *
  • Supports both on-demand and continuous rendering. *
  • Optionally wraps, traces, and/or error-checks the renderer's OpenGL calls. *
* *

Using GLSurfaceView

*

* Typically you use GLSurfaceView by subclassing it and overriding one or more of the * View system input event methods. If your application does not need to override event * methods then GLSurfaceView can be used as-is. For the most part * GLSurfaceView behavior is customized by calling "set" methods rather than by subclassing. * For example, unlike a regular View, drawing is delegated to a separate Renderer object which * is registered with the GLSurfaceView * using the {@link #setRenderer(Renderer)} call. *

*

Initializing GLSurfaceView

* All you have to do to initialize a GLSurfaceView is call {@link #setRenderer(Renderer)}. * However, if desired, you can modify the default behavior of GLSurfaceView by calling one or * more of these methods before calling setRenderer: *
    *
  • {@link #setDebugFlags(int)} *
  • {@link #setEGLConfigChooser(boolean)} *
  • {@link #setEGLConfigChooser(EGLConfigChooser)} *
  • {@link #setEGLConfigChooser(int, int, int, int, int, int)} *
  • {@link #setGLWrapper(GLWrapper)} *
*

*

Choosing an EGL Configuration

* A given Android device may support multiple possible types of drawing surfaces. * The available surfaces may differ in how may channels of data are present, as * well as how many bits are allocated to each channel. Therefore, the first thing * GLSurfaceView has to do when starting to render is choose what type of surface to use. *

* By default GLSurfaceView chooses an available surface that's closest to a 16-bit R5G6B5 surface * with a 16-bit depth buffer and no stencil. If you would prefer a different surface (for example, * if you do not need a depth buffer) you can override the default behavior by calling one of the * setEGLConfigChooser methods. *

*

Debug Behavior

* You can optionally modify the behavior of GLSurfaceView by calling * one or more of the debugging methods {@link #setDebugFlags(int)}, * and {@link #setGLWrapper}. These methods may be called before and/or after setRenderer, but * typically they are called before setRenderer so that they take effect immediately. *

*

Setting a Renderer

* Finally, you must call {@link #setRenderer} to register a {@link Renderer}. * The renderer is * responsible for doing the actual OpenGL rendering. *

*

Rendering Mode

* Once the renderer is set, you can control whether the renderer draws * continuously or on-demand by calling * {@link #setRenderMode}. The default is continuous rendering. *

*

Activity Life-cycle

* A GLSurfaceView must be notified when the activity is paused and resumed. GLSurfaceView clients * are required to call {@link #onPause()} when the activity pauses and * {@link #onResume()} when the activity resumes. These calls allow GLSurfaceView to * pause and resume the rendering thread, and also allow GLSurfaceView to release and recreate * the OpenGL display. *

*

Handling events

*

* To handle an event you will typically subclass GLSurfaceView and override the * appropriate method, just as you would with any other View. However, when handling * the event, you may need to communicate with the Renderer object * that's running in the rendering thread. You can do this using any * standard Java cross-thread communication mechanism. In addition, * one relatively easy way to communicate with your renderer is * to call * {@link #queueEvent(Runnable)}. For example: *

 * class MyGLSurfaceView extends GLSurfaceView {
 *
 *     private MyRenderer mMyRenderer;
 *
 *     public void start() {
 *         mMyRenderer = ...;
 *         setRenderer(mMyRenderer);
 *     }
 *
 *     public boolean onKeyDown(int keyCode, KeyEvent event) {
 *         if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
 *             queueEvent(new Runnable() {
 *                 // This method will be called on the rendering
 *                 // thread:
 *                 public void run() {
 *                     mMyRenderer.handleDpadCenter();
 *                 }});
 *             return true;
 *         }
 *         return super.onKeyDown(keyCode, event);
 *     }
 * }
 * 
* */ public class GLSurfaceView_SDL extends SurfaceView implements SurfaceHolder.Callback { /** * The renderer only renders * when the surface is created, or when {@link #requestRender} is called. * * @see #getRenderMode() * @see #setRenderMode(int) */ public final static int RENDERMODE_WHEN_DIRTY = 0; /** * The renderer is called * continuously to re-render the scene. * * @see #getRenderMode() * @see #setRenderMode(int) * @see #requestRender() */ public final static int RENDERMODE_CONTINUOUSLY = 1; /** * Check glError() after every GL call and throw an exception if glError indicates * that an error has occurred. This can be used to help track down which OpenGL ES call * is causing an error. * * @see #getDebugFlags * @see #setDebugFlags */ public final static int DEBUG_CHECK_GL_ERROR = 1; /** * Log GL calls to the system log at "verbose" level with tag "GLSurfaceView". * * @see #getDebugFlags * @see #setDebugFlags */ public final static int DEBUG_LOG_GL_CALLS = 2; /** * Standard View constructor. In order to render something, you * must call {@link #setRenderer} to register a renderer. */ public GLSurfaceView_SDL(Context context) { super(context); init(); } /** * Standard View constructor. In order to render something, you * must call {@link #setRenderer} to register a renderer. */ public GLSurfaceView_SDL(Context context, AttributeSet attrs) { super(context, attrs); init(); } private void init() { // Install a SurfaceHolder.Callback so we get notified when the // underlying surface is created and destroyed SurfaceHolder holder = getHolder(); holder.addCallback(this); holder.setType(SurfaceHolder.SURFACE_TYPE_GPU); } /** * Set the glWrapper. If the glWrapper is not null, its * {@link GLWrapper#wrap(GL)} method is called * whenever a surface is created. A GLWrapper can be used to wrap * the GL object that's passed to the renderer. Wrapping a GL * object enables examining and modifying the behavior of the * GL calls made by the renderer. *

* Wrapping is typically used for debugging purposes. *

* The default value is null. * @param glWrapper the new GLWrapper */ public void setGLWrapper(GLWrapper glWrapper) { mGLWrapper = glWrapper; } /** * Set the debug flags to a new value. The value is * constructed by OR-together zero or more * of the DEBUG_CHECK_* constants. The debug flags take effect * whenever a surface is created. The default value is zero. * @param debugFlags the new debug flags * @see #DEBUG_CHECK_GL_ERROR * @see #DEBUG_LOG_GL_CALLS */ public void setDebugFlags(int debugFlags) { mDebugFlags = debugFlags; } /** * Get the current value of the debug flags. * @return the current value of the debug flags. */ public int getDebugFlags() { return mDebugFlags; } /** * Set the renderer associated with this view. Also starts the thread that * will call the renderer, which in turn causes the rendering to start. *

This method should be called once and only once in the life-cycle of * a GLSurfaceView. *

The following GLSurfaceView methods can only be called before * setRenderer is called: *

    *
  • {@link #setEGLConfigChooser(boolean)} *
  • {@link #setEGLConfigChooser(EGLConfigChooser)} *
  • {@link #setEGLConfigChooser(int, int, int, int, int, int)} *
*

* The following GLSurfaceView methods can only be called after * setRenderer is called: *

    *
  • {@link #getRenderMode()} *
  • {@link #onPause()} *
  • {@link #onResume()} *
  • {@link #queueEvent(Runnable)} *
  • {@link #requestRender()} *
  • {@link #setRenderMode(int)} *
* * @param renderer the renderer to use to perform OpenGL drawing. */ public void setRenderer(Renderer renderer) { if (mGLThread != null) { throw new IllegalStateException( "setRenderer has already been called for this instance."); } if (mEGLConfigChooser == null) { mEGLConfigChooser = getEglConfigChooser(16, false, false, false); } mGLThread = new GLThread(renderer); mGLThread.start(); } /** * Install a custom EGLConfigChooser. *

If this method is * called, it must be called before {@link #setRenderer(Renderer)} * is called. *

* If no setEGLConfigChooser method is called, then by default the * view will choose a config as close to 16-bit RGB as possible, with * a depth buffer as close to 16 bits as possible. * @param configChooser */ public void setEGLConfigChooser(EGLConfigChooser configChooser) { if (mGLThread != null) { throw new IllegalStateException( "setRenderer has already been called for this instance."); } mEGLConfigChooser = configChooser; } /** * Install a config chooser which will choose a config * as close to 16-bit RGB as possible, with or without an optional depth * buffer as close to 16-bits as possible. *

If this method is * called, it must be called before {@link #setRenderer(Renderer)} * is called. *

* If no setEGLConfigChooser method is called, then by default the * view will choose a config as close to 16-bit RGB as possible, with * a depth buffer as close to 16 bits as possible. * * @param needDepth */ public void setEGLConfigChooser(int bpp, boolean needDepth, boolean stencil, boolean gles2) { setEGLConfigChooser(getEglConfigChooser(bpp, needDepth, stencil, gles2)); } /** * Install a config chooser which will choose a config * with at least the specified component sizes, and as close * to the specified component sizes as possible. *

If this method is * called, it must be called before {@link #setRenderer(Renderer)} * is called. *

* If no setEGLConfigChooser method is called, then by default the * view will choose a config as close to 16-bit RGB as possible, with * a depth buffer as close to 16 bits as possible. * */ public void setEGLConfigChooser(int redSize, int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize, boolean gles2) { setEGLConfigChooser(new ComponentSizeChooser(redSize, greenSize, blueSize, alphaSize, depthSize, stencilSize, gles2)); } /** * Set the rendering mode. When renderMode is * RENDERMODE_CONTINUOUSLY, the renderer is called * repeatedly to re-render the scene. When renderMode * is RENDERMODE_WHEN_DIRTY, the renderer only rendered when the surface * is created, or when {@link #requestRender} is called. Defaults to RENDERMODE_CONTINUOUSLY. *

* Using RENDERMODE_WHEN_DIRTY can improve battery life and overall system performance * by allowing the GPU and CPU to idle when the view does not need to be updated. *

* This method can only be called after {@link #setRenderer(Renderer)} * * @param renderMode one of the RENDERMODE_X constants * @see #RENDERMODE_CONTINUOUSLY * @see #RENDERMODE_WHEN_DIRTY */ public void setRenderMode(int renderMode) { mGLThread.setRenderMode(renderMode); } /** * Get the current rendering mode. May be called * from any thread. Must not be called before a renderer has been set. * @return the current rendering mode. * @see #RENDERMODE_CONTINUOUSLY * @see #RENDERMODE_WHEN_DIRTY */ public int getRenderMode() { return mGLThread.getRenderMode(); } /** * Request that the renderer render a frame. * This method is typically used when the render mode has been set to * {@link #RENDERMODE_WHEN_DIRTY}, so that frames are only rendered on demand. * May be called * from any thread. Must not be called before a renderer has been set. */ public void requestRender() { mGLThread.requestRender(); } /** * This method is part of the SurfaceHolder.Callback interface, and is * not normally called or subclassed by clients of GLSurfaceView. */ public void surfaceCreated(SurfaceHolder holder) { mGLThread.surfaceCreated(); } /** * This method is part of the SurfaceHolder.Callback interface, and is * not normally called or subclassed by clients of GLSurfaceView. */ public void surfaceDestroyed(SurfaceHolder holder) { // Surface will be destroyed when we return mGLThread.surfaceDestroyed(); } /** * This method is part of the SurfaceHolder.Callback interface, and is * not normally called or subclassed by clients of GLSurfaceView. */ public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { mGLThread.onWindowResize(w, h); } /** * Inform the view that the activity is paused. The owner of this view must * call this method when the activity is paused. Calling this method will * pause the rendering thread. * Must not be called before a renderer has been set. */ public void onPause() { mGLThread.onPause(); } /** * Inform the view that the activity is resumed. The owner of this view must * call this method when the activity is resumed. Calling this method will * recreate the OpenGL display and resume the rendering * thread. * Must not be called before a renderer has been set. */ public void onResume() { mGLThread.onResume(); } /** * Queue a runnable to be run on the GL rendering thread. This can be used * to communicate with the Renderer on the rendering thread. * Must not be called before a renderer has been set. * @param r the runnable to be run on the GL rendering thread. */ public void queueEvent(Runnable r) { mGLThread.queueEvent(r); } /** * This method is used as part of the View class and is not normally * called or subclassed by clients of GLSurfaceView. * Must not be called before a renderer has been set. */ @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mGLThread.requestExitAndWait(); } // ---------------------------------------------------------------------- /** * An interface used to wrap a GL interface. *

Typically * used for implementing debugging and tracing on top of the default * GL interface. You would typically use this by creating your own class * that implemented all the GL methods by delegating to another GL instance. * Then you could add your own behavior before or after calling the * delegate. All the GLWrapper would do was instantiate and return the * wrapper GL instance: *

     * class MyGLWrapper implements GLWrapper {
     *     GL wrap(GL gl) {
     *         return new MyGLImplementation(gl);
     *     }
     *     static class MyGLImplementation implements GL,GL10,GL11,... {
     *         ...
     *     }
     * }
     * 
* @see #setGLWrapper(GLWrapper) */ public interface GLWrapper { /** * Wraps a gl interface in another gl interface. * @param gl a GL interface that is to be wrapped. * @return either the input argument or another GL object that wraps the input argument. */ GL wrap(GL gl); } /** * A generic renderer interface. *

* The renderer is responsible for making OpenGL calls to render a frame. *

* GLSurfaceView clients typically create their own classes that implement * this interface, and then call {@link GLSurfaceView#setRenderer} to * register the renderer with the GLSurfaceView. *

*

Threading

* The renderer will be called on a separate thread, so that rendering * performance is decoupled from the UI thread. Clients typically need to * communicate with the renderer from the UI thread, because that's where * input events are received. Clients can communicate using any of the * standard Java techniques for cross-thread communication, or they can * use the {@link GLSurfaceView#queueEvent(Runnable)} convenience method. *

*

EGL Context Lost

* There are situations where the EGL rendering context will be lost. This * typically happens when device wakes up after going to sleep. When * the EGL context is lost, all OpenGL resources (such as textures) that are * associated with that context will be automatically deleted. In order to * keep rendering correctly, a renderer must recreate any lost resources * that it still needs. The {@link #onSurfaceCreated(GL10, EGLConfig)} method * is a convenient place to do this. * * * @see #setRenderer(Renderer) */ public static interface SwapBuffersCallback { public boolean SwapBuffers(); } public static abstract class Renderer { /** * Called when the surface is created or recreated. *

* Called when the rendering thread * starts and whenever the EGL context is lost. The context will typically * be lost when the Android device awakes after going to sleep. *

* Since this method is called at the beginning of rendering, as well as * every time the EGL context is lost, this method is a convenient place to put * code to create resources that need to be created when the rendering * starts, and that need to be recreated when the EGL context is lost. * Textures are an example of a resource that you might want to create * here. *

* Note that when the EGL context is lost, all OpenGL resources associated * with that context will be automatically deleted. You do not need to call * the corresponding "glDelete" methods such as glDeleteTextures to * manually delete these lost resources. *

* @param gl the GL interface. Use instanceof to * test if the interface supports GL11 or higher interfaces. * @param config the EGLConfig of the created surface. Can be used * to create matching pbuffers. */ public abstract void onSurfaceCreated(GL10 gl, EGLConfig config); public abstract void onSurfaceDestroyed(); /** * Called when the surface changed size. *

* Called after the surface is created and whenever * the OpenGL ES surface size changes. *

* Typically you will set your viewport here. If your camera * is fixed then you could also set your projection matrix here: *

         * void onSurfaceChanged(GL10 gl, int width, int height) {
         *     gl.glViewport(0, 0, width, height);
         *     // for a fixed camera, set the projection too
         *     float ratio = (float) width / height;
         *     gl.glMatrixMode(GL10.GL_PROJECTION);
         *     gl.glLoadIdentity();
         *     gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);
         * }
         * 
* @param gl the GL interface. Use instanceof to * test if the interface supports GL11 or higher interfaces. * @param width * @param height */ public abstract void onSurfaceChanged(GL10 gl, int width, int height); /** * Called to draw the current frame. *

* This method is responsible for drawing the current frame. *

* The implementation of this method typically looks like this: *

         * void onDrawFrame(GL10 gl) {
         *     gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
         *     //... other gl calls to render the scene ...
         * }
         * 
* @param gl the GL interface. Use instanceof to * test if the interface supports GL11 or higher interfaces. */ public abstract void onDrawFrame(GL10 gl); public boolean SwapBuffers() { if( mSwapBuffersCallback != null ) return mSwapBuffersCallback.SwapBuffers(); return false; } public void setSwapBuffersCallback( SwapBuffersCallback c ) { mSwapBuffersCallback = c; } private SwapBuffersCallback mSwapBuffersCallback = null; } /** * An interface for choosing an EGLConfig configuration from a list of * potential configurations. *

* This interface must be implemented by clients wishing to call * {@link GLSurfaceView#setEGLConfigChooser(EGLConfigChooser)} */ public interface EGLConfigChooser { /** * Choose a configuration from the list. Implementors typically * implement this method by calling * {@link EGL10#eglChooseConfig} and iterating through the results. Please consult the * EGL specification available from The Khronos Group to learn how to call eglChooseConfig. * @param egl the EGL10 for the current display. * @param display the current display. * @return the chosen configuration. */ EGLConfig chooseConfig(EGL10 egl, EGLDisplay display); public boolean isGles2Required(); } private static abstract class BaseConfigChooser implements EGLConfigChooser { public BaseConfigChooser(int[] configSpec) { mConfigSpec = configSpec; } public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) { int[] num_config = new int[1]; egl.eglChooseConfig(display, mConfigSpec, null, 0, num_config); int numConfigs = num_config[0]; if (numConfigs <= 0) { throw new IllegalArgumentException( "No configs match configSpec"); } EGLConfig[] configs = new EGLConfig[numConfigs]; egl.eglChooseConfig(display, mConfigSpec, configs, numConfigs, num_config); EGLConfig config = chooseConfig(egl, display, configs); if (config == null) { throw new IllegalArgumentException("No config chosen"); } return config; } abstract EGLConfig chooseConfig(EGL10 egl, EGLDisplay display, EGLConfig[] configs); protected int[] mConfigSpec; } private static class ComponentSizeChooser extends BaseConfigChooser { public ComponentSizeChooser(int redSize, int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize, boolean isGles2) { super(new int[] {EGL10.EGL_NONE}); // Get all possible configs mValue = new int[1]; mRedSize = redSize; mGreenSize = greenSize; mBlueSize = blueSize; mAlphaSize = alphaSize; mDepthSize = depthSize; mStencilSize = stencilSize; mIsGles2 = isGles2; } @Override public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display, EGLConfig[] configs) { EGLConfig closestConfig = null; int closestDistance = 1000; String cfglog = ""; int idx = 0; int selectidx = -1; for(EGLConfig config : configs) { if ( config == null ) continue; int r = findConfigAttrib(egl, display, config, EGL10.EGL_RED_SIZE, 0); int g = findConfigAttrib(egl, display, config, EGL10.EGL_GREEN_SIZE, 0); int b = findConfigAttrib(egl, display, config, EGL10.EGL_BLUE_SIZE, 0); int a = findConfigAttrib(egl, display, config, EGL10.EGL_ALPHA_SIZE, 0); int d = findConfigAttrib(egl, display, config, EGL10.EGL_DEPTH_SIZE, 0); int s = findConfigAttrib(egl, display, config, EGL10.EGL_STENCIL_SIZE, 0); int rendertype = findConfigAttrib(egl, display, config, EGL10.EGL_RENDERABLE_TYPE, 0); int desiredtype = mIsGles2 ? EGL_OPENGL_ES2_BIT : EGL_OPENGL_ES_BIT; int nativeRender = findConfigAttrib(egl, display, config, EGL10.EGL_NATIVE_RENDERABLE, 0); int caveat = findConfigAttrib(egl, display, config, EGL10.EGL_CONFIG_CAVEAT, EGL10.EGL_NONE); int distance = Math.abs(r - mRedSize) + Math.abs(g - mGreenSize) + Math.abs(b - mBlueSize) + Math.abs(a - mAlphaSize); if( (d > 0) != (mDepthSize > 0) ) distance += (d > 0) ? 5 : 1; // Small penalty if we don't need zbuffer but it is present if( (s > 0) == (mStencilSize > 0) ) distance += (s > 0) ? 5 : 1; if( (rendertype & desiredtype) == 0 ) distance += 5; if( caveat == EGL10.EGL_SLOW_CONFIG ) distance += 4; if( caveat == EGL10.EGL_NON_CONFORMANT_CONFIG ) // dunno what that means, probably R and B channels swapped distance += 1; String cfgcur = "R" + r + "G" + g + "B" + b + "A" + a + " depth " + d + " stencil " + s + " type " + rendertype + " ("; if((rendertype & EGL_OPENGL_ES_BIT) != 0) cfgcur += "GLES"; if((rendertype & EGL_OPENGL_ES2_BIT) != 0) cfgcur += " GLES2"; if((rendertype & EGL_OPENGL_BIT) != 0) cfgcur += " OPENGL"; if((rendertype & EGL_OPENVG_BIT) != 0) cfgcur += " OPENVG"; cfgcur += ")"; cfgcur += " caveat " + (caveat == EGL10.EGL_NONE ? "none" : (caveat == EGL10.EGL_SLOW_CONFIG ? "SLOW" : caveat == EGL10.EGL_NON_CONFORMANT_CONFIG ? "non-conformant" : String.valueOf(caveat))); cfgcur += " nr " + nativeRender; cfgcur += " pos " + distance; Log.v("SDL", "GL config " + idx + ": " + cfgcur); if (distance < closestDistance) { closestDistance = distance; closestConfig = config; cfglog = new String(cfgcur); selectidx = idx; } idx += 1; } Log.v("SDL", "GLSurfaceView_SDL::EGLConfigChooser::chooseConfig(): selected " + selectidx + ": " + cfglog ); return closestConfig; } private int findConfigAttrib(EGL10 egl, EGLDisplay display, EGLConfig config, int attribute, int defaultValue) { mValue[0] = -1; if (egl.eglGetConfigAttrib(display, config, attribute, mValue)) { return mValue[0]; } Log.w("SDL", "GLSurfaceView_SDL::EGLConfigChooser::findConfigAttrib(): attribute doesn't exist: " + attribute); return defaultValue; } public boolean isGles2Required() { return mIsGles2; } private int[] mValue; // Subclasses can adjust these values: protected int mRedSize; protected int mGreenSize; protected int mBlueSize; protected int mAlphaSize; protected int mDepthSize; protected int mStencilSize; protected boolean mIsGles2 = false; public static final int EGL_OPENGL_ES_BIT = 1; public static final int EGL_OPENVG_BIT = 2; public static final int EGL_OPENGL_ES2_BIT = 4; public static final int EGL_OPENGL_BIT = 8; } /** * This class will choose a supported surface as close to * RGB565 as possible, with or without a depth buffer. * */ private static class SimpleEGLConfigChooser16 extends ComponentSizeChooser { public SimpleEGLConfigChooser16(boolean withDepthBuffer, boolean stencil, boolean gles2) { super(4, 4, 4, 0, withDepthBuffer ? 16 : 0, stencil ? 8 : 0, gles2); // Adjust target values. This way we'll accept a 4444 or // 555 buffer if there's no 565 buffer available. mRedSize = 5; mGreenSize = 6; mBlueSize = 5; } } private static class SimpleEGLConfigChooser24 extends ComponentSizeChooser { public SimpleEGLConfigChooser24(boolean withDepthBuffer, boolean stencil, boolean gles2) { super(8, 8, 8, 0, withDepthBuffer ? 16 : 0, stencil ? 8 : 0, gles2); mRedSize = 8; mGreenSize = 8; mBlueSize = 8; } } private static class SimpleEGLConfigChooser32 extends ComponentSizeChooser { public SimpleEGLConfigChooser32(boolean withDepthBuffer, boolean stencil, boolean gles2) { super(8, 8, 8, 8, withDepthBuffer ? 16 : 0, stencil ? 8 : 0, gles2); mRedSize = 8; mGreenSize = 8; mBlueSize = 8; mAlphaSize = 8; } } private static ComponentSizeChooser getEglConfigChooser(int videoDepthBpp, boolean withDepthBuffer, boolean stencil, boolean gles2) { if(videoDepthBpp == 16) return new SimpleEGLConfigChooser16(withDepthBuffer, stencil, gles2); if(videoDepthBpp == 24) return new SimpleEGLConfigChooser24(withDepthBuffer, stencil, gles2); if(videoDepthBpp == 32) return new SimpleEGLConfigChooser32(withDepthBuffer, stencil, gles2); return null; }; /** * An EGL helper class. */ private class EglHelper { public EglHelper() { } /** * Initialize EGL for a given configuration spec. * @param configSpec */ public void start(){ Log.v("SDL", "GLSurfaceView_SDL::EglHelper::start(): creating GL context"); /* * Get an EGL instance */ mEgl = (EGL10) EGLContext.getEGL(); /* * Get to the default display. */ mEglDisplay = mEgl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); /* * We can now initialize EGL for that display */ int[] version = new int[2]; mEgl.eglInitialize(mEglDisplay, version); mEglConfig = mEGLConfigChooser.chooseConfig(mEgl, mEglDisplay); if( mEglConfig == null ) Log.e("SDL", "GLSurfaceView_SDL::EglHelper::start(): mEglConfig is NULL"); /* * Create an OpenGL ES context. This must be done only once, an * OpenGL context is a somewhat heavy object. */ final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; final int[] gles2_attrib_list = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE }; mEglContext = mEgl.eglCreateContext(mEglDisplay, mEglConfig, EGL10.EGL_NO_CONTEXT, mEGLConfigChooser.isGles2Required() ? gles2_attrib_list : null ); if( mEglContext == null || mEglContext == EGL10.EGL_NO_CONTEXT ) Log.e("SDL", "GLSurfaceView_SDL::EglHelper::start(): mEglContext is EGL_NO_CONTEXT, error: " + mEgl.eglGetError()); mEglSurface = null; } /* * React to the creation of a new surface by creating and returning an * OpenGL interface that renders to that surface. */ public GL createSurface(SurfaceHolder holder) { Log.v("SDL", "GLSurfaceView_SDL::EglHelper::createSurface(): creating GL context"); /* * The window size has changed, so we need to create a new * surface. */ if (mEglSurface != null) { /* * Unbind and destroy the old EGL surface, if * there is one. */ mEgl.eglMakeCurrent(mEglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); } /* * Create an EGL surface we can render into. */ mEglSurface = mEgl.eglCreateWindowSurface(mEglDisplay, mEglConfig, holder, null); /* * Before we can issue GL commands, we need to make sure * the context is current and bound to a surface. */ mEgl.eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext); GL gl = mEglContext.getGL(); if (mGLWrapper != null) { gl = mGLWrapper.wrap(gl); } return gl; } /** * Display the current render surface. * @return false if the context has been lost. */ public boolean swap() { mEgl.eglSwapBuffers(mEglDisplay, mEglSurface); /* * Always check for EGL_CONTEXT_LOST, which means the context * and all associated data were lost (For instance because * the device went to sleep). We need to sleep until we * get a new surface. */ return mEgl.eglGetError() != EGL11.EGL_CONTEXT_LOST; } public void finish() { Log.v("SDL", "GLSurfaceView_SDL::EglHelper::finish(): destroying GL context"); if (mEglSurface != null) { mEgl.eglMakeCurrent(mEglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); mEglSurface = null; } if (mEglContext != null) { mEgl.eglDestroyContext(mEglDisplay, mEglContext); mEglContext = null; } if (mEglDisplay != null) { mEgl.eglTerminate(mEglDisplay); mEglDisplay = null; } } EGL10 mEgl; EGLDisplay mEglDisplay; EGLSurface mEglSurface; EGLConfig mEglConfig; EGLContext mEglContext; } /** * A generic GL Thread. Takes care of initializing EGL and GL. Delegates * to a Renderer instance to do the actual drawing. Can be configured to * render continuously or on request. * */ class GLThread extends Thread implements SwapBuffersCallback { GLThread(Renderer renderer) { super(); mDone = false; mWidth = 0; mHeight = 0; mRequestRender = true; mRenderMode = RENDERMODE_CONTINUOUSLY; mRenderer = renderer; mRenderer.setSwapBuffersCallback(this); setName("GLThread"); } @Override public void run() { /* * When the android framework launches a second instance of * an activity, the new instance's onCreate() method may be * called before the first instance returns from onDestroy(). * * This semaphore ensures that only one instance at a time * accesses EGL. */ try { sEglSemaphore.acquire(); } catch (InterruptedException e) { return; } mEglHelper = new EglHelper(); // mEglHelper.start(); mNeedStart = true; mSizeChanged = true; SwapBuffers(); mRenderer.onDrawFrame(mGL); mEglHelper.finish(); /* synchronized (sGLThreadManager) { stopEglLocked(); } sGLThreadManager.threadExiting(this); */ sEglSemaphore.release(); } public boolean SwapBuffers() { boolean tellRendererSurfaceCreated = false; boolean tellRendererSurfaceChanged = false; /* * This is our main activity thread's loop, we go until * asked to quit. */ /* * Update the asynchronous state (window size) */ while(true) { // Loop until we're re-created GL context and successfully called swap() int w, h; boolean changed = false; synchronized (this) { /* Runnable r; while ((r = getEvent()) != null) { r.run(); } */ if (mPaused) { mRenderer.onSurfaceDestroyed(); mEglHelper.finish(); mNeedStart = true; if( Globals.NonBlockingSwapBuffers ) return false; } while (needToWait()) { //Log.v("SDL", "GLSurfaceView_SDL::run(): paused"); try { wait(500); } catch(Exception e) { } } if (mDone) { return false; } // changed = mSizeChanged; w = mWidth; h = mHeight; mSizeChanged = false; mRequestRender = false; } if (mNeedStart) { mEglHelper.start(); tellRendererSurfaceCreated = true; changed = true; mNeedStart = false; } if (changed) { mGL = (GL10) mEglHelper.createSurface(getHolder()); tellRendererSurfaceChanged = true; } if (tellRendererSurfaceCreated) { mRenderer.onSurfaceCreated(mGL, mEglHelper.mEglConfig); tellRendererSurfaceCreated = false; } if (tellRendererSurfaceChanged) { mRenderer.onSurfaceChanged(mGL, w, h); tellRendererSurfaceChanged = false; } /* * Once we're done with GL, we need to call swapBuffers() * to instruct the system to display the rendered frame */ if( mEglHelper.swap() ) return true; // We've lost GL context - recreate it mRenderer.onSurfaceDestroyed(); mEglHelper.finish(); mNeedStart = true; if( Globals.NonBlockingSwapBuffers ) return false; } } private boolean needToWait() { if (mDone) { return false; } if (mPaused || (! mHasSurface)) { return true; } if ((mWidth > 0) && (mHeight > 0) && (mRequestRender || (mRenderMode == RENDERMODE_CONTINUOUSLY))) { return false; } return true; } public void setRenderMode(int renderMode) { if ( !((RENDERMODE_WHEN_DIRTY <= renderMode) && (renderMode <= RENDERMODE_CONTINUOUSLY)) ) { throw new IllegalArgumentException("renderMode"); } synchronized(this) { mRenderMode = renderMode; if (renderMode == RENDERMODE_CONTINUOUSLY) { notify(); } } } public int getRenderMode() { synchronized(this) { return mRenderMode; } } public void requestRender() { synchronized(this) { mRequestRender = true; notify(); } } public void surfaceCreated() { synchronized(this) { mHasSurface = true; notify(); } } public void surfaceDestroyed() { synchronized(this) { mHasSurface = false; notify(); } } public void onPause() { Log.v("SDL", "GLSurfaceView_SDL::onPause()"); synchronized (this) { mPaused = true; } } public void onResume() { Log.v("SDL", "GLSurfaceView_SDL::onResume()"); synchronized (this) { mPaused = false; notify(); } } public void onWindowResize(int w, int h) { synchronized (this) { mWidth = w; mHeight = h; mSizeChanged = true; notify(); } } public void requestExitAndWait() { // don't call this from GLThread thread or it is a guaranteed // deadlock! synchronized(this) { mDone = true; notify(); } try { join(); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } /** * Queue an "event" to be run on the GL rendering thread. * @param r the runnable to be run on the GL rendering thread. */ public void queueEvent(Runnable r) { synchronized(this) { mEventQueue.add(r); } } private Runnable getEvent() { synchronized(this) { if (mEventQueue.size() > 0) { return mEventQueue.remove(0); } } return null; } private boolean mDone; private boolean mPaused; private boolean mHasSurface; private int mWidth; private int mHeight; private int mRenderMode; private boolean mRequestRender; private Renderer mRenderer; private ArrayList mEventQueue = new ArrayList(); private EglHelper mEglHelper; private GL10 mGL = null; private boolean mNeedStart = false; } static class LogWriter extends Writer { @Override public void close() { flushBuilder(); } @Override public void flush() { flushBuilder(); } @Override public void write(char[] buf, int offset, int count) { for(int i = 0; i < count; i++) { char c = buf[offset + i]; if ( c == '\n') { flushBuilder(); } else { mBuilder.append(c); } } } private void flushBuilder() { if (mBuilder.length() > 0) { Log.v("GLSurfaceView", mBuilder.toString()); mBuilder.delete(0, mBuilder.length()); } } private StringBuilder mBuilder = new StringBuilder(); } private static final Semaphore sEglSemaphore = new Semaphore(1); private boolean mSizeChanged = true; private GLThread mGLThread; private EGLConfigChooser mEGLConfigChooser; private GLWrapper mGLWrapper; private int mDebugFlags; } tucnak-4.32/android/src/Keycodes.java0000644000175000017500000006001412052426441014471 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import java.lang.String; import java.util.ArrayList; import java.util.Arrays; import java.lang.reflect.Field; // Autogenerated by hand with a command: // grep 'SDLK_' SDL_keysym.h | sed 's/SDLK_\([a-zA-Z0-9_]\+\).*[=] \([0-9]\+\).*/public static final int SDLK_\1 = \2;/' >> Keycodes.java class SDL_1_2_Keycodes { public static final int SDLK_UNKNOWN = 0; public static final int SDLK_BACKSPACE = 8; public static final int SDLK_TAB = 9; public static final int SDLK_CLEAR = 12; public static final int SDLK_RETURN = 13; public static final int SDLK_PAUSE = 19; public static final int SDLK_ESCAPE = 27; public static final int SDLK_SPACE = 32; public static final int SDLK_EXCLAIM = 33; public static final int SDLK_QUOTEDBL = 34; public static final int SDLK_HASH = 35; public static final int SDLK_DOLLAR = 36; public static final int SDLK_AMPERSAND = 38; public static final int SDLK_QUOTE = 39; public static final int SDLK_LEFTPAREN = 40; public static final int SDLK_RIGHTPAREN = 41; public static final int SDLK_ASTERISK = 42; public static final int SDLK_PLUS = 43; public static final int SDLK_COMMA = 44; public static final int SDLK_MINUS = 45; public static final int SDLK_PERIOD = 46; public static final int SDLK_SLASH = 47; public static final int SDLK_0 = 48; public static final int SDLK_1 = 49; public static final int SDLK_2 = 50; public static final int SDLK_3 = 51; public static final int SDLK_4 = 52; public static final int SDLK_5 = 53; public static final int SDLK_6 = 54; public static final int SDLK_7 = 55; public static final int SDLK_8 = 56; public static final int SDLK_9 = 57; public static final int SDLK_COLON = 58; public static final int SDLK_SEMICOLON = 59; public static final int SDLK_LESS = 60; public static final int SDLK_EQUALS = 61; public static final int SDLK_GREATER = 62; public static final int SDLK_QUESTION = 63; public static final int SDLK_AT = 64; public static final int SDLK_LEFTBRACKET = 91; public static final int SDLK_BACKSLASH = 92; public static final int SDLK_RIGHTBRACKET = 93; public static final int SDLK_CARET = 94; public static final int SDLK_UNDERSCORE = 95; public static final int SDLK_BACKQUOTE = 96; public static final int SDLK_a = 97; public static final int SDLK_b = 98; public static final int SDLK_c = 99; public static final int SDLK_d = 100; public static final int SDLK_e = 101; public static final int SDLK_f = 102; public static final int SDLK_g = 103; public static final int SDLK_h = 104; public static final int SDLK_i = 105; public static final int SDLK_j = 106; public static final int SDLK_k = 107; public static final int SDLK_l = 108; public static final int SDLK_m = 109; public static final int SDLK_n = 110; public static final int SDLK_o = 111; public static final int SDLK_p = 112; public static final int SDLK_q = 113; public static final int SDLK_r = 114; public static final int SDLK_s = 115; public static final int SDLK_t = 116; public static final int SDLK_u = 117; public static final int SDLK_v = 118; public static final int SDLK_w = 119; public static final int SDLK_x = 120; public static final int SDLK_y = 121; public static final int SDLK_z = 122; public static final int SDLK_DELETE = 127; public static final int SDLK_WORLD_0 = 160; public static final int SDLK_WORLD_1 = 161; public static final int SDLK_WORLD_2 = 162; public static final int SDLK_WORLD_3 = 163; public static final int SDLK_WORLD_4 = 164; public static final int SDLK_WORLD_5 = 165; public static final int SDLK_WORLD_6 = 166; public static final int SDLK_WORLD_7 = 167; public static final int SDLK_WORLD_8 = 168; public static final int SDLK_WORLD_9 = 169; public static final int SDLK_WORLD_10 = 170; public static final int SDLK_WORLD_11 = 171; public static final int SDLK_WORLD_12 = 172; public static final int SDLK_WORLD_13 = 173; public static final int SDLK_WORLD_14 = 174; public static final int SDLK_WORLD_15 = 175; public static final int SDLK_WORLD_16 = 176; public static final int SDLK_WORLD_17 = 177; public static final int SDLK_WORLD_18 = 178; public static final int SDLK_WORLD_19 = 179; public static final int SDLK_WORLD_20 = 180; public static final int SDLK_WORLD_21 = 181; public static final int SDLK_WORLD_22 = 182; public static final int SDLK_WORLD_23 = 183; public static final int SDLK_WORLD_24 = 184; public static final int SDLK_WORLD_25 = 185; public static final int SDLK_WORLD_26 = 186; public static final int SDLK_WORLD_27 = 187; public static final int SDLK_WORLD_28 = 188; public static final int SDLK_WORLD_29 = 189; public static final int SDLK_WORLD_30 = 190; public static final int SDLK_WORLD_31 = 191; public static final int SDLK_WORLD_32 = 192; public static final int SDLK_WORLD_33 = 193; public static final int SDLK_WORLD_34 = 194; public static final int SDLK_WORLD_35 = 195; public static final int SDLK_WORLD_36 = 196; public static final int SDLK_WORLD_37 = 197; public static final int SDLK_WORLD_38 = 198; public static final int SDLK_WORLD_39 = 199; public static final int SDLK_WORLD_40 = 200; public static final int SDLK_WORLD_41 = 201; public static final int SDLK_WORLD_42 = 202; public static final int SDLK_WORLD_43 = 203; public static final int SDLK_WORLD_44 = 204; public static final int SDLK_WORLD_45 = 205; public static final int SDLK_WORLD_46 = 206; public static final int SDLK_WORLD_47 = 207; public static final int SDLK_WORLD_48 = 208; public static final int SDLK_WORLD_49 = 209; public static final int SDLK_WORLD_50 = 210; public static final int SDLK_WORLD_51 = 211; public static final int SDLK_WORLD_52 = 212; public static final int SDLK_WORLD_53 = 213; public static final int SDLK_WORLD_54 = 214; public static final int SDLK_WORLD_55 = 215; public static final int SDLK_WORLD_56 = 216; public static final int SDLK_WORLD_57 = 217; public static final int SDLK_WORLD_58 = 218; public static final int SDLK_WORLD_59 = 219; public static final int SDLK_WORLD_60 = 220; public static final int SDLK_WORLD_61 = 221; public static final int SDLK_WORLD_62 = 222; public static final int SDLK_WORLD_63 = 223; public static final int SDLK_WORLD_64 = 224; public static final int SDLK_WORLD_65 = 225; public static final int SDLK_WORLD_66 = 226; public static final int SDLK_WORLD_67 = 227; public static final int SDLK_WORLD_68 = 228; public static final int SDLK_WORLD_69 = 229; public static final int SDLK_WORLD_70 = 230; public static final int SDLK_WORLD_71 = 231; public static final int SDLK_WORLD_72 = 232; public static final int SDLK_WORLD_73 = 233; public static final int SDLK_WORLD_74 = 234; public static final int SDLK_WORLD_75 = 235; public static final int SDLK_WORLD_76 = 236; public static final int SDLK_WORLD_77 = 237; public static final int SDLK_WORLD_78 = 238; public static final int SDLK_WORLD_79 = 239; public static final int SDLK_WORLD_80 = 240; public static final int SDLK_WORLD_81 = 241; public static final int SDLK_WORLD_82 = 242; public static final int SDLK_WORLD_83 = 243; public static final int SDLK_WORLD_84 = 244; public static final int SDLK_WORLD_85 = 245; public static final int SDLK_WORLD_86 = 246; public static final int SDLK_WORLD_87 = 247; public static final int SDLK_WORLD_88 = 248; public static final int SDLK_WORLD_89 = 249; public static final int SDLK_WORLD_90 = 250; public static final int SDLK_WORLD_91 = 251; public static final int SDLK_WORLD_92 = 252; public static final int SDLK_WORLD_93 = 253; public static final int SDLK_WORLD_94 = 254; public static final int SDLK_WORLD_95 = 255; public static final int SDLK_KP0 = 256; public static final int SDLK_KP1 = 257; public static final int SDLK_KP2 = 258; public static final int SDLK_KP3 = 259; public static final int SDLK_KP4 = 260; public static final int SDLK_KP5 = 261; public static final int SDLK_KP6 = 262; public static final int SDLK_KP7 = 263; public static final int SDLK_KP8 = 264; public static final int SDLK_KP9 = 265; public static final int SDLK_KP_PERIOD = 266; public static final int SDLK_KP_DIVIDE = 267; public static final int SDLK_KP_MULTIPLY = 268; public static final int SDLK_KP_MINUS = 269; public static final int SDLK_KP_PLUS = 270; public static final int SDLK_KP_ENTER = 271; public static final int SDLK_KP_EQUALS = 272; public static final int SDLK_UP = 273; public static final int SDLK_DOWN = 274; public static final int SDLK_RIGHT = 275; public static final int SDLK_LEFT = 276; public static final int SDLK_INSERT = 277; public static final int SDLK_HOME = 278; public static final int SDLK_END = 279; public static final int SDLK_PAGEUP = 280; public static final int SDLK_PAGEDOWN = 281; public static final int SDLK_F1 = 282; public static final int SDLK_F2 = 283; public static final int SDLK_F3 = 284; public static final int SDLK_F4 = 285; public static final int SDLK_F5 = 286; public static final int SDLK_F6 = 287; public static final int SDLK_F7 = 288; public static final int SDLK_F8 = 289; public static final int SDLK_F9 = 290; public static final int SDLK_F10 = 291; public static final int SDLK_F11 = 292; public static final int SDLK_F12 = 293; public static final int SDLK_F13 = 294; public static final int SDLK_F14 = 295; public static final int SDLK_F15 = 296; public static final int SDLK_NUMLOCK = 300; public static final int SDLK_CAPSLOCK = 301; public static final int SDLK_SCROLLOCK = 302; public static final int SDLK_RSHIFT = 303; public static final int SDLK_LSHIFT = 304; public static final int SDLK_RCTRL = 305; public static final int SDLK_LCTRL = 306; public static final int SDLK_RALT = 307; public static final int SDLK_LALT = 308; public static final int SDLK_RMETA = 309; public static final int SDLK_LMETA = 310; public static final int SDLK_LSUPER = 311; public static final int SDLK_RSUPER = 312; public static final int SDLK_MODE = 313; public static final int SDLK_COMPOSE = 314; public static final int SDLK_HELP = 315; public static final int SDLK_PRINT = 316; public static final int SDLK_SYSREQ = 317; public static final int SDLK_BREAK = 318; public static final int SDLK_MENU = 319; public static final int SDLK_POWER = 320; public static final int SDLK_EURO = 321; public static final int SDLK_UNDO = 322; public static final int SDLK_NO_REMAP = 512; } // Autogenerated by hand with a command: // grep 'SDL_SCANCODE_' SDL_scancode.h | sed 's/SDL_SCANCODE_\([a-zA-Z0-9_]\+\).*[=] \([0-9]\+\).*/public static final int SDLK_\1 = \2;/' >> Keycodes.java class SDL_1_3_Keycodes { public static final int SDLK_UNKNOWN = 0; public static final int SDLK_A = 4; public static final int SDLK_B = 5; public static final int SDLK_C = 6; public static final int SDLK_D = 7; public static final int SDLK_E = 8; public static final int SDLK_F = 9; public static final int SDLK_G = 10; public static final int SDLK_H = 11; public static final int SDLK_I = 12; public static final int SDLK_J = 13; public static final int SDLK_K = 14; public static final int SDLK_L = 15; public static final int SDLK_M = 16; public static final int SDLK_N = 17; public static final int SDLK_O = 18; public static final int SDLK_P = 19; public static final int SDLK_Q = 20; public static final int SDLK_R = 21; public static final int SDLK_S = 22; public static final int SDLK_T = 23; public static final int SDLK_U = 24; public static final int SDLK_V = 25; public static final int SDLK_W = 26; public static final int SDLK_X = 27; public static final int SDLK_Y = 28; public static final int SDLK_Z = 29; public static final int SDLK_1 = 30; public static final int SDLK_2 = 31; public static final int SDLK_3 = 32; public static final int SDLK_4 = 33; public static final int SDLK_5 = 34; public static final int SDLK_6 = 35; public static final int SDLK_7 = 36; public static final int SDLK_8 = 37; public static final int SDLK_9 = 38; public static final int SDLK_0 = 39; public static final int SDLK_RETURN = 40; public static final int SDLK_ESCAPE = 41; public static final int SDLK_BACKSPACE = 42; public static final int SDLK_TAB = 43; public static final int SDLK_SPACE = 44; public static final int SDLK_MINUS = 45; public static final int SDLK_EQUALS = 46; public static final int SDLK_LEFTBRACKET = 47; public static final int SDLK_RIGHTBRACKET = 48; public static final int SDLK_BACKSLASH = 49; public static final int SDLK_NONUSHASH = 50; public static final int SDLK_SEMICOLON = 51; public static final int SDLK_APOSTROPHE = 52; public static final int SDLK_GRAVE = 53; public static final int SDLK_COMMA = 54; public static final int SDLK_PERIOD = 55; public static final int SDLK_SLASH = 56; public static final int SDLK_CAPSLOCK = 57; public static final int SDLK_F1 = 58; public static final int SDLK_F2 = 59; public static final int SDLK_F3 = 60; public static final int SDLK_F4 = 61; public static final int SDLK_F5 = 62; public static final int SDLK_F6 = 63; public static final int SDLK_F7 = 64; public static final int SDLK_F8 = 65; public static final int SDLK_F9 = 66; public static final int SDLK_F10 = 67; public static final int SDLK_F11 = 68; public static final int SDLK_F12 = 69; public static final int SDLK_PRINTSCREEN = 70; public static final int SDLK_SCROLLLOCK = 71; public static final int SDLK_PAUSE = 72; public static final int SDLK_INSERT = 73; public static final int SDLK_HOME = 74; public static final int SDLK_PAGEUP = 75; public static final int SDLK_DELETE = 76; public static final int SDLK_END = 77; public static final int SDLK_PAGEDOWN = 78; public static final int SDLK_RIGHT = 79; public static final int SDLK_LEFT = 80; public static final int SDLK_DOWN = 81; public static final int SDLK_UP = 82; public static final int SDLK_NUMLOCKCLEAR = 83; public static final int SDLK_KP_DIVIDE = 84; public static final int SDLK_KP_MULTIPLY = 85; public static final int SDLK_KP_MINUS = 86; public static final int SDLK_KP_PLUS = 87; public static final int SDLK_KP_ENTER = 88; public static final int SDLK_KP_1 = 89; public static final int SDLK_KP_2 = 90; public static final int SDLK_KP_3 = 91; public static final int SDLK_KP_4 = 92; public static final int SDLK_KP_5 = 93; public static final int SDLK_KP_6 = 94; public static final int SDLK_KP_7 = 95; public static final int SDLK_KP_8 = 96; public static final int SDLK_KP_9 = 97; public static final int SDLK_KP_0 = 98; public static final int SDLK_KP_PERIOD = 99; public static final int SDLK_NONUSBACKSLASH = 100; public static final int SDLK_APPLICATION = 101; public static final int SDLK_POWER = 102; public static final int SDLK_KP_EQUALS = 103; public static final int SDLK_F13 = 104; public static final int SDLK_F14 = 105; public static final int SDLK_F15 = 106; public static final int SDLK_F16 = 107; public static final int SDLK_F17 = 108; public static final int SDLK_F18 = 109; public static final int SDLK_F19 = 110; public static final int SDLK_F20 = 111; public static final int SDLK_F21 = 112; public static final int SDLK_F22 = 113; public static final int SDLK_F23 = 114; public static final int SDLK_F24 = 115; public static final int SDLK_EXECUTE = 116; public static final int SDLK_HELP = 117; public static final int SDLK_MENU = 118; public static final int SDLK_SELECT = 119; public static final int SDLK_STOP = 120; public static final int SDLK_AGAIN = 121; public static final int SDLK_UNDO = 122; public static final int SDLK_CUT = 123; public static final int SDLK_COPY = 124; public static final int SDLK_PASTE = 125; public static final int SDLK_FIND = 126; public static final int SDLK_MUTE = 127; public static final int SDLK_VOLUMEUP = 128; public static final int SDLK_VOLUMEDOWN = 129; public static final int SDLK_KP_COMMA = 133; public static final int SDLK_KP_EQUALSAS400 = 134; public static final int SDLK_INTERNATIONAL1 = 135; public static final int SDLK_INTERNATIONAL2 = 136; public static final int SDLK_INTERNATIONAL3 = 137; public static final int SDLK_INTERNATIONAL4 = 138; public static final int SDLK_INTERNATIONAL5 = 139; public static final int SDLK_INTERNATIONAL6 = 140; public static final int SDLK_INTERNATIONAL7 = 141; public static final int SDLK_INTERNATIONAL8 = 142; public static final int SDLK_INTERNATIONAL9 = 143; public static final int SDLK_LANG1 = 144; public static final int SDLK_LANG2 = 145; public static final int SDLK_LANG3 = 146; public static final int SDLK_LANG4 = 147; public static final int SDLK_LANG5 = 148; public static final int SDLK_LANG6 = 149; public static final int SDLK_LANG7 = 150; public static final int SDLK_LANG8 = 151; public static final int SDLK_LANG9 = 152; public static final int SDLK_ALTERASE = 153; public static final int SDLK_SYSREQ = 154; public static final int SDLK_CANCEL = 155; public static final int SDLK_CLEAR = 156; public static final int SDLK_PRIOR = 157; public static final int SDLK_RETURN2 = 158; public static final int SDLK_SEPARATOR = 159; public static final int SDLK_OUT = 160; public static final int SDLK_OPER = 161; public static final int SDLK_CLEARAGAIN = 162; public static final int SDLK_CRSEL = 163; public static final int SDLK_EXSEL = 164; public static final int SDLK_KP_00 = 176; public static final int SDLK_KP_000 = 177; public static final int SDLK_THOUSANDSSEPARATOR = 178; public static final int SDLK_DECIMALSEPARATOR = 179; public static final int SDLK_CURRENCYUNIT = 180; public static final int SDLK_CURRENCYSUBUNIT = 181; public static final int SDLK_KP_LEFTPAREN = 182; public static final int SDLK_KP_RIGHTPAREN = 183; public static final int SDLK_KP_LEFTBRACE = 184; public static final int SDLK_KP_RIGHTBRACE = 185; public static final int SDLK_KP_TAB = 186; public static final int SDLK_KP_BACKSPACE = 187; public static final int SDLK_KP_A = 188; public static final int SDLK_KP_B = 189; public static final int SDLK_KP_C = 190; public static final int SDLK_KP_D = 191; public static final int SDLK_KP_E = 192; public static final int SDLK_KP_F = 193; public static final int SDLK_KP_XOR = 194; public static final int SDLK_KP_POWER = 195; public static final int SDLK_KP_PERCENT = 196; public static final int SDLK_KP_LESS = 197; public static final int SDLK_KP_GREATER = 198; public static final int SDLK_KP_AMPERSAND = 199; public static final int SDLK_KP_DBLAMPERSAND = 200; public static final int SDLK_KP_VERTICALBAR = 201; public static final int SDLK_KP_DBLVERTICALBAR = 202; public static final int SDLK_KP_COLON = 203; public static final int SDLK_KP_HASH = 204; public static final int SDLK_KP_SPACE = 205; public static final int SDLK_KP_AT = 206; public static final int SDLK_KP_EXCLAM = 207; public static final int SDLK_KP_MEMSTORE = 208; public static final int SDLK_KP_MEMRECALL = 209; public static final int SDLK_KP_MEMCLEAR = 210; public static final int SDLK_KP_MEMADD = 211; public static final int SDLK_KP_MEMSUBTRACT = 212; public static final int SDLK_KP_MEMMULTIPLY = 213; public static final int SDLK_KP_MEMDIVIDE = 214; public static final int SDLK_KP_PLUSMINUS = 215; public static final int SDLK_KP_CLEAR = 216; public static final int SDLK_KP_CLEARENTRY = 217; public static final int SDLK_KP_BINARY = 218; public static final int SDLK_KP_OCTAL = 219; public static final int SDLK_KP_DECIMAL = 220; public static final int SDLK_KP_HEXADECIMAL = 221; public static final int SDLK_LCTRL = 224; public static final int SDLK_LSHIFT = 225; public static final int SDLK_LALT = 226; public static final int SDLK_LGUI = 227; public static final int SDLK_RCTRL = 228; public static final int SDLK_RSHIFT = 229; public static final int SDLK_RALT = 230; public static final int SDLK_RGUI = 231; public static final int SDLK_MODE = 257; public static final int SDLK_AUDIONEXT = 258; public static final int SDLK_AUDIOPREV = 259; public static final int SDLK_AUDIOSTOP = 260; public static final int SDLK_AUDIOPLAY = 261; public static final int SDLK_AUDIOMUTE = 262; public static final int SDLK_MEDIASELECT = 263; public static final int SDLK_WWW = 264; public static final int SDLK_MAIL = 265; public static final int SDLK_CALCULATOR = 266; public static final int SDLK_COMPUTER = 267; public static final int SDLK_AC_SEARCH = 268; public static final int SDLK_AC_HOME = 269; public static final int SDLK_AC_BACK = 270; public static final int SDLK_AC_FORWARD = 271; public static final int SDLK_AC_STOP = 272; public static final int SDLK_AC_REFRESH = 273; public static final int SDLK_AC_BOOKMARKS = 274; public static final int SDLK_BRIGHTNESSDOWN = 275; public static final int SDLK_BRIGHTNESSUP = 276; public static final int SDLK_DISPLAYSWITCH = 277; public static final int SDLK_KBDILLUMTOGGLE = 278; public static final int SDLK_KBDILLUMDOWN = 279; public static final int SDLK_KBDILLUMUP = 280; public static final int SDLK_EJECT = 281; public static final int SDLK_SLEEP = 282; public static final int SDLK_NO_REMAP = 512; } class SDL_Keys { public static String [] names = null; public static Integer [] values = null; public static String [] namesSorted = null; public static Integer [] namesSortedIdx = null; public static Integer [] namesSortedBackIdx = null; static final int JAVA_KEYCODE_LAST = 255; // Android 2.3 added several new gaming keys, Android 3.1 added even more - keep in sync with javakeycodes.h static { ArrayList Names = new ArrayList (); ArrayList Values = new ArrayList (); Field [] fields = SDL_1_2_Keycodes.class.getDeclaredFields(); if( Globals.Using_SDL_1_3 ) { fields = SDL_1_3_Keycodes.class.getDeclaredFields(); } try { for(Field f: fields) { Values.add(f.getInt(null)); Names.add(f.getName().substring(5).toUpperCase()); } } catch(IllegalAccessException e) {}; // Sort by value for( int i = 0; i < Values.size(); i++ ) { for( int j = i; j < Values.size(); j++ ) { if( Values.get(i) > Values.get(j) ) { int x = Values.get(i); Values.set(i, Values.get(j)); Values.set(j, x); String s = Names.get(i); Names.set(i, Names.get(j)); Names.set(j, s); } } } names = Names.toArray(new String[0]); values = Values.toArray(new Integer[0]); namesSorted = Names.toArray(new String[0]); namesSortedIdx = new Integer[values.length]; namesSortedBackIdx = new Integer[values.length]; Arrays.sort(namesSorted); for( int i = 0; i < namesSorted.length; i++ ) { for( int j = 0; j < namesSorted.length; j++ ) { if( namesSorted[i].equals( names[j] ) ) { namesSortedIdx[i] = j; namesSortedBackIdx[j] = i; break; } } } } } tucnak-4.32/android/src/Makefile.am0000644000175000017500000000033012073276267014123 00000000000000datarootdir = @datarootdir@ EXTRA_DIST = Accelerometer.java Advertisement.java Audio.java DataDownloader.java \ Globals.java GLSurfaceView_SDL.java Keycodes.java MainActivity.java \ Settings.java Video.java tucnak-4.32/android/src/MainActivity.java0000644000175000017500000012404512401557603015334 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.view.MotionEvent; import android.view.KeyEvent; import android.view.Window; import android.view.WindowManager; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.EditText; import android.text.Editable; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.FrameLayout; import android.graphics.drawable.Drawable; import android.content.res.Configuration; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.view.View.OnKeyListener; import android.view.MenuItem; import android.view.Menu; import android.view.Gravity; import android.text.method.TextKeyListener; import android.net.Uri; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnErrorListener; import android.app.AlertDialog; import android.content.DialogInterface; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import java.util.Set; import java.util.List; import java.util.ArrayList; import java.util.LinkedList; import java.io.SequenceInputStream; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.FileOutputStream; import java.io.File; import java.io.FileInputStream; import java.util.zip.*; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import android.text.SpannedString; import java.io.BufferedReader; import java.io.BufferedInputStream; import java.io.InputStreamReader; import android.view.inputmethod.InputMethodManager; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Handler; import android.os.Message; import java.util.concurrent.Semaphore; import android.content.pm.ActivityInfo; import android.view.Display; public class MainActivity extends Activity implements OnCompletionListener, OnErrorListener { public static native void nativeSetHW( double h, double w, int state); public static native void nativeSendLocation( double h, double w, int state); private double myH = -100000, myW = -100000; private int myState = -1; // -1=no last, 0=searching, 1=fixed, 2=error public boolean NativeAlive = false; public LocationManager locationManager; public LocationListener locationListener; private void DoUpdateLocation(){ locationListener = new LocationListener() { public void onLocationChanged(Location location) { myH = location.getLongitude(); myW = location.getLatitude(); System.out.println("tucnak: onLocationChanged " + String.valueOf(location.getLongitude()) + " " + String.valueOf(location.getLatitude())); locationManager.removeUpdates(locationListener); myState = 1; SendLocation(); } public void onStatusChanged(String provider, int status, Bundle extras) { System.out.println("tucnak: onStatusChanged "); } public void onProviderEnabled(String provider) { System.out.println("tucnak: onProviderEnabled "); } public void onProviderDisabled(String provider) { System.out.println("tucnak: onProviderDisabled "); } }; locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); try { System.out.println("tucnak: DoUpdateLocation"); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); String provider = locationManager.getBestProvider(criteria, true); Location location = locationManager.getLastKnownLocation(provider); if (location != null){ myH = location.getLongitude(); myW = location.getLatitude(); System.out.println("tucnak: getLastKnownLocation(" + provider + ")=" + GetLoc(myH, myW) + " " + String.valueOf(location.getLongitude()) + " " + String.valueOf(location.getLatitude())); SendLocation(); }else{ criteria = new Criteria(); provider = locationManager.getBestProvider(criteria, true); location = locationManager.getLastKnownLocation(provider); if (location != null){ myH = location.getLongitude(); myW = location.getLatitude(); System.out.println("tucnak: getLastKnownLocation(" + provider + ")=" + GetLoc(myH, myW) + " " + String.valueOf(location.getLongitude()) + " " + String.valueOf(location.getLatitude())); SendLocation(); }else{ System.out.println("tucnak: getLastKnownLocation(" + provider + ") failed "); } } } catch(Exception ex){ System.out.println("tucnak: getLastKnownLocation failed " + ex.getMessage()); } try { Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); String provider = locationManager.getBestProvider(criteria, true); myState = 0; SendLocation(); locationManager.requestLocationUpdates(provider, 0, 0, locationListener, null); } catch(Exception ex){ System.out.println("tucnak: requestLocationUpdates failed " + ex.getMessage()); myState = 2; } } public void UpdateLocation(){ class Callback implements Runnable { public MainActivity parent; public void run() { parent.DoUpdateLocation(); } } Callback cb = new Callback(); cb.parent = this; this.runOnUiThread(cb); } public void SendLocation(){ System.out.println("tucnak: SendLocation " + GetLoc(myH, myW) + " " + String.valueOf(myH) + " " + String.valueOf(myW) + " NativeAlive=" + NativeAlive); if (!NativeAlive) return; nativeSetHW(myH, myW, myState); nativeSendLocation(myH, myW, myState); } public String GetLoc(double h /* lon */, double w /* lat */){ String buf = ""; if (h < -1000) return "LOC?"; h += 180; w += 90; h = h % 360.0; w = w % 180.0; buf += (char)('A'+ (int)(h / 20.0)); buf += (char)('A'+ (int)(w / 10.0)); h = h % 20; w = w % 10; buf += (char)('0'+ (int)(h / 2)); buf += (char)('0'+ (int)(w)); h = h % 2; w = w % 1; h *= 12; w *= 24; buf += (char)('A'+ (int)(h)); buf += (char)('A'+ (int)(w)); h = (h % 1) * 10; w = (w % 1) * 10; buf += (char)('0'+ (int)(h)); buf += (char)('0'+ (int)(w)); h = (h % 1) * 24; w = (w % 1) * 24; buf += (char)('A'+ (int)(h)); buf += (char)('A'+ (int)(w)); return buf; } public void MessageBox(String title, String str){ System.out.println("tucnak: MessageBox " + str); class Callback implements Runnable { public MainActivity parent; public String title; public String str; public Boolean bezi; public void run() { try{ AlertDialog ad = new AlertDialog.Builder(parent).create(); ad.setCancelable(false); // This blocks the 'BACK' button ad.setTitle(title); ad.setMessage(str); ad.setIcon(R.drawable.icon); ad.setButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); bezi = false; } }); ad.show(); } catch(Exception ex){ System.out.println("tucnak: MessageBox failed " + ex.getMessage()); myState = 2; } } } Callback cb = new Callback(); cb.parent = this; cb.title = title; cb.str = str; cb.bezi = true; this.runOnUiThread(cb); while (cb.bezi){ try{ Thread.sleep(200); } catch (Exception ex){ System.out.println("tucnak: MessageBox sleep failed " + ex.getMessage()); } } } public Bundle SavedBundle; public int getInt(String key){ if (SavedBundle == null) return 0; return SavedBundle.getInt(key); } public String getStr(String key){ System.out.println("tucnak: MainActivity.getStr('"+key+"')"); if (SavedBundle == null) { System.out.println("tucnak: SavedBundle==null"); return null; } System.out.println("tucnak: returning '" + SavedBundle.getString(key) + "'"); return SavedBundle.getString(key); } public void Xyz(String key){ System.out.println("tucnak: MainActivity.Xyz('"+key+"') -----------"); } @Override protected void onCreate(Bundle savedInstanceState) { String portraitFilename = Globals.DownloadToSdcard ? Settings.SdcardAppPath.getPath(this) : getFilesDir().getAbsolutePath(); portraitFilename += "/tucnak/portrait"; String reverseFilename = Globals.DownloadToSdcard ? Settings.SdcardAppPath.getPath(this) : getFilesDir().getAbsolutePath(); reverseFilename += "/tucnak/reverse"; // System.out.println("tucnak: MainActivity.onCreate called, portraitFilename =" + portraitFilename); File portraitFile = new File(portraitFilename); Globals.HorizontalOrientation = !portraitFile.exists(); /* if (portraitFile.exists()){ Globals.Orientati setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); System.out.println("tucnak: SCREEN_ORIENTATION_PORTRAIT"); }else{ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); System.out.println("tucnak: SCREEN_ORIENTATION_LANDSCAPE"); }*/ super.onCreate(savedInstanceState); SavedBundle = savedInstanceState; DoUpdateLocation(); DetectBT(); //showTaskbarNotification("Tucnak is running", "Tucnak", "Tucnak is running, click to activate"); Intent service = new Intent(this, TucnakService.class); startService(service); int o = Globals.HorizontalOrientation ? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE : ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; // 0, 1 File reverseFile = new File(reverseFilename); if (reverseFile.exists()) o |= ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE; // 8, 9 /* System.out.println("tucnak: MainActivity.onCreate called, reverseFilename =" + reverseFilename); System.out.println("tucnak: exists =" + reverseFile.exists()); System.out.println("tucnak: orientation = " + o);*/ setRequestedOrientation(o); instance = this; // fullscreen mode requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); if(Globals.InhibitSuspend) getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); if (savedInstanceState == null) System.out.println("tucnak: Creating startup screen --"); else System.out.println("tucnak: Restoring startup screen --"); _layout = new LinearLayout(this); _layout.setOrientation(LinearLayout.VERTICAL); _layout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); _layout2 = new LinearLayout(this); _layout2.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); if( Globals.StartupMenuButtonTimeout > 0 ) { _btn = new Button(this); _btn.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); _btn.setText(getResources().getString(R.string.device_change_cfg)); class onClickListener implements View.OnClickListener { public MainActivity p; onClickListener( MainActivity _p ) { p = _p; } public void onClick(View v) { setUpStatusLabel(); System.out.println("tucnak: User clicked change phone config button"); Settings.showConfig(p, false); } }; _btn.setOnClickListener(new onClickListener(this)); _layout2.addView(_btn); } _layout.addView(_layout2); ImageView img = new ImageView(this); //System.out.println("tucnak: onCreate draw logo"); img.setScaleType(ImageView.ScaleType.CENTER /* FIT_CENTER FIT_XY */ ); try { img.setImageDrawable(Drawable.createFromStream(getAssets().open("logo.png"), "logo.png")); } catch(Exception e) { // img.setImageResource(R.drawable.publisherlogo); } img.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); _layout.addView(img); _videoLayout = new FrameLayout(this); _videoLayout.addView(_layout); _ad = new Advertisement(this); if( _ad.getView() != null ) { _videoLayout.addView(_ad.getView()); _ad.getView().setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.RIGHT)); } setContentView(_videoLayout); class Callback implements Runnable { MainActivity p; Callback( MainActivity _p ) { p = _p; } public void run() { try { Thread.sleep(200); } catch( InterruptedException e ) {}; if(p.mAudioThread == null) { //System.out.println("tucnak: Loading libraries"); p.LoadLibraries(); p.mAudioThread = new AudioThread(p); // System.out.println("tucnak: Loading settings"); final Semaphore loaded = new Semaphore(0); class Callback2 implements Runnable { public MainActivity Parent; public void run() { Settings.Load(Parent); loaded.release(); } } Callback2 cb = new Callback2(); cb.Parent = p; p.runOnUiThread(cb); loaded.acquireUninterruptibly(); p.LoadApplicationLibrary(p); SendLocation(); } if( !Settings.settingsChanged ) { if( Globals.StartupMenuButtonTimeout > 0 ) { System.out.println("tucnak: " + String.valueOf(Globals.StartupMenuButtonTimeout) + "-msec timeout in startup screen"); try { Thread.sleep(Globals.StartupMenuButtonTimeout); } catch( InterruptedException e ) {}; } if( Settings.settingsChanged ) return; System.out.println("tucnak: Timeout reached in startup screen, process with downloader"); p.startDownloader(); } } }; (new Thread(new Callback(this))).start(); } public native void nativeOnSaveInstanceState( Bundle bundle); public native void nativeInitJavaCallbacks(); public native void nativeSetState( String key, String val); public native void nativeWavPlayed(); public native void nativeWavError(String str); public native void nativeMsgSend(String str); @Override protected void onSaveInstanceState(Bundle bundle) { System.out.println("tucnak: onSaveInstanceState"); super.onSaveInstanceState(bundle); // System.out.println("tucnak: calling native"); nativeOnSaveInstanceState(bundle); } public void UpdatePackage(String fileName){ System.out.println("tucnak: UpdatePackage ('" + fileName + "')"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive"); startActivity(intent); } public void Browser(String url){ System.out.println("tucnak: browser ('" + url + "')"); try{ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); } catch (Exception ex){ MessageBox("Tucnak error", "Can't start web browser: " + ex.getMessage()); } } private MediaPlayer mp; public void PlayWav(String fileName){ System.out.println("tucnak: PlayWav ('" + fileName + "')"); try{ SsbdAbort(); mp = new MediaPlayer(); File file = new File(fileName); FileInputStream fis = new FileInputStream(file); mp.setDataSource(fis.getFD()); mp.setOnErrorListener(this); mp.setOnCompletionListener(this); mp.prepare(); mp.start(); System.out.println("tucnak: play started"); } catch(Exception ex) { System.out.println("tucnak: play failed " + ex.getMessage()); nativeWavError("Can't play " + ex.getMessage()); mp.release(); mp = null; } } public void onCompletion(MediaPlayer mp){ System.out.println("tucnak: onCompletion MediaPlayer"); nativeWavPlayed(); mp.release(); mp = null; } public boolean onError(MediaPlayer mp, int what, int extra){ System.out.println("tucnak: onError MediaPlayer what=" + what + " extra" + extra); nativeWavError("MediaPlayer error what=" + what + " extra" + extra); mp.release(); mp = null; return true; } public void SsbdAbort(){ if (mp != null){ System.out.println("tucnak: SsbdAbort"); mp.release(); mp = null; } } public void DetectBT(){ BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter != null){ Set pairedDevices = mBluetoothAdapter.getBondedDevices(); List s = new ArrayList(); for(BluetoothDevice bt : pairedDevices){ System.out.println("tucnak: BT device:" + bt.getName()); s.add(bt.getName()); } } } public void setUpStatusLabel() { MainActivity Parent = this; // Too lazy to rename if( Parent._btn != null ) { Parent._layout2.removeView(Parent._btn); Parent._btn = null; } if( Parent._tv == null ) { Parent._tv = new TextView(Parent); Parent._tv.setMaxLines(2); Parent._tv.setText(R.string.init); Parent._layout2.addView(Parent._tv); } } public void startDownloader() { System.out.println("tucnak: Starting data downloader"); class Callback implements Runnable { public MainActivity Parent; public void run() { setUpStatusLabel(); System.out.println("tucnak: Starting downloader"); if( Parent.downloader == null ) Parent.downloader = new DataDownloader(Parent, Parent._tv); } } Callback cb = new Callback(); cb.Parent = this; this.runOnUiThread(cb); } public void initSDL() { (new Thread(new Runnable() { public void run() { //int tries = 30; while( isCurrentOrientationHorizontal() != Globals.HorizontalOrientation ) { System.out.println("tucnak: Waiting for screen orientation to change - the device is probably in the lockscreen mode"); try { Thread.sleep(500); } catch( Exception e ) {} /* tries--; if( tries <= 0 ) { System.out.println("tucnak: Giving up waiting for screen orientation change"); break; } */ if( _isPaused ) { System.out.println("tucnak: Application paused, cancelling SDL initialization until it will be brought to foreground"); return; } } runOnUiThread(new Runnable() { public void run() { initSDLInternal(); } }); } })).start(); } private void initSDLInternal() { if(sdlInited) return; System.out.println("tucnak: Initializing video and SDL application"); sdlInited = true; if(Globals.UseAccelerometerAsArrowKeys || Globals.AppUsesAccelerometer) getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); _videoLayout.removeView(_layout); if( _ad.getView() != null ) _videoLayout.removeView(_ad.getView()); _layout = null; _layout2 = null; _btn = null; _tv = null; _inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); _videoLayout = new FrameLayout(this); setContentView(_videoLayout); mGLView = new DemoGLSurfaceView(this); _videoLayout.addView(mGLView); mGLView.setFocusableInTouchMode(true); mGLView.setFocusable(true); mGLView.requestFocus(); if( _ad.getView() != null ) { _videoLayout.addView(_ad.getView()); _ad.getView().setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.TOP | Gravity.RIGHT)); } // Receive keyboard events DimSystemStatusBar.get().dim(_videoLayout); DimSystemStatusBar.get().dim(mGLView); } @Override protected void onPause() { if( downloader != null ) { synchronized( downloader ) { downloader.setStatusField(null); } } _isPaused = true; if( mGLView != null ) mGLView.onPause(); //if( _ad.getView() != null ) // _ad.getView().onPause(); super.onPause(); } @Override protected void onResume() { super.onResume(); if( mGLView != null ) { mGLView.onResume(); DimSystemStatusBar.get().dim(_videoLayout); DimSystemStatusBar.get().dim(mGLView); } else if( downloader != null ) { synchronized( downloader ) { downloader.setStatusField(_tv); if( downloader.DownloadComplete ) { initSDL(); } } } //if( _ad.getView() != null ) // _ad.getView().onResume(); _isPaused = false; } @Override public void onWindowFocusChanged (boolean hasFocus) { super.onWindowFocusChanged(hasFocus); // System.out.println("tucnak: onWindowFocusChanged: " + hasFocus + " - sending onPause/onResume"); if (hasFocus == false) onPause(); else onResume(); /* if (hasFocus == false) { synchronized(textInput) { // Send 'SDLK_PAUSE' (to enter pause mode) to native code: DemoRenderer.nativeTextInput( 19, 19 ); } } */ } public boolean isPaused() { return _isPaused; } @Override protected void onDestroy() { System.out.println("tucnak: onDestroy, isFinishing=" + isFinishing()); if( downloader != null ) { synchronized( downloader ) { downloader.setStatusField(null); } } if( mGLView != null ) mGLView.exitApp(); super.onDestroy(); System.out.println("tucnak: onDestroy, System.exit(0)"); System.exit(0); } public void showScreenKeyboardWithoutTextInputField() { System.out.println("tucnak: showScreenKeyboardWithoutTextInputField"); _inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); _inputManager.showSoftInput(mGLView, InputMethodManager.SHOW_FORCED); } public void showScreenKeyboard(final String oldText, boolean sendBackspace) { System.out.println("tucnak: showScreenKeyboard"); if(Globals.CompatibilityHacksTextInputEmulatesHwKeyboard) { showScreenKeyboardWithoutTextInputField(); return; } if(_screenKeyboard != null) return; class simpleKeyListener implements OnKeyListener { MainActivity _parent; boolean sendBackspace; simpleKeyListener(MainActivity parent, boolean sendBackspace) { _parent = parent; this.sendBackspace = sendBackspace; }; public boolean onKey(View v, int keyCode, KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_UP) && ((keyCode == KeyEvent.KEYCODE_ENTER) || (keyCode == KeyEvent.KEYCODE_BACK))) { _parent.hideScreenKeyboard(); return true; } if ((sendBackspace && event.getAction() == KeyEvent.ACTION_UP) && (keyCode == KeyEvent.KEYCODE_DEL || keyCode == KeyEvent.KEYCODE_CLEAR)) { synchronized(textInput) { DemoRenderer.nativeTextInput( 8, 0 ); // Send backspace to native code } return false; // and proceed to delete text in keyboard input field } return false; } }; _screenKeyboard = new EditText(this); _videoLayout.addView(_screenKeyboard); _screenKeyboard.setOnKeyListener(new simpleKeyListener(this, sendBackspace)); _screenKeyboard.setHint(R.string.text_edit_click_here); _screenKeyboard.setText(oldText); _screenKeyboard.setKeyListener(new TextKeyListener(TextKeyListener.Capitalize.NONE, false)); _screenKeyboard.setFocusableInTouchMode(true); _screenKeyboard.setFocusable(true); _screenKeyboard.requestFocus(); _inputManager.showSoftInput(_screenKeyboard, InputMethodManager.SHOW_FORCED); }; public void hideScreenKeyboard() { System.out.println("tucnak: hideScreenKeyboard"); if(_screenKeyboard == null) return; synchronized(textInput) { String text = _screenKeyboard.getText().toString(); for(int i = 0; i < text.length(); i++) { DemoRenderer.nativeTextInput( (int)text.charAt(i), (int)text.codePointAt(i) ); } } DemoRenderer.nativeTextInputFinished(); _inputManager.hideSoftInputFromWindow(_screenKeyboard.getWindowToken(), 0); _videoLayout.removeView(_screenKeyboard); _screenKeyboard = null; mGLView.setFocusableInTouchMode(true); mGLView.setFocusable(true); mGLView.requestFocus(); }; public boolean isScreenKeyboardShown() { return _screenKeyboard != null; }; final static int ADVERTISEMENT_POSITION_RIGHT = -1; final static int ADVERTISEMENT_POSITION_BOTTOM = -1; final static int ADVERTISEMENT_POSITION_CENTER = -2; public void setAdvertisementPosition(int x, int y) { if( _ad.getView() != null ) { final FrameLayout.LayoutParams layout = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layout.gravity = 0; layout.leftMargin = 0; layout.topMargin = 0; if( x == ADVERTISEMENT_POSITION_RIGHT ) layout.gravity |= Gravity.RIGHT; else if ( x == ADVERTISEMENT_POSITION_CENTER ) layout.gravity |= Gravity.CENTER_HORIZONTAL; else { layout.gravity |= Gravity.LEFT; layout.leftMargin = x; } if( y == ADVERTISEMENT_POSITION_BOTTOM ) layout.gravity |= Gravity.BOTTOM; else if ( x == ADVERTISEMENT_POSITION_CENTER ) layout.gravity |= Gravity.CENTER_VERTICAL; else { layout.gravity |= Gravity.TOP; layout.topMargin = y; } class Callback implements Runnable { public void run() { _ad.getView().setLayoutParams(layout); } }; runOnUiThread(new Callback()); } } public void setAdvertisementVisible(final int visible) { if( _ad.getView() != null ) { class Callback implements Runnable { public void run() { if( visible == 0 ) _ad.getView().setVisibility(View.GONE); else _ad.getView().setVisibility(View.VISIBLE); } } runOnUiThread(new Callback()); } } public void getAdvertisementParams(int params[]) { for( int i = 0; i < 5; i++ ) params[i] = 0; if( _ad.getView() != null ) { params[0] = (_ad.getView().getVisibility() == View.VISIBLE) ? 1 : 0; FrameLayout.LayoutParams layout = (FrameLayout.LayoutParams) _ad.getView().getLayoutParams(); params[1] = layout.leftMargin; params[2] = layout.topMargin; params[3] = _ad.getView().getMeasuredWidth(); params[4] = _ad.getView().getMeasuredHeight(); } } public void requestNewAdvertisement() { if( _ad.getView() != null ) { class Callback implements Runnable { public void run() { _ad.requestNewAd(); } } runOnUiThread(new Callback()); } } @Override public boolean onKeyDown(int keyCode, final KeyEvent event) { System.out.println("tucnak: onKeyDown: " + (int)keyCode); if(_screenKeyboard != null) _screenKeyboard.onKeyDown(keyCode, event); else if( mGLView != null ) { if( mGLView.nativeKey( keyCode, 1 ) == 0 ) return super.onKeyDown(keyCode, event); } else if( keyCode == KeyEvent.KEYCODE_BACK && downloader != null ) { if( downloader.DownloadFailed ) System.exit(1); if( !downloader.DownloadComplete ) onStop(); } else if( keyListener != null ) { keyListener.onKeyEvent(keyCode); } return true; } @Override public boolean onKeyUp(int keyCode, final KeyEvent event) { if(_screenKeyboard != null) _screenKeyboard.onKeyUp(keyCode, event); else if( mGLView != null ) { if( mGLView.nativeKey( keyCode, 0 ) == 0 ) return super.onKeyUp(keyCode, event); if( keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU ) { DimSystemStatusBar.get().dim(_videoLayout); DimSystemStatusBar.get().dim(mGLView); } } return true; } @Override public boolean dispatchTouchEvent(final MotionEvent ev) { //System.out.println("tucnak: dispatchTouchEvent: " + ev.getAction() + " coords " + (int)ev.getX() + " " + (int)ev.getY() ); if(_screenKeyboard != null){ //System.out.println("tucnak: is screen keyboard"); _screenKeyboard.dispatchTouchEvent(ev); } else if( _ad.getView() != null && // User clicked the advertisement, ignore when user moved finger from game screen to advertisement or touches screen with several fingers ((ev.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN || (ev.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP) && _ad.getView().getLeft() <= (int)ev.getX() && _ad.getView().getRight() > (int)ev.getX() && _ad.getView().getTop() <= (int)ev.getY() && _ad.getView().getBottom() > (int)ev.getY() ){ //System.out.println("tucnak: is adverscreen keyboard"); return super.dispatchTouchEvent(ev); } else if(mGLView != null){ //System.out.println("tucnak: is mGLView"); mGLView.onTouchEvent(ev); } else if( _btn != null ){ //System.out.println("tucnak: is _btn"); return _btn.dispatchTouchEvent(ev); } else if( touchListener != null ){ //System.out.println("tucnak: is touchListener"); touchListener.onTouchEvent(ev); } return true; } @Override public boolean dispatchGenericMotionEvent (MotionEvent ev) { //System.out.println("dispatchGenericMotionEvent: " + ev.getAction() + " coords " + ev.getX() + ":" + ev.getY() ); // This code fails to run for Android 1.6, so there will be no generic motion event for Andorid screen keyboard /* if(_screenKeyboard != null) _screenKeyboard.dispatchGenericMotionEvent(ev); else */ if(mGLView != null) mGLView.onGenericMotionEvent(ev); return true; } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Do nothing here } public void setText(final String t) { class Callback implements Runnable { MainActivity Parent; public SpannedString text; public void run() { Parent.setUpStatusLabel(); if(Parent._tv != null) Parent._tv.setText(text); } } Callback cb = new Callback(); cb.text = new SpannedString(t); cb.Parent = this; this.runOnUiThread(cb); } public void showTaskbarNotification() { showTaskbarNotification("SDL application paused", "SDL application", "Application is paused, click to activate"); } //private TucnakService Service; //static int NOTIFY_ID = 1236709873; // Random ID // Stolen from SDL port by Mamaich public void showTaskbarNotification(String text0, String text1, String text2) { NotificationManager NotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Intent intent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK); Notification n = new Notification(R.drawable.icon, text0, System.currentTimeMillis()); n.setLatestEventInfo(this, text1, text2, pendingIntent); //n.flags = Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR; //n.flags |= Notification.FLAG_NO_CLEAR; // http://stackoverflow.com/questions/13427204/non-removable-notification //NotificationManager.notify(NOTIFY_ID, n); //Service = new TucnakService(); // Service.start(n); // Service.startForeground(NOTIFY_ID, n); Intent service = new Intent(this, TucnakService.class); startService(service); } public void hideTaskbarNotification() { System.out.println("tucnak: hideTaskbarNotification"); //Service.stop(); } public void LoadLibraries() { try { if(Globals.NeedGles2) System.loadLibrary("GLESv2"); System.out.println("tucnak: loaded GLESv2 lib"); } catch ( UnsatisfiedLinkError e ) { System.out.println("tucnak: Cannot load GLESv2 lib"); } try { for(String l : Globals.AppLibraries) { try { String libname = System.mapLibraryName(l); File libpath = new File(getFilesDir().getAbsolutePath() + "/../lib/" + libname); //System.out.println("tucnak: loading lib " + libpath.getAbsolutePath()); System.load(libpath.getPath()); } catch( UnsatisfiedLinkError e ) { System.out.println("tucnak: error loading lib " + l + ": " + e.toString()); System.loadLibrary(l); } } } catch ( UnsatisfiedLinkError e ) { try { System.out.println("tucnak: Extracting APP2SD-ed libs"); InputStream in = null; try { for( int i = 0; ; i++ ) { InputStream in2 = getAssets().open("bindata" + String.valueOf(i)); if( in == null ) in = in2; else in = new SequenceInputStream( in, in2 ); } } catch( IOException ee ) { } if( in == null ) throw new RuntimeException("tucnak: Extracting APP2SD-ed libs failed, the .apk file packaged incorrectly"); ZipInputStream zip = new ZipInputStream(in); File cacheDir = getCacheDir(); try { cacheDir.mkdirs(); } catch( SecurityException ee ) { }; byte[] buf = new byte[16384]; while(true) { ZipEntry entry = null; entry = zip.getNextEntry(); /* if( entry != null ) System.out.println("Extracting lib " + entry.getName()); */ if( entry == null ) { System.out.println("Extracting libs finished"); break; } if( entry.isDirectory() ) { File outDir = new File( cacheDir.getAbsolutePath() + "/" + entry.getName() ); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); continue; } OutputStream out = null; String path = cacheDir.getAbsolutePath() + "/" + entry.getName(); try { File outDir = new File( path.substring(0, path.lastIndexOf("/") )); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); } catch( SecurityException eeeee ) { }; System.out.println("Saving to file '" + path + "'"); out = new FileOutputStream( path ); int len = zip.read(buf); while (len >= 0) { if(len > 0) out.write(buf, 0, len); len = zip.read(buf); } out.flush(); out.close(); } for(String l : Globals.AppLibraries) { String libname = System.mapLibraryName(l); File libpath = new File(cacheDir, libname); System.out.println("tucnak: loading lib " + libpath.getPath()); System.load(libpath.getPath()); libpath.delete(); } } catch ( Exception ee ) { System.out.println("tucnak: Error: " + ee.toString()); } } // ----- VCMI hack ----- try { //System.out.println("tucnak: Extracting binaries"); InputStream in = null; try { for( int i = 0; ; i++ ) { InputStream in2 = getAssets().open("binaries.zip" + String.format("%02d", i)); if( in == null ) in = in2; else in = new SequenceInputStream( in, in2 ); } } catch( IOException ee ) { try { if( in == null ) in = getAssets().open("binaries.zip"); } catch( IOException eee ) {} } if( in == null ) throw new RuntimeException("tucnak: Extracting binaries failed, the .apk file packaged incorrectly"); ZipInputStream zip = new ZipInputStream(in); File cacheDir = getFilesDir(); try { cacheDir.mkdirs(); } catch( SecurityException ee ) { }; byte[] buf = new byte[16384]; while(true) { ZipEntry entry = null; entry = zip.getNextEntry(); /* if( entry != null ) System.out.println("Extracting lib " + entry.getName()); */ if( entry == null ) { System.out.println("Extracting binaries finished"); break; } if( entry.isDirectory() ) { File outDir = new File( cacheDir.getAbsolutePath() + "/" + entry.getName() ); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); continue; } OutputStream out = null; String path = cacheDir.getAbsolutePath() + "/" + entry.getName(); try { File outDir = new File( path.substring(0, path.lastIndexOf("/") )); if( !(outDir.exists() && outDir.isDirectory()) ) outDir.mkdirs(); } catch( SecurityException eeeeeee ) { }; try { CheckedInputStream check = new CheckedInputStream( new FileInputStream(path), new CRC32() ); while( check.read(buf, 0, buf.length) > 0 ) {}; check.close(); if( check.getChecksum().getValue() != entry.getCrc() ) { File ff = new File(path); ff.delete(); throw new Exception(); } System.out.println("File '" + path + "' exists and passed CRC check - not overwriting it"); continue; } catch( Exception eeeeee ) { } System.out.println("Saving to file '" + path + "'"); out = new FileOutputStream( path ); int len = zip.read(buf); while (len >= 0) { if(len > 0) out.write(buf, 0, len); len = zip.read(buf); } out.flush(); out.close(); Settings.nativeChmod(path, 0755); } } catch ( Exception eee ) { //System.out.println("tucnak: Error: " + eee.toString()); } // ----- VCMI hack ----- }; public static void LoadApplicationLibrary(final Context context) { String libs[] = { "application", "sdl_main" }; try { for(String l : libs) { System.loadLibrary(l); } } catch ( UnsatisfiedLinkError e ) { System.out.println("tucnak: error loading lib: " + e.toString()); try { for(String l : libs) { String libname = System.mapLibraryName(l); File libpath = new File(context.getCacheDir(), libname); System.out.println("tucnak: loading lib " + libpath.getPath()); System.load(libpath.getPath()); libpath.delete(); } } catch ( UnsatisfiedLinkError ee ) { System.out.println("tucnak: error loading lib: " + ee.toString()); } } } public int getApplicationVersion() { try { PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); return packageInfo.versionCode; } catch (PackageManager.NameNotFoundException e) { System.out.println("tucnak: Cannot get the version of our own package: " + e); } return 0; } public boolean isCurrentOrientationHorizontal() { Display getOrient = getWindowManager().getDefaultDisplay(); return getOrient.getWidth() >= getOrient.getHeight(); } public FrameLayout getVideoLayout() { return _videoLayout; } private static DemoGLSurfaceView mGLView = null; private static AudioThread mAudioThread = null; private static DataDownloader downloader = null; private TextView _tv = null; private Button _btn = null; private LinearLayout _layout = null; private LinearLayout _layout2 = null; private Advertisement _ad = null; private FrameLayout _videoLayout = null; private EditText _screenKeyboard = null; private boolean sdlInited = false; public Settings.TouchEventsListener touchListener = null; public Settings.KeyEventsListener keyListener = null; boolean _isPaused = false; private InputMethodManager _inputManager = null; public LinkedList textInput = new LinkedList (); public static MainActivity instance = null; } // *** HONEYCOMB / ICS FIX FOR FULLSCREEN MODE, by lmak *** abstract class DimSystemStatusBar { public static DimSystemStatusBar get() { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) return DimSystemStatusBarHoneycomb.Holder.sInstance; else return DimSystemStatusBarDummy.Holder.sInstance; } public abstract void dim(final View view); private static class DimSystemStatusBarHoneycomb extends DimSystemStatusBar { private static class Holder { private static final DimSystemStatusBarHoneycomb sInstance = new DimSystemStatusBarHoneycomb(); } public void dim(final View view) { /* if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) { // ICS has the same constant redefined with a different name. hiddenStatusCode = android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE; } */ view.setSystemUiVisibility(android.view.View.STATUS_BAR_HIDDEN); } } private static class DimSystemStatusBarDummy extends DimSystemStatusBar { private static class Holder { private static final DimSystemStatusBarDummy sInstance = new DimSystemStatusBarDummy(); } public void dim(final View view) { } } } tucnak-4.32/android/src/Settings.java0000644000175000017500000025647512220740766014553 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.MotionEvent; import android.view.KeyEvent; import android.view.Window; import android.view.WindowManager; import android.widget.TextView; import android.util.Log; import java.io.*; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Environment; import android.os.StatFs; import java.util.Locale; import java.util.ArrayList; import java.util.Arrays; import java.util.zip.GZIPInputStream; import java.util.Collections; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; import java.lang.String; import android.graphics.Matrix; import android.graphics.RectF; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.FrameLayout; import android.graphics.drawable.BitmapDrawable; import android.graphics.BitmapFactory; import android.graphics.Bitmap; import android.widget.TextView; import android.widget.EditText; import android.text.Editable; import android.text.SpannedString; import android.content.Intent; import android.app.PendingIntent; import android.app.AlarmManager; import android.util.DisplayMetrics; import android.net.Uri; import java.util.concurrent.Semaphore; // TODO: too much code here, split into multiple files, possibly auto-generated menus? class Settings { // static String SettingsFileName = "libsdl-settings.cfg"; static boolean settingsLoaded = false; static boolean settingsChanged = false; static final int SETTINGS_FILE_VERSION = 5; static void Save(final MainActivity p) { /*try { ObjectOutputStream out = new ObjectOutputStream(p.openFileOutput( SettingsFileName, p.MODE_WORLD_READABLE )); out.writeInt(SETTINGS_FILE_VERSION); out.writeBoolean(Globals.DownloadToSdcard); out.writeBoolean(Globals.PhoneHasArrowKeys); out.writeBoolean(Globals.PhoneHasTrackball); out.writeBoolean(Globals.UseAccelerometerAsArrowKeys); out.writeBoolean(Globals.UseTouchscreenKeyboard); out.writeInt(Globals.TouchscreenKeyboardSize); out.writeInt(Globals.AccelerometerSensitivity); out.writeInt(Globals.AccelerometerCenterPos); out.writeInt(Globals.TrackballDampening); out.writeInt(Globals.AudioBufferConfig); out.writeInt(Globals.TouchscreenKeyboardTheme); out.writeInt(Globals.RightClickMethod); out.writeInt(Globals.ShowScreenUnderFinger); out.writeInt(Globals.LeftClickMethod); out.writeBoolean(Globals.MoveMouseWithJoystick); out.writeBoolean(Globals.ClickMouseWithDpad); out.writeInt(Globals.ClickScreenPressure); out.writeInt(Globals.ClickScreenTouchspotSize); out.writeBoolean(Globals.KeepAspectRatio); out.writeInt(Globals.MoveMouseWithJoystickSpeed); out.writeInt(Globals.MoveMouseWithJoystickAccel); out.writeInt(SDL_Keys.JAVA_KEYCODE_LAST); for( int i = 0; i < SDL_Keys.JAVA_KEYCODE_LAST; i++ ) { out.writeInt(Globals.RemapHwKeycode[i]); } out.writeInt(Globals.RemapScreenKbKeycode.length); for( int i = 0; i < Globals.RemapScreenKbKeycode.length; i++ ) { out.writeInt(Globals.RemapScreenKbKeycode[i]); } out.writeInt(Globals.ScreenKbControlsShown.length); for( int i = 0; i < Globals.ScreenKbControlsShown.length; i++ ) { out.writeBoolean(Globals.ScreenKbControlsShown[i]); } out.writeInt(Globals.TouchscreenKeyboardTransparency); out.writeInt(Globals.RemapMultitouchGestureKeycode.length); for( int i = 0; i < Globals.RemapMultitouchGestureKeycode.length; i++ ) { out.writeInt(Globals.RemapMultitouchGestureKeycode[i]); out.writeBoolean(Globals.MultitouchGesturesUsed[i]); } out.writeInt(Globals.MultitouchGestureSensitivity); for( int i = 0; i < Globals.TouchscreenCalibration.length; i++ ) out.writeInt(Globals.TouchscreenCalibration[i]); out.writeInt(Globals.DataDir.length()); for( int i = 0; i < Globals.DataDir.length(); i++ ) out.writeChar(Globals.DataDir.charAt(i)); out.writeInt(Globals.CommandLine.length()); for( int i = 0; i < Globals.CommandLine.length(); i++ ) out.writeChar(Globals.CommandLine.charAt(i)); out.writeInt(Globals.ScreenKbControlsLayout.length); for( int i = 0; i < Globals.ScreenKbControlsLayout.length; i++ ) for( int ii = 0; ii < 4; ii++ ) out.writeInt(Globals.ScreenKbControlsLayout[i][ii]); out.writeInt(Globals.LeftClickKey); out.writeInt(Globals.RightClickKey); out.writeBoolean(Globals.VideoLinearFilter); out.writeInt(Globals.LeftClickTimeout); out.writeInt(Globals.RightClickTimeout); out.writeBoolean(Globals.RelativeMouseMovement); out.writeInt(Globals.RelativeMouseMovementSpeed); out.writeInt(Globals.RelativeMouseMovementAccel); out.writeBoolean(Globals.MultiThreadedVideo); out.writeInt(Globals.OptionalDataDownload.length); for(int i = 0; i < Globals.OptionalDataDownload.length; i++) out.writeBoolean(Globals.OptionalDataDownload[i]); out.writeBoolean(Globals.BrokenLibCMessageShown); out.writeInt(Globals.TouchscreenKeyboardDrawSize); out.writeInt(p.getApplicationVersion()); out.close(); settingsLoaded = true; } catch( FileNotFoundException e ) { } catch( SecurityException e ) { } catch ( IOException e ) {};*/ } static void Load( final MainActivity p ) { if(settingsLoaded) // Prevent starting twice { return; } // System.out.println("libSDL: Settings.Load(): enter"); nativeInitKeymap(); for( int i = 0; i < SDL_Keys.JAVA_KEYCODE_LAST; i++ ) { int sdlKey = nativeGetKeymapKey(i); int idx = 0; for(int ii = 0; ii < SDL_Keys.values.length; ii++) if(SDL_Keys.values[ii] == sdlKey) idx = ii; Globals.RemapHwKeycode[i] = idx; } for( int i = 0; i < Globals.RemapScreenKbKeycode.length; i++ ) { int sdlKey = nativeGetKeymapKeyScreenKb(i); int idx = 0; for(int ii = 0; ii < SDL_Keys.values.length; ii++) if(SDL_Keys.values[ii] == sdlKey) idx = ii; Globals.RemapScreenKbKeycode[i] = idx; } Globals.ScreenKbControlsShown[0] = Globals.AppNeedsArrowKeys; Globals.ScreenKbControlsShown[1] = Globals.AppNeedsTextInput; for( int i = 2; i < Globals.ScreenKbControlsShown.length; i++ ) Globals.ScreenKbControlsShown[i] = ( i - 2 < Globals.AppTouchscreenKeyboardKeysAmount ); for( int i = 0; i < Globals.RemapMultitouchGestureKeycode.length; i++ ) { int sdlKey = nativeGetKeymapKeyMultitouchGesture(i); int idx = 0; for(int ii = 0; ii < SDL_Keys.values.length; ii++) if(SDL_Keys.values[ii] == sdlKey) idx = ii; Globals.RemapMultitouchGestureKeycode[i] = idx; } for( int i = 0; i < Globals.MultitouchGesturesUsed.length; i++ ) Globals.MultitouchGesturesUsed[i] = true; System.out.println("android.os.Build.MODEL: " + android.os.Build.MODEL); if( (android.os.Build.MODEL.equals("GT-N7000") || android.os.Build.MODEL.equals("SGH-I717")) && android.os.Build.VERSION.SDK_INT <= android.os.Build.VERSION_CODES.GINGERBREAD_MR1 ) { // Samsung Galaxy Note generates a keypress when you hover a stylus over the screen, and that messes up OpenTTD dialogs // ICS update sends events in a proper way Globals.RemapHwKeycode[112] = SDL_1_2_Keycodes.SDLK_UNKNOWN; } /*try { ObjectInputStream settingsFile = new ObjectInputStream(new FileInputStream( p.getFilesDir().getAbsolutePath() + "/" + SettingsFileName )); if( settingsFile.readInt() != SETTINGS_FILE_VERSION ) throw new IOException(); Globals.DownloadToSdcard = settingsFile.readBoolean(); Globals.PhoneHasArrowKeys = settingsFile.readBoolean(); Globals.PhoneHasTrackball = settingsFile.readBoolean(); Globals.UseAccelerometerAsArrowKeys = settingsFile.readBoolean(); Globals.UseTouchscreenKeyboard = settingsFile.readBoolean(); Globals.TouchscreenKeyboardSize = settingsFile.readInt(); Globals.AccelerometerSensitivity = settingsFile.readInt(); Globals.AccelerometerCenterPos = settingsFile.readInt(); Globals.TrackballDampening = settingsFile.readInt(); Globals.AudioBufferConfig = settingsFile.readInt(); Globals.TouchscreenKeyboardTheme = settingsFile.readInt(); Globals.RightClickMethod = settingsFile.readInt(); Globals.ShowScreenUnderFinger = settingsFile.readInt(); Globals.LeftClickMethod = settingsFile.readInt(); Globals.MoveMouseWithJoystick = settingsFile.readBoolean(); Globals.ClickMouseWithDpad = settingsFile.readBoolean(); Globals.ClickScreenPressure = settingsFile.readInt(); Globals.ClickScreenTouchspotSize = settingsFile.readInt(); Globals.KeepAspectRatio = settingsFile.readBoolean(); Globals.MoveMouseWithJoystickSpeed = settingsFile.readInt(); Globals.MoveMouseWithJoystickAccel = settingsFile.readInt(); int readKeys = settingsFile.readInt(); for( int i = 0; i < readKeys; i++ ) { Globals.RemapHwKeycode[i] = settingsFile.readInt(); } if( settingsFile.readInt() != Globals.RemapScreenKbKeycode.length ) throw new IOException(); for( int i = 0; i < Globals.RemapScreenKbKeycode.length; i++ ) { Globals.RemapScreenKbKeycode[i] = settingsFile.readInt(); } if( settingsFile.readInt() != Globals.ScreenKbControlsShown.length ) throw new IOException(); for( int i = 0; i < Globals.ScreenKbControlsShown.length; i++ ) { Globals.ScreenKbControlsShown[i] = settingsFile.readBoolean(); } Globals.TouchscreenKeyboardTransparency = settingsFile.readInt(); if( settingsFile.readInt() != Globals.RemapMultitouchGestureKeycode.length ) throw new IOException(); for( int i = 0; i < Globals.RemapMultitouchGestureKeycode.length; i++ ) { Globals.RemapMultitouchGestureKeycode[i] = settingsFile.readInt(); Globals.MultitouchGesturesUsed[i] = settingsFile.readBoolean(); } Globals.MultitouchGestureSensitivity = settingsFile.readInt(); for( int i = 0; i < Globals.TouchscreenCalibration.length; i++ ) Globals.TouchscreenCalibration[i] = settingsFile.readInt(); StringBuilder b = new StringBuilder(); int len = settingsFile.readInt(); for( int i = 0; i < len; i++ ) b.append( settingsFile.readChar() ); Globals.DataDir = b.toString(); b = new StringBuilder(); len = settingsFile.readInt(); for( int i = 0; i < len; i++ ) b.append( settingsFile.readChar() ); Globals.CommandLine = b.toString(); if( settingsFile.readInt() != Globals.ScreenKbControlsLayout.length ) throw new IOException(); for( int i = 0; i < Globals.ScreenKbControlsLayout.length; i++ ) for( int ii = 0; ii < 4; ii++ ) Globals.ScreenKbControlsLayout[i][ii] = settingsFile.readInt(); Globals.LeftClickKey = settingsFile.readInt(); Globals.RightClickKey = settingsFile.readInt(); Globals.VideoLinearFilter = settingsFile.readBoolean(); Globals.LeftClickTimeout = settingsFile.readInt(); Globals.RightClickTimeout = settingsFile.readInt(); Globals.RelativeMouseMovement = settingsFile.readBoolean(); Globals.RelativeMouseMovementSpeed = settingsFile.readInt(); Globals.RelativeMouseMovementAccel = settingsFile.readInt(); Globals.MultiThreadedVideo = settingsFile.readBoolean(); Globals.OptionalDataDownload = new boolean[settingsFile.readInt()]; for(int i = 0; i < Globals.OptionalDataDownload.length; i++) Globals.OptionalDataDownload[i] = settingsFile.readBoolean(); Globals.BrokenLibCMessageShown = settingsFile.readBoolean(); Globals.TouchscreenKeyboardDrawSize = settingsFile.readInt(); int cfgVersion = settingsFile.readInt(); System.out.println("libSDL: old cfg version " + cfgVersion + ", our version " + p.getApplicationVersion()); if( cfgVersion < p.getApplicationVersion() ) { DeleteFilesOnUpgrade(); if( Globals.ResetSdlConfigForThisVersion ) { System.out.println("libSDL: old cfg version " + cfgVersion + ", our version " + p.getApplicationVersion() + " and we need to clean up config file"); // Delete settings file, and restart the application settingsFile.close(); ObjectOutputStream out = new ObjectOutputStream(p.openFileOutput( SettingsFileName, p.MODE_WORLD_READABLE )); out.writeInt(-1); out.close(); new File( p.getFilesDir() + "/" + SettingsFileName ).delete(); PendingIntent intent = PendingIntent.getActivity(p, 0, new Intent(p.getIntent()), p.getIntent().getFlags()); AlarmManager mgr = (AlarmManager) p.getSystemService(Context.ALARM_SERVICE); mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, intent); System.exit(0); } } settingsLoaded = true; System.out.println("libSDL: Settings.Load(): loaded settings successfully"); settingsFile.close(); return; } catch( FileNotFoundException e ) { } catch( SecurityException e ) { } catch ( IOException e ) {}; */ if( Globals.DataDir.length() == 0 ) { if( !Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) ) { System.out.println("libSDL: SD card or external storage is not mounted (state " + Environment.getExternalStorageState() + "), switching to the internal storage."); Globals.DownloadToSdcard = false; } Globals.DataDir = Globals.DownloadToSdcard ? SdcardAppPath.getPath(p) : p.getFilesDir().getAbsolutePath(); if( Globals.DownloadToSdcard ) { // Check if data already installed into deprecated location at /sdcard/app-data/ String[] fileList = new File(SdcardAppPath.deprecatedPath(p)).list(); if( fileList != null ) for( String s: fileList ) if( s.toUpperCase().startsWith(DataDownloader.DOWNLOAD_FLAG_FILENAME.toUpperCase()) ) Globals.DataDir = SdcardAppPath.deprecatedPath(p); } } // System.out.println("libSDL: Settings.Load(): loading settings failed, running config dialog"); p.setUpStatusLabel(); if( checkRamSize(p) ) showConfig(p, true); } // =============================================================================================== public static abstract class Menu { // Should be overridden by children abstract void run(final MainActivity p); abstract String title(final MainActivity p); boolean enabled() { return true; } // Should not be overridden boolean enabledOrHidden() { for( Menu m: Globals.HiddenMenuOptions ) { if( m.getClass().getName().equals( this.getClass().getName() ) ) return false; } return enabled(); } void showMenuOptionsList(final MainActivity p, final Menu[] list) { menuStack.add(this); ArrayList items = new ArrayList (); for( Menu m: list ) { if(m.enabledOrHidden()) items.add(m.title(p)); } AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(title(p)); builder.setItems(items.toArray(new CharSequence[0]), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); int selected = 0; for( Menu m: list ) { if(m.enabledOrHidden()) { if( selected == item ) { m.run(p); return; } selected ++; } } } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBackOuterMenu(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static ArrayList

menuStack = new ArrayList (); public static void showConfig(final MainActivity p, final boolean firstStart) { settingsChanged = true; if( Globals.OptionalDataDownload == null ) { String downloads[] = Globals.DataDownloadUrl.split("\\^"); Globals.OptionalDataDownload = new boolean[downloads.length]; boolean oldFormat = true; for( int i = 0; i < downloads.length; i++ ) { if( downloads[i].indexOf("!") == 0 ) { Globals.OptionalDataDownload[i] = true; oldFormat = false; } } if( oldFormat ) Globals.OptionalDataDownload[0] = true; } if(!firstStart) new MainMenu().run(p); else { if( Globals.StartupMenuButtonTimeout > 0 ) // If we did not disable startup menu altogether { for( Menu m: Globals.FirstStartMenuOptions ) { boolean hidden = false; for( Menu m1: Globals.HiddenMenuOptions ) { if( m1.getClass().getName().equals( m.getClass().getName() ) ) hidden = true; } if( ! hidden ) menuStack.add(m); } } goBack(p); } } static void goBack(final MainActivity p) { if(menuStack.isEmpty()) { Save(p); p.startDownloader(); } else { Menu c = menuStack.remove(menuStack.size() - 1); c.run(p); } } static void goBackOuterMenu(final MainActivity p) { if(!menuStack.isEmpty()) menuStack.remove(menuStack.size() - 1); goBack(p); } static class OkButton extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.ok); } void run (final MainActivity p) { goBackOuterMenu(p); } } static class DummyMenu extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.ok); } void run (final MainActivity p) { goBack(p); } } static class MainMenu extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.device_config); } void run (final MainActivity p) { Menu options[] = { new DownloadConfig(), new OptionalDownloadConfig(false), new AdditionalInputConfig(), new KeyboardConfigMainMenu(), new MouseConfigMainMenu(), new ArrowKeysConfig(), new AccelerometerConfig(), new AudioConfig(), new RemapHwKeysConfig(), new ScreenGesturesConfig(), new VideoSettingsConfig(), new OkButton(), }; showMenuOptionsList(p, options); } } static class MouseConfigMainMenu extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.mouse_emulation); } boolean enabled() { return Globals.AppUsesMouse; } void run (final MainActivity p) { Menu options[] = { new DisplaySizeConfig(false), new LeftClickConfig(), new RightClickConfig(), new AdditionalMouseConfig(), new JoystickMouseConfig(), new TouchPressureMeasurementTool(), new CalibrateTouchscreenMenu(), new OkButton(), }; showMenuOptionsList(p, options); } } static class KeyboardConfigMainMenu extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.controls_screenkb); } boolean enabled() { return Globals.UseTouchscreenKeyboard; } void run (final MainActivity p) { Menu options[] = { new ScreenKeyboardThemeConfig(), new ScreenKeyboardSizeConfig(), new ScreenKeyboardDrawSizeConfig(), new ScreenKeyboardTransparencyConfig(), new RemapScreenKbConfig(), new CustomizeScreenKbLayout(), new OkButton(), }; showMenuOptionsList(p, options); } } static class DownloadConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.storage_question); } void run (final MainActivity p) { long freeSdcard = 0; long freePhone = 0; try { StatFs sdcard = new StatFs(Environment.getExternalStorageDirectory().getPath()); StatFs phone = new StatFs(Environment.getDataDirectory().getPath()); freeSdcard = (long)sdcard.getAvailableBlocks() * sdcard.getBlockSize() / 1024 / 1024; freePhone = (long)phone.getAvailableBlocks() * phone.getBlockSize() / 1024 / 1024; } catch(Exception e) {} final CharSequence[] items = { p.getResources().getString(R.string.storage_phone, freePhone), p.getResources().getString(R.string.storage_sd, freeSdcard), p.getResources().getString(R.string.storage_custom) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.storage_question)); builder.setSingleChoiceItems(items, Globals.DownloadToSdcard ? 1 : 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); if( item == 2 ) showCustomDownloadDirConfig(p); else { Globals.DownloadToSdcard = (item != 0); Globals.DataDir = Globals.DownloadToSdcard ? Environment.getExternalStorageDirectory().getAbsolutePath() + "/app-data/" + Globals.class.getPackage().getName() : p.getFilesDir().getAbsolutePath(); goBack(p); } } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showCustomDownloadDirConfig(final MainActivity p) { AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.storage_custom)); final EditText edit = new EditText(p); edit.setFocusableInTouchMode(true); edit.setFocusable(true); edit.setText(Globals.DataDir); builder.setView(edit); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.DataDir = edit.getText().toString(); dialog.dismiss(); showCommandLineConfig(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showCommandLineConfig(final MainActivity p) { AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.storage_commandline)); final EditText edit = new EditText(p); edit.setFocusableInTouchMode(true); edit.setFocusable(true); edit.setText(Globals.CommandLine); builder.setView(edit); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.CommandLine = edit.getText().toString(); dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class OptionalDownloadConfig extends Menu { boolean firstStart = false; OptionalDownloadConfig() { firstStart = false; } OptionalDownloadConfig(boolean firstStart) { this.firstStart = firstStart; } String title(final MainActivity p) { return p.getResources().getString(R.string.downloads); } void run (final MainActivity p) { String [] downloadFiles = Globals.DataDownloadUrl.split("\\^"); final boolean [] mandatory = new boolean[downloadFiles.length]; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.downloads)); CharSequence[] items = new CharSequence[downloadFiles.length]; for(int i = 0; i < downloadFiles.length; i++ ) { items[i] = new String(downloadFiles[i].split("[|]")[0]); if( items[i].toString().indexOf("!") == 0 ) items[i] = items[i].toString().substring(1); if( items[i].toString().indexOf("!") == 0 ) { items[i] = items[i].toString().substring(1); mandatory[i] = true; } } if( Globals.OptionalDataDownload == null || Globals.OptionalDataDownload.length != items.length ) { Globals.OptionalDataDownload = new boolean[downloadFiles.length]; boolean oldFormat = true; for( int i = 0; i < downloadFiles.length; i++ ) { if( downloadFiles[i].indexOf("!") == 0 ) { Globals.OptionalDataDownload[i] = true; oldFormat = false; } } if( oldFormat ) { Globals.OptionalDataDownload[0] = true; mandatory[0] = true; } } builder.setMultiChoiceItems(items, Globals.OptionalDataDownload, new DialogInterface.OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int item, boolean isChecked) { Globals.OptionalDataDownload[item] = isChecked; if( mandatory[item] && !isChecked ) { Globals.OptionalDataDownload[item] = true; ((AlertDialog)dialog).getListView().setItemChecked(item, true); } } }); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); goBack(p); } }); if( firstStart ) { builder.setNegativeButton(p.getResources().getString(R.string.show_more_options), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); menuStack.clear(); new MainMenu().run(p); } }); } builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class AdditionalInputConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.controls_additional); } void run (final MainActivity p) { CharSequence[] items = { p.getResources().getString(R.string.controls_screenkb), p.getResources().getString(R.string.controls_accelnav) }; boolean defaults[] = { Globals.UseTouchscreenKeyboard, Globals.UseAccelerometerAsArrowKeys }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.controls_additional)); builder.setMultiChoiceItems(items, defaults, new DialogInterface.OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int item, boolean isChecked) { if( item == 0 ) Globals.UseTouchscreenKeyboard = isChecked; if( item == 1 ) Globals.UseAccelerometerAsArrowKeys = isChecked; } }); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class AccelerometerConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.accel_question); } boolean enabled() { return Globals.UseAccelerometerAsArrowKeys; } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.accel_fast), p.getResources().getString(R.string.accel_medium), p.getResources().getString(R.string.accel_slow) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.accel_question); builder.setSingleChoiceItems(items, Globals.AccelerometerSensitivity, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.AccelerometerSensitivity = item; dialog.dismiss(); showAccelerometerCenterConfig(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showAccelerometerCenterConfig(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.accel_floating), p.getResources().getString(R.string.accel_fixed_start), p.getResources().getString(R.string.accel_fixed_horiz) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.accel_question_center); builder.setSingleChoiceItems(items, Globals.AccelerometerCenterPos, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.AccelerometerCenterPos = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class ScreenKeyboardSizeConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.controls_screenkb_size); } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.controls_screenkb_large), p.getResources().getString(R.string.controls_screenkb_medium), p.getResources().getString(R.string.controls_screenkb_small), p.getResources().getString(R.string.controls_screenkb_tiny) }; for( int i = 0; i < Globals.ScreenKbControlsLayout.length; i++ ) for( int ii = 0; ii < 4; ii++ ) Globals.ScreenKbControlsLayout[i][ii] = 0; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.controls_screenkb_size)); builder.setSingleChoiceItems(items, Globals.TouchscreenKeyboardSize, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.TouchscreenKeyboardSize = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class ScreenKeyboardDrawSizeConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.controls_screenkb_drawsize); } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.controls_screenkb_large), p.getResources().getString(R.string.controls_screenkb_medium), p.getResources().getString(R.string.controls_screenkb_small), p.getResources().getString(R.string.controls_screenkb_tiny) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.controls_screenkb_drawsize)); builder.setSingleChoiceItems(items, Globals.TouchscreenKeyboardDrawSize, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.TouchscreenKeyboardDrawSize = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class ScreenKeyboardThemeConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.controls_screenkb_theme); } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.controls_screenkb_by, "Ultimate Droid", "Sean Stieber"), p.getResources().getString(R.string.controls_screenkb_by, "Simple Theme", "Beholder"), p.getResources().getString(R.string.controls_screenkb_by, "Sun", "Sirea") }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.controls_screenkb_theme)); builder.setSingleChoiceItems(items, Globals.TouchscreenKeyboardTheme, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.TouchscreenKeyboardTheme = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class ScreenKeyboardTransparencyConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.controls_screenkb_transparency); } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.controls_screenkb_trans_0), p.getResources().getString(R.string.controls_screenkb_trans_1), p.getResources().getString(R.string.controls_screenkb_trans_2), p.getResources().getString(R.string.controls_screenkb_trans_3), p.getResources().getString(R.string.controls_screenkb_trans_4) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.controls_screenkb_transparency)); builder.setSingleChoiceItems(items, Globals.TouchscreenKeyboardTransparency, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.TouchscreenKeyboardTransparency = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class AudioConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.audiobuf_question); } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.audiobuf_verysmall), p.getResources().getString(R.string.audiobuf_small), p.getResources().getString(R.string.audiobuf_medium), p.getResources().getString(R.string.audiobuf_large) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.audiobuf_question); builder.setSingleChoiceItems(items, Globals.AudioBufferConfig, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.AudioBufferConfig = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class DisplaySizeConfig extends Menu { boolean firstStart = false; DisplaySizeConfig() { this.firstStart = false; } DisplaySizeConfig(boolean firstStart) { this.firstStart = firstStart; } String title(final MainActivity p) { return p.getResources().getString(R.string.display_size_mouse); } void run (final MainActivity p) { CharSequence[] items = { p.getResources().getString(R.string.display_size_tiny_touchpad), p.getResources().getString(R.string.display_size_tiny), p.getResources().getString(R.string.display_size_small), p.getResources().getString(R.string.display_size_small_touchpad), p.getResources().getString(R.string.display_size_large), }; int _size_tiny_touchpad = 0; int _size_tiny = 1; int _size_small = 2; int _size_small_touchpad = 3; int _size_large = 4; int _more_options = 5; if( ! Globals.SwVideoMode ) { CharSequence[] items2 = { p.getResources().getString(R.string.display_size_small_touchpad), p.getResources().getString(R.string.display_size_large), }; items = items2; _size_small_touchpad = 0; _size_large = 1; _size_tiny_touchpad = _size_tiny = _size_small = 1000; } if( firstStart ) { CharSequence[] items2 = { p.getResources().getString(R.string.display_size_tiny_touchpad), p.getResources().getString(R.string.display_size_tiny), p.getResources().getString(R.string.display_size_small), p.getResources().getString(R.string.display_size_small_touchpad), p.getResources().getString(R.string.display_size_large), p.getResources().getString(R.string.show_more_options), }; items = items2; if( ! Globals.SwVideoMode ) { CharSequence[] items3 = { p.getResources().getString(R.string.display_size_small_touchpad), p.getResources().getString(R.string.display_size_large), p.getResources().getString(R.string.show_more_options), }; items = items3; _more_options = 3; } } // Java is so damn worse than C++11 final int size_tiny_touchpad = _size_tiny_touchpad; final int size_tiny = _size_tiny; final int size_small = _size_small; final int size_small_touchpad = _size_small_touchpad; final int size_large = _size_large; final int more_options = _more_options; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.display_size); class ClickListener implements DialogInterface.OnClickListener { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); if( item == size_large ) { Globals.LeftClickMethod = Mouse.LEFT_CLICK_NORMAL; Globals.RelativeMouseMovement = false; Globals.ShowScreenUnderFinger = Mouse.ZOOM_NONE; } if( item == size_small ) { Globals.LeftClickMethod = Mouse.LEFT_CLICK_NEAR_CURSOR; Globals.RelativeMouseMovement = false; Globals.ShowScreenUnderFinger = Mouse.ZOOM_MAGNIFIER; } if( item == size_small_touchpad ) { Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT; Globals.RelativeMouseMovement = true; Globals.ShowScreenUnderFinger = Mouse.ZOOM_NONE; } if( item == size_tiny ) { Globals.LeftClickMethod = Mouse.LEFT_CLICK_NEAR_CURSOR; Globals.RelativeMouseMovement = false; Globals.ShowScreenUnderFinger = Mouse.ZOOM_SCREEN_TRANSFORM; } if( item == size_tiny_touchpad ) { Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT; Globals.RelativeMouseMovement = true; Globals.ShowScreenUnderFinger = Mouse.ZOOM_FULLSCREEN_MAGNIFIER; } if( item == more_options ) { menuStack.clear(); new MainMenu().run(p); return; } goBack(p); } } builder.setItems(items, new ClickListener()); /* else builder.setSingleChoiceItems(items, Globals.ShowScreenUnderFinger == Mouse.ZOOM_NONE ? ( Globals.RelativeMouseMovement ? Globals.SwVideoMode ? 2 : 1 : 0 ) : ( Globals.ShowScreenUnderFinger == Mouse.ZOOM_MAGNIFIER && Globals.SwVideoMode ) ? 1 : Globals.ShowScreenUnderFinger + 1, new ClickListener()); */ builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class LeftClickConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.leftclick_question); } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.leftclick_normal), p.getResources().getString(R.string.leftclick_near_cursor), p.getResources().getString(R.string.leftclick_multitouch), p.getResources().getString(R.string.leftclick_pressure), p.getResources().getString(R.string.rightclick_key), p.getResources().getString(R.string.leftclick_timeout), p.getResources().getString(R.string.leftclick_tap), p.getResources().getString(R.string.leftclick_tap_or_timeout) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.leftclick_question); builder.setSingleChoiceItems(items, Globals.LeftClickMethod, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); Globals.LeftClickMethod = item; if( item == Mouse.LEFT_CLICK_WITH_KEY ) p.keyListener = new KeyRemapToolMouseClick(p, true); else if( item == Mouse.LEFT_CLICK_WITH_TIMEOUT || item == Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT ) showLeftClickTimeoutConfig(p); else goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showLeftClickTimeoutConfig(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.leftclick_timeout_time_0), p.getResources().getString(R.string.leftclick_timeout_time_1), p.getResources().getString(R.string.leftclick_timeout_time_2), p.getResources().getString(R.string.leftclick_timeout_time_3), p.getResources().getString(R.string.leftclick_timeout_time_4) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.leftclick_timeout_time); builder.setSingleChoiceItems(items, Globals.LeftClickTimeout, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.LeftClickTimeout = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class RightClickConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.rightclick_question); } boolean enabled() { return Globals.AppNeedsTwoButtonMouse; } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.rightclick_none), p.getResources().getString(R.string.rightclick_multitouch), p.getResources().getString(R.string.rightclick_pressure), p.getResources().getString(R.string.rightclick_key), p.getResources().getString(R.string.leftclick_timeout) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.rightclick_question); builder.setSingleChoiceItems(items, Globals.RightClickMethod, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.RightClickMethod = item; dialog.dismiss(); if( item == Mouse.RIGHT_CLICK_WITH_KEY ) p.keyListener = new KeyRemapToolMouseClick(p, false); else if( item == Mouse.RIGHT_CLICK_WITH_TIMEOUT ) showRightClickTimeoutConfig(p); else goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showRightClickTimeoutConfig(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.leftclick_timeout_time_0), p.getResources().getString(R.string.leftclick_timeout_time_1), p.getResources().getString(R.string.leftclick_timeout_time_2), p.getResources().getString(R.string.leftclick_timeout_time_3), p.getResources().getString(R.string.leftclick_timeout_time_4) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.leftclick_timeout_time); builder.setSingleChoiceItems(items, Globals.RightClickTimeout, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.RightClickTimeout = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } public static class KeyRemapToolMouseClick implements KeyEventsListener { MainActivity p; boolean leftClick; public KeyRemapToolMouseClick(MainActivity _p, boolean leftClick) { p = _p; p.setText(p.getResources().getString(R.string.remap_hwkeys_press)); this.leftClick = leftClick; } public void onKeyEvent(final int keyCode) { p.keyListener = null; int keyIndex = keyCode; if( keyIndex < 0 ) keyIndex = 0; if( keyIndex > SDL_Keys.JAVA_KEYCODE_LAST ) keyIndex = 0; if( leftClick ) Globals.LeftClickKey = keyIndex; else Globals.RightClickKey = keyIndex; goBack(p); } } static class AdditionalMouseConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.pointandclick_question); } void run (final MainActivity p) { CharSequence[] items = { p.getResources().getString(R.string.pointandclick_joystickmouse), p.getResources().getString(R.string.click_with_dpadcenter), p.getResources().getString(R.string.pointandclick_relative) }; boolean defaults[] = { Globals.MoveMouseWithJoystick, Globals.ClickMouseWithDpad, Globals.RelativeMouseMovement }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.pointandclick_question)); builder.setMultiChoiceItems(items, defaults, new DialogInterface.OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int item, boolean isChecked) { if( item == 0 ) Globals.MoveMouseWithJoystick = isChecked; if( item == 1 ) Globals.ClickMouseWithDpad = isChecked; if( item == 2 ) Globals.RelativeMouseMovement = isChecked; } }); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); if( Globals.RelativeMouseMovement ) showRelativeMouseMovementConfig(p); else goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showRelativeMouseMovementConfig(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.accel_veryslow), p.getResources().getString(R.string.accel_slow), p.getResources().getString(R.string.accel_medium), p.getResources().getString(R.string.accel_fast), p.getResources().getString(R.string.accel_veryfast) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.pointandclick_relative_speed); builder.setSingleChoiceItems(items, Globals.RelativeMouseMovementSpeed, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.RelativeMouseMovementSpeed = item; dialog.dismiss(); showRelativeMouseMovementConfig1(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showRelativeMouseMovementConfig1(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.none), p.getResources().getString(R.string.accel_slow), p.getResources().getString(R.string.accel_medium), p.getResources().getString(R.string.accel_fast) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.pointandclick_relative_accel); builder.setSingleChoiceItems(items, Globals.RelativeMouseMovementAccel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.RelativeMouseMovementAccel = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class ArrowKeysConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.controls_question); } boolean enabled() { return Globals.AppNeedsArrowKeys || Globals.MoveMouseWithJoystick; } void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.controls_arrows), p.getResources().getString(R.string.controls_trackball), p.getResources().getString(R.string.controls_touch) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.controls_question)); builder.setSingleChoiceItems(items, Globals.PhoneHasArrowKeys ? 0 : ( Globals.PhoneHasTrackball ? 1 : 2 ), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.PhoneHasArrowKeys = (item == 0); Globals.PhoneHasTrackball = (item == 1); dialog.dismiss(); if( Globals.PhoneHasTrackball ) showTrackballConfig(p); else goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showTrackballConfig(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.trackball_no_dampening), p.getResources().getString(R.string.trackball_fast), p.getResources().getString(R.string.trackball_medium), p.getResources().getString(R.string.trackball_slow) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.trackball_question)); builder.setSingleChoiceItems(items, Globals.TrackballDampening, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.TrackballDampening = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class JoystickMouseConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.pointandclick_joystickmousespeed); } boolean enabled() { return Globals.MoveMouseWithJoystick; }; void run (final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.accel_slow), p.getResources().getString(R.string.accel_medium), p.getResources().getString(R.string.accel_fast) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.pointandclick_joystickmousespeed); builder.setSingleChoiceItems(items, Globals.MoveMouseWithJoystickSpeed, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.MoveMouseWithJoystickSpeed = item; dialog.dismiss(); showJoystickMouseAccelConfig(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showJoystickMouseAccelConfig(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.none), p.getResources().getString(R.string.accel_slow), p.getResources().getString(R.string.accel_medium), p.getResources().getString(R.string.accel_fast) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.pointandclick_joystickmouseaccel); builder.setSingleChoiceItems(items, Globals.MoveMouseWithJoystickAccel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.MoveMouseWithJoystickAccel = item; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } public interface TouchEventsListener { public void onTouchEvent(final MotionEvent ev); } public interface KeyEventsListener { public void onKeyEvent(final int keyCode); } static class TouchPressureMeasurementTool extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.measurepressure); } boolean enabled() { return Globals.RightClickMethod == Mouse.RIGHT_CLICK_WITH_PRESSURE || Globals.LeftClickMethod == Mouse.LEFT_CLICK_WITH_PRESSURE; }; void run (final MainActivity p) { p.setText(p.getResources().getString(R.string.measurepressure_touchplease)); p.touchListener = new TouchMeasurementTool(p); } public static class TouchMeasurementTool implements TouchEventsListener { MainActivity p; ArrayList force = new ArrayList(); ArrayList radius = new ArrayList(); static final int maxEventAmount = 100; public TouchMeasurementTool(MainActivity _p) { p = _p; } public void onTouchEvent(final MotionEvent ev) { force.add(new Integer((int)(ev.getPressure() * 1000.0))); radius.add(new Integer((int)(ev.getSize() * 1000.0))); p.setText(p.getResources().getString(R.string.measurepressure_response, force.get(force.size()-1), radius.get(radius.size()-1))); try { Thread.sleep(10L); } catch (InterruptedException e) { } if( force.size() >= maxEventAmount ) { p.touchListener = null; Globals.ClickScreenPressure = getAverageForce(); Globals.ClickScreenTouchspotSize = getAverageRadius(); System.out.println("SDL: measured average force " + Globals.ClickScreenPressure + " radius " + Globals.ClickScreenTouchspotSize); goBack(p); } } int getAverageForce() { int avg = 0; for(Integer f: force) { avg += f; } return avg / force.size(); } int getAverageRadius() { int avg = 0; for(Integer r: radius) { avg += r; } return avg / radius.size(); } } } static class RemapHwKeysConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.remap_hwkeys); } //boolean enabled() { return true; }; void run (final MainActivity p) { p.setText(p.getResources().getString(R.string.remap_hwkeys_press)); p.keyListener = new KeyRemapTool(p); } public static class KeyRemapTool implements KeyEventsListener { MainActivity p; public KeyRemapTool(MainActivity _p) { p = _p; } public void onKeyEvent(final int keyCode) { p.keyListener = null; int keyIndex = keyCode; if( keyIndex < 0 ) keyIndex = 0; if( keyIndex > SDL_Keys.JAVA_KEYCODE_LAST ) keyIndex = 0; final int KeyIndexFinal = keyIndex; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.remap_hwkeys_select); builder.setSingleChoiceItems(SDL_Keys.namesSorted, SDL_Keys.namesSortedBackIdx[Globals.RemapHwKeycode[keyIndex]], new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.RemapHwKeycode[KeyIndexFinal] = SDL_Keys.namesSortedIdx[item]; dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } } static class RemapScreenKbConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.remap_screenkb); } //boolean enabled() { return true; }; void run (final MainActivity p) { CharSequence[] items = { p.getResources().getString(R.string.remap_screenkb_joystick), p.getResources().getString(R.string.remap_screenkb_button_text), p.getResources().getString(R.string.remap_screenkb_button) + " 1", p.getResources().getString(R.string.remap_screenkb_button) + " 2", p.getResources().getString(R.string.remap_screenkb_button) + " 3", p.getResources().getString(R.string.remap_screenkb_button) + " 4", p.getResources().getString(R.string.remap_screenkb_button) + " 5", p.getResources().getString(R.string.remap_screenkb_button) + " 6", }; boolean defaults[] = { Globals.ScreenKbControlsShown[0], Globals.ScreenKbControlsShown[1], Globals.ScreenKbControlsShown[2], Globals.ScreenKbControlsShown[3], Globals.ScreenKbControlsShown[4], Globals.ScreenKbControlsShown[5], Globals.ScreenKbControlsShown[6], Globals.ScreenKbControlsShown[7], }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.remap_screenkb)); builder.setMultiChoiceItems(items, defaults, new DialogInterface.OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int item, boolean isChecked) { if( ! Globals.UseTouchscreenKeyboard ) item += 8; Globals.ScreenKbControlsShown[item] = isChecked; } }); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); showRemapScreenKbConfig2(p, 0); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showRemapScreenKbConfig2(final MainActivity p, final int currentButton) { CharSequence[] items = { p.getResources().getString(R.string.remap_screenkb_button) + " 1", p.getResources().getString(R.string.remap_screenkb_button) + " 2", p.getResources().getString(R.string.remap_screenkb_button) + " 3", p.getResources().getString(R.string.remap_screenkb_button) + " 4", p.getResources().getString(R.string.remap_screenkb_button) + " 5", p.getResources().getString(R.string.remap_screenkb_button) + " 6", }; if( currentButton >= Globals.RemapScreenKbKeycode.length ) { goBack(p); return; } if( ! Globals.ScreenKbControlsShown[currentButton + 2] ) { showRemapScreenKbConfig2(p, currentButton + 1); return; } AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(items[currentButton]); builder.setSingleChoiceItems(SDL_Keys.namesSorted, SDL_Keys.namesSortedBackIdx[Globals.RemapScreenKbKeycode[currentButton]], new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.RemapScreenKbKeycode[currentButton] = SDL_Keys.namesSortedIdx[item]; dialog.dismiss(); showRemapScreenKbConfig2(p, currentButton + 1); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class ScreenGesturesConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.remap_screenkb_button_gestures); } //boolean enabled() { return true; }; void run (final MainActivity p) { CharSequence[] items = { p.getResources().getString(R.string.remap_screenkb_button_zoomin), p.getResources().getString(R.string.remap_screenkb_button_zoomout), p.getResources().getString(R.string.remap_screenkb_button_rotateleft), p.getResources().getString(R.string.remap_screenkb_button_rotateright), }; boolean defaults[] = { Globals.MultitouchGesturesUsed[0], Globals.MultitouchGesturesUsed[1], Globals.MultitouchGesturesUsed[2], Globals.MultitouchGesturesUsed[3], }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.remap_screenkb_button_gestures)); builder.setMultiChoiceItems(items, defaults, new DialogInterface.OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int item, boolean isChecked) { Globals.MultitouchGesturesUsed[item] = isChecked; } }); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); showScreenGesturesConfig2(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showScreenGesturesConfig2(final MainActivity p) { final CharSequence[] items = { p.getResources().getString(R.string.accel_slow), p.getResources().getString(R.string.accel_medium), p.getResources().getString(R.string.accel_fast), p.getResources().getString(R.string.accel_veryfast) }; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.remap_screenkb_button_gestures_sensitivity); builder.setSingleChoiceItems(items, Globals.MultitouchGestureSensitivity, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.MultitouchGestureSensitivity = item; dialog.dismiss(); showScreenGesturesConfig3(p, 0); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } static void showScreenGesturesConfig3(final MainActivity p, final int currentButton) { CharSequence[] items = { p.getResources().getString(R.string.remap_screenkb_button_zoomin), p.getResources().getString(R.string.remap_screenkb_button_zoomout), p.getResources().getString(R.string.remap_screenkb_button_rotateleft), p.getResources().getString(R.string.remap_screenkb_button_rotateright), }; if( currentButton >= Globals.RemapMultitouchGestureKeycode.length ) { goBack(p); return; } if( ! Globals.MultitouchGesturesUsed[currentButton] ) { showScreenGesturesConfig3(p, currentButton + 1); return; } AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(items[currentButton]); builder.setSingleChoiceItems(SDL_Keys.namesSorted, SDL_Keys.namesSortedBackIdx[Globals.RemapMultitouchGestureKeycode[currentButton]], new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Globals.RemapMultitouchGestureKeycode[currentButton] = SDL_Keys.namesSortedIdx[item]; dialog.dismiss(); showScreenGesturesConfig3(p, currentButton + 1); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } static class CalibrateTouchscreenMenu extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.calibrate_touchscreen); } //boolean enabled() { return true; }; void run (final MainActivity p) { p.setText(p.getResources().getString(R.string.calibrate_touchscreen_touch)); Globals.TouchscreenCalibration[0] = 0; Globals.TouchscreenCalibration[1] = 0; Globals.TouchscreenCalibration[2] = 0; Globals.TouchscreenCalibration[3] = 0; ScreenEdgesCalibrationTool tool = new ScreenEdgesCalibrationTool(p); p.touchListener = tool; p.keyListener = tool; } static class ScreenEdgesCalibrationTool implements TouchEventsListener, KeyEventsListener { MainActivity p; ImageView img; Bitmap bmp; public ScreenEdgesCalibrationTool(MainActivity _p) { p = _p; img = new ImageView(p); img.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); img.setScaleType(ImageView.ScaleType.MATRIX); // bmp = BitmapFactory.decodeResource( p.getResources(), R.drawable.calibrate ); img.setImageBitmap(bmp); Matrix m = new Matrix(); RectF src = new RectF(0, 0, bmp.getWidth(), bmp.getHeight()); RectF dst = new RectF(Globals.TouchscreenCalibration[0], Globals.TouchscreenCalibration[1], Globals.TouchscreenCalibration[2], Globals.TouchscreenCalibration[3]); m.setRectToRect(src, dst, Matrix.ScaleToFit.FILL); img.setImageMatrix(m); p.getVideoLayout().addView(img); } public void onTouchEvent(final MotionEvent ev) { if( Globals.TouchscreenCalibration[0] == Globals.TouchscreenCalibration[1] && Globals.TouchscreenCalibration[1] == Globals.TouchscreenCalibration[2] && Globals.TouchscreenCalibration[2] == Globals.TouchscreenCalibration[3] ) { Globals.TouchscreenCalibration[0] = (int)ev.getX(); Globals.TouchscreenCalibration[1] = (int)ev.getY(); Globals.TouchscreenCalibration[2] = (int)ev.getX(); Globals.TouchscreenCalibration[3] = (int)ev.getY(); } if( ev.getX() < Globals.TouchscreenCalibration[0] ) Globals.TouchscreenCalibration[0] = (int)ev.getX(); if( ev.getY() < Globals.TouchscreenCalibration[1] ) Globals.TouchscreenCalibration[1] = (int)ev.getY(); if( ev.getX() > Globals.TouchscreenCalibration[2] ) Globals.TouchscreenCalibration[2] = (int)ev.getX(); if( ev.getY() > Globals.TouchscreenCalibration[3] ) Globals.TouchscreenCalibration[3] = (int)ev.getY(); Matrix m = new Matrix(); RectF src = new RectF(0, 0, bmp.getWidth(), bmp.getHeight()); RectF dst = new RectF(Globals.TouchscreenCalibration[0], Globals.TouchscreenCalibration[1], Globals.TouchscreenCalibration[2], Globals.TouchscreenCalibration[3]); m.setRectToRect(src, dst, Matrix.ScaleToFit.FILL); img.setImageMatrix(m); } public void onKeyEvent(final int keyCode) { p.touchListener = null; p.keyListener = null; p.getVideoLayout().removeView(img); goBack(p); } } } static class CustomizeScreenKbLayout extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.screenkb_custom_layout); } //boolean enabled() { return true; }; void run (final MainActivity p) { p.setText(p.getResources().getString(R.string.screenkb_custom_layout_help)); CustomizeScreenKbLayoutTool tool = new CustomizeScreenKbLayoutTool(p); p.touchListener = tool; p.keyListener = tool; } static class CustomizeScreenKbLayoutTool implements TouchEventsListener, KeyEventsListener { MainActivity p; FrameLayout layout = null; ImageView imgs[] = new ImageView[Globals.ScreenKbControlsLayout.length]; Bitmap bmps[] = new Bitmap[Globals.ScreenKbControlsLayout.length]; int currentButton = 0; int buttons[] = { /* R.drawable.dpad, R.drawable.keyboard, R.drawable.b1, R.drawable.b2, R.drawable.b3, R.drawable.b4, R.drawable.b5, R.drawable.b6*/ }; public CustomizeScreenKbLayoutTool(MainActivity _p) { p = _p; layout = new FrameLayout(p); p.getVideoLayout().addView(layout); currentButton = 0; setupButton(true); } void setupButton(boolean undo) { do { currentButton += (undo ? -1 : 1); if(currentButton >= Globals.ScreenKbControlsLayout.length) { p.getVideoLayout().removeView(layout); layout = null; p.touchListener = null; p.keyListener = null; goBack(p); return; } if(currentButton < 0) { currentButton = 0; undo = false; } } while( ! Globals.ScreenKbControlsShown[currentButton] ); if( imgs[currentButton] == null ) { imgs[currentButton] = new ImageView(p); imgs[currentButton].setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); imgs[currentButton].setScaleType(ImageView.ScaleType.MATRIX); bmps[currentButton] = BitmapFactory.decodeResource( p.getResources(), buttons[currentButton] ); imgs[currentButton].setImageBitmap(bmps[currentButton]); layout.addView(imgs[currentButton]); } Matrix m = new Matrix(); RectF src = new RectF(0, 0, bmps[currentButton].getWidth(), bmps[currentButton].getHeight()); RectF dst = new RectF(Globals.ScreenKbControlsLayout[currentButton][0], Globals.ScreenKbControlsLayout[currentButton][1], Globals.ScreenKbControlsLayout[currentButton][2], Globals.ScreenKbControlsLayout[currentButton][3]); m.setRectToRect(src, dst, Matrix.ScaleToFit.FILL); imgs[currentButton].setImageMatrix(m); } public void onTouchEvent(final MotionEvent ev) { if(Globals.ScreenKbControlsLayout.length >= currentButton) { setupButton(false); return; } if( ev.getAction() == MotionEvent.ACTION_DOWN ) { Globals.ScreenKbControlsLayout[currentButton][0] = (int)ev.getX(); Globals.ScreenKbControlsLayout[currentButton][1] = (int)ev.getY(); Globals.ScreenKbControlsLayout[currentButton][2] = (int)ev.getX(); Globals.ScreenKbControlsLayout[currentButton][3] = (int)ev.getY(); } if( ev.getAction() == MotionEvent.ACTION_MOVE ) { if( Globals.ScreenKbControlsLayout[currentButton][0] > (int)ev.getX() ) Globals.ScreenKbControlsLayout[currentButton][0] = (int)ev.getX(); if( Globals.ScreenKbControlsLayout[currentButton][1] > (int)ev.getY() ) Globals.ScreenKbControlsLayout[currentButton][1] = (int)ev.getY(); if( Globals.ScreenKbControlsLayout[currentButton][2] < (int)ev.getX() ) Globals.ScreenKbControlsLayout[currentButton][2] = (int)ev.getX(); if( Globals.ScreenKbControlsLayout[currentButton][3] < (int)ev.getY() ) Globals.ScreenKbControlsLayout[currentButton][3] = (int)ev.getY(); } Matrix m = new Matrix(); RectF src = new RectF(0, 0, bmps[currentButton].getWidth(), bmps[currentButton].getHeight()); RectF dst = new RectF(Globals.ScreenKbControlsLayout[currentButton][0], Globals.ScreenKbControlsLayout[currentButton][1], Globals.ScreenKbControlsLayout[currentButton][2], Globals.ScreenKbControlsLayout[currentButton][3]); m.setRectToRect(src, dst, Matrix.ScaleToFit.FILL); imgs[currentButton].setImageMatrix(m); if( ev.getAction() == MotionEvent.ACTION_UP ) setupButton(false); } public void onKeyEvent(final int keyCode) { if( layout != null && imgs[currentButton] != null ) layout.removeView(imgs[currentButton]); imgs[currentButton] = null; setupButton(true); } } } static class VideoSettingsConfig extends Menu { String title(final MainActivity p) { return p.getResources().getString(R.string.video); } //boolean enabled() { return true; }; void run (final MainActivity p) { CharSequence[] items = { p.getResources().getString(R.string.pointandclick_keepaspectratio), p.getResources().getString(R.string.video_smooth) }; boolean defaults[] = { Globals.KeepAspectRatio, Globals.VideoLinearFilter }; if(Globals.SwVideoMode && !Globals.CompatibilityHacksVideo) { CharSequence[] items2 = { p.getResources().getString(R.string.pointandclick_keepaspectratio), p.getResources().getString(R.string.video_smooth), p.getResources().getString(R.string.video_separatethread), }; boolean defaults2[] = { Globals.KeepAspectRatio, Globals.VideoLinearFilter, Globals.MultiThreadedVideo }; items = items2; defaults = defaults2; } if(Globals.Using_SDL_1_3) { CharSequence[] items2 = { p.getResources().getString(R.string.pointandclick_keepaspectratio), }; boolean defaults2[] = { Globals.KeepAspectRatio, }; items = items2; defaults = defaults2; } AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(p.getResources().getString(R.string.video)); builder.setMultiChoiceItems(items, defaults, new DialogInterface.OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int item, boolean isChecked) { if( item == 0 ) Globals.KeepAspectRatio = isChecked; if( item == 1 ) Globals.VideoLinearFilter = isChecked; if( item == 2 ) Globals.MultiThreadedVideo = isChecked; } }); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); goBack(p); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { goBack(p); } }); AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); } } public static boolean deleteRecursively(File dir) { if (dir.isDirectory()) { String[] children = dir.list(); for (int i=0; i Globals.TouchscreenCalibration[0] ) nativeSetTouchscreenCalibration(Globals.TouchscreenCalibration[0], Globals.TouchscreenCalibration[1], Globals.TouchscreenCalibration[2], Globals.TouchscreenCalibration[3]); String lang = new String(Locale.getDefault().getLanguage()); if( Locale.getDefault().getCountry().length() > 0 ) lang = lang + "_" + Locale.getDefault().getCountry(); System.out.println( "libSDL: setting envvar LANGUAGE to '" + lang + "'"); nativeSetEnv( "LANG", lang ); nativeSetEnv( "LANGUAGE", lang ); // TODO: get current user name and set envvar USER, the API is not availalbe on Android 1.6 so I don't bother with this nativeSetEnv( "APPDIR", p.getFilesDir().getAbsolutePath() ); nativeSetEnv( "SECURE_STORAGE_DIR", p.getFilesDir().getAbsolutePath() ); nativeSetEnv( "DATADIR", Globals.DataDir ); nativeSetEnv( "UNSECURE_STORAGE_DIR", Globals.DataDir ); nativeSetEnv( "HOME", Globals.DataDir ); try { DisplayMetrics dm = new DisplayMetrics(); p.getWindowManager().getDefaultDisplay().getMetrics(dm); float xx = dm.widthPixels/dm.xdpi; float yy = dm.heightPixels/dm.ydpi; float x = Math.max(xx, yy); float y = Math.min(xx, yy); float displayInches = (float)Math.sqrt( x*x + y*y ); nativeSetEnv( "DISPLAY_SIZE", String.valueOf(displayInches) ); nativeSetEnv( "DISPLAY_SIZE_MM", String.valueOf((int)(displayInches*25.4f)) ); nativeSetEnv( "DISPLAY_WIDTH", String.valueOf(x) ); nativeSetEnv( "DISPLAY_HEIGHT", String.valueOf(y) ); nativeSetEnv( "DISPLAY_WIDTH_MM", String.valueOf((int)(x*25.4f)) ); nativeSetEnv( "DISPLAY_HEIGHT_MM", String.valueOf((int)(y*25.4f)) ); nativeSetEnv( "DISPLAY_RESOLUTION_WIDTH", String.valueOf(Math.max(dm.widthPixels, dm.heightPixels)) ); nativeSetEnv( "DISPLAY_RESOLUTION_HEIGHT", String.valueOf(Math.min(dm.widthPixels, dm.heightPixels)) ); } catch (Exception eeeee) {} } static byte [] loadRaw(Activity p, int res) { byte [] buf = new byte[65536 * 2]; byte [] a = new byte[65536 * 4 * 10]; // We need 2363516 bytes for the Sun theme int written = 0; try{ InputStream is = new GZIPInputStream(p.getResources().openRawResource(res)); int readed = 0; while( (readed = is.read(buf)) >= 0 ) { if( written + readed > a.length ) { byte [] b = new byte [written + readed]; System.arraycopy(a, 0, b, 0, written); a = b; } System.arraycopy(buf, 0, a, written, readed); written += readed; } } catch(Exception e) {}; byte [] b = new byte [written]; System.arraycopy(a, 0, b, 0, written); return b; } static void SetupTouchscreenKeyboardGraphics(Activity p) { if( Globals.UseTouchscreenKeyboard ) { if(Globals.TouchscreenKeyboardTheme < 0) Globals.TouchscreenKeyboardTheme = 0; if(Globals.TouchscreenKeyboardTheme > 2) Globals.TouchscreenKeyboardTheme = 2; /*if( Globals.TouchscreenKeyboardTheme == 0 ) { nativeSetupScreenKeyboardButtons(loadRaw(p, R.raw.ultimatedroid)); } if( Globals.TouchscreenKeyboardTheme == 1 ) { nativeSetupScreenKeyboardButtons(loadRaw(p, R.raw.simpletheme)); } if( Globals.TouchscreenKeyboardTheme == 2 ) { nativeSetupScreenKeyboardButtons(loadRaw(p, R.raw.sun)); } */ } } abstract static class SdcardAppPath { private static SdcardAppPath get() { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.FROYO) return Froyo.Holder.sInstance; else return Dummy.Holder.sInstance; } public abstract String path(final Context p); public static String deprecatedPath(final Context p) { return Environment.getExternalStorageDirectory().getAbsolutePath() + "/app-data/" + p.getPackageName(); } public static String getPath(final Context p) { try { return get().path(p); } catch(Exception e) { } return Dummy.Holder.sInstance.path(p); } private static class Froyo extends SdcardAppPath { private static class Holder { private static final Froyo sInstance = new Froyo(); } public String path(final Context p) { return p.getExternalFilesDir(null).getAbsolutePath(); } } private static class Dummy extends SdcardAppPath { private static class Holder { private static final Dummy sInstance = new Dummy(); } public String path(final Context p) { return Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/" + p.getPackageName() + "/files"; } } } static boolean checkRamSize(final MainActivity p) { try { BufferedReader reader = new BufferedReader(new FileReader("/proc/meminfo")); String line = null; while( ( line = reader.readLine() ) != null ) { if( line.indexOf("MemTotal:") == 0 ) { String[] fields = line.split("[ \t]+"); Long size = Long.parseLong(fields[1]); System.out.println("Device RAM size: " + size / 1024 + " Mb, required minimum RAM: " + Globals.AppMinimumRAM + " Mb" ); if( size / 1024 < Globals.AppMinimumRAM ) { settingsChanged = true; AlertDialog.Builder builder = new AlertDialog.Builder(p); builder.setTitle(R.string.not_enough_ram); builder.setMessage(p.getResources().getString( R.string.not_enough_ram_size, Globals.AppMinimumRAM, (int)(size / 1024)) ); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { p.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + p.getPackageName()))); System.exit(0); } }); builder.setNegativeButton(p.getResources().getString(R.string.ignore), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { showConfig(p, true); return; } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { public void onCancel(DialogInterface dialog) { p.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + p.getPackageName()))); System.exit(0); } }); final AlertDialog alert = builder.create(); alert.setOwnerActivity(p); alert.show(); return false; } } } } catch ( Exception e ) { System.out.println("Error: cannot parse /proc/meminfo: " + e.toString()); } return true; } private static native void nativeSetTrackballUsed(); private static native void nativeSetTrackballDampening(int value); private static native void nativeSetAccelerometerSettings(int sensitivity, int centerPos); private static native void nativeSetMouseUsed(int RightClickMethod, int ShowScreenUnderFinger, int LeftClickMethod, int MoveMouseWithJoystick, int ClickMouseWithDpad, int MaxForce, int MaxRadius, int MoveMouseWithJoystickSpeed, int MoveMouseWithJoystickAccel, int leftClickKeycode, int rightClickKeycode, int leftClickTimeout, int rightClickTimeout, int relativeMovement, int relativeMovementSpeed, int relativeMovementAccel, int showMouseCursor); private static native void nativeSetJoystickUsed(); private static native void nativeSetAccelerometerUsed(); private static native void nativeSetMultitouchUsed(); private static native void nativeSetTouchscreenKeyboardUsed(); private static native void nativeSetVideoLinearFilter(); private static native void nativeSetVideoDepth(int bpp, int gles2); private static native void nativeSetCompatibilityHacks(); private static native void nativeSetVideoMultithreaded(); private static native void nativeSetVideoForceSoftwareMode(); private static native void nativeSetupScreenKeyboard(int size, int drawsize, int theme, int nbuttonsAutoFire, int transparency); private static native void nativeSetupScreenKeyboardButtons(byte[] img); private static native void nativeInitKeymap(); private static native int nativeGetKeymapKey(int key); private static native void nativeSetKeymapKey(int javakey, int key); private static native int nativeGetKeymapKeyScreenKb(int keynum); private static native void nativeSetKeymapKeyScreenKb(int keynum, int key); private static native void nativeSetScreenKbKeyUsed(int keynum, int used); private static native void nativeSetScreenKbKeyLayout(int keynum, int x1, int y1, int x2, int y2); private static native int nativeGetKeymapKeyMultitouchGesture(int keynum); private static native void nativeSetKeymapKeyMultitouchGesture(int keynum, int key); private static native void nativeSetMultitouchGestureSensitivity(int sensitivity); private static native void nativeSetTouchscreenCalibration(int x1, int y1, int x2, int y2); public static native void nativeSetEnv(final String name, final String value); public static native int nativeChmod(final String name, int mode); } tucnak-4.32/android/src/Accelerometer.java0000644000175000017500000000601212052426441015473 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.MotionEvent; import android.view.KeyEvent; import android.view.Window; import android.view.WindowManager; import android.os.Vibrator; import android.hardware.SensorManager; import android.hardware.SensorEventListener; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.widget.TextView; class AccelerometerReader implements SensorEventListener { private SensorManager _manager = null; public AccelerometerReader(Activity context) { _manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); start(); } public synchronized void stop() { if( _manager != null ) { _manager.unregisterListener(this); } } public synchronized void start() { if( Globals.UseAccelerometerAsArrowKeys || Globals.AppUsesAccelerometer ) { if( _manager != null ) { System.out.println("libSDL: starting accelerometer"); // TODO: orientation allows for 3rd axis - azimuth, but it will be way too hard to the user // if( ! _manager.registerListener(this, _manager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME) ) _manager.registerListener(this, _manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME); } } } public synchronized void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { if( Globals.HorizontalOrientation ) nativeAccelerometer(event.values[1], -event.values[0], event.values[2]); else nativeAccelerometer(event.values[0], event.values[1], event.values[2]); // TODO: not tested! } else { if( Globals.HorizontalOrientation ) nativeOrientation(event.values[1], -event.values[2], event.values[0]); else nativeOrientation(event.values[2], event.values[1], event.values[0]); } } public synchronized void onAccuracyChanged(Sensor s, int a) { } private native void nativeAccelerometer(float accX, float accY, float accZ); private native void nativeOrientation(float accX, float accY, float accZ); } tucnak-4.32/android/src/Advertisement.java0000644000175000017500000000252312052426441015536 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import android.app.Activity; import android.content.Context; import android.view.MotionEvent; import android.view.KeyEvent; import android.view.Window; import android.view.WindowManager; import android.widget.TextView; import android.view.View; class Advertisement { MainActivity parent; public Advertisement(MainActivity p) { parent = p; } public View getView() { return null; } public void requestNewAd() { } } tucnak-4.32/android/src/Video.java0000644000175000017500000007015212252076510013775 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import javax.microedition.khronos.opengles.GL10; import javax.microedition.khronos.opengles.GL11; import javax.microedition.khronos.opengles.GL11Ext; import javax.microedition.khronos.egl.EGL10; import javax.microedition.khronos.egl.EGL11; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.egl.EGLContext; import javax.microedition.khronos.egl.EGLDisplay; import javax.microedition.khronos.egl.EGLSurface; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.MotionEvent; import android.view.KeyEvent; import android.view.InputDevice; import android.view.Window; import android.view.WindowManager; import android.os.Environment; import java.io.File; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.content.res.Resources; import android.content.res.AssetManager; import android.widget.Toast; import android.widget.TextView; import java.lang.Thread; import java.util.concurrent.locks.ReentrantLock; import android.os.Build; import java.lang.reflect.Method; import java.util.LinkedList; import java.nio.ByteBuffer; import java.nio.ByteOrder; class Mouse { public static final int LEFT_CLICK_NORMAL = 0; public static final int LEFT_CLICK_NEAR_CURSOR = 1; public static final int LEFT_CLICK_WITH_MULTITOUCH = 2; public static final int LEFT_CLICK_WITH_PRESSURE = 3; public static final int LEFT_CLICK_WITH_KEY = 4; public static final int LEFT_CLICK_WITH_TIMEOUT = 5; public static final int LEFT_CLICK_WITH_TAP = 6; public static final int LEFT_CLICK_WITH_TAP_OR_TIMEOUT = 7; public static final int RIGHT_CLICK_NONE = 0; public static final int RIGHT_CLICK_WITH_MULTITOUCH = 1; public static final int RIGHT_CLICK_WITH_PRESSURE = 2; public static final int RIGHT_CLICK_WITH_KEY = 3; public static final int RIGHT_CLICK_WITH_TIMEOUT = 4; public static final int SDL_FINGER_DOWN = 0; public static final int SDL_FINGER_UP = 1; public static final int SDL_FINGER_MOVE = 2; public static final int SDL_FINGER_HOVER = 3; public static final int ZOOM_NONE = 0; public static final int ZOOM_MAGNIFIER = 1; public static final int ZOOM_SCREEN_TRANSFORM = 2; public static final int ZOOM_FULLSCREEN_MAGNIFIER = 3; } abstract class DifferentTouchInput { public abstract void process(final MotionEvent event); public abstract void processGenericEvent(final MotionEvent event); public static boolean ExternalMouseDetected = false; public static DifferentTouchInput getInstance() { boolean multiTouchAvailable1 = false; boolean multiTouchAvailable2 = false; // Not checking for getX(int), getY(int) etc 'cause I'm lazy Method methods [] = MotionEvent.class.getDeclaredMethods(); for(Method m: methods) { if( m.getName().equals("getPointerCount") ) multiTouchAvailable1 = true; if( m.getName().equals("getPointerId") ) multiTouchAvailable2 = true; } try { if( android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH ) { if(android.os.Build.MODEL.equals("GT-N7000") || android.os.Build.MODEL.equals("SGH-I717")) return GalaxyNoteIcsTouchInput.Holder.sInstance; return IcsTouchInput.Holder.sInstance; } if( android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD ) return XperiaPlayTouchpadTouchInput.Holder.sInstance; if (multiTouchAvailable1 && multiTouchAvailable2) return MultiTouchInput.Holder.sInstance; else return SingleTouchInput.Holder.sInstance; } catch( Exception e ) { try { if (multiTouchAvailable1 && multiTouchAvailable2) return MultiTouchInput.Holder.sInstance; else return SingleTouchInput.Holder.sInstance; } catch( Exception ee ) { return SingleTouchInput.Holder.sInstance; } } } private static class SingleTouchInput extends DifferentTouchInput { private static class Holder { private static final SingleTouchInput sInstance = new SingleTouchInput(); } @Override public void processGenericEvent(final MotionEvent event) { process(event); } public void process(final MotionEvent event) { int action = -1; if( event.getAction() == MotionEvent.ACTION_DOWN ) action = Mouse.SDL_FINGER_DOWN; if( event.getAction() == MotionEvent.ACTION_UP ) action = Mouse.SDL_FINGER_UP; if( event.getAction() == MotionEvent.ACTION_MOVE ) action = Mouse.SDL_FINGER_MOVE; if ( action >= 0 ) DemoGLSurfaceView.nativeMotionEvent( (int)event.getX(), (int)event.getY(), action, 0, (int)(event.getPressure() * 1000.0), (int)(event.getSize() * 1000.0) ); } } private static class MultiTouchInput extends DifferentTouchInput { public static final int TOUCH_EVENTS_MAX = 16; // Max multitouch pointers private class touchEvent { public boolean down = false; public int x = 0; public int y = 0; public int pressure = 0; public int size = 0; } protected touchEvent touchEvents[]; MultiTouchInput() { touchEvents = new touchEvent[TOUCH_EVENTS_MAX]; for( int i = 0; i < TOUCH_EVENTS_MAX; i++ ) touchEvents[i] = new touchEvent(); } private static class Holder { private static final MultiTouchInput sInstance = new MultiTouchInput(); } public void processGenericEvent(final MotionEvent event) { process(event); } public void process(final MotionEvent event) { int action = -1; //System.out.println("Got motion event, type " + (int)(event.getAction()) + " X " + (int)event.getX() + " Y " + (int)event.getY()); if( (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP || (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_CANCEL ) { action = Mouse.SDL_FINGER_UP; for( int i = 0; i < TOUCH_EVENTS_MAX; i++ ) { if( touchEvents[i].down ) { touchEvents[i].down = false; DemoGLSurfaceView.nativeMotionEvent( touchEvents[i].x, touchEvents[i].y, action, i, touchEvents[i].pressure, touchEvents[i].size ); } } } if( (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN ) { action = Mouse.SDL_FINGER_DOWN; for( int i = 0; i < event.getPointerCount(); i++ ) { int id = event.getPointerId(i); if( id >= TOUCH_EVENTS_MAX ) id = TOUCH_EVENTS_MAX - 1; touchEvents[id].down = true; touchEvents[id].x = (int)event.getX(i); touchEvents[id].y = (int)event.getY(i); touchEvents[id].pressure = (int)(event.getPressure(i) * 1000.0); touchEvents[id].size = (int)(event.getSize(i) * 1000.0); DemoGLSurfaceView.nativeMotionEvent( touchEvents[id].x, touchEvents[id].y, action, id, touchEvents[id].pressure, touchEvents[id].size ); } } if( (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_MOVE || (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_POINTER_DOWN || (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_POINTER_UP ) { /* String s = "MOVE: ptrs " + event.getPointerCount(); for( int i = 0 ; i < event.getPointerCount(); i++ ) { s += " p" + event.getPointerId(i) + "=" + (int)event.getX(i) + ":" + (int)event.getY(i); } System.out.println(s); */ int pointerReleased = -1; if( (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_POINTER_UP ) pointerReleased = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; for( int id = 0; id < TOUCH_EVENTS_MAX; id++ ) { int ii; for( ii = 0; ii < event.getPointerCount(); ii++ ) { if( id == event.getPointerId(ii) ) break; } if( ii >= event.getPointerCount() ) { // Up event if( touchEvents[id].down ) { action = Mouse.SDL_FINGER_UP; touchEvents[id].down = false; DemoGLSurfaceView.nativeMotionEvent( touchEvents[id].x, touchEvents[id].y, action, id, touchEvents[id].pressure, touchEvents[id].size ); } } else { if( pointerReleased == id && touchEvents[pointerReleased].down ) { action = Mouse.SDL_FINGER_UP; touchEvents[id].down = false; } else if( touchEvents[id].down ) { action = Mouse.SDL_FINGER_MOVE; } else { action = Mouse.SDL_FINGER_DOWN; touchEvents[id].down = true; } touchEvents[id].x = (int)event.getX(ii); touchEvents[id].y = (int)event.getY(ii); touchEvents[id].pressure = (int)(event.getPressure(ii) * 1000.0); touchEvents[id].size = (int)(event.getSize(ii) * 1000.0); DemoGLSurfaceView.nativeMotionEvent( touchEvents[id].x, touchEvents[id].y, action, id, touchEvents[id].pressure, touchEvents[id].size ); } } } if( (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_HOVER_MOVE ) // Support bluetooth/USB mouse - available since Android 3.1 { // TODO: it is possible that multiple pointers return that event, but we're handling only pointer #0 if( touchEvents[0].down ) action = Mouse.SDL_FINGER_UP; else action = Mouse.SDL_FINGER_HOVER; touchEvents[0].down = false; touchEvents[0].x = (int)event.getX(); touchEvents[0].y = (int)event.getY(); touchEvents[0].pressure = 0; touchEvents[0].size = 0; DemoGLSurfaceView.nativeMotionEvent( touchEvents[0].x, touchEvents[0].y, action, 0, touchEvents[0].pressure, touchEvents[0].size ); } } } private static class XperiaPlayTouchpadTouchInput extends MultiTouchInput { private static class Holder { private static final XperiaPlayTouchpadTouchInput sInstance = new XperiaPlayTouchpadTouchInput(); } float xmin = 0.0f; float xmax = 1.0f; float ymin = 0.0f; float ymax = 1.0f; float minRange = 1.0f; float xshift = 0.0f; XperiaPlayTouchpadTouchInput() { super(); int[] devIds = InputDevice.getDeviceIds(); for( int id : devIds ) { InputDevice device = InputDevice.getDevice(id); if( device == null ) continue; // System.out.println("tucnak: input device ID " + id + " type " + device.getSources() + " name " + device.getName() ); if( (device.getSources() & InputDevice.SOURCE_TOUCHPAD) != InputDevice.SOURCE_TOUCHPAD ) continue; // System.out.println("tucnak: input device ID " + id + " type " + device.getSources() + " name " + device.getName() + " is a touchpad" ); InputDevice.MotionRange range = device.getMotionRange(MotionEvent.AXIS_X /*, InputDevice.SOURCE_TOUCHPAD*/); if(range != null) { xmin = range.getMin(); xmax = range.getMax() - range.getMin(); // System.out.println("tucnak: touch pad X range " + xmin + ":" + xmax ); } range = device.getMotionRange(MotionEvent.AXIS_Y /*, InputDevice.SOURCE_TOUCHPAD*/); if(range != null) { ymin = range.getMin(); ymax = range.getMax() - range.getMin(); // System.out.println("tucnak: touch pad Y range " + ymin + ":" + ymax ); } // Xperia Play has long wide touchpad with joystick-like embossing on the sides, so we'll leave only a left joystick to function // I don't know how to use the second joystick, so I'll just ignore it for now minRange = Math.min( Math.abs(ymax - ymin), Math.abs(xmax - xmin) ); xshift = xmax - minRange; } } public void process(final MotionEvent event) { boolean hwMouseEvent = ( event.getSource() == InputDevice.SOURCE_MOUSE || event.getSource() == InputDevice.SOURCE_STYLUS || (event.getMetaState() & KeyEvent.FLAG_TRACKING) != 0 ); // Hack to recognize Galaxy Note Gingerbread stylus if( ExternalMouseDetected != hwMouseEvent ) { ExternalMouseDetected = hwMouseEvent; DemoGLSurfaceView.nativeHardwareMouseDetected(hwMouseEvent ? 1 : 0); } super.process(event); } public void processGenericEvent(final MotionEvent event) { if( event.getSource() != InputDevice.SOURCE_TOUCHPAD ) { process(event); return; } /* int x = (int)((event.getX() - xmin) / xmax * 65535.0f); int y = (int)((event.getY() - ymin) / ymax * 65535.0f); */ // Use only right square part of a touch surface - I've heard reports that it breaks functionality, feel free to uncomment and test it. int x = (int)((event.getX() - xshift) / minRange * 65535.0f); int y = (int)((event.getY() - ymin) / minRange * 65535.0f); if( x > 65535 ) x = 65535; if( x < 0 ) x = 0; if( y > 65535 ) y = 65535; if( y < 0 ) y = 0; int down = 1; int multitouch = event.getPointerCount() - 1; if( (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP || (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_CANCEL ) down = 0; // TODO: we're processing only one touch pointer, touchpad will most probably support multitouch //System.out.println("tucnak: touch pad event: " + x + ":" + y + " action " + event.getAction() + " down " + down + " multitouch " + multitouch ); DemoGLSurfaceView.nativeTouchpad( x, 65535 - y, down, multitouch ); // Y axis is inverted, as you may have guessed } } private static class IcsTouchInput extends XperiaPlayTouchpadTouchInput { private static class Holder { private static final IcsTouchInput sInstance = new IcsTouchInput(); } private int buttonState = 0; public void process(final MotionEvent event) { //System.out.println("Got motion event, type " + (int)(event.getAction()) + " X " + (int)event.getX() + " Y " + (int)event.getY() + " buttons " + buttonState + " source " + event.getSource()); int buttonStateNew = event.getButtonState(); if( buttonStateNew != buttonState ) { for( int i = 1; i <= MotionEvent.BUTTON_FORWARD; i *= 2 ) { if( (buttonStateNew & i) != (buttonState & i) ) DemoGLSurfaceView.nativeMouseButtonsPressed(i, ((buttonStateNew & i) == 0) ? 0 : 1); } buttonState = buttonStateNew; } super.process(event); // Push mouse coordinate first } public void processGenericEvent(final MotionEvent event) { // Process mousewheel if( event.getAction() == MotionEvent.ACTION_SCROLL ) { int scrollX = Math.round(event.getAxisValue(MotionEvent.AXIS_HSCROLL)); int scrollY = Math.round(event.getAxisValue(MotionEvent.AXIS_VSCROLL)); DemoGLSurfaceView.nativeMouseWheel(scrollX, scrollY); return; } super.processGenericEvent(event); } } private static class GalaxyNoteIcsTouchInput extends IcsTouchInput { private static class Holder { private static final GalaxyNoteIcsTouchInput sInstance = new GalaxyNoteIcsTouchInput(); } public void process(final MotionEvent event) { // HACK for Galaxy Note stylus, which pushes the cursor to the lower-right part of the screen, when you lift the stylus. // Also it reports the stylus as the mouse if(! (event.getSource() == InputDevice.SOURCE_MOUSE && (int)event.getX() == 0 && (int)event.getY() == 799)) super.process(event); } } } class DemoRenderer extends GLSurfaceView_SDL.Renderer { public void DisableScreensaver() { class Callback implements Runnable { public MainActivity parent; public void run() { parent.getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } } System.out.println("tucnak: ----------------- DisableScreensaver "); Callback cb = new Callback(); cb.parent = context; context.runOnUiThread(cb); } public DemoRenderer(MainActivity _context) { context = _context; } public void onSurfaceCreated(GL10 gl, EGLConfig config) { // System.out.println("tucnak: DemoRenderer.onSurfaceCreated(): paused " + mPaused + " mFirstTimeStart " + mFirstTimeStart ); mGlSurfaceCreated = true; mGl = gl; if( ! mPaused && ! mFirstTimeStart ) nativeGlContextRecreated(); mFirstTimeStart = false; } public void onSurfaceChanged(GL10 gl, int w, int h) { // System.out.println("tucnak: DemoRenderer.onSurfaceChanged(): paused " + mPaused + " mFirstTimeStart " + mFirstTimeStart ); mWidth = w; mHeight = h; mGl = gl; nativeResize(w, h, Globals.KeepAspectRatio ? 1 : 0); } public void onSurfaceDestroyed() { // System.out.println("tucnak: DemoRenderer.onSurfaceDestroyed(): paused " + mPaused + " mFirstTimeStart " + mFirstTimeStart ); mGlSurfaceCreated = false; mGlContextLost = true; nativeGlContextLost(); }; public void onDrawFrame(GL10 gl) { mGl = gl; DrawLogo(mGl); SwapBuffers(); nativeInitJavaCallbacks(); if (context.SavedBundle == null){ System.out.println("tucnak: bundle=null, not calling nativeSetState -------"); }else{ System.out.println("tucnak: Calling nativeSetState ------------"); for (String key: context.SavedBundle.keySet()){ if (key.equals("android:viewHierarchyState")) continue; // System.out.println("tucnak: callint nativeSetState(key='" + key + "')"); // System.out.println("tucnak: callint nativeSetState(key='" + key + "' val='" + context.SavedBundle.getString(key) + "')"); context.nativeSetState(key, context.SavedBundle.getString(key)); // System.out.println("tucnak: nativeSetState returned"); } System.out.println("tucnak: nativeSetState exited"); } // Make main thread priority lower so audio thread won't get underrun // Thread.currentThread().setPriority((Thread.currentThread().getPriority() + Thread.MIN_PRIORITY)/2); mGlContextLost = false; MainActivity.LoadApplicationLibrary(context); context.nativeInitJavaCallbacks(); context.NativeAlive = true; context.SendLocation(); Settings.Apply(context); accelerometer = new AccelerometerReader(context); // Tweak video thread priority, if user selected big audio buffer if(Globals.AudioBufferConfig >= 2) Thread.currentThread().setPriority( (Thread.NORM_PRIORITY + Thread.MIN_PRIORITY) / 2 ); // Lower than normal // Calls main() and never returns, hehe - we'll call eglSwapBuffers() from native code System.out.println("tucnak: calling nativeInit DataDir=" + Globals.DataDir); nativeInit( Globals.DataDir, Globals.CommandLine, ( (Globals.SwVideoMode && Globals.MultiThreadedVideo) || Globals.CompatibilityHacksVideo ) ? 1 : 0, android.os.Debug.isDebuggerConnected() ? 1 : 0 ); System.exit(0); // The main() returns here - I don't bother with deinit stuff, just terminate process } public int swapBuffers() // Called from native code { if( ! super.SwapBuffers() && Globals.NonBlockingSwapBuffers ) { if(mRatelimitTouchEvents) { synchronized(this) { this.notify(); } } return 0; } if(mGlContextLost) { mGlContextLost = false; Settings.SetupTouchscreenKeyboardGraphics(context); // Reload on-screen buttons graphics DrawLogo(mGl); super.SwapBuffers(); } // Unblock event processing thread only after we've finished rendering if(mRatelimitTouchEvents) { synchronized(this) { this.notify(); } } return 1; } public void showScreenKeyboardWithoutTextInputField() // Called from native code { class Callback implements Runnable { public MainActivity parent; public void run() { parent.showScreenKeyboardWithoutTextInputField(); } } Callback cb = new Callback(); cb.parent = context; context.runOnUiThread(cb); } public void showScreenKeyboard(final String oldText, int sendBackspace) // Called from native code { class Callback implements Runnable { public MainActivity parent; public String oldText; public boolean sendBackspace; public void run() { parent.showScreenKeyboard(oldText, sendBackspace); } } Callback cb = new Callback(); cb.parent = context; cb.oldText = oldText; cb.sendBackspace = (sendBackspace != 0); context.runOnUiThread(cb); } public void hideScreenKeyboard() // Called from native code { class Callback implements Runnable { public MainActivity parent; public void run() { parent.hideScreenKeyboard(); } } Callback cb = new Callback(); cb.parent = context; context.runOnUiThread(cb); } public int isScreenKeyboardShown() // Called from native code { return context.isScreenKeyboardShown() ? 1 : 0; } public void exitApp() { nativeDone(); } public void getAdvertisementParams(int params[]) { context.getAdvertisementParams(params); } public void setAdvertisementVisible(int visible) { context.setAdvertisementVisible(visible); } public void setAdvertisementPosition(int left, int top) { context.setAdvertisementPosition(left, top); } public void requestNewAdvertisement() { context.requestNewAdvertisement(); } private int PowerOf2(int i) { int value = 1; while (value < i) value <<= 1; return value; } public void DrawLogo(GL10 gl) { /* // TODO: this not quite works, as it seems System.out.println("tucnak: DemoRenderer.DrawLogo"); BitmapDrawable bmp = null; try { bmp = new BitmapDrawable(context.getAssets().open("logo.png")); } catch(Exception e) { bmp = new BitmapDrawable(context.getResources().openRawResource(R.drawable.publisherlogo)); } int width = bmp.getBitmap().getWidth(); int height = bmp.getBitmap().getHeight(); ByteBuffer byteBuffer = ByteBuffer.allocateDirect(4 * width * height); //byteBuffer.order(ByteOrder.BIG_ENDIAN); bmp.getBitmap().copyPixelsToBuffer(byteBuffer); byteBuffer.position(0); gl.glViewport(0, 0, mWidth, mHeight); gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.glClear(gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT); gl.glColor4x(0x10000, 0x10000, 0x10000, 0x10000); gl.glPixelStorei(gl.GL_UNPACK_ALIGNMENT, 1); gl.glEnable(GL10.GL_TEXTURE_2D); int textureName = -1; int mTextureNameWorkspace[] = new int[1]; int mCropWorkspace[] = new int[4]; gl.glGenTextures(1, mTextureNameWorkspace, 0); textureName = mTextureNameWorkspace[0]; gl.glBindTexture(GL10.GL_TEXTURE_2D, textureName); gl.glActiveTexture(textureName); gl.glClientActiveTexture(textureName); gl.glTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGBA, PowerOf2(width), PowerOf2(height), 0, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, null); gl.glTexSubImage2D(GL10.GL_TEXTURE_2D, 0, 0, 0, width, height, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, byteBuffer); mCropWorkspace[0] = 0; // u mCropWorkspace[1] = height; // v mCropWorkspace[2] = width; mCropWorkspace[3] = -height; ((GL11) gl).glTexParameteriv(GL10.GL_TEXTURE_2D, GL11Ext.GL_TEXTURE_CROP_RECT_OES, mCropWorkspace, 0); ((GL11Ext) gl).glDrawTexiOES(0, -mHeight, 0, mWidth, mHeight); gl.glActiveTexture(0); gl.glClientActiveTexture(0); gl.glBindTexture(GL10.GL_TEXTURE_2D, 0); gl.glDeleteTextures(1, mTextureNameWorkspace, 0); gl.glFlush();*/ } private native void nativeInitJavaCallbacks(); private native void nativeInit(String CurrentPath, String CommandLine, int multiThreadedVideo, int isDebuggerConnected); private native void nativeResize(int w, int h, int keepAspectRatio); private native void nativeDone(); private native void nativeGlContextLost(); public native void nativeGlContextRecreated(); public native void nativeGlContextLostAsyncEvent(); public static native void nativeTextInput( int ascii, int unicode ); public static native void nativeTextInputFinished(); private MainActivity context = null; public AccelerometerReader accelerometer = null; private GL10 mGl = null; private EGL10 mEgl = null; private EGLDisplay mEglDisplay = null; private EGLSurface mEglSurface = null; private EGLContext mEglContext = null; private boolean mGlContextLost = false; public boolean mGlSurfaceCreated = false; public boolean mPaused = false; private boolean mFirstTimeStart = true; public int mWidth = 0; public int mHeight = 0; public static final boolean mRatelimitTouchEvents = true; //(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO); } class DemoGLSurfaceView extends GLSurfaceView_SDL { public DemoGLSurfaceView(MainActivity context) { super(context); mParent = context; touchInput = DifferentTouchInput.getInstance(); setEGLConfigChooser(Globals.VideoDepthBpp, Globals.NeedDepthBuffer, Globals.NeedStencilBuffer, Globals.NeedGles2); mRenderer = new DemoRenderer(context); setRenderer(mRenderer); } @Override public boolean onTouchEvent(final MotionEvent event) { touchInput.process(event); if( DemoRenderer.mRatelimitTouchEvents ) { limitEventRate(event); } return true; }; @Override public boolean onGenericMotionEvent (final MotionEvent event) { touchInput.processGenericEvent(event); if( DemoRenderer.mRatelimitTouchEvents ) { limitEventRate(event); } return true; } public void limitEventRate(final MotionEvent event) { // Wait a bit, and try to synchronize to app framerate, or event thread will eat all CPU and we'll lose FPS // With Froyo the rate of touch events seems to be limited by OS, but they are arriving faster then we're redrawing anyway if((event.getAction() == MotionEvent.ACTION_MOVE || event.getAction() == MotionEvent.ACTION_HOVER_MOVE)) { synchronized(mRenderer) { try { mRenderer.wait(300L); // And sometimes the app decides not to render at all, so this timeout should not be big. } catch (InterruptedException e) { } } } } public void exitApp() { mRenderer.exitApp(); }; @Override public void onPause() { if(mRenderer.mPaused) return; mRenderer.mPaused = true; mRenderer.nativeGlContextLostAsyncEvent(); if( mRenderer.accelerometer != null ) // For some reason it crashes here often - are we getting this event before initialization? mRenderer.accelerometer.stop(); super.onPause(); }; public boolean isPaused() { return mRenderer.mPaused; } @Override public void onResume() { if(!mRenderer.mPaused) return; mRenderer.mPaused = false; super.onResume(); // System.out.println("tucnak: DemoGLSurfaceView.onResume(): mRenderer.mGlSurfaceCreated " + mRenderer.mGlSurfaceCreated + " mRenderer.mPaused " + mRenderer.mPaused); if( mRenderer.mGlSurfaceCreated && ! mRenderer.mPaused || Globals.NonBlockingSwapBuffers ) mRenderer.nativeGlContextRecreated(); if( mRenderer.accelerometer != null ) // For some reason it crashes here often - are we getting this event before initialization? mRenderer.accelerometer.start(); }; // This seems like redundant code - it handled in MainActivity.java @Override public boolean onKeyDown(int keyCode, final KeyEvent event) { // System.out.println("tucnak: Got key down event, id " + keyCode + " meta " + event.getMetaState() + " event " + event.toString()); if( nativeKey( keyCode, 1 ) == 0 ) return super.onKeyDown(keyCode, event); return true; } @Override public boolean onKeyUp(int keyCode, final KeyEvent event) { //System.out.println("Got key up event, id " + keyCode + " meta " + event.getMetaState()); if( nativeKey( keyCode, 0 ) == 0 ) return super.onKeyUp(keyCode, event); return true; } DemoRenderer mRenderer; MainActivity mParent; DifferentTouchInput touchInput = null; public static native void nativeMotionEvent( int x, int y, int action, int pointerId, int pressure, int radius ); public static native int nativeKey( int keyCode, int down ); public static native void nativeTouchpad( int x, int y, int down, int multitouch ); public static native void initJavaCallbacks(); public static native void nativeHardwareMouseDetected( int detected ); public static native void nativeMouseButtonsPressed( int buttonId, int pressedState ); public static native void nativeMouseWheel(int scrollX, int scrollY); } tucnak-4.32/android/src/Globals.java0000644000175000017500000001416714037062434014321 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import android.app.Activity; import android.content.Context; import java.util.Vector; import android.view.KeyEvent; class Globals { // These config options are modified by ChangeAppsettings.sh script - see the detailed descriptions there public static String ApplicationName = "Tucnak"; public static String AppLibraries[] = { "sdl-1.2", "glib-2.0", "gthread-2.0", "pngfkk", /*"usb", "ftdi",*/ "iconv", "zia", "hamlib", "sndfile"}; public static final boolean Using_SDL_1_3 = false; public static String DataDownloadUrl = "Data files are 2 Mb|https://sourceforge.net/projects/libsdl-android/files/CommanderGenius/commandergenius-data.zip/download^High-quality GFX and music - 40 Mb|https://sourceforge.net/projects/libsdl-android/files/CommanderGenius/commandergenius-hqp.zip/download"; public static int VideoDepthBpp = 16; public static boolean SwVideoMode = false; public static boolean NeedDepthBuffer = false; public static boolean NeedStencilBuffer = false; public static boolean NeedGles2 = false; public static boolean CompatibilityHacksVideo = false; public static boolean CompatibilityHacksTextInputEmulatesHwKeyboard = false; public static boolean HorizontalOrientation = true; public static boolean InhibitSuspend = false; public static String ReadmeText = "^You may press \"Home\" now - the data will be downloaded in background".replace("^","\n"); public static String CommandLine = ""; public static boolean AppUsesMouse = true; public static boolean AppNeedsTwoButtonMouse = false; public static boolean ForceRelativeMouseMode = false; // If both on-screen keyboard and mouse are needed, this will only set the default setting, user may override it later public static boolean ShowMouseCursor = false; public static boolean AppNeedsArrowKeys = true; public static boolean AppNeedsTextInput = true; public static boolean AppUsesJoystick = false; public static boolean AppUsesAccelerometer = false; public static boolean AppUsesMultitouch = false; public static boolean NonBlockingSwapBuffers = false; public static boolean ResetSdlConfigForThisVersion = false; public static String DeleteFilesOnUpgrade = ""; public static int AppTouchscreenKeyboardKeysAmount = 0; public static int AppTouchscreenKeyboardKeysAmountAutoFire = 1; public static int StartupMenuButtonTimeout = 0; public static int AppMinimumRAM = 0; public static Settings.Menu HiddenMenuOptions [] = {}; public static Settings.Menu FirstStartMenuOptions [] = { (AppUsesMouse && ! ForceRelativeMouseMode ? new Settings.DisplaySizeConfig(true) : new Settings.DummyMenu()), new Settings.OptionalDownloadConfig(true) }; public static String AdmobPublisherId = ""; public static String AdmobTestDeviceId = ""; public static String AdmobBannerSize = ""; // Phone-specific config, modified by user in "Change phone config" startup dialog, TODO: move this to settings public static boolean DownloadToSdcard = true; public static boolean PhoneHasTrackball = false; public static boolean PhoneHasArrowKeys = true; public static boolean UseAccelerometerAsArrowKeys = false; public static boolean UseTouchscreenKeyboard = false; public static int TouchscreenKeyboardSize = 5; public static int TouchscreenKeyboardDrawSize = 1; public static int TouchscreenKeyboardTheme = 2; public static int TouchscreenKeyboardTransparency = 2; public static int AccelerometerSensitivity = 2; public static int AccelerometerCenterPos = 2; public static int TrackballDampening = 0; public static int AudioBufferConfig = 0; public static boolean OptionalDataDownload[] = null; public static int LeftClickMethod = Mouse.LEFT_CLICK_NORMAL; public static int LeftClickKey = KeyEvent.KEYCODE_DPAD_CENTER; public static int LeftClickTimeout = 3; public static int RightClickTimeout = 4; public static int RightClickMethod = AppNeedsTwoButtonMouse ? Mouse.RIGHT_CLICK_WITH_MULTITOUCH : Mouse.RIGHT_CLICK_NONE; public static int RightClickKey = KeyEvent.KEYCODE_MENU; public static boolean MoveMouseWithJoystick = false; public static int MoveMouseWithJoystickSpeed = 0; public static int MoveMouseWithJoystickAccel = 0; public static boolean ClickMouseWithDpad = false; public static boolean RelativeMouseMovement = ForceRelativeMouseMode; // Laptop touchpad mode public static int RelativeMouseMovementSpeed = 2; public static int RelativeMouseMovementAccel = 0; public static int ShowScreenUnderFinger = Mouse.ZOOM_NONE; public static boolean KeepAspectRatio = false; public static int ClickScreenPressure = 0; public static int ClickScreenTouchspotSize = 0; public static int RemapHwKeycode[] = new int[SDL_Keys.JAVA_KEYCODE_LAST]; public static int RemapScreenKbKeycode[] = new int[6]; public static boolean ScreenKbControlsShown[] = new boolean[8]; /* Also joystick and text input button added */ public static int ScreenKbControlsLayout[][] = new int[8][4]; public static int RemapMultitouchGestureKeycode[] = new int[4]; public static boolean MultitouchGesturesUsed[] = new boolean[4]; public static int MultitouchGestureSensitivity = 1; public static int TouchscreenCalibration[] = new int[4]; public static String DataDir = new String(""); public static boolean VideoLinearFilter = true; public static boolean MultiThreadedVideo = false; public static boolean BrokenLibCMessageShown = false; } tucnak-4.32/android/src/Makefile.in0000644000175000017500000002777414125266462014155 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = android/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = Accelerometer.java Advertisement.java Audio.java DataDownloader.java \ Globals.java GLSurfaceView_SDL.java Keycodes.java MainActivity.java \ Settings.java Video.java all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu android/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu android/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/android/src/Audio.java0000644000175000017500000000711712052426441013771 00000000000000/* Simple DirectMedia Layer Java source code (C) 2009-2012 Sergii Pylypenko This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ package cz.nagano.tucnak; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.MotionEvent; import android.view.KeyEvent; import android.view.Window; import android.view.WindowManager; import android.media.AudioTrack; import android.media.AudioManager; import android.media.AudioFormat; import java.io.*; import android.util.Log; import java.lang.Thread; class AudioThread { private MainActivity mParent; private AudioTrack mAudio; private byte[] mAudioBuffer; private int mVirtualBufSize; public AudioThread(MainActivity parent) { mParent = parent; mAudio = null; mAudioBuffer = null; nativeAudioInitJavaCallbacks(); } public int fillBuffer() { if( mParent.isPaused() ) { try{ Thread.sleep(500); } catch (InterruptedException e) {} } else { //if( Globals.AudioBufferConfig == 0 ) // Gives too much spam to logcat, makes things worse // mAudio.flush(); mAudio.write( mAudioBuffer, 0, mVirtualBufSize ); } return 1; } public int initAudio(int rate, int channels, int encoding, int bufSize) { if( mAudio == null ) { channels = ( channels == 1 ) ? AudioFormat.CHANNEL_CONFIGURATION_MONO : AudioFormat.CHANNEL_CONFIGURATION_STEREO; encoding = ( encoding == 1 ) ? AudioFormat.ENCODING_PCM_16BIT : AudioFormat.ENCODING_PCM_8BIT; mVirtualBufSize = bufSize; if( AudioTrack.getMinBufferSize( rate, channels, encoding ) > bufSize ) bufSize = AudioTrack.getMinBufferSize( rate, channels, encoding ); if(Globals.AudioBufferConfig != 0) { // application's choice - use minimal buffer bufSize = (int)((float)bufSize * (((float)(Globals.AudioBufferConfig - 1) * 2.5f) + 1.0f)); mVirtualBufSize = bufSize; } mAudioBuffer = new byte[bufSize]; mAudio = new AudioTrack(AudioManager.STREAM_MUSIC, rate, channels, encoding, bufSize, AudioTrack.MODE_STREAM ); mAudio.play(); } return mVirtualBufSize; } public byte[] getBuffer() { return mAudioBuffer; } public int deinitAudio() { if( mAudio != null ) { mAudio.stop(); mAudio.release(); mAudio = null; } mAudioBuffer = null; return 1; } public int initAudioThread() { // Make audio thread priority higher so audio thread won't get underrun Thread.currentThread().setPriority(Thread.MAX_PRIORITY); return 1; } public int pauseAudioPlayback() { if( mAudio != null ) { mAudio.pause(); return 1; } return 0; } public int resumeAudioPlayback() { if( mAudio != null ) { mAudio.play(); return 1; } return 0; } private native int nativeAudioInitJavaCallbacks(); } tucnak-4.32/android/nagup0000644000175000017500000000043314125267033012330 00000000000000#!/bin/bash echo rsync bin/Tucnak-4.32.apk rsync://ok1zia@nagano.cz/ok1zia/pub/tucnak/a set | grep RSYNC_PASSWORD rm -f bin/Tucnak.apk ln -s Tucnak-4.32.apk bin/Tucnak.apk rsync -av --partial --progress bin/Tucnak-4.32.apk bin/Tucnak.apk rsync://ok1zia@nagano.cz/ok1zia/pub/tucnak/a tucnak-4.32/android/local.properties0000644000175000017500000000062612052426441014504 00000000000000# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must *NOT* be checked into Version Control Systems, # as it contains information specific to your local configuration. # location of the SDK. This is only used by Ant # For customization when using a Version Control System, please read the # header note. sdk.dir=/home/ja/sdk tucnak-4.32/android/tucnak-compile0000755000175000017500000000157314035370710014137 00000000000000#!/bin/bash set -e set -x tmp=`dirname $0` TUCNAK=`readlink -f $tmp/../src` target= if [ "$1" = "clean" ]; then target="clean"; fi cd $TUCNAK/.. ./svnver.sh cd $TUCNAK/../android export LC_CTYPE="cs_CZ.ISO-8859-2" # iconv -f iso8859-2 -t us-ascii//TRANSLIT ../src/language.inc >../src/langascii.inc # BUILD_STATIC=true ndk-build \ CFLAGS=-finput-charset=iso88592 -I/home/ja/c/libzia/include \ APP_BUILD_SCRIPT=../src/Android.mk \ SDL_JAVA_PACKAGE_PATH=cz_nagano_tucnak \ APP_PLATFORM=android-14 \ APP_ABI=armeabi-v7a \ GLIB_TOP=$HOME/c/glib \ SDL_TOP=$HOME/c/libsdl/project \ PNG_TOP=$HOME/c/libpng14 \ USB_TOP=$HOME/c/libusb \ FTDI_TOP=$HOME/c/libftdi \ ZIA_TOP=$HOME/c/libzia \ ICONV_TOP=$HOME/c/libiconv \ HAMLIB_TOP=$HOME/c/hamlib \ SNDFILE_TOP=$HOME/c/libsndfile \ V=1 \ $target \ # NDK_PROJECT_PATH=$TUCNAK \ tucnak-4.32/android/Makefile.in0000644000175000017500000004546614125266462013364 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = android ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = AndroidManifest.xml nagup tucnak-package CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/AndroidManifest.xml.in \ $(srcdir)/Makefile.in $(srcdir)/nagup.in \ $(srcdir)/tucnak-package.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = AndroidManifest.xml AndroidManifest.xml.in build.xml local.properties \ nagup nagup.in project.properties repositories.txt \ res/drawable/icon.png res/values/strings.xml \ tucnak-all tucnak-compile tucnak-package tucnak-package.in SUBDIRS = src all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu android/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu android/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): AndroidManifest.xml: $(top_builddir)/config.status $(srcdir)/AndroidManifest.xml.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ nagup: $(top_builddir)/config.status $(srcdir)/nagup.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ tucnak-package: $(top_builddir)/config.status $(srcdir)/tucnak-package.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/android/tucnak-all0000755000175000017500000000106112367505332013255 00000000000000#!/bin/bash set -e MAKEFLAGS=-j2 host=`cat /etc/hostname` if [ $host = "ok1zia" ]; then export PATH=/mnt/data/sw/android/jdk1.7.0_10/bin:/mnt/data/sw/android/jdk1.7.0_10/jre/bin:$PATH fi ~/c/libzia/android/libzia-compile ./tucnak-compile chmod +x tucnak-package ./tucnak-package $@ if [ "$1" = "a" ]; then bash ./nagup else set -x adb install -r bin/Tucnak-debug.apk 2>&1 |tee _del.tmp grep -q "Success" _del.tmp # we have set -e adb shell am start -n cz.nagano.tucnak/.MainActivity adb logcat | egrep -i 'sdl|tucnak' fi tucnak-4.32/android/tucnak-package.in0000755000175000000410000000343413711051764014502 00000000000000#!/bin/bash set -e set -x tmp=`dirname $0` ANDROID=`readlink -f $tmp` rm -f $ANDROID/libs/armeabi-v7a/* #cp ~/c/libsdl/project/libs/armeabi/libsdl-1.2.so $ANDROID/libs/armeabi #cp ~/c/libsdl/project/libs/armeabi/libsdl_main.so $ANDROID/libs/armeabi #cp ~/c/glib/obj/local/armeabi/libglib-2.0.so $ANDROID/libs/armeabi #cp ~/c/glib/obj/local/armeabi/libgthread-2.0.so $ANDROID/libs/armeabi #cp ~/c/libiconv/libs/armeabi/libiconv.so $ANDROID/libs/armeabi #cp ~/c/libpng14/libs/armeabi/libpngfkk.so $ANDROID/libs/armeabi #cp ~/c/hamlib/libs/armeabi/libhamlib.so $ANDROID/libs/armeabi #cp ~/c/libsndfile/libs/armeabi/libsndfile.so $ANDROID/libs/armeabi #cp ~/c/libusb/libs/armeabi/*.so $ANDROID/libs/armeabi #cp ~/c/libftdi/libs/armeabi/*.so $ANDROID/libs/armeabi #cp ~/c/libzia/src/obj/local/armeabi/libzia.so $ANDROID/libs/armeabi #cp ~/c/tucnak/android/obj/local/armeabi/libapplication.so $ANDROID/libs/armeabi cp ~/c/libzia/src/obj/local/armeabi-v7a/libsdl-1.2.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libglib-2.0.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libgthread-2.0.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libiconv.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libpngfkk.so $ANDROID/libs/armeabi-v7a cp ~/c/libzia/src/obj/local/armeabi-v7a/libzia.so $ANDROID/libs/armeabi-v7a cp ~/c/libsndfile/libs/armeabi-v7a/libsndfile.so $ANDROID/libs/armeabi-v7a cp ~/c/tucnak/android/obj/local/armeabi-v7a/libsdl_main.so $ANDROID/libs/armeabi-v7a cp ~/c/tucnak/android/obj/local/armeabi-v7a/libapplication.so $ANDROID/libs/armeabi-v7a cd $ANDROID if [ -n "$1" ]; then ant release cp bin/Tucnak-release.apk bin/Tucnak-@VERSION@.apk else ant debug cp bin/Tucnak-debug.apk bin/Tucnak-@VERSION@.apk fi tucnak-4.32/android/AndroidManifest.xml0000644000175000017500000000347714125267033015077 00000000000000 tucnak-4.32/android/project.properties0000644000175000000410000000106313711051764015051 00000000000000# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system edit # "ant.properties", and override values to adapt the script to your # project structure. # # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. target=android-16 tucnak-4.32/compile0000755000175000017500000001624512632516463011246 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: tucnak-4.32/configure0000755000175000017500000075560214125263646011607 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for tucnak 4.32. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='tucnak' PACKAGE_TARNAME='tucnak' PACKAGE_VERSION='4.32' PACKAGE_STRING='tucnak 4.32' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="src/main.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS VERSIONCODE TUCNAK_LDADD RPM_RELEASE RPM_SOURCESDIR HAVE_RPM_PACKAGING HAVE_RPM LIBRTLSDR_LIBS LIBRTLSDR_CFLAGS HAMLIB_LIBS HAMLIB_CFLAGS SNDFILE_LIBS SNDFILE_CFLAGS GTHREAD_LIBS GTHREAD_CFLAGS GLIB_LIBS GLIB_CFLAGS zia_LIBS zia_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG HAVE_PKGCONFIG HAVE_MAKE EGREP GREP CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_opt with_pkg with_gpm with_sndfile with_alsa with_hamlib with_fftw3 with_portaudio enable_pedantic enable_leak_debug enable_instr ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR zia_CFLAGS zia_LIBS GLIB_CFLAGS GLIB_LIBS GTHREAD_CFLAGS GTHREAD_LIBS SNDFILE_CFLAGS SNDFILE_LIBS HAMLIB_CFLAGS HAMLIB_LIBS LIBRTLSDR_CFLAGS LIBRTLSDR_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures tucnak 4.32 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/tucnak] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of tucnak 4.32:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-opt Disable compiling optimisation (-O0) --enable-pedantic Enable pedantic gcc checking(-Wall etc.) --enable-leak-debug Enable memory leak debug --enable-instr Enable instrument call trace Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pkg Set package identifier for automatic update (default: bin) --with-gpm Build without GPM support (default: without) --without-sndfile Build without sndfile library (default: test) --without-alsa Build without alsa library for audio i/o (default: test) --without-hamlib Build without Hamlib support (default: test) --without-fftw3 Build without fftw3 library (default: test) --without-portaudio Build without portaudio library (default: test) Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path zia_CFLAGS C compiler flags for zia, overriding pkg-config zia_LIBS linker flags for zia, overriding pkg-config GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config GLIB_LIBS linker flags for GLIB, overriding pkg-config GTHREAD_CFLAGS C compiler flags for GTHREAD, overriding pkg-config GTHREAD_LIBS linker flags for GTHREAD, overriding pkg-config SNDFILE_CFLAGS C compiler flags for SNDFILE, overriding pkg-config SNDFILE_LIBS linker flags for SNDFILE, overriding pkg-config HAMLIB_CFLAGS C compiler flags for HAMLIB, overriding pkg-config HAMLIB_LIBS linker flags for HAMLIB, overriding pkg-config LIBRTLSDR_CFLAGS C compiler flags for LIBRTLSDR, overriding pkg-config LIBRTLSDR_LIBS linker flags for LIBRTLSDR, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF tucnak configure 4.32 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 &5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by tucnak $as_me 4.32, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if ${ac_cv_target+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- am__api_version='1.15' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='tucnak' VERSION='4.32' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' test x$prefix = "xNONE" && prefix="$ac_default_prefix" if test -f "/etc/debian_version"; then echo "TIP: If following test fails, try to run: apt-get install libc6-dev" fi if test -f "/etc/SuSE-release"; then echo "TIP: If following test fails, try to run: yast -i gcc" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi tucnak_cc_ver=$($CC -dumpversion) # --disable-opt opt='-O2' # Check whether --enable-opt was given. if test "${enable_opt+set}" = set; then : enableval=$enable_opt; disable_opt=yes else disable_opt=no fi if test x"$disable_opt" = x"yes"; then CFLAGS=$(echo "$CFLAGS"|sed 's/-O2/-O0/') opt='-O0' fi # check for package type pkg="bin" # Check whether --with-pkg was given. if test "${with_pkg+set}" = set; then : withval=$with_pkg; if test x"$with_pkg" != x""; then pkg="$with_pkg" fi fi cat >>confdefs.h <<_ACEOF #define PKG "$pkg" _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linker supports -z now" >&5 $as_echo_n "checking whether linker supports -z now... " >&6; } OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -z now" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tucnak_ld_z_now=yes else tucnak_ld_z_now=no LDFLAGS=$OLDLDFLAGS fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tucnak_ld_z_now" >&5 $as_echo "$tucnak_ld_z_now" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linker supports -rdynamic" >&5 $as_echo_n "checking whether linker supports -rdynamic... " >&6; } OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -rdynamic" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tucnak_ld_rdynamic=yes else tucnak_ld_rdynamic=no LDFLAGS=$OLDLDFLAGS fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tucnak_ld_rdynamic" >&5 $as_echo "$tucnak_ld_rdynamic" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linker supports -Wl,-Map (GNU)" >&5 $as_echo_n "checking whether linker supports -Wl,-Map (GNU)... " >&6; } tucnak_ld_wlmap=unchecked OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Map,tucnak.map" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tucnak_ld_wlmap=yes tucnak_ld_flags="-Wl,-Map,tucnak.map" else tucnak_ld_wlmap=no LDFLAGS=$OLDLDFLAGS fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test x"$tucnak_ld_wlmap" = x"no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linker supports -Wl,-map (BSD)" >&5 $as_echo_n "checking whether linker supports -Wl,-map (BSD)... " >&6; } tucnak_ld_wlmap=unchecked OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-map,tucnak.map" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tucnak_ld_wlmap=yes tucnak_ld_flags="-Wl,-map,tucnak.map" else tucnak_ld_wlmap=no LDFLAGS=$OLDLDFLAGS fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f tucnak.map { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tucnak_ld_wlmap" >&5 $as_echo "$tucnak_ld_wlmap" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in arpa/inet.h ctype.h dirent.h dlfcn.h errno.h fcntl.h grp.h iconv.h inttypes.h libgen.h linux/ppdev.h locale.h math.h netdb.h netinet/in.h netinet/ip.h nl_types.h png.h process.h pty.h pwd.h regex.h signal.h stdarg.h stdint.h stdio.h time.h unistd.h sys/ioctl.h sys/kd.h sys/param.h sys/select.h sys/signal.h sys/socket.h sys/soundcard.h sys/stat.h sys/time.h sys/types.h sys/vfs.h sys/wait.h termios.h utime.h winsock2.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi tucnak_libc_ver="" iprig_libc_ver="cross" if test "$cross_compiling" = yes; then iprig_libc_ver=$(cat $TOPDIR/staging_dir_$target_cpu/uclibc_version) iprig_cc_ver=$(cat $TOPDIR/staging_dir_$target_cpu/gcc_version) else if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #ifdef __CYGWIN__ #include #endif FILE *f; int main(void){ f=fopen("conftest.libc.out", "wt"); if (!f) return -1; #ifdef __GLIBC__ fprintf(f, "glibc %d.%d (%s)\n", __GLIBC__, __GLIBC_MINOR__, gnu_get_libc_version()); #endif #ifdef __CYGWIN__ fprintf(f, "cygwin %d.%d.%d, api %d.%d\n", CYGWIN_VERSION_DLL_MAJOR/1000, CYGWIN_VERSION_DLL_MAJOR%1000, CYGWIN_VERSION_DLL_MINOR, CYGWIN_VERSION_API_MAJOR, CYGWIN_VERSION_API_MINOR); #endif fclose(f); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : tucnak_libc_ver=$(cat conftest.libc.out) fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.libc.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5 $as_echo_n "checking for sin in -lm... " >&6; } if ${ac_cv_lib_m_sin+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char sin (); int main () { return sin (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_sin=yes else ac_cv_lib_m_sin=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5 $as_echo "$ac_cv_lib_m_sin" >&6; } if test "x$ac_cv_lib_m_sin" = xyes; then : LIBM="-lm" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5 $as_echo_n "checking for cos in -lm... " >&6; } if ${ac_cv_lib_m_cos+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char cos (); int main () { return cos (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_cos=yes else ac_cv_lib_m_cos=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5 $as_echo "$ac_cv_lib_m_cos" >&6; } if test "x$ac_cv_lib_m_cos" = xyes; then : LIBM="-lm" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tan in -lm" >&5 $as_echo_n "checking for tan in -lm... " >&6; } if ${ac_cv_lib_m_tan+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char tan (); int main () { return tan (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_tan=yes else ac_cv_lib_m_tan=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_tan" >&5 $as_echo "$ac_cv_lib_m_tan" >&6; } if test "x$ac_cv_lib_m_tan" = xyes; then : LIBM="-lm" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acos in -lm" >&5 $as_echo_n "checking for acos in -lm... " >&6; } if ${ac_cv_lib_m_acos+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char acos (); int main () { return acos (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_acos=yes else ac_cv_lib_m_acos=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_acos" >&5 $as_echo "$ac_cv_lib_m_acos" >&6; } if test "x$ac_cv_lib_m_acos" = xyes; then : LIBM="-lm" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for round in -lm" >&5 $as_echo_n "checking for round in -lm... " >&6; } if ${ac_cv_lib_m_round+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char round (); int main () { return round (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_round=yes else ac_cv_lib_m_round=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_round" >&5 $as_echo "$ac_cv_lib_m_round" >&6; } if test "x$ac_cv_lib_m_round" = xyes; then : LIBM="-lm" fi LIBS="$LIBS $LIBM" #AC_CHECK_LIB(ws2_32, [WSAStartup], [LIBS="$LIBS -lws2_32"]) if test "x$ac_cv_header_winsock2_h" = "xyes"; then LIBS="$LIBS -lws2_32 -lsetupapi" fi tucnak_mlibs="" tucnak_mdebs="" tucnak_mrpms="" tucnak_olibs="" tucnak_odebs="" tucnak_orpms="" # check for make # Extract the first word of "make", so it can be a program name with args. set dummy make; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_HAVE_MAKE+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$HAVE_MAKE"; then ac_cv_prog_HAVE_MAKE="$HAVE_MAKE" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_HAVE_MAKE="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_HAVE_MAKE" && ac_cv_prog_HAVE_MAKE="no" fi fi HAVE_MAKE=$ac_cv_prog_HAVE_MAKE if test -n "$HAVE_MAKE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_MAKE" >&5 $as_echo "$HAVE_MAKE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x"$HAVE_MAKE" = x"no"; then tucnak_mlibs="$tucnak_mlibs make" tucnak_mdebs="$tucnak_mdebs make" tucnak_mrpms="$tucnak_mrpms make" fi # check for #pkg-config # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_HAVE_PKGCONFIG+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$HAVE_PKGCONFIG"; then ac_cv_prog_HAVE_PKGCONFIG="$HAVE_PKGCONFIG" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_HAVE_PKGCONFIG="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_HAVE_PKGCONFIG" && ac_cv_prog_HAVE_PKGCONFIG="no" fi fi HAVE_PKGCONFIG=$ac_cv_prog_HAVE_PKGCONFIG if test -n "$HAVE_PKGCONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_PKGCONFIG" >&5 $as_echo "$HAVE_PKGCONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x"$HAVE_PKGCONFIG" = x"no"; then tucnak_mlibs="$tucnak_mlibs pkg-config" tucnak_mdebs="$tucnak_mdebs pkg-config" tucnak_mrpms="$tucnak_mrpms pkg-config" fi # # check for libzia # tucnak_libzia_ver="" tucnak_libzia_settings="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libzia" >&5 $as_echo_n "checking for libzia... " >&6; } if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zia" >&5 $as_echo_n "checking for zia... " >&6; } if test -n "$zia_CFLAGS"; then pkg_cv_zia_CFLAGS="$zia_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzia\""; } >&5 ($PKG_CONFIG --exists --print-errors "libzia") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_zia_CFLAGS=`$PKG_CONFIG --cflags "libzia" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$zia_LIBS"; then pkg_cv_zia_LIBS="$zia_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzia\""; } >&5 ($PKG_CONFIG --exists --print-errors "libzia") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_zia_LIBS=`$PKG_CONFIG --libs "libzia" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then zia_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libzia" 2>&1` else zia_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libzia" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$zia_PKG_ERRORS" >&5 libzia_via_pkg=0 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } libzia_via_pkg=0 else zia_CFLAGS=$pkg_cv_zia_CFLAGS zia_LIBS=$pkg_cv_zia_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } libzia_via_pkg=1 fi LIBZIA_CFLAGS=$zia_CFLAGS LIBZIA_LIBS=$zia_LIBS if test -d "../libzia"; then echo "existuje ../libzia" tucnak_libzia_ver="$(sh ../libzia/bin/zia-config --version) in $(readlink -f ../libzia/bin/zia-config)" tucnak_libzia_settings="../libzia/settings" LIBZIA_CFLAGS="$(bash ../libzia/bin/zia-config --cflags2) -I$(readlink -f ../libzia/include) -I$(readlink -f ../libzia/include/unix)" LIBZIA_LIBS="-L$(readlink -f ../libzia/src/.libs) -Wl,-Bstatic -lzia -Wl,-Bdynamic $(bash ../libzia/bin/zia-config --libs2)" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes; static in ../libzia/src" >&5 $as_echo "yes; static in ../libzia/src" >&6; } else echo "neexistuje ../libzia" if test x"$libzia_via_pkg" = x"1"; then tucnak_libzia_ver="$($PKG_CONFIG --modversion 'libzia') via pkg-config in $($PKG_CONFIG --variable=prefix 'libzia')" tucnak_libzia_settings="$(zia-config --prefix)/share/libzia/$target/settings" LIBZIA_CFLAGS=$($PKG_CONFIG --cflags 'libzia') LIBZIA_LIBS=$($PKG_CONFIG --libs 'libzia') { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes dynamic in $($PKG_CONFIG --variable=prefix 'libzia')" >&5 $as_echo "yes dynamic in $($PKG_CONFIG --variable=prefix 'libzia')" >&6; } else as_fn_error $? "no libzia not found via pkg-config" "$LINENO" 5 fi # tucnak_libzia_ver="$(zia-config --version) $(which zia-config)" # tucnak_libzia_settings="$(zia-config --prefix)/share/libzia/settings" # LIBZIA_CFLAGS="$(zia-config --cflags)" # LIBZIA_LIBS=$(zia-config --libs) # AC_MSG_RESULT([yes; dynamic in $(zia-config --prefix)]) fi echo "LIBZIA_CFLAGS='$LIBZIA_CFLAGS'" echo "LIBZIA_LIBS='$LIBZIA_LIBS'" # check for glib and gthreads tucnak_glib_ver="" pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 $as_echo_n "checking for GLIB... " >&6; } if test -n "$GLIB_CFLAGS"; then pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 > 2.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 > 2.0.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 > 2.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GLIB_LIBS"; then pkg_cv_GLIB_LIBS="$GLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 > 2.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 > 2.0.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 > 2.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 > 2.0.0" 2>&1` else GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 > 2.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GLIB_PKG_ERRORS" >&5 tucnak_mlibs="$tucnak_mlibs libglib2" tucnak_mdebs="$tucnak_mdebs libglib2.0-dev" tucnak_glib="no" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } tucnak_mlibs="$tucnak_mlibs libglib2" tucnak_mdebs="$tucnak_mdebs libglib2.0-dev" tucnak_glib="no" else GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS GLIB_LIBS=$pkg_cv_GLIB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_GLIB 1" >>confdefs.h tucnak_glib="yes" tucnak_glib_ver=$($PKG_CONFIG --modversion 'glib-2.0 > 2.0.0') fi if test x"$tucnak_glib" = x"yes"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTHREAD" >&5 $as_echo_n "checking for GTHREAD... " >&6; } if test -n "$GTHREAD_CFLAGS"; then pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 > 2.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gthread-2.0 > 2.0.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 > 2.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTHREAD_LIBS"; then pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 > 2.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gthread-2.0 > 2.0.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0 > 2.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gthread-2.0 > 2.0.0" 2>&1` else GTHREAD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gthread-2.0 > 2.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTHREAD_PKG_ERRORS" >&5 as_fn_error $? "glib is installed but gthread not ?" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "glib is installed but gthread not ?" "$LINENO" 5 else GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_GTHREAD2 1" >>confdefs.h fi fi # AC_ARG_WITH([sdl], AS_HELP_STRING([--without-sdl], [Build without sdl library for graphics support (default: test)])) # tucnak_sdl="disabled" # # if test "x$with_sdl" != "xno"; then # # check for SDL # SDL_VERSION=1.2.0 # tucnak_sdl_ver=""; # AM_PATH_SDL($SDL_VERSION, # [ AC_DEFINE([HAVE_SDL], [1], [libSDL]) # tucnak_sdl="yes" # tucnak_sdl_ver=$(sdl-config --version)], # [ tucnak_olibs="$tucnak_olibs libsdl" # tucnak_odebs="$tucnak_odebs libsdl-dev" # tucnak_sdl="no"] # ) # # #export PKG_CONFIG=/usr/bin/pkg-config #AC_ARG_WITH([png], AS_HELP_STRING([--without-png], [Build without PNG support (default: test)])) # #if test "x$with_png" != "xno"; then ## check for libpng #tucnak_libpng_ver="" #PKG_CHECK_MODULES(LIBPNG, libpng > 1.2.0, # [ AC_DEFINE([HAVE_LIBPNG], [1], [libpng]) # tucnak_libpng_ver=$(pkg-config --modversion 'libpng > 1.2.0') ], # [ tucnak_olibs="$tucnak_olibs libpng" # tucnak_odebs="$tucnak_odebs libpng12-dev"]) #fi # check for iconv # if test x"$tucnak_sdl" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv_open()" >&5 $as_echo_n "checking for iconv_open()... " >&6; } save_LIBS="$LIBS" LIBS="$LIBS -liconv" ICONV_LIBS="" tucnak_iconv="no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_ICONV_H # include #endif int main () { iconv_open("fr", "to"); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : # ok #echo " __OK " { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes; with -liconv" >&5 $as_echo "yes; with -liconv" >&6; } $as_echo "#define HAVE_ICONV 1" >>confdefs.h ICONV_LIBS="-liconv" tucnak_iconv="libiconv" else # failed #echo " __FAIL " LIBS="$save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_ICONV_H # include #endif int main () { iconv_open("fr", "to"); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : #echo " __OK " { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_ICONV 1" >>confdefs.h ICONV_LIBS="" tucnak_iconv="libc" else # failed #echo " __FAIL " { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } tucnak_mlibs="$tucnak_mlibs libiconv" tucnak_mdebs="$tucnak_mdebs libc6-dev" tucnak_iconv="no" LIBS="$save_LIBS" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext #else # tucnak_iconv="not needed" #fi # Check whether --with-gpm was given. if test "${with_gpm+set}" = set; then : withval=$with_gpm; fi tucnak_libgpm="disabled" if test "x$with_gpm" == "xyes"; then # check for libgpm tucnak_libgpm="no" tucnak_old_LIBS=$LIBS tucnak_libgpm_ver="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Gpm_Open in -lgpm" >&5 $as_echo_n "checking for Gpm_Open in -lgpm... " >&6; } if ${ac_cv_lib_gpm_Gpm_Open+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgpm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char Gpm_Open (); int main () { return Gpm_Open (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_gpm_Gpm_Open=yes else ac_cv_lib_gpm_Gpm_Open=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gpm_Gpm_Open" >&5 $as_echo "$ac_cv_lib_gpm_Gpm_Open" >&6; } if test "x$ac_cv_lib_gpm_Gpm_Open" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGPM 1 _ACEOF LIBS="-lgpm $LIBS" fi if ! test x"$LIBS" = x"$tucnak_old_LIBS"; then tucnak_libgpm="yes" if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include FILE *f; int main(void){ int w; f=fopen("conftest.libgpm.out", "wt"); if (!f) return -1; fprintf(f, "%s\n", Gpm_GetLibVersion(&w)); fclose(f); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : tucnak_libgpm_ver=$(cat conftest.libgpm.out) else tucnak_olibs="$tucnak_olibs libgpmg1" tucnak_odebs="$tucnak_odebs libgpmg1-dev" tucnak_orpms="$tucnak_orpms gpm-devel" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.libgpm.out fi fi # Check whether --with-sndfile was given. if test "${with_sndfile+set}" = set; then : withval=$with_sndfile; fi tucnak_sndfile="disabled" if test "x$with_sndfile" != "xno"; then # check for libsndfile libsndfile_LIBS=$LIBS libsndfile_CFLAGS=$CFLAGS pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SNDFILE" >&5 $as_echo_n "checking for SNDFILE... " >&6; } if test -n "$SNDFILE_CFLAGS"; then pkg_cv_SNDFILE_CFLAGS="$SNDFILE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SNDFILE_CFLAGS=`$PKG_CONFIG --cflags "sndfile >= 1.0.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$SNDFILE_LIBS"; then pkg_cv_SNDFILE_LIBS="$SNDFILE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SNDFILE_LIBS=`$PKG_CONFIG --libs "sndfile >= 1.0.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SNDFILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sndfile >= 1.0.2" 2>&1` else SNDFILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sndfile >= 1.0.2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SNDFILE_PKG_ERRORS" >&5 tucnak_olibs="$tucnak_mlibs libsndfile" tucnak_odebs="$tucnak_mdebs libsndfile-dev" tucnak_orpms="$tucnak_mrpms libsndfile-devel" tucnak_sndfile="no" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } tucnak_olibs="$tucnak_mlibs libsndfile" tucnak_odebs="$tucnak_mdebs libsndfile-dev" tucnak_orpms="$tucnak_mrpms libsndfile-devel" tucnak_sndfile="no" else SNDFILE_CFLAGS=$pkg_cv_SNDFILE_CFLAGS SNDFILE_LIBS=$pkg_cv_SNDFILE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<_ACEOF #define HAVE_SNDFILE 1 _ACEOF tucnak_libsndfile_ver=$(pkg-config --modversion 'sndfile >= 1.0.2') tucnak_sndfile="yes" fi fi # Check whether --with-alsa was given. if test "${with_alsa+set}" = set; then : withval=$with_alsa; fi tucnak_alsa="disabled" if test "x$with_alsa" != "xno"; then # check for alsa tucnak_alsa_ver="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alsa" >&5 $as_echo_n "checking for alsa... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if defined(SND_LIB_MAJOR) && defined(SND_LIB_MINOR) #if SND_LIB_MAJOR>0 || (SND_LIB_MAJOR==0 && SND_LIB_MINOR>=6) AP_maGiC_VALUE #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "AP_maGiC_VALUE" >/dev/null 2>&1; then : # have_alsa_final=yes ALSA_LIB="-lasound" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_ALSA 1" >>confdefs.h tucnak_alsa="yes" if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include FILE *f; int main(void){ f=fopen("conftest.alsa.out", "wt"); if (!f) return -1; fprintf(f, "%s\n", SND_LIB_VERSION_STR); fclose(f); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : tucnak_alsa_ver=$(cat conftest.alsa.out) fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.alsa.out else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } tucnak_alsa="no" tucnak_olibs="$tucnak_olibs libasound" tucnak_odebs="$tucnak_odebs libasound-dev" tucnak_orpms="$tucnak_orpms alsa-devel" fi rm -f conftest* fi ## ## check for libftdi ## #AC_ARG_WITH([ftdi], AS_HELP_STRING([--without-ftdi], [Build without FTDI support for usb to serial converter (default: test)])) #tucnak_ftdi="disabled" # #if test "x$with_ftdi" != "xno"; then ## check for libftdi #tucnak_ftdi_ver="" #PKG_CHECK_MODULES(LIBFTDI, libftdi >= 0.11, # [ AC_DEFINE([HAVE_LIBFTDI], [1], [libftdi installed]) # tucnak_ftdi_ver=$($PKG_CONFIG --modversion 'libftdi >= 0.7') # echo "libftdi version $tucnak_ftdi_ver" # tucnak_ftdi="yes" # LIBS="$LIBS -lusb" # ], # [ tucnak_ftdi="no" # tucnak_olibs="$tucnak_olibs libftdi1" # tucnak_odebs="$tucnak_odebs libftdi-dev" ]) # #fi #AS_HELP_STRING([--with-hamlib=path], [Build with Hamlib from fiven path - hamlib configure prefix]) # Check whether --with-hamlib was given. if test "${with_hamlib+set}" = set; then : withval=$with_hamlib; fi echo withval=$withval echo with_hamlib=$with_hamlib tucnak_hamlib="disabled" if test "x$with_hamlib" != "xno"; then if test "x$with_hamlib" == "x"; then # check for hamlib using pkgconfig echo 'check for hamlib using pkgconfig' tucnak_hamlib_ver="" pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HAMLIB" >&5 $as_echo_n "checking for HAMLIB... " >&6; } if test -n "$HAMLIB_CFLAGS"; then pkg_cv_HAMLIB_CFLAGS="$HAMLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"hamlib\""; } >&5 ($PKG_CONFIG --exists --print-errors "hamlib") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_HAMLIB_CFLAGS=`$PKG_CONFIG --cflags "hamlib" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$HAMLIB_LIBS"; then pkg_cv_HAMLIB_LIBS="$HAMLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"hamlib\""; } >&5 ($PKG_CONFIG --exists --print-errors "hamlib") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_HAMLIB_LIBS=`$PKG_CONFIG --libs "hamlib" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then HAMLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "hamlib" 2>&1` else HAMLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "hamlib" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$HAMLIB_PKG_ERRORS" >&5 tucnak_olibs="$tucnak_olibs libhamlib" tucnak_odebs="$tucnak_odebs libhamlib-dev" tucnak_hamlib="no" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } tucnak_olibs="$tucnak_olibs libhamlib" tucnak_odebs="$tucnak_odebs libhamlib-dev" tucnak_hamlib="no" else HAMLIB_CFLAGS=$pkg_cv_HAMLIB_CFLAGS HAMLIB_LIBS=$pkg_cv_HAMLIB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_HAMLIB 1" >>confdefs.h tucnak_hamlib="yes" tucnak_hamlib_ver=$($PKG_CONFIG --modversion 'hamlib') fi else # use path from with_hamlib echo 'use path from with_hamlib' HAMLIB_CFLAGS="-I$with_hamlib/hamlib/include" HAMLIB_LIBS="-L$with_hamlib/lib -lhamlib" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rig_init in -lhamlib" >&5 $as_echo_n "checking for rig_init in -lhamlib... " >&6; } if ${ac_cv_lib_hamlib_rig_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhamlib $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char rig_init (); int main () { return rig_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_hamlib_rig_init=yes else ac_cv_lib_hamlib_rig_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hamlib_rig_init" >&5 $as_echo "$ac_cv_lib_hamlib_rig_init" >&6; } if test "x$ac_cv_lib_hamlib_rig_init" = xyes; then : $as_echo "#define HAVE_HAMLIB 1" >>confdefs.h tucnak_hamlib="yes" tucnak_hamlib_ver="unknown from $with_hamlib" else tucnak_hamlib="no" fi fi fi # check for fftw3 # Check whether --with-fftw3 was given. if test "${with_fftw3+set}" = set; then : withval=$with_fftw3; fi tucnak_fftw3="disabled" if test "x$with_fftw3" != "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fftw_execute in -lfftw3" >&5 $as_echo_n "checking for fftw_execute in -lfftw3... " >&6; } if ${ac_cv_lib_fftw3_fftw_execute+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw3 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char fftw_execute (); int main () { return fftw_execute (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_fftw3_fftw_execute=yes else ac_cv_lib_fftw3_fftw_execute=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_execute" >&5 $as_echo "$ac_cv_lib_fftw3_fftw_execute" >&6; } if test "x$ac_cv_lib_fftw3_fftw_execute" = xyes; then : $as_echo "#define HAVE_LIBFFTW3 1" >>confdefs.h FFTW3_LIBS="-lfftw3" tucnak_fftw3="yes" else tucnak_olibs="$tucnak_olibs libfftw3" tucnak_odebs="$tucnak_odebs libfftw3-dev" tucnak_orpms="$tucnak_orpms fftw3-devel" tucnak_fftw3="no" fi fi # check for portaudio # Check whether --with-portaudio was given. if test "${with_portaudio+set}" = set; then : withval=$with_portaudio; fi tucnak_portaudio="disabled" if test "x$with_portaudio" != "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Pa_WriteStream in -lportaudio" >&5 $as_echo_n "checking for Pa_WriteStream in -lportaudio... " >&6; } if ${ac_cv_lib_portaudio_Pa_WriteStream+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lportaudio $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char Pa_WriteStream (); int main () { return Pa_WriteStream (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_portaudio_Pa_WriteStream=yes else ac_cv_lib_portaudio_Pa_WriteStream=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_portaudio_Pa_WriteStream" >&5 $as_echo "$ac_cv_lib_portaudio_Pa_WriteStream" >&6; } if test "x$ac_cv_lib_portaudio_Pa_WriteStream" = xyes; then : $as_echo "#define HAVE_PORTAUDIO 1" >>confdefs.h PORTAUDIO_LIBS="-lportaudio" tucnak_portaudio="yes" else tucnak_olibs="$tucnak_olibs libportaudio" tucnak_odebs="$tucnak_odebs portaudio19-dev" tucnak_orpms="$tucnak_orpms portaudio-devel" tucnak_portaudio="no" fi fi tucnak_librtlsdr_ver="" pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBRTLSDR" >&5 $as_echo_n "checking for LIBRTLSDR... " >&6; } if test -n "$LIBRTLSDR_CFLAGS"; then pkg_cv_LIBRTLSDR_CFLAGS="$LIBRTLSDR_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librtlsdr\""; } >&5 ($PKG_CONFIG --exists --print-errors "librtlsdr") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBRTLSDR_CFLAGS=`$PKG_CONFIG --cflags "librtlsdr" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBRTLSDR_LIBS"; then pkg_cv_LIBRTLSDR_LIBS="$LIBRTLSDR_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librtlsdr\""; } >&5 ($PKG_CONFIG --exists --print-errors "librtlsdr") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBRTLSDR_LIBS=`$PKG_CONFIG --libs "librtlsdr" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBRTLSDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "librtlsdr" 2>&1` else LIBRTLSDR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "librtlsdr" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBRTLSDR_PKG_ERRORS" >&5 tucnak_olibs="$tucnak_olibs librtlsdr" tucnak_odebs="$tucnak_odebs librtlsdr-dev" tucnak_librtlsdr="no" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } tucnak_olibs="$tucnak_olibs librtlsdr" tucnak_odebs="$tucnak_odebs librtlsdr-dev" tucnak_librtlsdr="no" else LIBRTLSDR_CFLAGS=$pkg_cv_LIBRTLSDR_CFLAGS LIBRTLSDR_LIBS=$pkg_cv_LIBRTLSDR_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_LIBRTLSDR 1" >>confdefs.h tucnak_librtlsdr="yes" tucnak_librtlsdr_ver=$($PKG_CONFIG --modversion 'librtlsdr') fi # check for ddir tucnak_ddir="/usr/lib/tucnak" if test -n "$DEB_HOST_MULTIARCH"; then tucnak_ddir="/usr/lib/$DEB_HOST_MULTIARCH/tucnak" fi cat >>confdefs.h <<_ACEOF #define DDIR "$tucnak_ddir" _ACEOF # check for library errors if test -n "$tucnak_mlibs$tucnak_olibs"; then echo "" echo "" echo "********" if test -n "$tucnak_mlibs"; then echo "Missing mandatory libraries: $tucnak_mlibs" fi if test -n "$tucnak_olibs"; then echo "Missing optional libraries: $tucnak_olibs" fi if test -f "/etc/debian_version"; then echo "Try to run: apt-get install $tucnak_mdebs $tucnak_odebs" fi if test -f "/etc/SuSE-release"; then echo "Try to run: yast -i $tucnak_mrpms $tucnak_orpms" fi echo "********" if test -n "$tucnak_mlibs"; then as_fn_error $? "missing mandatory library/libraries" "$LINENO" 5 fi fi # removed $GLIB_CFLAGS, $GLIB_LIBS CFLAGS="$CFLAGS $GTHREAD_CFLAGS $SNDFILE_CFLAGS $HAMLIB_CFLAGS $LIBRTLSDR_CFLAGS" LIBS="$LIBS $GTHREAD_LIBS $ICONV_LIBS $SNDFILE_LIBS $ALSA_LIB $HAMLIB_LIBS $FFTW3_LIBS $PORTAUDIO_LIBS $LIBRTLSDR_LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) tucnak_endian="big";; #( no) tucnak_endian="little" ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) tucnak_endian="unknown" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long" >&5 $as_echo_n "checking for long long... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { unsigned long long a; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_long_long=yes else have_long_long=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_long_long" >&5 $as_echo "$have_long_long" >&6; } test "$have_long_long" = yes && $as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint32_t" >&5 $as_echo_n "checking for uint32_t... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef HAVE_STDINT_H #include #endif #ifdef HAVE_INTTYPES_H #include #endif int main () { uint32_t a; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_uint32_t=yes else have_uint32_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_uint32_t" >&5 $as_echo "$have_uint32_t" >&6; } test "$have_uint32_t" = yes && $as_echo "#define HAVE_UINT32_T 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for typeof" >&5 $as_echo_n "checking for typeof... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { int a; typeof(a) b; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_typeof=yes else have_typeof=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_typeof" >&5 $as_echo "$have_typeof" >&6; } test "$have_typeof" = yes && $as_echo "#define HAVE_TYPEOF 1" >>confdefs.h # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 $as_echo_n "checking size of char... " >&6; } if ${ac_cv_sizeof_char+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : else if test "$ac_cv_type_char" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (char) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_char=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 $as_echo "$ac_cv_sizeof_char" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_CHAR $ac_cv_sizeof_char _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 $as_echo_n "checking size of short... " >&6; } if ${ac_cv_sizeof_short+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : else if test "$ac_cv_type_short" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (short) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_short=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 $as_echo "$ac_cv_sizeof_short" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } if ${ac_cv_sizeof_int+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (int) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_int=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 $as_echo "$ac_cv_sizeof_int" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_INT $ac_cv_sizeof_int _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } if ${ac_cv_sizeof_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 $as_echo "$ac_cv_sizeof_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF test "$have_long_long" = yes && # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } if ${ac_cv_sizeof_long_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : else if test "$ac_cv_type_long_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 $as_echo "$ac_cv_sizeof_long_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 $as_echo_n "checking size of void *... " >&6; } if ${ac_cv_sizeof_void_p+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : else if test "$ac_cv_type_void_p" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (void *) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_void_p=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 $as_echo "$ac_cv_sizeof_void_p" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_VOID_P $ac_cv_sizeof_void_p _ACEOF for ac_func in gmtime_r do : ac_fn_c_check_func "$LINENO" "gmtime_r" "ac_cv_func_gmtime_r" if test "x$ac_cv_func_gmtime_r" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GMTIME_R 1 _ACEOF $as_echo "#define HAVE_GMTIME_R 1" >>confdefs.h fi done #check for F_TLOCK in fnctl.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for F_TLOCK in sys/file.h" >&5 $as_echo_n "checking for F_TLOCK in sys/file.h... " >&6; } if ${tucnak_cv_HAVE_F_TLOCK+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int a = F_TLOCK ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tucnak_cv_HAVE_F_TLOCK=yes else tucnak_cv_HAVE_F_TLOCK=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tucnak_cv_HAVE_F_TLOCK" >&5 $as_echo "$tucnak_cv_HAVE_F_TLOCK" >&6; } if test x"$tucnak_cv_HAVE_F_TLOCK" = x"yes"; then $as_echo "#define HAVE_F_TLOCK 1" >>confdefs.h fi #check for swradio #AC_CACHE_CHECK([for V4L2_BUF_TYPE_SDR_CAPTURE],tucnak_cv_HAVE_SWRADIO, [ # AC_TRY_COMPILE([#include ],[int a = V4L2_BUF_TYPE_SDR_CAPTURE], # tucnak_cv_HAVE_SWRADIO=yes,tucnak_cv_HAVE_SWRADIO=no)]) #if test x"$tucnak_cv_HAVE_SWRADIO" = x"yes"; then # AC_DEFINE([HAVE_SWRADIO], [1], [SWRADIO]) #fi # Extract the first word of "rpm", so it can be a program name with args. set dummy rpm; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_HAVE_RPM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$HAVE_RPM"; then ac_cv_prog_HAVE_RPM="$HAVE_RPM" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_HAVE_RPM=""yes"" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_HAVE_RPM" && ac_cv_prog_HAVE_RPM=""no"" fi fi HAVE_RPM=$ac_cv_prog_HAVE_RPM if test -n "$HAVE_RPM"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_RPM" >&5 $as_echo "$HAVE_RPM" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi HAVE_RPM_PACKAGING=no if test x$HAVE_RPM = xyes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpm build directories" >&5 $as_echo_n "checking for rpm build directories... " >&6; } RPM_SOURCESDIR=$(rpm --showrc | grep "^sourcedir" | \ sed -e 's/.*: //' 2> /dev/null) if test x$RPM_SPECDIR = x ; then # Red Hat : /usr/src/redhat # Mandrake : /usr/src/RPM # SuSE : /usr/src/packages # Debian : /usr/src/rpm for TEST_DIR in /usr/src/redhat /usr/src/RPM /usr/src/packages /usr/src/rpm ; do if test -d $TEST_DIR/SPECS -a -d $TEST_DIR/SOURCES -a \ -d $TEST_DIR/RPMS -a -d $TEST_DIR/SRPMS -a \ -d $TEST_DIR/BUILD ; then RPM_SOURCESDIR=$TEST_DIR/SOURCES fi done fi if test x$RPM_SOURCESDIR = x ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } RPM_SOURCESDIR="" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RPM_SOURCESDIR" >&5 $as_echo "$RPM_SOURCESDIR" >&6; } HAVE_RPM_PACKAGING=yes fi if test -f /etc/mandrake-release ; then RPM_RELEASE="mdk" else RPM_RELEASE="" fi fi #dnl check for ioctl(TIOCLINUX) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIOCLINUX" >&5 $as_echo_n "checking for TIOCLINUX... " >&6; } if ${tucnak_cv_HAVE_TIOCLINUX+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : tucnak_cv_HAVE_TIOCLINUX=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define AUTOCONF_TEST 1 #include #include "confdefs.h" int cmp(const struct dirent **a, const struct dirent **b){return 0;} int main(){ char c[2]; c[0]=c[1]=0; exit(0); ioctl(1,TIOCLINUX,c); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : tucnak_cv_HAVE_TIOCLINUX=yes else tucnak_cv_HAVE_TIOCLINUX=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tucnak_cv_HAVE_TIOCLINUX" >&5 $as_echo "$tucnak_cv_HAVE_TIOCLINUX" >&6; } if test x"$tucnak_cv_HAVE_TIOCLINUX" = x"yes"; then $as_echo "#define HAVE_TIOCLINUX /**/" >>confdefs.h fi #dnl Check for socklen_t { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SOCKLEN_T" >&5 $as_echo_n "checking for SOCKLEN_T... " >&6; } if ${tucnak_cv_HAVE_SOCKLEN_T+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : tucnak_cv_HAVE_SOCKLEN_T=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define AUTOCONF_TEST 1 #include #include "confdefs.h" int main(){ socklen_t tmp; exit(0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : tucnak_cv_HAVE_SOCKLEN_T=yes else tucnak_cv_HAVE_SOCKLEN_T=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tucnak_cv_HAVE_SOCKLEN_T" >&5 $as_echo "$tucnak_cv_HAVE_SOCKLEN_T" >&6; } if test x"$tucnak_cv_HAVE_SOCKLEN_T" = x"yes"; then $as_echo "#define HAVE_SOCKLEN_T /**/" >>confdefs.h fi # --enable-pedantic # Check whether --enable-pedantic was given. if test "${enable_pedantic+set}" = set; then : enableval=$enable_pedantic; enable_pedantic=yes else enable_pedantic=no fi if test x"$enable_pedantic" = x"yes"; then #CFLAGS="$CFLAGS -Wall -Wpedantic" CFLAGS="$CFLAGS -Wall -Werror -Wpointer-arith -Wstrict-prototypes -Wunused -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wformat -Wno-format-extra-args -Wformat-security -Wdeprecated-declarations " #-Wstringop-truncation -Wformat-overflow=2 fi # --enable-leak-debug # Check whether --enable-leak-debug was given. if test "${enable_leak_debug+set}" = set; then : enableval=$enable_leak_debug; enable_leak_debug=yes else enable_leak_debug=no fi if test x"$enable_leak_debug" = x"yes"; then cat >>confdefs.h <<_ACEOF #define LEAK_DEBUG /**/ _ACEOF cat >>confdefs.h <<_ACEOF #define LEAK_DEBUG_LIST /**/ _ACEOF fi # --enable-instr # Check whether --enable-instr was given. if test "${enable_instr+set}" = set; then : enableval=$enable_instr; CFLAGS="$CFLAGS -finstrument-functions" enable_instr=yes else enable_instr=no fi if test x"$tucnak_ld_wlmap" = x"yes"; then LIBS="$LIBS $tucnak_ld_flags" fi CFLAGS="$CFLAGS $LIBZIA_CFLAGS" echo "LIBZIA_LIBS='$LIBZIA_LIBS'" echo "LIBS='$LIBS'" LIBS="$LIBZIA_LIBS $LIBS" echo "LIBS='$LIBS'" CFLAGS=$(echo $CFLAGS | sed 's/ \+/ /g') LDFLAGS=$(echo $LDFLAGS | sed 's/ \+/ /g') LIBS=$(echo $LIBS | sed 's/ \+/ /g') TUCNAK_LDADD=$LIBS LIBS="" TUCNAK_CFLAGS=$CFLAGS sharedir="$prefix/share/$PACKAGE_NAME" cat >>confdefs.h <<_ACEOF #define SHAREDIR "$sharedir" _ACEOF VERSIONCODE=$(echo $VERSION | sed 's/\.//') ac_config_files="$ac_config_files Makefile android/AndroidManifest.xml android/Makefile android/nagup android/src/Makefile android/tucnak-package data/Makefile doc/Makefile intl/Makefile pkg/tucnak.spec pkg/Makefile share/Makefile share/applications/Makefile share/pixmaps/Makefile src/Makefile src/msvcver.h srcup win32/Makefile win32/nagup.bat win32/tucnak-cygwin.nsi win32/tucnak-msvc.nsi" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by tucnak $as_me 4.32, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ tucnak config.status 4.32 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "android/AndroidManifest.xml") CONFIG_FILES="$CONFIG_FILES android/AndroidManifest.xml" ;; "android/Makefile") CONFIG_FILES="$CONFIG_FILES android/Makefile" ;; "android/nagup") CONFIG_FILES="$CONFIG_FILES android/nagup" ;; "android/src/Makefile") CONFIG_FILES="$CONFIG_FILES android/src/Makefile" ;; "android/tucnak-package") CONFIG_FILES="$CONFIG_FILES android/tucnak-package" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "intl/Makefile") CONFIG_FILES="$CONFIG_FILES intl/Makefile" ;; "pkg/tucnak.spec") CONFIG_FILES="$CONFIG_FILES pkg/tucnak.spec" ;; "pkg/Makefile") CONFIG_FILES="$CONFIG_FILES pkg/Makefile" ;; "share/Makefile") CONFIG_FILES="$CONFIG_FILES share/Makefile" ;; "share/applications/Makefile") CONFIG_FILES="$CONFIG_FILES share/applications/Makefile" ;; "share/pixmaps/Makefile") CONFIG_FILES="$CONFIG_FILES share/pixmaps/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/msvcver.h") CONFIG_FILES="$CONFIG_FILES src/msvcver.h" ;; "srcup") CONFIG_FILES="$CONFIG_FILES srcup" ;; "win32/Makefile") CONFIG_FILES="$CONFIG_FILES win32/Makefile" ;; "win32/nagup.bat") CONFIG_FILES="$CONFIG_FILES win32/nagup.bat" ;; "win32/tucnak-cygwin.nsi") CONFIG_FILES="$CONFIG_FILES win32/tucnak-cygwin.nsi" ;; "win32/tucnak-msvc.nsi") CONFIG_FILES="$CONFIG_FILES win32/tucnak-msvc.nsi" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi chmod +x srcup svnver.sh android/tucnak-package echo "" (echo "------ Tucnak settings: --------"; echo " version: $PACKAGE_NAME-$PACKAGE_VERSION"; echo " prefix: $prefix"; echo " pkg: $pkg"; echo " CFLAGS: $CFLAGS"; echo " LDFLAGS: $LDFLAGS"; echo " LIBS: $TUCNAK_LDADD"; echo " libzia: yes $tucnak_libzia_ver"; echo " iconv: $tucnak_iconv"; echo " libgpm: $tucnak_libgpm $tucnak_libgpm_ver"; echo "libsndfile: $tucnak_sndfile $tucnak_libsndfile_ver"; echo " alsa: $tucnak_alsa $tucnak_alsa_ver"; echo " libhamlib: $tucnak_hamlib $tucnak_hamlib_ver"; echo " libfftw3: $tucnak_fftw3"; echo " portaudio: $tucnak_portaudio"; echo " librtlsdr: $tucnak_librtlsdr $tucnak_librtlsdr_ver"; echo " ppdev: $ac_cv_header_linux_ppdev_h"; echo " ddir: $tucnak_ddir"; echo " pedantic: $enable_pedantic"; echo " opts: $opt") | tee settings echo "" (echo "char *txt_settings="; cat settings | sed 's/\(.*\)/"\1\\n"/'; echo ";") > src/settings.c tucnak-4.32/src/0000755000175000017500000000000014125271150010515 500000000000000tucnak-4.32/src/zosk.c0000644000175000017500000005340713734430600011602 00000000000000/* Tucnak - VHF contest log Copyright (C) 2012-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "zosk.h" #ifdef Z_HAVE_SDL #include "kbd.h" #include "main.h" #include "qsodb.h" #include "terminal.h" #include "tsdl.h" #define sdlkey(key) case key: strcat(s, #key); break #define ZOSK_KEYY (zosk->font_h + 10 + 10) #define ZOSK_LEFT ((SDL_Keycode)-10) #define ZOSK_RIGHT ((SDL_Keycode)-11) #define ZOSK_TP_CENTER 0 #define ZOSK_TP_LEFT 1 #define ZOSK_TP_RIGHT 2 char *zosk_sym2text(struct zosk *zosk, struct zosk_key *key, SDL_Keycode sym){ static char txt[5]; switch ((int)sym){ case SDLK_LSHIFT: key->isshift = 1; zosk->shift = key; return "SH"; case SDLK_LCTRL: key->isshift = 1; zosk->ctrl = key; return "Ctrl"; case SDLK_LALT: key->isshift = 1; zosk->alt = key; return "Alt"; case SDLK_MODE: key->isshift = 1; zosk->fn = key; return "\x0f"; case SDLK_BACKSPACE: return "BSP"; case SDLK_ESCAPE: zosk->esc = key; return "Esc"; case SDLK_TAB: return "TAB"; case SDLK_RETURN: return "ENT"; case SDLK_SPACE: return "___"; case SDLK_0: return "0"; case SDLK_F10: return "F10"; case ZOSK_LEFT: return "\x1b"; case ZOSK_RIGHT: return "\x1a"; default: if (sym > 32 && sym < 256){ g_snprintf(txt, 3, "%c", sym); return txt; } if (sym >= SDLK_F1 && sym <= SDLK_F9){ g_snprintf(txt, 4, "F%d", sym - SDLK_F1 + 1); return txt; } return ""; } } struct zosk_key *zosk_key_add(struct zosk *zosk, int w2, SDL_Keycode sym, SDL_Keycode symFn, SDL_Keycode symShift){ struct zosk_key *key = g_new0(struct zosk_key, 1); key->x = zosk->x0 + (zosk->x2 * zosk->bw2 * 2) / 2; key->w = zosk->bw2 * w2 - 4; key->y = zosk->y0 + zosk->y * zosk->bh + ZOSK_KEYY; key->h = zosk->bh - 4; key->cx = key->x + key->w / 2; key->cy = key->y + key->h / 2; key->sym = sym; key->symFn = symFn; key->symShift = symShift; strcpy(key->text, zosk_sym2text(zosk, key, key->sym)); strcpy(key->textFn, zosk_sym2text(zosk, key, key->symFn)); strcpy(key->textShift, zosk_sym2text(zosk, key, key->symShift)); g_ptr_array_add(zosk->keys, key); zosk->x2 += w2; return key; } static void zosk_move(struct zosk *zosk){ switch (cfg->touchpos){ case ZOSK_TP_LEFT: zosk->parent_x = 0; break; case ZOSK_TP_RIGHT: zosk->parent_x = zosk->screen_w - zosk->surface->w; break; case ZOSK_TP_CENTER: zosk->parent_x = (zosk->screen_w - zosk->surface->w) / 2; default: break; } } struct zosk *zosk_init(SDL_Surface *screen, int flags, const char *text){ struct zosk *zosk; int w = screen->w; int h = screen->h; int spypeers = 0; //dbg("zosk_init(%d, '%s')\n", flags, text); zosk = g_new0(struct zosk, 1); w -= 10; //h -= 10; if (ctest && !ctest->oldcontest) spypeers = ctest->spypeers->len; //h = zsdl->font_h * (term->y - cfg->loglines - spypeers - DISP_QSOS - 2); h = (sdl->screen->h / FONT_H) * FONT_H + zsdl->font_h * ( - cfg->loglines - spypeers - DISP_QSOS - 1); //log_addf("window_h=%d FONT_H=%d font_h=%d h=%d\n", sdl->screen->h, FONT_H, zsdl->font_h, h); zosk->KX2 = 21; zosk->KY = 5; zosk->font_h = 48;//zsdl_max_font_h(zosk->bw2 * 2 - 2, zosk->bh / 2, "M");//32; zosk->font_w = zsdl_h2w(zosk->font_h); zosk->bw2 = Z_MIN((w * 2) / zosk->KX2, (h - 4 - ZOSK_KEYY) / zosk->KY) / 2; //log_addf("MIN(%d, %d) = %d",(w * 2) / zosk->KX2, (h - 20 - ZOSK_KEYY) / zosk->KY, zosk->bw2); zosk->bh = zosk->bw2 * 2; zosk->x0 = 10;//(w - 1 - zosk->bw4 * zosk->KX4) / 2; zosk->y0 = 0;//h - 1 - zosk->bh * zosk->KY; zosk->keys = g_ptr_array_new(); zosk->bbg = z_makecol(128, 128, 128); zosk->bg = z_makecol(48, 48, 48); zosk->flags = flags; zosk->surface = SDL_CreateRGBSurface(SDL_SWSURFACE, zosk->bw2 * zosk->KX2 + 20, zosk->bh * zosk->KY + 4 + ZOSK_KEYY, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, 0); zosk->screen_w = screen->w; zosk_move(zosk); zosk->parent_y = 0;//(screen->h - zosk->surface->h) / 2; zosk->gs = g_string_new(text); zosk->maxlen_c = (zosk->surface->w - 32 - zosk->font_h * 2) / zosk->font_w; zosk->x2 = 0; zosk->y = 0; zosk_key_add(zosk, 1, ZOSK_LEFT, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_1, SDLK_F1, SDLK_EXCLAIM); zosk_key_add(zosk, 2, SDLK_2, SDLK_F2, SDLK_AT); zosk_key_add(zosk, 2, SDLK_3, SDLK_F3, SDLK_HASH); zosk_key_add(zosk, 2, SDLK_4, SDLK_F4, SDLK_DOLLAR); zosk_key_add(zosk, 2, SDLK_5, SDLK_F5, (SDL_Keycode)'%'); zosk_key_add(zosk, 2, SDLK_6, SDLK_F6, SDLK_CARET); zosk_key_add(zosk, 2, SDLK_7, SDLK_F7, SDLK_AMPERSAND); zosk_key_add(zosk, 2, SDLK_8, SDLK_F8, SDLK_ASTERISK); zosk_key_add(zosk, 2, SDLK_9, SDLK_F9, SDLK_LEFTPAREN); zosk_key_add(zosk, 2, SDLK_0, SDLK_F10, SDLK_RIGHTPAREN); zosk->x2 = 0; zosk->y++; zosk_key_add(zosk, 2, SDLK_q, (SDL_Keycode)'~', SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_w, SDLK_EXCLAIM, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_e, SDLK_AT, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_r, SDLK_HASH, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_t, SDLK_DOLLAR, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_y, (SDL_Keycode)'%', SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_u, (SDL_Keycode)SDLK_CARET, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_i, SDLK_AMPERSAND, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_o, SDLK_ASTERISK, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_p, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 1, ZOSK_RIGHT, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk->x2 = 0; zosk->y++; zosk_key_add(zosk, 3, SDLK_TAB, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_a, SDLK_UNDERSCORE, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_s, SDLK_MINUS, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_d, SDLK_PLUS, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_f, SDLK_EQUALS, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_g, SDLK_COLON, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_h, SDLK_SEMICOLON, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_j, SDLK_QUOTE, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_k, SDLK_QUOTEDBL, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_l, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk->x2 = 0; zosk->y++; zosk_key_add(zosk, 2, SDLK_ESCAPE, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_LSHIFT, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_z, SDLK_LEFTPAREN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_x, SDLK_RIGHTPAREN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_c, SDLK_LESS, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_v, SDLK_GREATER, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_b, SDLK_LEFTBRACKET, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_n, SDLK_RIGHTBRACKET, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_m, SDLK_COMMA, SDLK_UNKNOWN); zosk_key_add(zosk, 3, SDLK_BACKSPACE, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk->x2 = 0; zosk->y++; zosk_key_add(zosk, 2, SDLK_LCTRL, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_MODE, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_LALT, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 6, SDLK_SPACE, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_QUESTION, SDLK_UNKNOWN, SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_PERIOD, (SDL_Keycode)'|', SDLK_UNKNOWN); zosk_key_add(zosk, 2, SDLK_SLASH, SDLK_BACKSLASH, SDLK_UNKNOWN); zosk_key_add(zosk, 3, SDLK_RETURN, SDLK_UNKNOWN, SDLK_UNKNOWN); return zosk; } void zosk_free(struct zosk *zosk){ int i; for (i = 0; i < zosk->keys->len; i++){ struct zosk_key *key = (struct zosk_key *)g_ptr_array_index(zosk->keys, i); g_free(key); } g_ptr_array_free(zosk->keys, TRUE); SDL_FreeSurface(zosk->surface); g_string_free(zosk->gs, TRUE); g_free(zosk); } void zosk_draw_key_text(struct zosk *zosk, struct zosk_key *key){ SDL_Rect r; char *c = key->text; int color, fh; if (zosk->fn->pressed && key->symFn != SDLK_UNKNOWN) c = key->textFn; if (zosk->shift->pressed && key->symShift != SDLK_UNKNOWN) c = key->textShift; fh = zsdl_max_font_h(key->w - 2, key->h - 2, c); color = z_makecol(255, 255, 255); switch ((int)key->sym){ case SDLK_LSHIFT: r.x = key->cx - (int)(0.2 * fh); r.w = 0.4 * fh + 1; r.y = key->cy + (int)(0.1 * fh); r.h = 0.1 * fh + 1; SDL_FillRect(zosk->surface, &r, color); r.x = key->cx - (int)(0.2 * fh); r.w = 0.4 * fh + 1; r.y = key->cy + (int)(0.3 * fh); r.h = 0.1 * fh + 1; SDL_FillRect(zosk->surface, &r, color); z_triangle(zosk->surface, key->cx - (int)(0.4 * fh), key->cy + (int)(0.1 * fh), key->cx + (int)(0.4 * fh), key->cy + (int)(0.1 * fh), key->cx, key->cy - (int)(0.3 * fh), color); break; case SDLK_BACKSPACE: r.x = key->cx - (int)(0.4 * fh); r.w = (int)(1.2 * fh); r.y = key->cy - (int)(0.4 * fh); r.h = (int)(0.8 * fh) + 1; SDL_FillRect(zosk->surface, &r, color); z_triangle(zosk->surface, key->cx - (int)(0.4 * fh), key->cy - (int)(0.4 * fh), key->cx - (int)(0.4 * fh), key->cy + (int)(0.4 * fh), key->cx - (int)(0.8 * fh), key->cy, color); zsdl_printf(zosk->surface, key->cx + (int)(0.1 * fh), key->cy - 1, zosk->bbg, 0, ZFONT_CENTERX | ZFONT_CENTERY | ZFONT_TRANSP | ZFONT_USERH(fh), "x"); break; case SDLK_TAB: z_line(zosk->surface, key->cx - (int)(0.5 * fh), key->cy-1, key->cx + (int)(0.2 * fh), key->cy-1, color); z_line(zosk->surface, key->cx - (int)(0.5 * fh), key->cy, key->cx + (int)(0.2 * fh), key->cy, color); z_line(zosk->surface, key->cx - (int)(0.5 * fh), key->cy+1, key->cx + (int)(0.2 * fh), key->cy+1, color); z_triangle(zosk->surface, key->cx + (int)(0.2 * fh), key->cy - (int)(0.4 * fh), key->cx + (int)(0.2 * fh), key->cy + (int)(0.4 * fh), key->cx + 3* (int)(0.2 * fh), key->cy, color); /*z_putpixel(zosk->surface,key->cx + (int)(0.2 * fh), key->cy - (int)(0.4 * fh), sdl->red); z_putpixel(zosk->surface,key->cx + (int)(0.2 * fh), key->cy + (int)(0.4 * fh), sdl->red); z_putpixel(zosk->surface,key->cx + 3* (int)(0.2 * fh), key->cy, sdl->red);*/ r.x = key->cx + 3* (int)(0.2 * fh) + 1; r.w = 2; r.y = key->cy - (int)(0.5 * fh); r.h = (int)(1 * fh); SDL_FillRect(zosk->surface, &r, color); break; case SDLK_RETURN: z_triangle(zosk->surface, key->cx - (int)(0.4 * fh), key->cy - (int)(0.4 * fh), key->cx - (int)(0.4 * fh), key->cy + (int)(0.4 * fh), key->cx - (int)(0.8 * fh), key->cy, color); r.x = key->cx - (int)(0.4 * fh); r.w = 0.8 * fh; r.y = key->cy -1; r.h = 3; SDL_FillRect(zosk->surface, &r, color); r.x = key->cx + (int)(0.4 * fh); r.w = 3; r.y = key->cy - (int)(0.5 * fh); r.h = 0.5 * fh + 2; SDL_FillRect(zosk->surface, &r, color); break; case SDLK_SPACE: r.x = key->cx - (int)(0.6 * fh); r.w = 1.2 * fh; r.y = key->cy + (int)(0.4 * fh); r.h = 3; SDL_FillRect(zosk->surface, &r, color); r.x = key->cx - (int)(0.6 * fh) - 3; r.w = 3; r.y = key->cy + (int)(0.4 * fh) - 5; r.h = 8; SDL_FillRect(zosk->surface, &r, color); r.x = key->cx + (int)(0.6 * fh); r.w = 3; r.y = key->cy + (int)(0.4 * fh) - 5; r.h = 8; SDL_FillRect(zosk->surface, &r, color); break; default: if (strlen(c) == 1 && (zosk->shift->pressed || zosk->flags & ZOSK_UPCONVERT)) { char cc[2]; cc[0] = toupper(c[0]); cc[1] = '\0'; zsdl_printf(zosk->surface, key->cx, key->cy, z_makecol(255, 255, 255), 0, ZFONT_CENTERX | ZFONT_CENTERY | ZFONT_TRANSP | ZFONT_USERH(fh), "%s", cc); }else{ zsdl_printf(zosk->surface, key->cx, key->cy, z_makecol(255, 255, 255), 0, ZFONT_CENTERX | ZFONT_CENTERY | ZFONT_TRANSP | ZFONT_USERH(fh), "%s", c); } break; } } void zosk_draw_key(struct zosk *zosk, struct zosk_key *key, int bbg){ SDL_Rect r; int x, y; int bg2 = z_makecol((z_r(zosk->surface, bbg) * 3) / 4, (z_g(zosk->surface, bbg) * 3) / 4, (z_b(zosk->surface, bbg) * 3) / 4); r.x = key->x; r.y = key->y; r.w = key->w; r.h = key->h; SDL_FillRect(zosk->surface, &r, bbg); x = r.x; y = r.y; z_putpixel(zosk->surface, x, y, zosk->bg); z_putpixel(zosk->surface, x+1, y, zosk->bg); z_putpixel(zosk->surface, x+2, y, bg2); z_putpixel(zosk->surface, x, y+1, zosk->bg); z_putpixel(zosk->surface, x, y+2, bg2); x = r.x + r.w - 1; y = r.y; z_putpixel(zosk->surface, x, y, zosk->bg); z_putpixel(zosk->surface, x-1, y, zosk->bg); z_putpixel(zosk->surface, x-2, y, bg2); z_putpixel(zosk->surface, x, y+1, zosk->bg); z_putpixel(zosk->surface, x, y+2, bg2); x = r.x; y = r.y + r.h - 1; z_putpixel(zosk->surface, x, y, zosk->bg); z_putpixel(zosk->surface, x+1, y, zosk->bg); z_putpixel(zosk->surface, x+2, y, bg2); z_putpixel(zosk->surface, x, y-1, zosk->bg); z_putpixel(zosk->surface, x, y-2, bg2); x = r.x + r.w - 1; y = r.y + r.h - 1; z_putpixel(zosk->surface, x, y, zosk->bg); z_putpixel(zosk->surface, x-1, y, zosk->bg); z_putpixel(zosk->surface, x-2, y, bg2); z_putpixel(zosk->surface, x, y-1, zosk->bg); z_putpixel(zosk->surface, x, y-2, bg2); zosk_draw_key_text(zosk, key); } void zosk_draw_top(struct zosk *zosk, struct zosk_key *key){ char *c = key->text; int fh, fw; Uint32 Rmask, Gmask, Bmask, Amask; SDL_Surface *surface; int x, y, transp, half; SDL_Rect r; if (zosk->flags & ZOSK_IGNOREESC) return; if (zosk->fn->pressed && key->symFn != SDLK_UNKNOWN) c = key->textFn; if (zosk->shift->pressed && key->symShift != SDLK_UNKNOWN) c = key->textShift; fh = zsdl_max_font_h(key->w - 2, key->h - 2, c); fw = zsdl_h2w(fh); Rmask = Gmask = Bmask = Amask = 0 ; if ( SDL_BYTEORDER == SDL_LIL_ENDIAN ) { Rmask = 0x000000FF; Gmask = 0x0000FF00; Bmask = 0x00FF0000; Amask = 0xFF000000; } else { Rmask = 0xFF000000; Gmask = 0x00FF0000; Bmask = 0x0000FF00; Amask = 0x000000FF; } surface = SDL_CreateRGBSurface(SDL_SWSURFACE, 10 + fw * strlen(c), 10 + fh, 32, Rmask, Gmask, Bmask, Amask); SDL_FillRect(surface, NULL, SDL_MapRGBA(surface->format, 150, 0, 0, 255)); // opaque // blit text/glyph to tooltip r.x = key->cx - surface->w / 2; r.w = key->w - 2; r.y = key->cy - surface->h / 2; r.h = key->h - 2; SDL_BlitSurface(zosk->surface, &r , surface, NULL); transp = SDL_MapRGBA(surface->format, 150, 0, 0, 0); half = SDL_MapRGBA(surface->format, 150, 0, 0, 128); x = 0; y = 0; z_putpixel32(surface, x, y, transp); z_putpixel32(surface, x+1, y, transp); z_putpixel32(surface, x+2, y, half); z_putpixel32(surface, x, y+1, transp); z_putpixel32(surface, x, y+2, half); x = surface->w - 1; y = 0; z_putpixel32(surface, x, y, transp); z_putpixel32(surface, x-1, y, transp); z_putpixel32(surface, x-2, y, half); z_putpixel32(surface, x, y+1, transp); z_putpixel32(surface, x, y+2, half); x = 0; y = surface->h - 1; z_putpixel32(surface, x, y, transp); z_putpixel32(surface, x+1, y, transp); z_putpixel32(surface, x+2, y, half); z_putpixel32(surface, x, y-1, transp); z_putpixel32(surface, x, y-2, half); x = surface->w - 1; y = surface->h - 1; z_putpixel32(surface, x, y, transp); z_putpixel32(surface, x-1, y, transp); z_putpixel32(surface, x-2, y, half); z_putpixel32(surface, x, y-1, transp); z_putpixel32(surface, x, y-2, half); //zosk_draw_key_text(zosk, key); TODO ruzne bitove konfigurace // blit prepared tooltip to keyboard r.x = (key->w - surface->w) / 2 + key->x; r.w = surface->w; r.y = key->y - surface->h - 3; r.h = surface->h; SDL_BlitSurface(surface, NULL, zosk->surface, &r); SDL_FreeSurface(surface); } void zosk_draw(struct zosk *zosk){ int i; SDL_Rect r; char *c; SDL_FillRect(zosk->surface, NULL, zosk->bg); r.x = 32; r.y = 10; r.w = zosk->maxlen_c * zosk->font_w; r.h = zosk->font_h; SDL_FillRect(zosk->surface, &r, z_makecol(192, 192, 192)); c = zosk->gs->str; if (strlen(c) >= zosk->maxlen_c) c += strlen(c) - zosk->maxlen_c + 1; zsdl_printf(zosk->surface, 32, 10, z_makecol(0, 0, 0), 0, ZFONT_TRANSP | ZFONT_USERH(zosk->font_h), "%s", c); zsdl_printf(zosk->surface, 32 + strlen(c) * zosk->font_w, 10, 0, sdl->cursor, ZFONT_USERH(zosk->font_h), " "); r.w = ZOSK_KEYY - 6;//(zosk->font_h * 3) / 2; r.h = ZOSK_KEYY - 6;//(zosk->font_h * 3) / 2; r.x = zosk->surface->w - r.w - 2; r.y = 2; SDL_FillRect(zosk->surface, &r, z_makecol(192, 192, 192)); zsdl_printf(zosk->surface, r.x + r.w/2, r.y + r.h / 2, z_makecol(0, 0, 0), 0, ZFONT_CENTERX | ZFONT_CENTERY | ZFONT_TRANSP | ZFONT_USERH(zosk->font_h), "x"); for (i = 0; i < zosk->keys->len; i++){ struct zosk_key *key = (struct zosk_key *)g_ptr_array_index(zosk->keys, i); int color = key == zosk->active || key->pressed ? z_makecol(150, 0, 0) : zosk->bbg; if (key->pressed == 2) color = z_makecol(0, 75, 150); if (zosk->flags & ZOSK_IGNOREESC) color = zosk->bbg; zosk_draw_key(zosk, key, color); if (key == zosk->active && key->pressed != 2) zosk_draw_top(zosk, key); } } int zosk_send(struct zosk *zosk){ SDL_Event ev; int i; struct zosk_key *key = zosk->sent; memset(&ev, 0, sizeof(ev)); ev.type = SDL_KEYDOWN; ev.key.keysym.mod = KMOD_NONE; if (zosk->ctrl->pressed) ev.key.keysym.mod = KMOD_LCTRL; if (zosk->alt->pressed) ev.key.keysym.mod = KMOD_LALT; if (zosk->shift->pressed) ev.key.keysym.mod = KMOD_LSHIFT; ev.key.keysym.scancode = 1; ev.key.keysym.sym = key->sym; if (zosk->fn->pressed && key->symFn != SDLK_UNKNOWN) ev.key.keysym.sym = key->symFn; if (zosk->shift->pressed && key->symShift != SDLK_UNKNOWN) ev.key.keysym.sym = key->symShift; #ifdef Z_HAVE_SDL1 ev.key.keysym.unicode = 0; ev.key.which = 0; #endif ev.key.state = SDL_PRESSED; SDL_PushEvent(&ev); //dbg("push %d\n", ev.key.keysym.sym); if (!zosk->ctrl->pressed && !zosk->alt->pressed){ if (ev.key.keysym.sym >= ' ' && ev.key.keysym.sym < 128){ if (zosk->shift->pressed || (zosk->flags & ZOSK_UPCONVERT)) g_string_append_c(zosk->gs, z_char_uc((char)ev.key.keysym.sym)); else g_string_append_c(zosk->gs, (char)ev.key.keysym.sym); } if (ev.key.keysym.sym == SDLK_BACKSPACE && zosk->gs->len > 0){ g_string_erase(zosk->gs, zosk->gs->len - 1, 1); } if (ev.key.keysym.sym == SDLK_RETURN && (zosk->flags & ZOSK_CLEARENTER)){ g_string_truncate(zosk->gs, 0); } } if (!key->isshift){ for (i = 0; i < zosk->keys->len; i++){ struct zosk_key *key2 = (struct zosk_key *)g_ptr_array_index(zosk->keys, i); if (key2 == zosk->shift && key2->pressed == 2) continue; if (key2 == zosk->fn && key2->pressed == 2) continue; key2->pressed = 0; } zosk->shifts_active = 0; }else{ if (!key->pressed){ key->pressed = 1; zosk->shifts_active++; }else{ if ((key == zosk->shift || key == zosk->fn) && key->pressed == 1){ key->pressed = 2; }else{ key->pressed = 0; zosk->shifts_active--; zosk->active = NULL; } } } return 0; } void zosk_repeat(void *arg){ struct zosk *zosk = (struct zosk*)arg; //int closesize = (zosk->font_h * 3) / 2; zosk_send(zosk); zosk->repeat_timer_id = zselect_timer_new(zsel, 20*2, zosk_repeat, zosk); } int zosk_click(struct zosk *zosk, int x, int y, int pressed){ int i; int closesize = (zosk->font_h * 3) / 2; // int white = z_makecol(255, 255, 255); struct zosk_key *oldactive = zosk->active; //int bg = z_makecol(0, 0, 0); //int bg2 = z_makecol(76, 76, 76); if (zosk->active && zosk->active->isshift == 0){ //zosk_draw_key(zosk, zosk->active, zosk->bbg); zosk->active = NULL; } if (x >= zosk->surface->w - closesize && y >- 0 && y < closesize ){ x = zosk->esc->x; y = zosk->esc->y; zosk->flags |= ZOSK_ENTERCLOSE; zosk->flags |= ZOSK_IGNOREESC; } for (i = 0; i < zosk->keys->len; i++){ struct zosk_key *key = (struct zosk_key *)g_ptr_array_index(zosk->keys, i); if (x < key->x) continue; if (y < key->y) continue; if (x >= key->x + key->w) continue; if (y >= key->y + key->h) continue; if (pressed){ //zosk_draw_key(zosk, key, z_makecol(150, 0, 0)); zosk->active = key; zosk->sent = key; if (zosk->repeat_timer_id) zselect_timer_kill(zsel, zosk->repeat_timer_id); //zosk->repeat_timer_id = zselect_timer_new(zsel, 500/*300*/, zosk_repeat, zosk); }else{ if (zosk->repeat_timer_id) { zselect_timer_kill(zsel, zosk->repeat_timer_id); zosk->repeat_timer_id = 0; } if (key == oldactive){ // dbg("key==oldactive isshift=%d key->pressed=%d\n", key->isshift, key->pressed); if (key->sym == ZOSK_LEFT){ if (cfg->touchpos == ZOSK_TP_CENTER) cfg->touchpos = ZOSK_TP_LEFT; if (cfg->touchpos == ZOSK_TP_RIGHT) cfg->touchpos = ZOSK_TP_CENTER; zosk_move(zosk); sdl_force_redraw(); break; } if (key->sym == ZOSK_RIGHT){ if (cfg->touchpos == ZOSK_TP_CENTER) cfg->touchpos = ZOSK_TP_RIGHT; if (cfg->touchpos == ZOSK_TP_LEFT) cfg->touchpos = ZOSK_TP_CENTER; zosk_move(zosk); sdl_force_redraw(); break; } zosk_send(zosk); } } redraw_later(); return 0; } //sdl_force_redraw(); //dbg("ctrl: isshift=%d key->pressed=%d\n", zosk->ctrl->isshift, zosk->ctrl->pressed); //dbg("shift: isshift=%d key->pressed=%d\n", zosk->shift->isshift, zosk->shift->pressed); //dbg("alt: isshift=%d key->pressed=%d\n", zosk->alt->isshift, zosk->alt->pressed); redraw_later(); return 1; } void zosk_clear(struct zosk *zosk){ g_string_assign(zosk->gs, ""); } void zosk_portrait(struct zosk *zosk){ //dbg("zosk_portrait %d %d<%d\n", cfg->portrait, sdl->screen->w, sdl->screen->h); if (cfg->portrait && sdl->screen->w < sdl->screen->h){ zosk->parent_y = sdl->screen->h - zosk->surface->h; gses->osk->flags &= ~ZOSK_ENTERCLOSE; //dbg("zosk_portrait parent_y=%d zosk->surface->h=%d\n", zosk->parent_y, zosk->surface->h); resize_terminal(GINT_TO_POINTER(1)); } } #endif tucnak-4.32/src/vhfcontestnet.c0000644000175000017500000003037613700130565013506 00000000000000/* vhfcontestnet.c - Upload to www.vhfcontest.net Copyright (C) 2014-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "vhfcontestnet.h" #include #include "bfu.h" #include "dwdb.h" #include "edi.h" #include "fifo.h" #include "main.h" #include "menu.h" #include "subwin.h" #include "stats.h" #include "tregex.h" struct vhfcontestnet *init_vhfcontestnet(void){ struct vhfcontestnet *vcn = g_new0(struct vhfcontestnet, 1); vcn->http = zhttp_init(); return vcn; } void free_vhfcontestnet(struct vhfcontestnet *vcn){ if (vcn->http) zhttp_free(vcn->http); g_free(vcn); } int vhfcontestnet_country(char *call){ char dxcc[256]; get_dxcc(dw, dxcc, call); z_str_uc(dxcc); if (strcmp(dxcc, "9A") == 0) return 5; if (strcmp(dxcc, "CT") == 0) return 27; if (strcmp(dxcc, "DL") == 0) return 3; if (strcmp(dxcc, "EA") == 0) return 26; if (strcmp(dxcc, "ES") == 0) return 16; if (strcmp(dxcc, "F") == 0) return 6; if (strcmp(dxcc, "G") == 0) return 19; if (strcmp(dxcc, "HA") == 0) return 28; if (strcmp(dxcc, "HB9") == 0) return 20; if (strcmp(dxcc, "I") == 0) return 7; if (strcmp(dxcc, "LA") == 0) return 23; if (strcmp(dxcc, "LY") == 0) return 17; if (strcmp(dxcc, "LZ") == 0) return 11; if (strcmp(dxcc, "OE") == 0) return 29; if (strcmp(dxcc, "OH") == 0) return 15; if (strcmp(dxcc, "OK") == 0) return 1; if (strcmp(dxcc, "OM") == 0) return 2; if (strcmp(dxcc, "ON") == 0) return 22; if (strcmp(dxcc, "OZ") == 0) return 13; if (strcmp(dxcc, "PA") == 0) return 21; if (strcmp(dxcc, "RA") == 0) return 25; if (strcmp(dxcc, "S5") == 0) return 4; if (strcmp(dxcc, "SM") == 0) return 14; if (strcmp(dxcc, "SP") == 0) return 12; if (strcmp(dxcc, "T9") == 0) return 9; if (strcmp(dxcc, "UR") == 0) return 24; if (strcmp(dxcc, "YL") == 0) return 18; if (strcmp(dxcc, "YO") == 0) return 10; if (strcmp(dxcc, "YU") == 0) return 8; if (strcmp(dxcc, "Z3") == 0) return 30; return -1; } void vhfcontestnet_upload(void *arg){ GString *gs = g_string_new(""); GString *gs2 = g_string_new(""); int i, maxpsectlen = strlen("single"), maxpwrlen = 0; struct band *b; char *c; if (gses->vcn) return; if (!ctest) return; menu_export_edi(arg); for (i = 0; i < ctest->bands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->edifile == NULL) continue; if (b->psect == 3 && strlen(b->opsect) > maxpsectlen) maxpsectlen = strlen(b->opsect); if (strlen(b->spowe) > maxpwrlen) maxpwrlen = strlen(b->spowe); } for (i = 0; i < ctest->bands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->edifile == NULL) continue; g_string_append_printf(gs, "%-*s %4d %6d %*s %s\n", maxpsectlen, get_psect_str(b), b->stats->nqsos, b->stats->ntotal, maxpwrlen, b->spowe, b->stxeq); } g_string_append_printf(gs2, TRANSLATE("Contest: %s\n"), ctest->tname); g_string_append_printf(gs2, TRANSLATE("Call: %s\n\n"), ctest->pcall); g_string_append_printf(gs2, "%-*s %-4s %-6s %*s %s\n", maxpsectlen, "Sect.", "QSOs", "Points", maxpwrlen, "Power", "Equipment"); g_string_insert(gs, 0, gs2->str); g_string_free(gs2, TRUE); g_string_append_printf(gs, TRANSLATE("\nSend logs to www.vhfcontest.net?")); c = g_strdup(gs->str); g_string_free(gs, TRUE); msg_box(getml(c, NULL), VTEXT(T_INFO), AL_LEFT, c, NULL, 2, VTEXT(T_YES), vhfcontestnet_do_upload, B_ENTER, VTEXT(T_NO), NULL, B_ESC); } void vhfcontestnet_do_upload(void *arg){ gses->vcn = init_vhfcontestnet(); g_free(gses->vcn->status);gses->vcn->status = g_strdup(VTEXT(T_READING_LIST_OF_OPENED_CONTESTS)); vhfcontestnet_info(NULL); sw_raise_or_new(SWT_LOG); zhttp_get(gses->vcn->http, zsel, "http://www.vhfcontest.net/index.php?kat=zavody&lang=eng", vhfcontestnet_zavody, gses->vcn); } void vhfcontestnet_zavody(struct zhttp *http){ struct vhfcontestnet *vcn = (struct vhfcontestnet*)http->arg; char line[4096]; int ofs, n = 0, max = 0; struct menu_item *mi = NULL; if (http->errorstr){ g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_CANT_GET_LIST_OF_CONTESTS), http->errorstr); zhttp_free(vcn->http); vcn->http = NULL; //free_vhfcontestnet(vcn); return; } if (!(mi = new_menu(3))) return; mi->rtext = VTEXT(T_CHOOSE_CONTEST); for (ofs = http->dataofs; ofs < http->response->len; ofs++){ char *c1 = NULL, *c2 = NULL, *d1 = NULL, *d2 = NULL; zbinbuf_getline(http->response, &ofs, line, sizeof(line)); //dbg("line=%s\n", line); if (regmatch(line, "", &c1, &c2, NULL) == 0){ //dbg("MATCH %s\n", c2); if (regmatch(line, "\\.<\\/td>([^<]+)<\\/td>", &d1, &d2, NULL) == 0){ add_to_menu(&mi, g_strdup(d2),"", "", vhfcontestnet_contest, GINT_TO_POINTER(atoi(c2)), 0); if (strlen(d2) > max) max = strlen(d2); n++; } } g_free(c1); g_free(c2); g_free(d1); g_free(d2); } if (mi->func == NULL){ g_free(vcn->status);vcn->status = g_strdup(VTEXT(T_NO_CONTEST_AVAILABLE_FOR_UPLOAD)); zhttp_free(vcn->http); vcn->http = NULL; //free_vhfcontestnet(vcn); return; } set_window_ptr(gses->win, (term->x - max)/2,(term->y - 2 - n)/2); do_menu_selected(mi, http, 0); } void vhfcontestnet_contest(void *arg, void *arg2){ struct zhttp *http = (struct zhttp*)arg2; struct vhfcontestnet *vcn = (struct vhfcontestnet*)http->arg; char *url; vcn->ctestid = GPOINTER_TO_INT(arg); g_free(vcn->status);vcn->status = g_strdup(VTEXT(T_OBTAINING_CONTEST_WEB_FORM)); url = g_strdup_printf("http://www.vhfcontest.net/?kat=getlog/upload&lang=eng&zavod=%d", vcn->ctestid); zhttp_get(http, zsel, url, vhfcontestnet_contestform, http->arg); g_free(url); } void vhfcontestnet_contestform(struct zhttp *http){ struct vhfcontestnet *vcn = (struct vhfcontestnet*)http->arg; char line[4096], *c, *log; int ofs; struct band *b; if (http->errorstr){ g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_CANT_GET_UPLOAD_FORM), http->errorstr); zhttp_free(vcn->http); vcn->http = NULL; return; } zhttp_post_free(http); for (ofs = http->dataofs; ofs < http->response->len; ofs++){ char *c1 = NULL, *c2 = NULL, *c3 = NULL; zbinbuf_getline(http->response, &ofs, line, sizeof(line)); //dbg("line=%s\n", line); if (regmatch(line, "", &c1, &c2, &c3, NULL) == 0){ dbg("MATCH '%s' = '%s'\n", c2, c3); zhttp_post_add(http, c2, c3); } g_free(c1); g_free(c2); g_free(c3); } zhttp_post_add(http, "zverejnit", "1"); vcn->country = vhfcontestnet_country(ctest ? ctest->pcall : cfg->pcall); // TODO zajistit spusteni jen v kontestu c = g_strdup_printf("%d", vcn->country); zhttp_post_add(http, "country", c); g_free(c); for (; vcn->bandi < ctest->bands->len; vcn->bandi++){ b = (struct band *)g_ptr_array_index(ctest->bands, vcn->bandi); if (b->edifile != NULL) break; } if (vcn->bandi >= ctest->bands->len){ log_addf(VTEXT(T_ALL_EDI_FILES_PROCESSED), http->errorstr); vhfcontestnet_ask_claimed(http); return; } g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_UPLOADING_LOG_FILE_S), z_filename(b->edifile)); log_addf(VTEXT(T_UPLOADING_BAND_S), b->bandname); log = zfile_read_textfile(b->edifile); if (log == NULL){ g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_CANT_READ_LOG_FILE), b->edifile); zhttp_free(vcn->http); vcn->http = NULL; //free_vhfcontestnet(vcn); return; } zhttp_post_add_file_mem(http, "log", z_filename(b->edifile), log); zhttp_post(http, zsel, "http://www.vhfcontest.net/", vhfcontestnet_sent, http->arg); //zhttp_post(http, zsel, "http://ok1zia.nagano.cz/tmp/post.php", vhfcontestnet_sent, http->arg); } void vhfcontestnet_sent(struct zhttp *http){ struct vhfcontestnet *vcn = (struct vhfcontestnet*)http->arg; char *html, *txt, *c1 = NULL, *c2 = NULL; if (http->errorstr){ g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_CANT_UPLOAD_LOG), http->errorstr); zhttp_free(vcn->http); vcn->http = NULL; //free_vhfcontestnet(vcn); return; } g_free(vcn->status);vcn->status = g_strdup(VTEXT(T_CONFIRMING_LOG)); html = (char *)g_malloc(http->response->len + 1); zbinbuf_getstr(http->response, http->dataofs, html, http->response->len - http->dataofs + 1); txt = z_html2txt(html); if (regmatch(html, "", &c1, &c2, NULL) == 0){ GString *gs = g_string_new(c2); z_string_replace(gs, "\r", "", ZSR_ALL); z_string_replace(gs, "\n", "", ZSR_ALL); z_string_replace(gs, " ", "%20", ZSR_ALL); // workaround, bug on vhfcontest.net g_string_insert(gs, 0, "http://www.vhfcontest.net/"); zhttp_get(http, zsel, gs->str, vhfcontestnet_confirmed, http->arg); g_string_free(gs, TRUE); g_free(c1); g_free(c2); }else{ fifo_add_lines(glog, txt); log_addf(VTEXT(T_RESULT_ERROR)); g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_LOG_IS_NOT_VALID), http->errorstr); zhttp_free(vcn->http); vcn->http = NULL; //free_vhfcontestnet(vcn); } g_free(html); g_free(txt); } void vhfcontestnet_confirmed(struct zhttp *http){ struct vhfcontestnet *vcn = (struct vhfcontestnet*)http->arg; if (http->errorstr){ g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_CANT_CONFIRM_LOG), http->errorstr); zhttp_free(vcn->http); vcn->http = NULL;//free_vhfcontestnet(vcn); return; } /*log_adds(""); log_adds(""); html = (char *)g_malloc(http->response->len + 1); zbinbuf_getstr(http->response, http->dataofs, html, http->response->len - http->dataofs + 1); txt = z_html2txt(html); fifo_add_lines(glog, txt); */ log_addf("OK"); vcn->bandi++; vhfcontestnet_contest(GINT_TO_POINTER(vcn->ctestid), http); } void vhfcontestnet_ask_claimed(struct zhttp *http){ struct vhfcontestnet *vcn = (struct vhfcontestnet*)http->arg; char *url; g_free(vcn->status);vcn->status = g_strdup(VTEXT(T_DOWNLOADING_CLAIMED_SCORES)); url = g_strdup_printf("http://www.vhfcontest.net/getlog/gentxtsql.php?zavod=%d&country=%d", vcn->ctestid, vcn->country); zhttp_get(http, zsel, url, vhfcontestnet_claimed, http->arg); g_free(url); } void vhfcontestnet_claimed(struct zhttp *http){ struct vhfcontestnet *vcn = (struct vhfcontestnet*)http->arg; char *html, *c; GString *gs; if (http->errorstr){ g_free(vcn->status);vcn->status = g_strdup_printf(VTEXT(T_CANT_GET_CLAIMED_SCORES), http->errorstr); zhttp_free(vcn->http); vcn->http = NULL;//free_vhfcontestnet(vcn); return; } html = (char *)g_malloc(http->response->len + 1); zbinbuf_getstr(http->response, http->dataofs, html, http->response->len - http->dataofs + 1); gs = g_string_new(html); c = z_strcasestr(gs->str, "
");
	if (c != NULL) g_string_erase(gs, 0, (c - gs->str) + 5);
	c = z_strcasestr(gs->str, "
"); if (c != NULL) g_string_truncate(gs, c - gs->str); fifo_add_lines(glog, gs->str); g_string_free(gs, TRUE); g_free(html); g_free(vcn->status);vcn->status = g_strdup(VTEXT(T_LOGS_UPLOADED)); zhttp_free(vcn->http); vcn->http = NULL; } void vhfcontestnet_abort(void *arg){ if (!gses->vcn) return; free_vhfcontestnet(gses->vcn); gses->vcn = NULL; } void vhfcontestnet_info(void *arg1){ struct refresh *r; char *c, *button; GString *gs; if (!gses || !gses->vcn) return; if (term->windows.next->handler == menu_func){ zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, vhfcontestnet_info, NULL); }else{ r = (struct refresh*)g_malloc(sizeof(struct refresh)); r->win = NULL; r->fn = vhfcontestnet_info; r->data = NULL; r->timer = -1; gs = g_string_new(""); if (gses->vcn->status != NULL) g_string_append_printf(gs, "%s", gses->vcn->status); if (gses->vcn->status != NULL && gses->vcn->http != NULL) g_string_append(gs, "\n\n"); if (gses->vcn->http != NULL){ g_string_append(gs, VTEXT(T_HTTP_STATUS)); zhttp_status(gses->vcn->http, gs); button = VTEXT(T_CANCEL); }else{ button = VTEXT(T_OK); } c = g_strdup(gs->str); g_string_free(gs, TRUE); msg_box(getml(c, NULL), VTEXT(T_LOG_UPLOAD)/*VTEXT(T_NINFO)*/, AL_LEFT, c, r, 1, button, vhfcontestnet_abort, B_ENTER | B_ESC); r->win = term->windows.next; ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort; r->timer = zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r); } } tucnak-4.32/src/tregex.h0000644000175000017500000000130512500546100012076 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __TREGEX_H #define __TREGEX_H #include "header.h" #define MAX_MATCHES 10 int regcmp(char *string, char *regex); int regcmpi(char *string, char *regex); #ifdef LEAK_DEBUG_LIST #define regmatch(string, regex...) debug_regmatch(__FILE__, __LINE__, string, regex) int debug_regmatch(char *file, int line, const char *string, char *regex, ...); #else int regmatch(const char *string, char *regex, ...); #endif #endif tucnak-4.32/src/msvcver.h0000644000175000017500000000002714125267033012277 00000000000000#define VERSION "4.32" tucnak-4.32/src/svnversion.h0000644000175000017500000000003114125266632013025 00000000000000#define T_SVNVER "8489M" tucnak-4.32/src/menu2.c0000644000175000017500000003766514040025076011650 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "chart.h" #include "edi.h" #include "map.h" #include "menu.h" #include "net.h" #include "qrvdb.h" #include "qsodb.h" #include "rain.h" #include "session.h" #include "sked.h" #include "stats.h" #include "terminal.h" /******************** MODES *********************************/ #define MAX_MODES 9 gint mode; char mode_str[EQSO_LEN]; void mode_func (void *arg){ int active; active=GPOINTER_TO_INT(arg); if (active<0 || active>MAX_MODES) return; mode = active; safe_strncpy0(mode_str, get_text_translation(mode_msg[mode]),EQSO_LEN); /*safe_strncpy0(mode_str,_(CTEXT(T_QP0+qsop_method),term),MAX_STR_LEN);*/ redraw_later(); } int dlg_mode(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; if (!(mi = new_menu(1))) return 0; for (i = 1; i <= MAX_MODES; i++) { add_to_menu(&mi, mode_msg[i], "", "", MENU_FUNC mode_func, GINT_TO_POINTER(i), 0); } sel = mode-1; if (sel < 0) sel = 0; if (sel>=MAX_MODES) sel=0; do_menu_selected(mi, GINT_TO_POINTER(mode), sel); return 0; } /******************** EDIT QSO *******************************/ static char callsign[EQSO_LEN], rstr[EQSO_LEN], qsonrr[EQSO_LEN], exc[MAX_EXC_LEN+1], locator[EQSO_LEN]; /*gint mode; char mode_str[EQSO_LEN]*/ char rsts[EQSO_LEN], qsonrs[EQSO_LEN]; static char date_str[EQSO_LEN], time_str[EQSO_LEN], operator_[EQSO_LEN], remark[MAX_STR_LEN], phase_str[EQSO_LEN]; gint qerror,qsl; #define OEQSO_LEN 24 #define QRG_LEN 50 char ocallsign[OEQSO_LEN], orstr[OEQSO_LEN], oqsonrr[OEQSO_LEN], oexc[MAX_EXC_LEN+1], olocator[OEQSO_LEN]; char omode_str[OEQSO_LEN], orsts[OEQSO_LEN], oqsonrs[OEQSO_LEN]; char odate_str[OEQSO_LEN], otime_str[OEQSO_LEN], ooperator[OEQSO_LEN], oremark[MAX_STR_LEN], oqrg[QRG_LEN], ophase_str[OEQSO_LEN]; char oomode_str[OEQSO_LEN], oorstr[OEQSO_LEN], oorsts[OEQSO_LEN]; int pbandi=0; #define TIME_DELIM ":." void refresh_edit_qso(struct qso *q) { char *token_ptr, *h, *m; char raw[30]; struct qso *qq; /* dbg("refresh_edit_qso\n");*/ dump_qso(q, "refresh_edit_qso before"); z_get_raw_call(raw, q->callsign); g_hash_table_remove(q->band->rawqsoshash, raw); if ((strcmp(rstr,oorstr) || strcmp(rsts,oorsts)) && !strcmp(mode_str,oomode_str)){ if (mode == MOD_SSB_SSB || mode == MOD_CW_SSB || mode == MOD_SSB_CW || mode == MOD_CW_CW){ int s,r; /* CHANGE menu2.c refresh_edit_qso */ s=strlen(rsts); r=strlen(rstr); if (s==3 && r==3) mode=MOD_CW_CW; if (s==2 && r==2) mode=MOD_SSB_SSB; if (s==3 && r==2) mode=MOD_CW_SSB; if (s==2 && r==3) mode=MOD_SSB_CW; } } m = NULL; h = strtok_r(time_str, TIME_DELIM, &token_ptr); if (h) m = strtok_r(NULL, TIME_DELIM, &token_ptr); if (m){ sprintf(time_str, "%02d%02d", atoi(h)%24, atoi(m)%60); }else{ sprintf(time_str, "%02d%02d", atoi(time_str)/100, atoi(time_str)%100); } STORE_STR_FS (q,time_str); STORE_STR_FS_UC(q,operator_); STORE_STR_FS (q,date_str); STORE_STR_FS_UC(q,callsign); STORE_INT (q,mode); STORE_STR_FS_UC(q,rsts); STORE_STR_FS_UC(q,rstr); STORE_STR_FS (q,qsonrr); STORE_STR_FS_UC(q,exc); STORE_STR_FS_UC(q,locator); STORE_STR_FS (q,remark); STORE_SINT (q, phase); q->error = qerror; q->qsl = qsl; q->stamp = time(NULL); g_hash_table_foreach(ctest->bystamp, foreach_source_qsort_by_stamp, NULL); z_ptr_array_qsort(ctest->allqsos, compare_date_time_qsonrs); compute_qrbqtf(q); dirty_band(aband); write_qso_to_swap(aband, q); replicate_qso(NULL, q); // recalc_stats(aband); recalc_worked_skeds(aband); qrv_recalc_wkd(qrv); qrv_recalc_qrbqtf(qrv); qrv_recalc_gst(qrv); if (!q->dupe && !q->error){ z_get_raw_call(raw, q->callsign); qq = (struct qso *)g_hash_table_lookup(q->band->rawqsoshash, raw); if (!qq) g_hash_table_insert(q->band->rawqsoshash, g_strdup(raw), q); } /*check_autosave();*/ #ifdef Z_HAVE_SDL maps_reload(); rain_reload(); #endif chart_reload(); dump_qso(q, "refresh_edit_qso after"); dump_all_sources(ctest); } char *edit_qso_msg[] = { ocallsign, /* 0 */ orstr , oqsonrr , oexc , olocator , omode_str, /* 5 */ orsts , /*oqsonrs ,*/ odate_str, otime_str, ooperator, oremark , /* 10 */ ophase_str, /*oqrg, */ CTEXT(T_ERROR), CTEXT(T_QSL), "", /* OK */ /* 14 */ "", /* Cancel */ }; void edit_qso_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_group_width(term, edit_qso_msg + 0 , dlg->items + 0, 1, &max); min_group_width(term, edit_qso_msg + 0 , dlg->items + 0, 1, &min); max_group_width(term, edit_qso_msg + 1 , dlg->items + 1, 1, &max); min_group_width(term, edit_qso_msg + 1 , dlg->items + 1, 1, &min); max_group_width(term, edit_qso_msg + 2 , dlg->items + 2, 1, &max); min_group_width(term, edit_qso_msg + 2 , dlg->items + 2, 1, &min); max_group_width(term, edit_qso_msg + 3 , dlg->items + 3, 1, &max); min_group_width(term, edit_qso_msg + 3 , dlg->items + 3, 1, &min); max_group_width(term, edit_qso_msg + 4 , dlg->items + 4, 1, &max); min_group_width(term, edit_qso_msg + 4 , dlg->items + 4, 1, &min); max_group_width(term, edit_qso_msg + 5 , dlg->items + 5, 1, &max); min_group_width(term, edit_qso_msg + 5 , dlg->items + 5, 1, &min); max_group_width(term, edit_qso_msg + 6 , dlg->items + 6, 1, &max); min_group_width(term, edit_qso_msg + 6 , dlg->items + 6, 1, &min); max_group_width(term, edit_qso_msg + 7 , dlg->items + 7, 1, &max); min_group_width(term, edit_qso_msg + 7 , dlg->items + 7, 1, &min); max_group_width(term, edit_qso_msg + 8 , dlg->items + 8, 1, &max); min_group_width(term, edit_qso_msg + 8 , dlg->items + 8, 1, &min); max_group_width(term, edit_qso_msg + 9 , dlg->items + 9, 1, &max); min_group_width(term, edit_qso_msg + 9 , dlg->items + 9, 1, &min); max_group_width(term, edit_qso_msg +10 , dlg->items +10, 1, &max); min_group_width(term, edit_qso_msg +10 , dlg->items +10, 1, &min); max_group_width(term, edit_qso_msg +11 , dlg->items +11, 1, &max); min_group_width(term, edit_qso_msg +11 , dlg->items +11, 1, &min); max_group_width(term, edit_qso_msg +12 , dlg->items +12, 1, &max); min_group_width(term, edit_qso_msg +12 , dlg->items +12, 1, &min); max_group_width(term, edit_qso_msg + 13, dlg->items + 13, 1, &max); min_group_width(term, edit_qso_msg + 13, dlg->items + 13, 1, &min); max_buttons_width(term, dlg->items +14, 2, &max); min_buttons_width(term, dlg->items +14, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB; if (w < 1) w = 1; rw = 0; y ++; dlg_format_group(NULL, term, edit_qso_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 1, dlg->items + 1, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 2, dlg->items + 2, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 3, dlg->items + 3, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 4, dlg->items + 4, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 5, dlg->items + 5, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 6, dlg->items + 6, 1, 0, &y, w, &rw); dlg_format_text (NULL, term, oqsonrs, dlg->x+6, &y, w, &rw, COLOR_DIALOG_TEXT, 0); dlg_format_group(NULL, term, edit_qso_msg + 7, dlg->items + 7, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 8, dlg->items + 8, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 9, dlg->items + 9, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg +10, dlg->items +10, 1, 0, &y, w, &rw); dlg_format_text (NULL, term, oqrg, dlg->x +6, &y, w, &rw, COLOR_DIALOG_TEXT, 0); dlg_format_group(NULL, term, edit_qso_msg +11, dlg->items +11, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 12, dlg->items + 12, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, edit_qso_msg + 13, dlg->items + 13, 1, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items + 14, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_group(term, term, edit_qso_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 1, dlg->items + 1, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 2, dlg->items + 2, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 3, dlg->items + 3, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 4, dlg->items + 4, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 5, dlg->items + 5, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 6, dlg->items + 6, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_text (term, term, oqsonrs, dlg->x+6, &y, w, &rw, COLOR_DIALOG_TEXT, 0); dlg_format_group(term, term, edit_qso_msg + 7, dlg->items + 7, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 8, dlg->items + 8, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 9, dlg->items + 9, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg +10, dlg->items +10, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_text (term, term, oqrg, dlg->x +6, &y, w, &rw, COLOR_DIALOG_TEXT, 0); dlg_format_group(term, term, edit_qso_msg +11, dlg->items +11, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 12, dlg->items + 12, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, edit_qso_msg + 13, dlg->items + 13, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_buttons(term, term, dlg->items +14, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } static int ok_dialog_stat_update(struct dialog_data *dlg, struct dialog_item_data *di) { int ret; ret = ok_dialog(dlg,di); if (!ctest) return 1; recalc_all_stats(ctest); return ret; } void edit_qso(struct qso *qso) { struct dialog *d; int i, len; static char ss[102]; char s[1000]; /* dbg("edit_qso\n");*/ if (!qso) return; dump_qso(qso, "edit_qso"); dump_all_sources(ctest); safe_strncpy0(callsign, qso->callsign, EQSO_LEN); z_str_uc(callsign); safe_strncpy0(rstr, qso->rstr, EQSO_LEN); safe_strncpy0(qsonrr, qso->qsonrr, EQSO_LEN); safe_strncpy0(exc, qso->exc, MAX_EXC_LEN+1); safe_strncpy0(locator, qso->locator, EQSO_LEN); z_str_uc(locator); mode=qso->mode; safe_strncpy0(mode_str, get_text_translation(mode_msg[mode]), EQSO_LEN); safe_strncpy0(rsts, qso->rsts, EQSO_LEN); safe_strncpy0(qsonrs, qso->qsonrs, EQSO_LEN); safe_strncpy0(date_str, qso->date_str, EQSO_LEN); safe_strncpy0(time_str, qso->time_str, EQSO_LEN); safe_strncpy0(operator_, qso->operator_, EQSO_LEN); safe_strncpy0(remark, qso->remark, MAX_STR_LEN); LOAD_SINT(qso, phase); qerror = qso->error; qsl = qso->qsl; safe_strncpy0(oomode_str, mode_msg[mode],EQSO_LEN); safe_strncpy0(oorstr, qso->rstr, EQSO_LEN); safe_strncpy0(oorsts, qso->rsts, EQSO_LEN); g_snprintf(ocallsign, OEQSO_LEN, "%s %-15s", VTEXT(T_CALLSIGN2), callsign); g_snprintf(orstr , OEQSO_LEN, "%s %-15s", VTEXT(T_RSTR) , rstr ); g_snprintf(oqsonrr , OEQSO_LEN, "%s %-15s", VTEXT(T_QSONRR) , qsonrr ); g_snprintf(oexc , OEQSO_LEN, "%s %-15s", VTEXT(T_OPTEXCH) , exc ); g_snprintf(olocator , OEQSO_LEN, "%s %-15s", VTEXT(T_WWL) , locator ); g_snprintf(omode_str, OEQSO_LEN, "%s %-15s", VTEXT(T_MODE) , mode_str); g_snprintf(orsts , OEQSO_LEN, "%s %-15s", VTEXT(T_RSTS) , rsts ); g_snprintf(oqsonrs , OEQSO_LEN, "%s %-15s", VTEXT(T_QSONRS) , qsonrs ); g_snprintf(odate_str, OEQSO_LEN, "%s %-15s", VTEXT(T_DATE) , date_str); g_snprintf(otime_str, OEQSO_LEN, "%s %-15s", VTEXT(T_TIME) , time_str); g_snprintf(ooperator, OEQSO_LEN, "%s %-15s", VTEXT(T_OPERATOR) , operator_); g_snprintf(oremark, OEQSO_LEN, "%s %-15s", VTEXT(T_REMARK), remark); g_snprintf(ophase_str,OEQSO_LEN, "%s %-15s", VTEXT(T_PHASE_E), phase_str); sprintf(s,"%0.0f", qso->qrg); len=strlen(s); if (len>3) { memmove(s+len-2, s+len-3, 4); s[len-3]='.'; if (len>6){ memmove(s+len-5, s+len-6, 8); s[len-6]='.'; } } g_snprintf(oqrg, QRG_LEN, "%s %s Hz", VTEXT(T_QRG), s); if (!(d = (struct dialog*)g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); /*d->title = "Edit QSO";*/ g_snprintf(ss,100,VTEXT(T_EDIT_QSO_CD), aband->bandchar, atoi(qso->qsonrs)); d->title = ss; d->fn = edit_qso_fn; d->refresh = (void (*)(void *))refresh_edit_qso; d->refresh_data = (void *) qso; d->items[i=0].type = D_FIELD; /* 0 */ d->items[i].dlen = EQSO_LEN; d->items[i].data = callsign; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data =rstr; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = qsonrr; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_EXC_LEN + 1; d->items[i].maxl = EQSO_LEN; d->items[i].data = exc; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = locator; /* 5 */ d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_mode; d->items[i].text = mode_str; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rsts; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = date_str; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = time_str; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = operator_; d->items[++i].type = D_FIELD; /* 10 */ d->items[i].dlen = MAX_STR_LEN; d->items[i].maxl = EQSO_LEN; d->items[i].data = remark; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = phase_str; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&qerror; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&qsl; d->items[++i].type = D_BUTTON; /* 14 */ d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog_stat_update; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; /* 15 */ d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } tucnak-4.32/src/vhfcontestnet.h0000644000175000017500000000215312670365165013516 00000000000000/* vhfcontestnet.h - Upload to www.vhfcontest.net Copyright (C) 2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __VHFCONTESTNET_H #define __VHFCONTESTNET_H #include struct vhfcontestnet{ struct zhttp *http; int ctestid; int country; char *status; int bandi; }; struct vhfcontestnet *init_vhfcontestnet(void); void free_vhfcontestnet(struct vhfcontestnet *vcn); int vhfcontestnet_country(char *call); void vhfcontestnet_upload(void *arg); void vhfcontestnet_do_upload(void *arg); void vhfcontestnet_zavody(struct zhttp *http); void vhfcontestnet_contest(void *arg, void *arg2); void vhfcontestnet_contestform(struct zhttp *http); void vhfcontestnet_sent(struct zhttp *http); void vhfcontestnet_confirmed(struct zhttp *http); void vhfcontestnet_ask_claimed(struct zhttp *http); void vhfcontestnet_claimed(struct zhttp *http); void vhfcontestnet_abort(void *arg); void vhfcontestnet_info(void *arg1); #endif tucnak-4.32/src/alsa.c0000644000175000017500000005476513700130565011544 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ //#include #include "header.h" #include "alsa.h" #include "dsp.h" #include "fifo.h" #include "language2.h" #include "menu.h" #ifdef HAVE_ALSA static void device_info(GString *gs, int card, int pcm_device, snd_pcm_stream_t dir){ int err; char pcm_name[256], mixer_name[256]; snd_pcm_hw_params_t *hwparams; snd_pcm_t *pcm; snd_mixer_t *mixer_handle; snd_mixer_elem_t *elem; snd_ctl_t *ctl_handle; snd_ctl_card_info_t *hw_info; int sw; const char *mixer_chip; sprintf(pcm_name, "hw:%d,%d", card, pcm_device); err=snd_pcm_open(&pcm, pcm_name, dir, 0); if (err<0) return; snd_pcm_hw_params_alloca(&hwparams); snd_ctl_card_info_alloca(&hw_info); err=snd_pcm_hw_params_any(pcm, hwparams); if (err<0) goto x; /* int rate_num,rate_den; err=snd_pcm_hw_params_get_rate_numden(hwparams, &rate_num, &rate_den); if (err<0) goto x; printf(" rate_num=%d rate_den=%d\n", rate_num, rate_den); */ unsigned int channels_min = -1, channels = -1, channels_max = -1; err=snd_pcm_hw_params_get_channels_min(hwparams, &channels_min); //if (err<0) goto x1; err=snd_pcm_hw_params_get_channels(hwparams, &channels); // if (err<0) goto x1; err=snd_pcm_hw_params_get_channels_max(hwparams, &channels_max); // if (err<0) goto x1; g_string_append_printf(gs, " channels=%d .. %d .. %d\n", channels_min, channels, channels_max); //x1:; unsigned int rate_min, rate, rate_max; int dir_min, dir_, dir_max; err=snd_pcm_hw_params_get_rate_min(hwparams, &rate_min, &dir_min); if (err<0) goto x2; err=snd_pcm_hw_params_get_rate(hwparams, &rate, &dir_); if (err<0) goto x2; err=snd_pcm_hw_params_get_rate_max(hwparams, &rate_max, &dir_max); if (err<0) goto x2; g_string_append_printf(gs, " rate=%d .. %d .. %d\n", rate_min, rate, rate_max); x2: if (dir == SND_PCM_STREAM_CAPTURE){ sprintf(mixer_name, "hw:%d", card); snd_ctl_open(&ctl_handle, mixer_name, 0); if (err<0) goto x3c; err = snd_ctl_card_info(ctl_handle, hw_info); if (err<0){ snd_ctl_close(ctl_handle); goto x3c; } mixer_chip=snd_ctl_card_info_get_mixername(hw_info); g_string_append_printf(gs, " mixer chip=%s\n", mixer_chip); snd_ctl_close(ctl_handle); x3c: err=snd_mixer_open(&mixer_handle, 0); if (err<0) goto x3; err=snd_mixer_attach(mixer_handle, mixer_name); if (err<0) goto x3; err=snd_mixer_selem_register(mixer_handle, NULL, NULL); if (err<0) goto x3; err=snd_mixer_load(mixer_handle); if (err<0) goto x3; g_string_append_printf(gs, " elements="); for (elem=snd_mixer_first_elem(mixer_handle); elem; elem=snd_mixer_elem_next(elem)){ if (!snd_mixer_selem_has_capture_switch(elem)) continue; err=snd_mixer_selem_get_capture_switch(elem, 0, &sw); if (err<0) goto x3; if (sw) g_string_append_printf(gs, "[%s] ", snd_mixer_selem_get_name(elem)); else g_string_append_printf(gs, "'%s' ", snd_mixer_selem_get_name(elem)); } g_string_append_printf(gs, "\n"); x3: snd_mixer_close(mixer_handle); } x: snd_pcm_close(pcm); } static void card_info(GString *gs, int card){ int pcm_device; char *name; snd_ctl_t *ctl; char dev[256]; snd_pcm_info_t *pcm_info; g_string_append_printf(gs, "card hw:%d ",card); if (snd_card_get_name(card, &name)==0){ g_string_append_printf(gs, "%s", name); } g_string_append_printf(gs, "\n"); sprintf(dev,"hw:%d", card); snd_ctl_open(&ctl, dev, 0); snd_pcm_info_alloca(&pcm_info); pcm_device=-1; while(1){ if (snd_ctl_pcm_next_device(ctl, &pcm_device)) pcm_device=-1; if (pcm_device<0) break; snd_pcm_info_set_device(pcm_info, pcm_device); snd_pcm_info_set_subdevice(pcm_info, 0); snd_pcm_info_set_stream(pcm_info, SND_PCM_STREAM_PLAYBACK); if (snd_ctl_pcm_info(ctl, pcm_info)<0) continue; g_string_append_printf(gs, " playback hw:%d,%d %s\n", card, pcm_device, snd_pcm_info_get_name(pcm_info)); device_info(gs, card, pcm_device, SND_PCM_STREAM_PLAYBACK); } pcm_device=-1; while(1){ if (snd_ctl_pcm_next_device(ctl, &pcm_device)) pcm_device=-1; if (pcm_device<0) break; snd_pcm_info_set_device(pcm_info, pcm_device); snd_pcm_info_set_subdevice(pcm_info, 0); snd_pcm_info_set_stream(pcm_info, SND_PCM_STREAM_CAPTURE); if (snd_ctl_pcm_info(ctl, pcm_info)<0) continue; g_string_append_printf(gs, " capture hw:%d,%d %s\n", card, pcm_device, snd_pcm_info_get_name(pcm_info)); device_info(gs, card, pcm_device, SND_PCM_STREAM_CAPTURE); } } void alsa_info(GString *gs){ int card; g_string_append_printf(gs, "\n alsa_info:\n"); card=-1; snd_card_next(&card); while(card>-1){ card_info(gs, card); snd_card_next(&card); } g_string_append_printf(gs, "\n"); } int alsa_open(struct dsp *dsp, int rec){ int err, ratedir; unsigned int rateval; snd_pcm_hw_params_t *hwparams; snd_pcm_sw_params_t *swparams; /*snd_pcm_uframes_t frames;*/ unsigned buffer_time, period_time; int dir; unsigned int periods; snd_pcm_uframes_t buffer_size, period_size; if (dsp->pcm_opened) alsa_close(dsp); zg_free0(dsp->name); if (rec){ dsp->name = g_strdup(dsp->pcm_rec); }else{ dsp->name = g_strdup(dsp->pcm_play); } //dbg("alsa_open('%s', %s)\n", dsp->name, rec?"capture":"play"); err=snd_pcm_open(&dsp->pcm, dsp->name, rec?SND_PCM_STREAM_CAPTURE:SND_PCM_STREAM_PLAYBACK, 0); if (err<0){ log_addf(VTEXT(T_CANT_OPEN_ALSA_PCM_S_S), dsp->name, snd_strerror(-err)); goto err; } //dbg("alsa opened (%s)\n", dsp->name); dsp->pcm_opened=1; /* err=snd_pcm_nonblock(dsp->pcm, 1); if (err<0){ log_addf("alsa_open: snd_pcm_nonblock failed: %s", snd_strerror(-err)); goto err; } */ snd_pcm_hw_params_alloca(&hwparams); snd_pcm_sw_params_alloca(&swparams); /* HW parameters */ err=snd_pcm_hw_params_any(dsp->pcm, hwparams); if (err<0){ log_addf("alsa_open: snd_pcm_hw_params_any failed: %s", snd_strerror(-err)); goto err; } /* read/write format */ err=snd_pcm_hw_params_set_access(dsp->pcm, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED); if (err<0){ log_addf("alsa_open: snd_pcm_hw_params_set_access failed: %s", snd_strerror(-err)); goto err; } /* sample format */ err=snd_pcm_hw_params_set_format(dsp->pcm, hwparams, dsp->pcm_format); if (err<0){ char *c = "unknown"; switch(dsp->pcm_format){ case SND_PCM_FORMAT_MU_LAW: c = "MU_LAW"; break; case SND_PCM_FORMAT_A_LAW: c = "A_LAW"; break; case SND_PCM_FORMAT_IMA_ADPCM: c = "IMA_ADPCM"; break; case SND_PCM_FORMAT_S16_LE: c = "S16_LE"; break; default: c = "unknown"; break; } log_addf("alsa_open: snd_pcm_hw_params_set_format 0x%x (%s) failed: %s", dsp->pcm_format, c, snd_strerror(-err)); goto err; } /* channels */ err=snd_pcm_hw_params_set_channels(dsp->pcm, hwparams, dsp->channels); if (err<0){ log_addf("alsa_open: snd_pcm_hw_params_set_channels(%d) failed: %s", dsp->channels, snd_strerror(-err)); goto err; } /* sample rate */ rateval=dsp->speed; ratedir=0; err=snd_pcm_hw_params_set_rate_near(dsp->pcm, hwparams, &rateval, &ratedir); if (err<0){ log_addf("alsa_open: snd_pcm_hw_params_set_rate_near(%d) failed: %s", rateval, snd_strerror(-err)); goto err; } dir = 1; /* not sure if dir is input parameter. */ //buffer_time=500000; period_time=100000; if (dsp->period_time>0) period_time=dsp->period_time*1000; // dbg("snd_pcm_hw_params_set_buffer_time_near(buffer_time=%d, dir=%d)\n", buffer_time, dir); /* set the period time */ // dbg("snd_pcm_hw_params_set_period_time_near(period_time=%d, dir=%d\n", period_time, dir); err = snd_pcm_hw_params_set_period_time_near(dsp->pcm, hwparams, &period_time, &dir); if (err < 0) { log_addf("Unable to set period time %i: %s\n", period_time, snd_strerror(err)); goto err; } err = snd_pcm_hw_params_get_period_time(hwparams, &period_time, &dir); if (err < 0) { log_addf("Unable to get period time: %s\n", snd_strerror(err)); goto err; } dir = 0; // must be 0 otherwise here is not single value for buffer time on some cards periods = 2; err = snd_pcm_hw_params_set_periods(dsp->pcm, hwparams, periods, dir); if (err < 0) { /* set the buffer time */ dir = 1; buffer_time = period_time * 2; err = snd_pcm_hw_params_set_buffer_time_near(dsp->pcm, hwparams, &buffer_time, &dir); if (err < 0){ //log_addf("Unable to set buffer time %i: %s\n", buffer_time, snd_strerror(err)); //log_addf("Unable to set buffer period count %i and buffer time %d: %s\n", 2, snd_strerror(err), buffer_time); goto err; }else{ //log_addf("snd_pcm_hw_params_set_buffer_time_near(%d)", buffer_time); } }else{ //log_addf("snd_pcm_hw_params_set_periods(%d) OK", periods); } dir = 0; err = snd_pcm_hw_params_get_buffer_time(hwparams, &buffer_time, &dir); if (err < 0) { log_addf("Unable to get buffer time: %s\n", snd_strerror(err)); /* err = snd_pcm_hw_params_get_buffer_time_min(hwparams, &buffer_time, &dir); if (err == 0) log_addf("buffer_time_min=%d", buffer_time); err = snd_pcm_hw_params_get_buffer_time_max(hwparams, &buffer_time, &dir); if (err == 0) log_addf("buffer_time_max=%d", buffer_time); err = snd_pcm_hw_params_get_period_time_min(hwparams, &period_time, &dir); if (err == 0) log_addf("period_time_min=%d", period_time); err = snd_pcm_hw_params_get_period_time_max(hwparams, &period_time, &dir); if (err == 0) log_addf("period_time_max=%d", period_time); err = snd_pcm_hw_params_get_buffer_size_min(hwparams, &buffer_size); if (err == 0) log_addf("buffer_size_min=%d", buffer_size); err = snd_pcm_hw_params_get_buffer_size_max(hwparams, &buffer_size); if (err == 0) log_addf("buffer_size_max=%d", buffer_size); err = snd_pcm_hw_params_get_period_size_min(hwparams, &period_size, &dir); if (err == 0) log_addf("period_size_min=%d", period_size); err = snd_pcm_hw_params_get_period_size_max(hwparams, &period_size, &dir); if (err == 0) log_addf("period_size_max=%d", period_size);*/ goto err; } err = snd_pcm_hw_params_get_buffer_size(hwparams, &buffer_size); if (err < 0) { log_addf("Unable to get buffer size: %s\n", snd_strerror(err)); goto err; } dir = 0; err = snd_pcm_hw_params_get_period_size(hwparams, &period_size, &dir); if (err < 0) { log_addf("Unable to get period size: %s\n", snd_strerror(err)); goto err; } dbg("snd_pcm_hw_params_get_period_size() period_size=%d dir=%d\n", period_size, dir); /* write hwparams */ err=snd_pcm_hw_params(dsp->pcm, hwparams); if (err<0){ log_addf("alsa_open: snd_pcm_hw_params failed: %s", snd_strerror(-err)); goto err; } dsp->frames = period_size; dsp->samples = dsp->frames * dsp->channels; dsp->bytes = dsp->samples * sizeof(short); //log_addf("Alsa %s: period=%d (%1.1fms), buffer=%d (%1.1fms), bufsize=%d", rec ? "capt" : "play", period_size, period_time / 1000.0, buffer_size, buffer_time / 1000.0, dsp->bufsize); dbg("Alsa %s: period=%d (%1.1fms), buffer=%d (%1.1fms), bufsize=%df %ds %db\n", rec ? "capt" : "play", period_size, period_time / 1000.0, buffer_size, buffer_time / 1000.0, dsp->frames, dsp->samples, dsp->bytes); if (!rec){ dsp_write_empty(dsp); } /* // get the current swparams err = snd_pcm_sw_params_current(dsp->pcm, swparams); if (err < 0) { printf("Unable to determine current swparams for playback: %s\n", snd_strerror(err)); goto err; } // start the transfer when the buffer is almost full: // (buffer_size / avail_min) * avail_min err = snd_pcm_sw_params_set_start_threshold(dsp->pcm, swparams, (buffer_size / period_size) * period_size); if (err < 0) { printf("Unable to set start threshold mode for playback: %s\n", snd_strerror(err)); goto err; } // allow the transfer when at least period_size samples can be processed err = snd_pcm_sw_params_set_avail_min(dsp->pcm, swparams, period_size); if (err < 0) { printf("Unable to set avail min for playback: %s\n", snd_strerror(err)); goto err; } // align all transfers to 1 sample err = snd_pcm_sw_params_set_xfer_align(dsp->pcm, swparams, 1); if (err < 0) { printf("Unable to set transfer align for playback: %s\n", snd_strerror(err)); goto err; } // write the parameters to the playback device err = snd_pcm_sw_params(dsp->pcm, swparams); if (err < 0) { printf("Unable to set sw params for playback: %s\n", snd_strerror(err)); goto err; } */ //dbg("snd_pcm_state() = %d %s\n", snd_pcm_state(dsp->pcm), alsa_get_state(dsp)); if (snd_pcm_state(dsp->pcm) == SND_PCM_STATE_PREPARED){ err = snd_pcm_start(dsp->pcm); if (err < 0) { log_addf("Unable to start prepared alsa stream: %s", snd_strerror(err)); goto err; } } dsp->pcm_recover = 5; goto x; err:; dbg("alsa not opened\n"); alsa_close(dsp); return -1; x:; //dbg("alsa opened\n"); return 0; } int alsa_close(struct dsp *dsp){ if (!dsp->pcm_opened) return 0; snd_pcm_close(dsp->pcm); //dbg("alsa closed (%s)\n", dsp->name); dsp->pcm_opened=0; return 0; } int alsa_write(struct dsp *dsp, void *data, int frames){ int ret; short *sh = (short*)data; //dbg("\nalsa_write(%df) state=%s\n", frames, alsa_get_state(dsp)); while(frames > 0){ ret = snd_pcm_writei(dsp->pcm, sh, frames); //dbg("snd_pcm_writei(%df) returns %d state=%s\n", frames, ret, alsa_get_state(dsp)); if (ret < 0) { if (ret != -EPIPE) return ret; ret = snd_pcm_recover(dsp->pcm, -EPIPE, 0); /* snd_pcm_recover is since libasound 1.0.11 */ dbg("snd_pcm_recover() returns %d\n", ret); if (ret < 0) return ret; ret = 0; } frames -= ret; sh += ret * dsp->channels; } return frames; } int alsa_read(struct dsp *dsp, void *data, int aframes){ int frames; //dbg("snd_pcm_readi(%d)... state=%s\n", aframes, alsa_get_state(dsp)); repeat:; frames = snd_pcm_readi(dsp->pcm, data, aframes); //dbg("snd_pcm_readi return %d\n", frames); if (frames < 0) { if (frames == -EPIPE && dsp->pcm_recover-- > 0){ dbg("snd_pcm_readi returns %d, trying to recover... %d\n\n", frames, dsp->pcm_recover); frames = snd_pcm_recover(dsp->pcm, frames, 0); //dbg("snd_pcm_recover returns %d\n", frames); if (frames == 0) goto repeat; /*if (frames==-EPIPE){ frames=dsp->bpf*dsp->channels; log_addf("Alsa record buffer overrun (%d), forcing value (%d)", -EPIPE, frames); }*/ //frames = 1; //log_addf("Alsa record buffer overrun (%d), forcing value (%d)", -EPIPE, frames); } return -1; }else{ dsp->pcm_recover = 5; } if (frames > 0 && frames != aframes){ dbg("snd_pcm_readi(%d) returns %d\n", aframes, frames); } // if (frames>0) frames*=dsp->bpf*dsp->channels; /* if (frames==-EPIPE){ frames=dsp->bpf*dsp->channels; log_addf("Alsa record buffer overrun (%d), forcing value (%d)", -EPIPE, frames); }*/ return frames; } int alsa_reset(struct dsp *dsp){ snd_pcm_drop(dsp->pcm); return 0; } int alsa_sync(struct dsp *dsp){ snd_pcm_drain(dsp->pcm); return 0; } #ifdef HAVE_SNDFILE int alsa_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec){ switch (sfinfo->format & SF_FORMAT_SUBMASK){ /* case SF_FORMAT_PCM_U8: format=AFMT_U8; break; case SF_FORMAT_PCM_S8: format=AFMT_S8; break;*/ case SF_FORMAT_ULAW: dsp->pcm_format=SND_PCM_FORMAT_MU_LAW; break; case SF_FORMAT_ALAW: dsp->pcm_format=SND_PCM_FORMAT_A_LAW; break; case SF_FORMAT_IMA_ADPCM: dsp->pcm_format=SND_PCM_FORMAT_IMA_ADPCM; break; default: dsp->pcm_format=SND_PCM_FORMAT_S16_LE; } dsp->channels=sfinfo->channels; dsp->speed=sfinfo->samplerate; return 0; } #endif int alsa_get_sources(struct dsp *dsp, GString *labels){ int err; snd_mixer_t *mixer_handle; snd_mixer_elem_t *elem; const char *label; g_string_truncate(labels, 0); if (!dsp || !dsp->alsa_mixer || strlen(dsp->alsa_mixer) == 0) return 0; err=snd_mixer_open(&mixer_handle, 0); if (err<0) goto x3; err=snd_mixer_attach(mixer_handle, dsp->alsa_mixer); if (err<0) goto x3; err=snd_mixer_selem_register(mixer_handle, NULL, NULL); if (err<0) goto x3; err=snd_mixer_load(mixer_handle); if (err<0) goto x3; for (elem=snd_mixer_first_elem(mixer_handle); elem; elem=snd_mixer_elem_next(elem)){ if (!snd_mixer_selem_has_capture_switch(elem)) continue; label=snd_mixer_selem_get_name(elem); if (strcmp(label, "Capture")==0) continue; if (strlen(labels->str)>0) g_string_append_c(labels, ';'); g_string_append(labels, label); } x3:; snd_mixer_close(mixer_handle); return 0; } int alsa_set_source(struct dsp *dsp){ int err; snd_mixer_t *mixer_handle; snd_mixer_elem_t *elem; const char *label; //dbg("alsa_set_source('%s')\n", dsp->source); if (!dsp->alsa_src || !*dsp->alsa_src){ return 0; } err=snd_mixer_open(&mixer_handle, 0); if (err<0) goto x3; err=snd_mixer_attach(mixer_handle, dsp->alsa_mixer); if (err<0) goto x3; err=snd_mixer_selem_register(mixer_handle, NULL, NULL); if (err<0) goto x3; err=snd_mixer_load(mixer_handle); if (err<0) goto x3; for (elem=snd_mixer_first_elem(mixer_handle); elem; elem=snd_mixer_elem_next(elem)){ long min, max, val; if (!snd_mixer_selem_has_capture_switch(elem)) continue; label=snd_mixer_selem_get_name(elem); //dbg("elem label=%s\n", label); if (strcmp(label, dsp->alsa_src)!=0 && strcmp(label, "Capture")!=0) continue; snd_mixer_selem_set_capture_switch_all(elem, 1); snd_mixer_selem_get_capture_volume_range(elem, &min, &max); if (dsp->rlev<0) continue; val = min + ((max-min+1)*dsp->rlev)/100; // dbg("SET elem label=%s capt\t%d-%d %d%%=%d\n", label, min, max, dsp->rlev, val); snd_mixer_selem_set_capture_volume_all(elem, val); } x3:; snd_mixer_close(mixer_handle); return 0; } int alsa_set_plevel(struct dsp *dsp){ int err; snd_mixer_t *mixer_handle; snd_mixer_elem_t *elem; const char *label; //dbg("alsa_set_plevel('%s')\n", dsp->alsa_src); if (!dsp->alsa_src || !*dsp->alsa_src){ return 0; } err=snd_mixer_open(&mixer_handle, 0); if (err<0) goto x3; err=snd_mixer_attach(mixer_handle, dsp->alsa_mixer); if (err<0) goto x3; err=snd_mixer_selem_register(mixer_handle, NULL, NULL); if (err<0) goto x3; err=snd_mixer_load(mixer_handle); if (err<0) goto x3; for (elem=snd_mixer_first_elem(mixer_handle); elem; elem=snd_mixer_elem_next(elem)){ long min, max, val; if (!snd_mixer_selem_has_playback_volume(elem)) continue; label=snd_mixer_selem_get_name(elem); // dbg("elem label=%s\n", label); if (strcmp(label, dsp->alsa_src)!=0 && strcmp(label, "Master")!=0) continue; snd_mixer_selem_get_playback_volume_range(elem, &min, &max); if (dsp->plev<0) continue; val = min + ((max-min+1)*dsp->plev)/100; snd_mixer_selem_set_playback_volume_all(elem, val); } x3:; snd_mixer_close(mixer_handle); return 0; } char *alsa_get_state(struct dsp *dsp){ switch (snd_pcm_state(dsp->pcm)){ case SND_PCM_STATE_OPEN: return "Open"; case SND_PCM_STATE_SETUP: return "Setup installed"; case SND_PCM_STATE_PREPARED: return "Ready to start"; case SND_PCM_STATE_RUNNING: return "Running"; case SND_PCM_STATE_XRUN: return "Stopped: underrun (playback) or overrun (capture) detected"; case SND_PCM_STATE_DRAINING: return "Draining: running (playback) or stopped (capture)"; case SND_PCM_STATE_PAUSED: return "Paused"; case SND_PCM_STATE_SUSPENDED: return "Hardware is suspended"; case SND_PCM_STATE_DISCONNECTED: return "Hardware is disconnected"; default: return "???"; } } int alsa_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec){ char *name; if (rec){ if (!dsp->pcm_rec || !*dsp->pcm_rec) dsp->pcm_rec = g_strdup("default"); name = dsp->pcm_rec; }else{ if (!dsp->pcm_play || !*dsp->pcm_play) dsp->pcm_play = g_strdup("default"); name = dsp->pcm_play; } dsp->speed = speed; if (!dsp->speed){ unsigned int rate_max; int dir_max, err; snd_pcm_hw_params_t *hwparams; dsp->speed = 48000; err = snd_pcm_open(&dsp->pcm, name, rec ? SND_PCM_STREAM_CAPTURE : SND_PCM_STREAM_PLAYBACK, 0); if (err < 0) goto xxx; snd_pcm_hw_params_alloca(&hwparams); err = snd_pcm_hw_params_any(dsp->pcm, hwparams); if (err < 0) goto xx; err = snd_pcm_hw_params_get_rate_max(hwparams, &rate_max, &dir_max); if (err < 0) goto xx; dsp->speed = rate_max; log_addf("alsa set rate_max=%d", rate_max); xx:; snd_pcm_close(dsp->pcm); xxx:; } dsp->channels = 2; dsp->period_time = frames * 1000 / dsp->speed; dsp->pcm_format = SND_PCM_FORMAT_S16_LE; return 0; } #endif tucnak-4.32/src/profile.c0000644000175000017500000000276012006041464012245 00000000000000#include #if defined(__MINGW32__) && 0 int dladdr(void *addr, Dl_info *info){ MEMORY_BASIC_INFORMATION mbi; char moduleName[MAX_PATH]; HMODULE hMod; if (!VirtualQuery (addr, &mbi, sizeof (mbi))) return 0; hMod = (HMODULE)mbi.AllocationBase; if (!GetModuleFileNameA (hMod, moduleName, sizeof (moduleName))) return 0; info->file_name = (char *)(malloc (strlen (moduleName) + 1)); strcpy (info->file_name, moduleName); info->base = NULL; info->sym_name = NULL; info->sym_addr = NULL; strcpy (info->dli_fname, module_name); info->dli_fbase = mbi.BaseAddress; // this is *probably* right info->dli_saddr = addr; strcpy (info->dli_sname, module_name); return 1; } #endif void __cyg_profile_func_enter(void *this_fn, void *call_site) __attribute__((no_instrument_function)); void __cyg_profile_func_enter(void *this_fn, void *call_site) { /*Dl_info dl1, dl2; dladdr(this_fn, &dl1); dladdr(__builtin_return_address(1), &dl2); dbg("ENTER: %s, from %s\n", dl1.dli_sname, dl2.dli_sname);*/ dbg("ENTER: %p, from %p\n", this_fn, call_site); } void __cyg_profile_func_exit(void *this_fn, void *call_site) __attribute__((no_instrument_function)); void __cyg_profile_func_exit(void *this_fn, void *call_site) { /*Dl_info dl1, dl2; dladdr(this_fn, &dl1); dladdr(__builtin_return_address(1), &dl2);*/ dbg("EXIT: %p, from %p\n", this_fn, call_site); } tucnak-4.32/src/terminal.c0000644000175000017500000010432313700130565012421 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "charsets.h" #include "kbd.h" #include "main.h" #include "qsodb.h" #include "rc.h" #include "tsdl.h" #include "session.h" #include "terminal.h" #include "zosk.h" #define ALLOC_GR 0x100 struct terminal *term; struct window *gseswin; int hard_write(int fd, char *p, int l) { #ifdef Z_MSC_MINGW zinternal("hard_write unimplemented (and should not be called)"); return -1; #else int w, t; if (fd<0) return -1; w = 1; t = 0; while (l > 0 && w) { if ((w = write(fd, p, l)) < 0) { if (errno == EINTR) continue; return -1; } t += w; p += w; l -= w; } return t; #endif } int hard_read(int fd, char *p, int l) { #ifdef Z_MSC_MINGW zinternal("hard_read unimplemented (and should not be called)"); return -1; #else int r = 1; int t = 0; while (l > 0 && r) { if ((r = read(fd, p, l)) < 0) { if (errno == EINTR) continue; return -1; } /*{int ww;for(ww=0;wwlast_screen); g_free(term->screen); term->screen = g_new(unsigned, x * y); term->last_screen = g_new0(unsigned, x * y); memset(term->last_screen, -1, x * y * sizeof(unsigned)); term->x = x; term->y = y; term->dirty = 1; term->lcx = -1; term->lcy = -1; #ifdef FALL int i; if (term->fall != NULL) { term->fall = mem_realloc(term->fall, x * y * sizeof(int)); for (i = 0; i < x * y; i++) term->fall[i] = i; }else{ term->fall = g_malloc(x * y * sizeof(int)); for (i = 0; i < x * y; i++) term->fall[i] = i; } #endif } void in_term(void *arg); void check_if_no_terminal(void); void clear_terminal(void) { if (!term) return; fill_area(0, 0, term->x, term->y, ' '); set_cursor(0, 0, 0, 0); } void redraw_terminal_ev(struct terminal *term, int e) { struct window *win; struct event ev = {0, 0, 0, 0}; if (!term) return; ev.ev = e; ev.x = term->x; ev.y = term->y; clear_terminal(); term->redrawing = 2; foreachback(win, term->windows) win->handler(win, &ev, 0); term->redrawing = 0; #ifdef FALL if (term->fall){ int i; for (i = term->x * term->y; i >= 0; i--){ if (term->fall[i] < 0) term->screen[i] = ' '; else term->screen[i] = term->screen[term->fall[i]]; } } #endif } #define ISSPACE(idx) ((term->screen[idx] & 0xff) == ' ' || (term->screen[idx] & 0xff) == '\0') #ifdef FALL void fall_func(union cba_t cba){ int s, d, j; // static iii = 0; if (term && term->fall){ for (j = 0; j < 1000; j++){ s = rand() % (term->x * term->y); if (ISSPACE(s)) continue; for (d = s + term->x; ISSPACE(d) && d < (term->x * term->y); d += term->x); d -= term->x; if (!ISSPACE(d)) continue; term->fall[d] = term->fall[s]; term->fall[s] = -1; break; } } gses->fall_id = zselect_timer_new(zsel, 10, fall_func, NULL); redraw_later(); } #endif void redraw_terminal(void *arg) { /*if (!term) return;*/ //dbg("redraw_terminal()\n"); redraw_terminal_ev(term, EV_REDRAW); } void redraw_terminal_all(void) { if (!term) return; redraw_terminal_ev(term, EV_RESIZE); } void redraw_later(void) { if (!term) return; //dbg("redraw_later()\n"); zselect_bh_new(zsel, redraw_terminal, NULL); /*if (!gses){ zselect_bh_new(zsel, redraw_terminal, NULL); return; } if (!gses->redraw_timer_id) gses->redraw_timer_id = zselect_timer_new(zsel, 100, timer_redraw, NULL);*/ } void erase_screen(void) { if (!term) return; if (!term->master || !is_blocked()) { if (term->fdout >= 0) hard_write(term->fdout, "\033[0;37;40m\033[2J\033[1;1H", 20); } } void redraw_terminal_cls() { if (!term) return; erase_screen(); alloc_term_screen(term, term->x, term->y); redraw_terminal_all(); } /*void cls_redraw_all_terminals() { struct terminal *term; foreach(term, terminals) redraw_terminal_cls(term); } */ void redraw_from_window(struct window *win) { struct terminal *term = win->term; struct window *end = (void *)&term->windows; struct event ev = {EV_REDRAW, 0, 0, 0}; ev.x = term->x; ev.y = term->y; if (term->redrawing) return; term->redrawing = 1; for (win = win->prev; win != end; win = win->prev) { win->handler(win, &ev, 0); } term->redrawing = 0; } void redraw_below_window(struct window *win) { int tr; struct terminal *term = win->term; struct window *end = win; struct event ev = {EV_REDRAW, 0, 0, 0}; ev.x = term->x; ev.y = term->y; if (term->redrawing >= 2) return; tr = term->redrawing; win->term->redrawing = 2; for (win = term->windows.prev; win != end; win = win->prev) { win->handler(win, &ev, 0); } term->redrawing = tr; } void add_window_at_pos(void (*handler)(struct window *, struct event *, int), void *data, struct window *at) { struct event ev = {EV_INIT, 0, 0, 0}; struct window *win; ev.x = term->x; ev.y = term->y; if (!(win = g_malloc(sizeof (struct window)))) { g_free(data); return; } win->handler = handler; win->data = data; win->term = term; win->xp = win->yp = 0; add_at_pos(at, win); win->handler(win, &ev, 0); } void add_window(void (*handler)(struct window *, struct event *, int), void *data) { add_window_at_pos(handler, data, (struct window *)&term->windows); } void delete_window(struct window *win) { struct event ev = {EV_ABORT, 0, 0, 0}; win->handler(win, &ev, 1); del_from_list(win); if (win->data) g_free(win->data); redraw_terminal(NULL); g_free(win); } void delete_window_ev(struct window *win, struct event *ev) { struct window *w = win->next; if ((void *)w == &win->term->windows) w = NULL; delete_window(win); if (ev && w && w->next != w) w->handler(w, ev, 1); } void set_window_ptr(struct window *win, int x, int y) { win->xp = x; win->yp = y; } void get_parent_ptr(struct window *win, int *x, int *y) { if ((void *)win->next != &win->term->windows) { *x = win->next->xp; *y = win->next->yp; } else { *x = *y = 0; } } struct window *get_root_window() { if (list_empty(term->windows)) { zinternal("terminal has no windows"); return NULL; } return (struct window *)term->windows.prev; } struct ewd { void (*fn)(void *); void *data; int b; }; void empty_window_handler(struct window *win, struct event *ev, int fwd) { struct window *n; struct ewd *ewd = (struct ewd*)win->data; int x, y; void (*fn)(void *) = ewd->fn; void *data = ewd->data; if (ewd->b) return; switch (ev->ev) { case EV_INIT: case EV_RESIZE: case EV_REDRAW: get_parent_ptr(win, &x, &y); set_window_ptr(win, x, y); return; case EV_ABORT: fn(data); return; } ewd->b = 1; n = win->next; delete_window(win); fn(data); if (n->next != n) n->handler(n, ev, fwd); } /*void add_empty_window(void (*fn)(void *), void *data) { struct ewd *ewd; if (!(ewd = g_malloc(sizeof(struct ewd)))) return; ewd->fn = fn; ewd->data = data; ewd->b = 0; add_window(empty_window_handler, ewd); } */ void free_term_specs() { /* free_list(term_specs);*/ while (term_specs.next != &(term_specs)) { struct term_spec *a=term_specs.next; del_from_list(a); g_free(a); } } struct term_spec term_specs = {&term_specs, &term_specs}; struct term_spec dumb_term = { NULL, NULL, "", 0, 0, 0, 0, 0, 0 }; struct term_spec *get_term_spec(char *term) { struct term_spec *t; foreach(t, term_specs) if (!strcasecmp(t->term, term)) return t; return &dumb_term; } struct term_spec *new_term_spec(char *term) { struct term_spec *t; foreach(t, term_specs) if (!strcasecmp(t->term, term)) return t; if (!(t = g_new(struct term_spec, 1))) return NULL; memcpy(t, &dumb_term, sizeof(struct term_spec)); if (strlen(term) < MAX_TERM_LEN) strcpy(t->term, term); else memcpy(t->term, term, MAX_TERM_LEN - 1), t->term[MAX_TERM_LEN - 1] = 0; add_to_list(term_specs, t); sync_term_specs(); return t; } void sync_term_specs() { if (!term) return; term->spec = get_term_spec(term->term); //dbg("sync_term_specs: %p\n", term->spec); } struct terminal *init_term(int fdin, int fdout, void (*root_window)(struct window *, struct event *, int)) { struct terminal *term; struct window *win; if (!(term = g_new0(struct terminal, 1))) { zselect_terminate(zsel); return NULL; } term->fdin = fdin; term->fdout = fdout; term->master = term->fdout == get_output_handle(); term->lcx = -1; term->lcy = -1; term->dirty = 1; term->redrawing = 0; term->blocked = -1; term->screen = NULL; term->last_screen = NULL; term->spec = &dumb_term; term->term[0] = 0; term->input_queue = NULL; term->qlen = 0; init_list(term->windows); if (!(win = g_new(struct window, 1))){ g_free(term); zselect_terminate(zsel); return NULL; } win->handler = root_window; win->data = NULL; win->term = term; add_to_list(term->windows, win); if (fdin!=-1){ zselect_set(zsel, fdin, in_term, NULL, destroy_terminal, NULL); } gseswin = win; return term; } void term_send_event(struct terminal *term, struct event *ev) { struct window *win; #ifdef Z_HAVE_SDL if (gses && gses->osk){ switch (ev->ev){ case EV_MOUSE: //if (ev->b & (B_MOVE | B_DRAG)) goto to; if (ev->b == (B_LEFT | B_DOWN)) { if (zosk_click(gses->osk, ev->mx - gses->osk->parent_x, ev->my - gses->osk->parent_y, 1)) { if (cfg->portrait) goto toterm; } redraw_later(); return; } if ((ev->b & ~B_CLICK) == (B_LEFT | B_UP)) { if (zosk_click(gses->osk, ev->mx - gses->osk->parent_x, ev->my - gses->osk->parent_y, 0)) { if (cfg->portrait) goto toterm; } redraw_later(); return; } if (cfg->portrait) goto toterm; return; case EV_KBD: if ((ev->x == KBD_ESC || ev->x == KBD_ENTER) && (gses->osk->flags & ZOSK_ENTERCLOSE)){ int flg = gses->osk->flags; zosk_free(gses->osk); gses->osk = NULL; if (cfg->portrait){ resize_terminal(NULL); }else{ redraw_later(); sdl_force_redraw(); SDL_FillRect(sdl->screen, NULL, z_makecol(0, 0, 0)); SDL_UpdateRect(sdl->screen, 0, 0, 0, 0); } if (flg & ZOSK_IGNOREESC) return; if (flg & ZOSK_SENDENTER) break; return; } break; } } toterm:; #endif /* assert(ev && term && !list_empty(term->windows));*/ /* if_assert_failed return;*/ win = term->windows.next; win->handler(win, ev, 0); } static void term_send_ucs(struct terminal *term, struct event *ev, unicode_val u) { char *recoded; recoded = u2cp(u, term->spec->charset); if (!recoded) recoded = "*"; while (*recoded) { ev->x = *recoded; term_send_event(term, ev); recoded++; } } #define get_bool_opt(s, opt) (s->opt == 1 ? 1 : 0) void in_term(void *arg) { struct event *ev; int r, err; char *iq, *c; if (!(iq = (char*)g_realloc(term->input_queue, term->qlen + ALLOC_GR))) { destroy_terminal(NULL); zselect_hint(zsel, "a"); return; } term->input_queue = iq; r = z_pipe_read(term->fdin, iq + term->qlen, ALLOC_GR); err = z_sock_errno; //zselect_hint(zsel, "fdin=%d qlen=%d r=%d err=%d", term->fdin, term->qlen, r, err); if (r <= 0) { if (r == -1/* && errno != ECONNRESET*/) zinternal("ERROR: error %d on terminal: could not read event", err); destroy_terminal(NULL); zselect_hint(zsel, "b"); return; } #ifdef Z_HAVE_SDL if (sdl){ MUTEX_LOCK(sdl->eventpipestate); sdl->eventpipestate-=r; /* dbg("r %d\n", sdl->eventpipestate);*/ MUTEX_UNLOCK(sdl->eventpipestate); } #endif term->qlen += r; test_queue: //dbg("next event\n"); if (term->qlen < sizeof(struct event)) { //zselect_hint(zsel, "%d < %d", term->qlen, sizeof(struct event)); return; } ev = (struct event *)iq; // dbg("in_term [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b); /* dbg("in_term qlen=%d\n", term->qlen);*/ if (term->qlen > sizeof(struct event) && /* more than one event */ ev->ev==EV_KBD && ev->x==KBD_TAB){ /* processing TAB keypress */ for (c=iq+sizeof(struct event); cqlen;c+=sizeof(struct event)){ ev = (struct event *)c; /*dbg("in_term c=%d [%d,%d,%d,%d]\n",(c-iq)/sizeof(struct event),ev->ev,ev->x,ev->y,ev->b);*/ if (ev->ev!=EV_KBD || ev->x!=KBD_TAB) continue; ev->ev=EV_SKIP; } } ev = (struct event *)iq; if (zselect_profiling(zsel)){ switch (ev->ev){ case EV_INIT: zselect_hint(zsel, "EV_INIT"); break; case EV_RESIZE: zselect_hint(zsel, "EV_RESIZE %dx%d", ev->x, ev->y); break; case EV_REDRAW: zselect_hint(zsel, "EV_REDRAW"); break; case EV_KBD: if (ev->x < 0x100) zselect_hint(zsel, "EV_KBD '%c' %s %s %s", ev->x, ev->y & KBD_CTRL ? "CTRL" : "", ev->y & KBD_ALT ? "ALT" : "", ev->y & KBD_SHIFT ? "SHIFT" : ""); else zselect_hint(zsel, "EV_KBD 0x%x %s %s %s", ev->x, ev->y & KBD_CTRL ? "CTRL" : "", ev->y & KBD_ALT ? "ALT" : "", ev->y & KBD_SHIFT ? "SHIFT" : ""); break; case EV_MOUSE: zselect_hint(zsel, "EV_MOUSE 0x%x %x %y", ev->b, ev->mx, ev->my); break; case EV_ABORT: zselect_hint(zsel, "EV_ABORT"); break; case EV_SDLRESIZE: zselect_hint(zsel, "EV_SDLRESIZE"); break; case EV_SKIP: zselect_hint(zsel, "EV_SKIP"); break; default: zselect_hint(zsel, "unknown %d", ev->ev); break; } } r = sizeof(struct event); if (ev->ev != EV_INIT && ev->ev != EV_RESIZE && ev->ev != EV_REDRAW && ev->ev != EV_KBD && ev->ev != EV_MOUSE && ev->ev != EV_ABORT && ev->ev!=EV_SDLRESIZE && ev->ev!=EV_SKIP) { error("ERROR: error on terminal: bad event %d", ev->ev); goto mm; } if (ev->ev == EV_INIT) { char *ts; int xwin; xwin = is_xterm() * ENV_XWIN + can_twterm() * ENV_TWIN + (!!getenv("STY")) * ENV_SCREEN; if (!(ts = getenv("TERM"))) ts = ""; // dbg("in_term ts=%s\n", ts); g_strlcpy(term->term, ts, MAX_TERM_LEN); term->environment=xwin; sync_term_specs(); } if (ev->ev == EV_SDLRESIZE){ #ifdef Z_HAVE_SDL dbg("EV_SDLRESIZE(%d,%d) (%d,%d)\n", ev->x, ev->y, sdl->resize_w, sdl->resize_h/*ev->mx, ev->my*/); MUTEX_LOCK(sdl->eventpipestate); sdl->resizeevents--; MUTEX_UNLOCK(sdl->eventpipestate); if (sdl) { cfg->gfx_x=sdl->resize_w;//ev->mx; cfg->gfx_y=sdl->resize_h;//ev->my; sdl_setvideomode(sdl->resize_w, sdl->resize_h/*ev->mx, ev->my*/, 0); } #endif resize_terminal(NULL); } if (ev->ev == EV_REDRAW || ev->ev == EV_RESIZE || ev->ev == EV_INIT) { struct window *win; send_redraw: if (ev->x < 0 || ev->y < 0) { error("ERROR: bad terminal size: %d, %d", (int)ev->x, (int)ev->y); goto mm; } alloc_term_screen(term, ev->x, ev->y); clear_terminal(); erase_screen(); term->redrawing = 1; foreachback(win, term->windows) win->handler(win, ev, 0); term->redrawing = 0; } if (ev->ev == EV_MOUSE && preferred_func(ev)){ term_send_event(term, ev); } if (ev->ev == EV_KBD) { if ( #ifdef Z_HAVE_SDL !sdl && #endif z_char_uc(ev->x) == (int)'L' && ev->y == KBD_CTRL) { ev->ev = EV_REDRAW; ev->x = term->x; ev->y = term->y; goto send_redraw; } else if (ev->x == KBD_CTRL_C) ((struct window *)&term->windows)->prev->handler(term->windows.prev, ev, 0); else if (preferred_func(ev)) { /* ((struct window *)&term->windows)->next->handler(term->windows.next, ev, 0);*/ int utf8_io = -1; if (term->utf_8.len) { utf8_io = get_bool_opt(term->spec, utf_8_io); if ((ev->x & 0xC0) == 0x80 && utf8_io) { term->utf_8.ucs <<= 6; term->utf_8.ucs |= ev->x & 0x3F; if (! --term->utf_8.len) { unicode_val u = term->utf_8.ucs; if (u < term->utf_8.min) u = UCS_NO_CHAR; term_send_ucs(term, ev, u); } goto mm; } else { term->utf_8.len = 0; term_send_ucs(term, ev, UCS_NO_CHAR); } } if (ev->x < 0x80 || ev->x > 0xFF || (utf8_io == -1 ? !get_bool_opt(term->spec, utf_8_io) : !utf8_io)) { term_send_event(term, ev); goto mm; } else if ((ev->x & 0xC0) == 0xC0 && (ev->x & 0xFE) != 0xFE) { register unsigned int mask, cov = 0x80; int len = 0; for (mask = 0x80; ev->x & mask; mask >>= 1) { len++; term->utf_8.min = cov; cov = 1 << (1 + 5 * len); } term->utf_8.len = len - 1; term->utf_8.ucs = ev->x & (mask - 1); goto mm; } term_send_ucs(term, ev, UCS_NO_CHAR); } } if (ev->ev == EV_ABORT) zselect_terminate(zsel);//destroy_terminal(NULL); /*redraw_screen(term);*/ mm: if (term->qlen == r) term->qlen = 0; else memmove(iq, iq + r, term->qlen -= r); //return; goto test_queue; } /*inline int getcompcode(int c) // probably bug in gcc 4.6 { return (c<<1 | (c&4)>>2) & 7; }*/ #define getcompcode(c) (int)( ((c)<<1 | ((c)&4)>>2) & 7 ) char frame_dumb[49] = " ||||++||++++++--|-+||++--|-+----++++++++ "; char frame_vt100[49] = "aaaxuuukkuxkjjjkmvwtqnttmlvwtqnvvwwmmllnnjla "; /* For UTF8 I/O */ static char frame_vt100_u[48] = { 177, 177, 177, 179, 180, 180, 180, 191, 191, 180, 179, 191, 217, 217, 217, 191, 192, 193, 194, 195, 196, 197, 195, 195, 192, 218, 193, 194, 195, 196, 197, 193, 193, 194, 194, 192, 192, 218, 218, 197, 197, 217, 218, 177, 32, 32, 32, 32 }; char frame_koi[48] = { 144,145,146,129,135,178,180,167, 166,181,161,168,174,173,172,131, 132,137,136,134,128,138,175,176, 171,165,187,184,177,160,190,185, 186,182,183,170,169,162,164,189, 188,133,130,141,140,142,143,139, }; char frame_restrict[48] = { 0, 0, 0, 0, 0, 179, 186, 186, 205, 0, 0, 0, 0, 186, 205, 0, 0, 0, 0, 0, 0, 0, 179, 186, 0, 0, 0, 0, 0, 0, 0, 205, 196, 205, 196, 186, 205, 205, 186, 186, 179, 0, 0, 0, 0, 0, 0, 0, }; /* characters 128-159 are special for xterm unless * *VT100*allowC1Printable property is not set */ #define MODE(ch) (((ch) >> 15) & MODE_MASK) #define PRINT_CHAR(p) \ { \ unsigned ch = term->screen[p]; \ unsigned char c = ch & 0xff; \ unsigned char A = ch >> 8 & 0x7f; \ int charset = s->charset; \ if (s->mode == TERM_LINUX) { \ if (s->m11_hack) { \ if (MODE(ch) != mode) { \ if (!(mode = MODE(ch))) \ g_string_append(a, "\033[10m"); \ else \ g_string_append(a, "\033[11m"); \ } \ } \ if ((mode = MODE(ch)) && c >= 176 && c < 224) { \ charset = get_cp_index("cp437"); \ if (s->restrict_852 && frame_restrict[c - 176]) \ c = frame_restrict[c - 176]; \ } \ } else if (s->mode == TERM_VT100) { \ if (MODE(ch) != mode) { \ if (!(mode = MODE(ch))) \ g_string_append(a, "\x0f"); \ else \ g_string_append(a, "\x0e"); \ } \ if (mode && c >= 176 && c < 224) { \ charset = get_cp_index("cp437"); \ if (get_bool_opt(s, utf_8_io) \ && strcasecmp(term->term, "xterm")) \ c = frame_vt100_u[c - 176]; \ else \ c = frame_vt100[c - 176]; \ } \ } else if (s->mode == TERM_KOI8) { \ if (MODE(ch) != mode && (mode = MODE(ch))) \ charset = get_cp_index("koi8-r"); \ if (mode && c >= 176 && c < 224) \ c = frame_koi[c - 176]; \ } else if (s->mode == TERM_DUMB && MODE(ch) && c >= 176 && c < 224) \ c = frame_dumb[c - 176]; \ if (!(A & 0100) && (A >> 3) == (A & 7)) \ A = (A & 070) | 7 * !(A & 020); \ if (A != attrib) { \ attrib = A; \ g_string_append(a, "\033[0"); \ if (s->col) { \ char m[4]; \ m[0] = ';'; m[1] = '3'; m[3] = 0; \ m[2] = (attrib & 7) + '0'; \ g_string_append(a, m); \ m[1] = '4'; \ m[2] = (attrib >> 3 & 7) + '0'; \ g_string_append(a, m); \ } else if (getcompcode(attrib & 7) < getcompcode(attrib >> 3 & 7)) \ g_string_append(a, ";7"); \ if (attrib & 0100) \ g_string_append(a, ";1"); \ g_string_append(a, "m"); \ } \ if (c>=' ' && (c<127 || c>159) && c!=255) { \ if (get_bool_opt(s, utf_8_io)) \ g_string_append(a, cp2utf_8(charset, c)); \ else \ g_string_append_c(a, c); \ } \ else if (!c || c == 1) g_string_append_c(a, ' '); \ else g_string_append_c(a, '.'); \ cx++; \ } \ void term_redraw_screen() { int x, y, p = 0; int cx = -1, cy = -1; GString *a; int attrib = -1; int mode = -1; struct term_spec *s; if (!term->dirty || (term->master && is_blocked())) return; a = g_string_new(""); s = term->spec; for (y = 0; y < term->y; y++) for (x = 0; x < term->x; x++, p++) { if (y == term->y - 1 && x == term->x - 1) break; if (term->screen[p] == term->last_screen[p]) continue; if ((term->screen[p] & 0x3800) == (term->last_screen[p] & 0x3800) && ((term->screen[p] & 0xff) == 0 || (term->screen[p] & 0xff) == 1 || (term->screen[p] & 0xff) == ' ') && ((term->last_screen[p] & 0xff) == 0 || (term->last_screen[p] & 0xff) == 1 || (term->last_screen[p] & 0xff) == ' ')) continue; if (cx == x && cy == y) goto pc;/*PRINT_CHAR(p)*/ else if (cy == y && x - cx < 10) { int i; for (i = x - cx; i >= 0; i--) PRINT_CHAR(p - i); } else { g_string_append_printf(a, "\033[%d;%dH", y + 1, x + 1); cx = x; cy = y; pc: PRINT_CHAR(p); } } if (a->len) { if (s->col) g_string_append(a, "\033[37;40m"); g_string_append(a, "\033[0m"); if (s->mode == TERM_LINUX && s->m11_hack) g_string_append(a, "\033[10m"); if (s->mode == TERM_VT100) g_string_append(a, "\x0f"); } if (a->len || term->cx != term->lcx || term->cy != term->lcy) { term->lcx = term->cx; term->lcy = term->cy; g_string_append_printf(a, "\033[%d;%dH", term->cy + 1, term->cx + 1); } hard_write(term->fdout, a->str, a->len); g_string_free(a, TRUE); memcpy(term->last_screen, term->screen, term->x * term->y * sizeof(int)); term->dirty = 0; } void destroy_terminal(void *arg) { if (!term) return; //zselect_terminate(zsel); while ((term->windows.next) != &term->windows) delete_window(term->windows.next); /*if (term->cwd) g_free(term->cwd);*/ if (term->title) g_free(term->title); g_free(term->screen); term->screen=NULL; g_free(term->last_screen); term->last_screen=NULL; zselect_set(zsel, term->fdin, NULL, NULL, NULL, NULL); g_free(term->input_queue); if (term->blocked != -1) { #ifdef Z_MSC_MINGW zinternal("term->blocked unimplemented (and should not be called)"); #else close(term->blocked); zselect_set(zsel, term->blocked, NULL, NULL, NULL, NULL); #endif } z_pipe_close(term->fdin); if (term->fdout != 1 && term->fdout >= 0) { #ifdef Z_MSC_MINGW zinternal("term->fdout unimplemented (and should not be called)"); #else if (term->fdout != term->fdin) close(term->fdout); #endif } else { unhandle_terminal_signals(); free_all_itrms(); /*#ifndef NO_FORK_ON_EXIT if (!list_empty(terminals)) { if (fork()) exit(0); } #endif */ } g_free(term); term=NULL; } /*void destroy_all_terminals() { struct terminal *term; while ((void *)(term = terminals.next) != &terminals) destroy_terminal(term); } void check_if_no_terminal(void) { if (!list_empty(terminals)) return; terminate = 1; } */ void set_char(int x, int y, unsigned c) { term->dirty = 1; if (x >= 0 && x < term->x && y >= 0 && y < term->y) term->screen[x + term->x * y] = c; } void set_last_char(int x, int y, unsigned c) { if (x >= 0 && x < term->x && y >= 0 && y < term->y) term->last_screen[x + term->x * y] = c; } unsigned get_char(int x, int y) { if (x >= term->x) x = term->x - 1; if (x < 0) x = 0; if (y >= term->y) y = term->y - 1; if (y < 0) y = 0; return term->screen[x + term->x * y]; } void set_color(int x, int y, unsigned c) { term->dirty = 1; if (x >= 0 && x < term->x && y >= 0 && y < term->y) term->screen[x + term->x * y] = (term->screen[x + term->x * y] & 0x80ff) | (c & ~0x80ff); } void set_only_char(int x, int y, unsigned c) { term->dirty = 1; if (x >= 0 && x < term->x && y >= 0 && y < term->y) term->screen[x + term->x * y] = (term->screen[x + term->x * y] & ~0x80ff) | (c & 0x80ff); } void set_line(int x, int y, int l, chr *line) { int i; term->dirty = 1; for (i = x >= 0 ? 0 : -x; i < (x+l <= term->x ? l : term->x-x); i++) term->screen[x+i + term->x * y] = line[i]; } void set_line_color(int x, int y, int l, unsigned c) { int i; term->dirty = 1; for (i = x >= 0 ? 0 : -x; i < (x+l <= term->x ? l : term->x-x); i++) term->screen[x+i + term->x * y] = (term->screen[x+i + term->x * y] & 0x80ff) | (c & ~0x80ff); } void fill_area(int x, int y, int xw, int yw, unsigned c) { int i,j; term->dirty = 1; for (j = y >= 0 ? 0 : -y; j < yw && y+j < term->y; j++) for (i = x >= 0 ? 0 : -x; i < xw && x+i < term->x; i++) term->screen[x+i + term->x*(y+j)] = c; } void fill_lastarea(int x, int y, int xw, int yw, unsigned c) { int i,j; for (j = y >= 0 ? 0 : -y; j < yw && y+j < term->y; j++) for (i = x >= 0 ? 0 : -x; i < xw && x+i < term->x; i++) term->last_screen[x+i + term->x*(y+j)] = c; } int p1[] = { 218, 191, 192, 217, 179, 196 }; int p2[] = { 201, 187, 200, 188, 186, 205 }; void draw_frame(int x, int y, int xw, int yw, unsigned c, int w) { int *p = w > 1 ? p2 : p1; c |= ATTR_FRAME; set_char(x, y, c+p[0]); set_char(x+xw-1, y, c+p[1]); set_char(x, y+yw-1, c+p[2]); set_char(x+xw-1, y+yw-1, c+p[3]); fill_area(x, y+1, 1, yw-2, c+p[4]); fill_area(x+xw-1, y+1, 1, yw-2, c+p[4]); fill_area(x+1, y, xw-2, 1, c+p[5]); fill_area(x+1, y+yw-1, xw-2, 1, c+p[5]); } void print_text(int x, int y, int l, char *text, unsigned c) { for (; l-- && *text; text++, x++) set_char(x, y,((unsigned char)*text) + c); } void set_cursor(int x, int y, int altx, int alty) { // dbg("set_cursor(%d,%d, %d,%d)\n", x, y, altx, alty); term->dirty = 1; if (term->spec->block_cursor) x = altx, y = alty; if (x >= term->x) x = term->x - 1; if (y >= term->y) y = term->y - 1; if (x < 0) x = 0; if (y < 0) y = 0; term->cx = x; term->cy = y; } void exec_thread(char *path, int p) { #ifdef Z_MSC_MINGW zinternal("exec_thread unimplemented (and should not be called)"); #else #if defined(HAVE_SETPGID) && !defined(BEOS) && !defined(HAVE_BEGINTHREAD) if (path[0] == 2) setpgid(0, 0); #endif exe(path + 1); close(p); if (path[1 + strlen(path + 1) + 1]) unlink(path + 1 + strlen(path + 1) + 1); #endif } void close_handle(void *arg) { #ifdef Z_MSC_MINGW zinternal("close_handle unimplemented"); #else int h = GPOINTER_TO_INT(arg); close(h); zselect_set(zsel, h, NULL, NULL, NULL, NULL); #endif } #ifndef Z_MSC_MINGW void unblock_terminal(void *arg) { close_handle(GINT_TO_POINTER(term->blocked)); term->blocked = -1; zselect_set(zsel, term->fdin, in_term, NULL, destroy_terminal, NULL); unblock_itrm(term->fdin); redraw_terminal_cls(); } void exec_on_terminal(char *path, char *delete1, int fg) { if (path && !*path) return; if (!path) path=""; #ifdef NO_FG_EXEC fg = 0; #endif if (term->master) { if (!*path) dispatch_special(delete1); else { int blockh; char *param; if (is_blocked() && fg) { unlink(delete1); return; } if (!(param = g_malloc(strlen(path) + strlen(delete1) + 3))) return; param[0] = fg; strcpy(param + 1, path); strcpy(param + 1 + strlen(path) + 1, delete1); if (fg == 1) block_itrm(term->fdin); if ((blockh = start_thread((void (*)(void *, int))exec_thread, param, strlen(path) + strlen(delete1) + 3)) == -1) { if (fg == 1) unblock_itrm(term->fdin); g_free(param); return; } g_free(param); if (fg == 1) { term->blocked = blockh; zselect_set(zsel, blockh, unblock_terminal, NULL, unblock_terminal, NULL); zselect_set(zsel, term->fdin, NULL, NULL, destroy_terminal, NULL); /*block_itrm(term->fdin);*/ } else { zselect_set(zsel, blockh, close_handle, NULL, close_handle, GINT_TO_POINTER(blockh)); } } } else { char *data; if ((data = g_malloc(strlen(path) + strlen(delete1) + 4))) { data[0] = 0; data[1] = fg; strcpy(data + 2, path); strcpy(data + 3 + strlen(path), delete1); hard_write(term->fdout, data, strlen(path) + strlen(delete1) + 4); g_free(data); } /*char x = 0; hard_write(term->fdout, &x, 1); x = fg; hard_write(term->fdout, &x, 1); hard_write(term->fdout, path, strlen(path) + 1); hard_write(term->fdout, delete, strlen(delete) + 1);*/ } } void do_terminal_function(char code, char *data) { char *x_data; if (!(x_data = (char *)g_malloc(strlen(data) + 2))) return; x_data[0] = code; strcpy(x_data + 1, data); exec_on_terminal(NULL, x_data, 0); g_free(x_data); } #endif void set_terminal_title(char *title) { if (term->title && !strcmp(title, term->title)) return; if (term->title) g_free(term->title); term->title = g_strdup(title); #ifdef Z_HAVE_SDL if (!sdl) #endif { #ifndef Z_MSC_MINGW do_terminal_function(TERM_FN_TITLE, title); #endif } } void set_ctest_title(){ gchar *c; if (ctest){ c = g_strdup_printf(" %s %s - %s-%s %s", ctest->pcall, ctest->tname, PACKAGE_NAME, Z_PLATFORM, PACKAGE_VERSION); set_terminal_title(c); g_free(c); }else{ c = g_strdup_printf(" %s-%s %s", PACKAGE_NAME, Z_PLATFORM, PACKAGE_VERSION); set_terminal_title(c); g_free(c); } } tucnak-4.32/src/fifo.c0000644000175000017500000002010213737416550011534 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "kst.h" #include "qsodb.h" #include "session.h" #include "subwin.h" #include "misc.h" struct fifo *glog = NULL; struct fifo *gtalk = NULL; //static struct fifo *gsked = NULL; struct fifo *init_fifo(int maxlen){ struct fifo *fifo; /* dbg("init_fifo(%d)\n", maxlen);*/ fifo = g_new0(struct fifo, 1); fifo->maxlen = maxlen; fifo->items = g_ptr_array_new(); return fifo; } void free_fifo(struct fifo *fifo){ sw_unset_unread(fifo); zg_ptr_array_free_all(fifo->items); g_free(fifo); } void drop_fifo(struct fifo *fifo){ int i; for (i=fifo->items->len-1; i>=0; i--){ g_free(g_ptr_array_index(fifo->items, i)); g_ptr_array_remove_index_fast(fifo->items, i); } } void fifo_resize(struct fifo *fifo, int x, int y, int w, int h){ fifo->x = x; fifo->y = y; fifo->w = w; fifo->h = h; } int fifo_len(struct fifo *fifo){ return fifo->items->len; } gchar *fifo_index(struct fifo *fifo, int index){ return (char *)g_ptr_array_index(fifo->items, index); } static void fifo_check_len(struct fifo *fifo){ gpointer p; if (fifo->items->len == fifo->maxlen){ p = g_ptr_array_index(fifo->items, 0); g_free(p); g_ptr_array_remove_index(fifo->items, 0); } } static gchar *hour_min(void){ time_t now; struct tm utc; gchar *res; time(&now); gmtime_r(&now, &utc); res=g_strdup_printf("%2d:%02d",utc.tm_hour, utc.tm_min); return res; } void fifo_adds(struct fifo *fifo, gchar *str){ int l,i; gchar *c, *now; struct subwin *sw; if (!fifo || !str) return; if (!fifo->withouttime){ now = hour_min(); c = g_strconcat(now, " ", str, NULL); g_free(now); }else{ c = g_strdup(str); } l = strlen(c); if (l>0 && c[l-1]=='\n') c[l-1]='\0'; if (l>0 && c[l-1]=='\r') c[l-1]='\0'; if (gses){ for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->fifo!=fifo) continue; if (sw->offset > 0 && sw->offset < sw->maxlen-sw->h) sw->offset++; } } g_ptr_array_add(fifo->items, c); if (ctest && ctest->logfile && fifo==glog){ fprintf(ctest->logfile, "%s\n", c); } fifo_check_len(fifo); sw_set_unread(fifo); if (term) redraw_later(); } void fifo_addf(struct fifo *fifo, char *m, ...){ gchar *c, *d, *now; int l; va_list v; if (!fifo) return; va_start(v, m); c = g_strdup_vprintf(m, v); va_end(v); l = strlen(c); if (l>0 && c[l-1]=='\n') c[l-1]='\0'; if (l>0 && c[l-1]=='\r') c[l-1]='\0'; if (!fifo->withouttime){ now = hour_min(); d = g_strconcat(now, " ", c, NULL); g_free(now); g_free(c); } else{ d=c; } g_ptr_array_add(fifo->items, d); if (ctest && ctest->logfile && fifo==glog){ fprintf(ctest->logfile, "%s\n", d); } fifo_check_len(fifo); sw_set_unread(fifo); if (term) redraw_later(); } void fifo_addfq(struct fifo *fifo, char *m, ...){ gchar *c, *d, *now; int l; va_list v; if (!fifo) return; va_start(v, m); c = g_strdup_vprintf(m, v); va_end(v); l = strlen(c); if (l>0 && c[l-1]=='\n') c[l-1]='\0'; if (l>0 && c[l-1]=='\r') c[l-1]='\0'; if (!fifo->withouttime){ now = hour_min(); d = g_strconcat(now, " ", c, NULL); g_free(now); g_free(c); } else{ d=c; } g_ptr_array_add(fifo->items, d); fifo_check_len(fifo); if (term) redraw_later(); } void log_addf(char *m, ...){ gchar *c, *d, *now; va_list v; if (!glog) return; va_start(v, m); c = g_strdup_vprintf(m, v); va_end(v); z_strip_crlf(c); now = hour_min(); d = g_strconcat(now, " ", c, NULL); g_free(now); g_free(c); g_ptr_array_add(glog->items, d); if (ctest && ctest->logfile){ fprintf(ctest->logfile, "%s\n", d); } fifo_check_len(glog); if (term) redraw_later(); } void fifo_add_lines(struct fifo *fifo, char *data){ long pos = 0; long len = strlen(data); int wt = fifo->withouttime; GString *gs = g_string_sized_new(1024); fifo->withouttime = 1; while(1){ if (!zfile_mgets(gs, data, &pos, len, 0)) break; fifo_adds(fifo, gs->str); } g_string_free(gs, TRUE); fifo->withouttime = wt; } void log_draw(struct fifo *fifo){ int i,index; gchar *c; fill_area(fifo->x, fifo->y, fifo->w, fifo->h, COL_BG); for (i=0;ih; i++){ index = fifo->items->len-fifo->h+i; if (index<0) c = "~"; else c = (char*)g_ptr_array_index(fifo->items, index); if (c && strlen(c)>fifo->ho) print_text(fifo->x, fifo->y+i, fifo->w, c+fifo->ho, COL_NORM); } } int save_fifo_to_file(struct fifo *fifo, gchar *filename){ FILE *f; int i,ret; gchar *c; f = fopen(filename, "wt"); if (!f){ log_addf(VTEXT(T_CANT_WRITE_S), filename); return errno; } for (i=0; iitems->len; i++){ c=g_ptr_array_index(fifo->items, i); ret = fprintf(f, "%s\n", c); if (ret!=strlen(c)+1) { log_addf(VTEXT(T_CANT_WRITE_S), filename); return errno; } } fclose(f); return 0; } int load_fifo_from_file(struct fifo *fifo, gchar *filename, int drop){ FILE *f; GString *gs; gchar *c; f = fopen(filename, "rt"); if (!f){ log_addf(VTEXT(T_CANT_READ_S), filename); return errno; } if (drop) drop_fifo(fifo); sw_unset_unread(fifo); gs=g_string_sized_new(100); fifo->withouttime=1; while( (c=zfile_fgets(gs, f, 0)) != NULL){ fifo_adds(fifo, c); } fifo->withouttime=0; g_string_free(gs, TRUE); sw_unset_unread(fifo); fclose(f); return 0; } int fifo_contains(struct fifo *fifo, char *needle){ int i; for (i = fifo->items->len - 1; i >= 0; i--){ char *c = (char*)g_ptr_array_index(fifo->items, i); if (strcmp(c, needle) == 0) return 1; } return 0; } char *fifo_call_under(struct fifo *fifo, int x, int y){ int i1, i2, len; char call[25]; int index = fifo->items->len - fifo->h + y; if (index < 0) return NULL; if (index >= fifo->items->len) return NULL; char *c = (char*)g_ptr_array_index(fifo->items, index); char *s = g_strdup(c); z_str_uc(s); len = strlen(s); for (i1 = x + fifo->ho; i1 >= 0 && i1 < len; i1--){ if (s[i1] >= 'A' && s[i1] <= 'Z') continue; if (s[i1] >= '0' && s[i1] <= '9') continue; if (s[i1] == '-') continue; if (s[i1] == '/') continue; break; } i1++; // line cannot begin with call len = strlen(s); for (i2 = x+fifo->ho; i2 < len; i2++){ if (s[i2] >= 'A' && s[i2] <= 'Z') continue; if (s[i2] >= '0' && s[i2] <= '9') continue; if (s[i2] == '-') continue; if (s[i2] == '/') continue; break; } if (i2 > i1 && i2 - i1 < 20){ g_strlcpy(call, s + i1, Z_MIN(i2 - i1 + 1, 20)); if (z_can_be_call(call, ZCBC_SLASH | ZCBC_MINUS)){ g_free(s); return g_strdup(call); } } return NULL; } void fifo_message(void *itdata, void *menudata){ if (!gses) return; struct subwin *sw = sw_raise_or_new(SWT_KST); sw_set_focus(); sw->callunder = g_strdup(gses->callunder); sw_kst_message(itdata, sw); } void fifo_kst_info(void *itdata, void *menudata){ if (!gses) return; struct subwin *sw = sw_raise_or_new(SWT_KST); sw_set_focus(); sw->callunder = g_strdup(gses->callunder); sw_kst_info(itdata, sw); } #ifdef Z_HAVE_SDL void fifo_kst_ac_info(void *itdata, void *menudata){ if (!gses) return; struct subwin *sw = sw_raise_or_new(SWT_KST); sw_set_focus(); sw->callunder = g_strdup(gses->callunder); sw_kst_ac_info(itdata, sw); } #endif tucnak-4.32/src/trig.h0000644000175000017500000000623113721016253011557 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __TRIG_H #define __TRIG_H // must be present also for --without-hamlib struct config_rig{ int nr; int rig_enabled; char *rig_desc; char *rig_filename; int rig_model, rig_civaddr; int rig_speed; int rig_handshake_none; double rig_lo; /* qrg displayed on rig + rig_lo = real_qrg_on_air use get/set_rig_lo for access */ int rig_ssbcw_shift; /* Hz added to qrg on change ssb->cw */ int rig_poll_ms; int rig_qrg_r2t; int rig_qrg_t2r; int rig_mode_t2r; int rig_clr_rit; int rig_ptt_t2r; int rig_verbose; }; #ifdef HAVE_HAMLIB #include enum trig_cmd { TRIG_FREQ, TRIG_MODE, TRIG_MODE_FREQ, TRIG_RESENDFREQ, TRIG_RIT, TRIG_PTT, TRIG_TOGGLE_SPLIT_VFO }; struct trig_job{ struct trig_job *next; struct trig_job *prev; enum trig_cmd cmd; rmode_t mode; freq_t freq; shortfreq_t rit; ptt_t ptt; }; struct trig{ // config int nr; // same as corresponding record in struct config_trig int poll_ms; rig_model_t model; char *filename; int speed; int handshake_none; int civaddr; int qrg_t2r; int mode_t2r; int ssbcw_shift; int clr_rit; int ptt_t2r; // state GThread *thread; int thread_break; //int pipe_read, pipe_write; struct trig_job jobs; MUTEX_DEFINE(jobs); RIG *rig; int locked; int rigerr; }; struct trigs{ double qrg; shortfreq_t rit; GPtrArray *trigs; // of struct trig int rigerr; vfo_t split_vfo; // accessed from thread }; extern struct trigs *gtrigs; extern ZPtrArray *riglist; // of struct rig_caps // trigs functions void init_trigs(void); void free_trigs(struct trigs *trigs); void trigs_read_handler(struct trigs *trigs, int n, char **items); void trigs_set_qrg(struct trigs *trigs, double qrg); void trigs_set_qrg_except(struct trigs *trigs, int except_rigr, double qrg); void trigs_set_rit_except(struct trigs *trigs, int except_rigr, double rit); void trigs_resend_freq(struct trigs *trigs, int rignr); void trigs_set_ptt(struct trigs *trigs, int ptt); void trigs_toggle_split_vfo(struct trigs *trigs); // trig functions struct trig *init_trig(struct config_rig *crig); void free_trig(struct trig *trig); void trig_job_add(struct trig *trig, struct trig_job *job); struct trig_job *trig_job_get(struct trig *trig); gpointer trig_main(gpointer xxx); void trig_set_mode(struct trig *trig, rmode_t mode); void trig_set_qrg(struct trig *trig, double qrg); void trig_set_mode_qrg(struct trig *trig, rmode_t mode, double qrg); void trig_resend_freq(struct trig *trig); void trig_set_rit(struct trig *trig, shortfreq_t rit); void trig_set_ptt(struct trig *trig, ptt_t ptt); void trig_toggle_split_vfo(struct trig *trig); int trig_save_riglist(const struct rig_caps *caps, void *data); int trig_compare (const void *a, const void *b); char *trig_short_errstr(enum rig_errcode_e error); #endif #endif tucnak-4.32/src/cordata.c0000644000175000017500000000070413310022472012213 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifdef HAVE_CONFIG_H #include "../config.h" #endif #include #ifdef Z_HAVE_SDL #include "libzia.h" #include "cordata.h" #include "cordata.inc" #endif tucnak-4.32/src/txts.c0000644000175000017500000000051311450040022011570 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "txts.inc" tucnak-4.32/src/ac.h0000644000175000017500000000723214066537511011207 00000000000000/* ac.h - aircraft trace Copyright (C) 2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "qsodb.h" #ifndef __AC_H #define __AC_H struct band; struct qso; struct subwin; struct qso; struct zhttp; struct qrv_item; struct ac_result{ int crossing; // next valid only when crossing == 1 int under; double startkx, startky, stopkx, stopky; time_t start, stop; // for testing time_t now; double angle; }; #define ACZO_LOWALT 0 #define ACZO_NORMAL 1 #define ACZO_CROSSING 2 #define ACZO_CURSOR 3 #define AC_ID_MAXLEN 7 #define AC_ICAO_MAXLEN 5 struct ac{ char id[AC_ID_MAXLEN]; // ICAO 24-bit address double w, h; double qtfdir; // radians int asl; // meters int speed; // km/h time_t when; // state double kx, ky; // actual position double pakx, paky; // predicted path after 10 minutes double qtf; // from me struct ac_result tmpres, infores, qrvres; int zorder; gchar icao[AC_ICAO_MAXLEN]; int wingspan; // feets }; struct acs_shared{ char *data; // http in main thread -> acs_thread GPtrArray *acs; double myh, myw; double tmpctpqrb, tmpctpqtf; int new_tmpctp; double infoctpqrb, infoctpqtf; int new_infoctp; char tracked[AC_ID_MAXLEN]; int rotnr; }; struct acs_thread{ double myh, myw; GPtrArray *acs; }; struct ac_counterpart{ double qrb; double qtfrad; double minqrb, maxqrb; double arm1kx, arm1ky, arm2kx, arm2ky; // middle of area double arkx[4], arky[4]; // area visible from both stations int path_valid; }; struct acs{ // only main thread // struct subwin *sw; char *url; int normal, active; GThread *thread; int http_timer; struct zhttp *http; struct qso infolocqso; time_t validity; // shared without lock int thread_break; struct ac_counterpart tmpqso;// TODO -> th struct ac_counterpart infoqso;// TODO -> th struct ac_counterpart qrvqso;// TODO -> th // shared struct acs_shared sh; MUTEX_DEFINE(sh); // only thread struct acs_thread th; GPtrArray *infos; // of ac_info }; struct ac_info{ gchar icao[5]; int wingspan; }; extern struct acs *gacs; struct acs *init_acs(void); void free_acs(struct acs *acs); void acs_load(struct acs *acs, const char *data); // called in thread void acs_load2(struct acs *acs, const char *data); // called in thread void ac_compute(struct acs *acs, struct ac *ac, struct ac_counterpart *ctp, struct ac_result *res); // called in thread #ifdef Z_HAVE_SDL void plot_path(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qso *qso, struct ac_counterpart *ctp); void plot_ac(struct subwin *sw, struct ac *ac); void plot_info_ac(struct subwin *sw, SDL_Surface *surface, struct ac *ac); void acs_redraw(struct subwin *sw, struct acs *acs); #endif void ac_redraw(void); double acs_min_asl(struct acs *acs, double qrb, struct band *b, double elev_rad); double acs_max_qrb(struct acs *acs, double asl, struct band *b, double elev_rad); void acs_http_timer(void *arg); void acs_goturl(struct zhttp *http); void acs_downloaded_callback(struct zhttp *http); gpointer acs_thread(gpointer arg); void acs_update_qth(struct acs *acs); void ac_update_tmpctp(char *wwl); void ac_update_infoctp(char *wwl); void ac_format(struct qrv_item *qi, char *acstart, char *acint, int flags); void init_acs_infos(struct acs *acs); void free_acs_infos(struct acs *acs); int acs_get_wingspan(struct acs *acs, char *icao); struct ac *ac_under(struct acs *acs, struct subwin *sw); void ac_track(struct acs *acs, char *id, int rotnr); #endif tucnak-4.32/src/bfu.c0000644000175000017500000021377513736164554011414 00000000000000 /* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" //#include "charsets.h" #include "kbdbind.h" #include "kbd.h" //#include "language2.h" #include "main.h" #include "menu.h" #include "rc.h" #include "session.h" #include "terminal.h" #include "zosk.h" struct memory_list *getml(void *p, ...) { struct memory_list *ml; va_list ap; int n = 0; void *q = p; va_start(ap, p); while (q) n++, q = va_arg(ap, void *); if (!(ml = (struct memory_list*)g_malloc(sizeof(struct memory_list) + n * sizeof(void *)))) return NULL; ml->n = n; n = 0; q = p; va_start(ap, p); while (q) ml->p[n++] = q, q = va_arg(ap, void *); return ml; } void add_to_ml(struct memory_list **ml, ...) { struct memory_list *nml; va_list ap; int n = 0; void *q; if (!*ml) { if (!(*ml = (struct memory_list*)g_malloc(sizeof(struct memory_list)))) return; (*ml)->n = 0; } va_start(ap, ml); while ((q = va_arg(ap, void *))) n++; if (!(nml = (struct memory_list*)g_realloc(*ml, sizeof(struct memory_list) + (n + (*ml)->n) * sizeof(void *)))) return; va_start(ap, ml); while ((q = va_arg(ap, void *))) nml->p[nml->n++] = q; *ml = nml; } void freeml(struct memory_list *ml) { int i; if (!ml) return; for (i = 0; i < ml->n; i++) g_free(ml->p[i]); g_free(ml); } char m_bar = 0; void do_menu_selected(struct menu_item *items, void *data, int selected) { struct menu *menu; if ((menu = g_new0(struct menu, 1))) { menu->selected = selected; menu->view = 0; menu->items = items; menu->data = data; add_window(menu_func, menu); } else if (items->free_i) { int i; for (i = 0; items[i].text; i++) { if (items[i].free_i & 2) g_free(items[i].text); if (items[i].free_i & 4) g_free(items[i].rtext); } g_free(items); } } void do_menu(struct menu_item *items, void *data) { do_menu_selected(items, data, 0); } static void select_menu(struct menu *menu) { /*int x = menu->x + 4; int y = menu->y + menu->selected - menu->view + 2;*/ struct menu_item *it = &menu->items[menu->selected]; void (*func)(void *, void *) = it->func; void *arg1, *arg2; int dofunc = 1; if (menu->selected < 0 || menu->selected >= menu->ni || it->hotkey == M_BAR) return; if (menu->items[menu->selected].funcall){ menu->items[menu->selected].funcall(menu); dofunc = 0; } arg1 = it->data; arg2 = menu->data; if (!it->in_m) { struct window *win, *win1; for (win = term->windows.next; (void *)win != &term->windows && (win->handler == menu_func || win->handler == mainmenu_func); ){ win1 = win->next; delete_window(win); win = win1; } } if (dofunc){ func(arg1, arg2); } } static void count_menu_size(struct terminal *term, struct menu *menu) { int sx = term->x; int sy = term->y; int mx = 4; int my; int s; for (my = 0; menu->items[my].text; my++) { s = strlen(_(menu->items[my].text)) + strlen(_(menu->items[my].rtext)) + MENU_HOTKEY_SPACE * (_(menu->items[my].rtext)[0] != 0) + 4; if (menu->items[my].checkbox) s += 4; if (s > mx) mx = s; } if (menu->items[my].rtext){ menu->title = menu->items[my].rtext; s = strlen(menu->title) + 4; if (s > mx) mx = s; } menu->ni = my; my += 2; if (mx > sx) mx = sx; if (my > sy) my = sy; menu->xw = mx; menu->yw = my; if ((menu->x = menu->xp) < 0) menu->x = 0; if ((menu->y = menu->yp) < 0) menu->y = 0; if (menu->x + mx > sx) menu->x = sx - mx; if (menu->y + my > sy) menu->y = sy - my; } static void scroll_menu(struct menu *menu, int d) { int c = 0; int w = menu->yw - 2; int scr_i = SCROLL_ITEMS > (w-1)/2 ? (w-1)/2 : SCROLL_ITEMS; if (scr_i < 0) scr_i = 0; if (w < 0) w = 0; menu->selected += d; while (1) { if (c++ > menu->ni) { menu->selected = -1; menu->view = 0; return; } if (menu->selected < 0) menu->selected = 0; if (menu->selected >= menu->ni) menu->selected = menu->ni - 1; /*if (menu->selected < 0) menu->selected = menu->ni - 1; if (menu->selected >= menu->ni) menu->selected = 0;*/ if (menu->ni && menu->items[menu->selected].hotkey != M_BAR) break; menu->selected += d; } /*debug("1:%d %d %d %d", menu->ni, w, menu->view, menu->selected);*/ if (menu->selected < menu->view + scr_i) menu->view = menu->selected - scr_i; if (menu->selected >= menu->view + w - scr_i - 1) menu->view = menu->selected - w + scr_i + 1; if (menu->view > menu->ni - w) menu->view = menu->ni - w; if (menu->view < 0) menu->view = 0; /*debug("2:%d %d %d %d", menu->ni, w, menu->view, menu->selected);*/ } static void display_menu(struct menu *menu) { int p, s; fill_area(menu->x+1, menu->y+1, menu->xw-2, menu->yw-2, COLOR_MENU1); draw_frame(menu->x, menu->y, menu->xw, menu->yw, COLOR_MENU_FRAME, 1); if (menu->title) { set_char(menu->x + 1, menu->y, COLOR_MENU_FRAME | ' '); print_text(menu->x + 2, menu->y, strlen(menu->title), menu->title, COLOR_MENU_FRAME); set_char(menu->x + 2 + strlen(menu->title), menu->y, COLOR_MENU_FRAME | ' '); } for (p = menu->view, s = menu->y + 1; p < menu->ni && p < menu->view + menu->yw - 2; p++, s++) { int x; int h = 0; unsigned char c; char *tmptext = _(menu->items[p].text); int co = p == menu->selected ? h = 1, COLOR_MENU_SELECTED : COLOR_MENU1; if (h) { set_cursor(menu->x+1, s, term->x - 1, term->y - 1); /*set_window_ptr(menu->win, menu->x+3, s+1);*/ set_window_ptr(menu->win, menu->x+menu->xw, s); fill_area(menu->x+1, s, menu->xw-2, 1, co); } if (menu->items[p].hotkey != M_BAR || (tmptext && tmptext[0])) { int xc = 0; int l = strlen(_(menu->items[p].rtext)); for (x = l - 1; x >= 0 && menu->xw - 4 >= l - x && (c = _(menu->items[p].rtext)[x]); x--) set_char(menu->x + menu->xw - 2 - l + x, s, c | co); if (menu->items[p].checkbox) { set_char(menu->x + x + 2 + 1, s, '[' | co); if (menu->items[p].checked) set_char(menu->x + x + 2 + 2, s, 'X' | co); set_char(menu->x + x + 2 + 3, s, ']' | co); xc = 4; } for (x = 0; x < menu->xw - 4 && (c = tmptext[x]); x++) set_char(menu->x + x + 2 + xc, s, !h && strchr(_(menu->items[p].hotkey), z_char_uc(c)) ? h = 1 , COLOR_MENU_HOTKEY | c : co | c); } else { set_char(menu->x, s, COLOR_MENU_FRAME | ATTR_FRAME | 0xc3); fill_area(menu->x+1, s, menu->xw-2, 1, COLOR_MENU_FRAME | ATTR_FRAME | 0xc4); set_char(menu->x+menu->xw-1, s, COLOR_MENU_FRAME | ATTR_FRAME | 0xb4); } } redraw_from_window(menu->win); } void menu_func(struct window *win, struct event *ev, int fwd) { //dbg("menu_func"); int s = 0; struct menu *menu = (struct menu*)win->data; struct window *w1; menu->win = win; switch (ev->ev) { case EV_INIT: case EV_RESIZE: case EV_REDRAW: get_parent_ptr(win, &menu->xp, &menu->yp); count_menu_size(win->term, menu); menu->selected--; scroll_menu(menu, 1); /*case EV_REDRAW:*/ display_menu(menu); break; case EV_MOUSE: if (ev->b & B_MOVE) break; if (ev->x < menu->x || ev->x >= menu->x+menu->xw || ev->y < menu->y || ev->y >= menu->y+menu->yw) { if ((ev->b & BM_ACT) == B_DOWN) del:delete_window_ev(win, ev); else for (w1 = win; (void *)w1 != &win->term->windows; w1 = w1->next) { struct menu *m1; if (w1->handler == mainmenu_func) { if (!ev->y) goto del; break; } if (w1->handler != menu_func) break; m1 = (struct menu*)w1->data; if (ev->x > m1->x && ev->x < m1->x+m1->xw-1 && ev->y > m1->y && ev->y < m1->y+m1->yw-1) goto del; } } else { if (!(ev->x < menu->x || ev->x >= menu->x+menu->xw || ev->y < menu->y/*+1*/ || ev->y >= menu->y+menu->yw/*-1*/)) { int s = ev->y - menu->y-1 + menu->view; if (menu->items[s].hotkey == M_BAR){ #ifdef Z_HAVE_SDL if (zsdl){ double m = fmod((double)ev->my, (double)zsdl->font_h); if (m < zsdl->font_h / 2) s--; else s++; }else #endif { if (menu->selected < 0) break; s = menu->selected; } } if (s < 0) s = 0; if (s >= menu->ni) s = menu->ni - 1; if (s >= 0 && s < menu->ni) { menu->selected = s; scroll_menu(menu, 0); display_menu(menu); if ((ev->b & BM_ACT) == B_UP /*|| menu->items[s].in_m*/) { struct menu_item *it = &menu->items[s]; int relx = ev->x - menu->x; if (it->checkbox && relx < 6) { it->checked = !it->checked; redraw_later(); }else{ select_menu(menu); } } } } } break; case EV_KBD: switch (kbd_action(KM_MENU, ev)) { case ACT_LEFT: case ACT_RIGHT: if ((void *)win->next != &win->term->windows && win->next->handler == mainmenu_func) goto mm; /*for (w1 = win; (void *)w1 != &win->term->windows; w1 = w1->next) { if (w1->handler == mainmenu_func) goto mm; if (w1->handler != menu_func) break; }*/ if (kbd_action(KM_MENU, ev) == ACT_RIGHT) goto enter; delete_window(win); goto break2; case ACT_UP: scroll_menu(menu, -1); break; case ACT_DOWN: scroll_menu(menu, 1); break; case ACT_HOME: menu->selected = -1, scroll_menu(menu, 1); break; case ACT_END: menu->selected = menu->ni, scroll_menu(menu, -1); break; case ACT_PAGE_UP: if ((menu->selected -= menu->yw - 3) < -1) menu->selected = -1; if ((menu->view -= menu->yw - 2) < 0) menu->view = 0; scroll_menu(menu, -1); break; case ACT_PAGE_DOWN: if ((menu->selected += menu->yw - 3) > menu->ni) menu->selected = menu->ni; if ((menu->view += menu->yw - 2) >= menu->ni - menu->yw + 2) menu->view = menu->ni - menu->yw + 2; scroll_menu(menu, 1); break; default: if ((ev->x >= KBD_F1 && ev->x <= KBD_F12) || ev->y == KBD_ALT) { mm: delete_window_ev(win, ev); goto break2; } if (ev->x == KBD_ESC) { delete_window_ev(win, (void *)win->next != &win->term->windows && win->next->handler == mainmenu_func ? ev : NULL); goto break2; } if (ev->x > ' ' && ev->x < 256) { int i; for (i = 0; i < menu->ni; i++) if (strchr(_(menu->items[i].hotkey), z_char_uc(ev->x))) { menu->selected = i; scroll_menu(menu, 0); s = 1; } } break; } if (ev->x == ' '){ menu->items[menu->selected].checked = !menu->items[menu->selected].checked; scroll_menu(menu, 1); } display_menu(menu); if (s || ev->x == KBD_ENTER) { enter: select_menu(menu); } break2: break; case EV_ABORT: if (menu->items->free_i) { int i; for (i = 0; menu->items[i].text; i++) { if (menu->items[i].free_i & 2) g_free(menu->items[i].text); if (menu->items[i].free_i & 4) g_free(menu->items[i].rtext); } g_free(menu->items); } break; } } void do_mainmenu(struct menu_item *items, void *data, int sel) { struct mainmenu *menu; if ((menu = g_malloc(sizeof(struct mainmenu)))) { menu->selected = sel == -1 ? 0 : sel; menu->items = items; menu->data = data; add_window(mainmenu_func, menu); if (sel != -1) { struct event ev = {EV_KBD, KBD_ENTER, 0, 0}; struct window *win = term->windows.next; win->handler(win, &ev, 0); } } } static void display_mainmenu(struct mainmenu *menu) { int i; int p = 2; fill_area(0, 0, term->x, 1, COLOR_MAINMENU | ' '); for (i = 0; menu->items[i].text; i++) { int s = 0; int j; unsigned char c; char *tmptext = _(menu->items[i].text); int co = i == menu->selected ? s = 1, COLOR_MAINMENU_SELECTED : COLOR_MAINMENU; if (s) { fill_area(p, 0, 2, 1, co); fill_area(p+strlen(tmptext)+2, 0, 2, 1, co); menu->sp = p; set_cursor(p, 0, term->x - 1, term->y - 1); set_window_ptr(menu->win, p, 1); } p += 2; for (j = 0; (c = tmptext[j]); j++, p++) set_char(p, 0, (!s && strchr(_(menu->items[i].hotkey), z_char_uc(c)) ? s = 1, COLOR_MAINMENU_HOTKEY : co) | c); p += 2; } menu->ni = i; redraw_from_window(menu->win); } static void select_mainmenu(struct mainmenu *menu) { struct menu_item *it = &menu->items[menu->selected]; if (menu->selected < 0 || menu->selected >= menu->ni || it->hotkey == M_BAR) return; if (!it->in_m) { struct window *win; for (win = term->windows.next; (void *)win != &term->windows && (win->handler == menu_func || win->handler == mainmenu_func); delete_window(win)) ; } it->func(it->data, menu->data); } void mainmenu_func(struct window *win, struct event *ev, int fwd) { //dbg("mainmenu_func"); int s = 0; struct mainmenu *menu = (struct mainmenu *)win->data; menu->win = win; switch(ev->ev) { case EV_INIT: case EV_RESIZE: case EV_REDRAW: display_mainmenu(menu); break; case EV_MOUSE: if (ev->b & B_MOVE) break; if ((ev->b & BM_ACT) == B_DOWN && ev->y) delete_window_ev(win, ev); else if (!ev->y) { int i; int p = 2; for (i = 0; i < menu->ni; i++) { int o = p; char *tmptext = _(menu->items[i].text); p += strlen(tmptext) + 4; if (ev->x >= o && ev->x < p) { menu->selected = i; display_mainmenu(menu); if ((ev->b & BM_ACT) == B_UP || menu->items[s].in_m) select_mainmenu(menu); break; } } } break; case EV_KBD: if (ev->x == ' ' || ev->x == KBD_ENTER || ev->x == KBD_DOWN || ev->x == KBD_UP || ev->x == KBD_PGDN || ev->x == KBD_PGUP) { select_mainmenu(menu); break; } if (ev->x == KBD_LEFT) { if (!menu->selected--) menu->selected = menu->ni - 1; s = 1; } if (ev->x == KBD_RIGHT) { if (++menu->selected >= menu->ni) menu->selected = 0; s = 1; } if ((ev->x == KBD_LEFT || ev->x == KBD_RIGHT) && fwd) { display_mainmenu(menu); select_mainmenu(menu); break; } if (ev->x > ' ' && ev->x < 256) { int i; s = 1; for (i = 0; i < menu->ni; i++) if (strchr(_(menu->items[i].hotkey), z_char_uc(ev->x))) { menu->selected = i; s = 2; } } else if (!s) { delete_window_ev(win, ev->x != KBD_ESC ? ev : NULL); break; } display_mainmenu(menu); if (s == 2) select_mainmenu(menu); break; case EV_ABORT: break; } } struct menu_item *new_menu(int free_i) { struct menu_item *mi; if (!(mi = (struct menu_item*)g_malloc(sizeof(struct menu_item)))) return NULL; memset(mi, 0, sizeof(struct menu_item)); mi->free_i = free_i; return mi; } struct menu_item *add_to_menu(struct menu_item **mi, char *text, char *rtext, char *hotkey, void (*func)(void *, void *), void *data, int in_m) { struct menu_item *mii; int n; for (n = 0; (*mi)[n].text; n++) ; mii = (struct menu_item*)g_realloc(*mi, (n + 2) * sizeof(struct menu_item)); *mi = mii; memcpy(mii + n + 1, mii + n, sizeof(struct menu_item)); mii[n].text = text; mii[n].rtext = rtext; mii[n].hotkey = hotkey; mii[n].func = func; mii[n].data = data; mii[n].in_m = in_m; mii[n].checkbox = 0; mii[n].checked = 0; return mii + n; } void do_dialog(struct dialog *dlg, struct memory_list *ml) { struct dialog_data *dd; struct dialog_item *d; int n = 0; for (d = dlg->items; d->type != D_END; d++) n++; if (!(dd = (struct dialog_data *)g_malloc(sizeof(struct dialog_data) + sizeof(struct dialog_item_data) * n))) return; dd->dlg = dlg; dd->n = n; dd->ml = ml; add_window(dialog_func, dd); } void display_dlg_item(struct dialog_data *dlg, struct dialog_item_data *di, int sel) { switch(di->item->type) { int co; char *text; case D_CHECKBOX: if (di->checked) print_text(di->x, di->y, 3, "[X]", COLOR_DIALOG_CHECKBOX); else print_text(di->x, di->y, 3, "[ ]", COLOR_DIALOG_CHECKBOX); if (sel) { set_cursor(di->x + 1, di->y, di->x + 1, di->y); set_window_ptr(dlg->win, di->x, di->y); } break; case D_CHECKBOX3: if (di->checked==2) print_text(di->x, di->y, 3, "[O]", COLOR_DIALOG_CHECKBOX); else if (di->checked==1) print_text(di->x, di->y, 3, "[X]", COLOR_DIALOG_CHECKBOX); else print_text(di->x, di->y, 3, "[ ]", COLOR_DIALOG_CHECKBOX); if (sel) { set_cursor(di->x + 1, di->y, di->x + 1, di->y); set_window_ptr(dlg->win, di->x, di->y); } break; case D_FIELD_PASS: case D_FIELD: if (di->vpos + di->l <= di->cpos) di->vpos = di->cpos - di->l + 1; if (di->vpos > di->cpos) di->vpos = di->cpos; if (di->vpos < 0) di->vpos = 0; fill_area(di->x, di->y, di->l, 1, COLOR_DIALOG_FIELD); if (di->item->type == D_FIELD) { print_text(di->x, di->y, strlen(di->cdata + di->vpos) <= di->l ? strlen(di->cdata + di->vpos) : di->l, di->cdata + di->vpos, COLOR_DIALOG_FIELD_TEXT); } else fill_area(di->x, di->y, strlen(di->cdata + di->vpos) <= di->l ? strlen(di->cdata + di->vpos) : di->l, 1, COLOR_DIALOG_FIELD_TEXT | '*'); if (sel) { set_cursor(di->x + di->cpos - di->vpos, di->y, di->x + di->cpos - di->vpos, di->y); set_window_ptr(dlg->win, di->x, di->y); } break; case D_BUTTON: co = sel ? COLOR_DIALOG_BUTTON_SELECTED : COLOR_DIALOG_BUTTON; text = _(di->item->text); print_text(di->x, di->y, 2, "[ ", co); print_text(di->x + 2, di->y, strlen(text), text, co); print_text(di->x + 2 + strlen(text), di->y, 2, " ]", co); if (sel) { set_cursor(di->x + 2, di->y, di->x + 2, di->y); set_window_ptr(dlg->win, di->x, di->y); } break; case D_BOX: /* Draw a hierarchy box */ show_dlg_item_box(dlg, di); break; case D_TEXT: break; default: dbg("Tried to draw unknown "); } } static void dlg_select_item(struct dialog_data *dlg, struct dialog_item_data *di) { if (di->item->type == D_CHECKBOX) { if (!di->item->gid) di -> checked = *(int *)di->cdata = !*(int *)di->cdata; else { int i; for (i = 0; i < dlg->n; i++) { if (dlg->items[i].item->type == D_CHECKBOX && dlg->items[i].item->gid == di->item->gid) { *(int *)dlg->items[i].cdata = di->item->gnum; dlg->items[i].checked = 0; display_dlg_item(dlg, &dlg->items[i], 0); } } di->checked = 1; } display_dlg_item(dlg, di, 1); } else if (di->item->type == D_CHECKBOX3) { if (!di->item->gid) { (*(int *)di->cdata)++; if (*(int *)di->cdata == 3) *(int *)di->cdata = 0; di -> checked = *(int *)di->cdata; }else{ int i; for (i = 0; i < dlg->n; i++) { if (dlg->items[i].item->type == D_CHECKBOX3 && dlg->items[i].item->gid == di->item->gid) { *(int *)dlg->items[i].cdata = di->item->gnum; dlg->items[i].checked = 0; display_dlg_item(dlg, &dlg->items[i], 0); } } di->checked = 1; } display_dlg_item(dlg, di, 1); } else if (di->item->type == D_BUTTON) di->item->fn(dlg, di); } static void dlg_set_history(struct dialog_item_data *di) { char *s = ""; int l; if ((void *)di->cur_hist != &di->history) s = di->cur_hist->d; if ((l = strlen(s)) > di->item->dlen) l = di->item->dlen - 1; memcpy(di->cdata, s, l); di->cdata[l] = 0; di->cpos = l; } static int dlg_mouse(struct dialog_data *dlg, struct dialog_item_data *di, struct event *ev) { switch (di->item->type) { case D_BUTTON: if (ev->y != di->y || ev->x < di->x || ev->x >= di->x + strlen(_(di->item->text)) + 4) return 0; if (dlg->dlg->items[di - dlg->items].type == D_TEXT) return 0; display_dlg_item(dlg, &dlg->items[dlg->selected], 0); dlg->selected = di - dlg->items; display_dlg_item(dlg, di, 1); if ((ev->b & BM_ACT) == B_UP) dlg_select_item(dlg, di); return 1; case D_FIELD_PASS: case D_FIELD: if (ev->y != di->y || ev->x < di->x || ev->x >= di->x + di->l) return 0; if (dlg->dlg->items[di - dlg->items].type == D_TEXT) return 0; if (!cfg->usetouch){ if ((di->cpos = di->vpos + ev->x - di->x) > strlen(di->cdata)) di->cpos = strlen(di->cdata); } display_dlg_item(dlg, &dlg->items[dlg->selected], 0); dlg->selected = di - dlg->items; display_dlg_item(dlg, di, 1); #ifdef Z_HAVE_SDL if (gses && cfg->usetouch){ if (gses->osk) zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, ZOSK_ENTERCLOSE, di->cdata); zosk_portrait(gses->osk); } #endif return 1; case D_CHECKBOX: case D_CHECKBOX3: if (ev->y != di->y || ev->x < di->x || ev->x >= di->x + 3) return 0; display_dlg_item(dlg, &dlg->items[dlg->selected], 0); dlg->selected = di - dlg->items; display_dlg_item(dlg, di, 1); if ((ev->b & BM_ACT) == B_UP) dlg_select_item(dlg, di); return 1; case D_BOX: if ((ev->b & BM_ACT) == B_UP) { if ( (ev->y >= di->y) && (ev->x >= di->x && ev->x <= di->l + di->x) ) { /* Clicked in the box. */ int offset; offset = ev->y - di->y; box_sel_set_visible(di, offset); display_dlg_item(dlg, di, 1); return 1; } } /*else if ((ev->b & BM_ACT) == B_DRAG) { debug("drag"); }*/ case D_TEXT: break; } return 0; } static void redraw_dialog(struct dialog_data *dlg) { int i; draw_frame(dlg->x + DIALOG_LEFT_BORDER, dlg->y + DIALOG_TOP_BORDER, dlg->xw - 2 * DIALOG_LEFT_BORDER, dlg->yw - 2 * DIALOG_TOP_BORDER, COLOR_DIALOG_FRAME, DIALOG_FRAME); i = strlen(_(dlg->dlg->title)); print_text((dlg->xw - i) / 2 + dlg->x - 1, dlg->y + DIALOG_TOP_BORDER, 1, " ", COLOR_DIALOG_TITLE); print_text((dlg->xw - i) / 2 + dlg->x, dlg->y + DIALOG_TOP_BORDER, i, _(dlg->dlg->title), COLOR_DIALOG_TITLE); print_text((dlg->xw - i) / 2 + dlg->x + i, dlg->y + DIALOG_TOP_BORDER, 1, " ", COLOR_DIALOG_TITLE); for (i = 0; i < dlg->n; i++) display_dlg_item(dlg, &dlg->items[i], i == dlg->selected); redraw_from_window(dlg->win); } void dialog_func(struct window *win, struct event *ev, int fwd) { int i; struct dialog_data *dlg = (struct dialog_data *)win->data; struct dialog_item_data *di; dlg->win = win; //dbg("dialog_func(%p,[%d,%d,%d,%d],%d)\n",win,ev->ev,ev->x,ev->y,ev->b,fwd); /* Use nonstandard event handlers */ if (dlg->dlg->handle_event && ((dlg->dlg->handle_event)(dlg, ev) == EVENT_PROCESSED) ) { return; } switch (ev->ev) { case EV_INIT: for (i = 0; i < dlg->n; i++) { struct dialog_item_data *di = &dlg->items[i]; memset(di, 0, sizeof(struct dialog_item_data)); di->item = &dlg->dlg->items[i]; if ((di->cdata = (char *)g_malloc(di->item->dlen))) memcpy(di->cdata, di->item->data, di->item->dlen); if (di->item->type == D_CHECKBOX) { if (di->item->gid) { if (*(int *)di->cdata == di->item->gnum) di->checked = 1; } else if (*(int *)di->cdata) di->checked = 1; } if (di->item->type == D_CHECKBOX3) { di->checked = *(int *)di->cdata; } if (di->item->type == D_BOX) { /* Freed in bookmark_dialog_abort_handler() */ di->cdata = g_malloc( sizeof(struct dlg_data_item_data_box) ); ((struct dlg_data_item_data_box*)di->cdata)->sel = -1; ((struct dlg_data_item_data_box*)di->cdata)->box_top = 0; ((struct dlg_data_item_data_box*)di->cdata)->list_len = -1; init_list(((struct dlg_data_item_data_box*)di->cdata)->items); } init_list(di->history); if (di->item->type == D_FIELD || di->item->type == D_FIELD_PASS) { /*if (di->item->history) { struct history_item *j; //int l = di->item->dlen; foreach(j, di->item->history->items) { struct history_item *hi; if (!(hi = g_malloc(sizeof(struct history_item) + strlen(j->d) + 1))) continue; strcpy(hi->d, j->d); struct list_head *h = &di->history; add_to_list(*h, hi); } } */ di->cpos = strlen(di->cdata); } } dlg->selected = 0; while (dlg->dlg->items[dlg->selected].type == D_TEXT) dlg->selected ++; // no focus for D_TEXT case EV_RESIZE: case EV_REDRAW: dlg->dlg->fn(dlg); redraw_dialog(dlg); break; case EV_MOUSE: if (ev->b & B_MOVE) break; for (i = 0; i < dlg->n; i++) if (dlg_mouse(dlg, &dlg->items[i], ev)) break; break; case EV_KBD: di = &dlg->items[dlg->selected]; if (di->item->type == D_FIELD || di->item->type == D_FIELD_PASS) { if (di->item->tabcompl && ev->x == KBD_F2 && ev->y == 0){ di->item->tabi++; do_tab_compl(di, di->item->tabi); if (di->item->tabi == 2) di->item->tabi = 0; goto dsp_f; }else{ di->item->tabi = 0; } switch (kbd_action(KM_EDIT, ev)) { case ACT_UP: if ((void *)di->cur_hist->prev != &di->history) { di->cur_hist = di->cur_hist->prev; dlg_set_history(di); goto dsp_f; } break; case ACT_DOWN: if ((void *)di->cur_hist != &di->history) { di->cur_hist = di->cur_hist->next; dlg_set_history(di); goto dsp_f; } break; case ACT_RIGHT: if (di->cpos < strlen(di->cdata)) di->cpos++; goto dsp_f; case ACT_LEFT: if (di->cpos > 0) di->cpos--; goto dsp_f; case ACT_HOME: di->cpos = 0; goto dsp_f; case ACT_END: di->cpos = strlen(di->cdata); goto dsp_f; case ACT_BACKSPACE: if (di->cpos) { memmove(di->cdata + di->cpos - 1, di->cdata + di->cpos, strlen(di->cdata) - di->cpos + 1); di->cpos--; } goto dsp_f; case ACT_DELETE: if (di->cpos < strlen(di->cdata)) memmove(di->cdata + di->cpos, di->cdata + di->cpos + 1, strlen(di->cdata) - di->cpos + 1); goto dsp_f; case ACT_KILL_TO_BOL: memmove(di->cdata, di->cdata + di->cpos, strlen(di->cdata + di->cpos) + 1); di->cpos = 0; goto dsp_f; case ACT_KILL_TO_EOL: di->cdata[di->cpos] = 0; goto dsp_f; case ACT_COPY_CLIPBOARD: /* Copy to clipboard */ set_clipboard_text(di->cdata); break; /* We don't need to redraw */ case ACT_CUT_CLIPBOARD: /* Cut to clipboard */ set_clipboard_text(di->cdata); di->cdata[0] = 0; di->cpos = 0; goto dsp_f; case ACT_PASTE_CLIPBOARD: { /* Paste from clipboard */ char * clipboard = get_clipboard_text(); strncpy(di->cdata , clipboard, di->item->dlen); di->cdata[di->item->dlen - 1] = 0; di->cpos = strlen(di->cdata); g_free(clipboard); goto dsp_f; } default: if (ev->x >= ' ' && ev->x < 0x100 && !ev->y) { if (strlen(di->cdata) < di->item->dlen - 1) { memmove(di->cdata + di->cpos + 1, di->cdata + di->cpos, strlen(di->cdata) - di->cpos + 1); di->cdata[di->cpos++] = ev->x; } goto dsp_f; } } goto gh; dsp_f: display_dlg_item(dlg, di, 1); redraw_from_window(dlg->win); break; } if ((ev->x == KBD_ENTER && di->item->type == D_BUTTON) || ev->x == ' ') { dlg_select_item(dlg, di); break; } gh: if (ev->x > ' ' && ev->x < 0x100) for (i = 0; i < dlg->n; i++) if (dlg->dlg->items[i].type == D_BUTTON && z_char_uc(_(dlg->dlg->items[i].text)[0]) == z_char_uc(ev->x)) { sel: if (dlg->selected != i) { display_dlg_item(dlg, &dlg->items[dlg->selected], 0); display_dlg_item(dlg, &dlg->items[i], 1); dlg->selected = i; } dlg_select_item(dlg, &dlg->items[i]); goto bla; } if (ev->x == KBD_ENTER) for (i = 0; i < dlg->n; i++) if (dlg->dlg->items[i].type == D_BUTTON && dlg->dlg->items[i].gid & B_ENTER) goto sel; if (ev->x == KBD_ESC) for (i = 0; i < dlg->n; i++) if (dlg->dlg->items[i].type == D_BUTTON && dlg->dlg->items[i].gid & B_ESC) goto sel; if ((ev->x == KBD_TAB && !ev->y) || ev->x == KBD_DOWN || ev->x == KBD_RIGHT) { display_dlg_item(dlg, &dlg->items[dlg->selected], 0); do{ if ((++dlg->selected) >= dlg->n) dlg->selected = 0; }while (dlg->dlg->items[dlg->selected].type == D_TEXT); display_dlg_item(dlg, &dlg->items[dlg->selected], 1); redraw_from_window(dlg->win); break; } if ((ev->x == KBD_TAB && ev->y) || ev->x == KBD_UP || ev->x == KBD_LEFT) { display_dlg_item(dlg, &dlg->items[dlg->selected], 0); do{ if ((--dlg->selected) < 0) dlg->selected = dlg->n - 1; }while (dlg->dlg->items[dlg->selected].type == D_TEXT); display_dlg_item(dlg, &dlg->items[dlg->selected], 1); redraw_from_window(dlg->win); break; } break; case EV_ABORT: /* Moved this line up so that the dlg would have access to its member vars before they get freed. */ if (dlg->dlg->abort) dlg->dlg->abort(dlg); for (i = 0; i < dlg->n; i++) { struct dialog_item_data *di = &dlg->items[i]; if (di->cdata) g_free(di->cdata); free_list(di->history); } freeml(dlg->ml); } bla:; } int check_number(struct dialog_data *dlg, struct dialog_item_data *di) { char *end; long l = strtol(di->cdata, (char **)(void *)&end, 10); if (!*di->cdata || *end) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_EXPECTED), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } if (l < di->item->gid || l > di->item->gnum) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_OUT_OF_RANGE), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } return 0; } int check_hex(struct dialog_data *dlg, struct dialog_item_data *di) { char *end; long l = strtol(di->cdata, (char **)(void *)&end, 16); if (!*di->cdata || *end) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_EXPECTED), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } if (l < di->item->gid || l > di->item->gnum) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_OUT_OF_RANGE), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } return 0; } int check_double(struct dialog_data *dlg, struct dialog_item_data *di) { double d = atof(di->cdata); if (!*di->cdata) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_EXPECTED), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } if (d < (double)di->item->gid || d > (double)di->item->gnum) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_OUT_OF_RANGE), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } return 0; } int check_qrg(struct dialog_data *dlg, struct dialog_item_data *di) { char *end; double d = strtod(di->cdata, (char **)(void *)&end); if (!*di->cdata || *end) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_EXPECTED), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } if (d < 0.0 || d > 300000000000.0) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_NUMBER_OUT_OF_RANGE), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } return 0; } int check_nonempty(struct dialog_data *dlg, struct dialog_item_data *di) { char *p; for (p = di->cdata; *p; p++) if (*p > ' ') return 0; msg_box(NULL, VTEXT(T_BAD_STRING), AL_CENTER, VTEXT(T_EMPTY_STRING_NOT_ALLOWED), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } int cancel_dialog(struct dialog_data *dlg, struct dialog_item_data *di) { /*struct dialog *dl = dlg->dlg;*/ delete_window(dlg->win); /*g_free(dl);*/ return 0; } static int check_dialog(struct dialog_data *dlg) { int i; for (i = 0; i < dlg->n; i++) if (dlg->dlg->items[i].type == D_CHECKBOX || dlg->dlg->items[i].type == D_CHECKBOX3 || dlg->dlg->items[i].type == D_FIELD || dlg->dlg->items[i].type == D_FIELD_PASS) if (dlg->dlg->items[i].fn && dlg->dlg->items[i].fn(dlg, &dlg->items[i])) { dlg->selected = i; redraw_dialog(dlg); return 1; } return 0; } int ok_dialog(struct dialog_data *dlg, struct dialog_item_data *di) { int i; void (*fn)(void *) = dlg->dlg->refresh; void *data = dlg->dlg->refresh_data; if (check_dialog(dlg)) return 1; for (i = 0; i < dlg->n; i++) memcpy(dlg->dlg->items[i].data, dlg->items[i].cdata, dlg->dlg->items[i].dlen); if (fn) fn(data); i = cancel_dialog(dlg, di); return i; } void center_dlg(struct dialog_data *dlg) { dlg->x = (dlg->win->term->x - dlg->xw) / 2; dlg->y = (dlg->win->term->y - dlg->yw) / 2; } void draw_dlg(struct dialog_data *dlg) { fill_area(dlg->x, dlg->y, dlg->xw, dlg->yw, COLOR_DIALOG); } void max_text_width(struct terminal *term, char *text, int *width) { text = _(text); do { int c = 0; while (*text && *text != '\n') text++, c++; if (c > *width) *width = c; } while (*(text++)); } void min_text_width(struct terminal *term, char *text, int *width) { text = _(text); do { int c = 0; while (*text && *text != '\n' && *text != ' ') text++, c++; if (c > *width) *width = c; } while (*(text++)); } void dlg_format_text(struct terminal *term1, struct terminal *t2, char *atext, int x, int *y, int w, int *rw, int co, int align) { unsigned char *text; text = (unsigned char *)_(atext); do { unsigned char *tx; unsigned char *tt = text; int s; int xx = x; do { while (*text && *text != '\n' && *text != ' ') { text++, xx++; } tx = ++text; xx++; if (*(text - 1) != ' ') break; while (*tx && *tx != '\n' && *tx != ' ') tx++; } while (tx - text + xx - x <= w); s = (align & AL_MASK) == AL_CENTER ? (w - (xx - 1 - x)) / 2 : 0; if (s < 0) s = 0; while (tt < text - 1) { if (s >= w) { s = 0, (*y)++; if (rw) *rw = w; rw = NULL; } if (term1) set_char(x + s, *y, co | *tt); s++, tt++; } if (rw && xx - 1 - x > *rw) *rw = xx - 1 - x; (*y)++; } while (*(text - 1)); } void max_buttons_width(struct terminal *term, struct dialog_item_data *butt, int n, int *width) { int w = -2; int i; for (i = 0; i < n; i++) w += strlen(_((butt++)->item->text)) + 6; if (w > *width) *width = w; } void min_buttons_width(struct terminal *term, struct dialog_item_data *butt, int n, int *width) { int i; for (i = 0; i < n; i++) { int w = strlen(_((butt++)->item->text)) + 4; if (w > *width) *width = w; } } void dlg_format_buttons(struct terminal *term, struct terminal *t2, struct dialog_item_data *butt, int n, int x, int *y, int w, int *rw, int align) { int i1 = 0; while (i1 < n) { int i2 = i1 + 1; int mw; while (i2 < n) { mw = 0; max_buttons_width(t2, butt + i1, i2 - i1 + 1, &mw); if (mw <= w) i2++; else break; } mw = 0; max_buttons_width(t2, butt + i1, i2 - i1, &mw); if (rw && mw > *rw) if ((*rw = mw) > w) *rw = w; if (term) { int i; int p = x + ((align & AL_MASK) == AL_CENTER ? (w - mw) / 2 : 0); for (i = i1; i < i2; i++) { butt[i].x = p; butt[i].y = *y; p += (butt[i].l = strlen(_(butt[i].item->text)) + 4) + 2; } } *y += 2; i1 = i2; } } void dlg_format_buttons1(struct terminal *term, struct terminal *t2, struct dialog_item_data *butt, int n, int x, int *y, int w, int *rw, int align) { int i1 = 0; while (i1 < n) { int i2 = i1 + 1; int mw; while (i2 < n) { mw = 0; max_buttons_width(t2, butt + i1, i2 - i1 + 1, &mw); if (mw <= w) i2++; else break; } mw = 0; max_buttons_width(t2, butt + i1, i2 - i1, &mw); if (rw && mw > *rw) if ((*rw = mw) > w) *rw = w; if (term) { int i; int p = x + ((align & AL_MASK) == AL_CENTER ? (w - mw) / 2 : 0); for (i = i1; i < i2; i++) { butt[i].x = p; butt[i].y = *y; p += (butt[i].l = strlen(_(butt[i].item->text)) + 4) + 2; } } *y += 1; i1 = i2; } } void dlg_format_checkbox(struct terminal *term, struct terminal *t2, struct dialog_item_data *chkb, int x, int *y, int w, int *rw, char *text) { if (term) { chkb->x = x; chkb->y = *y; } if (rw) *rw -= 4; dlg_format_text(term, t2, text, x + 4, y, w - 4, rw, COLOR_DIALOG_CHECKBOX_TEXT, AL_LEFT); if (rw) *rw += 4; } void dlg_format_checkboxes(struct terminal *term, struct terminal *t2, struct dialog_item_data *chkb, int n, int x, int *y, int w, int *rw, char **texts) { while (n) { dlg_format_checkbox(term, t2, chkb, x, y, w, rw, _(texts[0])); texts++; chkb++; n--; } } void checkboxes_width(struct terminal *term, char **texts, int *w, void (*fn)(struct terminal *, char *, int *)) { while (texts[0]) { *w -= 4; fn(term, _(texts[0]), w); *w += 4; texts++; } } void dlg_format_field(struct terminal *term, struct terminal *t2, struct dialog_item_data *item, int x, int *y, int w, int *rw, int align) { item->x = x; item->y = *y; item->l = w; /*if ((item->l = w) > item->item->dlen - 1) item->l = item->item->dlen - 1;*/ if (rw && item->l > *rw) if ((*rw = item->l) > w) *rw = w; (*y)++; } /* Layout for generic boxes */ void dlg_format_box(struct terminal *term, struct terminal *t2, struct dialog_item_data *item, int x, int *y, int w, int *rw, int align) { item->x = x; item->y = *y; item->l = w; if (rw && item->l > *rw) if ((*rw = item->l) > w) *rw = w; (*y) += item->item->gid; } void max_group_width(struct terminal *term, char **texts, struct dialog_item_data *item, int n, int *w) { int ww = 0; while (n--) { int wx = (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3) ? 4 : item->item->type == D_BUTTON ? strlen(_(item->item->text)) + 5 : item->item->dlen + 1; wx += strlen(_(texts[0])); if (n) wx++; ww += wx; texts++; item++; } if (ww > *w) *w = ww; } void min_group_width(struct terminal *term, char **texts, struct dialog_item_data *item, int n, int *w) { while (n--) { int wx = (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3) ? 4 : item->item->type == D_BUTTON ? strlen(_(item->item->text)) + 5 : item->item->dlen + 1; wx += strlen(_(texts[0])); if (wx > *w) *w = wx; texts++; item++; } } void dlg_format_group(struct terminal *term1, struct terminal *t2, char **texts, struct dialog_item_data *item, int n, int x, int *y, int w, int *rw) { int nx = 0; /* now X coord */ /* dbg("\ndlg_format_group (term=%p,n=%d,x=%d,*y=%d,w=%d,rw=%p)\n",term,n,x,*y,w,rw);*/ //dbg("dlg_format_group item x=%d y=%d l=%d, vpos=%d, cpos=%d\n", item->x, item->y, item->l, item->vpos, item->cpos); while (n--) { int sl; int wx = (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3) ? 4 : item->item->type == D_BUTTON ? strlen(_(item->item->text)) + 5 : item->item->maxl ? item->item->maxl+1 : item->item->dlen + 1; /* widget width */ if (_(texts[0])[0]) sl = strlen(_(texts[0])); else sl = -1; wx += sl; if (nx && nx + wx > w) { nx = 0; (*y) += 2; } /* dbg("sl=%d nx=%d wx=%d w=%d\n",sl,nx,wx,w);*/ if (term1) { int stringlen; print_text(x + nx + 4 * (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3), *y, strlen(_(texts[0])), _(texts[0]), COLOR_DIALOG_TEXT); item->x = x + nx + (sl + 1) * (item->item->type != D_CHECKBOX && item->item->type != D_CHECKBOX3); item->y = *y; /* dbg("item->x=%d item->y=%d\n",item->x,item->y);*/ if (item->item->type == D_FIELD || item->item->type == D_FIELD_PASS) { item->l = item->item->maxl ? item->item->maxl : item->item->dlen; /* dbg("setting item->l to %d \n",item->l); dbg("remains w-nx=%d w-nx-wx=%d \n",w-nx,w-nx-wx);*/ stringlen=strlen(_(texts[0])); if (item->l > w-nx-stringlen) item->l = w-nx-stringlen; /* dbg("setting item->l to %d \n",item->l);*/ } } if (rw && nx + wx > *rw) if ((*rw = nx + wx) > w) *rw = w; nx += wx + 1; texts++; item++; } (*y)++; } void dlg_format_group1(struct terminal *term1, struct terminal *t2, char **texts, struct dialog_item_data *item, int n, int x, int *y, int w, int *rw) { int nx = 0; /* now X coord */ /* dbg("\ndlg_format_group (term=%p,n=%d,x=%d,*y=%d,w=%d,rw=%p)\n",term,n,x,*y,w,rw);*/ while (n--) { int sl; int wx = (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3) ? 4 : item->item->type == D_BUTTON ? strlen(_(item->item->text)) + 5 : item->item->maxl ? item->item->maxl+1 : item->item->dlen + 1; /* widget width */ if (_(texts[0])[0]) sl = strlen(_(texts[0])); else sl = -1; wx += sl; if (nx && nx + wx > w) { nx = 0; (*y) += 1; } /* dbg("sl=%d nx=%d wx=%d w=%d\n",sl,nx,wx,w);*/ if (term1) { int stringlen; print_text(x + nx + 4 * (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3), *y, strlen(_(texts[0])), _(texts[0]), COLOR_DIALOG_TEXT); item->x = x + nx + (sl + 1) * (item->item->type != D_CHECKBOX && item->item->type != D_CHECKBOX3); item->y = *y; /* dbg("item->x=%d item->y=%d\n",item->x,item->y);*/ if (item->item->type == D_FIELD || item->item->type == D_FIELD_PASS) { item->l = item->item->maxl ? item->item->maxl : item->item->dlen; /* dbg("setting item->l to %d \n",item->l); dbg("remains w-nx=%d w-nx-wx=%d \n",w-nx,w-nx-wx);*/ stringlen=strlen(_(texts[0])); if (item->l > w-nx-stringlen) item->l = w-nx-stringlen; /* dbg("setting item->l to %d \n",item->l); */ } } if (rw && nx + wx > *rw) if ((*rw = nx + wx) > w) *rw = w; nx += wx + 1; texts++; item++; } (*y)++; } void checkbox_list_fn(struct dialog_data *dlg) { int max = 0, min = 0; int w, rw; int y = 0; checkboxes_width(term, dlg->dlg->udata, &max, max_text_width); checkboxes_width(term, dlg->dlg->udata, &min, min_text_width); max_buttons_width(term, dlg->items + dlg->n - 2, 2, &max); min_buttons_width(term, dlg->items + dlg->n - 2, 2, &min); w = term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB; if (w < 5) w = 5; rw = 0; dlg_format_checkboxes(NULL, term, dlg->items, dlg->n - 2, 0, &y, w, &rw, dlg->dlg->udata); y++; dlg_format_buttons(NULL, term, dlg->items + dlg->n - 2, 2, 0, &y, w, &rw, AL_CENTER); w = rw; dlg->xw = rw + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB + 1; dlg_format_checkboxes(term, term, dlg->items, dlg->n - 2, dlg->x + DIALOG_LB, &y, w, NULL, dlg->dlg->udata); y++; dlg_format_buttons(term, term, dlg->items + dlg->n - 2, 2, dlg->x + DIALOG_LB, &y, w, &rw, AL_CENTER); } void group_fn(struct dialog_data *dlg) { int max = 0, min = 0; int w, rw; int y = 0; max_group_width(term, dlg->dlg->udata, dlg->items, dlg->n - 2, &max); min_group_width(term, dlg->dlg->udata, dlg->items, dlg->n - 2, &min); max_buttons_width(term, dlg->items + dlg->n - 2, 2, &max); min_buttons_width(term, dlg->items + dlg->n - 2, 2, &min); w = term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB; if (w < 1) w = 1; rw = 0; dlg_format_group(NULL, term, dlg->dlg->udata, dlg->items, dlg->n - 2, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items + dlg->n - 2, 2, 0, &y, w, &rw, AL_CENTER); w = rw; dlg->xw = rw + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB + 1; dlg_format_group(term, term, dlg->dlg->udata, dlg->items, dlg->n - 2, dlg->x + DIALOG_LB, &y, w, NULL); y++; dlg_format_buttons(term, term, dlg->items + dlg->n - 2, 2, dlg->x + DIALOG_LB, &y, w, &rw, AL_CENTER); } static void msg_box_fn(struct dialog_data *dlg) { int max = 0, min = 0; int w, rw; int y = 0; char **ptr; //t textl2 = 0; GString *text = g_string_new(""); for (ptr = dlg->dlg->udata; *ptr; ptr++) g_string_append(text, _(*ptr)); max_text_width(term, text->str, &max); min_text_width(term, text->str, &min); max_buttons_width(term, dlg->items, dlg->n, &max); min_buttons_width(term, dlg->items, dlg->n, &min); w = term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB; if (w < 1) w = 1; rw = 0; dlg_format_text(NULL, term, text->str, 0, &y, w, &rw, COLOR_DIALOG_TEXT, dlg->dlg->align); y++; dlg_format_buttons(NULL, term, dlg->items, dlg->n, 0, &y, w, &rw, AL_CENTER); w = rw; dlg->xw = rw + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB + 1; dlg_format_text(term, term, text->str, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, dlg->dlg->align); y++; dlg_format_buttons(term, term, dlg->items, dlg->n, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER); g_string_free(text, TRUE); } static int msg_box_button(struct dialog_data *dlg, struct dialog_item_data *di) { void (*fn)(void *, struct dialog_item_data *) = (void (*)(void *, struct dialog_item_data *di))di->item->udata; void *data = dlg->dlg->udata2; /*struct dialog *dl = dlg->dlg;*/ if (fn) fn(data, di); cancel_dialog(dlg, di); return 0; } void msg_box(struct memory_list *ml, char *title, int align, /*char *text, void *data, int n,*/ ...) { struct dialog *dlg; int i; int n; char *text; char **udata; void *udata2; int udatan; va_list ap; va_start(ap, align); udata = NULL; udatan = 0; do { char **udata_; text = va_arg(ap, char *); na_kovarne__to_je_narez: if (!(udata_ = g_realloc(udata, ++udatan * sizeof(char *)))) { g_free(udata); return; } udata = udata_; udata[udatan - 1] = text; if (text && !(align & AL_EXTD_TEXT)) { text = NULL; goto na_kovarne__to_je_narez; } } while (text); udata2 = va_arg(ap, void *); n = va_arg(ap, int); if (!(dlg = g_malloc(sizeof(struct dialog) + (n + 1) * sizeof(struct dialog_item)))) { g_free(udata); return; } memset(dlg, 0, sizeof(struct dialog) + (n + 1) * sizeof(struct dialog_item)); dlg->title = title; dlg->fn = msg_box_fn; dlg->udata = udata; dlg->udata2 = udata2; dlg->align = align; for (i = 0; i < n; i++) { char *m; void (*fn)(void *); int flags; m = va_arg(ap, char *); fn = va_arg(ap, void *); flags = va_arg(ap, int); if (!m) { i--, n--; continue; } dlg->items[i].type = D_BUTTON; dlg->items[i].gid = flags; dlg->items[i].fn = msg_box_button; dlg->items[i].dlen = 0; dlg->items[i].text = m; dlg->items[i].udata = fn; } dlg->items[i].type = D_END; add_to_ml(&ml, dlg, udata, NULL); do_dialog(dlg, ml); } void add_to_history(struct history *h, char *t) { /* struct history_item *hi, *hs; int l; if (!h || !t || !*t) return; l = strlen(t) + 1; if (!(hi = g_malloc(sizeof(struct history_item) + l))) return; memcpy(hi->d, t, l); foreach(hs, h->items) if (!strcmp(hs->d, t)) { struct history_item *hd = hs; hs = hs->prev; del_from_list(hd); g_free(hd); h->n--; } add_to_list(*h, hi); h->n++; while (h->n > MAX_HISTORY_ITEMS) { struct history_item *hd = h->items.prev; if ((void *)hd == &h->items) { zinternal("history is empty"); h->n = 0; return; } del_from_list(hd); g_free(hd); h->n--; }*/ } static int input_field_cancel(struct dialog_data *dlg, struct dialog_item_data *di) { void (*fn)(void *) = di->item->udata; void *data = dlg->dlg->udata2; if (fn) fn(data); cancel_dialog(dlg, di); return 0; } static int input_field_ok(struct dialog_data *dlg, struct dialog_item_data *di) { void (*fn)(void *, char *) = di->item->udata; void *data = dlg->dlg->udata2; char *text = dlg->items->cdata; if (check_dialog(dlg)) return 1; add_to_history(dlg->dlg->items->history, text); if (fn) fn(data, text); ok_dialog(dlg, di); return 0; } static int input_field_complete(struct dialog_data *dlg, struct dialog_item_data *di){ di->item->tabi++; do_tab_compl(&dlg->items[0], 1); if (di->item->tabi == 2) di->item->tabi = 0; redraw_later(); return 0; } char new_file[MAX_STR_LEN]; void input_field_fn_i(struct dialog_data *dlg, int i) { if (strlen(new_file)){ char *c = strrchr(dlg->items[i].cdata, '/'); if (!c) c = strrchr(dlg->items[i].cdata, '\\'); if (c){ char *p; *c = '\0'; p = g_strconcat(dlg->items[i].cdata, "/", new_file, NULL); z_wokna(p); safe_strncpy0(dlg->items[i].cdata, p, dlg->items[i].item->dlen); g_free(p); }else{ safe_strncpy0(dlg->items[i].cdata, new_file, dlg->items[i].item->dlen); } dlg->items[i].cpos = strlen(dlg->items[i].cdata); strcpy(new_file, ""); } } void input_field_fn(struct dialog_data *dlg){ input_field_fn_i(dlg, 0); } void input_field(struct memory_list *ml, char *title, char *text, char *okbutton, char *cancelbutton, void *data, struct history *history, int l, char *def, int min, int max, int (*check)(struct dialog_data *, struct dialog_item_data *), void (*fn)(void *, char *), void (*cancelfn)(void *), int tabcompl) { struct dialog *dlg; char *field; int i; strcpy(new_file, ""); if (!(dlg = g_malloc(sizeof(struct dialog) + 4 * sizeof(struct dialog_item) + l))) return; memset(dlg, 0, sizeof(struct dialog) + 4 * sizeof(struct dialog_item) + l); *(field = (char *)dlg + sizeof(struct dialog) + 4 * sizeof(struct dialog_item)) = 0; if (def) { if (strlen(def) + 1 > l) memcpy(field, def, l - 1); else strcpy(field, def); } dlg->title = title; dlg->fn = dlg_pf_fn; if (tabcompl) dlg->fn2 = input_field_fn; dlg->udata = text; dlg->udata2 = data; dlg->y0 = 1; dlg->items[i=0].type = D_FIELD; dlg->items[i].gid = min; dlg->items[i].gnum = max; dlg->items[i].fn = check; dlg->items[i].history = history; dlg->items[i].dlen = l; dlg->items[i].maxl = (term->x * 2)/4; dlg->items[i].data = field; dlg->items[i].tabcompl = tabcompl; dlg->items[i].wrap = 0; if (tabcompl){ dlg->items[++i].type = D_BUTTON; dlg->items[i].gid = 0; dlg->items[i].fn = input_field_complete; dlg->items[i].dlen = 0; dlg->items[i].text = "F2"; dlg->items[i].udata = NULL; } dlg->items[i].wrap = 2; dlg->items[++i].type = D_BUTTON; dlg->items[i].gid = B_ENTER; dlg->items[i].fn = input_field_ok; dlg->items[i].dlen = 0; dlg->items[i].text = okbutton; dlg->items[i].udata = fn; dlg->items[++i].type = D_BUTTON; dlg->items[i].gid = B_ESC; dlg->items[i].fn = input_field_cancel; dlg->items[i].dlen = 0; dlg->items[i].text = cancelbutton; dlg->items[i].udata = cancelfn; dlg->items[i].align = AL_BUTTONS; dlg->items[i].wrap = 1; dlg->items[++i].type = D_END; add_to_ml(&ml, dlg, NULL); do_dialog(dlg, ml); } /* Sets the selected item to one that is visible.*/ void box_sel_set_visible(struct dialog_item_data *box_item_data, int offset) { struct dlg_data_item_data_box *box; int sel; box = (struct dlg_data_item_data_box *)(box_item_data->item->data); if (offset > box_item_data->item->gid || offset < 0) { return; } /*debug("offset: %d", offset);*/ sel = box->box_top + offset; if (sel > box->list_len) { box->sel = box->list_len - 1; } else { box->sel = sel; } } /* Moves the selected item [dist] thingies. If [dist] is out of the current range, the selected item is moved to the extreme (ie, the top or bottom) */ void box_sel_move(struct dialog_item_data *box_item_data, int dist) { struct dlg_data_item_data_box *box; int new_sel; int new_top; box = (struct dlg_data_item_data_box *)(box_item_data->item->data); new_sel = box->sel + dist; new_top = box->box_top; /* Ensure that the selection is in range */ if (new_sel < 0) new_sel = 0; else if (new_sel >= box->list_len) new_sel = box->list_len - 1; /* Ensure that the display box is over the item */ if ( new_sel >= (new_top + box_item_data->item->gid) ) { /* Move it down */ new_top = new_sel - box_item_data->item->gid + 1; #ifdef DEBUG if (new_top < 0) dbg("Newly calculated box_top is an extremely wrong value (%d). It should not be below zero.", new_top); #endif } else if ( new_sel < new_top ) { /* Move the display up (if necessary) */ new_top = new_sel; } box->sel = new_sel; box->box_top = new_top; } /* Displays a dialog box */ void show_dlg_item_box(struct dialog_data *dlg, struct dialog_item_data *box_item_data) { struct dlg_data_item_data_box *box; struct box_item *citem; /* Item currently being shown */ /* struct box_item *items; */ /* List of items to be shown */ int n; /* Index of item currently being displayed */ box = (struct dlg_data_item_data_box *)(box_item_data->item->data); /* FIXME: Counting here SHOULD be unnecessary */ n = 0; fill_area(box_item_data->x, box_item_data->y, box_item_data->l, box_item_data->item->gid, COLOR_DIALOG_FIELD); foreach (citem, box->items) { int len; /* Length of the current text field. */ len = strlen(citem->text); if (len > box_item_data->l) { len = box_item_data->l; } /* Is the current item in the region to be displayed? */ if ( (n >= box->box_top) && (n < (box->box_top + box_item_data->item->gid)) ) { print_text(box_item_data->x, box_item_data->y + n - box->box_top, len, citem->text, n == box->sel ? COLOR_DIALOG_BUTTON_SELECTED : COLOR_DIALOG_FIELD_TEXT); } n++; } box->list_len = n; } void errbox(char *text, int errcode, ...){ static char str[1026]; va_list l; va_start(l, errcode); if (errcode){ GString *gs = g_string_new(""); g_string_append_vprintf(gs, text, l); g_string_append_printf(gs, "\n"); z_strerror(gs, errcode); g_string_append_printf(gs, " (%d)", errcode); g_snprintf(str, 1024, "%s", gs->str); g_string_free(gs, TRUE); }else{ g_vsnprintf(str, 1024, text, l); } va_end(l); msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, str, NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); } void dlg_pf_init(int phase, struct dialog_data *dlgd){ switch(phase){ case 0: dlgd->min = 0; dlgd->max = 0; dlgd->yy = -1; dlgd->ofs = 0; break; case 1: dlgd->w = dlgd->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (dlgd->w > dlgd->max) dlgd->w = dlgd->max; if (dlgd->w < dlgd->min) dlgd->w = dlgd->min; if (dlgd->w > dlgd->win->term->x - 2 * DIALOG_LB) dlgd->w = dlgd->win->term->x - 2 * DIALOG_LB; if (dlgd->w < 1) dlgd->w = 1; dlgd->rw = 0; dlgd->yy = -1; dlgd->ofs = 0; break; case 2: dlgd->w = dlgd->rw; dlgd->xw = dlgd->w + 2 * DIALOG_LB; dlgd->yw = dlgd->yy + 2 * DIALOG_TB; center_dlg(dlgd); if (dlgd->dlg->position_fn) dlgd->dlg->position_fn(dlgd); draw_dlg(dlgd); dlgd->yy = dlgd->y + DIALOG_TB + dlgd->dlg->y0; dlgd->ofs = 0; break; } } void dlg_pf_group(int phase, struct dialog_data *dlgd, int cnt){ int i; int nx = 0; /* now X coord */ switch(phase){ case 0: for (i=0; iitems[dlgd->ofs+i].item->type == D_CHECKBOX || dlgd->items[dlgd->ofs+i].item->type == D_CHECKBOX3) ? 4 : dlgd->items[dlgd->ofs+i].item->type == D_BUTTON ? strlen(_(dlgd->items[dlgd->ofs+i].item->text)) + 5 : dlgd->items[dlgd->ofs+i].item->dlen + 1; if (dlgd->items[dlgd->ofs+i].item->msg){ wx += strlen(_(dlgd->items[dlgd->ofs+i].item->msg)); } if (wx > dlgd->max) dlgd->max = wx; if (wx < dlgd->min) dlgd->min = wx; } break; case 1: for (i=0; iitems[dlgd->ofs+i]); int wx = (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3) ? 4 : item->item->type == D_BUTTON ? strlen(_(item->item->text)) + 5 : item->item->maxl ? item->item->maxl+1 : item->item->dlen + 1; /* widget width */ if (_(item->item->msg)) sl = strlen(_(item->item->msg)); else sl = -1; wx += sl; if (nx && nx + wx > dlgd->w) { nx = 0; dlgd->yy += 1; } if (nx + wx > dlgd->rw) if ((dlgd->rw = nx + wx) > dlgd->w) dlgd->rw = dlgd->w; nx += wx + 1; } //dlgd->yy++; break; case 2: for (i=0; iitems[dlgd->ofs+i]); int wx = (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3) ? 4 : item->item->type == D_BUTTON ? strlen(_(item->item->text)) + 5 : item->item->maxl ? item->item->maxl+1 : item->item->dlen + 1; /* widget width */ if (_(item->item->msg)) sl = strlen(_(item->item->msg)); else sl = -1; wx += sl; if (nx && nx + wx > dlgd->w) { nx = 0; dlgd->yy += 1; } if (item->item->msg){ print_text(dlgd->x + DIALOG_LB + nx + 4 * (item->item->type == D_CHECKBOX || item->item->type == D_CHECKBOX3), dlgd->yy, strlen(_(item->item->msg)), _(item->item->msg), COLOR_DIALOG_TEXT); } item->x = dlgd->x + DIALOG_LB + nx + (sl + 1) * (item->item->type != D_CHECKBOX && item->item->type != D_CHECKBOX3); item->y = dlgd->yy; if (item->item->type == D_FIELD || item->item->type == D_FIELD_PASS) { item->l = item->item->maxl ? item->item->maxl : item->item->dlen; stringlen=0; if (item->item->msg) stringlen = strlen(_(item->item->msg)); if (item->l > dlgd->w - nx - stringlen) item->l = dlgd->w - nx - stringlen; } nx += wx + 1; } //dlgd->yy++; break; } dlgd->ofs += cnt; } void dlg_pf_buttons(int phase, struct dialog_data *dlgd, int cnt){ switch(phase){ case 0: max_buttons_width(dlgd->win->term, dlgd->items + dlgd->ofs, cnt, &dlgd->max); min_buttons_width(dlgd->win->term, dlgd->items + dlgd->ofs, cnt, &dlgd->min); break; case 1: dlg_format_buttons(NULL, dlgd->win->term, dlgd->items + dlgd->ofs, cnt, 0, &dlgd->yy, dlgd->w, &dlgd->rw, dlgd->items[dlgd->ofs+cnt-1].item->align); break; case 2: dlg_format_buttons(dlgd->win->term, dlgd->win->term, dlgd->items + dlgd->ofs, cnt, dlgd->x + DIALOG_LB, &dlgd->yy, dlgd->w, NULL, dlgd->items[dlgd->ofs+cnt-1].item->align); break; } dlgd->ofs += cnt; } void dlg_pf_fn(struct dialog_data *dlgd) { int ph; int i,j; if (dlgd->dlg->fn2) dlgd->dlg->fn2(dlgd); j=0; for (ph = 0; ph < 3; ph++){ dlg_pf_init(ph, dlgd); for (i=0; i< dlgd->n; i++){ // char *names[]={"end", "check", "field", "pass", "butt", "box", "check3", "?", "?"}; // dbg("i=%d type=%d %s n=%d\n", i, dlgd->items[i].item->type, names[dlgd->items[i].item->type], dlgd->n); j++; if (!dlgd->items[i].item->wrap) continue; if (dlgd->items[i].item->align & AL_BUTTONS) dlg_pf_buttons(ph, dlgd, j); else dlg_pf_group(ph, dlgd, j); dlgd->yy += dlgd->items[i].item->wrap; j=0; } if (j>0){ if (dlgd->items[i].item->align & AL_BUTTONS) dlg_pf_buttons(ph, dlgd, j); else dlg_pf_group(ph, dlgd, j); dlgd->yy += dlgd->items[i].item->wrap; } } } static char *complete_file; static int filter_complete(const char *dir, const struct dirent *de){ int ret; if (strcmp((char *)de->d_name, ".") == 0) return 0; if (strcmp((char *)de->d_name, "..") == 0) return 0; ret = strncmp((char *)de->d_name, complete_file, strlen(complete_file)); return !ret; } void complete_choose(void *dir, void *unused){ /*dbg("menu_load_contest('%s')\n", dir);*/ safe_strncpy0(new_file, (char *)dir, MAX_STR_LEN); redraw_later(); } int do_tab_compl(struct dialog_item_data *di, int tabi){ char *path, *file, *slash; int i, n, max = 0; struct dirent **namelist=NULL; struct menu_item *mi = NULL; dbg("complete: %d '%s'\n", tabi, di->cdata); slash = strrchr(di->cdata, '/'); if (!slash) slash = strrchr(di->cdata, '\\'); if (slash){ if (di->cdata[0] == '~'){ char *p = g_strndup(di->cdata + 1 , slash - di->cdata - 1); path = g_strconcat(home_dir, "/", p, NULL); g_free(p); }else{ path = g_strndup(di->cdata, slash - di->cdata); } file = g_strdup(slash + 1); }else{ path = g_strdup("."); file = g_strdup(di->cdata); } dbg("path='%s' file='%s'\n", path, file); free_namelist(); complete_file = file; n = z_scandir(path, &namelist, filter_complete, z_scandir_alphasort); complete_file = NULL; dbg("n=%d\n", n); if (n <= 0) goto x; for (i=0; id_name); } dbg("\n"); if (n == 1){ char *p = g_strconcat(path, "/", (char*)namelist[0]->d_name, NULL); z_wokna(p); safe_strncpy0(di->cdata, p, di->item->dlen); di->cpos = strlen(di->cdata); g_free(p); }else{ if (!(mi = new_menu(3))) goto x; for (i=0; id_name; if (strlen(c)>max) max=strlen(c); add_to_menu(&mi, g_strdup(c), "", "", complete_choose, namelist[i]->d_name, 0); } // set_window_ptr(gses->win, (term->x-6-max)/2,(term->y-2-i)/2); do_menu(mi, NULL); } x:; g_free(path); g_free(file); free_namelist(); return 0; } tucnak-4.32/src/zstring.c0000644000175000017500000001176712460205606012320 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include #include #ifdef LEAK_DEBUG_LIST struct zstring *debug_zconcatesc(char *file, int line, char *s1, ...){ #else struct zstring *zconcatesc(char *s1, ...){ #endif va_list l; size_t len; char *d; char *s, *c; struct zstring *zs; va_start(l, s1); s = s1; len = 0; do { if (s != s1) len++; for (c = s; *c != '\0'; c++){ switch(*c){ case ';': case '\\': case '\r': case '\n': len += 2; break; default: len++; break; } } }while ((s = va_arg(l, char *)) != NULL); va_end(l); len++; #ifdef LEAK_DEBUG_LIST zs = debug_g_malloc(file, line, sizeof(struct zstring)); zs->str = d = debug_g_malloc(file, line, len); zs->file = file; zs->line = line; #else zs = g_malloc(sizeof(struct zstring)); zs->str = d = g_malloc(len); #endif va_start(l, s1); s = s1; len = 0; do { if (s != s1) *d++ = ';'; for (c = s; *c != '\0'; c++){ switch(*c){ case ';': *d++ = '\\'; *d++ = ';'; break; case '\\': *d++ = '\\'; *d++ = '\\'; break; case '\r': *d++ = '\\'; *d++ = 'r'; break; case '\n': *d++ = '\\'; *d++ = 'n'; break; default: *d++ = *c; break; } } }while ((s = va_arg(l, char *)) != NULL); va_end(l); *d = '\0'; return zs; } #ifdef LEAK_DEBUG_LIST struct zstring *debug_zstrdup(char *file, int line, const char *str){ #else struct zstring *zstrdup(const char *str){ #endif int len; struct zstring *zs; len = strlen(str); #ifdef LEAK_DEBUG_LIST zs = debug_g_malloc(file, line, sizeof(struct zstring)); zs->str = debug_g_malloc(file, line, len + 1); zs->file = file; zs->line = line; #else zs = g_malloc(sizeof(struct zstring)); zs->str = g_malloc(len + 1); #endif memcpy(zs->str, str, len + 1); return zs; } char *ztokenize(struct zstring *zstr, int first){ int backslash=0; int i; char c, *d, *buf; int len; if (first) zstr->tokenpos = 0; len = strlen(zstr->str + zstr->tokenpos) + zstr->tokenpos; if (zstr->tokenpos > len) return NULL; if (zstr->tokenpos < 0) return NULL; buf = d = zstr->str + zstr->tokenpos; for (i = zstr->tokenpos; i < len; i++){ c = zstr->str[i]; if (backslash){ backslash = 0; switch(c){ case '\\': case ';': break; case 'r': c = '\r'; break; case 'n': c = '\n'; break; default: /* error */ error("bad escape \\%c\n", c); break; } }else{ switch (c){ case '\\': backslash = 1; continue; case ';': zstr->tokenpos = i + 1; *d='\0'; return buf; default: break; } } *d++ = c; } zstr->tokenpos = -1; *d='\0'; return buf; } void zfree(struct zstring *zstr){ g_free(zstr->str); zstr->str = NULL; g_free(zstr); } int ztokens(struct zstring *zstr){ int backslash=0; int tokens=1; char *c; for (c = zstr->str; *c != '\0'; c++){ if (backslash){ backslash = 0; continue; } switch (*c){ case '\\': backslash = 1; break; case ';': tokens++; break; } } return tokens; } int zwrite(int fd, struct zstring *zs){ #ifdef Z_MSC_MINGW zinternal("zwrite unimplemented"); return -1; #else int ret; gchar *c; c = g_strconcat(zs->str, "\n", NULL); zfree(zs); ret = write(fd, c, strlen(c)); g_free(c); return ret; #endif } #if 0 int main(){ char *c; zchar *z; int i; c = zconcatesc("aa", ";", "", NULL); printf("c='%s'\n", c); z = zstrdup(c); printf("z='%s'\n", z); i = 0; for (c = ztokenize(z, 1); c != NULL; c = ztokenize(z, 0)){ printf("%d='%s'\n", i, c); i++; } zfree(z); return 0; } #endif tucnak-4.32/src/cwdaemon.c0000644000175000017500000013476114000322113012376 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "control.h" #include "cwdaemon.h" #include "davac4.h" #include "edi.h" #include "fifo.h" #include "inpout.h" #include "inputln.h" #include "main.h" #include "namedb.h" #include "ppdev.h" #include "qsodb.h" #include "rc.h" #include "session.h" #include "ssbd.h" #include "terminal.h" #include "trig.h" #include "tsdl.h" #include "ttys.h" #include "winkey.h" struct cwdaemon *cwda; struct cwdaemon *init_cwdaemon(void){ struct cwdaemon *cwda; int fds[2]; progress(VTEXT(T_INITIALIZING_CWPTT_CONTROL)); /* sound(880); sleep(1); sound(0); sleep(1); sound(1760); sleep(1); sound(0); sleep(1); */ cwda = g_new0(struct cwdaemon, 1); switch(cfg->cwda_type){ case CWD_PARPORT: #ifdef HAVE_LINUX_PPDEV_H /* ppdev.h */ cwda->init = parport_init; cwda->free = parport_free; cwda->reset = parport_reset; cwda->text = cwdaemon_text; cwda->sspeed = cwdaemon_speed; cwda->sweight = cwdaemon_weight; cwda->cw = parport_cw; cwda->ptt = parport_ptt; cwda->ssbway = parport_ssbway; cwda->back = cwdaemon_back; cwda->band = parport_band; #elif defined(Z_MSC_MINGW_CYGWIN) /* inpout.h */ cwda->init = parport_init; cwda->free = parport_free; cwda->reset = parport_reset; cwda->text = cwdaemon_text; cwda->sspeed = cwdaemon_speed; cwda->sweight = cwdaemon_weight; cwda->cw = parport_cw; cwda->ptt = parport_ptt; cwda->ssbway = parport_ssbway; cwda->back = cwdaemon_back; cwda->band = parport_band; #else log_addf(VTEXT(T_NO_PPDEV)); dbg("Support for ppdev/inpout isn't compiled in\n"); #endif break; case CWD_TTYS: cwda->init = ttys_init; cwda->free = ttys_free; cwda->reset = ttys_reset; cwda->text = cwdaemon_text; cwda->sspeed = cwdaemon_speed; cwda->sweight = cwdaemon_weight; cwda->cw = ttys_cw; cwda->ptt = ttys_ptt; cwda->ssbway = ttys_ssbway; cwda->back = cwdaemon_back; break; case CWD_TTYS_SINGLE: cwda->init = ttys_init; cwda->free = ttys_free; cwda->reset = ttys_reset; cwda->text = cwdaemon_text; cwda->sspeed = cwdaemon_speed; cwda->sweight = cwdaemon_weight; cwda->cw = ttys_cw_single; cwda->ptt = ttys_ptt_single; cwda->ssbway = ttys_ssbway; cwda->back = cwdaemon_back; break; case CWD_DAVAC4: #ifdef Z_HAVE_LIBFTDI cwda->init = davac4_init; cwda->free = davac4_free; cwda->reset = davac4_reset; cwda->text = cwdaemon_text; cwda->sspeed = cwdaemon_speed; cwda->sweight = cwdaemon_weight; cwda->cw = davac4_cw; cwda->ptt = davac4_ptt; cwda->ssbway = davac4_ssbway; cwda->monitor = davac4_monitor; cwda->back = cwdaemon_back; cwda->band = davac4_band; MUTEX_INIT(cwda->ftdi); #else log_addf(VTEXT(T_NO_DAVAC4_SUPPORT)); dbg("Support for davac4 isn't compiled in, check for libftdi"); #endif break; case CWD_CWD: cwda->init = cwd_init; cwda->free = cwd_free; cwda->reset = cwd_reset; cwda->text = cwd_text; cwda->sspeed = cwd_speed; cwda->sweight = cwd_weight; cwda->cw = cwd_cw; cwda->ptt = cwd_ptt; cwda->ssbway = cwd_ssbway; cwda->echo = cwd_echo; cwda->band = cwd_band; // cwda->dtune = cwd_tune; break; case CWD_WINKEY: case CWD_WINKEYTCP: if (cfg->cwda_type == CWD_WINKEY) cwda->init = winkey_init_serial; else cwda->init = winkey_init_tcp; cwda->free = winkey_free; cwda->reset = winkey_reset; cwda->text = winkey_text; cwda->sspeed = winkey_speed; cwda->sweight = winkey_weight; cwda->cw = winkey_cw; cwda->ptt = winkey_ptt; cwda->ssbway = winkey_ssbway; cwda->dtune = winkey_tune; cwda->back = winkey_back; break; /* case CWD_WINKEY4: cwda->init = winkey4_init; cwda->free = winkey4_free; cwda->reset = winkey4_reset; cwda->text = winkey_text; cwda->sspeed = winkey_speed; cwda->sweight = winkey_weight; cwda->cw = winkey_cw; cwda->ptt = winkey_ptt; cwda->ssbway = winkey_ssbway; cwda->dtune = winkey_tune; cwda->back = winkey_back; #ifdef Z_HAVE_LIBFTDI cwda->ptt = davac4_ptt; cwda->ssbway = davac4_ssbway; cwda->monitor = davac4_monitor; cwda->band = davac4_band; MUTEX_INIT(cwda->ftdi); #endif break; */ } cwda->speed=cfg->cwda_speed; cwda->weight=cfg->cwda_weight; /*dbg("init_cwdaemon\n"); */ if (z_pipe(fds)) zinternal(VTEXT(T_CANT_CREATE_PIPE)); cwda->pipe_read=fds[0]; cwda->pipe_write=fds[1]; cwda->code=g_string_sized_new(100); cwda->played=g_string_sized_new(100); cwda->thread=g_thread_try_new("cwdaemon", cwdaemon_thread_func, (gpointer)cwda, NULL); if (cwda->init) cwda->init(cwda); /* cwdaemon_cw_string(cwda, "cq cq de ok1zia"); */ /*cwdaemon_cw_string(cwda, "cq"); */ return cwda; } void free_cwdaemon(struct cwdaemon *cwda){ char c; if (!cwda) return; progress(VTEXT(T_TERMINATING_CWDAEMON)); cwda->freeing = 1; cq_abort(1); c=0; z_pipe_write(cwda->pipe_write, &c, 1); dbg("join cwda...\n"); g_thread_join(cwda->thread); dbg("done\n"); z_pipe_close(cwda->pipe_write); z_pipe_close(cwda->pipe_read); g_string_free(cwda->code, 1); g_string_free(cwda->played, 1); if (cwda->free) cwda->free(cwda); g_free(cwda); cwda=NULL; } struct cwelem{ struct timeval tv; int on,last,ch; }; #define MAXCWQUEUE 20 static struct cwelem cwqueue[MAXCWQUEUE+1]; static int qi; static void cwenqueue(struct cwdaemon *cwda){ char s[256], *c, ch; int i; struct timeval tv; if (cwda->tune > 0){ gettimeofday(&tv, NULL); i = 0; cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=1; cwqueue[i].last=0; cwqueue[i].ch=cwda->tune==2?'-':'.'; tv.tv_usec+=(cwda->tune==2?3:1)*(1200000/cwda->speed+cwda->weight*500); while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=0; cwqueue[i].ch=' '; tv.tv_usec+=1200000/cwda->speed-cwda->weight*500; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=1; cwqueue[i].ch='$'; qi=0; return; } while(1){ ch=*cwda->code->str; if (!ch) { qi=-1; /*c = g_strdup_printf("CW;e;%s\n", cwda->played->str); ret = write(tpipe->threadpipe_write, c, strlen(c)); g_free(c);*/ zselect_msg_send(zsel, "%s;%s;%s", "CW", "e", cwda->played->str); g_string_truncate(cwda->played, 0); if (cwda->ptt && !cwda->hold_ptt) cwda->ptt(cwda, 0); return; } g_string_erase(cwda->code, 0, 1); if (ch != '\x09' && ch != '^') g_string_append_c(cwda->played, ch); switch(ch){ case '\x09': strcpy(s, "\x09"); break; case '^': strcpy(s, "^"); break; case ' ': strcpy(s, " "); break; case 'A': strcpy(s, ".-"); break; case 'B': strcpy(s, "-..."); break; case 'C': strcpy(s, "-.-."); break; case 'D': strcpy(s, "-.."); break; case 'E': strcpy(s, "."); break; case 'F': strcpy(s, "..-."); break; case 'G': strcpy(s, "--."); break; case 'H': strcpy(s, "...."); break; case 'I': strcpy(s, ".."); break; case 'J': strcpy(s, ".---"); break; case 'K': strcpy(s, "-.-"); break; case 'L': strcpy(s, ".-.."); break; case 'M': strcpy(s, "--"); break; case 'N': strcpy(s, "-."); break; case 'O': strcpy(s, "---"); break; case 'P': strcpy(s, ".--."); break; case 'Q': strcpy(s, "--.-"); break; case 'R': strcpy(s, ".-."); break; case 'S': strcpy(s, "..."); break; case 'T': strcpy(s, "-"); break; case 'U': strcpy(s, "..-"); break; case 'V': strcpy(s, "...-"); break; case 'W': strcpy(s, ".--"); break; case 'X': strcpy(s, "-..-"); break; case 'Y': strcpy(s, "-.--"); break; case 'Z': strcpy(s, "--.."); break; case '0': strcpy(s, "-----"); break; case '1': strcpy(s, ".----"); break; case '2': strcpy(s, "..---"); break; case '3': strcpy(s, "...--"); break; case '4': strcpy(s, "....-"); break; case '5': strcpy(s, "....."); break; case '6': strcpy(s, "-...."); break; case '7': strcpy(s, "--..."); break; case '8': strcpy(s, "---.."); break; case '9': strcpy(s, "----."); break; case '?': strcpy(s, "..--.."); break; case '/': strcpy(s, "-..-."); break; case ',': strcpy(s, "--..--"); break; case '=': strcpy(s, "-...-"); break; case '@': strcpy(s, ".--.-."); break; case '-': strcpy(s, "-....-"); break; case '+': strcpy(s, ".-.-."); break; case '.': strcpy(s, ".-.-.-"); break; case ';': strcpy(s, "-.-.-."); break; case '!': strcpy(s, ".-..."); break; default: continue; } break; } dbg("enqueue %c '%s' played='%s'\n", ch, s, cwda->played->str); gettimeofday(&tv, NULL); i=0; for (c=s; ; c++){ if (*c=='.'){ cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=1; cwqueue[i].last=0; cwqueue[i].ch='.'; tv.tv_usec+=(24000 * cwda->weight) / cwda->speed; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=0; cwqueue[i].ch=' '; tv.tv_usec+=(24000 * (100 - cwda->weight)) / cwda->speed; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; } if (*c=='-'){ cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=1; cwqueue[i].last=0; cwqueue[i].ch='-'; tv.tv_usec+=(3 * 24000 * cwda->weight) / cwda->speed; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=0; cwqueue[i].ch=' '; tv.tv_usec+=(24000 * (100 - cwda->weight)) / cwda->speed; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; } if (*c=='\0'){ cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=2; cwqueue[i].last=0; cwqueue[i].ch='0'; tv.tv_usec+=(2 * 24000 * cwda->weight) / cwda->speed; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; break; } if (*c==' '){ cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=0; cwqueue[i].ch='_'; tv.tv_usec+=(5 * 24000 * cwda->weight) / cwda->speed; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; } if (*c=='\x09'){ cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=0; cwqueue[i].ch=*c; tv.tv_usec+=1000*cfg->cwda_leadin; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; } if (*c=='^'){ cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=0; cwqueue[i].ch=*c; tv.tv_usec+=1000*cfg->cwda_tail; while (tv.tv_usec>=1000000) {tv.tv_usec-=1000000;tv.tv_sec++; } i++; } } cwqueue[i].tv.tv_sec=tv.tv_sec; cwqueue[i].tv.tv_usec=tv.tv_usec; cwqueue[i].on=0; cwqueue[i].last=1; cwqueue[i].ch='$'; //dbg("ENQ qi=%d\n", qi); qi=0; /* for(i=0;;i++){ dbg(" %2d %d %2d.%06d\n", i, cwqueue[i].on, cwqueue[i].tv.tv_sec, cwqueue[i].tv.tv_usec); if (cwqueue[i].last) break; }*/ } gpointer cwdaemon_thread_func(gpointer data){ fd_set rd; struct timeval *tv, interval, now; int ret, i; char buf[1030]; struct cwdaemon *cwda; cwda=(struct cwdaemon*)data; zg_thread_set_name("Tucnak cwdaemon"); zg_thread_set_priority(2); qi=-1; while(1){ FD_ZERO(&rd); FD_SET(cwda->pipe_read, &rd); if (qi<0){ tv=NULL; /*dbg("\nselect()\n");*/ }else{ /*dbg("\n");*/ gettimeofday(&interval, NULL); /*dbg("now=%02d.%06d cwqueue[%d]=%02d.%06d\n",interval.tv_sec, interval.tv_usec, qi, cwqueue[qi].tv.tv_sec, cwqueue[qi].tv.tv_usec); */ interval.tv_usec=cwqueue[qi].tv.tv_usec-interval.tv_usec; interval.tv_sec=cwqueue[qi].tv.tv_sec-interval.tv_sec; while(interval.tv_usec<0) { interval.tv_usec+=1000000; interval.tv_sec--; } if (interval.tv_sec<0) {interval.tv_sec=0;interval.tv_usec=0;} tv=&interval; /*dbg("select(%2d.%06d)\n", interval.tv_sec%100, interval.tv_usec); */ } ret=select(cwda->pipe_read+1, &rd, NULL, NULL, tv); if (ret<0){ if (errno==EINTR) continue; } gettimeofday(&now, NULL); if (!ret){ /* timeout */ /* dbg("timeout\n");*/ goto check_queue; } if (FD_ISSET(cwda->pipe_read, &rd)){ /*dbg("event on fd\n");*/ ret=z_pipe_read(cwda->pipe_read, buf, 1024); if (ret<=0){ //strcpy(s, "CW;!\n"); /*dbg("%s\n", s);*/ //ret = write(tpipe->threadpipe_write, s, strlen(s)); zselect_msg_send(zsel, "%s;%s", "CW", "!"); break; } buf[ret]='\0'; //dbg("cwdaemon_thread_func: read %d '", ret); //for (i=0;i=' ') { if (cwda->code->len == 0 && qi<0){ if (cwda->ptt && !cwda->hold_ptt) { cwda->ptt(cwda, 1); zselect_msg_send(zsel, "CW;p"); // Rig PTT ON request } if (!cwda->hold_ptt) g_string_append_c(cwda->code, '\x09'); } g_string_append_c(cwda->code, z_char_uc(buf[i])); continue; } switch(buf[i]){ case '\0': if (cwda->cw) cwda->cw(cwda, 0); if (cfg->cwda_spk) sound(0); return NULL; case 1: //dbg("cwenqueue 3\n"); cwenqueue(cwda); break; case 3: if (cwda->cw) cwda->cw(cwda, 0); if (cfg->cwda_spk) sound(0); qi=-1; g_string_truncate(cwda->code, 0); g_string_truncate(cwda->played, 0); break; case 8: if (cwda->code->len > 0) g_string_truncate(cwda->code, cwda->code->len - 1); break; default: break; } } //if (!cwda->hold_ptt) g_string_append_c(cwda->code, '^'); if (qi<0 && *cwda->code->str){ //dbg("cwenqueue 1 tune=%d qi=%d\n", cwda->tune, qi); cwenqueue(cwda); }else{ continue; } } check_queue: if (qi<0) continue; if (cwqueue[qi].last){ //dbg("cwenqueue 2 qi=%d\n", qi); cwenqueue(cwda); goto check_queue; } if (cwqueue[qi].tv.tv_sec>now.tv_sec) continue; if (cwqueue[qi].tv.tv_usec==now.tv_sec){ if (cwqueue[qi].tv.tv_usec>now.tv_usec) continue; } //dbg("playing %d %c\n", qi, cwqueue[qi].ch); if (cwqueue[qi].on==1){ if (cwda->cw) cwda->cw(cwda, 1); if (cfg->cwda_spk) sound(800); }else{ if (cwda->cw) cwda->cw(cwda, 0); if (cfg->cwda_spk) sound(0); } qi++; continue; } if (cwda->cw) cwda->cw(cwda, 0); if (cfg->cwda_spk) sound(0); return NULL; } void cwdaemon_read_handler(struct cwdaemon *cwda, char *s, char *played){ char *c; if (gses->last_cq_timer_id){ /* CQ was aborted while playing */ zselect_timer_kill(zsel, gses->last_cq_timer_id); gses->last_cq_timer_id = 0; } dbg("cwdaemon_read_handler rcvd: '%s' played='%s'\n", s, played); switch(s[0]){ case '!': /* error */ cq_abort(SSBDRECORDING); /*abort recording only if it is in progress */ log_addf("cwdaemon: %s", s+1); break; case 'p': // Rig PTT ON request #ifdef HAVE_HAMLIB trigs_set_ptt(gtrigs, 1); #endif break; case 'e': /* cw text played */ if (aband){ dbg("cwdaemon_read_handler: call_played='%s' agcall=%d iscall='%d'\n", aband->call_played, aband->agcall, aband->iscall); if (aband->iscall){ aband->iscall = 0; dbg("set iscall=%d\n", aband->iscall); if (!aband->call_played){ aband->call_played = z_strdup_trim(played); if (aband->call_played){ c = strchr(aband->call_played, ' '); if (c) *c = '\0'; } dbg("set call_played='%s'\n", aband->call_played); //aband->iscall = 0; //dbg("set iscall=%d\n", aband->iscall); if (ctest->runmode && gses->mode == MOD_CW_CW && cfg->cwda_autgive > 0 && aband->agcall){ struct cq *cq = get_cq_by_number(cfg->cqs, 1); if (cq){ cq->stripcall = 1; dbg("%s: cq_run_by_number(1)\n", __FUNCTION__); cq_run_by_number(1); // 5NN $MX cq->stripcall = 0; aband->agcall = 0; dbg("cwdaemon_read_handler: set agcall=%d\n", aband->agcall); } break; } } } } if (!gses || !gses->last_cq) break; /* zdravime uW 2004 :-) */ if (gses->last_cq->cw_repeat || gses->extcq > 0) cq_cw_wait(gses->last_cq); else{ gses->last_cq->mode=MOD_NONE; cq_abort(SSBDRECORDING); } peer_tx(aband, 0); redraw_later(); break; case 'b': /* paddle break in */ if (gses->last_cq) cq_abort(SSBDRECORDING); break; } } void cq_cw_wait(struct cq *cq){ int remains; // cba_t cba; dbg("cq_cw_wait\n"); #ifdef HAVE_SNDFILE ssbd_abort(gssbd,0); #endif cwdaemon_ptt(cwda, 0, 0); cwdaemon_ssbway(cwda, 0); /* microphone */ peer_tx(aband, 0); remains = cq->cw_ts*100; if (gses->extcq > 0){ remains = cq_remains_run(); } dbg("installing wait timer (%d ms)\n", remains); gses->last_cq_timer_id = zselect_timer_new(zsel, remains, cq_timer_cw2, cq); } static void cwdaemon_send_defaults(struct cwdaemon *cwda, int speed){ if (cwda->sspeed) cwda->sspeed(cwda, cwda->speed); if (cwda->sweight) cwda->sweight(cwda, cwda->weight); if (cfg->cwda_type == CWD_CWD) cwd_tone(cwda, cfg->cwda_spk?800:0); } void cwdaemon_abort(struct cwdaemon *cwda){ if (!cwda) return; //dbg("cwdaemon_abort(cwda=%p)\n", cwda); cwda->hold_ptt = 0; if (cwda->reset) cwda->reset(cwda); cwda->tune = 0; z_pipe_write(cwda->pipe_write, "\x03", 1); #ifdef HAVE_HAMLIB trigs_set_ptt(gtrigs, 0); #endif //dbg("cwdaemon_abort returned\n"); } /* called from SEGV handler */ void cwdaemon_safe_abort(struct cwdaemon *cwda){ if (!cwda) return; if (cwda->reset) cwda->reset(cwda); } int cwdaemon_text(struct cwdaemon *cwda, char *text){ if (!cwda) return 0; dbg("cwdaemon_cw_string('%s')\n", text); z_pipe_write(cwda->pipe_write, text, strlen(text)); return 0; } void cwdaemon_ptt(struct cwdaemon *cwda, int ptt, int hold_ptt){ /*dbg("ptt %d\n", ptt);*/ if (cwda && cwda->ptt){ cwda->hold_ptt = hold_ptt; cwda->ptt(cwda, ptt); if (cwda->hold_ptt) g_string_append_c(cwda->code, '\x09'); } #ifdef HAVE_HAMLIB trigs_set_ptt(gtrigs, ptt); #endif } /* 0=microphone, 1=soundcard */ void cwdaemon_ssbway(struct cwdaemon *cwda, int ssbway){ dbg("cwdaemon_ssbway(%d %s)\n", ssbway, ssbway ? "soundcard": "microphone"); if (!cwda || !cwda->ssbway) return; cwda->ssbway(cwda, ssbway); } int cwdaemon_speed(struct cwdaemon *cwda, int wpm){ if (!cwda) return 0; cwda->speed=wpm; return 0; } void cwdaemon_qrq(struct cwdaemon *cwda, int qrq){ if (!cwda) return; if (cwda->speed+qrq > cfg->cwda_maxwpm) cwda->speed = cfg->cwda_maxwpm; else cwda->speed+=qrq; if (cwda->sspeed) cwda->sspeed(cwda, cwda->speed); } void cwdaemon_qrs(struct cwdaemon *cwda, int qrs){ if (!cwda) return; if (cwda->speed-qrs < cfg->cwda_minwpm) cwda->speed = cfg->cwda_minwpm; else cwda->speed-=qrs; if (cwda->sspeed) cwda->sspeed(cwda, cwda->speed); } int cwdaemon_weight(struct cwdaemon *cwda, int weight){ if (!cwda) return 0; cwda->weight=weight; return 0; } void cwdaemon_tune(struct cwdaemon *cwda, int tune){ if (!cwda) return; dbg("cwdaemon_tune(%d)\n", tune); cwda->tune = tune; if (cwda->dtune) { cwda->dtune(cwda, tune); return; } if (tune>0) z_pipe_write(cwda->pipe_write, "\x01", 1); else cwdaemon_abort(cwda); } int cwdaemon_back(struct cwdaemon *cwda){ dbg("cwdaemon_back\n"); z_pipe_write(cwda->pipe_write, "\x08", 1); return 0; } int cwdaemon_band(struct cwdaemon *cwda, int bandsw){ if (!cwda || !cwda->band) return 0; cwda->band(cwda, bandsw); return 0; } /*********** external cwdaemon ***********************************/ int cwd_init(struct cwdaemon *cwda){ struct sockaddr_in sin; cwda->sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); if (cwda->sock < 0) goto err; if (z_sock_reuse(cwda->sock, 1)){ dbg("Can't set SO_REUSEADDR\n"); goto err; } if (z_sock_nonblock(cwda->sock, 1)){ dbg("Can't set O_NONBLOCK\n"); goto err; } memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = htons(cfg->cwda_udp_port); if (!cfg->cwda_hostname) cfg->cwda_hostname = g_strdup(""); inet_aton(cfg->cwda_hostname, &sin.sin_addr); if (connect(cwda->sock, (struct sockaddr *)&sin, sizeof(sin))){ dbg("Can't connect\n"); goto err; } zselect_set(zsel, cwda->sock, cwd_read_handler, NULL, NULL, cwda); cwdaemon_send_defaults(cwda, cwda->speed); return 0; err:; if (cwda->sock>=0) closesocket(cwda->sock); cwda->sock = -1; return 1; } int cwd_free(struct cwdaemon *cwda){ dbg("cwd_free(%p) sock=%d\n", cwda, cwda?cwda->sock:-1234); if (cwda->sock>=0) { cwdaemon_abort(cwda); zselect_set(zsel, cwda->sock, NULL, NULL, NULL, NULL); closesocket(cwda->sock); } return 0; } void cwd_read_handler(void *arg){ char s[1024]; struct sockaddr_in sin; socklen_t socklen; int rcvd; struct cwdaemon *cwda; dbg("cwd_read_handler\n"); cwda = (struct cwdaemon *)arg; #if 0 if (!ctest) { /* we must clear kernel queue */ recvfrom(cwda->sock, s, sizeof(s)-1, 0, (struct sockaddr *)&sin, &socklen); return; } #endif memset(s, 0, sizeof(s)); socklen = sizeof(sin); rcvd=recvfrom(cwda->sock, s, sizeof(s)-1, 0, (struct sockaddr *)&sin, &socklen); /*dbg(" received '%s' = %d last_cq_timer_id=%d \n", s, rcvd, ctest->last_cq_timer_id);*/ if (rcvd<=0) return; dbg(" rcvd: '%s'\n", s); switch(s[0]){ case '!': /* error */ log_addf("cwdaemon: %s", s+1); zselect_msg_send(zsel, "%s;%s", "CW", "!"); //ret = write(tpipe->threadpipe_write, "CW;!\n", 5); break; case 'h': /* cw text played */ dbg("cwdaemon text played\n"); zselect_msg_send(zsel, "%s;%s", "CW", "e"); //ret = write(tpipe->threadpipe_write, "CW;e\n", 5); break; } } int cwd_reset(struct cwdaemon *cwda){ if (!cwda || cwda->sock<0) return 0; send(cwda->sock, "\0330", 3, 0); /* reset */ return 0; } int cwd_text(struct cwdaemon *cwda, char *text){ if (!cwda || cwda->sock<0) return 0; send(cwda->sock, text, strlen(text)+1, 0); /* reset */ return 0; } int cwd_cw(struct cwdaemon *cwda, int onoff){ return 0; } int cwd_ptt(struct cwdaemon *cwda, int onoff){ char s[16]; if (!cwda || cwda->sock<0) return 0; sprintf(s,"\033a%d", onoff); send(cwda->sock, s, strlen(s)+1, 0); return 0; } int cwd_ssbway(struct cwdaemon *cwda, int onoff){ char s[16]; if (!cwda || cwda->sock<0) return 0; sprintf(s,"\033b%d", onoff); send(cwda->sock, s, strlen(s)+1, 0); return 0; } int cwd_echo(struct cwdaemon *cwda){ char s[16]; return 0; // corruptes playing if (!cwda || cwda->sock<0) return 0; sprintf(s,"\033h%d", -1); send(cwda->sock, s, strlen(s)+1, 0); return 0; } int cwd_speed(struct cwdaemon *cwda, int wpm){ char s[16]; if (cwda->sock<0) return 0; /*dbg("speed=%d\n", wpm);*/ sprintf(s,"\0332%d", wpm); send(cwda->sock, s, strlen(s)+1, 0); return 0; } int cwd_weight(struct cwdaemon *cwda, int weight){ char s[16]; if (cwda->sock<0) return 0; // cwdaemon: Tmark = 1200000/wpm + 500 * weightC // tucnak, winkey: Tmark = 24000 * weightT / wpm // ------------------------------------------------------ // 1200000 / wpm + 500 * weightC = 24000 * weightT / wpm // *wpm // 1200000 + 500 * weightC * wpm = 24000 * weightT // :500 // weightC * wpm = 48 * weightT - 24000 // :wpm // weightC = (48 * weightT - 24000 ) / wpm // ----------------------------------------------------- // 24000 * weightT = 1200000 + 500 * weightC * wpm // :24000 // weightT = 50 + weightC * wpm / 48 sprintf(s,"\0337%d", (48 * weight - 24000) / cwda->speed ); send(cwda->sock, s, strlen(s)+1, 0); return 0; } void cwd_tone(struct cwdaemon *cwda, int tone){ char s[16]; if (cwda->sock<0) return; dbg("TONE\n"); sprintf(s,"\0333%d", tone); send(cwda->sock, s, strlen(s)+1, 0); } /*int cwd_tune(struct cwdaemon *cwda, int onoff){ char s[16]; if (!cwda || cwda->sock<0) return 0; sprintf(s,"\033a%d", onoff); send(cwda->sock, s, strlen(s)+1, 0); return 0; } */ int cwd_band(struct cwdaemon *cwda, int bandsw){ char s[16]; if (cwda->sock<0) return 0; dbg("cwd_band(%d)\n", bandsw); sprintf(s,"\033e%d", bandsw); send(cwda->sock, s, strlen(s)+1, 0); return 0; } /*********** CQ ***********************************/ struct cq *init_cq(void){ struct cq *cq; cq = g_new0(struct cq, 1); g_ptr_array_add(cfg->cqs, cq); return cq; } struct cq *get_cq_by_number(GPtrArray *cqs, int nr){ struct cq *cq; int i; for (i=0; ilen; i++){ cq = (struct cq *)g_ptr_array_index(cqs, i); if (cq->nr==nr) return cq; } return NULL; } void free_cq (struct cq *cq){ if (cq->cw_str) g_free(cq->cw_str); if (cq->ssb_file) g_free(cq->ssb_file); g_free(cq); } /**************** CW *************************/ int cq_run_cw(struct cq *cq){ gchar *raw; unsigned int remains, brk; dbg("cq_run_cw\n"); #ifdef HAVE_SNDFILE ssbd_abort(gssbd,1); /*aborts playing or recording */ #endif cq->mode=MOD_CW_CW; cwdaemon_ssbway(cwda, 1); /* soundcard but here to allow CQ TX on both bands */ redraw_later(); if (!cq->cw_str) { return -1; } raw = convert_cq(cq); dbg("\ncw_run_cq '%s' (extcq %d)\n", raw, gses->extcq); if (!raw) return -1; if (gses->extcq > 0){ remains = cq_remains_run(); brk = cq_remains_brk(); if (gses->extcq_break_timer_id) zselect_timer_kill(zsel, gses->extcq_break_timer_id); gses->extcq_break_timer_id = zselect_timer_new(zsel, brk, cq_timer_brk, NULL); dbg(" remains=%d brk=%d\n", remains, brk); if (remains > 0){ cq_cw_wait(cq); goto x; } } if (!cq->stripcall){ if (cq->cw_speed) cwdaemon_send_defaults(cwda, cq->cw_speed); else cwdaemon_send_defaults(cwda, cwda->speed); }else{ if (cwda->text) cwda->text(cwda, " "); } if (cwda->text) cwda->text(cwda, raw); if (cwda->echo) cwda->echo(cwda); peer_tx(aband, 2); gses->last_cq = cq; gses->last_cq_timer_id = 0; x:; g_free(raw); return 0; } void cq_timer_cw2(void *cq){ dbg("cq_timer_cw2\n"); cq_run_cw((struct cq *)cq); } void cq_timer_brk(void *cq){ gses->extcq_break_timer_id = 0; dbg("cq_timer_brk\n"); cwdaemon_abort(cwda); cq_cw_wait(gses->last_cq); } /*************** SSB *************************/ int cq_run_ssb(struct cq *cq){ #if defined(HAVE_SNDFILE) || defined(Z_ANDROID) int ret = 0; dbg("cq_run_ssb\n"); cq->mode=MOD_SSB_SSB; cwdaemon_ptt(cwda, 1, 0); cwdaemon_ssbway(cwda, 1); /* soundcard */ #ifdef Z_ANDROID char *filename = convert_esc(cq->ssb_file, NULL, CE_NONE, time(NULL)); if (!filename) return -1; zandroid_play_wav(filename); #else zg_free0(gssbd->pfilename); gssbd->pfilename=convert_esc(cq->ssb_file, NULL, CE_NONE, time(NULL)); if (!gssbd->pfilename) return -1; ret=ssbd_play_file(gssbd, gssbd->pfilename); if (ret < 0) { cq_abort(0); return ret; } #endif gses->last_cq = cq; gses->last_cq_timer_id = 0; peer_tx(aband, 2); redraw_later(); return ret; #else log_adds("Tucnak is compiled without libsndfile, no SSB CQ available"); #endif return -1; } #if defined(HAVE_SNDFILE) || defined(Z_ANDROID) void cq_ssb_wait(struct cq *cq){ /*dbg("cq_ssb_wait\n");*/ #ifdef HAVE_SNDFILE ssbd_abort(gssbd,0); #endif cwdaemon_ptt(cwda, 0, 0); cwdaemon_ssbway(cwda, 0); /* microphone */ peer_tx(aband, 0); gses->last_cq_timer_id = zselect_timer_new(zsel, cq->ssb_ts*100, cq_timer_ssb2, cq); } void cq_timer_ssb2(void *cq){ /*dbg("cq_timer_ssb2\n");*/ cq_run_ssb((struct cq *)cq); } #endif /****************** common **********************/ int cq_run_by_number(int no){ int ret = 0; struct cq *cq; dbg("cq_run_by_number(%d), mode=%s\n", no, get_mode()==MOD_CW_CW?"CW":"SSB"); if (no == -1 && get_mode() == MOD_CW_CW){ cq = gses->ac_cq; }else{ if (no<0 || no>=cfg->cqs->len) return -1; cq = (struct cq *)g_ptr_array_index(cfg->cqs, no); } if (!cq->stripcall){ cq_abort(1); } /*if (gses->last_cq_timer_id0){ zselect_timer_kill(zsel, gses->last_cq_timer_id); gses->last_cq_timer_id = 0; } */ if (get_mode() == MOD_CW_CW){ /*dbg(" speed=%d repeat=%d ts=%d '%s'\n", cq->cw_speed, cq->cw_repeat, cq->cw_ts, cq->cw_allowifundef, cq->cw_str);*/ ret=cq_run_cw(cq); }else{ /*dbg(" repeat=%d ts=%d '%s'\n", cq->ssb_repeat, cq->ssb_ts, cq->ssb_file);*/ ret=cq_run_ssb(cq); } if (ret!=0) cq_abort(SSBDRECORDING); return ret; } int cq_abort(int abort_rec){ /* dbg(" cq_abort(%d)\n", abort_rec);*/ if (gses) gses->last_cq=NULL; if (gses && gses->last_cq_timer_id){ zselect_timer_kill(zsel, gses->last_cq_timer_id); gses->last_cq_timer_id = 0; } if (gses && gses->extcq_break_timer_id){ zselect_timer_kill(zsel, gses->extcq_break_timer_id); gses->extcq_break_timer_id = 0; } cwdaemon_abort(cwda); redraw_later(); if (!abort_rec && ssbd_recording(gssbd)) return 0; ssbd_abort(gssbd,abort_rec); return 0; } static gchar *conv_nr(gchar *str){ char *c; static char out[20]; safe_strncpy0(out, str, 20); for (c=out; *c=='0'; c++) *c='t'; return out; } static gchar *conv_rst(gchar *str){ char *c; static char out[20]; safe_strncpy0(out, str, 20); for (c=out; *c!='\0';c++){ if (*c=='9') *c='n'; } return out; } /* convert $XX to string */ /* /home/ja/ssbd/tmp/rec/$N_%Y%m%d_%H%M%S.wav */ #define SFT_LEN 1024 gchar *convert_esc(gchar *format, int *undef, int flags, time_t now){ GString *gs; char *c, *ret, *c2, *c3; int dummyint; struct tm utc; char sft_buf[SFT_LEN+1]; if (!undef) undef=&dummyint; *undef=0; if (now == 0) time(&now); gmtime_r(&now, &utc); if (!format) format=""; strftime(sft_buf, SFT_LEN, format, &utc); gs = g_string_new(""); if (flags&CE_ONLY_STRFTIME){ g_string_append(gs, sft_buf); goto x; } for (c=sft_buf; *c!='\0'; c++){ if (*c=='~' && c==sft_buf){ g_string_append(gs, home_dir); continue; } if (*c!='$') { g_string_append_c(gs, *c); continue; } c++; switch (z_char_lc(*c)){ case '\0': goto brk2; break; case '$': g_string_append_c(gs, '$'); break; case 'b': // dbg("callsign='%s' call_played='%s'\n", TMPQ.callsign, aband->call_played); if (aband) dbg("convert_esc1: call_played='%s'\n", aband->call_played); if (ctest && TMPQ.callsign && aband->call_played != NULL && strcmp(TMPQ.callsign, aband->call_played) != 0){ g_string_append(gs, TMPQ.callsign); //zg_free0(aband->call_played); //aband->call_played = g_strdup(TMPQ.callsign); //dbg("convert_esc2: set call_played='%s'\n", aband->call_played); //aband->iscall = 1; //dbg("convert_esc2: set iscall=%d\n", aband->iscall); } break; case 'c': if (ctest && TMPQ.callsign) { g_string_append(gs, TMPQ.callsign); if (!strcasecmp(TMPQ.callsign, "O""K""1""Z""I""A")) g_string_append(gs, " ""a""h""o""j"); //zg_free0(aband->call_played); //aband->iscall = 1; //dbg("convert_esc3: set iscall=%d\n", aband->iscall); //aband->call_played = g_strdup(TMPQ.callsign); //dbg("convert_esc3: set call_played='%s'\n", aband->call_played); }else{ *undef=1; } break; case 'd': if (ctest) g_string_append (gs, ctest->cdate); else g_string_append(gs, "00000000"); break; case 'e': #ifdef HAVE_SNDFILE if (gssbd->code) g_string_append(gs, "code"); #endif break; case 'i': c2 = g_strdup(INPUTLN(aband)->cdata); for (c3=c2;*c3!='\0';c3++) if (*c3=='.') *c3='?'; g_string_append(gs, c2); g_free(c2); break; case 'j': if (ctest && TMPQ.callsign) { char *name = find_name_by_call(namedb, TMPQ.callsign); if (name) g_string_append(gs, name); }else{ *undef = 1; } break; break; case 'n': if (ctest && TMPQ.qsonrr) g_string_append(gs, conv_nr(TMPQ.qsonrr)); else *undef=1; break; case 'o': if (aband && aband->operator_) g_string_append(gs, aband->operator_); else if (cfg->pcall) g_string_append(gs, cfg->pcall); else *undef=1; break; case 'r': if (ctest && TMPQ.rstr) g_string_append(gs, conv_rst(TMPQ.rstr)); else *undef=1; break; case 's': #ifdef HAVE_SNDFILE g_string_append_printf(gs, "%d", gssbd->serno); #endif break; case 't': if (ctest) g_string_append(gs, ctest->directory); else g_string_append_printf(gs, "%s/00000000", tucnak_dir); break; case 'v': #ifdef HAVE_SNDFILE if (gssbd->callsign) { char *d; for (d=gssbd->callsign; *d!='\0'; d++){ if (*d=='/') g_string_append_c(gs, '_'); else g_string_append_c(gs, *d); } } else *undef=1; #endif break; case 'w': if (ctest && TMPQ.locator) g_string_append(gs, TMPQ.locator); else *undef=1; break; case 'x': if (ctest && TMPQ.exc) g_string_append(gs, TMPQ.exc); else *undef=1; break; case 'm': c++; switch(z_char_lc(*c)){ case '\0': goto brk2; break; case 'c': if (ctest && ctest->pcall) g_string_append(gs, ctest->pcall); else if (cfg->pcall) g_string_append(gs, cfg->pcall); else *undef=1; break; case 'n': if (ctest && TMPQ.qsonrs){ if (ctest->qsoglob){ gchar *c; c = g_strdup_printf("%03d", ctest->allqsos->len+1); g_string_append(gs, conv_nr(c)); g_free(c); }else{ g_string_append(gs, conv_nr(TMPQ.qsonrs)); } }else{ *undef=1; } break; case 'r': if (ctest && TMPQ.rsts) g_string_append(gs, conv_rst(TMPQ.rsts)); else *undef=1; break; case 'w': if (ctest && ctest->pwwlo) g_string_append(gs, ctest->pwwlo); else if (cfg->pwwlo) g_string_append(gs, cfg->pwwlo); else *undef=1; break; case 'x': if (ctest && ctest->pexch) g_string_append(gs, ctest->pexch); else if (cfg->pexch) g_string_append(gs, cfg->pexch); else *undef=1; break; } break; } brk2:; } x:; ret = g_strdup(gs->str); ret = z_optimize_path(ret); g_string_free(gs, TRUE); return ret; } gchar *convert_cq(struct cq *cq){ gchar *ret; int undef; char *c, *d; c = cq->cw_str; // dbg("stripcall=%d c='%s'\n", cq->stripcall, c); if (cq->stripcall){ d = strstr(c, "$C"); if (d != NULL) c += strlen("$C"); while (*c==' ') c++; } ret=convert_esc(c, &undef, CE_NONE, time(NULL)); if (!cq->cw_allowifundef && undef){ g_free(ret); return NULL; } return(ret); } #define FREE_Cx if (c1) {mem_free(c1); c1=NULL;}\ if (c2) {mem_free(c2); c2=NULL;}\ if (c3) {mem_free(c3); c3=NULL;}\ if (c4) {mem_free(c4); c4=NULL;}\ if (c5) {mem_free(c5); c5=NULL;} void menu_runmode(void *arg){ runmode(1); } void menu_spmode(void *arg){ runmode(0); } void runmode(int run){ if (!ctest) return; ctest->runmode = run; } int cq_remains_run(void){ int remains; struct timeval tv; gettimeofday(&tv, NULL); switch (gses->extcq){ case EC_ODD: remains = 120000 - ((tv.tv_sec % 120) * 1000 + tv.tv_usec / 1000); if (remains < 60000) remains = 0; else remains -= 60000; break; case EC_EVEN: remains = 120000 - ((tv.tv_sec % 120) * 1000 + tv.tv_usec / 1000); if (remains >= 60000) remains = 0; break; case EC_1ST: remains = 60000 - ((tv.tv_sec % 60) * 1000 + tv.tv_usec / 1000); if (remains >= 30000) remains = 0; break; case EC_2ND: remains = 60000 - ((tv.tv_sec % 60) * 1000 + tv.tv_usec / 1000); if (remains < 30000) remains = 0; else remains -= 30000; break; default: remains = 0; break; } return remains; } int cq_remains_brk(void){ int remains; struct timeval tv; gettimeofday(&tv, NULL); switch (gses->extcq){ case EC_ODD: remains = 120000 - ((tv.tv_sec % 120) * 1000 + tv.tv_usec / 1000); break; case EC_EVEN: remains = 120000 - ((tv.tv_sec % 120) * 1000 + tv.tv_usec / 1000); if (remains >= 60000) remains -= 60000; else remains += 60000; break; case EC_1ST: remains = 60000 - ((tv.tv_sec % 60) * 1000 + tv.tv_usec / 1000); if (remains >= 30000) remains -= 30000; else remains += 30000; break; case EC_2ND: remains = 60000 - ((tv.tv_sec % 60) * 1000 + tv.tv_usec / 1000); break; default: remains = 0; break; } return remains; } static int ac_cq_i1 = 0; static int ac_cq_i2 = 0; static char *ac_txts[] = { "$C $MC", "$MR", "$MN", "$MR $MN", "$MW", "RRRR 73", NULL }; void ac_cq3(void *arg){ enum extcq conv[4] = {EC_1ST, EC_2ND, EC_ODD, EC_EVEN}; //log_addf("ac_cq3 %d", cba.int_); ac_cq_i2 = GPOINTER_TO_INT(arg); if (!gses) return; gses->extcq = conv[GPOINTER_TO_INT(arg)]; gses->ac_cq->cw_str = ac_txts[ac_cq_i1]; cq_run_by_number(-1); } void ac_cq2(void *arg){ struct menu_item *mi = NULL; //log_addf("ac_cq2 %d", cba.int_); ac_cq_i1 = GPOINTER_TO_INT(arg); if (!(mi = new_menu(1))) return; add_to_menu(&mi,CTEXT(T_1ST), CTEXT(T_HK_1ST), CTEXT(T_HK_1ST), MENU_FUNC ac_cq3, GINT_TO_POINTER(0), 0); add_to_menu(&mi,CTEXT(T_2ND), CTEXT(T_HK_2ND), CTEXT(T_HK_2ND), MENU_FUNC ac_cq3, GINT_TO_POINTER(1), 0); add_to_menu(&mi,CTEXT(T_ODD), CTEXT(T_HK_ODD), CTEXT(T_HK_ODD), MENU_FUNC ac_cq3, GINT_TO_POINTER(2), 0); add_to_menu(&mi,CTEXT(T_EVEN), CTEXT(T_HK_EVEN), CTEXT(T_HK_EVEN), MENU_FUNC ac_cq3, GINT_TO_POINTER(3), 0); do_menu_selected(mi, NULL, ac_cq_i2); } void ac_cq(void){ struct menu_item *mi = NULL; int i, max=0; if (!(mi = new_menu(3))) return; for (i=0; ac_txts[i]!=NULL; i++){ add_to_menu(&mi,g_strdup(ac_txts[i]),"", "", MENU_FUNC ac_cq2, GINT_TO_POINTER(i), 0); if (strlen(ac_txts[i])>max) max = strlen(ac_txts[i]); } set_window_ptr(gses->win, (term->x-max)/2,(term->y-2-i)/2); do_menu_selected(mi, NULL, ac_cq_i1); } tucnak-4.32/src/cwdb.h0000644000175000017500000000452412360775351011545 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __CWDB_H #define __CWDB_H #include "header.h" struct band; struct contest; extern struct cw *cw; struct cw_item{ gchar *wwl0, *wwl1; gint stamp0, stamp1; gint qrv; /* bit array, lsb = A = 50MHz etc. Since 1.15 */ }; struct wc_item{ gchar *call0, *call1; gint stamp0, stamp1; }; struct cw{ ZHashTable *cw; /* key=call, value=cw_item */ GHashTable *wc; int latest; int minstamp; int dirty; }; struct qs{ GPtrArray *result1; gchar *str; }; struct cw *init_cw(void); void free_cw(struct cw *cw); gint get_cw_size(struct cw *cw); gint get_wc_size(struct cw *cw); void load_one_cw(struct cw *cw, gchar *s); int load_cw_from_file(struct cw *cw, gchar *filename); void read_cw_files(struct cw *cw); int save_cw_string(struct cw *cw, GString *gs); int save_cw_into_file(struct cw *cw, gchar *filename); int save_cw(struct cw *cw, int verbose); void add_cw(struct cw *cw, gchar *call, gchar *wwl, gint stamp, gchar *qrv); gchar *find_wwl_by_call(struct cw *cw, gchar *call); gchar *find_wwl_by_call_newer(struct cw *cw, gchar *call, int minstamp); void add_wc(struct cw *cw, gchar *wwl, gchar *call, gint stamp); gchar *find_call_by_wwl(struct cw *cw, gchar *wwl); gchar *find_qrv_str_by_call(struct cw *cw, gchar *call); //int compare_gstring(const void *a, const void *b); void update_cw_from_band(struct cw *cw, struct band *band); void update_cw_from_ctest(struct cw *cw, struct contest *ctest); void get_cw_qs(gchar *str); gpointer cw_thread_func(gpointer data); int cmp_cw_qs(gchar *call, struct cw_item *cwi, GPtrArray *result); void qs_thread_create(void); void qs_thread_join(void); void qs_thread_kill(void); int get_susp_ambiguous_call(struct cw *cw, struct band *band, char *call, char *wwl, GString *gs, int thr); int similar_calls(const char *call1, const char *call2, int factor, int thr, int p); int cwdb_call_info(GString *gs, gchar *call, gchar *stroke, GHashTable *wwls); int load_cw_from_mem(struct cw *cw, const char *file, size_t len); int format_cw_string(struct cw *cw, GString *gs); #endif tucnak-4.32/src/sdev.h0000644000175000000410000000557114046032736011556 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SDEV_H #define __SDEV_H #include "header.h" #define SDINIT char sdlen=0;int sdret;char sdbuf[256] #define SDADD(a) sdbuf[sdlen++]=(a) #define SDADD2(a) sdbuf[sdlen++]=(a)&0xff;sdbuf[sdlen++]=(a)>>8 //#define SDPLUS(sd,cmd) sdret=sd_protplus((sd),(cmd),sdbuf,&sdlen) #define SDMAXLEN 300 #define SDFCE 1 #define SDADR 2 #define SDLEN 3 enum conntype{ CT_TTYS, CT_UDP, CT_TCP, CT_FTDI }; enum sprotocol{ SPROT_NONE, SPROT_ROTAR }; enum SCONN_CMD{ SCONN_ROT_AZIM }; struct sconn_job{ struct sconn_job *next; struct sconn_job *prev; enum SCONN_CMD cmd; struct sdev *sdev; int azim, elev; }; struct sdev{ struct sdev *next; struct sdev *prev; struct sconn *sconn; unsigned char saddr; int timeout_ms; int (*sdev_main)(struct sdev *sdev); void *arg; }; struct sconn{ struct sconn *next; struct sconn *prev; enum conntype type; int opened; int refcnt; gchar *ttys_filename; gchar *ip_hostname; int ip_port; int usb_port; GThread *thread; int thread_break; int give_me_chance; struct sconn_job jobs; MUTEX_DEFINE(jobs); struct sdev sdevs; MUTEX_DEFINE(sdevs); int sdevi; enum sprotocol sprotocol; struct zserial *zser; /* valid only in child process! */ //unsigned char ftdi_state; int ftdi_vid, ftdi_pid; char *ftdi_serial; int freeing; }; extern struct sconn sconns; extern MUTEX_DEFINE(sconns); void init_sconns(void); struct sdev *sd_open_ttys(char saddr, char *filename, int timeout_ms); struct sdev *sd_open_udp(char *hostname, int udpport); struct sdev *sd_open_tcp(char *hostname, int tcpport); struct sdev *sd_open_ftdi(char saddr, int vid, int pid, char *serial, int timeout_ms); void sc_open_common(struct sconn *sconn); int free_sd(struct sdev *sd); int sconn_file_open(struct sconn *sconn, int verbose); int sconn_file_close(struct sconn *sconn); int sconn_file_read(struct sconn *sconn, void *data, size_t len, int timeout_ms); int sconn_file_write(struct sconn *sconn, void *data, size_t len); #ifdef Z_HAVE_LIBFTDI int sconn_ftdi_open(struct sconn *sconn, int verbose); int sconn_ftdi_close(struct sconn *sconn); int sconn_ftdi_read(struct sconn *sconn, void *data, size_t len, int timeout_ms); int sconn_ftdi_write(struct sconn *sconn, void *data, size_t len); #endif gpointer sc_main(gpointer xxx); char *sd_err(int err); int sd_prot(struct sconn *sconn, char saddr, char fce, char *data, int *len, int timeout); void sconn_job_add(struct sconn *sconn, struct sconn_job *job); struct sconn_job *sconn_job_get(struct sconn *sconn); #endif tucnak-4.32/src/pa.h0000644000175000017500000000157212307152506011216 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __PA_H #define __PA_H #include "header.h" #include "dsp.h" #ifdef HAVE_PORTAUDIO extern int pa_initialised; void pa_info(GString *gs); #ifdef HAVE_SNDFILE int pa_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec); #endif int pa_open2(struct dsp *dsp, int rec); int pa_close2(struct dsp *dsp); int pa_write2(struct dsp *dsp, void *data, int len); int pa_read2(struct dsp *dsp, void *data, int len); int pa_reset2(struct dsp *dsp); int pa_sync2(struct dsp *dsp); int pa_get_sources(GString *labels); int pa_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec); #endif #endif tucnak-4.32/src/terminal.h0000644000175000017500000001130313656767012012436 00000000000000 /* Tucnak - VHF contest log Copyright (C) 2011-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __TERMINAL_H #define __TERMINAL_H #include "header.h" /* UTF-8 */ typedef uint32_t unicode_val; /* UCS/Unicode replacement character. */ #define UCS_NO_CHAR ((unicode_val) 0xFFFD) typedef unsigned short chr; struct event { long ev; long x; long y; long b; long mx; long my; double vx; double vy; }; #define EV_INIT 0 #define EV_KBD 1 #define EV_MOUSE 2 #define EV_REDRAW 3 #define EV_RESIZE 4 #define EV_ABORT 5 #define EV_SDLRESIZE 6 #define EV_SKIP 7 struct window { struct window *next; struct window *prev; void (*handler)(struct window *, struct event *, int fwd); void *data; int xp, yp; struct terminal *term; }; #define MAX_TERM_LEN 64 /* this must be multiple of 8! (alignment problems) */ #define MAX_CWD_LEN 8192 /* this must be multiple of 8! (alignment problems) */ #define ENV_XWIN 1 #define ENV_SCREEN 2 #define ENV_OS2VIO 4 #define ENV_BE 8 #define ENV_TWIN 16 #undef FALL /* screen: bit0 - bit7 0x000000ff character bit8 - bit10 0x00000700 foreground bit11 - bit13 0x00003800 background bit14 0x00004000 brightness bit19 0x00080000 doubleht bit20 0x00100000 doublehb */ struct terminal { int master; int fdin; int fdout; int x; int y; int environment; char term[MAX_TERM_LEN]; unsigned *screen; unsigned *last_screen; struct term_spec *spec; int cx; int cy; int lcx; int lcy; int dirty; int redrawing; int blocked; char *input_queue; int qlen; /*struct list_head windows;*/ struct window windows; char *title; /* Something weird regarding the UTF8 I/O. */ struct { unicode_val ucs; int len; int min; } utf_8; #ifdef FALL int *fall; #endif }; extern struct terminal *term; struct term_spec { struct term_spec *next; struct term_spec *prev; char term[MAX_TERM_LEN]; int mode; int m11_hack; int restrict_852; int block_cursor; int col; int utf_8_io; int charset; }; #define TERM_DUMB 0 #define TERM_VT100 1 #define TERM_LINUX 2 #define TERM_KOI8 3 #define ATTR_FRAME 0x8000 extern struct term_spec term_specs; int hard_write(int, char *, int); int hard_read(int, char *, int); char *get_cwd(void); void set_cwd(char *); struct terminal *init_term(int, int, void (*)(struct window *, struct event *, int)); void sync_term_specs(void); struct term_spec *new_term_spec(char *); void free_term_specs(void); void destroy_terminal(void *); void redraw_terminal(void *); void redraw_terminal_all(void); void redraw_terminal_cls(void); void redraw_later(void); /*void cls_redraw_all_terminals(void);*/ void redraw_from_window(struct window *); void redraw_below_window(struct window *); void add_window(void (*)(struct window *, struct event *, int), void *); void add_window_at_pos(void (*)(struct window *, struct event *, int), void *, struct window *); void delete_window(struct window *); void delete_window_ev(struct window *, struct event *ev); void set_window_ptr(struct window *, int, int); void get_parent_ptr(struct window *, int *, int *); struct window *get_root_window(void); /*void add_empty_window(void (*)(void *), void *);*/ void term_redraw_screen(void); /*void redraw_all_terminals(void);*/ void set_char(int, int, unsigned); void set_last_char(int, int, unsigned); unsigned get_char(int, int); void set_color(int, int, unsigned); void set_only_char(int, int, unsigned); void set_line(int, int, int, chr *); void set_line_color(int, int, int, unsigned); void fill_area(int x, int y, int xw, int yw, unsigned c); void fill_lastarea(int x, int y, int xw, int yw, unsigned c); void draw_frame(int, int, int, int, unsigned, int); void print_text(int, int, int, char *, unsigned); /* todo, ale asi nikoli jen smazat term */ void set_cursor(int, int, int, int); /*void destroy_all_terminals(void);*/ void block_itrm(int); int unblock_itrm(int); void exec_thread(char *, int); void close_handle(void *arg); void set_ctest_title(void); #define TERM_FN_TITLE 1 #define TERM_FN_RESIZE 2 void exec_on_terminal(char *, char *, int); void set_terminal_title(char *); void do_terminal_function(char, char *); void timer_redraw(void *); #define FRAME_URDL 0x80c5 #define FRAME_UDL 0x80b4 #define FRAME_URD 0x80c3 #define FRAME_URL 0x80c1 #define FRAME_RDL 0x80c2 #define FRAME_RL 0x80c4 #endif tucnak-4.32/src/ebw.c0000644000175000017500000000717012460207027011365 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdb.h" #include "ebw.h" #include "fifo.h" #include "language2.h" #include "main.h" #include "namedb.h" static int nlocs = 0; static int nnames = 0; int load_ebw_from_file(struct cw *cw, struct namedb *namedb, char *filename){ FILE *f; struct dbfhdr hdr; struct dbffield *fields,*field; int i, j; unsigned char *record; int ret=0, ofs; int callofs,calllen,wwlofs,wwllen,nameofs,namelen; gchar *call,*wwl,*name; f=fopen(filename, "rb"); if (!f) { dbg("Can't open file %s\n", filename); return -1; } if (fread(&hdr, sizeof(struct dbfhdr), 1, f)!=1){ fclose(f); return -2; } fields=g_new0(struct dbffield, hdr.hdrsize/sizeof(struct dbffield)); if (fread(fields, hdr.hdrsize-sizeof(struct dbfhdr), 1, f)!=1){ g_free(fields); fclose(f); return -3; } callofs=wwlofs=nameofs=-1; calllen=wwllen=namelen=0; for (i=0, field=fields, ofs=0; ; i++, field++){ if (field->name[0]==0x0d) break; dbg("name='%s' len=%d\n", field->name, field->len); if (strcasecmp(field->name, "CALL")==0){ callofs=ofs; calllen=field->len; } if (strcasecmp(field->name, "LOCATOR")==0){ wwlofs=ofs; wwllen=field->len; } if (strcasecmp(field->name, "VORNAME")==0){ nameofs=ofs; namelen=field->len; } ofs+=field->len; } if (!calllen) { log_addf("No CALL column if file %s\n", filename); goto x; } if (!wwllen || !namelen){ log_addf("No LOCATOR or VORNAME column if file %s\n", filename); goto x; } fseek(f, hdr.hdrsize, SEEK_SET); record=g_new0(unsigned char, hdr.recsize); for (j=0; j=2){ add_namedb(namedb, call, name); nnames++; } g_free(call); zg_free0(wwl); zg_free0(name); } g_free(record); ret=0; x:; fclose(f); g_free(fields); return ret; } int read_ebw_files(struct cw *cw, struct namedb *namedb){ gchar *s, *s1; int ret; nlocs = 0; nnames = 0; s = g_strconcat(tucnak_dir, "/vhf.dbf", NULL); z_wokna(s); ret=load_ebw_from_file(cw, namedb, s); if (ret==0){ log_addf(VTEXT(T_LOADED_LOCS_NAMES), nlocs, nnames, s); g_free(s); return 0; } g_free(s); #ifdef Z_UNIX s1 = SHAREDIR"/vhf.dbf"; ret=load_ebw_from_file(cw, namedb, s1); if (ret==0){ log_addf(VTEXT(T_LOADED_LOCS_NAMES), nlocs, nnames, s1); return 0; }else{ log_addf(VTEXT(T_CANT_READ), s, s1); } #endif return ret; } tucnak-4.32/src/kst.c0000644000175000017500000014103214114415527011411 00000000000000/* kst - ON4KST chat Copyright (C) 2011-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "kst.h" #include "cwdb.h" #include "dwdb.h" #include "fifo.h" #include "kbd.h" #include "kbdbind.h" #include "main.h" #include "map.h" #include "namedb.h" #include "inputln.h" #include "qrvdb.h" #include "qsodb.h" #include "tsdl.h" #include "session.h" #include "stats.h" #include "subwin.h" #include "tregex.h" #include "zosk.h" char *kst_servers[] = {"www.on4kst.info", "on4kst.dyndns.org", "188.165.198.144", // www.on4kst.info 11.3.2015 NULL}; int kst_i = 0; int sw_kst_kbd_func(struct subwin *sw, struct event *ev, int fw){ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); //dbg("sw_kst_kbd_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b); if (sw->il && ( sw->il->wasctrlv || (ev->x!='[' && ev->x!=']') )){ int ret; ret = inputln_func(sw->il, ev); if (ev->x!=KBD_LEFT && ev->x!=KBD_RIGHT && ev->x!=KBD_HOME && ev->x!=KBD_END){ if (strlen(sw->il->cdata) < 1){ zg_free0(sw->pattern); }else{ char *c; c = strchr(sw->il->cdata, ' '); if (c){ zg_free0(sw->pattern); }else{ zg_free0(sw->pattern); sw->pattern = g_strdup(sw->il->cdata); } sw->offset = 0; } redraw_later(); if (ret) return ret; } //dbg("sw->pattern('%s')\n", sw->pattern); }else{ //dbg("sw->pattern('%s')\n", sw->pattern); } if (ev->y & KBD_SHIFT){ switch (ev->x){ case KBD_UP: sw->kst_offset -= 1; if (sw->kst_offset < 0) sw->kst_offset = 0; redraw_later(); return 1; case KBD_DOWN: if (sw->side_bott) return 1; //size = g_hash_table_size(sw->kstusers); sw->kst_offset += 1; //if (sw->kst_offset > size - 3) sw->kst_offset = size - 3; redraw_later(); return 1; case KBD_PGUP: sw->kst_offset -= sw->h / 2; if (sw->kst_offset < 0) sw->kst_offset = 0; redraw_later(); return 1; case KBD_PGDN: sw->kst_offset += sw->h / 2; redraw_later(); return 1; case KBD_HOME: sw->kst_offset = 0; redraw_later(); return 1; } } switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_DOWN: sw->offset--; sw->check_bounds(sw); redraw_later(); return 1; case ACT_UP: sw->offset++; sw->check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_DOWN: sw->offset -= sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_UP: sw->offset += sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_HOME: sw->offset = sw->lines->len - sw->h; sw->check_bounds(sw); redraw_later(); return 1; case ACT_END: sw->offset = 0; sw->check_bounds(sw); redraw_later(); return 1; case ACT_SCROLL_LEFT: if (sw->lines) if (sw->ho>0) sw->ho--; redraw_later(); return 1; case ACT_SCROLL_RIGHT: if (sw->lines) sw->ho++; redraw_later(); } return 0; } void kst_qrv_sort(struct subwin *sw, struct event *ev){ if (ev->x >= sw->w + 31){ qrv_sort(qrv_compare_ac_n); }else if (ev->x >= sw->w + 27){ qrv_sort(qrv_compare_ac_int); }else if (ev->x >= sw->w + 21){ qrv_sort(qrv_compare_ac_start); }else if (ev->x >= sw->w + 16){ if (qrv->sort == qrv_compare_qtf || qrv->sort == qrv_compare_kst_time || qrv->sort == qrv_compare_wwl) qrv_sort(qrv->sort); else qrv_sort(qrv_compare_qrb); }else if (ev->x >= sw->w + 10){ qrv_sort(qrv_compare_wkd); }else if (ev->x >= sw->w + 2){ qrv_sort(qrv_compare_call); } } int sw_kst_mouse_func(struct subwin *sw, struct event *ev, int fw){ //struct menu_item *mi = NULL; int /*y, items = 0, */size; struct timeval tv; double ts; if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); #ifdef Z_HAVE_SDL if (sw->screen && ev->x < sw->w){ //dbg("resending to map: %d x=%d y=%d\n", ev->b, ev->x, ev->y); return sw_map_mouse_func(sw, ev, fw); } #endif if (ev->b & B_DRAG){ int dy = sw_accel_dy(sw, ev); if (dy == 0) return 1; if (ev->x > sw->w){ sw->kst_offset -= dy; size = g_hash_table_size(sw->kstusers); //if (size > sw->h - 1) if (sw->kst_offset < 0) sw->kst_offset = 0; if (sw->kst_offset > size - 3) sw->kst_offset = size - 3; redraw_later(); return 1; } sw->offset += dy; sw->check_bounds(sw); redraw_later(); return 1; } //if ((ev->b & BM_ACT)!=B_DOWN) return 0; // dbg("ev->b=%x BM_ACT=%x B_DOWN=%x BM_EBUTT=%x \n", ev->b, BM_ACT, B_DOWN, BM_EBUTT); if (cfg->usetouch && (ev->b & BM_EBUTT) == B_LEFT) ev->b = (ev->b & ~BM_EBUTT) | B_RIGHT; switch (ev->b & BM_BUTCL){ case B_LEFT: case B_RIGHT: sw->olddragx = ev->x; sw->olddragy = ev->my; return 1; case B_LEFT | B_CLICK: if (!sw->il) break; if (ev->y==sw->y+sw->h){ inputln_func(sw->il, ev); return 1; } if (ev->x > sw->w && ev->y == sw->y){ // QRV title kst_qrv_sort(sw, ev); return 1; } g_free(sw->callunder); sw->callunder = sw_kst_call_under(sw, ev->x - sw->x + sw->ho, ev->y - sw->y); if (!sw->callunder) break; sw_kst_toggle_highlight(sw, sw->callunder, 1); return 1; case B_MIDDLE | B_CLICK: dbg("middle click"); g_free(sw->callunder); sw->callunder = sw_kst_call_under(sw, ev->x - sw->x + sw->ho, ev->y - sw->y); if (!sw->callunder) break; sw_kst_ask_sked(GINT_TO_POINTER(2), sw); break; case B_RIGHT | B_CLICK: if (ev->x > sw->w && ev->y == sw->y){ // QRV title struct menu_item *mi = new_menu(3); mi->rtext = "Show"; add_to_menu(&mi, g_strdup(VTEXT(T_QRB)), "", CTEXT(T_HK_QRB), MENU_FUNC qrv_sort, qrv_compare_qrb, 0); add_to_menu(&mi, g_strdup(VTEXT(T_QTF)), "", CTEXT(T_HK_QTF), MENU_FUNC qrv_sort, qrv_compare_qtf, 0); add_to_menu(&mi, g_strdup(VTEXT(T_ACKST)), "", CTEXT(T_HK_ACKST), MENU_FUNC qrv_sort, qrv_compare_kst_time, 0); add_to_menu(&mi, g_strdup(VTEXT(T_WWL3)), "", TRANSLATE("W"), MENU_FUNC qrv_sort, qrv_compare_wwl, 0); set_window_ptr(gses->win, ev->x - 3, ev->y); do_menu(mi, NULL); if (cfg->usetouch) kst_qrv_sort(sw, ev); return 1; } if (ev->y==sw->y+sw->h){ inputln_func(sw->il, ev); return 1; } sw->callunderx = ev->x; sw->callundery = ev->y; gettimeofday(&tv, NULL); ts = z_difftimeval_double(&tv, &sw->kst_latest_data); if (ts < 1.0 && ev->x < sw->w && sw->pattern == NULL){ // moved g_free(sw->callunder); sw->callunder = NULL; zg_ptr_array_free_all(sw->callsunder); sw->callsunder = sw_kst_calls_under(sw, Z_MIN(sw->h, 6), ev->y - sw->y); struct menu_item *mi = new_menu(3); mi->rtext = "Choose call"; int i; for (i = 0; i < sw->callsunder->len && i < sw->h; i++){ char *c = (char*)g_ptr_array_index(sw->callsunder, i); add_to_menu(&mi, g_strdup(c), "", "", sw_kst_call_choosen, GINT_TO_POINTER(i), 0); } set_window_ptr(gses->win, ev->x - 8, ev->y - 3); do_menu(mi, sw); } else{ // steady g_free(sw->callunder); sw->callunder = sw_kst_call_under(sw, ev->x - sw->x + sw->ho, ev->y - sw->y); if (!sw->callunder) break; kst_right_mouse_2(sw); } break; case B_WHUP: /* dbg("wheel up\n");*/ if (ev->x > sw->w){ sw->kst_offset -= 3; if (sw->kst_offset < 0) sw->kst_offset = 0; //dbg("kst_offset=%d\n", sw->kst_offset); redraw_later(); return 1; } sw->offset+=3; sw->check_bounds(sw); redraw_later(); return 1; case B_WHDOWN: /* dbg("wheel down\n"); */ if (ev->x > sw->w){ sw->kst_offset += 3; size = g_hash_table_size(sw->kstusers); if (sw->kst_offset > size - 3) sw->kst_offset = size - 3; //dbg("kst_offset=%d\n", sw->kst_offset); redraw_later(); return 1; } sw->offset-=3; sw->check_bounds(sw); redraw_later(); return 1; } return 0; } void sw_kst_call_choosen(void *itdata, void *menudata){ struct subwin *sw = (struct subwin *)menudata; char *call = (char *)g_ptr_array_index(sw->callsunder, GPOINTER_TO_INT(itdata)); g_free(sw->callunder); sw->callunder = g_strdup(call); kst_right_mouse_2(sw); } void kst_right_mouse_2(struct subwin *sw){ int items = 0; struct menu_item *mi = new_menu(1); mi->rtext = sw->callunder; if (!cfg->usetouch){ add_to_menu(&mi, CTEXT(T_MISTAKE), "", CTEXT(T_HK_MISTAKE), sw_kst_nothing, NULL, 0); items++; } add_to_menu(&mi, CTEXT(T_ASK_FOR_SKED), "", CTEXT(T_HK_ASK_FOR_SKED), sw_kst_ask_sked, GINT_TO_POINTER(1), 0); items++; add_to_menu(&mi, CTEXT(T_ASK_FOR_SKED_B), "", CTEXT(T_HK_ASK_FOR_SKED_B), sw_kst_ask_sked, GINT_TO_POINTER(2), 0); items++; add_to_menu(&mi, CTEXT(T_SELECT), "", CTEXT(T_HK_SELECT), sw_kst_select, NULL, 0); items++; add_to_menu(&mi, CTEXT(T_HIDE), "", CTEXT(T_HK_HIDE), sw_kst_hide, NULL, 0); items++; add_to_menu(&mi, CTEXT(T_MESSAGE), "", CTEXT(T_HK_MESSAGE), sw_kst_message, NULL, 0); items++; add_to_menu(&mi, CTEXT(T_INFO), "", CTEXT(T_HK_INFO), sw_kst_info, NULL, 0); items++; #ifdef Z_HAVE_SDL if (gacs) { add_to_menu(&mi, CTEXT(T_AC_INFO), "", CTEXT(T_HK_AC_INFO), sw_kst_ac_info, NULL, 0); items++; } #endif if (aband) { add_to_menu(&mi, CTEXT(T_USE), "", CTEXT(T_HK_USE), sw_kst_use, NULL, 0); items++; } int y = sw->callundery - 1; if (cfg->usetouch) y = sw->callundery - items - 1; set_window_ptr(gses->win, sw->callunderx - 3, y); do_menu(mi, sw); } static void sw_kst_draw(gpointer key, gpointer value, gpointer user_data){ //char raw[30]; char *call = (char*)key; struct subwin *sw = (struct subwin *)user_data; struct qrv_item *qi = (struct qrv_item*)value; int color; char degree=' '; char kst_time_str[200]; struct tm utc; char acstart[30]; char acint[30]; #if defined(Z_HAVE_SDL) && !defined(Z_ANDROID) if (sdl) degree=0xb0; #endif if (sw->kst_y >= sw->hh) return; //z_get_raw_call(raw, (char*)call); color = sw_kst_color(call); if (!g_hash_table_lookup_extended(sw->kstoldusers, call, NULL, NULL)) { color |= COL(1 * 8); // new call red background clip_printf(sw, sw->w + 1, sw->kst_y, color, " "); } clip_printf(sw, sw->w + 2, sw->kst_y, color, "%s", call); if (qi && aband) clip_printf(sw, sw->w + 10, sw->kst_y, color, "%4d", qi->wkd[aband->bi]); if (qrv->sort == qrv_compare_qtf){ if (qi) clip_printf(sw, sw->w + 14, sw->kst_y, color, "%4d%c", qi->qtf, degree); }else if (qrv->sort == qrv_compare_kst_time){ strcpy(kst_time_str, ""); if (qi->kst_time != 0){ gmtime_r(&qi->kst_time, &utc); sprintf(kst_time_str, "%2d:%02d", utc.tm_hour, utc.tm_min); } if (qi) clip_printf(sw, sw->w + 14, sw->kst_y, color, "%6s", kst_time_str); }else if (qrv->sort == qrv_compare_wwl){ if (qi){ clip_printf(sw, sw->w + 15, sw->kst_y, color , "%6s", qi->wwl); if (aband && ctest->wwlmult > 0){ char wwl4[5]; g_strlcpy(wwl4, qi->wwl, 5); if (g_hash_table_lookup(aband->stats->wwls, wwl4) == NULL){ color &= 0xfffff2ff; // not worked WWL } clip_printf(sw, sw->w + 15, sw->kst_y, color , "%4s", wwl4); } } }else{ if (qi && qi->qrb > 0) clip_printf(sw, sw->w + 14, sw->kst_y, color, "%5.0fkm", qi->qrb); } ac_format(qi, acstart, acint, 0); clip_printf(sw, sw->w + 22, sw->kst_y, color, "%s %s", acstart, acint); sw->kst_y++; } void sw_kst_array_add(gpointer key, gpointer value, gpointer data){ g_ptr_array_add((GPtrArray *)data, key); } void sw_kst_redraw(struct subwin *sw, struct band *band, int flags){ int i, index, col; gchar *line, *pcall, *ccall; gchar rawpcall[20]; int ccol; int ofs = 0; sw->side_top = sw->side_bott = 0; //dbg("sw->il = %p\n", sw->il); if (ctest){ pcall = ctest->pcall; }else{ pcall = cfg->pcall; } z_get_raw_call(rawpcall, pcall); //dbg("sw_kst_redraw: offset=%d pattern='%s'\n", sw->offset, sw->pattern); if (sw->pattern){ index = sw->lines->len; ofs = sw->offset; }else{ index = sw->lines->len - sw->offset; } for (i = sw->h - 1; i >= 0; i--){ if (sw->pattern){ for (index--; index >= 0; index--){ char *x; if (index < 0 || index >= sw->lines->len) line = "~"; else line = (char *)g_ptr_array_index(sw->lines, index); x = z_strcasestr(line, sw->pattern); //dbg("i=%d index=%d x=%p line=%s\n", i, index, x, line); if (x != 0) { if (ofs > 0) ofs--; else goto found; } } continue; }else{ index--; if (index < 0 || index >= sw->lines->len) line = "~"; else line = (char *)g_ptr_array_index(sw->lines, index); } found:; if (!line || strlen(line) <= sw->ho) continue; col = sw_kst_line_color(sw, line); ccall = sw_kst_counterp(sw, line, &ccol); if (sw->pattern){ set_color(sw->x - 1, sw->y + i, COL_DARKCYAN * 8 | COL_NORM); //print_text(sw->x, sw->y + i, 1, " ", COL(6 * 8)); print_text(sw->x, sw->y+i, sw->w, line + sw->ho, col); if (ccall) sw_highlight(sw, line, ccall, ccol, i, 1); sw_highlight(sw, line, sw->pattern, COL_RED, i, 0); }else{ print_text(sw->x, sw->y+i, sw->w, line + sw->ho, col); if (ccall) sw_highlight(sw, line, ccall, ccol, i, 1); if ((col != COL_DARKGREY && col != COL_DARKYELLOW) || (ccall != NULL && ccol != COL_DARKGREY && ccol != COL_DARKYELLOW)){ sw_highlight(sw, line, pcall, COL_RED, i, 1); sw_highlight(sw, line, rawpcall, COL_RED, i, 1); if (cfg->kst_user && *cfg->kst_user) sw_highlight(sw, line, cfg->kst_user, COL_RED, i, 1); sw_highlight(sw, line, "73", COL_RED, i, 1); sw_highlight(sw, line, "thanks", COL_RED, i, 1); sw_highlight(sw, line, "tnx", COL_RED, i, 1); sw_highlight(sw, line, "tks", COL_RED, i, 1); sw_highlight(sw, line, "later", COL_RED, i, 1); sw_highlight(sw, line, "nil", COL_RED, i, 1); sw_highlight(sw, line, "any1", COL_RED, i, 1); sw_highlight(sw, line, "anyone", COL_RED, i, 1); sw_highlight(sw, line, "scp", COL_RED, i, 1); } } } //if (aband){ ofs = sw->kst_offset; clip_printf(sw, sw->w + 2, 0, qrv->sort==qrv_compare_call?COL_WHITE:COL_NORM, "CALL"); clip_printf(sw, sw->w + 10, 0, qrv->sort==qrv_compare_wkd?COL_WHITE:COL_NORM, "WKD"); if (qrv->sort == qrv_compare_qtf){ clip_printf(sw, sw->w + 16, 0, COL_WHITE, "QTF"); }else if (qrv->sort == qrv_compare_kst_time){ clip_printf(sw, sw->w + 16, 0, COL_WHITE, "AcKST"); }else if (qrv->sort == qrv_compare_wwl){ clip_printf(sw, sw->w + 16, 0, COL_WHITE, "WWL"); }else{ clip_printf(sw, sw->w + 16, 0, qrv->sort==qrv_compare_qrb?COL_WHITE:COL_NORM, "QRB"); } if (gacs){ clip_printf(sw, sw->w + 21, 0, qrv->sort==qrv_compare_ac_start?COL_WHITE:COL_NORM, "Start"); clip_printf(sw, sw->w + 27, 0, qrv->sort==qrv_compare_ac_int?COL_WHITE:COL_NORM, "Dur"); clip_printf(sw, sw->w + 31, 0, qrv->sort==qrv_compare_ac_n?COL_WHITE:COL_NORM, "NR"); } for (sw->kst_y = 1, i = 0; sw->kst_y < sw->hh && i < qrv->qrvs->len; ) { struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i++); if (aband && qrv_skip(qi, aband->bi, 1)) continue; if (kst_user_skip(sw, qi->call)) continue; if (kst_qrb_skip(qi, qi->call)) continue; if (kst_wkdwwl_skip(qi)) continue; if (ofs) { ofs--; continue; } sw_kst_draw(qi->call, qi, sw); //sw->kst_y++ is inside } if (i == qrv->qrvs->len) sw->side_bott = 1; for (; i < qrv->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); //qi->ac_drawn = 0; qi->ac_start = (time_t)0; } //}else{ // GPtrArray *arr = g_ptr_array_new(); // int i; // // sw->kst_y = 0; // g_hash_table_foreach(sw->kstusers, sw_kst_array_add, arr); // zg_ptr_array_qsort (arr, z_compare_string); // for (i = sw->kst_offset; i < arr->len; i++){ // char *call = (char *)g_ptr_array_index(arr, i); // sw_kst_draw(call, g_hash_table_lookup(sw->kstusers, call), sw); // } // // g_ptr_array_free(arr, TRUE); //} #ifdef Z_HAVE_SDL if (sw->screen != NULL && gacs != NULL){ //fill_area(sw->x, sw->y, sw->w, sw->h, 0); //map_recalc_gst(sw, band); //SDL_SetClipRect(sw->screen, &sw->map); sw_map_redraw(sw, aband, 0); SDL_SetClipRect(sw->screen, &sw->map); plot_qso(sw, sw->screen, band, &gacs->infolocqso); plot_path(sw, sw->screen, band, &gacs->infolocqso, &gacs->infoqso); return; } #endif //clip_printf(sw, 0, 0, COL_INV, "shus=%d timer=%d ", sw->shus, zselect_timer_get(zsel, sw->timer_id) / 1000); } void sw_kst_check_bounds(struct subwin *sw){ if (sw->offset < 0) { sw->offset=0; sw_shake(sw, 0); } if (sw->offset > sw->lines->len - 1) { sw->offset = sw->lines->len - 1; if (sw->offset >= 0) sw_shake(sw, 1); } if (sw->offset < 0) { sw->offset=0; sw_shake(sw, 0); } } void sw_kst_enter(void *enterdata, gchar *str, int cq){ struct subwin *sw; sw = (struct subwin *)enterdata; //log_addf("sw_kst_enter"); //kst_end_shus(sw); if (regcmp(str, "^[0-9]{2,7}$") == 0){ if (aband) { process_input(aband, str, 0); sw_unset_focus(); il_set_focus(INPUTLN(aband)); sw_printf(sw, VTEXT(T_NO_SEND_NUMS)); return; } } //dbg("sw_kst_enter('%s', %d)\n", str, sw->sock); if (sw->sock < 0){ if (strcmp(str, "") == 0){ kst_open_connection(sw, NULL); return; } sw_printf(sw, VTEXT(T_DISCONNECTED), str); return; }else{ if (strcmp(str, "\x03") == 0){ sw_kst_disconnect(sw); return; } send(sw->sock, str, strlen(str), 0); send(sw->sock, "\r\n", 2, 0); if (strcasecmp(str, "/sh us") == 0) kst_shus(sw, 2); } } void sw_kst_addrinfo(struct zasyncdns *adns, int n, int *family, int *socktype, int *protocol, int *addrlen, union zsockaddr *addr, char *errorstr){ struct subwin *sw; int i, port = 23000, ret; GString *gs; char errbuf[100]; sw = (struct subwin *)adns->arg; if (errorstr != NULL){ sw_printf(sw, VTEXT(T_CANT_RESOLVE), kst_servers[kst_i], errorstr); kst_i++; if (kst_servers[kst_i] != NULL){ zselect_bh_new(zsel, kst_open_bh, sw); return; } kst_i = 0; sw_printf(sw, VTEXT(T_ENTER_TO_CONNECT_KST)); return; } kst_i = 0; gs = g_string_new(VTEXT(T_RESOLVED)); for (i = 0; i < n; i++){ z_sock_ntoa(gs, family[i], addr + i); g_string_append_c(gs, ' '); } g_string_append(gs, "***\n"); sw_add_block(sw, gs->str); g_string_free(gs, TRUE); for (i = 0; i < n; i++){ //dbg("socket(%d, %d, %d)\n", family[i], socktype[i], protocol[i]); //sw->sock = socket(family[i], socktype[i], protocol[i]); sw->sock = socket(family[i], SOCK_STREAM, 0); if (sw->sock < 0) { sw_printf(sw, VTEXT(T_CANT_CREATE_SOCKET), z_sock_strerror()); continue; } if (z_sock_nonblock(sw->sock, 1)) { closesocket(sw->sock); continue; } switch (family[i]){ case AF_INET: ((struct sockaddr_in *)(addr + i))->sin_port = htons(port); break; #ifdef AF_INET6 case AF_INET6: ((struct sockaddr_in6 *)(addr + i))->sin6_port = htons(port); break; #endif default: closesocket(sw->sock); continue; // unsupported protocol family } ret = connect(sw->sock, (struct sockaddr *)(addr + i), addrlen[i]); if (ret < 0){ int err = z_sock_errno; GString *gs2 = g_string_new(""); if (z_sock_wouldblock(err)){ sw_printf(sw, VTEXT(T_CONNECTING_TO), z_sock_ntoa(gs2, family[i], addr + i)); zselect_set(zsel, sw->sock, NULL, sw_kst_connected_handler, NULL, sw); }else{ sw_printf(sw, VTEXT(T_CANT_CONNECT_TO), z_sock_ntoa(gs2, family[i], addr + i), z_sock_strerror()); closesocket(sw->sock); dbg("sw_kst_addrinfo -1\n"); sw->sock = -1; } g_string_free(gs2, TRUE); } else{ sw_kst_connected_handler(sw); } break; } } void sw_kst_connected_handler(void *xxx){ struct subwin *sw = (struct subwin *)xxx; if (z_sock_error(sw->sock)){ sw_kst_disconnect(sw); return; } sw_printf(sw, VTEXT(T_CONNECTED_SOCKET), sw->sock); zselect_set(zsel, sw->sock, sw_kst_read_handler, NULL, NULL, sw); sw->chat = 1; } void sw_kst_read_handler(void *xxx){ char buf[1030], *d, *last, errbuf[100]; int i, ret, e; struct subwin *sw = (struct subwin *)xxx; ret = recv(sw->sock, buf, 1024, 0); e = errno; if (ret <= 0){ if (z_sock_errno != 0){ // zero is handled by sw_kst_disconnect() sw_printf(sw, VTEXT(T_ERROR_READING_SOCKET), z_sock_strerror(), sw->sock, e); } sw_kst_disconnect(sw); return; } for (i = 0, d = buf; i < ret; i++){ if (buf[i] == '\0') continue; if (buf[i] == '\r') continue; if (buf[i] == '\xff'){ if (i + 2 < ret){ if ((buf[i+1] & 0xf0) == 0xf0){ i+=2; continue; // i++ } } } *d = buf[i]; if ((unsigned char)*d == 0xd8) *d = '0'; // DL0HTW d++; } *d = '\0'; buf[ret] = '\0'; sw_add_block(sw, buf); if (!sw->ontop && !sw->unread){ sw->unread = 1; redraw_later(); } gettimeofday(&sw->kst_latest_data, NULL); if (!sw->chat) return; if (sw->lines->len <= 0) return; last = (char *)g_ptr_array_index(sw->lines, sw->lines->len - 1); if (last == NULL) return; if (!regcmpi(last, "^login:")){ if (cfg->kst_user && *cfg->kst_user){ sw_printf(sw, "%s\r\n", cfg->kst_user); z_sock_printf(sw->sock, "%s\r\n", cfg->kst_user); } } if (!regcmpi(last, "^password:")){ if (cfg->kst_pass && *cfg->kst_pass){ sw_printf(sw, "********\r\n"); z_sock_printf(sw->sock, "%s\r\n", cfg->kst_pass); } } if (!regcmpi(last, "^Your\\ choice.*:")){ int channel = 0; // 1=50/70, 2=144/432, 3=uW, 5=HF if (ctest){ int i; for (i = 0; i < ctest->bands->len; i++){ int ch; struct band *b = (struct band*)g_ptr_array_index(ctest->bands, i); if (b->readonly) continue; if (b->qrg_min >= 500000) ch = 3; if (b->qrg_min < 500000) ch = 2; if (b->qrg_min < 100000) ch = 1; if (b->qrg_min < 30000) ch = 5; if (channel == 0) channel = ch; if (ch != channel) { channel = 0; break; } } } if (channel > 0){ sw_printf(sw, "%d\r\n", channel); z_sock_printf(sw->sock, "%d\r\n", channel); } } if (!regcmpi(last, ">$")){ if (cfg->kst_name && *cfg->kst_name){ sw_printf(sw, "/set name %s\r\n", cfg->kst_name); z_sock_printf(sw->sock, "/set name %s\r\n", cfg->kst_name); } if (ctest != NULL){ sw_printf(sw, "/set qra %s\r\n", ctest->pwwlo); z_sock_printf(sw->sock, "/set qra %s\r\n", ctest->pwwlo); } sw->chat = 0; if (sw->timer_id > 0) zselect_timer_kill(zsel, sw->timer_id); sw->timer_id = zselect_timer_new(zsel, 1 * 1000, kst_timer_function, sw); } } void sw_kst_disconnect(struct subwin *sw){ if (sw->sock < 0) return; sw_printf(sw, VTEXT(T_DISCONNECTED)); zselect_set(zsel, sw->sock, NULL, NULL, NULL, NULL); closesocket(sw->sock); dbg("sw_kst_disconnect -1\n"); sw->sock = -1; kst_clear_users(sw); sw_printf(sw, VTEXT(T_ENTER_TO_CONNECT_KST)); } #define FREE_SW_CX if (c1) {g_free(c1); c1=NULL;} if (c2) {g_free(c2); c2=NULL;} char *sw_kst_call_under(struct subwin *sw, int x, int y){ int index; int ret, len, i1, i2; char *c1 = NULL, *c2 = NULL, *s, call[25]; //dbg("sw_kst_call_under(sw, %d, %d)\n", x, y); if (x >= sw->w){ int yy, i, ofs; //dbg("x>sw->w\n"); ofs = sw->kst_offset; for (yy = 1, i = 0; yy < sw->hh && i < qrv->qrvs->len;) { struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i++); if (aband != NULL && qrv_skip(qi, aband->bi, 0)) continue; if (kst_user_skip(sw, qi->call)) continue; if (kst_qrb_skip(qi, qi->call)) continue; if (kst_wkdwwl_skip(qi)) continue; if (ofs) { ofs--; continue; } if (y == yy){ //dbg("found i=%d y=%d call=%s\n", i, y, qi->call); return g_strdup(qi->call); } yy++; //sw_kst_draw(qi->call, qi, sw); //sw->kst_y++ is inside } } if (sw->pattern){ int yy = sw->h - 1; int ofs = sw->offset; if (sw->pattern) index = sw->lines->len; else index = sw->lines->len - sw->offset; for (index--; 1; index--){ char *x, *line; if (index < 0) return NULL; line = (char *)g_ptr_array_index(sw->lines, index); x = z_strcasestr(line, sw->pattern); if (!x) continue; if (yy == y) { if (ofs > 0){ ofs--; continue; }else{ break; } } yy--; if (!yy) return NULL; } //x--; }else{ index = sw->lines->len - sw->offset - sw->h + y; if (index < 0 || index >= sw->lines->len) return NULL; } s = (char*)g_ptr_array_index(sw->lines, index); if (x < 0 || x >= strlen(s)) return NULL; //dbg("line='%s'\n", s); s = g_strdup(s); z_str_uc(s); for (i1 = x; i1 >= 0; i1--){ if (s[i1] >= 'A' && s[i1] <= 'Z') continue; if (s[i1] >= '0' && s[i1] <= '9') continue; if (s[i1] == '-') continue; if (s[i1] == '/') continue; break; } i1++; // line cannot begin with call len = strlen(s); for (i2 = x; i2 < len; i2 ++){ if (s[i2] >= 'A' && s[i2] <= 'Z') continue; if (s[i2] >= '0' && s[i2] <= '9') continue; if (s[i2] == '-') continue; if (s[i2] == '/') continue; break; } if (i2 > i1 && i2 - i1 < 20){ g_strlcpy(call, s + i1, Z_MIN(i2 - i1 + 1, 20)); if (z_can_be_call(call, ZCBC_SLASH | ZCBC_MINUS)){ g_free(s); return g_strdup(call); } } /**** ON4KST ****/ /* 1808Z OK1KRQ/P Club> GE all */ c1 = NULL; c2 = NULL; ret = regmatch(s, "^[0-9]{4}Z ([0-9A-Z\\/-]+).*>", &c1, &c2, NULL); if (ret == 0){ safe_strncpy0(call, c2, 19); goto doit; } FREE_SW_CX; /**/ doit:; /* dbg("ret=%d c1='%s' c2='%s'\n", ret, c1, c2);*/ FREE_SW_CX; g_free(s); if (ret) return NULL; //dbg("kst_call_under is '%s'\n", call); return g_strdup(call); } // value: -2 hide, -1=hide+qrv 1=highlight void sw_kst_toggle_highlight(struct subwin *sw_unused, char *call, int val){ char t[25]; gchar *key; int *value; //z_get_raw_call(t, call); g_strlcpy(t, call, sizeof(t)); if (g_hash_table_lookup_extended(gses->hicalls, (gpointer)t, (gpointer*)&key, (gpointer*)&value)){ if (*value != val){ *value = val; redraw_later(); return; } g_hash_table_remove(gses->hicalls, key); g_free(key); g_free(value); //dbg("call='%s' removed\n", t); }else{ value = g_new(int, 1); *value = val; g_hash_table_insert(gses->hicalls, g_strdup(t), value); if (aband){ char *wwl = NULL; if (val == -1){ qrv_delete(t, aband->bi); } if (val >= 0){ wwl = find_wwl_by_call(cw, t); if (wwl != NULL) qrv_kst_add(t, wwl, NULL); } } //dbg("call='%s' inserted\n", t); } /* dbg("%d\n", g_hash_table_size(gses->hicalls));*/ redraw_later(); } void sw_kst_nothing(void *itdata, void *menudata){ } void sw_kst_select(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; sw_kst_toggle_highlight(sw, sw->callunder, 1); } void sw_kst_hide(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; sw_kst_toggle_highlight(sw, sw->callunder, -1); } void sw_kst_message(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; newkst(sw->il, sw->callunder); // calls z_str_uc(callkst) redraw_later(); #ifdef Z_HAVE_SDL if (gses && cfg->usetouch){ if (gses->osk) zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, ZOSK_ENTERCLOSE | ZOSK_SENDENTER, sw->il->cdata); zosk_portrait(gses->osk); } #endif } // trailing space if aband != NULL void sw_kst_append_qrg(GString *gs){ int full_qrg = 0; if (!aband) return; if (aband->skedqrg){ if (strlen(aband->skedqrg) > 0){ g_string_append_printf(gs, "%s ", aband->skedqrg); if (aband->skedqrg[0] != '.') full_qrg = 1; // defined but no leading dot } } if (!full_qrg){ // not full qrg information if (aband->qrg_min < 20000000){ struct config_band *confb = get_config_band_by_bandchar(aband->bandchar); if (confb) g_string_append_printf(gs, "on %s ", confb->adifband); }else{ g_string_append_printf(gs, "on %s ", aband->pband); } } } void sw_kst_ask_sked(void *itdata, void *menudata){ time_t now; struct tm tm; char *name; struct subwin *sw = (struct subwin*)menudata; GString *gs = g_string_sized_new(256); g_string_append_printf(gs, "/cq %s ", sw->callunder); if (itdata != NULL && GPOINTER_TO_INT(itdata) == 1){ now = time(&now); localtime_r(&now, &tm); if (tm.tm_hour < 12) g_string_append(gs, "GM "); else if (tm.tm_hour < 18) g_string_append(gs, "GA "); else g_string_append(gs, "GE "); name = find_name_by_call(namedb, sw->callunder); if (name) g_string_append_printf(gs, "%s, ", name); g_string_append(gs, "PSE sked "); }else{ g_string_append(gs, "I am calling you on "); } sw_kst_append_qrg(gs); if (itdata != NULL && GPOINTER_TO_INT(itdata) == 1) g_string_append_printf(gs, "OK?"); else g_string_append_printf(gs, "and have ANT in your direction. Could you check it?"); askkst(sw->il, gs->str); g_string_free(gs, TRUE); redraw_later(); #ifdef Z_HAVE_SDL if (gses && cfg->usetouch){ if (gses->osk) zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, ZOSK_ENTERCLOSE | ZOSK_SENDENTER, sw->il->cdata); zosk_portrait(gses->osk); } #endif } void sw_kst_info(void *itdata, void *menudata){ char *call; struct subwin *sw = (struct subwin*)menudata; struct qso *q = g_new0(struct qso, 1); call = g_strdup(sw->callunder); z_strip_from(call, '-'); q->callsign = call; call_info(q); g_free(q); g_free(call); } #ifdef Z_HAVE_SDL void sw_kst_ac_info(void *itdata, void *menudata){ struct qrv_item *qi; char call[40], *c; struct subwin *sw = (struct subwin*)menudata; if (!gacs) return; if (!sw->callunder) return; strncpy(call, sw->callunder, 20); c = strchr(call, '-'); if (c != NULL) *c = '\0'; g_free(gacs->infolocqso.locator); gacs->infolocqso.locator = NULL; qi = qrv_get(qrv, call); if (qi != NULL){ gacs->infolocqso.locator = g_strdup(qi->wwl); }else{ char *wwl = find_wwl_by_call(cw, call); if (wwl) { gacs->infolocqso.locator = g_strdup(wwl); }else{ log_addf(TRANSLATE("Sorry, unknown locator for %s"), call); return; } } kst_free_screen(sw); sw->l1map = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); sw->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_INIT(sw->screen); sw->gdirty = 1; map_update_layout(sw); //if (gacs->infolocqso.locator){ ac_update_infoctp(gacs->infolocqso.locator); sw->zoom = 10000; map_for_photo(sw, aband, MAP_AC_INFO); //} //redraw_later(); in map_for_photo/zoom } #endif void sw_kst_use(void *itdata, void *menudata){ char *call; struct subwin *sw = (struct subwin*)menudata; if (!aband) return; call = g_strdup(sw->callunder); z_strip_from(call, '-'); process_input(aband, call, 0); il_add_to_history(INPUTLN(aband), call); g_free(call); sw_unset_focus(); il_set_focus(INPUTLN(aband)); } int sw_kst_line_color(struct subwin *sw, char *line){ char call[20], s[20], *c; int color; if (strlen(line) < 9) return COL_NORM; g_strlcpy(call, line + 6, sizeof(call)); z_strip_from(call, ' '); //z_get_raw_call(raw, call); color = sw_kst_color(call); if (color != COL_NORM) return color; g_strlcpy(call, line, sizeof(call)); // output of sh/us z_strip_from(call, ' '); //z_get_raw_call(raw, call); g_strlcpy(s, call, sizeof(s)); z_strip_from(s, ')'); c = s; if (*c == '(') c++; color = sw_kst_color(c); return color; } // called with sw == NULL char *sw_kst_counterp(struct subwin *sw, char *line, int *color){ // thread unsafe! static char call[20], raw[20]; char *c; *color = 0; if (strlen(line) < 20) return 0; c = z_strcasestr(line, "> ("); if (c) { if (strncmp(c, "> (0) (", 7) == 0){ /* "> (0) (CALL) ..." */ c += 4; /* "CALL) ..." */ } g_strlcpy(call, c + 3, sizeof(call)); z_strip_from(call, ')'); z_get_raw_call(raw, call); z_str_uc(raw); *color = sw_kst_color(raw); return call; } c = z_strcasestr(line, "> "); if (c) { g_strlcpy(call, c + 2, sizeof(call)); z_strip_from(call, ' '); z_get_raw_call(raw, call); z_str_uc(raw); *color = sw_kst_color(raw); return call; } return NULL; } int sw_kst_color(char *call){ int *pval, ret; char raw[25]; if (!call) return COL_NORM; pval = (int *)g_hash_table_lookup(gses->hicalls, call); if (!pval){ z_get_raw_call(raw, call); pval = (int *)g_hash_table_lookup(gses->hicalls, raw); if (!pval) { z_strip_from(raw, '-'); if (worked_on_aband(raw)) return COL_DARKYELLOW; return COL_NORM; } } switch (*pval){ case -2: case -1: return COL_DARKGREY; case 0: return COL_NORM; } if (!aband) return COL_YELLOW; z_get_raw_call(raw, call); z_strip_from(raw, '-'); if (worked_on_all_rw(raw)) ret = COL_DARKGREY; else if (worked_on_aband(raw)) ret = COL_DARKYELLOW; else ret = COL_YELLOW; return ret; } int kst_read_line(struct subwin *sw, char *line){ char *call, *mycall; int dummy; char *c1 = NULL, *c2 = NULL, *c3 = NULL, *c4 = NULL, *c5 = NULL, *wwl, *name, *fullname; int ret = 0; struct qrv_item *qi; call = sw_kst_counterp(NULL, line, &dummy); if (call){ mycall = ctest ? ctest->pcall : cfg->pcall; if (strcasecmp(call, mycall) == 0 || (cfg->kst_user != NULL && strcasecmp(call, cfg->kst_user) == 0)) { log_adds(line); } } if (regmatch(line,"^([A-Z0-9\\(\\)\\/\\ -]{14})\\ ([A-R]{2}[0-9]{2}[A-X]{2})\\ (([^\\ ]{1,}).*)", &c1, &c2, &c3, &c4, &c5, NULL)==0){ time_t now; struct tm gmt; int stamp; double qrb, qtf; call = c2; z_str_uc(call); z_strip_from(call, ' '); z_strip_from(call, ')'); z_strip_from(call, '-'); if (call[0] == '(') call++; wwl = c3; z_str_uc(wwl); fullname = c4; name = c5; name[0] = z_char_uc(name[0]); z_strip_from(name, '/'); //dbg("match call='%s' wwl='%s' name='%s'\n", call, wwl, name); now = time(NULL); gmtime_r(&now, &gmt); stamp = (gmt.tm_year + 1900) * 10000 + (gmt.tm_mon + 1) * 100 + gmt.tm_mday; add_cw(cw, call, wwl, stamp, NULL); add_wc(cw, wwl, call, stamp); add_namedb(namedb, call, name); qrbqtf(ctest ? ctest->pwwlo : cfg->pwwlo, wwl, &qrb, &qtf, NULL, 0); //if (cfg->kst_maxqrb > 0 && qrb >= cfg->kst_minqrb && qrb <= cfg->kst_maxqrb) { qrv_kst_add(call, wwl, fullname); } if (sw->shus){ //z_get_raw_call(raw, call); qi = (struct qrv_item *)g_hash_table_lookup(qrv->hash, call/*raw*/); //dbg("add %s qi=%p\n", call, qi); // qi can be NULL g_hash_table_insert(sw->kstusers, g_strdup(call), qi); if (sw->shus == 1) ret = 1; // skip } } zg_free0(c1); zg_free0(c2); zg_free0(c3); zg_free0(c4); zg_free0(c5); if (regmatch(line, "^The\\ ([A-Z0-9]{1,})\\ locator\\ is\\ ([A-R]{2}[0-9]{2}[A-Z]{2})", &c1, &c2, &c3, NULL) == 0){ time_t now; struct tm gmt; int stamp; call = c2; z_str_uc(call); z_strip_from(call, '-'); wwl = c3; z_str_uc(wwl); //dbg("match call='%s' wwl='%s'\n", call, wwl); now = time(NULL); gmtime_r(&now, &gmt); stamp = (gmt.tm_year + 1900) * 10000 + (gmt.tm_mon + 1) * 100 + gmt.tm_mday; add_cw(cw, call, wwl, stamp, NULL); add_wc(cw, wwl, call, stamp); } //dbg("line='%s'\n", line); if (regcmp(line, "^[0-9]{4}Z\\ .*>$") == 0){ kst_end_shus(sw); } return ret; } void kst_timer_function(void *data){ char *c; struct subwin *sw = (struct subwin *)data; //log_addf("-----"); //log_addf("kst_timer_function enter shus=%d", sw->shus); sw->timer_id = zselect_timer_new(zsel, 5 * 60 * 1000, kst_timer_function, sw); if (sw->sock < 0) { //sw_add_block(sw, "*** Skip /sh us, not connected\n"); return; } if (sw->chat){ //sw_add_block(sw, "*** Skip /sh us, chat is active\n"); return; } sw_add_block(sw, VTEXT(T_SENDING_SH_US)); c = "/sh us\r\n"; send(sw->sock, c, strlen(c), 0); kst_shus(sw, 1); //log_addf("kst_timer_function exit shus=%d", sw->shus); } void kst_shus(struct subwin *sw, int shus){ sw->shus = shus; //log_addf("kst_shus(%d)", sw->shus); //dbg("1 users=%d oldusers=%d\n", g_hash_table_size(sw->kstusers), g_hash_table_size(sw->kstoldusers)); g_hash_table_destroy(sw->kstoldusers); sw->kstoldusers = sw->kstusers; sw->kstusers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); // 2x //dbg("2 users=%d oldusers=%d\n", g_hash_table_size(sw->kstusers), g_hash_table_size(sw->kstoldusers)); //dbg("/sh us\n"); } static void kst_copy_users(gpointer key, gpointer value, gpointer user_data){ struct subwin *sw = (struct subwin*)user_data; g_hash_table_insert(sw->kstoldusers, g_strdup(key), g_strdup(value)); } void kst_end_shus(struct subwin *sw){ if (!sw->shus) return; //dbg("/sh us end, users=%d oldusers=%d\n", g_hash_table_size(sw->kstusers), g_hash_table_size(sw->kstoldusers)); //log_addf("/sh us end, users=%d oldusers=%d", g_hash_table_size(sw->kstusers), g_hash_table_size(sw->kstoldusers)); sw->shus = 0; if (sw->first_shus){ sw->first_shus = 0; g_hash_table_remove_all(sw->kstoldusers); g_hash_table_foreach(sw->kstusers, kst_copy_users, sw); } } void kst_clear_users(struct subwin *sw){ g_hash_table_remove_all(sw->kstusers); if (sw->kstoldusers) g_hash_table_remove_all(sw->kstoldusers); } int kst_user_skip(struct subwin *sw, const char *call){ int *pval; if (!call) return 1; if (!g_hash_table_lookup_extended(sw->kstusers, call, NULL, NULL)) return 1; pval = (int *)g_hash_table_lookup(gses->hicalls, call); if (!pval) return 0; switch (*pval){ case -2: case -1: return 1; case 0: return 0; case 1: return 0; default: return 0; } } int kst_qrb_skip(struct qrv_item *qi, char *call){ if (cfg->kst_maxqrb == 0) return 0; if (qi->qrb <= cfg->kst_maxqrb) return 0; return 1; } int kst_wkdwwl_skip(struct qrv_item *qi){ if (!aband) return 0; if (ctest->wwlused == 0) return 0; if (ctest->wwlmult == 0 && ctest->wwlbonu == 0) return 0; char buf[5]; get_wwl(buf, qi->wwl); if (g_hash_table_lookup(aband->stats->wwls, buf)){ return 1; } return 0; } void sw_kst_raise(struct subwin *sw){ sw_qrv_sort(qrv); } void kst_open_bh(void *sw){ kst_open_connection(sw, NULL); } void kst_open_connection(void *itdata, void *menudata){ struct subwin *sw = (struct subwin *)itdata; sw_printf(sw, VTEXT(T_RESOLVING), kst_servers[kst_i]); zasyncdns_getaddrinfo(sw->adns, zsel, sw_kst_addrinfo, kst_servers[kst_i], AF_INET, sw); } void kst_export_text(void *itdata, void *menudata) { struct subwin *sw = (struct subwin *)itdata; sw_export_lines(sw, "kst"); } #ifdef Z_HAVE_SDL void kst_free_screen(struct subwin *sw){ if (sw->l1map) { SDL_FreeSurface(sw->l1map); sw->l1map = NULL; } if (sw->screen) { SDL_FreeSurface(sw->screen); sw->screen = NULL; } MUTEX_FREE(sw->screen); } #endif int kst_dump_qrv_skip(FILE *f, struct qrv_item *qi, int bi, int setdrawn){ //if (get_qso_by_callsign(aband, qi->call)!=NULL) return 1; int ret = 0; int i; fprintf(f, " bi=%c", 'A' + bi); fprintf(f, " bands_qrv="); for (i = 0; i < 26; i++) if (qi->bands_qrv & (1<bands_wkd & (1<showall && !*qrv->search) { //qi->ac_drawn = 1; fprintf(f, " qrv->showall=%d !*qrv->search", qrv->showall); return ret; } if ((qi->bands_qrv & (1<search) > 1){// here's leading / ret = 3; if (z_strcasestr(qi->call, qrv->search + 1)) ret = 0; if (z_strcasestr(qi->wwl, qrv->search + 1)) ret = 0; if (z_strcasestr(qi->text, qrv->search + 1)) ret = 0; fprintf(f, ret == 0 ? " found in search" : " not found in search"); } //dbg("qrv_skip(%s, %d)=%d qrv=0x%x wkd=0x%x\n", qi->call, bi, ret, qi->bands_qrv, qi->bands_wkd); //qi->ac_drawn = (ret == 0); //if (qi->ac_drawn == 0) qi->ac_start = (time_t)0; return ret; } int kst_dump_user_skip(FILE *f, struct subwin *sw, const char *call){ int *pval; if (!call) { fprintf(f, " call is NULL"); return 1; } if (!g_hash_table_lookup_extended(sw->kstusers, call, NULL, NULL)) { fprintf(f, " not in kstusers"); return 1; } pval = (int *)g_hash_table_lookup(gses->hicalls, call); if (!pval) return 0; switch (*pval){ case -2: case -1: fprintf(f, " *pval=%d", *pval); return 1; case 0: return 0; case 1: return 0; default: return 0; } } void kst_dump_skip(void *itemdata, void *menudata){ int i; char *filename; FILE *f; struct subwin *sw = (struct subwin*)itemdata; filename = g_strdup_printf("%s/_kstskipdump", ctest->directory); z_wokna(filename); f = fopen(filename, "wt"); if (!f) { log_addf("Can't open '%s'", filename); g_free(filename); return; } if (!ctest) { fprintf(f, "No contest opened\n"); goto x; } if (!qrv){ fprintf(f, "No QRV database\n"); goto x; } for (i = 0; i < qrv->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); fprintf(f, "\n%-10s", qi->call); if (kst_dump_qrv_skip(f, qi, aband->bi, 1)) { fprintf(f, " QRV SKIP"); continue; } if (kst_dump_user_skip(f, sw, qi->call)){ fprintf(f, " KST SKIP"); continue; } } fprintf(f, "\n"); x:; fclose(f); log_addf("Saved to %s", filename); g_free(filename); } GPtrArray* sw_kst_calls_under(struct subwin *sw, int n, int y){ GPtrArray* ret = g_ptr_array_new(); int index = sw->lines->len - sw->offset - sw->h + y; if (index >= sw->lines->len) index = sw->lines->len - 1; for (; index >= 0; index--){ char *b, *e; //dbg("index=%d\n", index); char *orig = (char *)g_ptr_array_index(sw->lines, index); char *line = z_str_uc(g_strconcat(orig, " ", NULL)); b = line; while (*b != '\0'){ for (; *b != '\0' && !z_can_be_call_char(*b, ZCBC_MINUS); b++) {} if (*b != '\0') { for (e = b; *e != '\0' && z_can_be_call_char(*e, ZCBC_MINUS); e++) {}; //if (*e == '\0') break; // while *e = '\0'; if (regcmp(b, "^([0-9A-Z]{1,3}\\/)?([0-9][A-Z]|[A-Z]{1,2}[0-9]?)[0-9]{1,4}[A-Z]{1,4}(\\/[A-Z0-9]{1,3})*(-[0-9]{1,2})*$") == 0){ //if (z_can_be_call(b, ZCBC_MINUS)){ int eq = zg_ptr_array_find_str(ret, b); if (eq == 1){ g_ptr_array_add(ret, g_strdup(b)); if (ret->len >= n) { index = -1; goto x; } dbg("%s\n", b); } } b = e + 1; } } x:; g_free(line); } return ret; } tucnak-4.32/src/rtlsdr.c0000644000175000017500000001441213533150051012113 00000000000000/* Tucnak - VHF contest log Copyright (C) 2018 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fifo.h" //#include "language2.h" #include "rtlsdr.h" #ifdef HAVE_LIBRTLSDR #define DEFAULT_BUF_LENGTH (16 * 32 * 512) static int rtlsdr_get_bufsize_frames(struct dsp *dsp); int rtlsdr_device_search(char *s) { int i, device_count, device, offset; char *s2; char vendor[256], product[256], serial[256]; device_count = rtlsdr_get_device_count(); if (!device_count) return -1; dbg("Found %d device(s):\n", device_count); for (i = 0; i < device_count; i++) { rtlsdr_get_device_usb_strings(i, vendor, product, serial); dbg(" %d: %s, %s, SN: %s\n", i, vendor, product, serial); } dbg("\n"); /* does string look like raw id number */ device = (int)strtol(s, &s2, 0); if (s2[0] == '\0' && device >= 0 && device < device_count) { dbg("Using device %d: %s\n", device, rtlsdr_get_device_name((uint32_t)device)); return device; } /* does string exact match a serial */ for (i = 0; i < device_count; i++) { rtlsdr_get_device_usb_strings(i, vendor, product, serial); if (strcmp(s, serial) != 0) continue; device = i; dbg("Using device %d: %s\n", device, rtlsdr_get_device_name((uint32_t)device)); return device; } /* does string prefix match a serial */ for (i = 0; i < device_count; i++) { rtlsdr_get_device_usb_strings(i, vendor, product, serial); if (strncmp(s, serial, strlen(s)) != 0) continue; device = i; dbg("Using device %d: %s\n", device, rtlsdr_get_device_name((uint32_t)device)); return device; } /* does string suffix match a serial */ for (i = 0; i < device_count; i++) { rtlsdr_get_device_usb_strings(i, vendor, product, serial); offset = strlen(serial) - strlen(s); if (offset < 0) continue; if (strncmp(s, serial+offset, strlen(s)) != 0) continue; device = i; dbg("Using device %d: %s\n", device, rtlsdr_get_device_name((uint32_t)device)); return device; } dbg("No matching devices found.\n"); return -1; } int rtlsdr_open2(struct dsp *dsp, int rec){ //char errbuf[1024]; int dev_index, ret; dev_index = rtlsdr_device_search(dsp->rtlsdr_device); if (dev_index < 0) { log_addf("rtlsdr device %s not found", dsp->rtlsdr_device); goto err; } zg_free0(dsp->name); dsp->name = g_strdup_printf("rtlsdr#%d(%s)", dev_index, dsp->rtlsdr_device); dbg("open_dspy('%s',%s)\n", dsp->name, rec?"record":"playback"); dsp->frames = rtlsdr_get_bufsize_frames(dsp); // 2048 @288kS/s and block 4096 dsp->samples = dsp->frames * dsp->channels; // 4096 @288kS/s and block 4096 dsp->bytes = dsp->samples * sizeof(short); // 8192 @288kS/s and block 4096 dsp->rtlsdr_buf = g_new0(unsigned char, dsp->samples); // not bytes, only 1B per sample; dsp->samples is for internal format (short int) ret = rtlsdr_open(&dsp->rtlsdr_dev, (uint32_t)dev_index); if (ret < 0){ log_addf("Can't open rtlsdr#%s", dsp->name); goto err; } dbg("rtlsdr opened, rate=%d, bufsize=%df %ds %db \n", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); ret = rtlsdr_set_sample_rate(dsp->rtlsdr_dev, dsp->speed); if (ret < 0){ log_addf("Can't set sample rate %u", (uint32_t)dsp->speed); goto err; } ret = rtlsdr_set_center_freq(dsp->rtlsdr_dev, dsp->rtlsdr_frequency); if (ret < 0){ log_addf("Can't set center frequency %u", dsp->rtlsdr_frequency); goto err; } ret = rtlsdr_set_tuner_gain_mode(dsp->rtlsdr_dev, 0); if (ret < 0){ log_addf("Can't set auto gain"); goto err; } //r = rtlsdr_set_freq_correction(dev, ppm_error); ret = rtlsdr_reset_buffer(dsp->rtlsdr_dev); if (ret < 0){ log_addf("Can't reset buffer"); goto err; } goto x; err:; rtlsdr_close2(dsp); x:; return 1; } int rtlsdr_close2(struct dsp *dsp){ if (dsp->rtlsdr_dev != NULL) { rtlsdr_close(dsp->rtlsdr_dev); dsp->rtlsdr_dev = NULL; } return 0; } int rtlsdr_read(struct dsp *dsp, void *data, int frames){ /*int n_read, ret; unsigned char *tail; do{ dbg("rtlsdr_read begin head=%d len=%d size=%d\n", dsp->rtlsdr_bufhead, dsp->rtlsdr_buflen, dsp->rtlsdr_bufsize); if (dsp->rtlsdr_buflen >= dsp->bytes){ unsigned char *pc; short int *ps = (short*)data; int i; if (dsp->rtlsdr_bufhead + dsp->rtlsdr_buflen > dsp->rtlsdr_bufsize && dsp->rtlsdr_bufsize > 0){ // real size of buf is bufsize*2 memmove(dsp->rtlsdr_buf, dsp->rtlsdr_buf + dsp->rtlsdr_bufhead, dsp->rtlsdr_bufsize); dsp->rtlsdr_bufhead = 0; } pc = (unsigned char*)dsp->rtlsdr_buf + dsp->rtlsdr_bufhead; for (i = 0; i < dsp->samples; i++){ *ps++ = (((short)*pc++) - 0x80) * 0x100; } dsp->rtlsdr_bufhead += dsp->bytes; dsp->rtlsdr_buflen -= dsp->bytes; dbg("rtlsdr_read ret head=%d len=%d size=%d\n", dsp->rtlsdr_bufhead, dsp->rtlsdr_buflen, dsp->rtlsdr_bufsize); return dsp->frames; } tail = dsp->rtlsdr_buf + dsp->rtlsdr_buflen; dbg("rtlsdr_read read head=%d len=%d size=%d\n", dsp->rtlsdr_bufhead, dsp->rtlsdr_buflen, dsp->rtlsdr_bufsize); ret = rtlsdr_read_sync(dsp->rtlsdr_dev, dsp->rtlsdr_buf + dsp->rtlsdr_bufhead, dsp->rtlsdr_bufsize, &n_read); if (ret < 0){ return -1; } dsp->rtlsdr_buflen += n_read; }while(n_read > 0); return 0;*/ int n_read, ret, i; unsigned char *pc; short int *ps; if (frames != dsp->frames){ return -1; } ret = rtlsdr_read_sync(dsp->rtlsdr_dev, dsp->rtlsdr_buf, dsp->samples, &n_read); if (ret < 0){ return ret; } ps = (short*)data; pc = (unsigned char*)dsp->rtlsdr_buf; for (i = 0; i < dsp->samples; i++){ *ps = (((short)*pc) - 0x80) * 0x100; ps++; pc++; } return dsp->frames; } static int rtlsdr_get_bufsize_frames(struct dsp *dsp){ double period_time = 0.0; double wanted = 0.050; int frames = 512; if (dsp->period_time > 0) wanted = dsp->period_time / 1000.0; while (period_time < wanted){ frames <<= 1; period_time = (double)frames / (double)dsp->speed; } return frames; } int rtlsdr_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec){ dsp->channels = 2; dsp->speed = speed; dsp->period_time = frames * 1000 / dsp->speed; return 0; } #endif tucnak-4.32/src/ppdev.h0000644000175000017500000000146411625133700011731 00000000000000 /* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __PPDEV_H #define __PPDEV_H #ifdef HAVE_LINUX_PPDEV_H #include "header.h" struct cwdaemon; int parport_init (struct cwdaemon *); int parport_open (struct cwdaemon *cwda, int verbose); int parport_free (struct cwdaemon *); int parport_reset (struct cwdaemon *); int parport_cw (struct cwdaemon *, int onoff); int parport_ptt (struct cwdaemon *, int onoff); int parport_ssbway (struct cwdaemon *, int onoff); int parport_band (struct cwdaemon *, int bandsw); #endif void parport_info (GString *gs); #endif tucnak-4.32/src/mingw.c0000644000175000017500000000211412125053311011713 00000000000000/* Tucnak - VHF contest log Functions for mingw32 Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #ifdef __MINGW32__ int init_mingw(void){ WSADATA wsaData; // mingw_stderr = fopen("_stderr", "wt"); // if (!mingw_stderr) zinternal("Can't open file _stderr"); //MessageBox(NULL, "Hello World, I'm Tucnak compiled under mingw", "Info", MB_OK); // MUTEX_INIT(strerror_r); // MUTEX_INIT(strtok_r); // MUTEX_INIT(gmtime_r); WSAStartup(MAKEWORD(2, 0), &wsaData); } /*int WINAPI WinMain1(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ char **items; int argc; char *argv[100]; init_mingw(); items = g_strsplit(lpCmdLine, " ", 0); argv[0]="tucnak.exe" FIXME; for (argc=1; items[argc-1] != 0; argc++){ argv[argc] = items[argc-1]; } main(argc, argv); g_strfreev(items); } */ #endif tucnak-4.32/src/inputln.h0000644000175000000410000000242513345035264012301 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __INPUTLN_H #define __INPUTLN_H #include "header.h" #include "bfu.h" #define VALID_CHARS " ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/#',.+-_:?!;*" struct inputln { int (*fn)(struct dialog_data *, struct dialog_item_data *); int dlen; /* data length */ int x, y, l; int vpos, cpos, focused, wasctrlv; int upconvert, readonly, allow_ctrlv; char *cdata; struct terminal *term; void *enterdata; void (*enter)(void *, gchar *, int); GPtrArray *history; int hist_i; struct band *band; struct subwin *sw; char *valid_chars; }; void il_add_to_history(struct inputln *il, char *s); void il_set_focus(struct inputln *il); void il_unset_focus(struct inputln *il); void clear_inputline(struct inputln *il); int inputln_func(struct inputln *il, struct event *ev); void il_readonly(struct inputln *il, int ro); void draw_inputln(struct inputln *il, int sel); void newkst(struct inputln *il, char *callkst); void askkst(struct inputln *il, char *s); #endif tucnak-4.32/src/ac.c0000644000175000017500000010507114066537511011202 00000000000000/* ac.c - aircraft trace Copyright (C) 2013-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. H=D5-RZ D5=RZ/C5 C5=COS(B5) B5=$D$2*i*PI/($A$2*180) D2=QRB*360/(2*PI*RZ) */ #include "ac.h" #include #include "header.h" #include "language2.h" #include "main.h" #include "map.h" #include "qrvdb.h" #include "qsodb.h" #include "rc.h" #include "rotar.h" #include "session.h" #include "subwin.h" #include "tsdl.h" #ifdef HAVE_MATH_H #define _USE_MATH_DEFINES // for MSVC #endif struct its{ double kx, ky; double qrb; }; #define AC_SEP "," struct acs *gacs; struct acs *init_acs(void){ struct acs *acs; char *wwl; if (!cfg->ac_enable) return NULL; acs = g_new0(struct acs, 1); if (cfg->ac_url && *cfg->ac_url){ acs->url = g_strdup(cfg->ac_url); /*}else{ double myw, myh, minw, maxw, minh, maxh; int qtf; char *wwl = cfg->pwwlo; if (ctest) wwl = ctest->pwwlo; minh = maxh = myh = qth(wwl, 0); minw = maxw = myw = qth(wwl, 1); for (qtf = 0; qtf < 360; qtf++){ double h2, w2; if (qrbqtf2hw(myh, myw, 500, qtf * M_PI / 180.0, &h2, &w2) != 0) continue; minh = Z_MIN(minh, h2); minw = Z_MIN(minw, w2); maxh = Z_MAX(maxh, h2); maxw = Z_MAX(maxw, w2); } acs->url = g_strdup_printf("data-live.flightradar24.com/zones/fcgi/feed.js?bounds=%f,%f,%f,%f&faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1", maxw * 180.0/M_PI, minw * 180.0/M_PI, minh * 180.0/M_PI, maxh * 180.0/M_PI);*/ } progress(VTEXT(T_STARTING_AC)); #ifdef Z_HAVE_SDL if (sdl){ acs->normal = z_makecol(128, 128, 128); acs->active = z_makecol(0, 160, 224); } #endif wwl = cfg->pwwlo; if (ctest) wwl = ctest->pwwlo; acs->sh.myh = qth(wwl, 0); acs->sh.myw = qth(wwl, 1); init_acs_infos(acs); acs->http_timer = zselect_timer_new(zsel, 1000, acs_http_timer, acs); MUTEX_INIT(acs->sh); acs->thread = g_thread_try_new("ac", acs_thread, (gpointer)acs, NULL); return acs; } void free_acs(struct acs *acs){ if (!acs) return; progress(VTEXT(T_STOPPING_AC)); if (acs->thread){ acs->thread_break = 1; g_thread_join(acs->thread); } if (acs->http_timer) zselect_timer_kill(zsel, acs->http_timer); zhttp_free(acs->http); g_free(acs->infolocqso.locator); zg_ptr_array_free_all(acs->sh.acs); free_acs_infos(acs); MUTEX_FREE(acs->sh); g_free(acs); } // feed since 1/2015 http://arn.data.fr24.com/zones/fcgi/feed.js?bounds=55,44,4,24&faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1 // feed since 4/2016 http://data-live.flightradar24.com/zones/fcgi/feed.js?bounds=55,44,4,24&faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1 // thread void acs_load(struct acs *acs, const char *data){ char *c, *token_ptr = NULL; int maxasl = 0; char *d; d = g_strdup(data); // until 2015 "15aec22":["4B5C8C",46.2370,6.1076,45,0,32,"0000","T-LSGG2","","-",1370602183,"","","",1,0,"HERON2",0],"15a // {"full_count":10175,"version":4,"5bbca6b":["",52.2627,11.7722,24,45000,447,"5707","F-EDDC2","F2TH","",1426164599,"","","",0,-128,"F2TH",0] // ,"5bbc830":["4007F3",44.7224,4.7571,350,43000,454,"4010","F-LFBO7","B772","G-YMMH",1426164598,"ABV","LHR","BA82",0,0,"BAW82",0] token_ptr = NULL; c = strtok_r(d, "[", &token_ptr); while (1){ struct ac *ac; //dbg("ac='%s'\n", gs->str); ac = g_new0(struct ac, 1); c = strtok_r(NULL, "[", &token_ptr); if (!c) goto x; c = strtok_r(NULL, AC_SEP, &token_ptr); // "C87EE8" if (!c) goto x; if (!*c) goto x; g_strlcpy(ac->id, c+1, AC_ID_MAXLEN); c = strtok_r(NULL, AC_SEP, &token_ptr); // latitude if (!c) goto x; ac->w = atof(c) * M_PI / 180.0; c = strtok_r(NULL, AC_SEP, &token_ptr); // longitude if (!c) goto x; ac->h = atof(c) * M_PI / 180.0; c = strtok_r(NULL, AC_SEP, &token_ptr); // azimuth in degrees if (!c) goto x; ac->qtfdir = (atoi(c) - 90) * M_PI / 180.0; c = strtok_r(NULL, AC_SEP, &token_ptr); // asl in feets if (!c) goto x; ac->asl = atoi(c) * 0.3048; if (ac->asl < cfg->ac_minalt){ // unusable altitude g_free(ac); continue; } //if (ac->asl < 2000) goto abrt; if (ac->asl > maxasl) maxasl = ac->asl; c = strtok_r(NULL, AC_SEP, &token_ptr); // speed in knots if (!c) goto x; ac->speed = atoi(c) * 1.852; //if (ac->speed < 100) goto abrt; c = strtok_r(NULL, AC_SEP, &token_ptr); // "0000" if (!c) goto x; c = strtok_r(NULL, AC_SEP, &token_ptr); // "T-LSFF2" if (!c) goto x; c = strtok_r(NULL, AC_SEP, &token_ptr); // "B772" if (!c) goto x; if (*c == '"') c++; if (strlen(c) > 0 && c[strlen(c) - 1] == '"') c[strlen(c) - 1] = '\0'; g_strlcpy(ac->icao, c, AC_ICAO_MAXLEN); if (strlen(ac->icao) > 2 && acs_get_wingspan(acs, ac->icao) == 0) dbg("Unknown ICAO %s\n", ac->icao); c = strtok_r(NULL, AC_SEP, &token_ptr); // "G-YMMH" if (!c) goto x; c = strtok_r(NULL, AC_SEP, &token_ptr); // timestamp if (!c) goto x; ac->when = (time_t)atol(c); g_ptr_array_add(acs->th.acs, ac); continue; x:; g_free(ac); break; } g_free(d); acs->validity = time(NULL) + 10 * 60; } // thread void acs_load2(struct acs *acs, const char *data){ GString *gs; char *c, *token_ptr = NULL; int maxasl = 0, dlen; long pos = 0; dlen = strlen(data); gs = g_string_sized_new(50); while (zfile_mgets(gs, data, &pos, dlen, 0)){ struct ac *ac; //dbg("ac='%s'\n", gs->str); ac = g_new0(struct ac, 1); if (gs->len == 0) break; // TODO c = strtok_r(gs->str, AC_SEP, &token_ptr); if (!c) goto x; ac->w = atof(c) * M_PI / 180.0; c = strtok_r(NULL, AC_SEP, &token_ptr); if (!c) goto x; ac->h = atof(c) * M_PI / 180.0; c = strtok_r(NULL, AC_SEP, &token_ptr); if (!c) goto x; ac->qtfdir = (atoi(c) - 90) * M_PI / 180.0; c = strtok_r(NULL, AC_SEP, &token_ptr); if (!c) goto x; ac->asl = atoi(c) * 0.3048; //if (ac->asl < 2000) goto abrt; if (ac->asl > maxasl) maxasl = ac->asl; c = strtok_r(NULL, AC_SEP, &token_ptr); if (!c) goto x; ac->speed = atoi(c) * 1.852; //if (ac->speed < 100) goto abrt; c = strtok_r(NULL, AC_SEP, &token_ptr); if (!c) goto x; ac->when = (time_t)atol(c); c = strtok_r(NULL, AC_SEP, &token_ptr); if (c != NULL){ g_strlcpy(ac->icao, c, AC_ICAO_MAXLEN); } g_ptr_array_add(acs->th.acs, ac); continue; x:; g_free(ac); break; } g_string_free(gs, TRUE); acs->validity = time(NULL) + 10 * 60; } // thread void ac_compute(struct acs *acs, struct ac *ac, struct ac_counterpart *ctp, struct ac_result *res){ double h, w, qrb, qtf; int i, ret, retin, ii, ari; time_t now, dt; double h2, w2, ikx, iky, iqrb, iqtf, minasl; struct its its[2], *a, *b; // dbg("ac: w=%5.3f h=%5.3f qtf=%3.0f asl=%d speed=%d when=%ld now=%ld kx=%3.0f ky=%3.0f\n", // ac->w * 180.0 / M_PI, ac->h * 180.0 / M_PI, ac->qtf * 180.0 / M_PI, ac->asl, ac->speed, (long)ac->when, (long)time(NULL), ac->kx, ac->ky); res->under = 0; now = time(NULL); dt = now - ac->when; if (dt > 5 * 60){ res->crossing = 0; res->start = (time_t)0; return; } qrbqtf2hw(ac->h, ac->w, ac->speed * dt / 3600.0, ac->qtfdir + (90 * M_PI / 180.0), &h, &w); hw2qrbqtf(acs->th.myh, acs->th.myw, h, w, &qrb, &ac->qtf); ac->kx = (int)round(qrb * sin(ac->qtf)); ac->ky = (int)round(-qrb * cos(ac->qtf)); // dbg("%5.3f %5.3f -> %5.3f %5.3f = %f %f %f | %d %d\n", mh, mw, ac->h, ac->w, qrb, qtfrad, (qtfrad * 180/M_PI + 90), ac->kx, ac->ky); //dbg("qtf=%f %f speed=%d\n", ac->qtf, ac->qtf * 180.0 / M_PI, ac->speed); qrbqtf2hw(h, w, ac->speed * 10.0 / 60.0, ac->qtfdir + (90 * M_PI / 180.0), &h2, &w2); hw2qrbqtf(acs->th.myh, acs->th.myw, h2, w2, &qrb, &qtf); ac->pakx = (int)round(qrb * sin(qtf)); ac->paky = (int)round(-qrb * cos(qtf)); //dbg("h=%f w=%f | kx=%d ky=%d \n", h * 180.0/M_PI, w * 180.0/M_PI, ac->kx[i], ac->ky[i]); #ifdef Z_HAVE_SDL ii = 0; retin = z_point_is_in_quadrangle(ac->kx, ac->ky, ctp->arkx[0], ctp->arky[0], ctp->arkx[1], ctp->arky[1], ctp->arkx[2], ctp->arky[2], ctp->arkx[3], ctp->arky[3]); if (retin > 0) { its[ii].kx = ac->kx; its[ii].ky = ac->ky; its[ii].qrb = 0; ii++; } for (ari = 0; ari < 4; ari++){ ret = z_line_intersect(ctp->arkx[ari], ctp->arky[ari], ctp->arkx[(ari + 1) % 4], ctp->arky[(ari + 1) % 4], ac->kx, ac->ky, ac->pakx, ac->paky, &ikx, &iky); if (ret <= 0) continue; its[ii].kx = ikx; its[ii].ky = iky; its[ii].qrb = sqrt(z_sqr(ikx - ac->kx) + z_sqr(iky - ac->ky)); ii++; if (ii == 2) break; } for (i = 0; i < ii; i++){ km2qrbqtf(its[i].kx, its[i].ky, &iqrb, &iqtf); minasl = acs_min_asl(acs, iqrb, aband, cfg->ac_minelev * M_PI / 180.0); if (ac->asl < minasl * 1000.0) { res->crossing = 0; res->under = 1; return; } } if (ii == 0){ res->crossing = 0; return; } res->crossing = 1; if (ii == 1){ res->crossing = 0; //dbg("ac_compute: strange, ii=%d\n", ii); return; } if (its[0].qrb < its[1].qrb){ a = its + 0; b = its + 1; }else{ a = its + 1; b = its + 0; } res->startkx = a->kx; res->startky = a->ky; res->start = a->qrb * 3600 / ac->speed; res->stopkx = b->kx; res->stopky = b->ky; res->stop = b->qrb * 3600 / ac->speed; //dbg("ac_compute: crossing %3.0f..%3.0f km, %ld..%ld seconds (retin=%d)\n", a->qrb, b->qrb, (long)res->start, (long)res->stop, retin); res->start += now; res->stop += now; res->now = now; res->angle = ctp->qtfrad - (ac->qtfdir + M_PI / 2); while (res->angle < 0.0) res->angle += 2 * M_PI; while (res->angle > 2 * M_PI) res->angle -= 2 * M_PI; if (res->angle > M_PI) res->angle = res->angle - M_PI; if (res->angle > M_PI / 2) res->angle = M_PI - res->angle; #endif } void ac_compute_area(struct acs *acs, struct ac_counterpart *ctp){ double h, w, hh, ww; //dbg("ac_compute_area myh=%5.3f myw=%5.3f qrb=%3.0f qtf=%3.0f\n", acs->th.myh, acs->th.myw, ctp->qrb, ctp->qtfrad); //double asl0 = acs_min_asl(sw->acs, qso->qrb, band, 0.0 * M_PI / 180.0); //double asl5 = acs_min_asl(sw->acs, 127.617, band, 5.0 * M_PI / 180.0); ctp->minqrb = acs_max_qrb(acs, 13 /* TODO */, NULL /*band*/, cfg->ac_maxelev * M_PI / 180.0); ctp->maxqrb = acs_max_qrb(acs, 13 /* TODO */, NULL /*band*/, cfg->ac_minelev * M_PI / 180.0); if (ctp->minqrb > ctp->qrb) ctp->minqrb = ctp->qrb; if (ctp->maxqrb > ctp->qrb) ctp->maxqrb = ctp->qrb; ctp->minqrb = Z_MAX(ctp->minqrb, ctp->qrb - ctp->maxqrb); ctp->maxqrb = Z_MIN(ctp->maxqrb, ctp->qrb - ctp->minqrb); if (ctp->maxqrb > ctp->qrb) ctp->maxqrb = ctp->qrb; if (ctp->maxqrb < ctp->qrb / 2){ ctp->path_valid = -1; //dbg("short maxqrb\n"); return; } ctp->path_valid = 1; qrbqtf2hw(acs->th.myh, acs->th.myw, ctp->maxqrb, ctp->qtfrad, &h, &w); hw2km_d(acs->th.myh, acs->th.myw, h, w, &ctp->arm1kx, &ctp->arm1ky); qrbqtf2hw(h, w, cfg->ac_arwidth/2.0, ctp->qtfrad + M_PI/2.0, &hh, &ww); hw2km_d(acs->th.myh, acs->th.myw, hh, ww, &ctp->arkx[0], &ctp->arky[0]); qrbqtf2hw(h, w, cfg->ac_arwidth/2.0, ctp->qtfrad - M_PI/2.0, &hh, &ww); hw2km_d(acs->th.myh, acs->th.myw, hh, ww, &ctp->arkx[1], &ctp->arky[1]); qrbqtf2hw(acs->th.myh, acs->th.myw, ctp->qrb - ctp->maxqrb, ctp->qtfrad, &h, &w); hw2km_d(acs->th.myh, acs->th.myw, h, w, &ctp->arm2kx, &ctp->arm2ky); qrbqtf2hw(h, w, cfg->ac_arwidth/2.0, ctp->qtfrad - M_PI/2.0, &hh, &ww); hw2km_d(acs->th.myh, acs->th.myw, hh, ww, &ctp->arkx[2], &ctp->arky[2]); qrbqtf2hw(h, w, cfg->ac_arwidth/2.0, ctp->qtfrad + M_PI/2.0, &hh, &ww); hw2km_d(acs->th.myh, acs->th.myw, hh, ww, &ctp->arkx[3], &ctp->arky[3]); } #ifdef Z_HAVE_SDL void plot_path(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qso *qso, struct ac_counterpart *ctp){ int px1, py1, px2, py2, px3, py3, px4, py4, px, py, px11, py11, px12, py12; //dbg("plot_path %d\n", sw->acs->path_valid); if (!ctp->path_valid) return; km2px_d(sw, qso->kx, qso->ky, &px, &py); if (ctp->path_valid < 0){ // todo grey path z_line(surface, sw->ox, sw->oy, px, py, gacs->normal); return; } km2px_d(sw, ctp->arm1kx, ctp->arm1ky, &px11, &py11); km2px_d(sw, ctp->arkx[0], ctp->arky[0], &px1, &py1); km2px_d(sw, ctp->arkx[1], ctp->arky[1], &px2, &py2); km2px_d(sw, ctp->arm1kx, ctp->arm1ky, &px12, &py12); km2px_d(sw, ctp->arkx[2], ctp->arky[2], &px3, &py3); km2px_d(sw, ctp->arkx[3], ctp->arky[3], &px4, &py4); z_line(surface, sw->ox, sw->oy, px12, py12, gacs->normal); z_line(surface, px11, py11, px, py, gacs->normal); z_line(surface, px1, py1, px2, py2, sdl->yellow); z_line(surface, px2, py2, px3, py3, sdl->yellow); z_line(surface, px3, py3, px4, py4, sdl->yellow); z_line(surface, px4, py4, px1, py1, sdl->yellow); } void ac_zorder(struct subwin *sw, struct ac *ac){ int px, py; int vx,vy,vx1,vy1,vx2,vy2; int undercursor; double rad, r; struct ac_counterpart *ctp = sw->type == SWT_KST ? &gacs->infoqso : &gacs->tmpqso; struct ac_result *res = sw->type == SWT_KST ? &ac->infores : &ac->tmpres; km2px_d(sw, ac->kx, ac->ky, &px, &py); r = 16; rad = atan2((double)(ac->paky - ac->ky), (double)(ac->pakx - ac->kx)); vx = (int)round(px + 0.6*r * cos(rad) + 0.5); vy = (int)round(py + 0.6*r * sin(rad) + 0.5); vx1 = (int)round(px - 0.4*r * cos(rad + 0.6) + 0.5); vy1 = (int)round(py - 0.4*r * sin(rad + 0.6) + 0.5); vx2 = (int)round(px - 0.4*r * cos(rad - 0.6) + 0.5); vy2 = (int)round(py - 0.4*r * sin(rad - 0.6) + 0.5); undercursor = 0; if (sw->mx >= z_min3_d(vx, vx1, vx2) && sw->my >= z_min3_d(vy, vy1, vy2) && sw->mx <= z_max3_d(vx, vx1, vx2) && sw->my <= z_max3_d(vy, vy1, vy2)) undercursor = 1; if (undercursor){ ac->zorder = ACZO_CURSOR; }else if (ctp->path_valid == 1 && res->under){ ac->zorder = ACZO_LOWALT; }else if (ctp->path_valid == 1 && res->crossing){ ac->zorder = ACZO_CROSSING; }else{ ac->zorder = ACZO_NORMAL; } } // main thread, acs->sh locked void plot_ac(struct subwin *sw, struct ac *ac){ int px, py, opx, opy/*, bpx, bpy*/; double rad,r; int vx,vy,vx1,vy1,vx2,vy2; int fcolor, bcolor, undercursor; struct ac_counterpart *ctp = sw->type == SWT_KST ? &gacs->infoqso : &gacs->tmpqso; struct ac_result *res = sw->type == SWT_KST ? &ac->infores : &ac->tmpres; //todo outline km2px_d(sw, ac->kx, ac->ky, &px, &py); r = acs_get_wingspan(gacs, ac->icao) / 8; if (r == 0) r = 10; if (sw->zoom < 10000) r = (r * sw->zoom) / 10000; //dbg("qtf=%f %f \n", ac->qtf, ac->qtf * 180.0 / M_PI); rad = atan2((double)(ac->paky - ac->ky), (double)(ac->pakx - ac->kx)); vx = (int)round(px + 0.6*r * cos(rad) + 0.5); vy = (int)round(py + 0.6*r * sin(rad) + 0.5); vx1 = (int)round(px - 0.4*r * cos(rad + 0.6) + 0.5); vy1 = (int)round(py - 0.4*r * sin(rad + 0.6) + 0.5); vx2 = (int)round(px - 0.4*r * cos(rad - 0.6) + 0.5); vy2 = (int)round(py - 0.4*r * sin(rad - 0.6) + 0.5); undercursor = 0; if (sw->mx >= z_min3_d(vx, vx1, vx2) && sw->my >= z_min3_d(vy, vy1, vy2) && sw->mx <= z_max3_d(vx, vx1, vx2) && sw->my <= z_max3_d(vy, vy1, vy2)) undercursor = 1; if (undercursor){ fcolor = z_makecol(21, 193, 106); bcolor = z_makecol(15, 150, 70); }else if (strcmp(ac->id, gacs->sh.tracked) == 0){ fcolor = z_makecol(255, 0, 0); bcolor = z_makecol(192, 0, 0); }else if (ctp->path_valid == 1 && res->under){ fcolor = z_makecol(128, 128, 128); bcolor = z_makecol(64, 64, 64); }else if (ctp->path_valid == 1 && res->crossing){ fcolor = z_makecol(0, 160, 224); bcolor = z_makecol(0, 120, 195); }else{ fcolor = z_makecol(192, 192, 192); bcolor = z_makecol(128, 128, 128); } z_triangle(sw->screen, vx, vy, vx1, vy1, vx2, vy2, bcolor); z_line(sw->screen, vx, vy, vx1, vy1, fcolor); z_line(sw->screen, vx, vy, vx2, vy2, fcolor); z_line(sw->screen, vx1, vy1, vx2, vy2, fcolor); z_putpixel(sw->screen, px, py, fcolor); vx = (int)round(px + 0.6*r * cos(rad)); vy = (int)round(py + 0.6*r * sin(rad)); vx1 = (int)round(px - 0.4*r * cos(rad + 0.6)); vy1 = (int)round(py - 0.4*r * sin(rad + 0.6)); vx2 = (int)round(px - 0.4*r * cos(rad - 0.6)); vy2 = (int)round(py - 0.4*r * sin(rad - 0.6)); if (undercursor) { opx = px; opy = py; km2px_d(sw, ac->pakx, ac->paky, &px, &py); z_line(sw->screen, opx, opy, px, py, fcolor); if (!sw->ac_plotinfo) plot_info_ac(sw, sw->screen, ac); return; } if (!res->crossing) return; if (!ctp->path_valid) return; opx = px; opy = py; km2px_d(sw, res->startkx, res->startky, &px, &py); z_line(sw->screen, opx, opy, px, py, gacs->normal); opx = px; opy = py; km2px_d(sw, res->stopkx, res->stopky, &px, &py); z_line(sw->screen, opx, opy, px, py, gacs->active); opx = px; opy = py; km2px_d(sw, ac->pakx, ac->paky, &px, &py); z_line(sw->screen, opx, opy, px, py, gacs->normal); } void plot_info_ac(struct subwin *sw, SDL_Surface *surface, struct ac *ac){ int x, y, color; SDL_Rect rect, oldrect; struct tm utc; time_t diff; struct ac_result *res; x = sw->info.x + 4; //y = sw->info.y + 4 + 18 * FONT_H; y = sw->info.y; rect.x = sw->info.x; // same as plot_info_qso rect.y = y; rect.w = sw->info.w; //rect.h = sw->y - y; rect.h = sw->info.y + (11 * FONT_H) + 12; SDL_GetClipRect(sw->screen, &oldrect); SDL_SetClipRect(sw->screen, &rect); SDL_FillRect(sw->screen, &rect, z_makecol(0,0,35)) ; if (ac){ sw->ac_plotinfo = 1; color=z_makecol(21, 193, 106); zsdl_printf(sw->screen, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_ASL_5D_M), ac->asl); y +=FONT_H+4; zsdl_printf(sw->screen, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_SPEED4D_KMH), ac->speed); y += FONT_H + 4; zsdl_printf(sw->screen, x, y, color, 0, ZFONT_TRANSP, TRANSLATE("Plane: %s")/*VTEXT(T_SPEED4D_KMH)*/, ac->icao); y += FONT_H + 4; zsdl_printf(sw->screen, x, y, color, 0, ZFONT_TRANSP, TRANSLATE("WingS: %d ft")/*VTEXT(T_SPEED4D_KMH)*/, acs_get_wingspan(gacs, ac->icao)); y += FONT_H + 4; res = sw->type == SWT_KST ? &ac->infores : &ac->tmpres; if (res->start != (time_t)0){ diff = res->start - time(NULL); gmtime_r(&res->start, &utc); zsdl_printf(sw->screen, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_AC_START), utc.tm_hour, utc.tm_min, ((long)diff) / 60, ((long)diff) % 60); y+=FONT_H+4; zsdl_printf(sw->screen, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_AC_DURAT_LD), (long)(res->stop - res->start)); y+=FONT_H+4; //zsdl_printf(sw->screen, x, y, color, 0, ZFONT_TRANSP, "Angle: %d", (int)(res->angle * 180.0 / M_PI)); y+=FONT_H+4; } } SDL_SetClipRect(sw->screen, &oldrect); } void acs_redraw(struct subwin *sw, struct acs *acs){ struct ac *ac; int i, z; //dbg("------- acs_redraw\n"); if (!gacs) return; MUTEX_LOCK(acs->sh); sw->ac_plotinfo = 0; if (acs->sh.acs){ for (i = 0; i < acs->sh.acs->len; i++){ ac = (struct ac *)g_ptr_array_index(acs->sh.acs, i); ac_zorder(sw, ac); } for (z = ACZO_LOWALT; z <= ACZO_CURSOR; z++){ for (i = 0; i < acs->sh.acs->len; i++){ ac = (struct ac *)g_ptr_array_index(acs->sh.acs, i); if (ac->zorder == z) plot_ac(sw, ac); } } } if (!sw->ac_plotinfo) plot_info_ac(sw, sw->screen, NULL); MUTEX_UNLOCK(acs->sh); } #endif /* static void ac_fill_band_ac_k(struct band *b){ if (b->qrg_min < 200000) b->ac_k = 1.37; else if (b->qrg_min < 500000) b->ac_k = 0.92; else if (b->qrg_min < 1400000) b->ac_k = 0.8; else if (b->qrg_min < 3000000) b->ac_k = 0.77; else if (b->qrg_min < 4000000) b->ac_k = 0.75; else if (b->qrg_min < 6000000) b->ac_k = 0.72; else b->ac_k = 0.7; b->ac_k = 1; } */ double acs_min_asl(struct acs *acs, double qrb, struct band *b, double elev_rad){ double k = 1.0; /*if (b && b->ac_k == 0.0) ac_fill_band_ac_k(b); k = b ? b->ac_k : 0.8;*/ return k * ZLOC_R_EARTH * cfg->ac_kfactor * ( 1 / cos(qrb / (ZLOC_R_EARTH * cfg->ac_kfactor)) - 1) + qrb * sin(elev_rad); } double acs_max_qrb(struct acs *acs, double asl, struct band *b, double elev_rad){ double k = 1.0, asl2, qrb; /*if (b && b->ac_k == 0.0) ac_fill_band_ac_k(b); k = b ? b->ac_k : 0.8;*/ if (elev_rad <= 0.0){ return ZLOC_R_EARTH * cfg->ac_kfactor * acos( 1 / (1 + (asl * k)/(ZLOC_R_EARTH * cfg->ac_kfactor))); } qrb = 0; while(1){ asl2 = acs_min_asl(acs, qrb, b, elev_rad); if (asl2 > asl) return qrb; qrb += 5.0; } //return qrb; } void acs_http_timer(void *arg){ struct acs *acs = (struct acs *)arg; acs->http_timer = 0; if (acs->http){ zhttp_free(acs->http); acs->http = NULL; } acs->http = zhttp_init(); if (acs->url == NULL){ char *url = g_strdup_printf("tucnak.vaiz.cz/acurl.php?mycall=%s&mywwl=%s", ctest ? ctest->pcall : cfg->pcall, ctest ? ctest->pwwlo : cfg->pwwlo); zhttp_get(acs->http, zsel, url, acs_goturl, acs); g_free(url); }else{ zhttp_get(acs->http, zsel, acs->url, acs_downloaded_callback, acs); } acs->http_timer = zselect_timer_new(zsel, 50*1000, acs_http_timer, acs); // restart when freezes dbg("acs_timer: zhttp_get\n"); } void acs_goturl(struct zhttp *http){ char *data, *status, *url; int remains = 10000; struct acs *acs = (struct acs *)http->arg; dbg("acs_goturl\n"); if (acs->http_timer){ zselect_timer_kill(zsel, acs->http_timer); acs->http_timer = 0; } data = g_new(char, http->response->len + 1); zbinbuf_getstr(http->response, http->dataofs, data, http->response->len + 1); if (acs->http->errorstr == NULL){ z_split2(data, ';', &status, &url, 0); if (status != NULL && status[0] == 'A'){ remains = 1; acs->url = g_strdup(url); g_free(status); g_free(url); } } g_free(data); zhttp_free(http); acs->http = NULL; acs->http_timer = zselect_timer_new(zsel, remains, acs_http_timer, acs); } void acs_downloaded_callback(struct zhttp *http){ char *data; struct timeval tv; int remains; struct acs *acs = (struct acs *)http->arg; dbg("acs_downloaded_callback\n"); if (acs->http_timer){ zselect_timer_kill(zsel, acs->http_timer); acs->http_timer = 0; } data = g_new(char, http->response->len + 1); zbinbuf_getstr(http->response, http->dataofs, data, http->response->len + 1); zhttp_free(http); acs->http = NULL; gettimeofday(&tv, NULL); remains = 60000 - ((tv.tv_sec % 60) * 1000 + tv.tv_usec/1000); acs->http_timer = zselect_timer_new(zsel, remains, acs_http_timer, acs); MUTEX_LOCK(acs->sh); g_free(acs->sh.data); acs->sh.data = data; MUTEX_UNLOCK(acs->sh); } gpointer acs_thread(gpointer arg){ struct acs *acs = (struct acs *)arg; int new_tmpctp = 0; int new_infoctp = 0; zg_thread_set_name("Tucnak AS"); while (!acs->thread_break){ char *data; struct ac *ac; int i, j; char tracked[AC_ID_MAXLEN]; int rotnr; for (i = 0; i < 10; i++) { if (acs->sh.new_tmpctp) break; if (acs->sh.new_infoctp) break; if (acs->thread_break) break; usleep(100000); } //dbg("------acs_thread--------\n"); MUTEX_LOCK(acs->sh); if (acs->sh.data){ data = acs->sh.data; acs->sh.data = NULL; acs->th.myh = acs->sh.myh; acs->th.myw = acs->sh.myw; MUTEX_UNLOCK(acs->sh); acs->th.acs = g_ptr_array_new(); if (strncmp(data, "{\"full_count\":", 14) == 0){ acs_load(acs, data); }else{ acs_load2(acs, data); } g_free(data); MUTEX_LOCK(acs->sh); zg_ptr_array_free_all(acs->sh.acs); acs->sh.acs = acs->th.acs; acs->th.acs = NULL; } if (acs->sh.new_tmpctp){ acs->tmpqso.qrb = acs->sh.tmpctpqrb; acs->tmpqso.qtfrad = acs->sh.tmpctpqtf * M_PI / 180.0; acs->sh.new_tmpctp = 0; new_tmpctp = 1; } if (acs->sh.new_infoctp){ acs->infoqso.qrb = acs->sh.infoctpqrb; acs->infoqso.qtfrad = acs->sh.infoctpqtf * M_PI / 180.0; acs->sh.new_infoctp = 0; new_infoctp = 1; } g_strlcpy(tracked, acs->sh.tracked, AC_ID_MAXLEN); rotnr = acs->sh.rotnr; MUTEX_UNLOCK(acs->sh); if (acs->sh.acs){ if (new_tmpctp) { ac_compute_area(acs, &acs->tmpqso); new_tmpctp = 0; } if (new_infoctp) { ac_compute_area(acs, &acs->infoqso); new_infoctp = 0; } //ST_START(); int qtf = -360; for (i = 0; i < acs->sh.acs->len; i++){ ac = (struct ac *)g_ptr_array_index(acs->sh.acs, i); ac_compute(acs, ac, &acs->tmpqso, &ac->tmpres); if (strlen(ac->id) > 0 && strcmp(ac->id, tracked) == 0){ qtf = (int)round(ac->qtf * 180.0 / M_PI); dbg("qtf=%d\n", qtf); //if (qtf >= 360) qtf -= 360; } if (acs->thread_break) break; } for (i = 0; i < acs->sh.acs->len; i++){ ac = (struct ac *)g_ptr_array_index(acs->sh.acs, i); ac_compute(acs, ac, &acs->infoqso, &ac->infores); if (acs->thread_break) break; } for (j = 0; j < qrv->qrvs->len; j++){ struct qrv_item *qi; time_t start = 0; int n = 0; time_t interval = 0; struct ac_counterpart *ctp = &acs->qrvqso; struct ac_result *res; if (acs->sh.new_tmpctp) break; if (acs->sh.new_infoctp) break; MUTEX_LOCK(qrv->qrvs); if (j >= qrv->qrvs->len) goto next; qi = (struct qrv_item*)g_ptr_array_index(qrv->qrvs, j); //if (!qi->ac_drawn) { // //qi->ac_start = (time_t)0; // goto next; //} /*if (strcmp(qi->call, "S57C") == 0){ int aa = 0; } */ //dbg("acs_thread: %3d %s\n", j, qi->call); usleep(1000); //ctp->qrb = qi->qrb; hw2qrbqtf(acs->th.myh, acs->th.myw, qth(qi->wwl, 0), qth(qi->wwl, 1), &ctp->qrb, &ctp->qtfrad); //ctp->qtfrad = qi->qtf * M_PI / 180.0; ac_compute_area(acs, ctp); if (ctp->path_valid != 1) { qi->ac_start = 0; goto next; } for (i = 0; i < acs->sh.acs->len; i++){ ac = (struct ac *)g_ptr_array_index(acs->sh.acs, i); res = &ac->qrvres; ac_compute(acs, ac, ctp, res); if (res->crossing){ if (n == 0){ start = res->start; }else{ start = Z_MIN(start, res->start); } interval += res->stop - res->start; n++; } if (acs->thread_break) goto next; } if (interval < cfg->ac_mindur){ qi->ac_start = (time_t)0; }else{ //dbg("SET: %s %d\n", qi->call, qi->ac_interval); qi->ac_start = start; qi->ac_interval = interval; qi->ac_n = n; } next:; MUTEX_UNLOCK(qrv->qrvs); if (acs->thread_break) break; } if (qtf > -360){ MUTEX_LOCK(acs->sh); #define HYSTERESIS 1 if (strlen(acs->sh.tracked) > 0){ // prevent race condition when ac_track(NULL) was called during for { ac_compute } struct rotar *rot = get_rotar(rotnr); if (rot->type != ROT_REMOTE /* not sure if thread-safe */) { //dbg("rot_seek(%d, %d)\n", rotnr, qtf); if (abs(rot->qtf - qtf) > HYSTERESIS){ rot_seek(rot, qtf, -90); } } } MUTEX_UNLOCK(acs->sh); } //ST_STOP("ac_recompute"); zselect_msg_send(zsel, "AC;r"); } } return NULL; } void acs_update_qth(struct acs *acs){ if (!acs) return; if (!gses) return; MUTEX_LOCK(acs->sh); if (acs->sh.myh != gses->myh || acs->sh.myw != gses->myw){ MUTEX_UNLOCK(acs->sh); free_acs(acs); gacs = init_acs(); return; } //acs->sh.myh = sw->myh; //acs->sh.myw = sw->myw; MUTEX_UNLOCK(acs->sh); } void ac_redraw(){ if (!gses) return; #ifdef Z_HAVE_SDL if (gses->ontop->type == SWT_MAP || gses->ontop->type == SWT_KST){ gses->ontop->gdirty = 1; } #endif redraw_later(); } void ac_update_tmpctp(char *wwl){ struct acs *acs; if (!gacs) return; if (!gses) return; if (gses->ontop->type != SWT_MAP && gses->ontop->type != SWT_KST) return; acs = gacs; dbg("ac_update_tmpctp(%s)\n", wwl); MUTEX_LOCK(acs->sh); if (!wwl || strlen(wwl) < 6){ acs->tmpqso.path_valid = 0; }else{ qrbqtf(ctest ? ctest->pwwlo : cfg->pwwlo, wwl, &acs->sh.tmpctpqrb, &acs->sh.tmpctpqtf, NULL, 0); acs->sh.new_tmpctp = 1; acs->tmpqso.path_valid = 1; } MUTEX_UNLOCK(acs->sh); } void ac_update_infoctp(char *wwl){ struct acs *acs; if (!gses) return; //if (gses->ontop->type != SWT_MAP) return; acs = gacs; dbg("ac_update_infoctp(%s)\n", wwl); MUTEX_LOCK(acs->sh); if (!wwl || !*wwl){ acs->infoqso.path_valid = 0; }else{ qrbqtf(ctest ? ctest->pwwlo : cfg->pwwlo, wwl, &acs->sh.infoctpqrb, &acs->sh.infoctpqtf, NULL, 0); acs->sh.new_infoctp = 1; acs->infoqso.path_valid = 1; } MUTEX_UNLOCK(acs->sh); } void ac_format(struct qrv_item *qi, char *acstart, char *acint, int flags){ struct tm utc; time_t diff; if (!gacs || !qi || qi->ac_start == (time_t)0){ if (flags & 1) strcpy(acstart, " "); else strcpy(acstart, " "); strcpy(acint, " "); }else{ diff = qi->ac_start - time(NULL); if (diff < 0 && diff > -3) diff = 0; /*if (diff < 0){ strcpy(acstart, "---"); }else if (diff >= 3600){ strcpy(acstart, "+++"); dbg("diff = %ld\n", (long)diff); }else*/{ gmtime_r(&qi->ac_start, &utc); if (flags & 1) sprintf(acstart, "%02d:%02d:%02d %02dm%02d", utc.tm_hour, utc.tm_min, utc.tm_sec, (int)((diff / 60) % 60), (int)(diff / 60)); else sprintf(acstart, "%02dm%02d", (int)((diff / 60) % 60), (int)(diff % 60)); } //dbg("%s: %02d:%02d:%02d start=%3ld diff=%3ld\n", qi->call, utc.tm_hour, utc.tm_min, utc.tm_sec, (long)(qi->ac_start % 60), (long)diff); //dbg("%s: start=%ld now=%ld -=%ld diff=%ld\n", qi->call, (long)qi->ac_start % 1000, (long)time(NULL) % 1000, (long)qi->ac_start - (long)time(NULL), (long)diff); if (qi->ac_interval < 0){ sprintf(acint, "--- %2d", qi->ac_n); }else if (qi->ac_interval > 999){ sprintf(acint, "+++ %2d", qi->ac_n); }else{ sprintf(acint, "%3ld %2d", (long)qi->ac_interval, qi->ac_n); } if ((flags & 1) == 0) strcat(acint, " "); } } void init_acs_infos(struct acs *acs){ char *token_ptr = NULL; char *ic, *wingspan; char *buf = g_strdup(txt_aircrafts); char *buf2 = buf; acs->infos = g_ptr_array_new(); while (1){ struct ac_info *aci; ic = strtok_r(buf2, " ", &token_ptr); wingspan = strtok_r(NULL, "\n", &token_ptr); buf2 = NULL; if (ic == NULL && wingspan == NULL) break; if (ic == NULL || wingspan == NULL) continue; aci = g_new0(struct ac_info, 1); g_strlcpy(aci->icao, ic, AC_ICAO_MAXLEN); aci->wingspan = atoi(wingspan); g_ptr_array_add(acs->infos, aci); } g_free(buf); } void free_acs_infos(struct acs *acs){ if (acs->infos == NULL) return; zg_ptr_array_free_all(acs->infos); acs->infos = NULL; } int acs_get_wingspan(struct acs *acs, char *icao){ int i; for (i = 0; i < acs->infos->len; i++){ struct ac_info *aci = (struct ac_info *)g_ptr_array_index(acs->infos, i); if (strcmp(aci->icao, icao) == 0) return aci->wingspan; } return 0; } struct ac *ac_under(struct acs *acs, struct subwin *sw){ struct ac *ac, *ret = NULL; int i; if (!gacs) return NULL; MUTEX_LOCK(acs->sh); if (acs->sh.acs){ for (i = 0; i < acs->sh.acs->len; i++){ ac = (struct ac *)g_ptr_array_index(acs->sh.acs, i); ac_zorder(sw, ac); if (ac->zorder == ACZO_CURSOR){ ret = ac; break; } } } MUTEX_UNLOCK(acs->sh); return ret; } void ac_track(struct acs *acs, char *id, int rotnr){ if (!acs) return; MUTEX_LOCK(acs->sh); if (id == NULL){ g_strlcpy(acs->sh.tracked, "", AC_ID_MAXLEN); acs->sh.rotnr = -1; }else{ g_strlcpy(acs->sh.tracked, id, AC_ID_MAXLEN); acs->sh.rotnr = rotnr; } MUTEX_UNLOCK(acs->sh); } tucnak-4.32/src/wizz.h0000644000175000017500000000252014000322113011574 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __WIZZ_H #define __WIZZ_H #include "header.h" #include "qsodb.h" struct wizz_qsomult_item{ struct wizz_qsomult_item *next; char bandchar; int qsomult; }; struct wizz_item{ gchar *tname, *pexch; enum tttype tttype; int qsoused, qsomult, qsoglob, expmode; int wwlused, wwlbonu, wwlmult, wwlcfm; int excused, excbonu, excmult, exccfm; enum exctype exctype; gchar *excname; int rstused, defrstr; int prefmult, prefglob; int dxcbonu, dxcmult; gint qsop_method, total_method; gchar *bands; struct wizz_qsomult_item *qsomults; }; struct wizz{ GPtrArray *items; /* struct wizz_item */ }; extern struct wizz *wizz; struct wizz *init_wizz(void); void free_wizz_item(struct wizz_item *wi); void free_wizz(struct wizz *wizz); struct wizz_item *find_wizz(struct wizz *wizz, gchar *tname); int load_wizz_from_file(struct wizz *wizz, gchar *filename); void read_wizz_files(struct wizz *wizz); struct wizz_item *get_wizz(struct wizz *wizz, int i); struct wizz_item *find_wizz(struct wizz *wizz, gchar *tname); #endif tucnak-4.32/src/adif.c0000644000175000017500000003711714052410277011521 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "language2.h" #include "net.h" #include "qsodb.h" #include "stats.h" #include "tsdl.h" #define ADIF_STR(iname,item) if (strlen(item)) g_string_append_printf(gs,"<%s:%d>%s ",iname, (int)strlen(item),safe_strncpy0(s,item,1024)) #define ADIF_STR_UC(iname,item) if (strlen(item)) g_string_append_printf(gs,"<%s:%d>%s ",iname,(int)strlen(item),z_str_uc(safe_strncpy0(s,item,1024))) #define ADIF_DATE(iname,item) if (strlen(item)) g_string_append_printf(gs,"<%s:%d>%s ",iname, (int)strlen(item),safe_strncpy0(s,item,1024)) #define ADIF_INT(iname,item) sprintf(s,"%d",item); g_string_append_printf(gs,"<%s:%d>%s ",iname, (int)strlen(s),s) static gchar *convert_lt(gchar *s){ char *c; for (c=s; *c!='\0'; c++) if (*c=='<') *c='('; return s; } static int write_adif_header(struct band *b, struct config_band *confb, FILE *f){ char s[1024],dummy[10], *psect; GString *gs; int ret; switch(b->psect){ case 1: psect="Single"; break; case 2: psect="Check"; break; default: psect="Multi"; break; } gs = g_string_sized_new(1024); g_string_append_printf(gs, "Created by TUCNAK-%s ver. %s\r\n", Z_PLATFORM, VERSION_STRING); g_string_append_printf(gs, "TName=%s\r\n", safe_strncpy0(s, ctest->tname, 69)); if (!b->qsos->len) g_string_append_printf(gs, "TDate=%s;%s\r\n", ctest->cdate, ctest->cdate); else g_string_append_printf(gs, "TDate=%d;%d\r\n", b->stats->first_date, b->stats->last_date); g_string_append_printf(gs, "PCall=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pcall, 69))); g_string_append_printf(gs, "PWWLo=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pwwlo, 69))); g_string_append_printf(gs, "PExch=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pexch, 69))); g_string_append_printf(gs, "PAdr1=%s\r\n", safe_strncpy0(s, ctest->padr1, 69)); g_string_append_printf(gs, "PAdr2=%s\r\n", safe_strncpy0(s, ctest->padr2, 69)); g_string_append_printf(gs, "PSect=%s\r\n", psect); /* g_string_append_printf(gs, "PBand=%s\r\n", b->pband);*/ g_string_append_printf(gs, "PClub=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pclub, 69))); g_string_append_printf(gs, "RName=%s\r\n", safe_strncpy0(s, ctest->rname, 69)); g_string_append_printf(gs, "RCall=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->rcall, 69))); g_string_append_printf(gs, "RAdr1=%s\r\n", safe_strncpy0(s, ctest->radr1, 69)); g_string_append_printf(gs, "RAdr2=%s\r\n", safe_strncpy0(s, ctest->radr2, 69)); g_string_append_printf(gs, "RPoCo=%s\r\n", safe_strncpy0(s, ctest->rpoco, 69)); g_string_append_printf(gs, "RCity=%s\r\n", safe_strncpy0(s, ctest->rcity, 69)); g_string_append_printf(gs, "RCoun=%s\r\n", safe_strncpy0(s, ctest->rcoun, 69)); g_string_append_printf(gs, "RPhon=%s\r\n", safe_strncpy0(s, ctest->rphon, 69)); g_string_append_printf(gs, "RHBBS=%s\r\n", safe_strncpy0(s, ctest->rhbbs, 69)); /* g_string_append_printf(gs, "MOpe1=%s\r\n", z_str_uc(safe_strncpy0(s, b->mope1, 69))); g_string_append_printf(gs, "MOpe2=%s\r\n", z_str_uc(safe_strncpy0(s, b->mope2, 69))); g_string_append_printf(gs, "STXEq=%s\r\n", safe_strncpy0(s, b->stxeq, 69)); g_string_append_printf(gs, "SPowe=%s\r\n", safe_strncpy0(s, b->spowe, 69)); g_string_append_printf(gs, "SRXEq=%s\r\n", safe_strncpy0(s, b->srxeq, 69)); g_string_append_printf(gs, "SAnte=%s\r\n", safe_strncpy0(s, b->sante, 69)); g_string_append_printf(gs, "SAntH=%s\r\n", safe_strncpy0(s, b->santh, 69)); g_string_append_printf(gs, "CQSOs=%d;%d\r\n", b->stats->nqsos, b->bandmulti); g_string_append_printf(gs, "CQSOP=%d\r\n", b->stats->nqsop); g_string_append_printf(gs, "CWWLs=%d;%d;%d\r\n", g_hash_table_size(b->stats->wwls), ctest->wwlbonu, ctest->wwlmult==0 ? 1 : ctest->wwlmult); g_string_append_printf(gs, "CWWLB=%d\r\n", g_hash_table_size(b->stats->wwls) * ctest->wwlbonu); g_string_append_printf(gs, "CExcs=%d;%d;%d\r\n", g_hash_table_size(b->stats->excs), ctest->excbonu, ctest->excmult==0 ? 1 : ctest->excmult); g_string_append_printf(gs, "CExcB=%d\r\n", g_hash_table_size(b->stats->excs) * ctest->excbonu); g_string_append_printf(gs, "CDXCs=%d;%d;%d\r\n", g_hash_table_size(b->stats->dxcs), ctest->dxcbonu, ctest->dxcmult==0 ? 1 : ctest->dxcmult); g_string_append_printf(gs, "CDXCB=%d\r\n", g_hash_table_size(b->stats->dxcs) * ctest->dxcbonu); g_string_append_printf(gs, "CToSc=%d\r\n", b->stats->ntotal); g_string_append_printf(gs, "CODXC=%s;", z_str_uc(safe_strncpy0(s, b->stats->odxcall, 20))); g_string_append_printf(gs, "%s;%d\r\n", z_str_uc(safe_strncpy0(s, b->stats->odxwwl, 20)), b->stats->odxqrb_int); */ convert_lt(gs->str); strcpy(dummy,"1.00"); ADIF_STR("adif_ver",dummy); g_string_append_printf(gs, "\r\n"); ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } static int write_adif_qsos(struct band *b, struct config_band *confb, FILE *f){ struct qso *q; GString *gs; int i; int ret; char s[1024]; char *adif_modes[]={ "", "SSB", "CW", "SSB", "SSB", "AM", /* 5 */ "FM", "RTTY", "SSTV", "ATV" /* 9 */ }; gs = g_string_new(""); for (i=0; iqsos->len; i++){ q = get_qso(b, i); if (q->error && cfg->adif_export_mode_t2r == 2){ continue; } ADIF_STR_UC("BAND",confb->adifband); ADIF_DATE ("QSO_DATE",q->date_str); ADIF_STR ("TIME_ON",q->time_str); if (q->error){ if (cfg->adif_export_mode_t2r == 1){ ADIF_STR_UC("CALL",q->callsign); }else{ ADIF_STR_UC("CALL","ERROR"); } }else{ ADIF_STR_UC("CALL",q->callsign); } ADIF_STR ("MODE",adif_modes[abs(q->mode)%10]); /* TODO sent vs rcvd */ ADIF_STR_UC("RST_SENT",q->rsts); if (ctest->excused > 0) { ADIF_STR_UC("STX_STRING",ctest->pexch); } if (ctest->qsoused > 0){ ADIF_STR_UC("STX",q->qsonrs); } ADIF_STR_UC("RST_RCVD",q->rstr); if (ctest->excused > 0) { ADIF_STR_UC("SRX_STRING",q->exc); } if (ctest->qsoused > 0){ ADIF_STR_UC("SRX",q->qsonrr); } ADIF_STR_UC("CONTEST_ID", ctest->tname); ADIF_STR_UC("GRIDSQUARE",q->locator); ADIF_INT("TX_PWR", atoi(b->spowe)); ADIF_INT("QRB", (int)q->qrb); ADIF_INT ("QTF", q->qtf); ADIF_INT ("POINTS", q->qsop); ADIF_STR_UC("OPERATOR",q->operator_); ADIF_STR ("COMMENT",q->remark); /* ES,MS,AUR,TR,RS,AUE,BS,EME,FAI,F2,ION,LOS,SAT,TEP,TRS,TRD */ if (q->rsts && strlen(q->rsts)>=3 && q->rsts[2]=='A'){ ADIF_STR ("PROP_MODE","AUR"); }else if (q->rsts && strlen(q->rsts)==3 && q->rsts[2]=='S'){ ADIF_STR ("PROP_MODE","RS"); }else if (q->rsts && strlen(q->rsts)==3 && q->rsts[2]=='F'){ ADIF_STR ("PROP_MODE","FAI"); }else{ ADIF_STR ("PROP_MODE","TR"); } if (q->qrg){ sprintf(s,"%d.%06d",(int)(q->qrg/1000000.0), (int)fmod(q->qrg, 1000000.0)); g_string_append_printf(gs,"<%s:%d>%s ", "FREQ", (int)strlen(s),s); } g_string_append_printf(gs, "\r\n"); /*g_string_append_printf(gs, "%s\r\n", gs->str);*/ } ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } int export_all_bands_adif(void){ struct band *band; struct config_band *confb; int i, err; gchar *filename; FILE *f; char callbuf[20]; int ignoreerror=0; int header_saved=0; if (!ctest) return -1; dbg("export_all_bands_adif()\n"); filename = g_strdup_printf("%s/%s_%s.adi", ctest->directory, ctest->cdate, z_get_raw_call(callbuf,ctest->pcall)); z_wokna(filename); f=fopen(filename,"wb"); /* must be b for windoze */ if (!f) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), errno); ignoreerror=1;} g_free(filename); return -1; } err = 0; for (i=0; ibands->len; i++){ band = g_ptr_array_index(ctest->bands, i); confb = get_config_band_by_bandchar(band->bandchar); progress(VTEXT(T_EXPORTING_S), band->bandname); stats_thread_join(band); if (band->stats->nqsos <=0) continue; if (!header_saved){ err|=write_adif_header(band,confb,f); header_saved=1; } err|=write_adif_qsos (band,confb,f); } fclose(f); if (err) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), 0); ignoreerror=1; } g_free(filename); progress(NULL); return -1; } log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); progress(NULL); return 0; } static int adif_ignore(FILE *f){ int cc; while ((cc=fgetc(f))!=EOF){ if (cc=='<') return '<'; } return EOF; } static int adif_read_tag(FILE *f, GString *gs, int *taglen){ int cc; gchar **items; g_string_truncate(gs, 0); while ((cc=fgetc(f))!=EOF){ if (cc=='>') { items = g_strsplit(gs->str,":",3); if (items[0]){ if (!items[1]) *taglen=0; else *taglen=atoi(items[1]); gs->str[strlen(items[0])]='\0'; z_str_uc(gs->str); } g_strfreev(items); return 0; } g_string_append_c(gs, cc); } return EOF; } static gchar *adif_item(GHashTable *hash, gchar *key) { return g_hash_table_lookup(hash,key); } #define ADIF_ITEM(key) adif_item(hash,(key)) static gchar *safe_adif_item(GHashTable *hash, gchar *key) { gchar *tmp; tmp=g_hash_table_lookup(hash,key); return (tmp?tmp:""); } #define SAFE_ADIF_ITEM(key) safe_adif_item(hash,(key)) static int adif_add_qso(struct band *band, GHashTable *hash){ struct qso *q; struct band *b; int i; /* mandatory */ gchar *call, *rsts, *rstr,*qso_date,*time_on; /* optional */ gchar *mode; gchar *band_str; int qrg; /* kHz */ call=ADIF_ITEM("CALL"); rsts=ADIF_ITEM("RST_SENT"); rstr=ADIF_ITEM("RST_RCVD"); qso_date=ADIF_ITEM("QSO_DATE"); time_on=ADIF_ITEM("TIME_ON"); if (!call || strcasecmp(call,"ERROR")!=0){ if (!call || !rsts || !rstr || !qso_date || !time_on){ dbg("Incomplete record (call='%s', rsts='%s', rstr='%s', qso_date='%s', time_on='%s'\n", call, rsts, rstr,qso_date,time_on); return -1; } } b=NULL; band_str=ADIF_ITEM("BAND"); if (band_str){ for (i=0;ibands->len;i++){ struct config_band *cb=(struct config_band *)g_ptr_array_index(cfg->bands, i); if (!cb->adifband) continue; if (strcasecmp(cb->adifband, band_str)) continue; b=find_band_by_bandchar(cb->bandchar); } } qrg=1000*atoi(SAFE_ADIF_ITEM("FREQ")); if (!b && qrg>0){ for (i=0;ibands->len;i++){ struct config_band *cb=(struct config_band *)g_ptr_array_index(cfg->bands, i); if (cb->qrg_min<=0) continue; if (cb->qrg_max<=0) continue; if (qrgqrg_min || qrg>cb->qrg_max) continue; b=find_band_by_bandchar(cb->bandchar); } } if (!b) b=band; /* default is active band */ q=g_new0(struct qso, 1); q->date_str=g_strdup(SAFE_ADIF_ITEM("QSO_DATE")); q->time_str=g_strdup(SAFE_ADIF_ITEM("TIME_ON")); if (strlen(q->time_str)>4) q->time_str[4]='\0'; if (strcasecmp(call,"ERROR")==0) { q->error=1; q->callsign=g_strdup(""); }else{ q->callsign=z_str_uc(g_strdup(call)); } mode=SAFE_ADIF_ITEM("MODE"); if (!strcasecmp(mode, "SSB")) q->mode=1; else if (!strcasecmp(mode, "CW")) q->mode=2; else if (!strcasecmp(mode, "RTTY")) q->mode=7; else if (!strcasecmp(mode, "AM")) q->mode=5; else if (!strcasecmp(mode, "FM")) q->mode=6; else if (!strcasecmp(mode, "SSTV")) q->mode=8; else if (!strcasecmp(mode, "ATV")) q->mode=9; q->rsts=g_strdup(SAFE_ADIF_ITEM("RST_SENT")); if (ADIF_ITEM("STX")){ q->qsonrs=g_strdup_printf("%03d", atoi(SAFE_ADIF_ITEM("STX"))); }else{ q->qsonrs=g_strdup_printf("%03d", atoi(SAFE_ADIF_ITEM("NO_SENT"))); } q->rstr=g_strdup(SAFE_ADIF_ITEM("RST_RCVD")); if (ADIF_ITEM("SRX")){ q->qsonrr=g_strdup_printf("%03d", atoi(SAFE_ADIF_ITEM("SRX"))); }else{ q->qsonrr=g_strdup_printf("%03d", atoi(SAFE_ADIF_ITEM("NO_RCVD"))); } q->exc=g_strdup(""); q->locator=g_strdup(SAFE_ADIF_ITEM("GRIDSQUARE")); q->source=g_strdup(gnet->myid); q->operator_=fixsemi(g_strdup(SAFE_ADIF_ITEM("OPERATOR"))); q->qrg = 0; q->stamp=time(NULL); q->remark=fixsemi(g_strdup(SAFE_ADIF_ITEM("COMMENT"))); q->phase = 1; q->ser_id=-1; /* computed by add_qso_to_index */ compute_qrbqtf(q); add_qso(b, q); /* update_stats(band->stats, band, q);*/ return 0; } void import_adif(void *xxx, char *filename){ FILE *f; int cc, taglen = 0; GString *gs, *gs2; GHashTable *hash; int gs2size; int i; f = fopen(filename, "r"); if (!f) return; cc = fgetc(f); if (cc==EOF) { fclose(f); return;} if (cc!='<') adif_ignore(f); gs = g_string_sized_new(20); gs2 = g_string_sized_new(gs2size=20); hash = g_hash_table_new(g_str_hash, g_str_equal); while (adif_read_tag(f, gs, &taglen)!=EOF){ if (taglen+1>gs2size){ g_string_free(gs2,1); gs2=g_string_sized_new(gs2size=taglen+1); } /* g_string_set_size(gs2, taglen+1); not present in glib1*/ memset(gs2->str, 0, taglen+1); if (taglen) if (!fread(gs2->str,taglen,1, f)) break; /* dbg(" tag='%s' \tvalue: '%s'\n", gs->str, gs2->str);*/ if (strcasecmp(gs->str, "EOR")==0){ /* dbg("-------------------------\n"); dbg_str_hash(hash);*/ adif_add_qso(aband, hash); g_hash_table_foreach_remove(hash, zg_hash_free_item, NULL); }else{ zg_hash_safe_insert(hash, g_strdup(gs->str), g_strdup(gs2->str)); } adif_ignore(f); } g_string_free(gs, TRUE); g_string_free(gs2, TRUE); g_hash_table_foreach_remove(hash, zg_hash_free_item, NULL); g_hash_table_foreach(ctest->bystamp, foreach_source_qsort_by_stamp, NULL); z_ptr_array_qsort(ctest->allqsos, compare_date_time_qsonrs); /* don't needed DIRTY_BAND(); */ for (i=0;ibands->len;i++){ struct band *b=(struct band *)g_ptr_array_index(ctest->bands,i); recalc_stats(b); clear_tmpqsos(b, 1); if (ctest->qsoused && b->qsos->len+1 != atoi(b->tmpqsos[0].qsonrs)){ g_free(b->tmpqsos[0].qsonrs); b->tmpqsos[0].qsonrs = g_strdup_printf("%03d", b->qsos->len+1); } } return; } tucnak-4.32/src/language2.h0000644000175000017500000000132312307152506012455 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __LANGUAGE2_H #define __LANGUAGE2_H extern char dummyarray[]; extern int current_language; void init_trans(void); void shutdown_trans(void); char *get_text_translation(char *); char *get_english_translation(char *); void set_language(int); int n_languages(void); char *language_name(int); #define _(_x_) get_text_translation(_x_) #define CTEXT(x) (dummyarray + x) #define VTEXT(_x_) get_text_translation(CTEXT(_x_)) #endif tucnak-4.32/src/state.h0000644000175000017500000000164212230170432011725 00000000000000/* Tucnak - VHF contest log Copyright (C) 2013 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __STATE_H #define __STATE_H #include "header.h" #ifdef Z_ANDROID #include #endif struct state{ GHashTable *hash; #ifdef Z_ANDROID JNIEnv *env; #endif }; struct state *init_state(void); void free_state(struct state *); void state_test(struct state *state); void state_save(struct state *state); void state_restore(struct state *state); void state_putstr(struct state *state, char *key, char *val); void state_dupstr(struct state *state, const char *key, const char *val); const char *state_getstr(struct state *state, const char *key); void state_foreach(struct state *state, GHFunc func, gpointer user_data); #endif tucnak-4.32/src/titlpage.c0000644000175000017500000001502712460207027012421 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "html.h" #include "qsodb.h" #include "rc.h" #include "stats.h" #include "tsdl.h" #define RESP cfg int export_all_bands_titlpage(){ struct band *band; int i,ptr, idlen, filetemplate; gchar *filename; FILE *f; char callbuf[20]; int ignoreerror=0; gchar *template_; gchar s[4100]; char *c; GString *gs; if (!ctest) return -1; dbg("export_all_bands_titlpage()\n"); filetemplate=0; #if 0 f=fopen(SHAREDIR"/titlpage.html", "rt"); if (!f){ /* log_addf(VTEXT(T_CANT_OPEN_S), SHAREDIR"/titlpage.html");*/ goto mem; } if (fstat(fileno(f), &st)){ fclose(f); /* log_addf(VTEXT(T_CANT_READ_S), SHAREDIR"/titlpage.html"); */ goto mem; } template_=g_new0(gchar, st.st_size+1); if (fread(template_, st.st_size, 1, f)!=1){ fclose(f); /* log_addf(VTEXT(T_CANT_READ_S), SHAREDIR"/titlpage.html");*/ goto mem; } fclose(f); filetemplate=1; mem:; #endif if (!filetemplate) template_=g_strdup(txt_titlpage); gs=g_string_new(""); for (i=0; ibands->len; i++){ band = (struct band*)g_ptr_array_index(ctest->bands, i); stats_thread_join(band); if (band->stats->nqsos <=0) continue; progress(VTEXT(T_EXPORTING_S), band->bandname); filename = g_strdup_printf("%s/%s_%s_%c_titlepage.html", ctest->directory, ctest->cdate, z_get_raw_call(callbuf,ctest->pcall), z_char_lc(band->bandchar)); z_wokna(filename); f=fopen(filename,"wt"); if (!f) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), errno); ignoreerror=1;} g_free(filename); progress(NULL); return -1; } ptr=0; while((c=strchr(template_+ptr, '$'))!=NULL){ fwrite(template_+ptr, c-template_-ptr, 1, f); idlen=strspn(c+1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"); safe_strncpy0(s, c+1, idlen+1); log_addf("id=%s idlen=%d\n", s, idlen); ptr=c-template_+1+idlen; if (strcasecmp(s, "PCall")==0){ fprintf(f, "%s", qh(gs, ctest->pcall)); }else if(strcasecmp(s, "CAvg")==0){ fprintf(f, "%d", band->stats->nqsos?band->stats->nqsop/band->stats->nqsos:0); }else if(strcasecmp(s, "CDXCCS")==0){ fprintf(f, "%d", g_hash_table_size(band->stats->dxcs)); }else if(strcasecmp(s, "CODXCall")==0){ fprintf(f, "%s", qh(gs, band->stats->odxcall)); }else if(strcasecmp(s, "CODXloc")==0){ fprintf(f, "%s", qh(gs, band->stats->odxwwl)); }else if(strcasecmp(s, "CODXQRB")==0){ fprintf(f, "%d", band->stats->odxqrb_int); }else if(strcasecmp(s, "CQSOs")==0){ fprintf(f, "%d", band->stats->nqsos); }else if(strcasecmp(s, "CToSc")==0){ fprintf(f, "%d", band->stats->ntotal); }else if(strcasecmp(s, "Mope1")==0){ fprintf(f, "%s", qh(gs, band->mope1)); }else if(strcasecmp(s, "Mope2")==0){ fprintf(f, "%s", qh(gs, band->mope2)); }else if(strcasecmp(s, "NoOfPages")==0){ fprintf(f, "%d", (band->qsos->len+79)/40); }else if(strcasecmp(s, "PAddr1")==0){ fprintf(f, "%s", qh(gs, ctest->padr1)); }else if(strcasecmp(s, "PAddr2")==0){ fprintf(f, "%s", qh(gs, ctest->padr2)); }else if(strcasecmp(s, "PBand")==0){ fprintf(f, "%s", qh(gs, band->pband)); }else if(strcasecmp(s, "PSect")==0){ fprintf(f, "%d", band->psect); }else if(strcasecmp(s, "PSectName")==0){ fprintf(f, "%s", qh(gs, band->psect?"Single":"Multi")); }else if(strcasecmp(s, "PWWLo")==0){ fprintf(f, "%s", qh(gs, ctest->pwwlo)); }else if(strcasecmp(s, "RAddr1")==0){ fprintf(f, "%s", qh(gs, RESP->radr1)); }else if(strcasecmp(s, "RAddr2")==0){ fprintf(f, "%s", qh(gs, RESP->radr2)); }else if(strcasecmp(s, "RAnte")==0){ fprintf(f, "%s", qh(gs, band->sante)); /* anteny jsou stejny */ }else if(strcasecmp(s, "RCall")==0){ fprintf(f, "%s", qh(gs, RESP->rcall)); }else if(strcasecmp(s, "RCity")==0){ fprintf(f, "%s", qh(gs, RESP->rcity)); }else if(strcasecmp(s, "RName")==0){ fprintf(f, "%s", qh(gs, RESP->rname)); }else if(strcasecmp(s, "RPoCo")==0){ fprintf(f, "%s", qh(gs, RESP->rpoco)); }else if(strcasecmp(s, "RXEq")==0){ fprintf(f, "%s", qh(gs, band->srxeq)); }else if(strcasecmp(s, "SAnth")==0){ fprintf(f, "%s", qh(gs, band->santh)); }else if(strcasecmp(s, "SASL")==0){ /*fprintf(f, "%s", qh(gs, band->sasl));*/ }else if(strcasecmp(s, "SPowe")==0){ fprintf(f, "%s", qh(gs, band->spowe)); }else if(strcasecmp(s, "SPreamp")==0){ /* fprintf(f, "%s", qh(gs, "));*/ }else if(strcasecmp(s, "TDate")==0){ char t[100]; qh(gs, ctest->cdate); safe_strncpy0(t, gs->str, 98); fprintf(f, "%c%c.%c%c.%c%c%c%c",t[6],t[7], t[4],t[5], t[0],t[1],t[2],t[3]); }else if(strcasecmp(s, "TName")==0){ fprintf(f, "%s", qh(gs, ctest->tname)); }else if(strcasecmp(s, "TXEq")==0){ fprintf(f, "%s", qh(gs, band->stxeq)); }else{ fprintf(f, "XXXXXXXXXXX"); } } fprintf(f, "%s", template_+ptr); fclose(f); log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); } g_string_free(gs, TRUE); /* if (err) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), 0); ignoreerror=1; } g_free(filename); return -1; } */ progress(NULL); return 0; } tucnak-4.32/src/bfu.h0000644000175000017500000001736112477604277011414 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __BFU_H #define __BFU_H #include #include "header.h" #include "language2.h" // here is no needed but for other modules #define AL_LEFT 0 #define AL_CENTER 1 #define AL_MASK 0x7f #define AL_EXTD_TEXT 0x80 #define AL_BUTTONS 0x100 struct memory_list { int n; void *p[1]; }; struct memory_list *getml(void *, ...); void add_to_ml(struct memory_list **, ...); void freeml(struct memory_list *); #define MENU_FUNC (void (*)(void *, void *)) #define CALLBACK_FUNC (void (*)(void *)) extern char m_bar; #define M_BAR (&m_bar) struct menu; struct menu_item { char *text; char *rtext; char *hotkey; void (*func)(void *, void *); void *data; int in_m; /* 0 menu zmizi po vyberu */ int free_i; int checkbox; int checked; void (*funcall)(struct menu *menu); }; struct menu { int selected; int view; int xp, yp; int x, y, xw, yw; int ni; void *data; struct window *win; struct menu_item *items; char *title; }; struct mainmenu { int selected; int sp; int ni; void *data; struct window *win; struct menu_item *items; }; struct history_item { struct history_item *next; struct history_item *prev; char d[1]; }; struct history { int n; struct list_head items; }; #define D_END 0 #define D_CHECKBOX 1 #define D_FIELD 2 #define D_FIELD_PASS 3 #define D_BUTTON 4 #define D_BOX 5 #define D_CHECKBOX3 6 #define D_TEXT 7 #define B_ENTER 1 #define B_ESC 2 struct dialog_item_data; struct dialog_data; struct dialog_item { int type; int gid, gnum; /* for buttons: gid - flags B_XXX */ /* for fields: min/max */ /* for box: gid is box height */ int (*fn)(struct dialog_data *, struct dialog_item_data *); struct history *history; int dlen; /* data length */ int maxl; char *data; void *udata; /* for box: holds list */ char *text; char *msg; int wrap; int align; int tabcompl, tabi; }; struct dialog_item_data { int x, y, l; int vpos, cpos; int checked; struct dialog_item *item; struct list_head history; struct history_item *cur_hist; char *cdata; }; #define EVENT_PROCESSED 0 struct dialog_data; struct event; struct dialog { char *title; void (*fn)(struct dialog_data *); void (*fn2)(struct dialog_data *); void (*position_fn)(struct dialog_data *); int (*handle_event)(struct dialog_data *, struct event *); void (*abort)(struct dialog_data *); void *udata; void *udata2; int align; void (*refresh)(void *); void *refresh_data; int y0; struct dialog_item items[1]; }; struct dialog_data { struct window *win; struct dialog *dlg; int x, y, xw, yw; int n; int selected; struct memory_list *ml; int min, max, yy, w, rw, ofs; struct dialog_item_data items[1]; }; /* Which fields to free when zapping a box_item. Bitwise or these. */ enum box_item_free {NOTHING = 0, TEXT = 1 , DATA = 2}; /* An item in a box */ struct box_item { struct box_item *next; struct box_item *prev; char *text; /* Text to display */ void *data; /* data */ enum box_item_free free_i; }; /* Stores display information about a box. Kept in cdata. */ struct dlg_data_item_data_box { int sel; /* Item currently selected */ int box_top; /* Index into items of the item that is on the top line of the box */ /*struct list_head items;*/ struct box_item items; /* The list being displayed */ int list_len; /* Number of items in the list */ }; void menu_func(struct window *, struct event *, int); void mainmenu_func(struct window *, struct event *, int); void dialog_func(struct window *, struct event *, int); struct menu_item *new_menu(int); struct menu_item *add_to_menu(struct menu_item **mi, char *text, char *rtext, char *hotkey, void (*func)(void *, void *), void *data, int in_m); void do_menu(struct menu_item *items, void *data); /* todo data=ses */ void do_menu_selected(struct menu_item *, void *data, int); void do_mainmenu(struct menu_item *, void *, int); void do_dialog(struct dialog *, struct memory_list *); int check_number(struct dialog_data *, struct dialog_item_data *); int check_hex(struct dialog_data *, struct dialog_item_data *); int check_double(struct dialog_data *, struct dialog_item_data *); int check_qrg(struct dialog_data *, struct dialog_item_data *); int check_nonempty(struct dialog_data *, struct dialog_item_data *); void max_text_width(struct terminal *, char *, int *); void min_text_width(struct terminal *, char *, int *); void dlg_format_text(struct terminal *, struct terminal *, char *, int, int *, int, int *, int, int); void max_buttons_width(struct terminal *, struct dialog_item_data *, int, int *); void min_buttons_width(struct terminal *, struct dialog_item_data *, int, int *); void dlg_format_buttons(struct terminal *, struct terminal *, struct dialog_item_data *, int, int, int *, int, int *, int); void dlg_format_buttons1(struct terminal *, struct terminal *, struct dialog_item_data *, int, int, int *, int, int *, int); void checkboxes_width(struct terminal *, char **, int *, void (*)(struct terminal *, char *, int *)); void dlg_format_checkbox(struct terminal *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, char *); void dlg_format_checkboxes(struct terminal *, struct terminal *, struct dialog_item_data *, int, int, int *, int, int *, char **); void dlg_format_field(struct terminal *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, int); void max_group_width(struct terminal *, char **, struct dialog_item_data *, int, int *); void min_group_width(struct terminal *, char **, struct dialog_item_data *, int, int *); void dlg_format_group(struct terminal *, struct terminal *, char **, struct dialog_item_data *, int, int, int *, int, int *); void dlg_format_group1(struct terminal *, struct terminal *, char **, struct dialog_item_data *, int, int, int *, int, int *); void dlg_format_box(struct terminal *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, int); void checkbox_list_fn(struct dialog_data *); void group_fn(struct dialog_data *); void center_dlg(struct dialog_data *); void draw_dlg(struct dialog_data *); void display_dlg_item(struct dialog_data *, struct dialog_item_data *, int); int ok_dialog(struct dialog_data *, struct dialog_item_data *); int cancel_dialog(struct dialog_data *, struct dialog_item_data *); void msg_box(struct memory_list *, char *, int, ...); void input_field_fn_i(struct dialog_data *, int i); void input_field_fn(struct dialog_data *); void input_field(struct memory_list *, char *, char *, char *, char *, void *,struct history *, int, char *, int, int, int (*)(struct dialog_data *, struct dialog_item_data *), void (*)(void *, char *), void (*)(void *), int tabcompl); void add_to_history(struct history *, char *); void box_sel_move(struct dialog_item_data *, int ); void show_dlg_item_box(struct dialog_data *, struct dialog_item_data *); void box_sel_set_visible(struct dialog_item_data *, int ); void errbox(char *text, int errcode, ...); void menu_save_rc(void *arg); void dlg_pf_init(int phase, struct dialog_data *dlgd); void dlg_pf_group(int phase, struct dialog_data *dlgd, int cnt); void dlg_pf_buttons(int phase, struct dialog_data *dlgd, int cnt); void dlg_pf_fn(struct dialog_data *dlgd); int do_tab_compl(struct dialog_item_data *di, int tabi); void show_dlg_item_box(struct dialog_data *, struct dialog_item_data *); #endif tucnak-4.32/src/qsodb.c0000644000175000017500000014125414114415527011726 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "ac.h" #include "bfu.h" #include "chart.h" #include "control.h" #include "cwdaemon.h" #include "cwdb.h" #include "edi.h" #include "fifo.h" #include "hf.h" #include "inputln.h" #include "main.h" #include "map.h" #include "menu.h" #include "net.h" #include "qrvdb.h" #include "qsodb.h" #include "rain.h" #include "rc.h" #include "session.h" #include "sked.h" #include "ssbd.h" #include "stats.h" #include "subwin.h" #include "trig.h" #include "wizz.h" #include "zstring.h" struct contest *ctest; struct band *aband; char *mode_msg[]={ CTEXT(T_UNSPECIFIED), CTEXT(T_SSB), CTEXT(T_CW), CTEXT(T_SSBS_CWR), CTEXT(T_CWS_SSBR), CTEXT(T_AM), CTEXT(T_FM), CTEXT(T_RTTY), CTEXT(T_SSTV), CTEXT(T_ATV) /* 9 */ }; int init_ctest(){ /*dbg("init_ctest\n");*/ if (ctest) return 0; ctest = g_new0(struct contest, 1); ctest->bands = g_ptr_array_new(); ctest->bystamp = g_hash_table_new(g_str_hash, g_str_equal); ctest->allqsos = z_ptr_array_new(); ctest->spypeers = g_ptr_array_new(); ctest->allb_prefs = g_hash_table_new(g_str_hash, g_str_equal); ctest->exclen = 0; ctest->phase = 1; /* ctest->serial = 1;*/ ctest->minute_timer_id=zselect_timer_new(zsel, 100, timer_minute_stats_all, NULL); return 0; } int new_ctest(char *tdate){ struct stat st; int counter; time_t now; struct tm tm; gchar *c; static char s[1024]; /* for msg_box */ int nowdate_int, ctestdate_int; FILE *f; now = time(NULL); gmtime_r(&now, &tm); if (tdate){ ctest->cdate = g_strdup(tdate); nowdate_int = (tm.tm_year+1900)*10000 + (tm.tm_mon+1)*100 + tm.tm_mday; ctestdate_int = atoi(ctest->cdate); if (/*nowdate_int >= ctestdate_int && */nowdate_int <= ctestdate_int + 2) ctest->oldcontest = 0; else ctest->oldcontest = 1; }else{ ctest->cdate = g_strdup_printf("%4d%02d%02d", tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday ); ctest->oldcontest = 0; } ctest->directory = g_strdup_printf("%s/%s", logs_dir, ctest->cdate); counter=0; while (stat(ctest->directory,&st)==0){ counter++; g_free(ctest->directory); ctest->directory = g_strdup_printf("%s/%s.%d", logs_dir, ctest->cdate, counter); } if (z_mkdir_p(ctest->directory, 0777)){ g_snprintf(s,1000, VTEXT(T_CANT_CREATE_HOME_S),ctest->directory); errbox(s,errno); free_ctest(); return -1; } c = g_strdup_printf("%s/desc.lock",ctest->directory); z_wokna(c); ctest->lockfile = fopen(c, "wt"); if (!ctest->lockfile){ g_snprintf(s,1000, "%s %s", VTEXT(T_CANT_WRITE),c); errbox(s,errno); g_free(c); free_ctest(); return -1; } g_free(c); if (z_lockf(fileno(ctest->lockfile), F_TLOCK, 0, 1)){ g_snprintf(s,1000, "%s %s", VTEXT(T_CANT_LOCK),c); errbox(s,errno); free_ctest(); return -1; } c = g_strdup_printf("%s/desc",ctest->directory); z_wokna(c); f = fopen(c, "wt"); if (!f){ g_snprintf(s,1000, "%s %s", VTEXT(T_CANT_WRITE),c); errbox(s,errno); g_free(c); free_ctest(); return -1; } g_free(c); ctest->exclen = strlen(ctest->pexch); fprintf(f,"%s %s %s\n", ctest->cdate, z_str_uc(ctest->pcall), ctest->tname); fclose(f); if (ctest->logfile) { fclose(ctest->logfile); ctest->logfile=NULL; } c=g_strdup_printf("%s/log", ctest->directory); ctest->logfile = fopen(c, "at"); if (!ctest->logfile){ g_snprintf(s,1000, VTEXT(T_CANT_OPEN_S),c); g_free(c); msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, s, NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); g_free(c); free_ctest(); return -1; } g_free(c); setvbuf(ctest->logfile, NULL, _IONBF, 0); set_ctest_title(); update_hw(); #ifdef Z_HAVE_SDL maps_reload(); maps_update_showwwls(); rain_reload(); #endif return 0; } int load_ctest_from_mem(struct contest *ctest, gchar *datedir, GHashTable *hash){ gchar *c; ctest->directory = g_strdup(datedir); /* if (ctest->tname) g_free((gpointer)ctest->tname); ctest->tname= g_strdup((gchar *)g_hash_table_lookup(hash, "tname")); */ STORE_HASH_STR(ctest, tname); STORE_HASH_STR(ctest, tdate); STORE_HASH_STR(ctest, pcall); STORE_HASH_STR(ctest, pwwlo); STORE_HASH_STR(ctest, pexch); STORE_HASH_STR(ctest, padr1); STORE_HASH_STR(ctest, padr2); STORE_HASH_STR(ctest, pclub); STORE_HASH_STR(ctest, rname); STORE_HASH_STR(ctest, rcall); STORE_HASH_STR(ctest, radr1); STORE_HASH_STR(ctest, radr2); STORE_HASH_STR(ctest, rpoco); STORE_HASH_STR(ctest, rcity); STORE_HASH_STR(ctest, rcoun); STORE_HASH_STR(ctest, rphon); STORE_HASH_STR(ctest, rhbbs); c = (gchar *)g_hash_table_lookup(hash, "qsoused"); if (c) ctest->qsoused= atoi(c); else ctest->qsoused = 0; STORE_HASH_STR(ctest, default_rs); STORE_HASH_STR(ctest, default_rst); STORE_HASH_INT(ctest, qsoused); STORE_HASH_INT(ctest, qsomult); STORE_HASH_INT(ctest, qsoglob); STORE_HASH_INT(ctest, prefmult); STORE_HASH_INT(ctest, prefglob); STORE_HASH_INT(ctest, dxcbonu); STORE_HASH_INT(ctest, dxcmult); STORE_HASH_INT(ctest, excused); STORE_HASH_ENUM(ctest, exctype, enum exctype); STORE_HASH_STR(ctest, excname); STORE_HASH_INT(ctest, excbonu); STORE_HASH_INT(ctest, excmult); STORE_HASH_INT_DEF(ctest, exccfm, 1); STORE_HASH_INT(ctest, qsop_method); STORE_HASH_INT(ctest, rstused); STORE_HASH_INT(ctest, defrstr); STORE_HASH_INT(ctest, total_method); STORE_HASH_INT(ctest, wwltype); STORE_HASH_INT(ctest, wwlused); STORE_HASH_INT(ctest, wwlbonu); STORE_HASH_INT(ctest, wwlmult); STORE_HASH_INT_DEF(ctest, wwlcfm, 1); STORE_HASH_ENUM_DEF(ctest, tttype, enum tttype, TT_RSTS); STORE_HASH_INT(ctest, expmode); STORE_HASH_INT_DEF(ctest, phase, 1); set_ctest_title(); return 0; } struct band *init_band(struct config_band *confb, GHashTable *opt_band, struct zstring *zs, struct wizz_qsomult_item *wqi){ struct band *b; gchar *c; static char s[1024]; /* for msg_box */ if (init_ctest()) return NULL; if (confb){ b=find_band_by_pband(confb->pband); if (b) return b; } b = g_new0(struct band, 1); b->qsomultb = 1; if (wqi) b->qsomultb = wqi->qsomult; b->qsos = g_ptr_array_new(); b->rawqsoshash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); // b->mode = MOD_SSB_SSB; // b->bandmulti = 1; /* b->spymode = SM_INPUTLINE;*/ if (confb){ /* usally new contest */ b->bandchar = confb->bandchar; b->pband = g_strdup(confb->pband); if (confb->qrg_min>30000) b->bandname = g_strdup(b->pband); else b->bandname = g_strdup(confb->adifband); b->qrg_min = confb->qrg_min; b->qrg_max = confb->qrg_max; b->readonly = confb->readonly; b->psect = confb->psect; /* gint */ b->opsect = g_strdup(confb->opsect); if (cfg->operator_ && *cfg->operator_){ b->operator_ = fixsemi(g_strdup(cfg->operator_)); }else{ b->operator_ = fixsemi(g_strdup(z_get_raw_call(s,ctest->pcall))); } b->stxeq = g_strdup(confb->stxeq); b->spowe = g_strdup(confb->spowe); b->srxeq = g_strdup(confb->srxeq); b->sante = g_strdup(confb->sante); b->santh = g_strdup(confb->santh); b->mope1 = g_strdup(confb->mope1); b->mope2 = g_strdup(confb->mope2); b->remarks = g_strdup(confb->remarks); b->skedqrg = g_strdup(confb->skedqrg); b->band_sw = confb->band_sw; b->wwlradius = confb->wwlradius; /* struct zstring *zs = config_band_format(confb); dbg("zs='%s'\n", zs->str); struct config_band *cb2 = config_band_parse(zs); printf("%p\n", cb2); */ } if (opt_band){ /* usually loading contest */ GHashTable *hash = opt_band; gchar *ccc; struct config_band *tmpconfb; STORE_HASH_STR(b, pband); STORE_HASH_CHR(b, bandchar); tmpconfb=get_config_band_by_pband(b->pband); if (tmpconfb){ if (!b->bandchar) b->bandchar=tmpconfb->bandchar; if (tmpconfb->qrg_min>30000) b->bandname = g_strdup(b->pband); else b->bandname = g_strdup(tmpconfb->adifband); b->qrg_min = tmpconfb->qrg_min; b->qrg_max = tmpconfb->qrg_max; b->band_sw = tmpconfb->band_sw; b->wwlradius = tmpconfb->wwlradius; }else{ // contest created under other band configuration b->bandname = g_strdup(b->pband); } // STORE_HASH_INT(b, mode); STORE_HASH_ENUM(gses, mode, enum modes); //STORE_HASH_STR(b, operator_); g_free(b->operator_); b->operator_ = g_strdup((char *)g_hash_table_lookup(hash, "operator")); if (!b->operator_){ b->operator_ = fixsemi(g_strdup(z_get_raw_call(s,ctest->pcall))); } ccc = (gchar *)g_hash_table_lookup(hash, "psect"); /*dbg("c=%s\n",ccc);*/ if (isdigit(ccc[0])) b->psect=atoi(ccc); else b->psect=get_psect_int(ccc); STORE_HASH_STR(b, opsect); STORE_HASH_INT(b, readonly); STORE_HASH_INT(b, saveid); b->saveid++; STORE_HASH_STR(b, stxeq); STORE_HASH_STR(b, spowe); STORE_HASH_STR(b, srxeq); STORE_HASH_STR(b, sante); STORE_HASH_STR(b, santh); /* STORE_HASH_INT(b, mode);*/ STORE_HASH_STR(b, mope1); STORE_HASH_STR(b, mope2); /* STORE_HASH_STR(b, remarks); NO */ STORE_HASH_STR(b, skedqrg); if (!b->skedqrg) b->skedqrg=g_strdup(""); STORE_HASH_INT_DEF(b, qsomultb, 1); if (b->qsomultb == 0) b->qsomultb = 1; // 3.12-3.13 set to 0 -> 0 points for QSO } b->bi = toupper(b->bandchar) - 'A'; //dbg("%s bandname=%s\n",__FUNCTION__, b->bandname); if (zs){ struct config_band *tmpconfb; band_parse(zs, b); if (cfg->operator_ && *cfg->operator_){ b->operator_ = fixsemi(g_strdup(cfg->operator_)); }else{ b->operator_ = fixsemi(g_strdup(z_get_raw_call(s,ctest->pcall))); } tmpconfb=get_config_band_by_pband(b->pband); if (tmpconfb) b->readonly = tmpconfb->readonly; } b->il = g_new0(struct inputln,1); b->il->term = term; b->il->enter = process_input; b->il->enterdata = (void *)b; b->il->upconvert = 1; b->il->valid_chars = VALID_CHARS; b->il->readonly = b->readonly; b->il->band = b; { struct event ev = {EV_INIT, 0,0,0}; inputln_func(b->il,&ev); } b->stats = init_stats(b->bandchar); b->tmpstats = init_stats(b->bandchar); MUTEX_INIT(b->stats); c = g_strdup_printf("%s/%c.swp",ctest->directory, z_char_lc(b->bandchar)); clear_tmpqsos(b, 1); if (!aband){ aband=b; il_set_focus(aband->il); } // dbg("swap=%s\n", c); b->swap = fopen(c,"at"); if (!b->swap){ log_addf(VTEXT(T_CANT_APPEND_S),c); g_free(c); free_band(b); return NULL; } g_free(c); fprintf(b->swap, "ST %d\n", b->saveid-1); b->swapfifo = init_fifo(500); b->qs = g_ptr_array_new(); b->oqs = g_ptr_array_new(); b->unfi = init_fifo(100); b->skeds = g_ptr_array_new(); b->statsfifo1 = init_fifo(1000); g_ptr_array_add(ctest->bands, b); ctest->qrv |= 1 << b->bi; aband->tmplocqso.band=aband; /* init_spypeer(b->spypeers, "127.0.0.1:55555"); init_spypeer(b->spypeers, "127.0.0.1:55556");*/ //dbg("bandname='%s'\n", b->bandname); return b; } struct band *find_band_by_pband(char *pband){ int i; struct band *b; if (!ctest) return NULL; for (i=0;ibands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands,i); if (!pband) continue; if (strcasecmp(pband, b->pband)==0){ return b; } } return NULL; } struct band *find_band_by_bandchar(char bandchar){ int i; struct band *b; if (!ctest) return NULL; bandchar = z_char_uc(bandchar); for (i=0;ibands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands,i); if (bandchar == z_char_uc(b->bandchar)){ return b; } } return NULL; } struct band *find_band_by_qrg(double freq){ struct band *b; int i; if (!ctest) return NULL; for (i=0;ibands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands,i); if (freq < b->qrg_min * 1000.0) continue; if (freq > b->qrg_max * 1000.0) continue; return b; } return NULL; } struct band *init_qrv_bands(struct wizz_item *wi){ int i; struct config_band *confb; /*dbg("init_qrv_bands(%p)\n", wi);*/ for (i=0;ibands->len; i++){ confb = (struct config_band *)g_ptr_array_index(cfg->bands,i); if (!confb) continue; if (confb->qrvnow){ struct wizz_qsomult_item *wqi = NULL; // search for wizz qsomult item if (wi){ for (wqi = wi->qsomults; wqi != NULL; wqi = wqi->next){ if (wqi->bandchar == z_char_uc(confb->bandchar)) break; } } init_band(confb, NULL, NULL, wqi); } } return NULL; } void clear_tmpqsos(struct band *b, int set_defaults){ int i; char *c; if (!b) return; b->dupe_qso = NULL; b->last_item = LI_NONE; for(i=0;iunres); CONDGFREE(b->qrv_str); CONDGFREE(b->wkd_str); wkd_tmpqso(b, WT_CLEAR, ""); CONDGFREE(b->call_played); b->agcall = 0; //dbg("clear_tmpqso: call_played='%s' agcall=%d\n", b->call_played, b->agcall); if (set_defaults){ if (ctest->qsoused){ c=g_strdup_printf("%03d",b->qsos->len+1); ADD_TMPQSO_STRING(b,qsonrs,c,1,udummy); wkd_tmpqso(b, WT_QSONRS, c); g_free(c); } default_rst_to_tmpqsos(b); #ifdef HAVE_SNDFILE ssbd_callsign(gssbd, ""); gssbd->code = 0; #endif } ac_update_tmpctp(""); } void default_rst_to_tmpqsos(struct band *b){ gchar *c; int i; if (!ctest) return; for(i=0;iqsoused) return;*/ if (gses->mode == MOD_CW_CW) c=g_strdup(cfg->default_rst); else c=g_strdup(cfg->default_rs); ADD_TMPQSO_STRING(b,rsts,c,1,udummy); wkd_tmpqso(b, WT_RSTS, c); if (ctest->defrstr){ // for(i=0;iswap, "%s\n", gs->str);*/ fprintf(b->swap, "%s qrb=%4.1f\n", gs->str,q->qrb); fflush(b->swap); fifo_adds(b->swapfifo, gs->str); g_string_free(gs, TRUE); return 0; } /* after adding you must call z_ptr_array_qsort */ void add_qso(struct band *b, struct qso *q){ q->band = b; /* don't dealloc! */ /*q->serial = ctest->serial++;*/ stats_thread_kill(b); g_ptr_array_add(b->qsos,q); add_qso_to_index(q, 0); if (!q->dupe && !q->error){ char raw[30]; struct qso *qq; z_get_raw_call(raw, q->callsign); qq = (struct qso *)g_hash_table_lookup(b->rawqsoshash, raw); if (!qq) g_hash_table_insert(b->rawqsoshash, g_strdup(raw), q); // }else{ // log_addf("Warning: QSO %c %s has dupe=%d error=%d", q->band->bandchar, q->callsign, q->dupe, q->error); } dirty_band(b); } struct qso *get_qso(struct band *b, gint i){ if (i<0 || i >=b->qsos->len) return NULL; return (struct qso *)g_ptr_array_index(b->qsos, i); } struct qso *get_gqso(struct band *b, struct subwin *sw, gint i){ if (sw->allqsos){ if (i<0 || i >=ctest->allqsos->len) return NULL; return (struct qso *)g_ptr_array_index(ctest->allqsos, i); }else{ if (i<0 || i >=b->qsos->len) return NULL; return (struct qso *)g_ptr_array_index(b->qsos, i); } } // returns if callsign is worked. Callsign can be worked more times, it returns only one. struct qso *get_qso_by_callsign(struct band *b, gchar *callsign){ char raw[25]; struct qso *q; z_get_raw_call(raw, callsign); q = (struct qso *)g_hash_table_lookup(b->rawqsoshash, raw); return q; /* struct qso *qso; int i; char raw[25], qraw[25]; z_get_raw_call(raw, callsign); for(i=0;iqsos->len; i++){ qso = g_ptr_array_index(b->qsos, i); if (qso->error) continue; z_get_raw_call(qraw, qso->callsign); if (strcasecmp(raw, qraw)==0) return qso; } return NULL;*/ } /*int get_qso_index_by_callsign(struct band *b, gchar *callsign){ struct qso *qso; int i; char raw[25], qraw[25]; z_get_raw_call(raw, callsign); // TODO callsigns in hash for(i=0;iqsos->len; i++){ qso = (struct qso *)g_ptr_array_index(b->qsos, i); if (qso->error) continue; z_get_raw_call(qraw, qso->callsign); if (strcasecmp(raw, qraw)==0) return i; } return -1; } */ struct qso *get_qso_by_id(struct band *b, gchar *source, gint ser_id){ struct qso *qso; int i; /* TODO id's in hash */ /*dbg("get_qso_by_id(src=%s, ser_id=%d) \n", source, ser_id);*/ for(i=0;iqsos->len; i++){ qso = (struct qso *)g_ptr_array_index(b->qsos, i); /*dbg(" %s %s %d ",qso->callsign, qso->source, qso->ser_id);*/ if (ser_id != qso->ser_id) continue; if (strcasecmp(source, qso->source)!=0) continue; /*dbg(" OK\n");*/ return qso; } /*dbg(" NULL\n");*/ return NULL; } struct qso *get_qso_by_qsonr(struct band *b, gint qsonrs){ struct qso *qso; int i; /* TODO id's in hash */ for(i=0;iqsos->len; i++){ qso = (struct qso *)g_ptr_array_index(b->qsos, i); if (qsonrs != atoi(qso->qsonrs)) continue; return qso; } return NULL; } void add_error(struct band *b, gchar *remark){ struct qso *eq; time_t now; struct tm utc; if (!ctest && !b) return; if (b->readonly) return; log_addf(VTEXT(T_ADDED_ERROR), b->bandchar, b->qsos->len+1); time(&now); gmtime_r(&now, &utc); eq = g_new0(struct qso, 1); eq->source = g_strdup(gnet->myid); eq->operator_ = g_strdup(b->operator_); if (b->tmpqsos[0].date_str){ eq->date_str = g_strdup(b->tmpqsos[0].date_str); eq->time_str = g_strdup(b->tmpqsos[0].time_str); }else{ eq->date_str = g_strdup_printf("%4d%02d%02d",1900+utc.tm_year, 1+utc.tm_mon, utc.tm_mday); eq->time_str = g_strdup_printf("%02d%02d",utc.tm_hour, utc.tm_min); } eq->callsign = g_strdup(b->tmpqsos[0].callsign&&b->tmpqsos[0].ucallsign?b->tmpqsos[0].callsign:"ERROR"); eq->rsts = g_strdup(b->tmpqsos[0].rsts?b->tmpqsos[0].rsts:""); eq->rstr = g_strdup(b->tmpqsos[0].rstr?b->tmpqsos[0].rstr:""); eq->qsonrs = g_strdup(b->tmpqsos[0].qsonrs?b->tmpqsos[0].qsonrs:""); eq->qsonrr = g_strdup(b->tmpqsos[0].qsonrr?b->tmpqsos[0].qsonrr:""); eq->exc = g_strdup(b->tmpqsos[0].exc?b->tmpqsos[0].exc:""); eq->locator = g_strdup(b->tmpqsos[0].locator&&b->tmpqsos[0].ulocator?b->tmpqsos[0].locator:""); eq->error = 1; eq->remark = g_strdup(remark?remark:""); eq->phase = ctest->phase; eq->qrg = 0.0; eq->ser_id = -1; /* computed by add_qso_to_index */ add_qso(b, eq); stats_thread_join(b); update_stats(b, b->stats, eq); recalc_allb_stats(); minute_stats(b); recalc_statsfifo(b); if (b->tmpqsos[0].qsonrs != NULL && b->qsos->len+1 != atoi(b->tmpqsos[0].qsonrs)){ g_free(b->tmpqsos[0].qsonrs); if (ctest->qsoused) b->tmpqsos[0].qsonrs = g_strdup_printf("%03d", b->qsos->len+1); else b->tmpqsos[0].qsonrs = g_strdup(""); } wkd_tmpqso(aband, WT_QSONRS, TMPQ.qsonrs); replicate_qso(NULL, eq); redraw_later(); check_autosave(); } /* use update_stats() after this */ void qso_mark_as_error(struct band *b, gint i){ struct qso *qso; qso = g_ptr_array_index(b->qsos, i); qso->error = 1; qso->qsop = 0; dirty_band(b); replicate_qso(NULL, qso); } int add_tmpxchg(struct band *band, gchar *xchg){ if (band->ignoreswap) return -1; fprintf(band->swap, "# %s\n", xchg); fflush(band->swap); fifo_adds(band->swapfifo, xchg ); return 0; } int add_swap(struct band *band, gchar *s){ if (band->ignoreswap) return -1; fprintf(band->swap, "%s\n", s); fflush(band->swap); fifo_adds(band->swapfifo, s); return 0; } //tern int *pnn; void activate_band(struct band *b){ int i; struct event ev={EV_RESIZE, 0, 0, 0}; struct subwin *sw; /*dbg("activate_band(ses=%p,b=%p) %c\n",ses,b);*/ /* dbg("aband=%p\n",aband);*/ if (!b) return; // dbg("pnn=%d\n", *pnn); il_unset_focus(aband->il); aband=b; //sw_all_func(&ev, 1); win_func(gses->win, &ev, 1 ); /* sw_default_func(gses->ontop, &ev, 1);*/ sw = gses->ontop; if (gses->ontop->type == SWT_QSOS && aband) gses->ontop->cur = QSOS_LEN; gses->ontop->check_bounds(gses->ontop); sw_unset_focus(); il_set_focus(aband->il); get_band_qs(aband, aband->il->cdata); get_oband_qs(aband, aband->il->cdata); get_cw_qs(aband->il->cdata); get_hf_dxc(aband->il->cdata); if (gses->ontop){ switch(gses->ontop->type){ case SWT_STAT: recalc_statsfifo(b); break; case SWT_QRV: case SWT_KST: sw_qrv_sort(qrv); break; default: break; } } cwdaemon_band(cwda, b->band_sw); default_rst_to_tmpqsos(aband); #ifdef HAVE_HAMLIB for (i = 0; i < gtrigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(gtrigs->trigs, i); if (trig->qrg_t2r){ if (aband->qrg != 0){ trig_set_qrg(trig, aband->qrg); } } trig_resend_freq(trig); } #endif redraw_later(); maps_reload(); chart_reload(); #ifdef Z_HAVE_SDL rain_reload(); #endif } struct config_band *get_config_band_by_bandchar(char bandchar){ struct config_band *confb; int i; bandchar = z_char_uc(bandchar); for (i=0;ibands->len;i++){ confb = (struct config_band *)g_ptr_array_index(cfg->bands, i); if (bandchar == z_char_uc(confb->bandchar)) return confb; } return NULL; } struct config_band *get_config_band_by_pband(char *pband){ struct config_band *confb; int i; for (i=0;ibands->len;i++){ confb = (struct config_band*)g_ptr_array_index(cfg->bands, i); if (strcasecmp(pband, confb->pband)==0) return confb; } return NULL; } struct config_band *get_config_band_by_qrg(int qrg){ /* kHz */ struct config_band *confb; int i; for (i=0;ibands->len;i++){ confb = (struct config_band *)g_ptr_array_index(cfg->bands, i); if (qrg>=confb->qrg_min && qrg<=confb->qrg_max) return confb; } return NULL; } void foreach_add_latests_str(gpointer key, gpointer value, gpointer data){ ZPtrArray *ia; GString *gs; struct qso *q; ia = (ZPtrArray *)value; gs = (GString *)data; if (ia->len<=0) return; if (strcmp((const char *)key,"neterr")==0) return; q = (struct qso *) z_ptr_array_index(ia, ia->len - 1); if (q){ g_string_append_printf(gs, "%s;%d;", (char *)key, (int)q->stamp); }else{ /* not reached, NULL can be only in the middle of iarray */ dbg("ERROR! q is NULL (foreach_add_latests_str)\n"); g_string_append_printf(gs, "%s;NULL;", (char *)key); } } gchar *get_latests_str(){ GString *gs; gchar *c; gs = g_string_new("LA "); g_hash_table_foreach(ctest->bystamp, foreach_add_latests_str, gs); /*dbg("get_latests_str='%s'\n", gs->str);*/ g_string_append(gs, "\n"); c = g_strdup(gs->str); g_string_free(gs, 1); return c; } int compare_stamp(const void *a, const void *b){ struct qso **qa, **qb; qa = (struct qso **)a; qb = (struct qso **)b; if (!*qa && !*qb) return 0; if (!*qa) return -1; if (!*qb) return +1; return (int)((*qa)->stamp - (*qb)->stamp); } /* only for backward compatibility with version without ser_id in edi file */ void foreach_source_recalc_ser_id(gpointer key, gpointer value, gpointer data){ int i; struct qso *q; ZPtrArray *ia; ia = (ZPtrArray *)value; for (i=0; ilen; i++){ q=(struct qso *)z_ptr_array_index(ia, i); q->ser_id=i; } } void foreach_source_qsort_by_stamp(gpointer key, gpointer value, gpointer data){ ZPtrArray *ia; ia = (ZPtrArray *)value; z_ptr_array_qsort(ia, compare_stamp); } void foreach_source_print(gpointer key, gpointer value, gpointer data){ ZPtrArray *ia; struct qso *q; int i; ia = (ZPtrArray *)value; trace(cfg->trace_qsos, "source: %s", key); for (i=0; ilen; i++){ q = (struct qso *) z_ptr_array_index(ia, i); dump_qso(q, "foreach_source_print"); } } void dump_all_sources(struct contest *ctest){ int i; struct qso *q; return; if (!ctest){ trace(cfg->trace_qsos, "dump_all_sources(NULL)\n"); return; } g_hash_table_foreach(ctest->bystamp, foreach_source_print, NULL); dbg("ctest->allqsos:\n"); for (i=0; iallqsos->len; i++){ q = (struct qso *) z_ptr_array_index(ctest->allqsos, i); dump_qso(q, "foreach_source_print"); } trace(cfg->trace_qsos, "---end---"); } void add_qso_to_index(struct qso *q, int qsort_if_needed){ ZPtrArray *ia; struct qso *ql; if (q && q->source && strcmp(q->source,"neterr")==0) return; ia = (ZPtrArray *) g_hash_table_lookup(ctest->bystamp, q->source); if (!ia) { ia = z_ptr_array_new(); g_hash_table_insert(ctest->bystamp, g_strdup(q->source), ia); } if (q->ser_id==-1) q->ser_id=ia->len; /* ia is NOT sorted by ser_id! */ z_ptr_array_add(ia, q); if (qsort_if_needed && ia->len >= 2){ ql = (struct qso *) z_ptr_array_index(ia, ia->len-2); if (ql->stamp > q->stamp){ /* q is not latest */ z_ptr_array_qsort(ia, compare_stamp); } } z_ptr_array_add(ctest->allqsos, q); if (strlen(q->exc) > ctest->exclen) ctest->exclen = strlen(q->exc); qrv_set_wkd(qrv, q); } void remove_qso_from_index(struct qso *q){ ZPtrArray *ia; int ret; ia = (ZPtrArray *) g_hash_table_lookup(ctest->bystamp, q->source); ret=z_ptr_array_remove(ia, q); ret=z_ptr_array_remove(ctest->allqsos, q); dbg("remove: ret=%d\n", ret); } void compute_qrbqtf(struct qso *q){ double qtf; if (!q) return; /* CHANGE look at add_tmpqso_locator */ qrbqtf(ctest->pwwlo, q->locator, &q->qrb, &qtf, NULL, 2); q->qtf = (int) (qtf+0.5); if (q->qrb < 0.1) { q->qrb = 0; q->qtf = 0; } q->qtfrad=qtf*M_PI/180.0; q->kx = (int)( q->qrb*sin(q->qtfrad)); q->ky = (int)(- q->qrb*cos(q->qtfrad)); /*dbg("compute_qrbqtf(%s) %s->%s qrb=%f qtf=%d kx=%d ky=%d\n", q->callsign, ctest->pwwlo, q->locator, q->qrb, q->qtf, q->kx, q->ky); */ } int check_autosave(void){ save_all_bands_txt(1); if (cfg->as_floppy_aq){ if (ctest->as_floppy_qsonr <= 0){ save_all_bands_txt(2); ctest->as_floppy_qsonr = cfg->as_floppy_aq; } ctest->as_floppy_qsonr--; } return 0; } GPtrArray *get_band_qs(struct band *band, gchar *str){ int i, len; gchar *c; struct qs *qs; struct qso *qso; char valid[150]; /*ST_START;*/ zg_ptr_array_free_items(band->qs); len = strlen(str); if (len<2) return NULL; qs = g_new0(struct qs, 1); qs->result1 = band->qs; qs->str = str; for (i=0;iqsos->len;i++){ qso = (struct qso *)g_ptr_array_index(band->qsos, i); if (qso->error || qso->dupe) continue; if (qs->result1->len == term->y - QSONR_HEIGHT - 4 - cfg->loglines - ctest->spypeers->len - 1) break; if (qso->callsign && z_strstr(qso->callsign, qs->str)){ stats_valid_key_display(valid, qso->callsign, qso->locator, qso->phase, qso->mode); if (qso->locator) c = g_strdup_printf("%-10s %-6s%5d/%3d", valid, qso->locator, (int)qso->qrb, qso->qtf); else c = g_strdup(valid); /* dbg(",%s", c);*/ g_ptr_array_add(qs->result1, c); continue; } if (qso->locator && z_strstr(qso->locator, qs->str)){ stats_valid_key_display(valid, qso->callsign, qso->locator, qso->phase, qso->mode); if (qso->callsign) c = g_strdup_printf("%-10s %-6s%5d/%3d", valid, qso->locator, (int)qso->qrb, qso->qtf); else c=g_strdup_printf("%-10s %-6s%5d/%3d", "", qso->locator, (int)qso->qrb, qso->qtf); /* dbg(",%s", c);*/ g_ptr_array_add(qs->result1, c); continue; } } /* dbg("<\n");*/ g_free(qs); z_ptr_array_qsort((ZPtrArray *)band->qs, z_compare_string); /*ST_STOP;*/ return band->qs; } GPtrArray *get_oband_qs(struct band *oband, gchar *str){ int i, len, j; gchar *c; struct qs *qs; struct qso *qso; /*ST_START;*/ if (ctest->bands->len<2) return oband->oqs; zg_ptr_array_free_items(oband->oqs); len = strlen(str); if (len<2) return NULL; qs = g_new0(struct qs, 1); qs->result1 = oband->oqs; qs->str = str; for (j=0;jbands->len;j++){ struct band *band; band = (struct band *)g_ptr_array_index(ctest->bands, j); if (band==oband) continue; for (i=0;iqsos->len;i++){ qso = (struct qso *)g_ptr_array_index(band->qsos, i); if (qso->error || qso->dupe) continue; if (qs->result1->len == term->y - QSONR_HEIGHT - 4 - cfg->loglines - ctest->spypeers->len - 1) break; /* FIXME contest without locator */ if ((qso->callsign && z_strstr(qso->callsign, qs->str))|| (qso->locator && z_strstr(qso->locator, qs->str))){ int j; for (j=0;jresult1->len; j++){ char d[20], *pd, *line; safe_strncpy(d, line=g_ptr_array_index(qs->result1,j), 10); pd = strchr(d, ' '); if (pd) *pd='\0'; if (strcmp(d, qso->callsign)==0){ /* dbg("add %s %c\n", line, band->bandchar);*/ c = g_strdup_printf("%s%c", line, z_char_uc(band->bandchar)); g_ptr_array_index(qs->result1, j) = c; g_free(line); goto cont; } } /* dbg("ins %s %s %c\n", qso->callsign, qso->locator, band->bandchar);*/ c=g_strdup_printf("%-10s %-6s %c", qso->callsign, qso->locator, z_char_uc(band->bandchar)); set_mem_comment(c, c, strlen(c)); g_ptr_array_add(qs->result1, c); goto cont; } cont:; } } /* dbg("<\n");*/ g_free(qs); z_ptr_array_qsort((ZPtrArray *)oband->oqs, z_compare_string); /*ST_STOP;*/ return oband->oqs; } gchar *find_wwl_by_oband(struct band *oband, gchar *call){ int i, j; struct qso *qso; static char raw[256]; if (ctest->bands->len<2) return NULL; if (!ctest->wwlused) return NULL; for (j=0;jbands->len;j++){ struct band *band; band = (struct band *)g_ptr_array_index(ctest->bands, j); if (band==oband) continue; for (i=0;iqsos->len;i++){ qso = (struct qso *)g_ptr_array_index(band->qsos, i); if (qso->error || qso->dupe) continue; z_get_raw_call(raw, qso->callsign); if (strcasecmp(raw,call)) continue; return qso->locator; /* can be NULL */ } } return NULL; } gchar *find_exc_by_oband(struct band *oband, gchar *call){ int i, j; struct qso *qso; static char raw[256]; if (ctest->bands->len<2) return NULL; if (ctest->excused != 1) return NULL; for (j=0;jbands->len;j++){ struct band *band; band = (struct band *)g_ptr_array_index(ctest->bands, j); if (band==oband) continue; for (i=0;iqsos->len;i++){ qso = (struct qso *)g_ptr_array_index(band->qsos, i); if (qso->error || qso->dupe) continue; z_get_raw_call(raw, qso->callsign); if (strcasecmp(raw,call)) continue; return qso->exc; /* can be NULL */ } } return NULL; } int get_psect_int(char *psect){ if (strcasecmp(psect, "single")==0) return 1; else if (strcasecmp(psect, "check")==0) return 2; else return 0; } void dump_qso(struct qso *q, char *desc){ if (!q){ trace(cfg->trace_qsos, " NULL"); return; } /* trace(cfg->trace_qsos, " %8s %c%03d %s:%d.%05d %s", q->callsign, z_char_uc(q->band->bandchar), atoi(q->qsonrs), q->source, q->ser_id, q->stamp%100000, desc);*/ trace(cfg->trace_qsos, " %8s %c%03d %s:%d.%05d (qsop=%d error=%d dupe=%d) %s", q->callsign, q->band->bandchar, atoi(q->qsonrs), q->source, q->ser_id, (int)(q->stamp%100000), q->qsop, q->error, q->dupe, desc); } void invalidate_tmpqso(struct band *b, struct qso *q){ char raw[20]; char s[20]; int i; z_get_raw_call(raw, q->callsign); for (i=0;itmpqsos[i].callsign) continue; z_get_raw_call(s, b->tmpqsos[i].callsign); if (strcasecmp(s, raw)==0){ b->tmpqsos[i].ucallsign=0; redraw_later(); } } } void foreach_free_bystamp(gpointer key, gpointer value, gpointer data){ ZPtrArray *ia; ia = (ZPtrArray *)value; z_ptr_array_free(ia, TRUE); g_free(key); } void free_ctest(){ int i; if (!ctest) return; zselect_timer_kill(zsel, ctest->minute_timer_id); if (gses->skedw_timer_id > 0) { zselect_timer_kill(zsel, gses->skedw_timer_id); gses->skedw_timer_id = 0; } dump_all_sources(ctest); if (gses->last_cq_timer_id) { zselect_timer_kill(zsel, gses->last_cq_timer_id); gses->last_cq_timer_id = 0; } clear_qrv(qrv); clear_hicalls(); chart_clear_all(); for (i=0;ibands->len; i++){ free_band((struct band*)g_ptr_array_index(ctest->bands,i)); } if (ctest->lockfile) fclose(ctest->lockfile); if (ctest->logfile) fclose(ctest->logfile); CONDGFREE(ctest->directory); CONDGFREE(ctest->cdate); CONDGFREE(ctest->tname); CONDGFREE(ctest->tdate); CONDGFREE(ctest->pcall); CONDGFREE(ctest->padr1); CONDGFREE(ctest->padr2); CONDGFREE(ctest->pclub); CONDGFREE(ctest->pwwlo); CONDGFREE(ctest->pexch); CONDGFREE(ctest->default_rs); CONDGFREE(ctest->default_rst); CONDGFREE(ctest->excname); CONDGFREE(ctest->rname); CONDGFREE(ctest->rcall); CONDGFREE(ctest->radr1); CONDGFREE(ctest->radr2); CONDGFREE(ctest->rpoco); CONDGFREE(ctest->rcity); CONDGFREE(ctest->rcoun); CONDGFREE(ctest->rphon); CONDGFREE(ctest->rhbbs); CONDGFREE(ctest->directory); /* CONDGFREE(ctest->pband); CONDGFREE(ctest->); CONDGFREE(ctest->); CONDGFREE(ctest->); */ g_hash_table_foreach_remove(ctest->allb_prefs, free_gpointer_item, NULL); g_hash_table_foreach(ctest->bystamp, foreach_free_bystamp, NULL); z_ptr_array_free(ctest->allqsos, TRUE); g_ptr_array_free(ctest->bands, TRUE); free_spypeers(ctest->spypeers); g_free(ctest); ctest=NULL; aband=NULL; set_ctest_title(); cq_abort(1); update_hw(); if (!zselect_terminating(zsel)) maps_reload(); maps_update_showwwls(); chart_reload(); #ifdef Z_HAVE_SDL rain_reload(); #endif } /* called ONLY when ctest is freeed. bands remain in memory */ void free_band(struct band *b){ int i; struct event ev = {EV_ABORT, 0,0,0}; stats_thread_kill(b); clear_tmpqsos(b, 0); for (i=0;iqsos->len;i++){ struct qso *qso; qso=(struct qso *)g_ptr_array_index(b->qsos, i); free_qso(qso); } g_ptr_array_free(b->qsos, TRUE); g_hash_table_destroy(b->rawqsoshash); CONDGFREE(b->pband); CONDGFREE(b->bandname); CONDGFREE(b->operator_); CONDGFREE(b->stxeq); CONDGFREE(b->spowe); CONDGFREE(b->srxeq); CONDGFREE(b->sante); CONDGFREE(b->santh); CONDGFREE(b->mope1); CONDGFREE(b->mope2); CONDGFREE(b->remarks); CONDGFREE(b->skedqrg); /*CONDGFREE(b->); CONDGFREE(b->); CONDGFREE(b->); CONDGFREE(b->);*/ if (b->skeds) { for (i=0;iskeds->len;i++){ struct sked *sked; sked=(struct sked*)g_ptr_array_index(b->skeds, i); free_sked(sked); } g_ptr_array_free(b->skeds, TRUE); } inputln_func(b->il,&ev); g_free(b->il); if (b->unres) g_free(b->unres); if (b->stats) free_stats(b->stats); if (b->tmpstats) free_stats(b->tmpstats); MUTEX_FREE(b->stats); if (b->swap) fclose(b->swap); if (b->qs) zg_ptr_array_free_all(b->qs); if (b->oqs) zg_ptr_array_free_all(b->oqs); if (b->swapfifo) free_fifo(b->swapfifo); if (b->unfi) free_fifo(b->unfi); if (b->statsfifo1) free_fifo(b->statsfifo1); if (b->ctrlsp) g_free(b->ctrlsp); CONDGFREE(b->tmplocqso.locator); zg_free0(b->edifile); zg_free0(b->mapfile); zg_free0(b->chartfile); g_free(b); } void free_qso(struct qso *qso){ CONDGFREE(qso->source); CONDGFREE(qso->operator_); CONDGFREE(qso->date_str); CONDGFREE(qso->time_str); CONDGFREE(qso->callsign); CONDGFREE(qso->rsts); CONDGFREE(qso->rstr); CONDGFREE(qso->qsonrs); CONDGFREE(qso->qsonrr); CONDGFREE(qso->exc); CONDGFREE(qso->locator); CONDGFREE(qso->remark); g_free(qso); } void dirty_band(struct band *band) { trace(cfg->trace_qsos, "DIRTY_BAND %c", band->bandchar); band->dirty_save = 1; band->dirty_stats = 1; band->dirty_statsf = 1; }; enum modes get_mode(void){ /* if (aband) return aband->mode; else*/ return gses->mode; } void set_mode(enum modes mode){ int i; gses->mode=mode; dbg("set_mode(%d)\n", mode); #ifdef HAVE_HAMLIB for (i = 0; i < gtrigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(gtrigs->trigs, i); if (!trig->mode_t2r) return; switch (mode){ case MOD_SSB_SSB: trig_set_mode_qrg(trig, RIG_MODE_USB, gtrigs->qrg - trig->ssbcw_shift); break; case MOD_CW_CW: trig_set_mode_qrg(trig, RIG_MODE_CW, gtrigs->qrg + trig->ssbcw_shift); break; case MOD_AM_AM: trig_set_mode_qrg(trig, RIG_MODE_AM, gtrigs->qrg); break; case MOD_FM_FM: trig_set_mode_qrg(trig, RIG_MODE_FM, gtrigs->qrg); break; case MOD_RTTY_RTTY: trig_set_mode_qrg(trig, RIG_MODE_RTTY, gtrigs->qrg); break; case MOD_SSTV_SSTV: trig_set_mode_qrg(trig, RIG_MODE_USB, gtrigs->qrg); // SSTV uses SSB break; case MOD_ATV_ATV: trig_set_mode_qrg(trig, RIG_MODE_FM, gtrigs->qrg); // SSTV uses FMB break; default: /* nic jineho se nanastavuje */ break; } } #endif } struct zstring *contest_format(struct contest *ctest){ gchar *ints; struct zstring *zs; ints = g_strdup_printf("%d;%d;%d;%d;" "%d;%d;%d;%d;" "%d;%d;%d;%d;" "%d;%d;%d;%d;" "%d;%d;%d;%d;" "%d;%d;%d", ctest->qsoused, ctest->qsomult, ctest->qsoglob, ctest->wwlused, ctest->wwlcfm, ctest->wwlbonu, ctest->wwlmult, ctest->excused, ctest->exctype, ctest->excbonu, ctest->excmult, ctest->exccfm, ctest->dxcbonu, ctest->dxcmult, ctest->rstused, ctest->defrstr, ctest->qsop_method, ctest->total_method, ctest->tttype, ctest->prefmult, ctest->prefglob, ctest->expmode, ctest->phase); zs = zconcatesc(ints, ctest->tname, ctest->cdate, ctest->pcall, ctest->pclub, ctest->pwwlo, ctest->pexch, ctest->default_rst, ctest->default_rs, ctest->rname, ctest->rcall, ctest->radr1, ctest->radr2, ctest->rpoco, ctest->rcity, ctest->rcoun, ctest->rphon, ctest->rhbbs, ctest->excname, NULL); return zs; } void ctest_parse(struct zstring *zstr, struct contest *ctest){ gchar *c; struct zstring *zsint; c = ztokenize(zstr, 1); zsint = zstrdup(c); ctest->qsoused = atoi(ztokenize(zsint, 1)); ctest->qsomult = atoi(ztokenize(zsint, 0)); ctest->qsoglob = atoi(ztokenize(zsint, 0)); ctest->wwlused = atoi(ztokenize(zsint, 0)); ctest->wwlcfm = atoi(ztokenize(zsint, 0)); ctest->wwlbonu = atoi(ztokenize(zsint, 0)); ctest->wwlmult = atoi(ztokenize(zsint, 0)); ctest->excused = atoi(ztokenize(zsint, 0)); ctest->exctype = (enum exctype)atoi(ztokenize(zsint, 0)); ctest->excbonu = atoi(ztokenize(zsint, 0)); ctest->excmult = atoi(ztokenize(zsint, 0)); ctest->exccfm = atoi(ztokenize(zsint, 0)); ctest->dxcbonu = atoi(ztokenize(zsint, 0)); ctest->dxcmult = atoi(ztokenize(zsint, 0)); ctest->rstused = atoi(ztokenize(zsint, 0)); ctest->defrstr = atoi(ztokenize(zsint, 0)); ctest->qsop_method = atoi(ztokenize(zsint, 0)); ctest->total_method = atoi(ztokenize(zsint, 0)); ctest->tttype = (enum tttype)atoi(ztokenize(zsint, 0)); ctest->prefmult = atoi(ztokenize(zsint, 0)); ctest->prefglob = atoi(ztokenize(zsint, 0)); ctest->expmode = atoi(ztokenize(zsint, 0)); ctest->phase = atoi(ztokenize(zsint, 0)); STORE_STR3(ctest, tname, zstr, 0); STORE_STR3(ctest, cdate, zstr, 0); STORE_STR3(ctest, pcall, zstr, 0); STORE_STR3(ctest, pclub, zstr, 0); STORE_STR3(ctest, pwwlo, zstr, 0); STORE_STR3(ctest, pexch, zstr, 0); STORE_STR3(ctest, default_rst, zstr, 0); STORE_STR3(ctest, default_rs, zstr, 0); STORE_STR3(ctest, rname, zstr, 0); STORE_STR3(ctest, rcall, zstr, 0); STORE_STR3(ctest, radr1, zstr, 0); STORE_STR3(ctest, radr2, zstr, 0); STORE_STR3(ctest, rpoco, zstr, 0); STORE_STR3(ctest, rcity, zstr, 0); STORE_STR3(ctest, rcoun, zstr, 0); STORE_STR3(ctest, rphon, zstr, 0); STORE_STR3(ctest, rhbbs, zstr, 0); STORE_STR3(ctest, excname, zstr, 0); zfree(zsint); } struct zstring *band_format(struct band *b){ gchar *ints; struct zstring *zs; ints = g_strdup_printf("%c;%d;%d;%d;%d;%d", z_char_lc(b->bandchar), b->psect, b->readonly, b->qrg_min, b->qrg_max, b->qsomultb); zs = zconcatesc(ints, b->pband, b->bandname, b->stxeq, b->spowe, b->srxeq, b->sante, b->santh, b->mope1, b->mope2, b->remarks, b->skedqrg, b->opsect, NULL); g_free(ints); return zs; } struct band *band_parse(struct zstring *zstr, struct band *b){ gchar *c, *qsomult_str; struct zstring *zsint; c = ztokenize(zstr, 1); zsint = zstrdup(c); c = ztokenize(zsint, 1); b->bandchar = z_char_uc(c[0]); b->bi = b->bandchar - 'A'; b->psect = atoi(ztokenize(zsint, 0)); b->readonly = atoi(ztokenize(zsint, 0)); b->qrg_min = atoi(ztokenize(zsint, 0)); b->qrg_max = atoi(ztokenize(zsint, 0)); qsomult_str = ztokenize(zsint, 0); if (qsomult_str) b->qsomultb = atoi(qsomult_str); STORE_STR3(b, pband, zstr, 0); STORE_STR3(b, bandname, zstr, 0); STORE_STR3(b, stxeq, zstr, 0); STORE_STR3(b, spowe, zstr, 0); STORE_STR3(b, srxeq, zstr, 0); STORE_STR3(b, sante, zstr, 0); STORE_STR3(b, santh, zstr, 0); STORE_STR3(b, mope1, zstr, 0); STORE_STR3(b, mope2, zstr, 0); STORE_STR3(b, remarks, zstr, 0); STORE_STR3(b, skedqrg, zstr, 0); STORE_STR3(b, opsect, zstr, 0); zfree(zsint); return b; } int compare_date_time_qsonrs(const void *a, const void *b){ struct qso **qa, **qb; int ret; qa = (struct qso **)a; qb = (struct qso **)b; if (!*qa && !*qb) return 0; if (!*qa) return -1; if (!*qb) return +1; ret = strcmp((*qa)->date_str, (*qb)->date_str); if (ret) return ret; ret = strcmp((*qa)->time_str, (*qb)->time_str); if (ret) return ret; return atoi((*qa)->qsonrs) - atoi((*qb)->qsonrs); } /* returns: 0 - not worked on at least one read-write band 1 - worked on all read-write band */ int worked_on_all_rw(char *call){ int ret = 1; //struct qrv_item *qi = qrv_get(qrvdb, call); if (ctest){ zg_ptr_array_foreach(struct band *, b, ctest->bands) { if (b->readonly) continue; //if (qi && (qi->bands_qrv & (1 << b->bi)) == 0) continue; if (!get_qso_by_callsign(b, call)) ret = 0; } } //dbg("worked_on_all_rw(%s)=%d\n", call, ret); return ret; } int worked_on_aband(char *call){ if (!aband) return 0; if (get_qso_by_callsign(aband, call)){ return 1; } else{ return 0; } } void _dump_rw(gpointer key, gpointer value, gpointer data){ fprintf((FILE *)data, "key='%s' value=%p ", (char*)key, value); if (value != NULL) { struct qso *qso = (struct qso *)value; fprintf((FILE *)data, "call='%s' qsonrs=%s time=%s", qso->callsign, qso->qsonrs, qso->time_str); } fprintf((FILE *)data, "\n"); } void dump_rw(void *a, void *b) { FILE *f; char *filename; if (!ctest) return; filename = g_strconcat(ctest->directory, "/", "_dump_rw.txt", NULL); z_wokna(filename); f = fopen(filename, "wt"); if (f){ zg_ptr_array_foreach(struct band *, b, ctest->bands) { if (b->readonly) continue; fprintf(f, "%c is RW\n", b->bandchar); g_hash_table_foreach(b->rawqsoshash, _dump_rw, f); fprintf(f, "\n\n"); } fclose(f); log_addf(VTEXT(T_SAVED_S), filename); }else{ log_addf(VTEXT(T_CANT_WRITE_S), filename); } g_free(filename); } int add_qsos_from_swap(struct band *b, FILE *f){ char *s; gchar **items; struct qso *q; GString *gs; gs = g_string_sized_new(1024); while ((s = zfile_fgets(gs, f, 0)) != NULL){ if (strlen(s) < 12) continue; if (s[0]!='Q') continue; items = g_strsplit(s + 2, ";", 0); q = g_new0(struct qso, 1); q->source = g_strdup(gnet->myid); q->operator_ = g_strdup(b->operator_); q->date_str = g_strdup_printf("%s%s", items[14], items[0]); q->time_str = g_strdup(items[1]); q->callsign = g_strdup(items[2]); q->mode = atoi(items[3]); q->rsts = g_strdup(items[4]); q->qsonrs = g_strdup(items[5]); q->rstr = g_strdup(items[6]); q->qsonrr = g_strdup(items[7]); q->exc = g_strdup(items[8]); q->locator = g_strdup(items[9]); if (items[10]){ q->phase = atoi(items[10]); } q->ser_id=-1; /* computed by add_qso_to_index */ g_strfreev(items); compute_qrbqtf(q); add_qso(b, q); } recalc_stats(b); check_autosave(); g_string_free(gs, TRUE); return 0; } tucnak-4.32/src/sndpipe.h0000644000175000017500000000145512305363636012266 00000000000000/* Tucnak - VHF contest log Copyright (C) 2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SNDPIPE_H #define __SNDPIPE_H #include "header.h" #include "dsp.h" int sndpipe_open(struct dsp *dsp, int rec); int sndpipe_close(struct dsp *dsp); int sndpipe_write(struct dsp *dsp, void *data, int frames); int sndpipe_read(struct dsp *dsp, void *data, int frames); int sndpipe_reset(struct dsp *dsp); int sndpipe_sync(struct dsp *dsp); #ifdef HAVE_SNDFILE int sndpipe_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec); #endif int sndpipe_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec); #endif tucnak-4.32/src/rain.c0000644000175000017500000013357014066550042011547 00000000000000/* rain.c - Rainscatter map Copyright (C) 2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "rain.h" #include #include "header.h" #ifdef Z_HAVE_SDL #include "main.h" #include "fifo.h" #include "map.h" #include "rc.h" #include "session.h" #include "subwin.h" #include "tsdl.h" struct rain *grain; #define MAXLAT (85.05112878 * M_PI / 180.0) struct rain *init_rain(){ struct rain *rain; int i; if (!zsdl) return NULL; if (!cfg->rain_enable) return NULL; rain = g_new0(struct rain, 1); rain->debug = cfg->rain_debug; rain->colors = g_new0(int, RAIN_COLORS); rain->colors[0] = z_makecol(56, 0, 112); rain->colors[1] = z_makecol(48, 0, 168); // 0.1 mm/h rain->colors[2] = z_makecol(0, 0, 252); rain->colors[3] = z_makecol(0, 108, 192); rain->colors[4] = z_makecol(0, 160, 0); rain->colors[5] = z_makecol(0, 188, 0); // 1 mm/h rain->colors[6] = z_makecol(52, 216, 0); rain->colors[7] = z_makecol(156, 220, 0); rain->colors[8] = z_makecol(224, 220, 0); rain->colors[9] = z_makecol(252, 176, 0); // 10 mm/h rain->colors[10] = z_makecol(252, 132, 0); rain->colors[11] = z_makecol(252, 88, 0); rain->colors[12] = z_makecol(252, 0, 0); rain->colors[13] = z_makecol(160, 0, 0); // 100 mm/h rain->colors[14] = z_makecol(252, 252, 252); rain->bwcolors = g_new0(int, RAIN_COLORS); for (i = 0; i < RAIN_COLORS; i++){ rain->bwcolors[i] = z_makecol((i + 1) * 8, (i + 1) * 8, (i + 1) * 8); } rain->maxqrb = cfg->rain_maxqrb; // km rain->mincolor = cfg->rain_mincolor; // orange rain->minscpdist = cfg->rain_minscpdist; // km rain->scps = g_ptr_array_new_with_free_func((GDestroyNotify)free_rain_scp); rain->scplocs = g_string_sized_new(256); if (cfg->rain_meteox){ struct rain_provider *provider = g_new0(struct rain_provider, 1); provider->rain = rain; provider->name = "meteox"; provider->pal = rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1000, rain_meteox_timer, provider); provider->h1 = -5.72 * M_PI / 180.0; provider->h2 = 18.72 * M_PI / 180.0; provider->w1 = 57.63 * M_PI / 180.0; provider->w2 = 43.1 * M_PI / 180.0; provider->hpx1 = 110; provider->hpx2 = 529; provider->wpx1 = 73; provider->wpx2 = 516; provider->hmult = (provider->h2 - provider->h1) / (provider->hpx2 - provider->hpx1); provider->wmult = (provider->w2 - provider->w1) / (provider->wpx2 - provider->wpx1); provider->hash_func = rain_meteox_hash; provider->img2hw = rain_linear_img2hw; for (i = 0; i < RAIN_COLORS; i++) provider->hashes[i] = g_hash_table_new(g_direct_hash, g_direct_equal); provider->mask = 0xffffff80; provider->step = 0x80; provider->left = 0; provider->top = 25; provider->right = 550; provider->bottom = 550; provider->srccolslen = 15; provider->srccols = g_new0(int, provider->srccolslen); provider->translation = g_new0(int, provider->srccolslen); for (i = 0; i < provider->srccolslen; i++) provider->translation[i] = i; provider->ofs_min = 120; // CEST or CET rain->meteox = provider; } if (cfg->rain_wetteronline){ struct rain_provider *provider = g_new0(struct rain_provider, 1); provider->rain = rain; provider->name = "wetteronline"; provider->pal = rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1000, rain_wetteronline_timer, provider); provider->h1 = 1.62 * M_PI / 180.0; provider->h2 = 22.52 * M_PI / 180.0; provider->w1 = 54.88 * M_PI / 180.0; provider->w2 = 46.02 * M_PI / 180.0; provider->hpx1 = 32; provider->hpx2 = 469; provider->wpx1 = 167; provider->wpx2 = 458; provider->hmult = (provider->h2 - provider->h1) / (provider->hpx2 - provider->hpx1); provider->wmult = (provider->w2 - provider->w1) / (provider->wpx2 - provider->wpx1); provider->hash_func = rain_wetteronline_hash; provider->img2hw = rain_linear_img2hw; for (i = 0; i < RAIN_COLORS; i++) provider->hashes[i] = g_hash_table_new(g_direct_hash, g_direct_equal); provider->mask = 0xffffff80; provider->step = 0x80; provider->left = 0; provider->top = 0; provider->right = 519; provider->bottom = 550; provider->srccolslen = 6; provider->srccols = g_new0(int, provider->srccolslen); provider->translation = g_new0(int, provider->srccolslen); for (i = 0; i < provider->srccolslen; i++) provider->translation[i] = i; provider->ofs_min = -3; rain->wetteronline = provider; } if (cfg->rain_chmi){ struct rain_provider *provider = g_new0(struct rain_provider, 1); provider->rain = rain; provider->name = "chmi"; provider->pal = rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1000, rain_chmi_timer, provider); provider->h1 = 12.12 * M_PI / 180.0; provider->h2 = 18.84 * M_PI / 180.0; provider->w1 = 51.04 * M_PI / 180.0; provider->w2 = 48.58 * M_PI / 180.0; provider->hpx1 = 59; provider->hpx2 = 542; provider->wpx1 = 128; provider->wpx2 = 404; provider->hmult = (provider->h2 - provider->h1) / (provider->hpx2 - provider->hpx1); provider->wmult = (provider->w2 - provider->w1) / (provider->wpx2 - provider->wpx1); provider->hash_func = rain_chmi_hash; provider->img2hw = rain_linear_img2hw; for (i = 0; i < RAIN_COLORS; i++) provider->hashes[i] = g_hash_table_new(g_direct_hash, g_direct_equal); provider->mask = 0xffffff80; provider->step = 0x80; provider->left = 0; provider->top = 82; provider->right = 597; provider->bottom = 459; provider->ofs_min = 10; // FIXME rain->chmi = provider; } if (cfg->rain_weatheronline){ struct rain_provider *provider = g_new0(struct rain_provider, 1); provider->rain = rain; provider->name = "weatheronline"; provider->pal = rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1000, rain_weatheronline_timer, provider); provider->h1 = -5.6 * M_PI / 180.0; // lon provider->h2 = 37.62 * M_PI / 180.0; // lon provider->w1 = 35.96 * M_PI / 180.0; // lat provider->w2 = 55.75 * M_PI / 180.0; // lat provider->hpx1 = 57; // x provider->hpx2 = 410; // x provider->wpx1 = 438; // y provider->wpx2 = 181; // y provider->hmult = (provider->h2 - provider->h1) / (provider->hpx2 - provider->hpx1); provider->wmult = (provider->w2 - provider->w1) / (provider->wpx2 - provider->wpx1); provider->hash_func = rain_weatheronline_hash; provider->img2hw = rain_weatheronline_img2hw; for (i = 0; i < RAIN_COLORS; i++) provider->hashes[i] = g_hash_table_new(g_direct_hash, g_direct_equal); provider->mask = 0xffffff80; provider->step = 0x80; provider->left = 0; provider->top = 0; provider->right = 519; provider->bottom = 550; provider->srccolslen = 13; provider->srccols = g_new0(int, provider->srccolslen); provider->translation = g_new0(int, provider->srccolslen); for (i = 0; i < provider->srccolslen; i++) provider->translation[i] = i; rain->weatheronline = provider; } if (cfg->rain_rainviewer){ struct rain_provider *provider = g_new0(struct rain_provider, 1); dbg("new rainviewer %p\n", provider); provider->rain = rain; provider->name = "rainviewer"; provider->pal = rain->bwcolors; g_assert(provider->timer_id == 0); provider->timer_id = zselect_timer_new(zsel, 1000, rain_rainviewer_timer, provider); rain_rainviewer_init(provider); provider->hash_func = rain_rainviewer_hash; provider->img2hw = rain_rainviewer_img2hw; for (i = 0; i < RAIN_COLORS; i++) provider->hashes[i] = g_hash_table_new(g_direct_hash, g_direct_equal); provider->mask = 0xffffff80; provider->step = 0x80; rain->rainviewer = provider; } return rain; } static gboolean free_rain_hash(gpointer key, gpointer value, gpointer user_data){ struct zbinbuf *zbb = (struct zbinbuf *)value; zbinbuf_free(zbb); return TRUE; } struct rain_scp *init_rain_scp(float kx, float ky){ struct rain_scp *scp = g_new0(struct rain_scp, 1); scp->kx = kx; scp->ky = ky; double qrb, qtf, h, w; km2qrbqtf((int)roundf(kx), (int)roundf(ky), &qrb, &qtf); qrbqtf2hw(gses->myh, gses->myw, qrb, qtf, &h, &w); hw2loc(scp->wwl, h * 180.0 / M_PI, w * 180.0 / M_PI, 6); scp->qrb = (int)round(sqrt(kx*kx + ky*ky)); //dbg("SCP %s\n", scp->wwl); return scp; } void free_rain_scp(struct rain_scp *scp) { g_free(scp); } void rain_analyze_scps(struct rain *rain){ if (!gses) return; g_ptr_array_free(rain->scps, TRUE);// with free func free_rain_scp rain->scps = g_ptr_array_new_with_free_func((GDestroyNotify)free_rain_scp); g_string_truncate(rain->scplocs, 0); if (rain->chmi) rain_add_scps(rain->chmi); if (rain->meteox) rain_add_scps(rain->meteox); if (rain->wetteronline) rain_add_scps(rain->wetteronline); if (rain->weatheronline) rain_add_scps(rain->weatheronline); if (rain->rainviewer) rain_add_scps(rain->rainviewer); if (rain->scplocs->len > 0){ log_addf(TRANSLATE("Scatterpoints: %s"), rain->scplocs->str); } } void rain_add_scps(struct rain_provider *provider){ int kx, ky, minkx, minky, maxkx, maxky;//, dummy; //double h, w; minkx = -provider->rain->maxqrb & provider->mask; minky = -provider->rain->maxqrb & provider->mask; maxkx = (provider->rain->maxqrb) & provider->mask; maxky = (provider->rain->maxqrb) & provider->mask; if (minkx < -32768) minkx = -32768; if (maxkx > 32767) maxkx = 32767; if (minky < -32768) minky = -32768; if (maxky > 32767) maxky = 32767; for (int ci = RAIN_COLORS - 1; ci >= provider->rain->mincolor; ci--){ //GHashTable *hash = provider->hashes[ci]; //int c = provider->pal[ci]; for (ky = minky; ky <= maxky; ky += provider->step){ for (kx = minkx; kx <= maxkx; kx += provider->step){ gpointer key = provider->hash_func(kx, ky, ci); GHashTable *hash = provider->hashes[ci]; struct zbinbuf *zbb = (struct zbinbuf *)g_hash_table_lookup(hash, key); //dbg("kx=%d \tky=%d\n", kx, ky); if (zbb == NULL) continue; int i; for (i = 0; i <= zbb->len - (int)sizeof(struct rain_km); i += sizeof(struct rain_km)){ struct rain_km *km = (struct rain_km *)(zbb->buf + i); if (rain_scp_exists(provider, km->kx, km->ky)) continue; struct rain_scp *scp = init_rain_scp(km->kx, km->ky); g_ptr_array_add(provider->rain->scps, scp); if (scp->qrb <= provider->rain->maxqrb){ if (provider->rain->scplocs->len > 0) g_string_append(provider->rain->scplocs, " "); g_string_append(provider->rain->scplocs, scp->wwl); } } } } } } int rain_scp_exists(struct rain_provider *prov, float kx, float ky){ int i; for (i = 0; i < prov->rain->scps->len; i++){ struct rain_scp *scp = (struct rain_scp *)g_ptr_array_index(prov->rain->scps, i); float dist = sqrtf(powf(scp->kx - kx, 2) + powf(scp->ky - ky, 2)); if (dist < prov->rain->minscpdist) return 1; } return 0; } void free_rain_provider(struct rain_provider *provider){ int i; if (provider->timer_id) zselect_timer_kill(zsel, provider->timer_id); if (provider->img != NULL) { SDL_FreeSurface(provider->img); provider->img = NULL; } zhttp_free(provider->http); for (i = 0; i < RAIN_COLORS; i++) { GHashTable *hash = provider->hashes[i]; g_hash_table_foreach_remove(hash, free_rain_hash, NULL); g_hash_table_destroy(hash); } g_free(provider->srccols); g_free(provider->translation); g_free(provider->title); g_free(provider->rv_path); g_free(provider->rv_oldpath); g_free(provider); dbg("freed rainviewer %p\n", provider); } void free_rain(struct rain *rain){ if (!rain) return; if (rain->meteox) free_rain_provider(rain->meteox); if (rain->wetteronline) free_rain_provider(rain->wetteronline); if (rain->chmi) free_rain_provider(rain->chmi); if (rain->weatheronline) free_rain_provider(rain->weatheronline); if (rain->rainviewer) free_rain_provider(rain->rainviewer); g_free(rain->colors); g_free(rain->bwcolors); g_string_free(rain->scplocs, TRUE); g_free(rain); } static void rain_truncate_hash(gpointer key, gpointer value, gpointer user_data){ struct zbinbuf *zbb = (struct zbinbuf *)value; zbinbuf_truncate(zbb, 0); } static void rain_provider_add(struct rain_provider *provider, int ix, int iy, int ci){ double hh1, ww1, hh2, ww2; gpointer key; GHashTable *hash; struct zbinbuf *zbb; struct rain_km km; provider->img2hw(provider, ix - 1, iy - 1, &hh1, &ww1); provider->img2hw(provider, ix + 1, iy + 1, &hh2, &ww2);// when +1 space between bars //hh2 = hh1 + provider->hmult; //ww2 = ww1 + provider->wmult; hw2km_f(gses->myh, gses->myw, hh1, ww1, &km.kx1, &km.ky1); hw2km_f(gses->myh, gses->myw, hh2, ww1, &km.kx2, &km.ky2); hw2km_f(gses->myh, gses->myw, hh1, ww2, &km.kx3, &km.ky3); hw2km_f(gses->myh, gses->myw, hh2, ww2, &km.kx4, &km.ky4); km.kx = (km.kx1 + km.kx2) / 2; km.ky = (km.ky1 + km.ky2) / 2; key = provider->hash_func(km.kx1, km.ky1, ci); hash = provider->hashes[ci]; zbb = (struct zbinbuf *)g_hash_table_lookup(hash, key); if (zbb == NULL) { zbb = zbinbuf_init(); zbb->increment = 4096; g_hash_table_insert(hash, key, zbb); } zbinbuf_append_bin(zbb, &km, sizeof(struct rain_km)); } void rain_provider_draw_colors(struct rain_provider *provider, SDL_Surface *surface){ int i, c; Uint8 r, g, b; int w = 16; for (i = 0; i < RAIN_COLORS; i++){ SDL_Rect rr; rr.x = i * w; rr.y = surface->h - w; rr.w = w; rr.h = w; SDL_GetRGB(provider->rain->colors[i], sdl->screen->format, &r, &g, &b); c = SDL_MapRGB(surface->format, r, g, b); SDL_FillRect(surface, &rr, c); } for (i = 0; i < provider->srccolslen; i++){ SDL_Rect rr; rr.x = i * w; if (provider->translation) rr.x = provider->translation[i] * w; rr.y = surface->h - w - w; rr.w = w; rr.h = w; SDL_GetRGB(provider->srccols[i], sdl->screen->format, &r, &g, &b); c = SDL_MapRGB(surface->format, r, g, b); SDL_FillRect(surface, &rr, c); } } void rain_linear_img2hw(struct rain_provider *provider, float ix, float iy, double *h, double *w){ *h = provider->h1 + (ix - provider->hpx1) * provider->hmult; *w = provider->w1 + (iy - provider->wpx1) * provider->wmult; } /*static void rain_provider_reload(struct rain_provider *provider, void (*handler)(void*)){ if (!provider) return; if (provider->timer_id <= 0) return; int i; for (i = 0; i < RAIN_COLORS; i++) { GHashTable *hash = provider->hashes[i]; g_hash_table_foreach(hash, rain_truncate_hash, NULL); } zselect_timer_kill(zsel, provider->timer_id); zselect_timer_new(zsel, rand()%2000, handler, provider); } */ void rain_reload(){ if (!grain) return; /*rain_provider_reload(grain->meteox, rain_meteox_timer); rain_provider_reload(grain->wetteronline, rain_wetteronline_timer); rain_provider_reload(grain->chmi, rain_chmi_timer); rain_provider_reload(grain->weatheronline, rain_weatheronline_timer); //rain_provider_reload(grain->rainviewer, rain_rainv); rain_analyze_scps(grain); // only truncate*/ free_rain(grain); grain = init_rain(); } /* meteox.com */ void rain_meteox_timer(void *arg){ char *url; time_t tt; struct tm tm; struct rain_provider *provider = (struct rain_provider*)arg; provider->timer_id = 0; tt = time(NULL); tt += provider->ofs_min * 60; gmtime_r(&tt, &tm); tm.tm_min = (tm.tm_min / 15) * 15; g_free(provider->title); provider->title = g_strdup_printf("Meteox %02d:%02d", tm.tm_hour, tm.tm_min); dbg("rain_timer %d.%d.%d %d:%02d:%02d -> (%02d)\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec, (tm.tm_min / 15) * 15); url = g_strdup_printf("https://www.meteox.com/images.aspx?jaar=%04d&maand=%02d&dag=%02d&uur=%02d&minuut=%02d", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min); //url = g_strdup("http://www.meteox.com/images.aspx?jaar=2016&maand=07&dag=08&uur=20&minuut=00"); provider->http = zhttp_init(); dbg("meteox url = '%s'\n", url); zhttp_get(provider->http, zsel, url, rain_meteox_downloaded, provider); g_free(url); provider->timer_id = zselect_timer_new(zsel, 50*1000, rain_meteox_timer, provider); // restart when freezes } void rain_meteox_downloaded(struct zhttp *http){ int remains; struct timeval tv; struct rain_provider *provider = (struct rain_provider*)http->arg; SDL_Surface *newimg; if (provider->timer_id) { zselect_timer_kill(zsel, provider->timer_id); provider->timer_id = 0; } dbg("rain_meteox_downloaded: got %d bytes\n", http->response->len - http->dataofs); if (provider->rain->debug) zbinbuf_write_to_file(http->response, "_meteox.gif", http->dataofs, http->response->len - http->dataofs); if (provider->img != NULL) { SDL_FreeSurface(provider->img); provider->img = NULL; } if (provider->ofs_min >= -60 && (http->dataofs < 1 || strncmp(http->response->buf + http->dataofs, "\x89PNG\r\n\x1a\n", 8) != 0) // PNG is OK, GIF is error ){ // image not available, go to the past provider->ofs_min -= 15; dbg("set meteox_ofs_min to %d\n", provider->ofs_min); zhttp_free(http); provider->http = NULL; provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1000, rain_meteox_timer, provider); sw_set_gdirty(SWT_MAP); return; } newimg = zpng_create(http->response->buf + http->dataofs, http->response->len - http->dataofs); if (newimg == NULL){ dbg("Can't read bitmap\n"); provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_meteox_timer, provider); }else{ if (provider->img != NULL) { SDL_FreeSurface(provider->img); } provider->img = newimg; provider->pal = provider->rain->colors; rain_meteox_load(provider); if (provider->rain->debug) { rain_provider_draw_colors(provider, provider->img); zpng_save(provider->img, "_meteox2.png", NULL); } rain_analyze_scps(provider->rain); //provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_meteox_timer, provider); gettimeofday(&tv, NULL); remains = 900000 - ((tv.tv_sec % 900) * 1000 + tv.tv_usec/1000); provider->timer_id = zselect_timer_new(zsel, remains, rain_meteox_timer, provider); } zhttp_free(http); provider->http = NULL; sw_set_gdirty(SWT_MAP); //ST_STOP("rain_downloaded"); } // colors are in image format void rain_meteox_load(struct rain_provider *provider){ int ix, iy, c, ci, i; SDL_Surface *img = provider->img; Uint8 r, g, b, a; provider->w = img->w; provider->h = img->h; for (i = 0; i < RAIN_COLORS; i++) { GHashTable *hash = provider->hashes[i]; g_hash_table_foreach(hash, rain_truncate_hash, NULL); } provider->translation[0] = 0; provider->translation[1] = 1; provider->translation[2] = 3; provider->translation[3] = 5; provider->translation[4] = 6; provider->translation[5] = 7; provider->translation[6] = 8; provider->translation[7] = 9; provider->translation[8] = 10; provider->translation[9] = 11; provider->translation[10] = 11; provider->translation[11] = 12; provider->translation[12] = 12; provider->translation[13] = 13; provider->translation[14] = 13; for (iy = provider->top; iy < img->h && iy <= provider->bottom; iy++){ for (ix = provider->left; ix < img->w && ix <= provider->right; ix++){ c = z_getpixel(img, ix, iy); if (c == 0) continue; SDL_GetRGBA(c, img->format, &r, &g, &b, &a); if (r == g && b == 255){ ci = (255 - r) / 27; }else if (r == 0 && g == 0){ if (b > 150){ ci = 7; }else{ ci = 8; } }else if (g == 0 && b == 0){ if (r > 211){ ci = 9; }else if (r > 187){ ci = 10; }else if (r > 159){ ci = 11; }else{ ci = 12; } }else if (r == g && b == 0){ ci = 13; }else{ ci = 14; } ci = provider->translation[ci]; if (ci < 5) continue; if (provider->rain->debug) z_putpixel_fmt(img, ix, iy, provider->rain->colors[ci], sdl->screen->format); rain_provider_add(provider, ix, iy, ci); } } } gpointer rain_meteox_hash(short kx, short ky, int ci){ unsigned int key = ((unsigned short)kx) >> 7; key |= (((unsigned short)ky) >> 1) & 0xff00; key |= ((unsigned char)ci) << 16; return GUINT_TO_POINTER(key); } /* wetteronline.de */ void rain_wetteronline_timer(void *arg){ char *url; time_t tt; struct tm tm; struct rain_provider *provider = (struct rain_provider*)arg; provider->timer_id = 0; tt = time(NULL); tt += provider->ofs_min * 60; gmtime_r(&tt, &tm); tm.tm_min = (tm.tm_min / 5) * 5; dbg("rain_timer %d.%d.%d %d:%02d:%02d\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); g_free(provider->title); provider->title = g_strdup_printf("WtOnl. %02d:%02dZ", tm.tm_hour, tm.tm_min); url = g_strdup_printf("http://tucnak.vaiz.cz/wetteronline.php?y=%d&m=%d&d=%d&h=%d&mi=%d&t=%lld", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tl); //url = g_strdup("https://www.wetteronline.de/?ireq=true&pid=p_radar_map&src=wmapsextract/vermarktung/global2maps/2018/08/02/0001/grey_flat/201808020730_0001.png"); provider->http = zhttp_init(); dbg("wetteronline url = '%s'\n", url); zhttp_get(provider->http, zsel, url, rain_wetteronline_downloaded, provider); g_free(url); provider->timer_id = zselect_timer_new(zsel, 50*1000, rain_wetteronline_timer, provider); // restart when freezes } void rain_wetteronline_downloaded(struct zhttp *http){ int remains; struct timeval tv; struct rain_provider *provider = (struct rain_provider*)http->arg; SDL_Surface *newimg; if (provider->timer_id) { zselect_timer_kill(zsel, provider->timer_id); provider->timer_id = 0; } if (provider->rain->debug) zbinbuf_write_to_file(http->response, "_wetteronline.png", http->dataofs, http->response->len - http->dataofs); if (http->response->len <= http->dataofs + 8 || strncmp(http->response->buf + http->dataofs, "\x89PNG\r\n\x1a\n", 8) != 0){ // image not available dbg("No PNG returned\n"); provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_wetteronline_timer, provider); goto x; } newimg = zpng_create(http->response->buf + http->dataofs, http->response->len - http->dataofs); if (newimg == NULL){ dbg("Can't read bitmap\n"); provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_wetteronline_timer, provider); }else{ if (provider->img != NULL) { SDL_FreeSurface(provider->img); } provider->img = newimg; provider->pal = provider->rain->colors; rain_wetteronline_load(provider); if (provider->rain->debug) { rain_provider_draw_colors(provider, provider->img); zpng_save(provider->img, "_wetteronline2.png", NULL); } rain_analyze_scps(provider->rain); //provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_wetteronline_timer, provider); gettimeofday(&tv, NULL); remains = 300000 - ((tv.tv_sec % 300) * 1000 + tv.tv_usec/1000) + 500; provider->timer_id = zselect_timer_new(zsel, remains, rain_wetteronline_timer, provider); } x:; zhttp_free(http); provider->http = NULL; sw_set_gdirty(SWT_MAP); //ST_STOP("rain_downloaded"); } // colors are in image format void rain_wetteronline_load(struct rain_provider *provider){ int ix, iy, c, ci, i; SDL_Surface *img = provider->img; provider->srccols[0] = (int)SDL_MapRGB(img->format, 170, 255, 255); provider->srccols[1] = (int)SDL_MapRGB(img->format, 83, 210, 255); provider->srccols[2] = (int)SDL_MapRGB(img->format, 42, 170, 255); provider->srccols[3] = (int)SDL_MapRGB(img->format, 28, 126, 217); provider->srccols[4] = (int)SDL_MapRGB(img->format, 153, 51, 153); provider->srccols[5] = (int)SDL_MapRGB(img->format, 255, 0, 255); provider->translation[0] = 2; provider->translation[1] = 4; provider->translation[2] = 6; provider->translation[3] = 8; provider->translation[4] = 11; provider->translation[5] = 12; provider->w = img->w; provider->h = img->h; for (i = 0; i < RAIN_COLORS; i++) { GHashTable *hash = provider->hashes[i]; g_hash_table_foreach(hash, rain_truncate_hash, NULL); } for (iy = provider->top; iy < img->h && iy <= provider->bottom; iy++){ for (ix = provider->left; ix < img->w && ix <= provider->right; ix++){ Uint8 r, g, b; c = z_getpixel(img, ix, iy); for (i = -1; i > -10 && ix + i >= 0; i--){ c = z_getpixel(img, ix + i, iy); SDL_GetRGB(c, img->format, &r, &g, &b); if (r >= 28 || g >= 51 || b >= 153) break; } for (ci = 0; ci < provider->srccolslen; ci++){ if (c == provider->srccols[ci]){ ci = provider->translation[ci]; if (ci < 5) break; rain_provider_add(provider, ix, iy, ci); if (provider->rain->debug) z_putpixel_fmt(img, ix, iy, provider->rain->colors[ci], sdl->screen->format); break; } } } } } gpointer rain_wetteronline_hash(short kx, short ky, int ci){ unsigned int key = ((unsigned short)kx) >> 7; key |= (((unsigned short)ky) >> 1) & 0xff00; key |= ((unsigned char)ci) << 16; return GUINT_TO_POINTER(key); } /* chmi.cz */ void rain_chmi_timer(void *arg){ char *url; time_t tt; struct tm tm; struct rain_provider *provider = (struct rain_provider*)arg; provider->timer_id = 0; tt = time(NULL); gmtime_r(&tt, &tm); dbg("%02d:%02dZ: ", tm.tm_hour, tm.tm_min); tt += provider->ofs_min * 60; gmtime_r(&tt, &tm); tm.tm_min = (tm.tm_min / 10) * 10; g_free(provider->title); provider->title = g_strdup_printf("CHMI %02d:%02dZ", tm.tm_hour, tm.tm_min); //dbg("rain_timer %d.%d.%d %d.%02d.%02d\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); url = g_strdup_printf("https://www.chmi.cz/files/portal/docs/meteo/rad/inca-cz/data/czrad-z_max3d/pacz2gmaps3.z_max3d.%04d%02d%02d.%02d%02d.0.png", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min); //url = g_strdup_printf("http://portal.chmi.cz/files/portal/docs/meteo/rad/inca-cz/data/czrad-z_max3d/pacz2gmaps3.z_max3d.20160708.1800.0.png"); provider->http = zhttp_init(); dbg("CHMI url = '%s'\n", url); zhttp_get(provider->http, zsel, url, rain_chmi_downloaded, provider); g_free(url); provider->timer_id = zselect_timer_new(zsel, 50*1000, rain_chmi_timer, provider); // restart when freezes } void rain_chmi_downloaded(struct zhttp *http){ struct rain_provider *provider = (struct rain_provider*)http->arg; SDL_Surface *newimg; if (http->state == ZHTTPST_ERROR && http->errorstr){ dbg("ERROR rain_chmi_downloaded: %s\n", http->errorstr); } if (provider->timer_id) { zselect_timer_kill(zsel, provider->timer_id); provider->timer_id = 0; } dbg("rain_chmi_downloaded: got %d bytes\n", http->response->len - http->dataofs); if (provider->rain->debug) zbinbuf_write_to_file(http->response, "_chmi.png", http->dataofs, http->response->len - http->dataofs); if (http->status == 404){ provider->ofs_min -= 10; dbg("ERROR 404, set ofs_min to %d\n", provider->ofs_min); zhttp_free(http); provider->http = NULL; provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1000, rain_chmi_timer, provider); sw_set_gdirty(SWT_MAP); return; } newimg = zpng_create(http->response->buf + http->dataofs, http->response->len - http->dataofs); if (newimg == NULL){ dbg("Can't read CHMI bitmap\n"); provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_chmi_timer, provider); }else{ dbg("CHMI bitmap loaded, %dx%d\n", newimg->w, newimg->h); if (provider->img != NULL) { SDL_FreeSurface(provider->img); } provider->img = newimg; provider->pal = provider->rain->colors; rain_chmi_load(provider); rain_analyze_scps(provider->rain); //provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_chmi_timer, provider); provider->timer_id = zselect_timer_new(zsel, 9 * 60 * 1000, rain_chmi_timer, provider); } zhttp_free(http); provider->http = NULL; sw_set_gdirty(SWT_MAP); } void rain_chmi_load(struct rain_provider *provider){ int ix, iy, c, ci, i; SDL_Surface *img = provider->img; int red = SDL_MapRGB(sdl->screen->format, 252, 0, 0); provider->w = img->w; provider->h = img->h; for (i = 0; i < RAIN_COLORS; i++) { GHashTable *hash = provider->hashes[i]; g_hash_table_foreach(hash, rain_truncate_hash, NULL); } for (iy = provider->top; iy < img->h && iy <= provider->bottom; iy++){ for (ix = provider->left; ix < img->w && ix <= provider->right; ix++){ c = z_getpixel_fmt(img, ix, iy, sdl->screen->format);// seems that R and G is swapped in image if (ix < 401 && iy > 414){ for (i = -1; c == red && i > -10 && ix + i >= 0; i--){ c = z_getpixel_fmt(img, ix + i, iy, sdl->screen->format); } } for (ci = 0; ci < RAIN_COLORS; ci++){ if (c == provider->rain->colors[ci]){ if (ci < 5) break; rain_provider_add(provider, ix, iy, ci/*9*/); break; } } } } } gpointer rain_chmi_hash(short kx, short ky, int ci){ unsigned int key = ((unsigned short)kx) >> 7; key |= (((unsigned short)ky) >> 1) & 0xff00; key |= ((unsigned char)ci) << 16; return GUINT_TO_POINTER(key); } /* weatheronline.co.uk */ void rain_weatheronline_timer(void *arg){ char *url; time_t tt; struct tm tm; struct rain_provider *provider = (struct rain_provider*)arg; provider->timer_id = 0; tt = time(NULL); tt = ((tt + 1800) / 3600) * 3600; gmtime_r(&tt, &tm); g_free(provider->title); provider->title = g_strdup_printf("WO-EU. %02d:%02dZ", tm.tm_hour, tm.tm_min); url = g_strdup(/*"http://maps.nagano.cz/weatheronline_cal3.png"*/ "http://maps.vaiz.cz/eueu.php"); provider->http = zhttp_init(); dbg("weatheronline url = '%s'\n", url); zhttp_get(provider->http, zsel, url, rain_weatheronline_downloaded, provider); g_free(url); provider->timer_id = zselect_timer_new(zsel, 50*1000, rain_weatheronline_timer, provider); // restart when freezes } void rain_weatheronline_downloaded(struct zhttp *http){ int remains; struct timeval tv; struct rain_provider *provider = (struct rain_provider*)http->arg; SDL_Surface *newimg; if (provider->timer_id) { zselect_timer_kill(zsel, provider->timer_id); provider->timer_id = 0; } if (provider->rain->debug) zbinbuf_write_to_file(http->response, "_weatheronline.png", http->dataofs, http->response->len - http->dataofs); if (http->response->len <= http->dataofs + 8 || strncmp(http->response->buf + http->dataofs, "\x89PNG\r\n\x1a\n", 8) != 0){ // image not available dbg("No PNG returned\n"); provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_wetteronline_timer, provider); goto x; } newimg = zpng_create(http->response->buf + http->dataofs, http->response->len - http->dataofs); if (newimg == NULL){ dbg("Can't read bitmap\n"); provider->pal = provider->rain->bwcolors; provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_weatheronline_timer, provider); }else{ if (provider->img != NULL) { SDL_FreeSurface(provider->img); } provider->img = newimg; provider->pal = provider->rain->colors; rain_weatheronline_load(provider); if (provider->rain->debug) { rain_provider_draw_colors(provider, provider->img); zpng_save(provider->img, "_weatheronline2.png", NULL); } rain_analyze_scps(provider->rain); //provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_weatheronline_timer, provider); gettimeofday(&tv, NULL); remains = 300000 - ((tv.tv_sec % 300) * 1000 + tv.tv_usec/1000) + 500; provider->timer_id = zselect_timer_new(zsel, remains, rain_weatheronline_timer, provider); } x:; zhttp_free(http); provider->http = NULL; sw_set_gdirty(SWT_MAP); //ST_STOP("rain_downloaded"); } // colors are in image format void rain_weatheronline_load(struct rain_provider *provider){ int ix, iy, c, ci, i; SDL_Surface *img = provider->img; provider->srccols[0] = (int)SDL_MapRGB(img->format, 250, 250, 243); // 0-0.25 mm/h //provider->srccols[0] = (int)SDL_MapRGB(img->format, 148, 148, 148); // calibration test provider->srccols[1] = (int)SDL_MapRGB(img->format, 252, 255, 193); // 0.25-1 provider->srccols[2] = (int)SDL_MapRGB(img->format, 251, 255, 92); // 1-2 provider->srccols[3] = (int)SDL_MapRGB(img->format, 160, 214, 38); // 2-5 provider->srccols[4] = (int)SDL_MapRGB(img->format, 69, 195, 121); // 5-10 provider->srccols[5] = (int)SDL_MapRGB(img->format, 0, 214, 216); // 10-15 provider->srccols[6] = (int)SDL_MapRGB(img->format, 17, 161, 214); // 15-20 provider->srccols[7] = (int)SDL_MapRGB(img->format, 9, 50, 253); // 20-30 provider->srccols[8] = (int)SDL_MapRGB(img->format, 164, 77, 196); // 30-50 provider->srccols[9] = (int)SDL_MapRGB(img->format, 228, 75, 209); // 50-80 provider->srccols[10] = (int)SDL_MapRGB(img->format, 238, 39, 8); // 80-100 provider->srccols[11] = (int)SDL_MapRGB(img->format, 156, 28, 13); // 100-150 provider->srccols[12] = (int)SDL_MapRGB(img->format, 99, 21, 14); // 150-inf. provider->translation[0] = 3; provider->translation[1] = 4; provider->translation[2] = 5; // 1 mm/h provider->translation[3] = 6; provider->translation[4] = 8; provider->translation[5] = 9; // 10 mm/h provider->translation[6] = 10; provider->translation[7] = 10; provider->translation[8] = 11; provider->translation[9] = 12; provider->translation[10] = 12; provider->translation[11] = 13; // 100 mm/h provider->translation[12] = 14; provider->w = img->w; provider->h = img->h; for (i = 0; i < RAIN_COLORS; i++) { GHashTable *hash = provider->hashes[i]; g_hash_table_foreach(hash, rain_truncate_hash, NULL); } for (iy = provider->top; iy < img->h && iy <= provider->bottom; iy++){ for (ix = provider->left; ix < img->w && ix <= provider->right; ix++){ Uint8 r, g, b; int found = 0; c = z_getpixel(img, ix, iy); /*if (ix == 60 && iy == 60){ int a =0 ; } */ i = 0; do { SDL_GetRGB(c, img->format, &r, &g, &b); if (ix + i < 0) break; if (i < -10) break; i--; c = z_getpixel(img, ix + i, iy); SDL_GetRGB(c, img->format, &r, &g, &b); } while (r <= 57 && (r == g && r == b && g == b)); /*for (i = -1; i > -10 && ix + i >= 0; i--){ c = z_getpixel(img, ix + i, iy); SDL_GetRGB(c, img->format, &r, &g, &b); if (r >= 28 || g >= 51 || b >= 153) break; }*/ for (ci = 0; ci < provider->srccolslen; ci++){ if (c == provider->srccols[ci]){ found = 1; ci = provider->translation[ci]; if (ci < 5) break; rain_provider_add(provider, ix, iy, ci); if (provider->rain->debug) z_putpixel_fmt(img, ix, iy, provider->rain->colors[ci], sdl->screen->format); break; } } if (!found){ int r = z_r(img, c); int g = z_g(img, c); int b = z_b(img, c); if (r == g && g == b && b == r) continue; if (r == 0 && g == 0 && b == 0) continue; if (r == 57 && g == 57 && b == 57) continue; if (r == 148 && g == 148 && b == 147) continue; if (r == 148 && g == 148 && b == 148) continue; if (r == 129 && g == 129 && b == 129) continue; if (r == 200 && g == 200 && b == 200) continue; //dbg("unknown color at [%d,%d] = %d, %d, %d\n", ix, iy, r, g, b); } } } } gpointer rain_weatheronline_hash(short kx, short ky, int ci){ unsigned int key = ((unsigned short)kx) >> 7; key |= (((unsigned short)ky) >> 1) & 0xff00; key |= ((unsigned char)ci) << 16; return GUINT_TO_POINTER(key); } void rain_weatheronline_img2hw(struct rain_provider *provider, float ix, float iy, double *h, double *w){ double dx = ix - 234; double dy = iy + 280; double d = sqrt(dx * dx + dy * dy) / 12.6 - 4.75; double a = atan2(dy, dx); *w = 90 - d; *h = 90 - (a * 180 / M_PI) + 9.5; *h *= 27.5 / 22.0; *w *= M_PI / 180.0; *h *= M_PI / 180.0; } /* www.rainviewer.com */ void rain_rainviewer_init(struct rain_provider *provider){ if (gses == NULL || provider == NULL) return; provider->rv_size = 256; double qrb = cfg->rain_maxqrb; // TODO double qtf; double maxh = 0, maxw = 0; for (qtf = 0.0; qtf <= 180.0; qtf += 30.0){ double h, w; qrbqtf2hw(/*gses->myh*/ 0, gses->myw, qrb, qtf * M_PI / 180.0, &h, &w); double dw = fabs(w - gses->myw); if (h > maxh) maxh = h; if (dw > maxw) maxw = dw; //dbg("h=%3.1f w=%3.1f\n", h * 180.0 / M_PI, w * 180 / M_PI); } dbg("qrb=%1.0f maxh=%3.1f maxw=%3.1f\n", qrb, maxh * 180.0 / M_PI, maxw * 180 / M_PI); provider->rv_zoom = tile_googlezoom(2 * maxh, 2 * maxw); provider->rv_pow = pow(2, provider->rv_zoom); provider->rv_mul = provider->rv_size * provider->rv_pow; dbg("zoom=%d pow=%d mul=%d\n", provider->rv_zoom, provider->rv_pow, provider->rv_mul); //provider->rv_zoom = 0; rain_rainviewer_hw2himg(provider, gses->myh, gses->myw, &provider->rv_mypx, &provider->rv_mypy); dbg("mypx=%d mypy=%d\n", provider->rv_mypx, provider->rv_mypy); provider->rv_px0 = provider->rv_mypx - (provider->rv_size -1) / 2.0; provider->rv_py0 = provider->rv_mypy - (provider->rv_size - 1) / 2.0; dbg("px0=%d py0=%d\n", provider->rv_px0, provider->rv_py0); double h, w; rain_rainviewer_img2hw(provider, 0, 0, &h, &w); dbg("0 0 = %3.2f %3.2f\n", h * 180.0 / M_PI, w * 180.0 / M_PI); rain_rainviewer_img2hw(provider, 128 * provider->rv_pow, 128 * provider->rv_pow, &h, &w); dbg("128 128 = %3.2f %3.2f\n", h * 180.0 / M_PI, w * 180.0 / M_PI); rain_rainviewer_img2hw(provider, 256 * provider->rv_pow, 256 * provider->rv_pow, &h, &w); dbg("256 256 = %3.2f %3.2f\n", h * 180.0 / M_PI, w * 180.0 / M_PI); dbg("\n"); /*rain_rainviewer_img2hw(provider, 4352, 2560, &h, &w); dbg("4352 2560 = %3.2f %3.2f\n", h * 180.0 / M_PI, w * 180.0 / M_PI); rain_rainviewer_img2hw(provider, 4608, 2816, &h, &w); dbg("4608 2816 = %3.2f %3.2f\n", h * 180.0 / M_PI, w * 180.0 / M_PI); int ix, iy; rain_rainviewer_hw2himg(provider, 11.25 * M_PI / 180.0, 55.776575 * M_PI / 180.0, &ix, &iy); dbg("%d %d\n", ix, iy); rain_rainviewer_hw2himg(provider, 22.5 * M_PI / 180.0, 48.922497 * M_PI / 180.0, &ix, &iy); dbg("%d %d\n", ix, iy); */ /*double h, w; rain_rainviewer_img2hw(provider, gx, gy, &h, &w); h *= 180 / M_PI; w *= 180 / M_PI;*/ provider->hpx1 = provider->rv_px0; // x provider->hpx2 = provider->rv_px0 + provider->rv_size - 1; // x provider->wpx1 = provider->rv_py0 + provider->rv_size - 1; // y provider->wpx2 = provider->rv_py0; // y provider->left = provider->rv_px0; provider->top = provider->rv_py0; provider->right = provider->rv_px0 + provider->rv_size - 1; provider->bottom = provider->rv_py0 + provider->rv_size - 1; rain_rainviewer_img2hw(provider, provider->hpx1, provider->wpx1+1, &provider->h1, &provider->w1); rain_rainviewer_img2hw(provider, provider->hpx2+1, provider->wpx2, &provider->h2, &provider->w2); dbg("dh = %3.2f, dw = %3.2f \n", fabs(provider->h2 - provider->h1) * 180.0 / M_PI, fabs(provider->w2 - provider->w1) * 180.0 / M_PI); dbg("h = %3.2f ... %3.2f (my %3.2f)\n", provider->h1 * 180.0 / M_PI, provider->h2 * 180.0 / M_PI, gses->myh * 180.0 / M_PI); dbg("w = %3.2f ... %3.2f (my %3.2f) \n", provider->w1 * 180.0 / M_PI, provider->w2 * 180.0 / M_PI, gses->myw * 180.0 / M_PI); provider->hmult = (provider->h2 - provider->h1) / (provider->hpx2 - provider->hpx1); provider->wmult = (provider->w2 - provider->w1) / (provider->wpx2 - provider->wpx1); } int tile_googlezoom(double dh, double dw) { double hexp, wexp, gzh, gzw; int gz; hexp = 2 * M_PI / fabs(dh); if (hexp < 2.0) gzh = 0; else gzh = log(hexp) / log(2); //dbg("hexp=%4.2f gzh=%4.2f \n", hexp, gzh); //wexp = M_PI / fabs(dw); wexp = ((2 * MAXLAT) * M_PI) / fabs(dw); if (wexp < 2.0) gzw = 0; else gzw = log(wexp) / log(2); //dbg("wexp=%4.2f gzw=%4.2f \n", wexp, gzw); gz = (int)floor(Z_MIN(gzw, gzh)); //dbg("gz=%d\n", gz); if (gz > 20) gz = 20; return (int)gz; } void rain_rainviewer_timer(void *arg){ char *url; struct rain_provider *provider = (struct rain_provider*)arg; provider->timer_id = 0; url = "https://api.rainviewer.com/public/weather-maps.json"; provider->http = zhttp_init(); dbg("rainviewer %p url = '%s'\n", provider, url); zhttp_get(provider->http, zsel, url, rain_rainviewer_downloaded_json, provider); g_assert(provider->timer_id == 0); provider->timer_id = zselect_timer_new(zsel, 60 * 1000, rain_rainviewer_timer, provider); } void rain_rainviewer_downloaded_json(struct zhttp *http){ struct rain_provider *provider = (struct rain_provider*)http->arg; if (provider->timer_id) { zselect_timer_kill(zsel, provider->timer_id); provider->timer_id = 0; } if (http->state == ZHTTPST_ERROR && http->errorstr){ dbg("ERROR rain_rainviewer_downloaded_json: %s\n", http->errorstr); } dbg("rain_rainviewer_downloaded_json: got %d bytes\n", http->response->len - http->dataofs); if (provider->rain->debug) zbinbuf_write_to_file(http->response, "_rainviewer.json", http->dataofs, http->response->len - http->dataofs); char *json = g_new(char, http->response->len + 1); zbinbuf_getstr(http->response, http->dataofs, json, http->response->len + 1); zhttp_free(http); provider->http = NULL; rain_rainviewer_process_json(provider, json); g_free(json); g_assert(provider->timer_id == 0); provider->timer_id = zselect_timer_new(zsel, 60 * 1000, rain_rainviewer_timer, provider); } void rain_rainviewer_process_json(struct rain_provider *provider, const char *json){ int len = strlen(json); int i; time_t tt = 0; for (i = 0;; i++){ char key[246]; g_snprintf(key, sizeof(key), "radar.past.%d.time", i); char *s = zjson_get_str(json, len, key); if (s == NULL) break; tt = (time_t)strtoll(s, NULL, 10); //dbg("%d tt=%lld\n", i, (long long)tt); g_snprintf(key, sizeof(key), "radar.past.%d.path", i); s = zjson_get_str(json, len, key); if (s == NULL) break; g_free(provider->rv_path); provider->rv_path = s; } char *host = zjson_get_str(json, len, "host"); struct tm tm; gmtime_r(&tt, &tm); //dbg("rainviewer latest = %lld = %02d:%02dZ\n", (long long)tt, tm.tm_hour, tm.tm_min); if (host != NULL && (provider->rv_oldpath == NULL || strcmp(provider->rv_path, provider->rv_oldpath) != 0)){ g_free(provider->title); provider->title = g_strdup_printf("RainV. %02d:%02dZ", tm.tm_hour, tm.tm_min); char *url = g_strdup_printf("%s%s/%d/%d/%6.4f/%6.4f/0/0_0.png", host, provider->rv_path, provider->rv_size, provider->rv_zoom, gses->myw * 180.0 / M_PI, gses->myh * 180.0 / M_PI); //url = g_strdup("https://tile.openstreetmap.org/0/0/0.png"); //url = g_strdup("https://tile.openstreetmap.org/5/17/10.png"); provider->http = zhttp_init(); dbg("rainviewer %02d:%02dZ = '%s'\n", tm.tm_hour, tm.tm_min, url); zhttp_get(provider->http, zsel, url, rain_rainviewer_downloaded_image, provider); g_free(url); } g_free(provider->rv_oldpath); provider->rv_oldpath = g_strdup(provider->rv_path); } void rain_rainviewer_downloaded_image(struct zhttp *http){ struct rain_provider *provider = (struct rain_provider*)http->arg; SDL_Surface *newimg; if (provider->timer_id) { zselect_timer_kill(zsel, provider->timer_id); provider->timer_id = 0; } if (http->state == ZHTTPST_ERROR && http->errorstr){ dbg("ERROR rain_rainviewer_downloaded_image: %s\n", http->errorstr); zhttp_free(http); provider->http = NULL; g_assert(provider->timer_id == 0); provider->timer_id = zselect_timer_new(zsel, 60 * 1000, rain_rainviewer_timer, provider); g_free(provider->rv_oldpath); provider->rv_oldpath = NULL; return; } dbg("rain_rainviewer_downloaded_image: got %d bytes\n", http->response->len - http->dataofs); if (provider->rain->debug) zbinbuf_write_to_file(http->response, "_rainviewer.png", http->dataofs, http->response->len - http->dataofs); newimg = zpng_create(http->response->buf + http->dataofs, http->response->len - http->dataofs); if (newimg == NULL){ dbg("Can't read rainviewer bitmap\n"); provider->pal = provider->rain->bwcolors; g_free(provider->rv_oldpath); provider->rv_oldpath = NULL; } else{ dbg("rainviewer bitmap loaded, %dx%d\n", newimg->w, newimg->h); if (provider->img != NULL) { SDL_FreeSurface(provider->img); } provider->img = newimg; provider->pal = provider->rain->colors; rain_rainviewer_load(provider); rain_analyze_scps(provider->rain); } zhttp_free(http); provider->http = NULL; sw_set_gdirty(SWT_MAP); g_assert(provider->timer_id == 0); provider->timer_id = zselect_timer_new(zsel, 1 * 60 * 1000, rain_rainviewer_timer, provider); } void rain_rainviewer_load(struct rain_provider *provider){ int ix, iy, c, ci, i; SDL_Surface *img = provider->img; provider->w = img->w; provider->h = img->h; for (i = 0; i < RAIN_COLORS; i++) { GHashTable *hash = provider->hashes[i]; g_hash_table_foreach(hash, rain_truncate_hash, NULL); } for (iy = 0; iy < img->h; iy++){ for (ix = 0; ix < img->w; ix++){ c = z_getpixel_fmt(img, ix, iy, sdl->screen->format); int red = z_r(img, c); ci = (red - 36) / 4; //if (ci < 0) continue; if (ci < 5) continue; if (ci >= RAIN_COLORS) ci = RAIN_COLORS - 1; rain_provider_add(provider, provider->rv_px0 + ix, provider->rv_py0 + iy, ci/*5*/); } } } gpointer rain_rainviewer_hash(short kx, short ky, int ci){ unsigned int key = ((unsigned short)kx) >> 7; key |= (((unsigned short)ky) >> 1) & 0xff00; key |= ((unsigned char)ci) << 16; return GUINT_TO_POINTER(key); } // y = (ln(tan(pi/4 + (x*pi/180)/2))) * 90/pi for x = -85 .. 85 void rain_rainviewer_hw2himg(struct rain_provider *provider, double h, double w, int *x, int *y){ *x = provider->rv_mul * (h + M_PI) / (2 * M_PI); *y = provider->rv_mul * (M_PI - log(tan(M_PI_4 + w / 2))) / (2 * M_PI); } void rain_rainviewer_img2hw(struct rain_provider *provider, float x, float y, double *h, double *w){ *h = (x * 2 * M_PI / provider->rv_mul) - M_PI; *w = 2 * (atan(exp(M_PI - y * 2 * M_PI / provider->rv_mul)) - M_PI_4); } #endif tucnak-4.32/src/codepage.inc0000644000175000017500000014725611277513162012725 00000000000000/* Automatoticaly generated by gen-cp */ struct table_entry table_7bit [] = { {0}, {0} }; char *aliases_7bit [] = {"us-ascii", "ascii", "7bit", "7-bit", "iso-ir-6", "ANSI_X3.4", "646", NULL }; struct table_entry table_8859_1 [] = { {0xA0, 0x00A0}, {0xA1, 0x00A1}, {0xA2, 0x00A2}, {0xA3, 0x00A3}, {0xA4, 0x00A4}, {0xA5, 0x00A5}, {0xA6, 0x00A6}, {0xA7, 0x00A7}, {0xA8, 0x00A8}, {0xA9, 0x00A9}, {0xAA, 0x00AA}, {0xAB, 0x00AB}, {0xAC, 0x00AC}, {0xAD, 0x00AD}, {0xAE, 0x00AE}, {0xAF, 0x00AF}, {0xB0, 0x00B0}, {0xB1, 0x00B1}, {0xB2, 0x00B2}, {0xB3, 0x00B3}, {0xB4, 0x00B4}, {0xB5, 0x00B5}, {0xB6, 0x00B6}, {0xB7, 0x00B7}, {0xB8, 0x00B8}, {0xB9, 0x00B9}, {0xBA, 0x00BA}, {0xBB, 0x00BB}, {0xBC, 0x00BC}, {0xBD, 0x00BD}, {0xBE, 0x00BE}, {0xBF, 0x00BF}, {0xC0, 0x00C0}, {0xC1, 0x00C1}, {0xC2, 0x00C2}, {0xC3, 0x00C3}, {0xC4, 0x00C4}, {0xC5, 0x00C5}, {0xC6, 0x00C6}, {0xC7, 0x00C7}, {0xC8, 0x00C8}, {0xC9, 0x00C9}, {0xCA, 0x00CA}, {0xCB, 0x00CB}, {0xCC, 0x00CC}, {0xCD, 0x00CD}, {0xCE, 0x00CE}, {0xCF, 0x00CF}, {0xD0, 0x00D0}, {0xD1, 0x00D1}, {0xD2, 0x00D2}, {0xD3, 0x00D3}, {0xD4, 0x00D4}, {0xD5, 0x00D5}, {0xD6, 0x00D6}, {0xD7, 0x00D7}, {0xD8, 0x00D8}, {0xD9, 0x00D9}, {0xDA, 0x00DA}, {0xDB, 0x00DB}, {0xDC, 0x00DC}, {0xDD, 0x00DD}, {0xDE, 0x00DE}, {0xDF, 0x00DF}, {0xE0, 0x00E0}, {0xE1, 0x00E1}, {0xE2, 0x00E2}, {0xE3, 0x00E3}, {0xE4, 0x00E4}, {0xE5, 0x00E5}, {0xE6, 0x00E6}, {0xE7, 0x00E7}, {0xE8, 0x00E8}, {0xE9, 0x00E9}, {0xEA, 0x00EA}, {0xEB, 0x00EB}, {0xEC, 0x00EC}, {0xED, 0x00ED}, {0xEE, 0x00EE}, {0xEF, 0x00EF}, {0xF0, 0x00F0}, {0xF1, 0x00F1}, {0xF2, 0x00F2}, {0xF3, 0x00F3}, {0xF4, 0x00F4}, {0xF5, 0x00F5}, {0xF6, 0x00F6}, {0xF7, 0x00F7}, {0xF8, 0x00F8}, {0xF9, 0x00F9}, {0xFA, 0x00FA}, {0xFB, 0x00FB}, {0xFC, 0x00FC}, {0xFD, 0x00FD}, {0xFE, 0x00FE}, {0xFF, 0x00FF}, {0, 0} }; char *aliases_8859_1 [] = {"ISO-8859-1", "8859-1", "iso-ir-100", "latin1", "l1", "819", NULL }; struct table_entry table_8859_2 [] = { {0xA0, 0x00A0}, {0xA1, 0x0104}, {0xA2, 0x02D8}, {0xA3, 0x0141}, {0xA4, 0x00A4}, {0xA5, 0x013D}, {0xA6, 0x015A}, {0xA7, 0x00A7}, {0xA8, 0x00A8}, {0xA9, 0x0160}, {0xAA, 0x015E}, {0xAB, 0x0164}, {0xAC, 0x0179}, {0xAD, 0x00AD}, {0xAE, 0x017D}, {0xAF, 0x017B}, {0xB0, 0x00B0}, {0xB1, 0x0105}, {0xB2, 0x02DB}, {0xB3, 0x0142}, {0xB4, 0x00B4}, {0xB5, 0x013E}, {0xB6, 0x015B}, {0xB7, 0x02C7}, {0xB8, 0x00B8}, {0xB9, 0x0161}, {0xBA, 0x015F}, {0xBB, 0x0165}, {0xBC, 0x017A}, {0xBD, 0x02DD}, {0xBE, 0x017E}, {0xBF, 0x017C}, {0xC0, 0x0154}, {0xC1, 0x00C1}, {0xC2, 0x00C2}, {0xC3, 0x0102}, {0xC4, 0x00C4}, {0xC5, 0x0139}, {0xC6, 0x0106}, {0xC7, 0x00C7}, {0xC8, 0x010C}, {0xC9, 0x00C9}, {0xCA, 0x0118}, {0xCB, 0x00CB}, {0xCC, 0x011A}, {0xCD, 0x00CD}, {0xCE, 0x00CE}, {0xCF, 0x010E}, {0xD0, 0x0110}, {0xD1, 0x0143}, {0xD2, 0x0147}, {0xD3, 0x00D3}, {0xD4, 0x00D4}, {0xD5, 0x0150}, {0xD6, 0x00D6}, {0xD7, 0x00D7}, {0xD8, 0x0158}, {0xD9, 0x016E}, {0xDA, 0x00DA}, {0xDB, 0x0170}, {0xDC, 0x00DC}, {0xDD, 0x00DD}, {0xDE, 0x0162}, {0xDF, 0x00DF}, {0xE0, 0x0155}, {0xE1, 0x00E1}, {0xE2, 0x00E2}, {0xE3, 0x0103}, {0xE4, 0x00E4}, {0xE5, 0x013A}, {0xE6, 0x0107}, {0xE7, 0x00E7}, {0xE8, 0x010D}, {0xE9, 0x00E9}, {0xEA, 0x0119}, {0xEB, 0x00EB}, {0xEC, 0x011B}, {0xED, 0x00ED}, {0xEE, 0x00EE}, {0xEF, 0x010F}, {0xF0, 0x0111}, {0xF1, 0x0144}, {0xF2, 0x0148}, {0xF3, 0x00F3}, {0xF4, 0x00F4}, {0xF5, 0x0151}, {0xF6, 0x00F6}, {0xF7, 0x00F7}, {0xF8, 0x0159}, {0xF9, 0x016F}, {0xFA, 0x00FA}, {0xFB, 0x0171}, {0xFC, 0x00FC}, {0xFD, 0x00FD}, {0xFE, 0x0163}, {0xFF, 0x02D9}, {0, 0} }; char *aliases_8859_2 [] = {"ISO-8859-2", "8859-2", "iso-ir-101", "latin2", "l2", NULL }; struct table_entry table_8859_4 [] = { {0x80, 0x0080}, {0x81, 0x0081}, {0x82, 0x0082}, {0x83, 0x0083}, {0x84, 0x0084}, {0x85, 0x0085}, {0x86, 0x0086}, {0x87, 0x0087}, {0x88, 0x0088}, {0x89, 0x0089}, {0x8A, 0x008A}, {0x8B, 0x008B}, {0x8C, 0x008C}, {0x8D, 0x008D}, {0x8E, 0x008E}, {0x8F, 0x008F}, {0x90, 0x0090}, {0x91, 0x0091}, {0x92, 0x0092}, {0x93, 0x0093}, {0x94, 0x0094}, {0x95, 0x0095}, {0x96, 0x0096}, {0x97, 0x0097}, {0x98, 0x0098}, {0x99, 0x0099}, {0x9A, 0x009A}, {0x9B, 0x009B}, {0x9C, 0x009C}, {0x9D, 0x009D}, {0x9E, 0x009E}, {0x9F, 0x009F}, {0xA0, 0x00A0}, {0xA1, 0x0104}, {0xA2, 0x0138}, {0xA3, 0x0156}, {0xA4, 0x00A4}, {0xA5, 0x0128}, {0xA6, 0x013B}, {0xA7, 0x00A7}, {0xA8, 0x00A8}, {0xA9, 0x0160}, {0xAA, 0x0112}, {0xAB, 0x0122}, {0xAC, 0x0166}, {0xAD, 0x00AD}, {0xAE, 0x017D}, {0xAF, 0x00AF}, {0xB0, 0x00B0}, {0xB1, 0x0105}, {0xB2, 0x02DB}, {0xB3, 0x0157}, {0xB4, 0x00B4}, {0xB5, 0x0129}, {0xB6, 0x013C}, {0xB7, 0x02C7}, {0xB8, 0x00B8}, {0xB9, 0x0161}, {0xBA, 0x0113}, {0xBB, 0x0123}, {0xBC, 0x0167}, {0xBD, 0x014A}, {0xBE, 0x017E}, {0xBF, 0x014B}, {0xC0, 0x0100}, {0xC1, 0x00C1}, {0xC2, 0x00C2}, {0xC3, 0x00C3}, {0xC4, 0x00C4}, {0xC5, 0x00C5}, {0xC6, 0x00C6}, {0xC7, 0x012E}, {0xC8, 0x010C}, {0xC9, 0x00C9}, {0xCA, 0x0118}, {0xCB, 0x00CB}, {0xCC, 0x0116}, {0xCD, 0x00CD}, {0xCE, 0x00CE}, {0xCF, 0x012A}, {0xD0, 0x0110}, {0xD1, 0x0145}, {0xD2, 0x014C}, {0xD3, 0x0136}, {0xD4, 0x00D4}, {0xD5, 0x00D5}, {0xD6, 0x00D6}, {0xD7, 0x00D7}, {0xD8, 0x00D8}, {0xD9, 0x0172}, {0xDA, 0x00DA}, {0xDB, 0x00DB}, {0xDC, 0x00DC}, {0xDD, 0x0168}, {0xDE, 0x016A}, {0xDF, 0x00DF}, {0xE0, 0x0101}, {0xE1, 0x00E1}, {0xE2, 0x00E2}, {0xE3, 0x00E3}, {0xE4, 0x00E4}, {0xE5, 0x00E5}, {0xE6, 0x00E6}, {0xE7, 0x012F}, {0xE8, 0x010D}, {0xE9, 0x00E9}, {0xEA, 0x0119}, {0xEB, 0x00EB}, {0xEC, 0x0117}, {0xED, 0x00ED}, {0xEE, 0x00EE}, {0xEF, 0x012B}, {0xF0, 0x0111}, {0xF1, 0x0146}, {0xF2, 0x014D}, {0xF3, 0x0137}, {0xF4, 0x00F4}, {0xF5, 0x00F5}, {0xF6, 0x00F6}, {0xF7, 0x00F7}, {0xF8, 0x00F8}, {0xF9, 0x0173}, {0xFA, 0x00FA}, {0xFB, 0x00FB}, {0xFC, 0x00FC}, {0xFD, 0x0169}, {0xFE, 0x016B}, {0xFF, 0x02D9}, {0, 0} }; char *aliases_8859_4 [] = {"ISO-8859-4", "8859-4", "iso-ir-110", "latin4", "l4", NULL }; struct table_entry table_8859_5 [] = { {0x80, 0x0080}, {0x81, 0x0081}, {0x82, 0x0082}, {0x83, 0x0083}, {0x84, 0x0084}, {0x85, 0x0085}, {0x86, 0x0086}, {0x87, 0x0087}, {0x88, 0x0088}, {0x89, 0x0089}, {0x8A, 0x008A}, {0x8B, 0x008B}, {0x8C, 0x008C}, {0x8D, 0x008D}, {0x8E, 0x008E}, {0x8F, 0x008F}, {0x90, 0x0090}, {0x91, 0x0091}, {0x92, 0x0092}, {0x93, 0x0093}, {0x94, 0x0094}, {0x95, 0x0095}, {0x96, 0x0096}, {0x97, 0x0097}, {0x98, 0x0098}, {0x99, 0x0099}, {0x9A, 0x009A}, {0x9B, 0x009B}, {0x9C, 0x009C}, {0x9D, 0x009D}, {0x9E, 0x009E}, {0x9F, 0x009F}, {0xA0, 0x00A0}, {0xA1, 0x0401}, {0xA2, 0x0402}, {0xA3, 0x0403}, {0xA4, 0x0404}, {0xA5, 0x0405}, {0xA6, 0x0406}, {0xA7, 0x0407}, {0xA8, 0x0408}, {0xA9, 0x0409}, {0xAA, 0x040A}, {0xAB, 0x040B}, {0xAC, 0x040C}, {0xAD, 0x00AD}, {0xAE, 0x040E}, {0xAF, 0x040F}, {0xB0, 0x0410}, {0xB1, 0x0411}, {0xB2, 0x0412}, {0xB3, 0x0413}, {0xB4, 0x0414}, {0xB5, 0x0415}, {0xB6, 0x0416}, {0xB7, 0x0417}, {0xB8, 0x0418}, {0xB9, 0x0419}, {0xBA, 0x041A}, {0xBB, 0x041B}, {0xBC, 0x041C}, {0xBD, 0x041D}, {0xBE, 0x041E}, {0xBF, 0x041F}, {0xC0, 0x0420}, {0xC1, 0x0421}, {0xC2, 0x0422}, {0xC3, 0x0423}, {0xC4, 0x0424}, {0xC5, 0x0425}, {0xC6, 0x0426}, {0xC7, 0x0427}, {0xC8, 0x0428}, {0xC9, 0x0429}, {0xCA, 0x042A}, {0xCB, 0x042B}, {0xCC, 0x042C}, {0xCD, 0x042D}, {0xCE, 0x042E}, {0xCF, 0x042F}, {0xD0, 0x0430}, {0xD1, 0x0431}, {0xD2, 0x0432}, {0xD3, 0x0433}, {0xD4, 0x0434}, {0xD5, 0x0435}, {0xD6, 0x0436}, {0xD7, 0x0437}, {0xD8, 0x0438}, {0xD9, 0x0439}, {0xDA, 0x043A}, {0xDB, 0x043B}, {0xDC, 0x043C}, {0xDD, 0x043D}, {0xDE, 0x043E}, {0xDF, 0x043F}, {0xE0, 0x0440}, {0xE1, 0x0441}, {0xE2, 0x0442}, {0xE3, 0x0443}, {0xE4, 0x0444}, {0xE5, 0x0445}, {0xE6, 0x0446}, {0xE7, 0x0447}, {0xE8, 0x0448}, {0xE9, 0x0449}, {0xEA, 0x044A}, {0xEB, 0x044B}, {0xEC, 0x044C}, {0xED, 0x044D}, {0xEE, 0x044E}, {0xEF, 0x044F}, {0xF0, 0x2116}, {0xF1, 0x0451}, {0xF2, 0x0452}, {0xF3, 0x0453}, {0xF4, 0x0454}, {0xF5, 0x0455}, {0xF6, 0x0456}, {0xF7, 0x0457}, {0xF8, 0x0458}, {0xF9, 0x0459}, {0xFA, 0x045A}, {0xFB, 0x045B}, {0xFC, 0x045C}, {0xFD, 0x00A7}, {0xFE, 0x045E}, {0xFF, 0x045F}, {0, 0} }; char *aliases_8859_5 [] = {"ISO-8895-5", "8859-5" , NULL }; struct table_entry table_8859_7 [] = { {0x80, 0x0080}, {0x81, 0x0081}, {0x82, 0x0082}, {0x83, 0x0083}, {0x84, 0x0084}, {0x85, 0x0085}, {0x86, 0x0086}, {0x87, 0x0087}, {0x88, 0x0088}, {0x89, 0x0089}, {0x8A, 0x008A}, {0x8B, 0x008B}, {0x8C, 0x008C}, {0x8D, 0x008D}, {0x8E, 0x008E}, {0x8F, 0x008F}, {0x90, 0x0090}, {0x91, 0x0091}, {0x92, 0x0092}, {0x93, 0x0093}, {0x94, 0x0094}, {0x95, 0x0095}, {0x96, 0x0096}, {0x97, 0x0097}, {0x98, 0x0098}, {0x99, 0x0099}, {0x9A, 0x009A}, {0x9B, 0x009B}, {0x9C, 0x009C}, {0x9D, 0x009D}, {0x9E, 0x009E}, {0x9F, 0x009F}, {0xA0, 0x00A0}, {0xA1, 0x2018}, {0xA2, 0x2019}, {0xA3, 0x00A3}, {0xA6, 0x00A6}, {0xA7, 0x00A7}, {0xA8, 0x00A8}, {0xA9, 0x00A9}, {0xAB, 0x00AB}, {0xAC, 0x00AC}, {0xAD, 0x00AD}, {0xAF, 0x2015}, {0xB0, 0x00B0}, {0xB1, 0x00B1}, {0xB2, 0x00B2}, {0xB3, 0x00B3}, {0xB4, 0x0384}, {0xB5, 0x0385}, {0xB6, 0x0386}, {0xB7, 0x00B7}, {0xB8, 0x0388}, {0xB9, 0x0389}, {0xBA, 0x038A}, {0xBB, 0x00BB}, {0xBC, 0x038C}, {0xBD, 0x00BD}, {0xBE, 0x038E}, {0xBF, 0x038F}, {0xC0, 0x0390}, {0xC1, 0x0391}, {0xC2, 0x0392}, {0xC3, 0x0393}, {0xC4, 0x0394}, {0xC5, 0x0395}, {0xC6, 0x0396}, {0xC7, 0x0397}, {0xC8, 0x0398}, {0xC9, 0x0399}, {0xCA, 0x039A}, {0xCB, 0x039B}, {0xCC, 0x039C}, {0xCD, 0x039D}, {0xCE, 0x039E}, {0xCF, 0x039F}, {0xD0, 0x03A0}, {0xD1, 0x03A1}, {0xD3, 0x03A3}, {0xD4, 0x03A4}, {0xD5, 0x03A5}, {0xD6, 0x03A6}, {0xD7, 0x03A7}, {0xD8, 0x03A8}, {0xD9, 0x03A9}, {0xDA, 0x03AA}, {0xDB, 0x03AB}, {0xDC, 0x03AC}, {0xDD, 0x03AD}, {0xDE, 0x03AE}, {0xDF, 0x03AF}, {0xE0, 0x03B0}, {0xE1, 0x03B1}, {0xE2, 0x03B2}, {0xE3, 0x03B3}, {0xE4, 0x03B4}, {0xE5, 0x03B5}, {0xE6, 0x03B6}, {0xE7, 0x03B7}, {0xE8, 0x03B8}, {0xE9, 0x03B9}, {0xEA, 0x03BA}, {0xEB, 0x03BB}, {0xEC, 0x03BC}, {0xED, 0x03BD}, {0xEE, 0x03BE}, {0xEF, 0x03BF}, {0xF0, 0x03C0}, {0xF1, 0x03C1}, {0xF2, 0x03C2}, {0xF3, 0x03C3}, {0xF4, 0x03C4}, {0xF5, 0x03C5}, {0xF6, 0x03C6}, {0xF7, 0x03C7}, {0xF8, 0x03C8}, {0xF9, 0x03C9}, {0xFA, 0x03CA}, {0xFB, 0x03CB}, {0xFC, 0x03CC}, {0xFD, 0x03CD}, {0xFE, 0x03CE}, {0, 0} }; char *aliases_8859_7 [] = {"ISO-8859-7", "8859-7", "iso-ir-126", "elot-928", NULL }; struct table_entry table_8859_9 [] = { {0x80, 0x0080}, {0x81, 0x0081}, {0x82, 0x0082}, {0x83, 0x0083}, {0x84, 0x0084}, {0x85, 0x0085}, {0x86, 0x0086}, {0x87, 0x0087}, {0x88, 0x0088}, {0x89, 0x0089}, {0x8A, 0x008A}, {0x8B, 0x008B}, {0x8C, 0x008C}, {0x8D, 0x008D}, {0x8E, 0x008E}, {0x8F, 0x008F}, {0x90, 0x0090}, {0x91, 0x0091}, {0x92, 0x0092}, {0x93, 0x0093}, {0x94, 0x0094}, {0x95, 0x0095}, {0x96, 0x0096}, {0x97, 0x0097}, {0x98, 0x0098}, {0x99, 0x0099}, {0x9A, 0x009A}, {0x9B, 0x009B}, {0x9C, 0x009C}, {0x9D, 0x009D}, {0x9E, 0x009E}, {0x9F, 0x009F}, {0xA0, 0x00A0}, {0xA1, 0x00A1}, {0xA2, 0x00A2}, {0xA3, 0x00A3}, {0xA4, 0x00A4}, {0xA5, 0x00A5}, {0xA6, 0x00A6}, {0xA7, 0x00A7}, {0xA8, 0x00A8}, {0xA9, 0x00A9}, {0xAA, 0x00AA}, {0xAB, 0x00AB}, {0xAC, 0x00AC}, {0xAD, 0x00AD}, {0xAE, 0x00AE}, {0xAF, 0x00AF}, {0xB0, 0x00B0}, {0xB1, 0x00B1}, {0xB2, 0x00B2}, {0xB3, 0x00B3}, {0xB4, 0x00B4}, {0xB5, 0x00B5}, {0xB6, 0x00B6}, {0xB7, 0x00B7}, {0xB8, 0x00B8}, {0xB9, 0x00B9}, {0xBA, 0x00BA}, {0xBB, 0x00BB}, {0xBC, 0x00BC}, {0xBD, 0x00BD}, {0xBE, 0x00BE}, {0xBF, 0x00BF}, {0xC0, 0x00C0}, {0xC1, 0x00C1}, {0xC2, 0x00C2}, {0xC3, 0x00C3}, {0xC4, 0x00C4}, {0xC5, 0x00C5}, {0xC6, 0x00C6}, {0xC7, 0x00C7}, {0xC8, 0x00C8}, {0xC9, 0x00C9}, {0xCA, 0x00CA}, {0xCB, 0x00CB}, {0xCC, 0x00CC}, {0xCD, 0x00CD}, {0xCE, 0x00CE}, {0xCF, 0x00CF}, {0xD0, 0x011E}, {0xD1, 0x00D1}, {0xD2, 0x00D2}, {0xD3, 0x00D3}, {0xD4, 0x00D4}, {0xD5, 0x00D5}, {0xD6, 0x00D6}, {0xD7, 0x00D7}, {0xD8, 0x00D8}, {0xD9, 0x00D9}, {0xDA, 0x00DA}, {0xDB, 0x00DB}, {0xDC, 0x00DC}, {0xDD, 0x0130}, {0xDE, 0x015E}, {0xDF, 0x00DF}, {0xE0, 0x00E0}, {0xE1, 0x00E1}, {0xE2, 0x00E2}, {0xE3, 0x00E3}, {0xE4, 0x00E4}, {0xE5, 0x00E5}, {0xE6, 0x00E6}, {0xE7, 0x00E7}, {0xE8, 0x00E8}, {0xE9, 0x00E9}, {0xEA, 0x00EA}, {0xEB, 0x00EB}, {0xEC, 0x00EC}, {0xED, 0x00ED}, {0xEE, 0x00EE}, {0xEF, 0x00EF}, {0xF0, 0x011F}, {0xF1, 0x00F1}, {0xF2, 0x00F2}, {0xF3, 0x00F3}, {0xF4, 0x00F4}, {0xF5, 0x00F5}, {0xF6, 0x00F6}, {0xF7, 0x00F7}, {0xF8, 0x00F8}, {0xF9, 0x00F9}, {0xFA, 0x00FA}, {0xFB, 0x00FB}, {0xFC, 0x00FC}, {0xFD, 0x0131}, {0xFE, 0x015F}, {0xFF, 0x00FF}, {0, 0} }; char *aliases_8859_9 [] = {"ISO-8895-9", "8859-9" , NULL }; struct table_entry table_8859_13 [] = { {0x80, 0x0080}, {0x81, 0x0081}, {0x82, 0x0082}, {0x83, 0x0083}, {0x84, 0x0084}, {0x85, 0x0085}, {0x86, 0x0086}, {0x87, 0x0087}, {0x88, 0x0088}, {0x89, 0x0089}, {0x8A, 0x008A}, {0x8B, 0x008B}, {0x8C, 0x008C}, {0x8D, 0x008D}, {0x8E, 0x008E}, {0x8F, 0x008F}, {0x90, 0x0090}, {0x91, 0x0091}, {0x92, 0x0092}, {0x93, 0x0093}, {0x94, 0x0094}, {0x95, 0x0095}, {0x96, 0x0096}, {0x97, 0x0097}, {0x98, 0x0098}, {0x99, 0x0099}, {0x9A, 0x009A}, {0x9B, 0x009B}, {0x9C, 0x009C}, {0x9D, 0x009D}, {0x9E, 0x009E}, {0x9F, 0x009F}, {0xA0, 0x00A0}, {0xA1, 0x201D}, {0xA2, 0x00A2}, {0xA3, 0x00A3}, {0xA4, 0x00A4}, {0xA5, 0x201E}, {0xA6, 0x00A6}, {0xA7, 0x00A7}, {0xA8, 0x00D8}, {0xA9, 0x00A9}, {0xAA, 0x0156}, {0xAB, 0x00AB}, {0xAC, 0x00AC}, {0xAD, 0x00AD}, {0xAE, 0x00AE}, {0xAF, 0x00C6}, {0xB0, 0x00B0}, {0xB1, 0x00B1}, {0xB2, 0x00B2}, {0xB3, 0x00B3}, {0xB4, 0x201C}, {0xB5, 0x00B5}, {0xB6, 0x00B6}, {0xB7, 0x00B7}, {0xB8, 0x00F8}, {0xB9, 0x00B9}, {0xBA, 0x0157}, {0xBB, 0x00BB}, {0xBC, 0x00BC}, {0xBD, 0x00BD}, {0xBE, 0x00BE}, {0xBF, 0x00E6}, {0xC0, 0x0104}, {0xC1, 0x012E}, {0xC2, 0x0100}, {0xC3, 0x0106}, {0xC4, 0x00C4}, {0xC5, 0x00C5}, {0xC6, 0x0118}, {0xC7, 0x0112}, {0xC8, 0x010C}, {0xC9, 0x00C9}, {0xCA, 0x0179}, {0xCB, 0x0116}, {0xCC, 0x0122}, {0xCD, 0x0136}, {0xCE, 0x012A}, {0xCF, 0x013B}, {0xD0, 0x0160}, {0xD1, 0x0143}, {0xD2, 0x0145}, {0xD3, 0x00D3}, {0xD4, 0x014C}, {0xD5, 0x00D5}, {0xD6, 0x00D6}, {0xD7, 0x00D7}, {0xD8, 0x0172}, {0xD9, 0x0141}, {0xDA, 0x015A}, {0xDB, 0x016A}, {0xDC, 0x00DC}, {0xDD, 0x017B}, {0xDE, 0x017D}, {0xDF, 0x00DF}, {0xE0, 0x0105}, {0xE1, 0x012F}, {0xE2, 0x0101}, {0xE3, 0x0107}, {0xE4, 0x00E4}, {0xE5, 0x00E5}, {0xE6, 0x0119}, {0xE7, 0x0113}, {0xE8, 0x010D}, {0xE9, 0x00E9}, {0xEA, 0x017A}, {0xEB, 0x0117}, {0xEC, 0x0123}, {0xED, 0x0137}, {0xEE, 0x012B}, {0xEF, 0x013C}, {0xF0, 0x0161}, {0xF1, 0x0144}, {0xF2, 0x0146}, {0xF3, 0x00F3}, {0xF4, 0x014D}, {0xF5, 0x00F5}, {0xF6, 0x00F6}, {0xF7, 0x00F7}, {0xF8, 0x0173}, {0xF9, 0x0142}, {0xFA, 0x015B}, {0xFB, 0x016B}, {0xFC, 0x00FC}, {0xFD, 0x017C}, {0xFE, 0x017E}, {0xFF, 0x2019}, {0, 0} }; char *aliases_8859_13 [] = {"ISO-8859-13", "8859-13", "iso-ir-179", "latin7", "l7", NULL }; struct table_entry table_cp1250 [] = { {0x80, 0x20AC}, {0x82, 0x201A}, {0x84, 0x201E}, {0x85, 0x2026}, {0x86, 0x2020}, {0x87, 0x2021}, {0x89, 0x2030}, {0x8A, 0x0160}, {0x8B, 0x2039}, {0x8C, 0x015A}, {0x8D, 0x0164}, {0x8E, 0x017D}, {0x8F, 0x0179}, {0x91, 0x2018}, {0x92, 0x2019}, {0x93, 0x201C}, {0x94, 0x201D}, {0x95, 0x2022}, {0x96, 0x2013}, {0x97, 0x2014}, {0x99, 0x2122}, {0x9A, 0x0161}, {0x9B, 0x203A}, {0x9C, 0x015B}, {0x9D, 0x0165}, {0x9E, 0x017E}, {0x9F, 0x017A}, {0xA0, 0x00A0}, {0xA1, 0x02C7}, {0xA2, 0x02D8}, {0xA3, 0x0141}, {0xA4, 0x00A4}, {0xA5, 0x0104}, {0xA6, 0x00A6}, {0xA7, 0x00A7}, {0xA8, 0x00A8}, {0xA9, 0x00A9}, {0xAA, 0x015E}, {0xAB, 0x00AB}, {0xAC, 0x00AC}, {0xAD, 0x00AD}, {0xAE, 0x00AE}, {0xAF, 0x017B}, {0xB0, 0x00B0}, {0xB1, 0x00B1}, {0xB2, 0x02DB}, {0xB3, 0x0142}, {0xB4, 0x00B4}, {0xB5, 0x00B5}, {0xB6, 0x00B6}, {0xB7, 0x00B7}, {0xB8, 0x00B8}, {0xB9, 0x0105}, {0xBA, 0x015F}, {0xBB, 0x00BB}, {0xBC, 0x013D}, {0xBD, 0x02DD}, {0xBE, 0x013E}, {0xBF, 0x017C}, {0xC0, 0x0154}, {0xC1, 0x00C1}, {0xC2, 0x00C2}, {0xC3, 0x0102}, {0xC4, 0x00C4}, {0xC5, 0x0139}, {0xC6, 0x0106}, {0xC7, 0x00C7}, {0xC8, 0x010C}, {0xC9, 0x00C9}, {0xCA, 0x0118}, {0xCB, 0x00CB}, {0xCC, 0x011A}, {0xCD, 0x00CD}, {0xCE, 0x00CE}, {0xCF, 0x010E}, {0xD0, 0x0110}, {0xD1, 0x0143}, {0xD2, 0x0147}, {0xD3, 0x00D3}, {0xD4, 0x00D4}, {0xD5, 0x0150}, {0xD6, 0x00D6}, {0xD7, 0x00D7}, {0xD8, 0x0158}, {0xD9, 0x016E}, {0xDA, 0x00DA}, {0xDB, 0x0170}, {0xDC, 0x00DC}, {0xDD, 0x00DD}, {0xDE, 0x0162}, {0xDF, 0x00DF}, {0xE0, 0x0155}, {0xE1, 0x00E1}, {0xE2, 0x00E2}, {0xE3, 0x0103}, {0xE4, 0x00E4}, {0xE5, 0x013A}, {0xE6, 0x0107}, {0xE7, 0x00E7}, {0xE8, 0x010D}, {0xE9, 0x00E9}, {0xEA, 0x0119}, {0xEB, 0x00EB}, {0xEC, 0x011B}, {0xED, 0x00ED}, {0xEE, 0x00EE}, {0xEF, 0x010F}, {0xF0, 0x0111}, {0xF1, 0x0144}, {0xF2, 0x0148}, {0xF3, 0x00F3}, {0xF4, 0x00F4}, {0xF5, 0x0151}, {0xF6, 0x00F6}, {0xF7, 0x00F7}, {0xF8, 0x0159}, {0xF9, 0x016F}, {0xFA, 0x00FA}, {0xFB, 0x0171}, {0xFC, 0x00FC}, {0xFD, 0x00FD}, {0xFE, 0x0163}, {0xFF, 0x02D9}, {0, 0} }; char *aliases_cp1250 [] = {"windows-1250", "1250", NULL }; struct table_entry table_cp1251 [] = { {0x80, 0x0402}, {0x81, 0x0403}, {0x82, 0x201A}, {0x83, 0x0453}, {0x84, 0x201E}, {0x85, 0x2026}, {0x86, 0x2020}, {0x87, 0x2021}, {0x88, 0x20AC}, {0x89, 0x2030}, {0x8A, 0x0409}, {0x8B, 0x2039}, {0x8C, 0x040A}, {0x8D, 0x040C}, {0x8E, 0x040B}, {0x8F, 0x040F}, {0x90, 0x0452}, {0x91, 0x2018}, {0x92, 0x2019}, {0x93, 0x201C}, {0x94, 0x201D}, {0x95, 0x2022}, {0x96, 0x2013}, {0x97, 0x2014}, {0x99, 0x2122}, {0x9A, 0x0459}, {0x9B, 0x203A}, {0x9C, 0x045A}, {0x9D, 0x045C}, {0x9E, 0x045B}, {0x9F, 0x045F}, {0xA0, 0x00A0}, {0xA1, 0x040E}, {0xA2, 0x045E}, {0xA3, 0x0408}, {0xA4, 0x00A4}, {0xA5, 0x0490}, {0xA6, 0x00A6}, {0xA7, 0x00A7}, {0xA8, 0x0401}, {0xA9, 0x00A9}, {0xAA, 0x0404}, {0xAB, 0x00AB}, {0xAC, 0x00AC}, {0xAD, 0x00AD}, {0xAE, 0x00AE}, {0xAF, 0x0407}, {0xB0, 0x00B0}, {0xB1, 0x00B1}, {0xB2, 0x0406}, {0xB3, 0x0456}, {0xB4, 0x0491}, {0xB5, 0x00B5}, {0xB6, 0x00B6}, {0xB7, 0x00B7}, {0xB8, 0x0451}, {0xB9, 0x2116}, {0xBA, 0x0454}, {0xBB, 0x00BB}, {0xBC, 0x0458}, {0xBD, 0x0405}, {0xBE, 0x0455}, {0xBF, 0x0457}, {0xC0, 0x0410}, {0xC1, 0x0411}, {0xC2, 0x0412}, {0xC3, 0x0413}, {0xC4, 0x0414}, {0xC5, 0x0415}, {0xC6, 0x0416}, {0xC7, 0x0417}, {0xC8, 0x0418}, {0xC9, 0x0419}, {0xCA, 0x041A}, {0xCB, 0x041B}, {0xCC, 0x041C}, {0xCD, 0x041D}, {0xCE, 0x041E}, {0xCF, 0x041F}, {0xD0, 0x0420}, {0xD1, 0x0421}, {0xD2, 0x0422}, {0xD3, 0x0423}, {0xD4, 0x0424}, {0xD5, 0x0425}, {0xD6, 0x0426}, {0xD7, 0x0427}, {0xD8, 0x0428}, {0xD9, 0x0429}, {0xDA, 0x042A}, {0xDB, 0x042B}, {0xDC, 0x042C}, {0xDD, 0x042D}, {0xDE, 0x042E}, {0xDF, 0x042F}, {0xE0, 0x0430}, {0xE1, 0x0431}, {0xE2, 0x0432}, {0xE3, 0x0433}, {0xE4, 0x0434}, {0xE5, 0x0435}, {0xE6, 0x0436}, {0xE7, 0x0437}, {0xE8, 0x0438}, {0xE9, 0x0439}, {0xEA, 0x043A}, {0xEB, 0x043B}, {0xEC, 0x043C}, {0xED, 0x043D}, {0xEE, 0x043E}, {0xEF, 0x043F}, {0xF0, 0x0440}, {0xF1, 0x0441}, {0xF2, 0x0442}, {0xF3, 0x0443}, {0xF4, 0x0444}, {0xF5, 0x0445}, {0xF6, 0x0446}, {0xF7, 0x0447}, {0xF8, 0x0448}, {0xF9, 0x0449}, {0xFA, 0x044A}, {0xFB, 0x044B}, {0xFC, 0x044C}, {0xFD, 0x044D}, {0xFE, 0x044E}, {0xFF, 0x044F}, {0, 0} }; char *aliases_cp1251 [] = {"windows-1251", "1251", NULL }; struct table_entry table_cp1257 [] = { {0x80, 0x20AC}, {0x82, 0x201A}, {0x84, 0x201E}, {0x85, 0x2026}, {0x86, 0x2020}, {0x87, 0x2021}, {0x89, 0x2030}, {0x8B, 0x2039}, {0x8D, 0x00A8}, {0x8E, 0x02C7}, {0x8F, 0x00B8}, {0x91, 0x2018}, {0x92, 0x2019}, {0x93, 0x201C}, {0x94, 0x201D}, {0x95, 0x2022}, {0x96, 0x2013}, {0x97, 0x2014}, {0x99, 0x2122}, {0x9B, 0x203A}, {0x9D, 0x00AF}, {0x9E, 0x02DB}, {0xA0, 0x00A0}, {0xA2, 0x00A2}, {0xA3, 0x00A3}, {0xA4, 0x00A4}, {0xA6, 0x00A6}, {0xA7, 0x00A7}, {0xA8, 0x00D8}, {0xA9, 0x00A9}, {0xAA, 0x0156}, {0xAB, 0x00AB}, {0xAC, 0x00AC}, {0xAD, 0x00AD}, {0xAE, 0x00AE}, {0xAF, 0x00C6}, {0xB0, 0x00B0}, {0xB1, 0x00B1}, {0xB2, 0x00B2}, {0xB3, 0x00B3}, {0xB4, 0x00B4}, {0xB5, 0x00B5}, {0xB6, 0x00B6}, {0xB7, 0x00B7}, {0xB8, 0x00F8}, {0xB9, 0x00B9}, {0xBA, 0x0157}, {0xBB, 0x00BB}, {0xBC, 0x00BC}, {0xBD, 0x00BD}, {0xBE, 0x00BE}, {0xBF, 0x00E6}, {0xC0, 0x0104}, {0xC1, 0x012E}, {0xC2, 0x0100}, {0xC3, 0x0106}, {0xC4, 0x00C4}, {0xC5, 0x00C5}, {0xC6, 0x0118}, {0xC7, 0x0112}, {0xC8, 0x010C}, {0xC9, 0x00C9}, {0xCA, 0x0179}, {0xCB, 0x0116}, {0xCC, 0x0122}, {0xCD, 0x0136}, {0xCE, 0x012A}, {0xCF, 0x013B}, {0xD0, 0x0160}, {0xD1, 0x0143}, {0xD2, 0x0145}, {0xD3, 0x00D3}, {0xD4, 0x014C}, {0xD5, 0x00D5}, {0xD6, 0x00D6}, {0xD7, 0x00D7}, {0xD8, 0x0172}, {0xD9, 0x0141}, {0xDA, 0x015A}, {0xDB, 0x016A}, {0xDC, 0x00DC}, {0xDD, 0x017B}, {0xDE, 0x017D}, {0xDF, 0x00DF}, {0xE0, 0x0105}, {0xE1, 0x012F}, {0xE2, 0x0101}, {0xE3, 0x0107}, {0xE4, 0x00E4}, {0xE5, 0x00E5}, {0xE6, 0x0119}, {0xE7, 0x0113}, {0xE8, 0x010D}, {0xE9, 0x00E9}, {0xEA, 0x017A}, {0xEB, 0x0117}, {0xEC, 0x0123}, {0xED, 0x0137}, {0xEE, 0x012B}, {0xEF, 0x013C}, {0xF0, 0x0161}, {0xF1, 0x0144}, {0xF2, 0x0146}, {0xF3, 0x00F3}, {0xF4, 0x014D}, {0xF5, 0x00F5}, {0xF6, 0x00F6}, {0xF7, 0x00F7}, {0xF8, 0x0173}, {0xF9, 0x0142}, {0xFA, 0x015B}, {0xFB, 0x016B}, {0xFC, 0x00FC}, {0xFD, 0x017C}, {0xFE, 0x017E}, {0xFF, 0x02D9}, {0, 0} }; char *aliases_cp1257 [] = {"windows-1257", "1257", NULL }; struct table_entry table_cp437 [] = { {0x80, 0x00c7}, {0x81, 0x00fc}, {0x82, 0x00e9}, {0x83, 0x00e2}, {0x84, 0x00e4}, {0x85, 0x00e0}, {0x86, 0x00e5}, {0x87, 0x00e7}, {0x88, 0x00ea}, {0x89, 0x00eb}, {0x8a, 0x00e8}, {0x8b, 0x00ef}, {0x8c, 0x00ee}, {0x8d, 0x00ec}, {0x8e, 0x00c4}, {0x8f, 0x00c5}, {0x90, 0x00c9}, {0x91, 0x00e6}, {0x92, 0x00c6}, {0x93, 0x00f4}, {0x94, 0x00f6}, {0x95, 0x00f2}, {0x96, 0x00fb}, {0x97, 0x00f9}, {0x98, 0x00ff}, {0x99, 0x00d6}, {0x9a, 0x00dc}, {0x9b, 0x00a2}, {0x9c, 0x00a3}, {0x9d, 0x00a5}, {0x9e, 0x20a7}, {0x9f, 0x0192}, {0xa0, 0x00e1}, {0xa1, 0x00ed}, {0xa2, 0x00f3}, {0xa3, 0x00fa}, {0xa4, 0x00f1}, {0xa5, 0x00d1}, {0xa6, 0x00aa}, {0xa7, 0x00ba}, {0xa8, 0x00bf}, {0xa9, 0x2310}, {0xaa, 0x00ac}, {0xab, 0x00bd}, {0xac, 0x00bc}, {0xad, 0x00a1}, {0xae, 0x00ab}, {0xaf, 0x00bb}, {0xb0, 0x2591}, {0xb1, 0x2592}, {0xb2, 0x2593}, {0xb3, 0x2502}, {0xb4, 0x2524}, {0xb5, 0x2561}, {0xb6, 0x2562}, {0xb7, 0x2556}, {0xb8, 0x2555}, {0xb9, 0x2563}, {0xba, 0x2551}, {0xbb, 0x2557}, {0xbc, 0x255d}, {0xbd, 0x255c}, {0xbe, 0x255b}, {0xbf, 0x2510}, {0xc0, 0x2514}, {0xc1, 0x2534}, {0xc2, 0x252c}, {0xc3, 0x251c}, {0xc4, 0x2500}, {0xc5, 0x253c}, {0xc6, 0x255e}, {0xc7, 0x255f}, {0xc8, 0x255a}, {0xc9, 0x2554}, {0xca, 0x2569}, {0xcb, 0x2566}, {0xcc, 0x2560}, {0xcd, 0x2550}, {0xce, 0x256c}, {0xcf, 0x2567}, {0xd0, 0x2568}, {0xd1, 0x2564}, {0xd2, 0x2565}, {0xd3, 0x2559}, {0xd4, 0x2558}, {0xd5, 0x2552}, {0xd6, 0x2553}, {0xd7, 0x256b}, {0xd8, 0x256a}, {0xd9, 0x2518}, {0xda, 0x250c}, {0xdb, 0x2588}, {0xdc, 0x2584}, {0xdd, 0x258c}, {0xde, 0x2590}, {0xdf, 0x2580}, {0xe0, 0x03b1}, {0xe1, 0x00df}, {0xe2, 0x0393}, {0xe3, 0x03c0}, {0xe4, 0x03a3}, {0xe5, 0x03c3}, {0xe6, 0x00b5}, {0xe7, 0x03c4}, {0xe8, 0x03a6}, {0xe9, 0x0398}, {0xea, 0x03a9}, {0xeb, 0x03b4}, {0xec, 0x221e}, {0xed, 0x03c6}, {0xee, 0x03b5}, {0xef, 0x2229}, {0xf0, 0x2261}, {0xf1, 0x00b1}, {0xf2, 0x2265}, {0xf3, 0x2264}, {0xf4, 0x2320}, {0xf5, 0x2321}, {0xf6, 0x00f7}, {0xf7, 0x2248}, {0xf8, 0x00b0}, {0xf9, 0x2219}, {0xfa, 0x00b7}, {0xfb, 0x221a}, {0xfc, 0x207f}, {0xfd, 0x00b2}, {0xfe, 0x25a0}, {0xff, 0x00a0}, {0, 0} }; char *aliases_cp437 [] = {"cp437", "437", NULL }; struct table_entry table_cp737 [] = { {0x80, 0x0391}, {0x81, 0x0392}, {0x82, 0x0393}, {0x83, 0x0394}, {0x84, 0x0395}, {0x85, 0x0396}, {0x86, 0x0397}, {0x87, 0x0398}, {0x88, 0x0399}, {0x89, 0x039a}, {0x8a, 0x039b}, {0x8b, 0x039c}, {0x8c, 0x039d}, {0x8d, 0x039e}, {0x8e, 0x039f}, {0x8f, 0x03a0}, {0x90, 0x03a1}, {0x91, 0x03a3}, {0x92, 0x03a4}, {0x93, 0x03a5}, {0x94, 0x03a6}, {0x95, 0x03a7}, {0x96, 0x03a8}, {0x97, 0x03a9}, {0x98, 0x03b1}, {0x99, 0x03b2}, {0x9a, 0x03b3}, {0x9b, 0x03b4}, {0x9c, 0x03b5}, {0x9d, 0x03b6}, {0x9e, 0x03b7}, {0x9f, 0x03b8}, {0xa0, 0x03b9}, {0xa1, 0x03ba}, {0xa2, 0x03bb}, {0xa3, 0x03bc}, {0xa4, 0x03bd}, {0xa5, 0x03be}, {0xa6, 0x03bf}, {0xa7, 0x03c0}, {0xa8, 0x03c1}, {0xa9, 0x03c3}, {0xaa, 0x03c2}, {0xab, 0x03c4}, {0xac, 0x03c5}, {0xad, 0x03c6}, {0xae, 0x03c7}, {0xaf, 0x03c8}, {0xb0, 0x2591}, {0xb1, 0x2592}, {0xb2, 0x2593}, {0xb3, 0x2502}, {0xb4, 0x2524}, {0xb5, 0x2561}, {0xb6, 0x2562}, {0xb7, 0x2556}, {0xb8, 0x2555}, {0xb9, 0x2563}, {0xba, 0x2551}, {0xbb, 0x2557}, {0xbc, 0x255d}, {0xbd, 0x255c}, {0xbe, 0x255b}, {0xbf, 0x2510}, {0xc0, 0x2514}, {0xc1, 0x2534}, {0xc2, 0x252c}, {0xc3, 0x251c}, {0xc4, 0x2500}, {0xc5, 0x253c}, {0xc6, 0x255e}, {0xc7, 0x255f}, {0xc8, 0x255a}, {0xc9, 0x2554}, {0xca, 0x2569}, {0xcb, 0x2566}, {0xcc, 0x2560}, {0xcd, 0x2550}, {0xce, 0x256c}, {0xcf, 0x2567}, {0xd0, 0x2568}, {0xd1, 0x2564}, {0xd2, 0x2565}, {0xd3, 0x2559}, {0xd4, 0x2558}, {0xd5, 0x2552}, {0xd6, 0x2553}, {0xd7, 0x256b}, {0xd8, 0x256a}, {0xd9, 0x2518}, {0xda, 0x250c}, {0xdb, 0x2588}, {0xdc, 0x2584}, {0xdd, 0x258c}, {0xde, 0x2590}, {0xdf, 0x2580}, {0xe0, 0x03c9}, {0xe1, 0x03ac}, {0xe2, 0x03ad}, {0xe3, 0x03ae}, {0xe4, 0x03ca}, {0xe5, 0x03af}, {0xe6, 0x03cc}, {0xe7, 0x03cd}, {0xe8, 0x03cb}, {0xe9, 0x03ce}, {0xea, 0x0386}, {0xeb, 0x0388}, {0xec, 0x0389}, {0xed, 0x038a}, {0xee, 0x038c}, {0xef, 0x038e}, {0xf0, 0x038f}, {0xf1, 0x00b1}, {0xf2, 0x2265}, {0xf3, 0x2264}, {0xf4, 0x03aa}, {0xf5, 0x03ab}, {0xf6, 0x00f7}, {0xf7, 0x2248}, {0xf8, 0x00b0}, {0xf9, 0x2219}, {0xfa, 0x00b7}, {0xfb, 0x221a}, {0xfc, 0x207f}, {0xfd, 0x00b2}, {0xfe, 0x25a0}, {0xff, 0x00a0}, {0, 0} }; char *aliases_cp737 [] = {"cp737", "737", NULL }; struct table_entry table_cp850 [] = { {0x80, 0x00c7}, {0x81, 0x00fc}, {0x82, 0x00e9}, {0x83, 0x00e2}, {0x84, 0x00e4}, {0x85, 0x00e0}, {0x86, 0x00e5}, {0x87, 0x00e7}, {0x88, 0x00ea}, {0x89, 0x00eb}, {0x8a, 0x00e8}, {0x8b, 0x00ef}, {0x8c, 0x00ee}, {0x8d, 0x00ec}, {0x8e, 0x00c4}, {0x8f, 0x00c5}, {0x90, 0x00c9}, {0x91, 0x00e6}, {0x92, 0x00c6}, {0x93, 0x00f4}, {0x94, 0x00f6}, {0x95, 0x00f2}, {0x96, 0x00fb}, {0x97, 0x00f9}, {0x98, 0x00ff}, {0x99, 0x00d6}, {0x9a, 0x00dc}, {0x9b, 0x00f8}, {0x9c, 0x00a3}, {0x9d, 0x00d8}, {0x9e, 0x00d7}, {0x9f, 0x0192}, {0xa0, 0x00e1}, {0xa1, 0x00ed}, {0xa2, 0x00f3}, {0xa3, 0x00fa}, {0xa4, 0x00f1}, {0xa5, 0x00d1}, {0xa6, 0x00aa}, {0xa7, 0x00ba}, {0xa8, 0x00bf}, {0xa9, 0x00ae}, {0xaa, 0x00ac}, {0xab, 0x00bd}, {0xac, 0x00bc}, {0xad, 0x00a1}, {0xae, 0x00ab}, {0xaf, 0x00bb}, {0xb0, 0x2591}, {0xb1, 0x2592}, {0xb2, 0x2593}, {0xb3, 0x2502}, {0xb4, 0x2524}, {0xb5, 0x00c1}, {0xb6, 0x00c2}, {0xb7, 0x00c0}, {0xb8, 0x00a9}, {0xb9, 0x2563}, {0xba, 0x2551}, {0xbb, 0x2557}, {0xbc, 0x255d}, {0xbd, 0x00a2}, {0xbe, 0x00a5}, {0xbf, 0x2510}, {0xc0, 0x2514}, {0xc1, 0x2534}, {0xc2, 0x252c}, {0xc3, 0x251c}, {0xc4, 0x2500}, {0xc5, 0x253c}, {0xc6, 0x00e3}, {0xc7, 0x00c3}, {0xc8, 0x255a}, {0xc9, 0x2554}, {0xca, 0x2569}, {0xcb, 0x2566}, {0xcc, 0x2560}, {0xcd, 0x2550}, {0xce, 0x256c}, {0xcf, 0x00a4}, {0xd0, 0x00f0}, {0xd1, 0x00d0}, {0xd2, 0x00ca}, {0xd3, 0x00cb}, {0xd4, 0x00c8}, {0xd5, 0x0131}, {0xd6, 0x00cd}, {0xd7, 0x00ce}, {0xd8, 0x00cf}, {0xd9, 0x2518}, {0xda, 0x250c}, {0xdb, 0x2588}, {0xdc, 0x2584}, {0xdd, 0x00a6}, {0xde, 0x00cc}, {0xdf, 0x2580}, {0xe0, 0x00d3}, {0xe1, 0x00df}, {0xe2, 0x00d4}, {0xe3, 0x00d2}, {0xe4, 0x00f5}, {0xe5, 0x00d5}, {0xe6, 0x00b5}, {0xe7, 0x00fe}, {0xe8, 0x00de}, {0xe9, 0x00da}, {0xea, 0x00db}, {0xeb, 0x00d9}, {0xec, 0x00fd}, {0xed, 0x00dd}, {0xee, 0x00af}, {0xef, 0x00b4}, {0xf0, 0x00ad}, {0xf1, 0x00b1}, {0xf2, 0x2017}, {0xf3, 0x00be}, {0xf4, 0x00b6}, {0xf5, 0x00a7}, {0xf6, 0x00f7}, {0xf7, 0x00b8}, {0xf8, 0x00b0}, {0xf9, 0x00a8}, {0xfa, 0x00b7}, {0xfb, 0x00b9}, {0xfc, 0x00b3}, {0xfd, 0x00b2}, {0xfe, 0x25a0}, {0xff, 0x00a0}, {0, 0} }; char *aliases_cp850 [] = {"cp850", "850", NULL }; struct table_entry table_cp852 [] = { {0x80, 0x00c7}, {0x81, 0x00fc}, {0x82, 0x00e9}, {0x83, 0x00e2}, {0x84, 0x00e4}, {0x85, 0x016f}, {0x86, 0x0107}, {0x87, 0x00e7}, {0x88, 0x0142}, {0x89, 0x00eb}, {0x8a, 0x0150}, {0x8b, 0x0151}, {0x8c, 0x00ee}, {0x8d, 0x0179}, {0x8e, 0x00c4}, {0x8f, 0x0106}, {0x90, 0x00c9}, {0x91, 0x0139}, {0x92, 0x013a}, {0x93, 0x00f4}, {0x94, 0x00f6}, {0x95, 0x013d}, {0x96, 0x013e}, {0x97, 0x015a}, {0x98, 0x015b}, {0x99, 0x00d6}, {0x9a, 0x00dc}, {0x9b, 0x0164}, {0x9c, 0x0165}, {0x9d, 0x0141}, {0x9e, 0x00d7}, {0x9f, 0x010d}, {0xa0, 0x00e1}, {0xa1, 0x00ed}, {0xa2, 0x00f3}, {0xa3, 0x00fa}, {0xa4, 0x0104}, {0xa5, 0x0105}, {0xa6, 0x017d}, {0xa7, 0x017e}, {0xa8, 0x0118}, {0xa9, 0x0119}, {0xaa, 0x00ac}, {0xab, 0x017a}, {0xac, 0x010c}, {0xad, 0x015f}, {0xae, 0x00ab}, {0xaf, 0x00bb}, {0xb0, 0x2591}, {0xb1, 0x2592}, {0xb2, 0x2593}, {0xb3, 0x2502}, {0xb4, 0x2524}, {0xb5, 0x00c1}, {0xb6, 0x00c2}, {0xb7, 0x011a}, {0xb8, 0x015e}, {0xb9, 0x2563}, {0xba, 0x2551}, {0xbb, 0x2557}, {0xbc, 0x255d}, {0xbd, 0x017b}, {0xbe, 0x017c}, {0xbf, 0x2510}, {0xc0, 0x2514}, {0xc1, 0x2534}, {0xc2, 0x252c}, {0xc3, 0x251c}, {0xc4, 0x2500}, {0xc5, 0x253c}, {0xc6, 0x0102}, {0xc7, 0x0103}, {0xc8, 0x255a}, {0xc9, 0x2554}, {0xca, 0x2569}, {0xcb, 0x2566}, {0xcc, 0x2560}, {0xcd, 0x2550}, {0xce, 0x256c}, {0xcf, 0x00a4}, {0xd0, 0x0111}, {0xd1, 0x0110}, {0xd2, 0x010e}, {0xd3, 0x00cb}, {0xd4, 0x010f}, {0xd5, 0x0147}, {0xd6, 0x00cd}, {0xd7, 0x00ce}, {0xd8, 0x011b}, {0xd9, 0x2518}, {0xda, 0x250c}, {0xdb, 0x2588}, {0xdc, 0x2584}, {0xdd, 0x0162}, {0xde, 0x016e}, {0xdf, 0x2580}, {0xe0, 0x00d3}, {0xe1, 0x00df}, {0xe2, 0x00d4}, {0xe3, 0x0143}, {0xe4, 0x0144}, {0xe5, 0x0148}, {0xe6, 0x0160}, {0xe7, 0x0161}, {0xe8, 0x0154}, {0xe9, 0x00da}, {0xea, 0x0155}, {0xeb, 0x0170}, {0xec, 0x00fd}, {0xed, 0x00dd}, {0xee, 0x0163}, {0xef, 0x00b4}, {0xf0, 0x00ad}, {0xf1, 0x02dd}, {0xf2, 0x02db}, {0xf3, 0x02c7}, {0xf4, 0x02d8}, {0xf5, 0x00a7}, {0xf6, 0x00f7}, {0xf7, 0x00b8}, {0xf8, 0x00b0}, {0xf9, 0x00a8}, {0xfa, 0x02d9}, {0xfb, 0x0171}, {0xfc, 0x0158}, {0xfd, 0x0159}, {0xfe, 0x25a0}, {0xff, 0x00a0}, {0, 0} }; char *aliases_cp852 [] = {"cp852", "852", NULL }; struct table_entry table_cp866 [] = { {0x80, 0x0410}, {0x81, 0x0411}, {0x82, 0x0412}, {0x83, 0x0413}, {0x84, 0x0414}, {0x85, 0x0415}, {0x86, 0x0416}, {0x87, 0x0417}, {0x88, 0x0418}, {0x89, 0x0419}, {0x8a, 0x041a}, {0x8b, 0x041b}, {0x8c, 0x041c}, {0x8d, 0x041d}, {0x8e, 0x041e}, {0x8f, 0x041f}, {0x90, 0x0420}, {0x91, 0x0421}, {0x92, 0x0422}, {0x93, 0x0423}, {0x94, 0x0424}, {0x95, 0x0425}, {0x96, 0x0426}, {0x97, 0x0427}, {0x98, 0x0428}, {0x99, 0x0429}, {0x9a, 0x042a}, {0x9b, 0x042b}, {0x9c, 0x042c}, {0x9d, 0x042d}, {0x9e, 0x042e}, {0x9f, 0x042f}, {0xa0, 0x0430}, {0xa1, 0x0431}, {0xa2, 0x0432}, {0xa3, 0x0433}, {0xa4, 0x0434}, {0xa5, 0x0435}, {0xa6, 0x0436}, {0xa7, 0x0437}, {0xa8, 0x0438}, {0xa9, 0x0439}, {0xaa, 0x043a}, {0xab, 0x043b}, {0xac, 0x043c}, {0xad, 0x043d}, {0xae, 0x043e}, {0xaf, 0x043f}, {0xb0, 0x2591}, {0xb1, 0x2592}, {0xb2, 0x2593}, {0xb3, 0x2502}, {0xb4, 0x2524}, {0xb5, 0x2561}, {0xb6, 0x2562}, {0xb7, 0x2556}, {0xb8, 0x2555}, {0xb9, 0x2563}, {0xba, 0x2551}, {0xbb, 0x2557}, {0xbc, 0x255d}, {0xbd, 0x255c}, {0xbe, 0x255b}, {0xbf, 0x2510}, {0xc0, 0x2514}, {0xc1, 0x2534}, {0xc2, 0x252c}, {0xc3, 0x251c}, {0xc4, 0x2500}, {0xc5, 0x253c}, {0xc6, 0x255e}, {0xc7, 0x255f}, {0xc8, 0x255a}, {0xc9, 0x2554}, {0xca, 0x2569}, {0xcb, 0x2566}, {0xcc, 0x2560}, {0xcd, 0x2550}, {0xce, 0x256c}, {0xcf, 0x2567}, {0xd0, 0x2568}, {0xd1, 0x2564}, {0xd2, 0x2565}, {0xd3, 0x2559}, {0xd4, 0x2558}, {0xd5, 0x2552}, {0xd6, 0x2553}, {0xd7, 0x256b}, {0xd8, 0x256a}, {0xd9, 0x2518}, {0xda, 0x250c}, {0xdb, 0x2588}, {0xdc, 0x2584}, {0xdd, 0x258c}, {0xde, 0x2590}, {0xdf, 0x2580}, {0xe0, 0x0440}, {0xe1, 0x0441}, {0xe2, 0x0442}, {0xe3, 0x0443}, {0xe4, 0x0444}, {0xe5, 0x0445}, {0xe6, 0x0446}, {0xe7, 0x0447}, {0xe8, 0x0448}, {0xe9, 0x0449}, {0xea, 0x044a}, {0xeb, 0x044b}, {0xec, 0x044c}, {0xed, 0x044d}, {0xee, 0x044e}, {0xef, 0x044f}, {0xf0, 0x0401}, {0xf1, 0x0451}, {0xf2, 0x0404}, {0xf3, 0x0454}, {0xf4, 0x0407}, {0xf5, 0x0457}, {0xf6, 0x040e}, {0xf7, 0x045e}, {0xf8, 0x00b0}, {0xf9, 0x2219}, {0xfa, 0x00b7}, {0xfb, 0x221a}, {0xfc, 0x2116}, {0xfd, 0x00a4}, {0xfe, 0x25a0}, {0xff, 0x00a0}, {0, 0} }; char *aliases_cp866 [] = {"cp866", "866", NULL }; struct table_entry table_cp1125 [] = { {0x80, 0x0410}, {0x81, 0x0411}, {0x82, 0x0412}, {0x83, 0x0413}, {0x84, 0x0414}, {0x85, 0x0415}, {0x86, 0x0416}, {0x87, 0x0417}, {0x88, 0x0418}, {0x89, 0x0419}, {0x8a, 0x041a}, {0x8b, 0x041b}, {0x8c, 0x041c}, {0x8d, 0x041d}, {0x8e, 0x041e}, {0x8f, 0x041f}, {0x90, 0x0420}, {0x91, 0x0421}, {0x92, 0x0422}, {0x93, 0x0423}, {0x94, 0x0424}, {0x95, 0x0425}, {0x96, 0x0426}, {0x97, 0x0427}, {0x98, 0x0428}, {0x99, 0x0429}, {0x9a, 0x042a}, {0x9b, 0x042b}, {0x9c, 0x042c}, {0x9d, 0x042d}, {0x9e, 0x042e}, {0x9f, 0x042f}, {0xa0, 0x0430}, {0xa1, 0x0431}, {0xa2, 0x0432}, {0xa3, 0x0433}, {0xa4, 0x0434}, {0xa5, 0x0435}, {0xa6, 0x0436}, {0xa7, 0x0437}, {0xa8, 0x0438}, {0xa9, 0x0439}, {0xaa, 0x043a}, {0xab, 0x043b}, {0xac, 0x043c}, {0xad, 0x043d}, {0xae, 0x043e}, {0xaf, 0x043f}, {0xb0, 0x2591}, {0xb1, 0x2592}, {0xb2, 0x2593}, {0xb3, 0x2502}, {0xb4, 0x2524}, {0xb5, 0x2561}, {0xb6, 0x2562}, {0xb7, 0x2556}, {0xb8, 0x2555}, {0xb9, 0x2563}, {0xba, 0x2551}, {0xbb, 0x2557}, {0xbc, 0x255d}, {0xbd, 0x255c}, {0xbe, 0x255b}, {0xbf, 0x2510}, {0xc0, 0x2514}, {0xc1, 0x2534}, {0xc2, 0x252c}, {0xc3, 0x251c}, {0xc4, 0x2500}, {0xc5, 0x253c}, {0xc6, 0x255e}, {0xc7, 0x255f}, {0xc8, 0x255a}, {0xc9, 0x2554}, {0xca, 0x2569}, {0xcb, 0x2566}, {0xcc, 0x2560}, {0xcd, 0x2550}, {0xce, 0x256c}, {0xcf, 0x2567}, {0xd0, 0x2568}, {0xd1, 0x2564}, {0xd2, 0x2565}, {0xd3, 0x2559}, {0xd4, 0x2558}, {0xd5, 0x2552}, {0xd6, 0x2553}, {0xd7, 0x256b}, {0xd8, 0x256a}, {0xd9, 0x2518}, {0xda, 0x250c}, {0xdb, 0x2588}, {0xdc, 0x2584}, {0xdd, 0x258c}, {0xde, 0x2590}, {0xdf, 0x2580}, {0xe0, 0x0440}, {0xe1, 0x0441}, {0xe2, 0x0442}, {0xe3, 0x0443}, {0xe4, 0x0444}, {0xe5, 0x0445}, {0xe6, 0x0446}, {0xe7, 0x0447}, {0xe8, 0x0448}, {0xe9, 0x0449}, {0xea, 0x044a}, {0xeb, 0x044b}, {0xec, 0x044c}, {0xed, 0x044d}, {0xee, 0x044e}, {0xef, 0x044f}, {0xf0, 0x0401}, {0xf1, 0x0451}, {0xf2, 0x0490}, {0xf3, 0x0491}, {0xf4, 0x0404}, {0xf5, 0x0454}, {0xf6, 0x0406}, {0xf7, 0x0456}, {0xf8, 0x0407}, {0xf9, 0x0457}, {0xfa, 0x00b7}, {0xfb, 0x221a}, {0xfc, 0x2116}, {0xfd, 0x00a4}, {0xfe, 0x25a0}, {0xff, 0x00a0}, {0, 0} }; char *aliases_cp1125 [] = {"x-cp866-u", "ruscii", "1125", NULL }; struct table_entry table_macroman [] = { {0x80, 0x00C4}, {0x81, 0x00C5}, {0x82, 0x00C7}, {0x83, 0x00C9}, {0x84, 0x00D1}, {0x85, 0x00D6}, {0x86, 0x00DC}, {0x87, 0x00E1}, {0x88, 0x00E0}, {0x89, 0x00E2}, {0x8A, 0x00E4}, {0x8B, 0x00E3}, {0x8C, 0x00E5}, {0x8D, 0x00E7}, {0x8E, 0x00E9}, {0x8F, 0x00E8}, {0x90, 0x00EA}, {0x91, 0x00EB}, {0x92, 0x00ED}, {0x93, 0x00EC}, {0x94, 0x00EE}, {0x95, 0x00EF}, {0x96, 0x00F1}, {0x97, 0x00F3}, {0x98, 0x00F2}, {0x99, 0x00F4}, {0x9A, 0x00F6}, {0x9B, 0x00F5}, {0x9C, 0x00FA}, {0x9D, 0x00F9}, {0x9E, 0x00FB}, {0x9F, 0x00FC}, {0xA0, 0x2020}, {0xA1, 0x00B0}, {0xA2, 0x00A2}, {0xA3, 0x00A3}, {0xA4, 0x00A7}, {0xA5, 0x2022}, {0xA6, 0x00B6}, {0xA7, 0x00DF}, {0xA8, 0x00AE}, {0xA9, 0x00A9}, {0xAA, 0x2122}, {0xAB, 0x00B4}, {0xAC, 0x00A8}, {0xAD, 0x2260}, {0xAE, 0x00C6}, {0xAF, 0x00D8}, {0xB0, 0x221E}, {0xB1, 0x00B1}, {0xB2, 0x2264}, {0xB3, 0x2265}, {0xB4, 0x00A5}, {0xB5, 0x00B5}, {0xB6, 0x2202}, {0xB7, 0x2211}, {0xB8, 0x220F}, {0xB9, 0x03C0}, {0xBA, 0x222B}, {0xBB, 0x00AA}, {0xBC, 0x00BA}, {0xBD, 0x03A9}, {0xBE, 0x00E6}, {0xBF, 0x00F8}, {0xC0, 0x00BF}, {0xC1, 0x00A1}, {0xC2, 0x00AC}, {0xC3, 0x221A}, {0xC4, 0x0192}, {0xC5, 0x2248}, {0xC6, 0x0394}, {0xC7, 0x00AB}, {0xC8, 0x00BB}, {0xC9, 0x2026}, {0xCA, 0x00A0}, {0xCB, 0x00C0}, {0xCC, 0x00C3}, {0xCD, 0x00D5}, {0xCE, 0x0152}, {0xCF, 0x0153}, {0xD0, 0x2013}, {0xD1, 0x2014}, {0xD2, 0x201C}, {0xD3, 0x201D}, {0xD4, 0x2018}, {0xD5, 0x2019}, {0xD6, 0x00F7}, {0xD7, 0x25CA}, {0xD8, 0x00FF}, {0xD9, 0x0178}, {0xDA, 0x2044}, {0xDB, 0x20AC}, {0xDC, 0x2039}, {0xDD, 0x203A}, {0xDE, 0xFB01}, {0xDF, 0xFB02}, {0xE0, 0x2021}, {0xE1, 0x00B7}, {0xE2, 0x201A}, {0xE3, 0x201E}, {0xE4, 0x2030}, {0xE5, 0x00C2}, {0xE6, 0x00CA}, {0xE7, 0x00C1}, {0xE8, 0x00CB}, {0xE9, 0x00C8}, {0xEA, 0x00CD}, {0xEB, 0x00CE}, {0xEC, 0x00CF}, {0xED, 0x00CC}, {0xEE, 0x00D3}, {0xEF, 0x00D4}, {0xF0, 0xF8FF}, {0xF1, 0x00D2}, {0xF2, 0x00DA}, {0xF3, 0x00DB}, {0xF4, 0x00D9}, {0xF5, 0x0131}, {0xF6, 0x02C6}, {0xF7, 0x02DC}, {0xF8, 0x00AF}, {0xF9, 0x02D8}, {0xFA, 0x02D9}, {0xFB, 0x02DA}, {0xFC, 0x00B8}, {0xFD, 0x02DD}, {0xFE, 0x02DB}, {0xFF, 0x02C7}, {0, 0} }; char *aliases_macroman [] = {"x-mac", "mac", "macroman", NULL }; struct table_entry table_mac_lat2 [] = { {0x80, 0x00C4}, {0x81, 0x0100}, {0x82, 0x0101}, {0x83, 0x00C9}, {0x84, 0x0104}, {0x85, 0x00D6}, {0x86, 0x00DC}, {0x87, 0x00E1}, {0x88, 0x0105}, {0x89, 0x010C}, {0x8A, 0x00E4}, {0x8B, 0x010D}, {0x8C, 0x0106}, {0x8D, 0x0107}, {0x8E, 0x00E9}, {0x8F, 0x0179}, {0x90, 0x017A}, {0x91, 0x010E}, {0x92, 0x00ED}, {0x93, 0x010F}, {0x94, 0x0112}, {0x95, 0x0113}, {0x96, 0x0116}, {0x97, 0x00F3}, {0x98, 0x0117}, {0x99, 0x00F4}, {0x9A, 0x00F6}, {0x9B, 0x00F5}, {0x9C, 0x00FA}, {0x9D, 0x011A}, {0x9E, 0x011B}, {0x9F, 0x00FC}, {0xA0, 0x2020}, {0xA1, 0x00B0}, {0xA2, 0x0118}, {0xA3, 0x00A3}, {0xA4, 0x00A7}, {0xA5, 0x2022}, {0xA6, 0x00B6}, {0xA7, 0x00DF}, {0xA8, 0x00AE}, {0xA9, 0x00A9}, {0xAA, 0x2122}, {0xAB, 0x0119}, {0xAC, 0x00A8}, {0xAD, 0x2260}, {0xAE, 0x0123}, {0xAF, 0x012E}, {0xB0, 0x012F}, {0xB1, 0x012A}, {0xB2, 0x2264}, {0xB3, 0x2265}, {0xB4, 0x012B}, {0xB5, 0x0136}, {0xB6, 0x2202}, {0xB7, 0x2211}, {0xB8, 0x0142}, {0xB9, 0x013B}, {0xBA, 0x013C}, {0xBB, 0x013D}, {0xBC, 0x013E}, {0xBD, 0x0139}, {0xBE, 0x013A}, {0xBF, 0x0145}, {0xC0, 0x0146}, {0xC1, 0x0143}, {0xC2, 0x00AC}, {0xC3, 0x221A}, {0xC4, 0x0144}, {0xC5, 0x0147}, {0xC6, 0x2206}, {0xC7, 0x00AB}, {0xC8, 0x00BB}, {0xC9, 0x2026}, {0xCA, 0x00A0}, {0xCB, 0x0148}, {0xCC, 0x0150}, {0xCD, 0x00D5}, {0xCE, 0x0151}, {0xCF, 0x014C}, {0xD0, 0x2013}, {0xD1, 0x2014}, {0xD2, 0x201C}, {0xD3, 0x201D}, {0xD4, 0x2018}, {0xD5, 0x2019}, {0xD6, 0x00F7}, {0xD7, 0x25CA}, {0xD8, 0x014D}, {0xD9, 0x0154}, {0xDA, 0x0155}, {0xDB, 0x0158}, {0xDC, 0x2039}, {0xDD, 0x203A}, {0xDE, 0x0159}, {0xDF, 0x0156}, {0xE0, 0x0157}, {0xE1, 0x0160}, {0xE2, 0x201A}, {0xE3, 0x201E}, {0xE4, 0x0161}, {0xE5, 0x015A}, {0xE6, 0x015B}, {0xE7, 0x00C1}, {0xE8, 0x0164}, {0xE9, 0x0165}, {0xEA, 0x00CD}, {0xEB, 0x017D}, {0xEC, 0x017E}, {0xED, 0x016A}, {0xEE, 0x00D3}, {0xEF, 0x00D4}, {0xF0, 0x016B}, {0xF1, 0x016E}, {0xF2, 0x00DA}, {0xF3, 0x016F}, {0xF4, 0x0170}, {0xF5, 0x0171}, {0xF6, 0x0172}, {0xF7, 0x0173}, {0xF8, 0x00DD}, {0xF9, 0x00FD}, {0xFA, 0x0137}, {0xFB, 0x017B}, {0xFC, 0x0141}, {0xFD, 0x017C}, {0xFE, 0x0122}, {0xFF, 0x02C7}, {0, 0} }; char *aliases_mac_lat2 [] = {"x-mac-ce", "mac-ce", "maclatin2", "10029", NULL }; struct table_entry table_kamen [] = { {0x80, 0x010C}, {0x81, 0x00FC}, {0x82, 0x00E9}, {0x83, 0x010F}, {0x84, 0x00E4}, {0x85, 0x010E}, {0x86, 0x0164}, {0x87, 0x010D}, {0x88, 0x011B}, {0x89, 0x011A}, {0x8A, 0x0139}, {0x8B, 0x00CD}, {0x8C, 0x013E}, {0x8D, 0x013A}, {0x8E, 0x00C4}, {0x8F, 0x00C1}, {0x90, 0x00C9}, {0x91, 0x017E}, {0x92, 0x017D}, {0x93, 0x00F4}, {0x94, 0x00F6}, {0x95, 0x00D3}, {0x96, 0x016F}, {0x97, 0x00DA}, {0x98, 0x00FD}, {0x99, 0x00D6}, {0x9A, 0x00DC}, {0x9B, 0x0160}, {0x9C, 0x013D}, {0x9D, 0x00DD}, {0x9E, 0x0158}, {0x9F, 0x0165}, {0xA0, 0x00E1}, {0xA1, 0x00ED}, {0xA2, 0x00F3}, {0xA3, 0x00FA}, {0xA4, 0x0148}, {0xA5, 0x0147}, {0xA6, 0x016E}, {0xA7, 0x00D4}, {0xA8, 0x0161}, {0xA9, 0x0159}, {0xAA, 0x0155}, {0xAB, 0x0154}, {0xAC, 0x00BC}, {0xAD, 0x00A7}, {0xAE, 0x00BB}, {0xAF, 0x00AB}, {0xB0, 0x2591}, {0xB1, 0x2592}, {0xB2, 0x2593}, {0xB3, 0x2502}, {0xB4, 0x2524}, {0xB5, 0x2561}, {0xB6, 0x2562}, {0xB7, 0x2556}, {0xB8, 0x2555}, {0xB9, 0x2563}, {0xBA, 0x2551}, {0xBB, 0x2557}, {0xBC, 0x255D}, {0xBD, 0x255C}, {0xBE, 0x255B}, {0xBF, 0x2510}, {0xC0, 0x2514}, {0xC1, 0x2534}, {0xC2, 0x252C}, {0xC3, 0x251C}, {0xC4, 0x2500}, {0xC5, 0x253C}, {0xC6, 0x255E}, {0xC7, 0x255F}, {0xC8, 0x255A}, {0xC9, 0x2554}, {0xCA, 0x2569}, {0xCB, 0x2566}, {0xCC, 0x2560}, {0xCD, 0x2550}, {0xCE, 0x256C}, {0xCF, 0x2567}, {0xD0, 0x2568}, {0xD1, 0x2564}, {0xD2, 0x2565}, {0xD3, 0x2559}, {0xD4, 0x2558}, {0xD5, 0x2552}, {0xD6, 0x2553}, {0xD7, 0x256B}, {0xD8, 0x256A}, {0xD9, 0x2518}, {0xDA, 0x250C}, {0xDB, 0x2588}, {0xDC, 0x2584}, {0xDD, 0x258C}, {0xDE, 0x2590}, {0xDF, 0x2580}, {0xE0, 0x03B1}, {0xE1, 0x03B2}, {0xE2, 0x0194}, {0xE3, 0x03C0}, {0xE4, 0x03A3}, {0xE5, 0x03C3}, {0xE6, 0x03BC}, {0xE7, 0x03C4}, {0xE8, 0x03A6}, {0xE9, 0x0398}, {0xEA, 0x03A9}, {0xEB, 0x03B4}, {0xEC, 0x221E}, {0xED, 0x03C6}, {0xEE, 0x2208}, {0xEF, 0x2229}, {0xF0, 0x224D}, {0xF1, 0x00B1}, {0xF2, 0x2265}, {0xF3, 0x2264}, {0xF4, 0x2320}, {0xF5, 0x2321}, {0xF6, 0x00F7}, {0xF7, 0x2248}, {0xF8, 0x00B0}, {0xF9, 0x2219}, {0xFA, 0x00B7}, {0xFB, 0x221A}, {0xFC, 0x207F}, {0xFD, 0x00B2}, {0xFE, 0x25A0}, {0xFF, 0x00A0}, {0, 0} }; char *aliases_kamen [] = {"x-kam-cs", "kam", "867", "869", NULL }; struct table_entry table_koi8_r [] = { {0x80, 0x2500}, {0x81, 0x2502}, {0x82, 0x250C}, {0x83, 0x2510}, {0x84, 0x2514}, {0x85, 0x2518}, {0x86, 0x251C}, {0x87, 0x2524}, {0x88, 0x252C}, {0x89, 0x2534}, {0x8A, 0x253C}, {0x8B, 0x2580}, {0x8C, 0x2584}, {0x8D, 0x2588}, {0x8E, 0x258C}, {0x8F, 0x2590}, {0x90, 0x2591}, {0x91, 0x2592}, {0x92, 0x2593}, {0x93, 0x2320}, {0x94, 0x25A0}, {0x95, 0x2022}, {0x96, 0x221A}, {0x97, 0x2248}, {0x98, 0x2264}, {0x99, 0x2265}, {0x9A, 0x00A0}, {0x9B, 0x2321}, {0x9C, 0x00B0}, {0x9D, 0x00B2}, {0x9E, 0x00B7}, {0x9F, 0x00F7}, {0xA0, 0x2550}, {0xA1, 0x2551}, {0xA2, 0x2552}, {0xA3, 0x0451}, {0xA4, 0x2553}, {0xA5, 0x2554}, {0xA6, 0x2555}, {0xA7, 0x2556}, {0xA8, 0x2557}, {0xA9, 0x2558}, {0xAA, 0x2559}, {0xAB, 0x255A}, {0xAC, 0x255B}, {0xAD, 0x255C}, {0xAE, 0x255D}, {0xAF, 0x255E}, {0xB0, 0x255F}, {0xB1, 0x2560}, {0xB2, 0x2561}, {0xB3, 0x0401}, {0xB4, 0x2562}, {0xB5, 0x2563}, {0xB6, 0x2564}, {0xB7, 0x2565}, {0xB8, 0x2566}, {0xB9, 0x2567}, {0xBA, 0x2568}, {0xBB, 0x2569}, {0xBC, 0x256A}, {0xBD, 0x256B}, {0xBE, 0x256C}, {0xBF, 0x00A9}, {0xC0, 0x044E}, {0xC1, 0x0430}, {0xC2, 0x0431}, {0xC3, 0x0446}, {0xC4, 0x0434}, {0xC5, 0x0435}, {0xC6, 0x0444}, {0xC7, 0x0433}, {0xC8, 0x0445}, {0xC9, 0x0438}, {0xCA, 0x0439}, {0xCB, 0x043A}, {0xCC, 0x043B}, {0xCD, 0x043C}, {0xCE, 0x043D}, {0xCF, 0x043E}, {0xD0, 0x043F}, {0xD1, 0x044F}, {0xD2, 0x0440}, {0xD3, 0x0441}, {0xD4, 0x0442}, {0xD5, 0x0443}, {0xD6, 0x0436}, {0xD7, 0x0432}, {0xD8, 0x044C}, {0xD9, 0x044B}, {0xDA, 0x0437}, {0xDB, 0x0448}, {0xDC, 0x044D}, {0xDD, 0x0449}, {0xDE, 0x0447}, {0xDF, 0x044A}, {0xE0, 0x042E}, {0xE1, 0x0410}, {0xE2, 0x0411}, {0xE3, 0x0426}, {0xE4, 0x0414}, {0xE5, 0x0415}, {0xE6, 0x0424}, {0xE7, 0x0413}, {0xE8, 0x0425}, {0xE9, 0x0418}, {0xEA, 0x0419}, {0xEB, 0x041A}, {0xEC, 0x041B}, {0xED, 0x041C}, {0xEE, 0x041D}, {0xEF, 0x041E}, {0xF0, 0x041F}, {0xF1, 0x042F}, {0xF2, 0x0420}, {0xF3, 0x0421}, {0xF4, 0x0422}, {0xF5, 0x0423}, {0xF6, 0x0416}, {0xF7, 0x0412}, {0xF8, 0x042C}, {0xF9, 0x042B}, {0xFA, 0x0417}, {0xFB, 0x0428}, {0xFC, 0x042D}, {0xFD, 0x0429}, {0xFE, 0x0427}, {0xFF, 0x042A}, {0, 0} }; char *aliases_koi8_r [] = {"koi8-r", NULL }; struct table_entry table_koi8_u [] = { {0x80, 0x2500}, {0x81, 0x2502}, {0x82, 0x250C}, {0x83, 0x2510}, {0x84, 0x2514}, {0x85, 0x2518}, {0x86, 0x251C}, {0x87, 0x2524}, {0x88, 0x252C}, {0x89, 0x2534}, {0x8A, 0x253C}, {0x8B, 0x2580}, {0x8C, 0x2584}, {0x8D, 0x2588}, {0x8E, 0x258C}, {0x8F, 0x2590}, {0x90, 0x2591}, {0x91, 0x2592}, {0x92, 0x2593}, {0x93, 0x2320}, {0x94, 0x25A0}, {0x95, 0x2219}, {0x96, 0x221A}, {0x97, 0x2248}, {0x98, 0x2264}, {0x99, 0x2265}, {0x9A, 0x00A0}, {0x9B, 0x2321}, {0x9C, 0x00B0}, {0x9D, 0x00B2}, {0x9E, 0x00B7}, {0x9F, 0x00F7}, {0xA0, 0x2550}, {0xA1, 0x2551}, {0xA2, 0x2552}, {0xA3, 0x0451}, {0xA4, 0x0454}, {0xA5, 0x2554}, {0xA6, 0x0456}, {0xA7, 0x0457}, {0xA8, 0x2557}, {0xA9, 0x2558}, {0xAA, 0x2559}, {0xAB, 0x255A}, {0xAC, 0x255B}, {0xAD, 0x0491}, {0xAE, 0x255D}, {0xAF, 0x255E}, {0xB0, 0x255F}, {0xB1, 0x2560}, {0xB2, 0x2561}, {0xB3, 0x0401}, {0xB4, 0x0404}, {0xB5, 0x2563}, {0xB6, 0x0406}, {0xB7, 0x0407}, {0xB8, 0x2566}, {0xB9, 0x2567}, {0xBA, 0x2568}, {0xBB, 0x2569}, {0xBC, 0x256A}, {0xBD, 0x0490}, {0xBE, 0x256C}, {0xBF, 0x00A9}, {0xC0, 0x044E}, {0xC1, 0x0430}, {0xC2, 0x0431}, {0xC3, 0x0446}, {0xC4, 0x0434}, {0xC5, 0x0435}, {0xC6, 0x0444}, {0xC7, 0x0433}, {0xC8, 0x0445}, {0xC9, 0x0438}, {0xCA, 0x0439}, {0xCB, 0x043A}, {0xCC, 0x043B}, {0xCD, 0x043C}, {0xCE, 0x043D}, {0xCF, 0x043E}, {0xD0, 0x043F}, {0xD1, 0x044F}, {0xD2, 0x0440}, {0xD3, 0x0441}, {0xD4, 0x0442}, {0xD5, 0x0443}, {0xD6, 0x0436}, {0xD7, 0x0432}, {0xD8, 0x044C}, {0xD9, 0x044B}, {0xDA, 0x0437}, {0xDB, 0x0448}, {0xDC, 0x044D}, {0xDD, 0x0449}, {0xDE, 0x0447}, {0xDF, 0x044A}, {0xE0, 0x042E}, {0xE1, 0x0410}, {0xE2, 0x0411}, {0xE3, 0x0426}, {0xE4, 0x0414}, {0xE5, 0x0415}, {0xE6, 0x0424}, {0xE7, 0x0413}, {0xE8, 0x0425}, {0xE9, 0x0418}, {0xEA, 0x0419}, {0xEB, 0x041A}, {0xEC, 0x041B}, {0xED, 0x041C}, {0xEE, 0x041D}, {0xEF, 0x041E}, {0xF0, 0x041F}, {0xF1, 0x042F}, {0xF2, 0x0420}, {0xF3, 0x0421}, {0xF4, 0x0422}, {0xF5, 0x0423}, {0xF6, 0x0416}, {0xF7, 0x0412}, {0xF8, 0x042C}, {0xF9, 0x042B}, {0xFA, 0x0417}, {0xFB, 0x0428}, {0xFC, 0x042D}, {0xFD, 0x0429}, {0xFE, 0x0427}, {0xFF, 0x042A}, {0, 0} }; char *aliases_koi8_u [] = {"koi8-u", NULL }; struct table_entry table_tcvn5712 [] = { {0x80, 0x00C0}, {0x81, 0x1EA2}, {0x82, 0x00C3}, {0x83, 0x00C1}, {0x84, 0x1EA0}, {0x85, 0x1EB6}, {0x86, 0x1EAC}, {0x87, 0x00C8}, {0x88, 0x1EBA}, {0x89, 0x1EBC}, {0x8A, 0x00C9}, {0x8B, 0x1EB8}, {0x8C, 0x1EC6}, {0x8D, 0x00CC}, {0x8E, 0x1EC8}, {0x8F, 0x0128}, {0x90, 0x00CD}, {0x91, 0x1ECA}, {0x92, 0x00D2}, {0x93, 0x1ECE}, {0x94, 0x00D5}, {0x95, 0x00D3}, {0x96, 0x1ECC}, {0x97, 0x1ED8}, {0x98, 0x1EDC}, {0x99, 0x1EDE}, {0x9A, 0x1EE0}, {0x9B, 0x1EDA}, {0x9C, 0x1EE2}, {0x9D, 0x00D9}, {0x9E, 0x1EE6}, {0x9F, 0x0168}, {0xA0, 0x00A0}, {0xA1, 0x0102}, {0xA2, 0x00C2}, {0xA3, 0x00CA}, {0xA4, 0x00D4}, {0xA5, 0x01A0}, {0xA6, 0x01AF}, {0xA7, 0x0110}, {0xA8, 0x0103}, {0xA9, 0x00E2}, {0xAA, 0x00EA}, {0xAB, 0x00F4}, {0xAC, 0x01A1}, {0xAD, 0x01B0}, {0xAE, 0x0111}, {0xAF, 0x1EB0}, {0xB0, 0x0300}, {0xB1, 0x0309}, {0xB2, 0x0303}, {0xB3, 0x0301}, {0xB4, 0x0323}, {0xB5, 0x00E0}, {0xB6, 0x1EA3}, {0xB7, 0x00E3}, {0xB8, 0x00E1}, {0xB9, 0x1EA1}, {0xBA, 0x1EB2}, {0xBB, 0x1EB1}, {0xBC, 0x1EB3}, {0xBD, 0x1EB5}, {0xBE, 0x1EAF}, {0xBF, 0x1EB4}, {0xC0, 0x1EAE}, {0xC1, 0x1EA6}, {0xC2, 0x1EA8}, {0xC3, 0x1EAA}, {0xC4, 0x1EA4}, {0xC5, 0x1EC0}, {0xC6, 0x1EB7}, {0xC7, 0x1EA7}, {0xC8, 0x1EA9}, {0xC9, 0x1EAB}, {0xCA, 0x1EA5}, {0xCB, 0x1EAD}, {0xCC, 0x00E8}, {0xCD, 0x1EC2}, {0xCE, 0x1EBB}, {0xCF, 0x1EBD}, {0xD0, 0x00E9}, {0xD1, 0x1EB9}, {0xD2, 0x1EC1}, {0xD3, 0x1EC3}, {0xD4, 0x1EC5}, {0xD5, 0x1EBF}, {0xD6, 0x1EC7}, {0xD7, 0x00EC}, {0xD8, 0x1EC9}, {0xD9, 0x1EC4}, {0xDA, 0x1EBE}, {0xDB, 0x1ED2}, {0xDC, 0x0129}, {0xDD, 0x00ED}, {0xDE, 0x1ECB}, {0xDF, 0x00F2}, {0xE0, 0x1ED4}, {0xE1, 0x1ECF}, {0xE2, 0x00F5}, {0xE3, 0x00F3}, {0xE4, 0x1ECD}, {0xE5, 0x1ED3}, {0xE6, 0x1ED5}, {0xE7, 0x1ED7}, {0xE8, 0x1ED1}, {0xE9, 0x1ED9}, {0xEA, 0x1EDD}, {0xEB, 0x1EDF}, {0xEC, 0x1EE1}, {0xED, 0x1EDB}, {0xEE, 0x1EE3}, {0xEF, 0x00F9}, {0xF0, 0x1ED6}, {0xF1, 0x1EE7}, {0xF2, 0x0169}, {0xF3, 0x00FA}, {0xF4, 0x1EE5}, {0xF5, 0x1EEB}, {0xF6, 0x1EED}, {0xF7, 0x1EEF}, {0xF8, 0x1EE9}, {0xF9, 0x1EF1}, {0xFA, 0x1EF3}, {0xFB, 0x1EF7}, {0xFC, 0x1EF9}, {0xFD, 0x00FD}, {0xFE, 0x1EF5}, {0xFF, 0x1ED0}, {0xA7, 0x00D0}, {0xAE, 0x00F0}, {0, 0} }; char *aliases_tcvn5712 [] = {"TCVN-5712", "TCVN", "TCVN-0", "TCVN-1", NULL }; struct table_entry table_viscii [] = { {0x80, 0x1EA0}, {0x81, 0x1EAE}, {0x82, 0x1EB0}, {0x83, 0x1EB6}, {0x84, 0x1EA4}, {0x85, 0x1EA6}, {0x86, 0x1EA8}, {0x87, 0x1EAC}, {0x88, 0x1EBC}, {0x89, 0x1EB8}, {0x8A, 0x1EBE}, {0x8B, 0x1EC0}, {0x8C, 0x1EC2}, {0x8D, 0x1EC4}, {0x8E, 0x1EC6}, {0x8F, 0x1ED0}, {0x90, 0x1ED2}, {0x91, 0x1ED4}, {0x92, 0x1ED6}, {0x93, 0x1ED8}, {0x94, 0x1EE2}, {0x95, 0x1EDA}, {0x96, 0x1EDC}, {0x97, 0x1EDE}, {0x98, 0x1ECA}, {0x99, 0x1ECE}, {0x9A, 0x1ECC}, {0x9B, 0x1EC8}, {0x9C, 0x1EE6}, {0x9D, 0x0168}, {0x9E, 0x1EE4}, {0x9F, 0x1EF2}, {0xA0, 0x00D5}, {0xA1, 0x1EAF}, {0xA2, 0x1EB1}, {0xA3, 0x1EB7}, {0xA4, 0x1EA5}, {0xA5, 0x1EA7}, {0xA6, 0x1EA9}, {0xA7, 0x1EAD}, {0xA8, 0x1EBD}, {0xA9, 0x1EB9}, {0xAA, 0x1EBF}, {0xAB, 0x1EC1}, {0xAC, 0x1EC3}, {0xAD, 0x1EC5}, {0xAE, 0x1EC7}, {0xAF, 0x1ED1}, {0xB0, 0x1ED3}, {0xB1, 0x1ED5}, {0xB2, 0x1ED7}, {0xB3, 0x1EE0}, {0xB4, 0x01A0}, {0xB5, 0x1ED9}, {0xB6, 0x1EDD}, {0xB7, 0x1EDF}, {0xB8, 0x1ECB}, {0xB9, 0x1EF0}, {0xBA, 0x1EE8}, {0xBB, 0x1EEA}, {0xBC, 0x1EEC}, {0xBD, 0x01A1}, {0xBE, 0x1EDB}, {0xBF, 0x01AF}, {0xC0, 0x00C0}, {0xC1, 0x00C1}, {0xC2, 0x00C2}, {0xC3, 0x00C3}, {0xC4, 0x1EA2}, {0xC5, 0x0102}, {0xC6, 0x1EB3}, {0xC7, 0x1EB5}, {0xC8, 0x00C8}, {0xC9, 0x00C9}, {0xCA, 0x00CA}, {0xCB, 0x1EBA}, {0xCC, 0x00CC}, {0xCD, 0x00CD}, {0xCE, 0x0128}, {0xCF, 0x1EF3}, {0xD0, 0x0110}, {0xD1, 0x1EE9}, {0xD2, 0x00D2}, {0xD3, 0x00D3}, {0xD4, 0x00D4}, {0xD5, 0x1EA1}, {0xD6, 0x1EF7}, {0xD7, 0x1EEB}, {0xD8, 0x1EED}, {0xD9, 0x00D9}, {0xDA, 0x00DA}, {0xDB, 0x1EF9}, {0xDC, 0x1EF5}, {0xDD, 0x00DD}, {0xDE, 0x1EE1}, {0xDF, 0x01B0}, {0xE0, 0x00E0}, {0xE1, 0x00E1}, {0xE2, 0x00E2}, {0xE3, 0x00E3}, {0xE4, 0x1EA3}, {0xE5, 0x0103}, {0xE6, 0x1EEF}, {0xE7, 0x1EAB}, {0xE8, 0x00E8}, {0xE9, 0x00E9}, {0xEA, 0x00EA}, {0xEB, 0x1EBB}, {0xEC, 0x00EC}, {0xED, 0x00ED}, {0xEE, 0x0129}, {0xEF, 0x1EC9}, {0xF0, 0x0111}, {0xF1, 0x1EF1}, {0xF2, 0x00F2}, {0xF3, 0x00F3}, {0xF4, 0x00F4}, {0xF5, 0x00F5}, {0xF6, 0x1ECF}, {0xF7, 0x1ECD}, {0xF8, 0x1EE5}, {0xF9, 0x00F9}, {0xFA, 0x00FA}, {0xFB, 0x0169}, {0xFC, 0x1EE7}, {0xFD, 0x00FD}, {0xFE, 0x1EE3}, {0xFF, 0x1EEE}, {0xD0, 0x00D0}, {0xF0, 0x00F0}, {0, 0} }; char *aliases_viscii [] = {"VISCII", "VISCII-1", "VISCII 1.1", "VISCII-1.1", "VISCII1.1-1", NULL }; struct table_entry table_utf_8 [] = { {0, 0} }; char *aliases_utf_8 [] = {"utf-8", "utf8", NULL }; struct codepage_desc codepages [] = { {"7-bit ASCII", aliases_7bit, table_7bit}, {"ISO 8859-1", aliases_8859_1, table_8859_1}, {"ISO 8859-2", aliases_8859_2, table_8859_2}, {"ISO 8859-4", aliases_8859_4, table_8859_4}, {"ISO 8859-5", aliases_8859_5, table_8859_5}, {"ISO 8859-7", aliases_8859_7, table_8859_7}, {"ISO 8859-9", aliases_8859_9, table_8859_9}, {"ISO 8859-13", aliases_8859_13, table_8859_13}, {"Window$ 1250", aliases_cp1250, table_cp1250}, {"Window$ 1251", aliases_cp1251, table_cp1251}, {"Window$ 1257", aliases_cp1257, table_cp1257}, {"CP 437", aliases_cp437, table_cp437}, {"CP 737", aliases_cp737, table_cp737}, {"CP 850", aliases_cp850, table_cp850}, {"CP 852", aliases_cp852, table_cp852}, {"CP 866", aliases_cp866, table_cp866}, {"CP 1125 (Ukrainian)", aliases_cp1125, table_cp1125}, {"MacRoman 2000", aliases_macroman, table_macroman}, {"Mac latin 2", aliases_mac_lat2, table_mac_lat2}, {"Kamenicky Brothers", aliases_kamen, table_kamen}, {"KOI8-R", aliases_koi8_r, table_koi8_r}, {"KOI8-U", aliases_koi8_u, table_koi8_u}, {"TCVN-5712", aliases_tcvn5712, table_tcvn5712}, {"VISCII", aliases_viscii, table_viscii}, {"Unicode UTF-8", aliases_utf_8, table_utf_8}, {NULL, NULL, NULL} }; tucnak-4.32/src/settings.c0000644000175000017500000000355114125267034012453 00000000000000char *txt_settings= "------ Tucnak settings: --------\n" " version: tucnak-4.32\n" " prefix: /usr/local\n" " pkg: bin\n" " CFLAGS: -g -O2 -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/ -D_REENTRANT -I/usr/include/SDL2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/ok1zia/c/libzia/include -I/home/ok1zia/c/libzia/include/unix\n" " LDFLAGS: -z now -rdynamic -Wl,-Map,tucnak.map\n" " LIBS: -L/home/ok1zia/c/libzia/src/.libs -Wl,-Bstatic -lzia -Wl,-Bdynamic -lutil -lSDL2 -lpng16 -lglib-2.0 -lgthread-2.0 -pthread -lglib-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lftdi -lbfd -lgnutls -lm -lgthread-2.0 -pthread -lglib-2.0 -lsndfile -lasound -lhamlib -lfftw3 -lportaudio -lrtlsdr -Wl,-Map,tucnak.map\n" " libzia: yes 4.32 in /home/ok1zia/c/libzia/bin/zia-config\n" " iconv: libc\n" " libgpm: disabled \n" "libsndfile: yes 1.0.27\n" " alsa: yes 1.1.3\n" " libhamlib: yes 3.0.1\n" " libfftw3: yes\n" " portaudio: yes\n" " librtlsdr: yes 0.5.3\n" " ppdev: yes\n" " ddir: /usr/lib/tucnak\n" " pedantic: no\n" " opts: -O2\n" ; tucnak-4.32/src/charsets.c0000644000175000017500000002606612460207027012431 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "charsets.h" #include "language2.h" #include "terminal.h" #include "tsdl.h" struct table_entry { char c; unicode_val u; }; struct codepage_desc { char *name; char **aliases; struct table_entry *table; }; #include "codepage.inc" #include "uni_7b.inc" char *strings[256] = { "\000", "\001", "\002", "\003", "\004", "\005", "\006", "\007", "\010", "\011", "\012", "\013", "\014", "\015", "\016", "\017", "\020", "\021", "\022", "\023", "\024", "\025", "\026", "\033", "\030", "\031", "\032", "\033", "\034", "\035", "\036", "\033", "\040", "\041", "\042", "\043", "\044", "\045", "\046", "\047", "\050", "\051", "\052", "\053", "\054", "\055", "\056", "\057", "\060", "\061", "\062", "\063", "\064", "\065", "\066", "\067", "\070", "\071", "\072", "\073", "\074", "\075", "\076", "\077", "\100", "\101", "\102", "\103", "\104", "\105", "\106", "\107", "\110", "\111", "\112", "\113", "\114", "\115", "\116", "\117", "\120", "\121", "\122", "\123", "\124", "\125", "\126", "\127", "\130", "\131", "\132", "\133", "\134", "\135", "\136", "\137", "\140", "\141", "\142", "\143", "\144", "\145", "\146", "\147", "\150", "\151", "\152", "\153", "\154", "\155", "\156", "\157", "\160", "\161", "\162", "\163", "\164", "\165", "\166", "\167", "\170", "\171", "\172", "\173", "\174", "\175", "\176", "\177", "\200", "\201", "\202", "\203", "\204", "\205", "\206", "\207", "\210", "\211", "\212", "\213", "\214", "\215", "\216", "\217", "\220", "\221", "\222", "\223", "\224", "\225", "\226", "\227", "\230", "\231", "\232", "\233", "\234", "\235", "\236", "\237", "\240", "\241", "\242", "\243", "\244", "\245", "\246", "\247", "\250", "\251", "\252", "\253", "\254", "\255", "\256", "\257", "\260", "\261", "\262", "\263", "\264", "\265", "\266", "\267", "\270", "\271", "\272", "\273", "\274", "\275", "\276", "\277", "\300", "\301", "\302", "\303", "\304", "\305", "\306", "\307", "\310", "\311", "\312", "\313", "\314", "\315", "\316", "\317", "\320", "\321", "\322", "\323", "\324", "\325", "\326", "\327", "\330", "\331", "\332", "\333", "\334", "\335", "\336", "\337", "\340", "\341", "\342", "\343", "\344", "\345", "\346", "\347", "\350", "\351", "\352", "\353", "\354", "\355", "\356", "\357", "\360", "\361", "\362", "\363", "\364", "\365", "\366", "\367", "\370", "\371", "\372", "\373", "\374", "\375", "\376", "\377", }; void free_translation_table(struct conv_table *p) { int i; for (i = 0; i < 256; i++) if (p[i].t) free_translation_table(p[i].u.tbl); g_free(p); } char *no_str = NULL; void new_translation_table(struct conv_table *p) { int i; if (!no_str) no_str = g_strdup("*"); for (i = 0; i < 256; i++) if (p[i].t) free_translation_table(p[i].u.tbl); for (i = 0; i < 128; i++) p[i].t = 0, p[i].u.str = strings[i]; for (; i < 256; i++) p[i].t = 0, p[i].u.str = no_str; } #define BIN_SEARCH(table, entry, entries, key, result) \ { \ int _s = 0, _e = (entries) - 1; \ while (_s <= _e || !((result) = -1)) { \ int _m = (_s + _e) / 2; \ if ((table)[_m].entry == (key)) { \ (result) = _m; \ break; \ } \ if ((table)[_m].entry > (key)) _e = _m - 1; \ if ((table)[_m].entry < (key)) _s = _m + 1; \ } \ } \ static const unicode_val strange_chars[32] = { 0x20ac, 0x0000, 0x002a, 0x0000, 0x201e, 0x2026, 0x2020, 0x2021, 0x005e, 0x2030, 0x0160, 0x003c, 0x0152, 0x0000, 0x0000, 0x0000, 0x0000, 0x0060, 0x0027, 0x0022, 0x0022, 0x002a, 0x2013, 0x2014, 0x007e, 0x2122, 0x0161, 0x003e, 0x0153, 0x0000, 0x0000, 0x0000, }; char *u2cp(int u, int to) { int j, s; if (u < 128) return strings[u]; if (u == 0xa0) return "\001"; if (u == 0xad) return ""; if (u < 0xa0) { if (!strange_chars[u - 0x80]) return NULL; return u2cp(strange_chars[u - 0x80], to); } for (j = 0; codepages[to].table[j].c; j++) if (codepages[to].table[j].u == u) return strings[(unsigned int)codepages[to].table[j].c]; BIN_SEARCH(unicode_7b, x, N_UNICODE_7B, u, s); if (s != -1) return unicode_7b[s].s; return NULL; } char utf_buffer[7]; char *encode_utf_8(unicode_val u) { memset(utf_buffer, 0, 7); if (u < 0x80) utf_buffer[0] = u; else if (u < 0x800) utf_buffer[0] = 0xc0 | ((u >> 6) & 0x1f), utf_buffer[1] = 0x80 | (u & 0x3f); else if (u < 0x10000) utf_buffer[0] = 0xe0 | ((u >> 12) & 0x0f), utf_buffer[1] = 0x80 | ((u >> 6) & 0x3f), utf_buffer[2] = 0x80 | (u & 0x3f); else if (u < 0x200000) utf_buffer[0] = 0xf0 | ((u >> 18) & 0x0f), utf_buffer[1] = 0x80 | ((u >> 12) & 0x3f), utf_buffer[2] = 0x80 | ((u >> 6) & 0x3f), utf_buffer[3] = 0x80 | (u & 0x3f); else if (u < 0x4000000) utf_buffer[0] = 0xf8 | ((u >> 24) & 0x0f), utf_buffer[1] = 0x80 | ((u >> 18) & 0x3f), utf_buffer[2] = 0x80 | ((u >> 12) & 0x3f), utf_buffer[3] = 0x80 | ((u >> 6) & 0x3f), utf_buffer[4] = 0x80 | (u & 0x3f); else utf_buffer[0] = 0xfc | ((u >> 30) & 0x01), utf_buffer[1] = 0x80 | ((u >> 24) & 0x3f), utf_buffer[2] = 0x80 | ((u >> 18) & 0x3f), utf_buffer[3] = 0x80 | ((u >> 12) & 0x3f), utf_buffer[4] = 0x80 | ((u >> 6) & 0x3f), utf_buffer[5] = 0x80 | (u & 0x3f); return utf_buffer; } /* This slow and ugly code is used by the terminal utf_8_io */ char *cp2utf_8(int from, int c) { register int j; if (codepages[from].table == table_utf_8 || c < 128) return strings[c]; for (j = 0; codepages[from].table[j].c; j++) if (codepages[from].table[j].c == c) return encode_utf_8(codepages[from].table[j].u); return encode_utf_8(UCS_NO_CHAR); } #if 0 void add_utf_8(struct conv_table *ct, unicode_val u, char *str) { char *p = encode_utf_8(u); while (p[1]) { if (ct[*p].t) ct = ct[*p].u.tbl; else { struct conv_table *nct; if (ct[*p].u.str != no_str) { internal("bad utf encoding #1"); return; } if (!(nct = mem_alloc(sizeof(struct conv_table) * 256))) return; memset(nct, 0, sizeof(struct conv_table) * 256); new_translation_table(nct); ct[*p].t = 1; ct[*p].u.tbl = nct; ct = nct; } p++; } if (ct[*p].t) { internal("bad utf encoding #2"); return; } if (ct[*p].u.str == no_str) ct[*p].u.str = str; } #endif struct conv_table utf_table[256]; int utf_table_init = 1; static void free_utf_table(void) { register int i; for (i = 128; i < 256; i++) g_free(utf_table[i].u.str); } #if 0 static struct conv_table *get_translation_table_to_utf_8(int from) { register int i; static int lfr = -1; if (from == -1) return NULL; if (from == lfr) return utf_table; if (utf_table_init) memset(utf_table, 0, sizeof(struct conv_table) * 256), utf_table_init = 0; else free_utf_table(); for (i = 0; i < 128; i++) utf_table[i].u.str = strings[i]; if (codepages[from].table == table_utf_8) { for (i = 128; i < 256; i++) utf_table[i].u.str = g_strdup(strings[i]); return utf_table; } for (i = 128; i < 256; i++) utf_table[i].u.str = NULL; for (i = 0; codepages[from].table[i].c; i++) { unicode_val u = codepages[from].table[i].u; if (!utf_table[codepages[from].table[i].c].u.str) utf_table[codepages[from].table[i].c].u.str = g_strdup(encode_utf_8(u)); } for (i = 128; i < 256; i++) if (!utf_table[i].u.str) utf_table[i].u.str = g_strdup(no_str); return utf_table; } #endif static struct conv_table table[256]; static int first = 1; void free_conv_table(void) { if (!utf_table_init) free_utf_table(); if (first) memset(table, 0, sizeof(struct conv_table) * 256), first = 0; new_translation_table(table); g_free(no_str), no_str = NULL; } #if 0 struct conv_table *get_translation_table(int from, int to) { int i; static int lfr = -1; static int lto = -1; if (first) memset(table, 0, sizeof(struct conv_table) * 256), first = 0; if (/*from == to ||*/ from == -1 || to == -1) return NULL; if (codepages[to].table == table_utf_8) return get_translation_table_to_utf_8(from); if (from == lfr && to == lto) return table; lfr = from; lto = to; new_translation_table(table); if (codepages[from].table == table_utf_8) { int j; for (j = 0; codepages[to].table[j].c; j++) add_utf_8(table, codepages[to].table[j].u, strings[codepages[to].table[j].c]); for (i = 0; unicode_7b[i].x != -1; i++) if (unicode_7b[i].x >= 0x80) add_utf_8(table, unicode_7b[i].x, unicode_7b[i].s); } else for (i = 128; i < 256; i++) { int j; char *u; for (j = 0; codepages[from].table[j].c; j++) { if (codepages[from].table[j].c == i) goto f; } continue; f: u = u2cp(codepages[from].table[j].u, to); if (u) table[i].u.str = u; } return table; } static inline int xxstrcmp(char *s1, char *s2, int l2) { while (l2) { if (*s1 > *s2) return 1; if (!*s1 || *s1 < *s2) return -1; s1++, s2++, l2--; } return !!*s1; } #endif int get_cp_index(char *n) { int i, a, p, q; int ii = -1, ll = 0; for (i = 0; codepages[i].name; i++) { for (a = 0; codepages[i].aliases[a]; a++) { for (p = 0; n[p]; p++) { if (z_char_uc(n[p]) == z_char_uc(codepages[i].aliases[a][0])) { for (q = 1; codepages[i].aliases[a][q]; q++) { if (z_char_uc(n[p+q]) != z_char_uc(codepages[i].aliases[a][q])) goto fail; } if (strlen(codepages[i].aliases[a]) > ll) { ll = strlen(codepages[i].aliases[a]); ii = i; } } fail:; } } } return ii; } char *get_cp_name(int index) { if (index < 0) return "none"; return codepages[index].name; } #if 0 char *get_cp_mime_name(int index) { if (index < 0) return "none"; if (!codepages[index].aliases) return NULL; return codepages[index].aliases[0]; } #endif int is_cp_special(int index) { return codepages[index].table == table_utf_8; } tucnak-4.32/src/cwdb.c0000644000175000017500000004711213700130565011527 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "cwdb.h" #include "fifo.h" #include "main.h" #include "masterdb.h" #include "qsodb.h" #include "tsdl.h" #include "session.h" #include "stats.h" #include "subwin.h" struct cw *cw; static gchar *cw_next; static gchar *wc_next; struct cw *init_cw(void){ struct cw *cw; time_t now; struct tm tm; progress(VTEXT(T_INIT_CWDB)); cw = g_new0(struct cw, 1); cw->cw = z_hash_table_new(g_str_hash, g_str_equal); cw->wc = g_hash_table_new(g_str_hash, g_str_equal); cw_next = NULL; wc_next = NULL; cw->latest = 0; time(&now); now -= 740 * 86400L; /* 740 days = two years + something */ gmtime_r(&now, &tm); cw->minstamp = (tm.tm_year+1900)*10000 + (tm.tm_mon+1)*100 + tm.tm_mday; return cw; } static gboolean free_cw_item(gpointer key, gpointer value, gpointer user_data){ struct cw_item *cwi; g_free(key); cwi = (struct cw_item *)value; if (cwi->wwl0) g_free(cwi->wwl0); if (cwi->wwl1) g_free(cwi->wwl1); g_free(value); return 0; } static gboolean free_wc_item(gpointer key, gpointer value, gpointer user_data){ struct wc_item *wci; g_free(key); wci = (struct wc_item *)value; if (wci->call0) g_free(wci->call0); if (wci->call1) g_free(wci->call1); g_free(value); return 0; } void free_cw(struct cw *cw){ progress(VTEXT(T_TERM_CWDB)); g_hash_table_foreach_remove(cw->wc, free_wc_item, NULL); g_hash_table_destroy(cw->wc); z_hash_table_foreach_remove(cw->cw, free_cw_item, NULL); z_hash_table_destroy(cw->cw); g_free(cw); } gint get_cw_size(struct cw *cw){ return z_hash_table_size(cw->cw); } gint get_wc_size(struct cw *cw){ return g_hash_table_size(cw->wc); } #define CW_DELIM " \t\r\n" void load_one_cw(struct cw *cw, gchar *s){ gchar *call, *wwl, *stamp_str, *qrv_str; char *token_ptr; z_str_uc(s); call = strtok_r(s, CW_DELIM, &token_ptr); if (!call) return; z_strip_from(call, '-'); // before 3.15 in db can be calls with SSID from KST wwl = strtok_r(NULL, CW_DELIM, &token_ptr); if (!wwl) return; stamp_str = strtok_r(NULL, CW_DELIM, &token_ptr); if (!stamp_str) return; qrv_str = strtok_r(NULL, CW_DELIM, &token_ptr); /*dbg("qrv_str(%s)=%s\n", call, qrv_str);*/ add_cw(cw, call, wwl, atoi(stamp_str), qrv_str); /* qrv can be null */ add_wc(cw, wwl, call, atoi(stamp_str)); } int load_cw_from_file(struct cw *cw, gchar *filename){ FILE *f; char s[102]; f = fopen(filename, "rt"); if (!f){ /*dbg("Can't open '%s'\n", filename);*/ return -1; } while((fgets(s, 100, f))!=NULL){ load_one_cw(cw,s); } fclose(f); return 0; } int load_cw_from_mem(struct cw *cw, const char *file, size_t len){ GString *gs; long int pos; gs = g_string_sized_new(100); pos=0; while(1){ if (!zfile_mgets(gs, file, &pos, len, 1)) break; load_one_cw(cw, gs->str); } g_string_free(gs, 1); return 0; } void read_cw_files(struct cw *cw){ gchar *s; int ret = 0; progress(VTEXT(T_LOADING_CWDB)); /*#ifdef UNIX ret |= load_cw_from_file(cw, "/etc/tucnakcw"); #endif*/ s = g_strconcat(tucnak_dir, "/tucnakcw", NULL); z_wokna(s); ret |= load_cw_from_file(cw, s); if (ret) load_cw_from_mem(cw, txt_tucnakcw, sizeof(txt_tucnakcw)); cw->dirty = 0; g_free(s); } static void save_one_cw(gpointer key, gpointer value, gpointer user_data){ GString *gs; gchar *call; struct cw_item *cwi; gchar qrv_str[33], *c; int i; char s[4096]; gs = (GString *) user_data; call = (gchar *) key; cwi = (struct cw_item *) value; for (i=0, c=qrv_str;i<32;i++){ if (!(cwi->qrv & (1<wwl0){ sprintf(s, "%-14s %-6s %08d %s\n", call, cwi->wwl0, cwi->stamp0, qrv_str); g_string_append(gs, s); // g_string_append_printf is incredibely slow under msvc //g_string_append_printf(gs, "%-14s %-6s %08d %s\n", call, cwi->wwl0, cwi->stamp0, qrv_str); } if (cwi->wwl1){ sprintf(s, "%-14s %-6s %08d %s\n", call, cwi->wwl1, cwi->stamp1, qrv_str); g_string_append(gs, s); //g_string_append_printf(gs, "%-14s %-6s %08d %s\n", call, cwi->wwl1, cwi->stamp1, qrv_str); } } int save_cw_string(struct cw *cw, GString *gs){ z_hash_table_foreach(cw->cw, save_one_cw, (gpointer) gs); return 0; } int save_cw_into_file(struct cw *cw, gchar *filename){ FILE *f; GString *gs; int ret; f = fopen(filename, "wt"); /* FIXME swp first */ if (!f) { return errno; } gs=g_string_sized_new(100000); save_cw_string(cw,gs); ret = fprintf(f,"%s",gs->str) != gs->len ? errno: 0; fclose(f); g_string_free(gs,TRUE); return ret; } int save_cw(struct cw *cw, int verbose){ char *s; int ret; if (!cw->dirty) return 0; s = g_strconcat(tucnak_dir, "/tucnakcw", NULL); z_wokna(s); ret=save_cw_into_file(cw, s); if (ret){ errbox(VTEXT(T_CANT_WRITE), ret); }else{ if (verbose) log_addf(VTEXT(T_SAVED_S), s); cw->dirty = 0; } g_free(s); return ret; } static void format_one_cw(gpointer key, gpointer value, gpointer user_data){ GString *gs; gchar *call; struct cw_item *cwi; gchar qrv_str[33], *c; int i; char s[4096]; gs = (GString *) user_data; call = (gchar *) key; cwi = (struct cw_item *) value; for (i=0, c=qrv_str;i<32;i++){ if (!(cwi->qrv & (1<wwl0){ sprintf(s, "%s %s %d %s;", call, cwi->wwl0, cwi->stamp0, qrv_str); g_string_append(gs, s); // g_string_append_printf is incredibely slow under msvc //g_string_append_printf(gs, "%-14s %-6s %08d %s\n", call, cwi->wwl0, cwi->stamp0, qrv_str); } if (cwi->wwl1){ sprintf(s, "%4s %s %d %s;", call, cwi->wwl1, cwi->stamp1, qrv_str); g_string_append(gs, s); //g_string_append_printf(gs, "%-14s %-6s %08d %s\n", call, cwi->wwl1, cwi->stamp1, qrv_str); } } int format_cw_string(struct cw *cw, GString *gs){ z_hash_table_foreach(cw->cw, format_one_cw, (gpointer) gs); return 0; } void add_cw(struct cw *cw, gchar *call, gchar *wwl, gint stamp, gchar *qrv_str){ struct cw_item *cwi; char *c; if (stamp<0) return; if (stamp>cw->latest) cw->latest=stamp; cwi = (struct cw_item *)z_hash_table_lookup(cw->cw, call); if (!cwi){ cwi = g_new0(struct cw_item, 1); z_hash_table_insert(cw->cw, g_strdup(call), cwi); } if (qrv_str){ /* can be NULL*/ for (c=qrv_str;*c!='\0';c++){ *c=z_char_uc(*c); cwi->qrv|=1<<(*c-'A'); } } if (stamp < cwi->stamp1) return; if (stamp < cwi->stamp0){ if (strcasecmp(cwi->wwl0, wwl)==0) return; if (cwi->wwl1) g_free(cwi->wwl1); cwi->wwl1 = g_strdup(wwl); cwi->stamp1 = stamp; cw->dirty = 1; return; } if (cwi->wwl0 && strcasecmp(cwi->wwl0, wwl)==0) { cwi->stamp0 = stamp; cw->dirty = 1; return; } if (cwi->wwl1) g_free(cwi->wwl1); cwi->wwl1 = cwi->wwl0; cwi->stamp1 = cwi->stamp0; cwi->wwl0 = g_strdup(wwl); cwi->stamp0 = stamp; cw->dirty = 1; } void add_wc(struct cw *cw, gchar *wwl, gchar *call, gint stamp){ struct wc_item *wci; if (stamp<0) return; if (stamp>cw->latest) cw->latest=stamp; wci = (struct wc_item *)g_hash_table_lookup(cw->wc, wwl); if (!wci){ wci = g_new0(struct wc_item, 1); g_hash_table_insert(cw->wc, g_strdup(wwl), wci); } if (stamp < wci->stamp1) return; if (stamp < wci->stamp0){ if (strcasecmp(wci->call0, call)==0) return; if (wci->call1) g_free(wci->call1); wci->call1 = g_strdup(call); wci->stamp1 = stamp; return; } if (wci->call0 && strcasecmp(wci->call0, call)==0) { wci->stamp0 = stamp; return; } if (wci->call1) g_free(wci->call1); wci->call1 = wci->call0; wci->stamp1 = wci->stamp0; wci->call0 = g_strdup(call); wci->stamp0 = stamp; } gchar *find_wwl_by_call(struct cw *cw, gchar *call){ struct cw_item *cwi; if (!call) return cw_next; cw_next = NULL; cwi = (struct cw_item *)z_hash_table_lookup(cw->cw, call); if (!cwi) return NULL; cw_next = cwi->wwl1; return cwi->wwl0; } gchar *find_wwl_by_call_newer(struct cw *cw, gchar *call, int maxstamp){ struct cw_item *cwi; cwi = (struct cw_item *)z_hash_table_lookup(cw->cw, call); if (!cwi) return NULL; if (cwi->stamp0 > maxstamp) return cwi->wwl0; if (cwi->stamp1 > maxstamp) return cwi->wwl1; return NULL; } gchar *find_call_by_wwl(struct cw *cw, gchar *wwl){ struct wc_item *wci; if (!wwl) return wc_next; wc_next = NULL; wci = g_hash_table_lookup(cw->wc, wwl); if (!wci) return NULL; wc_next = wci->call1; return wci->call0; } gchar *find_qrv_str_by_call(struct cw *cw, gchar *call){ int i,j; gchar *c; struct cw_item *cwi; gint qrv; static gchar qrv_str[33]; gchar *ret; char raw[25], raw2[25]; struct qso *q; struct band *band; if (!aband) return NULL; qrv=0; cwi = (struct cw_item *)z_hash_table_lookup(cw->cw, call); if (cwi) qrv|=cwi->qrv; cwi = (struct cw_item *)z_hash_table_lookup(cw->cw, z_get_raw_call(raw, call)); if (cwi) qrv|=cwi->qrv; c=g_strdup_printf("%s/P", raw); cwi = (struct cw_item *)z_hash_table_lookup(cw->cw, c); if (cwi) qrv|=cwi->qrv; g_free(c); if (!qrv) return NULL; for (i='A',c=qrv_str; i<='Z'; i++){ if (i==aband->bandchar) continue; /* same band */ if (!(qrv & ctest->qrv & (1<<(i-'A')))) continue; /* we are not qrv on band */ band = find_band_by_bandchar(i); if (band){ for (j=0; jqsos->len; j++){ q = (struct qso *)g_ptr_array_index(band->qsos, j); if (q->error || q->dupe) continue; z_get_raw_call(raw2, q->callsign); /*if (!cfg->daqrv){ if (strcmp(raw2, raw)==0) goto next; }else{ */ if (strcmp(raw2, raw)==0) { *c = z_char_lc(i); c++; goto next; } //} } } *c=i; c++; next:; } *c='\0'; ret=strlen(qrv_str)?qrv_str:NULL; /*log_addf("find_qrv_str_by_call(%s)='%s'", call, ret);*/ return ret; } /*static int is_string_in_array(GPtrArray *arr, gchar *str){ int i; gchar *c; for (i=0; ilen; i++){ c = (gchar *)g_ptr_array_index(arr, i); if (!c) continue; if (strcmp(c, str)==0) return 1; } return 0; } */ int cmp_cw_qs(gchar *call, struct cw_item *cwi, GPtrArray *result){ gchar *c; int ret=0, i; int qrb_int, qtf_int; char qrv_str[35]; int qrvfilter; char degree[2]; #if defined(Z_HAVE_SDL) && !defined(Z_ANDROID) if (sdl) strcpy(degree, "\xb0"); else #endif strcpy(degree, ""); qrvfilter = ctest ? ctest->qrv : -1; c=qrv_str; for (i=0;i<32;i++){ if ((cwi->qrv & qrvfilter & (1<qs_str)){ if (cwi->wwl0) { qrb_qtf_int(ctest ? ctest->pwwlo : cfg->pwwlo, cwi->wwl0, &qrb_int, &qtf_int); c=g_strdup_printf("%-10s %-6s%5d/%3d%s %s", call, cwi->wwl0, qrb_int, qtf_int, degree, qrv_str); g_ptr_array_add(result, c); if (cwi->wwl1){ /* wwl1 is only together with wwl0 */ qrb_qtf_int(ctest ? ctest->pwwlo : cfg->pwwlo, cwi->wwl1, &qrb_int, &qtf_int); c=g_strdup_printf("%-10s %-6s%5d/%3d%s %s", call, cwi->wwl1, qrb_int, qtf_int, degree, qrv_str); g_ptr_array_add(result, c); } }else{ c=g_strdup(call); g_ptr_array_add(result, c); } goto x; } if (cwi->wwl0 && z_strstr(cwi->wwl0, gses->qs_str)){ qrb_qtf_int(ctest ? ctest->pwwlo : cfg->pwwlo, cwi->wwl0, &qrb_int, &qtf_int); c=g_strdup_printf("%-10s %-6s%5d/%3d%s %s", call, cwi->wwl0, qrb_int, qtf_int, degree, qrv_str); /* dbg(",%s", c);*/ g_ptr_array_add(result, c); goto x; } if (cwi->wwl1 && z_strstr(cwi->wwl1, gses->qs_str)){ qrb_qtf_int(ctest ? ctest->pwwlo : cfg->pwwlo, cwi->wwl1, &qrb_int, &qtf_int); c=g_strdup_printf("%-10s %-6s%5d/%3d%s %s", call, cwi->wwl1, qrb_int, qtf_int, degree, qrv_str); /* dbg(",%s", c); */ g_ptr_array_add(result, c); goto x; } x:; return ret; } void get_cw_qs(gchar *str){ qs_thread_kill(); if (strlen(str)<2) { // zg_free0(gses->qs_master); zg_ptr_array_free_items(gses->qs); return; } if (gses && gses->ontop && gses->ontop->type == SWT_HF){ zg_free0(gses->qs_master); // ST_START; gses->qs_master = masterdb_search(masterdb, str, gses->ontop->w); // ST_STOP; //log_adds(gses->qs_master); }else{ zg_free0(gses->qs_str); gses->qs_str=g_strdup(str); gses->qs_max_matches = term->y - QSONR_HEIGHT - 4 - cfg->loglines - 1; if (ctest && !ctest->oldcontest) gses->qs_max_matches -= ctest->spypeers->len; if (ctest && ctest->bands->len==1) gses->qs_max_matches*=2; if (!ctest) gses->qs_max_matches*=3; qs_thread_create(); } } static gpointer qs_thread_func(gpointer data){ GPtrArray *result; ZHashNode *node; gint i; zg_thread_set_name("Tucnak quicksearch"); result=g_ptr_array_new(); for (i = 0; i < cw->cw->size; i++){ for (node = cw->cw->nodes[i]; node; node = node->next){ cmp_cw_qs((char *)node->key, (struct cw_item*)node->value, result); if (result->len >= gses->qs_max_matches) goto x; if (gses->qs_thread_break){ zg_ptr_array_free_all(result); return NULL; } } } x:; z_ptr_array_qsort((ZPtrArray *)result, z_compare_string); // FIXME GPtr vs. ZPtr ? MUTEX_LOCK(gses->qs); zg_ptr_array_free_all(gses->qs); gses->qs=result; MUTEX_UNLOCK(gses->qs); //sprintf(s, "CWQS\n"); //ret = write(tpipe->threadpipe_write, s, strlen(s)); zselect_msg_send(zsel, "CWQS"); return NULL; } void qs_thread_create(void){ if (gses->qs_thread) zinternal("qs_thread_create gses->qs_thread"); gses->qs_thread_break=0; gses->qs_thread=g_thread_try_new("quicksearch", qs_thread_func, (gpointer)NULL, NULL); if (!gses->qs_thread) zinternal("qs_thread_create !gses->qs_thread"); } void qs_thread_join(void){ if (!gses->qs_thread) return; //dbg("join qs...\n"); g_thread_join(gses->qs_thread); //dbg("done\n"); gses->qs_thread=NULL; } void qs_thread_kill(){ if (!gses->qs_thread) return; gses->qs_thread_break=1; // dbg("join qs...\n"); g_thread_join(gses->qs_thread); // dbg("done\n"); /* dbg("done\n");*/ gses->qs_thread=NULL; } void update_cw_from_band(struct cw *cw, struct band *band){ int i; struct qso *q; gchar qrv_str[2]; stats_thread_join(band); qrv_str[0]=band->bandchar; qrv_str[1]='\0'; for (i=0; iqsos->len; i++){ q = (struct qso *)g_ptr_array_index(band->qsos, i); if (q->error) continue; if (!q->callsign || !q->locator || !q->date_str) continue; if (strlen(q->locator)!=6) continue; add_cw(cw, q->callsign, q->locator, atoi(q->date_str), qrv_str); add_wc(cw, q->locator, q->callsign, atoi(q->date_str)); } } void update_cw_from_ctest(struct cw *cw, struct contest *ctest){ int i; struct band *band; if (!ctest) return; for (i=0; ibands->len; i++){ band = (struct band *) g_ptr_array_index(ctest->bands, i); update_cw_from_band(cw, band); } } int similar_calls(const char *call1, const char *call2, int factor, int thr, int p){ factor = z_levenshtein(call1, call2); p=1; if (p) { // dbg("similar %s %s = %d", call1, call2, factor); // printf(" leven=%d", levenshtein_distance(call1, call2)); // dbg("\n"); } /*else printf(" %s %s = %d\n", call1, call2, factor);*/ return factor; } int get_susp_ambiguous_call(struct cw *cw, struct band *band, char *call, char *wwl, GString *gs, int thr){ int i; ZHashNode *node; struct cw_item *cwi; for (i = 0; i < cw->cw->size; i++){ for (node = cw->cw->nodes[i]; node; node = node->next){ int factor; cwi = (struct cw_item *) node->value; if ((cwi->wwl0 && strcmp(cwi->wwl0, wwl)==0 && cwi->stamp0 > cw->minstamp) || (cwi->wwl1 && strcmp(cwi->wwl1, wwl)==0 && cwi->stamp1 > cw->minstamp)){ /* dbg("hit %s %s\n", node->key, wwl);*/ if (strcmp((gchar*)node->key, call)==0) continue; if (band && get_qso_by_callsign(band, call)) continue; // call is also worked, no warning factor = similar_calls((gchar*)node->key, call, 0, thr, 0); if (factor<=thr){ if (!gs) return 1; g_string_append(gs, (char *)node->key); // g_string_append_printf(gs, "(%d<=%d)", factor, thr); g_string_append_c(gs, ' '); } } } } return 0; } int cwdb_call_info(GString *gs, gchar *call, gchar *stroke, GHashTable *wwls){ struct cw_item *cwi; char c[40], *myqth; int i; double qrb, qtf; char degree[2]; strcpy(c, call); strcat(c, stroke); cwi = (struct cw_item *)z_hash_table_lookup(cw->cw, c); if (!cwi) return 0; #if defined(Z_HAVE_SDL) && !defined(Z_ANDROID) if (sdl) strcpy(degree, "\xb0"); else #endif strcpy(degree, ""); myqth = ctest ? ctest->pwwlo : cfg->pwwlo; /* wwl0 should be always defined */ if (cwi->wwl0) { qrbqtf(myqth, cwi->wwl0, &qrb, &qtf, NULL, 0); g_string_append_printf(gs, "C_W: %-10s %s %6dkm %3d%s %d\n", c, cwi->wwl0, (int)qrb, (int)qtf, degree, cwi->stamp0); if (wwls && g_hash_table_lookup(wwls, cwi->wwl0) == NULL) g_hash_table_insert(wwls, cwi->wwl0, NULL); } if (cwi->wwl1) { qrbqtf(myqth, cwi->wwl1, &qrb, &qtf, NULL, 0); g_string_append_printf(gs, "C_W: %-10s %s %6dkm %3d%s %d\n", c, cwi->wwl1, (int)qrb, (int)qtf, degree, cwi->stamp1); if (wwls && g_hash_table_lookup(wwls, cwi->wwl1) == NULL) g_hash_table_insert(wwls, cwi->wwl1, NULL); } if (cwi->qrv>0){ g_string_append(gs, VTEXT(T_QRV_ON)); for (i=0;i<26;i++){ if ((1<qrv) g_string_append_c(gs, i+'A'); } g_string_append_c(gs, '\n'); } return 1; } tucnak-4.32/src/stats.c0000644000175000017500000014210014125266066011747 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "bfu.h" #include "cwdb.h" #include "dwdb.h" #include "excdb.h" #include "fifo.h" #include "header.h" #include "main.h" #include "misc.h" #include "qsodb.h" #include "session.h" #include "stats.h" #include "tsdl.h" char *get_wwl(char *buf, char *wwl){ safe_strncpy(buf, wwl,5); return buf; } //static void enum_valid (gpointer key, gpointer value, gpointer user_data){ // dbg("%s key='%p'\n", user_data, key); // dbg("%s key='%s'\n", user_data, key); // dbg("%s value='%p'\n", user_data, value); //} void draw_one_bigdigit(int x, int y, int num){ switch(num%10){ case 0: fill_area(x,y,3,5,COL_INV); fill_area(x+1,y+1,1,3,COL_NORM); break; case 1: fill_area(x,y,3,5,COL_INV); fill_area(x+2,y,1,4,COL_NORM); fill_area(x,y+1,1,3,COL_NORM); break; case 2: fill_area(x,y,3,5,COL_INV); fill_area(x,y+1,2,1,COL_NORM); fill_area(x+1,y+3,2,1,COL_NORM); break; case 3: fill_area(x,y,3,5,COL_INV); fill_area(x,y+1,2,1,COL_NORM); fill_area(x,y+3,2,1,COL_NORM); break; case 4: fill_area(x,y,3,5,COL_INV); fill_area(x+1,y,1,2,COL_NORM); fill_area(x,y+3,2,2,COL_NORM); break; case 5: fill_area(x,y,3,5,COL_INV); fill_area(x+1,y+1,2,1,COL_NORM); fill_area(x,y+3,2,1,COL_NORM); break; case 6: fill_area(x,y,3,5,COL_INV); fill_area(x+1,y+1,2,1,COL_NORM); fill_area(x+1,y+3,1,1,COL_NORM); break; case 7: fill_area(x,y,3,5,COL_INV); fill_area(x,y+1,2,4,COL_NORM); break; case 8: fill_area(x,y,3,5,COL_INV); fill_area(x+1,y+1,1,1,COL_NORM); fill_area(x+1,y+3,1,1,COL_NORM); break; case 9: fill_area(x,y,3,5,COL_INV); fill_area(x+1,y+1,1,1,COL_NORM); fill_area(x,y+3,2,1,COL_NORM); break; } } void draw_bigdigit(int x, int y, int num){ int qsonr=num; if (qsonr>=10000) set_char(x-2,y+2,'+'); if (qsonr>=1000) { draw_one_bigdigit(x,y,(qsonr/1000)%10); }else{ x-=2; } draw_one_bigdigit(x+4 ,y, (qsonr/100)%10); draw_one_bigdigit(x+8 ,y, (qsonr/10)%10); draw_one_bigdigit(x+12,y, qsonr%10); } struct stats *init_stats(char bandchar){ struct stats *st; st = (struct stats *)g_new0(struct stats, 1); st->bandchar = bandchar; //dbg("new stats %p for %c\n", st, st->bandchar); st->wwls = g_hash_table_new(g_str_hash, g_str_equal); st->dxcs = g_hash_table_new(g_str_hash, g_str_equal); st->prefs = g_hash_table_new(g_str_hash, g_str_equal); st->excs = g_hash_table_new(g_str_hash, g_str_equal); st->valid = g_hash_table_new(g_str_hash, g_str_equal); st->hours = g_hash_table_new(g_str_hash, g_str_equal); clear_stats(st); return st; } void free_stats(struct stats *st){ clear_stats(st); g_hash_table_destroy(st->wwls); g_hash_table_destroy(st->dxcs); g_hash_table_destroy(st->prefs); g_hash_table_destroy(st->excs); g_hash_table_destroy(st->valid); g_hash_table_destroy(st->hours); zg_free0(st->mycontinent); zg_free0(st->mydxcc); g_free(st); } void clear_stats(struct stats *st){ struct dw_item *dxi; char s[120]; /* dbg("clear_stats(%p)\n", st);*/ st->first_date = G_MAXINT; st->last_date = 0; st->nqsos = 0; st->nqsop = 0; st->nwwlp = 0; st->nexcp = 0; st->ndxcp = 0; st->nprefs = 0; st->ntotal = 0; g_hash_table_foreach_remove(st->wwls, free_gpointer_item, NULL); g_hash_table_foreach_remove(st->dxcs, free_gpointer_item, NULL); g_hash_table_foreach_remove(st->prefs, free_gpointer_item, NULL); g_hash_table_foreach_remove(st->excs, free_gpointer_item, NULL); //dbg("clear_stats(b) size=%d\n", g_hash_table_size(st->valid)); //g_hash_table_foreach(st->valid, enum_valid, "UPDATEB"); g_hash_table_foreach_remove(st->valid, zg_hash_free_key, NULL); //dbg("clear_stats(e) size=%d\n", g_hash_table_size(st->valid)); //g_hash_table_foreach(st->valid, enum_valid, "UPDATEE"); g_hash_table_foreach_remove(st->hours, free_gpointer_item, NULL); if (st->odxcall) {g_free(st->odxcall); st->odxcall = NULL;} if (st->odxwwl) {g_free(st->odxwwl); st->odxwwl = NULL;} if (st->odxoperator) {g_free(st->odxoperator); st->odxoperator = NULL;} st->odxqrb_int = 0; dxi = get_dw_item_by_call(dw, ctest->pcall); if (!dxi) zinternal("unknown dxcc of my callsign"); zg_free0(st->mycontinent); st->mycontinent = g_strdup(dxi->continent); zg_free0(st->mydxcc); st->mydxcc = g_strdup(get_dxcc(dw, s, ctest->pcall)); //dbg("*** clear_stats(%c, %s) st=%p st->mydxcc = %s\n", st->bandchar, from, st, st->mydxcc); st->oldphase = 1; } int find_preferred_dxc(int type, char *dxc){ char *prefs9[] = {"ES","LA","LY","OH","OH0","OJ0","OY","OZ","SM","TF","YL",NULL}; char *prefs10[] = {"G","GD","GI","GJ","GM","GU","GW",NULL}; char *prefs11[] = {"F",NULL}; char *prefs16[] = {"F","TK", "TM",NULL}; char **prefs; int multi=1; int i; switch(type){ case 9: prefs=prefs9; multi=3; break; case 10: case 17: case 18: prefs=prefs10; multi=5; break; case 11: prefs=prefs11; multi=3; break; case 16: prefs=prefs16; multi=4; break; default: return 1; } for (i=0; prefs[i]!=NULL; i++){ if (strcasecmp(dxc,prefs[i])==0) return multi; } return 1; } /* set and dirty */ #define SAD_INT(item,value) {if (q->item!=value) band->dirty_save=1;q->item=value;} void update_stats(struct band *band, struct stats *st, struct qso *q){ gint date, qsop, anew; gchar s[120], *c; gpointer orig_key; struct cntpts *orig_value; gint wwls, dxcs, prefs, excs; struct dw_item *dwi; int oldmult; qsop=0; if (band->stats_thread && band->stats_thread!=g_thread_self()){ /* Thread is computing statistics. * No reason to update stats, they will be overwritten and statistics * must not be consistent. We must kill thread and create new to * cover all qsos. */ stats_thread_kill(band); stats_thread_create(band); return; } if (band->stats==st) MUTEX_LOCK(band->stats); //dbg("update_stats(%p, %c, %p)\n", st, band->bandchar, q); if (!q->error){ date = atoi(q->date_str); if (date < st->first_date) st->first_date = date; if (date > st->last_date) st->last_date = date; } if (q->error) { SAD_INT(new_,0); SAD_INT(qsop,0); SAD_INT(susploc,0); SAD_INT(unkcall,0); goto x; } st->nqsos++; /* dbg("update_stats(%s) calls->size=%d \n", q->qsonrs, g_hash_table_size(st->calls)); dbg(" dupe=%d qsop=%d \n", q->dupe, q->qsop);*/ char *valid_key = stats_valid_key(s, q->callsign, q->locator, q->phase, q->mode); //dbg("update_stats(%s) size=%d\n", valid_key, g_hash_table_size(st->valid)); //g_hash_table_foreach(st->valid, enum_valid, "UPDATE"); if (ctest->expmode == 0){ if (g_hash_table_lookup_extended(st->valid, valid_key, &orig_key, (gpointer*)&orig_value)){ SAD_INT(dupe,1); }else{ char *v = g_strdup(valid_key); //dbg("v=%p %s\n", v, v); g_hash_table_insert(st->valid, v, q); SAD_INT(dupe,0); } }else{ SAD_INT(dupe,0); } switch (ctest->qsop_method){ case 1: /* rounded distance */ qsop = iaru_round(q->qrb) * ctest->qsomult * band->qsomultb; break; case 2: /* 1 */ qsop = ctest->qsomult * band->qsomultb; break; case 3: /* FIXME! it's really correct? */ qsop = (int)(((q->qrb/50)*2+1 ) * ctest->qsomult * band->qsomultb); break; case 4: /* WWL ring */ qsop = qsopwr(ctest->pwwlo, q->locator) * ctest->qsomult * band->qsomultb; break; case 5: /* statute miles (anglicka mile) */ qsop = (int)(q->qrb/1.6094 * ctest->qsomult * band->qsomultb); break; case 6: /* 1 * qso-points multi + 1 point for CW QSO FIXME! bug in taclog? */ qsop = ctest->qsomult * band->qsomultb; if (q->mode==MOD_CW_CW) q->qsop++; break; case 7: /* distance(min 50) */ qsop = (int)((q->qrb>50 ? q->qrb : 50) * ctest->qsomult * band->qsomultb); break; case 8: /* distance(min 10) */ qsop = (int)( (q->qrb>10 ? q->qrb : 10) * ctest->qsomult * band->qsomultb ); break; case 9: case 10: case 11: qsop = ctest->qsomult * band->qsomultb * find_preferred_dxc(ctest->qsop_method, get_dxcc(dw,s,q->callsign)); break; case 12: qsop = iaru_round(q->qrb) * ctest->qsomult * band->qsomultb; break; case 13: // dbg("call=%s \n", q->callsign); dwi = get_dw_item_by_call(dw, q->callsign); if (!dwi){ // dbg("Don't know dxcc of %s\n", ctest->pcall); qsop=0; break; } if (strcasecmp(dwi->continent, st->mycontinent)==0){ // same continent c = get_dxcc(dw, s, q->callsign); // dbg(" dxcc=%s mydxcc=%s\n", c, st->mydxcc); if (c && strcasecmp(c, st->mydxcc)==0){ // same DXCC qsop = 0; // same dxcc 0 }else{ // dbg(" cont=%s\n", dwi->continent); if (strcasecmp(dwi->continent, "NA")==0) qsop = 2; // NA has 2 points else qsop = 1; // others only 1 } }else{ qsop = 3; // other continent } break; case 14: // dbg("call=%s \n", q->callsign); //dbg("st=%p %c%s call=%s mydxcc=%s\n", st, st->bandchar, q->qsonrs, q->callsign, st->mydxcc); dwi = get_dw_item_by_call(dw, q->callsign); if (!dwi){ // dbg("Don't know dxcc of %s\n", ctest->pcall); qsop=0; break; } qsop = 1; if (band->qrg_min<10000) qsop = 2; // bellow 10 MHz if (strcasecmp(dwi->continent, st->mycontinent)==0){ // same continent c = get_dxcc(dw, s, q->callsign); //dbg("st=%p %c%s call=%s dxcc=%s mydxcc=%s\n", st, st->bandchar, q->qsonrs, q->callsign, c, st->mydxcc); if (c && strcasecmp(c, st->mydxcc) == 0){ // same DXCC //if (c && strcmp(c, st->mydxcc) == 0){ // same DXCC qsop = 1; // same dxcc 0 }else{ // dbg(" cont=%s\n", dwi->continent); if (strcasecmp(dwi->continent, "NA")==0) qsop *= 2; // NA has 2 points else qsop *= 1; // others only 1 } }else{ qsop *= 3; // other continent } break; case 15: // ARRL VHF contests http://www.arrl.org/contests/rules/2008/june-vhf.html dbg("%d\n", band->qrg_min); if (band->qrg_min > 2000000) qsop = 4; // 2,3 GHz and above else if (band->qrg_min > 500000) qsop = 3; // 902 MHz, 1,3 GHz else if (band->qrg_min > 200000) qsop = 2; // 222 MHz, 432 MHz else qsop = 1; // 144 MHz and below break; case 16: qsop = iaru_round(q->qrb) * ctest->qsomult * band->qsomultb * find_preferred_dxc(ctest->qsop_method, get_dxcc(dw,s,q->callsign)); qsop *= qsomult16(band); break; case 17: qsop = iaru_round(q->qrb) * ctest->qsomult * band->qsomultb; break; case 18: qsop = iaru_round(q->qrb) * ctest->qsomult * band->qsomultb; break; case 19: // WNA, WSA switch (q->mode){ case MOD_CW_CW: qsop = 6; break; case MOD_SSB_SSB: case MOD_SSB_CW: case MOD_CW_SSB: qsop = 4; break; case MOD_FM_FM: qsop = 2; break; } break; case 20: /* WWL ring Contest Lombardia */ qsop = (qsopwr(ctest->pwwlo, q->locator) - 1) * ctest->qsomult * band->qsomultb; break; case 21: // R-Contest, Ruhrgebiets Contest qsop = 1; break; case 22: /* Moon contest */ qsop = iaru_round(q->qrb) * ctest->qsomult * band->qsomultb; // same as IARU break; } if (q->dupe) qsop=0; SAD_INT(qsop,qsop); /* dbg(" dupe=%d qsop=%d \n", q->dupe, q->qsop);*/ st->nqsop += q->qsop; if ((int)q->qrb > st->odxqrb_int){ if (st->odxcall) { g_free(st->odxcall); st->odxcall = NULL; } if (st->odxwwl) { g_free(st->odxwwl); st->odxwwl = NULL; } if (st->odxoperator) { g_free(st->odxoperator); st->odxoperator = NULL;} st->odx = q; st->odxqrb_int = (int)q->qrb; st->odxcall = g_strdup(q->callsign); st->odxwwl = g_strdup(q->locator); st->odxoperator = g_strdup(q->operator_); } q->unkcall=!find_wwl_by_call(cw, q->callsign); q->susploc = get_susp_loc(cw, dw, q->callsign, q->locator) & 0xff; anew=q->new_; if (ctest->wwlused){ int accept_loc = 1; int double_loc = 0; char tmpdxcc[20]; get_wwl(s, q->locator); if (ctest->qsop_method == 17){ if (find_preferred_dxc(17, get_dxcc(dw, tmpdxcc, q->callsign)) == 1) accept_loc = 0; } if (ctest->qsop_method == 18){ accept_loc = 1; if (find_preferred_dxc(18, get_dxcc(dw, tmpdxcc, q->callsign)) != 1) double_loc = 1; } if (accept_loc){ if (g_hash_table_lookup_extended(st->wwls, s, &orig_key, (gpointer*) &orig_value)){ orig_value->count++; orig_value->points+=qsop; anew &= ~NEW_WWL; }else{ orig_value = g_new0(struct cntpts, 1); orig_value->count = 1; orig_value->points = qsop; g_hash_table_insert(st->wwls, g_strdup(s), orig_value); if (double_loc) { orig_value = g_new0(struct cntpts, 1); orig_value->count = 0; orig_value->points = 0; g_hash_table_insert(st->wwls, g_strdup_printf("%s_M7", s), orig_value); } anew |= NEW_WWL; } } } get_dxcc(dw, s, q->callsign); if (g_hash_table_lookup_extended(st->dxcs, s, &orig_key, (gpointer*) &orig_value)){ orig_value->count++; orig_value->points+=qsop; anew &= ~NEW_DXC; }else{ orig_value = g_new0(struct cntpts, 1); orig_value->count = 1; orig_value->points = qsop; g_hash_table_insert(st->dxcs, g_strdup(s), orig_value); anew |= NEW_DXC; } if (ctest->prefmult>0){ get_pref(s, q->callsign); if (g_hash_table_lookup_extended(st->prefs, s, &orig_key, (gpointer*) &orig_value)){ orig_value->count++; orig_value->points+=qsop; anew &= ~NEW_PREF; }else{ orig_value = g_new0(struct cntpts, 1); orig_value->count = 1; orig_value->points = qsop; g_hash_table_insert(st->prefs, g_strdup(s), orig_value); anew |= NEW_PREF; } } if (ctest->excused > 0 && ctest->excname){ safe_strncpy0(s, q->exc, 20); if (strcasecmp(ctest->excname, "USACA")==0){ usaca_multiple_exc(s); } if (ctest->exctype == EXC_MULTIPLIED){ if (g_hash_table_lookup(excdb->vexc, s) == NULL) *s = '\0'; } if (*s){ if (g_hash_table_lookup_extended(st->excs, s, &orig_key, (gpointer*) &orig_value)){ orig_value->count++; orig_value->points+=qsop; anew &= ~NEW_EXC; }else{ orig_value = g_new0(struct cntpts, 1); orig_value->count = 1; orig_value->points = qsop; g_hash_table_insert(st->excs, g_strdup(s), orig_value); anew |= NEW_EXC; } if (ctest->qsop_method == 12){ // RSGB DC int max = rsgbdc_maxcount(q->exc); if (orig_value->count <= max) { st->nexcp++; anew |= NEW_EXC; //dbg("protekce\n"); } //dbg("%-12s exc %s can be counted %d times (after this qso %d times) st->nexcp=%d\n", q->callsign, q->exc, max, orig_value->count, st->nexcp); } } } safe_strncpy0(s, q->time_str, 3); if (!g_hash_table_lookup_extended(st->hours, s, &orig_key, (gpointer*) &orig_value)){ orig_value = g_new0(struct cntpts, 1); g_hash_table_insert(st->hours, g_strdup(s), orig_value); } orig_value->count++; orig_value->points+=qsop; if (!orig_value->qso){ orig_value->qso = q; }else{ if (q->qrb > orig_value->qso->qrb){ orig_value->qso = q; } } wwls = g_hash_table_size(st->wwls); dxcs = g_hash_table_size(st->dxcs); prefs = g_hash_table_size(st->prefs); st->nwwlp = wwls; if (ctest->qsop_method != 12) st->nexcp = g_hash_table_size(st->excs); st->ndxcp = dxcs; excs = st->nexcp; oldmult = st->nmult; switch (ctest->total_method){ case 1: st->nmult = (ctest->wwlmult ? wwls * ctest->wwlmult : 1 ) * (ctest->prefmult ? prefs * ctest->prefmult : 1 ) * (ctest->dxcmult ? dxcs * ctest->dxcmult : 1 ) * (ctest->excmult ? excs * ctest->excmult : 1 ); ; st->ntotal = ( st->nqsop + wwls * ctest->wwlbonu + dxcs * ctest->dxcbonu + excs * ctest->excbonu ) * st->nmult; break; case 2: case 3: st->nmult = wwls * ctest->wwlmult + prefs * ctest->prefmult + dxcs * ctest->dxcmult + excs * ctest->excmult; st->ntotal = ( st->nqsop + wwls * ctest->wwlbonu + dxcs * ctest->dxcbonu + excs * ctest->excbonu ) * st->nmult; break; } if (st->nmult != oldmult) anew |= NEW_MULT; else anew &= ~NEW_MULT; SAD_INT(new_,anew); if (q->phase != st->oldphase){ q->new_ |= NEW_PHASE; st->oldphase = q->phase; }else{ q->new_ &= ~NEW_PHASE; } x:; if (band->stats == st) MUTEX_UNLOCK(band->stats); } void recalc_stats(struct band *band){ //dbg("*** recalc_stats(%c) dirty=%d\n", band->bandchar, band->dirty_stats); if (!band->dirty_stats) return; stats_thread_kill(band); stats_thread_create(band); /* ST_STOP;*/ } void recalc_all_stats(struct contest *ctest){ int i; struct band *band; for (i=0; ibands->len; i++){ band = (struct band *)g_ptr_array_index(ctest->bands, i); band->dirty_stats = 1; recalc_stats(band); } } void recalc_all_qrbqtf(struct contest *ctest){ int i, j; struct band *band; struct qso *q; for (i=0; ibands->len; i++){ band = (struct band *)g_ptr_array_index(ctest->bands, i); for (j=0; jqsos->len; j++){ q = get_qso(band, j); compute_qrbqtf(q); } for (j=0; jtmpqsos[j].locator || !*band->tmpqsos[j].locator) break; /* CHANGE look at add_tmqso_locator */ qrbqtf(ctest->pwwlo, band->tmpqsos[j].locator, &qrb, &qtf, NULL, 2); qtf_int=(int)(qtf+0.5); if (qrb < 0.1) { qtf_int=0; } band->tmpqsos[j].qrb=qrb; band->tmpqsos[j].qtf=qtf_int; } } } #define STATS_X 2 #define STATS_Y 2 void redraw_stats(struct band *band){ gchar *c; struct stats *st=band->stats; int nqsos, nqsop, nwwlp, nexcp, ndxcp, ntotal; GString *gs; MUTEX_LOCK(band->stats); nqsos = st->nqsos; nqsop = st->nqsop; nwwlp = st->nwwlp; nexcp = st->nexcp; ndxcp = st->ndxcp; ntotal = st->ntotal; if (ctest->qsoglob){ nqsos = ctest->allb_nqsos; nqsop = ctest->allb_nqsop; nwwlp = ctest->allb_nwwlp; nexcp = ctest->allb_nexcp; ndxcp = ctest->allb_ndxcp; ntotal = ctest->allb_ntotal; } if (ctest->total_method == 3){ ntotal = ctest->allb_nqsop * (ctest->allb_ndxcp + ctest->allb_nexcp); ctest->allb_ntotal = ntotal; // for HF subwin } print_text(STATS_X,STATS_Y,-1,VTEXT(T_SES_ODX),COL_NORM); if (st->odxcall && st->odxwwl){ c = g_strdup_printf(VTEXT(T_SES_ODX_DATA), st->odxcall, st->odxwwl, st->odxqrb_int, st->odxoperator); print_text(STATS_X+5,STATS_Y,term->x-QSONR_WIDTH-BAND_WIDTH-8, c,COL_NORM); g_free(c); } print_text(STATS_X,STATS_Y+2,term->x-QSONR_WIDTH-BAND_WIDTH-3,VTEXT(T_SES_STAT_TIT),COL_NORM); gs = g_string_sized_new(100); g_string_append_printf(gs, "%4d %6d %4d %4d %4d %7d ", nqsos, nqsop, nexcp, nwwlp, ndxcp, ntotal); if (nqsos != 0) g_string_append_printf(gs, "%6.1f", (double)ntotal/(double)nqsos); print_text(STATS_X,STATS_Y+3,term->x-QSONR_WIDTH-BAND_WIDTH-3,gs->str,COL_NORM); g_string_free(gs, TRUE); /* if (st->nqsos){ c = g_strdup_printf(VTEXT(T_SES_AVG), (double)st->ntotal/(double)st->nqsos); print_text(term->x-QSONR_WIDTH-BAND_WIDTH,ORIG_Y+1,BAND_WIDTH-1, c, COL_NORM); g_free(c); }*/ MUTEX_UNLOCK(band->stats); } #define F b->statsfifo1 void sf_wwl_func(gpointer key, gpointer value, gpointer user_data){ gchar *wwl; struct cntpts *n; ZPtrArray *ia; wwl = (gchar *) key; n = (struct cntpts *) value; ia = (ZPtrArray *) user_data; if (ctest->qsop_method == 18) z_ptr_array_add(ia, g_strdup_printf("%7s:%6d %3d ", wwl, n->points, n->count)); else z_ptr_array_add(ia, g_strdup_printf("%4s:%6d %3d ", wwl, n->points, n->count)); } void sf_miss_exc_func(gpointer key, gpointer value, gpointer user_data){ gchar *missexc; struct miss_struct *ms; int maxlen = 0; missexc = (gchar *) key; ms = (struct miss_struct *) user_data; if (g_hash_table_lookup_extended(ms->st->excs, missexc, NULL, NULL)) return; maxlen = strlen(missexc); if (maxlen > ms->maxlen) ms->maxlen = maxlen; z_ptr_array_add(ms->ia, g_strdup(missexc)); } gint compare_colon_int (gconstpointer a, gconstpointer b){ gchar **ca, **cb, *c; int ia, ib; ca=(gchar **)a; cb=(gchar **)b; c=strchr(*ca, ':'); if (c) ia=atoi(c+1); else ia=0; c=strchr(*cb, ':'); if (c) ib=atoi(c+1); else ib=0; return ib-ia; } #define COLS 4 void add_sf_wwls(struct band *b){ GString *gs; ZPtrArray *ia; int i,j,k,lines; gchar *c; gs = g_string_new(""); fifo_addf(F, ""); if (ctest->qsop_method == 17 || ctest->qsop_method == 18){ fifo_addf(F, VTEXT(T_MULTIPLIED_WWLS_D), g_hash_table_size(b->stats->wwls)); fifo_addf(F, VTEXT(T_HYPHENS1)); }else{ fifo_addf(F, VTEXT(T_SF_WWLS), g_hash_table_size(b->stats->wwls)); fifo_addf(F, VTEXT(T_SF_WWLS_UNDER)); } /* for (i=0;istr);*/ ia = z_ptr_array_new(); g_hash_table_foreach(b->stats->wwls, sf_wwl_func, ia); z_ptr_array_qsort(ia, compare_colon_int); g_string_truncate(gs, 0); j = 0; lines=(ia->len+COLS-1)/COLS; for (i=0; i=ia->len) continue; c = (gchar *)z_ptr_array_index(ia, k); g_string_append(gs, c); } fifo_addf(F, "%s", gs->str); g_string_truncate(gs, 0); } g_string_free(gs,1); z_ptr_array_free_all(ia); } //////////// void sf_exc_func(gpointer key, gpointer value, gpointer user_data){ gchar *exc; struct cntpts *n; ZPtrArray *ia; exc = (gchar *) key; n = (struct cntpts *) value; ia = (ZPtrArray *) user_data; z_ptr_array_add(ia, g_strdup_printf("%4s:%6d %3d ", exc, n->points, n->count)); } void add_sf_excs(struct band *b){ GString *gs; ZPtrArray *ia; int i,j,k,lines; gchar *c; gs = g_string_new(""); fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_EXCS), g_hash_table_size(b->stats->excs)); fifo_addf(F, VTEXT(T_SF_EXCS_UNDER)); /* for (i=0;istr);*/ ia = z_ptr_array_new(); g_hash_table_foreach(b->stats->excs, sf_wwl_func, ia); z_ptr_array_qsort(ia, compare_colon_int); g_string_truncate(gs, 0); j = 0; lines=(ia->len+COLS-1)/COLS; for (i=0; i=ia->len) continue; c = (gchar *)z_ptr_array_index(ia, k); g_string_append(gs, c); } fifo_addf(F, "%s", gs->str); g_string_truncate(gs, 0); } g_string_free(gs,1); z_ptr_array_free_all(ia); } #define MISS_EXC_COLS 10 void miss_compute_ms(struct miss_struct *ms, struct band *b){ ms->ia = z_ptr_array_new(); ms->st = b->stats; ms->maxlen = 0; g_hash_table_foreach(excdb->vexc, sf_miss_exc_func, ms); z_ptr_array_qsort(ms->ia, z_compare_string); } void add_sf_miss_excs(struct band *b){ GString *gs; // ZPtrArray *ia; int i,j,k,lines; gchar *c; struct miss_struct ms; if (!excdb) return; gs = g_string_new(""); fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_MISS_EXCS), g_hash_table_size(excdb->vexc) - g_hash_table_size(b->stats->excs)); fifo_addf(F, VTEXT(T_SF_MISS_EXCS_UNDER)); miss_compute_ms(&ms, b); g_string_truncate(gs, 0); j = 0; lines=(ms.ia->len+MISS_EXC_COLS-1)/MISS_EXC_COLS; //dbg("lines=%d\n", lines); for (i=0; i=ms.ia->len) continue; c = (gchar *)z_ptr_array_index(ms.ia, k); g_string_append_printf(gs, "%-*s", ms.maxlen+1, c); } fifo_addf(F, "%s", gs->str); g_string_truncate(gs, 0); } g_string_free(gs,1); z_ptr_array_free_all(ms.ia); } //////////////////// void sf_dxc_func(gpointer key, gpointer value, gpointer user_data){ gchar *dxc; struct cntpts *n; ZPtrArray *ia; dxc = (gchar *) key; n = (struct cntpts *) value; ia = (ZPtrArray *) user_data; z_ptr_array_add(ia, g_strdup_printf("%4s:%6d %3d ", dxc, n->points, n->count)); } #undef COLS #define COLS 4 void add_sf_dxcs(struct band *b){ GString *gs; ZPtrArray *ia; int i,j,k,lines; gchar *c; gs = g_string_new(""); fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_DXCS), g_hash_table_size(b->stats->dxcs)); fifo_addf(F, VTEXT(T_SF_DXCS_UNDER)); /* for (i=0;istr);*/ ia = z_ptr_array_new(); g_hash_table_foreach(b->stats->dxcs, sf_dxc_func, ia); z_ptr_array_qsort(ia, compare_colon_int); g_string_truncate(gs, 0); j = 0; lines = (ia->len+COLS-1)/COLS; for (i=0; i=ia->len) continue; c = (gchar *)z_ptr_array_index(ia, k); g_string_append(gs, c); } fifo_addf(F, "%s", gs->str); g_string_truncate(gs, 0); } g_string_free(gs,1); z_ptr_array_free_all(ia); } void add_sf_prefs(struct band *b){ GString *gs; ZPtrArray *ia; int i,j,k,lines; gchar *c; GHashTable *hash; if (ctest->prefglob) hash = ctest->allb_prefs; else hash = b->stats->prefs; gs = g_string_new(""); fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_PREFS), g_hash_table_size(hash)); fifo_addf(F, VTEXT(T_SF_PREFS_UNDER)); /* for (i=0;istr);*/ ia = z_ptr_array_new(); g_hash_table_foreach(hash, sf_dxc_func, ia); z_ptr_array_qsort(ia, compare_colon_int); g_string_truncate(gs, 0); j = 0; lines = (ia->len+COLS-1)/COLS; for (i=0; i=ia->len) continue; c = (gchar *)z_ptr_array_index(ia, k); g_string_append(gs, c); } fifo_addf(F, "%s", gs->str); g_string_truncate(gs, 0); } g_string_free(gs,1); z_ptr_array_free_all(ia); } void add_sf_wkd_wwls(struct band *b){ int w,len, lines, i, j, myw, myh; GString *gs; fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_WKD_WWLS), g_hash_table_size(b->stats->wwls)); fifo_addf(F, VTEXT(T_SF_WKD_WWLS_UNDER)); w=term->x - 2; dbg("b->wwlradius=%d w/5=%d\n", b->wwlradius, w/5); len = Z_MIN(b->wwlradius * 2 + 1, w / 5); lines = len; myh = qthwr(ctest->pwwlo, 0); myw = qthwr(ctest->pwwlo, 1); /* fifo_addf(F, "w: %d, h:%d ", myw, myh);*/ gs=g_string_new(""); for(i=0; iQTH<"); continue; } mkwwl4(s, aw+ myw , ah + myh); if (g_hash_table_lookup(b->stats->wwls, s)){ g_string_append(gs, " "); continue; } g_string_append_printf(gs, " %s", s); } fifo_addf(F, "%s", gs->str); } g_string_free(gs, 1); } void add_sf_cnt_in_wwls(struct band *b){ int w,len, lines, i, j, myw, myh; GString *gs; fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_QSO_WWL4), g_hash_table_size(b->stats->wwls)); fifo_addf(F, VTEXT(T_SF_QSO_WWL4_UNDER)); w=term->x - 2; len = Z_MIN(b->wwlradius * 2 + 1, w / 5); lines = len; myh = qthwr(ctest->pwwlo, 0); myw = qthwr(ctest->pwwlo, 1); /*fifo_addf(F, "w: %d, h:%d ", myw, myh);*/ gs=g_string_new(""); for(i=0; istats->wwls, s))!=NULL){ if (aw==0 && ah==0){ g_string_append_printf(gs, ">%3d<", *cnt); }else{ g_string_append_printf(gs, " %3d ", *cnt); } continue; } g_string_append(gs, " "); } fifo_addf(F, "%s", gs->str); } g_string_free(gs, 1); } void add_sf_top_dx(struct band *b) { #define TOPS_NUM 10 int i, cnt=0; signed int j; struct qso *q, *top[TOPS_NUM]; memset(top, 0, TOPS_NUM * sizeof(struct qso *)); for (i = 0; i < b->qsos->len; i++) { if (!top[0]) { /* init first item */ q = get_qso(b, i); if (!q->error && !q->dupe) { cnt = 0; top[cnt++] = q; /*dbg("init: %s %u\n=\n", top[0]->callsign, (int) top[0]->qrb);*/ } continue; } q = get_qso(b, i); /*dbg("selected %u: %s %u\n", i, q->callsign, (int) q->qrb);*/ if (q->error || q->dupe) continue; if (cnt >= TOPS_NUM) cnt = TOPS_NUM - 1; /* initialize or find top dx and sort top array */ if (!top[cnt] || q->qrb > top[cnt]->qrb) { for (j = cnt; j >= 0; j--) { if (j && q->qrb > top[j - 1]->qrb) { top[j] = top[j - 1]; /* move down */ /*dbg("down %u: %s %u\n", j, top[j]->callsign, (int) top[j]->qrb);*/ } else { top[j] = q; /* insert */ cnt++; /*dbg("insert %u: %s %u\n", j, top[j]->callsign, (int) top[j]->qrb);*/ break; } } } } fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_TOP_DX), TOPS_NUM); fifo_addf(F, VTEXT(T_SF_TOP_DX_UNDER)); for (i = 0; i < TOPS_NUM && i < b->qsos->len && top[i]; i++) { q = top[i]; fifo_addf(F, "%-12s %-6s %4u km by %-6s %s", q->callsign, q->locator, (int) q->qrb, q->operator_, mode_msg[q->mode]); } } gint compare_hour14 (gconstpointer a, gconstpointer b){ gchar **ca, **cb; int ia, ib; ca=(gchar **)a; cb=(gchar **)b; ia=atoi(*ca); if (ia<14) ia+=100; ib=atoi(*cb); if (ib<14) ib+=100; return ia-ib; } static int maxhourpoints, maxhourcount; void sf_hour_max_func(gpointer key, gpointer value, gpointer user_data){ struct cntpts *n; n = (struct cntpts *) value; if (n->points > maxhourpoints) maxhourpoints=n->points; if (n->count > maxhourcount) maxhourcount=n->count; } #define PS 20 #define CS 20 void sf_hour_func(gpointer key, gpointer value, gpointer user_data){ gchar *hour; struct cntpts *n; ZPtrArray *ia; int h, i, l, avg; char ps[40], cs[40]; hour = (gchar *) key; n = (struct cntpts *) value; ia = (ZPtrArray *) user_data; h=atoi(hour)+1; if (h==25) h=0; if (maxhourpoints>0) l=(n->points*PS)/maxhourpoints; else l=0; for (i=0;i0) l=(n->count*PS)/maxhourcount; else l=0; for (i=0;icount>0) avg=n->points/n->count; else avg=0; z_ptr_array_add(ia, g_strdup_printf("%2s-%02d: [%s]%6d : [%s]%3d : %4d odx %s", hour, h,ps, n->points, cs, n->count, avg, n->qso?n->qso->callsign:"")); /* n->qso should not be nul but for sure... */ } #undef COLS void add_sf_hours(struct band *b){ ZPtrArray *ia; int i/*,j,k,lines*/; gchar *c; fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_HOURS)); fifo_addf(F, VTEXT(T_SF_HOURS_UNDER)); fifo_addf(F, VTEXT(T_SF_HOURS_TITLE)); ia = z_ptr_array_new(); maxhourpoints=0; maxhourcount=0; g_hash_table_foreach(b->stats->hours, sf_hour_max_func, ia); g_hash_table_foreach(b->stats->hours, sf_hour_func, ia); z_ptr_array_qsort(ia, compare_hour14); for (i=0; ilen ; i++){ c = (gchar *)z_ptr_array_index(ia, i); fifo_addf(F, "%s", c); } z_ptr_array_free_all(ia); } void recalc_statsfifo(struct band *b){ //dbg("recalc_statsfifo(%c, %d)\n", b->bandchar, b->dirty_statsf); if (!b || !b->dirty_statsf) return; stats_thread_join(b); /*ST_START;*/ free_fifo(F); F = init_fifo(1000); F->withouttime = 1; // html_band_header reads from row 5 fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_STATS_BAND), b->bandname); fifo_addf(F, VTEXT(T_SF_STATS_BAND_UNDER)); fifo_addf(F, ""); fifo_addf(F, VTEXT(T_SF_CONTEST), ctest->tname); if (ctest->total_method == 3 || ctest->qsoglob){ fifo_addf(F, VTEXT(T_SF_ALLBQSOS), ctest->allb_nqsos); fifo_addf(F, VTEXT(T_SF_ALLBQSOP), ctest->allb_nqsop); fifo_addf(F, VTEXT(T_SF_ALLBPTS), ctest->allb_ntotal); } fifo_addf(F, VTEXT(T_SF_QSOS), b->stats->nqsos); fifo_addf(F, VTEXT(T_SF_VQSO), g_hash_table_size(b->stats->valid)); fifo_addf(F, VTEXT(T_SF_QSOP), b->stats->nqsop); fifo_addf(F, VTEXT(T_SF_PTS), b->stats->ntotal); if (b->stats->nqsos>0){ fifo_addf(F, VTEXT(T_SF_AVG_PTS), ((double)b->stats->ntotal) / ((double)b->stats->nqsos)); fifo_addf(F, VTEXT(T_SF_AVG_QSOP), ((double)b->stats->nqsop) / ((double)b->stats->nqsos)); if (b->stats->qso_per_hour > 0) fifo_addf(F, VTEXT(T_SF_QSO_HOUR), b->stats->qso_per_hour); if (b->stats->pts_per_hour > 0) fifo_addf(F, VTEXT(T_SF_QSOP_HOUR), b->stats->pts_per_hour); fifo_addf(F, VTEXT(T_SF_QSOP_50QSO), b->stats->pts_per_50qso); } fifo_addf(F, ""); if (ctest->qsop_method==4 || ctest->wwlmult != 0 || ctest->wwlbonu != 0){ add_sf_wkd_wwls(b); add_sf_cnt_in_wwls(b); } if (ctest->wwlused > 0) add_sf_wwls(b); if (ctest->excused > 0) { add_sf_excs(b); add_sf_miss_excs(b); } add_sf_dxcs(b); if (ctest->prefmult > 0) add_sf_prefs(b); add_sf_hours(b); if (ctest->wwlused > 0) add_sf_top_dx(b); fifo_addf(F, ""); b->dirty_statsf = 0; /*ST_STOP; */ } /* Exports statistics of actual band to a text file */ void export_stats_fifo(void) { gchar *fname; int i; progress(VTEXT(T_EXPORTING)); fname = NULL; for (i = 0; 1; i++) { struct stat st; fname = g_strdup_printf("%s/stat%c%d.txt", ctest->directory, z_char_lc(aband->bandchar), i); if (stat(fname, &st) != 0) break; g_free(fname); fname = NULL; } recalc_statsfifo(aband); save_fifo_to_file(aband->statsfifo1, fname); g_free(fname); progress(NULL); } gpointer stats_thread_func(gpointer data){ struct qso *q; int i; struct band *band=(struct band*)data; struct stats *tmp; zg_thread_set_name("Tucnak stats"); /* ST_START;*/ clear_stats(band->tmpstats); for (i=0; iqsos->len; i++){ if (band->stats_break) break; q = get_qso(band, i); update_stats(band, band->tmpstats, q); } MUTEX_LOCK(band->stats); tmp=band->stats; band->stats=band->tmpstats; band->tmpstats=tmp; MUTEX_UNLOCK(band->stats); minute_stats(band); band->dirty_save = 1; //sprintf(s, "ST\n"); //ret = write(tpipe->threadpipe_write, s, strlen(s)); zselect_msg_send(zsel, "ST"); band->dirty_stats = 0; /* dbg("stats done %c\n", band->bandchar);*/ return 0; } void stats_thread_create(struct band *band){ if (band->stats_thread) zinternal("stats_threadcreate band->stats_thread"); /*dbg("stats_thread_create(%c)\n", band->bandchar);*/ band->stats_break=0; band->stats_thread=g_thread_try_new("stats", stats_thread_func, (gpointer)band, NULL); if (!band->stats_thread) zinternal("stats_threadcreate !band->stats_thread"); } void stats_thread_join(struct band *band){ if (!band->stats_thread) return; dbg("join stats ...\n"); g_thread_join(band->stats_thread); dbg("done\n"); band->stats_thread=NULL; } void stats_thread_kill(struct band *band){ if (!band->stats_thread) return; /* dbg("stats_thread_kill(%c)\n", band->bandchar);*/ band->stats_break=1; dbg("join stats ...\n"); g_thread_join(band->stats_thread); dbg("done\n"); band->stats_thread=NULL; } void minute_stats(struct band *band){ struct qso *qso; int j,brk, cnt50; int qso_per_hour, pts_per_hour, pts_per_50qso; char s[100], hourbefore[100]; time_t hb; struct tm utc; hb=time(NULL)-3600; gmtime_r(&hb, &utc); sprintf(hourbefore, "%4d%02d%02d%02d%02d",1900+utc.tm_year, 1+utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min); if (band->qsos->len==0) return; qso_per_hour=pts_per_hour=pts_per_50qso=0; cnt50=50; brk=0; ctest->lastmultqso = NULL; for (j=band->qsos->len-1;j>=0;j--){ if (band->stats_break) break; qso = (struct qso *)g_ptr_array_index(band->qsos, j); if (qso->error || qso->dupe) continue; strcpy(s, qso->date_str); strcat(s, qso->time_str); /* dbg("s=%s h=%s\n", s, hourbefore);*/ if (strcmp(s, hourbefore)>0){ qso_per_hour++; pts_per_hour+=qso->qsop; }else{ brk|=0x01; } if (cnt50-->0){ pts_per_50qso+=qso->qsop; }else{ brk|=0x02; } if ((qso->new_ & NEW_MULT) && !ctest->lastmultqso){ brk |= 0x04; ctest->lastmultqso = qso; } if (brk==0x07) break; } MUTEX_LOCK(band->stats); if (band->stats->qso_per_hour!=qso_per_hour || band->stats->pts_per_hour!=pts_per_hour || band->stats->pts_per_50qso!=pts_per_50qso){ band->stats->qso_per_hour=qso_per_hour; band->stats->pts_per_hour=pts_per_hour; band->stats->pts_per_50qso=pts_per_50qso; band->dirty_statsf = 1; } MUTEX_UNLOCK(band->stats); } void minute_stats_all(void){ struct band *band; time_t hb; struct tm utc; int i, brk; char s[100], hourbefore[100], tenbefore[100]; int qso_per_10, qso_per_60; struct qso *qso; if (!aband) return; for (i=0;ibands->len;i++){ band = (struct band *)g_ptr_array_index(ctest->bands, i); minute_stats(band); } if (aband->dirty_statsf) recalc_statsfifo(aband); hb=time(NULL)-3600; gmtime_r(&hb, &utc); sprintf(hourbefore, "%4d%02d%02d%02d%02d",1900+utc.tm_year, 1+utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min); hb=time(NULL)-600; gmtime_r(&hb, &utc); sprintf(tenbefore, "%4d%02d%02d%02d%02d",1900+utc.tm_year, 1+utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min); if (ctest->allqsos->len==0) return; qso_per_10 = qso_per_60 = 0; brk=0; for (i=ctest->allqsos->len-1;i>=0;i--){ qso = (struct qso *)g_ptr_array_index(ctest->allqsos, i); if (qso->error || qso->dupe) continue; strcpy(s, qso->date_str); strcat(s, qso->time_str); if (strcmp(s, hourbefore)>0) qso_per_60++; else brk|=0x01; if (strcmp(s, tenbefore)>0) qso_per_10++; else brk|=0x02; if (brk==0x03) break; } if (ctest->qso_per_60 != qso_per_60 || ctest->qso_per_10 != qso_per_10){ ctest->qso_per_60 = qso_per_60; ctest->qso_per_10 = qso_per_10; redraw_later(); } } void timer_minute_stats_all(void *arg){ minute_stats_all(); ctest->minute_timer_id=zselect_timer_new(zsel, 60000, timer_minute_stats_all, NULL); /*#ifdef Z_ANDROID struct tm utc; time_t now = time(NULL); gmtime_r(&now, &utc); dbg("%02d:%02d:%02dz", utc.tm_hour, utc.tm_min, utc.tm_sec); #endif*/ } void stats_merge_prefs_fn(gpointer key, gpointer value, gpointer data){ gchar *pref = (gchar *)key; struct cntpts *cp = (struct cntpts *)value; gpointer orig_key; struct cntpts *orig_value; //dbg("stats_merge_prefs_fn('%s') cp=%d %d\n", key, cp->count, cp->points); if (!g_hash_table_lookup_extended(ctest->allb_prefs, pref, &orig_key, (gpointer) &orig_value)){ orig_value = g_new0(struct cntpts, 1); g_hash_table_insert(ctest->allb_prefs, g_strdup(pref), orig_value); } orig_value->count += cp->count; orig_value->points += cp->points; } // called from main thread, no locking needed void recalc_allb_stats(){ int i; struct band *band; //dbg("recalc_allb_stats\n"); if (ctest->total_method != 3 && ctest->qsoglob == 0) return; // dbg("do!\n"); ctest->allb_nqsos = 0; ctest->allb_nqsop = 0; ctest->allb_nwwlp = 0; ctest->allb_nexcp = 0; ctest->allb_nprefp = 0; ctest->allb_ndxcp = 0; ctest->allb_nmult = 0; ctest->allb_ntotal = 0; if (ctest->prefmult > 0){ g_hash_table_foreach_remove(ctest->allb_prefs, free_gpointer_item, NULL); } for (i=0; ibands->len; i++){ band = (struct band *)g_ptr_array_index(ctest->bands, i); ctest->allb_nqsos += band->stats->nqsos; ctest->allb_nqsop += band->stats->nqsop; ctest->allb_nwwlp += band->stats->nwwlp; ctest->allb_nexcp += band->stats->nexcp; ctest->allb_ndxcp += band->stats->ndxcp; ctest->allb_nmult += band->stats->nmult; ctest->allb_ntotal += band->stats->ntotal; if (ctest->prefmult > 0){ g_hash_table_foreach(band->stats->prefs, stats_merge_prefs_fn, NULL); ctest->allb_nprefp = g_hash_table_size(band->stats->prefs); } } if (ctest->total_method == 4){ ctest->allb_nmult = ( ctest->wwlmult ? ctest->allb_nwwlp * ctest->wwlmult : 1 ) * ( ctest->dxcmult ? ctest->allb_ndxcp * ctest->dxcmult : 1 ) * ( ctest->excmult ? ctest->allb_nexcp * ctest->excmult : 1 ); ctest->allb_ntotal = ( ctest->allb_nqsop + ctest->allb_nwwlp * ctest->wwlbonu + ctest->allb_ndxcp * ctest->dxcbonu + ctest->allb_nexcp * ctest->excbonu ) * ctest->allb_nmult; } } int qsomult16(struct band *band){ int qsomult = 1; if (band->qrg_min > 2000000) qsomult = 10; // 2,3 GHz and above else if (band->qrg_min > 1000000) qsomult = 5; // 1,3 GHz else if (band->qrg_min > 400000) qsomult = 3; // 432 MHz else qsomult = 1; // 144 MHz return qsomult; } char *stats_valid_key(char *buf, const char *call, const char *wwl, const int phase, const enum modes mode){ z_get_raw_call(buf, call); if (phase > 1){ sprintf(buf + strlen(buf), "_%d", phase); } if (z_call_is_rover(call) && wwl){ strcat(buf, "_"); safe_strncpy0(buf + strlen(buf), wwl, 4 + 1); } if (ctest->qsop_method == 22){ // Moon contest switch (mode){ case MOD_NONE: case MOD_SSB_SSB: case MOD_SSB_CW: case MOD_CW_SSB: case MOD_AM_AM: case MOD_FM_FM: strcpy(buf + strlen(buf), "_PH"); break; case MOD_CW_CW: strcpy(buf + strlen(buf), "_CW"); break; case MOD_RTTY_RTTY: case MOD_SSTV_SSTV: case MOD_ATV_ATV: strcpy(buf + strlen(buf), "_DI"); break; } } //printf("stats_valid_key='%s'\n", buf); return buf; } // versus stats_valid_key - not raw call char *stats_valid_key_display(char *buf, const char *call, const char *wwl, const int phase, const enum modes mode){ strcpy(buf, call); if (phase > 1){ sprintf(buf + strlen(buf), "_%d", phase); } if (z_call_is_rover(call) && wwl){ strcat(buf, "_"); safe_strncpy0(buf + strlen(buf), wwl, 4 + 1); } if (ctest->qsop_method == 22){ // Moon contest switch (mode){ case MOD_NONE: case MOD_SSB_SSB: case MOD_SSB_CW: case MOD_CW_SSB: case MOD_AM_AM: case MOD_FM_FM: strcpy(buf + strlen(buf), "_PH"); break; case MOD_CW_CW: strcpy(buf + strlen(buf), "_CW"); break; case MOD_RTTY_RTTY: case MOD_SSTV_SSTV: case MOD_ATV_ATV: strcpy(buf + strlen(buf), "_DI"); break; } } //printf("stats_valid_key_display='%s'\n", buf); return buf; } static void dump(gpointer key, gpointer value, gpointer userdata) { g_string_append_printf((GString *)userdata, "%s ", (char*)key); } struct qso *stats_get_dupe(struct stats *st, const char *call, const char *wwl, const int phase, const enum modes mode){ char s[125]; char *valid_key = stats_valid_key(s, call, wwl, phase, mode); //if (z_call_is_rover(call)) return NULL; if (ctest->expmode) return NULL; struct qso *ret = g_hash_table_lookup(st->valid, valid_key); GString *gs = g_string_sized_new(1000); g_hash_table_foreach(st->valid, dump, gs); dbg("stats_get_dupe = %s (%s)\n", valid_key, gs->str); if (ret != NULL) dbg(" ret = %s %-3s\n", ret->callsign, ret->qsonrs); else dbg(" ret = NULL\n"); g_string_free(gs, TRUE); return ret; } tucnak-4.32/src/ttys.h0000644000175000017500000000140713625753117011627 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __TTYS_H #define __TTYS_H #include "header.h" struct cwdaemon; int ttys_init (struct cwdaemon *); int ttys_open (struct cwdaemon *cwda, int verbose); int ttys_free (struct cwdaemon *); int ttys_reset (struct cwdaemon *); int ttys_cw (struct cwdaemon *, int onoff); int ttys_ptt (struct cwdaemon *, int onoff); int ttys_cw_single(struct cwdaemon *, int onoff); int ttys_ptt_single(struct cwdaemon *, int onoff); int ttys_ssbway(struct cwdaemon *, int onoff); #endif tucnak-4.32/src/main.c0000644000175000017500000006563614114415527011553 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "ac.h" #include "alsa.h" #include "charsets.h" #ifdef Z_HAVE_SDL #include "cordata.h" #endif #include "cwdaemon.h" #include "cwdb.h" #include "davac4.h" #include "dsp.h" #include "dwdb.h" #include "dxc.h" #include "edi.h" #include "excdb.h" #include "fft.h" #include "fifo.h" #include "hdkeyb.h" #include "httpd.h" #include "kbdbind.h" #include "kbd.h" #include "language2.h" #include "main.h" #include "map.h" #include "masterdb.h" #include "menu.h" #include "misc.h" #include "namedb.h" #include "net.h" #include "ntpq.h" #include "pa.h" #include "ppdev.h" #include "qrvdb.h" #include "qsodb.h" #include "rain.h" #include "rc.h" #include "rotar.h" #include "sdev.h" #include "sdr.h" #include "stats.h" #include "svnversion.h" #include "tsdl.h" #include "session.h" #include "ssbd.h" #include "terminal.h" #include "trig.h" //#include "update.h" #include "vhfcontestnet.h" #include "slovhfnet.h" #include "wizz.h" #ifdef ANDROID #include #endif int retval = RET_OK; char * starting_sbrk; struct zselect *zsel; struct zfiledlg *zfiledlg; extern char pwwlo[MAX_STR_LEN]; #ifdef Z_UNIX_ANDROID void sigchld(void *arg, siginfo_t *siginfo, void *ctx); void sig_terminate(void *arg, siginfo_t *siginfo, void *ctx) { unhandle_basic_signals(); zselect_terminate(zsel); retval = RET_SIGNAL; } void sig_intr(void *arg, siginfo_t *siginfo, void *ctx) { if (!term) { unhandle_basic_signals(); zselect_terminate(zsel); } else { unhandle_basic_signals(); exit_prog(NULL); } } void sig_ctrl_c(void *arg, siginfo_t *siginfo, void *ctx) { dbg("sig_ctrl_c\n"); if (!is_blocked()) kbd_ctrl_c(); } void sig_ign(void *arg, siginfo_t *siginfo, void *ctx) { } void sig_tstp(void *arg, siginfo_t *siginfo, void *ctx) { #ifdef SIGSTOP int pid = getpid(); block_itrm(0); #if defined (SIGCONT) && defined(SIGTTOU) if (!fork()) { sleep(1); kill(pid, SIGCONT); exit(0); } #endif raise(SIGSTOP); #endif } #endif #ifndef Z_MSC_MINGW void sig_cont(void *arg, siginfo_t *siginfo, void *ctx) { if (!unblock_itrm(0)) resize_terminal(NULL); } #endif void tucnak_crash(GString *gs){ if (zdebug_debug_type()) z_msgbox_info("Tucnak-" Z_PLATFORM " " VERSION, "Tucnak crashed. Now is time to attach the debugger."); cwdaemon_safe_abort(cwda); #ifdef Z_HAVE_SDL if (sdl) { SDL_Quit(); } else #endif { #ifndef Z_MSC_MINGW itrm_safe_abort(); #endif } #ifdef Z_MSC_MINGW g_string_append(gs, "Tucnak unhandled exception.\nPlease report to ok1zia@nagano.cz"); #else g_string_append(gs, "Tucnak segmentation fault.\nPlease report to ok1zia@nagano.cz"); #endif } static void sig_pipe(int a){ /* dbg("sig_pipe(%d)\n", a); dbg("pid=%d\n", getpid()); sleep(10);*/ } void handle_basic_signals(struct terminal *term) { #ifndef Z_HAVE_SDL #define sdl 0 #endif #ifdef Z_UNIX zselect_signal_set(SIGHUP, sig_intr, NULL, 0); if (!sdl) zselect_signal_set(SIGINT, sig_ctrl_c, NULL, 0); zselect_signal_set(SIGTERM, sig_terminate, NULL, 0); #endif if (!sdl){ #ifdef SIGTSTP zselect_signal_set(SIGTSTP, sig_tstp, NULL, 0); #endif #ifdef SIGTTIN zselect_signal_set(SIGTTIN, sig_tstp, NULL, 0); #endif #ifdef SIGCONT zselect_signal_set(SIGCONT, sig_cont, NULL, 0); #endif } #ifdef SIGTTOU zselect_signal_set(SIGTTOU, sig_ign, NULL, 0); #endif #ifdef Z_UNIX signal(SIGPIPE, sig_pipe); #endif } /*static void handle_sdl_signals(void){ #ifndef Z_MSC_MINGW zselect_signal_set(SIGSEGV, sig_segv, NULL, 1); #endif }*/ void unhandle_terminal_signals() { #ifdef Z_UNIX zselect_signal_set(SIGHUP, NULL, NULL, 0); if (!sdl) zselect_signal_set(SIGINT, NULL, NULL, 0); #endif #ifdef SIGTSTP zselect_signal_set(SIGTSTP, NULL, NULL, 0); #endif #ifdef SIGTTIN zselect_signal_set(SIGTTIN, NULL, NULL, 0); #endif #ifdef SIGCONT zselect_signal_set(SIGCONT, NULL, NULL, 0); #endif #ifdef SIGTTOU zselect_signal_set(SIGTTOU, NULL, NULL, 0); #endif #ifdef Z_UNIX signal(SIGPIPE, SIG_IGN); #endif } void unhandle_basic_signals() { #ifdef Z_UNIX zselect_signal_set(SIGHUP, NULL, NULL, 0); if (!sdl) zselect_signal_set(SIGINT, NULL, NULL, 0); zselect_signal_set(SIGTERM, NULL, NULL, 0); #endif #ifdef SIGTSTP zselect_signal_set(SIGTSTP, NULL, NULL, 0); #endif #ifdef SIGTTIN zselect_signal_set(SIGTTIN, NULL, NULL, 0); #endif #ifdef SIGCONT zselect_signal_set(SIGCONT, NULL, NULL, 0); #endif #ifdef SIGTTOU zselect_signal_set(SIGTTOU, NULL, NULL, 0); #endif #ifdef Z_UNIX signal(SIGPIPE, SIG_IGN); #endif } #ifndef Z_HAVE_SDL #undef sdl #endif #ifndef Z_MSC_MINGW int term_attach_terminal(int in, int out, int ctl) { int fd[2]; /*struct terminal *term;*/ dbg("attach_terminal\n"); if (z_pipe(fd)) { error("ERROR: can't create pipe for internal communication"); return -1; } z_sock_nonblock(fd[0], 1); z_sock_nonblock(fd[1], 1); handle_trm(in, out, out, fd[1], ctl); if ((term = init_term(fd[0], out, win_func))) { handle_basic_signals(term); /* OK, this is race condition, but it must be so; GPM installs it's own buggy TSTP handler */ return fd[1]; } closesocket(fd[0]); closesocket(fd[1]); return -1; } #endif static int ac; static char **av; int first_contest_def = 0; char *tucnak_dir = NULL; char *logs_dir = NULL; char *home_dir = NULL; static void init_home(void) { struct stat st; char *c = NULL; c = getenv("TUCNAK"); if (c) { tucnak_dir = g_strdup(c); home_dir = g_strdup(c); z_dirname(home_dir); } if (!tucnak_dir){ home_dir = g_strdup(getenv("HOME")); //home_dir = NULL;//FIXME if (home_dir) tucnak_dir = g_strdup_printf("%s/tucnak", home_dir); } #ifdef Z_MSC_MINGW if (!tucnak_dir){ home_dir = z_strdup_home(); tucnak_dir = g_strdup_printf("%s/Tucnak", home_dir); } #endif if (!tucnak_dir){ char *d = g_strdup(av[0]); z_dirname(d); tucnak_dir = g_strdup(d); home_dir = g_strdup(d); g_free(d); } z_wokna(tucnak_dir); z_wokna(home_dir); if (stat(tucnak_dir, &st)) { if (z_mkdir(tucnak_dir, 0777)) zinternal(VTEXT(T_CANT_CREATE_HOME), tucnak_dir); }else{ // exists if (!S_ISDIR(st.st_mode)) zinternal(VTEXT(T_MUST_BE_DIR_MODE), tucnak_dir, st.st_mode); } } static void main_msg_handler(struct zselect *zsel, int n, char **items){ // dbg("threadpipe_rel_read('%s')\n", items[0]); if (!n || !items[0]) zinternal("main_msg_handler bad format"); if (strcmp(items[0], "AC")==0){ ac_redraw(); return; } if (strcmp(items[0], "LOG")==0){ log_adds(items[1]); dbg("%s", items[1]); return; } #ifdef USE_SDR if (strcmp(items[0], "SDR")==0){ sdr_read_handler(gsdr, items[1], items[2]); return; } #endif if (strcmp(items[0], "ST")==0){ if (!ctest) return; check_autosave(); redraw_stats(aband); recalc_allb_stats(); recalc_statsfifo(aband); redraw_later(); return; } if (strcmp(items[0], "CWQS")==0){ redraw_later(); return; } if (strcmp(items[0], "COR")==0){ #ifdef Z_HAVE_SDL zcor_read_handler(n, items); #endif return; } if (strcmp(items[0], "TERM")==0){ redraw_later(); return; } if (!items[1]) zinternal("main_msg_handler bad format 2 (%s)", items[0]); #if defined(HAVE_SNDFILE) || defined(Z_ANDROID) if (strcmp(items[0], "SSBP")==0){ ssbd_play_read_handler(gssbd, items[1]); return; } #endif #ifdef HAVE_SNDFILE if (strcmp(items[0], "SSBR")==0){ ssbd_rec_read_handler(gssbd, items[1]); return; } #endif if (strcmp(items[0], "CW")==0){ cwdaemon_read_handler(cwda, items[1], items[2]); return; } #ifdef HAVE_HAMLIB if (strcmp(items[0], "TRIG")==0){ trigs_read_handler(gtrigs, n, items); return; } #endif if (strcmp(items[0], "SC")==0){ log_adds(items[2]); //items[1] is always "!" return; } if (strcmp(items[0], "ROT")==0){ rotar_read_handler(n, items); return; } #ifdef Z_HAVE_LIBFTDI if (strcmp(items[0], "HD")==0){ hdkeyb_read_handler(n, items); return; } #endif if (strcmp(items[0], "ZFILEDLG")==0){ zfiledlg_read_handler(n, items); return; } if (strcmp(items[0], "ZASYNCDNS")==0){ zasyncdns_read_handler(n, items); return; } } #ifdef Z_ANDROID void android_trace_keys(char *s){ if (!cfg->trace_keys) return; error("%s", s); log_adds(s); } #endif void trace_handler(char *s){ if (!gses) return; log_adds(s); } void info(GString *gs){ g_string_append_printf(gs, "\n %s-%s %s\n\n", PACKAGE, Z_PLATFORM, VERSION); g_string_append_printf(gs, "tucnak svn version: %s\nlibzia svn version: %s\n\n", T_SVNVER, z_svnver()); #ifdef __GLIBC__ g_string_append_printf(gs,"\n glibc info\n"); g_string_append_printf(gs,"compiled version: %d.%d\n", __GLIBC__, __GLIBC_MINOR__); g_string_append_printf(gs,"runtime version: %s\n", gnu_get_libc_version()); g_string_append_printf(gs,"runtime release: %s\n\n", gnu_get_libc_release()); #endif #ifdef Z_HAVE_SDL sdl_info(gs); #endif #if defined(HAVE_LINUX_PPDEV_H) || defined (Z_MSC_MINGW_CYGWIN) parport_info(gs); #endif #ifdef HAVE_SNDFILE #ifdef HAVE_ALSA alsa_info(gs); #endif #ifdef HAVE_PORTAUDIO pa_info(gs); #endif #endif #ifdef Z_HAVE_LIBFTDI usb_info(gs); #endif iface_info(gs); bat_info(gs); serial_info(gs); #ifdef Z_ANDROID double h, w; int state; //SDL_ANDROID_GetHW(&h, &w, &state); zandroid_init(zsel); zandroid_get_location(&h, &w, &state); g_string_append_printf(gs, "\n geolocation info\n"); g_string_append_printf(gs, "state: "); switch (state){ case 0: g_string_append(gs, "searching\n"); break; case 1: g_string_append(gs, "fixed\n"); break; case 2: g_string_append(gs, "error\n"); break; default: g_string_append_printf(gs, "unknown\n", state); break; } if (h > -1000 && h < 1000){ g_string_append_printf(gs, "lon: %f\n", h); g_string_append_printf(gs, "lat: %f\n", w); hw2loc(pwwlo, h, w, 10); g_string_append_printf(gs, "wwl: %s\n", pwwlo); }else{ g_string_append_printf(gs, "location unknown\n"); } #endif g_string_append(gs, ""); } void settings(GString *gs){ z_get_settings(gs); g_string_append(gs, "\n\n"); g_string_append(gs, txt_settings); g_string_append_printf(gs, " macros: "); #ifdef UNIX g_string_append_printf(gs, "UNIX "); #endif #ifdef _UNIX g_string_append_printf(gs, "_UNIX "); #endif #ifdef __UNIX g_string_append_printf(gs, "__UNIX "); #endif #ifdef LINUX g_string_append_printf(gs, "LINUX "); #endif #ifdef _LINUX g_string_append_printf(gs, "_LINUX "); #endif #ifdef __LINUX g_string_append_printf(gs, "__LINUX "); #endif #ifdef WIN32 g_string_append_printf(gs, "WIN32 "); #endif #ifdef _WIN32 g_string_append_printf(gs, "_WIN32 "); #endif #ifdef _WIN64 g_string_append_printf(gs, "_WIN64 "); #endif #ifdef __CYGWIN__ g_string_append_printf(gs, "__CYGWIN__ "); #endif #ifdef __GNUC__ g_string_append_printf(gs, "__GNUC__=%d.%d.%d ", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); #endif #ifdef _MSC_VER g_string_append_printf(gs, "_MSC_VER=%d.%02d ", _MSC_VER / 100, _MSC_VER % 100); #endif #ifdef __MINGW32__ g_string_append_printf(gs, "__MINGW32__ "); #endif #ifdef __x86_64__ g_string_append_printf(gs, "__x86_64__ "); #endif #ifdef __i386__ g_string_append_printf(gs, "__i386__ "); #endif #ifdef __hppa__ g_string_append_printf(gs, "__hppa__ "); #endif #ifdef __ppc__ g_string_append_printf(gs, "__ppc__ "); #endif #ifdef __powerpc__ g_string_append_printf(gs, "__powerpc__ "); #endif #ifdef __arm__ g_string_append_printf(gs, "__arm__ "); #endif #ifdef Z_UNIX g_string_append_printf(gs, "Z_UNIX "); #endif #ifdef Z_MSC g_string_append_printf(gs, "Z_MSC "); #endif #ifdef Z_MINGW g_string_append_printf(gs, "Z_MINGW "); #endif #ifdef Z_MINGW g_string_append_printf(gs, "Z_CYGWIN "); #endif g_string_append_printf(gs, "\n"); } static void init(void) { char *c = NULL; char userbuf[64]; parse_options(ac, av); zdebug_init(ac, av, free_all_itrms, trace_handler, "Tucnak-" Z_PLATFORM " " VERSION); //zjson_test(); dbg("Tucnak-%s %s svn %s (%s) pid=%d user=%s\n", Z_PLATFORM, PACKAGE_VERSION, T_SVNVER, z_svnver(), getpid(), z_username(userbuf, sizeof(userbuf))); { void *codebase; char *libzia = z_libzia_file_name(&codebase); dbg("libzia: '%s' codebase 0x%p\n", libzia, codebase); } if (opt_i){ GString *gs = g_string_sized_new(1024); info(gs); #ifdef Z_MSC_MINGW MessageBox(NULL, gs->str, "Tucnak info", MB_OK | MB_ICONINFORMATION); #elif defined(Z_ANDROID) __android_log_print(ANDROID_LOG_DEBUG, "Tucnak", "%s", gs->str); #else printf("%s", gs->str); #endif g_string_free(gs, TRUE); exit(0); } if (opt_s){ GString *gs = g_string_sized_new(1024); settings(gs); #ifdef Z_MSC_MINGW MessageBox(NULL, gs->str, "Tucnak settings", MB_OK | MB_ICONINFORMATION); #elif defined(Z_ANDROID) __android_log_print(ANDROID_LOG_DEBUG, "Tucnak", "%s", gs->str); #else printf("%s", gs->str); #endif g_string_free(gs, TRUE); exit(0); } srand(time(NULL) + getpid()); init_debug(); glog = init_fifo(1000); //init_zptrarray(); //init_ghash(); init_trans(); init_rc(); term_spec_init(); #ifndef Z_MSC_MINGW zselect_signal_set(SIGCHLD, sigchld, NULL, 1); #endif init_home(); c = g_strdup_printf("%s/tucnak.dmp", tucnak_dir); z_dump_init(c, tucnak_crash, "Tucnak-" Z_PLATFORM " " VERSION, DDIR); init_keymaps(); read_rc_files(); #ifdef Z_ANDROID SDL_Android_key_trace(android_trace_keys); #endif set_logs_dir(); z_wokna(logs_dir); #ifdef Z_HAVE_SDL sdl=init_sdl(); z_dump_init(c, tucnak_crash, "Tucnak-" Z_PLATFORM " " VERSION, DDIR); // must re-attach segv handler g_free(c); //log_addf(VTEXT(T_TUCNAK_DIRECTORY_IS), tucnak_dir); if (sdl){ setenv("TERM", "sdl", 1); if (sdl_attach_terminal(get_input_handle(), get_output_handle(), get_ctl_handle())==-1){ retval = RET_FATAL; zselect_terminate(zsel); } } else #endif { #ifndef Z_MSC_MINGW if (term_attach_terminal(get_input_handle(), get_output_handle(), get_ctl_handle())==-1){ retval = RET_FATAL; zselect_terminate(zsel); } #endif } if (!term) zinternal("init() !term"); gtalk = init_fifo(1000); cw = init_cw(); dw = init_dw(); excdb = init_exc(); qrv = init_qrv(); wizz = init_wizz(); namedb = init_namedb(); masterdb = init_masterdb(); init_sconns(); init_rotars(); #ifdef Z_HAVE_LIBFTDI if (rotars->len > 0) hdkeyb = init_hdkeyb(); #endif #ifdef Z_HAVE_SDL progress(VTEXT(T_INIT_MAP)); gcor = zcor_init(zsel, map_cor_callback, cor_tucnakcor, COR_ITEMS); #endif if (cfg->dssaver){ progress(VTEXT(T_DISABLE_SAVER)); z_disable_screensaver(); } read_cw_files(cw); read_dw_files(dw); read_wizz_files(wizz); read_namedb_files(namedb); /*read_ebw_files(cw,namedb);*/ read_masterdb_files(masterdb); init_sound(); gnet = init_net(); httpd = init_httpd(); cwda = init_cwdaemon(); gssbd = init_ssbd(); spotdb = init_spotdb(); #ifdef Z_UNIX ntpq = init_ntpq(); #endif #ifdef HAVE_HAMLIB init_trigs(); #endif #ifdef USE_FFT gfft = init_fft(); #endif gacs = init_acs(); #ifdef USE_SDR gsdr = init_sdr(); #endif #ifdef Z_HAVE_SDL gbat = zbat_init(); //grain = init_rain(); #endif zfiledlg = zfiledlg_init(); zfiledlg->last_dir = g_strdup(tucnak_dir); if (cfg->maximized && cfg->fullscreen == 0){ #ifdef Z_HAVE_SDL if (sdl && sdl->screen){ sdl->ignore_progress = 1; SDL_FillRect(sdl->screen, NULL, 0); SDL_UpdateRect(sdl->screen, 0, 0, 0, 0); zsdl_maximize(zsdl, 1); } #endif }else{ progress(VTEXT(T_STARTING_TUCNAK)); } #if 0 {int i; GString *gs; gs = g_string_new(""); ST_START(); for (i = 0; i < 10000; i++) { g_string_append_printf(gs, "%-14s %-6s %08d %s\n", "OK1ZIA", "JN69QR", 20120308, "C"); } g_string_truncate(gs, 0); ST_STOP("g_string_append_printf"); for (i = 0; i < 10000; i++) { zg_string_append_printf(gs, "%-14s %-6s %08d %s\n", "OK1ZIA", "JN69QR", 20120308, "C"); } g_string_truncate(gs, 0); ST_STOP("zg_string_append_printf"); for (i = 0; i < 10000; i++) { char s[256], *c; sprintf(s, "%-14s %-6s %08d %s\n", "OK1ZIA", "JN69QR", 20120308, "C"); g_string_append(gs, s); } g_string_truncate(gs, 0); ST_STOP("sprintf"); for (i = 0; i < 10000; i++) { char s[256]; sprintf_s(s, 256, "%-14s %-6s %08d %s\n", "OK1ZIA", "JN69QR", 20120308, "C"); g_string_append(gs, s); } g_string_truncate(gs, 0); ST_STOP("sprintf_s"); g_string_free(gs, 1);} #endif } static void terminate_all_subsystems(void) { #ifdef Z_HAVE_SDL /*free_gfx();*/ #endif dbg("terminate_all_subsystems\n"); zselect_bh_check(zsel); zselect_bh_check(zsel); zselect_bh_check(zsel); free_ctest(); #ifdef Z_HAVE_SDL sdl_stop_event_thread(); free_rain(grain); zbat_free(gbat); free_acs(gacs); gacs = NULL; progress(VTEXT(T_FREE_MAP)); zcors_free(); #endif #ifdef USE_SDR free_sdr(gsdr); gsdr = NULL; #endif #ifdef HAVE_HAMLIB free_trigs(gtrigs); gtrigs = NULL; #endif #ifdef Z_UNIX free_ntpq(ntpq); #endif free_qrv(qrv); free_exc(excdb); free_dw(dw); free_cw(cw); free_wizz(wizz); free_namedb(namedb); free_masterdb(masterdb); #ifdef Z_HAVE_LIBFTDI free_hdkeyb(hdkeyb); #endif free_rotars(); free_spotdb(spotdb); free_httpd(httpd); free_net(gnet); free_cwdaemon(cwda); cwda = NULL; free_ssbd(gssbd); gssbd = NULL; free_sound(); #ifdef USE_FFT free_fft(gfft); // after ssb #endif // FREE(free_threadpipe(tpipe)); zfiledlg_free(zfiledlg); free_fifo(glog); free_fifo(gtalk); free_namelist(); free_all_itrms(); free_history_lists(); free_term_specs(); free_keymaps(); free_conv_table(); //zselect_bh_check(zsel); //zselect_bh_check(zsel); destroy_terminal(NULL); #ifdef Z_HAVE_SDL free_sdl(); #endif shutdown_trans(); free_rc(); check_memory_leaks(); //free_ghash(); //free_zptrarray(); free_debug(); g_free(tucnak_dir); g_free(logs_dir); g_free(home_dir); } void redraw(void){ // dbg("redraw()\n"); #ifdef Z_HAVE_SDL if (sdl) { sdl_redraw_screen(); } else #endif { term_redraw_screen(); } } int main(int argc, char *argv[]) { //zavgfilter_test(); #if 0 GString *gs = g_string_sized_new(8000); z_backtrace_symbols(gs, NULL, 0); printf("----\n%s\n----\n", gs->str); exit(0); #endif #if 0 char data[256]; int len; struct zserial *zser; zdebug_init(argc, argv, NULL, NULL); zser = zserial_init_win32("COM3"); zserial_set_line(zser, 9600, 8, 'E', 1); if (zserial_open(zser)){ error("%s", zserial_errorstr(zser)); zserial_free(zser); return -1; } len = 0; ST_START(); if (zserial_prot(zser, 240, 17, data, &len, 400)){ error("%s", zserial_errorstr(zser)); ST_STOP("prot error"); zserial_free(zser); return -1; } ST_STOP("prot"); zserial_free(zser); exit(0); #endif #if 0 GString *gs = g_string_new(""); zg_string_eprintfa("", gs, "%b", "A", 1); g_string_assign(gs, ""); zg_string_eprintfa("", gs, "%b", "AA", 2); g_string_assign(gs, ""); zg_string_eprintfa("", gs, "%b", "AAA", 3); g_string_assign(gs, ""); zg_string_eprintfa("", gs, "%b", "AAAA", 4); #endif #if 0 char s[20], t[20]; strcpy(s, " abc "); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, " abc"); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, "abc "); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, " abc "); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, " abc"); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, "abc "); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, "abc"); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, " "); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, " "); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); strcpy(s, ""); strcpy(t, s); printf("'%s' '%s'\n", s, trim(t)); printf("'%s' '%s'\n", NULL, trim(NULL)); exit(0); #endif #if 0 char str[256]; double lat = 0/*50.1*/, lon=0/*15.0*/; int d; for (d = 0; d < 365; d++){ struct tm tm; memset(&tm, 0, sizeof(tm)); tm.tm_mday = 1 + d; tm.tm_mon = 0; tm.tm_year = 2014 - 1900; time_t tt = mktime(&tm); gmtime_r(&tt, &tm); printf("%02d.%02d.%04d %s\n", tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900, zsun_strdup_riseset(tt, 50.1, -100)); } return 0; #endif #if 0 g_thread_init(NULL); debug_type=2; init_debug(); int thr=2; ST_START; similar_calls("OK2M", "OK1ZIA",0,thr,1); similar_calls("OK2M", "OK1KRQ",0,thr,1); similar_calls("OK2M", "OK2",0,thr,1); similar_calls("OK2M", "OKM",0,thr,1); similar_calls("OK2M", "O2M",0,thr,1); similar_calls("OK2M", "K2M",0,thr,1); similar_calls("OK2M", "KO2M",0,thr,1); similar_calls("OK2M", "OK2X",0,thr,1); similar_calls("OK2M", "OKXM",0,thr,1); similar_calls("OK2M", "OX2M",0,thr,1); similar_calls("OK2M", "XK2M",0,thr,1); similar_calls("OK2M", "OK2MX",0,thr,1); similar_calls("OK2M", "OK2XM",0,thr,1); similar_calls("OK2M", "OKX2M",0,thr,1); similar_calls("OK2M", "OXK2M",0,thr,1); similar_calls("OK2M", "XOK2M",0,thr,1); similar_calls("OK2M", "DK2M",0,thr,1); similar_calls("OK2M", "DK3M",0,thr,1); similar_calls("OK2M", "DK3O",0,thr,1); similar_calls("OK2M", "DL2M",0,thr,1); similar_calls("OK2M", "DL3M",0,thr,1); similar_calls("OK2M", "DL3O",0,thr,1); similar_calls("OK1KRQ", "OK1ZIA",0,thr,1); similar_calls("OK1KRQ", "OK1KRQ",0,thr,1); similar_calls("OK1KRQ", "OK1KR",0,thr,1); similar_calls("OK1KRQ", "OK1KQ",0,thr,1); similar_calls("OK1KRQ", "OK1RQ",0,thr,1); similar_calls("OK1KRQ", "OKKRQ",0,thr,1); similar_calls("OK1KRQ", "K1KRQ",0,thr,1); similar_calls("OK1KRQ", "OK1KQR",0,thr,1); similar_calls("OK1KRQ", "OK1RKQ",0,thr,1); similar_calls("OK1KRQ", "OKK1RQ",0,thr,1); similar_calls("OK1KRQ", "O1KKRQ",0,thr,1); similar_calls("OK1KRQ", "KO1KRQ",0,thr,1); similar_calls("OK1KRQ", "OK1KRX",0,thr,1); similar_calls("OK1KRQ", "OK1KXQ",0,thr,1); similar_calls("OK1KRQ", "OK1XRQ",0,thr,1); similar_calls("OK1KRQ", "OKXKRQ",0,thr,1); similar_calls("OK1KRQ", "OX1KRQ",0,thr,1); similar_calls("OK1KRQ", "XK1KRQ",0,thr,1); similar_calls("OK1KRQ", "OK1Q",0,thr,1); similar_calls("OM3I", "OM3RLA",0,thr,1); similar_calls("OM3I", "OM3RL",0,thr,1); similar_calls("OM3I", "OM3R",0,thr,1); similar_calls("OM3RKA", "OM5MZ",0,thr,1); similar_calls("HG10P", "HG3A",0,thr,1); similar_calls("HG3A", "HG10P",0,thr,1); ST_STOP; return; #endif #if 0 GThread *thr; GError *gerr; gpointer ex; g_thread_init(NULL); thr=g_thread_try_new("test", func, NULL, 1,&gerr); ex=g_thread_join(thr); printf("thread exited %p\n", ex); return(0); #endif #if 0 { void *p; init_debug(); p=mem_alloc(10); p=mem_realloc(p, 20); g_free(p); free_debug(); check_memory_leaks(); exit(0); } #endif #if 0 char *s; g_thread_init(NULL); init_debug(); s=g_strdup(""); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("."); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("/"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("./"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("/."); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("a./"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("a/./"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("./b"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("a./b"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("a//b"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("a/../b"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("../b/c"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("a/.."); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); s=g_strdup("a/../"); printf("'%s' ", s); s=optimize_path(s); printf(" '%s'\n", s); g_free(s); exit(1); #endif //zfence_init(16, '\0', 0xee); #ifdef Z_MINGW // MessageBox(NULL, "Hello World, I'm Tucnak compiled under mingw", "Info", MB_OK); #endif #if defined(Z_UNIX_ANDROID) && !defined(Z_MACOS) starting_sbrk = (char *)sbrk(0); #endif #ifdef ANDROID __android_log_print(ANDROID_LOG_DEBUG, "Tucnak", "Tucnak is alive!!! (%s)", __FUNCTION__); android_main(argc, argv); #endif z_dump_init("tucnak.dmp", tucnak_crash, "Tucnak-" Z_PLATFORM " " VERSION, DDIR); zg_thread_set_name("Tucnak main thread"); ac = argc; av = (char **)argv; /* dbg("\n\n");*/ #if !GLIB_CHECK_VERSION(2, 32, 0) g_thread_init(NULL); #endif #ifdef __MINGW32__ init_mingw(); #endif zsel = zselect_init(redraw); zselect_msg_set(zsel, main_msg_handler); //zselect_start_profile(zsel, 0.099); init(); zselect_loop(zsel); terminate_all_subsystems(); sound(0); return retval; } #ifndef Z_MSC_MINGW void sigchld(void *arg, siginfo_t *siginfo, void *ctx) { int pid; pid = waitpid(-1, NULL, WNOHANG); dbg("sigchld pid=%d\n", pid); if (pid == sound_pid) abort_sound(); } #endif void set_logs_dir(){ g_free(logs_dir); if (cfg->logdirpath && *cfg->logdirpath) logs_dir = g_strdup_printf("%s/%s", tucnak_dir, cfg->logdirpath); else logs_dir = g_strdup(tucnak_dir); } tucnak-4.32/src/Android.mk0000644000175000017500000000420714021105702012343 00000000000000LOCAL_PATH:= $(call my-dir) include ../../libzia/src/Android.mk #include ../../glib/Android.mk #include ../../libiconv/jni/Android.mk #include ../../libsdl/project/jni/Android.mk #include ../../hamlib/Android.mk #include ../../libftdi/jni/Android.mk include ../../libsndfile/jni/Android.mk include $(CLEAR_VARS) LOCAL_PATH := /home/ja/c/tucnak/src LOCAL_SRC_FILES := \ ac.c \ adif.c android.c bfu.c cabrillo.c \ charsets.c \ chart.c \ control.c cordata.c \ cwdaemon.c cwdb.c cwwindow.c \ davac4.c dsp.c dwdb.c dxc.c \ ebw.c edi.c \ error.c excdb.c fft.c \ fifo.c \ hdkeyb.c \ hf.c html.c \ httpd.c \ icons.c inpout.c inputln.c \ kbd.c \ kbdbind.c \ kst.c \ language.c \ list.c main.c map.c masterdb.c \ menu.c menu1.c menu2.c menu3.c menu4.c menu5.c menu6.c menu7.c \ mingw.c misc.c namedb.c net.c \ os_dep.c pa.c player.c ppdev.c \ profile.c qrvdb.c qsodb.c \ rain.c \ rc.c report.c rotar.c \ scope.c sdev.c \ session.c sdrc.c sked.c slovhfnet.c \ sndf.c \ sota.c sota_api.c sota_spot.c sota_upload.c \ ssbd.c state.c stats.c stf.c subwin.c terminal.c \ titlpage.c translate.c tregex.c trig.c \ tsdl.c ttys.c txts.c \ update.c vhfcontestnet.c \ winkey.c wiki.c wizz.c \ zosk.c \ zstring.c LOCAL_MODULE := application LOCAL_CFLAGS := -fPIC -std=gnu99 LOCAL_LDFLAGS := -fPIC LOCAL_C_INCLUDES := \ $(GLIB_TOP) \ $(GLIB_TOP)/glib \ $(GLIB_TOP)/android \ $(GLIB_TOP)/android-internal \ $(SDL_TOP)/jni/sdl-1.2/include \ $(PNG_TOP)/jni \ $(USB_TOP)/jni \ $(FTDI_TOP)/src \ $(ZIA_TOP)/include \ $(ZIA_TOP)/include/android \ $(ICONV_TOP)/include \ $(HAMLIB_TOP)/include \ $(PA_TOP)/include \ $(SNDFILE_TOP)/jni LOCAL_LDLIBS := \ -L$(ZIA_TOP)/src/obj/local/armeabi \ -L$(ICONV_TOP)/libs/armeabi-v7a \ -L$(GLIB_TOP)/obj/local/armeabi \ -L$(SDL_TOP)/project/libs/armeabi \ -L$(HAMLIB_TOP)/libs/armeabi \ -L$(USB_TOP)/libs/armeabi -L$(FTDI_TOP)/libs/armeabi \ -llog \ -L$(SNDFILE_TOP)/libs/armeabi \ LOCAL_STATIC_LIBRARIES := zia iconv glib-2.0 gthread-2.0 sdl-1.2 sndfile #hamlib include $(BUILD_SHARED_LIBRARY) #include $(LOCAL_SHARED_LIBRARY) tucnak-4.32/src/inputln.c0000644000175000017500000004574214040025076012306 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdaemon.h" #include "fifo.h" #include "inputln.h" #include "kbdbind.h" #include "kbd.h" #include "qsodb.h" #include "rc.h" #include "session.h" #include "subwin.h" #include "terminal.h" #include "tregex.h" #include "zosk.h" #define FREE_Cx if (c1) {g_free(c1); c1=NULL;}\ if (c2) {g_free(c2); c2=NULL;}\ if (c3) {g_free(c3); c3=NULL;} void draw_inputln(struct inputln *il, int sel){ /*dbg("draw_inputln (%d,%d)\n",il->x,il->y);*/ if (il->vpos + il->l <= il->cpos) il->vpos = il->cpos - il->l + 1; if (il->vpos > il->cpos) il->vpos = il->cpos; if (il->vpos < 0) il->vpos = 0; fill_area(il->x, il->y, il->l, 1, COL_INV); print_text(il->x, il->y, strlen(il->cdata + il->vpos) <= il->l ? strlen(il->cdata + il->vpos) : il->l, il->cdata + il->vpos, COL_INV); #ifdef Z_HAVE_SDL if (sdl && cfg->usetouch) print_text(il->x + il->l, il->y, 1, "\x19", COL_INV); #endif if (il->focused) { /* dbg("draw_inputln: set_cursor %d %d \n", il->x + il->cpos - il->vpos, il->y);*/ set_cursor(il->x + il->cpos - il->vpos, il->y, il->x + il->cpos - il->vpos, il->y); } } void clear_inputline(struct inputln *il){ //if (il->band && il->band->readonly) return; il->cpos = 0; memset(il->cdata,0,il->dlen); } static void il_hist_check_bounds(struct inputln *il){ if (il->hist_i < -1 ) il->hist_i = -1; if ((signed)il->hist_i >= (signed)il->history->len) il->hist_i = il->history->len - 1; } void il_add_to_history(struct inputln *il, char *s){ if (strlen(s)==0) return; g_ptr_array_add(il->history, g_strdup(s)); if (il->history->len == IL_HIST_LEN){ gpointer p; p = g_ptr_array_index(il->history, 0); g_free(p); g_ptr_array_remove_index(il->history, 0); } } static struct inputln *gil; void il_history_func (void *arg, void *unused){ int active; struct inputln *il; active=GPOINTER_TO_INT(arg); il=gil; if (active<0 || active>il->history->len) return; strncpy(il->cdata, (char *)g_ptr_array_index(il->history, active), il->dlen); il->cpos = strlen(il->cdata); redraw_later(); } /* vraci 0 v pripade neobslouzeno */ int inputln_func(struct inputln *il, struct event *ev){ static char callkst[EQSO_LEN]; int i; struct menu_item *mi; //dbg("inputln_func(%p,[%d,%d,%d,%d])\n",il,ev->ev,ev->x,ev->y,ev->b); switch (ev->ev) { case EV_INIT: /* dbg("inputln_func EV_INIT\n");*/ il->x = 20; il->y = term->y - cfg->loglines - 1; if (il->band && !ctest->oldcontest) il->y -= ctest->spypeers->len; il->l = 40; #ifdef Z_HAVE_SDL if (cfg->usetouch) il->l--; #endif il->dlen = 256; if (!il->cdata) il->cdata=(char*)g_malloc(il->dlen); memset(il->cdata,0,il->dlen); il->cpos = strlen(il->cdata); il->term = term; il->history = g_ptr_array_new(); il->hist_i = -1; il_readonly(il, il->readonly); draw_inputln(il,1);/*FIXME*/ case EV_RESIZE: if (il->sw){ il->x = il->sw->x; il->y = il->sw->y + il->sw->h; il->l = il->sw->w; #ifdef Z_HAVE_SDL if (cfg->usetouch) il->l--; #endif }else{ il->x = 20; il->y = term->y - cfg->loglines - 1; if (il->band && !ctest->oldcontest) il->y -= ctest->spypeers->len; } /*dbg("inputln_func RESIZE %p term->y=%d il->x=%d il->y=%d il->band=%p\n", il, term->y, il->x, il->y, il->band);*/ case EV_REDRAW: /* unreached for inputline in subwin */ /* dbg("inputln_func EV_REDRAW\n");*/ draw_inputln(il,1);/*FIXME*/ break; case EV_KBD: if ((ev->y & KBD_CTRL) && z_char_uc(ev->x) == 'V' && il->allow_ctrlv){ if (il->readonly) break; il->wasctrlv=1; goto dsp_f; }else{ if (il->wasctrlv){ il->wasctrlv=0; if (il->readonly) break; /* dbg("ctrl+%c\n", ev->x); */ if (strlen(il->cdata) < il->dlen - 1) { memmove(il->cdata + il->cpos + 1, il->cdata + il->cpos, strlen(il->cdata) - il->cpos + 1); if (ev->x=='[' || ev->x==']') il->cdata[il->cpos++] = ev->x; else il->cdata[il->cpos++] = tolower(ev->x)-'a'+1; } goto dsp_f; } } switch (kbd_action(KM_EDIT, ev)) { case ACT_RIGHT: if (il->readonly) break; if (il->cpos < strlen(il->cdata)) il->cpos++; goto dsp_f; case ACT_LEFT: if (il->readonly) break; if (il->cpos > 0) il->cpos--; goto dsp_f; case ACT_HOME: if (il->readonly) break; il->cpos = 0; goto dsp_f; case ACT_END: if (il->readonly) break; il->cpos = strlen(il->cdata); goto dsp_f; case ACT_BACKSPACE: if (il->readonly) break; if (il->cpos) { memmove(il->cdata + il->cpos - 1, il->cdata + il->cpos, strlen(il->cdata) - il->cpos + 1); il->cpos--; // if (aband) dbg("inputln_func: call_played='%s'\n", aband->call_played); if (il->band && il->band->tmpqsos[0].callsign == NULL && il->band->call_played == NULL && cwda && cwda->back && cfg->cwda_autgive > 0 && get_mode() == MOD_CW_CW){ cwda->back(cwda); } } goto dsp_f; case ACT_DELETE: if (il->readonly) break; if (il->cpos < strlen(il->cdata)) memmove(il->cdata + il->cpos, il->cdata + il->cpos + 1, strlen(il->cdata) - il->cpos + 1); goto dsp_f; case ACT_KILL_LINE: if (il->readonly) break; clear_inputline(il); #ifdef Z_HAVE_SDL if (gses->osk){ zosk_clear(gses->osk); } #endif goto dsp_f; case ACT_KILL_TO_BOL: if (il->readonly) break; memmove(il->cdata, il->cdata + il->cpos, strlen(il->cdata + il->cpos) + 1); il->cpos = 0; goto dsp_f; /* case ACT_KILL_TO_EOL: if (il->readonly) break; il->cdata[il->cpos] = 0; goto dsp_f; break;*/ case ACT_NEWCALL_KST: if (il->band) break; // only for subwin inputline if (il->readonly) break; strcpy(callkst, ""); input_field(NULL, CTEXT(T_CALLSIGN3), CTEXT(T_CALLSIGN_KST) , CTEXT(T_OK), CTEXT(T_CANCEL), il, NULL, 20, callkst, 0, 0, NULL, (void (*)(void *, char *)) newkst, NULL, 0); #ifdef Z_HAVE_SDL if (gses && cfg->usetouch){ if (gses->osk) zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, ZOSK_ENTERCLOSE | ZOSK_SENDENTER, il->cdata); zosk_portrait(gses->osk); } #endif goto dsp_f; break; case ACT_LASTCALL_KST: case ACT_KILL_TO_EOL: if (il->readonly) break; il->cdata[il->cpos] = 0; dbg("\ni=%d len=%d\n", il->hist_i, il->history->len); if (il->band) break; if (il->hist_i==-1 && strlen(il->cdata)>0){ il_add_to_history(il, il->cdata); il->hist_i++; } for (il->hist_i++; (signed)il->hist_i < (signed)il->history->len; il->hist_i++){ char *c, *c1=NULL, *c2=NULL, *c3=NULL; c = (char *)g_ptr_array_index(il->history, il->history->len - il->hist_i - 1); if (!c) continue; /* probably unreached */ dbg("regmatch('%s')\n", c); if (regmatch(c, "^/[cC][qQ] ([a-zA-Z0-9/-]{3,14})", &c1, &c2, &c3, NULL)==0){ char s[20]; dbg("c1=%s c2=%s c3=%s\n", c1, c2, c3); safe_strncpy(s, c2, sizeof(s)); z_str_uc(s); g_snprintf(il->cdata, il->dlen, "/cq %s ", s); FREE_Cx; break; } FREE_Cx; } il->cpos = strlen(il->cdata); #ifdef Z_HAVE_SDL if (gses && cfg->usetouch){ if (gses->osk) zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, ZOSK_ENTERCLOSE | ZOSK_SENDENTER, il->cdata); zosk_portrait(gses->osk); } #endif goto dsp_f; break; case ACT_PREV_HISTORY: if (il->readonly) break; if (il->hist_i==-1 && strlen(il->cdata)>0){ il_add_to_history(il, il->cdata); il->hist_i++; } il->hist_i++; il_hist_check_bounds(il); if (il->hist_i>=0) strncpy(il->cdata, (char *)g_ptr_array_index(il->history, il->history->len - il->hist_i - 1), il->dlen); else strcpy(il->cdata, ""); /* FIXME */ il->cpos = strlen(il->cdata); #ifdef Z_HAVE_SDL if (gses && cfg->usetouch){ if (gses->osk) zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, ZOSK_ENTERCLOSE | ZOSK_SENDENTER, il->cdata); zosk_portrait(gses->osk); } #endif goto dsp_f; break; case ACT_NEXT_HISTORY: if (il->readonly) break; il->hist_i--; il_hist_check_bounds(il); if (il->hist_i>=0) strncpy(il->cdata, (char *)g_ptr_array_index(il->history, il->history->len - il->hist_i - 1), il->dlen); else strcpy(il->cdata, ""); /* FIXME */ il->cpos = strlen(il->cdata); #ifdef Z_HAVE_SDL if (gses && cfg->usetouch){ if (gses->osk) zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, ZOSK_ENTERCLOSE | ZOSK_SENDENTER, il->cdata); zosk_portrait(gses->osk); } #endif goto dsp_f; break; case ACT_SHOW_HISTORY:{ show_history: if (il->readonly) break; gil=il; if (il->history->len==0) break; if (!(mi = new_menu(1))) break; for (i = 0; i < il->history->len; i++) { add_to_menu(&mi, (char *)g_ptr_array_index(il->history, i), "", "", il_history_func, GINT_TO_POINTER(i), 0); } set_window_ptr(gses->win,il->x,il->y-2-i); do_menu_selected(mi, GINT_TO_POINTER(0), il->history->len-1); }goto dsp_f; case ACT_COPY_CLIPBOARD: if (il->readonly) break; /* Copy to clipboard */ set_clipboard_text(il->cdata); break; /* We don't need to redraw */ case ACT_CUT_CLIPBOARD: if (il->readonly) break; /* Cut to clipboard */ set_clipboard_text(il->cdata); il->cdata[0] = 0; il->cpos = 0; goto dsp_f; case ACT_PASTE_CLIPBOARD: { if (il->readonly) break; /* Paste from clipboard */ /* unsigned char * clipboard = get_clipboard_text(); strncpy(il->cdata , clipboard, il->item->dlen); il->cdata[il->item->dlen - 1] = 0; il->cpos = strlen(il->cdata); g_free(clipboard);*/ goto dsp_f; } case ACT_AC_INFO: if (il->readonly) break; il->cdata[il->cpos] = 0; if (il->band) break; int i; for (i = il->history->len - 1; i >= 0; i--){ char *c, *c1 = NULL, *c2 = NULL, *c3 = NULL; c = (char *)g_ptr_array_index(il->history, i); if (!c) continue; /* probably unreached */ if (regmatch(c, "^/[cC][qQ] ([a-zA-Z0-9/-]{3,14})", &c1, &c2, &c3, NULL) == 0){ dbg("c1=%s c2=%s c3=%s\n", c1, c2, c3); g_free(gses->callunder); gses->callunder = g_strdup(c2); FREE_Cx; if (!gses->callunder || !*gses->callunder) break; z_str_uc(gses->callunder); fifo_kst_ac_info(NULL, NULL); break; } FREE_Cx; } goto dsp_f; break; default: if (cfg->slashkey && *cfg->slashkey){ if (ev->x == '/') ev->x = *cfg->slashkey; else if (ev->x == *cfg->slashkey) ev->x = '/'; } if (ev->x >= ' ' && ev->x < 0x100 && !ev->y) { char c; if (il->readonly) break; if (strlen(il->cdata) < il->dlen - 1) { memmove(il->cdata + il->cpos + 1, il->cdata + il->cpos, strlen(il->cdata) - il->cpos + 1); c = ev->x; if (il->upconvert) c = z_char_uc(c); if (!il->valid_chars || strchr(il->valid_chars, c)!=NULL){ il->cdata[il->cpos++] = c; il->cdata[il->dlen-1] = '\0'; // if (il->band) dbg("inputln_func2: call_played='%s' agcall='%d'\n", il->band->call_played, il->band->agcall); if (il->band && il->band->tmpqsos[0].callsign == NULL && il->band->call_played == NULL && cwda && cwda->text && cfg->cwda_autgive > 0 && get_mode() == MOD_CW_CW){ if (il->cpos == cfg->cwda_autgive){ cwda->text(cwda, il->cdata); il->band->agcall = 1; il->band->iscall = 1; // dbg("inputln_func2: agcall='%d' iscall='%d'\n", il->band->agcall, il->band->iscall); } if (il->cpos > cfg->cwda_autgive){ char sss[2]; sss[0]=c; sss[1]='\0'; cwda->text(cwda, sss); } } } } goto dsp_f; } goto gh; dsp_f: draw_inputln(il,1); return 1; } gh: if (ev->x == KBD_ENTER) { if (il->readonly) return 1; if (!il->enter) return 1; /*dbg("inputln_func: KBD_ENTER '%s' \n",il->cdata);*/ il_add_to_history(il, il->cdata); il->hist_i=-1; il->enter(il->enterdata, il->cdata, 1); if (il->enter != process_input_no_contest) clear_inputline(il); draw_inputln(il,1); return 1; } break; case EV_MOUSE: if (ev->b & B_MOVE) break; #ifdef Z_HAVE_SDL if (gses && cfg->usetouch && ev->b & B_CLICK){ int flg = ZOSK_SENDENTER; if (abs(il->x + il->l - ev->x) < 2) goto show_history; if (gses->osk) zosk_free(gses->osk); if (!il->band) flg |= ZOSK_ENTERCLOSE; else flg |= ZOSK_CLEARENTER; if (il->upconvert) flg |= ZOSK_UPCONVERT; gses->osk = zosk_init(sdl->screen, flg, il->cdata); zosk_portrait(gses->osk); } #endif if (!cfg->usetouch){ if (ev->y != il->y || ev->x < il->x || ev->x >= il->x + il->l) return 0; if ((il->cpos = il->vpos + ev->x - il->x) > strlen(il->cdata)) il->cpos = strlen(il->cdata); } draw_inputln(il,1); break; case EV_ABORT: if (il->cdata) g_free(il->cdata); zg_ptr_array_free_all(il->history); break; } return 0; } void il_set_focus(struct inputln *il){ if (!il) return; /* subwins having no inputline */ //dbg("il_set_focus(%c %p)\n", il->band ? il->band->bandchar : ' ', il->sw); il->focused=1; } void il_unset_focus(struct inputln *il){ if (!il) return; //dbg("il_unset_focus(%c %p)\n", il->band ? il->band->bandchar : ' ', il->sw); il->focused=0; } void il_readonly(struct inputln *il, int ro){ il->readonly=ro; if (il->readonly) strncpy(il->cdata , VTEXT(T__RO_BAND), il->dlen); else strncpy(il->cdata , "", il->dlen); } void newkst(struct inputln *il, char *callkst){ if (!il || !callkst) return; z_str_uc(callkst); //g_snprintf(il->cdata, il->dlen, "/cq %s (%s) ", callkst, callkst); g_snprintf(il->cdata, il->dlen, "/cq %s ", callkst); // new format since abt. jun 2011 il->cpos = strlen(il->cdata); } void askkst(struct inputln *il, char *s){ if (!il) return; g_snprintf(il->cdata, il->dlen, "%s", s); il->cpos = strlen(il->cdata); } tucnak-4.32/src/rtlsdr.h0000644000175000017500000000127113303523341012120 00000000000000/* Tucnak - VHF contest log Copyright (C) 2018 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __RTLSDR_H #define __RTLSDR_H #include "header.h" #include "dsp.h" #ifdef HAVE_LIBRTLSDR #include int rtlsdr_open2(struct dsp *dsp, int rec); int rtlsdr_close2(struct dsp *dsp); int rtlsdr_write(struct dsp *dsp, void *data, int frames); int rtlsdr_read(struct dsp *dsp, void *data, int frames); int rtlsdr_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec); #endif #endif tucnak-4.32/src/kbd.h0000644000175000017500000000313313741772702011362 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __KBD_H #define __KBD_H #define BM_BUTT 3 #define BM_EBUTT 7 #define B_LEFT 1 #define B_MIDDLE 2 #define B_RIGHT 3 #define B_WHUP 4 #define B_WHDOWN 5 #define BM_ACT 0x38 #define B_DOWN 0 #define B_UP 8 #define B_DRAG 0x10 #define B_MOVE 0x20 #define B_CLICK 0x40 #define BM_BUTCL 0x47 #define KBD_ENTER 0x100 #define KBD_BS 0x101 #define KBD_TAB 0x102 #define KBD_ESC 0x103 #define KBD_LEFT 0x104 #define KBD_RIGHT 0x105 #define KBD_UP 0x106 #define KBD_DOWN 0x107 #define KBD_INS 0x108 #define KBD_DEL 0x109 #define KBD_HOME 0x10a #define KBD_END 0x10b #define KBD_PGUP 0x10c #define KBD_PGDN 0x10d #define KBD_F1 0x120 #define KBD_F2 0x121 #define KBD_F3 0x122 #define KBD_F4 0x123 #define KBD_F5 0x124 #define KBD_F6 0x125 #define KBD_F7 0x126 #define KBD_F8 0x127 #define KBD_F9 0x128 #define KBD_F10 0x129 #define KBD_F11 0x12a #define KBD_F12 0x12b #define KBD_CTRL_C 0x200 #define KBD_SHIFT 1 #define KBD_CTRL 2 #define KBD_ALT 4 void handle_trm(int, int, int, int, int); void free_all_itrms(void); void resize_terminal(void *); void dispatch_special( char *); void kbd_ctrl_c(void); int is_blocked(void); void itrm_safe_abort(void); #endif tucnak-4.32/src/icons.inc0000644000175000017500000066615612132501146012264 00000000000000/* Automatically generated by png2inc.pl */ const unsigned char icon_home32[818] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x08, 0x04, 0x00, 0x00, 0x00, 0xd9, 0x73, 0xb2, 0x7f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x87, 0x8f, 0xcc, 0xbf, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xdc, 0x0b, 0x1b, 0x09, 0x1d, 0x14, 0xb3, 0x87, 0x14, 0x95, 0x00, 0x00, 0x02, 0xc3, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x95, 0x59, 0x48, 0x54, 0x61, 0x14, 0xc7, 0x7f, 0xdf, 0x38, 0xa9, 0x64, 0x51, 0x46, 0x05, 0xd1, 0xf6, 0x5c, 0x88, 0x2d, 0x18, 0x65, 0x41, 0x44, 0xfb, 0x4b, 0x0f, 0x41, 0xd0, 0x42, 0xf4, 0xd4, 0x8b, 0x45, 0x49, 0x64, 0x58, 0x91, 0x88, 0x15, 0x92, 0x95, 0x90, 0x3e, 0x44, 0x45, 0xd0, 0xbe, 0x47, 0x1b, 0x9a, 0xb8, 0x61, 0x59, 0x54, 0x28, 0x6d, 0x33, 0x36, 0xa6, 0xa5, 0x77, 0x54, 0x46, 0x41, 0x73, 0x9d, 0x31, 0x6d, 0xee, 0xcc, 0x3d, 0x3d, 0x4c, 0xe9, 0x1d, 0x99, 0xc9, 0xd6, 0xb7, 0xce, 0x79, 0xba, 0xe7, 0xbb, 0xff, 0xdf, 0x59, 0xee, 0xb9, 0x7c, 0xf0, 0xdf, 0xfe, 0xa5, 0x95, 0x00, 0x55, 0xb3, 0x5f, 0xc7, 0xc1, 0x83, 0xdf, 0x03, 0xa4, 0x45, 0x75, 0x3d, 0x31, 0xc4, 0x90, 0xce, 0x42, 0x22, 0xe4, 0xd7, 0xa4, 0x79, 0x80, 0x2d, 0xc1, 0xe3, 0xd6, 0xe5, 0xf9, 0x75, 0xed, 0x9c, 0x57, 0xdc, 0xed, 0x95, 0x33, 0x02, 0xd1, 0x80, 0xdd, 0xfa, 0xb1, 0x3c, 0x1f, 0x70, 0xee, 0xf3, 0x88, 0xe7, 0xcb, 0xf1, 0x6d, 0x28, 0x78, 0xb1, 0xae, 0x47, 0x3c, 0xf2, 0x31, 0x09, 0xb4, 0x5d, 0xad, 0x25, 0xad, 0xc5, 0xcd, 0x67, 0x87, 0xc9, 0x9f, 0x12, 0xe9, 0x2a, 0xef, 0x11, 0x67, 0x5d, 0xe2, 0xbc, 0xef, 0x91, 0x13, 0x93, 0x5b, 0xea, 0xbb, 0xa5, 0xe1, 0x7a, 0x5b, 0x5f, 0x97, 0xd1, 0x25, 0x3d, 0x92, 0x13, 0x1f, 0x46, 0xfa, 0x00, 0x78, 0x31, 0xb7, 0xa5, 0xa7, 0x5d, 0xca, 0x6e, 0x30, 0x16, 0x8a, 0xa6, 0x34, 0x16, 0x36, 0xe4, 0xdd, 0x9b, 0x00, 0xf0, 0xfe, 0xfc, 0x27, 0x69, 0x93, 0x36, 0x69, 0x93, 0x76, 0x39, 0x36, 0x27, 0xa4, 0xfc, 0x2e, 0x60, 0x4f, 0x75, 0x89, 0xcb, 0x9b, 0xb5, 0x03, 0x0b, 0x54, 0xae, 0x6d, 0x12, 0x97, 0xe1, 0x32, 0x9a, 0xfc, 0x15, 0x2b, 0x01, 0x1e, 0xad, 0x6f, 0x12, 0x97, 0xe1, 0x92, 0x16, 0xc9, 0x0a, 0x0d, 0x48, 0x1e, 0xe1, 0x28, 0x73, 0x8a, 0x4d, 0x5b, 0x34, 0x1f, 0xc0, 0x76, 0xca, 0x29, 0x9a, 0xa1, 0x89, 0x26, 0x9a, 0xe1, 0x94, 0xb7, 0xc7, 0x01, 0x72, 0xa7, 0xbe, 0x77, 0x6a, 0xd2, 0x20, 0x39, 0x73, 0x87, 0x48, 0x6f, 0x01, 0xa5, 0xb3, 0x1c, 0xdd, 0x1f, 0x24, 0xef, 0x36, 0xb1, 0x70, 0x35, 0xd6, 0xee, 0xa8, 0x95, 0x1a, 0x93, 0xd7, 0x8a, 0xed, 0xd5, 0xe9, 0x51, 0x00, 0x15, 0x97, 0x6a, 0xa5, 0xfa, 0x73, 0xd9, 0x7c, 0xb8, 0xf9, 0x5d, 0x7e, 0x0d, 0x78, 0x9a, 0x62, 0x97, 0x2a, 0xfd, 0x50, 0x32, 0x16, 0x28, 0x5d, 0xf6, 0x56, 0xb7, 0x1b, 0x76, 0x19, 0xe2, 0xc6, 0x9b, 0xbe, 0xe2, 0x44, 0x80, 0xfc, 0x8d, 0x36, 0xb1, 0xcb, 0xd3, 0x3d, 0x70, 0x19, 0x50, 0x97, 0xe9, 0x8d, 0x8a, 0x7b, 0x18, 0xbd, 0xb4, 0xb7, 0xf1, 0xc0, 0x86, 0xf2, 0xe7, 0xf0, 0xf8, 0x48, 0x4c, 0x2a, 0x82, 0x0a, 0xd1, 0xa3, 0xa0, 0x3c, 0x69, 0x4b, 0x0e, 0x43, 0xf6, 0xf4, 0x85, 0xe5, 0x91, 0xd3, 0xfa, 0x0b, 0xee, 0xac, 0x79, 0xe2, 0x57, 0x50, 0xb2, 0x27, 0xe6, 0xa8, 0x76, 0x77, 0xd3, 0x56, 0x3a, 0x4e, 0x8e, 0x9c, 0xf9, 0x68, 0xc4, 0x3c, 0x09, 0x2d, 0x07, 0x10, 0xa5, 0xbc, 0x8f, 0xcb, 0x56, 0x64, 0xe8, 0x8a, 0xa2, 0xab, 0xa3, 0x36, 0x36, 0x25, 0xaf, 0xcf, 0x55, 0x17, 0xd9, 0xc2, 0xee, 0xc5, 0xd9, 0xcf, 0xf0, 0xdd, 0x9c, 0x14, 0xab, 0x45, 0x44, 0x0d, 0xbf, 0xa7, 0x7e, 0xb7, 0x63, 0xfa, 0xbb, 0xce, 0x33, 0x64, 0x2e, 0xd8, 0x5f, 0x4d, 0xb7, 0x82, 0x89, 0xb4, 0x32, 0x1a, 0x37, 0xf7, 0x57, 0x47, 0x16, 0xfc, 0xcc, 0xa2, 0x2b, 0x6a, 0x96, 0x27, 0x97, 0xc6, 0x63, 0x03, 0xc0, 0x0a, 0xad, 0x80, 0x1b, 0xf0, 0xca, 0xcf, 0xfd, 0x32, 0x0a, 0x1d, 0xbe, 0xc9, 0xc1, 0x3a, 0x78, 0xa0, 0x63, 0x0c, 0xe9, 0x97, 0x4e, 0xd1, 0x95, 0xc8, 0x78, 0x22, 0x82, 0x01, 0x7e, 0xd3, 0x93, 0x09, 0xe0, 0x0d, 0x7a, 0x4f, 0x29, 0xc7, 0xde, 0xcc, 0x93, 0xe8, 0x00, 0x17, 0xee, 0x59, 0x56, 0x99, 0x01, 0xbe, 0xd0, 0x00, 0x5f, 0x10, 0xd9, 0xaf, 0x65, 0x1e, 0xb3, 0x1a, 0x3e, 0x20, 0x9d, 0xfe, 0x24, 0x6b, 0x7d, 0xb8, 0x0a, 0x2c, 0xe6, 0x16, 0xbc, 0x26, 0xef, 0xef, 0xc3, 0x08, 0x64, 0xca, 0x80, 0x5e, 0x6f, 0xd0, 0x59, 0x98, 0x16, 0x74, 0xcc, 0x43, 0xf4, 0x05, 0x75, 0xed, 0x0d, 0xfe, 0x90, 0xe1, 0x5a, 0x30, 0xc2, 0x00, 0x08, 0x8c, 0x62, 0x58, 0x80, 0xf2, 0x9b, 0x56, 0x70, 0x28, 0xc0, 0xbc, 0x9c, 0x46, 0x68, 0x40, 0xb4, 0xad, 0x1b, 0x35, 0xb0, 0xc6, 0xc1, 0x00, 0xdf, 0x20, 0x40, 0x94, 0x7a, 0xe3, 0x0c, 0x39, 0xc4, 0x9d, 0xcd, 0x1c, 0xf4, 0x29, 0x1f, 0x01, 0xf7, 0x5b, 0x83, 0x8b, 0x1e, 0x88, 0xab, 0xe6, 0x9c, 0xc2, 0xba, 0x90, 0x15, 0xa4, 0x92, 0x96, 0xbe, 0xfd, 0x8a, 0x25, 0x21, 0x30, 0xcb, 0xfe, 0x3e, 0x53, 0x96, 0xae, 0xce, 0xcd, 0x46, 0xa0, 0x6e, 0x55, 0xff, 0x21, 0xff, 0xe5, 0x38, 0x3a, 0xfe, 0xe4, 0xc2, 0x19, 0xf3, 0x77, 0xef, 0xaf, 0xaf, 0x45, 0xf6, 0x79, 0x67, 0xda, 0x48, 0xc0, 0x63, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_key32[1075] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x08, 0x02, 0x00, 0x00, 0x00, 0xfc, 0x18, 0xed, 0xa3, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xdd, 0x04, 0x0d, 0x14, 0x0f, 0x11, 0x93, 0x99, 0xec, 0xdd, 0x00, 0x00, 0x03, 0xd2, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x96, 0xcb, 0x6f, 0x1b, 0x55, 0x14, 0x87, 0xcf, 0x9d, 0xb9, 0x63, 0x8f, 0x9d, 0x4e, 0x3c, 0x56, 0xac, 0x84, 0xd8, 0xb1, 0x63, 0xbb, 0x25, 0x4d, 0x10, 0x2f, 0x89, 0xa4, 0xb4, 0x05, 0x5a, 0x01, 0xa5, 0x08, 0xb5, 0x42, 0x10, 0x01, 0x5d, 0x21, 0xa1, 0x02, 0x52, 0x25, 0x96, 0xa0, 0x42, 0xf9, 0x03, 0x58, 0x50, 0x55, 0x14, 0x24, 0x56, 0xa8, 0x80, 0x84, 0x10, 0x82, 0x2e, 0x10, 0x0b, 0x48, 0x83, 0x54, 0x21, 0x85, 0x3c, 0x8a, 0x5b, 0x41, 0x12, 0xa7, 0x75, 0xdd, 0xd6, 0x6e, 0x12, 0xe3, 0xd4, 0xa9, 0xe2, 0x47, 0x3c, 0xb6, 0xc7, 0xe3, 0x99, 0xb9, 0x87, 0xc5, 0x54, 0x4e, 0xf3, 0x20, 0x69, 0x71, 0xbb, 0x40, 0xea, 0x59, 0xdd, 0xc7, 0x39, 0xf3, 0xcd, 0x3d, 0xe7, 0x37, 0xe7, 0x0e, 0xc0, 0xff, 0xdd, 0x48, 0x23, 0xc1, 0x3c, 0xcf, 0x77, 0xf7, 0xf4, 0xf8, 0xfd, 0x01, 0x86, 0xb8, 0x62, 0x8b, 0xe3, 0xb8, 0xab, 0xc9, 0xc4, 0xa5, 0x78, 0xbc, 0x21, 0x80, 0xaf, 0xa3, 0xe3, 0xdb, 0xef, 0x4f, 0x86, 0x42, 0x61, 0xc6, 0xd8, 0x8a, 0x2d, 0x4a, 0xf9, 0xe8, 0xc4, 0xe4, 0xcb, 0x2f, 0xee, 0xa3, 0x8d, 0x00, 0x04, 0x2a, 0x74, 0x76, 0x06, 0x79, 0x9e, 0xc7, 0xd5, 0x27, 0xe0, 0x69, 0x20, 0x18, 0xe4, 0x38, 0x8e, 0x6f, 0x04, 0xa0, 0x28, 0xca, 0xf5, 0xeb, 0xf3, 0x4f, 0x3e, 0xb5, 0x8b, 0x52, 0x8a, 0x88, 0x84, 0x10, 0x00, 0x40, 0x44, 0x41, 0x10, 0xf2, 0xd9, 0xec, 0x91, 0xc3, 0xef, 0xc6, 0x2e, 0x5c, 0x68, 0x08, 0x80, 0x88, 0x53, 0xd1, 0x49, 0x9e, 0xf2, 0xbd, 0x7d, 0xdb, 0x38, 0x8e, 0xab, 0x17, 0x26, 0x35, 0x3b, 0xfb, 0xce, 0xa1, 0xb7, 0x7f, 0x3b, 0x7d, 0xfa, 0xce, 0xe8, 0x44, 0x92, 0x9a, 0x4f, 0xfe, 0xf8, 0xd3, 0xcc, 0xdc, 0xfc, 0x74, 0x3a, 0x33, 0x9d, 0xce, 0xc4, 0x93, 0x33, 0x6f, 0x1c, 0x7c, 0x73, 0x29, 0x57, 0x8d, 0x03, 0x14, 0xa5, 0x38, 0x3a, 0x32, 0x5c, 0xd3, 0x34, 0x00, 0x20, 0x84, 0x24, 0x13, 0x57, 0x06, 0x7e, 0xf9, 0xf9, 0x4e, 0x02, 0x00, 0xe0, 0x5c, 0x24, 0x52, 0x51, 0x55, 0x00, 0x40, 0xc6, 0x52, 0xa9, 0xd4, 0x7c, 0x26, 0xb3, 0x24, 0xa7, 0xae, 0xad, 0x5b, 0x57, 0x66, 0x96, 0xe1, 0xe5, 0xcb, 0x97, 0x6e, 0x0b, 0x90, 0xc9, 0x5c, 0x33, 0x74, 0x1d, 0x00, 0x4c, 0x66, 0x5e, 0x9b, 0x9b, 0x5b, 0xa6, 0xd7, 0x6f, 0xbe, 0xfb, 0xa1, 0xfe, 0xbd, 0x21, 0x00, 0x21, 0xb0, 0x98, 0x2f, 0x3c, 0xf7, 0xcc, 0xee, 0x75, 0x1e, 0xb7, 0x67, 0xef, 0xf3, 0x5e, 0x9f, 0x17, 0x19, 0xfe, 0x3a, 0x78, 0xca, 0x7a, 0x59, 0xd3, 0x30, 0x2d, 0x9d, 0x32, 0x86, 0xc5, 0xc5, 0xc5, 0x65, 0x80, 0xb6, 0xb6, 0x36, 0x2b, 0x77, 0x88, 0x16, 0x02, 0x5c, 0x2e, 0x59, 0x92, 0x24, 0x45, 0x51, 0xfe, 0x0d, 0xf0, 0xea, 0x81, 0x03, 0xcf, 0xee, 0xd9, 0x6b, 0x9a, 0xe6, 0xf8, 0x5f, 0x7f, 0x5a, 0x00, 0xa7, 0xd3, 0x69, 0xa9, 0x88, 0x00, 0xd8, 0x6c, 0xc2, 0xb2, 0x56, 0x31, 0x9d, 0xce, 0x2c, 0x2c, 0x2c, 0x7c, 0xfe, 0xd9, 0xf1, 0xae, 0xae, 0xae, 0xfe, 0x57, 0x5e, 0xb3, 0x8b, 0x22, 0x22, 0x0e, 0x9e, 0x1a, 0x30, 0x0d, 0x03, 0x2c, 0x61, 0x03, 0x12, 0x20, 0x00, 0x04, 0x38, 0x02, 0x00, 0xa6, 0xa1, 0x3f, 0xd6, 0xdb, 0x77, 0x5f, 0xbb, 0x17, 0x11, 0x87, 0x7f, 0x1f, 0x2a, 0x97, 0x14, 0x00, 0x68, 0x6e, 0x76, 0xf5, 0x3d, 0xbe, 0xdd, 0x66, 0xb3, 0x31, 0xc6, 0x62, 0xb1, 0xf3, 0x63, 0x23, 0x23, 0xa2, 0x28, 0xce, 0x4e, 0xcf, 0x7c, 0x79, 0xe2, 0x0b, 0x8a, 0x00, 0x25, 0x45, 0xf9, 0x3b, 0x95, 0x92, 0x24, 0x49, 0x55, 0x55, 0xbb, 0x28, 0x02, 0xc0, 0x8e, 0x9d, 0x4f, 0x68, 0xd5, 0x2a, 0x10, 0xc2, 0x11, 0x22, 0x3a, 0x44, 0x4a, 0x69, 0xad, 0xa6, 0x57, 0x55, 0x15, 0x08, 0x41, 0x64, 0xb2, 0x4b, 0xb6, 0x0e, 0xdd, 0xdb, 0xb7, 0x0d, 0x19, 0x03, 0x42, 0x90, 0xb1, 0x72, 0xb9, 0x54, 0x2e, 0x01, 0x00, 0xf8, 0xfd, 0x9d, 0xe1, 0xd7, 0x37, 0x0b, 0x82, 0x6d, 0x6c, 0x74, 0xe4, 0xeb, 0xaf, 0x4e, 0x50, 0x02, 0xd0, 0xe1, 0xf7, 0xbf, 0xf7, 0xfe, 0x07, 0x9b, 0x36, 0x49, 0xb2, 0xdb, 0x6d, 0x9d, 0xeb, 0xd3, 0x4f, 0x8e, 0x8d, 0x0c, 0x0d, 0x51, 0x41, 0x00, 0x80, 0x97, 0xfa, 0xfb, 0x65, 0x59, 0x9e, 0x18, 0x1f, 0x3f, 0x77, 0x36, 0x42, 0x29, 0x2d, 0x97, 0xca, 0x1f, 0x7d, 0x7c, 0x74, 0xfb, 0x8e, 0x9d, 0x8c, 0xb1, 0xe3, 0xc7, 0x8e, 0x5e, 0x4d, 0x26, 0x79, 0x9e, 0x5a, 0xb9, 0x5d, 0x92, 0x09, 0x01, 0x8e, 0x70, 0xf9, 0x5c, 0xce, 0x30, 0x0c, 0x8a, 0x88, 0x94, 0xd2, 0x07, 0x1e, 0x7c, 0x08, 0x19, 0x63, 0x8c, 0x59, 0x5d, 0xa5, 0x5c, 0x2a, 0xc5, 0xe3, 0x17, 0x2d, 0xef, 0x87, 0x1f, 0x79, 0x34, 0xbc, 0x39, 0x9c, 0xcd, 0x66, 0x2f, 0xc6, 0x62, 0xd6, 0x4a, 0xa5, 0x5c, 0x11, 0x04, 0xc1, 0x30, 0x8c, 0xd1, 0xe1, 0xe1, 0xa9, 0xa9, 0xe8, 0xfa, 0x02, 0xa3, 0x56, 0x9e, 0x4d, 0xc3, 0xb8, 0x51, 0x13, 0x42, 0x10, 0xd1, 0xe7, 0xf5, 0xd5, 0x3d, 0xd2, 0xe9, 0x94, 0xd7, 0xe7, 0x6d, 0x6d, 0x6d, 0xad, 0xaf, 0x24, 0x93, 0x57, 0x22, 0x67, 0xc6, 0x4c, 0xd3, 0xd4, 0x6a, 0xda, 0x86, 0x0a, 0x5e, 0xbb, 0x9b, 0x4a, 0x2e, 0x57, 0x7d, 0xbc, 0x65, 0xcb, 0xfd, 0x55, 0x55, 0x4d, 0x26, 0x12, 0xd6, 0xb4, 0xa5, 0xc5, 0x33, 0x39, 0x31, 0x9e, 0x4c, 0x24, 0x10, 0x51, 0x96, 0xdd, 0xff, 0x11, 0xd0, 0xde, 0xde, 0x5e, 0x1f, 0xe7, 0x72, 0x39, 0x97, 0xcb, 0xa5, 0x56, 0x2a, 0xd6, 0x34, 0x10, 0xec, 0xdc, 0xb5, 0xfb, 0xe9, 0x42, 0x3e, 0xc7, 0x10, 0xbb, 0x7b, 0xba, 0xcf, 0x46, 0xfe, 0xd8, 0x00, 0x50, 0x5a, 0x4b, 0xef, 0x2d, 0x2d, 0x1e, 0xbf, 0x3f, 0xd0, 0xd4, 0xd4, 0x64, 0x98, 0x86, 0xc7, 0xe3, 0x09, 0x86, 0xc2, 0x1c, 0xc7, 0xe5, 0x0b, 0x05, 0x42, 0x88, 0xdf, 0x1f, 0xb0, 0xa4, 0x59, 0xc8, 0xe5, 0x02, 0xc1, 0x50, 0x30, 0x18, 0x12, 0x45, 0xc7, 0x1a, 0x8d, 0x16, 0xd0, 0xe9, 0x74, 0x46, 0xa3, 0x93, 0xe4, 0xe6, 0xce, 0x77, 0xd3, 0x5d, 0x48, 0x25, 0x49, 0xb2, 0x0a, 0xae, 0xeb, 0x35, 0xd3, 0x64, 0x3c, 0xcf, 0x0b, 0x36, 0x01, 0x10, 0x0c, 0xd3, 0x30, 0x74, 0x83, 0x10, 0x20, 0x84, 0x33, 0x99, 0xe9, 0x74, 0x38, 0x57, 0xdf, 0x36, 0x00, 0xa0, 0xeb, 0xfa, 0x0b, 0xfb, 0xf6, 0x1f, 0x7a, 0xeb, 0x20, 0x1d, 0x1c, 0x18, 0xb8, 0x1b, 0x77, 0x7d, 0xb5, 0x5a, 0x95, 0xdd, 0x6e, 0x83, 0x99, 0xd4, 0x6e, 0xb7, 0xdf, 0x0d, 0x00, 0x22, 0x52, 0xca, 0x13, 0x00, 0xaa, 0x69, 0xda, 0xed, 0x46, 0xde, 0xe8, 0x20, 0xeb, 0x9a, 0xa6, 0x69, 0x8c, 0x21, 0x00, 0xd0, 0xc3, 0x47, 0x3e, 0xd4, 0x75, 0xfd, 0x56, 0x62, 0x10, 0x51, 0x14, 0x45, 0x87, 0xc3, 0x51, 0x2c, 0x16, 0x57, 0xff, 0x46, 0xac, 0x76, 0x96, 0xdd, 0x6e, 0xdc, 0xc8, 0xed, 0x9e, 0xdd, 0xb3, 0x5b, 0xb1, 0x7f, 0x00, 0xbf, 0x60, 0xbd, 0x9f, 0x08, 0x23, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_mast[334] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x18, 0x08, 0x06, 0x00, 0x00, 0x00, 0x2c, 0xee, 0x07, 0x13, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xdb, 0x0a, 0x15, 0x0e, 0x0b, 0x0d, 0x0e, 0x81, 0x71, 0x3c, 0x00, 0x00, 0x00, 0xce, 0x49, 0x44, 0x41, 0x54, 0x38, 0xcb, 0xad, 0x93, 0xbd, 0x0e, 0x83, 0x30, 0x0c, 0x84, 0xef, 0xa2, 0x0e, 0x28, 0x19, 0x78, 0x4d, 0x1e, 0x98, 0xc7, 0x80, 0x81, 0x22, 0x65, 0x01, 0xe4, 0x0e, 0x69, 0x82, 0xf3, 0x03, 0x2a, 0x52, 0xbd, 0x10, 0xcc, 0x17, 0x9f, 0x7d, 0x32, 0x44, 0x08, 0xc1, 0x19, 0x54, 0xe7, 0x2c, 0x6f, 0x62, 0x42, 0x44, 0x34, 0x20, 0xad, 0x3c, 0xc3, 0xbb, 0x80, 0x0c, 0x05, 0xd5, 0xc7, 0x2c, 0x47, 0x12, 0x06, 0x0f, 0xe2, 0x39, 0x4c, 0x32, 0xc9, 0x47, 0xe9, 0xb2, 0x05, 0x3d, 0xb9, 0x9e, 0x3a, 0x03, 0x2e, 0x5c, 0xd2, 0xac, 0x24, 0x37, 0xe6, 0x79, 0xbe, 0xf7, 0xb4, 0x51, 0x99, 0x15, 0xbc, 0x58, 0x5b, 0xc9, 0xf4, 0xde, 0x27, 0xce, 0x00, 0xc0, 0x38, 0x8e, 0x15, 0xf0, 0x85, 0x00, 0x00, 0xc3, 0x30, 0xd4, 0xbd, 0x2e, 0xd6, 0x4a, 0xeb, 0x79, 0xeb, 0x73, 0xef, 0x3d, 0x5a, 0x2d, 0xb1, 0x70, 0xa1, 0x06, 0xc8, 0xbc, 0xe7, 0x16, 0xd0, 0xf0, 0x39, 0xc0, 0xeb, 0xba, 0x66, 0x60, 0xa9, 0x30, 0x4d, 0xd3, 0x09, 0xef, 0xfb, 0x5e, 0x55, 0xd6, 0x17, 0xba, 0xae, 0x03, 0x00, 0xbc, 0x00, 0x60, 0xdb, 0x36, 0x00, 0xc0, 0xdb, 0xb9, 0x34, 0xd8, 0xdb, 0xb9, 0x04, 0x1f, 0xc7, 0x91, 0xef, 0x42, 0xb4, 0x4a, 0xd9, 0x95, 0xce, 0x51, 0xc5, 0xfc, 0x6a, 0x5b, 0xb6, 0xa2, 0x77, 0x17, 0xca, 0x15, 0xfd, 0xbf, 0xcf, 0x57, 0xbf, 0x7d, 0x93, 0xfb, 0x00, 0x37, 0x82, 0x7d, 0x4c, 0xa0, 0x9d, 0x03, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_norec[3817] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x08, 0x06, 0x00, 0x00, 0x00, 0x57, 0x02, 0xf9, 0x87, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd7, 0x02, 0x18, 0x0e, 0x17, 0x04, 0x24, 0xf2, 0xc7, 0xa2, 0x00, 0x00, 0x0e, 0x76, 0x49, 0x44, 0x41, 0x54, 0x68, 0xde, 0xd5, 0x9a, 0x4b, 0x8c, 0x5c, 0x55, 0x7a, 0xc7, 0x7f, 0xe7, 0xdc, 0x57, 0x75, 0xdd, 0x7a, 0xf6, 0xfb, 0xe1, 0x07, 0xc6, 0x80, 0x6d, 0x0c, 0xc3, 0x63, 0x12, 0x45, 0x19, 0x25, 0x99, 0x15, 0x11, 0xbb, 0x48, 0xc9, 0x02, 0x6f, 0x22, 0x36, 0x11, 0x9a, 0x0d, 0x61, 0xc5, 0x62, 0xb2, 0x88, 0x98, 0x04, 0x85, 0x2c, 0x3c, 0x0a, 0x0a, 0xd2, 0x0c, 0x22, 0x43, 0xc4, 0x26, 0x12, 0x0c, 0x68, 0x50, 0xb2, 0x08, 0x56, 0x90, 0x8d, 0x64, 0x61, 0x0d, 0x83, 0x14, 0x32, 0xb4, 0x65, 0xc0, 0x40, 0x03, 0xed, 0xee, 0xea, 0xae, 0x7e, 0x54, 0x77, 0x55, 0x57, 0x57, 0xd5, 0xad, 0x7b, 0xef, 0x39, 0x27, 0x8b, 0x7b, 0xaa, 0x5d, 0xd8, 0xed, 0x07, 0x93, 0x64, 0x14, 0xae, 0x74, 0x55, 0x55, 0xf7, 0x71, 0xce, 0xff, 0xff, 0x7d, 0xdf, 0xf9, 0xbe, 0xef, 0x7c, 0x5f, 0xc1, 0xb7, 0xfc, 0x10, 0xfb, 0x5d, 0x34, 0xd9, 0xf5, 0xe1, 0x7b, 0x46, 0x80, 0xf9, 0x56, 0x10, 0x30, 0x20, 0x81, 0x00, 0x70, 0xed, 0x7d, 0x03, 0xa4, 0x40, 0x5f, 0x80, 0xfe, 0x6d, 0x01, 0xb3, 0x38, 0xe4, 0x10, 0x46, 0x03, 0xe8, 0x6b, 0x31, 0x88, 0x7d, 0x5e, 0x0a, 0xed, 0x59, 0x00, 0x7c, 0x0b, 0x7e, 0x17, 0xe8, 0x00, 0xbb, 0x02, 0xd4, 0x6f, 0x09, 0x7c, 0x30, 0x24, 0x48, 0x06, 0x42, 0xbc, 0x56, 0x90, 0xe2, 0x1a, 0xb3, 0x09, 0x81, 0x2a, 0x30, 0x0b, 0xcc, 0xd9, 0xef, 0x3d, 0xa0, 0x0e, 0xac, 0x02, 0x9b, 0xc0, 0xd6, 0xff, 0x25, 0x09, 0x03, 0x9e, 0x15, 0x5e, 0x19, 0xa8, 0x00, 0x23, 0x64, 0xf3, 0xb5, 0x81, 0x26, 0xb0, 0x03, 0xf4, 0x06, 0x24, 0xdc, 0xa1, 0x77, 0x7d, 0xfb, 0xf0, 0x24, 0x70, 0x1f, 0xf0, 0x5d, 0x60, 0xca, 0xbe, 0xf8, 0x39, 0x70, 0xc9, 0x7e, 0x0a, 0x03, 0x8d, 0x6f, 0x48, 0xc2, 0xdc, 0x68, 0xbd, 0x5d, 0xf3, 0x90, 0x6f, 0x81, 0x4f, 0x02, 0x87, 0x80, 0x03, 0xc0, 0x28, 0x90, 0x00, 0x35, 0x60, 0xc1, 0x3e, 0xaa, 0x8d, 0xd5, 0xc4, 0x30, 0x01, 0x09, 0xe4, 0x80, 0x09, 0xe0, 0x24, 0xf0, 0xfb, 0x76, 0x80, 0xa6, 0x1d, 0x70, 0x60, 0x52, 0x8e, 0x1d, 0x60, 0xfb, 0x36, 0x49, 0x98, 0x33, 0x67, 0xce, 0xf0, 0xe8, 0xa3, 0x8f, 0x9a, 0x5b, 0x38, 0x8e, 0xc0, 0x82, 0x3d, 0x00, 0xdc, 0x05, 0x9c, 0x00, 0xee, 0xb1, 0x42, 0x8c, 0x81, 0x8f, 0xed, 0xa3, 0x1d, 0x6b, 0x15, 0x09, 0xd7, 0x10, 0x10, 0x96, 0x44, 0x1e, 0x28, 0xda, 0xc1, 0x2a, 0x64, 0x2a, 0x15, 0x43, 0xf6, 0x68, 0xec, 0xcb, 0xdc, 0x06, 0x09, 0x73, 0xf6, 0xec, 0x59, 0xb4, 0xd6, 0x9c, 0x39, 0x73, 0x86, 0x97, 0x5f, 0x7e, 0x99, 0xd7, 0x5f, 0x7f, 0xdd, 0xec, 0x63, 0xbe, 0x81, 0x95, 0xfc, 0x9c, 0x15, 0xde, 0x43, 0xc0, 0xbd, 0x56, 0x0b, 0xe3, 0x76, 0x3e, 0x03, 0x2c, 0x02, 0x5f, 0x02, 0x1b, 0x83, 0xf7, 0xdd, 0x6b, 0xd4, 0x9c, 0x00, 0x5d, 0x2b, 0xf5, 0x0d, 0x4b, 0x26, 0x00, 0x66, 0xac, 0x76, 0x20, 0xb3, 0x3d, 0x6d, 0x07, 0xd0, 0x06, 0x5a, 0x37, 0x20, 0x61, 0x2e, 0x5c, 0xb8, 0x80, 0x52, 0x8a, 0x24, 0x49, 0x78, 0xe9, 0xa5, 0x97, 0x90, 0x52, 0xf2, 0xd8, 0x63, 0x8f, 0x01, 0xf0, 0xda, 0x6b, 0xaf, 0x19, 0x3b, 0x69, 0xce, 0x82, 0x9c, 0xb3, 0xa0, 0x7f, 0x07, 0x78, 0x10, 0xb8, 0xc3, 0xae, 0xc9, 0x81, 0xd0, 0xbc, 0x21, 0xcf, 0xb8, 0x77, 0x0c, 0x13, 0x50, 0x56, 0x35, 0x1b, 0xd6, 0xd6, 0x66, 0xac, 0xc9, 0x1c, 0xb2, 0x03, 0x95, 0xed, 0xa0, 0xca, 0xaa, 0x54, 0x5b, 0xcf, 0x20, 0x0c, 0x34, 0xaf, 0x21, 0x61, 0x3e, 0xf8, 0xe0, 0x03, 0x94, 0x52, 0xc4, 0x71, 0xcc, 0x0b, 0x2f, 0xbc, 0x40, 0xb1, 0x58, 0x44, 0xa9, 0xec, 0x91, 0x34, 0x4d, 0x39, 0x75, 0xea, 0x14, 0x6e, 0x9a, 0x32, 0xf3, 0xc6, 0x1b, 0xd1, 0x21, 0xe0, 0x57, 0xf0, 0x17, 0x76, 0xdd, 0xdd, 0x67, 0xe7, 0x1c, 0xb5, 0x60, 0x77, 0x81, 0x35, 0x60, 0x05, 0x68, 0x58, 0x01, 0xa7, 0x96, 0xd4, 0x55, 0x02, 0x02, 0x62, 0xeb, 0xbe, 0x36, 0x80, 0xcb, 0x40, 0xc9, 0x6a, 0x20, 0x37, 0x44, 0x76, 0xd2, 0x0e, 0x9a, 0x0c, 0xc5, 0x08, 0x09, 0x98, 0x21, 0x4d, 0x98, 0x4b, 0x97, 0x2e, 0xa1, 0x75, 0xe6, 0xe9, 0x9e, 0x7f, 0xfe, 0x79, 0xa6, 0xa6, 0xa6, 0x68, 0x34, 0x1a, 0x7c, 0xf5, 0xd5, 0x57, 0xac, 0xae, 0xae, 0xd2, 0x68, 0x34, 0x70, 0x92, 0x84, 0x72, 0x92, 0x70, 0x54, 0x08, 0xfe, 0x68, 0x74, 0x94, 0x97, 0x1a, 0x8d, 0x9f, 0xdd, 0x9f, 0x2d, 0xbc, 0x15, 0x2b, 0x30, 0x65, 0xe7, 0x59, 0xb7, 0x78, 0x2e, 0x59, 0x13, 0x6a, 0x59, 0x77, 0x7a, 0x9d, 0x17, 0x42, 0x40, 0x64, 0x32, 0xf3, 0xb9, 0x62, 0x3d, 0x52, 0x6e, 0x68, 0x0d, 0x4c, 0x5b, 0x73, 0xaa, 0xd8, 0x45, 0x26, 0x87, 0x08, 0x00, 0x38, 0x2e, 0xac, 0x7f, 0x78, 0xe9, 0x12, 0xae, 0xeb, 0x92, 0xa6, 0x29, 0xcf, 0x3d, 0xf7, 0x1c, 0x47, 0x8e, 0x1c, 0xe1, 0xe2, 0xc5, 0x8b, 0xd4, 0x6a, 0x35, 0xba, 0xdd, 0x2e, 0x46, 0x6b, 0xaa, 0x41, 0xc0, 0x88, 0xd6, 0xcc, 0x6a, 0xcd, 0x09, 0xad, 0xb9, 0xbb, 0xd1, 0xe0, 0x3e, 0x29, 0x39, 0xec, 0x38, 0x44, 0x49, 0x32, 0x4b, 0x36, 0xf1, 0xda, 0x10, 0xf8, 0x0f, 0x81, 0x8b, 0xc0, 0xd2, 0x80, 0xc0, 0x7e, 0x6e, 0x74, 0x40, 0x62, 0xc7, 0x6a, 0x62, 0xc1, 0x7a, 0x9c, 0x81, 0xed, 0x49, 0x1b, 0x17, 0x3c, 0x6b, 0x5e, 0xde, 0x90, 0xf7, 0x92, 0x0f, 0xc0, 0xcf, 0xff, 0xf3, 0xdc, 0x39, 0x74, 0x92, 0x90, 0x02, 0xcf, 0x3c, 0xf3, 0x0c, 0xc7, 0x8f, 0x1f, 0x67, 0x7e, 0x7e, 0x9e, 0x24, 0x49, 0x28, 0x16, 0x8b, 0x04, 0xbe, 0x4f, 0xba, 0xb3, 0x43, 0x5e, 0x6b, 0xc6, 0x92, 0x84, 0xbb, 0xd2, 0x94, 0xef, 0x08, 0xc1, 0x7d, 0xc6, 0x70, 0x87, 0x31, 0x04, 0x69, 0x4a, 0x2e, 0x0c, 0xe9, 0x69, 0xcd, 0xc5, 0x5e, 0x6f, 0xea, 0x23, 0x98, 0x7a, 0x0c, 0xfe, 0x05, 0x98, 0xb7, 0x8b, 0x77, 0x1d, 0xe8, 0x0c, 0x07, 0x32, 0xf7, 0x06, 0xde, 0xa3, 0x35, 0xe4, 0x29, 0x9c, 0x41, 0x18, 0xb7, 0x92, 0x1f, 0x2c, 0xe8, 0x2a, 0x70, 0x37, 0xe0, 0x9d, 0x86, 0x1f, 0xbe, 0xfe, 0xa3, 0x1f, 0x91, 0xac, 0xad, 0xa1, 0x8d, 0xe1, 0x6f, 0x7e, 0xf2, 0x13, 0xfe, 0xf0, 0xfb, 0xdf, 0xe7, 0xf2, 0xe5, 0xcb, 0x8c, 0x8f, 0x8f, 0x53, 0x2a, 0x95, 0xe8, 0x76, 0x3a, 0x74, 0x37, 0x37, 0xf1, 0xe3, 0x98, 0xb1, 0x24, 0xe1, 0x9e, 0x7c, 0x9e, 0xbb, 0x95, 0xe2, 0x8e, 0x34, 0x65, 0x06, 0x28, 0x1a, 0x83, 0xef, 0xfb, 0x59, 0xb8, 0x2f, 0x97, 0x11, 0x77, 0xde, 0x49, 0x79, 0x6a, 0x8a, 0x3f, 0x3e, 0x77, 0xee, 0xef, 0xbf, 0x04, 0x3e, 0xcb, 0x34, 0x7f, 0x5d, 0x26, 0x20, 0x6e, 0x11, 0xce, 0xab, 0xd6, 0x0f, 0x1f, 0x03, 0x1e, 0xb6, 0x1e, 0xe2, 0xd8, 0x90, 0x26, 0x58, 0x82, 0x30, 0x7c, 0xf0, 0x41, 0xba, 0xc7, 0x8e, 0xd1, 0x39, 0x79, 0x92, 0x7f, 0x7a, 0xf7, 0x5d, 0xee, 0x7d, 0xe4, 0x11, 0x9a, 0x5a, 0xd3, 0x68, 0xb5, 0x70, 0x1c, 0x87, 0xb8, 0xdf, 0xa7, 0xb3, 0xb9, 0x89, 0xaa, 0xd5, 0x38, 0x02, 0x9c, 0x48, 0x12, 0x0e, 0xd4, 0xeb, 0x8c, 0xd5, 0xeb, 0x94, 0xda, 0x6d, 0x9c, 0x34, 0xa5, 0x50, 0x28, 0xd0, 0xd3, 0x9a, 0x9d, 0x52, 0x89, 0x8d, 0xc9, 0x49, 0x96, 0x26, 0x27, 0x59, 0x19, 0x1b, 0x63, 0xa3, 0x50, 0x60, 0xdb, 0xf3, 0x38, 0xfd, 0xd3, 0x9f, 0x0e, 0xc4, 0x2e, 0x6e, 0x8b, 0x80, 0x25, 0xe1, 0x0c, 0x45, 0xc6, 0x13, 0xd6, 0x4b, 0x7c, 0xd7, 0x4a, 0x7e, 0x3a, 0x85, 0x90, 0x5c, 0x8e, 0xb4, 0x54, 0xa2, 0x3b, 0x37, 0xc7, 0xf9, 0x5e, 0x8f, 0xe0, 0x7b, 0xdf, 0xa3, 0x7f, 0xe7, 0x9d, 0x7c, 0x15, 0x45, 0x50, 0x2e, 0xe3, 0x04, 0x01, 0xa6, 0xdb, 0x25, 0x5a, 0x5a, 0xe2, 0x28, 0x70, 0x60, 0x6d, 0x8d, 0xea, 0xc2, 0x02, 0xe5, 0xd5, 0x55, 0x0a, 0xed, 0x36, 0x41, 0xaf, 0x87, 0xeb, 0xba, 0x74, 0x82, 0x80, 0x76, 0xb9, 0xcc, 0xc6, 0xc4, 0x04, 0x2b, 0x33, 0x33, 0x19, 0xf8, 0x30, 0xa4, 0xe5, 0xfb, 0x74, 0x8c, 0x21, 0x4e, 0x53, 0x92, 0x24, 0x61, 0x7e, 0x7e, 0x9e, 0xf7, 0xdf, 0x7f, 0x9f, 0xfd, 0xe2, 0xc0, 0x7e, 0xa9, 0xaa, 0x32, 0x99, 0x39, 0x0d, 0x82, 0xdc, 0xe0, 0xf4, 0x96, 0xe0, 0xe8, 0x4c, 0x2e, 0x87, 0x48, 0x53, 0xdc, 0x56, 0x8b, 0xb8, 0xd3, 0xe1, 0x81, 0x83, 0x07, 0xd9, 0x5e, 0x59, 0xa1, 0x53, 0x2c, 0xd2, 0x74, 0x5d, 0xe4, 0xd8, 0x18, 0x32, 0x08, 0x48, 0x9b, 0x4d, 0x26, 0x8d, 0xe1, 0x8e, 0x4e, 0x87, 0xe2, 0xe2, 0x22, 0xd5, 0x95, 0x15, 0xc2, 0x66, 0x13, 0x57, 0x29, 0xdc, 0x7c, 0x9e, 0x9e, 0x31, 0xec, 0x96, 0xcb, 0x6c, 0xcc, 0xcc, 0xb0, 0x32, 0x3d, 0xcd, 0xea, 0xf8, 0x38, 0x8d, 0x30, 0xa4, 0xed, 0x79, 0xf4, 0x85, 0x40, 0x27, 0x09, 0x5a, 0xeb, 0x3d, 0xcf, 0x76, 0xa3, 0x38, 0x70, 0x33, 0x12, 0x4d, 0xae, 0xee, 0x07, 0xe4, 0x69, 0xf8, 0xe1, 0x9f, 0x9f, 0x3c, 0x49, 0xbc, 0xb6, 0x86, 0xdf, 0x6e, 0xa3, 0xd2, 0x94, 0x92, 0x94, 0x04, 0x9b, 0x9b, 0x38, 0x8e, 0x43, 0x2e, 0x9f, 0xa7, 0x59, 0x2c, 0xd2, 0x73, 0x5d, 0x70, 0x5d, 0xfc, 0x66, 0x93, 0x72, 0xad, 0x46, 0x75, 0x7b, 0x9b, 0x52, 0xbd, 0xce, 0xc8, 0xee, 0x2e, 0x5e, 0x92, 0xe0, 0xf9, 0x3e, 0x1d, 0xc7, 0x61, 0xb7, 0x52, 0x61, 0x63, 0x6a, 0x8a, 0x95, 0xd9, 0x59, 0xd6, 0x26, 0x27, 0xd9, 0x0a, 0x43, 0x76, 0x5d, 0x97, 0x18, 0x50, 0x49, 0x82, 0x31, 0x86, 0x24, 0x49, 0x78, 0xef, 0xbd, 0xf7, 0x08, 0xc3, 0xf0, 0x9b, 0x11, 0xb8, 0x46, 0x13, 0xce, 0x03, 0xf0, 0xf3, 0x7f, 0xfc, 0xc1, 0x0f, 0xd8, 0xba, 0x72, 0x25, 0x63, 0xd4, 0xeb, 0x51, 0x14, 0x02, 0x2f, 0x49, 0x70, 0x76, 0x76, 0x10, 0x52, 0x22, 0x3d, 0x8f, 0xf1, 0x62, 0x91, 0x4e, 0xa7, 0x43, 0x5f, 0x4a, 0xbc, 0x66, 0x93, 0xf2, 0xea, 0x2a, 0xe1, 0xce, 0x0e, 0x85, 0x66, 0x13, 0x37, 0x8e, 0x33, 0xc9, 0x0b, 0xb1, 0x27, 0xf9, 0xd5, 0xb9, 0x39, 0xd6, 0xc6, 0xc6, 0xd8, 0x2e, 0x95, 0xd8, 0x75, 0xdd, 0xcc, 0xd1, 0xa7, 0x29, 0xc6, 0x18, 0xfa, 0xfd, 0xfe, 0x1e, 0xf8, 0x4e, 0xa7, 0xf3, 0xcd, 0x09, 0x0c, 0x48, 0xb8, 0xb0, 0xfe, 0xb3, 0x1f, 0xff, 0x98, 0xed, 0x4e, 0x07, 0x23, 0x04, 0x97, 0xbf, 0xf8, 0x82, 0xa3, 0xd5, 0x2a, 0xb2, 0xdd, 0xa6, 0xac, 0x35, 0xc2, 0x18, 0xfc, 0x4e, 0x87, 0x62, 0xad, 0xc6, 0x4c, 0x3e, 0x4f, 0x73, 0x7b, 0x1b, 0xe5, 0xba, 0xf8, 0xed, 0x36, 0xa5, 0x56, 0x0b, 0xbf, 0xdb, 0x45, 0xc4, 0x31, 0xae, 0x10, 0x44, 0xc0, 0x6e, 0xb5, 0x4a, 0x63, 0x76, 0x96, 0xfa, 0xc1, 0x83, 0xd4, 0xc7, 0xc7, 0xd9, 0x2e, 0x97, 0x69, 0x3b, 0x0e, 0x31, 0x60, 0xd2, 0x14, 0xa5, 0x14, 0x69, 0x9a, 0x72, 0xe1, 0xc2, 0x05, 0xaa, 0xd5, 0x2a, 0x8d, 0x46, 0x03, 0xcf, 0xf3, 0x7e, 0x33, 0x02, 0x80, 0xf9, 0x87, 0x17, 0x5e, 0xa0, 0x27, 0x04, 0xc2, 0x18, 0xde, 0x5d, 0x58, 0x60, 0xb6, 0x5a, 0x45, 0xba, 0x2e, 0x42, 0x08, 0x10, 0x82, 0x30, 0x8e, 0xf1, 0xe3, 0x18, 0x37, 0x49, 0x70, 0x92, 0x04, 0xbf, 0xd5, 0xc2, 0x08, 0x81, 0x9f, 0x24, 0x8c, 0xf4, 0xfb, 0x78, 0x4a, 0x11, 0x84, 0x21, 0x91, 0x31, 0x74, 0x4a, 0x25, 0x1a, 0x53, 0x53, 0xd4, 0x67, 0x67, 0x59, 0x1b, 0x1b, 0xa3, 0x59, 0x28, 0x64, 0x66, 0x23, 0x04, 0xca, 0xda, 0x7c, 0x9a, 0xa6, 0x9c, 0x3f, 0x7f, 0x9e, 0x4a, 0xa5, 0x42, 0xa7, 0xd3, 0x21, 0x08, 0x02, 0x76, 0x76, 0x76, 0x7e, 0x23, 0x02, 0xe6, 0xf4, 0xe9, 0xd3, 0xa4, 0x69, 0x0a, 0xae, 0xcb, 0xcb, 0xbf, 0xf8, 0x05, 0xd3, 0xf9, 0x3c, 0xfd, 0x5c, 0x0e, 0x84, 0x00, 0x29, 0x31, 0x42, 0x30, 0xdd, 0x6a, 0x65, 0xe0, 0xb5, 0xc6, 0xef, 0x76, 0x19, 0x03, 0xb4, 0xd5, 0x8c, 0xd4, 0x1a, 0xdf, 0x71, 0x88, 0xb4, 0xa6, 0x5d, 0xad, 0xb2, 0x35, 0x33, 0x43, 0xfd, 0xc0, 0x01, 0xd6, 0xa7, 0xa7, 0xd9, 0x2a, 0x95, 0xd8, 0xf5, 0x7d, 0xfa, 0xc6, 0xa0, 0x94, 0x42, 0x6b, 0x4d, 0x1c, 0xc7, 0x9c, 0x3f, 0x7f, 0x9e, 0x30, 0x0c, 0xe9, 0x76, 0xbb, 0x28, 0xa5, 0xe8, 0xf7, 0xfb, 0x18, 0x63, 0xbe, 0x31, 0x01, 0xf3, 0xec, 0xb3, 0xcf, 0x12, 0xc7, 0x31, 0xbe, 0xef, 0xf3, 0xc6, 0x1b, 0x6f, 0xe0, 0x07, 0x01, 0xdb, 0x4a, 0x81, 0x94, 0xc8, 0x5c, 0x96, 0x2a, 0xb9, 0x4a, 0x11, 0x24, 0x09, 0x9e, 0x52, 0xe4, 0xfb, 0x7d, 0x9c, 0x24, 0xc9, 0xfc, 0x9c, 0x9d, 0x50, 0xfa, 0x3e, 0xb1, 0x94, 0x44, 0x61, 0x48, 0x73, 0x62, 0x22, 0x93, 0xfc, 0xd4, 0x14, 0x8d, 0x42, 0x81, 0x6e, 0x10, 0xd0, 0x07, 0x8c, 0xf5, 0x34, 0x4a, 0x29, 0xde, 0x79, 0xe7, 0x1d, 0xf2, 0xf9, 0x3c, 0x51, 0x14, 0xed, 0x81, 0xef, 0xf7, 0xfb, 0xd7, 0x79, 0x22, 0xe7, 0x56, 0xe0, 0x9f, 0x7a, 0xea, 0x29, 0x82, 0x20, 0x40, 0x08, 0xc1, 0x8b, 0x2f, 0xbe, 0x48, 0xa9, 0x54, 0xb2, 0x65, 0x0a, 0x41, 0x27, 0x49, 0x58, 0xac, 0xd5, 0x58, 0x5f, 0x5d, 0xa5, 0xb7, 0xb9, 0x89, 0x17, 0x45, 0x14, 0xe2, 0x98, 0x50, 0x29, 0x5c, 0x63, 0xf6, 0x76, 0xe4, 0x52, 0x88, 0x2c, 0x85, 0x1d, 0x19, 0xa1, 0x35, 0x3a, 0xca, 0xfa, 0xec, 0x2c, 0xab, 0x53, 0x53, 0x6c, 0x54, 0xab, 0xec, 0x8e, 0x8c, 0x10, 0x49, 0xb9, 0x67, 0xef, 0x49, 0x92, 0xf0, 0xf6, 0xdb, 0x6f, 0x13, 0x86, 0xe1, 0x1e, 0xf8, 0x28, 0x8a, 0x48, 0x92, 0x84, 0x34, 0x4d, 0x59, 0x5e, 0x5e, 0xfe, 0x5a, 0xfc, 0xba, 0x99, 0x06, 0xcc, 0xd3, 0x4f, 0x3f, 0x8d, 0xe3, 0x38, 0xa4, 0x69, 0xca, 0x2b, 0xaf, 0xbc, 0xc2, 0xf4, 0xf4, 0x34, 0x5a, 0x6b, 0x8c, 0x31, 0xac, 0xaf, 0xaf, 0xf3, 0xe5, 0xc2, 0x02, 0x15, 0x21, 0xd0, 0x52, 0x72, 0x58, 0xca, 0xcc, 0xed, 0x69, 0x8d, 0x1e, 0x52, 0xb3, 0x10, 0x02, 0x63, 0x0c, 0x46, 0x08, 0x94, 0x94, 0xc4, 0x9e, 0x47, 0xd7, 0xf3, 0x88, 0x1c, 0x87, 0xbe, 0x94, 0x44, 0x36, 0xbd, 0x4e, 0xd3, 0x94, 0x7e, 0xbf, 0xcf, 0xd9, 0xb3, 0x67, 0x09, 0x82, 0x80, 0x38, 0x8e, 0x71, 0x1c, 0x87, 0x6e, 0xb7, 0x4b, 0x9a, 0xa6, 0x44, 0x51, 0x44, 0xbd, 0x5e, 0xe7, 0x66, 0xfb, 0x81, 0xaf, 0x81, 0x7f, 0xf2, 0xc9, 0x27, 0x33, 0x9b, 0x07, 0x5e, 0x7d, 0xf5, 0x55, 0x26, 0x26, 0x26, 0x50, 0x4a, 0xe1, 0x38, 0x0e, 0xb5, 0x5a, 0x8d, 0xe5, 0x2b, 0x57, 0xb2, 0x6d, 0x9b, 0x31, 0x8c, 0x19, 0xc3, 0x34, 0x50, 0xd5, 0x9a, 0xbc, 0x31, 0x48, 0x63, 0xb2, 0x4d, 0xb0, 0x05, 0x8f, 0xc8, 0xe6, 0x94, 0x69, 0x8a, 0x1b, 0x45, 0xf8, 0xdd, 0x2e, 0x4e, 0xaf, 0x87, 0xd8, 0xdd, 0x45, 0x6a, 0x8d, 0x92, 0x92, 0x5e, 0x14, 0x71, 0xf6, 0xec, 0x59, 0x0a, 0x85, 0x02, 0x9d, 0x4e, 0x07, 0xc7, 0x71, 0xbe, 0x66, 0x3e, 0xfb, 0x81, 0xbf, 0x91, 0x09, 0x99, 0x27, 0x9e, 0x78, 0x22, 0xf3, 0x2c, 0xc0, 0x9b, 0x6f, 0xbe, 0xc9, 0xd8, 0xd8, 0xd8, 0xde, 0xef, 0xdd, 0xdd, 0x5d, 0xbe, 0xfc, 0xfc, 0x73, 0x4a, 0x36, 0x49, 0x3a, 0xe9, 0xfb, 0xfc, 0xe9, 0xd1, 0xa3, 0xfc, 0xde, 0xc8, 0x08, 0x77, 0x19, 0xc3, 0x68, 0x9a, 0xe2, 0x69, 0x8d, 0x97, 0xcb, 0x65, 0xbb, 0x0e, 0xeb, 0xa1, 0x84, 0x31, 0x08, 0x63, 0x30, 0x52, 0x66, 0x89, 0xbe, 0x10, 0xc4, 0x42, 0x90, 0x48, 0x49, 0x37, 0x49, 0xf8, 0x8f, 0x77, 0xde, 0xa1, 0x58, 0x2a, 0xb1, 0xb3, 0xb3, 0xb3, 0x07, 0x7c, 0x20, 0xf9, 0x95, 0x95, 0x95, 0x1b, 0xa6, 0x3d, 0xd7, 0x12, 0x30, 0x8f, 0x3f, 0xfe, 0xf8, 0xde, 0x8f, 0xb7, 0xde, 0x7a, 0x8b, 0x4a, 0xa5, 0xb2, 0x07, 0x5e, 0x08, 0xc1, 0xf2, 0xe2, 0x22, 0xb9, 0x28, 0x62, 0x06, 0x78, 0x28, 0x0c, 0xf9, 0xb3, 0x23, 0x47, 0x38, 0xd1, 0xeb, 0x31, 0xd3, 0x6a, 0x51, 0xea, 0xf7, 0xf1, 0xb4, 0x26, 0xf0, 0x3c, 0x7a, 0x52, 0xd2, 0xcf, 0xe5, 0x48, 0x3c, 0x2f, 0x5b, 0x07, 0x5a, 0x67, 0x44, 0x94, 0xc2, 0x4d, 0x12, 0x44, 0x9a, 0xa2, 0x80, 0xc8, 0x18, 0xce, 0xff, 0xf2, 0x97, 0x78, 0x61, 0xc8, 0x56, 0xbb, 0x4d, 0x3f, 0x8e, 0xf7, 0xe6, 0x8a, 0xa2, 0x88, 0x5a, 0xad, 0x76, 0xd3, 0x9c, 0x6d, 0x98, 0x80, 0x39, 0x75, 0xea, 0xd4, 0xde, 0xcb, 0xe7, 0xce, 0x9d, 0xa3, 0x50, 0x28, 0x5c, 0xbd, 0x69, 0x4d, 0xa3, 0x75, 0xe5, 0x0a, 0x13, 0xc6, 0x70, 0x1c, 0x78, 0x64, 0x74, 0x94, 0xef, 0x24, 0x09, 0x93, 0xcd, 0x26, 0xd5, 0x5e, 0x8f, 0x5c, 0x9a, 0x12, 0x14, 0x8b, 0xec, 0x48, 0x49, 0xbb, 0x50, 0xa0, 0x55, 0x2e, 0xd3, 0xcd, 0xe7, 0xd1, 0x8e, 0x03, 0x56, 0x03, 0x7e, 0x92, 0xe0, 0xa5, 0x29, 0x8e, 0x52, 0x90, 0xa6, 0x7c, 0xfa, 0xd9, 0x67, 0x88, 0x5c, 0x8e, 0xdd, 0x24, 0x61, 0x37, 0x8e, 0xb3, 0x6a, 0x81, 0x10, 0xc4, 0x71, 0xcc, 0xd2, 0xd2, 0xd2, 0x2d, 0x13, 0xce, 0x61, 0x02, 0xcf, 0x94, 0xcb, 0x65, 0x8a, 0xc5, 0x22, 0x17, 0x2e, 0x5c, 0x20, 0x9f, 0xcf, 0x5f, 0xb5, 0x61, 0x40, 0x18, 0x43, 0x51, 0x29, 0xc4, 0xda, 0x1a, 0xc7, 0x87, 0x72, 0xeb, 0x23, 0x51, 0x44, 0x39, 0x8e, 0x71, 0xb5, 0x26, 0xf0, 0x7d, 0x76, 0x80, 0xad, 0x4a, 0x85, 0xb5, 0xc9, 0x49, 0xd6, 0xc7, 0xc7, 0xd9, 0x2e, 0x16, 0x89, 0x3d, 0xef, 0x2a, 0x78, 0xa5, 0x10, 0xc6, 0xe0, 0x28, 0x45, 0xb2, 0xbd, 0x8d, 0x27, 0x04, 0x51, 0x9a, 0xd2, 0x51, 0x8a, 0x3e, 0xd0, 0x53, 0x8a, 0x5e, 0x9a, 0xde, 0x16, 0xf8, 0xeb, 0x16, 0xb1, 0x94, 0x92, 0x85, 0x85, 0x05, 0x66, 0x67, 0x67, 0xd9, 0xda, 0xda, 0xda, 0xbb, 0xa6, 0x95, 0xa2, 0x60, 0x0c, 0xe5, 0x34, 0x65, 0x54, 0x08, 0x1e, 0x36, 0x86, 0x87, 0x81, 0xb9, 0x28, 0xa2, 0x24, 0x44, 0x96, 0x55, 0x16, 0x8b, 0x34, 0xb5, 0xa6, 0x59, 0x2e, 0xb3, 0x32, 0x31, 0xc1, 0xca, 0xd4, 0x14, 0xcd, 0x30, 0x04, 0x21, 0x28, 0x85, 0x21, 0x91, 0x1d, 0x47, 0x03, 0x41, 0x1c, 0x13, 0xf4, 0x7a, 0x4c, 0x49, 0x89, 0xea, 0x76, 0x89, 0x95, 0x22, 0xcd, 0xe5, 0x88, 0x1d, 0x87, 0x2e, 0xb0, 0x78, 0x83, 0x05, 0x7b, 0x4b, 0x02, 0x4a, 0x29, 0x7c, 0xdf, 0x67, 0x64, 0x64, 0x04, 0xad, 0x35, 0x52, 0x4a, 0xb6, 0xb6, 0xb6, 0xa8, 0x18, 0xc3, 0x98, 0x52, 0x1c, 0x8a, 0x63, 0x0e, 0xf9, 0x3e, 0xf7, 0xf7, 0xfb, 0x1c, 0x03, 0x2a, 0x4a, 0xa1, 0x84, 0x20, 0x17, 0x86, 0x6c, 0x6b, 0x4d, 0xa3, 0x5c, 0x66, 0x65, 0x7c, 0x9c, 0xe5, 0x89, 0x09, 0xea, 0xd5, 0x2a, 0xad, 0x91, 0x11, 0x00, 0x4a, 0x52, 0x12, 0x2b, 0x85, 0x52, 0x0a, 0x65, 0x0c, 0xe5, 0xcd, 0x4d, 0xca, 0x80, 0xa7, 0x35, 0x93, 0x00, 0x71, 0x4c, 0xaa, 0x35, 0x91, 0xe7, 0xb1, 0xd2, 0x6c, 0xd2, 0x83, 0xc3, 0x40, 0x28, 0xb2, 0x22, 0xd6, 0xed, 0x13, 0x18, 0x1d, 0x1d, 0xdd, 0x0b, 0xd7, 0x9e, 0xe7, 0x91, 0xcb, 0xe5, 0xc8, 0x45, 0x11, 0xe3, 0xc6, 0x30, 0xb6, 0xb9, 0xc9, 0xf1, 0x5e, 0x8f, 0x7b, 0xa5, 0xe4, 0x80, 0x2d, 0xdf, 0x05, 0x80, 0x57, 0xa9, 0xb0, 0xae, 0x14, 0x5b, 0xa5, 0x12, 0xb5, 0xf1, 0x71, 0x96, 0xc7, 0xc7, 0xa9, 0x57, 0x2a, 0xb4, 0x82, 0x80, 0xae, 0xef, 0x67, 0xd9, 0x64, 0x2e, 0x47, 0xbf, 0x5c, 0x26, 0x8e, 0x63, 0xea, 0x2b, 0x2b, 0xdc, 0x1b, 0x04, 0x98, 0x28, 0xa2, 0xa0, 0x75, 0x66, 0x96, 0xc6, 0x10, 0x6b, 0x4d, 0xbb, 0xd3, 0xe1, 0x6f, 0xe1, 0x2f, 0x81, 0x3b, 0x87, 0xea, 0x91, 0x9d, 0xdb, 0x26, 0xd0, 0xef, 0xf7, 0xf7, 0x16, 0xec, 0xc8, 0xc8, 0x08, 0x41, 0xb7, 0x4b, 0x59, 0x08, 0x8e, 0x18, 0xc3, 0x61, 0xad, 0x39, 0xa1, 0x14, 0x73, 0x69, 0x4a, 0x55, 0x08, 0xa4, 0x31, 0x78, 0x61, 0xc8, 0x66, 0x92, 0xb0, 0x56, 0xa9, 0xb0, 0x3c, 0x3a, 0xca, 0x95, 0xd1, 0x51, 0xd6, 0x4a, 0x25, 0x9a, 0xbe, 0x4f, 0xcf, 0x71, 0x50, 0x4a, 0x61, 0x8c, 0x21, 0x76, 0x1c, 0x3a, 0xae, 0xcb, 0xa5, 0xd5, 0x55, 0x8e, 0x17, 0x0a, 0xa0, 0x14, 0x46, 0x6b, 0xbc, 0x38, 0xc6, 0x53, 0x0a, 0xdf, 0x18, 0xa6, 0x92, 0x84, 0xc7, 0xe1, 0xd7, 0xb6, 0xa4, 0xe9, 0x0d, 0x0a, 0x0a, 0x06, 0xd6, 0x44, 0x56, 0x1b, 0xba, 0x35, 0x81, 0x76, 0xbb, 0x8d, 0xe3, 0x38, 0x78, 0xae, 0x4b, 0x18, 0x45, 0x54, 0xd2, 0x94, 0x83, 0x71, 0xcc, 0xd1, 0x9d, 0x1d, 0x4e, 0x44, 0x11, 0xb3, 0x51, 0x44, 0x55, 0x29, 0x46, 0x8c, 0x21, 0xf5, 0x7d, 0x36, 0x84, 0x60, 0xad, 0x58, 0x64, 0xb1, 0x5a, 0x65, 0x71, 0x74, 0x94, 0x95, 0x52, 0x89, 0xb6, 0xef, 0xd3, 0xb5, 0xa9, 0x01, 0xb6, 0x90, 0x95, 0x18, 0xc3, 0xaf, 0xe7, 0xe7, 0x99, 0x0c, 0x02, 0x92, 0x24, 0x41, 0xe7, 0xf3, 0x48, 0xad, 0x11, 0x4a, 0x31, 0x65, 0x0c, 0x79, 0xad, 0x99, 0xce, 0x8a, 0x65, 0x87, 0x06, 0x3b, 0xbe, 0xa1, 0x2a, 0x5c, 0x6a, 0x35, 0xb1, 0x7b, 0x4b, 0x02, 0xef, 0xbd, 0xf7, 0x1e, 0x0f, 0x3d, 0xf0, 0x00, 0x63, 0x52, 0x52, 0x50, 0x8a, 0xd9, 0x38, 0xe6, 0xee, 0x4e, 0x87, 0xe3, 0xbb, 0xbb, 0x1c, 0xee, 0xf5, 0x28, 0x27, 0x49, 0x06, 0x48, 0x4a, 0x5a, 0x5a, 0xb3, 0x24, 0x25, 0xb5, 0x72, 0x99, 0x2f, 0xcb, 0x65, 0x56, 0xc3, 0x90, 0x6d, 0xd7, 0x25, 0x72, 0x9c, 0xcc, 0x73, 0xd9, 0xac, 0xd2, 0x18, 0xc3, 0xfc, 0xfc, 0x3c, 0x5a, 0x4a, 0xea, 0x49, 0x42, 0xcf, 0xf3, 0x10, 0x4a, 0x11, 0x7b, 0x1e, 0x5a, 0x29, 0xa2, 0x38, 0xe6, 0x77, 0xb3, 0xb2, 0x7d, 0xc9, 0x56, 0x3b, 0x0e, 0xd9, 0x4f, 0x31, 0x54, 0x0d, 0x91, 0x26, 0x6b, 0x6e, 0x74, 0x6f, 0x46, 0x40, 0x18, 0x90, 0x13, 0x1f, 0x7e, 0xa8, 0x22, 0xe0, 0xbe, 0x83, 0x07, 0xb9, 0xab, 0xdf, 0xe7, 0x9e, 0x28, 0x62, 0xae, 0xdf, 0xa7, 0x94, 0x24, 0xe4, 0xb4, 0x26, 0x92, 0x92, 0x6d, 0xcf, 0xa3, 0x9e, 0xcb, 0xf1, 0x49, 0x3e, 0xcf, 0x7f, 0x75, 0x3a, 0x2c, 0xbb, 0x2e, 0xf9, 0x6a, 0x35, 0x1b, 0xdd, 0xa6, 0x1f, 0x03, 0x53, 0x9c, 0x9f, 0x9f, 0xdf, 0xcb, 0x20, 0x63, 0x9b, 0x27, 0xc5, 0x5a, 0x93, 0x78, 0x1e, 0x5b, 0x8d, 0x06, 0x8f, 0xc1, 0x3f, 0xdb, 0x5a, 0xe8, 0xac, 0x25, 0x51, 0xb2, 0x5a, 0x88, 0x6d, 0x09, 0x71, 0x30, 0xe0, 0x40, 0x13, 0xdd, 0x7d, 0x09, 0xd8, 0x06, 0x47, 0x7e, 0x23, 0x2b, 0x69, 0x1f, 0xff, 0xbb, 0xa5, 0xa5, 0x7f, 0x3b, 0x04, 0xdc, 0xe1, 0xba, 0x94, 0x95, 0x02, 0x21, 0xe8, 0x49, 0xc9, 0x8e, 0xeb, 0x52, 0xcb, 0xe5, 0xb8, 0x1c, 0x86, 0x7c, 0x12, 0x86, 0xac, 0xe5, 0x72, 0x34, 0x1c, 0x87, 0x8f, 0xbf, 0xf8, 0x82, 0x20, 0x9f, 0xe7, 0xf0, 0xe1, 0xc3, 0x7b, 0xe0, 0x3f, 0xfe, 0xf8, 0x63, 0xa4, 0x94, 0x48, 0x29, 0x89, 0xa2, 0x08, 0xd7, 0x75, 0xe9, 0x26, 0x09, 0x89, 0xeb, 0xb2, 0x7c, 0xe5, 0x0a, 0x35, 0xf8, 0x03, 0xe0, 0x7e, 0x0b, 0x21, 0x01, 0x8e, 0x0c, 0xd5, 0xa2, 0x66, 0xed, 0xf5, 0xd8, 0x9e, 0x91, 0x25, 0x91, 0x8a, 0xec, 0x37, 0x37, 0x6b, 0x70, 0x9c, 0xf8, 0x2b, 0xf8, 0x77, 0xe0, 0x58, 0x27, 0x4d, 0x8f, 0xe6, 0x6d, 0x45, 0x75, 0xc3, 0x75, 0x59, 0xf6, 0x7d, 0x3e, 0x09, 0x02, 0x3e, 0x1b, 0x19, 0xe1, 0xca, 0xc8, 0x08, 0x4d, 0xcf, 0x63, 0x57, 0x4a, 0x02, 0xbb, 0xd5, 0x9b, 0x9f, 0x9f, 0xc7, 0xf7, 0x7d, 0xa4, 0x94, 0xf8, 0xbe, 0x4f, 0x14, 0x45, 0x44, 0x51, 0x84, 0xe7, 0x79, 0x24, 0x76, 0x83, 0xfe, 0x69, 0xb6, 0x9f, 0xce, 0x43, 0xb6, 0xe7, 0x19, 0x2a, 0x14, 0x1b, 0x6b, 0x42, 0x15, 0x5b, 0xe2, 0x1f, 0xd4, 0xa4, 0x7a, 0xb6, 0x33, 0xd3, 0x06, 0xba, 0xd6, 0x9c, 0xd2, 0x6b, 0x09, 0x0c, 0x1a, 0x1c, 0xa3, 0x64, 0x7e, 0xf8, 0x28, 0x30, 0x15, 0x66, 0x6e, 0xcc, 0x6c, 0x18, 0x53, 0xf8, 0x28, 0x49, 0xf8, 0x3c, 0x9f, 0xe7, 0x23, 0x29, 0xa9, 0x69, 0xcd, 0x56, 0x1c, 0xd3, 0x15, 0x02, 0xe9, 0x5e, 0x1d, 0xa6, 0x50, 0x28, 0x90, 0xa6, 0x29, 0xcd, 0x66, 0x93, 0x52, 0xa9, 0x44, 0xaf, 0xd7, 0x43, 0x4a, 0x49, 0x9a, 0xa6, 0x68, 0xad, 0x59, 0x5c, 0x5c, 0xb4, 0xc9, 0x02, 0x98, 0xac, 0x54, 0xa8, 0x87, 0xaa, 0xe3, 0x7a, 0x48, 0xb0, 0xa1, 0x15, 0xea, 0x41, 0x2b, 0xfd, 0x9a, 0x2d, 0xee, 0xae, 0x0f, 0xb4, 0x71, 0xdd, 0x1a, 0x18, 0xf2, 0x00, 0xde, 0x50, 0x71, 0xb7, 0x0d, 0xd4, 0x0f, 0xc3, 0xc2, 0x61, 0xf8, 0xe0, 0x4f, 0x5a, 0xad, 0xbf, 0xbe, 0xdc, 0x6a, 0xe1, 0xcd, 0xcc, 0xb0, 0xab, 0x35, 0x4e, 0x92, 0xe0, 0x79, 0x1e, 0xae, 0xeb, 0xe2, 0x38, 0x0e, 0xae, 0xdd, 0x23, 0x1b, 0x63, 0xf6, 0xcc, 0x26, 0x8b, 0x55, 0xd7, 0xe7, 0x36, 0xb6, 0x22, 0xde, 0x18, 0xf4, 0x1a, 0xb8, 0xda, 0xde, 0x55, 0xb6, 0x53, 0x53, 0xb5, 0xe7, 0xb8, 0xd5, 0x4a, 0xfe, 0xda, 0x1e, 0xc1, 0x7e, 0x0d, 0x8e, 0x6d, 0xdb, 0xd0, 0x5b, 0xb0, 0x4c, 0x5b, 0xf6, 0xfb, 0x45, 0xe0, 0xc3, 0x7f, 0xcd, 0x9a, 0x10, 0x75, 0xb1, 0xba, 0xba, 0x05, 0x30, 0x3d, 0x3d, 0x8d, 0xeb, 0xba, 0x7b, 0x04, 0x3c, 0xcf, 0xdb, 0xdb, 0x16, 0x0e, 0x4e, 0xe0, 0x86, 0xb9, 0x8d, 0x80, 0xfe, 0x90, 0x26, 0x06, 0x44, 0xfa, 0xf6, 0x3c, 0x62, 0x85, 0xb8, 0x6d, 0x4d, 0x28, 0xb2, 0xf7, 0xcd, 0xcd, 0x1a, 0x1c, 0xeb, 0xb6, 0x9c, 0x9d, 0x5a, 0xe6, 0x5d, 0xab, 0xba, 0x4f, 0xed, 0x67, 0x43, 0x64, 0x85, 0x2e, 0x01, 0x50, 0xaf, 0xd7, 0x0d, 0xc0, 0xc4, 0xc4, 0xc4, 0xd7, 0x34, 0x90, 0xa6, 0x29, 0x8e, 0x0d, 0x66, 0x37, 0xcb, 0xe7, 0xed, 0x8d, 0x64, 0x48, 0x13, 0xca, 0x02, 0xdd, 0xb1, 0x66, 0x13, 0x00, 0xcb, 0x76, 0xfe, 0x2d, 0x4b, 0xcc, 0xdc, 0xa8, 0x4f, 0x9c, 0xb3, 0x6e, 0x6c, 0xdc, 0x2e, 0xb0, 0x92, 0x7d, 0x61, 0xcb, 0xb6, 0x58, 0x5b, 0xe2, 0x6a, 0xe5, 0x7a, 0xbf, 0x4e, 0x24, 0x95, 0x4a, 0x05, 0xc7, 0xc9, 0x92, 0xdc, 0x20, 0x08, 0x6e, 0x09, 0x7e, 0x9f, 0x2e, 0xe5, 0xa8, 0xcd, 0x54, 0x66, 0x2d, 0x0e, 0xcf, 0xce, 0x5f, 0xb3, 0x96, 0xd1, 0xb4, 0x6d, 0x56, 0x73, 0xa3, 0x4e, 0x7d, 0xce, 0xda, 0xff, 0xa0, 0xa9, 0x37, 0x68, 0x30, 0xf7, 0x44, 0x26, 0x99, 0xdb, 0x69, 0xa9, 0x32, 0x37, 0x37, 0x77, 0xcb, 0xcd, 0xc8, 0x2d, 0xfa, 0xc4, 0x05, 0x6b, 0xf3, 0xd2, 0xce, 0x3f, 0x68, 0xb6, 0xf7, 0xf6, 0x6d, 0x74, 0xef, 0x23, 0x09, 0x31, 0x14, 0x0d, 0xcd, 0xb0, 0xef, 0xfd, 0xdf, 0xec, 0x0d, 0xdf, 0xa4, 0x2a, 0x1e, 0xd8, 0x78, 0x20, 0x86, 0xdc, 0x6c, 0x7c, 0xd3, 0xbf, 0x1a, 0xfc, 0x7f, 0x3a, 0xbe, 0x4d, 0x7f, 0x38, 0xf9, 0x1f, 0x1d, 0xff, 0x0d, 0x05, 0x0a, 0x46, 0xbb, 0xe1, 0x23, 0xb9, 0x79, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_play[2832] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x08, 0x06, 0x00, 0x00, 0x00, 0x57, 0x02, 0xf9, 0x87, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x88, 0x00, 0x00, 0x0b, 0x88, 0x01, 0xe5, 0x8e, 0x29, 0x49, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd7, 0x02, 0x17, 0x10, 0x35, 0x01, 0xbd, 0xf1, 0xeb, 0x21, 0x00, 0x00, 0x0a, 0x9d, 0x49, 0x44, 0x41, 0x54, 0x68, 0xde, 0xed, 0x59, 0x7b, 0x70, 0x14, 0xf5, 0x1d, 0xff, 0xec, 0xfe, 0xf6, 0x71, 0xb7, 0x97, 0x5c, 0x72, 0xb9, 0x5c, 0x92, 0x23, 0xb9, 0x10, 0x0d, 0x24, 0x04, 0xb1, 0x0d, 0x34, 0x22, 0x54, 0x81, 0x58, 0xf1, 0xd5, 0xb4, 0x09, 0x76, 0xda, 0xa2, 0x53, 0x1d, 0xa3, 0x0e, 0x96, 0xa9, 0x40, 0x74, 0x46, 0xac, 0x63, 0xad, 0xca, 0x54, 0x1c, 0x06, 0x8a, 0x36, 0xc8, 0x68, 0xa7, 0x8e, 0x43, 0xfa, 0xb0, 0x94, 0x3a, 0x15, 0x8c, 0x13, 0x51, 0xb4, 0x12, 0xb5, 0x45, 0x0a, 0x29, 0xa6, 0x5a, 0x79, 0xcc, 0x10, 0x12, 0x0c, 0x49, 0x48, 0x8e, 0x7b, 0x71, 0x97, 0x7b, 0xec, 0xb3, 0x7f, 0xdc, 0xed, 0xde, 0x23, 0x77, 0x81, 0x04, 0x3a, 0xd3, 0xe9, 0xf0, 0x9d, 0xd9, 0xb9, 0xdd, 0xfd, 0xfd, 0x6e, 0xf7, 0xf3, 0xf9, 0xbe, 0x7e, 0xdf, 0xdf, 0x77, 0x81, 0x2b, 0x72, 0x45, 0xae, 0xc8, 0xff, 0x94, 0x34, 0xb5, 0x37, 0xd7, 0x37, 0xb5, 0x37, 0x37, 0x5e, 0xec, 0x7c, 0xe6, 0x72, 0xbd, 0xf8, 0x89, 0x2d, 0x5b, 0x96, 0xd3, 0x84, 0x3c, 0x08, 0x86, 0xa9, 0x06, 0x00, 0xc8, 0x72, 0x1f, 0x2d, 0xcb, 0x4f, 0x3d, 0xf7, 0xf8, 0xe3, 0x7d, 0x53, 0x7c, 0x54, 0x21, 0x80, 0x67, 0x9a, 0xda, 0x9b, 0x77, 0x03, 0x68, 0xef, 0x6a, 0xeb, 0x7c, 0x76, 0xb2, 0xc9, 0xd4, 0xa5, 0x02, 0x5f, 0xbf, 0x79, 0x73, 0x35, 0x93, 0x9f, 0xbf, 0xdf, 0x36, 0x7b, 0xb6, 0xab, 0xd8, 0x6e, 0x47, 0x9e, 0x20, 0x00, 0x00, 0x42, 0xe1, 0x30, 0xfa, 0xfb, 0xfa, 0x34, 0x69, 0x78, 0xb8, 0x67, 0xd3, 0xba, 0x75, 0x0b, 0xa7, 0x61, 0x89, 0xdd, 0x00, 0x56, 0x00, 0xe8, 0xe8, 0x6a, 0xeb, 0xbc, 0xff, 0xbf, 0x42, 0x60, 0xfd, 0xe6, 0x17, 0x5b, 0xa9, 0x62, 0xdb, 0xaf, 0x17, 0x37, 0x7e, 0x8b, 0x9f, 0x55, 0xe9, 0x42, 0x64, 0x1c, 0x18, 0x3d, 0xdd, 0x0f, 0x9a, 0x26, 0x28, 0xad, 0xac, 0x04, 0xc5, 0x4a, 0x38, 0xd6, 0xdf, 0x8f, 0xcf, 0x0f, 0x7e, 0x1a, 0xd3, 0xce, 0x8d, 0x5d, 0xb3, 0x65, 0x0a, 0xd6, 0x68, 0x6a, 0x6f, 0x2e, 0x04, 0xd0, 0x9f, 0xb0, 0xc8, 0x9d, 0x5d, 0x6d, 0x9d, 0x7b, 0x2e, 0x2b, 0x81, 0xf5, 0x9b, 0x37, 0x57, 0x2b, 0x85, 0x25, 0x5f, 0xde, 0xb1, 0xe2, 0x4e, 0xde, 0x5e, 0x60, 0xc5, 0x9b, 0x2f, 0xbf, 0x82, 0x83, 0x5d, 0x6f, 0x42, 0x10, 0x04, 0x98, 0x4c, 0x26, 0xd8, 0x8a, 0x1d, 0xb8, 0xee, 0xb6, 0x16, 0x2c, 0xb8, 0xfd, 0x16, 0x78, 0x02, 0xe7, 0xb1, 0x77, 0xcf, 0xee, 0xd8, 0x0b, 0x0f, 0xb5, 0x9a, 0xf4, 0xff, 0x2f, 0xb8, 0x67, 0x41, 0xab, 0xf3, 0xba, 0x8a, 0x01, 0x00, 0xbd, 0x5d, 0x6d, 0x9d, 0xfe, 0x1c, 0x24, 0x5a, 0x01, 0xec, 0x00, 0xe0, 0x07, 0x70, 0x55, 0xb6, 0x79, 0xf4, 0x74, 0x09, 0x84, 0x2d, 0xf6, 0xde, 0x1b, 0x6e, 0xfd, 0x0e, 0x6f, 0xb1, 0x58, 0xf1, 0xf4, 0x3d, 0x77, 0xe3, 0x83, 0x5d, 0xbf, 0x83, 0xa2, 0x28, 0xc6, 0x11, 0x0e, 0x9e, 0x47, 0xcf, 0xde, 0x37, 0xf1, 0xc9, 0xae, 0x37, 0x60, 0xb1, 0x58, 0x51, 0x77, 0xfd, 0x12, 0xfe, 0xe1, 0x2d, 0xdb, 0x8f, 0x66, 0x3c, 0xe6, 0x45, 0x00, 0xfd, 0x09, 0xa0, 0x13, 0xa4, 0xab, 0xad, 0xb3, 0x03, 0x40, 0x77, 0xc2, 0x0a, 0x59, 0xe7, 0x4c, 0x8b, 0xc0, 0x9a, 0x8d, 0x2f, 0xec, 0x74, 0xd6, 0x2e, 0xc8, 0xb3, 0x17, 0xda, 0xf1, 0x9b, 0x9f, 0x3f, 0x89, 0x81, 0x63, 0xff, 0x4e, 0x03, 0xaf, 0x69, 0x9a, 0x71, 0x3e, 0xf0, 0xd9, 0xa7, 0x38, 0xb6, 0xbf, 0x1b, 0xb3, 0x67, 0x5e, 0x0d, 0x6b, 0xed, 0xfc, 0xba, 0x35, 0x1b, 0xb7, 0xfe, 0x0c, 0x00, 0x8e, 0xfc, 0xe1, 0x48, 0x07, 0x80, 0x9b, 0x12, 0x8f, 0xdc, 0xd1, 0xd4, 0xde, 0xbc, 0x22, 0xc7, 0xeb, 0xda, 0x13, 0xbf, 0x6d, 0x97, 0x85, 0xc0, 0x8c, 0x96, 0xfb, 0x97, 0x87, 0xad, 0xce, 0x1f, 0xd4, 0xd5, 0xd4, 0xe0, 0x8b, 0x7f, 0x1c, 0xc6, 0xc7, 0x7b, 0x76, 0x41, 0x55, 0xd5, 0x34, 0x02, 0x3a, 0x09, 0xfd, 0xfe, 0xc9, 0xbf, 0xef, 0x83, 0x7f, 0xd4, 0x83, 0xda, 0x9a, 0x5a, 0x44, 0xcc, 0x85, 0x4f, 0xa4, 0x68, 0xd8, 0x0f, 0xe0, 0xd1, 0x14, 0x12, 0x85, 0x59, 0xac, 0xb0, 0x07, 0xc0, 0x00, 0x80, 0xaa, 0xa6, 0xf6, 0xe6, 0xfa, 0x4b, 0x22, 0xe0, 0xf8, 0xde, 0xea, 0x56, 0xc5, 0x54, 0xba, 0xef, 0xe6, 0x3b, 0x9a, 0x09, 0xc7, 0x09, 0x78, 0xf5, 0xa9, 0xb5, 0xd0, 0x34, 0xcd, 0x38, 0x74, 0x49, 0xbd, 0xd6, 0xcf, 0x07, 0xfe, 0xf6, 0x0e, 0xec, 0x85, 0x76, 0x98, 0x9c, 0x73, 0xf2, 0x1e, 0xda, 0x10, 0xb7, 0xc2, 0xc5, 0xba, 0x09, 0x00, 0x3d, 0x80, 0xef, 0x9b, 0x36, 0x01, 0xfb, 0xf7, 0x1f, 0xde, 0xe6, 0x0d, 0xd2, 0xaf, 0x3d, 0xfa, 0xd3, 0xc7, 0x28, 0xb3, 0x59, 0xc0, 0xc7, 0xbb, 0x77, 0xe1, 0xdc, 0xd0, 0x60, 0xda, 0x9c, 0xc9, 0x88, 0x04, 0x87, 0x4f, 0x23, 0xe8, 0x1e, 0x83, 0xab, 0xc2, 0x85, 0x71, 0x5a, 0xf8, 0xf1, 0x54, 0xdc, 0x04, 0xc0, 0x5b, 0x89, 0xdf, 0xc6, 0x69, 0x11, 0x28, 0x58, 0xf9, 0xe8, 0x4e, 0x1f, 0x5b, 0xb1, 0xb6, 0xe4, 0x87, 0xf7, 0xd1, 0x55, 0x0e, 0x3b, 0x44, 0x15, 0x38, 0xb2, 0xff, 0x9d, 0x78, 0x1a, 0xa3, 0x28, 0x34, 0x34, 0x34, 0x60, 0xd5, 0xaa, 0x55, 0x58, 0xb9, 0x72, 0x25, 0x9c, 0x4e, 0x67, 0x32, 0xc5, 0x51, 0x14, 0x28, 0x2a, 0x99, 0xe8, 0xbc, 0x47, 0x0f, 0xc3, 0x39, 0xa3, 0x0c, 0x21, 0xbe, 0xa8, 0x22, 0x8b, 0x9b, 0xf8, 0x73, 0xb9, 0x49, 0x57, 0x5b, 0x67, 0x77, 0xe2, 0xb4, 0x3e, 0xd3, 0xcd, 0x26, 0xac, 0xc4, 0x05, 0xb7, 0xde, 0xb5, 0x4f, 0x55, 0x34, 0x63, 0x12, 0x6d, 0xb1, 0x97, 0x29, 0xc5, 0x5f, 0x77, 0xcd, 0x5c, 0xb2, 0x18, 0xd7, 0x97, 0x5a, 0x11, 0x13, 0x15, 0x44, 0x43, 0xe7, 0xf1, 0x45, 0xf7, 0xbb, 0xe0, 0x38, 0x0e, 0x2d, 0x2d, 0x2d, 0xd8, 0xb4, 0x69, 0x13, 0x08, 0x21, 0x20, 0x84, 0x00, 0x00, 0xb6, 0x6f, 0xdf, 0x8e, 0x03, 0x07, 0x0e, 0x18, 0x24, 0xf4, 0xfb, 0x91, 0xe1, 0x3e, 0xe4, 0x83, 0x86, 0xcd, 0xe1, 0xa2, 0x7e, 0xf4, 0xe4, 0x2f, 0xb7, 0xbd, 0xfe, 0xfc, 0x63, 0xeb, 0x32, 0xdc, 0xa4, 0x35, 0xa1, 0xe5, 0xde, 0x2c, 0x7a, 0xec, 0x4e, 0x8c, 0xd5, 0x27, 0xce, 0x27, 0x12, 0xb0, 0xb7, 0x3c, 0xb0, 0xcd, 0x37, 0xce, 0xdd, 0x42, 0x15, 0xda, 0xe2, 0x83, 0x0c, 0x8b, 0x79, 0x4b, 0xee, 0x40, 0x55, 0x5d, 0x0d, 0x00, 0xe0, 0x9a, 0x22, 0x33, 0x44, 0x55, 0x45, 0x6f, 0xf7, 0x5e, 0x10, 0x42, 0x30, 0x67, 0xce, 0x1c, 0x6c, 0xd8, 0xb0, 0x61, 0x62, 0x96, 0x5a, 0xb3, 0x06, 0x3c, 0xcf, 0xe3, 0xf0, 0xe1, 0xc3, 0x20, 0x84, 0x80, 0xa2, 0x28, 0xd0, 0x34, 0x0d, 0x4d, 0x8a, 0x21, 0x3c, 0x36, 0x88, 0x02, 0xbb, 0x0d, 0x83, 0x27, 0x99, 0xe5, 0x59, 0xdc, 0xa4, 0x15, 0x40, 0x0b, 0x80, 0x5f, 0x65, 0x21, 0xd0, 0x7b, 0x41, 0x02, 0xbe, 0x71, 0xfe, 0x27, 0xec, 0xcd, 0xdf, 0x05, 0x65, 0xcd, 0x07, 0x00, 0xdc, 0x5a, 0x33, 0x1b, 0x73, 0x4a, 0x4a, 0x8d, 0x71, 0x2b, 0x13, 0x45, 0x4c, 0x56, 0xd1, 0xf7, 0xd9, 0xa7, 0x20, 0x84, 0x60, 0xf5, 0xea, 0xd5, 0x46, 0xb6, 0xa1, 0x69, 0xda, 0xf8, 0x05, 0x80, 0x7b, 0xef, 0xbd, 0x17, 0x5f, 0x7d, 0xf5, 0x15, 0x22, 0x91, 0x08, 0x68, 0x9a, 0x36, 0x48, 0xc8, 0x9e, 0x61, 0x58, 0xf2, 0x67, 0x62, 0x5c, 0xe3, 0x5d, 0x59, 0x34, 0x8c, 0x04, 0xc0, 0x6c, 0x72, 0x3a, 0xa5, 0x56, 0x9a, 0x18, 0x03, 0x0b, 0x56, 0x3f, 0xd3, 0x9a, 0x57, 0x35, 0x9f, 0x7c, 0x6d, 0xee, 0x35, 0xb8, 0xb6, 0xa2, 0x12, 0xd7, 0x56, 0x54, 0x62, 0x79, 0x5d, 0x29, 0x66, 0x95, 0x00, 0xb3, 0x4a, 0x80, 0x6a, 0x07, 0xa0, 0xaa, 0x1a, 0x24, 0x59, 0xc5, 0xb9, 0xfe, 0x13, 0xa8, 0xa8, 0xa8, 0xc0, 0x8d, 0x37, 0xde, 0x08, 0x55, 0x55, 0xb3, 0x1e, 0x1c, 0xc7, 0xa1, 0xa9, 0xa9, 0xc9, 0x70, 0x2d, 0x3d, 0x1e, 0xb4, 0x90, 0x07, 0x8e, 0xe2, 0x22, 0x04, 0x60, 0xcd, 0xcb, 0xf0, 0x73, 0x7f, 0x22, 0x0e, 0x0a, 0x73, 0x10, 0xd0, 0xdd, 0x6a, 0x59, 0x56, 0x02, 0x82, 0xe0, 0x78, 0x7c, 0xf1, 0xd2, 0x25, 0x58, 0x54, 0xe1, 0xc4, 0xa2, 0x0a, 0x27, 0x96, 0x5f, 0x5d, 0x09, 0x13, 0x49, 0x4e, 0x94, 0x65, 0x20, 0xaa, 0x28, 0x88, 0x2a, 0x0a, 0xfc, 0x83, 0x7d, 0x58, 0xba, 0x74, 0x29, 0x64, 0x59, 0x86, 0x2c, 0xcb, 0x90, 0x24, 0x09, 0xb2, 0x2c, 0x4f, 0x58, 0x0b, 0xea, 0xea, 0xea, 0x40, 0x08, 0x01, 0x4d, 0xd3, 0xa0, 0x69, 0x1a, 0x84, 0x10, 0x30, 0x91, 0xf3, 0x88, 0x2a, 0x0a, 0x54, 0x8a, 0xc6, 0x8a, 0xf5, 0xbf, 0xa8, 0xce, 0x06, 0x32, 0x47, 0x39, 0xed, 0x9f, 0x74, 0x21, 0x73, 0x54, 0x98, 0x5d, 0x8d, 0x0b, 0x1d, 0x68, 0xa8, 0x62, 0xd1, 0x50, 0xc5, 0xa2, 0xc2, 0x06, 0x78, 0x83, 0xc9, 0x23, 0x10, 0x54, 0x11, 0x93, 0x55, 0x9c, 0x3d, 0x75, 0x02, 0x3c, 0xcf, 0x63, 0xde, 0xbc, 0x79, 0x90, 0x24, 0xc9, 0x00, 0x2f, 0x8a, 0x22, 0x44, 0x51, 0x34, 0xee, 0x49, 0x92, 0x04, 0x42, 0x08, 0x66, 0xcd, 0x9a, 0x65, 0x90, 0x20, 0x84, 0x80, 0x91, 0xc2, 0x88, 0xc9, 0x2a, 0x4c, 0x16, 0x0b, 0x14, 0x85, 0xbe, 0xeb, 0x62, 0x40, 0x26, 0x2c, 0xa4, 0x5b, 0xa0, 0x2a, 0x6b, 0x16, 0x1a, 0x1c, 0x77, 0xe4, 0x2d, 0x26, 0x76, 0x8c, 0x7a, 0xe3, 0xd7, 0xe7, 0xc3, 0x31, 0x48, 0x8a, 0x92, 0x64, 0xaa, 0x2a, 0x20, 0x8a, 0x86, 0x58, 0x28, 0x08, 0x9e, 0xe7, 0x61, 0xb3, 0xd9, 0x20, 0x8a, 0xa2, 0x91, 0xef, 0x19, 0x86, 0x31, 0x80, 0x52, 0x14, 0x65, 0xac, 0x01, 0xe5, 0xe5, 0xe5, 0x18, 0x1b, 0x1b, 0x33, 0xc6, 0x09, 0x21, 0x50, 0x25, 0x11, 0x8a, 0x02, 0xa8, 0xea, 0x04, 0x9c, 0xff, 0x4a, 0x94, 0xd0, 0x55, 0x93, 0x64, 0xf5, 0xec, 0x04, 0xfc, 0xee, 0x73, 0x38, 0xeb, 0x0d, 0x18, 0x03, 0x31, 0x59, 0x86, 0xaa, 0x25, 0x09, 0xb0, 0x14, 0x01, 0x47, 0x51, 0x90, 0x34, 0xc0, 0x64, 0x32, 0xc1, 0xe1, 0x70, 0x20, 0x1a, 0x8d, 0x1a, 0x41, 0xcc, 0xb2, 0x6c, 0x9a, 0xaf, 0x03, 0x30, 0x4a, 0x09, 0x1d, 0x3c, 0xc3, 0x30, 0x71, 0x77, 0x0a, 0xfb, 0x21, 0xca, 0x12, 0x54, 0xa8, 0x17, 0x05, 0xf2, 0xa2, 0x76, 0x64, 0x7e, 0xcf, 0x10, 0xce, 0x78, 0xdc, 0xc9, 0x45, 0x88, 0xa6, 0xd2, 0xaa, 0x6d, 0x0b, 0xcb, 0xc3, 0xc2, 0xf1, 0x50, 0x01, 0x98, 0xcd, 0x66, 0x44, 0x22, 0x11, 0x03, 0xbc, 0x1e, 0x0b, 0xba, 0x05, 0x74, 0x51, 0x55, 0x15, 0x36, 0x9b, 0x2d, 0xcd, 0x3a, 0x84, 0x10, 0xc8, 0x9a, 0x06, 0xb3, 0xd5, 0x8a, 0x71, 0x0f, 0xbd, 0x0c, 0xc0, 0xc6, 0x4b, 0xd9, 0x93, 0x18, 0x04, 0xc2, 0x01, 0x0f, 0xce, 0x06, 0x7c, 0xc6, 0x00, 0x47, 0x18, 0xd0, 0x54, 0x12, 0x8c, 0x26, 0x68, 0x20, 0x14, 0x03, 0x45, 0x03, 0x04, 0x41, 0x40, 0x24, 0x12, 0x31, 0x34, 0xcc, 0x71, 0x5c, 0x4e, 0x0b, 0x88, 0xa2, 0x08, 0x86, 0x61, 0x8c, 0x71, 0x96, 0x65, 0x21, 0xa9, 0x1a, 0x44, 0x49, 0x06, 0x51, 0xb5, 0x4b, 0xde, 0xca, 0x1a, 0x04, 0xa2, 0x01, 0x0f, 0x4e, 0x7a, 0xbd, 0xc9, 0xc2, 0xcd, 0x2c, 0xc0, 0x44, 0x92, 0x69, 0x88, 0x65, 0x58, 0x98, 0x79, 0x01, 0x2a, 0x45, 0x60, 0x32, 0x99, 0x20, 0xcb, 0x32, 0x34, 0x4d, 0x33, 0x02, 0x38, 0x17, 0x01, 0xb7, 0xdb, 0x0d, 0x8e, 0xe3, 0x0c, 0xf0, 0x84, 0x10, 0xc8, 0xaa, 0x06, 0x9f, 0xc7, 0x8b, 0x52, 0x28, 0x1f, 0x5d, 0x36, 0x02, 0x6a, 0xd8, 0x0b, 0x6f, 0xd0, 0x93, 0x74, 0x21, 0x4d, 0x06, 0x4f, 0xd8, 0x24, 0x01, 0x5e, 0x40, 0x9e, 0xa0, 0x82, 0x42, 0xdc, 0x02, 0xa3, 0xa3, 0xa3, 0x28, 0x2e, 0x2e, 0x36, 0x5c, 0x48, 0x14, 0x45, 0x63, 0xb1, 0x4a, 0x2d, 0xe6, 0x14, 0x45, 0x31, 0xc0, 0x33, 0x0c, 0x03, 0x86, 0x61, 0x30, 0x06, 0x33, 0x24, 0x45, 0x81, 0xac, 0x2a, 0xb8, 0x40, 0xce, 0xbf, 0x78, 0x02, 0x2c, 0xa7, 0x86, 0xd4, 0xbe, 0xe3, 0x79, 0x74, 0xd9, 0x8c, 0x78, 0x4c, 0xa8, 0x1a, 0x28, 0xb3, 0x25, 0x09, 0x26, 0xe8, 0x43, 0x71, 0xbe, 0x1d, 0x44, 0x28, 0x44, 0x81, 0x20, 0xc0, 0xeb, 0xf5, 0x82, 0xe7, 0x79, 0xf0, 0x3c, 0x9f, 0xa6, 0xfd, 0x4c, 0x02, 0xb1, 0x58, 0x0c, 0x2c, 0xcb, 0xa6, 0x11, 0x08, 0x2a, 0x14, 0x64, 0x49, 0x85, 0x3c, 0x31, 0x86, 0x97, 0x5d, 0x28, 0x9d, 0x66, 0x92, 0x63, 0x92, 0x3e, 0xaf, 0x0c, 0x46, 0x87, 0x4e, 0xd7, 0xd1, 0x79, 0x71, 0xd0, 0x8a, 0x28, 0x02, 0x29, 0x95, 0x64, 0x84, 0x30, 0x88, 0x2a, 0x1a, 0xc0, 0x17, 0x60, 0xa6, 0xc5, 0x82, 0x70, 0x38, 0x8c, 0x40, 0x20, 0x00, 0x93, 0xc9, 0x64, 0x00, 0xd4, 0x53, 0xa8, 0x9e, 0x46, 0x75, 0x12, 0x3c, 0xcf, 0x1b, 0x71, 0x10, 0x26, 0x66, 0x44, 0x15, 0x0d, 0x41, 0xaf, 0x1f, 0x15, 0x16, 0xf5, 0x4f, 0x39, 0x40, 0xfa, 0xb3, 0xec, 0x8f, 0x1b, 0xb3, 0x8d, 0x19, 0x04, 0x04, 0x8e, 0xdf, 0x1c, 0x39, 0x79, 0x74, 0x07, 0xca, 0xcb, 0x13, 0x77, 0x02, 0x00, 0x67, 0x02, 0x12, 0x1a, 0x0d, 0x89, 0x31, 0x44, 0x5c, 0x72, 0x1c, 0x54, 0xb1, 0x0b, 0x94, 0x18, 0x80, 0xc7, 0xe3, 0x81, 0xd9, 0x6c, 0x06, 0xc7, 0x71, 0x69, 0xa9, 0x52, 0x17, 0x42, 0x08, 0x04, 0x41, 0x30, 0xc0, 0x33, 0x0c, 0x03, 0x37, 0x25, 0x20, 0xa2, 0xc8, 0x10, 0x63, 0x61, 0x1c, 0x78, 0xfd, 0xb9, 0xcc, 0x2e, 0x45, 0x63, 0xc6, 0xa2, 0x75, 0x41, 0x72, 0xc6, 0xdb, 0xdc, 0x1f, 0xbe, 0xdd, 0xc1, 0xd6, 0xce, 0x7f, 0x49, 0x1d, 0x3c, 0x95, 0x47, 0x3b, 0x12, 0x05, 0x9c, 0x67, 0x04, 0xc8, 0x8f, 0x57, 0xa6, 0x32, 0x80, 0x40, 0x64, 0x1c, 0x1c, 0x27, 0x20, 0x6c, 0x2d, 0x85, 0xe3, 0x7c, 0x04, 0x7e, 0xbf, 0x1f, 0xc1, 0x60, 0x10, 0x1c, 0xc7, 0x19, 0x81, 0xca, 0x30, 0x8c, 0xe1, 0x4a, 0x2e, 0x97, 0xcb, 0x00, 0xaf, 0x1f, 0xc3, 0x92, 0x09, 0xa3, 0x83, 0x23, 0x10, 0xd8, 0x68, 0x68, 0x3c, 0x5d, 0xc3, 0x7a, 0xee, 0x1f, 0xc8, 0x01, 0xbc, 0x31, 0x65, 0xb1, 0xcb, 0xbe, 0x1f, 0x28, 0xb2, 0xd9, 0x36, 0xb9, 0x8f, 0x7f, 0xf1, 0x1c, 0x35, 0x3a, 0x94, 0xac, 0x34, 0x4a, 0x2a, 0xc1, 0xce, 0x9d, 0x17, 0xaf, 0x56, 0x03, 0x1e, 0x08, 0x45, 0x26, 0x0c, 0x9b, 0x4b, 0x30, 0x3b, 0x3a, 0x0c, 0xbb, 0xdd, 0x8e, 0xde, 0xde, 0x5e, 0x23, 0x16, 0x74, 0xf0, 0x00, 0x50, 0x57, 0x57, 0x67, 0xa4, 0xd7, 0x54, 0x12, 0x3d, 0x21, 0x13, 0x7c, 0xee, 0x33, 0xa0, 0xa1, 0x0c, 0xe6, 0x00, 0x98, 0x4b, 0xfb, 0x05, 0xd9, 0x08, 0xa6, 0x11, 0x18, 0x3d, 0xf8, 0xe1, 0x46, 0xfb, 0xc2, 0x25, 0xa5, 0x62, 0x24, 0xb6, 0xc8, 0xc8, 0x4e, 0xa3, 0x03, 0x79, 0x11, 0x9f, 0xbb, 0x8e, 0xfb, 0xc6, 0x22, 0xf8, 0xce, 0x8d, 0x20, 0x54, 0xe0, 0x44, 0xc0, 0x54, 0x8a, 0xdb, 0x4c, 0x26, 0xd0, 0x34, 0x8d, 0xaa, 0xaa, 0x2a, 0x1c, 0x3a, 0x74, 0xc8, 0x00, 0x2b, 0x08, 0x02, 0x1a, 0x1a, 0x1a, 0xe0, 0x74, 0x3a, 0x8d, 0xa0, 0xd5, 0x49, 0xc4, 0x08, 0x87, 0x23, 0x51, 0x82, 0xe0, 0xc8, 0x59, 0x14, 0xb1, 0xea, 0x07, 0x19, 0x00, 0x5b, 0x32, 0xb6, 0x8f, 0xb9, 0x2c, 0x30, 0x30, 0xe5, 0xc6, 0x56, 0xc1, 0x37, 0x6f, 0xd9, 0x19, 0x74, 0x7b, 0xef, 0x62, 0x1b, 0xbf, 0x0d, 0x6a, 0x59, 0xbc, 0xfe, 0x5a, 0x25, 0x9e, 0x40, 0xbd, 0xe6, 0x03, 0x4d, 0xd3, 0x18, 0x1f, 0x1f, 0xc7, 0xf1, 0xe3, 0xc7, 0x51, 0x54, 0x54, 0x84, 0xda, 0xda, 0x5a, 0x58, 0x2c, 0x96, 0x09, 0xa9, 0x93, 0x65, 0x59, 0xec, 0x0e, 0x9a, 0xf1, 0xd2, 0x10, 0x05, 0x71, 0xcf, 0x1b, 0x9a, 0xf6, 0xf6, 0xf3, 0x74, 0x8e, 0x2e, 0xdc, 0x55, 0x5d, 0x6d, 0x9d, 0x03, 0x59, 0xba, 0x74, 0xbe, 0x44, 0x7c, 0x50, 0x53, 0x6e, 0xee, 0x06, 0x0e, 0xbc, 0x7f, 0xb7, 0xa3, 0xf1, 0xf6, 0xf7, 0xbc, 0x7f, 0x7d, 0xeb, 0x35, 0x66, 0x66, 0x3d, 0x4d, 0xb9, 0x6a, 0xf0, 0x31, 0x71, 0x62, 0x11, 0x13, 0xdf, 0xac, 0x08, 0x82, 0x80, 0xb2, 0xb2, 0x32, 0xa3, 0x58, 0x4b, 0x5d, 0xb4, 0x74, 0x12, 0x84, 0x10, 0xfc, 0xc5, 0xc7, 0x40, 0x39, 0xd5, 0x07, 0x93, 0x49, 0x3e, 0x13, 0x49, 0x7f, 0xc5, 0x8a, 0x04, 0xf8, 0xee, 0x4c, 0xf0, 0x19, 0xda, 0xef, 0x9e, 0x76, 0x57, 0xc2, 0xdd, 0xfd, 0x6e, 0x47, 0x51, 0x79, 0xe9, 0x83, 0xd2, 0x1b, 0xaf, 0x28, 0x9a, 0x3f, 0x80, 0x13, 0xaa, 0x80, 0x11, 0x26, 0xdf, 0xf0, 0x7f, 0x9e, 0xe7, 0xc1, 0x71, 0x5c, 0xda, 0xda, 0xa0, 0xbb, 0x15, 0xc7, 0x71, 0xd8, 0x17, 0xe4, 0x30, 0x12, 0xd5, 0xa0, 0x1e, 0x3f, 0x86, 0x3c, 0x8b, 0xf6, 0x74, 0x86, 0x76, 0x9f, 0x49, 0x5c, 0xfe, 0x36, 0xc7, 0xeb, 0x73, 0xba, 0xd7, 0x94, 0xfa, 0x42, 0xee, 0x4f, 0xde, 0xef, 0x28, 0xb7, 0xa8, 0xb5, 0xd2, 0x7b, 0x7b, 0x14, 0x2d, 0x10, 0xc0, 0x1f, 0x63, 0x0e, 0x23, 0x03, 0xe9, 0xe0, 0x53, 0x49, 0xe8, 0xf7, 0x19, 0x86, 0xc1, 0x8e, 0xb3, 0x80, 0x3a, 0x34, 0x04, 0x22, 0x7b, 0x42, 0xee, 0x8e, 0x2d, 0x1d, 0x29, 0x8f, 0x7d, 0x24, 0x51, 0x7d, 0xf6, 0x26, 0x7a, 0x44, 0xd9, 0x9a, 0xbc, 0x2b, 0x32, 0xfa, 0x43, 0xd3, 0xef, 0xcc, 0x0d, 0x1e, 0xf8, 0xb0, 0xcf, 0x56, 0xa0, 0xbd, 0x2c, 0x1d, 0x3a, 0x8c, 0xa3, 0x22, 0x87, 0xf7, 0xa2, 0x05, 0x13, 0xac, 0xa0, 0x6b, 0x5d, 0x3f, 0x6f, 0x3f, 0x03, 0x0c, 0x47, 0x55, 0xc8, 0x3d, 0x3d, 0x28, 0xb4, 0x6a, 0x6b, 0x53, 0x3f, 0x66, 0x24, 0xb4, 0xef, 0x07, 0x90, 0xab, 0x85, 0x3e, 0xa9, 0x7b, 0x4d, 0xab, 0x37, 0xea, 0xd9, 0xb9, 0x75, 0x1d, 0x09, 0x9e, 0x39, 0xa7, 0x9c, 0x3a, 0x85, 0x57, 0xbd, 0x3c, 0x3e, 0x0a, 0x9b, 0xd3, 0xac, 0xa0, 0xbb, 0x10, 0xcb, 0xb2, 0xd8, 0xeb, 0xd1, 0xb0, 0x73, 0x58, 0x84, 0xf4, 0xf9, 0xe7, 0x30, 0xd3, 0x9e, 0x63, 0xee, 0xdf, 0xbf, 0xd0, 0x91, 0xd2, 0x79, 0xde, 0x9f, 0xf0, 0xeb, 0x9b, 0x26, 0x59, 0xbc, 0x26, 0x75, 0xaf, 0x69, 0xb7, 0xd7, 0x5d, 0xf7, 0xad, 0xaf, 0x1e, 0x19, 0x8d, 0x7e, 0x49, 0xdf, 0x70, 0x3b, 0x4f, 0x17, 0xdb, 0xf1, 0x40, 0x39, 0x85, 0xbb, 0x67, 0x70, 0xb0, 0xb2, 0xf1, 0xfd, 0xef, 0xb8, 0x4a, 0x61, 0xeb, 0xa9, 0x18, 0xde, 0x3e, 0x2b, 0x41, 0x1d, 0x1e, 0x81, 0xd6, 0xb3, 0x3f, 0x24, 0xed, 0xdd, 0x96, 0x3f, 0xc5, 0x8f, 0x1c, 0xcf, 0x26, 0x08, 0xf4, 0x76, 0xb5, 0x75, 0xce, 0xbf, 0xec, 0x1f, 0x38, 0x5c, 0x2b, 0xd7, 0x56, 0x8f, 0xf8, 0xb5, 0x2f, 0xb5, 0xca, 0xb9, 0x3c, 0x33, 0xb7, 0x0e, 0x56, 0x8b, 0x09, 0x35, 0x79, 0xf1, 0x12, 0xfc, 0x9f, 0x7e, 0x19, 0x5a, 0x2c, 0x06, 0xf9, 0xe8, 0x31, 0xd0, 0x83, 0x47, 0x43, 0x65, 0x05, 0x54, 0xfd, 0xe0, 0xae, 0x97, 0xa6, 0xf2, 0x81, 0xa3, 0x1e, 0xc0, 0x67, 0x89, 0xcb, 0xf9, 0xb9, 0x2c, 0x74, 0xc9, 0x9f, 0x98, 0x5c, 0x2b, 0xd7, 0x56, 0xfb, 0x45, 0x6a, 0x67, 0xc8, 0x27, 0x35, 0x50, 0xf6, 0x19, 0x14, 0x65, 0x8b, 0x97, 0x1e, 0x9a, 0xcf, 0x07, 0xcd, 0x33, 0xac, 0xe5, 0xd9, 0xd8, 0x9e, 0xe0, 0xee, 0x6d, 0x0b, 0xa7, 0xa8, 0xf9, 0xc2, 0x84, 0x7b, 0xd5, 0x03, 0xb8, 0x3f, 0x5b, 0x70, 0x5f, 0x36, 0x02, 0xa9, 0x44, 0xc2, 0x1a, 0xd5, 0x26, 0x4a, 0xca, 0x22, 0x00, 0xe0, 0x58, 0x72, 0xd0, 0xf3, 0xe7, 0x6d, 0xeb, 0xa6, 0xf1, 0x6d, 0xec, 0x11, 0xdd, 0x6d, 0x00, 0x6c, 0x48, 0xe9, 0x8b, 0x5e, 0x91, 0x2b, 0x72, 0x45, 0xfe, 0x1f, 0xe5, 0x3f, 0x85, 0x9b, 0xaa, 0xf5, 0x04, 0xfa, 0xe0, 0x57, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_record[2703] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x08, 0x06, 0x00, 0x00, 0x00, 0x57, 0x02, 0xf9, 0x87, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd7, 0x02, 0x17, 0x10, 0x34, 0x2a, 0x08, 0x56, 0x23, 0x20, 0x00, 0x00, 0x0a, 0x1c, 0x49, 0x44, 0x41, 0x54, 0x68, 0xde, 0xed, 0x99, 0x7b, 0x8c, 0x5d, 0xc5, 0x7d, 0xc7, 0x3f, 0x33, 0x73, 0xce, 0x7d, 0xec, 0xdd, 0xbb, 0xde, 0x87, 0x6d, 0x58, 0x43, 0x02, 0xa5, 0x25, 0x11, 0x28, 0x44, 0x51, 0xd5, 0x46, 0x2d, 0x8d, 0xa2, 0x84, 0x16, 0x55, 0x89, 0xfa, 0xa0, 0x4a, 0x9b, 0xe6, 0xa1, 0xa4, 0x7f, 0x44, 0x91, 0xf2, 0x52, 0x88, 0x4a, 0xd4, 0x92, 0x50, 0x39, 0xb5, 0x10, 0x55, 0x95, 0x4a, 0xa9, 0x23, 0x55, 0x6d, 0x5a, 0xa4, 0xa4, 0x81, 0xa6, 0xc5, 0xd8, 0xb8, 0x31, 0xb8, 0x32, 0x21, 0x41, 0x26, 0x18, 0xaf, 0x61, 0x51, 0xc1, 0xd8, 0x38, 0x06, 0x9b, 0x60, 0x6c, 0x70, 0x0c, 0xeb, 0xbd, 0xfb, 0xb8, 0xcf, 0x73, 0xe6, 0xf5, 0xeb, 0x1f, 0xe7, 0x7a, 0xd7, 0xc6, 0x98, 0xf8, 0xb1, 0x5b, 0xa5, 0x95, 0x47, 0x3a, 0x9a, 0x73, 0xaf, 0xce, 0xf9, 0x9d, 0xef, 0x77, 0xe6, 0xfb, 0x7b, 0xcc, 0x0c, 0x5c, 0x6c, 0x17, 0xdb, 0xc5, 0x76, 0xb1, 0x9d, 0x45, 0x93, 0xe5, 0x32, 0xac, 0xff, 0x37, 0xc0, 0x1f, 0xba, 0xe7, 0xee, 0x13, 0x24, 0xe4, 0xff, 0x1a, 0x01, 0x39, 0xb2, 0x79, 0x13, 0xda, 0x24, 0x1c, 0xba, 0xe7, 0x6e, 0xd6, 0xbf, 0xe7, 0xdd, 0x4b, 0x4e, 0x44, 0x2d, 0x27, 0xf8, 0x63, 0xdb, 0xfe, 0x8b, 0xe8, 0x3d, 0xc1, 0x39, 0x36, 0x7f, 0xe3, 0xeb, 0xa4, 0xca, 0x20, 0x4a, 0x50, 0xa2, 0xf8, 0xfc, 0x8e, 0x5d, 0x4b, 0x82, 0x61, 0xb9, 0x08, 0xc8, 0xf1, 0x47, 0xb7, 0x13, 0xbd, 0x27, 0xe6, 0x96, 0x0d, 0x77, 0xac, 0x63, 0xa4, 0x56, 0x27, 0x84, 0x80, 0x68, 0xc1, 0xbb, 0x48, 0x08, 0x81, 0x48, 0xe4, 0x0b, 0x8f, 0x3e, 0x7e, 0x41, 0x58, 0x92, 0xe5, 0x00, 0x3f, 0x33, 0xf9, 0x38, 0x12, 0x03, 0x00, 0xff, 0xb1, 0xf6, 0x36, 0xd6, 0xac, 0x5e, 0x4d, 0xa3, 0x31, 0xcb, 0xbe, 0x57, 0x8e, 0xb2, 0x7f, 0xa6, 0xc1, 0x0b, 0x9d, 0x8c, 0x4e, 0x0c, 0xf4, 0x82, 0x50, 0x02, 0xde, 0x37, 0x3a, 0xc4, 0x43, 0x33, 0x4d, 0x39, 0x1f, 0x22, 0x6a, 0x39, 0xc0, 0xeb, 0x52, 0x89, 0x68, 0x2d, 0x77, 0xfd, 0xf9, 0x17, 0xb9, 0xf2, 0xaa, 0xab, 0xd8, 0xbb, 0x77, 0x2f, 0xcf, 0x1d, 0x9f, 0x66, 0xae, 0x67, 0xe9, 0x46, 0x4f, 0xc3, 0x3a, 0xe6, 0x5d, 0xa0, 0x13, 0x03, 0x9d, 0x20, 0xe4, 0x22, 0xbc, 0xa5, 0x94, 0x72, 0xc3, 0xa5, 0x2b, 0xf9, 0xce, 0x91, 0x63, 0xe7, 0x84, 0x4d, 0x2f, 0xb5, 0x6c, 0x24, 0x86, 0x05, 0xf0, 0x57, 0x5f, 0x7b, 0x1d, 0xcf, 0x3f, 0xff, 0x3c, 0xb9, 0x0b, 0xac, 0xae, 0x0e, 0x70, 0xd9, 0x50, 0x8d, 0x91, 0x52, 0x99, 0x55, 0xa5, 0x94, 0x15, 0xa9, 0xa1, 0xaa, 0x0d, 0x55, 0xad, 0x28, 0x2b, 0x85, 0x51, 0x8a, 0x03, 0x73, 0x4d, 0x44, 0x84, 0x1f, 0xde, 0xfc, 0xd9, 0xb3, 0x76, 0x76, 0xb5, 0x94, 0x0e, 0xab, 0xcb, 0x25, 0x74, 0x92, 0xf0, 0xbd, 0xaf, 0xfe, 0x25, 0xbf, 0xfe, 0xfe, 0xf7, 0xf3, 0xca, 0xb3, 0xcf, 0x92, 0x67, 0x39, 0xb9, 0xcb, 0x69, 0x75, 0x7b, 0x4c, 0xcd, 0x35, 0x69, 0xf4, 0x3a, 0x74, 0xac, 0x03, 0x60, 0xba, 0x97, 0xf1, 0x42, 0x27, 0x63, 0xce, 0x7b, 0xb4, 0x82, 0xe3, 0x2e, 0xb0, 0xfd, 0x96, 0x9b, 0x09, 0xc1, 0xe1, 0x72, 0x87, 0xb7, 0x96, 0x3f, 0xf8, 0xf6, 0x5d, 0x6f, 0x8a, 0x55, 0x2d, 0x55, 0xa8, 0x34, 0x69, 0x8a, 0x4e, 0x12, 0x36, 0xdc, 0xb1, 0x8e, 0xdf, 0xbc, 0xf1, 0x46, 0x7a, 0x9d, 0x0e, 0xcd, 0xe9, 0x19, 0x4c, 0x92, 0xe2, 0x6c, 0x8f, 0x6e, 0x63, 0x86, 0x57, 0x1b, 0xd3, 0x8c, 0x0e, 0x0e, 0x31, 0xbc, 0xe6, 0x52, 0x00, 0x3a, 0xd3, 0x0d, 0xf6, 0xbf, 0x74, 0x98, 0xad, 0x2f, 0xbd, 0xc4, 0xd3, 0xad, 0x1e, 0x3b, 0xbe, 0x72, 0x0b, 0xde, 0x7a, 0xbc, 0xb7, 0xb8, 0xcc, 0xe1, 0x9c, 0x03, 0x9f, 0x11, 0xb2, 0x9c, 0x0f, 0x6d, 0xdc, 0xf2, 0x86, 0x98, 0x2f, 0x94, 0x80, 0x1c, 0xba, 0xe7, 0x6e, 0xb4, 0x49, 0x50, 0x26, 0x65, 0xf3, 0x37, 0xbe, 0xce, 0xbb, 0x6f, 0xb8, 0x81, 0x81, 0xfa, 0x30, 0x8d, 0xa3, 0x47, 0x49, 0x2b, 0x29, 0x26, 0x4d, 0x09, 0xce, 0x31, 0x37, 0x35, 0xcd, 0xe8, 0xa5, 0xab, 0xa9, 0xd6, 0xeb, 0xf4, 0x5a, 0x2d, 0xb2, 0x6e, 0x46, 0xf0, 0x8e, 0xee, 0xf1, 0x29, 0x6e, 0xba, 0x67, 0x33, 0x13, 0x6b, 0x6f, 0xc5, 0x5b, 0x8b, 0xcf, 0xfb, 0x04, 0xac, 0x23, 0xb8, 0x1c, 0xb1, 0x39, 0x21, 0xcf, 0x71, 0xce, 0xe1, 0x5c, 0x60, 0x62, 0xff, 0x73, 0xfc, 0xd3, 0xa1, 0x97, 0x17, 0xb0, 0x5f, 0x48, 0x14, 0x92, 0x03, 0xdf, 0xf9, 0x17, 0x82, 0x2b, 0xe4, 0xb0, 0xe5, 0x9b, 0x7f, 0xcf, 0xbb, 0xae, 0xbf, 0x1e, 0x93, 0xa4, 0x24, 0x95, 0x0a, 0xa6, 0x64, 0x18, 0x18, 0x1a, 0x22, 0x29, 0x95, 0xe8, 0x36, 0x9b, 0x0c, 0xad, 0x1c, 0x65, 0x78, 0x7c, 0x0d, 0x9d, 0xd9, 0x59, 0x5c, 0xee, 0x68, 0xcf, 0xcd, 0xd0, 0x99, 0x6e, 0xf0, 0xb1, 0x07, 0x1e, 0xe4, 0x89, 0x75, 0xb7, 0x21, 0x21, 0x20, 0x22, 0x48, 0x0c, 0x48, 0x94, 0xe2, 0xbe, 0x7f, 0x45, 0x81, 0x18, 0x21, 0x86, 0xb8, 0x64, 0x61, 0x54, 0xf6, 0xfd, 0xc3, 0x37, 0x89, 0xde, 0x03, 0xb0, 0xf5, 0x9f, 0xbf, 0xc5, 0xd5, 0xd7, 0x5e, 0x57, 0x4c, 0xa9, 0x31, 0xe8, 0x44, 0xa3, 0x94, 0xc2, 0x5b, 0x4b, 0xf0, 0xa1, 0xe8, 0x6d, 0x01, 0x30, 0x49, 0x8b, 0x4f, 0x76, 0x1b, 0x33, 0x7c, 0xec, 0x81, 0x07, 0x99, 0xbc, 0x7d, 0x2d, 0x31, 0xc6, 0xe2, 0xf2, 0x11, 0x51, 0x42, 0x8c, 0x11, 0x09, 0xa1, 0x40, 0xed, 0x3d, 0x22, 0x82, 0xb3, 0x8e, 0xad, 0xcf, 0xec, 0x61, 0xa4, 0x5a, 0xbe, 0x60, 0x02, 0xb2, 0xfb, 0xef, 0xfe, 0x96, 0x18, 0x3d, 0xe4, 0xf0, 0xe0, 0x77, 0xff, 0x95, 0x2b, 0xd6, 0x8c, 0x13, 0xa5, 0x00, 0x10, 0x9d, 0xc5, 0x67, 0x19, 0x79, 0xaf, 0x07, 0x40, 0xf4, 0x91, 0xbc, 0xd7, 0x23, 0x9b, 0x9f, 0xa1, 0x36, 0x5c, 0xa7, 0x3a, 0xb4, 0x82, 0x6a, 0xbd, 0xc6, 0x47, 0xef, 0xdf, 0xc6, 0x93, 0x7f, 0xb3, 0xae, 0x88, 0x5a, 0xde, 0x2f, 0x92, 0x08, 0xfd, 0x5e, 0x80, 0xe0, 0x89, 0x02, 0x36, 0xb7, 0x6c, 0x7d, 0x66, 0x0f, 0x63, 0x95, 0x32, 0x8d, 0x5e, 0x7e, 0x41, 0x04, 0x64, 0xf2, 0x8e, 0xbf, 0x26, 0x48, 0x80, 0x1c, 0x1e, 0xde, 0xb2, 0x81, 0xb1, 0xa1, 0x15, 0x38, 0x1f, 0xd0, 0xde, 0x62, 0xb3, 0x8c, 0x52, 0xb5, 0x82, 0xed, 0x75, 0xf1, 0xd6, 0x93, 0xb5, 0x1b, 0xe8, 0x24, 0xc1, 0xcd, 0x35, 0x68, 0xb7, 0xbb, 0xcc, 0x4d, 0x3c, 0x4e, 0xad, 0x5e, 0xe3, 0x8f, 0x37, 0xdd, 0x5f, 0x80, 0xf7, 0xae, 0xc8, 0xc8, 0x27, 0x46, 0x5f, 0x02, 0xc1, 0x17, 0xbf, 0x11, 0x8f, 0xf8, 0x80, 0xf7, 0x9e, 0x2d, 0xff, 0xfd, 0x34, 0x97, 0xd7, 0x07, 0x39, 0xdc, 0x6c, 0x51, 0x49, 0xf4, 0x79, 0x13, 0x90, 0x89, 0xb5, 0xb7, 0x16, 0x1f, 0x05, 0x76, 0x6c, 0x2b, 0xa2, 0x42, 0xee, 0x72, 0xb4, 0xd6, 0xa4, 0x9d, 0x36, 0xd6, 0xa4, 0xf4, 0xda, 0x2d, 0x24, 0x06, 0xc6, 0xd6, 0x8c, 0xf3, 0xdc, 0xce, 0x09, 0xb4, 0xd1, 0xe4, 0x2e, 0xa7, 0xdd, 0xcb, 0x68, 0x75, 0x3a, 0xfc, 0xd5, 0x0f, 0x9e, 0x3d, 0x15, 0xbc, 0xf7, 0x04, 0xd7, 0xef, 0xfb, 0xe0, 0x63, 0x88, 0x10, 0x7c, 0x01, 0x7e, 0xf2, 0x49, 0xc6, 0xeb, 0x35, 0x66, 0x7a, 0x19, 0xb5, 0xd4, 0xf0, 0x5a, 0xb7, 0x77, 0x5e, 0x04, 0xe4, 0x91, 0xbf, 0xf8, 0xd2, 0x82, 0xc3, 0x6e, 0xfc, 0xb7, 0x7f, 0x67, 0xac, 0x5e, 0x23, 0x4d, 0x53, 0x52, 0x65, 0xd0, 0x52, 0x68, 0xbe, 0x2c, 0xb3, 0x85, 0x04, 0xfa, 0x32, 0x58, 0x79, 0xc5, 0x95, 0x1c, 0xd8, 0xb7, 0x87, 0xcc, 0x5a, 0x72, 0xe7, 0xf8, 0xda, 0xd3, 0xfb, 0x4e, 0x01, 0x1f, 0x5c, 0xbf, 0x0f, 0x81, 0x10, 0xfb, 0xa3, 0xef, 0x3d, 0x04, 0x4b, 0xc8, 0x72, 0xee, 0x7f, 0x62, 0x92, 0xd1, 0x72, 0x85, 0xf9, 0x5e, 0x8e, 0x93, 0x40, 0xdb, 0x7a, 0x82, 0x9c, 0x9a, 0xdb, 0xcc, 0xd9, 0x80, 0x7f, 0xe8, 0x8b, 0x9f, 0x41, 0x22, 0x28, 0xad, 0xd8, 0xbc, 0xf1, 0x3e, 0x4a, 0xa5, 0x84, 0x10, 0x23, 0x1a, 0x10, 0x55, 0x18, 0x54, 0x02, 0x4a, 0x29, 0x74, 0xb0, 0x84, 0x18, 0xf1, 0x3e, 0x92, 0x96, 0x52, 0x46, 0xc6, 0x56, 0xd1, 0x38, 0xfe, 0x2a, 0x5f, 0x7d, 0x72, 0x0f, 0x93, 0xb7, 0xaf, 0x45, 0x82, 0x5f, 0x1c, 0xf9, 0x10, 0xf0, 0xd6, 0x13, 0x63, 0x7f, 0x16, 0x62, 0x44, 0xa2, 0x47, 0x9c, 0xe5, 0xbe, 0x9d, 0x13, 0x0c, 0x97, 0xca, 0x34, 0x9d, 0xc5, 0x4b, 0xa4, 0x63, 0x03, 0x2d, 0xef, 0xf0, 0x22, 0x1c, 0xce, 0x2c, 0xc0, 0xba, 0xb3, 0x99, 0x01, 0xb9, 0xef, 0x4f, 0xfe, 0x90, 0xe0, 0x02, 0xa4, 0x70, 0xfb, 0x9d, 0xdf, 0xe5, 0x9d, 0x2b, 0x57, 0x12, 0x82, 0x20, 0x5a, 0x98, 0xeb, 0x64, 0x1c, 0xfa, 0xd9, 0x6b, 0x4c, 0xf5, 0x32, 0x3a, 0x21, 0x50, 0x4f, 0x0d, 0x03, 0x49, 0xc2, 0x5b, 0xeb, 0x83, 0x5c, 0x39, 0x36, 0xca, 0xdb, 0xaf, 0xbc, 0x02, 0x53, 0x2e, 0xf3, 0xe5, 0x5d, 0x4f, 0xf1, 0xc4, 0xba, 0xdb, 0xfa, 0x5a, 0x2f, 0x1c, 0x36, 0xb8, 0xd0, 0xd7, 0xbf, 0x5f, 0xbc, 0xf7, 0x96, 0x98, 0x67, 0x6c, 0x7a, 0xf4, 0x31, 0x46, 0xca, 0x55, 0x9a, 0x36, 0xc3, 0xc7, 0x48, 0x33, 0xf7, 0xf4, 0x82, 0xc3, 0x86, 0xc8, 0xce, 0x66, 0xe7, 0x94, 0xfc, 0xf5, 0x66, 0x89, 0x4c, 0xbe, 0xff, 0x89, 0x0f, 0x43, 0x52, 0xc1, 0x24, 0x86, 0xf5, 0x9b, 0x36, 0x71, 0xcd, 0xc8, 0x08, 0x28, 0x8d, 0x51, 0x8a, 0x17, 0x66, 0xe7, 0xf8, 0x61, 0x63, 0x16, 0xa3, 0x8a, 0x5a, 0xa6, 0x66, 0x14, 0x83, 0x26, 0xa1, 0x6c, 0x14, 0x95, 0xfe, 0x33, 0x46, 0x29, 0x76, 0xcc, 0xb7, 0x98, 0x58, 0x7b, 0x2b, 0x72, 0xc2, 0x59, 0xfb, 0x0e, 0x1b, 0xbd, 0x5f, 0x90, 0x4d, 0x08, 0x45, 0x2f, 0xdd, 0x16, 0x9b, 0x76, 0x4e, 0x50, 0x4f, 0x52, 0xac, 0x14, 0x33, 0x7c, 0xbc, 0x9b, 0xd3, 0x09, 0x8e, 0xa6, 0xf5, 0x4c, 0xb6, 0xbb, 0xa7, 0x61, 0x3e, 0xd3, 0x0c, 0xc8, 0xc6, 0x0f, 0xfd, 0x3e, 0x62, 0x1d, 0x0a, 0x58, 0xff, 0xfd, 0x6d, 0xfc, 0xf2, 0xf0, 0x0a, 0x7c, 0x8c, 0x68, 0x03, 0xcf, 0x4e, 0xcf, 0xf0, 0xc8, 0x5c, 0x1b, 0x0d, 0x78, 0x11, 0x82, 0x08, 0x89, 0xd6, 0x38, 0xef, 0x88, 0x1e, 0xca, 0x4a, 0xa1, 0x95, 0xe6, 0x48, 0x6e, 0xd9, 0xf1, 0x95, 0x5b, 0x16, 0x13, 0x92, 0x2f, 0x08, 0x9c, 0x88, 0x36, 0xc1, 0x87, 0x7e, 0xf8, 0xb5, 0x84, 0x76, 0x9b, 0x8d, 0x8f, 0xed, 0x62, 0x74, 0xa0, 0xc2, 0x5c, 0x96, 0x91, 0x68, 0x4d, 0xcb, 0x3a, 0x72, 0x09, 0x74, 0x5c, 0x78, 0x43, 0xf0, 0x67, 0x22, 0x20, 0xdf, 0xfb, 0xbd, 0xdf, 0x25, 0x84, 0xa2, 0x9e, 0xff, 0xd6, 0x43, 0x3f, 0xe2, 0x97, 0x86, 0xea, 0x08, 0x42, 0x54, 0x8a, 0x46, 0xa7, 0xc7, 0x23, 0x73, 0xed, 0x22, 0xc6, 0x03, 0x2b, 0x13, 0xcd, 0xcd, 0xd7, 0x5d, 0xc3, 0xaa, 0x15, 0x23, 0x00, 0xcc, 0x77, 0x5b, 0xdc, 0xb9, 0x67, 0x3f, 0x07, 0x7b, 0x39, 0xdb, 0x6f, 0xb9, 0xb9, 0x30, 0x18, 0xfb, 0x19, 0x56, 0x09, 0x31, 0xc4, 0xc5, 0x68, 0xe3, 0x3d, 0x22, 0x81, 0xd8, 0x69, 0x73, 0xef, 0xce, 0x09, 0x56, 0x0d, 0xd4, 0x78, 0xb5, 0xdb, 0xa6, 0x6b, 0x3d, 0xa9, 0x36, 0xe4, 0x12, 0x68, 0x59, 0xc7, 0xae, 0x56, 0xe7, 0x8c, 0x6a, 0x79, 0x3d, 0x01, 0xf9, 0xf6, 0xef, 0xbc, 0x0f, 0xef, 0x8a, 0x0c, 0x7b, 0xe7, 0x8f, 0x77, 0x70, 0xd9, 0x60, 0x8d, 0x20, 0x82, 0x89, 0x45, 0xf1, 0xfd, 0xcc, 0xdc, 0xfc, 0xc2, 0xc3, 0x6f, 0xab, 0x94, 0xf8, 0xcc, 0xaf, 0xbe, 0x93, 0xe1, 0x81, 0x41, 0xac, 0xf7, 0x0c, 0x54, 0x2b, 0x98, 0x44, 0x71, 0xb0, 0x97, 0xf3, 0xa3, 0x2f, 0x7d, 0xae, 0x30, 0x28, 0xd2, 0x27, 0x20, 0x8b, 0x12, 0x5a, 0x08, 0x95, 0x16, 0xc9, 0x73, 0x36, 0xec, 0xd8, 0xc5, 0x68, 0xa5, 0xc2, 0x6b, 0x9d, 0x0e, 0x6d, 0xef, 0xd1, 0x40, 0x10, 0xa1, 0x6d, 0xfd, 0x69, 0x9a, 0x7f, 0x33, 0x02, 0xf2, 0x8f, 0xef, 0xbd, 0x1e, 0xd7, 0x1f, 0xf9, 0xbb, 0x26, 0x27, 0x59, 0x55, 0xa9, 0x2e, 0x84, 0xad, 0x18, 0x41, 0x8b, 0x70, 0x24, 0xb7, 0x0b, 0x2f, 0xfc, 0xc6, 0xaa, 0x51, 0xea, 0x03, 0x55, 0x8e, 0xcd, 0x35, 0xc8, 0xad, 0x43, 0x6b, 0xcd, 0xd7, 0x9e, 0xde, 0xc7, 0xb6, 0xcf, 0x7e, 0x7a, 0xd1, 0x68, 0x14, 0x84, 0x7e, 0x5d, 0x13, 0x42, 0x91, 0x61, 0xc5, 0x43, 0xf0, 0x84, 0x2c, 0xe7, 0xde, 0x9d, 0x13, 0xac, 0xa8, 0x94, 0x99, 0xb7, 0x39, 0x5d, 0xe7, 0x17, 0x16, 0x28, 0x6d, 0x6f, 0x79, 0xac, 0xd9, 0xfe, 0xb9, 0x05, 0xe7, 0x29, 0x33, 0x70, 0xf0, 0xd8, 0x31, 0xae, 0x1e, 0x1f, 0xe7, 0xde, 0xdd, 0xbb, 0x19, 0xa9, 0x94, 0x11, 0x25, 0x84, 0x50, 0x04, 0x5b, 0x8d, 0x20, 0xa2, 0xc8, 0x4e, 0x0a, 0xc3, 0x3d, 0x17, 0x88, 0x01, 0x2a, 0x69, 0x89, 0xa9, 0xb9, 0x36, 0xeb, 0x0f, 0xbe, 0xc8, 0x03, 0x9f, 0xfa, 0x33, 0xd0, 0xba, 0x60, 0x0c, 0x44, 0x01, 0x45, 0x51, 0x07, 0x11, 0x8b, 0x04, 0x25, 0x3e, 0x10, 0x83, 0x67, 0xe3, 0xce, 0x27, 0xa8, 0x98, 0x84, 0xd9, 0x5e, 0x4e, 0xde, 0x1f, 0xb8, 0x5e, 0x0c, 0xb8, 0x20, 0x67, 0x05, 0xfe, 0x34, 0x02, 0x5a, 0x69, 0x76, 0xbf, 0x7c, 0x84, 0x77, 0x8c, 0xad, 0xe4, 0x48, 0xab, 0x09, 0x1a, 0x8c, 0x82, 0x10, 0x40, 0x74, 0x61, 0xad, 0x04, 0x9c, 0x98, 0x83, 0xfd, 0xad, 0x16, 0xef, 0xf5, 0x16, 0x41, 0x58, 0x7f, 0xf0, 0x45, 0xb6, 0x7c, 0xf2, 0x4f, 0x41, 0x9d, 0x94, 0xea, 0x25, 0xf6, 0xbb, 0x58, 0x10, 0xf0, 0x45, 0x6d, 0xe3, 0x9c, 0xe3, 0x3f, 0x27, 0x9f, 0xa4, 0x62, 0x12, 0x1a, 0x59, 0x8e, 0x51, 0x0a, 0x85, 0x22, 0x8b, 0xee, 0x9c, 0xc0, 0x9f, 0x46, 0xc0, 0xc7, 0x48, 0x2d, 0x49, 0xa9, 0x95, 0xcb, 0x8c, 0x4b, 0x8d, 0x54, 0x19, 0x5e, 0x6e, 0xb5, 0x30, 0x0a, 0x44, 0x40, 0x45, 0xb8, 0xac, 0x9c, 0x72, 0x28, 0x2f, 0x32, 0xf2, 0xab, 0xb9, 0xe5, 0xbe, 0xbd, 0xfb, 0xd8, 0x3e, 0xdb, 0x62, 0xf3, 0x87, 0x6f, 0xea, 0x0f, 0xc2, 0xa2, 0xbd, 0x28, 0x8b, 0x44, 0xa2, 0x14, 0xfe, 0xe0, 0x9d, 0x67, 0xeb, 0x53, 0x4f, 0x31, 0x5a, 0xae, 0x70, 0xb4, 0xdd, 0x29, 0xc2, 0xad, 0x56, 0xcc, 0xda, 0xfc, 0x9c, 0xc1, 0x9f, 0x46, 0xe0, 0x92, 0xe1, 0x3a, 0x99, 0xb5, 0xc4, 0x08, 0x95, 0x24, 0x61, 0xb0, 0x5c, 0xc2, 0x06, 0x4f, 0xc9, 0x24, 0x1c, 0xed, 0xb4, 0x50, 0x02, 0x57, 0xd7, 0xaa, 0x0b, 0x04, 0xa6, 0x7d, 0x64, 0xfb, 0x6c, 0x8b, 0x0d, 0x37, 0x7d, 0x00, 0x54, 0x51, 0x4e, 0x9c, 0x16, 0xd2, 0x44, 0x0a, 0x02, 0x11, 0xbc, 0xf7, 0xfc, 0x60, 0xef, 0x5e, 0x56, 0x94, 0xca, 0x1c, 0x6d, 0x77, 0x48, 0xb4, 0x46, 0x10, 0x66, 0xf2, 0x0c, 0x1f, 0x39, 0x67, 0xf0, 0xa7, 0x11, 0xc8, 0xac, 0xed, 0x87, 0xc7, 0x48, 0xbd, 0x52, 0x26, 0x77, 0x81, 0x6a, 0x29, 0xa5, 0x5e, 0x29, 0xe3, 0x24, 0x14, 0x1b, 0x53, 0x1d, 0xe1, 0x5d, 0x83, 0x15, 0x76, 0xb7, 0x33, 0x44, 0x84, 0xbb, 0x3f, 0x78, 0x63, 0x1f, 0x78, 0x38, 0x33, 0x01, 0xc0, 0x59, 0xc7, 0xc3, 0xcf, 0xed, 0xa7, 0x6a, 0x8a, 0x82, 0xac, 0x94, 0x68, 0x9c, 0x17, 0xe6, 0x5d, 0x8e, 0x52, 0x8a, 0xc7, 0x9a, 0xad, 0xf3, 0x5a, 0x21, 0x9e, 0xfc, 0x82, 0x7c, 0xe1, 0xaa, 0xb7, 0x92, 0x1a, 0x43, 0x9a, 0x16, 0x25, 0x92, 0x52, 0x0a, 0x25, 0x8a, 0x48, 0x24, 0x35, 0xc5, 0x7f, 0x53, 0xed, 0x36, 0x65, 0x65, 0xf8, 0xf8, 0x27, 0x3e, 0xce, 0xbe, 0x89, 0x9d, 0xc5, 0x33, 0x51, 0xbd, 0x21, 0xf8, 0x05, 0x29, 0xa9, 0xc8, 0x83, 0x7b, 0x7e, 0x42, 0x35, 0x35, 0xb4, 0xad, 0x27, 0x35, 0x8a, 0x9e, 0x0b, 0x34, 0x5d, 0x31, 0x60, 0xfd, 0xbc, 0x72, 0x5e, 0xcb, 0x5b, 0xf5, 0xfa, 0x1d, 0xe4, 0x4f, 0xbe, 0xe5, 0x52, 0xca, 0x89, 0xa1, 0xac, 0x0c, 0xa9, 0x31, 0xa8, 0xbe, 0xa8, 0x2b, 0x69, 0x42, 0x6a, 0x0c, 0xbe, 0xef, 0x90, 0xaf, 0xcc, 0x37, 0x19, 0x4a, 0x4b, 0x5c, 0x7b, 0xf9, 0xe5, 0x68, 0xbd, 0x28, 0x1f, 0x7d, 0x52, 0x79, 0x18, 0x43, 0x31, 0x03, 0xdb, 0x0f, 0x3c, 0x5f, 0x48, 0xa8, 0xef, 0xd4, 0x2e, 0x08, 0xbd, 0xe0, 0x88, 0xc0, 0xf6, 0xd9, 0xd6, 0x79, 0x83, 0x3f, 0xd3, 0x8b, 0x02, 0xf0, 0x91, 0xf1, 0xd5, 0x94, 0x12, 0x4d, 0x39, 0x31, 0x24, 0xe8, 0x62, 0x39, 0x68, 0x12, 0x4a, 0x89, 0x26, 0x4d, 0x0c, 0xde, 0x45, 0xf2, 0x10, 0x38, 0xde, 0xeb, 0xb0, 0xa2, 0x5c, 0xe6, 0x9a, 0x35, 0xe3, 0x24, 0x5a, 0xa3, 0x4f, 0xda, 0x6a, 0xf2, 0x44, 0x7e, 0x7c, 0xe0, 0xa7, 0x84, 0xbe, 0x37, 0xfb, 0x18, 0x51, 0x4a, 0xd1, 0xf6, 0x16, 0xa5, 0xd4, 0x05, 0x83, 0xff, 0xb9, 0xc5, 0x1c, 0xc0, 0x1f, 0x5d, 0x32, 0x46, 0x59, 0x9b, 0x05, 0x32, 0xa9, 0x36, 0x24, 0x5a, 0xa3, 0x44, 0x15, 0x49, 0x4e, 0x22, 0x3e, 0x46, 0xe6, 0x72, 0xcb, 0x50, 0xa5, 0xc4, 0x35, 0x6b, 0xc6, 0x17, 0xb4, 0xbf, 0xeb, 0xc5, 0xc3, 0x0b, 0x9b, 0xb9, 0xf3, 0xce, 0x51, 0xd5, 0x86, 0x4e, 0x70, 0x88, 0x08, 0x0f, 0x2f, 0x01, 0xf8, 0xb3, 0x35, 0x20, 0x00, 0x1f, 0x1c, 0x1b, 0x2e, 0xa4, 0xf5, 0x3a, 0x32, 0x0b, 0xd9, 0x56, 0x84, 0xa0, 0x84, 0xa9, 0x76, 0x46, 0x25, 0xd5, 0x24, 0xba, 0xa8, 0x48, 0x5b, 0xd6, 0xd1, 0xb4, 0x96, 0xaa, 0x49, 0xb1, 0xb1, 0x58, 0x90, 0x2c, 0x15, 0xf8, 0x73, 0x35, 0x22, 0x00, 0xbf, 0x3d, 0x52, 0xa7, 0xac, 0xcd, 0x29, 0x64, 0x0a, 0xe9, 0x14, 0x2d, 0x88, 0x60, 0x63, 0xe4, 0x68, 0xbb, 0xc3, 0x25, 0x03, 0x55, 0xa6, 0x7a, 0x19, 0x69, 0xdf, 0x3f, 0x9c, 0xc8, 0x92, 0xc8, 0xe6, 0x42, 0x37, 0xb6, 0x04, 0xe0, 0x3d, 0x43, 0x83, 0x94, 0x8d, 0x3a, 0x85, 0x4c, 0x6a, 0x14, 0xa9, 0x31, 0xb8, 0x10, 0x38, 0xdc, 0xee, 0x50, 0x37, 0x69, 0xbf, 0x8a, 0x85, 0xae, 0xf7, 0x3c, 0x7a, 0x01, 0xd1, 0x66, 0x39, 0xf6, 0x46, 0x05, 0xe0, 0xd7, 0x06, 0x07, 0xa8, 0x68, 0x7d, 0x0a, 0x99, 0x18, 0x61, 0x2a, 0xcb, 0xa8, 0xa7, 0x06, 0xdb, 0xaf, 0x89, 0x1e, 0x59, 0x06, 0xf0, 0x4b, 0xb6, 0x37, 0x0a, 0xf0, 0x8e, 0x5a, 0x85, 0x8a, 0xd2, 0x54, 0xb4, 0x46, 0x6b, 0x68, 0x7a, 0xcf, 0x50, 0x92, 0xe0, 0x82, 0xbc, 0x69, 0x3d, 0xff, 0x8b, 0x74, 0xc4, 0x24, 0x00, 0xbf, 0x52, 0x29, 0x51, 0xee, 0x6b, 0xbe, 0x9e, 0x18, 0x1e, 0x6f, 0x75, 0x97, 0xfb, 0x28, 0x6b, 0x59, 0x8e, 0x54, 0xe5, 0xb7, 0x86, 0x6a, 0xcb, 0x72, 0x2a, 0xf9, 0xff, 0xe2, 0x6c, 0xf8, 0x62, 0xfb, 0x45, 0x6a, 0xff, 0x03, 0x7f, 0x0f, 0x83, 0x20, 0x05, 0xc9, 0x04, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_sun[1918] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x9c, 0xb8, 0x11, 0xca, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0x9f, 0x00, 0x7b, 0x00, 0x01, 0x85, 0xb6, 0xbc, 0x99, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd9, 0x01, 0x02, 0x08, 0x1b, 0x34, 0xe8, 0x1d, 0x68, 0xeb, 0x00, 0x00, 0x07, 0x0b, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xad, 0x97, 0x4b, 0x8c, 0x1c, 0x57, 0x15, 0x86, 0xbf, 0x7b, 0x6f, 0x3d, 0xfa, 0x35, 0xd3, 0xd3, 0xf3, 0xf2, 0xf8, 0x15, 0x3b, 0x76, 0x1c, 0x85, 0x05, 0x04, 0x45, 0x0e, 0x36, 0x32, 0x11, 0x8a, 0x48, 0xe4, 0x28, 0xc0, 0x8a, 0xc7, 0x2a, 0x2c, 0x40, 0x59, 0xb0, 0x00, 0x36, 0xac, 0x58, 0x11, 0xa4, 0xec, 0x90, 0xb2, 0x41, 0xd9, 0xf1, 0x10, 0x48, 0x11, 0x42, 0x46, 0x22, 0x32, 0x12, 0x20, 0x10, 0x44, 0x04, 0x83, 0x64, 0x14, 0x14, 0x83, 0x94, 0xd8, 0x41, 0x31, 0xf6, 0x78, 0x6c, 0x67, 0x3c, 0x99, 0x9e, 0x47, 0xf7, 0x74, 0xbd, 0xab, 0x0e, 0x8b, 0x7b, 0x7b, 0xba, 0xec, 0x90, 0x40, 0x4c, 0x5a, 0x3a, 0xba, 0x57, 0x55, 0x5d, 0xf7, 0xfc, 0xe7, 0x3f, 0xe7, 0x3f, 0x75, 0x4a, 0x71, 0x17, 0xbf, 0x87, 0xef, 0x6b, 0xaa, 0x76, 0x2b, 0xeb, 0xfa, 0xbe, 0x2c, 0xf9, 0x06, 0x2f, 0x4e, 0x55, 0x9a, 0x16, 0xfa, 0xe6, 0x5f, 0x5e, 0xcb, 0x47, 0x77, 0x73, 0x9e, 0xfa, 0x5f, 0xfe, 0xd4, 0x34, 0x3d, 0x4e, 0x3d, 0x38, 0x98, 0x9b, 0xeb, 0xca, 0x17, 0x3b, 0x4d, 0x9e, 0x6c, 0x04, 0x72, 0xa2, 0x11, 0xb2, 0x10, 0x7a, 0xa0, 0x34, 0x14, 0x05, 0xc4, 0x29, 0x55, 0x92, 0xaa, 0x6b, 0x71, 0xc2, 0xb9, 0x41, 0xc4, 0x8b, 0xeb, 0x9b, 0xfe, 0x2f, 0xff, 0x7c, 0x29, 0xcd, 0x3e, 0x10, 0x10, 0x4f, 0x9c, 0xd4, 0x07, 0xf6, 0x74, 0xf9, 0xf6, 0x6c, 0x57, 0x9e, 0xda, 0x33, 0x47, 0x63, 0xba, 0x03, 0xcd, 0x06, 0x84, 0x1e, 0x18, 0xcf, 0xfe, 0xa7, 0x28, 0x21, 0xcf, 0x21, 0xcd, 0x60, 0x67, 0x04, 0x9b, 0x03, 0x58, 0xdb, 0x60, 0x75, 0x63, 0x5b, 0x3d, 0xd7, 0x1f, 0x86, 0xdf, 0x7b, 0xe9, 0x42, 0x9c, 0xdc, 0x15, 0x88, 0x13, 0x47, 0x03, 0x7d, 0xef, 0xa1, 0xe2, 0x1b, 0xfb, 0xe7, 0xe5, 0xd9, 0x83, 0x4b, 0xb4, 0x67, 0x7b, 0x30, 0xdd, 0x81, 0x56, 0x08, 0x8d, 0x00, 0x3c, 0x0f, 0xb4, 0x7b, 0xba, 0xa8, 0xa0, 0x2c, 0x20, 0xcd, 0x85, 0x28, 0x51, 0xec, 0x44, 0xc2, 0x60, 0xa8, 0x78, 0x7b, 0x13, 0x56, 0x56, 0xd5, 0xe5, 0xb5, 0x3e, 0x5f, 0x39, 0x7b, 0xbe, 0x7a, 0xf9, 0x7d, 0x81, 0x38, 0x7d, 0xd2, 0x0b, 0xf7, 0xcf, 0x54, 0x2f, 0x1c, 0x39, 0x28, 0x9f, 0x3b, 0xb0, 0x08, 0xb3, 0x3d, 0xe8, 0x76, 0xa0, 0xd5, 0x80, 0x66, 0x68, 0x01, 0x78, 0x1e, 0x28, 0x05, 0x02, 0x48, 0x35, 0x61, 0x23, 0x49, 0x21, 0x4e, 0x61, 0x14, 0xef, 0x32, 0xc2, 0xf2, 0x4d, 0xca, 0x95, 0x55, 0xf5, 0xad, 0xcb, 0xd7, 0xf5, 0x77, 0x2f, 0x5c, 0x29, 0xde, 0xe1, 0xcf, 0xdc, 0x79, 0xe1, 0x53, 0x1f, 0xd5, 0x8d, 0x43, 0x0b, 0xf2, 0x9b, 0x07, 0x8e, 0xca, 0x93, 0x87, 0xf7, 0xc3, 0xde, 0x79, 0x58, 0xe8, 0x41, 0x6f, 0x1a, 0xa6, 0xa6, 0xa0, 0xd3, 0x16, 0xda, 0x2d, 0x45, 0xb3, 0x09, 0xcd, 0x26, 0x34, 0x42, 0x68, 0x34, 0x20, 0x08, 0xc0, 0xf7, 0x2c, 0xc8, 0xc0, 0x87, 0xc0, 0x73, 0x6b, 0x00, 0xad, 0x00, 0x6d, 0x0c, 0x8f, 0x1b, 0x08, 0x5e, 0x5b, 0x96, 0x3f, 0xbc, 0x27, 0x88, 0x8f, 0x1f, 0x43, 0xdd, 0x7b, 0x40, 0xfd, 0xf4, 0x81, 0x23, 0xf2, 0xe4, 0x3d, 0xfb, 0x60, 0x71, 0x0e, 0xe6, 0xba, 0x30, 0x3d, 0x05, 0x1d, 0xc7, 0x44, 0xbb, 0xa5, 0x68, 0xba, 0x94, 0x84, 0xbe, 0xda, 0x75, 0x18, 0xfa, 0xe0, 0x07, 0xa0, 0x8d, 0x63, 0xca, 0x80, 0x6f, 0x2c, 0x30, 0xdf, 0xb7, 0x80, 0x44, 0xf1, 0xc8, 0x9e, 0xae, 0xe9, 0x5f, 0xbc, 0x26, 0x7f, 0x7d, 0x57, 0x10, 0xa7, 0x3e, 0xac, 0xbf, 0x7e, 0xec, 0x90, 0x7c, 0xf3, 0xf0, 0x3e, 0x58, 0x9a, 0x87, 0xd9, 0xee, 0x38, 0x7a, 0x0b, 0xa0, 0xe5, 0x22, 0xf6, 0x7c, 0x5b, 0x94, 0x3a, 0x00, 0x63, 0xec, 0xde, 0x18, 0x30, 0x1a, 0x3c, 0x6d, 0x81, 0x68, 0xb7, 0x1a, 0x6d, 0x4d, 0x6b, 0x0b, 0x08, 0xe1, 0xb1, 0x5e, 0xdb, 0xfc, 0xfa, 0x9f, 0x37, 0xaa, 0xb7, 0xde, 0x01, 0xe2, 0xf4, 0xc3, 0x66, 0xdf, 0xe1, 0xbd, 0xf2, 0xe2, 0x91, 0x83, 0x04, 0x7b, 0x17, 0x26, 0x0c, 0xb4, 0x5a, 0xd0, 0x6e, 0x5a, 0x9a, 0xfd, 0x00, 0xb4, 0x07, 0x2a, 0x00, 0x7c, 0xc0, 0x73, 0x27, 0xf8, 0x56, 0xaa, 0xa6, 0x66, 0x0a, 0x7b, 0x4d, 0x98, 0x14, 0x70, 0x29, 0xa0, 0x14, 0x66, 0x67, 0x24, 0xc7, 0x9b, 0x5e, 0xf0, 0xfd, 0x95, 0xf5, 0x52, 0x70, 0xc7, 0x00, 0xb0, 0xd0, 0x95, 0x67, 0xf6, 0x2d, 0xd2, 0xe9, 0x75, 0x61, 0xaa, 0x0d, 0xad, 0x26, 0x84, 0xa1, 0x55, 0xc3, 0x98, 0x6a, 0x02, 0xc0, 0x08, 0x18, 0x05, 0x1a, 0x6b, 0x00, 0xa5, 0x03, 0xe3, 0xa2, 0xf7, 0x14, 0x34, 0xdd, 0x2d, 0xa9, 0xac, 0x65, 0xb9, 0x55, 0x57, 0x1c, 0xc3, 0xd2, 0x22, 0x0f, 0xf5, 0xb7, 0x8b, 0x2f, 0x00, 0x3f, 0xdb, 0x65, 0xe2, 0xd1, 0x07, 0xcd, 0xd2, 0xa1, 0xbd, 0xf2, 0xa3, 0x43, 0xfb, 0xf1, 0x16, 0x67, 0xa1, 0xd7, 0x81, 0xf6, 0x18, 0x48, 0xe0, 0x18, 0x08, 0x1c, 0x64, 0x4f, 0xd9, 0x55, 0xdf, 0x61, 0x6a, 0x02, 0x4a, 0xd5, 0x64, 0x57, 0x61, 0xd9, 0xa8, 0x4a, 0xa8, 0x9c, 0x8a, 0x8a, 0x1c, 0x06, 0x23, 0x75, 0x60, 0xb8, 0xae, 0x7e, 0xb0, 0x99, 0x88, 0x7d, 0xac, 0xd7, 0x91, 0xcf, 0xcf, 0xcd, 0x10, 0x76, 0x5a, 0xae, 0xba, 0x83, 0x89, 0x0c, 0x03, 0x1f, 0x8c, 0x27, 0xd6, 0x81, 0xa9, 0xa5, 0xa0, 0xbe, 0x57, 0xb5, 0x6b, 0xbe, 0x35, 0xed, 0x8a, 0x32, 0xf0, 0xec, 0x1a, 0x06, 0xb6, 0x98, 0x9b, 0x0d, 0x98, 0xea, 0xc0, 0xcc, 0xb4, 0x9c, 0xbc, 0xef, 0xa8, 0x3a, 0xca, 0x18, 0x7b, 0xbb, 0xc5, 0x63, 0x9d, 0x96, 0x95, 0x5b, 0xe8, 0xdb, 0xc2, 0xf3, 0x7d, 0x5b, 0xe1, 0xda, 0x60, 0xe9, 0x1f, 0x3b, 0xd5, 0x35, 0x87, 0x63, 0x16, 0xee, 0x64, 0xc6, 0xb3, 0xa6, 0xc7, 0xaa, 0x71, 0xe9, 0x0c, 0x7c, 0x68, 0xfa, 0x96, 0xe1, 0xd9, 0x69, 0x68, 0xb7, 0xe5, 0x09, 0x00, 0xfd, 0xd0, 0xfd, 0x0d, 0x7c, 0x4f, 0x4e, 0x34, 0x1d, 0x80, 0x71, 0x95, 0x1b, 0x65, 0x0d, 0x00, 0x2d, 0x13, 0xca, 0x77, 0xdb, 0x9b, 0x80, 0xaa, 0x59, 0x3d, 0x25, 0xce, 0x94, 0x0b, 0xc2, 0x37, 0x36, 0x20, 0xe3, 0xe4, 0x1b, 0x7a, 0xd0, 0x6c, 0x08, 0xcd, 0x40, 0x4e, 0x01, 0x68, 0xa3, 0xa4, 0x15, 0xf8, 0x2c, 0x79, 0x9e, 0x93, 0x95, 0xb2, 0xeb, 0xed, 0x4e, 0xd5, 0xa4, 0x08, 0x95, 0xa0, 0x94, 0x75, 0x60, 0x9d, 0xd6, 0xee, 0xd5, 0x0b, 0x42, 0xcb, 0x2e, 0x60, 0xe3, 0xce, 0xf4, 0x1c, 0x08, 0xe3, 0x41, 0xe8, 0x29, 0x02, 0x4f, 0x1d, 0x03, 0xd0, 0x81, 0xc9, 0xbb, 0x81, 0x6b, 0xc1, 0x28, 0xb7, 0x02, 0x22, 0x2e, 0x58, 0x3d, 0x09, 0xdc, 0x56, 0x9a, 0x42, 0x14, 0x88, 0x52, 0x16, 0x80, 0x72, 0xf7, 0x6a, 0x85, 0x69, 0x81, 0xa8, 0xdb, 0x80, 0xa9, 0x1a, 0x8b, 0x5a, 0x83, 0xd2, 0x82, 0xd6, 0x32, 0x07, 0xe0, 0x69, 0x2d, 0x4a, 0x69, 0xeb, 0x54, 0xc4, 0x56, 0xb0, 0x54, 0x13, 0xd6, 0xa5, 0x74, 0x51, 0xef, 0x7a, 0x02, 0x2a, 0xb7, 0x57, 0x32, 0x01, 0x28, 0x35, 0xa0, 0xe5, 0x58, 0x12, 0xce, 0xb9, 0x3b, 0x17, 0x87, 0x4d, 0xc4, 0x3e, 0xaf, 0xa0, 0x00, 0xd0, 0x79, 0xea, 0x45, 0x79, 0x3e, 0x91, 0x90, 0x08, 0x94, 0x95, 0xb5, 0xca, 0xe9, 0x7c, 0xcc, 0xc0, 0x44, 0x6f, 0x6e, 0x5f, 0x29, 0x54, 0xed, 0xba, 0xd4, 0x81, 0xb8, 0xb5, 0xaa, 0x14, 0x55, 0xad, 0x67, 0x54, 0x02, 0x22, 0x8a, 0xaa, 0x82, 0xaa, 0x62, 0xc3, 0x96, 0x9c, 0x98, 0xed, 0xac, 0x60, 0x35, 0x2b, 0x20, 0xcd, 0x21, 0x2f, 0xa0, 0x2c, 0xdd, 0x5b, 0xb1, 0x70, 0x87, 0x57, 0x2e, 0xba, 0xd2, 0x09, 0xbf, 0x66, 0xd6, 0xb1, 0x82, 0xd2, 0x11, 0x53, 0x39, 0xa6, 0xc6, 0xf7, 0x2b, 0xa1, 0x1c, 0x07, 0x26, 0xae, 0x4f, 0x94, 0x90, 0x15, 0x90, 0x15, 0xea, 0x1a, 0x80, 0x3e, 0xff, 0x66, 0x22, 0x51, 0xa4, 0x2e, 0xc6, 0x89, 0x90, 0xe7, 0x76, 0x4a, 0xca, 0x0b, 0xcb, 0x4c, 0x59, 0x42, 0x56, 0x82, 0x14, 0x77, 0x00, 0x90, 0xda, 0xbe, 0xac, 0x5d, 0xdb, 0xfd, 0x8f, 0x05, 0x55, 0x55, 0x76, 0xd6, 0x28, 0xc6, 0x81, 0xe5, 0x6e, 0xee, 0xc8, 0x20, 0x4a, 0x84, 0x24, 0x53, 0xe7, 0x77, 0xfb, 0x44, 0x92, 0xc8, 0xaf, 0x46, 0x11, 0x24, 0x09, 0x24, 0xb9, 0x6d, 0xb1, 0x79, 0x66, 0xd7, 0xa2, 0x80, 0xaa, 0xa8, 0x01, 0x29, 0xb1, 0x99, 0xac, 0x6a, 0x75, 0x50, 0x67, 0xca, 0xdd, 0x17, 0xe7, 0x70, 0x1c, 0x54, 0xee, 0x58, 0x8e, 0x33, 0x48, 0x53, 0x18, 0x0e, 0x15, 0x3b, 0x91, 0x7d, 0xad, 0x6b, 0x80, 0xcd, 0x48, 0x9f, 0x59, 0xdf, 0x52, 0xc5, 0x28, 0x82, 0x28, 0x86, 0x24, 0xb3, 0xc3, 0x49, 0xe6, 0x46, 0xb6, 0xac, 0xb0, 0x07, 0x92, 0x3b, 0x2b, 0xdd, 0x5a, 0xdc, 0xb1, 0x3a, 0x93, 0xdc, 0x46, 0x9e, 0x8f, 0x53, 0x9c, 0x42, 0xe6, 0xce, 0x8c, 0x62, 0x18, 0x8e, 0x84, 0x8d, 0x01, 0x97, 0x76, 0x86, 0xd5, 0x85, 0x5d, 0x10, 0x2f, 0xfd, 0xbd, 0x5c, 0xde, 0x1a, 0xf0, 0x8b, 0xcd, 0x01, 0x0c, 0x46, 0xf6, 0x25, 0x13, 0xa7, 0xf6, 0xa1, 0x24, 0xb5, 0xe8, 0xb3, 0x0c, 0xca, 0x0c, 0x24, 0x05, 0x32, 0x20, 0x13, 0x48, 0x6b, 0xce, 0x1d, 0x10, 0x49, 0xa1, 0xcc, 0x27, 0x33, 0x67, 0x9a, 0x5a, 0x8b, 0x13, 0x88, 0x52, 0x18, 0x46, 0x42, 0x7f, 0x4b, 0x31, 0x18, 0xea, 0xe7, 0xcf, 0xbd, 0x61, 0xcb, 0x77, 0xf7, 0x55, 0xbe, 0x77, 0xde, 0xbb, 0x14, 0x18, 0x79, 0xba, 0xd3, 0xc2, 0x84, 0xc1, 0xa4, 0x73, 0xee, 0xb6, 0x89, 0xba, 0x22, 0xab, 0x89, 0x42, 0x94, 0x4b, 0x95, 0x14, 0xd6, 0x79, 0x59, 0x1b, 0x7a, 0xe3, 0x14, 0x92, 0x18, 0x46, 0x11, 0x0c, 0x23, 0xd8, 0xdc, 0x86, 0xb5, 0xbe, 0xe2, 0xca, 0x75, 0xae, 0x5c, 0x5d, 0x53, 0x4f, 0x5f, 0x5b, 0x93, 0xe2, 0x36, 0x10, 0xff, 0xba, 0x59, 0xad, 0x1d, 0x9c, 0x57, 0xed, 0xb0, 0xc1, 0x27, 0xc2, 0x40, 0x30, 0x46, 0x61, 0x8c, 0xd5, 0xf5, 0xb8, 0x1f, 0x8d, 0x8b, 0x1e, 0x2b, 0xaf, 0x89, 0xb9, 0xdc, 0x67, 0x99, 0x4b, 0xe5, 0x98, 0x7a, 0x97, 0xde, 0x61, 0x04, 0x5b, 0x3b, 0xf0, 0xf6, 0x86, 0x70, 0xf5, 0x86, 0x92, 0x95, 0x35, 0xf5, 0xd4, 0x6f, 0x5f, 0xa9, 0x2e, 0xfe, 0xc7, 0xc9, 0x6a, 0x61, 0xc6, 0x7f, 0x99, 0xb2, 0x7a, 0x34, 0xf4, 0xd5, 0x3d, 0xbe, 0x6b, 0xcb, 0x6a, 0xdc, 0x3d, 0x9d, 0xc3, 0xd2, 0x55, 0x7c, 0x5e, 0x38, 0x99, 0x95, 0xb6, 0x76, 0x92, 0xd4, 0xe6, 0x3f, 0x49, 0x2c, 0xfd, 0x49, 0x02, 0x3b, 0x11, 0x6c, 0x8f, 0x60, 0x73, 0x07, 0xd6, 0xfb, 0xc2, 0xca, 0xaa, 0xe2, 0xea, 0x0d, 0xf5, 0xdc, 0xcf, 0xff, 0x54, 0x3d, 0xff, 0xae, 0xe3, 0xdd, 0xf2, 0x5a, 0x55, 0x2e, 0x76, 0xf4, 0xd9, 0xa2, 0xe4, 0xb3, 0xbe, 0xcf, 0x82, 0x31, 0xa0, 0x10, 0x2a, 0xd4, 0x6e, 0x13, 0xab, 0xca, 0xdb, 0xab, 0x3e, 0x1b, 0xab, 0xc9, 0x39, 0x4e, 0x12, 0x1b, 0xfd, 0x60, 0x64, 0x6d, 0x6b, 0x00, 0xeb, 0x7d, 0xb8, 0x7e, 0x4b, 0x71, 0x79, 0x45, 0x9d, 0xb9, 0x71, 0x33, 0xfc, 0xea, 0x72, 0xbf, 0x90, 0xf7, 0x9c, 0xb6, 0xaf, 0xac, 0x49, 0xdc, 0x9b, 0x32, 0x67, 0xf2, 0x4c, 0x3e, 0xa9, 0x15, 0xfb, 0x0d, 0x8a, 0xa2, 0x9a, 0x8c, 0xf5, 0xe3, 0xd1, 0x7e, 0x4c, 0x7f, 0x96, 0x41, 0x9a, 0xd8, 0xc2, 0x1b, 0xc5, 0x36, 0xfa, 0x41, 0x04, 0x5b, 0x23, 0x61, 0x63, 0x4b, 0xb1, 0xde, 0x87, 0xe5, 0x9b, 0x70, 0xe5, 0xba, 0xfa, 0xe1, 0x5b, 0xfd, 0xe0, 0xcb, 0x7f, 0x7c, 0x3d, 0x29, 0xff, 0xeb, 0xc8, 0x0f, 0x70, 0xf5, 0x96, 0x8c, 0x5a, 0x2d, 0xf3, 0x42, 0x9e, 0xc8, 0x54, 0x92, 0x71, 0xbc, 0xaa, 0xd0, 0xe3, 0xa8, 0xd3, 0x0c, 0xb2, 0x4c, 0x88, 0x33, 0x65, 0x29, 0x4f, 0xac, 0x9a, 0x86, 0x0e, 0xc0, 0xd6, 0x10, 0xfa, 0xdb, 0xb0, 0xbe, 0x01, 0xb7, 0xd6, 0x14, 0x97, 0xaf, 0x33, 0xbc, 0xb6, 0xaa, 0xbe, 0xb6, 0x32, 0x08, 0x9e, 0x39, 0xf7, 0x8f, 0xa4, 0xba, 0xab, 0xcf, 0xc0, 0x4f, 0x1f, 0x37, 0x1f, 0xeb, 0xcd, 0xc8, 0xb3, 0x73, 0x5d, 0x79, 0x7c, 0xbe, 0x67, 0xe7, 0xcf, 0xa6, 0x1b, 0xf9, 0x3c, 0x3d, 0x19, 0xe1, 0x8a, 0x12, 0xf2, 0x54, 0x88, 0x52, 0xc5, 0x60, 0x07, 0xd6, 0x37, 0x49, 0xfb, 0xdb, 0xfc, 0xa4, 0xbf, 0xad, 0xbf, 0xf3, 0xbb, 0x57, 0xcb, 0x1b, 0xff, 0xf7, 0x07, 0x31, 0xc0, 0xe9, 0xe3, 0xe6, 0x23, 0xdd, 0x8e, 0x7c, 0xa9, 0xd3, 0x90, 0xcf, 0xb4, 0x9a, 0xdc, 0xdf, 0x6e, 0xa2, 0x7d, 0x37, 0x02, 0x54, 0x95, 0x4d, 0xcb, 0x28, 0x26, 0x89, 0x62, 0xfe, 0x36, 0x8c, 0xd4, 0xd9, 0xad, 0x48, 0xfd, 0xf8, 0xf7, 0xaf, 0x96, 0xb7, 0x3e, 0xb0, 0xaf, 0xf2, 0xdb, 0xf3, 0x37, 0xc3, 0x23, 0x1f, 0x1a, 0xce, 0xb7, 0x5b, 0x1c, 0xd1, 0x9e, 0x2c, 0x69, 0x25, 0x01, 0x95, 0x8a, 0xe2, 0x42, 0x56, 0x36, 0x46, 0xe1, 0x9b, 0xaf, 0xbc, 0x91, 0xc4, 0xef, 0xf7, 0xcc, 0x7f, 0x03, 0xce, 0x64, 0xa2, 0x49, 0x35, 0x45, 0x09, 0x74, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_tucnak[2036] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1, 0x8e, 0x7c, 0xfb, 0x51, 0x93, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xf9, 0xff, 0x00, 0x00, 0x80, 0xe9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, 0x6f, 0x92, 0x5f, 0xc5, 0x46, 0x00, 0x00, 0x07, 0x6a, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x62, 0xf8, 0xff, 0xff, 0x3f, 0x03, 0x08, 0x53, 0x08, 0x84, 0x81, 0xb8, 0x91, 0x81, 0x91, 0xf1, 0x2c, 0x90, 0x3e, 0x01, 0xc4, 0x99, 0x40, 0xcc, 0x8c, 0x4f, 0x03, 0xcc, 0x5e, 0x80, 0x00, 0x62, 0x61, 0xa0, 0x1c, 0x68, 0x00, 0xf1, 0x4a, 0x59, 0x45, 0x15, 0x3d, 0x55, 0x0d, 0x0d, 0x06, 0x66, 0x26, 0x26, 0x86, 0x4b, 0x67, 0xcf, 0x98, 0xbf, 0x7c, 0xf1, 0x4c, 0x09, 0x28, 0x5e, 0x4a, 0x48, 0x33, 0x40, 0x00, 0x31, 0x51, 0x68, 0xb9, 0x19, 0xd0, 0xd7, 0xfb, 0x9c, 0x5d, 0xdd, 0xf4, 0x04, 0x04, 0x04, 0x18, 0xd8, 0xd9, 0x39, 0x19, 0x64, 0xe4, 0xe4, 0x19, 0xa2, 0x62, 0xe3, 0x19, 0x84, 0x44, 0xc5, 0x8b, 0x81, 0xf2, 0x91, 0x84, 0x0c, 0x00, 0x08, 0x20, 0x4a, 0x1c, 0x00, 0xb4, 0x8f, 0xb3, 0x6f, 0xf9, 0xca, 0x55, 0x92, 0x7b, 0x76, 0xed, 0x64, 0x50, 0x52, 0x56, 0x62, 0x78, 0xf3, 0xfa, 0x15, 0xc3, 0xc3, 0xbb, 0x77, 0x19, 0xee, 0xdf, 0xbf, 0xcf, 0xa0, 0xa6, 0xaa, 0xce, 0x08, 0x54, 0x13, 0x06, 0xc4, 0x8c, 0xf8, 0x0c, 0x01, 0x08, 0x20, 0x4a, 0x1c, 0x10, 0xea, 0xe9, 0xe5, 0x6b, 0xbd, 0x77, 0xfb, 0x26, 0x86, 0xcf, 0x6f, 0x9e, 0x33, 0xc8, 0x8b, 0xcb, 0x30, 0x28, 0x2a, 0x69, 0x30, 0x2c, 0x5a, 0xb4, 0x98, 0xa1, 0xb2, 0xa2, 0x84, 0xe1, 0xe3, 0xc7, 0xb7, 0x20, 0x35, 0xb2, 0x40, 0xcc, 0x87, 0xcf, 0x10, 0x80, 0x00, 0x22, 0xd7, 0x01, 0x4c, 0x7c, 0x3c, 0x2c, 0x69, 0x89, 0x7e, 0x5a, 0x0c, 0x3e, 0xd6, 0x3a, 0x0c, 0xbc, 0x1f, 0x0f, 0x31, 0x14, 0x38, 0xbe, 0x67, 0x50, 0x78, 0xb7, 0x91, 0x41, 0xf4, 0xfb, 0x03, 0x06, 0x33, 0x63, 0x63, 0x06, 0x29, 0x29, 0x90, 0xdd, 0x0c, 0x9c, 0xa0, 0x90, 0xc2, 0x67, 0x10, 0x40, 0x00, 0x31, 0x90, 0x99, 0x0b, 0x1c, 0xdb, 0x4b, 0x74, 0xff, 0xfd, 0x07, 0x83, 0x27, 0xff, 0xff, 0xbf, 0x2e, 0xfd, 0xff, 0xff, 0xa6, 0xe0, 0xff, 0xff, 0xc7, 0x80, 0x46, 0xcd, 0x65, 0xf8, 0x7f, 0x38, 0xc7, 0xff, 0xbf, 0xab, 0x77, 0x00, 0xc8, 0xd0, 0x1b, 0x40, 0x2c, 0x81, 0xcf, 0x5e, 0x80, 0x00, 0x22, 0x37, 0x17, 0x44, 0x04, 0xfb, 0xa9, 0x32, 0x32, 0xfc, 0xdb, 0xca, 0xc0, 0x70, 0x6f, 0x19, 0xc3, 0xbf, 0xe7, 0x07, 0x19, 0xbe, 0x3c, 0xf9, 0xc2, 0xf0, 0xf8, 0xb5, 0x26, 0xc3, 0xd3, 0x0f, 0x7a, 0x0c, 0x8f, 0x65, 0x0d, 0x18, 0xfe, 0xdf, 0x07, 0xe5, 0x46, 0x86, 0x7f, 0x20, 0xbb, 0xf0, 0x19, 0x04, 0x10, 0x40, 0xe4, 0x38, 0x40, 0x0a, 0x88, 0xfd, 0x7e, 0xfe, 0x62, 0x61, 0xf8, 0x74, 0xeb, 0x08, 0xc3, 0xe3, 0x47, 0x8a, 0x0c, 0x1f, 0xbe, 0x59, 0x30, 0xbc, 0x67, 0x91, 0x61, 0x60, 0x54, 0x16, 0x63, 0xd0, 0x33, 0xd7, 0x67, 0xd0, 0xfc, 0xfd, 0x95, 0x61, 0xc1, 0x8e, 0xbd, 0x44, 0x19, 0x06, 0x10, 0x40, 0xe4, 0x38, 0xc0, 0x5f, 0x54, 0x5c, 0x42, 0x42, 0xcd, 0x76, 0x19, 0xc3, 0x8f, 0x3f, 0xcc, 0x0c, 0xac, 0xec, 0xef, 0x18, 0x64, 0xd9, 0x99, 0x18, 0xf4, 0x04, 0xb8, 0x18, 0x78, 0xb9, 0xd8, 0xc0, 0x0a, 0x7e, 0xff, 0xe5, 0x02, 0xa6, 0x7d, 0x70, 0xe2, 0x67, 0x25, 0x54, 0x20, 0x01, 0x04, 0x10, 0xa9, 0x0e, 0x00, 0x99, 0x1a, 0xee, 0xe9, 0xee, 0xce, 0xc0, 0xc6, 0xc6, 0x0c, 0xc4, 0xc0, 0x24, 0xae, 0x28, 0x84, 0xa1, 0x88, 0x95, 0x99, 0x89, 0x81, 0x8b, 0x13, 0x94, 0xfe, 0x18, 0x78, 0x81, 0x98, 0x0d, 0x9f, 0x81, 0x00, 0x01, 0x44, 0x6a, 0x2e, 0xb0, 0x00, 0x62, 0x9b, 0xf8, 0xf8, 0x38, 0x82, 0x0a, 0x39, 0x21, 0x0e, 0x10, 0x04, 0x62, 0x31, 0x7c, 0xea, 0x00, 0x02, 0x88, 0x54, 0x07, 0xc4, 0x18, 0x99, 0x9a, 0x32, 0x3b, 0x39, 0x39, 0x11, 0x54, 0xc8, 0xcd, 0xc3, 0xcb, 0xc0, 0xc4, 0xc2, 0x0a, 0xf2, 0xbd, 0x31, 0x3e, 0x75, 0x00, 0x01, 0x44, 0x8a, 0x03, 0x0c, 0x81, 0x38, 0xb6, 0xb2, 0xbc, 0x9c, 0xa0, 0xc2, 0xe7, 0x2f, 0x5e, 0x30, 0x30, 0x31, 0x31, 0x33, 0x68, 0x6a, 0xeb, 0x80, 0xb8, 0x3e, 0xf8, 0xd4, 0x02, 0x04, 0x10, 0xb1, 0x0e, 0x00, 0x25, 0xa6, 0x76, 0x47, 0x27, 0x67, 0xde, 0x90, 0xe0, 0x60, 0x82, 0x8a, 0xcf, 0x5f, 0xba, 0xc2, 0xf0, 0xfe, 0xc3, 0x7b, 0x06, 0x0d, 0x2d, 0x5d, 0x06, 0x16, 0x56, 0x76, 0x17, 0xa0, 0x90, 0x1d, 0x2e, 0xb5, 0x00, 0x01, 0x44, 0x8c, 0x03, 0x38, 0x80, 0xb8, 0x8b, 0x9d, 0x93, 0xdb, 0x7d, 0xda, 0xd4, 0xa9, 0x44, 0xb9, 0x76, 0xdb, 0x8e, 0x9d, 0x0c, 0xdf, 0xbf, 0x7f, 0x67, 0xe0, 0xe5, 0xe3, 0x65, 0xd0, 0x33, 0x32, 0x06, 0x45, 0x43, 0x09, 0xae, 0x3a, 0x01, 0x20, 0x80, 0x08, 0x39, 0x40, 0x1f, 0x88, 0x0f, 0x00, 0x71, 0x41, 0x55, 0x65, 0x39, 0x83, 0x86, 0x86, 0x3a, 0x41, 0xcb, 0xb7, 0xef, 0xda, 0xc3, 0x70, 0xf2, 0xe4, 0x29, 0x60, 0x4d, 0xc5, 0x0e, 0x76, 0x84, 0x99, 0xa9, 0x05, 0x83, 0xb0, 0x98, 0x84, 0x2f, 0x50, 0x2a, 0x1a, 0x9b, 0x7a, 0x80, 0x00, 0x62, 0x84, 0x15, 0xc3, 0x8c, 0x8c, 0x18, 0x0e, 0xcc, 0xe4, 0xe4, 0xe6, 0xee, 0x70, 0x71, 0x71, 0xe1, 0x7b, 0xfb, 0xe6, 0x2d, 0xc3, 0xe1, 0x43, 0x87, 0x81, 0xf1, 0x8a, 0xdf, 0xf2, 0xa7, 0xcf, 0x9e, 0x31, 0x44, 0xc5, 0x27, 0x33, 0xf0, 0x0b, 0x0a, 0x32, 0xfc, 0xfd, 0xfd, 0x87, 0x81, 0x0d, 0xe8, 0x08, 0x29, 0x29, 0x49, 0x86, 0x2f, 0x1f, 0xdf, 0x33, 0x2c, 0x9a, 0x37, 0xe7, 0x16, 0x50, 0x89, 0x03, 0x28, 0x89, 0xc0, 0x8a, 0x62, 0x10, 0x00, 0x08, 0x20, 0x26, 0x1c, 0xf1, 0x3d, 0x4d, 0x4a, 0x46, 0x76, 0xda, 0xf1, 0xa3, 0xc7, 0xf8, 0xcc, 0xcc, 0xcc, 0x18, 0x9a, 0x9b, 0x9b, 0x08, 0x5a, 0xfe, 0xef, 0xdf, 0x3f, 0x86, 0x9c, 0xfc, 0x42, 0x06, 0x79, 0x60, 0x7b, 0x40, 0x80, 0x97, 0x8f, 0xe1, 0xd3, 0xe7, 0xcf, 0x40, 0xb1, 0xbf, 0x0c, 0x5f, 0x3e, 0x7d, 0x66, 0x50, 0x55, 0xd3, 0x64, 0xb0, 0xb0, 0xb6, 0x53, 0xc3, 0xd6, 0x40, 0x01, 0x08, 0x20, 0x6c, 0xc6, 0xce, 0x90, 0x96, 0x95, 0xcf, 0xdc, 0xb7, 0x77, 0x1f, 0x83, 0xa8, 0x98, 0x38, 0xc3, 0x87, 0x0f, 0x1f, 0x19, 0x9c, 0x1c, 0x1d, 0x09, 0x06, 0x7d, 0x76, 0x4e, 0x2e, 0x03, 0x3f, 0xd0, 0x62, 0x6d, 0x6d, 0x6d, 0x86, 0x2b, 0xd7, 0xae, 0x30, 0xfc, 0xfd, 0xfb, 0x9b, 0xe1, 0xcf, 0xef, 0xdf, 0x0c, 0x3f, 0xff, 0xfc, 0x66, 0xf8, 0xfc, 0xe5, 0x0b, 0x83, 0xbf, 0x5f, 0x20, 0x03, 0x27, 0x37, 0x6f, 0x1a, 0x50, 0xa9, 0x09, 0xb2, 0x3e, 0x80, 0x00, 0x42, 0x77, 0x40, 0x36, 0x37, 0x2f, 0x5f, 0xd2, 0xe2, 0x45, 0x4b, 0x19, 0xd4, 0xd5, 0x54, 0x18, 0xce, 0x9c, 0x3b, 0x07, 0xf4, 0x39, 0x44, 0xc9, 0x6f, 0x60, 0xb5, 0xf2, 0x17, 0x87, 0xe5, 0x57, 0xae, 0x5e, 0x65, 0x38, 0x76, 0xfc, 0x38, 0x43, 0x50, 0x50, 0x08, 0xc3, 0xc6, 0x4d, 0x1b, 0x18, 0xde, 0xbd, 0x7d, 0xc3, 0xf0, 0xe3, 0xc7, 0x0f, 0x86, 0x3f, 0x7f, 0xff, 0x80, 0xc2, 0x9a, 0xe1, 0xcb, 0xd7, 0x2f, 0x40, 0xcf, 0x88, 0x31, 0x38, 0x38, 0x38, 0x70, 0x03, 0x95, 0x67, 0x21, 0xeb, 0x05, 0x08, 0x20, 0x26, 0xb4, 0x86, 0x65, 0xb1, 0xab, 0x9b, 0x3b, 0xc3, 0xb3, 0x67, 0x4f, 0x18, 0xe2, 0x12, 0x92, 0x18, 0x2a, 0xca, 0xcb, 0x18, 0x2e, 0x5f, 0xbe, 0x0c, 0xa9, 0x3e, 0x7f, 0xff, 0x02, 0xc6, 0xeb, 0x5f, 0xb8, 0x23, 0xfe, 0x3d, 0xbe, 0xc9, 0xc0, 0xf0, 0xeb, 0x27, 0xc4, 0x01, 0x57, 0xae, 0x31, 0x88, 0x8a, 0x8a, 0x32, 0x9c, 0x3e, 0x73, 0x8a, 0xe1, 0xec, 0x99, 0xd3, 0xc0, 0xb8, 0xe7, 0x60, 0xb0, 0x30, 0x35, 0x67, 0xf0, 0xf3, 0xf2, 0x66, 0x88, 0x0a, 0x0b, 0x63, 0xe0, 0xe5, 0xe6, 0x61, 0xf8, 0x00, 0x4c, 0x07, 0x26, 0xa6, 0x66, 0x20, 0xe5, 0x5e, 0x40, 0x2c, 0x0f, 0xb3, 0x14, 0x20, 0x80, 0x90, 0xdb, 0x03, 0x01, 0x20, 0x7b, 0x98, 0x59, 0x58, 0x41, 0x9c, 0x67, 0x40, 0x0c, 0xb4, 0x81, 0xe1, 0x07, 0x23, 0x33, 0xcb, 0xff, 0x45, 0x4b, 0x96, 0xfc, 0xff, 0xbf, 0x39, 0xea, 0xff, 0xf7, 0x7d, 0xcd, 0xff, 0x7f, 0x02, 0x15, 0xff, 0x38, 0x36, 0xf7, 0xff, 0xc7, 0x22, 0xb1, 0xff, 0x3f, 0x76, 0x4c, 0x07, 0xb7, 0x08, 0xae, 0x5c, 0xbf, 0xf1, 0x5f, 0x51, 0x59, 0xe5, 0xbf, 0x8c, 0xbc, 0xc2, 0x7f, 0x75, 0x5d, 0x83, 0xff, 0x4b, 0x57, 0xac, 0xf9, 0x7f, 0xea, 0xec, 0xc5, 0xff, 0x17, 0x2e, 0x5c, 0x06, 0xcb, 0xf7, 0x4e, 0x9a, 0xf2, 0xbf, 0xba, 0xb1, 0xed, 0x7f, 0x47, 0x57, 0xff, 0x7f, 0x26, 0x16, 0x16, 0x50, 0x15, 0xed, 0x0e, 0xb3, 0x17, 0x20, 0x80, 0x90, 0x2b, 0xa3, 0xbb, 0x40, 0x5c, 0xff, 0xf7, 0xcf, 0xef, 0x7b, 0x40, 0xfa, 0x36, 0x10, 0xbf, 0x04, 0xe2, 0xfc, 0xff, 0x7f, 0xff, 0x14, 0xd4, 0x15, 0xa5, 0x33, 0x84, 0xf7, 0x7d, 0x67, 0x60, 0xfe, 0xa4, 0xc8, 0xf0, 0xf3, 0x98, 0x12, 0x03, 0xcb, 0x95, 0x66, 0x06, 0x26, 0x51, 0x60, 0xf0, 0x8a, 0x29, 0x81, 0x35, 0x6a, 0x03, 0xb3, 0xa7, 0x9c, 0x9c, 0x1c, 0x30, 0x40, 0x7e, 0x32, 0x2c, 0x5a, 0xb8, 0x84, 0x81, 0x91, 0x99, 0x95, 0xe1, 0xef, 0x9f, 0x5f, 0xc0, 0x76, 0xa1, 0x22, 0x58, 0xfe, 0xef, 0xbf, 0xff, 0x40, 0xfe, 0x1f, 0x86, 0x47, 0x8f, 0x1e, 0x31, 0xfc, 0x03, 0xd2, 0xc8, 0x35, 0x24, 0x40, 0x00, 0x21, 0x3b, 0xe0, 0x32, 0x14, 0x23, 0x83, 0x3a, 0x20, 0x56, 0x66, 0x66, 0xf8, 0xe9, 0xcb, 0xc0, 0xf5, 0x8f, 0x81, 0xe9, 0xcf, 0x23, 0x06, 0x96, 0x33, 0x79, 0x0c, 0x8c, 0x5c, 0x4c, 0x0c, 0xff, 0xbe, 0x0a, 0x31, 0xfc, 0x7e, 0xfd, 0x9a, 0xe1, 0xf7, 0xea, 0x76, 0x06, 0xd6, 0xa7, 0x0f, 0x19, 0xe6, 0x76, 0xb7, 0x32, 0x88, 0xeb, 0x18, 0x31, 0xf0, 0xb0, 0xb3, 0x31, 0x3c, 0x7b, 0xfe, 0x92, 0x41, 0x4a, 0x52, 0x1a, 0x6e, 0xc8, 0x13, 0x60, 0xf6, 0xe4, 0x60, 0xe5, 0x60, 0x38, 0x7e, 0xec, 0x28, 0x03, 0x34, 0x1b, 0x3e, 0x82, 0xc9, 0x01, 0x04, 0x10, 0xa1, 0xea, 0xf8, 0x33, 0x10, 0x27, 0xbc, 0xff, 0xf8, 0xa7, 0xe6, 0xcf, 0x67, 0xbe, 0x42, 0x16, 0xbe, 0xbf, 0x0c, 0x8c, 0x02, 0xc0, 0x78, 0xfa, 0xc2, 0xce, 0xc0, 0xc4, 0xfe, 0x87, 0xe1, 0xff, 0xfe, 0x6a, 0x86, 0xff, 0x6f, 0xde, 0x33, 0x7c, 0xfe, 0x25, 0xc7, 0xa0, 0x1c, 0xdf, 0x0a, 0x6c, 0xfd, 0x41, 0x6a, 0x5e, 0x29, 0x49, 0x71, 0xb8, 0x01, 0xc7, 0x4f, 0x9d, 0x66, 0x78, 0xf5, 0xf2, 0x15, 0xc3, 0xe7, 0x8f, 0x1f, 0x19, 0x2e, 0x5c, 0x38, 0x07, 0x12, 0xda, 0x0d, 0xc4, 0x77, 0x60, 0xf2, 0x00, 0x01, 0x44, 0x4c, 0x51, 0xfc, 0xee, 0xdd, 0x4f, 0x86, 0x8e, 0x0f, 0x6f, 0xd8, 0x5f, 0x32, 0xfd, 0x64, 0x67, 0xf8, 0x0f, 0xc4, 0xff, 0x80, 0x0d, 0x11, 0x36, 0x60, 0x53, 0x93, 0x1d, 0x98, 0x28, 0xff, 0xb1, 0xeb, 0x32, 0x88, 0x34, 0xae, 0x01, 0x56, 0xbc, 0xc2, 0x98, 0xb9, 0xe3, 0xe6, 0x6d, 0x86, 0x49, 0xd3, 0x66, 0x30, 0x3c, 0x7c, 0xf8, 0x80, 0x61, 0xcf, 0xce, 0xed, 0x0c, 0xff, 0xff, 0xfd, 0x01, 0xa5, 0x2b, 0x50, 0x79, 0xfe, 0x03, 0xa6, 0x06, 0x20, 0x80, 0x88, 0x6d, 0x90, 0xbc, 0x3a, 0x70, 0xf1, 0xf7, 0xc9, 0x28, 0x09, 0x1e, 0x3f, 0xb6, 0xff, 0xcc, 0x0c, 0x4c, 0xff, 0x59, 0x18, 0x9e, 0xdd, 0xfb, 0xc3, 0x50, 0xbf, 0x07, 0xe8, 0x2b, 0xce, 0xcf, 0x0c, 0x8e, 0x42, 0x2b, 0x19, 0xac, 0x8c, 0x0d, 0x18, 0x64, 0x65, 0xe5, 0x19, 0xfe, 0x02, 0x93, 0xf0, 0xd5, 0x5b, 0x77, 0x18, 0x8e, 0xee, 0xdf, 0xc7, 0x70, 0xfc, 0xe8, 0x71, 0x86, 0xc7, 0x20, 0xdf, 0xbf, 0x05, 0x85, 0xfa, 0xbf, 0x8b, 0x40, 0xa2, 0x02, 0x88, 0x4f, 0x23, 0x1b, 0x0c, 0x10, 0x40, 0xf8, 0x8a, 0x62, 0x14, 0xa0, 0x29, 0xc0, 0xe0, 0xbb, 0x3b, 0x47, 0x7a, 0xed, 0xe7, 0x8f, 0xff, 0x18, 0x16, 0x1e, 0x79, 0x7f, 0x66, 0xda, 0xf9, 0x1f, 0x1b, 0x3e, 0x31, 0x30, 0x00, 0xdb, 0x5e, 0x0c, 0x46, 0x40, 0x0c, 0x2a, 0xe5, 0x44, 0x40, 0xcd, 0x00, 0x31, 0x7e, 0x6e, 0x0e, 0x5b, 0x2d, 0x51, 0x06, 0x2f, 0x13, 0x3e, 0x06, 0x45, 0xae, 0xf7, 0x0c, 0xcb, 0xb6, 0xbf, 0xf8, 0x37, 0xe7, 0xd2, 0xef, 0x05, 0x40, 0xb9, 0x16, 0x20, 0xbe, 0x8f, 0x9c, 0xfb, 0x40, 0x00, 0x20, 0x80, 0x48, 0x69, 0x96, 0x33, 0x41, 0xcb, 0x72, 0x5f, 0x68, 0x3e, 0x66, 0x42, 0x6a, 0xa6, 0x29, 0x5a, 0xaa, 0x0b, 0xb5, 0xcf, 0xac, 0x89, 0x7d, 0xfe, 0xec, 0x50, 0x1b, 0xb0, 0xa5, 0x5e, 0xf6, 0xff, 0xff, 0x53, 0x23, 0x60, 0xfe, 0x04, 0x1a, 0xbd, 0x93, 0xe1, 0xff, 0xbd, 0x26, 0x86, 0x7b, 0x59, 0x3a, 0x0c, 0x05, 0x40, 0x75, 0x3c, 0xe8, 0xd9, 0x1f, 0x20, 0x80, 0x88, 0x0e, 0x01, 0x5c, 0xc0, 0x45, 0x99, 0x41, 0x63, 0x63, 0xb9, 0xd6, 0x44, 0x2e, 0x55, 0x77, 0xb7, 0xbf, 0x9f, 0xbe, 0x33, 0x7c, 0xbd, 0x7f, 0xe9, 0x3f, 0x9f, 0xc9, 0x1b, 0x46, 0x86, 0x2f, 0x0f, 0x18, 0x5e, 0xec, 0xe6, 0xf8, 0xff, 0xec, 0x39, 0xf3, 0x77, 0x29, 0xc5, 0x6f, 0x1c, 0x12, 0x7f, 0xb9, 0x99, 0xb6, 0xed, 0x67, 0x3b, 0xee, 0x7d, 0xf2, 0x05, 0xa8, 0x20, 0xfa, 0x00, 0xb3, 0x17, 0x20, 0x80, 0x28, 0x76, 0x80, 0xaf, 0x36, 0x43, 0x24, 0x13, 0x03, 0x93, 0xf7, 0x85, 0x07, 0xff, 0x6e, 0x3e, 0xfc, 0xca, 0x70, 0x53, 0x9e, 0x9d, 0x41, 0x74, 0x49, 0xb8, 0x50, 0xce, 0xf2, 0xd3, 0x9f, 0x1f, 0x2c, 0xbc, 0xfe, 0x7b, 0xfb, 0x57, 0x06, 0x86, 0x6b, 0xa0, 0x26, 0x22, 0xb0, 0x61, 0x28, 0xcf, 0xc3, 0xc2, 0x20, 0x04, 0x4c, 0x3a, 0xf3, 0x81, 0xfc, 0xc7, 0x30, 0x7b, 0x01, 0x02, 0x0c, 0x00, 0xe2, 0x40, 0xb0, 0x8e, 0x9c, 0xc5, 0x58, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_tucnak23[319] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1e, 0x08, 0x02, 0x00, 0x00, 0x00, 0x48, 0x47, 0x12, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xdb, 0x04, 0x17, 0x13, 0x04, 0x1d, 0x95, 0x69, 0x3b, 0x5e, 0x00, 0x00, 0x00, 0xbf, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x54, 0x41, 0x0e, 0xc3, 0x30, 0x08, 0x8b, 0xd1, 0xfe, 0xff, 0x65, 0x76, 0x88, 0x84, 0x10, 0x01, 0xe2, 0x64, 0xed, 0x38, 0xb5, 0x14, 0xa8, 0x31, 0x60, 0xa8, 0xea, 0x28, 0x0c, 0x80, 0x7f, 0x6d, 0x22, 0x85, 0x2c, 0x91, 0x7a, 0x36, 0x55, 0xaa, 0x84, 0xca, 0x5f, 0x62, 0x39, 0xb2, 0xb2, 0x8a, 0xaa, 0x4e, 0x22, 0xec, 0xe1, 0xa6, 0xca, 0x91, 0x7d, 0xb6, 0xec, 0x36, 0xa4, 0xfe, 0x0b, 0x4b, 0xe0, 0xc2, 0x43, 0x5b, 0x69, 0x12, 0xa6, 0xa3, 0x6d, 0x53, 0xdd, 0x8c, 0x2c, 0x3f, 0x8c, 0x29, 0x59, 0xc8, 0x15, 0x5e, 0x8a, 0x39, 0xe4, 0x87, 0x00, 0xe1, 0xd7, 0xbc, 0x09, 0xbb, 0x9f, 0x91, 0x2f, 0x24, 0x47, 0x40, 0xaa, 0x4e, 0x85, 0x0f, 0x6d, 0xe0, 0xc8, 0x29, 0x23, 0xe9, 0x3f, 0x1e, 0xbd, 0x69, 0x12, 0x48, 0xd5, 0xd4, 0x3b, 0xfa, 0xb2, 0xa5, 0x36, 0x45, 0x2d, 0x21, 0xbf, 0x6f, 0x6d, 0xfd, 0x3a, 0xb3, 0xc4, 0xaf, 0x3c, 0x53, 0xc8, 0x83, 0x9d, 0xb7, 0x36, 0xc6, 0x40, 0x25, 0x02, 0x69, 0x6b, 0xeb, 0x89, 0x4d, 0x4f, 0xb9, 0x75, 0xfc, 0xfa, 0x00, 0x90, 0xbb, 0xc3, 0xa1, 0xb4, 0xce, 0x8b, 0xcb, 0x4f, 0x8a, 0xc9, 0xa3, 0x53, 0x55, 0x18, 0xcf, 0x3c, 0x29, 0x16, 0x63, 0x4c, 0xa3, 0x52, 0xe9, 0x23, 0xb9, 0xfb, 0x02, 0x56, 0x31, 0x75, 0x52, 0xb0, 0xd7, 0xe3, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_tucnak64[5343] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x08, 0x06, 0x00, 0x00, 0x00, 0xaa, 0x69, 0x71, 0xde, 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xaf, 0xc8, 0x37, 0x05, 0x8a, 0xe9, 0x00, 0x00, 0x14, 0x96, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xd5, 0x9b, 0x79, 0x74, 0x5d, 0xc5, 0x9d, 0xe7, 0x3f, 0x55, 0xf7, 0xde, 0xb7, 0x4a, 0x7a, 0x7a, 0x8b, 0x16, 0x6b, 0xf1, 0xbe, 0xca, 0x78, 0xc5, 0x0b, 0x26, 0x0b, 0x36, 0x36, 0x3b, 0x36, 0xc1, 0x3d, 0xa1, 0x03, 0x74, 0x12, 0x26, 0xe9, 0x0e, 0x27, 0xd3, 0x64, 0xc8, 0xc9, 0xe9, 0x84, 0x49, 0xf7, 0x74, 0xf7, 0x9c, 0x4e, 0x37, 0x90, 0xc9, 0x4c, 0x7a, 0xd2, 0x6c, 0x49, 0xe8, 0x49, 0x43, 0x87, 0x74, 0x26, 0x93, 0xa5, 0x09, 0x4c, 0x80, 0x10, 0x87, 0x00, 0xc6, 0xc6, 0x36, 0x98, 0x78, 0xc5, 0xfb, 0x2a, 0xaf, 0x92, 0x2c, 0xbd, 0x27, 0xe9, 0x2d, 0x77, 0xa9, 0xaa, 0xf9, 0xe3, 0x4a, 0x02, 0x27, 0xd8, 0xd8, 0x96, 0x0c, 0xe4, 0x77, 0xce, 0x3d, 0x7a, 0xe7, 0xea, 0xdc, 0x5f, 0xd5, 0xef, 0x5b, 0xbf, 0xbd, 0xaa, 0x2c, 0x3e, 0xb8, 0xe4, 0x64, 0xb3, 0xd9, 0x46, 0xdb, 0xb6, 0x23, 0x9e, 0xe7, 0x95, 0x2f, 0xd6, 0x20, 0xe2, 0x62, 0x31, 0xbe, 0x50, 0xaa, 0xab, 0xab, 0x9b, 0x10, 0x68, 0x7d, 0x87, 0x31, 0x5c, 0x6f, 0x20, 0x27, 0xc1, 0x17, 0x52, 0xec, 0x35, 0xf0, 0x78, 0x4f, 0x57, 0xd7, 0x8f, 0x81, 0x60, 0x24, 0xc7, 0xfb, 0x20, 0x01, 0x60, 0xa5, 0xb3, 0x75, 0x5f, 0x32, 0x46, 0x7f, 0xd5, 0xb6, 0xed, 0x74, 0xb2, 0xaa, 0x8a, 0x88, 0x13, 0xc1, 0xf5, 0x5c, 0xfa, 0x7a, 0x7b, 0x11, 0x80, 0x11, 0xfc, 0xd4, 0x2d, 0x95, 0xee, 0x2a, 0x95, 0x4a, 0x27, 0x46, 0x6a, 0xd0, 0x0f, 0x04, 0x00, 0xe9, 0x74, 0x3a, 0x85, 0xb4, 0xbe, 0x27, 0xa5, 0xb5, 0x32, 0x5b, 0x97, 0x63, 0xdc, 0xf8, 0x89, 0xd4, 0x37, 0x34, 0x90, 0x4c, 0x26, 0x01, 0x38, 0xd5, 0xd5, 0xc5, 0x6f, 0x37, 0xbe, 0xc6, 0xa9, 0xae, 0x2e, 0x10, 0xe2, 0x45, 0xb7, 0x54, 0xbc, 0xad, 0x54, 0x2a, 0x1d, 0x1f, 0x89, 0xb1, 0xad, 0x91, 0x60, 0x32, 0x1c, 0xca, 0x66, 0xb3, 0xd5, 0x5a, 0x88, 0x1f, 0x46, 0xa3, 0xb1, 0x15, 0xa3, 0x5a, 0x5a, 0x18, 0x3f, 0x71, 0x12, 0x99, 0x4c, 0x96, 0x48, 0x24, 0x82, 0xe3, 0x38, 0xc4, 0x62, 0x71, 0x46, 0x35, 0x35, 0x31, 0x6d, 0x5a, 0x1b, 0xa7, 0xba, 0xba, 0xe8, 0xe9, 0xee, 0x1e, 0x6b, 0xd9, 0x4e, 0x4d, 0xa5, 0x5c, 0xfe, 0x25, 0xa0, 0x86, 0x3b, 0xfe, 0xfb, 0x0e, 0x40, 0x2c, 0x91, 0x7c, 0xd4, 0x92, 0xd6, 0x7f, 0x48, 0xd5, 0xa6, 0x89, 0x3a, 0x0e, 0xfb, 0xf7, 0xee, 0x21, 0x93, 0xcb, 0x11, 0x8f, 0x27, 0xb0, 0x2c, 0x1b, 0x29, 0x25, 0x42, 0x08, 0x6a, 0x6a, 0x6a, 0x98, 0x36, 0x75, 0x2a, 0x7b, 0xf7, 0xee, 0xa1, 0xaf, 0xaf, 0x6f, 0x92, 0xc0, 0x5e, 0x1d, 0x04, 0xde, 0xa1, 0xe1, 0x8e, 0x2f, 0x47, 0x42, 0x88, 0x0b, 0xa5, 0x74, 0xb6, 0xfe, 0xce, 0x40, 0x05, 0x9f, 0x9a, 0x7e, 0xc9, 0x25, 0x3c, 0xf8, 0xad, 0x7f, 0xe4, 0xe9, 0x9f, 0xff, 0x3b, 0xf3, 0xe7, 0xcd, 0xe3, 0x68, 0x7b, 0x3b, 0xc6, 0x18, 0xb4, 0x56, 0x80, 0x01, 0xc0, 0xf7, 0x3c, 0x52, 0xb5, 0x69, 0x16, 0x2f, 0x59, 0x8a, 0x65, 0x59, 0x35, 0x4e, 0xd4, 0xba, 0x1a, 0x88, 0x0c, 0x77, 0x0e, 0xef, 0x9b, 0x06, 0x34, 0xa4, 0x1a, 0xc6, 0x96, 0x83, 0xca, 0x63, 0x0b, 0x16, 0x2c, 0xa8, 0xf9, 0xfe, 0xe3, 0x8f, 0x31, 0x77, 0xee, 0x5c, 0x6a, 0x6a, 0x6a, 0x28, 0xf4, 0x16, 0x58, 0xb7, 0x7e, 0x03, 0x4d, 0xcd, 0xcd, 0x80, 0xa0, 0x52, 0xa9, 0x50, 0x28, 0xe4, 0xf1, 0x5c, 0x8f, 0x44, 0x22, 0xc1, 0xa8, 0xc6, 0x46, 0xb6, 0x6c, 0xd9, 0x4c, 0xb1, 0x58, 0xec, 0xf5, 0x5c, 0xf7, 0x79, 0xa0, 0x38, 0x9c, 0x79, 0xd8, 0x23, 0x23, 0xce, 0xf9, 0x53, 0xd1, 0x94, 0xbf, 0xd8, 0xd2, 0xd2, 0xd2, 0xf2, 0xf0, 0x43, 0x0f, 0xd1, 0xd2, 0xd2, 0x32, 0xf4, 0xde, 0x68, 0x03, 0x42, 0x72, 0xa4, 0xbd, 0x9d, 0xa8, 0x63, 0x53, 0x9b, 0x4a, 0x61, 0xdb, 0x92, 0x63, 0x47, 0x0e, 0xb1, 0x66, 0xf5, 0xcb, 0x2c, 0x58, 0xb0, 0x80, 0x86, 0x86, 0x46, 0x8e, 0x1f, 0x3f, 0xde, 0x04, 0xd4, 0x02, 0x1d, 0xef, 0x97, 0x0c, 0x17, 0x4c, 0xd9, 0x6c, 0x76, 0x6a, 0xa2, 0xaa, 0x3a, 0xff, 0xd0, 0xc3, 0x8f, 0x98, 0x07, 0x1e, 0x78, 0xd0, 0x5c, 0xbf, 0xfc, 0x26, 0xd3, 0x57, 0xaa, 0x18, 0x63, 0x8c, 0xb9, 0xf3, 0xcf, 0xef, 0x32, 0x1f, 0xff, 0xe3, 0x4f, 0x98, 0xef, 0x3f, 0xf1, 0x84, 0xd9, 0xb6, 0x7d, 0xbb, 0xd1, 0x5a, 0x1b, 0x63, 0x8c, 0xf1, 0x3c, 0xcf, 0x3c, 0xfb, 0xdc, 0x73, 0x66, 0xe6, 0xec, 0x39, 0x66, 0xc6, 0xec, 0xb9, 0xa6, 0x3a, 0x95, 0x3e, 0x04, 0xcc, 0xe3, 0x03, 0x12, 0xc9, 0xce, 0x8b, 0x62, 0x55, 0x55, 0xdf, 0x9c, 0xb7, 0xf0, 0x32, 0xb3, 0xea, 0x85, 0x97, 0x4d, 0x26, 0x97, 0x33, 0x1f, 0x9a, 0x33, 0xd5, 0x14, 0x76, 0xbc, 0x6c, 0x4e, 0xac, 0xf9, 0x99, 0xf9, 0xd1, 0x77, 0x1f, 0x32, 0xeb, 0xd6, 0xbf, 0x6e, 0xae, 0xba, 0x7e, 0xb9, 0xb9, 0xfc, 0xa3, 0x8b, 0xcd, 0x89, 0x93, 0x27, 0xcd, 0xdb, 0xe9, 0x3f, 0xdd, 0x75, 0x97, 0x99, 0x34, 0x65, 0xaa, 0x49, 0x67, 0xb2, 0x5d, 0xb6, 0x6d, 0x7f, 0x94, 0x61, 0x9a, 0xf1, 0x7b, 0xee, 0x04, 0xd3, 0xe9, 0xf4, 0x68, 0x15, 0x88, 0x5b, 0xe6, 0xcd, 0x6a, 0xa3, 0x35, 0xd6, 0xce, 0xb7, 0xee, 0xbe, 0x8a, 0x9f, 0x3c, 0xf2, 0x77, 0xc4, 0x6b, 0x12, 0x24, 0x53, 0x45, 0x6e, 0x9e, 0x9a, 0xe7, 0xd4, 0xd3, 0xf7, 0x51, 0xb5, 0xff, 0x75, 0xea, 0xb5, 0x4f, 0xc4, 0x8a, 0x0d, 0x7d, 0xab, 0xb5, 0xc6, 0xf7, 0x03, 0x1a, 0x1a, 0x1a, 0x09, 0xb4, 0x92, 0xc6, 0x98, 0x38, 0xc3, 0xd4, 0x80, 0xf7, 0xdc, 0x07, 0x14, 0x3d, 0x6b, 0xe5, 0xd4, 0x31, 0xaa, 0xf9, 0xcf, 0xae, 0x2e, 0x31, 0xf9, 0x92, 0x99, 0x4c, 0x5e, 0x74, 0x2b, 0xa0, 0xa8, 0xf4, 0x6e, 0x46, 0x4a, 0x1f, 0xbf, 0xda, 0x65, 0xd9, 0x1f, 0xc3, 0xb2, 0x25, 0x31, 0xfa, 0x8e, 0x1e, 0x47, 0x3e, 0x7f, 0x37, 0xc5, 0x51, 0x37, 0x90, 0x9c, 0x75, 0x05, 0xab, 0xb7, 0xef, 0xa6, 0xbf, 0x58, 0x22, 0x93, 0xcb, 0xa1, 0x95, 0x96, 0x03, 0xf3, 0xff, 0x83, 0x02, 0x20, 0xee, 0x48, 0x6e, 0xff, 0xca, 0xa7, 0x6d, 0xe6, 0xde, 0x78, 0x37, 0x44, 0x2f, 0x41, 0x05, 0x7d, 0xf8, 0xfd, 0xdb, 0xd0, 0xc5, 0xad, 0xe0, 0x1d, 0x46, 0x54, 0x76, 0xa2, 0xfc, 0x0d, 0x50, 0xd3, 0x4e, 0xb2, 0x1a, 0x94, 0xbf, 0x9f, 0xe0, 0xf0, 0x8f, 0xe8, 0x7e, 0xee, 0x0a, 0x76, 0x77, 0xd7, 0x32, 0xb1, 0x6d, 0x1e, 0xaf, 0xaf, 0x7d, 0x79, 0x50, 0xea, 0x61, 0x6b, 0xf0, 0x7b, 0x0b, 0x80, 0x55, 0xff, 0xe1, 0x09, 0x2d, 0xc5, 0x4b, 0xaf, 0x59, 0xba, 0x00, 0xa2, 0x0b, 0x43, 0xe1, 0xfb, 0x36, 0xa3, 0x4b, 0xdb, 0xc0, 0x6d, 0x47, 0x54, 0x76, 0x80, 0xbb, 0x1e, 0xd4, 0x31, 0x50, 0x60, 0x14, 0xd0, 0x1d, 0x45, 0x1d, 0x1f, 0xc5, 0xc9, 0x7e, 0x10, 0x99, 0x7a, 0xa2, 0x11, 0x07, 0xcf, 0x75, 0x07, 0x39, 0x9a, 0xe1, 0x4e, 0xe9, 0x3d, 0x05, 0xc0, 0x8a, 0x70, 0x7b, 0xdb, 0x58, 0x57, 0xd4, 0x35, 0x4d, 0x47, 0x2b, 0x1f, 0xaf, 0x6f, 0x33, 0xa6, 0xb4, 0x1d, 0xfc, 0xc3, 0x08, 0x77, 0x2b, 0xa2, 0xbc, 0x1e, 0x53, 0xec, 0x44, 0xf5, 0xd4, 0xe0, 0x75, 0x65, 0xc8, 0x77, 0x8e, 0xe7, 0x94, 0x3b, 0x8e, 0x23, 0x91, 0xd1, 0x14, 0xe6, 0xb4, 0x72, 0xbc, 0xbb, 0x80, 0xf1, 0x5c, 0x3c, 0xdf, 0x87, 0x50, 0xf8, 0x3f, 0x1c, 0x00, 0x52, 0x0d, 0x0d, 0x63, 0xdd, 0x12, 0xd7, 0xa6, 0x6b, 0xc0, 0x54, 0x76, 0xe0, 0xf5, 0x3c, 0x8f, 0xe8, 0x5b, 0x07, 0xc5, 0xa3, 0xe8, 0xbe, 0xe3, 0x78, 0xf9, 0x6e, 0x8a, 0x85, 0x99, 0xf4, 0x97, 0x5b, 0xc8, 0xab, 0xb1, 0x74, 0xdb, 0xad, 0x14, 0x47, 0xd7, 0xd0, 0x2f, 0x24, 0xc9, 0x44, 0x9c, 0xab, 0x16, 0xcc, 0xe5, 0xf9, 0x55, 0xbf, 0x66, 0xef, 0xbe, 0x83, 0x78, 0x9e, 0x37, 0x68, 0xf9, 0x7f, 0x38, 0x00, 0x08, 0xad, 0x97, 0xdb, 0xd2, 0x34, 0xec, 0x3d, 0xd1, 0x8c, 0x5b, 0xa9, 0xa0, 0x3b, 0xfe, 0x37, 0xdd, 0x85, 0x04, 0x15, 0x77, 0x0c, 0xfd, 0xc1, 0x65, 0x94, 0xec, 0x26, 0xbc, 0x6c, 0x12, 0x4f, 0x46, 0x09, 0xb4, 0x42, 0x05, 0x1e, 0x09, 0x09, 0xe3, 0xeb, 0xeb, 0x98, 0x32, 0x79, 0x12, 0xc9, 0x64, 0x82, 0xba, 0x5c, 0x8e, 0x1d, 0xbb, 0xf6, 0xe0, 0x07, 0x3e, 0x23, 0x15, 0xc0, 0xde, 0x2b, 0x00, 0x22, 0x12, 0x3e, 0x6e, 0xb4, 0x47, 0xa6, 0xe9, 0x5a, 0x62, 0x6d, 0x8f, 0x52, 0xa9, 0x78, 0x74, 0xed, 0xeb, 0x40, 0x25, 0x34, 0x5a, 0x07, 0xd8, 0x3a, 0x40, 0xa8, 0x80, 0x88, 0x52, 0x08, 0x29, 0xa8, 0x4d, 0x8d, 0xa2, 0x69, 0x54, 0x03, 0xa9, 0x54, 0xcd, 0x10, 0x93, 0xba, 0x5c, 0x0e, 0xa5, 0x14, 0x2a, 0x50, 0x08, 0x61, 0x04, 0x23, 0x90, 0xca, 0xbf, 0x27, 0x00, 0xd4, 0xe6, 0x72, 0x0b, 0x31, 0x5c, 0x66, 0x8c, 0x61, 0xf1, 0x15, 0x1f, 0x06, 0x19, 0x23, 0x1a, 0x8f, 0x91, 0xcb, 0x94, 0x28, 0x57, 0x2a, 0x68, 0x6d, 0x63, 0x8c, 0xc1, 0xb1, 0x6d, 0xaa, 0xab, 0x92, 0xd4, 0xa4, 0xaa, 0x89, 0x45, 0xa3, 0xbf, 0xc7, 0x27, 0x95, 0xaa, 0x41, 0x08, 0x81, 0x56, 0x0a, 0x81, 0xb0, 0x2c, 0xcb, 0x8a, 0x28, 0x35, 0xbc, 0x8a, 0xf8, 0x3d, 0x01, 0x40, 0x68, 0x3e, 0x81, 0xc4, 0xc9, 0xe5, 0x72, 0x2c, 0x59, 0xbc, 0x38, 0x7c, 0x27, 0x20, 0x9b, 0xad, 0xa5, 0x54, 0xae, 0xe0, 0xd8, 0x36, 0xd1, 0x48, 0x84, 0x48, 0xc4, 0x41, 0x88, 0x33, 0x87, 0xf5, 0xaa, 0x64, 0x92, 0x48, 0x24, 0x12, 0xda, 0xbf, 0x10, 0xb6, 0x91, 0x32, 0xc9, 0x07, 0x3d, 0x0f, 0x88, 0x67, 0xb3, 0x4d, 0x52, 0x8a, 0xe5, 0x95, 0x8a, 0xcb, 0xb2, 0xa5, 0x4b, 0x99, 0x32, 0x65, 0xca, 0x5b, 0xff, 0x8b, 0xc5, 0x88, 0xc7, 0x62, 0x67, 0xf9, 0xfa, 0x74, 0x4a, 0x24, 0xe2, 0x44, 0x22, 0x11, 0xa4, 0xb4, 0x00, 0x22, 0xb6, 0x10, 0x35, 0xfe, 0x30, 0x01, 0xb8, 0xe8, 0xa9, 0x70, 0x4c, 0x88, 0x1b, 0x40, 0xb4, 0x02, 0xac, 0x58, 0xb1, 0x7c, 0x58, 0xbc, 0x1c, 0xdb, 0x41, 0x0a, 0x81, 0x65, 0xdb, 0x08, 0x21, 0xa4, 0x94, 0x32, 0xc7, 0x07, 0xbc, 0x16, 0xb0, 0x41, 0xdc, 0x12, 0x04, 0x8a, 0xd1, 0xad, 0xad, 0x2c, 0xbd, 0xf2, 0xca, 0x61, 0x31, 0x93, 0x56, 0xb8, 0xd8, 0xf1, 0x78, 0x3c, 0xb4, 0x02, 0xcb, 0x69, 0x05, 0x7e, 0xdf, 0x59, 0x9c, 0x0f, 0xcf, 0x61, 0xcd, 0xe8, 0x5d, 0xa8, 0x26, 0x9b, 0x9d, 0x2d, 0x10, 0x1f, 0x72, 0x5d, 0x97, 0x3f, 0x5a, 0xb9, 0x92, 0xc6, 0xc6, 0xc6, 0x61, 0xf1, 0xf3, 0xfd, 0x80, 0x40, 0x29, 0x52, 0xa9, 0x5a, 0x0c, 0x60, 0xdb, 0xd6, 0x34, 0xa0, 0x6a, 0x38, 0x3c, 0x2f, 0x2a, 0x00, 0xb6, 0x10, 0xff, 0xd1, 0x18, 0x13, 0x6f, 0xa8, 0xaf, 0xe7, 0xf6, 0xdb, 0x6f, 0x1b, 0x36, 0x3f, 0xd7, 0xf5, 0xf0, 0x7d, 0x8f, 0x4c, 0x36, 0x8b, 0xe3, 0x44, 0x00, 0xc6, 0xdb, 0xb1, 0xd8, 0x98, 0xe1, 0xf0, 0xbc, 0x68, 0x00, 0x64, 0x32, 0x99, 0x69, 0x08, 0x71, 0xab, 0xeb, 0x56, 0xb8, 0xfe, 0xfa, 0xeb, 0x98, 0x3a, 0x75, 0xea, 0xb0, 0x79, 0x16, 0x7a, 0x7b, 0x29, 0x16, 0x8b, 0xa4, 0x33, 0x59, 0x6a, 0x6b, 0x6b, 0x01, 0x1a, 0xa2, 0x8e, 0xb3, 0x90, 0x61, 0x38, 0xf3, 0x8b, 0x06, 0x80, 0x11, 0xd6, 0x5f, 0x18, 0x6d, 0xd2, 0x99, 0x74, 0x86, 0x3b, 0x3f, 0xf7, 0xb9, 0x11, 0xe1, 0x79, 0xaa, 0xbb, 0x9b, 0x52, 0xa9, 0x4c, 0x2c, 0x16, 0x63, 0xec, 0xf8, 0x09, 0x00, 0x38, 0xb6, 0x73, 0x03, 0x90, 0xb9, 0x50, 0x9e, 0x17, 0x05, 0x80, 0x74, 0x3a, 0x77, 0x9d, 0x94, 0xe2, 0xd3, 0xe5, 0x72, 0x99, 0x4f, 0x7d, 0xf2, 0x93, 0xcc, 0x9a, 0x35, 0x73, 0x44, 0xf8, 0x1e, 0x3c, 0x74, 0x18, 0xad, 0x15, 0x41, 0x10, 0x30, 0x7e, 0xc2, 0x44, 0x62, 0xb1, 0x38, 0x42, 0x88, 0xcb, 0x22, 0x89, 0xc4, 0xbc, 0x0b, 0xe5, 0x39, 0xe2, 0x00, 0x24, 0xea, 0xea, 0x1a, 0xa5, 0x25, 0xfe, 0x47, 0x10, 0x04, 0xd6, 0x84, 0x09, 0x13, 0xf8, 0xfc, 0xe7, 0xef, 0x1c, 0x11, 0xbe, 0x81, 0x0a, 0xd8, 0xb5, 0x7b, 0x0f, 0x42, 0x08, 0x82, 0x20, 0x20, 0x9d, 0xc9, 0x30, 0x7e, 0xe2, 0x44, 0xb4, 0x31, 0xf1, 0x58, 0x34, 0xfe, 0x19, 0x2e, 0xd0, 0x19, 0x8e, 0x38, 0x00, 0x51, 0xf8, 0x07, 0x84, 0x68, 0xd3, 0x5a, 0x73, 0xcf, 0x97, 0xbf, 0x7c, 0x5a, 0xc7, 0x77, 0x38, 0x74, 0xf0, 0xe0, 0x61, 0x0e, 0x1c, 0x38, 0x80, 0x10, 0x72, 0x60, 0xcf, 0x40, 0x33, 0x6b, 0xf6, 0x1c, 0xe2, 0xf1, 0x38, 0x52, 0x70, 0x43, 0x22, 0x91, 0x58, 0x7c, 0x21, 0x7c, 0x47, 0x14, 0x80, 0x4c, 0x2e, 0xf7, 0x59, 0x89, 0xf8, 0x4c, 0xb9, 0x5c, 0xe6, 0xba, 0x6b, 0xaf, 0xe5, 0xf6, 0xdb, 0x86, 0xef, 0xf9, 0x07, 0xe9, 0xc5, 0x97, 0x57, 0xd3, 0x5f, 0x2a, 0x61, 0x8c, 0x46, 0x6b, 0x85, 0xef, 0xfb, 0xe4, 0xea, 0xea, 0x99, 0x39, 0x6b, 0x0e, 0x60, 0x62, 0x91, 0x68, 0xfc, 0x0b, 0x40, 0xfa, 0x7c, 0xf9, 0x8e, 0x14, 0x00, 0x56, 0x36, 0x5b, 0x77, 0x0f, 0x88, 0x07, 0x95, 0x52, 0x34, 0x36, 0x34, 0xf0, 0x37, 0x7f, 0xf3, 0xd7, 0x48, 0x4b, 0xa2, 0xb5, 0xc6, 0x98, 0xe1, 0x95, 0xed, 0xed, 0x47, 0x8e, 0xf2, 0xe2, 0xcb, 0xab, 0xb1, 0xe4, 0x00, 0x3f, 0x6d, 0x30, 0xc6, 0xe0, 0xfb, 0x3e, 0xf3, 0x17, 0x2c, 0xa4, 0xa1, 0xa1, 0x11, 0x04, 0x57, 0xd7, 0xa4, 0xd3, 0x9f, 0x38, 0x5f, 0xde, 0xc3, 0x06, 0x20, 0x95, 0x4a, 0x8d, 0xcb, 0x64, 0xeb, 0x9e, 0xd4, 0x98, 0xfb, 0x81, 0x58, 0x10, 0x04, 0x7c, 0xf1, 0xee, 0xbb, 0x99, 0xde, 0xd6, 0x46, 0xa0, 0x14, 0xc6, 0x30, 0xa4, 0xb2, 0x17, 0x4a, 0x3f, 0xf8, 0xd1, 0xff, 0xa5, 0xa3, 0xb3, 0x73, 0xc0, 0xe9, 0xbd, 0x05, 0x6a, 0x10, 0x04, 0xc4, 0x13, 0x89, 0x70, 0xbb, 0x4c, 0x5a, 0x48, 0x21, 0xff, 0x22, 0x12, 0x89, 0x9c, 0x57, 0xbc, 0x1d, 0x56, 0x1e, 0x9d, 0xce, 0x35, 0xdc, 0x22, 0x2d, 0xf9, 0x43, 0xcf, 0xf7, 0xe6, 0xd7, 0xd5, 0xd5, 0x11, 0x8b, 0xc5, 0x99, 0x3d, 0x7b, 0x36, 0x5f, 0xbf, 0xff, 0x3e, 0xa4, 0x65, 0x61, 0x8c, 0xc1, 0x08, 0x83, 0x18, 0xaa, 0x57, 0x42, 0x4d, 0x38, 0x5b, 0xc5, 0xf7, 0xbb, 0xf4, 0xcb, 0x5f, 0xad, 0xe2, 0x5f, 0xfe, 0xf5, 0x09, 0xb2, 0xd9, 0x2c, 0x99, 0x74, 0x3a, 0x14, 0x1e, 0xb0, 0x2c, 0x0b, 0xcb, 0xb2, 0x90, 0x42, 0xd0, 0xda, 0xd2, 0x4a, 0x6f, 0x6f, 0x81, 0xa3, 0x47, 0x8f, 0xa4, 0x23, 0xd1, 0x68, 0xb4, 0x52, 0x2e, 0x3f, 0x07, 0x9c, 0x13, 0xe2, 0x17, 0xa4, 0x01, 0xe9, 0x74, 0x3a, 0x95, 0xa9, 0xaf, 0x7f, 0xd8, 0x68, 0xf5, 0x23, 0xdf, 0xf7, 0x5b, 0x6f, 0xbc, 0xf1, 0x46, 0xbe, 0x7e, 0xff, 0x7d, 0xc4, 0xe3, 0x51, 0xee, 0xf9, 0xca, 0x97, 0x49, 0x24, 0x12, 0xa8, 0x20, 0x00, 0x63, 0x40, 0x1b, 0x34, 0x1a, 0x83, 0x19, 0xd2, 0x86, 0x73, 0x35, 0x89, 0x7d, 0xfb, 0x0f, 0xf0, 0x8f, 0x0f, 0x3c, 0x44, 0x22, 0x9e, 0xa0, 0xb5, 0xa5, 0x95, 0x48, 0x24, 0x8a, 0x52, 0x6a, 0x48, 0x03, 0xb4, 0xd6, 0x28, 0xad, 0x09, 0x94, 0x62, 0xd9, 0x55, 0xd7, 0x90, 0xcb, 0xd5, 0x01, 0x7c, 0xb2, 0xba, 0xba, 0xfa, 0x9a, 0x73, 0x95, 0xe5, 0xbc, 0x01, 0xc8, 0x64, 0x32, 0xd3, 0x84, 0x65, 0x3f, 0xab, 0xfc, 0xe0, 0xf3, 0x89, 0x78, 0x8c, 0x7f, 0xf8, 0xda, 0xd7, 0xf8, 0xe1, 0x0f, 0x9e, 0x60, 0xf5, 0xea, 0xd5, 0x2c, 0x58, 0xb0, 0x90, 0x2b, 0x3e, 0xf2, 0x51, 0x2a, 0x15, 0xf7, 0x74, 0x61, 0x07, 0x6c, 0xf6, 0xed, 0x20, 0xbc, 0x9b, 0x49, 0xf4, 0xf5, 0xf7, 0xf3, 0xb7, 0x5f, 0xfb, 0x7b, 0xfa, 0xfb, 0xfb, 0x99, 0x39, 0x73, 0x26, 0x55, 0x55, 0x61, 0x94, 0xf3, 0x3c, 0x77, 0x00, 0x80, 0x01, 0x10, 0x94, 0xc2, 0xf3, 0xc2, 0xf4, 0xf8, 0xea, 0xab, 0xaf, 0x01, 0x44, 0xcc, 0x8a, 0x44, 0xff, 0x12, 0xa8, 0x1f, 0x71, 0x00, 0x52, 0xd9, 0xec, 0x95, 0x58, 0xf6, 0x2a, 0xdf, 0xf3, 0x17, 0xb5, 0xb6, 0xb6, 0xf2, 0xf8, 0x63, 0x8f, 0xf1, 0x85, 0x2f, 0xdc, 0xc5, 0xae, 0x5d, 0xbb, 0xf8, 0xcd, 0x6f, 0x5e, 0xe4, 0x8b, 0x77, 0xdf, 0x8d, 0x1e, 0x10, 0x3a, 0x14, 0xf2, 0x2d, 0x81, 0x19, 0x7c, 0x87, 0x1e, 0x78, 0xc7, 0x00, 0x08, 0xef, 0xac, 0x0d, 0x5f, 0xbb, 0xf7, 0x5e, 0xb6, 0x6c, 0xdd, 0xc6, 0xb2, 0x2b, 0xaf, 0xa4, 0xa1, 0xae, 0x0e, 0xdb, 0xb2, 0xe8, 0xee, 0xee, 0xc6, 0xf3, 0xfc, 0x70, 0xe5, 0x95, 0x1e, 0xd2, 0x00, 0x3f, 0x08, 0x28, 0x97, 0x4a, 0x2c, 0x58, 0xb0, 0x90, 0x4b, 0x66, 0xcc, 0x40, 0xa9, 0x60, 0x51, 0x4d, 0x6d, 0xed, 0x67, 0x39, 0x87, 0x5e, 0xc1, 0x39, 0x03, 0x90, 0xce, 0xe5, 0x6e, 0xb0, 0xa5, 0xf5, 0x13, 0xcf, 0x75, 0x9b, 0xa6, 0xb5, 0x4d, 0xe3, 0x89, 0x7f, 0xfd, 0x3e, 0x4b, 0x96, 0x2c, 0x41, 0x29, 0xcd, 0x93, 0x4f, 0x3e, 0xc5, 0x9c, 0xb9, 0x73, 0x99, 0x36, 0x6d, 0x1a, 0xae, 0xe7, 0x0d, 0x01, 0xf0, 0x4e, 0x20, 0xa0, 0x0d, 0xda, 0xbc, 0x65, 0x12, 0x5a, 0xff, 0xbe, 0x49, 0x3c, 0xf8, 0xf0, 0x23, 0xfc, 0xf4, 0x67, 0x4f, 0x72, 0xf3, 0x8a, 0x9b, 0x18, 0xdd, 0x3a, 0x9a, 0x78, 0x2c, 0x46, 0x3e, 0xdf, 0x13, 0x1e, 0x91, 0x81, 0x81, 0x50, 0xa8, 0x87, 0xc6, 0x18, 0x34, 0x03, 0x69, 0x59, 0xdc, 0x74, 0xd3, 0xc7, 0xa8, 0x4a, 0x24, 0x91, 0xc2, 0xfa, 0xf3, 0x44, 0x22, 0x31, 0x6b, 0x44, 0x00, 0xc8, 0x66, 0xb3, 0x4b, 0xa4, 0x90, 0xff, 0xe6, 0x79, 0x5e, 0x7a, 0x7a, 0xdb, 0x74, 0xbe, 0xf3, 0xed, 0xef, 0x30, 0x7e, 0xc2, 0x04, 0xba, 0x7b, 0xf2, 0x74, 0xf7, 0xe4, 0xf9, 0xf5, 0x6f, 0x5e, 0xe0, 0xaa, 0x65, 0xcb, 0xc2, 0x7e, 0x9d, 0xd6, 0xa7, 0x69, 0x01, 0x98, 0xd3, 0x26, 0xcb, 0xdb, 0xb4, 0xe1, 0x9d, 0xfc, 0xc2, 0xcb, 0xab, 0x5f, 0xe1, 0xfe, 0xaf, 0x7f, 0x9d, 0x65, 0x57, 0x2e, 0x65, 0xde, 0xa5, 0x73, 0x49, 0x26, 0x12, 0xf4, 0xf4, 0xf4, 0xb0, 0x6d, 0xfb, 0xf6, 0x10, 0xb8, 0x21, 0xe1, 0xdf, 0xfa, 0xad, 0x95, 0x42, 0x29, 0x45, 0xa5, 0x52, 0x61, 0xdc, 0xd8, 0xf1, 0x2c, 0x5a, 0x74, 0x39, 0xda, 0xe8, 0xe6, 0x48, 0x24, 0x76, 0x27, 0xe0, 0x0c, 0x0b, 0x80, 0x54, 0x2a, 0x35, 0xd6, 0x08, 0xeb, 0x51, 0xdf, 0xf7, 0x6b, 0x5a, 0x5a, 0x5a, 0xf8, 0xc6, 0x37, 0xbe, 0x41, 0x73, 0x73, 0x33, 0xf9, 0x7c, 0x1e, 0xd7, 0x75, 0xe9, 0xe8, 0xe8, 0xa0, 0xab, 0xb3, 0x8b, 0xb1, 0x63, 0xc7, 0x12, 0x04, 0xc1, 0xc0, 0x0a, 0x99, 0x10, 0x84, 0x81, 0xdf, 0x10, 0xae, 0xb4, 0xd6, 0x06, 0xfd, 0x7b, 0x26, 0x31, 0x28, 0xbc, 0xc0, 0x75, 0x5d, 0xee, 0xbd, 0xf7, 0x5e, 0x6a, 0x53, 0xb5, 0xdc, 0x70, 0xdd, 0xf5, 0x38, 0x8e, 0x43, 0xb9, 0x52, 0x66, 0xf5, 0xda, 0x35, 0x54, 0x5c, 0x17, 0x03, 0x6f, 0x73, 0x80, 0x66, 0x48, 0x7b, 0x42, 0x93, 0x50, 0x04, 0x2a, 0xac, 0x13, 0xae, 0xbe, 0xe6, 0x5a, 0xaa, 0xab, 0xab, 0x41, 0x8a, 0x5b, 0x62, 0xb1, 0xd8, 0xfc, 0x61, 0x01, 0x60, 0x45, 0x22, 0xff, 0x1d, 0xcc, 0x84, 0x58, 0x2c, 0xc6, 0x5f, 0x7e, 0xf5, 0xaf, 0x98, 0x30, 0x61, 0x22, 0x85, 0x42, 0x2f, 0x15, 0xd7, 0xc3, 0xf3, 0x03, 0xf2, 0x85, 0x5e, 0x02, 0xa5, 0xb0, 0x6d, 0x67, 0x60, 0x42, 0xfa, 0x6d, 0xea, 0x7f, 0xba, 0x36, 0xbc, 0xf5, 0x70, 0x9a, 0x36, 0x68, 0x63, 0x10, 0x02, 0x5e, 0x5d, 0xb7, 0x9e, 0x57, 0xd7, 0xad, 0x63, 0xf1, 0xe2, 0xc5, 0xb4, 0xb6, 0xb6, 0xe0, 0xd8, 0x0e, 0xcf, 0xfe, 0xf2, 0x97, 0x74, 0x74, 0x76, 0x20, 0x07, 0x92, 0xa0, 0xc1, 0x47, 0x0d, 0x08, 0xeb, 0xfb, 0x7e, 0xd8, 0x2a, 0x57, 0x0a, 0xad, 0x14, 0xae, 0xe7, 0xd1, 0xd2, 0xd2, 0xc2, 0xcc, 0x99, 0xb3, 0x08, 0x82, 0x20, 0x13, 0x8d, 0xc5, 0x3e, 0xc5, 0x59, 0xba, 0x46, 0x67, 0x05, 0x20, 0x5b, 0x5f, 0xff, 0x31, 0x81, 0xf8, 0xb8, 0xe7, 0x79, 0xac, 0x5c, 0xf9, 0x47, 0x2c, 0xba, 0xfc, 0x72, 0x7a, 0xfb, 0xfa, 0x30, 0x06, 0x54, 0x10, 0x50, 0xc8, 0xe7, 0xe9, 0xeb, 0xeb, 0xa3, 0x5c, 0x2e, 0x91, 0xcf, 0xe7, 0x07, 0x4c, 0xe0, 0x74, 0x95, 0xfe, 0x5d, 0x6d, 0x08, 0x55, 0x5f, 0x60, 0x8c, 0x08, 0x01, 0x0b, 0x3f, 0x00, 0x60, 0xdb, 0xb6, 0x6d, 0x94, 0xca, 0x65, 0xa6, 0x4f, 0x9f, 0x4e, 0x75, 0x75, 0x35, 0xeb, 0x36, 0xac, 0x67, 0xcb, 0xd6, 0x2d, 0x58, 0xd2, 0x1a, 0x0a, 0x7f, 0xbe, 0xef, 0x13, 0x04, 0x01, 0xc9, 0x44, 0x82, 0xd1, 0xad, 0x2d, 0xb4, 0x4d, 0x9d, 0x42, 0x32, 0x99, 0x24, 0x18, 0x00, 0x61, 0x50, 0x0b, 0x2f, 0xbb, 0x6c, 0x11, 0xb6, 0x6d, 0x21, 0x2d, 0xeb, 0x1a, 0xc7, 0x71, 0x26, 0x9f, 0x49, 0xc6, 0xb3, 0x35, 0x12, 0x2c, 0xa3, 0xb9, 0xd3, 0x18, 0x4d, 0x36, 0x9b, 0xe3, 0xe6, 0x9b, 0x57, 0xd2, 0xd3, 0xd3, 0x43, 0x7b, 0x7b, 0x3b, 0x5b, 0xb6, 0x6c, 0x66, 0xfb, 0xf6, 0xed, 0x1c, 0x3f, 0x7e, 0x8c, 0x42, 0xa1, 0xc0, 0xc9, 0x93, 0x27, 0xd9, 0xbc, 0x79, 0x33, 0x57, 0x5c, 0x71, 0xc5, 0x40, 0xf2, 0xe3, 0x20, 0x2d, 0x07, 0xa3, 0x3d, 0x84, 0x79, 0x5b, 0xb8, 0x13, 0x12, 0xa4, 0x85, 0x29, 0xe5, 0x11, 0x4e, 0x0c, 0x19, 0x49, 0x60, 0xcc, 0x5b, 0x07, 0xa1, 0x4a, 0xa5, 0x12, 0x18, 0x43, 0x2c, 0x1a, 0xa5, 0x5c, 0x2e, 0xf3, 0xcc, 0xb3, 0xbf, 0x08, 0xf9, 0x69, 0x4d, 0xe0, 0xfb, 0xf8, 0x96, 0xc5, 0xa4, 0x09, 0x13, 0x98, 0x3f, 0xf7, 0x52, 0x5a, 0x5b, 0x9a, 0x31, 0x06, 0x52, 0xb5, 0x35, 0x9c, 0x38, 0x79, 0x92, 0x75, 0x1b, 0x5e, 0x1f, 0xd2, 0x04, 0xd7, 0x75, 0x99, 0x3c, 0x69, 0x32, 0xa9, 0x54, 0x2d, 0x85, 0x42, 0x61, 0x8c, 0x13, 0x8d, 0x2e, 0xf4, 0x7d, 0x7f, 0x3b, 0xef, 0x90, 0x1c, 0x9d, 0x11, 0x80, 0x54, 0x5d, 0xdd, 0x0c, 0x61, 0xcc, 0xe5, 0x08, 0x81, 0x52, 0x01, 0xdf, 0xfe, 0xf6, 0x23, 0x74, 0x74, 0x74, 0xb0, 0x7f, 0xff, 0x3e, 0x4a, 0xa5, 0x12, 0x4a, 0x29, 0xa4, 0x94, 0x48, 0x19, 0x2a, 0xd1, 0x33, 0xcf, 0x3e, 0xc3, 0x1d, 0x9f, 0xfe, 0x34, 0xd1, 0x58, 0x12, 0xdd, 0xf9, 0x06, 0xfa, 0xd8, 0x3a, 0xc4, 0xc4, 0x15, 0x50, 0xdd, 0x0c, 0x03, 0x20, 0x18, 0x29, 0x51, 0x1b, 0x7e, 0x8c, 0xbf, 0xee, 0x27, 0x50, 0x55, 0x4f, 0x62, 0xc5, 0x57, 0xb0, 0xea, 0xc6, 0x0c, 0x6c, 0x03, 0x43, 0x2e, 0x97, 0x45, 0x29, 0xc5, 0xa9, 0x53, 0xa7, 0xd8, 0xb8, 0xf1, 0x75, 0x0e, 0x1f, 0x3e, 0x4c, 0x4d, 0x4d, 0x2d, 0xe5, 0x4a, 0x85, 0xd1, 0xf5, 0xf5, 0xdc, 0xb4, 0xfc, 0x46, 0x66, 0x4e, 0x9f, 0x81, 0x94, 0x12, 0xd7, 0x75, 0x11, 0x42, 0x30, 0x6d, 0xea, 0x64, 0xaa, 0xab, 0xab, 0x58, 0xf3, 0xea, 0x7a, 0x02, 0x15, 0x10, 0x04, 0x01, 0x9e, 0xe7, 0x13, 0x8b, 0xc5, 0xa8, 0xad, 0x4d, 0x53, 0x28, 0x14, 0x84, 0x65, 0x59, 0xb3, 0x81, 0x04, 0xd0, 0x7f, 0xce, 0x00, 0x08, 0xcd, 0xe5, 0xc2, 0x92, 0x35, 0x02, 0x28, 0x97, 0xcb, 0xac, 0x5a, 0xf5, 0x2b, 0x84, 0x40, 0x49, 0x69, 0x55, 0x84, 0x10, 0x65, 0xdb, 0xb6, 0xb5, 0x94, 0x32, 0x2b, 0x84, 0xb0, 0x2c, 0xcb, 0x62, 0xd3, 0xa6, 0x4d, 0x3c, 0xf5, 0x8b, 0x67, 0xf8, 0x93, 0x15, 0x1f, 0xa6, 0xfc, 0xda, 0xdf, 0x63, 0xba, 0x8f, 0x61, 0x8a, 0x3d, 0xc8, 0x0f, 0xff, 0xd7, 0x50, 0x40, 0x3b, 0x8a, 0xde, 0xf6, 0x1c, 0xfe, 0xab, 0x0f, 0x20, 0x64, 0x40, 0xb0, 0x6f, 0x1f, 0xfe, 0x9b, 0xaf, 0x20, 0x97, 0x8c, 0xc3, 0xf8, 0x3e, 0xc6, 0xc0, 0xcc, 0x19, 0x33, 0xa9, 0xad, 0xad, 0x65, 0xcd, 0xda, 0x35, 0x64, 0x32, 0x59, 0x54, 0xa0, 0x70, 0x3d, 0x97, 0x25, 0x8b, 0x97, 0xf0, 0x27, 0xb7, 0xdd, 0x46, 0x36, 0x93, 0x19, 0xd8, 0x49, 0xd2, 0xd8, 0x8e, 0xc3, 0x84, 0x71, 0x63, 0xa8, 0xae, 0xaa, 0x22, 0x99, 0x4c, 0x60, 0x59, 0x16, 0x41, 0xa0, 0x86, 0x9c, 0xa1, 0x36, 0x1a, 0xcb, 0x0a, 0x33, 0x7d, 0x81, 0x6c, 0x25, 0xec, 0x17, 0x9c, 0x3b, 0x00, 0x18, 0x93, 0x56, 0x2a, 0xe8, 0xd7, 0x5a, 0xe7, 0x75, 0xa0, 0x8f, 0x2b, 0x15, 0x1c, 0x09, 0x02, 0xff, 0x48, 0x10, 0x04, 0x47, 0xb5, 0xd6, 0x3d, 0x40, 0x25, 0x99, 0xac, 0x5a, 0x12, 0x4b, 0x24, 0xee, 0x18, 0xfc, 0xe4, 0x7f, 0xfe, 0xaf, 0x07, 0x98, 0x97, 0xda, 0xcd, 0x44, 0x7d, 0x92, 0x20, 0x1d, 0xa0, 0x8f, 0xae, 0xc5, 0x74, 0xef, 0xc7, 0xd4, 0x4d, 0x83, 0x93, 0x6f, 0xa2, 0xdf, 0xf8, 0x16, 0x4e, 0x6b, 0x19, 0xec, 0x28, 0xc6, 0x77, 0xa0, 0x2a, 0x87, 0x31, 0x06, 0x01, 0x78, 0x9e, 0x47, 0x5b, 0x5b, 0x1b, 0xf3, 0xe7, 0xcf, 0x67, 0xcd, 0x9a, 0x35, 0xd4, 0xd6, 0xa6, 0x71, 0x1c, 0x9b, 0xcf, 0xdc, 0x71, 0x07, 0x2b, 0x6f, 0x5e, 0x09, 0x06, 0xfc, 0xc0, 0xc7, 0xb1, 0x1d, 0x02, 0x15, 0xd0, 0xd4, 0xd4, 0x48, 0x43, 0x43, 0x1d, 0x00, 0x11, 0x27, 0x82, 0xb4, 0xec, 0xd0, 0x0f, 0xe8, 0xd0, 0x57, 0x54, 0xca, 0xe5, 0xf0, 0x8c, 0xb1, 0x10, 0x18, 0x4c, 0x84, 0x33, 0x38, 0xc2, 0x33, 0x02, 0xe0, 0x96, 0x8b, 0x8f, 0x79, 0x9e, 0xb7, 0x53, 0x29, 0x55, 0x0d, 0x14, 0x80, 0x53, 0x40, 0x2f, 0xd0, 0x07, 0x94, 0x00, 0xbf, 0x58, 0xec, 0x7f, 0xdd, 0x8e, 0x46, 0x26, 0x38, 0xb6, 0xf3, 0x11, 0xdb, 0xb6, 0x39, 0x78, 0x60, 0x3f, 0xdb, 0xd7, 0x3e, 0xcd, 0x8c, 0xeb, 0xba, 0x28, 0x47, 0x4f, 0x10, 0xec, 0xf7, 0x51, 0xbb, 0x9e, 0x45, 0x58, 0x49, 0xcc, 0xab, 0xdf, 0xc4, 0xaa, 0x39, 0x0e, 0x76, 0x12, 0xe3, 0x6a, 0x8c, 0x95, 0x45, 0xb6, 0x4e, 0xc3, 0xa8, 0xd0, 0x69, 0x69, 0x21, 0x88, 0x27, 0xe2, 0xdc, 0x7e, 0xdb, 0x6d, 0xbc, 0xf4, 0xd2, 0x4b, 0xc4, 0x63, 0x71, 0xee, 0xbb, 0xff, 0x5e, 0x6e, 0x5a, 0x71, 0x13, 0x47, 0x8f, 0x9d, 0x40, 0x29, 0x35, 0xb4, 0xa2, 0xe9, 0x74, 0x8a, 0xe6, 0x51, 0xa3, 0x86, 0xe6, 0x1a, 0x3a, 0x46, 0x1f, 0x29, 0x05, 0x4a, 0x85, 0xe6, 0x76, 0xf4, 0xd8, 0x31, 0xf2, 0x85, 0x3c, 0x52, 0x4a, 0x8c, 0x36, 0x85, 0x33, 0xc9, 0x79, 0x46, 0x00, 0xca, 0xe5, 0x72, 0x27, 0xf0, 0x22, 0x61, 0xc5, 0xe8, 0x0e, 0x3c, 0x3e, 0xa7, 0x9f, 0xcf, 0xed, 0xee, 0x2f, 0x16, 0xff, 0x36, 0x55, 0x55, 0xfd, 0xb8, 0x90, 0x56, 0x6b, 0xd4, 0xb1, 0x48, 0x25, 0xc0, 0x38, 0x45, 0x8c, 0x8e, 0x21, 0x33, 0x1e, 0xc1, 0xae, 0xa7, 0x30, 0x7b, 0x7e, 0x85, 0x9d, 0x3a, 0x06, 0xd1, 0x18, 0x28, 0x81, 0xee, 0x56, 0x88, 0xd4, 0x14, 0x44, 0xae, 0x05, 0x23, 0x24, 0xc6, 0x2d, 0x63, 0x7a, 0x3a, 0xa9, 0xd4, 0xd4, 0x72, 0xe3, 0xf2, 0xe5, 0x7c, 0xec, 0x99, 0x67, 0xb8, 0xf5, 0xd6, 0x5b, 0xb9, 0x69, 0xc5, 0x72, 0x5c, 0xd7, 0x25, 0x16, 0x8d, 0xe2, 0x79, 0x1e, 0x4a, 0x6b, 0x92, 0x89, 0x04, 0xcd, 0x4d, 0x0d, 0x08, 0x11, 0x46, 0x15, 0x21, 0x04, 0xa5, 0x52, 0x89, 0x4a, 0x25, 0xdc, 0x63, 0x54, 0x03, 0x25, 0xf8, 0xd6, 0xad, 0x5b, 0xa9, 0x54, 0xca, 0x61, 0x01, 0xa5, 0xbd, 0x76, 0xc0, 0x3b, 0x2f, 0x00, 0x06, 0x3e, 0x38, 0x75, 0x96, 0xff, 0x03, 0x68, 0xe5, 0xba, 0xaf, 0x96, 0x84, 0xf8, 0x6a, 0x2c, 0x91, 0xfc, 0xa6, 0x94, 0x76, 0xbd, 0x65, 0x81, 0x31, 0x36, 0xa8, 0x08, 0x22, 0x02, 0x56, 0x3a, 0x8f, 0x30, 0x05, 0x44, 0x5c, 0x62, 0x7c, 0x0b, 0xa3, 0x04, 0xaa, 0x20, 0x21, 0x07, 0xaa, 0xeb, 0x28, 0x7a, 0xcf, 0x1b, 0xf8, 0x1b, 0x9f, 0x43, 0x1f, 0xd9, 0x8b, 0x48, 0x35, 0x53, 0xf5, 0xd9, 0xff, 0xc6, 0x77, 0x1f, 0xfd, 0x67, 0xe2, 0xd1, 0x08, 0x95, 0x8a, 0x8b, 0x94, 0x92, 0x9a, 0xea, 0x2a, 0xf2, 0x85, 0x02, 0x09, 0x27, 0x4e, 0x36, 0x97, 0x46, 0x48, 0x89, 0xd6, 0x61, 0xee, 0x20, 0x84, 0xe0, 0xe0, 0xe1, 0xc3, 0x04, 0x41, 0x30, 0x94, 0x24, 0xe5, 0xf3, 0x3d, 0xbc, 0xbe, 0xf1, 0x35, 0x2c, 0xcb, 0x46, 0x6b, 0x9d, 0x0f, 0xbc, 0x60, 0x27, 0x50, 0x39, 0x5f, 0x00, 0xce, 0x95, 0x2a, 0x95, 0x4a, 0xe5, 0x69, 0x40, 0xca, 0x48, 0xe2, 0xef, 0x7c, 0x9f, 0xb1, 0xf8, 0x55, 0x80, 0x0f, 0xca, 0xc2, 0x4a, 0x79, 0x98, 0xc0, 0xc1, 0x78, 0x51, 0xd0, 0x02, 0x94, 0x40, 0xc6, 0xa3, 0x04, 0x47, 0x36, 0xe1, 0x7e, 0xef, 0xcf, 0x10, 0xa6, 0x1f, 0x19, 0xd5, 0x88, 0x9c, 0x8d, 0xb7, 0x6f, 0x17, 0x7e, 0xfb, 0x1e, 0x62, 0x4d, 0xe3, 0xf1, 0xbd, 0xca, 0xd0, 0x56, 0x78, 0x2c, 0x16, 0xa5, 0xc6, 0x54, 0x93, 0x88, 0xc7, 0x87, 0xba, 0x42, 0x61, 0x4f, 0x41, 0xa0, 0x94, 0x62, 0xeb, 0xf6, 0x1d, 0x20, 0x04, 0x6a, 0xe0, 0xfd, 0x86, 0x0d, 0xeb, 0x39, 0x76, 0xf4, 0x28, 0x8e, 0xe3, 0xe0, 0x56, 0x2a, 0x5b, 0x7d, 0xdf, 0xdf, 0x0d, 0xbc, 0xe3, 0xad, 0x93, 0x91, 0x6a, 0x89, 0xf5, 0x55, 0x2a, 0x95, 0xa7, 0x4a, 0xbd, 0xdd, 0xff, 0xb9, 0xec, 0xea, 0x3d, 0xd2, 0xab, 0x02, 0x6d, 0x61, 0x94, 0x0d, 0xca, 0xc2, 0x04, 0x36, 0x18, 0x81, 0x51, 0x02, 0xb4, 0x44, 0xa6, 0xc1, 0x69, 0xd6, 0xd8, 0xd9, 0x12, 0x32, 0x63, 0x81, 0xe5, 0x10, 0x1c, 0x0b, 0xb0, 0xc7, 0x4c, 0xc7, 0x9a, 0x34, 0x07, 0xe5, 0xbb, 0x6f, 0x25, 0x4e, 0x03, 0x7f, 0x93, 0x89, 0x04, 0x52, 0x86, 0xb5, 0xc6, 0x60, 0x1a, 0x6d, 0x49, 0xc9, 0x1b, 0x9b, 0x36, 0xb3, 0x67, 0xef, 0x5e, 0xa4, 0x10, 0x48, 0x29, 0x39, 0x7c, 0xf8, 0x10, 0x2f, 0xbd, 0xf8, 0x02, 0x96, 0x65, 0xa1, 0x94, 0xaa, 0xb8, 0x95, 0xf2, 0xaf, 0x80, 0xa3, 0x84, 0x26, 0x7c, 0xd1, 0x00, 0x30, 0x84, 0x8e, 0x72, 0x55, 0x63, 0xb5, 0xb5, 0x2a, 0x28, 0xc7, 0x31, 0x3a, 0x02, 0xda, 0xc6, 0x68, 0x0b, 0xb4, 0x15, 0xae, 0xbe, 0x16, 0xa0, 0x07, 0xd2, 0x02, 0x01, 0xc6, 0x08, 0x4c, 0x05, 0xfc, 0x83, 0x01, 0x24, 0x9a, 0x89, 0xde, 0xf6, 0x25, 0xa8, 0xae, 0xc5, 0x0c, 0x36, 0x3d, 0x00, 0x3d, 0x54, 0x4b, 0xe8, 0xd3, 0x2a, 0x4b, 0xc7, 0xb6, 0xe9, 0xe8, 0xec, 0xe4, 0xc7, 0x3f, 0x7b, 0x92, 0x20, 0x08, 0x90, 0x96, 0x45, 0x6f, 0xa1, 0xc0, 0xaa, 0xe7, 0x9f, 0xa3, 0xbf, 0xbf, 0x1f, 0x29, 0x25, 0x5e, 0xa5, 0xf2, 0x6b, 0xcf, 0xf3, 0x5e, 0x05, 0x3a, 0x39, 0x43, 0xdd, 0x3d, 0xd2, 0xe7, 0x03, 0xca, 0x11, 0x5b, 0x6c, 0xac, 0x94, 0x1c, 0xa4, 0x13, 0x45, 0x1b, 0x19, 0xae, 0xbe, 0x96, 0x98, 0x40, 0x86, 0x7f, 0x55, 0x08, 0x02, 0x1a, 0x4c, 0x3f, 0x88, 0x13, 0x06, 0xa7, 0xb1, 0x0d, 0xeb, 0x96, 0x2f, 0x21, 0x9a, 0x27, 0x61, 0x7c, 0x0f, 0x84, 0x18, 0xaa, 0x2c, 0x85, 0x10, 0x0c, 0xe0, 0x35, 0x44, 0xd1, 0x48, 0x94, 0x93, 0x1d, 0x9d, 0x3c, 0xf8, 0xc8, 0x77, 0x38, 0x78, 0xe8, 0x30, 0xd9, 0x6c, 0x96, 0x42, 0xbe, 0x87, 0xb5, 0xab, 0x5f, 0xa2, 0xe3, 0xe4, 0xc9, 0x50, 0xf5, 0xdd, 0xca, 0xe6, 0x62, 0xb1, 0xff, 0xa7, 0xc0, 0x6e, 0xde, 0x21, 0xfe, 0x5f, 0x2c, 0x00, 0xd8, 0x7d, 0xb2, 0xb2, 0x69, 0x5c, 0x36, 0xde, 0x5b, 0x15, 0x8d, 0xd6, 0xe0, 0xa8, 0xd0, 0x14, 0x34, 0xa0, 0x05, 0x46, 0x8b, 0x70, 0x1d, 0x7c, 0x90, 0x79, 0x81, 0xd7, 0xa9, 0xd8, 0xec, 0xe5, 0x68, 0x5c, 0xfa, 0x19, 0x26, 0x8e, 0x99, 0x82, 0x85, 0x41, 0x0b, 0x07, 0x06, 0x2a, 0xc4, 0xc1, 0xde, 0xe1, 0x60, 0xc6, 0xe9, 0xd8, 0x36, 0x15, 0xd7, 0x65, 0xf5, 0xda, 0xb5, 0x3c, 0xfe, 0xc4, 0xbf, 0xd1, 0xd1, 0xd5, 0x45, 0x4d, 0x55, 0x35, 0xfb, 0xf7, 0xed, 0x65, 0xc7, 0xb6, 0xad, 0xf4, 0xf7, 0xf7, 0x62, 0xdb, 0x36, 0x9e, 0xe7, 0x6e, 0x2a, 0x16, 0x0a, 0xdf, 0x03, 0x5e, 0x03, 0x4e, 0x70, 0x96, 0xd3, 0x64, 0x17, 0xe3, 0xa4, 0x75, 0x72, 0xef, 0xb7, 0x16, 0xfc, 0xbf, 0xa6, 0x8c, 0xbd, 0xd8, 0x8d, 0xb8, 0x21, 0x00, 0x7e, 0x68, 0xfb, 0xc6, 0x97, 0x88, 0x7e, 0x81, 0xd5, 0x2b, 0xd8, 0x75, 0xcc, 0xe3, 0xa1, 0xdf, 0x9e, 0xe2, 0xa9, 0xfd, 0xbd, 0xe4, 0xea, 0xea, 0x98, 0x3d, 0x63, 0x06, 0x97, 0xce, 0xbb, 0x94, 0x79, 0x97, 0xce, 0xa3, 0xb1, 0xb1, 0x91, 0x78, 0x3c, 0x4e, 0x22, 0x91, 0xc0, 0x18, 0x8d, 0xe7, 0x79, 0xf4, 0xe4, 0xf3, 0xbc, 0xb9, 0x73, 0x17, 0x2f, 0xae, 0x7e, 0x85, 0xad, 0x3b, 0x76, 0x21, 0x11, 0x18, 0xe5, 0xd3, 0xdd, 0x71, 0x82, 0xce, 0xce, 0x8e, 0xc1, 0x82, 0x4a, 0xbb, 0xae, 0xfb, 0x4a, 0xb1, 0xaf, 0xf7, 0x87, 0xc0, 0xab, 0x84, 0xab, 0x7f, 0xd6, 0x2b, 0x77, 0x17, 0xe5, 0xa8, 0xf9, 0xd3, 0xf7, 0x4c, 0xff, 0xfc, 0x47, 0x26, 0xa6, 0x1f, 0x36, 0x96, 0xc2, 0x38, 0x1a, 0xe1, 0x4b, 0xa4, 0x6b, 0x21, 0xfb, 0x25, 0x27, 0x3a, 0xfd, 0xf2, 0x4b, 0x7b, 0x7a, 0x7e, 0x7b, 0xef, 0xda, 0x0e, 0x7d, 0xac, 0xc2, 0xd4, 0x84, 0x63, 0xe5, 0x06, 0x7b, 0xfc, 0x42, 0x08, 0x22, 0x91, 0x08, 0xd9, 0x6c, 0x96, 0xaa, 0xaa, 0xaa, 0xb0, 0xa6, 0x07, 0xca, 0x15, 0x9f, 0xce, 0x7c, 0x1e, 0xbf, 0xe2, 0x32, 0x36, 0x1d, 0x61, 0x72, 0x26, 0x42, 0xc2, 0x04, 0x6c, 0x3e, 0xd2, 0xc3, 0xa6, 0x8e, 0x12, 0x42, 0x08, 0x23, 0x8c, 0x3e, 0x5c, 0x2e, 0x96, 0x9e, 0xf3, 0xbc, 0xca, 0x4b, 0xc0, 0x26, 0xe0, 0x00, 0x67, 0x08, 0x7d, 0x17, 0x1d, 0x80, 0xd6, 0x6c, 0xbc, 0xe9, 0x67, 0x77, 0x4f, 0x7b, 0x7c, 0x7a, 0x63, 0xd5, 0x32, 0xa3, 0x0c, 0x7d, 0x7d, 0x8a, 0xe3, 0x9d, 0x7e, 0xd7, 0xba, 0xfd, 0xbd, 0x6f, 0x7e, 0x6f, 0xfd, 0xb1, 0x57, 0x5e, 0x3b, 0xd2, 0xb7, 0x05, 0xe8, 0x96, 0x52, 0x36, 0x38, 0x4e, 0xb4, 0xcd, 0x8e, 0xd8, 0xd3, 0x6c, 0xdb, 0x9e, 0x22, 0xa5, 0x35, 0x0a, 0x41, 0x35, 0x06, 0x4b, 0x69, 0x8d, 0xe7, 0x87, 0xbb, 0x40, 0x8d, 0x55, 0x16, 0x0b, 0xc7, 0xd7, 0x72, 0xe3, 0xfc, 0x56, 0x16, 0xcd, 0x6a, 0x64, 0x54, 0x63, 0x04, 0x51, 0xec, 0xa4, 0xb0, 0xbb, 0xc0, 0xcf, 0x37, 0x94, 0xbd, 0xef, 0xbe, 0x71, 0xfc, 0xf9, 0x4d, 0x47, 0x3b, 0x9f, 0x04, 0x76, 0x0d, 0x08, 0xde, 0x41, 0x98, 0xb4, 0xbd, 0x2b, 0x5d, 0xac, 0xcb, 0x06, 0xd6, 0x25, 0xad, 0xf1, 0x39, 0x9f, 0x5a, 0xd4, 0xf8, 0x59, 0xd7, 0x35, 0xb9, 0x1d, 0x47, 0x4a, 0x1d, 0xcf, 0xef, 0xec, 0xde, 0xd3, 0x55, 0x0c, 0x0e, 0x00, 0x87, 0x09, 0xc3, 0x52, 0x3f, 0x61, 0x7e, 0x5e, 0x43, 0xb8, 0xbd, 0xdd, 0x20, 0xa5, 0x1c, 0xa3, 0xa5, 0xdd, 0x48, 0xa0, 0xb2, 0xd9, 0x6a, 0x6b, 0xca, 0xfc, 0x89, 0x99, 0x19, 0xd7, 0x5f, 0xd6, 0x56, 0xb7, 0xf8, 0xf2, 0xd9, 0xf6, 0xc4, 0x19, 0xa3, 0x89, 0xa4, 0x35, 0x81, 0x28, 0xa0, 0x2b, 0x7b, 0xc0, 0xdd, 0x0a, 0x7d, 0x47, 0x10, 0x07, 0xe3, 0x74, 0xec, 0xc8, 0xf5, 0xbc, 0xb9, 0xd3, 0xfa, 0x3f, 0x6f, 0xec, 0x97, 0xff, 0xf4, 0x57, 0x1b, 0x37, 0xee, 0x3c, 0x9f, 0x89, 0x5e, 0xcc, 0xdb, 0x16, 0x31, 0x60, 0x14, 0x90, 0x23, 0xbc, 0xed, 0x59, 0x00, 0xba, 0x09, 0x05, 0xff, 0xdd, 0xdb, 0x9f, 0x36, 0x61, 0xca, 0x6d, 0xff, 0xe9, 0x5c, 0x66, 0xdc, 0x7a, 0xf3, 0x15, 0x9f, 0x9c, 0x34, 0xfb, 0xca, 0x6b, 0xea, 0xdb, 0x2e, 0x1f, 0x13, 0x6d, 0x18, 0x65, 0xfb, 0xa6, 0x8b, 0xa0, 0xef, 0x4d, 0x8c, 0xdb, 0x8e, 0x28, 0xef, 0x03, 0x6f, 0x1b, 0xa8, 0x43, 0xa0, 0x8a, 0x20, 0x41, 0xfa, 0x12, 0x4e, 0x66, 0xe9, 0xde, 0x52, 0x7f, 0xbc, 0xff, 0x40, 0xfa, 0xb1, 0x7d, 0xf9, 0xf2, 0x03, 0xd7, 0xfd, 0xfb, 0xc6, 0x73, 0xba, 0x57, 0x78, 0xb1, 0xaf, 0x9b, 0xc8, 0x81, 0xc7, 0xf0, 0x2e, 0x77, 0xfc, 0xf2, 0x8f, 0xb6, 0x64, 0x48, 0xcf, 0xfb, 0x42, 0x64, 0xdc, 0x75, 0x7f, 0x1a, 0x9f, 0xb4, 0xb4, 0x05, 0x19, 0xc5, 0xed, 0xde, 0x8b, 0x77, 0x6c, 0x03, 0xc1, 0xb1, 0x1d, 0x38, 0xa3, 0x13, 0x58, 0x55, 0x9d, 0xe1, 0xca, 0xfb, 0xed, 0xf8, 0x87, 0xa3, 0x04, 0x47, 0xea, 0x90, 0x51, 0x1f, 0x2b, 0x9b, 0x47, 0x64, 0xfa, 0x88, 0x24, 0x7d, 0xd4, 0xb6, 0x31, 0x74, 0xac, 0x19, 0x7d, 0xb0, 0xc7, 0x55, 0x7f, 0x3d, 0xe7, 0x07, 0x6b, 0x7f, 0xc0, 0xbb, 0x9c, 0x27, 0xfe, 0x40, 0xdc, 0xb7, 0xe9, 0xfc, 0xfe, 0xfc, 0xa5, 0x96, 0x32, 0x0f, 0xa7, 0x27, 0x7c, 0x68, 0x32, 0xf1, 0x16, 0xdc, 0x8e, 0xfd, 0xa8, 0xee, 0x23, 0xf8, 0x85, 0x53, 0x18, 0x57, 0x61, 0x02, 0x0b, 0x67, 0x7e, 0x15, 0x76, 0xfd, 0x41, 0x74, 0x4f, 0x07, 0x6a, 0x77, 0x0e, 0x75, 0x60, 0x14, 0xfd, 0x45, 0x63, 0x2a, 0xae, 0xf6, 0xe3, 0xd2, 0x8a, 0x24, 0x92, 0x0a, 0xab, 0xba, 0x88, 0x01, 0xc4, 0xf1, 0x0c, 0xfd, 0x9e, 0x66, 0xe3, 0xc9, 0x53, 0x37, 0xaf, 0xf8, 0xf9, 0xb6, 0x27, 0xcf, 0x36, 0xf6, 0xfb, 0x76, 0x6b, 0x6c, 0x90, 0x0e, 0x3d, 0x36, 0x6b, 0xba, 0x81, 0x7f, 0x29, 0x07, 0xb2, 0xfe, 0xc4, 0xc6, 0xd5, 0x1d, 0x5d, 0xa7, 0x4a, 0xbd, 0xc7, 0xba, 0xbc, 0xce, 0xf6, 0x53, 0xaa, 0x73, 0x4f, 0x87, 0xdb, 0x61, 0x21, 0xcd, 0xe7, 0x16, 0x35, 0x5d, 0x3d, 0x6e, 0x67, 0xdf, 0x18, 0x7f, 0x6f, 0x1c, 0x0a, 0x93, 0x38, 0x7e, 0xd4, 0xca, 0xbf, 0xb0, 0xe7, 0xc4, 0x1b, 0x2f, 0xec, 0xeb, 0x79, 0xb3, 0xd7, 0x55, 0x85, 0xc6, 0xb8, 0x1d, 0x6b, 0x88, 0xc5, 0x33, 0xcd, 0x89, 0x44, 0xae, 0x3e, 0x1e, 0xc9, 0x34, 0x54, 0xf7, 0x66, 0x1d, 0x49, 0xe4, 0xc5, 0x23, 0xbd, 0xad, 0x84, 0x9d, 0xa0, 0xd2, 0x99, 0xc6, 0x7f, 0xdf, 0x01, 0x78, 0xea, 0xb5, 0xce, 0x13, 0xed, 0x27, 0xf9, 0xca, 0x86, 0x37, 0x8b, 0x63, 0xb6, 0x1f, 0x2d, 0xea, 0xce, 0x42, 0xd0, 0x4d, 0xd8, 0x73, 0x18, 0x7c, 0x2a, 0x32, 0x60, 0xe7, 0x3d, 0x57, 0x8d, 0xb9, 0x2f, 0x2e, 0x52, 0x91, 0x55, 0x3b, 0x7b, 0x36, 0xfe, 0x97, 0x5f, 0xec, 0x7e, 0xe6, 0x50, 0xc1, 0xdd, 0x01, 0xb4, 0x13, 0xfa, 0x16, 0x03, 0xc4, 0x09, 0x85, 0x4d, 0x12, 0x76, 0x7f, 0x1c, 0x42, 0x87, 0x7b, 0xd6, 0x0d, 0xe0, 0xff, 0x0f, 0x58, 0xc5, 0x9f, 0x88, 0x1d, 0xe5, 0x3b, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_tucnakv[1772] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x43, 0xbb, 0x7f, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd9, 0x0a, 0x08, 0x07, 0x0e, 0x2e, 0x31, 0xfb, 0xe1, 0xcd, 0x00, 0x00, 0x06, 0x79, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x97, 0x5b, 0x6c, 0x54, 0xc7, 0x19, 0xc7, 0xff, 0x73, 0xae, 0xde, 0x5d, 0xef, 0x7a, 0x6f, 0x5e, 0xdf, 0xc0, 0x76, 0xc0, 0x50, 0x30, 0xc6, 0x06, 0xdf, 0x28, 0xc5, 0xde, 0xa0, 0xc8, 0x80, 0x23, 0x62, 0x68, 0xa2, 0x34, 0x2d, 0x04, 0x42, 0x95, 0xb4, 0x55, 0x45, 0xd5, 0x26, 0xa1, 0xc5, 0x28, 0x4d, 0x9b, 0xb6, 0x6a, 0xd3, 0x36, 0x97, 0x2a, 0x2d, 0x69, 0xab, 0x56, 0x3c, 0x54, 0x16, 0x65, 0xc3, 0x25, 0x8a, 0x92, 0xc6, 0x8a, 0x08, 0xa6, 0x52, 0x0a, 0x32, 0x97, 0x18, 0x8c, 0x63, 0xa9, 0xc4, 0x76, 0x7c, 0x01, 0xbc, 0xf6, 0xd6, 0xac, 0xbd, 0x5e, 0xdb, 0xbb, 0x7b, 0xf6, 0x5c, 0x66, 0xa6, 0x2f, 0xcd, 0x53, 0xb8, 0xac, 0x89, 0xf3, 0xd6, 0x79, 0x1b, 0xe9, 0x3b, 0xff, 0xef, 0x37, 0xff, 0xf9, 0xbe, 0x99, 0x39, 0xc0, 0xff, 0xc7, 0x02, 0x8f, 0xd9, 0xa7, 0x9e, 0xb4, 0xc7, 0x0a, 0xf2, 0xed, 0xe9, 0x50, 0x48, 0xc8, 0x24, 0x9e, 0x2c, 0x44, 0xd2, 0xb9, 0xd6, 0xfd, 0x84, 0x5f, 0xbb, 0xb6, 0x43, 0x7a, 0xe0, 0x81, 0xa7, 0xa5, 0xe5, 0xcb, 0xd7, 0x72, 0x5d, 0x87, 0xf9, 0x61, 0xd7, 0x35, 0xb3, 0xfd, 0xdd, 0x5f, 0x7a, 0xba, 0x2e, 0x1d, 0xfe, 0x42, 0x01, 0xfe, 0x73, 0xee, 0xc3, 0x6c, 0xc7, 0x89, 0xd0, 0x9f, 0xe5, 0x86, 0xc6, 0xdd, 0x5c, 0xd3, 0xa0, 0xbf, 0x7f, 0x12, 0xe6, 0xc8, 0x08, 0x28, 0xe7, 0x48, 0xc4, 0x62, 0x5c, 0x78, 0xee, 0x85, 0x33, 0xb4, 0xb9, 0xe5, 0xd5, 0x65, 0x01, 0x67, 0xfb, 0xad, 0xbe, 0x97, 0xee, 0x35, 0xb1, 0xdb, 0xeb, 0x17, 0x76, 0x3d, 0xf9, 0xed, 0x16, 0xa3, 0xf7, 0xca, 0x61, 0xc7, 0xe2, 0x62, 0xa7, 0xde, 0xfb, 0x11, 0x12, 0x6d, 0x6d, 0x30, 0xd2, 0x1a, 0x8c, 0xe5, 0x5f, 0xc2, 0xb4, 0xdd, 0x31, 0x38, 0x5e, 0x77, 0xff, 0x11, 0x75, 0x71, 0xf9, 0x0b, 0xf6, 0xe9, 0x54, 0x37, 0x80, 0x5b, 0x02, 0x08, 0xf7, 0x92, 0xdc, 0xe3, 0xf3, 0xc9, 0x8a, 0x2a, 0xef, 0xcb, 0x2b, 0x5b, 0x7d, 0x82, 0x96, 0xaf, 0x76, 0x46, 0x06, 0x07, 0x31, 0x75, 0xec, 0x28, 0xe2, 0x33, 0x33, 0x48, 0x56, 0xad, 0xc1, 0x6c, 0x20, 0xef, 0x13, 0x53, 0x96, 0xd7, 0x3d, 0xf2, 0xfb, 0xdf, 0xfc, 0x5c, 0x73, 0x79, 0x2b, 0x22, 0x71, 0xed, 0xb9, 0xdb, 0x69, 0xcd, 0xdb, 0x01, 0xbf, 0x3b, 0x40, 0x04, 0x45, 0x7c, 0xaa, 0xb1, 0xa1, 0xf1, 0x57, 0x8e, 0xc0, 0x22, 0x39, 0x5c, 0x58, 0x06, 0xb9, 0xe5, 0x31, 0xc4, 0x2f, 0x76, 0xc1, 0x55, 0xee, 0x87, 0xab, 0xba, 0x16, 0x53, 0x76, 0xdf, 0x85, 0xe6, 0x9f, 0xfe, 0x30, 0x06, 0x00, 0x8f, 0xd6, 0x14, 0x5f, 0xbd, 0x93, 0xde, 0xbc, 0x1d, 0x30, 0xb9, 0xb9, 0xe4, 0xc1, 0xe6, 0x07, 0x9f, 0x7f, 0xfd, 0xe0, 0x1f, 0x54, 0x21, 0x1e, 0xc6, 0x78, 0x2c, 0x85, 0xbe, 0x9c, 0x12, 0xcc, 0xfe, 0xf5, 0x4d, 0x4c, 0xfc, 0xe8, 0x45, 0x84, 0x2b, 0xd6, 0x41, 0x6b, 0x6a, 0xf1, 0x67, 0xaa, 0x37, 0x2f, 0x00, 0xb7, 0xc7, 0x23, 0x04, 0xf2, 0x03, 0xdf, 0x2a, 0x5b, 0xe4, 0x2d, 0x1a, 0xb8, 0xf8, 0x3e, 0xca, 0xb3, 0x62, 0xe8, 0x3f, 0x15, 0x82, 0x42, 0x38, 0xe6, 0x34, 0x13, 0xce, 0x15, 0x2b, 0x61, 0xaf, 0x5b, 0x0f, 0xa8, 0xb6, 0xb7, 0x33, 0xd5, 0x9c, 0xd7, 0x16, 0x58, 0x94, 0x04, 0x1e, 0xdb, 0x92, 0xf7, 0xf5, 0xa7, 0xbf, 0xff, 0x4d, 0x22, 0x61, 0x1c, 0x74, 0xe2, 0x08, 0x56, 0xda, 0xff, 0x09, 0xf7, 0x5c, 0x18, 0xef, 0x5c, 0x5f, 0x83, 0x37, 0x3e, 0xbe, 0x1e, 0x2b, 0xaf, 0x0b, 0xee, 0x6f, 0x58, 0x57, 0xd3, 0xf6, 0x85, 0x00, 0xf8, 0xdc, 0xbc, 0xf9, 0xa1, 0x2d, 0xab, 0x4a, 0x15, 0x21, 0x0c, 0x6b, 0xe2, 0x38, 0xac, 0xe8, 0x39, 0x30, 0xbd, 0x00, 0x57, 0x23, 0x16, 0x62, 0x33, 0x53, 0xb8, 0xd0, 0xd1, 0x9e, 0x6c, 0x3b, 0xf8, 0xd2, 0x49, 0xcb, 0xb2, 0xe8, 0x82, 0x03, 0xe4, 0xf8, 0x7c, 0x8a, 0xc5, 0x94, 0xc7, 0x45, 0xc9, 0x46, 0x6e, 0x86, 0x07, 0x11, 0x9f, 0x09, 0x62, 0xce, 0xda, 0x06, 0x52, 0x14, 0x40, 0x71, 0xe3, 0x7d, 0x08, 0x74, 0x9e, 0x87, 0x61, 0x1a, 0xf3, 0xee, 0x28, 0x29, 0xf3, 0x62, 0x21, 0x15, 0x3e, 0x5f, 0xde, 0x97, 0x4b, 0xd6, 0x1c, 0x80, 0x20, 0xca, 0x90, 0xf3, 0x2d, 0x94, 0xda, 0x6d, 0xb0, 0xdb, 0x6d, 0x10, 0x45, 0x11, 0x5e, 0x8f, 0x1b, 0x9c, 0x31, 0x49, 0x10, 0x45, 0x19, 0x96, 0xb5, 0xf0, 0x00, 0x84, 0x90, 0x1d, 0xc1, 0x60, 0xd0, 0x91, 0x9b, 0x9b, 0x0b, 0x42, 0x3e, 0x7b, 0x80, 0x66, 0x67, 0x3b, 0x20, 0x88, 0x62, 0x96, 0x24, 0x4a, 0x2e, 0x03, 0x3a, 0x16, 0xb4, 0x0b, 0x3c, 0x7e, 0x7f, 0x40, 0x55, 0xb3, 0xb6, 0xef, 0xdc, 0xf1, 0x0d, 0x72, 0xab, 0xe4, 0x00, 0x40, 0x19, 0x43, 0x76, 0xb6, 0xd3, 0x21, 0xca, 0xf2, 0xd2, 0xf9, 0x6c, 0xc1, 0x5d, 0x01, 0x3c, 0x1e, 0x3f, 0x01, 0xc7, 0x8e, 0x60, 0x63, 0xc3, 0xd2, 0xea, 0xea, 0xea, 0xdb, 0xc6, 0x4d, 0x4e, 0x4e, 0xa1, 0x68, 0xd1, 0x62, 0x45, 0x14, 0xc4, 0xcd, 0xa2, 0x2c, 0x8b, 0x0b, 0xe7, 0x80, 0x44, 0xca, 0x5d, 0x4e, 0x57, 0xeb, 0xb3, 0xcf, 0x3c, 0x23, 0xa8, 0xaa, 0x7a, 0xeb, 0xd5, 0x53, 0x8a, 0xc1, 0xe1, 0x61, 0x14, 0x2d, 0x2e, 0x86, 0xc7, 0xeb, 0xdd, 0x6e, 0xb3, 0xd9, 0xef, 0x5b, 0x10, 0x00, 0xaf, 0x2f, 0xb7, 0x58, 0x00, 0xf9, 0xe3, 0x9e, 0x3d, 0xbb, 0x0b, 0x6b, 0x6b, 0x6b, 0x6e, 0x1b, 0x37, 0x72, 0xed, 0x06, 0xfa, 0xfb, 0x07, 0xa0, 0xc8, 0x32, 0xd6, 0xd6, 0xd4, 0x14, 0xa8, 0xaa, 0xfa, 0x03, 0x87, 0xd3, 0x29, 0xdd, 0x33, 0x80, 0x37, 0x37, 0x57, 0x74, 0xfb, 0x72, 0xb7, 0xfa, 0xfc, 0xbe, 0x93, 0x55, 0x55, 0x55, 0xf7, 0xef, 0xdd, 0xbb, 0x17, 0x1c, 0x00, 0x63, 0xfc, 0x33, 0xb1, 0x5a, 0x3a, 0x8d, 0x23, 0xc7, 0x8e, 0xc1, 0x62, 0x0c, 0x16, 0xa5, 0x58, 0xb1, 0x72, 0x15, 0x59, 0xba, 0xb4, 0xec, 0x09, 0x49, 0x92, 0x36, 0xdc, 0x53, 0x17, 0xb8, 0x7d, 0x7e, 0x1b, 0x40, 0x5a, 0x1b, 0x36, 0xac, 0xdf, 0xff, 0xd5, 0x6d, 0xdb, 0x1c, 0xf9, 0x05, 0x05, 0x70, 0xe7, 0xb8, 0xc1, 0x18, 0x03, 0x17, 0x00, 0xce, 0x08, 0x04, 0x42, 0x40, 0x08, 0x01, 0xe7, 0x1c, 0x47, 0x8f, 0x9f, 0x40, 0x34, 0x3a, 0x05, 0x55, 0x51, 0x61, 0x59, 0x26, 0x18, 0xe7, 0x68, 0xda, 0xb4, 0x25, 0x27, 0x12, 0x19, 0xff, 0x05, 0xb5, 0xac, 0x6d, 0x89, 0xb9, 0xb9, 0xd9, 0x8c, 0x1d, 0xf0, 0xfa, 0xfc, 0x59, 0xa2, 0x20, 0xbc, 0xb4, 0x79, 0xd3, 0xa6, 0x9f, 0xbc, 0x7e, 0xf0, 0xa0, 0x23, 0xad, 0xeb, 0xa8, 0xaf, 0xaf, 0x07, 0xa5, 0x14, 0xd4, 0x62, 0xe0, 0x94, 0x82, 0x51, 0x0a, 0xc6, 0x38, 0x38, 0xe7, 0x38, 0xd5, 0x71, 0x1a, 0x57, 0x3f, 0xee, 0x43, 0x61, 0x41, 0x3e, 0xa2, 0xd1, 0x28, 0x4c, 0xd3, 0x84, 0x65, 0x99, 0xc8, 0x0d, 0x04, 0xd0, 0xd8, 0xd0, 0xb8, 0x41, 0x94, 0xe4, 0x9d, 0x8a, 0xa2, 0x90, 0x8c, 0x00, 0x7c, 0x81, 0x00, 0x01, 0x21, 0x4f, 0x54, 0x54, 0x54, 0x7c, 0xb7, 0xb5, 0xf5, 0x80, 0xa4, 0x1b, 0x26, 0x66, 0x67, 0xe7, 0x20, 0xcb, 0x32, 0x28, 0x63, 0x60, 0x8c, 0x81, 0x52, 0x06, 0xc6, 0x38, 0x18, 0xa3, 0x48, 0xa5, 0x52, 0x38, 0x7a, 0xec, 0x38, 0x6a, 0xab, 0x6b, 0x70, 0xfe, 0xe2, 0x45, 0xa4, 0xb4, 0x14, 0x28, 0x65, 0x20, 0x20, 0x30, 0x0c, 0x03, 0x1b, 0x1a, 0x82, 0x92, 0xdb, 0xed, 0xfe, 0x9e, 0xa2, 0xaa, 0xfe, 0x8c, 0x00, 0x18, 0xe3, 0x6e, 0x81, 0x08, 0xfb, 0x56, 0xad, 0xaa, 0x90, 0x43, 0xa1, 0x10, 0xdf, 0xb7, 0xef, 0x59, 0x74, 0x9c, 0xee, 0x40, 0x32, 0x91, 0x00, 0x9d, 0x1d, 0x03, 0x65, 0x16, 0xa8, 0xa9, 0xc3, 0x18, 0x38, 0x07, 0x2b, 0x39, 0x8b, 0x64, 0x2a, 0x85, 0xb4, 0x96, 0x42, 0x4f, 0xcf, 0x15, 0x44, 0x22, 0x11, 0x94, 0x2d, 0x59, 0x82, 0xe6, 0xa6, 0x26, 0x6c, 0x6d, 0xde, 0x0c, 0x41, 0x20, 0x70, 0x3a, 0x9d, 0x28, 0x29, 0x29, 0x5d, 0x41, 0x04, 0xa1, 0x3e, 0xa3, 0x1a, 0xe0, 0x8c, 0x97, 0x50, 0x62, 0xe1, 0x8d, 0xd0, 0xdf, 0x3b, 0x4d, 0xcb, 0x1a, 0x16, 0x04, 0x31, 0x4f, 0x51, 0xd4, 0xa6, 0xf7, 0x42, 0xbf, 0x13, 0xbe, 0x56, 0xda, 0x03, 0x5a, 0xf7, 0x2a, 0x68, 0xe4, 0x32, 0x58, 0xf7, 0xdf, 0xc0, 0x37, 0xbe, 0x0c, 0x47, 0xe9, 0x5a, 0xa8, 0xaa, 0x8a, 0xce, 0xce, 0x4e, 0xec, 0xd9, 0xb5, 0x0b, 0x5f, 0x59, 0xbf, 0x1e, 0x76, 0xbb, 0x0d, 0x8b, 0x8a, 0x0a, 0xd0, 0xdd, 0xd3, 0x0b, 0xdd, 0x30, 0x20, 0x8a, 0xa2, 0x08, 0x8e, 0x65, 0xff, 0x7b, 0x7b, 0xf2, 0x3b, 0x02, 0xa4, 0x12, 0x73, 0x57, 0x2d, 0xcb, 0xdc, 0xca, 0x39, 0x4f, 0x72, 0xce, 0x67, 0x55, 0xbb, 0xdd, 0x2d, 0x8a, 0x62, 0xe8, 0x4a, 0xe7, 0x5b, 0xc1, 0x9d, 0x6b, 0x12, 0x44, 0xbf, 0xf4, 0x22, 0x08, 0x8d, 0x00, 0x4a, 0x16, 0x78, 0x56, 0x0e, 0xe8, 0x60, 0x0f, 0x1e, 0x7f, 0xb8, 0x05, 0xdc, 0xe6, 0x44, 0x65, 0x65, 0x15, 0xb4, 0x74, 0x1a, 0x05, 0xf9, 0x01, 0x98, 0x86, 0x09, 0x2d, 0xad, 0xc1, 0x32, 0x4d, 0x84, 0xc3, 0xa3, 0x8c, 0x31, 0x16, 0xcb, 0xc8, 0x01, 0xc3, 0xd0, 0x0d, 0x00, 0x43, 0x9f, 0xce, 0xf5, 0x54, 0x2a, 0x25, 0x10, 0xf2, 0x1d, 0xbf, 0xc3, 0x79, 0x08, 0x2c, 0x3b, 0x28, 0x8a, 0x7d, 0xe0, 0x96, 0x03, 0x30, 0x0c, 0x18, 0xef, 0x3d, 0x0f, 0x16, 0x4d, 0xa0, 0x6e, 0xfb, 0xcf, 0xa0, 0x96, 0xd7, 0x83, 0x33, 0x8e, 0x1c, 0x57, 0x36, 0x24, 0x51, 0x42, 0xff, 0xc8, 0x00, 0xa6, 0xe3, 0x33, 0x18, 0x19, 0x1c, 0xc0, 0xe4, 0xe4, 0xe4, 0x0d, 0xd3, 0xd0, 0x2f, 0xdf, 0x6e, 0xf5, 0x77, 0x3d, 0x88, 0xb4, 0x64, 0x72, 0x60, 0x6b, 0xa5, 0xeb, 0x15, 0x9a, 0x74, 0x52, 0x50, 0x15, 0xdc, 0x10, 0x00, 0x89, 0x83, 0xce, 0xc4, 0x41, 0x56, 0x3f, 0x0c, 0xa1, 0xac, 0x0a, 0x94, 0x31, 0x40, 0x00, 0x08, 0x11, 0x10, 0x1e, 0x0b, 0xe3, 0xe8, 0x9b, 0x6f, 0x61, 0xa0, 0xbf, 0x0f, 0x9d, 0x9d, 0x67, 0x93, 0x7a, 0x5a, 0x3b, 0x64, 0x9a, 0xe6, 0xd0, 0xe7, 0xba, 0x0d, 0x93, 0x49, 0xde, 0x6d, 0xcc, 0xd8, 0xc6, 0x44, 0x05, 0xc5, 0x3c, 0x25, 0xf0, 0xd1, 0x61, 0x73, 0xe6, 0xb5, 0xb3, 0x53, 0x36, 0x0c, 0x5e, 0x56, 0xea, 0xa3, 0x22, 0x29, 0x2c, 0x2a, 0x02, 0x38, 0x30, 0x32, 0x32, 0x84, 0xde, 0xae, 0xf3, 0xf8, 0xa8, 0x6f, 0x88, 0x87, 0xc7, 0xc6, 0x6e, 0xa6, 0x92, 0xc9, 0xbf, 0x68, 0xc9, 0xe4, 0x21, 0x0e, 0xa4, 0xef, 0xa4, 0x7f, 0xd7, 0x4b, 0xc3, 0xa1, 0x8a, 0x49, 0x5f, 0x96, 0x6a, 0x4e, 0x47, 0x99, 0xf7, 0xd4, 0xa5, 0x78, 0xfb, 0x2b, 0x1d, 0xa3, 0xbf, 0x3d, 0x3d, 0x1c, 0x7b, 0xa7, 0xaf, 0xbf, 0xef, 0xc6, 0xd9, 0x33, 0xff, 0x4a, 0xf7, 0x76, 0x9d, 0xc9, 0x96, 0x13, 0x43, 0xf6, 0x8d, 0x2b, 0x12, 0xe4, 0x91, 0xba, 0x08, 0x2a, 0xb3, 0x22, 0xc9, 0x6c, 0x9d, 0xbf, 0x66, 0xb7, 0xf0, 0xa7, 0xc1, 0xb8, 0x36, 0xb5, 0x20, 0xbf, 0x66, 0x45, 0x1e, 0x45, 0x31, 0x2d, 0xee, 0x8e, 0xa5, 0xac, 0x84, 0x45, 0xb9, 0xf6, 0xeb, 0xdd, 0xc5, 0x64, 0xe7, 0xc6, 0x25, 0xd5, 0x6a, 0x49, 0xd3, 0x8f, 0x6d, 0xae, 0xfc, 0xcd, 0x82, 0x15, 0x76, 0x48, 0xae, 0x2b, 0xa0, 0xe1, 0x6e, 0x58, 0x51, 0xc6, 0x05, 0x42, 0xd3, 0xda, 0xbf, 0x0b, 0xff, 0x31, 0x11, 0x56, 0x0f, 0x54, 0x1d, 0x3e, 0x7f, 0xfd, 0x73, 0x3f, 0x48, 0xc6, 0xa6, 0x0d, 0x03, 0xc0, 0xcd, 0x4f, 0xe7, 0x5b, 0x6a, 0x5d, 0xde, 0xd1, 0x9b, 0xf1, 0xfd, 0x13, 0x9f, 0xb4, 0x2b, 0x91, 0xf1, 0xe9, 0xb6, 0xca, 0x3c, 0xdb, 0xb2, 0xb2, 0x12, 0xd2, 0xf0, 0xc1, 0x05, 0xdb, 0x07, 0x03, 0xa3, 0xe6, 0xa5, 0x80, 0x4d, 0x74, 0xb9, 0x65, 0xbd, 0x68, 0x38, 0x36, 0x53, 0x0f, 0xe0, 0xc6, 0x9d, 0x8a, 0xf0, 0xbf, 0x4a, 0xd6, 0xce, 0x37, 0xa3, 0x66, 0xd7, 0x04, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_tucnakv64[5042] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x08, 0x06, 0x00, 0x00, 0x00, 0xaa, 0x69, 0x71, 0xde, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x43, 0xbb, 0x7f, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd9, 0x0a, 0x08, 0x07, 0x0d, 0x0d, 0xb8, 0xb1, 0xc3, 0x7c, 0x00, 0x00, 0x13, 0x3f, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x9b, 0x79, 0x6c, 0x5c, 0xd7, 0x75, 0x87, 0x7f, 0x77, 0x79, 0x6f, 0xe6, 0xcd, 0x0c, 0x67, 0xe5, 0x70, 0x15, 0x45, 0x52, 0xa4, 0x28, 0x4a, 0xa2, 0x44, 0x4b, 0xa4, 0x64, 0x59, 0x92, 0x61, 0x1b, 0x52, 0x12, 0xc9, 0xb6, 0xbc, 0xc9, 0x4b, 0xe2, 0xa2, 0x75, 0xd2, 0xa4, 0x0e, 0x8c, 0x38, 0xad, 0xd3, 0x3a, 0x4d, 0x9c, 0x22, 0x45, 0x0b, 0x03, 0x05, 0x5a, 0x14, 0x69, 0x9b, 0xa2, 0x6d, 0x52, 0xb4, 0x49, 0x10, 0x03, 0x4e, 0xed, 0xd8, 0xb1, 0x63, 0x25, 0xde, 0x12, 0xcb, 0x76, 0x1c, 0x2f, 0xb2, 0xac, 0x58, 0xbb, 0x28, 0x4a, 0x22, 0xc5, 0x55, 0x43, 0x8a, 0x43, 0x72, 0xf6, 0x79, 0xcb, 0xbd, 0xa7, 0x7f, 0x0c, 0xa5, 0xc4, 0x49, 0xda, 0xc4, 0x32, 0x69, 0x4b, 0x41, 0x2e, 0xf0, 0x40, 0x62, 0x08, 0x9c, 0xb9, 0xe7, 0xbb, 0x67, 0xbd, 0xe7, 0x11, 0xf8, 0xfd, 0xfa, 0xfd, 0xfa, 0xfd, 0xba, 0x58, 0x97, 0xbd, 0xeb, 0xa9, 0xc0, 0xec, 0xf6, 0x6d, 0xcd, 0x69, 0xce, 0xea, 0x66, 0x37, 0x5c, 0x1e, 0x2f, 0x3f, 0xfc, 0xb0, 0x6f, 0xbe, 0xbf, 0x83, 0x5d, 0x6c, 0x4a, 0xe7, 0x3f, 0x7b, 0x6f, 0xcc, 0x3b, 0x72, 0xe4, 0x63, 0x90, 0xf2, 0x66, 0xd9, 0xdb, 0xbb, 0x4e, 0xb4, 0xb7, 0x5b, 0xf0, 0x94, 0xa2, 0xe9, 0xb4, 0x52, 0x83, 0xa7, 0x53, 0x3a, 0x95, 0x7a, 0x4a, 0x2c, 0x5b, 0xf6, 0x6f, 0xa1, 0x7f, 0xf8, 0x87, 0x81, 0xdf, 0x29, 0x00, 0xb9, 0xbf, 0xfc, 0xbc, 0xd0, 0x27, 0x4f, 0x7e, 0x86, 0x49, 0xf9, 0x80, 0x79, 0xeb, 0x6d, 0x75, 0x72, 0xd3, 0x26, 0xf0, 0x48, 0x04, 0x94, 0xcf, 0x01, 0xd2, 0x80, 0x3a, 0x75, 0x0a, 0x3a, 0x9d, 0x86, 0xf7, 0xc6, 0x1b, 0x70, 0x1e, 0xf9, 0x9f, 0x2c, 0xab, 0xab, 0xfb, 0x5c, 0xec, 0xe5, 0x9f, 0x7c, 0xe3, 0x77, 0x02, 0x40, 0xf1, 0xeb, 0x5f, 0xaf, 0x76, 0x1e, 0x7d, 0xe4, 0xdf, 0x8d, 0xab, 0xaf, 0xb9, 0xcd, 0xbc, 0xe1, 0x06, 0x02, 0x67, 0x4c, 0xa7, 0x26, 0xa0, 0x4e, 0x9f, 0x86, 0x3a, 0x7c, 0x08, 0x7a, 0x66, 0x16, 0x94, 0xcd, 0x42, 0xa7, 0xa7, 0xa0, 0x1d, 0x07, 0xc4, 0x18, 0x9c, 0xb1, 0x51, 0xe5, 0x7c, 0xe2, 0xee, 0x7f, 0x14, 0xf7, 0xdd, 0x9f, 0xf7, 0x14, 0x7d, 0x7f, 0x49, 0x32, 0x74, 0xe8, 0x92, 0x03, 0x90, 0xca, 0x96, 0x04, 0x0e, 0xec, 0x5f, 0xe9, 0xff, 0xd7, 0xaf, 0x7c, 0xd3, 0x77, 0xfd, 0x8e, 0xb5, 0x2c, 0x16, 0x03, 0x39, 0x0e, 0x68, 0x76, 0x16, 0xee, 0x9e, 0x37, 0xa0, 0xfa, 0x4f, 0x40, 0x4d, 0x4e, 0x40, 0x39, 0x0e, 0x3c, 0xdb, 0x86, 0x12, 0x02, 0x62, 0xc3, 0x15, 0xc8, 0xa7, 0x52, 0x98, 0xf9, 0xd9, 0x3e, 0x18, 0x6b, 0x7b, 0xb1, 0x64, 0xd7, 0xd3, 0x98, 0x2e, 0x7b, 0x67, 0xb3, 0x25, 0xb7, 0x7b, 0xed, 0xe2, 0xf8, 0x99, 0x77, 0xbb, 0x07, 0xf9, 0x41, 0x29, 0x7f, 0x7c, 0x22, 0xe7, 0x23, 0xcf, 0xfb, 0x86, 0xb9, 0xeb, 0xc9, 0x5b, 0x65, 0x57, 0x97, 0xa9, 0x5d, 0x17, 0x34, 0x38, 0x08, 0x10, 0xa1, 0xfc, 0xdc, 0xb3, 0x70, 0x0f, 0x1d, 0x82, 0x76, 0x1c, 0x78, 0x8e, 0x03, 0x6a, 0x68, 0x80, 0x5b, 0x57, 0x07, 0xbb, 0x2a, 0x8c, 0x42, 0x3e, 0x8f, 0xbc, 0xdf, 0xb7, 0xff, 0xcc, 0xdd, 0xf7, 0x07, 0x02, 0xd1, 0x48, 0x07, 0xa6, 0xf2, 0x60, 0x42, 0x24, 0x0b, 0xb6, 0xd7, 0x03, 0xe0, 0x07, 0x97, 0x0c, 0x00, 0x22, 0x7a, 0xd0, 0x9a, 0x9a, 0xbc, 0xd3, 0x1d, 0x1e, 0x82, 0x5a, 0xbd, 0x1a, 0xbc, 0x58, 0x00, 0xd9, 0x65, 0xd8, 0x3f, 0x79, 0x05, 0xa5, 0xd7, 0x5e, 0x83, 0x72, 0x1c, 0x28, 0xc6, 0xa0, 0x5a, 0x5a, 0xa0, 0x6b, 0x6a, 0xe0, 0x46, 0xa2, 0x98, 0xcd, 0x66, 0x0b, 0xb6, 0xcf, 0xf7, 0x77, 0x1d, 0xf7, 0x7e, 0xf6, 0x2b, 0x23, 0xb1, 0x15, 0xdb, 0x8b, 0x82, 0x3f, 0x32, 0x99, 0x77, 0x8d, 0x92, 0x5b, 0x3a, 0xd1, 0x14, 0x0b, 0xbe, 0x7e, 0x21, 0xfb, 0xf8, 0x40, 0x00, 0xec, 0x3e, 0x3e, 0xd1, 0x91, 0xce, 0xdb, 0x9f, 0xa9, 0xab, 0xab, 0xc7, 0x28, 0x18, 0xaa, 0xa7, 0xa7, 0x11, 0x70, 0x1d, 0xd0, 0xc4, 0x04, 0x72, 0x2f, 0xed, 0x86, 0x67, 0xdb, 0xf0, 0xb8, 0x00, 0x3a, 0x3b, 0x41, 0xc9, 0x24, 0xbc, 0x68, 0x14, 0x85, 0x42, 0xb1, 0xc0, 0x82, 0xc1, 0x5b, 0x3e, 0xb4, 0x6b, 0xd7, 0xf3, 0x78, 0xe6, 0x19, 0x1c, 0x18, 0x99, 0x7d, 0xb2, 0x2f, 0x95, 0xb9, 0xa6, 0xec, 0xaa, 0x1e, 0xdb, 0xd5, 0x8f, 0xaf, 0x6f, 0x4d, 0xa4, 0x2f, 0x19, 0x00, 0x47, 0x06, 0x27, 0x6e, 0xa9, 0x8e, 0x47, 0x02, 0xb5, 0x61, 0x0b, 0x89, 0x2f, 0x7d, 0x19, 0xc7, 0x3e, 0xf7, 0xa7, 0x58, 0xd2, 0xbd, 0x1a, 0xea, 0x47, 0xcf, 0xc3, 0x2d, 0x16, 0xa1, 0x18, 0x03, 0xeb, 0x5a, 0x0d, 0x56, 0x5b, 0x0b, 0x9d, 0x4c, 0xc2, 0x25, 0x02, 0x23, 0xfc, 0xed, 0x95, 0x8f, 0x3d, 0xf6, 0xfc, 0x39, 0x19, 0xdd, 0x4d, 0x51, 0x02, 0xf0, 0xea, 0xdc, 0x73, 0xc1, 0x8b, 0xbf, 0x9f, 0x8a, 0xc7, 0x62, 0x31, 0x16, 0x8b, 0x27, 0x12, 0x67, 0x53, 0xe3, 0xb7, 0x68, 0x22, 0x0c, 0xcf, 0x14, 0x90, 0x4f, 0x36, 0xa2, 0xed, 0xab, 0xff, 0x81, 0xe3, 0x03, 0x43, 0xe8, 0x3f, 0x3d, 0x8c, 0x34, 0x17, 0x28, 0xd5, 0xd6, 0x81, 0x9a, 0x9a, 0x80, 0x25, 0x6d, 0x10, 0x75, 0x75, 0xc8, 0x99, 0x96, 0xe3, 0x7d, 0xfe, 0xc1, 0xc7, 0x17, 0x62, 0x4f, 0xef, 0x2b, 0x00, 0x70, 0x1e, 0x63, 0x82, 0xff, 0xc9, 0xd8, 0xa9, 0xa3, 0xcb, 0x35, 0x11, 0x88, 0x08, 0x63, 0x99, 0x12, 0x86, 0x65, 0x18, 0x0d, 0xff, 0xf4, 0x35, 0x04, 0xff, 0xf9, 0x6b, 0x98, 0xea, 0x5c, 0x89, 0x99, 0x60, 0x08, 0x76, 0x28, 0x04, 0x0a, 0x58, 0x30, 0xea, 0xea, 0x51, 0xaa, 0x5b, 0x6c, 0x8e, 0x32, 0xeb, 0x86, 0x85, 0xd8, 0xd2, 0xfb, 0xe6, 0x02, 0xb1, 0x44, 0xb5, 0xc5, 0x18, 0xfb, 0xb8, 0x69, 0xfa, 0xee, 0x3d, 0xf1, 0xc6, 0x8f, 0x82, 0xab, 0x2e, 0xbf, 0x12, 0x61, 0xab, 0x01, 0x82, 0x33, 0x8c, 0xe5, 0xca, 0x98, 0x34, 0x25, 0x22, 0x57, 0x5f, 0x0b, 0xdf, 0xc6, 0xad, 0x28, 0x1e, 0x3e, 0x80, 0xf2, 0xd1, 0xfd, 0x30, 0x8b, 0x39, 0x60, 0x32, 0x03, 0xf7, 0xaa, 0x6d, 0xb0, 0x0c, 0x19, 0xbd, 0x64, 0x01, 0x54, 0x47, 0x6b, 0x84, 0x47, 0x7a, 0x6b, 0x20, 0x68, 0xdd, 0xbd, 0x79, 0xd3, 0xe6, 0xfa, 0x9d, 0xb7, 0xdc, 0xcc, 0x86, 0x07, 0xf7, 0x61, 0xd2, 0xb2, 0x60, 0x85, 0x42, 0xd0, 0x04, 0x64, 0x4b, 0x2e, 0x32, 0x25, 0x17, 0x3e, 0xc9, 0x61, 0x76, 0x76, 0x23, 0xd6, 0xb3, 0x0e, 0x92, 0x31, 0x28, 0x4d, 0xf0, 0x3c, 0x85, 0x92, 0xed, 0xf5, 0x5d, 0xb2, 0x2e, 0xa0, 0x48, 0x2d, 0xf2, 0x99, 0xe6, 0x27, 0xb6, 0x6e, 0xd9, 0xda, 0xfa, 0xe5, 0xbf, 0xfa, 0x12, 0xbf, 0x61, 0xc7, 0x0e, 0x6c, 0x58, 0xbb, 0x0a, 0x2f, 0x3f, 0xfc, 0x55, 0x0c, 0xf6, 0x1d, 0xc5, 0xc4, 0x6c, 0x11, 0x65, 0xc7, 0x83, 0xe4, 0x15, 0x85, 0xfd, 0x52, 0xc0, 0x2f, 0x39, 0xfc, 0x86, 0x80, 0x29, 0x05, 0x40, 0xc8, 0x04, 0x7d, 0xf2, 0x8d, 0x4b, 0x12, 0x40, 0x22, 0x91, 0x30, 0x14, 0xd4, 0xf6, 0x95, 0x5d, 0x2b, 0x37, 0x5c, 0x7f, 0xdd, 0x75, 0xa6, 0x26, 0x40, 0x48, 0x09, 0xad, 0x35, 0xec, 0x42, 0x1e, 0x27, 0x5e, 0x7e, 0x02, 0x18, 0x7c, 0x13, 0x76, 0x66, 0x0a, 0xb6, 0xe3, 0x80, 0x33, 0x20, 0xe4, 0x97, 0x30, 0x85, 0x00, 0x03, 0x40, 0xa4, 0x61, 0xbb, 0xea, 0x3f, 0x77, 0x74, 0x2f, 0x3a, 0x7d, 0x49, 0xba, 0x40, 0xd9, 0x75, 0x5b, 0xe2, 0xb1, 0xf8, 0xf5, 0x9b, 0x37, 0x6d, 0xae, 0x7d, 0xe6, 0x99, 0xa7, 0xf1, 0xca, 0xee, 0xe7, 0xf0, 0x37, 0x5f, 0xfc, 0x0b, 0xd8, 0xd3, 0x29, 0xac, 0xed, 0x5e, 0x8d, 0x92, 0x6d, 0xa3, 0x36, 0x24, 0xb0, 0x73, 0xcb, 0x2a, 0x38, 0xcc, 0xc0, 0xf1, 0xd1, 0x49, 0x1c, 0x3b, 0xd1, 0x0f, 0x0d, 0x46, 0xa5, 0xb2, 0x9d, 0x91, 0xa6, 0xff, 0xdb, 0x4b, 0x17, 0x25, 0x1f, 0x5c, 0xa8, 0xfd, 0x2d, 0x28, 0x80, 0x68, 0x2c, 0x66, 0x96, 0x1d, 0xef, 0x8a, 0xe6, 0xa6, 0xc6, 0xb5, 0x2b, 0x5a, 0xa3, 0xdc, 0xcc, 0xf5, 0xa3, 0xbb, 0xab, 0x0b, 0xb2, 0x30, 0x84, 0xe5, 0x91, 0x69, 0xf8, 0xeb, 0x1d, 0x3c, 0xf4, 0xf8, 0x8b, 0x98, 0x1a, 0x68, 0xc4, 0x8e, 0x6d, 0xdb, 0x50, 0x5d, 0x13, 0x42, 0xa4, 0xbd, 0x1e, 0xaf, 0xfe, 0xf0, 0x51, 0x3c, 0xfe, 0xf8, 0xf7, 0xf4, 0x89, 0x93, 0x27, 0x0e, 0xe7, 0x32, 0x99, 0xff, 0xf6, 0x5c, 0xb7, 0x70, 0x49, 0x02, 0x28, 0xb9, 0xa2, 0xa6, 0x3e, 0x4e, 0x5b, 0xb6, 0xf4, 0x98, 0x35, 0x9b, 0x7b, 0x9a, 0xb0, 0x75, 0xcb, 0x16, 0x04, 0x83, 0x7e, 0x90, 0x7b, 0x0a, 0x31, 0x33, 0x07, 0x9f, 0xec, 0xc7, 0x67, 0x6f, 0x4e, 0xc1, 0x2d, 0x15, 0x61, 0x1c, 0xfd, 0x36, 0xdc, 0xdc, 0x55, 0x18, 0x71, 0xfc, 0x98, 0x9d, 0xcd, 0x20, 0x1c, 0x89, 0x32, 0xd2, 0x24, 0x40, 0xb4, 0xa0, 0x7b, 0x5c, 0x38, 0xe1, 0x3c, 0x2c, 0x7c, 0x42, 0x2f, 0x5b, 0xdf, 0x65, 0x6c, 0xda, 0x79, 0xcb, 0x15, 0xa2, 0xbe, 0xe3, 0x0a, 0x10, 0x38, 0xdc, 0xc2, 0x31, 0x90, 0xd3, 0x07, 0xa6, 0x8e, 0x23, 0x58, 0x75, 0x08, 0x6d, 0x2b, 0x87, 0x41, 0x8e, 0x82, 0xce, 0x0f, 0x22, 0xff, 0xc2, 0x0f, 0x30, 0x38, 0xda, 0x09, 0x93, 0xaa, 0x21, 0xa4, 0x04, 0x88, 0xd8, 0x42, 0xc7, 0xa9, 0x05, 0x03, 0xc0, 0xa4, 0x3f, 0x14, 0x0b, 0xdb, 0x57, 0x75, 0xaf, 0x48, 0x34, 0xb7, 0x77, 0xae, 0x03, 0x41, 0xc0, 0xcd, 0x1f, 0x82, 0x2e, 0x1c, 0x00, 0x2b, 0x1d, 0x02, 0x8a, 0x6f, 0x81, 0x4a, 0x03, 0xa0, 0x32, 0xc1, 0x2d, 0x04, 0x51, 0x4a, 0xc7, 0x30, 0x3d, 0x15, 0xc4, 0x94, 0x36, 0x21, 0x7d, 0x7e, 0x28, 0xcf, 0x03, 0x40, 0x04, 0x80, 0x2e, 0x39, 0x00, 0x91, 0xda, 0x5a, 0x66, 0x97, 0x50, 0x6f, 0x9a, 0x6c, 0x4b, 0x53, 0xbd, 0x14, 0xa6, 0x28, 0xc1, 0xcb, 0xbe, 0x09, 0xca, 0x1d, 0x00, 0x15, 0x4e, 0x40, 0xe5, 0x4e, 0xc0, 0xc9, 0x3a, 0x28, 0xe7, 0x97, 0x23, 0x9f, 0x6b, 0xc0, 0x6c, 0xa1, 0x09, 0x33, 0xba, 0x1e, 0x6a, 0x49, 0x2b, 0x4a, 0x2e, 0xc1, 0x1d, 0x1a, 0x81, 0xe3, 0x38, 0x15, 0xf5, 0x2f, 0x45, 0x00, 0x4c, 0x6b, 0xc3, 0x94, 0x58, 0xe7, 0x29, 0x63, 0x85, 0x6d, 0x2b, 0xe6, 0xce, 0xec, 0x46, 0xc9, 0x0e, 0xc2, 0xce, 0x13, 0x4a, 0xa5, 0x24, 0x4a, 0xa5, 0xc5, 0x28, 0x3a, 0x31, 0x14, 0x58, 0x0c, 0xc5, 0xaa, 0x10, 0x54, 0xc2, 0x42, 0x55, 0x2c, 0x8e, 0xd6, 0x96, 0xc5, 0x18, 0x1d, 0x1b, 0xc5, 0xe9, 0x91, 0x51, 0x38, 0xae, 0xbb, 0xe0, 0xca, 0x2f, 0x18, 0x00, 0x52, 0xaa, 0x8a, 0x33, 0xfe, 0x11, 0xe2, 0x55, 0x21, 0xc4, 0x6e, 0x07, 0x8f, 0x6f, 0x45, 0x66, 0xd2, 0x46, 0x4e, 0x0a, 0x38, 0x01, 0x3f, 0x5c, 0xbf, 0x84, 0xd2, 0x0c, 0x92, 0x31, 0xd4, 0x5a, 0x7e, 0x24, 0xe2, 0x31, 0x24, 0xe2, 0x31, 0x04, 0x02, 0x16, 0x4a, 0xa5, 0x22, 0x84, 0x10, 0xf0, 0x3c, 0x0f, 0x60, 0xe0, 0x0b, 0x7d, 0x6b, 0x35, 0xef, 0x00, 0xa2, 0x89, 0x6a, 0xce, 0x18, 0x56, 0x82, 0xb0, 0x21, 0x11, 0xaf, 0x16, 0xed, 0x2b, 0xb6, 0x42, 0x46, 0xaf, 0x44, 0x40, 0xcd, 0xc0, 0x35, 0x0b, 0x30, 0xb5, 0x02, 0x07, 0x60, 0x9a, 0x26, 0x42, 0xa1, 0x00, 0x02, 0x01, 0x0b, 0xa6, 0x61, 0x42, 0x88, 0x4a, 0xac, 0x0b, 0x06, 0x83, 0x30, 0x0d, 0x09, 0xd2, 0x1a, 0x0c, 0x4c, 0x70, 0xce, 0x2f, 0xad, 0x2c, 0xa0, 0x01, 0x53, 0x10, 0xb6, 0x4a, 0x21, 0x6b, 0x3a, 0x3a, 0x3a, 0xd8, 0xf2, 0xce, 0x4e, 0x70, 0xce, 0x11, 0x89, 0x54, 0xc1, 0xe7, 0x37, 0xc1, 0x19, 0x87, 0x69, 0x18, 0x90, 0x52, 0x80, 0x73, 0x0e, 0xc6, 0xde, 0x79, 0xc0, 0x96, 0xdf, 0x0f, 0x9f, 0xdf, 0x0f, 0xc6, 0x18, 0x03, 0x63, 0x3e, 0x70, 0xee, 0x5f, 0x48, 0x2b, 0x98, 0x77, 0x00, 0x8c, 0x61, 0x31, 0x03, 0xbb, 0xca, 0xef, 0xf7, 0x05, 0x36, 0x6c, 0xd8, 0x80, 0x64, 0x32, 0x09, 0x00, 0xf0, 0x99, 0x26, 0x4c, 0xc3, 0xf8, 0x15, 0x85, 0x7f, 0x79, 0x99, 0xa6, 0x01, 0x9f, 0x69, 0x82, 0x0b, 0xc1, 0x00, 0x58, 0x82, 0xf3, 0xd0, 0x42, 0x02, 0x98, 0xef, 0x1c, 0xcb, 0x38, 0xd8, 0x46, 0x00, 0xed, 0x75, 0x75, 0x75, 0x62, 0xd3, 0xa6, 0x8d, 0xef, 0x50, 0xf8, 0x37, 0x29, 0x0f, 0x00, 0x42, 0x08, 0x08, 0xce, 0x61, 0x18, 0x06, 0x38, 0x63, 0x7e, 0xce, 0x45, 0x62, 0x21, 0x6b, 0x81, 0x79, 0x15, 0x1c, 0x8e, 0xc7, 0x63, 0x00, 0xae, 0xe6, 0x5c, 0x24, 0x36, 0x5e, 0x71, 0x05, 0x96, 0xb6, 0xb7, 0xff, 0x56, 0x4a, 0xbf, 0x23, 0x80, 0x6a, 0x0d, 0x0d, 0x42, 0x20, 0x10, 0x04, 0xe3, 0x3c, 0x28, 0x84, 0x6c, 0x02, 0x63, 0xc6, 0x45, 0x0f, 0x20, 0x1e, 0x8f, 0x33, 0xc9, 0xf9, 0x1a, 0x10, 0x7a, 0x6a, 0x6a, 0x92, 0xe6, 0x75, 0xd7, 0x5d, 0x8b, 0x60, 0x30, 0xf8, 0xae, 0xe5, 0xb8, 0x9e, 0x07, 0xd7, 0xf5, 0x10, 0x89, 0x44, 0x60, 0x18, 0x66, 0x90, 0x71, 0xb6, 0xd4, 0xf0, 0xf9, 0x22, 0x17, 0x3d, 0x00, 0x62, 0x2c, 0x06, 0x60, 0x3b, 0x63, 0x68, 0xdb, 0xbc, 0x69, 0x23, 0xeb, 0xbe, 0xec, 0x32, 0x08, 0x21, 0xde, 0xb5, 0x9c, 0x42, 0xb1, 0x84, 0x62, 0xb1, 0x80, 0x70, 0x24, 0x8a, 0x70, 0x38, 0x6c, 0x32, 0xa0, 0xd3, 0x34, 0x8c, 0x96, 0x85, 0x72, 0x83, 0x79, 0x11, 0x1a, 0x8b, 0x55, 0x4b, 0x06, 0xbe, 0x5e, 0x6b, 0xba, 0xae, 0xb1, 0xa1, 0xc1, 0xba, 0xe9, 0xc6, 0x9b, 0x10, 0x8b, 0x5e, 0xd8, 0x0d, 0x56, 0x26, 0x93, 0x41, 0x2e, 0x57, 0x80, 0x15, 0x08, 0xa0, 0xa1, 0x71, 0x11, 0x13, 0x42, 0x2e, 0x11, 0x5c, 0xf4, 0x0a, 0xd3, 0xb4, 0x2e, 0x4a, 0x00, 0x81, 0x64, 0x92, 0x81, 0xb3, 0x66, 0x00, 0x77, 0x49, 0x29, 0x97, 0x6d, 0xdb, 0xb6, 0x0d, 0xbd, 0xbd, 0x3d, 0x30, 0x8c, 0x77, 0xef, 0xb6, 0x04, 0x42, 0x6a, 0x62, 0x02, 0x85, 0x42, 0x1e, 0x9c, 0x73, 0x34, 0x36, 0x35, 0x21, 0x54, 0x55, 0x95, 0x00, 0x63, 0xd7, 0xf8, 0x7c, 0x56, 0xe3, 0x42, 0x64, 0x83, 0xf7, 0x0c, 0xc0, 0x07, 0x84, 0xc0, 0x71, 0x07, 0x81, 0xb6, 0xad, 0x5c, 0xb1, 0x92, 0xdd, 0x74, 0xd3, 0x8d, 0x88, 0xc7, 0xe3, 0x17, 0x24, 0xab, 0x58, 0x2c, 0x61, 0x60, 0xf0, 0x34, 0x0a, 0xc5, 0x12, 0x88, 0x08, 0xf1, 0x44, 0x02, 0x8b, 0x9b, 0x9b, 0xb9, 0x94, 0x72, 0xa3, 0xe0, 0x6c, 0xb3, 0x65, 0x59, 0xfe, 0x8b, 0x0a, 0x40, 0xbc, 0x3a, 0xe9, 0x67, 0x44, 0x1f, 0x86, 0xa6, 0x3f, 0x8e, 0x45, 0xa3, 0x91, 0xdb, 0x6f, 0xbb, 0x15, 0x97, 0x75, 0x5f, 0x98, 0xef, 0x13, 0x80, 0x91, 0x91, 0x51, 0x9c, 0x38, 0x79, 0x0a, 0xae, 0xeb, 0x40, 0x6b, 0x0d, 0xc3, 0x30, 0xd1, 0xd6, 0xde, 0x81, 0x44, 0x22, 0x51, 0x2d, 0x38, 0xbf, 0x45, 0x48, 0xa3, 0x45, 0x9a, 0x26, 0xff, 0xc0, 0x01, 0x44, 0x22, 0x11, 0x1e, 0x8b, 0x25, 0xa2, 0x20, 0xdc, 0x01, 0xb0, 0xbf, 0x36, 0x0c, 0xa3, 0xe5, 0xca, 0x2b, 0x37, 0xb3, 0xeb, 0x77, 0x5c, 0x0f, 0xcb, 0xf2, 0x83, 0xe8, 0xdd, 0xf7, 0x30, 0xc5, 0x42, 0x11, 0xfb, 0xde, 0xde, 0x8f, 0xb1, 0xb1, 0x31, 0x68, 0x4d, 0x20, 0xad, 0x41, 0x44, 0xa8, 0xa9, 0xab, 0xc3, 0xb2, 0xce, 0xe5, 0xdc, 0x0a, 0x04, 0xae, 0x14, 0x52, 0xde, 0xe8, 0xf7, 0xfb, 0x43, 0x1f, 0x28, 0x80, 0x58, 0x75, 0xad, 0xc1, 0xa5, 0xd1, 0x49, 0x0c, 0x5f, 0xe0, 0x82, 0x3f, 0x28, 0xa5, 0xec, 0x6a, 0x69, 0x69, 0x11, 0x7f, 0x70, 0xe7, 0x9d, 0x68, 0x68, 0x68, 0x80, 0xd6, 0x1a, 0x9a, 0x08, 0x5a, 0xeb, 0xdf, 0xfe, 0xd6, 0x58, 0x29, 0x1c, 0xef, 0xef, 0xc7, 0x4f, 0x5e, 0x7d, 0x0d, 0x9e, 0xd2, 0x10, 0x42, 0x54, 0xe4, 0xe8, 0xca, 0xef, 0xcb, 0x57, 0xac, 0xc4, 0xa2, 0xc6, 0xa6, 0x90, 0x14, 0xf2, 0xa3, 0x0c, 0xac, 0xc7, 0x0a, 0x04, 0xc4, 0x7c, 0x01, 0x78, 0x57, 0x82, 0xe2, 0xc9, 0x64, 0x08, 0xc0, 0x16, 0x22, 0xfa, 0x42, 0x38, 0x1c, 0xbe, 0xa3, 0xab, 0xab, 0xab, 0xda, 0xb2, 0x2c, 0x7e, 0xe3, 0x8d, 0x37, 0xe0, 0xd6, 0x9d, 0x3b, 0x21, 0xa4, 0xfc, 0x85, 0xfe, 0x95, 0x9d, 0xef, 0x66, 0xff, 0xbf, 0x62, 0x88, 0x88, 0x30, 0x3a, 0x36, 0x8e, 0xef, 0x3c, 0xfa, 0x5d, 0x0c, 0x9c, 0x1e, 0x42, 0x22, 0x91, 0x00, 0x03, 0x03, 0x11, 0x41, 0x4a, 0x09, 0x21, 0x04, 0xa2, 0x91, 0x08, 0xac, 0x80, 0xc5, 0xc6, 0xc7, 0x47, 0x23, 0x8e, 0x63, 0x4b, 0x10, 0xed, 0x71, 0x1c, 0x27, 0xf7, 0xbe, 0x02, 0x88, 0xc7, 0x13, 0x35, 0x04, 0xfc, 0x11, 0x63, 0xf8, 0xc2, 0xa2, 0x45, 0x8b, 0x36, 0x7f, 0xfc, 0xae, 0xbb, 0x7c, 0xdd, 0xdd, 0xab, 0x19, 0x18, 0xf0, 0x89, 0xbb, 0x3e, 0x5e, 0xa9, 0xf9, 0x89, 0xe6, 0xc2, 0x34, 0x81, 0x18, 0x03, 0xc3, 0x6f, 0x2e, 0x83, 0xb3, 0xb9, 0x1c, 0xbe, 0xfb, 0xf8, 0xf7, 0xf0, 0xda, 0x1b, 0x7b, 0xd0, 0xd8, 0xb8, 0x08, 0x81, 0x40, 0x00, 0xa5, 0x52, 0x25, 0x08, 0x1a, 0x86, 0x84, 0x10, 0x12, 0x86, 0x61, 0xa0, 0xb6, 0xb6, 0x16, 0xe5, 0x52, 0xd9, 0x38, 0x73, 0x66, 0x3c, 0xa9, 0x89, 0xc6, 0xed, 0x72, 0xe9, 0x30, 0x00, 0xb5, 0xe0, 0x00, 0x62, 0xd5, 0xd5, 0xcc, 0x6f, 0x05, 0xda, 0xc0, 0xf9, 0xfd, 0x42, 0x88, 0x4f, 0xaf, 0x5a, 0xb5, 0xaa, 0xf5, 0xcf, 0xef, 0xbb, 0x8f, 0x6d, 0xfb, 0xc8, 0x87, 0xf1, 0xe2, 0x4b, 0x2f, 0x63, 0xfd, 0xba, 0xf5, 0x58, 0xbf, 0x7e, 0xfd, 0x79, 0x05, 0xcf, 0xb9, 0x3f, 0x03, 0x40, 0xec, 0x17, 0x22, 0x5c, 0xa5, 0x51, 0x7a, 0x47, 0x26, 0x73, 0x1c, 0x07, 0xdf, 0xdf, 0xb5, 0x0b, 0x3f, 0x7c, 0xe6, 0x39, 0x2c, 0x69, 0x69, 0x45, 0x4d, 0x4d, 0x0d, 0xf2, 0xb9, 0x1c, 0xb2, 0xb9, 0x1c, 0x18, 0x63, 0xe7, 0x2d, 0x40, 0x48, 0x89, 0x80, 0x65, 0xa1, 0xa6, 0x26, 0x89, 0x33, 0xe3, 0x63, 0x81, 0x99, 0x99, 0x99, 0x2a, 0xc3, 0x34, 0xf7, 0x73, 0xc6, 0x26, 0x3c, 0xcf, 0x5b, 0xb8, 0x18, 0x90, 0x48, 0x24, 0x38, 0x03, 0x96, 0x72, 0xc6, 0x1e, 0x90, 0x42, 0xdc, 0xd5, 0xdb, 0xdb, 0x5b, 0xf7, 0xc0, 0x17, 0x1f, 0x60, 0xdb, 0xaf, 0xdd, 0x8e, 0x91, 0x91, 0x51, 0xb8, 0xae, 0x8b, 0x9e, 0x9e, 0x1e, 0x70, 0x21, 0xa0, 0x49, 0x43, 0x6b, 0xaa, 0x04, 0x30, 0xaa, 0x98, 0x36, 0x34, 0x81, 0x48, 0x83, 0x50, 0x19, 0x84, 0x56, 0xfe, 0x46, 0xe7, 0xfd, 0x7e, 0xf7, 0x8b, 0x2f, 0xe1, 0x89, 0x27, 0x9f, 0xc2, 0x92, 0xd6, 0x56, 0xb4, 0xb7, 0xb5, 0x01, 0xa4, 0x31, 0x3d, 0x3d, 0x0d, 0xdb, 0xb6, 0xa1, 0xb5, 0x82, 0xd6, 0x1a, 0x44, 0x1a, 0x4a, 0x29, 0x78, 0x9e, 0x87, 0x64, 0xb2, 0x06, 0x1b, 0x37, 0x6e, 0x92, 0xa1, 0x50, 0xa8, 0x87, 0x33, 0x71, 0x8b, 0x94, 0x32, 0xb6, 0x60, 0x41, 0x30, 0x12, 0x89, 0x30, 0x02, 0x5b, 0x04, 0xb0, 0xfb, 0x38, 0xe7, 0xb7, 0xaf, 0x59, 0xb3, 0x26, 0x7a, 0xdf, 0x9f, 0xdd, 0xc7, 0xba, 0xbb, 0xbb, 0x51, 0x2e, 0x3b, 0xd8, 0x7f, 0xe0, 0x20, 0xea, 0xeb, 0xeb, 0x11, 0x8f, 0xc7, 0x2b, 0x1b, 0x3d, 0xaf, 0x9c, 0x9e, 0xdb, 0x38, 0xfd, 0x1c, 0x82, 0x3e, 0x07, 0x01, 0xe7, 0x3f, 0xef, 0xef, 0x3f, 0x81, 0x6f, 0x3f, 0xf4, 0x10, 0xe2, 0xd1, 0x18, 0xd6, 0x5c, 0x76, 0x19, 0xa4, 0x10, 0x18, 0x1a, 0x1e, 0x46, 0x7a, 0x3a, 0x7d, 0x5e, 0xf9, 0xca, 0xcf, 0x4a, 0x40, 0xf5, 0x94, 0x02, 0x11, 0x61, 0x79, 0xe7, 0x0a, 0x74, 0x2e, 0xeb, 0x0c, 0x33, 0xce, 0xae, 0x15, 0x42, 0xae, 0x36, 0x4d, 0x53, 0x2c, 0x08, 0x00, 0x6e, 0x18, 0x55, 0x60, 0xec, 0x76, 0x22, 0xdc, 0xd1, 0xde, 0xde, 0x5e, 0xf5, 0xa9, 0x4f, 0x7e, 0x0a, 0xcb, 0x96, 0x75, 0xc2, 0xb6, 0x6d, 0x64, 0xb3, 0x59, 0xa4, 0x52, 0x29, 0x84, 0xc3, 0x11, 0x48, 0x29, 0x2b, 0xa7, 0x7b, 0xfe, 0xa9, 0xd8, 0xfc, 0x39, 0x6b, 0xd0, 0xe7, 0x94, 0x9e, 0xeb, 0xf2, 0x88, 0x08, 0xe5, 0x72, 0x19, 0xcf, 0x3e, 0xfb, 0x2c, 0x52, 0xa9, 0x09, 0x6c, 0xb8, 0x7c, 0x03, 0x82, 0x81, 0x00, 0x4e, 0x0d, 0x0e, 0xe0, 0xd4, 0xe0, 0x20, 0x5c, 0xcf, 0x3b, 0x9f, 0x01, 0x94, 0xaa, 0x9c, 0xbe, 0x52, 0x0a, 0xca, 0xf3, 0xe0, 0x29, 0x85, 0x50, 0x38, 0x8c, 0x9e, 0xde, 0x75, 0x2c, 0x14, 0x0a, 0xad, 0xd0, 0xc0, 0x76, 0xc3, 0x34, 0xe3, 0xf3, 0x0e, 0x20, 0x51, 0x53, 0x23, 0x39, 0xe3, 0x3d, 0x04, 0xfa, 0x64, 0x3c, 0x1e, 0x8f, 0xef, 0xdc, 0x79, 0x2b, 0xba, 0xba, 0x56, 0xc1, 0xf3, 0x3c, 0x94, 0xca, 0x36, 0xb2, 0xd9, 0x1c, 0xf2, 0x85, 0x02, 0x3c, 0xcf, 0x3b, 0x6f, 0xd6, 0xe7, 0x9e, 0xca, 0xe6, 0xf1, 0x8e, 0xcf, 0x88, 0x58, 0x25, 0x36, 0xcc, 0x59, 0xc6, 0xd9, 0xb3, 0x67, 0xb1, 0x67, 0xef, 0x5e, 0x34, 0x36, 0x36, 0xa2, 0xb9, 0xa5, 0x19, 0x67, 0xce, 0xa4, 0xb0, 0x77, 0xdf, 0x3e, 0x94, 0x4a, 0xa5, 0x39, 0xc5, 0xd5, 0x5c, 0x21, 0x64, 0xa0, 0x2a, 0x14, 0x82, 0xe5, 0xf7, 0x43, 0x13, 0xe1, 0x9c, 0xbf, 0xb7, 0xb6, 0xb6, 0xa2, 0xa9, 0x69, 0xb1, 0x9f, 0x73, 0xb6, 0x95, 0x73, 0xde, 0x21, 0xa5, 0xbc, 0x60, 0x2b, 0xf8, 0xb5, 0x37, 0x42, 0x5a, 0xe9, 0x10, 0x63, 0xfc, 0x56, 0xc1, 0x45, 0x5b, 0x77, 0x77, 0x37, 0x56, 0xaf, 0xee, 0x46, 0x6a, 0x62, 0x02, 0xc3, 0xc3, 0xc3, 0x18, 0x19, 0x1e, 0xc2, 0xe4, 0xd9, 0x49, 0xbc, 0xf5, 0xd6, 0x5b, 0xb0, 0x2c, 0x0b, 0xb6, 0xe3, 0x40, 0x4a, 0x03, 0x60, 0x0c, 0x8c, 0x31, 0x30, 0x10, 0x34, 0x69, 0x70, 0x70, 0x10, 0x00, 0xa6, 0x5c, 0x30, 0x52, 0xe0, 0x86, 0x1f, 0xc4, 0x18, 0x84, 0x60, 0x28, 0x14, 0x0a, 0x98, 0x99, 0x99, 0x41, 0x47, 0x47, 0x07, 0x48, 0x6b, 0xbc, 0xfa, 0xfa, 0xab, 0x98, 0x9a, 0x9a, 0x42, 0x20, 0x10, 0x80, 0xd6, 0x1a, 0xe1, 0x70, 0x18, 0xcb, 0x96, 0x2e, 0xc5, 0xa2, 0x86, 0x46, 0x44, 0x22, 0x11, 0x28, 0x52, 0x18, 0x18, 0x38, 0x5d, 0xb1, 0x02, 0xaf, 0xd2, 0x2a, 0xb7, 0xb6, 0xb6, 0xe2, 0xc4, 0x89, 0xfe, 0xa5, 0xb6, 0x2a, 0xf7, 0x48, 0xd3, 0xdc, 0xef, 0x79, 0x5e, 0x61, 0x5e, 0x00, 0x44, 0xaa, 0x93, 0x1c, 0x40, 0x1b, 0x03, 0x5d, 0xc5, 0x18, 0x97, 0x53, 0x53, 0x53, 0xf8, 0xce, 0x77, 0x1e, 0xc6, 0xe8, 0xe8, 0x28, 0xa5, 0x52, 0x29, 0x64, 0xb3, 0x59, 0xb8, 0xae, 0xc3, 0x6c, 0xdb, 0x81, 0x65, 0x59, 0x48, 0x9d, 0x39, 0x83, 0xb6, 0xe6, 0x06, 0xd0, 0xd4, 0xe1, 0x4a, 0x80, 0x4f, 0xae, 0x06, 0xa4, 0x05, 0x0d, 0x0d, 0xe4, 0xd3, 0x50, 0x87, 0x9e, 0x83, 0x4e, 0x8f, 0xc3, 0xec, 0xde, 0x0e, 0xd9, 0xbc, 0x1a, 0xc4, 0x19, 0xa4, 0x61, 0xc0, 0x34, 0x0c, 0xe4, 0xf3, 0x79, 0x1c, 0x3f, 0xde, 0x87, 0xbe, 0xbe, 0x63, 0xd0, 0x4a, 0xc1, 0x67, 0xfa, 0xb0, 0x66, 0xf5, 0x6a, 0xf4, 0xf6, 0xf4, 0xa2, 0x36, 0x99, 0x84, 0x94, 0x12, 0xf1, 0x58, 0x14, 0x3e, 0xcb, 0x87, 0x89, 0x89, 0x49, 0x14, 0x0a, 0x45, 0xb8, 0xae, 0x8b, 0x60, 0x20, 0x80, 0x44, 0xa2, 0x1a, 0xa6, 0x69, 0x5a, 0x8e, 0x63, 0x77, 0x31, 0x20, 0x0c, 0x60, 0x7e, 0x00, 0x30, 0x02, 0x07, 0xd0, 0x05, 0xce, 0x6a, 0xb4, 0xd6, 0xde, 0xb1, 0x63, 0x47, 0xdd, 0x63, 0xc7, 0x8e, 0x38, 0x9e, 0xa7, 0x8a, 0x5a, 0xeb, 0x22, 0x00, 0xc1, 0x39, 0xaf, 0x65, 0x8c, 0x05, 0xfa, 0xfa, 0x8e, 0xe3, 0x85, 0x17, 0x7e, 0x84, 0xc6, 0x8f, 0x2c, 0x87, 0xaf, 0xff, 0x9b, 0xd0, 0x08, 0x82, 0xad, 0xbd, 0x17, 0x3c, 0xb9, 0x02, 0x54, 0x2e, 0x40, 0x1f, 0x79, 0x0a, 0xba, 0xef, 0x09, 0xe8, 0x4c, 0x09, 0xae, 0x15, 0x05, 0x6f, 0x58, 0x06, 0xc6, 0x2d, 0xc4, 0xa2, 0x31, 0xb4, 0xb6, 0xb6, 0xe2, 0xc0, 0xc1, 0x83, 0x28, 0x95, 0xca, 0xc8, 0xe7, 0xf2, 0x58, 0xd4, 0xb4, 0x18, 0xdb, 0xb7, 0x6f, 0xc7, 0xba, 0x9e, 0x1e, 0x58, 0x96, 0x05, 0x22, 0x82, 0xcf, 0xe7, 0x43, 0x53, 0x53, 0x23, 0x34, 0x69, 0x98, 0xa6, 0x89, 0x6c, 0x36, 0x07, 0xcf, 0xf3, 0xa0, 0x94, 0x02, 0xe7, 0x1c, 0x9c, 0x71, 0x0e, 0xb0, 0x06, 0xd2, 0x14, 0x06, 0x90, 0xba, 0x90, 0x39, 0xc2, 0xaf, 0xba, 0x80, 0xd6, 0x20, 0xc0, 0xf6, 0xb4, 0x3e, 0xa4, 0x95, 0x86, 0x56, 0x6a, 0x5c, 0x29, 0x6f, 0x4c, 0x29, 0x35, 0xae, 0xb5, 0x9e, 0x16, 0x42, 0x9a, 0x56, 0x20, 0xb0, 0x43, 0x1a, 0xc6, 0xf6, 0x72, 0xb9, 0xe4, 0x7b, 0xec, 0xb1, 0x47, 0xb0, 0x21, 0xb2, 0x0c, 0x6b, 0xe2, 0xc7, 0xa1, 0x5c, 0x01, 0x4a, 0xed, 0x83, 0x0e, 0x2d, 0x02, 0x46, 0xf7, 0x00, 0xe3, 0xdf, 0x87, 0x48, 0x64, 0x00, 0x66, 0x00, 0xc1, 0x10, 0x88, 0x71, 0x68, 0x22, 0x04, 0x43, 0x21, 0x5c, 0xbe, 0xe1, 0x72, 0xbc, 0xf8, 0xd2, 0x4b, 0x48, 0xa5, 0x26, 0xb0, 0x7c, 0x79, 0x27, 0x3e, 0xfa, 0xb1, 0x3b, 0xb1, 0x72, 0xc5, 0x4a, 0x70, 0xc6, 0xe1, 0x29, 0x0f, 0x42, 0x08, 0xd4, 0xd7, 0xd6, 0x20, 0x12, 0x09, 0x23, 0x9b, 0xcb, 0x81, 0x0b, 0x01, 0x4f, 0x55, 0xb2, 0x81, 0xe3, 0x38, 0xc8, 0x65, 0x33, 0x70, 0x3d, 0x17, 0x00, 0xa4, 0x26, 0x32, 0xde, 0x51, 0x7a, 0xbe, 0x17, 0x00, 0xe5, 0x52, 0x51, 0x11, 0xd1, 0x8f, 0x3d, 0xcf, 0x1d, 0xd6, 0x5a, 0xfb, 0x00, 0x64, 0x01, 0x64, 0x88, 0xa8, 0x00, 0xa0, 0xac, 0x94, 0x66, 0xd2, 0x67, 0xa6, 0xb8, 0x10, 0x75, 0x9c, 0xf3, 0x75, 0x93, 0x67, 0xc6, 0xc4, 0xd4, 0x68, 0x01, 0xb2, 0x6d, 0x12, 0x64, 0x73, 0x78, 0xe3, 0x2f, 0x82, 0xca, 0x2e, 0x58, 0xfa, 0xa7, 0xe0, 0x46, 0x1a, 0xe4, 0x09, 0x10, 0x8f, 0x81, 0xd5, 0x2c, 0x05, 0x09, 0x03, 0xda, 0x73, 0x21, 0x48, 0xe3, 0xf2, 0xde, 0x5e, 0xac, 0x5a, 0xb5, 0x0a, 0x20, 0xc2, 0x3d, 0xf7, 0xdc, 0x83, 0xce, 0xce, 0xe5, 0x98, 0xcd, 0x64, 0xa1, 0x94, 0x82, 0x34, 0x24, 0xe2, 0xb1, 0x08, 0xa2, 0xd1, 0x08, 0x18, 0x63, 0xf0, 0x3c, 0x0f, 0x8e, 0xed, 0x40, 0xa9, 0x4a, 0x86, 0xc8, 0xe5, 0x72, 0x18, 0x1b, 0x1f, 0x83, 0xe7, 0xb9, 0x04, 0xa2, 0x59, 0x22, 0xed, 0xcd, 0x5b, 0x10, 0x2c, 0x97, 0x4b, 0x04, 0x60, 0x06, 0xc0, 0xcf, 0xe6, 0xa8, 0x7a, 0x73, 0x25, 0xa7, 0x3e, 0x57, 0xd6, 0xd9, 0xb6, 0xfd, 0x53, 0xc1, 0xf8, 0x7f, 0x49, 0xc3, 0x88, 0x19, 0x42, 0x2c, 0xf5, 0x19, 0x9a, 0x13, 0x03, 0x98, 0x29, 0xc0, 0x32, 0x7d, 0xc0, 0xd0, 0x08, 0xb8, 0x55, 0x06, 0xb8, 0x04, 0x15, 0x19, 0xc8, 0xab, 0x02, 0x31, 0x03, 0xde, 0xf0, 0x31, 0xe8, 0xc1, 0x83, 0xa0, 0xcc, 0x0c, 0xaa, 0x97, 0xf6, 0xe0, 0x33, 0x9f, 0xbe, 0x1b, 0x91, 0x78, 0x02, 0x6d, 0x4b, 0x96, 0x40, 0x6b, 0x0d, 0xc7, 0x76, 0xe0, 0x7a, 0x1e, 0x42, 0xa1, 0x00, 0x22, 0xe1, 0x2a, 0x30, 0x56, 0xc9, 0x26, 0xb9, 0x5c, 0x1e, 0xf9, 0x42, 0xfe, 0x7c, 0x41, 0x74, 0x76, 0x3a, 0x8d, 0xa1, 0xa1, 0x61, 0x28, 0xa5, 0x6d, 0xa5, 0xd5, 0x30, 0x55, 0x5c, 0x93, 0xe6, 0x2d, 0x0b, 0xcc, 0x29, 0xfc, 0x7f, 0xd6, 0xd9, 0xca, 0x71, 0x72, 0x36, 0xb0, 0x4b, 0x13, 0xf9, 0x49, 0x8b, 0x7b, 0x88, 0xf8, 0x32, 0x28, 0x4b, 0x82, 0x38, 0x44, 0xd0, 0x01, 0x99, 0x00, 0x69, 0x13, 0xf0, 0x38, 0xa0, 0x39, 0x28, 0x3f, 0x0d, 0xef, 0xa7, 0xdf, 0x02, 0x54, 0x11, 0x94, 0x4d, 0x41, 0xcf, 0x3a, 0xd0, 0xa5, 0x12, 0xba, 0x77, 0x7c, 0x12, 0x22, 0x14, 0x01, 0x23, 0x40, 0x70, 0x8e, 0x50, 0x28, 0x00, 0x22, 0x82, 0x65, 0x59, 0x00, 0xe3, 0xe7, 0xd3, 0xe8, 0xd8, 0xf8, 0x38, 0x32, 0xd9, 0x2c, 0x88, 0x80, 0x42, 0xa1, 0x80, 0xc3, 0x87, 0x0e, 0x21, 0x9d, 0x9e, 0x02, 0x80, 0x31, 0xe5, 0x79, 0x47, 0x95, 0x52, 0xd9, 0xf7, 0x7b, 0x30, 0x42, 0x8e, 0xe3, 0x4c, 0x11, 0xd1, 0x63, 0x21, 0x43, 0x14, 0x4d, 0xf0, 0xfb, 0x99, 0x1b, 0x5c, 0x0e, 0xe6, 0xb1, 0x4a, 0x69, 0x21, 0x2a, 0x8a, 0x2b, 0x0e, 0x18, 0x1c, 0x22, 0x5c, 0x02, 0xd9, 0x47, 0x41, 0x8a, 0x00, 0x97, 0x40, 0x2c, 0x0a, 0x5e, 0xd7, 0x02, 0x32, 0x7c, 0xd0, 0x5a, 0x83, 0xcd, 0x35, 0x4b, 0xa6, 0x69, 0x82, 0x71, 0x56, 0xe9, 0x19, 0x48, 0x83, 0x18, 0x47, 0x3a, 0x9d, 0xc6, 0xc1, 0xc3, 0x47, 0x90, 0xcf, 0x17, 0xe0, 0x33, 0x4d, 0x9c, 0x1c, 0x1e, 0xc2, 0xa1, 0x43, 0x07, 0xe0, 0x79, 0x9e, 0xed, 0xb9, 0xee, 0x3e, 0xcf, 0x75, 0x8f, 0x11, 0xd1, 0x05, 0x5b, 0xc0, 0x7b, 0xb9, 0x5d, 0xd1, 0xae, 0xeb, 0x9e, 0xdd, 0xbe, 0x2a, 0xf4, 0x7c, 0x4d, 0x95, 0xf9, 0xba, 0xb6, 0x2d, 0x45, 0xca, 0x00, 0x29, 0x09, 0xd2, 0x02, 0x50, 0xac, 0xf2, 0xd0, 0x5c, 0xcb, 0xc5, 0x08, 0x28, 0x31, 0xe8, 0x72, 0x14, 0xa2, 0x6b, 0x2b, 0xc4, 0x65, 0x57, 0x02, 0xa2, 0xf2, 0xb2, 0x14, 0xcd, 0xb5, 0xc5, 0x95, 0xb9, 0xc0, 0xcf, 0x1b, 0xaa, 0x42, 0xa1, 0x80, 0x37, 0xde, 0xdc, 0x8b, 0xa3, 0x7d, 0xc7, 0xe1, 0x79, 0x1e, 0xc6, 0xc7, 0xc7, 0xb0, 0xef, 0xad, 0x37, 0x91, 0xcd, 0x66, 0x94, 0xd6, 0xaa, 0xcf, 0x75, 0xec, 0xdd, 0x4a, 0xa9, 0xa1, 0x39, 0x37, 0xfd, 0x40, 0x46, 0x63, 0xfa, 0x9a, 0x55, 0xd1, 0x19, 0x83, 0x89, 0xc3, 0x4e, 0x91, 0xb9, 0x22, 0xa8, 0x24, 0xb4, 0x04, 0xd4, 0xdc, 0xe9, 0x6b, 0x06, 0x52, 0x0c, 0x70, 0x01, 0x9d, 0x01, 0xf2, 0xf9, 0x10, 0x7c, 0xdd, 0x1f, 0x86, 0xff, 0xea, 0x9d, 0xe0, 0x55, 0xf1, 0xf3, 0x87, 0x46, 0x44, 0xe7, 0x5a, 0x45, 0x08, 0xce, 0xa0, 0xb5, 0xc6, 0xf4, 0xf4, 0x2c, 0x5e, 0xdb, 0xb3, 0x07, 0x3f, 0x7e, 0xf1, 0x65, 0xe4, 0xb2, 0x39, 0xe4, 0x72, 0x59, 0x1c, 0x3f, 0x76, 0x04, 0xe9, 0xa9, 0x29, 0xa5, 0x94, 0x1e, 0xb4, 0xcb, 0xe5, 0x5d, 0x8e, 0xe3, 0xbc, 0x4e, 0x44, 0xd3, 0x3f, 0x8f, 0x4f, 0x1f, 0xc0, 0x6c, 0xf0, 0xad, 0xc1, 0xbc, 0x13, 0x34, 0x22, 0x87, 0x92, 0x21, 0xdf, 0x84, 0x34, 0x7c, 0x2d, 0x1a, 0x73, 0x4a, 0x6b, 0x06, 0xf2, 0x18, 0x78, 0x89, 0xa1, 0x30, 0xad, 0xb1, 0xef, 0x54, 0x19, 0xaf, 0xcc, 0x00, 0x31, 0x6b, 0x06, 0x2b, 0x82, 0x6f, 0xa3, 0x79, 0xf1, 0x62, 0x54, 0x57, 0x27, 0xe0, 0xf3, 0xf9, 0xce, 0xdf, 0x20, 0xbb, 0xae, 0x8b, 0xd9, 0x4c, 0x06, 0x27, 0x07, 0x06, 0xb1, 0x77, 0xdf, 0xcf, 0xb0, 0xff, 0xc0, 0x41, 0xe4, 0x73, 0x59, 0xe4, 0x32, 0xb3, 0x48, 0x8d, 0x8f, 0x23, 0x9f, 0xcf, 0x79, 0x4a, 0xa9, 0x7e, 0xbb, 0x5c, 0x7a, 0xd2, 0x2e, 0x95, 0x9e, 0x22, 0xe0, 0x34, 0x00, 0xf7, 0x3d, 0xcd, 0xf2, 0xe6, 0xe3, 0x56, 0xe5, 0xe9, 0x2f, 0x76, 0x35, 0x77, 0xd4, 0x05, 0xfe, 0xbe, 0x3a, 0x2a, 0x6e, 0x27, 0xa1, 0x19, 0x29, 0x06, 0x56, 0x16, 0xe4, 0xe5, 0xa0, 0x52, 0x13, 0xee, 0xf4, 0x73, 0xc7, 0xb2, 0xe9, 0xc7, 0x8e, 0xe7, 0xe2, 0x03, 0x59, 0x2f, 0x66, 0xf8, 0xfc, 0x32, 0x16, 0x8b, 0xb1, 0xba, 0xba, 0x5a, 0x56, 0x5f, 0x57, 0x8f, 0x68, 0x34, 0x8a, 0x60, 0x28, 0x08, 0xd2, 0x84, 0x5c, 0xa1, 0x88, 0x74, 0x7a, 0x0a, 0x76, 0x36, 0x0d, 0x9f, 0x9b, 0x03, 0x39, 0x36, 0x4e, 0x4e, 0x64, 0x30, 0x92, 0xce, 0x6a, 0xd7, 0x75, 0x67, 0x3c, 0xcf, 0x7b, 0xdb, 0xb1, 0xed, 0xe7, 0x5d, 0xc7, 0xde, 0x4d, 0x44, 0xfd, 0x00, 0xf2, 0x78, 0x8f, 0x2f, 0x51, 0xcc, 0xcb, 0x74, 0xf8, 0x85, 0xc3, 0xb3, 0x93, 0xd0, 0xec, 0x29, 0x13, 0xc1, 0xb5, 0x41, 0x53, 0x34, 0x95, 0x8a, 0x5a, 0x4f, 0x4e, 0xd9, 0xe9, 0x43, 0xc3, 0x85, 0xbe, 0x97, 0xfb, 0x67, 0xf7, 0xbe, 0x3a, 0x94, 0x1b, 0x18, 0xca, 0xab, 0x30, 0x17, 0x72, 0x99, 0xb0, 0xcb, 0x6d, 0xb9, 0x5c, 0xb6, 0x79, 0x74, 0x6c, 0x24, 0x21, 0x85, 0xf4, 0x0b, 0xc1, 0xa5, 0x10, 0x42, 0x06, 0x4c, 0xc1, 0x9b, 0xe3, 0x7e, 0xf4, 0xb6, 0xc7, 0xb0, 0x61, 0x7d, 0x02, 0x2d, 0x75, 0x71, 0x20, 0x97, 0x46, 0xdf, 0x51, 0x43, 0xff, 0xe0, 0xa0, 0x6f, 0x78, 0xcf, 0x50, 0xf9, 0x99, 0x54, 0xa1, 0xbc, 0xdb, 0x73, 0x9c, 0x03, 0x44, 0x34, 0x06, 0xa0, 0x84, 0x79, 0x78, 0x83, 0x64, 0x5e, 0x00, 0x7c, 0xf3, 0xc5, 0xc9, 0x72, 0x6a, 0xc6, 0xd9, 0xbd, 0xb6, 0x29, 0x14, 0xf2, 0x4b, 0xb1, 0x7e, 0xf4, 0xac, 0x5d, 0xda, 0x3f, 0x9c, 0x1f, 0x3c, 0x3d, 0x5d, 0xee, 0x1f, 0x9d, 0xb5, 0x07, 0x72, 0xb6, 0x3a, 0xcb, 0x18, 0x63, 0x9c, 0x8b, 0x18, 0xe3, 0xac, 0x86, 0x33, 0xd6, 0x28, 0x04, 0x6f, 0x0e, 0x86, 0xcc, 0xd6, 0xa6, 0x44, 0x74, 0xe5, 0xaa, 0xf6, 0x86, 0xce, 0x8d, 0xdd, 0xed, 0xb1, 0x35, 0xdd, 0x8b, 0x45, 0x43, 0x93, 0x0f, 0x56, 0x30, 0x07, 0xae, 0x4e, 0x01, 0xc5, 0x29, 0xb4, 0x76, 0xcc, 0xf0, 0x0d, 0xab, 0xfc, 0x89, 0xb1, 0xd3, 0xc9, 0xa6, 0xb3, 0x53, 0x12, 0xbe, 0xb2, 0xbf, 0x30, 0x5b, 0x50, 0xce, 0x9d, 0xcf, 0x1c, 0x9c, 0x97, 0xd7, 0x67, 0xe6, 0x6d, 0xd2, 0x12, 0xb6, 0x84, 0x88, 0x05, 0x64, 0x54, 0x69, 0x24, 0x8b, 0xb6, 0x62, 0x79, 0x47, 0xe5, 0x1c, 0x8f, 0x32, 0x73, 0x27, 0x75, 0xae, 0xa6, 0x60, 0x2b, 0x1a, 0x0d, 0xe3, 0xde, 0x1b, 0x96, 0x25, 0x16, 0x37, 0x77, 0xac, 0xab, 0x5d, 0xd4, 0x7e, 0x43, 0x4d, 0xe3, 0x92, 0xab, 0x22, 0xb5, 0x8d, 0x4d, 0x86, 0xa5, 0x4d, 0xa8, 0x31, 0x30, 0x36, 0x02, 0x38, 0xc7, 0x81, 0xf2, 0x61, 0xe8, 0xfc, 0x04, 0x50, 0xf6, 0xc0, 0x18, 0x81, 0xca, 0x86, 0x6b, 0x8f, 0x87, 0xc7, 0xcb, 0xc3, 0xb1, 0xa7, 0xb3, 0x63, 0xa1, 0x47, 0x8b, 0x36, 0xf6, 0xf5, 0x3c, 0xfc, 0x5a, 0xee, 0xa2, 0x01, 0xf0, 0x0b, 0xf2, 0xf8, 0x9c, 0x69, 0xfe, 0x4a, 0x64, 0x3e, 0xfb, 0xd0, 0x3a, 0xc9, 0xb4, 0xee, 0xf4, 0x87, 0xea, 0x6e, 0x33, 0x6a, 0x7b, 0x6f, 0xe6, 0xd1, 0xb6, 0x0e, 0x52, 0x64, 0x3a, 0x33, 0xc3, 0xcc, 0x9b, 0x1a, 0x00, 0xcc, 0x02, 0x8c, 0xc5, 0x05, 0x30, 0x75, 0x12, 0x7a, 0x32, 0x0b, 0x77, 0xb0, 0x0a, 0xf6, 0xac, 0x9f, 0xb8, 0xcf, 0x81, 0x19, 0x29, 0x32, 0x19, 0x70, 0xa0, 0xc6, 0x63, 0x6e, 0xe1, 0x44, 0x75, 0xdf, 0x6c, 0x59, 0xfd, 0x4b, 0xff, 0x4c, 0xe6, 0x91, 0x9b, 0x9e, 0x3a, 0x92, 0xff, 0xc0, 0x5d, 0xe0, 0x97, 0x06, 0x3c, 0xbf, 0xb6, 0x82, 0x3c, 0xfd, 0xad, 0x6e, 0xe6, 0x68, 0xb5, 0x44, 0x42, 0x3c, 0x90, 0xcb, 0xe5, 0x3e, 0xe4, 0x16, 0x0f, 0xf2, 0xcc, 0xec, 0xde, 0xd4, 0x4c, 0x7a, 0x3a, 0x93, 0x99, 0xc9, 0xe7, 0xab, 0x04, 0x0f, 0x74, 0xb4, 0x86, 0x96, 0x06, 0x3d, 0x3b, 0x48, 0x25, 0xd0, 0xcc, 0x60, 0x32, 0x7f, 0x72, 0x80, 0x0d, 0x8d, 0x4d, 0xbb, 0x29, 0x41, 0x5c, 0x45, 0x7c, 0x91, 0x40, 0x55, 0x80, 0xc2, 0x01, 0x61, 0x84, 0xfc, 0xae, 0x97, 0x9c, 0x2c, 0xd8, 0x5b, 0xf6, 0x4e, 0xe4, 0x5f, 0x01, 0x70, 0xe2, 0xbd, 0xc4, 0x82, 0xf7, 0xed, 0x1f, 0x26, 0x8e, 0x8d, 0x16, 0xe0, 0xb9, 0x4c, 0x65, 0x72, 0xe8, 0xeb, 0x1f, 0x49, 0xe5, 0x46, 0xce, 0x1e, 0xcb, 0x67, 0xf2, 0x5e, 0x3a, 0x5b, 0xd4, 0xd3, 0x99, 0x92, 0x9e, 0xed, 0xaa, 0x0b, 0x56, 0x7d, 0x8a, 0x89, 0x3f, 0x6c, 0x2f, 0xf8, 0x37, 0x0f, 0xa4, 0x02, 0xc3, 0x4f, 0xbc, 0x9d, 0x7e, 0xe5, 0xcd, 0xe1, 0xec, 0xbe, 0x33, 0x39, 0xe7, 0xb4, 0x64, 0x28, 0x45, 0x0d, 0xc3, 0xaa, 0x32, 0x8c, 0x48, 0xd0, 0x10, 0x11, 0xbf, 0xe4, 0xe1, 0x59, 0xc7, 0x9d, 0x3c, 0x3e, 0x5d, 0xf0, 0xe6, 0x2c, 0xee, 0x82, 0xaf, 0xc7, 0xff, 0x17, 0xf0, 0x82, 0x8d, 0x5e, 0x66, 0xac, 0x95, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_xfer32[1709] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xdd, 0x04, 0x0d, 0x14, 0x22, 0x29, 0x9b, 0xb1, 0x0e, 0xac, 0x00, 0x00, 0x06, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x58, 0xc3, 0xc5, 0x57, 0x31, 0xab, 0x64, 0xb7, 0x15, 0xfe, 0x24, 0x1d, 0x49, 0x57, 0x33, 0x1e, 0xaf, 0xfd, 0xec, 0x7a, 0x8a, 0xa4, 0xb2, 0x9b, 0xc0, 0x2e, 0x24, 0x10, 0x87, 0xb8, 0x09, 0x8b, 0x61, 0xab, 0x6d, 0x02, 0x09, 0xee, 0xd2, 0xe5, 0x67, 0x84, 0xfc, 0x85, 0x4d, 0x97, 0x94, 0x09, 0xa4, 0x71, 0xb5, 0x10, 0x42, 0x48, 0xf7, 0xd6, 0xd8, 0x60, 0x43, 0x9a, 0xdd, 0xc6, 0x49, 0x60, 0xea, 0xe0, 0xf7, 0x66, 0xdf, 0xce, 0xdc, 0x2b, 0xe9, 0x1c, 0x29, 0xc5, 0x95, 0x26, 0x77, 0xde, 0xee, 0x86, 0x18, 0x0c, 0x11, 0x1c, 0xee, 0xbd, 0xcc, 0x9d, 0xfb, 0x7d, 0xdf, 0xd1, 0xd1, 0xd1, 0x27, 0xf5, 0x68, 0xf0, 0x00, 0x80, 0xcd, 0x76, 0xfb, 0xf1, 0xcd, 0x6e, 0x77, 0x07, 0xc0, 0xdb, 0x00, 0xde, 0x6a, 0xb1, 0x01, 0xb0, 0x06, 0xb0, 0x02, 0x10, 0x00, 0x78, 0x00, 0x16, 0x00, 0x01, 0x30, 0x38, 0x1f, 0x05, 0x00, 0x03, 0xc8, 0x00, 0x12, 0x80, 0x09, 0xc0, 0x11, 0xc0, 0x01, 0xc0, 0x0b, 0x00, 0x7b, 0x00, 0xd7, 0x00, 0xf6, 0x9b, 0xed, 0xf6, 0xfa, 0x66, 0xb7, 0xfb, 0x1d, 0x00, 0xa8, 0x46, 0xe0, 0x63, 0x00, 0xef, 0xb4, 0x78, 0xab, 0x91, 0xb8, 0xb3, 0x20, 0x30, 0x00, 0x18, 0x88, 0xc8, 0x19, 0x22, 0x02, 0xa0, 0x01, 0x68, 0x63, 0xad, 0x6a, 0xe0, 0x55, 0x72, 0x2e, 0x00, 0x8a, 0x30, 0x0b, 0x80, 0xc4, 0xcc, 0x11, 0x40, 0x6c, 0xe0, 0x47, 0x00, 0xcf, 0x01, 0x5c, 0xb5, 0xb8, 0x06, 0xf0, 0x2f, 0x00, 0xbf, 0xa5, 0xa6, 0xfc, 0x1d, 0x00, 0xef, 0x36, 0x02, 0x6f, 0xb7, 0xd8, 0xb4, 0x58, 0x35, 0x60, 0x67, 0xac, 0xb5, 0x4a, 0x6b, 0x6d, 0x8c, 0x51, 0x00, 0x7a, 0x00, 0x00, 0xc8, 0xda, 0x22, 0x22, 0x20, 0xef, 0x05, 0x00, 0x9b, 0x18, 0x93, 0x30, 0x27, 0x66, 0x1e, 0x1a, 0x89, 0x65, 0xe6, 0xa8, 0x65, 0xfd, 0x17, 0x74, 0xb3, 0xdb, 0x5d, 0x34, 0xf0, 0x77, 0x1b, 0xf0, 0x45, 0xbb, 0xbe, 0x41, 0x44, 0x2b, 0x43, 0xe4, 0xc9, 0x7b, 0x0b, 0x80, 0x8c, 0x31, 0x46, 0x13, 0x69, 0x22, 0x3a, 0x03, 0xef, 0x59, 0x00, 0x00, 0x66, 0x2e, 0x00, 0xc4, 0x18, 0x63, 0x45, 0xc4, 0x99, 0x18, 0x5d, 0x9c, 0x26, 0x5a, 0x10, 0x50, 0x2d, 0x83, 0xf5, 0x66, 0xb7, 0xab, 0xb4, 0x50, 0xdc, 0xc1, 0x2f, 0x00, 0xdc, 0x21, 0xa2, 0x60, 0x88, 0x06, 0xf2, 0x9e, 0x8c, 0x31, 0xe4, 0x86, 0xc1, 0x00, 0xd0, 0xd6, 0xfb, 0x97, 0xd4, 0x2f, 0x09, 0x58, 0xef, 0x4b, 0x8e, 0xd1, 0x80, 0xc8, 0x30, 0x73, 0x57, 0x6b, 0x84, 0x99, 0x98, 0x59, 0xdf, 0xae, 0x19, 0x6a, 0x73, 0x7d, 0xb1, 0x20, 0x70, 0x87, 0x88, 0xd6, 0x2e, 0x04, 0x4f, 0xd6, 0x3a, 0x72, 0x8e, 0x1a, 0xb0, 0x06, 0xa0, 0x5c, 0x08, 0x0a, 0x00, 0x0c, 0x11, 0x96, 0x24, 0x84, 0xb9, 0xb6, 0x5b, 0xd5, 0xc8, 0xe8, 0x16, 0x66, 0x71, 0xaf, 0x98, 0xb9, 0x93, 0x3d, 0x11, 0xb8, 0x68, 0x24, 0xde, 0x6c, 0x69, 0x5f, 0xbb, 0x10, 0x06, 0xb2, 0xd6, 0x6a, 0x22, 0xeb, 0x43, 0xd0, 0x00, 0x74, 0x03, 0x56, 0x86, 0x08, 0x9a, 0x08, 0x73, 0x2d, 0x9e, 0x0d, 0x55, 0x44, 0xc0, 0x39, 0x2b, 0x17, 0x42, 0x6d, 0x20, 0xaf, 0xca, 0x54, 0xe1, 0x99, 0x05, 0x03, 0xc8, 0xd4, 0x80, 0x37, 0x8b, 0x39, 0x77, 0x1d, 0x3c, 0xac, 0xd7, 0xa6, 0xab, 0x36, 0x44, 0xca, 0x0d, 0x03, 0x00, 0x28, 0xb2, 0x76, 0x2e, 0x3c, 0x3f, 0x2f, 0x61, 0x8e, 0x71, 0xfe, 0xb4, 0xb5, 0xd0, 0xc6, 0xd4, 0x22, 0xa2, 0x16, 0x44, 0x6e, 0x4f, 0x53, 0x68, 0x04, 0x32, 0x80, 0x48, 0x6d, 0x99, 0xad, 0x01, 0xac, 0x0d, 0x91, 0xf7, 0xab, 0x95, 0x23, 0xe7, 0xc8, 0x87, 0x60, 0xba, 0x72, 0x3b, 0x0c, 0x20, 0x22, 0xa5, 0x89, 0xd0, 0x48, 0xa0, 0x93, 0x58, 0xde, 0x73, 0xce, 0x20, 0xef, 0x15, 0xc7, 0x08, 0x6d, 0x4c, 0x65, 0xe6, 0x5e, 0x70, 0x27, 0x02, 0xb5, 0x14, 0x21, 0xe6, 0xc0, 0xcc, 0x09, 0xc0, 0xa4, 0x7b, 0x93, 0x21, 0x22, 0x47, 0xde, 0x5b, 0x4d, 0x64, 0xb4, 0xd6, 0x5d, 0x39, 0xec, 0x30, 0xe0, 0xfe, 0xe5, 0x13, 0x45, 0xd6, 0xc2, 0x0d, 0x03, 0xc8, 0x5a, 0xf8, 0x10, 0xe0, 0x57, 0xab, 0x97, 0x23, 0x04, 0x90, 0xb5, 0x20, 0xef, 0x41, 0xd6, 0xaa, 0xfb, 0x97, 0x4f, 0x60, 0x88, 0x94, 0x0b, 0x41, 0x59, 0xef, 0x35, 0x11, 0x19, 0xb2, 0xd6, 0x1a, 0x22, 0xd7, 0x7a, 0xcb, 0x4a, 0xf7, 0x0e, 0x67, 0x88, 0x9c, 0x31, 0xc6, 0x02, 0x30, 0xd6, 0x7b, 0xd5, 0x94, 0xab, 0xfb, 0x97, 0x4f, 0x54, 0x4f, 0x37, 0x59, 0x0b, 0xbf, 0x5a, 0x81, 0x9c, 0x7b, 0x6d, 0xf8, 0xd5, 0xea, 0x44, 0x02, 0x80, 0xfa, 0xe8, 0xb3, 0xcf, 0x3b, 0x09, 0x6d, 0xbd, 0x37, 0x9a, 0x88, 0x8c, 0xb5, 0x8e, 0x88, 0x3c, 0x80, 0x41, 0x03, 0xf0, 0xd4, 0x9a, 0x0c, 0x00, 0x4d, 0x44, 0xba, 0x17, 0xcf, 0xfd, 0xcb, 0x27, 0xa7, 0xdc, 0x75, 0xd5, 0xe4, 0x1c, 0x5c, 0x08, 0xf3, 0xf3, 0xad, 0x70, 0x21, 0x9c, 0x91, 0xe8, 0xc5, 0xf9, 0xd1, 0x67, 0x9f, 0xf7, 0x62, 0xd4, 0x44, 0xa4, 0xc9, 0x5a, 0xd3, 0xb2, 0xe0, 0x34, 0x00, 0x6b, 0x88, 0xac, 0xd2, 0xda, 0x90, 0x73, 0xba, 0xab, 0x7f, 0xf0, 0xc5, 0x97, 0x67, 0xcb, 0xac, 0x2b, 0xd4, 0xc6, 0x9c, 0xc0, 0x6e, 0x87, 0x6d, 0xbf, 0x93, 0x73, 0x7d, 0x99, 0x9e, 0x46, 0xfb, 0x1e, 0xfa, 0xd2, 0x24, 0xef, 0x0d, 0x00, 0xa7, 0x1e, 0x0d, 0xfe, 0x2b, 0x3f, 0x0c, 0x6f, 0xfa, 0xd5, 0x2a, 0xb8, 0x61, 0x70, 0xd6, 0x7b, 0xf3, 0xf0, 0xe9, 0x33, 0xbd, 0x58, 0xd3, 0xdf, 0xc6, 0xe8, 0xab, 0xa1, 0x7c, 0xf2, 0xfe, 0x7b, 0x65, 0x3c, 0x1c, 0x72, 0x1a, 0xc7, 0x31, 0x8d, 0xe3, 0x8b, 0xde, 0x28, 0x4e, 0xeb, 0xf5, 0xe1, 0xd3, 0x67, 0x00, 0x80, 0xdf, 0x84, 0x41, 0xb5, 0xeb, 0x29, 0x5e, 0xf7, 0xfc, 0x3f, 0xbc, 0xa7, 0xfa, 0xf5, 0xe1, 0xd3, 0x67, 0x20, 0x22, 0x28, 0xad, 0x95, 0x21, 0xd2, 0x7d, 0x57, 0xd3, 0x00, 0xd4, 0x4f, 0xff, 0xfe, 0x8f, 0x57, 0x35, 0x0e, 0xfc, 0x72, 0x9c, 0xfe, 0xeb, 0xf3, 0x37, 0x7c, 0xaf, 0xe3, 0x68, 0x61, 0x56, 0x1a, 0xff, 0xbf, 0xa1, 0x00, 0x28, 0xbd, 0x98, 0x1f, 0xfc, 0xf1, 0xbb, 0xdf, 0x79, 0xe5, 0x9b, 0x3d, 0xad, 0xaf, 0x7b, 0xfe, 0xa6, 0xef, 0x35, 0x9c, 0xda, 0x0d, 0xc9, 0x3f, 0xfd, 0x30, 0xbc, 0x41, 0xde, 0x87, 0xb0, 0x5e, 0xdb, 0x45, 0x11, 0xaa, 0x6f, 0x59, 0x71, 0x05, 0x50, 0x3f, 0x79, 0xff, 0x3d, 0x19, 0x0f, 0x87, 0x9c, 0x63, 0x9c, 0x38, 0xc6, 0x03, 0xb5, 0x5d, 0xa9, 0xd6, 0x52, 0x2a, 0x33, 0xc3, 0x7a, 0x8f, 0xc7, 0xf7, 0xee, 0xe2, 0xc1, 0x17, 0x5f, 0xd6, 0x25, 0x89, 0xbf, 0xfd, 0xfc, 0x67, 0xf3, 0x1a, 0x0f, 0x61, 0x5e, 0x8a, 0xab, 0xd5, 0xd9, 0xd7, 0x85, 0x19, 0x9c, 0x12, 0x8a, 0x08, 0xe2, 0x38, 0x82, 0x53, 0xc2, 0xf7, 0x7e, 0xff, 0x87, 0xb3, 0x77, 0x1e, 0xdf, 0xbb, 0xbb, 0xdc, 0x1b, 0xaa, 0x30, 0x17, 0x0d, 0x20, 0x0b, 0xb3, 0x28, 0xad, 0x2b, 0x80, 0x92, 0x63, 0xac, 0x00, 0xea, 0x9f, 0x7e, 0xf0, 0xfd, 0xb3, 0x3f, 0x73, 0x4a, 0xe0, 0x94, 0x90, 0x3b, 0xc8, 0xf1, 0x08, 0x61, 0x3e, 0x45, 0x1a, 0xc7, 0x33, 0x70, 0x4e, 0xe9, 0x4c, 0xfd, 0xe3, 0x7b, 0x77, 0x6b, 0x1a, 0x47, 0xe4, 0x18, 0x4b, 0x61, 0x2e, 0x1c, 0x63, 0xe1, 0x66, 0x10, 0x32, 0x33, 0x0b, 0xc7, 0x28, 0x65, 0x76, 0x33, 0x35, 0x8d, 0x63, 0x15, 0x66, 0xfc, 0xe5, 0x47, 0x1f, 0xd4, 0xdb, 0x0a, 0xd3, 0x38, 0x22, 0xb6, 0x48, 0x2d, 0x0e, 0xfb, 0x3d, 0x72, 0x4a, 0x67, 0xe0, 0x32, 0xef, 0xfb, 0x00, 0x80, 0x85, 0x98, 0x0a, 0xa0, 0x8a, 0x48, 0x01, 0x20, 0x00, 0x58, 0x37, 0x07, 0x1b, 0x01, 0x64, 0x11, 0x11, 0x66, 0x3e, 0x65, 0x81, 0x73, 0xc6, 0x5f, 0x3f, 0xfc, 0xf1, 0x69, 0xa7, 0xeb, 0x24, 0x3a, 0x91, 0xe9, 0x70, 0xc0, 0x74, 0x38, 0x40, 0x72, 0x46, 0xba, 0x05, 0xce, 0x39, 0x03, 0x00, 0xfe, 0xfc, 0xc1, 0x0f, 0xab, 0x30, 0xd7, 0x34, 0x8e, 0x35, 0xc7, 0x58, 0xd2, 0x34, 0x49, 0x2d, 0x25, 0xcb, 0xbc, 0x1b, 0x26, 0xf5, 0x68, 0xf0, 0x97, 0x00, 0x2e, 0x88, 0x68, 0x63, 0x88, 0xd6, 0x7e, 0xb5, 0x72, 0x6e, 0x18, 0xac, 0xf5, 0x5e, 0x77, 0x1f, 0xa0, 0x89, 0xd4, 0x10, 0xc2, 0x69, 0xff, 0x27, 0x6b, 0x5f, 0x6a, 0xb5, 0x5d, 0x31, 0xe7, 0x7c, 0xf2, 0x07, 0xd3, 0x38, 0xd6, 0x3c, 0x4d, 0x48, 0xe3, 0x58, 0xda, 0xf4, 0x4a, 0x9a, 0xa6, 0x18, 0x8f, 0xc7, 0x29, 0x4e, 0xd3, 0x0d, 0x80, 0x2b, 0x6a, 0xbe, 0x3d, 0x30, 0xb3, 0x37, 0x44, 0x56, 0x44, 0xf4, 0xc2, 0xbb, 0x75, 0x27, 0x54, 0xd3, 0x34, 0x29, 0xce, 0x19, 0xba, 0x01, 0x77, 0x85, 0xb7, 0x07, 0xc7, 0x38, 0x93, 0x60, 0xae, 0x65, 0xae, 0x8d, 0x0a, 0xa0, 0xab, 0x67, 0x11, 0xc9, 0x32, 0x5b, 0xf6, 0x09, 0xc0, 0x78, 0x22, 0x00, 0xc0, 0xc5, 0x69, 0xb2, 0x00, 0x4c, 0x2d, 0x45, 0x23, 0x84, 0xde, 0x2c, 0x8a, 0x0b, 0x41, 0x09, 0x33, 0x0c, 0x11, 0xc8, 0x5a, 0x55, 0x98, 0x4f, 0x44, 0x16, 0x3e, 0x6b, 0xbe, 0xce, 0xb6, 0xac, 0xca, 0x7f, 0xc0, 0x4b, 0x8e, 0x51, 0x98, 0x99, 0x45, 0x24, 0x73, 0x8c, 0x89, 0x99, 0xa7, 0x86, 0x7b, 0xa4, 0xe6, 0xd9, 0x87, 0x66, 0x9b, 0x6d, 0x9c, 0x26, 0xe3, 0x01, 0x9d, 0x00, 0x34, 0x12, 0xdd, 0x54, 0xa2, 0x11, 0xa9, 0xdd, 0x17, 0xe2, 0x65, 0xb3, 0xd7, 0xa7, 0xa2, 0x2e, 0x94, 0x0b, 0x33, 0x73, 0x8e, 0x31, 0x73, 0x8c, 0x29, 0x4e, 0xd3, 0xd4, 0x30, 0x0f, 0x00, 0x6e, 0xa8, 0x1d, 0x99, 0xdc, 0xc2, 0xb7, 0xeb, 0xd3, 0x47, 0x00, 0x94, 0x79, 0x5f, 0xef, 0x2e, 0x57, 0x75, 0xa7, 0x24, 0xb3, 0xdd, 0x3a, 0x5b, 0x6a, 0x69, 0x1c, 0x4f, 0x95, 0xde, 0x0a, 0x59, 0xd2, 0x34, 0x49, 0x53, 0x1e, 0xe3, 0x34, 0x1d, 0x1b, 0xf8, 0x0b, 0x00, 0x37, 0x00, 0x9e, 0x13, 0x80, 0xaf, 0x3b, 0xf0, 0xd2, 0x3a, 0x33, 0x73, 0xf5, 0x73, 0x93, 0x72, 0x00, 0x8c, 0x26, 0x32, 0x4b, 0x12, 0xaf, 0xd8, 0xae, 0x6b, 0x9e, 0x8b, 0xaf, 0x00, 0xa8, 0xcc, 0x2c, 0x85, 0x99, 0x39, 0x67, 0x96, 0x9c, 0xe3, 0x42, 0xf9, 0x7e, 0x71, 0x4e, 0xbc, 0xa2, 0xcd, 0x76, 0xbb, 0xbf, 0xd9, 0xed, 0xec, 0xad, 0xc3, 0x66, 0x05, 0xc0, 0x71, 0x9a, 0x56, 0xc4, 0x2c, 0x92, 0xb3, 0x35, 0xd6, 0x52, 0xb1, 0xd6, 0x00, 0xd0, 0xcd, 0x6c, 0x2a, 0xad, 0xe7, 0x5a, 0x2d, 0xa5, 0x9c, 0x7a, 0x7b, 0x61, 0x2e, 0x22, 0x22, 0x00, 0x98, 0x63, 0xcc, 0xed, 0x78, 0x36, 0xf6, 0x94, 0x77, 0x60, 0x00, 0x57, 0x9b, 0xed, 0xf6, 0xda, 0xfc, 0xe4, 0x70, 0xf8, 0x14, 0xc0, 0xbd, 0x85, 0x9a, 0xba, 0x38, 0xb9, 0xd4, 0x52, 0x4a, 0x15, 0xe6, 0x52, 0x4b, 0xa9, 0x65, 0x6e, 0x20, 0x45, 0x98, 0xa5, 0x94, 0x22, 0xc2, 0x5c, 0x85, 0xb9, 0x14, 0x11, 0x29, 0x22, 0x2c, 0x39, 0x4b, 0x8e, 0x31, 0x17, 0x91, 0x94, 0x63, 0x9c, 0x72, 0x4a, 0x53, 0x29, 0xe5, 0xd8, 0xd3, 0xdd, 0x94, 0xf7, 0xc3, 0xe9, 0x55, 0xda, 0xef, 0x7f, 0x6d, 0x1e, 0xcc, 0xc5, 0x74, 0xb9, 0xd9, 0x6e, 0xef, 0xa6, 0xfd, 0xbe, 0x9f, 0x58, 0xfa, 0x55, 0xfa, 0x09, 0xa6, 0x01, 0x4a, 0x4e, 0x49, 0x6a, 0x29, 0x2c, 0x73, 0x6a, 0x59, 0x72, 0xce, 0x2d, 0x92, 0x30, 0xa7, 0x9c, 0xd2, 0x24, 0xcc, 0x53, 0x29, 0xe5, 0xb0, 0x50, 0xfd, 0xbc, 0x81, 0x5e, 0x03, 0xf8, 0x7a, 0xb3, 0xdd, 0x5e, 0xa7, 0xfd, 0xfe, 0x57, 0x00, 0xf0, 0x6f, 0x49, 0xb0, 0xf3, 0xe6, 0x21, 0x46, 0x5c, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_zoomin32[2083] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xdc, 0x0b, 0x1b, 0x09, 0x1e, 0x21, 0xce, 0x19, 0x83, 0x75, 0x00, 0x00, 0x07, 0xb0, 0x49, 0x44, 0x41, 0x54, 0x58, 0xc3, 0xbd, 0x96, 0x5b, 0x6c, 0x54, 0xd7, 0x15, 0x86, 0xd7, 0x3e, 0xfb, 0x9c, 0xb9, 0x9c, 0xb9, 0x61, 0x33, 0x76, 0xb0, 0xc1, 0xf8, 0xc2, 0x18, 0x07, 0x97, 0x02, 0x8e, 0x2f, 0x38, 0x84, 0x5b, 0x0a, 0x86, 0x96, 0x87, 0x20, 0xab, 0x85, 0x3c, 0x00, 0x46, 0x4d, 0x25, 0x84, 0x52, 0x81, 0x2a, 0x50, 0xa5, 0xbe, 0xa0, 0x54, 0xed, 0x2b, 0x12, 0x15, 0x2f, 0xa5, 0x12, 0x2f, 0x24, 0x92, 0x85, 0x21, 0x4a, 0x4b, 0x00, 0x0b, 0xd1, 0x46, 0xa9, 0x4d, 0x02, 0xc6, 0xae, 0x83, 0x11, 0x64, 0xac, 0x18, 0xa8, 0xf1, 0x8c, 0xc7, 0xf6, 0x78, 0x66, 0x3c, 0x33, 0x0c, 0x33, 0x73, 0x66, 0xdf, 0x56, 0x1f, 0x62, 0x22, 0xaa, 0xa4, 0xd1, 0xb8, 0x82, 0xfc, 0xd2, 0xd2, 0x39, 0x5b, 0x3a, 0xda, 0xe7, 0xdb, 0x6b, 0xaf, 0xf5, 0xef, 0x0d, 0xf0, 0x3d, 0x6a, 0x6c, 0x6c, 0x04, 0x87, 0xc3, 0xa1, 0x01, 0x80, 0x06, 0x00, 0x64, 0xfe, 0xa9, 0x2d, 0x5b, 0xb6, 0x4c, 0xdb, 0xbd, 0x7b, 0x37, 0xbc, 0x08, 0xe9, 0xcf, 0x0f, 0x4c, 0xd3, 0x84, 0x5c, 0x2e, 0x07, 0xd5, 0xd5, 0xd5, 0x64, 0x62, 0x62, 0x82, 0x32, 0xc6, 0x1a, 0x4f, 0x9e, 0x3c, 0xb9, 0xb7, 0xa1, 0xa1, 0xa1, 0xd9, 0xe3, 0xf1, 0xbc, 0x42, 0x08, 0x91, 0xd9, 0x6c, 0x36, 0x3c, 0x36, 0x36, 0xf6, 0xf9, 0xe1, 0xc3, 0x87, 0xcf, 0x03, 0x40, 0xb4, 0xad, 0xad, 0x4d, 0x0c, 0x0e, 0x0e, 0x82, 0xcb, 0xe5, 0x82, 0x6c, 0x36, 0xbb, 0x60, 0x00, 0xf2, 0xec, 0xc5, 0xeb, 0xf5, 0x82, 0x69, 0x9a, 0x30, 0x33, 0x33, 0x63, 0xd4, 0xd5, 0xd5, 0x35, 0x9e, 0x3a, 0x75, 0xea, 0x4c, 0x49, 0x49, 0x49, 0xfb, 0xe0, 0xe0, 0x60, 0x6e, 0x60, 0x60, 0x60, 0x92, 0x10, 0x42, 0x34, 0x4d, 0xa3, 0xba, 0xae, 0xdb, 0xda, 0xda, 0xda, 0x2a, 0x9a, 0x9a, 0x9a, 0x28, 0xe7, 0xfc, 0xfc, 0xb6, 0x6d, 0xdb, 0x7e, 0xb3, 0x6a, 0xd5, 0xaa, 0xc4, 0xe8, 0xe8, 0xa8, 0xf0, 0xf9, 0x7c, 0x90, 0x4e, 0xa7, 0x17, 0x0e, 0xe0, 0x70, 0x38, 0xc0, 0xb2, 0x2c, 0x00, 0x00, 0xe3, 0xc8, 0x91, 0x23, 0xbf, 0x3c, 0x70, 0xe0, 0xc0, 0x5f, 0x2e, 0x5d, 0xba, 0x34, 0x1d, 0x0c, 0x06, 0xaf, 0x1d, 0x3b, 0x76, 0xcc, 0xd5, 0xd2, 0xd2, 0x12, 0xb0, 0xdb, 0xed, 0x2e, 0x00, 0x20, 0xf9, 0x7c, 0xde, 0x1a, 0x1c, 0x1c, 0x8c, 0xf6, 0xf4, 0xf4, 0xd8, 0xaa, 0xaa, 0xaa, 0x5a, 0x77, 0xec, 0xd8, 0x41, 0xce, 0x9e, 0x3d, 0xbb, 0xe3, 0xfa, 0xf5, 0xeb, 0xb7, 0xc7, 0xc7, 0xc7, 0xf9, 0x73, 0x73, 0x2d, 0x58, 0xb6, 0xa3, 0x47, 0x8f, 0xbe, 0x3b, 0x34, 0x34, 0x84, 0xfb, 0xf6, 0xed, 0xbb, 0x7a, 0xe9, 0xd2, 0xa5, 0x63, 0x9c, 0xf3, 0x73, 0x52, 0xca, 0xcb, 0x42, 0x88, 0x01, 0xc6, 0xd8, 0x97, 0x8c, 0xb1, 0xa0, 0x52, 0x6a, 0x50, 0x4a, 0x79, 0x8d, 0x31, 0xd6, 0x7d, 0xe1, 0xe2, 0xc5, 0x3f, 0x1d, 0x3f, 0x7e, 0x7c, 0x74, 0x60, 0x60, 0x00, 0xf7, 0xef, 0xdf, 0xdf, 0x1e, 0x08, 0x04, 0xf4, 0xff, 0x6b, 0x0b, 0x4a, 0x4b, 0x4b, 0x35, 0xbf, 0xdf, 0xdf, 0xdc, 0xdd, 0xdd, 0x3d, 0x78, 0xee, 0xfd, 0xf7, 0x2f, 0x1f, 0xec, 0x3a, 0xf8, 0xb7, 0x35, 0x6b, 0xd7, 0x2c, 0xa7, 0x94, 0x96, 0x10, 0x42, 0xfc, 0x91, 0xc9, 0x70, 0xfd, 0xd4, 0xd4, 0x74, 0x0d, 0x02, 0x68, 0x4d, 0xeb, 0xd6, 0xdd, 0x35, 0x6c, 0xb6, 0x38, 0x22, 0x26, 0x38, 0xe7, 0xc9, 0xfe, 0x1b, 0x37, 0x52, 0xff, 0x1a, 0x1a, 0x7a, 0xe7, 0x8d, 0x0d, 0x1b, 0x96, 0x6c, 0xd9, 0xb2, 0x65, 0x45, 0x65, 0x65, 0x65, 0x72, 0x6a, 0x6a, 0x0a, 0x8b, 0x05, 0xa0, 0x00, 0x00, 0xf9, 0x7c, 0xde, 0x7e, 0xe6, 0xcc, 0x99, 0x8f, 0x22, 0x91, 0x08, 0x5f, 0xbd, 0x66, 0xcd, 0xa9, 0xf6, 0xd7, 0xdb, 0xbd, 0x54, 0xa3, 0x08, 0x40, 0x08, 0x02, 0x88, 0xc8, 0xe4, 0xa4, 0x73, 0x7c, 0x7c, 0xdc, 0x9d, 0x4e, 0xa7, 0xf9, 0x8a, 0x40, 0x20, 0x48, 0x75, 0x7d, 0x16, 0x11, 0x62, 0x1a, 0x21, 0x73, 0x4b, 0x2a, 0x2a, 0x72, 0x0f, 0x1e, 0x3e, 0x1c, 0xd6, 0x08, 0x79, 0x6b, 0xdb, 0xb6, 0x6d, 0xae, 0xee, 0xee, 0xee, 0x4f, 0x00, 0x40, 0x16, 0x0b, 0xa0, 0x19, 0x86, 0x41, 0xea, 0xea, 0xea, 0xd6, 0xd5, 0xd6, 0xd6, 0x36, 0x47, 0xe3, 0x89, 0x0f, 0xda, 0x5f, 0xdf, 0xe0, 0x00, 0x4d, 0x63, 0x12, 0xd0, 0x92, 0xa8, 0xd2, 0x4a, 0xa9, 0x78, 0x7c, 0x6e, 0x2e, 0xfe, 0xef, 0xf1, 0xf1, 0xcc, 0xdd, 0x91, 0x91, 0xb9, 0x6c, 0x3e, 0xff, 0x25, 0x97, 0x32, 0xc8, 0xa4, 0x1c, 0x67, 0x4a, 0x45, 0x90, 0xd2, 0xf0, 0xc6, 0x2d, 0x5b, 0x1f, 0x47, 0xa6, 0xa7, 0xff, 0x5a, 0x5b, 0x5b, 0xfb, 0x2e, 0x00, 0x38, 0xab, 0xab, 0xab, 0x8b, 0xde, 0x02, 0x8d, 0x73, 0xae, 0x1f, 0x3a, 0x74, 0xe8, 0xed, 0x54, 0x2a, 0x95, 0x6e, 0xdf, 0xb4, 0x69, 0xc2, 0x70, 0x3a, 0x34, 0xae, 0x14, 0x32, 0xa9, 0x04, 0x53, 0x2a, 0x5f, 0x50, 0x2a, 0x33, 0x3b, 0x1b, 0x4b, 0xdf, 0xbc, 0x35, 0x10, 0xfb, 0x62, 0x64, 0x24, 0x99, 0xb5, 0x0a, 0x09, 0x4b, 0xaa, 0x4c, 0x41, 0x08, 0xcb, 0x12, 0x52, 0x32, 0xa5, 0xb4, 0x92, 0xb2, 0x32, 0xb0, 0x7b, 0xbc, 0x9f, 0xda, 0xed, 0x76, 0x7d, 0xcf, 0x9e, 0x3d, 0x6f, 0x4e, 0x4f, 0x4f, 0x6b, 0x0b, 0xf1, 0x01, 0x5a, 0x53, 0x53, 0xd3, 0xf4, 0x24, 0x9b, 0x7d, 0xbc, 0xaa, 0x7e, 0xa5, 0x1d, 0x89, 0x26, 0x3f, 0xbc, 0xf8, 0x61, 0x35, 0xd5, 0x29, 0x12, 0x20, 0x44, 0x29, 0x05, 0xb7, 0x6e, 0x7e, 0x8e, 0xb3, 0xb1, 0x58, 0x5e, 0x29, 0xa5, 0x9d, 0xbf, 0xd0, 0x53, 0x41, 0xa9, 0x5e, 0xaa, 0x94, 0x42, 0x40, 0xc4, 0x45, 0xa5, 0x8b, 0xad, 0xdd, 0xbf, 0xf8, 0x79, 0x64, 0x45, 0x43, 0x83, 0x25, 0x73, 0xd9, 0xf4, 0xca, 0x95, 0x2b, 0x5b, 0x39, 0xe7, 0x57, 0x01, 0x40, 0x15, 0x0d, 0xe0, 0xf5, 0x7a, 0xfd, 0x99, 0x5c, 0x3e, 0xa5, 0xdb, 0xec, 0x26, 0xe8, 0x06, 0xeb, 0xbd, 0x72, 0xb9, 0x4d, 0xa7, 0x54, 0x00, 0x21, 0x10, 0x8b, 0xc7, 0x0a, 0xac, 0xc0, 0x14, 0xd5, 0xa9, 0xa2, 0x40, 0xd5, 0xd5, 0x8f, 0x3f, 0x6e, 0x7a, 0x7e, 0x82, 0x65, 0x55, 0x55, 0x73, 0xbb, 0xdf, 0xde, 0x9b, 0x76, 0xfb, 0x7c, 0x8e, 0x4c, 0xf6, 0x69, 0xc6, 0xe7, 0xf3, 0x95, 0x23, 0x22, 0x05, 0x00, 0x5e, 0x2c, 0x00, 0x11, 0x42, 0x48, 0x6a, 0x18, 0x0e, 0x01, 0xe8, 0xe4, 0x52, 0xea, 0x1a, 0xa5, 0xa0, 0x19, 0x3a, 0x72, 0x26, 0x10, 0x08, 0x05, 0xa7, 0xcb, 0xad, 0xe9, 0x94, 0x22, 0x10, 0x00, 0xce, 0x38, 0x79, 0xbe, 0xc4, 0x1d, 0xa6, 0x69, 0x30, 0xa9, 0xbc, 0x44, 0x37, 0x4c, 0x4a, 0xa9, 0xce, 0x18, 0x93, 0x0b, 0xb5, 0x62, 0x15, 0x8d, 0x46, 0x27, 0xab, 0x6a, 0x6b, 0x7f, 0x5c, 0x10, 0xd2, 0x9d, 0xc9, 0x65, 0xc5, 0xef, 0xfe, 0xf0, 0xc7, 0x07, 0x84, 0x10, 0x14, 0x52, 0x71, 0x85, 0x4a, 0x0e, 0xdd, 0xba, 0x55, 0xf2, 0xe9, 0x3f, 0xfe, 0x5e, 0x26, 0x85, 0x20, 0xbf, 0x7d, 0xef, 0xf7, 0x8f, 0x4c, 0x97, 0x4b, 0x7c, 0xd3, 0x46, 0xba, 0x2e, 0xb2, 0xf9, 0x7c, 0x09, 0x47, 0x74, 0xda, 0x0c, 0xa3, 0xec, 0xd1, 0xa3, 0x47, 0xa1, 0x62, 0xd3, 0x0f, 0x00, 0xa0, 0x13, 0x42, 0xe4, 0xbd, 0x7b, 0xf7, 0x06, 0x1a, 0x1a, 0x1a, 0x76, 0x31, 0x2e, 0x4a, 0x99, 0x90, 0x39, 0x87, 0xd7, 0xc7, 0x00, 0x08, 0xe8, 0x0a, 0x19, 0x02, 0x82, 0xc3, 0xed, 0x01, 0xb7, 0xdb, 0xa3, 0x0b, 0x29, 0x89, 0xd3, 0xeb, 0x53, 0x4e, 0xb7, 0xe7, 0x9b, 0x55, 0x22, 0x00, 0x61, 0x42, 0x78, 0xd3, 0x89, 0x78, 0xd5, 0x22, 0x44, 0xda, 0xdb, 0xdb, 0xfb, 0x19, 0x00, 0x88, 0xa2, 0xbb, 0x00, 0x11, 0xf9, 0xe9, 0xd3, 0xa7, 0x3f, 0xb4, 0x2c, 0x0b, 0x72, 0x73, 0xf1, 0x75, 0x79, 0xce, 0x5c, 0x5c, 0x29, 0x93, 0x2b, 0x69, 0x72, 0x94, 0x1e, 0x8e, 0xca, 0xa3, 0xdb, 0x6c, 0x4e, 0xa7, 0xdb, 0x63, 0x98, 0x6e, 0xb7, 0x21, 0x01, 0xdc, 0x02, 0x95, 0xe7, 0x59, 0x48, 0x54, 0x6e, 0x8b, 0x31, 0x1f, 0xc9, 0xe5, 0xda, 0xc2, 0x93, 0x93, 0x8f, 0xa3, 0xd1, 0x68, 0x70, 0x21, 0x19, 0xd0, 0xe6, 0x3f, 0x9e, 0xbe, 0x7d, 0xfb, 0xf6, 0x79, 0x1b, 0x67, 0x4d, 0xcc, 0x62, 0x4b, 0x0a, 0x52, 0xba, 0xb9, 0x52, 0x6e, 0xa1, 0x94, 0x5b, 0x2a, 0xe5, 0xd1, 0x0c, 0xc3, 0x74, 0xb8, 0x4c, 0xc3, 0xe1, 0x72, 0x19, 0x12, 0xd1, 0x2d, 0x94, 0xf2, 0x3c, 0x0b, 0xc6, 0x85, 0x37, 0x1d, 0x8b, 0xd5, 0x2f, 0x76, 0x99, 0x35, 0xe7, 0xce, 0x9d, 0x3b, 0x49, 0x29, 0x5d, 0xd0, 0x91, 0xf8, 0xac, 0x5f, 0x33, 0x27, 0x4e, 0x9c, 0x78, 0x6f, 0xec, 0xab, 0xaf, 0x9e, 0x38, 0x73, 0x99, 0xcd, 0x92, 0x0b, 0x3f, 0x13, 0xd2, 0x14, 0x0a, 0xdd, 0x5c, 0xa1, 0x0b, 0x09, 0x71, 0x12, 0x8d, 0xda, 0x35, 0x8d, 0xda, 0x05, 0x82, 0x8b, 0x2b, 0x74, 0x09, 0x85, 0x26, 0x13, 0xd2, 0x65, 0xe5, 0xb2, 0x4b, 0x3d, 0xcc, 0xda, 0xd8, 0x7b, 0xed, 0x5a, 0x7f, 0x6f, 0x6f, 0xef, 0x47, 0x84, 0x10, 0x0b, 0x00, 0x80, 0x52, 0xbd, 0x78, 0x2b, 0x06, 0x00, 0x34, 0x0c, 0x23, 0x3f, 0x3c, 0x3c, 0x7c, 0xb3, 0xa1, 0xbe, 0xfe, 0x60, 0x60, 0x69, 0xc5, 0x72, 0xa9, 0x69, 0x9c, 0x21, 0x48, 0x05, 0xa0, 0xfb, 0x97, 0x2c, 0x21, 0x4d, 0xeb, 0xd7, 0xf3, 0xb5, 0xeb, 0xdb, 0x98, 0x04, 0xa2, 0x29, 0x54, 0x06, 0x20, 0x38, 0x45, 0x6a, 0xae, 0xda, 0xf9, 0xf4, 0x49, 0x73, 0x6c, 0x76, 0x96, 0xd4, 0xd5, 0xd5, 0x39, 0x87, 0x87, 0xbf, 0x08, 0x5a, 0x56, 0x41, 0x21, 0xaa, 0x94, 0x10, 0x5c, 0x51, 0x5d, 0x07, 0x54, 0xaa, 0x28, 0x00, 0x50, 0x4a, 0xf1, 0x5c, 0x2e, 0x17, 0xeb, 0xeb, 0xeb, 0xbb, 0xee, 0xf3, 0x78, 0xb6, 0x57, 0x97, 0xf9, 0x5f, 0x2d, 0xf3, 0xb8, 0x17, 0x4b, 0xc1, 0xed, 0x76, 0xbb, 0x5d, 0xe7, 0x52, 0x19, 0xa8, 0x94, 0xdd, 0xd4, 0xa9, 0xd7, 0x8a, 0xc7, 0x2b, 0x9d, 0xb9, 0xcc, 0x4a, 0x99, 0x4a, 0x56, 0x76, 0x77, 0x77, 0xff, 0x73, 0xf3, 0xe6, 0xcd, 0xde, 0x89, 0x89, 0x90, 0x3f, 0x99, 0xca, 0xec, 0x71, 0xbb, 0x3d, 0xbf, 0x8e, 0x25, 0x62, 0x37, 0x50, 0x61, 0x58, 0x08, 0xae, 0x74, 0x5d, 0x07, 0xf5, 0x3d, 0x10, 0xe4, 0x5b, 0x44, 0x94, 0x3a, 0xa4, 0x94, 0xe5, 0x1d, 0x1d, 0x1d, 0xbf, 0xda, 0xb4, 0x69, 0xd3, 0x3b, 0x6b, 0xd7, 0xac, 0x59, 0xe6, 0xf7, 0xfb, 0xc1, 0xe3, 0xf3, 0x81, 0x52, 0x0a, 0x92, 0x89, 0x04, 0x3c, 0xc9, 0x64, 0xe0, 0xce, 0x9d, 0x3b, 0x23, 0x3d, 0x3d, 0x3d, 0xa7, 0x47, 0x47, 0x47, 0xfb, 0x97, 0x2e, 0x5d, 0xda, 0x61, 0x73, 0x98, 0x7f, 0xae, 0xa8, 0xa8, 0x84, 0xd6, 0xd6, 0x16, 0x7c, 0xf4, 0xf0, 0x11, 0xf9, 0xec, 0x46, 0x5f, 0x47, 0x2e, 0x9f, 0xeb, 0x63, 0x85, 0x02, 0xd7, 0x75, 0x1d, 0x84, 0x10, 0xc5, 0x01, 0x3c, 0x97, 0x19, 0x17, 0x00, 0xf8, 0x9c, 0x4e, 0x67, 0x7d, 0x20, 0x10, 0x68, 0xb6, 0xdb, 0xed, 0xe5, 0x52, 0x4a, 0x51, 0x28, 0x14, 0x26, 0x83, 0xc1, 0xe0, 0x6d, 0x00, 0x98, 0x22, 0x84, 0xa4, 0x10, 0x91, 0xe9, 0x86, 0xad, 0xbd, 0xa5, 0xa5, 0xf5, 0x06, 0x63, 0x0c, 0x4b, 0x17, 0xfb, 0xc9, 0x9b, 0x5b, 0xb7, 0xe2, 0xe8, 0x68, 0x90, 0xf4, 0x5e, 0xbd, 0xd2, 0x91, 0xcd, 0x65, 0xfb, 0x0a, 0x96, 0xf5, 0x3f, 0x21, 0x48, 0x11, 0xf7, 0x05, 0xfd, 0xb9, 0xc0, 0xf9, 0x1e, 0x17, 0xf3, 0x47, 0x2e, 0x02, 0x00, 0x10, 0x42, 0xbc, 0xa6, 0xd3, 0x7c, 0xeb, 0x27, 0xdb, 0xb7, 0x7f, 0x90, 0x48, 0xcc, 0x61, 0x79, 0xf9, 0x2b, 0x64, 0xd7, 0xae, 0x9f, 0xe1, 0x9d, 0x91, 0x11, 0x72, 0xe1, 0xfc, 0xf9, 0x8e, 0x6c, 0xf6, 0x69, 0x9f, 0x65, 0xe5, 0xbf, 0x13, 0x82, 0x16, 0x51, 0xa8, 0x6a, 0xfe, 0x87, 0x6c, 0x3e, 0xc4, 0x77, 0xf4, 0x39, 0x13, 0x42, 0x84, 0x23, 0x53, 0x91, 0x60, 0x4b, 0x4b, 0x6b, 0x67, 0x22, 0x11, 0xc7, 0x64, 0x32, 0x45, 0x7e, 0xba, 0x73, 0x27, 0x96, 0x95, 0x97, 0x77, 0xdd, 0xbf, 0x7f, 0xaf, 0x1f, 0x90, 0x84, 0x19, 0x2b, 0x7c, 0xab, 0x26, 0x28, 0xbc, 0x38, 0x15, 0x38, 0xe7, 0xa1, 0x89, 0x89, 0x89, 0xe0, 0x6b, 0xaf, 0x35, 0x77, 0x46, 0xa3, 0xb3, 0x98, 0x4c, 0x26, 0xc9, 0xce, 0x9d, 0x1d, 0x58, 0x56, 0x56, 0xde, 0x75, 0xf7, 0xee, 0x48, 0x3f, 0x00, 0x86, 0x19, 0x63, 0xff, 0x05, 0xf1, 0x22, 0x01, 0xe6, 0x21, 0x58, 0x28, 0x14, 0x9a, 0x08, 0x36, 0x36, 0x36, 0x76, 0xce, 0x44, 0x67, 0x30, 0x9e, 0x98, 0x23, 0x1b, 0x37, 0xbe, 0x81, 0x25, 0x25, 0x25, 0x5d, 0xf7, 0xef, 0xdf, 0xef, 0x47, 0xc0, 0x30, 0xe7, 0x5c, 0x51, 0x4a, 0x01, 0x11, 0x5f, 0x38, 0x00, 0x00, 0x40, 0x81, 0x31, 0x16, 0x9a, 0x8a, 0x44, 0x82, 0x35, 0x35, 0xb5, 0x9d, 0xd3, 0x33, 0x33, 0x98, 0x48, 0xcc, 0x91, 0x96, 0x96, 0x66, 0x74, 0xb9, 0xdc, 0x5d, 0x0f, 0xc6, 0xc6, 0xfa, 0x95, 0xc2, 0xb0, 0x10, 0x42, 0x51, 0x4a, 0x5f, 0x0a, 0xc0, 0x3c, 0x44, 0x21, 0x34, 0x1b, 0x9b, 0x0d, 0x96, 0x97, 0x97, 0x77, 0x46, 0x67, 0xa3, 0x98, 0x4c, 0xa5, 0xc9, 0xea, 0xd5, 0xab, 0xd1, 0x66, 0x77, 0x74, 0x85, 0x42, 0xa1, 0x7e, 0x54, 0xea, 0x6b, 0x08, 0x78, 0x79, 0x2a, 0x14, 0xac, 0x42, 0x28, 0x95, 0x4c, 0x06, 0x3d, 0x1e, 0x6f, 0x67, 0x3c, 0x16, 0xc7, 0x4c, 0xe6, 0x09, 0x09, 0xac, 0x6c, 0x40, 0x9d, 0xea, 0x5d, 0xb3, 0x33, 0x33, 0x9f, 0x20, 0x60, 0xf8, 0x65, 0x02, 0x7c, 0x0d, 0x51, 0x28, 0x84, 0x9e, 0x3e, 0x7d, 0x1a, 0x74, 0x38, 0x9d, 0x9d, 0xc9, 0x64, 0x12, 0x73, 0xb9, 0x1c, 0x59, 0x5e, 0x5d, 0x03, 0x52, 0x29, 0x12, 0x0e, 0x4d, 0x5c, 0x81, 0x1f, 0x40, 0x04, 0x00, 0x4a, 0x5c, 0x2e, 0x57, 0xd7, 0xf2, 0xea, 0x5a, 0x5c, 0x11, 0x68, 0xc0, 0xf6, 0x0d, 0x9b, 0xc2, 0x1a, 0x21, 0xaf, 0x12, 0x42, 0x28, 0xfc, 0x40, 0x22, 0x00, 0xb0, 0xc8, 0x34, 0xcd, 0xbd, 0x7e, 0x7f, 0x79, 0x37, 0x00, 0xfc, 0x48, 0xd3, 0x34, 0x47, 0x31, 0x4e, 0xf8, 0xa2, 0x21, 0xec, 0xf3, 0x8e, 0x6a, 0x3d, 0xbb, 0x35, 0xfd, 0x07, 0xda, 0xd9, 0x3b, 0x8d, 0x54, 0x51, 0x80, 0x16, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; const unsigned char icon_zoomout32[1954] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xdc, 0x0b, 0x1b, 0x09, 0x1d, 0x38, 0x81, 0x5f, 0x78, 0x76, 0x00, 0x00, 0x07, 0x2f, 0x49, 0x44, 0x41, 0x54, 0x58, 0xc3, 0xbd, 0x96, 0x5d, 0x6c, 0x54, 0xc7, 0x15, 0xc7, 0xcf, 0xb9, 0x73, 0xf7, 0xdb, 0xbb, 0x8b, 0xed, 0xf5, 0x06, 0x9b, 0x8f, 0xb5, 0x8d, 0xed, 0x0d, 0x2e, 0x75, 0x42, 0xbc, 0xb6, 0x1c, 0xbe, 0x5b, 0x63, 0x68, 0x91, 0x02, 0xb2, 0xa2, 0x42, 0x25, 0xc0, 0xa8, 0xe9, 0x0b, 0x4a, 0x05, 0x6a, 0xe1, 0x81, 0x97, 0x4a, 0xe9, 0x4b, 0xd5, 0x17, 0x24, 0xaa, 0xbe, 0x94, 0x4a, 0x3c, 0x40, 0x22, 0x59, 0x38, 0x44, 0x6d, 0xac, 0x00, 0x8a, 0x2c, 0x45, 0xaa, 0x4d, 0x52, 0xd9, 0x0b, 0x2e, 0x20, 0xd0, 0x5a, 0x35, 0x20, 0x67, 0x77, 0x59, 0x63, 0x7b, 0x77, 0xbd, 0x6b, 0x7b, 0xbf, 0xee, 0xdc, 0x99, 0x39, 0x7d, 0xc0, 0xa9, 0xa8, 0xf8, 0xd0, 0x12, 0x41, 0xfe, 0xd2, 0xd1, 0xdc, 0xfb, 0x70, 0x67, 0x7e, 0xf7, 0xcc, 0x99, 0xff, 0x19, 0x80, 0x17, 0xa8, 0xb5, 0xb5, 0x15, 0xec, 0x76, 0xbb, 0x06, 0x00, 0x1a, 0x00, 0xe0, 0xf2, 0xa8, 0xad, 0x5e, 0xbd, 0x5a, 0xdb, 0xb7, 0x6f, 0x1f, 0xbc, 0x0a, 0xe9, 0x4f, 0xbe, 0x38, 0x9d, 0x4e, 0x28, 0x14, 0x0a, 0x10, 0x08, 0x04, 0x30, 0x1a, 0x8d, 0x32, 0xce, 0x79, 0xeb, 0xe9, 0xd3, 0xa7, 0xf7, 0x07, 0x83, 0xc1, 0x76, 0xb7, 0xdb, 0xfd, 0x06, 0x22, 0xca, 0x7c, 0x3e, 0x1f, 0x9f, 0x9c, 0x9c, 0xfc, 0xe6, 0xe8, 0xd1, 0xa3, 0x17, 0x01, 0x60, 0xb6, 0xb3, 0xb3, 0x53, 0x84, 0xc3, 0x61, 0x70, 0xb9, 0x5c, 0x90, 0xcf, 0xe7, 0x5f, 0x1a, 0x00, 0xbf, 0x7b, 0xf0, 0x78, 0x3c, 0xe0, 0x74, 0x3a, 0x61, 0x66, 0x66, 0xc6, 0xd2, 0xd8, 0xd8, 0xd8, 0x7a, 0xe6, 0xcc, 0x99, 0xb3, 0x95, 0x95, 0x95, 0x5d, 0xe1, 0x70, 0xb8, 0x30, 0x3a, 0x3a, 0xfa, 0x10, 0x11, 0x51, 0xd3, 0x34, 0xa6, 0xeb, 0xba, 0xb5, 0xb3, 0xb3, 0xb3, 0x76, 0xe3, 0xc6, 0x8d, 0xcc, 0x34, 0xcd, 0x8b, 0xdd, 0xdd, 0xdd, 0xbf, 0x5d, 0xbf, 0x7e, 0x7d, 0x7a, 0x62, 0x62, 0x42, 0x78, 0xbd, 0x5e, 0x58, 0x58, 0x58, 0x78, 0x79, 0x00, 0xbb, 0xdd, 0x0e, 0xa5, 0x52, 0x09, 0x00, 0xc0, 0x72, 0xec, 0xd8, 0xb1, 0x5f, 0x1d, 0x3e, 0x7c, 0xf8, 0x6f, 0x83, 0x83, 0x83, 0x8f, 0x22, 0x91, 0xc8, 0x97, 0x27, 0x4e, 0x9c, 0x70, 0x85, 0x42, 0xa1, 0x26, 0x9b, 0xcd, 0xe6, 0x02, 0x00, 0x2c, 0x16, 0x8b, 0xa5, 0x70, 0x38, 0x3c, 0x3b, 0x30, 0x30, 0x60, 0x5d, 0xb3, 0x66, 0x4d, 0xc7, 0xae, 0x5d, 0xbb, 0xf0, 0xdc, 0xb9, 0x73, 0xbb, 0x86, 0x86, 0x86, 0xc6, 0xa6, 0xa6, 0xa6, 0xcc, 0x27, 0xe6, 0x7a, 0x69, 0x59, 0x8f, 0x1f, 0x3f, 0xfe, 0xe1, 0xf5, 0xeb, 0xd7, 0xe9, 0xe0, 0xc1, 0x83, 0x57, 0x06, 0x07, 0x07, 0x4f, 0x98, 0xa6, 0x79, 0x41, 0x4a, 0xf9, 0x85, 0x10, 0x62, 0x94, 0x73, 0x1e, 0xe1, 0x9c, 0x4f, 0x28, 0xa5, 0xc2, 0x52, 0xca, 0x2f, 0x39, 0xe7, 0xfd, 0x9f, 0x5e, 0xba, 0xf4, 0xe7, 0x93, 0x27, 0x4f, 0x4e, 0x8c, 0x8e, 0x8e, 0xd2, 0xa1, 0x43, 0x87, 0xba, 0x9a, 0x9a, 0x9a, 0xf4, 0xef, 0xb5, 0x05, 0x55, 0x55, 0x55, 0x9a, 0xcf, 0xe7, 0x6b, 0xef, 0xef, 0xef, 0x0f, 0x5f, 0xf8, 0xf8, 0xe3, 0x2f, 0x8e, 0xf4, 0x1d, 0xf9, 0xbc, 0xed, 0xad, 0xb6, 0xb5, 0x8c, 0xb1, 0x4a, 0x44, 0xf4, 0x29, 0x29, 0xab, 0x51, 0x43, 0x3b, 0x10, 0x20, 0x00, 0x18, 0xa8, 0x69, 0x19, 0x22, 0x4a, 0x9b, 0xa6, 0x99, 0x19, 0xb9, 0x76, 0x2d, 0x7b, 0xe3, 0xfa, 0xf5, 0x0f, 0x36, 0x6f, 0xda, 0xb4, 0x72, 0xfb, 0xf6, 0xed, 0xeb, 0xea, 0xea, 0xea, 0x32, 0xd3, 0xd3, 0xd3, 0x54, 0x2e, 0x00, 0x03, 0x00, 0x28, 0x16, 0x8b, 0xb6, 0xb3, 0x67, 0xcf, 0xfe, 0x3d, 0x91, 0x48, 0x98, 0x1b, 0xda, 0xda, 0xce, 0x74, 0xbd, 0xdb, 0xe5, 0x61, 0x1a, 0x23, 0x00, 0x44, 0x02, 0x10, 0x44, 0xc4, 0x11, 0xb5, 0x25, 0x40, 0x5c, 0x22, 0x82, 0x05, 0x42, 0x48, 0x11, 0x41, 0x52, 0x43, 0x9c, 0x5f, 0x59, 0x5b, 0x5b, 0xb8, 0x77, 0xff, 0xfe, 0xb8, 0x86, 0xb8, 0xb7, 0xbb, 0xbb, 0xdb, 0xd5, 0xdf, 0xdf, 0xff, 0x15, 0x00, 0xc8, 0x72, 0x01, 0x34, 0x8b, 0xc5, 0x82, 0x8d, 0x8d, 0x8d, 0x6f, 0x37, 0x34, 0x34, 0xb4, 0xcf, 0xa6, 0xd2, 0x9f, 0x74, 0xbd, 0xbb, 0xc9, 0x0e, 0x9a, 0xc6, 0x25, 0x50, 0x49, 0x92, 0x5a, 0x50, 0x4a, 0xa5, 0x84, 0x94, 0x33, 0x8a, 0x28, 0x21, 0x94, 0xfa, 0x8f, 0x21, 0xc5, 0x1d, 0x53, 0xca, 0x08, 0x97, 0x72, 0x8a, 0x2b, 0x95, 0x20, 0xc6, 0xe2, 0x5b, 0xb6, 0xef, 0xf8, 0x36, 0xf1, 0xe8, 0xd1, 0x3f, 0x1a, 0x1a, 0x1a, 0x3e, 0x04, 0x00, 0x47, 0x20, 0x10, 0x28, 0x7b, 0x0b, 0x98, 0x52, 0xca, 0x72, 0xea, 0xd4, 0xa9, 0xdf, 0x55, 0x55, 0x55, 0xad, 0x0f, 0x34, 0xb7, 0x5c, 0xaa, 0x5b, 0xbd, 0x0a, 0x08, 0x00, 0x25, 0x01, 0x28, 0x20, 0x29, 0x89, 0x84, 0x10, 0xd2, 0x30, 0x09, 0xe2, 0xa6, 0x54, 0x19, 0x53, 0xc8, 0xa2, 0x44, 0x2c, 0x0a, 0x29, 0xb9, 0x50, 0x24, 0x05, 0x11, 0x59, 0x6c, 0x36, 0x98, 0x8a, 0x46, 0xe7, 0x57, 0xfa, 0xaa, 0xdf, 0xcb, 0xe5, 0x72, 0x63, 0x37, 0x6e, 0xdc, 0x98, 0x94, 0x52, 0x52, 0xb9, 0x3e, 0xc0, 0xea, 0xeb, 0xeb, 0x37, 0x2e, 0xe6, 0xf3, 0xdf, 0xae, 0x6f, 0x6e, 0xb1, 0x11, 0x6a, 0xf2, 0xb3, 0x4b, 0x9f, 0x05, 0x98, 0xce, 0x08, 0x01, 0x51, 0x29, 0x05, 0xa9, 0x74, 0x3a, 0x47, 0x00, 0xb5, 0x08, 0x00, 0x44, 0x84, 0x04, 0xa0, 0x94, 0x52, 0x04, 0x44, 0x54, 0x59, 0x5d, 0x5d, 0xda, 0xfb, 0xfe, 0xfb, 0x89, 0x75, 0xc1, 0x60, 0x49, 0x16, 0xf2, 0x0b, 0x2d, 0x2d, 0x2d, 0x1d, 0xa6, 0x69, 0x5e, 0x01, 0x00, 0x55, 0x36, 0x80, 0xc7, 0xe3, 0xf1, 0x2d, 0x15, 0x8a, 0x59, 0xdd, 0x6a, 0x73, 0x32, 0xab, 0xd5, 0xbc, 0x3c, 0xf8, 0x79, 0xa7, 0xd5, 0x6a, 0x15, 0x80, 0x08, 0xc9, 0x54, 0xd2, 0x30, 0x0c, 0xfe, 0xdc, 0xc9, 0x02, 0xf5, 0xf5, 0x99, 0xf7, 0xf6, 0xef, 0x5f, 0xa8, 0xf0, 0x7a, 0xed, 0x4b, 0xf9, 0xdc, 0x92, 0xd7, 0xeb, 0xf5, 0x13, 0x11, 0x03, 0x00, 0xb3, 0x5c, 0x00, 0x14, 0x42, 0x48, 0x66, 0xb1, 0xd8, 0x05, 0x90, 0xc3, 0x94, 0x64, 0xd1, 0x74, 0x9d, 0x34, 0x5d, 0x27, 0x6e, 0x9a, 0x04, 0xa8, 0x81, 0xdd, 0xee, 0xd0, 0x9e, 0x6d, 0x5f, 0x00, 0x76, 0xa7, 0x4b, 0x37, 0x85, 0xf4, 0xa0, 0x6e, 0x71, 0x32, 0xc6, 0x74, 0xce, 0xb9, 0x7c, 0x59, 0x2b, 0x56, 0xb3, 0xb3, 0xb3, 0x0f, 0xd7, 0x34, 0x34, 0xfc, 0xd8, 0x10, 0xb2, 0x22, 0x9b, 0x5b, 0x14, 0xbf, 0xff, 0xe3, 0x9f, 0xa6, 0x10, 0x91, 0x14, 0x10, 0x57, 0x8a, 0x9e, 0xfa, 0x7b, 0xa5, 0xd4, 0xff, 0x10, 0x98, 0xae, 0x9b, 0xf9, 0x52, 0x69, 0x85, 0x49, 0xe4, 0xb4, 0x5a, 0x2c, 0x35, 0x0f, 0x1e, 0x3c, 0x88, 0x95, 0x9b, 0x7e, 0x00, 0x00, 0x1d, 0x11, 0xe5, 0x9d, 0x3b, 0x77, 0x46, 0x83, 0xc1, 0xe0, 0x1e, 0x6e, 0x8a, 0x2a, 0x2e, 0x64, 0xc1, 0xea, 0x76, 0x17, 0x01, 0x10, 0xa4, 0x22, 0x4e, 0xf0, 0xe2, 0x5a, 0x22, 0x00, 0xe0, 0x42, 0x78, 0x17, 0xd2, 0xa9, 0x35, 0x2b, 0x88, 0xd8, 0xd5, 0xab, 0x57, 0xbf, 0x06, 0x00, 0xf1, 0x32, 0x46, 0xa4, 0x01, 0x40, 0x70, 0x68, 0x68, 0x28, 0x62, 0xad, 0xaa, 0x1e, 0x77, 0xd7, 0xd5, 0xdd, 0xd6, 0x99, 0x4e, 0x00, 0x00, 0x92, 0xa8, 0x9c, 0x74, 0x12, 0xe7, 0x9c, 0x65, 0xee, 0xdf, 0xdb, 0xb9, 0x98, 0x9c, 0x83, 0x03, 0x07, 0x0e, 0x74, 0x00, 0x40, 0xaa, 0x6c, 0x1f, 0x58, 0x4e, 0xd7, 0xa3, 0xb1, 0xb1, 0xb1, 0x8b, 0x56, 0x93, 0x6f, 0xe4, 0x25, 0xbe, 0xd2, 0x90, 0xb2, 0xc2, 0x54, 0xaa, 0x42, 0x3c, 0x0e, 0xf7, 0x8b, 0x82, 0x9b, 0xc2, 0xb3, 0x90, 0x4c, 0x36, 0x57, 0xbb, 0x9c, 0xf5, 0x17, 0x2e, 0x5c, 0x38, 0xcd, 0x18, 0xcb, 0x7f, 0x9f, 0x6e, 0xc8, 0x00, 0x60, 0xdd, 0xf9, 0xf3, 0xe7, 0xc7, 0xde, 0x0e, 0x85, 0xf4, 0xa2, 0x7b, 0xc5, 0x18, 0x69, 0x5a, 0x01, 0x10, 0x89, 0x9e, 0xff, 0x21, 0x29, 0xa5, 0x50, 0x14, 0x0b, 0x2b, 0xac, 0xf3, 0xa9, 0xcd, 0x43, 0x43, 0x43, 0xdf, 0xfc, 0xe1, 0xa3, 0x8f, 0x7e, 0xa9, 0xeb, 0xfa, 0x8c, 0x10, 0x82, 0x18, 0xd3, 0x41, 0x4a, 0x51, 0x9e, 0x15, 0x03, 0x00, 0x59, 0x2c, 0x96, 0xe2, 0xf8, 0xf8, 0xf8, 0xbf, 0x82, 0xcd, 0xcd, 0x47, 0x9a, 0x56, 0xd5, 0xae, 0x95, 0x9a, 0x66, 0x72, 0x02, 0xa9, 0x00, 0x74, 0x45, 0x64, 0x21, 0x00, 0x9d, 0x00, 0x2c, 0x8a, 0xc8, 0xaa, 0x48, 0x59, 0x80, 0xc0, 0x21, 0xb2, 0xf3, 0x01, 0x47, 0x6e, 0xb1, 0x3d, 0x39, 0x37, 0x87, 0x8d, 0x8d, 0x8d, 0x8e, 0xf1, 0xf1, 0x7f, 0x47, 0x4a, 0x25, 0x43, 0x11, 0xa9, 0xac, 0x10, 0xa6, 0x62, 0xba, 0x0e, 0xa4, 0x54, 0x59, 0x00, 0xa0, 0x94, 0x32, 0x0b, 0x85, 0x42, 0x72, 0x78, 0x78, 0x78, 0xc8, 0xeb, 0x76, 0xef, 0x0c, 0xd4, 0xf8, 0xde, 0xac, 0x71, 0x57, 0x54, 0x4b, 0x61, 0xda, 0x1c, 0x0e, 0x87, 0x0e, 0x88, 0x36, 0x5d, 0xd3, 0x1c, 0x4e, 0x9d, 0x79, 0x4a, 0xa9, 0x54, 0x9d, 0xa3, 0xb0, 0xd4, 0x22, 0xb3, 0x99, 0xba, 0xfe, 0xfe, 0xfe, 0x7f, 0x6e, 0xdb, 0xb6, 0xcd, 0x13, 0x8d, 0xc6, 0x7c, 0x99, 0xec, 0xd2, 0x2f, 0x2a, 0x2a, 0xdc, 0xbf, 0x49, 0xa6, 0x93, 0xd7, 0x48, 0x51, 0x5c, 0x08, 0x53, 0xe9, 0xba, 0x0e, 0xea, 0x05, 0x10, 0xf8, 0x14, 0x11, 0x63, 0x76, 0x29, 0xa5, 0xbf, 0xa7, 0xa7, 0xe7, 0xd7, 0x5b, 0xb7, 0x6e, 0xfd, 0xe0, 0xad, 0xb6, 0xb6, 0xd5, 0x3e, 0x9f, 0x0f, 0xdc, 0x5e, 0x2f, 0x28, 0xa5, 0x20, 0x93, 0x4e, 0xc3, 0xe2, 0xd2, 0x12, 0xdc, 0xbc, 0x79, 0xf3, 0xd6, 0xc0, 0xc0, 0xc0, 0x5f, 0x26, 0x26, 0x26, 0x46, 0x56, 0xad, 0x5a, 0xd5, 0x63, 0xb5, 0x3b, 0xff, 0x5a, 0x5b, 0x5b, 0x07, 0x1d, 0x1d, 0x21, 0x7a, 0x70, 0xff, 0x01, 0x7e, 0x7d, 0x6d, 0xb8, 0xa7, 0x50, 0x2c, 0x0c, 0x73, 0xc3, 0x30, 0x75, 0x5d, 0x07, 0x21, 0x44, 0x79, 0x00, 0x4f, 0x64, 0xc6, 0x05, 0x00, 0x5e, 0x87, 0xc3, 0xd1, 0xdc, 0xd4, 0xd4, 0xd4, 0x6e, 0xb3, 0xd9, 0xfc, 0x52, 0x4a, 0x61, 0x18, 0xc6, 0xc3, 0x48, 0x24, 0x32, 0x06, 0x00, 0xd3, 0x88, 0x98, 0x25, 0x22, 0xae, 0x5b, 0xac, 0x5d, 0xa1, 0x50, 0xc7, 0x35, 0xce, 0x39, 0x55, 0x55, 0xfb, 0xf0, 0x27, 0x3b, 0x76, 0xd0, 0xc4, 0x44, 0x04, 0xaf, 0x5e, 0xb9, 0xdc, 0x93, 0x2f, 0xe4, 0x87, 0x8d, 0x52, 0xe9, 0xb9, 0x10, 0x58, 0x46, 0x91, 0xea, 0x4f, 0x04, 0x2d, 0x9f, 0x71, 0xb1, 0xdc, 0x72, 0x09, 0x00, 0x00, 0x11, 0x3d, 0x4e, 0x87, 0x73, 0xef, 0x4f, 0x77, 0xee, 0xfc, 0x24, 0x9d, 0x9e, 0x27, 0xbf, 0xff, 0x0d, 0xdc, 0xb3, 0xe7, 0xe7, 0x74, 0xf3, 0xd6, 0x2d, 0xfc, 0xf4, 0xe2, 0xc5, 0x9e, 0x7c, 0x3e, 0x37, 0x5c, 0x2a, 0x15, 0x9f, 0x09, 0xc1, 0xca, 0x38, 0x29, 0x6a, 0x79, 0x41, 0xbe, 0x1c, 0xe2, 0x19, 0x4e, 0xc7, 0x85, 0x10, 0xf1, 0xc4, 0x74, 0x22, 0x12, 0x0a, 0x75, 0xf4, 0xa6, 0xd3, 0x29, 0xca, 0x64, 0xb2, 0xf8, 0xb3, 0xdd, 0xbb, 0xa9, 0xc6, 0xef, 0xef, 0xbb, 0x7b, 0xf7, 0xce, 0x08, 0x10, 0xc6, 0x39, 0x37, 0x9e, 0xaa, 0x09, 0x06, 0xaf, 0x4e, 0x86, 0x69, 0x9a, 0xb1, 0x68, 0x34, 0x1a, 0x79, 0xe7, 0x9d, 0xf6, 0xde, 0xd9, 0xd9, 0x39, 0xca, 0x64, 0x32, 0xb8, 0x7b, 0x77, 0x0f, 0xd5, 0xd4, 0xf8, 0xfb, 0x6e, 0xdf, 0xbe, 0x35, 0x02, 0x40, 0x71, 0xce, 0xf9, 0xff, 0x41, 0xbc, 0x4a, 0x80, 0x65, 0x08, 0x1e, 0x8b, 0xc5, 0xa2, 0x91, 0xd6, 0xd6, 0xd6, 0xde, 0x99, 0xd9, 0x19, 0x4a, 0xa5, 0xe7, 0x71, 0xcb, 0x96, 0xcd, 0x54, 0x59, 0x59, 0xd9, 0x77, 0xf7, 0xee, 0xdd, 0x11, 0x02, 0x8a, 0x9b, 0xa6, 0xa9, 0x18, 0x63, 0x40, 0x44, 0xaf, 0x1c, 0x00, 0x00, 0xc0, 0xe0, 0x9c, 0xc7, 0xa6, 0x13, 0x89, 0x48, 0x7d, 0x7d, 0x43, 0xef, 0xa3, 0x99, 0x19, 0x4a, 0xa7, 0xe7, 0x31, 0x14, 0x6a, 0x27, 0x97, 0xab, 0xa2, 0xef, 0xde, 0xe4, 0xe4, 0x88, 0x52, 0x14, 0x17, 0x42, 0x28, 0xc6, 0xd8, 0x6b, 0x01, 0x58, 0x86, 0x30, 0x62, 0x73, 0xc9, 0xb9, 0x88, 0xdf, 0xef, 0xef, 0x9d, 0x9d, 0x9b, 0xa5, 0x4c, 0x76, 0x01, 0x37, 0x6c, 0xd8, 0x40, 0x56, 0x9b, 0xbd, 0x2f, 0x16, 0x8b, 0x8d, 0x90, 0x52, 0x8f, 0x21, 0xe0, 0xf5, 0xc9, 0x30, 0x4a, 0x46, 0x2c, 0x9b, 0xc9, 0x44, 0xdc, 0x6e, 0x4f, 0x6f, 0x2a, 0x99, 0xa2, 0xa5, 0xa5, 0x45, 0x6c, 0x6a, 0x09, 0x92, 0xce, 0xf4, 0xbe, 0xb9, 0x99, 0x99, 0xaf, 0x08, 0x28, 0xfe, 0x3a, 0x01, 0x1e, 0x43, 0x18, 0x46, 0x2c, 0x97, 0xcb, 0x45, 0xec, 0x0e, 0x47, 0x6f, 0x26, 0x93, 0xa1, 0x42, 0xa1, 0x80, 0x6b, 0x03, 0xf5, 0x20, 0x95, 0xc2, 0x78, 0x2c, 0x7a, 0x19, 0x7e, 0x00, 0x21, 0x00, 0x54, 0xba, 0x5c, 0xae, 0xbe, 0xb5, 0x81, 0x06, 0x5a, 0xd7, 0x14, 0xa4, 0xae, 0x4d, 0x5b, 0xe3, 0x1a, 0xe2, 0x9b, 0x88, 0xc8, 0xe0, 0x07, 0x12, 0x02, 0xc0, 0x0a, 0xa7, 0xd3, 0xb9, 0xdf, 0xe7, 0xf3, 0xf7, 0x03, 0xc0, 0x8f, 0x34, 0x4d, 0xb3, 0x97, 0xe3, 0x84, 0xaf, 0x1a, 0xc2, 0xb6, 0xec, 0xa8, 0xa5, 0xef, 0x6e, 0x4d, 0xff, 0x05, 0x8e, 0x55, 0xf9, 0x78, 0xc4, 0xe1, 0x89, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; tucnak-4.32/src/slovhfnet.h0000644000175000017500000000141513162721124012620 00000000000000/* slovhfnet.h - Upload claimed live score to slovhf.net Copyright (C) 2017 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SLOVHFNET_H #define __SLOVHFNET_H #include struct slovhfnet{ struct zhttp *http; char *status; int bandi; }; struct slovhfnet *init_slovhfnet(void); void free_slovhfnet(struct slovhfnet *slovhf); //int slovhfnet_country(char *call); void slovhfnet_upload(void *arg); void slovhfnet_do_upload(void *arg); void slovhfnet_sent(struct zhttp *http); void slovhfnet_next_band(struct slovhfnet *slovhf); void slovhfnet_abort(void *arg); #endif tucnak-4.32/src/session.c0000644000175000017500000031526014125266066012305 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. UTF-8 detect: ěščřžýáíé */ #include "header.h" #include "bfu.h" #include "control.h" #include "cwdaemon.h" #include "cwdb.h" #include "cwwindow.h" #include "dwdb.h" #include "edi.h" #include "excdb.h" #include "fifo.h" #include "hf.h" #include "inputln.h" #include "kbdbind.h" #include "kbd.h" #include "kst.h" #include "main.h" #include "map.h" #include "menu.h" #include "misc.h" #include "namedb.h" #include "net.h" #include "ntpq.h" #include "qsodb.h" #include "rain.h" #include "rc.h" #include "rotar.h" #include "tsdl.h" #include "session.h" #include "sked.h" #include "ssbd.h" #include "state.h" #include "stats.h" #include "subwin.h" #include "translate.h" #include "tregex.h" #include "trig.h" #include "update.h" #include "zosk.h" int session_id = 1; /*#ifdef Z_MSC void android_restore_state(){ GHashTable *state = NULL; int i; dbg("android_restore_state started gses=%p\n", gses); #ifdef Z_MSC if (!state) state = g_hash_table_new(g_str_hash, g_str_equal); g_hash_table_insert(state, g_strdup("gses_il_cdata"), g_strdup("GSES INPUTLN")); g_hash_table_insert(state, g_strdup("ctest"), g_strdup("20130610.1")); for (i = 0; i < cfg->bands->len; i++){ struct config_band *b = (struct config_band *)g_ptr_array_index(cfg->bands, i); g_hash_table_insert(state, g_strdup_printf("band%c_il_cdata", z_char_lc(b->bandchar)), g_strdup_printf("Band %c inputln", z_char_lc(b->bandchar))); } for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->il){ g_hash_table_insert(state, g_strdup_printf("sw%d_il_cdata", i+1), g_strdup_printf("Subwin %d inputline", i+1)); } } g_hash_table_insert(state, g_strdup("sw0il_cdata"), g_strdup("Talk")); #endif do_restorestate(state); dbg("android_restore_state finished\n"); } #endif*/ struct session *create_session(struct window *win) { /* struct terminal *term = win->term;*/ struct session *ses; struct config_subwin *csw; int i, setontop = 0; ses = g_new0(struct session, 1); /* dbg("create_session allocated %p\n", ses);*/ ses->win = win; ses->id = session_id++; ses->sel_start = -1; ses->sel_stop = -1; ses->sel_min = INT32_MAX; ses->sel_max = -1; gses = ses; gses->hicalls=g_hash_table_new(g_str_hash, g_str_equal); /**/ /*memcpy(&ses->ds, &dds, sizeof(struct document_setup));*/ ctest=NULL; update_hw(); ses->subwins = g_ptr_array_new(); sw_shake_tmo = ztimeout_init(100000); if (cfg->sws->len){ for (i=0;isws->len;i++){ csw=(struct config_subwin *)g_ptr_array_index(cfg->sws, i); new_subwin((enum sw_type)csw->type, -1); } }else{ /* default values when no subwins are defined in tucnakrc */ new_subwin(SWT_QSOS, -1); new_subwin(SWT_SKED, -1); new_subwin(SWT_TALK, -1); new_subwin(SWT_DXC, -1); new_subwin(SWT_UNFI, -1); new_subwin(SWT_STAT, -1); new_subwin(SWT_KST, -1); new_subwin(SWT_SHELL, -1); new_subwin(SWT_LOG, -1); } setontop = 1; sw_shake_tmo = -1; /*if (first_use) { first_use = 0; msg_box(NULL, VTEXT(T_WELCOME), AL_CZ | AL_EXTD_TEXT, VTEXT(T_WELCOME_TO_TUCNAK), "\n\n", VTEXT(T_BASIC_HELP), NULL, NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); }*/ if (strlen(cfg->pcall)==0 || strlen(cfg->pwwlo)==0){ zselect_bh_new(zsel, contest_def, GINT_TO_POINTER(1)); first_contest_def=1; } if (opt_x) zselect_bh_new(zsel, translate, NULL); ses->il = g_new0(struct inputln,1); ses->il->upconvert = 1; ses->il->valid_chars = VALID_CHARS; gses->qs = g_ptr_array_new(); MUTEX_INIT(gses->qs); if (setontop){ sw_set_ontop(0, 1); sw_set_ontop(0, 0); } return ses; } /*gboolean free_hicalls(gpointer key, gpointer value, gpointer user_data){ g_free(key); g_free(user_data); return TRUE; } */ void win_func(struct window *win, struct event *ev, int fw) { /* if (ev->ev==EV_KBD) dbg("\n");*/ //dbg("win_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b); switch (ev->ev) { case EV_ABORT: sw_all_func(ev,fw); free_ctest(); if (gses->timer_id) zselect_timer_kill(zsel, gses->timer_id); #ifdef FALL if (gses->fall_id) zselect_timer_kill(zsel, gses->fall_id); #endif free_subwins(); inputln_func(gses->il, ev); g_free(gses->il); qs_thread_kill(); zg_ptr_array_free_all(gses->qs); MUTEX_FREE(gses->qs); zg_free0(gses->qs_str); zg_hash_free(gses->hicalls); /* g_hash_table_foreach_remove(gses->hicalls, free_hicalls, NULL); g_hash_table_destroy(gses->hicalls);*/ if (gses->redraw_timer_id) zselect_timer_kill(zsel, gses->redraw_timer_id); #ifdef Z_HAVE_SDL if (gses->update_rotar_timer_id) zselect_timer_kill(zsel, gses->update_rotar_timer_id); if (gses->bat_timer_id) zselect_timer_kill(zsel, gses->bat_timer_id); #endif if (gses->skedw_timer_id > 0) { zselect_timer_kill(zsel, gses->skedw_timer_id); gses->skedw_timer_id = 0; } // g_free(gses->ac_cq->cw_str); NO! it is "foreign key" g_free(gses->ac_cq); zg_free0(gses->asunriseset); if (gses->update){ zhttp_free(gses->update); gses->update = NULL; } g_free(gses->callunder); /*g_free(gses); no, freeed in delete_window */ gses=NULL; break; case EV_INIT: win->data = gses = create_session(win); if (ctest && aband) { inputln_func(aband->il,ev); }else{ inputln_func(gses->il, ev); gses->il->enter = process_input_no_contest; } il_set_focus(INPUTLN(aband)); gses->timer_id = zselect_timer_new(zsel, 1, time_func, NULL); #ifdef FALL gses->fall_id = zselect_timer_new(zsel, 1000, fall_func, NULL); #endif #ifdef Z_HAVE_SDL zselect_timer_new(zsel, 1, bat_timer, NULL); grain = init_rain(); #endif gses->mode = MOD_SSB_SSB; gses->ac_cq = g_new0(struct cq, 1); gses->skedw_timer_id = 0; update_tucnak(win_func, win_func); case EV_RESIZE: #ifdef Z_HAVE_SDL if (gses->osk && ev->b == 0) { char *c = g_strdup(gses->osk->gs->str); int flags = gses->osk->flags; //dbg("zosk_free(%p %p)\n", gses->osk, gses->osk->surface); zosk_free(gses->osk); gses->osk = zosk_init(sdl->screen, flags, c); zosk_portrait(gses->osk); //dbg("zosk_inite(%p %p)\n", gses->osk, gses->osk->surface); g_free(c); } #endif /* dbg("win_func: EV_RESIZE %dx%d\n", term->x, term->y);*/ fifo_resize(glog, 1, term->y-cfg->loglines, term->x-2, cfg->loglines); /* draw_root_window();*/ if (ctest) { int i; for (i=0;ibands->len;i++) { struct band *b; b=(struct band*)g_ptr_array_index(ctest->bands,i); inputln_func(b->il,ev); /*b->il->band=b;*/ } } inputln_func(gses->il, ev); gses->y1 = QSONR_HEIGHT; gses->y2 = QSONR_HEIGHT; gses->height1 = term->y - QSONR_HEIGHT - 4 - cfg->loglines; //gses->ily = term->y - 1 - cfg->loglines; //gses->tqy = term->y - 1 - cfg->loglines - DISP_QSOS; if (ctest && !ctest->oldcontest) { gses->height1 -= ctest->spypeers->len; //gses->ily -= ctest->spypeers->len; //gses->tqy -= ctest->spypeers->len; } if (cfg->splitheight > 0){ gses->height2 = cfg->splitheight; gses->height1 -= gses->height2 + 1; gses->y1 += gses->height2 + 1; } sw_all_func(ev, fw); redraw_later(); break; case EV_REDRAW: // z_crash(); // g_free(win_func); //aband->bandchar = 'x'; if (!gses) return; /* dbg("win_func: EV_REDRAW\n");*/ draw_root_window(); inputln_func(INPUTLN(aband),ev); if (show_qs()){ MUTEX_LOCK(gses->qs); sw_qs_redraw(); MUTEX_UNLOCK(gses->qs); }else{ sw_ontop_func(ev, fw); } /*if (ctest && aband) { inputln_func(aband->il,ev); if (show_qs()){ sw_qs_redraw(); }else{ sw_ontop_func(ev, fw); } }else{ inputln_func(gses->il, ev); sw_ontop_func(ev, fw); } */ if (cfg->splitheight > 0){ draw_titles(QSONR_HEIGHT - 1, 1); draw_titles(gses->y1 - 1, 0); }else{ draw_titles(QSONR_HEIGHT - 1, 0); } break; case EV_KBD: send_event(ev); break; case EV_MOUSE: send_event(ev); break; default: error("ERROR: unknown event"); } #ifdef Z_ANDROID if (ev->ev == EV_INIT) { android_restore_state(); } #endif /*#ifdef Z_MSC if (ev->ev == EV_INIT) { struct state *state = init_state(); state_test(state); state_restore(state); } #endif*/ } void rxtx(void){ // if (gses->win->prev->handler==cwwindow_func) return; //probably not working gses->tx=!gses->tx; if (gses->tx && can_tx(aband)){ cq_abort(1); if (get_mode() == MOD_CW_CW){ cwdaemon_ptt(cwda, 1, 1); }else{ cwdaemon_ptt(cwda, 1, 0); } if (get_mode() == MOD_CW_CW){ add_window(cwwindow_func, NULL); #ifdef Z_HAVE_SDL if (gses && sdl) gses->icon = sdl->key; #endif } peer_tx(aband, 1); }else{ rx(); } redraw_later(); } void esc(void){ /*if (!ctest || !aband) return;*/ if (gses->focused){ /* look at sw_dxc_kbd_func, ACT_ENTER */ sw_unset_focus(); il_set_focus(INPUTLN(aband)); }else{ rx(); } redraw_later(); //dbg("esc returning\n"); } void rx(void){ gses->tx=0; gses->tune=0; gses->extcq=EC_NONE; cq_abort(0); //dbg("rx: cq_abort returned\n"); cwdaemon_ptt(cwda, 0, 0); peer_tx(aband, 0); } /* for global events such as keying */ int preferred_func(struct event *ev){ switch(ev->ev){ case EV_KBD: switch (kbd_action(KM_MAIN, ev)) { case ACT_RXTX: if (gses->win->prev->handler == cwwindow_func){ return 1; } rxtx(); return 0; break; #ifdef HAVE_HAMLIB case ACT_TOGGLE_SPLIT_VFO: trigs_toggle_split_vfo(gtrigs); break; #endif #if defined (Z_HAVE_SDL) && defined(Z_HAVE_LIBPNG) case ACT_SCREENSHOT: sdl_screenshot(0); break; case ACT_WINDOWSHOT: sdl_screenshot(1); break; #endif } break; case EV_MOUSE: /*if (ev->b == B_MOVE) break; dbg("preferred_func MOUSE: b=%d\n", ev->b); if (ev->b == (B_DRAG | B_LEFT)){ int p = -1; if (gses->sel_start < 0){ gses->sel_start = ev->x + ev->y * term->x; }else{ gses->sel_min = Z_MIN(gses->sel_min, gses->sel_start); gses->sel_max = Z_MAX(gses->sel_max, gses->sel_stop); p = ev->x + ev->y * term->x; if (p <= gses->sel_start) gses->sel_start = p; else gses->sel_stop = p; } gses->sel_min = Z_MIN(gses->sel_min, gses->sel_start); gses->sel_max = Z_MAX(gses->sel_max, gses->sel_stop); dbg("p=%d sel=%d %d, minmax=%d %d\n", p, gses->sel_start, gses->sel_stop, gses->sel_min, gses->sel_max); term->dirty = 1; redraw_later(); }else if (ev->b == (B_LEFT | B_UP)){ dbg("up sel=%d %d\n", gses->sel_start, gses->sel_stop); if (gses->sel_start > 0 && gses->sel_stop > 0){ dbg("copy\n"); gses->sel_start = -1; gses->sel_stop = -1; } }else if ((ev->b == B_LEFT) == 0){ dbg("clear\n"); gses->sel_min = gses->sel_start; gses->sel_max = gses->sel_stop; gses->sel_start = -1; gses->sel_stop = -1; term->dirty = 1; redraw_later(); } */ break; } return 1; } static void compute_qrv_wkd(char *c){ char *qrv_str; struct qrv_item *qi; if (!aband) return; CONDGFREE(aband->qrv_str); qrv_str=find_qrv_str_by_call(cw, c); if (qrv_str){ aband->qrv_str = g_strdup(qrv_str); } CONDGFREE(aband->wkd_str); qi = qrv_get(qrv, c); if (qi){ aband->wkd_str = g_strdup_printf("wkd %dx", qi->wkd[tolower(aband->bandchar) - 'a']); } } int confirm_call(void){ char *oldtmpqcall, *c; if (!ctest || !aband) return 1; oldtmpqcall = TMPQ.callsign; c = TMPQ.callsign; if (!c) return 1; if (TMPQ.ucallsign) return 1; compute_qrv_wkd(z_str_uc(c)); struct qso *dupe = stats_get_dupe(aband->stats, c, TMPQ.locator, ctest->phase, gses->mode); if (dupe != NULL){ aband->dupe_qso = dupe; redraw_terminal(NULL); compute_qrv_wkd(c); duplicate_callsign(dupe); return 1; } add_tmpxchg(aband, aband->tmpqsos[0].callsign); after_callsign(aband, TMPQ.callsign, oldtmpqcall); aband->tmpqsos[0].ucallsign = 1; CLEAR_TMPQSO_STRING_UU(aband, callsign, ucallsign); wkd_tmpqso(aband, WT_CALLSIGN, c); #ifdef HAVE_SNDFILE gssbd->code++; #endif redraw_later(); return 0; } int confirm_exc(void){ if (!ctest || !aband) return 1; if (!aband->tmpqsos[0].exc) return 0; if (strlen(aband->tmpqsos[0].exc)==0) return 0; add_tmpxchg(aband, aband->tmpqsos[0].exc); after_exc(aband, TMPQ.exc); aband->tmpqsos[0].uexc = 1; CLEAR_TMPQSO_STRING_UU(aband, exc, uexc); wkd_tmpqso(aband, WT_EXC, TMPQ.exc); #ifdef HAVE_SNDFILE gssbd->code++; #endif redraw_later(); return 0; } int confirm_wwl(void){ if (!ctest || !aband) return 1; if (!aband->tmpqsos[0].locator) return 0; if (ctest->wwlused == 3 || ctest->wwlused == 4){ // 3=used(4), 4=opt(4) if (strlen(aband->tmpqsos[0].locator)<4) return 0; }else{ if (strlen(aband->tmpqsos[0].locator)!=6) return 0; } if (TMPQ.callsign && !TMPQ.dupe){ struct qso *dupe = stats_get_dupe(aband->stats, TMPQ.callsign, TMPQ.locator, ctest->phase, gses->mode); if (dupe != NULL){ aband->dupe_qso = dupe; if (!aband->ignoreswap){ aband->dupe_qso = dupe; compute_qrv_wkd(TMPQ.callsign); duplicate_callsign(dupe); } return 0; } } add_tmpxchg(aband, TMPQ.locator); aband->tmpqsos[0].ulocator = 1; aband->tmpqsos[0].uqrb = 1; aband->tmpqsos[0].uqtf = 1; after_locator(aband, TMPQ.locator); CLEAR_TMPQSO_STRING_UU(aband, locator, ulocator); CLEAR_TMPQSO_GDOUBLE_UU (aband, qrb, uqrb); CLEAR_TMPQSO_QTF_UU (aband); wkd_tmpqso(aband, WT_LOCATOR, TMPQ.locator); /*map_clear_qso(&aband->tmplocqso); */ #ifdef HAVE_SNDFILE gssbd->code++; #endif redraw_later(); return 0; } void clear_tmpqsos_inputline(void){ if (!ctest || !aband) { /* HACK F3 */ menu_contest_open(NULL); return; } if (aband->readonly) return; clear_tmpqsos(aband,1); add_swap(aband, "CLR"); clear_inputline(aband->il); get_cw_qs(aband->il->cdata); /* clears */ get_band_qs(aband, aband->il->cdata); get_oband_qs(aband, aband->il->cdata); get_hf_dxc(aband->il->cdata); send_inputline(aband); map_clear_qso(&aband->tmplocqso, aband); ac_track(gacs, NULL, -1); redraw_later(); } void send_event(struct event *ev) { // struct qso *qso; // gchar *c; // gchar *qrv_str; int i; // char *oldtmpqcall = NULL; // struct qrv_item *qi; if (!gses) return; //dbg("send_event ev=%d, x=%d, y=%d, b=%d\n",ev->ev,ev->x,ev->y ,ev->b); if (ev->ev == EV_KBD) { if (gses->ontop && gses->focused){ if (sw_focus_func(ev,1)) return; }else{ switch (kbd_action(KM_MAIN, ev)) { case ACT_SCROLL_LEFT: if (glog->ho>0) glog->ho--; redraw_later(); goto x; case ACT_SCROLL_RIGHT: if (glog->ho<70) glog->ho++; redraw_later(); goto x; default: if (!inputln_func(INPUTLN(aband), ev)) break; /*dbg("inputln_func\n");*/ if (ev->x!=KBD_LEFT && ev->x!=KBD_RIGHT && ev->x!=KBD_HOME && ev->x!=KBD_END){ char *qsstr; if (aband){ qsstr=strrchr(aband->il->cdata, ' '); if (!qsstr) qsstr=aband->il->cdata; else qsstr++; }else{ qsstr=strrchr(gses->il->cdata, ' '); if (!qsstr) qsstr=gses->il->cdata; else qsstr++; } if (aband){ get_band_qs(aband, qsstr); get_oband_qs(aband, qsstr); } get_cw_qs(qsstr); //FIXME get_hf_dxc(qsstr); send_inputline(aband); redraw_later(); } return; } } // dbg("send_event2 %d,%d,%d,%d\n",ev->ev,ev->x,ev->y ,ev->b); switch (kbd_action(KM_MAIN, ev)) { case ACT_MENU: activate_bfu_technology(-1); goto x; case ACT_FILE_MENU: activate_bfu_technology(0); goto x; case ACT_REALLYQUIT: exit_prog(GINT_TO_POINTER(1)); goto x; case ACT_QUIT: exit_prog(GINT_TO_POINTER(ev->x == KBD_CTRL_C)); goto x; case ACT_NEXT_SUBWIN: /* dbg("send_event: next subwin\n");*/ sw_totop_next(1, 0); if (gses->focused){ sw_set_focus(); il_unset_focus(INPUTLN(aband)); }else{ sw_unset_focus(); il_set_focus(INPUTLN(aband)); } redraw_later(); goto x; case ACT_PREV_SUBWIN: /* dbg("send_event: next subwin\n");*/ sw_totop_next(-1, 0); if (gses->focused){ sw_set_focus(); il_unset_focus(INPUTLN(aband)); }else{ sw_unset_focus(); il_set_focus(INPUTLN(aband)); } redraw_later(); goto x; case ACT_UP: /* dbg("send_event: focus\n");*/ /* if (!ctest || !aband) goto x; */ if (gses->ontop->type!=SWT_QSOS || (aband && aband->qsos->len) || (ctest && gses->ontop->allqsos && ctest->allqsos->len)){ /*dbg("focusing...\n"); */ if (gses->ontop->type == SWT_QSOS && aband){ struct subwin *sw = gses->ontop; gses->ontop->cur = QSOS_LEN; //gses->ontop->check_bounds(gses->ontop); } il_unset_focus(INPUTLN(aband)); sw_set_focus(); redraw_later(); } goto x; case ACT_ESC: case ACT_RX: /*dbg("send_event: esc\n");*/ esc(); goto x; case ACT_RXTX: case ACT_TOGGLE_SPLIT_VFO: preferred_func(ev); break; case ACT_MODE: gses->tx = 0; /*cwdaemon_abort(cwda);*/ cq_abort(0); peer_tx(aband, 0); if (get_mode() == MOD_CW_CW) { set_mode(MOD_SSB_SSB); if (!ctest){ default_rst_to_tmpqsos(aband); redraw_later(); break; } if (strcmp(cfg->default_rst, TMPQ.rsts)==0){ default_rst_to_tmpqsos(aband); }else{ zg_free0(aband->tmpqsos[1].rsts); aband->tmpqsos[1].rsts=g_strdup("SSB"); } redraw_later(); break; } if (get_mode() == MOD_SSB_SSB){ set_mode(MOD_CW_CW); if (!ctest){ default_rst_to_tmpqsos(aband); redraw_later(); break; } if (strcmp(cfg->default_rs, TMPQ.rsts)==0){ default_rst_to_tmpqsos(aband); }else{ zg_free0(aband->tmpqsos[1].rsts); aband->tmpqsos[1].rsts=g_strdup("CW"); } redraw_later(); break; } case ACT_CQ_0: if (can_cq(aband)) cq_run_by_number(0); break; case ACT_CQ_1: if (can_cq(aband)) cq_run_by_number(1); break; case ACT_CQ_2: if (can_cq(aband)) cq_run_by_number(2); break; case ACT_CQ_3: if (can_cq(aband)) cq_run_by_number(3); break; case ACT_CQ_4: if (can_cq(aband)) cq_run_by_number(4); break; case ACT_CQ_5: if (can_cq(aband)) cq_run_by_number(5); break; case ACT_PAGE_UP: cwdaemon_qrq(cwda, 2); redraw_later(); break; case ACT_PAGE_DOWN: cwdaemon_qrs(cwda, 2); redraw_later(); break; case ACT_CLEAR_TMPQSOS: /* dbg("clear_tmpqsos\n");*/ if (!ctest || !aband || aband->readonly) goto x; clear_tmpqsos(aband, 1); add_swap(aband, "CLR"); map_clear_qso(&aband->tmplocqso, aband); redraw_later(); goto x; case ACT_CLEAR_TMPQSOS_INPUTLINE: clear_tmpqsos_inputline(); goto x; case ACT_CONFIRM_CALL: if (confirm_call()) goto x; break; case ACT_CONFIRM_EXC: if (confirm_exc()) goto x; break; case ACT_CONFIRM_WWL: if (confirm_wwl()) goto x; break; case ACT_SWAP_CALL: if (!ctest || !aband) goto x; if (aband->tmpqsos[0].callsign && aband->tmpqsos[1].callsign){ int susp; gchar *c; c = aband->tmpqsos[0].callsign; aband->tmpqsos[0].callsign = aband->tmpqsos[1].callsign; aband->tmpqsos[1].callsign = c; c = aband->tmpqsos[0].name; aband->tmpqsos[0].name = aband->tmpqsos[1].name; aband->tmpqsos[1].name = c; add_tmpxchg(aband, aband->tmpqsos[0].callsign); if ((susp=get_susp_call(cw, dw, aband->tmpqsos[0].callsign, aband->tmpqsos[0].locator))!=0){ aband->tmpqsos[0].suspcallsign = susp; }else{ aband->tmpqsos[0].suspcallsign = 0; aband->tmpqsos[0].susplocator = 0; } wkd_tmpqso(aband, WT_CALLSIGN, TMPQ.callsign); #ifdef HAVE_SNDFILE gssbd->code++; #endif redraw_later(); } break; case ACT_SWAP_WWL: if (!ctest || !aband) goto x; if (aband->tmpqsos[0].locator && aband->tmpqsos[1].locator){ int susp; gchar *c; gdouble qrb; gint qtf; map_clear_qso(&aband->tmplocqso, aband); c = aband->tmpqsos[0].locator; aband->tmpqsos[0].locator = aband->tmpqsos[1].locator; aband->tmpqsos[1].locator = c; add_tmpxchg(aband, aband->tmpqsos[0].locator); qrb = aband->tmpqsos[0].qrb; aband->tmpqsos[0].qrb = aband->tmpqsos[1].qrb; aband->tmpqsos[1].qrb = qrb; qtf = aband->tmpqsos[0].qtf; aband->tmpqsos[0].qtf = aband->tmpqsos[1].qtf; aband->tmpqsos[1].qtf = qtf; if ((susp=get_susp(cw, dw, aband->tmpqsos[0].callsign, aband->tmpqsos[0].locator, 1))!=0){ aband->tmpqsos[0].susplocator = susp & 0xff; aband->tmpqsos[0].suspcallsign = susp >> 8; }else{ aband->tmpqsos[0].susplocator = 0; aband->tmpqsos[0].suspcallsign = 0; } wkd_tmpqso(aband, WT_LOCATOR, TMPQ.locator); zg_free0(aband->tmplocqso.locator); aband->tmplocqso.locator=g_strdup(TMPQ.locator); compute_qrbqtf(&aband->tmplocqso); map_add_qso(&aband->tmplocqso, aband); #ifdef HAVE_SNDFILE gssbd->code++; #endif redraw_later(); } break; case ACT_SAVE_ALL: save_all_bands_txt(0); break; case ACT_CHOP: if (!ctest) break; menu_chop(NULL); break; case ACT_CALLINFO: call_info(NULL); break; case ACT_SKED: if (!ctest || !aband) break; if ((!TMPQ.callsign || !strlen(TMPQ.callsign)) && aband->qsos->len>0){ sked_from_qso((struct qso *)g_ptr_array_index(aband->qsos, aband->qsos->len-1)); }else{ sked_from_tmpqso(&(aband->tmpqsos[0])); } break; case ACT_SKED_QRG: if (!ctest) break; menu_skedqrg(NULL); break; case ACT_UNFINISHED: if (!ctest || !aband) break; if (!TMPQ.callsign && !TMPQ.locator) break; menu_unfinished(NULL); goto x; case ACT_PLAY_LAST: if (gses->focused) break; #if defined(HAVE_SNDFILE) ssbd_play_last_sample(gssbd, NULL); // player_play("/home/ja/tucnak/cq/OK1ZIA_OK1ZIA.wav"); #endif break; case ACT_SEEK_A: ac_track(gacs, NULL, -10); if (!ctest || !aband) goto x; if (TMPQ.locator) rot_seek(get_rotar(0), TMPQ.qtf, -90); break; case ACT_SEEK_B: ac_track(gacs, NULL, -10); if (!ctest || !aband) goto x; if (TMPQ.locator) rot_seek(get_rotar(1), TMPQ.qtf, -90); break; case ACT_GRAB_BAND: menu_grabband(NULL); break; case ACT_ROTAR: menu_rotar(NULL); break; case ACT_RUNMODE: if (!ctest) break; runmode(!ctest->runmode); redraw_later(); break; case ACT_TUNE: if (get_mode() != MOD_CW_CW) break; gses->tune++; if (gses->tune == 3) gses->tune = 0; cwdaemon_tune(cwda, gses->tune); break; case ACT_AC_CQ: ac_cq(); break; #ifdef Z_HAVE_SDL case ACT_ZOOMIN: tsdl_change_font('+'); break; case ACT_ZOOMOUT: tsdl_change_font('-'); break; case ACT_ZOOM0: if (cfg->fontheight == 16) break; cfg->fontheight = 16; sdl_setvideomode(sdl->screen->w, sdl->screen->h, 0); resize_terminal(NULL); break; case ACT_FULLSCREEN: cfg->fullscreen = !cfg->fullscreen; #ifdef Z_HAVE_SDL1 sdl_setvideomode(sdl->window_w, sdl->window_h, 0); #endif #ifdef Z_HAVE_SDL2 SDL_SetWindowFullscreen(zsdl->window, cfg->fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0); #endif resize_terminal(NULL); break; case ACT_MAXIMIZE: zsdl_maximize(zsdl, 2); break; case ACT_AC_INFO: g_free(gses->callunder); if (!aband) break; gses->callunder = g_strdup(TMPQ.callsign); if (!gses->callunder || !*gses->callunder) break; fifo_kst_ac_info(NULL, NULL); break; #endif case ACT_OPEN_NET: if (ctest) break; menu_discover_peers3(open_from_net3, NULL); break; default: /*if (ev->x == KBD_CTRL_C) goto quit;*/ if (ev->y & KBD_ALT) { struct window *m; if (ev->x>='0' && ev->x<='9'){ int a = ev->x - '0'; if (a==0) a=10; if (sw_set_ontop(a-1, 0)){ if (!gses->focused/* || (gses->ontop && gses->ontop->type == SWT_QSOS)*/){ sw_unset_focus(); il_set_focus(INPUTLN(aband)); }else{ sw_set_focus(); il_unset_focus(INPUTLN(aband)); } redraw_later(); } goto x; } #if 0 if (ctest && z_char_uc(ev->x)=='L'){ /* printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"); g_thXXXXread_create(delay_func, NULL, TRUE, NULL); */ log_adds("---dump request---"); trace(cfg->trace_qsos, "---dump request---"); dump_all_sources(ctest); } #endif ev->y &= ~KBD_ALT; activate_bfu_technology(-1); m = term->windows.next; m->handler(m, ev, 0); if (term->windows.next == m) { delete_window(m); } else goto x; ev->y &= ~KBD_ALT; } if (ev->y & KBD_CTRL){ char bandchar; struct band *b; if (ev->x>='0' && ev->x<='9'){ int a = ev->x - '0'; /* if (a==0) a=10; Ctrl+0 means subwin 10 */ a+=10; if (sw_set_ontop(a-1, 0)){ if (!gses->focused /*|| (gses->ontop && gses->ontop->type == SWT_QSOS)*/){ sw_unset_focus(); il_set_focus(INPUTLN(aband)); }else{ sw_set_focus(); il_unset_focus(INPUTLN(aband)); } redraw_later(); } goto x; } if (!ctest || !aband) goto x; bandchar=z_char_lc((char)ev->x); b=find_band_by_bandchar(bandchar); activate_band(b); break; } } } if (ev->ev == EV_MOUSE) { int y, hit = 0, spypeers; /* dbg("mouse event x=%d y=%d b=%d\n", ev->x, ev->y, ev->b); */ /* menu */ if (ev->y == 0 && (ev->b & BM_ACT) == B_DOWN) hit = 1; else if (cfg->usetouch && ev->y == 1 && (ev->b & BM_ACT) == B_DOWN) hit = 1; if (hit){ struct window *m; ev->y = 0; activate_bfu_technology(-1); m = term->windows.next; m->handler(m, ev, 0); goto x; } /* locator */ #ifdef Z_ANDROID if ((ev->b & B_CLICK) && ev->y == 2 && ev->x >= 3 && ev->x < term->x-QSONR_WIDTH-BAND_WIDTH){ zandroid_update_location(); redraw_later(); } #endif /* input line */ y = term->y - 1 - cfg->loglines; if (ctest && aband && !ctest->oldcontest) y -= ctest->spypeers->len; hit = 0; //if (ev->y==y && (ev->b & ~B_MOVE) !=0) hit = 1; if (ev->y==y && (ev->b & B_CLICK) !=0) hit = 1; else if (cfg->usetouch && (ev->y == y-1 || ev->y == y+1) && (ev->b & B_CLICK) !=0) hit = 1; if (hit){ struct inputln *il = INPUTLN(aband); //dbg("EV_MOUSE([%d,%d,%d,%d])\n",ev->ev,ev->x,ev->y,ev->b); sw_unset_focus(); il_set_focus(il); if (ev->x >= il->x + il->l + 2){ clear_tmpqsos_inputline(); }else{ inputln_func(il, ev); } redraw_later(); } /* subwin tabs */ if (gses && (ev->b & BM_ACT) == B_DOWN){ int i; struct subwin *sw; if (cfg->splitheight > 0){ if (ev->y == QSONR_HEIGHT - 1){ for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index( gses->subwins, i); if (ev->x >= sw->titl1 && ev->x <= sw->titl2){ sw_set_ontop(i, 1); redraw_later(); break; } } } if (ev->y == gses->y1 - 1){ for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index( gses->subwins, i); if (ev->x >= sw->titl1 && ev->x <= sw->titl2){ sw_set_ontop(i, 0); redraw_later(); break; } } } }else{ hit = 0; if (ev->y == QSONR_HEIGHT - 1) hit = 1; else if (cfg->usetouch && ev->y == QSONR_HEIGHT - 2) hit = 1; if (hit){ //dbg("mouse: x=%d y=%d\n", ev->x, ev->y); for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index( gses->subwins, i); if (ev->x >= sw->titl1 && ev->x <= sw->titl2){ if (sw_set_ontop(i, 0)){ if (!gses->focused /*|| (gses->ontop && gses->ontop->type == SWT_QSOS)*/){ sw_unset_focus(); il_set_focus(INPUTLN(aband)); }else{ sw_set_focus(); il_unset_focus(INPUTLN(aband)); } } redraw_later(); break; } } } } } if (gses && ev->b == B_RIGHT && ev->y == QSONR_HEIGHT - 1){ set_window_ptr(gses->win, gses->ontop->titl1, ev->y + 1); subwins_menu(send_event); } /* confirm call/loc */ spypeers = 0; if (ctest && !ctest->oldcontest) spypeers = ctest->spypeers->len; if (ev->b == B_LEFT && ev->x >= 0 && ev->x < 76){ // preselect before entering loop for (i = -1; i <= DISP_QSOS; i++){ int cfmy; cfmy = term->y - cfg->loglines - spypeers - DISP_QSOS + i - 1; if (ev->y != cfmy) continue; if (ev->x >= 18 && ev->x < 32){ confirm_call(); goto x; } if (ev->x >=50 && ev->x < 55){ confirm_exc(); goto x; } if (ev->x >=55 && ev->x <= 60){ confirm_wwl(); goto x; } } } /* context menu call */ if (ev->b == B_RIGHT && ev->x >= 18 && ev->x < 32){ for (i = -1; i <= DISP_QSOS; i++){ int cfmy; cfmy = term->y - cfg->loglines - spypeers - DISP_QSOS + i - 1; if (ev->y != cfmy) continue; if (ev->x >= 18 && ev->x < 32){ g_free(gses->callunder); gses->callunder = g_strdup(aband->tmpqsos[i].callsign); if (!gses->callunder) goto x; call_ctx_menu(ev->x, ev->y); goto x; } } } /* subwin */ if (gses && ev->y >= gses->ontop->y && ev->y < gses->ontop->y+gses->ontop->hh){ sw_default_func(gses->ontop,ev,1); } /* glog */ if (ev->b == B_RIGHT){ if (gses && ev->y >= term->y - cfg->loglines){ g_free(gses->callunder); int y2 = ev->y - term->y + cfg->loglines; gses->callunder = fifo_call_under(glog, ev->x, y2); if (!gses->callunder) return; call_ctx_menu(ev->x, ev->y); } } } x:; return; } void call_ctx_menu(int evx, int evy){ int items = 0; struct menu_item *mi = NULL; int y = evy - term->y + cfg->loglines; mi = new_menu(1); mi->rtext = gses->callunder; add_to_menu(&mi, CTEXT(T_MESSAGE), "", CTEXT(T_HK_MESSAGE), fifo_message, NULL, 0); items++; add_to_menu(&mi, CTEXT(T_INFO), "", CTEXT(T_HK_INFO), fifo_kst_info, NULL, 0); items++; #ifdef Z_HAVE_SDL if (gacs) { add_to_menu(&mi, CTEXT(T_AC_INFO), "", CTEXT(T_HK_AC_INFO), fifo_kst_ac_info, NULL, 0); items++; } #endif y = evy - 1; if (cfg->usetouch) y = evy - items - 1; set_window_ptr(gses->win, evx - 3, y); do_menu(mi, NULL); } void draw_root_window(){ gchar *c; int i, a, y; char dtime[6]; char s[1000], ss[500]; int spypeers=0; struct rotar *rot; char degree; char exc[MAX_EXC_LEN+1]; struct inputln *il; degree=' '; #if defined(Z_HAVE_SDL) && !defined(Z_ANDROID) //if (sdl) degree='°'; if (sdl) degree=0xb0; #endif /* dbg("draw_root_window\n");*/ fill_area(0,0,term->x,term->y,COL_BG); if (ctest && ctest->tname && *ctest->tname){ char s[256]; strcpy(s," Tucnak "VERSION_STRING); print_text(1,0,-1,ctest->tname,COL_NORM); print_text(term->x-QSONR_WIDTH-strlen(s)-2,0,-1,s,COL_NORM); }else{ print_text(0,0,-1," The ultimate contestlog - necessary as known ver. "VERSION,COL_NORM); } log_draw(glog); if (ctest && !ctest->oldcontest) spypeers=ctest->spypeers->len; draw_frame(0,ORIG_Y,term->x-QSONR_WIDTH-BAND_WIDTH,3,COL_NORM,1); draw_frame(0,ORIG_Y+2,term->x-QSONR_WIDTH-BAND_WIDTH,4,COL_NORM,1); draw_frame(term->x-QSONR_WIDTH-BAND_WIDTH-1,ORIG_Y,BAND_WIDTH+1,QSONR_HEIGHT-1,COL_NORM,1); draw_frame(term->x-QSONR_WIDTH-1,0,QSONR_WIDTH+1,QSONR_HEIGHT,COL_NORM,1); draw_frame(0,QSONR_HEIGHT-1,term->x,term->y-QSONR_HEIGHT-2-cfg->loglines-spypeers,COL_NORM,1); #ifdef HAVE_SNDFILE if (gses && gssbd && gses->icon == gssbd->recicon && term->last_screen != NULL){ int x, y; x=term->x-1; for (y=0;y<6;y++) { term->last_screen[x+term->x*y]=0; // set_char(x, y, '1' + COL_NORM); // term->screen[x+term->x*y]='1'; } // dbg(" gses->volume "); } #endif set_only_char(term->x-QSONR_WIDTH-BAND_WIDTH-1,ORIG_Y,FRAME_RDL); set_only_char(term->x-QSONR_WIDTH-1,ORIG_Y,FRAME_UDL); set_only_char(0,ORIG_Y+2,FRAME_URD); set_only_char(term->x-QSONR_WIDTH-BAND_WIDTH-1,ORIG_Y+2,FRAME_UDL); set_only_char(0,QSONR_HEIGHT-1,FRAME_URD); set_only_char(term->x-QSONR_WIDTH-1,QSONR_HEIGHT-1,FRAME_URL); set_only_char(term->x-QSONR_WIDTH-BAND_WIDTH-1,QSONR_HEIGHT-1,FRAME_URL); set_only_char(term->x-1,QSONR_HEIGHT-1,FRAME_UDL); if (cfg->splitheight > 0){ y = gses->y1 - 1; set_only_char(0, y, FRAME_URD); for (i = 1; i < term->x - 1; i++) set_only_char(i, y, FRAME_RL); set_only_char(term->x - 1, y, FRAME_UDL); } print_text(11,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_QTR),COL_NORM); print_text(19,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_QRA),COL_NORM); print_text(31,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_RST),COL_NORM); if (ctest && ctest->excused>0) print_text(49,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_EXC),COL_NORM); if (ctest && ctest->wwlused>0) print_text(54,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_QTH),COL_NORM); print_text(62,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_QRB),COL_NORM); print_text(74,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_FLG),COL_NORM); print_text(80,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_OPE),COL_NORM); print_text(88,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_SES_REM),COL_NORM); if (can_cq(aband)){ if (gses && gses->last_cq && gses->last_cq->mode!=MOD_NONE){ if (gses->last_cq->mode==MOD_CW_CW) sprintf(s, " CW%d", gses->last_cq->nr); else sprintf(s, "SSB%d", gses->last_cq->nr); }else{ if (gses->tx) strcpy(s, " TX"); else strcpy(s, " rx"); } }else{ strcpy(s, "LOCK"); } print_text(15,term->y-1-cfg->loglines-spypeers,-1,s,COL_NORM); if (cwda){ char *run = ""; if (ctest) run = ctest->runmode ? "Run" : "S&P"; c = g_strdup_printf(VTEXT(T_SES_WPM), cwda->speed, cwda->weight, run); print_text(term->x-QSONR_WIDTH-BAND_WIDTH,ORIG_Y+1,BAND_WIDTH-1, c, COL_NORM); g_free(c); } rot=get_rotar(0); if (rot){ if (rot->desc && *rot->desc) g_strlcpy(ss, rot->desc, 5); else strcpy(ss, "RotA"); sprintf(s,"%4s: %3d%c%+d%c",ss, rot->qtf, degree, rot->elev, degree); print_text(term->x-QSONR_WIDTH-BAND_WIDTH,ORIG_Y+2,BAND_WIDTH-1, s, COL_NORM); } rot=get_rotar(1); if (rot){ if (rot->desc && *rot->desc) g_strlcpy(ss, rot->desc, 5); else strcpy(ss, "RotB"); sprintf(s,"%4s: %3d%c%+d%c",ss, rot->qtf, degree, rot->elev, degree); print_text(term->x-QSONR_WIDTH-BAND_WIDTH,ORIG_Y+3,BAND_WIDTH-1, s, COL_NORM); } #ifdef HAVE_HAMLIB // trig->qrg = 10368120000.0; if (gtrigs != NULL && gtrigs->trigs->len > 0 /*&& trig->thread*/){ if (gtrigs->rigerr == RIG_OK){ z_qrg_format(s, sizeof(s), gtrigs->qrg); if (gtrigs->rit >= 100) strcat(s, "+"); else if (gtrigs->rit <= -100) strcat(s, "-"); else strcat(s, " "); #ifdef Z_HAVE_SDL if (sdl && rotars->len < 2) { print_text(term->x-QSONR_WIDTH-BAND_WIDTH+14-strlen(s),ORIG_Y+4-1,BAND_WIDTH-1, s, COL_NORM | (DOUBLEHT_MASK << 15)); // to redraw also upper line print_text(term->x-QSONR_WIDTH-BAND_WIDTH+14-strlen(s),ORIG_Y+4,BAND_WIDTH-1, s, COL_NORM | (DOUBLEHB_MASK << 15)); } else #endif { print_text(term->x-QSONR_WIDTH-BAND_WIDTH+14-strlen(s),ORIG_Y+4,BAND_WIDTH-1, s, COL_NORM); } }else{ /*struct trig *trig = (struct trig *)g_ptr_array_index(gtrigs->trigs, 0); enum rig_errcode_e error; // thread error = (enum rig_errcode_e)trig->rigerr; if (error != RIG_OK) print_text(term->x-QSONR_WIDTH-BAND_WIDTH,ORIG_Y+4,BAND_WIDTH-1, trig_short_errstr(error), COL_NORM); */ if (gtrigs->rigerr != RIG_OK) print_text(term->x-QSONR_WIDTH-BAND_WIDTH,ORIG_Y+4,BAND_WIDTH-1, trig_short_errstr((enum rig_errcode_e)gtrigs->rigerr), COL_NORM); } }else{ if (gtrigs != NULL && gtrigs->rigerr != RIG_OK) print_text(term->x-QSONR_WIDTH-BAND_WIDTH,ORIG_Y+4,BAND_WIDTH-1, trig_short_errstr((enum rig_errcode_e)gtrigs->rigerr), COL_INV); } #endif if (aband){ if (aband->ctrlstate==CTRL_REQR){ print_text(19,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1, VTEXT(T_QSO_REQ_FROM_SP), COL_INV); } if (aband->ctrlstate==CTRL_REQS){ print_text(19,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1, VTEXT(T_QSO_REQ_SENT), COL_INV); } if (aband->ctrlstate==CTRL_RUNNING){ print_text(19,term->y-ORIG_Y-2-cfg->loglines-spypeers-1,-1,VTEXT(T_GO),COL_INV); } g_snprintf(s, 98, " %s %s (%s) ", ctest->pcall, ctest->pwwlo, aband->operator_); z_str_uc(s); print_text(4,ORIG_Y,97,s,COL_NORM); //if (ctest->total_method == 3) if (ctest->qsoglob) draw_bigdigit(term->x-20+2,1,ctest->allqsos->len+1); //draw_bigdigit(term->x-20+2,1,ctest->allb_nqsos+1); else draw_bigdigit(term->x-20+2,1,aband->qsos->len+1); redraw_stats(aband); c=g_strconcat(aband->bandname,":", NULL); #ifdef Z_HAVE_SDL if (sdl && !aband->unres && !aband->tmpqsos[1].date_str && !aband->tmpqsos[1].time_str) { print_text(14-strlen(c),term->y-2-cfg->loglines-spypeers,-1,c,COL_NORM | (DOUBLEHT_MASK << 15)); print_text(14-strlen(c),term->y-1-cfg->loglines-spypeers,-1,c,COL_NORM | (DOUBLEHB_MASK << 15)); } else #endif { print_text(14-strlen(c),term->y-1-cfg->loglines-spypeers,-1,c,COL_NORM); } g_free(c); for (i=0;ispypeers, i); if (sp == NULL) continue; // OZ1CT crash s[0]=sp->bandchar; s[1]=':'; s[2]='\0'; print_text(0,term->y-cfg->loglines-spypeers+i,-1,s,COL_NORM); c=sp->operator_; if (c) print_text(2,term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); strcpy(s,""); if (sp->peertx==0) strcpy(s, "rx"); if (sp->peertx==1) strcpy(s, "tx"); if (sp->peertx==2) strcpy(s, "cq"); print_text(15,term->y-cfg->loglines-spypeers+i,-1,s,COL_NORM); c=sp->callsign; if (c) print_text(18,term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); c=sp->rsts; if (c) print_text(36-strlen(c),term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); c=sp->qsonrs; if (c) print_text(40-strlen(c),term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); c=sp->rstr; if (c) print_text(45-strlen(c),term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); c=sp->qsonrr; if (c) print_text(49-strlen(c),term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); if (sp->exc) { safe_strncpy0(exc, sp->exc, 11+1); print_text(50-strlen(exc),term->y-cfg->loglines-spypeers+i,-1,exc,COL_NORM); } c=sp->locator; if (c) print_text(55,term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); c=sp->inputline; if (c) print_text(62,term->y-cfg->loglines-spypeers+i,-1,c,COL_NORM); } if (aband->qrv_str){ // must show also for dupe int x, i, qy; x = 0; qy = term->y - cfg->loglines; c = g_strdup_printf(VTEXT(T_QRV_ON_S), ""); fill_area(0, qy, term->x,1,COL_BG); print_text(0,qy, term->x, c,COL_NORM); x += strlen(c); g_free(c); for (i = 0; i < ctest->bands->len; i++){ struct band *b; int color = COL_NORM; struct config_band *confb; b = (struct band*)g_ptr_array_index(ctest->bands, i); if (b == aband) continue; if (strchr(aband->qrv_str, z_char_lc(b->bandchar))) color = COL_DARKYELLOW; if (strchr(aband->qrv_str, z_char_uc(b->bandchar))) color = COL_YELLOW; confb = get_config_band_by_bandchar(b->bandchar); c = confb->adifband; if (b->qrg_min > 20000000) c = confb->cbrband; print_text(x, qy, -1, c, color); x += strlen(c) + 1; } } for (i=0;idupe_qso != NULL){ struct qso *q = aband->dupe_qso; print_text(3,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->date_str,COL_INV); dtime[0]=q->time_str[0]; dtime[1]=q->time_str[1]; dtime[2]=':'; dtime[3]=q->time_str[2]; dtime[4]=q->time_str[3]; dtime[5]='\0'; print_text(17-strlen(dtime),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,dtime,COL_INV); stats_valid_key_display(s, q->callsign, q->locator, q->phase, q->mode); print_text(18,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1, s, COL_INV); print_text(36-strlen(q->rsts),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->rsts,COL_INV); print_text(40-strlen(q->qsonrs),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->qsonrs,COL_INV); print_text(45-strlen(q->rstr),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->rstr,COL_INV); print_text(49-strlen(q->qsonrr),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->qsonrr,COL_INV); print_text(55,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->locator,COL_INV); safe_strncpy0(exc, q->exc, 11+1); print_text(50,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,exc,COL_INV); if ((int)q->qrb<100000) c=g_strdup_printf("%dkm",(int)q->qrb); else c=g_strdup_printf("%d",(int)q->qrb); print_text(70-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_INV); g_free(c); if (q->qtf>=0) { c=g_strdup_printf("%d%c",q->qtf, degree); print_text(75-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_INV); g_free(c); /*c=g_strdup_printf("(%d)",((int)q->qtf+180)%360); print_text(75,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_INV); g_free(c); */ } print_text(81,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->operator_,COL_INV); print_text(89,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,q->remark,COL_INV); continue; /* don't draw normal QSO in line 0 */ } c=aband->tmpqsos[i].date_str; if (c) print_text(3,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_NORM); c=aband->tmpqsos[i].time_str; if (c) { dtime[0]=c[0]; dtime[1]=c[1]; dtime[2]=':'; dtime[3]=c[2]; dtime[4]=c[3]; dtime[5]='\0'; print_text(17-strlen(dtime),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,dtime,COL_NORM); } c=aband->tmpqsos[i].callsign; if (c) { char *susp_c/*,*unkcall*/; /* if (aband->tmpqsos[i].unkcall) unkcall="n"; else unkcall=" "; print_text(16,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1, unkcall, COL_NORM); */ switch (aband->tmpqsos[i].suspcallsign){ case 1: susp_c="?"; break; case 2: susp_c="!"; break; default: susp_c=" "; break; } print_text(17,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1, susp_c, COL_RED); print_text(18,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c, aband->tmpqsos[i].ucallsign?COL_NORM:COL_INV); if (aband->tmpqsos[i].unkcall){ int x; x=18+1+strlen(c); print_text(x, term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,32-x, VTEXT(T_NEW_CALL), aband->tmpqsos[i].ucallsign?COL_NORM:COL_INV); }else{ if (aband->tmpqsos[i].name){ int x; x=18+1+strlen(c); print_text(x, term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,32-x, aband->tmpqsos[i].name, aband->tmpqsos[i].ucallsign?COL_NORM:COL_INV); } } } c=aband->tmpqsos[i].rsts; if (c) print_text(36-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_NORM); if (ctest->qsoglob){ if (i==0) g_snprintf(s, sizeof(s), "%03d", ctest->allqsos->len+1); else strcpy(s, ""); c=s; }else{ c=aband->tmpqsos[i].qsonrs; } if (c) print_text(40-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_NORM); c=aband->tmpqsos[i].rstr; if (c) print_text(45-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_NORM); c=aband->tmpqsos[i].qsonrr; if (c) print_text(49-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_NORM); c=aband->tmpqsos[i].exc; if (c) { safe_strncpy(exc, c, 11+1); print_text(50,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,exc, aband->tmpqsos[i].uexc?COL_NORM:COL_INV); } c=aband->tmpqsos[i].locator; if (c) { char *susp_c; switch (aband->tmpqsos[i].susplocator){ case 1: susp_c="?"; break; case 2: susp_c="!"; break; default: susp_c=" "; break; } print_text(55,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c, aband->tmpqsos[i].ulocator?COL_NORM:COL_INV); print_text(62,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1, susp_c, COL_RED); } a=(int)aband->tmpqsos[i].qrb; if (aband->tmpqsos[i].locator && *aband->tmpqsos[i].locator) { if (a<100000) c=g_strdup_printf("%dkm",a); else c=g_strdup_printf("%d",a); print_text(70-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c, aband->tmpqsos[i].uqrb?COL_NORM:COL_INV); g_free(c); } a=aband->tmpqsos[i].qtf; if (a>=0) { c=g_strdup_printf("%d%c",a, degree); print_text(75-strlen(c),term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c, aband->tmpqsos[i].uqtf?COL_NORM:COL_INV); g_free(c); /* c=g_strdup_printf("(%d)",(a+180)%360); print_text(75,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c, aband->tmpqsos[i].uqtf?COL_NORM:COL_INV); g_free(c); */ } if (i==0 && aband->tmpqsos[0].qsl){ print_text(79,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,"q",COL_NORM); } c=aband->operator_; if (i==0 && c) print_text(81,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_NORM); c=aband->tmpqsos[i].remark; if (c) print_text(89,term->y-cfg->loglines-spypeers-DISP_QSOS+i-1,-1,c,COL_NORM); } if (aband->unres) { int x; const int QRA_X=17; c=aband->unres; x=QRA_X-strlen(c); if (x<0) x=0; fill_area(0,term->y-2-cfg->loglines-spypeers, QRA_X,1,COL_BG); print_text(x,term->y-2-cfg->loglines-spypeers, QRA_X, c,COL_INV); } if (aband->wkd_str && aband->tmpqsos[1].callsign == NULL){ const int QRA_X=17; c = aband->wkd_str; print_text(QRA_X+1,term->y-2-cfg->loglines-spypeers, QRA_X, c,COL_NORM); } }else{ strcpy(s,mode_msg[get_mode()]); print_text(36-strlen(s),term->y-cfg->loglines-spypeers-DISP_QSOS-1,-1,s,COL_NORM); #ifdef Z_ANDROID if (!aband){ double h, w; int state; char ss[20], *st; //SDL_ANDROID_GetHW(&h, &w, &state); zandroid_get_location(&h, &w, &state); if (h > -1000 && h < 1000){ switch (state){ case 0: st = "..."; break; case 1: st = ""; break; case 2: st = "?"; break; default: st = "??"; break; } hw2loc(ss, h, w, 10); g_snprintf(s, 98, "%s%s", ss, st); print_text(3, 2,97,s,COL_NORM); } else{ print_text(3, 2,97, VTEXT(T_LOCATION_UNKNOWN),COL_NORM); } } #endif } il = INPUTLN(aband); c = aband ? "[ CLR ]" : "[ LOAD ]"; print_text(il->x + il->l + 4, term->y - 1 - cfg->loglines - spypeers, -1, c, COL_INV); /* sw_default_redraw(g_ptr_array_index(ses->subwins,0));*/ draw_time(); #if 0 else { c = VTEXT(T_SES_WELCOME); print_text((term->x-strlen(c))/2, term->y/2-3, -1, c, COL_NORM); c = VTEXT(T_SES_PRESS_F10); print_text((term->x-strlen(c))/2, term->y/2-1, -1, c, COL_NORM); c = VTEXT(T_SES_HAVE_FUN); print_text((term->x-strlen(c))/2, term->y/2+0, -1, c, COL_NORM); c = VTEXT(T_SES_URL); print_text((term->x-strlen(c))/2, term->y-5, -1, c, COL_NORM); print_tucnak(term->x-26,(term->y-12)/2-1); #endif #if 0 { int i,j; for (j=0;j<16;j++){ for (i=0;i<16;i++){ unsigned char s[2]; s[0]=i+j*16; /*if (s[0]<32 || s[0]==127 || (s[0]>=128+0 && s[0]<128+32)) s[0]='.';*/ s[1]=0; print_text(i+5,j+3, 1,s, COL((i&7)+j*8)); } print_text(j,2, 1,"X", COL(j)); } } #endif #if 0 } #endif } #define DELIM "\t\r\n " #define FREE_Cx if (c1) {g_free(c1); c1=NULL;}\ if (c2) {g_free(c2); c2=NULL;}\ if (c3) {g_free(c3); c3=NULL;}\ if (c4) {g_free(c4); c4=NULL;}\ if (c5) {g_free(c5); c5=NULL;} void add_tmpqso_rsts(struct band *band, gchar *rsts) { ADD_TMPQSO_STRING(band,rsts,rsts,1,udummy); add_date_time(band); band->last_item = LI_NONE; wkd_tmpqso(band, WT_RSTS, rsts); } void add_tmpqso_rstr(struct band *band, gchar *rstr) { ADD_TMPQSO_STRING(band,rstr,rstr,1,udummy); add_date_time(band); band->last_item = LI_NONE; wkd_tmpqso(band, WT_RSTR, rstr); #ifdef HAVE_SNDFILE gssbd->code++; #endif } int add_tmpqso_qsonrr(struct band *band, gchar *qsonrr){ char s[20]; int n; n=atoi(qsonrr); if (n<1 || n>9999) return -1; g_snprintf(s, 18, "%03d", n); ADD_TMPQSO_STRING(band,qsonrr,s,1,udummy); wkd_tmpqso(band, WT_QSONRR, s); #ifdef HAVE_SNDFILE gssbd->code++; #endif return 0; } void add_tmpqso_exc(struct band *band,gchar *exc,int isu) { char s[20], *c; c = exc; if (ctest->exctype == EXC_WAZ || ctest->exctype == EXC_ITU){ g_snprintf(s, 18, "%02d", atoi(exc)); c = s; } ADD_TMPQSO_STRING(band, exc, c, isu, uexc); if (ctest->rstused!=1) add_date_time(band); band->last_item = LI_NONE; wkd_tmpqso(band, WT_EXC, c); #ifdef HAVE_SNDFILE gssbd->code++; #endif } void add_tmpqso_locator(struct band *band,gchar *wwl,int isu, int isshort) { int qtf_int; double qrb, qtf; char s[8]; /* CHANGE look at recalc_all_qrbqtf */ qrbqtf(ctest->pwwlo, wwl, &qrb, &qtf, NULL, 2); qtf_int=(int)(qtf+0.5); if (qrb < 0.1) { qrb=0; qtf_int=0; } ADD_TMPQSO_GDOUBLE(band, qrb, qrb, isu, uqrb); ADD_TMPQSO_GINT(band, qtf, qtf_int, isu, uqtf); if (isshort) g_strlcpy(s, wwl, 4+1); else g_strlcpy(s, wwl, 6+1); ADD_TMPQSO_STRING(band,locator,s,isu,ulocator); if (ctest->rstused!=1) add_date_time(band); #ifdef HAVE_SNDFILE gssbd->code++; #endif ac_update_tmpctp(band->tmpqsos[0].locator); } void after_callsign(struct band *band,char *c, char *oldtmpqcall){ gchar *wwl0, *wwl1, *wwl2, *name, *d, *exc0, *exc1, *exc2; struct qrv_item *qi; int done=0; char raw[20],raw1[20]; // gchar *qrv_str; int unkcall=1; // struct qrv_item *qi; /*** name ***/ zg_free0(band->tmpqsos[0].name); z_get_raw_call(raw,c); name = find_name_by_call(namedb, raw); if (name){ band->tmpqsos[0].name = g_strdup(name); unkcall=0; } zg_free0(band->tmpqsos[1].name); z_get_raw_call(raw1, band->tmpqsos[1].callsign); name = find_name_by_call(namedb, raw1); if (name){ band->tmpqsos[1].name = g_strdup(name); } /*** qrv string ***/ compute_qrv_wkd(z_str_uc(c)); /*** locator ***/ if (!band->tmpqsos[0].ulocator && ctest->wwlused && ctest->phase > 1){ struct qso *first = get_qso_by_callsign(aband, TMPQ.callsign); if (first != NULL) { add_tmpqso_locator(band, first->locator, 1, 0); done = 1; unkcall = 0; } } if (!done && !band->tmpqsos[0].ulocator && ctest->wwlused){ wwl0 = find_wwl_by_call(cw, z_str_uc(c)); wwl1 = find_wwl_by_call(cw, NULL); wwl2 = find_wwl_by_oband(band, raw); /* yes, raw not c */ qi = qrv_get(qrv, c); if (wwl1) {add_tmpqso_locator(band, wwl1, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (wwl0) {add_tmpqso_locator(band, wwl0, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (wwl2) {add_tmpqso_locator(band, wwl2, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (qi) {add_tmpqso_locator(band, qi->wwl, !ctest->wwlcfm, 0); done=1; unkcall=0;} } /* try remove /p */ if (!done && !band->tmpqsos[0].ulocator && ctest->wwlused){ wwl0 = find_wwl_by_call(cw, z_str_uc(raw)); wwl1 = find_wwl_by_call(cw, NULL); wwl2 = find_wwl_by_oband(band, raw); if (wwl1) {add_tmpqso_locator(band, wwl1, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (wwl0) {add_tmpqso_locator(band, wwl0, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (wwl2) {add_tmpqso_locator(band, wwl2, !ctest->wwlcfm, 0); done=1; unkcall=0;} // no qrv_get, it strips /p itself } /* try add /p */ if (!done && !band->tmpqsos[0].ulocator && ctest->wwlused){ strcat(raw,"/P"); wwl0 = find_wwl_by_call(cw, z_str_uc(raw)); wwl1 = find_wwl_by_call(cw, NULL); wwl2 = find_wwl_by_oband(band, raw); qi = qrv_get(qrv, c); if (wwl1) {add_tmpqso_locator(band, wwl1, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (wwl0) {add_tmpqso_locator(band, wwl0, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (wwl2) {add_tmpqso_locator(band, wwl2, !ctest->wwlcfm, 0); done=1; unkcall=0;} if (qi) {add_tmpqso_locator(band, qi->wwl, !ctest->wwlcfm, 0); done=1; unkcall=0;} } if (!done && !band->tmpqsos[0].ulocator && ctest->wwlused){ wwl0 = find_wwl_by_dxc_or_pref(dw, z_str_uc(c)); wwl1 = find_wwl_by_dxc_or_pref(dw, NULL); if (wwl1) add_tmpqso_locator(band, wwl1, !ctest->wwlcfm, 1); if (wwl0) add_tmpqso_locator(band, wwl0, !ctest->wwlcfm, 1); } if (band->tmpqsos[0].ulocator && ctest->wwlused){ int susp; if ((susp=get_susp_call(cw, dw, band->tmpqsos[0].callsign, band->tmpqsos[0].locator))!=0){ band->tmpqsos[0].suspcallsign = susp; }else{ band->tmpqsos[0].susplocator = 0; band->tmpqsos[0].suspcallsign = 0; } }else{ /* v kazdem pripade se bude kontrolovat susp_call */ int susp; if ((susp=get_susp_call(cw, dw, band->tmpqsos[0].callsign, NULL))!=0){ band->tmpqsos[0].suspcallsign = susp; }else{ band->tmpqsos[0].susplocator = 0; band->tmpqsos[0].suspcallsign = 0; } } /******** EXC *********/ if (!band->tmpqsos[0].uexc && ctest->excused > 0){ exc0 = find_exc_by_call(excdb, z_str_uc(c)); exc1 = find_exc_by_call(excdb, NULL); exc2 = find_exc_by_oband(band, raw); /* yes, raw not c */ if (exc1) {ADD_TMPQSO_STRING(band,exc,exc1,!ctest->exccfm,uexc); done=1; } if (exc0) {ADD_TMPQSO_STRING(band,exc,exc0,!ctest->exccfm,uexc); done=1; } if (exc2) {ADD_TMPQSO_STRING(band,exc,exc2,!ctest->exccfm,uexc); done=1; } } band->tmpqsos[0].unkcall=unkcall; #ifdef HAVE_SNDFILE ssbd_callsign(gssbd, c); #endif wkd_tmpqso(band, WT_CALLSIGN, c); d=TMPQ.locator; map_clear_qso(&aband->tmplocqso, aband); zg_free0(aband->tmplocqso.locator); aband->tmplocqso.locator=g_strdup(d); if (d && *d){ compute_qrbqtf(&aband->tmplocqso); map_add_qso(&aband->tmplocqso, aband); } //dbg("after_call(%d, %d==%d, oldtmpqcall=%s)\n", ctest->runmode, gses->mode, MOD_CW_CW, oldtmpqcall); if (ctest->runmode && gses->mode == MOD_CW_CW && oldtmpqcall == NULL){ if (cfg->cwda_autgive > 0){ // we must omit call struct cq *cq = get_cq_by_number(cfg->cqs, 1); if (!cq){ cq->stripcall = 1; //dbg("%s1: cq_run_by_number(1)\n", __FUNCTION__); cq_run_by_number(1); // 5NN $MX cq->stripcall = 0; } }else{ //dbg("%s2: cq_run_by_number(1)\n", __FUNCTION__); cq_run_by_number(1); // $C 5NN $MX aband->iscall = 1; //dbg("after_call: set iscall=%d\n", aband->iscall); } } if (TMPQ.suspcallsign < 1){ enum suspcall susp; struct qso *qso = g_new0(struct qso, 1); qso->callsign = TMPQ.callsign ? TMPQ.callsign : ""; /* foreign keys */ qso->locator = TMPQ.locator ? TMPQ.locator : ""; qso->rsts = TMPQ.rsts ? TMPQ.rsts : ""; qso->qsonrs = TMPQ.qsonrs ? TMPQ.qsonrs : ""; qso->rstr = TMPQ.rstr ? TMPQ.rstr : ""; qso->qsonrr = TMPQ.qsonrr ? TMPQ.qsonrr : ""; susp = qso_info(qso, NULL, NULL); if (susp == SUSP_WARN && TMPQ.suspcallsign < 1) TMPQ.suspcallsign = 1; if (susp == SUSP_ERR && TMPQ.suspcallsign < 2) TMPQ.suspcallsign = 2; g_free(qso); } } void after_locator(struct band *band,char *c){ gchar *call0, *call1; gchar *dxc0, *dxc1; int done=0; char raw[20], *name; dbg("after_locator('%s')\n", c); if (!band->tmpqsos[0].ucallsign){ call0 = find_call_by_wwl(cw, z_str_uc(c)); call1 = find_call_by_wwl(cw, NULL); if (call1) { ADD_TMPQSO_STRING(band,callsign,call1,0,ucallsign); z_get_raw_call(raw,call1); name = find_name_by_call(namedb, raw); ADD_TMPQSO_STRING(band,name,name,0,udummy); done=1; } if (call0) { ADD_TMPQSO_STRING(band,callsign,call0,0,ucallsign); done=1; z_get_raw_call(raw,call0); name = find_name_by_call(namedb, raw); ADD_TMPQSO_STRING(band,name,name,0,udummy); } } if (!done && !band->tmpqsos[0].ucallsign){ dxc0 = find_dxc_by_wwl(dw, z_str_uc(c)); dxc1 = find_dxc_by_wwl(dw, NULL); if (dxc1) ADD_TMPQSO_STRING(band,callsign,dxc1,0,ucallsign); if (dxc0) ADD_TMPQSO_STRING(band,callsign,dxc0,0,ucallsign); } if (band->tmpqsos[0].ucallsign){ int susp; if ((susp=get_susp(cw, dw, band->tmpqsos[0].callsign, band->tmpqsos[0].locator, 1))!=0){ dbg("susp=%d\n", susp); band->tmpqsos[0].susplocator = susp & 0xff; band->tmpqsos[0].suspcallsign = susp >> 8; }else{ band->tmpqsos[0].suspcallsign = 0; band->tmpqsos[0].susplocator = 0; } } wkd_tmpqso(band, WT_LOCATOR, c); map_clear_qso(&band->tmplocqso, band); zg_free0(band->tmplocqso.locator); band->tmplocqso.locator=g_strdup(c); if (c && *c){ compute_qrbqtf(&band->tmplocqso); map_add_qso(&band->tmplocqso, band); redraw_later(); } ac_update_tmpctp(c); if (ctest->runmode){ // cq_run_by_number(2); // $B TU QRZ process_input(band, "", 0); } if (TMPQ.susplocator < 1){ enum suspcall susp; struct qso *qso = g_new0(struct qso, 1); qso->callsign = TMPQ.callsign ? TMPQ.callsign : ""; /* foreign keys */ qso->locator = TMPQ.locator ? TMPQ.locator : ""; qso->rsts = TMPQ.rsts ? TMPQ.rsts : ""; qso->qsonrs = TMPQ.qsonrs ? TMPQ.qsonrs : ""; qso->rstr = TMPQ.rstr ? TMPQ.rstr : ""; qso->qsonrr = TMPQ.qsonrr ? TMPQ.qsonrr : ""; susp = qso_info(qso, NULL, NULL); if (susp == SUSP_WARN && TMPQ.susplocator < 1) TMPQ.susplocator = 1; if (susp == SUSP_ERR && TMPQ.susplocator < 2) TMPQ.susplocator = 2; g_free(qso); } } void after_exc(struct band *band,char *c){ if (ctest->runmode){ //cq_run_by_number(2); // $B TU QRZ process_input(band, "", 0); } } void after_qsonrr(struct band *band,char *c){ if (ctest->runmode){ //cq_run_by_number(2); // $B TU QRZ process_input(band, "", 0); } } void add_unres(struct band *band, gchar *c){ gchar *tmpc; if (!band->unres){ band->unres=g_strdup(c); return; } tmpc=g_strconcat(band->unres, " ", c, NULL); g_free(band->unres); band->unres=tmpc; } void add_date_time(struct band *band){ char *d; time_t now; struct tm utc; time(&now); gmtime_r(&now, &utc); if (!band->tmpqsos[0].date_str){ d=g_strdup_printf("%4d%02d%02d",1900+utc.tm_year, 1+utc.tm_mon, utc.tm_mday); ADD_TMPQSO_STRING(band,date_str,d,1,udummy); g_free(d); } if (!band->tmpqsos[0].time_str){ d=g_strdup_printf("%02d%02d",utc.tm_hour, utc.tm_min); ADD_TMPQSO_STRING(band,time_str,d,1,udummy); g_free(d); } } void fix_date_time(struct band *band){ struct qso *q; int i; gchar *last,*cur; if (!band->tmpqsos[0].date_str || !band->tmpqsos[0].time_str){ zg_free0(band->tmpqsos[0].date_str); zg_free0(band->tmpqsos[0].time_str); band->tmpqsos[0].date_str=NULL; band->tmpqsos[0].time_str=NULL; return; } /* tmpqso->date/time filled in */ q=NULL; for (i=band->qsos->len-1;i>=0;i--){ q=(struct qso *)g_ptr_array_index(band->qsos, i); if (q->error || q->dupe) { q=NULL; continue; } break; } if (!q) return; last=g_strconcat(q->date_str, q->time_str, NULL); cur=g_strconcat(band->tmpqsos[0].date_str, band->tmpqsos[0].time_str, NULL); if ((i=strcmp(last,cur))>0){ zg_free0(band->tmpqsos[0].date_str); zg_free0(band->tmpqsos[0].time_str); band->tmpqsos[0].date_str=NULL; band->tmpqsos[0].time_str=NULL; return; } /* dbg("last=%s cur=%s ret=%d\n", last, cur, i);*/ g_free(last); g_free(cur); } void process_input_no_contest(void *enterdata, gchar *text, int cq){ char *s,*c; char *c1,*c2,*c3,*c4,*c5; char *token_ptr; c1=c2=c3=c4=c5=NULL; s=g_strdup(text); for (c=strtok_r(s,DELIM, &token_ptr); c!=NULL; c=strtok_r(NULL,DELIM, &token_ptr) ){ /***** QRG ************************************************************/ if (regmatch(c,"\\.([0-9][0-9][0-9])$",&c1,&c2,&c3,&c4,NULL)==0){ #ifdef HAVE_HAMLIB freq_t qrg; int khz; khz = atoi(c2); qrg = gtrigs->qrg; dbg("khz=%d qrg=%f\n", khz, qrg); qrg = floor(qrg/1000000.0) * 1000000.0 + khz * 1000.0; dbg("qrg=%f\n", qrg); trigs_set_qrg(gtrigs, qrg); #endif continue; } FREE_Cx; /***** FULL QRG in kHz ************************************************************/ if (regmatch(c,"\\.([0-9]{4,9})$",&c1,&c2,&c3,&c4,NULL)==0){ #ifdef HAVE_HAMLIB freq_t qrg; int khz; khz = atoi(c2); qrg = khz * 1000.0; dbg("khz=%d qrg=%f\n", khz, qrg); trigs_set_qrg(gtrigs, qrg); #endif continue; } FREE_Cx; if (strlen(c) > 0) call_info(NULL); } FREE_Cx; g_free(s); } void process_input(void *enterdata, char *text, int cq){ char *s,*c; /* struct tmpqsos tq[TMP_QSOS];*/ int num, ret; char *c1,*c2,*c3,*c4,*c5; char *token_ptr; struct band *band = (struct band *)enterdata; int qso_saved = 0; char *oldtmpqcall = NULL; //dbg("process_input('%s', cq=%d)\n", text, cq); c1=c2=c3=c4=c5=NULL; zg_free0(band->unres); /* zg_free0(band->qrv_str);*/ #ifdef HAVE_SNDFILE ssbd_watchdog(gssbd, 1); #endif s=g_strdup(text); num=0; for (c=strtok_r(s,DELIM, &token_ptr); c!=NULL; c=strtok_r(NULL,DELIM, &token_ptr) ){ num++; /* dbg("item='%s'\n",c); */ /* /m /mm dl/ok1mzm/p */ add_tmpxchg(band, c); FREE_Cx; if (ctest->exctype == EXC_VERIFIED){ if (is_valid_vexc(excdb, c)){ add_tmpqso_exc(band,c,1); after_exc(band,c); continue; } } /***** Summit reference ****************************************/ if (ctest->exctype == EXC_FREE){ if (regcmp(c,"^[A-Z0-9]{1,4}/[A-Z]{2}-[0-9]{3}$")==0){ add_tmpqso_exc(band, c, 1); continue; } } /***** LOCATOR *************************************************/ if (regcmp(c,"^[A-R]{2}[0-9]{2}[A-X]{2}$")==0){ if (TMPQ.callsign && !TMPQ.dupe){ struct qso *dupe = stats_get_dupe(band->stats, TMPQ.callsign, TMPQ.locator, ctest->phase, gses->mode); if (dupe != NULL){ band->dupe_qso = dupe; if (!band->ignoreswap){ band->dupe_qso = dupe; compute_qrv_wkd(TMPQ.callsign); duplicate_callsign(dupe); } return; } } add_tmpqso_locator(band,c,1,0); band->last_item = LI_WWL; after_locator(band, c); continue; } FREE_Cx; if (ctest->wwlused == 3 || ctest->wwlused == 4){ // 3=used(4), 4=opt(4) if (regcmp(c,"^[A-R]{2}[0-9]{2}$")==0){ add_tmpqso_locator(band,c,1,1); band->last_item = LI_WWL; after_locator(band, c); continue; } FREE_Cx; } /***** 2-3 digits 111-599 ***********************************************/ if (regmatch(c,"^([1-5][1-9]{1,2})$", &c1, &c2, &c3, NULL)==0){ switch (ctest->tttype){ case TT_RSTS: add_tmpqso_rsts(band, c2); continue; case TT_RSTR: add_tmpqso_rstr(band, c2); continue; case TT_QSONRR: add_tmpqso_qsonrr(band, c2); after_qsonrr(band, c2); continue; case TT_EXC: add_tmpqso_exc(band, c2, 1); after_exc(band,c2); continue; default: add_unres(band, c2); continue; } } FREE_Cx; /***** 2-3 digits 111-599 ***********************************************/ if (regmatch(c,"^([1-5][1-9]{1,2}[ARMS]{0,1})$", &c1, &c2, &c3, NULL)==0){ switch (ctest->tttype){ case TT_RSTS: add_tmpqso_rsts(band, c2); continue; case TT_RSTR: add_tmpqso_rstr(band, c2); continue; case TT_EXC: add_tmpqso_exc(band, c2, 1); after_exc(band,c2); continue; default: add_unres(band, c2); continue; } } FREE_Cx; /***** three numbers ***********************************************/ if (regmatch(c,"^([R1-5][1-9]{1,2})$", &c1, &c2, &c3, NULL)==0){ switch (ctest->tttype){ case TT_RSTS: add_tmpqso_rsts(band, c2); continue; case TT_RSTR: add_tmpqso_rstr(band, c2); continue; case TT_EXC: add_tmpqso_exc(band, c2, 1); after_exc(band,c2); continue; default: add_unres(band, c2); continue; } } FREE_Cx; /***** MS RST ***********************************************/ if (regmatch(c,"^(R?[\\+\\-][0-9]{2})$", &c1, &c2, &c3, NULL)==0){ switch (ctest->tttype){ case TT_RSTS: add_tmpqso_rsts(band, c2); continue; case TT_RSTR: add_tmpqso_rstr(band, c2); continue; case TT_EXC: add_tmpqso_exc(band, c2, 1); after_exc(band,c2); continue; default: add_unres(band, c2); continue; } } FREE_Cx; /***** 2-3 digits 000-999 ***********************************************/ if (regmatch(c,"^([0-9]{1,3})$", &c1, &c2, &c3, NULL)==0){ switch (ctest->tttype){ case TT_NONE: continue; case TT_QSONRR: add_tmpqso_qsonrr(band, c2); after_qsonrr(band, c2); continue; case TT_EXC: add_tmpqso_exc(band, c2, 1); after_exc(band,c2); continue; default: add_unres(band, c2); continue; } } FREE_Cx; /***** four digits QSO nr. ***********************************************/ if (regmatch(c,"^([0-9]{4})$", &c1, &c2, NULL)==0){ add_tmpqso_qsonrr(band, c2); after_qsonrr(band, c2); continue; } FREE_Cx; #if 0 // matched by 2-3 digits or special RST /***** RST *************************************************/ if (regcmp(c,"^[R1-5][1-9]{1,2}[ARMS]{0,2}$")==0){ if (ctest->qsoused){ add_tmpqso_rstr(band, c); }else{ add_tmpqso_rsts(band, c); } continue; } FREE_Cx; #endif /***** RSTR ***********************************************/ if (regmatch(c,"^([R1-5][1-9]{1,2}[ARMS]{0,2}),$", &c1, &c2, &c3, NULL)==0){ add_tmpqso_rstr(band, c2); continue; } FREE_Cx; /***** MS RSTR ***********************************************/ if (regmatch(c,"^(R?[\\+\\-][0-9]{2}),$", &c1, &c2, &c3, NULL)==0){ add_tmpqso_rstr(band, c2); continue; } FREE_Cx; /***** RSTS ***********************************************/ if (regmatch(c,"^([R1-5][X\\+\\-]?[1-9]{1,2}[ARMS]{0,2})['\\*]", &c1, &c2, &c3, NULL)==0){ add_tmpqso_rsts(band, c2); continue; } FREE_Cx; /***** MS RSTS ***********************************************/ if (regmatch(c,"^(R?[\\+\\-][0-9]{2})['\\*]", &c1, &c2, &c3, NULL)==0){ add_tmpqso_rsts(band, c2); continue; } FREE_Cx; /***** QSONRR ***********************************************/ if (regmatch(c,"^([0-9]{1,4});", &c1, &c2, &c3, NULL)==0){ add_tmpqso_qsonrr(band, c2); after_qsonrr(band, c2); continue; } FREE_Cx; if (ctest->excused>0 && !ctest->qsoused){ /***** RST RECV + EXC ****************************************/ if (get_mode() == MOD_CW_CW) ret=regmatch(c,"^([1-5][1-9]{2})[-_]?(.*)$",&c1,&c2,&c3,NULL); else ret=regmatch(c,"^([1-5][1-9]{1})[-_]?(.*)$",&c1,&c2,&c3,NULL); if (ret==0){ char *d; d=c3; if (!is_valid_vexc(excdb, d)){ add_unres(band, d); continue; } add_tmpqso_exc(band,d,1); ADD_TMPQSO_STRING(band,rstr,c2,1,uexc); add_date_time(band); band->last_item = LI_NONE; wkd_tmpqso(band, WT_RSTR, c2); #ifdef HAVE_SNDFILE gssbd->code++; #endif after_exc(band,d); continue; } FREE_Cx; } /***** RST RECV + QSONR RECV ************************************/ if (regmatch(c,"^([R1-5][1-9]{1,2}[ARMS]{0,2})[-_]?([0-9]{3,4})$",&c1,&c2,&c3,NULL)==0){ if (add_tmpqso_qsonrr(band, c3) != 0){ add_unres(band, c); continue; } add_tmpqso_rstr(band, c2); after_qsonrr(band, c2); continue; } FREE_Cx; /***** MS RST RECV + QSONR RECV ************************************/ if (regmatch(c,"^(R?[\\+\\-][0-9]{2})[-_]?([0-9]{3,4})$",&c1,&c2,&c3,NULL)==0){ if (add_tmpqso_qsonrr(band, c3) != 0){ add_unres(band, c); continue; } add_tmpqso_rstr(band, c2); after_qsonrr(band, c2); continue; } FREE_Cx; /***** TIME ****************************************************/ if (regmatch(c,"^([0-2]?[0-9])[:\\.]([0-5]?[0-9])$",&c1,&c2,&c3,NULL)==0){ if (atoi(c2)>=24) { add_unres(band, c); continue;} c4=g_strdup_printf("%02d%02d",atoi(c2),atoi(c3)); ADD_TMPQSO_STRING(band,time_str,c4,1,udummy); g_free(c4); c4=NULL; continue; } FREE_Cx; if (regmatch(c,"^[:\\.]([0-5]?[0-9])$",&c1,&c2,NULL)==0){ time_t now; struct tm utc; time(&now); gmtime_r(&now, &utc); c4=g_strdup_printf("%02d%02d",utc.tm_hour, atoi(c2)); ADD_TMPQSO_STRING(band,time_str,c4,1,udummy); g_free(c4); c4=NULL; continue; } FREE_Cx; /****** DATE **************************************************/ if (regmatch(c,"^([0-9]{4})([0-9]{2})([0-9]{2})$",&c1,&c2,&c3,&c4, NULL)==0){ int year,month,day; /*dbg("%s %s %s %s\n",c1,c2,c3,c4);*/ /* year = atoi(c1);*/ year = atoi(c2); month = atoi(c3); day = atoi(c4); if (year < 1900 || year > 3000 || month < 1 || month > 12 || day < 1 || day > 31) { add_unres(band, c); continue; } ADD_TMPQSO_STRING(band,date_str,c,1,udummy); continue; } FREE_Cx; #if 0 four digits is now QSO number if (regmatch(c,"^([0-9]{2})([0-9]{2})$",&c1,&c2,&c3, NULL)==0){ int month,day; time_t now; struct tm utc; char s[40]; /*dbg("%s %s %s %s\n",c1,c2,c3,c4);*/ month = atoi(c2); day = atoi(c3); if (month < 1 || month > 12 || day < 1 || day > 31) { add_unres(band,c); continue; } time(&now); gmtime_r(&now, &utc); sprintf(s, "%04d%02d%02d", 1900+utc.tm_year, month, day); ADD_TMPQSO_STRING(band,date_str,s,1,udummy); continue; } FREE_Cx; #endif /****** /X, e.g. /P ***********************************************/ if (regmatch(c,"^(\\/([A-Z0-9]{1,3})+)+$",&c1,&c2,&c3,&c4,NULL)==0){ gchar *stroke, *newcall; oldtmpqcall = band->tmpqsos[0].callsign; /*dbg("%s %s %s %s\n",c1,c2,c3,c4);*/ if (!band->tmpqsos[0].callsign) { add_unres(band,c); continue;} stroke = g_strdup(c1); FREE_Cx; if (regmatch(band->tmpqsos[0].callsign, "^([0-9A-Z]{1,3}\\/)?([0-9][A-Z]|[A-Z]{1,2}[0-9]{1,4}[A-Z]{1,3})(\\/([A-Z0-9]{1,3})+)+$", &c1, &c2, &c3, &c4, &c5, NULL)==0){ if (c4 && strcmp(c4, stroke)==0) newcall = g_strconcat(c2?c2:"", c3, NULL); else newcall = g_strconcat(c2?c2:"", c3, stroke, NULL); }else{ newcall = g_strconcat(band->tmpqsos[0].callsign, stroke, NULL); } ADD_TMPQSO_STRING(band, callsign, newcall, 1, ucallsign); after_callsign(band,newcall, oldtmpqcall); g_free(newcall); g_free(stroke); #ifdef HAVE_SNDFILE gssbd->code++; #endif continue; } FREE_Cx; /***** CALLSIGN 1 *************************************************/ if (regcmp(c,"^([0-9A-Z]{1,3}\\/)?([0-9][A-Z]|[A-Z]{1,2}[0-9]?)[0-9]{1,4}[A-Z]{1,4}(\\/[A-Z0-9]{1,3})*$")==0){ oldtmpqcall = band->tmpqsos[0].callsign; if (!TMPQ.dupe){ struct qso *dupe = stats_get_dupe(band->stats, c, TMPQ.locator, ctest->phase, gses->mode); if (dupe != NULL){ if (!band->ignoreswap){ band->dupe_qso = dupe; compute_qrv_wkd(c); duplicate_callsign(dupe); } continue; } } ADD_TMPQSO_STRING(band,callsign,c,1,ucallsign); band->last_item = LI_CALL; after_callsign(band, c, oldtmpqcall); #ifdef HAVE_SNDFILE gssbd->code++; #endif continue; } FREE_Cx; /***** TWO LETTERS ****************************************************/ if (regcmp(c,"^([A-Z][A-Z])$")==0){ /*dbg("TWO %s \n", c);*/ #ifdef HAVE_SNDFILE gssbd->code++; #endif if (band->last_item==LI_WWL){ if (band->tmpqsos[0].locator && band->tmpqsos[0].ulocator){ band->tmpqsos[0].locator[4]='\0'; strcat(band->tmpqsos[0].locator, c); after_locator(band,TMPQ.locator); } continue; } if (band->last_item==LI_CALL){ goto nasty_hack; } add_unres(band, c); continue; } FREE_Cx; /***** QSL CARD PROMISED *********************************************/ if (strcasecmp(c,"q")==0){ band->tmpqsos[0].qsl = !band->tmpqsos[0].qsl; continue; } /***** TWO DIGITS and TWO LETTERS ********************************************/ if (regcmp(c,"^([0-9][0-9][A-Z][A-Z])$")==0){ /* dbg("TWO and TWO %s \n", c);*/ /*if (band->last_item==LI_WWL){ if (band->tmpqsos[0].locator && band->tmpqsos[0].ulocator){ band->tmpqsos[0].locator[2]='\0'; strcat(band->tmpqsos[0].locator, c); after_locator(band,TMPQ.locator); } }*/ char s[20]; strcpy(s, c); z_nearest_wwl(s, ctest ? ctest->pwwlo : cfg->pwwlo); add_tmpqso_locator(band, s, 1, 0); band->last_item = LI_WWL; after_locator(band, s); #ifdef HAVE_SNDFILE gssbd->code++; #endif continue; } FREE_Cx; /***** ONE OR THREE LETTERS *******************************************/ if (regcmp(c,"^([A-Z]{1,3})$")==0){ oldtmpqcall = band->tmpqsos[0].callsign; /*dbg("ONE OR THREE %s \n", c);*/ nasty_hack:; FREE_Cx; if (band->tmpqsos[0].callsign && band->tmpqsos[0].ucallsign && regmatch(band->tmpqsos[0].callsign, "^([0-9A-Z]{1,3}\\/)?([0-9][A-Z]|[A-Z]{1,2}[0-9]{1,4})([A-Z]{1,3})((\\/[A-Z0-9]{1,3})*)$", &c1, &c2, &c3, &c4, &c5, NULL)==0){ GString *gs; /*dbg("c1=%s\nc2=%s\nc3=%s\nc4=%s\nc5=%s\n", c1, c2, c3, c4, c5);*/ gs=g_string_sized_new(20); if (c2) g_string_append(gs, c2); if (c3) g_string_append(gs, c3); if (c) g_string_append(gs, c); if (c5) g_string_append(gs, c5); if (!TMPQ.dupe){ struct qso *dupe = stats_get_dupe(band->stats, c, TMPQ.locator, ctest->phase, gses->mode); if (dupe != NULL){ band->dupe_qso = dupe; if (!band->ignoreswap){ band->dupe_qso = dupe; compute_qrv_wkd(c); duplicate_callsign(dupe); } g_string_free(gs, TRUE); continue; } } g_free(band->tmpqsos[0].callsign); band->tmpqsos[0].callsign=g_strdup(gs->str); /* ADD_TMPQSO_STRING */ after_callsign(band, gs->str, oldtmpqcall); g_string_free(gs, TRUE); #ifdef HAVE_SNDFILE gssbd->code++; #endif } continue; } FREE_Cx; /***** REMARK ************************************************************/ if (regmatch(c,"^#(.*)",&c1,&c2,&c3,&c4,NULL)==0){ if (band->tmpqsos[0].remark) g_free(band->tmpqsos[0].remark); band->tmpqsos[0].remark=g_strdup(c2); fixsemi(band->tmpqsos[0].remark); continue; } /***** EXC ************************************************************/ if (regmatch(c,"(.*)\\.$",&c1,&c2,&c3,&c4,NULL)==0){ if (!c2 || !*c2){ add_tmpqso_exc(band, "nil", 1); wkd_tmpqso(band, WT_EXC, c2); continue; } if (!is_valid_vexc(excdb, c2)){ add_unres(band, c2); continue; } add_tmpqso_exc(band,c2,1); after_exc(band,c2); continue; } FREE_Cx; /***** QRG ************************************************************/ if (regmatch(c,"\\.([0-9][0-9][0-9])$",&c1,&c2,&c3,&c4,NULL)==0){ #ifdef HAVE_HAMLIB freq_t qrg; int khz; khz = atoi(c2); qrg = gtrigs->qrg; dbg("khz=%d qrg=%f\n", khz, qrg); qrg = floor(qrg/1000000.0) * 1000000.0 + khz * 1000.0; dbg("qrg=%f\n", qrg); trigs_set_qrg(gtrigs, qrg); #endif continue; } FREE_Cx; /***** FULL QRG in kHz ************************************************************/ if (regmatch(c,"\\.([0-9]{4,9})$",&c1,&c2,&c3,&c4,NULL)==0){ #ifdef HAVE_HAMLIB freq_t qrg; int khz; khz = atoi(c2); qrg = khz * 1000.0; dbg("khz=%d qrg=%f\n", khz, qrg); trigs_set_qrg(gtrigs, qrg); #endif continue; } FREE_Cx; /***** CALLSIGN 2 *************************************************/ if (regmatch(c,"^([0-9A-Z]+)/$",&c1,&c2,&c3,&c4,NULL)==0){ oldtmpqcall = band->tmpqsos[0].callsign; if (!TMPQ.dupe){ struct qso *dupe = stats_get_dupe(band->stats, c, TMPQ.locator, ctest->phase, gses->mode); if (dupe != NULL){ if (!band->ignoreswap){ band->dupe_qso = dupe; compute_qrv_wkd(c); duplicate_callsign(dupe); } continue; } } ADD_TMPQSO_STRING(band,callsign,c2,1,ucallsign); band->last_item = LI_CALL; after_callsign(band, c2, oldtmpqcall); continue; } FREE_Cx; /***** EXC ***********************************************************/ if (ctest->exctype == EXC_FREE || ctest->exctype == EXC_MULTIPLIED){ // better than unresolved, f.e. DOKs cannot colide if (is_valid_vexc(excdb, c)){ add_tmpqso_exc(band,c,1); after_exc(band,c); continue; } } /* item is unresolved */ add_unres(band, c); FREE_Cx; } FREE_Cx; if (!num){ if (band->tmpqsos[0].callsign && band->tmpqsos[0].ucallsign && (band->tmpqsos[0].rsts || ctest->rstused!=1) && /* 0=no/1=yes */ (band->tmpqsos[0].rstr || ctest->rstused!=1) && (band->tmpqsos[0].qsonrr || ctest->qsoused!=1) && ((band->tmpqsos[0].exc && band->tmpqsos[0].uexc) || ctest->excused!=1) && ((band->tmpqsos[0].locator && band->tmpqsos[0].ulocator) || ctest->wwlused!=1) && can_cq(aband) ) { struct qso *q; fix_date_time(band); add_date_time(band); q=g_new0(struct qso,1); q->source = g_strdup(gnet->myid); q->stamp = time(NULL); q->date_str = g_strdup(band->tmpqsos[0].date_str); q->time_str = g_strdup(band->tmpqsos[0].time_str); q->callsign = g_strdup(band->tmpqsos[0].callsign); q->operator_ = g_strdup(band->operator_); q->rsts = g_strdup(band->tmpqsos[0].rsts?band->tmpqsos[0].rsts:""); q->rstr = g_strdup(band->tmpqsos[0].rstr?band->tmpqsos[0].rstr:""); if (ctest->qsoglob){ q->qsonrs = g_strdup_printf("%03d", ctest->allqsos->len+1); }else{ q->qsonrs = g_strdup(band->tmpqsos[0].qsonrs?band->tmpqsos[0].qsonrs:""); } q->qsonrr = g_strdup(band->tmpqsos[0].qsonrr?band->tmpqsos[0].qsonrr:""); if (band->tmpqsos[0].ulocator){ q->locator = g_strdup(band->tmpqsos[0].locator); q->qrb = band->tmpqsos[0].qrb; q->qtf = band->tmpqsos[0].qtf; }else{ q->locator = g_strdup(""); } q->dupe = band->tmpqsos[0].dupe; q->qsop = 0; /* update_stats */ q->qsl = band->tmpqsos[0].qsl; q->remark = g_strdup(band->tmpqsos[0].remark?band->tmpqsos[0].remark:""); fixsemi(q->remark); q->phase = ctest->phase; if (band->tmpqsos[0].exc){ if (strcmp(band->tmpqsos[0].exc, "nil")!=0) q->exc = g_strdup(band->tmpqsos[0].exc); else q->exc = g_strdup(""); }else{ q->exc = g_strdup(""); } /* q->serial = ctest->serial++;*/ #ifdef HAVE_HAMLIB if (gtrigs->trigs->len > 0 && gtrigs->qrg >= band->qrg_min * 1000.0 && gtrigs->qrg <= band->qrg_max * 1000.0) q->qrg = gtrigs->qrg; else #endif q->qrg = 0.0; if (get_mode() == MOD_SSB_SSB || get_mode() == MOD_CW_CW){ int s,r; /* CHANGE menu2.c refresh_edit_qso */ s=strlen(q->rsts); r=strlen(q->rstr); if (s==3 && r==3) q->mode=MOD_CW_CW; if (s==2 && r==2) q->mode=MOD_SSB_SSB; if (s==3 && r==2) q->mode=MOD_CW_SSB; if (s==2 && r==3) q->mode=MOD_SSB_CW; }else{ q->mode = get_mode(); } q->ser_id=-1; /* computed by add_qso_to_index */ compute_qrbqtf(q); /* for kx & ky */ add_qso(band,q); write_qso_to_swap(band, q); replicate_qso(NULL, q); update_stats(band, band->stats, q); recalc_allb_stats(); minute_stats(band); recalc_statsfifo(band); recalc_worked_skeds(band); #ifdef HAVE_SNDFILE if (ssbd_recording(gssbd)){ ssbd_abort(gssbd,1); ssbd_abort(gssbd,0); } #endif check_autosave(); map_add_qso(q, aband); map_clear_qso(&band->tmplocqso, aband); ctrl_back(band); #ifdef HAVE_HAMLIB if (ctest->runmode){ int i; for (i = 0; i < gtrigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(gtrigs->trigs, i); if (trig->clr_rit) { trig_set_rit(trig, 0.0); } } } ac_track(gacs, NULL, -1); #endif qso_saved = 1; } } dbg("process_input(runmode=%d, len=%d, cq=%d, last_cq=%p)\n", ctest->runmode, strlen(text), cq, gses->last_cq); if (qso_saved){ if (gses->mode == MOD_CW_CW && ctest->runmode && strlen(text)==0){ // tady muzeme prepsat $C 5NN $MX, pokud se znacka opravuje a zadava se vsechno najednou cq_run_by_number(2); // $B TU QRZ } clear_tmpqsos(band,1); }else{ if (gses->mode == MOD_CW_CW && ctest->runmode && strlen(text)==0 && cq!= 0 && gses->last_cq == NULL){ if (band->tmpqsos[0].callsign){ cq_run_by_number(1); // $C 5NN $MX }else{ cq_run_by_number(0); // CQ $MC TEST } } } g_free(s); redraw_later(); } void draw_time(void){ char s[100]; time_t now; struct tm utc; int color; time(&now); gmtime_r(&now, &utc); sprintf(s, " %d:%02d:%02d ", utc.tm_hour, utc.tm_min, utc.tm_sec); #ifdef Z_UNIX color=COL_RED; if (ntpq && ntpq->good) #endif color=COL_NORM; print_text(term->x-6-strlen(s),0,11,s,color); } void time_func(void *arg){ struct timeval tv; int remains; /*gettimeofday(&tv, NULL); dbg("usec=%06d\n", tv.tv_usec);*/ /* disable time drawing when bfu is active */ //if (term->windows.next == term->windows.prev || // gses->win->prev->handler == cwwindow_func) if (gses->win->prev->handler != mainmenu_func) draw_time(); gettimeofday(&tv, NULL); remains=1000-(tv.tv_usec/1000); /*dbg("usec=%06d remains=%d\n", tv.tv_usec, remains);*/ gses->timer_id = zselect_timer_new(zsel, remains, time_func, NULL); } void print_tucnak(int x, int y){ int col_black, col_white, col_yellow; if (term->spec->col){ col_black=COL(0x38);/* 3f */ col_white=COL(0x7f); col_yellow=COL(0x7b); }else{ col_black=COL(0x70); col_white=COL(0x3f); col_yellow=COL(0x7b); } fill_area( x-1, y-1, 23, 14, col_black); print_text(x+8, y, -1,"#####",col_black); print_text(x+7, y+1, -1,"#######",col_black); print_text(x+7, y+2, -1,"#######",col_black); print_text(x+9, y+2, 1,"O",col_white); print_text(x+11,y+2, 1,"O",col_white); print_text(x+7, y+3, -1,"#######",col_black); print_text(x+8, y+3, -1,"#####",col_yellow); print_text(x+5, y+4, -1,"##",col_black); print_text(x+7, y+4, -1,"##",col_white); print_text(x+9 ,y+4, -1,"###",col_yellow); print_text(x+12,y+4, -1,"##",col_white); print_text(x+14,y+4, -1,"##",col_black); print_text(x+4, y+5, -1,"#",col_black); print_text(x+5, y+5, -1,"##########",col_white); print_text(x+15,y+5, -1,"##",col_black); print_text(x+3, y+6, -1,"#",col_black); print_text(x+4, y+6, -1,"############",col_white); print_text(x+16,y+6, -1,"##",col_black); print_text(x+3, y+7, -1,"#",col_black); print_text(x+4, y+7, -1,"############",col_white); print_text(x+16,y+7, -1,"###",col_black); print_text(x+2 ,y+8, -1,"##",col_yellow); print_text(x+4, y+8, -1,"#",col_black); print_text(x+5, y+8, -1,"###########",col_white); print_text(x+16,y+8, -1,"##",col_black); print_text(x+18,y+8,-1,"#",col_yellow); print_text(x ,y+9, -1,"######",col_yellow); print_text(x+6, y+9, -1,"#",col_black); print_text(x+7, y+9, -1,"########",col_white); print_text(x+14,y+9, -1,"#",col_black); print_text(x+15,y+9,-1,"######",col_yellow); print_text(x ,y+10,-1,"#######",col_yellow); print_text(x+7, y+10,-1,"#",col_black); print_text(x+8, y+10,-1,"######",col_white); print_text(x+13,y+10,-1,"#",col_black); print_text(x+14,y+10,-1,"#######",col_yellow); print_text(x+2, y+11,-1,"#####",col_yellow); print_text(x+7, y+11,-1,"########",col_black); print_text(x+14,y+11,-1,"#####",col_yellow); } void clear_hicalls(){ g_hash_table_foreach_remove(gses->hicalls, zg_hash_free_item, NULL); } int load_hicalls_from_file(char *filename){ FILE *f; gchar *c; GString *gs; clear_hicalls(); f=fopen(filename, "rt"); if (!f) return 1; gs = g_string_sized_new(100); while( (c=zfile_fgets(gs, f, 0)) != NULL){ struct zstring *zstr = zstrdup(gs->str); char *call = ztokenize(zstr, 1); char *sval = ztokenize(zstr, 0); int *val = g_new(int, 1); if (sval) *val = atoi(sval); else *val = 1; g_hash_table_insert(gses->hicalls, g_strdup(call), val); zfree(zstr); } g_string_free(gs, 1); fclose(f); return 0; } void save_one_hicall(gpointer key, gpointer value, gpointer user_data){ GString *gs; gchar *call; int val; gs = (GString *) user_data; call = (gchar *) key; val = *((int*)value); zg_string_eprintfa("e", gs, "%s;%d\r\n", call, val); } int save_hicalls_to_file(char *filename){ FILE *f; int ret; GString *gs; f = fopen(filename, "wb"); if (!f){ log_addf(VTEXT(T_CANT_WRITE_S), filename); return errno; } gs=g_string_sized_new(1000); g_hash_table_foreach(gses->hicalls, save_one_hicall, (gpointer) gs); ret = fprintf(f,"%s",gs->str) != gs->len ? errno: 0; g_string_free(gs, 1); fclose(f); return ret; } void update_hw(){ gchar *pwwlo; if (!gses) return; if (ctest && ctest->pwwlo) { pwwlo=ctest->pwwlo; }else{ pwwlo = cfg->pwwlo; } if (!pwwlo) zinternal("Undefined locator"); gses->myh = qth(pwwlo, 0); gses->myw = qth(pwwlo, 1); } tucnak-4.32/src/net.h0000644000175000017500000001054112501641324011375 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __NET_H #define __NET_H #define LO_CW 0x01 #define LO_NAME 0x02 #define LO_QRV 0x04 #define C0(item) (item?item:"") #define PEER_FUNC void(*)(void) struct qso; union zsockaddr; extern struct net *gnet; enum net_state { NS_INIT=0, NS_CONNECTING, NS_CONNECTED, NS_WAIT_ACK, NS_DISCONNECTED, NS_DEAD, /* conn removed immediately */ NS_LONG }; extern char *ns_desc[]; enum authstate{ AS_NOTNEEDED = 0, AS_WAIT, AS_OK }; struct conn{ struct sockaddr_in sin; /* {sin_port, sin_addr.s_addr } */ int sock; enum net_state state; GString *wrbuf, *rdbuf; int relseq; int timer; gchar *remote_id; gchar *remote_ac; gchar *operator_; gchar *rwbands; int is_same_ctest; int replicating; /* replicating from other station in progress, huge amout of QSOs */ enum authstate authstate; char *salt; time_t start; long rx, tx; char *fid; }; struct net{ struct sockaddr_in my; /* IP of first interface (except lo) in alphab. order. host byteorder */ gchar *myid; /* 0.0.0.0:0 or 192.168.1.97:55555 */ struct sockaddr_in global; /* global master */ time_t global_expire; int global_priority; int master_priority; int udpsock; /* listen for announcement, -1 unused */ int tcpsock; /* listen for slaves, -1 unused */ int udptimer_id; int udptimer_period; struct sockaddr bcast_addr[MAX_INTERFACES]; int max_addrs; struct conn *master; GPtrArray *peers; /* struct conn[] */ gchar *allpeers; /* separated by semicolon */ gchar *rwbpeers; /* separated by semicolon. ID;OP;RWB */ gchar *bpeers; /* separated by semicolon. ID;OP;B */ void (*peerfunc)(void); /* todo */ GString *peers3; int timer3_id; struct conn *remote; struct zasyncdns *radns; int v3compatibility; /* set if heard broadcast without priority. to guess master, compare only IP and port */ }; struct net *init_net(void); void free_net(struct net *net); int init_net_udp (struct net *net); int init_net_tcp (struct net *net); int init_net_ifaces(struct net *net, int free_global); void free_net_udp(struct net *net); void free_net_tcp(struct net *net); void free_net_ifaces(struct net *net); void free_conn(struct conn *conn); void udp_read_handler(void *); void udp_exception_handler(void *); void udp_timer(void *); void udp_sendto(struct sockaddr_in *asin, int direct); #ifdef LEAK_DEBUG_LIST void debug_tcp_disconnect(char *file, int line, struct conn *conn); #define tcp_disconnect(a) debug_tcp_disconnect(__FILE__, __LINE__, (a)) #else void tcp_disconnect(struct conn *conn); #endif void tcp_read_handler(void *); void tcp_write_handler(void *); void tcp_exception_handler(void *); void tcp_accept_handler(void *); void rel_write(struct conn *conn, gchar *s); void rel_write_all(gchar *s); void rel_read(struct conn *conn, gchar *s); void tcp_set_state(struct conn *conn, enum net_state state); void tcp_connect(struct conn *conn); void tcp_kill(struct conn *conn); int cmp_sin(struct sockaddr_in *a, struct sockaddr_in *b); int cmp_master(int pria, int prib, struct sockaddr_in *a, struct sockaddr_in *b); void net_send_id(void); void net_send_ac(void); void net_send_operator(void); void net_send_read_write_bands(void); void net_send_talk(void); void net_test_same_contest(struct conn *conn, gchar *ac_text); void compare_remote_with_me(gpointer key, gpointer value, gpointer data); void qso_from_net(struct conn *conn, gchar *c); void replicate_qso(struct conn *conn, struct qso *q); gchar *get_timer_str(struct conn *conn); void send_config_request(int no); void send_cwdb_request(int no); int conn_prod_state(struct conn *conn); int some_replicating(struct net *net); struct conn *find_conn_by_remote_id(gchar *remote_id); void remove_conn_timer(void *arg); char *tcp_state_s(struct conn *conn); void iface_info(GString *gs); void net_connect_remote(struct net *); void net_remote_addrinfo(struct zasyncdns *adns, int n, int *family, int *socktype, int *protocol, int *addrlen, union zsockaddr *addr, char *errorstr); void conn_set_fid(struct conn *conn); #endif tucnak-4.32/src/ttys.c0000644000175000017500000000413113625753117011617 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdaemon.h" #include "fifo.h" #include "rc.h" #include "ttys.h" int ttys_init(struct cwdaemon *cwda){ #ifdef HAVE_TERMIOS_H cwda->zser = zserial_init_tty(cfg->cwda_device); #elif defined(WIN32) cwda->zser = zserial_init_win32(cfg->cwda_device); #endif zserial_set_line(cwda->zser, 9600, 8, 'N', 1); zserial_nolocks(cwda->zser, cfg->nolocks); ttys_open(cwda, 1); return 0; } int ttys_open(struct cwdaemon *cwda, int verbose){ if (zserial_open(cwda->zser)){ if (verbose) log_addf("%s", zserial_errorstr(cwda->zser)); ttys_reset(cwda); // ttys_free(cwda); return -1; } ttys_reset(cwda); return 0; } int ttys_free(struct cwdaemon *cwda){ if (!cwda) return 0; zserial_free(cwda->zser); return 0; } int ttys_reset(struct cwdaemon *cwda){ cwda->ptt(cwda, 0); cwda->cw(cwda, 0); cwda->ssbway(cwda, 0); return 0; } int ttys_cw(struct cwdaemon *cwda, int onoff){ if (zserial_dtr(cwda->zser, onoff)){ error("%s\n", zserial_errorstr(cwda->zser)); return -1; } return 0; } int ttys_ptt(struct cwdaemon *cwda, int onoff){ if (zserial_rts(cwda->zser, onoff)){ error("%s\n", zserial_errorstr(cwda->zser)); return -1; } return 0; } // for U5 link and FT8x7 int ttys_cw_single(struct cwdaemon *cwda, int onoff){ if (zserial_dtr(cwda->zser, onoff)){ error("%s\n", zserial_errorstr(cwda->zser)); return -1; } return 0; } // for U5 link and FT8x7 int ttys_ptt_single(struct cwdaemon *cwda, int onoff){ if (gses != NULL && gses->mode == MOD_CW_CW) // skipped during init { onoff = 0; // NO PTT in CW } else{ // in SSB do PTT } if (zserial_rts(cwda->zser, onoff)){ error("%s\n", zserial_errorstr(cwda->zser)); return -1; } return 0; } int ttys_ssbway(struct cwdaemon *cwda, int onoff){ return 0; } tucnak-4.32/src/msvcver.h.in0000644000175000017500000000003411752503461012703 00000000000000#define VERSION "@VERSION@" tucnak-4.32/src/rc.h0000644000175000017500000001273713776067616011251 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __RC_H #define __RC_H #include "header.h" struct band; struct config_band{ gchar bandchar; /* 'C', 'E', 'G', ... */ gchar *pband; /* 144 MHz */ gint psect; /* 1=Single, 0=Multi */ char *opsect; gint qrv,qrvnow,readonly; gchar *stxeq,*spowe; /* TM-255 + gi7b, 300 */ gchar *srxeq,*sante,*santh; /* TM-255, GW4PTS, 60;800 */ gchar *mope1,*mope2; /* OK1XDF, OK1MZM, OK1ZIA */ gchar *remarks; /* a little hack for OK */ gchar *ok_section_single; /* 2m=01, 70cm=03, ... */ gchar *ok_section_multi; /* 2m=02, 70cm=04, ... */ gint qrg_min,qrg_max; /* kHz */ gchar *adifband; /* 2m,70cm,23cm... */ gchar *cbrband; /* 2M,432,1.2G... */ gint stfband; /* 2, 70, 23... */ gchar *skedqrg; gdouble band_lo; int band_sw; int wwlradius; }; struct config { /* depending on callsign */ gchar *pcall; gchar *pwwlo; gchar *pexch; gchar *padr1,*padr2,*pclub; gchar *rname,*rcall,*radr1,*radr2,*rpoco,*rcity,*rcoun,*rphon,*rhbbs; gchar *default_rs,*default_rst; gint qsop_method, total_method; gint as_disk_aq, as_disk_am, as_floppy_aq, as_floppy_am; gint as_disk_fsync, as_floppy_fsync, as_mount; gchar *as_floppy_path, *as_mount_cmd; gchar *net_if_ignore, *net_ip_ignore, *net_ip_announce; int net_remote_enable; char *net_remote_host, *net_remote_pass; int net_remote_port; int net_masterpriority; GPtrArray *bands; struct config_band *band; /* active band during loading config */ GPtrArray *cqs; /* of struct cq */ struct cq *cq; struct term_spec *ts; GPtrArray *sws; /* of struct config_subwin */ struct config_subwin *sw; gint cwda_type; /* enum cwtype */ gchar *cwda_device, *cwda_hostname; gint cwda_udp_port, cwda_io_port; gint cwda_speed, cwda_weight, cwda_minwpm, cwda_maxwpm; gint cwda_leadin, cwda_tail, cwda_spk; gint cwda_vid, cwda_pid, cwda_autgive; gint wk_wk2, wk_usepot, wk_usebut, wk_keymode, wk_swap; gint ssbd_type; gint ssbd_record, ssbd_maxmin, ssbd_diskfree; gint ssbd_format, ssbd_channels, ssbd_samplerate; gint ssbd_plev, ssbd_rlev; gchar *ssbd_template; gchar *ssbd_pcm_play, *ssbd_pcm_rec; gint ssbd_period_time; // period time in ms gint ssbd_buffer_time; gchar *ssbd_alsa_mixer, *ssbd_alsa_src; int ssbd_pa_play, ssbd_pa_rec; gchar *ssbd_dsp; gint ssbd_maxfrag; gchar *ssbd_mixer, *ssbd_oss_src; gint ssbd_recsrc; gchar *ssbd_hostname; gint ssbd_udp_port; gint trace_bcast, trace_sock, trace_recv, trace_send, trace_qsos, trace_rig, trace_sdev, trace_keys; GPtrArray *crigs; /* of struct config_rig */ struct config_rig *crig; GPtrArray *crotars; /* of struct config_rotar */ struct config_rotar *crotar; int loglines,skedcount; gchar *startband; GPtrArray *takeoff; /* of struct takeoff */ int global_operator; gchar *operator_; int gfx_x, gfx_y, ntpq, dssaver, splitheight, fullscreen, maximized; int usetouch, touchpos, altsyms, nolocks, portrait, reverse, inverse; int adif_export_mode_t2r; char *logdirpath; int fontheight; char *slashkey; char *dxc_host; int dxc_port; char *dxc_user, *dxc_pass; char *kst_user, *kst_pass, *kst_name; char *sota_user, *sota_pass; int kst_maxqrb; char *slovhf_user; int httpd_enable; int httpd_port; int httpd_show_priv; int httpd_refresh; int ac_enable; // aircraft is enabled char *ac_url; // URL for fligtradar data double ac_kfactor; // troposphere k_factor double ac_arwidth; // area width in km double ac_minelev; // minimal elevation angle double ac_maxelev; // maximal elevation angle int ac_mindur; // minimal reflections duration in seconds double ac_maxdelta; // max difference of incidence and reflection angles int ac_minalt; // minimal AC altitude to show on map in meters int sdr_enable, sdr_cw, sdr_lsb, sdr_speed, sdr_af_speed, sdr_block, sdr_iqcomp; double sdr_zero, sdr_cw_low, sdr_cw_high, sdr_ssb_low, sdr_ssb_high; int sdr_rec_dsp_type, sdr_play_dsp_type; int sdr_pa_play, sdr_pa_rec; char *sdr_pcm_play, *sdr_pcm_rec, *sdr_sndfilename, *sdr_remoterx, *sdr_af_filename; char *wiki_url, *wiki_user, *wiki_pass, *wiki_page; int wiki_map, wiki_chart, wiki_overwrite; int rain_enable, rain_meteox, rain_wetteronline, rain_chmi, rain_weatheronline, rain_rainviewer, rain_debug; int rain_maxqrb, rain_mincolor, rain_minscpdist; }; extern struct config *cfg; extern int opt_g, opt_i, opt_m, opt_s, opt_t, debug_keyboard, opt_x; extern long long tl; gint init_rc(void); void free_config_rig(struct config_rig *crig); void free_config_rotar(struct config_rotar *crot); gint free_rc(void); gint read_rc_line(gchar *str); gint read_rc_file(gchar *filename, const char *text); gint read_rc_files(void); void save_rc_string(GString *gs); gint save_rc_file(gchar *filename); int term_spec_init(void); char *parse_options(int argc, char **argv); gdouble get_rig_lo(struct band *band, int rignr); void set_rig_lo(struct band *band, int rignr, gdouble lo); #endif tucnak-4.32/src/map2d.c0000644000175000017500000000337413654006031011613 00000000000000#include #include #include #include int main(int argc, char *argv[]){ FILE *fin, *fout; char s[1024], *addr, *sym, *c; int text = 0, len; long last = 0; if (argc < 2) { fprintf(stderr, "map2d: not enough args\n"); exit(1); } sprintf(s, "%s.map", argv[1]); if (!(fin = fopen(s, "rt"))){ perror("Can't open map file"); return -1; } sprintf(s, "%s.d", argv[1]); if (!(fout = fopen(s, "wt"))){ fclose(fin); perror("Can't open d file"); return -1; } while (fgets(s, sizeof(s) - 1, fin) != NULL){ len = strlen(s); if (len > 0 && s[len-1]=='\n') s[len-1] = '\0'; len = strlen(s); if (len > 0 && s[len-1]=='\r') s[len-1] = '\0'; // printf("s='%s'\n", s); //if (c[0] == ' ') c++; if (s[0] == '.'){ text = strncmp(s, ".text", 5) == 0; if (text){ strtok(s, " \r\n"); addr = strtok(NULL, " \r\n"); c = strtok(NULL, " \r\n"); // printf("text=%d\n", text); //printf("addr=%s c=%s\n", addr, c); last = strtol(addr, NULL, 16) + strtol(c, NULL, 16); } } // if (c[0] == '*') continue; if (!text) continue; if (strncmp(s, " ", 6) != 0) continue; addr = strtok(s, " "); sym = strtok(NULL, " "); c = strtok(NULL, " "); if (c) continue; if (strncmp(addr, "0x", 2) == 0) addr += 2; while (addr[0] == '0') addr++; if (sym[0] == '_') sym++; fprintf(fout, "%s %s\n", addr, sym); } fprintf(fout, "%lx\n", last); fclose(fin); fclose(fout); return 0; } tucnak-4.32/src/voip.c0000644000175000017500000003153213700130565011564 00000000000000/* Tucnak - VHF contest log Copyright (C) 2013-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "voip.h" #include #include "bfu.h" #include "dsp.h" #include "fifo.h" #include "main.h" #include "net.h" #include "rc.h" #include "session.h" #include "subwin.h" #include "ssbd.h" #include "tsdl.h" #ifdef VOIP #ifdef HAVE_SNDFILE struct voip *init_voip(void){ int port; struct voip *voip = g_new0(struct voip, 1); voip->jitterbuf = g_list_alloc(); voip->seq = 1; voip->spying = g_ptr_array_new(); MUTEX_INIT(voip->spying); voip->sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); if (voip->sock == -1) goto err; if (z_sock_reuse(voip->sock, 0)){ error("Can't clear SO_REUSEADDR\n"); goto err; } if (z_sock_nonblock(voip->sock, 1)){ error("Can't set O_NONBLOCK\n"); goto err; } for (port=7300; port<65536; port++){ struct sockaddr_in sin; memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = htons(port); sin.sin_addr.s_addr = INADDR_ANY; if (bind(voip->sock, (struct sockaddr *)&sin, sizeof(sin))==0) break; if (port==65535) goto err; continue; } voip->udpport = port; return voip; err:; free_voip(voip); log_addf(VTEXT(T_VOIP_NO_INITIALIZED)); return NULL; } void free_voip(struct voip *voip){ int i; if (!voip) return; //voip_thread_join(voip); if (voip->sock != -1) closesocket(voip->sock); g_list_free(voip->jitterbuf); for (i = 0; i < voip->spying->len; i++){ struct voippeer *p = (struct voippeer *)g_ptr_array_index(voip->spying, i); voip_spy_free(p); } MUTEX_FREE(voip->spying); g_ptr_array_free(voip->spying, TRUE); g_free(voip); } struct voippacket *init_voippacket(void *srcbuf, int buflen){ // len is in bytes struct voippacket *p; int i; short *s, *d; size_t toalloc = buflen;//sizeof(uint32_t) + sizeof(uint16_t) + len * sizeof(short); p = (struct voippacket *)g_malloc(toalloc); p->len = (buflen - sizeof(struct voippacket) + sizeof(short)) / sizeof(short); s = (short *)srcbuf; d = p->buf; for (i = 0; i < p->len; i++){ *d = htons(*s); d++; s++; } return p; } void free_voippacket(struct voippacket *p){ g_free(p); } static int voip_compare_data(gconstpointer a, gconstpointer b, gpointer data){ struct voippacket *voipa = (struct voippacket *)a; struct voippacket *voipb = (struct voippacket *)b; int ret; if (voipa == NULL) return -1; if (voipb == NULL) return +1; ret = voipa->seq - voipb->seq; if (ret == 0) ((struct voip *)data)->dupe = 1; return ret; } int voip_add(struct voip *voip, struct voippacket *vp){ if (!voip) return -1; voip->dupe = 0; voip->jitterbuf = g_list_insert_sorted_with_data(voip->jitterbuf, vp, voip_compare_data, voip); if (voip->dupe){ voip->jitterbuf = g_list_remove(voip->jitterbuf, vp); free_voippacket(vp); }else{ voip->len++; } return 0; } struct voippacket *voip_get(struct voip *voip){ struct voippacket *p; if (!voip) return NULL; if (!voip->jitterbuf->next) return NULL; p = (struct voippacket *)voip->jitterbuf->next->data; if (p != NULL){ voip->jitterbuf = g_list_delete_link(voip->jitterbuf, voip->jitterbuf->next); voip->len--; } return p; } int voip_play(struct voippacket *p, short *buf, int len){ // len in samples short *s, *d; int i, l; if (!p){ d = buf; for (i = 0; i < len; i++) *d++ = 0; return len; } s = p->buf; d = buf; l = Z_MIN(len, p->len); for (i = 0; i < l; i++) *d++ = ntohs(*s++); return l; } void voip_test(struct voip *voip){ struct voippacket *p; p = g_new0(struct voippacket, 1); p->seq = 1; voip_add(voip, p); p = g_new0(struct voippacket, 1); p->seq = 2; voip_add(voip, p); p = voip_get(voip); p = g_new0(struct voippacket, 1); p->seq = 3; voip_add(voip, p); p = g_new0(struct voippacket, 1); p->seq = 2; voip_add(voip, p); p = voip_get(voip); p = voip_get(voip); p = voip_get(voip); p = voip_get(voip); } //int voip_beep_thread void voip_spy_add(struct voip *voip, char *id, char *voipaddr){ struct voippeer *p; int i; char *colon, *c;; if (!voip) return; MUTEX_LOCK(voip->spying); for (i = 0; i < voip->spying->len; i++){ struct voippeer *pp = (struct voippeer *)g_ptr_array_index(voip->spying, i); if (strcmp(pp->peerid, id) == 0) goto x; } p = g_new0(struct voippeer, 1); p->peerid = g_strdup(id); colon = strchr(voipaddr, ':'); p->sin.sin_family = AF_INET; p->sin.sin_port = htons(atoi(colon+1)); c = g_strdup(voipaddr); z_strip_from(c, ':'); inet_aton(c, &p->sin.sin_addr); g_ptr_array_add(voip->spying, p); x:; MUTEX_UNLOCK(voip->spying); } void voip_spy_update(struct voip *voip, char *id, char *voipaddr){ struct voippeer *p; char *colon, *c;; if (!voip || !voip->spied) return; p = voip->spied; if (strcmp(p->peerid, id) != 0) return; colon = strchr(voipaddr, ':'); p->sin.sin_port = htons(atoi(colon+1)); c = g_strdup(voipaddr); z_strip_from(c, ':'); inet_aton(c, &p->sin.sin_addr); } void voip_spy_remove(struct voip *voip, char *id){ struct voippeer *p; int i; if (!voip) return; MUTEX_LOCK(voip->spying); for (i = voip->spying->len - 1; i >= 0; i--){ p = (struct voippeer *)g_ptr_array_index(voip->spying, i); log_addf("voip_spy_remove: i=%d peerid='%s'", i, p->peerid); if (strcmp(id, p->peerid) != 0) continue; g_ptr_array_remove_index(voip->spying, i); voip_spy_free(p); } MUTEX_UNLOCK(voip->spying); } void voip_spy_free(struct voippeer *p){ if (!p) return; g_free(p->peerid); g_free(p); } void voip_spy_dump(struct voip *voip){ int i; struct voippeer *p; GString *gs = g_string_new("voip_spy_dump: "); if (!voip) { g_string_append(gs, "voip==NULL"); return; } if (voip->spied){ p = voip->spied; g_string_append_printf(gs, "%s(%s:%d)", p->peerid, inet_ntoa(p->sin.sin_addr), ntohs(p->sin.sin_port)); } g_string_append(gs, " ["); MUTEX_LOCK(voip->spying); for (i = 0; i < voip->spying->len; i++){ p = (struct voippeer *)g_ptr_array_index(voip->spying, i); if (i > 0) g_string_append(gs, ", "); g_string_append_printf(gs, "%s(%s:%d)", p->peerid, inet_ntoa(p->sin.sin_addr), ntohs(p->sin.sin_port)); } MUTEX_UNLOCK(voip->spying); g_string_append(gs, "]"); log_adds(gs->str); dbg("%s\n", gs->str); g_string_free(gs, TRUE); } static void voip_select_spy(void *itarg, void *menuarg){ char *peers3, *peer, *id; int tok = 0, menui = 0, no = GPOINTER_TO_INT(itarg); struct voip *voip = gssbd->voip; if (!voip) return; dbg("select_spy3(%p, %p)\n", itarg, menuarg); peers3 = g_strdup(gnet->peers3->str); while ((peer = z_tokenize(peers3, &tok)) != NULL){ int tok2 = 0; id = z_tokenize(peer, &tok2); /*op =*/ z_tokenize(peer, &tok2); /*rwbands =*/ z_tokenize(peer, &tok2); if (menui == no){ char *c; if (voip->spied){ c = g_strdup_printf("EV %s;%s\n", voip->spied->peerid, gnet->myid); rel_write_all(c); g_free(c); voip->spied = NULL; } c = g_strdup_printf("VS %s;%s;%s:%d\n", id, gnet->myid, inet_ntoa(gnet->my.sin_addr), voip->udpport); rel_write_all(c); g_free(c); voip->spied = g_new0(struct voippeer, 1); voip->spied->peerid = g_strdup(id); //voip->spied->sin // unknown now break; } } g_free(peers3); voip_spy_dump(voip); } void voip_spy(void *xxx){ int tok = 0, max = 0, menui = 0; char *peer, *id, *op, *rwbands, *s; struct menu_item *mi = NULL; char *peers3; if (!gssbd->voip){ log_addf(VTEXT(T_VOIP_NO_INITIALIZED)); return; } progress(NULL); peers3 = g_strdup(gnet->peers3->str); while ((peer = z_tokenize(peers3, &tok)) != NULL){ int tok2 = 0; id = z_tokenize(peer, &tok2); op = z_tokenize(peer, &tok2); rwbands = z_tokenize(peer, &tok2); if (!mi) mi = new_menu(3); s = g_strdup_printf("%s %s %s", id, op, rwbands); if (strlen(s) > max) max = strlen(s); add_to_menu(&mi, s, "", "", voip_select_spy, GINT_TO_POINTER(menui), 0); menui++; } g_free(peers3); dbg("menui=%d\n"); if (mi){ set_window_ptr(gses->win, (term->x-max)/2,(term->y-2-menui)/2); do_menu(mi, NULL); }else errbox(VTEXT(T_NO_PEERS),0); } void voip_end_spy(void *xxx, void *yyy){ char *c; struct voip *voip = gssbd->voip; if (!voip){ log_addf(VTEXT(T_VOIP_NO_INITIALIZED)); return; } if (!voip->spied) return; c = g_strdup_printf("EV %s;%s\n", voip->spied->peerid, gnet->myid); rel_write_all(c); g_free(c); voip_spy_free(voip->spied); voip->spied = NULL; voip_spy_dump(voip); } void voip_distribute(struct voip *voip, struct voippacket *vp){ int i; MUTEX_LOCK(voip->spying); for (i= 0; i< voip->spying->len; i++){ struct voippeer *p = (struct voippeer *)g_ptr_array_index(voip->spying, i); sendto(voip->sock, (const char *)&vp, sizeof(struct voippacket) + (vp->len - 1) * sizeof(short), 0, (struct sockaddr *)&p->sin, sizeof(p->sin)); } MUTEX_UNLOCK(voip->spying); } void *voip_thread_func(void *arg){ char buf[2048]; int ret; struct sockaddr_in sin; socklen_t slen; struct voippacket *vp; struct voip *voip = (struct voip *)arg; struct ssbd *ssbd = gssbd; zg_thread_set_name("Tucnak voip receiver"); while (!voip->thread_break){ while(1){ ret = recvfrom(voip->sock, buf, sizeof(buf), 0, (struct sockaddr*)&sin, &slen); if (ret < 0) break; log_addf("voip from %s:%d, %d bytes", inet_ntoa(sin.sin_addr), ntohs(sin.sin_port), ret); vp = init_voippacket(buf, ret); voip_add(voip, vp); } usleep(20000); vp = voip_get(voip); if (vp){ ret = dsp->write (dsp, vp->buf, vp->len * sizeof(short)); }else{ //ret = dsp->write (dsp, ssbd->buffer, dsp->bufsize); ret = -1; } if (ret < 0){ int err = errno; GString *gs = g_string_new(""); //MUTEX_LOCK(ssbd); g_string_append_printf(gs, "!%s %s ", VTEXT(T_CANT_WRITE_TO), dsp->name); z_strerror(gs, err); g_string_append_c(gs, '\n'); //MUTEX_UNLOCK(ssbd); zselect_msg_send(zsel, "%s;%s", "SSBP", gs->str); g_string_free(gs, TRUE); voip->thread_break = 1; } } dbg("voip_thread_func exited\n"); return NULL; } int voip_receive(struct ssbd *ssbd){ SF_INFO sfinfo; struct voip *voip = ssbd->voip; ssbd_abort(ssbd, 1); memset (&sfinfo, 0, sizeof (sfinfo)); sfinfo.format = cfg->ssbd_format; sfinfo.channels = cfg->ssbd_channels; sfinfo.samplerate = cfg->ssbd_samplerate; if (!sfinfo.format) sfinfo.format=SF_FORMAT_WAV | SF_FORMAT_PCM_16; if (!sfinfo.channels) sfinfo.channels=1; if (!sfinfo.samplerate) sfinfo.samplerate=22050; dsp->set_format(dsp, &sfinfo, 0); dsp->set_plevel(dsp); if (dsp->open(dsp, 0)<0) { log_addf(VTEXT(T_ANT_OPEN_DSP_PLAY), dsp->name); sf_close (ssbd->sndfile); ssbd->sndfile = NULL; return -1; }; dbg("receive opened: channels=%d speed=%d\n", dsp->channels, dsp->speed); g_free(ssbd->buffer); ssbd->buffer = g_new0(short, dsp->bufsize/sizeof(short)); ssbd->bytes = dsp->bufsize; ssbd->samples = ssbd->bytes / sizeof(short); ssbd->frames = ssbd->samples / dsp->channels; //gfft_start(gfft, gssbd->frames); ssbd->channels = sfinfo.channels; ssbd->seek = 0; #ifdef Z_HAVE_SDL if (zsdl && gses){ ssbd->scope_w = gses->ontop->w * zsdl->font_w; ssbd->scope_samples = ssbd->channels * ssbd->scope_w; ssbd->scope_buf = g_new0(short, ssbd->scope_samples); ssbd->scope_show = 0; ssbd->scope_i = 0; } if (sdl && gses) gses->icon = sdl->xfer; #endif ssbd_thread_create(ssbd, voip_thread_func); return 0; } /*void voip_thread_create(struct voip *voip){ dbg("voip_thread_create\n"); voip->thread_break=0; if (voip->thread) return; voip->thread = g_thread_try_new("voip", voip_thread_func, (gpointer)voip, NULL); } void voip_thread_join(struct voip *voip){ if (!voip->thread) return; voip->thread_break=1; dbg("join voip...\n"); g_thread_join(voip->thread); dbg("done\n"); voip->thread = NULL; } */ #endif #endif tucnak-4.32/src/dxc.h0000644000175000017500000000515514016001471011366 00000000000000 /* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __DXC_H #define __DXC_H struct subwin; struct event; struct band; union zsockaddr; struct spot{ double qrg; // kHz gchar *callsign, *from, *text; int zulu; time_t expire, endbold; }; struct spotband{ ZPtrArray *freq; int current; // can be -1 if array is empty int min_khz, max_khz; char bandchar; //A, B, C, ... }; struct spotdb_t{ ZPtrArray *bands; int timer_id; int sfi; }; extern struct spotdb_t *spotdb; struct spotdb_t *init_spotdb(void); void free_spotdb(struct spotdb_t *spotdb); struct spotband *get_spotband_by_khz(int khz); struct spotband *get_actual_spotband(void); void remove_spot(struct spotband *sband, int spot_i); struct spot *dxc_parse_spot(gchar *str); void free_spot(struct spot *spot); int dxc_read_spot(gchar *str); // ret: -1 error, 0 correct spot, 1 correct filtered spot int dxc_remove_expired(void); void dxc_timer(void *); void dxc_dump(struct spotband *sband); int sw_dxc_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_dxc_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_dxc_redraw(struct subwin *sw, struct band *band, int flags); void sw_dxc_check_bounds(struct subwin *sw); struct zasyncdns; void sw_dxc_enter(void *enterdata, gchar *str, int cq); void sw_dxc_addrinfo(struct zasyncdns *adns, int n, int *family, int *socktype, int *protocol, int *addrlen, union zsockaddr *addr, char *errorstr); void sw_dxc_connected_handler(void *xxx); void sw_dxc_read_handler(void *xxx); void sw_dxc_disconnect(struct subwin *sw); char *sw_dxc_call_under(struct subwin *sw, int x, int y, double *out_qrg, char **out_ref); void sw_dxc_toggle_highlight(struct subwin *sw, char *call, int val); int sw_dxc_line_color(struct subwin *sw, char *line); char *sw_dxc_counterp(struct subwin *sw, char *line, int *color); // thread unsafe! int sw_dxc_color(char *call); void sw_dxc_select(void *itdata, void *menudata); void sw_dxc_hide(void *itdata, void *menudata); void sw_dxc_message(void *itdata, void *menudata); void sw_dxc_info(void *itdata, void *menudata); void sw_dxc_use(void *itdata, void *menudata); #ifdef HAVE_HAMLIB void dxc_qrg_changed(freq_t qrg); #endif void sw_dxc_spot_from_net(struct subwin *sw, char *str); void dxc_open_connection(void *arg, void *arg2); void dxc_export_text(void *itdata, void *menudata); int dxc_new_mult(const char *callsign); #endif tucnak-4.32/src/sked.c0000644000175000017500000003762613677305771011567 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. UTF-8 detect: ěščřžýáíé */ #include "header.h" #include "edi.h" #include "fifo.h" #include "inputln.h" #include "kbdbind.h" #include "kbd.h" #include "main.h" #include "net.h" #include "qsodb.h" #include "tsdl.h" #include "session.h" #include "sked.h" #include "subwin.h" #include "subwin.h" static char callsign[EQSO_LEN], locator[EQSO_LEN]; static char time_str[EQSO_LEN], remark[MAX_STR_LEN]; int sw_sked_kbd_func(struct subwin *sw, struct event *ev, int fw){ struct sked *sked; int i; if (!aband) return 0; if (sw->il && ( sw->il->wasctrlv || (ev->x!='[' && ev->x!=']') )){ if (inputln_func(sw->il, ev)) return 1; } switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_DOWN: sw->offset--; sw->check_bounds(sw); redraw_later(); return 1; case ACT_UP: sw->offset++; sw->check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_DOWN: sw->offset -= sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_UP: sw->offset += sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_HOME: sw->offset = aband->skeds->len - sw->h; sw->check_bounds(sw); redraw_later(); return 1; case ACT_END: sw->offset = 0; sw->check_bounds(sw); redraw_later(); return 1; case ACT_SCROLL_LEFT: if (sw->ho>0) sw->ho--; redraw_later(); return 1; case ACT_SCROLL_RIGHT: sw->ho++; redraw_later(); return 1; case ACT_ENTER: if (aband->readonly) return 1; i = aband->skeds->len - sw->offset - 1; if (i < 0 || i >= aband->skeds->len) break; sked = (struct sked *)g_ptr_array_index(aband->skeds, i); process_input(aband, sked->callsign, 0); il_add_to_history(INPUTLN(aband), sked->callsign); process_input(aband, sked->locator, 0); aband->tmpqsos[0].ulocator = 1; return 1; } return 0; } int sw_sked_mouse_func(struct subwin *sw, struct event *ev, int fw){ if (!aband) return 0; return sw_fifo_mouse_func(sw, ev, fw); } gchar *sw_sked_sprint(struct sked *sked){ double qrb,qtf; int qrb_int,qtf_int; gchar *c, *deg; qrbqtf(ctest->pwwlo, sked->locator, &qrb, &qtf, NULL, 2); qrb_int=(int)qrb; qtf_int=(int)(qtf+0.5); if (qrb_int < 0.1) { qrb_int=0; qtf_int=0; } #ifdef Z_HAVE_SDL if (sdl) deg = "°"; else #endif deg = VTEXT(T_DEGREE); c=g_strdup_printf(VTEXT(T_SKED_FORMAT), sked->operator_, sked->src_shortpband, sked->pband, sked->qrg, sked->callsign, sked->locator, qrb_int, qtf_int, deg, sked->time_str, sked->remark); return c; } void sw_sked_redraw(struct subwin *sw, struct band *band, int flags){ int i, index; gchar *c; struct sked *sked; int color; if (!aband) return; /*dbg("sw_log_redraw log->len=%d sw->h=%d sw->offset=%d \n", fifo_len(sw->fifo), sw->h, sw->offset);*/ for (i = 0; i < sw->h; i++){ index = aband->skeds->len - sw->offset - sw->h+i; if (index < 0 || index >= aband->skeds->len) continue; sked = (struct sked *)g_ptr_array_index(aband->skeds, index); c = sw_sked_sprint(sked); if (i == sw->h - 1) { color = sked->worked ? COL_INV | COL_DARKYELLOW : COL_INV; fill_area(sw->x, sw->y + i, sw->w, 1, COL_INV); }else{ color = sked->worked ? COL_DARKYELLOW : COL_NORM; } print_text(sw->x, sw->y + i, sw->w, c + sw->ho, color); g_free(c); } } void sw_sked_check_bounds(struct subwin *sw){ if (!aband) return; /*if (sw->offset < 0) sw->offset=0;*/ if (sw->offset > (int)aband->skeds->len - 1) { sw->offset = (int)aband->skeds->len - 1; } if (sw->offset < 0) sw->offset=0; } /* 11.52 OK1ZIA@144: 432 MHz .250 OK1MCS in JN69QR (1234km, 359gr) at 12:00 we call (this is a remark ) */ void sw_sked_read(gchar *str, int from_my){ int i; struct band *b; struct sked *sked; struct zstring *zs; struct subwin *sw; gchar *c, *d; dbg("sw_sked_read('%s', %d)\n", str, from_my); zs = zstrdup(str); sked = sked_parse(zs); if (!sked) { dbg("bad format of sked '%s'\n", str); return; } zfree(zs); b=find_band_by_pband(sked->pband); if (!b){ dbg("band '%s' not found\n", sked->pband); free_sked(sked); return; } g_ptr_array_add(b->skeds, sked); b->dirty_save = 1; if (b->readonly == 0){ for (i=0; isubwins->len; i++){ sw = g_ptr_array_index(gses->subwins, i); // dbg("type=%d ontop=%d\n", sw->type, sw->ontop); if (sw->type != SWT_SKED) continue; if (sw->ontop) continue; sw->unread=1; } c = sw_sked_sprint(sked); d = g_strdup_printf("Sked %s", c); log_adds(d); g_free(c); g_free(d); skedw_create(b); } check_autosave(); redraw_later(); } char qrg_str[EQSO_LEN]; char pband[EQSO_LEN]="Select"; /* TODO VTEXT(T_SELECT) */ char oldpband[EQSO_LEN]=""; /*, time_str[EQSO_LEN], callsign[EQSO_LEN]*/; /*char locator[EQSO_LEN], remark[MAX_STR_LEN]; */ int pband_int=-1; void refresh_sked(struct qso *q) { char s[10], *c; time_t now; struct tm utc; struct zstring *zs; char sked_time_str[32]; time(&now); gmtime_r(&now, &utc); dbg("refresh_sked\n"); g_snprintf(sked_time_str, 30, "%d.%02d", utc.tm_hour, utc.tm_min); safe_strncpy0(s, aband->pband, 10); c = strchr(s, ' '); if (c) *c='\0'; z_str_uc(callsign); z_str_uc(locator); zs = zconcatesc(sked_time_str, aband->operator_, s, qrg_str, "0", pband, time_str, callsign, locator, remark, NULL); sw_sked_read(zs->str,1); c = g_strdup_printf("SK %s\n", zs->str); rel_write_all(c); g_free(c); zfree(zs); } void sked_fn(struct dialog_data *dlg) { //struct terminal *term = dlg->win->term; //int max = 0, min = 0; //int w, rw; //int y = -1; struct band *band; /* dbg("items[0]=%p\n",dlg->items[0]); dbg("items[0].item=%p\n",dlg->items[0].item); dbg("items[0].cdata=%p\n",dlg->items[0].cdata); */ if (strcmp(pband, oldpband)!=0){ strcpy(oldpband, pband); /* dbg("pband=%s\n");*/ band = find_band_by_pband(pband); if (band) { safe_strncpy0(dlg->items[1].cdata, band->skedqrg, EQSO_LEN); dlg->items[1].cpos = strlen(dlg->items[1].cdata); } } } void sked(void){ struct dialog *d; int i; struct band *band; if (pband_int<0){ for (i = 0; i < ctest->bands->len; i++) { band = (struct band *)g_ptr_array_index(ctest->bands, i); if (band==aband) break; } i++; if (ibands->len){ band = (struct band *)g_ptr_array_index(ctest->bands, i); safe_strncpy0(pband, band->pband, EQSO_LEN); pband_int = i; } } if (pband_int<0) pband_int=0; band = (struct band *)g_ptr_array_index(ctest->bands, pband_int); if (band) safe_strncpy0(qrg_str, band->skedqrg, EQSO_LEN); if (!(d = (struct dialog*)g_malloc(sizeof(struct dialog) + 15 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 15 * sizeof(struct dialog_item)); d->title = VTEXT(T_SEND_SKED); d->fn = dlg_pf_fn; d->fn2 = sked_fn; d->refresh = (void (*)(void *))refresh_sked; d->refresh_data = NULL; d->y0 = 1; i = -1; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_pband; d->items[i].text = pband; d->items[i].msg = CTEXT(T_BAND); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = qrg_str; d->items[i].msg = CTEXT(T_QRG); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 61; d->items[i].data = remark; d->items[i].maxl = EQSO_LEN; d->items[i].msg = CTEXT(T_REMARK), d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = callsign; d->items[i].msg = CTEXT(T_CALLSIGN2); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = locator; d->items[i].msg = CTEXT(T_WWL); d->items[i].wrap = 1; d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void sked_from_tmpqso(struct tmpqso *tmpqso) { time_t now; struct tm utc; time(&now); //now+=cfg->skedshift*60; gmtime_r(&now, &utc); strcpy(qrg_str,""); /* pband */ g_snprintf(time_str, EQSO_LEN, "%d.%02d", utc.tm_hour, utc.tm_min); safe_strncpy0(callsign, tmpqso->callsign, EQSO_LEN); z_str_uc(callsign); safe_strncpy0(locator, tmpqso->locator, EQSO_LEN); z_str_uc(locator); strcpy(remark, ""); sked(); } void sked_from_qso(struct qso *qso) { time_t now; struct tm utc; time(&now); //now+=cfg->skedshift*60; gmtime_r(&now, &utc); strcpy(qrg_str,""); /* pband */ g_snprintf(time_str, EQSO_LEN, "%d.%02d", utc.tm_hour, utc.tm_min); safe_strncpy0(callsign, qso->callsign, EQSO_LEN); z_str_uc(callsign); safe_strncpy0(locator, qso->locator, EQSO_LEN); z_str_uc(locator); strcpy(remark, ""); sked(); } void sked_pband_func(void *arg){ struct band *band; int active; active=GPOINTER_TO_INT(arg); dbg("sked_pband_func(%d)\n", active); if (active<0 || active>=ctest->bands->len) return; pband_int = active; band = g_ptr_array_index(ctest->bands, pband_int); safe_strncpy0(pband, band->pband, EQSO_LEN); safe_strncpy0(qrg_str, band->skedqrg, EQSO_LEN); redraw_later(); } void sked_pband(int apband_int) { int i, sel; struct menu_item *mi; struct band *band; if (!(mi = new_menu(1))) return; for (i = 0; i < ctest->bands->len; i++) { band = (struct band *)g_ptr_array_index(ctest->bands, i); add_to_menu(&mi, band->pband, "", "", MENU_FUNC sked_pband_func, GINT_TO_POINTER(i), 0); } sel = apband_int; if (sel < 0) sel = 0; if (sel>=ctest->bands->len) sel=0; do_menu_selected(mi, NULL, sel); } int dlg_pband(struct dialog_data *dlg, struct dialog_item_data *di){ sked_pband(pband_int); return 0; } struct zstring *sked_format(struct sked *sked){ struct zstring *zs; zs = zconcatesc(sked->sked_time, sked->operator_, sked->src_shortpband, sked->qrg, "0", sked->pband, sked->time_str, sked->callsign, sked->locator, sked->remark, NULL); return zs; } struct sked *sked_parse(struct zstring *zstr){ int tokens; struct sked *sked; tokens = ztokens(zstr); if (tokens<10){ dbg("bad format of sked '%s'\n", zstr->str); return NULL; } sked = g_new0(struct sked, 1); sked->sked_time = g_strdup(ztokenize(zstr, 1)); sked->operator_ = g_strdup(ztokenize(zstr, 0)); sked->src_shortpband = g_strdup(ztokenize(zstr, 0)); sked->qrg = g_strdup(ztokenize(zstr, 0)); ztokenize(zstr, 0); // we_call sked->pband = g_strdup(ztokenize(zstr, 0)); sked->time_str = g_strdup(ztokenize(zstr, 0)); sked->callsign = g_strdup(ztokenize(zstr, 0)); sked->locator = g_strdup(ztokenize(zstr, 0)); sked->remark = g_strdup(ztokenize(zstr, 0)); return sked; } void free_sked(struct sked *sked){ g_free(sked->sked_time); g_free(sked->operator_); g_free(sked->src_shortpband); g_free(sked->qrg); g_free(sked->pband); g_free(sked->time_str); g_free(sked->callsign); g_free(sked->locator); g_free(sked->remark); g_free(sked); } void recalc_worked_skeds(struct band *band){ int i; for (i=0; iskeds->len; i++){ struct sked *sked; sked = g_ptr_array_index(band->skeds, i); sked->worked = get_qso_by_callsign(band, sked->callsign) != NULL; //dbg("sked %s worked=%d\n", sked->callsign, sked->worked); } } /* ***************** SKED WINDOW ******************* */ void draw_skedwindow(struct skedwin_data *skedwdata){ int y,index; fill_area(skedwdata->x+1, skedwdata->y+1, skedwdata->w-2, skedwdata->h-2, COL_INV); draw_frame(skedwdata->x, skedwdata->y, skedwdata->w, skedwdata->h, COL_INV, 1); print_text(skedwdata->x + 5, skedwdata->y, -1, VTEXT(T_SKEDS), COL_NORM); if (!skedwdata->band) return; for (y=0;yh - 2; y++){ gchar *c; struct sked *sked; index = skedwdata->band->skeds->len - skedwdata->h + 2 + y; if (index<0 || index>=skedwdata->band->skeds->len) continue; sked = g_ptr_array_index(skedwdata->band->skeds, index); c = sw_sked_sprint(sked); print_text(skedwdata->x + 2, skedwdata->y+y+1, skedwdata->w - 4, c, COL_INV); g_free(c); } } void skedwindow_func(struct window *win, struct event *ev, int fwd){ struct skedwin_data *skedwdata; skedwdata = (struct skedwin_data *)win->data; // dbg("skedwindow_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b); switch (ev->ev) { case EV_INIT: win->data = skedwdata = gses->skedwdata; case EV_RESIZE: skedwdata->x = gses->ontop->x; skedwdata->y = gses->ontop->y; skedwdata->w = gses->ontop->w; skedwdata->h = 2 + cfg->skedcount; case EV_REDRAW: draw_skedwindow(skedwdata); break; case EV_ABORT: if (gses) gses->skedwdata = NULL; /* mem_free(cwwdata); already in terminal.c:196 (delete_window) */ break; case EV_KBD: if (ev->x == KBD_ESC){ skedwdata->esccnt++; if (skedwdata->esccnt==3){ delete_window_ev(win, ev); return; } }else{ skedwdata->esccnt=0; } dbg("esccnt=%d\n", skedwdata->esccnt); win->next->handler(win, ev, 0); break; default: win->next->handler(win, ev, 0); } } void skedw_timer(void *arg){ struct window *w; if (!gses) return; gses->skedw_timer_id = 0; if (gses->skedwdata == NULL) return; // duplicate check but... foreach(w,term->windows){ if (w->data != gses->skedwdata) continue; delete_window(w); break; } } void skedw_create(struct band *b){ if (cfg->skedcount <= 0) return; if (gses->skedw_timer_id > 0) zselect_timer_kill(zsel, gses->skedw_timer_id); gses->skedw_timer_id = zselect_timer_new(zsel, 5000, skedw_timer, NULL); if (gses->skedwdata) { gses->skedwdata->band = b; return; } gses->skedwdata = g_malloc(sizeof(struct skedwin_data)); memset(gses->skedwdata, 0, sizeof(struct skedwin_data)); gses->skedwdata->band = b; add_window_at_pos(skedwindow_func, NULL, gseswin->prev); } tucnak-4.32/src/hf.h0000644000175000017500000000145012003207707011203 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __HF_H #define __HF_H #include "header.h" struct subwin; struct event; struct spot; struct band; int sw_hf_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_hf_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_hf_redraw(struct subwin *sw, struct band *band, int flags); void sw_hf_check_bounds(struct subwin *sw); void sw_hf_raise(struct subwin *sw); void get_hf_dxc(char *str); void sw_hf_draw_spot(struct subwin *sw, int x, int y, struct spot *spot, time_t now, int acolor); #endif tucnak-4.32/src/Makefile.am0000644000175000017500000000522713776067616012524 00000000000000datarootdir = @datarootdir@ bin_PROGRAMS = tucnak soundwrapper #sdrd EXTRA_PROGRAMS = tucnak.d uhpd CLEANFILES = svnversion.tmp ddir = $(prefix)/lib/$(DEB_HOST_MULTIARCH)/tucnak d_DATA = tucnak.d tucnak_SOURCES = \ ac.c ac.h \ adif.c adif.h alsa.c alsa.h button.c button.h bfu.c bfu.h \ cabrillo.c \ charsets.c charsets.h \ chart.c chart.h codepage.h codepage.inc \ control.c control.h cordata.c cordata.h cordata.inc \ cwdaemon.c cwdaemon.h cwdb.c cwdb.h cwdaemon.h cwwindow.c cwwindow.h \ davac4.c davac4.h dsp.c dsp.h dwdb.c dwdb.h dxc.c dxc.h \ ebw.c ebw.h edi.c edi.h \ error.c excdb.c excdb.h fft.c fft.h \ fifo.c fifo.h \ hdkeyb.c hdkeyb.h header.h \ hf.c hf.h html.c html.h \ httpd.c httpd.h \ icons.c icons.h icons.inc inpout.c inpout.h inputln.c inputln.h \ kbd.c kbd.h \ kbdbind.c kbdbind.h \ kst.c kst.h \ language.c language.h language.inc language2.h \ list.c main.c main.h map.c map.h masterdb.c masterdb.h \ menu.c menu.h menu1.c menu2.c menu3.c menu4.c menu5.c menu6.c menu7.c \ mingw.c mingw.h misc.c misc.h namedb.c namedb.h net.c net.h ntpq.c ntpq.h \ os_dep.c os_dep.h oss.c oss.h pa.c pa.h player.c player.h ppdev.c ppdev.h \ profile.c rain.c rain.h rc.c rc.h \ report.c rotar.c rotar.h rtlsdr.c rtlsdr.h \ qrvdb.c qrvdb.h qsodb.c qsodb.h scope.c scope.h \ sdev.c sdev.h sdr.c sdr.h sdrc.c sdrc.h sdrd.h \ session.c session.h settings.c sked.c sked.h slovhfnet.h slovhfnet.c \ sndf.c sndf.h sndpipe.c sndpipe.h \ sota.c sota.h \ sota_api.c sota_api.h \ sota_spot.c sota_spot.h \ sota_upload.c sota_upload.h \ ssbd.c ssbd.h state.c state.h stats.c stats.h stf.c subwin.c subwin.h svnversion.h \ terminal.c terminal.h titlpage.c translate.c translate.h \ tregex.c tregex.h trig.c trig.h \ tsdl.c tsdl.h ttys.c ttys.h txts.c txts.h txts.inc \ uni_7b.inc update.c update.h voip.c voip.h vhfcontestnet.c vhfcontestnet.h \ winkey.c winkey.h wiki.c wiki.h wizz.c wizz.h \ zosk.c zosk.h \ zstring.c zstring.h tucnak_LDADD = @TUCNAK_LDADD@ #tucnak_DEPENDENCIES = ../../libzia/src/libzia.a soundwrapper_SOURCES = soundwrapper.c tucnak_d_SOURCES = map2d.c uhpd_SOURCES = uhpd.c #sdrd_SOURCES = \ # alsa.c alsa.h \ # dsp.c dsp.h \ # header.h \ # oss.c oss.h \ # pa.c pa.h \ # sdrc.c sdrc.h \ # sdrd.c sdrd.h \ # sndf.c sndf.h \ # sndpipe.c sndpipe.h #sdrd_LDADD = -lzia -lasound -lglib-2.0 -lportaudio -lftdi -lutil -lsndfile #sdrd_LDADD = @TUCNAK_LDADD@ #sdrd_LDFLAGS = -L/home/ok1zia/c/libzia/src/.libs -Wl,-Bstatic -lzia -Wl,-Bdynamic -lsndfile -lasound -lglib-2.0 -lportaudio EXTRA_DIST = msvc.c msvc.h msvcver.h sles.c Android.mk tucnak.d$(EXEEXT): tucnak$(EXEEXT) map2d ./map2d tucnak map2d: map2d.c $(CC) map2d.c -o $@ tucnak-4.32/src/session.h0000644000175000017500000000677513737416550012325 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SESSION_H #define __SESSION_H #include #include #include #define TMPQ aband->tmpqsos[0] struct inputln; struct band; struct skedwin_data; struct zhttp; struct vhfcontestnet; struct slovhfnet; struct wiki; /* also used for ctest->cq->type */ enum modes{ /* TX_RX */ MOD_NONE = 0, MOD_SSB_SSB, MOD_CW_CW, MOD_SSB_CW, MOD_CW_SSB, MOD_AM_AM, MOD_FM_FM, MOD_RTTY_RTTY, MOD_SSTV_SSTV, MOD_ATV_ATV /* 9 */ }; enum extcq { EC_NONE, EC_ODD, EC_EVEN, EC_1ST, EC_2ND }; struct session { struct window *win; int id; int exit_query; GPtrArray *subwins; struct subwin *ontop, *ontop2; gint focused, height1, height2, y1, y2; gint timer_id; struct inputln *il; /* inputline without contest for C_W testing ETC.. */ GPtrArray *qs; MUTEX_DEFINE(qs); // GMutex *qs_mutex; //#ifdef LEAK_DEBUG_LIST // char *qs_file; // int qs_line; //#endif GThread *qs_thread; int qs_thread_break; int qs_max_matches; gchar *qs_str; /* modified only from main thread without cwqs worker thread, no mutex needed */ gchar *qs_master; enum modes mode; gint last_cq_timer_id; struct cq *last_cq; struct cq *ac_cq; gint extcq_break_timer_id; enum extcq extcq; int tx; #ifdef Z_HAVE_SDL SDL_Surface *icon, *oldicon; #else void *icon, *oldicon; #endif GHashTable *hicalls; /* highlighted callsigns in shell */ int tune; int redraw_timer_id; #ifdef Z_HAVE_SDL int update_rotar_timer_id; int bat_timer_id; #endif struct skedwin_data *skedwdata; int skedw_timer_id; struct dw_item *adwi; char *adxc; char *asunriseset; int aqrb, aqtf; #ifdef FALL int fall_id; #endif int sel_start, sel_stop, sel_min, sel_max; struct zhttp *update; #ifdef Z_HAVE_SDL struct zosk *osk; #endif struct vhfcontestnet *vcn; struct slovhfnet *slovhf; struct wiki *wiki; double myh, myw; char *callunder; }; extern struct session *gses; extern struct window *gseswin; struct session *create_session(struct window *win); void *create_session_info(int, char *, int *); void rxtx(void); void esc(void); void rx(void); int preferred_func(struct event *ev); void win_func(struct window *, struct event *, int); void call_ctx_menu(int evx, int evy); void draw_root_window(void); void send_event(struct event *ev); void add_date_time(struct band *band); void fix_date_time(struct band *band); void process_input(void *enterdata,char *text, int cq); void draw_time(void); void time_func(void *); void print_tucnak(int x, int y); void net_timer_redraw(void *); void clear_hicalls(void); int load_hicalls_from_file(char *filename); int save_hicalls_to_file(char *filename); void after_callsign(struct band *band,char *c, char *oldtmpqcall); void after_exc(struct band *band,char *c); void after_locator(struct band *band,char *c); void after_nr(struct band *band,char *c); #ifdef FALL void fall_func(void *arg); #endif //gboolean free_hicalls(gpointer key, gpointer value, gpointer user_data); void process_input_no_contest(void *enterdata, gchar *text, int cq); void update_hw(void); #endif tucnak-4.32/src/scope.h0000644000175000017500000000131012276421636011725 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SCOPE_H #define __SCOPE_H #include "header.h" struct subwin; struct event; int sw_scope_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_scope_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_scope_redraw(struct subwin *sw, struct band *band, int flags); void sw_scope_check_bounds(struct subwin *sw); void sw_scope_raise(struct subwin *sw); void sw_scope_clear_scopes(void); #endif tucnak-4.32/src/davac4.h0000644000175000017500000000200612064326300011744 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __DAVAC4_H #define __DAVAC4_H #ifdef Z_HAVE_LIBFTDI int davac4_init (struct cwdaemon *); int davac4_open (struct cwdaemon *cwda, int verbose); int davac4_free (struct cwdaemon *); int davac4_reset (struct cwdaemon *); int davac4_cw (struct cwdaemon *, int onoff); int davac4_ptt (struct cwdaemon *, int onoff); int davac4_ssbway (struct cwdaemon *, int onoff); int davac4_monitor (struct cwdaemon *, int onoff); int davac4_band (struct cwdaemon *, int bandsw); /*#ifndef HAVE_FTDI_NEW struct ftdi_context *ftdi_new(void); void ftdi_free(struct ftdi_context *ftdi); #endif*/ void usb_info(GString *gs); unsigned short ftdi_checksum(unsigned char *eeprom, int eeprom_size); #endif /* Z_HAVE_LIBFTDI */ #endif tucnak-4.32/src/stf.c0000644000175000017500000001474014016124447011410 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz Florian Wolters This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "language2.h" #include "qsodb.h" #include "stats.h" #include "tsdl.h" static char *padr(char *dst, const char *src, int len){ int l; memset(dst, ' ', len); l = strlen(src); if (l > len) l = len; memcpy(dst, src, l); dst[len] = '\0'; return dst; } static char *padl(char *dst, const char *src, int len){ int l; memset(dst, ' ', len); l = strlen(src); if (l > len) l = len; memcpy(dst + len - l, src, l); dst[len] = '\0'; return dst; } int export_all_bands_stf(void){ int i, err; gchar *filename; FILE *f; char callbuf[20]; int ignoreerror=0; int psect = 2; // 0=Multi, 1=Single, 2=Check char *ope[] = {"MM", "SO", "CHECK"}; char *ass[] = {"(A)", "", "(A)"}; int maxpower = 0; char *powerstr = "HP"; char *cabrillo_modes[]={ "", "SSB", "CW", "SSB", "CW", "AM", "FM", "RTTY", "SSTV", "ATV" }; char s[256]; char t[256]; GString *gs; time_t now; if (!ctest) return -1; dbg("export_all_bands_stf()\n"); progress(VTEXT(T_EXPORTING)); gs = g_string_sized_new(1024); for (i=0; ibands->len;i++){ struct config_band *cb=(struct config_band *)g_ptr_array_index(cfg->bands, i); struct band *band = find_band_by_bandchar(cb->bandchar); if (!band) continue; band->stf_confb = cb; stats_thread_join(band); if (band->stats->nqsos > 0){ int p; dbg("band %c psect = %d\n", band->bandchar, psect); if (band->psect < psect) psect = band->psect; // check has priority. It's not optimal but... dbg("band %c psect = %d\n", band->bandchar, psect); p = atoi(band->spowe); if (p > maxpower) maxpower = p; } dbg("band %c remarks = %s\n", band->bandchar, band->remarks); if (strlen(band->remarks) > 0){ if (gs->len > 0) g_string_append_c(gs, ' '); g_string_append(gs, band->remarks); } } if (maxpower > 0 && maxpower <=100) powerstr = "LP"; if (maxpower > 0 && maxpower <=10) powerstr = "QRP"; filename = g_strdup_printf("%s/%s_%s.stf", ctest->directory, ctest->cdate, z_get_raw_call(callbuf,ctest->pcall)); z_wokna(filename); f=fopen(filename,"wb"); /* must be b for windoze */ if (!f) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), errno); ignoreerror=1;} g_free(filename); g_string_free(gs, 1); progress(NULL); return -1; } err = 0; time(&now); fprintf(f, "STF1\r\n"); fprintf(f, "# Created by %s-%s %s\r\n", PACKAGE_NAME, Z_PLATFORM, PACKAGE_VERSION); fprintf(f, "# File written %s", asctime(gmtime(&now))); fprintf(f, "# STF specs at www.darcdxhf.de\r\n"); fprintf(f, "Header\r\n"); fprintf(f, "Contest %s\r\n", ctest->tname); fprintf(f, "MyCall %s\r\n", ctest->pcall); fprintf(f, "Category %s%s%s\r\n", ope[psect%3], powerstr, ass[psect%3]); fprintf(f, "MailAddress %s\r\n", ctest->rname); fprintf(f, "MailAddress %s %s\r\n", ctest->radr1, ctest->radr2); fprintf(f, "MailAddress %s %s\r\n", ctest->rpoco, ctest->rcity); fprintf(f, "EMail %s\r\n", ctest->rhbbs); fprintf(f, "ClaimedQso %d\r\n", ctest->allb_nqsos); fprintf(f, "ClaimedPts %d\r\n", ctest->allb_nqsop); fprintf(f, "ClaimedMult %d\r\n", ctest->allb_nexcp); fprintf(f, "ClaimedScore %d\r\n", ctest->allb_ntotal); fprintf(f, "Club %s\r\n", ctest->pclub); fprintf(f, "Power %d\r\n", maxpower); fprintf(f, "QsoOrder Date Time Band Mode Call SRst Sent Sent2 RRst Rcvd Rcvd2 Pts Mult Mult2\r\n"); fprintf(f, "EndHeader\r\n"); fprintf(f, "\r\n"); fprintf(f, "QsoList: %s\r\n", gs->str); for (i=0; iallqsos->len; i++){ struct qso *q = (struct qso *)z_ptr_array_index(ctest->allqsos, i); char *d = NULL; if (q->error) continue; if (!q->band) continue; // maybe connot happen, I don't want to investigate if (!q->band->stf_confb) continue; d = NULL; if (!d && ctest->excused && strlen(q->exc) > 0) d = q->exc; if (!d && ctest->wwlused && strlen(q->locator) > 0) d = q->locator; if (!d && ctest->qsoused && strlen(q->qsonrr) > 0) d = q->qsonrr; if (!d && strlen(q->exc) > 0) d = q->exc; if (!d && strlen(q->locator) > 0) d = q->locator; if (!d && strlen(q->qsonrr) > 0) d = q->qsonrr; if (!d) d = " "; fprintf(f, "%s ", q->date_str); fprintf(f, "%s ", padr(s, q->time_str, 4)); if (q->qrg > 0 && q->qrg < 100000000){ fprintf(f, "%5d ", (int)(q->qrg / 1000.0)); }else{ fprintf(f, "%3d ", q->band->stf_confb->stfband); } fprintf(f, "%s ", padr(s, cabrillo_modes[q->mode], 4)); fprintf(f, "%s ", padr(s, q->callsign,13)); fprintf(f, "%s ", padr(s, q->rsts, 3)); g_strlcpy(t, ctest->pexch, sizeof(t)); g_strstrip(t); fprintf(f, "%s ", padr(s, t, strlen(ctest->pexch))); fprintf(f, "%s ", padr(s, ctest->pwwlo, 6)); fprintf(f, "%s ", padr(s, q->rstr,3)); g_strlcpy(t, q->exc, sizeof(t)); g_strstrip(t); if(strlen(t) > 0) { fprintf(f, "%s ", padr(s, t, ctest->exclen)); } else { fprintf(f, "%s ", padr(s, "-", ctest->exclen)); } if(strlen(q->locator) > 0) { fprintf(f, "%s ", padr(s, q->locator, 6)); } else { fprintf(f, "%s ", padr(s, "-", 6)); } fprintf(f, " %d ", q->qsop); if(q->new_ & NEW_EXC) { fprintf(f, "%s ", padr(s, q->exc, 3)); } else { fprintf(f, "- "); } fprintf(f, "%s ", padl(s, "-", 3)); fprintf(f, "\r\n"); } fprintf(f, "EndQsoList\r\n"); fclose(f); if (err) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), 0); ignoreerror=1; } g_free(filename); g_string_free(gs, 1); progress(NULL); return -1; } log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); g_string_free(gs, 1); progress(NULL); return 0; } tucnak-4.32/src/wiki.c0000644000175000017500000005323113700130565011552 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "html.h" #include "chart.h" #include "main.h" #include "map.h" #include "menu.h" #include "qsodb.h" #include "session.h" #include "stats.h" #include "tsdl.h" #include "wiki.h" #include /*gchar *qw(GString *gs, gchar *s){ char *c; g_string_truncate(gs,0); if (!s) return gs->str; g_string_append(gs, ""); for (c=s; *c!='\0'; c++) { switch (*c){ case '<': g_string_append(gs, "<"); break; case '>': g_string_append(gs, ">"); break; case '"': g_string_append(gs, """); break; case '&': g_string_append(gs, "&"); break; case '\'': g_string_append(gs, "'"); break; default: g_string_append_c(gs, *c); } } g_string_append(gs, ""); return gs->str; }*/ void wiki_header(GString *gs){ int i; zg_string_eprintfa("w", gs, "=%s=\n", ctest->tname); g_string_append_printf(gs, "{| style=\"background-color:#ffffcc;\"\n"); zg_string_eprintfa("w", gs, "|-\n|%s||%S\n", VTEXT(T_CALL2), ctest->pcall); zg_string_eprintfa("w", gs, "|-\n|%s||%S\n", VTEXT(T_WWL2), ctest->pwwlo); if (ctest->padr1 && *ctest->padr1) zg_string_eprintfa("w", gs, "|-\n|%s||%s\n", VTEXT(T_QTH), ctest->padr1); if (ctest->padr2 && *ctest->padr2) zg_string_eprintfa("w", gs, "|-\n| ||%s\n", ctest->padr2); i = atoi(ctest->cdate); g_string_append_printf(gs, "|-\n|%s||%d.%d.%d\n", VTEXT(T_DATE3), i % 100, (i / 100) % 100, i / 10000); g_string_append_printf(gs, "|}\n"); } static void wiki_wwl_func(gpointer key, gpointer value, gpointer user_data){ gchar *wwl; struct cntpts *n; ZPtrArray *ia; wwl = (gchar *) key; n = (struct cntpts *) value; ia = (ZPtrArray *) user_data; z_ptr_array_add(ia, g_strdup_printf("%4s||align=\"right\"|\t%d||align=\"right\"|%d", wwl, n->points, n->count)); } static gint wiki_compare_colon_int (gconstpointer a, gconstpointer b){ gchar **ca, **cb, *c; int ia, ib; ca=(gchar **)a; cb=(gchar **)b; c=strchr(*ca, '\t'); if (c) ia=atoi(c+1); else ia=0; c=strchr(*cb, '\t'); if (c) ib=atoi(c+1); else ib=0; return ib-ia; } #define TOPS_NUM 10 void wiki_band_header(GString *gs, struct band *band, int flags){ struct qso *q, *top[TOPS_NUM]; int i, j, cnt = 0; ZPtrArray *ia; char *c; int ntotal; struct subwin *map = NULL; struct subwin *chart = NULL; int oldaa; if (flags & HTML_MAP) map = sw_raise_or_new(SWT_MAP); if (flags & HTML_CHART) chart = sw_raise_or_new(SWT_CHART); /*for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin*)g_ptr_array_index(gses->subwins, i); if ((flags & HTML_MAP) && sw->type == SWT_MAP) map = sw; if ((flags & HTML_CHART) && sw->type == SWT_CHART) chart = sw; } */ #if defined(Z_HAVE_SDL) && defined(Z_HAVE_LIBPNG) oldaa = zsdl->antialiasing; if (zsdl->antialiasing_supported) zsdl->antialiasing = 1; zg_free0(band->mapfile); if (map && map->screen){ map->gdirty = 1; map_for_photo(map, band, 0); map_recalc_gst(map, band); sw_map_redraw(map, band, HTML_FOR_PHOTO); band->mapfile = g_strdup_printf("%s/map%c.png", ctest->directory, tolower(band->bandchar)); zpng_save(map->screen, band->mapfile, NULL); } zg_free0(band->chartfile); if (chart && chart->screen){ chart->gdirty = 1; sw_chart_recalc_extremes(chart, band); sw_chart_redraw(chart, band, 0); band->chartfile = g_strdup_printf("%s/chart%c.png", ctest->directory, tolower(band->bandchar)); zpng_save(chart->screen, band->chartfile, NULL); } if (map) map_recalc_gst(map, aband); zsdl->antialiasing = oldaa; #endif if (chart) sw_chart_recalc_extremes(chart, aband); g_string_append_printf(gs, "\n\n=Band %s=\n", band->bandname); ntotal = band->stats->ntotal; if (ntotal < 10000){ ntotal = ( ntotal / 100 ) * 100; }else{ ntotal = ( ntotal / 1000 ) * 1000; } g_string_append_printf(gs, "{| style=\"background-color:#ffffcc;\"\n"); g_string_append_printf(gs, "|+ %s\n", band->bandname); g_string_append_printf(gs, "|-\n|%s||%d\n", VTEXT(T_QSOS2), band->stats->nqsos); g_string_append_printf(gs, "|-\n|%s||%d\n", VTEXT(T_POINTS2), ntotal); g_string_append_printf(gs, "|-\n|%s||%d\n", VTEXT(T_WWLS), g_hash_table_size(band->stats->wwls)); g_string_append_printf(gs, "|-\n|%s||%d\n", VTEXT(T_DXCCS), g_hash_table_size(band->stats->dxcs)); g_string_append_printf(gs, "|-\n|%s||%d %s\n", VTEXT(T_AVG2), band->stats->ntotal/band->stats->nqsos, VTEXT(T_PTSQSO)); g_string_append_printf(gs, "|}\n"); /* top 10 */ memset(top, 0, TOPS_NUM * sizeof(struct qso *)); for (i = 0; i < band->qsos->len; i++) { if (!top[0]) { /* init first item */ q = get_qso(band, i); if (!q->error && !q->dupe) { cnt = 0; top[cnt++] = q; /*dbg("init: %s %u\n=\n", top[0]->callsign, (int) top[0]->qrb);*/ } continue; } q = get_qso(band, i); /*dbg("selected %u: %s %u\n", i, q->callsign, (int) q->qrb);*/ if (q->error || q->dupe) continue; if (cnt >= TOPS_NUM) cnt = TOPS_NUM - 1; /* initialize or find top dx and sort top array */ if (!top[cnt] || q->qrb > top[cnt]->qrb) { for (j = cnt; j >= 0; j--) { if (j && q->qrb > top[j - 1]->qrb) { top[j] = top[j - 1]; /* move down */ /*dbg("down %u: %s %u\n", j, top[j]->callsign, (int) top[j]->qrb);*/ } else { top[j] = q; /* insert */ cnt++; /*dbg("insert %u: %s %u\n", j, top[j]->callsign, (int) top[j]->qrb);*/ break; } } } } g_string_append_printf(gs, "\n\n"); //tabulka kolem g_string_append_printf(gs, "{| cellpadding=\"10\" style=\"background: transparent;\"\n"); g_string_append_printf(gs, "|\n"); g_string_append_printf(gs, "{| cellpadding=\"5\" style=\"background-color:#ffffcc;\"\n"); g_string_append_printf(gs, "|+ %s\n", VTEXT(T_TOP_10_CALLS)); g_string_append_printf(gs, "!%s!!%s!!%s!!%s\n", VTEXT(T_CALL), VTEXT(T_QRB), VTEXT(T_OPERATOR2), VTEXT(T_MODE2)); for (i = 0; i < TOPS_NUM && i < band->qsos->len && top[i]; i++) { q = top[i]; g_string_append_printf(gs, "|-\n|%s||align=\"right\"|%4u km||%s||%s\n", q->callsign, (int) q->qrb, q->operator_, mode_msg[q->mode]); } g_string_append_printf(gs, "|}\n"); ia = z_ptr_array_new(); g_hash_table_foreach(band->stats->wwls, wiki_wwl_func, ia); z_ptr_array_qsort(ia, wiki_compare_colon_int); g_string_append_printf(gs, "|\n"); g_string_append_printf(gs, "{| cellpadding=\"5\" style=\"background-color:#ffffcc;\"\n"); g_string_append_printf(gs, "|+ %s\n", VTEXT(T_TOP_10_WWLS)); g_string_append_printf(gs, "!%s!!%s!!%s\n", VTEXT(T_WWL3), VTEXT(T_POINTS), VTEXT(T_SW_QSOS)); for (i = 0; i < ia->len && i < 10; i++){ c = (gchar *)z_ptr_array_index(ia, i); g_string_append_printf(gs, "|-\n|%s\n", c); } g_string_append_printf(gs, "|}\n"); z_ptr_array_free_all(ia); g_string_append_printf(gs, "|}\n\n"); #ifdef Z_HAVE_SDL if (map && map->screen){ g_string_append_printf(gs, "[[File:map_%s_%s_%c.png|border|%dpx|%s %s %s]]\n\n", ctest->pcall, ctest->cdate, z_char_lc(band->bandchar), map->screen->w, ctest->pcall, ctest->tname, band->bandname); } if (chart && chart->screen){ g_string_append_printf(gs, "[[File:chart_%s_%s_%c.png|border|%dpx|%s %s %s]]\n\n", ctest->pcall, ctest->cdate, z_char_lc(band->bandchar), chart->screen->w, ctest->pcall, ctest->tname, band->bandname); } #endif } void wiki_footer(GString *gs){ g_string_append_printf(gs, "\n\nCreated by [http://tucnak.nagano.cz Tucnak ver. %s]\n", VERSION_STRING); } void wiki_complete(GString *gs, int flags){ int i; struct band *band; int header_saved=0; for (i=0; ibands->len; i++){ band = (struct band *)g_ptr_array_index(ctest->bands, i); stats_thread_join(band); if (band->stats->nqsos <=0) continue; if (!header_saved){ wiki_header(gs); header_saved=1; } wiki_band_header(gs, band, flags); } wiki_footer(gs); } int export_all_bands_wiki(){ gchar *filename; FILE *f; char callbuf[20]; GString *gs; if (!ctest) return -1; dbg("export_all_bands_wiki()\n"); progress(VTEXT(T_EXPORTING)); filename = g_strdup_printf("%s/%s_%s.wiki", ctest->directory, ctest->cdate, z_get_raw_call(callbuf,ctest->pcall)); z_wokna(filename); f=fopen(filename,"wt"); if (!f) { errbox(VTEXT(T_CANT_WRITE), errno); g_free(filename); progress(NULL); return -1; } gs = g_string_sized_new(100000); wiki_complete(gs, HTML_MAP | HTML_CHART); if (fprintf(f, "%s", gs->str) <= 0){ errbox(VTEXT(T_CANT_WRITE), 0); g_free(filename); g_string_free(gs, TRUE); progress(NULL); return -1; } fclose(f); log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); g_string_free(gs, TRUE); progress(NULL); return 0; } //-------- wiki upload ----------------------------------------------------------------------------------- char wiki_url[MAX_STR_LEN]; char wiki_user[MAX_STR_LEN]; char wiki_pass[MAX_STR_LEN]; char wiki_page[MAX_STR_LEN]; int wiki_map, wiki_chart, wiki_overwrite; void free_wiki(struct wiki *wiki){ zhttp_free(wiki->http); g_free(wiki->edittoken); zg_ptr_array_free_all(wiki->images); g_free(wiki); gses->wiki = NULL; } void wiki_status(struct wiki *wiki, char *fmt, ...) { va_list l; va_start(l, fmt); g_free(wiki->status); wiki->status = g_strdup_vprintf(fmt, l); va_end(l); } void wiki_upload_callback(struct zhttp *http){ struct wiki *wiki = (struct wiki*)http->arg; char *result; if (http->errorstr){ wiki_status(wiki, VTEXT(T_CANT_UPLOAD_FILE_S), http->errorstr); zhttp_free0(wiki->http); return; } result = zjson_get_str(http->datastr, -1, "upload.result"); if (result == NULL){ wiki_status(wiki, VTEXT(T_CANT_UPLOAD_PAGE_WIKI_RET), http->datastr); zhttp_free0(wiki->http); return; } if (strcmp(result, "Success") != 0){ //{"upload":{"result":"Warning","warnings":{"exists":"Map_OK2M_20140503_c.png"},"filekey":"12g68l2hgzbk.9a37ay.2.png","sessionkey":"12g68l2hgzbk.9a37ay.2.png"}} char *exists = zjson_get_str(http->datastr, -1, "upload.warnings.exists"); if (exists != NULL){ wiki_status(wiki, VTEXT(T_FILE_ALREADY_EXISTS), exists); g_free(exists); }else{ wiki_status(wiki, VTEXT(T_CANT_UPLOAD_PAGE_RET), result); } zhttp_free0(wiki->http); g_free(result); return; } g_free(result); wiki_schedule(wiki); } void wiki_upload_file(struct wiki *wiki, char *localfilename, char *filename, int ignorewarnings){ struct zhttp *http = wiki->http; zhttp_post_free(http); zhttp_post_add(http, "action", "upload"); zhttp_post_add(http, "filename", filename); //zhttp_post_add(http, "text", "text"); //zhttp_post_add(http, "comment", "Some uploaded file"); zhttp_post_add(http, "format", "json"); zhttp_post_add_file_disk(http, "file", filename, localfilename); if (ignorewarnings) zhttp_post_add(http, "ignorewarnings", "yes"); zhttp_post_add(http, "token", wiki->edittoken); zhttp_post(wiki->http, zsel, wiki->apiurl, wiki_upload_callback, wiki); } void wiki_edit_callback(struct zhttp *http){ struct wiki *wiki = (struct wiki*)http->arg; char *result; if (http->errorstr){ wiki_status(wiki, VTEXT(T_CANT_EDIT_PAGE), http->errorstr); zhttp_free0(wiki->http); return; } result = zjson_get_str(http->datastr, -1, "edit.result"); if (result == NULL){ wiki_status(wiki, VTEXT(T_CANT_EDIT_PAGE_RET), http->datastr); zhttp_free0(wiki->http); return; } if (strcmp(result, "Success") != 0){ wiki_status(wiki, VTEXT(T_CANT_EDIT_PAGE_RET2), result); zhttp_free0(wiki->http); g_free(result); return; } g_free(result); wiki_schedule(wiki); } void wiki_edit_file(struct wiki *wiki, char *title, const char *text){ struct zhttp *http = wiki->http; const char *t; char *buf; iconv_t cd = iconv_open("UTF-8","ISO8859-2"); if (cd != (iconv_t)(-1)){ char *inptr = title; char *outptr; size_t in = strlen(title); size_t out = in * 10; size_t ret; buf = g_new0(char, out); outptr = buf; ret = iconv(cd, &inptr, &in, &outptr, &out); if (ret != (size_t)-1){ t = buf; }else{ t = title; } }else{ t = title; } zhttp_post_free(http); zhttp_post_add(http, "action", "edit"); zhttp_post_add(http, "title", t); zhttp_post_add(http, "text", text); zhttp_post_add(http, "assert", "user"); zhttp_post_add(http, "format", "json"); zhttp_post_add(http, "token", wiki->edittoken); zhttp_post(wiki->http, zsel, wiki->apiurl, wiki_edit_callback, wiki); if (cd != (iconv_t)(-1)){ g_free(buf); iconv_close(cd); } } void wiki_schedule(struct wiki *wiki){ char *localfile, *file = NULL; const char *f; if (wiki->text){ wiki_edit_file(wiki, wiki_page, wiki->text); zg_free0(wiki->text); wiki_status(wiki, VTEXT(T_EDITING_CONTEST_PAGE)); return; } if (wiki->images->len == 0){ wiki_status(wiki, VTEXT(T_ALL_DONE)); wiki->done = 1; return; } localfile = (char *)g_ptr_array_index(wiki->images, 0); g_ptr_array_remove_index(wiki->images, 0); f = z_filename(localfile); if (strncmp(f, "map", 3) == 0){ file = g_strdup_printf("map_%s_%s_%c.png", ctest->pcall, ctest->cdate, f[3]); } if (strncmp(f, "chart", 5) == 0){ file = g_strdup_printf("chart_%s_%s_%c.png", ctest->pcall, ctest->cdate, f[5]); } if (file != NULL){ wiki_upload_file(wiki, localfile, file, wiki_overwrite); wiki_status(wiki, VTEXT(T_UPLOADING_FILE), f); }else{ wiki_status(wiki, VTEXT(T_UNKNOWN_FILE_FOR_UPLOAD), localfile); } g_free(localfile); g_free(file); } // old API about 1.19 void wiki_query_edittoken(struct zhttp *http){ struct wiki *wiki = (struct wiki*)http->arg; if (http->errorstr){ wiki_status(wiki, VTEXT(T_CANT_QUERY_EDIT_TOKEN), http->errorstr); zhttp_free0(wiki->http); return; } //{"query":{"pages":{"-1":{"ns":0,"title":"Main Page","missing":"","starttimestamp":"2014-07-15T06:21:10Z","edittoken":"43cf06841bc074e7922cece1617f1504+\\"}}}} wiki->edittoken = zjson_get_str(http->datastr, -1, "query.pages.-1.edittoken"); if (wiki->edittoken == NULL){ wiki_status(wiki, VTEXT(T_CANT_QUERY_EDIT_TOKEN_RET), wiki); zhttp_free0(wiki->http); return; } wiki_schedule(wiki); } void wiki_logged_in(struct wiki *wiki){ GString *gs; gs = g_string_new(wiki->apiurl); //zg_string_eprintfa("u", gs, "api.php?action=tokens&type=edit&format=json"); new API zg_string_eprintfa("u", gs, "?action=query&format=json&type=import&prop=info|revisions&intoken=edit&titles=%s", "Main Page"); zhttp_post(wiki->http, zsel, gs->str, wiki_query_edittoken, wiki); g_string_free(gs, TRUE); wiki_status(wiki, VTEXT(T_QUERYING_EDIT_TOKEN)); } void wiki_login2(struct zhttp *http){ struct wiki *wiki = (struct wiki*)http->arg; char *result; if (http->errorstr){ wiki_status(wiki, VTEXT(T_CANT_LOGIN), http->errorstr); zhttp_free0(wiki->http); return; } result = zjson_get_str(http->datastr, -1, "login.result"); if (result != NULL && strcmp(result, "Success") == 0){ wiki_logged_in(wiki); }else{ wiki_status(wiki, VTEXT(T_CANT_LOGIN2), result); } g_free(result); } void wiki_login1(struct zhttp *http){ struct wiki *wiki = (struct wiki*)http->arg; char *result, *token; if (http->errorstr){ wiki_status(wiki, VTEXT(T_CANT_LOGIN1), http->errorstr); zhttp_free0(wiki->http); return; } // html={"login":{"result":"NeedToken","token":"b03a54f2c660eae532eaaab9a272973b","cookieprefix":"wiki_krq","sessionid":"99611b7e82e04d8a7e2542030d5f18a1"}} result = zjson_get_str(http->datastr, -1, "login.result"); token = zjson_get_str(http->datastr, -1, "login.token"); if (strcasecmp(result, "NeedToken") == 0){ GString *gs = g_string_new(wiki->apiurl); zg_string_eprintfa("u", gs, "?action=login&format=json&lgname=%s&lgpassword=%s&lgtoken=%s", wiki_user, wiki_pass, token); zhttp_post(wiki->http, zsel, gs->str, wiki_login2, wiki); g_string_free(gs, TRUE); }else{ wiki_logged_in(wiki); } g_free(result); g_free(token); } void wiki_export(void *arg){ int i; int flags = 0; struct wiki *wiki = (struct wiki*)arg; GString *gs = g_string_new(""); redraw(); wiki->http = zhttp_init(); if (wiki_map) flags |= HTML_MAP; if (wiki_chart) flags |= HTML_CHART; wiki_complete(gs, flags); wiki->text = g_strdup(gs->str); for (i=0; ibands->len; i++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->mapfile) g_ptr_array_add(wiki->images, g_strdup(b->mapfile)); if (b->chartfile) g_ptr_array_add(wiki->images, g_strdup(b->chartfile)); } g_string_truncate(gs, 0); g_string_append(gs, wiki_url); if (gs->len > 0 && gs->str[gs->len - 1] != '/') g_string_append_c(gs, '/'); g_string_append(gs, "api.php"); wiki->apiurl = g_strdup(gs->str); zg_string_eprintfa("u", gs, "?action=login&format=json&lgname=%s&lgpassword=%s", wiki_user, wiki_pass); zhttp_post(wiki->http, zsel, gs->str, wiki_login1, wiki); g_string_free(gs, TRUE); wiki_status(wiki, VTEXT(T_LOGGING_IN)); } void wiki_refresh_upload(void *xxx){ struct wiki *wiki; STORE_STR(cfg, wiki_url); STORE_STR(cfg, wiki_user); STORE_STR(cfg, wiki_pass); STORE_INT(cfg, wiki_map); STORE_INT(cfg, wiki_chart); wiki = g_new0(struct wiki, 1); wiki->images = g_ptr_array_new(); gses->wiki = wiki; wiki_status(wiki, VTEXT(T_EXPORTING_FILES)); wiki_info(NULL); zselect_bh_new(zsel, wiki_export, wiki); } void wiki_upload(void *arg){ struct dialog *d; int i; if (!ctest) return; if (gses->wiki != NULL) return; safe_strncpy0(wiki_url, cfg->wiki_url, MAX_STR_LEN); safe_strncpy0(wiki_user, cfg->wiki_user, MAX_STR_LEN); safe_strncpy0(wiki_pass, cfg->wiki_pass, MAX_STR_LEN); safe_strncpy0(wiki_page, ctest->tname, MAX_STR_LEN); wiki_map = 1; wiki_chart = 1; if (!(d = (struct dialog *) g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_NETWORK); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))wiki_refresh_upload; d->y0 = 1; i = -1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = wiki_page; d->items[i].maxl = 44; d->items[i].msg = CTEXT(T_PAGE_NAME); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wiki_overwrite; d->items[i].msg = CTEXT(T_OVERWRITE_EXISTING_FILES); d->items[i].wrap = 2; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = wiki_url; d->items[i].maxl = 44; d->items[i].msg = CTEXT(T_SITE_URL); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = wiki_user; d->items[i].maxl = 16; d->items[i].msg = CTEXT(T_USERNAME); //d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = wiki_pass; d->items[i].maxl = 16; d->items[i].msg = CTEXT(T_PASSWORD2); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wiki_map; d->items[i].msg = CTEXT(T_EXPORT_MAP); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wiki_chart; d->items[i].msg = CTEXT(T_EXPORT_CHART); d->items[i].wrap = 1; d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void wiki_abort(void *arg){ if (!gses->wiki) return; free_wiki(gses->wiki); gses->wiki = NULL; } void wiki_info(void *arg1){ struct refresh *r; char *c, *button; GString *gs; if (!gses || !gses->wiki) return; if (term->windows.next->handler == menu_func){ zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, wiki_info, NULL); }else{ r = (struct refresh*)g_malloc(sizeof(struct refresh)); r->win = NULL; r->fn = wiki_info; r->data = NULL; r->timer = -1; gs = g_string_new(""); if (gses->wiki->status != NULL) g_string_append_printf(gs, "%s", gses->wiki->status); if (gses->wiki->status != NULL && gses->wiki->http != NULL) g_string_append(gs, "\n\n"); if (gses->wiki->http != NULL){ g_string_append(gs, VTEXT(T_HTTP_STATUS)); zhttp_status(gses->wiki->http, gs); } button = gses->wiki->done ? VTEXT(T_OK) : VTEXT(T_CANCEL); c = g_strdup(gs->str); g_string_free(gs, TRUE); msg_box(getml(c, NULL), VTEXT(T_MEDIAWIKI_UPLOAD2)/*VTEXT(T_NINFO)*/, AL_LEFT, c, r, 1, button, wiki_abort, B_ENTER | B_ESC); r->win = term->windows.next; ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort; r->timer = zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r); } } tucnak-4.32/src/inpout.c0000644000175000017500000000735113700130565012127 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdaemon.h" #include "fifo.h" #include "inpout.h" #include "language2.h" #include "rc.h" #if defined(Z_MSC_MINGW_CYGWIN) int parport_init(struct cwdaemon *cwda){ cwda->hInpOut = LoadLibrary("inpout32.dll"); if (!cwda->hInpOut) { log_addf(VTEXT(T_CANT_LOAD_INPOUT), GetLastError()); return -1; } cwda->inp32 = (short (_stdcall *)(short port))GetProcAddress(cwda->hInpOut, "Inp32"); if (!cwda->inp32){ log_addf("Can't get entry point for Inp32, error %d", GetLastError()); FreeLibrary(cwda->hInpOut); cwda->hInpOut = NULL; return -2; } cwda->out32 = (void (_stdcall *)(short port, short data))GetProcAddress(cwda->hInpOut, "Out32"); if (!cwda->inp32){ log_addf("Can't get entry point for Out32, error %d", GetLastError()); FreeLibrary(cwda->hInpOut); cwda->hInpOut = NULL; return -3; } MUTEX_INIT(cwda->hInpOut); cwda->baseport = strtol(cfg->cwda_device, NULL, 0); cwda->ctrl = cwda->inp32(cwda->baseport+2); parport_reset(cwda); return 0; } int parport_free(struct cwdaemon *cwda){ if (!cwda || !cwda->hInpOut) return 0; MUTEX_LOCK(cwda->hInpOut); cwda->ctrl &= 0xf0; cwda->ctrl |= 0x0b; /* /CW=L=1 PTT=L=0 /SSBW=L=1 /ENABLE=H=0 */ cwda->out32(cwda->baseport+2, cwda->ctrl); MUTEX_UNLOCK(cwda->hInpOut); FreeLibrary(cwda->hInpOut); cwda->hInpOut = NULL; MUTEX_FREE(cwda->hInpOut); return 0; } int parport_reset(struct cwdaemon *cwda){ if (!cwda || !cwda->hInpOut) return 0; MUTEX_LOCK(cwda->hInpOut); cwda->ctrl &= 0xf0; cwda->ctrl &= ~0x04; cwda->ctrl |= 0x0b; /* /CW=L=1 PTT=L=0 /SSBW=L=1 /ENABLE=L=1 */ cwda->out32(cwda->baseport+2, cwda->ctrl); MUTEX_UNLOCK(cwda->hInpOut); return 0; } int parport_cw(struct cwdaemon *cwda, int onoff){ if (!cwda || !cwda->hInpOut) return 1; MUTEX_LOCK(cwda->hInpOut); if (onoff) cwda->ctrl &= ~0x08; /* /CW=H=0 */ else cwda->ctrl |= 0x08; /* /CW=L=1 */ cwda->out32(cwda->baseport+2, cwda->ctrl); MUTEX_UNLOCK(cwda->hInpOut); return 0; } int parport_ptt(struct cwdaemon *cwda, int onoff){ if (!cwda || !cwda->hInpOut) return 1; MUTEX_LOCK(cwda->hInpOut); if (onoff) cwda->ctrl |= 0x04; /* PTT=H=1 */ else cwda->ctrl &= ~0x04; /* PTT=L=0 */ cwda->out32(cwda->baseport+2, cwda->ctrl); MUTEX_UNLOCK(cwda->hInpOut); return 0; } int parport_ssbway(struct cwdaemon *cwda, int onoff){ if (!cwda || !cwda->hInpOut) return 1; MUTEX_LOCK(cwda->hInpOut); if (onoff) cwda->ctrl &= ~0x02; /* /SSBW=H=0 */ else cwda->ctrl |= 0x02; /* /SSBW=L=1 */ cwda->out32(cwda->baseport+2, cwda->ctrl); MUTEX_UNLOCK(cwda->hInpOut); return 0; } int parport_band(struct cwdaemon *cwda, int bandsw){ if (!cwda || !cwda->hInpOut) return 1; cwda->data &= ~0xe1; if (bandsw & 0x01) cwda->data |= 0x01; if (bandsw & 0x02) cwda->data |= 0x20; if (bandsw & 0x04) cwda->data |= 0x40; if (bandsw & 0x08) cwda->data |= 0x80; cwda->out32(cwda->baseport, cwda->data); return 0; } void parport_info(GString *gs){ HMODULE hInpOut; g_string_append_printf(gs, "\n parport_info:\n"); g_string_append_printf(gs, "Using inpout32.dll"); hInpOut = LoadLibrary("inpout32.dll"); if (!hInpOut) { g_string_append_printf(gs, ", can't load library\nError %d ", GetLastError()); z_lasterror(gs); g_string_append_printf(gs, "\n"); }else{ g_string_append_printf(gs, ", library loaded\n"); FreeLibrary(hInpOut); } g_string_append_printf(gs, "\n"); } #endif tucnak-4.32/src/charsets.h0000644000175000017500000000125311602633211012420 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __CHARSETS_H #define __CHARSETS_H struct conv_table { int t; union { char *str; struct conv_table *tbl; } u; }; /*struct conv_table *get_translation_table(int, int);*/ int get_cp_index(char *n); char *get_cp_name(int); /*char *get_cp_mime_name(int);*/ int is_cp_special(int); void free_conv_table(void); char *cp2utf_8(int, int); char *u2cp(int, int); #endif tucnak-4.32/src/edi.c0000644000175000017500000012050314016001471011337 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "chart.h" #include "control.h" #include "cwdb.h" #include "edi.h" #include "excdb.h" #include "fifo.h" #include "main.h" #include "menu.h" #include "map.h" #include "namedb.h" #include "net.h" #include "qrvdb.h" #include "qsodb.h" #include "rain.h" #include "session.h" #include "sked.h" #include "stats.h" #include "tregex.h" #include "tsdl.h" static int edi_serid_used; #define dumpvar(var) { int dvi; dbg("%s=",#var); for (dvi=0; dvidate_str && strlen(q->date_str)>2){ safe_strncpy0(s, q->date_str+2, 7); g_string_append(gs, s); } g_string_append_c(gs, ';'); g_string_append(gs, safe_strncpy0(s, q->time_str, 5)); g_string_append_c(gs, ';'); if (q->error) g_string_append(gs, "ERROR"); else g_string_append(gs, z_str_uc(safe_strncpy0(s, q->callsign, 20))); g_string_append_c(gs, ';'); g_string_append_printf(gs, "%d", q->mode); g_string_append_c(gs, ';'); g_string_append(gs, z_str_uc(safe_strncpy0(s, q->rsts, 6))); g_string_append_c(gs, ';'); g_string_append(gs, z_str_uc(safe_strncpy0(s, q->qsonrs, 5))); g_string_append_c(gs, ';'); g_string_append(gs, z_str_uc(safe_strncpy0(s, q->rstr, 6))); g_string_append_c(gs, ';'); g_string_append(gs, z_str_uc(safe_strncpy0(s, q->qsonrr, 5))); g_string_append_c(gs, ';'); safe_strncpy0(s, q->exc, MAX_EXC_LEN+1); g_string_append(gs, z_str_uc(s)); g_string_append_c(gs, ';'); g_string_append(gs, z_str_uc(safe_strncpy0(s, q->locator, 7))); g_string_append_c(gs, ';'); } void add_qso_str2(GString *gs, struct qso *q, struct band *b){ if (!q->dupe && !q->error && strcasecmp(q->callsign, "ERROR")!=0) g_string_append_printf(gs, "%d;", q->qsop/* * b->bandmulti*/); else{ g_string_append(gs, "0;"); dump_qso(q, "write_edi_qsos"); } if (q->new_ & NEW_EXC) g_string_append_c(gs, 'N'); g_string_append_c(gs, ';'); if (q->new_ & NEW_WWL) g_string_append_c(gs, 'N'); g_string_append_c(gs, ';'); if (q->new_ & NEW_DXC) g_string_append_c(gs, 'N'); g_string_append_c(gs, ';'); if (q->dupe) g_string_append_c(gs, 'D'); } void add_qso_str3(GString *gs, struct qso *q, struct band *b){ char s[1024]; g_string_append(gs, q->source); g_string_append_c(gs, ';'); g_string_append(gs, fixsemi(q->operator_)); g_string_append_c(gs, ';'); g_string_append_printf(gs, "%d;", (int)q->stamp); if (q->error) g_string_append(gs, q->callsign); g_string_append_c(gs, ';'); safe_strncpy0(s, q->date_str, 3); g_string_append(gs, s); g_string_append_c(gs, ';'); safe_strncpy0(s, q->remark, MAX_STR_LEN); g_string_append(gs, fixsemi(s)); g_string_append_printf(gs, ";%d", q->ser_id); g_string_append_printf(gs, ";%1.0f", q->qrg); g_string_append_printf(gs, ";%d", q->phase); } const char *get_psect_str(struct band *b){ switch(b->psect){ case 0: return "Multi"; case 1: return "Single"; case 2: return "Check"; default: return b->opsect; } } static int write_edi_header(struct band *b, struct config_band *confb, FILE *f){ char s[1024]; GString *gs; int ret; int qsomult; gs = g_string_sized_new(1024); g_string_append_printf(gs, "[REG1TEST;1]\r\n"); g_string_append_printf(gs, "TName=%s\r\n", safe_strncpy0(s, ctest->tname, 69)); if (!b->qsos->len) g_string_append_printf(gs, "TDate=%s;%s\r\n", ctest->cdate, ctest->cdate); else g_string_append_printf(gs, "TDate=%d;%d\r\n", b->stats->first_date, b->stats->last_date); g_string_append_printf(gs, "PCall=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pcall, 69))); g_string_append_printf(gs, "PWWLo=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pwwlo, 69))); g_string_append_printf(gs, "PExch=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pexch, MAX_EXC_LEN+1))); g_string_append_printf(gs, "PAdr1=%s\r\n", safe_strncpy0(s, ctest->padr1, 69)); g_string_append_printf(gs, "PAdr2=%s\r\n", safe_strncpy0(s, ctest->padr2, 69)); g_string_append_printf(gs, "PSect=%s\r\n", get_psect_str(b)); g_string_append_printf(gs, "PBand=%s\r\n", b->pband); g_string_append_printf(gs, "PClub=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->pclub, 69))); g_string_append_printf(gs, "RName=%s\r\n", safe_strncpy0(s, ctest->rname, 69)); g_string_append_printf(gs, "RCall=%s\r\n", z_str_uc(safe_strncpy0(s, ctest->rcall, 69))); g_string_append_printf(gs, "RAdr1=%s\r\n", safe_strncpy0(s, ctest->radr1, 69)); g_string_append_printf(gs, "RAdr2=%s\r\n", safe_strncpy0(s, ctest->radr2, 69)); g_string_append_printf(gs, "RPoCo=%s\r\n", safe_strncpy0(s, ctest->rpoco, 69)); g_string_append_printf(gs, "RCity=%s\r\n", safe_strncpy0(s, ctest->rcity, 69)); g_string_append_printf(gs, "RCoun=%s\r\n", safe_strncpy0(s, ctest->rcoun, 69)); g_string_append_printf(gs, "RPhon=%s\r\n", safe_strncpy0(s, ctest->rphon, 69)); g_string_append_printf(gs, "RHBBS=%s\r\n", safe_strncpy0(s, ctest->rhbbs, 69)); g_string_append_printf(gs, "MOpe1=%s\r\n", z_str_uc(safe_strncpy0(s, b->mope1, 69))); g_string_append_printf(gs, "MOpe2=%s\r\n", z_str_uc(safe_strncpy0(s, b->mope2, 69))); g_string_append_printf(gs, "STXEq=%s\r\n", safe_strncpy0(s, b->stxeq, 69)); g_string_append_printf(gs, "SPowe=%s\r\n", safe_strncpy0(s, b->spowe, 69)); g_string_append_printf(gs, "SRXEq=%s\r\n", safe_strncpy0(s, b->srxeq, 69)); g_string_append_printf(gs, "SAnte=%s\r\n", safe_strncpy0(s, b->sante, 69)); g_string_append_printf(gs, "SAntH=%s\r\n", safe_strncpy0(s, b->santh, 69)); qsomult = ctest->qsomult; if (ctest->qsop_method==16) qsomult = qsomult16(b); g_string_append_printf(gs, "CQSOs=%d;%d\r\n", b->stats->nqsos, qsomult * b->qsomultb); g_string_append_printf(gs, "CQSOP=%d\r\n", b->stats->nqsop); g_string_append_printf(gs, "CWWLs=%d;%d;%d\r\n", g_hash_table_size(b->stats->wwls), ctest->wwlbonu, ctest->wwlmult==0 ? 1 : ctest->wwlmult); g_string_append_printf(gs, "CWWLB=%d\r\n", g_hash_table_size(b->stats->wwls) * ctest->wwlbonu); g_string_append_printf(gs, "CExcs=%d;%d;%d\r\n", b->stats->nexcp, ctest->excbonu, ctest->excmult==0 ? 1 : ctest->excmult); g_string_append_printf(gs, "CExcB=%d\r\n", g_hash_table_size(b->stats->excs) * ctest->excbonu); g_string_append_printf(gs, "CDXCs=%d;%d;%d\r\n", g_hash_table_size(b->stats->dxcs), ctest->dxcbonu, ctest->dxcmult==0 ? 1 : ctest->dxcmult); g_string_append_printf(gs, "CDXCB=%d\r\n", g_hash_table_size(b->stats->dxcs) * ctest->dxcbonu); g_string_append_printf(gs, "CToSc=%d\r\n", b->stats->ntotal); g_string_append_printf(gs, "CODXC=%s;", z_str_uc(safe_strncpy0(s, b->stats->odxcall, 20))); g_string_append_printf(gs, "%s;%d\r\n", z_str_uc(safe_strncpy0(s, b->stats->odxwwl, 20)), b->stats->odxqrb_int); ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } static int write_edi_empty_remarks(struct band *b, struct config_band *confb, FILE *f){ char s[1024]; int ret; GString *gs; gs = g_string_sized_new(100); g_string_append_printf(gs, "[Remarks]\r\n"); if (b->remarks && b->remarks[0]=='[') g_string_append_printf(gs, " "); g_string_append_printf(gs, "%s", safe_strncpy0(s, b->remarks, 1024)); g_string_append_printf(gs, "\r\n"); ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } static int write_edi_remarks(struct band *b, struct config_band *confb, FILE *f){ char s[1024]; struct qso *q; GString *gs; int ret; int i; gs = g_string_sized_new(1024); g_string_append_printf(gs, "[Remarks]\r\n"); if (b->remarks && b->remarks[0]=='[') g_string_append_printf(gs, " "); g_string_append_printf(gs, "%s", safe_strncpy0(s, b->remarks, 1024)); g_string_append_printf(gs, "\r\n"); g_string_append_printf(gs, "[TUCNAK extension]\r\n"); g_string_append_printf(gs, "default_rs=%s\r\n", ctest->default_rs); g_string_append_printf(gs, "default_rst=%s\r\n", ctest->default_rst); g_string_append_printf(gs, "prefmult=%d\r\n", ctest->prefmult); g_string_append_printf(gs, "prefglob=%d\r\n", ctest->prefglob); g_string_append_printf(gs, "dxcbonu=%d\r\n", ctest->dxcbonu); g_string_append_printf(gs, "dxcmult=%d\r\n", ctest->dxcmult); g_string_append_printf(gs, "excused=%d\r\n", ctest->excused); g_string_append_printf(gs, "exctype=%d\r\n", ctest->exctype); g_string_append_printf(gs, "excname=%s\r\n", ctest->excname); g_string_append_printf(gs, "excbonu=%d\r\n", ctest->excbonu); g_string_append_printf(gs, "excmult=%d\r\n", ctest->excmult); g_string_append_printf(gs, "exccfm=%d\r\n", ctest->exccfm); g_string_append_printf(gs, "qsoused=%d\r\n", ctest->qsoused); g_string_append_printf(gs, "qsomult=%d\r\n", ctest->qsomult); g_string_append_printf(gs, "qsomultb=%d\r\n", b->qsomultb); g_string_append_printf(gs, "qsoglob=%d\r\n", ctest->qsoglob); g_string_append_printf(gs, "qsop_method=%d\r\n", ctest->qsop_method); g_string_append_printf(gs, "rstused=%d\r\n", ctest->rstused); g_string_append_printf(gs, "defrstr=%d\r\n", ctest->defrstr); g_string_append_printf(gs, "total_method=%d\r\n", ctest->total_method); g_string_append_printf(gs, "wwltype=%d\r\n", ctest->wwltype); g_string_append_printf(gs, "wwlused=%d\r\n", ctest->wwlused); g_string_append_printf(gs, "wwlbonu=%d\r\n", ctest->wwlbonu); g_string_append_printf(gs, "wwlmult=%d\r\n", ctest->wwlmult); g_string_append_printf(gs, "wwlcfm=%d\r\n", ctest->wwlcfm); g_string_append_printf(gs, "tttype=%d\r\n", ctest->tttype); g_string_append_printf(gs, "expmode=%d\r\n", ctest->expmode); g_string_append_printf(gs, "phase=%d\r\n", ctest->phase); g_string_append_printf(gs, "bandchar=%c\r\n", b->bandchar); // g_string_append_printf(gs, "bandmulti=%d\r\n", b->bandmulti); g_string_append_printf(gs, "mode=%d\r\n", gses->mode); g_string_append_printf(gs, "operator=%s\r\n", b->operator_); g_string_append_printf(gs, "psect=%d\r\n", b->psect); g_string_append_printf(gs, "opsect=%s\r\n", b->opsect); g_string_append_printf(gs, "readonly=%d\r\n", b->readonly); g_string_append_printf(gs, "saveid=%d\r\n", b->saveid); g_string_append_printf(gs, "skedqrg=%s\r\n", b->skedqrg); for (i=0; i< b->qsos->len; i++){ q = get_qso(b, i); g_string_append_printf(gs, "qso%d=", i); add_qso_str3(gs, q, b); /*g_string_append_printf(gs, "%s\r\n",gs->str);*/ g_string_append_printf(gs, "\r\n"); } ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } static int write_edi_qsos(struct band *b, struct config_band *confb, FILE *f){ struct qso *q; GString *gs; int i; int ret; gs = g_string_new(""); g_string_append_printf(gs, "[QSORecords;%d]\r\n", b->qsos->len); for (i=0; iqsos->len; i++){ q = get_qso(b, i); add_qso_str1(gs, q, b); add_qso_str2(gs, q, b); g_string_append_printf(gs, "\r\n"); /*g_string_append_printf(gs, "%s\r\n", gs->str);*/ } g_string_append_printf(gs, "[END;TUCNAK-%s ver. %s]\r\n", Z_PLATFORM, VERSION); ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } static int write_edi_unfi(struct band *b, struct config_band *confb, FILE *f){ int i; gchar *c; GString *gs; int ret; gs = g_string_new(""); for (i=0; iunfi->items->len; i++){ c = (gchar *) g_ptr_array_index(b->unfi->items, i); g_string_append_printf(gs, "unfinished%d=%s\r\n", i, c); } ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } static int write_edi_sked(struct band *b, struct config_band *confb, FILE *f){ int i; GString *gs; int ret; struct sked *sked; struct zstring *zs; gs = g_string_new(""); for (i=0; iskeds->len; i++){ sked = (struct sked *) g_ptr_array_index(b->skeds, i); zs = sked_format(sked); g_string_append_printf(gs, "sked%d=%s\r\n", i, zs->str); zfree(zs); } ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } int export_all_bands_edi(void){ struct band *band; struct config_band *confb; int i, err; FILE *f; char callbuf[20]; int ignoreerror=0; if (!ctest) return -1; menu_fillop(GINT_TO_POINTER(0)); /*dbg("export_all_bands_edi()\n");*/ for (i=0; ibands->len; i++){ char *section = NULL; band = (struct band *)g_ptr_array_index(ctest->bands, i); confb = (struct config_band *)get_config_band_by_bandchar(band->bandchar); progress(VTEXT(T_EXPORTING), band->bandname); zg_free0(band->edifile); stats_thread_join(band); if (band->stats->nqsos <=0) continue; switch (band->psect){ case 0: section = confb->ok_section_multi; break; case 1: section = confb->ok_section_single; break; case 2: section = "CH"; break; case 3: section = confb->opsect; break; } if (section && *section) band->edifile = g_strdup_printf("%s/%s%s.edi", ctest->directory, section, z_get_raw_call(callbuf,ctest->pcall)); else band->edifile = g_strdup_printf("%s/%s_%c.edi", ctest->directory, z_get_raw_call(callbuf,ctest->pcall), band->bandchar); z_wokna(band->edifile); f=fopen(band->edifile, "wb"); /* must be b for windoze */ if (!f) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), errno); ignoreerror=1;} progress(NULL); return -1; } err = 0; err|=write_edi_header (band,confb,f); err|=write_edi_empty_remarks (band,confb,f); err|=write_edi_qsos (band,confb,f); err|=fclose(f); if (err) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), 0); ignoreerror=1; } progress(NULL); return -1; } log_addf(VTEXT(T_SAVED), band->edifile); fprintf(band->swap, "SE %d\n", ++band->saveid); fflush(band->swap); } progress(NULL); return 0; } static gchar *get_ctest_directory(int floppy){ gchar *dir; const char *c; if (floppy==0){ dir = g_strdup(ctest->directory); }else{ //char *c1, *c2; if (!cfg->as_floppy_path || strlen(cfg->as_floppy_path)==0) return NULL; if (!cfg->as_floppy_aq) return NULL; //c1=c2=NULL; c = z_filename(ctest->directory); if (c != NULL){ //if (regmatch(ctest->directory, ".*\\/(.*)", &c1, &c2, NULL)==0){ dir = g_strdup_printf("%s/%s", cfg->as_floppy_path, c); }else{ dir = g_strdup_printf("%s/%s", cfg->as_floppy_path, ctest->directory); } //if (c1) g_free(c1); //if (c2) g_free(c2); } return dir; } int save_all_bands_txt(int autosave){ struct band *band; struct config_band *confb; int j, i, err, gerr; gchar *filename, *dir; FILE *f; int ignoreerror=0; int floppy_mounted,nm_showed; //dbg("save_all_bands_txt(%d)\n", autosave); if (!ctest) return -1; nm_showed=0; floppy_mounted = is_in_mtab(cfg->as_floppy_path); if (cfg->as_floppy_path && !*cfg->as_floppy_path){ nm_showed = 1; // dont show error when no floppy is defined } gerr = 0; for (i=0; ibands->len; i++){ for (j=0; j<2; j++){ band = (struct band *)g_ptr_array_index(ctest->bands, i); confb = (struct config_band *)get_config_band_by_bandchar(band->bandchar); /* dbg(" %c dirty=%d\n", band->bandchar, band->dirty_save); */ dir = get_ctest_directory(j); if (!dir) continue; z_mkdir_p(dir, 0775); if (autosave == 1 && !band->dirty_save) continue; if (j==0){ if (autosave && autosave!=1) continue; }else{ /* floppy */ if (autosave && autosave!=2) continue; if (nm_showed) continue; if (!floppy_mounted && !nm_showed) { log_addf(VTEXT(T_NOT_MOUNTED_S), cfg->as_floppy_path); nm_showed=1; continue; } } stats_thread_join(band); filename = g_strdup_printf("%s/%c.txt", dir, z_char_lc(band->bandchar)); z_wokna(filename); g_free(dir); //dbg(" saving filename '%s'\n", filename); f=fopen(filename,"wb"); /* must be b for windoze */ if (!f) { gchar *c; c = g_strdup_printf(VTEXT(T_CANT_WRITE_S), filename); log_addf(c); g_free(c); if (j==0){ c = g_strdup_printf(VTEXT(T_CANT_WRITE_S), filename); }else{ c = g_strdup_printf("Can't open file '%s' for writing\nTry to mount floppy or disable\nMenu->Setup->Autosave->Path To Floppy", filename); } if (!ignoreerror) { errbox(c, errno); ignoreerror=1;} g_free(c); g_free(filename); continue; } err = 0; err|=write_edi_header (band,confb,f); err|=write_edi_remarks (band,confb,f); err|=write_edi_unfi (band,confb,f); err|=write_edi_sked (band,confb,f); err|=write_edi_qsos (band,confb,f); err|=fclose(f); if (err) { log_addf(VTEXT(T_CANT_WRITE_S), filename); if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), 0); ignoreerror=1;} g_free(filename); continue; } gerr |= err; band->dirty_save = 0; fprintf(band->swap, "ST %d\n", band->saveid); fflush(band->swap); g_free(filename); } band->saveid++; } if (!gerr){ if (!autosave) log_addf(VTEXT(T_SAVED_S), "contest"); } if (!autosave){ ctest->as_disk_qsonr = cfg->as_disk_aq; ctest->as_floppy_qsonr = cfg->as_floppy_aq; } for (j=0; j<2; j++){ gchar *dir; if (j==0){ if (autosave && autosave!=1) continue; }else{ /* floppy */ if (autosave && autosave!=2) continue; } dir = get_ctest_directory(j); if (!dir) continue; if (j==1){ /* floppy */ if (nm_showed) continue; filename = g_strdup_printf("%s/desc",dir); z_wokna(filename); save_desc_to_file(filename); g_free(filename); } if (j==1){ /* save only contents of fifo to ctest/log on floppy */ filename = g_strdup_printf("%s/log",dir); z_wokna(filename); save_fifo_to_file(glog, filename); g_free(filename); } filename = g_strdup_printf("%s/talk",dir); z_wokna(filename); save_fifo_to_file(gtalk, filename); g_free(filename); filename = g_strdup_printf("%s/spy", dir); z_wokna(filename); save_spypeers_to_file(filename); /* called also in control.c */ g_free(filename); filename = g_strdup_printf("%s/hicalls", dir); z_wokna(filename); save_hicalls_to_file(filename); g_free(filename); filename = g_strdup_printf("%s/qrv", dir); z_wokna(filename); save_qrv_to_file(filename); g_free(filename); filename = g_strdup_printf("%s/chart", dir); z_wokna(filename); save_chart_to_file(filename); g_free(filename); g_free(dir); } save_cw(cw, 0); save_namedb(namedb, 0); return 0; } static GHashTable *load_edi_until(FILE *f, GHashTable *hash, gchar *until){ GString *gs; gchar *c; gchar **a; gchar *k, *v; gpointer orig_key, orig_value; gs=g_string_new(""); if (!hash) hash=g_hash_table_new(g_str_hash, g_str_equal); while( (c = zfile_fgets(gs, f, 0)) != NULL){ /* dbg("load_edi_until read '%s'\n", c);*/ if (regcmpi(c, until)==0) break; a = g_strsplit(c, "=", 2); if (!a) continue; if (!a[0] || !a[1]) { g_strfreev(a); continue; } g_strstrip(a[0]); g_strchomp(a[1]); k=z_str_lc(g_strdup(a[0])); v=g_strdup(a[1]); if (g_hash_table_lookup_extended(hash, (gpointer)k, &orig_key, &orig_value)){ g_hash_table_remove(hash, orig_key); g_free(orig_key); g_free(orig_value); } g_hash_table_insert(hash, k, v); /* dbg("load_edi_until load key=%p '%s' value=%p '%s'\n", k,k, v, v);*/ g_strfreev(a); } /* dbg("load_edi_until END %s\n",c);*/ g_string_free(gs, 1); return hash; } static gchar *load_edi_remarks_until(FILE *f, gchar *until){ GString *gs; gchar *c; gchar *ret,*tmp; gs=g_string_new(""); ret=NULL; while( (c = zfile_fgets(gs, f, 0)) != NULL){ /* dbg("load_edi_remarks_until read '%s'\n", c);*/ if (regcmpi(c, until)==0) break; if (ret) { tmp=ret; g_free(ret); ret=g_strconcat(tmp," ",c, NULL); }else{ ret=g_strdup(c); } } /* dbg("load_edi_remarks_untilEND %s\n",c);*/ g_string_free(gs, 1); return ret; } static GPtrArray *load_edi_qsos_until(FILE *f, gchar *until){ GString *gs; GPtrArray *array; gchar *c; gchar **a; int i; gs=g_string_new(""); array=g_ptr_array_new(); while( (c = zfile_fgets(gs, f, 0)) != NULL){ /* dbg("load_edi_qsos_unti: '%s'\n", c);*/ if (regcmpi(c, until)==0) break; a = g_strsplit(c, ";", 11); /* 11th is "N;N;N" */ if (!a) continue; for (i=0;i<11;i++){ if (!a[i]) goto x; g_strstrip(a[i]); } /* dbg("load_edi_qsos_until: add '%s'\n", c);*/ g_ptr_array_add(array, (gpointer)a); x:; } /* dbg("load_edi_qsos_until: END '%s' \n", c);*/ g_string_free(gs, 1); return array; } #if 0 static void skip_edi_until(FILE *f, gchar *until){ GString *gs; gchar *c; gs=g_string_new(""); while( (c = zfile_fgets(gs, f, 0)) != NULL){ /* dbg("skip_edi_until: read '%s'\n", c);*/ if (regcmpi(c, until)==0) break; } /* dbg("skip_edi_until: END '%s' \n", c);*/ g_string_free(gs, 1); } #endif static gboolean free_item(gpointer key, gpointer value, gpointer x){ g_free(key); g_free(value); return TRUE; } static void destroy_string_hash(GHashTable *hash){ g_hash_table_foreach_remove(hash, free_item, NULL); g_hash_table_destroy(hash); } static void add_qsos_from_mem(struct band *b, GHashTable *hash, GPtrArray *qsos, const gchar *date){ gchar **items; int i, j; gchar *c, *add; struct qso *q; char s[10]; time_t now; now = time(NULL); for (i=0; ilen; i++){ items = (gchar **) g_ptr_array_index(qsos, i); q = g_new0(struct qso, 1); if (strlen(items[0])>6) q->date_str = g_strdup(items[0]); else q->date_str = g_strdup_printf("%s%s", safe_strncpy(s, date, 3), items[0]); q->time_str = g_strdup(items[1]); q->callsign = g_strdup(items[2]); if (strcasecmp(q->callsign, "ERROR")==0) q->error=1; q->mode = atoi(items[3]); q->rsts = g_strdup(items[4]); q->qsonrs = g_strdup(items[5]); q->rstr = g_strdup(items[6]); q->qsonrr = g_strdup(items[7]); q->exc = g_strdup(items[8]); q->locator = g_strdup(items[9]); g_strfreev(items); c = g_strdup_printf("qso%d", i); add = (char *)g_hash_table_lookup(hash, c); g_free(c); if (!add){ char century[3]; safe_strncpy0(century, q->date_str, 3); add=g_strdup_printf("%s;%s;%d;%s;" "%s;%s;%d;", gnet->myid, fixsemi(b->operator_), (int)now, "", century, "", -1); items = g_strsplit(add, ";", 0); g_free(add); }else{ items = g_strsplit(add, ";", 0); } for (j=0;j<=4;j++) if (!items[j]) goto x; q->source = g_strdup(items[0]); q->operator_ = g_strdup(items[1]); fixsemi(q->operator_); q->stamp = atoi(items[2]); if (!items[5]){ q->remark = g_strdup(""); }else{ q->remark = g_strdup(items[5]); } if (q->error && *items[3]){ g_free(q->callsign); q->callsign = g_strdup(items[3]); } c = q->date_str; if (strlen(c)>2 && items[4]) { q->date_str = g_strdup_printf("%s%s", items[4], c+2); g_free(c); } if (items[6]){ q->ser_id=atoi(items[6]); edi_serid_used=1; }else{ q->ser_id=-1; /* filled in add_qso_to_index and rewritten after loop. only for compatibility */ } if (items[6] && items[7]){ q->qrg = atof(items[7]); }else{ q->qrg = 0.0; } if (items[6] && items[7] && items[8]){ q->phase = atoi(items[8]); if (q->phase > ctest->phase) ctest->phase = q->phase; } else{ q->phase = 1; } g_strfreev(items); compute_qrbqtf(q); add_qso(b, q); update_stats(b, b->stats, q); x:; } recalc_allb_stats(); minute_stats(b); /* g_hash_table_foreach(ctest->bystamp, foreach_source_print, NULL);*/ } static void add_unfi_from_mem(struct band *b, GHashTable *hash){ int i; gchar *add, *c; b->unfi->withouttime=1; for (i=0;;i++){ c = g_strdup_printf("unfinished%d", i); add = (char *)g_hash_table_lookup(hash, c); g_free(c); if (!add) break; /* dbg("unfinished=''\n", add);*/ fifo_adds(b->unfi, add); } b->unfi->withouttime=0; } static void add_sked_from_mem(struct band *b, GHashTable *hash){ int i; gchar *add, *c; struct zstring *zs; struct sked *sked; for (i=0;;i++){ c = g_strdup_printf("sked%d", i); add = (char *)g_hash_table_lookup(hash, c); g_free(c); if (!add) break; // dbg("sked=''\n", add); zs = zstrdup(add); sked = sked_parse(zs); zfree(zs); if (!sked) { dbg("bad format of sked '%s'\n", add); continue; } g_ptr_array_add(b->skeds, sked); sked->worked = get_qso_by_callsign(b, sked->callsign) != NULL; } } static int select_enable_all(const char *dir, const struct dirent *de){ return 1; } #define REPLACE(from,to) \ c = (char *)g_hash_table_lookup(hash, from);\ if (c && !g_hash_table_lookup(hash, to)){\ g_hash_table_insert(hash, g_strdup(to), g_strdup(c));\ dbg("replacing %s to %s with %s\n", from, to, c); \ } static int convert_bo_s_hash(GHashTable *hash, const char *dir){ struct config_band *tmpcb; gchar *c, *date; c = (char *)g_hash_table_lookup(hash, "band"); if (c){ tmpcb = get_config_band_by_bandchar(z_char_lc(c[0])); if (tmpcb){ if (tmpcb->pband && !g_hash_table_lookup(hash, "pband")) g_hash_table_insert(hash, g_strdup("pband"), g_strdup(tmpcb->pband)); } } date = g_strdup(dir); c = strchr(date,'.'); if (c) *c='\0'; if (!g_hash_table_lookup(hash, "tdate")) g_hash_table_insert(hash, g_strdup("tdate"), g_strdup(date)); g_free(date); REPLACE("comment", "tname"); REPLACE("owncall", "pcall"); REPLACE("ownwwl", "pwwlo"); REPLACE("ownoptionalexchange", "pexch"); REPLACE("band", "bandchar"); REPLACE("qsopointsmultiplier", "qsomult"); REPLACE("qsocalcmethod", "qsop_method"); REPLACE("wwlbonus", "wwlbonu"); REPLACE("wwlmultiplier", "wwlmult"); REPLACE("dxccbonus", "dxcbonu"); REPLACE("dxccmultiplier", "dxcmult"); REPLACE("optionalexchangebonus", "excbonu"); REPLACE("optionalexchangemultiplier", "excmult"); REPLACE("totalcalcmethod", "total_method"); REPLACE("operator0", "operator"); return 0; } //int *pnn = NULL; /* loads edi and txt */ void load_contest_edi(const gchar *date, int edi){ struct dirent **namelist=NULL; int nn=0; // probably buggy register optimisation in gcc 4.3.2 amd64 int i; gchar *datedir, *file, *pband; struct stat st; char *ext, *c; FILE *f, *lockfile,*logfile; GHashTable *hash; GPtrArray *qsos; struct band *b; static char ss[1024]; gint saveid=-1; gchar *remarks; time_t now; struct tm tm; int nowdate_int, ctestdate_int; file = NULL; datedir = NULL; progress(VTEXT(T_LOADING_CONTEST), date); c=g_strdup_printf("%s/%s/desc.lock", logs_dir, date); z_wokna(c); lockfile = fopen(c, "w"); if (!lockfile){ g_snprintf(ss,1000, VTEXT(T_CANT_OPEN_S),c); g_free(c); msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, ss, NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); goto x; } if (z_lockf(fileno(lockfile), F_TLOCK, 0, 1)){ fclose(lockfile); lockfile=NULL; g_snprintf(ss,1000, VTEXT(T_CANT_LOCK_S),c); g_free(c); msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, ss, NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); goto x; } g_free(c); datedir = g_strdup_printf("%s/%s", logs_dir, date); file = g_strdup_printf("%s/log", datedir); load_fifo_from_file(glog, file,0); fifo_addfq(glog, VTEXT(T_LOADING_CTEST_S), date); zg_free0(file); progress(VTEXT(T_LOADING_LOGFILE)); c=g_strdup_printf("%s/%s/log", logs_dir, date); logfile = fopen(c, "at"); if (!logfile){ g_snprintf(ss,1000, VTEXT(T_CANT_OPEN_S),c); g_free(c); msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, ss, NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); goto x; } g_free(c); setvbuf(logfile, NULL, _IONBF, 0); fprintf(logfile, VTEXT(T_LOADING_CTEST_S), date); fprintf(logfile, "\n"); progress(VTEXT(T_LOADING_TALK)); file = g_strdup_printf("%s/talk", datedir); load_fifo_from_file(gtalk, file,1); fifo_addfq(gtalk, VTEXT(T_LOADING_CTEST_S), date); zg_free0(file); nn = z_scandir(datedir, &namelist, select_enable_all, z_scandir_alphasort); if (nn<=0) { errbox(VTEXT(T_NO_FILES), 0); fclose(lockfile); fclose(logfile); goto x; } edi_serid_used=0; for (i=0; id_name, ext)) continue; zg_free0(file); file = g_strconcat(datedir, "/", namelist[i]->d_name, NULL); /*dbg("file='%s'\n", file);*/ if (stat(file, &st)) continue; if (!S_ISREG(st.st_mode)) continue; f = fopen(file, "rt"); if (!f) continue; if (!edi){ hash = load_edi_until(f, NULL, "^\\[remarks\\]"); remarks = load_edi_remarks_until(f, "^\\[tucnak extension\\]"); /* skip_edi_until(f, "^\\[tucnak extension\\]");*/ load_edi_until(f, hash, "^\\[qsorecords"); }else{ hash = load_edi_until(f, NULL, "^\\[remarks\\]"); remarks = load_edi_remarks_until(f, "^\\[qsorecords"); } qsos = load_edi_qsos_until(f, "^\\[end;"); fclose(f); convert_bo_s_hash(hash, date); pband = (char *)g_hash_table_lookup(hash, "pband"); /*dbg("pband='%s'\n", pband);*/ if (!pband) { struct config_band *tmpcb; gchar *c; c = (char *)g_hash_table_lookup(hash, "band"); if (!c) goto destroy; tmpcb = get_config_band_by_bandchar(z_char_lc(c[0])); if (!tmpcb) goto destroy; pband = tmpcb->pband; if (!pband){ destroy:; zg_free0(remarks); destroy_string_hash(hash); continue; } } if (find_band_by_pband(pband)){ log_addf(VTEXT(T_BAND_EXIST_SS), pband, file); goto destroy; } if (!ctest) { init_ctest(); load_ctest_from_mem(ctest, datedir, hash); update_hw(); maps_reload(); maps_update_showwwls(); chart_reload(); #ifdef Z_HAVE_SDL rain_reload(); #endif } b = init_band(NULL, hash, NULL, NULL); if (!b) { /* dbg("load_contest_edi: b=NULL!\n");*/ goto destroy; } progress(VTEXT(T_LOADING_BAND), b->bandname); /* edi_serid_used=0; must be assigned but before band loop */ add_qsos_from_mem(b, hash, qsos, date); add_unfi_from_mem(b, hash); add_sked_from_mem(b, hash); clear_tmpqsos(b, 1); destroy_string_hash(hash); if (remarks){ zg_free0(b->remarks); b->remarks=remarks; } zg_free0(file); file = g_strconcat(datedir, "/", namelist[i]->d_name, NULL); c = strstr(file,"txt"); if (!c) continue; strcpy(c, "swp"); /*dbg("swap='%s' saveid=%d\n", file, b->saveid-1);*/ f = fopen(file, "rt"); if (!f) continue; gs = g_string_sized_new(100); while(zfile_fgets(gs, f, 0)!=NULL){ /* dbg("read '%s'\n", gs->str);*/ if (strncmp(gs->str,"ST ",3)!=0) continue; saveid=atoi(gs->str+3); /* dbg("sid=%d\n", saveid);*/ if (saveid == b->saveid-1) break; } if (saveid == b->saveid-1){ b->ignoreswap = 1; /* dbg("begin is %d\n", saveid);*/ while(zfile_fgets(gs, f, 0)!=NULL){ // dbg("read '%s'\n", gs->str); if (strncmp(gs->str,"# ",2)==0){ process_input(b, gs->str+2, 0); continue; } if (strncmp(gs->str,"CLR",3)==0){ clear_tmpqsos(b, 1); continue; } if (strncmp(gs->str,"Q ",2)==0){ process_input(b, "", 0); continue; } if (strncmp(gs->str,"O ",2)==0){ if (b->operator_) g_free(b->operator_); b->operator_ = fixsemi(g_strdup(gs->str+2)); continue; } } b->ignoreswap = 0; } fclose(f); g_string_free(gs, 1); } if (!ctest) { errbox(VTEXT(T_NO_BANDS), 0); fclose(lockfile); fclose(logfile); goto x; } if (ctest->bands->len==0){ errbox(VTEXT(T_NO_BANDS), 0); free_ctest(); goto x; } zg_free0(file); progress(VTEXT(T_LOADING_SPY)); file = g_strdup_printf("%s/spy", datedir); z_wokna(file); load_spypeers_from_file(file); zg_free0(file); progress(VTEXT(T_LOADING_HICALLS)); file = g_strdup_printf("%s/hicalls", datedir); z_wokna(file); load_hicalls_from_file(file); zg_free0(file); progress(VTEXT(T_LOADING_QRV)); file = g_strdup_printf("%s/qrv", datedir); z_wokna(file); load_qrv_from_file(qrv, file); zg_free0(file); progress(VTEXT(T_LOADING_CHART)); file = g_strdup_printf("%s/chart", datedir); z_wokna(file); load_chart_from_file(file); zg_free0(file); progress(VTEXT(T_SAVING_CONTEST)); check_autosave(); progress(VTEXT(T_UPD_INT_DATA)); ctest->lockfile = lockfile; ctest->logfile = logfile; ctest->cdate = g_strdup(date); c = strchr(ctest->cdate, '.'); if (c) *c='\0'; now = time(NULL); gmtime_r(&now, &tm); nowdate_int = (tm.tm_year+1900)*10000 + (tm.tm_mon+1)*100 + tm.tm_mday; ctestdate_int = atoi(ctest->cdate); if (/* nowdate_int >= ctestdate_int &&*/ nowdate_int <= ctestdate_int + 2) ctest->oldcontest = 0; else ctest->oldcontest = 1; // dbg("ctestdate=%d nowdate=%d oldcontest=%d\n", ctestdate_int, nowdate_int, ctest->oldcontest); if (!edi_serid_used){ /* only for backward compatibility with version without ser_id in edi file */ g_hash_table_foreach(ctest->bystamp, foreach_source_recalc_ser_id, NULL); } g_hash_table_foreach(ctest->bystamp, foreach_source_qsort_by_stamp, NULL); z_ptr_array_qsort(ctest->allqsos, compare_date_time_qsonrs); set_ctest_title(); clear_exc(excdb); read_exc_files(excdb, ctest->exctype, ctest->excname); progress(VTEXT(T_CALC_STATS)); recalc_allb_stats(); for (i=0; ibands->len; i++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i); b->dirty_statsf = 1; recalc_statsfifo(b); } //dump_all_sources(ctest); progress(VTEXT(T_ANN_OVER_NET)); net_send_ac(); sw_shake_tmo = ztimeout_init(100000); if (cfg->startband){ struct band *b; b=find_band_by_pband(cfg->startband); if (b){ progress(VTEXT(T_ACTIVATING_BAND), b->bandname); activate_band(b); /* b==NULL is handled by function */ } } progress(VTEXT(T_UPDATING_WKD)); qrv_recalc_wkd(qrv); progress(VTEXT(T_UPDATING_QRBQTF)); qrv_recalc_qrbqtf(qrv); progress(VTEXT(T_UPDATING_GAIN)); qrv_recalc_gst(qrv); progress(VTEXT(T_SEN_OVER_NET)); net_send_operator(); net_send_read_write_bands(); net_send_talk(); spypeer_send_requests(); x: sw_shake_tmo = -1; //dbg("nnx=%d\n", nn); // dumpvar(nn); // dumpvar(i); if (namelist){ for (i=0; icdate); destroy:; destroy_string_hash(hash); redraw_later(); } void import_swap(void *xxx, char *filename){ FILE *f; f = fopen(filename, "rt"); if (!f){ char *c = g_strdup_printf(VTEXT(T_CANT_READ_S), filename); msg_box(getml(c, NULL), VTEXT(T_ERROR), AL_CENTER, c, NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); } add_qsos_from_swap(aband, f); fclose(f); } int save_desc_to_file(gchar *filename){ gchar *pcall, *s; FILE *f; int ret; z_wokna(filename); f = fopen(filename, "wt"); if (!f) return 1; pcall=g_strdup(ctest->pcall); s = g_strdup_printf("%s %s %s\n", ctest->cdate, z_str_uc(pcall), ctest->tname); ret = fprintf(f, "%s", s) != strlen(s); g_free(pcall); g_free(s); fclose(f); return ret; } tucnak-4.32/src/adif.h0000644000175000017500000000067011571227504011522 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __ADIF_H #define __ADIF_H int export_all_bands_adif(void); void import_adifx(char *filename); void import_adif(void *xxx, char *filename); #endif tucnak-4.32/src/oss.c0000644000175000017500000002121213302011670011376 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fifo.h" #include "language2.h" #include "oss.h" #ifdef HAVE_OSS static const char *clabels[] = SOUND_DEVICE_LABELS; static int oss_get_bufsize_frames(struct dsp *dsp){ double period_time = 0.0; double wanted = 0.050; int frames = 64; if (dsp->period_time > 0) wanted = dsp->period_time / 1000.0; while (period_time < wanted){ frames <<= 1; period_time = (double)frames / (double)dsp->speed; } return frames; } int oss_open(struct dsp *dsp, int rec){ int tmp; char errbuf[1024]; int maxfrag = 2; dbg("open_dsp('%s',%s)\n", dsp->oss_filename, rec?"record":"playback"); zg_free0(dsp->name); dsp->name = g_strdup(dsp->oss_filename); dsp->frames = oss_get_bufsize_frames(dsp); dsp->samples = dsp->frames * dsp->channels; dsp->bytes = dsp->samples * sizeof(short); dsp->fd = open (dsp->oss_filename, rec?O_RDONLY:O_WRONLY, 0); if (dsp->fd < 0){ log_addf("Can't open file '%s': %s", dsp->name, strerror_r(errno, errbuf, sizeof(errbuf)) ); goto err; } int a = -1, b; for (b = dsp->bytes; b > 0; b >>= 1) a++; if (a < 6) a = 6; dbg("bufsize=%df %ds %db a=%d\n", dsp->frames, dsp->samples, dsp->bytes, a); dsp->fragment = (maxfrag<<16)|a;//0x000a; dbg("setting fragment to 0x%08x\n", dsp->fragment); if (ioctl (dsp->fd, SNDCTL_DSP_SETFRAGMENT, &dsp->fragment)){ log_addf("Can't set fragment size to 0x%x: %s", dsp->fragment, strerror_r(errno, errbuf, sizeof(errbuf)) ); goto err; } if (ioctl(dsp->fd, SNDCTL_DSP_GETFMTS, &dsp->fmt_mask)){ log_addf(VTEXT(T_CANT_GET_FMTS), strerror_r(errno, errbuf, sizeof(errbuf)) ); goto err; } tmp=dsp->oss_format; if (ioctl (dsp->fd, SNDCTL_DSP_SETFMT, &dsp->oss_format)){ log_addf(VTEXT(T_CANT_SET_FMT), tmp, dsp->oss_format, strerror_r(errno, errbuf, sizeof(errbuf)) ); tmp=dsp->oss_format; if (ioctl (dsp->fd, SNDCTL_DSP_SETFMT, &dsp->oss_format)){ log_addf(VTEXT(T_CANT_SET_FMT_RET), tmp, dsp->oss_format, strerror_r(errno, errbuf, sizeof(errbuf)) ); tmp = dsp->oss_format = AFMT_S16_NE; if (ioctl (dsp->fd, SNDCTL_DSP_SETFMT, &dsp->oss_format)){ log_addf(VTEXT(T_CANT_SET_FALLBACK), tmp, dsp->oss_format, strerror_r(errno, errbuf, sizeof(errbuf)) ); goto err; } } /* fallback ok */ } tmp=dsp->channels; if (ioctl (dsp->fd, SNDCTL_DSP_CHANNELS, &dsp->channels)){ log_addf(VTEXT(T_CANT_SET_CHANNELS), tmp, dsp->channels, strerror_r(errno, errbuf, sizeof(errbuf)) ); tmp=dsp->channels; if (ioctl (dsp->fd, SNDCTL_DSP_CHANNELS, &dsp->channels)){ log_addf(VTEXT(T_CANT_SET_CHANNELS_RET), tmp, dsp->channels, strerror_r(errno, errbuf, sizeof(errbuf)) ); goto err; } /* fallback ok */ } tmp=dsp->speed; if (ioctl (dsp->fd, SNDCTL_DSP_SPEED, &dsp->speed)){ log_addf(VTEXT(T_CANT_SET_RATE), tmp, dsp->speed, strerror_r(errno, errbuf, sizeof(errbuf)) ); tmp=dsp->speed; if (ioctl (dsp->fd, SNDCTL_DSP_SPEED, &dsp->speed)){ log_addf(VTEXT(T_CANT_SET_RATE_RET), tmp, dsp->speed, strerror_r(errno, errbuf, sizeof(errbuf)) ); goto err; } /* fallback ok */ } if (ioctl (dsp->fd, SNDCTL_DSP_GETBLKSIZE, &dsp->blksize)){ log_addf(VTEXT(T_CANT_SET_BLOCK_SIZE), tmp, dsp->blksize, strerror_r(errno, errbuf, sizeof(errbuf)) ); goto err; } //log_addf("OSS opened, rate=%d, bufsize=%df %ds %db", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); dbg("OSS opened, rate=%d, bufsize=%df %ds %db\n", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); goto x; err:; if (dsp->fd>=0) close(dsp->fd); dsp->fd = -1; x:; /* dbg(" dsp->fd=%d\n", dsp->fd);*/ return dsp->fd; } int oss_close(struct dsp *dsp){ /*ST_START;*/ dsp->reset(dsp); if (dsp->fd >= 0) { /*dbg("close_dsp(fd=%d)\n",dsp->fd);*/ close(dsp->fd); } dsp->fd=-1; /* ST_STOP;*/ return 0; } int oss_write(struct dsp *dsp, void *data, int frames){ int bpf = dsp->frames / dsp->bytes; int ret = write(dsp->fd, data, frames * bpf); if (ret > 0) ret /= bpf; return ret; } int oss_read(struct dsp *dsp, void *data, int frames){ int bpf = dsp->frames / dsp->bytes; int ret = read(dsp->fd, data, frames * bpf); if (ret > 0) ret /= bpf; return ret; } int oss_reset(struct dsp *dsp){ if (!dsp || dsp->fd<0) return 0; return ioctl(dsp->fd, SNDCTL_DSP_RESET, NULL); } int oss_sync(struct dsp *dsp){ if (!dsp || dsp->fd<0) return 0; return ioctl(dsp->fd, SNDCTL_DSP_SYNC, NULL); } #ifdef HAVE_SNDFILE int oss_set_format(struct dsp *dsp, SF_INFO *sfinfo, int ret){ switch (sfinfo->format & SF_FORMAT_SUBMASK){ /* case SF_FORMAT_PCM_U8: format=AFMT_U8; break; case SF_FORMAT_PCM_S8: format=AFMT_S8; break;*/ case SF_FORMAT_ULAW: dsp->oss_format=AFMT_MU_LAW; break; case SF_FORMAT_ALAW: dsp->oss_format=AFMT_A_LAW; break; case SF_FORMAT_IMA_ADPCM: dsp->oss_format=AFMT_IMA_ADPCM; break; default: dsp->oss_format=AFMT_S16_NE; } dsp->channels=sfinfo->channels; if (dsp->channels>MAX_CHANNELS) dsp->channels=MAX_CHANNELS; dsp->speed=sfinfo->samplerate; return 0; } #endif static char *stripr(char *s){ int i; i=strlen(s); if (!i) return s; for (i--;i>=0;i--){ if (s[i]!=' ') break; s[i]='\0'; } return s; } int oss_get_sources(struct dsp *dsp, GString *labels){ int fd, i, recmask; char s[16]; g_string_truncate(labels, 0); if (!dsp || !dsp->oss_mixer || strlen(dsp->oss_mixer)==0) return 0; fd=open(dsp->oss_mixer, O_RDWR, 0); if (fd<0){ return -1; } if (ioctl(fd, SOUND_MIXER_READ_RECMASK, &recmask) <0){ close(fd); return -1; } for (i=0; istr)>0) g_string_append_c(labels, ';'); safe_strncpy(s, clabels[i], sizeof(s)); stripr(s); g_string_append(labels, s); } close(fd); return 0; } int oss_set_source(struct dsp *dsp){ int fd, i, val; char s[16]; dbg("oss_set_dsp->source('%s')\n", dsp->source); if (!dsp->source || !*dsp->source || !dsp->oss_mixer || !*dsp->oss_mixer){ return 0; } fd=open(dsp->oss_mixer, O_RDWR, 0); if (fd<0){ return -1; } for (i=0; isource)!=0) continue; dbg("oss_mixer_set_source('%s') setting 0x%x\n", dsp->source, i); if (ioctl(fd, SOUND_MIXER_WRITE_RECSRC, &i) <0){ close(fd); return -1; } if (dsp->rlev < 0) continue; val = (dsp->rlev << 8 ) | dsp->rlev; if (ioctl(fd, MIXER_WRITE(i), &val) < 0){ close(fd); return -3; } close(fd); return 0; } dbg("oss_mixer_set_source('%s') not found\n", dsp->source); close(fd); return -2; } int oss_set_plevel(struct dsp *dsp){ int fd, i, val; char s[16]; dbg("oss_set_plevel()\n"); if (!dsp->oss_mixer || !*dsp->oss_mixer) return 0; if (dsp->plev < 0) return 0; fd=open(dsp->oss_mixer, O_RDWR, 0); if (fd<0){ return -1; } dbg("SOUND_MIXER_NRDEVICES=%d\n", SOUND_MIXER_NRDEVICES); for (i=0; iplev << 8 ) | dsp->plev; if (ioctl(fd, MIXER_WRITE(i), &val) < 0){ close(fd); return -3; } } close(fd); return 0; } char *oss_recsrc2source(int recsrc){ int i; static char s[16]; if (recsrc==0) return NULL; for (i=-1; recsrc; recsrc>>=1, i++); if (i<0) return NULL; if (i>=SOUND_MIXER_NRDEVICES) return NULL; safe_strncpy(s, clabels[i], sizeof(s)); stripr(s); return s; } #endif tucnak-4.32/src/sdev.c0000644000175000000410000002615514046032736011552 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fifo.h" #include "language2.h" #include "main.h" #include "rc.h" #include "sdev.h" #include "tsdl.h" #include "zstring.h" #define STARTB 4 #define STOPB 1 struct sconn sconns; MUTEX_DEFINE(sconns); void init_sconns(void){ progress(VTEXT(T_INIT_SERIAL_DEVICES)); MUTEX_INIT(sconns); init_list(sconns); } struct sdev *sd_open_ttys(char saddr, char *filename, int timeout_ms){ struct sconn *sc; struct sdev *sd; /* dbg("sd_open_ttys(%s)\n", filename);*/ MUTEX_LOCK(sconns); foreach(sc, sconns){ if (sc->type!=CT_TTYS) continue; if (strcmp(sc->ttys_filename, filename)!=0) continue; /*dbg("found sc=%p\n", sc);*/ sc->refcnt++; MUTEX_UNLOCK(sconns); goto found; } MUTEX_UNLOCK(sconns); /* sconn not found */ sc=g_new0(struct sconn,1); dbg("new sc %p\n",sc); sc->refcnt++; MUTEX_LOCK(sconns); add_to_list(sconns, sc); MUTEX_UNLOCK(sconns); sc->type=CT_TTYS; sc->ttys_filename=g_strdup(filename); sc->sprotocol = SPROT_NONE; #ifdef Z_MSC_MINGW sc->zser = zserial_init_win32(sc->ttys_filename); #else sc->zser = zserial_init_tty(sc->ttys_filename); #endif zserial_nolocks(sc->zser, cfg->nolocks); sc_open_common(sc); found: sd=g_new0(struct sdev,1); sc->give_me_chance = 1; MUTEX_LOCK(sc->sdevs); sc->give_me_chance = 0; add_to_list(sc->sdevs, sd); MUTEX_UNLOCK(sc->sdevs); sd->sconn=sc; sd->saddr=saddr; sd->timeout_ms = timeout_ms; /*dbg("sd=%p refcnt=%d\n",sd,sc->refcnt);*/ return sd; } struct sdev *sd_open_ftdi(char saddr, int vid, int pid, char *serial, int timeout_ms){ struct sconn *sc; struct sdev *sd; /* dbg("sd_open_ttys(%s)\n", filename);*/ MUTEX_LOCK(sconns); foreach(sc, sconns){ if (sc->type!=CT_FTDI) continue; if (serial && *serial) if (strcmp(sc->ftdi_serial, serial)!=0) continue; /*dbg("found sc=%p\n", sc);*/ sc->refcnt++; MUTEX_UNLOCK(sconns); goto found; } MUTEX_UNLOCK(sconns); /* sconn not found */ sc=g_new0(struct sconn,1); dbg("new sc %p\n",sc); sc->refcnt++; MUTEX_LOCK(sconns); add_to_list(sconns, sc); MUTEX_UNLOCK(sconns); sc->type=CT_FTDI; sc->ftdi_vid = vid; sc->ftdi_pid = pid; sc->ftdi_serial = g_strdup(serial?serial:""); sc->sprotocol = SPROT_ROTAR; sc->zser = zserial_init_ftdi(sc->ftdi_vid, sc->ftdi_pid, sc->ftdi_serial); if (sc->zser) sc_open_common(sc); found: sd=g_new0(struct sdev,1); sc->give_me_chance = 1; MUTEX_LOCK(sc->sdevs); sc->give_me_chance = 0; add_to_list(sc->sdevs, sd); MUTEX_UNLOCK(sc->sdevs); sd->sconn=sc; sd->saddr=saddr; sd->timeout_ms = timeout_ms; /*dbg("sd=%p refcnt=%d\n",sd,sc->refcnt);*/ return sd; } void sc_open_common(struct sconn *sc){ MUTEX_INIT(sc->sdevs); init_list(sc->sdevs); MUTEX_INIT(sc->jobs); init_list(sc->jobs); sc->thread = g_thread_try_new("sc_main", sc_main, (gpointer)sc, NULL); //dbg("sc created thread %p\n", sc->thread); } struct sdev *sd_open_udp(char *hostname, int udpport){ return NULL; } struct sdev *sd_open_tcp(char *hostname, int tcpport){ return NULL; } int free_sd(struct sdev *sd){ struct sconn *sc; /* dbg(" ------\n");*/ dbg("free_sd(%p)\n", sd); if (!sd) return -1; sc=sd->sconn; /* dbg(" refcnt=%d\n", sc->refcnt);*/ sc->give_me_chance = 1; MUTEX_LOCK(sc->sdevs); sc->give_me_chance = 0; del_from_list(sd); MUTEX_UNLOCK(sc->sdevs); sc->refcnt--; if (!sc->refcnt){ /*dbg(" freeing sc %p\n", sc);*/ sc->freeing = 1; if (sc->thread){ sc->thread_break = 1; dbg("join sconn...\n"); g_thread_join(sc->thread); dbg("done\n"); sc->thread = NULL; } sc->give_me_chance = 1; MUTEX_LOCK(sc->sdevs); sc->give_me_chance = 0; del_from_list(sd); MUTEX_UNLOCK(sc->sdevs); zg_free0(sc->ttys_filename); zg_free0(sc->ip_hostname); #ifdef Z_HAVE_LIBFTDI zg_free0(sc->ftdi_serial); #endif MUTEX_LOCK(sconns); del_from_list(sc); MUTEX_UNLOCK(sconns); g_free(sc); }else{ /*dbg(" sc %p already active\n", sc);*/ } g_free(sd); return (0); } static char sd_chk(unsigned char *s, int len){ unsigned char chk, *c; chk=0; for (c=s;len;c++,len--){ chk^=*c; } return chk; } int sconn_open(struct sconn *sconn, int verbose){ if (sconn->freeing) return -1; if (sconn->opened) return 0; zserial_set_line(sconn->zser, 9600, 8, 'E', 1); if (zserial_open(sconn->zser)){ if (verbose) zselect_msg_send(zsel, "SC;!;%s", zserial_errorstr(sconn->zser)); return -1; } // zserial_rts(sconn->zser, 1); // zserial_dtr(sconn->zser, 1); zserial_rts(sconn->zser, 0); /* clear PSEN */ /* clear = log.1 */ zserial_dtr(sconn->zser, 0); /* clear reset*/ /* clear */ sconn->opened = 1; return 0; } int sconn_close(struct sconn *sconn){ zserial_close(sconn->zser); sconn->opened = 0; return 0; } int sd_prot(struct sconn *sconn, char saddr, char fce, char *data, int *len, int timeout){ unsigned char rawdata[550]; int rawlen,written,rawi; int ret, i; static unsigned int sernr = 0; ret = sconn_open(sconn, 0); if (ret) return ret; /* clearing queue, filedescriptor is non-blocking */ /* for (i=0; i<10; i++){ if (sconn->read(sconn, rawdata, sizeof(rawdata)-1, 100)<=0) break;}*/ rawlen=0; memset(rawdata, 0xff, STARTB); rawlen+=STARTB; rawdata[rawlen++]=0xc5; rawdata[rawlen++]=fce&0x7f; rawdata[rawlen++]=saddr; rawdata[rawlen++]=(unsigned char)*len; memcpy(rawdata+rawlen, data, *len); rawlen+=*len; rawdata[rawlen]=sd_chk(rawdata+STARTB, rawlen-STARTB); rawlen++; memset(rawdata+rawlen, 0xff, STOPB); rawlen+=STOPB; if (cfg->trace_sdev){ dbg("\n%5d sconn->write(", sernr++ % 100000); for (i=0; izser, rawdata, rawlen); trace(cfg->trace_sdev, "sd_send: written=%d\n", written); if (written<0) return written; rawi=0; while(1){ if (rawi>=sizeof(rawdata)-1) return 20; ret = zserial_read(sconn->zser, rawdata+rawi, sizeof(rawdata)-rawi, timeout); // dbg("read=%d\n", ret); if (ret<0) return -3; if (ret==0) return -4; rawi += ret; if (cfg->trace_sdev) { int j; dbg("read="); for (j=0; jrawi %d+5>%d=%d\n", i, rawi, i+5>rawi); if (i+5>rawi) goto nextloop; // dbg("i+5+rawdata[i+3]>rawi %d+5+%d>%d\n", i, (unsigned char)rawdata[i+3], rawi); if (i+5+(unsigned char)rawdata[i+3]>rawi) goto nextloop; // dbg("b\n"); if (sd_chk(rawdata+i, 5+rawdata[i+3]) != 0) return 11; if (rawdata[i+1]==0) return 17; if (rawdata[i+1]==0x80) return 14; if ((rawdata[i+1] & 0x80)==0) continue; // dbg("c\n"); if (rawdata[i+2]!=(unsigned char)saddr) return 16; // dbg("d\n"); if (rawdata[i+1]!=(fce|0x80)) return 16; *len = rawdata[i+3]; memcpy(data, rawdata+i+4, *len); /* { int j; dbg("OK data=\n"); for (j=0; j<*len; j++) dbg("%02x ", (unsigned char)data[j]); dbg("\n"); }*/ return 0; } //dbg("neni C5 0..%d\n", rawi); nextloop:; } return 0; } char *sd_err(int err){ switch(err){ case 0: return "OK"; case 11: return VTEXT(T_BAD_CHECKSUM); case 13: return VTEXT(T_TIMEOUT2); case 14: return VTEXT(T_ERROR); case 16: return VTEXT(T_BAD_RESPONSE); case 17: return VTEXT(T_UNKNOWN_FUNCTION); default: return VTEXT(T_UNKNOWN_ERROR_CODE); } } gpointer sc_main(gpointer xxx){ char data[256]; int len; // struct sslave *sptr; struct sconn *sconn = (struct sconn *)xxx; dbg("sc_main\n"); zg_thread_set_name("Tucnak sc_main"); sconn_open(sconn, 1); while(!sconn->thread_break){ struct sconn_job *job; struct sdev *sdev; int i, chrapej = 0; if (sconn->give_me_chance) { usleep(10000); continue; } MUTEX_LOCK(sconn->sdevs); job = sconn_job_get(sconn); //dbg("job=%p\n", job); if (!job){ i = 0; foreach (sdev, sconn->sdevs) i++; // number of sdevs if (i==0) { error("sc_main: sconn->sdevs is empty"); sleep(1); } if (sconn->sdevi >= i) sconn->sdevi = 0; i = sconn->sdevi; sdev = NULL; foreach (sdev, sconn->sdevs) { if (!i--) break; } // dbg("sdevi=%d sdev=%p main=%p\n", sconn->sdevi, sdev, sdev->sdev_main); if (sdev->sdev_main) { if (sdev->sdev_main(sdev)) chrapej++; } sconn->sdevi++; MUTEX_UNLOCK(sconn->sdevs); if (chrapej) goto zzzzz; continue; } switch(job->cmd){ case SCONN_ROT_AZIM: data[0] = job->azim & 0xff; data[1] = (job->azim >> 8) & 0xff; len=2; dbg("sd_prot(%d, %d)\n", job->sdev->saddr, job->azim); sd_prot(sconn, job->sdev->saddr, 65, data, &len, job->sdev->timeout_ms); break; } MUTEX_UNLOCK(sconn->sdevs); continue; zzzzz:; //for (i=0; i<20;i++){ // if (sconn->thread_break) break; usleep(100000); //} } dbg("sc_main exiting\n"); sconn_close(sconn); return NULL; } void sconn_job_add(struct sconn *sconn, struct sconn_job *job){ MUTEX_LOCK(sconn->jobs); add_to_list(sconn->jobs, job); MUTEX_UNLOCK(sconn->jobs); } struct sconn_job *sconn_job_get(struct sconn *sconn){ struct sconn_job *job; MUTEX_LOCK(sconn->jobs); if (list_empty(sconn->jobs)){ MUTEX_UNLOCK(sconn->jobs); return NULL; } job = sconn->jobs.prev; del_from_list(job); MUTEX_UNLOCK(sconn->jobs); return job; } tucnak-4.32/src/sota.c0000644000175000017500000001061013761411352011552 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "language2.h" #include "net.h" #include "qsodb.h" #include "stats.h" #include "tsdl.h" #include "tregex.h" #include "sota.h" static int convert_to_sota_date(char *cdout, char *cdin) { /* 20201025 to 25/10/2020 */ int year, month, day; sscanf(cdin, "%4d%2d%2d", &year, &month, &day); return g_snprintf(cdout, 12, "%02d/%02d/%04d", day, month, year); } static int convert_to_sota_time(char *ctout, char *ctin) { /* 1922 to 19:22 */ int sec, hour; sscanf(ctin, "%2d%2d", &hour, &sec); return g_snprintf(ctout, 6, "%02d:%02d", hour, sec); } static int convert_to_sota_band(char *cbandout, char *cbandin) { if (cbandin == NULL || cbandout == NULL) return -1; while (*cbandin != '\0') { if (*cbandin != ' ') *cbandout++ = toupper(*cbandin); cbandin++; } *cbandout = '\0'; return 1; } static int write_sota_qsos(char *sotaref, struct band *b, struct config_band *confb, FILE *f){ struct qso *q; GString *gs; int i; int ret; //char s[1024]; char sota_date[12]; char sota_time[6]; char sota_band[12]; gs = g_string_new(""); for (i=0; iqsos->len; i++){ q = get_qso(b, i); if (q->error || q->dupe) continue; convert_to_sota_band(sota_band, b->pband); convert_to_sota_date(sota_date, q->date_str); convert_to_sota_time(sota_time, q->time_str); g_string_append_printf(gs, "V2,%s,%s,%s,%s,%s,%s,%s,%s,\"RSTrcvd: %s RSTsnd: %s", ctest->pcall, sotaref, sota_date, sota_time, sota_band, get_sota_mode_ps(q->mode), q->callsign, q->exc, q->rstr, q->rsts ); if (q->locator && strlen(q->locator)) g_string_append_printf(gs, " GRID: %s", q->locator); g_string_append(gs, "\"\n"); } ret=fprintf(f, "%s", gs->str) != gs->len; g_string_free(gs, TRUE); return ret; } char* get_sota_mode_ps(int mode){ static char *sota_modes[]={ "", "SSB", "CW", "SSB", "SSB", "AM", /* 5 */ "FM", "DATA", "DATA", "Other" /* 9 */ }; return sota_modes[abs(mode)%10]; } gchar* get_sota_log_filename(void) { char callbuf[20]; /* !!! Do not forgot free returned g_string by g_free() !!! */ return g_strdup_printf("%s/%s_%s.csv", ctest->directory, ctest->cdate, z_get_raw_call(callbuf,ctest->pcall)); } int export_all_bands_sota(void){ struct band *band; struct config_band *confb; int i, err; gchar *filename; FILE *f; int ignoreerror=0; //int header_saved=0; if (!ctest) return -1; dbg("export_all_bands_sota()\n"); /* if (!regcmpi(ctest->tname, "[a-zA-Z0-9]{2,3}/[a-zA-Z0-9]{2,3}-[0-9]{3}")) log_addf("No reference in contest name"); */ if (!strlen(ctest->pexch)) log_addf("Empty SOTA reference in contest settings (exc)"); filename = get_sota_log_filename(); z_wokna(filename); f=fopen(filename,"wb"); /* must be b for windoze */ if (!f) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), errno); ignoreerror=1;} g_free(filename); return -1; } err = 0; for (i=0; ibands->len; i++){ band = g_ptr_array_index(ctest->bands, i); confb = get_config_band_by_bandchar(band->bandchar); progress(VTEXT(T_EXPORTING_S), band->bandname); stats_thread_join(band); if (band->stats->nqsos <=0) continue; err|=write_sota_qsos(ctest->pexch,band,confb,f); /* TODO: get ref from contest name */ } fclose(f); if (err) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), 0); ignoreerror=1; } g_free(filename); progress(NULL); return -1; } log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); progress(NULL); return 0; } tucnak-4.32/src/qrvdb.h0000644000175000017500000000653113736164554011751 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __QRVDB_H #define __QRVDB_H #include "header.h" struct qso; struct subwin; struct event; struct band; #define QRVSSIZE 30 struct qrv_item{ gchar *call; gchar *wwl; int bands_qrv; // qrv on band int wkd[32]; // 0 not wkd or no info about // <0 wkd by others // >0 wkd by me, maybe also by others gchar *text; time_t kst_time; // time when spot was caught on KST int bands_wkd; // wkd in this contest int kx,ky; double qrb; int qtf; double weight; // AS time_t ac_start; int ac_interval; int ac_n; //int ac_drawn; }; struct qrvdb{ ZPtrArray *qrvs; // of struct qrv_item MUTEX_DEFINE(qrvs); GHashTable *hash; int def_bands; double antchar[360]; int beamwidth; double gst[360]; int (*sort)(const void*, const void *); int (*sort2)(const void*, const void *); int showall; char search[QRVSSIZE]; int sortdir; }; extern struct qrvdb *qrv; struct qrvdb *init_qrv(void); void clear_qrv(struct qrvdb *qrvdb); void free_qrv(struct qrvdb *qrvdb); struct qrv_item *qrv_add(gchar *call, gchar *wwl, int qrv_int, int wkd[32], const gchar *text, time_t kst_time); struct qrv_item *qrv_kst_add(char *call, char *wwl, char *fullname); void qrv_delete(char *call, int bi); int load_qrv_files(struct qrvdb *qrvdb); int save_qrv_to_file(char *filename); int load_qrv_from_file(struct qrvdb *qrvdb, gchar *filename); void load_one_qrv(struct qrvdb *qrvdb, gchar *s); void qrv_set_wkd(struct qrvdb *qrvdb, struct qso *qso); void qrv_recalc_wkd(struct qrvdb *qrvdb); void qrv_compute_qrbqtf(struct qrv_item *q); void qrv_recalc_qrbqtf(struct qrvdb *qrvdb); void qrv_recalc_gst(struct qrvdb *qrvdb); int qrv_skip(struct qrv_item *qi, int bi, int setdrawn); void sw_qrv_seek(struct subwin *sw, int value); struct qrv_item *qrv_get(struct qrvdb *qrvdb, char *call); int qrv_compare_ac_start(const void *a, const void *b); int qrv_compare_ac_int(const void *a, const void *b); int qrv_compare_ac_n(const void *a, const void *b); int qrv_compare_call(const void *a, const void *b); int qrv_compare_wwl(const void *a, const void *b); int qrv_compare_wkd(const void *a, const void *b); int qrv_compare_qrb(const void *a, const void *b); int qrv_compare_qtf(const void *a, const void *b); int qrv_compare_kst_time(const void *a, const void *b); int qrv_compare_text(const void *a, const void *b); void qrv_touch(struct qrvdb *qrvdb, char *call); void edit_qrv(void *arg); int sw_qrv_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_qrv_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_qrv_redraw(struct subwin *sw, struct band *band, int flags); void sw_qrv_check_bounds(struct subwin *sw); void sw_qrv_raise(struct subwin *sw); void sw_qrv_sort(struct qrvdb *qrvdb); void qrv_read_line(char *); int sw_qrv_color(char *call); struct zstring *qrv_format(struct qrv_item *qi); void qrv_sort(int (*fce)(const void*, const void *)); void menu_qrv_add_contest(void *menudata, void *itdata); #endif tucnak-4.32/src/ssbd.c0000644000175000017500000007515713741772702011567 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "control.h" #include "cwdaemon.h" #include "dsp.h" #include "fft.h" #include "fifo.h" #include "icons.h" #include "language2.h" #include "main.h" #include "net.h" #include "player.h" #include "qsodb.h" #include "rc.h" #include "scope.h" #include "sdr.h" #include "tsdl.h" #include "sdr.h" #include "session.h" #include "ssbd.h" #include "subwin.h" #include "tregex.h" struct ssbd *gssbd; MUTEX_DEFINE(ssbd); #define MAXCNTLEVEL 1 struct ssbd *init_ssbd(){ struct ssbd *ssbd; progress(VTEXT(T_INIT_SSB_CQ)); ssbd = g_new0(struct ssbd, 1); #ifdef HAVE_SNDFILE MUTEX_INIT(ssbd); #ifdef VOIP ssbd->voip = init_voip(); voip_receive(ssbd); //voip_test(ssbd->voip); #endif #if defined(Z_HAVE_SDL) && defined(Z_HAVE_LIBPNG) if (sdl){ ssbd->norecicon = zpng_create(icon_norec, sizeof(icon_norec)); if (!ssbd->norecicon) zinternal("Can't create norec icon, corrupted executable?"); ssbd->recicon = zpng_create(icon_record, sizeof(icon_record)); if (!ssbd->recicon) zinternal("Can't create record icon, corrupted executable?"); ssbd->playicon = zpng_create(icon_play, sizeof(icon_play)); if (!ssbd->playicon) zinternal("Can't create play icon, corrupted executable?"); } #endif ssbd->loglevel = -1; ssbd->oldloglevel = -2; MUTEX_INIT(ssbd->loglevel); MUTEX_INIT(ssbd->seek); ssbd->dsp = init_dsp((enum dsp_type)cfg->ssbd_type, DCG_SSBD); #endif return ssbd; } void free_ssbd(struct ssbd *ssbd){ progress(VTEXT(T_FREE_SSB_CQ)); cq_abort(1); ssbd_abort(ssbd,1); #ifdef HAVE_SNDFILE ssbd_thread_join(ssbd); /* killed before but... */ g_free(ssbd->buffer); free_dsp(ssbd->dsp); #ifdef VOIP free_voip(ssbd->voip); #endif zg_free0(ssbd->callsign); zg_free0(ssbd->pfilename); zg_free0(ssbd->rfilename); #ifdef Z_HAVE_SDL if (sdl){ if (ssbd->playicon) SDL_FreeSurface(ssbd->playicon); if (ssbd->recicon) SDL_FreeSurface(ssbd->recicon); if (ssbd->norecicon) SDL_FreeSurface(ssbd->norecicon); g_free(ssbd->scope_buf); } #endif if (ssbd->pl_pcmfile){ unlink(ssbd->pl_pcmfile); g_free(ssbd->pl_pcmfile); } MUTEX_FREE(ssbd); MUTEX_FREE(ssbd->loglevel); MUTEX_FREE(ssbd->seek); #endif // HAVE_SNDFILE g_free(ssbd); } void ssbd_abort(struct ssbd *ssbd, int abort_rec){ gchar *tmpfile; int recording; if (!ssbd) return; dbg("ssbd_abort recording=%d abort_rec=%d\n", ssbd->recording, abort_rec); recording = ssbd->recording; #ifdef HAVE_SNDFILE ssbd->channels = 0; ssbd->playedf = 0; if (gses) gses->icon=NULL; ssbd_thread_join(ssbd); if (ssbd->sndfile && recording) { sf_close (ssbd->sndfile); ssbd->sndfile = NULL; if (!cfg->ssbd_template || !ssbd->rfilename) goto x; tmpfile=convert_esc(cfg->ssbd_template, NULL, CE_NONE, time(NULL)); /*dbg("cfg->template='%s' cfg->callsign='%s' \n", cfg->ssbd_template, ssbd->callsign); dbg("tmpfile='%s' cfg->filename='%s'\n", tmpfile, ssbd->rfilename);*/ if (strcmp(tmpfile, ssbd->rfilename)!=0){ dbg("renaming '%s' to '%s'\n", ssbd->rfilename, tmpfile); rename(ssbd->rfilename, tmpfile); g_free(ssbd->rfilename); ssbd->rfilename=g_strdup(tmpfile); } g_free(tmpfile); } x:; ssbd->dsp->close2(ssbd->dsp); ssbd->recording=0; if (!abort_rec) { #ifdef USE_SDR sdr_start(gsdr); #endif ssbd_rec_file(ssbd); }else{ #ifdef USE_SDR sdr_stop(gsdr); #endif } #endif #ifdef Z_ANDROID zandroid_ssbd_abort(); #endif } int ssbd_recording(struct ssbd *ssbd){ //dbg("ssbd_recording=%d\n", ssbd->recording); return ssbd->recording; } #ifdef HAVE_SNDFILE void ssbd_thread_create(struct ssbd *ssbd, GThreadFunc thread_func){ #if 0 dbg("ssbd_thread_create"); if (thread_func==ssbd_play_thread_func) dbg(" play\n"); else if (thread_func==ssbd_rec_thread_func) dbg(" rec\n"); #ifdef VOIP else if (thread_func==voip_thread_func) dbg(" voip\n"); #endif else dbg(" ???"); #endif ssbd->proc_break=0; if (ssbd->thread) return; ssbd->thread = g_thread_try_new("ssbd", thread_func, (gpointer)ssbd, NULL); dbg("ssbd created thread %p\n", ssbd->thread); } void ssbd_thread_join(struct ssbd *ssbd){ dbg("ssbd thread join %p\n", ssbd->thread); if (!ssbd->thread) return; ssbd->proc_break=1; dbg("join ssbd...\n"); g_thread_join(ssbd->thread); dbg("done\n"); ssbd->thread = NULL; } /* ------- playing -------------------------------------------------- */ int ssbd_play_file(struct ssbd *ssbd, gchar *pfilename){ SF_INFO sfinfo; int subformat; char *wfilename; dbg("ssbd_play_file('%s')\n", pfilename); ssbd_abort(ssbd,1); /*aborts playing or recording */ memset (&sfinfo, 0, sizeof (sfinfo)); if (!pfilename || strlen(pfilename)==0) { log_adds(VTEXT(T_NO_FILE)); return -1; } dbg ("Playing %s\n", pfilename); wfilename = g_strdup(pfilename); z_wokna(wfilename); if (! (ssbd->sndfile = sf_open (wfilename, SFM_READ, &sfinfo))){ char *sferr = z_1250_to_8859_2(g_strdup(sf_strerror (NULL))); log_addf(TRANSLATE("Can't play %s - %s"), wfilename, sferr); g_free(sferr); g_free(wfilename); return -1; }; g_free(wfilename); if (sfinfo.channels < 1 || sfinfo.channels > 2){ log_addf (VTEXT(T_UNSUP_CHANNELS), sfinfo.channels); sf_close (ssbd->sndfile); ssbd->sndfile = NULL; return -1; }; subformat = sfinfo.format & SF_FORMAT_SUBMASK; if (subformat == SF_FORMAT_FLOAT || subformat == SF_FORMAT_DOUBLE){ log_addf(VTEXT(T_FLOAT_UNSUPP)); sf_close (ssbd->sndfile); ssbd->sndfile = NULL; return -1; } dbg("sfinfo: format=0x%x channels=%d speed=%d frames=%d\n", sfinfo.format, sfinfo.channels, sfinfo.samplerate, sfinfo.frames); ssbd->dsp->set_format(ssbd->dsp, &sfinfo, 0); ssbd->dsp->set_plevel(ssbd->dsp); if (ssbd->dsp->open(ssbd->dsp, 0)<0) { log_addf(VTEXT(T_CANT_OPEN_DSP_PLAY), ssbd->dsp->name); sf_close (ssbd->sndfile); ssbd->sndfile = NULL; return -1; }; //dbg("play opened: channels=%d speed=%d\n", gdsp->channels, gdsp->speed); g_free(ssbd->buffer); ssbd->buffer = g_new0(short, ssbd->dsp->samples); #ifdef USE_FFT fft_start(gfft, ssbd->dsp->frames, ssbd->dsp->speed); #endif sw_scope_clear_scopes(); ssbd->channels = sfinfo.channels; ssbd->seek = 0; #ifdef Z_HAVE_SDL if (zsdl && gses){ ssbd->scope_w = gses->ontop->w * zsdl->font_w; ssbd->scope_samples = ssbd->channels * ssbd->scope_w; ssbd->scope_buf = g_new0(short, ssbd->scope_samples); ssbd->scope_show = 0; //dbg("gssbd->scope_show = 0 %s:%d\n", __FUNCTION__, __LINE__); ssbd->scope_i = 0; } #endif ssbd_thread_create(ssbd, ssbd_play_thread_func); if (gses) gses->icon=ssbd->playicon; return 0; } gpointer ssbd_play_thread_func(gpointer data){ int frames, samples, writtenf, writtens; int err; short *wrptr; int xxx = -1; sf_count_t cnt; int tocopy; // in samples zg_thread_set_name("Tucnak ssbd play"); /*dbg("play thread started\n"); for (i=0;i<6;i++){ if (ssbd->thread_break) goto x; dbg("kdĂĄk\n"); sleep(1); } */ while(1){ int seek; xxx++; if (gssbd->proc_break) { gssbd->dsp->reset(gssbd->dsp); goto x; } MUTEX_LOCK(gssbd->seek); seek = gssbd->seek * gssbd->channels * gssbd->dsp->speed / 1000; gssbd->seek = 0; MUTEX_UNLOCK(gssbd->seek); if (seek != 0){ //dbg("seek(%d)\n", seek); cnt = sf_seek(gssbd->sndfile, 0, SEEK_CUR); cnt += seek; if (cnt < 0) cnt = 0; cnt = sf_seek(gssbd->sndfile, cnt, SEEK_SET); if (cnt >= 0) gssbd->playedf = cnt; gssbd->cntlevel = 0; } frames = sf_readf_short (gssbd->sndfile, gssbd->buffer, gssbd->dsp->frames); if (frames <= 0) break; samples = (frames * gssbd->dsp->samples) / gssbd->dsp->frames; gssbd->playedf += frames; /* todo playmax & etc */ if (gssbd->proc_break) { gssbd->dsp->reset(gssbd->dsp); goto x; } /*if (gssbd->cntlevel--==0){ gssbd->cntlevel=MAXCNTLEVEL; zselect_msg_send(zsel, "%s;%s", "SSBP", "L"); } */ #ifdef Z_HAVE_SDL if (gssbd->scope_show == 0){ tocopy = Z_MIN(samples, gssbd->scope_samples - gssbd->scope_i); if (tocopy > 0) { memcpy(gssbd->scope_buf + gssbd->scope_i, gssbd->buffer, tocopy * sizeof(short)); gssbd->scope_i += tocopy; if (gssbd->scope_i >= gssbd->scope_samples){ gssbd->scope_show = 1; gssbd->scope_i = 0; zselect_msg_send(zsel, "%s;%s", "SSBP", "L"); } } } #endif #ifdef USE_FFT if (gfft){ int i, j; short *p = gssbd->buffer; for (i=0; idsp->channels; j++){ v += (double)*p++; } v /= gssbd->dsp->channels; v /= 32768; if (i >= gfft->lenrin) zinternal("gfft->dynrin[%d] access (rinlen=%d)", i, gfft->lenrin); gfft->dynrin[i] = v; } fft_do(gfft); zselect_msg_send(zsel, "SSBP;D"); } #endif wrptr = gssbd->buffer; while(1){ writtenf = gssbd->dsp->write (gssbd->dsp, wrptr, frames); if (writtenf < 0){ GString *gs = g_string_new(""); err=errno; MUTEX_LOCK(ssbd); g_string_append_printf(gs, "!%s %s ", VTEXT(T_CANT_WRITE_TO), gssbd->dsp->name); z_strerror(gs, err); g_string_append_c(gs, '\n'); MUTEX_UNLOCK(ssbd); zselect_msg_send(zsel, "%s;%s", "SSBP", gs->str); g_string_free(gs, TRUE); goto x; } if (writtenf < frames){ dbg("write(%s) interrupted after %d frames\n", gssbd->dsp->name, writtenf); writtens = (writtenf * gssbd->dsp->samples) / gssbd->dsp->frames; wrptr += writtens; frames -= writtenf; } break; } } gssbd->dsp->sync(gssbd->dsp); //sprintf(s, "SSBP;e\n"); //ret = write(tpipe->threadpipe_write, s, strlen(s)); zselect_msg_send(zsel, "%s;%s", "SSBP", "e"); x:; memset(gssbd->buffer, 0, gssbd->dsp->bytes); dbg("ssbd_play_thread_func exited\n"); return NULL; } #endif #if defined(HAVE_SNDFILE) || defined(Z_ANDROID) void ssbd_play_read_handler(struct ssbd *ssbd, gchar *str){ /*dbg("ssbd_read_handler\n");*/ /* this breaks cw wait timer when L is received if (gses && gses->last_cq_timer_id){ // CQ was aborted while playing zselect_timer_kill(zsel, gses->last_cq_timer_id); gses->last_cq_timer_id = 0; } */ switch(str[0]){ case '!': /* error */ cq_abort(ssbd->recording); /*abort recording only if it is in progress */ log_addf("ssbd: %s", str+1); if (gses) gses->icon=NULL; redraw_later(); cq_abort(ssbd->recording); peer_tx(aband, 0); break; case 'e': /* sample played */ if (!gses) break; #ifdef HAVE_SNDFILE if (ssbd->sndfile != NULL){ sf_close(ssbd->sndfile); ssbd->sndfile = NULL; } #endif gses->icon=NULL; if (!gses->last_cq) { /* last sample played */ cq_abort(ssbd->recording); break; } if (gses->last_cq->ssb_repeat) cq_ssb_wait(gses->last_cq); else{ gses->last_cq->mode=MOD_NONE; cq_abort(ssbd->recording); } peer_tx(aband, 0); redraw_later(); break; case 'L': /* play level */ //ssbd->loglevel=atoi(str+1); #ifdef Z_HAVE_SDL if (gses && gses->ontop->type == SWT_SCOPE){ gses->ontop->gdirty = 1; //dbg("set gdirty\n"); } #endif redraw_later(); /*dbg("level=%d\n", ssbd->loglevel);*/ break; case 'D': #ifdef Z_HAVE_SDL if (gses && gses->ontop->type == SWT_SCOPE){ gses->ontop->gdirty = 1; } #endif redraw_later(); } } #endif /* ------- recording -------------------------------------------------- */ #ifdef HAVE_SNDFILE int ssbd_rec_file(struct ssbd *ssbd){ int subformat; SF_INFO sfinfo; char errbuf[1024]; double df; char *wfilename; /*dbg("ssbd_rec_file cfg->ssbd_record=%d ssbd->recording=%d ctest->recording=%d\n", cfg->ssbd_record, ssbd->recording, ctest?ctest->recording:-123); */ if (!cfg->ssbd_record) { strcpy(errbuf, VTEXT(T_REC_DISABLED)); goto norec; } if (ssbd->recording) return 0; if (gses) gses->icon=ssbd->norecicon; if (ctest && ctest->oldcontest) { strcpy(errbuf, VTEXT(T_CONTEST_TOO_OLD)); goto norec; } if (ssbd->thread != NULL) zinternal("ssbd_rec_file: ssbd->thread != NULL"); //ssbd_abort(ssbd,1); /*aborts playing or recording */ ssbd_watchdog(ssbd, 0); zg_free0(ssbd->rfilename); ssbd->serno++; ssbd->rfilename=convert_esc(cfg->ssbd_template, NULL, CE_NONE, time(NULL)); /*dbg ("Playing %s\n", ssbd->rfilename);*/ memset (&sfinfo, 0, sizeof (sfinfo)); sfinfo.format = cfg->ssbd_format; sfinfo.channels = cfg->ssbd_channels; sfinfo.samplerate = cfg->ssbd_samplerate; if (!sfinfo.format) sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16; if (!sfinfo.channels) sfinfo.channels = 1; if (!sfinfo.samplerate) sfinfo.samplerate = 8000; if (ssbd->dsp->type == DSPT_SNDPIPE) { sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16; sfinfo.channels = 2; sfinfo.samplerate = cfg->sdr_af_speed; } ssbd->code = 0; wfilename = g_strdup(ssbd->rfilename); z_wokna(wfilename); z_fmkdir_p(wfilename,0777); df=z_df(wfilename); if (df>=0.0 && cfg->ssbd_diskfree>0){ if (df < (cfg->ssbd_diskfree*1058576.0)){ //dbg("Not enough free disk space for %s: %d<%d (MiB)\n", wfilename, (int)(df/1048576), cfg->ssbd_diskfree); log_addf (VTEXT(T_NO_FREE_DISK_SPACE), wfilename, (int)(df/1048576), cfg->ssbd_diskfree); g_free(wfilename); return -1; } } /*dbg("check:%d\n", sf_format_check(&sfinfo));*/ if (! (ssbd->sndfile = sf_open(wfilename, SFM_WRITE, &sfinfo))){ char *sferr = z_1250_to_8859_2(g_strdup(sf_strerror (NULL))); log_addf (VTEXT(T_ERROR_WRITING_FILE), wfilename, sferr); g_free(sferr); g_free(wfilename); return -1; }; g_free(wfilename); subformat = sfinfo.format & SF_FORMAT_SUBMASK; if (subformat == SF_FORMAT_FLOAT || subformat == SF_FORMAT_DOUBLE){ log_addf(VTEXT(T_FLOAT_UNSUPP)); sf_close (ssbd->sndfile); ssbd->sndfile = NULL; return -1; } /*dbg("sfinfo: format=%x channels=%d speed=%d frames=%d\n", sfinfo.format, sfinfo.channels, sfinfo.samplerate, sfinfo.frames);*/ if (ssbd->dsp->type == DSPT_SNDPIPE) { ssbd->dsp->set_sdr_format(ssbd->dsp, cfg->sdr_block / 2, cfg->sdr_af_speed, 1); sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16; sfinfo.channels = ssbd->dsp->channels; sfinfo.samplerate = ssbd->dsp->speed; }else{ ssbd->dsp->set_format(gssbd->dsp, &sfinfo, 1); } ssbd->dsp->set_source(gssbd->dsp); if (ssbd->dsp->open(ssbd->dsp, 1)<0){ log_addf(VTEXT(T_CANT_OPEN_DSP_REC), ssbd->dsp->name); sf_close (ssbd->sndfile); ssbd->sndfile = NULL; return -1; }; g_free(ssbd->buffer); ssbd->buffer = g_new0(short, ssbd->dsp->samples); #ifdef USE_FFT fft_start(gfft, ssbd->dsp->frames, ssbd->dsp->speed); #endif ssbd->channels = gssbd->dsp->channels; #ifdef Z_HAVE_SDL if (zsdl && gses){ sw_scope_clear_scopes(); ssbd->scope_w = gses->ontop->w * zsdl->font_w; ssbd->scope_samples = ssbd->channels * ssbd->scope_w; ssbd->scope_buf = g_new0(short, ssbd->scope_samples); ssbd->scope_show = 0; ssbd->scope_i = 0; } #endif ssbd_thread_create(ssbd, ssbd_rec_thread_func); if (gses) gses->icon=ssbd->recicon; ssbd->recording=1; return 0; norec:; if (ssbd->norecshowed) return 0; log_addf(VTEXT(T_NOT_RECORDING_S), errbuf); ssbd->norecshowed=1; return 0; } void rec_thread_sigint(int a){ /*dbg("rec_thread_sigint\n");*/ gssbd->proc_break=1; } gpointer ssbd_rec_thread_func(gpointer data){ gchar *c; int frames, samples, writtenframes=0, err, i; int max, loglevel, avg; unsigned long sum; time_t now; double df; struct timeval tv; #ifdef VOIP struct voippacket vp; struct sockaddr_in sin; short val = 0; #endif #ifdef Z_HAVE_SDL int tocopy; #endif zg_thread_set_name("Tucnak ssbd rec"); #ifdef VOIP memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = htons(7300); //sin.sin_addr.s_addr = inet_aton("192.168.1.255", &sin.sin_addr); #endif while(1){ if (gssbd->proc_break) break; frames = gssbd->dsp->read(gssbd->dsp, gssbd->buffer, gssbd->dsp->frames); if (frames == -EWOULDBLOCK) { usleep(20000); continue; } if (frames<=0) { GString *gs = g_string_new(""); err=errno; MUTEX_LOCK(ssbd); g_string_append_printf(gs, "!%s %s ", VTEXT(T_CANT_READ_FROM), gssbd->dsp->name); z_strerror(gs, err); g_string_append_printf(gs, " %d %d\n", frames, err); MUTEX_UNLOCK(ssbd); zselect_msg_send(zsel, "%s;%s", "SSBR", gs->str); g_string_free(gs, TRUE); break; } samples = (frames * gssbd->dsp->samples) / gssbd->dsp->frames; gettimeofday(&tv, NULL); //dbg("%02d.%03d readed=%d readed/%d=%d \n", tv.tv_sec % 100, tv.tv_usec / 1000, readed, sizeof(short), readed/sizeof(short)); // for (i=0; i<512;i++) ssbd->buffer[i]=rand(); // FIXME //for (i=0; ibuffer[i]=1000 * ((2 *(i % 2)) - 1); //dbg("ssbd readed=%d readeds=%d [%d %d %d %d %d %d %d %d]\n", readed, readeds, ssbd->buffer[0], ssbd->buffer[1], ssbd->buffer[2], ssbd->buffer[3], ssbd->buffer[4], ssbd->buffer[5], ssbd->buffer[6], ssbd->buffer[7]); //for (i = 0; i < samples; i++) gssbd->buffer[i] = -i; #if 0 for (i=0; ibuffer[i] = 32767 * ( 0.6 * cos((ix* 1000.0 *2*M_PI)/cfg->ssbd_samplerate) + /*0.1 * cos((ix* 2000.0 *2*M_PI)/cfg->ssbd_samplerate) + 0.1 * cos((ix* 3000.0 *2*M_PI)/cfg->ssbd_samplerate) + */ 0); ix++; } #endif if (gssbd->proc_break) break; #ifdef Z_HAVE_SDL if (gssbd->scope_show == 0){ tocopy = Z_MIN(samples, gssbd->scope_samples - gssbd->scope_i); if (tocopy > 0) { memcpy(gssbd->scope_buf + gssbd->scope_i, gssbd->buffer, tocopy * sizeof(short)); gssbd->scope_i += tocopy; if (gssbd->scope_i >= gssbd->scope_samples){ sum=0; max=0; avg=0; for (i = 0; i < samples; i++){ short sample = gssbd->buffer[i]; avg+=sample; } avg /= gssbd->dsp->channels; avg /= samples; for (i = 0; i < samples; i++){ short sample=gssbd->buffer[i] - avg; if (sample < 0) sample = -sample; sum += sample; if (sample > max) max = sample; } gssbd->midlevel=sum/samples; gssbd->maxlevel=max; // dbg("avg=%d midlevel=%d maxlevel=%d\n", avg, ssbd->midlevel, ssbd->maxlevel); if (max<32) loglevel=0; else loglevel=(log((double)max)-3.465735903)*14; if (loglevel>95) loglevel=95; MUTEX_LOCK(gssbd->loglevel); gssbd->loglevel = loglevel; MUTEX_UNLOCK(gssbd->loglevel); gssbd->scope_show = 1; //dbg("send SSBP;L scope_i=%d scope_samples=%d scope_show=%d\n", gssbd->scope_i, gssbd->scope_samples, gssbd->scope_show); gssbd->scope_i = 0; zselect_msg_send(zsel, "%s;%s", "SSBR", "L"); } } } #endif df=z_df(gssbd->rfilename); /* dbg("df=%f df=%d diskfree=%d\n", df, (int)(df/1048576), cfg->ssbd_diskfree);*/ if (df>=0.0 && cfg->ssbd_diskfree>0){ if (df < (cfg->ssbd_diskfree*1048576.0)){ MUTEX_LOCK(ssbd); //dbg("Not enough free disk space for %s: %d<%d (MiB)\n",gssbd->rfilename, (int)(df/1048576), cfg->ssbd_diskfree); c=g_strdup_printf("!%s %s %f<%d (MiB)\n", VTEXT(T_NO_DISK_SPACE), gssbd->rfilename, df/1048576.0, cfg->ssbd_diskfree); MUTEX_UNLOCK(ssbd); //ret = write(tpipe->threadpipe_write, c, strlen(c)); zselect_msg_send(zsel, "%s;%s", "SSBR", c); g_free(c); break; } } #ifdef USE_FFT if (gfft){ short *p = gssbd->buffer; for (i=0; idsp->channels; j++){ v += (double)*p++; } v /= gssbd->dsp->channels; v /= 32768; if (i >= gfft->lenrin) zinternal("gfft->rin[%i] lenrin=%d frames=%d", i, gfft->lenrin, frames); gfft->dynrin[i] = v; //gfft->dynrin[i] = 0; } fft_do(gfft); zselect_msg_send(zsel, "SSBR;D"); // dbg(" done i=%d\n", i); // dbg("vali=%d .. %d \t", mini, maxi); //RST_STOP; } #endif writtenframes = sf_writef_short (gssbd->sndfile, gssbd->buffer, frames); if (writtenframes <=0) { GString *gs = g_string_new(""); dbg("ssbd_rec_func write<=0\n"); MUTEX_LOCK(ssbd); g_string_append_printf(gs, "!%s %s ", VTEXT(T_CANT_WRITE), gssbd->rfilename); z_strerror(gs, errno); g_string_append(gs, "\n"); MUTEX_UNLOCK(ssbd); zselect_msg_send(zsel, "%s;%s", "SSBR", gs->str); g_string_free(gs, TRUE); break; } #ifdef VOIP for (i = 0; i < readed / sizeof(short); i++) gssbd->buffer[i] = val++; if (gssbd->voip){ for (i = 0; i < readed; i += sizeof(vp.buf)){ // i is in bytes int r; vp.seq = htonl(gssbd->voip->seq++); r = readed - i; if (r > sizeof(vp.buf)) r = sizeof(vp.buf); vp.len = r; memcpy(&vp.buf, ((char *)gssbd->buffer) + i, vp.len); voip_distribute(gssbd->voip, &vp); } } #endif now=time(NULL); MUTEX_LOCK(ssbd); if (gssbd->recstop && now > gssbd->recstop){ dbg("ssbd_rec_func: timeout\n"); //ret = write(tpipe->threadpipe_write, c, strlen(c)); zselect_msg_send(zsel, "%s;%s", "SSBR", "Q"); //g_free(c); MUTEX_UNLOCK(ssbd); break; } MUTEX_UNLOCK(ssbd); } memset(gssbd->buffer, 0, gssbd->dsp->bytes); dbg("ssbd_rec_thread_func exited\n"); return 0; } void ssbd_rec_read_handler(struct ssbd *ssbd, gchar *str){ /*dbg("ssbd_read_handler\n");*/ switch(str[0]){ case '!': /* error */ cq_abort(1); log_addf("ssbd: %s", str+1); if (gses) gses->icon=NULL; redraw_later(); break; case 'L': /* recording level */ //ssbd->loglevel=atoi(str+1); #ifdef Z_HAVE_SDL if (gses && gses->ontop->type == SWT_SCOPE){ gses->ontop->gdirty = 1; }else{ gssbd->scope_show = 0; } #endif //sw_scope_redraw(gses->ontop, aband, 0); redraw_later(); /*dbg("level=%d\n", ssbd->loglevel);*/ break; case 'Q': ssbd_thread_join(ssbd); ssbd_abort(ssbd, 1); redraw_later(); // to clean record level bar break; case 'D': #ifdef Z_HAVE_SDL if (gses && gses->ontop->type == SWT_SCOPE){ gses->ontop->gdirty = 1; } #endif redraw_later(); } } /* ------- misc -------------------------------------------------- */ int ssbd_callsign(struct ssbd *ssbd, char *call){ if (!ssbd) return 0; MUTEX_LOCK(ssbd); zg_free0(ssbd->callsign); ssbd->callsign=g_strdup(call); MUTEX_UNLOCK(ssbd); return 0; } gchar *unique_filename(gchar *filename){ struct stat st; int ser; gchar *file, *ext, *c; char *c1, *c2, *c3; c1=c2=c3=NULL; if (stat(filename, &st)) return filename; /* filename doesn't exist */ if (regmatch(filename, "(.*)(\\..*)", &c1, &c2, &c3, NULL)==0){ file=g_strdup(c2); ext=g_strdup(c3); g_free(filename); }else{ file=filename; ext=g_strdup(""); } if (c1) g_free(c1); if (c2) g_free(c2); if (c3) g_free(c3); c=NULL; for (ser=1; ;ser++){ /*dbg("file='%s' ext='%s'\n", file, ext);*/ c=g_strdup_printf("%s%d%s", file, ser, ext); /* dbg("c='%s'\n", c);*/ if (stat(c, &st)){ /* c doesn't exist */ break; } g_free(c); } return c; } void ssbd_watchdog(struct ssbd *ssbd, int start_rec){ time_t t; // dbg("ssbd_watchdog\n"); if (!cfg->ssbd_maxmin) { ssbd->recstop=0; return; } t=time(NULL); t+=60*cfg->ssbd_maxmin; ssbd->recstop=t; if (!start_rec) return; if (ssbd->recording) return; if (gses->tx) return; if (gses->last_cq) return; //ssbd_rec_file(ssbd); ssbd_abort(ssbd, 0); } void menu_ssbd_play(void *arg, void *unused){ SF_INFO iin, iout; SNDFILE *fin, *fout; short *buf; int l, r, w; char *filename = (char *)arg; //filename = "e:\\home\\tucnak\\cq\\OK1ZIA_OK1ZIA2ch.wav"; dbg("menu_ssbd_play('%s')\n", filename); memset(&iin, 0, sizeof(SF_INFO)); fin = sf_open(filename, SFM_READ, &iin); if (!fin){ char *sferr = z_1250_to_8859_2(g_strdup(sf_strerror (NULL))); log_addf(VTEXT(T_CANT_PLAY_FILE), filename, sferr); g_free(sferr); return; } if (iin.seekable){ sf_close(fin); fin = NULL; player_play(filename); return; } // convert to PCM16 memcpy(&iout, &iin, sizeof(SF_INFO)); iout.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16; zg_free0(gssbd->pl_pcmfile); gssbd->pl_pcmfile = g_strconcat(tucnak_dir, "/tmp.wav", NULL); fout = sf_open(gssbd->pl_pcmfile, SFM_WRITE, &iout); if (!fout){ char *sferr = z_1250_to_8859_2(g_strdup(sf_strerror (NULL))); log_addf(VTEXT(T_CANT_WRITE_SS), gssbd->pl_pcmfile, sferr); g_free(sferr); return; } l = 65536; buf = g_new0(short, l); while(1){ r = sf_read_short(fin, buf, l); if (r <= 0) break; w = sf_write_short(fout, buf, r); if (w <= 0) break; if (r != w) break; } sf_close(fin); fin = NULL; sf_close(fout); fout = NULL; player_play(gssbd->pl_pcmfile); g_free(buf); } void scan_dir(char *base, ZPtrArray *ia){ DIR *d; struct dirent *de; struct stat st; char *full = NULL; d = opendir(base); while ((de = readdir(d)) != NULL){ if (strcmp(de->d_name, ".") == 0) continue; if (strcmp(de->d_name, "..") == 0) continue; // dbg("de='%s'\n", de->d_name); zg_free0(full); full = g_strconcat(base, "/", de->d_name, NULL); if (stat(full, &st)) continue; // dbg("full='%s'\n", full); if (S_ISDIR(st.st_mode)) scan_dir(full, ia); if (S_ISREG(st.st_mode)) z_ptr_array_add(ia, g_strdup(full)); } closedir(d); zg_free0(full); } void ssbd_play_last_sample(struct ssbd *ssbd, struct qso *qso){ ZPtrArray *ia; struct tm tm; int i, act, first, len, d, t; struct menu_item *mi = NULL; char *c; time_t qt; char *template_; //log_addf("qso=%p", qso); if (ssbd->recording){ cq_abort(1); /* abort recording */ }else{ rx(); } if (!qso){ if (ssbd->rfilename && *ssbd->rfilename){ //dbg("rfilename=%s gses->last_cq=%p\n", ssbd->rfilename, gses->last_cq); //ssbd_play_file(ssbd, ssbd->rfilename); menu_ssbd_play(ssbd->rfilename, NULL); //gses->icon=ssbd->playicon; }else{ log_adds(VTEXT(T_NO_LAST_SAMPLE_RECORDED)); } redraw_later(); return; } template_ = g_strdup(cfg->ssbd_template); // log_addf("template='%s'", template); c = strchr(template_, '%'); if (!c){ log_adds(VTEXT(T_NO_MACRO_IN_TEMPLATE)); goto x; } *c='\0'; if (strlen(template_) && template_[strlen(template_)-1] == '/') template_[strlen(template_)-1] = '\0'; // log_addf("template='%s'", template); ia = z_ptr_array_new(); c = convert_esc(template_, NULL, 0, 0); scan_dir(c, ia); g_free(c); d = atoi(qso->date_str); t = atoi(qso->time_str); tm.tm_sec = 0; tm.tm_min = t % 100; tm.tm_hour = t / 100; tm.tm_mday = d % 100; tm.tm_mon = (d / 100 ) % 100 - 1; tm.tm_year = d / 10000 - 1900; qt = timegm(&tm); dbg("qt=%d d=%d t=%d\n", qt, d, t); c = convert_esc(cfg->ssbd_template, NULL, 0, qt); // dbg(" c='%s'\n", c); z_ptr_array_add(ia, c); z_ptr_array_qsort(ia, z_compare_string); act=-1; for (i=0; ilen;i++){ if (strcmp((char*)z_ptr_array_index(ia, i), c)!=0) continue; act=i; break; } if (act < 0) goto x; z_ptr_array_remove_index(ia, act); // for (i=0; ilen;i++) dbg("%3d '%s'\n", i, z_ptr_array_index(ia, i)); dbg("act=%d\n", act); first = act - term->y / 2 - 2; len = term->y - 2; dbg("first=%d len=%d\n", first, len); if (first < 0) { first = 0; } if (first + len - 1 >= ia->len){ len = ia->len - first; } dbg("first=%d len=%d\n", first, len); if (!(mi = new_menu(3))) return; for (i=0; i This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "main.h" #include "menu.h" #include "rc.h" #include "session.h" #include "subwin.h" #include "terminal.h" #include "txts.h" #include "update.h" char *update_url0 = NULL; char *update_url1 = NULL; char *update_file0 = NULL; char *update_file1 = NULL; int update_i = 0; int update_n = 0; char *update_sh_file = NULL; struct zserial *update_init_process(void){ struct zserial *zser; //dbg("update_init_process\n"); zser = zserial_init_process("/bin/sh", update_sh_file); return zser; } void update_downloaded(struct zhttp *http){ GString *fname = g_string_new(""); char *c; const char *d; //struct zserial *zser; #ifdef Z_MSC_MINGW SHELLEXECUTEINFO shExecInfo; int ret; #endif //dbg("update_downloaded\n"); c = getenv("TMP"); if (!c) c = getenv("TEMP"); if (!c) c = tucnak_dir; g_string_append(fname, c); g_string_append_c(fname, '/'); g_free(update_sh_file); update_sh_file = g_strdup_printf("%supdate_tucnak.sh", fname->str); d = z_filename(http->page); if (!d || !*d) { log_addf(VTEXT(T_BAD_UPDATE_FILE_NAME)); g_string_free(fname, TRUE); return; } g_string_append(fname, d); if (zhttp_write_data(http, fname->str)){ log_adds(http->errorstr); g_string_free(fname, TRUE); return; } zhttp_free(http); gses->update = http = NULL; dbg("update_i=%d update_n=%d fname='%s'\n", update_i, update_n, fname->str); if (update_i == 0 && update_n > 1){ update_i = 1; g_free(update_file0); update_file0 = g_strdup(fname->str); gses->update = http = zhttp_init(); zhttp_get(http, zsel, update_url1, update_downloaded, NULL); return; } g_free(update_file1); update_file1 = g_strdup(fname->str); dbg("update_file0='%s' update_file1='%s'\n", update_file0, update_file1); #ifdef Z_UNIX const char *txt_update; if (strcmp(PKG, "eee") == 0) txt_update = txt_update_eee; else txt_update = txt_update_deb; GString *sh = g_string_sized_new(strlen(txt_update) + 200); int dollar = 0; const char *cc; for (cc = txt_update; *cc != '\0'; cc++){ if (dollar){ switch (*cc){ case '1': if (update_file0) g_string_append(sh, update_file0); break; case '2': // pozor, u EEE se nahrazuje $2 if (update_file1) g_string_append(sh, update_file1); break; default: g_string_append_c(sh, '$'); g_string_append_c(sh, *cc); break; } dollar = 0; }else{ if (*cc == '$'){ dollar = 1; }else{ g_string_append_c(sh, *cc); } } } FILE *f = fopen(update_sh_file, "wt"); if (!f){ log_addf(VTEXT(T_CANT_WRITE_S), update_sh_file); g_string_free(fname, TRUE); g_string_free(sh, TRUE); return; } fprintf(f, "%s", sh->str); fclose(f); chmod(update_sh_file, 0700); g_string_free(sh, TRUE); sw_raise_or_new(SWT_UPD); #endif #ifdef Z_MSC_MINGW z_wokna(fname->str); memset(&shExecInfo, 0, sizeof(shExecInfo)); shExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); shExecInfo.fMask = SEE_MASK_FLAG_NO_UI; shExecInfo.lpVerb = "runas"; shExecInfo.lpFile = fname->str; shExecInfo.lpParameters = NULL; shExecInfo.lpDirectory = NULL; shExecInfo.nShow = SW_SHOWNORMAL; shExecInfo.hInstApp = NULL; //dbg("ShellExecuteEx('runas', '%s', NULL)\n", fname->str); ret = ShellExecuteEx(&shExecInfo); if (!ret){ int err = GetLastError(); GString *gserr = g_string_new(VTEXT(T_CANT_EXECUTE_INSTALLER)); z_lasterror_e(gserr, err); log_adds(gserr->str); g_string_free(gserr, TRUE); }else{ //zselect_bh_new(zsel, destroy_terminal, NULL); zselect_terminate(zsel); } #endif #ifdef Z_ANDROID android_update_package(fname->str); //zselect_bh_new(zsel, destroy_terminal, NULL); zselect_terminate(zsel); #endif g_string_free(fname, TRUE); } void update_callback(struct zhttp *http){ char ver[1000], *c, *n, *newver; int tok = 0, ofs; void *arg = http->arg; if (http->errorstr){ if (http->arg == NULL){ // from menu c = g_strdup_printf("%s\n%s", VTEXT(T_UPDATE_OF_TUCNAK_FAILED), http->errorstr); msg_box(getml(c, NULL), VTEXT(T_UPDATE_FAILED), AL_CENTER, c, NULL, 1, VTEXT(T_OK), NULL, B_ENTER|B_ESC); } zhttp_free(http); gses->update = NULL; return; } ofs = http->dataofs; zbinbuf_getline(http->response, &ofs, ver, sizeof(ver)); update_i = 0; newver = z_tokenize(ver, &tok); if (!newver){ if (http->arg == NULL) log_adds(VTEXT(T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY)); goto x; } if (strcasecmp(newver, "E") == 0){ char *errorstr = z_tokenize(ver, &tok); if (http->arg == NULL) log_addf(VTEXT(T_UPDATE_OF_TUCNAK_FAILED_S), errorstr); goto x; } zhttp_free(http); gses->update = http = NULL; if (arg != NULL){ // from win_func if (strcasecmp(newver, "A") != 0) log_addf(VTEXT(T_NEW_VERSION_AVAIL), newver); return; }else{ // from menu if (strcasecmp(newver, "A") == 0) { log_adds(VTEXT(T_NO_NEW_VER)); return; } } n = z_tokenize(ver, &tok); if (n == NULL){ log_addf(TRANSLATE("Bad reply from update server")); return; } update_n = atoi(n); if (update_i < update_n) { update_url0 = g_strdup(z_tokenize(ver, &tok)); update_i++; } if (update_i < update_n) { update_url1 = g_strdup(z_tokenize(ver, &tok)); update_i++; } // from menu, got url gses->update = http = zhttp_init(); update_i = 0; zhttp_get(http, zsel, update_url0, update_downloaded, NULL); x:; return; } void update_tucnak(void *a, void *b){ struct zhttp *http; unsigned long long t1 = (long long)time(NULL) + rand(); GString *gs; /*log_adds("UPDATE DISABLED FIXME"); return;*/ g_free(update_url0); g_free(update_url1); update_i = 0; update_n = 0; gses->update = http = zhttp_init(); gs = g_string_new("http://tucnak.vaiz.cz/update.php"); zg_string_eprintfa("u", gs, "?ver=%s", VERSION); zg_string_eprintfa("u", gs, "&platform=%s", Z_PLATFORM); #ifdef Z_UNIX_ANDROID zg_string_eprintfa("u", gs, "&pkg=%s", PKG); #else zg_string_eprintfa("u", gs, "&pkg=%s", "nsis"); #endif zg_string_eprintfa("u", gs, "&machine=%s", Z_MACHINE); zg_string_eprintfa("u", gs, "&t=%lld", tl); //dbg("----------\nupdate_tucnak url='%s'\n", gs->str); zhttp_get(http, zsel, gs->str, update_callback, a); g_string_free(gs, TRUE); if (a != NULL) return; // called from init() update_info(&t1); } void update_abort(void *arg){ if (!gses->update) return; zhttp_free(gses->update); gses->update = NULL; } void update_info(void *arg1){ struct refresh *r; char *c; GString *gs; if (!gses || !gses->update) return; r = (struct refresh*)g_malloc(sizeof(struct refresh)); r->win = NULL; r->fn = update_info; r->data = NULL; r->timer = -1; gs = g_string_new(""); zhttp_status(gses->update, gs); c = g_strdup(gs->str); g_string_free(gs, TRUE); msg_box(getml(c, NULL), VTEXT(T_UPDATE2)/*VTEXT(T_NINFO)*/, AL_LEFT, c, r, 1, VTEXT(T_CANCEL), update_abort, B_ENTER | B_ESC); r->win = term->windows.next; ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort; r->timer = zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r); } tucnak-4.32/src/httpd.h0000644000175000017500000000161713606027273011746 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __HTTPD_H #define __HTTPD_H #include "header.h" struct httpd{ int port; int sock; int refresh; GPtrArray *conns; }; struct httpconn{ int sock; GString *request; GString *response; int response_i; struct zbinbuf *response_zbb; struct sockaddr_in peer; }; extern struct httpd *httpd; struct httpd *init_httpd(void); void free_httpd(struct httpd *httpd); void httpd_accept_handler(void *arg); void httpd_read_handler(void *arg); void httpd_write_handler(void *arg); void httpd_header(struct httpconn *conn, int status, char *contenttype); void httpd_get(struct httpconn *conn); #endif tucnak-4.32/src/cwwindow.c0000644000175000000410000002241213274270624012444 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdaemon.h" #include "cwwindow.h" #include "kbd.h" #include "terminal.h" #include "rc.h" // added for slashkey replacement ( cfg->slasheky ) #include "kbdbind.h" // added for F_key support //static struct window *cwwindow; static void draw_cwwindow(struct cwwin_data *cwwdata){ fill_area(cwwdata->x-2, cwwdata->y-1, cwwdata->w+4, cwwdata->h+2, COL_INV); draw_frame(cwwdata->x, cwwdata->y, cwwdata->w, cwwdata->h, COL_INV, 1); print_text(cwwdata->x + 5, cwwdata->y, -1, VTEXT(T__CW_), COL_NORM); print_text(cwwdata->x + 5, cwwdata->y + cwwdata->h -1 , -1, VTEXT(T_CWW_KEYS), COL_NORM); print_text(cwwdata->x + 3, cwwdata->y +2 , cwwdata->w-4, cwwdata->text->str , COL_INV); /*dbg("draw_cwwindow: set_cursor %d %d \n", cwwdata->x + * strlen(cwwdata->text), cwwdata->y+2, 0, 0);*/ set_cursor(cwwdata->x + cwwdata->text->len + 3, cwwdata->y+2, cwwdata->x + cwwdata->text->len + 3 , cwwdata->y+2); } void cwwindow_func(struct window *win, struct event *ev, int fwd){ //struct terminal *term; struct cwwin_data *cwwdata; int nn; struct cq *cq; // added for F-Key macro readout gchar *raw; // added for F-Key macro readout //term = win->term; cwwdata = (struct cwwin_data *)win->data; // dbg("cwwindow_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b); switch (ev->ev) { case EV_INIT: win->data = cwwdata = (struct cwwin_data *)g_malloc(sizeof(struct cwwin_data)); memset(win->data, 0, sizeof(struct cwwin_data)); cwwdata->text = g_string_sized_new(100); case EV_RESIZE: cwwdata->x = 10; cwwdata->y = (ev->y - 6) / 2; cwwdata->w = ev->x - 20; cwwdata->h = 5; case EV_REDRAW: draw_cwwindow(cwwdata); break; case EV_ABORT: /* mem_free(cwwdata); already in terminal.c:196 (delete_window) */ g_string_free(cwwdata->text, 1); break; case EV_MOUSE: break; case EV_KBD: //dbg("\nTest:%d\n",(ev->x)); switch(ev->x){ case KBD_ESC: case KBD_TAB: /*delete_window_ev(win, (void *)win->next != &win->term->windows && win->next->handler == cwwindow_func ? ev : NULL);*/ delete_window_ev(win, ev); break; case KBD_ENTER: /* delete window, CW text play on */ ev->x=KBD_TAB; delete_window_ev(win, ev); break; case KBD_PGUP: cwdaemon_qrq(cwda, 2); redraw_later(); break; case KBD_PGDN: cwdaemon_qrs(cwda, 2); redraw_later(); break; //F-Keytest part start case KBD_F5: dbg("\nF5_key detected\n"); cq = (struct cq *)g_ptr_array_index(cfg->cqs, 0); // macro F 5 read if (!cq->cw_str) { dbg("Error in cq structure\n"); break; } raw = convert_cq(cq); //convert macro to text if (!raw) { dbg("Error in raw structure\n"); break; } //dbg("\nCW-Marco insert:%s\n",raw); g_string_append (cwwdata->text, raw); // adding text to display buffer g_string_append (cwwdata->text, " "); //adding Space cwda->text(cwda, raw);//adding text to cw buffer cwda->text(cwda," ");//adding Space //window scrolling nn = cwwdata->text->len - (cwwdata->w - 7); if (nn>0) g_string_erase(cwwdata->text, 0, nn); draw_cwwindow(cwwdata); break; case KBD_F6: dbg("\nF6_key detected\n"); cq = (struct cq *)g_ptr_array_index(cfg->cqs, 1); // macro F 6 read if (!cq->cw_str) { dbg("Error in cq structure\n"); break; } raw = convert_cq(cq); //convert macro to text raw = convert_cq(cq); //convert macro to text if (!raw) { dbg("Error in raw structure\n"); break; } //dbg("\nCW-Marco insert:%s\n",raw); g_string_append (cwwdata->text, raw); // adding text to cw buffer g_string_append (cwwdata->text, " "); //adding Space cwda->text(cwda, raw);//adding text to cw buffer cwda->text(cwda," ");//adding Space //window scrolling nn = cwwdata->text->len - (cwwdata->w - 7); if (nn>0) { g_string_erase(cwwdata->text, 0, nn);draw_cwwindow(cwwdata); } break; case KBD_F7: dbg("\nF7_key detected\n"); cq = (struct cq *)g_ptr_array_index(cfg->cqs, 2); // macro F 7 read if (!cq->cw_str) { dbg("Error in cq structure\n"); break; } raw = convert_cq(cq); //convert macro to text if (!raw) { dbg("Error in raw structure\n"); break; } //dbg("\nCW-Marco insert:%s\n",raw); g_string_append (cwwdata->text, raw); // adding text to cw buffer g_string_append (cwwdata->text, " "); //adding Space cwda->text(cwda, raw);//adding text to cw buffer cwda->text(cwda," ");//adding Space //window scrolling nn = cwwdata->text->len - (cwwdata->w - 7); if (nn>0) g_string_erase(cwwdata->text, 0, nn); draw_cwwindow(cwwdata); break; case KBD_F8: dbg("\nF8_key detected\n"); cq = (struct cq *)g_ptr_array_index(cfg->cqs, 3); // macro F 8 read if (!cq->cw_str) { dbg("Error in cq structure\n"); break; } raw = convert_cq(cq); //convert macro to text raw = convert_cq(cq); //convert macro to text if (!raw) { dbg("Error in raw structure\n"); break; } //dbg("\nCW-Macro insert:%s\n",raw); g_string_append (cwwdata->text, raw); // adding text to cw buffer g_string_append (cwwdata->text, " "); //adding Space cwda->text(cwda, raw);//adding text to cw buffer cwda->text(cwda," ");//adding Space //window scrolling nn = cwwdata->text->len - (cwwdata->w - 7); if (nn>0) g_string_erase(cwwdata->text, 0, nn); draw_cwwindow(cwwdata); break; case KBD_F11: dbg("\nF11_key detected\n"); cq = (struct cq *)g_ptr_array_index(cfg->cqs, 4); // macro F 11 read if (!cq->cw_str) { dbg("Error in cq structure\n"); break; } raw = convert_cq(cq); //convert macro to text raw = convert_cq(cq); //convert macro to text if (!raw) { dbg("Error in raw structure\n"); break; } //dbg("\nCW-Marco insert:%s\n",raw); g_string_append (cwwdata->text, raw); // adding text to cw buffer g_string_append (cwwdata->text, " "); //adding Space cwda->text(cwda, raw);//adding text to cw buffer cwda->text(cwda," ");//adding Space //window scrolling nn = cwwdata->text->len - (cwwdata->w - 7); if (nn>0) g_string_erase(cwwdata->text, 0, nn); draw_cwwindow(cwwdata); break; case KBD_F12: dbg("\nF12_key detected\n"); cq = (struct cq *)g_ptr_array_index(cfg->cqs, 5); // macro F 12 read if (!cq->cw_str) { dbg("Error in cq structure\n"); break; } raw = convert_cq(cq); //convert macro to text raw = convert_cq(cq); //convert macro to text if (!raw) { dbg("Error in raw structure\n"); break; } //dbg("\nCW-Marco insert:%s\n",raw); g_string_append (cwwdata->text, raw); // adding text to cw buffer g_string_append (cwwdata->text, " "); //adding Space cwda->text(cwda, raw);//adding text to cw buffer cwda->text(cwda," ");//adding Space //window scrolling nn = cwwdata->text->len - (cwwdata->w - 7); if (nn>0) g_string_erase(cwwdata->text, 0, nn); draw_cwwindow(cwwdata); break; //F-Keytest part stop default: // slashkey replace patch start if (cfg->slashkey && *cfg->slashkey){ if (ev->x == '/') ev->x = *cfg->slashkey; else if (ev->x == *cfg->slashkey) ev->x = '/'; } //slashkey replace patch end if (ev->x == KBD_BS && ev->y == 0){ if (cwda && cwda->back) cwda->back(cwda); if (cwwdata->text->len > 0) g_string_truncate(cwwdata->text, cwwdata->text->len - 1); redraw_later(); break; } if (ev->x >= ' ' && ev->x < 256 && ev->y == 0) { char s[2]; int n; dbg("key=%c\n", ev->x); g_string_append_c(cwwdata->text, (char)ev->x); n = cwwdata->text->len - (cwwdata->w - 7); if (n>0) g_string_erase(cwwdata->text, 0, n); s[0]=(char)ev->x; s[1]='\0'; //cwdaemon_text(cwda, s); if (cwda && cwda->text) cwda->text(cwda, s); draw_cwwindow(cwwdata); break; } break; } break; } } tucnak-4.32/src/sked.h0000644000175000017500000000322511745243701011544 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SKED_H #define __SKED_H #include "header.h" struct dialog_data; struct dialog_item_data; struct event; struct subwin; struct qso; struct tmpqso; struct window; struct skedwin_data{ int x,y,w,h; int esccnt; struct band *band; }; struct sked{ gchar *sked_time, *operator_ , *src_shortpband, *qrg; gchar *pband, *time_str, *callsign, *locator, *remark; int worked; }; int sw_sked_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_sked_mouse_func(struct subwin *sw, struct event *ev, int fw); gchar *sw_sked_sprint(struct sked *sked); void sw_sked_redraw(struct subwin *sw, struct band *band, int flags); void sw_sked_check_bounds(struct subwin *sw); void sw_sked_read(gchar *str, int from_my); void refresh_sked(struct qso *q); void sked_fn(struct dialog_data *dlg); void sked(void); void sked_from_tmpqso(struct tmpqso *tmpqso); void sked_from_qso(struct qso *qso); void sked_pband_func(void *arg); void sked_pband(int apband_int); int dlg_pband(struct dialog_data *dlg, struct dialog_item_data *di); struct zstring *sked_format(struct sked *sked); struct sked *sked_parse(struct zstring *zstr); void free_sked(struct sked *sked); void recalc_worked_skeds(struct band *band); void draw_skedwindow(struct skedwin_data *skedwdata); void skedwindow_func(struct window *win, struct event *ev, int fwd); void skedw_create(struct band *b); #endif tucnak-4.32/src/codepage.h0000644000175000017500000000040411277513162012362 00000000000000 /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This file is stolen from links */ #define N_CODEPAGES 25 tucnak-4.32/src/stats.h0000644000175000017500000000463614035370711011760 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __STATS_H #define __STATS_H #include "header.h" struct band; struct stats; struct qso; struct cntpts{ int count; int points; struct qso *qso; /* used only in st->hours */ }; struct stats{ char bandchar; gint first_date, last_date; /* 20021115*/ gint nqsos, nqsop; /* without errors and dupes */ gint nwwlp; gint nprefs; gint ndxcp; gint nexcp; gint ntotal; int nmult; gint odxqrb_int; gchar *odxcall, *odxwwl, *odxoperator; GHashTable *wwls, *dxcs, *excs, *hours, *prefs; /* of struct cntpts */ GHashTable *valid; int qso_per_hour, pts_per_hour, pts_per_50qso; char *mycontinent; char *mydxcc; struct qso *odx; int oldphase; }; struct miss_struct{ ZPtrArray *ia; struct stats *st; int maxlen; }; struct contest; struct config_subwin; char *get_wwl(char *buf, char *wwl); void draw_one_bigdigit(int x, int y, int num); void draw_bigdigit(int x, int y, int num); struct stats *init_stats(char bandchar); void free_stats(struct stats *st); void clear_stats(struct stats *st); void update_stats(struct band *b, struct stats *st, struct qso *q); void recalc_stats(struct band *b); void recalc_all_stats(struct contest *ctest); void recalc_all_qrbqtf(struct contest *ctest); void redraw_stats(struct band *band); void recalc_statsfifo(struct band *band); void export_stats_fifo(void); void stats_thread_create(struct band *band); void stats_thread_join(struct band *band); void stats_thread_kill(struct band *band); void timer_minute_stats_all(void *arg); void minute_stats_all(void); void minute_stats(struct band *band); void stats_merge_prefs_fn(gpointer key, gpointer value, gpointer data); void recalc_allb_stats(void); void miss_compute_ms(struct miss_struct *ms, struct band *b); int qsomult16(struct band *b); char *stats_valid_key(char *buf, const char *call, const char *wwl, const int phase, const enum modes mode); char *stats_valid_key_display(char *buf, const char *call, const char *wwl, const int phase, const enum modes mode); struct qso *stats_get_dupe(struct stats *st, const char *call, const char *wwl, const int phase, const enum modes mode); #endif tucnak-4.32/src/zosk.h0000644000175000017500000000243213732374517011613 00000000000000/* Tucnak - VHF contest log Copyright (C) 2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __ZOSK_H #define __ZOSK_H #include "tsdl.h" #ifdef Z_HAVE_SDL struct zosk_key{ int x, y, w, h, cx, cy; int isshift, pressed; SDL_Keycode sym, symFn, symShift; char text[5], textFn[5], textShift[5]; }; struct zosk{ SDL_Surface *surface; GPtrArray *keys; int bw2, bh, x0, y0, x2, y; int KX2, KY; int font_w, font_h; struct zosk_key *active, *sent; int bg, bbg; int parent_x, parent_y, screen_w; int shifts_active; struct zosk_key *shift, *ctrl, *alt, *fn, *esc; GString *gs; int maxlen_c; int flags; int repeat_timer_id; }; #define ZOSK_ENTERCLOSE 1 // enter or esc close #define ZOSK_UPCONVERT 2 #define ZOSK_SENDENTER 4 #define ZOSK_CLEARENTER 8 #define ZOSK_IGNOREESC 16 struct zosk *zosk_init(SDL_Surface *screen, int flags, const char *text); void zosk_free(struct zosk *zosk); void zosk_draw(struct zosk *zosk); int zosk_click(struct zosk *zosk, int x, int y, int pressed); void zosk_clear(struct zosk *zosk); void zosk_portrait(struct zosk *zosk); #endif #endif tucnak-4.32/src/alsa.h0000644000175000017500000000173312302451720011530 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __ALSA_H #define __ALSA_H #include "dsp.h" #ifdef HAVE_ALSA #ifdef HAVE_SNDFILE int alsa_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec); #endif int alsa_open(struct dsp *dsp, int rec); int alsa_close(struct dsp *dsp); int alsa_write(struct dsp *dsp, void *data, int frames); int alsa_read(struct dsp *dsp, void *data, int frames); int alsa_reset(struct dsp *dsp); int alsa_sync(struct dsp *dsp); int alsa_get_sources(struct dsp *dsp, GString *labels); int alsa_set_source(struct dsp *dsp); int alsa_set_plevel(struct dsp *dsp); void alsa_info(GString *gs); char *alsa_get_state(struct dsp *dsp); int alsa_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec); #endif #endif tucnak-4.32/src/qsodb.h0000644000175000017500000003274214000322113011712 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __QSODB_H #define __QSODB_H #include "header.h" #include "rc.h" #include "session.h" #include "zstring.h" #define STORE_HASH_STR(base, item) {\ if (base->item) g_free((gpointer)base->item);\ base->item = g_strdup((char *)g_hash_table_lookup(hash, #item)); \ } #define STORE_HASH_INT(base, item) {\ gchar *c; \ c = (char*)g_hash_table_lookup(hash, #item); \ if (c) base->item = atoi(c); \ else base->item = 0; \ } #define STORE_HASH_ENUM(base, item, type) {\ gchar *c; \ c = (char*)g_hash_table_lookup(hash, #item); \ if (c) base->item = (type)atoi(c); \ else base->item = (type)0; \ } #define STORE_HASH_INT_DEF(base, item, def) {\ gchar *c; \ c = (char*)g_hash_table_lookup(hash, #item); \ if (c) base->item = atoi(c); \ else base->item = def; \ } #define STORE_HASH_ENUM_DEF(base, item, type, def) {\ gchar *c; \ c = (char*)g_hash_table_lookup(hash, #item); \ if (c) base->item = (type)atoi(c); \ else base->item = def; \ } #define STORE_HASH_CHR(base, item) {\ gchar *c;\ c=(char *)g_hash_table_lookup(hash, #item); \ if (c) base->item = tolower(*c);\ else c=NULL;\ } #define NEW_EXC 1 #define NEW_WWL 2 #define NEW_DXC 4 #define NEW_PREF 8 #define NEW_MULT 16 #define NEW_PHASE 32 struct subwin; struct wizz_item; struct wizz_qsomult_item; enum suspcall { SUSP_NONE, SUSP_QRB, SUSP_REM, SUSP_WARN, SUSP_ERR }; struct qso{ gchar *source; /* "192.168.0.1:1026" CONSTANT */ gint ser_id; /* 0..X in one source CONSTANT */ time_t stamp; /* last modification VARIABLE */ gchar *operator_; gchar *date_str,*time_str; /* 20201101,1922 */ gchar *callsign; gint mode; gchar *rsts,*rstr; gchar *qsonrs,*qsonrr; gchar *exc, *locator; gchar *remark; gint phase; gint error; gdouble qrg; /* computed*/ gint dupe,qsop,new_,qsl; gdouble qrb, qtfrad; gint qtf; gint susploc; /* 1=warn, 2=err */ enum suspcall suspcall1; gint unkcall; /* "foreign key", don't dealloc! */ struct band *band; int kx,ky; }; struct tmpqso{ gchar *date_str,*time_str; gchar *callsign; gchar *rsts,*rstr; gchar *qsonrs,*qsonrr; gchar *exc, *locator; gchar *remark; gint dupe,qsl; /* computed*/ gdouble qrb; gint qtf; gchar *name; /* ultimate values */ gint ucallsign,udummy,ulocator,uexc; int uqrb,uqtf; /* suspicious */ gint suspcallsign, susplocator, suspexc, unkcall; }; #define ADD_TMPQSO_STRING(band,item,str,isu,uitem) {\ int i; \ if (band->tmpqsos[TMP_QSOS-1].item) { \ g_free(band->tmpqsos[TMP_QSOS-1].item); \ band->tmpqsos[TMP_QSOS-1].item = NULL; \ }\ for (i=TMP_QSOS-2;i>=0;i--) {\ band->tmpqsos[i+1].item=band->tmpqsos[i].item; \ band->tmpqsos[i+1].uitem=band->tmpqsos[i].uitem; \ }\ band->tmpqsos[0].item=g_strdup(str); \ band->tmpqsos[0].uitem = isu; \ } #define CLEAR_TMPQSO_STRING(band,item) {\ if (band->tmpqsos[i].item) { \ g_free(band->tmpqsos[i].item); \ band->tmpqsos[i].item=NULL;\ } \ } #define CLEAR_TMPQSO_STRING_UU(band,item, uitem){ \ int i; \ for (i=0;itmpqsos[i].uitem && band->tmpqsos[i].item) {\ g_free(band->tmpqsos[i].item); \ band->tmpqsos[i].item=NULL;\ }\ }\ } #define ADD_TMPQSO_GINT(band,item,num,isu,uitem) {\ int i; \ for (i=TMP_QSOS-2;i>=0;i--) {\ band->tmpqsos[i+1].item=band->tmpqsos[i].item; \ band->tmpqsos[i+1].uitem=band->tmpqsos[i].uitem; \ }\ band->tmpqsos[0].item=num; \ band->tmpqsos[0].uitem = isu; \ } #define ADD_TMPQSO_GDOUBLE(band,item,num,isu,uitem) {\ int i; \ for (i=TMP_QSOS-2;i>=0;i--) {\ band->tmpqsos[i+1].item=band->tmpqsos[i].item; \ band->tmpqsos[i+1].uitem=band->tmpqsos[i].uitem; \ }\ band->tmpqsos[0].item=num; \ band->tmpqsos[0].uitem = isu; \ } #define CLEAR_TMPQSO_GINT(band,item) \ band->tmpqsos[i].item=0 /*#define CLEAR_TMPQSO_GINT_UU(band,item, uitem) {\ int i; \ for (i=0;itmpqsos[i].uitem) {\ band->tmpqsos[i].item=0;\ }\ }\ } */ #define CLEAR_TMPQSO_GDOUBLE_UU(band,item, uitem) {\ int i; \ for (i=0;itmpqsos[i].uitem) {\ band->tmpqsos[i].item=0;\ }\ }\ } #define CLEAR_TMPQSO_QTF(band) \ band->tmpqsos[i].qtf=-1 #define CLEAR_TMPQSO_QTF_UU(band) {\ int i; \ for (i=0;itmpqsos[i].uqtf) {\ band->tmpqsos[i].qtf=-1;\ }\ }\ } #define INPUTLN(b) (ctest && b ? b->il : gses->il) void add_tmpqso_locator(struct band *b,gchar *c,int isu, int isshort); void add_tmpqso_exc(struct band *b,gchar *exc,int isu); enum last_items{ LI_NONE = 0, LI_CALL, LI_WWL }; enum ctrlstates{ CTRL_RUN = 0, /* RUN, TX */ CTRL_SP = 1, /* S&P, no TX */ CTRL_REQR = 2, /* RUN, TX */ CTRL_REQS = 3, /* S&P, no TX */ CTRL_RUNNING = 4, /* S&P, TX */ CTRL_GIVEN = 5 /* RUN, no TX */ }; enum ccmd{ CCMD_REQ = 0, /* S&P->RUN */ CCMD_ACC, /* RUN->S&P */ CCMD_REJ, /* RUN->S&P */ CCMD_BACK /* S&P->RUN */ }; enum exctype { EXC_FREE = 1, EXC_VERIFIED = 2, EXC_WAZ = 3, EXC_ITU = 4, EXC_MULTIPLIED = 5 }; enum tttype{ TT_NONE = 0, TT_RSTS = 1, TT_RSTR = 2, TT_QSONRR = 3, TT_EXC = 4 }; struct spypeer; struct band{ gchar bandchar; /* 'C', 'E', 'G', ...*/ int bi; /* bandchar - 'A' */ gchar *pband; /* 144 MHz */ gchar *bandname; /* 2m,70cm,23cm... */ GPtrArray *qsos; GHashTable *rawqsoshash; // hash of raw QSOs. Value = qso struct inputln *il; struct tmpqso tmpqsos[TMP_QSOS]; gchar *unres, *qrv_str, *wkd_str; struct qso *dupe_qso; gint dirty_save, dirty_stats, dirty_statsf; gint readonly; gchar *call_played; // call played in run mode gint agcall; // call was sent in autogive mode. RST follows gint iscall; // currently played text is call // enum modes mode; // gint bandmulti; gchar *operator_; gint psect; // 0=multi, 1=single, 2=check, 3=other gchar *opsect; // other psect gchar *stxeq,*spowe; /* TM-255 + gi7b, 300 */ gchar *srxeq,*sante,*santh; /* TM-255, GW4PTS, 60;800 */ gchar *mope1,*mope2; /* OK1XDF, OK1MZM, OK1ZIA */ gchar *remarks; struct stats *stats; struct stats *tmpstats; GThread *stats_thread; MUTEX_DEFINE(stats); // GMutex *stats_mutex; //#ifdef LEAK_DEBUG_LIST // char *stats_file; // int stats_line; //#endif int stats_break; /* file */ FILE *swap; gint saveid,ignoreswap; struct fifo *swapfifo, *unfi, *statsfifo1; GPtrArray *qs, *oqs; enum last_items last_item; gchar *skedqrg; enum ctrlstates ctrlstate; gchar *ctrlsp; /* enum spymodes spymode;*/ struct qso tmplocqso; GPtrArray *skeds; gint qrg_min,qrg_max; /* kHz */ int band_sw; struct config_band *cbr_confb; // local for cabrillo, not filled elsewhere! struct config_band *stf_confb; // local for stf, not filled elsewhere! double qrg; int qsomultb; double ac_k; // F1 band correction char *edifile; // valid only after export char *mapfile, *chartfile; // valid only after export int wwlradius; }; struct contest { /* EDI & contest properties */ gchar *pcall; /* DL/OK1KRQ/P */ gchar *tname; /* A1 Contest - MMC */ gchar *tdate; /* 130812;20130812 */ gchar *pclub; /* OK1KRQ */ gchar *pwwlo; /* JN69HN */ gchar *pexch; gchar *default_rs,*default_rst; /* EDI only properties */ gchar *padr1,*padr2; /* Lite */ gchar *rname; /* Roman Staif */ gchar *rcall; /* OK1XST */ gchar *radr1,*radr2; /* Pod svabinami */ gchar *rpoco,*rcity,*rcoun; /* 30100, Plzen, CZECHIA */ gchar *rphon,*rhbbs; /* 0603123456 , OK0POK */ /* contest properties */ gint rstused; /* no,used, optional */ gint defrstr; gint qsoused; /* no,used, optional */ gint wwlused; /* no,used, optional */ gint wwltype; /* short,normal,extended */ gint wwlcfm; gint excused; /* no,used, optional */ enum exctype exctype; gchar *excname; /* database name f.e. OKRES */ gint exccfm; enum tttype tttype; int qsoglob; /* qsonr is global in contest */ gint prefglob; /* prefix is global in contest */ gint expmode; /* epedition mode */ gint phase; /* contest phase 1..N */ /* points calculation */ gint qsomult; gint wwlbonu,wwlmult; gint prefmult; gint dxcbonu,dxcmult; gint excbonu,excmult; gint qsop_method; /* 1..12 */ gint total_method; /* 1..2 */ GPtrArray *bands; GHashTable *bystamp; /* key=source, val=ZPtrArray */ /* ZPtrArrays are NOT sorted by ser_id but only by stamp */ ZPtrArray *allqsos; gint exclen; /* disk */ FILE *lockfile; /* ~/tucnak/.../desc.lock */ FILE *logfile; /* ~/tucnak/.../log */ gchar *directory; /* /home/ok1zia/tucnak/20021113.2 */ gchar *cdate; /* 20021113 without .X */ /* autosave */ int as_disk_qsonr, as_disk_time, as_floppy_qsonr, as_floppy_time; int qrv; /* bit array of used bands */ int oldcontest; /* date of contest is too old, not recording */ int minute_timer_id; /* for statistics */ int hf; /* HF contest */ GPtrArray *spypeers; /* of struct spypeer */ int allb_nqsos; int allb_nqsop; int allb_nwwlp; int allb_nprefp; int allb_ndxcp; int allb_nexcp; int allb_ntotal; int allb_nmult; GHashTable *allb_prefs; int runmode; int qso_per_10, qso_per_60; struct qso *lastmultqso; }; extern struct contest *ctest; extern struct band *aband; struct conn; extern char *mode_msg[]; enum modes; int init_ctest(void); int new_ctest(char *tdate); /* called after filling data members by refresh_... */ void free_ctest(void); struct band *init_band(struct config_band *, GHashTable *opt_band, struct zstring *zs, struct wizz_qsomult_item *wqi); void free_band(struct band *b); void free_qso(struct qso *qso); struct band *find_band_by_pband(char *pband); struct band *find_band_by_bandchar(char bandchar); struct band *find_band_by_qrg(double freq); struct band *init_qrv_bands(struct wizz_item *wi); int write_qso_to_swap(struct band *b, struct qso *q); void add_qso(struct band *b, struct qso *q); struct qso *get_qso(struct band *b, gint i); struct qso *get_qso_by_callsign(struct band *b, gchar *callsign); struct qso *get_gqso(struct band *b, struct subwin *sw, gint i); //int get_qso_index_by_callsign(struct band *b, gchar *callsign); struct qso *get_qso_by_id(struct band *b, gchar *source, gint ser_id); struct qso *get_qso_by_qsonr(struct band *b, int qsonr); void add_error(struct band *b, gchar *remark); void activate_band(struct band *b); int add_tmpxchg(struct band *band, gchar *xchg); int add_swap(struct band *band, gchar *s); void clear_tmpqsos(struct band *b, int set_defaults); void default_rst_to_tmpqsos(struct band *b); int export_all_bands_report(void); int export_all_bands_titlpage(void); struct config_band *get_config_band_by_bandchar(char bandchar); struct config_band *get_config_band_by_pband(char *pband); struct config_band *get_config_band_by_qrg(int qrg); /* kHz */ void foreach_source_recalc_ser_id(gpointer key, gpointer value, gpointer data); void foreach_source_qsort_by_stamp(gpointer key, gpointer value, gpointer data); void foreach_source_print(gpointer key, gpointer value, gpointer data); void add_qso_to_index(struct qso *q, int qsort_if_needed); void remove_qso_from_index(struct qso *q); gchar *get_latests_str(void); int compare_stamp(const void *a, const void *b); void compute_qrbqtf(struct qso *q); GPtrArray *get_band_qs(struct band *band, gchar *str); GPtrArray *get_oband_qs(struct band *band, gchar *str); gchar *find_wwl_by_oband(struct band *oband, gchar *call); gchar *find_exc_by_oband(struct band *oband, gchar *call); int load_ctest_from_mem(struct contest *ctest, gchar *datedir, GHashTable *hash); void qso_mark_as_error(struct band *b, gint i); int get_psect_int(char *psect); void dump_qso(struct qso *q, char *desc); void invalidate_tmpqso(struct band *b, struct qso *q); void dirty_band(struct band *band); struct zstring *contest_format(struct contest *ctest); void ctest_parse(struct zstring *zstr, struct contest *ctest); struct zstring *band_format(struct band *b); struct band *band_parse(struct zstring *zstr, struct band *b); int compare_date_time_qsonrs(const void *a, const void *b); void set_mode(enum modes mode); enum modes get_mode(void); int worked_on_all_rw(char *call); // worked on all read-write band int worked_on_aband(char *call); void dump_rw(void *a, void *b); int add_qsos_from_swap(struct band *b, FILE *f); #endif tucnak-4.32/src/uni_7b.inc0000644000175000017500000014564511277513162012341 00000000000000/* Automatically generated by gen-7b (from links) */ /* DO NOT EDIT THIS FILE! */ struct { unicode_val x; char *s; } unicode_7b [2453] = { {0x00000000, "NUL"}, {0x00000001, "SH"}, {0x00000002, "SX"}, {0x00000003, "EX"}, {0x00000004, "ET"}, {0x00000005, "ENQ"}, {0x00000006, "AK"}, {0x00000007, "BL"}, {0x00000008, "BS"}, {0x00000009, "HT"}, {0x0000000a, "LF"}, {0x0000000b, "VT"}, {0x0000000c, "FF"}, {0x0000000d, "CR"}, {0x0000000e, "SO"}, {0x0000000f, "SI"}, {0x00000010, "DL"}, {0x00000011, "DC1"}, {0x00000012, "DC2"}, {0x00000013, "DC3"}, {0x00000014, "DC4"}, {0x00000015, "NAK"}, {0x00000016, "SYN"}, {0x00000017, "EB"}, {0x00000018, "CN"}, {0x00000019, "EM"}, {0x0000001a, "SB"}, {0x0000001b, "ESC"}, {0x0000001c, "FS"}, {0x0000001d, "GS"}, {0x0000001e, "RS"}, {0x0000001f, "US"}, {0x0000007f, "DT"}, {0x00000085, "\\\\012"}, {0x000000a0, "\\001"}, {0x000000a1, "!"}, {0x000000a2, "-c-"}, {0x000000a3, "-L-"}, {0x000000a4, "CUR"}, {0x000000a5, "YEN"}, {0x000000a6, "|"}, {0x000000a7, "S"}, {0x000000a8, "\""}, {0x000000a9, "(c)"}, {0x000000aa, "-a"}, {0x000000ab, "<<"}, {0x000000ac, "NOT"}, {0x000000ad, ""}, {0x000000ad, ""}, {0x000000ae, "(R)"}, {0x000000af, "-"}, {0x000000b0, "DEG"}, {0x000000b1, "+-"}, {0x000000b2, "^2"}, {0x000000b3, "^3"}, {0x000000b4, "'"}, {0x000000b5, "u"}, {0x000000b6, "P"}, {0x000000b7, "."}, {0x000000b8, ","}, {0x000000b9, "^1"}, {0x000000ba, "-o"}, {0x000000bb, ">>"}, {0x000000bc, " 1/4"}, {0x000000bd, " 1/2"}, {0x000000be, " 3/4"}, {0x000000bf, "?"}, {0x000000c0, "A"}, {0x000000c1, "A"}, {0x000000c2, "A"}, {0x000000c3, "A"}, {0x000000c4, "Ae"}, {0x000000c5, "AA"}, {0x000000c6, "AE"}, {0x000000c7, "C,"}, {0x000000c8, "E"}, {0x000000c9, "E"}, {0x000000ca, "E"}, {0x000000cb, "E"}, {0x000000cc, "I"}, {0x000000cd, "I"}, {0x000000ce, "I"}, {0x000000cf, "I"}, {0x000000d0, "D-"}, {0x000000d1, "N"}, {0x000000d2, "O"}, {0x000000d3, "O"}, {0x000000d4, "O"}, {0x000000d5, "O"}, {0x000000d6, "Oe"}, {0x000000d7, " *"}, {0x000000d8, "O/"}, {0x000000d9, "U"}, {0x000000da, "U"}, {0x000000db, "U"}, {0x000000dc, "Ue"}, {0x000000dd, "Y"}, {0x000000de, "TH"}, {0x000000df, "ss"}, {0x000000e0, "`a"}, {0x000000e1, "a"}, {0x000000e2, "a"}, {0x000000e3, "a"}, {0x000000e4, "ae"}, {0x000000e5, "aa"}, {0x000000e6, "ae"}, {0x000000e7, "c,"}, {0x000000e8, "e"}, {0x000000e9, "e"}, {0x000000ea, "e"}, {0x000000eb, "e"}, {0x000000ec, "`i"}, {0x000000ed, "i"}, {0x000000ee, "i"}, {0x000000ef, "i"}, {0x000000f0, "d-"}, {0x000000f1, "n"}, {0x000000f2, "o"}, {0x000000f3, "o"}, {0x000000f4, "o"}, {0x000000f5, "o"}, {0x000000f6, "oe"}, {0x000000f7, "-"}, {0x000000f8, "o/"}, {0x000000f9, "u"}, {0x000000fa, "u"}, {0x000000fb, "u"}, {0x000000fc, "ue"}, {0x000000fd, "y"}, {0x000000fe, "th"}, {0x000000ff, "y"}, {0x00000100, "A"}, {0x00000101, "a"}, {0x00000102, "A"}, {0x00000103, "a"}, {0x00000104, "A"}, {0x00000105, "a"}, {0x00000106, "C"}, {0x00000107, "c"}, {0x00000108, "CH"}, {0x00000109, "ch"}, {0x0000010a, "C"}, {0x0000010b, "c"}, {0x0000010c, "C"}, {0x0000010d, "c"}, {0x0000010e, "D"}, {0x0000010f, "d"}, {0x00000110, "D/"}, {0x00000111, "d/"}, {0x00000112, "E"}, {0x00000113, "e"}, {0x00000114, "E"}, {0x00000115, "e"}, {0x00000116, "E"}, {0x00000117, "e"}, {0x00000118, "E"}, {0x00000119, "e"}, {0x0000011a, "E"}, {0x0000011b, "e"}, {0x0000011c, "GH"}, {0x0000011d, "gh"}, {0x0000011e, "G"}, {0x0000011f, "g"}, {0x00000120, "G"}, {0x00000121, "g"}, {0x00000122, "G"}, {0x00000123, "g"}, {0x00000124, "HH"}, {0x00000125, "hh"}, {0x00000126, "H/"}, {0x00000127, "H"}, {0x00000128, "I"}, {0x00000129, "i"}, {0x0000012a, "I"}, {0x0000012b, "i"}, {0x0000012c, "I"}, {0x0000012d, "i"}, {0x0000012e, "I"}, {0x0000012f, "i"}, {0x00000130, "I"}, {0x00000131, "i"}, {0x00000132, "IJ"}, {0x00000133, "ij"}, {0x00000134, "JH"}, {0x00000135, "jh"}, {0x00000136, "K"}, {0x00000137, "k"}, {0x00000138, "kk"}, {0x00000139, "L"}, {0x0000013a, "l"}, {0x0000013b, "L"}, {0x0000013c, "l"}, {0x0000013d, "L"}, {0x0000013e, "l"}, {0x0000013f, "L."}, {0x00000140, "l."}, {0x00000141, "L/"}, {0x00000142, "l/"}, {0x00000143, "N"}, {0x00000144, "n"}, {0x00000145, "N"}, {0x00000146, "n"}, {0x00000147, "N"}, {0x00000148, "n"}, {0x00000149, "'n"}, {0x0000014a, "NG"}, {0x0000014b, "N"}, {0x0000014c, "O"}, {0x0000014d, "o"}, {0x0000014e, "O"}, {0x0000014f, "o"}, {0x00000150, "O\""}, {0x00000151, "o\""}, {0x00000152, "OE"}, {0x00000153, "oe"}, {0x00000154, "R"}, {0x00000155, "r"}, {0x00000156, "R"}, {0x00000157, "r"}, {0x00000158, "R"}, {0x00000159, "r"}, {0x0000015a, "S"}, {0x0000015b, "s"}, {0x0000015c, "SH"}, {0x0000015d, "sh"}, {0x0000015e, "S"}, {0x0000015f, "s"}, {0x00000160, "S"}, {0x00000161, "s"}, {0x00000162, "T"}, {0x00000163, "t"}, {0x00000164, "T"}, {0x00000165, "t"}, {0x00000166, "T/"}, {0x00000167, "t/"}, {0x00000168, "U"}, {0x00000169, "u"}, {0x0000016a, "U"}, {0x0000016b, "u"}, {0x0000016c, "U"}, {0x0000016d, "u"}, {0x0000016e, "U"}, {0x0000016f, "u"}, {0x00000170, "U\""}, {0x00000171, "u\""}, {0x00000172, "U"}, {0x00000173, "u"}, {0x00000174, "W"}, {0x00000175, "w"}, {0x00000176, "Y"}, {0x00000177, "y"}, {0x00000178, "Y"}, {0x00000179, "Z"}, {0x0000017a, "z"}, {0x0000017b, "Z"}, {0x0000017c, "z"}, {0x0000017d, "Z"}, {0x0000017e, "z"}, {0x0000017f, "s1"}, {0x00000187, "C2"}, {0x00000188, "c2"}, {0x00000191, "F2"}, {0x00000192, " f"}, {0x00000198, "K2"}, {0x00000199, "k2"}, {0x000001a0, "O9"}, {0x000001a1, "o9"}, {0x000001a2, "OI"}, {0x000001a3, "oi"}, {0x000001a6, "yr"}, {0x000001af, "U9"}, {0x000001b0, "u9"}, {0x000001b5, "Z/"}, {0x000001b6, "z/"}, {0x000001b7, "ED"}, {0x000001cd, "A"}, {0x000001ce, "a"}, {0x000001cf, "I"}, {0x000001d0, "i"}, {0x000001d1, "O"}, {0x000001d2, "o"}, {0x000001d3, "U"}, {0x000001d4, "u"}, {0x000001d5, "U"}, {0x000001d6, "u"}, {0x000001d7, "U"}, {0x000001d8, "u"}, {0x000001d9, "U"}, {0x000001da, "u"}, {0x000001db, "U"}, {0x000001dc, "u"}, {0x000001de, "A1"}, {0x000001df, "a1"}, {0x000001e0, "A7"}, {0x000001e1, "a7"}, {0x000001e2, "A3"}, {0x000001e3, "a3"}, {0x000001e4, "G/"}, {0x000001e5, "g/"}, {0x000001e6, "G"}, {0x000001e7, "g"}, {0x000001e8, "K"}, {0x000001e9, "k"}, {0x000001ea, "O"}, {0x000001eb, "o"}, {0x000001ec, "O1"}, {0x000001ed, "o1"}, {0x000001ee, "EZ"}, {0x000001ef, "ez"}, {0x000001f0, "j"}, {0x000001f4, "G"}, {0x000001f5, "g"}, {0x000001fa, "AA'"}, {0x000001fb, "aa'"}, {0x000001fc, "AE'"}, {0x000001fd, "ae'"}, {0x000001fe, "O/'"}, {0x000001ff, "o/'"}, {0x00000200, "A!!"}, {0x00000201, "a!!"}, {0x00000202, "A)"}, {0x00000203, "a)"}, {0x00000204, "E!!"}, {0x00000205, "e!!"}, {0x00000206, "E)"}, {0x00000207, "e)"}, {0x00000208, "I!!"}, {0x00000209, "i!!"}, {0x0000020a, "I)"}, {0x0000020b, "i)"}, {0x0000020c, "O!!"}, {0x0000020d, "o!!"}, {0x0000020e, "O)"}, {0x0000020f, "o)"}, {0x00000210, "R!!"}, {0x00000211, "r!!"}, {0x00000212, "R)"}, {0x00000213, "r)"}, {0x00000214, "U!!"}, {0x00000215, "u!!"}, {0x00000216, "U)"}, {0x00000217, "u)"}, {0x0000021d, "Z"}, {0x00000251, "A"}, {0x00000252, "A."}, {0x00000253, "b`"}, {0x00000254, "O"}, {0x00000256, "d."}, {0x00000257, "d`"}, {0x00000258, "@"}, {0x00000259, "@"}, {0x0000025a, "R"}, {0x0000025b, "E"}, {0x0000025c, "V\""}, {0x0000025d, "R"}, {0x0000025e, "O\""}, {0x0000025f, "J"}, {0x00000260, "g`"}, {0x00000261, "g"}, {0x00000262, "G"}, {0x00000263, "Q"}, {0x00000264, "o-"}, {0x00000265, "j"}, {0x00000266, "h"}, {0x00000268, "i\""}, {0x00000269, "I"}, {0x0000026a, "I"}, {0x0000026b, "L"}, {0x0000026c, "L"}, {0x0000026d, "l."}, {0x0000026e, "z"}, {0x0000026f, "u-"}, {0x00000270, "j"}, {0x00000271, "M"}, {0x00000273, "n."}, {0x00000274, "n\""}, {0x00000275, "@."}, {0x00000276, "&."}, {0x00000277, "U"}, {0x00000279, "r"}, {0x0000027a, "*"}, {0x0000027b, "r."}, {0x0000027d, "*."}, {0x0000027e, "*"}, {0x00000280, "R"}, {0x00000280, "r\""}, {0x00000281, "g\""}, {0x00000282, "s."}, {0x00000283, "S"}, {0x00000284, "J`"}, {0x00000287, "t!"}, {0x00000288, "t."}, {0x00000289, "u\""}, {0x0000028a, "U"}, {0x0000028b, "r"}, {0x0000028c, "V"}, {0x0000028d, "w"}, {0x0000028e, "l^"}, {0x0000028f, "I."}, {0x00000290, "z."}, {0x00000292, "Z"}, {0x00000294, "?"}, {0x00000295, "H"}, {0x00000296, "l!"}, {0x00000297, "c!"}, {0x00000298, "p!"}, {0x00000299, "b"}, {0x0000029b, "G`"}, {0x0000029d, "j"}, {0x0000029e, "k!"}, {0x0000029f, "L"}, {0x000002a0, "q`"}, {0x000002a4, "d3"}, {0x000002a6, "ts"}, {0x000002a7, "tS"}, {0x000002b0, ""}, {0x000002b1, ""}, {0x000002b2, ";"}, {0x000002b3, ""}, {0x000002b7, ""}, {0x000002bb, ";S"}, {0x000002bc, "`"}, {0x000002c6, "^"}, {0x000002c7, "'<"}, {0x000002c8, "|"}, {0x000002c9, "1-"}, {0x000002cb, "1!"}, {0x000002d0, ":"}, {0x000002d1, ""}, {0x000002d6, "+"}, {0x000002d7, "-"}, {0x000002d8, "'("}, {0x000002d9, "'."}, {0x000002da, "'0"}, {0x000002db, "';"}, {0x000002dc, "~"}, {0x000002dd, "'\""}, {0x000002e5, "_T"}, {0x000002e6, "_H"}, {0x000002e7, "_M"}, {0x000002e8, "_L"}, {0x000002e9, "_B"}, {0x000002ec, "_v"}, {0x000002ee, "''"}, {0x00000300, "`"}, {0x00000301, "'"}, {0x00000302, "^"}, {0x00000303, "~"}, {0x0000030b, "''"}, {0x0000030d, "|"}, {0x0000030e, "||"}, {0x0000030f, "``"}, {0x00000321, ";"}, {0x00000322, "."}, {0x00000323, "."}, {0x00000324, ""}, {0x00000325, ""}, {0x00000326, ","}, {0x00000327, ","}, {0x00000329, "-"}, {0x0000032a, "["}, {0x0000032b, ""}, {0x00000334, ""}, {0x00000334, "~"}, {0x00000337, "/"}, {0x00000338, "/"}, {0x00000340, "`"}, {0x00000341, "'"}, {0x00000342, "~"}, {0x00000344, "'%"}, {0x00000345, "j3"}, {0x00000347, "="}, {0x00000360, "~~"}, {0x00000374, "'"}, {0x00000375, ","}, {0x0000037a, "j3"}, {0x0000037e, "?%"}, {0x00000384, "'*"}, {0x00000385, "'%"}, {0x00000386, "A'"}, {0x00000387, ".*"}, {0x00000388, "E'"}, {0x00000389, "Y%"}, {0x0000038a, "I'"}, {0x0000038c, "O'"}, {0x0000038e, "U%"}, {0x0000038f, "W%"}, {0x00000390, "i3"}, {0x00000391, "A"}, {0x00000392, "B"}, {0x00000393, "G"}, {0x00000394, "D"}, {0x00000395, "E"}, {0x00000396, "Z"}, {0x00000397, "Y"}, {0x00000398, "TH"}, {0x00000399, "I"}, {0x0000039a, "K"}, {0x0000039b, "L"}, {0x0000039c, "M"}, {0x0000039d, "N"}, {0x0000039e, "C"}, {0x0000039f, "O"}, {0x000003a0, "P"}, {0x000003a1, "R"}, {0x000003a3, "S"}, {0x000003a4, "T"}, {0x000003a5, "U"}, {0x000003a6, "F"}, {0x000003a7, "X"}, {0x000003a8, "Q"}, {0x000003a9, "W*"}, {0x000003aa, "J"}, {0x000003ab, "V*"}, {0x000003ac, "a'"}, {0x000003ad, "e'"}, {0x000003ae, "y%"}, {0x000003af, "i'"}, {0x000003b0, "u3"}, {0x000003b1, "a"}, {0x000003b2, "b"}, {0x000003b3, "g"}, {0x000003b4, "d"}, {0x000003b5, "e"}, {0x000003b6, "z"}, {0x000003b7, "y"}, {0x000003b8, "th"}, {0x000003b9, "i"}, {0x000003ba, "k"}, {0x000003bb, "l"}, {0x000003bc, "m"}, {0x000003bd, "n"}, {0x000003be, "c"}, {0x000003bf, "o"}, {0x000003c0, "p"}, {0x000003c1, "r"}, {0x000003c2, "*s"}, {0x000003c3, "s"}, {0x000003c4, "t"}, {0x000003c5, "u"}, {0x000003c6, "f"}, {0x000003c7, "x"}, {0x000003c8, "q"}, {0x000003c9, "w"}, {0x000003ca, "j"}, {0x000003cb, "v*"}, {0x000003cc, "o'"}, {0x000003cd, "u%"}, {0x000003ce, "w%"}, {0x000003d0, "beta"}, {0x000003d1, "theta"}, {0x000003d2, "upsi"}, {0x000003d5, "phi"}, {0x000003d6, "pi"}, {0x000003d7, "k."}, {0x000003da, "T3"}, {0x000003db, "t3"}, {0x000003dc, "M3"}, {0x000003dd, "m3"}, {0x000003de, "K3"}, {0x000003df, "k3"}, {0x000003e0, "P3"}, {0x000003e1, "p3"}, {0x000003f0, "kappa"}, {0x000003f1, "rho"}, {0x000003f3, "J"}, {0x000003f4, "'%"}, {0x000003f5, "j3"}, {0x00000401, "IO"}, {0x00000402, "D%"}, {0x00000403, "G%"}, {0x00000404, "IE"}, {0x00000405, "DS"}, {0x00000406, "II"}, {0x00000407, "YI"}, {0x00000408, "J%"}, {0x00000409, "LJ"}, {0x0000040a, "NJ"}, {0x0000040b, "Ts"}, {0x0000040c, "KJ"}, {0x0000040e, "V%"}, {0x0000040f, "DZ"}, {0x00000410, "A"}, {0x00000411, "B"}, {0x00000412, "V"}, {0x00000413, "G"}, {0x00000414, "D"}, {0x00000415, "E"}, {0x00000416, "ZH"}, {0x00000417, "Z"}, {0x00000418, "I"}, {0x00000419, "J"}, {0x0000041a, "K"}, {0x0000041b, "L"}, {0x0000041c, "M"}, {0x0000041d, "N"}, {0x0000041e, "O"}, {0x0000041f, "P"}, {0x00000420, "R"}, {0x00000421, "S"}, {0x00000422, "T"}, {0x00000423, "U"}, {0x00000424, "F"}, {0x00000425, "H"}, {0x00000426, "C"}, {0x00000427, "CH"}, {0x00000428, "SH"}, {0x00000429, "SCH"}, {0x0000042a, "\""}, {0x0000042b, "Y"}, {0x0000042c, "'"}, {0x0000042d, "`E"}, {0x0000042e, "YU"}, {0x0000042f, "YA"}, {0x00000430, "a"}, {0x00000431, "b"}, {0x00000432, "v"}, {0x00000433, "g"}, {0x00000434, "d"}, {0x00000435, "e"}, {0x00000436, "zh"}, {0x00000437, "z"}, {0x00000438, "i"}, {0x00000439, "j"}, {0x0000043a, "k"}, {0x0000043b, "l"}, {0x0000043c, "m"}, {0x0000043d, "n"}, {0x0000043e, "o"}, {0x0000043f, "p"}, {0x00000440, "r"}, {0x00000441, "s"}, {0x00000442, "t"}, {0x00000443, "u"}, {0x00000444, "f"}, {0x00000445, "h"}, {0x00000446, "c"}, {0x00000447, "ch"}, {0x00000448, "sh"}, {0x00000449, "sch"}, {0x0000044a, "\""}, {0x0000044b, "y"}, {0x0000044c, "'"}, {0x0000044d, "`e"}, {0x0000044e, "yu"}, {0x0000044f, "ya"}, {0x00000451, "io"}, {0x00000452, "d%"}, {0x00000453, "g%"}, {0x00000454, "ie"}, {0x00000455, "ds"}, {0x00000456, "ii"}, {0x00000457, "yi"}, {0x00000458, "j%"}, {0x00000459, "lj"}, {0x0000045a, "nj"}, {0x0000045b, "ts"}, {0x0000045c, "kj"}, {0x0000045e, "v%"}, {0x0000045f, "dz"}, {0x00000462, "Y3"}, {0x00000463, "y3"}, {0x0000046a, "O3"}, {0x0000046b, "o3"}, {0x00000472, "F3"}, {0x00000473, "f3"}, {0x00000474, "V3"}, {0x00000475, "v3"}, {0x00000480, "C3"}, {0x00000481, "c3"}, {0x00000490, "G3"}, {0x00000491, "g3"}, {0x000004d4, "AE"}, {0x000004d5, "ae"}, {0x000005b4, "i"}, {0x000005b7, "a"}, {0x000005b8, "o"}, {0x000005bc, "u"}, {0x000005bf, "h"}, {0x000005c2, ":"}, {0x000005d0, "#"}, {0x000005d1, "B+"}, {0x000005d2, "G+"}, {0x000005d3, "D+"}, {0x000005d4, "H+"}, {0x000005d5, "W+"}, {0x000005d6, "Z+"}, {0x000005d7, "X+"}, {0x000005d8, "Tj"}, {0x000005d9, "J+"}, {0x000005da, "K%"}, {0x000005db, "K+"}, {0x000005dc, "L+"}, {0x000005dd, "M%"}, {0x000005de, "M+"}, {0x000005df, "N%"}, {0x000005e0, "N+"}, {0x000005e1, "S+"}, {0x000005e2, "E+"}, {0x000005e3, "P%"}, {0x000005e4, "P+"}, {0x000005e5, "Zj"}, {0x000005e6, "ZJ"}, {0x000005e7, "Q+"}, {0x000005e8, "R+"}, {0x000005e9, "Sh"}, {0x000005ea, "T+"}, {0x000005f0, "v"}, {0x000005f1, "oy"}, {0x000005f2, "ey"}, {0x0000060c, ",+"}, {0x0000061b, ";+"}, {0x0000061f, "?+"}, {0x00000621, "H'"}, {0x00000622, "aM"}, {0x00000623, "aH"}, {0x00000624, "wH"}, {0x00000625, "ah"}, {0x00000626, "yH"}, {0x00000627, "a+"}, {0x00000628, "b+"}, {0x00000629, "tm"}, {0x0000062a, "t+"}, {0x0000062b, "tk"}, {0x0000062c, "g+"}, {0x0000062d, "hk"}, {0x0000062e, "x+"}, {0x0000062f, "d+"}, {0x00000630, "dk"}, {0x00000631, "r+"}, {0x00000632, "z+"}, {0x00000633, "s+"}, {0x00000634, "sn"}, {0x00000635, "c+"}, {0x00000636, "dd"}, {0x00000637, "tj"}, {0x00000638, "zH"}, {0x00000639, "e+"}, {0x0000063a, "i+"}, {0x00000640, "++"}, {0x00000641, "f+"}, {0x00000642, "q+"}, {0x00000643, "k+"}, {0x00000644, "l+"}, {0x00000645, "m+"}, {0x00000646, "n+"}, {0x00000647, "h+"}, {0x00000648, "w+"}, {0x00000649, "j+"}, {0x0000064a, "y+"}, {0x0000064b, ""}, {0x0000064c, "\"+"}, {0x0000064d, "=+"}, {0x0000064e, "/+"}, {0x0000064f, "'+"}, {0x00000650, "1+"}, {0x00000651, "3+"}, {0x00000652, "0+"}, {0x00000660, "0a"}, {0x00000661, "1a"}, {0x00000662, "2a"}, {0x00000663, "3a"}, {0x00000664, "4a"}, {0x00000665, "5a"}, {0x00000666, "6a"}, {0x00000667, "7a"}, {0x00000668, "8a"}, {0x00000669, "9a"}, {0x00000670, "aS"}, {0x0000067e, "p+"}, {0x00000681, "hH"}, {0x00000686, "tc"}, {0x00000698, "zj"}, {0x000006a4, "v+"}, {0x000006af, "gf"}, {0x000006f0, "0a"}, {0x000006f1, "1a"}, {0x000006f2, "2a"}, {0x000006f3, "3a"}, {0x000006f4, "4a"}, {0x000006f5, "5a"}, {0x000006f6, "6a"}, {0x000006f7, "7a"}, {0x000006f8, "8a"}, {0x000006f9, "9a"}, {0x00001200, "he"}, {0x00001201, "hu"}, {0x00001202, "hi"}, {0x00001203, "ha"}, {0x00001204, "hE"}, {0x00001205, "h"}, {0x00001206, "ho"}, {0x00001208, "le"}, {0x00001209, "lu"}, {0x0000120a, "li"}, {0x0000120b, "la"}, {0x0000120c, "lE"}, {0x0000120d, "l"}, {0x0000120e, "lo"}, {0x0000120f, "lWa"}, {0x00001210, "He"}, {0x00001211, "Hu"}, {0x00001212, "Hi"}, {0x00001213, "Ha"}, {0x00001214, "HE"}, {0x00001215, "H"}, {0x00001216, "Ho"}, {0x00001217, "HWa"}, {0x00001218, "me"}, {0x00001219, "mu"}, {0x0000121a, "mi"}, {0x0000121b, "ma"}, {0x0000121c, "mE"}, {0x0000121d, "m"}, {0x0000121e, "mo"}, {0x0000121f, "mWa"}, {0x00001220, "`se"}, {0x00001221, "`su"}, {0x00001222, "`si"}, {0x00001223, "`sa"}, {0x00001224, "`sE"}, {0x00001225, "`s"}, {0x00001226, "`so"}, {0x00001227, "`sWa"}, {0x00001228, "re"}, {0x00001229, "ru"}, {0x0000122a, "ri"}, {0x0000122b, "ra"}, {0x0000122c, "rE"}, {0x0000122d, "r"}, {0x0000122e, "ro"}, {0x0000122f, "rWa"}, {0x00001230, "se"}, {0x00001231, "su"}, {0x00001232, "si"}, {0x00001233, "sa"}, {0x00001234, "sE"}, {0x00001235, "s"}, {0x00001236, "so"}, {0x00001237, "sWa"}, {0x00001238, "xe"}, {0x00001239, "xu"}, {0x0000123a, "xi"}, {0x0000123b, "xa"}, {0x0000123c, "xE"}, {0x0000123d, "xa"}, {0x0000123e, "xo"}, {0x0000123f, "xWa"}, {0x00001240, "qe"}, {0x00001241, "qu"}, {0x00001242, "qi"}, {0x00001243, "qa"}, {0x00001244, "qE"}, {0x00001245, "q"}, {0x00001246, "qo"}, {0x00001248, "qWe"}, {0x0000124a, "qWi"}, {0x0000124b, "qWa"}, {0x0000124c, "qWE"}, {0x0000124d, "qW"}, {0x00001250, "Qe"}, {0x00001251, "Qu"}, {0x00001252, "Qi"}, {0x00001253, "Qa"}, {0x00001254, "QE"}, {0x00001255, "Q"}, {0x00001256, "Qo"}, {0x00001258, "QWe"}, {0x0000125a, "QWi"}, {0x0000125b, "QWa"}, {0x0000125c, "QWE"}, {0x0000125d, "QW"}, {0x00001260, "be"}, {0x00001261, "bu"}, {0x00001262, "bi"}, {0x00001263, "ba"}, {0x00001264, "bE"}, {0x00001265, "b"}, {0x00001266, "bo"}, {0x00001267, "bWa"}, {0x00001268, "ve"}, {0x00001269, "vu"}, {0x0000126a, "vi"}, {0x0000126b, "va"}, {0x0000126c, "vE"}, {0x0000126d, "v"}, {0x0000126e, "vo"}, {0x0000126f, "vWa"}, {0x00001270, "te"}, {0x00001271, "tu"}, {0x00001272, "ti"}, {0x00001273, "ta"}, {0x00001274, "tE"}, {0x00001275, "t"}, {0x00001276, "to"}, {0x00001277, "tWa"}, {0x00001278, "ce"}, {0x00001279, "cu"}, {0x0000127a, "ci"}, {0x0000127b, "ca"}, {0x0000127c, "cE"}, {0x0000127d, "c"}, {0x0000127e, "co"}, {0x0000127f, "cWa"}, {0x00001280, "`he"}, {0x00001281, "`hu"}, {0x00001282, "`hi"}, {0x00001283, "`ha"}, {0x00001284, "`hE"}, {0x00001285, "`h"}, {0x00001286, "`ho"}, {0x00001288, "hWe"}, {0x0000128a, "hWi"}, {0x0000128b, "hWa"}, {0x0000128c, "hWE"}, {0x0000128d, "hW"}, {0x00001290, "na"}, {0x00001291, "nu"}, {0x00001292, "ni"}, {0x00001293, "na"}, {0x00001294, "nE"}, {0x00001295, "n"}, {0x00001296, "no"}, {0x00001297, "nWa"}, {0x00001298, "Ne"}, {0x00001299, "Nu"}, {0x0000129a, "Ni"}, {0x0000129b, "Na"}, {0x0000129c, "NE"}, {0x0000129d, "N"}, {0x0000129e, "No"}, {0x0000129f, "NWa"}, {0x000012a0, "e"}, {0x000012a1, "u"}, {0x000012a2, "i"}, {0x000012a3, "a"}, {0x000012a4, "E"}, {0x000012a5, "I"}, {0x000012a6, "o"}, {0x000012a7, "e3"}, {0x000012a8, "ke"}, {0x000012a9, "ku"}, {0x000012aa, "ki"}, {0x000012ab, "ka"}, {0x000012ac, "kE"}, {0x000012ad, "k"}, {0x000012ae, "ko"}, {0x000012b0, "kWe"}, {0x000012b2, "kWi"}, {0x000012b3, "kWa"}, {0x000012b4, "kWE"}, {0x000012b5, "kW"}, {0x000012b8, "Ke"}, {0x000012b9, "Ku"}, {0x000012ba, "Ki"}, {0x000012bb, "Ka"}, {0x000012bc, "KE"}, {0x000012bd, "K"}, {0x000012be, "Ko"}, {0x000012c0, "KWe"}, {0x000012c2, "KWi"}, {0x000012c3, "KWa"}, {0x000012c4, "KWE"}, {0x000012c5, "KW"}, {0x000012c8, "we"}, {0x000012c9, "wu"}, {0x000012ca, "wi"}, {0x000012cb, "wa"}, {0x000012cc, "wE"}, {0x000012cd, "w"}, {0x000012ce, "wo"}, {0x000012d0, "`e"}, {0x000012d1, "`u"}, {0x000012d2, "`i"}, {0x000012d3, "`a"}, {0x000012d4, "`E"}, {0x000012d5, "`I"}, {0x000012d6, "`o"}, {0x000012d8, "ze"}, {0x000012d9, "zu"}, {0x000012da, "zi"}, {0x000012db, "za"}, {0x000012dc, "zE"}, {0x000012dd, "z"}, {0x000012de, "zo"}, {0x000012df, "zWa"}, {0x000012e0, "Ze"}, {0x000012e1, "Zu"}, {0x000012e2, "Zi"}, {0x000012e3, "Za"}, {0x000012e4, "ZE"}, {0x000012e5, "Z"}, {0x000012e6, "Zo"}, {0x000012e7, "ZWa"}, {0x000012e8, "ye"}, {0x000012e9, "yu"}, {0x000012ea, "yi"}, {0x000012eb, "ya"}, {0x000012ec, "yE"}, {0x000012ed, "y"}, {0x000012ee, "yo"}, {0x000012ef, "yWa"}, {0x000012f0, "de"}, {0x000012f1, "du"}, {0x000012f2, "di"}, {0x000012f3, "da"}, {0x000012f4, "dE"}, {0x000012f5, "d"}, {0x000012f6, "do"}, {0x000012f7, "dWa"}, {0x000012f8, "De"}, {0x000012f9, "Du"}, {0x000012fa, "Di"}, {0x000012fb, "Da"}, {0x000012fc, "DE"}, {0x000012fd, "D"}, {0x000012fe, "Do"}, {0x000012ff, "DWa"}, {0x00001300, "je"}, {0x00001301, "ju"}, {0x00001302, "ji"}, {0x00001303, "ja"}, {0x00001304, "jE"}, {0x00001305, "j"}, {0x00001306, "jo"}, {0x00001307, "jWa"}, {0x00001308, "ga"}, {0x00001309, "gu"}, {0x0000130a, "gi"}, {0x0000130b, "ga"}, {0x0000130c, "gE"}, {0x0000130d, "g"}, {0x0000130e, "go"}, {0x00001310, "gWu"}, {0x00001312, "gWi"}, {0x00001313, "gWa"}, {0x00001314, "gWE"}, {0x00001315, "gW"}, {0x00001318, "Ge"}, {0x00001319, "Gu"}, {0x0000131a, "Gi"}, {0x0000131b, "Ga"}, {0x0000131c, "GE"}, {0x0000131d, "G"}, {0x0000131e, "Go"}, {0x0000131f, "GWa"}, {0x00001320, "Te"}, {0x00001321, "Tu"}, {0x00001322, "Ti"}, {0x00001323, "Ta"}, {0x00001324, "TE"}, {0x00001325, "T"}, {0x00001326, "To"}, {0x00001327, "TWa"}, {0x00001328, "Ce"}, {0x00001329, "Ca"}, {0x0000132a, "Cu"}, {0x0000132b, "Ca"}, {0x0000132c, "CE"}, {0x0000132d, "C"}, {0x0000132e, "Co"}, {0x0000132f, "CWa"}, {0x00001330, "Pe"}, {0x00001331, "Pu"}, {0x00001332, "Pi"}, {0x00001333, "Pa"}, {0x00001334, "PE"}, {0x00001335, "P"}, {0x00001336, "Po"}, {0x00001337, "PWa"}, {0x00001338, "SWe"}, {0x00001339, "SWu"}, {0x0000133a, "SWi"}, {0x0000133b, "SWa"}, {0x0000133c, "SWE"}, {0x0000133d, "SW"}, {0x0000133e, "SWo"}, {0x0000133f, "SWa"}, {0x00001340, "`Sa"}, {0x00001341, "`Su"}, {0x00001342, "`Si"}, {0x00001343, "`Sa"}, {0x00001344, "`SE"}, {0x00001345, "`S"}, {0x00001346, "`So"}, {0x00001348, "fa"}, {0x00001349, "fu"}, {0x0000134a, "fi"}, {0x0000134b, "fa"}, {0x0000134c, "fE"}, {0x0000134d, "o"}, {0x0000134e, "fo"}, {0x0000134f, "fWa"}, {0x00001350, "pe"}, {0x00001351, "pu"}, {0x00001352, "pi"}, {0x00001353, "pa"}, {0x00001354, "pE"}, {0x00001355, "p"}, {0x00001356, "po"}, {0x00001357, "pWa"}, {0x00001358, "mYa"}, {0x00001359, "rYa"}, {0x0000135a, "fYa"}, {0x00001360, " "}, {0x00001361, ":"}, {0x00001362, ""}, {0x00001363, ","}, {0x00001364, ";"}, {0x00001365, "-"}, {0x00001366, ""}, {0x00001367, "`?"}, {0x00001368, ""}, {0x00001369, "`1"}, {0x0000136a, "`2"}, {0x0000136b, "`3"}, {0x0000136c, "`4"}, {0x0000136d, "`5"}, {0x0000136e, "`6"}, {0x0000136f, "`7"}, {0x00001370, "`8"}, {0x00001371, "`9"}, {0x00001372, "`10"}, {0x00001373, "`20"}, {0x00001374, "`30"}, {0x00001375, "`40"}, {0x00001376, "`50"}, {0x00001377, "`60"}, {0x00001378, "`70"}, {0x00001379, "`80"}, {0x0000137a, "`90"}, {0x0000137b, "`100"}, {0x0000137c, "`10000"}, {0x00001e00, "A-0"}, {0x00001e01, "a-0"}, {0x00001e02, "B."}, {0x00001e03, "b."}, {0x00001e04, "B-."}, {0x00001e05, "b-."}, {0x00001e06, "B_"}, {0x00001e07, "b_"}, {0x00001e08, "C,'"}, {0x00001e09, "c,'"}, {0x00001e0a, "D."}, {0x00001e0b, "d."}, {0x00001e0c, "D-."}, {0x00001e0d, "d-."}, {0x00001e0e, "D_"}, {0x00001e0f, "d_"}, {0x00001e10, "D,"}, {0x00001e11, "d,"}, {0x00001e12, "D->"}, {0x00001e13, "d->"}, {0x00001e14, "E-!"}, {0x00001e15, "e-!"}, {0x00001e16, "E-'"}, {0x00001e17, "e-'"}, {0x00001e18, "E->"}, {0x00001e19, "e->"}, {0x00001e1a, "E-?"}, {0x00001e1b, "e-?"}, {0x00001e1c, "E,("}, {0x00001e1d, "e,("}, {0x00001e1e, "F."}, {0x00001e1f, "f."}, {0x00001e20, "G-"}, {0x00001e21, "g-"}, {0x00001e22, "H."}, {0x00001e23, "h."}, {0x00001e24, "H-."}, {0x00001e25, "h-."}, {0x00001e26, "H"}, {0x00001e27, "h"}, {0x00001e28, "H,"}, {0x00001e29, "h,"}, {0x00001e2a, "H-("}, {0x00001e2b, "h-("}, {0x00001e2c, "I-?"}, {0x00001e2d, "i-?"}, {0x00001e2e, "I"}, {0x00001e2f, "i"}, {0x00001e30, "K'"}, {0x00001e31, "k'"}, {0x00001e32, "K-."}, {0x00001e33, "k-."}, {0x00001e34, "K_"}, {0x00001e35, "k_"}, {0x00001e36, "L-."}, {0x00001e37, "l-."}, {0x00001e38, "L--."}, {0x00001e39, "l--."}, {0x00001e3a, "L_"}, {0x00001e3b, "l_"}, {0x00001e3c, "L->"}, {0x00001e3d, "l->"}, {0x00001e3e, "M'"}, {0x00001e3f, "m'"}, {0x00001e40, "M."}, {0x00001e41, "m."}, {0x00001e42, "M-."}, {0x00001e43, "m-."}, {0x00001e44, "N."}, {0x00001e45, "n."}, {0x00001e46, "N-."}, {0x00001e47, "n-."}, {0x00001e48, "N_"}, {0x00001e49, "n_"}, {0x00001e4a, "N->"}, {0x00001e4b, "n->"}, {0x00001e4c, "O?'"}, {0x00001e4d, "o?'"}, {0x00001e4e, "O?"}, {0x00001e4f, "o?"}, {0x00001e50, "O-!"}, {0x00001e51, "o-!"}, {0x00001e52, "O-'"}, {0x00001e53, "o-'"}, {0x00001e54, "P'"}, {0x00001e55, "p'"}, {0x00001e56, "P."}, {0x00001e57, "p."}, {0x00001e58, "R."}, {0x00001e59, "r."}, {0x00001e5a, "R-."}, {0x00001e5b, "r-."}, {0x00001e5c, "R--."}, {0x00001e5d, "r--."}, {0x00001e5e, "R_"}, {0x00001e5f, "r_"}, {0x00001e60, "S."}, {0x00001e61, "s."}, {0x00001e62, "S-."}, {0x00001e63, "s-."}, {0x00001e64, "S'."}, {0x00001e65, "s'."}, {0x00001e66, "S<."}, {0x00001e67, "s<."}, {0x00001e68, "S.-."}, {0x00001e69, "s.-."}, {0x00001e6a, "T."}, {0x00001e6b, "t."}, {0x00001e6c, "T-."}, {0x00001e6d, "t-."}, {0x00001e6e, "T_"}, {0x00001e6f, "t_"}, {0x00001e70, "T->"}, {0x00001e71, "t->"}, {0x00001e72, "U--"}, {0x00001e73, "u--"}, {0x00001e74, "U-?"}, {0x00001e75, "u-?"}, {0x00001e76, "U->"}, {0x00001e77, "u->"}, {0x00001e78, "U?'"}, {0x00001e79, "u?'"}, {0x00001e7a, "U-"}, {0x00001e7b, "u-"}, {0x00001e7c, "V?"}, {0x00001e7d, "v?"}, {0x00001e7e, "V-."}, {0x00001e7f, "v-."}, {0x00001e80, "W!"}, {0x00001e81, "w!"}, {0x00001e82, "W'"}, {0x00001e83, "w'"}, {0x00001e84, "W"}, {0x00001e85, "w"}, {0x00001e86, "W."}, {0x00001e87, "w."}, {0x00001e88, "W-."}, {0x00001e89, "w-."}, {0x00001e8a, "X."}, {0x00001e8b, "x."}, {0x00001e8c, "X"}, {0x00001e8d, "x"}, {0x00001e8e, "Y."}, {0x00001e8f, "y."}, {0x00001e90, "Z>"}, {0x00001e91, "z>"}, {0x00001e92, "Z-."}, {0x00001e93, "z-."}, {0x00001e94, "Z_"}, {0x00001e95, "z_"}, {0x00001e96, "h_"}, {0x00001e97, "t"}, {0x00001e98, "w0"}, {0x00001e99, "y0"}, {0x00001ea0, "A-."}, {0x00001ea1, "a-."}, {0x00001ea2, "A2"}, {0x00001ea3, "a2"}, {0x00001ea4, "A>'"}, {0x00001ea5, "a>'"}, {0x00001ea6, "A>!"}, {0x00001ea7, "a>!"}, {0x00001ea8, "A>2"}, {0x00001ea9, "a>2"}, {0x00001eaa, "A>?"}, {0x00001eab, "a>?"}, {0x00001eac, "A>-."}, {0x00001ead, "a>-."}, {0x00001eae, "A('"}, {0x00001eaf, "a('"}, {0x00001eb0, "A(!"}, {0x00001eb1, "a(!"}, {0x00001eb2, "A(2"}, {0x00001eb3, "a(2"}, {0x00001eb4, "A(?"}, {0x00001eb5, "a(?"}, {0x00001eb6, "A(-."}, {0x00001eb7, "a(-."}, {0x00001eb8, "E-."}, {0x00001eb9, "e-."}, {0x00001eba, "E2"}, {0x00001ebb, "e2"}, {0x00001ebc, "E?"}, {0x00001ebd, "e?"}, {0x00001ebe, "E>'"}, {0x00001ebf, "e>'"}, {0x00001ec0, "E>!"}, {0x00001ec1, "e>!"}, {0x00001ec2, "E>2"}, {0x00001ec3, "e>2"}, {0x00001ec4, "E>?"}, {0x00001ec5, "e>?"}, {0x00001ec6, "E>-."}, {0x00001ec7, "e>-."}, {0x00001ec8, "I2"}, {0x00001ec9, "i2"}, {0x00001eca, "I-."}, {0x00001ecb, "i-."}, {0x00001ecc, "O-."}, {0x00001ecd, "o-."}, {0x00001ece, "O2"}, {0x00001ecf, "o2"}, {0x00001ed0, "O>'"}, {0x00001ed1, "o>'"}, {0x00001ed2, "O>!"}, {0x00001ed3, "o>!"}, {0x00001ed4, "O>2"}, {0x00001ed5, "o>2"}, {0x00001ed6, "O>?"}, {0x00001ed7, "o>?"}, {0x00001ed8, "O>-."}, {0x00001ed9, "o>-."}, {0x00001eda, "O9'"}, {0x00001edb, "o9'"}, {0x00001edc, "O9!"}, {0x00001edd, "o9!"}, {0x00001ede, "O92"}, {0x00001edf, "o92"}, {0x00001ee0, "O9?"}, {0x00001ee1, "o9?"}, {0x00001ee2, "O9-."}, {0x00001ee3, "o9-."}, {0x00001ee4, "U-."}, {0x00001ee5, "u-."}, {0x00001ee6, "U2"}, {0x00001ee7, "u2"}, {0x00001ee8, "U9'"}, {0x00001ee9, "u9'"}, {0x00001eea, "U9!"}, {0x00001eeb, "u9!"}, {0x00001eec, "U92"}, {0x00001eed, "u92"}, {0x00001eee, "U9?"}, {0x00001eef, "u9?"}, {0x00001ef0, "U9-."}, {0x00001ef1, "u9-."}, {0x00001ef2, "Y!"}, {0x00001ef3, "y!"}, {0x00001ef4, "Y-."}, {0x00001ef5, "y-."}, {0x00001ef6, "Y2"}, {0x00001ef7, "y2"}, {0x00001ef8, "Y?"}, {0x00001ef9, "y?"}, {0x00001f00, "a"}, {0x00001f01, "ha"}, {0x00001f02, "`a"}, {0x00001f03, "h`a"}, {0x00001f04, "a'"}, {0x00001f05, "ha'"}, {0x00001f06, "a~"}, {0x00001f07, "ha~"}, {0x00001f08, "A"}, {0x00001f09, "hA"}, {0x00001f0a, "`A"}, {0x00001f0b, "h`A"}, {0x00001f0c, "A'"}, {0x00001f0d, "hA'"}, {0x00001f0e, "A~"}, {0x00001f0f, "hA~"}, {0x00001f11, "he"}, {0x00001f19, "hE"}, {0x00001f31, "hi"}, {0x00001f39, "hI"}, {0x00001f41, "ho"}, {0x00001f49, "hO"}, {0x00001f51, "hu"}, {0x00001f59, "hU"}, {0x00001fbf, ",,"}, {0x00001fc0, "?*"}, {0x00001fc1, "?"}, {0x00001fcd, ",!"}, {0x00001fce, ",'"}, {0x00001fcf, "?,"}, {0x00001fdd, ";!"}, {0x00001fde, ";'"}, {0x00001fdf, "?;"}, {0x00001fe5, "rh"}, {0x00001fec, "Rh"}, {0x00001fed, "!"}, {0x00001fef, "!*"}, {0x00001ffe, ";;"}, {0x00002000, " "}, {0x00002001, ""}, {0x00002002, " "}, {0x00002003, ""}, {0x00002004, " "}, {0x00002005, " "}, {0x00002006, " "}, {0x00002007, " "}, {0x00002008, " "}, {0x00002009, " "}, {0x0000200a, ""}, {0x0000200e, "(->)"}, {0x0000200f, "(<-)"}, {0x00002010, "-"}, {0x00002011, "-"}, {0x00002013, "-"}, {0x00002014, "--"}, {0x00002015, "-"}, {0x00002016, "||"}, {0x00002017, "=2"}, {0x00002018, "`"}, {0x00002019, "'"}, {0x0000201a, "'"}, {0x0000201b, "'"}, {0x0000201c, "\""}, {0x0000201d, "\""}, {0x0000201e, "\""}, {0x0000201f, "\""}, {0x00002020, "/-"}, {0x00002021, "/="}, {0x00002022, " o"}, {0x00002024, "."}, {0x00002025, ".."}, {0x00002026, "..."}, {0x00002027, "."}, {0x00002028, "\\\\015"}, {0x00002029, "\\\\015\\\\012"}, {0x0000202c, ""}, {0x0000202d, ""}, {0x0000202f, ""}, {0x00002030, " 0/00"}, {0x00002032, "'"}, {0x00002033, "''"}, {0x00002034, "'''"}, {0x00002035, "`"}, {0x00002036, "``"}, {0x00002037, "```"}, {0x00002038, "Ca"}, {0x00002039, "<"}, {0x0000203a, ">"}, {0x0000203b, ""}, {0x0000203c, "!!"}, {0x0000203e, "'-"}, {0x00002043, "-"}, {0x00002044, "/"}, {0x00002048, "?!"}, {0x00002049, "!?"}, {0x00002070, "^0"}, {0x00002074, "^4"}, {0x00002075, "^5"}, {0x00002076, "^6"}, {0x00002077, "^7"}, {0x00002078, "^8"}, {0x00002079, "^9"}, {0x0000207a, "^+"}, {0x0000207b, "^-"}, {0x0000207c, "^="}, {0x0000207d, "^("}, {0x0000207e, "^)"}, {0x0000207f, "^n"}, {0x00002080, "_0"}, {0x00002081, "_1"}, {0x00002082, "_2"}, {0x00002083, "_3"}, {0x00002084, "_4"}, {0x00002085, "_5"}, {0x00002086, "_6"}, {0x00002087, "_7"}, {0x00002088, "_8"}, {0x00002089, "_9"}, {0x0000208a, "_+"}, {0x0000208b, "_-"}, {0x0000208c, "_="}, {0x0000208d, "("}, {0x0000208e, ")"}, {0x000020a3, "Ff"}, {0x000020a4, "Li"}, {0x000020a7, "Pt"}, {0x000020a9, "W="}, {0x000020ac, "EUR"}, {0x00002100, "a/c"}, {0x00002101, "a/s"}, {0x00002103, "oC"}, {0x00002105, "c/o"}, {0x00002106, "c/u"}, {0x00002109, "oF"}, {0x0000210a, "g"}, {0x0000210e, "h"}, {0x0000210f, "\"hbar"}, {0x00002111, "Im"}, {0x00002113, "l"}, {0x00002116, "No."}, {0x00002117, "PO"}, {0x00002118, "P"}, {0x0000211c, "Re"}, {0x0000211e, "Rx"}, {0x00002120, "(SM)"}, {0x00002121, "TEL"}, {0x00002122, "(TM)"}, {0x00002126, "Ohm"}, {0x0000212a, "K"}, {0x0000212b, "Ang."}, {0x0000212e, "est."}, {0x00002134, "o"}, {0x00002135, "Aleph"}, {0x00002136, "Bet"}, {0x00002137, "Gimel"}, {0x00002138, "Dalet"}, {0x00002153, " 1/3"}, {0x00002154, " 2/3"}, {0x00002155, " 1/5"}, {0x00002156, " 2/5"}, {0x00002157, " 3/5"}, {0x00002158, " 4/5"}, {0x00002159, " 1/6"}, {0x0000215a, " 5/6"}, {0x0000215b, " 1/8"}, {0x0000215c, " 3/8"}, {0x0000215d, " 5/8"}, {0x0000215e, " 7/8"}, {0x0000215f, " 1/"}, {0x00002160, "I"}, {0x00002161, "II"}, {0x00002162, "III"}, {0x00002163, "IV"}, {0x00002164, "V"}, {0x00002165, "VI"}, {0x00002166, "VII"}, {0x00002167, "VIII"}, {0x00002168, "IX"}, {0x00002169, "X"}, {0x0000216a, "XI"}, {0x0000216b, "XII"}, {0x0000216c, "L"}, {0x0000216d, "C"}, {0x0000216e, "D"}, {0x0000216f, "M"}, {0x00002170, "i"}, {0x00002171, "ii"}, {0x00002172, "iii"}, {0x00002173, "iv"}, {0x00002174, "v"}, {0x00002175, "vi"}, {0x00002176, "vii"}, {0x00002177, "viii"}, {0x00002178, "ix"}, {0x00002179, "x"}, {0x0000217a, "xi"}, {0x0000217b, "xii"}, {0x0000217c, "l"}, {0x0000217d, "c"}, {0x0000217e, "d"}, {0x0000217f, "m"}, {0x00002180, "1000RCD"}, {0x00002181, "5000R"}, {0x00002182, "10000R"}, {0x00002190, "<-"}, {0x00002191, "-^"}, {0x00002192, "->"}, {0x00002193, "-v"}, {0x00002194, "<->"}, {0x00002195, "UD"}, {0x00002196, ""}, {0x00002198, "!!>"}, {0x00002199, "V"}, {0x000021d0, "<="}, {0x000021d1, "^^"}, {0x000021d2, "=>"}, {0x000021d3, "vv"}, {0x000021d4, "<=>"}, {0x00002200, "FA"}, {0x00002202, "\\\\partial"}, {0x00002203, "TE"}, {0x00002205, "{}"}, {0x00002206, "Delta"}, {0x00002207, "Nabla"}, {0x00002208, "(-"}, {0x00002209, "!(-"}, {0x0000220a, "(-"}, {0x0000220b, "-)"}, {0x0000220c, "!-)"}, {0x0000220d, "-)"}, {0x0000220e, " qed"}, {0x0000220f, "\\\\prod"}, {0x00002211, "\\\\sum"}, {0x00002212, " -"}, {0x00002213, "-/+"}, {0x00002214, ".+"}, {0x00002215, "/"}, {0x00002216, " -"}, {0x00002217, "*"}, {0x00002218, "Ob"}, {0x00002219, "sb"}, {0x0000221a, " SQRT"}, {0x0000221b, " ROOT3"}, {0x0000221c, " ROOT4"}, {0x0000221d, "0("}, {0x0000221e, "infty"}, {0x0000221f, "-L"}, {0x00002220, "-V"}, {0x00002225, "PP"}, {0x00002226, " !PP"}, {0x00002227, "AND"}, {0x00002228, "OR"}, {0x00002229, "(U"}, {0x0000222a, ")U"}, {0x0000222b, "\"int"}, {0x0000222c, "DI"}, {0x0000222e, "Io"}, {0x00002234, "."}, {0x00002235, ""}, {0x00002236, ""}, {0x00002237, ""}, {0x0000223c, "?1"}, {0x0000223e, "CG"}, {0x00002243, "?-"}, {0x00002245, "?="}, {0x00002248, "~="}, {0x00002249, " !~="}, {0x0000224c, "=?"}, {0x00002253, "HI"}, {0x00002254, ""}, {0x00002255, "="}, {0x00002260, "!="}, {0x00002261, "=3"}, {0x00002262, " !=3"}, {0x00002264, "=<"}, {0x00002265, ">="}, {0x00002266, ".LE."}, {0x00002267, ".GE."}, {0x00002268, ".LT.NOT.EQ."}, {0x00002269, ".GT.NOT.EQ."}, {0x0000226a, "<<"}, {0x0000226b, ">>"}, {0x0000226e, "!<"}, {0x0000226f, "!>"}, {0x00002276, " <>"}, {0x00002277, " ><"}, {0x00002282, "(C"}, {0x00002283, ")C"}, {0x00002284, " !(C"}, {0x00002285, " !)C"}, {0x00002286, "(_"}, {0x00002287, ")_"}, {0x00002295, "(+)"}, {0x00002296, "(-)"}, {0x00002297, "(x)"}, {0x00002298, "(/)"}, {0x00002299, "(.)"}, {0x0000229a, "(o)"}, {0x0000229b, "(*)"}, {0x0000229c, "(=)"}, {0x0000229d, "(-)"}, {0x0000229e, "[+]"}, {0x0000229f, "[-]"}, {0x000022a0, "[x]"}, {0x000022a1, "[.]"}, {0x000022a5, "-T"}, {0x000022a7, " MODELS"}, {0x000022a8, " TRUE"}, {0x000022a9, " FORCES"}, {0x000022ac, " !PROVES"}, {0x000022ad, " NOT TRUE"}, {0x000022ae, " !FORCES"}, {0x000022b2, " NORMAL SUBGROUP OF"}, {0x000022b3, " CONTAINS AS NORMAL SUBGROUP"}, {0x000022b4, " NORMAL SUBGROUP OF OR EQUAL TO"}, {0x000022b5, " CONTAINS AS NORMAL SUBGROUP OR EQUAL TO"}, {0x000022b8, " MULTIMAP"}, {0x000022ba, " INTERCALATE"}, {0x000022bb, " XOR"}, {0x000022bc, " NAND"}, {0x000022c5, " DOT"}, {0x000022d6, "<."}, {0x000022d7, ">."}, {0x000022d8, "<<<"}, {0x000022d9, ">>>"}, {0x000022ee, ""}, {0x000022ef, ".3"}, {0x00002302, "Eh"}, {0x00002307, "~~"}, {0x00002308, "<7"}, {0x00002309, ">7"}, {0x0000230a, "7<"}, {0x0000230b, "7>"}, {0x00002310, "NI"}, {0x00002312, "(A"}, {0x00002315, "TR"}, {0x00002318, "88"}, {0x00002320, "Iu"}, {0x00002321, "Il"}, {0x00002322, ""}, {0x00002323, ""}, {0x00002324, "|^|"}, {0x00002327, "[X]"}, {0x00002329, ""}, {0x00002423, "Vs"}, {0x00002440, "1h"}, {0x00002441, "3h"}, {0x00002442, "2h"}, {0x00002443, "4h"}, {0x00002446, "1j"}, {0x00002447, "2j"}, {0x00002448, "3j"}, {0x00002449, "4j"}, {0x00002460, "1-o"}, {0x00002461, "2-o"}, {0x00002462, "3-o"}, {0x00002463, "4-o"}, {0x00002464, "5-o"}, {0x00002465, "6-o"}, {0x00002466, "7-o"}, {0x00002467, "8-o"}, {0x00002468, "9-o"}, {0x00002469, "10-o"}, {0x0000246a, "11-o"}, {0x0000246b, "12-o"}, {0x0000246c, "13-o"}, {0x0000246d, "14-o"}, {0x0000246e, "15-o"}, {0x0000246f, "16-o"}, {0x00002470, "17-o"}, {0x00002471, "18-o"}, {0x00002472, "19-o"}, {0x00002473, "20-o"}, {0x00002474, "(1)"}, {0x00002475, "(2)"}, {0x00002476, "(3)"}, {0x00002477, "(4)"}, {0x00002478, "(5)"}, {0x00002479, "(6)"}, {0x0000247a, "(7)"}, {0x0000247b, "(8)"}, {0x0000247c, "(9)"}, {0x0000247d, "(10)"}, {0x0000247e, "(11)"}, {0x0000247f, "(12)"}, {0x00002480, "(13)"}, {0x00002481, "(14)"}, {0x00002482, "(15)"}, {0x00002483, "(16)"}, {0x00002484, "(17)"}, {0x00002485, "(18)"}, {0x00002486, "(19)"}, {0x00002487, "(20)"}, {0x00002488, "1."}, {0x00002489, "2."}, {0x0000248a, "3."}, {0x0000248b, "4."}, {0x0000248c, "5."}, {0x0000248d, "6."}, {0x0000248e, "7."}, {0x0000248f, "8."}, {0x00002490, "9."}, {0x00002491, "10."}, {0x00002492, "11."}, {0x00002493, "12."}, {0x00002494, "13."}, {0x00002495, "14."}, {0x00002496, "15."}, {0x00002497, "16."}, {0x00002498, "17."}, {0x00002499, "18."}, {0x0000249a, "19."}, {0x0000249b, "20."}, {0x0000249c, "(a)"}, {0x0000249d, "(b)"}, {0x0000249e, "(c)"}, {0x0000249f, "(d)"}, {0x000024a0, "(e)"}, {0x000024a1, "(f)"}, {0x000024a2, "(g)"}, {0x000024a3, "(h)"}, {0x000024a4, "(i)"}, {0x000024a5, "(j)"}, {0x000024a6, "(k)"}, {0x000024a7, "(l)"}, {0x000024a8, "(m)"}, {0x000024a9, "(n)"}, {0x000024aa, "(o)"}, {0x000024ab, "(p)"}, {0x000024ac, "(q)"}, {0x000024ad, "(r)"}, {0x000024ae, "(s)"}, {0x000024af, "(t)"}, {0x000024b0, "(u)"}, {0x000024b1, "(v)"}, {0x000024b2, "(w)"}, {0x000024b3, "(x)"}, {0x000024b4, "(y)"}, {0x000024b5, "(z)"}, {0x000024b6, "A-o"}, {0x000024b7, "B-o"}, {0x000024b8, "C-o"}, {0x000024b9, "D-o"}, {0x000024ba, "E-o"}, {0x000024bb, "F-o"}, {0x000024bc, "G-o"}, {0x000024bd, "H-o"}, {0x000024be, "I-o"}, {0x000024bf, "J-o"}, {0x000024c0, "K-o"}, {0x000024c1, "L-o"}, {0x000024c2, "M-o"}, {0x000024c3, "N-o"}, {0x000024c4, "O-o"}, {0x000024c5, "P-o"}, {0x000024c6, "Q-o"}, {0x000024c7, "R-o"}, {0x000024c8, "S-o"}, {0x000024c9, "T-o"}, {0x000024ca, "U-o"}, {0x000024cb, "V-o"}, {0x000024cc, "W-o"}, {0x000024cd, "X-o"}, {0x000024ce, "Y-o"}, {0x000024cf, "Z-o"}, {0x000024d0, "a-o"}, {0x000024d1, "b-o"}, {0x000024d2, "c-o"}, {0x000024d3, "d-o"}, {0x000024d4, "e-o"}, {0x000024d5, "f-o"}, {0x000024d6, "g-o"}, {0x000024d7, "h-o"}, {0x000024d8, "i-o"}, {0x000024d9, "j-o"}, {0x000024da, "k-o"}, {0x000024db, "l-o"}, {0x000024dc, "m-o"}, {0x000024dd, "n-o"}, {0x000024de, "o-o"}, {0x000024df, "p-o"}, {0x000024e0, "q-o"}, {0x000024e1, "r-o"}, {0x000024e2, "s-o"}, {0x000024e3, "t-o"}, {0x000024e4, "u-o"}, {0x000024e5, "v-o"}, {0x000024e6, "w-o"}, {0x000024e7, "x-o"}, {0x000024e8, "y-o"}, {0x000024e9, "z-o"}, {0x000024ea, "0-o"}, {0x00002500, "-"}, {0x00002501, "="}, {0x00002502, "|"}, {0x00002503, "|"}, {0x00002504, "-"}, {0x00002505, "="}, {0x00002506, "|"}, {0x00002507, "|"}, {0x00002508, "-"}, {0x00002509, "="}, {0x0000250a, "|"}, {0x0000250b, "|"}, {0x0000250c, "+"}, {0x0000250d, "+"}, {0x0000250e, "+"}, {0x0000250f, "+"}, {0x00002510, "+"}, {0x00002511, "+"}, {0x00002512, "+"}, {0x00002513, "+"}, {0x00002514, "+"}, {0x00002515, "+"}, {0x00002516, "+"}, {0x00002517, "+"}, {0x00002518, "+"}, {0x00002519, "+"}, {0x0000251a, "+"}, {0x0000251b, "+"}, {0x0000251c, "+"}, {0x0000251d, "+"}, {0x0000251e, "+"}, {0x0000251f, "+"}, {0x00002520, "+"}, {0x00002521, "+"}, {0x00002522, "+"}, {0x00002523, "+"}, {0x00002524, "+"}, {0x00002525, "+"}, {0x00002526, "+"}, {0x00002527, "+"}, {0x00002528, "+"}, {0x00002529, "+"}, {0x0000252a, "+"}, {0x0000252b, "+"}, {0x0000252c, "+"}, {0x0000252d, "+"}, {0x0000252e, "+"}, {0x0000252f, "+"}, {0x00002530, "+"}, {0x00002531, "+"}, {0x00002532, "+"}, {0x00002533, "+"}, {0x00002534, "+"}, {0x00002535, "+"}, {0x00002536, "+"}, {0x00002537, "+"}, {0x00002538, "+"}, {0x00002539, "+"}, {0x0000253a, "+"}, {0x0000253b, "+"}, {0x0000253c, "+"}, {0x0000253d, "+"}, {0x0000253e, "+"}, {0x0000253f, "+"}, {0x00002540, "+"}, {0x00002541, "+"}, {0x00002542, "+"}, {0x00002543, "+"}, {0x00002544, "+"}, {0x00002545, "+"}, {0x00002546, "+"}, {0x00002547, "+"}, {0x00002548, "+"}, {0x00002549, "+"}, {0x0000254a, "+"}, {0x0000254b, "+"}, {0x0000254c, "+"}, {0x0000254d, "+"}, {0x0000254e, "+"}, {0x0000254f, "+"}, {0x00002550, "+"}, {0x00002551, "+"}, {0x00002552, "+"}, {0x00002553, "+"}, {0x00002554, "+"}, {0x00002555, "+"}, {0x00002556, "+"}, {0x00002557, "+"}, {0x00002558, "+"}, {0x00002559, "+"}, {0x0000255a, "+"}, {0x0000255b, "+"}, {0x0000255c, "+"}, {0x0000255d, "+"}, {0x0000255e, "+"}, {0x0000255f, "+"}, {0x00002560, "+"}, {0x00002561, "+"}, {0x00002562, "+"}, {0x00002563, "+"}, {0x00002564, "+"}, {0x00002565, "+"}, {0x00002566, "+"}, {0x00002567, "+"}, {0x00002568, "+"}, {0x00002569, "+"}, {0x0000256a, "+"}, {0x0000256b, "+"}, {0x0000256c, "+"}, {0x00002571, "/"}, {0x00002572, "\\\\"}, {0x00002580, "TB"}, {0x00002584, "LB"}, {0x00002588, "FB"}, {0x0000258c, "lB"}, {0x00002590, "RB"}, {0x00002591, ".S"}, {0x00002592, ""}, {0x00002593, "?S"}, {0x000025a0, "fS"}, {0x000025a1, "OS"}, {0x000025a2, "RO"}, {0x000025a3, "Rr"}, {0x000025a4, "RF"}, {0x000025a5, "RY"}, {0x000025a6, "RH"}, {0x000025a7, "RZ"}, {0x000025a8, "RK"}, {0x000025a9, "RX"}, {0x000025aa, "sB"}, {0x000025ac, "SR"}, {0x000025ad, "Or"}, {0x000025b2, "^"}, {0x000025b3, "uT"}, {0x000025b6, "|>"}, {0x000025b7, "Tr"}, {0x000025ba, "|>"}, {0x000025bc, "v"}, {0x000025bd, "dT"}, {0x000025c0, "<|"}, {0x000025c1, "Tl"}, {0x000025c4, "<|"}, {0x000025c6, "Db"}, {0x000025c7, "Dw"}, {0x000025ca, "LZ"}, {0x000025cb, "0m"}, {0x000025ce, "0o"}, {0x000025cf, "0M"}, {0x000025d0, "0L"}, {0x000025d1, "0R"}, {0x000025d8, "Sn"}, {0x000025d9, "Ic"}, {0x000025e2, "Fd"}, {0x000025e3, "Bd"}, {0x000025ef, "Ci"}, {0x00002605, "*2"}, {0x00002606, "*1"}, {0x0000260e, "TEL"}, {0x0000260f, "tel"}, {0x0000261c, "<--"}, {0x0000261e, "-->"}, {0x00002621, "CAUTION"}, {0x00002627, "XP"}, {0x00002639, ""}, {0x0000263a, ""}, {0x0000263b, "(-"}, {0x0000263c, "SU"}, {0x00002640, "f."}, {0x00002642, "m."}, {0x00002660, "cS"}, {0x00002661, "cH"}, {0x00002662, "cD"}, {0x00002663, "cC"}, {0x00002664, "cS-"}, {0x00002665, "cH-"}, {0x00002666, "cD-"}, {0x00002667, "cC-"}, {0x00002669, "Md"}, {0x0000266a, "M8"}, {0x0000266b, "M2"}, {0x0000266c, "M16"}, {0x0000266d, "b"}, {0x0000266e, "Mx"}, {0x0000266f, "#"}, {0x00002713, "X"}, {0x00002717, "X"}, {0x00002720, "-X"}, {0x00003000, " "}, {0x00003001, ",_"}, {0x00003002, "._"}, {0x00003003, "+\""}, {0x00003004, "JIS"}, {0x00003005, "*_"}, {0x00003006, ";_"}, {0x00003007, "0_"}, {0x0000300a, "<+"}, {0x0000300b, ">+"}, {0x0000300c, "<'"}, {0x0000300d, ">'"}, {0x0000300e, "<\""}, {0x0000300f, ">\""}, {0x00003010, "(\""}, {0x00003011, ")\""}, {0x00003012, "=T"}, {0x00003013, "=_"}, {0x00003014, "('"}, {0x00003015, ")'"}, {0x00003016, "(I"}, {0x00003017, ")I"}, {0x0000301a, "[["}, {0x0000301b, "]]"}, {0x0000301c, "-?"}, {0x00003020, "=T"}, {0x0000303f, " "}, {0x00003041, "A5"}, {0x00003042, "a5"}, {0x00003043, "I5"}, {0x00003044, "i5"}, {0x00003045, "U5"}, {0x00003046, "u5"}, {0x00003047, "E5"}, {0x00003048, "e5"}, {0x00003049, "O5"}, {0x0000304a, "o5"}, {0x0000304b, "ka"}, {0x0000304c, "ga"}, {0x0000304d, "ki"}, {0x0000304e, "gi"}, {0x0000304f, "ku"}, {0x00003050, "gu"}, {0x00003051, "ke"}, {0x00003052, "ge"}, {0x00003053, "ko"}, {0x00003054, "go"}, {0x00003055, "sa"}, {0x00003056, "za"}, {0x00003057, "si"}, {0x00003058, "zi"}, {0x00003059, "su"}, {0x0000305a, "zu"}, {0x0000305b, "se"}, {0x0000305c, "ze"}, {0x0000305d, "so"}, {0x0000305e, "zo"}, {0x0000305f, "ta"}, {0x00003060, "da"}, {0x00003061, "ti"}, {0x00003062, "di"}, {0x00003063, "tU"}, {0x00003064, "tu"}, {0x00003065, "du"}, {0x00003066, "te"}, {0x00003067, "de"}, {0x00003068, "to"}, {0x00003069, "do"}, {0x0000306a, "na"}, {0x0000306b, "ni"}, {0x0000306c, "nu"}, {0x0000306d, "ne"}, {0x0000306e, "no"}, {0x0000306f, "ha"}, {0x00003070, "ba"}, {0x00003071, "pa"}, {0x00003072, "hi"}, {0x00003073, "bi"}, {0x00003074, "pi"}, {0x00003075, "hu"}, {0x00003076, "bu"}, {0x00003077, "pu"}, {0x00003078, "he"}, {0x00003079, "be"}, {0x0000307a, "pe"}, {0x0000307b, "ho"}, {0x0000307c, "bo"}, {0x0000307d, "po"}, {0x0000307e, "ma"}, {0x0000307f, "mi"}, {0x00003080, "mu"}, {0x00003081, "me"}, {0x00003082, "mo"}, {0x00003083, "yA"}, {0x00003084, "ya"}, {0x00003085, "yU"}, {0x00003086, "yu"}, {0x00003087, "yO"}, {0x00003088, "yo"}, {0x00003089, "ra"}, {0x0000308a, "ri"}, {0x0000308b, "ru"}, {0x0000308c, "re"}, {0x0000308d, "ro"}, {0x0000308e, "wA"}, {0x0000308f, "wa"}, {0x00003090, "wi"}, {0x00003091, "we"}, {0x00003092, "wo"}, {0x00003093, "n5"}, {0x00003094, "vu"}, {0x0000309b, "\"5"}, {0x0000309c, "05"}, {0x0000309d, "*5"}, {0x0000309e, "+5"}, {0x000030a1, "a6"}, {0x000030a2, "A6"}, {0x000030a3, "i6"}, {0x000030a4, "I6"}, {0x000030a5, "u6"}, {0x000030a6, "U6"}, {0x000030a7, "e6"}, {0x000030a8, "E6"}, {0x000030a9, "o6"}, {0x000030aa, "O6"}, {0x000030ab, "Ka"}, {0x000030ac, "Ga"}, {0x000030ad, "Ki"}, {0x000030ae, "Gi"}, {0x000030af, "Ku"}, {0x000030b0, "Gu"}, {0x000030b1, "Ke"}, {0x000030b2, "Ge"}, {0x000030b3, "Ko"}, {0x000030b4, "Go"}, {0x000030b5, "Sa"}, {0x000030b6, "Za"}, {0x000030b7, "Si"}, {0x000030b8, "Zi"}, {0x000030b9, "Su"}, {0x000030ba, "Zu"}, {0x000030bb, "Se"}, {0x000030bc, "Ze"}, {0x000030bd, "So"}, {0x000030be, "Zo"}, {0x000030bf, "Ta"}, {0x000030c0, "Da"}, {0x000030c1, "Ti"}, {0x000030c2, "Di"}, {0x000030c3, "TU"}, {0x000030c4, "Tu"}, {0x000030c5, "Du"}, {0x000030c6, "Te"}, {0x000030c7, "De"}, {0x000030c8, "To"}, {0x000030c9, "Do"}, {0x000030ca, "Na"}, {0x000030cb, "Ni"}, {0x000030cc, "Nu"}, {0x000030cd, "Ne"}, {0x000030ce, "No"}, {0x000030cf, "Ha"}, {0x000030d0, "Ba"}, {0x000030d1, "Pa"}, {0x000030d2, "Hi"}, {0x000030d3, "Bi"}, {0x000030d4, "Pi"}, {0x000030d5, "Hu"}, {0x000030d6, "Bu"}, {0x000030d7, "Pu"}, {0x000030d8, "He"}, {0x000030d9, "Be"}, {0x000030da, "Pe"}, {0x000030db, "Ho"}, {0x000030dc, "Bo"}, {0x000030dd, "Po"}, {0x000030de, "Ma"}, {0x000030df, "Mi"}, {0x000030e0, "Mu"}, {0x000030e1, "Me"}, {0x000030e2, "Mo"}, {0x000030e3, "YA"}, {0x000030e4, "Ya"}, {0x000030e5, "YU"}, {0x000030e6, "Yu"}, {0x000030e7, "YO"}, {0x000030e8, "Yo"}, {0x000030e9, "Ra"}, {0x000030ea, "Ri"}, {0x000030eb, "Ru"}, {0x000030ec, "Re"}, {0x000030ed, "Ro"}, {0x000030ee, "WA"}, {0x000030ef, "Wa"}, {0x000030f0, "Wi"}, {0x000030f1, "We"}, {0x000030f2, "Wo"}, {0x000030f3, "N6"}, {0x000030f4, "Vu"}, {0x000030f5, "KA"}, {0x000030f6, "KE"}, {0x000030f7, "Va"}, {0x000030f8, "Vi"}, {0x000030f9, "Ve"}, {0x000030fa, "Vo"}, {0x000030fb, ".6"}, {0x000030fc, "-6"}, {0x000030fd, "*6"}, {0x000030fe, "+6"}, {0x00003105, "b4"}, {0x00003106, "p4"}, {0x00003107, "m4"}, {0x00003108, "f4"}, {0x00003109, "d4"}, {0x0000310a, "t4"}, {0x0000310b, "n4"}, {0x0000310c, "l4"}, {0x0000310d, "g4"}, {0x0000310e, "k4"}, {0x0000310f, "h4"}, {0x00003110, "j4"}, {0x00003111, "q4"}, {0x00003112, "x4"}, {0x00003113, "zh"}, {0x00003114, "ch"}, {0x00003115, "sh"}, {0x00003116, "r4"}, {0x00003117, "z4"}, {0x00003118, "c4"}, {0x00003119, "s4"}, {0x0000311a, "a4"}, {0x0000311b, "o4"}, {0x0000311c, "e4"}, {0x0000311d, "eh4"}, {0x0000311e, "ai"}, {0x0000311f, "ei"}, {0x00003120, "au"}, {0x00003121, "ou"}, {0x00003122, "an"}, {0x00003123, "en"}, {0x00003124, "aN"}, {0x00003125, "eN"}, {0x00003126, "er"}, {0x00003127, "i4"}, {0x00003128, "u4"}, {0x00003129, "iu"}, {0x0000312a, "v4"}, {0x0000312b, "nG"}, {0x0000312c, "gn"}, {0x0000321c, "(JU)"}, {0x00003220, "1c"}, {0x00003221, "2c"}, {0x00003222, "3c"}, {0x00003223, "4c"}, {0x00003224, "5c"}, {0x00003225, "6c"}, {0x00003226, "7c"}, {0x00003227, "8c"}, {0x00003228, "9c"}, {0x00003229, "10c"}, {0x0000327f, "KSC"}, {0x000033c2, "am"}, {0x000033d8, "pm"}, {0x0000fb00, "ff"}, {0x0000fb01, "fi"}, {0x0000fb02, "fl"}, {0x0000fb03, "ffi"}, {0x0000fb04, "ffl"}, {0x0000fb05, "St"}, {0x0000fb06, "st"}, {0x0000fe7d, "3+;"}, {0x0000fe82, "aM."}, {0x0000fe84, "aH."}, {0x0000fe88, "ah."}, {0x0000fe8d, "a+-"}, {0x0000fe8e, "a+."}, {0x0000fe8f, "b+-"}, {0x0000fe90, "b+."}, {0x0000fe91, "b+,"}, {0x0000fe92, "b+;"}, {0x0000fe93, "tm-"}, {0x0000fe94, "tm."}, {0x0000fe95, "t+-"}, {0x0000fe96, "t+."}, {0x0000fe97, "t+,"}, {0x0000fe98, "t+;"}, {0x0000fe99, "tk-"}, {0x0000fe9a, "tk."}, {0x0000fe9b, "tk,"}, {0x0000fe9c, "tk;"}, {0x0000fe9d, "g+-"}, {0x0000fe9e, "g+."}, {0x0000fe9f, "g+,"}, {0x0000fea0, "g+;"}, {0x0000fea1, "hk-"}, {0x0000fea2, "hk."}, {0x0000fea3, "hk,"}, {0x0000fea4, "hk;"}, {0x0000fea5, "x+-"}, {0x0000fea6, "x+."}, {0x0000fea7, "x+,"}, {0x0000fea8, "x+;"}, {0x0000fea9, "d+-"}, {0x0000feaa, "d+."}, {0x0000feab, "dk-"}, {0x0000feac, "dk."}, {0x0000fead, "r+-"}, {0x0000feae, "r+."}, {0x0000feaf, "z+-"}, {0x0000feb0, "z+."}, {0x0000feb1, "s+-"}, {0x0000feb2, "s+."}, {0x0000feb3, "s+,"}, {0x0000feb4, "s+;"}, {0x0000feb5, "sn-"}, {0x0000feb6, "sn."}, {0x0000feb7, "sn,"}, {0x0000feb8, "sn;"}, {0x0000feb9, "c+-"}, {0x0000feba, "c+."}, {0x0000febb, "c+,"}, {0x0000febc, "c+;"}, {0x0000febd, "dd-"}, {0x0000febe, "dd."}, {0x0000febf, "dd,"}, {0x0000fec0, "dd;"}, {0x0000fec1, "tj-"}, {0x0000fec2, "tj."}, {0x0000fec3, "tj,"}, {0x0000fec4, "tj;"}, {0x0000fec5, "zH-"}, {0x0000fec6, "zH."}, {0x0000fec7, "zH,"}, {0x0000fec8, "zH;"}, {0x0000fec9, "e+-"}, {0x0000feca, "e+."}, {0x0000fecb, "e+,"}, {0x0000fecc, "e+;"}, {0x0000fecd, "i+-"}, {0x0000fece, "i+."}, {0x0000fecf, "i+,"}, {0x0000fed0, "i+;"}, {0x0000fed1, "f+-"}, {0x0000fed2, "f+."}, {0x0000fed3, "f+,"}, {0x0000fed4, "f+;"}, {0x0000fed5, "q+-"}, {0x0000fed6, "q+."}, {0x0000fed7, "q+,"}, {0x0000fed8, "q+;"}, {0x0000fed9, "k+-"}, {0x0000feda, "k+."}, {0x0000fedb, "k+,"}, {0x0000fedc, "k+;"}, {0x0000fedd, "l+-"}, {0x0000fede, "l+."}, {0x0000fedf, "l+,"}, {0x0000fee0, "l+;"}, {0x0000fee1, "m+-"}, {0x0000fee2, "m+."}, {0x0000fee3, "m+,"}, {0x0000fee4, "m+;"}, {0x0000fee5, "n+-"}, {0x0000fee6, "n+."}, {0x0000fee7, "n+,"}, {0x0000fee8, "n+;"}, {0x0000fee9, "h+-"}, {0x0000feea, "h+."}, {0x0000feeb, "h+,"}, {0x0000feec, "h+;"}, {0x0000feed, "w+-"}, {0x0000feee, "w+."}, {0x0000feef, "j+-"}, {0x0000fef0, "j+."}, {0x0000fef1, "y+-"}, {0x0000fef2, "y+."}, {0x0000fef3, "y+,"}, {0x0000fef4, "y+;"}, {0x0000fef5, "lM-"}, {0x0000fef6, "lM."}, {0x0000fef7, "lH-"}, {0x0000fef8, "lH."}, {0x0000fef9, "lh-"}, {0x0000fefa, "lh."}, {0x0000fefb, "la-"}, {0x0000fefc, "la."}, {0x0000feff, ""}, {0x0000ff61, "."}, {0x0000ff62, "\""}, {0x0000ff63, "\""}, {0x0000ff64, ","}, {-1, NULL} }; #define N_UNICODE_7B 2452 tucnak-4.32/src/chart.h0000644000175000017500000000302512125053311011702 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __CHART_H #define __CHART_H #include "subwin.h" #include "qsodb.h" #define CHART_H 0 struct chqso{ int time; int value; char *call; int pts; char *op; }; struct chband{ GPtrArray *chqsos; // of struct chqso int color; char *pcall; char *pwwlo; char *tname; char *pband; int mouse_value; char *filename; struct band *band; char *op; // foreign key to chqsos->op; }; int sw_chart_load_file(struct subwin *sw, char *filename, int quiet); int sw_chart_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_chart_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_chart_redraw(struct subwin *sw, struct band *band, int flags); void sw_chart_check_bounds(struct subwin *sw); void sw_chart_raise(struct subwin *sw); int save_chart_to_file(char *filename); int load_chart_from_file(char *filename); void sw_chart_free(struct subwin *sw); void sw_chart_free_band(struct chband *b); int sw_chart_recalc_extremes(struct subwin *sw, struct band *band); int chart_reload(void); void chart_clear_all(void); void sw_chart_delete_band(void *idx, void *unused); void menu_chart_add_contest(void *menudata, void *itdata); void menu_chart_add_files(void *menudata, void *itdata); #endif tucnak-4.32/src/kbd.c0000644000175000017500000006556412460207027011363 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "kbd.h" #include "language2.h" #include "main.h" #include "tsdl.h" #include "terminal.h" #define OUT_BUF_SIZE 16384 #define IN_BUF_SIZE 16 #define USE_TWIN_MOUSE 1 #define TW_BUTT_LEFT 1 #define TW_BUTT_MIDDLE 2 #define TW_BUTT_RIGHT 4 struct itrm { int std_in; int std_out; int sock_in; int sock_out; int ctl_in; int blocked; #ifndef Z_MSC_MINGW struct termios t; #endif int flags; char kqueue[IN_BUF_SIZE]; int qlen; int tm; char *ev_queue; int eqlen; void *mouse_h; char *orig_title; }; void free_trm(void *); void in_kbd(void *); void in_sock(void *); static struct itrm *ditrm = NULL; int is_blocked(void) { return ditrm && ditrm->blocked; } void free_all_itrms(void) { //progress(VTEXT(T_FREE_TERM)); if (ditrm) free_trm(ditrm); } static void write_ev_queue(struct itrm *itrm) { int l; if (!itrm->eqlen) zinternal("event queue empty"); if ((l = z_pipe_write(itrm->sock_out, itrm->ev_queue, itrm->eqlen > 128 ? 128 : itrm->eqlen)) == -1) { free_trm(itrm); return; } #ifdef Z_HAVE_SDL if (sdl){ MUTEX_LOCK(sdl->eventpipestate); sdl->eventpipestate+=l; /* dbg("u %d\n", sdl->eventpipestate);*/ MUTEX_UNLOCK(sdl->eventpipestate); } #endif memmove(itrm->ev_queue, itrm->ev_queue + l, itrm->eqlen -= l); if (!itrm->eqlen) zselect_set(zsel, itrm->sock_out, (ZSELECT_HANDLER)zselect_get(zsel, itrm->sock_out, H_READ), NULL, (ZSELECT_HANDLER)zselect_get(zsel, itrm->sock_out, H_ERROR), zselect_get(zsel, itrm->sock_out, H_DATA) ); } static void queue_event(struct itrm *itrm, char *data, int len) { int w = 0; if (!len) return; if (!itrm->eqlen && can_write(itrm->sock_out)){ #ifdef Z_MSC_MINGW w = send(itrm->sock_out, data, len, 0); #else w = write(itrm->sock_out, data, len); #endif if (w <= 0) { /*free_trm(itrm);*/ zselect_bh_new(zsel, (void (*)(void *))free_trm, (void *)itrm); return; } } #ifdef Z_HAVE_SDL if (sdl){ MUTEX_LOCK(sdl->eventpipestate); sdl->eventpipestate+=w; /* dbg("q %d\n", sdl->eventpipestate); */ MUTEX_UNLOCK(sdl->eventpipestate); } #endif if (w < len) { char *c; if (!(c = (char *)g_realloc(itrm->ev_queue, itrm->eqlen + len - w))) { free_trm(itrm); return; } itrm->ev_queue = c; memcpy(itrm->ev_queue + itrm->eqlen, data + w, len - w); itrm->eqlen += len - w; zselect_set(zsel, itrm->sock_out, (void (*)(void *))zselect_get(zsel, itrm->sock_out, H_READ), (void (*)(void *))write_ev_queue, (void (*)(void *))free_trm, itrm); } } void kbd_ctrl_c(void) { /*struct event ev = { EV_KBD, KBD_CTRL_C, 0, 0 };*/ struct event ev = { EV_KBD, 'C', KBD_CTRL, 0 }; if (ditrm) queue_event(ditrm, (char *)&ev, sizeof(struct event)); } /* char *init_seq = "\033[?1000h\033[?47h\0337"; char *term_seq = "\033[2J\033[?1000l\033[?47l\0338\b \b"; */ static char *init_seq = "\033)0\0337"; static char *init_seq_x_mouse = "\033[?1000h"; static char *init_seq_tw_mouse = "\033[?9h"; static char *term_seq = "\033[2J\0338\r \b"; static char *term_seq_x_mouse = "\033[?1000l"; static char *term_seq_tw_mouse = "\033[?9l"; /*char *term_seq = "\033[2J\033[?1000l\0338\b \b";*/ static void send_init_sequence(int h,int flags) { hard_write(h, init_seq, strlen(init_seq)); if (flags & USE_TWIN_MOUSE) { hard_write(h, init_seq_tw_mouse, strlen(init_seq_tw_mouse)); } else { hard_write(h, init_seq_x_mouse, strlen(init_seq_x_mouse)); } } static void send_term_sequence(int h,int flags) { hard_write(h, term_seq, strlen(term_seq)); if (flags & USE_TWIN_MOUSE) { hard_write(h, term_seq_tw_mouse, strlen(term_seq_tw_mouse)); } else { hard_write(h, term_seq_x_mouse, strlen(term_seq_x_mouse)); } } void resize_terminal(void *arg) { struct event ev = { EV_RESIZE, 0, 0, GPOINTER_TO_INT(arg) }; int x, y; #ifdef Z_HAVE_SDL if (sdl){ if (sdl_get_terminal_size(ditrm->std_out, &x, &y)) return; } else #endif { #ifndef Z_MSC_MINGW if (term_get_terminal_size(ditrm->std_out, &x, &y)) return; #endif } ev.x = x; ev.y = y; queue_event(ditrm, (char *)&ev, sizeof(struct event)); } #ifndef Z_MSC_MINGW static int setraw(int fd, struct termios *p) { struct termios t; memset(&t, 0, sizeof(struct termios)); if (tcgetattr(fd, &t)) return -1; if (p) memcpy(p, &t, sizeof(struct termios)); cfmakeraw(&t); t.c_lflag |= ISIG; #ifdef TOSTOP t.c_lflag |= TOSTOP; #endif t.c_oflag |= OPOST; if (tcsetattr(fd, TCSANOW, &t)) return -1; return 0; } #endif void handle_trm(int std_in, int std_out, int sock_in, int sock_out, int ctl_in) { int x, y; struct itrm *itrm; struct event ev = { EV_INIT, 80, 24, 0 }; char *ts; int xwin, ret; #ifdef Z_HAVE_SDL if (sdl){ ret=sdl_get_terminal_size(ctl_in, &x, &y); } else #endif { #ifndef Z_MSC_MINGW ret=term_get_terminal_size(ctl_in, &x, &y); #endif } if (ret){ error("ERROR: could not get terminal size"); return; } if (!(itrm = (struct itrm*)g_malloc(sizeof(struct itrm)))) return; ditrm = itrm; itrm->std_in = std_in; itrm->std_out = std_out; itrm->sock_in = sock_in; itrm->sock_out = sock_out; itrm->ctl_in = ctl_in; itrm->blocked = 0; itrm->qlen = 0; itrm->tm = -1; itrm->ev_queue = NULL; itrm->eqlen = 0; if (ctl_in >= 0) { #ifndef Z_MSC_MINGW setraw(ctl_in, &itrm->t); zselect_set(zsel, std_in, in_kbd, NULL, free_trm, itrm); #endif } // condidion always false // if (sock_in != std_out) zselect_set(zsel, sock_in, in_sock, NULL, free_trm, itrm); ev.x = x; ev.y = y; #ifndef Z_MSC_MINGW handle_terminal_resize(ctl_in, resize_terminal); #endif queue_event(itrm, (char *)&ev, sizeof(struct event)); xwin = is_xterm() * ENV_XWIN + can_twterm() * ENV_TWIN + (!!getenv("STY")) * ENV_SCREEN; itrm->flags = 0; if (!(ts = getenv("TERM"))) ts = ""; if ((xwin & ENV_TWIN) && !strcmp(ts,"linux")) itrm->flags |= USE_TWIN_MOUSE; #ifdef Z_HAVE_SDL if (!sdl){ itrm->mouse_h = handle_mouse(0, (void (*)(void *, char *, int))queue_event, itrm); } else #endif { itrm->mouse_h = NULL; } itrm->orig_title = get_window_title(); if (std_out>=0){ save_screen(); send_init_sequence(std_out,itrm->flags); } set_window_title("Tucnak "PACKAGE_VERSION); } #ifndef Z_MSC_MINGW void unblock_itrm_x(void *arg) { close_handle(arg); if (!ditrm) return; unblock_itrm(0); resize_terminal(NULL); } int unblock_itrm(int fd) { struct itrm *itrm = ditrm; if (!itrm) return -1; /*if (ditrm->sock_out != fd) { zinternal("unblock_itrm: bad fd: %d", fd); return -1; }*/ if (itrm->ctl_in >= 0 && setraw(itrm->ctl_in, NULL)) return -1; itrm->blocked = 0; send_init_sequence(itrm->std_out,itrm->flags); zselect_set(zsel, itrm->std_in, in_kbd, NULL, free_trm, itrm); handle_terminal_resize(itrm->ctl_in, resize_terminal); //unblock_stdin(); return 0; } void block_itrm(int fd) { struct itrm *itrm = ditrm; if (!itrm) return; /*if (ditrm->sock_out != fd) { zinternal("block_itrm: bad fd: %d", fd); return; }*/ itrm->blocked = 1; //block_stdin(); unhandle_terminal_resize(itrm->ctl_in); send_term_sequence(itrm->std_out,itrm->flags); tcsetattr(itrm->ctl_in, TCSANOW, &itrm->t); zselect_set(zsel, itrm->std_in, NULL, NULL, free_trm, itrm); } #endif void free_trm(void *arg) { struct itrm *itrm; itrm=(struct itrm*)arg; if (!itrm) return; set_window_title(itrm->orig_title); if (itrm->orig_title) g_free(itrm->orig_title), itrm->orig_title = NULL; #ifndef Z_MSC_MINGW unhandle_terminal_resize(itrm->ctl_in); #endif if (itrm->std_out>=0) send_term_sequence(itrm->std_out,itrm->flags); #ifndef Z_MSC_MINGW tcsetattr(itrm->ctl_in, TCSANOW, &itrm->t); #endif if (itrm->std_out>=0) restore_screen(); if (itrm->mouse_h) unhandle_mouse(itrm->mouse_h); if (itrm->std_in>=0) zselect_set(zsel, itrm->std_in, NULL, NULL, NULL, NULL); if (itrm->sock_in>=0) zselect_set(zsel, itrm->sock_in, NULL, NULL, NULL, NULL); if (itrm->std_out>=0) zselect_set(zsel, itrm->std_out, NULL, NULL, NULL, NULL); if (itrm->sock_out>=0) zselect_set(zsel, itrm->sock_out, NULL, NULL, NULL, NULL); if (itrm->tm != -1) zselect_timer_kill(zsel, itrm->tm); g_free(itrm->ev_queue); g_free(itrm); if (itrm == ditrm) ditrm = NULL; itrm=NULL; } #ifndef Z_MSC_MINGW void itrm_safe_abort(void){ struct itrm *itrm = ditrm; if (!itrm) return; tcsetattr(itrm->ctl_in, TCSANOW, &itrm->t); } #endif static void resize_terminal_x(char *text) { int x, y; char *p; if (!(p = strchr(text, ','))) return; *p++ = 0; x = atoi(text); y = atoi(p); resize_window(x, y); resize_terminal(NULL); } void dispatch_special(char *text) { switch (text[0]) { case TERM_FN_TITLE: set_window_title(text + 1); break; case TERM_FN_RESIZE: resize_terminal_x(text + 1); break; } } //static char buf[OUT_BUF_SIZE]; /*#define RD ({ char cc; if (p < c) cc = buf[p++]; else if ((dl = hard_read(itrm->sock_in, &cc, 1)) <= 0) {debug("%d %d", dl, errno);goto fr;} cc; })*/ /*udefine RD ({ char cc; if (p < c) cc = buf[p++]; else if ((hard_read(itrm->sock_in, &cc, 1)) <= 0) goto fr; cc; })*/ #define RD(xx) { char cc; if (p < c) cc = buf[p++]; else if ((hard_read(itrm->sock_in, &cc, 1)) <= 0) goto fr; xx = cc; } #if 0 // seems uncalled void in_sock(void *arg) { char ch; int fg; int c, i, p; struct itrm *itrm; GString *path, *delete1; itrm=(struct itrm *)arg; if ((c = z_pipe_read(itrm->sock_in, buf, OUT_BUF_SIZE)) <= 0) { fr: free_trm(itrm); return; } qwerty: for (i = 0; i < c; i++) if (!buf[i]) goto ex; if (!is_blocked()) { want_draw(); hard_write(itrm->std_out, buf, c); done_draw(); } return; ex: if (!is_blocked()) { want_draw(); hard_write(itrm->std_out, buf, i); done_draw(); } i++; memmove(buf, buf + i, OUT_BUF_SIZE - i); c -= i; p = 0; /*fg = RD;*/ RD(fg); path = g_string_new(""); delete1 = g_string_new(""); while (1) { RD(ch); if (!ch) break; g_string_append_c(path, ch); } while (1) { RD(ch); if (!ch) break; g_string_append_c(delete1, ch); } if (!*path->str) { dispatch_special(delete1->str); } else { int blockh; char *param; if (is_blocked() && fg) { if (*delete1->str) unlink(delete1->str); goto to_je_ale_hnus; } if (!(param = g_malloc(strlen(path->str) + strlen(delete1->str) + 3))) goto to_je_ale_hnus; param[0] = fg; strcpy(param + 1, path->str); strcpy(param + 1 + strlen(path->str) + 1, delete1->str); if (fg == 1) block_itrm(itrm->ctl_in); if ((blockh = start_thread((void (*)(void *, int))exec_thread, param, strlen(path->str) + strlen(delete1->str) + 3)) == -1) { if (fg == 1) unblock_itrm(itrm->ctl_in); g_free(param); goto to_je_ale_hnus; } g_free(param); if (fg == 1) { zselect_set(zsel, blockh, unblock_itrm_x, NULL, unblock_itrm_x, GINT_TO_POINTER(blockh)); /*block_itrm(itrm->ctl_in);*/ } else { zselect_set(zsel, blockh, close_handle, NULL, close_handle, GINT_TO_POINTER(blockh)); } } to_je_ale_hnus: g_string_free(path, TRUE); g_string_free(delete1, TRUE); memmove(buf, buf + p, OUT_BUF_SIZE - p); c -= p; goto qwerty; } #endif int process_queue(struct itrm *); static void kbd_timeout(struct itrm *itrm) { struct event ev = {EV_KBD, KBD_ESC, 0, 0}; itrm->tm = -1; /*if (can_read(itrm->std_in)) { in_kbd(itrm); return; }*/ if (!itrm->qlen) { zinternal("timeout on empty queue"); return; } queue_event(itrm, (char *)&ev, sizeof(struct event)); if (--itrm->qlen) memmove(itrm->kqueue, itrm->kqueue+1, itrm->qlen); while (process_queue(itrm)) ; } static int get_esc_code(char *str, int len, char *code, int *num, int *el) { int pos; *num = 0; for (pos = 2; pos < len; pos++) { if (str[pos] < '0' || str[pos] > '9' || pos > 7) { *el = pos + 1; *code = str[pos]; return 0; } *num = *num * 10 + str[pos] - '0'; } return -1; } struct key { int x, y; }; static struct key os2xtd[256] = { /* 0 */ {0,0},{0,0},{' ',KBD_CTRL},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{KBD_BS,KBD_ALT},{0,0}, /* 16 */ {'Q',KBD_ALT},{'W',KBD_ALT},{'E',KBD_ALT},{'R',KBD_ALT},{'T',KBD_ALT},{'Y',KBD_ALT},{'U',KBD_ALT},{'I',KBD_ALT}, /* 24 */ {'O',KBD_ALT},{'P',KBD_ALT},{'[',KBD_ALT},{']',KBD_ALT},{KBD_ENTER,KBD_ALT},{0,0},{'A',KBD_ALT},{'S',KBD_ALT}, /* 32 */ {'D',KBD_ALT},{'F',KBD_ALT},{'G',KBD_ALT},{'H',KBD_ALT},{'J',KBD_ALT},{'K',KBD_ALT},{'L',KBD_ALT},{';',KBD_ALT}, /* 40 */ {'\'',KBD_ALT},{'`',KBD_ALT},{0,0},{'\\',KBD_ALT},{'Z',KBD_ALT},{'X',KBD_ALT},{'C',KBD_ALT},{'V',KBD_ALT}, /* 48 */ {'B',KBD_ALT},{'N',KBD_ALT},{'M',KBD_ALT},{',',KBD_ALT},{'.',KBD_ALT},{'/',KBD_ALT},{0,0},{'*',KBD_ALT}, /* 56 */ {0,0},{' ',KBD_ALT},{0,0},{KBD_F1,0},{KBD_F2,0},{KBD_F3,0},{KBD_F4,0},{KBD_F5,0}, /* 64 */ {KBD_F6,0},{KBD_F7,0},{KBD_F8,0},{KBD_F9,0},{KBD_F10,0},{0,0},{0,0},{KBD_HOME,0}, /* 72 */ {KBD_UP,0},{KBD_PGUP,0},{'-',KBD_ALT},{KBD_LEFT,0},{'5',0},{KBD_RIGHT,0},{'+',KBD_ALT},{KBD_END,0}, /* 80 */ {KBD_DOWN,0},{KBD_PGDN,0},{KBD_INS,0},{KBD_DEL,0},{0,0},{0,0},{0,0},{0,0}, /* 88 */ {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{KBD_F1,KBD_CTRL},{KBD_F2,KBD_CTRL}, /* 96 */ {KBD_F3,KBD_CTRL},{KBD_F4,KBD_CTRL},{KBD_F5,KBD_CTRL},{KBD_F6,KBD_CTRL},{KBD_F7,KBD_CTRL},{KBD_F8,KBD_CTRL},{KBD_F9,KBD_CTRL},{KBD_F10,KBD_CTRL}, /* 104 */ {KBD_F1,KBD_ALT},{KBD_F2,KBD_ALT},{KBD_F3,KBD_ALT},{KBD_F4,KBD_ALT},{KBD_F5,KBD_ALT},{KBD_F6,KBD_ALT},{KBD_F7,KBD_ALT},{KBD_F8,KBD_ALT}, /* 112 */ {KBD_F9,KBD_ALT},{KBD_F10,KBD_ALT},{0,0},{KBD_LEFT,KBD_CTRL},{KBD_RIGHT,KBD_CTRL},{KBD_END,KBD_CTRL},{KBD_PGDN,KBD_CTRL},{KBD_HOME,KBD_CTRL}, /* 120 */ {'1',KBD_ALT},{'2',KBD_ALT},{'3',KBD_ALT},{'4',KBD_ALT},{'5',KBD_ALT},{'6',KBD_ALT},{'7',KBD_ALT},{'8',KBD_ALT}, /* 128 */ {'9',KBD_ALT},{'0',KBD_ALT},{'-',KBD_ALT},{'=',KBD_ALT},{KBD_PGUP,KBD_CTRL},{KBD_F11,0},{KBD_F12,0},{0,0}, /* 136 */ {0,0},{KBD_F11,KBD_CTRL},{KBD_F12,KBD_CTRL},{KBD_F11,KBD_ALT},{KBD_F12,KBD_ALT},{KBD_UP,KBD_CTRL},{'-',KBD_CTRL},{'5',KBD_CTRL}, /* 144 */ {'+',KBD_CTRL},{KBD_DOWN,KBD_CTRL},{KBD_INS,KBD_CTRL},{KBD_DEL,KBD_CTRL},{KBD_TAB,KBD_CTRL},{0,0},{0,0},{KBD_HOME,KBD_ALT}, /* 152 */ {KBD_UP,KBD_ALT},{KBD_PGUP,KBD_ALT},{0,0},{KBD_LEFT,KBD_ALT},{0,0},{KBD_RIGHT,KBD_ALT},{0,0},{KBD_END,KBD_ALT}, /* 160 */ {KBD_DOWN,KBD_ALT},{KBD_PGDN,KBD_ALT},{KBD_INS,KBD_ALT},{KBD_DEL,KBD_ALT},{0,0},{KBD_TAB,KBD_ALT},{KBD_ENTER,KBD_ALT},{0,0}, /* 168 */ {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 176 */ {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 192 */ {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 208 */ {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 224 */ {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 240 */ {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 256 */ }; static int xterm_button = -1; static int xterm_mouse_x = -1; static int xterm_mouse_y = -1; int process_queue(struct itrm *itrm) { struct event ev = {EV_KBD, -1, 0, 0}; int el = 0; if (!itrm->qlen) goto end; if (itrm->kqueue[0] == '\033') { if (itrm->qlen < 2) goto ret; if (itrm->kqueue[1] == '[' || itrm->kqueue[1] == 'O') { char c; int v; if (get_esc_code(itrm->kqueue, itrm->qlen, &c, &v, &el)) { if (itrm->qlen < 4 || itrm->kqueue[2] != '[') goto ret; if (itrm->kqueue[2] != '[') goto ret; if (itrm->kqueue[3] < 'A' || itrm->kqueue[3] > 'L') goto ret; ev.x = KBD_F1 + itrm->kqueue[3] - 'A'; el = 4; } else switch (c) { case 'A': ev.x = KBD_UP; break; case 'B': ev.x = KBD_DOWN; break; case 'C': ev.x = KBD_RIGHT; break; case 'D': ev.x = KBD_LEFT; break; case 'F': case 'e': ev.x = KBD_END; break; case 'H': case 0: ev.x = KBD_HOME; break; case 'I': ev.x = KBD_PGUP; break; case 'G': ev.x = KBD_PGDN; break; /* BSD cons25 */ /* case 'M': ev.x = KBD_F1; break;*/ case 'N': ev.x = KBD_F2; break; case 'O': ev.x = KBD_F3; break; /* case 'P': ev.x = KBD_F4; break;*/ /* case 'Q': ev.x = KBD_F5; break;*/ /* case 'R': ev.x = KBD_F6; break;*/ /* case 'S': ev.x = KBD_F7; break;*/ case 'T': ev.x = KBD_F8; break; case 'U': ev.x = KBD_F9; break; case 'V': ev.x = KBD_F10; break; case 'W': ev.x = KBD_F11; break; case 'X': ev.x = KBD_F12; break; case 'z': switch (v) { case 247: ev.x = KBD_INS; break; case 214: ev.x = KBD_HOME; break; case 220: ev.x = KBD_END; break; case 216: ev.x = KBD_PGUP; break; case 222: ev.x = KBD_PGDN; break; case 249: ev.x = KBD_DEL; break; } break; case '~': switch (v) { case 1: ev.x = KBD_HOME; break; case 2: ev.x = KBD_INS; break; case 3: ev.x = KBD_DEL; break; case 4: ev.x = KBD_END; break; case 5: ev.x = KBD_PGUP; break; case 6: ev.x = KBD_PGDN; break; case 7: ev.x = KBD_HOME; break; case 8: ev.x = KBD_END; break; case 11: ev.x = KBD_F1; break; case 12: ev.x = KBD_F2; break; case 13: ev.x = KBD_F3; break; case 14: ev.x = KBD_F4; break; case 15: ev.x = KBD_F5; break; case 17: ev.x = KBD_F6; break; case 18: ev.x = KBD_F7; break; case 19: ev.x = KBD_F8; break; case 20: ev.x = KBD_F9; break; case 21: ev.x = KBD_F10; break; case 23: ev.x = KBD_F11; break; case 24: ev.x = KBD_F12; break; } break; /* case 'R': resize_terminal (); break ;*/ case 'M': if (itrm->qlen - el < 3) goto ret; if (v == 5) { if (xterm_button == -1) xterm_button = 0; /* */ if (itrm->qlen - el < 5) goto ret; ev.x = (char)(itrm->kqueue[el+1]) - ' ' - 1 + ((int)((char)(itrm->kqueue[el+2]) - ' ' - 1) << 7); if ( ev.x & (1 << 13)) ev.x = 0; /* ev.x |= ~0 << 14; */ ev.y = (char)(itrm->kqueue[el+3]) - ' ' - 1 + ((int)((char)(itrm->kqueue[el+4]) - ' ' - 1) << 7); if ( ev.y & (1 << 13)) ev.y = 0; /* ev.y |= ~0 << 14; */ //dbg("process_queue: %d\n", itrm->kqueue[el]); switch ((itrm->kqueue[el] - ' ') ^ xterm_button) { /* Every event changhes only one bit */ case TW_BUTT_LEFT: ev.b = B_LEFT | ( (xterm_button & TW_BUTT_LEFT) ? B_UP : B_DOWN ); break; case TW_BUTT_MIDDLE: ev.b = B_MIDDLE | ( (xterm_button & TW_BUTT_MIDDLE) ? B_UP : B_DOWN ); break; case TW_BUTT_RIGHT: ev.b = B_RIGHT | ( (xterm_button & TW_BUTT_RIGHT) ? B_UP : B_DOWN ); break; case 0: ev.b = B_DRAG; /* default : Twin protocol error */ } xterm_button = itrm->kqueue[el] - ' '; el += 5; } else { //dbg("process_queue: %d\n", (unsigned char)itrm->kqueue[el+1]); dbg("process_queue: %02x %02x %02x\n", (unsigned char)itrm->kqueue[el], (unsigned char)itrm->kqueue[el+1], (unsigned char)itrm->kqueue[el+3]); ev.x = (unsigned char)(itrm->kqueue[el+1]) - ' ' - 1; ev.y = (unsigned char)(itrm->kqueue[el+2]) - ' ' - 1; /* ev.b = B_DOWN; if (itrm->kqueue[el] & 4) ev.b = B_DRAG; ev.b |= (itrm->kqueue[el] & BM_BUTT) | B_DOWN; if (itrm->kqueue[el] & 64) ev.b |= 4; if (ev.b == 3) { ev.b = B_UP; if (xterm_button != -1) ev.b |= xterm_button; } xterm_button = -1; if ((ev.b & BM_ACT) == B_DOWN) xterm_button = ev.b & BM_BUTT;*/ ev.b = 0; switch(itrm->kqueue[el]){ case 0x20: ev.b = B_LEFT | B_DOWN; xterm_button = B_LEFT; break; case 0x21: ev.b = B_MIDDLE | B_DOWN; xterm_button = B_MIDDLE; break; case 0x22: ev.b = B_RIGHT | B_DOWN; xterm_button = B_RIGHT; break; case 0x23: ev.b = B_UP; if (xterm_button != -1) ev.b |= xterm_button; if (ev.x == xterm_mouse_x && ev.y == xterm_mouse_y) ev.b |= B_CLICK; xterm_button = -1; break; case 0x60: ev.b = B_WHUP | B_DOWN; xterm_button = B_WHUP; break; case 0x61: ev.b = B_WHDOWN | B_DOWN; xterm_button = B_WHDOWN; break; } xterm_mouse_x = ev.x; xterm_mouse_y = ev.y; el += 3; } ev.ev = EV_MOUSE; break; case 'P': ev.x = KBD_F1; break; case 'Q': ev.x = KBD_F2; break; case 'R': ev.x = KBD_F3; break; case 'S': ev.x = KBD_F4; break; case '[': if (itrm->qlen>=4){ el=4; switch(itrm->kqueue[3]){ case 'A': ev.x = KBD_F1; goto upbrk; case 'B': ev.x = KBD_F2; goto upbrk; case 'C': ev.x = KBD_F3; goto upbrk; case 'D': ev.x = KBD_F4; goto upbrk; case 'E': ev.x = KBD_F5; goto upbrk; } } upbrk: break; } } else { el = 2; if (itrm->kqueue[1] >= ' ') { ev.x = itrm->kqueue[1]; ev.y = KBD_ALT; goto l2; } if (itrm->kqueue[1] == '\033') { if (itrm->qlen >= 3 && (itrm->kqueue[2] == '[' || itrm->kqueue[2] == 'O')) el = 1; ev.x = KBD_ESC; goto l2; } } goto l1; } else if (itrm->kqueue[0] == 0) { if (itrm->qlen < 2) goto ret; if (!(ev.x = os2xtd[(unsigned int)itrm->kqueue[1]].x)) ev.x = -1; ev.y = os2xtd[(unsigned int)itrm->kqueue[1]].y; el = 2; /*printf("%02x - %02x %02x\n", (int)itrm->kqueue[1], ev.x, ev.y);*/ goto l1; } el = 1; ev.x = itrm->kqueue[0]; l2: /*if (ev.x == 1) ev.x = KBD_HOME; if (ev.x == 2) ev.x = KBD_PGUP; if (ev.x == 4) ev.x = KBD_DEL; if (ev.x == 5) ev.x = KBD_END; if (ev.x == 6) ev.x = KBD_PGDN;*/ if (ev.x == 8) ev.x = KBD_BS; if (ev.x == 9) ev.x = KBD_TAB; if (ev.x == 10) ev.x = KBD_ENTER, ev.y = KBD_CTRL; if (ev.x == 13) ev.x = KBD_ENTER; if (ev.x == 127) ev.x = KBD_BS; if (ev.x < ' ') { ev.x += 'A' - 1; ev.y = KBD_CTRL; } l1: if (itrm->qlen < el) { zinternal("event queue underflow"); itrm->qlen = el; } if (ev.x != -1) { queue_event(itrm, (char *)&ev, sizeof(struct event)); memmove(itrm->kqueue, itrm->kqueue + el, itrm->qlen -= el); } else { /*printf("%d %d\n", itrm->qlen, el);fflush(stdout);*/ memmove(itrm->kqueue, itrm->kqueue + el, itrm->qlen -= el); } end: if (itrm->qlen < IN_BUF_SIZE) zselect_set(zsel, itrm->std_in, in_kbd, NULL, free_trm, itrm); return el; ret: itrm->tm = zselect_timer_new(zsel, ESC_TIMEOUT, (void (*)(void *))kbd_timeout, itrm); return 0; } void in_kbd(void *arg) { #ifdef Z_MSC_MINGW zinternal("in_kbd unimplemented"); #else int r; struct itrm *itrm; itrm=(struct itrm *)arg; if (itrm->tm != -1) zselect_timer_kill(zsel, itrm->tm), itrm->tm = -1; if (itrm->qlen >= IN_BUF_SIZE) { zselect_set(zsel, itrm->std_in, NULL, NULL, free_trm, itrm); while (process_queue(itrm)); return; } if ((r = read(itrm->std_in, itrm->kqueue + itrm->qlen, IN_BUF_SIZE - itrm->qlen)) <= 0) { free_trm(itrm); return; } if ((itrm->qlen += r) > IN_BUF_SIZE) { error("ERROR: too many bytes read"); itrm->qlen = IN_BUF_SIZE; } while (process_queue(itrm)); #endif } tucnak-4.32/src/header.h0000644000175000017500000002660014066537511012054 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2016 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __HEADER_H #define __HEADER_H #define VOIPx #ifdef _MSC_VER #include "msvc.h" #endif #ifdef __MINGW32__ #include "mingw.h" #endif #ifdef ANDROID #include "android.h" #endif #ifdef HAVE_CONFIG_H #include "../config.h" #endif // must be before SDL, android port undefs HAVE_ICONV_H #ifdef HAVE_ICONV_H #include #endif #include #include #include #include //#if defined(Z_HAVE_SDL) && defined(HAVE_LIBFFTW3) #if defined(HAVE_LIBFFTW3) #define USE_FFT #define USE_SDR #endif #ifndef __USE_POSIX #define __USE_POSIX #endif #ifndef __USE_POSIX2 #define __USE_POSIX2 #endif #ifndef __USE_MISC #define __USE_MISC #endif #ifndef __USE_BSD #define __USE_BSD #endif #ifdef HAVE_MATH_H #define _USE_MATH_DEFINES // for MSVC #include #endif #ifdef HAVE_SYS_IOCTL_H #include #endif #include #include #include #ifdef HAVE_UNISTD_H #include #endif #include #include #include #ifdef HAVE_LIMITS_H #include #endif //#include not in msvc10 #include #include #include "os_dep.h" #ifdef TIME_WITH_SYS_TIME #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_TIME_H #include #endif #else #if defined(TM_IN_SYS_TIME) && defined(HAVE_SYS_TIME_H) #include #elif defined(HAVE_TIME_H) #include #endif #endif #include #ifdef HAVE_FCNTL_H #include #endif #ifdef HAVE_DIRENT_H #include #endif #include #ifdef HAVE_SYS_WAIT_H #include #endif #ifdef HAVE_SYS_SELECT_H #include #endif #ifdef HAVE_NETINET_IN_SYSTM_H #include #else #ifdef HAVE_NETINET_IN_SYSTEM_H #include #endif #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_WINSOCK2_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_NETINET_IP_H #include #endif #ifdef HAVE_UTIME_H #include #endif #ifdef HAVE_PWD_H #include #endif #ifdef HAVE_GRP_H #include #endif #ifdef HAVE_REGEX_H #include #endif #ifdef HAVE_PTY_H #include #endif #ifdef __CYGWIN__ #include #endif #ifdef HAVE_DLFCN_H #include #endif #if defined(Z_HAVE_SDL) && !defined(Z_HAVE_SDL1) && !defined(Z_HAVE_SDL2) #error Undefined SDL version #endif #ifdef HAVE_SYS_SOUNDCARD_H #include #define HAVE_OSS #endif #ifdef HAVE_STDINT_H #include #endif #ifdef HAVE_INTTYPES_H #include #endif #ifdef HAVE_SNDFILE #include #endif #ifdef HAVE_LINUX_PPDEV_H # include # include #endif #ifdef HAVE_ALSA #define ALSA_PCM_NEW_HW_PARAMS_API #define ALSA_PCM_NEW_SW_PARAMS_API #include #endif #ifdef HAVE_HAMLIB #define DLL_EXPORT // for windows import of hamlib_version[] #include #include #ifndef HAMLIB_FILPATHLEN #define HAMLIB_FILPATHLEN FILPATHLEN #endif #endif #ifdef HAVE_LIBFFTW3 #include #endif #ifdef HAVE_SWRADIO #endif #ifdef __GLIBC__ #include #endif #ifndef HAVE_UINT32_T #if SIZEOF_CHAR == 4 typedef unsigned char uint32_t; #elif SIZEOF_SHORT == 4 typedef unsigned short uint32_t; #elif SIZEOF_INT == 4 typedef unsigned int uint32_t; #elif SIZEOF_LONG == 4 typedef unsigned long uint32_t; #elif defined(HAVE_LONG_LONG) && SIZEOF_LONG_LONG == 4 typedef unsigned long long uint32_t; #else #error You have no 32-bit integer type. Get in touch with reality. #endif #endif #ifdef HAVE_LONG_LONG #define longlong long long #else #define longlong long #endif /* integer type same size as void * */ /*#undef vint #if SIZEOF_SHORT == SIZEOF_VOID_P typedef short vint; #elif SIZEOF_INT == SIZEOF_VOID_P typedef int vint; #elif SIZEOF_LONG == SIZEOF_VOID_P typedef long vint; #elif defined(HAVE_LONG_LONG) && SIZEOF_LONG_LONG == SIZEOF_VOID_P typedef long long vint; #else #error You have no integer type of size void * #endif*/ #ifdef HAVE_TERMIOS_H #include #endif #ifdef Z_HAVE_LIBFTDI #include #endif /* zlib.h */ #include #include #include #include #include #define VERSION_STRING VERSION #define DEBUG #define MAX_HISTORY_ITEMS 256 #define MENU_HOTKEY_SPACE 2 #define MODE_MASK 0x07 #define DOUBLEHT_MASK 0x10 #define DOUBLEHB_MASK 0x20 #define COL(x) ((x)*0x100) #define COLOR_MENU1 COL(070) #define COLOR_MENU_FRAME COL(070) #define COLOR_MENU_SELECTED COL(007) #define COLOR_MENU_HOTKEY COL(007) #define COLOR_MAINMENU COL(070) #define COLOR_MAINMENU_SELECTED COL(007) #define COLOR_MAINMENU_HOTKEY COL(070) #define COLOR_DIALOG COL(070) #define COLOR_DIALOG_FRAME COL(070) #define COLOR_DIALOG_TITLE COL(007) #define COLOR_DIALOG_TEXT COL(070) #define COLOR_DIALOG_CHECKBOX COL(070) #define COLOR_DIALOG_CHECKBOX_TEXT COL(070) #define COLOR_DIALOG_BUTTON COL(070) #define COLOR_DIALOG_BUTTON_SELECTED COL(0107) #define COLOR_DIALOG_FIELD COL(007) #define COLOR_DIALOG_FIELD_TEXT COL(007) #define SCROLL_ITEMS 2 #define DIALOG_LEFT_BORDER 3 #define DIALOG_TOP_BORDER 1 #define DIALOG_LEFT_INNER_BORDER 2 #define DIALOG_TOP_INNER_BORDER 0 #define DIALOG_FRAME 2 #define DIALOG_LB (DIALOG_LEFT_BORDER + DIALOG_LEFT_INNER_BORDER + 1) #define DIALOG_TB (DIALOG_TOP_BORDER + DIALOG_TOP_INNER_BORDER + 1) #define COL_BG COL(0x07) #define COL_NORM COL(0x07) #define COL_INV COL(0x38) #define COL_DARKRED COL(0x01) #define COL_DARKGREEN COL(0x02) #define COL_DARKYELLOW COL(0x03) #define COL_DARKBLUE COL(0x04) #define COL_DARKMAGENTA COL(0x05) #define COL_DARKCYAN COL(0x06) #define COL_GREY COL(0x07) #define COL_DARKGREY COL(0x40) #define COL_RED COL(0x41) #define COL_GREEN COL(0x42) #define COL_YELLOW COL(0x43) #define COL_BLUE COL(0x44) #define COL_MAGENTA COL(0x45) #define COL_CYAN COL(0x46) #define COL_WHITE COL(0x47) #define ESC_TIMEOUT 200 #define RESOURCE_INFO_REFRESH 300 #define NET_PORT 55555 #define MAX_INTERFACES 16 /* msec */ #define UDP_ANNOUNCE 10000 #define CONNECTION_TIMEOUT 30000 #define SEND_ACK_TIMEOUT 10000 #define ACK_TIMEOUT 20000 #define REMOVE_TIMEOUT 10000 #define LONG_TIMEOUT 20000000 #define DELAY_AFTER_REPLICATION 1000 #define DELAY_AFTER_UPDATE_ROTAR 500 /* sec */ #define NET_GLOBAL_EXPIRE 60 #define NET_MAX_SKEW_POS 120 #define NET_MAX_SKEW_NEG 60 #define IL_HIST_LEN 30 #define MAX_CQ 6 #define QSONR_WIDTH 20 #define QSONR_HEIGHT 7 #define BAND_WIDTH 16 #define ORIG_Y 1 #ifdef __CYGWIN__ /* cfmakeraw is missing in cygwin. If fails in future versions of cywin, remove it */ void cfmakeraw (struct termios *); #endif /* for BSD */ #ifndef SOUND_MIXER_LINE #define SOUND_MIXER_LINE 6 #endif #ifndef SOUND_MIXER_MIC #define SOUND_MIXER_MIC 7 #endif /* error.c */ #include void check_memory_leaks(void); void error(char *, ...); void init_debug(void); void free_debug(void); void sock_debug(int sock, char *m, ...); void dbg_str_hash(GHashTable *hash); extern int errline; extern char *errfile; #ifdef LEAK_DEBUG extern long mem_amount; extern long last_mem_amount; #ifndef LEAK_DEBUG_LIST struct alloc_header { int size; }; #else #define MCHK_LEAD 8 #define MCHK_TRAIL 8 #define MCHK_PATTERN ((char)0xee) struct alloc_header { struct alloc_header *next; struct alloc_header *prev; int size; int line; char *file; char *comment; }; #endif #define L_D_S ((sizeof(struct alloc_header) + MCHK_LEAD + 7) & ~7) #endif #ifdef LEAK_DEBUG void set_mem_comment(void *, char *, int); void *debug_g_new0(char *, int, size_t); void *debug_g_new(char *, int, size_t); gchar *debug_g_strdup(char *, int, const gchar *); gchar *debug_g_strndup(char *, int, gchar *, gint); gchar *debug_g_strdup_printf(char *, int, gchar *, ...); gchar *debug_g_strdup_vprintf(char *, int, gchar *, va_list args); gchar *debug_g_strconcat(char *, int, ...); //#define mem_alloc(x) debug_mem_alloc(__FILE__, __LINE__, x) //#define mem_free(x) debug_mem_free(__FILE__, __LINE__, x) //#define mem_realloc(x, y) debug_mem_realloc(__FILE__, __LINE__, x, y) //#undef g_new0 //#define g_new0(x, y) debug_g_new0(__FILE__, __LINE__, sizeof(x)* y) //#undef g_new //#define g_new(x, y) debug_g_new0(__FILE__, __LINE__, sizeof(x)* y) //#define g_free(x) debug_mem_free(__FILE__, __LINE__, x) //#define g_realloc(x, y) debug_mem_realloc(__FILE__, __LINE__, x, y) //#undef g_renew //#define g_renew(t, m, n) debug_mem_realloc(__FILE__, __LINE__, m, sizeof(t) * n) #define g_strdup(x) debug_g_strdup(__FILE__, __LINE__, x) #define g_strndup(x,y) debug_g_strndup(__FILE__, __LINE__, x, y) #define g_strdup_printf(x...) debug_g_strdup_printf(__FILE__, __LINE__, x) #define g_strdup_vprintf(x, y) debug_g_strdup_vprintf(__FILE__, __LINE__, x, y) #define g_strconcat(x...) debug_g_strconcat(__FILE__, __LINE__, x) #else static inline void set_mem_comment(void *p, char *c, int l) {} #endif static inline char *fixsemi(char *str){ char *c; if (!str) return str; c=str; while (*c!='\0'){ if (*c==';') *c=':'; c++; } return str; } static inline char *chomp(char *s){ int l; l = strlen(s); if (l > 0 && s[l - 1] == '\n') { s[l - 1] = '\0'; l--; } if (l > 0 && s[l - 1] == '\r') s[l - 1] = '\0'; return s; } /* Copies at most dst_size chars into dst. Ensures null termination of dst. */ static inline char *safe_strncpy(char *dst, const char *src, size_t dst_size) { g_strlcpy(dst, src, dst_size); return dst; } static inline char *safe_strncpy0(char *dst, const char *src, size_t dst_size) { if (!src) { *dst='\0'; return dst; } g_strlcpy(dst, src, dst_size); return dst; } static inline int can_write(int fd) { fd_set fds; struct timeval tv = {0, 0}; FD_ZERO(&fds); FD_SET(fd, &fds); return select(fd + 1, NULL, &fds, NULL, &tv); } static inline int can_read(int fd) { fd_set fds; struct timeval tv = {0, 0}; FD_ZERO(&fds); FD_SET(fd, &fds); return select(fd + 1, &fds, NULL, NULL, &tv); } /* language.c */ #include "language.h" #define TRANSLATE(text) text /* default.c */ #define MAX_STR_LEN 1024 #define EQSO_LEN 15 #define DBL_LEN 30 #define TMP_QSOS 3 #define DISP_QSOS 2 #include "txts.h" /* settings.c */ extern char *txt_settings; /* cabrillo.c */ int export_all_bands_cbr(void); /* stf.c */ int export_all_bands_stf(void); /* list.c */ void import_list(void *xxx, char *filename); /* nevim */ #define q0(item) (item)?(item):"" struct takeoff{ int from, to; int value; }; #ifdef __clang__ #pragma clang diagnostic ignored "-Winvalid-source-encoding" #endif #endif /* __HEADER_H */ tucnak-4.32/src/sota_api.c0000644000175000017500000002312214016001471012374 00000000000000/* Tucnak - SOTA SSO and Network API Copyright (C) 2002-2020 Ladislav Vaiz ; 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "bfu.h" #include "qsodb.h" #include "fifo.h" #include "stdint.h" #include "stdio.h" #include "stdlib.h" #include "string.h" //#include // time() should come from ztime.h from libzia #include #include "main.h" //#include "sota.h" #include "sota_spot.h" #include "sota_api.h" //#define SOTA_SPOT_GET //#define SOTA_SPOT_POST /* curl \ -d "client_id=[client id from SOTA MT]" \ -d "client_secret=[client secret from SOTA MT]" \ -d "username=[user name]" \ -d "scope=openid" \ -d "password=[password]" \ -d "grant_type=password" \ "https://sso.sota.org.uk/auth/realms/SOTA/protocol/openid-connect/token" */ void sota_api_parse_token(struct zhttp *zh); static void sota_api_spot_sent(struct zhttp *http); struct sota_api_data* sota_api_init(void) { struct sota_api_data *sad = g_new0(struct sota_api_data,1); if (sad) { sad->http = zhttp_init(); sad->http_spot = zhttp_init(); } return sad; } void sota_api_free(struct sota_api_data *sad) { if (sad) { if (sad->http) /* free gs? */ zhttp_free(sad->http); if (sad->http_spot) /* free gs? */ zhttp_free(sad->http_spot); g_free(sad); } } int sota_api_get_token(struct sota_api_data *sad) { #ifdef SOTA_SPOT_GET GString *gs; gs = g_string_sized_new(250); //zg_string_eprintfa("", gs, "http://192.168.11.181/"); zg_string_eprintfa("", gs, "http://www.emuf.cz/sotalog/tokentest/"); //zg_string_eprintfa("", gs, "https://sso.sota.org.uk/auth/realms/SOTA/protocol/openid-connect/token"); zg_string_eprintfa("u", gs, "?client_id=tucnak"); zg_string_eprintfa("u", gs, "&client_secret=" SOTA_CLIENT_SECRET); zg_string_eprintfa("u", gs, "&scope=openid"); zg_string_eprintfa("u", gs, "&grant_type=password"); zg_string_eprintfa("u", gs, "&username=%s", cfg->sota_user); zg_string_eprintfa("u", gs, "&password=%s", cfg->sota_pass); zhttp_get(sad->http, zsel, gs->str, sota_api_parse_token, sad); g_string_free(gs, FALSE); // g_free shall be called by zhttp_get (is so?) #elif defined(SOTA_SPOT_POST) zhttp_post_free(sad->http); zhttp_post_add(sad->http, "client_id","tucnak"); zhttp_post_add(sad->http, "client_secret",SOTA_CLIENT_SECRET); zhttp_post_add(sad->http, "username",cfg->sota_pass); zhttp_post_add(sad->http, "scope","openid"); zhttp_post_add(sad->http, "password",cfg->sota_user); zhttp_post_add(sad->http, "grant_type","password"); zhttp_add_header(sad->http, g_strdup("Accept"), g_strdup("*/*")); //zhttp_post(sad->http, zsel, "http://192.168.11.181", zhttp_post(sad->http, zsel, "https://sso.sota.org.uk/auth/realms/SOTA/protocol/openid-connect/token", sota_api_parse_token, sad); #endif // todo g_string_free(gs, TRUE); return 0; } void sota_api_parse_token(struct zhttp *zh) { struct sota_api_data *sad = (struct sota_api_data*)zh->arg; if (zh->errorstr){ //g_free(slovhf->status);slovhf->status = g_strdup_printf(TRANSLATE("Can't upload score: %s"), http->errorstr); log_addf("Network error: %s", zh->errorstr); if (zh->status == 307) { log_addf("Redirected to: %s", zh->response->buf); } zhttp_free0(sad->http);// sad->http = NULL; g_free(sad); //TODO free sad //free_slovhfnet(slovhf); gses->slovhf = NULL; return; } /* * access_token * expires_in - refresh_expires_in - refresh_token * id_token - token_type - not-before-policy - session_state - scope */ sad->error = zjson_get_str(zh->datastr, -1, "error"); sad->error_description = zjson_get_str(zh->datastr, -1, "error_description"); if (sad->error != NULL) { log_addf("Server error: %s", sad->error_description); sad->state = SOTA_SSO_ERROR; zhttp_free0(sad->http);// sad->http = NULL; g_free(sad); return; } sad->access_token = zjson_get_str(zh->datastr, -1, "access_token"); sad->id_token = zjson_get_str(zh->datastr, -1, "id_token"); if (sad->access_token && sad->id_token) { sad->state = SOTA_SSO_VALID; sota_api_send_spot(sad); } else { log_addf("SOTA SSO token parse error"); sad->state = SOTA_SSO_ERROR; } //sad->ts_token_expire = ztime + zjson_get_int(zh->datastr,-1, "expires_in"); //char *zjson_get_str(const char *str, int len, const char *path); } int sota_api_send_spot(struct sota_api_data *sad) { if (!sad || sad->state != SOTA_SSO_VALID) { log_addf("SOTA SSO token parse error"); return 1; } if (!sad->http_spot || !sad->ssd) { log_addf("Incomplete data"); return 1; } GString *auth_name = g_string_new("Authentication"); GString *auth_value = g_string_new(NULL); GString *id_token_name = g_string_new("id_token"); GString *id_token_value = g_string_new(sad->id_token); GString *json_data = g_string_new("{"); g_string_append_printf(auth_value, "Bearer %s", sad->access_token); // Two headers to your POST, the first, an Authentication: Bearer [access_token] header, // where [access_token] is replaced with the contents of the access_token that was returned // from the authentication step.  // Secondly, a header called id_token is needed, that also contains the id_token from the JWT, // like id_token: [id_token contents] zhttp_add_header(sad->http_spot, auth_name->str, auth_value->str); zhttp_add_header(sad->http_spot, id_token_name->str, id_token_value->str); /* Used auth RFC6750 POST /api/spots { "associationCode": "W5O", "summitCode": "OU-013", "activatorCallsign": "GM4ZFZ", "frequency": "14.0625", "mode": "cw", "comments": "test-ignore" } */ //zjson_object_start(json_data, ""); zjson_item_int(json_data, "id", 0); zjson_item_string(json_data, "associationCode", sad->ssd->associationCode); zjson_item_string(json_data, "summitCode", sad->ssd->summitCode); zjson_item_string(json_data, "Callsign", sad->ssd->callsign); zjson_item_string(json_data, "activatorCallsign", sad->ssd->activatorCallsign); zjson_item_string(json_data, "frequency", sad->ssd->frequency); zjson_item_string(json_data, "mode", sad->ssd->mode); zjson_item_string(json_data, "comments", sad->ssd->comment); zjson_item_string(json_data, "highlightColor", "default"); zjson_object_end(json_data); zjson_strip(json_data); //zhttp_post_json(sad->http_spot, zsel, "http://192.168.11.181", zhttp_post_json(sad->http_spot, zsel, "https://api2.sota.org.uk/api/spots/", json_data->str, sota_api_spot_sent, sad); g_string_free(json_data, TRUE); g_string_free(auth_name, FALSE); g_string_free(auth_value, FALSE); g_string_free(id_token_name, FALSE); g_string_free(id_token_value, FALSE); return 0; } static void tokenize(GString *gs_inout) { GString *gs = g_string_new(gs_inout->str); char *gsp = gs->str; int i = 0; g_string_append(gs_inout, gsp); while (*gsp != '\0') { gs_inout->str[i++] = 'c'+((*gsp)>>4); gs_inout->str[i++] = 'f'+(*gsp & 0xf); gsp++; } g_string_free(gs, TRUE); } int sota_api_send_spot_insecure(struct sota_api_data *sad) { GString *gs_token = g_string_new(cfg->sota_pass); zhttp_post_add(sad->http_spot, "spot", "add"); zhttp_post_add(sad->http_spot, "associationCode", sad->ssd->associationCode); zhttp_post_add(sad->http_spot, "summitCode", sad->ssd->summitCode); //zhttp_post_add(sad->http_spot, "callsign", sad->ssd->callsign); zhttp_post_add(sad->http_spot, "activatorCallsign", sad->ssd->activatorCallsign); zhttp_post_add(sad->http_spot, "frequency", sad->ssd->frequency); zhttp_post_add(sad->http_spot, "mode", sad->ssd->mode); zhttp_post_add(sad->http_spot, "comments", sad->ssd->comment); zhttp_post_add(sad->http_spot, "user", cfg->sota_user); tokenize(gs_token); zhttp_post_add(sad->http_spot, "token", gs_token->str); zhttp_post(sad->http_spot, zsel, "http://www.emuf.cz/sotalog/spots/", sota_api_spot_sent, sad); g_string_free(gs_token, TRUE); return 0; } static void sota_api_spot_sent(struct zhttp *http_spot) { struct sota_api_data *sad = http_spot->arg; if (http_spot->errorstr) { log_addf("Network error: %s", http_spot->errorstr); zhttp_free0(http_spot);// sad->http = NULL; g_free(sad); return; } sad->error = zjson_get_str(http_spot->datastr, -1, "error"); sad->error_description = zjson_get_str(http_spot->datastr, -1, "error_description"); if (sad->error != NULL) { log_addf("SOTA %s: %s",sad->error, sad->error_description); sad->state = SOTA_SSO_ERROR; zhttp_free0(http_spot);// sad->http = NULL; g_free(sad); return; } sad->status = zjson_get_str(http_spot->datastr, -1, "status"); sad->ssd->id = zjson_get_int(http_spot->datastr, -1, "id"); sad->ssd->userID = zjson_get_int(http_spot->datastr, -1, "userId"); log_addf("SOTA %s (id=%i)", sad->status, sad->ssd->id); //log_addf("SOTA spot submitted (id=%i)", sad->ssd->id); sota_api_free(sad); } tucnak-4.32/src/pa.c0000644000175000017500000002110713700130565011204 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fifo.h" #include "language2.h" #include "oss.h" #ifdef HAVE_PORTAUDIO #include int pa_initialised = 0; //static const char *clabels[] = SOUND_DEVICE_LABELS; void pa_info(GString *gs){ int i, j, max, maxhainame, maxdiname; const PaHostApiInfo *hai; PaError err; PaSampleFormat formats[] = {paFloat32, paInt32, paInt24, paInt16, paInt8, paUInt8, paCustomFormat, 0}; char *formatsStr[] = {"F32", "I32", "I24", "I16", "I8", "U8", "CUST", NULL}; int terminate = 0; if (!pa_initialised){ Pa_Initialize(); pa_initialised = 1; terminate = 1; } g_string_append_printf(gs, "\n portaudio_info:\n"); g_string_append_printf(gs, "version: %s\n", Pa_GetVersionText()); hai = Pa_GetHostApiInfo(Pa_GetDefaultHostApi()); if (hai != NULL) g_string_append_printf(gs, "default hostapi: %s\n", hai->name); g_string_append_printf(gs, "default output: %d\n", Pa_GetDefaultOutputDevice()); g_string_append_printf(gs, "default input: %d\n", Pa_GetDefaultInputDevice()); max = Pa_GetDeviceCount(); maxhainame = 0; maxdiname = 0; for (i = 0; i < max; i++){ int l; const PaDeviceInfo *di = Pa_GetDeviceInfo(i); hai = Pa_GetHostApiInfo(di->hostApi); l = strlen(hai->name); if (l > maxhainame) maxhainame = l; l = strlen(di->name); if (l > maxdiname) maxdiname = l; } for (i = 0; i < max; i++){ const PaDeviceInfo *di = Pa_GetDeviceInfo(i); hai = Pa_GetHostApiInfo(di->hostApi); // if (di->hostApi != Pa_GetDefaultHostApi()) continue; g_string_append_printf(gs, "%2d: %-*s %-*s srate=%d ", i, maxhainame, hai->name, maxdiname, di->name, (int)di->defaultSampleRate); //g_string_append_printf(gs, "hostapi=%s\n", hai->name); if (di->maxOutputChannels > 0){ g_string_append_printf(gs, "output: channels=%-3d latency=%d-%dms ", di->maxOutputChannels, (int)(di->defaultLowOutputLatency * 1000), (int)(di->defaultHighOutputLatency * 1000)); g_string_append_printf(gs, " formats="); for (j = 0; ; j++){ PaStreamParameters par; if (formats[j] == 0) break; par.channelCount = di->maxOutputChannels; par.device = i; par.hostApiSpecificStreamInfo = NULL; par.suggestedLatency = 0.0; par.sampleFormat = formats[j]; err = Pa_IsFormatSupported(NULL, &par, di->defaultSampleRate); if (err == paFormatIsSupported) { g_string_append_printf(gs, "%s ", formatsStr[j]); }else{ log_addf("output=%d format=%s: %s", i, formatsStr[j], Pa_GetErrorText(err)); } } } if (di->maxInputChannels > 0){ g_string_append_printf(gs, "input: channels=%-3d latency=%d-%dms ", di->maxInputChannels , (int)(di->defaultLowInputLatency * 1000), (int)(di->defaultHighInputLatency * 1000)); g_string_append_printf(gs, " formats="); for (j = 0; ; j++){ PaStreamParameters par; if (formats[j] == 0) break; par.channelCount = di->maxInputChannels; par.device = i; par.hostApiSpecificStreamInfo = NULL; par.suggestedLatency = 0.0; par.sampleFormat = formats[j]; err = Pa_IsFormatSupported(&par, NULL, di->defaultSampleRate); if (err == paFormatIsSupported) { g_string_append_printf(gs, "%s ", formatsStr[j]); }else{ log_addf("input=%d format=%s: %s", i, formatsStr[j], Pa_GetErrorText(err)); } } } g_string_append_printf(gs, "\n"); } if (terminate){ Pa_Terminate(); } } static int pa_get_bufsize_frames(struct dsp *dsp){ double period_time = 0.0; double wanted = 0.050; int frames = 64; if (dsp->period_time > 0) wanted = dsp->period_time / 1000.0; while (period_time < wanted){ frames <<= 1; period_time = (double)frames / (double)dsp->speed; } return frames; } int pa_open2(struct dsp *dsp, int rec){ PaError err; const PaDeviceInfo *di; const PaStreamInfo *si; zg_free0(dsp->name); di = Pa_GetDeviceInfo(dsp->pa_params.device); if (di) dsp->name = g_strdup(di->name); else dsp->name = g_strdup_printf(VTEXT(T_UNKNOWN_PORTAUDIO_DEV), dsp->pa_params.device); dsp->frames = pa_get_bufsize_frames(dsp); dsp->samples = dsp->frames * dsp->channels; dsp->bytes = dsp->samples * sizeof(short); err = Pa_OpenStream( &dsp->pa, rec ? &dsp->pa_params : NULL, !rec ? &dsp->pa_params : NULL, (double)dsp->speed, dsp->frames, paNoFlag, NULL, NULL); if (err != paNoError){ log_addf(VTEXT(T_CANT_OPEN_PA_STREAM), dsp->pa_params.device, rec ? VTEXT(T_RECORD2) : VTEXT(T_PLAYBACK), Pa_GetErrorText(err)); dsp->pa = NULL; return -1; } err = Pa_StartStream(dsp->pa); if (err != paNoError){ log_addf(VTEXT(T_CANT_PA_STREAM), rec ? VTEXT(T_RECORD2) : VTEXT(T_PLAYBACK), dsp->pa_params.device, Pa_GetErrorText(err)); Pa_CloseStream(dsp->pa); dsp->pa = NULL; return -1; } si = Pa_GetStreamInfo(dsp->pa); if (si) dbg("PortAudio %s stream opened rate=%1.1f Hz, latency=%1.1f ms, bufsize=%df %ds %db\n", rec ? VTEXT(T_RECORD2): VTEXT(T_PLAYBACK), si->sampleRate, (rec ? si->inputLatency : si->outputLatency) * 1000, dsp->frames, dsp->samples, dsp->bytes); return 0; } int pa_close2(struct dsp *dsp){ PaError err; //dsp->reset(dsp); if (dsp->pa != NULL){ err = Pa_StopStream(dsp->pa); if (err != paNoError){ log_addf(VTEXT(T_CANT_STOP_PA), Pa_GetErrorText(err)); } err = Pa_CloseStream(dsp->pa); if (err != paNoError){ log_addf(VTEXT(T_CANT_CLOSE_PA), Pa_GetErrorText(err)); } } dsp->pa = NULL; return 0; } int pa_write2(struct dsp *dsp, void *data, int frames){ if (Pa_WriteStream(dsp->pa, data, frames) != paNoError){ return -1; } return frames; } int pa_read2(struct dsp *dsp, void *data, int frames){ if (Pa_ReadStream(dsp->pa, data, frames) != paNoError){ return -1; } return frames; } int pa_reset2(struct dsp *dsp){ // probably impossible for synchro portaudio return -1; } int pa_sync2(struct dsp *dsp){ // probably not needed for synchro portaudio return -1; } #ifdef HAVE_SNDFILE int pa_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec){ const PaDeviceInfo *pi; if (rec){ if (dsp->pa_rec < 0) dsp->pa_rec = Pa_GetDefaultInputDevice(); dsp->pa_params.device = dsp->pa_rec; pi = Pa_GetDeviceInfo(dsp->pa_params.device); if (pi) dsp->pa_params.suggestedLatency = pi->defaultHighInputLatency; }else{ if (dsp->pa_play < 0) dsp->pa_play = Pa_GetDefaultOutputDevice(); dsp->pa_params.device = dsp->pa_play; pi = Pa_GetDeviceInfo(dsp->pa_params.device); if (pi) dsp->pa_params.suggestedLatency = pi->defaultHighOutputLatency; } dsp->pa_params.suggestedLatency = 0.00; dsp->pa_params.channelCount = sfinfo->channels; dsp->pa_params.hostApiSpecificStreamInfo = NULL; dsp->channels = sfinfo->channels; if (dsp->channels > MAX_CHANNELS) dsp->channels = MAX_CHANNELS; switch (sfinfo->format & SF_FORMAT_SUBMASK){ case SF_FORMAT_PCM_U8: dsp->pa_params.sampleFormat = paUInt8; break; case SF_FORMAT_PCM_S8: dsp->pa_params.sampleFormat = paInt8; break; /*case SF_FORMAT_ULAW: dsp->oss_format=AFMT_MU_LAW; break; case SF_FORMAT_ALAW: dsp->oss_format=AFMT_A_LAW; break; case SF_FORMAT_IMA_ADPCM: dsp->oss_format=AFMT_IMA_ADPCM; break; */ default: dsp->pa_params.sampleFormat = paInt16; } dsp->speed = sfinfo->samplerate; // dbg("pa_set_format() speed=%d channels=%d\n", dsp->speed, dsp->channels); return 0; } int pa_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec){ const PaDeviceInfo *pi; if (rec){ if (dsp->pa_rec < 0) return -1; dsp->pa_params.device = dsp->pa_rec; }else{ if (dsp->pa_play < 0) return -1; dsp->pa_params.device = dsp->pa_play; } pi = Pa_GetDeviceInfo(dsp->pa_params.device); if (!pi) return -2; dsp->speed = speed; if (dsp->speed == 0) dsp->speed = (int)pi->defaultSampleRate; dsp->channels = 2; dsp->period_time = frames * 1000 / dsp->speed; dsp->pa_params.sampleFormat = paInt16; dsp->pa_params.suggestedLatency = 0.00; dsp->pa_params.channelCount = dsp->channels; dsp->pa_params.hostApiSpecificStreamInfo = NULL; return 0; } #endif #endif tucnak-4.32/src/misc.h0000644000175000017500000000114212362543253011546 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __MISC_H #define __MISC_H void test(void); void bat_info(GString *gs); #ifdef Z_HAVE_SDL extern struct zbat *gbat; void bat_draw(SDL_Surface *surface, int x, int y, int w, int h, int capacity); void bat_timer(void *); #endif void serial_info(GString *gs); //const char *iconv_current_encoding(void); #endif tucnak-4.32/src/txts.h0000644000175000017500000000234014125266632011620 00000000000000/* Automatically generated by txt2inc.pl */ extern const char txt_aircrafts[5296]; extern const char txt_cty[65527]; extern const char txt_cty1[17792]; extern const char txt_master[65525]; extern const char txt_master1[65523]; extern const char txt_master2[65528]; extern const char txt_master3[65530]; extern const char txt_master4[65520]; extern const char txt_master5[65523]; extern const char txt_master6[26674]; extern const char txt_titlpage[8182]; extern const char txt_tucnakcw[8829]; extern const char txt_tucnaknames[61343]; extern const char txt_tucnakrc[20886]; extern const char txt_tucnakdw[36295]; extern const char txt_tucnakwiz[15796]; extern const char txt_tucnakvexcari[377]; extern const char txt_tucnakvexckac[247]; extern const char txt_tucnakvexcdok[4711]; extern const char txt_tucnakvexcagcw[10]; extern const char txt_tucnakvexcokres[725]; extern const char txt_tucnakvexcrsgbdc[429]; extern const char txt_tucnakvexcuba[617]; extern const char txt_tucnakvexcusaca[496]; extern const char txt_tucnakvexcwna[247]; extern const char txt_tucnakvexcwsa[238]; extern const char txt_tucnakvexcrcont[201]; extern const char txt_tucnakvexclcont[161]; extern const char txt_update_deb[804]; extern const char txt_update_eee[414]; tucnak-4.32/src/net.c0000644000175000017500000031772414125263154011412 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "control.h" #include "cwdb.h" #include "dxc.h" #include "edi.h" #include "fifo.h" #include "main.h" #include "map.h" #include "menu.h" #include "namedb.h" #include "net.h" #include "rc.h" #include "rotar.h" #include "session.h" #include "sked.h" #include "ssbd.h" #include "stats.h" #include "subwin.h" #include "tsdl.h" #define CLEAN_TRACE /* "relation" layer: KA seq keepalive AK seq ack AC tdate;pcall;tname;qrvbands active contest CL close contest LA source;stamp QS band;date_str;time_str;callsign_or_error; mode;rsts;qsonrs;rstr;\ qsonrr;exc;locator;source; operator;stamp;callsign;; \ ser_id;remark;qrg;phase TA talk TB talk after connect SK now_time;operator;src_shortpband;qrg; we_call;pband;time_str;callsign; locator;remark ID 192.168.1.1:55555 SR start of replication block ER end of replication block GR band;ccmd;slaveid grab band DO discovery peers with operator PO peer0ip:peer0port;oper0;peer1ip:peer1port;oper1;... peers list with operator(master->slave) DR discovery read-write bands PR peer0ip:peer0port;oper0;bands0;peer1ip:peer1port;oper1;bands1;... read-write bands (master->slave) DC discovery peers with opened contest PC peer0ip:peer0port;date0;pcall0;tname0;peer1ip:peer1port;... peers list with contest properties(master->slave) RW bandchars send read-write bands PT band;srcip:srcport;tx ptt state WI band;srcip:srcport;text current inputline WT band;srcip:srcport;item_no;text current tmpqso item RT band;destip:dstport request all tmpqso informations (PT, WI, WT) DI OBSOLETE discovery peers PE peer0ip:peer0port;peer1ip:peer1port;... OBSOLETE peers list (master->slave) CR destip:destport;srcip:srcport configuration request CF destip:destport;srcip:srcport;config_line one configuration line WR destip:destport;srcip:srcport C_W request CW destip:destport;srcip:srcport;call;locator;date one C_W line DX DX de HL2IFR: 24900.2 BA4ED AS-136 0807Z OP operator BA pband;psect;stxeq;spowe;sreq;sante;santh;mope1;mope2;remarks RS ip:port;rotstr;qtf?;ele? RU ip:port;rotstr;qtf;ele RC destip:destport;srcip:srcport request of contest options SC destip:destport;contest_opts;band_number;band0_opts;band1_opts;... current contest options AR salt authentication request AU user;md5(user;pass) authenticate slave to remote instance BC message bad credentials D3 discovery peers v3 (flooding to all others) P3 peerip:peerport;operator;rwbands;cdate;pcall;tname peer info v3 (send by peer about itself) R3 destip:destport;srcip:srcport;load_opts request for contest options v3 (flood) C3 destip:destport;contest_opts;band_number;band0_opts;band1_opts;... contest options v3 (flood) SD destip:destport start of long data transfer QR destip:destport;item0;item1;...itemN QRV database CV destip:destport;item0;item1;...itemN C_W database NA destip:destport;item0;item1;...itemN name database ET destip:destport end of long data transfer EB destip:destport end of long data transfer back VS destip:destport;voipip:voipport voip spy EV destip:destport;voipip:voipport end of voip spy VA destip:destport;voipip:voipport voip addr spied->spying */ struct net *gnet; char *ns_desc[]={"INIT", "SABM", "CONN", "WAIT", "DIST", "DEAD", "LONG"}; struct net *init_net(void){ struct net *net; progress(VTEXT(T_INIT_NET)); /* dbg("init_net()\n");*/ gnet = net = g_new0(struct net, 1); net->master_priority = cfg->net_masterpriority; init_net_tcp(net); init_net_udp(net); /* require gnet->my.sin_port */ net_connect_remote(net); return net; } void free_net(struct net *net){ progress(VTEXT(T_FREE_NET)); free_net_ifaces(net); free_net_tcp(net); free_net_udp(net); if (gnet->peers3) g_string_free(gnet->peers3, TRUE); g_free(net); } #define NET_DELIM " \t," int init_net_udp(struct net *net){ struct sockaddr_in sin; socklen_t socklen; init_net_ifaces(net, 1); /* dbg("init_net_udp()\n");*/ gnet->udptimer_id = -1; gnet->udpsock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); if (gnet->udpsock < 0) goto err; /* dbg(" udpsock=%d\n", gnet->udpsock);*/ if (z_sock_reuse(gnet->udpsock, 1)){ trace(cfg->trace_bcast, "Can't set SO_REUSEADDR\n"); goto err; } if (z_sock_broadcast(gnet->udpsock, 1)){ trace(cfg->trace_bcast, "Can't set SO_BROADCAST\n"); goto err; } if (z_sock_nonblock(gnet->udpsock, 1)){ trace(cfg->trace_bcast, "Can't set O_NONBLOCK\n"); goto err; } memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = htons(NET_PORT); sin.sin_addr.s_addr = INADDR_ANY; if (bind(gnet->udpsock, (struct sockaddr *)&sin, sizeof(sin))){ trace(cfg->trace_bcast, "Can't bind UDP port %d\n", NET_PORT); goto err; } memset(&sin, 0, sizeof(sin)); socklen = sizeof(sin); getsockname(gnet->udpsock, (struct sockaddr *) &sin, &socklen); gnet->udptimer_period = UDP_ANNOUNCE; gnet->udptimer_id = zselect_timer_new(zsel, 1, udp_timer, net); zselect_set(zsel, gnet->udpsock, udp_read_handler, NULL, udp_exception_handler, NULL); /* dbg("I'M %s:%d\n", inet_ntoa(gnet->my.sin_addr), * ntohs(gnet->my.sin_port));*/ // trace(cfg->trace_bcast, "My ID: %s\n", gnet->myid); return 0; err:; closesocket(gnet->udpsock); gnet->udpsock = -1; /* zselect_timer_kill not needed */ return 1; } int init_net_tcp(struct net *net){ int port; struct sockaddr_in sin; /*dbg("init_net_tcp()\n");*/ gnet->peers = g_ptr_array_new(); gnet->tcpsock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); /*dbg(" tcpsock=%d\n", gnet->tcpsock);*/ /*#ifndef WIN32 //__CYGWIN__ { int on; on=1; if (setsockopt(gnet->tcpsock, SOL_SOCKET, SO_REUSEADDR, SO4 &on, sizeof(on))){ trace(cfg->trace_sock, "Can't set SO_REUSEADDR\n"); goto x; } } #endif */ #ifdef Z_UNIX // winsock with SO_REUSEADDR allow more programs to bind one port if (z_sock_reuse(gnet->tcpsock, 1)){ trace(cfg->trace_sock, "Can't set SO_REUSEADRR\n"); goto x; } #endif if (z_sock_nonblock(gnet->tcpsock, 1)){ trace(cfg->trace_sock, "Can't set O_NONBLOCK\n"); goto x; } for (port=NET_PORT; port<65536; port++){ gnet->my.sin_port = htons(port); gnet->global.sin_port = htons(port); gnet->global_priority = cfg->net_masterpriority; memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = gnet->my.sin_port; sin.sin_addr.s_addr = INADDR_ANY; if (bind(gnet->tcpsock, (struct sockaddr *)&sin, sizeof(sin))==0) break; /* dbg("Can't bind tcp port %d\n", NET_PORT);*/ if (port==65535) goto x; continue; } if (listen(gnet->tcpsock, 10)){ trace(cfg->trace_sock, "Can't listen on socket %d, tcp port %d \n", gnet->tcpsock, gnet->my.sin_port); goto x; } sock_debug(gnet->tcpsock, "listen init_net_tcp"); zselect_set(zsel, gnet->tcpsock, tcp_accept_handler, NULL, tcp_exception_handler, NULL); return 0; x:; sock_debug(gnet->tcpsock, "close gnet->tcpsock"); closesocket(gnet->tcpsock); gnet->my.sin_port=0; gnet->global.sin_port=0; gnet->tcpsock=-1; return -1; } enum assign_types {AT_UNASSIGNED, AT_LOOPBACK, AT_ASSIGNED}; int init_net_ifaces(struct net *net, int free_global){ struct ziface_struct ifaces[MAX_INTERFACES]; int i,mi,j,ii; GPtrArray *if_ignore, *ip_ignore, *ip_announce; char *token_ptr; gchar *c; GString *gs; enum assign_types assign_type; char *tmp1; if_ignore = g_ptr_array_new(); ip_ignore = g_ptr_array_new(); ip_announce = g_ptr_array_new(); if (cfg->net_if_ignore){ gchar *net_if_ignore; net_if_ignore = g_strdup(cfg->net_if_ignore); for (c=strtok_r(net_if_ignore, NET_DELIM, &token_ptr); c!=NULL; c=strtok_r(NULL, NET_DELIM, &token_ptr)){ trace(cfg->trace_bcast, "adding iface '%s' for ignoring", c); c=g_strdup(c); /* dbg("dup=%p\n", c);*/ g_ptr_array_add(if_ignore, c); } g_free(net_if_ignore); } if (cfg->net_ip_ignore){ gchar *net_ip_ignore; net_ip_ignore = g_strdup(cfg->net_ip_ignore); for (c=strtok_r(cfg->net_ip_ignore, NET_DELIM, &token_ptr); c!=NULL; c=strtok_r(NULL, NET_DELIM, &token_ptr)){ trace(cfg->trace_bcast, "adding addr '%s' for ignoring\n", c); g_ptr_array_add(ip_ignore, g_strdup(c)); } g_free(net_ip_ignore); } /* when tucnak crashes here, remove --enable-leak-debug from configure */ // dbg("gnet->my %s:%d\n", inet_ntoa(gnet->my.sin_addr), ntohs(gnet->my.sin_port)); tmp1 = inet_ntoa(gnet->my.sin_addr); gnet->myid = g_strdup_printf("%s:%d",tmp1, (int)ntohs(gnet->my.sin_port)); assign_type = AT_UNASSIGNED; trace(cfg->trace_bcast, "preassigned gnet->myid=%s", gnet->myid); mi = zifaces_get(ifaces, MAX_INTERFACES, 1); /* network byteorder */ j = 0; for (i=0;itrace_sock, "iface %s\n",ifaces[i].name); is_lo=!strcmp(ifaces[i].name, "lo"); /* if (mi>1 && strcmp(ifaces[i].name, "lo")==0) continue;*/ if ((int)ifaces[i].ip.s_addr==0) continue; /* 0.0.0.0 happens on cygwin */ for (ii=0; iilen; ii++){ gchar *c; c = (gchar *)g_ptr_array_index(if_ignore, ii); if (strcmp(c, ifaces[i].name)==0) { trace(cfg->trace_bcast, VTEXT(T_IGN_IFACE_S),ifaces[i].name); goto next_loop; } } sin = (struct sockaddr_in *)&gnet->bcast_addr[j]; sin->sin_family = AF_INET; sin->sin_addr.s_addr = ifaces[i].ip.s_addr | ~(ifaces[i].netmask.s_addr); sin->sin_port = htons(NET_PORT); for (ii=0; iilen; ii++){ gchar *c; struct in_addr iad; c = (gchar *)g_ptr_array_index(ip_ignore, ii); if (!inet_aton(c, &iad)) continue; /* invalid addr */ if (iad.s_addr==sin->sin_addr.s_addr) { trace(cfg->trace_bcast, VTEXT(T_IGN_ADDR_S), inet_ntoa(sin->sin_addr)); goto next_loop; } } trace(cfg->trace_bcast, "adding iface '%s'\n", ifaces[i].name); if (assign_type!=AT_ASSIGNED) { gnet->my.sin_addr.s_addr = ifaces[i].ip.s_addr; if (free_global) { gnet->global.sin_addr.s_addr = ifaces[i].ip.s_addr; gnet->global_priority = cfg->net_masterpriority; } if (gnet->myid) g_free(gnet->myid); gnet->myid = g_strdup_printf("%s:%d", inet_ntoa(gnet->my.sin_addr), ntohs(gnet->my.sin_port)); assign_type=is_lo?AT_LOOPBACK:AT_ASSIGNED; trace(cfg->trace_bcast, "assigned gnet->myid=%s\n", gnet->myid); } j++; trace(cfg->trace_bcast, VTEXT(T_ADD_IFACE_SSD), ifaces[i].name, inet_ntoa(sin->sin_addr), NET_PORT); next_loop:; } if (cfg->net_ip_announce){ for (c=strtok_r(cfg->net_ip_announce, NET_DELIM, &token_ptr); c!=NULL; c=strtok_r(NULL, NET_DELIM, &token_ptr)){ struct in_addr iad; struct sockaddr_in *sin; if (!inet_aton(c, &iad)) continue; /* invald addr */ sin = (struct sockaddr_in *)&gnet->bcast_addr[j]; sin->sin_family = AF_INET; sin->sin_addr.s_addr = iad.s_addr; sin->sin_port = htons(NET_PORT); log_addf(VTEXT(T_FORCED_ADDR), inet_ntoa(sin->sin_addr)); j++; } } gnet->max_addrs = j; zg_ptr_array_free_all(if_ignore); zg_ptr_array_free_all(ip_ignore); zg_ptr_array_free_all(ip_announce); gs=g_string_sized_new(100); for (i=0; imax_addrs; i++){ struct sockaddr_in *sin; if (i>0) g_string_append_printf(gs, ", "); sin = (struct sockaddr_in *)&gnet->bcast_addr[i]; g_string_append_printf(gs, "%s:%d", inet_ntoa(sin->sin_addr), ntohs(sin->sin_port)); } trace(cfg->trace_bcast, "Broadcast to: %s", gs->str); g_string_free(gs, TRUE); return 0; } void net_connect_remote(struct net *net){ //dbg("net_connect_remote()\n"); if (gnet->remote){ free_conn(gnet->remote); zg_free0(gnet->remote); } if (!cfg->net_remote_enable) return; if (!cfg->net_remote_host || !*cfg->net_remote_host) return; if (cfg->net_remote_port <= 0 || cfg->net_remote_port > 65535) return; if (!strstr(gnet->myid, ":55555")) { log_addf(VTEXT(T_ONLY_55555_CAN_REMOTE)); return; } if (!gnet->radns) gnet->radns = zasyncdns_init(); zasyncdns_getaddrinfo(gnet->radns, zsel, net_remote_addrinfo, cfg->net_remote_host, AF_INET, NULL); } void net_remote_addrinfo(struct zasyncdns *adns, int n, int *family, int *socktype, int *protocol, int *addrlen, union zsockaddr *addr, char *errorstr){ int i, ni, j, ip0; struct ziface_struct ifaces[MAX_INTERFACES]; gnet->remote = g_new0(struct conn, 1); gnet->remote->sock = -1; gnet->remote->start = time(NULL); dbg("gnet->remote = %p\n", gnet->remote); for (i = 0; i < n; i++){ if (family[i] != AF_INET) continue; // change: look at address comparsion bellow gnet->remote->sin.sin_family = AF_INET; memcpy(&gnet->remote->sin, &(addr[i].in), sizeof(struct sockaddr_in)); gnet->remote->sin.sin_port = ntohs(cfg->net_remote_port); conn_set_fid(gnet->remote); // check for my address ip0 = ntohl(addr[i].in.sin_addr.s_addr) >> 24; if (ip0 == 127){ log_addf(VTEXT(T_CANT_CONNECT_TO_MYSELF_LO)); return; } ni = zifaces_get(ifaces, MAX_INTERFACES, 1); for (j = 0; j < ni; j++){ if (ifaces[j].ip.s_addr == addr[i].in.sin_addr.s_addr){ // must be AF_INET! log_addf(VTEXT(T_CANT_CONNECT_TO_MYSELF), ifaces[j].name); return; } } tcp_connect(gnet->remote); return; } log_addf(VTEXT(T_CANT_PARSE_REMOTE_HOST_S), cfg->net_remote_host); tcp_set_state(gnet->remote, NS_DISCONNECTED); } void free_net_udp(struct net *net){ if (gnet->udptimer_id >= 0) zselect_timer_kill(zsel, gnet->udptimer_id); closesocket(gnet->udpsock); } void free_conn(struct conn *conn){ int is_remote = conn == gnet->remote; dbg("free_conn(%p) %s gnet->remote=%p\n", conn, is_remote?"is_remote":"", gnet->remote); if (conn->sock >= 0){ zselect_set(zsel, conn->sock, NULL, NULL, NULL, NULL); sock_debug(conn->sock, "close free_conn()"); closesocket(conn->sock); tcp_kill(conn); } tcp_set_state(conn, NS_DEAD); if (conn->wrbuf) g_string_free(conn->wrbuf, 1); if (conn->rdbuf) g_string_free(conn->rdbuf, 1); CONDGFREE(conn->operator_); CONDGFREE(conn->rwbands); CONDGFREE(conn->remote_id); CONDGFREE(conn->remote_ac); CONDGFREE(conn->fid); } void free_net_ifaces(struct net *net){ if (gnet->myid) g_free(gnet->myid); } void free_net_tcp(struct net *net){ struct conn *conn; int i; sock_debug(gnet->tcpsock, "close gnet->tcpsock (2)"); closesocket(gnet->tcpsock); if (gnet->master) { free_conn(gnet->master); g_free(gnet->master); gnet->master = NULL; } if (gnet->remote){ free_conn(gnet->remote); zg_free0(gnet->remote); } if (gnet->radns) zasyncdns_free(gnet->radns); for (i=gnet->peers->len-1; i>=0; i--){ conn = (struct conn *) g_ptr_array_index(gnet->peers, i); free_conn(conn); g_ptr_array_remove_index(gnet->peers, i); g_free(conn); } CONDGFREE(gnet->allpeers); CONDGFREE(gnet->rwbpeers); CONDGFREE(gnet->bpeers); } /****************** SELECT's HANDLERS ********************************/ void udp_read_handler(void *arg){ char s[1024]; struct sockaddr_in sin; socklen_t socklen; gchar **items; int i; time_t expire, now; struct sockaddr_in peer; struct sockaddr_in master; int direct, masterpriority = 0; /* dbg("udp_read_handler()\n");*/ now = time(NULL); memset(s, 0, sizeof(s)); socklen = sizeof(sin); recvfrom(gnet->udpsock, s, sizeof(s)-1, 0, (struct sockaddr *)&sin, &socklen); if (strlen(s)>0 && s[strlen(s)-1]=='\n') s[strlen(s)-1]='\0'; if (strlen(s)>0 && s[strlen(s)-1]=='\r') s[strlen(s)-1]='\0'; items=g_strsplit(s, ";", 0); for (i=0;i<7;i++) { if (items[i]==NULL) { g_strfreev(items); return; } } if (strcmp(items[0], "tucnak")!=0) { g_strfreev(items); return; } peer.sin_addr.s_addr = inet_addr(items[2]); peer.sin_port = htons(atoi(items[3])); master.sin_addr.s_addr = inet_addr(items[4]); master.sin_port = htons(atoi(items[5])); expire = atoi(items[6]); // dbg("%s items[7]=%s opt_m=%d master=%p cmp=%d\n", items[1], items[7], opt_m, gnet->master, cmp_sin(&master, &gnet->my)); if (items[7] && opt_m && !gnet->master && cmp_sin(&master, &gnet->my)<0){ struct timeval tv; tv.tv_sec = atoi(items[7]); tv.tv_usec = 500000; // better than 0 if (settimeofday(&tv, NULL) == 0){ log_addf(VTEXT(T_TIME_WAS_SET)); now = time(NULL); }else{ GString *gs = g_string_new(""); g_string_append(gs, VTEXT(T_FAILED_TO_SET_TIME)); g_string_append(gs, " - "); z_strerror(gs, errno); log_adds(gs->str); g_string_free(gs, TRUE); } } direct = 0; if (items[7] != NULL && items[8] != NULL) { if (atoi(items[8]) != 0) direct = 1; if (items[9] != NULL) masterpriority = atoi(items[9]); } g_strfreev(items); if (expire < now) return; /* ignore expired information */ if (expire < now-NET_MAX_SKEW_NEG || expire > now+NET_MAX_SKEW_POS) { log_addf(VTEXT(T_TIMESKEW), (int)(now-expire), inet_ntoa(master.sin_addr), ntohs(master.sin_port)); } if (expire > now+NET_MAX_SKEW_POS){ trace(cfg->trace_bcast, "ignoring expire in future, ignoring\n"); return; } /* network byteorder */ if (gnet->my.sin_addr.s_addr == peer.sin_addr.s_addr && gnet->my.sin_port == peer.sin_port) return; trace(cfg->trace_bcast, "rcvd: %s: %s\n", inet_ntoa(sin.sin_addr),s); if (masterpriority == 0 && gnet->v3compatibility == 0){ gnet->v3compatibility = 1; dbg("set v3compatibility=1\n"); // must reset master gnet->global.sin_family = AF_INET; gnet->global.sin_addr.s_addr = gnet->my.sin_addr.s_addr; gnet->global.sin_port = gnet->my.sin_port; gnet->global_expire = now + NET_GLOBAL_EXPIRE; gnet->global_priority = cfg->net_masterpriority; } //log_addf("udp_read_handler: direct=%d my-global = %d", direct, cmp_sin(&gnet->my, &gnet->global)); if (direct && cmp_sin(&gnet->my, &gnet->global) == 0){ udp_sendto(&sin, 0); } if (cmp_sin(&master, &gnet->global)==0){ /* updating expire time */ gnet->global_expire = expire; } if (cmp_master(masterpriority, gnet->global_priority, &master, &gnet->global) < 0){ /* received master is "global" */ gnet->global.sin_family = AF_INET; gnet->global.sin_addr.s_addr = master.sin_addr.s_addr; gnet->global.sin_port = master.sin_port; gnet->global_expire = expire; gnet->global_priority = masterpriority; trace(cfg->trace_bcast, "new master is %s:%d, now=%d, expires %d \n", inet_ntoa(gnet->global.sin_addr), ntohs(gnet->global.sin_port), (int)(now%1000), (int)(expire%1000)); } if (cmp_master(masterpriority, gnet->global_priority, &master, &gnet->global) > 0){ /* received master is my slave */ trace(cfg->trace_bcast, "tucnak %s:%d means it is master but isn't true\n", inet_ntoa(sin.sin_addr), ntohs(sin.sin_port)); zselect_timer_kill(zsel, gnet->udptimer_id); gnet->udptimer_id = zselect_timer_new(zsel, 1, udp_timer, gnet); } /* is gnet->master "global" master? */ if (gnet->master) { if (cmp_sin(&gnet->master->sin, &gnet->global)!=0) { /* gnet->master > gnet->global, disconnect */ trace(cfg->trace_sock, "disconnecting from %s:%d\n", inet_ntoa(gnet->master->sin.sin_addr), ntohs(gnet->master->sin.sin_port)); log_addf(VTEXT(T_DISCONNECTING_SD), inet_ntoa(gnet->master->sin.sin_addr), ntohs(gnet->master->sin.sin_port)); free_conn(gnet->master); g_free(gnet->master); gnet->master = NULL; } } if (!gnet->master && cmp_master(cfg->net_masterpriority, gnet->global_priority, &gnet->my ,&gnet->global) > 0){ trace(cfg->trace_sock, "Now i'm a master\n"); gnet->master = g_new0(struct conn, 1); gnet->master->sin.sin_family = AF_INET; gnet->master->sin.sin_addr.s_addr = gnet->global.sin_addr.s_addr; gnet->master->sin.sin_port = gnet->global.sin_port; conn_set_fid(gnet->master); tcp_connect(gnet->master); } } void udp_exception_handler(void *arg){ dbg("udp_exception_handler()\n"); } void tcp_accept_handler(void *arg){ int sock,i; struct sockaddr_in sin; socklen_t socklen; struct conn *conn; int local; char *c; /*dbg("tcp_accept_handler()\n");*/ socklen = sizeof(sin); sock = accept(gnet->tcpsock, (struct sockaddr *)&sin, &socklen); if (!socklen || sock<0) return; local = ziface_is_local(sin.sin_addr); trace(cfg->trace_sock, "Accepted socket %d %s:%d (%s)\n", sock, inet_ntoa(sin.sin_addr), ntohs(sin.sin_port), local ? "local" : "non local"); dbg("Accepted socket %d %s:%d (%s)\n", sock, inet_ntoa(sin.sin_addr), ntohs(sin.sin_port), local ? "local" : "non local"); log_addf(VTEXT(T_ACCEPTED_SD), inet_ntoa(sin.sin_addr), ntohs(sin.sin_port), local ? "local" : "non local"); for (i=0;ipeers->len;i++){ conn=(struct conn *)g_ptr_array_index(gnet->peers, i); if (conn->sock!=sock) continue; if (conn->timer) zselect_timer_kill(zsel, conn->timer); remove_conn_timer(conn); } conn = g_new0(struct conn, 1); conn->sin.sin_family = AF_INET; conn->sin.sin_addr.s_addr = sin.sin_addr.s_addr; conn->sin.sin_port = sin.sin_port; conn->sock = sock; conn_set_fid(conn); tcp_set_state(conn, NS_CONNECTED); zselect_set(zsel, conn->sock, tcp_read_handler, NULL, tcp_exception_handler, conn); g_ptr_array_add(gnet->peers, conn); conn->start = time(NULL); dump_all_sources(ctest); if (!local) { conn->salt = g_strdup_printf("%02X%02X%02X%02X%02X%02X%02X%02X", (unsigned char)rand() % 0xff, (unsigned char)rand() % 0xff, (unsigned char)rand() % 0xff, (unsigned char)rand() % 0xff, (unsigned char)rand() % 0xff, (unsigned char)rand() % 0xff, (unsigned char)rand() % 0xff, (unsigned char)rand() % 0xff); c = g_strdup_printf("AR %s\n", conn->salt); rel_write(conn, c); g_free(c); conn->authstate = AS_WAIT; return; } dbg("tcp_accept_handler: net_send_id() sock=%d\n", conn->sock); net_send_id(); net_send_ac(); net_send_operator(); net_send_read_write_bands(); net_send_talk(); } void tcp_connected_handler(void *arg){ struct conn *conn; int ret; //int ret, err; //socklen_t optlen; conn = (struct conn *)arg; dbg("tcp_connected_handler %s:%d (%p)\n", inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port), conn); /*optlen = sizeof(err); ret = getsockopt(conn->sock, SOL_SOCKET, SO_ERROR, (void *)&err, &optlen);*/ /* dbg(" getsockopt(SO_ERROR) returns %d err is %d\n", ret, err); if (ret!=0){ tcp_disconnect(conn); return; } if (err!=0){ tcp_disconnect(conn); return; } */ ret = z_sock_error(conn->sock); if (ret != 0){ tcp_disconnect(conn); return; } log_addf(VTEXT(T_CONNECTED_SD), inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port)); trace(cfg->trace_sock || cfg->trace_recv || cfg->trace_send, "%s: connected to %s:%d", conn->fid, inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port)); dump_all_sources(ctest); tcp_set_state(conn, NS_CONNECTED); zselect_set(zsel, conn->sock, tcp_read_handler, NULL, tcp_exception_handler, conn); conn->start = time(NULL); dbg("tcp_connected_handler: net_send_id() sock=%d\n", conn->sock); net_send_id(); net_send_ac(); net_send_operator(); net_send_read_write_bands(); net_send_talk(); } void tcp_read_handler(void *arg){ struct conn *conn; char s[1030]; int ret,err; gchar *d, *line; char errbuf[256]; /* char ss[60]; int i;*/ conn = (struct conn *)arg; /* dbg("tcp_read_handler %s:%d\n", inet_ntoa(conn->sin.sin_addr), * ntohs(conn->sin.sin_port));*/ // dbg("entry tcp_read_handler(%d)\n", conn->sock); ret=recv(conn->sock, s, 1024, 0); err=z_sock_errno; //dbg(" read(%d) returns %d (%d)\n", conn->sock, ret, err); if (ret<=0) { trace(cfg->trace_sock, " !!! read ERROR sock=%d err=%d %s\n", conn->sock, err, z_sock_strerror()); dbg(" !!! read ERROR sock=%d err=%d %s\n", conn->sock, err, z_sock_strerror()); tcp_disconnect(conn); return; } conn->rx += ret; s[ret]='\0'; /*safe_strncpy(ss, s, sizeof(ss)); for (i=0;ss[i]!='\0'; i++){ if (!isprint((unsigned char)ss[i])) ss[i]='.'; } if (cfg->trace_recv && strncmp(ss, "AK", 2) != 0 && strncmp(ss, "KA", 2) != 0){ trace(cfg->trace_recv, "%s: read '%s' (%d)\n", conn->fid, ss, ret); }*/ if (!conn->rdbuf) conn->rdbuf = g_string_sized_new(1024); g_string_append(conn->rdbuf, s); /* na tomhle to pada */ /* strcpy(s, "ID 192.168.1.132:55556\nAC 20060506;OK1KRQ;II. subregionalni zavod 2006;cegk\nLA 192.168.1.68:55555;1146999049;192.168.1.132:55555;1146991645;192.168.1.132:55556;1147001847;192.168.1.111:55555;1146932813;192.168.1.82:55555;1147003677;192.168.1.42:55555;1147002456;\n");*/ /* dbg(" s='%s'\n", s);*/ /* dbg_recv("tcp_read_handler() entry conn->rdbuf=%p '%s'\n", conn->rdbuf, conn->rdbuf->str);*/ while (1){ /* dbg_recv("tcp_read_handler() 1 conn->rdbuf=%p '%s'\n", conn->rdbuf, conn->rdbuf->str);*/ if (conn->sock < 0) break; d=strchr(conn->rdbuf->str, '\n'); if (!d) break; line = g_strndup(conn->rdbuf->str, d - conn->rdbuf->str); /* if (strncmp(line, "KA", 2)!=0 && strncmp(line,"AK", 2)!=0){ dbg("tcp_read_handler line='%s'\n", line); }*/ /* dbg_recv("tcp_read_handler() 2 conn->rdbuf=%p '%s'\n", conn->rdbuf, conn->rdbuf->str);*/ g_string_erase(conn->rdbuf, 0, d - conn->rdbuf->str + 1); /* dbg_recv("tcp_read_handler() 3 conn->rdbuf=%p '%s'\n", conn->rdbuf, conn->rdbuf->str);*/ /* dbg(" line='%s', remains '%s'\n", line, conn->rdbuf->str);*/ if (strlen(line)>0) rel_read(conn, line); g_free(line); } /* dbg_recv("tcp_read_handler() exit conn->rdbuf=%p\n", conn->rdbuf);*/ // dbg("exit tcp_read_handler(%d)\n", conn->sock); } void tcp_write_handler(void *arg){ struct conn *conn; int towrite, written; char errbuf[1030]; conn = (struct conn *)arg; /* dbg("tcp_write_handler %s:%d\n", inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port));*/ if (!conn->wrbuf){ zselect_set(zsel, conn->sock, tcp_read_handler, NULL, tcp_exception_handler, conn); return; } towrite = strlen(conn->wrbuf->str); written = send(conn->sock, conn->wrbuf->str, towrite, 0); //err=z_sock_errno; //trace(cfg->trace_send, "%s: tcp_write_handler '%s' (%d/%d) %s\n", conn->fid, conn->wrbuf->str, towrite, written,err); /*dbg(" towrite=%d written=%d \n", towrite, written); */ if (written<=0){ trace(cfg->trace_sock, "!!!!! ERROR %s\n", z_sock_strerror()); tcp_disconnect(conn); return; } conn->tx += written; if (towrite == written){ g_string_free(conn->wrbuf, 1); conn->wrbuf = NULL; zselect_set(zsel, conn->sock, tcp_read_handler, NULL, tcp_exception_handler, conn); return; } g_string_erase(conn->wrbuf, 0, written); } void tcp_exception_handler(void *arg){ struct conn *conn; conn = (struct conn *)arg; dbg("tcp_exception_handler %s:%d\n", inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port)); tcp_disconnect(conn); } /*************************** TIMERS *********************************/ void udp_sendto(struct sockaddr_in *asin, int direct){ struct net *net; struct sockaddr_in sin; socklen_t socklen; int i; GString *gs; time_t now; net = (struct net *)gnet; now = time(NULL); if (gnet->global_expire < now){ /* global expired */ gnet->global.sin_family = AF_INET; gnet->global.sin_addr.s_addr = gnet->my.sin_addr.s_addr; gnet->global.sin_port = gnet->my.sin_port; gnet->global_expire = now + NET_GLOBAL_EXPIRE; gnet->global_priority = cfg->net_masterpriority; trace(cfg->trace_bcast, "expired, i'm new master %s:%d now=%d, expire=%d \n", inet_ntoa(gnet->global.sin_addr), ntohs(gnet->global.sin_port), now%1000, gnet->global_expire%1000); } if (cmp_sin(&gnet->global, &gnet->my)==0) { /* sending maximal time */ /* dbg("setting expire to maximal\n");*/ gnet->global_expire = now + NET_GLOBAL_EXPIRE; } /* dbg("udp_timer()\n"); */ /* 0 1 2 3 4 5 6 7 8 */ /* "tucnak;version;myip;myport;masterip;masterport;masterexpire;direct;masterpriority */ gs = g_string_sized_new(100); g_string_append_printf(gs, "tucnak;%s;", VERSION_STRING); g_string_append(gs, inet_ntoa(gnet->my.sin_addr)); g_string_append_c(gs,';'); g_string_append_printf(gs, "%d;", htons(gnet->my.sin_port)); g_string_append_printf(gs, "%s;%d;%d", inet_ntoa(gnet->global.sin_addr), ntohs(gnet->global.sin_port), (int)gnet->global_expire); g_string_append_printf(gs, ";%d", (int)now); g_string_append_printf(gs, ";%d", direct); if (net->v3compatibility) g_string_append_printf(gs, ";"); else g_string_append_printf(gs, ";%d", gnet->global_priority); /* dbg("snd'%s' now=%d ex=%d\n", gs->str, now%1000, gnet->global_expire%1000);*/ trace(cfg->trace_bcast, "send: %s\n", gs->str); g_string_append(gs,"\r\n"); if (asin != NULL){ socklen = sizeof(sin); sendto(gnet->udpsock, gs->str, strlen(gs->str), 0, (struct sockaddr *)asin, socklen); }else{ /*ST_START(); free_net_ifaces(net); init_net_ifaces(net, 0); ST_STOP("init_net_ifaces");*/ for (i=0; imax_addrs; i++){ socklen = sizeof(sin); sendto(gnet->udpsock, gs->str, strlen(gs->str), 0, gnet->bcast_addr+i, socklen); } } g_string_free(gs, 1); } void udp_timer(void *arg){ #ifdef Z_ANDROID udp_sendto(NULL, 1); #else udp_sendto(NULL, 0); #endif gnet->udptimer_id = zselect_timer_new(zsel, gnet->udptimer_period, udp_timer, gnet); } void send_ack_timer(void *arg){ struct conn *conn; char s[1026]; conn = (struct conn *)arg; /*dbg("send_ack_timer %s:%d\n", inet_ntoa(conn->sin.sin_addr), * ntohs(conn->sin.sin_port));*/ conn->timer = 0; g_snprintf(s, 1024, "KA %d\n", ++conn->relseq); rel_write(conn, s); tcp_set_state(conn, NS_WAIT_ACK); } void kill_conn_timer(void *arg){ struct conn *conn; conn = (struct conn *)arg; /* dbg("kill_conn_timer %s:%d\n", inet_ntoa(conn->sin.sin_addr), * ntohs(conn->sin.sin_port));*/ conn->timer = 0; tcp_disconnect(conn); } void remove_conn_timer(void *arg){ struct conn *conn, *cx; int i; conn = (struct conn *)arg; dbg("remove_conn_timer %s:%d (%p)\n", inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port), conn); conn->timer = 0; if (gnet->master == conn) { free_conn(gnet->master); g_free(gnet->master); gnet->master = NULL; } if (gnet->remote == conn) { dbg("freeing remote\n"); free_conn(gnet->remote); g_free(gnet->remote); gnet->remote = NULL; net_connect_remote(gnet); } for (i=gnet->peers->len-1; i>=0; i--){ cx = (struct conn *) g_ptr_array_index(gnet->peers, i); if (cx == conn) { g_ptr_array_remove_index(gnet->peers, i); free_conn(conn); g_free(conn); } } } int conn_prod_state(struct conn *conn){ if (!conn) return 0; if (conn->state == NS_CONNECTED || conn->state == NS_WAIT_ACK || conn->state == NS_LONG) return 1; return 0; } void tcp_set_state(struct conn *conn, enum net_state state){ int debug = 0; if (conn->timer) zselect_timer_kill(zsel, conn->timer); conn->timer = 0; if (debug) dbg("tcp_set_state %s ", tcp_state_s(conn)); conn->state = state; if (debug) dbg("-> %s\n", tcp_state_s(conn)); switch (conn->state){ case NS_INIT: break; case NS_CONNECTING: conn->timer = zselect_timer_new(zsel, CONNECTION_TIMEOUT, kill_conn_timer, conn); break; case NS_CONNECTED: conn->timer = zselect_timer_new(zsel, SEND_ACK_TIMEOUT, send_ack_timer, conn); break; case NS_WAIT_ACK: conn->timer = zselect_timer_new(zsel, ACK_TIMEOUT, kill_conn_timer, conn); break; case NS_DISCONNECTED: conn->timer = zselect_timer_new(zsel, REMOVE_TIMEOUT, remove_conn_timer, conn); break; case NS_DEAD: break; case NS_LONG: conn->timer = zselect_timer_new(zsel, LONG_TIMEOUT, kill_conn_timer, conn); break; } } char *tcp_state_s(struct conn *conn){ switch (conn->state){ case NS_INIT: return VTEXT(T_INIT); case NS_CONNECTING: return VTEXT(T_CONNECTING); case NS_CONNECTED: return VTEXT(T_CONNECTED); case NS_WAIT_ACK: return VTEXT(T_WAIT_ACK); case NS_DISCONNECTED: return VTEXT(T_DISCONNECTED2); case NS_DEAD: return VTEXT(T_DEAD); case NS_LONG: return VTEXT(T_LONG_XFER); } return "???"; } void tcp_connect(struct conn *conn){ int ret; char errbuf[256]; dbg("tcp->connect %s:%d (%p)\n", inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port), conn); conn->sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); dbg("tcp_connect(socket() = %d \n", conn->sock); if (z_sock_nonblock(conn->sock, 1)){ trace(cfg->trace_sock, "Can't set O_NONBLOCK\n"); return; } conn->start = time(NULL); ret = connect(conn->sock, (struct sockaddr *) &conn->sin, sizeof(struct sockaddr_in)); /* dbg("connect returns %d (%d) '%s'\n", ret, errno, strerror_r(errno));*/ if (ret==0){ zselect_set(zsel, conn->sock, tcp_read_handler, NULL, tcp_exception_handler, conn); tcp_set_state(conn, NS_CONNECTED); log_addf(VTEXT(T_CONNECTED_SD), inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port)); dump_all_sources(ctest); dbg("tcp_connect: net_send_id() sock=%d\n", conn->sock); net_send_id(); net_send_ac(); net_send_operator(); net_send_read_write_bands(); net_send_talk(); return; } if (ret<0){ if (z_sock_wouldblock(z_sock_errno)){ tcp_set_state(conn, NS_CONNECTING); zselect_set(zsel, conn->sock, NULL, tcp_connected_handler, tcp_exception_handler, conn); log_addf(VTEXT(T_CONNECTING_SD), inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port)); return; } trace(cfg->trace_sock, "connect error %s\n", z_sock_strerror()); tcp_disconnect(conn); } } #ifdef LEAK_DEBUG_LIST void debug_tcp_disconnect(char *file, int line, struct conn *conn){ dbg("debug_tcp_disconnect(%s, %d) conn->sock==%d\n", file, line, conn->sock); #else void tcp_disconnect(struct conn *conn){ dbg("tcp_disconnect conn->sock=%d %s:%d (%p)\n", conn->sock, inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port), conn); #endif log_addf(VTEXT(T_DISCONNECTED_SD), inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port)); tcp_set_state(conn, NS_DISCONNECTED); if (conn->sock <0){ dbg("!!! tcp_disconnect called on conn->sock=%d, ignoring\n", conn->sock); }else{ // dbg("zselect_set(zsel, %s, %d)\n", __FILE__, __LINE__); zselect_set(zsel, conn->sock, NULL, NULL, NULL, NULL); } trace(cfg->trace_sock || cfg->trace_recv || cfg->trace_send, "%s: close tcp_disconnect", conn->fid); //dbg("tcp_disconnect(%d)\n", conn->sock); // dbg("tcp_disconnect(%d) @ %s:%d\n", conn->sock, file, line); dump_all_sources(ctest); if (conn->sock >= 0){ closesocket(conn->sock); } conn->sock = -1; if (conn->wrbuf) g_string_free(conn->wrbuf, 1); if (conn->rdbuf) g_string_free(conn->rdbuf, 1); conn->wrbuf = conn->rdbuf = NULL; #ifdef LEAK_DEBUG_LIST dbg("debug_tcp_disconnect return\n"); #else dbg("tcp_disconnect return\n"); #endif } void tcp_kill(struct conn *conn){ /*dbg("tcp->disconnect %s:%d\n", inet_ntoa(conn->sin.sin_addr), * ntohs(conn->sin.sin_port));*/ zselect_set(zsel, conn->sock, NULL, NULL, NULL, NULL); tcp_set_state(conn, NS_DISCONNECTED); trace(cfg->trace_sock, "%s: close tcp_kill", conn->fid); dump_all_sources(ctest); closesocket(conn->sock); } int cmp_sin(struct sockaddr_in *a, struct sockaddr_in *b){ int sign; sign = ntohl(a->sin_addr.s_addr) - ntohl(b->sin_addr.s_addr); if (sign) return sign; sign = ntohs(a->sin_port) - ntohs(b->sin_port); return sign; } int cmp_master(int pria, int prib, struct sockaddr_in *a, struct sockaddr_in *b){ int sign; //char *s; if (gnet->v3compatibility == 0){ sign = pria - prib; }else{ sign = 0; } if (sign == 0) { sign = ntohl(a->sin_addr.s_addr) - ntohl(b->sin_addr.s_addr); if (sign == 0){ sign = ntohs(a->sin_port) - ntohs(b->sin_port); } } /*s = g_strdup(inet_ntoa(b->sin_addr)); if (gnet->v3compatibility == 0) dbg("cmp_master(%d/%s:%d, %d/%s:%d) = %d\n", pria, inet_ntoa(a->sin_addr), ntohs(a->sin_port), prib, s, ntohs(b->sin_port), sign); else dbg("cmp_master(%s:%d, %s:%d) = %d\n", inet_ntoa(a->sin_addr), ntohs(a->sin_port), s, ntohs(b->sin_port), sign); g_free(s);*/ return sign; } /***************** "RELATION" LAYER ********************************/ void rel_write(struct conn *conn, gchar *s){ int towrite, written,err; GString *oldwrbuf; char errbuf[1030]; if (conn->sock < 0) return; /* socket already closed, ignore write request and return to allow free conn */ if (conn->authstate == AS_WAIT && strncmp(s, "BC", 2) != 0) return; oldwrbuf=conn->wrbuf; if (!conn->wrbuf) conn->wrbuf = g_string_sized_new(1024); g_string_append(conn->wrbuf, s); if (oldwrbuf){ /* conn->wrbuf!=NULL at start of rel_write means there is unsent data. * It's send in tcp_write_handler */ ///trace(cfg->trace_send, "%s: rel_write '%s' appended to wrbuf"); return; } towrite = strlen(conn->wrbuf->str); written = send(conn->sock, conn->wrbuf->str, towrite, 0); err = z_sock_errno; if (cfg->trace_send && strncmp(s, "AK", 2) != 0 && strncmp(s, "KA", 2) != 0 #ifdef CLEAN_TRACE && strncmp(s, "WI", 2) != 0 && strncmp(s, "WT", 2) != 0 #endif ){ char ss[260], *cc; int ll; g_strlcpy(ss, s, sizeof(ss)); ll = strlen(ss); if (ll > 0 && ss[ll-1] == '\n') ss[ll-1] = '\0'; for (cc = ss; *cc != '\0'; cc++) if (!isprint((unsigned char)*cc)) *cc = '.'; trace(cfg->trace_send, "%s: rel_write '%s' (%d/%d/%d)", conn->fid, ss, towrite, written, err); } if (written<0){ if (z_sock_wouldblock(err)){ zselect_set(zsel, conn->sock, tcp_read_handler, tcp_write_handler, tcp_exception_handler, conn); return; } trace(cfg->trace_sock, "error writing %s\n", z_sock_strerror()); tcp_disconnect(conn); return; } conn->tx += written; if (towrite == written){ g_string_free(conn->wrbuf, 1); conn->wrbuf = NULL; return; } g_string_erase(conn->wrbuf, 0, written); zselect_set(zsel, conn->sock, tcp_read_handler, tcp_write_handler, tcp_exception_handler, conn); } void rel_write_all(gchar *s){ int i; struct conn *conn; char ss[256]; strncpy(ss, s, 2); ss[2]='\0'; if (gnet->master && conn_prod_state(gnet->master)) { /*dbg("rel_write_all('%s') %d(%d)", ss, gnet->master->sock, tcp_state_s(gnet->master));*/ rel_write(gnet->master, s); } if (gnet->remote && conn_prod_state(gnet->remote)) { /*dbg("rel_write_all('%s') %d(%d)", ss, gnet->remote->sock, tcp_state_s(gnet->remote));*/ rel_write(gnet->remote, s); } /*dbg("rel_write_all('%s') ",ss);*/ for (i=0; ipeers->len; i++){ conn = (struct conn *) g_ptr_array_index(gnet->peers, i); if (conn_prod_state(conn)) { /*dbg("%d(%s) ", conn->sock,tcp_state_s(conn) );*/ rel_write(conn, s); } } /* dbg("\n"); */ } /* writes to all almost conn */ void rel_write_almost_all(struct conn *almost_conn, gchar *s){ int i; struct conn *conn; /* dbg("rel_write_almost_all(%d, '%s')\n", almost_conn->sock, s); */ if (gnet->master && conn_prod_state(gnet->master) && gnet->master != almost_conn){ rel_write(gnet->master, s); // return; } if (gnet->remote && conn_prod_state(gnet->remote) && gnet->remote != almost_conn){ rel_write(gnet->remote, s); // return; } for (i = 0; i < gnet->peers->len; i++){ conn = (struct conn *) g_ptr_array_index(gnet->peers, i); if (conn_prod_state(conn) && conn != almost_conn) { rel_write(conn, s); } } } struct conn *find_conn_by_remote_id(gchar *remote_id){ int i; struct conn *conn; for (i=gnet->peers->len-1;i>=0;i--){ /* backward loop because one ip+port can be here twice (DIST,DIST,DIST,CONN) */ conn=(struct conn *)g_ptr_array_index(gnet->peers, i); if (!conn->remote_id) continue; if (strcmp(conn->remote_id,remote_id)==0){ return conn; } } return NULL; } int net_route(gchar *s, gchar **items){ struct conn *conn; gchar *c; if (!items[0]) return -1; if (strcmp(gnet->myid,items[0])==0) return 0; /* packet is for me */ conn = find_conn_by_remote_id(items[0]); if (!conn || !conn_prod_state(conn)) return -1; c=g_strconcat(s,"\n",NULL); /* dbg("routing '%s'\n",c);*/ rel_write(conn, c); g_free(c); return 1; } static struct conn *sconn; /* a little hack with global var :-( */ void rel_read(struct conn *conn, gchar *line){ char s[1026], ss[260], *cc; gchar **items, *c; // dbg("rel_read(%d) '%s'\n", conn->sock, line); if (strncmp(line, "KA", 2)==0){ /* keepalive */ /* dbg(" recvd KA, sending AK\n");*/ g_snprintf(s, 1024, "AK%s\n", line+2); rel_write(conn, s); return; } if (strncmp(line, "AK", 2)==0){ /* keepalive ack */ /* dbg(" recvd AK, setting NS_CONNECTED\n");*/ /* todo AK number */ tcp_set_state(conn, NS_CONNECTED); return; } /************** app layer ********************/ if (cfg->trace_recv #ifdef CLEAN_TRACE && strncmp(line, "WI", 2) != 0 && strncmp(line, "WT", 2) != 0 #endif ){ g_strlcpy(ss, line, sizeof(ss)); for (cc = ss ; *cc != '\0'; cc++) if (!isprint((unsigned char)*cc)) *cc = '.'; trace(cfg->trace_recv, "%s: rel_read '%s' (%d)\n", conn->fid, ss, strlen(ss)); } if (strncmp(line, "AR", 2) == 0){ /* authentication request */ char *hash, *str; char *pcall; struct zmd5 md5; if (strlen(line) < 4) return; c = line + 3; items = g_strsplit(c, ";", 0); if (!items || !items[0]) return; pcall = cfg->pcall; if (ctest) pcall = ctest->pcall; hash = g_strdup_printf("%s;%s;%s", pcall, cfg->net_remote_pass, items[0]); zmd5_init(&md5); zmd5_update(&md5, (unsigned char*)hash, strlen(hash)); zmd5_final_str(&md5); //log_addf("AR hash='%s' %s", hash, md5.tdigest); str = g_strdup_printf("AU %s;%s\n", pcall, md5.tdigest); rel_write(conn, str); g_free(str); g_free(hash); g_strfreev(items); net_send_id(); net_send_ac(); net_send_operator(); net_send_read_write_bands(); net_send_talk(); return; } if (strncmp(line, "AU", 2) == 0){ /* authenticate */ char *hash, *pcall; struct zmd5 md5; if (strlen(line) < 4) return; c = line + 3; items = g_strsplit(c, ";", 0); if (!items || !items[0] || !items[1]) return; pcall = cfg->pcall; if (ctest) pcall = ctest->pcall; hash = g_strdup_printf("%s;%s;%s", pcall, cfg->net_remote_pass, conn->salt); zmd5_init(&md5); zmd5_update(&md5, (unsigned char *)hash, strlen(hash)); zmd5_final_str(&md5); //log_addf("AU hash='%s' %s", hash, md5.tdigest); if (strcasecmp(items[0], pcall) != 0){ c = g_strdup_printf("BC user %s != %s\n", items[0], pcall); rel_write(conn, c); g_free(c); log_addf(VTEXT(T_BAD_AUTH_USER), items[0], pcall); g_strfreev(items); return; } if (strcasecmp(items[1], (char *)md5.tdigest) != 0){ //c = g_strdup_printf("BC Bad auth pass %s != %s\n", items[1], md5.tdigest); c = g_strdup_printf("BC passord\n"); rel_write(conn, c); g_free(c); log_addf(VTEXT(T_BAD_AUTH_PASS), items[1], md5.tdigest); g_strfreev(items); return; } log_addf(VTEXT(T_AUTHENTICATED_USER_S), items[0]); tcp_set_state(conn, NS_CONNECTED); conn->authstate = AS_OK; g_strfreev(items); net_send_id(); net_send_ac(); net_send_operator(); net_send_read_write_bands(); net_send_talk(); return; } if (strncmp(line, "BC", 2) == 0){ if (strlen(line) < 4) return; c = line + 3; log_addf(VTEXT(T_BAD_AUTHENTICATION_S), c); return; } if (conn->authstate == AS_WAIT) return; if (strncmp(line, "ID", 2)==0){ /* peers ID */ /* log_addf("%d ID '%s'",conn->sock, line); */ if (strlen(line)<4) return; c = line+3; if (conn->remote_id) g_free(conn->remote_id); conn->remote_id = g_strdup(c); return; } if (strncmp(line, "AC", 2)==0){ /* active contest */ /* log_addf("%d AC '%s'",conn->sock, line); */ if (strlen(line)<4) return; c = line+3; if (conn->remote_ac) g_free(conn->remote_ac); conn->remote_ac = g_strdup(c); if (!ctest) return; net_test_same_contest(conn, c); return; } if (strncmp(line, "CL", 2)==0){ /* close contest */ /* log_addf("%d CL", conn->sock);*/ if (conn->remote_ac) { g_free(conn->remote_ac); conn->remote_ac = NULL; } conn->is_same_ctest = 0; return; } if (strncmp(line, "LA", 2)==0){ /* latest qsos for each source */ int i; GHashTable *remote_latests; if (!conn->is_same_ctest) return; if (strlen(line)<3) return; c = line+3; remote_latests = g_hash_table_new(g_str_hash, g_str_equal); items=g_strsplit(c, ";", 0); for (i=0; items[i]!=NULL && items[i+1]!=NULL; i+=2){ gchar *source, *latest_s; source = items[i]; latest_s = items[i+1]; g_hash_table_insert(remote_latests, g_strdup(source), g_strdup(latest_s)); trace(cfg->trace_sock, " rcvd LA: %s = %d\n", source, latest_s); } g_strfreev(items); /*dbg("LA recvd sock=%d:\n", conn->sock);*/ dbg_str_hash(remote_latests); /* dbg("ctest->bystamp:\n"); dbg_str_hash(ctest->bystamp);*/ sconn = conn; rel_write(conn, "SR\n"); g_hash_table_foreach(ctest->bystamp, compare_remote_with_me, remote_latests); z_ptr_array_qsort(ctest->allqsos, compare_date_time_qsonrs); rel_write(conn, "ER\n"); g_hash_table_foreach_remove(remote_latests, free_gpointer_item, NULL); g_hash_table_destroy(remote_latests); net_send_operator(); net_send_read_write_bands(); net_send_talk(); return; } if (strncmp(line, "QS", 2)==0){ /* qso */ if (!ctest) { trace(cfg->trace_sock, "!!! QS recvd, ctest==NULL!! \n"); return; } if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c = line+3; qso_from_net(conn, c); return; } if (strncmp(line, "SR", 2)==0){ /* start of replication */ if (!conn->is_same_ctest) return; conn->replicating=1; return; } if (strncmp(line, "ER", 2)==0){ /* end of replication */ if (!ctest) return; if (!conn->is_same_ctest) return; conn->replicating=0; recalc_all_stats(ctest); /* include statsfifo */ /*check_autosave();*/ return; } if (strncmp(line, "TA", 2)==0){ /* talk */ gchar *d; if (strlen(line)<4) return; c = line+3; sw_talk_read(c, 0); d=g_strconcat("TA ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); return; } if (strncmp(line, "TB", 2)==0){ /* talk after connect */ gchar *d; if (strlen(line)<4) return; c = line+3; if (ctest) { gtalk->withouttime = 1; sw_talk_read(c, 1); gtalk->withouttime = 0; } d=g_strconcat("TB ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); return; } if (strncmp(line, "SK", 2)==0){ /* sked */ gchar *d; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c = line+3; /*dbg("SK conn=%p\n", conn);*/ sw_sked_read(c, 0); d=g_strconcat("SK ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); return; } if (strncmp(line, "DI", 2)==0){ /* OBSOLETE peers discovery */ int i; GString *gs; struct conn *tmpconn; /*dbg("DI recvd\n");*/ gs =g_string_sized_new(100); g_string_append(gs,"PE "); g_string_append_printf(gs, "%s;", gnet->myid); for (i=0;ipeers->len;i++){ tmpconn = (struct conn *)g_ptr_array_index(gnet->peers,i); if (!conn_prod_state(tmpconn)) continue; if (!tmpconn->remote_id) return; g_string_append_printf(gs, "%s;", tmpconn->remote_id); } g_string_append_printf(gs,"\n"); trace(cfg->trace_sock, "sending '%s'\n", gs->str); rel_write(conn, gs->str); g_string_free(gs,TRUE); return; } if (strncmp(line, "PE", 2)==0){ /* OBSOLETE peers reply */ /* TODO security - only if required */ if (strlen(line)<4) return; c = line+3; trace(cfg->trace_sock, "PEers '%s'\n", c); CONDGFREE(gnet->allpeers); gnet->allpeers=g_strdup(c); if (!gnet->peerfunc) return; do_peer_menu((void (*)(void *arg)) gnet->peerfunc); gnet->peerfunc=NULL; return; } if (strncmp(line, "CR", 2)==0){ /* configuration request */ gchar *d,*cc; GString *gs; char *token_ptr=NULL; //int tmpi; if (strlen(line)<4) return; c = line+3; items=g_strsplit(c, ";", 0); if (net_route(line,items)) return; if (!items[0] || !items[1]) return; /* dst,src */ gs=g_string_sized_new(10000); save_rc_string(gs); /* sets this socket temporarily to blocking mode */ z_sock_nonblock(conn->sock, 0); //tmpi=0; for (cc=strtok_r(gs->str,"\n",&token_ptr); cc!=NULL; cc=strtok_r(NULL,"\n",&token_ptr)){ /* if (tmpi++==4) break; */ /* TODO FIXME */ d=g_strdup_printf("CF %s;%s;%s\n",items[1],items[0],cc); rel_write(conn,d); g_free(d); } d=g_strdup_printf("CF %s;%s;eof\n",items[1],items[0]); rel_write(conn,d); z_sock_nonblock(conn->sock, 1); g_free(d); g_string_free(gs,TRUE); g_strfreev(items); return; } if (strncmp(line, "CF", 2)==0){ /* configuration line */ gchar *d; if (strlen(line)<4) return; c = line+3; items=g_strsplit(c, ";", 2); if (net_route(line,items)) goto x_cf; if (!items[0] || !items[1] || !items[2]) goto x_cf; /* dst,src */ d = strchr(items[2],'#'); if (d) *d='\0'; g_strstrip(items[2]); if (strlen(items[2])==0) goto x_cf; if (strcmp(items[2],"eof")==0){ log_addf(VTEXT(T_LOADED_CFG_SSSS),cfg->pcall, cfg->pwwlo, cfg->padr1,cfg->padr2); goto x_cf; } d = g_strconcat(items[2],"\n",NULL); /* dbg("doing something with '%s'\n",items[2]);*/ read_rc_line(d); g_free(d); x_cf:; g_strfreev(items); return; } if (strncmp(line, "WR", 2)==0){ /* C_W request */ gchar *d,*cc; GString *gs; char *token_ptr=NULL; // int tmpi; if (strlen(line)<4) return; c = line+3; items=g_strsplit(c, ";", 0); if (net_route(line,items)) return; if (!items[0] || !items[1]) return; /* dst,src */ gs=g_string_sized_new(10000); save_cw_string(cw,gs); /* sets this socket temporarily to blocking mode */ z_sock_nonblock(conn->sock, 0); // tmpi=0; for (cc=strtok_r(gs->str,"\n",&token_ptr); cc!=NULL; cc=strtok_r(NULL,"\n",&token_ptr)){ /* if (tmpi++==4) break; */ /* TODO FIXME */ d=g_strdup_printf("CW %s;%s;%s\n",items[1],items[0],cc); rel_write(conn,d); g_free(d); } d=g_strdup_printf("CW %s;%s;eof\n",items[1],items[0]); rel_write(conn,d); z_sock_nonblock(conn->sock, 1); g_free(d); g_string_free(gs,TRUE); g_strfreev(items); return; } if (strncmp(line, "CW", 2)==0){ /* C_W data */ if (strlen(line)<4) return; c = line+3; items=g_strsplit(c, ";", 2); if (net_route(line,items)) goto x_cw; if (!items[0] || !items[1] || !items[2]) goto x_cw; /* dst;src;call loc stamp */ if (strcmp(items[2],"eof")==0){ gchar *s; int ret; log_addf(VTEXT(T_LOADED_CW)); s = g_strconcat(tucnak_dir, "/tucnakcw", NULL); z_wokna(s); ret=save_cw_into_file(cw, s); if (ret){ errbox(VTEXT(T_CANT_WRITE), ret); }else{ log_addf(VTEXT(T_SAVED_S), s); } g_free(s); goto x_cw; } /* dbg("doing something with '%s'\n",items[2]);*/ load_one_cw(cw,items[2]); x_cw:; g_strfreev(items); return; } if (strncmp(line, "DX", 2)==0){ /* DX spot */ gchar *d; int retdx; if (strlen(line)<4) return; c = line+3; /*dbg("DX conn=%p\n", conn);*/ retdx = dxc_read_spot(c); d=g_strconcat("DX ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); if (retdx == 0){ zg_ptr_array_foreach(struct subwin *, sw, gses->subwins){ if (sw->type != SWT_DXC) continue; sw_dxc_spot_from_net(sw, c); // modifies char case } } redraw_later(); return; } if (strncmp(line, "RG", 2)==0){ /* QRG for sked */ gchar *d; struct band *b; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c=line+3; items=g_strsplit(c, ";", 2); if (!items[0] || !items[1]) goto x_rg; b = find_band_by_pband(items[0]); if (!b) { trace(cfg->trace_qsos, "!!! unknown band '%s'", items[0]); goto x_rg; } g_free(b->skedqrg); b->skedqrg = fixsemi(g_strdup(items[1])); b->dirty_save = 1; d=g_strconcat("RG ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); x_rg: g_strfreev(items); return; } if (strncmp(line, "GR", 2)==0){ /* grab band command */ gchar *d; struct band *b; enum ccmd ccmd; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c=line+3; items=g_strsplit(c, ";", 3); if (!items[0] || !items[1] || !items[2]) goto x_gr; b = find_band_by_pband(items[0]); if (!b) { trace(cfg->trace_qsos, "!!! unknown band '%s'", items[0]); goto x_gr; } ccmd=(enum ccmd)atoi(items[1]); net_grab(b,ccmd,items[2]); d=g_strconcat("GR ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); x_gr: g_strfreev(items); return; } if (strncmp(line, "WC", 2)==0){ /* OBSOLETE working callsign */ return; } if (strncmp(line, "WT", 2)==0){ /* tmpqso item */ gchar *d; struct band *b; struct spypeer *sp; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c=line+3; items=g_strsplit(c, ";", 4); if (!items[0] || !items[1] || !items[2] || !items[3]) goto x_wt; b = find_band_by_pband(items[0]); if (!b) { trace(cfg->trace_qsos, "!!! unknown band '%s'", items[0]); goto x_wt; } if (atoi(items[2])==WT_OPERATOR){ if (strcmp(items[1], conn->remote_id)==0){ CONDGFREE(conn->operator_); conn->operator_ = g_strdup(items[3]); } } sp = get_spypeer_by_peerid(ctest->spypeers, items[1], z_char_uc(b->bandchar)); if (sp) { /* we want spy info from items[1] */ switch(atoi(items[2])){ case WT_CLEAR: clear_spypeer(sp); break; case WT_CALLSIGN: CONDGFREE(sp->callsign); sp->callsign=g_strdup(items[3]); break; case WT_RSTS: CONDGFREE(sp->rsts); sp->rsts=g_strdup(items[3]); break; case WT_RSTR: CONDGFREE(sp->rstr); sp->rstr=g_strdup(items[3]); break; case WT_QSONRS: CONDGFREE(sp->qsonrs); sp->qsonrs=g_strdup(items[3]); break; case WT_QSONRR: CONDGFREE(sp->qsonrr); sp->qsonrr=g_strdup(items[3]); break; case WT_EXC: CONDGFREE(sp->exc); sp->exc=g_strdup(items[3]); break; case WT_LOCATOR: CONDGFREE(sp->locator); sp->locator=g_strdup(items[3]); break; case WT_OPERATOR: CONDGFREE(sp->operator_); sp->operator_=g_strdup(items[3]); break; case WT_REMARK: CONDGFREE(sp->remark); sp->remark=g_strdup(items[3]); break; } } d=g_strconcat("WT ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); redraw_later(); x_wt: g_strfreev(items); return; } if (strncmp(line, "PT", 2)==0){ /* peer TX */ gchar *d; struct band *b; struct spypeer *sp; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c=line+3; items=g_strsplit(c, ";", 3); if (!items[0] || !items[1] || !items[2]) goto x_pt; b = find_band_by_pband(items[0]); if (!b) { trace(cfg->trace_qsos, "!!! unknown band '%s'", items[0]); goto x_pt; } sp = get_spypeer_by_peerid(ctest->spypeers, items[1], z_char_uc(b->bandchar)); if (sp) { /* we want spy info from items[1] */ sp->peertx = atoi(items[2]); } d=g_strconcat("PT ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); redraw_later(); x_pt: g_strfreev(items); return; } if (strncmp(line, "WI", 2)==0){ /* working inputline */ gchar *d; struct band *b; struct spypeer *sp; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c=line+3; items=g_strsplit(c, ";", 3); if (!items[0] || !items[1] || !items[2]) goto x_wi; b = find_band_by_pband(items[0]); if (!b) { trace(cfg->trace_qsos, "!!! unknown band '%s'", items[0]); goto x_wi; } sp = get_spypeer_by_peerid(ctest->spypeers, items[1], z_char_uc(b->bandchar)); if (sp) { /* we want spy info from items[1] */ CONDGFREE(sp->inputline); sp->inputline = g_strdup(items[2]); redraw_later(); } d=g_strconcat("WI ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); x_wi: g_strfreev(items); return; } if (strncmp(line, "R3", 2) == 0){ // contest request v3 char *d, *dstid, *srcid, *lo; int i, tok = 0; GString *gs; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); srcid = z_tokenize(c, &tok); lo = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ struct zstring *zs; int load_opts = 0; if (!ctest) { g_free(c); return; } // contest options gs = g_string_sized_new(4000); zs = contest_format(ctest); zg_string_eprintfa("e", gs, "S3 %s;%s", srcid, zs->str); zfree(zs); for (i = 0; i < ctest->bands->len; i++){ struct band *b = (struct band*)g_ptr_array_index(ctest->bands, i); struct zstring *zs = band_format(b); zg_string_eprintfa("e", gs, ";%s", zs->str); zfree(zs); } g_string_append_c(gs, '\n'); rel_write(conn, gs->str); if (lo != NULL) load_opts = atoi(lo); // start of transfer if (load_opts){ char *cc = g_strdup_printf("ST %s\n", srcid); rel_write(conn, cc); g_free(cc); tcp_set_state(conn, NS_LONG); } // CW database if (load_opts & LO_CW){ g_string_truncate(gs, 0); zg_string_eprintfa("e", gs, "CV %s;", srcid); format_cw_string(cw, gs); g_string_append_c(gs, '\n'); rel_write(conn, gs->str); } // Name database if (load_opts & LO_NAME){ g_string_truncate(gs, 0); zg_string_eprintfa("e", gs, "NA %s;", srcid); format_namedb_string(namedb, gs); g_string_append_c(gs, '\n'); rel_write(conn, gs->str); } // QRV database if (load_opts & LO_QRV){ g_string_truncate(gs, 0); zg_string_eprintfa("e", gs, "QR %s", srcid); for (i = 0; i < qrv->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); struct zstring *zs = qrv_format(qi); if (i > 0) g_string_append_c(gs, ';'); zg_string_eprintfa("e", gs, ";%s", zs->str); zfree(zs); } g_string_append_c(gs, '\n'); rel_write(conn, gs->str); } // end of transfer if (load_opts){ char *cc = g_strdup_printf("ET %s;%s\n", srcid, gnet->myid); rel_write(conn, cc); g_free(cc); } g_string_free(gs, TRUE); }else{ d = g_strconcat("R3 ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); } if (strncmp(line, "S3", 2) == 0){ // conntest options v3 int tok = 0; char *dstid, *d; struct zstring *zs; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ if (ctest){ g_free(c); return; } zs = zstrdup(line + 3 + tok); init_ctest2(0, 1, zs, NULL); zfree(zs); }else{ d = g_strconcat("S3 ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); } if (strncmp(line, "QR", 2) == 0){ // QRV database int tok = 0; char *it, *dstid, *d; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ while ((it = z_tokenize(c, &tok)) != NULL){ load_one_qrv(qrv, it); } }else{ d = g_strconcat("QR ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "CV", 2) == 0){ // CW database int tok = 0; char *it, *dstid, *d; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ while ((it = z_tokenize(c, &tok)) != NULL){ load_one_cw(cw, it); } }else{ d = g_strconcat("CV ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "NA", 2) == 0){ // Name database int tok = 0; char *it, *dstid, *d; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ while ((it = z_tokenize(c, &tok)) != NULL){ load_one_namedb(namedb, it); } }else{ d = g_strconcat("NA ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "ST", 2) == 0){ // start of transfer int tok = 0; char *dstid, *d; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ tcp_set_state(conn, NS_LONG); log_addf(VTEXT(T_LONG_TRANSFER_STARTED_PLEASE_WAIT)); }else{ d = g_strconcat("ST ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "ET", 2) == 0){ // end of transfer int tok = 0; char *dstid, *d, *srcid; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); srcid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ tcp_set_state(conn, NS_CONNECTED); d = g_strdup_printf("EB %s\n", srcid); rel_write(conn, d); g_free(d); log_addf(VTEXT(T_LONG_TRANSFER_FINISHED)); }else{ d = g_strconcat("ET ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "EB", 2) == 0){ // end of transfer back int tok = 0; char *dstid, *d; if (strlen(line) < 2) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ tcp_set_state(conn, NS_CONNECTED); }else{ d = g_strconcat("EB ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "D3", 2) == 0){ // discover peers v3 GString *gs; if (strlen(line) < 2) return; //c = line + 3; //d = g_strconcat("D3 ", c, "\n", NULL); rel_write_almost_all(conn, "D3 \n"); //g_free(d); if (ctest){ int i3; gs = g_string_sized_new(150); zg_string_eprintfa("e", gs, "P3 %s;%s;", gnet->myid, aband->operator_); for (i3 = 0; i3 < ctest->bands->len; i3++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i3); if (b->readonly) continue; g_string_append_c(gs, toupper(b->bandchar)); } if (ctest){ zg_string_eprintfa("e", gs, ";%s;%s;%s\n", ctest->cdate, ctest->pcall, ctest->tname); }else{ g_string_append(gs, ";;;"); } g_string_append_c(gs, '\n'); rel_write(conn, gs->str); g_string_free(gs, TRUE); } } if (strncmp(line, "P3", 2) == 0){ // peer info v3 char *d; if (strlen(line) < 4) return; c = line + 3; d = g_strconcat("P3 ", c, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); if (gnet->peers3){ if (gnet->peers3->len > 0) g_string_append_c(gnet->peers3, ';'); zg_string_eprintfa("e", gnet->peers3, "%s", c); //log_adds(gnet->peers3->str); } } #ifdef VOIP if (strncmp(line, "VS", 2) == 0){ // voip spy int tok = 0; char *dstid, *d; if (strlen(line) < 4) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ #ifdef HAVE_SNDFILE char *id = z_tokenize(c, &tok); char *voipaddr = z_tokenize(c, &tok); log_addf("VS: id='%s' voipaddr='%s'", id, voipaddr); voip_spy_remove(gssbd->voip, id); voip_spy_add(gssbd->voip, id, voipaddr); if (gssbd->voip){ d = g_strdup_printf("VA %s;%s;%s:%d\n", id, gnet->myid, inet_ntoa(gnet->my.sin_addr), gssbd->voip->udpport); rel_write(conn, d); g_free(d); } voip_spy_dump(gssbd->voip); #endif }else{ d = g_strconcat("VS ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "EV", 2) == 0){ // end of voip spy int tok = 0; char *dstid, *d; if (strlen(line) < 4) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ #ifdef HAVE_SNDFILE char *id = z_tokenize(c, &tok); voip_spy_remove(gssbd->voip, id); voip_spy_dump(gssbd->voip); #endif }else{ d = g_strconcat("EV ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } if (strncmp(line, "VA", 2) == 0){ // voip addr int tok = 0; char *dstid, *d; if (strlen(line) < 4) return; c = g_strdup(line + 3); dstid = z_tokenize(c, &tok); if (strcmp(dstid, gnet->myid) == 0){ #ifdef HAVE_SNDFILE char *id = z_tokenize(c, &tok); char *voipaddr = z_tokenize(c, &tok); log_addf("VA: id='%s' voipaddr='%s'", id, voipaddr); voip_spy_update(gssbd->voip, id, voipaddr); voip_spy_dump(gssbd->voip); #endif }else{ d = g_strconcat("VA ", line + 3, "\n", NULL); rel_write_almost_all(conn, d); g_free(d); } g_free(c); return; } #endif if (strncmp(line, "DO", 2)==0){ /* peers discovery with operators*/ int i; GString *gs; struct conn *tmpconn; char *op; /*dbg("DI recvd\n");*/ gs =g_string_sized_new(100); g_string_append(gs,"PO "); /* LOOK ALSO menu.c menu_spy_from_peer */ op="---"; if (ctest && aband && conn->operator_) op=aband->operator_; g_string_append_printf(gs, "%s;%s;", gnet->myid,op); for (i=0;ipeers->len;i++){ tmpconn = (struct conn *)g_ptr_array_index(gnet->peers,i); if (!conn_prod_state(tmpconn)) continue; if (!tmpconn->remote_id) return; op="---"; if (ctest && aband && tmpconn->operator_) op=tmpconn->operator_; g_string_append_printf(gs, "%s;%s;", tmpconn->remote_id, op); } g_string_append_printf(gs,"\n"); trace(cfg->trace_sock, "sending '%s'\n", gs->str); rel_write(conn, gs->str); g_string_free(gs,TRUE); return; } if (strncmp(line, "PO", 2)==0){ /* peers reply with operators*/ /* TODO security - only if required */ if (strlen(line)<4) return; c = line+3; trace(cfg->trace_sock, "PEers&OPs '%s'\n", c); CONDGFREE(gnet->allpeers); gnet->allpeers=g_strdup(c); if (!gnet->peerfunc) return; do_peer_operators_menu((void (*)(void *arg)) gnet->peerfunc); gnet->peerfunc=NULL; return; } if (strncmp(line, "DR", 2)==0){ /* peers discovery with operators and read-write bands */ int i, j; GString *gs; struct conn *tmpconn; char *op; struct band *b; char rwbands[40], *rwb; /*dbg("DI recvd\n");*/ gs =g_string_sized_new(100); g_string_append(gs,"PR "); /* LOOK ALSO menu.c menu_load_from_peer */ op="---"; if (ctest && aband && conn->operator_) op=aband->operator_; strcpy(rwbands, ""); j=0; if (ctest){ for (i=0; ibands->len; i++){ b=(struct band *) g_ptr_array_index(ctest->bands, i); if (b->readonly) continue; rwbands[j++]=z_char_uc(b->bandchar); } rwbands[j]='\0'; } g_string_append_printf(gs, "%s;%s;%s;", gnet->myid,op, rwbands); for (i=0;ipeers->len;i++){ tmpconn = (struct conn *)g_ptr_array_index(gnet->peers,i); if (!conn_prod_state(tmpconn)) continue; if (!tmpconn->remote_id) return; op="---"; if (ctest && aband && tmpconn->operator_) op=tmpconn->operator_; rwb=""; if (tmpconn->rwbands) rwb=tmpconn->rwbands; g_string_append_printf(gs, "%s;%s;%s;", tmpconn->remote_id, op, rwb); } g_string_append_printf(gs,"\n"); trace(cfg->trace_sock, "sending '%s'\n", gs->str); rel_write(conn, gs->str); g_string_free(gs,TRUE); return; } if (strncmp(line, "PR", 2)==0){ /* peers reply with operators and read-write bands */ /* TODO security - only if required */ if (strlen(line)<4) return; c = line+3; trace(cfg->trace_sock, "PEers&OPs&Bands '%s'\n", c); CONDGFREE(gnet->rwbpeers); gnet->rwbpeers=g_strdup(c); if (!gnet->peerfunc) return; do_spy_peer_menu((void (*)(void *arg)) gnet->peerfunc); gnet->peerfunc=NULL; return; } if (strncmp(line, "DC", 2)==0){ /* peers discovery with contest properties*/ int i; GString *gs; struct conn *tmpconn; char *cdate, *pcall, *tname; struct zstring *zs; dbg("DC recvd\n"); gs =g_string_sized_new(100); g_string_append(gs,"PC "); /* LOOK ALSO menu.c menu_contest_config_from_peer */ if (ctest) g_string_append_printf(gs,"%s;%s %s %s;", gnet->myid, ctest->cdate, ctest->pcall, ctest->tname); for (i=0;ipeers->len;i++){ tmpconn = (struct conn *)g_ptr_array_index(gnet->peers,i); if (!conn_prod_state(tmpconn)) continue; if (!tmpconn->remote_ac) continue; zs = zstrdup(tmpconn->remote_ac); cdate = ztokenize(zs, 1); pcall = ztokenize(zs, 0); tname = ztokenize(zs, 0); if (tname && *tname) g_string_append_printf(gs,"%s;%s %s %s;", tmpconn->remote_id, cdate, pcall, tname); zfree(zs); } g_string_append_printf(gs,"\n"); dbg("sending '%s'\n", gs->str); rel_write(conn, gs->str); g_string_free(gs,TRUE); return; } if (strncmp(line, "PC", 2)==0){ /* peers reply with contest properties */ /* TODO security - only if required */ if (strlen(line)<4) return; c = line+3; dbg("PC recvd '%s' func=%p\n", c, gnet->peerfunc); CONDGFREE(gnet->allpeers); gnet->allpeers=g_strdup(c); if (!gnet->peerfunc) return; do_peer_operators_menu((void (*)(void *arg)) gnet->peerfunc); gnet->peerfunc=NULL; return; } if (strncmp(line, "RT", 2)==0){ /* request all tmpqso states*/ gchar *d; struct band *b; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c=line+3; items=g_strsplit(c, ";", 2); if (!items[0] || !items[1]) goto x_rt; b = find_band_by_pband(items[0]); if (!b) { trace(cfg->trace_qsos, "!!! unknown band '%s'", items[0]); goto x_rt; } if (strcmp(items[1], gnet->myid)==0) { wkd_tmpqso(b, WT_CALLSIGN, b->tmpqsos[0].callsign); wkd_tmpqso(b, WT_RSTS, b->tmpqsos[0].rsts); wkd_tmpqso(b, WT_RSTR, b->tmpqsos[0].rstr); wkd_tmpqso(b, WT_QSONRS, b->tmpqsos[0].qsonrs); wkd_tmpqso(b, WT_QSONRR, b->tmpqsos[0].qsonrr); wkd_tmpqso(b, WT_EXC, b->tmpqsos[0].exc); wkd_tmpqso(b, WT_LOCATOR, b->tmpqsos[0].locator); wkd_tmpqso(b, WT_REMARK, b->tmpqsos[0].remark); wkd_tmpqso(b, WT_OPERATOR, b->operator_); peer_tx(b, gses->last_cq_timer_id>0?2:gses->tx); send_inputline(b); goto x_rt; /* noone has same myid, don't need to route */ } d=g_strconcat("RT ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); x_rt: g_strfreev(items); return; } if (strncmp(line, "OP", 2)==0){ /* operator */ gchar *d; if (strlen(line)<4) return; c=line+3; CONDGFREE(conn->operator_); conn->operator_=g_strdup(c); d=g_strconcat("OP ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); } if (strncmp(line, "RW", 2)==0){ /* read-write bands */ gchar *d; if (strlen(line)<4) return; c=line+3; CONDGFREE(conn->rwbands); conn->rwbands=g_strdup(c); d=g_strconcat("RW ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); } if (strncmp(line, "BA", 2)==0){ /* contest band settings */ struct zstring *zs; struct band *b; char *c; if (strlen(line)<4) return; zs = zstrdup(line+3); dbg("zs->str='%s'\n", zs->str); dbg("ztokens=%d\n", ztokens(zs)); if (ztokens(zs)<10){ dbg("bad format '%s'\n", line+3); return; } c = ztokenize(zs, 1); b = find_band_by_pband(c); if (!b){ dbg("Unknown band '%s'\n", c); zfree(zs); return; } c = ztokenize(zs, 0); b->psect = atoi(c); CONDGFREE(b->stxeq); b->stxeq = g_strdup(ztokenize(zs, 0)); CONDGFREE(b->spowe); b->spowe = g_strdup(ztokenize(zs, 0)); CONDGFREE(b->srxeq); b->srxeq = g_strdup(ztokenize(zs, 0)); CONDGFREE(b->sante); b->sante = g_strdup(ztokenize(zs, 0)); CONDGFREE(b->santh); b->santh = g_strdup(ztokenize(zs, 0)); CONDGFREE(b->mope1); b->mope1 = g_strdup(ztokenize(zs, 0)); CONDGFREE(b->mope2); b->mope2 = g_strdup(ztokenize(zs, 0)); CONDGFREE(b->remarks); b->remarks = g_strdup(ztokenize(zs, 0)); zfree(zs); b->dirty_save = 1; check_autosave(); } if (strncmp(line, "RS", 2)==0){ /* rotar set */ gchar *d; struct zstring *zs; gchar *netid, *rotstr, *qtf, *elev; //dbg("line='%s'\n", line); if (strlen(line)<4) return; c=line+3; if (!gnet->myid) return; zs = zstrdup(c); netid = ztokenize(zs, 1); if (!netid) goto x_rs; rotstr = ztokenize(zs, 0); if (!rotstr) goto x_rs; qtf = ztokenize(zs, 0); if (!qtf) goto x_rs; elev = ztokenize(zs, 0); if (!elev) goto x_rs; if (strcmp(netid, gnet->myid)==0){ // my rotar struct rotar *rot; rot = get_rotar_by_rotstr(rotstr); if (!rot) goto x_rs; dbg("rotstr='%s' rotchar=%c\n",rotstr, rot->rotchar); rot_seek(rot, atoi(qtf), atoi(elev)); } d=g_strconcat("RS ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); x_rs:; zfree(zs); } if (strncmp(line, "RU", 2)==0){ /* rotar update */ gchar *d; //dbg("line='%s'\n", line); if (strlen(line)<4) return; c=line+3; rotar_remote_update(c); d=g_strconcat("RU ",c,"\n",NULL); rel_write_almost_all(conn, d); g_free(d); } if (strncmp(line, "RC", 2)==0){ /* request of contest */ gchar *d; GString *gs; struct zstring *zs, *zs2; char *bs[26+1]; int i; if (strlen(line)<4) return; c = line+3; items=g_strsplit(c, ";", 0); if (net_route(line,items)) return; if (!items[0] || !items[1]) return; /* dst,src */ if (!ctest) return; for (i=0; ibands->len; i++){ struct band *b; if (i > 26) return; b = (struct band*)g_ptr_array_index(ctest->bands, i); zs = band_format(b); bs[i] = g_strdup(zs->str); zfree(zs); } bs[i] = NULL; zs = contest_format(ctest); zs2 = zconcatesc(zs->str, bs[0], bs[1], bs[2], bs[3], bs[4], bs[5], bs[6], bs[7], bs[8], bs[9], bs[10], bs[11], bs[12], bs[13], bs[14], bs[15], bs[16], bs[17], bs[18], bs[19], bs[20], bs[21], bs[22], bs[23], bs[24], bs[25], NULL); for (i=0; bs[i]!=NULL; i++) g_free(bs[i]); zfree(zs); gs=g_string_sized_new(10000); d=g_strdup_printf("SC %s\n",zs2->str); zfree(zs2); rel_write(conn,d); g_free(d); g_string_free(gs,TRUE); g_strfreev(items); return; } if (strncmp(line, "SC", 2)==0){ /* configuration line */ struct zstring *zs2; if (ctest) return; // contest already opened if (strlen(line)<4) return; c = line+3; // dbg("recvd SC %s\n", c); zs2 = zstrdup(c); init_ctest2(0, 1, zs2, NULL); zfree(zs2); #if 0 items=g_strsplit(c, ";", 2); if (net_route(line,items)) goto x_cf; if (!items[0] || !items[1] || !items[2]) goto x_cf; /* dst,src */ d = strchr(items[2],'#'); if (d) *d='\0'; g_strstrip(items[2]); if (strlen(items[2])==0) goto x_cf; if (strcmp(items[2],"eof")==0){ log_addf(VTEXT(T_LOADED_CFG_SSSS),cfg->pcall, cfg->pwwlo, cfg->padr1,cfg->padr2); goto x_cf; } d = g_strconcat(items[2],"\n",NULL); /* dbg("doing something with '%s'\n",items[2]);*/ read_rc_line(d); g_free(d); x_cf:; g_strfreev(items); #endif return; } if (strncmp(line, "PH", 2) == 0){ /* contest phase */ if (!ctest) return; if (!conn->is_same_ctest) return; if (strlen(line)<4) return; c = line + 3; ctest->phase = atoi(c); char *d = g_strdup_printf("PH %d\n", ctest->phase); rel_write_almost_all(conn, d); g_free(d); return; } } gchar *qso_to_string(struct qso *q){ gchar *c; c = g_strdup_printf("QS %s;%s;%s;%s;" "%d;%s;%s;%s;" "%s;%s;%s;%s;" "%s;%d;%s;%s;" "%d;%s;%1.0f;%d\n", q->band->pband, q->date_str, q->time_str, q->error?"ERROR":q->callsign, q->mode, C0(q->rsts), C0(q->qsonrs), C0(q->rstr), C0(q->qsonrr), C0(q->exc), C0(q->locator), q->source, q->operator_, (int)q->stamp, q->callsign, "", q->ser_id, fixsemi(C0(q->remark)), q->qrg, q->phase); return c; } void compare_remote_with_me(gpointer key, gpointer value, gpointer data){ gchar *source, *rem_latest_str; ZPtrArray *ia; GHashTable *remote_latests; struct qso dummyq, *pdq=&dummyq, *q; int i; gchar *c; gint first_qso; source = (gchar*) key; ia = (ZPtrArray *) value; remote_latests = (GHashTable *)data; /*dbg("nsource=%s, ia->len=%d\n", source, ia->len);*/ rem_latest_str = (gchar *) g_hash_table_lookup(remote_latests, source); if (rem_latest_str){ /* dbg("remote has some qso from this source\n");*/ memset(&dummyq, 0, sizeof(dummyq)); dummyq.stamp = atoi(rem_latest_str); first_qso = z_ptr_array_bsearch_index(ia, &pdq, compare_stamp); if (first_qso<0) { /* remote's last qso not found in my qsos */ /*dbg("remote's last qso not found between my qsos");*/ q = (struct qso *) z_ptr_array_index(ia, ia->len-1); /* my last qso (ia->len!=0) */ if (compare_stamp(&q, &pdq)<0){ trace(cfg->trace_qsos, " %s: remote has newer qso than me",source); }else{ trace(cfg->trace_qsos, " %s: ooops remote's last not found but is older!",source); first_qso = 0; /* Ooops! remote's last qso is missing */ } } /* dbg("nsource=%s, first_qso=%d ia->len=%d\n", source, first_qso, ia->len);*/ /* there can be some qsos with the same stamp before */ /* these must be replicated too */ /*dbg("first_qso(1)=%d\n", first_qso);*/ while(first_qso>0){ q = (struct qso *) z_ptr_array_index(ia, first_qso-1); if (compare_stamp(&q, &pdq)!=0) break; first_qso--; } }else{ /* remote has no qso from this source */ trace(cfg->trace_qsos, " %s: remote has no qso\n", source); first_qso = 0; } dbg("replicating sock=%d source=%22s ser_id %d...%d \n", sconn->sock, source, first_qso, ia->len-1); for (i=first_qso; ilen; i++){ q = (struct qso *) z_ptr_array_index(ia, i); if (!q) continue; c = qso_to_string(q); /* dbg("replicating %s %s %d %s/%d\n",q->callsign, q->qsonrs, q->stamp, source,q->ser_id);*/ rel_write(sconn, c); if (strlen(c)>0 && c[strlen(c)-1]=='\n') c[strlen(c)]='\0'; dump_qso(q,"replicating2\n"); g_free(c); } trace(cfg->trace_qsos, "----end of replications\n"); } void qso_from_net(struct conn *conn, gchar *str){ int i; gchar **items; struct band *b; struct qso *lastqso, *eq, *q; gint last_qsonr, mode, qsonr, stamp, ser_id; gchar *date_str, *time_str, *callsign_or_error, *rsts, *qsonrs; gchar *rstr, *qsonrr, *exc, *locator, *source, *operator_, *callsign, *remark; int found,sortit; int same_km=0; double qrg = 0.0; int phase = 1; char rawcall[20]; items=g_strsplit(str, ";", 0); for (i=0;i<=16;i++) if (items[i]==NULL) {g_strfreev(items);return;} date_str=items[1]; time_str=items[2]; callsign_or_error=items[3]; mode=atoi(items[4]); rsts=items[5]; qsonrs=items[6]; rstr=items[7]; qsonrr=items[8]; exc=items[9]; locator=items[10]; source=items[11]; operator_=items[12]; stamp=atoi(items[13]); callsign=items[14]; ser_id=atoi(items[16]); if (!items[17]){ remark=""; }else{ remark=items[17]; if (items[18]){ qrg = atof(items[18]); if (items[19]){ phase = atoi(items[19]); } } } /* dbg("qso_from_net '%s'\n", str);*/ /*dbg("qso_from_net sock=%d %d %s %-10s %s | ", */ /*conn->sock, stamp, qsonrs, callsign, source);*/ trace(cfg->trace_qsos, "\n----qso_from_net: '%s'", str); b = find_band_by_pband(items[0]); if (!b) { trace(cfg->trace_qsos, "!!! unknown band '%s'", items[0]); goto x; } trace(cfg->trace_qsos, "from %s '%s'\n",conn->remote_id, str); z_get_raw_call(rawcall, callsign); q = (struct qso *)g_hash_table_lookup(b->rawqsoshash, rawcall); if (q != NULL) g_hash_table_remove(b->rawqsoshash, rawcall); qsonr = atoi(qsonrs); q = get_qso_by_id(b, source, ser_id); // if (q) { dbg(" ID ");trace(cfg->trace_qsos, " found by ID (%s:%d)", source, ser_id);dump_qso(q,"id");} if (!q && ctest->qsoused>0 && !ctest->qsoglob){ q = get_qso_by_qsonr(b, qsonr); if (q) { trace(cfg->trace_qsos, " found by QSO NR");dump_qso(q,"nr");} } found=1; if (!q) { found=0; trace(cfg->trace_qsos, " QSO not found, creating new"); if (ctest->qsoused>0 && !ctest->qsoglob){ /* fill with errors */ lastqso = get_qso(b, b->qsos->len-1); /* -1 is correct */ if (lastqso){ last_qsonr = atoi(lastqso->qsonrs); dump_qso(lastqso,"lastqso"); }else last_qsonr = 0; if (last_qsonr+1 != qsonr) trace(cfg->trace_qsos, " fill with ERRORS QSONRs <%d..%d)\n", last_qsonr+1, qsonr); for (i=last_qsonr+1; isource = g_strdup("neterr"); /* ignored by add_qso_to_index */ eq->operator_ = g_strdup("net"); eq->date_str = g_strdup(""); eq->time_str = g_strdup(""); eq->callsign = g_strdup("ERROR"); eq->rsts = g_strdup(""); eq->rstr = g_strdup(""); eq->qsonrs = g_strdup_printf("%03d", i); eq->qsonrr = g_strdup(""); eq->exc = g_strdup(""); eq->locator = g_strdup(""); eq->remark = g_strdup(""); eq->qrg = 0.0; eq->phase = phase; eq->error = 1; add_qso(b, eq); update_stats(b, b->stats, eq); recalc_allb_stats(); minute_stats(b); dump_qso(eq, "error"); } if (!some_replicating(gnet)) check_autosave(); } q = g_new0(struct qso, 1); /* dbg("N ");*/ }else{ struct qso *q2; char rawcall2[20]; trace(cfg->trace_qsos, " updating existing qso"); dump_qso(q,"updating"); z_get_raw_call(rawcall2, q->callsign); q2 = (struct qso *)g_hash_table_lookup(b->rawqsoshash, rawcall2); if (q2 != NULL) g_hash_table_remove(b->rawqsoshash, rawcall2); } g_hash_table_insert(b->rawqsoshash, g_strdup(rawcall), q); /* dbg("F%d S%d ", found, stamp-q->stamp);*/ if (stamp < q->stamp) { /* dbg("stamp < q->stamp\n");*/ goto add; } sortit = (stamp != q->stamp); q->band = b; STORE_STR (q,date_str); STORE_STR (q,time_str); if (q->locator){ same_km=!strcasecmp(q->locator, locator); }else{ same_km=2; /*new qso or contest without locator*/ } if (strcasecmp(callsign_or_error, "ERROR")==0){ if (!q->error) same_km=0; q->error = 1; }else{ if (q->error) same_km=0; q->error=0; } STORE_INT (q,mode); STORE_STR (q,rsts); STORE_STR (q,qsonrs); STORE_STR (q,rstr); STORE_STR (q,qsonrr); STORE_STR (q,exc); STORE_STR_UC(q,locator); STORE_STR (q,remark); fixsemi(q->remark); STORE_INT (q,ser_id); compute_qrbqtf(q); if (q && q->source && strcmp(q->source,"neterr")==0){ /* spojeni bylo predtim sitova chyba, musime prepsat zdroj */ STORE_STR(q,source); add_qso_to_index(q,0); if (!q->error) invalidate_tmpqso(b, q); sortit=1; }else{ /* updatuje se existujici qso */ dbg("--------- found=%d\n", found); /* if (!found) STORE_STR(q,source); */ if (q && q->source && strcmp(source, q->source)!=0){ dbg("--------- bude se prepisovat source %s -> %s\n", q->source, source); dump_all_sources(ctest); dbg("---before remove_qso_from_index\n"); dump_all_sources(ctest); remove_qso_from_index(q); dbg("---after remove_qso_from_index\n"); dump_all_sources(ctest); STORE_STR(q, source); dbg("---before add_qso_to_index\n"); dump_all_sources(ctest); add_qso_to_index(q, 1); dbg("---after add--\n"); dump_all_sources(ctest); }else{ STORE_STR(q, source); } } STORE_STR_UC(q,operator_); STORE_INT (q,stamp); STORE_STR_UC(q,callsign); /* items[15] unused (century) */ STORE_INT(q, qrg); /* qrg is double but macro is the same */ STORE_INT(q, phase); if (sortit) { g_hash_table_foreach(ctest->bystamp, foreach_source_qsort_by_stamp, NULL); z_ptr_array_qsort(ctest->allqsos, compare_date_time_qsonrs); } /*update_stats(b->stats, b, q);*/ write_qso_to_swap(b, q); if (!gses->redraw_timer_id) gses->redraw_timer_id = zselect_timer_new(zsel, DELAY_AFTER_REPLICATION, net_timer_redraw, NULL); add:; dirty_band(b); if (!found){ /* dbg("adding\n");*/ add_qso(b, q); if (!q->error) invalidate_tmpqso(b, q); update_stats(b, b->stats, q); recalc_allb_stats(); minute_stats(b); #ifdef Z_HAVE_SDL if (b==aband) map_add_qso(q, aband); /*plot new QSO only if it is on active band*/ #endif }else{ #ifdef Z_HAVE_SDL if (!same_km) map_clear_qso(q, aband); #endif /* dbg("dont adding\n");*/ } replicate_qso(conn, q); if (!some_replicating(gnet)) check_autosave(); dump_qso(q,"after"); x:; /* only unknown band */ g_strfreev(items); trace(cfg->trace_qsos, "\n"); } /*****************************************************************/ void net_send_id(){ gchar *c; c = g_strdup_printf("ID %s:%d\n", inet_ntoa(gnet->my.sin_addr), ntohs(gnet->my.sin_port)); rel_write_all(c); g_free(c); } void net_send_ac(){ gchar *c; int i,j; struct conn *conn; char qrvbands[50]; if (!ctest) return; for (i=j=0;ibands->len;i++){ struct band *b; b=(struct band *)g_ptr_array_index(ctest->bands, i); qrvbands[j++]=z_char_uc(b->bandchar); } qrvbands[j]='\0'; c = g_strdup_printf("AC %s;%s;%s;%s\n", ctest->cdate?ctest->cdate:"", ctest->pcall?ctest->pcall:"", ctest->tname?ctest->tname:"", qrvbands); rel_write_all(c); g_free(c); if (gnet->master){ net_test_same_contest(gnet->master, gnet->master->remote_ac); } if (gnet->remote){ net_test_same_contest(gnet->remote, gnet->remote->remote_ac); } for (i=0; ipeers->len; i++){ conn = (struct conn *) g_ptr_array_index(gnet->peers, i); net_test_same_contest(conn, conn->remote_ac); } } void net_send_operator(void){ int i; char *c; char *op = cfg->pcall; if (cfg->operator_ && *cfg->operator_) op = cfg->operator_; c = g_strdup_printf("OP %s\n", op); rel_write_all(c); g_free(c); if (ctest){ for (i=0;ibands->len;i++){ struct band *b; b=(struct band *)g_ptr_array_index(ctest->bands, i); wkd_tmpqso(b, WT_OPERATOR, b->operator_); } } } void net_send_read_write_bands(void){ int i, j; char rwbands[40]; gchar *c; strcpy(rwbands, ""); j=0; if (ctest){ for (i=0;ibands->len;i++){ struct band *b; b=(struct band *)g_ptr_array_index(ctest->bands, i); if (b->readonly) continue; rwbands[j++]=z_char_uc(b->bandchar); } rwbands[j]='\0'; } c=g_strdup_printf("RW %s\n", rwbands); rel_write_all(c); g_free(c); } void net_send_talk(void){ int i; gchar *c; /*if (gnet->master){ rel_write_all("TB master1\n"); rel_write_all("TB master2\n"); }else{ rel_write_all("TB slave1\n"); rel_write_all("TB slave2\n"); } return; */ for (i = Z_MAX((int)gtalk->items->len - 20, 0); i < gtalk->items->len; i++){ // latest 20 items char *talk = (char*)g_ptr_array_index(gtalk->items, i); if (strlen(talk) < 7) continue; if (strncmp(talk + 6, "***", 3) == 0) continue; c=g_strdup_printf("TB %s\n", talk); rel_write_all(c); g_free(c); } } void net_test_same_contest(struct conn *conn, gchar *ac_text){ gchar **items; gchar *cdate, *pcall, *tname, *qrvb; int i,j; char qrvbands[50]; /* log_addf("%d test_same", conn->sock);*/ if (!ctest || !ac_text) return; if (!conn_prod_state(conn)) return; for (i=j=0;ibands->len;i++){ struct band *b; b=(struct band *)g_ptr_array_index(ctest->bands, i); qrvbands[j++]=z_char_uc(b->bandchar); } qrvbands[j]='\0'; items=g_strsplit(ac_text, ";", 0); for (i=0;i<4;i++) { if (items[i]==NULL) { log_adds(VTEXT(T_CTEST_NOT_SAME_AC)); g_strfreev(items); return; } } cdate = items[0]; pcall = items[1]; tname = items[2]; qrvb = items[3]; if (strncmp(cdate, ctest->cdate, 8)==0 && strcasecmp(pcall, ctest->pcall)==0 && strcasecmp(tname, ctest->tname)==0 && strcasecmp(qrvb, qrvbands)==0){ gchar *latests_str; /*dbg(" To je on!! Meho srdce sampion!! sock=%d\n", conn->sock);*/ latests_str = get_latests_str(); rel_write(conn, latests_str); g_free(latests_str); //log_addf("Contest is the same"); conn->is_same_ctest = 1; }else{ /*GString *gs; gs=g_string_new("Contest is not the same: "); if (strncmp(cdate, ctest->cdate, 8)) g_string_append_printf(gs, "DATE(%s,%s) ", cdate, ctest->cdate); if (strcasecmp(pcall, ctest->pcall)) g_string_append_printf(gs, "CALL(%s,%s) ", pcall, ctest->pcall); if (strcasecmp(tname, ctest->tname)) g_string_append_printf(gs, "CONTEST(%s,%s) ", tname, ctest->tname); if (strcasecmp(qrvb, qrvbands)) g_string_append_printf(gs, "BANDS(%s,%s) ", qrvb, qrvbands); log_addf(gs->str); g_string_free(gs, 1);*/ conn->is_same_ctest = 0; } g_strfreev(items); trace(cfg->trace_recv, "%s: is_same_ctest=%d\n", conn->fid, conn->is_same_ctest); } void net_timer_redraw(void *arg){ struct band *b; int i; if (ctest && !ctest->qsoglob){ for (i=0; ibands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands, i); recalc_stats(b); recalc_worked_skeds(b); if (ctest->qsoused && b->qsos->len+1 != atoi(b->tmpqsos[0].qsonrs)){ g_free(b->tmpqsos[0].qsonrs); b->tmpqsos[0].qsonrs = g_strdup_printf("%03d", b->qsos->len+1); wkd_tmpqso(b, WT_QSONRS, b->tmpqsos[0].qsonrs); } } } redraw_later(); gses->redraw_timer_id = 0; } void replicate_qso(struct conn *sourceconn, struct qso *q){ gchar *c; int i; struct conn *conn; c = qso_to_string(q); trace(cfg->trace_qsos, "replicating1: %s(%s:%d) band=%c", q->callsign, q->source, q->ser_id, z_char_uc(q->band->bandchar)); dump_qso(q,"replicating1"); if (gnet->master && conn_prod_state(gnet->master) && (sourceconn==NULL || sourceconn->sock!=gnet->master->sock) ){ /*dbg("replicating mast=%d %d %s %s\n", gnet->master->sock, q->stamp, q->qsonrs, q->callsign);*/ rel_write(gnet->master, c); } if (gnet->remote && conn_prod_state(gnet->remote) && (sourceconn==NULL || sourceconn->sock!=gnet->remote->sock) ){ /*dbg("replicating mast=%d %d %s %s\n", gnet->master->sock, q->stamp, q->qsonrs, q->callsign);*/ rel_write(gnet->remote, c); } for (i=0; ipeers->len; i++){ conn = (struct conn *)g_ptr_array_index(gnet->peers, i); if (conn_prod_state(conn) && (sourceconn==NULL || sourceconn->sock!=conn->sock)) { /* dbg("replicating sock=%d %d %s %s\n", conn->sock, q->stamp, q->qsonrs, q->callsign);*/ rel_write(conn, c); } } g_free(c); } gchar *get_timer_str(struct conn *conn){ static char s[100]; ztime interval; strcpy(s,""); if (!conn) return s; interval=zselect_timer_get(zsel, conn->timer); interval/=1000; sprintf(s, "%4d", (int)interval); return s; } void send_config_request(int no){ char *peerid,*c; struct conn *gw; gchar **items; int i; /*ndbg("send_config_request '%d'\n",no);*/ items = g_strsplit(gnet->allpeers,";",0); for (i=0; items[i]!=NULL;i++){ if (i==no) goto found; } g_strfreev(items); return; found: peerid=items[i]; if (cmp_sin(&gnet->global, &gnet->my)==0) { /* i'm master */ gw=find_conn_by_remote_id(peerid); if (!gw) { log_addf(VTEXT(T_PEER_NOT_FOUND), peerid); goto x; } }else{ gw=gnet->master; } if (!conn_prod_state(gw)) goto x; /* gw - connection to requested peer/gateway to peer */ c=g_strdup_printf("CR %s;%s\n",peerid,gnet->myid); rel_write(gw,c); g_free(c); x:; g_strfreev(items); } void send_cwdb_request(int no){ char *peerid,*c; struct conn *gw; gchar **items; int i; /*dbg("send_cwdb_request '%d'\n",no);*/ items = g_strsplit(gnet->allpeers,";",0); for (i=0; items[i]!=NULL;i++){ if (i==no) goto found; } g_strfreev(items); return; found: peerid=items[i]; if (cmp_sin(&gnet->global, &gnet->my)==0) { /* i'm master */ gw=find_conn_by_remote_id(peerid); if (!gw) { log_addf(VTEXT(T_PEER_NOT_FOUND), peerid); goto x; } }else{ gw=gnet->master; } if (!conn_prod_state(gw)) goto x; /* gw - connection to requested peer/gateway to peer */ c=g_strdup_printf("WR %s;%s\n",peerid,gnet->myid); rel_write(gw,c); g_free(c); x:; g_strfreev(items); } void send_contest_config_request(int no){ char *peerid,*c; struct conn *gw; gchar **items; int i; dbg("send_contest_config_request(%d)\n", no); items = g_strsplit(gnet->allpeers,";",0); for (i=0; items[i]!=NULL;i++){ if (i==no) goto found; } g_strfreev(items); return; found: peerid=items[i]; if (cmp_sin(&gnet->global, &gnet->my)==0) { /* i'm master */ gw=find_conn_by_remote_id(peerid); if (!gw) { log_addf(VTEXT(T_PEER_NOT_FOUND), peerid); goto x; } }else{ gw=gnet->master; } if (!conn_prod_state(gw)) goto x; /* gw - connection to requested peer/gateway to peer */ c=g_strdup_printf("RC %s;%s\n",peerid,gnet->myid); rel_write(gw,c); g_free(c); x:; g_strfreev(items); } int some_replicating(struct net *net){ int i; struct conn *conn; if (gnet->master && conn_prod_state(gnet->master) && gnet->master->replicating) return 1; if (gnet->remote && conn_prod_state(gnet->remote) && gnet->remote->replicating) return 1; for (i=0;ipeers->len;i++){ conn = (struct conn *) z_ptr_array_index(gnet->peers, i); if (!conn_prod_state(conn)) continue; if (conn->replicating) return 1; } return 0; } void iface_info(GString *gs){ int i, mi; struct ziface_struct ifaces[MAX_INTERFACES]; g_string_append_printf(gs, "\n interfaces info:\n"); mi = zifaces_get(ifaces, MAX_INTERFACES, 1); /* network byteorder */ for (i=0;isin.sin_port); zg_free0(conn->fid); conn->fid = g_strdup_printf("%3d", ntohl(conn->sin.sin_addr.s_addr) & 0xff); /*if (port == NET_PORT) return; if (port > NET_PORT && port < NET_PORT + 'z' - 'a') { conn->fid[strlen(conn->fid) - 1] = 'a' + port - NET_PORT - 1; return; } conn->fid[strlen(conn->fid) - 1] = '!';*/ } tucnak-4.32/src/menu6.c0000644000175000017500000007145513737416550011664 00000000000000/* Tucnak - VHF contest log Copyright (C) 2012-2018 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "ac.h" #include "bfu.h" #include "dsp.h" #include "httpd.h" #include "inputln.h" #include "kbd.h" #include "main.h" #include "menu.h" #include "net.h" #include "pa.h" #include "qsodb.h" #include "rc.h" #include "sdr.h" #include "tsdl.h" int httpd_enable, httpd_show_priv; char httpd_port_str[EQSO_LEN], httpd_refresh_str[EQSO_LEN]; void refresh_httpd_opts(void *arg){ cfg->httpd_enable = httpd_enable; STORE_SINT(cfg, httpd_port); cfg->httpd_show_priv = httpd_show_priv; STORE_SINT(cfg, httpd_refresh); free_httpd(httpd); httpd = init_httpd(); progress(NULL); } void menu_httpd_opts(void *arg){ struct dialog *d; int i; httpd_enable = cfg->httpd_enable; g_snprintf(httpd_port_str, EQSO_LEN, "%d", cfg->httpd_port); httpd_show_priv = cfg->httpd_show_priv; g_snprintf(httpd_refresh_str, EQSO_LEN, "%d", cfg->httpd_refresh); d = (struct dialog *)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_HTTPD_OPTIONS);//VTEXT(T_RIGOPTS); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_httpd_opts; d->y0 = 1; d->items[i = 0].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&httpd_enable; d->items[i].msg = CTEXT(T_ENABLE);//CTEXT(T_RIG_QRG_R2T); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = httpd_port_str; d->items[i].maxl = 7; d->items[i].fn = check_number; d->items[i].gid = 1; d->items[i].gnum = 65535; d->items[i].msg = CTEXT(T_TCP_PORT2);//CTEXT(T_RIG_MODEL); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&httpd_show_priv; d->items[i].msg = CTEXT(T_PRIVATE);//CTEXT(T_RIG_QRG_R2T); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = httpd_refresh_str; d->items[i].maxl = 7; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999; d->items[i].msg = CTEXT(T_REFRESH);//CTEXT(T_RIG_MODEL); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; /* 6 */ d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /* open contest from net */ int load_cw, load_name, load_qrv; void refresh_load_from_net(void *arg){ int load_opts = 0; int tok = 0, menui = 0, no = GPOINTER_TO_INT(arg); char *peers3, *peer, *id, *tname, *c; if (load_cw) load_opts |= LO_CW; if (load_name) load_opts |= LO_NAME; if (load_qrv) load_opts |= LO_QRV; peers3 = g_strdup(gnet->peers3->str); while ((peer = z_tokenize(peers3, &tok)) != NULL){ int tok2 = 0; id = z_tokenize(peer, &tok2); /*op =*/ z_tokenize(peer, &tok2); /*rwbands =*/ z_tokenize(peer, &tok2); /*cdate =*/ z_tokenize(peer, &tok2); /*pcall =*/ z_tokenize(peer, &tok2); tname = z_tokenize(peer, &tok2); if (!tname) continue; if (menui == no){ c = g_strdup_printf("R3 %s;%s;%d\n", id, gnet->myid, load_opts); rel_write_all(c); g_free(c); break; } menui++; } g_free(peers3); } void load_from_net(void *arg){ struct dialog *d; int i, tok = 0, menui = 0; char *peers3, *peer, *id; int no = GPOINTER_TO_INT(arg); load_cw = 1; load_name = 1; load_qrv = 1; peers3 = g_strdup(gnet->peers3->str); while ((peer = z_tokenize(peers3, &tok)) != NULL){ int tok2 = 0; id = z_tokenize(peer, &tok2); if (menui == no){ char *myid = g_strdup(gnet->myid); char *peerid = g_strdup(id); z_strip_from(myid, ':'); z_strip_from(peerid, ':'); if (strcmp(myid, peerid) == 0){ load_cw = 0; load_name = 0; load_qrv = 0; } g_free(myid); g_free(peerid); break; } menui++; } g_free(peers3); d = (struct dialog *)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_LOAD_FROM_NET);//VTEXT(T_RIGOPTS); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_load_from_net; d->refresh_data = arg; d->y0 = 1; d->items[i = 0].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&load_cw; d->items[i].msg = CTEXT(T_LOAD_CWDB);//CTEXT(T_RIG_QRG_R2T); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 2; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&load_name; d->items[i].msg = CTEXT(T_LOAD_NAMEDB);//CTEXT(T_RIG_QRG_R2T); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 2; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&load_qrv; d->items[i].msg = CTEXT(T_LOAD_QRVDB);//CTEXT(T_RIG_QRG_R2T); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } int robands_data[26]; void refresh_robands(void *arg){ int i; if (!ctest) return; for (i = 0; i < ctest->bands->len; i++){ struct band *b; if (i == 26) break; b = (struct band *)g_ptr_array_index(ctest->bands, i); b->readonly = robands_data[i]; il_readonly(b->il, b->readonly); } } void robands(void *arg){ struct dialog *d; int i; if (!ctest) return; if (!ctest->bands->len) return; d = (struct dialog *)g_malloc(sizeof(struct dialog) + 30 * sizeof(struct dialog_item)); memset(d, 0, sizeof(struct dialog) + 30 * sizeof(struct dialog_item)); d->title = VTEXT(T_READONLY_BANDS);//VTEXT(T_RIGOPTS); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_robands; d->refresh_data = arg; d->y0 = 1; for (i = 0; i < ctest->bands->len; i++){ struct band *b; if (i == 26) break; b = (struct band *)g_ptr_array_index(ctest->bands, i); robands_data[i] = b->readonly; d->items[i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&robands_data[i]; d->items[i].msg = b->bandname; d->items[i].wrap = 1; } i--; d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } //----------------------------------------------------------------------------- void choose_mode(void *itdata, void *menudata) { enum modes m = (enum modes)GPOINTER_TO_INT(itdata); set_mode(m); } void menu_set_mode(void *itdata, void *menudata) { struct menu_item *mi = NULL; int sel = 0; if (!(mi = new_menu(0))) return; add_to_menu(&mi, CTEXT(T_SSB), "S", "S", MENU_FUNC choose_mode, GINT_TO_POINTER(MOD_SSB_SSB), 0); if (gses->mode == MOD_SSB_SSB) sel = 0; add_to_menu(&mi, CTEXT(T_CW), "C", "C", MENU_FUNC choose_mode, GINT_TO_POINTER(MOD_CW_CW), 0); if (gses->mode == MOD_CW_CW) sel = 1; add_to_menu(&mi, CTEXT(T_AM), "A", "A", MENU_FUNC choose_mode, GINT_TO_POINTER(MOD_AM_AM), 0); if (gses->mode == MOD_AM_AM) sel = 2; add_to_menu(&mi, CTEXT(T_FM), "F", "F", MENU_FUNC choose_mode, GINT_TO_POINTER(MOD_FM_FM), 0); if (gses->mode == MOD_FM_FM) sel = 3; add_to_menu(&mi, CTEXT(T_RTTY), "R", "R", MENU_FUNC choose_mode, GINT_TO_POINTER(MOD_RTTY_RTTY), 0); if (gses->mode == MOD_RTTY_RTTY) sel = 4; set_window_ptr(gses->win, (term->x - 6 - 6) / 2, (term->y - 2 - 5) / 2); do_menu_selected(mi, NULL, sel); } //---- AS -------------------------------------------------------------------- int ac_enable; char ac_url[MAX_STR_LEN]; char ac_kfactor_str[DBL_LEN]; char ac_arwidth_str[DBL_LEN]; char ac_minelev_str[DBL_LEN]; char ac_maxelev_str[DBL_LEN]; char ac_mindur_str[DBL_LEN]; char ac_maxdelta_str[DBL_LEN]; char ac_minalt_str[DBL_LEN]; char kst_maxqrb_str[MAX_STR_LEN]; void refresh_ac_opts(void *arg){ STORE_INT(cfg, ac_enable); STORE_STR(cfg, ac_url); STORE_SDBL(cfg, ac_kfactor); STORE_SDBL(cfg, ac_arwidth); STORE_SDBL(cfg, ac_minelev); STORE_SDBL(cfg, ac_maxelev); STORE_SINT(cfg, ac_mindur); STORE_SDBL(cfg, ac_maxdelta); STORE_SINT(cfg, ac_minalt); STORE_SINT(cfg, kst_maxqrb); free_acs(gacs); gacs = init_acs(); resize_terminal(NULL); progress(NULL); } void menu_ac_opts(void *arg){ struct dialog *d; int i; ac_enable = cfg->ac_enable; g_snprintf(ac_url, MAX_STR_LEN, "%s", cfg->ac_url); g_snprintf(ac_kfactor_str, DBL_LEN, "%3.3f", cfg->ac_kfactor); g_snprintf(ac_arwidth_str, DBL_LEN, "%3.1f", cfg->ac_arwidth); g_snprintf(ac_minelev_str, DBL_LEN, "%3.1f", cfg->ac_minelev); g_snprintf(ac_maxelev_str, DBL_LEN, "%3.1f", cfg->ac_maxelev); g_snprintf(ac_mindur_str, DBL_LEN, "%d", cfg->ac_mindur); g_snprintf(ac_maxdelta_str, DBL_LEN, "%3.1f", cfg->ac_maxdelta); g_snprintf(ac_minalt_str, DBL_LEN, "%d", cfg->ac_minalt); LOAD_SINT(cfg, kst_maxqrb); d = (struct dialog *)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_AC_OPTIONS); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_ac_opts; d->y0 = 1; d->items[i = 0].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&ac_enable; d->items[i].msg = CTEXT(T_ENABLE_AC); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = ac_url; d->items[i].maxl = 42; d->items[i].msg = CTEXT(T_AC_URL); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].maxl = 7; d->items[i].dlen = DBL_LEN; d->items[i].data = (char *)&ac_kfactor_str; d->items[i].msg = CTEXT(T_K_FACTOR); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = DBL_LEN; d->items[i].maxl = DBL_LEN - 4; d->items[i].data = (char *)&ac_arwidth_str; d->items[i].msg = CTEXT(T_AC_AREA_WIDTH); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = DBL_LEN; d->items[i].data = (char *)&ac_minelev_str; d->items[i].msg = CTEXT(T_AC_EL_ANGLE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = DBL_LEN; d->items[i].data = (char *)&ac_maxelev_str; d->items[i].msg = CTEXT(T_AC_MAX_EL_ANGLE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = DBL_LEN; d->items[i].maxl = DBL_LEN - 11; d->items[i].data = (char *)&ac_mindur_str; d->items[i].msg = CTEXT(T_AC_MIN_DURATION); d->items[i].wrap = 1; /*d->items[++i].type = D_FIELD; d->items[i].dlen = DBL_LEN; d->items[i].data = (char *)&ac_maxdelta_str; d->items[i].msg = CTEXT(T_AC_MAX_DIFF); d->items[i].wrap = 1;*/ d->items[++i].type = D_FIELD; d->items[i].dlen = 6; d->items[i].data = (char *)&ac_minalt_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 20000; d->items[i].msg = TRANSLATE("Minimal AC altitude [m]"); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = (char*)&kst_maxqrb_str; d->items[i].maxl = 6; d->items[i].msg = TRANSLATE("Maximal QRB for KST");// CTEXT(T_KST_MAXQRB); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /**************************** SDR ****************************************/ int sdr_enable, sdr_rec_dsp_type, sdr_play_dsp_type; char sdr_speed_str[EQSO_LEN]; char sdr_af_speed_str[EQSO_LEN]; char sdr_block_str[EQSO_LEN]; char sdr_cw_low_str[EQSO_LEN], sdr_cw_high_str[EQSO_LEN], sdr_ssb_low_str[EQSO_LEN], sdr_ssb_high_str[EQSO_LEN]; // HAVE_ALSA char sdr_pcm_rec[MAX_STR_LEN]; char sdr_pcm_play[MAX_STR_LEN]; int sdr_pa_rec, sdr_pa_play; char sdr_pa_rec_src[MAX_STR_LEN], sdr_pa_play_src[MAX_STR_LEN]; #ifdef HAVE_SNDFILE char sdr_sndfilename[MAX_STR_LEN], sdr_af_filename[MAX_STR_LEN]; #endif char new_sdr_sndfilename[MAX_STR_LEN], new_sdr_af_filename[MAX_STR_LEN]; char sdr_remoterx[MAX_STR_LEN]; int sdr_sndfilename_index = -1, sdr_af_filename_index = -1; int sdr_samplerate_index = -1; int sdr_af_samplerate_index = -1; #ifdef HAVE_PORTAUDIO static void pa_rec_src_func(void *arg){ int active = GPOINTER_TO_INT(arg); const PaDeviceInfo *di = Pa_GetDeviceInfo(active); g_snprintf(sdr_pa_rec_src, MAX_STR_LEN, "%d: %s", active, di->name); sdr_pa_rec = active; redraw_later(); } static int dlg_pa_rec_src(struct dialog_data *dlg, struct dialog_item_data *di){ int i, max, sel = 0, n; struct menu_item *mi; max = Pa_GetDeviceCount(); mi = new_menu(1); n = 0; for (i = 0; i < max; i++){ const PaDeviceInfo *di = Pa_GetDeviceInfo(i); if (di->maxInputChannels <= 0) continue; add_to_menu(&mi, g_strdup_printf("%d: %s", i, di->name), "", "", MENU_FUNC pa_rec_src_func, GINT_TO_POINTER(i), 0); if (i == sdr_pa_rec) sel = n; n++; } do_menu_selected(mi, NULL, sel); return 0; } static void pa_play_src_func(void *arg){ int active = GPOINTER_TO_INT(arg); const PaDeviceInfo *di = Pa_GetDeviceInfo(active); g_snprintf(sdr_pa_play_src, MAX_STR_LEN, "%d: %s", active, di->name); sdr_pa_play = active; redraw_later(); } static int dlg_pa_play_src(struct dialog_data *dlg, struct dialog_item_data *di){ int i, max, sel = 0, n; struct menu_item *mi; max = Pa_GetDeviceCount(); mi = new_menu(1); n = 0; for (i = 0; i < max; i++){ const PaDeviceInfo *di = Pa_GetDeviceInfo(i); if (di->maxOutputChannels <= 0) continue; add_to_menu(&mi, g_strdup_printf("%d: %s", i, di->name), "", "", MENU_FUNC pa_play_src_func, GINT_TO_POINTER(i), 0); if (i == sdr_pa_play) sel = n; n++; } do_menu_selected(mi, NULL, sel); return 0; } #endif #ifdef HAVE_SNDFILE // IQ filename void refresh_sdr_sndfilename(void *xxx, char *filename){ g_strlcpy(new_sdr_sndfilename, filename, MAX_STR_LEN); redraw_later(); } static int dlg_sdr_sndfilename(struct dialog_data *dlg, struct dialog_item_data *di){ zfiledlg_open(zfiledlg, zsel, refresh_sdr_sndfilename, di, "", "wav"); return 0; } // AF filename void refresh_sdr_af_filename(void *xxx, char *filename){ g_strlcpy(new_sdr_af_filename, filename, MAX_STR_LEN); redraw_later(); } static int dlg_sdr_af_filename(struct dialog_data *dlg, struct dialog_item_data *di){ zfiledlg_open(zfiledlg, zsel, refresh_sdr_af_filename, di, "", "wav"); return 0; } #endif void sdr_opts_fn(struct dialog_data *dlg) { if (strlen(new_sdr_sndfilename)>0 && sdr_sndfilename_index >= 0){ g_strlcpy(dlg->items[sdr_sndfilename_index].cdata, new_sdr_sndfilename, MAX_STR_LEN); dlg->items[sdr_sndfilename_index].cpos = strlen(new_sdr_sndfilename); strcpy(new_sdr_sndfilename, ""); } if (strlen(new_sdr_af_filename)>0 && sdr_af_filename_index >= 0){ g_strlcpy(dlg->items[sdr_af_filename_index].cdata, new_sdr_af_filename, MAX_STR_LEN); dlg->items[sdr_af_filename_index].cpos = strlen(new_sdr_af_filename); strcpy(new_sdr_af_filename, ""); } input_field_fn_i(dlg, sdr_sndfilename_index); input_field_fn_i(dlg, sdr_af_filename_index); } void refresh_sdr_opts(void *arg){ int i; STORE_INT(cfg, sdr_enable); STORE_INT(cfg, sdr_rec_dsp_type); STORE_STR(cfg, sdr_pcm_rec); STORE_INT(cfg, sdr_pa_rec); STORE_INT(cfg, sdr_play_dsp_type); STORE_STR(cfg, sdr_pcm_play); STORE_INT(cfg, sdr_pa_play); STORE_SINT(cfg, sdr_speed); STORE_SINT(cfg, sdr_af_speed); STORE_SINT(cfg, sdr_block); STORE_SDBL(cfg, sdr_cw_low); STORE_SDBL(cfg, sdr_cw_high); STORE_SDBL(cfg, sdr_ssb_low); STORE_SDBL(cfg, sdr_ssb_high); #ifdef HAVE_SNDFILE STORE_STR(cfg, sdr_sndfilename); z_unix(sdr_sndfilename); STORE_STR(cfg, sdr_af_filename); z_unix(sdr_af_filename); #endif STORE_STR(cfg, sdr_remoterx); #if defined(USE_SDR) && defined(Z_HAVE_SDL) if (sdl){ free_sdr(gsdr); gsdr = init_sdr(); for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->type != SWT_SDR) continue; sdr_resize(gsdr, sw); } } #endif progress(NULL); } int sdr_check_range(struct dialog_data *dlg, struct dialog_item_data *di){ double low, high; if (check_double(dlg, di)) return 1; low = atof(di->cdata); high = atof((di+1)->cdata); if (low > high) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_BAD_NUMBER_RANGE), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } return 0; } int check_sdr_af_speed(struct dialog_data *dlg, struct dialog_item_data *di){ int speed, af_speed, mod; if (check_number(dlg, di)) return 1; speed = atoi(dlg->items[sdr_samplerate_index].cdata); af_speed = atoi(dlg->items[sdr_af_samplerate_index].cdata); if (af_speed > speed) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_AF_SRATE_GREATER_SRATE), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } mod = speed % af_speed; if (mod != 0) { msg_box(NULL, VTEXT(T_BAD_NUMBER), AL_CENTER, VTEXT(T_SRATE_DIVISIBLE), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); return 1; } return 0; } void menu_sdr_opts(void *arg){ struct dialog *d; int i; #ifdef HAVE_PORTAUDIO const PaDeviceInfo *di; if (!pa_initialised) { Pa_Initialize(); pa_initialised = 1; } #endif LOAD_INT(cfg, sdr_enable); LOAD_INT(cfg, sdr_rec_dsp_type); LOAD_STR(cfg, sdr_pcm_rec); LOAD_INT(cfg, sdr_pa_rec); LOAD_INT(cfg, sdr_play_dsp_type); LOAD_STR(cfg, sdr_pcm_play); LOAD_INT(cfg, sdr_pa_play); LOAD_SINT(cfg, sdr_speed); LOAD_SINT(cfg, sdr_af_speed); LOAD_SINT(cfg, sdr_block); LOAD_SDBL(cfg, sdr_cw_low); LOAD_SDBL(cfg, sdr_cw_high); LOAD_SDBL(cfg, sdr_ssb_low); LOAD_SDBL(cfg, sdr_ssb_high); #ifdef HAVE_ALSA #if !defined(HAVE_PORTAUDIO) && !defined(HAVE_SNDFILE) sdr_play_dsp_type = DSPT_ALSA; sdr_rec_dsp_type = DSPT_ALSA; #endif #endif #ifdef HAVE_PORTAUDIO if (cfg->sdr_pa_rec < 0) cfg->sdr_pa_rec = Pa_GetDefaultInputDevice(); di = Pa_GetDeviceInfo(cfg->sdr_pa_rec); if (di) g_snprintf(sdr_pa_rec_src, MAX_STR_LEN, "%d: %s", cfg->sdr_pa_rec, di->name); else safe_strncpy0(sdr_pa_rec_src, VTEXT(T_NO_DEVICE), MAX_STR_LEN); if (cfg->sdr_pa_play < 0) cfg->sdr_pa_play = Pa_GetDefaultOutputDevice(); di = Pa_GetDeviceInfo(cfg->sdr_pa_play); if (di) g_snprintf(sdr_pa_play_src, MAX_STR_LEN, "%d: %s", cfg->sdr_pa_play, di->name); else safe_strncpy0(sdr_pa_play_src, VTEXT(T_NO_DEVICE), MAX_STR_LEN); #if !defined(HAVE_ALSA) && !defined(HAVE_SNDFILE) sdr_play_dsp_type = DSPT_PORTAUDIO; sdr_rec_dsp_type = DSPT_PORTAUDIO; #endif #endif #ifdef HAVE_SNDFILE LOAD_STR(cfg, sdr_sndfilename); z_wokna(sdr_sndfilename); LOAD_STR(cfg, sdr_af_filename); z_wokna(sdr_af_filename); #endif strcpy(new_sdr_sndfilename, ""); strcpy(new_sdr_af_filename, ""); LOAD_STR(cfg, sdr_remoterx); d = (struct dialog *)g_malloc(sizeof(struct dialog) + 50 * sizeof(struct dialog_item)); memset(d, 0, sizeof(struct dialog) + 50 * sizeof(struct dialog_item)); d->title = VTEXT(T_SDR_OPTIONS); d->fn = dlg_pf_fn; d->fn2 = sdr_opts_fn; d->refresh = (void (*)(void *))refresh_sdr_opts; d->y0 = 1; d->items[i=0].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_enable; d->items[i].msg = CTEXT(T_ENABLE); d->items[i].wrap = 2; d->items[++i].type = D_TEXT; d->items[i].msg = CTEXT(T_IQ_SOURCE); #ifdef HAVE_ALSA d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_ALSA; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_rec_dsp_type; d->items[i].msg = CTEXT(T_ALSA); #endif #ifdef HAVE_PORTAUDIO d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_PORTAUDIO; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_rec_dsp_type; d->items[i].msg = CTEXT(T_PORTAUDIO); #endif #ifdef HAVE_SNDFILE d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_SNDFILE; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_rec_dsp_type; d->items[i].msg = CTEXT(T_WAV_FILE); #endif #ifdef HAVE_LIBRTLSDR d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_RTLSDR; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_rec_dsp_type; d->items[i].msg = TRANSLATE("RTL-SDR");//CTEXT(T_WAV_FILE); #endif d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_SDRC; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_rec_dsp_type; d->items[i].msg = TRANSLATE("Remote RX"); d->items[i].wrap++; //------------------------------------- d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_speed_str; d->items[i].maxl = 9; d->items[i].fn = check_number; d->items[i].gid = 8000; d->items[i].gnum = 3200000; d->items[i].msg = CTEXT(T_SAMPLERATE); d->items[i].wrap = 1; sdr_samplerate_index = i; // ---------------------------------------------------------- #ifdef HAVE_ALSA d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_pcm_rec; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_PCM_REC); d->items[i].wrap = 1; /* d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_alsa_mixer; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_ALSA_MIXER); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_alsa_src; d->items[i].text = sdr_alsa_src; d->items[i].msg = CTEXT(T_CAPTURE); */ #endif #ifdef HAVE_PORTAUDIO d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_pa_rec_src; d->items[i].text = sdr_pa_rec_src; d->items[i].msg = CTEXT(T_PA_REC); d->items[i].wrap = 1; #endif #ifdef HAVE_SNDFILE d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = sdr_sndfilename; d->items[i].maxl = 40; d->items[i].msg = CTEXT(T_WAV_FILE_NAME); d->items[i].tabcompl = 1; sdr_sndfilename_index = i; #ifdef Z_HAVE_SDL if (sdl){ d->items[++i].type = D_BUTTON; d->items[i].fn = dlg_sdr_sndfilename; d->items[i].text = CTEXT(T_RIG_CHOOSE); } d->items[i].wrap++; #endif #endif d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_remoterx; d->items[i].maxl = 39; d->items[i].msg = TRANSLATE("Remote RX host"); d->items[i].wrap = 1; d->items[i].wrap++; // ======================================================== d->items[++i].type = D_TEXT; d->items[i].msg = CTEXT(T_AF_OUTPUT); #ifdef HAVE_ALSA d->items[++i].type = D_CHECKBOX; d->items[i].gid = 2; d->items[i].gnum = DSPT_ALSA; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_play_dsp_type; d->items[i].msg = CTEXT(T_ALSA); #endif #ifdef HAVE_PORTAUDIO d->items[++i].type = D_CHECKBOX; d->items[i].gid = 2; d->items[i].gnum = DSPT_PORTAUDIO; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_play_dsp_type; d->items[i].msg = CTEXT(T_PORTAUDIO); #endif #ifdef HAVE_SNDFILE d->items[++i].type = D_CHECKBOX; d->items[i].gid = 2; d->items[i].gnum = DSPT_SNDFILE; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&sdr_play_dsp_type; d->items[i].msg = CTEXT(T_WAV_FILE); #endif d->items[i].wrap++; // ------------------------------------------------ d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_af_speed_str; d->items[i].maxl = 7; d->items[i].fn = check_sdr_af_speed; d->items[i].gid = 8000; d->items[i].gnum = 192000; d->items[i].msg = CTEXT(T_AF_SAMPLE_RATE); d->items[i].wrap = 1; sdr_af_samplerate_index = i; d->items[i].wrap = 1; // ---------------------------------------------------------- #ifdef HAVE_ALSA d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_pcm_play; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_PCM_PLAY); d->items[i].wrap = 1; #endif #ifdef HAVE_PORTAUDIO d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_pa_play_src; d->items[i].text = sdr_pa_play_src; d->items[i].msg = CTEXT(T_PA_PLAY); d->items[i].wrap = 1; #endif #ifdef HAVE_SNDFILE d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = sdr_af_filename; d->items[i].maxl = 40; d->items[i].msg = CTEXT(T_WAV_FILE_NAME); d->items[i].tabcompl = 1; sdr_af_filename_index = i; #ifdef Z_HAVE_SDL if (sdl){ d->items[++i].type = D_BUTTON; d->items[i].fn = dlg_sdr_af_filename; d->items[i].text = CTEXT(T_RIG_CHOOSE); } d->items[i].wrap++; #endif #endif d->items[i].wrap++; // ======================================================== d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_block_str; d->items[i].maxl = 7; d->items[i].fn = check_number; d->items[i].gid = 128; d->items[i].gnum = 9999999; d->items[i].msg = CTEXT(T_BLOCK_SIZE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_cw_low_str; d->items[i].maxl = 7; d->items[i].fn = sdr_check_range; d->items[i].gid = -10000; d->items[i].gnum = +10000; d->items[i].msg = CTEXT(T_CW_FILTER); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_cw_high_str; d->items[i].maxl = 6; d->items[i].fn = check_double; d->items[i].gid = -10000; d->items[i].gnum = +10000; d->items[i].msg = CTEXT(T_TO_HZ); d->items[i].wrap = 1;// ------------------------------------------------ d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_ssb_low_str; d->items[i].maxl = 7; d->items[i].fn = sdr_check_range; d->items[i].gid = -10000; d->items[i].gnum = +10000; d->items[i].msg = CTEXT(T_SSB_FILTER); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = sdr_ssb_high_str; d->items[i].maxl = 6; d->items[i].fn = check_double; d->items[i].gid = -10000; d->items[i].gnum = +10000; d->items[i].msg = CTEXT(T_TO_HZ); d->items[i].wrap = 1; // ------------------------------------------------ d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } tucnak-4.32/src/sota_spot.h0000644000175000017500000000221113761411352012622 00000000000000/* Tucnak - SOTA spot sender Copyright (C) 2002-2020 Ladislav Vaiz ; 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SOTA_SPOT_H #define __SOTA_SPOT_H #define SOTA_API_INSECURE 1 /* { "id": 0, "userID": 0, "timeStamp": "2020-11-03T21:01:44.160Z", "comments": "string", "callsign": "string", "associationCode": "string", "summitCode": "string", "activatorCallsign": "string", "activatorName": "string", "frequency": "string", "mode": "string", "summitDetails": "string", "highlightColor": "string" } */ struct sota_spot_data { int id; int userID; char *timeStamp; char comment[128]; char *callsign; char *associationCode; char *summitCode; char *activatorCallsign; char *activatorName; char frequency[16]; char *mode; char *summitDetails; char *highlightColor; char _summit[16]; }; void sota_spot_push(void); void sota_spot_send(struct sota_spot_data **ssd); #endif tucnak-4.32/src/translate.h0000644000175000017500000000053312457402143012610 00000000000000/* translate.c - Localisation tool for Tucnak Copyright (C) 2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" void translate(void *); tucnak-4.32/src/icons.c0000644000175000017500000000055311602667113011724 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifdef HAVE_CONFIG_H #include "../config.h" #endif #include "icons.inc" tucnak-4.32/src/cordata.h0000644000175000017500000000024514016001420012212 00000000000000/* Automatically generated by corinc.pl */ #ifdef Z_HAVE_SDL #define COR_ITEMS 255567 extern const struct cpoint cor_tucnakcor[COR_ITEMS]; #endif /* Z_HAVE_SDL */ tucnak-4.32/src/rain.h0000644000175000017500000000771714066537511011565 00000000000000/* rain.h - Rainscatter map Copyright (C) 2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #ifndef __RAIN_H #define __RAIN_H #define RAIN_COLORS 15 #ifdef Z_HAVE_SDL struct zhttp; struct rain; struct rain_km{ float kx, ky; // center float kx1, ky1; // left upper float kx2, ky2; // right upper float kx3, ky3; // left lower float kx4, ky4; // right lower }; #define RV_TILES 16 struct rain_provider{ char *name; // const not freeed double h1, h2, w1, w2; // synchro points geo coordinates int hpx1, hpx2, wpx1, wpx2; // synchro points pixels int top, left, bottom, right; // crop int *srccols; int srccolslen; int *translation; // index = src color, value = rain->colors index SDL_Surface *img; int *pal; struct rain *rain; int timer_id; struct zhttp *http; int w, h; GHashTable *hashes[RAIN_COLORS]; // of struct zbinbuf of struct rain_pixel gpointer (*hash_func)(short kx, short ky, int ci); void(*img2hw)(struct rain_provider *provider, float ix, float iy, double *h, double *w); int mask, step; double hmult, wmult; char *title; int ofs_min; int rv_zoom, rv_size, rv_pow, rv_mul; char *rv_path, *rv_oldpath; int rv_mypx, rv_mypy; float rv_px0, rv_py0; }; struct rain_scp{ char wwl[7]; //double h, w; int kx, ky; int qrb; }; struct rain{ int *colors, *bwcolors; int debug; struct rain_provider *meteox; struct rain_provider *wetteronline; struct rain_provider *chmi; struct rain_provider *weatheronline; struct rain_provider *rainviewer; int maxqrb; // typ. 300km int mincolor; // typ. 11 (orange) int minscpdist; // typ 20km GPtrArray *scps; // of rain_scp GString *scplocs; // loc1 loc2 ... locn }; extern struct rain *grain; struct rain *init_rain(void); void free_rain(struct rain *rain); struct rain_scp *init_rain_scp(float kx, float ky); void free_rain_scp(struct rain_scp *scp); void rain_analyze_scps(struct rain *rain); void rain_add_scps(struct rain_provider *prov); int rain_scp_exists(struct rain_provider *prov, float kx, float ky); void free_rain_provider(struct rain_provider *provider); void rain_linear_img2hw(struct rain_provider *provider, float ix, float iy, double *h, double *w); void rain_reload(void); void rain_meteox_timer(void *arg); void rain_meteox_downloaded(struct zhttp *http); void rain_meteox_load(struct rain_provider *provider); gpointer rain_meteox_hash(short px, short py, int color); void rain_wetteronline_timer(void *arg); void rain_wetteronline_downloaded(struct zhttp *http); void rain_wetteronline_load(struct rain_provider *provider); gpointer rain_wetteronline_hash(short px, short py, int color); void rain_chmi_timer(void *arg); void rain_chmi_downloaded(struct zhttp *http); void rain_chmi_load(struct rain_provider *provider); gpointer rain_chmi_hash(short px, short py, int color); void rain_weatheronline_timer(void *arg); void rain_weatheronline_downloaded(struct zhttp *http); void rain_weatheronline_load(struct rain_provider *provider); gpointer rain_weatheronline_hash(short px, short py, int color); void rain_weatheronline_img2hw(struct rain_provider *provider, float ix, float iy, double *h, double *w); void rain_rainviewer_init(struct rain_provider *provider); int tile_googlezoom(double dh, double dw); void rain_rainviewer_timer(void *arg); void rain_rainviewer_downloaded_json(struct zhttp *http); void rain_rainviewer_process_json(struct rain_provider*, const char *json); void rain_rainviewer_downloaded_image(struct zhttp *http); void rain_rainviewer_load(struct rain_provider *provider); gpointer rain_rainviewer_hash(short kx, short ky, int ci); void rain_rainviewer_hw2himg(struct rain_provider *provider, double h, double w, int *x, int *y); void rain_rainviewer_img2hw(struct rain_provider *provider, float x, float y, double *h, double *w); #endif #endif tucnak-4.32/src/os_dep.h0000644000175000017500000000520412035226325012062 00000000000000 /* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __OS_DEP_H #define __OS_DEP_H #if defined(__EMX__) #define OS2 #elif defined(_WIN32) #ifndef WIN32 #define WIN32 #endif #elif defined(__BEOS__) #define BEOS #else #define UNIX #endif #ifdef __EMX__ #define strcasecmp stricmp #define strncasecmp strnicmp #define read _read #define write _write #endif #if defined(UNIX) static inline int dir_sep(char x) { return x == '/'; } #define NEWLINE "\n" #include #include #define SYSTEM_ID SYS_UNIX #define SYSTEM_NAME "Unix" #define DEFAULT_SHELL "/bin/sh" #define GETSHELL getenv("SHELL") #elif defined(OS2) static inline int dir_sep(char x) { return x == '/' || x == '\\'; } #define NEWLINE "\r\n" #define SYSTEM_ID SYS_OS2 #define SYSTEM_NAME "OS/2" #define DEFAULT_SHELL "cmd.exe" #define GETSHELL getenv("COMSPEC") #define NO_FG_EXEC #define NO_FILE_SECURITY #define NO_FORK_ON_EXIT #elif defined(WIN32) static inline int dir_sep(char x) { return x == '/' || x == '\\'; } #define NEWLINE "\r\n" #define SYSTEM_ID SYS_WIN32 #define SYSTEM_NAME "Win32" #define DEFAULT_SHELL "command.com" #define GETSHELL getenv("COMSPEC") #define NO_FG_EXEC #define NO_FORK_ON_EXIT #endif #ifdef UNIX #define tmkdir(dir, mode) mkdir(dir, mode) //#define z_sock_errno errno #define sock_strerror_r strerror_r //#define SO4 #endif int save_screen(void); int restore_screen(void); gchar * get_mp(gchar *device); int floppy_is_mounted(gchar *floppydev, gchar *path_to_floppy); int is_in_mtab(gchar *mp); extern int sound_pid; int init_sound(void); int free_sound(void); int abort_sound(void); int sound(int freq); struct terminal; int is_xterm(void); int can_twterm(void); int term_get_terminal_size(int, int *, int *); void handle_terminal_resize(int, void (*)(void *)); void unhandle_terminal_resize(int); void set_bin(int); int get_input_handle(void); int get_output_handle(void); int get_ctl_handle(void); void *handle_mouse(int, void (*)(void *, char *, int), void *); void unhandle_mouse(void *); int check_file_name( char *); int start_thread(void (*)(void *, int), void *, int); char *get_clipboard_text(void); void set_clipboard_text(char *); void set_window_title( char *); char *get_window_title(void); int is_safe_in_shell( char); void check_shell_security( char **); void block_stdin(void); void unblock_stdin(void); int exe(char *); int resize_window(int, int); #endif tucnak-4.32/src/dsp.c0000644000175000000410000002070113306035511011356 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2018 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "alsa.h" #include "dsp.h" #include "fifo.h" #include "language2.h" #include "oss.h" #include "pa.h" #include "rtlsdr.h" #include "rc.h" #include "sndf.h" #include "sndpipe.h" #include "sdrc.h" #include "tsdl.h" struct dsp *init_dsp(enum dsp_type type, enum dsp_cfg_group dcg){ struct dsp *dsp; progress(VTEXT(T_INIT_SOUNDCARD)); dsp = g_new0(struct dsp, 1); dsp->type = type; #if defined(HAVE_OSS) || defined(HAVE_SWRADIO) dsp->fd = -1; #endif #if (!defined(HAVE_OSS)) && (!defined(HAVE_ALSA) && !defined(HAVE_SNDFILE)) dsp->type = DSPT_PORTAUDIO; #endif #if defined(HAVE_ALSA) && (!defined(HAVE_PORTAUDIO)) if (dsp->type == DSPT_PORTAUDIO) dsp->type = DSPT_ALSA; #endif #ifdef HAVE_SNDFILE dsp->set_format = dummy_dsp_set_format; #endif dsp->open = dummy_dsp_open; dsp->close2 = dummy_dsp_close; dsp->write = dummy_dsp_write; dsp->read = dummy_dsp_read; dsp->reset = dummy_dsp_reset; dsp->sync = dummy_dsp_sync; dsp->set_source = dummy_dsp_set_source; dsp->set_plevel = dummy_dsp_set_plevel; dsp->set_sdr_format = dummy_dsp_set_sdr_format; switch(dsp->type){ case DSPT_OSS: #ifdef HAVE_OSS #ifdef HAVE_SNDFILE dsp->set_format = oss_set_format; #endif dsp->open = oss_open; dsp->close2 = oss_close; dsp->write = oss_write; dsp->read = oss_read; dsp->reset = oss_reset; dsp->sync = oss_sync; dsp->set_source = oss_set_source; dsp->set_plevel = oss_set_plevel; switch (dcg){ case DCG_SSBD: dsp->oss_filename = g_strdup(cfg->ssbd_dsp); dsp->oss_mixer = g_strdup(cfg->ssbd_mixer); if (cfg->ssbd_oss_src){ dsp->source = g_strdup(cfg->ssbd_oss_src); }else{ dsp->source = g_strdup(oss_recsrc2source(cfg->ssbd_recsrc)); } break; case DCG_SDR: zinternal("OSS not supported for SDR"); break; } #else log_addf(VTEXT(T_NO_OSS)); #endif break; case DSPT_ALSA: #ifdef HAVE_ALSA #ifdef HAVE_SNDFILE dsp->set_format = alsa_set_format; #endif dsp->open = alsa_open; dsp->close2 = alsa_close; dsp->write = alsa_write; dsp->read = alsa_read; dsp->reset = alsa_reset; dsp->sync = alsa_sync; dsp->set_sdr_format = alsa_set_sdr_format; dsp->set_source = alsa_set_source; dsp->set_plevel = alsa_set_plevel; dsp->pcm_opened = 0; snd_lib_error_set_handler(z_alsa_error_handler); switch (dcg){ case DCG_SSBD: dsp->pcm_play = g_strdup(cfg->ssbd_pcm_play); dsp->pcm_rec = g_strdup(cfg->ssbd_pcm_rec); dsp->alsa_mixer = g_strdup(cfg->ssbd_alsa_mixer); dsp->alsa_src = g_strdup(cfg->ssbd_alsa_src); break; case DCG_SDR: dsp->pcm_play = g_strdup(cfg->sdr_pcm_play); dsp->pcm_rec = g_strdup(cfg->sdr_pcm_rec); break; } #else log_addf(VTEXT(T_NO_ALSA)); #endif break; /*case DSPT_SSBD:*/ case DSPT_PORTAUDIO: #ifdef HAVE_PORTAUDIO #ifdef HAVE_SNDFILE dsp->set_format = pa_set_format; #endif dsp->open = pa_open2; dsp->close2 = pa_close2; dsp->write = pa_write2; dsp->read = pa_read2; dsp->reset = pa_reset2; dsp->sync = pa_sync2; #ifdef HAVE_SNDFILE dsp->set_sdr_format = pa_set_sdr_format; #endif if (!pa_initialised){ Pa_Initialize(); pa_initialised = 1; } switch (dcg){ case DCG_SSBD: dsp->pa_play = cfg->ssbd_pa_play; dsp->pa_rec = cfg->ssbd_pa_rec; break; case DCG_SDR: dsp->pa_play = cfg->sdr_pa_play; dsp->pa_rec = cfg->sdr_pa_rec; break; } #else log_addf(VTEXT(T_NO_PORTAUDIO)); #endif break; case DSPT_SNDFILE: #ifdef HAVE_SNDFILE dsp->open = sndfile_open; dsp->close2 = sndfile_close; dsp->write = sndfile_write; dsp->read = sndfile_read; dsp->reset = sndfile_reset; dsp->sync = sndfile_sync; dsp->set_format = sndfile_set_format; dsp->set_sdr_format = sndfile_set_sdr_format; switch (dcg){ case DCG_SSBD: break; case DCG_SDR: dsp->rec_filename = g_strdup(cfg->sdr_sndfilename); dsp->play_filename = g_strdup(cfg->sdr_af_filename); break; } #else log_addf(VTEXT(T_NO_SNDFILE)); #endif break; case DSPT_SNDPIPE: #ifdef USE_SDR dsp->open = sndpipe_open; dsp->close2 = sndpipe_close; dsp->write = sndpipe_write; dsp->read = sndpipe_read; dsp->reset = sndpipe_reset; dsp->sync = sndpipe_sync; #ifdef HAVE_SNDFILE dsp->set_format = sndpipe_set_format; #endif dsp->set_sdr_format = sndpipe_set_sdr_format; switch (dcg){ case DCG_SSBD: break; case DCG_SDR: break; } dsp->pipe[0] = -1; dsp->pipe[1] = -1; #else log_addf(VTEXT(T_NO_SNDPIPE)); #endif break; case DSPT_SDRC: dsp->open = sdrc_open; dsp->close2 = sdrc_close; dsp->write = sdrc_write; dsp->read = sdrc_read; dsp->reset = sdrc_reset; dsp->sync = sdrc_sync; #ifdef HAVE_SNDFILE dsp->set_format = sdrc_set_format; #endif dsp->set_sdr_format = sdrc_set_sdr_format; break; case DSPT_SWRADIO: #ifdef HAVE_SWRADIO dsp->open = swradio_open; dsp->close2 = swradio_close; dsp->read = swradio_read; #else log_addf("No support for /dev/swradio"); #endif break; case DSPT_RTLSDR: #ifdef HAVE_LIBRTLSDR dsp->open = rtlsdr_open2; dsp->close2 = rtlsdr_close2; dsp->read = rtlsdr_read; dsp->set_sdr_format = rtlsdr_set_sdr_format; dsp->rtlsdr_device = g_strdup("0"); #else log_addf("No support for librtlsdr"); #endif break; default: zinternal("bad dsp->type"); break; } switch (dcg){ case DCG_SSBD: dsp->period_time = cfg->ssbd_period_time; dsp->plev = cfg->ssbd_plev; dsp->rlev = cfg->ssbd_rlev; break; case DCG_SDR: dsp->plev = -1; dsp->rlev = -1; break; } return dsp; } void free_dsp(struct dsp *dsp){ if (!dsp) return; dbg("free_dsp(%p) type=%d\n", dsp, dsp->type); progress(VTEXT(T_TERMINATING_SOUNDCARD)); dsp->close2(dsp); #ifdef HAVE_OSS zg_free0(dsp->oss_filename); zg_free0(dsp->oss_mixer); #endif #ifdef HAVE_ALSA zg_free0(dsp->alsa_mixer); zg_free0(dsp->alsa_src); zg_free0(dsp->pcm_play); zg_free0(dsp->pcm_rec); #endif #ifdef HAVE_PORTAUDIO if (dsp->type == DSPT_PORTAUDIO) { //Pa_Terminate(); //pa_initialised = 0; } #endif #ifdef HAVE_SNDFILE if (dsp->sndfile) sf_close(dsp->sndfile); zg_free0(dsp->sfinfo); zg_free0(dsp->play_filename); zg_free0(dsp->rec_filename); #endif #ifdef HAVE_LIBRTLSDR zg_free0(dsp->rtlsdr_device); zg_free0(dsp->rtlsdr_buf); #endif zg_free0(dsp->name); zg_free0(dsp->source); g_free(dsp); } #ifdef HAVE_SNDFILE int dummy_dsp_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec){ return 0; } #endif int dummy_dsp_open(struct dsp *dsp, int rec){ return 0; } int dummy_dsp_close(struct dsp *dsp){ return 0; } int dummy_dsp_get_bufsize(struct dsp *dsp){ return -1; } int dummy_dsp_write(struct dsp *dsp, void *data, int len){ return 0; } int dummy_dsp_read(struct dsp *dsp, void *data, int len){ return 0; } int dummy_dsp_reset(struct dsp *dsp){ return 0; } int dummy_dsp_sync(struct dsp *dsp){ return 0; } int dummy_dsp_set_source(struct dsp *dsp){ return 0; } int dummy_dsp_set_plevel(struct dsp *dsp){ return 0; } int dummy_dsp_set_sdr_format(struct dsp *dsp, int blocksize, int speed, int rec){ return 0; } int dsp_write_empty(struct dsp *dsp){ int ret; void *buf = g_new0(char, dsp->bytes); ret = dsp->write(dsp, buf, dsp->frames); g_free(buf); return ret; } tucnak-4.32/src/menu.h0000644000175000017500000001303613761411352011562 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __MENU_H #define __MENU_H #include "header.h" struct dialog_data; struct dialog_item_data; struct menu; struct qso; struct session; struct wizz_item; struct zstring; struct refresh { struct window *win; void (*fn)(void *arg); void *data; int timer; }; #define CONDGFREE(item) { if (item) { g_free(item); item=NULL; }} #define STORE_STR(base,item) \ if (base->item) g_free(base->item); \ base->item = g_strdup(item); #define STORE_STR_UC(base,item) \ if (base->item) g_free(base->item); \ base->item = g_strdup(item); \ z_str_uc(base->item); #define STORE_STR_FS(base,item) \ if (base->item) g_free(base->item); \ base->item = g_strdup(item); \ fixsemi(base->item) #define STORE_STR_FS_UC(base,item) \ if (base->item) g_free(base->item); \ base->item = g_strdup(item); \ fixsemi(base->item); \ z_str_uc(base->item); #define STORE_STR2(dbase,sbase,item) \ if (dbase->item) g_free(dbase->item); \ dbase->item = g_strdup(sbase->item); #define STORE_STR2_UC(dbase,sbase,item) \ if (dbase->item) g_free(dbase->item); \ dbase->item = g_strdup(sbase->item); \ z_str_uc(dbase->item); #define STORE_INT(base, item) \ base->item = item; #define STORE_ENUM(base, item, type) \ base->item = (type)item; #define STORE_SINT(base, item) \ base->item = atoi(item##_str); #define STORE_SHEX(base, item) \ base->item = strtol(item##_str, NULL, 16); #define STORE_SDBL(base, item) \ base->item = atof(item##_str); #define STORE_STR3(base,item,src,first) \ if (base->item) g_free(base->item); \ base->item = g_strdup(ztokenize(src, first)); #define LOAD_STR(base,item) \ safe_strncpy0(item, base->item, sizeof(item)); #define LOAD_INT(base,item) \ item = base->item #define LOAD_SINT(base,item) \ g_snprintf(item##_str, sizeof(item##_str), "%d", base->item) #define LOAD_SHEX2(base,item) \ g_snprintf(item##_str, sizeof(item##_str), "%02x", base->item) #define LOAD_SHEX4(base,item) \ g_snprintf(item##_str, sizeof(item##_str), "%04x", base->item) #define LOAD_SDBL(base,item) \ g_snprintf(item##_str, sizeof(item##_str), "%1.0f", base->item) struct tmpqso; //int fileno(FILE *stream); void activate_bfu_technology(int); void free_history_lists(void); void exit_prog(void *arg); void menu_play_last(void *arg); void menu_break_record(void *arg); void menu_export_edi(void *arg); void menu_export_sota(void *arg); void menu_export_report(void *arg); void menu_export_html(void *arg); void menu_export_stats(void *arg); void menu_export_titlpage(void *arg); void menu_save_all(void *arg); void do_edit_menu(void *arg); void menu_contest_open(void *arg); void free_namelist(void); void do_peer_menu( void (* func)(void *arg)); void do_peer_operators_menu(void (* func)(void *arg)); void menu_load_from_peer(void *arg); void menu_spy_from_peer(void *arg); void menu_discover_peers3(void *itarg, void *menuarg); void spy3(void *); void do_spy_peer_menu(void (* func)(void *arg)); void menu_set_language(void *arg); void menu_contest_config_from_peer(void *arg); void send_contest_config_request(int no); void open_from_net3(void *arg); void menu_language_list(void *arg); void subwins_menu(void *arg); void refresh(struct refresh *r); void refresh_abort(struct dialog_data *dlg); void contest_choose(void (*funcall)(struct menu *menu)); /* menu1.c */ void band_settings(void *arg, int from_ctest); void menu_wizz(void *arg); void contest_options1(char *title, int from_ctest, struct wizz_item *wi); void contest_options1_from_menu(void *arg); void contest_options1_from_ctest(void *arg); void contest_def(void *pfirst); void edi_prop(void *arg); int dlg_edi_prop(struct dialog_data *dlg, struct dialog_item_data *di); void menu_responsible_op(void *arg); void refresh_contest_options1(void *xxx); void init_ctest2(int from_dlg, int updloc, struct zstring *zs, struct wizz_item *wi); /* menu2.c */ void edit_qso(struct qso *qso); /* menu3.c */ void duplicate_callsign(struct qso *qso); void menu_add_error(void *arg); void menu_chop(void *arg); void menu_skedqrg(void *arg); void menu_fillop(void *arg); void menu_recalc_qrb(void *arg); void menu_cw_update_contest(void *arg); void menu_cw_update_band(void *arg); void menu_exc_update_contest(void *arg); void menu_exc_update_band(void *arg); void menu_import_ebw(void *arg); void menu_autosave(void *arg); void menu_add_subwin(void *arg); void menu_close_subwin(void *arg); void menu_split_subwin(void *arg); void menu_remove_split(void *arg); void menu_unfinished(void *arg); /* menu4.c */ void menu_cq_cw(void *arg); void menu_cq_ssb(void *arg); void menu_cwda(void *arg); void menu_ssbd(void *arg); void menu_network(void *arg); /* menu5.c */ void misc_opts(void *arg); #ifdef HAVE_HAMLIB void menu_fixqrg(void *itdata, void *menudata); #endif void winkey_opts(void *arg); int dlg_winkey_opts(struct dialog_data *, struct dialog_item_data *); void menu_rig_opts(void *arg); void menu_rigs(void *arg); void menu_rotars(void *arg); /* menu6.c */ void refresh_httpd_opts(void *arg); void menu_httpd_opts(void *arg); void load_from_net(void *arg); void robands(void *arg); void menu_set_mode(void *itdata, void *menudata); void menu_ac_opts(void *arg); void menu_sdr_opts(void *arg); /* menu7.c */ void menu_rain_opts(void *itdata, void *menudata); #endif tucnak-4.32/src/cwwindow.h0000644000175000017500000000100411571415355012453 00000000000000 /* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __CWWINDOW_H #define __CWWINDOW_H #include "header.h" #include "bfu.h" struct cwwin_data{ int x,y,w,h; GString *text; int speed; }; void cwwindow_func(struct window *win, struct event *ev, int fwd); #endif tucnak-4.32/src/oss.h0000644000175000017500000000157712276423443011435 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __OSS_H #define __OSS_H #include "header.h" #include "dsp.h" #ifdef HAVE_OSS #ifdef HAVE_SNDFILE int oss_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec); #endif int oss_open(struct dsp *dsp, int rec); int oss_close(struct dsp *dsp); int oss_write(struct dsp *dsp, void *data, int frames); int oss_read(struct dsp *dsp, void *data, int frames); int oss_reset(struct dsp *dsp); int oss_sync(struct dsp *dsp); int oss_get_sources(struct dsp *dsp, GString *labels); int oss_set_source(struct dsp *dsp); int oss_set_plevel(struct dsp *dsp); char *oss_recsrc2source(int recsrc); #endif #endif tucnak-4.32/src/fifo.h0000644000175000017500000000261313737416550011550 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __FIFO_H #define __FIFO_H struct fifo{ int x,y,w,h,maxlen,ho; int withouttime; GPtrArray *items; }; #define log_adds(s) fifo_adds(glog, s) extern struct fifo *glog, *gtalk; struct fifo *init_fifo(int maxlen); void fifo_resize(struct fifo *log, int x, int y, int w, int h); void free_fifo(struct fifo *fifo); void drop_fifo(struct fifo *fifo); void fifo_adds(struct fifo *fifo, gchar *str); void fifo_addf(struct fifo *fifo, char *m, ...); void fifo_addfq(struct fifo *fifo, char *m, ...); void log_addf(char *m, ...); int fifo_len(struct fifo *fifo); gchar *fifo_index(struct fifo *fifo, int); int save_fifo_to_file(struct fifo *fifo, gchar *filename); int load_fifo_from_file(struct fifo *fifo, gchar *filename, int drop); void log_draw(struct fifo *fifo); void fifo_add_lines(struct fifo *fifo, char *data); int fifo_contains(struct fifo *fifo, char *needle); char *fifo_call_under(struct fifo *fifo, int x, int y); void fifo_message(void *itdata, void *menudata); void fifo_kst_info(void *itdata, void *menudata); #ifdef Z_HAVE_SDL void fifo_kst_ac_info(void *itdata, void *menudata); #endif #endif tucnak-4.32/src/dxc.c0000644000175000017500000010453414016001471011362 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdb.h" #include "dwdb.h" #include "dxc.h" #include "excdb.h" #include "inputln.h" #include "kbd.h" #include "kbdbind.h" #include "main.h" #include "rc.h" #include "qsodb.h" #include "session.h" #include "stats.h" #include "subwin.h" #include "terminal.h" #include "tregex.h" #include "trig.h" #include "tsdl.h" #include "qrvdb.h" #include "qsodb.h" //#define MIN_SPOTLEN 74 #define MIN_SPOTLEN 29 #define STR_DX_DE "DX de" #define FROM_OFS 6 #define CALL_OFS 26 #define TEXT_OFS 39 #define ZULU_OFS 70 #define FROM_SEP ' ' #define DXC_EXPIRE_TIMER 5*60*1000 struct spotdb_t *spotdb=NULL; struct spotdb_t *init_spotdb(void){ struct spotdb_t *spotdb; progress(VTEXT(T_INIT_DXC)); spotdb = g_new0(struct spotdb_t, 1); spotdb->bands = z_ptr_array_new(); { zg_ptr_array_foreach(struct config_band *, cband, cfg->bands) { struct spotband *sband = sband = g_new0(struct spotband, 1); sband->bandchar = z_char_uc(cband->bandchar); sband->freq = z_ptr_array_new(); sband->current = 0; sband->min_khz = cband->qrg_min; sband->max_khz = cband->qrg_max; z_ptr_array_add(spotdb->bands, sband); } } spotdb->timer_id = zselect_timer_new(zsel, DXC_EXPIRE_TIMER, dxc_timer, NULL); return spotdb; } void free_spotdb(struct spotdb_t *spotdb){ progress(VTEXT(T_FREE_DXC)); zselect_timer_kill(zsel, spotdb->timer_id); { zg_ptr_array_foreach(struct spotband *, sband, spotdb->bands) { zg_ptr_array_foreach(struct spot *, spot, sband->freq) { free_spot(spot); } z_ptr_array_free(sband->freq, TRUE); } z_ptr_array_free(spotdb->bands, TRUE); } g_free(spotdb); } struct spotband *get_spotband_by_khz(int khz){ zg_ptr_array_foreach(struct spotband *, sband, spotdb->bands) { if (khz < sband->min_khz) continue; if (khz > sband->max_khz) continue; return sband; } return NULL; } struct spotband *get_actual_spotband(){ if (aband){ zg_ptr_array_foreach(struct spotband *, sband, spotdb->bands) { if (sband->bandchar == z_char_uc(aband->bandchar)) return sband; } } return NULL; } void dxc_timer(void *arg){ int n; n = dxc_remove_expired(); /*dbg("dxc_timer expired=%d\n",n);*/ if (n){ redraw_later(); } spotdb->timer_id = zselect_timer_new(zsel, DXC_EXPIRE_TIMER, dxc_timer, NULL); } // "DX de 5B4AIX: 144250.0 C91KHN USUAL ZOO.. 1732Z KM64 // "DX de F4EGZ-#: 50009.4 SV9SIX 09 dB 9 WPM BEACON 1158Z" char * struct spot *dxc_parse_spot(gchar *str){ double qrg; gchar *callsign,*from,*text; int zulu; struct spot *spot; gchar *c,*d; time_t now; char *c1=NULL, *c2=NULL; // dbg("dxc_parse_spot('%s')]\n", str); if (regmatch(str, "SFI=([0-9]{1,3})", &c1, &c2, NULL)==0){ spotdb->sfi = atoi(c2); } if (c1) g_free(c1); if (c2) g_free(c2); if (strlen(str)ZULU_OFS){ d=str+ZULU_OFS; d[4]='\0'; zulu=atoi(d); }else{ time_t now; struct tm tm; now = time(NULL); gmtime_r(&now, &tm); zulu = tm.tm_hour * 100 + tm.tm_min; } if (strlen(str)>TEXT_OFS){ d=str+TEXT_OFS; if (strlen(str)>ZULU_OFS){ str[ZULU_OFS]='\0'; } c=strrchr(d, ' '); g_strstrip(d); if (!c) c=d+ZULU_OFS-1; text=g_strndup(d, c-d); }else{ text=g_strdup(""); } now=time(NULL); spot=g_new0(struct spot, 1); /* LEAK */ spot->qrg =qrg; spot->callsign=callsign; spot->from =from; spot->text =text; spot->zulu =zulu; #if 1 spot->endbold =now + 15 * 60; spot->expire =now + 60 * 60; #else spot->endbold =now + 1 * 60; spot->expire =now + 2 * 60; #endif // dbg("call='%s' qrg='%3.1f' from='%s' text='%s' zulu='%d'\n", callsign, qrg, from, text, zulu); return spot; x:; zg_free0(callsign); zg_free0(from); zg_free0(text); return NULL; } void free_spot(struct spot *spot){ /*dbg("free_spot(%p)\n", spot);*/ if (!spot) return; g_free(spot->callsign); g_free(spot->from); g_free(spot->text); g_free(spot); } /* removes spot from list, don't free it from mem */ void remove_spot(struct spotband *sband, int spot_i){ struct spot *spot; spot = (struct spot *)z_ptr_array_index(sband->freq, spot_i); z_ptr_array_remove_index(sband->freq, spot_i); free_spot(spot); if (spot_i < sband->current) sband->current--; // can reach -1 if (sband->current >= sband->freq->len) sband->current = sband->freq->len - 1; } int dxc_read_spot(gchar *str){ struct spot *newspot; gchar *s; int newpos; struct spotband *sband; struct band *band; int filterspot = 0; /*dbg("dxc_read_spot('%s')\n", str);*/ s=g_strdup(str); newspot=dxc_parse_spot(s); g_free(s); if (!newspot) return -3; /*dbg(" spot accepted %p\n", str, newspot);*/ sband = get_spotband_by_khz((int)newspot->qrg); if (!sband){ // dbg(" bad qrg %d\n", (int)newspot->qrg); free_spot(newspot); if (ctest) return 1; // in contest we filter unknown bands (warc) return -1; } if (ctest){ band = find_band_by_bandchar(sband->bandchar); if (!band){ filterspot = 1; }else{ if (band->readonly) filterspot = 1; } } /*if (print && !filterspot) { zg_ptr_array_foreach(struct subwin *, sw, gses->subwins){ if (sw->type != SWT_DXC) continue; sw_printf(sw, "%s\n", str); } } */ newpos = 0; { zg_ptr_array_foreachback(struct spot *, spot, sband->freq){ if (strcasecmp(spot->callsign, newspot->callsign) == 0 ) { remove_spot(sband, spot_i); break; } } { zg_ptr_array_foreach(struct spot *, spot, sband->freq) { if (spot->qrg > newspot->qrg) break; newpos = spot_i + 1; } } //dxc_dump(sband); //dbg("insert %s %9.1f\n", newspot->callsign, newspot->qrg); z_ptr_array_insert(sband->freq, newspot, newpos); if (newpos < sband->current) sband->current++; if (sband->current < 0) sband->current = 0; //dxc_dump(sband); } return filterspot; } int dxc_remove_expired(void){ int n; time_t now; n=0; now=time(NULL); { zg_ptr_array_foreach(struct spotband *, sband, spotdb->bands) { zg_ptr_array_foreachback(struct spot *, spot, sband->freq) { if (spot->expire >= now) continue; remove_spot(sband, spot_i); n++; } } } return n; } void dxc_dump(struct spotband *sband){ dbg("dxc_dump\n"); { zg_ptr_array_foreach(struct spot *, spot, sband->freq) { dbg("%c%02d: %10s %10s %10.1f\n", sband->bandchar, spot_i, spot->from, spot->callsign, spot->qrg); } } dbg("----\n"); } /* 0 6 17 26 39 70 DX de ja8edu: 21285.0 OK2SSD CQ,CQ DX 0759Z DX de JA8EDU: 21285.0 OK2SSD CQ,CQ DX 0759Z DX de HL2IFR: 24900.2 BA4ED AS-136 0807Z DX de HL2IFR: 24900.2 BA4ED AS-136 33 0807Z 44 DX de JA9LSZ: 28008.2 8Q7VR cq 0815Z DX de JA9LSZ: 28008.2 8Q7VR cq 0815Z DX de OK1MZM: 144300.0 I4XCC 1116Z 55 JN63GV<---JN69QS 144370.0 SM/DJ8MS 5-Mar-2003 0801Z cq 357 JO88 dir G 144370.0 SM/DJ8MS 5-Mar-2003 0801Z cq 357 JO88 dir G 144370.0 SM/DJ8MS 0801 5.3 DJ8MS cq 357 JO88 dir G 144370.0 SM/DJ8MS 5-Mar-2003 0801Z cq 357 JO88 dir G 144370.0 SM/DJ8MS 0801 5.3 DJ8MS cq 357 JO88 dir G 144370.0 SM/DJ8MS 5-Mar-2003 0801Z cq 357 JO88 dir G 144300.0 HB9QQ 1821 21.8 ON1AEN JN47 SRI TYPO */ /*#define dxc_highlight(text, ho, needle, color){\ gchar *cc, *d, *fd; \ int rx, fx, fl; \ \ if ((needle) && strlen(needle)>=1){ \ cc=(text); \ while ((d=z_strcasestr((cc), (needle)))!=NULL){ \ fl=MIN(sw->w-(d-(text))+(ho) , strlen(needle)); \ fx=rx=d-(text)-(ho); \ fd=d; \ if (rx<0) { \ fl+=rx; \ fx=0; \ fd=d-rx; \ } \ if (fl>0) print_text(sw->x+fx, sw->y+i, fl, fd, (color)); \ cc=d+strlen(needle); \ } \ }\ } */ int sw_dxc_kbd_func(struct subwin *sw, struct event *ev, int fw){ /*dbg("sw_dxc_kbd_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b);*/ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (sw->il && ( sw->il->wasctrlv || (ev->x!='[' && ev->x!=']') )){ int ret; ret = inputln_func(sw->il, ev); if (ev->x!=KBD_LEFT && ev->x!=KBD_RIGHT && ev->x!=KBD_HOME && ev->x!=KBD_END){ if (strlen(sw->il->cdata) < 1){ zg_free0(sw->pattern); }else{ char *c; c = strchr(sw->il->cdata, ' '); if (c){ zg_free0(sw->pattern); }else{ zg_free0(sw->pattern); sw->pattern = g_strdup(sw->il->cdata); } sw->offset = 0; } redraw_later(); if (ret) return ret; } //dbg("sw->pattern('%s')\n", sw->pattern); }else{ //dbg("sw->pattern('%s')\n", sw->pattern); } if (ev->y & KBD_SHIFT){ switch (ev->x){ case KBD_UP: if (sw->side_bott) return 1; sw->dxc_offset -= 1; //if (sw->dxc_offset < 0) sw->dxc_offset = 0; //dbg("dxc_offset=%d\n", sw->dxc_offset); redraw_later(); return 1; case KBD_DOWN: if (sw->side_top) return 1; sw->dxc_offset += 1; //dbg("dxc_offset=%d\n", sw->dxc_offset); redraw_later(); return 1; case KBD_PGUP: if (sw->side_bott) return 1; sw->dxc_offset -= sw->h / 2; //if (sw->dxc_offset < 0) sw->dxc_offset = 0; redraw_later(); return 1; case KBD_PGDN: if (sw->side_top) return 1; sw->dxc_offset += sw->h / 2; redraw_later(); return 1; case KBD_HOME: sw->dxc_offset = 0; redraw_later(); return 1; } } if (ev->y & KBD_CTRL){ struct spot *spot; struct spotband *sband = get_actual_spotband(); if (sband == NULL) return 1; if (sband->current < 0 || sband->current >= sband->freq->len) return 1; switch (ev->x){ case KBD_UP: if (sband->current + 1 >= sband->freq->len) return 1; sband->current++; spot = (struct spot *)z_ptr_array_index(sband->freq, sband->current); if (spot == NULL) return 1; #ifdef HAVE_HAMLIB trigs_set_qrg(gtrigs, spot->qrg * 1000.0); #endif redraw_later(); return 1; case KBD_DOWN: if (sband->current - 1 < 0) return 1; sband->current--; spot = (struct spot *)z_ptr_array_index(sband->freq, sband->current); if (spot == NULL) return 1; #ifdef HAVE_HAMLIB trigs_set_qrg(gtrigs, spot->qrg * 1000.0); #endif redraw_later(); return 1; } } switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_DOWN: sw->offset--; sw->check_bounds(sw); redraw_later(); return 1; case ACT_UP: sw->offset++; sw->check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_DOWN: sw->offset -= sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_UP: sw->offset += sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_HOME: sw->offset = sw->lines->len - sw->h; sw->check_bounds(sw); redraw_later(); return 1; case ACT_END: sw->offset = 0; sw->check_bounds(sw); redraw_later(); return 1; case ACT_SCROLL_LEFT: if (sw->lines) if (sw->ho>0) sw->ho--; redraw_later(); return 1; case ACT_SCROLL_RIGHT: if (sw->lines) sw->ho++; redraw_later(); } return 0; } int sw_dxc_mouse_func(struct subwin *sw, struct event *ev, int fw){ struct menu_item *mi = NULL; int y, items = 0; if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (ev->b & B_DRAG){ int dy = sw_accel_dy(sw, ev); if (dy == 0) return 1; if (ev->x > sw->w){ //dbg("dy=%d\n", dy); if (dy > 0){ if (sw->side_bott) return 1; if (dy > sw->h / 2) dy = sw->h / 2; }else{ if (sw->side_top) return 1; if (- dy > sw->h / 2) dy = - sw->h / 2; } //dbg("fixed dy=%d\n", dy); sw->dxc_offset -= dy; //if (sw->dxc_offset < 0) sw->dxc_offset = 0; redraw_later(); return 1; } sw->offset += dy; sw->check_bounds(sw); redraw_later(); return 1; } //if ((ev->b & BM_ACT)!=B_DOWN) return 0; // dbg("ev->b=%x BM_ACT=%x B_DOWN=%x BM_EBUTT=%x \n", ev->b, BM_ACT, B_DOWN, BM_EBUTT); if (cfg->usetouch && (ev->b & BM_EBUTT) == B_LEFT) ev->b = (ev->b & ~BM_EBUTT) | B_RIGHT; switch (ev->b & BM_BUTCL){ case B_LEFT: case B_RIGHT: sw->olddragx = ev->x; sw->olddragy = ev->my; return 1; case B_LEFT | B_CLICK: if (!sw->il) break; if (ev->y==sw->y+sw->h){ inputln_func(sw->il, ev); return 1; } g_free(sw->callunder); g_free(sw->refunder); sw->refunder = NULL; sw->callunder = sw_dxc_call_under(sw, ev->x - sw->x + sw->ho, ev->y - sw->y, &sw->qrg, &(sw->refunder)); if (!sw->callunder) break; sw_dxc_toggle_highlight(sw, sw->callunder, 1); return 1; case B_MIDDLE: /* dbg("middle\n");*/ break; case B_RIGHT | B_CLICK: if (ev->y==sw->y+sw->h){ inputln_func(sw->il, ev); return 1; } g_free(sw->callunder); g_free(sw->refunder); sw->refunder = NULL; sw->callunder = sw_dxc_call_under(sw, ev->x - sw->x + sw->ho, ev->y - sw->y, &sw->qrg, &(sw->refunder)); if (!sw->callunder) break; mi = new_menu(1); mi->rtext = sw->callunder; add_to_menu(&mi, CTEXT(T_SELECT), "", CTEXT(T_HK_SELECT), sw_dxc_select, NULL, 0); items++; add_to_menu(&mi, CTEXT(T_HIDE), "", CTEXT(T_HK_HIDE), sw_dxc_hide, NULL, 0); items++; add_to_menu(&mi, CTEXT(T_INFO), "", CTEXT(T_HK_INFO), sw_dxc_info, NULL, 0); items++; if (aband) { add_to_menu(&mi, CTEXT(T_USE), "", CTEXT(T_HK_USE), sw_dxc_use, NULL, 0); items++; } y = ev->y - 1; if (cfg->usetouch) y = ev->y - items - 1; set_window_ptr(gses->win, ev->x - 3, y); do_menu(mi, sw); break; case B_WHUP: /* dbg("wheel up\n");*/ if (ev->x > sw->w){ if (sw->side_bott) return 1; sw->dxc_offset -= 3; //if (sw->dxc_offset < 0) sw->dxc_offset = 0; //dbg("dxc_offset=%d\n", sw->dxc_offset); redraw_later(); return 1; } sw->offset+=3; sw->check_bounds(sw); redraw_later(); return 1; case B_WHDOWN: /* dbg("wheel down\n"); */ if (ev->x > sw->w){ if (sw->side_top) return 1; sw->dxc_offset += 3; //dbg("kst_offset=%d\n", sw->kst_offset); redraw_later(); return 1; } sw->offset-=3; sw->check_bounds(sw); redraw_later(); return 1; } return 0; } void sw_dxc_redraw(struct subwin *sw, struct band *band, int flags){ int i, index, col; gchar *line, *pcall, *ccall; int ccol; struct spotband *sband; int ofs = 0; sband = get_actual_spotband(); //dbg("sw->il = %p\n", sw->il); if (ctest){ pcall = ctest->pcall; }else{ pcall = cfg->pcall; } //dbg("sw_dxc_redraw: offset=%d pattern='%s'\n", sw->offset, sw->pattern); //dbg("sw_dxc_redraw: term->x=%d ww=%d w=%d\n", term->x, sw->ww, sw->w); if (sw->pattern){ index = sw->lines->len; ofs = sw->offset; }else{ index = sw->lines->len - sw->offset; } for (i = sw->h - 1; i >= 0; i--){ if (sw->pattern){ for (index--; index >= 0; index--){ char *x; if (index < 0 || index >= sw->lines->len) line = "~"; else line = (char *)g_ptr_array_index(sw->lines, index); x = z_strcasestr(line, sw->pattern); //dbg("i=%d index=%d x=%p line=%s\n", i, index, x, line); if (x != 0) { if (ofs) ofs--; else goto found; } } continue; }else{ index--; if (index < 0 || index >= sw->lines->len) line = "~"; else line = (char *)g_ptr_array_index(sw->lines, index); } found:; if (!line || strlen(line) <= sw->ho) continue; col = sw_dxc_line_color(sw, line); ccall = sw_dxc_counterp(sw, line, &ccol); if (sw->pattern){ set_color(sw->x - 1, sw->y + i, COL_DARKCYAN * 8 | COL_NORM); //print_text(sw->x, sw->y+i, 1, " ", COL(6 * 8)); print_text(sw->x, sw->y+i, sw->w, line + sw->ho, col); if (ccall) sw_highlight(sw, line, ccall, ccol, i, 1); //dxc_highlight(line, sw->ho, pcall, COL_RED); sw_highlight(sw, line, sw->pattern, COL_RED, i, 0); }else{ print_text(sw->x, sw->y+i, sw->w, line + sw->ho, col); if (ccall) sw_highlight(sw, line, ccall, ccol, i, 1); sw_highlight(sw, line, pcall, COL_RED, i, 1); } } if (sband){ int y, idx; time_t now; //char raw[20]; int col; int maxw = 0; char s[1000]; for (y = 0; y < sw->hh; y++){ int lll; struct spot *spot; idx = sband->current + sw->h / 2 - y; if (idx < 0 || idx >= sband->freq->len) continue; spot = (struct spot *)z_ptr_array_index(sband->freq, idx); sprintf(s, "%1.1f", spot->qrg); lll = strlen(s); if (lll > maxw) maxw = lll; } now = time(NULL); sw->side_top = sw->side_bott = 0; for (y = 0; y < sw->hh; y++){ idx = sband->current + sw->h / 2 - y - sw->dxc_offset; if (idx < 0 || idx >= sband->freq->len){ col = COL_NORM; if (idx == sband->current) col = COL_INV; clip_printf(sw, sw->w, y, col, "%-10s %-10s ", "~", ""); if (idx < 0) sw->side_top = 1; else sw->side_bott = 1; }else{ struct spot *spot = (struct spot *)z_ptr_array_index(sband->freq, idx); col = COL_NORM; if (now < spot->endbold) col = COL_WHITE; if (idx == sband->current) clip_printf(sw, sw->w, y, COL_NORM, "["); sprintf(s, "%1.1f", spot->qrg); clip_printf(sw, sw->w+1, y, col, "%*s", maxw, s); //z_get_raw_call(raw, spot->callsign); col = sw_dxc_color(spot->callsign); // color from raw call but print whole call clip_printf(sw, sw->w + maxw + 1, y, col, " %s", spot->callsign); if (dxc_new_mult(spot->callsign)){ clip_printf(sw, sw->w + maxw + 1, y, col, "!"); } if (idx == sband->current) clip_printf(sw, sw->w + 21, y, COL_NORM, "]"); } } } } void sw_dxc_check_bounds(struct subwin *sw){ if (sw->offset < 0) { sw->offset=0; sw_shake(sw, 0); } if (sw->offset > sw->lines->len - 1) { sw->offset = sw->lines->len - 1; if (sw->offset >= 0) sw_shake(sw, 1); } if (sw->offset < 0) { sw->offset=0; sw_shake(sw, 0); } } void sw_dxc_enter(void *enterdata, gchar *str, int cq){ struct subwin *sw; sw = (struct subwin *)enterdata; //dbg("sw_dxc_enter('%s', %d)\n", str, sw->sock); if (sw->sock < 0){ if (strcmp(str, "") == 0){ dxc_open_connection(sw, NULL); return; } return; }else{ if (strcmp(str, "\x03") == 0){ sw_dxc_disconnect(sw); return; } send(sw->sock, str, strlen(str), 0); send(sw->sock, "\r\n", 2, 0); } } void sw_dxc_addrinfo(struct zasyncdns *adns, int n, int *family, int *socktype, int *protocol, int *addrlen, union zsockaddr *addr, char *errorstr){ struct subwin *sw; int i, ret; GString *gs; char errbuf[100]; sw = (struct subwin *)adns->arg; if (cfg->dxc_port < 1 || cfg->dxc_port > 65535){ sw_printf(sw, VTEXT(T_BAD_DXC_PORT), cfg->dxc_port); sw_printf(sw, VTEXT(T_ENTER_TO_DXC)); return; } if (errorstr != NULL){ sw_printf(sw, VTEXT(T_CANT_RESOLVE), cfg->dxc_host, errorstr); sw_printf(sw, VTEXT(T_ENTER_TO_DXC)); return; } gs = g_string_new(VTEXT(T_HOST_RESOLVED)); for (i = 0; i < n; i++){ z_sock_ntoa(gs, family[i], addr + i); g_string_append_c(gs, ' '); } g_string_append(gs, "***\n"); sw_add_block(sw, gs->str); g_string_free(gs, TRUE); for (i = 0; i < n; i++){ //dbg("socket(%d, %d, %d)\n", family[i], socktype[i], protocol[i]); //sw->sock = socket(family[i], socktype[i], protocol[i]); sw->sock = socket(family[i], SOCK_STREAM, 0); if (sw->sock < 0) { sw_printf(sw, VTEXT(T_CANT_CREATE_SOCKET), z_sock_strerror()); continue; } if (z_sock_nonblock(sw->sock, 1)) { closesocket(sw->sock); continue; } switch (family[i]){ case AF_INET: ((struct sockaddr_in *)(addr + i))->sin_port = htons(cfg->dxc_port); break; #ifdef AF_INET6 case AF_INET6: ((struct sockaddr_in6 *)(addr + i))->sin6_port = htons(cfg->dxc_port); break; #endif default: closesocket(sw->sock); continue; // unsupported protocol family } ret = connect(sw->sock, (struct sockaddr *)(addr + i), addrlen[i]); if (ret < 0){ int err = z_sock_errno; GString *gs2 = g_string_new(""); if (z_sock_wouldblock(err)){ sw_printf(sw, VTEXT(T_CONNECTING_TO), z_sock_ntoa(gs2, family[i], addr + i)); zselect_set(zsel, sw->sock, NULL, sw_dxc_connected_handler, NULL, sw); }else{ sw_printf(sw, VTEXT(T_CANT_CONNECT_TO), z_sock_ntoa(gs2, family[i], addr + i), z_sock_strerror()); closesocket(sw->sock); dbg("sw_dxc_addrinfo -1\n"); sw->sock = -1; } g_string_free(gs2, TRUE); } else{ sw_dxc_connected_handler(sw); } break; } } void sw_dxc_connected_handler(void *xxx){ struct subwin *sw = (struct subwin *)xxx; if (z_sock_error(sw->sock)){ sw_dxc_disconnect(sw); return; } sw_printf(sw, VTEXT(T_CONNECTED_SOCKET), sw->sock); zselect_set(zsel, sw->sock, sw_dxc_read_handler, NULL, NULL, sw); sw->chat = 1; } void sw_dxc_read_handler(void *xxx){ char buf[1030], *d, *last, errbuf[100]; int i, ret; struct subwin *sw = (struct subwin *)xxx; ret = recv(sw->sock, buf, 1024, 0); if (ret <= 0){ if (z_sock_errno != 0){ // zero is handled by sw_dxc_disconnect() sw_printf(sw, VTEXT(T_ERROR_READING_SOCKET), z_sock_strerror()); } sw_dxc_disconnect(sw); return; } for (i = 0, d = buf; i < ret; i++){ if (buf[i] == '\0') continue; if (buf[i] == '\r') continue; if (buf[i] == '\xff'){ if (i + 2 < ret){ if ((buf[i+1] & 0xf0) == 0xf0){ i+=2; continue; // i++ } } } *d = buf[i]; d++; } *d = '\0'; buf[ret] = '\0'; sw_add_block(sw, buf); if (!sw->ontop && !sw->unread){ //sw->unread = 1; redraw_later(); } if (!sw->chat) return; if (sw->lines->len <= 0) return; last = (char *)g_ptr_array_index(sw->lines, sw->lines->len - 1); if (last == NULL) return; if (!regcmpi(last, "^login:")){ if (cfg->dxc_user && *cfg->dxc_user){ sw_printf(sw, "%s\r\n", cfg->dxc_user); z_sock_printf(sw->sock, "%s\r\n", cfg->dxc_user); } } if (!regcmpi(last, "^password:")){ if (cfg->dxc_pass && *cfg->dxc_pass){ sw_printf(sw, "%s\r\n", cfg->dxc_pass); z_sock_printf(sw->sock, "%s\r\n", cfg->dxc_pass); } sw->chat = 0; } } void sw_dxc_disconnect(struct subwin *sw){ if (sw->sock < 0) return; sw_printf(sw, VTEXT(T_DISCONNECTED)); zselect_set(zsel, sw->sock, NULL, NULL, NULL, NULL); closesocket(sw->sock); dbg("sw_dxc_disconnect -1\n"); sw->sock = -1; sw_printf(sw, VTEXT(T_ENTER_TO_DXC)); } static void dxc_parse_qrg(char *s, double *out_qrg){ if (out_qrg != NULL){ double qrg; char *qrgstr = s + 14; if (strlen(qrgstr) > 11) qrgstr[10] = '\0'; qrg = atof(qrgstr); if (qrg > 0) *out_qrg = qrg; } } #define FREE_SW_CX if (c1) {g_free(c1); c1=NULL;} if (c2) {g_free(c2); c2=NULL;} #define REF_MAX_LEN 12 static int dxc_parse_ref(char *s, char *out_ref){ int match, ret = 0; char *c1 = NULL, *c2 = NULL; if (out_ref != NULL){ c1 = NULL; c2 = NULL; match = regmatch(s, "[A-Z0-9]{1,4}/[A-Z]{2}-[0-9]{3}", &c1, &c2, NULL); if (match == 0 && c1){ safe_strncpy0(out_ref, c1, REF_MAX_LEN); ret = 1; } FREE_SW_CX; } return ret; } char *sw_dxc_call_under(struct subwin *sw, int x, int y, double *out_qrg, char** out_ref){ int index; int ret, len, i1, i2; char *c1 = NULL, *c2 = NULL, *s, call[25], ref[REF_MAX_LEN] = {0}; //dbg("sw_dxc_call_under(sw, %d, %d)\n", x, y); if (out_qrg != NULL) *out_qrg = 0.0; if (x >= sw->w){ struct spotband *sband = get_actual_spotband(); //dbg("bandmapa\n"); if (sband){ // bandmap area struct spot *spot; int idx = sband->current + sw->h / 2 - y - sw->dxc_offset; if (idx < 0 || idx >= sband->freq->len) return NULL; spot = (struct spot *)g_ptr_array_index(sband->freq, idx); x = 0; // call begins at zero offset s = spot->callsign; if (out_qrg != NULL) *out_qrg = spot->qrg; }else{ return NULL; } }else{ // click in spot area if (sw->pattern){ int yy = sw->h - 1; int ofs = sw->offset; if (sw->pattern) index = sw->lines->len; else index = sw->lines->len - sw->offset; for (index--; 1; index--){ char *x, *line; if (index < 0) return NULL; line = (char *)g_ptr_array_index(sw->lines, index); x = z_strcasestr(line, sw->pattern); if (!x) continue; if (ofs > 0) { ofs--; continue; } if (yy == y) { if (ofs > 0){ ofs--; continue; }else{ break; } } yy--; if (!yy) return NULL; } //x--; }else{ index = sw->lines->len - sw->offset - sw->h + y; if (index < 0 || index >= sw->lines->len) return NULL; } s = (char*)g_ptr_array_index(sw->lines, index); if (x < 0 || x >= strlen(s)) return NULL; } //dbg("line='%s'\n", s); s = g_strdup(s); z_str_uc(s); for (i1 = x; i1 >= 0; i1--){ if (s[i1] >= 'A' && s[i1] <= 'Z') continue; if (s[i1] >= '0' && s[i1] <= '9') continue; if (s[i1] == '-') continue; if (s[i1] == '/') continue; break; } i1++; // line cannot begin with call len = strlen(s); for (i2 = x; i2 < len; i2 ++){ if (s[i2] >= 'A' && s[i2] <= 'Z') continue; if (s[i2] >= '0' && s[i2] <= '9') continue; if (s[i2] == '-') continue; if (s[i2] == '/') continue; break; } if (i2 > i1 && i2 - i1 < 20){ if (out_ref && dxc_parse_ref(s, ref)) { *out_ref = g_strdup(ref); } g_strlcpy(call, s + i1, Z_MIN(i2 - i1 + 1, 20)); z_strip_from(call, '-'); //rbn if (z_can_be_call(call, ZCBC_SLASH | ZCBC_MINUS)){ dxc_parse_qrg(s, out_qrg); g_free(s); return g_strdup(call); } } /**** DXC ****/ /* 0 6 17 26 39 70 DX de ja8edu: 21285.0 OK2SSD CQ,CQ DX 0759Z but here in upcase */ c1 = NULL; c2 = NULL; ret = regmatch(s, "^DX\\ DE\\ ....................([0-9A-Z\\/]+)", &c1, &c2, NULL); if (ret == 0){ safe_strncpy0(call, c2, 19); goto doit; } FREE_SW_CX; /**/ doit:; /* dbg("ret=%d c1='%s' c2='%s'\n", ret, c1, c2);*/ FREE_SW_CX; dxc_parse_qrg(s, out_qrg); if (out_ref && dxc_parse_ref(s, ref)) { *out_ref = g_strdup(ref); } g_free(s); if (ret) return NULL; //dbg("dxc_call_under is '%s'\n", call); return g_strdup(call); } // value: -2 hide, -1=hide+qrv 1=highlight void sw_dxc_toggle_highlight(struct subwin *sw_unused, char *call, int val){ char t[25]; gchar *key; int *value; //z_get_raw_call(t, call); g_strlcpy(t, call, sizeof(t)); if (g_hash_table_lookup_extended(gses->hicalls, (gpointer)t, (gpointer*)&key, (gpointer*)&value)){ if (*value != val){ *value = val; redraw_later(); return; } g_hash_table_remove(gses->hicalls, key); g_free(key); //dbg("call='%s' removed\n", t); }else{ value = g_new(int, 1); *value = val; g_hash_table_insert(gses->hicalls, g_strdup(t), value); if (aband){ int wkd[32]; char *wwl = NULL; if (val == -1){ qrv_delete(t, aband->bi); } if (val >= 0){ wwl = find_wwl_by_call(cw, t); if (wwl == NULL) wwl = ""; memset(wkd, 0, sizeof(wkd)); qrv_add(t, wwl, (1<bi), wkd, "@DXC", time(NULL)); } } //dbg("call='%s' inserted\n", t); } /* dbg("%d\n", g_hash_table_size(gses->hicalls));*/ redraw_later(); } void sw_dxc_select(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; sw_dxc_toggle_highlight(sw, sw->callunder, 1); } void sw_dxc_hide(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; sw_dxc_toggle_highlight(sw, sw->callunder, -1); } void sw_dxc_info(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; struct qso *q = g_new0(struct qso, 1); q->callsign = sw->callunder; call_info(q); g_free(q); } void sw_dxc_use(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; if (!aband) return; if (aband->readonly) return; process_input(aband, sw->callunder, 0); if (sw->refunder) process_input(aband, sw->refunder, 0); il_add_to_history(INPUTLN(aband), sw->callunder); sw_unset_focus(); il_set_focus(INPUTLN(aband)); #ifdef HAVE_HAMLIB trigs_set_qrg(gtrigs, sw->qrg * 1000.0); #endif } /* 0 6 17 26 39 70 DX de ja8edu: 21285.0 OK2SSD CQ,CQ DX 0759Z */ int sw_dxc_line_color(struct subwin *sw, char *line){ char call[20];//, raw[20]; char *c; if (strlen(line) < 29) return COL_NORM; g_strlcpy(call, line + 26, Z_MIN(sizeof(call), 39-26)); c = call; if (*c == ' ') c++; // spot from rbn is shifted if (*c == ' ') c++; z_strip_from(c, ' '); //z_get_raw_call(raw, c); return sw_dxc_color(c); } // called with sw == NULL char *sw_dxc_counterp(struct subwin *sw, char *line, int *color){ // thread unsafe! static char call[20]; char raw[20]; *color = 0; if (strlen(line) < 9) return 0; g_strlcpy(call, line + 6, Z_MIN(sizeof(call), 17-6)); z_strip_from(call, ' '); z_strip_from(call, ':'); z_strip_from(call, '-'); // rbn z_get_raw_call(raw, call); *color = sw_dxc_color(raw); return call; } int sw_dxc_color(char *call){ int *pval; if (!call) return COL_NORM; pval = (int *)g_hash_table_lookup(gses->hicalls, call); if (!pval) { char raw[25]; z_get_raw_call(raw, call); pval = (int *)g_hash_table_lookup(gses->hicalls, raw); if (!pval) return COL_NORM; } switch (*pval){ case -2: case -1: return COL_DARKGREY; case 0: return COL_NORM; } if (!aband) return COL_YELLOW; //if (get_qso_by_callsign(aband, call) == NULL) return COL_YELLOW; if (worked_on_all_rw(call)) return COL_DARKYELLOW; else return COL_YELLOW; } #ifdef HAVE_HAMLIB void dxc_qrg_changed(freq_t qrg){ struct spotband *sband; struct spot *spot, *sp; double min, m; int cur; sband = get_actual_spotband(); if (!sband) return; if (!sband->freq->len) return; spot = (struct spot *)z_ptr_array_index(sband->freq, sband->current); min = Z_ABS(spot->qrg * 1000 - qrg); if (min == 0.0) return; // already on correc frequency. Maybe different call which allows Ctrl+Arrows for (cur = sband->current; cur < sband->freq->len; cur++){ sp = (struct spot *)z_ptr_array_index(sband->freq, cur); m = Z_ABS(sp->qrg * 1000 - qrg); if (m > min) break; sband->current = cur; min = m; } for (cur = sband->current; cur >= 0; cur--){ sp = (struct spot *)z_ptr_array_index(sband->freq, cur); m = Z_ABS(sp->qrg * 1000 - qrg); if (m > min) break; sband->current = cur; min = m; } } #endif void sw_dxc_spot_from_net(struct subwin *sw, char *str){ int i; if (sw->sock != -1) return; // have own connection if (strlen(str) >= 2 && str[0] == 'D' && str[1] == 'X'){ str[0] = 'd'; str[1] = 'x'; } for (i = sw->lines->len - 1; i > sw->lines->len - term->y; i--){ if (i < 0) break; if (strcasecmp(str, (char*)g_ptr_array_index(sw->lines, i)) == 0) return; } sw->dxc_from_net = 1; sw_printf(sw, "%s\n", str); sw->dxc_from_net = 0; } void dxc_open_connection(void *arg, void *arg2){ struct subwin *sw = (struct subwin *)arg; sw_printf(sw, VTEXT(T_RESOLVING), cfg->dxc_host); zasyncdns_getaddrinfo(sw->adns, zsel, sw_dxc_addrinfo, cfg->dxc_host, AF_INET, sw); } void dxc_export_text(void *itdata, void *menudata) { struct subwin *sw = (struct subwin *)itdata; sw_export_lines(sw, "dxc"); } int dxc_new_mult(const char *callsign){ if (!ctest) return 0; if (ctest->excused && excdb != NULL && aband != NULL && aband->stats != NULL && aband->stats->excs != NULL){ char *exc = find_exc_by_call(excdb, callsign); if (exc && *exc){ struct cntpts *c = (struct cntpts*)g_hash_table_lookup(aband->stats->excs, exc); if (c == NULL) return 1; } } return 0; } tucnak-4.32/src/qrvdb.c0000644000175000017500000014013013766616765011747 00000000000000/* Tucnak - VHF contest log Copyright (C) 2009-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. UTF-8 detect: ěščřžýáíé */ #include "header.h" #include "bfu.h" #include "cwdb.h" #include "dwdb.h" #include "edi.h" #include "fifo.h" #include "hf.h" #include "inputln.h" #include "kbd.h" #include "kbdbind.h" #include "kst.h" #include "main.h" #include "menu.h" #include "qrvdb.h" #include "qsodb.h" #include "rc.h" #include "rotar.h" #include "tsdl.h" #include "session.h" #include "subwin.h" #include "tregex.h" #include "zstring.h" struct qrvdb *qrv; int xyz=1; struct qrvdb *init_qrv(void){ struct qrvdb *qrvdb; int i; progress(VTEXT(T_INIT_QRVDB)); qrvdb = g_new0(struct qrvdb, 1); qrvdb->qrvs = z_ptr_array_new(); MUTEX_INIT(qrvdb->qrvs); qrvdb->hash = g_hash_table_new(g_str_hash, g_str_equal); qrvdb->def_bands = 0; qrvdb->sortdir = 1; for (i=0; ibands->len; i++){ struct config_band *confb = (struct config_band *)z_ptr_array_index(cfg->bands, i); if (confb->qrv || confb->qrvnow) qrvdb->def_bands |= 1 << (confb->bandchar-'A'); } /*qrv->sort = qrv_compare_call; qrv->sort2 = NULL;*/ //qrvdb->sort = qrv_compare_wkd; //qrvdb->sort2 = qrv_compare_qrb; qrvdb->sort = qrv_compare_qrb; qrvdb->sort2 = qrv_compare_qrb; qrvdb->showall = 0; strcpy(qrvdb->search, ""); return qrvdb; } void free_qrv_item(struct qrv_item *qi){ zg_free0(qi->call); zg_free0(qi->wwl); zg_free0(qi->text); g_free(qi); } gboolean qrv_free_hash_item(gpointer key, gpointer value, gpointer user_data){ //dbg("%s: %d\n", __FUNCTION__, xyz++); g_free(key); //dbg("%d\n", xyz++); // value is already freeed return TRUE; } void clear_qrv(struct qrvdb *qrvdb){ int i; struct subwin *sw; //dbg("%s: a%d\n", __FUNCTION__, xyz++); if (gses && gses->subwins){ // gses==NULL when terminating for (i = 0; i < gses->subwins->len; i++){ sw = (struct subwin *)z_ptr_array_index(gses->subwins, i); #ifdef Z_HAVE_SDL // if (sw->type == SWT_MAP) zg_free0(sw->minqrvcall); #endif if (sw->type == SWT_KST) kst_clear_users(sw); } } MUTEX_LOCK(qrvdb->qrvs); for (i = qrvdb->qrvs->len - 1; i >= 0; i--){ struct qrv_item *qi = (struct qrv_item*)z_ptr_array_index(qrvdb->qrvs, i); z_ptr_array_remove_index(qrvdb->qrvs, i); //dbg("%s: d%d\n", __FUNCTION__, xyz++); free_qrv_item(qi); //dbg("%s: e%d\n", __FUNCTION__, xyz++); } //dbg("%s: f%d\n", __FUNCTION__, xyz++); g_hash_table_foreach_remove(qrvdb->hash, qrv_free_hash_item, NULL); //dbg("%s: g%d\n", __FUNCTION__, xyz++); MUTEX_UNLOCK(qrvdb->qrvs); } void free_qrv(struct qrvdb *qrvdb){ xyz = 1; progress(VTEXT(T_FREE_QRVDB)); //dbg("%s: u%d\n", __FUNCTION__, xyz++); clear_qrv(qrvdb); //dbg("%s: v%d\n", __FUNCTION__, xyz++); MUTEX_FREE(qrvdb->qrvs); z_ptr_array_free(qrvdb->qrvs, 1); //dbg("%s: w%d\n", __FUNCTION__, xyz++); g_hash_table_destroy(qrvdb->hash); //dbg("%s: x%d\n", __FUNCTION__, xyz++); g_free(qrvdb); //dbg("%s: y%d\n", __FUNCTION__, xyz++); } struct qrv_item *qrv_add(gchar *call, gchar *wwl, int qrv_int, int wkd[32], const gchar *text, time_t kst_time){ struct qrv_item *qi; //char raw[20]; if (!wwl || !*wwl){ wwl = find_wwl_by_call(cw, call); if (!wwl) wwl=""; } //dbg("qrv_add('%s', '%s', %d, (%d;%d;%d), '%s', %d)\n", call, wwl, qrv_int, wkd[2], wkd[4], wkd[6], text, (unsigned int)kst_time); qi = qrv_get(qrv, call); if (qi && strcasecmp(qi->call, call) == 0){ int wi; // dbg("qrv_update(%s)\n", call); if (wwl && *wwl) { zg_free0(qi->wwl); qi->wwl = z_str_uc(g_strdup(wwl)); qrv_compute_qrbqtf(qi); } qi->bands_qrv |= qrv_int; if (text && strlen(text) > strlen(qi->text)){ zg_free0(qi->text); qi->text = g_strdup(text); } qi->kst_time = kst_time; for (wi = 0; wi < 32; wi++) qi->wkd[wi] += wkd[wi]; return qi; } // dbg("qrv_new(%s)\n", call); qi = g_new0(struct qrv_item, 1); qi->call = z_str_uc(g_strdup(call)); qi->wwl = z_str_uc(g_strdup(wwl)); qi->bands_qrv = qrv_int; memcpy(qi->wkd, wkd, sizeof(qi->wkd)); qi->text = g_strdup(text); qi->kst_time = kst_time; qrv_compute_qrbqtf(qi); MUTEX_LOCK(qrv->qrvs); z_ptr_array_add(qrv->qrvs, qi); MUTEX_UNLOCK(qrv->qrvs); //z_get_raw_call(raw, call); g_hash_table_insert(qrv->hash, g_strdup(call), qi); // dbg("add_to_list(%s %s %s)\r\n", qi->call, qi->wwl, qi->text); return qi; } #define QFL_BREAK 1 struct qrvbandregex{ int qrv_int; char *regstr; int flags; regex_t *reg; // never freed }; #define QB(b) (1 << (b - 'A')) struct qrvbandregex qrvbr[] = { // !important { QB('C') | QB('E') | QB('G') | QB('H') | QB('I') | QB('J'), "\\<2m {0,}- {0,}6[^0-9]", QFL_BREAK }, { QB('E') | QB('G') | QB('H') | QB('I') | QB('J'), "\\<70 {0,}- {0,}6[^0-9]", QFL_BREAK }, { QB('E') | QB('G') | QB('H') | QB('I') | QB('J') | QB('K'), "\\<23 {0,}- {0,}3[^0-9]", QFL_BREAK }, { QB('G') | QB('H') | QB('I') | QB('J') | QB('K'), "\\<23 {0,}- {0,}3[^0-9]", QFL_BREAK }, { QB('G') | QB('H') | QB('I'), "\\<23 {0,}- {0,}9[^0-9]", QFL_BREAK }, // normal { QB('A'), "\\<6m[^0-9]" }, { QB('B'), "\\<4[^0-9]" }, { QB('B'), "\\<70m[^0-9]" }, { QB('C'), "\\<2[^0-9]" }, { QB('C'), "\\<144[^0-9]" }, { QB('C'), "\\<144mhz\\>" }, { QB('E'), "\\<70[^0-9]" }, { QB('E'), "\\<432[^0-9]" }, { QB('E'), "\\<432mhz\\>" }, { QB('E'), "\\<433[^0-9]" }, { QB('E'), "\\<433mhz\\>" }, { QB('G'), "\\<23[^0-9]" }, { QB('G'), "\\<23cm\\>" }, { QB('G'), "\\<1296[^0-9]" }, { QB('G'), "\\<1\\.2[^0-9]" }, { QB('G'), "\\<1\\.3[^0-9]" }, { QB('H'), "\\<13[^0-9]" }, { QB('H'), "\\<2\\.3[^0-9]" }, { QB('H'), "\\<2320[^0-9]" }, { QB('I'), "\\<9[^0-9]" }, { QB('I'), "\\<3\\.4[^0-9]" }, { QB('I'), "\\<3,4[^0-9]" }, { QB('J'), "\\<6[^0-9]" }, { QB('J'), "\\<5\\.6[^0-9]" }, { QB('J'), "\\<5,6[^0-9]" }, { QB('J'), "\\<5\\.7[^0-9]" }, { QB('J'), "\\<5,7[^0-9]" }, { QB('J'), "\\<5760[^0-9]" }, { QB('K'), "\\<3[^0-9]" }, { QB('K'), "\\<10368[^0-9]" }, { QB('L'), "\\<1\\.2[^0-9]" }, { QB('L'), "\\<24[^0-9]" }, { QB('M'), "\\<47[^0-9]" }, { QB('N'), "\\<76[^0-9]" }, { QB('O'), "\\<122[^0-9]" }, { QB('P'), "\\<134[^0-9]" }, { QB('Q'), "\\<248[^0-9]" }, { -1, NULL } }; struct qrv_item *qrv_kst_add(char *call, char *wwl, char *fullname){ int i, qrv_int = 0, wkd[32]; struct qrv_item *ret; memset(wkd, 0, sizeof(wkd)); if (0 && fullname != NULL){ // QRV from full name (Dan 23/13/6/3/24) struct qrvbandregex *reg; for (reg = qrvbr; reg->regstr != NULL; reg++){ if (reg->reg == NULL){ reg->reg = g_new(regex_t, 1); i= regcomp(reg->reg, reg->regstr, REG_EXTENDED | REG_NOSUB | REG_ICASE); if (i) zinternal("regcomp failed for %s", reg->regstr); } int match = regexec(reg->reg, fullname, 0, 0, 0); if (match == 0) { qrv_int |= reg->qrv_int; if (reg->flags & QFL_BREAK) break; } } #if 1 dbg("%s ", fullname); for (i = 0; i < 32; i++) { if (qrv_int & (1 << i)) dbg("%c", 'A' + i); } dbg("\n"); #endif }else{ // QRV from QRV bands //fromqrv:; if (ctest != NULL){ for (i = 0; i < ctest->bands->len; i++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->readonly == 0) qrv_int |= (1 << b->bi); } } else{ for (i = 0; i < cfg->bands->len; i++){ int bi; struct config_band *cb = (struct config_band *)g_ptr_array_index(cfg->bands, i); if (cb->qrvnow == 0) continue; bi = toupper(cb->bandchar) - 'A'; qrv_int |= (1 << bi); } } } ret = qrv_add(call, wwl, qrv_int, wkd, "@KST", time(NULL)); sw_qrv_sort(qrv); return ret; } void qrv_delete(char *call, int bi){ struct qrv_item *qi; if (qrv->qrvs->len != 0) return; qi = (struct qrv_item*)g_hash_table_lookup(qrv->hash, call); if (!qi) return; qi->bands_qrv &= ~(1< 'Z') return 0; if (d < last) return 0; last = d; } return 1; } #define QRV_DELIM " \t\r\n" void load_one_qrv(struct qrvdb *qrvdb, gchar *s){ struct zstring *zs; gchar *call, *wwl, *text, *str, *c; int qrv_int = 0, wkd[32]; time_t kst_time = 0; zs = zstrdup(s); //dbg("ztokens=%d '%s'\n", ztokens(zs), s); if (ztokens(zs) >= 6){ ztokenize(zs, 1); // first ';' call = ztokenize(zs, 0); if (call[0] == '#') return; wwl = ztokenize(zs, 0); str = ztokenize(zs, 0); for (c = str; *c != '\0'; c++) qrv_int |= 1 << (toupper(*c) - 'A'); str = ztokenize(zs, 0); memset(wkd, 0, sizeof(wkd)); for (c = str; *c != '\0'; c++) { if (*c < 'A' || *c > 'Z') continue; wkd[*c - 'A'] = atoi(c+1); if (c[1] == '\0' || c[1] > '9') wkd[*c - 'A'] = 1; // for compatibility, 'ABC' means A=1, B=1, C=1 // number will be skipped by c++ and next condition } text = ztokenize(zs, 0); str = ztokenize(zs, 0); if (str) kst_time = atoi(zs->str); qrv_add(call, wwl, qrv_int, wkd, text, kst_time); } zfree(zs); } void old_load_one_qrv(struct qrvdb *qrvdb, gchar *s){ gchar *call, *wwl, *qrv_str, *text; int qrv_int, free_text = 0, wkd[32]; char *token_ptr, *c; // dbg("load_one_qrv('%s')\n", s); call = strtok_r(s, QRV_DELIM, &token_ptr); if (!call) return; wwl = strtok_r(NULL, QRV_DELIM, &token_ptr); if (!wwl) return; qrv_str = strtok_r(NULL, QRV_DELIM, &token_ptr); if (!qrv_str) qrv_str = ""; text = token_ptr; memset(wkd, 0, sizeof(wkd)); if (!is_qrv(qrv_str)){ // dbg("!isqrv(%s)\n", qrv_str); qrv_int = qrv->def_bands; //bands_wkd_me = qrv->def_bands; text = g_strconcat(qrv_str, " ", text, NULL); free_text = 1; }else{ qrv_int = 0; for (c=qrv_str;*c!='\0';c++){ if (isupper(*c)) { //dbg("wkd[%d]=1\n", *c-'A'); wkd[*c-'A'] = 1; } *c=z_char_uc(*c); qrv_int|=1<<(*c-'A'); } } qrv_add(call, wwl, qrv_int, wkd, text, 0); if (free_text) g_free(text); } int load_qrv_from_file(struct qrvdb *qrvdb, gchar *filename){ FILE *f; char s[202]; clear_qrv(qrvdb); f = fopen(filename, "rt"); if (!f){ return -1; } while((fgets(s, 200, f))!=NULL){ chomp(s); if (s[0]=='#') continue; if (s[0]==';') load_one_qrv(qrvdb,s); else old_load_one_qrv(qrvdb,s); } fclose(f); if (ctest->wwlmult > 0) qrv->sort = qrv_compare_wwl; z_ptr_array_qsort(qrv->qrvs, qrv->sort); return 0; } struct zstring *qrv_format(struct qrv_item *qi){ char qrv_str[32], wkd_str[32*30], kst_str[20]; char x[2], d; struct zstring *zs; x[1]='\0'; strcpy(qrv_str, ""); for (x[0]='A'; x[0]<'Z'; x[0]++) if (qi->bands_qrv & ( 1 << (x[0] - 'A'))) strcat(qrv_str, x); strcpy(wkd_str, ""); for (d='A'; d<'Z'; d++) { // dbg("band=%c i=%d wkd=%d \n", d, d - 'A', qi->wkd[d - 'A']); if (qi->wkd[d - 'A'] == 0) continue; // dbg("%c=%d\n", d, qi->wkd[d - 'A']); sprintf(wkd_str+strlen(wkd_str), "%c%d", d, qi->wkd[d - 'A']); } sprintf(kst_str, "%d", (int)qi->kst_time); zs = zconcatesc("", qi->call, qi->wwl, qrv_str, wkd_str, qi->text, kst_str, NULL); return zs; } int save_qrv_to_file(char *filename){ FILE *f; int i; f = fopen(filename, "wt"); if (!f){ log_addf(VTEXT(T_CANT_WRITE_S), filename); return errno; } for (i=0; iqrvs->len; i++){ struct zstring *zs; struct qrv_item *qi = (struct qrv_item*)z_ptr_array_index(qrv->qrvs, i); zs = qrv_format(qi); fprintf(f, "%s\n", zs->str); //dbg("zs->str='%s'\n", zs->str); zfree(zs); } fclose(f); return 0; } int qrv_skip(struct qrv_item *qi, int bi, int setdrawn){ //if (get_qso_by_callsign(aband, qi->call)!=NULL) return 1; int ret = 0; if ((qi->bands_wkd & (1<showall && !*qrv->search) { //qi->ac_drawn = 1; return ret; } if ((qi->bands_qrv & (1<search) > 1){// here's leading / ret = 3; if (z_strcasestr(qi->call, qrv->search + 1)) ret = 0; if (z_strcasestr(qi->wwl, qrv->search + 1)) ret = 0; if (z_strcasestr(qi->text, qrv->search + 1)) ret = 0; } //dbg("qrv_skip(%s, %d)=%d qrv=0x%x wkd=0x%x\n", qi->call, bi, ret, qi->bands_qrv, qi->bands_wkd); //qi->ac_drawn = (ret == 0); //if (qi->ac_drawn == 0) qi->ac_start = (time_t)0; return ret; } int qrv_compare_call(const void *a, const void *b){ struct qrv_item **qa, **qb; int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; ret = strcmp((*qa)->call, (*qb)->call); if (ret) return ret * qrv->sortdir; if (qrv->sort2 == qrv_compare_call) return 0; return qrv->sort2(a, b); } int qrv_compare_wwl(const void *a, const void *b){ struct qrv_item **qa, **qb; int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; ret = strcmp((*qa)->wwl, (*qb)->wwl); if (ret) return ret * qrv->sortdir; if (qrv->sort2 == qrv_compare_wwl) return 0; return qrv->sort2(a, b); } int qrv_compare_wkd(const void *a, const void *b){ struct qrv_item **qa, **qb; int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; if (!aband) return 0; ret = (*qa)->wkd[aband->bi] - (*qb)->wkd[aband->bi]; if (ret) return (-ret) * qrv->sortdir; if (qrv->sort2 == qrv_compare_wkd) return 0; return qrv->sort2(a, b); } int qrv_compare_qrb(const void *a, const void *b){ struct qrv_item **qa, **qb; double d; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; d = (*qa)->qrb - (*qb)->qrb; if (d != 0) return d < 0 ? qrv->sortdir : -qrv->sortdir; // odx on top if (qrv->sort2 == qrv_compare_qrb) return 0; return qrv->sort2(a, b); } int qrv_compare_qtf(const void *a, const void *b){ struct qrv_item **qa, **qb; int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; if (!aband) return 0; ret = (*qa)->qtf - (*qb)->qtf; if (ret) return ret * qrv->sortdir; if (qrv->sort2 == qrv_compare_qtf) return 0; return qrv->sort2(a, b); } int qrv_compare_kst_time(const void *a, const void *b){ struct qrv_item **qa, **qb; long int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; if (!aband) return 0; ret = (int)((*qa)->kst_time - (*qb)->kst_time); if (ret) return ret * qrv->sortdir; if (qrv->sort2 == qrv_compare_kst_time) return 0; return qrv->sort2(a, b); } int qrv_compare_ac_start(const void *a, const void *b){ struct qrv_item **qa, **qb; long int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; //if (!(*qa)->ac_start) return -qrv->sortdir; //if (!(*qb)->ac_start) return +qrv->sortdir; if (!aband) return 0; ret = (int)((*qa)->ac_start - (*qb)->ac_start); if (ret) return ret * qrv->sortdir; if (qrv->sort2 == qrv_compare_ac_start) return 0; return qrv->sort2(a, b); } int qrv_compare_ac_int(const void *a, const void *b){ struct qrv_item **qa, **qb; int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; if (!aband) return 0; ret = (*qa)->ac_interval - (*qb)->ac_interval; if (ret) return (-ret) * qrv->sortdir; if (qrv->sort2 == qrv_compare_ac_int) return 0; return qrv->sort2(a, b); } int qrv_compare_ac_n(const void *a, const void *b){ struct qrv_item **qa, **qb; int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; if (!aband) return 0; ret = (*qa)->ac_n - (*qb)->ac_n; if (ret) return (-ret) * qrv->sortdir; if (qrv->sort2 == qrv_compare_ac_n) return 0; return qrv->sort2(a, b); } int qrv_compare_text(const void *a, const void *b){ struct qrv_item **qa, **qb; int ret; qa = (struct qrv_item **)a; qb = (struct qrv_item **)b; if (!*qa && !*qb) return 0; if (!*qa) return -qrv->sortdir; if (!*qb) return +qrv->sortdir; ret = strcmp((*qa)->text, (*qb)->text); if (ret) return ret * qrv->sortdir; if (qrv->sort2 == qrv_compare_text) return 0; return qrv->sort2(a, b); } void sw_qrv_seek(struct subwin *sw, int value){ struct qrv_item *qi; while (value > 0){ sw->cur++; if (sw->cur >= qrv->qrvs->len) break; if (sw->cur >= 0){ qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (aband && qrv_skip(qi, aband->bi, 0)) continue; } value--; } while (value < 0){ sw->cur--; if (sw->cur < 0) break; if (sw->cur < qrv->qrvs->len){ qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (aband && qrv_skip(qi, aband->bi, 0)) continue; } value++; } } void qrv_sort(int (*fce)(const void*, const void *)){ if (qrv->sort == fce){ qrv->sortdir = -qrv->sortdir; }else{ qrv->sort2 = qrv->sort; qrv->sort = fce; } z_ptr_array_qsort(qrv->qrvs, qrv->sort); redraw_later(); } int sw_qrv_kbd_func(struct subwin *sw, struct event *ev, int fw){ int len; struct qrv_item *qi; switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_DOWN: sw_qrv_seek(sw, 1); sw_qrv_check_bounds(sw); redraw_later(); return 1; case ACT_UP: sw_qrv_seek(sw, -1); sw_qrv_check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_DOWN: sw_qrv_seek(sw, sw->h - 1); sw_qrv_check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_UP: sw_qrv_seek(sw, -sw->h + 1); sw_qrv_check_bounds(sw); redraw_later(); return 1; case ACT_HOME: sw->cur = 0; sw_qrv_check_bounds(sw); redraw_later(); return 1; case ACT_END: sw->cur = qrv->qrvs->len - 1; sw_qrv_check_bounds(sw); redraw_later(); return 1; case ACT_SCROLL_LEFT: if (sw->ho>0) sw->ho--; redraw_later(); return 1; case ACT_SCROLL_RIGHT: sw->ho++; redraw_later(); return 1; case ACT_ENTER: if (aband == NULL) break; if (*qrv->search){ strcpy(qrv->search, ""); redraw_later(); if (sw->cur < 0 || sw->cur >= qrv->qrvs->len) return 1; qi = (struct qrv_item*)z_ptr_array_index(qrv->qrvs, sw->cur); if (!qi) return 1; qi->bands_qrv |= 1<bi; return 1; } sw_unset_focus(); il_set_focus(aband->il); if (sw->cur < 0 || sw->cur >= qrv->qrvs->len) break; qi = (struct qrv_item*)z_ptr_array_index(qrv->qrvs, sw->cur); if (!qi) break; clear_tmpqsos(aband,1); process_input(aband, qi->call, 1); il_add_to_history(INPUTLN(aband), qi->call); redraw_later(); /*#ifdef HAVE_HAMLIB if (trig){ trig_set_qrg(trig, qi->qrg*1000.0); #endif */ return 1; case ACT_BACKSPACE: len = strlen(qrv->search); if (len == 0) break; qrv->search[len - 1] = '\0'; redraw_later(); return 1; case ACT_DELETE: if (!aband) break; if (sw->cur < 0 || sw->cur >= qrv->qrvs->len) break; qi = (struct qrv_item*)z_ptr_array_index(qrv->qrvs, sw->cur); if (!qi) break; qi->bands_qrv &= ~(1<bi); sw_kst_toggle_highlight(NULL, qi->call, -2); redraw_later(); return 1; case ACT_INSERT: edit_qrv(NULL); return 1; default: //dbg("default: ev->x='%c' search='%s'\n", ev->x, qrv->search); if (cfg->slashkey && *cfg->slashkey){ if (ev->x == '/') ev->x = *cfg->slashkey; else if (ev->x == *cfg->slashkey) ev->x = '/'; } if (*qrv->search && ev->y == 0){ if (!isprint((unsigned char)ev->x)) break; len = strlen(qrv->search); if (len >= QRVSSIZE - 2) break; qrv->search[len] = toupper(ev->x); qrv->search[len+1] = '\0'; //dbg("search='%s'\n", qrv->search); redraw_later(); break; } switch(ev->x){ case ' ': if (!aband) break; if (sw->cur < 0 || sw->cur >= qrv->qrvs->len) break; qi = (struct qrv_item*)z_ptr_array_index(qrv->qrvs, sw->cur); if (!qi) break; clear_tmpqsos(aband,1); process_input(aband, qi->call, 0); il_add_to_history(INPUTLN(aband), qi->call); redraw_later(); break; case '1': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; qrv_sort(qrv_compare_call); return 1; case '2': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; qrv_sort(qrv_compare_wwl); return 1; case '3': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; qrv_sort(qrv_compare_wkd); return 1; case '4': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; qrv_sort(qrv_compare_qrb); return 1; case '5': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; qrv_sort(qrv_compare_qtf); return 1; case '6': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; qrv_sort(qrv_compare_kst_time); return 1; case '7': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; if (!gacs) goto sort_text; qrv_sort(qrv_compare_ac_start); return 1; case '8': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; if (!gacs) return 0; qrv_sort(qrv_compare_ac_int); return 1; case '9': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; if (!gacs) return 0; qrv_sort(qrv_compare_ac_n); return 1; case '0': if (ev->y & (KBD_CTRL | KBD_ALT)) return 0; sort_text: qrv_sort(qrv_compare_text); return 1; case 'a': case 'A': qrv->showall = !qrv->showall; redraw_later(); return 1; case 'e': case 'E': { if (sw->cur < 0 || sw->cur >= qrv->qrvs->len) return 1; qi = (struct qrv_item*)z_ptr_array_index(qrv->qrvs, sw->cur); if (!qi) break; edit_qrv(qi); return 1; } case 'u': case 'U': if (!aband) break; if (sw->cur < 0 || sw->cur >= qrv->qrvs->len) return 1; qi = (struct qrv_item*)z_ptr_array_index(qrv->qrvs, sw->cur); if (!qi) break; qi->bands_qrv |= 1<bi; redraw_later(); return 1; case '/': strcpy(qrv->search, "/"); redraw_later(); return 1; } } return 0; } char *sw_qrv_call_under(struct subwin *sw, int x, int y0){ int y, i; struct qrv_item *qi; if (sw->cur < 0 || sw->cur >= qrv->qrvs->len) return NULL; y = sw->h / 2; if (y == y0) { qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); return g_strdup(qi->call); } y = sw->h / 2; for(i = sw->cur - 1; i >= 0; i--){ if (y <= 0) break; qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); if (aband != NULL && qrv_skip(qi, aband->bi, 0)) continue; y--; if (y == y0) return g_strdup(qi->call); } y = sw->h / 2; for(i = sw->cur + 1; i < qrv->qrvs->len; i++){ if (y >= sw->h - 1) break; qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); if (aband != NULL && qrv_skip(qi, aband->bi, 0)) continue; y++; if (y == y0) return g_strdup(qi->call); } return NULL; } // value: -2 hide, -1=hide+qrv 1=highlight void sw_qrv_toggle_highlight(struct subwin *sw_unused, char *call, int val){ char t[25]; gchar *key; int *value; z_get_raw_call(t, call); if (g_hash_table_lookup_extended(gses->hicalls, (gpointer)t, (gpointer*)&key, (gpointer*)&value)){ if (*value != val){ *value = val; redraw_later(); return; } g_hash_table_remove(gses->hicalls, key); g_free(key); dbg("call='%s' removed\n", t); }else{ value = g_new(int, 1); *value = val; g_hash_table_insert(gses->hicalls, g_strdup(t), value); if (aband){ int wkd[32]; char *wwl = NULL; if (val == -1){ qrv_delete(t, aband->bi); } if (val >= 0){ wwl = find_wwl_by_call(cw, t); if (wwl == NULL) wwl = ""; memset(wkd, 0, sizeof(wkd)); qrv_add(t, wwl, (1<bi), wkd, "@DXC", time(NULL)); } } dbg("call='%s' inserted\n", t); } /* dbg("%d\n", g_hash_table_size(gses->hicalls));*/ redraw_later(); } void sw_qrv_select(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; sw_qrv_toggle_highlight(sw, sw->callunder, 1); } void sw_qrv_hide(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; sw_qrv_toggle_highlight(sw, sw->callunder, -1); } void sw_qrv_info(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; struct qso *q = g_new0(struct qso, 1); q->callsign = sw->callunder; call_info(q); g_free(q); } void sw_qrv_use(void *itdata, void *menudata){ struct subwin *sw = (struct subwin*)menudata; if (!aband) return; if (aband->readonly) return; process_input(aband, sw->callunder, 0); il_add_to_history(INPUTLN(aband), sw->callunder); sw_unset_focus(); il_set_focus(INPUTLN(aband)); } int sw_qrv_mouse_func(struct subwin *sw, struct event *ev, int fw){ struct menu_item *mi = NULL; struct qrv_item *qi; int i; if (ev->b & B_DRAG && aband != NULL){ int dy = sw_accel_dy(sw, ev); if (dy == 0) return 1; dy = -dy; #ifdef Z_HAVE_SDL //if (zsdl && ztimeout_occured(sw->olddrag)) dy /= zsdl->font_h; #endif if (dy < 0){ sw->cur--; while (sw->cur >= 0){ qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (!(aband != NULL && qrv_skip(qi, aband->bi, 0))) break; sw->cur--; } }else{ sw->cur++; while (sw->cur < qrv->qrvs->len){ qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (!(aband != NULL && qrv_skip(qi, aband->bi, 0))) break; sw->cur++; } } sw->check_bounds(sw); redraw_later(); sw->olddragx = ev->x; sw->olddragy = ev->my; return 1; } //if ((ev->b & BM_ACT)!=B_DOWN) return 0; // dbg("ev->b=%x BM_ACT=%x B_DOWN=%x BM_EBUTT=%x \n", ev->b, BM_ACT, B_DOWN, BM_EBUTT); if (cfg->usetouch && (ev->b & BM_EBUTT) == B_LEFT) ev->b = (ev->b & ~BM_EBUTT) | B_RIGHT; switch (ev->b & BM_BUTCL){ case B_LEFT: case B_RIGHT: sw->olddragx = ev->x; sw->olddragy = ev->my; break; case B_LEFT | B_CLICK: // if (!sw->il) break; /*if (ev->y==sw->y+sw->hh){ inputln_func(sw->il, ev); return 1; } */ if (ev->y == sw->y){ int xrel = ev->x - sw->x - sw->ho; if (xrel > 71){ qrv_sort(qrv_compare_text); }else if (xrel >= 67){ qrv_sort(qrv_compare_ac_n); }else if (xrel >= 63){ qrv_sort(qrv_compare_ac_int); }else if (xrel >= 50){ qrv_sort(qrv_compare_ac_start); }else if (xrel >= 42){ qrv_sort(qrv_compare_kst_time); }else if (xrel >= 36){ qrv_sort(qrv_compare_qtf); }else if (xrel >= 29){ qrv_sort(qrv_compare_qrb); }else if (xrel >= 23){ qrv_sort(qrv_compare_wkd); }else if (xrel >= 16){ qrv_sort(qrv_compare_wwl); }else if (xrel >= 2){ qrv_sort(qrv_compare_call); } redraw_later(); return 1; } g_free(sw->callunder); sw->callunder = sw_qrv_call_under(sw, ev->x - sw->x + sw->ho, ev->y - sw->y); dbg("callunder='%s'\n", sw->callunder); if (!sw->callunder) break; sw_qrv_toggle_highlight(sw, sw->callunder, 1); return 1; case B_MIDDLE: /* dbg("middle\n");*/ break; case B_RIGHT | B_CLICK: g_free(sw->callunder); sw->callunder = sw_qrv_call_under(sw, ev->x - sw->x + sw->ho, ev->y - sw->y); dbg("callunder='%s'\n", sw->callunder); if (!sw->callunder) break; mi = new_menu(1); mi->rtext = sw->callunder; add_to_menu(&mi, CTEXT(T_SELECT), "", CTEXT(T_HK_SELECT), sw_qrv_select, NULL, 0); add_to_menu(&mi, CTEXT(T_HIDE), "", CTEXT(T_HK_HIDE), sw_qrv_hide, NULL, 0); add_to_menu(&mi, CTEXT(T_INFO), "", CTEXT(T_HK_INFO), sw_qrv_info, NULL, 0); if (aband) add_to_menu(&mi, CTEXT(T_USE), "", CTEXT(T_HK_USE), sw_qrv_use, NULL, 0); set_window_ptr(gses->win, ev->x - 3, ev->y - 1); do_menu(mi, sw); break; case B_WHUP: /* dbg("wheel up\n");*/ for (i = 0; i < 3; i++){ sw->cur--; while (sw->cur >= 0){ if (sw->cur >= 0 && sw->cur < qrv->qrvs->len) { qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (!(aband != NULL && qrv_skip(qi, aband->bi, 0))) break; } sw->cur--; } } sw->check_bounds(sw); redraw_later(); return 1; case B_WHDOWN: /* dbg("wheel down\n"); */ for (i = 0; i < 3; i++){ sw->cur++; while (sw->cur < qrv->qrvs->len){ if (sw->cur >= 0 && sw->cur < qrv->qrvs->len) { qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (!(aband != NULL && qrv_skip(qi, aband->bi, 0))) break; } sw->cur++; } } sw->check_bounds(sw); redraw_later(); return 1; } return 0; } void sw_qrv_draw_qrv(struct subwin *sw, int i, struct qrv_item *qi, int color){ gchar *c; char degree=' '; struct tm utc; char kst_time_str[200]; char qrb_str[400]; char qtf_str[20]; char acstart[30]; char acint[30]; #if defined(Z_HAVE_SDL) && !defined(Z_ANDROID) //if (sdl) degree='°'; if (sdl) degree=0xb0; #endif if (!qi || !qi->call){ c = g_strdup("~"); }else{ strcpy(qrb_str, ""); if (qi->qrb >= 0) sprintf(qrb_str, "%5.0fkm", qi->qrb); strcpy(qtf_str, ""); if (qi->qtf >= 0) sprintf(qtf_str, "%3d%c", qi->qtf, degree); strcpy(kst_time_str, ""); if (qi->kst_time != 0){ gmtime_r(&qi->kst_time, &utc); sprintf(kst_time_str, "%2d:%02d", utc.tm_hour, utc.tm_min); } ac_format(qi, acstart, acint, 1); c = g_strdup_printf("%-12s %6s %4d %-7s " "%-4s %5s %s %s %s", qi->call, qi->wwl, aband?qi->wkd[aband->bi]:0, qrb_str, qtf_str, kst_time_str, acstart, acint, qi->text); } if (c && strlen(c)>sw->ho){ //print_text(sw->x+1, sw->y+i, sw->w, c + sw->ho, color); clip_printf(sw, 1, i, color, "%s", c + sw->ho); } if (i == sw->h / 2){ clip_printf(sw, 0, i, COL_NORM, "["); clip_printf(sw, 40, i, COL_NORM, "]"); } g_free(c); } int sw_qrv_color(char *call){ int *pval, ret; char *c; if (!call) return COL_NORM; pval = (int *)g_hash_table_lookup(gses->hicalls, call); if (!pval) return COL_NORM; switch (*pval){ case -2: case -1: return COL_DARKGREY; case 0: return COL_NORM; } if (!aband) return COL_YELLOW; c = g_strdup(call); z_strip_from(c, '-'); if (worked_on_all_rw(c)) ret = COL_DARKYELLOW; else ret = COL_YELLOW; g_free(c); return ret; } void sw_qrv_redraw(struct subwin *sw, struct band *band, int flags){ struct qrv_item *qi; int i, y, len, color; char *c, raw[30]; // if (!aband) return; //fill_area(sw->x, sw->y+sw->h/2, sw->w, 1, COL_INV); clip_printf(sw, -sw->ho + 2, 0, qrv->sort==qrv_compare_call?COL_WHITE:COL_NORM, VTEXT(T_CALLSIGN3)); clip_printf(sw, -sw->ho + 16, 0, qrv->sort==qrv_compare_wwl?COL_WHITE:COL_NORM, VTEXT(T_WWL3)); clip_printf(sw, -sw->ho + 23, 0, qrv->sort==qrv_compare_wkd?COL_WHITE:COL_NORM, VTEXT(T_WKD2)); clip_printf(sw, -sw->ho + 29, 0, qrv->sort==qrv_compare_qrb?COL_WHITE:COL_NORM, VTEXT(T_QRB)); clip_printf(sw, -sw->ho + 36, 0, qrv->sort==qrv_compare_qtf?COL_WHITE:COL_NORM, VTEXT(T_QTF)); clip_printf(sw, -sw->ho + 42, 0, qrv->sort==qrv_compare_kst_time?COL_WHITE:COL_NORM, VTEXT(T_ACKST2)); if (gacs){ clip_printf(sw, -sw->ho + 50, 0, qrv->sort==qrv_compare_ac_start?COL_WHITE:COL_NORM, VTEXT(T_START)); clip_printf(sw, -sw->ho + 63, 0, qrv->sort==qrv_compare_ac_int?COL_WHITE:COL_NORM, VTEXT(T_DUR)); clip_printf(sw, -sw->ho + 67, 0, qrv->sort==qrv_compare_ac_n?COL_WHITE:COL_NORM, VTEXT(T_NR)); } clip_printf(sw, -sw->ho + 71, 0, qrv->sort==qrv_compare_text?COL_WHITE:COL_NORM, VTEXT(T_TEXT2)); len = strlen(qrv->search); if (len > 0){ clip_printf(sw, 0, sw->h - 1, COL_NORM, "%s", qrv->search); if (gses->focused) set_cursor(sw->x + len, sw->y + sw->h - 1, sw->x + len, sw->y + sw->h - 1); }else{ int x = 0; c = VTEXT(T_16_SORT); clip_printf(sw, x, sw->h - 1, COL_NORM, c); x += strlen(c); c = VTEXT(T_A_ALL); clip_printf(sw, x, sw->h - 1, qrv->showall?COL_WHITE:COL_NORM, c); x += strlen(c); c = VTEXT(T_ENTER_SPACE_EDIT); clip_printf(sw, x, sw->h - 1, COL_NORM, c); x += strlen(c); } if (!qrv->qrvs->len) return; sw_qrv_check_bounds(sw); qi = NULL; if (sw->cur >= 0 && sw->cur < qrv->qrvs->len) qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); // dbg("%s: cur=%d qi=%p\n", __FUNCTION__, sw->cur, qi); if (!qi || (aband != NULL && qrv_skip(qi, aband->bi, 1))) { print_text(sw->x, sw->y + sw->h/2, sw->w, "~", COL_INV); return; } z_get_raw_call(raw, qi->call); color = sw_qrv_color(raw); /*if (color != COL_NORM) color |= COL_INV; else color = COL_INV;*/ sw_qrv_draw_qrv(sw, sw->h/2, qi, color); y = sw->h / 2 - 1; for(i = sw->cur - 1; i >= 0; i--){ if (y <= 0) break; qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); if (aband != NULL && qrv_skip(qi, aband->bi, 1)) continue; z_get_raw_call(raw, qi->call); color = sw_qrv_color(raw); sw_qrv_draw_qrv(sw, y--, qi, color); } for (; i >= 0; i--){ struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); //qi->ac_drawn = 0; qi->ac_start = (time_t)0; } y = sw->h / 2 + 1; for(i = sw->cur + 1; i < qrv->qrvs->len; i++){ if (y >= sw->h - 1) break; qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); if (aband != NULL && qrv_skip(qi, aband->bi, 1)) continue; z_get_raw_call(raw, qi->call); color = sw_kst_color(raw); sw_qrv_draw_qrv(sw, y++, qi, color); } for (; i < qrv->qrvs->len; i++){// ((struct qrv_item *)z_ptr_array_index(qrv->qrvs, i))->ac_drawn = 0; struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); //qi->ac_drawn = 0; qi->ac_start = (time_t)0; } } void sw_qrv_check_bounds(struct subwin *sw){ int len; struct qrv_item *qi; if (!aband) return; len = qrv->qrvs->len; if (len == 0) { sw->cur = 0; return; } if (sw->cur < 0) { sw->cur = 0; sw_shake(sw, 1); } if (sw->cur >= qrv->qrvs->len) { sw->cur = qrv->qrvs->len - 1;; sw_shake(sw, 0); } while (sw->cur < qrv->qrvs->len){ qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (!(aband != NULL && qrv_skip(qi, aband->bi, 1))) break; sw->cur++; } if (sw->cur >= qrv->qrvs->len) { sw->cur = qrv->qrvs->len - 1; //sw_shake(sw, 0); } while (sw->cur >= 0){ qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, sw->cur); if (!(aband != NULL && qrv_skip(qi, aband->bi, 0))) break; sw->cur--; } if (sw->cur < 0) { sw->cur = 0; } } void sw_qrv_raise(struct subwin *sw){ sw_qrv_sort(qrv); } void sw_qrv_sort(struct qrvdb *qrvdb){ z_ptr_array_qsort(qrv->qrvs, qrv->sort); } void qrv_compute_qrbqtf(struct qrv_item *q){ double qtf, qtfrad; if (!q) return; if (!q->wwl || !*q->wwl){ q->qrb = -1; q->qtf = -1; return; } /* CHANGE look at add_tmpqso_locator */ qrbqtf(ctest?ctest->pwwlo:cfg->pwwlo, q->wwl, &q->qrb, &qtf, NULL, 2); q->qtf = (int) (qtf+0.5); if (q->qrb < 0.1) { q->qrb = 0; q->qtf = 0; } qtfrad=qtf*M_PI/180.0; q->kx = (int)( q->qrb*sin(qtfrad)); q->ky = (int)(- q->qrb*cos(qtfrad)); if (q->qrb < 600){ q->weight = q->qrb; }else{ q->weight= 1800 - 2 * q->qrb; if (q->weight < 0) q->weight = 0; } if (aband){ if (q->wkd[aband->bi] > 1) q->weight *= q->wkd[aband->bi]; if (!(q->bands_qrv & (1 << aband->bi))) q->weight = 0; } /*dbg("compute_qrbqtf(%s) %s->%s qrb=%f kx=%d ky=%d\n", q->call, ctest->pwwlo, q->wwl, q->qrb, q->kx, q->ky); */ } void qrv_recalc_qrbqtf(struct qrvdb *qrvdb){ int i; for (i = 0; i < qrv->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); qrv_compute_qrbqtf(qi); } } void qrv_recalc_gst(struct qrvdb *qrvdb){ int i, j; int qtf2; double max; if (!qrvdb) return; qrv->beamwidth = rot_beamwidth();// / 2; for (i=0;i<=180;i++){ qrv->antchar[i]=cos(M_PI/180.0*(double)i*120.0/qrv->beamwidth); /* dbg("i=%3d %5.3f\n", i, antchar[i]);*/ if (qrv->antchar[i]<=0) break; } for (;i<=180;i++) qrv->antchar[i]=0; for (i=0; i<360; i++) qrv->gst[i]=0.0; for (i = 0; i < qrv->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); if (qi->qtf<=0 || qi->qtf>=360) continue; if (aband && qrv_skip(qi, aband->bi, 0)) continue; for (j=0;j<=180;j++){ qtf2 = qi->qtf + j; if (qrv->antchar[j] == 0) break; if (qtf2<0) qtf2 += 360; qrv->gst[qtf2%360] += qi->weight * qrv->antchar[j]; } for (j=1;j<180;j++){ qtf2 = qi->qtf - j; if (qrv->antchar[j] == 0) break; if (qtf2<0) qtf2 += 360; qrv->gst[qtf2%360] += qi->weight * qrv->antchar[j]; } } max = 0; for (i=0; i<360; i++) if (qrv->gst[i]>max) max = qrv->gst[i]; if (!max) return; for (i=0; i<360; i++) qrv->gst[i] = qrv->gst[i] / max; } void qrv_set_wkd(struct qrvdb *qrvdb, struct qso *qso){ char raw[20]; struct qrv_item *qi; if (!qso) return; if (!qso->band) return; z_get_raw_call(raw, qso->callsign); qi = (struct qrv_item *)g_hash_table_lookup(qrv->hash, raw); if (!qi) return; qi->bands_wkd |= 1 << qso->band->bi; } void qrv_recalc_wkd(struct qrvdb *qrvdb){ struct qrv_item *qi; struct band *b; struct qso *qso; int i, j; char raw[20]; for (i = 0; i < qrv->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item *)z_ptr_array_index(qrv->qrvs, i); qi->bands_wkd = 0; } if (!ctest) return; for (i=0; ibands->len; i++){ b = (struct band *)z_ptr_array_index(ctest->bands, i); for (j=0; jqsos->len; j++){ qso = (struct qso *)z_ptr_array_index(b->qsos, j); if (qso->dupe) continue; if (qso->error) continue; z_get_raw_call(raw, qso->callsign); qi = (struct qrv_item *)g_hash_table_lookup(qrv->hash, raw); //dbg("recalc_qrv_wkd(%s) qi=%p\n", raw, qi); if (!qi) continue; qi->bands_wkd |= 1 << b->bi; } } } struct qrv_item *qrv_get(struct qrvdb *qrvdb, char *call){ char raw[20]; struct qrv_item *qi; if (call == NULL) return NULL; qi = (struct qrv_item *)g_hash_table_lookup(qrv->hash, call); if (qi) return qi; z_get_raw_call(raw, call); qi = (struct qrv_item *)g_hash_table_lookup(qrv->hash, raw); return qi; } void qrv_read_line(char *str){ char *c1=NULL, *c2=NULL; struct qrv_item *qi; if (regmatch(str, "^[0-9]{4}Z ([^ ]+)", &c1, &c2, NULL)==0){ // log_addf("KST '%s'", c2); qi = qrv_get(qrv, c2); if (qi){ qi->kst_time = time(NULL); } redraw_later(); } if (c1) g_free(c1); if (c2) g_free(c2); } /* -------------- dialog edit qrv ------------------ */ char qrv_call[EQSO_LEN]; char qrv_wwl[EQSO_LEN]; char qrv_qrv[32]; char qrv_wkd[EQSO_LEN]; char qrv_text[MAX_STR_LEN]; void refresh_edit_qrv(void *arg){ char *c; char raw[20]; struct qrv_item *qi = (struct qrv_item*)arg; if (!qi){ int wkd[32]; memset(wkd, 0, sizeof(wkd)); qi = qrv_add(z_str_uc(qrv_call), "", 0, wkd, "", (time_t)0); }else{ z_get_raw_call(raw, qi->call); g_hash_table_remove(qrv->hash, qi->call); zg_free0(qi->call); qi->call = g_strdup(qrv_call); z_str_uc(qi->call); z_get_raw_call(raw, qi->call); g_hash_table_insert(qrv->hash, g_strdup(raw), qi); } zg_free0(qi->wwl); qi->wwl = g_strdup(qrv_wwl); z_str_uc(qi->wwl); qi->bands_qrv = 0; for (c = qrv_qrv; *c != '\0'; c++){ *c = toupper(*c); if (*c < 'A' || *c > 'Z') continue; qi->bands_qrv |= (1 << (*c - 'A')); } qi->wkd[aband->bi] = atoi(qrv_wkd); zg_free0(qi->text); qi->text = g_strdup(qrv_text); qrv_compute_qrbqtf(qi); sw_qrv_sort(qrv); } void edit_qrv(void *arg){ struct dialog *d; int i; struct qrv_item *qi; char x[2]; if (!aband) return; qi = (struct qrv_item*)arg; if (qi){ safe_strncpy0(qrv_call, qi->call, EQSO_LEN); safe_strncpy0(qrv_wwl, qi->wwl, EQSO_LEN); strcpy(qrv_qrv, ""); x[1] = '\0'; for (x[0] = 'A'; x[0] <= 'Z'; x[0]++){ if (qi->bands_qrv & (1 << (x[0] - 'A'))) strcat(qrv_qrv, x); } g_snprintf(qrv_wkd, EQSO_LEN, "%d", qi->wkd[aband->bi]); safe_strncpy0(qrv_text, qi->text, MAX_STR_LEN); }else{ strcpy(qrv_call, ""); strcpy(qrv_wwl, ""); strcpy(qrv_qrv, ""); if (aband) sprintf(qrv_qrv, "%c", aband->bandchar); strcpy(qrv_wkd, ""); strcpy(qrv_text, "@OP"); } if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_QRV); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_edit_qrv; d->refresh_data = qi; d->y0 = 1; d->items[i=0].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = qrv_call; d->items[i].msg = CTEXT(T_CALLSIGN2); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = qrv_wwl; d->items[i].msg = CTEXT(T_WWL); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = qrv_qrv; d->items[i].msg = CTEXT(T_QRV2); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = qrv_wkd; d->items[i].msg = CTEXT(T_WKD); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].maxl = EQSO_LEN; d->items[i].data = qrv_text; d->items[i].msg = CTEXT(T_REMARK); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } int sw_qrv_load_file(struct subwin *sw, char *filename, int quiet){ int j; FILE *f; GString *gs; char *val; gchar **items; int firstdate = -1; GHashTable *hash; int qrv_int = 0; int wkd[32]; // if (!sdl) return; memset(wkd, 0, sizeof(wkd)); f = fopen(filename, "rt"); if (!f){ if (!quiet) log_addf(VTEXT(T_CANT_READ_S), filename); return -1; } hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); gs = g_string_sized_new(100); zfile_fgets(gs, f, 0); while(zfile_fgets(gs, f, 0) != NULL){ if (gs->str[0]=='[') break; val = strchr(gs->str, '='); *val='\0'; val++; // dbg("key='%s'\n", gs->str); if (strcasecmp(gs->str, "pband")==0){ struct band *b = find_band_by_pband(val); if (b != NULL){ qrv_int = 1 << (z_char_uc(b->bandchar) - 'A'); wkd[z_char_uc(b->bandchar) - 'A'] = 1; } } } while(strncasecmp(gs->str, "[qsorecords", 11)!=0){ if (zfile_fgets(gs, f, 0) == NULL) goto x; } while(zfile_fgets(gs, f, 0) != NULL){ char *call, *wwl; if (gs->str[0]=='[') break; // dbg("qso='%s'\n", gs->str); items = g_strsplit(gs->str, ";", 0); for (j = 0; j <= 11; j++) if (!items[j]) goto badq; call = items[2]; wwl = items[9]; /*if (strcmp(call, "OK7RB") == 0) { int a = 1; }*/ if (firstdate < 0) firstdate = atoi(items[0]); if (!strcasecmp(call, "ERROR")) continue; qrv_add(call, wwl, qrv_int, wkd, "@edi", (time_t)0); badq:; } fclose(f); x:; g_string_free(gs, TRUE); g_hash_table_destroy(hash); return 0; } static void qrv_import_edi(void *xxx, char *filename){ char *fname; fname = g_strdup(filename); z_filename(fname); if (z_strcasestr(fname, "TXT")){ zg_ptr_array_foreach(struct band *, b, ctest->bands){ char *c, *path, *f; c = g_strdup(filename); path = z_dirname(c); f = g_strdup_printf("%s/%c.txt", path, z_char_lc(b->bandchar)); z_wokna(f); sw_qrv_load_file(gses->ontop, f, 1); g_free(c); g_free(f); } }else{ sw_qrv_load_file(gses->ontop, filename, 0); } g_free(fname); //sw_qrv_recalc_extremes(gses->ontop, aband); } void sw_qrv_choose(struct menu *menu){ int i; char *filename; progress(VTEXT(T_LOAD_QRVS)); for (i = 0; i < menu->ni; i++){ struct menu_item *mi = menu->items + i; if (!mi->checked) continue; filename = g_strdup_printf("%s/%s/c.txt", logs_dir, (char *)mi->data); qrv_import_edi(NULL, filename); g_free(filename); } save_all_bands_txt(0); progress("NULL"); } void menu_qrv_add_contest(void *menudata, void *itdata){ contest_choose(sw_qrv_choose); } tucnak-4.32/src/wiki.h0000644000175000017500000000153612362457257011575 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __WIKI_H #define __WIKI_H #include "header.h" struct band; struct zhttp; struct wiki{ struct zhttp *http; char *apiurl; char *status; char *edittoken; char *text; GPtrArray *images; int done; }; void wiki_header(GString *gs); void wiki_band_header(GString *gs, struct band *b, int flags); void wiki_footer(GString *gs); void wiki_complete(GString *gs, int flags); int export_all_bands_wiki(void); void wiki_status(struct wiki *wiki, char *fmt, ...); void wiki_upload(void *arg); void wiki_info(void *arg1); void wiki_schedule(struct wiki *wiki); #endif tucnak-4.32/src/menu4.c0000644000175000017500000012640013721016253011636 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "alsa.h" #include "bfu.h" #include "cwdaemon.h" #include "dsp.h" #include "menu.h" #include "net.h" #include "oss.h" #include "pa.h" #include "rc.h" #include "scope.h" #include "ssbd.h" #include "subwin.h" #include "terminal.h" #include "tsdl.h" char *keys[MAX_CQ]={"F5", "F6", "F7", "F8", "F11", "F12"}; struct menu_item no_cq_defined_menu[] = { {CTEXT(T_NO_CQ), "", M_BAR, NULL, NULL, 0, 0}, {NULL, NULL, 0, NULL, NULL, 0, 0}, }; /************************** CW *******************************/ char cw_str[MAX_STR_LEN], cw_speed_str[EQSO_LEN]; int cw_repeat; char cw_ts_str[EQSO_LEN]; int cw_allowifundef; void refresh_cq_cw(void *xxx){ struct cq *cq; cq = (struct cq *)xxx; STORE_STR(cq, cw_str); cq->cw_speed = atoi(cw_speed_str); cq->cw_repeat = cw_repeat; cq->cw_ts = atoi(cw_ts_str); cq->cw_allowifundef = cw_allowifundef; } char *cq_cw_msg[] = { CTEXT(T_TEXT), CTEXT(T_SPEED), CTEXT(T_REPEAT), CTEXT(T_DELAY), CTEXT(T_ALLOW_UNDEF), "", /* OK */ "", /* Cancel */ }; void cq_cw_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_group_width(term, cq_cw_msg + 0, dlg->items + 0, 1, &max); min_group_width(term, cq_cw_msg + 0, dlg->items + 0, 1, &min); max_group_width(term, cq_cw_msg + 1, dlg->items + 1, 1, &max); min_group_width(term, cq_cw_msg + 1, dlg->items + 1, 1, &min); max_group_width(term, cq_cw_msg + 2, dlg->items + 2, 1, &max); min_group_width(term, cq_cw_msg + 2, dlg->items + 2, 1, &min); max_group_width(term, cq_cw_msg + 3, dlg->items + 2, 1, &max); min_group_width(term, cq_cw_msg + 3, dlg->items + 2, 1, &min); max_group_width(term, cq_cw_msg + 4, dlg->items + 2, 1, &max); min_group_width(term, cq_cw_msg + 4, dlg->items + 2, 1, &min); max_buttons_width(term, dlg->items + 5, 2, &max); min_buttons_width(term, dlg->items + 5, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB - 8 ) w = dlg->win->term->x - 2 * DIALOG_LB - 8; if (w < 1) w = 1; rw = 0; y ++; dlg_format_group(NULL, term, cq_cw_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, cq_cw_msg + 1, dlg->items + 1, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, cq_cw_msg + 2, dlg->items + 2, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, cq_cw_msg + 3, dlg->items + 3, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, cq_cw_msg + 4, dlg->items + 4, 1, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items + 5, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_group(term, term, cq_cw_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, cq_cw_msg + 1, dlg->items + 1, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, cq_cw_msg + 2, dlg->items + 2, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, cq_cw_msg + 3, dlg->items + 3, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, cq_cw_msg + 4, dlg->items + 4, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_buttons(term, term, dlg->items + 5, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } void cq_cw(void *arg){ struct dialog *d; int i; int no; struct cq *cq; no = GPOINTER_TO_INT(arg); cq = g_ptr_array_index(cfg->cqs, no); safe_strncpy0(cw_str, cq->cw_str, MAX_STR_LEN); g_snprintf(cw_speed_str, EQSO_LEN, "%d", cq->cw_speed); cw_repeat = cq->cw_repeat; g_snprintf(cw_ts_str, EQSO_LEN, "%d", cq->cw_ts); cw_allowifundef = cq->cw_allowifundef; if (!(d = g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_CW_CQ); d->fn = cq_cw_fn; d->refresh = (void (*)(void *))refresh_cq_cw; d->refresh_data = (void *)cq; d->items[i=0].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = cw_str; d->items[i].maxl = 60; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = cw_speed_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = cfg->cwda_maxwpm; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (void *)&cw_repeat; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = cw_ts_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 300; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (void *)&cw_allowifundef; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void menu_cq_cw(void *arg){ int i; char *c; struct menu_item *mi = NULL; struct cq *cq; char example[40]; for (i=0; icqs->len; i++){ cq = (struct cq *) g_ptr_array_index(cfg->cqs, i); safe_strncpy0(example, cq->cw_str, 40); c = g_strdup_printf(VTEXT(T_CW_DSCS), i, keys[i], cq->cw_repeat?'R':' ', example); if (!mi) if (!(mi = new_menu(3))) return; add_to_menu(&mi, g_strdup(c), "", "", MENU_FUNC cq_cw, GINT_TO_POINTER(i), 0); g_free(c); } if (i) do_menu(mi, NULL); else do_menu(no_cq_defined_menu, NULL); } /*********************** SSB ****************************/ char ssb_file[MAX_STR_LEN]; int ssb_repeat; char ssb_ts_str[EQSO_LEN]; void refresh_cq_ssb(void *xxx){ struct cq *cq; cq = (struct cq *)xxx; STORE_STR(cq, ssb_file); cq->ssb_repeat = ssb_repeat; cq->ssb_ts = atoi(ssb_ts_str); } char *cq_ssb_msg[] = { CTEXT(T_FILENAME), CTEXT(T_REPEAT), CTEXT(T_DELAY), "", /* OK */ "", /* Cancel */ }; void cq_ssb_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_group_width(term, cq_ssb_msg + 0, dlg->items + 0, 1, &max); min_group_width(term, cq_ssb_msg + 0, dlg->items + 0, 1, &min); max_group_width(term, cq_ssb_msg + 1, dlg->items + 1, 1, &max); min_group_width(term, cq_ssb_msg + 1, dlg->items + 1, 1, &min); max_group_width(term, cq_ssb_msg + 2, dlg->items + 2, 1, &max); min_group_width(term, cq_ssb_msg + 2, dlg->items + 2, 1, &min); max_buttons_width(term, dlg->items + 3, 2, &max); min_buttons_width(term, dlg->items + 3, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB - 8 ) w = dlg->win->term->x - 2 * DIALOG_LB - 8; if (w < 1) w = 1; rw = 0; y ++; dlg_format_group(NULL, term, cq_ssb_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, cq_ssb_msg + 1, dlg->items + 1, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, cq_ssb_msg + 2, dlg->items + 2, 1, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items + 3, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_group(term, term, cq_ssb_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, cq_ssb_msg + 1, dlg->items + 1, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, cq_ssb_msg + 2, dlg->items + 2, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_buttons(term, term, dlg->items + 3, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } void cq_ssb(void *arg){ struct dialog *d; int i; int no; struct cq *cq; no = GPOINTER_TO_INT(arg); cq = g_ptr_array_index(cfg->cqs, no); safe_strncpy0(ssb_file, cq->ssb_file, MAX_STR_LEN); ssb_repeat = cq->ssb_repeat; g_snprintf(ssb_ts_str, EQSO_LEN, "%d", cq->ssb_ts); if (!(d = g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_SSB_CQ); d->fn = cq_ssb_fn; d->refresh = (void (*)(void *))refresh_cq_ssb; d->refresh_data = (void *)cq; d->items[i=0].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = ssb_file; d->items[i].maxl = 60; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (void *)&ssb_repeat; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssb_ts_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 300; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void menu_cq_ssb(void *arg){ int i; char *c; struct menu_item *mi = NULL; struct cq *cq; char example[20]; for (i=0; icqs->len; i++){ cq = (struct cq *) g_ptr_array_index(cfg->cqs, i); safe_strncpy0(example, cq->ssb_file, 20); c = g_strdup_printf(VTEXT(T_SSB_DSCS), i, keys[i], cq->ssb_repeat?'R':' ', example); if (!mi) if (!(mi = new_menu(3))) return; add_to_menu(&mi, g_strdup(c), "", "", MENU_FUNC cq_ssb, GINT_TO_POINTER(i), 0); g_free(c); } if (i) do_menu(mi, NULL); else do_menu(no_cq_defined_menu, NULL); } /******************* CWDAEMON **********************************/ int cwda_type; char cwda_device[MAX_STR_LEN]; char cwda_hostname[MAX_STR_LEN]; char udp_port_str[EQSO_LEN]; char speed_str[EQSO_LEN]; char weight_str[EQSO_LEN]; char minwpm_str[EQSO_LEN], maxwpm_str[EQSO_LEN]; int cwda_spk; char leadin_str[EQSO_LEN]; char tail_str[EQSO_LEN]; char autgive_str[EQSO_LEN]; void refresh_cwda(void *xxx){ cfg->cwda_type=cwda_type; STORE_STR(cfg, cwda_device); STORE_STR(cfg, cwda_hostname); cfg->cwda_udp_port = atoi(udp_port_str); cfg->cwda_speed = atoi(speed_str); cfg->cwda_weight = atoi(weight_str); if (cfg->cwda_weight < 30) cfg->cwda_weight = 30; if (cfg->cwda_weight > 70) cfg->cwda_weight = 70; cfg->cwda_minwpm = atoi(minwpm_str); cfg->cwda_maxwpm = atoi(maxwpm_str); cfg->cwda_spk = cwda_spk; cfg->cwda_leadin = atoi(leadin_str); cfg->cwda_tail = atoi(tail_str); cfg->cwda_autgive = atoi(autgive_str); free_cwdaemon(cwda); cwda=init_cwdaemon(); progress(NULL); } void menu_cwda(void *arg){ struct dialog *d; int i; cwda_type=cfg->cwda_type; safe_strncpy0(cwda_device, cfg->cwda_device, MAX_STR_LEN); safe_strncpy0(cwda_hostname, cfg->cwda_hostname, MAX_STR_LEN); g_snprintf(udp_port_str, EQSO_LEN, "%d", cfg->cwda_udp_port); g_snprintf(speed_str, EQSO_LEN, "%d", cfg->cwda_speed); if (cfg->cwda_weight < 30 || cfg->cwda_weight > 70) cfg->cwda_weight = 50; g_snprintf(weight_str, EQSO_LEN, "%d", cfg->cwda_weight); g_snprintf(minwpm_str, EQSO_LEN, "%d", cfg->cwda_minwpm); g_snprintf(maxwpm_str, EQSO_LEN, "%d", cfg->cwda_maxwpm); cwda_spk=cfg->cwda_spk; g_snprintf(leadin_str, EQSO_LEN, "%d", cfg->cwda_leadin); g_snprintf(tail_str, EQSO_LEN, "%d", cfg->cwda_tail); g_snprintf(autgive_str, EQSO_LEN, "%d", cfg->cwda_autgive); if (!(d = g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_CW_DAEMON); // d->fn = cwda_fn; d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_cwda; d->refresh_data = NULL; d->y0 = 1; d->items[i=0].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_NONE; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = CTEXT(T_ROT_NONE); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_PARPORT; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = CTEXT(T_PARPORT); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_TTYS; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = CTEXT(T_TTYS); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_TTYS_SINGLE; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = CTEXT(T_TTYSSINGLE); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_DAVAC4; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = "Davac4"; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_CWD; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = "cwdaemon"; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_WINKEY; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = "winkey"; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = CWD_WINKEYTCP; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_type; d->items[i].msg = "winkey TCP"; d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = cwda_device; d->items[i].maxl = 20; d->items[i].msg = CTEXT(T_DEVICE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = cwda_hostname; d->items[i].maxl = 20; d->items[i].msg = CTEXT(T_HOSTNAME); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = udp_port_str; d->items[i].maxl = 6; d->items[i].fn = check_number; d->items[i].gid = 1; d->items[i].gnum = 65535; d->items[i].msg = CTEXT(T_UDPPORT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = speed_str; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = cfg->cwda_maxwpm; d->items[i].msg = CTEXT(T_INIT_SPEED); d->items[++i].type = D_FIELD; /* 10 */ d->items[i].dlen = EQSO_LEN; d->items[i].data = weight_str; d->items[i].maxl = 3; d->items[i].msg = CTEXT(T_INIT_WEIGHT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = minwpm_str; d->items[i].maxl = 5; d->items[i].fn = check_number; d->items[i].gid = 1; d->items[i].gnum = 99; d->items[i].msg = CTEXT(T_WPMFROM); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = maxwpm_str; d->items[i].maxl = 5; d->items[i].fn = check_number; d->items[i].gid = 1; d->items[i].gnum = 99; d->items[i].msg = CTEXT(T_WPMTO); d->items[i].wrap = 1; #ifdef Z_UNIX d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&cwda_spk; d->items[i].msg = CTEXT(T_USE_SPK); d->items[i].wrap = 1; #endif d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = leadin_str; d->items[i].maxl = 6; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 10000; d->items[i].msg = CTEXT(T_LEADIN); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = tail_str; d->items[i].maxl = 6; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 10000; d->items[i].msg = TRANSLATE("PTT tail [ms]");//CTEXT(T_LEADIN); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; /* 15 */ d->items[i].dlen = EQSO_LEN; d->items[i].data = autgive_str; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 9; d->items[i].msg = CTEXT(T_AUTGIVE); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_winkey_opts; d->items[i].text = VTEXT(T_WINKEYOPTS); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /*********************** SSBD ****************************/ #ifdef HAVE_SNDFILE #define MAX_RECORD_FORMAT 7 int record_format; /* index 0..MAX_RECORD_FORMAT-1 */ extern char ssbd_format_str[MAX_STR_LEN]; extern char ssbd_oss_src[MAX_STR_LEN]; extern char ssbd_alsa_src[MAX_STR_LEN]; #ifdef HAVE_PORTAUDIO char ssbd_pa_play_src[MAX_STR_LEN]; char ssbd_pa_rec_src[MAX_STR_LEN]; #endif char *record_format_msg[]={ CTEXT(T_PCM8), CTEXT(T_PCM16), CTEXT(T_ULAW), CTEXT(T_ALAW), CTEXT(T_IMAADPCM), CTEXT(T_MSADPCM), CTEXT(T_GSM610) }; int record_formats[]={ SF_FORMAT_WAV | SF_FORMAT_PCM_U8, SF_FORMAT_WAV | SF_FORMAT_PCM_16, SF_FORMAT_WAV | SF_FORMAT_ULAW, SF_FORMAT_WAV | SF_FORMAT_ALAW, SF_FORMAT_WAV | SF_FORMAT_IMA_ADPCM, SF_FORMAT_WAV | SF_FORMAT_MS_ADPCM, SF_FORMAT_WAV | SF_FORMAT_GSM610 }; void record_format_func (void *arg){ int active; active=GPOINTER_TO_INT(arg); if (active<0 || active>=MAX_RECORD_FORMAT) return; record_format = active; safe_strncpy0(ssbd_format_str,_(CTEXT(T_PCM8+record_format)),MAX_STR_LEN); redraw_later(); } int dlg_record_format(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; if (!(mi = new_menu(1))) return 0; for (i = 0; i < MAX_RECORD_FORMAT; i++) { add_to_menu(&mi, record_format_msg[i], "", "", MENU_FUNC record_format_func, GINT_TO_POINTER(i), 0); } sel = record_format; if (sel < 0) sel = 0; if (sel>=MAX_RECORD_FORMAT) sel=0; do_menu_selected(mi, GINT_TO_POINTER(record_format), sel); return 0; } /* ------------------------ */ void alsa_src_func (void *arg){ int i, active; GString *labels; gchar **items; active=GPOINTER_TO_INT(arg); labels=g_string_sized_new(100); #ifdef HAVE_ALSA alsa_get_sources(gssbd->dsp, labels); #endif items=g_strsplit(labels->str, ";", 0); for (i=0;items[i]!=NULL;i++);/* dbg("items[%d]=%s\n", i, items[i]);*/ /* dbg("alsa_src_func: active=%d max=%d\n", active, i);*/ dbg("alsa_src_func(%d) labels='%s'\n", active, labels->str); if (active<0 || active>i) goto x; if (active==0) safe_strncpy0(ssbd_alsa_src,VTEXT(T_RECSRC_NONE),MAX_STR_LEN); else safe_strncpy0(ssbd_alsa_src,items[active-1],MAX_STR_LEN); dbg(" ssbd_alsa_src='%s'\n", ssbd_alsa_src); redraw_later(); x:; g_string_free(labels, 1); g_strfreev(items); } int dlg_alsa_src(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; GString *labels; gchar **items; labels=g_string_sized_new(100); #ifdef HAVE_ALSA alsa_get_sources(gssbd->dsp, labels); #endif items=g_strsplit(labels->str, ";", 0); dbg("dlg_alsa_src() labels='%s'\n", labels->str); if (!(mi = new_menu(1))) goto x; add_to_menu(&mi, g_strdup(VTEXT(T_RECSRC_NONE)), "", "", MENU_FUNC alsa_src_func, GINT_TO_POINTER(0), 0); sel=0; for (i = 0; items[i]!=NULL; i++) { add_to_menu(&mi, g_strdup(items[i]), "", "", MENU_FUNC alsa_src_func, GINT_TO_POINTER(i+1), 0); if (strcmp(items[i], ssbd_alsa_src)==0) sel=i+1; } dbg(" sel=%d\n", sel); do_menu_selected(mi, NULL, sel); x:; g_string_free(labels, 1); g_strfreev(items); return 0; } /* ------------------------ */ void oss_src_func (void *arg){ int i, active; GString *labels; gchar **items; active=GPOINTER_TO_INT(arg); labels=g_string_sized_new(100); #ifdef HAVE_OSS oss_get_sources(gssbd->dsp, labels); #endif items=g_strsplit(labels->str, ";", 0); for (i=0;items[i]!=NULL;i++);/* dbg("items[%d]=%s\n", i, items[i]);*/ dbg("oss_src_func: active=%d max=%d\n", active, i); if (active<0 || active>i) goto x; if (active==0) safe_strncpy0(ssbd_oss_src,VTEXT(T_RECSRC_NONE),MAX_STR_LEN); else safe_strncpy0(ssbd_oss_src,items[active-1],MAX_STR_LEN); redraw_later(); x:; g_string_free(labels, 1); g_strfreev(items); } int dlg_oss_src(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; GString *labels; gchar **items; labels=g_string_sized_new(100); #ifdef HAVE_OSS oss_get_sources(gssbd->dsp, labels); #endif items=g_strsplit(labels->str, ";", 0); dbg("labels='%s'\n", labels->str); if (!(mi = new_menu(1))) goto x; add_to_menu(&mi, g_strdup(VTEXT(T_RECSRC_NONE)), "", "", MENU_FUNC oss_src_func, GINT_TO_POINTER(0), 0); sel=0; for (i = 0; items[i]!=NULL; i++) { add_to_menu(&mi, g_strdup(items[i]), "", "", MENU_FUNC oss_src_func, GINT_TO_POINTER(i+1), 0); if (strcmp(items[i], ssbd_oss_src)==0) sel=i+1; } dbg("sel=%d\n", sel); do_menu_selected(mi, NULL, sel); x:; g_string_free(labels, 1); g_strfreev(items); return 0; } /* ------------------------ */ #ifdef HAVE_PORTAUDIO static void pa_play_src_func (void *arg){ int active = GPOINTER_TO_INT(arg); const PaDeviceInfo *di = Pa_GetDeviceInfo(active); safe_strncpy0(ssbd_pa_play_src, di->name, MAX_STR_LEN); cfg->ssbd_pa_play = active; redraw_later(); } static int dlg_pa_play_src(struct dialog_data *dlg, struct dialog_item_data *di){ int i, max, sel = 0, n; struct menu_item *mi; max = Pa_GetDeviceCount(); mi = new_menu(1); n = 0; for (i = 0; i < max; i++){ const PaDeviceInfo *di = Pa_GetDeviceInfo(i); if (di->maxOutputChannels <= 0) continue; add_to_menu(&mi, g_strdup_printf("%d: %s", i, di->name), "", "", MENU_FUNC pa_play_src_func, GINT_TO_POINTER(i), 0); if (i == cfg->ssbd_pa_play) sel = n; n++; } do_menu_selected(mi, NULL, sel); return 0; } /* ------------------------ */ static void pa_rec_src_func(void *arg){ int active = GPOINTER_TO_INT(arg); const PaDeviceInfo *di = Pa_GetDeviceInfo(active); safe_strncpy0(ssbd_pa_rec_src, di->name, MAX_STR_LEN); cfg->ssbd_pa_rec = active; redraw_later(); } static int dlg_pa_rec_src(struct dialog_data *dlg, struct dialog_item_data *di){ int i, max, sel = 0, n; struct menu_item *mi; max = Pa_GetDeviceCount(); mi = new_menu(1); n = 0; for (i = 0; i < max; i++){ const PaDeviceInfo *di = Pa_GetDeviceInfo(i); if (di->maxInputChannels <= 0) continue; add_to_menu(&mi, g_strdup_printf("%d: %s", i, di->name), "", "", MENU_FUNC pa_rec_src_func, GINT_TO_POINTER(i), 0); if (i == cfg->ssbd_pa_rec) sel = n; n++; } do_menu_selected(mi, NULL, sel); return 0; } #endif /* ------------------------ */ int ssbd_type; int ssbd_record; char ssbd_maxmin_str[EQSO_LEN], ssbd_diskfree_str[EQSO_LEN]; int ssbd_format; /* 0x100xx */ char ssbd_format_str[MAX_STR_LEN]; char ssbd_channels_str[EQSO_LEN], ssbd_samplerate_str[EQSO_LEN]; char ssbd_plev_str[EQSO_LEN], ssbd_rlev_str[EQSO_LEN]; char ssbd_template[MAX_STR_LEN]; char ssbd_pcm_play[EQSO_LEN], ssbd_pcm_rec[EQSO_LEN]; char ssbd_period_time_str[EQSO_LEN]/*, ssbd_buffer_time_str[EQSO_LEN]*/; char ssbd_alsa_mixer[EQSO_LEN]; char ssbd_alsa_src[MAX_STR_LEN]; char ssbd_dsp[MAX_STR_LEN]; char ssbd_maxfrag_str[EQSO_LEN]; char ssbd_mixer[MAX_STR_LEN]; char ssbd_oss_src[MAX_STR_LEN]; char ssbd_hostname[MAX_STR_LEN],ssbd_udp_port_str[EQSO_LEN]; void refresh_ssbd(void *xxx){ STORE_INT(cfg, ssbd_type); STORE_INT(cfg, ssbd_record); STORE_SINT(cfg, ssbd_maxmin); STORE_SINT(cfg, ssbd_diskfree); if (record_format<0 || record_format>=MAX_RECORD_FORMAT){ cfg->ssbd_format = SF_FORMAT_WAV | SF_FORMAT_GSM610; }else{ cfg->ssbd_format = record_formats[record_format]; } dbg("refresh_ssbd: record_formats[%d]=0x%x (%s)\n", record_format, cfg->ssbd_format, _(CTEXT(T_PCM8+record_format))); STORE_SINT(cfg, ssbd_channels); STORE_SINT(cfg, ssbd_samplerate); STORE_SINT(cfg, ssbd_plev); STORE_SINT(cfg, ssbd_rlev); STORE_STR(cfg, ssbd_template); STORE_STR(cfg, ssbd_pcm_play); STORE_STR(cfg, ssbd_pcm_rec); STORE_SINT(cfg, ssbd_period_time); //STORE_SINT(cfg, ssbd_buffer_time); STORE_STR(cfg, ssbd_alsa_mixer); if (strcmp(ssbd_alsa_src, VTEXT(T_RECSRC_NONE))==0){ strcpy(ssbd_alsa_src, ""); } STORE_STR(cfg, ssbd_alsa_src); dbg("refresh_ssbd: ssbd_alsa_src='%s'\n", cfg->ssbd_alsa_src); STORE_STR(cfg, ssbd_dsp); STORE_SINT(cfg, ssbd_maxfrag); STORE_STR(cfg, ssbd_mixer); if (strcmp(ssbd_oss_src, VTEXT(T_RECSRC_NONE))==0){ strcpy(ssbd_oss_src, ""); } STORE_STR(cfg, ssbd_oss_src); dbg("refresh_ssbd: ssbd_oss_src='%s'\n", cfg->ssbd_oss_src); STORE_STR(cfg, ssbd_hostname); STORE_SINT(cfg, ssbd_udp_port); free_ssbd(gssbd); sw_scope_clear_scopes(); gssbd=init_ssbd(); progress(NULL); } void do_ssbd(void){ struct dialog *d; int i; GString *labels; gchar *c; #ifdef HAVE_PORTAUDIO const PaDeviceInfo *di; if (!pa_initialised) { Pa_Initialize(); pa_initialised = 1; } #endif labels=g_string_sized_new(100); ssbd_type = cfg->ssbd_type; ssbd_record = cfg->ssbd_record; g_snprintf(ssbd_maxmin_str, EQSO_LEN, "%d", cfg->ssbd_maxmin); g_snprintf(ssbd_diskfree_str, EQSO_LEN, "%d", cfg->ssbd_diskfree); ssbd_format=cfg->ssbd_format; record_format=0; for (i=0;issbd_channels); g_snprintf(ssbd_samplerate_str, EQSO_LEN, "%d", cfg->ssbd_samplerate); g_snprintf(ssbd_plev_str, EQSO_LEN, "%d", cfg->ssbd_plev); g_snprintf(ssbd_rlev_str, EQSO_LEN, "%d", cfg->ssbd_rlev); safe_strncpy0(ssbd_template, cfg->ssbd_template, MAX_STR_LEN); safe_strncpy0(ssbd_pcm_play, cfg->ssbd_pcm_play, EQSO_LEN); safe_strncpy0(ssbd_pcm_rec, cfg->ssbd_pcm_rec, EQSO_LEN); g_snprintf(ssbd_period_time_str, EQSO_LEN, "%d", cfg->ssbd_period_time); //g_snprintf(ssbd_buffer_time_str, EQSO_LEN, "%d", cfg->ssbd_buffer_time); safe_strncpy0(ssbd_alsa_mixer, cfg->ssbd_alsa_mixer, EQSO_LEN); /* safe_strncpy0(ssbd_alsa_src, cfg->ssbd_alsa_src, MAX_STR_LEN);*/ dbg("do_ssbd: cfg->ssbd_alsa_src='%s'\n", cfg->ssbd_alsa_src); if (cfg->ssbd_alsa_src && strlen(cfg->ssbd_alsa_src)>0){ safe_strncpy0(ssbd_alsa_src,cfg->ssbd_alsa_src,MAX_STR_LEN); }else{ safe_strncpy0(ssbd_alsa_src, VTEXT(T_RECSRC_NONE), MAX_STR_LEN); } dbg("do_ssbd: ssbd_alsa_src='%s'\n", ssbd_alsa_src); safe_strncpy0(ssbd_dsp, cfg->ssbd_dsp, MAX_STR_LEN); g_snprintf(ssbd_maxfrag_str, EQSO_LEN, "%d", cfg->ssbd_maxfrag); safe_strncpy0(ssbd_mixer, cfg->ssbd_mixer, MAX_STR_LEN); dbg("do_ssbd: cfg->ssbd_oss_src='%s'\n", cfg->ssbd_oss_src); if (cfg->ssbd_oss_src){ if (!*cfg->ssbd_oss_src) c=NULL; else c=cfg->ssbd_oss_src; }else{ c=NULL; #ifdef HAVE_OSS c=oss_recsrc2source(cfg->ssbd_recsrc); #endif } dbg("do_ssbd: cfg->ssbd_recsrc=%d label='%s'\n", cfg->ssbd_recsrc, c); if (c){ safe_strncpy0(ssbd_oss_src,c,MAX_STR_LEN); }else{ safe_strncpy0(ssbd_oss_src, VTEXT(T_RECSRC_NONE), MAX_STR_LEN); } #ifdef HAVE_PORTAUDIO if (cfg->ssbd_pa_play < 0) cfg->ssbd_pa_play = Pa_GetDefaultOutputDevice(); di = Pa_GetDeviceInfo(cfg->ssbd_pa_play); if (di){ safe_strncpy(ssbd_pa_play_src, di->name, MAX_STR_LEN); }else{ safe_strncpy0(ssbd_pa_play_src, VTEXT(T_RECSRC_NONE), MAX_STR_LEN); } if (cfg->ssbd_pa_rec < 0) cfg->ssbd_pa_rec = Pa_GetDefaultInputDevice(); di = Pa_GetDeviceInfo(cfg->ssbd_pa_rec); if (di){ safe_strncpy(ssbd_pa_rec_src, di->name, MAX_STR_LEN); }else{ safe_strncpy0(ssbd_pa_rec_src, VTEXT(T_RECSRC_NONE), MAX_STR_LEN); } #endif safe_strncpy0(ssbd_hostname, cfg->ssbd_hostname, MAX_STR_LEN); g_snprintf(ssbd_udp_port_str, EQSO_LEN, "%d", cfg->ssbd_udp_port); g_string_free(labels, 0); if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_AUDIO); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_ssbd; d->y0 = 1; d->items[i = 0].type = D_TEXT; d->items[i].msg = CTEXT(T_AUDIO_SUBSYSTEM); #ifdef HAVE_ALSA d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_ALSA; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&ssbd_type; d->items[i].msg = CTEXT(T_ALSA); #endif #ifdef HAVE_OSS d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_OSS; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&ssbd_type; d->items[i].msg = CTEXT(T_OSS); #endif #ifdef HAVE_PORTAUDIO d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_PORTAUDIO; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&ssbd_type; d->items[i].msg = CTEXT(T_PORTAUDIO); #endif #ifdef USE_SDR d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = DSPT_SNDPIPE; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&ssbd_type; d->items[i].msg = CTEXT(T_SDR); #endif d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&ssbd_record; d->items[i].msg = CTEXT(T_RECORD); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_maxmin_str; d->items[i].maxl = 6; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 10000; d->items[i].msg = CTEXT(T_MAXMIN); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_diskfree_str; d->items[i].maxl = 6; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 10000; d->items[i].msg = CTEXT(T_DISKFREE); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_record_format; d->items[i].text = ssbd_format_str; d->items[i].msg = CTEXT(T_FORMAT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_channels_str; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 1; d->items[i].gnum = 8; d->items[i].msg = CTEXT(T_CHANNELS); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_samplerate_str; d->items[i].maxl = 7; d->items[i].fn = check_number; d->items[i].gid = 4000; d->items[i].gnum = 192000; d->items[i].msg = CTEXT(T_SAMPLERATE); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_period_time_str; d->items[i].maxl = 5; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 1000; d->items[i].msg = CTEXT(T_PERIOD); #if defined(HAVE_SYS_SOUNDCARD_H) || defined(HAVE_ALSA) d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_plev_str; d->items[i].maxl = 4; d->items[i].fn = check_number; d->items[i].gid = -1; d->items[i].gnum = 100; d->items[i].msg = CTEXT(T_PLAYBACK_VOLUME); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_rlev_str; d->items[i].maxl = 4; d->items[i].fn = check_number; d->items[i].gid = -1; d->items[i].gnum = 100; d->items[i].msg = CTEXT(T_CAPTURE_VOLUME); #endif d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = ssbd_template; d->items[i].maxl = 30; d->items[i].msg = CTEXT(T_TEMPLATE); d->items[i].wrap = 2; #ifdef HAVE_ALSA d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_pcm_play; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_PCM_PLAY); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_pcm_rec; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_PCM_REC); d->items[i].wrap = 1; /*d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_buffer_time_str; d->items[i].maxl = 5; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 1000; d->items[i].msg = CTEXT(T_BUFFER); d->items[i].wrap = 1;*/ d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_alsa_mixer; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_ALSA_MIXER); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_alsa_src; d->items[i].text = ssbd_alsa_src; d->items[i].msg = CTEXT(T_CAPTURE); d->items[i].wrap = 2; #endif #ifdef HAVE_SYS_SOUNDCARD_H d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = ssbd_dsp; d->items[i].maxl = 20; d->items[i].msg = CTEXT(T_DSP); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = ssbd_maxfrag_str; d->items[i].maxl = 5; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 20; d->items[i].msg = CTEXT(T_MAXFRAG); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = ssbd_mixer; d->items[i].maxl = 20; d->items[i].msg = CTEXT(T_MIXER); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_oss_src; d->items[i].text = ssbd_oss_src; d->items[i].msg = CTEXT(T_RECSRC); d->items[i].wrap = 2; #endif #ifdef HAVE_PORTAUDIO d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_pa_play_src; d->items[i].text = ssbd_pa_play_src; d->items[i].msg = CTEXT(T_PA_PLAY); d->items[i].wrap = 1; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_pa_rec_src; d->items[i].text = ssbd_pa_rec_src; d->items[i].msg = CTEXT(T_PA_REC); d->items[i].wrap = 2; #endif d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 2; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void menu_ssbd(void *arg){ do_ssbd(); } #endif //HAVE_SNDFILE /*********************** NETWORK ****************************/ char net_if_ignore[MAX_STR_LEN],net_ip_ignore[MAX_STR_LEN],net_ip_announce[MAX_STR_LEN]; int trace_bcast, trace_sock, trace_recv, trace_send, trace_qsos, trace_rig, trace_sdev, trace_keys; int net_remote_enable; char net_remote_host[MAX_STR_LEN], net_remote_port_str[EQSO_LEN], net_remote_pass[MAX_STR_LEN]; void refresh_net(void *xxx){ int raise = 0; if (trace_bcast && !cfg->trace_bcast) raise++; if (trace_sock && !cfg->trace_sock) raise++; if (trace_recv && !cfg->trace_recv) raise++; if (trace_send && !cfg->trace_send) raise++; if (trace_rig && !cfg->trace_rig) raise++; if (trace_qsos && !cfg->trace_qsos) raise++; if (trace_sdev && !cfg->trace_sdev) raise++; if (trace_keys && !cfg->trace_keys) raise++; STORE_STR(cfg, net_if_ignore); STORE_STR(cfg, net_ip_ignore); STORE_STR(cfg, net_ip_announce); STORE_INT(cfg, net_remote_enable); STORE_STR(cfg, net_remote_host); STORE_SINT(cfg, net_remote_port); STORE_STR(cfg, net_remote_pass); STORE_INT(cfg, trace_bcast); STORE_INT(cfg, trace_sock); STORE_INT(cfg, trace_recv); STORE_INT(cfg, trace_send); STORE_INT(cfg, trace_qsos); STORE_INT(cfg, trace_rig); STORE_INT(cfg, trace_sdev); STORE_INT(cfg, trace_keys); free_net_ifaces(gnet); init_net_ifaces(gnet, 1); net_connect_remote(gnet); if (raise){ sw_raise_or_new(SWT_LOG); } } void do_net(void){ struct dialog *d; int i; safe_strncpy0(net_if_ignore, cfg->net_if_ignore, MAX_STR_LEN); safe_strncpy0(net_ip_ignore, cfg->net_ip_ignore, MAX_STR_LEN); safe_strncpy0(net_ip_announce, cfg->net_ip_announce, MAX_STR_LEN); net_remote_enable = cfg->net_remote_enable; safe_strncpy0(net_remote_host, cfg->net_remote_host, MAX_STR_LEN); g_snprintf(net_remote_port_str, EQSO_LEN, "%d", cfg->net_remote_port); safe_strncpy0(net_remote_pass, cfg->net_remote_pass, MAX_STR_LEN); trace_bcast=cfg->trace_bcast; trace_sock=cfg->trace_sock; trace_recv=cfg->trace_recv; trace_send=cfg->trace_send; trace_qsos=cfg->trace_qsos; trace_rig=cfg->trace_rig; trace_sdev=cfg->trace_sdev; trace_keys=cfg->trace_keys; if (!(d = (struct dialog *) g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_NETWORK); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_net; d->y0 = 1; i = -1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&net_remote_enable; d->items[i].msg = CTEXT(T_ENABLE_REMOTE_CONNECT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = net_remote_host; d->items[i].maxl = 24; d->items[i].msg = CTEXT(T_REMOTE_HOST); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = net_remote_port_str; d->items[i].maxl = 24; d->items[i].gid = 0; d->items[i].gnum = 65535; d->items[i].msg = CTEXT(T_REMOTE_PORT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = net_remote_pass; d->items[i].maxl = 24; d->items[i].msg = CTEXT(T_REMOTE_PASS); d->items[i].wrap = 2; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = net_if_ignore; d->items[i].maxl = 24; d->items[i].msg = CTEXT(T_IF_IGNORE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = net_ip_ignore; d->items[i].maxl = 24; d->items[i].msg = CTEXT(T_IP_IGNORE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = net_ip_announce; d->items[i].maxl = 24; d->items[i].msg = CTEXT(T_IP_ANNOUNCE); d->items[i].wrap = 2; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_bcast; d->items[i].msg = CTEXT(T_TRACE_BCAST); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_sock; d->items[i].msg = CTEXT(T_TRACE_SOCK); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_recv; d->items[i].msg = CTEXT(T_TRACE_RECV); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_send; d->items[i].msg = CTEXT(T_TRACE_SEND); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_qsos; d->items[i].msg = CTEXT(T_TRACE_QSOS); d->items[++i].type = D_CHECKBOX3; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_rig; d->items[i].msg = CTEXT(T_TRACE_RIG);//CTEXT(T_TRACE_SDEV); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX3; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_sdev; d->items[i].msg = CTEXT(T_TRACE_SDEV); d->items[i].wrap = 0; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&trace_keys; d->items[i].msg = CTEXT(T_TRACE_KEYS);//CTEXT(T_TRACE_SDEV); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void menu_network(void *arg){ do_net(); } tucnak-4.32/src/sota_api.h0000644000175000017500000000177313761411352012422 00000000000000/* Tucnak - SOTA SSO and Network API Copyright (C) 2002-2020 Ladislav Vaiz ; 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SOTA_API_H #define __SOTA_API_H enum sota_token_state { SOTA_SSO_VALID, SOTA_SSO_EXPIRED, SOTA_SSO_LOGOUT, SOTA_SSO_ERROR, }; struct sota_api_data { struct zhttp *http; struct zhttp *http_spot; char *status; char *error; char *error_description; char *id_token; char *access_token; uint32_t ts_token_expire; enum sota_token_state state; struct sota_spot_data *ssd; }; struct sota_api_data* sota_api_init(void); int sota_api_get_token(struct sota_api_data *sad); int sota_api_send_spot(struct sota_api_data *sad); int sota_api_send_spot_insecure(struct sota_api_data *sad); void sota_api_free(struct sota_api_data *sad); #endiftucnak-4.32/src/inpout.h0000644000175000017500000000140212011204770012115 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __INPOUT_H #define __INPOUT_H struct cwdaemon; #if defined(Z_MSC_MINGW_CYGWIN) int parport_init (struct cwdaemon *); int parport_open (struct cwdaemon *cwda, int verbose); int parport_free (struct cwdaemon *); int parport_reset (struct cwdaemon *); int parport_cw (struct cwdaemon *, int onoff); int parport_ptt (struct cwdaemon *, int onoff); int parport_ssbway (struct cwdaemon *, int onoff); int parport_band (struct cwdaemon *, int bandsw); #endif #endif tucnak-4.32/src/tsdl.c0000644000175000017500000015723114123413144011557 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "cwwindow.h" #include "fifo.h" #include "icons.h" #include "kbd.h" #include "main.h" #include "map.h" #include "misc.h" #include "qsodb.h" #include "rc.h" #include "rotar.h" #include "tsdl.h" #include "session.h" #include "ssbd.h" #include "subwin.h" #include "terminal.h" #include "zosk.h" #include "zpng.h" #define DEBUG_REDRAWx #undef TESTCOLOR #ifdef Z_HAVE_SDL #ifdef Z_ANDROID #define SDLTESTx #endif //#define SDLTEST struct tsdl *sdl; struct zzsdl *zsdl; SDL_Color pal[256]; #ifdef SDLTEST int sdl_test(void); #endif #if defined(Z_MSC_MINGW) && defined(Z_HAVE_SDL1) int getaltstate(){ SHORT ret = GetKeyState(VK_MENU);// Alt key return (ret & 0x8000) != 0;// high-order bit is 1 } #endif char *dumpmods(SDL_Keysym *sym){ static GString *gs = NULL; if (gs == NULL) gs = g_string_sized_new(256); g_string_truncate(gs, 0); SDL_Keymod mod; if (sym != NULL) mod = sym->mod; else mod = SDL_GetModState(); if (mod & KMOD_LSHIFT) g_string_append(gs, "LSHIFT "); if (mod & KMOD_RSHIFT) g_string_append(gs, "RSHIFT "); if (mod & KMOD_LCTRL) g_string_append(gs, "LCTRL "); if (mod & KMOD_RCTRL) g_string_append(gs, "RCTRL "); if (mod & KMOD_LALT) g_string_append(gs, "LALT "); if (mod & KMOD_RALT) g_string_append(gs, "RALT "); #ifdef Z_HAVE_SDL2 if (mod & KMOD_LGUI) g_string_append(gs, "LGUI "); if (mod & KMOD_RGUI) g_string_append(gs, "RGUI "); #endif if (mod & KMOD_NUM) g_string_append(gs, "NUM "); if (mod & KMOD_CAPS) g_string_append(gs, "CAPS "); if (mod & KMOD_MODE) g_string_append(gs, "MODE "); #if defined(Z_MSC_MINGW) && defined(Z_HAVE_SDL1) if (getaltstate()) g_string_append(gs, "VK_MENU "); #endif return gs->str; } struct tsdl *init_sdl(){ int w, h, ty; SDL_Rect r; //char errbuf[1024]; SDL_Surface *tucnak64 = NULL; time_t now; struct tm *tm; #ifdef Z_HAVE_SDL1 const SDL_VideoInfo *vi; #endif #ifdef Z_HAVE_SDL2 SDL_DisplayMode dm; #endif #ifdef SDLTEST exit(sdl_test()); #endif dbg("init_sdl\n"); //SDL_putenv("SDL_VIDEO_WINDOW_POS=0,0"); //SDL_putenv("SDL_VIDEO_WINDOW_POS=center"); if (opt_g && opt_t) { opt_t=opt_g=0; /* user is crazy */ } if (!opt_g && !opt_t){ if (getenv("DISPLAY")!=NULL) opt_g=1; }else{ if (opt_t) opt_g=0; } if (!opt_g) return NULL; time(&now); tm=localtime(&now); now=(tm->tm_mon<<4)+tm->tm_mday - 4; sdl=g_new0(struct tsdl, 1); sdl->old_mouse_x = -1; sdl->old_mouse_y = -1; #ifdef Z_HAVE_SDL1 sdl->iconvhandle = iconv_open("ISO8859-2", "UCS-2LE"); #endif #ifdef Z_HAVE_SDL2 sdl->iconvhandle = iconv_open("ISO8859-2", "UTF-8"); #endif if (sdl->iconvhandle == (iconv_t)(-1)){ int err=errno; char *c = z_strdup_strerror(err); dbg("Can't init iconv %s\n", c); g_free(c); free_sdl(); return NULL; } setenv("SDL_VIDEO_X11_WMCLASS", "Tucnak", 1); if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE)){ log_adds("Can't set graphics mode (SDL_Init)"); free_sdl(); return NULL; }; sdl_pre_info(); #ifdef Z_HAVE_SDL1 vi = SDL_GetVideoInfo(); if (vi){ sdl->screen_w = vi->current_w; sdl->screen_h = vi->current_h; } #endif #ifdef Z_HAVE_SDL2 if (SDL_GetCurrentDisplayMode(0/*TODO*/, &dm) == 0){ sdl->screen_w = dm.w; sdl->screen_h = dm.h; } #endif sdl->window_w = cfg->gfx_x; sdl->window_h = cfg->gfx_y; zsdl_sys_key_repeat(300, 20); #ifdef Z_HAVE_SDL1 SDL_EnableUNICODE(1); #endif #ifdef Z_HAVE_LIBPNG if ((now&0xf8) == 192){ sdl->icon = zpng_create(icon_tucnakv, sizeof(icon_tucnakv)); tucnak64 = zpng_create(icon_tucnakv64, sizeof(icon_tucnakv64)); }else{ sdl->icon = zpng_create(icon_tucnak, sizeof(icon_tucnak)); tucnak64 = zpng_create(icon_tucnak64, sizeof(icon_tucnak64)); } sdl->home = zpng_create(icon_home32, sizeof(icon_home32)); sdl->mast = zpng_create(icon_mast, sizeof(icon_mast)); sdl->zoomin = zpng_create(icon_zoomin32, sizeof(icon_zoomin32)); sdl->zoomout = zpng_create(icon_zoomout32, sizeof(icon_zoomout32)); sdl->key = zpng_create(icon_key32, sizeof(icon_key32)); sdl->xfer = zpng_create(icon_xfer32, sizeof(icon_xfer32)); if (!sdl->icon) zinternal("Can't create icon_tucnak, corrupted executable?"); if (!tucnak64) zinternal("Can't create icon_tucnak64, corrupted executable?"); if (!sdl->home) zinternal("Can't create icon_home32, corrupted executable?"); if (!sdl->zoomin) zinternal("Can't create icon_zoomin32, corrupted executable?"); if (!sdl->zoomout) zinternal("Can't create icon_zoomout32, corrupted executable?"); if (!sdl->key) zinternal("Can't create icon_key, corrupted executable?"); if (!sdl->xfer) zinternal("Can't create icon_xfer, corrupted executable?"); #endif if (z_pipe(sdl->eventpipe)) { zinternal("can't create pipe for internal communication"); } /*dbg("sdl_attach terminal: pipe %d->%d\n", fd[1], fd[0]);*/ z_sock_nonblock(sdl->eventpipe[0], 1); MUTEX_INIT(sdl->eventpipestate); w=cfg->gfx_x; h=cfg->gfx_y; if (cfg->fullscreen){ w = sdl->screen_w; h = sdl->screen_h; } if (sdl_setvideomode(w, h, 1)){ log_adds("Can't set graphics mode"); free_sdl(); return NULL; } sdl->bpp = sdl->screen->format->BitsPerPixel; ty = sdl->screen->h / 2 - 2 * zsdl->font_h; if (tucnak64){ r.x=(sdl->screen->w-64)/2; r.y=sdl->screen->h/2 - 2 * zsdl->font_h - 64; r.w=24; r.h=24; SDL_BlitSurface(tucnak64, NULL, sdl->screen, &r); ty -= 64; } ty -= zsdl->font_h; zsdl_printf(sdl->screen, sdl->screen->w / 2, ty, sdl->gr[12], 0, ZFONT_CENTERX, "Tucnak %s", VERSION); SDL_UpdateRect(sdl->screen, 0, 0, w, h); rot_update_colors(); #ifdef Z_HAVE_LIBPNG SDL_SetWindowIcon(zsdl->window, sdl->icon); #endif /*{ r.w = 256; r.h = 256; r.x = 0; r.y = 0; SDL_Surface *ver = SDL_CreateRGBSurface(SDL_SWSURFACE, 256, 256, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); SDL_Surface *hor = SDL_CreateRGBSurface(SDL_SWSURFACE, 256, 256, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); error("scr=%p %x %x %x %x \n", sdl->screen, sdl->screen->format->Aloss, sdl->screen->format->Ashift, sdl->screen->format->Amask, sdl->screen->format->alpha); error("hor=%p %x %x %x %x \n", hor, hor->format->Aloss, hor->format->Ashift, hor->format->Amask, hor->format->alpha); error("ver=%p %x %x %x %x \n", ver, ver->format->Aloss, ver->format->Ashift, ver->format->Amask, ver->format->alpha); int ii, jj; for (ii=0; ii<256;ii++) for (jj=0;jj<256;jj++){ z_putpixel(hor, ii, jj, z_makecol(ii, ii, ii)); z_putpixel(ver, ii, jj, z_makecol(jj, jj, jj)); } SDL_BlitSurface(hor, NULL, sdl->screen, &r); r.x = 258; SDL_BlitSurface(ver, NULL, sdl->screen, &r); r.x = 516; SDL_SetAlpha(ver, SDL_SRCALPHA, 128); error("ver=%p %x %x %x %x \n", ver, ver->format->Aloss, ver->format->Ashift, ver->format->Amask, ver->format->alpha); SDL_BlitSurface(hor, NULL, sdl->screen, &r); SDL_UpdateRect(sdl->screen, 0, 0, 0, 0); sleep(3); SDL_BlitSurface(ver, NULL, sdl->screen, &r); SDL_UpdateRect(sdl->screen, 0, 0, 0, 0); sleep(4); } */ return sdl; } void sdl_stop_event_thread(){ dbg("sdl_stop_event_thread\n"); if (!sdl) return; if (!sdl->event_thread) return; if (!sdl->ignore_progress) progress(VTEXT(T_WAIT_SDL_THR)); sdl->ignore_progress = 0; sdl->event_thread_break=1; g_thread_join(sdl->event_thread); sdl->event_thread=0; } void free_sdl(){ if (!sdl) return; #ifdef EVENTS_IN_SAME_THREAD if (sdl->event_timer_id) zselect_timer_kill(zsel, sdl->event_timer_id); #endif sdl_stop_event_thread(); if (sdl->mast) SDL_FreeSurface(sdl->mast); if (sdl->icon) SDL_FreeSurface(sdl->icon); if (sdl->screen) SDL_FreeSurface(sdl->screen); if (sdl->key) SDL_FreeSurface(sdl->key); if (sdl->xfer) SDL_FreeSurface(sdl->xfer); MUTEX_FREE(sdl->eventpipestate); zg_free0(sdl->title); SDL_Quit(); if (sdl->iconvhandle) iconv_close(sdl->iconvhandle); g_free(sdl); sdl=NULL; } char *sdl_best = NULL; void sdl_pre_info(){ GString *gs = g_string_new(""); #ifdef Z_HAVE_SDL1 const SDL_VideoInfo *vi = SDL_GetVideoInfo(); if (!vi){ g_string_append_printf(gs, "No \"best mode\" exists\n"); } else{ g_string_append_printf(gs, "Screen: %dx%d-%d ", vi->current_w, vi->current_h, vi->vfmt->BitsPerPixel); if (vi->vfmt->palette){ g_string_append_printf(gs, "using palette "); } else{ g_string_append_printf(gs, "R=%x G=%x B=%x A=%x ", vi->vfmt->Rmask, vi->vfmt->Gmask, vi->vfmt->Bmask, vi->vfmt->Amask); } g_string_append_printf(gs, "colorkey=%04x alpha=%d\n", vi->vfmt->colorkey, vi->vfmt->alpha); } #endif #ifdef Z_HAVE_SDL2 SDL_DisplayMode dm; int i; for (i = 0; i < SDL_GetNumVideoDisplays(); i++){ if (SDL_GetCurrentDisplayMode(i, &dm) == 0){ g_string_append_printf(gs, "Screen %d: %dx%d, %d Hz, pixel format %s \n", i, dm.w, dm.h, dm.refresh_rate, SDL_GetPixelFormatName(dm.format)); } } #endif g_free(sdl_best); sdl_best = g_strdup(gs->str); g_string_free(gs, TRUE); } void sdl_info(GString *gs){ g_string_append_printf(gs, "\n sdl_info:\n"); if (SDL_Init(SDL_INIT_VIDEO) < 0){ g_string_append_printf(gs, "SDL_Init failed\n"); return; }; #ifdef Z_HAVE_SDL1 char str[256]; SDL_VideoDriverName(str, sizeof(str)-1); str[sizeof(str) - 1] = '\0'; #endif #ifdef Z_HAVE_SDL2 const char *str = SDL_GetCurrentVideoDriver(); #endif if (*str) g_string_append_printf(gs, "Driver: %s\n", str); if (!sdl_best) sdl_pre_info(); g_string_append(gs, sdl_best); #ifdef Z_HAVE_SDL1 int oldw, oldh; int i; SDL_Rect **modes; modes=SDL_ListModes(NULL, SDL_FULLSCREEN); if (!modes) { g_string_append_printf(gs, "No video modes available (SDL_ListModes)\n"); }else{ if (modes==(SDL_Rect**)-1){ g_string_append_printf(gs, "All resolutinons available\n"); return; } g_string_append_printf(gs, "Modes: "); oldw=oldh=-1; for (i=0;modes[i];i++){ if (modes[i]->w==oldw && modes[i]->h==oldh) continue; g_string_append_printf(gs, "%dx%d ", modes[i]->w, modes[i]->h); oldw=modes[i]->w; oldh=modes[i]->h; } g_string_append_printf(gs, "\n"); } #endif #ifdef Z_HAVE_SDL2 SDL_DisplayMode dm = { SDL_PIXELFORMAT_UNKNOWN, 0, 0, 0, 0 }; for (int di = 0; di < SDL_GetNumVideoDisplays(); di++){ g_string_append_printf(gs, "Display %d\n", di); for (int mi = 0; mi < SDL_GetNumDisplayModes(di); mi++){ if (SDL_GetDisplayMode(di, mi, &dm) != 0) continue; g_string_append_printf(gs, "Mode %d: %dx%d, %d Hz, pixel format %s \n", mi, dm.w, dm.h, dm.refresh_rate, SDL_GetPixelFormatName(dm.format)); } } #endif g_string_append_printf(gs, "\n"); } #ifdef EVENTS_IN_SAME_THREAD void sdl_event_timer(void *xxx){ if (!sdl) return; SDL_PumpEvents(); sdl->event_timer_id = zselect_timer_new(zsel, 50, sdl_event_timer, NULL); } #endif int sdl_setvideomode(int w, int h, int init_x){ int i, flags; sdl_stop_event_thread(); if (init_x == 0) cfg->maximized = zsdl_maximized(zsdl, NULL, NULL); flags = SDL_SWSURFACE; #ifdef Z_HAVE_SDL1 flags |= SDL_RESIZABLE | SDL_HWPALETTE; #endif #ifdef Z_HAVE_SDL2 flags |= SDL_WINDOW_RESIZABLE; #endif if (cfg->fullscreen){ #ifdef Z_HAVE_SDL1 flags |= SDL_FULLSCREEN; #endif #ifdef Z_HAVE_SDL2 flags |= SDL_WINDOW_FULLSCREEN_DESKTOP; #endif if (sdl->screen_w > 0 && sdl->screen_h >= 0){ w = sdl->screen_w; h = sdl->screen_h; #ifdef Z_ANDROID if (cfg->portrait == 0 && w < 640){ // for 480x320 use libSDL's OpenGL resize w = 640; h = 480; } #endif } }else{ sdl->window_w = w; sdl->window_h = h; } /*w = 480; h = 800;*/ #ifdef Z_HAVE_SDL1 dbg("SDL_SetVideoMode(%d,%d)\n", w, h); sdl->screen = SDL_SetVideoMode(w, h, 0, flags); if (sdl->screen == NULL){ dbg("SDL_SetVideoMode(%d,%d) failed\n", w, h); return 1; } zsdl = zsdl_init(sdl->screen, cfg->fontheight, cfg->inverse); #endif #ifdef Z_HAVE_SDL2 dbg("SDL_CreateWindow(%d,%d)\n", w, h); /*if (zsdl != NULL && zsdl->window != NULL){ SDL_DestroyWindow(zsdl->window); zsdl->window = NULL; } SDL_Window *win = SDL_CreateWindow("Tucnak "PACKAGE_VERSION, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, w, h, flags); if (win == NULL){ dbg("SDL_CreateWindow(%d,%d) failed\n", w, h); return 1; } */ SDL_Window *win = NULL; if (zsdl != NULL) win = zsdl->window; if (zsdl == NULL || zsdl->window == NULL){ win = SDL_CreateWindow("Tucnak "PACKAGE_VERSION, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, w, h, flags); if (win == NULL){ dbg("SDL_CreateWindow(%d,%d) failed\n", w, h); return 1; } } Uint32 format = SDL_GetWindowPixelFormat(win); SDL_PixelFormat *pxformat = SDL_AllocFormat(format); //sdl->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, pxformat->BitsPerPixel, pxformat->Rmask, pxformat->Gmask, pxformat->Bmask, pxformat->Amask); sdl->screen = SDL_GetWindowSurface(win); zsdl = zsdl_init(sdl->screen, cfg->fontheight, cfg->inverse); zsdl->window = win; zsdl->format = format; zsdl->pxformat = pxformat; /*SDL_SetWindowResizable(zsdl->window, SDL_TRUE); if (cfg->fullscreen){ SDL_SetWindowFullscreen(zsdl->window, SDL_TRUE); }*/ //SDL_StartTextInput(); #endif //if (SDL_MUSTLOCK(sdl->screen)) zinternal("surface must be locked"); sdl->termarea.x = 0; sdl->termarea.y = 0; sdl->termarea.w = w; sdl->termarea.h = h; if (sdl->screen->format->palette){ int i; SDL_PixelFormat *fmt; for (i=0; i<256; i++){ sdl->colors[i].r=(i&0xe0)+31; sdl->colors[i].g=((i<<3)&0xe0)+31; sdl->colors[i].b=((i<<6)&0xc0)+63; } #ifdef Z_HAVE_SDL1 SDL_SetColors(sdl->screen, sdl->colors, 0, 256); #endif #ifdef Z_HAVE_SDL2 SDL_SetPaletteColors(zsdl->screen->format->palette, sdl->colors, 0, 256); #endif fmt = sdl->screen->format; fmt->Rmask=0xe0; fmt->Gmask=0x1c; fmt->Bmask=0x03; fmt->Rshift=5; fmt->Gshift=2; fmt->Bshift=0; fmt->Rloss=5; fmt->Gloss=5; fmt->Bloss=6; } pal[0].r = pal[0].g = pal[0].b = 0; sdl->gr[0] = z_makecol(0, 0, 0); for (i=1; i<16; i++){ pal[i].r = pal[i].g = pal[i].b = i*4+3; sdl->gr[i] = z_makecol(i*16+15, i*16+15, i*16+15); } for (i=0; i<16; i++){ int r,g,b; /*if (i == 6){ //DARKCYAN KST hack r = 212; g = 212; b = 0; }else*/ if (i==0x08){ r=g=b=96; }else if (i&0x08){ r=255*(i&0x01); g=255*((i&0x02)>>1); b=255*((i&0x04)>>2); }else if (i==0x07){ r=192; g=192; b=192; }else { r=128*(i&0x01); g=128*((i&0x02)>>1); b=128*((i&0x04)>>2); } sdl->termcol[i]=z_makecol(r,g,b); /*dbg("color[%d]=%d,%d,%d\n", i, r,g,b);*/ } sdl->cursor=z_makecol(128,128,0); sdl->yellow=z_makecol(255,255,0); sdl->yellow2=z_makecol(224,224,0); sdl->green=z_makecol(0,255,0); sdl->red=z_makecol(255,0,0); sdl->magenta = z_makecol(255, 0, 255); sdl->event_thread_break=0; //dbg("creating SDL thread\n"); sdl->event_thread = g_thread_try_new("SDL events", sdl_event_thread, GINT_TO_POINTER(sdl->eventpipe[1]), NULL); if (!sdl->event_thread) { error("ERROR: can't create event thread"); sdl_stop_event_thread(); return -1; } //dbg("created SDL thread"); SDL_FillRect(sdl->screen, NULL, 0); SDL_UpdateRect(sdl->screen, 0, 0, sdl->screen->w, sdl->screen->h); // fill space between char area and screen boundary //sleep(3); #ifdef EVENTS_IN_SAME_THREAD if (!sdl->event_timer_id) sdl->event_timer_id = zselect_timer_new(zsel, 100, sdl_event_timer, NULL); #endif return 0; } #ifdef DEBUG_REDRAW struct timeval startx = {0, 0}; #endif #define ISSEL(x) ((x) >= gses->sel_start && (x) <= gses->sel_stop) void sdl_redraw_screen(void){ int x,y,p,fg,bg,d,i,j, col; int minx,maxx,miny,maxy; unsigned char c; SDL_Rect dstrect, r; int update_dstrect=0; int iconx=0, icony=0; int draw_icon=0; int ll; int selcol; int flg; int doupdate = 1; if (!term || !term->x) return; if (gses && gses->osk) doupdate = 0; sdl->progress_w = 0; #ifdef DEBUG_REDRAW if (startx.tv_sec!=0){ struct timeval stopx; int sec, usec; gettimeofday(&stopx, NULL); usec=stopx.tv_usec-startx.tv_usec; sec=stopx.tv_sec-startx.tv_sec; if (usec<0){usec+=1000000;sec--;} // dbg("a %d.%06d %d.%06d\n", startx.tv_sec % 100, startx.tv_usec, stopx.tv_sec % 100, stopx.tv_usec); //dbg("sdl_redraw_screen: %d.%06d\t", sec, usec); } gettimeofday(&startx, NULL); #endif // TODO při ukončování pod msvc tady někdy je term == NULL minx=term->x; miny=term->y; maxx=-1; maxy=-1; if (term->last_screen!=NULL && (term->cx!=term->lcx || term->cy!=term->lcy)){ term->last_screen[term->cx+term->cy*term->x]=0; if (term->lcx >= 0 && term->lcy >= 0 && term->lcx < term->x && term->lcy < term->y) term->last_screen[term->lcx+term->lcy*term->x]=0; term->lcx=term->cx; term->lcy=term->cy; } if (gses && gses->ontop && gses->ontop->screen && !show_qs()){ dstrect.x=gses->ontop->x*FONT_W; dstrect.y=gses->ontop->y*FONT_H; dstrect.w=gses->ontop->w*FONT_W; dstrect.h=gses->ontop->h*FONT_H; SDL_BlitSurface(gses->ontop->screen, 0, sdl->screen,&dstrect); if (gses->ontop->type == SWT_MAP){ sw_map_redraw_icons(gses->ontop, &dstrect, 0); } //dbg("blit gses->ontop->screen pixel=%d\n", z_getpixel(sdl->screen, gses->ontop->x*FONT_W, gses->ontop->y*FONT_H)); fill_lastarea(gses->ontop->x, gses->ontop->y, gses->ontop->w, gses->ontop->h, 0); update_dstrect=1; //SDL_UpdateRect(sdl->screen, 0, 0, 0, 0); } if (gses && gses->ontop && gses->focused && gses->win->prev == gses->win->next) { dstrect.x = gses->ontop->x * FONT_W - 1; dstrect.y = gses->ontop->y * FONT_H - 1; dstrect.w = gses->ontop->ww * FONT_W + 2; dstrect.h = gses->ontop->hh * FONT_H + 2; z_rect2(sdl->screen, &dstrect, sdl->cursor); update_dstrect=1; } /*if (gses && gses->sel_max >= 0 && gses->sel_min != INT32_MAX){ dbg("clearing %d %d\n", gses->sel_min, gses->sel_max); for (i = gses->sel_min; i <= gses->sel_max; i++){ if (i < 0) continue; if (i >= term->x * term->y) break; term->last_screen[i] = 0; } gses->sel_min = INT32_MAX; gses->sel_max = -1; } */ if (gses && gses->icon != gses->oldicon){ gses->oldicon=gses->icon; iconx=1; icony=term->y - cfg->loglines - DISP_QSOS - 1; if (ctest && !ctest->oldcontest) icony-=ctest->spypeers->len; //dbg(" gses->icon "); fill_lastarea(iconx, icony, 48/FONT_W+1, 48/FONT_H+1, 0); draw_icon=1; } #ifdef HAVE_SNDFILE123 if (gses && gses->icon == ssbd->recicon /* && ssbd->loglevel != ssbd->oldloglevel*/){ x=term->x-1; /*for (y=0;y<6;y++) { // term->last_screen[x+term->x*y]=0; set_char(x, y, '2' + COL_NORM); // term->screen[x+term->x*y]='2'; } */ //dbg(" gses->volume "); } #endif d=0; for (p=0,y=0;yy;y++){ for (x=0;xx;x++,p++){ if (term->screen[p] == term->last_screen[p]) continue; if (!term->screen[p]) continue; d=1; if (xmaxx) maxx=x; if (y>maxy) maxy=y; fg=(term->screen[p]&0x0700)>>8; if (term->screen[p]&0x4000) fg|=0x08; if (term->screen[p]&ATTR_FRAME){ c=term->screen[p]-48; if (c==170) c=134; else if (c==169) c=133; }else{ c=term->screen[p]; } bg=sdl->termcol[(term->screen[p]&0x3800)>>11]; if (x+y>0 && x==term->cx && y==term->cy) bg=sdl->cursor; if (gses && ISSEL(p)) bg = z_makecol(0, 75, 75); flg = ZFONT_CHAR; if ((term->screen[p] >> 15) & DOUBLEHT_MASK) flg |= ZFONT_DOUBLEHT; if ((term->screen[p] >> 15) & DOUBLEHB_MASK) flg |= ZFONT_DOUBLEHB; SDL_SetClipRect(sdl->screen, &sdl->termarea); zsdl_printf(sdl->screen, x*FONT_W, y*FONT_H, sdl->termcol[fg], bg, flg, (char *)&c); if (gses && ISSEL(p)){ selcol = z_makecol(0, 150, 150); if (SDL_MUSTLOCK(sdl->screen)) SDL_LockSurface(sdl->screen); if (!ISSEL(p - 1) || (x % term->x) == 0) z_line(sdl->screen, x * FONT_W, y * FONT_H, x * FONT_W, y * FONT_H + FONT_H - 1, selcol); if (!ISSEL(p + 1) || (x % term->x) == term->x - 1) z_line(sdl->screen, x * FONT_W + FONT_W - 1, y * FONT_H, x * FONT_W + FONT_W - 1, y * FONT_H + FONT_H - 1, selcol); if (!ISSEL(p - term->x)) z_line(sdl->screen, x * FONT_W, y * FONT_H, x * FONT_W + FONT_W - 1, y * FONT_H, selcol); if (!ISSEL(p + term->x)) z_line(sdl->screen, x * FONT_W, y * FONT_H + FONT_H - 1, x * FONT_W + FONT_W - 1, y * FONT_H + FONT_H - 1, selcol); if (SDL_MUSTLOCK(sdl->screen)) SDL_UnlockSurface(sdl->screen); } #ifdef HAVE_SNDFILE gssbd->oldloglevel = -42; #endif } } // clear borders behind char area for (x = term->x * FONT_W; x < sdl->screen->w; x++) for (y = 0; y < sdl->screen->h; y++) z_putpixel(sdl->screen, x, y, 0); for (y = term->y * FONT_H; y < sdl->screen->h; y++) for (x = 0; x < sdl->screen->w; x++) z_putpixel(sdl->screen, x, y, 0); #ifdef HAVE_SNDFILE MUTEX_LOCK(gssbd->loglevel); if (gses && gses->icon == gssbd->recicon && gssbd->loglevel != gssbd->oldloglevel){ ll = gssbd->loglevel; MUTEX_UNLOCK(gssbd->loglevel); //dbg(" XXX %d!=%d \n", ll, ssbd->oldloglevel); x=(term->x-1)*FONT_W; y=6*FONT_H-1; if (SDL_MUSTLOCK(sdl->screen)) SDL_LockSurface(sdl->screen); for (i=0;i<96;i++) { if (iscreen, x+j, y-i, col); } if (SDL_MUSTLOCK(sdl->screen)) SDL_LockSurface(sdl->screen); r.x=x; r.y=0; r.w=FONT_W; r.h=6*FONT_H; //dbg(" [%d,%d,%d,%d] ", r.x, r.y, r.w, r.h); if (doupdate) SDL_UpdateRect(sdl->screen, r.x, r.y, r.w, r.h); gssbd->oldloglevel = ll; }else{ MUTEX_UNLOCK(gssbd->loglevel); } #endif #ifdef Z_HAVE_SDL if (gbat){ x = (term->x - 2) * FONT_W; y = FONT_H; zbat_draw(gbat, sdl->screen, x, y, FONT_W - 1, FONT_H); //if (doupdate) dbg("updaterect %p %d %d %d %d\n", sdl->screen, x, y, FONT_W - 1, FONT_H); if (doupdate) SDL_UpdateRect(sdl->screen, x, y, FONT_W - 1, FONT_H); } #endif if (draw_icon) { r.x=iconx*FONT_W; r.y=icony*FONT_H; r.w=48; r.h=48; SDL_BlitSurface(gses->icon, NULL, sdl->screen, &r); if (doupdate) SDL_UpdateRect(sdl->screen, r.x, r.y, r.w, r.h); } if (d) { minx=minx*FONT_W; miny=miny*FONT_H; maxx=(maxx+1)*FONT_W; maxy=(maxy+1)*FONT_H; /*rect(sdl->screen, minx, miny, maxx, maxy, 0x80);*/ //dbg(" chars "); if (doupdate) SDL_UpdateRect(sdl->screen, minx, miny, maxx-minx, maxy-miny); memcpy(term->last_screen, term->screen, term->x * term->y * sizeof(int)); } if (gses && gses->osk){ SDL_Rect r; zosk_draw(gses->osk); r.x = gses->osk->parent_x; r.y = gses->osk->parent_y; r.w = gses->osk->surface->w; r.h = gses->osk->surface->h; SDL_BlitSurface(gses->osk->surface, NULL, sdl->screen, &r); SDL_UpdateRect(sdl->screen, 0, 0, 0, 0); update_dstrect = 0; // already done } if (update_dstrect){ /*rect2(sdl->screen, &dstrect, 0x000000); SDL_UpdateRect(sdl->screen, dstrect.x, dstrect.y, dstrect.w, dstrect.h); usleep(100000); rect2(sdl->screen, &dstrect, 0x800000);*/ /* for (i=0; i<16; i++){ SDL_Rect q; q.x = 100; q.y = 100+i*10; q.w = 20; q.h = 10; SDL_FillRect(sdl->screen, &q, sdl->termcol[i]); } */ SDL_UpdateRect(sdl->screen, dstrect.x, dstrect.y, dstrect.w, dstrect.h); } // zsdl_test_bars(sdl->screen, 0); #ifdef DEBUG_REDRAW if (startx.tv_sec!=0){ struct timeval stopx; int sec, usec; gettimeofday(&stopx, NULL); usec=stopx.tv_usec-startx.tv_usec; sec=stopx.tv_sec-startx.tv_sec; if (usec<0){usec+=1000000;sec--;} dbg(" %d.%06d\n", sec, usec); // dbg("b %d.%06d %d.%06d\n", startx.tv_sec % 100, startx.tv_usec, stopx.tv_sec % 100, stopx.tv_usec); } gettimeofday(&startx, NULL); #endif } SDL_Rect *new_rect(int x, int y, int w, int h){ SDL_Rect *rect; rect = g_new0(SDL_Rect, 1); rect->x = x; rect->y = y; rect->w = w; rect->h = h; return rect; } void free_rect(SDL_Rect *rect){ g_free(rect); } int sdl_get_terminal_size(int fd, int *x, int *y){ *x=sdl->screen->w / zsdl->font_w; *y=sdl->screen->h / zsdl->font_h; if (gses && gses->osk && cfg->portrait && sdl->screen->w < sdl->screen->h){ *y = (sdl->screen->h - gses->osk->surface->h) / zsdl->font_h; } return 0; } int handle_unicode(const SDL_Event *sev, struct event *ev){ char iso[64]; char *isoptr; char *uniptr; size_t in,out; int ret; #ifdef Z_HAVE_SDL1 char uni[2]; if (!sev->key.keysym.unicode) return 0; uni[0] = sev->key.keysym.unicode & 0xff; uni[1] = sev->key.keysym.unicode >> 8; in = 2; #endif #ifdef Z_HAVE_SDL2 char uni[64]; strcpy(uni, sev->text.text); in = strlen(uni); #endif out = sizeof(iso); isoptr=iso; uniptr=uni; /*dbg("uniptr=%p isoptr=%p in=%d out=%d\n", uniptr, isoptr, in, out);*/ ret = iconv(sdl->iconvhandle, &uniptr, &in, &isoptr, &out); //err=errno; /*dbg("uniptr=%p isoptr=%p in=%d out=%d\n", uniptr, isoptr, in, out);*/ if (debug_keyboard){ //rintf(stderr, "Keyboard: unicode=0x%04x iso:0x%02x '%c'\n", sev->key.keysym.unicode, (unsigned char)iso[0],isprint((unsigned char)iso[0])?(unsigned char)iso[0]:'.'); } if (ret || !iso[0]){ int err=errno; char *c = z_strdup_strerror(err); #ifdef Z_HAVE_SDL1 log_addf("Can't handle keystroke unicode=0x%04x error=%s iso=0x%02x\n", sev->key.keysym.unicode, c, (unsigned char)iso[0]); #endif #ifdef Z_HAVE_SDL2 log_addf("Can't handle keystroke unicode='%s' error=%s iso=0x%02x\n", sev->text.text, c, (unsigned char)iso[0]); #endif g_free(c); return 0; } //dbg("TEXTINPUT %c (%s)\n", (unsigned char)iso[0], dumpmods(NULL)); ev->x=(unsigned char)iso[0]; if (ev->x <= 26){ /* Ctrl+letter */ ev->x +='@'; } if (ev->x == 31) ev->x = '-'; #ifdef Z_HAVE_SDL1 SDL_Keymod mod = sev->key.keysym.mod; #endif #ifdef Z_HAVE_SDL2 SDL_Keymod mod = SDL_GetModState(); #endif if ((mod & (KMOD_LCTRL|KMOD_RALT)) != (KMOD_LCTRL|KMOD_RALT)){ // skip right alt which switches keyboard layout for accent #if defined(Z_MSC_MINGW) && defined(Z_HAVE_SDL1) if (getaltstate()) ev->y|=KBD_ALT; #else if (mod & (KMOD_ALT|KMOD_META)) ev->y|=KBD_ALT; #endif if (mod & KMOD_CTRL) ev->y|=KBD_CTRL; } return 1; } gpointer sdl_event_thread(gpointer handle){ int fd; SDL_Event sev, sev2; struct event ev; int shift,k,sk,ret; struct timeval oldmtv, now; int oldmx = -1, oldmy = -1; double d; oldmtv.tv_sec = 0; oldmtv.tv_usec = 0; memset(&ev, 0, sizeof(struct event)); fd = GPOINTER_TO_INT(handle); //dbg("SDL thread is alive\n"); zg_thread_set_name("Tucnak SDL events"); /* ret = SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE); sdl->screen = SDL_SetVideoMode(sdl->w, sdl->h, 0, SDL_SWSURFACE|SDL_RESIZABLE|SDL_HWPALETTE); sdl->done = 1;*/ while(!sdl->event_thread_break){ int oldaltsym = 0; #if 0 SDL_KeyboardEvent *kev; #endif ev.ev = ev.x = ev.y = ev.b = 0; k=sk=0; #ifndef EVENTS_IN_SAME_THREAD SDL_PumpEvents(); #endif #ifdef Z_HAVE_SDL1 switch(SDL_PeepEvents(&sev, 1, SDL_GETEVENT, SDL_ALLEVENTS)) { #endif #ifdef Z_HAVE_SDL2 switch (SDL_PeepEvents(&sev, 1, SDL_GETEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT)) { #endif case -1: return GINT_TO_POINTER(-1); break; case 0: SDL_Delay(50); continue; case 1: break; } #if 0 switch (sev.type){ case SDL_NOEVENT: dbg("SDL_NOEVENT\n"); break; case SDL_ACTIVEEVENT: dbg("SDL_ACTIVEEVENT\n"); break; case SDL_KEYDOWN: dbg("SDL_KEYDOWN\n"); break; case SDL_KEYUP: dbg("SDL_KEYUP\n"); break; case SDL_MOUSEMOTION: dbg("SDL_MOUSEMOTION\n"); break; case SDL_MOUSEBUTTONDOWN: dbg("SDL_MOUSEBUTTONDOWN\n"); break; case SDL_MOUSEBUTTONUP: dbg("SDL_MOUSEBUTTONUP\n"); break; case SDL_QUIT: dbg("SDL_QUIT\n"); break; case SDL_SYSWMEVENT: dbg("SDL_SYSWMEVENT\n"); break; case SDL_VIDEORESIZE: dbg("SDL_VIDEORESIZE\n"); break; case SDL_VIDEOEXPOSE: dbg("SDL_VIDEOEXPOSE\n"); break; default: dbg("SDL event type %d\n", sev.type); break; } #endif char type[10]; strcpy(type, "?"); switch(sev.type){ #ifdef Z_HAVE_SDL2 case SDL_TEXTINPUT: strcpy(type, "TEXTINPUT"); SDL_Keymod mod = SDL_GetModState(); dbg("TEXTINPUT: '%s'%s\n", sev.text.text, (mod & KMOD_ALT) ? " +ALT" : ""); if (mod & KMOD_ALT) break; ev.ev = EV_KBD; if (handle_unicode(&sev, &ev)) goto sendkeydown; dbg("to je divny, SDL_TEXTINPUT '%s' nebyla zpracovana\n", sev.text.text); break; #endif case SDL_KEYDOWN: strcpy(type, "KEYDOWN"); #if 1 //if (sev.key.keysym.sym != SDLK_LCTRL && sev.key.keysym.sym != SDLK_RCTRL && sev.key.keysym.sym != SDLK_LALT && sev.key.keysym.sym != SDLK_RALT && sev.key.keysym.sym != SDLK_LSHIFT && sev.key.keysym.sym != SDLK_RSHIFT) dbg("KEYDOWN: scan=%d sym=%d '%c' mod=%d (%s) GetMods=(%s)\n", sev.key.keysym.scancode, sev.key.keysym.sym, sev.key.keysym.sym, sev.key.keysym.mod, dumpmods(&sev.key.keysym), dumpmods(NULL)); #endif if (cfg->altsyms){ oldaltsym = sdl->altsym; if (sev.key.keysym.sym == SDLK_LALT || sev.key.keysym.sym == SDLK_RALT){ sdl->altsym = 1; //dbg("sdl->altsym=1\n"); }else{ sdl->altsym = 0; //dbg("sdl->altsym=0\n"); } } ev.ev=EV_KBD; switch(sev.key.keysym.sym){ case SDLK_BACKSPACE: k=sk=KBD_BS; goto handle; case SDLK_TAB: k=sk=KBD_TAB; goto handle; case SDLK_RETURN: case SDLK_KP_ENTER: k=sk=KBD_ENTER; goto handle; case SDLK_PAUSE: /*fprintf(stderr, "PAUSE\n");*/ goto handle; case SDLK_ESCAPE: k=sk=KBD_ESC; goto handle; case SDLK_UP: k=sk=KBD_UP; goto handle; case SDLK_DOWN: k=sk=KBD_DOWN; goto handle; case SDLK_RIGHT: k=sk=KBD_RIGHT; goto handle; case SDLK_LEFT: k=sk=KBD_LEFT; goto handle; case SDLK_INSERT: k=sk=KBD_INS; goto handle; case SDLK_DELETE: k=sk=KBD_DEL; goto handle; case SDLK_HOME: k=sk=KBD_HOME; goto handle; case SDLK_END: k=sk=KBD_END; goto handle; case SDLK_PAGEUP: k=sk=KBD_PGUP; goto handle; case SDLK_PAGEDOWN: k=sk=KBD_PGDN; goto handle; case SDLK_F1: k=sk=KBD_F1; goto handle; case SDLK_F2: k=sk=KBD_F2; goto handle; case SDLK_F3: k=sk=KBD_F3; goto handle; case SDLK_F4: k=sk=KBD_F4; goto handle; case SDLK_F5: k=sk=KBD_F5; goto handle; case SDLK_F6: k=sk=KBD_F6; goto handle; case SDLK_F7: k=sk=KBD_F7; goto handle; case SDLK_F8: k=sk=KBD_F8; goto handle; case SDLK_F9: k=sk=KBD_F9; goto handle; case SDLK_F10: k=sk=KBD_F10; goto handle; case SDLK_F11: k=sk=KBD_F11; goto handle; case SDLK_F12: k=sk=KBD_F12; goto handle; #ifdef Z_HAVE_SDL1 case SDLK_KP0: k=KBD_INS; sk='0'; goto handle; case SDLK_KP1: k=KBD_END; sk='1'; goto handle; case SDLK_KP2: k=KBD_DOWN; sk='2'; goto handle; case SDLK_KP3: k=KBD_PGDN; sk='3'; goto handle; case SDLK_KP4: k=KBD_LEFT; sk='4'; goto handle; case SDLK_KP5: k=KBD_DOWN; sk='5'; goto handle; case SDLK_KP6: k=KBD_RIGHT; sk='6'; goto handle; case SDLK_KP7: k=KBD_HOME; sk='7'; goto handle; case SDLK_KP8: k=KBD_UP; sk='8'; goto handle; case SDLK_KP9: k=KBD_PGUP; sk='9'; goto handle; #endif #ifdef Z_HAVE_SDL2 // special handled by TEXTINPUT, number here case SDLK_KP_0: k = KBD_INS; goto handle; case SDLK_KP_1: k = KBD_END; goto handle; case SDLK_KP_2: k = KBD_DOWN; goto handle; case SDLK_KP_3: k = KBD_PGDN; goto handle; case SDLK_KP_4: k = KBD_LEFT; goto handle; case SDLK_KP_5: k = KBD_DOWN; goto handle; case SDLK_KP_6: k = KBD_RIGHT; goto handle; case SDLK_KP_7: k = KBD_HOME; goto handle; case SDLK_KP_8: k = KBD_UP; goto handle; case SDLK_KP_9: k = KBD_PGUP; goto handle; #endif #ifdef Z_HAVE_SDL1 case SDLK_KP_PERIOD: k = KBD_DEL; sk='.'; goto handle; // jeste je SDLK_PERIOD case SDLK_KP_DIVIDE: k = sk = '/'; goto handle; case SDLK_KP_MULTIPLY: k = sk = '*'; goto handle; case SDLK_KP_MINUS: k = sk = '-'; goto handle; case SDLK_KP_PLUS: k = sk = '+'; goto handle; #endif case SDLK_BACKQUOTE: k = '`'; sk = '~'; goto handle; default: break; } int skip_unicode = 0; if (sev.key.keysym.sym >= SDLK_0 && sev.key.keysym.sym <= SDLK_9 && sev.key.keysym.mod & KMOD_CTRL // Ctrl+3 to Ctrl+9 send strange unicode values && (sev.key.keysym.mod & KMOD_RALT) == 0) { // but right Alt sets LCTRL | RALT skip_unicode = 1; } #ifdef Z_HAVE_SDL1 if (sev.key.keysym.unicode && !skip_unicode){ if (handle_unicode(&sev, &ev)) goto sendkeydown; dbg("to je divny, unicode 0x%04x nebyla zpracovana\n", sev.key.keysym.unicode); } #endif #ifdef Z_HAVE_SDL2 if ((sev.key.keysym.mod & (KMOD_CTRL | KMOD_ALT)) == 0){ break; } skip_unicode = skip_unicode; // disable warning #endif switch(sev.key.keysym.sym){ case SDLK_QUOTE: k='\''; sk='"'; break; case SDLK_COMMA: k=','; sk='<'; break; case SDLK_MINUS: k='-'; sk='_'; break; case SDLK_PERIOD: k='.'; sk='>'; break; case SDLK_SLASH: k='/'; sk='?'; break; case SDLK_0: k='0'; sk=')'; break; case SDLK_1: k='1'; sk='!'; break; case SDLK_2: k='2'; sk='@'; break; case SDLK_3: k='3'; sk='#'; break; case SDLK_4: k='4'; sk='$'; break; case SDLK_5: k='5'; sk='%'; break; case SDLK_6: k='6'; sk='^'; break; case SDLK_7: k='7'; sk='&'; break; case SDLK_8: k='8'; sk='*'; break; case SDLK_9: k='9'; sk='('; break; case SDLK_SEMICOLON: k=';'; sk=':'; break; case SDLK_LESS: k='<'; sk='>'; break; case SDLK_EQUALS: k='='; sk='+'; break; case SDLK_LEFTBRACKET: k='['; sk='{'; break; case SDLK_BACKSLASH: k='\\'; sk='|'; break; case SDLK_RIGHTBRACKET: k=']'; sk='}'; break; //case SDLK_BACKQUOTE: k='`'; sk='~'; break; case SDLK_AT: k='@'; sk='2'; break; default: if (sev.key.keysym.sym<0x100){ k=sk=sev.key.keysym.sym; if (k>='a' && k<='z'){ sk-='a'-'A'; } }else{ k=sk=0; } break; } handle:; shift = (sev.key.keysym.mod & KMOD_SHIFT) != 0; if (k>='a' && k<='z') shift^=(sev.key.keysym.mod & KMOD_CAPS)!=0; #ifdef Z_HAVE_SDL1 if (sev.key.keysym.sym>=SDLK_KP0 && sev.key.keysym.sym<=SDLK_KP_PERIOD) shift^=(sev.key.keysym.mod & KMOD_NUM)!=0; #endif #ifdef Z_HAVE_SDL2 if (sev.key.keysym.sym >= SDLK_KP_1 && sev.key.keysym.sym <= SDLK_KP_PERIOD) shift ^= (sev.key.keysym.mod & KMOD_NUM) != 0; #endif if (shift){ if (sk == 0) break; // handled by TEXTINPUT ev.x=sk; if (sk>=256) ev.y|=KBD_SHIFT; }else{ ev.x=k; } #if defined(Z_MSC_MINGW) && defined(Z_HAVE_SDL1) if (getaltstate()) ev.y|=KBD_ALT; if (sev.key.keysym.mod & (KMOD_LALT|KMOD_META)){ if (!getaltstate()){ int x = 0; } } #else if (sev.key.keysym.mod & (KMOD_LALT|KMOD_META)){ ev.y|=KBD_ALT; } #endif if (sev.key.keysym.mod & KMOD_CTRL){ ev.y|=KBD_CTRL; } if (ev.x) goto sendkeydown; break; case SDL_KEYUP: break; case SDL_MOUSEBUTTONDOWN: ev.ev=EV_MOUSE; ev.x=sev.button.x/FONT_W; ev.y=sev.button.y/FONT_H; ev.mx=sev.button.x; ev.my=sev.button.y; sdl->old_mouse_x = ev.x; sdl->old_mouse_y = ev.y; switch(sev.button.button){ case SDL_BUTTON_LEFT: sdl->mouse_drag=1; sdl->drag_buttons=ev.b=B_LEFT; goto send; case SDL_BUTTON_MIDDLE: sdl->mouse_drag=1; sdl->drag_buttons=ev.b=B_MIDDLE; goto send; case SDL_BUTTON_RIGHT: sdl->mouse_drag=1; sdl->drag_buttons=ev.b=B_RIGHT; goto send; #ifdef Z_HAVE_SDL1 case SDL_BUTTON_WHEELUP: ev.b=B_WHUP; goto send; case SDL_BUTTON_WHEELDOWN: ev.b=B_WHDOWN; goto send; #endif } break; #ifdef Z_HAVE_SDL2 case SDL_MOUSEWHEEL: ev.ev = EV_MOUSE; ev.x = sdl->mouse_x / FONT_W; ev.y = sdl->mouse_y / FONT_H; ev.mx = sdl->mouse_x; ev.my = sdl->mouse_y; sdl->old_mouse_x = ev.x; sdl->old_mouse_y = ev.y; if (sev.wheel.y > 0){ ev.b = B_WHUP; goto send; } if (sev.wheel.y < 0){ ev.b = B_WHDOWN; goto send; } break; #endif case SDL_MOUSEBUTTONUP: sdl->mouse_drag=0; ev.ev=EV_MOUSE; ev.x=sev.button.x/FONT_W; ev.y=sev.button.y/FONT_H; ev.mx=sev.button.x; ev.my=sev.button.y; ev.b = B_UP; if (ev.x == sdl->old_mouse_x && ev.y == sdl->old_mouse_y) ev.b |= B_CLICK; switch(sev.button.button){ case SDL_BUTTON_LEFT: ev.b |= B_LEFT; goto send; case SDL_BUTTON_MIDDLE: ev.b |= B_MIDDLE; goto send; case SDL_BUTTON_RIGHT: ev.b |= B_RIGHT; goto send; } break; case SDL_MOUSEMOTION: ev.ev=EV_MOUSE; ev.x=sev.button.x/FONT_W; ev.y=sev.button.y/FONT_H; if (sdl->mouse_drag){ ev.b=sdl->drag_buttons|B_DRAG; } else ev.b=B_MOVE; ev.mx=sev.button.x; ev.my=sev.button.y; sdl->mouse_x=sev.button.x; sdl->mouse_y=sev.button.y; while (1){ // dbg("while &sev2=%p\n", &sev2); #ifdef Z_HAVE_SDL1 ret = SDL_PeepEvents(&sev2, 1, SDL_PEEKEVENT, SDL_ALLEVENTS); #endif #ifdef Z_HAVE_SDL2 ret = SDL_PeepEvents(&sev2, 1, SDL_PEEKEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT); #endif // dbg("PeepEvent2=%d %d\n", ret, sev2.type); if (ret != 1) break; if (sev2.type!=SDL_MOUSEMOTION) break; #ifdef Z_HAVE_SDL1 ret = SDL_PeepEvents(&sev, 1, SDL_GETEVENT, SDL_ALLEVENTS); #endif #ifdef Z_HAVE_SDL2 ret = SDL_PeepEvents(&sev, 1, SDL_GETEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT); #endif if (ret!=1) zinternal("Somebody stole my event"); // dbg("PeepEvent3 %d\n", sev.type); ev.x=sev2.button.x/FONT_W; ev.y=sev2.button.y/FONT_H; ev.mx=sev2.button.x; ev.my=sev2.button.y; sdl->mouse_x=sev2.button.x; sdl->mouse_y=sev2.button.y; } goto send_mouse; if (sdl->mouse_drag) goto send; continue; #ifdef Z_HAVE_SDL1 case SDL_VIDEORESIZE: ev.ev=EV_SDLRESIZE; ev.mx = sdl->resize_w = sev.resize.w; ev.my = sdl->resize_h = sev.resize.h; ev.x=ev.mx/FONT_W; ev.y=ev.my/FONT_H; dbg("SDL_VIDEORESIZE %d w=%d\n", sdl->resizeevents, sdl->resize_w); if (sdl->resizeevents > 0) continue; goto send; #endif #ifdef Z_HAVE_SDL2 case SDL_WINDOWEVENT: if (sev.window.event == SDL_WINDOWEVENT_SIZE_CHANGED){ ev.ev = EV_SDLRESIZE; ev.mx = sdl->resize_w = sev.window.data1; ev.my = sdl->resize_h = sev.window.data2; ev.x = ev.mx / FONT_W; ev.y = ev.my / FONT_H; dbg("SDL_WINDOWEVENT_RESIZED %d w=%d\n", sdl->resizeevents, sdl->resize_w); if (sdl->resizeevents > 0) continue; goto send; } break; #endif case SDL_QUIT: ev.ev=EV_KBD; ev.x='q'; ev.y=KBD_ALT; goto send; } continue; sendkeydown: //dbg("cfg->altsyms=%d sdl->altsym=%d ev->x=%c\n", cfg->altsyms, sdl->altsym, ev.x); dbg("SEND %s\n", type); if (oldaltsym){ int oldk = ev.x; switch (ev.x){ case 'q': ev.x = '1'; break; case 'w': ev.x = '2'; break; case 'e': ev.x = '3'; break; case 'r': ev.x = '4'; break; case 't': ev.x = '5'; break; case 'y': ev.x = '6'; break; case 'z': ev.x = '6'; break; case 'u': ev.x = '7'; break; case 'i': ev.x = '8'; break; case 'o': ev.x = '9'; break; case 'p': ev.x = '0'; break; case 'l': ev.x = '/'; break; } if (ev.x != oldk){ dbg("altsym remap %c->%c\n", oldk, ev.x); } } #ifdef Z_HAVE_SDL2 //dbg("(%s) EV_KBD %d '%c' %s %s %s\n\n", sev.type == SDL_TEXTINPUT ? "TEXTINPUT" : (sev.type == SDL_KEYDOWN ? "KEYDOWN" : "?"), // ev.x, ev.x, ev.y & KBD_SHIFT ? "SHIFT" : "", ev.y & KBD_CTRL ? "CTRL" : "", ev.y & KBD_ALT ? "ALT" : ""); #endif goto send; send_mouse:; gettimeofday(&now, NULL); d = z_difftimeval_double(&now, &oldmtv); if (d > 0.0 && d < 1.0 && oldmx >= 0 && oldmy >= 0){ ev.vx = (ev.mx - oldmx) / d; ev.vy = (ev.my - oldmy) / d; }else{ ev.vx = 0.0; ev.vy = 0.0; } oldmx = ev.mx; oldmy = ev.my; oldmtv.tv_sec = now.tv_sec; oldmtv.tv_usec = now.tv_usec; send:; // dbg("ev=%ld x=%ld(%c) y=%ld b=%ld\n", ev.ev, ev.x, isprint(ev.x & 0xff)?ev.x:0, ev.y, ev.b); while(1){ int len; MUTEX_LOCK(sdl->eventpipestate); len=sdl->eventpipestate; MUTEX_UNLOCK(sdl->eventpipestate); if (lenevent_thread_break) goto terminate; } ret = z_pipe_write(fd, &ev, sizeof(ev)); //dbg("sdl_event_thread: ret=%d\n", fd); if (ret != sizeof(ev)) { int err; err=errno; if (err==32 && !sdl->event_thread_break){ zinternal("Sem pridej konec vlakna, vole. Nakej nouma mi zavrel pajpu"); } zinternal("can't write to event pipe"); break; } MUTEX_LOCK(sdl->eventpipestate); sdl->eventpipestate+=sizeof(ev); if (ev.ev == EV_SDLRESIZE) sdl->resizeevents++; /*dbg("w %d\n", sdl->eventpipestate);*/ MUTEX_UNLOCK(sdl->eventpipestate); } terminate:; dbg("sdl_thread exited %d\n", sdl->event_thread_break); return 0; } int sdl_attach_terminal(int in, int out, int ctl) { /*struct terminal *term;*/ /*dbg("attach_terminal\n");*/ /* -1 -1 -1 -1 */ handle_trm(in, out, out, sdl->eventpipe[1], ctl); /* before sdl_thread! */ /* dbg("after handle_trm %d\n", sdl->eventpipestate);*/ /*sdl->pipefd=fd[1]; sdl->event_thread_break=0; sdl->event_thread=g_tXXhread_create(sdl_event_thread, GINT_TO_POINTER(sdl->pipefd), TRUE, NULL); if (!sdl->event_thread) { error("ERROR: can't create event thread"); return -1; } */ if ((term = init_term(sdl->eventpipe[0], out, win_func)) != NULL) { handle_basic_signals(term); /* OK, this is race condition, but it must be so; GPM installs it's own buggy TSTP handler */ return sdl->eventpipe[1]; } z_pipe_close(sdl->eventpipe[0]); z_pipe_close(sdl->eventpipe[1]); return -1; } int sdl_set_title(gchar *title){ if (!sdl) return 0; zg_free0(sdl->title); sdl->title=g_strdup(title); #ifdef Z_HAVE_SDL1 SDL_WM_SetCaption(sdl->title, NULL); #endif return 0; } #ifdef Z_HAVE_LIBPNG void sdl_screenshot(int topwindow){ gchar *c; int i; SDL_Surface *surface; if (!sdl) return; dbg("sdl_screenshot\n"); if (gses->osk){ struct zosk *bk = gses->osk; gses->osk = NULL; sdl_force_redraw(); sdl_redraw_screen(); gses->osk = bk; } if (topwindow){ struct window *win; win=(struct window *)&(term->windows); dbg("win=%p prev=%p next=%p\n", win, win->prev, win->next); if (win->prev==win->next || !win->next->data){ surface=sdl->screen; }else{ SDL_Rect sr,dr; sr.x=sr.y=dr.w=dr.h=sr.w=sr.h=0; i=0; if (win->next->handler==menu_func || win->next->handler==mainmenu_func){ struct menu *menu; menu=(struct menu *)win->next->data; dr.x=-menu->x*FONT_W; dr.y=-menu->y*FONT_H; sr.w=menu->xw*FONT_W; sr.h=menu->yw*FONT_H; i++; } if (win->next->handler==dialog_func){ struct dialog_data *dd; dd=(struct dialog_data *)win->next->data; dr.x=-dd->x*FONT_W; dr.y=-dd->y*FONT_H; sr.w=dd->xw*FONT_W; sr.h=dd->yw*FONT_H; i++; } if (win->next->handler==cwwindow_func){ struct cwwin_data *cww; cww=(struct cwwin_data *)win->next->data; dr.x=-cww->x*FONT_W; dr.y=-cww->y*FONT_H; sr.w=cww->w*FONT_W; sr.h=cww->h*FONT_H; i++; } if (!i){ surface=sdl->screen; }else{ surface=SDL_CreateRGBSurface(SDL_SWSURFACE, sr.w, sr.h, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); /* dbg("sr=[%d,%d, %d,%d]\n", sr.x, sr.y, sr.w, sr.h); dbg("dr=[%d,%d, %d,%d]\n", dr.x, dr.y, dr.w, dr.h); */ SDL_BlitSurface(sdl->screen, NULL , surface, &dr); /* dbg("dr=[%d,%d, %d,%d]\n", dr.x, dr.y, dr.w, dr.h); SDL_BlitSurface(surface, NULL, sdl->screen, NULL); SDL_UpdateRect(sdl->screen, 0, 0, sdl->screen->w, sdl->screen->h); sleep(1);*/ } } }else{ surface=sdl->screen; } for (i=0;1;i++){ struct stat st; if (ctest) c=g_strdup_printf("%s/snap%c%d.png",ctest->directory, z_char_lc(aband->bandchar), i); else c=g_strdup_printf("%s/snap%d.png",tucnak_dir, i); if (stat(c, &st)!=0) break; g_free(c); } dbg("file=%s\n", c); if (zpng_save(surface, c, NULL)){ log_addf(VTEXT(T_CANT_WRITE_S), c); errbox(VTEXT(T_CANT_WRITE), errno); } g_free(c); if (surface!=sdl->screen) SDL_FreeSurface(surface); } #endif //extern char font_vga[4096]; #endif void progress(char *m, ...){ #ifdef Z_HAVE_SDL va_list l; gchar *c, *d; int x, y, yy, w, h, tw; if (!sdl) return; if (!zsdl) return; if (!m) { if (term) memset(term->last_screen, 0, term->x * term->y * sizeof(unsigned)); return; } va_start(l, m); c = g_strdup_vprintf(m, l); dbg("%s\n", c); tw = strlen(c) + 6; w = tw * zsdl->font_w; w = sdl->progress_w = Z_MAX(w, sdl->progress_w); tw = w / zsdl->font_w; h = 3 * zsdl->font_h; x = (sdl->screen->w - w) / 2; y = (sdl->screen->h - h) / 2; yy = y; d = (char *)g_malloc(tw + 1); memset(d, ' ', tw); d[tw] = '\0'; memset(d + 2, 0x94, Z_MIN(tw - 4, strlen(d))); d[1] = 0x86; d[tw - 2] = 0x8f; zsdl_printf(sdl->screen, x, yy, 0, sdl->gr[12], 0, "%s", d); yy += zsdl->font_h; memset(d, ' ', tw); d[1] = 0x83; memcpy(d + 3, c, strlen(c)); d[tw - 2] = 0x83; zsdl_printf(sdl->screen, x, yy, 0, sdl->gr[12], 0, "%s", d); yy += zsdl->font_h; memset(d, ' ', tw); memset(d + 2, 0x94, tw - 4); d[1] = 0x90; d[tw - 2] = 0x85; zsdl_printf(sdl->screen, x, yy, 0, sdl->gr[12], 0, "%s", d); SDL_UpdateRect(sdl->screen, x, y, w, h); g_free(d); g_free(c); va_end(l); #endif } void sdl_force_redraw(){ if (!term) return; memset(term->last_screen, 0, term->x * term->y * sizeof(unsigned)); } #ifdef Z_HAVE_SDL void zsdl_test_bars(SDL_Surface *surface, int ofs){ int i; int min = Z_MIN(surface->w, surface->h); for (i = 0; i < 16; i++){ SDL_Rect r; r.x = min * (i + 1 + ofs) / 18; r.y = min * (i + 1) / 18; r.w = min / 18; r.h = min / 18; SDL_FillRect(surface, &r, sdl->termcol[i]); } SDL_UpdateRect(surface, 0, 0, 0, 0); } void tsdl_change_font(char how){ if (!sdl) return; if (how == '+'){ if (cfg->fontheight == 32) return; if (cfg->fontheight < 16) cfg->fontheight = 16; else if (cfg->fontheight < 24) cfg->fontheight = 24; else cfg->fontheight = 32; } if (how == '-'){ if (cfg->fontheight == 13) return; if (cfg->fontheight > 24) cfg->fontheight = 24; else if (cfg->fontheight > 16) cfg->fontheight = 16; else cfg->fontheight = 13; } sdl_setvideomode(sdl->screen->w, sdl->screen->h, 0); resize_terminal(NULL); } void tsdl_optimal_font(){ if (!sdl) return; if (sdl->screen_w >= 1920 && sdl->screen_h >= 1080){ cfg->fontheight = 32; } else if (sdl->screen_w >= 1680 && sdl->screen_h >= 1050){ cfg->fontheight = 24; } else { return; } sdl_setvideomode(sdl->screen->w, sdl->screen->h, 0); resize_terminal(NULL); } #endif tucnak-4.32/src/sota_upload.c0000644000175000017500000000634714016001471013121 00000000000000/* Tucnak - SOTA spot sender Copyright (C) 2002-2020 Ladislav Vaiz ; 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include #include "bfu.h" //#include "dwdb.h" //#include "edi.h" //#include "fifo.h" #include "main.h" #include "menu.h" #include "subwin.h" #include "stats.h" #include "tregex.h" #include "fifo.h" #include "sota.h" #include "sota_upload.h" static void sota_upload_done(struct zhttp *http); void sota_upload(void){ GString *gs = g_string_new(""); GString *gs2 = g_string_new(""); int i; struct band *b; char *c; int s2s = 0; if (!ctest) return; if (!ctest->pexch || strlen(ctest->pexch) == 0) { msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, TRANSLATE("SOTA Reference is empty. Go to 'Contest options' and fill 'Your EXC' as SOTA Ref."), NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); return; } for (i = 0; i < ctest->bands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->stats->nqsos == 0) continue; //g_string_append_printf(gs, "%-7s %4d %6d\n", b->pband, b->stats->nqsos, b->stats->ntotal); g_string_append_printf(gs, "%-7s %4d\n", b->pband, b->stats->nqsos); s2s += b->stats->nexcp; } g_string_append_printf(gs2, TRANSLATE("Call: %s\n"), ctest->pcall); g_string_append_printf(gs2, TRANSLATE("SOTA ref: %s\n"), ctest->pexch); g_string_append_printf(gs2, TRANSLATE("S2S count: %d\n\n"), s2s); g_string_append_printf(gs2, TRANSLATE("User: %s\n\n"), cfg->sota_user); //g_string_append_printf(gs2, "%-7s %-4s %-6s\n", "Band", "QSOs", "Points"); g_string_append_printf(gs2, "%-7s %-4s\n", "Band", "QSOs"); g_string_insert(gs, 0, gs2->str); g_string_free(gs2, TRUE); g_string_append_printf(gs, TRANSLATE("\nUpload report to www.emuf.cz/sotalog?")); c = g_strdup(gs->str); msg_box(getml(c, NULL), VTEXT(T_INFO), AL_LEFT, c, NULL, 2, VTEXT(T_YES), sota_do_upload, B_ENTER, VTEXT(T_NO), NULL, B_ESC); g_string_free(gs, TRUE); } void sota_do_upload(void *arg){ gchar *filename; struct zhttp *zhts; zhts = zhttp_init(); filename = get_sota_log_filename(); export_all_bands_sota(); zhttp_post_free(zhts); zhttp_post_add_file_disk(zhts,"sotalog", "sotalog.csv", filename); zhttp_post_add(zhts, "action", "store"); zhttp_post_add(zhts, "call", ctest->pcall); zhttp_post_add(zhts, "ref", ctest->pexch); zhttp_post_add(zhts, "date", ctest->cdate); // TODO: switch to HTTPS //zhttp_post(zhts, zsel, "http://192.168.11.181/work/sotalog/upload.php",sota_upload_done, NULL); zhttp_post(zhts, zsel, "http://www.emuf.cz/sotalog/upload.php",sota_upload_done, NULL); g_free(filename); } static void sota_upload_done(struct zhttp *http){ if (http->errorstr) { log_addf("SOTALog upload err: %s", http->errorstr); } else { log_addf("SOTA Log uploaded to http://www.emuf.cz/sotalog"); } zhttp_post_free(http); zhttp_free(http); } tucnak-4.32/src/excdb.h0000644000175000017500000000525412500052574011703 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __EXCDB_H #define __EXCDB_H #include "header.h" #include "qsodb.h" extern struct excdb *excdb; struct exc_item{ gchar *exc0, *exc1; gint stamp0, stamp1; }; struct cxe_item{ gchar *call0, *call1; gint stamp0, stamp1; }; struct excdb{ GHashTable *exc; /* key=call, value=exc_item */ GHashTable *cxe; /* key=exc, value=cxe_item */ GHashTable *vexc; /* key=exc, value=null (exists or not) */ ZPtrArray *vexcia; /* sorted excs */ int latest; gchar *excname; enum exctype exctype; }; struct excdb *init_exc(void); gboolean free_exc_item(gpointer key, gpointer value, gpointer user_data); gboolean free_cxe_item(gpointer key, gpointer value, gpointer user_data); gboolean free_vexc_item(gpointer key, gpointer value, gpointer user_data); void free_exc(struct excdb *excdb); void clear_exc(struct excdb *excdb); gint get_exc_size(struct excdb *excdb); gint get_cxe_size(struct excdb *excdb); gint get_vexc_size(struct excdb *excdb); void load_one_exc(struct excdb *excdb, gchar *s); int load_exc_from_file(struct excdb *excdb, gchar *filename); void load_one_vexc(struct excdb *excdb, gchar *s); int load_vexc_from_file(struct excdb *excdb, gchar *filename); int load_vexc_from_mem(struct excdb *excdb, const char *file, const long int len); int is_valid_vexc(struct excdb *excdb, gchar *vexc); void read_exc_files(struct excdb *excdb, enum exctype exctype, gchar *excname); void exc_ia_verified(gpointer key, gpointer value, gpointer user_data); void exc_ia_waz(gpointer key, gpointer value, gpointer user_data); void exc_ia_itu(gpointer key, gpointer value, gpointer user_data); void save_one_exc(gpointer key, gpointer value, gpointer user_data); int save_exc_string(struct excdb *excdb, GString *gs); int save_exc_into_file(struct excdb *excdb, gchar *filename); void add_exc(struct excdb *excdb, gchar *call, gchar *wwl, gint stamp); void add_cxe(struct excdb *excdb, gchar *wwl, gchar *call, gint stamp); gchar *find_exc_by_call(struct excdb *excdb, const gchar *call); gchar *find_exc_by_call_newer(struct excdb *excdb, gchar *call, int maxstamp); gchar *find_call_by_exc(struct excdb *exc, gchar *wwl); void update_exc_from_band(struct excdb *excdb, struct band *band); void update_exc_from_ctest(struct excdb *excdb, struct contest *ctest); int valid_vexc(struct excdb *excdb, gchar *vexc); int rsgbdc_maxcount(char *exc); void usaca_multiple_exc(char *s); #endif tucnak-4.32/src/masterdb.c0000644000175000017500000001134712524341151012410 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "language2.h" #include "main.h" #include "masterdb.h" #include "tsdl.h" struct masterdb *masterdb; struct masterdb *init_masterdb(void){ struct masterdb *masterdb; progress(VTEXT(T_INIT_MASTERDB)); masterdb = g_new0(struct masterdb, 1); masterdb->masters = z_hash_table_new(g_str_hash, g_str_equal); /*z_hash_table_insert(masterdb->masters, g_strdup("OK1ZIA"), "VALUE"); dbg("OK1ZIA=%s\n", z_hash_table_lookup(masterdb->masters, "OK1ZIA")); exit(123);*/ return masterdb; } static gboolean free_masters_item(gpointer key, gpointer value, gpointer user_data){ g_free(key); return 0; } void free_masterdb(struct masterdb *masterdb){ progress(VTEXT(T_FREE_MASTERDB)); z_hash_table_foreach_remove(masterdb->masters, free_masters_item, NULL); z_hash_table_destroy(masterdb->masters); g_free(masterdb); } gint get_masterdb_size(struct masterdb *masterdb){ return z_hash_table_size(masterdb->masters); } void add_masterdb(struct masterdb *masterdb, gchar *call){ gchar *masterdbi; //dbg("add '%s'\n", call); masterdbi = z_hash_table_lookup(masterdb->masters, call); if (!masterdbi){ z_hash_table_insert(masterdb->masters, g_strdup(call), (gpointer)0x42); } } gchar *masterdb_search(struct masterdb *masterdb, char *pattern, int maxreslen){ int reslen; GString *gs; char *ret; GPtrArray *result; ZHashNode *node; int i; result=g_ptr_array_new(); reslen = 0; for (i = 0; i < masterdb->masters->size; i++){ for (node = masterdb->masters->nodes[i]; node; node = node->next){ gchar *call = (gchar *)node->key; // dbg("call=%s pattern=%s\n", call, pattern); if (!z_strstr(call, pattern)) continue; g_ptr_array_add(result, call); // foreign key !!! if (reslen > 0) reslen++; reslen += strlen(call); if (reslen >= maxreslen) goto x; } } x:; z_ptr_array_qsort((ZPtrArray *)result, z_compare_string); // FIXME GPtr vs. ZPtr ? gs = g_string_sized_new(maxreslen+20); for (i=0; ilen; i++){ if (gs->len > 0) g_string_append_c(gs, ' '); g_string_append(gs, g_ptr_array_index(result, i)); } ret = g_strdup(gs->str); g_ptr_array_free(result, TRUE); g_string_free(gs, 1); return ret; } #define MASTERDB_DELIM " \t\r\n" void load_one_masterdb(struct masterdb *masterdb, gchar *s){ gchar *call; char *token_ptr; call = strtok_r(s, MASTERDB_DELIM, &token_ptr); if (!call) return; if (strlen(call)==0) return; add_masterdb(masterdb, call); } int load_masterdb_from_mem(struct masterdb *masterdb, const char *file, const long int len){ GString *gs; long int pos; gs = g_string_sized_new(100); pos=0; while(1){ if (!zfile_mgets(gs, file, &pos, len, 1)) break; load_one_masterdb(masterdb, gs->str); } g_string_free(gs, 1); return 0; } int load_masterdb_from_file(struct masterdb *masterdb, gchar *filename){ FILE *f; long int len; gchar *file; int ret; size_t r; f = fopen(filename, "rt"); if (!f) { /* dbg("Can't open '%s'\n",filename);*/ return -1; } if (fseek(f, 0L, SEEK_END)<0){ fclose(f); return -1; } len=ftell(f); if (len<=0 || len>0x10000000) { /* g_new can allocate only gsize=unsigned int */ fclose(f); return -1; } if (fseek(f, 0L, SEEK_SET)<0){ fclose(f); return -1; } file=g_new(gchar, len); r=fread(file, 1, len, f); fclose(f); if (r!=len) return -1; ret=load_masterdb_from_mem(masterdb, file, len); g_free(file); return ret; } void read_masterdb_files(struct masterdb *masterdb){ gchar *s; int ret; progress(VTEXT(T_LOAD_MASTERDB)); s = g_strconcat(tucnak_dir, "/tucnakmasters", NULL); ret = load_masterdb_from_file(masterdb, s); g_free(s); if (ret < 0){ load_masterdb_from_mem(masterdb, txt_master, sizeof(txt_master)); load_masterdb_from_mem(masterdb, txt_master1, sizeof(txt_master1)); load_masterdb_from_mem(masterdb, txt_master2, sizeof(txt_master2)); load_masterdb_from_mem(masterdb, txt_master3, sizeof(txt_master3)); load_masterdb_from_mem(masterdb, txt_master4, sizeof(txt_master4)); load_masterdb_from_mem(masterdb, txt_master5, sizeof(txt_master5)); load_masterdb_from_mem(masterdb, txt_master6, sizeof(txt_master6)); } } tucnak-4.32/src/dsp.h0000644000175000000410000000730113306035511011364 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __DSP_H #define __DSP_H #include "header.h" #ifdef HAVE_PORTAUDIO #include #endif #ifdef HAVE_SLES_OPENSLES_H #include #endif #ifdef HAVE_SWRADIO #include #endif #ifdef HAVE_LIBRTLSDR #include #endif #define MAX_CHANNELS 4 enum dsp_type { DSPT_OSS, DSPT_ALSA, DSPT_SSBDx, DSPT_PORTAUDIO, DSPT_SNDFILE, DSPT_SNDPIPE, DSPT_SDRC, DSPT_SWRADIO, DSPT_RTLSDR }; enum dsp_cfg_group { DCG_SSBD, DCG_SDR }; struct dsp{ enum dsp_type type; /* OSS only */ #ifdef HAVE_SYS_SOUNDCARD_H char *oss_filename, *oss_mixer; int fmt_mask; int oss_format,fragment,blksize; #endif #if defined(HAVE_SYS_SOUNDCARD_H) || defined(HAVE_SWRADIO) int fd; #endif /* Alsa only */ #ifdef HAVE_ALSA snd_pcm_t *pcm; snd_pcm_format_t pcm_format; int pcm_opened; int pcm_recover; char *pcm_play, *pcm_rec; char *alsa_mixer; char *alsa_src; #endif /* Portaudio only */ #ifdef HAVE_PORTAUDIO PaStream *pa; PaStreamParameters pa_params; int pa_play, pa_rec; #endif /* OpenSL ES only */ #ifdef HAVE_SLES_OPENSLES_H SLObjectItf engineObject; SLEngineItf engineEngine; SLObjectItf outputMixObject; SLObjectItf bqPlayerObject; SLObjectItf bqPlayerBufferQueue; #endif #ifdef HAVE_SWRADIO char *swradio_filename; uint32_t swradio_format; #endif #ifdef HAVE_LIBRTLSDR char *rtlsdr_device; rtlsdr_dev_t *rtlsdr_dev; uint32_t rtlsdr_frequency; unsigned char *rtlsdr_buf; //int rtlsdr_bufsize, rtlsdr_buflen, rtlsdr_bufhead; // all in bytes #endif #ifdef HAVE_SNDFILE SNDFILE *sndfile; SF_INFO *sfinfo; char *play_filename, *rec_filename; #endif int pipe[2]; int pipe_opened; int pipe_opened_for_play; int sock; struct zbinbuf *rdbuf; /* common */ gchar *name; /* human readable string (/dev/dsp, hw:0,0) */ int channels, speed, period_time, plev, rlev; char *source; int frames; // buffer size in frames int samples; // buffer size in samples = frames * channels int bytes; // buffer size in bytes = samples * 2 int (*open)(struct dsp *dsp, int rec); int (*close2)(struct dsp *dsp); int (*write)(struct dsp *dsp, void *data, int frames); int (*read)(struct dsp *dsp, void *data, int frames); int (*reset)(struct dsp *dsp); int (*sync)(struct dsp *dsp); #ifdef HAVE_SNDFILE int (*set_format)(struct dsp *dsp, SF_INFO *sfinfo, int rec); #endif int (*set_source)(struct dsp *dsp); int (*set_plevel)(struct dsp *dsp); int (*set_sdr_format)(struct dsp *dsp, int blocksize, int speed, int rec); }; /* format: 0x10005 8 bit PCM 0x10002 16 bit PCM 0x10010 u-law 0x10011 a-law 0x10012 IMA ADPCM 0x10013 MS ADPCM 0x10020 GSM 6.1 */ struct dsp *init_dsp (enum dsp_type, enum dsp_cfg_group); void free_dsp(struct dsp *dsp); #ifdef HAVE_SNDFILE int dummy_dsp_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec); #endif int dummy_dsp_open(struct dsp *dsp, int rec); int dummy_dsp_close(struct dsp *dsp); int dummy_dsp_write(struct dsp *dsp, void *data, int len); int dummy_dsp_read(struct dsp *dsp, void *data, int len); int dummy_dsp_reset(struct dsp *dsp); int dummy_dsp_sync(struct dsp *dsp); int dummy_dsp_set_source(struct dsp *dsp); int dummy_dsp_set_plevel(struct dsp *dsp); int dummy_dsp_set_sdr_format(struct dsp *dsp, int blocksize, int speed, int rec); int dsp_write_empty(struct dsp *dsp); #endif tucnak-4.32/src/davac4.c0000644000175000017500000002227413700130565011754 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdaemon.h" #include "davac4.h" #include "fifo.h" #include "language2.h" #include "rc.h" #ifdef Z_HAVE_LIBFTDI int davac4_init(struct cwdaemon *cwda){ cwda->ftdi = NULL; MUTEX_LOCK(cwda->ftdi); davac4_open(cwda, 1); MUTEX_UNLOCK(cwda->ftdi); return 0; } int davac4_free(struct cwdaemon *cwda){ dbg("davac4_free(%p)\n", cwda); if (!cwda) return 0; if (cwda->ftdi==NULL) return 0; ftdi_free(cwda->ftdi); cwda->ftdi=NULL; return 0; } int davac4_open(struct cwdaemon *cwda, int verbose){ int ret; if (cwda->ftdi != NULL) { ret = 0; goto x; } cwda->ftdi = ftdi_new(); if (!cwda->ftdi){ if (verbose) log_addf(VTEXT(T_CANT_INIT_FTDI)); dbg("davac4_open=%d\n", 1); ret = 1; goto x; } dbg("ftdi_new=%p\n", cwda->ftdi); ret=ftdi_usb_open(cwda->ftdi, cfg->cwda_vid, cfg->cwda_pid); dbg("ftdi_usb_open cwda->ftdi=%p ret=%d\n", cwda->ftdi, ret); if (ret){ if (verbose) { log_addf(VTEXT(T_CANT_OPEN_DAVAC4), cfg->cwda_vid, cfg->cwda_pid, ret, ftdi_get_error_string(cwda->ftdi)); if (ret==-8) log_addf("Maybe try to run as root: \"adduser %s davac4\" and relogin", getenv("USER")); } davac4_free(cwda); dbg("davac4_open=%d ret=%d\n", ret); goto x; } ret=ftdi_set_baudrate(cwda->ftdi, 115200); if (ret){ if (verbose) log_addf(VTEXT(T_CANT_SET_BAUDRATE), ret, ftdi_get_error_string(cwda->ftdi)); davac4_free(cwda); dbg("davac4_open=%d\n", ret); goto x; } //ret=ftdi_enable_bitbang(cwda->ftdi, 0xff); ret=ftdi_set_bitmode(cwda->ftdi, 0xff, BITMODE_BITBANG); if (ret){ if (verbose) log_addf(VTEXT(T_CANT_ENABLE_BITBANG), ret, ftdi_get_error_string(cwda->ftdi)); davac4_free(cwda); dbg("davac4_open=%d\n", ret); goto x; } cwda->ftdi_state=0xff; x:; dbg("davac4_open=%d\n", ret); return ret; } int davac4_reset(struct cwdaemon *cwda){ davac4_ptt(cwda, 0); davac4_cw(cwda, 0); davac4_ssbway(cwda, 0); return 0; } int davac4_cw(struct cwdaemon *cwda, int onoff){ int ret; MUTEX_LOCK(cwda->ftdi); if (!cwda || cwda->ftdi == NULL) {// function called from worker thread, exit silently ret = 1; goto x; } if (onoff) cwda->ftdi_state &= ~0x10; else cwda->ftdi_state |= 0x10; ret=ftdi_write_data(cwda->ftdi, &cwda->ftdi_state, 1); if (ret!=1){ log_addf(VTEXT(T_CANT_WRITE_TO_DAVAC4), ret, ftdi_get_error_string(cwda->ftdi)); davac4_free(cwda); goto x; } x:; MUTEX_UNLOCK(cwda->ftdi); return ret; } int davac4_ptt(struct cwdaemon *cwda, int onoff){ int ret; MUTEX_LOCK(cwda->ftdi); dbg("davac4_ptt cwda->ftdi=%p\n", cwda->ftdi); if (!cwda || cwda->ftdi == NULL){ ret=davac4_open(cwda, 0); if (ret) goto x; } if (onoff) cwda->ftdi_state &= ~0x04; else cwda->ftdi_state |= 0x04; ret=ftdi_write_data(cwda->ftdi, &cwda->ftdi_state, 1); if (ret!=1){ log_addf(VTEXT(T_CANT_WRITE_TO_DAVAC4), ret, ftdi_get_error_string(cwda->ftdi)); davac4_free(cwda); goto x; } x:; MUTEX_UNLOCK(cwda->ftdi); return ret; } /* 0=microphone, 1=soundcard */ int davac4_ssbway(struct cwdaemon *cwda, int onoff){ int ret; MUTEX_LOCK(cwda->ftdi); if (!cwda || cwda->ftdi == NULL){ ret=davac4_open(cwda, 0); if (ret) goto x; } if (onoff) cwda->ftdi_state |= 0x01; /* soundcard */ else cwda->ftdi_state &= ~0x01; /* microphone */ ret=ftdi_write_data(cwda->ftdi, &cwda->ftdi_state, 1); if (ret!=1){ log_addf(VTEXT(T_CANT_WRITE_TO_DAVAC4), ret, ftdi_get_error_string(cwda->ftdi)); davac4_free(cwda); goto x; } x:; MUTEX_UNLOCK(cwda->ftdi); return ret; } int davac4_monitor(struct cwdaemon *cwda, int onoff){ int ret; MUTEX_LOCK(cwda->ftdi); if (!cwda || cwda->ftdi == NULL){ ret=davac4_open(cwda, 0); if (ret) goto x; } if (onoff) cwda->ftdi_state &= ~0x08; else cwda->ftdi_state |= 0x08; ret=ftdi_write_data(cwda->ftdi, &cwda->ftdi_state, 1); if (ret!=1){ log_addf(VTEXT(T_CANT_WRITE_TO_DAVAC4), ret, ftdi_get_error_string(cwda->ftdi)); davac4_free(cwda); goto x; } x:; MUTEX_UNLOCK(cwda->ftdi); return ret; } int davac4_band (struct cwdaemon *cwda, int bandsw){ int ret; MUTEX_LOCK(cwda->ftdi); if (!cwda || cwda->ftdi == NULL){ ret=davac4_open(cwda, 0); if (ret) goto x; } cwda->ftdi_state &= ~0xe2; if (bandsw & 0x01) cwda->ftdi_state |= 0x02; if (bandsw & 0x02) cwda->ftdi_state |= 0x20; if (bandsw & 0x04) cwda->ftdi_state |= 0x40; if (bandsw & 0x08) cwda->ftdi_state |= 0x80; ret=ftdi_write_data(cwda->ftdi, &cwda->ftdi_state, 1); if (ret!=1){ log_addf(VTEXT(T_CANT_WRITE_TO_DAVAC4), ret, ftdi_get_error_string(cwda->ftdi)); davac4_free(cwda); goto x; } x:; MUTEX_UNLOCK(cwda->ftdi); return ret; } #define DUMP_EEPROMx void usb_info(GString *gs){ int ret; struct ftdi_context ftdi; struct ftdi_device_list *list, *dev; int ids[] = {0x0403, 0x6001, 0xA600, 0xE110, 0xA600, 0xE111, 0xA600, 0xE112, 0xA600, 0xE113, 0xA600, 0xE114, 0x04D8, 0xFB56, // FUNcube Dongle 0x04D8, 0xFB31, // FUNcube Dongle Pro+ 0x0bda, 0x2838, // RTL-SDR 0}; int idi; #ifdef Z_HAVE_FTDI_USB_GET_STRINGS char manufacturer[128], description[128]; char serial[128]; #endif #ifdef DUMP_EEPROM unsigned char eeprom_buf[128]; #endif g_string_append_printf(gs, "\n usb_info:\n"); ret = ftdi_init(&ftdi); if (ret < 0) { g_string_append_printf(gs, "error calling ftdi_init, error=%d %s", ret, ftdi_get_error_string(&ftdi)); return; } for (idi = 0; ids[idi] != 0; idi += 2){ ret = ftdi_usb_find_all(&ftdi, &list, ids[idi], ids[idi+1]); if (ret < 0) { g_string_append_printf(gs, "error calling ftdi_usb_find_all, error=%d %s\n", ret, ftdi_get_error_string(&ftdi)); return; } if (ret == 0) continue; for (dev = list; dev != NULL; dev = dev->next){ // FIXME g_string_append_printf(gs, "%04x:%04x ", dev->dev->descriptor.idVendor, dev->dev->descriptor.idProduct); #ifdef Z_HAVE_FTDI_USB_GET_STRINGS ret = ftdi_usb_get_strings(&ftdi, dev->dev, manufacturer, 128, description, 128, serial, 128); if (ret < 0){ g_string_append_printf(gs, "Can't get strings, error=%d %s\n", ret, ftdi_get_error_string(&ftdi)); }else{ g_string_append_printf(gs, "%s %s ", manufacturer, description); if (strlen(serial)>0 && serial[0]!='?') g_string_append_printf(gs, "%s ", serial); } #endif if (ids[idi] == 0x04D8){ g_string_append_printf(gs, "\n"); continue; } ret = ftdi_usb_open_dev(&ftdi, dev->dev); if (ret < 0){ g_string_append_printf(gs, "Can't open device, error=%d %s\n", ret, ftdi_get_error_string(&ftdi)); }else{ g_string_append(gs, "Open OK "); #ifdef DUMP_EEPROM ret = ftdi_read_eeprom(&ftdi, eeprom_buf); if (ret < 0){ g_string_append_printf(gs, "Can't open device, error=%d %s\n", ret, ftdi_get_error_string(&ftdi)); }else{ int i; unsigned short chksum_in_eeprom, chksum_computed; for (i=0; i<128; i++){ g_string_append_printf(gs, "%02x ", (unsigned char)eeprom_buf[i]); if (i%16==15) g_string_append_printf(gs, "\n"); } chksum_in_eeprom = eeprom_buf[0x7e] + 256 * eeprom_buf[0x7f]; chksum_computed = ftdi_checksum(eeprom_buf, 0x80); g_string_append_printf(gs, "Checksum eeprom=%04x computed=%04x ", chksum_in_eeprom, chksum_computed); } #endif ftdi_usb_close(&ftdi); } g_string_append_printf(gs, "\n"); } } ftdi_list_free(&list); ftdi_deinit(&ftdi); } // taken from libftdi // calculate checksum unsigned short ftdi_checksum(unsigned char *eeprom, int eeprom_size){ int i; unsigned short value, checksum = 0xAAAA; for (i = 0; i < eeprom_size/2-1; i++) { value = eeprom[i*2]; value += eeprom[(i*2)+1] << 8; checksum = value^checksum; checksum = (checksum << 1) | (checksum >> 15); } return checksum; } #endif tucnak-4.32/src/dwdb.c0000644000175000017500000007611014035370711011531 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdb.h" #include "dwdb.h" #include "fifo.h" #include "inputln.h" #include "main.h" #include "namedb.h" #include "qrvdb.h" #include "qsodb.h" #include "session.h" #include "stats.h" #include "tregex.h" #include "tsdl.h" struct dw *dw; static gchar *dw_next; /* wwl1 */ static gchar *wd_next; /* dxc1 */ struct dw *init_dw(void){ struct dw *dw; progress(VTEXT(T_INIT_DWDB)); dw = g_new0(struct dw,1 ); dw->pd = g_hash_table_new(g_str_hash, g_str_equal); dw->dw = g_hash_table_new(g_str_hash, g_str_equal); dw->wd = g_hash_table_new(g_str_hash, g_str_equal); dw_next = NULL; wd_next = NULL; return dw; } static gboolean free_dw_item(gpointer key, gpointer value, gpointer user_data){ struct dw_item *dwi; g_free(key); dwi = (struct dw_item *)value; if (dwi->wwl0) g_free(dwi->wwl0); if (dwi->wwl1) g_free(dwi->wwl1); if (dwi->continent) g_free(dwi->continent); if (dwi->dxcname) g_free(dwi->dxcname); g_hash_table_foreach_remove(dwi->wwls, free_gpointer_item, NULL); g_hash_table_destroy(dwi->wwls); g_free(value); return FALSE; } static gboolean free_wd_item(gpointer key, gpointer value, gpointer user_data){ struct wd_item *wdi; g_free(key); wdi = (struct wd_item *)value; if (wdi->dxc0) g_free(wdi->dxc0); if (wdi->dxc1) g_free(wdi->dxc1); g_free(value); return FALSE; } void free_dw(struct dw *dw){ progress(VTEXT(T_FREE_DWDB)); g_hash_table_foreach_remove(dw->pd, free_gpointer_item, NULL); g_hash_table_destroy(dw->pd); g_hash_table_foreach_remove(dw->dw, free_dw_item, NULL); g_hash_table_destroy(dw->dw); g_hash_table_foreach_remove(dw->wd, free_wd_item, NULL); g_hash_table_destroy(dw->wd); g_free(dw); } gint get_pd_size(struct dw *dw){ return g_hash_table_size(dw->pd); } gint get_dw_size(struct dw *dw){ return g_hash_table_size(dw->dw); } gint get_wd_size(struct dw *dw){ return g_hash_table_size(dw->wd); } #define DW_DELIM " \t\r\n" void add_pd(struct dw *dw, gchar *prefix, gchar *dxc){ gpointer orig_prefix, orig_dxc; // dbg("add_pd(prefix='%s', dxc='%s'\n", prefix, dxc ); if (g_hash_table_lookup_extended(dw->pd, (gpointer) prefix, &orig_prefix, &orig_dxc)){ g_hash_table_remove(dw->pd, orig_prefix); g_free(orig_prefix); g_free(orig_dxc); } g_hash_table_insert(dw->pd, g_strdup(prefix), g_strdup(dxc) ); } struct dw_item *add_dxc(struct dw *dw, gchar *dxc, gchar *wwl0, gchar *wwl1, int waz, int itu, gchar *continent, gchar *dxcname, double latitude, double longitude){ struct dw_item *dxci; // dbg("add_dxc(dxc='%s', wwl='%s' '%s')\n",dxc, wwl0, wwl1); dxci = (struct dw_item*)g_hash_table_lookup(dw->dw, dxc); if (!dxci) { dxci = g_new0(struct dw_item, 1); dxci->wwls = g_hash_table_new(g_str_hash, g_str_equal); g_hash_table_insert(dw->dw, g_strdup(dxc), dxci); } if (dxci->wwl0 && wwl0) { g_free(dxci->wwl0); dxci->wwl0 = NULL; } if (dxci->wwl1 && wwl1) { g_free(dxci->wwl1); dxci->wwl1 = NULL; } dxci->wwl0 = g_strdup(wwl0); dxci->wwl1 = g_strdup(wwl1); if (waz) dxci->waz = waz; if (itu) dxci->itu = itu; if (continent) dxci->continent = g_strdup(continent); if (dxcname) dxci->dxcname = g_strdup(dxcname); if (longitude < 400) dxci->longitude = longitude; if (latitude < 400) dxci->latitude = latitude; return dxci; } void add_dw(struct dw_item *dxci, gchar *dxc, gchar *wwl){ gpointer orig_wwl, orig_dxc; char wwl1[6]; if (!wwl) return; if (g_hash_table_lookup_extended(dxci->wwls, (gpointer) wwl, &orig_wwl, &orig_dxc)){ g_hash_table_remove(dxci->wwls, orig_wwl); g_free(orig_wwl); g_free(orig_dxc); } safe_strncpy(wwl1, wwl, 5); /*dbg("add_dw(dxc='%s', wwl='%s')\n", dxc, wwl1);*/ g_hash_table_insert(dxci->wwls, g_strdup(wwl1), g_strdup(dxc) ); } void add_wd(struct dw *dw, gchar *wwl, gchar *dxc){ struct wd_item *wdi; if (!wwl || !dxc) return; /*dbg("add_wd(wwl='%s', dxc='%s') size=%d \n",wwl, dxc, g_hash_table_size(dw->wd));*/ wdi = g_hash_table_lookup(dw->wd, wwl); if (!wdi){ wdi = g_new0(struct wd_item, 1); g_hash_table_insert(dw->wd, g_strdup(wwl), wdi); /* dbg(" adding wwl '%s' \n", wwl);*/ } if (!wdi->dxc0) { wdi->dxc0 = g_strdup(dxc); /*dbg(" adding dxc0 '%s' \n", wdi->dxc0);*/ return; } if (!wdi->dxc1) { wdi->dxc1 = g_strdup(dxc); /* dbg(" adding dxc1 '%s' \n", wdi->dxc1);*/ return; } return; } int load_dw_from_file(struct dw *dw, gchar *filename){ FILE *f; long int len; gchar *file; int ret; size_t r; /*dbg("load_dw_from_file(%s, rt)\n", filename);*/ f = fopen(filename, "rt"); if (!f) { /* dbg("Can't open '%s'\n",filename);*/ return -1; } if (fseek(f, 0L, SEEK_END)<0){ fclose(f); return -1; } len=ftell(f); if (len<0 || len>0x10000000) { /* g_new can allocate only gsize=unisgned int */ fclose(f); return -1; } if (fseek(f, 0L, SEEK_SET)<0){ fclose(f); return -1; } file=g_new(gchar, len); r=fread(file, 1, len, f); fclose(f); if (r!=len) return -1; ret=load_dw_from_mem(dw, file, len); g_free(file); return ret; } int load_dw_from_mem(struct dw *dw, const char *file, const long int len){ GString *pref, *wwls, *centers; gchar *dxc, *prefix, *wwl, *c0, *c1; struct dw_item *dxci, *maindxci; char *token_ptr; long int pos; pref = g_string_sized_new(100); wwls = g_string_sized_new(100); centers = g_string_sized_new(100); pos=0; while(1){ do { if (!zfile_mgets(pref, file, &pos, len, 1)) goto abort; }while (pref->len==0); /*if (pref->str[0] == 'E' && pref->str[1] == 'A'){ int a = 1; } */ dxc = strtok_r(pref->str, DW_DELIM, &token_ptr); if (!dxc) continue; //add_pd(dw, dxc, dxc); //must be in cty.dat while ((prefix=strtok_r(NULL, DW_DELIM, &token_ptr))!=NULL){ add_pd(dw, prefix, dxc); } if (!zfile_mgets(wwls, file, &pos, len, 1)) break; if (!wwls->len) continue; if (!zfile_mgets(centers, file, &pos, len, 1)) break; if (centers->len) c0 = strtok_r(centers->str, DW_DELIM, &token_ptr); else c0 = strtok_r(wwls->str, DW_DELIM, &token_ptr); c1 = strtok_r(NULL, DW_DELIM, &token_ptr); maindxci = get_dw_item_by_call(dw, dxc); if (maindxci){ dxci = add_dxc(dw, dxc, c0, c1, maindxci->waz, maindxci->itu, maindxci->continent, maindxci->dxcname, maindxci->latitude, maindxci->longitude); }else{ dxci = add_dxc(dw, dxc, c0, c1, 0, 0, NULL, NULL, 404, 404); } add_dw(dxci, dxc, c0); add_dw(dxci, dxc, c1); add_wd(dw, c0, dxc); add_wd(dw, c1, dxc); if (centers->len){ c0 = strtok_r(wwls->str, DW_DELIM, &token_ptr); add_dw(dxci, dxc, c0); add_wd(dw, c0, dxc); } while((wwl = strtok_r(NULL, DW_DELIM, &token_ptr))!=NULL){ add_dw(dxci, dxc, wwl); add_wd(dw, wwl, dxc); } } abort:; g_string_free(pref, 1); g_string_free(wwls, 1); g_string_free(centers, 1); return 0; } #define CTY_DELIM ":" #define PREF_DELIM "," int load_cty_from_file(struct dw *dw, gchar *filename){ FILE *f; long int len; gchar *file; int ret; size_t r; f = fopen(filename, "rt"); if (!f) { /* dbg("Can't open '%s'\n",filename);*/ return -1; } if (fseek(f, 0L, SEEK_END)<0){ fclose(f); return -1; } len=ftell(f); if (len<0 || len>0x10000000) { /* g_new can allocate only gsize=unisgned int */ fclose(f); return -1; } if (fseek(f, 0L, SEEK_SET)<0){ fclose(f); return -1; } file=g_new(gchar, len); r=fread(file, 1, len, f); fclose(f); if (r!=len) return -1; ret=load_cty_from_mem(dw, file, len); g_free(file); return ret; } int load_cty_from_mem(struct dw *dw, const char *file, const long int len){ GString *gs, *gs_next; gchar **line, **prefs, *continent; int i, waz, itu; gchar *dxc, *dxcname; char wwl4[6]; long int pos; double latitude, longitude; gs = g_string_sized_new(100); gs_next = g_string_sized_new(100); pos=0; while(1){ if (gs_next->len>0){ g_string_assign(gs, gs_next->str); }else{ if (!zfile_mgets(gs, file, &pos, len, 0)) break; } while(1){ if (!zfile_mgets(gs_next, file, &pos, len, 0)){ g_string_truncate(gs_next,0); /* next safe_mgets breaks loop */ break; } if (gs_next->str[0]==' '){ g_string_append(gs, gs_next->str); }else{ break; } } line = g_strsplit(gs->str, CTY_DELIM, 9); for (i=0;i<9;i++) { if (line[i] ==NULL){ break; } } if (i!=9) { g_strfreev(line); continue; } g_strstrip(line[0]); dxcname = line[0]; g_strstrip(line[1]); waz = atoi(line[1]); g_strstrip(line[2]); itu = atoi(line[2]); g_strstrip(line[3]); continent = line[3]; g_strstrip(line[4]); latitude = atof(line[4]); g_strstrip(line[5]); longitude = - atof(line[5]); g_strstrip(line[7]); g_strstrip(line[8]); dxc=line[7]; if (dxc[0]=='*') dxc++; // strip leading star, TNX to DL5YBZ /*slash = strchr(dxc, '/'); if (slash) { *slash = '\0'; slash++;; } */ z_str_uc(dxc); //dbg("dxc='%s'\n", dxc); if (!dxc || !*dxc) { g_strfreev(line); continue; } add_pd(dw, dxc, dxc); /* dbg("h=%s, w=%s, d=%s, p=%s\n", line[5], line[6], line[7], line[8]);*/ prefs = g_strsplit(line[8], PREF_DELIM, 0); for (i=0; prefs[i]!=NULL; i++){ char *c; g_strstrip(prefs[i]); if (strchr(prefs[i],'/')) continue; if ((c=strchr(prefs[i],'('))!=NULL) *c='\0'; if ((c=strchr(prefs[i],'['))!=NULL) *c='\0'; if ((c=strchr(prefs[i],';'))!=NULL) *c='\0'; if (strlen(prefs[i])>2 && !isdigit(prefs[i][ strlen(prefs[i])-1])) continue; /*dbg("\t'%s'", prefs[i]); */ add_pd(dw, prefs[i], dxc); } g_strfreev(prefs); /*dbg("\n");*/ compute_wwl4(wwl4, -atof(line[5]), atof(line[4])); /*dbg("h=%s, w=%s, d=%s, wwl4=%s \n", line[4], line[5], line[7], wwl4);*/ add_dxc(dw, dxc, wwl4, NULL, waz, itu, continent, dxcname, latitude, longitude); g_strfreev(line); } g_string_free(gs, 1); g_string_free(gs_next, 1); return 0; } void read_dw_files(struct dw *dw){ gchar *s; int ret; progress(VTEXT(T_LOAD_DWDB)); s = g_strconcat(tucnak_dir, "/cty.dat", NULL); ret=load_cty_from_file(dw, s); g_free(s); if (ret<0){ GString *gs = g_string_new(""); g_string_append(gs, txt_cty); g_string_append(gs, txt_cty1); load_cty_from_mem(dw, gs->str, gs->len); g_string_free(gs, TRUE); } s = g_strconcat(tucnak_dir, "/tucnakdw", NULL); ret=load_dw_from_file(dw, s); g_free(s); if (ret<0){ load_dw_from_mem(dw, txt_tucnakdw, sizeof(txt_tucnakdw)); } } struct dw_item *get_dw_item_by_call(struct dw *dw, const char *call){ char dxcc[25]; char pref[25]; struct dw_item *dwi = NULL; get_pref(pref, call); dwi = g_hash_table_lookup(dw->dw, pref); // prefix specific entry (EA1) if (dwi != NULL) return dwi; get_dxcc(dw, dxcc, call); dwi = g_hash_table_lookup(dw->dw, dxcc); return dwi; } struct dw_item *get_dw_base_item_by_call(struct dw *dw, const char *call){ char dxcc[25]; char pref[25]; GString *call2; struct dw_item *dwi = NULL; call2 = g_string_new(call); get_dxcc(dw, dxcc, call); if (strlen(dxcc) == strlen(call)) { g_string_free(call2, TRUE); return NULL; } // SK6DK -> SM6DK g_string_erase(call2, 0, strlen(dxcc)); g_string_insert(call2, 0, dxcc); get_pref(pref, call2->str); g_string_free(call2, TRUE); dwi = g_hash_table_lookup(dw->dw, pref); // prefix specific entry (EA1) if (dwi != NULL) return dwi; dwi = g_hash_table_lookup(dw->dw, dxcc); return dwi; } int wwl_is_ok_by_call(struct dw *dw, gchar *wwl, gchar *call){ struct dw_item *dxci; char swwl[5]; if (!wwl || !call) return 1; dxci = get_dw_item_by_call(dw, call); if (dxci) { safe_strncpy(swwl, wwl, 5); if (g_hash_table_lookup(dxci->wwls, swwl)){ return 1; } } // SM6 -> SM dxci = get_dw_base_item_by_call(dw, call); if (dxci) { safe_strncpy(swwl, wwl, 5); if (g_hash_table_lookup(dxci->wwls, swwl)){ return 1; } } return 0; } /* 0=OK 1=WARN, known call from unknown locator 2=ERR, prefix and big wwl dont match 256=WARN, suspicious call 257=ERR, suspicious call */ int get_susp(struct cw *cw, struct dw *dw, gchar *call, gchar *wwl, int ambig){ int susp=0; gchar *wwl0, *wwl1; /*dbg("get_susp('%s', '%s')\n", call, wwl);*/ if (!call || !wwl || !*call || !*wwl) return 0; if (!wwl_is_ok_by_call(dw, wwl, call)) { susp=2; /* bad country */ goto skip; } wwl0=find_wwl_by_call(cw, call); wwl1=find_wwl_by_call(cw, NULL); if (wwl0!=NULL){ /* we don't know this call, cannot be suspicious */ susp = 1; if (wwl0 && strcasecmp(wwl0, wwl)==0) susp = 0; if (wwl1 && strcasecmp(wwl1, wwl)==0) susp = 0; } skip:; if (ambig) if (get_susp_ambiguous_call(cw, NULL, call, wwl, NULL, 1)) susp|=0x100; /* dbg(" ret=%d\n", susp);*/ return susp; } int get_susp_call(struct cw *cw, struct dw *dw, gchar *call, gchar *wwl){ int susp; char s[40]; //dbg("get_susp_call('%s', '%s')\n", call, wwl); if (!call || !*call){ /* pokud je vsechno NULL nebo "", tak get_susp skonci s nulou a test s /P pokracuje */ return 0; } susp=get_susp(cw, dw, call, wwl, 1); if (susp) return 1; /* get_susp muze vratit 0x100 a co bysme s tim delali */ z_get_raw_call(s, call); if (strcmp(s, call)==0){ /* without /p */ strcat(s, "/P"); //dbg("without %s", s); if (find_wwl_by_call(cw, s)) { //dbg(" SUSP"); susp=1; /* call is without /p and in C_W exists call with /p */ } }else{ /* call is with /p */ //dbg("with %s", s); if (find_wwl_by_call(cw, s)) { //dbg(" SUSP"); susp=1; /* call is with /p and in C_W exists call without /p */ } } if (wwl && *wwl) susp=get_susp_ambiguous_call(cw, NULL, call, wwl, NULL, 1); //dbg(" ret=%d\n", susp); return susp; } int get_susp_loc(struct cw *cw, struct dw *dw, gchar *call, gchar *wwl){ return get_susp(cw, dw, call, wwl, 0); } #define ADDQSO if (!err) { \ if (qso->time_str){ \ g_string_append_printf(gs, "%s %s %c%c.%c%c\n", qso->callsign?qso->callsign:"?", qso->locator?qso->locator:"?", qso->time_str[0], qso->time_str[1], qso->time_str[2], qso->time_str[3]); \ }else{ \ g_string_append_printf(gs, "%s %s\n", qso->callsign?qso->callsign:"?", qso->locator?qso->locator:"?"); \ }err=1;} enum suspcall qso_info(struct qso *qso, GString *gs, GString *gs2){ char s[40],s1[40], raw[40]; int err, susp, k; enum suspcall ret; char *wwl0, *wwl1; struct band *b; struct qso *q; int i,j; ret=SUSP_NONE; if (!qso) return (enum suspcall)-1; if (qso->error) return (enum suspcall)-1; if (qso->dupe) return (enum suspcall)-1; err=0; /*if (qso->band && qso->band->stats && qso->band->stats->nqsos > 0){ if (qso->qsop > qso->band->stats->nqsop/qso->band->stats->nqsos) if (ret < SUSP_QRB) ret = SUSP_QRB; } */ if (qso->remark && *qso->remark) { if (ret < SUSP_REM) ret = SUSP_REM; } if (!find_name_by_call(namedb, qso->callsign) && !find_wwl_by_call(cw, qso->callsign)){ if (gs){ ADDQSO; g_string_append(gs, VTEXT(T_CALLSIGN_UNKNOWN)); } if (ret < SUSP_WARN) ret = SUSP_WARN; } if (qso->mode == MOD_SSB_CW || qso->mode == MOD_CW_SSB){ if (gs){ ADDQSO; g_string_append(gs, VTEXT(T_CROSSMODE_QSO_N)); } if (ret < SUSP_WARN) ret = SUSP_WARN; } if (!get_dw_item_by_call(dw, qso->callsign)){ if (gs){ ADDQSO; g_string_append(gs, VTEXT(T_UNKNOWN_DXCC_PREFIXN)); } if (ret < SUSP_ERR) ret = SUSP_ERR; } if (qso->locator && *qso->locator){ if (!wwl_is_ok_by_call(dw, qso->locator, qso->callsign)){ if (gs){ ADDQSO; g_string_append(gs, VTEXT(T_PREFIX_AND_BIG_WWL)); } if (ret < SUSP_ERR) ret = SUSP_ERR; } } wwl0=find_wwl_by_call(cw, qso->callsign); wwl1=find_wwl_by_call(cw, NULL); susp=0; if (wwl0!=NULL){ /* we don't know this call, cannot be suspicious */ susp = 1; if (wwl0 && qso->locator && strcasecmp(wwl0, qso->locator)==0) susp = 0; if (wwl1 && qso->locator && strcasecmp(wwl1, qso->locator)==0) susp = 0; } if (qso->locator && *qso->locator){ if (susp){ if (gs){ ADDQSO; g_string_append(gs, VTEXT(T_KNOWN_CALL_UNK_LOC)); } if (ret < SUSP_WARN) ret = SUSP_WARN; } } z_get_raw_call(raw, qso->callsign); strcpy(s, raw); if (strcmp(s, qso->callsign)==0){ /* without /p */ strcpy(s1, s); strcat(s, "/P"); if (find_wwl_by_call_newer(cw, s, cw->minstamp)) { if (gs){ ADDQSO; g_string_append(gs, VTEXT(T_CALL_WITHOUT_P)); } if (ret < SUSP_WARN) ret = SUSP_WARN; } strcat(s1, "/"); for (k=0;k<=9;k++){ strcpy(s, s1); s[strlen(s)+1]='\0'; s[strlen(s)]='0'+k; if (find_wwl_by_call_newer(cw, s, cw->minstamp)) { if (gs){ ADDQSO; g_string_append_printf(gs, VTEXT(T_CALL_WITHOUT_D), k, k); } if (ret < SUSP_WARN) ret = SUSP_WARN; } } }else{ /* call is with /p */ if (find_wwl_by_call_newer(cw, s, cw->minstamp)) { if (gs){ ADDQSO; g_string_append(gs, VTEXT(T_CALL_IS_WITH_P_AND)); } if (ret < SUSP_WARN) ret = SUSP_WARN; } } if (qso->locator != NULL && gs2){ g_string_truncate(gs2, 0); get_susp_ambiguous_call(cw, qso->band, qso->callsign, qso->locator, gs2, 1); if (gs2->len>0){ if (gs){ ADDQSO; g_string_append_printf(gs, VTEXT(T_OTHER_SIMILAR_CALL_KNOWN), gs2->str); } if (ret < SUSP_WARN) ret = SUSP_WARN; } } if (ctest){ for (i=0; ibands->len; i++){ b = (struct band*)g_ptr_array_index(ctest->bands, i); if (b == qso->band) continue; for (j=0; jqsos->len; j++){ q = (struct qso *)g_ptr_array_index(b->qsos, j); if (q->error || q->dupe) continue; z_get_raw_call(s, q->callsign); /*if (q->callsign[0]=='D' && q->callsign[1]=='M' && q->callsign[2]=='7'){ dbg("call %s %s %s %d\n", q->callsign, s, raw, strcmp(s, raw)); } */ if (strcmp(s, raw) != 0) continue; /* not same station */ /*dbg("RAW match %s %s\n", s, raw);*/ if (strcmp(q->callsign, qso->callsign) != 0){ if (gs){ ADDQSO; g_string_append_printf(gs, VTEXT(T_CALL_ON_BAND_S), b->bandname, q->callsign); } if (ret < SUSP_WARN) ret = SUSP_WARN; } if (qso->locator != NULL && strcmp(q->locator, qso->locator) != 0){ if (gs){ ADDQSO; g_string_append_printf(gs, VTEXT(T_LOCATOR_ON_BAND), b->bandname, q->locator); } if (ret < SUSP_WARN) ret = SUSP_WARN; } } } } return ret; } void menu_qso_check(void *arg){ GString *gs, *gs2; struct band *band; struct qso *qso; int i,j,ret; FILE *f; char *filename; if (!ctest) return; gs=g_string_sized_new(10000); gs2=g_string_sized_new(1000); g_string_printf(gs, "%s", VTEXT(T_QSO_CHECK_LIST)); g_string_append_printf(gs, " *************************\n"); g_string_append_printf(gs, "\n\n"); g_string_append_printf(gs, VTEXT(T_CALL_SN), ctest->pcall); g_string_append_printf(gs, VTEXT(T_CONTEST_SN), ctest->tname); g_string_append_printf(gs, VTEXT(T_DATE_SN), ctest->tdate); g_string_append_printf(gs, "\n\n"); for (i=0;ibands->len;i++){ band = (struct band *)g_ptr_array_index(ctest->bands, i); progress(VTEXT(T_CHECKING_S), band->bandname); g_string_append_printf(gs, VTEXT(T_BAND_C_SN), band->bandchar, band->pband); g_string_append_printf(gs, " ********************\n"); for (j=0;jqsos->len;j++){ qso = (struct qso *)g_ptr_array_index(band->qsos, j); ret=qso_info(qso, gs, gs2); if (ret) g_string_append_printf(gs, "\n"); if (ret>=0) qso->suspcall1=(enum suspcall)ret; } } g_string_append_printf(gs, "\n\nEOF\n"); filename = g_strdup_printf("%s/qsocheck.txt", ctest->directory); z_wokna(filename); f=fopen(filename,"wt"); if (!f) { log_addf(VTEXT(T_CANT_WRITE_S), filename); errbox(VTEXT(T_CANT_WRITE), errno); g_free(filename); g_string_free(gs, TRUE); g_string_free(gs2, TRUE); progress(NULL); return; } ret=fwrite(gs->str, 1, gs->len, f); fclose(f); if (ret!=gs->len){ log_addf(VTEXT(T_CANT_WRITE_S), filename); errbox(VTEXT(T_CANT_WRITE), 0); g_free(filename); g_string_free(gs, TRUE); g_string_free(gs2, TRUE); progress(NULL); return; } log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); g_string_free(gs, TRUE); g_string_free(gs2, TRUE); progress(NULL); return; } void call_info_map(struct dialog_data *dlg, struct dialog_item_data *di){ GString *gs = g_string_new("http://k7fry.com/grid/?qth="); g_string_append(gs, di->item->text); z_browser(gs->str); g_string_free(gs, TRUE); } struct memory_list *call_info_ml = NULL; void call_info_wwl(gpointer key, gpointer value, gpointer data){ add_to_ml(&call_info_ml, g_strdup((char*)key), NULL); } void call_info(void *arg){ struct qso *qso=NULL; GString *gs, *gs2; static char ss[1024]; int err,freeqso,i; char *title, *c, *txt; char raw[30]; struct qrv_item *qi; struct dw_item *dwi; GHashTable *wwls; int wwlcnt; gs=g_string_sized_new(500); gs2=g_string_sized_new(500); wwls = g_hash_table_new(g_str_hash, g_str_equal); err=0; freeqso=0; /* dbg("TMPQ.callsign=%s %p\n", TMPQ.callsign, aband);*/ if (arg != NULL){ qso = (struct qso *)arg; qso_info(qso, gs, gs2); }else if (strlen(INPUTLN(aband)->cdata) > 0){ qso=g_new0(struct qso, 1); qso->callsign = INPUTLN(aband)->cdata; /* foreign key */ qso->locator = NULL; qso->rsts = ""; qso->qsonrs = ""; qso->rstr = ""; qso->qsonrr = ""; qso_info(qso, gs, gs2); freeqso=1; }else if (aband && (!TMPQ.callsign || !strlen(TMPQ.callsign))){ if (aband->qsos->len<=0) goto x; qso=(struct qso *)g_ptr_array_index(aband->qsos, aband->qsos->len-1); qso_info(qso, gs, gs2); }else if (aband){ /* tmpqso is valid */ qso=g_new0(struct qso, 1); qso->callsign = TMPQ.callsign; /* foreign keys */ qso->locator = TMPQ.locator?TMPQ.locator:""; qso->rsts = TMPQ.rsts?TMPQ.rsts:""; qso->qsonrs = TMPQ.qsonrs?TMPQ.qsonrs:""; qso->rstr = TMPQ.rstr?TMPQ.rstr:""; qso->qsonrr = TMPQ.qsonrr?TMPQ.qsonrr:""; qso_info(qso, gs, gs2); freeqso=1; }else{ goto x; } if (gs->len>0){ title=VTEXT(T_CALL_INFO); }else{ ADDQSO; g_string_append(gs, VTEXT(T_SEEMS_TO_BE_OK)); safe_strncpy(ss, gs->str, sizeof(ss)); title=VTEXT(T_OK); } /* next callsign info */ g_string_append(gs, "\n"); /* C_W */ z_get_raw_call(raw, qso->callsign); g_string_truncate(gs2, 0); cwdb_call_info(gs2, qso->callsign, "", wwls); cwdb_call_info(gs2, qso->callsign, "/P", wwls); for (i=0;i<=9;i++){ char stroke[10]; sprintf(stroke, "/%d", i); cwdb_call_info(gs2, qso->callsign, stroke, wwls); } if (gs2->len>0){ g_string_append(gs, gs2->str); }else{ g_string_append_printf(gs, VTEXT(T_CW_NOT_FOUND), qso->callsign); } /* wkd */ if (ctest){ g_string_append(gs, "WKD on: "); for (i = 0; i < ctest->bands->len; i++){ struct band *b = (struct band*) g_ptr_array_index(ctest->bands, i); if (get_qso_by_callsign(b, qso->callsign)) g_string_append_c(gs, toupper(b->bandchar)); } g_string_append_c(gs, '\n'); } /* qrv */ qi = qrv_get(qrv, qso->callsign); g_string_append_printf(gs, "QRV: "); if (qi){ // g_string_append_printf(gs, " %s", qi->wwl); if (aband){ g_string_append_printf(gs, " %dx", qi->wkd[aband->bandchar - 'a']); } if (qi->kst_time != 0){ struct tm utc; gmtime_r(&qi->kst_time, &utc); g_string_append_printf(gs, " %2d:%02d", utc.tm_hour, utc.tm_min); } }else{ g_string_append(gs, VTEXT(T_0X_NOT_IN_DB)); } g_string_append_c(gs, '\n'); /* namedb */ c=find_name_by_call(namedb, qso->callsign); if (c){ g_string_append_printf(gs, VTEXT(T_NAME_IS), qso->callsign, c); }else{ g_string_append_printf(gs, VTEXT(T_NAME_UNKNOWN), qso->callsign); } /* dxcc */ dwi = get_dw_item_by_call(dw, qso->callsign); if (dwi){ char dxcc[32]; get_dxcc(dw, dxcc, qso->callsign); g_string_append_printf(gs, "DXCC: %s %s\n", dxcc, dwi->dxcname); } txt = g_strdup(gs->str); call_info_ml = getml(txt, NULL); /* locator itself */ if (regcmp(qso->callsign,"^[A-R]{2}[0-9]{2}[A-X]{2}$") == 0){ char *loc = qso->callsign; if (g_hash_table_lookup(wwls, loc) == NULL) { loc = g_strdup(loc); g_hash_table_insert(wwls, loc, NULL); add_to_ml(&call_info_ml, loc, NULL); } } g_hash_table_foreach(wwls, call_info_wwl, NULL); wwlcnt = g_hash_table_size(wwls); if (wwlcnt > 3) wwlcnt = 3; msg_box(call_info_ml, title, AL_LEFT, txt, NULL, 1 + wwlcnt, VTEXT(T_OK), NULL, B_ENTER | B_ESC, call_info_ml->p[1 + 0], call_info_map, 0, call_info_ml->p[1 + 1], call_info_map, 0, call_info_ml->p[1 + 2], call_info_map, 0); x:; g_string_free(gs, TRUE); g_string_free(gs2, TRUE); g_hash_table_destroy(wwls); if (freeqso) g_free(qso); } gchar *find_wwl_by_dxc_or_pref(struct dw *dw, gchar *call){ struct dw_item *dxci; if (!call) return dw_next; dw_next = NULL; dxci = get_dw_item_by_call(dw, call); if (!dxci) return NULL; dw_next = dxci->wwl1; return dxci->wwl0; } gchar *find_dxc_by_wwl(struct dw *dw, gchar *wwl){ struct wd_item *wdi; char s[10]; if (!wwl) return wd_next; wd_next = NULL; safe_strncpy(s, wwl, 10); if (strlen(s)>4) s[4]='\0'; wdi = (struct wd_item *)g_hash_table_lookup(dw->wd, s); if (!wdi) return NULL; wd_next = wdi->dxc1; return wdi->dxc0; } char *get_dxcc(struct dw *dw, char *buf, const char *call){ char *c0, *c1, *c2, *dxc; char s[100], *stroke = NULL; c0=c1=c2=NULL; safe_strncpy0(buf, call, 20); if (regmatch(call, "^(.*[0-9])[A-Z]*(/[A-Z])?", &c0, &c1, &c2, NULL)==0){ // dbg("\n%s '%s' '%s' '%s'\n", call, c0, c1, c2); safe_strncpy0(buf, c1, 20); if (c2 != NULL){ stroke = c2; } while (*buf!='\0'){ safe_strncpy0(s, buf, 20); if (stroke) strcat(s, stroke); // dbg("trying1 '%s'\n", s); dxc = (gchar *)g_hash_table_lookup(dw->pd, s); if (dxc) { // dbg("get_dxcc(%s)='%s'\n", call, s); safe_strncpy0(buf, dxc, 20); goto found; } buf[strlen(buf)-1]='\0'; } safe_strncpy0(buf, c1, 20); while (*buf!='\0'){ safe_strncpy0(s, buf, 20); // dbg("trying2 '%s'\n", s); dxc = (gchar *)g_hash_table_lookup(dw->pd, s); if (dxc) { // dbg("get_dxcc(%s)='%s'\n", call, s); safe_strncpy0(buf, dxc, 20); goto found; } buf[strlen(buf)-1]='\0'; } safe_strncpy0(buf, call, 20); } found:; if (c0) g_free(c0); if (c1) g_free(c1); if (c2) g_free(c2); dxc = (gchar *)g_hash_table_lookup(dw->pd, buf); if (dxc) safe_strncpy0(buf, dxc, 20); // dbg("get_dxcc(%s)='%s'\n", call, buf); return buf; } char *get_pref(char *buf, const char *call){ char *c0, *c1, *c2; c0=c1=c2=NULL; safe_strncpy0(buf, call, 20); if (regmatch(call, "^(.*)[0-9][A-Z]*\\/([0-9])", &c0, &c1, &c2, NULL) == 0){ if (c2 != NULL && strlen(c2) == 1 && isdigit(c2[0])) { g_snprintf(buf, 20, "%s%s", c1, c2); } } else if (regmatch(call, "^(.*[0-9])[A-Z]*", &c0, &c1, NULL)==0){ safe_strncpy0(buf, c1, 20); } if (c0) g_free(c0); if (c1) g_free(c1); if (c2) g_free(c2); //dbg("get_pref(%s)='%s'\n", call, buf); return buf; } tucnak-4.32/src/state.c0000644000175000017500000001550612230170432011724 00000000000000/* Tucnak - VHF contest log Copyright (C) 2013 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "state.h" #include "dxc.h" #include "edi.h" #include "inputln.h" #include "kst.h" #include "subwin.h" #include "qsodb.h" struct state *init_state(void){ struct state *state = g_new0(struct state, 1); state->hash = g_hash_table_new(g_str_hash, g_str_equal); return state; } void free_state(struct state *state){ zg_hash_free(state->hash); g_free(state); } void state_putstr(struct state *state, char *key, char *val){ g_hash_table_insert(state->hash, key, val); } void state_dupstr(struct state *state, const char *key, const char *val){ // dbg("state_dupstr 1 state=%p hash=%p key=%p val=%p\n", state, state->hash, key, val); // dbg("state_dupstr 2 \n"); g_hash_table_insert(state->hash, g_strdup(key), g_strdup(val)); // dbg("state_dupstr 3\n"); } const char *state_getstr(struct state *state, const char *key){ const char *c = (const char*)g_hash_table_lookup(state->hash, key); if (!c) return ""; return c; } void state_test(struct state *state){ int i, j ; state_dupstr(state, "gln_cdata", "GSES INPUTLN"); state_dupstr(state, "ctest", "20130610.1"); state_dupstr(state, "aband", "10 GHz"); state_dupstr(state, "ontop", "3"); for (i = 0; i < cfg->bands->len; i++){ struct config_band *b = (struct config_band *)g_ptr_array_index(cfg->bands, i); state_putstr(state, g_strdup_printf("band%c_il_cdata", z_char_lc(b->bandchar)), g_strdup_printf("Band %c inputln", z_char_lc(b->bandchar))); state_putstr(state, g_strdup_printf("band%c_il_hlen", z_char_lc(b->bandchar)), g_strdup("3")); for (j = 0; j < 3; j++){ state_putstr(state, g_strdup_printf("band%c_il_h%d", z_char_lc(b->bandchar), j), g_strdup_printf("Band %c inputln history %d", z_char_lc(b->bandchar), j)); } } for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->il){ state_putstr(state, g_strdup_printf("sw%d_il_cdata", i+1), g_strdup_printf("Subwin %d inputline", i+1)); state_putstr(state, g_strdup_printf("sw%d_il_hlen", i+1), g_strdup("4")); for (j = 0; j < 4; j++){ state_putstr(state, g_strdup_printf("sw%d_il_h%d", i+1, j), g_strdup_printf("Subwin %d inputln history %d", i+1, j)); } } if (sw->type == SWT_DXC || sw->type == SWT_KST){ state_putstr(state, g_strdup_printf("sw%d_connected", i+1), g_strdup("0")); } } } void state_save(struct state *state){ //char *c, *key; int i, j; if (!gses) return; // happens when called from android OnSaveInstance when updating package state_dupstr(state, "saved", "y"); state_dupstr(state, "gln_cdata", gses->il->cdata); state_dupstr(state, "ctest", ctest ? z_filename(ctest->directory) : ""); state_dupstr(state, "aband", aband ? aband->pband : ""); if (ctest != NULL){ for (i = 0; i < ctest->bands->len; i++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->il){ state_putstr(state, g_strdup_printf("band%c_il_cdata", z_char_lc(b->bandchar)), g_strdup(b->il->cdata)); state_putstr(state, g_strdup_printf("band%c_il_hlen", z_char_lc(b->bandchar)), g_strdup_printf("%d", b->il->history->len)); for (j = 0; j < b->il->history->len; j++){ state_putstr(state, g_strdup_printf("band%c_il_h%d", z_char_lc(b->bandchar), j), g_strdup((char*)g_ptr_array_index(b->il->history, j))); } } } } for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->il){ state_putstr(state, g_strdup_printf("sw%d_il_cdata", i+1), g_strdup(sw->il->cdata)); state_putstr(state, g_strdup_printf("sw%d_il_hlen", i+1), g_strdup_printf("%d", sw->il->history->len)); for (j = 0; j < sw->il->history->len; j++){ state_putstr(state, g_strdup_printf("sw%d_il_h%d", i+1, j), g_strdup((char*)g_ptr_array_index(sw->il->history, j))); } } if (sw->type == SWT_DXC || sw->type == SWT_KST){ state_putstr(state, g_strdup_printf("sw%d_connected", i+1), g_strdup(sw->sock < 0 ? "0" : "1")); } if (sw == gses->ontop) state_putstr(state, g_strdup("ontop"), g_strdup_printf("%d", i+1)); } } void state_restore(struct state *state){ const char *c; char *key; int i, j, len, ontop; struct band *b; c = state_getstr(state, "gln_cdata"); g_strlcpy(gses->il->cdata, c, gses->il->dlen); gses->il->cpos = strlen(gses->il->cdata); c = state_getstr(state, "ctest"); if (c && *c){ load_contest_edi(c, 0); for (i = 0; i < ctest->bands->len; i++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->il){ key = g_strdup_printf("band%c_il_cdata", z_char_lc(b->bandchar)); c = state_getstr(state, key); if (c) { g_strlcpy(b->il->cdata, c, b->il->dlen); b->il->cpos = strlen(b->il->cdata); } g_free(key); key = g_strdup_printf("band%c_il_hlen", z_char_lc(b->bandchar)); len = atoi(state_getstr(state, key)); g_free(key); for (j = 0; j < len; j++){ key = g_strdup_printf("band%c_il_h%d", z_char_lc(b->bandchar), j); c = state_getstr(state, key); g_ptr_array_add(b->il->history, g_strdup(c)); g_free(key); } } } } c = state_getstr(state, "aband"); b = find_band_by_pband((char *)c); if (b){ // progress("Activating band %s", b->bandname); activate_band(b); /* b==NULL is handled by function */ } c = state_getstr(state, "ontop"); ontop = atoi(c); for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->il){ key = g_strdup_printf("sw%d_il_cdata", i+1); c = state_getstr(state, key); if (c) { g_strlcpy(sw->il->cdata, c, sw->il->dlen); sw->il->cpos = strlen(sw->il->cdata); } g_free(key); key = g_strdup_printf("sw%d_il_hlen", i+1); len = atoi(state_getstr(state, key)); g_free(key); for (j = 0; j < len; j++){ key = g_strdup_printf("sw%d_il_h%d", i+1, j); c = state_getstr(state, key); g_ptr_array_add(sw->il->history, g_strdup(c)); g_free(key); } } if (sw->type == SWT_DXC || sw->type == SWT_KST){ key = g_strdup_printf("sw%d_connected", i+1); c = state_getstr(state, key); if (*c == '1'){ if (sw->type == SWT_DXC) dxc_open_connection(sw, NULL); if (sw->type == SWT_KST) kst_open_connection(sw, NULL); } g_free(key); } if (i+1 == ontop) sw_set_ontop(ontop - 1, 0); } } void state_foreach(struct state *state, GHFunc func, gpointer user_data){ g_hash_table_foreach(state->hash, func, user_data); } tucnak-4.32/src/hdkeyb.h0000644000175000017500000000157111636307172012070 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __HDKEYB_H #define __HDKEYB_H struct zhdkeyb; struct hdkeyb{ struct zhdkeyb *zhdkeyb; int actnr; char qtfstr[4]; }; extern struct hdkeyb *hdkeyb; struct hdkeyb *init_hdkeyb(void); void free_hdkeyb(struct hdkeyb *hdkeyb); void hdkeyb_read_handler(int n, char **items); void hdkeyb_key(struct hdkeyb *hdkeyb, char key); void hdkeyb_activate(struct hdkeyb *hdkeyb, int nr); void hdkeyb_set_qtf(struct hdkeyb *hdkeyb); void hdkeyb_rel_qtf(struct hdkeyb *hdkeyb, int rel); void hdkeyb_draw_rotar(struct hdkeyb *hdkeyb, int nr); void hdkeyb_draw_rotars(struct hdkeyb *hdkeyb); #endif tucnak-4.32/src/kst.h0000644000175000017500000000500513743245317011422 00000000000000/* kst.h ON4KST chat Copyright (C) 2011-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __KST_H #define __KST_H #include "header.h" struct subwin; struct event; struct zasyncdns; struct fifo; struct band; union zsockaddr; struct qrv_item; int sw_kst_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_kst_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_kst_redraw(struct subwin *sw, struct band *band, int flags); void sw_kst_check_bounds(struct subwin *sw); void sw_kst_enter(void *enterdata, gchar *str, int cq); void sw_kst_addrinfo(struct zasyncdns *adns, int n, int *family, int *socktype, int *protocol, int *addrlen, union zsockaddr *addr, char *errorstr); void sw_kst_connected_handler(void *xxx); void sw_kst_read_handler(void *xxx); void sw_kst_disconnect(struct subwin *sw); char *sw_kst_call_under(struct subwin *sw, int x, int y); void sw_kst_toggle_highlight(struct subwin *sw, char *call, int val); int sw_kst_line_color(struct subwin *sw, char *line); char *sw_kst_counterp(struct subwin *sw, char *line, int *color); // thread unsafe! int sw_kst_color(char *call); void sw_kst_nothing(void *itdata, void *menudata); void sw_kst_select(void *itdata, void *menudata); void sw_kst_hide(void *itdata, void *menudata); void sw_kst_message(void *itdata, void *menudata); void sw_kst_ask_sked(void *itdata, void *menudata); void sw_kst_info(void *itdata, void *menudata); #ifdef Z_HAVE_SDL void sw_kst_ac_info(void *itdata, void *menudata); #endif void sw_kst_use(void *itdata, void *menudata); int kst_read_line(struct subwin *sw, char *line); void kst_timer_function(void *data); void kst_end_shus(struct subwin *sw); void kst_clear_users(struct subwin *sw); int kst_user_skip(struct subwin *sw, const char *call); int kst_qrb_skip(struct qrv_item *qi, char *call); int kst_wkdwwl_skip(struct qrv_item *qi); void kst_shus(struct subwin *sw, int shus); void sw_kst_raise(struct subwin *sw); void kst_open_connection(void *itdata, void *menudata); void kst_export_text(void *itdata, void *menudata); #ifdef Z_HAVE_SDL void kst_free_screen(struct subwin *sw); #endif void kst_open_bh(void *sw); void kst_dump_skip(void *x, void *menudata); GPtrArray* sw_kst_calls_under(struct subwin *sw, int n, int y); void kst_right_mouse_2(struct subwin *sw); void sw_kst_call_choosen(void *itdata, void *menudata); #endif tucnak-4.32/src/cabrillo.c0000644000175000017500000002031414002334252012365 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "language2.h" #include "qsodb.h" #include "stats.h" #include "tsdl.h" static char *padr(char *dst, const char *src, int len){ int l; memset(dst, ' ', len); l = strlen(src); if (l > len) l = len; memcpy(dst, src, l); dst[len] = '\0'; return dst; } static char *padl(char *dst, const char *src, int len){ int l; memset(dst, ' ', len); l = strlen(src); if (l > len) l = len; memcpy(dst + len - l, src, l); dst[len] = '\0'; return dst; } int export_all_bands_cbr(void){ int i, err; gchar *filename; FILE *f; char callbuf[20]; int ignoreerror=0; int psect = 2; // 0=Multi, 1=Single, 2=Check char *ope[] = {"MULTI-OP", "SINGLE-OP", "CHECKLOG"}; char *mode[] = {"CW", "DIGI", "FM", "RTTY", "SSB", "MIXED"}; char *ass[] = {"ASSISTED", "NON-ASSISTED", "ASSISTED"}; int maxpower = 0; char *powerstr = "HIGH"; char *cabrillo_modes[]={ "", "PH", "CW", "MI", "MI", "PH", /* 5 */ "PH", "RT", "SS", "AT" /* 9 */ }; char s[256]; char t[256]; GString *gs; char *categoryband = NULL; int complete; if (!ctest) return -1; dbg("export_all_bands_cbr()\n"); progress(VTEXT(T_EXPORTING)); gs = g_string_sized_new(1024); for (i=0; ibands->len;i++){ struct config_band *cb=(struct config_band *)g_ptr_array_index(cfg->bands, i); struct band *band = find_band_by_bandchar(cb->bandchar); if (!band) continue; band->cbr_confb = cb; stats_thread_join(band); if (band->stats->nqsos > 0){ int p; dbg("band %c psect = %d\n", band->bandchar, psect); if (band->psect < psect) psect = band->psect; // check has priority. It's not optimal but... dbg("band %c psect = %d\n", band->bandchar, psect); p = atoi(band->spowe); if (p > maxpower) maxpower = p; if (categoryband == NULL){ categoryband = band->cbr_confb->cbrband; }else{ categoryband = "ALL"; } } dbg("band %c remarks = %s\n", band->bandchar, band->remarks); if (strlen(band->remarks) > 0){ if (gs->len > 0) g_string_append_c(gs, ' '); g_string_append(gs, band->remarks); } } if (maxpower > 0 && maxpower <=100) powerstr = "LOW"; if (maxpower > 0 && maxpower <=10) powerstr = "QRP"; filename = g_strdup_printf("%s/%s_%s.cbr", ctest->directory, ctest->cdate, z_get_raw_call(callbuf,ctest->pcall)); z_wokna(filename); f=fopen(filename,"wb"); /* must be b for windoze */ if (!f) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), errno); ignoreerror=1;} g_free(filename); g_string_free(gs, 1); progress(NULL); return -1; } if (!categoryband) categoryband = "ALL"; // no qsos err = 0; fprintf(f, "START-OF-LOG: 3.0\r\n"); fprintf(f, "CREATED-BY: %s-%s %s\r\n", PACKAGE_NAME, Z_PLATFORM, PACKAGE_VERSION); fprintf(f, "CONTEST: %s\r\n", ctest->tname); fprintf(f, "CALLSIGN: %s\r\n", ctest->pcall); fprintf(f, "CATEGORY-OPERATOR: %s\r\n", ope[psect%3]); fprintf(f, "CATEGORY-MODE: %s\r\n", mode[5]); fprintf(f, "CATEGORY-BAND: %s\r\n", categoryband); fprintf(f, "CATEGORY-POWER: %s\r\n", powerstr); fprintf(f, "CATEGORY-ASSISTED: %s\r\n", ass[psect%3]); fprintf(f, "CATEGORY-TRANSMITTER: ONE\r\n"); fprintf(f, "LOCATION: Write here\r\n"); fprintf(f, "CLAIMED-SCORE: %d\r\n", ctest->allb_ntotal); fprintf(f, "SPECIFIC: %s\r\n", ctest->pexch); fprintf(f, "CLUB: %s\r\n", ctest->pclub); fprintf(f, "NAME: %s\r\n", ctest->rname); fprintf(f, "ADDRESS: %s %s\r\n", ctest->radr1, ctest->radr2); fprintf(f, "ADDRESS-CITY: %s\r\n", ctest->rcity); fprintf(f, "ADDRESS-STATE-PROVINCE: Write here\r\n"); fprintf(f, "ADDRESS-POSTALCODE: %s\r\n", ctest->rpoco); fprintf(f, "EMAIL: %s\r\n", ctest->rhbbs); fprintf(f, "SOAPBOX: %s\r\n", gs->str); complete = (ctest->excused > 0) && (ctest->wwlused > 0) && (ctest->qsoused > 0); // UKSMG for (i=0; iallqsos->len; i++){ struct qso *q = (struct qso *)z_ptr_array_index(ctest->allqsos, i); char *d = NULL; if (!q->band) continue; // maybe connot happen, I don't want to investigate if (!q->band->cbr_confb) continue; d = NULL; if (!d && ctest->excused && strlen(q->exc) > 0) d = q->exc; if (!d && ctest->wwlused && strlen(q->locator) > 0) d = q->locator; if (!d && ctest->qsoused && strlen(q->qsonrr) > 0) d = q->qsonrr; if (!d && strlen(q->exc) > 0) d = q->exc; if (!d && strlen(q->locator) > 0) d = q->locator; if (!d && strlen(q->qsonrr) > 0) d = q->qsonrr; if (!d) d = " "; fprintf(f, "%sQSO: ", q->error ? "X-" : ""); if (q->qrg > 0 && q->qrg < 100000000){ fprintf(f, "%5d ", (int)(q->qrg / 1000.0)); }else{ if (q->band->cbr_confb->qrg_min < 30000){ fprintf(f, "%5d ", q->band->cbr_confb->qrg_min); // 1800, 3500, 7000, 14000, 21000, 28000 }else if (q->band->cbr_confb->qrg_min < 1000000){ fprintf(f, "%5d ", q->band->cbr_confb->qrg_min / 1000); // 50 144 432 902 }else{ fprintf(f, "%s ", padl(s, q->band->cbr_confb->cbrband, 5)); // 1.2G 2.3G 3.4G 5.7G 10G 24G 47G 75G 119G 142G 241G 300G } } fprintf(f, "%s ", padr(s, cabrillo_modes[q->mode], 2)); safe_strncpy(t, q->date_str, 5); strcat(t, "-"); safe_strncpy(t+5, q->date_str+4, 3); strcat(t, "-"); safe_strncpy(t+8, q->date_str+6, 3); fprintf(f, "%s ", padr(s, t, 10)); fprintf(f, "%s ", padr(s, q->time_str, 4)); fprintf(f, "%s ", padr(s, ctest->pcall, 13)); fprintf(f, "%s ", padr(s, q->rsts, 3)); if (complete) { fprintf(f, "%s ", padr(s, q->qsonrs, 4)); fprintf(f, "%s ", padr(s, ctest->pwwlo, 6)); g_strlcpy(t, ctest->pexch, sizeof(t)); g_strstrip(t); fprintf(f, "%s ", padr(s, t, strlen(ctest->pexch))); }else{ if (ctest->qsoused > 0) { fprintf(f, "%s ", padr(s, q->qsonrs, 4)); } if (ctest->wwlused > 0) { fprintf(f, "%s ", padr(s, ctest->pwwlo, 6)); } if (ctest->excused > 0) { g_strlcpy(t, ctest->pexch, sizeof(t)); g_strstrip(t); fprintf(f, "%s ", padr(s, t, strlen(ctest->pexch))); } //fprintf(f, "%s ", padr(s, c, 6)); } fprintf(f, "%s ", padr(s, q->callsign,13)); fprintf(f, "%s ", padr(s, q->rstr,3)); if (complete) { fprintf(f, "%s ", padr(s, q->qsonrr, 4)); fprintf(f, "%s ", padr(s, q->locator, 6)); g_strlcpy(t, q->exc, sizeof(t)); g_strstrip(t); fprintf(f, "%s ", padr(s, t, ctest->exclen)); }else{ if (ctest->qsoused > 0) { fprintf(f, "%s ", padr(s, q->qsonrr, 4)); } if (ctest->wwlused > 0) { fprintf(f, "%s ", padr(s, q->locator, 6)); } if (ctest->excused > 0) { g_strlcpy(t, q->exc, sizeof(t)); g_strstrip(t); fprintf(f, "%s ", padr(s, t, ctest->exclen)); } //fprintf(f, "%s ", padr(s, d, 6)); } fprintf(f, "\r\n"); } fprintf(f, "END-OF-LOG:\r\n"); fclose(f); if (err) { if (!ignoreerror) { errbox(VTEXT(T_CANT_WRITE), 0); ignoreerror=1; } g_free(filename); g_string_free(gs, 1); progress(NULL); return -1; } log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); g_string_free(gs, 1); progress(NULL); return 0; } tucnak-4.32/src/zstring.h0000644000175000017500000000177611571671075012335 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __ZSTRING_H #define __ZSTRING_H #include "header.h" struct zstring { int tokenpos; char *str; #ifdef LEAK_DEBUG_LIST char *file; int line; #endif }; #ifdef LEAK_DEBUG_LIST #define zconcatesc(x...) debug_zconcatesc(__FILE__, __LINE__, x) #define zstrdup(x) debug_zstrdup(__FILE__, __LINE__, x) struct zstring *debug_zconcatesc(char *file, int line, char *s1, ...); struct zstring *debug_zstrdup(char *file, int line, const char *str); #else struct zstring *zconcatesc(char *s1, ...); struct zstring *zstrdup(const char *str); #endif char *ztokenize(struct zstring *zstr, int first); void zfree(struct zstring *zstr); int ztokens(struct zstring *zstr); int zwrite(int fd, struct zstring *zs); #endif tucnak-4.32/src/button.c0000644000175000017500000000475613057224173012136 00000000000000/* Tucnak - VHF contest log Copyright (C) 2012-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "button.h" #include "kbd.h" #include "tsdl.h" struct button *init_button( #ifdef Z_HAVE_SDL SDL_Surface *screen, #endif int x, int y, void (*fn)(void *), void *data){ struct button *b = g_new0(struct button, 1); b->x = x; b->y = y; b->fn = fn; b->data = data; return b; } void free_button(struct button *b){ #ifdef Z_HAVE_SDL if (b->surface) SDL_FreeSurface(b->surface); #endif g_free(b->text); g_free(b); } void buttons_clear(GPtrArray *buttons){ int i; for (i = buttons->len - 1; i >= 0; i--){ struct button *b = (struct button *)g_ptr_array_index(buttons, i); free_button(b); g_ptr_array_remove_index(buttons, i); } } #ifdef Z_HAVE_SDL void buttons_redraw(GPtrArray *buttons, SDL_Surface *dst){ int i; for (i = 0; i < buttons->len; i++){ struct button *b = (struct button *)g_ptr_array_index(buttons, i); button_draw(b, dst); } } int buttons_mouse(GPtrArray *buttons, int mb, int mx, int my){ int i; for (i = 0; i < buttons->len; i++){ struct button *b = (struct button *)g_ptr_array_index(buttons, i); if ((mb & B_CLICK) == 0) continue; if (mx < b->x || mx >= b->x + b->w) continue; if (my < b->y || my >= b->y + b->h) continue; if (b->fn == NULL) continue; b->fn(b->data); return 1; } return 0; } void button_draw(struct button *b, SDL_Surface *dst){ SDL_Rect dr; dr.x = b->x; dr.y = b->y; dr.w = b->w; dr.h = b->h; if (b->surface){ SDL_BlitSurface(b->surface, NULL, dst, NULL); }else{ SDL_FillRect(dst, &dr, b->bcolor); z_rect2(dst, &dr, b->fcolor); zsdl_printf(dst, b->x + b->w / 2, b->y + b->h / 2, b->fcolor, 0, ZFONT_TRANSP | ZFONT_CENTERX | ZFONT_CENTERY, "%s", b->text); } } void button_bitmap(struct button *b, SDL_Surface *surface){ b->surface = surface; b->w = surface->w; b->h = surface->h; } #endif void button_text(struct button *b, int font_h, int fcolor, int bcolor, char *text){ b->font_h = font_h; b->fcolor = fcolor; b->bcolor= bcolor; g_free(b->text); b->text = g_strdup(text); b->h = font_h; #ifdef Z_HAVE_SDL b->w = zsdl_h2w(font_h) * strlen(b->text); #endif } void button_free(struct button *b){ #ifdef Z_HAVE_SDL if (b->surface) SDL_FreeSurface(b->surface); g_free(b->text); g_free(b); #endif } tucnak-4.32/src/html.h0000644000175000017500000000252114035370711011555 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __HTML_H #define __HTML_H #include "header.h" struct band; struct config_band; struct subwin; #define HTML_ICON 0x01 #define HTML_MAP 0x02 #define HTML_CHART 0x04 #define HTML_IMG_ROOT 0x08 #define HTML_FOR_PHOTO 0x10 #define HTML_CENTER 0x20 gchar *qh(GString *gs, gchar *s); void html_style(GString *gs); void html_header(GString *gs, gchar *title, int flags, int refresh, char *bodyarg); void html_ref_header(GString *gs); void html_band_ref(GString *gs, struct band *b, struct config_band *confb); void html_total_sum(GString *gs, struct band *b, struct config_band *confb); void html_ref_footer(GString *gs, struct band *b, struct config_band *confb); void html_band_header(GString *gs, struct band *b, struct config_band *confb, int flags, struct subwin *map, struct subwin *chart); void html_band_footer(GString *gs); void html_footer(GString *gs, int flags); void html_qsos(GString *gs, struct band *b, struct config_band *confb); void html_complete(GString *gs, int flags); int export_all_bands_html(void); #endif tucnak-4.32/src/list.c0000644000175000017500000000510414000322113011540 00000000000000/* list - Imports list of stations Copyright (C) 2010-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "net.h" #include "qsodb.h" #include "session.h" #include "stats.h" #define LIST_DELIM "\t " void import_list(void *xxx, char *filename){ FILE *f; GString *gs; char *token_ptr; int i; int l = 0; f = fopen(filename, "r"); if (!f) { log_addf(VTEXT(T_CANT_READ_S), filename); return; } gs = g_string_sized_new(120); while(zfile_fgets(gs, f, 0)!=NULL ){ struct qso *q; char *c, *w, *r; l++; c = strtok_r(gs->str, LIST_DELIM, &token_ptr); if (!c) { log_addf(VTEXT(T_SKIP_LINE), l, gs->str); continue; } w = strtok_r(NULL, LIST_DELIM, &token_ptr); if (!w){ log_addf(VTEXT(T_SKIP_LINE), l, gs->str); continue; } // r = strtok_r(NULL, LIST_DELIM, &token_ptr); r = token_ptr; q = g_new0(struct qso, 1); q->date_str = g_strdup("19900101"); q->time_str = g_strdup("0000"); q->callsign = g_strdup(c); q->mode = MOD_CW_CW; q->rsts=g_strdup("599"); q->rstr=g_strdup("599"); q->qsonrs=g_strdup_printf("%03d", l); q->qsonrr=g_strdup("001"); q->exc=g_strdup(""); q->locator = g_strdup(w); q->source=g_strdup(gnet->myid); q->operator_=aband->operator_; q->qrg = 0; q->stamp=time(NULL); q->remark = g_strdup(r?r:""); q->phase = ctest->phase; q->ser_id=-1; /* computed by add_qso_to_index */ compute_qrbqtf(q); add_qso(aband, q); log_addf("'%s' '%s' '%s'", q->callsign, q->locator, q->remark); } g_string_free(gs, TRUE); fclose(f); g_hash_table_foreach(ctest->bystamp, foreach_source_qsort_by_stamp, NULL); z_ptr_array_qsort(ctest->allqsos, compare_date_time_qsonrs); for (i=0;ibands->len;i++){ struct band *b=(struct band *)g_ptr_array_index(ctest->bands,i); recalc_stats(b); clear_tmpqsos(b, 1); if (ctest->qsoused && b->qsos->len+1 != atoi(b->tmpqsos[0].qsonrs)){ g_free(b->tmpqsos[0].qsonrs); b->tmpqsos[0].qsonrs = g_strdup_printf("%03d", b->qsos->len+1); } } return; } tucnak-4.32/src/report.c0000644000175000017500000000735313700130565012126 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "qsodb.h" #include "stats.h" #include "tsdl.h" int write_report(struct band *b, struct config_band *confb, FILE *f){ int year, month, day, date; char s[24]; GString *gs; int ret=0; gs = g_string_sized_new(1000); date = b->stats->first_date; day = date%100; month = (date/100)%100; year = (date/10000)%10000; g_string_append_printf(gs, "s OK1KPA\n"); g_string_append_printf(gs, "Hlaseni ze zavodu %s %d/%d %s\n", ctest->tname, month, year, z_str_uc(safe_strncpy0(s, ctest->pcall, 21))); g_string_append_printf(gs, "\n\n"); g_string_append_printf(gs, "Hlaseni ze zavodu %s %d/%d \n", ctest->tname, month, year); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "Hlaseni ze zavodu: %s dne %02d.%02d.%2d \n", ctest->tname, day, month, year); g_string_append_printf(gs, "Kategorie: %s (%s %s)\n", b->psect ? confb->ok_section_single : confb->ok_section_multi, b->pband, b->psect ? "Single" : "Multi"); g_string_append_printf(gs, "Znacka v zavode: %s \n", z_str_uc(safe_strncpy0(s, ctest->pcall, 21))); g_string_append_printf(gs, "Lokator: %s \n", z_str_uc(safe_strncpy0(s, ctest->pwwlo, 7))); g_string_append_printf(gs, "Pocet platnych spojeni: %d \n", b->stats->nqsos); g_string_append_printf(gs, "Pocet bodu za spojeni: %d \n", b->stats->nqsop); g_string_append_printf(gs, "Pocet nasobicu: %d \n", g_hash_table_size(b->stats->wwls)); g_string_append_printf(gs, "Vysledek: %d \n", b->stats->ntotal); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "Prohlasuji, ze jsem dodrzel(a) podminky zavodu, \n"); g_string_append_printf(gs, "uvedeny vysledek odpovida skutecnosti. \n"); g_string_append_printf(gs, "%30s\n", ctest->pcall); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "/ack\n"); g_string_append_printf(gs, "/ex\n"); if (fprintf(f, "%s", gs->str) != gs->len) ret=1; g_string_free(gs, TRUE); return ret; } int export_all_bands_report(){ struct band *band; struct config_band *confb; int i, err; gchar *filename; FILE *f; char callbuf[20]; if (!ctest) return -1; for (i=0; ibands->len; i++){ band = g_ptr_array_index(ctest->bands, i); confb = get_config_band_by_bandchar(band->bandchar); progress(VTEXT(T_EXPORTING_S), band->bandname); stats_thread_join(band); if (band->stats->nqsos <=0) continue; filename = g_strdup_printf("%s/%s%s.txt", ctest->directory, band->psect ? confb->ok_section_single : confb->ok_section_multi, z_get_raw_call(callbuf,ctest->pcall)); z_wokna(filename); f=fopen(filename,"wt"); if (!f) { log_addf(VTEXT(T_CANT_WRITE_S), filename); errbox(VTEXT(T_CANT_WRITE), errno); g_free(filename); progress(NULL); return -1; } err=write_report(band,confb,f); fclose(f); if (err) { log_addf(VTEXT(T_CANT_WRITE_S), filename); errbox(VTEXT(T_CANT_WRITE), 0); g_free(filename); progress(NULL); return -1; } log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); } progress(NULL); return 0; } tucnak-4.32/src/language.inc0000644000175000017500000146151114035371037012731 00000000000000/* Automatoticaly generated by gen-intl */ struct translation translation_english [] = { {0, NULL}, {T__CHAR_SET, "us-ascii"}, {T__LANGUAGE, "English"}, {T_ABOUT, "About"}, {T_BAD_NUMBER, "Bad number"}, {T_BAD_STRING, "Bad string"}, {T_BASIC_HELP, "Press F10 for menu.\nHave fun."}, {T_BLOCK_CURSOR, "Block cursor"}, {T_CANCEL, "Cancel"}, {T_CHARACTER_SET, "Character set"}, {T_COLOR, "Color"}, {T_COPYING, "Copying"}, {T_DIFFERENCE, "difference"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Do you really want to exit Tucnak?"}, {T_EMPTY_STRING_NOT_ALLOWED, "Empty string not allowed"}, {T_ERROR, "Error"}, {T_WARNING, "Warning"}, {T_EXIT, "Exit"}, {T_EXIT_TUCNAK, "Exit Tucnak"}, {T_FILE, "File"}, {T_FULL_SCREEN, "Full screen"}, {T_HELP, "Help"}, {T_HK_ABOUT, "A"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "H"}, {T_HK_COPYING, "C"}, {T_HK_EXIT, "X"}, {T_HK_FILE, "F"}, {T_HK_FULL_SCREEN, "F"}, {T_HK_HELP, "H"}, {T_HK_LANGUAGE, "L"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "S"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "W"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "KOI8-R frames"}, {T_LANGUAGE, "Language"}, {T_LAST, "last"}, {T_LINUX_OR_OS2_FRAMES, "Linux or OS/2 frames"}, {T_MEMORY_INFO, "Memory info"}, {T_NO_FRAMES, "No frames"}, {T_NO, "No"}, {T_NUMBER_EXPECTED, "Number expected in field"}, {T_NUMBER_OUT_OF_RANGE, "Number out of range"}, {T_OK, "OK"}, {T_OS_SHELL, "OS shell"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Restrict frames in cp850/852"}, {T_UTF_8_IO, "UTF-8 Input/Output"}, {T_SCREEN, "Screen"}, {T_SETUP, "Setup"}, {T_TERMINAL_OPTIONS, "Terminal options"}, {T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-like V/U/SHF contest log"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Use ^[[11m"}, {T_VT_100_FRAMES, "VT 100 frames"}, {T_WELCOME1, "Welcome to Tucnak!"}, {T_WELCOME2, "Please enter your callsign and locator:"}, {T_WELCOME, "Welcome"}, {T_XTERM, "Xterm"}, {T_YES, "Yes"}, {T_CANT_APPEND_S, "Can't append to file %s"}, {T_CANT_WRITE, "Can't write to file"}, {T_CANT_WRITE_S, "Can't write to file %s"}, {T_CANT_READ, "Can't read from file"}, {T_CANT_READ_S, "Can't read from file %s"}, {T_SAVED_S, "Saved %s"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - cw speed "}, {T_CANT_OPEN_S, "Can't open %s"}, {T_CANT_LOCK, "Can't lock"}, {T_CANT_LOCK_S, "Can't lock %s"}, {T_LOADING_CTEST_S, "*** Loading contest %s"}, {T_NO_FILES,"No files in directory"}, {T_BAND_EXIST_SS, "WARNING! Band %s (%s) already exist"}, {T_BAND_NOT_OPEN, "Band is not active in this contest"}, {T_NO_BANDS, "No bands to load"}, {T_CANT_SET_GR_S, "Can't set any graphics mode-%s"}, {T_GCALL, "Call: %s"}, {T_GWWL, "WWL: %s"}, {T_GQRB, "QRB: %d km"}, {T_GQTF, "QTF: %d deg"}, {T_GSEN, "Sent: %s %s"}, {T_GRCV, "Rcvd: %s %s"}, {T_GTIM, "Time: %s"}, {T_GOPE, "Op: %s"}, {T_GREM, "Rem: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "income: %d"}, {T_GLON, "Lon:%7.2f %-6s"}, {T_GLAT, "Lat:%7.2f %-6s"}, {T_GLOC, "Loc: %s"}, {T__PLESE_WAIT_, " Please WAIT "}, {T__RO_BAND, " READ-ONLY BAND"}, {T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation."}, {T_CTEST_ACTIVE, "Contest is already active "}, {T_NO_CTESTS, "No contests"}, {T_NO_CCLOSE, "No contest to close"}, {T_REALLY, "Really?"}, {T_CLOSE_CTEST, "Do you really want to close this contest?"}, {T_GUI_LD, "GUI: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw items, %d wc items, latest %d\n"}, {T_EXC, "Exc: %s %d exc items, %d cxe items, latest %d\n"}, {T_VEXC, "Verified EXC: %d items\n"}, {T_DWI, "D_W: %d prefixes, %d DXCCs, %d WWLs\n"}, {T_NAMES, "Names: %d names\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Memory:"}, {T_NMY, " My: "}, {T_NGLOBAL, "Global: "}, {T_NMASTER, "Master: "}, {T_NREMOTE, "Remote: "}, {T_NSLAVES, "\nSlaves:\n"}, {T_NINFO, "Network info"}, {T_NO_BANDS_QRV, "No bands QRV"}, {T_NO_BANDS_CONF, "No bands configured"}, {T_NOT_AVAILABLE, "Not available"}, {T_ADD_SUBWIN, "Add subwin"}, {T_HK_ADD_SUBWIN, "A"}, {T_CLOSE_SUBWIN, "Close subwin"}, {T_HK_CLOSE_SUBWIN, "C"}, {T_HK_NINFO, "N"}, {T_NEW, "New"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "New from wizard"}, {T_HK_NEW_WIZZ, "W"}, {T_NEW_NET, "New from network"}, {T_HK_NEW_NET, "T"}, {T_OPEN, "Open"}, {T_HK_OPEN, "O"}, {T_SAVE, "Save"}, {T_HK_SAVE, "S"}, {T_EXPORT_EDI, "Export as EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Export as report"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Export as ADIF"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Export as Cabrillo"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Export as HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Export as MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Import EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Import ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Import swap"}, {T_HK_IMPORT_SWAP, ""}, {T_IMPORT_LIST, "Import list"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Contest options"}, {T_HK_CONTEST_OP, "O"}, {T_CLOSE_CONTEST, "Close contest"}, {T_HK_CLOSE_CONTEST, "C"}, {T_ADD_ERROR, "Add ERROR"}, {T_HK_ADD_ERROR, "E"}, {T_CHOP, "Change operator"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Update C_W from contest"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Update C_W from band"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Update EXC DB from contest"}, {T_HK_EXC_CTEST, "A"}, {T_EXC_BAND, "Update EXC DB from band"}, {T_HK_EXC_BAND, "T"}, {T_IMPORT_EBW, "Import DL8EBW database"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "No contest"}, {T_NO_PEERS, "No peers found"}, {T_NO_MASTER, "Master is not available!"}, {T_CTEST_DEF, "Contest defaults"}, {T_HK_CTEST_DEF, "O"}, {T_BAND_DEF, "Band defaults"}, {T_HK_BAND_DEF, "B"}, {T_HK_RESPOP, "P"}, {T_CW_DAEMON, "CW keying"}, {T_HK_CW_DAEMON, "E"}, {T_CW_CQ, "CW CQ"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB CQ"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Autosave"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Load cfg from net"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Load C_W from net"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Save configuration"}, {T_HK_SAVE_CFG, "F"}, {T_CONTEST, "Contest"}, {T_HK_CONTEST, "C"}, {T_EDIT, "Edit"}, {T_HK_EDIT, "E"}, {T_BANDS, "Bands"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Subwins"}, {T_HK_SUBWINS, "W"}, {T_BAND_SETTINGS_SC, "Band settings for band %c %s"}, {T_QRV_ON_THIS_BAND, "QRV on this band"}, {T_QRV_IN_THIS_CTEST, "QRV in this contest"}, {T_READ_ONLY, "Read-only"}, {T_MULTI, "Multi"}, {T_SINGLE, "Single"}, {T_CHECK, "Check"}, {T_TXEQUIP, " TX Equip:"}, {T_POWER, " Power:"}, {T_RXEQUIP, " RX Equip:"}, {T_ANTENNA, " Antenna:"}, {T_AGLASL, " AGL;ASL:"}, {T_OPS, "Operators:"}, {T_SPACES1, " "}, {T_REMARKS, " Remarks:"}, {T_OK_SECTION_SINGLE, "Single category in OK"}, {T_OK_SECTION_MULTI, "Multi category in OK"}, {T_QRG_MIN, "Band boundary from"}, {T_QRG_MAX, "to [kHz]"}, {T_ADIFBAND, "ADIF band name"}, {T_SKEDQRG, "QRG for skeds (free form)"}, {T_BAND_LO, "Transverter's LO QRG [Hz]:"}, {T_BANDSW, "Band switch value"}, {T_RESPOP, "Responsible operator"}, {T_NAME, " Name:"}, {T_CALLSIGN, " Callsign:"}, {T_ADDRESS, " Address:"}, {T_POSTCODE, "Postal Code:"}, {T_CITY, " City:"}, {T_COUNTRY, " Country:"}, {T_PHONE, " Phone:"}, {T_BBSEMAIL, " E-mail:"}, {T_QP0, " --none -- "}, {T_QP1, " 1 QSOp*QSOp_m (Std. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK activity)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltic)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (district codes)"}, {T_QP13, "13 Continent (CQ WW DX Contest)"}, {T_QP14, "14 Continent+band (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --none -- "}, {T_TP1, " 1 Multiplicative (Std. IARU)"}, {T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "New Contest"}, {T_CANT_TRUNC, "Can't truncate desc file"}, {T_NAME_OF_CTEST, "Name of the contest:"}, {T_CALL_OF_CTEST, "Callsign in contest:"}, {T_CLUB_ST, "Club station:"}, {T_YOURWWL, "Your WWL:"}, {T_YOUREXC, "Your EXC:"}, {T_DATE_OF_CTEST, "Date of contest:"}, {T_QSOUSED, "QSO NR used"}, {T_QSOPM, " QSOp multi:"}, {T_WWLUSED, "WWL used "}, {T_WWLB, "WWL bonus:"}, {T_WWLM, "WWL multi:"}, {T_EXCUSED, "EXC used"}, {T_EXCB, " EXC bonus:"}, {T_EXCM, "EXC multi:"}, {T_EXCNAME, " EXC name: "}, {T_PREFM, "PREF multi:"}, {T_DXCB, " DXC bonus:"}, {T_DXCM, "DXC multi:"}, {T_RSTUSED, "RST Used "}, {T_DEFRS, "Default RS:"}, {T_DEFRST, "Def RST:"}, {T_ALSORSTR, "Also for RST-R"}, {T_QP_CALC, " QSOp calc:"}, {T_TO_CALC, "Total calc:"}, {T_EDI_PROP, "EDI prop"}, {T_RESPOP2, "Responsible op"}, {T_EDIT_QSO_CD, "Edit QSO %c: %03d"}, {T_CALLSIGN2, "Callsign:"}, {T_CLUB, " Club:"}, {T_PADR1, " PAdr1:"}, {T_PADR2, " PAdr2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Operator:"}, {T_DATE, " Date:"}, {T_MODE, " Mode:"}, {T_RSTS, " RSTs:"}, {T_RSTR, " RSTr:"}, {T_QSONRS, "QSO sent:"}, {T_QSONRR, "QSO rcvd:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " WWL:"}, {T_REMARK, " Remark:"}, {T_QRV2, " QRV on:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Send sked"}, {T_SELECT, "Select"}, {T_QRG, " QRG:"}, {T_WE_CALL, " We call"}, {T_BAND, " Band:"}, {T_TIME, " Time:"}, {T_DUPE_QSO, "Duplicate QSO!"}, {T_CLEAR_THIS_QSO, "Clear this QSO"}, {T_EDIT_OLD_QSO, "Edit old QSO"}, {T_MARK_OLD_QSO, "Mark old QSO as ERROR"}, {T_STORE_AS_DUPE, "Store as DUPE"}, {T_BAD_CALL, "This does not look like a callsign"}, {T_N_CALLSIGN, "\nCallsign:"}, {T_AUTOSAVE_OPTS, "Autosave options"}, {T_SAVE_AQ, "Save to disk after QSO: "}, {T_SAVE_AM, "Save to disk after minutes:"}, {T_FSYNC, "Fsync"}, {T_SAVE_AQF, "Save to floppy after QSO: "}, {T_SAVE_AMF, "Save to floppy after minutes:"}, {T_DO_MOUNT, "Mount if not in /etc/mtab (unused)"}, {T_FLOPPY_PATH, "Path to floppy:"}, {T_MOUNT_CMD, "Mount command: "}, {T_SW_SHELL, "Shell"}, {T_SW_QSOS, "QSOs"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Talk"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Unfi"}, {T_SW_DXC, "DXC"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Map"}, {T_SW_SCOPE, "Scope"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Player"}, {T_SW_CHART, "Chart"}, {T_SHELL, "Shell"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Talk"}, {T_SKEDS, "Skeds"}, {T_UNFI, "Unfinished QSOs"}, {T_DXC, "DX Cluster"}, {T_STAT, "Statistics"}, {T_SWAP, "Swap (N/A)"}, {T_MAP, "Graphics map"}, {T_SCOPE, "Scope"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Command"}, {T_RESPAWN, "Respawn [sec]:"}, {T_UNFI_QSO, "Unfinished QSO"}, {T_N_REMARK, "\nRemark:"}, {T_NO_CQ, "No CQ defined"}, {T_TEXT, "Text:"}, {T_SPEED, "Speed [WPM]:"}, {T_REPEAT, "Repeat"}, {T_DELAY, "Delay [0.1s]:"}, {T_ALLOW_UNDEF, "Allow if some item is undefined"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Filename:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "UDP port:"}, {T_DEVICE, "Keying device:"}, {T_INIT_SPEED, "Initial speed [WPM]:"}, {T_INIT_WEIGHT, "Weight (30-70):"}, {T_WPMFROM, "WPM Range from"}, {T_WPMTO, "to"}, {T_USE_SPK, "Use speaker"}, {T_LEADIN, "PTT lead in [ms]"}, {T_AUTGIVE, "Run mode aut. give after [chars]"}, {T_IGN_IFACE_S, "Ignoring interface %-5s"}, {T_IGN_ADDR_S, "Ignoring address %s"}, {T_ADD_IFACE_SSD, "Added interface=%-5s BCAST=%s:%d"}, {T_FORCED_ADDR, "Forced address %s"}, {T_TIMESKEW, "WARNING! Time skew %d detected against %s:%d !\n"}, {T_DISCONNECTING_SD, "Disconnecting from %s:%d"}, {T_ACCEPTED_SD, "Accepted %s:%d (%s)"}, {T_CONNECTING_SD, "Connecting to %s:%d" }, {T_CONNECTED_SD, "Connected to %s:%d"}, {T_DISCONNECTED_SD, "Disconnected from %s:%d"}, {T_LOADED_CFG_SSSS, "Loaded config for %s %s (%s,%s)"}, {T_LOADED_CW, "Loaded C_W data"}, {T_PEER_NOT_FOUND, "ERROR! Peer %s not found"}, {T_CANT_CREATE_HOME_S, "Cannot create directory %s"}, {T_CANT_LOAD_CFG, "Can't load configuration!\nProgram cannot work properly!"}, {T_ERR_RC, "Found some errors parsing config file!\nThis file was probably saved with newer Tucnak!\nDon't save your configuration unless you can loose data!"}, {T_SES_QTR, " QTR "}, {T_SES_QRA, " CALL "}, {T_SES_RST, " RST-S-No RST-R-No "}, {T_SES_QTH, " QTH "}, {T_SES_QRB, " Pts/QRB QTF "}, {T_SES_FLG, " Flg "}, {T_SES_OPE, " Oper. "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Remark "}, {T_SES_WELCOME, "Welcome to Tucnak! "}, {T_SES_PRESS_F10, "Press F10 for menu."}, {T_SES_HAVE_FUN, "Have fun."}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG"}, {T_SES_AVG, " AVG: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " WWLs: %d"}, {T_SF_WWLS_UNDER, "-------------"}, {T_SF_EXCS, " EXCs: %d"}, {T_SF_EXCS_UNDER, "-------------"}, {T_SF_MISS_EXCS, " Missing EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " DXCCs: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " WKD WWLs: %d"}, {T_SF_WKD_WWLS_UNDER, "-----------------"}, {T_SF_QSO_WWL4, " QSOS in WWL4s: %d"}, {T_SF_QSO_WWL4_UNDER, "----------------------"}, {T_SF_STATS_BAND, " Statistics for band %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Contest: %s"}, {T_SF_ALLBQSOS, "All bands QSOs: %d"}, {T_SF_ALLBQSOP, "All bands QSOp: %d"}, {T_SF_ALLBPTS, "All bands pts: %d"}, {T_SF_QSOS, "QSOs: %d"}, {T_SF_VQSO, "Valid QSOs: %d"}, {T_SF_QSOP, "QSO points: %d"}, {T_SF_PTS, "Points: %d"}, {T_SF_AVG_PTS, "Average pts/QSO: %5.2f"}, {T_SF_AVG_QSOP, "Average qsop/QSO: %5.2f"}, {T_BAND_RO, "Band is read-only"}, {T_THIS_BAND, "This band"}, {T_OTHER_BANDS, "Other bands"}, {T_CW_DB, "C_W database"}, {T_PROC_EXITED, "*** Process exited\n"}, {T_WE_CALL2, "we call"}, {T_WE_LISTEN, "we listen"}, {T_QSL, "QSL promised"}, {T_RECORD, "Record traffic"}, {T_MAXMIN, " Max. record duration"}, {T_TEMPLATE, "Template for recorded filename"}, {T_PCM8, "8 bit PCM"}, {T_PCM16, "16 bit PCM"}, {T_ULAW, "mu-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Channels"}, {T_SAMPLERATE, "Sample rate"}, {T_FILLOP, "Fill operators"}, {T_HK_FILLOP, "L"}, {T_RECAQRB, "Recalc QRB,QTF"}, {T_HK_RECAQRB, "R"}, {T_NETWORK, "Network & trace"}, {T_HK_NETWORK, "K"}, {T_IF_IGNORE, "Ignore interfaces:"}, {T_IP_IGNORE, " Ignore networks:"}, {T_IP_ANNOUNCE, " Announce to nets:"}, {T_TRACE_BCAST, "Trace broadcasts "}, {T_TRACE_SOCK, "Trace sockets"}, {T_TRACE_RECV, "Trace received data"}, {T_TRACE_SEND, "Trace sent data"}, {T_TRACE_QSOS, "Trace QSOs "}, {T_TRACE_SDEV, "Trace rotars "}, {T_NOT_MOUNTED_S, "Not mounted %s"}, {T_RECSRC_NONE, "Don't set"}, {T_RECSRC_MIC, "Microphone"}, {T_RECSRC_LINE, "Line in"}, {T_NEW_CALL, "New!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV on %s"}, {T_SKED_QRG, "QRG for skeds"}, {T_HK_SKED_QRG, "F"}, {T_N_SKED_QRG, "\nQRG for skeds:"}, {T_GRAB_BAND, "Grab band control"}, {T_HK_GRAB_BAND, "G"}, {T_FORCE_RUN, "Force RUN mode"}, {T_HK_FORCE_RUN, "U"}, {T_EXPORT_STATS, "Export Statistics"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX QSOs:"}, {T_SF_TOP_DX_UNDER, "-------------------"}, {T_ROTAR, "Rotator"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimuth"}, {T_ELEVATION, "Elevation"}, {T_CH_SPY, "Spy"}, {T_HK_CH_SPY, "S"}, {T_CH_ENDSPY, "Spy end"}, {T_HK_CH_ENDSPY, "P"}, {T_EXPORT_TITLPAGE, "Export title page"}, {T_HK_EXPORT_TITLPAGE, "P"}, {T_BREAK_RECORD, "Break record"}, {T_HK_BREAK_RECORD, "B"}, {T_GLOBAL_OPERATOR, "Change for all bands"}, {T_GLOBAL_OPERATOR2, "Global"}, {T_MAXFRAG, "Max. num of fragments (>=2)"}, {T_PLAY_LAST, "Play last sample"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Miscellaneous options"}, {T_HK_MISCOPTS, "M"}, {T_LOGLINES, "Log lines: "}, {T_SKEDSHIFT, "Sked shift (minutes): "}, {T_STARTBAND, "Starting band: "}, {T_GFX_X_CH, "Screen resolution (chars):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Screen resolution (pixels):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Callsign info"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSOs/hour: %d"}, {T_SF_QSOP_HOUR, "Points/hour: %d"}, {T_SF_QSOP_50QSO, "Points/50 QSOs: %d"}, {T_SF_HOURS, " Hours"}, {T_SF_HOURS_UNDER, "---------"}, {T_SF_HOURS_TITLE, "Hours Points QSOs AVG pts/QSO"}, {T_QSO_CHECK, "QSO check"}, {T_HK_QSO_CHECK, "K"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Minimal disk free space [MiB]"}, {T_FORMAT, "Record format"}, {T_PCM_PLAY, "Alsa playback device"}, {T_PCM_REC, "Alsa capture device"}, {T_PERIOD, "Period time [ms]"}, {T_BUFFER, "Buffer time [ms]"}, {T_ALSA_MIXER, "Alsa mixer device"}, {T_CAPTURE, "Capture source"}, {T_DSP, "OSS DSP"}, {T_MIXER, "OSS mixer"}, {T_RECSRC, "Record source"}, {T_PA_PLAY, "Portaudio playback device"}, {T_PA_REC, "Portaudio capture device"}, {T_HOSTNAME, "Hostname:"}, {T_SLASHKEY, "Slash key"}, {T_FIXQRG, "Fix QRG"}, {T_HK_FIXQRG, "X"}, {T_ENTER_QRG, "Enter accurate QRG [Hz]"}, {T_BAD_QRG, "Bad frequency"}, {T_CALLSIGN3, "Callsign"}, {T_CALLSIGN_KST, "KST station's callsign:"}, {T_CANT_INIT_WINKEY_S, "Can't init winkey on %s"}, {T_WINKEYOPTS, "Winkey options"}, {T_WK_WK2, "Winkey2 fast initialization"}, {T_WK_USEPOT, "Use speed pot"}, {T_WK_USEBUT, "Use buttons"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Bug"}, {T_WK_SWAP, "Paddle swap (left handled)"}, {T_RIGOPTS, "Rig options"}, {T_HK_RIGOPTS, "G"}, {T_RIG_DEVICE, "Device:"}, {T_RIG_MODEL, "Rig model: "}, {T_RIG_SPEED, "Baudrate: "}, {T_RIG_CIV, "CIV address (hex):"}, {T_RIG_FREQSHIFT, "Freq. shift SSB->CW"}, {T_RIG_CHOOSE, "Choose"}, {T_ROTAROPTS, "Rotar options"}, {T_HK_ROTAROPTS, "I"}, {T_DSSAVER, "Disable screensaver"}, {T_DESC, "Description"}, {T_ROT_NONE, "None"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA serial"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA USB"}, {T_ROT_HAMLIB, "Hamlib"}, {T_ROT_REMOTE, "Remote"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Serial #"}, {T_ROT_ADD, "Add new rotator"}, {T_HK_ROT_ADD, "W"}, {T_ROT_REMOVE, "Remove rotator"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "Beam width:"}, {T_SADDR, "Communication address:"}, {T_MODEL, "Hamlib model:"}, {T_ROT_REM_ROTSTR, "Rotator letter for remote"}, {T_QSOGLOB, "Global QSO NR"}, {T_PREFGLOB, "Global PREF"}, {T_NOT_RECORDING_S, "Not recording - %s"}, {T_SKEDCOUNT, "Sked count in popup: "}, {T_FONTHEIGHT, "Font height (16-32): "}, {T_RIG_POLL_MS, "Rig poll interval [ms]: "}, {T_RIG_QRG_R2T, "Set band from radio"}, {T_RIG_QRG_T2R, "Change band on radio"}, {T_RIG_MODE_T2R, "Change mode on radio"}, {T_RUN_MODE, "Run mode"}, {T_HK_RUN_MODE, "U"}, {T_SP_MODE, "S&P mode"}, {T_HK_SP_MODE, "M"}, {T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save"}, {T_RIG_DEBUG, "Debug rig"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Band QSO Point Mult"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Last Q-%s P-%s"}, {T_EVEN, "TX eVen"}, {T_HK_EVEN, "N"}, {T_ODD, "TX oDd"}, {T_HK_ODD, "D"}, {T_1ST, "TX 1st"}, {T_HK_1ST, "1"}, {T_2ND, "TX 2nd"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Score:"}, {T_EXPMODE, "Expedition mode"}, {T_TTTYPE, "Only digits mean"}, {T_ROT_POLL_MS, "Poll interval [ms]:"}, {T_VERSION, "Version"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, " Remote host name:"}, {T_REMOTE_PORT, " Remote TCP port:"}, {T_REMOTE_PASS, " Remote Password:"}, {T_STARTING_AC, "Starting AS"}, {T_STOPPING_AC, "Stopping AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Speed:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Durat: %ld"}, {T_EXPORTING_S, "Exporting %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s"}, {T_EXPORTING, "Exporting ..."}, {T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables"}, {T_LOADING_CHARTS, "Loading charts"}, {T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control"}, {T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in"}, {T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi"}, {T_CANT_CREATE_PIPE, "Can't create pipe"}, {T_TERMINATING_CWDAEMON, "Terminating CW/PTT control"}, {T_INIT_CWDB, "Initializing WWL database"}, {T_TERM_CWDB, "Terminating WWL database"}, {T_LOADING_CWDB, "Loading WWL database"}, {T_QRV_ON, "QRV on: "}, {T_CANT_INIT_FTDI, "Can't init ftdi library for davac4"}, {T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s"}, {T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s"}, {T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s"}, {T_INIT_SOUNDCARD, "Initializing soundcard"}, {T_NO_OSS, "OSS support not compiled in"}, {T_NO_ALSA, "Alsa support not compiled in"}, {T_NO_PORTAUDIO, "portaudio support not compiled in"}, {T_NO_SNDFILE, "Libsndfile support not compiled in"}, {T_NO_SNDPIPE, "Sndpipe support not compiled in"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Initializing DXCC database"}, {T_FREE_DWDB, "Terminating DXCC database"}, {T_LOAD_DWDB, "Loading DXCC database"}, {T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n"}, {T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n"}, {T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n"}, {T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n"}, {T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n"}, {T_CALL_ON_BAND_S, "Callsign on band %s is %s\n"}, {T_LOCATOR_ON_BAND, "Locator on band %s is %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO check list\n"}, {T_CALL_SN, " Call: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Date: %s\n"}, {T_CHECKING_S, "Checking %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Seems to be O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s not found\n"}, {T_0X_NOT_IN_DB, " 0x (not in database)"}, {T_NAME_IS, "Name: %s's name is %s\n"}, {T_NAME_UNKNOWN, "Name: %s's name is unknown\n"}, {T_INIT_DXC, "Initializing DXcluster"}, {T_FREE_DXC, "Terminating DXcluster"}, {T_HK_SELECT, "S"}, {T_HIDE, "Hide"}, {T_HK_HIDE, "H"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Use"}, {T_HK_USE, "U"}, {T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n"}, {T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n"}, {T_HOST_RESOLVED, "*** Host resolved "}, {T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n"}, {T_CONNECTING_TO, "*** Connecting to %s ***\n"}, {T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Connected socket %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Disconnected ***\n"}, {T_RESOLVING, "*** Resolving %s ***\n"}, {T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s"}, {T_SAVED, "Saved %s"}, {T_LOADING_CONTEST, "Loading contest %s"}, {T_LOADING_LOGFILE, "Loading logfile"}, {T_LOADING_TALK, "Loading talk"}, {T_SEARCH_FILES, "Search for contest files"}, {T_LOADING_BAND, "Loading band %s"}, {T_LOADING_SPY, "Loading spy"}, {T_LOADING_HICALLS, "Loading hicalls"}, {T_LOADING_QRV, "Loading qrv"}, {T_LOADING_CHART, "Loading chart"}, {T_SAVING_CONTEST, "Saving contest"}, {T_UPD_INT_DATA, "Updating internal data"}, {T_CALC_STATS, "Calculating statistics"}, {T_ANN_OVER_NET, "Announcing over network"}, {T_ACTIVATING_BAND, "Activating band %s"}, {T_UPDATING_WKD, "Updating worked calls"}, {T_UPDATING_QRBQTF, "Updating QRB&QTF"}, {T_UPDATING_GAIN, "Updating gain chart"}, {T_SEN_OVER_NET, "Sending info over network"}, {T_INIT_EXCDB, "Initializing exchange database"}, {T_FREE_EXCDB, "Terminating exchange database"}, {T_INIT_FFT, "Initializing FFT analyse"}, {T_FREE_FFT, "Terminating FFT analyse"}, {T_INIT_ROTAR, "Initializing rotator control"}, {T_FREE_ROTAR, "Terminating rotator control"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Points"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initializing HTTP server"}, {T_FREE_HTTPD, "Terminating HTTP server"}, {T_NO_CONTEST_OPENED, "

No contest opened

\n"}, {T_NO_CONTEST_OPENED2, "No contest opened"}, {T_STATS, "Statistics"}, {T_BAND_NOT_FOUND, "Band not found"}, {T_BAND_C_NOT_FOUND, "

Band %c not found

"}, {T_QSOS_IN_DATABASE, "qsos in database"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online log"}, {T_DATE2, "Date"}, {T_UTC, "UTC"}, {T_CALL, "Call"}, {T_CALL_NOT_FOUND, "Call not found"}, {T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d"}, {T_FREE_TERM, "Terminating terminal"}, {T_TERM_KEYMAPS, "Terminating keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh mistake"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Sked - ask for"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Message"}, {T_HK_MESSAGE, "M"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n"}, {T_RESOLVED, "*** Resolved "}, {T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sending /sh us ...\n"}, {T_SKIP_LINE, "Skip line %d '%s'"}, {T_CANT_CREATE_HOME, "Can't create home directory '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s"}, {T_INIT_MAP, "Initializing polar map"}, {T_DISABLE_SAVER, "Disabling screensaver"}, {T_STARTING_TUCNAK, "Starting Tucnak"}, {T_FREE_MAP, "Terminating polar map"}, {T_INIT_MASTERDB, "Initializing master database"}, {T_FREE_MASTERDB, "Terminating master database"}, {T_LOAD_MASTERDB, "Loading master database"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s"}, {T_DIRECTORY_SCAN, "Directory scan"}, {T_V3_COMPATIBILITY, " (v3 compatibility)"}, {T_RELOAD_INTERFACES, "Reload interfaces"}, {T_SET_READONLY, "Set read-only"}, {T_CHANGE_TYPE, "Change type"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Open connection"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Kill connection"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Export to text file"}, {T_ADD_CONTEST, "Add contest"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Add file(s)"}, {T_HK_ADD_FILES, "F"}, {T_ADD_CONTESTS, "Add contests"}, {T_HK_ADD_CONTESTS, "O"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Int.error test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Dump RW bands and hashes"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Update Tucnak"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Settings"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "Voip spy"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "End voip spy"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest is old, spy is not available"}, {T_NETWORK_SCAN, "Network scan"}, {T_HTTPD_OPTIONS, "HTTPD options"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter options"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR options"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Other:"}, {T_NONE, "None "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "Unused "}, {T_USED_6, "Used (6)"}, {T_OPT_6, "Opt. (6)"}, {T_USED_4, "Used (4)"}, {T_OPT_4, "Opt. (4)"}, {T_FREE, "Free "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Verified"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Confirm WWL"}, {T_CONFIRM_EXC, "Confirm EXC"}, {T_FONT_SIZE, "Font size: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, " SLOVHF user:"}, {T_SDR, "SDR"}, {T_PARPORT, "parport"}, {T_TTYS, "ttys"}, {T_TTYSSINGLE, "ttys single pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystem:"}, {T_PLAYBACK_VOLUME, "Playback volume"}, {T_CAPTURE_VOLUME, "Capture volume"}, {T_ENABLE_REMOTE_CONNECT, "Enable remote connect"}, {T_TRACE_RIG, "Trace rig"}, {T_TRACE_KEYS, "Trace keys"}, {T_SAVE_RESTART, "You must save configuration and restart Tucnak"}, {T_FULLSCREEN, "Fullscreen"}, {T_TOUCH, "Use touch control"}, {T_ALT_QWER, "Alt turns QWER.. to 1234.."}, {T_NO_LOCKS, "No device locks"}, {T_PORTRAIT_ORIENTATION, "Portrait orientation"}, {T_REVERSE, "Reverse"}, {T_CHOOSE_RIG, "Choose rig"}, {T_RIG_D, "Rig %d"}, {T_NEW_RIG, "New rig"}, {T_ENABLED, "Enabled"}, {T_SET_PTT_ON_RADIO, "Set PTT on radio"}, {T_DISABLED, " (disabled)"}, {T_ADD_RIG, "Add rig"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Enable"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Show private information"}, {T_REFRESH, "Refresh interval:"}, {T_LOAD_FROM_NET, "Load from network"}, {T_LOAD_CWDB, "Load C_W database"}, {T_LOAD_NAMEDB, "Load Name database"}, {T_LOAD_QRVDB, "Load QRV database"}, {T_READONLY_BANDS, "Read-only bands"}, {T_ENABLE_AC, "Enable AS"}, {T_AC_URL, "Alternative URL for flightradar data"}, {T_K_FACTOR, "Troposphere k_factor"}, {T_AC_AREA_WIDTH, "Reflection area width in km"}, {T_AC_EL_ANGLE, "Minimal elevation angle"}, {T_AC_MAX_EL_ANGLE, "Maximal elevation angle"}, {T_AC_MIN_DURATION, "Minimal reflection duration in sec"}, {T_AC_MAX_DIFF, "Max difference of incidence and reflection angles"}, {T_BAD_NUMBER_RANGE, "Bad number range"}, {T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate"}, {T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder"}, {T_NO_DEVICE, "No device"}, {T_IQ_SOURCE, "IQ source:"}, {T_WAV_FILE, "WAV file"}, {T_WAV_FILE_NAME, "WAV file name"}, {T_AF_OUTPUT, "AF output:"}, {T_AF_SAMPLE_RATE, "AF sample rate"}, {T_BLOCK_SIZE, " Block size"}, {T_CW_FILTER, " CW filter"}, {T_TO_HZ, "to [Hz]"}, {T_SSB_FILTER, " SSB filter"}, {T_INIT_NAMEDB, "Initializing name database"}, {T_FREE_NAMEDB, "Terminating name database"}, {T_LOAD_NAMEDB2, "Loading name database"}, {T_INIT_NET, "Initializing network"}, {T_FREE_NET, "Terminating network"}, {T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s"}, {T_TIME_WAS_SET, "Time was set"}, {T_FAILED_TO_SET_TIME, "Failed to set time"}, {T_INIT, "INIT"}, {T_CONNECTING, "CONNECTING"}, {T_CONNECTED, "CONNECTED"}, {T_WAIT_ACK, "WAIT_ACK"}, {T_DISCONNECTED2, "DISCONNECTED"}, {T_DEAD, "DEAD"}, {T_LONG_XFER, "LONG_XFER"}, {T_AUTHENTICATED_USER_S, "Authenticated user %s"}, {T_BAD_AUTHENTICATION_S, "Bad authentication %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT"}, {T_LONG_TRANSFER_FINISHED, "Long transfer finished"}, {T_INIT_NTP, "Initializing NTP monitor"}, {T_FREE_NTP, "Terminating NTP monitor"}, {T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP"}, {T_INIT_SPEAKER, "Initializing PC speaker"}, {T_FREE_SPEAKER, "Terminating PC speaker"}, {T_CANT_PLAY, "Can't play %s - %s"}, {T_CANT_SEEK_TO_END, "Can't seek to end %s - %s"}, {T_CANT_SEEK_TO_START, "Can't seek to start %s - %s"}, {T_CANT_OPEN, "Can't open %s %s"}, {T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Can't set %s to EPP mode %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s"}, {T_CANT_CLAIM, "Can't claim %s %s"}, {T_INIT_QRVDB, "Initializing QRV database"}, {T_FREE_QRVDB, "Terminating QRV database"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Loading qrvs"}, {T_UNSPECIFIED, "unspecified"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n"}, {T_FOUND_D_ERRORS, "Found %d error%s while reading %s"}, {T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net"}, {T_REGISTRATED_ROTATORS, "Registrated rotators:"}, {T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread"}, {T_INIT_ROTARS2, "Initializing rotators"}, {T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n"}, {T_ROTAR_ERROR_S, "Rotar error: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe"}, {T_CANT_READ_FROM, "Can't read from"}, {T_CANT_WRITE_TO, "Can't write to"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Bad update file name"}, {T_CANT_EXECUTE_INSTALLER, "Can't execute installer, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed"}, {T_UPDATE_FAILED, "Update failed"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s"}, {T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install."}, {T_NO_NEW_VER, "No new version available."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests..."}, {T_CHOOSE_CONTEST, "Choose contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload"}, {T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form..."}, {T_ALL_EDI_FILES_PROCESSED, "All EDI files processed."}, {T_UPLOADING_LOG_FILE_S, "Uploading log file %s ..."}, {T_UPLOADING_BAND_S, "Uploading band %s"}, {T_CONFIRMING_LOG, "Confirming log..."}, {T_RESULT_ERROR, "*** Result: ERROR please read error message above"}, {T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores..."}, {T_LOGS_UPLOADED, "Logs uploaded."}, {T_HTTP_STATUS, "HTTP status: "}, {T_LOG_UPLOAD, "Log upload"}, {T_VOIP_NO_INITIALIZED, "VOIP no initialized"}, {T_PAGE_NAME, "Page name"}, {T_OVERWRITE_EXISTING_FILES, "Overwrite existing files"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Password"}, {T_EXPORT_MAP, "Export map"}, {T_EXPORT_CHART, "Export chart"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki upload"}, {T_BAD_AUTH_USER, "Bad auth user %s != %s"}, {T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame"}, {T_CANT_GET_FMTS, "Can't get supported audio formats: %s"}, {T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s"}, {T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s"}, {T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s"}, {T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s"}, {T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s"}, {T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d"}, {T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s"}, {T_RECORD2, "record"}, {T_PLAYBACK, "playback"}, {T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s"}, {T_CANT_STOP_PA, "Can't stop PortAudio stream: %s"}, {T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s"}, {T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\""}, {T_CANT_SET_STROBE, "Can't set parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error"}, {T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n"}, {T_INIT_SERIAL_DEVICES, "Initializing serial devices"}, {T_BAD_CHECKSUM, "Bad checksum"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Bad response"}, {T_UNKNOWN_FUNCTION, "Unknown function"}, {T_UNKNOWN_ERROR_CODE, "Unknown error code"}, {T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n"}, {T_WAIT_FOR_SDR_THR, "Waiting for SDR thread"}, {T_QSO_REQ_FROM_SP, " QSO request from S&P "}, {T_QSO_REQ_SENT, " QSO request sent to RUN "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Location unknown"}, {T_DEGREE, "deg"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe"}, {T_INIT_SSB_CQ, "Initializing SSB CQ"}, {T_FREE_SSB_CQ, "Terminating SSB CQ"}, {T_NO_FILE, "No file specified"}, {T_UNSUP_CHANNELS, "Unsupported number of channels = %d"}, {T_FLOAT_UNSUPP, "Float point files are not supported"}, {T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing"}, {T_REC_DISABLED, "recording disabled"}, {T_CONTEST_TOO_OLD, "contest too old"}, {T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Error writing file %s: %s"}, {T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording"}, {T_NO_DISK_SPACE, "Not enough free disk space for file"}, {T_CANT_PLAY_FILE, "Can't play file %s - %s"}, {T_CANT_WRITE_SS, "Can't write to file %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded"}, {T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template"}, {T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n"}, {T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***"}, {T_LOADING_S, "Loading %s"}, {T_INVALID_WINDOW_TYPE, "invalid window type %d\n"}, {T_INIT_RIG, "Initializing rig control %d"}, {T_RIG_ERROR, "Rig error: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n"}, {T_FREE_RIG, "Terminating rig control %d"}, {T_WAIT_FOR_RIG_THR, "Waiting for rig thread"}, {T_INVALID_PARAM, "Invalid param."}, {T_RIG_INVALID_CONFIG, "Invalid config."}, {T_RIG_NOT_ENOUGH_MEM, "Not enough mem."}, {T_RIG_NOT_IMPLEMENTED, "Not implemented"}, {T_RIG_COMM_TIMEOUT, "Comm. timeout"}, {T_RIG_IO_ERROR, "IO error"}, {T_RIG_INTERNAL_ERROR, "Internal error"}, {T_PROTOCOL_ERROR, "Protocol error"}, {T_RIG_COMMAND_REJECT, "Command reject."}, {T_RIG_ARG_TRUNCATED, "Arg. truncated"}, {T_RIG_F_NOT_AVAILABLE, "F not available"}, {T_RIG_VFO_NOT_TARGET, "VFO not target."}, {T_RIG_ERROR_ON_BUS, "Error on bus"}, {T_RIG_BUS_COLLISION, "Bus collision"}, {T_RIG_INVALID_ARG, "Invalid arg."}, {T_RIG_INVALID_VFO, "Invalid VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg out of dom."}, {T_ERROR_D, "Error %d"}, {T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Can't set graphics mode"}, {T_WAIT_SDL_THR, "Waiting for SDL event thread"}, {T_FREE_GRAPHICS, "Terminating graphics"}, {T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s"}, {T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s"}, {T_CANT_READ_LOG_FILE, "Can't read log file %s"}, {T_CANT_UPLOAD_LOG, "Can't upload log: %s"}, {T_CANT_CONFIRM_LOG, "Can't confirm log: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s"}, {T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Date:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Points:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Can't upload file: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s"}, {T_FILE_ALREADY_EXISTS, "File already exists: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s"}, {T_CANT_EDIT_PAGE, "Can't edit page: %s"}, {T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s"}, {T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s"}, {T_EDITING_CONTEST_PAGE, "Editing contest page..."}, {T_ALL_DONE, "All done."}, {T_UPLOADING_FILE, "Uploading file %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s"}, {T_QUERYING_EDIT_TOKEN, "Querying edit token"}, {T_CANT_LOGIN, "Can't log in (2): %s"}, {T_CANT_LOGIN2, "Can't log in (2), wiki says: %s"}, {T_CANT_LOGIN1, "Can't log in (1): %s"}, {T_LOGGING_IN, "Logging in..."}, {T_EXPORTING_FILES, "Exporting files..."}, {T_INIT_WIZZ, "Initializing contest wizard"}, {T_FREE_WIZZ, "Terminating contest wizard"}, {T_LOAD_WIZZ_DATA, "Loading contest wizard data"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Contest phase"}, {T_HK_PHASE, "H"}, {T_ENTER_PHASE, "New contest phase: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_czech [] = { {0, NULL}, {T__CHAR_SET, "iso8859-2"}, {T__LANGUAGE, "Czech"}, {T_ABOUT, "O programu"}, {T_BAD_NUMBER, "Chybn slo"}, {T_BAD_STRING, "Chybn etzec"}, {T_BASIC_HELP, "Stiskni F10 pro vstup do menu."}, {T_BLOCK_CURSOR, "Blokov kurzor"}, {T_CANCEL, "Zruit"}, {T_CHARACTER_SET, "Znakov sada"}, {T_COLOR, "Barviky"}, {T_COPYING, "Koprovn"}, {T_DIFFERENCE, "rozdl"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Opravdu chce ukonit Tuka?"}, {T_EMPTY_STRING_NOT_ALLOWED, "Przdn etzec nen povolen"}, {T_ERROR, "Chyba"}, {T_WARNING, "Varovn"}, {T_EXIT, "mitec"}, {T_EXIT_TUCNAK, "Ukonen Tuka"}, {T_FILE, "Soubor"}, {T_FULL_SCREEN, "Cel obrazovka"}, {T_HELP, "Pomoc"}, {T_HK_ABOUT, "O"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "Z"}, {T_HK_COPYING, "P"}, {T_HK_EXIT, "E"}, {T_HK_FILE, "S"}, {T_HK_FULL_SCREEN, "C"}, {T_HK_HELP, "C"}, {T_HK_LANGUAGE, "J"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "N"}, {T_HK_TERMINAL_OPTIONS, "E"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "O"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "Rmeky KOI8-R"}, {T_LANGUAGE, "Jazyk"}, {T_LAST, "posledn"}, {T_LINUX_OR_OS2_FRAMES, "Rmeky typu Linux nebo OS/2"}, {T_MEMORY_INFO, "Informace o pamti"}, {T_NO_FRAMES, "Bez rmek"}, {T_NO, "Ne"}, {T_NUMBER_EXPECTED, "Oekvm slo"}, {T_NUMBER_OUT_OF_RANGE, "islo je mimo rozsah"}, {T_OK, "OK"}, {T_OS_SHELL, "Pkazov dka"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Omezen rmeky v cp850/852"}, {T_UTF_8_IO, "UTF-8 vstup/vstup"}, {T_SCREEN, "Screen"}, {T_SETUP, "Nastaven"}, {T_TERMINAL_OPTIONS, "Nastaven terminlu"}, {T_TUCNAK__TACLOG_LIKE, "Tuk " VERSION_STRING "\n\nTACLOGu podobn denk pro VKV/mikrovlnn zvody"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Pouvat ^[[11m"}, {T_VT_100_FRAMES, "Rmeky VT 100"}, {T_WELCOME1, "Vt T Tuk!"}, {T_WELCOME2, "Prosm zadej svou znaku a loktor:"}, {T_WELCOME, "Vtej"}, {T_XTERM, "Xterm"}, {T_YES, "Ano"}, {T_CANT_APPEND_S, "Nelze pidat na konec souboru %s"}, {T_CANT_WRITE, "Nelze zapsat do souboru"}, {T_CANT_WRITE_S, "Nelze zapsat do souboru %s"}, {T_CANT_READ, "Nelze pesto soubor"}, {T_CANT_READ_S, "Nelze pest soubor %s"}, {T_SAVED_S, "Uloeno %s"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - rychlost CW "}, {T_CANT_OPEN_S, "Nelze otevt %s"}, {T_CANT_LOCK, "Nelze zamknout soubor"}, {T_CANT_LOCK_S, "Nelze zamknout soubor %s"}, {T_LOADING_CTEST_S, "*** Naten zvod %s"}, {T_NO_FILES, "Neexistuj dn soubory"}, {T_BAND_EXIST_SS, "POZOR! Psmo %s (%s) u existuje"}, {T_BAND_NOT_OPEN, "Psmo nen v tomto zvodu aktivni"}, {T_NO_BANDS, "Neexistuji dn psma"}, {T_CANT_SET_GR_S, "Nelze nastavit grafick md %s"}, {T_GCALL, "Znaka: %s"}, {T_GWWL, "Loktor: %s"}, {T_GQRB, "Vzdlen.: %d km"}, {T_GQTF, "hel: %d st"}, {T_GSEN, "Odeslno: %s %s"}, {T_GRCV, "Pijato: %s %s"}, {T_GTIM, "as: %s"}, {T_GOPE, "Opertor: %s"}, {T_GREM, "Poznmka: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "Zisk azim:%d"}, {T_GLON, "Dl: %7.2f %-6s"}, {T_GLAT, ": %7.2f %-6s"}, {T_GLOC, "Lok: %s"}, {T__PLESE_WAIT_, " Prosm o chvli strpen "}, {T__RO_BAND, " PSMO POUZE KE TEN"}, {T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVerze " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nTento program je svobodn software; me ho it a/nebo pozmovat podle ustanoven Obecn veejn licence GNU, vydan Free Software Foundation; a to verze 2 a ve tto licence."}, {T_CTEST_ACTIVE, "Ji existuje aktivn zvod "}, {T_NO_CTESTS, "dn zvody"}, {T_NO_CCLOSE, "Nen co zavrat"}, {T_REALLY, "Opravdu?"}, {T_CLOSE_CTEST, "Opravdu chce zavt tento zvod?"}, {T_GUI_LD, "Uiv. prosted: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw poloek, %d wc poloek, posledn %d\n"}, {T_EXC, "Exc: %s %d exc poloek, %d exc poloek, posledn %d\n"}, {T_VEXC, "Kontrolovan EXC: %d poloek\n"}, {T_DWI, "D_W: %d prefix, %d zem DXCC, %d tverc\n"}, {T_NAMES, "Names: %d jmen\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Pam:"}, {T_NMY, " J: %s:%d\n"}, {T_NGLOBAL, "Hlav.f: %s:%d\n"}, {T_NMASTER, " f: "}, {T_NREMOTE, "Vzdlen: "}, {T_NSLAVES, "\nPodzen:\n"}, {T_NINFO, "Sov informace"}, {T_NO_BANDS_QRV, "dn aktivn psma"}, {T_NO_BANDS_CONF, "dn psma"}, {T_NOT_AVAILABLE, "Nepstupn"}, {T_ADD_SUBWIN, "Pidat okno"}, {T_HK_ADD_SUBWIN, "P"}, {T_CLOSE_SUBWIN, "Zavt okno"}, {T_HK_CLOSE_SUBWIN, "Z"}, {T_HK_NINFO, "S"}, {T_NEW, "Nov"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Prvodce novm zvodem"}, {T_HK_NEW_WIZZ, "P"}, {T_NEW_NET, "Nov ze st"}, {T_HK_NEW_NET, "S"}, {T_OPEN, "Otevt"}, {T_HK_OPEN, "O"}, {T_SAVE, "Uloit"}, {T_HK_SAVE, "U"}, {T_EXPORT_EDI, "Exportovat do EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Exportovat do reportu (VKVPA)"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Exportovat do ADIFu"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Exportovat do CBR"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Exportovat do HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Exportovat do MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Importovat EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Importovat ADIF"}, {T_HK_IMPORT_ADIF, "F"}, {T_IMPORT_SWAP, "Importovat swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Import txt seznamu"}, {T_HK_IMPORT_LIST, "X"}, {T_CONTEST_OP, "Nastaven zvodu"}, {T_HK_CONTEST_OP, "N"}, {T_CLOSE_CONTEST, "Zavt zvod"}, {T_HK_CLOSE_CONTEST, "Z"}, {T_ADD_ERROR, "Pidat chybn spojen"}, {T_HK_ADD_ERROR, "H"}, {T_CHOP, "Zmna opertora"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Aktualizovat C_W ze zvodu"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Aktualizovat C_W z psma"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Aktualizovat EXC ze zvodu"}, {T_HK_EXC_CTEST, "P"}, {T_EXC_BAND, "Aktualizovat EXC z psma"}, {T_HK_EXC_BAND, "D"}, {T_IMPORT_EBW, "Importovat DL8EBW databzi"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "Zvod nen"}, {T_NO_PEERS, "Dal Tuci nenalezeni"}, {T_NO_MASTER, "f je nedostupn!"}, {T_CTEST_DEF, "Nastaven zvodu"}, {T_HK_CTEST_DEF, "Z"}, {T_BAND_DEF, "Nastaven psem"}, {T_HK_BAND_DEF, "P"}, {T_HK_RESPOP, "V"}, {T_CW_DAEMON, "Klovn CW"}, {T_HK_CW_DAEMON, "K"}, {T_CW_CQ, "CW vzvy"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB vzvy"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Automatick ukldn"}, {T_HK_AUTOSAVE, "M"}, {T_LOAD_CFG_NET, "Nast nastaven ze st"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Nast C_W ze st"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Uloit nastaven"}, {T_HK_SAVE_CFG, "U"}, {T_CONTEST, "Zvod"}, {T_HK_CONTEST, "Z"}, {T_EDIT, "Edit"}, {T_HK_EDIT, "E"}, {T_BANDS, "Psma"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Okna"}, {T_HK_SUBWINS, "O"}, {T_BAND_SETTINGS_SC, "Nastaven pro psmo %c %s"}, {T_QRV_ON_THIS_BAND, "QRV na tomto psmu"}, {T_QRV_IN_THIS_CTEST, "QRV v tomto zvod"}, {T_READ_ONLY, "Pouze ke ten"}, {T_MULTI, "Multi"}, {T_SINGLE, "Single"}, {T_CHECK, "Check"}, {T_TXEQUIP, " Vys. zazen:"}, {T_POWER, " Vkon:"}, {T_RXEQUIP, " Pjm. zaz.:"}, {T_ANTENNA, " Antna:"}, {T_AGLASL, "vka zem;moe:"}, {T_OPS, " Opertoi:"}, {T_SPACES1, " "}, {T_REMARKS, " Poznmky:"}, {T_OK_SECTION_SINGLE, "Kategorie Single v OK"}, {T_OK_SECTION_MULTI, "Kategorie Multi v OK"}, {T_QRG_MIN, "Hranice psma od"}, {T_QRG_MAX, "do [kHz]"}, {T_ADIFBAND, "Nzev psma pro ADIF"}, {T_SKEDQRG, "Frek. pro skedy (lib. formt)"}, {T_BAND_LO, "LO transvertoru [Hz]"}, {T_BANDSW, "Hodnota pepnae psem"}, {T_RESPOP, "Zodpovdn opertor"}, {T_NAME, "Jmno Pjm:"}, {T_CALLSIGN, " Znaka:"}, {T_ADDRESS, " Adresa:"}, {T_POSTCODE, " PS:"}, {T_CITY, " Msto:"}, {T_COUNTRY, " Stt:"}, {T_PHONE, " Telefon:"}, {T_BBSEMAIL, " E-mail:"}, {T_QP0, " --nic -- "}, {T_QP1, " 1 QSOp*QSOp_m (Standardn IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK Provozn aktiv)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltsk zvody)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltsk & seversk poln den)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (distrikty)"}, {T_QP13, "13 kontinent (CQ WW DX Contest)"}, {T_QP14, "14 kontinent+psmo (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --none -- "}, {T_TP1, " 1 Nsoben (Std. IARU)"}, {T_TP2, " 2 Stan (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "Nov zvod"}, {T_CANT_TRUNC, "Nelze zkrtit soubor s popisem zvodu"}, {T_NAME_OF_CTEST, "Nzev zvodu:"}, {T_CALL_OF_CTEST, "Znaka v zvodu:"}, {T_CLUB_ST, "Klubov znaka:"}, {T_YOURWWL, "Tvj WWL:"}, {T_YOUREXC, "Tvj EXC:"}, {T_DATE_OF_CTEST, "Datum zvodu:"}, {T_QSOUSED, "QSO NR pouito"}, {T_QSOPM, " QSOp nsob.:"}, {T_WWLUSED, "WWL pouito"}, {T_WWLB, "WWL bonus:"}, {T_WWLM, "WWL nsob.:"}, {T_EXCUSED, "EXC pouito"}, {T_EXCB, " EXC bonus:"}, {T_EXCM, "EXC nsob.:"}, {T_EXCNAME, " EXC jmno:"}, {T_PREFM, "PREF nsob:"}, {T_DXCB, " DXC bonus:"}, {T_DXCM, "DXC nsob.:"}, {T_RSTUSED, "RST pouito"}, {T_DEFRS, " Pednast.RS:"}, {T_DEFRST, "Pednast.RST:"}, {T_ALSORSTR, "Tak pro RST-R"}, {T_QP_CALC, " Vpoet QSOp:"}, {T_TO_CALC, "Vpoet celku:"}, {T_EDI_PROP, "EDI poloky"}, {T_RESPOP2, "Odpovdn opertor"}, {T_EDIT_QSO_CD, "Editace spojen %c: %03d"}, {T_CALLSIGN2, " Znaka:"}, {T_CLUB, " Klub:"}, {T_PADR1, " PAdr1:"}, {T_PADR2, " PAdr2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Opertor:"}, {T_DATE, " Datum:"}, {T_MODE, " Md:"}, {T_RSTS, "Odes.RST:"}, {T_RSTR, "Pij.RST:"}, {T_QSONRS, "Ode.spoj:"}, {T_QSONRR, "Pi.spoj:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " tverec:"}, {T_REMARK, "Poznmka:"}, {T_QRV2, " QRV on:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Poslat sked"}, {T_SELECT, "Vbr "}, {T_QRG, "Frekvence:"}, {T_WE_CALL, "J volm"}, {T_BAND, " Psmo:"}, {T_TIME, " as:"}, {T_DUPE_QSO, "Duplicitn QSO!"}, {T_CLEAR_THIS_QSO, "Smazat toto QSO"}, {T_EDIT_OLD_QSO, "Editovat star QSO"}, {T_MARK_OLD_QSO, "Oznait star QSO jako ERROR"}, {T_STORE_AS_DUPE, "Uloit toto jako DUPE"}, {T_BAD_CALL, "Tohle nevypad jako znaka"}, {T_N_CALLSIGN, "\nZnaka:"}, {T_AUTOSAVE_OPTS, "Automatick ukldn"}, {T_SAVE_AQ, "Uloit na disk po potu spojen: "}, {T_SAVE_AM, "Uloit na disk po potu minut: "}, {T_FSYNC, "Synchronizovat cache s diskem"}, {T_SAVE_AQF, "Uloit na disketu po potu spojen: "}, {T_SAVE_AMF, "Uloit na disketu po potu minut: "}, {T_DO_MOUNT, "Pipojit disketu pokud nen v /etc/mtab (N/A)"}, {T_FLOPPY_PATH, "Cesta k disket:"}, {T_MOUNT_CMD, "Pkaz pro pipojen (N/A): "}, {T_SW_SHELL, "Pk"}, {T_SW_QSOS, "Spoj"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Talk"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Nedok"}, {T_SW_DXC, "DXC"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Mapa"}, {T_SW_SCOPE, "Osc"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Peh"}, {T_SW_CHART, "Graf"}, {T_SHELL, "Pkazov dek"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Talk (rozhovor)"}, {T_SKEDS, "Skedy (dumluven spojen)"}, {T_UNFI, "Nedokonen spojen"}, {T_DXC, "DX Cluster"}, {T_STAT, "Statistiky"}, {T_SWAP, "Swap (N/A)"}, {T_MAP, "Grafick mapa"}, {T_SCOPE, "Osciloskop"}, {T_QRV, "QRV list"}, {T_HF, "KV spojen"}, {T_KST, "KST chat"}, {T_CMD, "Pkaz"}, {T_RESPAWN, "Znovusputn [sek]:"}, {T_UNFI_QSO, "Nedokonen spojen"}, {T_N_REMARK, "\nPoznmka:"}, {T_NO_CQ, "Neexistuj dn vzvy"}, {T_TEXT, "Text:"}, {T_SPEED, "Rychlost [WPM]:"}, {T_REPEAT, "Opakovn"}, {T_DELAY, "ekn [0.1s]:"}, {T_ALLOW_UNDEF, "Povolit i kdy je nkter poloka nevyplnn"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Soubor:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "UDP port:"}, {T_DEVICE, "Klovac zazen:"}, {T_INIT_SPEED, "Poten rychlost [WPM]:"}, {T_INIT_WEIGHT, "Vha CW (30-70):"}, {T_WPMFROM, "Rychlost WPM od"}, {T_WPMTO, "do"}, {T_USE_SPK, "Pout PC speaker"}, {T_LEADIN, "Pedstih PTT [ms]"}, {T_AUTGIVE, "V reimu Run dvat po [znaky]"}, {T_IGN_IFACE_S, "Ignoruji sov rozhran %-5s"}, {T_IGN_ADDR_S, "Ignoruji adresu %s"}, {T_ADD_IFACE_SSD, "Pidno rozhran=%-5s vesmr=%s:%d"}, {T_FORCED_ADDR, "Adresa navc %s"}, {T_TIMESKEW, "POZOR! Detekovn pli velk rozdl asu %d oproti %s:%d !\n"}, {T_DISCONNECTING_SD, "Odpojuji od %s:%d"}, {T_ACCEPTED_SD, "Akceptovno spojen od %s:%d (%s)"}, {T_CONNECTING_SD, "Pipojuji k %s:%d"}, {T_CONNECTED_SD, "Pipojeno k %s:%d"}, {T_DISCONNECTED_SD, "Odpojen od %s:%d"}, {T_LOADED_CFG_SSSS, "Nateno nastaven pro %s %s (%s,%s)"}, {T_LOADED_CW, "Natena C_W databze"}, {T_PEER_NOT_FOUND, "CHYBA! Tuk %s nenalzen"}, {T_CANT_CREATE_HOME_S, "Nelze vytvoit adres %s"}, {T_CANT_LOAD_CFG, "Nelze nast konfiguraci!\nProgram neme pracovat sprvn!"}, {T_ERR_RC, "Dolo k chyb pi ten konfigurku!\nSoubor byl pravdpodobn uloen novjm Tukem !\nRadji neukldej konfiguraci nebo pijde o data v konfigurku!"}, {T_SES_QTR, " as "}, {T_SES_QRA, " Znaka "}, {T_SES_RST, " RST-O- RST-P- "}, {T_SES_QTH, " tverec "}, {T_SES_QRB, "Body/vzd hel"}, {T_SES_FLG, " Pzn"}, {T_SES_OPE, " Oper "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Poznmka "}, {T_SES_WELCOME, "Vt t Tuk! "}, {T_SES_PRESS_F10, "Stiskni F10 pro vstup do menu. "}, {T_SES_HAVE_FUN, "Uij si."}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "Spoj Spoj-b OptX Locs Zem Celkem-b Prm"}, {T_SES_AVG, "Prm: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " tverce: %d"}, {T_SF_WWLS_UNDER, "----------------"}, {T_SF_EXCS, " EXC poloky: %d"}, {T_SF_EXCS_UNDER, "--------------------"}, {T_SF_MISS_EXCS, " Chybjc EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " Prefixy: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " Zem DXCC: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " Dlan loktory: %d"}, {T_SF_WKD_WWLS_UNDER, "----------------------"}, {T_SF_QSO_WWL4, " Spojen do velkch loktor: %d"}, {T_SF_QSO_WWL4_UNDER, "-----------------------------------"}, {T_SF_STATS_BAND, " Statistiky pro psmo %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Zvod: %s"}, {T_SF_ALLBQSOS, "Spojen na vech psmech: %d"}, {T_SF_ALLBQSOP, "Body za spojen na vech psmech: %d"}, {T_SF_ALLBPTS, "Celkov poet bod: %d"}, {T_SF_QSOS, "Spojen: %d"}, {T_SF_VQSO, "Platn spojen: %d"}, {T_SF_QSOP, "Body za spojen: %d"}, {T_SF_PTS, "Body: %d"}, {T_SF_AVG_PTS, "Prmer bod/spojen: %5.2f"}, {T_SF_AVG_QSOP, "Prmr bod za spojen/spojen: %5.2f"}, {T_BAND_RO, "Psmo je pouze ke ten"}, {T_THIS_BAND, "Toto psmo"}, {T_OTHER_BANDS, "Ostatn psma"}, {T_CW_DB, "C_W databze"}, {T_PROC_EXITED, "*** Proces skonil\n"}, {T_WE_CALL2, "my volme"}, {T_WE_LISTEN, "my poslouchme"}, {T_QSL, "Slben QSL"}, {T_RECORD, " Nahrvn provozu"}, {T_MAXMIN, "Max. doba nahrvn"}, {T_TEMPLATE, "ablona pro nahrvan soubor"}, {T_PCM8, "8 bitov PCM"}, {T_PCM16, "16 bitov PCM"}, {T_ULAW, "u-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Poet kanl"}, {T_SAMPLERATE, "Vzorkovac frekvence"}, {T_FILLOP, "Vypl znaky opertor"}, {T_HK_FILLOP, "V"}, {T_RECAQRB, "Pepoti QRB,QTF"}, {T_HK_RECAQRB, "P"}, {T_NETWORK, "S a trasovn"}, {T_HK_NETWORK, "T"}, {T_IF_IGNORE, "Ignorovat interfejsy:"}, {T_IP_IGNORE, " Ignorovat podst:"}, {T_IP_ANNOUNCE, " Annoncovat do st:"}, {T_TRACE_BCAST, "Trasovat broadcasty "}, {T_TRACE_SOCK, "Trasovat sockety"}, {T_TRACE_RECV, "Trasovat pijat data"}, {T_TRACE_SEND, "Trasovat odeslan data"}, {T_TRACE_QSOS, "Trasovat spojen"}, {T_TRACE_SDEV, "Trace rotars"}, {T_NOT_MOUNTED_S, "Svazek nepipojen %s"}, {T_RECSRC_NONE, "Nenastavovat"}, {T_RECSRC_MIC, "Mikrofon"}, {T_RECSRC_LINE, "Linkov vstup"}, {T_NEW_CALL, "Nov!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV na %s"}, {T_SKED_QRG, "QRG pro skedy"}, {T_HK_SKED_QRG, "G"}, {T_N_SKED_QRG, "\nQRG pro skedy:"}, {T_GRAB_BAND, "Pevzt psmo"}, {T_HK_GRAB_BAND, "P"}, {T_FORCE_RUN, "RUN md nsiln"}, {T_HK_FORCE_RUN, "R"}, {T_EXPORT_STATS, "Exportovat statistiky"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX spojen:"}, {T_SF_TOP_DX_UNDER, "----------------------"}, {T_ROTAR, "Rottor"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimut"}, {T_ELEVATION, "Elevace"}, {T_CH_SPY, "pehovn"}, {T_HK_CH_SPY, "E"}, {T_CH_ENDSPY, "Konec pehovn"}, {T_HK_CH_ENDSPY, "N"}, {T_EXPORT_TITLPAGE, "Exportovat tituln strnku"}, {T_HK_EXPORT_TITLPAGE, "L"}, {T_BREAK_RECORD, "Ukonit nahrvn"}, {T_HK_BREAK_RECORD, "U"}, {T_GLOBAL_OPERATOR, "Zmnit na vech psmech"}, {T_GLOBAL_OPERATOR2, "Globln"}, {T_MAXFRAG, "Max. poet fragment (>=2)"}, {T_PLAY_LAST, "Pehrt posledn nahrvku"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Rzn nastaven"}, {T_HK_MISCOPTS, "R"}, {T_LOGLINES, "dky logu: "}, {T_SKEDSHIFT, "Posuv skedu (minuty): "}, {T_STARTBAND, "Psmo po startu: "}, {T_GFX_X_CH, "Rozlien (znaky):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Rozlien (body):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Informace o znace"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSO/hod: %d"}, {T_SF_QSOP_HOUR, "Body/hod: %d"}, {T_SF_QSOP_50QSO, "Body/posl. 50 QSO: %d"}, {T_SF_HOURS, " Hodiny"}, {T_SF_HOURS_UNDER, "----------"}, {T_SF_HOURS_TITLE, "Hodiny Body Spojen prmr bod/QSO"}, {T_QSO_CHECK, "Kontrola spojen"}, {T_HK_QSO_CHECK, "K"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "A"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Minimln msto na disku [MiB]"}, {T_FORMAT, "Formt zznamu"}, {T_PCM_PLAY, "Alsa pehrvn"}, {T_PCM_REC, "Alsa zznam"}, {T_PERIOD, "Trvn periody [ms]"}, {T_BUFFER, "Trvn bufferu [ms]"}, {T_ALSA_MIXER, "Alsa mixer"}, {T_CAPTURE, "Zdroj zznamu"}, {T_DSP, "Cesta k /dev/dsp"}, {T_MIXER, "Cesta k /dev/mixer"}, {T_RECSRC, "Zdroj pro zznam"}, {T_PA_PLAY, "Portaudio pehrvn"}, {T_PA_REC, "Portaudio zznam"}, {T_HOSTNAME, "Jmno stroje:"}, {T_SLASHKEY, "Klvesa pro lomtko"}, {T_FIXQRG, "Kalibrovat frekvenci"}, {T_HK_FIXQRG, "K"}, {T_ENTER_QRG, "Zadej pesnou frekvenci QRG [Hz]"}, {T_BAD_QRG, "Chybn zadan frekvence"}, {T_CALLSIGN3, "Znaka"}, {T_CALLSIGN_KST, "Znaka stanice na KST:"}, {T_CANT_INIT_WINKEY_S, "Nelze inicializovat winkey na %s"}, {T_WINKEYOPTS, "Nastaven Winkey"}, {T_WK_WK2, "Rychl inicializace Winkey2"}, {T_WK_USEPOT, "Pout potenciometr"}, {T_WK_USEBUT, "Pout tlatka"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Run kl"}, {T_WK_SWAP, "Prohodit pastiku (levk)"}, {T_RIGOPTS, "Rdio"}, {T_HK_RIGOPTS, "I"}, {T_RIG_DEVICE, "Port:"}, {T_RIG_MODEL, "Hamlib model"}, {T_RIG_SPEED, "Baudov rychlost: "}, {T_RIG_CIV, "Adresa CI-V (hex)"}, {T_RIG_FREQSHIFT, "Frek. posun SSB->CW"}, {T_RIG_CHOOSE, "Vybrat"}, {T_ROTAROPTS, "Rottory"}, {T_HK_ROTAROPTS, "O"}, {T_DSSAVER, "Vypnout spoi obrazovky"}, {T_DESC, "Popis"}, {T_ROT_NONE, "Nic"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA sr. port"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA USB"}, {T_ROT_HAMLIB, "Hamlib"}, {T_ROT_REMOTE, "Remote"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Sr. slo #"}, {T_ROT_ADD, "Pidat nov rottor"}, {T_HK_ROT_ADD, "P"}, {T_ROT_REMOVE, "Smazat rottor"}, {T_HK_ROT_REMOVE, "S"}, {T_TIMEOUT, "asov limit:"}, {T_BEAMWIDTH, "ka laloku"}, {T_SADDR, "Komunikan adresa:"}, {T_MODEL, "Model:"}, {T_ROT_REM_ROTSTR, "Psmeno pro vzdlen rottor"}, {T_QSOGLOB, "Globln slo spojen"}, {T_PREFGLOB, "Globl prefix"}, {T_NOT_RECORDING_S, "Nezaznamenv se - %s"}, {T_SKEDCOUNT, "Poet sked v popup okn: "}, {T_FONTHEIGHT, "Vka fontu (16-32): "}, {T_RIG_POLL_MS, "Interval dotaz [ms]: "}, {T_RIG_QRG_R2T, "Zmnit psmo z rdia"}, {T_RIG_QRG_T2R, "Zmnit psmo na rdiu"}, {T_RIG_MODE_T2R, "Zmnit md na rdiu"}, {T_RUN_MODE, "Run md"}, {T_HK_RUN_MODE, "U"}, {T_SP_MODE, "Vyhledvac md"}, {T_HK_SP_MODE, "V"}, {T_RIG_CLR_RIT, "Smazat RIT po uloen QSO v reimu Run"}, {T_RIG_DEBUG, "Chybov vpis rdia"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Psmo QSO Body Nso"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Posl. Q-%s B-%s"}, {T_EVEN, "TX sud"}, {T_HK_EVEN, "S"}, {T_ODD, "TX lich"}, {T_HK_ODD, "L"}, {T_1ST, "TX prvn periodu"}, {T_HK_1ST, "P"}, {T_2ND, "TX druh perioda"}, {T_HK_2ND, "D"}, {T_HF_SCORE, "Skre:"}, {T_EXPMODE, "Expedin md"}, {T_TTTYPE, "Jen slice jsou"}, {T_ROT_POLL_MS, "Interval dotaz [ms]:"}, {T_VERSION, "Verze"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, " Vzdlen stroj:"}, {T_REMOTE_PORT, "Vzdlen TCP port:"}, {T_REMOTE_PASS, " Vzdlen heslo:"}, {T_STARTING_AC, "Spoutm A/C"}, {T_STOPPING_AC, "Ukonuji A/C"}, {T_ASL_5D_M, "Vka: %5d m"}, {T_SPEED4D_KMH, "Rychlost:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Trvn: %ld"}, {T_EXPORTING_S, "Exportuji %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Nelze otevt zvukovku Alsa '%s': %s"}, {T_EXPORTING, "Exportuji ..."}, {T_TERMINATING_CONVERSION_TABLES, "Ukonuji konverzn tabulky"}, {T_LOADING_CHARTS, "Natm grafy"}, {T_INITIALIZING_CWPTT_CONTROL, "Inicializuji klovn CW/PTT"}, {T_NO_PPDEV, "Nen zakompilovna podpora pro klovn paralelnm portem"}, {T_NO_DAVAC4_SUPPORT, "Nen zakompilovna podpora pro Dva 4, zkontrolujte libftdi"}, {T_CANT_CREATE_PIPE, "Nelze vytvoit rouru"}, {T_TERMINATING_CWDAEMON, "Ukonuji klovn CW/PTT"}, {T_INIT_CWDB, "Inicializuji databazi loktor"}, {T_TERM_CWDB, "Ukonuji databzi loktor"}, {T_LOADING_CWDB, "Natm databzi loktor"}, {T_QRV_ON, "QRV na: "}, {T_CANT_INIT_FTDI, "Chyba pi inicializaci knihovny libftdi pro Dva 4"}, {T_CANT_OPEN_DAVAC4, "Nemohu otevt USB zazen %04x:%04x pro Dva 4, chyba %d %s"}, {T_CANT_SET_BAUDRATE, "Nemohu nastavit rychlost pro Dva 4, chyba=%d %s"}, {T_CANT_ENABLE_BITBANG, "Nemohu zapnout bitbang reim, chyba=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Chyba pi zpisu do Dvae 4, chyba=%d %s"}, {T_INIT_SOUNDCARD, "Inicializuji zvukovou kartu"}, {T_NO_OSS, "Podpora OSS nen zakompilovna"}, {T_NO_ALSA, "Podpora Alsa nen zakompilovna"}, {T_NO_PORTAUDIO, "Podpora Portaudio nen zakompilovna"}, {T_NO_SNDFILE, "Podpora Libsndfile nen zakompilovna"}, {T_NO_SNDPIPE, "Podpora pro Sndpipe nen zakompilovna"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Inicializuji DXCC databzi"}, {T_FREE_DWDB, "Ukonen DXCC databzi"}, {T_LOAD_DWDB, "Natm DXCC databzi"}, {T_CALLSIGN_UNKNOWN, "Znaka je neznm v C_W databzi\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Neznm DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Nesouhlas prefix and velk loktor\n"}, {T_KNOWN_CALL_UNK_LOC, "Znm znaka z neznmho loktoru\n"}, {T_CALL_WITHOUT_P, "Znaka je bez /P a v C_W existuje znaka s /P\n"}, {T_CALL_WITHOUT_D, "Znaka je bez /%d a v C_W existuje znaka s /%d\n"}, {T_CALL_IS_WITH_P_AND, "Znaka je s /P a v C_W existuje znaka bez /P nebo CEPT prefixu\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Nalezeny dal podobn znaky z tohoto loktoru. Mon %s?\n"}, {T_CALL_ON_BAND_S, "Znaka na psmu %s je %s\n"}, {T_LOCATOR_ON_BAND, "Loktor na psmu %s je %s\n"}, {T_QSO_CHECK_LIST, " Tuk - vpis kontroly spojen\n"}, {T_CALL_SN, " Znaka: %s\n"}, {T_CONTEST_SN, " Zvod: %s\n"}, {T_DATE_SN, " Datum: %s\n"}, {T_CHECKING_S, "Kontroluji %s"}, {T_BAND_C_SN, " Psmo %c %s\n"}, {T_SEEMS_TO_BE_OK, "Zd se bt O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s nenalezen\n"}, {T_0X_NOT_IN_DB, " 0x (nen v databzi)"}, {T_NAME_IS, "Jmno: %s - jmno je %s\n"}, {T_NAME_UNKNOWN, "Name: %s - jmno neznm\n"}, {T_INIT_DXC, "Inicializuji DX cluster"}, {T_FREE_DXC, "Ukonuji DX cluster"}, {T_HK_SELECT, "V"}, {T_HIDE, "Skrt"}, {T_HK_HIDE, "S"}, {T_INFO, "Informace"}, {T_HK_INFO, "I"}, {T_USE, "Pout"}, {T_HK_USE, "P"}, {T_BAD_DXC_PORT, "*** Chybn TCP port pro DX cluster %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Stiskni ENTER pro pipojen k DXC ***\n"}, {T_CANT_RESOLVE, "*** Nemohu zjistit IP adresu %s: %s ***\n"}, {T_HOST_RESOLVED, "*** IP adresa zjitna "}, {T_CANT_CREATE_SOCKET, "*** Nemohu vytvoit soket. %s ***\n"}, {T_CONNECTING_TO, "*** Pipojuji k %s ***\n"}, {T_CANT_CONNECT_TO, "*** Nemohu se pipojit k %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Pipojuji k soketu %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Chyba pi ten soketu: %s ***\n"}, {T_DISCONNECTED, "\n*** Odpojeno ***\n"}, {T_RESOLVING, "*** Zjiuji IP adresu %s ***\n"}, {T_LOADED_LOCS_NAMES, "Nateno %d loktor a %d jmen z %s"}, {T_SAVED, "Uloeno %s"}, {T_LOADING_CONTEST, "Natm zvod %s"}, {T_LOADING_LOGFILE, "Natm log"}, {T_LOADING_TALK, "Natm talk"}, {T_SEARCH_FILES, "Vyhledvm soubory se zvodem"}, {T_LOADING_BAND, "Natm psmo %s"}, {T_LOADING_SPY, "Natm mrovn"}, {T_LOADING_HICALLS, "Natm zvraznn"}, {T_LOADING_QRV, "Natm QRV databzi"}, {T_LOADING_CHART, "Natm grafy"}, {T_SAVING_CONTEST, "Ukldm zvod"}, {T_UPD_INT_DATA, "Aktualizuji intern data"}, {T_CALC_STATS, "Vypotvm statistiky"}, {T_ANN_OVER_NET, "Anoncuji po sti"}, {T_ACTIVATING_BAND, "Aktivuji psmo %s"}, {T_UPDATING_WKD, "Aktualizuji dlan znaky"}, {T_UPDATING_QRBQTF, "Aktualizuji vzdlenosti a azimuty"}, {T_UPDATING_GAIN, "Aktualizuji graf zisku"}, {T_SEN_OVER_NET, "Poslm informaci po sti"}, {T_INIT_EXCDB, "Spoutm EXC databzi"}, {T_FREE_EXCDB, "Ukonuji EXC databzi"}, {T_INIT_FFT, "Spoutm Fourierovu analzu"}, {T_FREE_FFT, "Ukonuji Fourierovu analzu"}, {T_INIT_ROTAR, "Spoutm rottory"}, {T_FREE_ROTAR, "Ukonuji rottory"}, {T_LOCATOR, "Loktor:"}, {T_BAND2, "Psmo"}, {T_POINTS, "Body"}, {T_AVG, "Prmr"}, {T_INIT_HTTPD, "Spoutm HTTP server"}, {T_FREE_HTTPD, "Ukonuji HTTP server"}, {T_NO_CONTEST_OPENED, "

dn zvod nen oteven

\n"}, {T_NO_CONTEST_OPENED2, "dn zvod nen oteven"}, {T_STATS, "Statistiky"}, {T_BAND_NOT_FOUND, "Psmo nenalezeno"}, {T_BAND_C_NOT_FOUND, "

Psmo %c nenalezeno

"}, {T_QSOS_IN_DATABASE, "spojen v databzi"}, {T_TUCNAK_ONLINE_LOG, "Tuk - online log"}, {T_DATE2, "Datum"}, {T_UTC, "UTC"}, {T_CALL, "Znaka"}, {T_CALL_NOT_FOUND, "Znaka nenalezena"}, {T_CANT_LOAD_INPOUT, "Chyba pi natn inpout32.dll, chyba %d"}, {T_FREE_TERM, "Ukonuji terminl"}, {T_TERM_KEYMAPS, "Ukonuji mapovn klves"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AkKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Omyl"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Sked - dost"}, {T_HK_ASK_FOR_SKED, "S"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Zprva"}, {T_HK_MESSAGE, "Z"}, {T_AC_INFO, "AS informace"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Posln sel po KST je zakzno\n"}, {T_RESOLVED, "*** IP adresa zjitna "}, {T_ENTER_TO_CONNECT_KST, "\n*** Stiskni ENTER pro pipojen k ON4KST ***\n"}, {T_SENDING_SH_US, "*** Poslm /sh us ...\n"}, {T_SKIP_LINE, "Peskakuji dek %d '%s'"}, {T_CANT_CREATE_HOME, "Chyba pi vytven domovskho adrese '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' mus bt adres (md 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Adres Tuka je %s"}, {T_INIT_MAP, "Spoutm polrn mapu"}, {T_DISABLE_SAVER, "Vypnm eti obrazovky"}, {T_STARTING_TUCNAK, "Startuji Tuka"}, {T_FREE_MAP, "Ukonuji polrn mapu"}, {T_INIT_MASTERDB, "Spoutm master databzi"}, {T_FREE_MASTERDB, "Ukonuji master databzi"}, {T_LOAD_MASTERDB, "Natm master databzi"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tuk SVN verze: %s\nLibzia SVN verze: %s"}, {T_DIRECTORY_SCAN, "Natn adrese"}, {T_V3_COMPATIBILITY, " (kompatibilita s v3)"}, {T_RELOAD_INTERFACES, "Nast rozhran"}, {T_SET_READONLY, "Psma pouze ke ten"}, {T_CHANGE_TYPE, "Zmnit typ"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Otevt pipojen"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Ukonit pipojen"}, {T_HK_KILL_CONNECTION, "U"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Exportovat do TXT"}, {T_ADD_CONTEST, "Pidat zvod"}, {T_HK_ADD_CONTEST, "P"}, {T_ADD_FILES, "Pidat soubor(y)"}, {T_HK_ADD_FILES, "S"}, {T_ADD_CONTESTS, "Pidat zvody"}, {T_HK_ADD_CONTESTS, "Z"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Test reakce na pd"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Test vnitn chyby"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Uloit hashe spojen"}, {T_HK_DUMP_RW_BANDS, "H"}, {T_UPDATE, "Aktualizovat program"}, {T_HK_UPDATE, "A"}, {T_SETTINGS, "Nastaven"}, {T_HK_SETTINGS, "N"}, {T_UPLOAD_TO_VHFNET, "Nahrt denky na Moravany"}, {T_HK_UPLOAD_TO_VHFNET, "M"}, {T_UPLOAD_TO_SLOVHF, "Nahrt live skre na slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Nahrt report na MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "O"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "VOIP mrovn"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "Konec VOIP mrovn"}, {T_HK_END_VOIP_SPY, "K"}, {T_OLD_TEST_NO_SPY, "Zvod je star, nelze mrovat"}, {T_NETWORK_SCAN, "Skenuji s"}, {T_HTTPD_OPTIONS, "Nastaven HTTPD"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Letadla (AS)"}, {T_HK_AC_OPTIONS, "L"}, {T_SDR_OPTIONS, "SDR nastaven"}, {T_HK_SDR_OPTIONS, "a"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Jin:"}, {T_NONE, "Nic "}, {T_RSTS2, "RST-Od"}, {T_RSTR2, "RST-P"}, {T_QSONRR2, "QSO-P"}, {T_EXC2, "EXC"}, {T_UNUSED, "Nepouit"}, {T_USED_6, "Poui.(6)"}, {T_OPT_6, "Volit.(6)"}, {T_USED_4, "Poui.(4)"}, {T_OPT_4, "Volit.(4)"}, {T_FREE, "Voln "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Oven"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Potvrdit WWL"}, {T_CONFIRM_EXC, "Potvrdit EXC"}, {T_FONT_SIZE, "Velikost fontu: "}, {T_DXC_HOSTNAME, "DXC stroj:"}, {T_TCP_PORT, "TCP port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC uivatel:"}, {T_PASSWORD, "Heslo:"}, {T_KST_USERNAME, "KST uivatel:"}, {T_KST_YOURNAME, "KST jmno:"}, {T_SLOVHF_USER, "SLOVHF uiv.:"}, {T_SDR, "SDR"}, {T_PARPORT, "paraleln"}, {T_TTYS, "sriov"}, {T_TTYSSINGLE, "sriov 1 pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystm:"}, {T_PLAYBACK_VOLUME, "Hlasitost pehrvn"}, {T_CAPTURE_VOLUME, "Hlasitost zznamu"}, {T_ENABLE_REMOTE_CONNECT, "Povolit pipojen ke vzdlenmu"}, {T_TRACE_RIG, "Trasovat rdio"}, {T_TRACE_KEYS, "Trasovat klvesy"}, {T_SAVE_RESTART, "Muste uloit konfiguraci a restartovat Tuka"}, {T_FULLSCREEN, "Na celou obrazovku"}, {T_TOUCH, "Dotykov ovldn"}, {T_ALT_QWER, "Alt pepne QWER.. na 1234.."}, {T_NO_LOCKS, "Nezamykat porty"}, {T_PORTRAIT_ORIENTATION, "Orientace na vku"}, {T_REVERSE, "Obrcen"}, {T_CHOOSE_RIG, "Vybrat rdio"}, {T_RIG_D, "Rdio %d"}, {T_NEW_RIG, "Nov rdio"}, {T_ENABLED, "Povoleno"}, {T_SET_PTT_ON_RADIO, "Zapnout PTT na rdiu"}, {T_DISABLED, " (zakzno)"}, {T_ADD_RIG, "Pidat rdio"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rottor %d"}, {T_ENABLE, "Povolit"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Zobrazit privtn informace"}, {T_REFRESH, "Interval obnoven"}, {T_LOAD_FROM_NET, "Nast ze st"}, {T_LOAD_CWDB, "Nast C_W databzi"}, {T_LOAD_NAMEDB, "Nast databzi jmen"}, {T_LOAD_QRVDB, "Nast QRV databzi"}, {T_READONLY_BANDS, "Psma pouze ke ten"}, {T_ENABLE_AC, "Povolit AS"}, {T_AC_URL, "Alternativn URL pro data z radaru"}, {T_K_FACTOR, "K_faktor troposfry"}, {T_AC_AREA_WIDTH, "ka odrazn oblasti v km"}, {T_AC_EL_ANGLE, "Minimln hel elevace"}, {T_AC_MAX_EL_ANGLE, "Maximln hel elevace"}, {T_AC_MIN_DURATION, "Minimln doba odraz [s]"}, {T_AC_MAX_DIFF, "Max. rozdl odrazovch hl"}, {T_BAD_NUMBER_RANGE, "Chybn rozsah sla"}, {T_AF_SRATE_GREATER_SRATE, "Vzork. kmit. audia neme bt vy ne vzork. kmitoet"}, {T_SRATE_DIVISIBLE, "Vzork. kmitoet mus bt dliteln audio vzork. kmitotem"}, {T_NO_DEVICE, "dn zazen"}, {T_IQ_SOURCE, "Zroj IQ signlu:"}, {T_WAV_FILE, "Soubor WAV"}, {T_WAV_FILE_NAME, "Jmno WAV souboru"}, {T_AF_OUTPUT, "Audio vstup:"}, {T_AF_SAMPLE_RATE, "Vzork. kmit. audia"}, {T_BLOCK_SIZE, " Velikost bloku"}, {T_CW_FILTER, " CW filtr od"}, {T_TO_HZ, "do [Hz]"}, {T_SSB_FILTER, " SSB filtr"}, {T_INIT_NAMEDB, "Spoutm databzi jmen"}, {T_FREE_NAMEDB, "Ukonuji databzi jmen"}, {T_LOAD_NAMEDB2, "Natm databzi jmen"}, {T_INIT_NET, "Spoutm s"}, {T_FREE_NET, "Ukonuji s"}, {T_ONLY_55555_CAN_REMOTE, "Pouze Tuk s portem 55555 se me pipojit ke vzdlenmu kvli prevenci routovacch smyek"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Nemohu se pipojit sm na sebe (rozhran lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Nemohu se pipojit sm na sebe (rozhran %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Nelze zjistit IP adresu vzdlenho Tuka %s"}, {T_TIME_WAS_SET, "as byl nastaven"}, {T_FAILED_TO_SET_TIME, "Chyba pi nastaven asu"}, {T_INIT, "INICIALIZUJI"}, {T_CONNECTING, "PIPOJUJI"}, {T_CONNECTED, "PIPOJENO"}, {T_WAIT_ACK, "EK.POTVRZ"}, {T_DISCONNECTED2, "ODPOJENO"}, {T_DEAD, "MRTV"}, {T_LONG_XFER, "DLOUH.PENOS"}, {T_AUTHENTICATED_USER_S, "Oven uivatel %s"}, {T_BAD_AUTHENTICATION_S, "Chyba oven %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Zaal dlouh penos, prosm EKEJTE"}, {T_LONG_TRANSFER_FINISHED, "Dlouh penos dobhl"}, {T_INIT_NTP, "Spoutm monitorovn NTP"}, {T_FREE_NTP, "Ukonuji monitorovn NTP"}, {T_NO_NTP, "POZOR! as na tomto stroji nen synchronizovn. Prosm pouijte NTP."}, {T_INIT_SPEAKER, "Spoutm PC speaker"}, {T_FREE_SPEAKER, "Ukonuji PC speaker"}, {T_CANT_PLAY, "Chyba pi pehrvn %s - %s"}, {T_CANT_SEEK_TO_END, "Chyba pi nastaven ukazatele na konec souboru %s - %s"}, {T_CANT_SEEK_TO_START, "Chyba pi nastaven ukazatele na zatek souboru %s - %s"}, {T_CANT_OPEN, "Chyba pi oteven %s %s"}, {T_TIP_MKNOD, "Tip: spuste jako root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: spoute jako root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Chyba pi pepnut %s do EPP mdu %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Chyba exkluzivnho pstupu k %s %s"}, {T_CANT_CLAIM, "Nelze zabrat %s %s"}, {T_INIT_QRVDB, "Spoutm QRV databzi"}, {T_FREE_QRVDB, "Ukonuji QRV databzi"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AkKst"}, {T_START, "Start"}, {T_DUR, "Trv"}, {T_NR, "s"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: azen, "}, {T_A_ALL, "A: ve"}, {T_ENTER_SPACE_EDIT, ", Enter, Mezera, E: editovat, Insert, Delete, U: obnovit, /: hledat"}, {T_LOAD_QRVS, "Natm QRV"}, {T_UNSPECIFIED, "nespecifikovno"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBo CWp"}, {T_CWS_SSBR, "CWo SSBp"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "Pidna chyba na psmo %c, slo spojen %d\n"}, {T_FOUND_D_ERRORS, "Dolo k %d chybm%s pi ten %s"}, {T_FOUND_D_ERRORS_RC_NET, "Dolo k %d chybm pi ten konfigurace ze st"}, {T_REGISTRATED_ROTATORS, "Registrovan rottory:"}, {T_UNSUPPORTED_ROTATOR, "Nepodporovan typ rottoru %d\n"}, {T_WAIT_HL_ROT_THREAD, "ekm na vlkno hamlib rottoru"}, {T_INIT_ROTARS2, "Spoutm rottory"}, {T_UNKNOWN_ROTAR, "Neznm rottor '%s'\n"}, {T_ROTAR_ERROR_S, "Chyba rottoru: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Chyba zznamu ze SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Chyba pehrvn na SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Chyba oteven (pehrvn) virtuln zvukovky"}, {T_CANT_READ_FROM, "Chyba ten z"}, {T_CANT_WRITE_TO, "Chyba zpisu do"}, {T_MULTIPLIED_WWLS_D, " Nsobiov loktory: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Aktualizace"}, {T_ENTER_TO_KST, "*** Stiskni ENTER pro pipojen k ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Chybn jmno aktualizanho balku"}, {T_CANT_EXECUTE_INSTALLER, "Chyba sputn instaltoru, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Aktualizace Tuka selhala"}, {T_UPDATE_FAILED, "Aktualizace selhala"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Aktualizace selhala, neznm formt odpovdi."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Aktualizace Tuka selhala. %s"}, {T_NEW_VERSION_AVAIL, "K dispozici je nov verze %s. Aktualizujte v menu Soubor, Aktualizace."}, {T_NO_NEW_VER, "Novj verze nen k dispozici."}, {T_READING_LIST_OF_OPENED_CONTESTS, "tu seznam otevench zvod..."}, {T_CHOOSE_CONTEST, "Vybrat zvod"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "Neexistuje zvod k uploadu"}, {T_OBTAINING_CONTEST_WEB_FORM, "Zskvm formul zvodu..."}, {T_ALL_EDI_FILES_PROCESSED, "Vechny EDI soubory byly zpracovny."}, {T_UPLOADING_LOG_FILE_S, "Uploaduji soubor denku %s ..."}, {T_UPLOADING_BAND_S, "Uploaduji psmo %s"}, {T_CONFIRMING_LOG, "Potvrzuji denk..."}, {T_RESULT_ERROR, "*** CHYBA, prosm pette si chybov hlen ve"}, {T_LOG_IS_NOT_VALID, "Denk nen platn. Prosm zkontrolujte chybov hlen a opakujte: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Natm nahlen vsledky..."}, {T_LOGS_UPLOADED, "Upload denk dokonen."}, {T_HTTP_STATUS, "Stav HTTP: "}, {T_LOG_UPLOAD, "Upload denku"}, {T_VOIP_NO_INITIALIZED, "VOIP nebylo inicializovno"}, {T_PAGE_NAME, "Nzev strnky"}, {T_OVERWRITE_EXISTING_FILES, "Pepsat existujc soubory"}, {T_SITE_URL, "URL webovch strnek"}, {T_USERNAME, "Uivatel"}, {T_PASSWORD2, " Heslo"}, {T_EXPORT_MAP, "Exportovat mapu"}, {T_EXPORT_CHART, "Exportovat graf"}, {T_MEDIAWIKI_UPLOAD2, "Upload na Mediawiki"}, {T_BAD_AUTH_USER, "Chybn uivatel %s != %s"}, {T_BAD_AUTH_PASS, "Chybn heslo %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Zvody nejsou stejn: Formt AC paketu"}, {T_CANT_GET_FMTS, "Chyba pi zjitn podporovanch audio formt: %s"}, {T_CANT_SET_FMT, "Chyba pi nastaven audio formtu %d, doporuen %d: %s"}, {T_CANT_SET_FMT_RET, "Chyba pi nastaven doporuenho audio formtu %d, vsledek %d: %s"}, {T_CANT_SET_FALLBACK, "Chyba pi nastaven nouzovho audio formtu %d, vsledek %d: %s"}, {T_CANT_SET_CHANNELS, "Chyba pi nastaven kanl %d, doporueno je %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Chyba pi nastaven doporuench kanl %d, vsledek %d: %s"}, {T_CANT_SET_RATE, "Chyba pi nastaven vzorkovn %d, doporueno %d: %s"}, {T_CANT_SET_RATE_RET, "Chyba pi nastaven doporuenho vzorkovn %d, vledek %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Chyba pi nastaven velikosti bloku %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Neznm zazen PortAudio %d"}, {T_CANT_OPEN_PA_STREAM, "Chyba pi oteven zazen PortAudio %d pro %s: %s"}, {T_RECORD2, "zznam"}, {T_PLAYBACK, "pehrvn"}, {T_CANT_PA_STREAM, "Chyba %s zazen PortAudio %d: %s"}, {T_CANT_STOP_PA, "Chyba pi zastaven zazen PortAudio: %s"}, {T_CANT_CLOSE_PA, "Chyba pi zaven zazen PortAudio: %s"}, {T_TIP_RMMOD, "Tip: zkuste spustit jako root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: nebo zabijte procesy vypsan \"lsof %s\""}, {T_CANT_SET_STROBE, "Chyba pi nastaven parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Neznm slo rottoru %d nebo chyba inicializace"}, {T_CANT_CREATE_HL_ROT_THR, "Nelze vytvoit vlkno pro rottor\n"}, {T_INIT_SERIAL_DEVICES, "Spoutm sriov zazen"}, {T_BAD_CHECKSUM, "Chybn kontr. souet"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Chybn odpov"}, {T_UNKNOWN_FUNCTION, "Neznm funkce"}, {T_UNKNOWN_ERROR_CODE, "Neznm chybov kd"}, {T_CANT_CREATE_SDR_THR, "Chyba pi vytven vlkna pro SDR\n"}, {T_WAIT_FOR_SDR_THR, "ekm na ukonen vlkna SDR"}, {T_QSO_REQ_FROM_SP, " dost o QSO od S&P "}, {T_QSO_REQ_SENT, " dost o QSO poslna RUNu "}, {T_GO, " Je! "}, {T_LOCATION_UNKNOWN, "Neznm poloha"}, {T_DEGREE, "st."}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s v %-6s (%dkm, %d%s) v %s %s"}, {T_CANT_OPEN_FILE_S_S, "Chyba pi oteven souboru '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Chyba pi oteven zvukov roury"}, {T_INIT_SSB_CQ, "Spoutm SSB vzvy"}, {T_FREE_SSB_CQ, "Spoutm SSB vzvy"}, {T_NO_FILE, "Soubor nebyl specifikovn"}, {T_UNSUP_CHANNELS, "Nepodporovan poet kanl = %d"}, {T_FLOAT_UNSUPP, "Soubory v plovouc dov rce nejsou podporovny"}, {T_CANT_OPEN_DSP_PLAY, "Chyba pi pehrvn na DSP %s"}, {T_REC_DISABLED, "zznam zakzn"}, {T_CONTEST_TOO_OLD, "zvod je pli star"}, {T_NO_FREE_DISK_SPACE, "Nedostatek volnho msta na disku pro %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Chyba pi zpisu do souboru %s: %s"}, {T_CANT_OPEN_DSP_REC, "Chyba pi zznamu z DSP %s"}, {T_NO_DISK_SPACE, "Nedostatek volnho msta na disku pro soubor"}, {T_CANT_PLAY_FILE, "Chyba pi pehrt souboru %s - %s"}, {T_CANT_WRITE_SS, "Chyba pi zpisu do souboru %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "Neexistuje dn posledn nahrvka"}, {T_NO_MACRO_IN_TEMPLATE, "V SSB ablon chyb makro %%"}, {T_NEW_WINDOWS_3, "Pozor, od verze 3.00 existuj typy oken speciln pro DX cluster a ON4KST.\nPoskytuj mnohem lep funknost ne shell.\n\n"}, {T_ENTER_TO_DXC2, "*** Stiskni ENTER pro pipoje k DXC ***"}, {T_LOADING_S, "Natm %s"}, {T_INVALID_WINDOW_TYPE, "Chybn typ okna %d\n"}, {T_INIT_RIG, "Spoutm ovldn rdia %d"}, {T_RIG_ERROR, "Chyba rdia: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Chyba pi vytven vlkna pro rdio\n"}, {T_FREE_RIG, "Ukonuji ovldn rdia %d"}, {T_WAIT_FOR_RIG_THR, "ekm na vlkno rdia"}, {T_INVALID_PARAM, "Neplat.parametr"}, {T_RIG_INVALID_CONFIG, "Chy.konfigurace"}, {T_RIG_NOT_ENOUGH_MEM, "Nedostat.pamti"}, {T_RIG_NOT_IMPLEMENTED, "Neimplementovn"}, {T_RIG_COMM_TIMEOUT, "Timeout pkazu"}, {T_RIG_IO_ERROR, "Chyba I/O "}, {T_RIG_INTERNAL_ERROR, "Vnitn chyba "}, {T_PROTOCOL_ERROR, "Chyba protokolu"}, {T_RIG_COMMAND_REJECT, "Pkaz odmtnut"}, {T_RIG_ARG_TRUNCATED, "Argume. zkrcen"}, {T_RIG_F_NOT_AVAILABLE, "Funk.nedostupn"}, {T_RIG_VFO_NOT_TARGET, "VFO neexistuje "}, {T_RIG_ERROR_ON_BUS, "Ch. na sbrnici"}, {T_RIG_BUS_COLLISION, "Kolize sbrnice"}, {T_RIG_INVALID_ARG, "Neplat.argument"}, {T_RIG_INVALID_VFO, "Chybn VFO "}, {T_RIG_ARG_OUT_OF_DOM, "Arg.mimo domnu"}, {T_ERROR_D, "Chyba %d"}, {T_CANT_SET_GRAPHICS1, "Chyba pi nastaven grafickho reimu (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Chyba pi nastaven grafickho reimu"}, {T_WAIT_SDL_THR, "ekm na SDL vlkno"}, {T_FREE_GRAPHICS, "Ukonuji grafick reim"}, {T_CANT_GET_LIST_OF_CONTESTS, "Chyba pi stahovn seznamu zvod: %s"}, {T_CANT_GET_UPLOAD_FORM, "Chyba pi stahovn formule: %s"}, {T_CANT_READ_LOG_FILE, "Chyba pi ten souboru s denkem %s"}, {T_CANT_UPLOAD_LOG, "Chyba pi uploadu denku: %s"}, {T_CANT_CONFIRM_LOG, "Chyba pi potvrzen denku: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Chyba pi stahovn deklarovanch vsledk: %s"}, {T_ANT_OPEN_DSP_PLAY, "Chyba pi pehrvn na DSP %s"}, {T_CALL2, "Znaka:"}, {T_QTH, "QTH:"}, {T_DATE3, "Datum:"}, {T_QSOS2, "Spojens:"}, {T_POINTS2, "Body:"}, {T_WWLS, "Loktory:"}, {T_DXCCS, "DXCC:"}, {T_AVG2, "Prm:"}, {T_PTSQSO, "bod/qso"}, {T_TOP_10_CALLS, "Top 10 znaek"}, {T_OPERATOR2, "Opertor"}, {T_MODE2, "Md"}, {T_TOP_10_WWLS, "Top 10 loktor"}, {T_CANT_UPLOAD_FILE_S, "Chyba pi uploadu souboru: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Chyba pi uploadu strnky, wiki vrtila: %s"}, {T_FILE_ALREADY_EXISTS, "Soubor ji existuje: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Chyba pi uploadu strnky, wiki vrtila: %s"}, {T_CANT_EDIT_PAGE, "Chyba pi editaci strnky: %s"}, {T_CANT_EDIT_PAGE_RET, "Chyba pi editaci strnky, wiki vrtila: %s"}, {T_CANT_EDIT_PAGE_RET2, "Chyba pi editaci strnky, wiki vrtila: %s"}, {T_EDITING_CONTEST_PAGE, "Edituji strnku se zvodem..."}, {T_ALL_DONE, "Ve dokoneno."}, {T_UPLOADING_FILE, "Uploaduji soubor %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Neznm soubor pro upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Chyba pi zskvn editanho tokenu: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Chyba pi zskvn editanho tokenu, wiki vrtila: %s"}, {T_QUERYING_EDIT_TOKEN, "Zskvm editan token"}, {T_CANT_LOGIN, "Chyba pi pihlen (2): %s"}, {T_CANT_LOGIN2, "Chyba pi pihlen (2), wiki vrtila: %s"}, {T_CANT_LOGIN1, "Chyba pi pihlen (1): %s"}, {T_LOGGING_IN, "Pihlauji..."}, {T_EXPORTING_FILES, "Exportuji soubory..."}, {T_INIT_WIZZ, "Spoutm contest wizard"}, {T_FREE_WIZZ, "Terminating prvodce zvody"}, {T_LOAD_WIZZ_DATA, "Natm data pro prvodce zvody"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Fze zvodu"}, {T_HK_PHASE, "F"}, {T_ENTER_PHASE, "Nov fze zvodu: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_slovak [] = { {0, NULL}, {T__CHAR_SET, "iso8859-2"}, {T__LANGUAGE, "Slovak"}, {T_ABOUT, "O programe"}, {T_BAD_NUMBER, "Chybn slo"}, {T_BAD_STRING, "Chybn reazec"}, {T_BASIC_HELP, "Stla F10 pre vstup do menu."}, {T_BLOCK_CURSOR, "Blokov kurzor"}, {T_CANCEL, "Zrui"}, {T_CHARACTER_SET, "Znakov sada"}, {T_COLOR, "Farbiky"}, {T_COPYING, "Koprovanie"}, {T_DIFFERENCE, "rozdiel"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Urite chce ukonit Tuka?"}, {T_EMPTY_STRING_NOT_ALLOWED, "Przdny reazec nie je povolen"}, {T_ERROR, "Chyba"}, {T_WARNING, "Varovanie"}, {T_EXIT, "Koniec"}, {T_EXIT_TUCNAK, "Ukonenie Tuka"}, {T_FILE, "Sbor"}, {T_FULL_SCREEN, "Cel obrazovka"}, {T_HELP, "Pomoc"}, {T_HK_ABOUT, "O"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "Z"}, {T_HK_COPYING, "P"}, {T_HK_EXIT, "E"}, {T_HK_FILE, "S"}, {T_HK_FULL_SCREEN, "C"}, {T_HK_HELP, "P"}, {T_HK_LANGUAGE, "J"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "S"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "O"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "Rmeky KOI8-R"}, {T_LANGUAGE, "Jazyk"}, {T_LAST, "posledn"}, {T_LINUX_OR_OS2_FRAMES, "Rmeky typu Linux alebo OS/2"}, {T_MEMORY_INFO, "Informcie o pamti"}, {T_NO_FRAMES, "Bez rmekov"}, {T_NO, "Nie"}, {T_NUMBER_EXPECTED, "Oakvm slo"}, {T_NUMBER_OUT_OF_RANGE, "islo je mimo rozsah"}, {T_OK, "OK"}, {T_OS_SHELL, "Prkazov riadok"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Ohranien rmeky v cp850/852"}, {T_UTF_8_IO, "UTF-8 Vstup/Vstup"}, {T_SCREEN, "Screen"}, {T_SETUP, "Nastavenia"}, {T_TERMINAL_OPTIONS, "Nastavenia terminlu"}, {T_TUCNAK__TACLOG_LIKE, "Tuk " VERSION_STRING "\n\nTACLOGu podobn dennk pre VKV/mikrovlnn preteky"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Pouva ^[[11m"}, {T_VT_100_FRAMES, "Rmeky VT 100"}, {T_WELCOME1, "Vt T Tuk!"}, {T_WELCOME2, "Prosm zadaj svoju znaku a loktor:"}, {T_WELCOME, "Vitaj"}, {T_XTERM, "Xterm"}, {T_YES, "no"}, {T_CANT_APPEND_S, "Nemono prida na koniec sboru %s"}, {T_CANT_WRITE, "Nemono zapsa do sboru"}, {T_CANT_WRITE_S, "Nemono zapsa do sboru %s"}, {T_CANT_READ, "Nemono preta sbor"}, {T_CANT_READ_S, "Nemono preta sbor %s"}, {T_SAVED_S, "Uloen %s"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - rchlos CW "}, {T_CANT_OPEN_S, "Nemono otvori %s"}, {T_CANT_LOCK, "Nemono zamkn sbor"}, {T_CANT_LOCK_S, "Nemono zamkn sbor %s"}, {T_LOADING_CTEST_S, "*** Natan pretek %s"}, {T_NO_FILES, "Neexistuj iadn sbory"}, {T_BAND_EXIST_SS, "POZOR! Psmo %s (%s) u existuje"}, {T_BAND_NOT_OPEN, "Psmo nie je v tomto preteku aktvne"}, {T_NO_BANDS, "Neexistuj iadn psma"}, {T_CANT_SET_GR_S, "Nemono nastavi grafick md-%s"}, {T_GCALL, "Znacka: %s"}, {T_GWWL, "Stvorec: %s"}, {T_GQRB, "Vzdial.: %d km"}, {T_GQTF, "Uhol: %d st"}, {T_GSEN, "Odoslane: %s %s"}, {T_GRCV, "Prijate: %s %s"}, {T_GTIM, "Cas: %s"}, {T_GOPE, "Operator: %s"}, {T_GREM, "Pozn: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "Zisk azim:%d"}, {T_GLON, "Dlz: %7.2f %-6s"}, {T_GLAT, "Sir: %7.2f %-6s"}, {T_GLOC, "Lok: %s"}, {T__PLESE_WAIT_, " Prosim o chvilu strpenia "}, {T__RO_BAND, " PSMO LEN PRE TANIE"}, {T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVerzia " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nTento program je slobodn softvr; me ho it a/alebo pozmeova poda ustanoven Obecnej verejnej licencie GNU, vydanej Free Software Foundation; a to verzie 2 a vyej tejto licencie."}, {T_CTEST_ACTIVE, "U existuje aktvny pretek "}, {T_NO_CTESTS, "iadn preteky"}, {T_NO_CCLOSE, "Nie je o zavrie"}, {T_REALLY, "Urite?"}, {T_CLOSE_CTEST, "Naozaj chce zavrie tento pretek?"}, {T_GUI_LD, "Uv. prostredie: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw poloiek, %d wc poloiek, posledn %d\n"}, {T_EXC, "Exc: %s %d exc poloek, %d exc poloek, posledn %d\n"}, {T_VEXC, "Kontrolovan EXC: %d poloek\n"}, {T_DWI, "D_W: %d prefixov, %d zem DXCC, %d tvorcov\n"}, {T_NAMES, "Names: %d mien\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Pam:"}, {T_NMY, " Ja: "}, {T_NGLOBAL, "Hl.f: "}, {T_NMASTER, " f: "}, {T_NREMOTE, "Remote: "}, {T_NSLAVES, "\nPodriaden:\n"}, {T_NINFO, "Sieov informcie"}, {T_NO_BANDS_QRV, "iadn aktvne psma"}, {T_NO_BANDS_CONF, "iadn psma"}, {T_NOT_AVAILABLE, "Nedostupn"}, {T_ADD_SUBWIN, "Prida okno"}, {T_HK_ADD_SUBWIN, "P"}, {T_CLOSE_SUBWIN, "Zavrie okno"}, {T_HK_CLOSE_SUBWIN, "Z"}, {T_HK_NINFO, "S"}, {T_NEW, "Nov"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Sprievodca novm pretekom"}, {T_HK_NEW_WIZZ, "P"}, {T_NEW_NET, "Nov ze st"}, {T_HK_NEW_NET, "S"}, {T_OPEN, "Otvori"}, {T_HK_OPEN, "O"}, {T_SAVE, "Uloi"}, {T_HK_SAVE, "U"}, {T_EXPORT_EDI, "Exportova do EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Exportova do reportu (VKVPA)"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Exportova do ADIFu"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Export as ADIF"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Exportova do HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Export as MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Importova EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Importovat ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Importovat swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Import list"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Voby poas preteku"}, {T_HK_CONTEST_OP, "O"}, {T_CLOSE_CONTEST, "Zavrie pretek"}, {T_HK_CLOSE_CONTEST, "Z"}, {T_ADD_ERROR, "Prida chybn spojenie"}, {T_HK_ADD_ERROR, "E"}, {T_CHOP, "Zmena opertora"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Aktualizova C_W z preteku"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Aktualizova C_W z psma"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Aktualizovat EXC ze zvodu"}, {T_HK_EXC_CTEST, "P"}, {T_EXC_BAND, "Aktualizovat EXC z psma"}, {T_HK_EXC_BAND, "D"}, {T_IMPORT_EBW, "Importova DL8EBW db."}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "iadn pretek"}, {T_NO_PEERS, "al Tuci nenjden"}, {T_NO_MASTER, "f je nedostupn!"}, {T_CTEST_DEF, "Nastavenie preteku"}, {T_HK_CTEST_DEF, "R"}, {T_BAND_DEF, "Nastavenie psiem"}, {T_HK_BAND_DEF, "P"}, {T_HK_RESPOP, "O"}, {T_CW_DAEMON, "Klovn CW"}, {T_HK_CW_DAEMON, "M"}, {T_CW_CQ, "CW vzvy"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB vzvy"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Automatick ukladanie"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Nata nastavenie zo siete"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Nata C_W zo siete"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Uloi nastavenia"}, {T_HK_SAVE_CFG, "U"}, {T_CONTEST, "Pretek"}, {T_HK_CONTEST, "R"}, {T_EDIT, "Edit"}, {T_HK_EDIT, "E"}, {T_BANDS, "Psma"}, {T_HK_BANDS, "P"}, {T_SUBWINS, "Okn"}, {T_HK_SUBWINS, "O"}, {T_BAND_SETTINGS_SC, "Nastavenie pre psmo %c %s"}, {T_QRV_ON_THIS_BAND, "QRV na tomto psme"}, {T_QRV_IN_THIS_CTEST, "QRV v tomto preteku"}, {T_READ_ONLY, "Len na tanie"}, {T_MULTI, "Multi"}, {T_SINGLE, "Single"}, {T_CHECK, "Check"}, {T_TXEQUIP, " Vys. zariadenie:"}, {T_POWER, " Vkon:"}, {T_RXEQUIP, " Prm. zariad.:"}, {T_ANTENNA, " Antna:"}, {T_AGLASL, " vka zem;more:"}, {T_OPS, " Opertori:"}, {T_SPACES1, " "}, {T_REMARKS, " Poznmky:"}, {T_OK_SECTION_SINGLE, "Kategorie Single v OK"}, {T_OK_SECTION_MULTI, "Kategorie Multi v OK"}, {T_QRG_MIN, "Hranice psma od"}, {T_QRG_MAX, "do [kHz]"}, {T_ADIFBAND, "Nzev psma pro ADIF"}, {T_SKEDQRG, "Frek. pro skedy (lib. formt)"}, {T_BAND_LO, "LO transvertoru [Hz]"}, {T_BANDSW, "Hodnota prepinace pasem"}, {T_RESPOP, "Zodpovedn opertor"}, {T_NAME, "Meno Priezv:"}, {T_CALLSIGN, " Znaka:"}, {T_ADDRESS, " Adresa:"}, {T_POSTCODE, " PS:"}, {T_CITY, " Mesto:"}, {T_COUNTRY, " Zem:"}, {T_PHONE, " Telefn:"}, {T_BBSEMAIL, " BBS/E-mail:"}, {T_QP0, " --ni -- "}, {T_QP1, " 1 QSOp*QSOp_m (Stand. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK VKVPA)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltsk preteky)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltsk & seversk poln de)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (distrikty)"}, {T_QP13, "13 kontinent (CQ WW DX Contest)"}, {T_QP14, "14 kontinent+psmo (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --none -- "}, {T_TP1, " 1 Nsoben (Std. IARU)"}, {T_TP2, " 2 Stan (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "Nov pretek"}, {T_CANT_TRUNC, "Nemono skrti sbor s popisom preteku"}, {T_NAME_OF_CTEST, " Nzov preteku: "}, {T_CALL_OF_CTEST, "Znaka v preteku: "}, {T_CLUB_ST, "Klub. znaka:"}, {T_YOURWWL, "Tvoj WWL:"}, {T_YOUREXC, "Tvoj EXC:"}, {T_DATE_OF_CTEST, "Dtum preteku:"}, {T_QSOUSED, "QSO NR pouit"}, {T_QSOPM, " QSOp ns.:"}, {T_WWLUSED, "WWL pouit"}, {T_WWLB, "WWL bonus:"}, {T_WWLM, " WWL ns.: "}, {T_EXCUSED, "EXC pouit"}, {T_EXCB, " EXC bonus:"}, {T_EXCM, " EXC ns.: "}, {T_EXCNAME, "EXC jmno:"}, {T_PREFM, "PREF nsob:"}, {T_DXCB, " DXC bonus:"}, {T_DXCM, " DXC ns.: "}, {T_RSTUSED, "RST pouit"}, {T_DEFRS, " Ben RS: "}, {T_DEFRST, "Ben RST:"}, {T_ALSORSTR, "Tak pro RST-R"}, {T_QP_CALC, " Vpoet QSOp:"}, {T_TO_CALC, "Vpoet celku:"}, {T_EDI_PROP, "EDI poloky"}, {T_RESPOP2, "Zodpovedn opertor"}, {T_EDIT_QSO_CD, "Editcia spojen %c: %03d"}, {T_CALLSIGN2, " Znaka:"}, {T_CLUB, " Klub:"}, {T_PADR1, " PAdr1:"}, {T_PADR2, " PAdr2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Opertor:"}, {T_DATE, " Dtum:"}, {T_MODE, " Md:"}, {T_RSTS, "Odos.RST:"}, {T_RSTR, "Prij.RST:"}, {T_QSONRS, "Odos.s:"}, {T_QSONRR, "Prij.s:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " tvorec:"}, {T_REMARK, "Poznmka:"}, {T_QRV2, " QRV on:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Posla sked"}, {T_SELECT, "Vber "}, {T_QRG, "Frekvencia:"}, {T_WE_CALL, "J volm"}, {T_BAND, " Psmo:"}, {T_TIME, " as:"}, {T_DUPE_QSO, "Duplicitn QSO!"}, {T_CLEAR_THIS_QSO, "Zmaza toto QSO"}, {T_EDIT_OLD_QSO, "Editova star QSO"}, {T_MARK_OLD_QSO, "Oznait star QSO ako ERROR"}, {T_STORE_AS_DUPE, "Uloit toto ako DUPE"}, {T_BAD_CALL, "Toto nevyzer ako znaka"}, {T_N_CALLSIGN, "\nZnaka:"}, {T_AUTOSAVE_OPTS, "Automatick ukladanie"}, {T_SAVE_AQ, "Uloi na disk po pote spojen: "}, {T_SAVE_AM, "Uloi na disk po pote mint: "}, {T_FSYNC, "Synchronizova cache s diskom"}, {T_SAVE_AQF, "Uloi na disketu po pote spojen: "}, {T_SAVE_AMF, "Uloi na disketu po pote mint: "}, {T_DO_MOUNT, "Pripoji disketu pokia nie je v /etc/mtab (N/A)"}, {T_FLOPPY_PATH, "Cesta k diskete:"}, {T_MOUNT_CMD, "Prkaz pre pripojenie (N/A): "}, {T_SW_SHELL, "Prk"}, {T_SW_QSOS, "Spoj"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Kec"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Nedok"}, {T_SW_DXC, "Clust"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Mapa"}, {T_SW_SCOPE, "Osc"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Player"}, {T_SW_CHART, "Chart"}, {T_SHELL, "Prkazov riadok"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Kec (rozhovor)"}, {T_SKEDS, "Skedy (dohovoren spojenia)"}, {T_UNFI, "Nedokonen spojenia"}, {T_DXC, "DX Cluster"}, {T_STAT, "tatistiky"}, {T_SWAP, "Swap (N/A)"}, {T_MAP, "Graphick mapa"}, {T_SCOPE, "Osciloskop"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Prkaz"}, {T_RESPAWN, "Znovuspustenie [sek]:"}, {T_UNFI_QSO, "Nedokonen spojenie"}, {T_N_REMARK, "\nPoznmka:"}, {T_NO_CQ, "Neexistuj iadn vzvy"}, {T_TEXT, "Text:"}, {T_SPEED, "Rchlos [WPM]:"}, {T_REPEAT, "Opakovanie"}, {T_DELAY, "akanie [0.1s]:"}, {T_ALLOW_UNDEF, "Povoli aj ke je niektor poloka neznma"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Sbor:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, " UDP port:"}, {T_DEVICE, "Kovacie zariadenie:"}, {T_INIT_SPEED, "Poiaton rchlos [WPM]:"}, {T_INIT_WEIGHT, "Vha (30-70)"}, {T_WPMFROM, "Rychlost WPM od"}, {T_WPMTO, "do"}, {T_USE_SPK, "Poui speaker (reprk)"}, {T_LEADIN, "Pedstih PTT [ms]"}, {T_AUTGIVE, "Run mode aut. give after [chars]"}, {T_IGN_IFACE_S, "Ignorujem sieov rozhranie %-5s"}, {T_IGN_ADDR_S, "Ignorujem adresu %s"}, {T_ADD_IFACE_SSD, "Pridan rozhranie=%-5s vesmer=%s:%d"}, {T_FORCED_ADDR, "Adresa naviac %s"}, {T_TIMESKEW, "POZOR! Detegovan prli vek rozdiel asu %d oproti %s:%d !\n"}, {T_DISCONNECTING_SD, "Odpjam od %s:%d"}, {T_ACCEPTED_SD, "Akceptovan spojenie od %s:%d (%s)"}, {T_CONNECTING_SD, "Pripjam k %s:%d"}, {T_CONNECTED_SD, "Pripojen k %s:%d"}, {T_DISCONNECTED_SD, "Odpojen od %s:%d"}, {T_LOADED_CFG_SSSS, "Natan nastavenie pre %s %s (%s,%s)"}, {T_LOADED_CW, "Natan C_W databza"}, {T_PEER_NOT_FOUND, "CHYBA! Tuk %s nenjden"}, {T_CANT_CREATE_HOME_S, "Nemono vytvori adresr %s"}, {T_CANT_LOAD_CFG, "Nemono nata konfigurciu!\nProgram neme pracova sprvne!"}, {T_ERR_RC, "Dolo k chybe pri tan konfigurku!\nSbor bol pravdepodobne uloen novm Tukom !\nRadej neukladaj konfigurciu inak prde o dta v konfigurku!"}, {T_SES_QTR, " as "}, {T_SES_QRA, " Znaka "}, {T_SES_RST, " RST-O- RST-P- "}, {T_SES_QTH, " tvorec "}, {T_SES_QRB, "Body/vzd Uhol"}, {T_SES_FLG, " Przn"}, {T_SES_OPE, " Oper "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Poznmka "}, {T_SES_WELCOME, "Vta a Tuk! "}, {T_SES_PRESS_F10, "Sta F10 pre vstup do menu. "}, {T_SES_HAVE_FUN, "Uvaj si :-)"}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "Spoj Spoj-b OptX Locs Zeme Celkom-b AVG"}, {T_SES_AVG, "Priem: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " tvorce: %d"}, {T_SF_WWLS_UNDER, "----------------"}, {T_SF_EXCS, " EXC poloky: %d"}, {T_SF_EXCS_UNDER, "--------------------"}, {T_SF_MISS_EXCS, " Missing EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " Zeme: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " Roben tvorce: %d"}, {T_SF_WKD_WWLS_UNDER, "----------------------"}, {T_SF_QSO_WWL4, " Spojenia do vekch tvorcov: %d"}, {T_SF_QSO_WWL4_UNDER, "-----------------------------------"}, {T_SF_STATS_BAND, " tatistiky pre psmo %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Contest: %s"}, {T_SF_ALLBQSOS, "All bands QSOs: %d"}, {T_SF_ALLBQSOP, "All bands QSOp: %d"}, {T_SF_ALLBPTS, "All bands pts: %d"}, {T_SF_QSOS, "QSOs: %d"}, {T_SF_VQSO, "Platn spojen: %d"}, {T_SF_QSOP, "QSO points: %d"}, {T_SF_PTS, "Points: %d"}, {T_SF_AVG_PTS, "Priemer bodov/spojenia: %5.2f"}, {T_SF_AVG_QSOP, "Priemer bodov za spojenie/spojenia: %5.2f"}, {T_BAND_RO, "Psmo je len na tanie"}, {T_THIS_BAND, "Toto psmo"}, {T_OTHER_BANDS, "Ostatn psma"}, {T_CW_DB, "C_W databza"}, {T_PROC_EXITED, "*** Proces skonil\n"}, {T_WE_CALL2, "my volme"}, {T_WE_LISTEN, "my povame"}, {T_QSL, "Sben QSL"}, {T_RECORD, "Nahrvanie prevdzky"}, {T_MAXMIN, " Max. doba nahrvn"}, {T_TEMPLATE, "ablona pre nahrvan sbor"}, {T_PCM8, "8 bitov PCM"}, {T_PCM16, "16 bitov PCM"}, {T_ULAW, "u-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Poet kanlov"}, {T_SAMPLERATE, " Vzorkovacia frekvencia"}, {T_FILLOP, "Vypl znaky opertorov"}, {T_HK_FILLOP, "V"}, {T_RECAQRB, "Prepotaj QRB,QTF"}, {T_HK_RECAQRB, "R"}, {T_NETWORK, "Sie a trasovanie"}, {T_HK_NETWORK, "E"}, {T_IF_IGNORE, " Ignorova zariadenia:"}, {T_IP_IGNORE, " Ignorova podsiete:"}, {T_IP_ANNOUNCE, " Annoncova do siet:"}, {T_TRACE_BCAST, "Trasova broadcasty "}, {T_TRACE_SOCK, "Trasova sockety"}, {T_TRACE_RECV, "Trasova prijat dta"}, {T_TRACE_SEND, "Trasova odoslan dta"}, {T_TRACE_QSOS, "Trasova spojenia"}, {T_TRACE_SDEV, "Trace rotars"}, {T_NOT_MOUNTED_S, "Zvzok nepripojen %s"}, {T_RECSRC_NONE, "Nenastavova"}, {T_RECSRC_MIC, "Mikrofn"}, {T_RECSRC_LINE, "Linkov vstup"}, {T_NEW_CALL, "Nov!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV na %s"}, {T_SKED_QRG, "QRG pre skedy"}, {T_HK_SKED_QRG, "G"}, {T_N_SKED_QRG, "\nQRG pre skedy:"}, {T_GRAB_BAND, "Prevzia psmo"}, {T_HK_GRAB_BAND, "P"}, {T_FORCE_RUN, "RUN md nsiln"}, {T_HK_FORCE_RUN, "R"}, {T_EXPORT_STATS, "Exportova statistiky"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX spojenie:"}, {T_SF_TOP_DX_UNDER, "----------------------"}, {T_ROTAR, "Rotator"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimut"}, {T_ELEVATION, "Elevace"}, {T_CH_SPY, "pehovn"}, {T_HK_CH_SPY, "P"}, {T_CH_ENDSPY, "Konec pehovn"}, {T_HK_CH_ENDSPY, "K"}, {T_EXPORT_TITLPAGE, "Exportovat tituln strnku"}, {T_HK_EXPORT_TITLPAGE, "L"}, {T_BREAK_RECORD, "Peruit nahrvn"}, {T_HK_BREAK_RECORD, "P"}, {T_GLOBAL_OPERATOR, "Zmnit na vech psmech"}, {T_GLOBAL_OPERATOR2, "Globln"}, {T_MAXFRAG, "Max. poet fragment (>=2)"}, {T_PLAY_LAST, "Play last sample"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Rzn nastaven"}, {T_HK_MISCOPTS, "R"}, {T_LOGLINES, "dky logu: "}, {T_SKEDSHIFT, "Posuv skedu (minuty): "}, {T_STARTBAND, "Psmo po startu: "}, {T_GFX_X_CH, "Rozlien (znaky):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Rozlien (body):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Informace o znace"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSO/hod: %d"}, {T_SF_QSOP_HOUR, "Body/hod: %d"}, {T_SF_QSOP_50QSO, "Body/posl. 50 QSO: %d"}, {T_SF_HOURS, " Hodiny"}, {T_SF_HOURS_UNDER, "----------"}, {T_SF_HOURS_TITLE, "Hodiny Body Spojen prmr box/QSO"}, {T_QSO_CHECK, "Kontrola spojen"}, {T_HK_QSO_CHECK, "K"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Minimln msto na disku [MiB]"}, {T_FORMAT, "Formt nahrvn"}, {T_PCM_PLAY, "Alsa pehrvn"}, {T_PCM_REC, "Alsa zznam"}, {T_PERIOD, "Period time [ms]"}, {T_BUFFER, "Buffer time [ms]"}, {T_ALSA_MIXER, "Alsa mixer"}, {T_CAPTURE, "Zdroj zznamu"}, {T_DSP, "Cesta k /dev/dsp"}, {T_MIXER, "Cesta k /dev/mixer"}, {T_RECSRC, "Record source"}, {T_PA_PLAY, "Portaudio playback device"}, {T_PA_REC, "Portaudio capture device"}, {T_HOSTNAME, "Stroj:"}, {T_SLASHKEY, "Klvesa pro lomtko"}, {T_FIXQRG, "Opravit QRG"}, {T_HK_FIXQRG, "v"}, {T_ENTER_QRG, "Zadej pesnou frekvenci QRG [Hz]"}, {T_BAD_QRG, "Chybn zadan frekvence"}, {T_CALLSIGN3, "Znaka"}, {T_CALLSIGN_KST, "Znaka stanice na KST:"}, {T_CANT_INIT_WINKEY_S, "Nelze inicializovat winkey na %s"}, {T_WINKEYOPTS, "Nastaven Winkey"}, {T_WK_WK2, "Rychl inicializace Winkey2"}, {T_WK_USEPOT, "Pout potenciometr"}, {T_WK_USEBUT, "Pout tlatka"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Run kl"}, {T_WK_SWAP, "Prohodit pastiku (levk)"}, {T_RIGOPTS, "Rdio"}, {T_HK_RIGOPTS, "R"}, {T_RIG_DEVICE, "Device:"}, {T_RIG_MODEL, "Model"}, {T_RIG_SPEED, "Baudrate: "}, {T_RIG_CIV, "CIV address (hex)"}, {T_RIG_FREQSHIFT, "Freq. shift SSB->CW"}, {T_RIG_CHOOSE, "Choose"}, {T_ROTAROPTS, "Rottory"}, {T_HK_ROTAROPTS, "I"}, {T_DSSAVER, "Vypnout spoi obrazovky"}, {T_DESC, "Popis"}, {T_ROT_NONE, "None"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI"}, {T_ROT_HAMLIB, "Hamlib (N/A)"}, {T_ROT_REMOTE, "Remote (N/A)"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Serial #"}, {T_ROT_ADD, "Add new rotator"}, {T_HK_ROT_ADD, "W"}, {T_ROT_REMOVE, "Remove rotator"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "ka laloku"}, {T_SADDR, "Communication address:"}, {T_MODEL, "Model:"}, {T_ROT_REM_ROTSTR, "Rotator letter for remote"}, {T_QSOGLOB, "Global QSO NR"}, {T_PREFGLOB, "Global prefix"}, {T_NOT_RECORDING_S, "Not recording - %s"}, {T_SKEDCOUNT, "Poet sked v popup okn: "}, {T_FONTHEIGHT, "Vka fontu (16-32): "}, {T_RIG_POLL_MS, "Rig poll interval [ms]: "}, {T_RIG_QRG_R2T, "Set band from radio"}, {T_RIG_QRG_T2R, "Change band on radio"}, {T_RIG_MODE_T2R, "Change mode on radio"}, {T_RUN_MODE, "Run mode"}, {T_HK_RUN_MODE, "M"}, {T_SP_MODE, "S&P mode"}, {T_HK_SP_MODE, "M"}, {T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save"}, {T_RIG_DEBUG, "Debug rig"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Band QSO Point Mult"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Last Q-%s P-%s"}, {T_EVEN, "TX even"}, {T_HK_EVEN, "v"}, {T_ODD, "TX odd"}, {T_HK_ODD, "d"}, {T_1ST, "TX 1st"}, {T_HK_1ST, "1"}, {T_2ND, "TX 2nd"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Score:"}, {T_EXPMODE, "Expedition mode"}, {T_TTTYPE, "Only digits mean"}, {T_ROT_POLL_MS, "Poll interval [ms]:"}, {T_VERSION, "Version"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, " Remote host name:"}, {T_REMOTE_PORT, " Remote TCP port:"}, {T_REMOTE_PASS, " Remote Password:"}, {T_STARTING_AC, "Starting AS"}, {T_STOPPING_AC, "Stopping AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Speed:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Durat: %ld"}, {T_EXPORTING_S, "Exporting %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s"}, {T_EXPORTING, "Exporting ..."}, {T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables"}, {T_LOADING_CHARTS, "Loading charts"}, {T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control"}, {T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in"}, {T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi"}, {T_CANT_CREATE_PIPE, "Can't create pipe"}, {T_TERMINATING_CWDAEMON, "Terminating CW/PTT control"}, {T_INIT_CWDB, "Initializing WWL database"}, {T_TERM_CWDB, "Terminating WWL database"}, {T_LOADING_CWDB, "Loading WWL database"}, {T_QRV_ON, "QRV on: "}, {T_CANT_INIT_FTDI, "Can't init ftdi library for davac4"}, {T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s"}, {T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s"}, {T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s"}, {T_INIT_SOUNDCARD, "Initializing soundcard"}, {T_NO_OSS, "OSS support not compiled in"}, {T_NO_ALSA, "Alsa support not compiled in"}, {T_NO_PORTAUDIO, "portaudio support not compiled in"}, {T_NO_SNDFILE, "Libsndfile support not compiled in"}, {T_NO_SNDPIPE, "Sndpipe support not compiled in"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Initializing DXCC database"}, {T_FREE_DWDB, "Terminating DXCC database"}, {T_LOAD_DWDB, "Loading DXCC database"}, {T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n"}, {T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n"}, {T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n"}, {T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n"}, {T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n"}, {T_CALL_ON_BAND_S, "Callsign on band %s is %s\n"}, {T_LOCATOR_ON_BAND, "Locator on band %s is %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO check list\n"}, {T_CALL_SN, " Call: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Date: %s\n"}, {T_CHECKING_S, "Checking %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Seems to be O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s not found\n"}, {T_0X_NOT_IN_DB, " 0x (not in database)"}, {T_NAME_IS, "Name: %s's name is %s\n"}, {T_NAME_UNKNOWN, "Name: %s's name is unknown\n"}, {T_INIT_DXC, "Initializing DXcluster database"}, {T_FREE_DXC, "Terminating DXcluster database"}, {T_HK_SELECT, "S"}, {T_HIDE, "Hide"}, {T_HK_HIDE, "H"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Use"}, {T_HK_USE, "U"}, {T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n"}, {T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n"}, {T_HOST_RESOLVED, "*** Host resolved "}, {T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n"}, {T_CONNECTING_TO, "*** Connecting to %s ***\n"}, {T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Connected socket %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Disconnected ***\n"}, {T_RESOLVING, "*** Resolving %s ***\n"}, {T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s"}, {T_SAVED, "Saved '%s'"}, {T_LOADING_CONTEST, "Loading contest %s"}, {T_LOADING_LOGFILE, "Loading logfile"}, {T_LOADING_TALK, "Loading talk"}, {T_SEARCH_FILES, "Search for contest files"}, {T_LOADING_BAND, "Loading band %s"}, {T_LOADING_SPY, "Loading spy"}, {T_LOADING_HICALLS, "Loading hicalls"}, {T_LOADING_QRV, "Loading qrv"}, {T_LOADING_CHART, "Loading chart"}, {T_SAVING_CONTEST, "Saving contest"}, {T_UPD_INT_DATA, "Updating internal data"}, {T_CALC_STATS, "Calculating statistics"}, {T_ANN_OVER_NET, "Announcing over network"}, {T_ACTIVATING_BAND, "Activating band %s"}, {T_UPDATING_WKD, "Updating worked calls"}, {T_UPDATING_QRBQTF, "Updating QRB&QTF"}, {T_UPDATING_GAIN, "Updating gain chart"}, {T_SEN_OVER_NET, "Sending info over network"}, {T_INIT_EXCDB, "Initializing exchange database"}, {T_FREE_EXCDB, "Terminating exchange database"}, {T_INIT_FFT, "Initializing FFT analyse"}, {T_FREE_FFT, "Terminating FFT analyse"}, {T_INIT_ROTAR, "Initializing rotator control"}, {T_FREE_ROTAR, "Terminating rotator control"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Points"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initializing HTTP server"}, {T_FREE_HTTPD, "Terminating HTTP server"}, {T_NO_CONTEST_OPENED, "

No contest opened

\n"}, {T_NO_CONTEST_OPENED2, "No contest opened"}, {T_STATS, "Statistics"}, {T_BAND_NOT_FOUND, "Band not found"}, {T_BAND_C_NOT_FOUND, "

Band %c not found

"}, {T_QSOS_IN_DATABASE, "qsos in database"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online log"}, {T_DATE2, "Date"}, {T_UTC, "UTC"}, {T_CALL, "Call"}, {T_CALL_NOT_FOUND, "Call not found"}, {T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d"}, {T_FREE_TERM, "Terminating terminal"}, {T_TERM_KEYMAPS, "Terminating keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh mistake"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Ask for sked"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Message"}, {T_HK_MESSAGE, "M"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n"}, {T_RESOLVED, "*** Resolved "}, {T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sending /sh us ...\n"}, {T_SKIP_LINE, "Skip line %d '%s'"}, {T_CANT_CREATE_HOME, "Can't create home directory '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s"}, {T_INIT_MAP, "Initializing polar map"}, {T_DISABLE_SAVER, "Disabling screensaver"}, {T_STARTING_TUCNAK, "Starting Tucnak"}, {T_FREE_MAP, "Terminating polar map"}, {T_INIT_MASTERDB, "Initializing master database"}, {T_FREE_MASTERDB, "Terminating master database"}, {T_LOAD_MASTERDB, "Loading master database"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s"}, {T_DIRECTORY_SCAN, "Directory scan"}, {T_V3_COMPATIBILITY, " (v3 compatibility)"}, {T_RELOAD_INTERFACES, "Reload interfaces"}, {T_SET_READONLY, "Set read-only"}, {T_CHANGE_TYPE, "Change type"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Open connection"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Kill connection"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Export to text file"}, {T_ADD_CONTEST, "Add contest"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Add file(s)"}, {T_HK_ADD_FILES, "F"}, {T_ADD_CONTESTS, "Add contests"}, {T_HK_ADD_CONTESTS, "O"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Int.error test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Dump RW bands and hashes"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Update Tucnak"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Settings"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Nahrt live skre na slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "Voip spy"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "End voip spy"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest is old, spy is not available"}, {T_NETWORK_SCAN, "Network scan"}, {T_HTTPD_OPTIONS, "HTTPD options"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter options"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR options"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Other:"}, {T_NONE, "None "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "Unused "}, {T_USED_6, "Used (6)"}, {T_OPT_6, "Opt. (6)"}, {T_USED_4, "Used (4)"}, {T_OPT_4, "Opt. (4)"}, {T_FREE, "Free "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Verified"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Confirm WWL"}, {T_CONFIRM_EXC, "Confirm EXC"}, {T_FONT_SIZE, "Font size: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, "SLOVHF uiv.:"}, {T_SDR, "SDR"}, {T_PARPORT, "parport"}, {T_TTYS, "sriov"}, {T_TTYSSINGLE, "sriov 1 pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystem:"}, {T_PLAYBACK_VOLUME, "Playback volume"}, {T_CAPTURE_VOLUME, "Capture volume"}, {T_ENABLE_REMOTE_CONNECT, "Enable remote connect"}, {T_TRACE_RIG, "Trace rig"}, {T_TRACE_KEYS, "Trace keys"}, {T_SAVE_RESTART, "You must save configuration and restart Tucnak"}, {T_FULLSCREEN, "Fullscreen"}, {T_TOUCH, "Use touch control"}, {T_ALT_QWER, "Alt turns QWER.. to 1234.."}, {T_NO_LOCKS, "No device locks"}, {T_PORTRAIT_ORIENTATION, "Portrait orientation"}, {T_REVERSE, "Reverse"}, {T_CHOOSE_RIG, "Choose rig"}, {T_RIG_D, "Rig %d"}, {T_NEW_RIG, "New rig"}, {T_ENABLED, "Enabled"}, {T_SET_PTT_ON_RADIO, "Set PTT on radio"}, {T_DISABLED, " (disabled)"}, {T_ADD_RIG, "Add rig"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Enable"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Show private information"}, {T_REFRESH, "Refresh interval:"}, {T_LOAD_FROM_NET, "Load from network"}, {T_LOAD_CWDB, "Load C_W database"}, {T_LOAD_NAMEDB, "Load Name database"}, {T_LOAD_QRVDB, "Load QRV database"}, {T_READONLY_BANDS, "Read-only bands"}, {T_ENABLE_AC, "Enable AS"}, {T_AC_URL, "Alternative URL for flightradar data"}, {T_K_FACTOR, "Troposphere k_factor"}, {T_AC_AREA_WIDTH, "Reflection area width in km"}, {T_AC_EL_ANGLE, "Minimal elevation angle"}, {T_AC_MAX_EL_ANGLE, "Maximal elevation angle"}, {T_AC_MIN_DURATION, "Minimal reflection duration in sec"}, {T_AC_MAX_DIFF, "Max difference of incidence and reflection angles"}, {T_BAD_NUMBER_RANGE, "Bad number range"}, {T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate"}, {T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder"}, {T_NO_DEVICE, "No device"}, {T_IQ_SOURCE, "IQ source:"}, {T_WAV_FILE, "WAV file"}, {T_WAV_FILE_NAME, "WAV file name"}, {T_AF_OUTPUT, "AF output:"}, {T_AF_SAMPLE_RATE, "AF sample rate"}, {T_BLOCK_SIZE, " Block size"}, {T_CW_FILTER, " CW filter"}, {T_TO_HZ, "to [Hz]"}, {T_SSB_FILTER, " SSB filter"}, {T_INIT_NAMEDB, "Initializing name database"}, {T_FREE_NAMEDB, "Terminating name database"}, {T_LOAD_NAMEDB2, "Loading name database"}, {T_INIT_NET, "Initializing network"}, {T_FREE_NET, "Terminating network"}, {T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s"}, {T_TIME_WAS_SET, "Time was set"}, {T_FAILED_TO_SET_TIME, "Failed to set time"}, {T_INIT, "INIT"}, {T_CONNECTING, "CONNECTING"}, {T_CONNECTED, "CONNECTED"}, {T_WAIT_ACK, "WAIT_ACK"}, {T_DISCONNECTED2, "DISCONNECTED"}, {T_DEAD, "DEAD"}, {T_LONG_XFER, "LONG_XFER"}, {T_AUTHENTICATED_USER_S, "Authenticated user %s"}, {T_BAD_AUTHENTICATION_S, "Bad authentication %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT"}, {T_LONG_TRANSFER_FINISHED, "Long transfer finished"}, {T_INIT_NTP, "Initializing NTP monitor"}, {T_FREE_NTP, "Terminating NTP monitor"}, {T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP"}, {T_INIT_SPEAKER, "Initializing PC speaker"}, {T_FREE_SPEAKER, "Terminating PC speaker"}, {T_CANT_PLAY, "Can't play %s - %s"}, {T_CANT_SEEK_TO_END, "Can't seek to end %s - %s"}, {T_CANT_SEEK_TO_START, "Can't seek to start %s - %s"}, {T_CANT_OPEN, "Can't open %s %s"}, {T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Can't set %s to EPP mode %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s"}, {T_CANT_CLAIM, "Can't claim %s %s"}, {T_INIT_QRVDB, "Initializing QRV database"}, {T_FREE_QRVDB, "Terminating QRV database"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Loading qrvs"}, {T_UNSPECIFIED, "unspecified"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n"}, {T_FOUND_D_ERRORS, "Found %d error%s while reading %s"}, {T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net"}, {T_REGISTRATED_ROTATORS, "Registrated rotators:"}, {T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread"}, {T_INIT_ROTARS2, "Initializing rotators"}, {T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n"}, {T_ROTAR_ERROR_S, "Rotar error: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe"}, {T_CANT_READ_FROM, "Can't read from"}, {T_CANT_WRITE_TO, "Can't write to"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Bad update file name"}, {T_CANT_EXECUTE_INSTALLER, "Can't execute installer, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed"}, {T_UPDATE_FAILED, "Update failed"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s"}, {T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install."}, {T_NO_NEW_VER, "No new version available."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests..."}, {T_CHOOSE_CONTEST, "Choose contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload"}, {T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form..."}, {T_ALL_EDI_FILES_PROCESSED, "All EDI files processed."}, {T_UPLOADING_LOG_FILE_S, "Uploading log file %s ..."}, {T_UPLOADING_BAND_S, "Uploading band %s"}, {T_CONFIRMING_LOG, "Confirming log..."}, {T_RESULT_ERROR, "*** Result: ERROR please read error message above"}, {T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores..."}, {T_LOGS_UPLOADED, "Logs uploaded."}, {T_HTTP_STATUS, "HTTP status: "}, {T_LOG_UPLOAD, "Log upload"}, {T_VOIP_NO_INITIALIZED, "VOIP no initialized"}, {T_PAGE_NAME, "Page name"}, {T_OVERWRITE_EXISTING_FILES, "Overwrite existing files"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Password"}, {T_EXPORT_MAP, "Export map"}, {T_EXPORT_CHART, "Export chart"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki upload"}, {T_BAD_AUTH_USER, "Bad auth user %s != %s"}, {T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame"}, {T_CANT_GET_FMTS, "Can't get supported audio formats: %s"}, {T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s"}, {T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s"}, {T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s"}, {T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s"}, {T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s"}, {T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d"}, {T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s"}, {T_RECORD2, "record"}, {T_PLAYBACK, "playback"}, {T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s"}, {T_CANT_STOP_PA, "Can't stop PortAudio stream: %s"}, {T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s"}, {T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\""}, {T_CANT_SET_STROBE, "Can't set parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error"}, {T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n"}, {T_INIT_SERIAL_DEVICES, "Initializing serial devices"}, {T_BAD_CHECKSUM, "Bad checksum"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Bad response"}, {T_UNKNOWN_FUNCTION, "Unknown function"}, {T_UNKNOWN_ERROR_CODE, "Unknown error code"}, {T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n"}, {T_WAIT_FOR_SDR_THR, "Waiting for SDR thread"}, {T_QSO_REQ_FROM_SP, " QSO request from S&P "}, {T_QSO_REQ_SENT, " QSO request sent to RUN "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Location unknown"}, {T_DEGREE, "deg"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe"}, {T_INIT_SSB_CQ, "Initializing SSB CQ"}, {T_FREE_SSB_CQ, "Terminating SSB CQ"}, {T_NO_FILE, "No file specified"}, {T_UNSUP_CHANNELS, "Unsupported number of channels = %d"}, {T_FLOAT_UNSUPP, "Float point files are not supported"}, {T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing"}, {T_REC_DISABLED, "recording disabled"}, {T_CONTEST_TOO_OLD, "contest too old"}, {T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Error writing file %s: %s"}, {T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording"}, {T_NO_DISK_SPACE, "Not enough free disk space for file"}, {T_CANT_PLAY_FILE, "Can't play file %s - %s"}, {T_CANT_WRITE_SS, "Can't write to file %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded"}, {T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template"}, {T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n"}, {T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***"}, {T_LOADING_S, "Loading %s"}, {T_INVALID_WINDOW_TYPE, "invalid window type %d\n"}, {T_INIT_RIG, "Initializing rig control %d"}, {T_RIG_ERROR, "Rig error: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n"}, {T_FREE_RIG, "Terminating rig control %d"}, {T_WAIT_FOR_RIG_THR, "Waiting for rig thread"}, {T_INVALID_PARAM, "Invalid param."}, {T_RIG_INVALID_CONFIG, "Invalid config."}, {T_RIG_NOT_ENOUGH_MEM, "Not enough mem."}, {T_RIG_NOT_IMPLEMENTED, "Not implemented"}, {T_RIG_COMM_TIMEOUT, "Comm. timeout"}, {T_RIG_IO_ERROR, "IO error"}, {T_RIG_INTERNAL_ERROR, "Internal error"}, {T_PROTOCOL_ERROR, "Protocol error"}, {T_RIG_COMMAND_REJECT, "Command reject."}, {T_RIG_ARG_TRUNCATED, "Arg. truncated"}, {T_RIG_F_NOT_AVAILABLE, "F not available"}, {T_RIG_VFO_NOT_TARGET, "VFO not target."}, {T_RIG_ERROR_ON_BUS, "Error on bus"}, {T_RIG_BUS_COLLISION, "Bus collision"}, {T_RIG_INVALID_ARG, "Invalid arg."}, {T_RIG_INVALID_VFO, "Invalid VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg out of dom."}, {T_ERROR_D, "Error %d"}, {T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Can't set graphics mode"}, {T_WAIT_SDL_THR, "Waiting for SDL event thread"}, {T_FREE_GRAPHICS, "Terminating graphics"}, {T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s"}, {T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s"}, {T_CANT_READ_LOG_FILE, "Can't read log file %s"}, {T_CANT_UPLOAD_LOG, "Can't upload log: %s"}, {T_CANT_CONFIRM_LOG, "Can't confirm log: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s"}, {T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Date:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Points:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Can't upload file: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s"}, {T_FILE_ALREADY_EXISTS, "File already exists: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s"}, {T_CANT_EDIT_PAGE, "Can't edit page: %s"}, {T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s"}, {T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s"}, {T_EDITING_CONTEST_PAGE, "Editing contest page..."}, {T_ALL_DONE, "All done."}, {T_UPLOADING_FILE, "Uploading file %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s"}, {T_QUERYING_EDIT_TOKEN, "Querying edit token"}, {T_CANT_LOGIN, "Can't log in (2): %s"}, {T_CANT_LOGIN2, "Can't log in (2), wiki says: %s"}, {T_CANT_LOGIN1, "Can't log in (1): %s"}, {T_LOGGING_IN, "Logging in..."}, {T_EXPORTING_FILES, "Exporting files..."}, {T_INIT_WIZZ, "Initializing contest wizard"}, {T_FREE_WIZZ, "Terminating contest wizard"}, {T_LOAD_WIZZ_DATA, "Loading contest wizard data"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Fze zvodu"}, {T_HK_PHASE, "F"}, {T_ENTER_PHASE, "Nov fze zvodu: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_german [] = { {0, NULL}, {T__CHAR_SET, "iso8859-2"}, {T__LANGUAGE, "German"}, {T_ABOUT, "ber..."}, {T_BAD_NUMBER, "Ungltige Zahl"}, {T_BAD_STRING, "Ungltiger Text"}, {T_BASIC_HELP, "Drcke F10 fr Men.\nViel Spa!"}, {T_BLOCK_CURSOR, "Blockiere Cursor"}, {T_CANCEL, "Abbrechen"}, {T_CHARACTER_SET, "Zeichensatz"}, {T_COLOR, "Farbe"}, {T_COPYING, "Lizenz"}, {T_DIFFERENCE, "Unterschied"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Mchten sie Tucnak wirklich verlassen?"}, {T_EMPTY_STRING_NOT_ALLOWED, "Leerer Text nicht erlaubt!"}, {T_ERROR, "Fehler"}, {T_WARNING, "Warnung"}, {T_EXIT, "Verlassen"}, {T_EXIT_TUCNAK, "Tucnak verlassen"}, {T_FILE, "Datei"}, {T_FULL_SCREEN, "Vollbild"}, {T_HELP, "Hilfe"}, {T_HK_ABOUT, "."}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "Z"}, {T_HK_COPYING, "K"}, {T_HK_EXIT, "E"}, {T_HK_FILE, "D"}, {T_HK_FULL_SCREEN, "V"}, {T_HK_HELP, "H"}, {T_HK_LANGUAGE, "S"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "B"}, {T_HK_SETUP, "E"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "F"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "KOI8-R Rahmen"}, {T_LANGUAGE, "Sprache"}, {T_LAST, "letzte"}, {T_LINUX_OR_OS2_FRAMES, "Linux oder OS/2 Rahmen"}, {T_MEMORY_INFO, "Speicherinfo"}, {T_NO_FRAMES, "Keine Rahmen"}, {T_NO, "Nein"}, {T_NUMBER_EXPECTED, "Zahl im Feld erwartet"}, {T_NUMBER_OUT_OF_RANGE, "Zahl auerhalb des gltigen Bereichs"}, {T_OK, "OK"}, {T_OS_SHELL, "Betriebssystem-Fenster"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Beschrnke Rahmen in cp850/852"}, {T_UTF_8_IO, "UTF-8 Ein-/Ausgabe"}, {T_SCREEN, "Bildschirm"}, {T_SETUP, "Einstellungen"}, {T_TERMINAL_OPTIONS, "Terminal-Optionen"}, {T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-hnliches V/U/SHF Contest Log"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Benutze ^[[11m"}, {T_VT_100_FRAMES, "VT 100 Rahmen"}, {T_WELCOME1, "Willkommen bei Tucnak!"}, {T_WELCOME2, "Geben Sie bitte Ihre Rufzeichen und Locator ein:"}, {T_WELCOME, "Willkommen"}, {T_XTERM, "Xterm"}, {T_YES, "Ja"}, {T_CANT_APPEND_S, "Kann nicht an Datei %s anfgen!"}, {T_CANT_WRITE, "Kann nicht in Datei schreiben!"}, {T_CANT_WRITE_S, "Kann nicht in Datei %s schreiben!"}, {T_CANT_READ, "Kann nicht aus Datei lesen!"}, {T_CANT_READ_S, "Kann nicht aus Datei %s lesen!"}, {T_SAVED_S, "%s gespeichert"}, {T__CW_, " CW "}, {T_CWW_KEYS, " Bildauf +, Bildab - CW Geschwindigkeit "}, {T_CANT_OPEN_S, "Kann %s nicht ffnen!"}, {T_CANT_LOCK, "Kann nicht sperren!"}, {T_CANT_LOCK_S, "Kann %s nicht sperren!"}, {T_LOADING_CTEST_S, "*** Lade Contest %s"}, {T_NO_FILES, "Keine Dateien im Verzeichnis!"}, {T_BAND_EXIST_SS, "WARNUNG! Band %s (%s) existiert bereits"}, {T_BAND_NOT_OPEN, "Band ist in diesem Contest nicht aktiv"}, {T_NO_BANDS, "Keine Bnder zu laden"}, {T_CANT_SET_GR_S, "Kann keinen Grafik-Modus setzen-%s"}, {T_GCALL, "Rufzeichen: %s"}, {T_GWWL, "Locator: %s"}, {T_GQRB, "QRB: %d km"}, {T_GQTF, "QTF: %d"}, {T_GSEN, "Ges.: %s %s"}, {T_GRCV, "Empf.: %s %s"}, {T_GTIM, "Zeit: %s"}, {T_GOPE, "Op: %s"}, {T_GREM, "Bem.: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "income: %d"}, {T_GLON, "Lnge:%7.2f %-6s"}, {T_GLAT, "Breite:%7.2f %-6s"}, {T_GLOC, "Loc: %s"}, {T__PLESE_WAIT_, " Bitte warten "}, {T__RO_BAND, " SWL-Band"}, {T_COPYING_VER, "Das ultimative Contestlog - Unerlsslich wie gewohnt\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nDieses Programm ist freie Software. Sie knnen es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation verffentlicht, weitergeben und/oder modifizieren, entweder gem Version 2 der Lizenz oder (nach Ihrer Option) jeder spteren Version. Die Verffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe . "}, {T_CTEST_ACTIVE, "Contest ist bereits aktiv "}, {T_NO_CTESTS, "Keine Conteste"}, {T_NO_CCLOSE, "Kein Contest zum Schlieen"}, {T_REALLY, "Wirklich?"}, {T_CLOSE_CTEST, "Mchten Sie diesen Contest wirklich schlieen?"}, {T_GUI_LD, "GUI: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw Elemente, %d wc Elemente, letztes %d\n"}, {T_EXC, "Exc: %s %d exc Elemente, %d cxe Elemente, letztes %d\n"}, {T_VEXC, "Besttigte EXC: %d Elemente\n"}, {T_DWI, "D_W: %d Prfixe, %d Lnder, %d Locator\n"}, {T_NAMES, "Namen: %d Namen\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Speicher:"}, {T_NMY, " Mein: "}, {T_NGLOBAL, "Global: "}, {T_NMASTER, "Master: "}, {T_NREMOTE, "Remote: "}, {T_NSLAVES, "\nSlaves:\n"}, {T_NINFO, "Netzwerk Info"}, {T_NO_BANDS_QRV, "Keine Bnder QRV"}, {T_NO_BANDS_CONF, "Keine Bnder konfiguriert"}, {T_NOT_AVAILABLE, "Nicht verfgbar"}, {T_ADD_SUBWIN, "Fge Fenster hinzu"}, {T_HK_ADD_SUBWIN, "F"}, {T_CLOSE_SUBWIN, "Schliee Fenster"}, {T_HK_CLOSE_SUBWIN, "S"}, {T_HK_NINFO, "N"}, {T_NEW, "Neu..."}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Neu mit Assistent"}, {T_HK_NEW_WIZZ, "A"}, {T_NEW_NET, "Neu vom Netzwerk..."}, {T_HK_NEW_NET, "T"}, {T_OPEN, "ffnen"}, {T_HK_OPEN, "F"}, {T_SAVE, "Speichern"}, {T_HK_SAVE, "S"}, {T_EXPORT_EDI, "Exportiere als EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Exportiere als Report"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Exportiere als ADIF"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Exportiere als CBR"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Exportiere als HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Exportiere als MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Importiere EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Importiere ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Importiere Swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Importiere Liste"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Contestoptionen"}, {T_HK_CONTEST_OP, "O"}, {T_CLOSE_CONTEST, "Schliee Contest"}, {T_HK_CLOSE_CONTEST, "K"}, {T_ADD_ERROR, "Fge FEHLER hinzu"}, {T_HK_ADD_ERROR, "F"}, {T_CHOP, "Wechsle Operator"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Aktualisiere C_W von Contest"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Aktualisiere C_W von Band"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Aktualisiere EXC DB vom Contest"}, {T_HK_EXC_CTEST, "P"}, {T_EXC_BAND, "Aktualisiere EXC DB vom Band"}, {T_HK_EXC_BAND, "D"}, {T_IMPORT_EBW, "Importiere DL8EBW Datenbank"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "Kein Contest"}, {T_NO_PEERS, "Keine Peers gefunden"}, {T_NO_MASTER, "Master ist nicht verfgbar!"}, {T_CTEST_DEF, "Contestvorgaben"}, {T_HK_CTEST_DEF, "V"}, {T_BAND_DEF, "Bandvorgaben"}, {T_HK_BAND_DEF, "B"}, {T_HK_RESPOP, "P"}, {T_CW_DAEMON, "CW Interface"}, {T_HK_CW_DAEMON, "E"}, {T_CW_CQ, "CW CQ"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB CQ"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Auto. speichern"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Lade cfg vom Netz"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Lade C_W vom Netz"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Speichere Konfiguration"}, {T_HK_SAVE_CFG, "S"}, {T_CONTEST, "Contest"}, {T_HK_CONTEST, "K"}, {T_EDIT, "Editieren"}, {T_HK_EDIT, "E"}, {T_BANDS, "Bnder"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Fenster"}, {T_HK_SUBWINS, "F"}, {T_BAND_SETTINGS_SC, "Bandeinstellungen fr Band %c %s"}, {T_QRV_ON_THIS_BAND, "QRV auf diesem Band"}, {T_QRV_IN_THIS_CTEST, "QRV in diesem Contest"}, {T_READ_ONLY, "Nur SWL"}, {T_MULTI, "Mehrmann"}, {T_SINGLE, "Einmann"}, {T_CHECK, "Kontrolllog"}, {T_TXEQUIP, " TX Ausrstung:"}, {T_POWER, " Leistung:"}, {T_RXEQUIP, " RX Ausrstung:"}, {T_ANTENNA, " Antenne:"}, {T_AGLASL, " AGL;ASL:"}, {T_OPS, " Operator:"}, {T_SPACES1, " "}, {T_REMARKS, " Bemerkungen:"}, {T_OK_SECTION_SINGLE, "Klasse fr Einmann-Kategorie: "}, {T_OK_SECTION_MULTI, "Klasse fr Mehrmann-Kategorie:"}, {T_QRG_MIN, "Bandgrenzen von"}, {T_QRG_MAX, "bis [kHz]"}, {T_ADIFBAND, "ADIF Bandname"}, {T_SKEDQRG, "QRG fr skeds (freies Format)"}, {T_BAND_LO, "Transverter LO QRG [Hz]"}, {T_BANDSW, "Wert fr Bandwechsel"}, {T_RESPOP, "Verantwortlicher OP"}, {T_NAME, " Name:"}, {T_CALLSIGN, " Rufzeichen:"}, {T_ADDRESS, " Adresse:"}, {T_POSTCODE, " PLZ:"}, {T_CITY, " Stadt:"}, {T_COUNTRY, " Land:"}, {T_PHONE, " Telefon:"}, {T_BBSEMAIL, " BBS/Email:"}, {T_QP0, " --kein -- "}, {T_QP1, " 1 QSOp*QSOp_m (Std. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK activity)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltic)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (district codes)"}, {T_QP13, "13 Continent (CQ WW DX Contest)"}, {T_QP14, "14 Continent+band (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 pro QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --kein -- "}, {T_TP1, " 1 Multiplikativ (Std. IARU)"}, {T_TP2, " 2 Additiv (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "Neuer Contest"}, {T_CANT_TRUNC, "Kann desc Datei nicht abschneiden"}, {T_NAME_OF_CTEST, "Name des Contests:"}, {T_CALL_OF_CTEST, "Rufzeichen im Contest:"}, {T_CLUB_ST, "Clubstation:"}, {T_YOURWWL, " Locator:"}, {T_YOUREXC, " Austausch:"}, {T_DATE_OF_CTEST, "Datum des Contests:"}, {T_QSOUSED, "QSO-Nr. benutzt"}, {T_QSOPM, " QSOp Multiplikator:"}, {T_WWLUSED, "Locator benutzt"}, {T_WWLB, "Locator Bonus:"}, {T_WWLM, "Locator Multiplikator:"}, {T_EXCUSED, "Austausch benutzt"}, {T_EXCB, "Austausch Bonus:"}, {T_EXCM, "Austausch Multiplikator:"}, {T_EXCNAME, "Austausch Name:"}, {T_PREFM, "PREF Multi:"}, {T_DXCB, "DXCC Bonus:"}, {T_DXCM, "DXCC Multiplikator:"}, {T_RSTUSED, "RST benutzt "}, {T_DEFRS, "Vorgabe RS:"}, {T_DEFRST, "Vorgabe RST:"}, {T_ALSORSTR, "Auch fr RST-R"}, {T_QP_CALC, "Kalkulation QSOp:"}, {T_TO_CALC, "Kalkulation Total:"}, {T_EDI_PROP, "EDI Eigenschaften"}, {T_RESPOP2, "Verantwortlicher OP"}, {T_EDIT_QSO_CD, "Editiere QSO %c: %03d"}, {T_CALLSIGN2, "Rufzeichen:"}, {T_CLUB, " Club:"}, {T_PADR1, " Adresse 1:"}, {T_PADR2, " Adresse 2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, " Operator:"}, {T_DATE, " Datum:"}, {T_MODE, " Mode:"}, {T_RSTS, " RSTs:"}, {T_RSTR, " RSTr:"}, {T_QSONRS, "QSO-Nr s:"}, {T_QSONRR, "QSO-Nr r:"}, {T_OPTEXCH, " Austausch:"}, {T_WWL, "Locator:"}, {T_REMARK, "Anmerkung:"}, {T_QRV2, " QRV on:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Sende Sked"}, {T_SELECT, "Auswhlen"}, {T_QRG, " Frequenz:"}, {T_WE_CALL, " Wir rufen"}, {T_BAND, " Band:"}, {T_TIME, " Zeit:"}, {T_DUPE_QSO, "Doppel-QSO!"}, {T_CLEAR_THIS_QSO, "Lsche dieses QSO"}, {T_EDIT_OLD_QSO, "Editiere altes QSO"}, {T_MARK_OLD_QSO, "Markiere altes QSO als FEHLER"}, {T_STORE_AS_DUPE, "Speichere als DUPE"}, {T_BAD_CALL, "Dies scheint kein Rufzeichen zu sein"}, {T_N_CALLSIGN, "\nRufzeichen:"}, {T_AUTOSAVE_OPTS, "Optionen autom. speichern"}, {T_SAVE_AQ, "Speichere auf Festplatte nach QSOs:"}, {T_SAVE_AM, "Speichere auf Festplatte nach Minuten:"}, {T_FSYNC, "Fsync"}, {T_SAVE_AQF, "Speichere auf Diskette nach QSOs:"}, {T_SAVE_AMF, "Speichere auf Diskette nach Minuten:"}, {T_DO_MOUNT, "Mount falls nicht in /etc/mtab (unbenutzt)"}, {T_FLOPPY_PATH, "Pfad zur Diskette:"}, {T_MOUNT_CMD, "Mount Befehl: "}, {T_SW_SHELL, "Shell"}, {T_SW_QSOS, "QSOs"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Talk"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Leer"}, {T_SW_DXC, "DXCl"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Karte"}, {T_SW_SCOPE, "Scope"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Player"}, {T_SW_CHART, "Chart"}, {T_SHELL, "Shell"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Talk"}, {T_SKEDS, "Skeds"}, {T_UNFI, "Unvollstndige QSOs"}, {T_DXC, "DX Cluster"}, {T_STAT, "Statistik"}, {T_SWAP, "Swap (N/A)"}, {T_MAP, "Grafische Karte"}, {T_SCOPE, "Scope"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Kommando"}, {T_RESPAWN, "Neu starten [Sek]:"}, {T_UNFI_QSO, "Unvollstndiges QSO"}, {T_N_REMARK, "\nBemerkung:"}, {T_NO_CQ, "Kein CQ definiert"}, {T_TEXT, "Text:"}, {T_SPEED, "Geschw. [WPM]:"}, {T_REPEAT, "Wiederholen"}, {T_DELAY, "Verzgerung [0.1s]:"}, {T_ALLOW_UNDEF, "Erlauben falls einige Eintrge undefiniert sind"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Pfad:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "UDP Port:"}, {T_DEVICE, "Keyer:"}, {T_INIT_SPEED, "Startgeschw. [WPM]:"}, {T_INIT_WEIGHT, "Gewichtung (30-70):"}, {T_WPMFROM, "WPM-Bereich von"}, {T_WPMTO, "bis"}, {T_USE_SPK, "Benutze Lautsprecher"}, {T_LEADIN, "PTT-Verzgerung in [ms]"}, {T_AUTGIVE, "Run mode aut. give after [chars]"}, {T_IGN_IFACE_S, "Ignoriere Interface %-5s"}, {T_IGN_ADDR_S, "Ignoriere Adresse %s"}, {T_ADD_IFACE_SSD, "Interface=%-5s BCAST=%s:%d hinzugefgt"}, {T_FORCED_ADDR, "Erzwinge Adresse %s"}, {T_TIMESKEW, "WARNUNG! Zeitabweichung %d entdeckt gegen %s:%d !\n"}, {T_DISCONNECTING_SD, "Trennen von %s:%d"}, {T_ACCEPTED_SD, "Akzeptiere %s:%d (%s)"}, {T_CONNECTING_SD, "Verbinden mit %s:%d"}, {T_CONNECTED_SD, "Verbunden mit %s:%d"}, {T_DISCONNECTED_SD, "Getrennt von %s:%d"}, {T_LOADED_CFG_SSSS, "Konfiguration geladen fr %s %s (%s,%s)"}, {T_LOADED_CW, "C_W Data geladen"}, {T_PEER_NOT_FOUND, "FEHLER! Peer %s nicht gefunden"}, {T_CANT_CREATE_HOME_S, "Kann Verzeichnis %s nicht erstellen"}, {T_CANT_LOAD_CFG, "Kann Konfiguration nicht laden!\nProgramm kann nicht richtig arbeiten!"}, {T_ERR_RC, "Einige Fehler beim Einlesen der Konfigurationsdatei gefunden!\nDiese Datei wurde vielleicht mit einer neueren Version gespeichert!\nKonfiguration nicht speichern, sonst knnen Daten verloren gehen!"}, {T_SES_QTR, " QTR "}, {T_SES_QRA, " RUFZ. "}, {T_SES_RST, " RST-S-Nr RST-R-Nr "}, {T_SES_QTH, " LOC "}, {T_SES_QRB, " Pkt/QRB QTF "}, {T_SES_FLG, " Flg "}, {T_SES_OPE, " Oper. "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Bemerkung "}, {T_SES_WELCOME, "Willkommen bei Tucnak! "}, {T_SES_PRESS_F10, "Drcke F10 fr das Men."}, {T_SES_HAVE_FUN, "Viel Spa."}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "QSOs QSO-P. EXCH LOCs DXCCs Tot.P. AVG"}, {T_SES_AVG, " Sch: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " LOCs: %d"}, {T_SF_WWLS_UNDER, "-------------"}, {T_SF_EXCS, " EXCs: %d"}, {T_SF_EXCS_UNDER, "-------------"}, {T_SF_MISS_EXCS, " Missing EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " DXCCs: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " gearb. LOCs: %d"}, {T_SF_WKD_WWLS_UNDER, "-----------------"}, {T_SF_QSO_WWL4, " QSOs in LOCs: %d"}, {T_SF_QSO_WWL4_UNDER, "----------------------"}, {T_SF_STATS_BAND, " Statistik fr Band %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Contest: %s"}, {T_SF_ALLBQSOS, " QSOs aller Bnder: %d"}, {T_SF_ALLBQSOP, " QSOp aller Bnder: %d"}, {T_SF_ALLBPTS, "Punkte aller Bnder: %d"}, {T_SF_QSOS, "QSOs: %d"}, {T_SF_VQSO, "Valid QSOs: %d"}, {T_SF_QSOP, "QSO-Punkte: %d"}, {T_SF_PTS, "Punkte: %d"}, {T_SF_AVG_PTS, "Durchschn. Pkt/QSO: %5.2f"}, {T_SF_AVG_QSOP, "Durchschn. QSO-P/QSO: %5.2f"}, {T_BAND_RO, "Band ist nur SWL"}, {T_THIS_BAND, "Dieses Band"}, {T_OTHER_BANDS, "Andere Bnder"}, {T_CW_DB, "C_W Datenbank"}, {T_PROC_EXITED, "*** Prozess beendet\n"}, {T_WE_CALL2, "Wir rufen"}, {T_WE_LISTEN, "wir hren"}, {T_QSL, "QSL versprochen"}, {T_RECORD, "Audio aufnehmen"}, {T_MAXMIN, " Max. Aufnahmezeit"}, {T_TEMPLATE, "Vorgabe fr Dateiname der Aufnahme:"}, {T_PCM8, "8 Bit PCM"}, {T_PCM16, "16 Bit PCM"}, {T_ULAW, "u-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Kanle"}, {T_SAMPLERATE, "Abtastrate"}, {T_FILLOP, "Operator eintragen"}, {T_HK_FILLOP, "O"}, {T_RECAQRB, "QRB,QTF neu berechnen"}, {T_HK_RECAQRB, "Q"}, {T_NETWORK, "Netzwerk & Verfolgung"}, {T_HK_NETWORK, "K"}, {T_IF_IGNORE, "Ignoriere Interfaces:"}, {T_IP_IGNORE, " Ignoriere Netzwerke:"}, {T_IP_ANNOUNCE, " Senden an Netze:"}, {T_TRACE_BCAST, "Verfolge Broadcasts "}, {T_TRACE_SOCK, "Verfolge Sockets"}, {T_TRACE_RECV, "Verfolge empf. Daten"}, {T_TRACE_SEND, "Verfolge ges. Daten"}, {T_TRACE_QSOS, "Verfolge QSOs "}, {T_TRACE_SDEV, "Trace rotars "}, {T_NOT_MOUNTED_S, "Nicht gemountet: %s"}, {T_RECSRC_NONE, "Nicht setzen"}, {T_RECSRC_MIC, "Mikrofon"}, {T_RECSRC_LINE, "Line in"}, {T_NEW_CALL, "Neu!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV auf %s"}, {T_SKED_QRG, "QRG fr skeds"}, {T_HK_SKED_QRG, "F"}, {T_N_SKED_QRG, "\nQRG fur skeds:"}, {T_GRAB_BAND, "Schnapp Bandkontrolle"}, {T_HK_GRAB_BAND, "G"}, {T_FORCE_RUN, "Erzwinge RUN-Mode"}, {T_HK_FORCE_RUN, "R"}, {T_EXPORT_STATS, "Exportiere Statistiken"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX QSOs:"}, {T_SF_TOP_DX_UNDER, "-------------------"}, {T_ROTAR, "Rotor"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimut"}, {T_ELEVATION, "Elevation"}, {T_CH_SPY, "Spioniere..."}, {T_HK_CH_SPY, "S"}, {T_CH_ENDSPY, "Spionieren beenden"}, {T_HK_CH_ENDSPY, "P"}, {T_EXPORT_TITLPAGE, "Exportiere Titelseite"}, {T_HK_EXPORT_TITLPAGE, "L"}, {T_BREAK_RECORD, "Stoppe Aufzeichnung"}, {T_HK_BREAK_RECORD, "B"}, {T_GLOBAL_OPERATOR, "Fr alle Bnder ndern"}, {T_GLOBAL_OPERATOR2, "Global"}, {T_MAXFRAG, "Max. Nr. von Teilen (>=2)"}, {T_PLAY_LAST, "Spiele letzte Aufzeichnung"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Verschiedene Optionen"}, {T_HK_MISCOPTS, "P"}, {T_LOGLINES, "Logzeilen: "}, {T_SKEDSHIFT, "Sked-Verzgerung (Minuten): "}, {T_STARTBAND, "Anfangsband: "}, {T_GFX_X_CH, "Bildschirmauflsung (Zeichen):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Bildschirmauflsung (Pixel): "}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Rufzeicheninformationen"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSOs/Stunde: %d"}, {T_SF_QSOP_HOUR, "Punkte/Stunde: %d"}, {T_SF_QSOP_50QSO, "Punkte/50 QSOs: %d"}, {T_SF_HOURS, " Stunden"}, {T_SF_HOURS_UNDER, "---------"}, {T_SF_HOURS_TITLE, "Stunde Punkte QSOs AVG pts/QSO"}, {T_QSO_CHECK, "QSO-Kontrolle"}, {T_HK_QSO_CHECK, "K"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Minimaler freier Festplattenspeicher [MiB]"}, {T_FORMAT, "Aufzeichnungsformat"}, {T_PCM_PLAY, "Alsa Abspielgert"}, {T_PCM_REC, "Alsa Aufzeichengert"}, {T_PERIOD, "Wiederholzeit [ms]"}, {T_BUFFER, "Bufferzeit [ms]"}, {T_ALSA_MIXER, "Alsa Mixergert"}, {T_CAPTURE, "Ausgabegert"}, {T_DSP, "Pfad zu /dev/dsp"}, {T_MIXER, "Pfad zu /dev/mixer"}, {T_RECSRC, "Aufnahmequelle"}, {T_PA_PLAY, "Portaudio playback device"}, {T_PA_REC, "Portaudio capture device"}, {T_HOSTNAME, "Hostname:"}, {T_SLASHKEY, "Schrgstrich-Taste"}, {T_FIXQRG, "Fix QRG"}, {T_HK_FIXQRG, "X"}, {T_ENTER_QRG, "Genaue Frequenz eingeben [Hz]"}, {T_BAD_QRG, "Falsche Frequenz"}, {T_CALLSIGN3, "Rufzeichen"}, {T_CALLSIGN_KST, "KST-Stationsrufzeichen:"}, {T_CANT_INIT_WINKEY_S, "Kann winkey nicht finden auf %s"}, {T_WINKEYOPTS, "Winkey-Optionen"}, {T_WK_WK2, "Winkey2 Schnellinitialisierung"}, {T_WK_USEPOT, "Benutze Geschwindigkeitspoti"}, {T_WK_USEBUT, "Benutze Knpfe"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Bug"}, {T_WK_SWAP, "Paddle swap (linkshndig)"}, {T_RIGOPTS, "Funkgertoptionen"}, {T_HK_RIGOPTS, "G"}, {T_RIG_DEVICE, "Gert:"}, {T_RIG_MODEL, "Hamlib modell"}, {T_RIG_SPEED, "Baudrate:"}, {T_RIG_CIV, "CIV-Adresse (hex)"}, {T_RIG_FREQSHIFT, "Freq.versatz SSB->CW"}, {T_RIG_CHOOSE, "Whlen"}, {T_ROTAROPTS, "Rotoroptionen"}, {T_HK_ROTAROPTS, "I"}, {T_DSSAVER, "Deaktiviere Bildschirmschoner"}, {T_DESC, "Beschreibung"}, {T_ROT_NONE, "Kein"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI"}, {T_ROT_HAMLIB, "Hamlib (N/A)"}, {T_ROT_REMOTE, "Remote (N/A)"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Serien-#"}, {T_ROT_ADD, "Neuer Rotor..."}, {T_HK_ROT_ADD, "W"}, {T_ROT_REMOVE, "Entferne Rotor"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "Beambreite"}, {T_SADDR, "Kommunikationsadresse:"}, {T_MODEL, "Modell:"}, {T_ROT_REM_ROTSTR, "Rotor-Buchstabe fr Remote"}, {T_QSOGLOB, "Globale QSO NR"}, {T_PREFGLOB, "Globaler Prefix"}, {T_NOT_RECORDING_S, "Nicht am Aufzeichnen - %s"}, {T_SKEDCOUNT, "Sked Zhler im Popup: "}, {T_FONTHEIGHT, "Schriftgre(16-32): "}, {T_RIG_POLL_MS, "Abfrage Zyklus [ms]: "}, {T_RIG_QRG_R2T, "Setze Band vom TRX"}, {T_RIG_QRG_T2R, "Wechsel Band am TRX"}, {T_RIG_MODE_T2R, "Wechsel Mode am TRX"}, {T_RUN_MODE, "Run mode"}, {T_HK_RUN_MODE, "M"}, {T_SP_MODE, "S&P mode"}, {T_HK_SP_MODE, "M"}, {T_RIG_CLR_RIT, "RIT lschen beim RUN-QSO sichern"}, {T_RIG_DEBUG, "TRX debuggen"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Band QSO Point Mult"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Last Q-%s P-%s"}, {T_EVEN, "Sende gerade Minute"}, {T_HK_EVEN, "g"}, {T_ODD, "Sende ungerade Minute"}, {T_HK_ODD, "u"}, {T_1ST, "Sende 1. Hlfte"}, {T_HK_1ST, "1"}, {T_2ND, "Sende 2. Hlfte"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Punkte:"}, {T_EXPMODE, "Expeditions Modus"}, {T_TTTYPE, "nur Ziffern meinen"}, {T_ROT_POLL_MS, "Abfrage Zyklus [ms]:"}, {T_VERSION, "Version"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, "Name des entf. PC:"}, {T_REMOTE_PORT, "entf. PC TCP port:"}, {T_REMOTE_PASS, "entf. PC Passwort:"}, {T_STARTING_AC, "Starte AS"}, {T_STOPPING_AC, "Beende AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Tempo:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Dauer: %ld"}, {T_EXPORTING_S, "Exportiere %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Kann Alsa PCM '%s': %s nicht ffnen"}, {T_EXPORTING, "Exportiere ..."}, {T_TERMINATING_CONVERSION_TABLES, "Beende Konvertierungstabellen"}, {T_LOADING_CHARTS, "Lade Grafiken"}, {T_INITIALIZING_CWPTT_CONTROL, "Initialisiere CW/PTT Steuerung"}, {T_NO_PPDEV, "Untersttzung fr ppdev/inpout ist nicht einkompiliert"}, {T_NO_DAVAC4_SUPPORT, "Untersttzung fr ist nicht einkompiliert, prfe libftdi"}, {T_CANT_CREATE_PIPE, "Kann keine Pipe erzeugen"}, {T_TERMINATING_CWDAEMON, "Beende CW/PTT Steuerung"}, {T_INIT_CWDB, "Initialisiere WWL Datenbank"}, {T_TERM_CWDB, "Beende WWL Datenbank"}, {T_LOADING_CWDB, "Lade WWL Datenbank"}, {T_QRV_ON, "QRV auf: "}, {T_CANT_INIT_FTDI, "Kann ftdi Bibliothek fr davac4 nicht initialisieren"}, {T_CANT_OPEN_DAVAC4, "Kann davac4 Gert %04x:%04x nicht ffnen, Fehler=%d %s"}, {T_CANT_SET_BAUDRATE, "Kann Baudrate fr davac4 nicht setzen, Fehler=%d %s"}, {T_CANT_ENABLE_BITBANG, "Kann bitbang nicht aktivieren, Fehler=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Kann nicht auf davac4 schreiben, Fehler=%d %s"}, {T_INIT_SOUNDCARD, "Initialisiere Soundkarte"}, {T_NO_OSS, "OSS Untersttzung nicht einkompiliert"}, {T_NO_ALSA, "Alsa Untersttzung nicht einkompiliert"}, {T_NO_PORTAUDIO, "portaudio Untersttzung nicht einkompiliert"}, {T_NO_SNDFILE, "Libsndfile Untersttzung nicht einkompiliert"}, {T_NO_SNDPIPE, "Sndpipe Untersttzung nicht einkompiliert"}, {T_TERMINATING_SOUNDCARD, "Beende Soundkarte"}, {T_INIT_DWDB, "Initialisiere DXCC Datenbank"}, {T_FREE_DWDB, "Beende DXCC Datenbank"}, {T_LOAD_DWDB, "Lade DXCC Datenbank"}, {T_CALLSIGN_UNKNOWN, "Rufzeichen unbekannt in namedb und C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "unbekanntes DXCC Prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix und langer wwl passen nicht zusammen\n"}, {T_KNOWN_CALL_UNK_LOC, "Bekanntes Rufzeichen von unbekanntem Lokator\n"}, {T_CALL_WITHOUT_P, "Rufzeichen ist ohne /P, aber existiert in C_W mit /P\n"}, {T_CALL_WITHOUT_D, "Rufzeichen ist ohne /%d, aber existiert in C_W mit /%d\n"}, {T_CALL_IS_WITH_P_AND, "Rufzeichen ist mit /P, aber exisitert in C_W ohne /P oder CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "hnliches Rufzeichen von diesem Lokator bekannt. Vielleicht %s?\n"}, {T_CALL_ON_BAND_S, "Rufzeichen auf Band %s ist %s\n"}, {T_LOCATOR_ON_BAND, "Locator auf Band %s ist %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO Checkliste\n"}, {T_CALL_SN, "Rufzeichen: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Datum: %s\n"}, {T_CHECKING_S, " Prfe %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Scheint OK zu sein\n"}, {T_CW_NOT_FOUND, "C_W: %s nicht gefunden\n"}, {T_0X_NOT_IN_DB, " 0x (nicht in Datenbank)"}, {T_NAME_IS, "Name: %s's Name ist %s\n"}, {T_NAME_UNKNOWN, "Name: %s's Name ist unbekannt\n"}, {T_INIT_DXC, "Initialisiere DXcluster Datenbank"}, {T_FREE_DXC, "Beende DXcluster Datenbank"}, {T_HK_SELECT, "S"}, {T_HIDE, "Vertecken"}, {T_HK_HIDE, "v"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Nutze"}, {T_HK_USE, "N"}, {T_BAD_DXC_PORT, "*** Falscher DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Drcke ENTER fr Verbindung mit DXC ***\n"}, {T_CANT_RESOLVE, "*** Kann %s nicht auflsen: %s ***\n"}, {T_HOST_RESOLVED, "*** Rechnername aufgelst "}, {T_CANT_CREATE_SOCKET, "*** Kann keinen Socket erzeugen. %s ***\n"}, {T_CONNECTING_TO, "*** Verbinde mit %s ***\n"}, {T_CANT_CONNECT_TO, "*** Kann nicht mit %s verbinden, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Socket %d verbunden ***\n"}, {T_ERROR_READING_SOCKET, "*** Fehler beim Lesen vom Socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Getrennt ***\n"}, {T_RESOLVING, "*** Lse %s auf ***\n"}, {T_LOADED_LOCS_NAMES, "%d Locatoren und %d Namen von %s geladen"}, {T_SAVED, "Saved '%s'"}, {T_LOADING_CONTEST, "Lade Contest %s"}, {T_LOADING_LOGFILE, "Lade Logdatei"}, {T_LOADING_TALK, "Lade Talk"}, {T_SEARCH_FILES, "Suche nach Contest Dateien"}, {T_LOADING_BAND, "Lade Band %s"}, {T_LOADING_SPY, "Lade Spion"}, {T_LOADING_HICALLS, "Lade hicalls"}, {T_LOADING_QRV, "Lade qrv"}, {T_LOADING_CHART, "Lade Karte"}, {T_SAVING_CONTEST, "Sichere Contest"}, {T_UPD_INT_DATA, "Aktualisiere interne Daten"}, {T_CALC_STATS, "Berechne Statistiken"}, {T_ANN_OVER_NET, "Melde ber Netzwerk"}, {T_ACTIVATING_BAND, "Aktiviere Band %s"}, {T_UPDATING_WKD, "Aktualisiere gearbeitete Rufzeichen"}, {T_UPDATING_QRBQTF, "Aktualisiere QRB&QTF"}, {T_UPDATING_GAIN, "Aktualisiere Gain-Karte"}, {T_SEN_OVER_NET, "Sende Info ber Netzwerk"}, {T_INIT_EXCDB, "Aktualisiere Austausch-Datenbank"}, {T_FREE_EXCDB, "Beende Austausch-Datenbank"}, {T_INIT_FFT, "Initialisiere FFT-Analyse"}, {T_FREE_FFT, "Beende FFT-Analyse"}, {T_INIT_ROTAR, "Initialisiere Rotor-Steuerung"}, {T_FREE_ROTAR, "Beende Rotor-Steuerung"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Punkte"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initialisiere HTTP Server"}, {T_FREE_HTTPD, "Beende HTTP Server"}, {T_NO_CONTEST_OPENED, "

Kein Contest geffnet

\n"}, {T_NO_CONTEST_OPENED2, "Kein Contest geffnet"}, {T_STATS, "Statistiken"}, {T_BAND_NOT_FOUND, "Band nicht gefunden"}, {T_BAND_C_NOT_FOUND, "

Band %c nicht gefunden

"}, {T_QSOS_IN_DATABASE, "QSOs in Datenbank"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online Log"}, {T_DATE2, "Datum"}, {T_UTC, "UTC"}, {T_CALL, "Rufzeichen"}, {T_CALL_NOT_FOUND, "Rufzeichen nicht gefunden"}, {T_CANT_LOAD_INPOUT, "Kann inpout32.dll nicht laden, Fehler %d"}, {T_FREE_TERM, "Beende Terminal"}, {T_TERM_KEYMAPS, "Beende keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh, ein Fehler"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Bitte um Sked"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Nachricht"}, {T_HK_MESSAGE, "N"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Es ist verboten Zahlen ber KST zu senden\n"}, {T_RESOLVED, "*** aufgelst "}, {T_ENTER_TO_CONNECT_KST, "\n*** Drcke ENTER fr Verbindung mit ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sende uns /sh ...\n"}, {T_SKIP_LINE, "berspringe Zeile %d '%s'"}, {T_CANT_CREATE_HOME, "Kann kein Heimatverzeichnis anlegen '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' muss ein Verzeichnis sein (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak Verzeichnis ist %s"}, {T_INIT_MAP, "Initialisiere Polar-Karte"}, {T_DISABLE_SAVER, "deaktiviere Bildschirmschoner"}, {T_STARTING_TUCNAK, "Starte Tucnak"}, {T_FREE_MAP, "Beende Polar-Karte"}, {T_INIT_MASTERDB, "Initialisiere Master-Datenbank"}, {T_FREE_MASTERDB, "Beende Master-Datenbank"}, {T_LOAD_MASTERDB, "Lade Master-Datenbank"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN Version: %s\nLibzia SVN Version: %s"}, {T_DIRECTORY_SCAN, "Verzeichnis Scan"}, {T_V3_COMPATIBILITY, " (V3 Komatibilitt)"}, {T_RELOAD_INTERFACES, "Lade Schnittstellen neu"}, {T_SET_READONLY, "Setze auf SWL"}, {T_CHANGE_TYPE, "Wechsel Typ"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "ffne Verbindung"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Beende Verbindung"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Exportiere in Text-Datei"}, {T_ADD_CONTEST, "Fge Contest hinzu"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Fge Dateien hinzu"}, {T_HK_ADD_FILES, "D"}, {T_ADD_CONTESTS, "Fge Conteste hinzu"}, {T_HK_ADD_CONTESTS, "C"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash Test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Fehler int. Test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Sichere RW Bnder and Rauten"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Tucnak Update"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Einstellungen"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload auf vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload auf MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "VoIP Spionage"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "Beende VoIP Spionage"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest ist alt, Spionage nicht verfgbar"}, {T_NETWORK_SCAN, "Netzwerk Scan"}, {T_HTTPD_OPTIONS, "HTTPD Optionen"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter Optionen"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR Optionen"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter Optionen"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Andere:"}, {T_NONE, "keine "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "n. verw."}, {T_USED_6, "verw.(6)"}, {T_OPT_6, "opt. (6)"}, {T_USED_4, "verw. (4)"}, {T_OPT_4, "opt. (4)"}, {T_FREE, "frei "}, {T_MULTIPLIED, "multipl."}, {T_VERIFIED, "geprft "}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Bestt. WWL"}, {T_CONFIRM_EXC, "Bestt. EXC"}, {T_FONT_SIZE, "Schriftgre: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, " SLOVHF user:"}, {T_SDR, "SDR"}, {T_PARPORT, "Parallelport"}, {T_TTYS, "Comports"}, {T_TTYSSINGLE, "Comports single pin"}, {T_AUDIO_SUBSYSTEM, "Audio Subsystem:"}, {T_PLAYBACK_VOLUME, "Wiedergabelautstrke"}, {T_CAPTURE_VOLUME, "Aufnahmelautstrke"}, {T_ENABLE_REMOTE_CONNECT, "Aktiviere Fernverbindung"}, {T_TRACE_RIG, "Trace TRX"}, {T_TRACE_KEYS, "Trace Tasten"}, {T_SAVE_RESTART, "Bitte Konfiguration speichern und Tucnak neu starten"}, {T_FULLSCREEN, "Vollbild"}, {T_TOUCH, "Nutze Touch Steuerung"}, {T_ALT_QWER, "Alt wechselt QWER.. zu 1234.."}, {T_NO_LOCKS, "Keine gesperrten Gerte"}, {T_PORTRAIT_ORIENTATION, "Hochformat"}, {T_REVERSE, "Umkehr"}, {T_CHOOSE_RIG, "Whle TRX"}, {T_RIG_D, "TRX %d"}, {T_NEW_RIG, "Neuer TRX"}, {T_ENABLED, "Aktiviert"}, {T_SET_PTT_ON_RADIO, "Setze PTT am TRX"}, {T_DISABLED, " (deaktiviert)"}, {T_ADD_RIG, "neuer TRX"}, {T_REMOVE_RIG, "entferne TRX"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Aktiviere"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Zeige private Informationen"}, {T_REFRESH, "Aktualisierungsintervall:"}, {T_LOAD_FROM_NET, "Lade vom Netzwerk"}, {T_LOAD_CWDB, "Lade C_W Datenbank"}, {T_LOAD_NAMEDB, "Lade Namen Datenbank"}, {T_LOAD_QRVDB, "Lade QRV Datenbank"}, {T_READONLY_BANDS, "SWL Bnder"}, {T_ENABLE_AC, "Aktiviere AS"}, {T_AC_URL, "Alternative URL fr Flugradar Daten"}, {T_K_FACTOR, "Troposphren k-Faktor"}, {T_AC_AREA_WIDTH, "Breite Reflexionsgebiet in km"}, {T_AC_EL_ANGLE, "Minimaler Elevationswinkel"}, {T_AC_MAX_EL_ANGLE, "Maximaler Elevationswinkel"}, {T_AC_MIN_DURATION, "Minimale Reflektionsdauer in sek"}, {T_AC_MAX_DIFF, "Maximaler Unterschied zwischen Ein- und Ausfallswinkeln"}, {T_BAD_NUMBER_RANGE, "ungltiger Zahlenbereich"}, {T_AF_SRATE_GREATER_SRATE, "AF Sampling-Rate kann nicht grer sein als Sampling-Rate"}, {T_SRATE_DIVISIBLE, "Sampling-Rate muss ohne Rest durch AF Sampling-Rate teilbar sein"}, {T_NO_DEVICE, "kein Gert"}, {T_IQ_SOURCE, "IQ Quelle:"}, {T_WAV_FILE, "WAV Datei"}, {T_WAV_FILE_NAME, "WAV Dateiname"}, {T_AF_OUTPUT, "AF Leistung:"}, {T_AF_SAMPLE_RATE, "AF Sampling-Rate"}, {T_BLOCK_SIZE, "Block Gre"}, {T_CW_FILTER, " CW Filter"}, {T_TO_HZ, "bis [Hz]"}, {T_SSB_FILTER, " SSB Filter"}, {T_INIT_NAMEDB, "Initialisiere Namen Datenbank"}, {T_FREE_NAMEDB, "Beende Namen Datenbank"}, {T_LOAD_NAMEDB2, "Lade Namen Datenbank"}, {T_INIT_NET, "Initialisiere Netzwerk"}, {T_FREE_NET, "Beende Netzwerk"}, {T_ONLY_55555_CAN_REMOTE, "Nur tucnak auf Port 55555 kann auf FernPC verbinden um Namensschleifen zu vermeiden"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Kann nicht zu mir selber verbinden (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Kann nicht zu mir selber verbinden (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Kann FernPC nicht parsen %s"}, {T_TIME_WAS_SET, "Zeit wurde gesetzt"}, {T_FAILED_TO_SET_TIME, "Zeit konnte nicht gesetzt werden"}, {T_INIT, "INITIALISIERE"}, {T_CONNECTING, "VERBINDE"}, {T_CONNECTED, "VERBUNDEN"}, {T_WAIT_ACK, "WARTE AUF BESTTIGUNG"}, {T_DISCONNECTED2, "GETRENNT"}, {T_DEAD, "TOT"}, {T_LONG_XFER, "LANGER TRANSFER"}, {T_AUTHENTICATED_USER_S, "Authentifizierter Benutzer %s"}, {T_BAD_AUTHENTICATION_S, "Falsche Authentifizierung %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Langer Transfer gestartet, bitte warten"}, {T_LONG_TRANSFER_FINISHED, "Langer Transfer beendet"}, {T_INIT_NTP, "Initialisiere NTP Monitor"}, {T_FREE_NTP, "Beende NTP Monitor"}, {T_NO_NTP, "Warnung! Die Zeit auf diesem PC ist nicht synchronisiert, bitte nutze NTP"}, {T_INIT_SPEAKER, "Initialisiere PC Laustsprecher"}, {T_FREE_SPEAKER, "Beende PC Lautsprecher"}, {T_CANT_PLAY, "Kann %s - %s nicht wiedergeben"}, {T_CANT_SEEK_TO_END, "Kann nicht ans Ende von %s - %s springen"}, {T_CANT_SEEK_TO_START, "Kann nicht zum Anfang von %s - %s springen"}, {T_CANT_OPEN, "Kann %s %s nicht ffnen"}, {T_TIP_MKNOD, "Tipp: Probiere als root auszufhren: \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tipp: Probiere als root auszufhren: \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Kann %s nicht in EPP Modus setzen %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Habe keinen exklusiven Zugriff auf %s %s"}, {T_CANT_CLAIM, "Kann %s %s nicht belegen"}, {T_INIT_QRVDB, "Initialisiere QRV Datenbank"}, {T_FREE_QRVDB, "Beende QRV Datenbank"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Lade QRVs"}, {T_UNSPECIFIED, "unspezifiziert"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "fge Fehler fr Band %c, QSOnr %d hinzu\n"}, {T_FOUND_D_ERRORS, "Habe %d Fehler%s beim Lesen von %s gefunden"}, {T_FOUND_D_ERRORS_RC_NET, "Habe %d Fehler beim Lesen vom Netz gefunden"}, {T_REGISTRATED_ROTATORS, "Registrierte Rotoren:"}, {T_UNSUPPORTED_ROTATOR, "nicht untersttzter Rotor-Type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Warte auf hamlib Rotor Prozess"}, {T_INIT_ROTARS2, "Initialisiere Rotoren"}, {T_UNKNOWN_ROTAR, "Unbekannter Rotor '%s'\n"}, {T_ROTAR_ERROR_S, "Rotor Fehler: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Kann nicht vom SDR DSP aufnehmen"}, {T_CANT_PLAY_TO_SDR_DSP, "Kann nicht auf SDR DSP wiedergeben"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Kann SDR Soundpipe nicht ffnen (Wiedergabe)"}, {T_CANT_READ_FROM, "Kann nicht lesen von"}, {T_CANT_WRITE_TO, "Kann nicht schreibne auf"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Drcker ENTER fr Verbindung mit ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Falscher Dateiname fr Update"}, {T_CANT_EXECUTE_INSTALLER, "Kann Installer nicht ausfhren, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Fehler bei Tucnak Update"}, {T_UPDATE_FAILED, "Update abgebrochen"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Fehler bei Tucnak Update, kann Antwort nicht auswerten."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Fehler bei Tucnak Update. %s"}, {T_NEW_VERSION_AVAIL, "Neue Version %s ist verfgbar. Installation ber Men Datei, Tucnak Update."}, {T_NO_NEW_VER, "Keine neue Version verfgbar."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Lese Liste geffneter Conteste..."}, {T_CHOOSE_CONTEST, "Whle Contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "Kein Contest fr Upload verfgbar"}, {T_OBTAINING_CONTEST_WEB_FORM, "Erhalte Contest Web-Formular..."}, {T_ALL_EDI_FILES_PROCESSED, "Alle EDI-Dateien bearbeitet."}, {T_UPLOADING_LOG_FILE_S, "Logdatei %s wird hochgeladen ..."}, {T_UPLOADING_BAND_S, "Lade hoch von Band %s"}, {T_CONFIRMING_LOG, "Besttige Log..."}, {T_RESULT_ERROR, "*** Ergebnis: FEHLER. Bitte obenstehende Fehlermeldung beachten"}, {T_LOG_IS_NOT_VALID, "Log ist ungltig. Bitte Fehlermeldung prfen und wiederholen: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Download beanspruchter Punkte..."}, {T_LOGS_UPLOADED, "Logs hochgeladen."}, {T_HTTP_STATUS, "HTTP Status: "}, {T_LOG_UPLOAD, "Log Upload"}, {T_VOIP_NO_INITIALIZED, "VoIP nicht initialisiert"}, {T_PAGE_NAME, "Seitenname"}, {T_OVERWRITE_EXISTING_FILES, "berschreibe bestehende Dateien"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Passwort"}, {T_EXPORT_MAP, "Exportiere Karte"}, {T_EXPORT_CHART, "Exportier Grafik"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki Upload"}, {T_BAD_AUTH_USER, "Falscher Benutzername %s != %s"}, {T_BAD_AUTH_PASS, "Falsches Passwort %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest ist nicht der Geliche: FORMAT des AC Rahmens"}, {T_CANT_GET_FMTS, "Kann keine untersttzten Audioformate holen: %s"}, {T_CANT_SET_FMT, "Kann Audioformat %d nicht setzen, Empfehlung %d: %s"}, {T_CANT_SET_FMT_RET, "Kann empfohlenes Audioformat nicht setzen %d, Rckmeldung %d: %s"}, {T_CANT_SET_FALLBACK, "Kann Notfall Audio %d nicht setzen, Rckmeldung %d: %s"}, {T_CANT_SET_CHANNELS, "Kann Kanle %d nicht setzen, Empfehlung %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Kann empfohlende Kanle %d nicht setzen, Rckmeldung %d: %s"}, {T_CANT_SET_RATE, "Kann Sample-Rate %d nicht setzen, Empfehlung %d: %s"}, {T_CANT_SET_RATE_RET, "Kann empfohlene Sample-Rate %d nicht setzen, Rckmeldung %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Kann Blockgre %d nicht setzen: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unbekanntes PortAudio Gert %d"}, {T_CANT_OPEN_PA_STREAM, "Kann PortAudio Stream %d fr %s nicht ffnen: %s"}, {T_RECORD2, "Aufnahme"}, {T_PLAYBACK, "Wiedergabe"}, {T_CANT_PA_STREAM, "Fehler bei %s PortAudio Stream %d: %s"}, {T_CANT_STOP_PA, "Kann PortAudio Stream nicht stoppen: %s"}, {T_CANT_CLOSE_PA, "Kann PortAudio Stream nicht schlieen: %s"}, {T_TIP_RMMOD, "Tipp: Probiere als root auszufhren: \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tipp: oder tte Prozess in : \"lsof %s\""}, {T_CANT_SET_STROBE, "Kann Parallelport_STROBE nicht setzen %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Rotornummer %d unbekannt oder Initialisierungsfehler"}, {T_CANT_CREATE_HL_ROT_THR, "Kann keinen hamlib Rotor-Thread anlegen\n"}, {T_INIT_SERIAL_DEVICES, "Initialisiere serielle Gerte"}, {T_BAD_CHECKSUM, "Falsche Prfsumme"}, {T_TIMEOUT2, "Zeitberschreitung"}, {T_BAD_RESPONSE, "falsche Antwort"}, {T_UNKNOWN_FUNCTION, "Unbekannte Funktion"}, {T_UNKNOWN_ERROR_CODE, "Unbekannter Fehlercode"}, {T_CANT_CREATE_SDR_THR, "Kann keinen SDR-Thread anlegen\n"}, {T_WAIT_FOR_SDR_THR, "Warte auf SDR-Thread"}, {T_QSO_REQ_FROM_SP, " QSO Anfrage von S&P "}, {T_QSO_REQ_SENT, " QSO Anfrage an RUN gesendet "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Unbekannter Ort"}, {T_DEGREE, "Grad"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Kann Datei '%s' nicht ffnen: %s"}, {T_CANT_OPEN_SOUND_PIPE, "Kann Sound-Pipe nicht ffnen"}, {T_INIT_SSB_CQ, "Initialisiere SSB CQ"}, {T_FREE_SSB_CQ, "Beende SSB CQ"}, {T_NO_FILE, "Keine Datei ausgewhlt"}, {T_UNSUP_CHANNELS, "nicht untersttzte Nummer von Kanlen = %d"}, {T_FLOAT_UNSUPP, "Fliekommadateien sind nicht untersttzt"}, {T_CANT_OPEN_DSP_PLAY, "Kann DSP %s nicht zur Wiedergabe ffnen"}, {T_REC_DISABLED, "Aufnahme deaktiviert"}, {T_CONTEST_TOO_OLD, "Contest zu alt"}, {T_NO_FREE_DISK_SPACE, "Nicht genug freier Plattenspeicher fr %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Fehler beim Schreibne von %s: %s"}, {T_CANT_OPEN_DSP_REC, "Kann DSP %s nicht zur Aufnahme ffnen"}, {T_NO_DISK_SPACE, "Nicht genug freier Plattenspeicher fr Datei"}, {T_CANT_PLAY_FILE, "Kann Datei nicht wiedergeben %s - %s"}, {T_CANT_WRITE_SS, "Kann nicht in Datei schreiben %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "Kein letztes Sample aufgenommen"}, {T_NO_MACRO_IN_TEMPLATE, "Kein Makro %% in SSBD Vorlage"}, {T_NEW_WINDOWS_3, "Hinweis: Seit Version 3.00 gibt es spezielle Fensterarten fr DX cluster und ON4KST Chat.\nDamit hast Du besseren Komfort und mehr Funktionalitt\n\n"}, {T_ENTER_TO_DXC2, "*** Drcker ENTER fr Verbindung mit DXC ***"}, {T_LOADING_S, "Lade %s"}, {T_INVALID_WINDOW_TYPE, "ungltige Fensterart %d\n"}, {T_INIT_RIG, "Initialisiere TRX Steuerung %d"}, {T_RIG_ERROR, "TRX Fehler: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Kann keinen TRX Thread anlegen\n"}, {T_FREE_RIG, "Beende TRX Steuerung %d"}, {T_WAIT_FOR_RIG_THR, "Warte auf TRX Thread"}, {T_INVALID_PARAM, "unzul. Parameter"}, {T_RIG_INVALID_CONFIG, "unzul. Konfig"}, {T_RIG_NOT_ENOUGH_MEM, "zu wenig Speicher"}, {T_RIG_NOT_IMPLEMENTED, "nicht implementiert"}, {T_RIG_COMM_TIMEOUT, "Comm. Zeitberschreitung"}, {T_RIG_IO_ERROR, "I/O Fehler"}, {T_RIG_INTERNAL_ERROR, "Interner Fehler"}, {T_PROTOCOL_ERROR, "Protokoll Fehler"}, {T_RIG_COMMAND_REJECT, "Kommando verweigert"}, {T_RIG_ARG_TRUNCATED, "Arg. abgeschnitten"}, {T_RIG_F_NOT_AVAILABLE, "F nicht verfgbar"}, {T_RIG_VFO_NOT_TARGET, "VFO nicht Ziel."}, {T_RIG_ERROR_ON_BUS, "Bus-Fehler"}, {T_RIG_BUS_COLLISION, "Bus-Kollision"}, {T_RIG_INVALID_ARG, "unzul. Arg."}, {T_RIG_INVALID_VFO, "unzul. VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg ausserh. dom."}, {T_ERROR_D, "Fehler %d"}, {T_CANT_SET_GRAPHICS1, "Grafikmodus nicht setzbar (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Grafikmodus nicht setzbar"}, {T_WAIT_SDL_THR, "Warte auf SDL Event Thread"}, {T_FREE_GRAPHICS, "Beende Grafik"}, {T_CANT_GET_LIST_OF_CONTESTS, "Kann nicht Contestliste holen: %s"}, {T_CANT_GET_UPLOAD_FORM, "Bekomme kein Upload Formular: %s"}, {T_CANT_READ_LOG_FILE, "Kann Logfile nicht lesen %s"}, {T_CANT_UPLOAD_LOG, "Kann Log nicht hochladen: %s"}, {T_CANT_CONFIRM_LOG, "Kann Log nicht besttigen: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Kann beanspruchte Punkte nicht holen: %s"}, {T_ANT_OPEN_DSP_PLAY, "Kann DSP %s nicht fr Wiedergabe ffnen"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Datum:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Punkte:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 Calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Kann Datei nicht hochladen: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Kann Seite nicht hochladen, Wiki antwortet: %s"}, {T_FILE_ALREADY_EXISTS, "Datei existiert bereits: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Kann Seite nicht hochladen, Wiki antwortet: %s"}, {T_CANT_EDIT_PAGE, "Kann Seite nicht editieren: %s"}, {T_CANT_EDIT_PAGE_RET, "Kann Seite nicht editieren, Wiki antwortet: %s"}, {T_CANT_EDIT_PAGE_RET2, "Kann Seite nicht editieren, Wiki antwortet %s"}, {T_EDITING_CONTEST_PAGE, "Editiere Contest Seite ..."}, {T_ALL_DONE, "Alles erledigt."}, {T_UPLOADING_FILE, "Lade Datei %s hoch ..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unbekannte Datei zum Upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Kann Edit-Token nicht abfragen: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Kann Edit-Token nicht abfragen, Wiki antwortet: %s"}, {T_QUERYING_EDIT_TOKEN, "Frage Edit-Token ab"}, {T_CANT_LOGIN, "Anmeldefehler (2): %s"}, {T_CANT_LOGIN2, "Anmeldefehler (2), Wiki antwortet: %s"}, {T_CANT_LOGIN1, "Anmeldefehler (1): %s"}, {T_LOGGING_IN, "Anmeldung..."}, {T_EXPORTING_FILES, "Exportiere Dateien..."}, {T_INIT_WIZZ, "Initialisiere Contest Assistent"}, {T_FREE_WIZZ, "Beende Contest Assistent"}, {T_LOAD_WIZZ_DATA, "Lade Contest Assistent Daten"}, {T_ADIF_EXPORT_MODE, "ADIF Export fehlerhafter QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Contest phase"}, {T_HK_PHASE, "H"}, {T_ENTER_PHASE, "New contest phase: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_portuguese [] = { {0, NULL}, {T__CHAR_SET, "iso8859-1"}, {T__LANGUAGE, "Portugus"}, {T_ABOUT, "Acerca"}, {T_BAD_NUMBER, "Nmero errado"}, {T_BAD_STRING, "String errada"}, {T_BASIC_HELP, "Prima F10 para ter o menu.\nDivirta-se."}, {T_BLOCK_CURSOR, "Cursor de bloco"}, {T_CANCEL, "Cancelar"}, {T_CHARACTER_SET, "Definio de caracter"}, {T_COLOR, "Cor"}, {T_COPYING, "Licena"}, {T_DIFFERENCE, "diferena"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Quer mesmo sair do Tucnak?"}, {T_EMPTY_STRING_NOT_ALLOWED, "String vazia no permitida"}, {T_ERROR, "Erro"}, {T_WARNING, "Aviso"}, {T_EXIT, "Sair"}, {T_EXIT_TUCNAK, "Sair do Tucnak"}, {T_FILE, "Ficheiro"}, {T_FULL_SCREEN, "Monitor completo"}, {T_HELP, "Ajuda"}, {T_HK_ABOUT, "A"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "H"}, {T_HK_COPYING, "C"}, {T_HK_EXIT, "X"}, {T_HK_FILE, "F"}, {T_HK_FULL_SCREEN, "F"}, {T_HK_HELP, "H"}, {T_HK_LANGUAGE, "L"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "S"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "W"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "KOI8-R frames"}, {T_LANGUAGE, "Linguagem"}, {T_LAST, "ltimo"}, {T_LINUX_OR_OS2_FRAMES, "Linux ou OS/2 frames"}, {T_MEMORY_INFO, "Informao da memria"}, {T_NO_FRAMES, "No h frames"}, {T_NO, "No"}, {T_NUMBER_EXPECTED, "Esperado nmero no campo"}, {T_NUMBER_OUT_OF_RANGE, "Nmero fora de alcance"}, {T_OK, "OK"}, {T_OS_SHELL, "OS shell"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Frames restringidas em cp850/852"}, {T_UTF_8_IO, "UTF-8 Input/Output"}, {T_SCREEN, "Monitor"}, {T_SETUP, "Definies"}, {T_TERMINAL_OPTIONS, "Opes do terminal"}, {T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nComo o programa de concursos de V/U/SHF TACLOG"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Usar ^[[11m"}, {T_VT_100_FRAMES, "VT 100 frames"}, {T_WELCOME1, "Bem vindo ao Tucnak!"}, {T_WELCOME2, "Digite seu indicativo e localizador:"}, {T_WELCOME, "Bem vindo"}, {T_XTERM, "Xterm"}, {T_YES, "Sim"}, {T_CANT_APPEND_S, "No posso anexar ao ficheiro %s"}, {T_CANT_WRITE, "No posso escrever para o ficheiro"}, {T_CANT_WRITE_S, "No posso escrever para o ficheiro %s"}, {T_CANT_READ, "No posso ler desde o ficheiro"}, {T_CANT_READ_S, "No posso ler desde o ficheiro %s"}, {T_SAVED_S, "Guardado %s"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - velocidade do cw "}, {T_CANT_OPEN_S, "No posso abrir %s"}, {T_CANT_LOCK, "No posso fechar"}, {T_CANT_LOCK_S, "No posso fechar %s"}, {T_LOADING_CTEST_S, "*** A carregar o concurso %s"}, {T_NO_FILES, "Nenhuns ficheiros na directoria"}, {T_BAND_EXIST_SS, "AVISO! A banda %s (%s) j existe"}, {T_BAND_NOT_OPEN, "A banda no est activa neste concurso"}, {T_NO_BANDS, "Nenhumas bandas para carregar"}, {T_CANT_SET_GR_S, "No posso definir modos grficos-%s"}, {T_GCALL, "Indicativo: %s"}, {T_GWWL, "WWL: %s"}, {T_GQRB, "QRB: %d km"}, {T_GQTF, "QTF: %d"}, {T_GSEN, "Sent: %s %s"}, {T_GRCV, "Rcvd: %s %s"}, {T_GTIM, "Time: %s"}, {T_GOPE, "Op: %s"}, {T_GREM, "Rem: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "income: %d"}, {T_GLON, "Lon:%7.2f %-6s"}, {T_GLAT, "Lat:%7.2f %-6s"}, {T_GLOC, "Loc: %s"}, {T__PLESE_WAIT_, " Por favor ESPERE "}, {T__RO_BAND, " BANDA SO PARA LER"}, {T_COPYING_VER, "O ltimo programa de concurso - to necessrio como conhecido\n\nVerso " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nEste programa software livre; voc pode redistribuir e/ou modific-lo debaixo dos termos da licena GNU General Public License verso 2 como publicado pelo Free Software Foundation."}, {T_CTEST_ACTIVE, "O concurso j est activo "}, {T_NO_CTESTS, "Nenhum concurso"}, {T_NO_CCLOSE, "Nenhum concurso para fechar"}, {T_REALLY, "De certeza?"}, {T_CLOSE_CTEST, "Quer mesmo fechar este concurso?"}, {T_GUI_LD, "GUI: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw items, %d wc items, ltimo %d\n"}, {T_EXC, "Exc: %s %d exc items, %d cxe items, ltimo %d\n"}, {T_VEXC, "Verified EXC: %d items\n"}, {T_DWI, "D_W: %d prefixos, %d DXCCs, %d WWLs\n"}, {T_NAMES, "Nomes: %d nomes\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Memria:"}, {T_NMY, " Meu: "}, {T_NGLOBAL, "Global: "}, {T_NMASTER, "Master: "}, {T_NREMOTE, "Remote: "}, {T_NSLAVES, "\nSlaves:\n"}, {T_NINFO, "Informao da rede"}, {T_NO_BANDS_QRV, "Nenhumas bandas QRV"}, {T_NO_BANDS_CONF, "Nenhumas bandas configuradas"}, {T_NOT_AVAILABLE, "No disponvel"}, {T_ADD_SUBWIN, "Adicionar subwin"}, {T_HK_ADD_SUBWIN, "A"}, {T_CLOSE_SUBWIN, "Fechar subwin"}, {T_HK_CLOSE_SUBWIN, "C"}, {T_HK_NINFO, "N"}, {T_NEW, "Novo"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Novo desde os exemplos"}, {T_HK_NEW_WIZZ, "W"}, {T_NEW_NET, "Novo desde a rede"}, {T_HK_NEW_NET, "T"}, {T_OPEN, "Abrir"}, {T_HK_OPEN, "O"}, {T_SAVE, "Guardar"}, {T_HK_SAVE, "S"}, {T_EXPORT_EDI, "Exportar como EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Exportar como reporte"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Exportar como ADIF"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Export as ADIF"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Exportar como HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Export as MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Importar EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Importar ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Importar swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Import list"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Opes do concurso"}, {T_HK_CONTEST_OP, "O"}, {T_CLOSE_CONTEST, "Fechar concurso"}, {T_HK_CLOSE_CONTEST, "C"}, {T_ADD_ERROR, "Adicionar ERRO"}, {T_HK_ADD_ERROR, "E"}, {T_CHOP, "Mudar de operador"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Actualizar o C_W desde um concurso"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Actualizar o C_W desde a banda"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Actualizar o EXC DB desde o concurso"}, {T_HK_EXC_CTEST, "P"}, {T_EXC_BAND, "Actualizar o EXC DB desde a banda"}, {T_HK_EXC_BAND, "D"}, {T_IMPORT_EBW, "Importar a database de DL8EBW"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "Nenhum concurso"}, {T_NO_PEERS, "Nenhuns peers encontrados"}, {T_NO_MASTER, "O master no est disponvel!"}, {T_CTEST_DEF, "Configurao do concurso"}, {T_HK_CTEST_DEF, "O"}, {T_BAND_DEF, "A banda por defeito"}, {T_HK_BAND_DEF, "B"}, {T_HK_RESPOP, "P"}, {T_CW_DAEMON, "Chave de CW"}, {T_HK_CW_DAEMON, "E"}, {T_CW_CQ, "CW CQ"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB CQ"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Auto guardar"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Carregar a cfg desde a net"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Carregar o C_W desde a net"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Guardar a configurao"}, {T_HK_SAVE_CFG, "F"}, {T_CONTEST, "Concurso"}, {T_HK_CONTEST, "C"}, {T_EDIT, "Editar"}, {T_HK_EDIT, "E"}, {T_BANDS, "Bandas"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Subwins"}, {T_HK_SUBWINS, "W"}, {T_BAND_SETTINGS_SC, "As definies da banda por banda %c %s"}, {T_QRV_ON_THIS_BAND, "QRV nesta banda"}, {T_QRV_IN_THIS_CTEST, "QRV neste concurso"}, {T_READ_ONLY, "So ler"}, {T_MULTI, "Multi"}, {T_SINGLE, "Szinho"}, {T_CHECK, "Verificar"}, {T_TXEQUIP, " equip de TX:"}, {T_POWER, " potncia:"}, {T_RXEQUIP, " equip de RX:"}, {T_ANTENNA, " antena:"}, {T_AGLASL, " AGL;ASL:"}, {T_OPS, "operadores:"}, {T_SPACES1, " "}, {T_REMARKS, " anotaes:"}, {T_OK_SECTION_SINGLE, "Categoria single em OK"}, {T_OK_SECTION_MULTI, "Categoria multi em OK"}, {T_QRG_MIN, "Limite da banda desde"}, {T_QRG_MAX, "para [kHz]"}, {T_ADIFBAND, "Nome da banda em ADIF"}, {T_SKEDQRG, "QRG para skeds (formato livre)"}, {T_BAND_LO, "Transverter's LO QRG [Hz]"}, {T_BANDSW, "Band switch value"}, {T_RESPOP, "Operador responsvel"}, {T_NAME, " nome:"}, {T_CALLSIGN, " indicativo:"}, {T_ADDRESS, " endereo:"}, {T_POSTCODE, "cdigo postal:"}, {T_CITY, " cidade:"}, {T_COUNTRY, " pas:"}, {T_PHONE, " telefone:"}, {T_BBSEMAIL, " BBS/Email:"}, {T_QP0, " --nenhum -- "}, {T_QP1, " 1 QSOp*QSOp_m (Std. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK activity)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltic)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (district codes)"}, {T_QP13, "13 Continent (CQ WW DX Contest)"}, {T_QP14, "14 Continent+band (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --none -- "}, {T_TP1, " 1 Multiplicative (Std. IARU)"}, {T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "Novo concurso"}, {T_CANT_TRUNC, "No posso mutilar o ficheiro de desc"}, {T_NAME_OF_CTEST, "Nome do concurso:"}, {T_CALL_OF_CTEST, "Indicativo no concurso:"}, {T_CLUB_ST, "Estao do clube:"}, {T_YOURWWL, "A sua quadrcula:"}, {T_YOUREXC, "O seu EXC:"}, {T_DATE_OF_CTEST, "Data do concurso:"}, {T_QSOUSED, "QSO NR usado"}, {T_QSOPM, " QSOp multi:"}, {T_WWLUSED, "Quadrcula usada "}, {T_WWLB, "Bnus da quadrcula:"}, {T_WWLM, "Multi da quadrcula:"}, {T_EXCUSED, "EXC usada"}, {T_EXCB, " Bnus do EXC:"}, {T_EXCM, "Multi do EXC:"}, {T_EXCNAME, "EXC name:"}, {T_PREFM, "PREF multi:"}, {T_DXCB, "DXC bnus:"}, {T_DXCM, "DXC multi:"}, {T_RSTUSED, "RST usado "}, {T_DEFRS, "RS por defeito:"}, {T_DEFRST, "Def RST:"}, {T_ALSORSTR, "Also for RST-R"}, {T_QP_CALC, " QSOp calc:"}, {T_TO_CALC, "Total calc:"}, {T_EDI_PROP, "EDI prop"}, {T_RESPOP2, "Op responsvel"}, {T_EDIT_QSO_CD, "Editar QSO %c: %03d"}, {T_CALLSIGN2, "Indicativo:"}, {T_CLUB, " Clube:"}, {T_PADR1, " PAdr1:"}, {T_PADR2, " PAdr2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Operador:"}, {T_DATE, " Data:"}, {T_MODE, " Modo:"}, {T_RSTS, " RSTs:"}, {T_RSTR, " RSTr:"}, {T_QSONRS, "QSO enviado:"}, {T_QSONRR, "QSO recebido:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " WWL:"}, {T_REMARK, " Anotao:"}, {T_QRV2, " QRV on:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Enviar sked"}, {T_SELECT, "Seleccionado"}, {T_QRG, " QRG:"}, {T_WE_CALL, " Ns chamamos"}, {T_BAND, " Banda:"}, {T_TIME, " Tempo:"}, {T_DUPE_QSO, "QSO duplicado!"}, {T_CLEAR_THIS_QSO, "Limpar este QSO"}, {T_EDIT_OLD_QSO, "Editar QSO antigo"}, {T_MARK_OLD_QSO, "Marcar qso antigo como ERRO"}, {T_STORE_AS_DUPE, "Guardar como DUPE"}, {T_BAD_CALL, "Isto no parece um indicativo"}, {T_N_CALLSIGN, "\nIndicativo:"}, {T_AUTOSAVE_OPTS, "Opes de auto-guardar"}, {T_SAVE_AQ, "Guardar para o disco depois do QSO: "}, {T_SAVE_AM, "Guardar no disco depois dos minutos:"}, {T_FSYNC, "Fsync"}, {T_SAVE_AQF, "Guardar na disquete depois do QSO: "}, {T_SAVE_AMF, "Guardar na disquete depois dos minutos:"}, {T_DO_MOUNT, "Montar se no em /etc/mtab (no usado)"}, {T_FLOPPY_PATH, "Caminho para a disquete:"}, {T_MOUNT_CMD, "Comando de montar: "}, {T_SW_SHELL, "Shell"}, {T_SW_QSOS, "QSOs"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Falar"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Unfi"}, {T_SW_DXC, "DXC"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Mapa"}, {T_SW_SCOPE, "Scope"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Player"}, {T_SW_CHART, "Chart"}, {T_SHELL, "Shell"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Falar"}, {T_SKEDS, "Skeds"}, {T_UNFI, "QSO no concludo QSOs"}, {T_DXC, "DX Cluster"}, {T_STAT, "Estatsticas"}, {T_SWAP, "Mudar (N/A)"}, {T_MAP, "Mapa grfico"}, {T_SCOPE, "Scope"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Comando"}, {T_RESPAWN, "Respawn [sec]:"}, {T_UNFI_QSO, "QSO no acabado"}, {T_N_REMARK, "\nAnotao:"}, {T_NO_CQ, "Nenhum CQ definido"}, {T_TEXT, "Texto:"}, {T_SPEED, "Velocidade [WPM]:"}, {T_REPEAT, "Repetir"}, {T_DELAY, "Atraso [0.1s]:"}, {T_ALLOW_UNDEF, "Permitir se o mesmo item est indefinido"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Ficheiro:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "Porta UDP:"}, {T_DEVICE, "Mecanismo de telegrafia:"}, {T_INIT_SPEED, "Velocidade inicial [WPM]:"}, {T_INIT_WEIGHT, "Peso (30-70):"}, {T_WPMFROM, "Alcance WPM de"}, {T_WPMTO, "para"}, {T_USE_SPK, "Usar altifalante"}, {T_LEADIN, " Presena do PTT em [ms]"}, {T_AUTGIVE, "Run mode aut. give after [chars]"}, {T_IGN_IFACE_S, "Ignorar o interface %-5s"}, {T_IGN_ADDR_S, "Ignorar o endereo %s"}, {T_ADD_IFACE_SSD, "Interface adicionado=%-5s BCAST=%s:%d"}, {T_FORCED_ADDR, "Endereo forcado %s"}, {T_TIMESKEW, "AVISO! O tempo de skew %d detectado outra vez %s:%d !\n"}, {T_DISCONNECTING_SD, "A desligar desde %s:%d"}, {T_ACCEPTED_SD, "Aceitado %s:%d (%s)"}, {T_CONNECTING_SD, "A ligar a %s:%d"}, {T_CONNECTED_SD, "Ligado a %s:%d"}, {T_DISCONNECTED_SD, "A desligar desde %s:%d"}, {T_LOADED_CFG_SSSS, "A carregar a config para %s %s (%s,%s)"}, {T_LOADED_CW, "C_W data carregada"}, {T_PEER_NOT_FOUND, "ERRO! Peer %s no encontrado"}, {T_CANT_CREATE_HOME_S, "No posso criar a directoria %s"}, {T_CANT_LOAD_CFG, "No posso carregar a configurao!\nO programa no vai trabalhar devidamente!"}, {T_ERR_RC, "Encontrados alguns erros de parsing no ficheiro de config!\nEste ficheiro foi provavelmente guardado no novo Tucnak!\nNo guarde a sua configurao a pois pode perder todos os seus elementos!"}, {T_SES_QTR, " QTR "}, {T_SES_QRA, " CALL "}, {T_SES_RST, " RST-S-No RST-R-No "}, {T_SES_QTH, " QTH "}, {T_SES_QRB, " Pts/QRB QTF "}, {T_SES_FLG, " Flg "}, {T_SES_OPE, " Oper. "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Aviso "}, {T_SES_WELCOME, "Bem vindo ao Tucnak! "}, {T_SES_PRESS_F10, "Premir F10 para o menu."}, {T_SES_HAVE_FUN, "Divirta-se."}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG"}, {T_SES_AVG, " AVG: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " WWLs: %d"}, {T_SF_WWLS_UNDER, "-------------"}, {T_SF_EXCS, " EXCs: %d"}, {T_SF_EXCS_UNDER, "-------------"}, {T_SF_MISS_EXCS, " Missing EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " DXCCs: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " WKD WWLs: %d"}, {T_SF_WKD_WWLS_UNDER, "-----------------"}, {T_SF_QSO_WWL4, " QSOS em WWL4s: %d"}, {T_SF_QSO_WWL4_UNDER, "----------------------"}, {T_SF_STATS_BAND, " Estatsticas para a banda %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Contest: %s"}, {T_SF_ALLBQSOS, "All bands QSOs: %d"}, {T_SF_ALLBQSOP, "All bands QSOp: %d"}, {T_SF_ALLBPTS, "All bands pts: %d"}, {T_SF_QSOS, "QSOs: %d"}, {T_SF_VQSO, "Valid QSOs: %d"}, {T_SF_QSOP, "QSO points: %d"}, {T_SF_PTS, "Points: %d"}, {T_SF_AVG_PTS, "Mdia pts/QSO: %5.2f"}, {T_SF_AVG_QSOP, "Mdia qsop/QSO: %5.2f"}, {T_BAND_RO, "A banda s para ler"}, {T_THIS_BAND, "Esta banda"}, {T_OTHER_BANDS, "Outras bandas"}, {T_CW_DB, "C_W database"}, {T_PROC_EXITED, "*** Processo sado\n"}, {T_WE_CALL2, "ns chamamos"}, {T_WE_LISTEN, "ns escutamos"}, {T_QSL, "QSL prometido"}, {T_RECORD, "Trfego registado"}, {T_MAXMIN, " Max. durao da gravao"}, {T_TEMPLATE, "Template para o ficheiro registado"}, {T_PCM8, "8 bit PCM"}, {T_PCM16, "16 bit PCM"}, {T_ULAW, "u-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Canais"}, {T_SAMPLERATE, "Velocidade de exemplo"}, {T_FILLOP, "Preencher operadores"}, {T_HK_FILLOP, "L"}, {T_RECAQRB, "Recalc QRB,QTF"}, {T_HK_RECAQRB, "R"}, {T_NETWORK, "Rede & registar"}, {T_HK_NETWORK, "K"}, {T_IF_IGNORE, "Interfaces ignorados:"}, {T_IP_IGNORE, " Redes ignoradas:"}, {T_IP_ANNOUNCE, " Anunciar para as nets:"}, {T_TRACE_BCAST, "Registar transmisses "}, {T_TRACE_SOCK, "Registar sockets"}, {T_TRACE_RECV, "Registar data recebida"}, {T_TRACE_SEND, "Registar data enviada"}, {T_TRACE_QSOS, "Registar QSOs"}, {T_TRACE_SDEV, "Trace rotars"}, {T_NOT_MOUNTED_S, "No est montada %s"}, {T_RECSRC_NONE, "No definido"}, {T_RECSRC_MIC, "Microfone"}, {T_RECSRC_LINE, "Line in"}, {T_NEW_CALL, "Novo!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV em %s"}, {T_SKED_QRG, "QRG para skeds"}, {T_HK_SKED_QRG, "F"}, {T_N_SKED_QRG, "\nQRG para skeds:"}, {T_GRAB_BAND, "Gravar controle da banda"}, {T_HK_GRAB_BAND, "G"}, {T_FORCE_RUN, "Forar modo RUN"}, {T_HK_FORCE_RUN, "U"}, {T_EXPORT_STATS, "Exportar estatsticas"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX QSOs:"}, {T_SF_TOP_DX_UNDER, "-------------------"}, {T_ROTAR, "Rotor"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimute"}, {T_ELEVATION, "Elevao"}, {T_CH_SPY, "Espiar"}, {T_HK_CH_SPY, "S"}, {T_CH_ENDSPY, "Fim de espiar"}, {T_HK_CH_ENDSPY, "P"}, {T_EXPORT_TITLPAGE, "Exportar a pgina do ttulo"}, {T_HK_EXPORT_TITLPAGE, "P"}, {T_BREAK_RECORD, "Gravao cortada"}, {T_HK_BREAK_RECORD, "B"}, {T_GLOBAL_OPERATOR, "Mudar para todas as bandas"}, {T_GLOBAL_OPERATOR2, "Global"}, {T_MAXFRAG, "Max. nm de fragmentos (>=2)"}, {T_PLAY_LAST, "Repetir ltimo exemplo"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Opes variadas"}, {T_HK_MISCOPTS, "P"}, {T_LOGLINES, "Linhas do registo: "}, {T_SKEDSHIFT, "Intervalo do contacto (minutos): "}, {T_STARTBAND, "Banda para comear: "}, {T_GFX_X_CH, "Resoluo do monitor (cars):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Resoluo do monitor (pixels):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Informao do indicativo"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSOs/hora: %d"}, {T_SF_QSOP_HOUR, "Pontos/hora: %d"}, {T_SF_QSOP_50QSO, "Pontos/50 QSOs: %d"}, {T_SF_HOURS, " Horas"}, {T_SF_HOURS_UNDER, "---------"}, {T_SF_HOURS_TITLE, "Horas Pontos QSOs AVG pts/QSO"}, {T_QSO_CHECK, "QSO check"}, {T_HK_QSO_CHECK, "K"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "O minimo espao de disco disponivel [MiB]"}, {T_FORMAT, "Formato de gravao"}, {T_PCM_PLAY, "Dispositivo de som Alsa"}, {T_PCM_REC, "Dispositivo de captura Alsa"}, {T_PERIOD, "Periodo de tempo [ms]"}, {T_BUFFER, "Tempo de buffer [ms]"}, {T_ALSA_MIXER, "Dispositivo misturador Alsa"}, {T_CAPTURE, "Fonte de captura"}, {T_DSP, "Caminho para o /dev/dsp"}, {T_MIXER, "Caminho para o /dev/mixer"}, {T_RECSRC, "Fonte de leitura"}, {T_PA_PLAY, "Portaudio playback device"}, {T_PA_REC, "Portaudio capture device"}, {T_HOSTNAME, "Hostname:"}, {T_SLASHKEY, "Chave slash"}, {T_FIXQRG, "Reparar QRG"}, {T_HK_FIXQRG, "X"}, {T_ENTER_QRG, "Escrever a QRG correcta [Hz]"}, {T_BAD_QRG, "Frequncia errada"}, {T_CALLSIGN3, "Indicativo"}, {T_CALLSIGN_KST, "Indicativo da estao KST:"}, {T_CANT_INIT_WINKEY_S, "No posso iniciar a winkey em %s"}, {T_WINKEYOPTS, "Opes da Winkey"}, {T_WK_WK2, "Inicializao rdida da Winkey2"}, {T_WK_USEPOT, "Use o potnciometro de velocidade"}, {T_WK_USEBUT, "Use os butes"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Bug"}, {T_WK_SWAP, "Mudana da paddle ( esquerda)"}, {T_RIGOPTS, "Opes do equipamento"}, {T_HK_RIGOPTS, "G"}, {T_RIG_DEVICE, "Device:"}, {T_RIG_MODEL, "Rig model"}, {T_RIG_SPEED, "Baudrate: "}, {T_RIG_CIV, "CIV address (hex)"}, {T_RIG_FREQSHIFT, "Freq. shift SSB->CW"}, {T_RIG_CHOOSE, "Choose"}, {T_ROTAROPTS, "Rotar options"}, {T_HK_ROTAROPTS, "I"}, {T_DSSAVER, "Desactivar o screensaver"}, {T_DESC, "Description"}, {T_ROT_NONE, "None"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI"}, {T_ROT_HAMLIB, "Hamlib (N/A)"}, {T_ROT_REMOTE, "Remote (N/A)"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Serial #"}, {T_ROT_ADD, "Add new rotator"}, {T_HK_ROT_ADD, "W"}, {T_ROT_REMOVE, "Remove rotator"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "Beam width"}, {T_SADDR, "Communication address:"}, {T_MODEL, "Model:"}, {T_ROT_REM_ROTSTR, "Rotator letter for remote"}, {T_QSOGLOB, "Global QSO NR"}, {T_PREFGLOB, "Global prefix"}, {T_NOT_RECORDING_S, "Not recording - %s"}, {T_SKEDCOUNT, "Sked count in popup: "}, {T_FONTHEIGHT, "Font height (16-32): "}, {T_RIG_POLL_MS, "Rig poll interval [ms]: "}, {T_RIG_QRG_R2T, "Set band from radio"}, {T_RIG_QRG_T2R, "Change band on radio"}, {T_RIG_MODE_T2R, "Change mode on radio"}, {T_RUN_MODE, "Run mode"}, {T_HK_RUN_MODE, "M"}, {T_SP_MODE, "S&P mode"}, {T_HK_SP_MODE, "M"}, {T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save"}, {T_RIG_DEBUG, "Debug rig"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Band QSO Point Mult"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Last Q-%s P-%s"}, {T_EVEN, "TX even"}, {T_HK_EVEN, "v"}, {T_ODD, "TX odd"}, {T_HK_ODD, "d"}, {T_1ST, "TX 1st"}, {T_HK_1ST, "1"}, {T_2ND, "TX 2nd"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Score:"}, {T_EXPMODE, "Expedition mode"}, {T_TTTYPE, "Only digits mean"}, {T_ROT_POLL_MS, "Poll interval [ms]:"}, {T_VERSION, "Version"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, " Remote host name:"}, {T_REMOTE_PORT, " Remote TCP port:"}, {T_REMOTE_PASS, " Remote Password:"}, {T_STARTING_AC, "Starting AS"}, {T_STOPPING_AC, "Stopping AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Speed:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Durat: %ld"}, {T_EXPORTING_S, "Exporting %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s"}, {T_EXPORTING, "Exporting ..."}, {T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables"}, {T_LOADING_CHARTS, "Loading charts"}, {T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control"}, {T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in"}, {T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi"}, {T_CANT_CREATE_PIPE, "Can't create pipe"}, {T_TERMINATING_CWDAEMON, "Terminating CW/PTT control"}, {T_INIT_CWDB, "Initializing WWL database"}, {T_TERM_CWDB, "Terminating WWL database"}, {T_LOADING_CWDB, "Loading WWL database"}, {T_QRV_ON, "QRV on: "}, {T_CANT_INIT_FTDI, "Can't init ftdi library for davac4"}, {T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s"}, {T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s"}, {T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s"}, {T_INIT_SOUNDCARD, "Initializing soundcard"}, {T_NO_OSS, "OSS support not compiled in"}, {T_NO_ALSA, "Alsa support not compiled in"}, {T_NO_PORTAUDIO, "portaudio support not compiled in"}, {T_NO_SNDFILE, "Libsndfile support not compiled in"}, {T_NO_SNDPIPE, "Sndpipe support not compiled in"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Initializing DXCC database"}, {T_FREE_DWDB, "Terminating DXCC database"}, {T_LOAD_DWDB, "Loading DXCC database"}, {T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n"}, {T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n"}, {T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n"}, {T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n"}, {T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n"}, {T_CALL_ON_BAND_S, "Callsign on band %s is %s\n"}, {T_LOCATOR_ON_BAND, "Locator on band %s is %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO check list\n"}, {T_CALL_SN, " Call: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Date: %s\n"}, {T_CHECKING_S, "Checking %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Seems to be O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s not found\n"}, {T_0X_NOT_IN_DB, " 0x (not in database)"}, {T_NAME_IS, "Name: %s's name is %s\n"}, {T_NAME_UNKNOWN, "Name: %s's name is unknown\n"}, {T_INIT_DXC, "Initializing DXcluster database"}, {T_FREE_DXC, "Terminating DXcluster database"}, {T_HK_SELECT, "S"}, {T_HIDE, "Hide"}, {T_HK_HIDE, "H"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Use"}, {T_HK_USE, "U"}, {T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n"}, {T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n"}, {T_HOST_RESOLVED, "*** Host resolved "}, {T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n"}, {T_CONNECTING_TO, "*** Connecting to %s ***\n"}, {T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Connected socket %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Disconnected ***\n"}, {T_RESOLVING, "*** Resolving %s ***\n"}, {T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s"}, {T_SAVED, "Saved '%s'"}, {T_LOADING_CONTEST, "Loading contest %s"}, {T_LOADING_LOGFILE, "Loading logfile"}, {T_LOADING_TALK, "Loading talk"}, {T_SEARCH_FILES, "Search for contest files"}, {T_LOADING_BAND, "Loading band %s"}, {T_LOADING_SPY, "Loading spy"}, {T_LOADING_HICALLS, "Loading hicalls"}, {T_LOADING_QRV, "Loading qrv"}, {T_LOADING_CHART, "Loading chart"}, {T_SAVING_CONTEST, "Saving contest"}, {T_UPD_INT_DATA, "Updating internal data"}, {T_CALC_STATS, "Calculating statistics"}, {T_ANN_OVER_NET, "Announcing over network"}, {T_ACTIVATING_BAND, "Activating band %s"}, {T_UPDATING_WKD, "Updating worked calls"}, {T_UPDATING_QRBQTF, "Updating QRB&QTF"}, {T_UPDATING_GAIN, "Updating gain chart"}, {T_SEN_OVER_NET, "Sending info over network"}, {T_INIT_EXCDB, "Initializing exchange database"}, {T_FREE_EXCDB, "Terminating exchange database"}, {T_INIT_FFT, "Initializing FFT analyse"}, {T_FREE_FFT, "Terminating FFT analyse"}, {T_INIT_ROTAR, "Initializing rotator control"}, {T_FREE_ROTAR, "Terminating rotator control"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Points"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initializing HTTP server"}, {T_FREE_HTTPD, "Terminating HTTP server"}, {T_NO_CONTEST_OPENED, "

No contest opened

\n"}, {T_NO_CONTEST_OPENED2, "No contest opened"}, {T_STATS, "Statistics"}, {T_BAND_NOT_FOUND, "Band not found"}, {T_BAND_C_NOT_FOUND, "

Band %c not found

"}, {T_QSOS_IN_DATABASE, "qsos in database"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online log"}, {T_DATE2, "Date"}, {T_UTC, "UTC"}, {T_CALL, "Call"}, {T_CALL_NOT_FOUND, "Call not found"}, {T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d"}, {T_FREE_TERM, "Terminating terminal"}, {T_TERM_KEYMAPS, "Terminating keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh mistake"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Ask for sked"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Message"}, {T_HK_MESSAGE, "M"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n"}, {T_RESOLVED, "*** Resolved "}, {T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sending /sh us ...\n"}, {T_SKIP_LINE, "Skip line %d '%s'"}, {T_CANT_CREATE_HOME, "Can't create home directory '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s"}, {T_INIT_MAP, "Initializing polar map"}, {T_DISABLE_SAVER, "Disabling screensaver"}, {T_STARTING_TUCNAK, "Starting Tucnak"}, {T_FREE_MAP, "Terminating polar map"}, {T_INIT_MASTERDB, "Initializing master database"}, {T_FREE_MASTERDB, "Terminating master database"}, {T_LOAD_MASTERDB, "Loading master database"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s"}, {T_DIRECTORY_SCAN, "Directory scan"}, {T_V3_COMPATIBILITY, " (v3 compatibility)"}, {T_RELOAD_INTERFACES, "Reload interfaces"}, {T_SET_READONLY, "Set read-only"}, {T_CHANGE_TYPE, "Change type"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Open connection"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Kill connection"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Export to text file"}, {T_ADD_CONTEST, "Add contest"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Add file(s)"}, {T_HK_ADD_FILES, "F"}, {T_ADD_CONTESTS, "Add contests"}, {T_HK_ADD_CONTESTS, "O"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Int.error test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Dump RW bands and hashes"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Update Tucnak"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Settings"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "Voip spy"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "End voip spy"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest is old, spy is not available"}, {T_NETWORK_SCAN, "Network scan"}, {T_HTTPD_OPTIONS, "HTTPD options"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter options"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR options"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Other:"}, {T_NONE, "None "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "Unused "}, {T_USED_6, "Used (6)"}, {T_OPT_6, "Opt. (6)"}, {T_USED_4, "Used (4)"}, {T_OPT_4, "Opt. (4)"}, {T_FREE, "Free "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Verified"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Confirm WWL"}, {T_CONFIRM_EXC, "Confirm EXC"}, {T_FONT_SIZE, "Font size: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, " SLOVHF user:"}, {T_SDR, "SDR"}, {T_PARPORT, "parport"}, {T_TTYS, "ttys"}, {T_TTYSSINGLE, "ttys single pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystem:"}, {T_PLAYBACK_VOLUME, "Playback volume"}, {T_CAPTURE_VOLUME, "Capture volume"}, {T_ENABLE_REMOTE_CONNECT, "Enable remote connect"}, {T_TRACE_RIG, "Trace rig"}, {T_TRACE_KEYS, "Trace keys"}, {T_SAVE_RESTART, "You must save configuration and restart Tucnak"}, {T_FULLSCREEN, "Fullscreen"}, {T_TOUCH, "Use touch control"}, {T_ALT_QWER, "Alt turns QWER.. to 1234.."}, {T_NO_LOCKS, "No device locks"}, {T_PORTRAIT_ORIENTATION, "Portrait orientation"}, {T_REVERSE, "Reverse"}, {T_CHOOSE_RIG, "Choose rig"}, {T_RIG_D, "Rig %d"}, {T_NEW_RIG, "New rig"}, {T_ENABLED, "Enabled"}, {T_SET_PTT_ON_RADIO, "Set PTT on radio"}, {T_DISABLED, " (disabled)"}, {T_ADD_RIG, "Add rig"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Enable"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Show private information"}, {T_REFRESH, "Refresh interval:"}, {T_LOAD_FROM_NET, "Load from network"}, {T_LOAD_CWDB, "Load C_W database"}, {T_LOAD_NAMEDB, "Load Name database"}, {T_LOAD_QRVDB, "Load QRV database"}, {T_READONLY_BANDS, "Read-only bands"}, {T_ENABLE_AC, "Enable AS"}, {T_AC_URL, "Alternative URL for flightradar data"}, {T_K_FACTOR, "Troposphere k_factor"}, {T_AC_AREA_WIDTH, "Reflection area width in km"}, {T_AC_EL_ANGLE, "Minimal elevation angle"}, {T_AC_MAX_EL_ANGLE, "Maximal elevation angle"}, {T_AC_MIN_DURATION, "Minimal reflection duration in sec"}, {T_AC_MAX_DIFF, "Max difference of incidence and reflection angles"}, {T_BAD_NUMBER_RANGE, "Bad number range"}, {T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate"}, {T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder"}, {T_NO_DEVICE, "No device"}, {T_IQ_SOURCE, "IQ source:"}, {T_WAV_FILE, "WAV file"}, {T_WAV_FILE_NAME, "WAV file name"}, {T_AF_OUTPUT, "AF output:"}, {T_AF_SAMPLE_RATE, "AF sample rate"}, {T_BLOCK_SIZE, " Block size"}, {T_CW_FILTER, " CW filter"}, {T_TO_HZ, "to [Hz]"}, {T_SSB_FILTER, " SSB filter"}, {T_INIT_NAMEDB, "Initializing name database"}, {T_FREE_NAMEDB, "Terminating name database"}, {T_LOAD_NAMEDB2, "Loading name database"}, {T_INIT_NET, "Initializing network"}, {T_FREE_NET, "Terminating network"}, {T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s"}, {T_TIME_WAS_SET, "Time was set"}, {T_FAILED_TO_SET_TIME, "Failed to set time"}, {T_INIT, "INIT"}, {T_CONNECTING, "CONNECTING"}, {T_CONNECTED, "CONNECTED"}, {T_WAIT_ACK, "WAIT_ACK"}, {T_DISCONNECTED2, "DISCONNECTED"}, {T_DEAD, "DEAD"}, {T_LONG_XFER, "LONG_XFER"}, {T_AUTHENTICATED_USER_S, "Authenticated user %s"}, {T_BAD_AUTHENTICATION_S, "Bad authentication %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT"}, {T_LONG_TRANSFER_FINISHED, "Long transfer finished"}, {T_INIT_NTP, "Initializing NTP monitor"}, {T_FREE_NTP, "Terminating NTP monitor"}, {T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP"}, {T_INIT_SPEAKER, "Initializing PC speaker"}, {T_FREE_SPEAKER, "Terminating PC speaker"}, {T_CANT_PLAY, "Can't play %s - %s"}, {T_CANT_SEEK_TO_END, "Can't seek to end %s - %s"}, {T_CANT_SEEK_TO_START, "Can't seek to start %s - %s"}, {T_CANT_OPEN, "Can't open %s %s"}, {T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Can't set %s to EPP mode %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s"}, {T_CANT_CLAIM, "Can't claim %s %s"}, {T_INIT_QRVDB, "Initializing QRV database"}, {T_FREE_QRVDB, "Terminating QRV database"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Loading qrvs"}, {T_UNSPECIFIED, "unspecified"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n"}, {T_FOUND_D_ERRORS, "Found %d error%s while reading %s"}, {T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net"}, {T_REGISTRATED_ROTATORS, "Registrated rotators:"}, {T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread"}, {T_INIT_ROTARS2, "Initializing rotators"}, {T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n"}, {T_ROTAR_ERROR_S, "Rotar error: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe"}, {T_CANT_READ_FROM, "Can't read from"}, {T_CANT_WRITE_TO, "Can't write to"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Bad update file name"}, {T_CANT_EXECUTE_INSTALLER, "Can't execute installer, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed"}, {T_UPDATE_FAILED, "Update failed"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s"}, {T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install."}, {T_NO_NEW_VER, "No new version available."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests..."}, {T_CHOOSE_CONTEST, "Choose contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload"}, {T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form..."}, {T_ALL_EDI_FILES_PROCESSED, "All EDI files processed."}, {T_UPLOADING_LOG_FILE_S, "Uploading log file %s ..."}, {T_UPLOADING_BAND_S, "Uploading band %s"}, {T_CONFIRMING_LOG, "Confirming log..."}, {T_RESULT_ERROR, "*** Result: ERROR please read error message above"}, {T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores..."}, {T_LOGS_UPLOADED, "Logs uploaded."}, {T_HTTP_STATUS, "HTTP status: "}, {T_LOG_UPLOAD, "Log upload"}, {T_VOIP_NO_INITIALIZED, "VOIP no initialized"}, {T_PAGE_NAME, "Page name"}, {T_OVERWRITE_EXISTING_FILES, "Overwrite existing files"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Password"}, {T_EXPORT_MAP, "Export map"}, {T_EXPORT_CHART, "Export chart"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki upload"}, {T_BAD_AUTH_USER, "Bad auth user %s != %s"}, {T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame"}, {T_CANT_GET_FMTS, "Can't get supported audio formats: %s"}, {T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s"}, {T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s"}, {T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s"}, {T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s"}, {T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s"}, {T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d"}, {T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s"}, {T_RECORD2, "record"}, {T_PLAYBACK, "playback"}, {T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s"}, {T_CANT_STOP_PA, "Can't stop PortAudio stream: %s"}, {T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s"}, {T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\""}, {T_CANT_SET_STROBE, "Can't set parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error"}, {T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n"}, {T_INIT_SERIAL_DEVICES, "Initializing serial devices"}, {T_BAD_CHECKSUM, "Bad checksum"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Bad response"}, {T_UNKNOWN_FUNCTION, "Unknown function"}, {T_UNKNOWN_ERROR_CODE, "Unknown error code"}, {T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n"}, {T_WAIT_FOR_SDR_THR, "Waiting for SDR thread"}, {T_QSO_REQ_FROM_SP, " QSO request from S&P "}, {T_QSO_REQ_SENT, " QSO request sent to RUN "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Location unknown"}, {T_DEGREE, "deg"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe"}, {T_INIT_SSB_CQ, "Initializing SSB CQ"}, {T_FREE_SSB_CQ, "Terminating SSB CQ"}, {T_NO_FILE, "No file specified"}, {T_UNSUP_CHANNELS, "Unsupported number of channels = %d"}, {T_FLOAT_UNSUPP, "Float point files are not supported"}, {T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing"}, {T_REC_DISABLED, "recording disabled"}, {T_CONTEST_TOO_OLD, "contest too old"}, {T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Error writing file %s: %s"}, {T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording"}, {T_NO_DISK_SPACE, "Not enough free disk space for file"}, {T_CANT_PLAY_FILE, "Can't play file %s - %s"}, {T_CANT_WRITE_SS, "Can't write to file %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded"}, {T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template"}, {T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n"}, {T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***"}, {T_LOADING_S, "Loading %s"}, {T_INVALID_WINDOW_TYPE, "invalid window type %d\n"}, {T_INIT_RIG, "Initializing rig control %d"}, {T_RIG_ERROR, "Rig error: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n"}, {T_FREE_RIG, "Terminating rig control %d"}, {T_WAIT_FOR_RIG_THR, "Waiting for rig thread"}, {T_INVALID_PARAM, "Invalid param."}, {T_RIG_INVALID_CONFIG, "Invalid config."}, {T_RIG_NOT_ENOUGH_MEM, "Not enough mem."}, {T_RIG_NOT_IMPLEMENTED, "Not implemented"}, {T_RIG_COMM_TIMEOUT, "Comm. timeout"}, {T_RIG_IO_ERROR, "IO error"}, {T_RIG_INTERNAL_ERROR, "Internal error"}, {T_PROTOCOL_ERROR, "Protocol error"}, {T_RIG_COMMAND_REJECT, "Command reject."}, {T_RIG_ARG_TRUNCATED, "Arg. truncated"}, {T_RIG_F_NOT_AVAILABLE, "F not available"}, {T_RIG_VFO_NOT_TARGET, "VFO not target."}, {T_RIG_ERROR_ON_BUS, "Error on bus"}, {T_RIG_BUS_COLLISION, "Bus collision"}, {T_RIG_INVALID_ARG, "Invalid arg."}, {T_RIG_INVALID_VFO, "Invalid VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg out of dom."}, {T_ERROR_D, "Error %d"}, {T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Can't set graphics mode"}, {T_WAIT_SDL_THR, "Waiting for SDL event thread"}, {T_FREE_GRAPHICS, "Terminating graphics"}, {T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s"}, {T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s"}, {T_CANT_READ_LOG_FILE, "Can't read log file %s"}, {T_CANT_UPLOAD_LOG, "Can't upload log: %s"}, {T_CANT_CONFIRM_LOG, "Can't confirm log: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s"}, {T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Date:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Points:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Can't upload file: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s"}, {T_FILE_ALREADY_EXISTS, "File already exists: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s"}, {T_CANT_EDIT_PAGE, "Can't edit page: %s"}, {T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s"}, {T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s"}, {T_EDITING_CONTEST_PAGE, "Editing contest page..."}, {T_ALL_DONE, "All done."}, {T_UPLOADING_FILE, "Uploading file %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s"}, {T_QUERYING_EDIT_TOKEN, "Querying edit token"}, {T_CANT_LOGIN, "Can't log in (2): %s"}, {T_CANT_LOGIN2, "Can't log in (2), wiki says: %s"}, {T_CANT_LOGIN1, "Can't log in (1): %s"}, {T_LOGGING_IN, "Logging in..."}, {T_EXPORTING_FILES, "Exporting files..."}, {T_INIT_WIZZ, "Initializing contest wizard"}, {T_FREE_WIZZ, "Terminating contest wizard"}, {T_LOAD_WIZZ_DATA, "Loading contest wizard data"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Contest phase"}, {T_HK_PHASE, "H"}, {T_ENTER_PHASE, "New contest phase: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_french [] = { {0, NULL}, {T__CHAR_SET, "iso8859-1"}, {T__LANGUAGE, "Franais"}, {T_ABOUT, "A propos"}, {T_BAD_NUMBER, "Mauvais nombre"}, {T_BAD_STRING, "Mauvaise chane"}, {T_BASIC_HELP, "Presser F10 pour le menu.\nAmusez vous bien."}, {T_BLOCK_CURSOR, "Curseur bloc"}, {T_CANCEL, "Annuler"}, {T_CHARACTER_SET, "Codage de caractres"}, {T_COLOR, "Couleur"}, {T_COPYING, "Copying"}, {T_DIFFERENCE, "diffrence"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Voulez vous rellement quitter Tucnak?"}, {T_EMPTY_STRING_NOT_ALLOWED, "Chane vide non autorise"}, {T_ERROR, "Erreur"}, {T_WARNING, "Avertissement"}, {T_EXIT, "Quitter"}, {T_EXIT_TUCNAK, "Quitter Tucnak"}, {T_FILE, "Fichier"}, {T_FULL_SCREEN, "Plein cran"}, {T_HELP, "Aide"}, {T_HK_ABOUT, "A"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "A"}, {T_HK_COPYING, "C"}, {T_HK_EXIT, "Q"}, {T_HK_FILE, "F"}, {T_HK_FULL_SCREEN, "F"}, {T_HK_HELP, "H"}, {T_HK_LANGUAGE, "L"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "S"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "W"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "Cadres KOI8-R"}, {T_LANGUAGE, "Langue"}, {T_LAST, "dernier"}, {T_LINUX_OR_OS2_FRAMES, "Cadres Linux ou OS/2"}, {T_MEMORY_INFO, "Info mmoire"}, {T_NO_FRAMES, "Aucun cadre"}, {T_NO, "Non"}, {T_NUMBER_EXPECTED, "Nombre attendu dans le champ"}, {T_NUMBER_OUT_OF_RANGE, "Nombre hors domaine"}, {T_OK, "OK"}, {T_OS_SHELL, "OS shell"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Restreindre les cadres en cp850/852"}, {T_UTF_8_IO, "UTF-8 Entre/Sortie"}, {T_SCREEN, "Ecran"}, {T_SETUP, "Setup"}, {T_TERMINAL_OPTIONS, "Options terminal"}, {T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nLog contest V/U/SHF similaire TACLOG"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Utiliser ^[[11m"}, {T_VT_100_FRAMES, "Cadres VT 100"}, {T_WELCOME1, "Bienvenue dans Tucnak!"}, {T_WELCOME2, "Veuillez saisir votr indicatif et votre locator:"}, {T_WELCOME, "Bienvenue"}, {T_XTERM, "Xterm"}, {T_YES, "Oui"}, {T_CANT_APPEND_S, "Ne peut concatner le fichier %s"}, {T_CANT_WRITE, "Ne peut crire dans le fichier"}, {T_CANT_WRITE_S, "Ne peut crire dans le fichier %s"}, {T_CANT_READ, "Ne peut lire depuis le fichier"}, {T_CANT_READ_S, "Ne peut lire depuis le fichier %s"}, {T_SAVED_S, "%s enregistr"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - vitesse cw "}, {T_CANT_OPEN_S, "Ne peut ouvrir %s"}, {T_CANT_LOCK, "Ne peut vrouiller"}, {T_CANT_LOCK_S, "Ne peut vrouiller %s"}, {T_LOADING_CTEST_S, "*** Chargement contest %s"}, {T_NO_FILES, "Aucun fichier dans le rpertoire"}, {T_BAND_EXIST_SS, "ATTENTION! La bande %s (%s) existe dj"}, {T_BAND_NOT_OPEN, "Bande non active dans ce contest"}, {T_NO_BANDS, "Aucune bande charger"}, {T_CANT_SET_GR_S, "Ne peut mettre aucun mode graphique-%s"}, {T_GCALL, "Indicatif: %s"}, {T_GWWL, "WWL: %s"}, {T_GQRB, "QRB: %d km"}, {T_GQTF, "QTF: %d"}, {T_GSEN, "Trns: %s %s"}, {T_GRCV, "Reu: %s %s"}, {T_GTIM, "Time: %s"}, {T_GOPE, "Op: %s"}, {T_GREM, "Rem: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "revenu: %d"}, {T_GLON, "Lon:%7.2f %-6s"}, {T_GLAT, "Lat:%7.2f %-6s"}, {T_GLOC, "Loc: %s"}, {T__PLESE_WAIT_, " ATTENDRE svp "}, {T__RO_BAND, " BANDE LECTURE-SEULE"}, {T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version."}, {T_CTEST_ACTIVE, "Contest dj actif "}, {T_NO_CTESTS, "Aucun contest"}, {T_NO_CCLOSE, "Aucun contest fermer"}, {T_REALLY, "Vraiment?"}, {T_CLOSE_CTEST, "Voulez vous vraiment fermer ce contest?"}, {T_GUI_LD, "IHM: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw lments, %d wc lments, dernier %d\n"}, {T_EXC, "Exc: %s %d exc items, %d cxe items, latest %d\n"}, {T_VEXC, "Verified EXC: %d items\n"}, {T_DWI, "D_W: %d prfixes, %d DXCCs, %d WWLs\n"}, {T_NAMES, "Noms: %d noms\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Mmoire:"}, {T_NMY, " Mien: "}, {T_NGLOBAL, "Global: "}, {T_NMASTER, "Matre: "}, {T_NREMOTE, "Remote: "}, {T_NSLAVES, "\nEsclaves:\n"}, {T_NINFO, "Info rseau"}, {T_NO_BANDS_QRV, "QRV aucune bande"}, {T_NO_BANDS_CONF, "Aucune bande configure"}, {T_NOT_AVAILABLE, "Non disponible"}, {T_ADD_SUBWIN, "Ajoute sous-fentre"}, {T_HK_ADD_SUBWIN, "A"}, {T_CLOSE_SUBWIN, "Ferme sous-fentre"}, {T_HK_CLOSE_SUBWIN, "F"}, {T_HK_NINFO, "N"}, {T_NEW, "Nouveau"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Nouveau depuis assistant"}, {T_HK_NEW_WIZZ, "V"}, {T_NEW_NET, "New from network"}, {T_HK_NEW_NET, "T"}, {T_OPEN, "Ouvrir"}, {T_HK_OPEN, "O"}, {T_SAVE, "Enregistrer"}, {T_HK_SAVE, "E"}, {T_EXPORT_EDI, "Exporter en EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Exporter en rapport"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Exporter en ADIF"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Export as ADIF"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Exporter en HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Export as MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Importer EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Importer ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Importer swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Import list"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Options contest"}, {T_HK_CONTEST_OP, "O"}, {T_CLOSE_CONTEST, "Fermer contest"}, {T_HK_CLOSE_CONTEST, "F"}, {T_ADD_ERROR, "Ajouter ERROR"}, {T_HK_ADD_ERROR, "E"}, {T_CHOP, "Changer d'oprateur"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Mettre jour C_W depuis contest"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Mettre jour C_W depuis la bande"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Update EXC DB from contest"}, {T_HK_EXC_CTEST, "P"}, {T_EXC_BAND, "Update EXC DB from band"}, {T_HK_EXC_BAND, "D"}, {T_IMPORT_EBW, "Importer base de donne DL8EBW"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "Aucun contest"}, {T_NO_PEERS, "Aucun pairs trouvs"}, {T_NO_MASTER, "Matre undisponible!"}, {T_CTEST_DEF, "Contest par dfaut"}, {T_HK_CTEST_DEF, "O"}, {T_BAND_DEF, "Bande par dfaut"}, {T_HK_BAND_DEF, "B"}, {T_HK_RESPOP, "P"}, {T_CW_DAEMON, "Manip CW"}, {T_HK_CW_DAEMON, "M"}, {T_CW_CQ, "CW CQ"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB CQ"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Auto-enregistrement"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Chargement cfg depuis rseau"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Chargement C_W depuis rseau"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Enregistrement configuration"}, {T_HK_SAVE_CFG, "F"}, {T_CONTEST, "Contest"}, {T_HK_CONTEST, "C"}, {T_EDIT, "Edition"}, {T_HK_EDIT, "E"}, {T_BANDS, "Bandes"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Sous-fentres"}, {T_HK_SUBWINS, "W"}, {T_BAND_SETTINGS_SC, "Band settings for band %c %s"}, {T_QRV_ON_THIS_BAND, "QRV sur cette bande"}, {T_QRV_IN_THIS_CTEST, "QRV dans ce contest"}, {T_READ_ONLY, "Lecture-seule"}, {T_MULTI, "Multi"}, {T_SINGLE, "Single"}, {T_CHECK, "Check"}, {T_TXEQUIP, " TX Equip:"}, {T_POWER, "Puissance:"}, {T_RXEQUIP, " RX Equip:"}, {T_ANTENNA, " Antenne:"}, {T_AGLASL, " AGL;ASL:"}, {T_OPS, "Oprateurs:"}, {T_SPACES1, " "}, {T_REMARKS, "Remarques:"}, {T_OK_SECTION_SINGLE, "Single category in OK"}, {T_OK_SECTION_MULTI, "Multi category in OK"}, {T_QRG_MIN, "Band boundary from"}, {T_QRG_MAX, "to [kHz]"}, {T_ADIFBAND, "ADIF band name"}, {T_SKEDQRG, "QRG for skeds (free form)"}, {T_BAND_LO, "Transverter's LO QRG [Hz]"}, {T_BANDSW, "Band switch value"}, {T_RESPOP, "Oprateur responsable"}, {T_NAME, " Nom:"}, {T_CALLSIGN, " Indicatif:"}, {T_ADDRESS, " Adresse:"}, {T_POSTCODE, "Code Postal:"}, {T_CITY, " Ville:"}, {T_COUNTRY, " Pays:"}, {T_PHONE, " Tlphone:"}, {T_BBSEMAIL, " BBS/Email:"}, {T_QP0, " --aucun-- "}, {T_QP1, " 1 QSOp*QSOp_m (Std. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK activity)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltic)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (district codes)"}, {T_QP13, "13 Continent (CQ WW DX Contest)"}, {T_QP14, "14 Continent+band (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --aucun-- "}, {T_TP1, " 1 Multiplicatif (Std. IARU)"}, {T_TP2, " 2 Additif (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "Nouveau Contest"}, {T_CANT_TRUNC, "Ne peut troncaturer le fichier desc"}, {T_NAME_OF_CTEST, "Nom du contest:"}, {T_CALL_OF_CTEST, "Indicatif dans le contest:"}, {T_CLUB_ST, "Station du club:"}, {T_YOURWWL, "Votre WWL:"}, {T_YOUREXC, "Votre EXC:"}, {T_DATE_OF_CTEST, "Date du contest:"}, {T_QSOUSED, "QSO NR utilis"}, {T_QSOPM, " QSOp multi:"}, {T_WWLUSED, "WWL utilis "}, {T_WWLB, "WWL bonus:"}, {T_WWLM, "WWL multi:"}, {T_EXCUSED, "EXC used"}, {T_EXCB, " EXC bonus:"}, {T_EXCM, "EXC multi:"}, {T_EXCNAME, "EXC name:"}, {T_PREFM, "PREF multi:"}, {T_DXCB, "DXC bonus:"}, {T_DXCM, "DXC multi:"}, {T_RSTUSED, "RST Utilis "}, {T_DEFRS, "RS par dfaut:"}, {T_DEFRST, "Def RST:"}, {T_ALSORSTR, "Also for RST-R"}, {T_QP_CALC, " QSOp calc:"}, {T_TO_CALC, "Total calc:"}, {T_EDI_PROP, "EDI prop"}, {T_RESPOP2, "Op responsable"}, {T_EDIT_QSO_CD, "Edite QSO %c: %03d"}, {T_CALLSIGN2, "Indicatif:"}, {T_CLUB, " Club:"}, {T_PADR1, " PAdr1:"}, {T_PADR2, " PAdr2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Operator:"}, {T_DATE, " Date:"}, {T_MODE, " Mode:"}, {T_RSTS, " RSTs:"}, {T_RSTR, " RSTr:"}, {T_QSONRS, "QSO sent:"}, {T_QSONRR, "QSO rcvd:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " WWL:"}, {T_REMARK, "Remarque:"}, {T_QRV2, " QRV on:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Envoi sked"}, {T_SELECT, "Slectionne"}, {T_QRG, " QRG:"}, {T_WE_CALL, " On appelle"}, {T_BAND, " Bande:"}, {T_TIME, " Time:"}, {T_DUPE_QSO, "QSO dupliqu!"}, {T_CLEAR_THIS_QSO, "Nettoyer ce QSO"}, {T_EDIT_OLD_QSO, "Edite ancien QSO"}, {T_MARK_OLD_QSO, "Marque ancien QSO comme ERROR"}, {T_STORE_AS_DUPE, "Enregistre comme DUPE"}, {T_BAD_CALL, "Ca ne ressemble pas un indicatif"}, {T_N_CALLSIGN, "\nIndicatif:"}, {T_AUTOSAVE_OPTS, "Options auto-enregistrement"}, {T_SAVE_AQ, "Enregistre sur disque aprs QSO: "}, {T_SAVE_AM, "Enregistre sur disque aprs minutes:"}, {T_FSYNC, "Fsync"}, {T_SAVE_AQF, "Enregistre sur disquette aprs QSO: "}, {T_SAVE_AMF, "Enregistre sur disquette aprs minutes:"}, {T_DO_MOUNT, "Monter si absent de /etc/mtab (inutilis)"}, {T_FLOPPY_PATH, "Chemin de disquette:"}, {T_MOUNT_CMD, "Commande de montage: "}, {T_SW_SHELL, "Shell"}, {T_SW_QSOS, "QSOs"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Talk"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Part."}, {T_SW_DXC, "DXC"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Carte"}, {T_SW_SCOPE, "Scope"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Player"}, {T_SW_CHART, "Chart"}, {T_SHELL, "Shell"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Talk"}, {T_SKEDS, "Skeds"}, {T_UNFI, "QSOs non finis"}, {T_DXC, "DX Cluster"}, {T_STAT, "Statistiques"}, {T_SWAP, "Swap (N/A)"}, {T_MAP, "Carte graphique"}, {T_SCOPE, "Scope"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Commande"}, {T_RESPAWN, "Relance [sec]:"}, {T_UNFI_QSO, "QSO non fini"}, {T_N_REMARK, "\nRemarque:"}, {T_NO_CQ, "Aucun CQ dfini"}, {T_TEXT, "Texte:"}, {T_SPEED, "Vitesse [WPM]:"}, {T_REPEAT, "Rpte"}, {T_DELAY, "Dlai [0.1s]:"}, {T_ALLOW_UNDEF, "Autorise si qq lments indfinis"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Nom de fichier:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "Port UDP:"}, {T_DEVICE, "Priphrique manip:"}, {T_INIT_SPEED, "Vitesse initiale [WPM]:"}, {T_INIT_WEIGHT, "Weight (30-70):"}, {T_WPMFROM, "WPM Range from"}, {T_WPMTO, "to"}, {T_USE_SPK, "Utilise le haut-parleur"}, {T_LEADIN, "PTT lead in [ms]"}, {T_AUTGIVE, "Run mode aut. give after [chars]"}, {T_IGN_IFACE_S, "Ignore l'interface %-5s"}, {T_IGN_ADDR_S, "Ignore l'adresse %s"}, {T_ADD_IFACE_SSD, "Ajoute l'interface=%-5s BCAST=%s:%d"}, {T_FORCED_ADDR, "Force l'adresse %s"}, {T_TIMESKEW, "ATTENTION! Variation de temps %d dtecte par rapport %s:%d !\n"}, {T_DISCONNECTING_SD, "Dconnection de %s:%d"}, {T_ACCEPTED_SD, "Accept %s:%d (%s)"}, {T_CONNECTING_SD, "Connection %s:%d"}, {T_CONNECTED_SD, "Connect %s:%d"}, {T_DISCONNECTED_SD, "Dconnect de %s:%d"}, {T_LOADED_CFG_SSSS, "Chargement config pour %s %s (%s,%s)"}, {T_LOADED_CW, "Donne C_W charge"}, {T_PEER_NOT_FOUND, "ERREUR! Correspondant %s non trouv"}, {T_CANT_CREATE_HOME_S, "Ne peut crer le rpertoire %s"}, {T_CANT_LOAD_CFG, "Ne peut charger la configuration!\nProgramme ne peut fonctionner correctement!"}, {T_ERR_RC, "Encontr quelques erreurs dans le fichier de config!\nCe fichier a peut-tre t enregistr avec un version plus rcente de Tucnak!\nN'enregistrez pas votre configuration sinon vous perdriez vos donnes!"}, {T_SES_QTR, " QTR "}, {T_SES_QRA, " CALL "}, {T_SES_RST, " RST-S-No RST-R-No "}, {T_SES_QTH, " QTH "}, {T_SES_QRB, " Pts/QRB QTF "}, {T_SES_FLG, " Flg "}, {T_SES_OPE, " Oper. "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Remarque "}, {T_SES_WELCOME, "Bienvenue dans Tucnak! "}, {T_SES_PRESS_F10, "Presser F10 pour le menu."}, {T_SES_HAVE_FUN, "Amusez vous bien."}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG"}, {T_SES_AVG, " MOY: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " WWLs: %d"}, {T_SF_WWLS_UNDER, "-------------"}, {T_SF_EXCS, " EXCs: %d"}, {T_SF_EXCS_UNDER, "-------------"}, {T_SF_MISS_EXCS, " Missing EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " DXCCs: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " WKD WWLs: %d"}, {T_SF_WKD_WWLS_UNDER, "-----------------"}, {T_SF_QSO_WWL4, " QSOS en WWL4s: %d"}, {T_SF_QSO_WWL4_UNDER, "----------------------"}, {T_SF_STATS_BAND, " Statistiques pour la bande %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Contest: %s"}, {T_SF_ALLBQSOS, "All bands QSOs: %d"}, {T_SF_ALLBQSOP, "All bands QSOp: %d"}, {T_SF_ALLBPTS, "All bands pts: %d"}, {T_SF_QSOS, "QSOs: %d"}, {T_SF_VQSO, "Valid QSOs: %d"}, {T_SF_QSOP, "QSO points: %d"}, {T_SF_PTS, "Points: %d"}, {T_SF_AVG_PTS, "Moyenne pts/QSO: %5.2f"}, {T_SF_AVG_QSOP, "Moyenne qsop/QSO: %5.2f"}, {T_BAND_RO, "Bande en lecture-seule"}, {T_THIS_BAND, "Cette bande"}, {T_OTHER_BANDS, "Autres bandes"}, {T_CW_DB, "C_W base de donnes"}, {T_PROC_EXITED, "*** Processus s'est termin\n"}, {T_WE_CALL2, "on appelle"}, {T_WE_LISTEN, "on coute"}, {T_QSL, "QSL promise"}, {T_RECORD, "Enregistre trafic"}, {T_MAXMIN, " Dure max d'enregistrement"}, {T_TEMPLATE, "Patron du nom de fichier"}, {T_PCM8, "8 bit PCM"}, {T_PCM16, "16 bit PCM"}, {T_ULAW, "mu-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Canaux"}, {T_SAMPLERATE, "Frquence d'chantillonage"}, {T_FILLOP, "Renseigner oprateurs"}, {T_HK_FILLOP, "N"}, {T_RECAQRB, "Recalc QRB,QTF"}, {T_HK_RECAQRB, "R"}, {T_NETWORK, "Rseau & trace"}, {T_HK_NETWORK, "E"}, {T_IF_IGNORE, "Ignore interfaces:"}, {T_IP_IGNORE, " Ignore rseaux:"}, {T_IP_ANNOUNCE, "Annonce au rseau:"}, {T_TRACE_BCAST, "Trace broadcasts "}, {T_TRACE_SOCK, "Trace sockets"}, {T_TRACE_RECV, "Trace donnes reues"}, {T_TRACE_SEND, "Trace donnes envoyes"}, {T_TRACE_QSOS, "Trace QSOs"}, {T_TRACE_SDEV, "Trace rotars"}, {T_NOT_MOUNTED_S, "Non mont %s"}, {T_RECSRC_NONE, "Ne pas dfinir"}, {T_RECSRC_MIC, "Microphone"}, {T_RECSRC_LINE, "Entre ligne"}, {T_NEW_CALL, "Nouveau!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV sur %s"}, {T_SKED_QRG, "QRG pour skeds"}, {T_HK_SKED_QRG, "Q"}, {T_N_SKED_QRG, "\nQRG pour skeds:"}, {T_GRAB_BAND, "Rcupre contrle bande"}, {T_HK_GRAB_BAND, "P"}, {T_FORCE_RUN, "Force mode RUN"}, {T_HK_FORCE_RUN, "U"}, {T_EXPORT_STATS, "Exporter Statistiques"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX QSOs:"}, {T_SF_TOP_DX_UNDER, "-------------------"}, {T_ROTAR, "Rotator"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimuth"}, {T_ELEVATION, "Elvation"}, {T_CH_SPY, "Espionne"}, {T_HK_CH_SPY, "S"}, {T_CH_ENDSPY, "Fin espionnage"}, {T_HK_CH_ENDSPY, "F"}, {T_EXPORT_TITLPAGE, "Exporter page de titre"}, {T_HK_EXPORT_TITLPAGE, "P"}, {T_BREAK_RECORD, "Arrte l'enregistrement"}, {T_HK_BREAK_RECORD, "A"}, {T_GLOBAL_OPERATOR, "Changer pour toutes bandes"}, {T_GLOBAL_OPERATOR2, "Global"}, {T_MAXFRAG, "Nombre max de fragments (>=2)"}, {T_PLAY_LAST, "Joue dernier chantillon"}, {T_HK_PLAY_LAST, "J"}, {T_MISCOPTS, "Options diverses"}, {T_HK_MISCOPTS, "P"}, {T_LOGLINES, "Lignes log: "}, {T_SKEDSHIFT, "Dcalage sked (minutes): "}, {T_STARTBAND, "Band de dpart: "}, {T_GFX_X_CH, "Rsolution cran (cars):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Rsolution cran (pixels):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Info indicatif"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSOs/heure: %d"}, {T_SF_QSOP_HOUR, "Points/heure: %d"}, {T_SF_QSOP_50QSO, "Points/50 QSOs: %d"}, {T_SF_HOURS, " Heures"}, {T_SF_HOURS_UNDER, "---------"}, {T_SF_HOURS_TITLE, "Heures Points QSOs MOY pts/QSO"}, {T_QSO_CHECK, "QSO vrification"}, {T_HK_QSO_CHECK, "Q"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Espace disque minimum [MiB]"}, {T_FORMAT, "Format enregistrement"}, {T_PCM_PLAY, "Priphrique playback Alsa"}, {T_PCM_REC, "Priphrique capture Alsa"}, {T_PERIOD, "Priode [ms]"}, {T_BUFFER, "Temps buffer [ms]"}, {T_ALSA_MIXER, "Priphrique mixeur Alsa"}, {T_CAPTURE, "Source capture"}, {T_DSP, "OSS DSP"}, {T_MIXER, "OSS mixeur"}, {T_RECSRC, "Source enregistrement"}, {T_PA_PLAY, "Portaudio playback device"}, {T_PA_REC, "Portaudio capture device"}, {T_HOSTNAME, "Hte:"}, {T_SLASHKEY, "Slash key"}, {T_FIXQRG, "Fix QRG"}, {T_HK_FIXQRG, "X"}, {T_ENTER_QRG, "Enter accurate QRG [Hz]"}, {T_BAD_QRG, "Bad frequency"}, {T_CALLSIGN3, "Callsign"}, {T_CALLSIGN_KST, "KST station's callsign:"}, {T_CANT_INIT_WINKEY_S, "Can't init winkey on %s"}, {T_WINKEYOPTS, "Winkey options"}, {T_WK_WK2, "Winkey2 fast initialization"}, {T_WK_USEPOT, "Use speed pot"}, {T_WK_USEBUT, "Use buttons"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Bug"}, {T_WK_SWAP, "Paddle swap (left handled)"}, {T_RIGOPTS, "Rig options"}, {T_HK_RIGOPTS, "G"}, {T_RIG_DEVICE, "Device:"}, {T_RIG_MODEL, "Hamlib model"}, {T_RIG_SPEED, "Baudrate: "}, {T_RIG_CIV, "CIV address (hex)"}, {T_RIG_FREQSHIFT, "Freq. shift SSB->CW"}, {T_RIG_CHOOSE, "Choose"}, {T_ROTAROPTS, "Rotar options"}, {T_HK_ROTAROPTS, "I"}, {T_DSSAVER, "Disable screensaver"}, {T_DESC, "Description"}, {T_ROT_NONE, "None"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI"}, {T_ROT_HAMLIB, "Hamlib (N/A)"}, {T_ROT_REMOTE, "Remote (N/A)"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Serial #"}, {T_ROT_ADD, "Add new rotator"}, {T_HK_ROT_ADD, "W"}, {T_ROT_REMOVE, "Remove rotator"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "Beam width"}, {T_SADDR, "Communication address:"}, {T_MODEL, "Model:"}, {T_ROT_REM_ROTSTR, "Rotator letter for remote"}, {T_QSOGLOB, "Global QSO NR"}, {T_PREFGLOB, "Global prefix"}, {T_NOT_RECORDING_S, "Not recording - %s"}, {T_SKEDCOUNT, "Sked count in popup: "}, {T_FONTHEIGHT, "Font height (16-32): "}, {T_RIG_POLL_MS, "Rig poll interval [ms]: "}, {T_RIG_QRG_R2T, "Set band from radio"}, {T_RIG_QRG_T2R, "Change band on radio"}, {T_RIG_MODE_T2R, "Change mode on radio"}, {T_RUN_MODE, "Run mode"}, {T_HK_RUN_MODE, "M"}, {T_SP_MODE, "S&P mode"}, {T_HK_SP_MODE, "M"}, {T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save"}, {T_RIG_DEBUG, "Debug rig"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Band QSO Point Mult"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Last Q-%s P-%s"}, {T_EVEN, "TX even"}, {T_HK_EVEN, "v"}, {T_ODD, "TX odd"}, {T_HK_ODD, "d"}, {T_1ST, "TX 1st"}, {T_HK_1ST, "1"}, {T_2ND, "TX 2nd"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Score:"}, {T_EXPMODE, "Expedition mode"}, {T_TTTYPE, "Only digits mean"}, {T_ROT_POLL_MS, "Poll interval [ms]:"}, {T_VERSION, "Version"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, " Remote host name:"}, {T_REMOTE_PORT, " Remote TCP port:"}, {T_REMOTE_PASS, " Remote Password:"}, {T_STARTING_AC, "Starting AS"}, {T_STOPPING_AC, "Stopping AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Speed:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Durat: %ld"}, {T_EXPORTING_S, "Exporting %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s"}, {T_EXPORTING, "Exporting ..."}, {T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables"}, {T_LOADING_CHARTS, "Loading charts"}, {T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control"}, {T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in"}, {T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi"}, {T_CANT_CREATE_PIPE, "Can't create pipe"}, {T_TERMINATING_CWDAEMON, "Terminating CW/PTT control"}, {T_INIT_CWDB, "Initializing WWL database"}, {T_TERM_CWDB, "Terminating WWL database"}, {T_LOADING_CWDB, "Loading WWL database"}, {T_QRV_ON, "QRV on: "}, {T_CANT_INIT_FTDI, "Can't init ftdi library for davac4"}, {T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s"}, {T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s"}, {T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s"}, {T_INIT_SOUNDCARD, "Initializing soundcard"}, {T_NO_OSS, "OSS support not compiled in"}, {T_NO_ALSA, "Alsa support not compiled in"}, {T_NO_PORTAUDIO, "portaudio support not compiled in"}, {T_NO_SNDFILE, "Libsndfile support not compiled in"}, {T_NO_SNDPIPE, "Sndpipe support not compiled in"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Initializing DXCC database"}, {T_FREE_DWDB, "Terminating DXCC database"}, {T_LOAD_DWDB, "Loading DXCC database"}, {T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n"}, {T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n"}, {T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n"}, {T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n"}, {T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n"}, {T_CALL_ON_BAND_S, "Callsign on band %s is %s\n"}, {T_LOCATOR_ON_BAND, "Locator on band %s is %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO check list\n"}, {T_CALL_SN, " Call: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Date: %s\n"}, {T_CHECKING_S, "Checking %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Seems to be O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s not found\n"}, {T_0X_NOT_IN_DB, " 0x (not in database)"}, {T_NAME_IS, "Name: %s's name is %s\n"}, {T_NAME_UNKNOWN, "Name: %s's name is unknown\n"}, {T_INIT_DXC, "Initializing DXcluster database"}, {T_FREE_DXC, "Terminating DXcluster database"}, {T_HK_SELECT, "S"}, {T_HIDE, "Hide"}, {T_HK_HIDE, "H"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Use"}, {T_HK_USE, "U"}, {T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n"}, {T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n"}, {T_HOST_RESOLVED, "*** Host resolved "}, {T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n"}, {T_CONNECTING_TO, "*** Connecting to %s ***\n"}, {T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Connected socket %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Disconnected ***\n"}, {T_RESOLVING, "*** Resolving %s ***\n"}, {T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s"}, {T_SAVED, "Saved '%s'"}, {T_LOADING_CONTEST, "Loading contest %s"}, {T_LOADING_LOGFILE, "Loading logfile"}, {T_LOADING_TALK, "Loading talk"}, {T_SEARCH_FILES, "Search for contest files"}, {T_LOADING_BAND, "Loading band %s"}, {T_LOADING_SPY, "Loading spy"}, {T_LOADING_HICALLS, "Loading hicalls"}, {T_LOADING_QRV, "Loading qrv"}, {T_LOADING_CHART, "Loading chart"}, {T_SAVING_CONTEST, "Saving contest"}, {T_UPD_INT_DATA, "Updating internal data"}, {T_CALC_STATS, "Calculating statistics"}, {T_ANN_OVER_NET, "Announcing over network"}, {T_ACTIVATING_BAND, "Activating band %s"}, {T_UPDATING_WKD, "Updating worked calls"}, {T_UPDATING_QRBQTF, "Updating QRB&QTF"}, {T_UPDATING_GAIN, "Updating gain chart"}, {T_SEN_OVER_NET, "Sending info over network"}, {T_INIT_EXCDB, "Initializing exchange database"}, {T_FREE_EXCDB, "Terminating exchange database"}, {T_INIT_FFT, "Initializing FFT analyse"}, {T_FREE_FFT, "Terminating FFT analyse"}, {T_INIT_ROTAR, "Initializing rotator control"}, {T_FREE_ROTAR, "Terminating rotator control"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Points"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initializing HTTP server"}, {T_FREE_HTTPD, "Terminating HTTP server"}, {T_NO_CONTEST_OPENED, "

No contest opened

\n"}, {T_NO_CONTEST_OPENED2, "No contest opened"}, {T_STATS, "Statistics"}, {T_BAND_NOT_FOUND, "Band not found"}, {T_BAND_C_NOT_FOUND, "

Band %c not found

"}, {T_QSOS_IN_DATABASE, "qsos in database"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online log"}, {T_DATE2, "Date"}, {T_UTC, "UTC"}, {T_CALL, "Call"}, {T_CALL_NOT_FOUND, "Call not found"}, {T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d"}, {T_FREE_TERM, "Terminating terminal"}, {T_TERM_KEYMAPS, "Terminating keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh mistake"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Ask for sked"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Message"}, {T_HK_MESSAGE, "M"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n"}, {T_RESOLVED, "*** Resolved "}, {T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sending /sh us ...\n"}, {T_SKIP_LINE, "Skip line %d '%s'"}, {T_CANT_CREATE_HOME, "Can't create home directory '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s"}, {T_INIT_MAP, "Initializing polar map"}, {T_DISABLE_SAVER, "Disabling screensaver"}, {T_STARTING_TUCNAK, "Starting Tucnak"}, {T_FREE_MAP, "Terminating polar map"}, {T_INIT_MASTERDB, "Initializing master database"}, {T_FREE_MASTERDB, "Terminating master database"}, {T_LOAD_MASTERDB, "Loading master database"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s"}, {T_DIRECTORY_SCAN, "Directory scan"}, {T_V3_COMPATIBILITY, " (v3 compatibility)"}, {T_RELOAD_INTERFACES, "Reload interfaces"}, {T_SET_READONLY, "Set read-only"}, {T_CHANGE_TYPE, "Change type"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Open connection"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Kill connection"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Export to text file"}, {T_ADD_CONTEST, "Add contest"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Add file(s)"}, {T_HK_ADD_FILES, "F"}, {T_ADD_CONTESTS, "Add contests"}, {T_HK_ADD_CONTESTS, "O"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Int.error test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Dump RW bands and hashes"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Update Tucnak"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Settings"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "Voip spy"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "End voip spy"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest is old, spy is not available"}, {T_NETWORK_SCAN, "Network scan"}, {T_HTTPD_OPTIONS, "HTTPD options"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter options"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR options"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Other:"}, {T_NONE, "None "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "Unused "}, {T_USED_6, "Used (6)"}, {T_OPT_6, "Opt. (6)"}, {T_USED_4, "Used (4)"}, {T_OPT_4, "Opt. (4)"}, {T_FREE, "Free "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Verified"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Confirm WWL"}, {T_CONFIRM_EXC, "Confirm EXC"}, {T_FONT_SIZE, "Font size: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, " SLOVHF user:"}, {T_SDR, "SDR"}, {T_PARPORT, "parport"}, {T_TTYS, "ttys"}, {T_TTYSSINGLE, "ttys single pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystem:"}, {T_PLAYBACK_VOLUME, "Playback volume"}, {T_CAPTURE_VOLUME, "Capture volume"}, {T_ENABLE_REMOTE_CONNECT, "Enable remote connect"}, {T_TRACE_RIG, "Trace rig"}, {T_TRACE_KEYS, "Trace keys"}, {T_SAVE_RESTART, "You must save configuration and restart Tucnak"}, {T_FULLSCREEN, "Fullscreen"}, {T_TOUCH, "Use touch control"}, {T_ALT_QWER, "Alt turns QWER.. to 1234.."}, {T_NO_LOCKS, "No device locks"}, {T_PORTRAIT_ORIENTATION, "Portrait orientation"}, {T_REVERSE, "Reverse"}, {T_CHOOSE_RIG, "Choose rig"}, {T_RIG_D, "Rig %d"}, {T_NEW_RIG, "New rig"}, {T_ENABLED, "Enabled"}, {T_SET_PTT_ON_RADIO, "Set PTT on radio"}, {T_DISABLED, " (disabled)"}, {T_ADD_RIG, "Add rig"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Enable"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Show private information"}, {T_REFRESH, "Refresh interval:"}, {T_LOAD_FROM_NET, "Load from network"}, {T_LOAD_CWDB, "Load C_W database"}, {T_LOAD_NAMEDB, "Load Name database"}, {T_LOAD_QRVDB, "Load QRV database"}, {T_READONLY_BANDS, "Read-only bands"}, {T_ENABLE_AC, "Enable AS"}, {T_AC_URL, "Alternative URL for flightradar data"}, {T_K_FACTOR, "Troposphere k_factor"}, {T_AC_AREA_WIDTH, "Reflection area width in km"}, {T_AC_EL_ANGLE, "Minimal elevation angle"}, {T_AC_MAX_EL_ANGLE, "Maximal elevation angle"}, {T_AC_MIN_DURATION, "Minimal reflection duration in sec"}, {T_AC_MAX_DIFF, "Max difference of incidence and reflection angles"}, {T_BAD_NUMBER_RANGE, "Bad number range"}, {T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate"}, {T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder"}, {T_NO_DEVICE, "No device"}, {T_IQ_SOURCE, "IQ source:"}, {T_WAV_FILE, "WAV file"}, {T_WAV_FILE_NAME, "WAV file name"}, {T_AF_OUTPUT, "AF output:"}, {T_AF_SAMPLE_RATE, "AF sample rate"}, {T_BLOCK_SIZE, " Block size"}, {T_CW_FILTER, " CW filter"}, {T_TO_HZ, "to [Hz]"}, {T_SSB_FILTER, " SSB filter"}, {T_INIT_NAMEDB, "Initializing name database"}, {T_FREE_NAMEDB, "Terminating name database"}, {T_LOAD_NAMEDB2, "Loading name database"}, {T_INIT_NET, "Initializing network"}, {T_FREE_NET, "Terminating network"}, {T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s"}, {T_TIME_WAS_SET, "Time was set"}, {T_FAILED_TO_SET_TIME, "Failed to set time"}, {T_INIT, "INIT"}, {T_CONNECTING, "CONNECTING"}, {T_CONNECTED, "CONNECTED"}, {T_WAIT_ACK, "WAIT_ACK"}, {T_DISCONNECTED2, "DISCONNECTED"}, {T_DEAD, "DEAD"}, {T_LONG_XFER, "LONG_XFER"}, {T_AUTHENTICATED_USER_S, "Authenticated user %s"}, {T_BAD_AUTHENTICATION_S, "Bad authentication %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT"}, {T_LONG_TRANSFER_FINISHED, "Long transfer finished"}, {T_INIT_NTP, "Initializing NTP monitor"}, {T_FREE_NTP, "Terminating NTP monitor"}, {T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP"}, {T_INIT_SPEAKER, "Initializing PC speaker"}, {T_FREE_SPEAKER, "Terminating PC speaker"}, {T_CANT_PLAY, "Can't play %s - %s"}, {T_CANT_SEEK_TO_END, "Can't seek to end %s - %s"}, {T_CANT_SEEK_TO_START, "Can't seek to start %s - %s"}, {T_CANT_OPEN, "Can't open %s %s"}, {T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Can't set %s to EPP mode %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s"}, {T_CANT_CLAIM, "Can't claim %s %s"}, {T_INIT_QRVDB, "Initializing QRV database"}, {T_FREE_QRVDB, "Terminating QRV database"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Loading qrvs"}, {T_UNSPECIFIED, "unspecified"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n"}, {T_FOUND_D_ERRORS, "Found %d error%s while reading %s"}, {T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net"}, {T_REGISTRATED_ROTATORS, "Registrated rotators:"}, {T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread"}, {T_INIT_ROTARS2, "Initializing rotators"}, {T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n"}, {T_ROTAR_ERROR_S, "Rotar error: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe"}, {T_CANT_READ_FROM, "Can't read from"}, {T_CANT_WRITE_TO, "Can't write to"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Bad update file name"}, {T_CANT_EXECUTE_INSTALLER, "Can't execute installer, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed"}, {T_UPDATE_FAILED, "Update failed"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s"}, {T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install."}, {T_NO_NEW_VER, "No new version available."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests..."}, {T_CHOOSE_CONTEST, "Choose contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload"}, {T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form..."}, {T_ALL_EDI_FILES_PROCESSED, "All EDI files processed."}, {T_UPLOADING_LOG_FILE_S, "Uploading log file %s ..."}, {T_UPLOADING_BAND_S, "Uploading band %s"}, {T_CONFIRMING_LOG, "Confirming log..."}, {T_RESULT_ERROR, "*** Result: ERROR please read error message above"}, {T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores..."}, {T_LOGS_UPLOADED, "Logs uploaded."}, {T_HTTP_STATUS, "HTTP status: "}, {T_LOG_UPLOAD, "Log upload"}, {T_VOIP_NO_INITIALIZED, "VOIP no initialized"}, {T_PAGE_NAME, "Page name"}, {T_OVERWRITE_EXISTING_FILES, "Overwrite existing files"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Password"}, {T_EXPORT_MAP, "Export map"}, {T_EXPORT_CHART, "Export chart"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki upload"}, {T_BAD_AUTH_USER, "Bad auth user %s != %s"}, {T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame"}, {T_CANT_GET_FMTS, "Can't get supported audio formats: %s"}, {T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s"}, {T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s"}, {T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s"}, {T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s"}, {T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s"}, {T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d"}, {T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s"}, {T_RECORD2, "record"}, {T_PLAYBACK, "playback"}, {T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s"}, {T_CANT_STOP_PA, "Can't stop PortAudio stream: %s"}, {T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s"}, {T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\""}, {T_CANT_SET_STROBE, "Can't set parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error"}, {T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n"}, {T_INIT_SERIAL_DEVICES, "Initializing serial devices"}, {T_BAD_CHECKSUM, "Bad checksum"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Bad response"}, {T_UNKNOWN_FUNCTION, "Unknown function"}, {T_UNKNOWN_ERROR_CODE, "Unknown error code"}, {T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n"}, {T_WAIT_FOR_SDR_THR, "Waiting for SDR thread"}, {T_QSO_REQ_FROM_SP, " QSO request from S&P "}, {T_QSO_REQ_SENT, " QSO request sent to RUN "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Location unknown"}, {T_DEGREE, "deg"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe"}, {T_INIT_SSB_CQ, "Initializing SSB CQ"}, {T_FREE_SSB_CQ, "Terminating SSB CQ"}, {T_NO_FILE, "No file specified"}, {T_UNSUP_CHANNELS, "Unsupported number of channels = %d"}, {T_FLOAT_UNSUPP, "Float point files are not supported"}, {T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing"}, {T_REC_DISABLED, "recording disabled"}, {T_CONTEST_TOO_OLD, "contest too old"}, {T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Error writing file %s: %s"}, {T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording"}, {T_NO_DISK_SPACE, "Not enough free disk space for file"}, {T_CANT_PLAY_FILE, "Can't play file %s - %s"}, {T_CANT_WRITE_SS, "Can't write to file %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded"}, {T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template"}, {T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n"}, {T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***"}, {T_LOADING_S, "Loading %s"}, {T_INVALID_WINDOW_TYPE, "invalid window type %d\n"}, {T_INIT_RIG, "Initializing rig control %d"}, {T_RIG_ERROR, "Rig error: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n"}, {T_FREE_RIG, "Terminating rig control %d"}, {T_WAIT_FOR_RIG_THR, "Waiting for rig thread"}, {T_INVALID_PARAM, "Invalid param."}, {T_RIG_INVALID_CONFIG, "Invalid config."}, {T_RIG_NOT_ENOUGH_MEM, "Not enough mem."}, {T_RIG_NOT_IMPLEMENTED, "Not implemented"}, {T_RIG_COMM_TIMEOUT, "Comm. timeout"}, {T_RIG_IO_ERROR, "IO error"}, {T_RIG_INTERNAL_ERROR, "Internal error"}, {T_PROTOCOL_ERROR, "Protocol error"}, {T_RIG_COMMAND_REJECT, "Command reject."}, {T_RIG_ARG_TRUNCATED, "Arg. truncated"}, {T_RIG_F_NOT_AVAILABLE, "F not available"}, {T_RIG_VFO_NOT_TARGET, "VFO not target."}, {T_RIG_ERROR_ON_BUS, "Error on bus"}, {T_RIG_BUS_COLLISION, "Bus collision"}, {T_RIG_INVALID_ARG, "Invalid arg."}, {T_RIG_INVALID_VFO, "Invalid VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg out of dom."}, {T_ERROR_D, "Error %d"}, {T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Can't set graphics mode"}, {T_WAIT_SDL_THR, "Waiting for SDL event thread"}, {T_FREE_GRAPHICS, "Terminating graphics"}, {T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s"}, {T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s"}, {T_CANT_READ_LOG_FILE, "Can't read log file %s"}, {T_CANT_UPLOAD_LOG, "Can't upload log: %s"}, {T_CANT_CONFIRM_LOG, "Can't confirm log: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s"}, {T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Date:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Points:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Can't upload file: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s"}, {T_FILE_ALREADY_EXISTS, "File already exists: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s"}, {T_CANT_EDIT_PAGE, "Can't edit page: %s"}, {T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s"}, {T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s"}, {T_EDITING_CONTEST_PAGE, "Editing contest page..."}, {T_ALL_DONE, "All done."}, {T_UPLOADING_FILE, "Uploading file %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s"}, {T_QUERYING_EDIT_TOKEN, "Querying edit token"}, {T_CANT_LOGIN, "Can't log in (2): %s"}, {T_CANT_LOGIN2, "Can't log in (2), wiki says: %s"}, {T_CANT_LOGIN1, "Can't log in (1): %s"}, {T_LOGGING_IN, "Logging in..."}, {T_EXPORTING_FILES, "Exporting files..."}, {T_INIT_WIZZ, "Initializing contest wizard"}, {T_FREE_WIZZ, "Terminating contest wizard"}, {T_LOAD_WIZZ_DATA, "Loading contest wizard data"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Contest phase"}, {T_HK_PHASE, "H"}, {T_ENTER_PHASE, "New contest phase: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_castellano [] = { {0, NULL}, {T__CHAR_SET, "us-ascii"}, {T__LANGUAGE, "Castellano"}, {T_ABOUT, "Acerca"}, {T_BAD_NUMBER, "Numero incorrecto"}, {T_BAD_STRING, "Texto incorrecto"}, {T_BASIC_HELP, "Presione F10 para menu.\nDiviertase!"}, {T_BLOCK_CURSOR, "Block cursor"}, {T_CANCEL, "Cancelar"}, {T_CHARACTER_SET, "Juego de caracteres"}, {T_COLOR, "Color"}, {T_COPYING, "Copy"}, {T_DIFFERENCE, "diferencia"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Quieres salir de Tucnak?"}, {T_EMPTY_STRING_NOT_ALLOWED, "No se permiten textos vacios"}, {T_ERROR, "Error"}, {T_WARNING, "Cuidado"}, {T_EXIT, "Salir"}, {T_EXIT_TUCNAK, "Salir de Tucnak"}, {T_FILE, "Archivo"}, {T_FULL_SCREEN, "Pantalla Completa"}, {T_HELP, "Ayuda"}, {T_HK_ABOUT, "A"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "H"}, {T_HK_COPYING, "C"}, {T_HK_EXIT, "X"}, {T_HK_FILE, "F"}, {T_HK_FULL_SCREEN, "F"}, {T_HK_HELP, "H"}, {T_HK_LANGUAGE, "L"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "S"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "W"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "KOI8-R frames"}, {T_LANGUAGE, "Lenguaje"}, {T_LAST, "ultimo"}, {T_LINUX_OR_OS2_FRAMES, "Entorno OS/2 o Linux"}, {T_MEMORY_INFO, "Info de memoria"}, {T_NO_FRAMES, "No frames"}, {T_NO, "No"}, {T_NUMBER_EXPECTED, "Se esperaba un numero en el campo"}, {T_NUMBER_OUT_OF_RANGE, "Numero fuera de rango"}, {T_OK, "OK"}, {T_OS_SHELL, "OS shell"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Restrict frames in cp850/852"}, {T_UTF_8_IO, "UTF-8 Entrada/Salida"}, {T_SCREEN, "Pantalla"}, {T_SETUP, "Setup"}, {T_TERMINAL_OPTIONS, "Opciones de terminal"}, {T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-like V/U/SHF contest log"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Use ^[[11m"}, {T_VT_100_FRAMES, "VT 100 frames"}, {T_WELCOME1, "Bienvenido a Tucnak!"}, {T_WELCOME2, "Por favor, ingrese su licencia y los proximos campos de datos:"}, {T_WELCOME, "Bienvenido"}, {T_XTERM, "Xterm"}, {T_YES, "Si"}, {T_CANT_APPEND_S, "No puedo abrir el archivo %s"}, {T_CANT_WRITE, "No puedo escribir el archivo"}, {T_CANT_WRITE_S, "No puedo escribir al archivo %s"}, {T_CANT_READ, "No puedo leer desde el archivo"}, {T_CANT_READ_S, "No puedo leer desde el archivo %s"}, {T_SAVED_S, "Salvado %s"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - velocidad cw "}, {T_CANT_OPEN_S, "No puedo abrir %s"}, {T_CANT_LOCK, "No se puede lockear"}, {T_CANT_LOCK_S, "No puedo lockear %s"}, {T_LOADING_CTEST_S, "*** Cargando concurso %s"}, {T_NO_FILES, "No hay archivos en el directorio"}, {T_BAND_EXIST_SS, "CUIDADO! Banda %s (%s) ya existe"}, {T_BAND_NOT_OPEN, "Banda no activa en este concurso"}, {T_NO_BANDS, "No bandas a cargar"}, {T_CANT_SET_GR_S, "No puedo setear modo grafico-%s"}, {T_GCALL, "Licencia: %s"}, {T_GWWL, "Locator: %s"}, {T_GQRB, "QRB: %d km"}, {T_GQTF, "QTF: %d"}, {T_GSEN, "Enviado: %s %s"}, {T_GRCV, "Recibido: %s %s"}, {T_GTIM, "Hora: %s"}, {T_GOPE, "Op: %s"}, {T_GREM, "Notas: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "ingreso: %d"}, {T_GLON, "Lon:%7.2f %-6s"}, {T_GLAT, "Lat:%7.2f %-6s"}, {T_GLOC, "Loc: %s"}, {T__PLESE_WAIT_, " Por favor, espere"}, {T__RO_BAND, " BANDA DE SOLO LECTURA"}, {T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation."}, {T_CTEST_ACTIVE, "El concurso ya esta activo"}, {T_NO_CTESTS, "No concursos"}, {T_NO_CCLOSE, "No hay concurso para cerrar"}, {T_REALLY, "Realmente?"}, {T_CLOSE_CTEST, "Quieres cerrar realmente este concurso?"}, {T_GUI_LD, "GUI: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw items, %d wc items, ultimo %d\n"}, {T_EXC, "Exc: %s %d exc items, %d cxe items, ultimo %d\n"}, {T_VEXC, "Verificados EXC: %d items\n"}, {T_DWI, "D_W: %d prefijos, %d DXCCs, %d WWLs\n"}, {T_NAMES, "Nombre: %d nombres\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Memoria:"}, {T_NMY, " Yo: "}, {T_NGLOBAL, "Global: "}, {T_NMASTER, "Master: "}, {T_NREMOTE, "Remote: "}, {T_NSLAVES, "\nSlaves:\n"}, {T_NINFO, "Network info"}, {T_NO_BANDS_QRV, "No hay bandas QRV"}, {T_NO_BANDS_CONF, "No hay bandas configuradas"}, {T_NOT_AVAILABLE, "No disponible"}, {T_ADD_SUBWIN, "Add subwin"}, {T_HK_ADD_SUBWIN, "A"}, {T_CLOSE_SUBWIN, "Close subwin"}, {T_HK_CLOSE_SUBWIN, "C"}, {T_HK_NINFO, "N"}, {T_NEW, "Nuevo"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Nuevo desde el ayudante"}, {T_HK_NEW_WIZZ, "W"}, {T_NEW_NET, "Nuevo desde la red"}, {T_HK_NEW_NET, "T"}, {T_OPEN, "Abrir"}, {T_HK_OPEN, "O"}, {T_SAVE, "Salvar"}, {T_HK_SAVE, "S"}, {T_EXPORT_EDI, "Exportar como EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Exportar como report"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Exportar como ADIF"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Export as ADIF"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Exportar como HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Export as MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Importar EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Importar ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Importar swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Import list"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Opciones del concurso"}, {T_HK_CONTEST_OP, "O"}, {T_CLOSE_CONTEST, "Cerrar concurso"}, {T_HK_CLOSE_CONTEST, "C"}, {T_ADD_ERROR, "Add ERROR"}, {T_HK_ADD_ERROR, "E"}, {T_CHOP, "Cambiar concurso"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Actualizar C_W desde el concurso"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Actualizar C_W desde bandas"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Actualizar EXC DB desde el concurso"}, {T_HK_EXC_CTEST, "A"}, {T_EXC_BAND, "Actualizar EXC DB desde bandas"}, {T_HK_EXC_BAND, "T"}, {T_IMPORT_EBW, "Importar base de datos DL8EBW"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "No concurso"}, {T_NO_PEERS, "No encontre peers"}, {T_NO_MASTER, "Master no esta disponible!"}, {T_CTEST_DEF, "Defaults de concursos"}, {T_HK_CTEST_DEF, "O"}, {T_BAND_DEF, "Defaults de bandas"}, {T_HK_BAND_DEF, "B"}, {T_HK_RESPOP, "P"}, {T_CW_DAEMON, "CW keying"}, {T_HK_CW_DAEMON, "E"}, {T_CW_CQ, "CW CQ"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB CQ"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Autosalvar"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Cargar cfg desde net"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Cargar C_W desde net"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Salvar configuracion"}, {T_HK_SAVE_CFG, "F"}, {T_CONTEST, "Concurso"}, {T_HK_CONTEST, "C"}, {T_EDIT, "Editar"}, {T_HK_EDIT, "E"}, {T_BANDS, "Bandas"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Subwins"}, {T_HK_SUBWINS, "W"}, {T_BAND_SETTINGS_SC, "Seteo de bandas para banda %c %s"}, {T_QRV_ON_THIS_BAND, "QRV sobre esta banda"}, {T_QRV_IN_THIS_CTEST, "QRV en este concurso"}, {T_READ_ONLY, "Solo lectura"}, {T_MULTI, "Multi"}, {T_SINGLE, "Single"}, {T_CHECK, "Check"}, {T_TXEQUIP, " TX Equip:"}, {T_POWER, " Power:"}, {T_RXEQUIP, " RX Equip:"}, {T_ANTENNA, " Antena:"}, {T_AGLASL, " AGL;ASL:"}, {T_OPS, "Operadores:"}, {T_SPACES1, " "}, {T_REMARKS, " Notas:"}, {T_OK_SECTION_SINGLE, "Categoria single es OK"}, {T_OK_SECTION_MULTI, "Multi categoria es OK"}, {T_QRG_MIN, "Extremos de banda desde"}, {T_QRG_MAX, "a [kHz]"}, {T_ADIFBAND, "ADIF nombre de banda"}, {T_SKEDQRG, "QRG para skeds (texto libre)"}, {T_BAND_LO, "Transverter's LO QRG [Hz]"}, {T_BANDSW, "Band switch value"}, {T_RESPOP, "Operador responsable"}, {T_NAME, " Nombre:"}, {T_CALLSIGN, " Licencia:"}, {T_ADDRESS, " Direccion:"}, {T_POSTCODE, " Cod.Postal:"}, {T_CITY, " Ciudad:"}, {T_COUNTRY, " Pais:"}, {T_PHONE, " Telefono:"}, {T_BBSEMAIL, " BBS/Email:"}, {T_QP0, " -- nada -- "}, {T_QP1, " 1 QSOp*QSOp_m (Std. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK activity)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltic)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (district codes)"}, {T_QP13, "13 Continent (CQ WW DX Contest)"}, {T_QP14, "14 Continent+band (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " -- nada -- "}, {T_TP1, " 1 Multiplicative (Std. IARU)"}, {T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "Nuevo concurso"}, {T_CANT_TRUNC, "No puedo truncar la descrip. del archivo"}, {T_NAME_OF_CTEST, "Nombre del concurso:"}, {T_CALL_OF_CTEST, "Licencia en el concurso:"}, {T_CLUB_ST, "Radio Club:"}, {T_YOURWWL, "Su Locator:"}, {T_YOUREXC, "SU EXC:"}, {T_DATE_OF_CTEST, "Fecha del concurso:"}, {T_QSOUSED, "QSO NR usado"}, {T_QSOPM, " QSOp multi:"}, {T_WWLUSED, "Locator used "}, {T_WWLB, "WWL bonus:"}, {T_WWLM, "WWL multi:"}, {T_EXCUSED, "EXC usado"}, {T_EXCB, " EXC bonus:"}, {T_EXCM, "EXC multi:"}, {T_EXCNAME, " EXC nombre: "}, {T_PREFM, "PREF multi:"}, {T_DXCB, " DXC bonus:"}, {T_DXCM, "DXC multi:"}, {T_RSTUSED, "RST Usado "}, {T_DEFRS, "Default RS:"}, {T_DEFRST, "Def RST:"}, {T_ALSORSTR, "Tamb. para RST-R"}, {T_QP_CALC, " QSOp calc:"}, {T_TO_CALC, "Total calc:"}, {T_EDI_PROP, "EDI prop"}, {T_RESPOP2, "Op. responsable"}, {T_EDIT_QSO_CD, "Editar QSO %c: %03d"}, {T_CALLSIGN2, "Licencia:"}, {T_CLUB, " Club:"}, {T_PADR1, " Direc.1:"}, {T_PADR2, " Direc.2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Operador:"}, {T_DATE, " Fecha:"}, {T_MODE, " Modo:"}, {T_RSTS, " RSTs:"}, {T_RSTR, " RSTr:"}, {T_QSONRS, "QSO env.:"}, {T_QSONRR, "QSO rec.:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " Locator:"}, {T_REMARK, " Notas:"}, {T_QRV2, " QRV on:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Sked enviado"}, {T_SELECT, "Seleccionar"}, {T_QRG, " QRG:"}, {T_WE_CALL, " Llamamos"}, {T_BAND, " Banda:"}, {T_TIME, " Hora:"}, {T_DUPE_QSO, "QSO duplicado!"}, {T_CLEAR_THIS_QSO, "Limpiar este QSO"}, {T_EDIT_OLD_QSO, "Editar QSO viejo"}, {T_MARK_OLD_QSO, "Marcar QSO viejo como ERROR"}, {T_STORE_AS_DUPE, "Almacenar como DUP"}, {T_BAD_CALL, "Esto no parece ser una licencia!"}, {T_N_CALLSIGN, "\nLicencia:"}, {T_AUTOSAVE_OPTS, "Opciones de Autosalvado"}, {T_SAVE_AQ, "Salvar al disco luego del QSO:"}, {T_SAVE_AM, "Salvar al disco luego de minutos:"}, {T_FSYNC, "Fsync"}, {T_SAVE_AQF, "Salvar al disquette luego del QSO: "}, {T_SAVE_AMF, "Salvar al disquette luego de minutos:"}, {T_DO_MOUNT, "Mount no esta en /etc/mtab (no usado)"}, {T_FLOPPY_PATH, "Path al disquette:"}, {T_MOUNT_CMD, "Comando de montar: "}, {T_SW_SHELL, "Shell"}, {T_SW_QSOS, "QSOs"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Talk"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Unfi"}, {T_SW_DXC, "DXC"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Map"}, {T_SW_SCOPE, "Scope"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Player"}, {T_SW_CHART, "Chart"}, {T_SHELL, "Shell"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Talk"}, {T_SKEDS, "Skeds"}, {T_UNFI, "QSOs no finalizados"}, {T_DXC, "DX Cluster"}, {T_STAT, "Stadisticas"}, {T_SWAP, "Swap (N/A)"}, {T_MAP, "Mapa grafico"}, {T_SCOPE, "Scope"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Comando"}, {T_RESPAWN, "Respawn [sec]:"}, {T_UNFI_QSO, "QSO no finalizado"}, {T_N_REMARK, "\nNota:"}, {T_NO_CQ, "No hay CQ definido"}, {T_TEXT, "Texto:"}, {T_SPEED, "Velocidad [WPM]:"}, {T_REPEAT, "Repetir"}, {T_DELAY, "Retardo [0.1s]:"}, {T_ALLOW_UNDEF, "Pemitir aunque algun item no este definido"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Archivo:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "UDP port:"}, {T_DEVICE, "Dispositivo de Keying:"}, {T_INIT_SPEED, "Velocidad inicial [WPM]:"}, {T_INIT_WEIGHT, "Peso:"}, {T_WPMFROM, "WPM Rango desde"}, {T_WPMTO, "a"}, {T_USE_SPK, "Use parlante"}, {T_LEADIN, "PTT retardo in [ms]"}, {T_AUTGIVE, "Run mode aut. give after [chars]"}, {T_IGN_IFACE_S, "Ignorando interface %-5s"}, {T_IGN_ADDR_S, "Ignorando address %s"}, {T_ADD_IFACE_SSD, "Adicionando interface=%-5s BCAST=%s:%d"}, {T_FORCED_ADDR, "Forzando la direccion %s"}, {T_TIMESKEW, "CUIDADO! Desfasaje de tiempo %d detectado con %s:%d !\n"}, {T_DISCONNECTING_SD, "Desconectando de %s:%d"}, {T_ACCEPTED_SD, "Aceptando %s:%d (%s)"}, {T_CONNECTING_SD, "Conectando a %s:%d"}, {T_CONNECTED_SD, "Conectado a %s:%d"}, {T_DISCONNECTED_SD, "Desconectado de %s:%d"}, {T_LOADED_CFG_SSSS, "Config cargado para %s %s (%s,%s)"}, {T_LOADED_CW, "Cargado datos C_W data"}, {T_PEER_NOT_FOUND, "ERROR! Peer %s no encontrado"}, {T_CANT_CREATE_HOME_S, "No puedo crear el directorio %s"}, {T_CANT_LOAD_CFG, "No puedo cargar la configuracion!\nEl programa no trabajara correctamente!"}, {T_ERR_RC, "Se encontraron algunos errores mientras se examinaba el archivo de configuracion!\nEste archivo fue probablemente guardado con una nueva version de Tucnak!\nNo salve su configuracion a no ser que quiera perder datos!"}, {T_SES_QTR, " QTR "}, {T_SES_QRA, " CALL "}, {T_SES_RST, " RST-S-No RST-R-No "}, {T_SES_QTH, " QTH "}, {T_SES_QRB, " Pts/QRB QTF "}, {T_SES_FLG, " Flg "}, {T_SES_OPE, " Oper. "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Notas "}, {T_SES_WELCOME, "Bienvenido a Tucnak! "}, {T_SES_PRESS_F10, "Presione F10 para menu."}, {T_SES_HAVE_FUN, "Tenga suerte."}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p PROM"}, {T_SES_AVG, " AVG: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " WWLs: %d"}, {T_SF_WWLS_UNDER, "-------------"}, {T_SF_EXCS, " EXCs: %d"}, {T_SF_EXCS_UNDER, "-------------"}, {T_SF_MISS_EXCS, " Missing EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " DXCCs: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " WKD WWLs: %d"}, {T_SF_WKD_WWLS_UNDER, "-----------------"}, {T_SF_QSO_WWL4, " QSOS en WWL4s: %d"}, {T_SF_QSO_WWL4_UNDER, "----------------------"}, {T_SF_STATS_BAND, " Estadisticas para banda %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Concurso: %s"}, {T_SF_ALLBQSOS, "QSO's en todas las bandas: %d"}, {T_SF_ALLBQSOP, "QSOp en todas las bandas: %d"}, {T_SF_ALLBPTS, "Puntos en todas las bandas: %d"}, {T_SF_QSOS, "QSOs: %d"}, {T_SF_VQSO, "Valid QSOs: %d"}, {T_SF_QSOP, "QSO puntos: %d"}, {T_SF_PTS, "Puntos: %d"}, {T_SF_AVG_PTS, "Promedio pts/QSO: %5.2f"}, {T_SF_AVG_QSOP, "Promedio qsop/QSO: %5.2f"}, {T_BAND_RO, "Banda es solo lectura"}, {T_THIS_BAND, "Esta banda"}, {T_OTHER_BANDS, "Otras bandas"}, {T_CW_DB, "C_W base de datos"}, {T_PROC_EXITED, "*** Saliendo del proceso\n"}, {T_WE_CALL2, "Llamando"}, {T_WE_LISTEN, "Escuchando"}, {T_QSL, "QSL prometida"}, {T_RECORD, "Grabando trafico"}, {T_MAXMIN, " Max. duracion de grabacion"}, {T_TEMPLATE, "Mascar para el nombre de archivo grabado"}, {T_PCM8, "8 bit PCM"}, {T_PCM16, "16 bit PCM"}, {T_ULAW, "mu-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Canales"}, {T_SAMPLERATE, "Sample rate"}, {T_FILLOP, "Fill operators"}, {T_HK_FILLOP, "L"}, {T_RECAQRB, "Recalcule QRB,QTF"}, {T_HK_RECAQRB, "R"}, {T_NETWORK, "Network & trace"}, {T_HK_NETWORK, "K"}, {T_IF_IGNORE, "Ignore interfaces:"}, {T_IP_IGNORE, " Ignore networks:"}, {T_IP_ANNOUNCE, " Anuncie a nets:"}, {T_TRACE_BCAST, "Trace broadcasts "}, {T_TRACE_SOCK, "Trace sockets"}, {T_TRACE_RECV, "Trace datos recibidos"}, {T_TRACE_SEND, "Trace datos enviados"}, {T_TRACE_QSOS, "Trace QSOs"}, {T_TRACE_SDEV, "Trace rotars"}, {T_NOT_MOUNTED_S, "No montado %s"}, {T_RECSRC_NONE, "No seteado"}, {T_RECSRC_MIC, "Microfono"}, {T_RECSRC_LINE, "Line in"}, {T_NEW_CALL, "Nuevo!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV en %s"}, {T_SKED_QRG, "QRG para skeds"}, {T_HK_SKED_QRG, "F"}, {T_N_SKED_QRG, "\nQRG para skeds:"}, {T_GRAB_BAND, "Grab control de banda"}, {T_HK_GRAB_BAND, "G"}, {T_FORCE_RUN, "Forzar mode RUN"}, {T_HK_FORCE_RUN, "U"}, {T_EXPORT_STATS, "Exportar estadisticas"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX QSOs:"}, {T_SF_TOP_DX_UNDER, "-------------------"}, {T_ROTAR, "Rotor"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimuth"}, {T_ELEVATION, "Elevacion"}, {T_CH_SPY, "Espiar"}, {T_HK_CH_SPY, "S"}, {T_CH_ENDSPY, "Finalizar espiar"}, {T_HK_CH_ENDSPY, "P"}, {T_EXPORT_TITLPAGE, "Exportar titulo de la pagina"}, {T_HK_EXPORT_TITLPAGE, "P"}, {T_BREAK_RECORD, "Cortar registro"}, {T_HK_BREAK_RECORD, "B"}, {T_GLOBAL_OPERATOR, "Cambiar para todas las bandas"}, {T_GLOBAL_OPERATOR2, "Global"}, {T_MAXFRAG, "Max. num de fragmentos (>=2)"}, {T_PLAY_LAST, "Escuchar el ultimo ejemplo"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Opciones miscelaneas"}, {T_HK_MISCOPTS, "P"}, {T_LOGLINES, "Log lineas: "}, {T_SKEDSHIFT, "Sked shift (minutes): "}, {T_STARTBAND, "Comenzando en banda: "}, {T_GFX_X_CH, "Resolucion de pantalla (chars):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Resolucion de pantalla (pixels):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Info de la licencia"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSOs/hora: %d"}, {T_SF_QSOP_HOUR, "Puntos/hora: %d"}, {T_SF_QSOP_50QSO, "Puntos/50 QSOs: %d"}, {T_SF_HOURS, " Horas"}, {T_SF_HOURS_UNDER, "---------"}, {T_SF_HOURS_TITLE, "Horas Puntos QSOs PROMpts/QSO"}, {T_QSO_CHECK, "QSO check"}, {T_HK_QSO_CHECK, "K"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Espacio minimo libre en disco [MiB]"}, {T_FORMAT, "Formato de la grabacion"}, {T_PCM_PLAY, "Dispositivo Alsa de audio"}, {T_PCM_REC, "Dispositivo Alsa de captura"}, {T_PERIOD, "Periodo de tiempo [ms]"}, {T_BUFFER, "Buffer de tiempo [ms]"}, {T_ALSA_MIXER, "Dispositivo Alsa mezclador"}, {T_CAPTURE, "Fuente de captura"}, {T_DSP, "OSS DSP"}, {T_MIXER, "OSS mixer"}, {T_RECSRC, "Fuente de registro"}, {T_PA_PLAY, "Portaudio playback device"}, {T_PA_REC, "Portaudio capture device"}, {T_HOSTNAME, "Hostname:"}, {T_SLASHKEY, "Slash key"}, {T_FIXQRG, "Fix QRG"}, {T_HK_FIXQRG, "X"}, {T_ENTER_QRG, "Ingrese QRG exacta [Hz]"}, {T_BAD_QRG, "Frecuencia incorrecta"}, {T_CALLSIGN3, "Licencia"}, {T_CALLSIGN_KST, "KST licencia de la estacion:"}, {T_CANT_INIT_WINKEY_S, "No puedo iniciar winkey en %s"}, {T_WINKEYOPTS, "Opciones Winkey"}, {T_WK_WK2, "Winkey2 inicializacion rapida"}, {T_WK_USEPOT, "Use speed pot"}, {T_WK_USEBUT, "Usar botones"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Bug"}, {T_WK_SWAP, "Paddle swap (left handled)"}, {T_RIGOPTS, "Opciones del equipo"}, {T_HK_RIGOPTS, "G"}, {T_RIG_DEVICE, "Dispositivo:"}, {T_RIG_MODEL, "Hamlib modelo"}, {T_RIG_SPEED, "Baudrate: "}, {T_RIG_CIV, "CIV direccion (hex)"}, {T_RIG_FREQSHIFT, "Corrimiento de freq.SSB->CW"}, {T_RIG_CHOOSE, "Elija"}, {T_ROTAROPTS, "Opciones del rotor"}, {T_HK_ROTAROPTS, "I"}, {T_DSSAVER, "Desactivar salva pantalla"}, {T_DESC, "Descripcion"}, {T_ROT_NONE, "Nada"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI"}, {T_ROT_HAMLIB, "Hamlib"}, {T_ROT_REMOTE, "Remoto"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Serial #"}, {T_ROT_ADD, "Adicionar un rotor nuevo"}, {T_HK_ROT_ADD, "W"}, {T_ROT_REMOVE, "Eliminar rotor"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "Ancho del beam:"}, {T_SADDR, "Comunicacion address:"}, {T_MODEL, "Modelo:"}, {T_ROT_REM_ROTSTR, "Letra del rotor para remoto"}, {T_QSOGLOB, "Global QSO NR"}, {T_PREFGLOB, "Global PREF"}, {T_NOT_RECORDING_S, "No grabando - %s"}, {T_SKEDCOUNT, "Sked count in popup: "}, {T_FONTHEIGHT, "Font height (16-32): "}, {T_RIG_POLL_MS, "Rig poll interval [ms]: "}, {T_RIG_QRG_R2T, "Set band from radio"}, {T_RIG_QRG_T2R, "Change band on radio"}, {T_RIG_MODE_T2R, "Change mode on radio"}, {T_RUN_MODE, "Run mode"}, {T_HK_RUN_MODE, "M"}, {T_SP_MODE, "S&P mode"}, {T_HK_SP_MODE, "M"}, {T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save"}, {T_RIG_DEBUG, "Debug rig"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Band QSO Point Mult"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Last Q-%s P-%s"}, {T_EVEN, "TX even"}, {T_HK_EVEN, "v"}, {T_ODD, "TX odd"}, {T_HK_ODD, "d"}, {T_1ST, "TX 1st"}, {T_HK_1ST, "1"}, {T_2ND, "TX 2nd"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Score:"}, {T_EXPMODE, "Expedition mode"}, {T_TTTYPE, "Only digits mean"}, {T_ROT_POLL_MS, "Poll interval [ms]:"}, {T_VERSION, "Version"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, " Remote host name:"}, {T_REMOTE_PORT, " Remote TCP port:"}, {T_REMOTE_PASS, " Remote Password:"}, {T_STARTING_AC, "Starting AS"}, {T_STOPPING_AC, "Stopping AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Speed:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Durat: %ld"}, {T_EXPORTING_S, "Exporting %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s"}, {T_EXPORTING, "Exporting ..."}, {T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables"}, {T_LOADING_CHARTS, "Loading charts"}, {T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control"}, {T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in"}, {T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi"}, {T_CANT_CREATE_PIPE, "Can't create pipe"}, {T_TERMINATING_CWDAEMON, "Terminating CW/PTT control"}, {T_INIT_CWDB, "Initializing WWL database"}, {T_TERM_CWDB, "Terminating WWL database"}, {T_LOADING_CWDB, "Loading WWL database"}, {T_QRV_ON, "QRV on: "}, {T_CANT_INIT_FTDI, "Can't init ftdi library for davac4"}, {T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s"}, {T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s"}, {T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s"}, {T_INIT_SOUNDCARD, "Initializing soundcard"}, {T_NO_OSS, "OSS support not compiled in"}, {T_NO_ALSA, "Alsa support not compiled in"}, {T_NO_PORTAUDIO, "portaudio support not compiled in"}, {T_NO_SNDFILE, "Libsndfile support not compiled in"}, {T_NO_SNDPIPE, "Sndpipe support not compiled in"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Initializing DXCC database"}, {T_FREE_DWDB, "Terminating DXCC database"}, {T_LOAD_DWDB, "Loading DXCC database"}, {T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n"}, {T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n"}, {T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n"}, {T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n"}, {T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n"}, {T_CALL_ON_BAND_S, "Callsign on band %s is %s\n"}, {T_LOCATOR_ON_BAND, "Locator on band %s is %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO check list\n"}, {T_CALL_SN, " Call: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Date: %s\n"}, {T_CHECKING_S, "Checking %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Seems to be O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s not found\n"}, {T_0X_NOT_IN_DB, " 0x (not in database)"}, {T_NAME_IS, "Name: %s's name is %s\n"}, {T_NAME_UNKNOWN, "Name: %s's name is unknown\n"}, {T_INIT_DXC, "Initializing DXcluster database"}, {T_FREE_DXC, "Terminating DXcluster database"}, {T_HK_SELECT, "S"}, {T_HIDE, "Hide"}, {T_HK_HIDE, "H"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Use"}, {T_HK_USE, "U"}, {T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n"}, {T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n"}, {T_HOST_RESOLVED, "*** Host resolved "}, {T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n"}, {T_CONNECTING_TO, "*** Connecting to %s ***\n"}, {T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Connected socket %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Disconnected ***\n"}, {T_RESOLVING, "*** Resolving %s ***\n"}, {T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s"}, {T_SAVED, "Saved '%s'"}, {T_LOADING_CONTEST, "Loading contest %s"}, {T_LOADING_LOGFILE, "Loading logfile"}, {T_LOADING_TALK, "Loading talk"}, {T_SEARCH_FILES, "Search for contest files"}, {T_LOADING_BAND, "Loading band %s"}, {T_LOADING_SPY, "Loading spy"}, {T_LOADING_HICALLS, "Loading hicalls"}, {T_LOADING_QRV, "Loading qrv"}, {T_LOADING_CHART, "Loading chart"}, {T_SAVING_CONTEST, "Saving contest"}, {T_UPD_INT_DATA, "Updating internal data"}, {T_CALC_STATS, "Calculating statistics"}, {T_ANN_OVER_NET, "Announcing over network"}, {T_ACTIVATING_BAND, "Activating band %s"}, {T_UPDATING_WKD, "Updating worked calls"}, {T_UPDATING_QRBQTF, "Updating QRB&QTF"}, {T_UPDATING_GAIN, "Updating gain chart"}, {T_SEN_OVER_NET, "Sending info over network"}, {T_INIT_EXCDB, "Initializing exchange database"}, {T_FREE_EXCDB, "Terminating exchange database"}, {T_INIT_FFT, "Initializing FFT analyse"}, {T_FREE_FFT, "Terminating FFT analyse"}, {T_INIT_ROTAR, "Initializing rotator control"}, {T_FREE_ROTAR, "Terminating rotator control"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Points"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initializing HTTP server"}, {T_FREE_HTTPD, "Terminating HTTP server"}, {T_NO_CONTEST_OPENED, "

No contest opened

\n"}, {T_NO_CONTEST_OPENED2, "No contest opened"}, {T_STATS, "Statistics"}, {T_BAND_NOT_FOUND, "Band not found"}, {T_BAND_C_NOT_FOUND, "

Band %c not found

"}, {T_QSOS_IN_DATABASE, "qsos in database"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online log"}, {T_DATE2, "Date"}, {T_UTC, "UTC"}, {T_CALL, "Call"}, {T_CALL_NOT_FOUND, "Call not found"}, {T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d"}, {T_FREE_TERM, "Terminating terminal"}, {T_TERM_KEYMAPS, "Terminating keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh mistake"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Ask for sked"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Message"}, {T_HK_MESSAGE, "M"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n"}, {T_RESOLVED, "*** Resolved "}, {T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sending /sh us ...\n"}, {T_SKIP_LINE, "Skip line %d '%s'"}, {T_CANT_CREATE_HOME, "Can't create home directory '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s"}, {T_INIT_MAP, "Initializing polar map"}, {T_DISABLE_SAVER, "Disabling screensaver"}, {T_STARTING_TUCNAK, "Starting Tucnak"}, {T_FREE_MAP, "Terminating polar map"}, {T_INIT_MASTERDB, "Initializing master database"}, {T_FREE_MASTERDB, "Terminating master database"}, {T_LOAD_MASTERDB, "Loading master database"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s"}, {T_DIRECTORY_SCAN, "Directory scan"}, {T_V3_COMPATIBILITY, " (v3 compatibility)"}, {T_RELOAD_INTERFACES, "Reload interfaces"}, {T_SET_READONLY, "Set read-only"}, {T_CHANGE_TYPE, "Change type"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Open connection"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Kill connection"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Export to text file"}, {T_ADD_CONTEST, "Add contest"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Add file(s)"}, {T_HK_ADD_FILES, "F"}, {T_ADD_CONTESTS, "Add contests"}, {T_HK_ADD_CONTESTS, "O"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Int.error test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Dump RW bands and hashes"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Update Tucnak"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Settings"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "Voip spy"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "End voip spy"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest is old, spy is not available"}, {T_NETWORK_SCAN, "Network scan"}, {T_HTTPD_OPTIONS, "HTTPD options"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter options"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR options"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Other:"}, {T_NONE, "None "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "Unused "}, {T_USED_6, "Used (6)"}, {T_OPT_6, "Opt. (6)"}, {T_USED_4, "Used (4)"}, {T_OPT_4, "Opt. (4)"}, {T_FREE, "Free "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Verified"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Confirm WWL"}, {T_CONFIRM_EXC, "Confirm EXC"}, {T_FONT_SIZE, "Font size: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, " SLOVHF user:"}, {T_SDR, "SDR"}, {T_PARPORT, "parport"}, {T_TTYS, "ttys"}, {T_TTYSSINGLE, "ttys single pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystem:"}, {T_PLAYBACK_VOLUME, "Playback volume"}, {T_CAPTURE_VOLUME, "Capture volume"}, {T_ENABLE_REMOTE_CONNECT, "Enable remote connect"}, {T_TRACE_RIG, "Trace rig"}, {T_TRACE_KEYS, "Trace keys"}, {T_SAVE_RESTART, "You must save configuration and restart Tucnak"}, {T_FULLSCREEN, "Fullscreen"}, {T_TOUCH, "Use touch control"}, {T_ALT_QWER, "Alt turns QWER.. to 1234.."}, {T_NO_LOCKS, "No device locks"}, {T_PORTRAIT_ORIENTATION, "Portrait orientation"}, {T_REVERSE, "Reverse"}, {T_CHOOSE_RIG, "Choose rig"}, {T_RIG_D, "Rig %d"}, {T_NEW_RIG, "New rig"}, {T_ENABLED, "Enabled"}, {T_SET_PTT_ON_RADIO, "Set PTT on radio"}, {T_DISABLED, " (disabled)"}, {T_ADD_RIG, "Add rig"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Enable"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Show private information"}, {T_REFRESH, "Refresh interval:"}, {T_LOAD_FROM_NET, "Load from network"}, {T_LOAD_CWDB, "Load C_W database"}, {T_LOAD_NAMEDB, "Load Name database"}, {T_LOAD_QRVDB, "Load QRV database"}, {T_READONLY_BANDS, "Read-only bands"}, {T_ENABLE_AC, "Enable AS"}, {T_AC_URL, "Alternative URL for flightradar data"}, {T_K_FACTOR, "Troposphere k_factor"}, {T_AC_AREA_WIDTH, "Reflection area width in km"}, {T_AC_EL_ANGLE, "Minimal elevation angle"}, {T_AC_MAX_EL_ANGLE, "Maximal elevation angle"}, {T_AC_MIN_DURATION, "Minimal reflection duration in sec"}, {T_AC_MAX_DIFF, "Max difference of incidence and reflection angles"}, {T_BAD_NUMBER_RANGE, "Bad number range"}, {T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate"}, {T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder"}, {T_NO_DEVICE, "No device"}, {T_IQ_SOURCE, "IQ source:"}, {T_WAV_FILE, "WAV file"}, {T_WAV_FILE_NAME, "WAV file name"}, {T_AF_OUTPUT, "AF output:"}, {T_AF_SAMPLE_RATE, "AF sample rate"}, {T_BLOCK_SIZE, " Block size"}, {T_CW_FILTER, " CW filter"}, {T_TO_HZ, "to [Hz]"}, {T_SSB_FILTER, " SSB filter"}, {T_INIT_NAMEDB, "Initializing name database"}, {T_FREE_NAMEDB, "Terminating name database"}, {T_LOAD_NAMEDB2, "Loading name database"}, {T_INIT_NET, "Initializing network"}, {T_FREE_NET, "Terminating network"}, {T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s"}, {T_TIME_WAS_SET, "Time was set"}, {T_FAILED_TO_SET_TIME, "Failed to set time"}, {T_INIT, "INIT"}, {T_CONNECTING, "CONNECTING"}, {T_CONNECTED, "CONNECTED"}, {T_WAIT_ACK, "WAIT_ACK"}, {T_DISCONNECTED2, "DISCONNECTED"}, {T_DEAD, "DEAD"}, {T_LONG_XFER, "LONG_XFER"}, {T_AUTHENTICATED_USER_S, "Authenticated user %s"}, {T_BAD_AUTHENTICATION_S, "Bad authentication %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT"}, {T_LONG_TRANSFER_FINISHED, "Long transfer finished"}, {T_INIT_NTP, "Initializing NTP monitor"}, {T_FREE_NTP, "Terminating NTP monitor"}, {T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP"}, {T_INIT_SPEAKER, "Initializing PC speaker"}, {T_FREE_SPEAKER, "Terminating PC speaker"}, {T_CANT_PLAY, "Can't play %s - %s"}, {T_CANT_SEEK_TO_END, "Can't seek to end %s - %s"}, {T_CANT_SEEK_TO_START, "Can't seek to start %s - %s"}, {T_CANT_OPEN, "Can't open %s %s"}, {T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Can't set %s to EPP mode %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s"}, {T_CANT_CLAIM, "Can't claim %s %s"}, {T_INIT_QRVDB, "Initializing QRV database"}, {T_FREE_QRVDB, "Terminating QRV database"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Loading qrvs"}, {T_UNSPECIFIED, "unspecified"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n"}, {T_FOUND_D_ERRORS, "Found %d error%s while reading %s"}, {T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net"}, {T_REGISTRATED_ROTATORS, "Registrated rotators:"}, {T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread"}, {T_INIT_ROTARS2, "Initializing rotators"}, {T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n"}, {T_ROTAR_ERROR_S, "Rotar error: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe"}, {T_CANT_READ_FROM, "Can't read from"}, {T_CANT_WRITE_TO, "Can't write to"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Bad update file name"}, {T_CANT_EXECUTE_INSTALLER, "Can't execute installer, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed"}, {T_UPDATE_FAILED, "Update failed"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s"}, {T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install."}, {T_NO_NEW_VER, "No new version available."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests..."}, {T_CHOOSE_CONTEST, "Choose contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload"}, {T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form..."}, {T_ALL_EDI_FILES_PROCESSED, "All EDI files processed."}, {T_UPLOADING_LOG_FILE_S, "Uploading log file %s ..."}, {T_UPLOADING_BAND_S, "Uploading band %s"}, {T_CONFIRMING_LOG, "Confirming log..."}, {T_RESULT_ERROR, "*** Result: ERROR please read error message above"}, {T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores..."}, {T_LOGS_UPLOADED, "Logs uploaded."}, {T_HTTP_STATUS, "HTTP status: "}, {T_LOG_UPLOAD, "Log upload"}, {T_VOIP_NO_INITIALIZED, "VOIP no initialized"}, {T_PAGE_NAME, "Page name"}, {T_OVERWRITE_EXISTING_FILES, "Overwrite existing files"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Password"}, {T_EXPORT_MAP, "Export map"}, {T_EXPORT_CHART, "Export chart"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki upload"}, {T_BAD_AUTH_USER, "Bad auth user %s != %s"}, {T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame"}, {T_CANT_GET_FMTS, "Can't get supported audio formats: %s"}, {T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s"}, {T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s"}, {T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s"}, {T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s"}, {T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s"}, {T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d"}, {T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s"}, {T_RECORD2, "record"}, {T_PLAYBACK, "playback"}, {T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s"}, {T_CANT_STOP_PA, "Can't stop PortAudio stream: %s"}, {T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s"}, {T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\""}, {T_CANT_SET_STROBE, "Can't set parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error"}, {T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n"}, {T_INIT_SERIAL_DEVICES, "Initializing serial devices"}, {T_BAD_CHECKSUM, "Bad checksum"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Bad response"}, {T_UNKNOWN_FUNCTION, "Unknown function"}, {T_UNKNOWN_ERROR_CODE, "Unknown error code"}, {T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n"}, {T_WAIT_FOR_SDR_THR, "Waiting for SDR thread"}, {T_QSO_REQ_FROM_SP, " QSO request from S&P "}, {T_QSO_REQ_SENT, " QSO request sent to RUN "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Location unknown"}, {T_DEGREE, "deg"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe"}, {T_INIT_SSB_CQ, "Initializing SSB CQ"}, {T_FREE_SSB_CQ, "Terminating SSB CQ"}, {T_NO_FILE, "No file specified"}, {T_UNSUP_CHANNELS, "Unsupported number of channels = %d"}, {T_FLOAT_UNSUPP, "Float point files are not supported"}, {T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing"}, {T_REC_DISABLED, "recording disabled"}, {T_CONTEST_TOO_OLD, "contest too old"}, {T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Error writing file %s: %s"}, {T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording"}, {T_NO_DISK_SPACE, "Not enough free disk space for file"}, {T_CANT_PLAY_FILE, "Can't play file %s - %s"}, {T_CANT_WRITE_SS, "Can't write to file %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded"}, {T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template"}, {T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n"}, {T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***"}, {T_LOADING_S, "Loading %s"}, {T_INVALID_WINDOW_TYPE, "invalid window type %d\n"}, {T_INIT_RIG, "Initializing rig control %d"}, {T_RIG_ERROR, "Rig error: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n"}, {T_FREE_RIG, "Terminating rig control %d"}, {T_WAIT_FOR_RIG_THR, "Waiting for rig thread"}, {T_INVALID_PARAM, "Invalid param."}, {T_RIG_INVALID_CONFIG, "Invalid config."}, {T_RIG_NOT_ENOUGH_MEM, "Not enough mem."}, {T_RIG_NOT_IMPLEMENTED, "Not implemented"}, {T_RIG_COMM_TIMEOUT, "Comm. timeout"}, {T_RIG_IO_ERROR, "IO error"}, {T_RIG_INTERNAL_ERROR, "Internal error"}, {T_PROTOCOL_ERROR, "Protocol error"}, {T_RIG_COMMAND_REJECT, "Command reject."}, {T_RIG_ARG_TRUNCATED, "Arg. truncated"}, {T_RIG_F_NOT_AVAILABLE, "F not available"}, {T_RIG_VFO_NOT_TARGET, "VFO not target."}, {T_RIG_ERROR_ON_BUS, "Error on bus"}, {T_RIG_BUS_COLLISION, "Bus collision"}, {T_RIG_INVALID_ARG, "Invalid arg."}, {T_RIG_INVALID_VFO, "Invalid VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg out of dom."}, {T_ERROR_D, "Error %d"}, {T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Can't set graphics mode"}, {T_WAIT_SDL_THR, "Waiting for SDL event thread"}, {T_FREE_GRAPHICS, "Terminating graphics"}, {T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s"}, {T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s"}, {T_CANT_READ_LOG_FILE, "Can't read log file %s"}, {T_CANT_UPLOAD_LOG, "Can't upload log: %s"}, {T_CANT_CONFIRM_LOG, "Can't confirm log: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s"}, {T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Date:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Points:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Can't upload file: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s"}, {T_FILE_ALREADY_EXISTS, "File already exists: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s"}, {T_CANT_EDIT_PAGE, "Can't edit page: %s"}, {T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s"}, {T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s"}, {T_EDITING_CONTEST_PAGE, "Editing contest page..."}, {T_ALL_DONE, "All done."}, {T_UPLOADING_FILE, "Uploading file %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s"}, {T_QUERYING_EDIT_TOKEN, "Querying edit token"}, {T_CANT_LOGIN, "Can't log in (2): %s"}, {T_CANT_LOGIN2, "Can't log in (2), wiki says: %s"}, {T_CANT_LOGIN1, "Can't log in (1): %s"}, {T_LOGGING_IN, "Logging in..."}, {T_EXPORTING_FILES, "Exporting files..."}, {T_INIT_WIZZ, "Initializing contest wizard"}, {T_FREE_WIZZ, "Terminating contest wizard"}, {T_LOAD_WIZZ_DATA, "Loading contest wizard data"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Contest phase"}, {T_HK_PHASE, "H"}, {T_ENTER_PHASE, "New contest phase: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_polish [] = { {0, NULL}, {T__CHAR_SET, "iso8859-2"}, {T__LANGUAGE, "Polish"}, {T_ABOUT, "O programie"}, {T_BAD_NUMBER, "Zy numer"}, {T_BAD_STRING, "Zy cig znakw"}, {T_BASIC_HELP, "Menu nacinij F10."}, {T_BLOCK_CURSOR, "Blokowy kursor"}, {T_CANCEL, "Anuluj"}, {T_CHARACTER_SET, "Zestaw znakw"}, {T_COLOR, "Kolor"}, {T_COPYING, "Kopiowanie"}, {T_DIFFERENCE, "rnica"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Czy napewno chcesz wyj z programu Tucnak?"}, {T_EMPTY_STRING_NOT_ALLOWED, "Niedozwolony pusty cig znakw"}, {T_ERROR, "Bd"}, {T_WARNING, "Uwaga"}, {T_EXIT, "Wyjcie"}, {T_EXIT_TUCNAK, "Wyjcie z Tucnak"}, {T_FILE, "Plik"}, {T_FULL_SCREEN, "Peny ekran"}, {T_HELP, "Pomoc"}, {T_HK_ABOUT, "A"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "H"}, {T_HK_COPYING, "C"}, {T_HK_EXIT, "W"}, {T_HK_FILE, "F"}, {T_HK_FULL_SCREEN, "F"}, {T_HK_HELP, "H"}, {T_HK_LANGUAGE, "L"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "S"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "W"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "Ramka KOI8-R"}, {T_LANGUAGE, "Jzyk"}, {T_LAST, "ostatni"}, {T_LINUX_OR_OS2_FRAMES, "Ramka Linux lub OS/2"}, {T_MEMORY_INFO, "Informacja o pamici"}, {T_NO_FRAMES, "Brak ramki"}, {T_NO, "Nie"}, {T_NUMBER_EXPECTED, "W tym polu tylko numer"}, {T_NUMBER_OUT_OF_RANGE, "Numer poza zakresem"}, {T_OK, "OK"}, {T_OS_SHELL, "Wiersz polece"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Ochrona ramki w cp850/852"}, {T_UTF_8_IO, "UTF-8 Wejcie/Wyjcie"}, {T_SCREEN, "Ekran"}, {T_SETUP, "Ustawienia"}, {T_TERMINAL_OPTIONS, "Opcje terminala"}, {T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nPodobny do TACLOGu-dziennik cznoci V/U/SHF"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Uyj ^[[11m"}, {T_VT_100_FRAMES, "Ramka VT 100"}, {T_WELCOME1, "Witamy w Tucnak!"}, {T_WELCOME2, "Wprowad swj znak i lokator:"}, {T_WELCOME, "Witaj"}, {T_XTERM, "Xterm"}, {T_YES, "Tak"}, {T_CANT_APPEND_S, "Nie mona doda pliku %s"}, {T_CANT_WRITE, "Nie mona zapisa pliku"}, {T_CANT_WRITE_S, "Nie mona zapisa do pliku %s"}, {T_CANT_READ, "Nie mona odczyta pliku"}, {T_CANT_READ_S, "Nie mona odczyta z pliku %s"}, {T_SAVED_S, "Zapisano %s"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - szybko CW "}, {T_CANT_OPEN_S, "Nie mona otworzy %s"}, {T_CANT_LOCK, "Nie mona zablokowa"}, {T_CANT_LOCK_S, "Nie mona zablokowa %s"}, {T_LOADING_CTEST_S, "*** Wczytanie zawodw %s"}, {T_NO_FILES, "Brak plikw w katalogu"}, {T_BAND_EXIST_SS, "UWAGA! Pasmo %s (%s) istnieje"}, {T_BAND_NOT_OPEN, "Pasmo nie jest aktywne w tych zawodach"}, {T_NO_BANDS, "Brak pasm do wczytania"}, {T_CANT_SET_GR_S, "Nie mona ustawi adnego trybu graficznego-%s"}, {T_GCALL, "Znak: %s"}, {T_GWWL, "WWL: %s"}, {T_GQRB, "Odlego: %d km"}, {T_GQTF, "Kierunek: %d"}, {T_GSEN, "Wysano: %s %s"}, {T_GRCV, "Odebrano: %s %s"}, {T_GTIM, "Czas: %s"}, {T_GOPE, "Operator: %s"}, {T_GREM, "Uwagi: %s"}, {T_GWKD, "Wkd: %d"}, {T_GINC, "income: %d"}, {T_GLON, "Lon:%7.2f %-6s"}, {T_GLAT, "Lat:%7.2f %-6s"}, {T_GLOC, "Loc: %s"}, {T__PLESE_WAIT_, " Prosz czeka "}, {T__RO_BAND, " PASMO TYLKO DO ODCZYTU"}, {T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation."}, {T_CTEST_ACTIVE, "Log zawodw jest ju aktywny "}, {T_NO_CTESTS, "Brak logu zawodw"}, {T_NO_CCLOSE, "No contest to close"}, {T_REALLY, "Really?"}, {T_CLOSE_CTEST, "Czy napewno chcesz zamkn dziennik zawodw?"}, {T_GUI_LD, "GUI: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d cw wpisw, %d wc wpisw, ostatni %d\n"}, {T_EXC, "Exc: %s %d exc wpisw, %d cxe wpisw, ostatni %d\n"}, {T_VEXC, "Zweryfikowano EXC: %d wpisw\n"}, {T_DWI, "D_W: %d prefiksy, %d DXCCs, %d WWLs\n"}, {T_NAMES, "Imiona: %d imion\n"}, {T_MASTER, "Gowny: %d calls\n"}, {T_MEMS, "Pami:"}, {T_NMY, " Mj: "}, {T_NGLOBAL, "Oglny: "}, {T_NMASTER, "Gwny: "}, {T_NREMOTE, "Zdalny: "}, {T_NSLAVES, "\nPodrzdny:\n"}, {T_NINFO, "Informacja o sieci"}, {T_NO_BANDS_QRV, "Pasmo nie jest aktywne"}, {T_NO_BANDS_CONF, "Pasmo nie jest skonfigurowane"}, {T_NOT_AVAILABLE, "Niedostpne"}, {T_ADD_SUBWIN, "Dodaj okno"}, {T_HK_ADD_SUBWIN, "D"}, {T_CLOSE_SUBWIN, "Zamknij okno"}, {T_HK_CLOSE_SUBWIN, "Z"}, {T_HK_NINFO, "I"}, {T_NEW, "Nowy"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Nowy z kreatora"}, {T_HK_NEW_WIZZ, "K"}, {T_NEW_NET, "Nowy z sieci"}, {T_HK_NEW_NET, "S"}, {T_OPEN, "Otwrz"}, {T_HK_OPEN, "O"}, {T_SAVE, "Zapisz"}, {T_HK_SAVE, "Z"}, {T_EXPORT_EDI, "Eksport do EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Eksport jako Raport"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Eksport do ADIF"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Eksport do Cabrillo"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Eksport do HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Eksport jako MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Import EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Import ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Import swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Import list"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Ustawienia zawodw"}, {T_HK_CONTEST_OP, "U"}, {T_CLOSE_CONTEST, "Zamknij log zawodw"}, {T_HK_CLOSE_CONTEST, "K"}, {T_ADD_ERROR, "Dodaj Bd"}, {T_HK_ADD_ERROR, "B"}, {T_CHOP, "Zmiana opertora"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Aktualizacja C_W z logu"}, {T_HK_CW_CTEST, "A"}, {T_CW_BAND, "Aktualizacja C_W z pasma"}, {T_HK_CW_BAND, "P"}, {T_EXC_CTEST, "Aktualizacja EXC DB z logu"}, {T_HK_EXC_CTEST, "E"}, {T_EXC_BAND, "Aktualizacja EXC DB z pasma"}, {T_HK_EXC_BAND, "X"}, {T_IMPORT_EBW, "Import bazy DL8EBW"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "Log nie jest aktywny"}, {T_NO_PEERS, "Nie znaleziono uytkownikw"}, {T_NO_MASTER, "Komputer gwny jest niedostpny!"}, {T_CTEST_DEF, "Domyle ustawienia zawodw"}, {T_HK_CTEST_DEF, "Z"}, {T_BAND_DEF, "Domylne ustawienia dla pasma"}, {T_HK_BAND_DEF, "P"}, {T_HK_RESPOP, "P"}, {T_CW_DAEMON, "Kluczowanie CW"}, {T_HK_CW_DAEMON, "K"}, {T_CW_CQ, "CW CQ"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB CQ"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Autozapis"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Pobranie ustawie z sieci"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Pobieranie C_W z sieci"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Zapisz konfiguracj"}, {T_HK_SAVE_CFG, "F"}, {T_CONTEST, "Zawody"}, {T_HK_CONTEST, "Z"}, {T_EDIT, "Edycja"}, {T_HK_EDIT, "E"}, {T_BANDS, "Pasma"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Okna"}, {T_HK_SUBWINS, "O"}, {T_BAND_SETTINGS_SC, "Ustawienia dla pasma %c %s"}, {T_QRV_ON_THIS_BAND, "QRV na tym pamie"}, {T_QRV_IN_THIS_CTEST, "QRV w tych zawodach"}, {T_READ_ONLY, "Tylko do odczytu"}, {T_MULTI, "Multi"}, {T_SINGLE, "Single"}, {T_CHECK, "Check"}, {T_TXEQUIP, " Nadajnik:"}, {T_POWER, " Moc:"}, {T_RXEQUIP, "Odbiornik:"}, {T_ANTENNA, " Antena:"}, {T_AGLASL, "Wys.ziem/morze:"}, {T_OPS, "Operatorzy:"}, {T_SPACES1, " "}, {T_REMARKS, " Uwagi:"}, {T_OK_SECTION_SINGLE, "Kategoria Single w OK"}, {T_OK_SECTION_MULTI, "Kategoria Multi w OK"}, {T_QRG_MIN, "Zakres pasma od"}, {T_QRG_MAX, "do [kHz]"}, {T_ADIFBAND, "Nazwa pasma w ADIF"}, {T_SKEDQRG, "Czst. do skedw (dowolny form.)"}, {T_BAND_LO, "LO Transwertera[Hz]:"}, {T_BANDSW, "Przecznik pasm"}, {T_RESPOP, "Operatorzy "}, {T_NAME, " Imie:"}, {T_CALLSIGN, " Znak:"}, {T_ADDRESS, " Adres:"}, {T_POSTCODE, " Kod poczt.:"}, {T_CITY, " Miasto:"}, {T_COUNTRY, " Kraj:"}, {T_PHONE, " Telefon:"}, {T_BBSEMAIL, " BBS/Email:"}, {T_QP0, " --nic -- "}, {T_QP1, " 1 QSOp*QSOp_m (Std. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK activity)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltic)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (district codes)"}, {T_QP13, "13 Continent (CQ WW DX Contest)"}, {T_QP14, "14 Continent+band (CQ WW WPX Contest)"}, {T_QP15, "15 VHF Band (ARRL VHF)"}, {T_QP16, "16 QSOp *4 if F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --nic -- "}, {T_TP1, " 1 Multiplicative (Std. IARU)"}, {T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. all bands (CQ WW DX Contest)"}, {T_TP4, " 4 All bands togeth. (ARRL VHF)"}, {T_NEW_CTEST, "Nowe zawody"}, {T_CANT_TRUNC, "Nie mona skrci pliku"}, {T_NAME_OF_CTEST, " Nazwa zawodw:"}, {T_CALL_OF_CTEST, " Znak w zawodach:"}, {T_CLUB_ST, "Znak klubowy:"}, {T_YOURWWL, "Twj WWL:"}, {T_YOUREXC, "Twj EXC:"}, {T_DATE_OF_CTEST, "Data zawodw:"}, {T_QSOUSED, "Wymiana nr QSO"}, {T_QSOPM, " QSOp mnonik:"}, {T_WWLUSED, "Wymiana WWL"}, {T_WWLB, "Bonus WWL:"}, {T_WWLM, "WWL mnonik:"}, {T_EXCUSED, "Wymiana EXC"}, {T_EXCB, " Bonus EXC:"}, {T_EXCM, "EXC mnonik:"}, {T_EXCNAME, "Nazwa EXC: "}, {T_PREFM, "Mnonik PREF:"}, {T_DXCB, " Bonus DXC:"}, {T_DXCM, "Mnonik DXC:"}, {T_RSTUSED, "Wymiana RST"}, {T_DEFRS, "Domylny RS:"}, {T_DEFRST, "Dom. RST:"}, {T_ALSORSTR, "Rwnie dla RST-R"}, {T_QP_CALC, " Sposb liczenia QSOp:"}, {T_TO_CALC, "Sposb sumowania:"}, {T_EDI_PROP, "EDI informacje"}, {T_RESPOP2, "Operator odp."}, {T_EDIT_QSO_CD, "Edycja QSO %c: %03d"}, {T_CALLSIGN2, "Znak:"}, {T_CLUB, " Klub:"}, {T_PADR1, " PAdr1:"}, {T_PADR2, " PAdr2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Operator:"}, {T_DATE, " Data:"}, {T_MODE, " Modul.:"}, {T_RSTS, " RSTs:"}, {T_RSTR, " RSTr:"}, {T_QSONRS, "QSO wys:"}, {T_QSONRR, "QSO odeb:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " WWL:"}, {T_REMARK, " Uwagi:"}, {T_QRV2, " QRV na:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Wylij sked"}, {T_SELECT, "Zaznacz"}, {T_QRG, " QRG:"}, {T_WE_CALL, " Woamy"}, {T_BAND, " Pasmo:"}, {T_TIME, " Czas:"}, {T_DUPE_QSO, "QSO powtrzone!"}, {T_CLEAR_THIS_QSO, "Wyczy to QSO"}, {T_EDIT_OLD_QSO, "Edytuj poprzednie QSO"}, {T_MARK_OLD_QSO, "Zaznacz QSO jako Bd"}, {T_STORE_AS_DUPE, "Zapisz jako powtrzone"}, {T_BAD_CALL, "To nie wyglda jak znak wywoawczy"}, {T_N_CALLSIGN, "\nZanak:"}, {T_AUTOSAVE_OPTS, "Opcje autozapisu"}, {T_SAVE_AQ, "Zapis na dysku po kadym QSO:"}, {T_SAVE_AM, "Zapis na dysku po minutach:"}, {T_FSYNC, "Synchronizuj cache z dyskiem"}, {T_SAVE_AQF, "Zapis na dyskietce po QSO: "}, {T_SAVE_AMF, "Zapis na dyskietk po minutach:"}, {T_DO_MOUNT, "Zamontuj jesli nie ma /etc/mtab (nieuywane)"}, {T_FLOPPY_PATH, "cieka do dyskietki:"}, {T_MOUNT_CMD, "Polecenie montowania: "}, {T_SW_SHELL, "Powoka"}, {T_SW_QSOS, "QSOs"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Rozmowa"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Niedo"}, {T_SW_DXC, "DXC"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Map"}, {T_SW_SCOPE, "Spekt"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Odtwarzacz"}, {T_SW_CHART, "Wykres"}, {T_SHELL, "Powoka"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Rozmowa"}, {T_SKEDS, "Skedy"}, {T_UNFI, "Niedokoczone QSO"}, {T_DXC, "DX Cluster"}, {T_STAT, "Statystyki"}, {T_SWAP, "Swap (N/A)"}, {T_MAP, "Graficzna mapa"}, {T_SCOPE, "Spektrum"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Polecenie"}, {T_RESPAWN, "Respawn [sec]:"}, {T_UNFI_QSO, "Niedokoczone QSO"}, {T_N_REMARK, "\nUwagi:"}, {T_NO_CQ, "Nie zdefiniowano CQ"}, {T_TEXT, "Tekst:"}, {T_SPEED, "Prdko [WPM]:"}, {T_REPEAT, "Powtrka"}, {T_DELAY, "Opnienie [0.1s]:"}, {T_ALLOW_UNDEF, "Niektre pozycje nie s zdefiniowane"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "Nazwa pliku:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "UDP port:"}, {T_DEVICE, "Urzdzenie kluczujce:"}, {T_INIT_SPEED, "Prdko pocztkowa[WPM]:"}, {T_INIT_WEIGHT, "Szeroko (30-70):"}, {T_WPMFROM, "Przedzia WPM od"}, {T_WPMTO, "do"}, {T_USE_SPK, "Uyj gonika"}, {T_LEADIN, "Opnienie PTT[ms]"}, {T_AUTGIVE, "uruchom tryb automatyczny po[znak]"}, {T_IGN_IFACE_S, "Ignoruj interfejs %-5s"}, {T_IGN_ADDR_S, "Ignoruj adres %s"}, {T_ADD_IFACE_SSD, "Dodano interfejs=%-5s BCAST=%s:%d"}, {T_FORCED_ADDR, "Przejmij adres %s"}, {T_TIMESKEW, "UWAGA! Przedzia czasu %d ponowna detekcja %s:%d !\n"}, {T_DISCONNECTING_SD, "Rozczono z %s:%d"}, {T_ACCEPTED_SD, "Zaakceptowano %s:%d (%s)"}, {T_CONNECTING_SD, "czenie z %s:%d"}, {T_CONNECTED_SD, "Poczono do %s:%d"}, {T_DISCONNECTED_SD, "Rozczono z %s:%d"}, {T_LOADED_CFG_SSSS, "Pobrano konfiguracj z %s %s (%s,%s)"}, {T_LOADED_CW, "Pobrano dane C_W"}, {T_PEER_NOT_FOUND, "BD! Uytkownik %s nie znaleziony"}, {T_CANT_CREATE_HOME_S, "Nie mona utworzy katalogu %s"}, {T_CANT_LOAD_CFG, "Nie mona pobra konfiguracji!\nProgram nie bdzie dziaa prawidowo!"}, {T_ERR_RC, "Wykryto kilka bdw w pliku konfiguracyjnym!\nPrawdopodobnie plik ten nie zosta utworzony przez Tucnak!\nNie zapisuj konfiguracji, bo moesz utraci dane!"}, {T_SES_QTR, " QTR "}, {T_SES_QRA, " ZNAK "}, {T_SES_RST, " RST-S-No RST-R-No "}, {T_SES_QTH, " QTH "}, {T_SES_QRB, " Pts/QRB QTF "}, {T_SES_FLG, " Flg "}, {T_SES_OPE, " Oper. "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Uwagi "}, {T_SES_WELCOME, "Witam w Tucnak! "}, {T_SES_PRESS_F10, "Nacinij F10 aby uruchomi menu."}, {T_SES_HAVE_FUN, "Miej zabawy"}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Suma -p AVG"}, {T_SES_AVG, " AVG: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " WWLs: %d"}, {T_SF_WWLS_UNDER, "-------------"}, {T_SF_EXCS, " EXCs: %d"}, {T_SF_EXCS_UNDER, "-------------"}, {T_SF_MISS_EXCS, " Brakuje EXCs: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " DXCCs: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " WKD WWLs: %d"}, {T_SF_WKD_WWLS_UNDER, "-----------------"}, {T_SF_QSO_WWL4, " QSOS in WWL4s: %d"}, {T_SF_QSO_WWL4_UNDER, "----------------------"}, {T_SF_STATS_BAND, " Statystyka dla pasma %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Zawody : %s"}, {T_SF_ALLBQSOS, "Wszystkie pasma QSOs: %d"}, {T_SF_ALLBQSOP, "Wszystkie pasma QSOp: %d"}, {T_SF_ALLBPTS, "Wszystkie pasma pkt: %d"}, {T_SF_QSOS, "QSOs: %d"}, {T_SF_VQSO, "Valid QSOs: %d"}, {T_SF_QSOP, "QSO punkty: %d"}, {T_SF_PTS, "Punkty: %d"}, {T_SF_AVG_PTS, "rednia pkt/QSO: %5.2f"}, {T_SF_AVG_QSOP, "rednia qsop/QSO: %5.2f"}, {T_BAND_RO, "Pasmo tylko do odczytu"}, {T_THIS_BAND, "Pasmo"}, {T_OTHER_BANDS, "Inne pasmo"}, {T_CW_DB, "Baza C_W"}, {T_PROC_EXITED, "*** Proces zakoczony\n"}, {T_WE_CALL2, "woamy"}, {T_WE_LISTEN, "suchamy"}, {T_QSL, "Obiecana karta QSL"}, {T_RECORD, "Lista nagra"}, {T_MAXMIN, " Max. czas zapisu"}, {T_TEMPLATE, "Maska nazwy nagrywanego pliku"}, {T_PCM8, "8 bit PCM"}, {T_PCM16, "16 bit PCM"}, {T_ULAW, "mu-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Kanay"}, {T_SAMPLERATE, "Ilo prbek"}, {T_FILLOP, "Fill operators"}, {T_HK_FILLOP, "L"}, {T_RECAQRB, "Przelicz QRB,QTF"}, {T_HK_RECAQRB, "R"}, {T_NETWORK, "Sie & trasa"}, {T_HK_NETWORK, "K"}, {T_IF_IGNORE, "Ignoruj interfejs:"}, {T_IP_IGNORE, " Ignoruj sie:"}, {T_IP_ANNOUNCE, "Opublikuj w sieci:"}, {T_TRACE_BCAST, "Ruch w sieci "}, {T_TRACE_SOCK, "Ruch na socketach"}, {T_TRACE_RECV, "Odebrane dane"}, {T_TRACE_SEND, "Wysane dane"}, {T_TRACE_QSOS, "Wprowadzane QSOs "}, {T_TRACE_SDEV, "Sterowanie rotorem"}, {T_NOT_MOUNTED_S, "Nie zamontowano %s"}, {T_RECSRC_NONE, "Nie ustawiono"}, {T_RECSRC_MIC, "Mikrofon"}, {T_RECSRC_LINE, "Wejcie liniowe"}, {T_NEW_CALL, "Nowy!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV on %s"}, {T_SKED_QRG, "QRG dla skeda"}, {T_HK_SKED_QRG, "D"}, {T_N_SKED_QRG, "\nQRG dla skeda:"}, {T_GRAB_BAND, "Grab band control"}, {T_HK_GRAB_BAND, "G"}, {T_FORCE_RUN, "Wymu tryb RUN"}, {T_HK_FORCE_RUN, "U"}, {T_EXPORT_STATS, "Eksport statystyk"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX QSOs:"}, {T_SF_TOP_DX_UNDER, "-------------------"}, {T_ROTAR, "Rotor"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azymut"}, {T_ELEVATION, "Elewacja"}, {T_CH_SPY, "Podgld"}, {T_HK_CH_SPY, "G"}, {T_CH_ENDSPY, "Koniec podgldu"}, {T_HK_CH_ENDSPY, "K"}, {T_EXPORT_TITLPAGE, "Eksport strony tytuowej"}, {T_HK_EXPORT_TITLPAGE, "P"}, {T_BREAK_RECORD, "Przerwij nagrywanie"}, {T_HK_BREAK_RECORD, "Y"}, {T_GLOBAL_OPERATOR, "Zmie na wszystkich pasmach"}, {T_GLOBAL_OPERATOR2, "Globalny"}, {T_MAXFRAG, "Max. ilo fragmentw (>=2)"}, {T_PLAY_LAST, "Odtwrz ostatni przykad"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Inne opcje"}, {T_HK_MISCOPTS, "N"}, {T_LOGLINES, "Linii w logu: "}, {T_SKEDSHIFT, "Opnienie skeda(minuty): "}, {T_STARTBAND, "Uruchomiono pasmo: "}, {T_GFX_X_CH, "Rozdzielczo ekranu(znakw):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Rozdzielczo ekranu (piksele):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Informacja o znaku"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSO/godz: %d"}, {T_SF_QSOP_HOUR, "Punkty/godz: %d"}, {T_SF_QSOP_50QSO, "Punkty/50 QSO: %d"}, {T_SF_HOURS, " Godziny"}, {T_SF_HOURS_UNDER, "---------"}, {T_SF_HOURS_TITLE, "Godziny Punkty QSO R. pkt/QSO"}, {T_QSO_CHECK, "Sprawd QSO"}, {T_HK_QSO_CHECK, "D"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Minimalna wielko przestrzeni na dysku [MiB]"}, {T_FORMAT, "Format nagrania"}, {T_PCM_PLAY, "Urzdzenie odtwarzajce Alsa"}, {T_PCM_REC, "Urzdzenie nagrywajce Alsa"}, {T_PERIOD, "Cykl [ms]"}, {T_BUFFER, "Czas buforowania ms]"}, {T_ALSA_MIXER, "Urzdzenie miksujce Alsa"}, {T_CAPTURE, "Urzdzenie przechwytujce"}, {T_DSP, "OSS DSP"}, {T_MIXER, "OSS mikser"}, {T_RECSRC, "rdo nagrania"}, {T_PA_PLAY, "Urzdzenie dtwarzajce Portaudio"}, {T_PA_REC, "Urzdzenie nagrywajce Portaudio"}, {T_HOSTNAME, "Nazwa hosta:"}, {T_SLASHKEY, "Klawisz ukonika"}, {T_FIXQRG, "Korekta QRG"}, {T_HK_FIXQRG, "G"}, {T_ENTER_QRG, "Wrwnanie QRG [Hz]"}, {T_BAD_QRG, "Za czstotliwo"}, {T_CALLSIGN3, "Znak"}, {T_CALLSIGN_KST, "Znak na czacie KST:"}, {T_CANT_INIT_WINKEY_S, "Nie mog zainicjowa winkey na %s"}, {T_WINKEYOPTS, "Opcje Winkey"}, {T_WK_WK2, "Szybka inicjalizacja Winkey2"}, {T_WK_USEPOT, "Uyj prdkoci"}, {T_WK_USEBUT, "Uyj klawiszy"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Klucz rczny"}, {T_WK_SWAP, "Paddle swap (left handled)"}, {T_RIGOPTS, "Radio"}, {T_HK_RIGOPTS, "R"}, {T_RIG_DEVICE, "Port:"}, {T_RIG_MODEL, "Hamlib model: "}, {T_RIG_SPEED, "Prdko: "}, {T_RIG_CIV, "Adres CIV (hex):"}, {T_RIG_FREQSHIFT, "Przes. czst. SSB->CW"}, {T_RIG_CHOOSE, "Wybierz"}, {T_ROTAROPTS, "Opcje rotora"}, {T_HK_ROTAROPTS, "T"}, {T_DSSAVER, "Wycz wygaszacz"}, {T_DESC, "Opis"}, {T_ROT_NONE, "Brak"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI"}, {T_ROT_HAMLIB, "Hamlib"}, {T_ROT_REMOTE, "Zdalny"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Serial #"}, {T_ROT_ADD, "Dodaj rotor"}, {T_HK_ROT_ADD, "D"}, {T_ROT_REMOVE, "Usu rotor"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "Szeroko wizki:"}, {T_SADDR, "Adres do komunikacji:"}, {T_MODEL, "Model:"}, {T_ROT_REM_ROTSTR, "Rotor zostanie pniej usunity"}, {T_QSOGLOB, "Globalny NR QSO"}, {T_PREFGLOB, "Globalne PREF"}, {T_NOT_RECORDING_S, "Nie nagrano - %s"}, {T_SKEDCOUNT, "Ilo linii w oknie Sked: "}, {T_FONTHEIGHT, "Wielko czcionki (16-32): "}, {T_RIG_POLL_MS, "Czas odpytywania radia [ms]: "}, {T_RIG_QRG_R2T, "Ustaw pasmo z radia"}, {T_RIG_QRG_T2R, "Zmie pasmo w radiu"}, {T_RIG_MODE_T2R, "Zmie modulacj w radiu"}, {T_RUN_MODE, "Tryb aut."}, {T_HK_RUN_MODE, "U"}, {T_SP_MODE, "S&P tryb"}, {T_HK_SP_MODE, "Y"}, {T_RIG_CLR_RIT, "Wyczy RIT"}, {T_RIG_DEBUG, "Debugowanie radia"}, {T_HF_RATE, "Prdko: %3d/10 %3d/60"}, {T_HF_BAND, "Pasmo QSO Punkt Mult"}, {T_HF_SUM, "Sum:"}, {T_HF_LAST, "Ostatnie Q-%s P-%s"}, {T_EVEN, "TX eVen"}, {T_HK_EVEN, "V"}, {T_ODD, "TX oDd"}, {T_HK_ODD, "D"}, {T_1ST, "TX 1st"}, {T_HK_1ST, "1"}, {T_2ND, "TX 2nd"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Wynik:"}, {T_EXPMODE, "Tryb ekspedycja"}, {T_TTTYPE, "Tylko cyfry"}, {T_ROT_POLL_MS, "Czas odpytywania [ms]:"}, {T_VERSION, "Wersja"}, {T_HK_VERSION, "J"}, {T_REMOTE_HOST, " Adres serwera:"}, {T_REMOTE_PORT, "Port TCP serwera:"}, {T_REMOTE_PASS, "Haso do serwera:"}, {T_STARTING_AC, "Starting AS"}, {T_STOPPING_AC, "Stopping AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Speed:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Durat: %ld"}, {T_EXPORTING_S, "Exporting %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s"}, {T_EXPORTING, "Exporting ..."}, {T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables"}, {T_LOADING_CHARTS, "Loading charts"}, {T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control"}, {T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in"}, {T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi"}, {T_CANT_CREATE_PIPE, "Can't create pipe"}, {T_TERMINATING_CWDAEMON, "Terminating CW/PTT control"}, {T_INIT_CWDB, "Initializing WWL database"}, {T_TERM_CWDB, "Terminating WWL database"}, {T_LOADING_CWDB, "Loading WWL database"}, {T_QRV_ON, "QRV on: "}, {T_CANT_INIT_FTDI, "Can't init ftdi library for davac4"}, {T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s"}, {T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s"}, {T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s"}, {T_INIT_SOUNDCARD, "Initializing soundcard"}, {T_NO_OSS, "OSS support not compiled in"}, {T_NO_ALSA, "Alsa support not compiled in"}, {T_NO_PORTAUDIO, "portaudio support not compiled in"}, {T_NO_SNDFILE, "Libsndfile support not compiled in"}, {T_NO_SNDPIPE, "Sndpipe support not compiled in"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Initializing DXCC database"}, {T_FREE_DWDB, "Terminating DXCC database"}, {T_LOAD_DWDB, "Loading DXCC database"}, {T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n"}, {T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n"}, {T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n"}, {T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n"}, {T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n"}, {T_CALL_ON_BAND_S, "Callsign on band %s is %s\n"}, {T_LOCATOR_ON_BAND, "Locator on band %s is %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO check list\n"}, {T_CALL_SN, " Call: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Date: %s\n"}, {T_CHECKING_S, "Checking %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Seems to be O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s not found\n"}, {T_0X_NOT_IN_DB, " 0x (not in database)"}, {T_NAME_IS, "Name: %s's name is %s\n"}, {T_NAME_UNKNOWN, "Name: %s's name is unknown\n"}, {T_INIT_DXC, "Initializing DXcluster database"}, {T_FREE_DXC, "Terminating DXcluster database"}, {T_HK_SELECT, "S"}, {T_HIDE, "Hide"}, {T_HK_HIDE, "H"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Use"}, {T_HK_USE, "U"}, {T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n"}, {T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n"}, {T_HOST_RESOLVED, "*** Host resolved "}, {T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n"}, {T_CONNECTING_TO, "*** Connecting to %s ***\n"}, {T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Connected socket %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Disconnected ***\n"}, {T_RESOLVING, "*** Resolving %s ***\n"}, {T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s"}, {T_SAVED, "Saved '%s'"}, {T_LOADING_CONTEST, "Loading contest %s"}, {T_LOADING_LOGFILE, "Loading logfile"}, {T_LOADING_TALK, "Loading talk"}, {T_SEARCH_FILES, "Search for contest files"}, {T_LOADING_BAND, "Loading band %s"}, {T_LOADING_SPY, "Loading spy"}, {T_LOADING_HICALLS, "Loading hicalls"}, {T_LOADING_QRV, "Loading qrv"}, {T_LOADING_CHART, "Loading chart"}, {T_SAVING_CONTEST, "Saving contest"}, {T_UPD_INT_DATA, "Updating internal data"}, {T_CALC_STATS, "Calculating statistics"}, {T_ANN_OVER_NET, "Announcing over network"}, {T_ACTIVATING_BAND, "Activating band %s"}, {T_UPDATING_WKD, "Updating worked calls"}, {T_UPDATING_QRBQTF, "Updating QRB&QTF"}, {T_UPDATING_GAIN, "Updating gain chart"}, {T_SEN_OVER_NET, "Sending info over network"}, {T_INIT_EXCDB, "Initializing exchange database"}, {T_FREE_EXCDB, "Terminating exchange database"}, {T_INIT_FFT, "Initializing FFT analyse"}, {T_FREE_FFT, "Terminating FFT analyse"}, {T_INIT_ROTAR, "Initializing rotator control"}, {T_FREE_ROTAR, "Terminating rotator control"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Points"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initializing HTTP server"}, {T_FREE_HTTPD, "Terminating HTTP server"}, {T_NO_CONTEST_OPENED, "

No contest opened

\n"}, {T_NO_CONTEST_OPENED2, "No contest opened"}, {T_STATS, "Statistics"}, {T_BAND_NOT_FOUND, "Band not found"}, {T_BAND_C_NOT_FOUND, "

Band %c not found

"}, {T_QSOS_IN_DATABASE, "qsos in database"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online log"}, {T_DATE2, "Date"}, {T_UTC, "UTC"}, {T_CALL, "Call"}, {T_CALL_NOT_FOUND, "Call not found"}, {T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d"}, {T_FREE_TERM, "Terminating terminal"}, {T_TERM_KEYMAPS, "Terminating keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh mistake"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Ask for sked"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Message"}, {T_HK_MESSAGE, "M"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n"}, {T_RESOLVED, "*** Resolved "}, {T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sending /sh us ...\n"}, {T_SKIP_LINE, "Skip line %d '%s'"}, {T_CANT_CREATE_HOME, "Can't create home directory '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s"}, {T_INIT_MAP, "Initializing polar map"}, {T_DISABLE_SAVER, "Disabling screensaver"}, {T_STARTING_TUCNAK, "Starting Tucnak"}, {T_FREE_MAP, "Terminating polar map"}, {T_INIT_MASTERDB, "Initializing master database"}, {T_FREE_MASTERDB, "Terminating master database"}, {T_LOAD_MASTERDB, "Loading master database"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s"}, {T_DIRECTORY_SCAN, "Directory scan"}, {T_V3_COMPATIBILITY, " (v3 compatibility)"}, {T_RELOAD_INTERFACES, "Reload interfaces"}, {T_SET_READONLY, "Set read-only"}, {T_CHANGE_TYPE, "Change type"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Open connection"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Kill connection"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Export to text file"}, {T_ADD_CONTEST, "Add contest"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Add file(s)"}, {T_HK_ADD_FILES, "F"}, {T_ADD_CONTESTS, "Add contests"}, {T_HK_ADD_CONTESTS, "O"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Int.error test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Dump RW bands and hashes"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Update Tucnak"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Settings"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "Voip spy"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "End voip spy"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest is old, spy is not available"}, {T_NETWORK_SCAN, "Network scan"}, {T_HTTPD_OPTIONS, "HTTPD options"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter options"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR options"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Other:"}, {T_NONE, "None "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "Unused "}, {T_USED_6, "Used (6)"}, {T_OPT_6, "Opt. (6)"}, {T_USED_4, "Used (4)"}, {T_OPT_4, "Opt. (4)"}, {T_FREE, "Free "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Verified"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Confirm WWL"}, {T_CONFIRM_EXC, "Confirm EXC"}, {T_FONT_SIZE, "Font size: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, " SLOVHF user:"}, {T_SDR, "SDR"}, {T_PARPORT, "parport"}, {T_TTYS, "ttys"}, {T_TTYSSINGLE, "ttys single pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystem:"}, {T_PLAYBACK_VOLUME, "Playback volume"}, {T_CAPTURE_VOLUME, "Capture volume"}, {T_ENABLE_REMOTE_CONNECT, "Enable remote connect"}, {T_TRACE_RIG, "Trace rig"}, {T_TRACE_KEYS, "Trace keys"}, {T_SAVE_RESTART, "You must save configuration and restart Tucnak"}, {T_FULLSCREEN, "Fullscreen"}, {T_TOUCH, "Use touch control"}, {T_ALT_QWER, "Alt turns QWER.. to 1234.."}, {T_NO_LOCKS, "No device locks"}, {T_PORTRAIT_ORIENTATION, "Portrait orientation"}, {T_REVERSE, "Reverse"}, {T_CHOOSE_RIG, "Choose rig"}, {T_RIG_D, "Rig %d"}, {T_NEW_RIG, "New rig"}, {T_ENABLED, "Enabled"}, {T_SET_PTT_ON_RADIO, "Set PTT on radio"}, {T_DISABLED, " (disabled)"}, {T_ADD_RIG, "Add rig"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Enable"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Show private information"}, {T_REFRESH, "Refresh interval:"}, {T_LOAD_FROM_NET, "Load from network"}, {T_LOAD_CWDB, "Load C_W database"}, {T_LOAD_NAMEDB, "Load Name database"}, {T_LOAD_QRVDB, "Load QRV database"}, {T_READONLY_BANDS, "Read-only bands"}, {T_ENABLE_AC, "Enable AS"}, {T_AC_URL, "Alternative URL for flightradar data"}, {T_K_FACTOR, "Troposphere k_factor"}, {T_AC_AREA_WIDTH, "Reflection area width in km"}, {T_AC_EL_ANGLE, "Minimal elevation angle"}, {T_AC_MAX_EL_ANGLE, "Maximal elevation angle"}, {T_AC_MIN_DURATION, "Minimal reflection duration in sec"}, {T_AC_MAX_DIFF, "Max difference of incidence and reflection angles"}, {T_BAD_NUMBER_RANGE, "Bad number range"}, {T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate"}, {T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder"}, {T_NO_DEVICE, "No device"}, {T_IQ_SOURCE, "IQ source:"}, {T_WAV_FILE, "WAV file"}, {T_WAV_FILE_NAME, "WAV file name"}, {T_AF_OUTPUT, "AF output:"}, {T_AF_SAMPLE_RATE, "AF sample rate"}, {T_BLOCK_SIZE, " Block size"}, {T_CW_FILTER, " CW filter"}, {T_TO_HZ, "to [Hz]"}, {T_SSB_FILTER, " SSB filter"}, {T_INIT_NAMEDB, "Initializing name database"}, {T_FREE_NAMEDB, "Terminating name database"}, {T_LOAD_NAMEDB2, "Loading name database"}, {T_INIT_NET, "Initializing network"}, {T_FREE_NET, "Terminating network"}, {T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s"}, {T_TIME_WAS_SET, "Time was set"}, {T_FAILED_TO_SET_TIME, "Failed to set time"}, {T_INIT, "INIT"}, {T_CONNECTING, "CONNECTING"}, {T_CONNECTED, "CONNECTED"}, {T_WAIT_ACK, "WAIT_ACK"}, {T_DISCONNECTED2, "DISCONNECTED"}, {T_DEAD, "DEAD"}, {T_LONG_XFER, "LONG_XFER"}, {T_AUTHENTICATED_USER_S, "Authenticated user %s"}, {T_BAD_AUTHENTICATION_S, "Bad authentication %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT"}, {T_LONG_TRANSFER_FINISHED, "Long transfer finished"}, {T_INIT_NTP, "Initializing NTP monitor"}, {T_FREE_NTP, "Terminating NTP monitor"}, {T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP"}, {T_INIT_SPEAKER, "Initializing PC speaker"}, {T_FREE_SPEAKER, "Terminating PC speaker"}, {T_CANT_PLAY, "Can't play %s - %s"}, {T_CANT_SEEK_TO_END, "Can't seek to end %s - %s"}, {T_CANT_SEEK_TO_START, "Can't seek to start %s - %s"}, {T_CANT_OPEN, "Can't open %s %s"}, {T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Can't set %s to EPP mode %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s"}, {T_CANT_CLAIM, "Can't claim %s %s"}, {T_INIT_QRVDB, "Initializing QRV database"}, {T_FREE_QRVDB, "Terminating QRV database"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Loading qrvs"}, {T_UNSPECIFIED, "unspecified"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n"}, {T_FOUND_D_ERRORS, "Found %d error%s while reading %s"}, {T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net"}, {T_REGISTRATED_ROTATORS, "Registrated rotators:"}, {T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread"}, {T_INIT_ROTARS2, "Initializing rotators"}, {T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n"}, {T_ROTAR_ERROR_S, "Rotar error: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe"}, {T_CANT_READ_FROM, "Can't read from"}, {T_CANT_WRITE_TO, "Can't write to"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Bad update file name"}, {T_CANT_EXECUTE_INSTALLER, "Can't execute installer, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed"}, {T_UPDATE_FAILED, "Update failed"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s"}, {T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install."}, {T_NO_NEW_VER, "No new version available."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests..."}, {T_CHOOSE_CONTEST, "Choose contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload"}, {T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form..."}, {T_ALL_EDI_FILES_PROCESSED, "All EDI files processed."}, {T_UPLOADING_LOG_FILE_S, "Uploading log file %s ..."}, {T_UPLOADING_BAND_S, "Uploading band %s"}, {T_CONFIRMING_LOG, "Confirming log..."}, {T_RESULT_ERROR, "*** Result: ERROR please read error message above"}, {T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores..."}, {T_LOGS_UPLOADED, "Logs uploaded."}, {T_HTTP_STATUS, "HTTP status: "}, {T_LOG_UPLOAD, "Log upload"}, {T_VOIP_NO_INITIALIZED, "VOIP no initialized"}, {T_PAGE_NAME, "Page name"}, {T_OVERWRITE_EXISTING_FILES, "Overwrite existing files"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Password"}, {T_EXPORT_MAP, "Export map"}, {T_EXPORT_CHART, "Export chart"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki upload"}, {T_BAD_AUTH_USER, "Bad auth user %s != %s"}, {T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame"}, {T_CANT_GET_FMTS, "Can't get supported audio formats: %s"}, {T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s"}, {T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s"}, {T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s"}, {T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s"}, {T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s"}, {T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d"}, {T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s"}, {T_RECORD2, "record"}, {T_PLAYBACK, "playback"}, {T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s"}, {T_CANT_STOP_PA, "Can't stop PortAudio stream: %s"}, {T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s"}, {T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\""}, {T_CANT_SET_STROBE, "Can't set parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error"}, {T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n"}, {T_INIT_SERIAL_DEVICES, "Initializing serial devices"}, {T_BAD_CHECKSUM, "Bad checksum"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Bad response"}, {T_UNKNOWN_FUNCTION, "Unknown function"}, {T_UNKNOWN_ERROR_CODE, "Unknown error code"}, {T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n"}, {T_WAIT_FOR_SDR_THR, "Waiting for SDR thread"}, {T_QSO_REQ_FROM_SP, " QSO request from S&P "}, {T_QSO_REQ_SENT, " QSO request sent to RUN "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Location unknown"}, {T_DEGREE, "deg"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe"}, {T_INIT_SSB_CQ, "Initializing SSB CQ"}, {T_FREE_SSB_CQ, "Terminating SSB CQ"}, {T_NO_FILE, "No file specified"}, {T_UNSUP_CHANNELS, "Unsupported number of channels = %d"}, {T_FLOAT_UNSUPP, "Float point files are not supported"}, {T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing"}, {T_REC_DISABLED, "recording disabled"}, {T_CONTEST_TOO_OLD, "contest too old"}, {T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Error writing file %s: %s"}, {T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording"}, {T_NO_DISK_SPACE, "Not enough free disk space for file"}, {T_CANT_PLAY_FILE, "Can't play file %s - %s"}, {T_CANT_WRITE_SS, "Can't write to file %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded"}, {T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template"}, {T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n"}, {T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***"}, {T_LOADING_S, "Loading %s"}, {T_INVALID_WINDOW_TYPE, "invalid window type %d\n"}, {T_INIT_RIG, "Initializing rig control %d"}, {T_RIG_ERROR, "Rig error: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n"}, {T_FREE_RIG, "Terminating rig control %d"}, {T_WAIT_FOR_RIG_THR, "Waiting for rig thread"}, {T_INVALID_PARAM, "Invalid param."}, {T_RIG_INVALID_CONFIG, "Invalid config."}, {T_RIG_NOT_ENOUGH_MEM, "Not enough mem."}, {T_RIG_NOT_IMPLEMENTED, "Not implemented"}, {T_RIG_COMM_TIMEOUT, "Comm. timeout"}, {T_RIG_IO_ERROR, "IO error"}, {T_RIG_INTERNAL_ERROR, "Internal error"}, {T_PROTOCOL_ERROR, "Protocol error"}, {T_RIG_COMMAND_REJECT, "Command reject."}, {T_RIG_ARG_TRUNCATED, "Arg. truncated"}, {T_RIG_F_NOT_AVAILABLE, "F not available"}, {T_RIG_VFO_NOT_TARGET, "VFO not target."}, {T_RIG_ERROR_ON_BUS, "Error on bus"}, {T_RIG_BUS_COLLISION, "Bus collision"}, {T_RIG_INVALID_ARG, "Invalid arg."}, {T_RIG_INVALID_VFO, "Invalid VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg out of dom."}, {T_ERROR_D, "Error %d"}, {T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Can't set graphics mode"}, {T_WAIT_SDL_THR, "Waiting for SDL event thread"}, {T_FREE_GRAPHICS, "Terminating graphics"}, {T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s"}, {T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s"}, {T_CANT_READ_LOG_FILE, "Can't read log file %s"}, {T_CANT_UPLOAD_LOG, "Can't upload log: %s"}, {T_CANT_CONFIRM_LOG, "Can't confirm log: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s"}, {T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Date:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Points:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Can't upload file: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s"}, {T_FILE_ALREADY_EXISTS, "File already exists: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s"}, {T_CANT_EDIT_PAGE, "Can't edit page: %s"}, {T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s"}, {T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s"}, {T_EDITING_CONTEST_PAGE, "Editing contest page..."}, {T_ALL_DONE, "All done."}, {T_UPLOADING_FILE, "Uploading file %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s"}, {T_QUERYING_EDIT_TOKEN, "Querying edit token"}, {T_CANT_LOGIN, "Can't log in (2): %s"}, {T_CANT_LOGIN2, "Can't log in (2), wiki says: %s"}, {T_CANT_LOGIN1, "Can't log in (1): %s"}, {T_LOGGING_IN, "Logging in..."}, {T_EXPORTING_FILES, "Exporting files..."}, {T_INIT_WIZZ, "Initializing contest wizard"}, {T_FREE_WIZZ, "Terminating contest wizard"}, {T_LOAD_WIZZ_DATA, "Loading contest wizard data"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Contest phase"}, {T_HK_PHASE, "H"}, {T_ENTER_PHASE, "New contest phase: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation translation_italian [] = { {0, NULL}, {T__CHAR_SET, "us-ascii"}, {T__LANGUAGE, "Italiano"}, {T_ABOUT, "A proposito"}, {T_BAD_NUMBER, "Numero errato"}, {T_BAD_STRING, "Stringa errata"}, {T_BASIC_HELP, "Premi F10 per il menu.\nBuon divertimento."}, {T_BLOCK_CURSOR, "Blocco cursore"}, {T_CANCEL, "Cancella"}, {T_CHARACTER_SET, "Set di caratteri"}, {T_COLOR, "Colore"}, {T_COPYING, "Copiando"}, {T_DIFFERENCE, "differenza"}, {T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Vuoi veramente uscire da Tucnak?"}, {T_EMPTY_STRING_NOT_ALLOWED, "Stringa vuota non permessa"}, {T_ERROR, "Errore"}, {T_WARNING, "Attenzione"}, {T_EXIT, "Uscita"}, {T_EXIT_TUCNAK, "Esci da Tucnak"}, {T_FILE, "File"}, {T_FULL_SCREEN, "Schermo pieno"}, {T_HELP, "Aiuto"}, {T_HK_ABOUT, "A"}, {T_HK_BEOS_TERMINAL, "B"}, {T_HK_CHARACTER_SET, "H"}, {T_HK_COPYING, "C"}, {T_HK_EXIT, "X"}, {T_HK_FILE, "F"}, {T_HK_FULL_SCREEN, "F"}, {T_HK_HELP, "H"}, {T_HK_LANGUAGE, "L"}, {T_HK_MEMORY_INFO, "M"}, {T_HK_OS_SHELL, "O"}, {T_HK_SCREEN, "S"}, {T_HK_SETUP, "S"}, {T_HK_TERMINAL_OPTIONS, "T"}, {T_HK_TWTERM, "T"}, {T_HK_WINDOW, "W"}, {T_HK_XTERM, "X"}, {T_KOI8R_FRAMES, "Cornici KOI8-R"}, {T_LANGUAGE, "Lingua"}, {T_LAST, "Ultimo"}, {T_LINUX_OR_OS2_FRAMES, "Cornici Linux o OS/2"}, {T_MEMORY_INFO, "Informazioni sulla Memoria"}, {T_NO_FRAMES, "Senza Cornici"}, {T_NO, "No"}, {T_NUMBER_EXPECTED, "Numero di campi attesi"}, {T_NUMBER_OUT_OF_RANGE, "Numero fuori intervallo"}, {T_OK, "OK"}, {T_OS_SHELL, "OS shell"}, {T_RESTRICT_FRAMES_IN_CP850_852, "Limita le Cornici a cp850/852"}, {T_UTF_8_IO, "UTF-8 Input/Output"}, {T_SCREEN, "Schermo"}, {T_SETUP, "Impostazioni"}, {T_TERMINAL_OPTIONS, "Opzioni Terminale"}, {T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-like V/U/SHF contest log"}, {T_TWTERM, "Twterm"}, {T_USE_11M, "Use ^[[11m"}, {T_VT_100_FRAMES, "Cornici VT 100"}, {T_WELCOME1, "Benvenuti su Tucnak!"}, {T_WELCOME2, "Per piacere inserici il tuo nominativo ed il locatore:"}, {T_WELCOME, "Benvenuto"}, {T_XTERM, "Xterm"}, {T_YES, "S"}, {T_CANT_APPEND_S, "Non riesco ad aggiungere al file %s"}, {T_CANT_WRITE, "Non riesco a scrivere sul file"}, {T_CANT_WRITE_S, " Non riesco a scrivere sul file %s"}, {T_CANT_READ, "Non riesco a leggere dal file"}, {T_CANT_READ_S, " Non riesco a leggere dal file %s"}, {T_SAVED_S, "Salvato %s"}, {T__CW_, " CW "}, {T_CWW_KEYS, " PgUp +, PgDn - velocit cw "}, {T_CANT_OPEN_S, "Non riesco ad aprire %s"}, {T_CANT_LOCK, "Non riesco a bloccare"}, {T_CANT_LOCK_S, " Non riesco a bloccare %s"}, {T_LOADING_CTEST_S, "*** Sto caricando il contest %s"}, {T_NO_FILES, "Nessun file nella directory"}, {T_BAND_EXIST_SS, "ATTENZIONE! La banda %s (%s) esiste gi"}, {T_BAND_NOT_OPEN, "La banda non attiva in questo contest"}, {T_NO_BANDS, "Nessuna banda da caricare"}, {T_CANT_SET_GR_S, "Non riesco ad impostare la modalit grafica-%s"}, {T_GCALL, "Nominativo: %s"}, {T_GWWL, "WWL: %s"}, {T_GQRB, "QRB: %d km"}, {T_GQTF, "QTF: %d"}, {T_GSEN, "Inv.: %s %s"}, {T_GRCV, "Ric.: %s %s"}, {T_GTIM, "Ora: %s"}, {T_GOPE, "Op: %s"}, {T_GREM, "Rem: %s"}, {T_GWKD, "Lav.: %d"}, {T_GINC, "guadagno: %d"}, {T_GLON, "Lon:%7.2f %-6s"}, {T_GLAT, "Lat:%7.2f %-6s"}, {T_GLOC, "Loc: %s"}, {T__PLESE_WAIT_, " ATTENDERE prego "}, {T__RO_BAND, " BANDA IN SOLA LETTURA"}, {T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersione " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nQuesto programma software libero; puoi ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License versione 2 pubblicata dalla Free Software Foundation."}, {T_CTEST_ACTIVE, "Il contest gi attivo "}, {T_NO_CTESTS, "Nessun contest"}, {T_NO_CCLOSE, "Nessun contest da chiudere"}, {T_REALLY, "Davvero?"}, {T_CLOSE_CTEST, "Vuoi veramente chiudere questo contest?"}, {T_GUI_LD, "GUI: %ld "}, {T_SBRK, "sbrk: %ld"}, {T_CWI, "C_W: %d oggetti cw, %d oggetti wc, ultimo %d\n"}, {T_EXC, "Exc: %s %d oggetti exc, %d oggetti cxe, ultimo %d\n"}, {T_VEXC, "EXC Verificati: %d oggetti\n"}, {T_DWI, "D_W: %d prefissi, %d DXCCs, %d WWLs\n"}, {T_NAMES, "Nomi: %d nomi\n"}, {T_MASTER, "Master: %d calls\n"}, {T_MEMS, "Memoria:"}, {T_NMY, " My: "}, {T_NGLOBAL, "Globale: "}, {T_NMASTER, "Master: "}, {T_NREMOTE, "Remote: "}, {T_NSLAVES, "\nSlaves:\n"}, {T_NINFO, "Info sulla rete"}, {T_NO_BANDS_QRV, "Nessuna banda QRV"}, {T_NO_BANDS_CONF, "Nessuna banda configurata"}, {T_NOT_AVAILABLE, "Non disponibile"}, {T_ADD_SUBWIN, "Aggiugi sottofinestra"}, {T_HK_ADD_SUBWIN, "A"}, {T_CLOSE_SUBWIN, "Chiudi sottofinestra"}, {T_HK_CLOSE_SUBWIN, "C"}, {T_HK_NINFO, "N"}, {T_NEW, "Nuovo"}, {T_HK_NEW, "N"}, {T_NEW_WIZZ, "Nuovo da wizard"}, {T_HK_NEW_WIZZ, "W"}, {T_NEW_NET, "Nuovo da rete"}, {T_HK_NEW_NET, "T"}, {T_OPEN, "Apri"}, {T_HK_OPEN, "O"}, {T_SAVE, "Salva"}, {T_HK_SAVE, "S"}, {T_EXPORT_EDI, "Esporta come EDI"}, {T_HK_EXPORT_EDI, "E"}, {T_EXPORT_REPORT, "Esporta come report"}, {T_HK_EXPORT_REPORT, "R"}, {T_EXPORT_ADIF, "Esporta come ADIF"}, {T_HK_EXPORT_ADIF, "A"}, {T_EXPORT_SOTA, "Export as SOTA"}, {T_HK_EXPORT_SOTA, "S"}, {T_EXPORT_CBR, "Esporta come Cabrillo"}, {T_HK_EXPORT_CBR, "B"}, {T_EXPORT_STF, "Export as STF"}, {T_HK_EXPORT_STF, "F"}, {T_EXPORT_HTML, "Esporta come HTML"}, {T_HK_EXPORT_HTML, "H"}, {T_EXPORT_WIKI, "Esporta come MediaWiki"}, {T_HK_EXPORT_WIKI, "W"}, {T_IMPORT_EDI, "Importa EDI"}, {T_HK_IMPORT_EDI, "I"}, {T_IMPORT_ADIF, "Importa ADIF"}, {T_HK_IMPORT_ADIF, "M"}, {T_IMPORT_SWAP, "Importa swap"}, {T_HK_IMPORT_SWAP, "S"}, {T_IMPORT_LIST, "Importa lista"}, {T_HK_IMPORT_LIST, "L"}, {T_CONTEST_OP, "Opzioni contest"}, {T_HK_CONTEST_OP, "O"}, {T_CLOSE_CONTEST, "Chiudi contest"}, {T_HK_CLOSE_CONTEST, "C"}, {T_ADD_ERROR, "Aggiungi ERRORE"}, {T_HK_ADD_ERROR, "E"}, {T_CHOP, "Cambia operatore"}, {T_HK_CHOP, "O"}, {T_CW_CTEST, "Aggiorna C_W da contest"}, {T_HK_CW_CTEST, "C"}, {T_CW_BAND, "Aggiorna C_W da banda"}, {T_HK_CW_BAND, "B"}, {T_EXC_CTEST, "Aggiorna l'EXC DB da contest"}, {T_HK_EXC_CTEST, "A"}, {T_EXC_BAND, "Aggiorna l'EXC DB da banda"}, {T_HK_EXC_BAND, "T"}, {T_IMPORT_EBW, "Importa database DL8EBW"}, {T_HK_IMPORT_EBW, "W"}, {T_NO_CTEST, "Nessun contest"}, {T_NO_PEERS, "Nessun peer trovato"}, {T_NO_MASTER, "Il master non disponibile!"}, {T_CTEST_DEF, "Contest defaults"}, {T_HK_CTEST_DEF, "O"}, {T_BAND_DEF, "Bande standard"}, {T_HK_BAND_DEF, "B"}, {T_HK_RESPOP, "P"}, {T_CW_DAEMON, "Manipolazione CW"}, {T_HK_CW_DAEMON, "E"}, {T_CW_CQ, "CW CQ"}, {T_HK_CW_CQ, "C"}, {T_SSB_CQ, "SSB CQ"}, {T_HK_SSB_CQ, "S"}, {T_AUTOSAVE, "Salvataggio automatico"}, {T_HK_AUTOSAVE, "U"}, {T_LOAD_CFG_NET, "Carica cfg dalla rete"}, {T_HK_LOAD_CFG_NET, "N"}, {T_LOAD_CW_NET, "Carica C_W dalla rete"}, {T_HK_LOAD_CW_NET, "W"}, {T_SAVE_CFG, "Salva la configurazione"}, {T_HK_SAVE_CFG, "F"}, {T_CONTEST, "Contest"}, {T_HK_CONTEST, "C"}, {T_EDIT, "Modifica"}, {T_HK_EDIT, "E"}, {T_BANDS, "Bande"}, {T_HK_BANDS, "B"}, {T_SUBWINS, "Sottofinestra"}, {T_HK_SUBWINS, "W"}, {T_BAND_SETTINGS_SC, "Impostazioni per la banda %c %s"}, {T_QRV_ON_THIS_BAND, "QRV su questa banda"}, {T_QRV_IN_THIS_CTEST, "QRV in questo contest"}, {T_READ_ONLY, "Sola-lettura"}, {T_MULTI, "Multi"}, {T_SINGLE, "Singolo"}, {T_CHECK, "Controllo"}, {T_TXEQUIP, " TX Appar:"}, {T_POWER, " Poten:"}, {T_RXEQUIP, " RX Appar:"}, {T_ANTENNA, " Antenna:"}, {T_AGLASL, " AGL;ASL:"}, {T_OPS, "Operatori:"}, {T_SPACES1, " "}, {T_REMARKS, " Commenti:"}, {T_OK_SECTION_SINGLE, "Categoria singolo in OK"}, {T_OK_SECTION_MULTI, "Categoria Multi in OK"}, {T_QRG_MIN, "Limiti di banda da"}, {T_QRG_MAX, "a [kHz]"}, {T_ADIFBAND, "Nome banda ADIF"}, {T_SKEDQRG, "QRG per sked (formato libero)"}, {T_BAND_LO, "Transverter LO QRG [Hz]:"}, {T_BANDSW, "Valore di cambio banda"}, {T_RESPOP, "Operatore responsible"}, {T_NAME, " Nome:"}, {T_CALLSIGN, " Nominativo:"}, {T_ADDRESS, " Indirizzo:"}, {T_POSTCODE, "Cod.postale:"}, {T_CITY, " Citt:"}, {T_COUNTRY, " Paese:"}, {T_PHONE, " Telefono:"}, {T_BBSEMAIL, " BBS/Email:"}, {T_QP0, " -nessuno- "}, {T_QP1, " 1 QSOp*QSOp_m (Std. IARU)"}, {T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)"}, {T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)"}, {T_QP4, " 4 WWL_ring*QSOp_m (OK activity)"}, {T_QP5, " 5 St_miles*QSOp_m"}, {T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)"}, {T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)"}, {T_QP8, " 8 WWL_dist*QSOp_m (Baltic)"}, {T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)"}, {T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)"}, {T_QP11, "11 QSOp_m *3 if F (F 50MHz)"}, {T_QP12, "12 RSGB DC (district codes)"}, {T_QP13, "13 Continente (CQ WW DX Contest)"}, {T_QP14, "14 Continente+banda (CQ WW WPX Contest)"}, {T_QP15, "15 Banda VHF (ARRL VHF)"}, {T_QP16, "16 QSOp *4 se F (Champ. de France)"}, {T_QP17, "17 QSOp*WWLmult if G (RSGB M5)"}, {T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)"}, {T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)"}, {T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)"}, {T_QP21, "21 1 per QSO CW/SSB (R-Contest)"}, {T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)"}, {T_TP0, " --none -- "}, {T_TP1, " 1 Moltiplicativo (Std. IARU)"}, {T_TP2, " 2 Additivo (RSGB Backpacker, VRZA, Sicily)"}, {T_TP3, " 3 Mult. tut. bande (CQ WW DX Contest)"}, {T_TP4, " 4 Tutte le bande ins.(ARRL VHF)"}, {T_NEW_CTEST, "Nuovo Contest"}, {T_CANT_TRUNC, "Non posso troncare il file desc"}, {T_NAME_OF_CTEST, "Nome del contest:"}, {T_CALL_OF_CTEST, "Nominativo nel contest:"}, {T_CLUB_ST, "Stazione Club :"}, {T_YOURWWL, "Tuo WWL:"}, {T_YOUREXC, "Tuo EXC:"}, {T_DATE_OF_CTEST, "Data del contest:"}, {T_QSOUSED, "NR QSO usato"}, {T_QSOPM, " QSOp multi:"}, {T_WWLUSED, "WWL usato "}, {T_WWLB, "Bonus WWL:"}, {T_WWLM, "WWL molt.:"}, {T_EXCUSED, "EXC usato"}, {T_EXCB, " EXC bonus:"}, {T_EXCM, "EXC molt.:"}, {T_EXCNAME, " nome EXC: "}, {T_PREFM, "PREF molt.:"}, {T_DXCB, " DXC bonus:"}, {T_DXCM, "DXC multi:"}, {T_RSTUSED, "RST Usato "}, {T_DEFRS, "RS Standard:"}, {T_DEFRST, "Def RST:"}, {T_ALSORSTR, "Anche per RST-R"}, {T_QP_CALC, " QSOp calc:"}, {T_TO_CALC, "Totale calc:"}, {T_EDI_PROP, "EDI prop"}, {T_RESPOP2, "Operatore resp."}, {T_EDIT_QSO_CD, "Modifica QSO %c: %03d"}, {T_CALLSIGN2, "Callsign:"}, {T_CLUB, " Club:"}, {T_PADR1, " PInd1:"}, {T_PADR2, " PInd2:"}, {T_RS, " RS:"}, {T_RST, " RST:"}, {T_OPERATOR, "Operator:"}, {T_DATE, " Data:"}, {T_MODE, " Modo:"}, {T_RSTS, " RSTs:"}, {T_RSTR, " RSTr:"}, {T_QSONRS, "QSO inv.:"}, {T_QSONRR, "QSO ric.:"}, {T_OPTEXCH, " OptExch:"}, {T_WWL, " WWL:"}, {T_REMARK, "Commenti:"}, {T_QRV2, " QRV su:"}, {T_WKD, " WKD:"}, {T_SEND_SKED, "Sked inv."}, {T_SELECT, "Selez."}, {T_QRG, " QRG:"}, {T_WE_CALL, "Chiamiamo"}, {T_BAND, " Banda:"}, {T_TIME, " Ora:"}, {T_DUPE_QSO, "QSO Doppio!"}, {T_CLEAR_THIS_QSO, "Cancella questo QSO"}, {T_EDIT_OLD_QSO, "Modifica vecchio QSO"}, {T_MARK_OLD_QSO, "Segna vecchio QSO come ERRORE"}, {T_STORE_AS_DUPE, "Salva come DUPE"}, {T_BAD_CALL, "Questo non sembra un nominativo"}, {T_N_CALLSIGN, "\nNominativo:"}, {T_AUTOSAVE_OPTS, "Opzioni salvataggio automatico"}, {T_SAVE_AQ, "Salva su disco dopo il QSO: "}, {T_SAVE_AM, "Salva su disco dopo minuti:"}, {T_FSYNC, "Fsync"}, {T_SAVE_AQF, "Salva su floppy dopo il QSO: "}, {T_SAVE_AMF, "Salva su floppy dopo minuti::"}, {T_DO_MOUNT, "Monta se non gi in /etc/mtab (non usato)"}, {T_FLOPPY_PATH, "Percorso per il floppy:"}, {T_MOUNT_CMD, "Comando monta: "}, {T_SW_SHELL, "Shell"}, {T_SW_QSOS, "QSOs"}, {T_SW_LOG, "Log"}, {T_SW_TALK, "Talk"}, {T_SW_SKED, "Sked"}, {T_SW_UNFI, "Unfi"}, {T_SW_DXC, "DXC"}, {T_SW_STAT, "Stat"}, {T_SW_MAP, "Mappa"}, {T_SW_SCOPE, "Scope"}, {T_SW_QRV, "QRV"}, {T_SW_HF, "HF"}, {T_SW_PLAYER, "Player"}, {T_SW_CHART, "Chart"}, {T_SHELL, "Shell"}, {T_QSOS, "QSOs"}, {T_LOG, "Log"}, {T_TALK, "Talk"}, {T_SKEDS, "Skeds"}, {T_UNFI, "QSO non terminati"}, {T_DXC, "DX Cluster"}, {T_STAT, "Statistiche"}, {T_SWAP, "Scambia (N/A)"}, {T_MAP, "Mappa grafica"}, {T_SCOPE, "Scope"}, {T_QRV, "QRV"}, {T_HF, "HF"}, {T_KST, "KST"}, {T_CMD, "Comando"}, {T_RESPAWN, "Respawn [sec]:"}, {T_UNFI_QSO, "QSO non terminati"}, {T_N_REMARK, "\nCommenti:"}, {T_NO_CQ, "Nessun CQ definito"}, {T_TEXT, "Testo:"}, {T_SPEED, "Velocit [WPM]:"}, {T_REPEAT, "Ripeti"}, {T_DELAY, "Ritardo [0.1s]:"}, {T_ALLOW_UNDEF, "Permetti se qualche oggetto non definito"}, {T_CW_DSCS, "CW%d (%s) %c %s"}, {T_FILENAME, "NomeFile:"}, {T_SSB_DSCS, "SSB%d (%s) %c %s"}, {T_UDPPORT, "Porta UDP:"}, {T_DEVICE, "Keying device:"}, {T_INIT_SPEED, "Velocit iniziale [WPM]:"}, {T_INIT_WEIGHT, "Peso (30-70):"}, {T_WPMFROM, "Inervallo WPM da"}, {T_WPMTO, "a"}, {T_USE_SPK, "Usa altoparlante"}, {T_LEADIN, "PTT lead in [ms]"}, {T_AUTGIVE, "Run mode aut. give after [chars]"}, {T_IGN_IFACE_S, "Ignorando l'interfaccia %-5s"}, {T_IGN_ADDR_S, "Ignorando l'indirizzo %s"}, {T_ADD_IFACE_SSD, "Aggiunta interfaccia=%-5s BCAST=%s:%d"}, {T_FORCED_ADDR, "Forzato indirizzo %s"}, {T_TIMESKEW, "WARNING! Slittamento temporale %d rilevato rispetto a %s:%d !\n"}, {T_DISCONNECTING_SD, "Disconnessione da %s:%d"}, {T_ACCEPTED_SD, "Accettato %s:%d (%s)"}, {T_CONNECTING_SD, "Connessione a %s:%d"}, {T_CONNECTED_SD, "Connesso a %s:%d"}, {T_DISCONNECTED_SD, "Disconnesso da %s:%d"}, {T_LOADED_CFG_SSSS, "Caricata configurazione per %s %s (%s,%s)"}, {T_LOADED_CW, "Caricati dati C_W"}, {T_PEER_NOT_FOUND, "ERRORE! Peer %s non trovato"}, {T_CANT_CREATE_HOME_S, "Non posso creare la directory %s"}, {T_CANT_LOAD_CFG, "Non posso caricare la configurazione!\nIl programma non funziona correttamente!"}, {T_ERR_RC, "Trovati errori nel file di configurazione!\nQuesto file stato probabilmente salvato con una versione pi nuova di Tucnak!\nNon salvare la tua configurazione a meno che non sia disposto a perdere i dati!"}, {T_SES_QTR, " QTR "}, {T_SES_QRA, " CALL "}, {T_SES_RST, " RST-S-No RST-R-No "}, {T_SES_QTH, " QTH "}, {T_SES_QRB, " Pts/QRB QTF "}, {T_SES_FLG, " Flg "}, {T_SES_OPE, " Oper. "}, {T_SES_EXC, " Exch "}, {T_SES_REM, " Commento "}, {T_SES_WELCOME, "Benvenuto su Tucnak! "}, {T_SES_PRESS_F10, "Premi F10 per il menu."}, {T_SES_HAVE_FUN, "Buon Divertimento."}, {T_SES_URL, "http://tucnak.nagano.cz "}, {T_SES_ODX, "ODX: "}, {T_SES_ODX_DATA, "%s %s %d km (%s)"}, {T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG"}, {T_SES_AVG, " AVG: %5.2f"}, {T_SES_WPM, " WPM:%2d %02d%% %s"}, {T_SF_WWLS, " WWLs: %d"}, {T_SF_WWLS_UNDER, "-------------"}, {T_SF_EXCS, " EXCs: %d"}, {T_SF_EXCS_UNDER, "-------------"}, {T_SF_MISS_EXCS, " EXC mancanti: %d"}, {T_SF_MISS_EXCS_UNDER, "---------------------"}, {T_SF_PREFS, " PREFs: %d"}, {T_SF_PREFS_UNDER, "-------------"}, {T_SF_DXCS, " DXCCs: %d"}, {T_SF_DXCS_UNDER, "-------------"}, {T_SF_WKD_WWLS, " WKD WWLs: %d"}, {T_SF_WKD_WWLS_UNDER, "-----------------"}, {T_SF_QSO_WWL4, " QSOS in WWL4s: %d"}, {T_SF_QSO_WWL4_UNDER, "----------------------"}, {T_SF_STATS_BAND, " Statistiche per banda %s"}, {T_SF_STATS_BAND_UNDER, "==============================="}, {T_SF_CONTEST, "Contest: %s"}, {T_SF_ALLBQSOS, "QSO tutte le bande: %d"}, {T_SF_ALLBQSOP, "QSOp tutte le bande: %d"}, {T_SF_ALLBPTS, "Punti tutte le bande: %d"}, {T_SF_QSOS, "QSO: %d"}, {T_SF_VQSO, "Valid QSOs: %d"}, {T_SF_QSOP, "Punti QSO: %d"}, {T_SF_PTS, "Punti: %d"}, {T_SF_AVG_PTS, "Media punti/QSO: %5.2f"}, {T_SF_AVG_QSOP, "Media qsop/QSO: %5.2f"}, {T_BAND_RO, "La banda in sola-lettura"}, {T_THIS_BAND, "Questa banda"}, {T_OTHER_BANDS, "Altre bande"}, {T_CW_DB, "database C_W"}, {T_PROC_EXITED, "*** Processo terminato\n"}, {T_WE_CALL2, "chiamiamo"}, {T_WE_LISTEN, "ascoltiamo"}, {T_QSL, "QSL promessa"}, {T_RECORD, "Registra traffico"}, {T_MAXMIN, " Durata Max. registrazione"}, {T_TEMPLATE, "Template per nome file registrato"}, {T_PCM8, "8 bit PCM"}, {T_PCM16, "16 bit PCM"}, {T_ULAW, "mu-law"}, {T_ALAW, "A-law"}, {T_IMAADPCM, "IMA ADPCM"}, {T_MSADPCM, "MS ADPCM"}, {T_GSM610, "GSM 6.10"}, {T_CHANNELS, "Canali"}, {T_SAMPLERATE, "Frequenza campionamento"}, {T_FILLOP, "Fill operators"}, {T_HK_FILLOP, "L"}, {T_RECAQRB, "Ricalcolo QRB,QTF"}, {T_HK_RECAQRB, "R"}, {T_NETWORK, "Rete & tracciatura"}, {T_HK_NETWORK, "K"}, {T_IF_IGNORE, "Ignora interfacce:"}, {T_IP_IGNORE, "Ignora reti:"}, {T_IP_ANNOUNCE, "Annuncia verso le reti:"}, {T_TRACE_BCAST, "Traccia i broadcast "}, {T_TRACE_SOCK, "Traccia i socket"}, {T_TRACE_RECV, "Traccia i dati ricevuti"}, {T_TRACE_SEND, "Traccia i dati inviati"}, {T_TRACE_QSOS, "Traccia i QSOs "}, {T_TRACE_SDEV, "Traccia i rotori "}, {T_NOT_MOUNTED_S, "Non montato %s"}, {T_RECSRC_NONE, "Non impostare"}, {T_RECSRC_MIC, "Microfono"}, {T_RECSRC_LINE, "Line in"}, {T_NEW_CALL, "Nuovo!"}, {T_HK_NEW_CALL, "n"}, {T_QRV_ON_S, "QRV su %s"}, {T_SKED_QRG, "QRG per sked"}, {T_HK_SKED_QRG, "F"}, {T_N_SKED_QRG, "\nQRG per sked:"}, {T_GRAB_BAND, "Prendi il controllo della banda"}, {T_HK_GRAB_BAND, "G"}, {T_FORCE_RUN, "Forza il modo RUNe"}, {T_HK_FORCE_RUN, "U"}, {T_EXPORT_STATS, "Esporta Statistiche"}, {T_HK_EXPORT_STATS, "T"}, {T_SF_TOP_DX, " TOP %d DX QSOs:"}, {T_SF_TOP_DX_UNDER, "-------------------"}, {T_ROTAR, "Rotore"}, {T_HK_ROTAR, "R"}, {T_AZIMUTH, " Azimuth"}, {T_ELEVATION, "Elevazione"}, {T_CH_SPY, "Spy"}, {T_HK_CH_SPY, "S"}, {T_CH_ENDSPY, "Spy end"}, {T_HK_CH_ENDSPY, "P"}, {T_EXPORT_TITLPAGE, "Esporta title page"}, {T_HK_EXPORT_TITLPAGE, "P"}, {T_BREAK_RECORD, "Break record"}, {T_HK_BREAK_RECORD, "B"}, {T_GLOBAL_OPERATOR, "Cambia per tutte le bande"}, {T_GLOBAL_OPERATOR2, "Globale"}, {T_MAXFRAG, "Max. num di frammenti (>=2)"}, {T_PLAY_LAST, "Riproduci l'ultimo campione"}, {T_HK_PLAY_LAST, "P"}, {T_MISCOPTS, "Opzioni varie"}, {T_HK_MISCOPTS, "M"}, {T_LOGLINES, "Linee di log: "}, {T_SKEDSHIFT, "Intervallo sked (minuti): "}, {T_STARTBAND, "Banda iniziale: "}, {T_GFX_X_CH, "Risoluzione schermo (chars):"}, {T_GFX_Y_CH, "x"}, {T_GFX_X_PX, "Risoluzione schermo (pixels):"}, {T_GFX_Y_PX, "x"}, {T_CALL_INFO, "Info nominativo"}, {T_HK_CALL_INFO, "I"}, {T_SF_QSO_HOUR, "QSO/ora: %d"}, {T_SF_QSOP_HOUR, "Punti/ora: %d"}, {T_SF_QSOP_50QSO, "Punti/50 QSOs: %d"}, {T_SF_HOURS, " Ore"}, {T_SF_HOURS_UNDER, "---------"}, {T_SF_HOURS_TITLE, "Ore Punti QSO media pti/QSO"}, {T_QSO_CHECK, "QSO check"}, {T_HK_QSO_CHECK, "K"}, {T_AUDIO, "Audio"}, {T_HK_AUDIO, "D"}, {T_ALSA, "Alsa"}, {T_OSS, "OSS"}, {T_PORTAUDIO, "PortAudio"}, {T_DISKFREE, "Spazio disco libero minimo [MiB]"}, {T_FORMAT, "Formato registrazione"}, {T_PCM_PLAY, "Dispositivo riproduzione Alsa"}, {T_PCM_REC, "Dispositivo cattura Alsa"}, {T_PERIOD, "Durata periodo [ms]"}, {T_BUFFER, "Durata buffer [ms]"}, {T_ALSA_MIXER, "Dispositivo mixer Alsa"}, {T_CAPTURE, "Fonte di cattura"}, {T_DSP, "OSS DSP"}, {T_MIXER, "OSS mixer"}, {T_RECSRC, "Fonte di registrazione"}, {T_PA_PLAY, "Dispositivo riproduzione Portaudio"}, {T_PA_REC, "Dispositivo cattura Portaudio"}, {T_HOSTNAME, "Hostname:"}, {T_SLASHKEY, "Slash key"}, {T_FIXQRG, "Aggiusta QRG"}, {T_HK_FIXQRG, "X"}, {T_ENTER_QRG, "Immetti QRG [Hz] accurato"}, {T_BAD_QRG, "Frequenza sbagliata"}, {T_CALLSIGN3, "Nominativo"}, {T_CALLSIGN_KST, "Nominativo stazione KST:"}, {T_CANT_INIT_WINKEY_S, "Non posso inizializzare winkey su %s"}, {T_WINKEYOPTS, "Opzioni Winkey"}, {T_WK_WK2, "Inizializzazione veloce Winkey2"}, {T_WK_USEPOT, "Usa potenz. velocit"}, {T_WK_USEBUT, "Usa bottoni"}, {T_WK_KM_B, "Curtis-B"}, {T_WK_KM_A, "Curtis-A"}, {T_WK_KM_U, "Ultimatic"}, {T_WK_KM_G, "Bug"}, {T_WK_SWAP, "Scambia Paddle (mancini)"}, {T_RIGOPTS, "Opzioni apparato"}, {T_HK_RIGOPTS, "G"}, {T_RIG_DEVICE, "Apparato:"}, {T_RIG_MODEL, "Modello apparato: "}, {T_RIG_SPEED, "Baudrate: "}, {T_RIG_CIV, "Indirizzo CIV (hex):"}, {T_RIG_FREQSHIFT, "Shift freq. SSB->CW"}, {T_RIG_CHOOSE, "Scegli"}, {T_ROTAROPTS, "Opzioni rotore"}, {T_HK_ROTAROPTS, "I"}, {T_DSSAVER, "Disabilita salva schermo"}, {T_DESC, "Descrizione"}, {T_ROT_NONE, "Nessuno"}, {T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys"}, {T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI"}, {T_ROT_HAMLIB, "Hamlib"}, {T_ROT_REMOTE, "Remote"}, {T_ROT_VID, "VID:"}, {T_ROT_PID, "PID:"}, {T_ROT_SERIAL, "Seriale #"}, {T_ROT_ADD, "Aggiungi nuovo rotore"}, {T_HK_ROT_ADD, "W"}, {T_ROT_REMOVE, "Rimuovi rotore"}, {T_HK_ROT_REMOVE, "R"}, {T_TIMEOUT, "Timeout:"}, {T_BEAMWIDTH, "Beam width:"}, {T_SADDR, "Indirizzo comunicazione:"}, {T_MODEL, "Hamlib modello:"}, {T_ROT_REM_ROTSTR, "Lettera Rotore per comando"}, {T_QSOGLOB, "NR QSO globale "}, {T_PREFGLOB, "PREF globale "}, {T_NOT_RECORDING_S, "Non sto registrando - %s"}, {T_SKEDCOUNT, "Contatore di sked in popup: "}, {T_FONTHEIGHT, "Altezza font (16-32): "}, {T_RIG_POLL_MS, "Intervallo poll apparato [ms]: "}, {T_RIG_QRG_R2T, "Imposta banda dalla radio"}, {T_RIG_QRG_T2R, "Cambia banda sulla radio"}, {T_RIG_MODE_T2R, "Cambia modo sulla radio"}, {T_RUN_MODE, "Modo Run"}, {T_HK_RUN_MODE, "U"}, {T_SP_MODE, "Modo S&P"}, {T_HK_SP_MODE, "M"}, {T_RIG_CLR_RIT, "C RIT quando salva QSO in RUN"}, {T_RIG_DEBUG, "Debug rig"}, {T_HF_RATE, "Rate: %3d/10 %3d/60"}, {T_HF_BAND, "Band Punti QSO Mult"}, {T_HF_SUM, "Somma:"}, {T_HF_LAST, "Ultimo Q-%s P-%s"}, {T_EVEN, "TX eVen"}, {T_HK_EVEN, "N"}, {T_ODD, "TX oDd"}, {T_HK_ODD, "D"}, {T_1ST, "TX 1"}, {T_HK_1ST, "1"}, {T_2ND, "TX 2"}, {T_HK_2ND, "2"}, {T_HF_SCORE, "Punteggio:"}, {T_EXPMODE, "Modo Spedizione"}, {T_TTTYPE, "Only digits mean"}, {T_ROT_POLL_MS, "Poll interval [ms]:"}, {T_VERSION, "Versione"}, {T_HK_VERSION, "V"}, {T_REMOTE_HOST, " Remote host name:"}, {T_REMOTE_PORT, " Remote TCP port:"}, {T_REMOTE_PASS, " Remote Password:"}, {T_STARTING_AC, "Starting AS"}, {T_STOPPING_AC, "Stopping AS"}, {T_ASL_5D_M, "ASL: %5d m"}, {T_SPEED4D_KMH, "Speed:%4d km/h"}, {T_AC_START, "Start: %02d:%02d %02ldm%02ld"}, {T_AC_DURAT_LD, "Durat: %ld"}, {T_EXPORTING_S, "Exporting %s"}, {T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s"}, {T_EXPORTING, "Exporting ..."}, {T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables"}, {T_LOADING_CHARTS, "Loading charts"}, {T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control"}, {T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in"}, {T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi"}, {T_CANT_CREATE_PIPE, "Can't create pipe"}, {T_TERMINATING_CWDAEMON, "Terminating CW/PTT control"}, {T_INIT_CWDB, "Initializing WWL database"}, {T_TERM_CWDB, "Terminating WWL database"}, {T_LOADING_CWDB, "Loading WWL database"}, {T_QRV_ON, "QRV on: "}, {T_CANT_INIT_FTDI, "Can't init ftdi library for davac4"}, {T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s"}, {T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s"}, {T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s"}, {T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s"}, {T_INIT_SOUNDCARD, "Initializing soundcard"}, {T_NO_OSS, "OSS support not compiled in"}, {T_NO_ALSA, "Alsa support not compiled in"}, {T_NO_PORTAUDIO, "portaudio support not compiled in"}, {T_NO_SNDFILE, "Libsndfile support not compiled in"}, {T_NO_SNDPIPE, "Sndpipe support not compiled in"}, {T_TERMINATING_SOUNDCARD, "Terminating soundcard"}, {T_INIT_DWDB, "Initializing DXCC database"}, {T_FREE_DWDB, "Terminating DXCC database"}, {T_LOAD_DWDB, "Loading DXCC database"}, {T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n"}, {T_CROSSMODE_QSO_N, "Crossmode QSO ?\n"}, {T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n"}, {T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n"}, {T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n"}, {T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n"}, {T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n"}, {T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n"}, {T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n"}, {T_CALL_ON_BAND_S, "Callsign on band %s is %s\n"}, {T_LOCATOR_ON_BAND, "Locator on band %s is %s\n"}, {T_QSO_CHECK_LIST, " Tucnak QSO check list\n"}, {T_CALL_SN, " Call: %s\n"}, {T_CONTEST_SN, "Contest: %s\n"}, {T_DATE_SN, " Date: %s\n"}, {T_CHECKING_S, "Checking %s"}, {T_BAND_C_SN, " Band %c %s\n"}, {T_SEEMS_TO_BE_OK, "Seems to be O.K.\n"}, {T_CW_NOT_FOUND, "C_W: %s not found\n"}, {T_0X_NOT_IN_DB, " 0x (not in database)"}, {T_NAME_IS, "Name: %s's name is %s\n"}, {T_NAME_UNKNOWN, "Name: %s's name is unknown\n"}, {T_INIT_DXC, "Initializing DXcluster"}, {T_FREE_DXC, "Terminating DXcluster"}, {T_HK_SELECT, "S"}, {T_HIDE, "Hide"}, {T_HK_HIDE, "H"}, {T_INFO, "Info"}, {T_HK_INFO, "I"}, {T_USE, "Use"}, {T_HK_USE, "U"}, {T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n"}, {T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n"}, {T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n"}, {T_HOST_RESOLVED, "*** Host resolved "}, {T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n"}, {T_CONNECTING_TO, "*** Connecting to %s ***\n"}, {T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n"}, {T_CONNECTED_SOCKET, "*** Connected socket %d ***\n"}, {T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n"}, {T_DISCONNECTED, "\n*** Disconnected ***\n"}, {T_RESOLVING, "*** Resolving %s ***\n"}, {T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s"}, {T_SAVED, "Saved %s"}, {T_LOADING_CONTEST, "Loading contest %s"}, {T_LOADING_LOGFILE, "Loading logfile"}, {T_LOADING_TALK, "Loading talk"}, {T_SEARCH_FILES, "Search for contest files"}, {T_LOADING_BAND, "Loading band %s"}, {T_LOADING_SPY, "Loading spy"}, {T_LOADING_HICALLS, "Loading hicalls"}, {T_LOADING_QRV, "Loading qrv"}, {T_LOADING_CHART, "Loading chart"}, {T_SAVING_CONTEST, "Saving contest"}, {T_UPD_INT_DATA, "Updating internal data"}, {T_CALC_STATS, "Calculating statistics"}, {T_ANN_OVER_NET, "Announcing over network"}, {T_ACTIVATING_BAND, "Activating band %s"}, {T_UPDATING_WKD, "Updating worked calls"}, {T_UPDATING_QRBQTF, "Updating QRB&QTF"}, {T_UPDATING_GAIN, "Updating gain chart"}, {T_SEN_OVER_NET, "Sending info over network"}, {T_INIT_EXCDB, "Initializing exchange database"}, {T_FREE_EXCDB, "Terminating exchange database"}, {T_INIT_FFT, "Initializing FFT analyse"}, {T_FREE_FFT, "Terminating FFT analyse"}, {T_INIT_ROTAR, "Initializing rotator control"}, {T_FREE_ROTAR, "Terminating rotator control"}, {T_LOCATOR, "Locator:"}, {T_BAND2, "Band"}, {T_POINTS, "Points"}, {T_AVG, "AVG"}, {T_INIT_HTTPD, "Initializing HTTP server"}, {T_FREE_HTTPD, "Terminating HTTP server"}, {T_NO_CONTEST_OPENED, "

No contest opened

\n"}, {T_NO_CONTEST_OPENED2, "No contest opened"}, {T_STATS, "Statistics"}, {T_BAND_NOT_FOUND, "Band not found"}, {T_BAND_C_NOT_FOUND, "

Band %c not found

"}, {T_QSOS_IN_DATABASE, "qsos in database"}, {T_TUCNAK_ONLINE_LOG, "Tucnak online log"}, {T_DATE2, "Date"}, {T_UTC, "UTC"}, {T_CALL, "Call"}, {T_CALL_NOT_FOUND, "Call not found"}, {T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d"}, {T_FREE_TERM, "Terminating terminal"}, {T_TERM_KEYMAPS, "Terminating keymaps"}, {T_QRB, "QRB"}, {T_HK_QRB, "B"}, {T_QTF, "QTF"}, {T_HK_QTF, "F"}, {T_ACKST, "AcKST"}, {T_HK_ACKST, "A"}, {T_MISTAKE, "Oh mistake"}, {T_HK_MISTAKE, "O"}, {T_ASK_FOR_SKED, "Ask for sked"}, {T_HK_ASK_FOR_SKED, "K"}, {T_ASK_FOR_SKED_B, "Sked - calling you"}, {T_HK_ASK_FOR_SKED_B, "C"}, {T_MESSAGE, "Message"}, {T_HK_MESSAGE, "M"}, {T_AC_INFO, "AS info"}, {T_HK_AC_INFO, "A"}, {T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n"}, {T_RESOLVED, "*** Resolved "}, {T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n"}, {T_SENDING_SH_US, "*** Sending /sh us ...\n"}, {T_SKIP_LINE, "Skip line %d '%s'"}, {T_CANT_CREATE_HOME, "Can't create home directory '%s'"}, {T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)"}, {T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s"}, {T_INIT_MAP, "Initializing polar map"}, {T_DISABLE_SAVER, "Disabling screensaver"}, {T_STARTING_TUCNAK, "Starting Tucnak"}, {T_FREE_MAP, "Terminating polar map"}, {T_INIT_MASTERDB, "Initializing master database"}, {T_FREE_MASTERDB, "Terminating master database"}, {T_LOAD_MASTERDB, "Loading master database"}, {T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s"}, {T_DIRECTORY_SCAN, "Directory scan"}, {T_V3_COMPATIBILITY, " (v3 compatibility)"}, {T_RELOAD_INTERFACES, "Reload interfaces"}, {T_SET_READONLY, "Set read-only"}, {T_CHANGE_TYPE, "Change type"}, {T_HK_CHANGE_TYPE, "T"}, {T_OPEN_CONNECTION, "Open connection"}, {T_HK_OPEN_CONNECTION, "O"}, {T_KILL_CONNECTION, "Kill connection"}, {T_HK_KILL_CONNECTION, "K"}, {T_HK_EXPORT_TO_TEXT_FILE, "E"}, {T_EXPORT_TO_TEXT_FILE, "Export to text file"}, {T_ADD_CONTEST, "Add contest"}, {T_HK_ADD_CONTEST, "O"}, {T_ADD_FILES, "Add file(s)"}, {T_HK_ADD_FILES, "F"}, {T_ADD_CONTESTS, "Add contests"}, {T_HK_ADD_CONTESTS, "O"}, {T_ALTC, "Alt+%c"}, {T_CTRLC, "Ctrl+%c"}, {T_CTRLP, "Ctrl+P"}, {T_CRASH_TEST, "Crash test"}, {T_HK_CRASH_TEST, "C"}, {T_INTERROR_TEST, "Int.error test"}, {T_HK_INTERNAL_TEST, "I"}, {T_DUMP_RW_BANDS, "Dump RW bands and hashes"}, {T_HK_DUMP_RW_BANDS, "D"}, {T_UPDATE, "Update Tucnak"}, {T_HK_UPDATE, "U"}, {T_SETTINGS, "Settings"}, {T_HK_SETTINGS, "S"}, {T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net"}, {T_HK_UPLOAD_TO_VHFNET, "V"}, {T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net"}, {T_HK_UPLOAD_TO_SLOVHF, "S"}, {T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki"}, {T_HK_MEDIAWIKI_UPLOAD, "U"}, {T_SOTA_UPLOAD_LOG, "Upload to SOTALog"}, {T_HK_SOTA_UPLOAD_LOG, "D"}, {T_SEND_SOTA_SPOT, "Send SOTA spot"}, {T_HK_SEND_SOTA_SPOT, "N"}, {T_VOIP_SPY, "Voip spy"}, {T_HK_VOIP_SPY, "V"}, {T_END_VOIP_SPY, "End voip spy"}, {T_HK_END_VOIP_SPY, "Y"}, {T_OLD_TEST_NO_SPY, "Contest is old, spy is not available"}, {T_NETWORK_SCAN, "Network scan"}, {T_HTTPD_OPTIONS, "HTTPD options"}, {T_HK_HTTP_OPTIONS, "H"}, {T_AC_OPTIONS, "Aircraft scatter options"}, {T_HK_AC_OPTIONS, "P"}, {T_SDR_OPTIONS, "SDR options"}, {T_HK_SDR_OPTIONS, "R"}, {T_RAIN_OPTIONS, "Rain scatter options"}, {T_HK_RAIN_OPTIONS, "A"}, {T_OTHER, "Other:"}, {T_NONE, "None "}, {T_RSTS2, "RST-S"}, {T_RSTR2, "RST-R"}, {T_QSONRR2, "QSONR-R"}, {T_EXC2, "EXC"}, {T_UNUSED, "Unused "}, {T_USED_6, "Used (6)"}, {T_OPT_6, "Opt. (6)"}, {T_USED_4, "Used (4)"}, {T_OPT_4, "Opt. (4)"}, {T_FREE, "Free "}, {T_MULTIPLIED, "Multipl."}, {T_VERIFIED, "Verified"}, {T_WAZ, "WAZ "}, {T_ITU, "ITU "}, {T_WWL2, "WWL:"}, {T_CONFIRM_WWL, "Confirm WWL"}, {T_CONFIRM_EXC, "Confirm EXC"}, {T_FONT_SIZE, "Font size: "}, {T_DXC_HOSTNAME, "DXC Hostname:"}, {T_TCP_PORT, "TCP Port:"}, {T_SOTA_USERNAME, "SOTA Username:"}, {T_DXC_USERNAME, "DXC Username:"}, {T_PASSWORD, "Password:"}, {T_KST_USERNAME, "KST Username:"}, {T_KST_YOURNAME, "KST Yourname:"}, {T_SLOVHF_USER, " SLOVHF user:"}, {T_SDR, "SDR"}, {T_PARPORT, "parport"}, {T_TTYS, "ttys"}, {T_TTYSSINGLE, "ttys single pin"}, {T_AUDIO_SUBSYSTEM, "Audio subsystem:"}, {T_PLAYBACK_VOLUME, "Playback volume"}, {T_CAPTURE_VOLUME, "Capture volume"}, {T_ENABLE_REMOTE_CONNECT, "Enable remote connect"}, {T_TRACE_RIG, "Trace rig"}, {T_TRACE_KEYS, "Trace keys"}, {T_SAVE_RESTART, "You must save configuration and restart Tucnak"}, {T_FULLSCREEN, "Fullscreen"}, {T_TOUCH, "Use touch control"}, {T_ALT_QWER, "Alt turns QWER.. to 1234.."}, {T_NO_LOCKS, "No device locks"}, {T_PORTRAIT_ORIENTATION, "Portrait orientation"}, {T_REVERSE, "Reverse"}, {T_CHOOSE_RIG, "Choose rig"}, {T_RIG_D, "Rig %d"}, {T_NEW_RIG, "New rig"}, {T_ENABLED, "Enabled"}, {T_SET_PTT_ON_RADIO, "Set PTT on radio"}, {T_DISABLED, " (disabled)"}, {T_ADD_RIG, "Add rig"}, {T_REMOVE_RIG, "Remove rig"}, {T_ROTATOR_D, "Rotator %d"}, {T_ENABLE, "Enable"}, {T_TCP_PORT2, "TCP port:"}, {T_PRIVATE, "Show private information"}, {T_REFRESH, "intervallo di aggiornamento:"}, {T_LOAD_FROM_NET, "Load from network"}, {T_LOAD_CWDB, "Load C_W database"}, {T_LOAD_NAMEDB, "Load Name database"}, {T_LOAD_QRVDB, "Load QRV database"}, {T_READONLY_BANDS, "Read-only bands"}, {T_ENABLE_AC, "Enable AS"}, {T_AC_URL, "Alternative URL for flightradar data"}, {T_K_FACTOR, "Troposphere k_factor"}, {T_AC_AREA_WIDTH, "Reflection area width in km"}, {T_AC_EL_ANGLE, "Minimal elevation angle"}, {T_AC_MAX_EL_ANGLE, "Maximal elevation angle"}, {T_AC_MIN_DURATION, "Minimal reflection duration in sec"}, {T_AC_MAX_DIFF, "Max difference of incidence and reflection angles"}, {T_BAD_NUMBER_RANGE, "Bad number range"}, {T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate"}, {T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder"}, {T_NO_DEVICE, "No device"}, {T_IQ_SOURCE, "IQ source:"}, {T_WAV_FILE, "WAV file"}, {T_WAV_FILE_NAME, "WAV file name"}, {T_AF_OUTPUT, "AF output:"}, {T_AF_SAMPLE_RATE, "AF sample rate"}, {T_BLOCK_SIZE, " Block size"}, {T_CW_FILTER, " CW filter"}, {T_TO_HZ, "to [Hz]"}, {T_SSB_FILTER, " SSB filter"}, {T_INIT_NAMEDB, "Initializing name database"}, {T_FREE_NAMEDB, "Terminating name database"}, {T_LOAD_NAMEDB2, "Loading name database"}, {T_INIT_NET, "Initializing network"}, {T_FREE_NET, "Terminating network"}, {T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops"}, {T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)"}, {T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)"}, {T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s"}, {T_TIME_WAS_SET, "Time was set"}, {T_FAILED_TO_SET_TIME, "Failed to set time"}, {T_INIT, "INIT"}, {T_CONNECTING, "CONNECTING"}, {T_CONNECTED, "CONNECTED"}, {T_WAIT_ACK, "WAIT_ACK"}, {T_DISCONNECTED2, "DISCONNECTED"}, {T_DEAD, "DEAD"}, {T_LONG_XFER, "LONG_XFER"}, {T_AUTHENTICATED_USER_S, "Authenticated user %s"}, {T_BAD_AUTHENTICATION_S, "Bad authentication %s"}, {T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT"}, {T_LONG_TRANSFER_FINISHED, "Long transfer finished"}, {T_INIT_NTP, "Initializing NTP monitor"}, {T_FREE_NTP, "Terminating NTP monitor"}, {T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP"}, {T_INIT_SPEAKER, "Initializing PC speaker"}, {T_FREE_SPEAKER, "Terminating PC speaker"}, {T_CANT_PLAY, "Can't play %s - %s"}, {T_CANT_SEEK_TO_END, "Can't seek to end %s - %s"}, {T_CANT_SEEK_TO_START, "Can't seek to start %s - %s"}, {T_CANT_OPEN, "Can't open %s %s"}, {T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\""}, {T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\""}, {T_CANT_SET_EPP, "Can't set %s to EPP mode %s"}, {T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s"}, {T_CANT_CLAIM, "Can't claim %s %s"}, {T_INIT_QRVDB, "Initializing QRV database"}, {T_FREE_QRVDB, "Terminating QRV database"}, {T_WWL3, "WWL"}, {T_WKD2, "WKD"}, {T_ACKST2, "AcKst"}, {T_START, "Start"}, {T_DUR, "Dur"}, {T_NR, "NR"}, {T_TEXT2, "Text"}, {T_16_SORT, "1-6: sort, "}, {T_A_ALL, "A: all"}, {T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search"}, {T_LOAD_QRVS, "Loading qrvs"}, {T_UNSPECIFIED, "unspecified"}, {T_SSB, "SSB"}, {T_CW, "CW"}, {T_SSBS_CWR, "SSBs CWr"}, {T_CWS_SSBR, "CWs SSBr"}, {T_AM, "AM"}, {T_FM, "FM"}, {T_RTTY, "RTTY"}, {T_SSTV, "SSTV"}, {T_ATV, "ATV"}, {T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n"}, {T_FOUND_D_ERRORS, "Found %d error%s while reading %s"}, {T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net"}, {T_REGISTRATED_ROTATORS, "Registrated rotators:"}, {T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n"}, {T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread"}, {T_INIT_ROTARS2, "Initializing rotators"}, {T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n"}, {T_ROTAR_ERROR_S, "Rotar error: %s"}, {T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP"}, {T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP"}, {T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe"}, {T_CANT_READ_FROM, "Can't read from"}, {T_CANT_WRITE_TO, "Can't write to"}, {T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d"}, {T_HYPHENS1, "-----------------------"}, {T_UPDATE2, "Update"}, {T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***"}, {T_BAD_UPDATE_FILE_NAME, "Bad update file name"}, {T_CANT_EXECUTE_INSTALLER, "Can't execute installer, "}, {T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed"}, {T_UPDATE_FAILED, "Update failed"}, {T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply."}, {T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s"}, {T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install."}, {T_NO_NEW_VER, "No new version available."}, {T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests..."}, {T_CHOOSE_CONTEST, "Choose contest"}, {T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload"}, {T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form..."}, {T_ALL_EDI_FILES_PROCESSED, "All EDI files processed."}, {T_UPLOADING_LOG_FILE_S, "Uploading log file %s ..."}, {T_UPLOADING_BAND_S, "Uploading band %s"}, {T_CONFIRMING_LOG, "Confirming log..."}, {T_RESULT_ERROR, "*** Result: ERROR please read error message above"}, {T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s"}, {T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores..."}, {T_LOGS_UPLOADED, "Logs uploaded."}, {T_HTTP_STATUS, "HTTP status: "}, {T_LOG_UPLOAD, "Log upload"}, {T_VOIP_NO_INITIALIZED, "VOIP no initialized"}, {T_PAGE_NAME, "Page name"}, {T_OVERWRITE_EXISTING_FILES, "Overwrite existing files"}, {T_SITE_URL, "Site URL"}, {T_USERNAME, "Username"}, {T_PASSWORD2, " Password"}, {T_EXPORT_MAP, "Export map"}, {T_EXPORT_CHART, "Export chart"}, {T_MEDIAWIKI_UPLOAD2, "Mediawiki upload"}, {T_BAD_AUTH_USER, "Bad auth user %s != %s"}, {T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n"}, {T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame"}, {T_CANT_GET_FMTS, "Can't get supported audio formats: %s"}, {T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s"}, {T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s"}, {T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s"}, {T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s"}, {T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s"}, {T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s"}, {T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s"}, {T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s"}, {T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d"}, {T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s"}, {T_RECORD2, "record"}, {T_PLAYBACK, "playback"}, {T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s"}, {T_CANT_STOP_PA, "Can't stop PortAudio stream: %s"}, {T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s"}, {T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\""}, {T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\""}, {T_CANT_SET_STROBE, "Can't set parport_STROBE %s"}, {T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error"}, {T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n"}, {T_INIT_SERIAL_DEVICES, "Initializing serial devices"}, {T_BAD_CHECKSUM, "Bad checksum"}, {T_TIMEOUT2, "Timeout"}, {T_BAD_RESPONSE, "Bad response"}, {T_UNKNOWN_FUNCTION, "Unknown function"}, {T_UNKNOWN_ERROR_CODE, "Unknown error code"}, {T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n"}, {T_WAIT_FOR_SDR_THR, "Waiting for SDR thread"}, {T_QSO_REQ_FROM_SP, " QSO request from S&P "}, {T_QSO_REQ_SENT, " QSO request sent to RUN "}, {T_GO, " GO! "}, {T_LOCATION_UNKNOWN, "Location unknown"}, {T_DEGREE, "deg"}, {T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s"}, {T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s"}, {T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe"}, {T_INIT_SSB_CQ, "Initializing SSB CQ"}, {T_FREE_SSB_CQ, "Terminating SSB CQ"}, {T_NO_FILE, "No file specified"}, {T_UNSUP_CHANNELS, "Unsupported number of channels = %d"}, {T_FLOAT_UNSUPP, "Float point files are not supported"}, {T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing"}, {T_REC_DISABLED, "recording disabled"}, {T_CONTEST_TOO_OLD, "contest too old"}, {T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)"}, {T_ERROR_WRITING_FILE, "Error writing file %s: %s"}, {T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording"}, {T_NO_DISK_SPACE, "Not enough free disk space for file"}, {T_CANT_PLAY_FILE, "Can't play file %s - %s"}, {T_CANT_WRITE_SS, "Can't write to file %s - %s"}, {T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded"}, {T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template"}, {T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n"}, {T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***"}, {T_LOADING_S, "Loading %s"}, {T_INVALID_WINDOW_TYPE, "invalid window type %d\n"}, {T_INIT_RIG, "Initializing rig control %d"}, {T_RIG_ERROR, "Rig error: %s (%s)"}, {T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n"}, {T_FREE_RIG, "Terminating rig control %d"}, {T_WAIT_FOR_RIG_THR, "Waiting for rig thread"}, {T_INVALID_PARAM, "Invalid param."}, {T_RIG_INVALID_CONFIG, "Invalid config."}, {T_RIG_NOT_ENOUGH_MEM, "Not enough mem."}, {T_RIG_NOT_IMPLEMENTED, "Not implemented"}, {T_RIG_COMM_TIMEOUT, "Comm. timeout"}, {T_RIG_IO_ERROR, "IO error"}, {T_RIG_INTERNAL_ERROR, "Internal error"}, {T_PROTOCOL_ERROR, "Protocol error"}, {T_RIG_COMMAND_REJECT, "Command reject."}, {T_RIG_ARG_TRUNCATED, "Arg. truncated"}, {T_RIG_F_NOT_AVAILABLE, "F not available"}, {T_RIG_VFO_NOT_TARGET, "VFO not target."}, {T_RIG_ERROR_ON_BUS, "Error on bus"}, {T_RIG_BUS_COLLISION, "Bus collision"}, {T_RIG_INVALID_ARG, "Invalid arg."}, {T_RIG_INVALID_VFO, "Invalid VFO"}, {T_RIG_ARG_OUT_OF_DOM, "Arg out of dom."}, {T_ERROR_D, "Error %d"}, {T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)"}, {T_CANT_SET_GRAPHICS2, "Can't set graphics mode"}, {T_WAIT_SDL_THR, "Waiting for SDL event thread"}, {T_FREE_GRAPHICS, "Terminating graphics"}, {T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s"}, {T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s"}, {T_CANT_READ_LOG_FILE, "Can't read log file %s"}, {T_CANT_UPLOAD_LOG, "Can't upload log: %s"}, {T_CANT_CONFIRM_LOG, "Can't confirm log: %s"}, {T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s"}, {T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing"}, {T_CALL2, "Call:"}, {T_QTH, "QTH:"}, {T_DATE3, "Date:"}, {T_QSOS2, "QSOs:"}, {T_POINTS2, "Points:"}, {T_WWLS, "WWLs:"}, {T_DXCCS, "DXCCs:"}, {T_AVG2, "AVG:"}, {T_PTSQSO, "pts/qso"}, {T_TOP_10_CALLS, "Top 10 calls"}, {T_OPERATOR2, "Operator"}, {T_MODE2, "Mode"}, {T_TOP_10_WWLS, "Top 10 WWLs"}, {T_CANT_UPLOAD_FILE_S, "Can't upload file: %s"}, {T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s"}, {T_FILE_ALREADY_EXISTS, "File already exists: %s"}, {T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s"}, {T_CANT_EDIT_PAGE, "Can't edit page: %s"}, {T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s"}, {T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s"}, {T_EDITING_CONTEST_PAGE, "Editing contest page..."}, {T_ALL_DONE, "All done."}, {T_UPLOADING_FILE, "Uploading file %s..."}, {T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s"}, {T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s"}, {T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s"}, {T_QUERYING_EDIT_TOKEN, "Querying edit token"}, {T_CANT_LOGIN, "Can't log in (2): %s"}, {T_CANT_LOGIN2, "Can't log in (2), wiki says: %s"}, {T_CANT_LOGIN1, "Can't log in (1): %s"}, {T_LOGGING_IN, "Logging in..."}, {T_EXPORTING_FILES, "Exporting files..."}, {T_INIT_WIZZ, "Initializing contest wizard"}, {T_FREE_WIZZ, "Terminating contest wizard"}, {T_LOAD_WIZZ_DATA, "Loading contest wizard data"}, {T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs"}, {T_LOGDIR_PATH, "Subdirectory for logs"}, {T_PHASE, "Contest phase"}, {T_HK_PHASE, "H"}, {T_ENTER_PHASE, "New contest phase: "}, {T_PHASE_E, " Phase:"}, {0, NULL} }; struct translation_desc translations [] = { {translation_english}, {translation_czech}, {translation_slovak}, {translation_german}, {translation_portuguese}, {translation_french}, {translation_castellano}, {translation_polish}, {translation_italian}, {NULL} }; tucnak-4.32/src/sdr.h0000644000175000017500000000501113057214433011377 00000000000000/* Tucnak - VHF contest log Copyright (C) 2013-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SDR_H #define __SDR_H #include "header.h" #ifdef USE_SDR #include "fft.h" #include #define SDR_BAL_N 1024 struct sdr; struct sdr_filter{ double zero, low, high; fftw_complex *fbins; double *window; fftw_complex *window_iq; int window_size; int zero_bin; }; struct sdr_filter *init_sdr_filter(struct sdr *, double zero, double low, double high, double samplerate, int size); void free_sdr_filter(struct sdr_filter *f); void sdr_filter_tune(struct sdr *sdr, double zero); struct sdr { fftw_complex *iq, *bins, *iout, *qout; fftw_plan plan_f, plan_bi, plan_bq; short *sndbuf; // buffer for soundcard, uses stereo with same channel data size_t samples, frames; int samplerate; int n; int pal[FFT_COLORS]; int grpal[FFT_COLORS]; #ifdef Z_HAVE_SDL SDL_Surface *screen; MUTEX_DEFINE(screen); int screeny; #endif double *amp, *nea_amp; int amplen; #ifdef HAVE_SNDFILE SNDFILE *sndfileout; #endif GThread *thread; int thread_break; struct sdr_filter *filter; MUTEX_DEFINE(filter); double bfo_phase; double bfo_inc; int load; int butbg; int agc_period_ms; int agc_n, agc_ign, agc_ign_i; double agc_gain, agc_last_power; struct dsp *iqdsp; // SDR side struct dsp *afdsp; // audio int *wfvec; int wfveclen; double bal_gain, bal_phase; fftw_complex *bal_iq, *bal_bins; fftw_plan bal_plan; }; extern struct sdr *gsdr; struct sdr *init_sdr(void); void free_sdr(struct sdr *sdr); struct sdr *sdr_start(struct sdr *sdr); void sdr_stop(struct sdr *sdr); gpointer sdr_thread_func(gpointer data); int sw_sdr_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_sdr_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_sdr_redraw(struct subwin *sw, struct band *band, int flags); void sw_sdr_check_bounds(struct subwin *sw); void sw_sdr_raise(struct subwin *sw); void sdr_read_handler(struct sdr *sdr, gchar *str, gchar *arg); void sdr_resize(struct sdr *sdr, struct subwin *sw); void sdr_ssb(void *xxx); void sdr_cw(void *xxx); void sdr_usb(void *xxx); void sdr_lsb(void *xxx); void sdr_iqcomp(void *xxx); void sdr_balance(struct sdr *sdr); void sdr_bal_adjust(struct sdr *sdr, fftw_complex *iq, int len, double gain, double phase); #endif #endif tucnak-4.32/src/os_dep.c0000644000175000017500000005230113310023377012054 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "kbd.h" #include "main.h" #include "os_dep.h" #include "rc.h" #include "tsdl.h" #include "terminal.h" #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef HAVE_LIBGPM #include #endif #if defined(HAVE_SYS_KD_H) #include #endif #if defined(HAVE_SYS_VFS_H) #include #endif int is_safe_in_shell(char c) { return c == '@' || c == '+' || c == '-' || c == '.' || (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z'); } void check_shell_security(char **cmd) { char *c = *cmd; while (*c) { if (!is_safe_in_shell(*c)) *c = '_'; c++; } } int get_e(char *env) { char *v; if ((v = getenv(env))) return atoi(v); return 0; } #if defined(OS2) #define INCL_MOU #define INCL_VIO #define INCL_DOSPROCESS #define INCL_DOSERRORS #define INCL_WINCLIPBOARD #define INCL_WINSWITCHLIST #include #include #include #include #ifdef HAVE_SYS_FMUTEX_H #include #include #endif #ifdef X2 /* from xf86sup - XFree86 OS/2 support driver */ #include #endif #endif /* Terminal size */ #if defined(UNIX) void sigwinch(void *arg, siginfo_t *siginfo, void *ctx) { ((void (*)(void))arg)(); } void handle_terminal_resize(int fd, void (*fn)(void *)) { #ifdef Z_HAVE_SDL if (sdl) return; #endif zselect_signal_set(SIGWINCH, sigwinch, fn, 0); } void unhandle_terminal_resize(int fd) { #ifdef Z_HAVE_SDL if (sdl) return; #endif zselect_signal_set(SIGWINCH, NULL, NULL, 0); } int term_get_terminal_size(int fd, int *x, int *y) { struct winsize ws; if (!x || !y) return -1; if (ioctl(1, TIOCGWINSZ, &ws) != -1) { if (!(*x = ws.ws_col) && !(*x = get_e("COLUMNS"))) *x = 80; if (!(*y = ws.ws_row) && !(*y = get_e("LINES"))) *y = 24; return 0; } else { if (!(*x = get_e("COLUMNS"))) *x = 80; if (!(*y = get_e("LINES"))) *y = 24; } return 0; } #elif defined(WIN32) #endif /* Exec */ int can_twterm() /* Check if it make sense to call a twterm. */ { static int xt = -1; if (xt == -1) xt = !!getenv("TWDISPLAY"); return xt; } #if defined(UNIX) || defined(WIN32) int is_xterm() { static int xt = -1; if (xt == -1) xt = !!getenv("DISPLAY"); return xt; } #endif int resize_count = 0; //#if defined(UNIX) || defined(WIN32) || defined(BEOS) #if defined(BEOS) && defined(HAVE_SETPGID) int exe(char *path) { int p; int s; if (!(p = fork())) { setpgid(0, 0); system(path); _exit(0); } if (p > 0) waitpid(p, &s, 0); else return system(path); return 0; } #else int exe(char *path) { return system(path); } #endif char *get_clipboard_text() /* !!! FIXME */ { char *ret = 0; if ((ret = (char*)g_malloc(1))!=NULL) ret[0] = 0; return ret; } void set_clipboard_text(char *data) { /* !!! FIXME */ } void set_window_title(char *title) { #ifdef Z_HAVE_SDL if (!sdl) #endif { if (is_xterm()){ if (!title) title=""; printf("\033]0;%s\007", title); fflush(stdout); } } #ifdef Z_HAVE_SDL sdl_set_title(title); #endif /* !!! FIXME */ } char *get_window_title() { /* !!! FIXME */ return NULL; } int resize_window(int x, int y) { return -1; } //#endif /* Threads */ #if defined(HAVE_BEGINTHREAD) || defined(HAVE_PTHREADS) struct tdata { void (*fn)(void *, int); int h; char data[1]; }; void bgt(struct tdata *t) { signal(SIGPIPE, SIG_IGN); t->fn(t->data, t->h); write(t->h, "x", 1); close(t->h); free(t); } #ifdef HAVE_PTHREADS void *bgpt(struct tdata *t) { bgt(t); return NULL; } #endif #endif //void block_stdin() {} //void unblock_stdin() {} #if defined(HAVE_BEGINTHREAD) int start_thread(void (*fn)(void *, int), void *ptr, int l) { int p[2]; struct tdata *t; if (z_pipe(p) < 0) return -1; fcntl(p[0], F_SETFL, O_NONBLOCK); fcntl(p[1], F_SETFL, O_NONBLOCK); if (!(t = malloc(sizeof(struct tdata) + l))) return -1; t->fn = fn; t->h = p[1]; memcpy(t->data, ptr, l); if (_beginthread((void (*)(void *))bgt, NULL, 65536, t) == -1) { close(p[0]); close(p[1]); g_free(t); return -1; } return p[0]; } #ifdef HAVE_READ_KBD int tp = -1; int ti = -1; void input_thread(void *p) { char c[2]; int h = (int)p; signal(SIGPIPE, SIG_IGN); while (1) { /*c[0] = _read_kbd(0, 1, 1); if (c[0]) if (write(h, c, 1) <= 0) break; else { int w; printf("1");fflush(stdout); c[1] = _read_kbd(0, 1, 1); printf("2");fflush(stdout); w = write(h, c, 2); printf("3");fflush(stdout); if (w <= 0) break; if (w == 1) if (write(h, c+1, 1) <= 0) break; printf("4");fflush(stdout); }*/ /* for the records: _read_kbd(0, 1, 1) will read a char, don't echo it, wait for one available and accept CTRL-C. Knowing that, I suggest we replace this call completly! */ *c = _read_kbd(0, 1, 1); write(h, c, 1); } close(h); } #endif /* #ifdef HAVE_READ_KBD */ #if defined(HAVE_MOUOPEN) && !defined(HAVE_LIBGPM) #define USING_OS2_MOUSE #ifdef HAVE_SYS_FMUTEX_H _fmutex mouse_mutex; int mouse_mutex_init = 0; #endif int mouse_h = -1; struct os2_mouse_spec { int p[2]; void (*fn)(void *, char *, int); void *data; char buffer[sizeof(struct event)]; int bufptr; int terminate; }; void mouse_thread(void *p) { int status; struct os2_mouse_spec *oms = p; A_DECL(HMOU, mh); A_DECL(MOUEVENTINFO, ms); A_DECL(USHORT, rd); A_DECL(USHORT, mask); struct event ev; signal(SIGPIPE, SIG_IGN); ev.ev = EV_MOUSE; if (MouOpen(NULL, mh)) goto ret; mouse_h = *mh; *mask = MOUSE_MOTION_WITH_BN1_DOWN | MOUSE_BN1_DOWN | MOUSE_MOTION_WITH_BN2_DOWN | MOUSE_BN2_DOWN | MOUSE_MOTION_WITH_BN3_DOWN | MOUSE_BN3_DOWN | MOUSE_MOTION; MouSetEventMask(mask, *mh); *rd = MOU_WAIT; status = -1; while (1) { int w, ww; if (MouReadEventQue(ms, rd, *mh)) break; #ifdef HAVE_SYS_FMUTEX_H _fmutex_request(&mouse_mutex, _FMR_IGNINT); #endif if (!oms->terminate) MouDrawPtr(*mh); #ifdef HAVE_SYS_FMUTEX_H _fmutex_release(&mouse_mutex); #endif ev.x = ms->col; ev.y = ms->row; /*debug("status: %d %d %d", ms->col, ms->row, ms->fs);*/ dbg("mouse_thread: ms->fs=%d\n", ms->fs); if (ms->fs & (MOUSE_BN1_DOWN | MOUSE_BN2_DOWN | MOUSE_BN3_DOWN)) ev.b = status = B_DOWN | (ms->fs & MOUSE_BN1_DOWN ? B_LEFT : ms->fs & MOUSE_BN2_DOWN ? B_MIDDLE : B_RIGHT); else if (ms->fs & (MOUSE_MOTION_WITH_BN1_DOWN | MOUSE_MOTION_WITH_BN2_DOWN | MOUSE_MOTION_WITH_BN3_DOWN)) { int b = ms->fs & MOUSE_MOTION_WITH_BN1_DOWN ? B_LEFT : ms->fs & MOUSE_MOTION_WITH_BN2_DOWN ? B_MIDDLE : B_RIGHT; if (status == -1) b |= B_DOWN; else b |= B_DRAG; ev.b = status = b; } else { if (status == -1) continue; ev.b = (status & BM_BUTT) | B_UP; status = -1; } if (hard_write(oms->p[1], (char *)&ev, sizeof(struct event)) != sizeof(struct event)) break; } #ifdef HAVE_SYS_FMUTEX_H _fmutex_request(&mouse_mutex, _FMR_IGNINT); #endif mouse_h = -1; MouClose(*mh); #ifdef HAVE_SYS_FMUTEX_H _fmutex_release(&mouse_mutex); #endif ret: close(oms->p[1]); /*free(oms);*/ } void mouse_handle(struct os2_mouse_spec *oms) { int r; if ((r = read(oms->p[0], oms->buffer + oms->bufptr, sizeof(struct event) - oms->bufptr)) <= 0) { unhandle_mouse(oms); return; } if ((oms->bufptr += r) == sizeof(struct event)) { oms->bufptr = 0; oms->fn(oms->data, oms->buffer, sizeof(struct event)); } } void *handle_mouse(int cons, void (*fn)(void *, char *, int), void *data) { struct os2_mouse_spec *oms; if (is_xterm()) return NULL; #ifdef HAVE_SYS_FMUTEX_H if (!mouse_mutex_init) { if (_fmutex_create(&mouse_mutex, 0)) return NULL; mouse_mutex_init = 1; } #endif /* This is never freed but it's allocated only once */ if (!(oms = malloc(sizeof(struct os2_mouse_spec)))) return NULL; oms->fn = fn; oms->data = data; oms->bufptr = 0; oms->terminate = 0; if (z_pipe(oms->p)) { free(oms); return NULL; } _beginthread(mouse_thread, NULL, 0x10000, (void *)oms); zselect_set(zsel, oms->p[0], (void (*)(void *))mouse_handle, NULL, NULL, oms); return oms; } void unhandle_mouse(void *om) { struct os2_mouse_spec *oms = om; want_draw(); oms->terminate = 1; zselect_set(zsel, oms->p[0], NULL, NULL, NULL, NULL); close(oms->p[0]); done_draw(); } void want_draw() { A_DECL(NOPTRRECT, pa); #ifdef HAVE_SYS_FMUTEX_H if (mouse_mutex_init) _fmutex_request(&mouse_mutex, _FMR_IGNINT); #endif if (mouse_h != -1) { static int x = -1, y = -1; static int c = -1; if (x == -1 || y == -1 || (c != resize_count)) get_terminal_size(1, &x, &y), c = resize_count; pa->row = 0; pa->col = 0; pa->cRow = y - 1; pa->cCol = x - 1; MouRemovePtr(pa, mouse_h); } } void done_draw() { #ifdef HAVE_SYS_FMUTEX_H if (mouse_mutex_init) _fmutex_release(&mouse_mutex); #endif } #endif /* if HAVE_MOUOPEN */ #elif defined(HAVE_CLONE) /* This is maybe buggy... */ #include struct thread_stack { struct thread_stack *next; struct thread_stack *prev; int pid; void *stack; void (*fn)(void *, int); int h; int l; char data[1]; }; void bglt(struct thread_stack *ts) { ts->fn(ts->data, ts->h); write(ts->h, "x", 1); close(ts->h); } struct list_head thread_stacks = { &thread_stacks, &thread_stacks }; int start_thread(void (*fn)(void *, int), void *ptr, int l) { struct thread_stack *ts; int p[2]; int f; if (z_pipe(p) < 0) return -1; fcntl(p[0], F_SETFL, O_NONBLOCK); fcntl(p[1], F_SETFL, O_NONBLOCK); /*if (!(t = malloc(sizeof(struct tdata) + l))) return -1; t->fn = fn; t->h = p[1]; memcpy(t->data, ptr, l);*/ foreach(ts, thread_stacks) { if (ts->pid == -1 || kill(ts->pid, 0)) { if (ts->l >= l) goto ts_ok; else { struct thread_stack *tts = ts; ts = ts->prev; del_from_list(tts); free(tts->stack); free(tts); } } } if (!(ts = malloc(sizeof(struct thread_stack) + l))) goto fail; if (!(ts->stack = malloc(0x10000))) { free(ts); goto fail; } ts->l = l; add_to_list(thread_stacks, ts); ts_ok: ts->fn = fn; ts->h = p[1]; memcpy(ts->data, ptr, l); if ((ts->pid = __clone((int (*)(void *))bglt, (char *)ts->stack + 0x8000, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD, ts)) == -1) { fail: close(p[0]); close(p[1]); return -1; } return p[0]; } #elif defined(HAVE_PTHREADS) #include int start_thread(void (*fn)(void *, int), void *ptr, int l) { pthread_t thread; struct tdata *t; int p[2]; int f; if (z_pipe(p) < 0) return -1; fcntl(p[0], F_SETFL, O_NONBLOCK); fcntl(p[1], F_SETFL, O_NONBLOCK); if (!(t = malloc(sizeof(struct tdata) + l))) return -1; t->fn = fn; t->h = p[1]; memcpy(t->data, ptr, l); if (pthread_create(&thread, NULL, (void *(*)(void *))bgpt, t)) { close(p[0]); close(p[1]); g_free(t); return -1; } return p[0]; } #else /* HAVE_BEGINTHREAD */ int start_thread(void (*fn)(void *, int), void *ptr, int l) { #ifdef Z_MSC_MINGW zinternal("start_thread unimplemented"); return -1; #else int p[2]; int f; if (z_pipe(p) < 0) return -1; //fcntl(p[0], F_SETFL, O_NONBLOCK); //fcntl(p[1], F_SETFL, O_NONBLOCK); z_sock_nonblock(p[0], 1); z_sock_nonblock(p[1], 1); if (!(f = fork())) { closesocket(p[0]); fn(ptr, p[1]); z_pipe_write(p[1], "x", 1); z_pipe_close(p[1]); exit(0); } if (f == -1) { z_pipe_close(p[0]); z_pipe_close(p[1]); return -1; } z_pipe_close(p[1]); return p[0]; #endif } #endif int get_output_handle() { #ifdef Z_HAVE_SDL if (sdl) return -1; else #endif return 1; } int get_ctl_handle() { #ifdef Z_HAVE_SDL if (sdl) return -1; else #endif return 0; } int get_input_handle() { #ifdef Z_HAVE_SDL if (sdl) return -1; else #endif return 0; } #ifdef HAVE_LIBGPM struct gpm_mouse_spec { int h; void (*fn)(void *, char *, int); void *data; }; void gpm_mouse_in(void *xxx) { Gpm_Event gev; struct event ev; struct gpm_mouse_spec *gms; gms = (struct gpm_mouse_spec *)xxx; if (Gpm_GetEvent(&gev) <= 0) { zselect_set(zsel, gms->h, NULL, NULL, NULL, NULL); return; } ev.ev = EV_MOUSE; ev.x = gev.x - 1; ev.y = gev.y - 1; dbg("gpm_mouse_in: gev.buttons=%d\n", gev.buttons); if (gev.buttons & GPM_B_LEFT) ev.b = B_LEFT; else if (gev.buttons & GPM_B_MIDDLE) ev.b = B_MIDDLE; else if (gev.buttons & GPM_B_RIGHT) ev.b = B_RIGHT; else return; if (gev.type & GPM_DOWN) ev.b |= B_DOWN; else if (gev.type & GPM_UP) ev.b |= B_UP; else if (gev.type & GPM_DRAG) ev.b |= B_DRAG; else return; gms->fn(gms->data, (char *)&ev, sizeof(struct event)); } void *handle_mouse(int cons, void (*fn)(void *, char *, int), void *data) { int h; Gpm_Connect conn; struct gpm_mouse_spec *gms; conn.eventMask = ~GPM_MOVE; conn.defaultMask = GPM_MOVE; conn.minMod = 0; conn.maxMod = 0; if ((h = Gpm_Open(&conn, cons)) < 0) return NULL; if (!(gms = g_malloc(sizeof(struct gpm_mouse_spec)))) return NULL; gms->h = h; gms->fn = fn; gms->data = data; zselect_set(zsel, h, gpm_mouse_in, NULL, NULL, gms); return gms; } void unhandle_mouse(void *h) { struct gpm_mouse_spec *gms = h; zselect_set(zsel, gms->h, NULL, NULL, NULL, NULL); Gpm_Close(); g_free(gms); } #else void *handle_mouse(int cons, void (*fn)(void *, char *, int), void *data) { return NULL; } void unhandle_mouse(void *data) { } #endif /* #ifdef HAVE_LIBGPM */ /*void exec_new_links(char *xterm, char *exe, char *param) { char *str; if (!(str = g_malloc(strlen(xterm) + 1 + strlen(exe) + 1 + strlen(param) + 1))) return; sprintf(str, "%s %s %s", xterm, exe, param); exec_on_terminal(str, "", 2); g_free(str); } void open_in_new_twterm(struct terminal *term, char *exe, char *param) { char *twterm; if (!(twterm = getenv("TUCNAK_TWTERM"))) twterm = "twterm -e"; exec_new_links(twterm, exe, param); } void open_in_new_xterm(struct terminal *term, char *exe, char *param) { char *xterm; if (!(xterm = getenv("TUCNAK_XTERM"))) xterm = "xterm -e"; exec_new_links(xterm, exe, param); } void open_in_new_screen(struct terminal *term, char *exe, char *param) { exec_new_links("screen", exe, param); } #ifdef OS2 void open_in_new_vio(struct terminal *term, char *exe, char *param) { exec_new_links("cmd /c start /c /f /win", exe, param); } void open_in_new_fullscreen(struct terminal *term, char *exe, char *param) { exec_new_links("cmd /c start /c /f /fs", exe, param); } #endif #ifdef BEOS void open_in_new_be(struct terminal *term, char *exe, char *param) { exec_new_links("Terminal", exe, param); } #endif struct { int env; void (*fn)(struct terminal *term, char *, char *); char *text; char *hk; } oinw[] = { {ENV_XWIN, open_in_new_xterm, CTEXT(T_XTERM), CTEXT(T_HK_XTERM)}, {ENV_TWIN, open_in_new_twterm, CTEXT(T_TWTERM), CTEXT(T_HK_TWTERM)}, {ENV_SCREEN, open_in_new_screen, CTEXT(T_SCREEN), CTEXT(T_HK_SCREEN)}, #ifdef OS2 {ENV_OS2VIO, open_in_new_vio, CTEXT(T_WINDOW), CTEXT(T_HK_WINDOW)}, {ENV_OS2VIO, open_in_new_fullscreen, CTEXT(T_FULL_SCREEN), CTEXT(T_HK_FULL_SCREEN)}, #endif #ifdef BEOS {ENV_BE, open_in_new_be, CTEXT(T_BEOS_TERMINAL), CTEXT(T_HK_BEOS_TERMINAL)}, #endif {0, NULL, NULL} }; */ #if 0 #ifndef HAVE_LOCKF #ifdef Z_MSC_MINGW // TODO #else /* lockf is a simplified interface to fcntl's locking facilities. */ /* thanx to glibc */ int lockf (int fd, int cmd, off_t len) { struct flock fl; memset ((char *) &fl, '\0', sizeof (fl)); /* lockf is always relative to the current file position. */ fl.l_whence = SEEK_CUR; fl.l_start = 0; fl.l_len = len; switch (cmd) { case F_TEST: /* Test the lock: return 0 if FD is unlocked or locked by this process; return -1, set errno to EACCES, if another process holds the lock. */ if (fcntl (fd, F_GETLK, &fl) < 0) return -1; if (fl.l_type == F_UNLCK || fl.l_pid == getpid ()) return 0; errno=EACCES; return -1; case F_ULOCK: fl.l_type = F_UNLCK; cmd = F_SETLK; break; case F_LOCK: fl.l_type = F_WRLCK; cmd = F_SETLKW; break; case F_TLOCK: fl.l_type = F_WRLCK; cmd = F_SETLK; break; default: errno=EINVAL; return -1; } return fcntl (fd, cmd, &fl); } #endif #endif #endif int save_screen(){ if (!is_xterm()) return 1; printf("\033[?1049h"); fflush(stdout); return 0; } int restore_screen(){ if (!is_xterm()) return 1; printf("\033[?1049l"); fflush(stdout); return 0; } #define MTAB_DELIM " \t" gchar * get_mp(gchar *device){ FILE *f; char *filename,*s,*token_ptr; GString *gs; gchar *dev,*mp,*ret; f=fopen(filename="/proc/mounts","r"); if (!f) f=fopen(filename="/etc/mtab", "r"); if (!f) return 0; ret=NULL; gs=g_string_sized_new(100); while ((s=zfile_fgets(gs,f,1))!=NULL){ dev=strtok_r(s,MTAB_DELIM,&token_ptr); mp=strtok_r(NULL, MTAB_DELIM, &token_ptr); if (!dev || !mp) continue; if (strcmp(dev,device)==0){ ret=g_strdup(mp); break; } } g_string_free(gs, TRUE); fclose(f); return ret; } int floppy_is_mounted(gchar *floppydev, gchar *path_to_floppy){ gchar *mp; int ret; mp=get_mp(floppydev); if (!mp) return 0; ret=!strcmp(mp,path_to_floppy); g_free(mp); return ret; } #ifdef UNIX int is_in_mtab(gchar *mountpoint){ FILE *f; char *filename,*s,*token_ptr; GString *gs; gchar *dev,*mp; int ret; /*dbg("mountpoint ='%s'\n", mountpoint);*/ f=fopen(filename="/proc/mounts","r"); if (!f) f=fopen(filename="/etc/mtab", "r"); if (!f) return 0; ret=0; gs=g_string_sized_new(100); while ((s=zfile_fgets(gs,f,1))!=NULL){ dev=strtok_r(s,MTAB_DELIM,&token_ptr); mp=strtok_r(NULL, MTAB_DELIM, &token_ptr); if (!dev || !mp) continue; if (strcmp(mp,mountpoint)==0){ ret=1; break; } } g_string_free(gs, TRUE); fclose(f); /*dbg("return %d\n", ret);*/ return ret; } #else int is_in_mtab(gchar *mountpoint){ if (z_df(mountpoint) > 0.0) return 1; return 0; } #endif static int sound_fd=-1; int sound_pid=-1; int init_sound(){ #ifdef Z_UNIX int ret,i; int fds[2]; progress(VTEXT(T_INIT_SPEAKER)); if (pipe(fds)) zinternal("Can't create pipe"); /*dbg("sound pipe %d->%d\n", fds[1], fds[0]);*/ ret=fork(); if (ret<0){ zinternal("Can't fork"); } if (ret) { /* parent */ dbg("sound_pid = %d\n", ret); sound_pid = ret; closesocket(fds[0]); sound_fd=fds[1]; return 0; } /* child */ sleep(1); closesocket(fds[1]); close(0); dup2(fds[0], 0); closesocket(fds[0]); for (i=3;i<1024;i++) close(i); execlp("soundwrapper", "soundwrappes", "-q", NULL); exit(-1); #else return 0; #endif } int free_sound(){ #ifdef Z_UNIX int cmd, ret; if (sound_fd<0) return -1; progress(VTEXT(T_FREE_SPEAKER)); cmd=-1; ret=write(sound_fd, &cmd, sizeof(int)); if (ret!=sizeof(int)){ char errstr[1030]; dbg("error writing sound_fd=%d (error %d) '%s'\n", sound_fd, errno, strerror_r(errno, errstr, sizeof(errstr))); } close(sound_fd); sound_fd=-1; #endif return 0; } int abort_sound(){ if (sound_fd<0) return -1; z_pipe_close(sound_fd); sound_fd=-1; return 0; } int sound(int freq){ #ifdef Z_UNIX int ret; if (sound_fd<0) { /* dbg("sound_fd is closed\n");*/ return -1; } ret=z_pipe_write(sound_fd, &freq, sizeof(int)); if (ret!=sizeof(int)){ char errstr[1030]; dbg("error writing sound_fd=%d (error %d) '%s'\n", sound_fd, errno, strerror_r(errno, errstr, sizeof(errstr))); z_pipe_close(sound_fd); sound_fd=-1; return -1; } #endif return 0; } tucnak-4.32/src/translate.c0000644000175000017500000002272513700130565012610 00000000000000/* translate.h - Localisation tool for Tucnak Copyright (C) 2015-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "translate.h" #include "bfu.h" #include "fifo.h" #include "main.h" #include "menu.h" #include "subwin.h" char translate_key[MAX_STR_LEN]; char translate_oldkey[MAX_STR_LEN]; char translate_text[MAX_STR_LEN]; GPtrArray *translate_intl; char *translate_c_file, *translate_lng_file; GPtrArray *translate_lines; int translate_line, translate_start, translate_len; struct intl{ char *key, *val; }; void translate_replace(GString *line, char *newtext){ g_string_erase(line, translate_start, translate_len); g_string_insert(line, translate_start, newtext); } char *translate_get_val(char *key){ int i; for (i = 0; i < translate_intl->len; i++){ struct intl *x = (struct intl *)g_ptr_array_index(translate_intl, i); if (strcmp(key, x->key) == 0) return x->val; } return NULL; } char *translate_get_key(char *val){ int i; for (i = 0; i < translate_intl->len; i++){ struct intl *x = (struct intl *)g_ptr_array_index(translate_intl, i); if (strcmp(val, x->val) == 0) return x->key; } return NULL; } void translate_free_intl(gpointer xxx){ struct intl *x = (struct intl*) xxx; g_free(x->key); g_free(x->val); g_free(x); } int translate_load_intl(void){ GString *gs; FILE *f; g_free(translate_lng_file); translate_lng_file = g_strdup("../intl/english.lng"); z_wokna(translate_lng_file); f = fopen(translate_lng_file, "rt"); if (!f) { zinternal("Can't open '%s'", translate_lng_file); return 0; } if (translate_intl != NULL) g_ptr_array_free(translate_intl, TRUE); translate_intl = g_ptr_array_new(); g_ptr_array_set_free_func(translate_intl, translate_free_intl); gs = g_string_sized_new(256); while(zfile_fgets(gs, f, 0)){ char *k, *v; struct intl *x; z_split2(gs->str, ',', &k, &v, 0); if (k == NULL) continue; if (v[0] == '"') v++; if (strlen(v) > 0 && v[strlen(v) - 1] == ',') v[strlen(v) - 1] = '\0'; if (strlen(v) > 0 && v[strlen(v) - 1] == '"') v[strlen(v) - 1] = '\0'; dbg("'%s'='%s'\n", k, v); x = g_new0(struct intl, 1); x->key = g_strdup(k); x->val = g_strdup(v); g_ptr_array_add(translate_intl, x); } g_string_free(gs, TRUE); fclose(f); return 0; } int translate_parse_file(const char *dir, const char *filename){ FILE *f; GString *gsval, *gskey, *gsline; int ret = 0, i, j, bs = 0, ctext = 0; char *c, *line, *d, *dupkey, *dupval; g_free(translate_c_file); translate_c_file = g_strdup_printf("%s%s", dir, filename); f = fopen(translate_c_file, "rt"); if (f == NULL) return 0; if (translate_lines != NULL) zg_ptr_array_free_all(translate_lines); translate_lines = g_ptr_array_new(); gsval = g_string_sized_new(256); gskey = g_string_sized_new(256); while(zfile_fgets(gsval, f, 0)){ g_ptr_array_add(translate_lines, g_strdup(gsval->str)); } fclose(f); for (i = 0; i < translate_lines->len; i++){ line = (char*)g_ptr_array_index(translate_lines, i); c = strstr(line, "TRANSLATE("); if (c == NULL) continue; translate_line = i; translate_start = (c - line); log_adds(""); log_adds(""); log_addf(" -------- %s --------", filename); for (j = Z_MAX(i - 5, 0); j < Z_MIN(i + 5, translate_lines->len - 1); j++) { g_string_truncate(gsval, 0); g_string_append(gsval, (char *)g_ptr_array_index(translate_lines, j)); z_string_replace(gsval, "\x09", " ", ZSR_ALL); log_addf("%4d: %s", j, gsval->str); } g_string_truncate(gsval, 0); g_string_append(gsval, c + 11); for (j = 0; j < gsval->len; j++){ if (gsval->str[j] == '"' && bs == 0){ g_string_truncate(gsval, j); translate_len = j + 11 + 2; break; } if (gsval->str[j] == '\\'){ bs = 1; }else{ bs = 0; } } for (d = gsval->str; *d != '\0'; d++){ char cc = *d; if (cc == ' ') cc = '_'; if (isalnum(cc) || cc == '_'){ g_string_append_c(gskey, toupper(cc)); } } while (gskey->len > 0 && gskey->str[0] == '_') g_string_erase(gskey, 0, 1); while (gskey->len > 0 && gskey->str[gskey->len - 1] == '_') g_string_erase(gskey, gskey->len - 1, 1); g_string_insert(gskey, 0, "T_"); dupkey = translate_get_key(gsval->str); if (dupkey != NULL){ g_string_assign(gskey, dupkey); }else{ for (j = 1; ; j++){ char *tmp; if (j == 1) tmp = g_strdup(gskey->str); else tmp = g_strdup_printf("%s%d", gskey->str, j); dupval = translate_get_val(tmp); g_free(tmp); if (dupval != NULL) continue; if (j == 1) break; g_string_append_printf(gskey, "%d", j); break; } } if (strstr(line, "add_to_menu")) ctext = 1; if (strstr(line, "input_field")) ctext = 1; if (strstr(line, "{TRANSLATE")) ctext = 1; if (strstr(line, "{CTEXT")) ctext = 1; if (strstr(line, "d->items[i].")) ctext = 1; //if (strstr(line, "")) ctext = 1; //if (strstr(line, "")) ctext = 1; g_snprintf(translate_key, MAX_STR_LEN, "%cTEXT(%s)", ctext ? 'C' : 'V', gskey->str); strcpy(translate_oldkey, translate_key); g_snprintf(translate_text, MAX_STR_LEN, "%s", gsval->str); log_addf("line %d, start=%d, len=%d", translate_line, translate_start, translate_len); gsline = g_string_new(line); translate_replace(gsline, translate_key); z_string_replace(gsline, "\x09", " ", ZSR_ALL); log_addf("%4d: %s", i, gsline->str); ret = 1; break; } g_string_free(gsval, TRUE); g_string_free(gskey, TRUE); //zg_ptr_array_free_all(arr); return ret; } static int translate_filter(const char *dir, const struct dirent *de){ const char *ext; if (strcmp((char *)de->d_name, ".") == 0) return 0; if (strcmp((char *)de->d_name, "..") == 0) return 0; ext = z_extension((char *)de->d_name); if (ext == NULL) return 0; if (strcmp(ext, ".c") == 0) return 1; return 0; } void translate_save_c(void){ int i; FILE *f = fopen(translate_c_file, "wb"); if (!f) zinternal("Can't open %s", translate_c_file); for (i = 0; i < translate_lines->len; i++){ GString *gs = NULL; char *line = (char *)g_ptr_array_index(translate_lines, i); if (i == translate_line){ gs = g_string_new(line); translate_replace(gs, translate_key); line = gs->str; } fprintf(f, "%s\n", line); if (gs) g_string_free(gs, TRUE); } fclose(f); } int translate_save_lng(void){ char *k, *c, *lng_text; FILE *f; k = g_strdup(translate_key); c = strchr(k, '('); if (!c) zinternal("No '(' in translate_key"); c++; z_strip_from(c, ')'); lng_text = translate_get_val(c); if (lng_text) { // exists same key in the lng database if (strcmp(translate_text, lng_text) == 0){ // user entered same text as in db log_addf("Merging to key '%s'", c); return 0; // change the c file }else{ // user entered different text than in db //if (strcmp(translate_key, translate_oldkey) == 0){ // // but same key, error log_addf("----------------------------------------------------------------------"); log_addf(" Key '%s' already exists in lng file with different text", c); log_addf("----------------------------------------------------------------------"); return 1; // do not change the c file //}else{ // // different text and different key, no problem bro // //} } } f = fopen(translate_lng_file, "ab"); if (!f) zinternal("Can't open %s", translate_lng_file); fprintf(f, "%s, \"%s\",\n", c, translate_text); g_free(k); fclose(f); return 0; } void refresh_translate(void *xxx){ struct dirent **namelist=NULL; int i; int nn; char dir[256]; translate_load_intl(); if (strlen(translate_key) != 0){ if (translate_save_lng() == 0){ translate_save_c(); } } translate_load_intl(); strcpy(dir, "../src/"); z_wokna(dir); nn = z_scandir(dir, &namelist, translate_filter, z_scandir_alphasort); for (i=0; id_name, "translate.c") == 0) continue; if (translate_parse_file(dir, namelist[i]->d_name)) break; } for (i=0; iy = 0; } void translate(void *xxx){ struct dialog *d; int i; sw_raise_or_new(SWT_LOG); d = (struct dialog *)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = "Translate"; d->fn = dlg_pf_fn; d->position_fn = translate_fn3; d->refresh = (void (*)(void *))refresh_translate; d->y0 = 1; d->items[i = 0].type = D_FIELD; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = (char *)&translate_key; d->items[i].msg = "Key: "; d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = (char *)&translate_text; d->items[i].msg = "Text:"; d->items[i].wrap = 1; d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; set_window_ptr(gses->win, 0, 0); do_dialog(d, getml(d, NULL)); } tucnak-4.32/src/control.h0000644000175000017500000000342012224730151012264 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __CONTROL_H #define __CONTROL_H #include "qsodb.h" enum wt_type{ WT_CLEAR=0, WT_CALLSIGN, WT_RSTS, WT_RSTR, WT_QSONRS, WT_QSONRR, WT_EXC, WT_LOCATOR, WT_OPERATOR, WT_REMARK /* unused */ }; struct spypeer{ gchar *callsign; gchar *rsts,*rstr; gchar *qsonrs,*qsonrr; gchar *exc, *locator; gchar *remark, *operator_; gint peertx; gchar *inputline; gchar *peerid; gchar bandchar; }; void menu_forcerun(void *arg); /*void menu_spy(void *arg);*/ void menu_endspy(void *arg); int can_tx(struct band *b); int can_cq(struct band *b); void menu_grabband(void *arg); void net_grab(struct band *b, enum ccmd ccmd, char *netid); void ctrl_back(struct band *b); void wkd_tmpqso(struct band *band, enum wt_type type, gchar *call); void peer_tx(struct band *band, int tx); void do_endspy(void *arg, void *arg1); void menu_endspy(void *arg); void send_inputline(struct band *band); struct spypeer *init_spypeer(GPtrArray *sps, gchar *peerid, char bandchar); void spypeer_send_request(struct spypeer *sp); void spypeer_send_requests(void); struct spypeer *get_spypeer_by_peerid(GPtrArray *sps, gchar *peerid, char bandchar); void free_spypeer(struct spypeer *sp); void free_spypeers(GPtrArray *sps); void clear_spypeer(struct spypeer *sp); void send_spypeer_request(void *arg); void spypeer_add(char *peerid, char bandchar, int send_request); int load_spypeers_from_file(char *filename); int save_spypeers_to_file(char *filename); #endif tucnak-4.32/src/rotar.h0000644000175000000410000000600214046032736011732 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __ROTAR_H #define __ROTAR_H #include "header.h" struct sdev; #ifdef __GNUC__ #define TRROT(thr, m...) if (cfg->trace_sdev >= (thr ? 2 : 1)){ \ GString *gs = g_string_new("ROT: "); \ if (thr) g_string_append(gs, " "); \ g_string_append_printf(gs, m); \ trace(1, "%s", gs->str); \ g_string_free(gs, TRUE); \ } #else #define TRROT(thr, m, ...) if (cfg->trace_sdev >= (thr ? 2 : 1)){ \ GString *gs = g_string_new("ROT: "); \ if (thr) g_string_append(gs, " "); \ g_string_append_printf(gs, m, __VA_ARGS__); \ trace(1, "%s", gs->str); \ g_string_free(gs, TRUE); \ } #endif enum rot_type { ROT_NONE=0, ROT_OK1ZIA_TTYS=1, ROT_OK1ZIA_FTDI=2, ROT_HAMLIB=3, ROT_REMOTE=4 }; struct config_rotar{ gint nr; /* common */ gchar *rot_desc; enum rot_type rot_type; gchar *rot_filename; gchar *rot_hostname; gint rot_port; gint rot_vid, rot_pid; gchar *rot_serial; gint rot_timeout_ms, rot_beamwidth, rot_poll_ms; /* ok1zia */ gint rot_saddr; /* hamlib */ gint rot_model; gint rot_speed; /* remote */ gchar *rot_rem_rotstr; }; struct rotar{ /* config */ struct sdev *sdev; #ifdef HAVE_HAMLIB ROT *rot; #endif int step; int rotchar; /* A, B, ... */ char rotstr[2]; int type; gchar *netid; gchar *desc; int beamwidth; /* in degrees */ /* device versions */ int verh, verl, identa; /* state */ int qtf, oldqtf, elev, oldelev; // int timer_id; /* time between two command to prevent high cpu load */ int color; /* color of arrow in polar map */ int termcolor; /* color on terminal */ gchar *rem_rotstr; int last_req; #ifdef HAVE_HAMLIB GThread *hl_thread; int hl_azim, hl_elev; int hl_model; int hl_give_me_chance; int hl_thread_break; int rot_speed; elevation_t hl_lastelev; #endif int poll_ms; }; extern GPtrArray *rotars; extern MUTEX_DEFINE(rotars); extern struct rotar *rotar; int init_rotars(void); int free_rotars(void); struct rotar *init_rotar(struct config_rotar *cfg, int rotchar); void free_rotar(struct rotar *rot); int rot_seek(struct rotar *rot, int uhel, int elev /* -90 unused */); struct config_rig *get_config_rig_by_number(GPtrArray *crigs, int nr); struct config_rotar *get_config_rotar_by_number(GPtrArray *rotars, int nr); struct rotar *get_rotar(int nr); struct rotar *get_rotar_by_rotstr(char *rotstr); void rotar_read_handler(int n, char **line); void timer_update_rotar(void *arg); void rotar_remote_update(char *c); void menu_rotar(void *arg); #ifdef Z_HAVE_SDL int rot_update_colors(void); #endif int rotar_main(struct sdev *sdev); int rot_beamwidth(void); gpointer rot_hamlib_main(gpointer xxx); #endif tucnak-4.32/src/subwin.h0000644000175000017500000001621714066537511012136 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SUBWIN_H #define __SUBWIN_H #include "header.h" #include "terminal.h" #include "ac.h" struct band; #define BANDMAPW 22 #define BANDMAPMINW (75+BANDMAPW) #define KSTQRVW1 23 #define KSTQRVW2 (23+13) #define QSOS_LEN (sw->allqsos?ctest->allqsos->len:aband->qsos->len) enum sw_type { SWT_QSOS, SWT_LOG, SWT_SHELL, SWT_TALK, SWT_DXC, SWT_SKED, SWT_SWAP, SWT_UNFI, SWT_STAT, SWT_MAP, SWT_SCOPE, SWT_QRV, SWT_HF, SWT_PLAYER, SWT_CHART, SWT_KST, SWT_UPD, SWT_SDR}; struct subwin { gchar *title; enum sw_type type; gint x,y,w,ww,h,hh; gint offset,cur,ho, offset2; gint ontop, ontop2,focused; gint titl1,titl2; int (*kbd_func)(struct subwin *, struct event *ev, int fw); int (*mouse_func)(struct subwin *, struct event *ev, int fw); void (*redraw)(struct subwin *, struct band *band, int flags); void (*check_bounds)(struct subwin *); void (*raise)(struct subwin *); GPtrArray *lines; int eol, maxlen, unread; struct inputln *il; /* optional */ /* subwins having pipes */ gint read_fd, write_fd; struct zserial *zser; iconv_t iconv; #ifdef Z_UNIX //pid_t pid; struct winsize ws; #endif GPtrArray *high; /* of gchar* */ gchar *command; gint respawn_time; /* fifo is foreign key mostly to global variable */ struct fifo *fifo; /* for graphics subwins (SWT_MAP) */ #ifdef Z_HAVE_SDL SDL_Surface *l1map; // SDL_Surface *l2rot; SDL_Surface *screen; MUTEX_DEFINE(screen); // GMutex *screen_mutex; //#ifdef LEAK_DEBUG_LIST // char *screen_file; // int screen_line; //#endif int ox, oy; int zoom; int gdirty; SDL_Rect map, info; gchar *pwwlo; struct qso *minqso; //gchar *minqrvcall; int scope_mode; int fft_wf_y, fft_wf_h; int fft_sp_y, fft_sp_h; int fft_wf_x2; int fft_sp_x2; double antchar[360]; int beamwidth; double gst[360]; int mint, maxt, minv, maxv; int ch_left, ch_right, ch_top, ch_bottom; char *ch_op; int mx, my, ch_mouse_value; int showlines, showwwls; #endif GPtrArray *chbands; // of struct chband #ifdef HAVE_SNDFILE int pl_rate; int pl_channels; char *pl_shapebuf; // for all samples int pl_shape_frames; int pl_total_frames; int pl_pxlen; int pl_ofs; #ifdef Z_HAVE_SDL SDL_Surface *pl_preview_screen; int pl_preview_w; #endif #endif int sock; int kst_srv; struct zasyncdns *adns; int chat; // unix chat, not KST chat int first_shus; char *callunder; char *refunder; char *acunder; int uhel; GPtrArray* callsunder; int callunderx, callundery; double qrg; // kHz char *pattern; int dxc_from_net; int timer_id; GHashTable *kstusers; // of qrv_item (foreign key, can be NULL) GHashTable *kstoldusers; int shus; // 0 = none, 1 = from timer with filter, 2 = from operator int kst_y, kst_offset; int allqsos; char *player_filename; int dxc_offset; int olddragx, olddragy; // buď v terminálových nebo grafických souřadnicích int ac_plotinfo; struct zchart *chart; GPtrArray *buttons; // of struct button struct button *sdr_ssb, *sdr_cw, *sdr_usb, *sdr_lsb, *sdr_iqcomp; int sdr_by; int side_top, side_bott; int shaking; struct timeval kst_latest_data; }; struct config_subwin{ int nr; enum sw_type type; gchar *command; gchar *autorun; int respawn_time; }; struct subwin *new_subwin(enum sw_type type, int where); void free_subwins(void); void free_subwin(struct subwin *sw); struct subwin *sw_raise_or_new(enum sw_type type); int sw_add_line(struct subwin *sw, gchar *line, int eol); int sw_add_block(struct subwin *sw, gchar *data); int sw_printf(struct subwin *sw, const char *m, ...); int sw_default_func(struct subwin *sw, struct event *ev, int fw); int sw_all_func(struct event *ev, int fw); int sw_focus_func(struct event *ev, int fw); int sw_ontop_func(struct event *ev, int fw); struct subwin *find_sw_ontop(void); void sw_set_focus(void); void sw_unset_focus(void); struct subwin *sw_set_ontop(int n, int set2); /* n abs */ struct subwin *sw_totop_next(int n, int set2); /* n = +-1 */ void sw_set_unread(struct fifo *fifo); void sw_unset_unread(struct fifo *fifo); struct config_subwin *get_config_sw_by_number(GPtrArray *sws, int nr); void sw_default_redraw(struct subwin *sw, int flags); void sw_check_len(struct subwin *sw); void draw_titles(int y, int ontop2); int sw_line_is_highlighted(struct subwin *sw, gchar *c); int sw_qsos_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_qsos_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_qsos_redraw(struct subwin *sw, struct band *band, int flags); void sw_qsos_check_bounds(struct subwin *sw); int show_qs(void); void sw_qs_redraw(void); int sw_fifo_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_fifo_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_fifo_redraw(struct subwin *sw, struct band *band, int flags); void sw_fifo_check_bounds(struct subwin *sw); int sw_shell_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_shell_redraw(struct subwin *sw, struct band *band, int flags); void sw_shell_check_bounds(struct subwin *sw); void sw_shell_enter(void *enterdata, gchar *str, int cq); int sw_shell_run(struct subwin *sw, char *cmd); void sw_shell_read_handler(void *); void sw_shell_write_handler(void *); void sw_shell_exception_handler(void *); void sw_shell_kill(struct subwin *sw); void sw_shell_match(gpointer acall, gpointer nic, gpointer astr); int sw_shell_hihglight(struct subwin *sw, char *str); #ifdef HAVE_PTY_H int sw_pty_run(struct subwin *sw, char *cmd); #endif #ifdef Z_UNIX int sw_pipe_run(struct subwin *sw, char *cmd); #endif void sw_talk_enter(void *enterdata, gchar *str, int); void sw_talk_read(char *, int ignoredupe); int sw_unfi_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_unfi_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_unfi_redraw(struct subwin *sw, struct band *band, int flags); void sw_unfi_check_bounds(struct subwin *sw); int sw_stat_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_stat_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_stat_redraw(struct subwin *sw, struct band *band, int flags); void sw_stat_check_bounds(struct subwin *sw); void sw_stat_raise(struct subwin *sw); void clip_char(struct subwin *sw, int xrel, int yrel, unsigned c); void clip_color(struct subwin *sw, int xrel, int yrel, unsigned c); void clip_printf(struct subwin *sw, int xrel, int yrel, short color, char *fmt, ...); void sw_export_lines(struct subwin *sw, char *fname); extern int sw_shake_tmo; void sw_shake(struct subwin *sw, int down); int sw_accel_dy(struct subwin *sw, struct event *ev); void sw_highlight(struct subwin *sw, const char *text, const char *needle, int color, int i, int whole); void sw_set_gdirty(enum sw_type type); #endif tucnak-4.32/src/update.h0000644000175000017500000000071312037253045012074 00000000000000/* Tucnak - VHF contest log Copyright (C) 2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __UPDATE_H #define __UPDATE_H struct zserial; void update_tucnak(void *a, void *b); struct zserial *update_init_process(void); void update_info(void *arg); #endif tucnak-4.32/src/cordata.inc0000644000175000017500001714355014016001420012553 00000000000000/* Automatically generated by cor2inc.pl */ const struct cpoint cor_tucnakcor[COR_ITEMS] = { {2313,3562,128},{2325,3553,0},{2338,3552,0},{2342,3548,0},{2347,3548,0}, {2350,3547,0},{2353,3550,0},{2358,3550,0},{2363,3550,0},{2372,3552,0},{2375,3550,0}, {2378,3552,0},{2378,3548,0},{2382,3548,0},{2395,3548,0},{2398,3553,0},{2398,3555,0}, {2395,3555,0},{2395,3558,0},{2393,3562,0},{2392,3570,0},{2393,3573,0},{2395,3575,0}, {2393,3578,0},{2390,3580,0},{2392,3582,0},{2400,3573,0},{2402,3562,0},{2410,3557,0}, {2415,3550,0},{2412,3552,0},{2412,3550,0},{2428,3538,0},{2440,3523,0},{2448,3520,0}, {2452,3513,0},{2458,3517,0},{2462,3512,0},{2475,3507,0},{2482,3500,0},{2492,3498,0}, {2495,3495,0},{2500,3493,0},{2513,3485,0},{2535,3473,0},{2538,3470,0},{2548,3467,0}, {2562,3458,0},{2572,3455,0},{2578,3448,0},{2585,3443,0},{2592,3442,0},{2593,3438,0}, {2600,3433,0},{2607,3432,0},{2620,3422,0},{2632,3418,0},{2642,3410,0},{2652,3407,0}, {2662,3402,0},{2665,3393,0},{2673,3393,0},{2675,3395,0},{2683,3395,0},{2685,3397,0}, {2683,3398,0},{2683,3400,0},{2690,3400,0},{2693,3395,0},{2703,3388,0},{2705,3392,0}, {2708,3388,0},{2712,3383,0},{2717,3382,0},{2720,3383,0},{2725,3383,0},{2730,3373,0}, {2732,3370,0},{2743,3367,0},{2747,3363,0},{2748,3363,0},{2753,3355,0},{2758,3355,0}, {2765,3350,0},{2768,3353,0},{2765,3355,0},{2767,3355,0},{2767,3357,0},{2765,3360,0}, {2770,3353,0},{2775,3357,0},{2775,3352,0},{2780,3347,0},{2783,3347,0},{2782,3355,0}, {2778,3357,0},{2780,3358,0},{2778,3358,0},{2785,3358,0},{2798,3348,0},{2803,3342,0}, {2803,3337,0},{2805,3337,0},{2805,3333,0},{2808,3333,0},{2813,3328,0},{2815,3325,0}, {2817,3323,0},{2818,3322,0},{2827,3315,0},{2828,3312,0},{2835,3310,0},{2840,3305,0}, {2848,3300,0},{2850,3297,0},{2855,3293,0},{2857,3287,0},{2873,3283,0},{2877,3280,0}, {2880,3278,0},{2880,3275,0},{2887,3268,0},{2893,3267,0},{2898,3262,0},{2905,3262,0}, {2905,3265,0},{2907,3263,0},{2910,3267,0},{2933,3260,0},{2938,3257,0},{2948,3245,0}, {2953,3237,0},{2960,3233,0},{2963,3237,0},{2968,3237,0},{2977,3242,0},{2987,3252,0}, {2987,3248,0},{2990,3247,0},{2993,3247,0},{2997,3253,0},{2995,3255,0},{2993,3257,0}, {2998,3255,0},{3000,3258,0},{2998,3258,0},{2997,3257,0},{2993,3258,0},{2993,3257,0}, {2987,3263,0},{2982,3260,0},{2973,3270,0},{2960,3268,0},{2958,3272,0},{2948,3273,0}, {2945,3272,0},{2948,3273,0},{2945,3273,0},{2940,3282,0},{2932,3283,0},{2930,3287,0}, {2923,3288,0},{2920,3295,0},{2908,3307,0},{2905,3310,0},{2900,3317,0},{2895,3317,0}, {2892,3318,0},{2885,3317,0},{2882,3317,0},{2877,3322,0},{2867,3320,0},{2855,3323,0}, {2855,3325,0},{2858,3323,0},{2858,3325,0},{2855,3327,0},{2853,3327,0},{2855,3327,0}, {2850,3328,0},{2847,3335,0},{2837,3343,0},{2830,3357,0},{2823,3362,0},{2818,3363,0}, {2817,3365,0},{2817,3367,0},{2808,3372,0},{2803,3377,0},{2802,3377,0},{2802,3380,0}, {2793,3388,0},{2793,3392,0},{2790,3395,0},{2788,3398,0},{2782,3405,0},{2780,3408,0}, {2778,3418,0},{2773,3425,0},{2777,3425,0},{2777,3422,0},{2778,3422,0},{2778,3427,0}, {2785,3428,0},{2785,3432,0},{2792,3433,0},{2792,3437,0},{2793,3437,0},{2797,3443,0}, {2800,3445,0},{2808,3443,0},{2817,3445,0},{2823,3442,0},{2832,3440,0},{2837,3445,0}, {2843,3445,0},{2848,3448,0},{2848,3452,0},{2855,3452,0},{2873,3463,0},{2883,3462,0}, {2887,3465,0},{2895,3463,0},{2898,3468,0},{2905,3467,0},{2917,3470,0},{2917,3472,0}, {2920,3473,0},{2930,3473,0},{2933,3478,0},{2947,3485,0},{2950,3492,0},{2955,3497,0}, {3133,3422,128},{3125,3410,0},{3120,3398,0},{3113,3372,0},{3112,3360,0}, {3113,3348,0},{3115,3342,0},{3113,3342,0},{3113,3338,0},{3112,3338,0},{3110,3328,0}, {3110,3332,0},{3110,3330,0},{3108,3330,0},{3108,3328,0},{3108,3327,0},{3110,3327,0}, {3107,3320,0},{3105,3322,0},{3105,3313,0},{3108,3315,0},{3110,3312,0},{3112,3317,0}, {3118,3310,0},{3118,3313,0},{3115,3303,0},{3112,3302,0},{3110,3295,0},{3110,3302,0}, {3113,3307,0},{3112,3307,0},{3110,3305,0},{3108,3302,0},{3107,3302,0},{3105,3302,0}, {3107,3297,0},{3108,3297,0},{3107,3298,0},{3108,3298,0},{3112,3293,0},{3110,3292,0}, {3108,3293,0},{3108,3292,0},{3108,3290,0},{3108,3293,0},{3110,3290,0},{3108,3283,0}, {3105,3278,0},{3103,3272,0},{3103,3270,0},{3105,3272,0},{3105,3267,0},{3107,3277,0}, {3115,3293,0},{3107,3275,0},{3105,3262,0},{3107,3255,0},{3115,3247,0},{3122,3240,0}, {3125,3233,0},{3127,3233,0},{3125,3230,0},{3120,3230,0},{3125,3230,0},{3127,3232,0}, {3128,3222,0},{3127,3228,0},{3125,3227,0},{3122,3230,0},{3117,3228,0},{3117,3227,0}, {3113,3228,0},{3112,3228,0},{3110,3222,0},{3112,3220,0},{3112,3218,0},{3110,3218,0}, {3110,3213,0},{3107,3215,0},{3110,3210,0},{3107,3210,0},{3105,3213,0},{3105,3210,0}, {3108,3208,0},{3108,3205,0},{3110,3207,0},{3113,3205,0},{3112,3202,0},{3115,3203,0}, {3122,3203,0},{3122,3200,0},{3123,3200,0},{3122,3197,0},{3118,3193,0},{3120,3193,0}, {3122,3190,0},{3125,3190,0},{3122,3188,0},{3128,3180,0},{3127,3178,0},{3130,3177,0}, {3130,3180,0},{3132,3178,0},{3133,3180,0},{3133,3178,0},{3135,3180,0},{3135,3185,0}, {3137,3183,0},{3138,3183,0},{3140,3183,0},{3142,3188,0},{3142,3185,0},{3143,3185,0}, {3143,3183,0},{3145,3183,0},{3147,3183,0},{3145,3183,0},{3145,3185,0},{3142,3188,0}, {3145,3188,0},{3150,3187,0},{3150,3185,0},{3152,3185,0},{3153,3188,0},{3152,3193,0}, {3142,3200,0},{3143,3197,0},{3138,3200,0},{3140,3200,0},{3132,3215,0},{3128,3220,0}, {3138,3203,0},{3147,3197,0},{3150,3195,0},{3153,3190,0},{3153,3185,0},{3148,3175,0}, {3145,3160,0},{3145,3152,0},{3153,3135,0},{3158,3118,0},{3160,3112,0},{3160,3103,0}, {3158,3098,0},{3157,3107,0},{3155,3112,0},{3152,3113,0},{3152,3112,0},{3150,3113,0}, {3148,3110,0},{3152,3108,0},{3152,3102,0},{3143,3098,0},{3145,3093,0},{3143,3093,0}, {3142,3090,0},{3143,3087,0},{3143,3082,0},{3145,3080,0},{3143,3078,0},{3138,3073,0}, {3142,3068,0},{3140,3065,0},{3138,3058,0},{3140,3055,0},{3142,3057,0},{3143,3065,0}, {3153,3085,0},{3158,3097,0},{3145,3050,0},{3147,3042,0},{3150,3035,0},{3143,3040,0}, {3145,3037,0},{3150,3035,0},{3143,3035,0},{3135,3032,0},{3132,3028,0},{3127,3018,0}, {3127,3025,0},{3128,3027,0},{3127,3030,0},{3123,3028,0},{3127,3028,0},{3122,3022,0}, {3123,3020,0},{3122,3017,0},{3122,3015,0},{3123,3015,0},{3127,3017,0},{3128,3008,0}, {3133,3007,0},{3125,2997,0},{3120,2990,0},{3122,2988,0},{3120,2987,0},{3118,2988,0}, {3113,2982,0},{3113,2978,0},{3110,2975,0},{3093,2948,0},{3087,2933,0},{3082,2912,0}, {3083,2898,0},{3090,2883,0},{3095,2882,0},{3098,2872,0},{3102,2860,0},{3105,2853,0}, {3105,2847,0},{3108,2842,0},{3105,2832,0},{3107,2820,0},{3108,2815,0},{3110,2792,0}, {3120,2787,0},{3123,2787,0},{3125,2785,0},{3122,2780,0},{3117,2765,0},{3118,2763,0}, {3120,2762,0},{3120,2757,0},{3122,2755,0},{3122,2747,0},{3123,2742,0},{3127,2738,0}, {3137,2735,0},{3137,2722,0},{3140,2707,0},{3142,2705,0},{3142,2700,0},{3145,2697,0}, {3143,2690,0},{3145,2682,0},{3148,2673,0},{3152,2637,0},{3160,2608,0},{3162,2592,0}, {3162,2582,0},{3150,2540,0},{3150,2532,0},{3153,2517,0},{3165,2515,0},{3173,2512,0}, {3183,2503,0},{3192,2503,0},{3197,2498,0},{3198,2487,0},{3203,2473,0},{3203,2465,0}, {3200,2462,0},{3198,2455,0},{3200,2430,0},{3200,2410,0},{3202,2407,0},{3205,2402,0}, {3205,2398,0},{3207,2397,0},{3208,2400,0},{3210,2398,0},{3217,2373,0},{3218,2342,0}, {3222,2337,0},{3222,2330,0},{3215,2332,0},{3220,2328,0},{3222,2325,0},{3228,2320,0}, {3233,2308,0},{3243,2310,0},{3240,2313,0},{3243,2313,0},{3247,2315,0},{3252,2310,0}, {3258,2310,0},{3262,2312,0},{3263,2312,0},{3267,2300,0},{3268,2292,0},{3273,2280,0}, {3275,2265,0},{3278,2258,0},{3278,2253,0},{3288,2235,0},{3288,2222,0},{3295,2215,0}, {3293,2212,0},{3292,2208,0},{3290,2188,0},{3292,2178,0},{3295,2172,0},{3293,2162,0}, {3282,2148,0},{3278,2138,0},{3277,2128,0},{3277,2107,0},{3273,2095,0},{3265,2082,0}, {3257,2057,0},{3243,2038,0},{3240,2032,0},{3217,2007,0},{3197,1995,0},{3173,1992,0}, {3152,1997,0},{3137,2003,0},{3132,2010,0},{3122,2015,0},{3108,2015,0},{3098,2013,0}, {3082,2003,0},{3052,1977,0},{3042,1962,0},{3040,1955,0},{3028,1933,0},{3027,1917,0}, {3027,1900,0},{3028,1892,0},{3035,1880,0},{3038,1878,0},{3042,1865,0},{3050,1855,0}, {3067,1830,0},{3078,1820,0},{3083,1802,0},{3085,1792,0},{3092,1785,0},{3093,1777,0}, {3100,1760,0},{3102,1747,0},{3108,1737,0},{3112,1713,0},{3118,1693,0},{3122,1675,0}, {3123,1625,0},{3127,1608,0},{3132,1592,0},{3143,1568,0},{3150,1562,0},{3165,1550,0}, {3197,1535,0},{3208,1535,0},{3217,1537,0},{3222,1532,0},{3233,1527,0},{3240,1518,0}, {3243,1492,0},{3245,1473,0},{3248,1463,0},{3252,1450,0},{3253,1445,0},{3263,1432,0}, {3267,1425,0},{3270,1418,0},{3273,1402,0},{3277,1392,0},{3280,1378,0},{3280,1360,0}, {3290,1335,0},{3292,1327,0},{3292,1317,0},{3288,1312,0},{3285,1300,0},{3280,1282,0}, {3280,1257,0},{3283,1233,0},{3292,1213,0},{3307,1188,0},{3313,1170,0},{3312,1170,0}, {3312,1175,0},{3308,1180,0},{3310,1165,0},{3312,1160,0},{3317,1157,0},{3317,1153,0}, {3320,1143,0},{3327,1133,0},{3320,1143,0},{3318,1142,0},{3318,1135,0},{3322,1123,0}, {3322,1117,0},{3325,1117,0},{3328,1112,0},{3330,1113,0},{3328,1128,0},{3333,1117,0}, {3337,1113,0},{3337,1110,0},{3353,1112,0},{3358,1108,0},{3362,1105,0},{3363,1098,0}, {3362,1097,0},{3362,1090,0},{3358,1093,0},{3355,1092,0},{3347,1075,0},{3348,1070,0}, {3353,1067,0},{3360,1072,0},{3370,1072,0},{3370,1067,0},{3367,1060,0},{3363,1048,0}, {3370,1033,0},{3383,1017,0},{3393,1008,0},{3402,1003,0},{3417,1000,0},{3432,1012,0}, {3438,1027,0},{3442,1028,0},{3440,1033,0},{3450,1043,0},{3453,1057,0},{3463,1063,0}, {3467,1073,0},{3475,1077,0},{3480,1085,0},{3483,1085,0},{3487,1090,0},{3497,1092,0}, {3505,1102,0},{3513,1102,0},{3517,1107,0},{3523,1112,0},{3523,1115,0},{3530,1107,0}, {3535,1102,0},{3540,1102,0},{3552,1105,0},{3552,1103,0},{3555,1102,0},{3563,1103,0}, {3570,1083,0},{3573,1082,0},{3578,1082,0},{3577,1073,0},{3578,1070,0},{3580,1068,0}, {3585,1062,0},{3592,1058,0},{3597,1052,0},{3600,1052,0},{3605,1047,0},{3612,1045,0}, {3625,1047,0},{3637,1053,0},{3643,1068,0},{3647,1080,0},{3665,1090,0},{3675,1098,0}, {3687,1112,0},{3702,1105,0},{3705,1107,0},{3708,1105,0},{3705,1090,0},{3700,1088,0}, {3688,1072,0},{3688,1060,0},{3685,1057,0},{3678,1053,0},{3672,1042,0},{3675,1032,0}, {3678,1028,0},{3680,1028,0},{3678,1025,0},{3678,1020,0},{3683,1020,0},{3685,1027,0}, {3683,1028,0},{3682,1028,0},{3683,1030,0},{3688,1035,0},{3698,1020,0},{3703,1017,0}, {3707,1017,0},{3710,1020,0},{3710,1023,0},{3712,1023,0},{3713,1022,0},{3715,1013,0}, {3717,1015,0},{3717,1022,0},{3715,1022,0},{3717,1023,0},{3718,1027,0},{3718,1022,0}, {3720,1020,0},{3723,1013,0},{3723,1008,0},{3727,1005,0},{3725,998,0},{3725,992,0}, {3727,988,0},{3722,982,0},{3722,993,0},{3720,993,0},{3715,990,0},{3713,985,0}, {3715,980,0},{3718,978,0},{3723,978,0},{3725,985,0},{3728,987,0},{3733,985,0}, {3733,973,0},{3733,965,0},{3730,958,0},{3730,953,0},{3727,945,0},{3727,942,0}, {3723,933,0},{3723,920,0},{3718,915,0},{3715,905,0},{3703,892,0},{3698,883,0}, {3697,877,0},{3697,870,0},{3693,862,0},{3690,845,0},{3692,835,0},{3692,828,0}, {3695,823,0},{3693,820,0},{3688,805,0},{3685,793,0},{3688,778,0},{3690,777,0}, {3692,778,0},{3693,777,0},{3698,780,0},{3697,777,0},{3695,772,0},{3698,767,0}, {3697,763,0},{3698,758,0},{3705,748,0},{3705,740,0},{3705,738,0},{3708,738,0}, {3707,733,0},{3708,728,0},{3707,727,0},{3708,722,0},{3707,718,0},{3703,725,0}, {3698,725,0},{3692,717,0},{3692,713,0},{3692,707,0},{3688,695,0},{3690,688,0}, {3692,687,0},{3693,685,0},{3695,683,0},{3695,678,0},{3695,675,0},{3695,667,0}, {3697,660,0},{3700,657,0},{3702,658,0},{3705,655,0},{3708,647,0},{3708,637,0}, {3702,627,0},{3698,625,0},{3695,627,0},{3692,623,0},{3683,600,0},{3682,582,0}, {3683,577,0},{3682,572,0},{3678,565,0},{3677,558,0},{3670,553,0},{3665,542,0}, {3663,533,0},{3665,525,0},{3667,517,0},{3672,508,0},{3677,510,0},{3690,478,0}, {3688,455,0},{3690,448,0},{3692,443,0},{3690,438,0},{3690,427,0},{3688,420,0}, {3690,415,0},{3688,410,0},{3690,393,0},{3692,388,0},{3688,375,0},{3682,363,0}, {3677,348,0},{3678,330,0},{3682,325,0},{3680,322,0},{3678,323,0},{3675,322,0}, {3673,313,0},{3675,308,0},{3680,303,0},{3680,293,0},{3680,290,0},{3675,285,0}, {3672,283,0},{3668,278,0},{3660,263,0},{3658,257,0},{3660,242,0},{3662,240,0}, {3663,233,0},{3657,203,0},{3657,183,0},{3653,157,0},{3653,153,0},{3652,148,0}, {3655,135,0},{3650,127,0},{3650,117,0},{3648,115,0},{3648,105,0},{3645,95,0}, {3640,92,0},{3638,87,0},{3633,75,0},{3633,65,0},{3622,45,0},{3620,35,0}, {3613,30,0},{3612,22,0},{3605,13,0},{3588,5,0},{3583,0,0},{3578,-12,0}, {3580,-23,0},{3583,-30,0},{3587,-30,0},{3590,-35,0},{3590,-37,0},{3588,-43,0}, {3588,-48,0},{3583,-48,0},{3577,-53,0},{3577,-57,0},{3572,-62,0},{3572,-65,0}, {3572,-70,0},{3575,-72,0},{3575,-78,0},{3577,-80,0},{3577,-82,0},{3573,-85,0}, {3572,-90,0},{3572,-93,0},{3570,-98,0},{3568,-103,0},{3563,-107,0},{3557,-115,0}, {3557,-118,0},{3538,-127,0},{3532,-137,0},{3530,-147,0},{3523,-160,0},{3518,-165,0}, {3517,-170,0},{3512,-178,0},{3507,-197,0},{3508,-200,0},{3507,-207,0},{3510,-215,0}, {3508,-218,0},{3510,-220,0},{3508,-222,0},{3510,-225,0},{3515,-242,0},{3510,-248,0}, {3510,-255,0},{3510,-263,0},{3513,-275,0},{3525,-288,0},{3523,-288,0},{3517,-282,0}, {3512,-275,0},{3513,-287,0},{3518,-292,0},{3525,-292,0},{3527,-290,0},{3537,-297,0}, {3543,-295,0},{3543,-297,0},{3528,-307,0},{3528,-310,0},{3528,-312,0},{3523,-318,0}, {3518,-333,0},{3523,-358,0},{3528,-367,0},{3527,-375,0},{3522,-377,0},{3520,-382,0}, {3522,-390,0},{3527,-392,0},{3523,-398,0},{3525,-402,0},{3520,-413,0},{3518,-427,0}, {3515,-435,0},{3522,-470,0},{3532,-492,0},{3540,-500,0},{3542,-507,0},{3553,-517,0}, {3558,-525,0},{3568,-527,0},{3570,-532,0},{3583,-535,0},{3587,-533,0},{3590,-528,0}, {3592,-542,0},{3590,-548,0},{3585,-553,0},{3582,-560,0},{3583,-562,0},{3582,-572,0}, {3578,-577,0},{3580,-588,0},{3578,-592,0},{3548,-603,0},{3538,-608,0},{3502,-623,0}, {3483,-632,128},{3443,-655,0},{3430,-665,0},{3405,-680,0},{3393,-693,0}, {3387,-703,0},{3380,-722,0},{3372,-735,0},{3372,-740,0},{3363,-753,0},{3360,-760,0}, {3362,-767,0},{3355,-775,0},{3353,-785,0},{3350,-792,0},{3343,-810,0},{3338,-830,0}, {3328,-840,0},{3327,-845,0},{3327,-852,0},{3318,-862,0},{3312,-863,0},{3287,-888,0}, {3277,-902,0},{3265,-915,0},{3255,-928,0},{3253,-928,0},{3247,-925,0},{3237,-930,0}, {3235,-928,0},{3232,-927,0},{3218,-928,0},{3212,-933,0},{3203,-937,0},{3193,-947,0}, {3170,-968,0},{3163,-968,0},{3152,-977,0},{3148,-978,0},{3140,-985,0},{3138,-982,0}, {3132,-980,0},{3112,-985,0},{3107,-982,0},{3088,-982,0},{3085,-983,0},{3082,-982,0}, {3068,-988,0},{3063,-988,0},{3062,-980,0},{3055,-973,0},{3055,-970,0},{3043,-965,0}, {3042,-962,0},{3017,-963,0},{3008,-967,0},{2987,-980,0},{2958,-1007,0}, {2952,-1008,0},{2943,-1013,0},{2940,-1018,0},{2932,-1023,0},{2923,-1035,0}, {2910,-1043,0},{2900,-1057,0},{2873,-1108,0},{2868,-1110,0},{2850,-1133,0}, {2835,-1145,0},{2830,-1152,0},{2813,-1198,0},{2808,-1207,0},{2798,-1257,0}, {2798,-1272,0},{2795,-1290,0},{2792,-1297,0},{2777,-1303,0},{2770,-1317,0}, {2767,-1318,0},{2745,-1325,0},{2732,-1330,0},{2718,-1340,0},{2710,-1342,0}, {2690,-1348,0},{2673,-1357,0},{2663,-1372,0},{2645,-1402,0},{2642,-1418,0}, {2637,-1423,0},{2630,-1428,0},{2627,-1442,0},{2617,-1448,0},{2602,-1448,0}, {2593,-1452,0},{2577,-1463,0},{2558,-1468,0},{2552,-1472,0},{2543,-1478,0}, {2532,-1483,0},{2520,-1485,0},{2492,-1483,0},{2478,-1488,0},{2468,-1490,0}, {2463,-1498,0},{2453,-1503,0},{2448,-1518,0},{2443,-1523,0},{2433,-1530,0}, {2422,-1545,0},{2418,-1547,0},{2415,-1552,0},{2402,-1562,0},{2397,-1575,0}, {2388,-1585,0},{2382,-1592,0},{2370,-1597,0},{2367,-1600,0},{2365,-1600,0}, {2368,-1595,0},{2380,-1588,0},{2383,-1585,0},{2385,-1580,0},{2392,-1578,0}, {2387,-1577,0},{2378,-1577,0},{2373,-1582,0},{2368,-1583,0},{2363,-1588,0}, {2358,-1592,0},{2352,-1597,0},{2342,-1600,0},{2332,-1608,0},{2318,-1613,0}, {2312,-1620,0},{2308,-1622,0},{2307,-1622,0},{2308,-1618,0},{2307,-1615,0}, {2300,-1615,0},{2293,-1620,0},{2290,-1625,0},{2290,-1628,0},{2288,-1630,0}, {2287,-1632,0},{2285,-1628,0},{2277,-1633,0},{2257,-1635,0},{2252,-1643,0}, {2233,-1648,0},{2227,-1662,0},{2230,-1667,0},{2227,-1672,0},{2222,-1673,0}, {2222,-1675,0},{2208,-1685,0},{2202,-1687,0},{2195,-1692,0},{2182,-1697,0}, {2177,-1697,0},{2173,-1695,0},{2167,-1697,0},{2157,-1697,0},{2143,-1702,0}, {2133,-1703,0},{2127,-1703,0},{2120,-1705,0},{2117,-1703,0},{2110,-1707,0}, {2098,-1707,0},{2095,-1710,0},{2090,-1708,0},{2085,-1710,0},{2077,-1705,0}, {2085,-1702,0},{2090,-1705,0},{2092,-1700,0},{2097,-1700,0},{2102,-1700,0}, {2102,-1702,0},{2105,-1702,0},{2107,-1697,0},{2117,-1693,0},{2115,-1690,0}, {2093,-1680,0},{2093,-1678,0},{2077,-1670,0},{2073,-1667,0},{2070,-1665,0}, {2068,-1668,0},{2065,-1663,0},{2057,-1655,0},{2058,-1653,0},{2073,-1653,0}, {2072,-1650,0},{2067,-1648,0},{2067,-1642,0},{2065,-1647,0},{2063,-1645,0}, {2065,-1643,0},{2058,-1642,0},{2058,-1640,0},{2043,-1633,0},{2042,-1635,0}, {2037,-1632,0},{2035,-1630,0},{2033,-1628,0},{2030,-1627,0},{2028,-1623,0}, {2022,-1620,0},{2015,-1623,0},{2013,-1627,0},{2007,-1622,0},{2000,-1622,0}, {1988,-1632,0},{1987,-1630,0},{1990,-1628,0},{1988,-1625,0},{1985,-1627,0}, {1987,-1623,0},{1985,-1623,0},{1983,-1625,0},{1978,-1623,0},{1975,-1627,0}, {1973,-1627,0},{1963,-1633,0},{1953,-1642,0},{1950,-1643,0},{1945,-1647,0}, {1940,-1647,0},{1942,-1643,0},{1947,-1643,0},{1953,-1637,0},{1953,-1635,0}, {1947,-1638,0},{1953,-1632,0},{1952,-1628,0},{1947,-1632,0},{1940,-1638,0}, {1937,-1645,0},{1938,-1652,0},{1938,-1653,0},{1925,-1647,0},{1920,-1635,0}, {1913,-1628,0},{1892,-1618,0},{1867,-1613,0},{1842,-1605,0},{1837,-1607,0}, {1808,-1603,0},{1773,-1603,0},{1737,-1613,0},{1707,-1625,0},{1697,-1633,0}, {1662,-1647,0},{1648,-1647,0},{1630,-1653,0},{1607,-1653,0},{1590,-1653,0}, {1582,-1655,0},{1577,-1653,0},{1555,-1667,0},{1540,-1678,0},{1522,-1688,0}, {1490,-1717,0},{1480,-1738,0},{1475,-1753,0},{1465,-1745,0},{1467,-1743,0}, {1468,-1743,0},{1470,-1742,0},{1472,-1743,0},{1475,-1738,0},{1468,-1723,0}, {1465,-1718,0},{1445,-1707,0},{1442,-1698,0},{1438,-1695,0},{1430,-1695,0}, {1425,-1690,0},{1417,-1687,0},{1413,-1682,0},{1402,-1678,0},{1395,-1678,0}, {1383,-1678,0},{1385,-1677,0},{1397,-1677,0},{1400,-1673,0},{1402,-1673,0}, {1403,-1672,0},{1407,-1672,0},{1407,-1668,0},{1410,-1667,0},{1407,-1667,0}, {1405,-1670,0},{1403,-1670,0},{1402,-1672,0},{1400,-1667,0},{1400,-1663,0}, {1405,-1660,0},{1407,-1657,0},{1415,-1652,0},{1415,-1647,0},{1418,-1648,0}, {1420,-1645,0},{1417,-1645,0},{1415,-1642,0},{1417,-1637,0},{1415,-1640,0}, {1415,-1643,0},{1413,-1645,0},{1412,-1650,0},{1407,-1655,0},{1403,-1658,0}, {1403,-1657,0},{1403,-1655,0},{1402,-1657,0},{1398,-1657,0},{1400,-1660,0}, {1398,-1662,0},{1395,-1663,0},{1398,-1663,0},{1400,-1668,0},{1398,-1672,0}, {1395,-1675,0},{1387,-1673,0},{1385,-1675,0},{1377,-1670,0},{1380,-1667,0}, {1383,-1665,0},{1387,-1655,0},{1400,-1648,0},{1395,-1648,0},{1388,-1652,0}, {1387,-1650,0},{1383,-1650,0},{1380,-1648,0},{1382,-1652,0},{1385,-1652,0}, {1383,-1655,0},{1382,-1655,0},{1383,-1657,0},{1375,-1663,0},{1370,-1665,0}, {1365,-1660,0},{1368,-1655,0},{1375,-1652,0},{1373,-1650,0},{1370,-1652,0}, {1368,-1652,0},{1365,-1657,0},{1363,-1658,0},{1358,-1657,0},{1353,-1655,0}, {1348,-1657,0},{1342,-1650,0},{1335,-1652,0},{1335,-1647,0},{1333,-1640,0}, {1333,-1632,0},{1337,-1632,0},{1337,-1630,0},{1338,-1632,0},{1338,-1630,0}, {1340,-1628,0},{1335,-1628,0},{1335,-1627,0},{1342,-1623,0},{1345,-1615,0}, {1343,-1608,0},{1347,-1587,0},{1345,-1578,0},{1350,-1567,0},{1348,-1562,0}, {1353,-1555,0},{1350,-1550,0},{1350,-1547,0},{1345,-1537,0},{1345,-1532,0}, {1348,-1530,0},{1345,-1530,0},{1343,-1532,0},{1343,-1535,0},{1345,-1542,0}, {1350,-1547,0},{1350,-1552,0},{1350,-1555,0},{1345,-1562,0},{1347,-1567,0}, {1343,-1577,0},{1343,-1587,0},{1342,-1590,0},{1340,-1605,0},{1342,-1617,0}, {1340,-1618,0},{1337,-1622,0},{1335,-1622,0},{1330,-1620,0},{1327,-1620,0}, {1328,-1615,0},{1327,-1617,0},{1325,-1622,0},{1327,-1622,0},{1330,-1623,0}, {1332,-1625,0},{1325,-1637,0},{1328,-1638,0},{1327,-1643,0},{1327,-1642,0}, {1322,-1638,0},{1320,-1642,0},{1325,-1642,0},{1327,-1647,0},{1328,-1647,0}, {1328,-1655,0},{1333,-1658,0},{1343,-1662,0},{1343,-1658,0},{1347,-1658,0}, {1348,-1663,0},{1347,-1667,0},{1348,-1668,0},{1345,-1673,0},{1342,-1675,0}, {1337,-1682,0},{1335,-1682,0},{1333,-1683,0},{1327,-1682,0},{1323,-1680,0}, {1317,-1680,0},{1312,-1677,0},{1307,-1678,0},{1307,-1675,0},{1303,-1675,0}, {1305,-1675,128},{1288,-1677,0},{1282,-1680,0},{1278,-1680,0},{1282,-1678,0}, {1278,-1677,0},{1275,-1678,0},{1272,-1680,0},{1272,-1677,0},{1275,-1673,0}, {1273,-1670,0},{1272,-1675,0},{1268,-1678,0},{1258,-1678,0},{1257,-1675,0}, {1263,-1665,0},{1272,-1665,0},{1273,-1662,0},{1278,-1660,0},{1273,-1660,0}, {1270,-1663,0},{1267,-1663,0},{1267,-1660,0},{1268,-1657,0},{1267,-1657,0}, {1265,-1655,0},{1262,-1652,0},{1267,-1650,0},{1270,-1650,0},{1267,-1648,0}, {1267,-1647,0},{1265,-1648,0},{1263,-1648,0},{1258,-1642,0},{1257,-1638,0}, {1257,-1637,0},{1260,-1635,0},{1262,-1632,0},{1260,-1628,0},{1262,-1623,0}, {1262,-1615,0},{1263,-1613,0},{1263,-1607,0},{1267,-1605,0},{1268,-1605,0}, {1273,-1602,0},{1268,-1602,0},{1260,-1592,0},{1262,-1585,0},{1258,-1583,0}, {1260,-1582,0},{1262,-1580,0},{1262,-1577,0},{1260,-1573,0},{1262,-1570,0}, {1260,-1567,0},{1257,-1567,0},{1255,-1565,0},{1257,-1563,0},{1265,-1553,0}, {1273,-1557,0},{1280,-1553,0},{1282,-1552,0},{1280,-1552,0},{1280,-1550,0}, {1283,-1545,0},{1282,-1542,0},{1283,-1538,0},{1280,-1540,0},{1282,-1545,0}, {1278,-1547,0},{1278,-1553,0},{1272,-1553,0},{1263,-1550,0},{1260,-1555,0}, {1257,-1557,0},{1253,-1563,0},{1253,-1568,0},{1258,-1568,0},{1258,-1573,0}, {1258,-1578,0},{1255,-1582,0},{1255,-1583,0},{1258,-1587,0},{1258,-1593,0}, {1263,-1602,0},{1258,-1620,0},{1260,-1622,0},{1258,-1625,0},{1260,-1630,0}, {1255,-1637,0},{1260,-1650,0},{1258,-1653,0},{1255,-1653,0},{1257,-1655,0}, {1262,-1655,0},{1263,-1658,0},{1255,-1668,0},{1255,-1670,0},{1253,-1675,0}, {1248,-1680,0},{1243,-1680,0},{1237,-1675,0},{1232,-1672,0},{1233,-1668,0}, {1232,-1665,0},{1227,-1660,0},{1227,-1655,0},{1222,-1650,0},{1218,-1650,0}, {1217,-1645,0},{1218,-1642,0},{1220,-1640,0},{1218,-1637,0},{1220,-1633,0}, {1223,-1633,0},{1228,-1632,0},{1225,-1632,0},{1223,-1633,0},{1222,-1632,0}, {1228,-1622,0},{1230,-1615,0},{1233,-1612,0},{1235,-1607,0},{1233,-1612,0}, {1228,-1613,0},{1228,-1618,0},{1222,-1627,0},{1217,-1627,0},{1217,-1628,0}, {1220,-1628,0},{1217,-1633,0},{1210,-1637,0},{1200,-1633,0},{1198,-1628,0}, {1193,-1625,0},{1190,-1620,0},{1190,-1615,0},{1188,-1613,0},{1192,-1608,0}, {1192,-1597,0},{1195,-1593,0},{1198,-1595,0},{1197,-1593,0},{1198,-1593,0}, {1200,-1587,0},{1203,-1587,0},{1202,-1583,0},{1202,-1578,0},{1198,-1575,0}, {1202,-1570,0},{1197,-1573,0},{1200,-1580,0},{1197,-1587,0},{1188,-1593,0}, {1178,-1597,0},{1173,-1597,0},{1177,-1590,0},{1180,-1590,0},{1182,-1588,0}, {1182,-1587,0},{1177,-1588,0},{1177,-1585,0},{1188,-1580,0},{1187,-1573,0}, {1187,-1578,0},{1187,-1580,0},{1175,-1582,0},{1178,-1575,0},{1180,-1565,0}, {1183,-1560,0},{1193,-1550,0},{1193,-1545,0},{1197,-1543,0},{1197,-1535,0}, {1192,-1532,0},{1190,-1520,0},{1192,-1517,0},{1197,-1513,0},{1198,-1508,0}, {1197,-1500,0},{1195,-1498,0},{1195,-1503,0},{1183,-1507,0},{1182,-1505,0}, {1180,-1500,0},{1175,-1495,0},{1177,-1492,0},{1175,-1493,0},{1175,-1498,0}, {1178,-1502,0},{1180,-1507,0},{1185,-1508,0},{1192,-1507,0},{1193,-1507,0}, {1190,-1513,0},{1187,-1520,0},{1187,-1532,0},{1188,-1538,0},{1188,-1542,0}, {1187,-1543,0},{1188,-1543,0},{1187,-1547,0},{1183,-1545,0},{1178,-1553,0}, {1172,-1555,0},{1168,-1555,0},{1167,-1553,0},{1168,-1552,0},{1170,-1552,0}, {1170,-1548,0},{1165,-1548,0},{1165,-1545,0},{1168,-1542,0},{1167,-1542,0}, {1160,-1547,0},{1155,-1545,0},{1157,-1543,0},{1160,-1542,0},{1158,-1540,0}, {1158,-1538,0},{1160,-1538,0},{1158,-1537,0},{1163,-1540,0},{1165,-1538,0}, {1160,-1535,0},{1165,-1535,0},{1167,-1533,0},{1168,-1535,0},{1168,-1533,0}, {1163,-1532,0},{1167,-1532,0},{1165,-1530,0},{1167,-1528,0},{1168,-1532,0}, {1170,-1532,0},{1170,-1528,0},{1175,-1527,0},{1170,-1527,0},{1168,-1527,0}, {1167,-1527,0},{1170,-1525,0},{1173,-1525,0},{1173,-1523,0},{1175,-1522,0}, {1175,-1520,0},{1172,-1518,0},{1172,-1522,0},{1170,-1522,0},{1168,-1520,0}, {1168,-1523,0},{1165,-1523,0},{1168,-1522,0},{1165,-1520,0},{1167,-1518,0}, {1170,-1517,0},{1170,-1513,0},{1168,-1513,0},{1167,-1517,0},{1165,-1517,0}, {1165,-1513,0},{1168,-1512,0},{1165,-1512,0},{1163,-1512,0},{1163,-1510,0}, {1162,-1510,0},{1165,-1507,0},{1162,-1507,0},{1160,-1508,0},{1158,-1507,0}, {1160,-1503,0},{1162,-1502,0},{1158,-1502,0},{1157,-1503,0},{1157,-1510,0}, {1153,-1512,0},{1157,-1513,0},{1158,-1515,0},{1158,-1510,0},{1162,-1512,0}, {1162,-1513,0},{1160,-1512,0},{1160,-1513,0},{1162,-1515,0},{1163,-1518,0}, {1162,-1522,0},{1160,-1520,0},{1157,-1520,0},{1158,-1523,0},{1162,-1523,0}, {1162,-1528,0},{1157,-1525,0},{1157,-1527,0},{1160,-1530,0},{1158,-1533,0}, {1157,-1533,0},{1157,-1528,0},{1153,-1530,0},{1153,-1532,0},{1155,-1532,0}, {1157,-1535,0},{1152,-1535,0},{1153,-1537,0},{1153,-1540,0},{1150,-1540,0}, {1148,-1540,0},{1150,-1542,0},{1148,-1543,0},{1150,-1543,0},{1148,-1547,0}, {1145,-1547,0},{1145,-1545,0},{1143,-1548,0},{1133,-1550,128},{1135,-1545,0}, {1147,-1535,0},{1145,-1533,0},{1143,-1535,0},{1138,-1535,0},{1138,-1533,0}, {1143,-1527,0},{1140,-1528,0},{1137,-1533,0},{1137,-1538,0},{1130,-1543,0}, {1127,-1540,0},{1118,-1540,0},{1117,-1537,0},{1113,-1535,0},{1112,-1525,0}, {1113,-1522,0},{1122,-1523,0},{1123,-1523,0},{1123,-1520,0},{1122,-1522,0}, {1117,-1520,0},{1108,-1522,0},{1103,-1527,0},{1100,-1523,0},{1100,-1520,0}, {1107,-1517,0},{1110,-1513,0},{1112,-1512,0},{1113,-1510,0},{1113,-1508,0}, {1117,-1508,0},{1117,-1505,0},{1123,-1502,0},{1118,-1500,0},{1117,-1502,0}, {1113,-1500,0},{1113,-1503,0},{1112,-1503,0},{1110,-1507,0},{1107,-1508,0}, {1107,-1510,0},{1097,-1512,0},{1097,-1508,0},{1097,-1507,0},{1100,-1505,0}, {1098,-1505,0},{1095,-1507,0},{1095,-1510,0},{1092,-1508,0},{1093,-1505,0}, {1097,-1502,0},{1095,-1502,0},{1092,-1503,0},{1090,-1507,0},{1085,-1508,0}, {1078,-1503,0},{1077,-1498,0},{1077,-1495,0},{1080,-1495,0},{1083,-1498,0}, {1083,-1497,0},{1087,-1498,0},{1087,-1495,0},{1092,-1490,0},{1093,-1492,0}, {1098,-1495,0},{1097,-1492,0},{1097,-1490,0},{1100,-1490,0},{1103,-1492,0}, {1103,-1488,0},{1097,-1488,0},{1097,-1487,0},{1102,-1480,0},{1100,-1480,0}, {1098,-1480,0},{1098,-1475,0},{1100,-1473,0},{1102,-1473,0},{1103,-1470,0}, {1105,-1468,0},{1103,-1467,0},{1100,-1472,0},{1097,-1473,0},{1093,-1482,0}, {1090,-1482,0},{1090,-1480,0},{1088,-1482,0},{1083,-1482,0},{1083,-1477,0}, {1087,-1473,0},{1083,-1473,0},{1078,-1477,0},{1075,-1480,0},{1070,-1475,0}, {1077,-1472,0},{1078,-1468,0},{1082,-1467,0},{1082,-1463,0},{1075,-1470,0}, {1070,-1472,0},{1068,-1468,0},{1067,-1470,0},{1063,-1470,0},{1068,-1463,0}, {1080,-1458,0},{1085,-1452,0},{1088,-1453,0},{1088,-1450,0},{1083,-1450,0}, {1077,-1457,0},{1073,-1457,0},{1070,-1460,0},{1070,-1462,0},{1062,-1463,0}, {1060,-1460,0},{1057,-1463,0},{1057,-1465,0},{1048,-1467,0},{1048,-1457,0}, {1050,-1453,0},{1047,-1455,0},{1042,-1455,0},{1035,-1450,0},{1033,-1447,0}, {1030,-1445,0},{1025,-1447,0},{1020,-1445,0},{1023,-1443,0},{1023,-1438,0}, {1020,-1433,0},{1015,-1427,0},{1018,-1425,0},{1015,-1425,0},{1010,-1422,0}, {1012,-1418,0},{1015,-1418,0},{1017,-1415,0},{1018,-1413,0},{1017,-1413,0}, {1015,-1413,0},{1013,-1417,0},{1010,-1418,0},{1008,-1418,0},{1005,-1413,0}, {1007,-1408,0},{1013,-1408,0},{1020,-1400,0},{1012,-1407,0},{1010,-1405,0}, {1012,-1402,0},{1008,-1400,0},{1010,-1402,0},{1008,-1405,0},{1003,-1407,0}, {1000,-1403,0},{1000,-1402,0},{997,-1398,0},{997,-1395,0},{995,-1393,0}, {985,-1383,0},{985,-1378,0},{985,-1377,0},{987,-1373,0},{992,-1370,0},{995,-1368,0}, {990,-1368,0},{983,-1373,0},{978,-1375,0},{977,-1375,0},{973,-1370,0},{977,-1365,0}, {980,-1365,0},{983,-1367,0},{985,-1365,0},{980,-1362,0},{978,-1362,0},{978,-1357,0}, {973,-1362,0},{963,-1363,0},{957,-1367,0},{950,-1372,0},{957,-1358,0},{953,-1358,0}, {950,-1353,0},{957,-1348,0},{950,-1352,0},{947,-1352,0},{942,-1350,0},{942,-1342,0}, {943,-1340,0},{937,-1343,0},{932,-1340,0},{928,-1342,0},{928,-1340,0},{928,-1337,0}, {933,-1335,0},{935,-1330,0},{932,-1330,0},{932,-1332,0},{932,-1333,0},{927,-1332,0}, {925,-1330,0},{920,-1330,0},{918,-1332,0},{917,-1328,0},{918,-1328,0},{923,-1327,0}, {927,-1323,0},{918,-1325,0},{918,-1315,0},{917,-1318,0},{917,-1322,0},{913,-1327,0}, {908,-1330,0},{907,-1333,0},{903,-1330,0},{895,-1328,0},{897,-1323,0},{892,-1320,0}, {893,-1308,0},{893,-1307,0},{892,-1312,0},{888,-1317,0},{887,-1313,0},{887,-1302,0}, {885,-1298,0},{883,-1317,0},{887,-1320,0},{885,-1322,0},{882,-1323,0},{867,-1323,0}, {852,-1315,0},{852,-1313,0},{857,-1313,0},{858,-1310,0},{860,-1310,0},{862,-1313,0}, {863,-1313,0},{865,-1317,0},{867,-1315,0},{865,-1315,0},{862,-1308,0},{862,-1307,0}, {867,-1305,0},{865,-1303,0},{862,-1305,0},{860,-1308,0},{858,-1305,0},{860,-1302,0}, {860,-1293,0},{868,-1288,0},{858,-1292,0},{858,-1293,0},{857,-1287,0},{855,-1290,0}, {855,-1302,0},{852,-1303,0},{852,-1305,0},{850,-1305,0},{848,-1310,0},{845,-1313,0}, {843,-1313,0},{842,-1310,0},{842,-1305,0},{840,-1307,0},{838,-1303,0},{837,-1305,0}, {837,-1307,0},{840,-1310,0},{842,-1313,0},{850,-1320,0},{850,-1328,0},{845,-1327,0}, {842,-1328,0},{842,-1327,0},{835,-1322,0},{833,-1320,0},{827,-1317,0},{822,-1315,0}, {817,-1317,0},{823,-1307,0},{823,-1300,0},{825,-1298,0},{818,-1298,0},{817,-1295,0}, {815,-1293,0},{810,-1292,0},{810,-1288,0},{805,-1290,0},{802,-1290,0},{797,-1288,0}, {792,-1282,0},{793,-1288,0},{792,-1292,0},{790,-1297,0},{787,-1292,0},{787,-1290,0}, {782,-1287,0},{780,-1283,0},{780,-1282,0},{782,-1278,0},{782,-1277,0},{780,-1280,0}, {775,-1278,0},{770,-1270,0},{770,-1262,0},{768,-1260,0},{770,-1255,0},{773,-1250,0}, {778,-1248,0},{778,-1247,0},{777,-1245,0},{777,-1247,0},{772,-1247,0},{770,-1252,0}, {765,-1253,0},{762,-1252,0},{763,-1252,0},{765,-1248,0},{762,-1250,0},{755,-1247,0}, {757,-1230,0},{758,-1227,0},{762,-1225,0},{760,-1218,0},{757,-1220,0},{757,-1223,0}, {755,-1223,0},{755,-1227,0},{753,-1230,0},{753,-1233,0},{753,-1243,0},{745,-1250,0}, {743,-1247,0},{743,-1242,0},{738,-1237,0},{742,-1243,0},{740,-1248,0},{738,-1250,0}, {715,-1183,0},{702,-1165,0},{698,-1162,0},{698,-1157,0},{697,-1158,0},{695,-1157,0}, {692,-1148,0},{693,-1150,128},{683,-1138,0},{680,-1137,0},{675,-1138,0}, {670,-1137,0},{660,-1108,0},{650,-1090,0},{643,-1083,0},{638,-1080,0},{640,-1075,0}, {637,-1080,0},{633,-1080,0},{630,-1077,0},{632,-1080,0},{632,-1082,0},{627,-1077,0}, {622,-1065,0},{617,-1045,0},{613,-1038,0},{615,-1038,0},{620,-1047,0},{620,-1043,0}, {617,-1038,0},{613,-1037,0},{613,-1033,0},{612,-1033,0},{612,-1037,0},{610,-1037,0}, {607,-1025,0},{598,-1017,0},{592,-1007,0},{590,-1005,0},{585,-1005,0},{570,-987,0}, {560,-978,0},{548,-960,0},{545,-958,0},{543,-960,0},{542,-953,0},{538,-950,0}, {530,-945,0},{527,-942,0},{517,-928,0},{515,-928,0},{513,-927,0},{505,-912,0}, {502,-910,0},{500,-902,0},{498,-902,0},{492,-885,0},{485,-878,0},{475,-853,0}, {467,-843,0},{463,-833,0},{457,-825,0},{455,-810,0},{450,-795,0},{445,-783,0}, {442,-782,0},{438,-773,0},{435,-772,0},{435,-763,0},{435,-760,0},{435,-753,0}, {435,-743,0},{445,-730,0},{447,-725,0},{452,-720,0},{452,-713,0},{453,-705,0}, {462,-693,0},{467,-690,0},{468,-673,0},{472,-662,0},{477,-657,0},{478,-645,0}, {482,-640,0},{487,-622,0},{493,-608,0},{495,-607,0},{497,-600,0},{502,-588,0}, {507,-560,0},{508,-555,0},{510,-557,0},{512,-555,0},{508,-552,0},{513,-500,0}, {513,-502,0},{518,-503,0},{518,-505,0},{518,-508,0},{517,-510,0},{520,-518,0}, {520,-523,0},{518,-520,0},{517,-520,0},{517,-518,0},{515,-518,0},{517,-528,0}, {515,-530,0},{515,-533,0},{513,-528,0},{512,-528,0},{512,-537,0},{513,-538,0}, {515,-542,0},{517,-540,0},{513,-535,0},{518,-533,0},{515,-533,0},{517,-530,0}, {520,-530,0},{520,-533,0},{523,-532,0},{520,-525,0},{522,-523,0},{522,-515,0}, {518,-512,0},{522,-503,0},{522,-500,0},{515,-502,0},{515,-497,0},{513,-498,0}, {513,-495,0},{515,-475,0},{518,-463,0},{520,-420,0},{523,-400,0},{527,-407,0}, {527,-403,0},{528,-405,0},{527,-420,0},{525,-422,0},{523,-430,0},{525,-438,0}, {522,-440,0},{522,-445,0},{523,-453,0},{522,-457,0},{520,-457,0},{520,-453,0}, {518,-457,0},{522,-460,0},{520,-467,0},{520,-468,0},{522,-470,0},{520,-473,0}, {517,-475,0},{517,-480,0},{518,-482,0},{522,-480,0},{523,-473,0},{525,-473,0}, {527,-475,0},{527,-470,0},{532,-467,0},{527,-468,0},{525,-467,0},{525,-472,0}, {523,-470,0},{523,-468,0},{525,-463,0},{523,-462,0},{527,-457,0},{530,-457,0}, {527,-455,0},{525,-452,0},{525,-445,0},{527,-445,0},{528,-448,0},{530,-447,0}, {530,-442,0},{527,-442,0},{530,-438,0},{527,-435,0},{532,-432,0},{530,-430,0}, {532,-428,0},{530,-425,0},{528,-425,0},{528,-423,0},{530,-420,0},{528,-418,0}, {530,-413,0},{528,-408,0},{530,-407,0},{527,-398,0},{528,-395,0},{530,-395,0}, {530,-400,0},{532,-402,0},{532,-392,0},{535,-390,0},{532,-390,0},{532,-388,0}, {530,-388,0},{528,-383,0},{530,-382,0},{527,-380,0},{527,-375,0},{528,-373,0}, {537,-382,0},{538,-380,0},{537,-377,0},{535,-375,0},{532,-375,0},{528,-372,0}, {527,-373,0},{525,-378,0},{523,-377,0},{527,-382,0},{527,-385,0},{528,-388,0}, {528,-390,0},{527,-388,0},{525,-390,0},{528,-393,0},{525,-397,0},{525,-400,0}, {523,-398,0},{520,-382,0},{518,-375,0},{523,-373,0},{520,-372,0},{518,-372,0}, {518,-370,0},{512,-332,0},{512,-328,0},{515,-328,0},{515,-330,0},{518,-330,0}, {518,-332,0},{520,-332,0},{520,-330,0},{522,-327,0},{523,-325,0},{525,-328,0}, {528,-328,0},{530,-323,0},{533,-325,0},{535,-323,0},{537,-315,0},{535,-313,0}, {533,-312,0},{530,-317,0},{525,-317,0},{523,-320,0},{520,-320,0},{515,-313,0}, {513,-305,0},{512,-297,0},{513,-293,0},{517,-295,0},{518,-288,0},{518,-287,0}, {517,-285,0},{513,-283,0},{512,-293,0},{510,-293,0},{508,-297,0},{510,-300,0}, {510,-313,0},{512,-315,0},{515,-323,0},{513,-327,0},{512,-327,0},{508,-310,0}, {502,-285,0},{500,-268,0},{497,-258,0},{492,-233,0},{488,-227,0},{485,-223,0}, {480,-217,0},{478,-215,0},{477,-210,0},{475,-210,0},{473,-208,0},{475,-202,0}, {475,-197,0},{482,-190,0},{485,-183,0},{487,-182,0},{487,-175,0},{492,-173,0}, {495,-170,0},{497,-163,0},{498,-162,0},{500,-163,0},{502,-162,0},{503,-148,0}, {507,-143,0},{508,-132,0},{508,-127,0},{512,-118,0},{520,-107,0},{520,-102,0}, {522,-100,0},{520,-98,0},{522,-90,0},{520,-90,0},{520,-80,0},{530,-70,0}, {533,-63,0},{532,-63,0},{535,-58,0},{537,-50,0},{548,-38,0},{558,-7,0}, {562,0,0},{563,3,0},{567,7,0},{572,13,0},{578,32,0},{575,67,0},{577,65,0}, {578,65,0},{582,63,0},{588,65,0},{595,62,0},{598,57,0},{600,53,0},{603,50,0}, {607,43,0},{607,42,0},{602,38,0},{603,32,0},{608,27,0},{608,20,0},{610,22,0}, {610,27,0},{605,32,0},{605,37,0},{608,42,0},{605,52,0},{595,63,0},{588,65,0}, {583,65,0},{577,70,0},{577,68,0},{575,70,0},{577,92,0},{580,97,0},{583,100,0}, {588,100,0},{597,103,0},{603,108,0},{610,120,0},{613,130,0},{622,165,0}, {622,163,128},{627,187,0},{637,273,0},{637,272,128},{638,293,0},{638,310,0}, {640,323,0},{638,338,0},{642,340,0},{642,338,0},{645,337,0},{650,340,0}, {655,340,0},{655,343,0},{660,347,0},{658,348,0},{653,348,0},{652,352,0}, {655,358,0},{655,363,0},{660,372,0},{662,377,0},{662,385,0},{660,385,0}, {658,377,0},{653,375,0},{653,372,0},{650,357,0},{647,357,0},{645,353,0}, {645,347,0},{642,343,0},{643,343,0},{645,343,0},{645,342,0},{645,340,0}, {645,338,0},{642,342,0},{643,380,0},{642,408,0},{637,440,0},{630,453,0}, {625,458,0},{613,475,0},{605,482,0},{597,492,0},{585,502,0},{575,505,0}, {580,510,0},{587,520,0},{587,523,0},{590,527,0},{590,528,0},{585,525,0}, {585,520,0},{582,515,0},{577,515,0},{580,512,0},{577,510,0},{570,508,0}, {560,515,0},{557,518,0},{560,523,0},{562,528,0},{572,533,0},{570,535,0}, {563,532,0},{562,532,0},{560,538,0},{562,540,0},{563,542,0},{565,545,0}, {562,550,0},{558,552,0},{563,543,0},{555,538,0},{558,530,0},{558,522,0}, {555,518,0},{550,520,0},{543,525,0},{538,538,0},{540,543,0},{540,542,0}, {543,542,0},{543,545,0},{540,545,0},{540,548,0},{543,550,0},{548,552,0}, {552,555,0},{552,560,0},{553,563,0},{550,562,0},{550,555,0},{548,553,0}, {540,555,0},{538,558,0},{538,550,0},{533,547,0},{537,545,0},{537,542,0}, {535,533,0},{530,535,0},{515,537,0},{515,543,0},{518,545,0},{515,550,0}, {515,545,0},{508,547,0},{513,543,0},{513,538,0},{512,538,0},{502,543,0}, {490,547,0},{483,552,0},{485,547,0},{475,553,0},{473,557,0},{472,558,0}, {472,557,0},{472,555,0},{463,560,0},{448,573,0},{447,580,0},{445,578,0}, {442,585,0},{443,585,0},{443,587,0},{440,585,0},{438,587,0},{433,597,0}, {435,597,0},{438,595,0},{438,597,0},{438,598,0},{442,598,0},{438,600,0}, {435,600,0},{433,598,0},{432,600,0},{430,603,0},{428,605,0},{432,607,0}, {435,605,0},{442,605,0},{442,608,0},{437,608,0},{437,610,0},{433,608,0}, {428,608,0},{427,610,0},{428,623,0},{430,622,0},{430,620,0},{432,620,0}, {433,622,0},{438,623,0},{443,620,0},{443,623,0},{440,625,0},{443,625,0}, {450,623,0},{445,627,0},{438,627,0},{442,630,0},{443,630,0},{443,633,0}, {437,627,0},{432,625,0},{430,625,0},{432,642,0},{433,640,0},{435,643,0}, {432,647,0},{433,658,0},{437,657,0},{447,658,0},{450,655,0},{447,660,0}, {438,660,0},{433,662,0},{433,670,0},{440,668,0},{442,667,0},{450,665,0}, {453,668,0},{450,668,0},{442,670,0},{452,670,0},{460,673,0},{457,675,0}, {448,672,0},{435,672,0},{433,673,0},{435,687,0},{440,683,0},{453,680,0}, {457,680,0},{460,682,0},{467,677,0},{477,675,0},{478,672,0},{483,672,0}, {482,673,0},{483,675,0},{480,677,0},{480,678,0},{475,677,0},{467,678,0}, {460,685,0},{457,682,0},{455,682,0},{445,685,0},{445,687,0},{438,687,0}, {438,692,0},{437,697,0},{438,697,0},{437,700,0},{438,702,0},{448,698,0}, {458,698,0},{460,695,0},{457,693,0},{458,692,0},{460,693,0},{468,690,0}, {462,695,0},{460,698,0},{468,697,0},{472,697,0},{468,698,0},{472,700,0}, {465,703,0},{458,702,0},{458,700,0},{443,705,0},{443,708,0},{448,705,0}, {450,708,0},{447,708,0},{445,710,0},{447,712,0},{447,717,0},{452,718,0}, {453,718,0},{455,715,0},{457,718,0},{460,717,0},{463,715,0},{467,708,0}, {472,708,0},{472,705,0},{475,707,0},{468,710,0},{465,715,0},{467,718,0}, {462,718,0},{450,728,0},{450,733,0},{453,733,0},{453,730,0},{455,727,0}, {457,727,0},{460,728,0},{460,732,0},{455,742,0},{455,745,0},{457,747,0}, {457,750,0},{460,753,0},{463,752,0},{468,752,0},{470,755,0},{467,753,0}, {463,753,0},{457,755,0},{453,753,0},{453,757,0},{452,767,0},{450,767,0}, {450,775,0},{452,773,0},{453,798,0},{455,803,0},{455,830,0},{460,832,0}, {460,833,0},{463,837,0},{467,832,0},{472,833,0},{475,832,0},{482,827,0}, {485,827,0},{492,825,0},{497,818,0},{498,818,0},{493,823,0},{490,825,0}, {487,832,0},{483,832,0},{483,833,0},{480,835,0},{478,838,0},{480,840,0}, {485,842,0},{482,843,0},{475,840,0},{473,845,0},{475,848,0},{470,848,0}, {470,853,0},{478,853,0},{482,857,0},{482,860,0},{480,858,0},{482,860,128}, {478,858,0},{475,858,0},{473,857,0},{470,858,0},{467,853,0},{463,852,0}, {460,852,0},{460,855,0},{457,853,0},{457,850,0},{453,850,0},{450,853,0}, {453,857,0},{453,858,0},{450,857,0},{448,858,0},{450,862,0},{450,870,0}, {452,872,0},{455,868,0},{458,867,0},{465,867,0},{470,863,0},{473,865,0}, {468,867,0},{467,868,0},{457,873,0},{453,878,0},{457,882,0},{460,880,0}, {457,883,0},{453,887,0},{455,888,0},{457,887,0},{458,887,0},{462,883,0}, {463,883,0},{458,890,0},{452,890,0},{452,892,0},{455,893,0},{453,893,0}, {450,890,0},{443,890,0},{430,892,0},{425,895,0},{422,898,0},{410,897,0}, {405,908,0},{402,912,0},{402,920,0},{397,922,0},{395,925,0},{398,927,0}, {403,930,0},{403,933,0},{402,932,0},{398,930,0},{393,932,0},{390,935,0}, {390,943,0},{392,947,0},{393,945,0},{398,947,0},{400,942,0},{402,942,0}, {400,948,0},{397,950,0},{398,953,0},{402,952,0},{403,948,0},{407,948,0}, {407,945,0},{412,948,0},{412,950,0},{407,950,0},{403,953,0},{403,955,0}, {402,957,0},{402,958,0},{403,963,0},{412,968,0},{412,970,0},{410,970,0}, {412,972,0},{413,975,0},{412,975,0},{407,970,0},{402,967,0},{402,965,0}, {395,962,0},{393,963,0},{395,977,0},{393,977,0},{392,970,0},{390,968,0}, {387,970,0},{387,975,0},{382,975,0},{385,970,0},{383,968,0},{383,967,0}, {387,962,0},{385,960,0},{382,960,0},{377,960,0},{375,965,0},{375,960,0}, {378,958,0},{382,955,0},{365,963,0},{363,963,0},{362,962,0},{360,963,0}, {360,970,0},{363,978,0},{362,982,0},{362,975,0},{357,970,0},{353,965,0}, {348,972,0},{340,982,0},{327,988,0},{327,993,0},{325,990,0},{308,997,0}, {302,995,0},{298,992,0},{295,990,0},{283,987,0},{282,988,0},{275,987,0}, {255,982,0},{235,982,0},{232,977,0},{213,978,0},{210,977,0},{192,982,0}, {185,975,0},{182,975,0},{177,972,0},{167,962,0},{163,962,0},{158,965,0}, {158,970,0},{160,973,0},{157,970,0},{157,965,0},{158,962,0},{157,960,0}, {150,957,0},{138,945,0},{133,945,0},{127,940,0},{118,937,0},{118,935,0}, {115,937,0},{110,940,0},{113,948,0},{112,955,0},{103,958,0},{107,965,0}, {112,968,0},{113,972,0},{110,970,0},{110,978,0},{108,982,0},{108,985,0}, {105,978,0},{100,980,0},{97,980,0},{103,977,0},{105,973,0},{105,967,0}, {102,965,0},{102,962,0},{102,960,0},{98,957,0},{95,957,0},{93,958,0},{85,960,0}, {82,962,0},{78,963,0},{63,962,0},{60,963,0},{55,963,0},{52,960,0},{47,960,0}, {48,958,0},{60,958,0},{57,957,0},{57,955,0},{58,955,0},{60,952,0},{60,947,0}, {62,950,0},{62,957,0},{65,957,0},{67,953,0},{65,945,0},{65,942,0},{63,937,0}, {62,932,0},{53,930,0},{53,935,0},{48,940,0},{28,950,0},{30,952,0},{30,955,0}, {32,957,0},{28,958,0},{22,968,0},{22,972,0},{18,978,0},{18,985,0},{22,993,0}, {18,998,0},{18,1003,0},{17,997,0},{18,992,0},{15,985,0},{12,982,0},{13,980,0}, {13,977,0},{10,977,0},{2,982,0},{3,978,0},{10,975,0},{13,972,0},{13,967,0}, {15,963,0},{13,960,0},{12,958,0},{13,958,0},{17,957,0},{18,950,0},{17,948,0}, {10,950,0},{10,947,0},{13,947,0},{17,947,0},{18,943,0},{20,942,0},{20,938,0}, {18,937,0},{18,935,0},{22,938,0},{25,937,0},{28,938,0},{33,937,0},{37,935,0}, {32,930,0},{18,932,0},{2,935,0},{-3,933,0},{-12,935,0},{-22,930,0},{-35,930,0}, {-52,918,0},{-60,910,0},{-63,908,0},{-65,912,0},{-68,912,0},{-67,910,0}, {-67,908,0},{-68,908,0},{-72,905,0},{-73,905,0},{-78,902,0},{-85,902,0}, {-88,900,0},{-80,900,0},{-75,897,0},{-68,893,0},{-68,890,0},{-70,888,0}, {-73,892,0},{-72,887,0},{-78,885,0},{-80,885,0},{-77,883,0},{-75,880,0}, {-72,880,0},{-63,878,0},{-63,875,0},{-60,875,0},{-62,872,0},{-57,872,0}, {-60,870,0},{-63,872,0},{-72,875,0},{-82,878,0},{-88,883,0},{-93,883,0}, {-92,887,0},{-97,887,0},{-97,893,0},{-100,890,0},{-100,892,0},{-102,892,0}, {-98,887,0},{-112,897,0},{-122,900,0},{-118,902,0},{-117,900,0},{-118,903,0}, {-122,903,0},{-123,902,0},{-127,902,0},{-130,903,0},{-137,912,0},{-133,915,0}, {-135,917,0},{-138,915,0},{-142,918,0},{-140,920,0},{-142,923,0},{-137,927,0}, {-138,930,0},{-137,933,0},{-135,933,0},{-128,932,0},{-130,933,0},{-133,935,0}, {-140,933,0},{-142,928,0},{-143,930,0},{-147,928,0},{-147,925,0},{-150,925,0}, {-152,928,0},{-157,928,0},{-158,932,0},{-157,940,0},{-152,943,0},{-148,943,0}, {-147,945,0},{-148,948,0},{-155,948,0},{-158,950,0},{-162,957,0},{-160,942,0}, {-165,942,0},{-167,942,0},{-165,938,0},{-162,940,0},{-163,932,0},{-165,932,0}, {-163,928,0},{-167,930,0},{-168,928,0},{-165,927,0},{-162,927,0},{-153,927,0}, {-150,920,0},{-147,915,0},{-140,912,0},{-138,908,0},{-135,908,0},{-132,902,0}, {-123,898,0},{-133,903,0},{-160,922,0},{-173,925,0},{-178,925,0},{-185,925,0}, {-183,928,0},{-185,932,0},{-187,930,0},{-188,933,0},{-182,937,0},{-183,940,0}, {-188,943,0},{-185,943,0},{-187,945,0},{-185,947,0},{-187,948,0},{-193,952,0}, {-195,950,0},{-197,950,0},{-200,955,0},{-203,957,0},{-205,957,0},{-207,953,0}, {-203,950,0},{-200,950,0},{-198,947,0},{-195,948,0},{-192,947,0},{-192,945,0}, {-192,938,0},{-193,938,0},{-192,938,0},{-188,937,0},{-192,937,0},{-192,935,0}, {-190,935,0},{-190,932,0},{-187,928,0},{-187,927,0},{-195,935,0},{-202,938,0}, {-202,940,0},{-207,942,0},{-222,957,0},{-233,958,0},{-238,962,0},{-243,967,0}, {-238,963,0},{-238,965,0},{-243,970,0},{-242,972,0},{-238,970,0},{-238,973,0}, {-240,972,0},{-242,975,0},{-243,972,0},{-248,977,0},{-243,982,0},{-242,988,0}, {-248,992,0},{-250,998,0},{-250,997,0},{-250,995,0},{-255,997,0},{-257,998,0}, {-255,1000,0},{-250,1002,0},{-252,1005,0},{-257,1008,0},{-257,1010,0},{-250,1008,0}, {-252,1010,0},{-252,1013,0},{-255,1013,0},{-257,1017,0},{-258,1015,0},{-258,1005,0}, {-262,1003,0},{-263,1002,0},{-262,1000,0},{-263,997,0},{-258,997,0},{-260,993,0}, {-258,993,0},{-255,993,0},{-253,990,0},{-255,985,0},{-250,985,0},{-250,983,0}, {-247,983,0},{-250,982,0},{-252,978,0},{-245,970,0},{-260,985,0},{-265,988,0}, {-288,1017,0},{-292,1023,0},{-317,1048,0},{-323,1053,0},{-332,1063,0},{-335,1065,0}, {-340,1063,0},{-342,1065,0},{-353,1080,0},{-365,1093,0},{-370,1098,0},{-375,1098,0}, {-385,1103,0},{-395,1117,0},{-410,1135,0},{-417,1137,0},{-420,1138,0},{-453,1177,0}, {-460,1180,0},{-465,1175,0},{-473,1183,0},{-477,1182,0},{-475,1180,0},{-478,1180,0}, {-485,1188,0},{-502,1202,0},{-502,1208,0},{-498,1210,0},{-500,1212,0},{-505,1208,0}, {-503,1205,0},{-503,1202,0},{-517,1210,0},{-545,1220,0},{-552,1220,0},{-553,1215,0}, {-562,1212,0},{-568,1213,0},{-578,1220,0},{-585,1225,0},{-597,1237,0},{-600,1238,0}, {-595,1240,0},{-597,1245,0},{-600,1245,0},{-602,1242,0},{-603,1245,0},{-603,1248,0}, {-598,1257,0},{-598,1267,0},{-597,1270,0},{-587,1275,0},{-582,1288,0},{-582,1297,0}, {-585,1300,0},{-585,1305,0},{-587,1310,0},{-587,1318,0},{-590,1310,0},{-588,1305,0}, {-588,1297,0},{-597,1290,0},{-602,1280,0},{-602,1270,0},{-600,1268,0},{-602,1267,0}, {-603,1263,0},{-603,1257,0},{-605,1255,0},{-605,1253,0},{-607,1248,0},{-608,1235,0}, {-612,1228,0},{-610,1230,0},{-608,1227,0},{-607,1230,0},{-605,1230,0},{-608,1225,0}, {-610,1225,0},{-623,1235,0},{-638,1240,0},{-665,1255,0},{-677,1267,0},{-690,1277,0}, {-692,1280,0},{-693,1278,0},{-697,1280,0},{-708,1283,0},{-725,1283,0},{-732,1288,0}, {-747,1293,0},{-755,1298,0},{-760,1298,0},{-770,1305,0},{-773,1305,0},{-780,1308,0}, {-785,1310,0},{-793,1315,0},{-805,1320,0},{-813,1327,0},{-817,1327,0},{-818,1328,0}, {-823,1330,0},{-832,1337,0},{-838,1338,0},{-847,1338,0},{-847,1335,0},{-860,1337,0}, {-865,1340,0},{-873,1338,0},{-877,1335,0},{-875,1328,0},{-878,1327,0},{-880,1323,0}, {-883,1320,0},{-880,1322,0},{-877,1325,0},{-878,1322,0},{-882,1318,0},{-887,1318,0}, {-890,1315,0},{-895,1313,0},{-897,1308,0},{-908,1302,0},{-905,1300,0},{-898,1303,0}, {-887,1313,0},{-895,1303,0},{-908,1298,0},{-933,1315,0},{-942,1317,0},{-947,1317,0}, {-953,1320,0},{-957,1320,0},{-962,1322,0},{-965,1322,0},{-968,1318,0},{-970,1318,0}, {-983,1330,0},{-990,1333,0},{-995,1333,0},{-997,1332,0},{-1007,1337,0}, {-1012,1342,0},{-1020,1345,0},{-1028,1352,0},{-1035,1353,0},{-1040,1353,0}, {-1048,1360,0},{-1068,1377,0},{-1070,1377,0},{-1073,1373,0},{-1077,1372,0}, {-1093,1383,0},{-1100,1385,0},{-1130,1382,0},{-1133,1378,0},{-1138,1380,0}, {-1158,1378,0},{-1180,1380,0},{-1193,1377,0},{-1200,1372,0},{-1210,1370,0}, {-1217,1367,0},{-1225,1365,0},{-1233,1358,0},{-1233,1355,0},{-1232,1358,0}, {-1237,1352,0},{-1243,1347,0},{-1250,1347,0},{-1260,1337,0},{-1260,1332,0}, {-1258,1330,0},{-1258,1327,0},{-1260,1325,0},{-1262,1323,0},{-1262,1320,0}, {-1260,1318,0},{-1278,1297,0},{-1283,1293,0},{-1295,1297,0},{-1300,1293,0}, {-1305,1288,0},{-1310,1285,0},{-1315,1278,0},{-1320,1277,0},{-1323,1272,0}, {-1322,1270,0},{-1325,1268,0},{-1325,1267,0},{-1330,1263,0},{-1332,1265,0}, {-1335,1263,0},{-1337,1260,0},{-1340,1257,0},{-1340,1253,0},{-1343,1252,0}, {-1352,1253,0},{-1355,1252,0},{-1357,1253,0},{-1362,1252,0},{-1365,1252,0}, {-1385,1250,0},{-1388,1248,0},{-1387,1245,0},{-1388,1240,0},{-1395,1240,0}, {-1398,1238,0},{-1403,1237,0},{-1405,1233,0},{-1410,1233,0},{-1415,1235,0}, {-1418,1233,0},{-1418,1232,0},{-1427,1235,0},{-1438,1233,0},{-1448,1230,0}, {-1467,1228,0},{-1468,1227,0},{-1475,1228,0},{-1482,1223,0},{-1483,1220,0}, {-1493,1218,0},{-1495,1217,0},{-1502,1215,0},{-1510,1210,0},{-1513,1212,0}, {-1512,1213,0},{-1517,1215,0},{-1518,1213,0},{-1518,1210,0},{-1522,1205,0}, {-1533,1205,0},{-1540,1203,0},{-1548,1203,0},{-1560,1200,0},{-1565,1192,0}, {-1572,1192,0},{-1577,1187,0},{-1578,1183,0},{-1577,1183,0},{-1575,1185,0}, {-1575,1183,0},{-1575,1177,0},{-1577,1175,0},{-1583,1173,0},{-1587,1173,0}, {-1600,1182,0},{-1610,1178,0},{-1647,1182,0},{-1663,1182,0},{-1668,1182,0}, {-1682,1182,0},{-1683,1177,0},{-1692,1178,0},{-1702,1177,0},{-1723,1175,0}, {-1725,1177,0},{-1727,1175,0},{-1738,1173,0},{-1755,1172,0},{-1782,1173,0}, {-1787,1177,0},{-1797,1177,0},{-1808,1180,0},{-1825,1195,0},{-1832,1197,0}, {-1837,1200,0},{-1842,1200,0},{-1847,1202,0},{-1858,1213,0},{-1872,1230,0}, {-1893,1247,0},{-1900,1247,0},{-1905,1252,0},{-1910,1257,0},{-1923,1263,0}, {-1932,1268,0},{-1942,1270,0},{-1997,1302,0},{-2007,1305,0},{-2013,1313,0}, {-2018,1318,0},{-2030,1322,0},{-2047,1325,0},{-2065,1335,0},{-2073,1338,0}, {-2080,1338,0},{-2085,1340,0},{-2102,1352,0},{-2113,1358,0},{-2125,1368,0}, {-2135,1373,0},{-2148,1385,0},{-2160,1388,0},{-2172,1397,0},{-2178,1395,0}, {-2183,1402,0},{-2212,1428,0},{-2218,1430,0},{-2228,1438,0},{-2255,1452,0}, {-2268,1453,0},{-2280,1453,0},{-2292,1453,0},{-2300,1447,0},{-2297,1447,0}, {-2295,1443,0},{-2288,1445,0},{-2288,1443,0},{-2297,1442,0},{-2303,1442,0}, {-2313,1445,0},{-2333,1450,0},{-2338,1448,0},{-2335,1448,0},{-2342,1443,0}, {-2360,1450,0},{-2375,1448,0},{-2383,1452,0},{-2390,1452,0},{-2397,1445,0}, {-2413,1447,0},{-2425,1452,0},{-2445,1462,0},{-2450,1462,0},{-2453,1460,0}, {-2457,1460,0},{-2472,1473,0},{-2480,1478,0},{-2485,1480,0},{-2495,1480,0}, {-2505,1485,0},{-2518,1483,0},{-2528,1480,0},{-2537,1482,0},{-2543,1485,0}, {-2547,1485,0},{-2555,1488,0},{-2557,1488,0},{-2565,1485,0},{-2572,1485,0}, {-2575,1483,0},{-2580,1485,0},{-2585,1492,0},{-2592,1490,0},{-2598,1497,0}, {-2605,1498,0},{-2613,1498,0},{-2613,1493,0},{-2620,1497,0},{-2633,1497,0}, {-2640,1508,0},{-2660,1517,0},{-2668,1515,0},{-2663,1513,0},{-2663,1510,0}, {-2665,1508,0},{-2670,1508,0},{-2687,1517,0},{-2690,1515,0},{-2692,1518,0}, {-2693,1522,0},{-2697,1523,0},{-2703,1523,0},{-2708,1527,0},{-2717,1527,0}, {-2722,1527,0},{-2725,1528,0},{-2732,1530,0},{-2745,1537,0},{-2745,1540,0}, {-2755,1547,0},{-2765,1553,0},{-2768,1552,0},{-2773,1553,0},{-2787,1567,0}, {-2795,1568,0},{-2803,1575,0},{-2808,1582,0},{-2817,1590,0},{-2825,1603,0}, {-2840,1618,0},{-2843,1623,0},{-2857,1635,0},{-2862,1645,0},{-2858,1648,0}, {-2863,1647,0},{-2872,1657,0},{-2877,1657,0},{-2887,1660,0},{-2890,1667,0}, {-2898,1673,0},{-2903,1675,0},{-2908,1682,0},{-2922,1685,0},{-2925,1687,0}, {-2930,1688,0},{-2937,1693,0},{-2953,1700,0},{-2957,1700,0},{-2968,1705,0}, {-2983,1708,0},{-2997,1715,0},{-3015,1720,0},{-3027,1727,0},{-3035,1728,0}, {-3060,1745,0},{-3068,1748,0},{-3075,1753,0},{-3080,1755,0},{-3092,1760,0}, {-3103,1768,0},{-3122,1780,0},{-3125,1785,0},{-3137,1792,0},{-3145,1800,0}, {-3168,1818,0},{-3175,1822,0},{-3183,1823,0},{-3190,1828,0},{-3195,1827,0}, {-3205,1830,0},{-3210,1830,0},{-3228,1835,0},{-3233,1832,0},{-3248,1833,0}, {-3263,1828,0},{-3268,1825,0},{-3278,1813,0},{-3278,1805,0},{-3273,1798,0}, {-3270,1797,0},{-3272,1795,0},{-3272,1792,0},{-3273,1790,0},{-3280,1790,0}, {-3283,1785,0},{-3287,1788,0},{-3292,1787,0},{-3293,1788,0},{-3300,1788,0}, {-3302,1790,0},{-3303,1790,0},{-3305,1792,0},{-3303,1795,0},{-3302,1795,0}, {-3300,1798,0},{-3303,1803,0},{-3310,1803,0},{-3315,1810,0},{-3318,1813,0}, {-3320,1812,0},{-3320,1810,0},{-3315,1803,0},{-3310,1800,0},{-3310,1795,0}, {-3313,1797,0},{-3318,1805,0},{-3322,1808,0},{-3333,1817,0},{-3335,1815,0}, {-3342,1823,0},{-3347,1830,0},{-3350,1832,0},{-3357,1832,0},{-3358,1833,0}, {-3362,1837,0},{-3363,1840,0},{-3370,1843,0},{-3377,1843,0},{-3385,1848,0}, {-3388,1848,0},{-3392,1847,0},{-3392,1837,0},{-3398,1837,0},{-3403,1832,0}, {-3407,1833,0},{-3407,1835,0},{-3412,1835,0},{-3413,1832,0},{-3417,1832,0}, {-3418,1837,0},{-3423,1838,0},{-3425,1838,0},{-3432,1842,0},{-3435,1848,0}, {-3433,1847,0},{-3423,1848,0},{-3417,1843,0},{-3413,1845,0},{-3410,1848,0}, {-3407,1862,0},{-3408,1877,0},{-3410,1882,0},{-3415,1885,0},{-3418,1882,0}, {-3425,1885,0},{-3430,1880,0},{-3433,1882,0},{-3435,1880,0},{-3438,1882,0}, {-3435,1893,0},{-3437,1897,0},{-3433,1900,0},{-3435,1908,0},{-3430,1913,0}, {-3435,1912,0},{-3437,1908,0},{-3440,1912,0},{-3443,1922,0},{-3442,1928,0}, {-3447,1933,0},{-3453,1937,0},{-3462,1930,0},{-3460,1938,0},{-3462,1942,0}, {-3465,1945,0},{-3467,1952,0},{-3472,1955,0},{-3478,1965,0},{-3475,1968,0}, {-3475,1985,0},{-3478,1990,0},{-3482,1997,0},{-3482,2000,0},{-3480,2005,0}, {-3477,2005,0},{-3473,2007,0},{-3468,2017,0},{-3468,2022,0},{-3462,2027,0}, {-3457,2038,0},{-3450,2043,0},{-3447,2050,0},{-3443,2067,0},{-3447,2085,0}, {-3445,2087,0},{-3442,2085,0},{-3440,2082,0},{-3437,2095,0},{-3437,2107,0}, {-3443,2130,0},{-3440,2142,0},{-3438,2143,0},{-3435,2153,0},{-3438,2165,0}, {-3438,2180,0},{-3433,2190,0},{-3430,2193,0},{-3427,2192,0},{-3422,2195,0}, {-3418,2215,0},{-3415,2212,0},{-3410,2215,0},{-3405,2230,0},{-3407,2240,0}, {-3405,2247,0},{-3400,2255,0},{-3400,2258,0},{-3403,2277,0},{-3403,2278,0}, {-3398,2273,0},{-3400,2280,0},{-3402,2278,0},{-3405,2280,0},{-3408,2297,0}, {-3408,2300,0},{-3408,2305,0},{-3403,2300,0},{-3405,2305,0},{-3408,2307,0}, {-3412,2340,0},{-3408,2337,0},{-3405,2337,0},{-3402,2340,0},{-3398,2355,0}, {-3398,2368,0},{-3403,2397,0},{-3405,2415,0},{-3410,2427,0},{-3410,2438,0}, {-3417,2452,0},{-3418,2460,0},{-3417,2465,0},{-3418,2470,0},{-3418,2480,0}, {-3420,2483,0},{-3418,2487,0},{-3417,2483,0},{-3413,2483,0},{-3408,2492,0}, {-3400,2492,0},{-3397,2503,0},{-3397,2523,0},{-3403,2540,0},{-3403,2548,0}, {-3405,2557,0},{-3405,2563,0},{-3403,2565,0},{-3403,2570,0},{-3400,2568,0}, {-3393,2562,0},{-3385,2563,0},{-3380,2568,0},{-3377,2572,0},{-3373,2585,0}, {-3372,2598,0},{-3372,2608,0},{-3377,2628,0},{-3375,2637,0},{-3377,2645,0}, {-3377,2648,0},{-3375,2653,0},{-3372,2658,0},{-3372,2663,0},{-3368,2665,0}, {-3365,2673,0},{-3363,2685,0},{-3358,2692,0},{-3357,2700,0},{-3353,2710,0}, {-3350,2712,0},{-3345,2722,0},{-3337,2733,0},{-3335,2738,0},{-3330,2747,0}, {-3328,2747,0},{-3328,2750,0},{-3325,2752,0},{-3320,2763,0},{-3312,2773,0}, {-3303,2790,0},{-3298,2793,0},{-3290,2807,0},{-3280,2813,0},{-3270,2837,0}, {-3268,2837,0},{-3257,2853,0},{-3253,2857,0},{-3247,2865,0},{-3245,2865,0}, {-3238,2873,0},{-3235,2878,0},{-3228,2887,0},{-3220,2895,0},{-3207,2910,0}, {-3198,2915,0},{-3195,2922,0},{-3180,2932,0},{-3178,2935,0},{-3175,2937,0}, {-3173,2940,0},{-3170,2942,0},{-3168,2940,0},{-3163,2953,0},{-3162,2955,0}, {-3158,2963,0},{-3155,2963,0},{-3145,2977,0},{-3142,2985,0},{-3128,3002,0}, {-3118,3010,0},{-3097,3030,0},{-3092,3032,0},{-3085,3040,0},{-3065,3052,0}, {-3050,3062,0},{-3048,3063,0},{-3033,3073,0},{-3008,3087,0},{-2990,3105,0}, {-2988,3107,0},{-2990,3100,0},{-2987,3102,0},{-2987,3105,0},{-2982,3105,0}, {-2965,3113,0},{-2935,3137,0},{-2895,3178,0},{-2893,3177,0},{-2893,3183,0}, {-2893,3188,0},{-2888,3200,0},{-2882,3207,0},{-2883,3202,0},{-2882,3200,0}, {-2880,3200,0},{-2878,3205,0},{-2880,3210,0},{-2872,3218,0},{-2867,3223,0}, {-2863,3228,0},{-2853,3238,0},{-2843,3243,0},{-2840,3242,0},{-2840,3240,0}, {-2838,3243,0},{-2817,3255,0},{-2793,3260,0},{-2788,3258,0},{-2760,3265,0}, {-2717,3280,0},{-2712,3283,0},{-2685,3290,0},{-2682,3288,0},{-2673,3290,0}, {-2665,3290,0},{-2652,3292,0},{-2630,3292,0},{-2608,3295,0},{-2612,3290,0}, {-2620,3287,0},{-2628,3288,0},{-2630,3283,0},{-2627,3280,0},{-2622,3278,0}, {-2620,3275,0},{-2618,3270,0},{-2618,3268,0},{-2610,3265,0},{-2598,3255,0}, {-2597,3252,0},{-2598,3250,0},{-2602,3250,0},{-2598,3247,0},{-2595,3252,0}, {-2598,3258,0},{-2597,3260,0},{-2588,3268,0},{-2583,3270,0},{-2580,3273,0}, {-2587,3275,0},{-2578,3273,0},{-2568,3277,0},{-2560,3282,0},{-2553,3288,0}, {-2542,3307,0},{-2533,3323,0},{-2532,3323,0},{-2532,3322,0},{-2530,3322,0}, {-2528,3325,0},{-2525,3333,0},{-2527,3333,0},{-2530,3327,0},{-2530,3330,0}, {-2512,3372,0},{-2475,3478,0},{-2463,3505,0},{-2453,3518,0},{-2448,3520,0}, {-2427,3538,0},{-2410,3550,0},{-2405,3548,0},{-2387,3555,0},{-2380,3553,0}, {-2378,3548,0},{-2380,3548,0},{-2385,3548,0},{-2387,3547,0},{-2388,3547,0}, {-2383,3538,0},{-2387,3537,0},{-2392,3538,0},{-2397,3535,0},{-2395,3533,0}, {-2392,3535,0},{-2390,3533,0},{-2385,3535,0},{-2372,3537,0},{-2370,3537,0}, {-2368,3533,0},{-2368,3537,0},{-2370,3538,0},{-2373,3538,0},{-2375,3538,0}, {-2373,3542,0},{-2368,3542,0},{-2352,3542,0},{-2328,3548,0},{-2318,3548,0}, {-2292,3562,0},{-2290,3558,0},{-2293,3558,0},{-2292,3555,0},{-2295,3553,0}, {-2292,3552,0},{-2268,3548,0},{-2257,3550,0},{-2242,3553,0},{-2218,3555,0}, {-2222,3553,0},{-2232,3552,0},{-2210,3550,0},{-2210,3547,0},{-2212,3545,0}, {-2218,3542,0},{-2223,3545,0},{-2225,3543,0},{-2222,3542,0},{-2223,3540,0}, {-2227,3540,0},{-2235,3540,0},{-2242,3543,0},{-2243,3540,0},{-2250,3540,0}, {-2240,3530,0},{-2233,3530,0},{-2225,3533,0},{-2218,3533,0},{-2210,3533,0}, {-2200,3533,0},{-2197,3532,0},{-2192,3532,0},{-2182,3528,0},{-2165,3527,0}, {-2158,3525,0},{-2152,3518,0},{-2138,3512,0},{-2132,3512,0},{-2118,3513,0}, {-2132,3508,0},{-2132,3507,0},{-2127,3507,0},{-2125,3505,0},{-2123,3508,0}, {-2120,3507,0},{-2117,3505,0},{-2113,3507,0},{-2112,3502,0},{-2108,3503,0}, {-2110,3505,0},{-2108,3508,0},{-2103,3508,0},{-2102,3507,0},{-2100,3512,0}, {-2097,3512,0},{-2097,3510,0},{-2093,3512,0},{-2092,3507,0},{-2095,3503,0}, {-2093,3503,0},{-2088,3505,0},{-2082,3500,0},{-2080,3502,0},{-2078,3502,0}, {-2078,3500,0},{-2073,3498,0},{-2070,3495,0},{-2070,3488,0},{-2072,3487,0}, {-2070,3487,0},{-2067,3490,0},{-2065,3488,0},{-2067,3485,0},{-2065,3485,0}, {-2063,3483,0},{-2058,3482,0},{-2058,3477,0},{-2055,3477,0},{-2055,3473,0}, {-2052,3473,0},{-2053,3467,0},{-2048,3472,0},{-2045,3470,0},{-2043,3465,0}, {-2042,3467,0},{-2040,3470,0},{-2035,3470,0},{-2035,3467,0},{-2033,3470,0}, {-2023,3473,0},{-2018,3468,0},{-2017,3470,0},{-2018,3477,0},{-2015,3477,0}, {-2003,3475,0},{-2000,3477,0},{-1997,3475,0},{-1992,3475,0},{-1990,3473,0}, {-1990,3468,0},{-1988,3473,0},{-1988,3477,0},{-1987,3478,0},{-1978,3473,0}, {-1977,3467,0},{-1963,3462,0},{-1962,3457,0},{-1962,3462,0},{-1973,3468,0}, {-1975,3475,0},{-1978,3482,0},{-1985,3483,0},{-1987,3488,0},{-1980,3497,0}, {-1980,3500,0},{-1972,3508,0},{-1972,3510,0},{-1972,3512,0},{-1960,3523,0}, {-1952,3535,0},{-1942,3545,0},{-1933,3550,0},{-1932,3553,0},{-1927,3558,0}, {-1925,3558,0},{-1925,3557,0},{-1917,3567,0},{-1917,3563,0},{-1912,3567,0}, {-1912,3570,0},{-1905,3578,0},{-1898,3588,0},{-1897,3587,0},{-1898,3585,0}, {-1895,3585,0},{-1895,3588,0},{-1897,3590,0},{-1895,3595,0},{-1888,3598,0}, {-1893,3598,0},{-1892,3603,0},{-1882,3610,0},{-1880,3612,0},{-1882,3613,0}, {-1885,3612,0},{-1890,3613,0},{-1888,3622,0},{-1890,3627,0},{-1887,3625,0}, {-1883,3627,0},{-1877,3623,0},{-1870,3623,0},{-1878,3628,0},{-1880,3635,0}, {-1880,3640,0},{-1877,3642,0},{-1873,3640,0},{-1875,3638,0},{-1870,3638,0}, {-1868,3638,0},{-1870,3640,0},{-1872,3640,0},{-1870,3642,0},{-1863,3643,0}, {-1858,3648,0},{-1855,3647,0},{-1855,3652,0},{-1853,3650,0},{-1853,3652,0}, {-1853,3655,0},{-1850,3655,0},{-1850,3657,0},{-1838,3668,0},{-1830,3678,0}, {-1820,3685,0},{-1823,3678,0},{-1820,3680,0},{-1818,3683,0},{-1820,3688,0}, {-1817,3690,0},{-1807,3697,0},{-1803,3695,0},{-1802,3690,0},{-1788,3687,0}, {-1790,3682,0},{-1788,3683,0},{-1788,3690,0},{-1795,3692,0},{-1800,3698,0}, {-1802,3698,0},{-1788,3708,0},{-1777,3720,0},{-1773,3718,0},{-1775,3722,0}, {-1773,3723,0},{-1772,3728,0},{-1768,3728,0},{-1768,3733,0},{-1765,3735,0}, {-1767,3738,0},{-1760,3743,0},{-1755,3755,0},{-1753,3757,0},{-1752,3762,0}, {-1748,3768,0},{-1745,3770,0},{-1745,3772,0},{-1747,3770,0},{-1747,3773,0}, {-1743,3778,0},{-1737,3792,0},{-1732,3812,0},{-1728,3813,0},{-1728,3812,0}, {-1725,3813,0},{-1718,3808,0},{-1722,3812,0},{-1718,3812,0},{-1720,3813,0}, {-1727,3813,0},{-1730,3815,0},{-1723,3825,0},{-1715,3850,0},{-1713,3852,0}, {-1713,3850,0},{-1712,3850,0},{-1710,3852,0},{-1713,3853,0},{-1712,3857,0}, {-1707,3858,0},{-1710,3860,0},{-1708,3868,0},{-1707,3868,0},{-1707,3867,0}, {-1705,3868,0},{-1703,3867,0},{-1707,3872,0},{-1703,3890,0},{-1700,3898,0}, {-1700,3908,0},{-1693,3913,0},{-1693,3908,0},{-1692,3908,0},{-1690,3912,0}, {-1690,3913,0},{-1687,3913,0},{-1688,3915,0},{-1687,3917,0},{-1683,3920,0}, {-1675,3930,0},{-1655,3967,0},{-1653,3970,0},{-1648,3972,0},{-1647,3977,0}, {-1645,3975,0},{-1645,3978,0},{-1647,3980,0},{-1643,3985,0},{-1642,3982,0}, {-1630,3978,0},{-1623,3988,0},{-1623,3998,0},{-1617,4003,0},{-1612,4007,0}, {-1608,4010,0},{-1600,4013,0},{-1597,4013,0},{-1602,4008,0},{-1600,4007,0}, {-1598,4012,0},{-1595,4012,0},{-1592,4018,0},{-1585,4023,0},{-1572,4037,0}, {-1562,4043,0},{-1557,4048,0},{-1553,4050,0},{-1553,4053,0},{-1552,4057,0}, {-1548,4058,0},{-1548,4057,0},{-1545,4057,0},{-1538,4062,0},{-1535,4062,0}, {-1528,4067,0},{-1525,4068,0},{-1518,4067,0},{-1515,4062,0},{-1520,4058,0}, {-1518,4052,0},{-1513,4053,0},{-1513,4060,0},{-1508,4063,0},{-1508,4072,0}, {-1503,4070,0},{-1500,4065,0},{-1497,4067,0},{-1500,4070,0},{-1500,4078,0}, {-1493,4077,0},{-1492,4070,0},{-1493,4068,0},{-1492,4067,0},{-1487,4063,0}, {-1487,4065,0},{-1490,4067,0},{-1488,4073,0},{-1483,4078,0},{-1480,4083,0}, {-1478,4083,0},{-1470,4085,0},{-1462,4080,0},{-1455,4083,0},{-1452,4083,0}, {-1452,4080,0},{-1455,4078,0},{-1455,4077,0},{-1452,4077,0},{-1450,4083,0}, {-1445,4083,0},{-1440,4080,0},{-1440,4077,0},{-1443,4068,0},{-1453,4067,0}, {-1457,4063,0},{-1450,4063,0},{-1450,4062,0},{-1447,4065,0},{-1447,4063,0}, {-1445,4063,0},{-1445,4065,0},{-1433,4063,0},{-1437,4067,0},{-1433,4073,0}, {-1428,4075,0},{-1425,4072,0},{-1420,4072,0},{-1418,4070,0},{-1422,4063,0}, {-1427,4062,0},{-1427,4060,0},{-1427,4058,0},{-1425,4060,0},{-1423,4058,0}, {-1422,4060,0},{-1422,4058,0},{-1423,4058,0},{-1423,4057,0},{-1422,4057,0}, {-1417,4053,0},{-1413,4062,0},{-1408,4060,0},{-1408,4065,0},{-1402,4065,0}, {-1395,4063,0},{-1390,4060,0},{-1372,4057,0},{-1370,4055,0},{-1365,4053,0}, {-1360,4057,0},{-1358,4060,0},{-1352,4053,0},{-1350,4053,0},{-1343,4055,0}, {-1338,4058,0},{-1335,4058,0},{-1337,4057,0},{-1328,4057,0},{-1332,4053,0}, {-1330,4053,0},{-1327,4057,0},{-1317,4057,0},{-1308,4057,0},{-1298,4060,0}, {-1297,4058,0},{-1297,4050,0},{-1298,4053,0},{-1300,4053,0},{-1302,4052,0}, {-1303,4048,0},{-1302,4047,0},{-1297,4042,0},{-1293,4042,0},{-1288,4048,0}, {-1288,4052,0},{-1292,4052,0},{-1290,4053,0},{-1285,4055,0},{-1282,4052,0}, {-1282,4057,0},{-1278,4055,0},{-1278,4057,0},{-1280,4058,0},{-1280,4062,0}, {-1278,4065,0},{-1277,4065,0},{-1273,4062,0},{-1272,4062,0},{-1270,4057,0}, {-1265,4057,0},{-1267,4062,0},{-1265,4062,0},{-1263,4062,0},{-1263,4058,0}, {-1260,4057,0},{-1253,4057,0},{-1250,4047,0},{-1243,4052,0},{-1240,4057,0}, {-1238,4055,0},{-1238,4050,0},{-1232,4052,0},{-1228,4050,0},{-1225,4047,0}, {-1227,4045,0},{-1223,4047,0},{-1225,4050,0},{-1220,4052,0},{-1213,4050,0}, {-1208,4052,0},{-1203,4052,0},{-1200,4053,0},{-1192,4048,0},{-1183,4052,0}, {-1183,4048,0},{-1182,4047,0},{-1175,4047,0},{-1173,4045,0},{-1167,4045,0}, {-1165,4042,0},{-1160,4045,0},{-1155,4042,0},{-1152,4045,0},{-1143,4047,0}, {-1142,4048,0},{-1138,4047,0},{-1140,4043,0},{-1135,4038,0},{-1137,4037,0}, {-1132,4035,0},{-1132,4038,0},{-1125,4043,0},{-1120,4050,0},{-1115,4050,0}, {-1103,4057,0},{-1102,4057,0},{-1102,4053,0},{-1103,4053,0},{-1103,4050,0}, {-1095,4050,0},{-1090,4053,0},{-1087,4062,0},{-1083,4062,0},{-1078,4052,0}, {-1080,4048,0},{-1077,4048,0},{-1068,4058,0},{-1070,4063,0},{-1068,4065,0}, {-1065,4058,0},{-1058,4060,0},{-1057,4055,0},{-1058,4053,0},{-1055,4052,0}, {-1055,4055,0},{-1053,4057,0},{-1048,4053,0},{-1048,4052,0},{-1047,4045,0}, {-1048,4043,0},{-1043,4042,0},{-1040,4043,0},{-1038,4042,0},{-1035,4045,0}, {-1030,4042,0},{-1032,4038,0},{-1032,4042,0},{-1033,4043,0},{-1037,4040,0}, {-1035,4037,0},{-1035,4033,0},{-1027,4030,0},{-1023,4025,0},{-1020,4023,0}, {-1025,4020,0},{-1028,4027,0},{-1028,4023,0},{-1030,4023,0},{-1027,4018,0}, {-1027,4017,0},{-1028,4017,0},{-1027,4013,0},{-1028,4012,0},{-1027,4012,0}, {-1025,4013,0},{-1020,4012,0},{-1018,4013,0},{-1013,4000,0},{-1013,3998,0}, {-1018,4000,0},{-1022,3998,0},{-1013,3997,0},{-1010,3993,0},{-1007,3993,0}, {-1002,3988,0},{-1002,3985,0},{-998,3982,0},{-998,3975,0},{-1003,3973,0}, {-1005,3968,0},{-1000,3973,0},{-997,3970,0},{-993,3978,0},{-992,3978,0}, {-988,3975,0},{-988,3980,0},{-985,3980,0},{-975,3975,0},{-975,3970,0},{-970,3975,0}, {-970,3973,0},{-967,3975,0},{-965,3972,0},{-963,3972,0},{-962,3973,0},{-960,3970,0}, {-950,3968,0},{-947,3965,0},{-945,3965,0},{-943,3962,0},{-945,3960,0},{-945,3957,0}, {-940,3957,0},{-942,3960,0},{-940,3962,0},{-938,3965,0},{-928,3965,0},{-927,3963,0}, {-920,3965,0},{-910,3957,0},{-913,3950,0},{-908,3950,0},{-907,3950,0},{-905,3950,0}, {-902,3950,0},{-898,3948,0},{-893,3950,0},{-893,3945,0},{-892,3945,0},{-890,3947,0}, {-892,3938,0},{-887,3940,0},{-887,3943,0},{-890,3950,0},{-892,3952,0},{-892,3957,0}, {-890,3952,0},{-882,3950,0},{-880,3947,0},{-873,3943,0},{-870,3937,0},{-870,3938,0}, {-867,3937,0},{-862,3937,0},{-855,3935,0},{-852,3930,0},{-838,3930,0},{-832,3928,0}, {-830,3930,0},{-827,3930,0},{-830,3932,0},{-830,3933,0},{-828,3933,0},{-828,3935,0}, {-820,3935,0},{-820,3937,0},{-813,3938,0},{-802,3945,0},{-798,3945,0},{-800,3945,0}, {-800,3943,0},{-793,3943,0},{-790,3942,0},{-787,3943,0},{-782,3945,0},{-778,3940,0}, {-778,3933,0},{-775,3937,0},{-773,3932,0},{-777,3932,0},{-782,3928,0},{-782,3925,0}, {-778,3928,0},{-777,3930,0},{-772,3928,0},{-768,3930,0},{-758,3927,0},{-747,3930,0}, {-743,3933,0},{-737,3935,0},{-733,3935,0},{-732,3932,0},{-730,3937,0},{-727,3937,0}, {-727,3938,0},{-725,3940,0},{-723,3942,0},{-718,3943,0},{-715,3948,0},{-718,3948,0}, {-718,3950,0},{-713,3952,0},{-713,3955,0},{-705,3953,0},{-700,3955,0},{-687,3947,0}, {-685,3937,0},{-683,3933,0},{-682,3930,0},{-685,3930,0},{-685,3928,0},{-682,3928,0}, {-675,3928,0},{-673,3928,0},{-675,3927,0},{-673,3925,0},{-663,3920,0},{-662,3917,0}, {-658,3915,0},{-655,3912,0},{-648,3905,0},{-645,3898,0},{-647,3903,0},{-648,3903,0}, {-647,3897,0},{-643,3892,0},{-640,3890,0},{-638,3887,0},{-632,3885,0},{-617,3887,0}, {-613,3882,0},{-605,3878,0},{-600,3878,0},{-593,3882,0},{-583,3883,0},{-572,3890,0}, {-565,3890,0},{-555,3897,0},{-545,3900,0},{-543,3897,0},{-540,3898,0},{-538,3902,0}, {-523,3908,0},{-522,3907,0},{-525,3905,0},{-523,3903,0},{-520,3907,0},{-518,3908,0}, {-515,3908,0},{-510,3913,0},{-507,3912,0},{-507,3910,0},{-505,3908,0},{-502,3910,0}, {-502,3913,0},{-500,3912,0},{-495,3913,0},{-492,3912,0},{-492,3913,0},{-485,3917,0}, {-487,3917,0},{-493,3915,0},{-493,3917,0},{-492,3918,0},{-485,3922,0},{-478,3922,0}, {-478,3917,0},{-475,3918,0},{-477,3920,0},{-475,3922,0},{-468,3922,0},{-468,3918,0}, {-467,3920,0},{-467,3922,0},{-465,3922,0},{-462,3925,0},{-462,3930,0},{-460,3930,0}, {-463,3933,0},{-463,3940,0},{-462,3942,0},{-458,3938,0},{-457,3942,0},{-455,3942,0}, {-453,3943,0},{-453,3945,0},{-455,3943,0},{-458,3945,0},{-452,3947,0},{-447,3950,0}, {-443,3950,0},{-442,3952,0},{-443,3955,0},{-427,3958,0},{-410,3967,0},{-407,3962,0}, {-407,3957,0},{-408,3957,0},{-403,3955,0},{-403,3963,0},{-400,3963,0},{-398,3960,0}, {-397,3962,0},{-398,3965,0},{-397,3967,0},{-402,3965,0},{-405,3968,0},{-403,3972,0}, {-397,3975,0},{-397,3970,0},{-392,3968,0},{-390,3972,0},{-392,3972,0},{-395,3972,0}, {-395,3975,0},{-393,3977,0},{-392,3978,0},{-382,3983,0},{-367,3987,0},{-365,3987,0}, {-363,3983,0},{-363,3980,0},{-362,3980,0},{-360,3978,0},{-358,3978,0},{-360,3978,0}, {-360,3983,0},{-362,3985,0},{-362,3987,0},{-358,3988,0},{-352,3990,0},{-340,3997,0}, {-337,3993,0},{-333,3993,0},{-332,3998,0},{-335,4000,0},{-333,4003,0},{-327,4012,0}, {-323,4013,0},{-318,4012,0},{-312,4017,0},{-308,4015,0},{-303,4018,0},{-298,4023,0}, {-300,4018,0},{-303,4013,0},{-298,4015,0},{-295,4015,0},{-293,4017,0},{-292,4015,0}, {-290,4017,0},{-290,4015,0},{-282,4018,0},{-278,4015,0},{-277,4017,0},{-275,4017,0}, {-273,4017,0},{-272,4018,0},{-268,4018,0},{-270,4020,0},{-273,4020,0},{-265,4027,0}, {-255,4042,0},{-253,4053,0},{-255,4060,0},{-255,4063,0},{-247,4072,0},{-245,4077,0}, {-242,4078,0},{-240,4082,0},{-237,4082,0},{-233,4078,0},{-232,4080,0},{-228,4077,0}, {-230,4080,0},{-228,4082,0},{-223,4085,0},{-222,4088,0},{-223,4090,0},{-228,4092,0}, {-228,4095,0},{-230,4092,0},{-232,4092,0},{-230,4095,0},{-225,4098,0},{-222,4095,0}, {-223,4093,0},{-222,4092,0},{-208,4090,0},{-207,4088,0},{-205,4090,0},{-203,4090,0}, {-202,4088,0},{-202,4085,0},{-197,4087,0},{-200,4090,0},{-207,4093,0},{-208,4095,0}, {-205,4098,0},{-202,4095,0},{-192,4098,0},{-190,4102,0},{-193,4098,0},{-202,4098,0}, {-205,4102,0},{-198,4110,0},{-200,4118,0},{-197,4120,0},{-195,4120,0},{-195,4122,0}, {-193,4122,0},{-197,4123,0},{-197,4128,0},{-197,4132,0},{-190,4135,0},{-185,4142,0}, {-183,4142,0},{-183,4143,0},{-175,4148,0},{-167,4157,0},{-167,4155,128}, {-157,4165,0},{-130,4182,0},{-125,4185,0},{-117,4183,0},{-120,4185,0},{-122,4188,0}, {-120,4190,0},{-118,4187,0},{-108,4195,0},{-102,4197,0},{-100,4195,0},{-95,4195,0}, {-90,4195,0},{-100,4197,0},{-97,4202,0},{-92,4203,0},{-90,4207,0},{-85,4208,0}, {-83,4207,0},{-82,4215,0},{-80,4218,0},{-68,4225,0},{-50,4242,0},{-45,4247,0}, {-47,4247,0},{-47,4248,0},{-43,4247,0},{-37,4252,0},{-35,4255,0},{-32,4257,0}, {-12,4278,0},{65,4348,0},{78,4363,0},{87,4375,0},{92,4380,0},{102,4395,0}, {108,4398,0},{108,4403,0},{117,4408,0},{118,4413,0},{123,4415,0},{127,4422,0}, {140,4435,0},{172,4478,0},{190,4507,0},{198,4528,0},{208,4542,0},{235,4590,0}, {243,4602,0},{252,4612,0},{257,4613,0},{260,4618,0},{265,4622,0},{270,4628,0}, {273,4632,0},{277,4633,0},{278,4635,0},{300,4662,0},{313,4672,0},{318,4678,0}, {368,4723,0},{388,4745,0},{408,4760,0},{418,4770,0},{427,4777,0},{447,4795,0}, {453,4800,0},{488,4820,0},{505,4830,0},{518,4842,0},{540,4857,0},{547,4863,0}, {562,4872,0},{582,4885,0},{615,4905,0},{628,4908,0},{642,4907,0},{675,4922,0}, {703,4938,0},{710,4943,0},{723,4952,0},{733,4960,0},{758,4973,0},{765,4975,0}, {773,4982,0},{780,4983,0},{782,4980,0},{783,4980,0},{793,4983,0},{805,4993,0}, {813,5007,0},{818,5012,0},{832,5015,0},{838,5020,0},{840,5023,0},{845,5025,0}, {853,5032,0},{862,5032,0},{872,5038,0},{887,5043,0},{895,5048,0},{898,5055,0}, {907,5063,0},{913,5065,0},{918,5065,0},{922,5065,0},{928,5070,0},{932,5077,0}, {942,5083,0},{945,5085,0},{957,5080,0},{970,5083,0},{977,5083,0},{1000,5090,0}, {1010,5088,0},{1018,5090,0},{1032,5090,0},{1038,5102,0},{1042,5115,0},{1042,5125,0}, {1038,5128,0},{1037,5137,0},{1045,5142,0},{1048,5137,0},{1048,5132,0},{1057,5117,0}, {1052,5120,0},{1048,5120,0},{1045,5122,0},{1043,5122,0},{1043,5110,0},{1042,5103,0}, {1043,5102,0},{1047,5103,0},{1048,5110,0},{1057,5110,0},{1058,5117,0},{1070,5113,0}, {1097,5112,0},{1115,5117,0},{1117,5110,0},{1118,5108,0},{1133,5108,0},{1145,5112,0}, {1150,5113,0},{1160,5118,0},{1167,5125,0},{1177,5125,0},{1178,5127,0},{1183,5128,0}, {1183,5123,0},{1187,5115,0},{1187,5107,0},{1193,5097,0},{1195,5085,0},{1200,5078,0}, {1195,5068,0},{1195,5063,0},{1190,5057,0},{1187,5053,0},{1175,5050,0},{1168,5043,0}, {1165,5035,0},{1158,5027,0},{1157,5017,0},{1152,5008,0},{1152,4993,0},{1148,4987,0}, {1145,4978,0},{1147,4968,0},{1145,4957,0},{1138,4952,0},{1133,4943,0},{1133,4935,0}, {1133,4930,0},{1130,4923,0},{1128,4910,0},{1125,4898,0},{1125,4888,0},{1133,4865,0}, {1132,4852,0},{1128,4847,0},{1127,4835,0},{1123,4830,0},{1122,4822,0},{1115,4817,0}, {1113,4813,0},{1112,4795,0},{1113,4790,0},{1112,4787,0},{1113,4778,0},{1110,4770,0}, {1113,4762,0},{1118,4752,0},{1118,4740,0},{1110,4723,0},{1108,4717,0},{1103,4715,0}, {1097,4707,0},{1097,4702,0},{1093,4698,0},{1090,4688,0},{1087,4687,0},{1075,4665,0}, {1073,4653,0},{1068,4645,0},{1070,4633,0},{1078,4625,0},{1077,4612,0},{1078,4598,0}, {1085,4588,0},{1083,4587,0},{1082,4587,0},{1082,4585,0},{1083,4585,0},{1087,4580,0}, {1088,4577,0},{1085,4573,0},{1080,4567,0},{1077,4562,0},{1077,4558,0},{1072,4555,0}, {1067,4547,0},{1065,4540,0},{1067,4533,0},{1058,4525,0},{1057,4520,0},{1053,4517,0}, {1050,4507,0},{1047,4503,0},{1045,4498,0},{1045,4500,0},{1043,4498,0},{1042,4492,0}, {1047,4475,0},{1042,4457,0},{1043,4443,0},{1042,4438,0},{1045,4428,0},{1058,4410,0}, {1065,4403,0},{1068,4395,0},{1082,4382,0},{1098,4367,0},{1118,4355,0},{1123,4350,0}, {1128,4348,0},{1132,4348,0},{1138,4348,0},{1137,4347,0},{1140,4342,0},{1140,4337,0}, {1145,4335,0},{1145,4332,0},{1150,4330,0},{1152,4328,0},{1147,4328,0},{1148,4325,0}, {1153,4322,0},{1153,4320,0},{1158,4315,0},{1162,4315,0},{1163,4313,0},{1162,4312,0}, {1160,4312,0},{1158,4310,0},{1160,4308,0},{1160,4280,0},{1155,4268,0},{1153,4267,0}, {1152,4270,0},{1148,4268,0},{1148,4263,0},{1148,4262,0},{1153,4252,0},{1157,4253,0}, {1160,4252,0},{1160,4253,0},{1157,4262,0},{1158,4267,0},{1160,4268,0},{1165,4270,0}, {1168,4275,0},{1173,4275,0},{1175,4277,0},{1178,4290,0},{1178,4295,0},{1182,4297,0}, {1182,4303,0},{1185,4308,0},{1195,4317,0},{1198,4337,0},{1203,4340,0},{1213,4342,0}, {1223,4342,0},{1228,4337,0},{1238,4337,0},{1243,4333,0},{1248,4333,0},{1247,4332,0}, {1248,4330,0},{1270,4312,0},{1283,4308,0},{1283,4305,0},{1290,4300,0},{1288,4300,0}, {1282,4298,0},{1280,4295,0},{1278,4293,0},{1278,4292,0},{1280,4293,0},{1282,4287,0}, {1287,4283,0},{1285,4278,0},{1287,4277,0},{1295,4277,0},{1297,4273,0},{1298,4275,0}, {1303,4273,0},{1307,4267,0},{1313,4262,0},{1317,4258,0},{1320,4255,0},{1320,4253,0}, {1323,4253,0},{1318,4248,0},{1322,4237,0},{1343,4233,0},{1348,4230,0},{1355,4230,0}, {1358,4228,0},{1360,4225,0},{1363,4223,0},{1367,4218,0},{1365,4217,0},{1363,4222,0}, {1360,4222,0},{1360,4220,0},{1355,4223,0},{1358,4218,0},{1362,4218,0},{1365,4213,0}, {1363,4212,0},{1370,4207,0},{1373,4207,0},{1378,4198,0},{1383,4198,0},{1387,4195,0}, {1387,4192,0},{1388,4183,0},{1393,4180,0},{1392,4172,0},{1393,4170,0},{1393,4168,0}, {1407,4162,0},{1413,4153,0},{1422,4150,0},{1430,4142,0},{1437,4138,0},{1440,4133,0}, {1448,4130,0},{1458,4120,0},{1463,4117,0},{1467,4105,0},{1465,4098,0},{1472,4088,0}, {1472,4085,0},{1470,4083,0},{1472,4082,0},{1470,4080,0},{1470,4077,0},{1472,4077,0}, {1473,4073,0},{1477,4072,0},{1480,4073,0},{1483,4073,0},{1483,4070,0},{1487,4067,0}, {1488,4070,0},{1490,4067,0},{1490,4065,0},{1488,4065,0},{1488,4062,0},{1495,4062,0}, {1495,4057,0},{1498,4055,0},{1498,4053,0},{1502,4052,0},{1500,4052,0},{1498,4052,0}, {1497,4050,0},{1498,4047,0},{1500,4045,0},{1500,4042,0},{1497,4042,0},{1497,4040,0}, {1497,4038,0},{1500,4038,0},{1495,4037,0},{1492,4030,0},{1493,4027,0},{1497,4017,0}, {1498,4015,0},{1503,4015,0},{1505,4013,0},{1507,4010,0},{1510,4010,0},{1515,4008,0}, {1520,4005,0},{1523,4005,0},{1523,4002,0},{1533,4008,0},{1537,4005,0},{1538,4000,0}, {1545,3990,0},{1550,3988,0},{1547,3985,0},{1545,3980,0},{1538,3977,0},{1527,3978,0}, {1527,3980,0},{1528,3982,0},{1527,3982,0},{1518,3985,0},{1517,3985,0},{1513,3982,0}, {1508,3982,0},{1507,3977,0},{1508,3975,0},{1508,3972,0},{1513,3970,0},{1525,3972,0}, {1532,3968,0},{1535,3965,0},{1548,3962,0},{1552,3958,0},{1553,3955,0},{1552,3950,0}, {1552,3947,0},{1560,3943,0},{1560,3947,0},{1563,3948,0},{1563,3947,0},{1562,3945,0}, {1563,3945,0},{1565,3945,0},{1567,3947,0},{1568,3945,0},{1573,3945,0},{1575,3942,0}, {1580,3943,0},{1590,3930,0},{1598,3927,0},{1620,3922,0},{1652,3918,0},{1653,3915,0}, {1655,3917,0},{1660,3913,0},{1662,3917,0},{1668,3917,0},{1672,3913,0},{1672,3915,0}, {1677,3913,0},{1688,3908,0},{1702,3907,0},{1707,3903,0},{1718,3902,0},{1723,3897,0}, {1730,3897,0},{1738,3893,0},{1753,3885,0},{1763,3882,0},{1778,3872,0},{1785,3867,0}, {1788,3867,0},{1795,3862,0},{1800,3860,0},{1803,3862,0},{2313,3562,128}, {2308,3568,0},{2303,3570,0},{2298,3570,0},{2298,3572,0},{2293,3573,0},{2292,3575,0}, {2290,3573,0},{2288,3577,0},{2290,3578,0},{2285,3578,0},{2288,3575,0},{2285,3573,0}, {2283,3573,0},{2283,3577,0},{2280,3578,0},{2282,3578,0},{2283,3578,0},{2282,3582,0}, {2275,3588,0},{2267,3598,0},{2268,3605,0},{2267,3615,0},{2263,3623,0},{2258,3628,0}, {2250,3630,0},{2247,3637,0},{2243,3637,0},{2232,3647,0},{2228,3660,0},{2218,3672,0}, {2218,3675,0},{2217,3677,0},{2213,3682,0},{2203,3690,0},{2202,3690,0},{2200,3688,0}, {2197,3688,0},{2197,3683,0},{2193,3688,0},{2188,3687,0},{2185,3688,0},{2183,3683,0}, {2182,3687,0},{2182,3690,0},{2177,3690,0},{2175,3687,0},{2175,3690,0},{2163,3693,0}, {2162,3690,0},{2160,3695,0},{2158,3695,0},{2157,3697,0},{2153,3697,0},{2148,3698,0}, {2147,3702,0},{2127,3710,0},{2113,3723,0},{2107,3727,0},{2103,3725,0},{2102,3722,0}, {2107,3720,0},{2108,3720,0},{2105,3722,0},{2113,3718,0},{2113,3717,0},{2120,3717,0}, {2120,3713,0},{2117,3712,0},{2115,3712,0},{2108,3710,0},{2107,3710,0},{2107,3707,0}, {2103,3707,0},{2102,3708,0},{2098,3708,0},{2087,3712,0},{2072,3715,0},{2068,3715,0}, {2063,3718,0},{2053,3722,0},{2047,3722,0},{2045,3720,0},{2047,3720,0},{2047,3718,0}, {2043,3718,0},{2038,3718,0},{2035,3718,0},{2020,3718,0},{2005,3722,0},{2003,3722,0}, {2003,3720,0},{2000,3720,0},{1983,3728,0},{1977,3728,0},{1977,3727,0},{1968,3728,0}, {1968,3725,0},{1962,3725,0},{1963,3722,0},{1960,3725,0},{1955,3725,0},{1948,3730,0}, {1938,3732,0},{1932,3735,0},{1918,3737,0},{1905,3743,0},{1900,3743,0},{1895,3742,0}, {1892,3743,0},{1885,3743,0},{1880,3748,0},{1872,3752,0},{1872,3755,0},{1872,3758,0}, {1872,3760,0},{1873,3768,0},{1870,3770,0},{1870,3777,0},{1865,3775,0},{1862,3777,0}, {1865,3778,0},{1868,3778,0},{1867,3778,0},{1862,3778,0},{1853,3795,0},{1842,3807,0}, {1837,3813,0},{1830,3808,0},{1830,3810,0},{1828,3812,0},{1823,3818,0},{1823,3823,0}, {1825,3827,0},{1828,3827,0},{1830,3830,0},{1828,3832,0},{1828,3828,0},{1825,3828,0}, {1823,3827,0},{1822,3822,0},{1822,3828,0},{1818,3837,0},{1820,3838,0},{1822,3838,0}, {1822,3840,0},{1818,3843,0},{1817,3842,0},{1815,3845,0},{1813,3843,0},{1812,3848,0}, {1813,3850,0},{1807,3852,0},{1810,3855,0},{1812,3853,0},{1807,3858,0},{1803,3858,0}, {1803,3862,0},{-2187,4332,128},{-2192,4333,0},{-2190,4335,0},{-2192,4337,0}, {-2188,4337,0},{-2185,4335,0},{-2177,4337,0},{-2167,4345,0},{-2168,4350,0}, {-2165,4348,0},{-2147,4347,0},{-2138,4348,0},{-2132,4352,0},{-2133,4352,0}, {-2132,4355,0},{-2130,4353,0},{-2130,4357,0},{-2128,4358,0},{-2128,4375,0}, {-2122,4382,0},{-2115,4385,0},{-2095,4388,0},{-2085,4392,0},{-2077,4397,0}, {-2072,4403,0},{-2065,4408,0},{-2048,4413,0},{-2047,4415,0},{-2048,4415,0}, {-2050,4415,0},{-2048,4417,0},{-2043,4418,0},{-2038,4425,0},{-2018,4435,0}, {-2012,4440,0},{-2007,4443,0},{-1998,4448,0},{-1998,4450,0},{-1995,4452,0}, {-1993,4452,0},{-1987,4448,0},{-1987,4447,0},{-1982,4447,0},{-1983,4445,0}, {-1982,4442,0},{-1977,4440,0},{-1972,4443,0},{-1960,4445,0},{-1955,4447,0}, {-1953,4450,0},{-1950,4450,0},{-1945,4450,0},{-1933,4442,0},{-1932,4440,0}, {-1927,4437,0},{-1918,4430,0},{-1907,4425,0},{-1895,4425,0},{-1897,4427,0}, {-1897,4428,0},{-1892,4425,0},{-1887,4427,0},{-1887,4428,0},{-1883,4428,0}, {-1870,4423,0},{-1870,4425,0},{-1862,4418,0},{-1857,4418,0},{-1845,4408,0}, {-1838,4407,0},{-1828,4407,0},{-1807,4403,0},{-1795,4402,0},{-1783,4405,0}, {-1775,4405,0},{-1773,4402,0},{-1767,4400,0},{-1758,4393,0},{-1750,4395,0}, {-1733,4402,0},{-1735,4403,0},{-1733,4403,0},{-1723,4410,0},{-1718,4412,0}, {-1718,4413,0},{-1710,4415,0},{-1712,4417,0},{-1710,4418,0},{-1703,4423,0}, {-1693,4428,0},{-1685,4433,0},{-1685,4435,0},{-1680,4437,0},{-1673,4442,0}, {-1670,4445,0},{-1663,4445,0},{-1655,4442,0},{-1658,4445,0},{-1653,4447,0}, {-1648,4448,0},{-1635,4442,0},{-1625,4445,0},{-1618,4447,0},{-1618,4450,0}, {-1620,4480,0},{-1622,4483,0},{-1623,4487,0},{-1618,4490,0},{-1618,4495,0}, {-1617,4495,0},{-1612,4505,0},{-1600,4513,0},{-1593,4527,0},{-1595,4528,0}, {-1600,4528,0},{-1603,4530,0},{-1610,4528,0},{-1612,4530,0},{-1610,4533,0}, {-1608,4535,0},{-1607,4540,0},{-1603,4542,0},{-1603,4540,0},{-1603,4538,0}, {-1598,4537,0},{-1597,4538,0},{-1595,4557,0},{-1597,4558,0},{-1600,4560,0}, {-1603,4558,0},{-1603,4560,0},{-1605,4562,0},{-1603,4562,0},{-1603,4563,0}, {-1602,4562,0},{-1598,4562,0},{-1597,4563,0},{-1593,4563,0},{-1590,4565,0}, {-1585,4562,0},{-1578,4568,0},{-1580,4577,0},{-1583,4582,0},{-1578,4588,0}, {-1577,4592,0},{-1578,4595,0},{-1580,4598,0},{-1585,4597,0},{-1585,4603,0}, {-1587,4605,0},{-1587,4607,0},{-1587,4610,0},{-1583,4605,0},{-1580,4608,0}, {-1582,4602,0},{-1578,4605,0},{-1573,4612,0},{-1570,4618,0},{-1572,4625,0}, {-1577,4627,0},{-1582,4625,0},{-1583,4623,0},{-1587,4628,0},{-1598,4633,0}, {-1593,4633,0},{-1597,4637,0},{-1595,4640,0},{-1590,4638,0},{-1592,4643,0}, {-1597,4648,0},{-1588,4645,0},{-1585,4642,0},{-1583,4632,0},{-1577,4637,0}, {-1573,4637,0},{-1572,4632,0},{-1563,4637,0},{-1552,4648,0},{-1552,4650,0}, {-1555,4650,0},{-1552,4652,0},{-1543,4662,0},{-1542,4667,0},{-1540,4665,0}, {-1532,4677,0},{-1523,4688,0},{-1520,4695,0},{-1522,4697,0},{-1528,4698,0}, {-1533,4708,0},{-1537,4705,0},{-1540,4700,0},{-1550,4697,0},{-1555,4697,0}, {-1550,4700,0},{-1548,4707,0},{-1548,4710,0},{-1545,4713,0},{-1547,4718,0}, {-1545,4723,0},{-1542,4723,0},{-1540,4720,0},{-1535,4717,0},{-1530,4717,0}, {-1530,4710,0},{-1527,4712,0},{-1527,4708,0},{-1525,4708,0},{-1522,4707,0}, {-1518,4707,0},{-1512,4712,0},{-1508,4717,0},{-1503,4722,0},{-1498,4722,0}, {-1497,4727,0},{-1493,4727,0},{-1492,4732,0},{-1490,4737,0},{-1488,4738,0}, {-1485,4737,0},{-1485,4735,0},{-1488,4733,0},{-1487,4730,0},{-1485,4728,0}, {-1478,4733,0},{-1467,4745,0},{-1472,4750,0},{-1477,4748,0},{-1480,4750,0}, {-1482,4752,0},{-1497,4742,0},{-1502,4742,0},{-1508,4742,0},{-1512,4742,0}, {-1508,4748,0},{-1502,4752,0},{-1498,4753,0},{-1500,4757,0},{-1498,4757,0}, {-1493,4757,0},{-1483,4763,0},{-1482,4765,0},{-1478,4765,0},{-1472,4768,0}, {-1468,4770,0},{-1467,4773,0},{-1457,4780,0},{-1462,4783,0},{-1467,4792,0}, {-1472,4792,0},{-1470,4793,0},{-1467,4793,0},{-1463,4792,0},{-1463,4798,0}, {-1468,4800,0},{-1477,4798,0},{-1477,4800,0},{-1472,4802,0},{-1463,4802,0}, {-1457,4793,0},{-1458,4788,0},{-1460,4787,0},{-1460,4783,0},{-1455,4780,0}, {-1458,4778,0},{-1460,4775,0},{-1455,4772,0},{-1452,4773,0},{-1448,4772,0}, {-1442,4770,0},{-1435,4772,0},{-1430,4778,0},{-1422,4778,0},{-1422,4780,0}, {-1422,4782,0},{-1425,4788,0},{-1423,4792,0},{-1425,4793,0},{-1417,4795,0}, {-1413,4795,0},{-1412,4792,0},{-1410,4792,0},{-1410,4790,0},{-1408,4792,0}, {-1410,4795,0},{-1415,4802,0},{-1425,4798,0},{-1432,4798,0},{-1432,4800,0}, {-1428,4800,0},{-1427,4803,0},{-1422,4802,0},{-1417,4805,0},{-1407,4805,0}, {-1405,4800,0},{-1400,4793,0},{-1400,4798,0},{-1397,4802,0},{-1390,4792,0}, {-1378,4787,0},{-1372,4788,0},{-1372,4793,0},{-1370,4793,0},{-1368,4788,0}, {-1360,4790,0},{-1358,4792,0},{-1358,4797,0},{-1353,4797,0},{-1350,4798,0}, {-1352,4800,0},{-1353,4798,0},{-1355,4798,0},{-1355,4800,0},{-1358,4800,0}, {-1357,4803,0},{-1355,4803,0},{-1355,4805,0},{-1353,4802,0},{-1352,4803,0}, {-1352,4807,0},{-1357,4810,0},{-1360,4810,0},{-1358,4812,0},{-1360,4815,0}, {-1365,4815,0},{-1373,4820,0},{-1375,4818,0},{-1380,4825,0},{-1382,4828,0}, {-1377,4833,0},{-1368,4833,0},{-1360,4835,0},{-1357,4833,0},{-1353,4837,0}, {-1355,4838,0},{-1353,4843,0},{-1353,4845,0},{-1352,4845,0},{-1352,4848,0}, {-1350,4848,0},{-1353,4852,0},{-1353,4853,0},{-1345,4852,0},{-1343,4848,0}, {-1337,4848,0},{-1337,4850,0},{-1342,4852,0},{-1345,4860,0},{-1343,4863,0}, {-1345,4867,0},{-1342,4873,0},{-1343,4873,0},{-1337,4880,0},{-1335,4878,0}, {-1332,4880,0},{-1328,4880,0},{-1327,4885,0},{-1325,4882,0},{-1320,4882,0}, {-1312,4882,0},{-1295,4892,0},{-1293,4892,0},{-1293,4895,0},{-1292,4893,0}, {-1282,4897,0},{-1275,4892,0},{-1267,4890,0},{-1267,4888,0},{-1267,4887,0}, {-1255,4888,0},{-1255,4885,0},{-1257,4885,0},{-1255,4883,0},{-1252,4883,0}, {-1250,4880,0},{-1243,4878,0},{-1247,4877,0},{-1243,4873,0},{-1240,4877,0}, {-1242,4887,0},{-1243,4887,0},{-1250,4892,0},{-1248,4895,0},{-1243,4897,0}, {-1233,4898,0},{-1232,4902,0},{-1233,4903,0},{-1230,4903,0},{-1230,4905,0}, {-1228,4907,0},{-1230,4907,0},{-1230,4910,0},{-1225,4910,0},{-1225,4915,0}, {-1223,4917,0},{-1218,4915,0},{-1215,4918,0},{-1217,4920,0},{-1215,4920,0}, {-1212,4918,0},{-1213,4917,0},{-1210,4915,0},{-1210,4910,0},{-1207,4915,0}, {-1205,4915,0},{-1212,4920,0},{-1210,4923,0},{-1205,4922,0},{-1205,4918,0}, {-1203,4918,0},{-1202,4920,0},{-1202,4922,0},{-1200,4920,0},{-1195,4925,0}, {-1195,4928,0},{-1198,4932,0},{-1205,4933,0},{-1207,4935,0},{-1210,4937,0}, {-1212,4935,0},{-1222,4940,0},{-1222,4938,0},{-1215,4932,0},{-1220,4932,0}, {-1217,4927,0},{-1215,4927,0},{-1217,4923,0},{-1218,4925,0},{-1223,4923,0}, {-1223,4928,0},{-1228,4927,0},{-1228,4928,0},{-1225,4930,0},{-1227,4932,0}, {-1230,4932,0},{-1230,4935,0},{-1228,4937,0},{-1223,4935,0},{-1223,4938,0}, {-1228,4943,0},{-1232,4942,0},{-1235,4945,0},{-1237,4945,0},{-1235,4948,0}, {-1235,4953,0},{-1238,4955,0},{-1242,4955,0},{-1243,4958,0},{-1253,4960,0}, {-1255,4958,0},{-1252,4957,0},{-1248,4957,0},{-1252,4957,0},{-1258,4958,0}, {-1263,4957,0},{-1267,4958,0},{-1265,4960,0},{-1265,4962,0},{-1270,4965,0}, {-1277,4968,0},{-1280,4965,0},{-1280,4970,0},{-1278,4970,0},{-1278,4972,0}, {-1273,4972,0},{-1275,4975,0},{-1277,4973,0},{-1277,4977,0},{-1280,4980,0}, {-1287,4982,0},{-1288,4983,0},{-1288,4987,0},{-1290,4987,0},{-1292,4987,0}, {-1292,4985,0},{-1293,4985,0},{-1295,4990,0},{-1303,4995,0},{-1308,4995,0}, {-1320,4993,0},{-1320,4995,0},{-1323,4995,0},{-1328,4998,0},{-1335,4998,0}, {-1335,5003,0},{-1343,5002,0},{-1347,5003,0},{-1352,5003,0},{-1355,5007,0}, {-1362,5008,0},{-1362,5010,0},{-1368,5010,0},{-1377,5013,0},{-1383,5015,0}, {-1398,5015,0},{-1405,5018,0},{-1422,5017,0},{-1430,5022,0},{-1445,5018,0}, {-1457,5020,0},{-1467,5023,0},{-1475,5025,0},{-1478,5027,0},{-1487,5028,0}, {-1495,5033,0},{-1502,5035,0},{-1513,5045,0},{-1518,5047,0},{-1520,5048,0}, {-1532,5050,0},{-1542,5048,0},{-1545,5048,0},{-1548,5047,0},{-1558,5043,0}, {-1577,5035,0},{-1580,5033,0},{-1580,5035,0},{-1583,5032,0},{-1587,5030,0}, {-1588,5028,0},{-1590,5027,0},{-1597,5023,0},{-1598,5018,0},{-1598,5017,0}, {-1593,5015,0},{-1592,5010,0},{-1587,5003,0},{-1578,5003,0},{-1572,4997,0}, {-1563,4998,0},{-1560,4997,0},{-1560,4993,0},{-1557,4990,0},{-1543,4990,0}, {-1542,4988,0},{-1543,4987,0},{-1545,4972,0},{-1548,4968,0},{-1555,4963,0}, {-1558,4963,0},{-1563,4967,0},{-1568,4967,0},{-1570,4965,0},{-1572,4967,0}, {-1580,4972,0},{-1588,4972,0},{-1590,4973,0},{-1597,4970,0},{-1603,4970,0}, {-1607,4972,0},{-1612,4973,0},{-1615,4980,0},{-1617,4980,0},{-1617,4983,0}, {-1622,4987,0},{-1632,4983,0},{-1642,4985,0},{-1642,4988,0},{-1655,4985,0}, {-1660,4982,0},{-1668,4978,0},{-1670,4977,0},{-1670,4975,0},{-1673,4973,0}, {-1677,4975,0},{-1682,4978,0},{-1683,4982,0},{-1685,4985,0},{-1685,4983,0}, {-1687,4972,0},{-1692,4960,0},{-1713,4952,0},{-1727,4945,0},{-1737,4942,0}, {-1742,4947,0},{-1747,4947,0},{-1748,4948,0},{-1753,4948,0},{-1753,4950,0}, {-1757,4948,0},{-1765,4950,0},{-1768,4953,0},{-1777,4952,0},{-1797,4943,0}, {-1810,4942,0},{-1815,4945,0},{-1820,4940,0},{-1842,4937,0},{-1865,4925,0}, {-1895,4913,0},{-1908,4907,0},{-1935,4900,0},{-1962,4888,0},{-1985,4883,0}, {-1990,4883,0},{-2000,4878,0},{-1997,4877,0},{-1997,4875,0},{-2003,4878,0}, {-2042,4860,0},{-2097,4845,0},{-2098,4843,0},{-2100,4843,0},{-2098,4845,0}, {-2100,4847,0},{-2105,4843,0},{-2117,4840,0},{-2123,4837,0},{-2137,4835,0}, {-2180,4820,0},{-2212,4805,0},{-2240,4797,0},{-2247,4793,0},{-2265,4788,0}, {-2287,4787,0},{-2300,4783,0},{-2312,4778,0},{-2323,4777,0},{-2355,4765,0}, {-2383,4760,0},{-2403,4750,0},{-2403,4745,0},{-2405,4747,0},{-2405,4748,0}, {-2415,4743,0},{-2428,4738,0},{-2430,4738,0},{-2428,4737,0},{-2428,4735,0}, {-2432,4737,0},{-2437,4733,0},{-2453,4730,0},{-2470,4722,0},{-2477,4722,0}, {-2482,4717,0},{-2487,4715,0},{-2490,4715,0},{-2490,4712,0},{-2498,4713,0}, {-2498,4703,0},{-2500,4702,0},{-2503,4703,0},{-2503,4700,0},{-2505,4700,0}, {-2503,4692,0},{-2505,4693,0},{-2507,4688,0},{-2510,4683,0},{-2513,4680,0}, {-2513,4677,0},{-2515,4675,0},{-2518,4667,0},{-2515,4652,0},{-2518,4632,0}, {-2522,4620,0},{-2532,4593,0},{-2543,4573,0},{-2550,4567,0},{-2555,4553,0}, {-2557,4532,0},{-2558,4518,0},{-2557,4515,0},{-2552,4515,0},{-2545,4500,0}, {-2535,4490,0},{-2528,4468,0},{-2525,4438,0},{-2515,4433,0},{-2517,4437,0}, {-2523,4440,0},{-2522,4440,0},{-2523,4442,0},{-2520,4443,0},{-2515,4437,0}, {-2513,4433,0},{-2507,4423,0},{-2505,4413,0},{-2498,4408,0},{-2498,4407,0}, {-2495,4407,0},{-2487,4405,0},{-2482,4400,0},{-2473,4395,0},{-2467,4398,0}, {-2462,4397,0},{-2450,4385,0},{-2442,4375,0},{-2433,4370,0},{-2423,4368,0}, {-2403,4370,0},{-2397,4368,0},{-2390,4370,0},{-2377,4367,0},{-2367,4367,0}, {-2360,4368,0},{-2357,4380,0},{-2355,4377,0},{-2352,4375,0},{-2350,4377,0}, {-2345,4377,0},{-2335,4368,0},{-2337,4365,0},{-2332,4363,0},{-2325,4365,0}, {-2308,4362,0},{-2302,4355,0},{-2300,4350,0},{-2292,4345,0},{-2288,4340,0}, {-2282,4337,0},{-2268,4335,0},{-2257,4330,0},{-2250,4332,0},{-2245,4328,0}, {-2238,4328,0},{-2233,4325,0},{-2228,4325,0},{-2227,4323,0},{-2222,4325,0}, {-2222,4330,0},{-2223,4332,0},{-2217,4332,0},{-2218,4328,0},{-2217,4327,0}, {-2215,4325,0},{-2212,4327,0},{-2207,4325,0},{-2200,4327,0},{-2195,4327,0}, {-2195,4330,0},{-2192,4328,0},{-2187,4332,0},{2793,-1582,129},{2792,-1582,1}, {2783,-1578,1},{2775,-1567,1},{2773,-1558,1},{2775,-1555,1},{2780,-1543,1}, {2787,-1537,1},{2790,-1538,1},{2793,-1537,1},{2797,-1538,1},{2802,-1537,1}, {2803,-1540,1},{2810,-1540,1},{2812,-1542,1},{2817,-1540,1},{2818,-1542,1}, {2817,-1543,1},{2813,-1543,1},{2813,-1547,1},{2815,-1552,1},{2815,-1562,1}, {2817,-1570,1},{2807,-1570,1},{2802,-1578,1},{2800,-1582,1},{2793,-1582,1}, {2857,-1623,129},{2857,-1632,1},{2853,-1635,1},{2853,-1638,1},{2842,-1648,1}, {2842,-1653,1},{2838,-1657,1},{2838,-1665,1},{2837,-1670,1},{2837,-1675,1}, {2837,-1685,1},{2835,-1692,1},{2825,-1685,1},{2820,-1683,1},{2807,-1672,1}, {2798,-1668,1},{2802,-1653,1},{2812,-1645,1},{2813,-1642,1},{2822,-1640,1}, {2830,-1635,1},{2837,-1635,1},{2840,-1628,1},{2847,-1623,1},{2852,-1612,1}, {2855,-1612,1},{2858,-1612,1},{2855,-1620,1},{2857,-1623,1},{375,892,129}, {370,897,1},{363,895,1},{352,887,1},{342,882,1},{338,878,1},{332,878,1}, {327,873,1},{320,868,1},{323,860,1},{325,850,1},{327,845,1},{333,842,1}, {343,845,1},{347,847,1},{347,858,1},{352,858,1},{355,862,1},{367,863,1}, {377,870,1},{375,882,1},{375,892,1},{-1138,4328,129},{-1137,4335,1},{-1138,4338,1}, {-1140,4340,1},{-1162,4337,1},{-1173,4343,1},{-1180,4345,1},{-1188,4350,1}, {-1192,4348,1},{-1193,4347,1},{-1193,4343,1},{-1185,4337,1},{-1185,4332,1}, {-1183,4328,1},{-1177,4322,1},{-1173,4322,1},{-1167,4325,1},{-1157,4325,1}, {-1143,4325,1},{-1140,4327,1},{-1138,4328,1},{-593,3918,129},{-602,3918,1}, {-607,3922,1},{-612,3922,1},{-615,3920,1},{-617,3918,1},{-618,3920,1},{-625,3920,1}, {-630,3925,1},{-632,3928,1},{-627,3927,1},{-627,3930,1},{-625,3928,1},{-625,3930,1}, {-630,3933,1},{-630,3935,1},{-633,3938,1},{-637,3938,1},{-638,3940,1},{-635,3942,1}, {-632,3938,1},{-630,3942,1},{-643,3945,1},{-647,3948,1},{-647,3953,1},{-645,3957,1}, {-638,3957,1},{-630,3953,1},{-618,3953,1},{-613,3950,1},{-615,3948,1},{-620,3950,1}, {-618,3947,1},{-622,3945,1},{-618,3943,1},{-618,3942,1},{-615,3943,1},{-612,3942,1}, {-607,3943,1},{-605,3940,1},{-595,3937,1},{-590,3935,1},{-580,3937,1},{-573,3932,1}, {-573,3930,1},{-580,3930,1},{-585,3928,1},{-587,3923,1},{-592,3920,1},{-590,3920,1}, {-593,3918,1},{2398,3288,130},{2390,3285,2},{2390,3278,2},{2388,3283,2}, {2387,3283,2},{2385,3287,2},{2382,3288,2},{2372,3287,2},{2372,3285,2},{2372,3282,2}, {2368,3285,2},{2370,3287,2},{2368,3287,2},{2367,3285,2},{2362,3285,2},{2358,3282,2}, {2357,3282,2},{2357,3278,2},{2358,3278,2},{2358,3275,2},{2362,3275,2},{2363,3272,2}, {2363,3268,2},{2362,3268,2},{2358,3270,2},{2357,3273,2},{2355,3273,2},{2353,3270,2}, {2355,3267,2},{2350,3260,2},{2348,3263,2},{2350,3270,2},{2353,3273,2},{2355,3278,2}, {2352,3287,2},{2347,3282,2},{2350,3287,2},{2343,3290,2},{2343,3287,2},{2338,3282,2}, {2335,3290,2},{2330,3292,2},{2328,3288,2},{2333,3287,2},{2332,3283,2},{2328,3285,2}, {2327,3283,2},{2330,3282,2},{2328,3280,2},{2327,3280,2},{2327,3277,2},{2323,3275,2}, {2323,3272,2},{2320,3273,2},{2318,3270,2},{2315,3270,2},{2313,3268,2},{2312,3270,2}, {2308,3268,2},{2308,3265,2},{2307,3268,2},{2305,3263,2},{2303,3265,2},{2300,3263,2}, {2298,3265,2},{2292,3260,2},{2293,3255,2},{2288,3257,2},{2278,3257,2},{2277,3255,2}, {2277,3252,2},{2275,3252,2},{2272,3242,2},{2265,3238,2},{2262,3237,2},{2263,3232,2}, {2267,3232,2},{2268,3228,2},{2272,3228,2},{2273,3225,2},{2277,3225,2},{2277,3222,2}, {2277,3217,2},{2280,3217,2},{2277,3215,2},{2277,3212,2},{2275,3212,2},{2277,3207,2}, {2273,3205,2},{2273,3200,2},{2272,3200,2},{2270,3198,2},{2268,3197,2},{2265,3193,2}, {2265,3188,2},{2263,3188,2},{2262,3185,2},{2258,3183,2},{2258,3185,2},{2257,3187,2}, {2255,3185,2},{2258,3183,2},{2257,3178,2},{2260,3177,2},{2262,3168,2},{2265,3167,2}, {2265,3165,2},{2263,3167,2},{2262,3165,2},{2257,3168,2},{2252,3173,2},{2252,3177,2}, {2248,3182,2},{2250,3177,2},{2248,3175,2},{2247,3177,2},{2247,3173,2},{2243,3173,2}, {2247,3170,2},{2247,3168,2},{2240,3168,2},{2238,3165,2},{2238,3167,2},{2233,3160,2}, {2223,3147,2},{2223,3148,2},{2220,3143,2},{2215,3138,2},{2213,3135,2},{2210,3137,2}, {2203,3135,2},{2197,3135,2},{2192,3132,2},{2185,3123,2},{2182,3122,2},{2182,3118,2}, {2180,3120,2},{2177,3117,2},{2173,3118,2},{2165,3117,2},{2160,3110,2},{2150,3103,2}, {2152,3107,2},{2162,3113,2},{2162,3118,2},{2170,3120,2},{2172,3122,2},{2175,3122,2}, {2177,3122,2},{2177,3125,2},{2178,3127,2},{2177,3130,2},{2192,3138,2},{2207,3140,2}, {2213,3143,2},{2213,3147,2},{2218,3152,2},{2218,3150,2},{2220,3153,2},{2218,3155,2}, {2222,3155,2},{2225,3160,2},{2223,3168,2},{2225,3165,2},{2227,3165,2},{2230,3162,2}, {2232,3165,2},{2232,3167,2},{2233,3167,2},{2232,3170,2},{2233,3168,2},{2235,3172,2}, {2237,3177,2},{2237,3178,2},{2237,3180,2},{2233,3182,2},{2235,3183,2},{2238,3183,2}, {2238,3182,2},{2240,3183,2},{2242,3180,2},{2242,3190,2},{2245,3188,2},{2247,3193,2}, {2250,3193,2},{2248,3197,2},{2255,3195,2},{2257,3193,2},{2255,3198,2},{2257,3198,2}, {2260,3197,2},{2265,3200,2},{2265,3203,2},{2263,3205,2},{2267,3203,2},{2272,3212,2}, {2273,3215,2},{2272,3218,2},{2270,3222,2},{2268,3222,2},{2268,3225,2},{2265,3223,2}, {2263,3228,2},{2260,3228,2},{2260,3232,2},{2257,3230,2},{2255,3225,2},{2252,3225,2}, {2255,3230,2},{2252,3232,2},{2252,3233,2},{2253,3232,2},{2260,3233,2},{2260,3242,2}, {2265,3242,2},{2268,3245,2},{2270,3248,2},{2272,3247,2},{2275,3258,2},{2282,3260,2}, {2283,3260,2},{2283,3263,2},{2287,3262,2},{2287,3260,2},{2290,3260,2},{2288,3263,2}, {2290,3263,2},{2292,3263,2},{2293,3265,2},{2292,3270,2},{2295,3268,2},{2297,3270,2}, {2295,3272,2},{2293,3270,2},{2293,3272,2},{2298,3273,2},{2300,3273,2},{2300,3275,2}, {2305,3273,2},{2307,3275,2},{2307,3278,2},{2302,3278,2},{2298,3287,2},{2292,3293,2}, {2295,3293,2},{2292,3298,2},{2292,3307,2},{2297,3300,2},{2297,3295,2},{2298,3295,2}, {2297,3293,2},{2300,3293,2},{2302,3295,2},{2303,3293,2},{2307,3290,2},{2307,3287,2}, {2308,3287,2},{2313,3285,2},{2317,3285,2},{2317,3288,2},{2313,3293,2},{2313,3297,2}, {2322,3292,2},{2323,3290,2},{2325,3292,2},{2325,3297,2},{2323,3295,2},{2322,3300,2}, {2323,3302,2},{2327,3300,2},{2333,3302,2},{2333,3298,2},{2335,3297,2},{2337,3298,2}, {2337,3300,2},{2340,3300,2},{2342,3298,2},{2340,3297,2},{2338,3297,2},{2340,3295,2}, {2342,3297,2},{2345,3292,2},{2347,3292,2},{2348,3293,2},{2348,3290,2},{2352,3290,2}, {2350,3300,2},{2352,3303,2},{2352,3297,2},{2355,3297,2},{2353,3295,2},{2357,3295,2}, {2355,3293,2},{2357,3292,2},{2358,3290,2},{2362,3290,2},{2363,3292,2},{2365,3292,2}, {2362,3298,2},{2363,3297,2},{2365,3298,2},{2367,3298,2},{2368,3300,2},{2370,3298,2}, {2372,3300,2},{2373,3297,2},{2375,3298,2},{2377,3295,2},{2382,3293,2},{2387,3288,2}, {2388,3290,2},{2392,3288,2},{2393,3290,2},{2398,3288,2},{1163,3732,130}, {1167,3728,2},{1170,3730,2},{1170,3733,2},{1173,3730,2},{1177,3730,2},{1180,3728,2}, {1183,3722,2},{1180,3718,2},{1180,3713,2},{1185,3712,2},{1185,3710,2},{1180,3708,2}, {1183,3707,2},{1183,3703,2},{1188,3703,2},{1188,3700,2},{1190,3698,2},{1193,3700,2}, {1205,3700,2},{1210,3702,2},{1212,3700,2},{1213,3702,2},{1217,3702,2},{1225,3707,2}, {1228,3713,2},{1227,3717,2},{1222,3717,2},{1220,3727,2},{1222,3728,2},{1225,3728,2}, {1228,3732,2},{1227,3735,2},{1228,3738,2},{1230,3748,2},{1228,3752,2},{1223,3755,2}, {1217,3755,2},{1212,3760,2},{1202,3758,2},{1200,3757,2},{1198,3757,2},{1192,3753,2}, {1190,3748,2},{1183,3752,2},{1183,3748,2},{1180,3745,2},{1173,3743,2},{1165,3742,2}, {1162,3737,2},{1163,3732,2},{465,3617,130},{462,3618,2},{460,3617,2},{453,3620,2}, {448,3620,2},{445,3622,2},{433,3618,2},{430,3622,2},{418,3622,2},{413,3625,2}, {407,3622,2},{403,3622,2},{400,3620,2},{397,3620,2},{395,3618,2},{392,3620,2}, {388,3622,2},{375,3627,2},{368,3625,2},{368,3622,2},{360,3620,2},{352,3620,2}, {337,3625,2},{335,3625,2},{332,3622,2},{325,3628,2},{318,3630,2},{318,3633,2}, {312,3638,2},{302,3638,2},{298,3643,2},{290,3653,2},{290,3665,2},{288,3668,2}, {285,3670,2},{282,3670,2},{273,3670,2},{272,3668,2},{248,3670,2},{242,3665,2}, {240,3662,2},{242,3660,2},{240,3655,2},{245,3652,2},{248,3653,2},{252,3653,2}, {257,3652,2},{265,3643,2},{272,3645,2},{285,3638,2},{292,3628,2},{295,3625,2}, {298,3625,2},{297,3622,2},{298,3618,2},{298,3613,2},{302,3612,2},{303,3613,2}, {312,3615,2},{317,3613,2},{322,3615,2},{320,3612,2},{322,3610,2},{325,3603,2}, {332,3598,2},{332,3595,2},{342,3593,2},{347,3595,2},{355,3593,2},{355,3592,2}, {348,3593,2},{348,3590,2},{355,3590,2},{363,3583,2},{370,3583,2},{378,3585,2}, {388,3587,2},{395,3585,2},{413,3593,2},{438,3592,2},{458,3595,2},{463,3598,2}, {463,3600,2},{458,3600,2},{452,3603,2},{455,3605,2},{457,3603,2},{462,3603,2}, {463,3603,2},{462,3613,2},{463,3613,2},{465,3612,2},{467,3613,2},{467,3617,2}, {465,3617,2},{-8,2973,130},{-8,2975,2},{-13,2978,2},{-13,2980,2},{-17,2982,2}, {-17,2985,2},{-15,2987,2},{-15,2990,2},{-18,2988,2},{-28,2988,2},{-38,2982,2}, {-42,2975,2},{-45,2968,2},{-48,2965,2},{-47,2965,2},{-48,2963,2},{-57,2960,2}, {-60,2957,2},{-63,2948,2},{-62,2947,2},{-60,2943,2},{-67,2942,2},{-70,2937,2}, {-62,2938,2},{-58,2933,2},{-60,2932,2},{-58,2930,2},{-57,2932,2},{-53,2935,2}, {-48,2932,2},{-47,2937,2},{-42,2938,2},{-38,2938,2},{-33,2943,2},{-25,2945,2}, {-17,2950,2},{-12,2967,2},{-8,2970,2},{-8,2975,2},{-168,2922,130},{-170,2925,2}, {-173,2925,2},{-173,2927,2},{-178,2927,2},{-183,2928,2},{-190,2928,2},{-193,2930,2}, {-193,2932,2},{-198,2933,2},{-198,2935,2},{-200,2933,2},{-203,2937,2},{-205,2937,2}, {-203,2933,2},{-207,2933,2},{-207,2932,2},{-210,2932,2},{-207,2928,2},{-213,2927,2}, {-212,2927,2},{-208,2927,2},{-210,2925,2},{-213,2925,2},{-215,2927,2},{-217,2928,2}, {-215,2923,2},{-217,2920,2},{-220,2922,2},{-220,2918,2},{-223,2918,2},{-225,2920,2}, {-227,2918,2},{-225,2917,2},{-227,2915,2},{-233,2912,2},{-228,2912,2},{-232,2910,2}, {-232,2908,2},{-240,2905,2},{-238,2905,2},{-237,2907,2},{-230,2903,2},{-230,2902,2}, {-237,2900,2},{-238,2898,2},{-240,2890,2},{-248,2888,2},{-247,2888,2},{-248,2887,2}, {-247,2885,2},{-245,2883,2},{-237,2885,2},{-232,2893,2},{-232,2895,2},{-227,2897,2}, {-225,2897,2},{-233,2888,2},{-228,2892,2},{-225,2893,2},{-223,2892,2},{-225,2888,2}, {-227,2887,2},{-222,2885,2},{-218,2887,2},{-217,2887,2},{-217,2888,2},{-215,2890,2}, {-213,2885,2},{-210,2890,2},{-210,2892,2},{-205,2897,2},{-200,2895,2},{-198,2893,2}, {-202,2890,2},{-203,2892,2},{-205,2890,2},{-205,2888,2},{-202,2888,2},{-197,2890,2}, {-197,2893,2},{-193,2895,2},{-183,2900,2},{-180,2903,2},{-178,2902,2},{-175,2902,2}, {-175,2903,2},{-167,2910,2},{-162,2908,2},{-163,2907,2},{-170,2902,2},{-167,2902,2}, {-162,2903,2},{-158,2905,2},{-163,2912,2},{-163,2915,2},{-167,2918,2},{-170,2923,2}, {-268,1818,130},{-267,1822,2},{-255,1825,2},{-250,1822,2},{-242,1823,2}, {-240,1823,2},{-240,1827,2},{-235,1828,2},{-212,1830,2},{-202,1818,2},{-198,1818,2}, {-192,1817,2},{-188,1818,2},{-183,1817,2},{-178,1805,2},{-172,1805,2},{-167,1808,2}, {-165,1812,2},{-167,1813,2},{-172,1815,2},{-172,1820,2},{-173,1820,2},{-170,1822,2}, {-165,1818,2},{-160,1820,2},{-158,1825,2},{-160,1828,2},{-167,1828,2},{-167,1832,2}, {-165,1833,2},{-165,1835,2},{-160,1840,2},{-160,1843,2},{-162,1847,2},{-160,1848,2}, {-158,1852,2},{-167,1848,2},{-172,1845,2},{-178,1830,2},{-180,1832,2},{-182,1830,2}, {-183,1830,2},{-187,1828,2},{-190,1828,2},{-195,1828,2},{-200,1830,2},{-200,1835,2}, {-202,1837,2},{-198,1838,2},{-197,1842,2},{-197,1843,2},{-205,1840,2},{-218,1842,2}, {-218,1847,2},{-208,1857,2},{-208,1860,2},{-213,1860,2},{-218,1855,2},{-223,1843,2}, {-225,1845,2},{-227,1850,2},{-230,1840,2},{-240,1835,2},{-247,1828,2},{-257,1830,2}, {-268,1825,2},{-272,1822,2},{-272,1818,2},{-268,1818,2},{-942,2855,130}, {-943,2853,2},{-942,2853,2},{-938,2852,2},{-937,2850,2},{-938,2848,2},{-942,2848,2}, {-945,2848,2},{-947,2847,2},{-947,2850,2},{-950,2853,2},{-953,2845,2},{-952,2835,2}, {-953,2833,2},{-953,2832,2},{-943,2835,2},{-940,2833,2},{-938,2832,2},{-930,2833,2}, {-928,2832,2},{-922,2835,2},{-917,2832,2},{-908,2833,2},{-897,2848,2},{-888,2853,2}, {-868,2873,2},{-850,2887,2},{-848,2888,2},{-850,2892,2},{-848,2890,2},{-860,2910,2}, {-865,2915,2},{-880,2910,2},{-885,2908,2},{-887,2905,2},{-900,2900,2},{-903,2892,2}, {-908,2890,2},{-913,2885,2},{-920,2880,2},{-932,2872,2},{-933,2870,2},{-937,2873,2}, {-945,2872,2},{-945,2870,2},{-940,2867,2},{-940,2862,2},{-943,2853,2},{-827,3057,130}, {-820,3057,2},{-815,3058,2},{-810,3053,2},{-807,3053,2},{-803,3050,2},{-802,3045,2}, {-800,3045,2},{-797,3042,2},{-795,3042,2},{-793,3038,2},{-790,3035,2},{-788,3033,2}, {-788,3030,2},{-785,3027,2},{-777,3027,2},{-770,3023,2},{-762,3020,2},{-755,3022,2}, {-747,3022,2},{-742,3018,2},{-737,3018,2},{-733,3015,2},{-730,3015,2},{-723,3012,2}, {-720,3008,2},{-712,2997,2},{-708,2985,2},{-705,2978,2},{-695,2972,2},{-690,2967,2}, {-683,2963,2},{-678,2955,2},{-670,2950,2},{-662,2948,2},{-657,2948,2},{-653,2948,2}, {-652,2948,2},{-653,2947,2},{-652,2943,2},{-647,2940,2},{-642,2940,2},{-628,2933,2}, {-622,2933,2},{-618,2932,2},{-617,2928,2},{-613,2927,2},{-608,2918,2},{-592,2918,2}, {-590,2923,2},{-582,2932,2},{-577,2933,2},{-575,2935,2},{-575,2933,2},{-572,2935,2}, {-563,2933,2},{-562,2933,2},{-565,2937,2},{-563,2938,2},{-553,2933,2},{-547,2928,2}, {-523,2915,2},{-513,2913,2},{-508,2910,2},{-502,2912,2},{-478,2910,2},{-468,2912,2}, {-462,2910,2},{-455,2915,2},{-450,2917,2},{-450,2918,2},{-452,2920,2},{-442,2920,2}, {-435,2922,2},{-430,2922,2},{-412,2927,2},{-405,2923,2},{-412,2922,2},{-435,2915,2}, {-432,2905,2},{-428,2905,2},{-422,2910,2},{-418,2910,2},{-415,2908,2},{-410,2910,2}, {-403,2908,2},{-400,2910,2},{-392,2910,2},{-390,2912,2},{-387,2910,2},{-383,2913,2}, {-377,2910,2},{-367,2915,2},{-343,2913,2},{-335,2915,2},{-333,2922,2},{-333,2920,2}, {-335,2932,2},{-338,2935,2},{-353,2933,2},{-358,2935,2},{-377,2933,2},{-382,2937,2}, {-390,2938,2},{-397,2943,2},{-402,2943,2},{-410,2948,2},{-417,2950,2},{-420,2953,2}, {-425,2955,2},{-435,2960,2},{-438,2965,2},{-442,2967,2},{-445,2965,2},{-443,2967,2}, {-458,2965,2},{-478,2960,2},{-485,2960,2},{-487,2962,2},{-490,2958,2},{-492,2960,2}, {-492,2962,2},{-493,2967,2},{-495,2968,2},{-497,2973,2},{-502,2978,2},{-505,2977,2}, {-510,2982,2},{-517,2982,2},{-518,2980,2},{-520,2982,2},{-522,2982,2},{-523,2980,2}, {-527,2980,2},{-527,2978,2},{-533,2978,2},{-542,2975,2},{-545,2973,2},{-557,2985,2}, {-570,2990,2},{-577,2993,2},{-588,2995,2},{-592,2995,2},{-595,2988,2},{-600,2983,2}, {-600,2978,2},{-605,2973,2},{-612,2972,2},{-620,2973,2},{-627,2972,2},{-628,2975,2}, {-637,2982,2},{-645,2990,2},{-648,2995,2},{-650,2995,2},{-645,3007,2},{-647,3015,2}, {-662,3028,2},{-663,3032,2},{-675,3040,2},{-680,3040,2},{-697,3057,2},{-702,3058,2}, {-703,3055,2},{-710,3055,2},{-712,3053,2},{-710,3050,2},{-712,3050,2},{-717,3053,2}, {-718,3053,2},{-722,3055,2},{-735,3062,2},{-743,3058,2},{-748,3060,2},{-750,3058,2}, {-752,3058,2},{-755,3062,2},{-758,3062,2},{-760,3065,2},{-765,3067,2},{-768,3072,2}, {-775,3075,2},{-778,3075,2},{-787,3080,2},{-790,3083,2},{-795,3085,2},{-797,3087,2}, {-802,3090,2},{-810,3092,2},{-812,3095,2},{-815,3097,2},{-817,3097,2},{-817,3095,2}, {-818,3095,2},{-823,3097,2},{-827,3098,2},{-830,3102,2},{-833,3103,2},{-838,3112,2}, {-843,3115,2},{-850,3113,2},{-853,3115,2},{-855,3117,2},{-860,3117,2},{-858,3117,2}, {-863,3120,2},{-875,3118,2},{-875,3117,2},{-872,3113,2},{-873,3113,2},{-875,3110,2}, {-877,3110,2},{-880,3103,2},{-878,3102,2},{-867,3090,2},{-857,3078,2},{-857,3072,2}, {-853,3072,2},{-853,3068,2},{-848,3068,2},{-850,3063,2},{-850,3065,2},{-852,3065,2}, {-857,3062,2},{-858,3055,2},{-858,3053,2},{-855,3057,2},{-852,3058,2},{-853,3050,2}, {-852,3047,2},{-850,3047,2},{-847,3045,2},{-843,3043,2},{-835,3047,2},{-830,3057,2}, {-828,3057,2},{-825,3057,2},{27,3398,130},{23,3400,2},{17,3398,2},{15,3400,2}, {10,3398,2},{10,3395,2},{8,3395,2},{0,3400,2},{-5,3400,2},{-5,3403,2},{-8,3402,2}, {-8,3405,2},{-12,3405,2},{-7,3407,2},{-7,3413,2},{-8,3413,2},{-10,3412,2}, {-12,3413,2},{-13,3408,2},{-15,3408,2},{-20,3413,2},{-18,3418,2},{-20,3418,2}, {-23,3420,2},{-25,3425,2},{-27,3425,2},{-30,3423,2},{-32,3425,2},{-33,3425,2}, {-35,3428,2},{-37,3428,2},{-38,3427,2},{-40,3428,2},{-40,3430,2},{-35,3432,2}, {-28,3438,2},{-23,3438,2},{-23,3435,2},{-20,3435,2},{-17,3445,2},{-18,3450,2}, {-15,3457,2},{-15,3460,2},{-8,3468,2},{-10,3472,2},{-8,3473,2},{-13,3472,2}, {-17,3473,2},{-20,3480,2},{-27,3482,2},{-28,3485,2},{-32,3483,2},{-32,3480,2}, {-28,3478,2},{-30,3475,2},{-33,3475,2},{-35,3475,2},{-33,3460,2},{-32,3457,2}, {-35,3445,2},{-40,3445,2},{-45,3450,2},{-47,3450,2},{-53,3442,2},{-52,3440,2}, {-50,3442,2},{-48,3440,2},{-45,3440,2},{-45,3437,2},{-47,3437,2},{-48,3433,2}, {-45,3432,2},{-45,3430,2},{-48,3430,2},{-47,3428,2},{-43,3425,2},{-43,3422,2}, {-42,3422,2},{-42,3420,2},{-48,3417,2},{-53,3415,2},{-53,3413,2},{-53,3410,2}, {-55,3410,2},{-57,3407,2},{-60,3408,2},{-63,3405,2},{-73,3403,2},{-73,3407,2}, {-78,3408,2},{-80,3407,2},{-87,3418,2},{-88,3418,2},{-93,3413,2},{-100,3413,2}, {-98,3408,2},{-98,3410,2},{-98,3407,2},{-100,3407,2},{-100,3403,2},{-102,3405,2}, {-102,3410,2},{-103,3407,2},{-107,3407,2},{-110,3403,2},{-110,3398,2},{-112,3398,2}, {-113,3400,2},{-117,3398,2},{-120,3392,2},{-125,3387,2},{-128,3390,2},{-128,3393,2}, {-130,3393,2},{-133,3398,2},{-137,3398,2},{-137,3397,2},{-135,3398,2},{-133,3397,2}, {-132,3390,2},{-133,3380,2},{-137,3382,2},{-138,3382,2},{-138,3383,2},{-142,3385,2}, {-140,3382,2},{-138,3380,2},{-142,3378,2},{-143,3378,2},{-143,3385,2},{-147,3387,2}, {-147,3388,2},{-150,3390,2},{-148,3393,2},{-150,3393,2},{-152,3395,2},{-153,3392,2}, {-152,3388,2},{-152,3383,2},{-147,3380,2},{-148,3378,2},{-150,3372,2},{-147,3368,2}, {-148,3365,2},{-152,3368,2},{-153,3368,2},{-155,3367,2},{-157,3362,2},{-157,3365,2}, {-158,3365,2},{-160,3368,2},{-162,3368,2},{-163,3367,2},{-163,3372,2},{-168,3370,2}, {-168,3353,2},{-177,3365,2},{-178,3365,2},{-177,3357,2},{-182,3355,2},{-182,3353,2}, {-183,3352,2},{-185,3347,2},{-183,3345,2},{-180,3345,2},{-180,3338,2},{-185,3332,2}, {-192,3330,2},{-192,3328,2},{-193,3330,2},{-193,3333,2},{-192,3335,2},{-188,3345,2}, {-188,3347,2},{-190,3345,2},{-192,3348,2},{-193,3348,2},{-195,3347,2},{-197,3353,2}, {-198,3353,2},{-198,3357,2},{-203,3355,2},{-202,3348,2},{-197,3340,2},{-198,3338,2}, {-203,3340,2},{-205,3338,2},{-202,3333,2},{-205,3332,2},{-202,3330,2},{-200,3328,2}, {-202,3327,2},{-203,3328,2},{-207,3330,2},{-205,3322,2},{-208,3322,2},{-212,3320,2}, {-213,3322,2},{-212,3327,2},{-213,3333,2},{-217,3337,2},{-215,3343,2},{-218,3360,2}, {-217,3362,2},{-212,3368,2},{-208,3377,2},{-213,3382,2},{-222,3383,2},{-228,3375,2}, {-228,3372,2},{-230,3368,2},{-232,3365,2},{-237,3360,2},{-238,3353,2},{-242,3350,2}, {-243,3353,2},{-245,3353,2},{-245,3347,2},{-247,3340,2},{-250,3347,2},{-253,3345,2}, {-253,3342,2},{-255,3343,2},{-255,3340,2},{-253,3338,2},{-253,3335,2},{-252,3335,2}, {-250,3333,2},{-252,3333,2},{-250,3330,2},{-252,3320,2},{-247,3317,2},{-247,3313,2}, {-242,3313,2},{-238,3310,2},{-238,3302,2},{-238,3295,2},{-242,3292,2},{-245,3290,2}, {-247,3290,2},{-248,3287,2},{-257,3292,2},{-257,3288,2},{-263,3287,2},{-268,3292,2}, {-270,3288,2},{-272,3288,2},{-277,3292,2},{-278,3297,2},{-280,3293,2},{-282,3293,2}, {-283,3297,2},{-285,3297,2},{-285,3302,2},{-288,3303,2},{-287,3295,2},{-285,3292,2}, {-280,3290,2},{-283,3288,2},{-285,3285,2},{-288,3283,2},{-297,3282,2},{-302,3275,2}, {-298,3275,2},{-293,3275,2},{-292,3280,2},{-288,3275,2},{-288,3272,2},{-287,3272,2}, {-283,3285,2},{-280,3285,2},{-275,3287,2},{-272,3287,2},{-272,3282,2},{-268,3285,2}, {-267,3282,2},{-265,3280,2},{-263,3282,2},{-260,3282,2},{-258,3283,2},{-257,3283,2}, {-257,3280,2},{-252,3283,2},{-248,3280,2},{-250,3277,2},{-253,3273,2},{-248,3273,2}, {-252,3268,2},{-252,3267,2},{-248,3270,2},{-243,3265,2},{-240,3267,2},{-238,3265,2}, {-248,3262,2},{-257,3252,2},{-255,3250,2},{-252,3252,2},{-250,3255,2},{-245,3255,2}, {-247,3250,2},{-245,3248,2},{-247,3243,2},{-243,3243,2},{-243,3237,2},{-242,3235,2}, {-242,3237,2},{-240,3237,2},{-240,3233,2},{-235,3232,2},{-233,3232,2},{-233,3235,2}, {-232,3232,2},{-227,3232,2},{-228,3225,2},{-227,3223,2},{-225,3222,2},{-232,3222,2}, {-232,3220,2},{-238,3217,2},{-238,3212,2},{-237,3212,2},{-237,3207,2},{-238,3207,2}, {-240,3207,2},{-243,3207,2},{-243,3210,2},{-247,3212,2},{-248,3215,2},{-250,3217,2}, {-255,3217,2},{-253,3212,2},{-250,3210,2},{-252,3207,2},{-253,3207,2},{-248,3203,2}, {-250,3202,2},{-248,3200,2},{-250,3198,2},{-260,3198,2},{-260,3193,2},{-263,3197,2}, {-268,3198,2},{-268,3200,2},{-272,3200,2},{-277,3202,2},{-277,3198,2},{-277,3197,2}, {-272,3197,2},{-268,3193,2},{-265,3193,2},{-265,3190,2},{-263,3190,2},{-272,3190,2}, {-272,3187,2},{-270,3188,2},{-268,3185,2},{-272,3182,2},{-277,3185,2},{-280,3183,2}, {-283,3182,2},{-283,3178,2},{-273,3178,2},{-272,3178,2},{-272,3175,2},{-268,3178,2}, {-267,3177,2},{-265,3178,2},{-265,3182,2},{-262,3182,2},{-262,3187,2},{-262,3180,2}, {-263,3177,2},{-262,3175,2},{-255,3175,2},{-255,3172,2},{-250,3172,2},{-250,3177,2}, {-247,3180,2},{-242,3180,2},{-240,3175,2},{-237,3175,2},{-237,3178,2},{-235,3175,2}, {-233,3175,2},{-233,3170,2},{-235,3170,2},{-237,3163,2},{-233,3163,2},{-215,3168,2}, {-212,3168,2},{-208,3170,2},{-205,3168,2},{-200,3170,2},{-200,3168,2},{-203,3167,2}, {-205,3162,2},{-202,3162,2},{-195,3163,2},{-190,3168,2},{-172,3172,2},{-167,3172,2}, {-162,3177,2},{-157,3175,2},{-155,3175,2},{-150,3173,2},{-148,3175,2},{-147,3177,2}, {-148,3178,2},{-148,3180,2},{-135,3182,2},{-132,3185,2},{-125,3187,2},{-117,3187,2}, {-113,3185,2},{-110,3187,2},{-107,3185,2},{-103,3187,2},{-102,3185,2},{-103,3183,2}, {-98,3183,2},{-105,3180,2},{-105,3177,2},{-103,3177,2},{-98,3178,2},{-100,3178,2}, {-95,3177,2},{-87,3177,2},{-85,3175,2},{-85,3170,2},{-80,3170,2},{-73,3173,2}, {-65,3180,2},{-63,3178,2},{-57,3180,2},{-53,3182,2},{-48,3183,2},{-43,3192,2}, {-30,3200,2},{-30,3202,2},{-33,3203,2},{-32,3203,2},{-25,3200,2},{-25,3198,2}, {-18,3198,2},{-18,3197,2},{-20,3192,2},{-15,3193,2},{-13,3192,2},{-10,3198,2}, {-10,3207,2},{-7,3205,2},{-7,3202,2},{-5,3202,2},{-3,3208,2},{-5,3212,2}, {-8,3218,2},{-5,3220,2},{-3,3222,2},{0,3220,2},{3,3220,2},{0,3220,2},{-3,3225,2}, {-3,3228,2},{0,3230,2},{2,3227,2},{5,3225,2},{2,3235,2},{-2,3235,2},{-3,3237,2}, {-2,3237,2},{2,3238,2},{5,3238,2},{8,3237,2},{8,3243,2},{12,3245,2},{10,3245,2}, {5,3242,2},{3,3243,2},{3,3247,2},{8,3250,2},{5,3252,2},{8,3253,2},{5,3255,2}, {5,3257,2},{7,3257,2},{12,3255,2},{10,3258,2},{12,3258,2},{13,3257,2},{13,3260,2}, {15,3258,2},{18,3258,2},{18,3257,2},{20,3258,2},{20,3262,2},{28,3265,2}, {28,3267,2},{23,3265,2},{22,3268,2},{17,3265,2},{17,3270,2},{20,3272,2}, {18,3273,2},{13,3270,2},{13,3265,2},{8,3267,2},{10,3275,2},{13,3275,2}, {10,3278,2},{15,3282,2},{15,3285,2},{18,3285,2},{17,3287,2},{20,3288,2}, {17,3290,2},{15,3288,2},{13,3290,2},{12,3287,2},{10,3290,2},{7,3290,2}, {8,3298,2},{18,3310,2},{22,3310,2},{22,3305,2},{25,3308,2},{27,3307,2}, {25,3312,2},{22,3312,2},{22,3313,2},{25,3313,2},{27,3317,2},{30,3315,2}, {32,3315,2},{37,3327,2},{38,3327,2},{40,3320,2},{43,3318,2},{43,3323,2}, {47,3325,2},{48,3328,2},{45,3328,2},{42,3330,2},{45,3335,2},{48,3337,2}, {48,3340,2},{45,3337,2},{42,3335,2},{38,3337,2},{38,3332,2},{35,3332,2}, {37,3337,2},{35,3337,2},{33,3337,2},{33,3340,2},{32,3343,2},{35,3342,2}, {35,3347,2},{33,3345,2},{32,3350,2},{30,3350,2},{30,3352,2},{28,3352,2}, {28,3345,2},{28,3340,2},{28,3343,2},{27,3342,2},{25,3345,2},{23,3342,2}, {22,3347,2},{18,3348,2},{23,3350,2},{20,3350,2},{22,3353,2},{18,3352,2}, {20,3353,2},{18,3355,2},{18,3357,2},{20,3358,2},{22,3362,2},{28,3363,2}, {32,3362,2},{32,3363,2},{32,3367,2},{33,3370,2},{32,3375,2},{27,3370,2}, {25,3375,2},{20,3370,2},{18,3375,2},{20,3380,2},{22,3378,2},{23,3380,2}, {20,3380,2},{15,3382,2},{17,3383,2},{20,3383,2},{17,3390,2},{20,3390,2}, {20,3392,2},{23,3392,2},{23,3395,2},{27,3398,2},{-1797,2702,130},{-1795,2702,2}, {-1793,2705,2},{-1790,2707,2},{-1790,2708,2},{-1788,2708,2},{-1783,2713,2}, {-1785,2710,2},{-1783,2708,2},{-1780,2708,2},{-1780,2710,2},{-1778,2708,2}, {-1775,2713,2},{-1768,2717,2},{-1770,2718,2},{-1767,2718,2},{-1765,2722,2}, {-1763,2723,2},{-1762,2722,2},{-1762,2725,2},{-1760,2725,2},{-1762,2727,2}, {-1760,2730,2},{-1757,2730,2},{-1757,2735,2},{-1753,2733,2},{-1753,2737,2}, {-1752,2737,2},{-1748,2737,2},{-1747,2738,2},{-1745,2732,2},{-1732,2745,2}, {-1728,2742,2},{-1727,2745,2},{-1727,2747,2},{-1723,2750,2},{-1718,2752,2}, {-1717,2755,2},{-1713,2755,2},{-1705,2762,2},{-1707,2767,2},{-1708,2765,2}, {-1710,2767,2},{-1707,2772,2},{-1705,2770,2},{-1702,2765,2},{-1698,2773,2}, {-1697,2773,2},{-1695,2768,2},{-1692,2773,2},{-1693,2775,2},{-1690,2782,2}, {-1690,2787,2},{-1687,2780,2},{-1683,2780,2},{-1685,2783,2},{-1682,2793,2}, {-1682,2797,2},{-1683,2797,2},{-1685,2797,2},{-1687,2802,2},{-1683,2807,2}, {-1682,2808,2},{-1680,2807,2},{-1678,2808,2},{-1675,2808,2},{-1677,2813,2}, {-1675,2813,2},{-1672,2813,2},{-1670,2820,2},{-1668,2820,2},{-1668,2817,2}, {-1665,2818,2},{-1663,2817,2},{-1663,2820,2},{-1667,2822,2},{-1665,2825,2}, {-1663,2825,2},{-1662,2825,2},{-1662,2827,2},{-1660,2833,2},{-1658,2832,2}, {-1657,2828,2},{-1655,2830,2},{-1653,2828,2},{-1653,2832,2},{-1657,2833,2}, {-1655,2838,2},{-1658,2837,2},{-1660,2840,2},{-1655,2845,2},{-1653,2848,2}, {-1652,2848,2},{-1653,2852,2},{-1657,2852,2},{-1653,2857,2},{-1653,2853,2}, {-1652,2855,2},{-1650,2863,2},{-1648,2865,2},{-1650,2868,2},{-1653,2868,2}, {-1653,2872,2},{-1348,3487,130},{-1353,3485,2},{-1363,3485,2},{-1367,3485,2}, {-1372,3487,2},{-1373,3490,2},{-1373,3507,2},{-1382,3508,2},{-1385,3512,2}, {-1395,3512,2},{-1405,3518,2},{-1410,3518,2},{-1418,3522,2},{-1425,3523,2}, {-1427,3525,2},{-1435,3528,2},{-1438,3527,2},{-1440,3523,2},{-1435,3518,2}, {-1430,3515,2},{-1430,3512,2},{-1425,3508,2},{-1420,3508,2},{-1418,3505,2}, {-1417,3503,2},{-1415,3495,2},{-1408,3493,2},{-1405,3493,2},{-1400,3487,2}, {-1403,3483,2},{-1410,3487,2},{-1413,3482,2},{-1417,3482,2},{-1420,3483,2}, {-1423,3482,2},{-1425,3480,2},{-1428,3470,2},{-1422,3470,2},{-1420,3463,2}, {-1413,3458,2},{-1412,3457,2},{-1398,3452,2},{-1393,3455,2},{-1390,3458,2}, {-1385,3460,2},{-1382,3458,2},{-1378,3462,2},{-1375,3462,2},{-1372,3463,2}, {-1370,3463,2},{-1362,3455,2},{-1357,3452,2},{-1358,3447,2},{-1357,3443,2}, {-1337,3432,2},{-1332,3432,2},{-1327,3435,2},{-1308,3433,2},{-1302,3435,2}, {-1295,3432,2},{-1290,3433,2},{-1293,3432,2},{-1290,3430,2},{-1287,3432,2}, {-1283,3427,2},{-1273,3428,2},{-1272,3423,2},{-1267,3420,2},{-1257,3418,2}, {-1250,3420,2},{-1240,3417,2},{-1238,3415,2},{-1238,3408,2},{-1237,3410,2}, {-1233,3403,2},{-1225,3400,2},{-1215,3403,2},{-1212,3407,2},{-1207,3407,2}, {-1205,3405,2},{-1200,3410,2},{-1195,3413,2},{-1190,3418,2},{-1188,3418,2}, {-1182,3420,2},{-1177,3425,2},{-1173,3427,2},{-1172,3432,2},{-1168,3432,2}, {-1165,3433,2},{-1158,3430,2},{-1155,3430,2},{-1152,3428,2},{-1130,3427,2}, {-1128,3423,2},{-1122,3423,2},{-1120,3422,2},{-1117,3422,2},{-1110,3425,2}, {-1102,3423,2},{-1097,3425,2},{-1080,3422,2},{-1073,3423,2},{-1070,3420,2}, {-1060,3420,2},{-1057,3417,2},{-1052,3422,2},{-1048,3420,2},{-1045,3420,2}, {-1042,3423,2},{-1042,3427,2},{-1040,3425,2},{-1033,3422,2},{-1032,3418,2}, {-1028,3415,2},{-1027,3415,2},{-1022,3408,2},{-1015,3403,2},{-1013,3402,2}, {-1005,3400,2},{-998,3398,2},{-997,3395,2},{-990,3395,2},{-988,3393,2}, {-983,3390,2},{-973,3390,2},{-970,3392,2},{-970,3393,2},{-967,3395,2},{-960,3397,2}, {-955,3395,2},{-948,3400,2},{-948,3405,2},{-950,3407,2},{-958,3415,2},{-973,3433,2}, {-978,3433,2},{-982,3438,2},{-998,3452,2},{-1007,3453,2},{-1010,3452,2}, {-1017,3455,2},{-1023,3457,2},{-1028,3458,2},{-1040,3457,2},{-1045,3457,2}, {-1048,3460,2},{-1052,3458,2},{-1057,3458,2},{-1058,3462,2},{-1062,3462,2}, {-1065,3465,2},{-1072,3465,2},{-1075,3468,2},{-1078,3465,2},{-1092,3465,2}, {-1098,3460,2},{-1102,3460,2},{-1110,3462,2},{-1118,3468,2},{-1120,3472,2}, {-1127,3473,2},{-1128,3475,2},{-1130,3473,2},{-1135,3477,2},{-1133,3480,2}, {-1135,3487,2},{-1138,3488,2},{-1145,3493,2},{-1148,3497,2},{-1157,3497,2}, {-1167,3497,2},{-1172,3495,2},{-1180,3497,2},{-1187,3493,2},{-1195,3490,2}, {-1203,3488,2},{-1205,3487,2},{-1207,3482,2},{-1210,3480,2},{-1212,3477,2}, {-1218,3470,2},{-1227,3472,2},{-1230,3470,2},{-1240,3470,2},{-1243,3470,2}, {-1248,3470,2},{-1253,3475,2},{-1260,3477,2},{-1265,3480,2},{-1270,3480,2}, {-1270,3482,2},{-1275,3482,2},{-1277,3480,2},{-1280,3478,2},{-1283,3478,2}, {-1287,3477,2},{-1295,3475,2},{-1300,3478,2},{-1308,3482,2},{-1317,3480,2}, {-1322,3482,2},{-1332,3478,2},{-1338,3487,2},{-1342,3485,2},{-1350,3487,2}, {-1653,2870,130},{-1653,2887,2},{-1657,2888,2},{-1657,2883,2},{-1658,2888,2}, {-1657,2895,2},{-1660,2893,2},{-1662,2900,2},{-1663,2893,2},{-1667,2895,2}, {-1667,2893,2},{-1672,2892,2},{-1668,2890,2},{-1667,2888,2},{-1668,2885,2}, {-1670,2885,2},{-1672,2888,2},{-1677,2887,2},{-1678,2883,2},{-1677,2880,2}, {-1680,2880,2},{-1682,2873,2},{-1677,2868,2},{-1673,2872,2},{-1672,2868,2}, {-1668,2870,2},{-1668,2868,2},{-1670,2863,2},{-1672,2863,2},{-1672,2858,2}, {-1673,2858,2},{-1673,2855,2},{-1675,2853,2},{-1677,2848,2},{-1682,2847,2}, {-1682,2843,2},{-1685,2847,2},{-1690,2847,2},{-1688,2845,2},{-1685,2845,2}, {-1683,2838,2},{-1680,2837,2},{-1677,2838,2},{-1675,2837,2},{-1675,2835,2}, {-1680,2835,2},{-1678,2833,2},{-1682,2832,2},{-1682,2827,2},{-1680,2827,2}, {-1682,2818,2},{-1685,2812,2},{-1690,2808,2},{-1692,2812,2},{-1693,2807,2}, {-1697,2807,2},{-1698,2805,2},{-1700,2805,2},{-1698,2812,2},{-1700,2808,2}, {-1703,2810,2},{-1705,2807,2},{-1708,2805,2},{-1705,2803,2},{-1705,2800,2}, {-1703,2800,2},{-1703,2797,2},{-1703,2795,2},{-1705,2797,2},{-1705,2793,2}, {-1710,2792,2},{-1713,2783,2},{-1717,2785,2},{-1715,2780,2},{-1720,2768,2}, {-1722,2772,2},{-1723,2768,2},{-1725,2768,2},{-1723,2765,2},{-1728,2768,2}, {-1730,2765,2},{-1733,2765,2},{-1737,2760,2},{-1738,2762,2},{-1748,2757,2}, {-1745,2757,2},{-1745,2755,2},{-1750,2755,2},{-1752,2747,2},{-1755,2745,2}, {-1757,2743,2},{-1757,2745,2},{-1755,2747,2},{-1757,2747,2},{-1758,2745,2}, {-1758,2737,2},{-1773,2722,2},{-1775,2722,2},{-1778,2723,2},{-1778,2720,2}, {-1782,2715,2},{-1783,2717,2},{-1787,2717,2},{-1788,2713,2},{-1792,2708,2}, {-1793,2710,2},{-1795,2707,2},{-1798,2708,2},{-1798,2703,2},{-1797,2702,2}, {1137,413,130},{1135,418,2},{1130,422,2},{1128,425,2},{1123,427,2},{1120,430,2}, {1120,442,2},{1115,453,2},{1110,458,2},{1097,467,2},{1095,470,2},{1090,475,2}, {1088,473,2},{1077,473,2},{1077,472,2},{1073,473,2},{1072,470,2},{1057,470,2}, {1057,468,2},{1058,468,2},{1057,463,2},{1055,462,2},{1052,462,2},{1052,467,2}, {1048,463,2},{1043,467,2},{1037,467,2},{1037,468,2},{1033,468,2},{1035,465,2}, {1032,467,2},{1022,462,2},{1020,463,2},{1018,460,2},{1020,460,2},{1015,458,2}, {1013,455,2},{1008,457,2},{1008,458,2},{1013,460,2},{1012,463,2},{1010,462,2}, {1010,460,2},{1008,462,2},{1007,460,2},{1005,460,2},{1005,462,2},{1000,460,2}, {997,463,2},{995,460,2},{990,462,2},{992,463,2},{990,465,2},{988,465,2}, {983,458,2},{985,457,2},{987,458,2},{988,458,2},{988,457,2},{993,457,2}, {993,455,2},{995,453,2},{998,457,2},{1003,455,2},{1002,452,2},{1007,455,2}, {1008,453,2},{1008,450,2},{1007,450,2},{1005,447,2},{1007,447,2},{1005,445,2}, {1008,447,2},{1010,450,2},{1013,447,2},{1012,443,2},{1013,443,2},{1015,452,2}, {1018,452,2},{1017,448,2},{1018,445,2},{1020,450,2},{1027,450,2},{1035,445,2}, {1038,442,2},{1040,438,2},{1037,435,2},{1038,433,2},{1042,438,2},{1040,445,2}, {1045,443,2},{1045,447,2},{1048,447,2},{1052,443,2},{1058,450,2},{1063,445,2}, {1067,447,2},{1063,448,2},{1067,452,2},{1062,452,2},{1058,458,2},{1057,460,2}, {1062,465,2},{1070,468,2},{1080,468,2},{1088,472,2},{1097,463,2},{1108,457,2}, {1117,445,2},{1118,440,2},{1118,430,2},{1122,427,2},{1127,423,2},{1128,420,2}, {1133,417,2},{1137,412,2},{1142,412,2},{1137,413,2},{897,23,130},{893,22,2}, {888,22,2},{882,25,2},{883,20,2},{882,18,2},{875,18,2},{873,22,2},{870,20,2}, {865,15,2},{863,17,2},{862,18,2},{858,18,2},{857,17,2},{858,13,2},{850,10,2}, {848,13,2},{847,13,2},{843,10,2},{840,10,2},{840,20,2},{840,25,2},{833,25,2}, {833,30,2},{832,30,2},{832,20,2},{830,23,2},{830,22,2},{825,20,2},{823,20,2}, {822,15,2},{820,22,2},{818,20,2},{813,18,2},{812,20,2},{812,28,2},{808,27,2}, {808,23,2},{808,22,2},{807,20,2},{805,15,2},{805,13,2},{803,12,2},{800,15,2}, {798,17,2},{793,8,2},{793,13,2},{788,12,2},{792,17,2},{790,18,2},{780,15,2}, {780,17,2},{785,18,2},{785,20,2},{787,20,2},{787,22,2},{790,22,2},{790,25,2}, {793,27,2},{792,27,2},{787,23,2},{787,27,2},{785,23,2},{785,27,2},{782,20,2}, {780,22,2},{778,28,2},{777,27,2},{775,28,2},{770,28,2},{770,27,2},{770,28,2}, {765,27,2},{765,28,2},{760,28,2},{758,30,2},{755,28,2},{758,23,2},{757,25,2}, {755,22,2},{753,20,2},{752,22,2},{753,25,2},{750,25,2},{748,23,2},{747,23,2}, {745,25,2},{747,27,2},{750,27,2},{748,27,2},{750,30,2},{752,28,2},{755,32,2}, {757,33,2},{755,33,2},{747,30,2},{743,30,2},{743,28,2},{742,28,2},{742,30,2}, {740,32,2},{738,28,2},{737,28,2},{735,27,2},{735,28,2},{730,27,2},{728,32,2}, {727,27,2},{722,27,2},{722,30,2},{718,27,2},{718,30,2},{717,28,2},{717,27,2}, {715,28,2},{712,27,2},{710,27,2},{710,28,2},{710,32,2},{705,30,2},{703,27,2}, {705,27,2},{705,25,2},{693,28,2},{695,25,2},{693,23,2},{685,22,2},{682,23,2}, {675,25,2},{665,25,2},{665,27,2},{668,30,2},{673,30,2},{678,32,2},{670,30,2}, {670,32,2},{663,30,2},{667,30,2},{665,28,2},{662,27,2},{662,23,2},{660,23,2}, {662,22,2},{662,20,2},{658,18,2},{663,17,2},{660,15,2},{660,17,2},{655,13,2}, {652,15,2},{650,13,2},{647,12,2},{645,13,2},{638,13,2},{627,8,2},{622,12,2}, {612,10,2},{615,7,2},{620,8,2},{627,7,2},{630,8,2},{630,7,2},{633,10,2}, {640,10,2},{643,12,2},{648,10,2},{647,8,2},{642,7,2},{642,3,2},{633,0,2}, {633,-2,2},{637,-3,2},{643,-3,2},{648,-10,2},{652,-12,2},{652,-17,2},{655,-23,2}, {657,-23,2},{660,-28,2},{662,-27,2},{662,-37,2},{668,-42,2},{670,-55,2}, {673,-57,2},{670,-60,2},{673,-62,2},{675,-65,2},{678,-65,2},{680,-70,2}, {685,-72,2},{683,-68,2},{685,-67,2},{683,-65,2},{683,-63,2},{677,-58,2}, {678,-58,2},{678,-55,2},{685,-55,2},{687,-55,2},{685,-53,2},{673,-52,2}, {672,-45,2},{673,-43,2},{670,-42,2},{672,-40,2},{680,-42,2},{685,-38,2}, {680,-37,2},{668,-35,2},{672,-33,2},{670,-30,2},{673,-28,2},{670,-27,2}, {672,-25,2},{675,-23,2},{675,-20,2},{673,-18,2},{672,-17,2},{670,-18,2}, {667,-18,2},{663,-17,2},{663,-12,2},{662,-12,2},{662,-10,2},{662,-8,2}, {662,-7,2},{663,-5,2},{665,-3,2},{673,-3,2},{672,-2,2},{675,-2,2},{677,-8,2}, {678,-8,2},{680,-5,2},{680,-8,2},{682,-8,2},{682,-5,2},{682,-3,2},{683,-5,2}, {685,-3,2},{688,-3,2},{687,-2,2},{685,-2,2},{683,0,2},{683,2,2},{685,2,2}, {683,3,2},{685,3,2},{685,7,2},{687,7,2},{690,10,2},{688,12,2},{692,12,2}, {692,8,2},{690,7,2},{690,0,2},{693,2,2},{693,5,2},{700,5,2},{697,7,2},{697,12,2}, {695,12,2},{695,13,2},{698,13,2},{700,8,2},{702,7,2},{703,7,2},{702,10,2}, {705,8,2},{705,13,2},{707,12,2},{707,8,2},{710,8,2},{710,7,2},{712,10,2}, {713,10,2},{713,8,2},{717,7,2},{715,5,2},{718,3,2},{717,2,2},{722,0,2}, {723,2,2},{722,2,2},{718,2,2},{718,7,2},{720,8,2},{717,10,2},{722,13,2}, {722,15,2},{723,13,2},{727,15,2},{727,17,2},{723,17,2},{727,20,2},{732,18,2}, {730,12,2},{733,12,2},{735,10,2},{743,3,2},{745,7,2},{747,3,2},{747,5,2}, {748,5,2},{748,3,2},{748,2,2},{750,0,2},{752,-8,2},{748,-7,2},{743,-3,2}, {742,-5,2},{745,-5,2},{747,-8,2},{745,-12,2},{745,-13,2},{747,-12,2},{748,-12,2}, {752,-17,2},{752,-20,2},{752,-22,2},{750,-23,2},{752,-25,2},{752,-22,2}, {755,-23,2},{755,-20,2},{757,-18,2},{753,-17,2},{753,-13,2},{757,-13,2}, {755,-12,2},{753,-8,2},{753,-5,2},{755,-7,2},{755,-5,2},{753,-2,2},{755,0,2}, {753,5,2},{757,0,2},{760,-2,2},{762,-7,2},{765,-5,2},{767,-8,2},{763,-12,2}, {765,-13,2},{763,-18,2},{765,-23,2},{765,-25,2},{765,-22,2},{763,-23,2}, {763,-28,2},{760,-30,2},{762,-32,2},{762,-43,2},{757,-47,2},{758,-47,2}, {760,-52,2},{755,-53,2},{757,-57,2},{755,-58,2},{755,-63,2},{753,-65,2}, {753,-67,2},{757,-67,2},{757,-55,2},{760,-55,2},{762,-52,2},{762,-48,2}, {763,-45,2},{763,-42,2},{768,-42,2},{767,-38,2},{765,-38,2},{765,-28,2}, {768,-27,2},{770,-23,2},{772,-27,2},{772,-22,2},{768,-17,2},{770,-17,2}, {772,-17,2},{773,-15,2},{773,-10,2},{773,-8,2},{775,-8,2},{777,-17,2},{778,-15,2}, {780,-17,2},{780,-13,2},{782,-13,2},{785,-17,2},{787,-17,2},{793,-17,2}, {792,-22,2},{798,-18,2},{797,-20,2},{798,-23,2},{802,-25,2},{805,-27,2}, {810,-32,2},{805,-32,2},{798,-35,2},{798,-37,2},{798,-40,2},{795,-45,2}, {797,-45,2},{802,-37,2},{805,-35,2},{807,-40,2},{810,-42,2},{810,-45,2}, {805,-50,2},{800,-55,2},{805,-53,2},{808,-52,2},{812,-50,2},{817,-55,2}, {815,-55,2},{812,-55,2},{807,-65,2},{810,-63,2},{812,-65,2},{810,-67,2}, {808,-72,2},{810,-75,2},{808,-77,2},{810,-77,2},{813,-75,2},{813,-73,2}, {812,-72,2},{815,-63,2},{813,-60,2},{818,-58,2},{820,-62,2},{820,-65,2}, {823,-65,2},{825,-68,2},{823,-70,2},{828,-70,2},{827,-75,2},{830,-73,2}, {832,-75,2},{832,-85,2},{833,-77,2},{833,-75,2},{850,-87,2},{850,-90,2}, {852,-88,2},{860,-92,2},{863,-95,2},{863,-98,2},{867,-102,2},{868,-108,2}, {867,-113,2},{863,-115,2},{858,-113,2},{855,-113,2},{853,-115,2},{857,-115,2}, {863,-118,2},{867,-118,2},{867,-128,2},{868,-128,2},{875,-137,2},{875,-140,2}, {873,-148,2},{872,-150,2},{868,-150,2},{863,-157,2},{867,-163,2},{867,-167,2}, {863,-168,2},{862,-172,2},{868,-167,2},{868,-160,2},{867,-160,2},{868,-152,2}, {873,-150,2},{877,-148,2},{877,-140,2},{878,-138,2},{877,-138,2},{880,-137,2}, {883,-138,2},{882,-135,2},{878,-137,2},{875,-135,2},{873,-132,2},{873,-130,2}, {870,-128,2},{868,-125,2},{868,-113,2},{872,-103,2},{868,-102,2},{877,-102,2}, {880,-107,2},{880,-118,2},{880,-110,2},{890,-115,2},{890,-117,2},{895,-118,2}, {900,-118,2},{897,-117,2},{900,-115,2},{903,-113,2},{912,-115,2},{908,-112,2}, {902,-110,2},{895,-115,2},{892,-115,2},{885,-110,2},{882,-105,2},{887,-102,2}, {880,-102,2},{875,-98,2},{868,-98,2},{865,-95,2},{863,-92,2},{855,-87,2}, {855,-85,2},{857,-83,2},{860,-78,2},{865,-80,2},{867,-83,2},{868,-85,2}, {870,-83,2},{870,-82,2},{877,-80,2},{877,-78,2},{872,-78,2},{868,-82,2}, {868,-78,2},{860,-73,2},{867,-70,2},{862,-72,2},{860,-72,2},{860,-70,2}, {857,-78,2},{853,-80,2},{852,-83,2},{848,-83,2},{845,-75,2},{838,-73,2}, {838,-70,2},{835,-70,2},{833,-65,2},{837,-63,2},{832,-63,2},{827,-57,2}, {828,-53,2},{823,-57,2},{820,-53,2},{822,-52,2},{818,-52,2},{818,-48,2}, {820,-47,2},{818,-45,2},{818,-40,2},{822,-38,2},{823,-40,2},{825,-38,2}, {825,-35,2},{822,-33,2},{823,-32,2},{825,-32,2},{825,-27,2},{823,-25,2}, {825,-22,2},{822,-22,2},{822,-18,2},{817,-18,2},{820,-22,2},{818,-23,2}, {820,-27,2},{818,-28,2},{820,-33,2},{813,-33,2},{813,-28,2},{812,-28,2}, {810,-25,2},{808,-23,2},{807,-25,2},{807,-20,2},{803,-18,2},{805,-15,2}, {803,-13,2},{797,-12,2},{795,-8,2},{795,-10,2},{793,-8,2},{790,-10,2},{788,-8,2}, {787,-8,2},{783,-7,2},{780,-8,2},{777,-7,2},{778,-2,2},{780,0,2},{780,2,2}, {778,0,2},{777,0,2},{780,3,2},{778,5,2},{777,8,2},{780,7,2},{782,8,2},{783,7,2}, {785,7,2},{785,5,2},{788,3,2},{788,7,2},{790,8,2},{793,3,2},{793,7,2},{797,5,2}, {798,10,2},{800,12,2},{802,10,2},{800,7,2},{800,5,2},{802,7,2},{805,3,2}, {807,3,2},{810,7,2},{807,7,2},{808,10,2},{810,12,2},{810,13,2},{807,13,2}, {808,18,2},{812,17,2},{813,15,2},{818,17,2},{818,13,2},{822,12,2},{822,8,2}, {823,10,2},{825,10,2},{823,12,2},{825,13,2},{825,15,2},{825,18,2},{830,18,2}, {833,17,2},{835,23,2},{838,22,2},{837,13,2},{838,8,2},{840,8,2},{842,8,2}, {845,7,2},{847,8,2},{847,12,2},{850,7,2},{853,8,2},{855,7,2},{860,13,2}, {858,17,2},{865,13,2},{867,13,2},{870,17,2},{882,15,2},{885,20,2},{888,18,2}, {897,20,2},{898,27,2},{897,23,2},{810,-548,130},{803,-553,2},{800,-553,2}, {798,-555,2},{795,-555,2},{793,-558,2},{792,-552,2},{792,-553,2},{790,-553,2}, {790,-558,2},{787,-558,2},{785,-560,2},{783,-558,2},{782,-563,2},{778,-560,2}, {778,-563,2},{777,-563,2},{775,-560,2},{773,-562,2},{775,-558,2},{778,-558,2}, {782,-550,2},{777,-553,2},{773,-555,2},{767,-558,2},{765,-558,2},{763,-562,2}, {760,-562,2},{757,-563,2},{755,-562,2},{757,-555,2},{753,-558,2},{750,-557,2}, {748,-558,2},{750,-558,2},{752,-563,2},{750,-563,2},{750,-568,2},{747,-570,2}, {745,-568,2},{742,-570,2},{742,-567,2},{738,-565,2},{740,-562,2},{738,-563,2}, {737,-563,2},{737,-565,2},{733,-567,2},{733,-565,2},{732,-567,2},{732,-562,2}, {727,-562,2},{725,-560,2},{723,-562,2},{722,-558,2},{720,-557,2},{725,-555,2}, {725,-558,2},{732,-558,2},{730,-557,2},{730,-552,2},{733,-552,2},{735,-555,2}, {738,-555,2},{737,-555,2},{735,-550,2},{738,-552,2},{742,-550,2},{742,-555,2}, {743,-555,2},{747,-555,2},{750,-552,2},{747,-552,2},{747,-550,2},{748,-550,2}, {748,-548,2},{745,-548,2},{747,-545,2},{752,-543,2},{757,-545,2},{757,-540,2}, {752,-540,2},{748,-540,2},{745,-538,2},{742,-542,2},{737,-543,2},{740,-537,2}, {743,-537,2},{742,-530,2},{735,-538,2},{733,-543,2},{728,-545,2},{728,-543,2}, {730,-537,2},{727,-538,2},{727,-540,2},{725,-538,2},{725,-540,2},{723,-540,2}, {723,-543,2},{725,-543,2},{723,-545,2},{723,-548,2},{720,-547,2},{717,-548,2}, {717,-547,2},{715,-547,2},{717,-545,2},{715,-543,2},{717,-540,2},{715,-540,2}, {712,-542,2},{712,-538,2},{708,-540,2},{710,-542,2},{708,-543,2},{707,-542,2}, {707,-538,2},{705,-538,2},{702,-538,2},{703,-535,2},{700,-537,2},{698,-535,2}, {695,-537,2},{697,-538,2},{693,-538,2},{695,-540,2},{693,-542,2},{697,-542,2}, {697,-545,2},{700,-545,2},{697,-547,2},{705,-550,2},{705,-555,2},{707,-555,2}, {707,-558,2},{708,-558,2},{708,-565,2},{707,-567,2},{710,-568,2},{710,-572,2}, {712,-572,2},{717,-568,2},{715,-573,2},{717,-573,2},{720,-573,2},{720,-577,2}, {722,-577,2},{723,-572,2},{723,-577,2},{730,-578,2},{727,-580,2},{725,-582,2}, {733,-583,2},{732,-580,2},{733,-578,2},{733,-575,2},{737,-578,2},{738,-575,2}, {742,-577,2},{743,-575,2},{743,-577,2},{742,-578,2},{743,-578,2},{745,-578,2}, {747,-575,2},{750,-577,2},{752,-573,2},{753,-577,2},{757,-577,2},{755,-572,2}, {757,-572,2},{758,-572,2},{762,-570,2},{762,-573,2},{765,-573,2},{763,-572,2}, {765,-570,2},{768,-572,2},{772,-570,2},{772,-575,2},{775,-575,2},{775,-572,2}, {777,-573,2},{780,-577,2},{780,-573,2},{777,-570,2},{777,-568,2},{780,-570,2}, {782,-568,2},{782,-570,2},{785,-570,2},{787,-573,2},{792,-573,2},{790,-570,2}, {788,-572,2},{787,-572,2},{788,-568,2},{787,-568,2},{785,-567,2},{785,-565,2}, {790,-565,2},{792,-563,2},{793,-563,2},{793,-562,2},{797,-562,2},{798,-558,2}, {803,-557,2},{807,-553,2},{810,-553,2},{810,-548,2},{1597,-390,130},{1593,-397,2}, {1588,-400,2},{1585,-402,2},{1587,-412,2},{1590,-413,2},{1588,-418,2},{1575,-422,2}, {1573,-428,2},{1565,-433,2},{1557,-433,2},{1550,-428,2},{1547,-425,2},{1542,-425,2}, {1537,-415,2},{1537,-412,2},{1538,-412,2},{1533,-407,2},{1532,-402,2},{1532,-398,2}, {1530,-398,2},{1528,-397,2},{1530,-402,2},{1528,-402,2},{1528,-403,2},{1527,-403,2}, {1530,-405,2},{1527,-407,2},{1530,-413,2},{1528,-417,2},{1527,-415,2},{1527,-417,2}, {1523,-417,2},{1523,-418,2},{1522,-420,2},{1522,-423,2},{1528,-418,2},{1525,-423,2}, {1525,-427,2},{1530,-420,2},{1532,-417,2},{1533,-420,2},{1538,-423,2},{1535,-425,2}, {1537,-428,2},{1538,-425,2},{1540,-427,2},{1547,-427,2},{1550,-430,2},{1555,-435,2}, {1567,-435,2},{1575,-428,2},{1575,-423,2},{1585,-422,2},{1590,-418,2},{1592,-413,2}, {1590,-410,2},{1587,-410,2},{1587,-403,2},{1590,-400,2},{1593,-398,2},{1595,-395,2}, {1597,-388,2},{1597,-390,2},{777,3053,130},{777,3057,2},{787,3057,2},{798,3058,2}, {812,3065,2},{825,3063,2},{837,3067,2},{848,3063,2},{852,3065,2},{855,3067,2}, {855,3072,2},{858,3077,2},{877,3083,2},{880,3083,2},{883,3085,2},{885,3083,2}, {887,3085,2},{892,3085,2},{897,3078,2},{903,3080,2},{905,3082,2},{907,3085,2}, {908,3087,2},{910,3090,2},{917,3090,2},{933,3110,2},{940,3112,2},{942,3113,2}, {943,3112,2},{947,3105,2},{948,3103,2},{952,3095,2},{950,3082,2},{950,3075,2}, {953,3068,2},{953,3050,2},{948,3047,2},{947,3042,2},{943,3040,2},{940,3037,2}, {937,3035,2},{935,3032,2},{932,3033,2},{930,3037,2},{923,3037,2},{922,3035,2}, {918,3035,2},{918,3032,2},{910,3032,2},{908,3027,2},{903,3023,2},{902,3020,2}, {900,3018,2},{893,3022,2},{890,3020,2},{887,3023,2},{882,3023,2},{880,3025,2}, {877,3023,2},{873,3023,2},{867,3032,2},{860,3027,2},{858,3028,2},{855,3027,2}, {852,3030,2},{850,3033,2},{848,3033,2},{847,3037,2},{840,3035,2},{838,3032,2}, {832,3033,2},{828,3032,2},{827,3033,2},{823,3032,2},{822,3033,2},{820,3030,2}, {817,3030,2},{812,3032,2},{813,3035,2},{810,3035,2},{810,3038,2},{805,3040,2}, {800,3043,2},{798,3043,2},{790,3050,2},{783,3052,2},{782,3053,2},{780,3052,2}, {780,3055,2},{778,3053,2},{777,3053,2},{68,2458,130},{73,2457,2},{77,2452,2}, {77,2432,2},{80,2428,2},{92,2423,2},{97,2417,2},{107,2393,2},{110,2378,2}, {117,2363,2},{142,2345,2},{157,2328,2},{167,2323,2},{178,2315,2},{185,2305,2}, {192,2298,2},{195,2292,2},{193,2282,2},{202,2272,2},{210,2267,2},{217,2248,2}, {220,2235,2},{222,2210,2},{218,2190,2},{215,2162,2},{217,2155,2},{213,2150,2}, {213,2142,2},{210,2138,2},{210,2128,2},{208,2130,2},{208,2128,2},{207,2112,2}, {205,2103,2},{207,2098,2},{207,2090,2},{202,2077,2},{203,2060,2},{203,2045,2}, {200,2035,2},{200,2022,2},{198,2017,2},{198,2013,2},{193,2003,2},{192,1990,2}, {183,1967,2},{183,1958,2},{173,1933,2},{168,1923,2},{162,1918,2},{160,1912,2}, {142,1892,2},{138,1885,2},{117,1858,2},{107,1850,2},{105,1845,2},{87,1833,2}, {80,1832,2},{73,1830,2},{77,1832,2},{57,1830,2},{55,1828,2},{67,1828,2}, {57,1827,2},{32,1823,2},{2,1813,2},{-7,1813,2},{-13,1808,2},{-18,1805,2}, {-33,1790,2},{-42,1783,2},{-42,1778,2},{-40,1777,2},{-33,1777,2},{-25,1773,2}, {-20,1773,2},{13,1782,2},{20,1785,2},{27,1792,2},{33,1797,2},{47,1797,2}, {53,1795,2},{60,1790,2},{67,1790,2},{78,1792,2},{102,1788,2},{125,1800,2}, {135,1800,2},{153,1808,2},{170,1810,2},{187,1807,2},{197,1810,2},{208,1808,2}, {228,1813,2},{232,1817,2},{240,1822,2},{243,1822,2},{262,1835,2},{235,1817,2}, {232,1810,2},{225,1808,2},{213,1808,2},{203,1805,2},{193,1807,2},{185,1805,2}, {155,1807,2},{148,1803,2},{142,1800,2},{118,1793,2},{105,1785,2},{102,1785,2}, {97,1785,2},{83,1788,2},{67,1787,2},{60,1788,2},{48,1793,2},{40,1793,2}, {35,1792,2},{22,1780,2},{-10,1770,2},{-17,1767,2},{-32,1772,2},{-45,1770,2}, {-50,1768,2},{-55,1763,2},{-65,1762,2},{-72,1755,2},{-73,1753,2},{-73,1750,2}, {-77,1747,2},{-88,1742,2},{-92,1735,2},{-98,1730,2},{-98,1725,2},{-103,1717,2}, {-105,1702,2},{-113,1693,2},{-115,1690,2},{-113,1690,2},{-113,1687,2},{-118,1683,2}, {-118,1682,2},{-142,1668,2},{-152,1663,2},{-158,1662,2},{-165,1658,2},{-170,1657,2}, {-173,1653,2},{-180,1652,2},{-187,1640,2},{-198,1633,2},{-207,1625,2},{-213,1620,2}, {-217,1615,2},{-220,1612,2},{-240,1613,2},{-248,1617,2},{-255,1617,2},{-258,1622,2}, {-263,1622,2},{-272,1618,2},{-292,1617,2},{-310,1620,2},{-307,1618,2},{-302,1622,2}, {-287,1618,2},{-273,1622,2},{-263,1625,2},{-233,1622,2},{-225,1625,2},{-213,1623,2}, {-212,1630,2},{-197,1652,2},{-182,1662,2},{-167,1668,2},{-162,1668,2},{-152,1677,2}, {-143,1678,2},{-122,1695,2},{-113,1707,2},{-112,1713,2},{-107,1717,2},{-107,1728,2}, {-105,1733,2},{-90,1747,2},{-83,1757,2},{-78,1760,2},{-75,1758,2},{-70,1762,2}, {-70,1767,2},{-67,1768,2},{-60,1778,2},{-45,1787,2},{-38,1792,2},{-35,1798,2}, {-28,1802,2},{-23,1808,2},{-15,1815,2},{-7,1818,2},{-2,1822,2},{5,1825,2}, {7,1830,2},{3,1835,2},{-2,1837,2},{-3,1840,2},{-2,1845,2},{0,1838,2},{5,1837,2}, {8,1832,2},{12,1833,2},{13,1833,2},{12,1832,2},{10,1828,2},{12,1828,2}, {32,1832,2},{43,1832,2},{57,1835,2},{63,1835,2},{68,1838,2},{72,1837,2}, {78,1837,2},{85,1840,2},{100,1852,2},{107,1855,2},{113,1865,2},{117,1873,2}, {150,1910,2},{157,1922,2},{160,1942,2},{162,1950,2},{168,1958,2},{170,1968,2}, {175,1973,2},{183,1987,2},{190,2005,2},{192,2015,2},{193,2020,2},{193,2037,2}, {198,2047,2},{195,2058,2},{197,2070,2},{198,2075,2},{197,2087,2},{192,2095,2}, {192,2112,2},{193,2122,2},{208,2138,2},{207,2145,2},{212,2158,2},{213,2178,2}, {212,2183,2},{217,2220,2},{215,2237,2},{213,2245,2},{208,2255,2},{197,2263,2}, {193,2270,2},{192,2278,2},{188,2285,2},{188,2290,2},{183,2302,2},{177,2305,2}, {162,2317,2},{142,2337,2},{123,2352,2},{110,2367,2},{107,2380,2},{107,2385,2}, {107,2388,2},{98,2405,2},{97,2412,2},{92,2417,2},{87,2420,2},{80,2427,2}, {75,2428,2},{73,2432,2},{73,2448,2},{72,2455,2},{68,2458,2},{2948,3490,128}, {2953,3488,0},{2960,3487,0},{2965,3488,0},{2970,3485,0},{2975,3485,0},{3000,3475,0}, {3002,3475,0},{3037,3462,0},{3042,3455,0},{3048,3457,0},{3053,3452,0},{3058,3452,0}, {3068,3450,0},{3102,3435,0},{3122,3427,0},{-167,4155,131},{-163,4155,3}, {-158,4155,3},{-153,4152,3},{-150,4148,3},{-147,4145,3},{-142,4142,3},{-138,4140,3}, {-133,4137,3},{-130,4133,3},{-125,4130,3},{-122,4127,3},{-118,4123,3},{-113,4120,3}, {-110,4117,3},{-105,4115,3},{-102,4112,3},{-97,4108,3},{-93,4105,3},{-90,4102,3}, {-87,4100,3},{-77,4100,3},{-70,4100,3},{-63,4100,3},{-57,4100,3},{-50,4100,3}, {-43,4100,3},{-37,4100,3},{-30,4100,3},{-23,4098,3},{-17,4098,3},{-10,4098,3}, {-3,4098,3},{3,4098,3},{8,4098,3},{13,4098,3},{20,4098,3},{25,4098,3},{30,4098,3}, {37,4098,3},{42,4098,3},{47,4098,3},{53,4098,3},{58,4098,3},{63,4098,3}, {70,4098,3},{75,4098,3},{80,4098,3},{87,4098,3},{92,4098,3},{97,4098,3}, {103,4098,3},{108,4098,3},{113,4098,3},{120,4098,3},{125,4098,3},{130,4098,3}, {137,4098,3},{142,4098,3},{147,4098,3},{153,4098,3},{158,4098,3},{163,4098,3}, {170,4098,3},{175,4098,3},{180,4098,3},{187,4098,3},{192,4098,3},{197,4098,3}, {203,4098,3},{208,4098,3},{213,4098,3},{220,4098,3},{225,4098,3},{230,4098,3}, {237,4098,3},{242,4098,3},{247,4098,3},{253,4098,3},{260,4098,3},{265,4098,3}, {272,4098,3},{277,4098,3},{283,4098,3},{285,4102,3},{290,4107,3},{295,4112,3}, {300,4117,3},{305,4122,3},{310,4127,3},{317,4133,3},{325,4140,3},{330,4143,3}, {335,4147,3},{340,4150,3},{345,4153,3},{350,4157,3},{355,4160,3},{360,4163,3}, {365,4167,3},{370,4170,3},{375,4173,3},{378,4178,3},{383,4182,3},{388,4185,3}, {393,4188,3},{398,4192,3},{402,4193,3},{407,4193,3},{408,4195,3},{413,4203,3}, {417,4207,3},{420,4212,3},{422,4220,3},{420,4238,3},{427,4263,3},{428,4277,3}, {430,4287,3},{438,4293,3},{448,4295,3},{452,4298,3},{467,4315,3},{477,4335,3}, {488,4367,3},{492,4385,3},{497,4398,3},{497,4403,3},{495,4408,3},{495,4413,3}, {495,4418,3},{495,4423,3},{495,4428,3},{493,4435,3},{493,4440,3},{493,4445,3}, {493,4450,3},{493,4455,3},{493,4460,3},{492,4465,3},{492,4470,3},{492,4475,3}, {492,4480,3},{492,4485,3},{490,4490,3},{490,4495,3},{495,4500,3},{500,4503,3}, {505,4508,3},{510,4513,3},{515,4517,3},{518,4522,3},{523,4527,3},{528,4530,3}, {533,4535,3},{538,4538,3},{543,4543,3},{548,4548,3},{553,4552,3},{558,4557,3}, {562,4562,3},{567,4565,3},{572,4570,3},{577,4575,3},{582,4580,3},{587,4583,3}, {592,4588,3},{597,4593,3},{602,4597,3},{605,4600,3},{610,4605,3},{615,4610,3}, {620,4615,3},{625,4620,3},{630,4625,3},{635,4628,3},{640,4633,3},{643,4638,3}, {648,4643,3},{653,4648,3},{658,4653,3},{663,4658,3},{668,4663,3},{673,4667,3}, {678,4672,3},{683,4677,3},{688,4682,3},{693,4687,3},{698,4692,3},{702,4697,3}, {707,4700,3},{710,4705,3},{715,4710,3},{720,4715,3},{725,4720,3},{730,4725,3}, {735,4730,3},{740,4735,3},{745,4740,3},{750,4745,3},{755,4750,3},{760,4755,3}, {763,4760,3},{768,4765,3},{773,4772,3},{778,4777,3},{783,4782,3},{788,4787,3}, {792,4790,3},{797,4795,3},{800,4798,3},{800,4793,3},{800,4788,3},{800,4783,3}, {800,4778,3},{800,4773,3},{800,4768,3},{800,4763,3},{800,4757,3},{800,4752,3}, {800,4747,3},{800,4742,3},{800,4737,3},{800,4732,3},{800,4727,3},{800,4720,3}, {800,4715,3},{800,4710,3},{800,4705,3},{800,4700,3},{802,4697,3},{803,4692,3}, {805,4687,3},{807,4680,3},{808,4675,3},{810,4670,3},{812,4665,3},{813,4660,3}, {815,4655,3},{817,4650,3},{818,4645,3},{822,4640,3},{823,4635,3},{825,4630,3}, {827,4625,3},{828,4620,3},{830,4615,3},{832,4610,3},{833,4605,3},{835,4598,3}, {837,4593,3},{838,4588,3},{840,4583,3},{842,4578,3},{843,4573,3},{845,4568,3}, {847,4563,3},{848,4558,3},{850,4553,3},{852,4548,3},{853,4543,3},{855,4538,3}, {857,4533,3},{858,4528,3},{860,4522,3},{862,4517,3},{863,4512,3},{865,4507,3}, {867,4502,3},{868,4497,3},{870,4492,3},{872,4487,3},{875,4482,3},{875,4477,3}, {878,4472,3},{880,4467,3},{882,4460,3},{883,4455,3},{885,4450,3},{887,4445,3}, {888,4440,3},{890,4435,3},{892,4430,3},{893,4425,3},{895,4420,3},{897,4415,3}, {898,4410,3},{900,4405,3},{900,4402,3},{935,4363,3},{933,4358,3},{935,4355,3}, {943,4343,3},{948,4343,3},{952,4340,3},{955,4338,3},{957,4335,3},{962,4333,3}, {965,4328,3},{988,4322,3},{990,4318,3},{990,4312,3},{993,4308,3},{997,4305,3}, {1008,4302,3},{1012,4297,3},{1017,4290,3},{1022,4285,3},{1045,4278,3},{1053,4272,3}, {1063,4267,3},{1067,4272,3},{1078,4277,3},{1082,4282,3},{1088,4285,3},{1092,4292,3}, {1100,4295,3},{1105,4298,3},{1110,4302,3},{1115,4305,3},{1120,4308,3},{1125,4312,3}, {1130,4315,3},{1135,4318,3},{1140,4320,3},{1145,4323,3},{1148,4325,3},{1147,4328,3}, {1150,4327,3},{1150,4330,3},{1145,4332,3},{1145,4335,3},{1140,4337,3},{1140,4342,3}, {1137,4347,3},{1138,4348,3},{1132,4348,3},{1128,4348,3},{1123,4350,3},{1118,4355,3}, {1098,4367,3},{1082,4382,3},{1068,4395,3},{1065,4403,3},{1058,4410,3},{1045,4428,3}, {1042,4438,3},{1043,4443,3},{1042,4457,3},{1047,4475,3},{1042,4492,3},{1043,4498,3}, {1045,4500,3},{1045,4498,3},{1047,4503,3},{1050,4507,3},{1053,4517,3},{1057,4520,3}, {1058,4525,3},{1067,4533,3},{1065,4540,3},{1067,4547,3},{1072,4555,3},{1077,4558,3}, {1077,4562,3},{1080,4567,3},{1085,4573,3},{1088,4577,3},{1087,4580,3},{1083,4585,3}, {1082,4585,3},{1082,4587,3},{1083,4587,3},{1085,4588,3},{1078,4598,3},{1077,4612,3}, {1078,4625,3},{1070,4633,3},{1068,4645,3},{1073,4653,3},{1075,4665,3},{1087,4687,3}, {1090,4688,3},{1093,4698,3},{1097,4702,3},{1097,4707,3},{1103,4715,3},{1108,4717,3}, {1110,4723,3},{1118,4740,3},{1118,4752,3},{1113,4762,3},{1110,4770,3},{1113,4778,3}, {1112,4787,3},{1113,4790,3},{1112,4795,3},{1113,4813,3},{1115,4817,3},{1122,4822,3}, {1123,4830,3},{1127,4835,3},{1128,4847,3},{1132,4852,3},{1133,4865,3},{1125,4888,3}, {1125,4898,3},{1128,4910,3},{1130,4923,3},{1133,4930,3},{1133,4935,3},{1133,4943,3}, {1138,4952,3},{1145,4957,3},{1147,4968,3},{1145,4978,3},{1148,4987,3},{1152,4993,3}, {1152,5008,3},{1157,5017,3},{1158,5027,3},{1165,5035,3},{1168,5043,3},{1175,5050,3}, {1187,5053,3},{1190,5057,3},{1195,5063,3},{1195,5068,3},{1200,5078,3},{1195,5085,3}, {1193,5097,3},{1187,5107,3},{1187,5115,3},{1183,5123,3},{1183,5128,3},{1178,5127,3}, {1177,5125,3},{1167,5125,3},{1160,5118,3},{1150,5113,3},{1145,5112,3},{1133,5108,3}, {1118,5108,3},{1117,5110,3},{1115,5117,3},{1097,5112,3},{1070,5113,3},{1058,5117,3}, {1057,5110,3},{1048,5110,3},{1047,5103,3},{1043,5102,3},{1042,5103,3},{1043,5110,3}, {1043,5122,3},{1045,5122,3},{1048,5120,3},{1052,5120,3},{1057,5117,3},{1048,5132,3}, {1048,5137,3},{1045,5142,3},{1037,5137,3},{1038,5128,3},{1042,5125,3},{1042,5115,3}, {1038,5102,3},{1032,5090,3},{1018,5090,3},{1010,5088,3},{1000,5090,3},{977,5083,3}, {970,5083,3},{957,5080,3},{945,5085,3},{942,5083,3},{932,5077,3},{928,5070,3}, {922,5065,3},{918,5065,3},{913,5065,3},{907,5063,3},{898,5055,3},{895,5048,3}, {887,5043,3},{872,5038,3},{862,5032,3},{853,5032,3},{845,5025,3},{840,5023,3}, {838,5020,3},{832,5015,3},{818,5012,3},{813,5007,3},{805,4993,3},{793,4983,3}, {783,4980,3},{782,4980,3},{780,4983,3},{773,4982,3},{765,4975,3},{758,4973,3}, {733,4960,3},{723,4952,3},{710,4943,3},{703,4938,3},{675,4922,3},{642,4907,3}, {628,4908,3},{615,4905,3},{582,4885,3},{562,4872,3},{547,4863,3},{540,4857,3}, {518,4842,3},{505,4830,3},{488,4820,3},{453,4800,3},{447,4795,3},{427,4777,3}, {418,4770,3},{408,4760,3},{388,4745,3},{382,4738,3},{378,4733,3},{375,4730,3}, {372,4727,3},{368,4723,3},{363,4718,3},{360,4715,3},{355,4712,3},{352,4708,3}, {347,4705,3},{343,4702,3},{340,4697,3},{335,4693,3},{332,4690,3},{328,4687,3}, {323,4683,3},{318,4678,3},{313,4672,3},{300,4662,3},{278,4635,3},{277,4633,3}, {273,4632,3},{270,4628,3},{265,4622,3},{260,4618,3},{257,4613,3},{252,4612,3}, {243,4602,3},{235,4590,3},{230,4582,3},{228,4578,3},{225,4573,3},{223,4568,3}, {220,4563,3},{217,4558,3},{215,4555,3},{212,4550,3},{210,4545,3},{208,4542,3}, {203,4537,3},{200,4532,3},{198,4528,3},{197,4522,3},{193,4517,3},{192,4512,3}, {190,4507,3},{187,4502,3},{185,4498,3},{182,4493,3},{178,4488,3},{175,4485,3}, {172,4478,3},{170,4475,3},{167,4472,3},{163,4467,3},{160,4463,3},{157,4458,3}, {155,4453,3},{150,4450,3},{148,4445,3},{145,4442,3},{142,4437,3},{140,4435,3}, {127,4422,3},{123,4415,3},{118,4413,3},{117,4408,3},{108,4403,3},{108,4398,3}, {102,4395,3},{92,4380,3},{87,4375,3},{78,4363,3},{73,4358,3},{70,4355,3}, {65,4348,3},{62,4347,3},{58,4343,3},{55,4340,3},{50,4335,3},{47,4332,3}, {43,4328,3},{38,4325,3},{35,4322,3},{32,4318,3},{27,4313,3},{23,4310,3}, {20,4307,3},{15,4303,3},{12,4300,3},{8,4297,3},{3,4293,3},{0,4290,3},{-3,4287,3}, {-7,4283,3},{-12,4278,3},{-15,4275,3},{-18,4272,3},{-22,4267,3},{-25,4263,3}, {-32,4257,3},{-35,4255,3},{-37,4252,3},{-43,4247,3},{-47,4248,3},{-47,4247,3}, {-45,4247,3},{-50,4242,3},{-68,4225,3},{-80,4218,3},{-82,4215,3},{-83,4207,3}, {-85,4208,3},{-90,4207,3},{-92,4203,3},{-97,4202,3},{-100,4197,3},{-90,4195,3}, {-95,4195,3},{-100,4195,3},{-102,4197,3},{-108,4195,3},{-118,4187,3},{-120,4190,3}, {-122,4188,3},{-120,4185,3},{-117,4183,3},{-125,4185,3},{-130,4182,3},{-157,4165,3}, {-167,4155,3},{1100,4295,131},{1100,4292,3},{1098,4290,3},{1100,4285,3}, {1098,4280,3},{1100,4278,3},{1108,4275,3},{1108,4268,3},{1110,4263,3},{1107,4250,3}, {1100,4240,3},{1102,4237,3},{1100,4235,3},{1098,4223,3},{1100,4213,3},{1098,4208,3}, {1095,4207,3},{1095,4197,3},{1093,4197,3},{1095,4193,3},{1098,4178,3},{1100,4178,3}, {1103,4180,3},{1125,4182,3},{1152,4177,3},{1175,4183,3},{1177,4188,3},{1180,4190,3}, {1182,4195,3},{1208,4213,3},{1210,4215,3},{1213,4217,3},{1225,4225,3},{1230,4232,3}, {1240,4233,3},{1253,4245,3},{1250,4253,3},{1237,4270,3},{1238,4272,3},{1238,4275,3}, {1242,4277,3},{1243,4282,3},{1253,4280,3},{1257,4287,3},{1263,4288,3},{1262,4292,3}, {1263,4295,3},{1270,4312,3},{1248,4330,3},{1247,4332,3},{1248,4333,3},{1243,4333,3}, {1238,4337,3},{1228,4337,3},{1223,4342,3},{1213,4342,3},{1203,4340,3},{1198,4337,3}, {1195,4317,3},{1185,4308,3},{1182,4303,3},{1182,4297,3},{1178,4295,3},{1178,4290,3}, {1175,4277,3},{1173,4275,3},{1168,4275,3},{1165,4270,3},{1160,4268,3},{1158,4267,3}, {1157,4262,3},{1160,4253,3},{1160,4252,3},{1157,4253,3},{1153,4252,3},{1148,4262,3}, {1148,4263,3},{1148,4268,3},{1152,4270,3},{1153,4267,3},{1155,4268,3},{1160,4280,3}, {1160,4308,3},{1158,4310,3},{1160,4312,3},{1162,4312,3},{1163,4313,3},{1162,4315,3}, {1158,4315,3},{1153,4320,3},{1153,4322,3},{1148,4325,3},{1145,4323,3},{1140,4320,3}, {1135,4318,3},{1130,4315,3},{1125,4312,3},{1120,4308,3},{1115,4305,3},{1110,4302,3}, {1105,4298,3},{1100,4295,3},{1423,3653,131},{1427,3655,3},{1437,3652,3}, {1442,3652,3},{1447,3652,3},{1452,3650,3},{1457,3650,3},{1462,3650,3},{1467,3650,3}, {1473,3648,3},{1478,3648,3},{1483,3648,3},{1488,3647,3},{1493,3647,3},{1498,3647,3}, {1503,3645,3},{1508,3645,3},{1515,3645,3},{1523,3655,3},{1543,3662,3},{1545,3665,3}, {1548,3663,3},{1575,3670,3},{1580,3677,3},{1622,3692,3},{1627,3697,3},{1635,3695,3}, {1642,3695,3},{1648,3692,3},{1652,3690,3},{1660,3692,3},{1663,3692,3},{1672,3698,3}, {1685,3702,3},{1687,3702,3},{1692,3702,3},{1695,3698,3},{1700,3702,3},{1705,3700,3}, {1707,3700,3},{1705,3710,3},{1702,3715,3},{1703,3718,3},{1702,3725,3},{1707,3730,3}, {1703,3742,3},{1707,3745,3},{1710,3748,3},{1720,3752,3},{1725,3753,3},{1732,3750,3}, {1733,3752,3},{1738,3773,3},{1747,3778,3},{1748,3782,3},{1748,3783,3},{1745,3787,3}, {1745,3792,3},{1750,3797,3},{1755,3805,3},{1755,3810,3},{1750,3810,3},{1748,3812,3}, {1750,3813,3},{1755,3813,3},{1753,3825,3},{1755,3827,3},{1760,3828,3},{1767,3837,3}, {1787,3847,3},{1802,3860,3},{1800,3860,3},{1795,3862,3},{1788,3867,3},{1785,3867,3}, {1778,3872,3},{1763,3882,3},{1753,3885,3},{1738,3893,3},{1730,3897,3},{1723,3897,3}, {1718,3902,3},{1707,3903,3},{1702,3907,3},{1688,3908,3},{1677,3913,3},{1672,3915,3}, {1672,3913,3},{1668,3917,3},{1662,3917,3},{1660,3913,3},{1655,3917,3},{1653,3915,3}, {1652,3918,3},{1620,3922,3},{1598,3927,3},{1590,3930,3},{1580,3943,3},{1575,3942,3}, {1573,3945,3},{1568,3945,3},{1567,3947,3},{1565,3945,3},{1563,3945,3},{1562,3945,3}, {1563,3947,3},{1563,3948,3},{1560,3947,3},{1560,3943,3},{1552,3947,3},{1552,3950,3}, {1553,3955,3},{1552,3958,3},{1548,3962,3},{1535,3965,3},{1532,3968,3},{1525,3972,3}, {1513,3970,3},{1508,3972,3},{1508,3975,3},{1507,3977,3},{1508,3982,3},{1513,3982,3}, {1517,3985,3},{1518,3985,3},{1527,3982,3},{1528,3982,3},{1527,3980,3},{1527,3978,3}, {1538,3977,3},{1545,3980,3},{1547,3985,3},{1550,3988,3},{1545,3990,3},{1538,4000,3}, {1537,4005,3},{1533,4008,3},{1523,4002,3},{1523,4005,3},{1520,4005,3},{1515,4008,3}, {1510,4010,3},{1507,4010,3},{1505,4013,3},{1503,4015,3},{1498,4015,3},{1497,4017,3}, {1493,4027,3},{1492,4030,3},{1495,4037,3},{1500,4038,3},{1497,4038,3},{1497,4040,3}, {1497,4042,3},{1500,4042,3},{1500,4045,3},{1498,4047,3},{1497,4050,3},{1498,4052,3}, {1500,4052,3},{1502,4052,3},{1498,4053,3},{1498,4055,3},{1495,4057,3},{1495,4062,3}, {1488,4062,3},{1488,4065,3},{1490,4065,3},{1490,4067,3},{1488,4070,3},{1487,4067,3}, {1483,4070,3},{1483,4073,3},{1480,4073,3},{1477,4072,3},{1473,4073,3},{1472,4077,3}, {1470,4077,3},{1470,4080,3},{1472,4082,3},{1470,4083,3},{1472,4085,3},{1472,4088,3}, {1465,4098,3},{1467,4105,3},{1463,4117,3},{1458,4120,3},{1448,4130,3},{1440,4133,3}, {1437,4138,3},{1430,4142,3},{1422,4150,3},{1413,4153,3},{1407,4162,3},{1393,4168,3}, {1393,4170,3},{1392,4172,3},{1393,4180,3},{1388,4183,3},{1387,4192,3},{1387,4195,3}, {1383,4198,3},{1378,4198,3},{1373,4207,3},{1370,4207,3},{1363,4212,3},{1365,4213,3}, {1362,4218,3},{1358,4218,3},{1355,4223,3},{1360,4220,3},{1360,4222,3},{1363,4222,3}, {1365,4217,3},{1367,4218,3},{1363,4223,3},{1360,4225,3},{1358,4228,3},{1355,4230,3}, {1348,4230,3},{1343,4233,3},{1322,4237,3},{1318,4248,3},{1323,4253,3},{1320,4253,3}, {1320,4255,3},{1317,4258,3},{1313,4262,3},{1307,4267,3},{1303,4273,3},{1298,4275,3}, {1297,4273,3},{1295,4277,3},{1287,4277,3},{1285,4278,3},{1287,4283,3},{1282,4287,3}, {1280,4293,3},{1278,4292,3},{1278,4293,3},{1280,4295,3},{1282,4298,3},{1288,4300,3}, {1290,4300,3},{1283,4305,3},{1283,4308,3},{1270,4312,3},{1263,4295,3},{1262,4292,3}, {1263,4288,3},{1257,4287,3},{1253,4280,3},{1243,4282,3},{1242,4277,3},{1238,4275,3}, {1238,4272,3},{1237,4270,3},{1250,4253,3},{1253,4245,3},{1253,4238,3},{1257,4237,3}, {1262,4233,3},{1263,4228,3},{1265,4223,3},{1267,4218,3},{1268,4213,3},{1272,4208,3}, {1275,4203,3},{1278,4200,3},{1283,4198,3},{1288,4197,3},{1293,4195,3},{1298,4193,3}, {1303,4192,3},{1308,4188,3},{1312,4185,3},{1317,4182,3},{1320,4178,3},{1325,4177,3}, {1330,4172,3},{1333,4168,3},{1337,4163,3},{1342,4160,3},{1345,4155,3},{1348,4152,3}, {1352,4147,3},{1355,4142,3},{1358,4138,3},{1362,4133,3},{1365,4128,3},{1370,4125,3}, {1373,4122,3},{1378,4118,3},{1382,4115,3},{1385,4110,3},{1388,4107,3},{1393,4103,3}, {1397,4098,3},{1400,4095,3},{1403,4090,3},{1405,4085,3},{1408,4080,3},{1412,4075,3}, {1415,4070,3},{1418,4067,3},{1420,4062,3},{1423,4057,3},{1425,4052,3},{1428,4047,3}, {1430,4043,3},{1433,4037,3},{1435,4032,3},{1438,4028,3},{1440,4023,3},{1442,4018,3}, {1443,4013,3},{1445,4007,3},{1448,4002,3},{1448,3997,3},{1450,3992,3},{1452,3987,3}, {1452,3982,3},{1450,3975,3},{1450,3970,3},{1450,3963,3},{1448,3958,3},{1448,3953,3}, {1447,3947,3},{1445,3942,3},{1445,3935,3},{1445,3930,3},{1445,3925,3},{1450,3922,3}, {1455,3920,3},{1458,3917,3},{1462,3912,3},{1462,3907,3},{1457,3903,3},{1452,3902,3}, {1450,3898,3},{1448,3893,3},{1447,3888,3},{1445,3883,3},{1443,3878,3},{1442,3872,3}, {1440,3867,3},{1440,3862,3},{1438,3855,3},{1440,3850,3},{1445,3845,3},{1448,3842,3}, {1453,3840,3},{1457,3837,3},{1458,3833,3},{1463,3832,3},{1467,3827,3},{1467,3822,3}, {1470,3817,3},{1473,3812,3},{1473,3807,3},{1477,3803,3},{1480,3798,3},{1483,3795,3}, {1488,3792,3},{1488,3790,3},{1483,3787,3},{1478,3785,3},{1475,3783,3},{1470,3780,3}, {1465,3780,3},{1460,3778,3},{1455,3777,3},{1450,3775,3},{1445,3773,3},{1440,3770,3}, {1435,3768,3},{1430,3765,3},{1427,3763,3},{1423,3758,3},{1425,3757,3},{1427,3755,3}, {1430,3752,3},{1433,3747,3},{1435,3747,3},{1440,3743,3},{1443,3740,3},{1443,3735,3}, {1443,3732,3},{1442,3727,3},{1440,3722,3},{1437,3722,3},{1432,3718,3},{1428,3715,3}, {1428,3710,3},{1428,3705,3},{1430,3700,3},{1432,3695,3},{1433,3690,3},{1433,3683,3}, {1432,3678,3},{1430,3673,3},{1428,3668,3},{1427,3663,3},{1427,3658,3},{1423,3653,3}, {462,3593,131},{480,3577,3},{508,3577,3},{515,3583,3},{523,3580,3},{528,3580,3}, {532,3583,3},{535,3575,3},{538,3568,3},{537,3560,3},{542,3555,3},{543,3550,3}, {543,3545,3},{535,3535,3},{537,3530,3},{543,3527,3},{548,3530,3},{550,3528,3}, {563,3510,3},{570,3510,3},{588,3498,3},{592,3500,3},{595,3498,3},{600,3498,3}, {607,3498,3},{613,3492,3},{620,3490,3},{623,3487,3},{635,3485,3},{645,3480,3}, {650,3480,3},{660,3477,3},{663,3472,3},{668,3470,3},{673,3463,3},{675,3453,3}, {692,3447,3},{697,3437,3},{697,3428,3},{702,3427,3},{702,3423,3},{705,3422,3}, {705,3420,3},{708,3420,3},{712,3420,3},{717,3418,3},{717,3412,3},{722,3407,3}, {725,3402,3},{738,3403,3},{753,3388,3},{757,3378,3},{765,3372,3},{767,3368,3}, {768,3365,3},{768,3355,3},{772,3352,3},{775,3347,3},{773,3340,3},{772,3333,3}, {775,3327,3},{777,3325,3},{780,3317,3},{778,3312,3},{778,3305,3},{785,3302,3}, {793,3298,3},{795,3302,3},{800,3303,3},{807,3310,3},{810,3310,3},{812,3317,3}, {813,3318,3},{820,3317,3},{825,3322,3},{828,3317,3},{833,3318,3},{837,3317,3}, {840,3317,3},{842,3322,3},{843,3320,3},{843,3323,3},{847,3327,3},{843,3338,3}, {845,3342,3},{847,3350,3},{848,3352,3},{845,3358,3},{847,3363,3},{843,3367,3}, {838,3370,3},{837,3378,3},{842,3382,3},{843,3385,3},{843,3397,3},{858,3412,3}, {863,3412,3},{868,3413,3},{873,3413,3},{878,3413,3},{883,3413,3},{888,3413,3}, {895,3413,3},{900,3413,3},{907,3413,3},{912,3412,3},{917,3412,3},{922,3412,3}, {927,3412,3},{932,3410,3},{937,3410,3},{942,3410,3},{947,3410,3},{955,3408,3}, {975,3413,3},{990,3420,3},{1003,3423,3},{1012,3432,3},{1017,3432,3},{1023,3435,3}, {1055,3428,3},{1063,3435,3},{1078,3443,3},{1088,3460,3},{1075,3477,3},{1068,3477,3}, {1068,3478,3},{1073,3482,3},{1073,3487,3},{1078,3487,3},{1087,3498,3},{1092,3498,3}, {1095,3493,3},{1120,3500,3},{1123,3497,3},{1125,3497,3},{1155,3510,3},{1160,3510,3}, {1165,3507,3},{1173,3505,3},{1183,3510,3},{1187,3513,3},{1190,3523,3},{1193,3527,3}, {1198,3527,3},{1202,3533,3},{1208,3535,3},{1217,3538,3},{1220,3543,3},{1225,3543,3}, {1260,3565,3},{1260,3568,3},{1262,3570,3},{1267,3570,3},{1272,3600,3},{1272,3603,3}, {1272,3608,3},{1270,3610,3},{1270,3615,3},{1287,3617,3},{1292,3613,3},{1297,3615,3}, {1298,3617,3},{1303,3617,3},{1337,3625,3},{1357,3640,3},{1360,3642,3},{1367,3642,3}, {1383,3648,3},{1395,3645,3},{1423,3653,3},{1427,3658,3},{1427,3663,3},{1428,3668,3}, {1430,3673,3},{1432,3678,3},{1433,3683,3},{1433,3690,3},{1432,3695,3},{1430,3700,3}, {1428,3705,3},{1428,3710,3},{1428,3715,3},{1432,3718,3},{1437,3722,3},{1440,3722,3}, {1442,3727,3},{1443,3732,3},{1443,3735,3},{1443,3740,3},{1440,3743,3},{1435,3747,3}, {1433,3747,3},{1430,3752,3},{1427,3755,3},{1425,3757,3},{1423,3758,3},{1427,3763,3}, {1430,3765,3},{1435,3768,3},{1440,3770,3},{1445,3773,3},{1450,3775,3},{1455,3777,3}, {1460,3778,3},{1465,3780,3},{1470,3780,3},{1475,3783,3},{1478,3785,3},{1483,3787,3}, {1488,3790,3},{1488,3792,3},{1483,3795,3},{1480,3798,3},{1477,3803,3},{1473,3807,3}, {1473,3812,3},{1470,3817,3},{1467,3822,3},{1467,3827,3},{1463,3832,3},{1458,3833,3}, {1457,3837,3},{1453,3840,3},{1448,3842,3},{1445,3845,3},{1440,3850,3},{1438,3855,3}, {1440,3862,3},{1440,3867,3},{1442,3872,3},{1443,3878,3},{1445,3883,3},{1447,3888,3}, {1448,3893,3},{1450,3898,3},{1452,3902,3},{1457,3903,3},{1462,3907,3},{1462,3912,3}, {1458,3917,3},{1455,3920,3},{1450,3922,3},{1445,3925,3},{1445,3930,3},{1445,3935,3}, {1445,3942,3},{1447,3947,3},{1448,3953,3},{1448,3958,3},{1450,3963,3},{1450,3970,3}, {1450,3975,3},{1452,3982,3},{1452,3987,3},{1450,3992,3},{1448,3997,3},{1448,4002,3}, {1445,4007,3},{1443,4013,3},{1442,4018,3},{1440,4023,3},{1438,4028,3},{1435,4032,3}, {1433,4037,3},{1430,4043,3},{1428,4047,3},{1425,4052,3},{1423,4057,3},{1420,4062,3}, {1418,4067,3},{1415,4070,3},{1412,4075,3},{1408,4080,3},{1405,4085,3},{1403,4090,3}, {1400,4095,3},{1397,4098,3},{1393,4103,3},{1388,4107,3},{1385,4110,3},{1382,4115,3}, {1378,4118,3},{1373,4122,3},{1370,4125,3},{1365,4128,3},{1362,4133,3},{1358,4138,3}, {1355,4142,3},{1352,4147,3},{1348,4152,3},{1345,4155,3},{1342,4160,3},{1337,4163,3}, {1333,4168,3},{1330,4172,3},{1325,4177,3},{1320,4178,3},{1317,4182,3},{1312,4185,3}, {1308,4188,3},{1303,4192,3},{1298,4193,3},{1293,4195,3},{1288,4197,3},{1283,4198,3}, {1278,4200,3},{1275,4203,3},{1272,4208,3},{1268,4213,3},{1267,4218,3},{1265,4223,3}, {1263,4228,3},{1262,4233,3},{1257,4237,3},{1253,4238,3},{1253,4245,3},{1240,4233,3}, {1230,4232,3},{1225,4225,3},{1213,4217,3},{1210,4215,3},{1208,4213,3},{1182,4195,3}, {1180,4190,3},{1177,4188,3},{1175,4183,3},{1152,4177,3},{1125,4182,3},{1103,4180,3}, {1100,4178,3},{1098,4178,3},{1095,4193,3},{1093,4197,3},{1095,4197,3},{1095,4207,3}, {1098,4208,3},{1100,4213,3},{1098,4223,3},{1100,4235,3},{1102,4237,3},{1100,4240,3}, {1107,4250,3},{1110,4263,3},{1108,4268,3},{1108,4275,3},{1100,4278,3},{1098,4280,3}, {1100,4285,3},{1098,4290,3},{1100,4292,3},{1100,4295,3},{1092,4292,3},{1088,4285,3}, {1082,4282,3},{1078,4277,3},{1067,4272,3},{1063,4267,3},{1053,4272,3},{1045,4278,3}, {1022,4285,3},{1017,4290,3},{1012,4297,3},{1008,4302,3},{997,4305,3},{993,4308,3}, {990,4312,3},{990,4318,3},{988,4322,3},{965,4328,3},{962,4333,3},{957,4335,3}, {955,4338,3},{952,4340,3},{948,4343,3},{943,4343,3},{935,4355,3},{933,4358,3}, {935,4363,3},{900,4402,3},{900,4405,3},{898,4410,3},{897,4415,3},{895,4420,3}, {893,4425,3},{892,4430,3},{890,4435,3},{888,4440,3},{887,4445,3},{885,4450,3}, {883,4455,3},{882,4460,3},{880,4467,3},{878,4472,3},{875,4477,3},{875,4482,3}, {872,4487,3},{870,4492,3},{868,4497,3},{867,4502,3},{865,4507,3},{863,4512,3}, {862,4517,3},{860,4522,3},{858,4528,3},{857,4533,3},{855,4538,3},{853,4543,3}, {852,4548,3},{850,4553,3},{848,4558,3},{847,4563,3},{845,4568,3},{843,4573,3}, {842,4578,3},{840,4583,3},{838,4588,3},{837,4593,3},{835,4598,3},{833,4605,3}, {832,4610,3},{830,4615,3},{828,4620,3},{827,4625,3},{825,4630,3},{823,4635,3}, {822,4640,3},{818,4645,3},{817,4650,3},{815,4655,3},{813,4660,3},{812,4665,3}, {810,4670,3},{808,4675,3},{807,4680,3},{805,4687,3},{803,4692,3},{802,4697,3}, {800,4700,3},{800,4705,3},{800,4710,3},{800,4715,3},{800,4720,3},{800,4727,3}, {800,4732,3},{800,4737,3},{800,4742,3},{800,4747,3},{800,4752,3},{800,4757,3}, {800,4763,3},{800,4768,3},{800,4773,3},{800,4778,3},{800,4783,3},{800,4788,3}, {800,4793,3},{800,4798,3},{797,4795,3},{792,4790,3},{788,4787,3},{783,4782,3}, {778,4777,3},{773,4772,3},{768,4765,3},{763,4760,3},{760,4755,3},{755,4750,3}, {750,4745,3},{745,4740,3},{740,4735,3},{735,4730,3},{730,4725,3},{725,4720,3}, {720,4715,3},{715,4710,3},{710,4705,3},{707,4700,3},{702,4697,3},{698,4692,3}, {693,4687,3},{688,4682,3},{683,4677,3},{678,4672,3},{673,4667,3},{668,4663,3}, {663,4658,3},{658,4653,3},{653,4648,3},{648,4643,3},{643,4638,3},{640,4633,3}, {635,4628,3},{630,4625,3},{625,4620,3},{620,4615,3},{615,4610,3},{610,4605,3}, {605,4600,3},{602,4597,3},{597,4593,3},{592,4588,3},{587,4583,3},{582,4580,3}, {577,4575,3},{572,4570,3},{567,4565,3},{562,4562,3},{558,4557,3},{553,4552,3}, {548,4548,3},{543,4543,3},{538,4538,3},{533,4535,3},{528,4530,3},{523,4527,3}, {518,4522,3},{515,4517,3},{510,4513,3},{505,4508,3},{500,4503,3},{495,4500,3}, {490,4495,3},{490,4490,3},{492,4485,3},{492,4480,3},{492,4475,3},{492,4470,3}, {492,4465,3},{493,4460,3},{493,4455,3},{493,4450,3},{493,4445,3},{493,4440,3}, {493,4435,3},{495,4428,3},{495,4423,3},{495,4418,3},{495,4413,3},{495,4408,3}, {497,4403,3},{497,4398,3},{492,4385,3},{488,4367,3},{477,4335,3},{467,4315,3}, {452,4298,3},{448,4295,3},{438,4293,3},{430,4287,3},{428,4277,3},{427,4263,3}, {420,4238,3},{422,4220,3},{420,4212,3},{417,4207,3},{413,4203,3},{408,4195,3}, {407,4193,3},{402,4193,3},{398,4192,3},{397,4190,3},{395,4185,3},{400,4172,3}, {397,4167,3},{398,4162,3},{397,4157,3},{397,4150,3},{395,4147,3},{395,4117,3}, {400,4110,3},{410,4102,3},{415,4092,3},{422,4088,3},{427,4080,3},{428,4078,3}, {425,4073,3},{423,4067,3},{420,4062,3},{418,4057,3},{417,4050,3},{415,4045,3}, {412,4040,3},{408,4035,3},{407,4030,3},{405,4023,3},{403,4018,3},{400,4012,3}, {397,4007,3},{393,4000,3},{390,3995,3},{387,3987,3},{377,3982,3},{368,3978,3}, {358,3968,3},{350,3960,3},{343,3957,3},{343,3952,3},{350,3948,3},{348,3945,3}, {350,3938,3},{352,3935,3},{352,3918,3},{355,3912,3},{355,3905,3},{353,3892,3}, {360,3872,3},{362,3870,3},{365,3868,3},{362,3865,3},{363,3855,3},{367,3853,3}, {367,3850,3},{363,3845,3},{365,3815,3},{363,3810,3},{373,3800,3},{378,3790,3}, {383,3783,3},{387,3778,3},{392,3772,3},{395,3765,3},{400,3758,3},{403,3753,3}, {407,3747,3},{412,3740,3},{415,3735,3},{420,3728,3},{423,3722,3},{427,3717,3}, {428,3712,3},{433,3708,3},{435,3705,3},{438,3703,3},{440,3697,3},{443,3680,3}, {443,3673,3},{443,3667,3},{445,3662,3},{445,3655,3},{445,3650,3},{445,3643,3}, {443,3637,3},{443,3630,3},{445,3625,3},{445,3622,3},{448,3620,3},{453,3620,3}, {460,3617,3},{462,3618,3},{465,3617,3},{467,3617,3},{467,3613,3},{465,3612,3}, {463,3613,3},{462,3613,3},{463,3603,3},{462,3603,3},{457,3603,3},{455,3605,3}, {452,3603,3},{458,3600,3},{463,3600,3},{463,3598,3},{458,3595,3},{460,3595,3}, {462,3593,3},{348,3087,131},{352,3085,3},{357,3085,3},{362,3080,3},{367,3078,3}, {368,3077,3},{363,3073,3},{365,3068,3},{362,3063,3},{362,3057,3},{370,3058,3}, {387,3055,3},{387,3053,3},{387,3048,3},{388,3042,3},{393,3033,3},{397,3028,3}, {397,3022,3},{400,3020,3},{405,3015,3},{410,3015,3},{413,3007,3},{420,3003,3}, {423,2998,3},{425,2995,3},{430,2995,3},{435,2990,3},{435,2983,3},{438,2980,3}, {448,2980,3},{453,2980,3},{457,2982,3},{458,2973,3},{462,2970,3},{465,2965,3}, {465,2962,3},{465,2958,3},{467,2955,3},{465,2953,3},{468,2950,3},{468,2948,3}, {467,2947,3},{458,2947,3},{457,2943,3},{453,2943,3},{448,2940,3},{447,2935,3}, {438,2932,3},{438,2925,3},{435,2925,3},{435,2920,3},{443,2912,3},{443,2907,3}, {445,2907,3},{447,2903,3},{448,2903,3},{450,2900,3},{448,2898,3},{448,2882,3}, {450,2880,3},{452,2880,3},{457,2878,3},{453,2875,3},{453,2872,3},{442,2865,3}, {442,2860,3},{437,2857,3},{437,2850,3},{432,2847,3},{428,2845,3},{428,2837,3}, {435,2833,3},{435,2827,3},{435,2820,3},{438,2817,3},{440,2813,3},{442,2813,3}, {443,2813,3},{445,2812,3},{442,2807,3},{448,2803,3},{457,2803,3},{455,2797,3}, {458,2795,3},{455,2793,3},{455,2787,3},{460,2782,3},{460,2778,3},{467,2777,3}, {472,2778,3},{478,2777,3},{478,2770,3},{483,2770,3},{490,2767,3},{490,2758,3}, {493,2753,3},{497,2752,3},{502,2745,3},{503,2748,3},{508,2748,3},{513,2745,3}, {527,2732,3},{533,2730,3},{542,2727,3},{548,2727,3},{555,2730,3},{562,2723,3}, {567,2723,3},{572,2720,3},{578,2713,3},{578,2708,3},{585,2702,3},{588,2692,3}, {598,2683,3},{600,2675,3},{598,2667,3},{603,2662,3},{608,2658,3},{607,2653,3}, {608,2650,3},{610,2652,3},{615,2658,3},{620,2658,3},{622,2653,3},{628,2650,3}, {628,2642,3},{632,2640,3},{633,2635,3},{637,2633,3},{642,2633,3},{647,2632,3}, {652,2637,3},{657,2635,3},{660,2637,3},{662,2642,3},{665,2642,3},{667,2635,3}, {670,2628,3},{687,2613,3},{692,2607,3},{698,2603,3},{702,2597,3},{708,2592,3}, {710,2583,3},{717,2577,3},{717,2568,3},{722,2563,3},{725,2557,3},{727,2548,3}, {735,2537,3},{742,2535,3},{747,2530,3},{747,2525,3},{750,2520,3},{760,2522,3}, {768,2530,3},{778,2528,3},{787,2522,3},{790,2518,3},{790,2515,3},{790,2508,3}, {793,2505,3},{797,2497,3},{802,2493,3},{803,2490,3},{817,2485,3},{818,2477,3}, {820,2473,3},{822,2463,3},{820,2453,3},{823,2448,3},{827,2447,3},{827,2440,3}, {825,2435,3},{827,2432,3},{828,2423,3},{832,2418,3},{838,2415,3},{847,2417,3}, {855,2423,3},{858,2427,3},{863,2423,3},{867,2425,3},{870,2425,3},{868,2420,3}, {870,2417,3},{868,2413,3},{870,2402,3},{870,2400,3},{870,2397,3},{872,2393,3}, {870,2388,3},{873,2382,3},{870,2373,3},{872,2367,3},{873,2363,3},{872,2352,3}, {878,2350,3},{890,2358,3},{900,2358,3},{900,2357,3},{897,2353,3},{897,2350,3}, {898,2347,3},{902,2345,3},{917,2350,3},{918,2357,3},{928,2365,3},{933,2363,3}, {943,2367,3},{945,2363,3},{952,2363,3},{953,2362,3},{957,2363,3},{960,2367,3}, {967,2370,3},{972,2368,3},{977,2368,3},{983,2367,3},{987,2367,3},{992,2363,3}, {998,2360,3},{1003,2357,3},{1007,2355,3},{1012,2352,3},{1015,2350,3},{1020,2347,3}, {1025,2343,3},{1028,2342,3},{1033,2338,3},{1037,2337,3},{1042,2333,3},{1047,2330,3}, {1048,2325,3},{1062,2313,3},{1070,2302,3},{1088,2288,3},{1095,2277,3},{1093,2278,3}, {1092,2287,3},{1095,2288,3},{1122,2297,3},{1128,2297,3},{1132,2295,3},{1142,2293,3}, {1140,2278,3},{1142,2278,3},{1147,2278,3},{1152,2265,3},{1163,2257,3},{1167,2255,3}, {1182,2258,3},{1200,2262,3},{1207,2263,3},{1208,2263,3},{1207,2262,3},{1208,2258,3}, {1207,2255,3},{1203,2248,3},{1205,2248,3},{1218,2250,3},{1235,2243,3},{1240,2243,3}, {1247,2238,3},{1248,2242,3},{1262,2247,3},{1267,2233,3},{1275,2222,3},{1265,2213,3}, {1263,2205,3},{1265,2195,3},{1268,2190,3},{1280,2183,3},{1297,2190,3},{1302,2193,3}, {1305,2195,3},{1313,2202,3},{1318,2217,3},{1335,2230,3},{1338,2230,3},{1348,2223,3}, {1357,2222,3},{1363,2215,3},{1367,2213,3},{1373,2213,3},{1378,2208,3},{1397,2223,3}, {1402,2232,3},{1402,2235,3},{1405,2240,3},{1405,2243,3},{1410,2248,3},{1413,2255,3}, {1417,2257,3},{1423,2255,3},{1425,2247,3},{1428,2245,3},{1432,2243,3},{1435,2247,3}, {1438,2245,3},{1448,2245,3},{1452,2238,3},{1457,2238,3},{1460,2240,3},{1463,2247,3}, {1468,2270,3},{1477,2268,3},{1487,2267,3},{1490,2273,3},{1498,2275,3},{1508,2285,3}, {1512,2293,3},{1515,2295,3},{1522,2298,3},{1537,2300,3},{1542,2298,3},{1548,2292,3}, {1555,2293,3},{1560,2302,3},{1572,2312,3},{1568,2335,3},{1572,2345,3},{1577,2362,3}, {1575,2378,3},{1570,2400,3},{1577,2400,3},{1583,2400,3},{1588,2400,3},{1593,2400,3}, {1600,2400,3},{1607,2400,3},{1613,2400,3},{1620,2400,3},{1627,2400,3},{1633,2400,3}, {1640,2400,3},{1647,2400,3},{1653,2400,3},{1658,2400,3},{1665,2400,3},{1673,2400,3}, {1678,2400,3},{1683,2400,3},{1690,2400,3},{1695,2400,3},{1702,2400,3},{1707,2400,3}, {1713,2400,3},{1720,2400,3},{1725,2400,3},{1730,2400,3},{1735,2400,3},{1743,2400,3}, {1748,2400,3},{1753,2400,3},{1760,2400,3},{1767,2400,3},{1773,2400,3},{1778,2400,3}, {1787,2400,3},{1793,2400,3},{1798,2400,3},{1803,2400,3},{1808,2400,3},{1817,2400,3}, {1823,2400,3},{1830,2400,3},{1837,2400,3},{1843,2400,3},{1850,2400,3},{1857,2400,3}, {1862,2400,3},{1868,2400,3},{1877,2400,3},{1883,2400,3},{1890,2400,3},{1897,2400,3}, {1903,2400,3},{1910,2400,3},{1917,2400,3},{1923,2400,3},{1930,2400,3},{1937,2400,3}, {1943,2400,3},{1950,2400,3},{1957,2400,3},{1962,2400,3},{1967,2400,3},{1973,2400,3}, {1978,2400,3},{1983,2400,3},{1990,2400,3},{1995,2400,3},{2000,2400,3},{2000,2402,3}, {2000,2408,3},{2000,2413,3},{2000,2420,3},{2000,2425,3},{2000,2430,3},{2000,2437,3}, {2000,2442,3},{2000,2448,3},{2000,2453,3},{2000,2460,3},{2000,2465,3},{2000,2472,3}, {2000,2477,3},{2000,2483,3},{2000,2488,3},{2000,2495,3},{2000,2500,3},{2007,2500,3}, {2012,2500,3},{2018,2500,3},{2023,2500,3},{2028,2500,3},{2033,2500,3},{2040,2500,3}, {2045,2500,3},{2050,2500,3},{2057,2500,3},{2062,2500,3},{2067,2500,3},{2073,2500,3}, {2078,2500,3},{2083,2500,3},{2090,2500,3},{2095,2500,3},{2100,2500,3},{2107,2500,3}, {2112,2500,3},{2117,2500,3},{2122,2500,3},{2128,2500,3},{2133,2500,3},{2138,2500,3}, {2145,2500,3},{2150,2500,3},{2155,2500,3},{2162,2500,3},{2167,2500,3},{2172,2500,3}, {2178,2500,3},{2183,2500,3},{2188,2500,3},{2195,2500,3},{2200,2500,3},{2200,2507,3}, {2200,2512,3},{2200,2518,3},{2200,2523,3},{2200,2530,3},{2200,2535,3},{2200,2542,3}, {2200,2547,3},{2200,2553,3},{2200,2558,3},{2200,2565,3},{2200,2572,3},{2200,2577,3}, {2200,2582,3},{2200,2588,3},{2200,2595,3},{2200,2600,3},{2200,2607,3},{2200,2613,3}, {2200,2618,3},{2200,2625,3},{2200,2630,3},{2200,2637,3},{2200,2642,3},{2200,2648,3}, {2200,2653,3},{2200,2660,3},{2200,2665,3},{2200,2672,3},{2200,2677,3},{2200,2683,3}, {2200,2688,3},{2200,2695,3},{2200,2700,3},{2200,2707,3},{2200,2712,3},{2200,2718,3}, {2200,2723,3},{2200,2730,3},{2200,2735,3},{2200,2742,3},{2200,2747,3},{2200,2753,3}, {2200,2758,3},{2200,2763,3},{2200,2770,3},{2200,2775,3},{2200,2782,3},{2200,2787,3}, {2200,2793,3},{2200,2798,3},{2200,2805,3},{2200,2810,3},{2200,2817,3},{2200,2822,3}, {2200,2827,3},{2200,2833,3},{2200,2840,3},{2200,2845,3},{2200,2852,3},{2200,2857,3}, {2200,2862,3},{2200,2868,3},{2200,2873,3},{2200,2880,3},{2200,2885,3},{2200,2892,3}, {2200,2897,3},{2200,2900,3},{2200,2905,3},{2200,2912,3},{2200,2917,3},{2200,2923,3}, {2200,2928,3},{2200,2935,3},{2200,2940,3},{2200,2945,3},{2200,2952,3},{2200,2957,3}, {2200,2963,3},{2200,2968,3},{2200,2973,3},{2200,2980,3},{2200,2985,3},{2200,2992,3}, {2200,2997,3},{2200,3002,3},{2200,3008,3},{2200,3013,3},{2200,3020,3},{2200,3025,3}, {2200,3030,3},{2200,3037,3},{2200,3042,3},{2200,3048,3},{2200,3053,3},{2200,3060,3}, {2200,3065,3},{2200,3070,3},{2200,3077,3},{2200,3082,3},{2200,3088,3},{2200,3093,3}, {2200,3098,3},{2200,3105,3},{2200,3110,3},{2200,3117,3},{2200,3122,3},{2200,3127,3}, {2205,3130,3},{2210,3133,3},{2217,3137,3},{2220,3138,3},{2223,3143,3},{2223,3147,3}, {2220,3143,3},{2215,3138,3},{2213,3135,3},{2210,3137,3},{2203,3135,3},{2197,3135,3}, {2192,3132,3},{2185,3123,3},{2182,3122,3},{2182,3118,3},{2180,3120,3},{2177,3117,3}, {2173,3118,3},{2165,3117,3},{2160,3110,3},{2150,3103,3},{2152,3107,3},{2162,3113,3}, {2162,3118,3},{2170,3120,3},{2172,3122,3},{2175,3122,3},{2177,3122,3},{2177,3125,3}, {2178,3127,3},{2177,3130,3},{2192,3138,3},{2207,3140,3},{2213,3143,3},{2213,3147,3}, {2218,3150,3},{2215,3152,3},{2210,3148,3},{2205,3147,3},{2200,3147,3},{2200,3152,3}, {2200,3158,3},{2200,3163,3},{2200,3168,3},{2200,3175,3},{2200,3180,3},{2200,3187,3}, {2200,3192,3},{2200,3198,3},{2200,3203,3},{2200,3208,3},{2200,3215,3},{2200,3220,3}, {2200,3225,3},{2200,3232,3},{2200,3237,3},{2200,3242,3},{2200,3248,3},{2200,3253,3}, {2200,3260,3},{2200,3265,3},{2200,3270,3},{2200,3277,3},{2200,3282,3},{2200,3287,3}, {2200,3293,3},{2200,3298,3},{2200,3303,3},{2200,3310,3},{2200,3317,3},{2198,3318,3}, {2197,3323,3},{2192,3328,3},{2188,3335,3},{2185,3340,3},{2180,3347,3},{2177,3352,3}, {2172,3357,3},{2173,3363,3},{2173,3368,3},{2173,3375,3},{2175,3382,3},{2175,3387,3}, {2175,3393,3},{2177,3402,3},{2182,3403,3},{2188,3405,3},{2193,3408,3},{2198,3410,3}, {2203,3412,3},{2208,3413,3},{2215,3415,3},{2220,3417,3},{2220,3423,3},{2222,3430,3}, {2223,3435,3},{2223,3442,3},{2225,3447,3},{2225,3453,3},{2227,3460,3},{2228,3465,3}, {2228,3472,3},{2235,3473,3},{2240,3477,3},{2245,3478,3},{2250,3482,3},{2255,3483,3}, {2262,3487,3},{2267,3488,3},{2272,3490,3},{2277,3493,3},{2285,3497,3},{2283,3503,3}, {2282,3508,3},{2280,3515,3},{2277,3523,3},{2282,3527,3},{2285,3532,3},{2288,3535,3}, {2292,3540,3},{2297,3543,3},{2300,3548,3},{2303,3552,3},{2308,3557,3},{2313,3562,3}, {2308,3568,3},{2303,3570,3},{2298,3570,3},{2298,3572,3},{2293,3573,3},{2292,3575,3}, {2290,3573,3},{2288,3577,3},{2290,3578,3},{2285,3578,3},{2288,3575,3},{2285,3573,3}, {2283,3573,3},{2283,3577,3},{2280,3578,3},{2282,3578,3},{2283,3578,3},{2282,3582,3}, {2275,3588,3},{2267,3598,3},{2268,3605,3},{2267,3615,3},{2263,3623,3},{2258,3628,3}, {2250,3630,3},{2247,3637,3},{2243,3637,3},{2232,3647,3},{2228,3660,3},{2218,3672,3}, {2218,3675,3},{2217,3677,3},{2213,3682,3},{2203,3690,3},{2202,3690,3},{2200,3688,3}, {2197,3688,3},{2197,3683,3},{2193,3688,3},{2188,3687,3},{2185,3688,3},{2183,3683,3}, {2182,3687,3},{2182,3690,3},{2177,3690,3},{2175,3687,3},{2175,3690,3},{2163,3693,3}, {2162,3690,3},{2160,3695,3},{2158,3695,3},{2157,3697,3},{2153,3697,3},{2148,3698,3}, {2147,3702,3},{2127,3710,3},{2113,3723,3},{2107,3727,3},{2103,3725,3},{2102,3722,3}, {2107,3720,3},{2108,3720,3},{2105,3722,3},{2113,3718,3},{2113,3717,3},{2120,3717,3}, {2120,3713,3},{2117,3712,3},{2115,3712,3},{2108,3710,3},{2107,3710,3},{2107,3707,3}, {2103,3707,3},{2102,3708,3},{2098,3708,3},{2087,3712,3},{2072,3715,3},{2068,3715,3}, {2063,3718,3},{2053,3722,3},{2047,3722,3},{2045,3720,3},{2047,3720,3},{2047,3718,3}, {2043,3718,3},{2038,3718,3},{2035,3718,3},{2020,3718,3},{2005,3722,3},{2003,3722,3}, {2003,3720,3},{2000,3720,3},{1983,3728,3},{1977,3728,3},{1977,3727,3},{1968,3728,3}, {1968,3725,3},{1962,3725,3},{1963,3722,3},{1960,3725,3},{1955,3725,3},{1948,3730,3}, {1938,3732,3},{1932,3735,3},{1918,3737,3},{1905,3743,3},{1900,3743,3},{1895,3742,3}, {1892,3743,3},{1885,3743,3},{1880,3748,3},{1872,3752,3},{1872,3755,3},{1872,3758,3}, {1872,3760,3},{1873,3768,3},{1870,3770,3},{1870,3777,3},{1865,3775,3},{1862,3777,3}, {1865,3778,3},{1868,3778,3},{1867,3778,3},{1862,3778,3},{1853,3795,3},{1842,3807,3}, {1837,3813,3},{1830,3808,3},{1830,3810,3},{1828,3812,3},{1823,3818,3},{1823,3823,3}, {1825,3827,3},{1828,3827,3},{1830,3830,3},{1828,3832,3},{1828,3828,3},{1825,3828,3}, {1823,3827,3},{1822,3822,3},{1822,3828,3},{1818,3837,3},{1820,3838,3},{1822,3838,3}, {1822,3840,3},{1818,3843,3},{1817,3842,3},{1815,3845,3},{1813,3843,3},{1812,3848,3}, {1813,3850,3},{1807,3852,3},{1810,3855,3},{1812,3853,3},{1807,3858,3},{1803,3858,3}, {1802,3860,3},{1787,3847,3},{1767,3837,3},{1760,3828,3},{1755,3827,3},{1753,3825,3}, {1755,3813,3},{1750,3813,3},{1748,3812,3},{1750,3810,3},{1755,3810,3},{1755,3805,3}, {1750,3797,3},{1745,3792,3},{1745,3787,3},{1748,3783,3},{1748,3782,3},{1747,3778,3}, {1738,3773,3},{1733,3752,3},{1732,3750,3},{1725,3753,3},{1720,3752,3},{1710,3748,3}, {1707,3745,3},{1703,3742,3},{1707,3730,3},{1702,3725,3},{1703,3718,3},{1702,3715,3}, {1705,3710,3},{1707,3700,3},{1705,3700,3},{1700,3702,3},{1695,3698,3},{1692,3702,3}, {1687,3702,3},{1685,3702,3},{1672,3698,3},{1663,3692,3},{1660,3692,3},{1652,3690,3}, {1648,3692,3},{1642,3695,3},{1635,3695,3},{1627,3697,3},{1622,3692,3},{1580,3677,3}, {1575,3670,3},{1548,3663,3},{1545,3665,3},{1543,3662,3},{1523,3655,3},{1515,3645,3}, {1508,3645,3},{1503,3645,3},{1498,3647,3},{1493,3647,3},{1488,3647,3},{1483,3648,3}, {1478,3648,3},{1473,3648,3},{1467,3650,3},{1462,3650,3},{1457,3650,3},{1452,3650,3}, {1447,3652,3},{1442,3652,3},{1437,3652,3},{1427,3655,3},{1423,3653,3},{1395,3645,3}, {1383,3648,3},{1367,3642,3},{1360,3642,3},{1357,3640,3},{1337,3625,3},{1303,3617,3}, {1298,3617,3},{1297,3615,3},{1292,3613,3},{1287,3617,3},{1270,3615,3},{1270,3610,3}, {1272,3608,3},{1272,3603,3},{1272,3600,3},{1267,3570,3},{1262,3570,3},{1260,3568,3}, {1260,3565,3},{1225,3543,3},{1220,3543,3},{1217,3538,3},{1208,3535,3},{1202,3533,3}, {1198,3527,3},{1193,3527,3},{1190,3523,3},{1187,3513,3},{1183,3510,3},{1173,3505,3}, {1165,3507,3},{1160,3510,3},{1155,3510,3},{1125,3497,3},{1123,3497,3},{1120,3500,3}, {1095,3493,3},{1092,3498,3},{1087,3498,3},{1078,3487,3},{1073,3487,3},{1073,3482,3}, {1068,3478,3},{1068,3477,3},{1075,3477,3},{1088,3460,3},{1078,3443,3},{1063,3435,3}, {1055,3428,3},{1023,3435,3},{1017,3432,3},{1012,3432,3},{1003,3423,3},{990,3420,3}, {975,3413,3},{955,3408,3},{947,3410,3},{942,3410,3},{937,3410,3},{932,3410,3}, {927,3412,3},{922,3412,3},{917,3412,3},{912,3412,3},{907,3413,3},{900,3413,3}, {895,3413,3},{888,3413,3},{883,3413,3},{878,3413,3},{873,3413,3},{868,3413,3}, {863,3412,3},{858,3412,3},{843,3397,3},{843,3385,3},{842,3382,3},{837,3378,3}, {838,3370,3},{843,3367,3},{847,3363,3},{845,3358,3},{848,3352,3},{847,3350,3}, {845,3342,3},{843,3338,3},{847,3327,3},{843,3323,3},{843,3320,3},{842,3322,3}, {840,3317,3},{837,3317,3},{833,3318,3},{828,3317,3},{825,3322,3},{820,3317,3}, {813,3318,3},{812,3317,3},{810,3310,3},{807,3310,3},{800,3303,3},{795,3302,3}, {793,3298,3},{785,3302,3},{778,3305,3},{778,3312,3},{780,3317,3},{777,3325,3}, {775,3327,3},{772,3333,3},{773,3340,3},{775,3347,3},{772,3352,3},{768,3355,3}, {768,3365,3},{767,3368,3},{765,3372,3},{757,3378,3},{753,3388,3},{738,3403,3}, {725,3402,3},{722,3407,3},{717,3412,3},{717,3418,3},{712,3420,3},{708,3420,3}, {705,3420,3},{705,3422,3},{702,3423,3},{702,3427,3},{697,3428,3},{697,3437,3}, {692,3447,3},{675,3453,3},{673,3463,3},{668,3470,3},{663,3472,3},{660,3477,3}, {650,3480,3},{645,3480,3},{635,3485,3},{623,3487,3},{620,3490,3},{613,3492,3}, {607,3498,3},{600,3498,3},{595,3498,3},{592,3500,3},{588,3498,3},{570,3510,3}, {563,3510,3},{550,3528,3},{548,3530,3},{543,3527,3},{537,3530,3},{535,3535,3}, {543,3545,3},{543,3550,3},{542,3555,3},{537,3560,3},{538,3568,3},{535,3575,3}, {532,3583,3},{528,3580,3},{523,3580,3},{515,3583,3},{508,3577,3},{480,3577,3}, {462,3593,3},{462,3592,3},{462,3587,3},{462,3580,3},{462,3575,3},{462,3570,3}, {462,3565,3},{462,3558,3},{462,3553,3},{462,3548,3},{462,3542,3},{462,3537,3}, {462,3532,3},{462,3527,3},{462,3520,3},{462,3515,3},{462,3510,3},{462,3505,3}, {462,3498,3},{462,3493,3},{462,3488,3},{462,3483,3},{462,3477,3},{462,3472,3}, {462,3467,3},{462,3462,3},{462,3455,3},{462,3450,3},{462,3445,3},{462,3438,3}, {458,3435,3},{453,3432,3},{450,3428,3},{447,3423,3},{442,3420,3},{438,3415,3}, {433,3412,3},{430,3408,3},{427,3403,3},{422,3400,3},{418,3395,3},{413,3392,3}, {410,3387,3},{405,3383,3},{402,3378,3},{398,3375,3},{393,3372,3},{390,3367,3}, {387,3363,3},{382,3358,3},{378,3355,3},{375,3352,3},{375,3345,3},{375,3340,3}, {377,3335,3},{377,3330,3},{377,3323,3},{377,3318,3},{388,3302,3},{382,3290,3}, {375,3272,3},{375,3240,3},{362,3220,3},{352,3220,3},{353,3210,3},{358,3207,3}, {360,3195,3},{368,3193,3},{380,3183,3},{382,3180,3},{372,3170,3},{368,3157,3}, {365,3153,3},{380,3128,3},{380,3118,3},{370,3103,3},{368,3097,3},{357,3088,3}, {348,3087,3},{2200,2500,131},{2203,2500,3},{2208,2500,3},{2215,2500,3}, {2220,2500,3},{2225,2500,3},{2232,2500,3},{2237,2500,3},{2242,2500,3},{2248,2500,3}, {2253,2500,3},{2258,2500,3},{2265,2500,3},{2270,2500,3},{2275,2500,3},{2280,2500,3}, {2287,2500,3},{2292,2500,3},{2297,2500,3},{2303,2500,3},{2308,2500,3},{2313,2500,3}, {2320,2500,3},{2325,2500,3},{2330,2500,3},{2337,2500,3},{2342,2500,3},{2347,2500,3}, {2352,2500,3},{2358,2500,3},{2363,2500,3},{2368,2500,3},{2375,2500,3},{2380,2500,3}, {2385,2500,3},{2392,2500,3},{2397,2500,3},{2402,2500,3},{2408,2500,3},{2413,2500,3}, {2418,2500,3},{2425,2500,3},{2430,2500,3},{2435,2500,3},{2442,2500,3},{2447,2500,3}, {2452,2500,3},{2458,2500,3},{2463,2500,3},{2468,2500,3},{2475,2500,3},{2480,2500,3}, {2485,2500,3},{2492,2500,3},{2497,2500,3},{2503,2500,3},{2508,2500,3},{2513,2500,3}, {2520,2500,3},{2525,2500,3},{2530,2500,3},{2537,2500,3},{2542,2500,3},{2547,2500,3}, {2553,2500,3},{2558,2500,3},{2563,2500,3},{2570,2500,3},{2575,2500,3},{2580,2500,3}, {2587,2500,3},{2592,2500,3},{2597,2500,3},{2603,2500,3},{2608,2500,3},{2613,2500,3}, {2620,2500,3},{2625,2500,3},{2630,2500,3},{2637,2500,3},{2642,2500,3},{2647,2500,3}, {2653,2500,3},{2658,2500,3},{2663,2500,3},{2670,2500,3},{2675,2500,3},{2680,2500,3}, {2687,2500,3},{2692,2500,3},{2697,2500,3},{2702,2500,3},{2708,2500,3},{2713,2500,3}, {2718,2500,3},{2725,2500,3},{2730,2500,3},{2735,2500,3},{2742,2500,3},{2747,2500,3}, {2752,2500,3},{2758,2500,3},{2763,2500,3},{2768,2500,3},{2775,2500,3},{2780,2500,3}, {2785,2500,3},{2792,2500,3},{2797,2500,3},{2802,2500,3},{2808,2500,3},{2813,2500,3}, {2820,2500,3},{2825,2500,3},{2830,2500,3},{2837,2500,3},{2842,2500,3},{2847,2500,3}, {2853,2500,3},{2858,2500,3},{2863,2500,3},{2870,2500,3},{2875,2500,3},{2880,2500,3}, {2887,2500,3},{2892,2500,3},{2897,2500,3},{2903,2500,3},{2908,2500,3},{2913,2500,3}, {2920,2500,3},{2925,2500,3},{2930,2497,3},{2937,2495,3},{2942,2492,3},{2948,2488,3}, {2953,2488,3},{2960,2488,3},{2965,2488,3},{2970,2487,3},{2973,2483,3},{2978,2482,3}, {2983,2483,3},{2990,2483,3},{2995,2482,3},{3000,2478,3},{3005,2477,3},{3010,2475,3}, {3013,2472,3},{3020,2472,3},{3025,2473,3},{3030,2477,3},{3033,2478,3},{3038,2483,3}, {3042,2487,3},{3047,2490,3},{3052,2493,3},{3057,2493,3},{3062,2497,3},{3067,2498,3}, {3072,2498,3},{3077,2502,3},{3082,2500,3},{3087,2498,3},{3092,2495,3},{3097,2493,3}, {3102,2492,3},{3107,2490,3},{3112,2488,3},{3117,2487,3},{3122,2488,3},{3127,2487,3}, {3132,2487,3},{3137,2487,3},{3142,2492,3},{3145,2497,3},{3148,2502,3},{3152,2505,3}, {3157,2507,3},{3162,2510,3},{3165,2515,3},{3153,2517,3},{3150,2532,3},{3150,2540,3}, {3162,2582,3},{3162,2592,3},{3160,2608,3},{3152,2637,3},{3148,2673,3},{3145,2682,3}, {3143,2690,3},{3145,2697,3},{3142,2700,3},{3142,2705,3},{3140,2707,3},{3137,2722,3}, {3137,2735,3},{3127,2738,3},{3123,2742,3},{3122,2747,3},{3122,2755,3},{3120,2757,3}, {3120,2762,3},{3118,2763,3},{3117,2765,3},{3122,2780,3},{3125,2785,3},{3123,2787,3}, {3120,2787,3},{3110,2792,3},{3108,2815,3},{3107,2820,3},{3105,2832,3},{3108,2842,3}, {3105,2847,3},{3105,2853,3},{3102,2860,3},{3098,2872,3},{3095,2882,3},{3090,2883,3}, {3083,2898,3},{3082,2912,3},{3087,2933,3},{3093,2948,3},{3110,2975,3},{3113,2978,3}, {3113,2982,3},{3118,2988,3},{3120,2987,3},{3122,2988,3},{3120,2990,3},{3125,2997,3}, {3133,3007,3},{3128,3008,3},{3127,3017,3},{3123,3015,3},{3122,3015,3},{3122,3017,3}, {3123,3020,3},{3122,3022,3},{3127,3028,3},{3123,3028,3},{3127,3030,3},{3128,3027,3}, {3127,3025,3},{3127,3018,3},{3132,3028,3},{3135,3032,3},{3143,3035,3},{3150,3035,3}, {3145,3037,3},{3143,3040,3},{3150,3035,3},{3147,3042,3},{3145,3050,3},{3158,3097,3}, {3153,3085,3},{3143,3065,3},{3142,3057,3},{3140,3055,3},{3138,3058,3},{3140,3065,3}, {3142,3068,3},{3138,3073,3},{3143,3078,3},{3145,3080,3},{3143,3082,3},{3143,3087,3}, {3142,3090,3},{3143,3093,3},{3145,3093,3},{3143,3098,3},{3152,3102,3},{3152,3108,3}, {3148,3110,3},{3150,3113,3},{3152,3112,3},{3152,3113,3},{3155,3112,3},{3157,3107,3}, {3158,3098,3},{3160,3103,3},{3160,3112,3},{3158,3118,3},{3153,3135,3},{3145,3152,3}, {3145,3160,3},{3148,3175,3},{3153,3185,3},{3153,3190,3},{3150,3195,3},{3147,3197,3}, {3138,3203,3},{3128,3220,3},{3132,3215,3},{3140,3200,3},{3138,3200,3},{3143,3197,3}, {3142,3200,3},{3152,3193,3},{3153,3188,3},{3152,3185,3},{3150,3185,3},{3150,3187,3}, {3145,3188,3},{3142,3188,3},{3145,3185,3},{3145,3183,3},{3147,3183,3},{3145,3183,3}, {3143,3183,3},{3143,3185,3},{3142,3185,3},{3142,3188,3},{3140,3183,3},{3138,3183,3}, {3137,3183,3},{3135,3185,3},{3135,3180,3},{3133,3178,3},{3133,3180,3},{3132,3178,3}, {3130,3180,3},{3130,3177,3},{3127,3178,3},{3128,3180,3},{3122,3188,3},{3125,3190,3}, {3122,3190,3},{3120,3193,3},{3118,3193,3},{3122,3197,3},{3123,3200,3},{3122,3200,3}, {3122,3203,3},{3115,3203,3},{3112,3202,3},{3113,3205,3},{3110,3207,3},{3108,3205,3}, {3108,3208,3},{3105,3210,3},{3105,3213,3},{3107,3210,3},{3110,3210,3},{3107,3215,3}, {3110,3213,3},{3110,3218,3},{3112,3218,3},{3112,3220,3},{3110,3222,3},{3112,3228,3}, {3113,3228,3},{3117,3227,3},{3117,3228,3},{3122,3230,3},{3125,3227,3},{3127,3228,3}, {3128,3222,3},{3127,3232,3},{3125,3230,3},{3120,3230,3},{3125,3230,3},{3127,3233,3}, {3125,3233,3},{3122,3240,3},{3115,3247,3},{3107,3255,3},{3105,3262,3},{3107,3275,3}, {3115,3293,3},{3107,3277,3},{3105,3267,3},{3105,3272,3},{3103,3270,3},{3103,3272,3}, {3105,3278,3},{3108,3283,3},{3110,3290,3},{3108,3293,3},{3108,3290,3},{3108,3292,3}, {3108,3293,3},{3110,3292,3},{3112,3293,3},{3108,3298,3},{3107,3298,3},{3108,3297,3}, {3107,3297,3},{3105,3302,3},{3107,3302,3},{3108,3302,3},{3110,3305,3},{3112,3307,3}, {3113,3307,3},{3110,3302,3},{3110,3295,3},{3112,3302,3},{3115,3303,3},{3118,3313,3}, {3118,3310,3},{3112,3317,3},{3110,3312,3},{3108,3315,3},{3105,3313,3},{3105,3322,3}, {3107,3320,3},{3110,3327,3},{3108,3327,3},{3108,3328,3},{3108,3330,3},{3110,3330,3}, {3110,3332,3},{3110,3328,3},{3112,3338,3},{3113,3338,3},{3113,3342,3},{3115,3342,3}, {3113,3348,3},{3112,3360,3},{3113,3372,3},{3120,3398,3},{3125,3410,3},{3133,3422,3}, {3122,3427,3},{3133,3422,3},{3122,3427,3},{3102,3435,3},{3068,3450,3},{3058,3452,3}, {3053,3452,3},{3048,3457,3},{3042,3455,3},{3037,3462,3},{3002,3475,3},{3000,3475,3}, {2975,3485,3},{2970,3485,3},{2965,3488,3},{2960,3487,3},{2953,3488,3},{2948,3490,3}, {2947,3485,3},{2933,3478,3},{2930,3473,3},{2920,3473,3},{2917,3472,3},{2917,3470,3}, {2905,3467,3},{2898,3468,3},{2895,3463,3},{2887,3465,3},{2883,3462,3},{2873,3463,3}, {2855,3452,3},{2848,3452,3},{2848,3448,3},{2843,3445,3},{2837,3445,3},{2832,3440,3}, {2823,3442,3},{2817,3445,3},{2808,3443,3},{2800,3445,3},{2797,3443,3},{2793,3437,3}, {2792,3437,3},{2792,3433,3},{2785,3432,3},{2785,3428,3},{2778,3427,3},{2778,3422,3}, {2777,3422,3},{2777,3425,3},{2773,3425,3},{2778,3418,3},{2780,3408,3},{2782,3405,3}, {2788,3398,3},{2790,3395,3},{2793,3392,3},{2793,3388,3},{2802,3380,3},{2802,3377,3}, {2803,3377,3},{2808,3372,3},{2817,3367,3},{2817,3365,3},{2818,3363,3},{2823,3362,3}, {2830,3357,3},{2837,3343,3},{2847,3335,3},{2850,3328,3},{2855,3327,3},{2853,3327,3}, {2855,3327,3},{2858,3325,3},{2858,3323,3},{2855,3325,3},{2855,3323,3},{2867,3320,3}, {2877,3322,3},{2882,3317,3},{2885,3317,3},{2892,3318,3},{2895,3317,3},{2900,3317,3}, {2905,3310,3},{2908,3307,3},{2920,3295,3},{2923,3288,3},{2930,3287,3},{2932,3283,3}, {2940,3282,3},{2945,3273,3},{2948,3273,3},{2945,3272,3},{2948,3273,3},{2958,3272,3}, {2960,3268,3},{2973,3270,3},{2982,3260,3},{2987,3263,3},{2993,3257,3},{2993,3258,3}, {2995,3258,3},{2997,3257,3},{2998,3258,3},{3000,3258,3},{2998,3255,3},{2993,3257,3}, {2995,3255,3},{2997,3253,3},{2993,3247,3},{2990,3247,3},{2987,3248,3},{2987,3252,3}, {2977,3242,3},{2968,3237,3},{2963,3237,3},{2960,3233,3},{2953,3237,3},{2948,3245,3}, {2938,3257,3},{2933,3260,3},{2910,3267,3},{2907,3263,3},{2905,3265,3},{2905,3262,3}, {2898,3262,3},{2893,3267,3},{2887,3268,3},{2880,3275,3},{2880,3278,3},{2877,3280,3}, {2873,3283,3},{2857,3287,3},{2855,3293,3},{2850,3297,3},{2848,3300,3},{2840,3305,3}, {2835,3310,3},{2828,3312,3},{2827,3315,3},{2818,3322,3},{2817,3323,3},{2815,3325,3}, {2813,3328,3},{2808,3333,3},{2805,3333,3},{2805,3337,3},{2803,3337,3},{2803,3342,3}, {2798,3348,3},{2785,3358,3},{2778,3358,3},{2780,3358,3},{2778,3357,3},{2782,3355,3}, {2783,3347,3},{2780,3347,3},{2775,3352,3},{2775,3357,3},{2770,3353,3},{2765,3360,3}, {2767,3357,3},{2767,3355,3},{2765,3355,3},{2768,3353,3},{2765,3350,3},{2758,3355,3}, {2753,3355,3},{2748,3363,3},{2747,3363,3},{2743,3367,3},{2732,3370,3},{2730,3373,3}, {2725,3383,3},{2720,3383,3},{2717,3382,3},{2712,3383,3},{2708,3388,3},{2705,3392,3}, {2703,3388,3},{2693,3395,3},{2690,3400,3},{2683,3400,3},{2683,3398,3},{2685,3397,3}, {2683,3395,3},{2675,3395,3},{2673,3393,3},{2665,3393,3},{2662,3402,3},{2652,3407,3}, {2642,3410,3},{2632,3418,3},{2620,3422,3},{2607,3432,3},{2600,3433,3},{2593,3438,3}, {2592,3442,3},{2585,3443,3},{2578,3448,3},{2572,3455,3},{2562,3458,3},{2548,3467,3}, {2538,3470,3},{2535,3473,3},{2513,3485,3},{2500,3493,3},{2495,3495,3},{2492,3498,3}, {2482,3500,3},{2475,3507,3},{2462,3512,3},{2458,3517,3},{2452,3513,3},{2448,3520,3}, {2440,3523,3},{2428,3538,3},{2412,3550,3},{2412,3552,3},{2415,3550,3},{2410,3557,3}, {2402,3562,3},{2400,3573,3},{2392,3582,3},{2390,3580,3},{2393,3578,3},{2395,3575,3}, {2393,3573,3},{2392,3570,3},{2393,3562,3},{2395,3558,3},{2395,3555,3},{2398,3555,3}, {2398,3553,3},{2395,3548,3},{2382,3548,3},{2378,3548,3},{2378,3552,3},{2375,3550,3}, {2372,3552,3},{2363,3550,3},{2358,3550,3},{2353,3550,3},{2350,3547,3},{2347,3548,3}, {2342,3548,3},{2338,3552,3},{2325,3553,3},{2313,3562,3},{2308,3557,3},{2303,3552,3}, {2300,3548,3},{2297,3543,3},{2292,3540,3},{2288,3535,3},{2285,3532,3},{2282,3527,3}, {2277,3523,3},{2280,3515,3},{2282,3508,3},{2283,3503,3},{2285,3497,3},{2277,3493,3}, {2272,3490,3},{2267,3488,3},{2262,3487,3},{2255,3483,3},{2250,3482,3},{2245,3478,3}, {2240,3477,3},{2235,3473,3},{2228,3472,3},{2228,3465,3},{2227,3460,3},{2225,3453,3}, {2225,3447,3},{2223,3442,3},{2223,3435,3},{2222,3430,3},{2220,3423,3},{2220,3417,3}, {2215,3415,3},{2208,3413,3},{2203,3412,3},{2198,3410,3},{2193,3408,3},{2188,3405,3}, {2182,3403,3},{2177,3402,3},{2175,3393,3},{2175,3387,3},{2175,3382,3},{2173,3375,3}, {2173,3368,3},{2173,3363,3},{2172,3357,3},{2177,3352,3},{2180,3347,3},{2185,3340,3}, {2188,3335,3},{2192,3328,3},{2197,3323,3},{2198,3318,3},{2200,3317,3},{2200,3310,3}, {2200,3303,3},{2200,3298,3},{2200,3293,3},{2200,3287,3},{2200,3282,3},{2200,3277,3}, {2200,3270,3},{2200,3265,3},{2200,3260,3},{2200,3253,3},{2200,3248,3},{2200,3242,3}, {2200,3237,3},{2200,3232,3},{2200,3225,3},{2200,3220,3},{2200,3215,3},{2200,3208,3}, {2200,3203,3},{2200,3198,3},{2200,3192,3},{2200,3187,3},{2200,3180,3},{2200,3175,3}, {2200,3168,3},{2200,3163,3},{2200,3158,3},{2200,3152,3},{2200,3147,3},{2205,3147,3}, {2210,3148,3},{2215,3152,3},{2218,3150,3},{2220,3153,3},{2218,3155,3},{2222,3155,3}, {2225,3160,3},{2223,3168,3},{2225,3165,3},{2227,3165,3},{2230,3162,3},{2232,3165,3}, {2232,3167,3},{2233,3167,3},{2232,3170,3},{2233,3168,3},{2235,3172,3},{2237,3177,3}, {2237,3178,3},{2237,3180,3},{2233,3182,3},{2235,3183,3},{2238,3183,3},{2238,3182,3}, {2240,3183,3},{2242,3180,3},{2242,3190,3},{2245,3188,3},{2247,3193,3},{2250,3193,3}, {2248,3197,3},{2255,3195,3},{2257,3193,3},{2255,3198,3},{2257,3198,3},{2260,3197,3}, {2265,3200,3},{2265,3203,3},{2263,3205,3},{2267,3203,3},{2272,3212,3},{2273,3215,3}, {2272,3218,3},{2270,3222,3},{2268,3222,3},{2268,3225,3},{2265,3223,3},{2263,3228,3}, {2260,3228,3},{2260,3232,3},{2257,3230,3},{2255,3225,3},{2252,3225,3},{2255,3230,3}, {2252,3232,3},{2252,3233,3},{2253,3232,3},{2260,3233,3},{2260,3242,3},{2265,3242,3}, {2268,3245,3},{2270,3248,3},{2272,3247,3},{2275,3258,3},{2282,3260,3},{2283,3260,3}, {2283,3263,3},{2287,3262,3},{2287,3260,3},{2290,3260,3},{2288,3263,3},{2290,3263,3}, {2292,3263,3},{2293,3265,3},{2292,3270,3},{2295,3268,3},{2297,3270,3},{2295,3272,3}, {2293,3270,3},{2293,3272,3},{2298,3273,3},{2300,3273,3},{2300,3275,3},{2305,3273,3}, {2307,3275,3},{2307,3278,3},{2302,3278,3},{2298,3287,3},{2292,3293,3},{2295,3293,3}, {2292,3298,3},{2292,3307,3},{2297,3300,3},{2297,3295,3},{2298,3295,3},{2297,3293,3}, {2300,3293,3},{2302,3295,3},{2303,3293,3},{2307,3290,3},{2307,3287,3},{2308,3287,3}, {2313,3285,3},{2317,3285,3},{2317,3288,3},{2313,3293,3},{2313,3297,3},{2322,3292,3}, {2323,3290,3},{2325,3292,3},{2325,3297,3},{2323,3295,3},{2322,3300,3},{2323,3302,3}, {2327,3300,3},{2333,3302,3},{2333,3298,3},{2335,3297,3},{2337,3298,3},{2337,3300,3}, {2340,3300,3},{2342,3298,3},{2340,3297,3},{2338,3297,3},{2340,3295,3},{2342,3297,3}, {2345,3292,3},{2347,3292,3},{2348,3293,3},{2348,3290,3},{2352,3290,3},{2350,3300,3}, {2352,3303,3},{2352,3297,3},{2355,3297,3},{2353,3295,3},{2357,3295,3},{2355,3293,3}, {2357,3292,3},{2358,3290,3},{2362,3290,3},{2363,3292,3},{2365,3292,3},{2362,3298,3}, {2363,3297,3},{2365,3298,3},{2367,3298,3},{2368,3300,3},{2370,3298,3},{2372,3300,3}, {2373,3297,3},{2375,3298,3},{2377,3295,3},{2382,3293,3},{2387,3288,3},{2388,3290,3}, {2392,3288,3},{2393,3290,3},{2398,3288,3},{2390,3285,3},{2390,3278,3},{2388,3283,3}, {2387,3283,3},{2385,3287,3},{2382,3288,3},{2372,3287,3},{2372,3285,3},{2372,3282,3}, {2368,3285,3},{2370,3287,3},{2368,3287,3},{2367,3285,3},{2362,3285,3},{2358,3282,3}, {2357,3282,3},{2357,3278,3},{2358,3278,3},{2358,3275,3},{2362,3275,3},{2363,3272,3}, {2363,3268,3},{2362,3268,3},{2358,3270,3},{2357,3273,3},{2355,3273,3},{2353,3270,3}, {2355,3267,3},{2350,3260,3},{2348,3263,3},{2350,3270,3},{2353,3273,3},{2355,3278,3}, {2352,3287,3},{2347,3282,3},{2350,3287,3},{2343,3290,3},{2343,3287,3},{2338,3282,3}, {2335,3290,3},{2330,3292,3},{2328,3288,3},{2333,3287,3},{2332,3283,3},{2328,3285,3}, {2327,3283,3},{2330,3282,3},{2328,3280,3},{2327,3280,3},{2327,3277,3},{2323,3275,3}, {2323,3272,3},{2320,3273,3},{2318,3270,3},{2315,3270,3},{2313,3268,3},{2312,3270,3}, {2308,3268,3},{2308,3265,3},{2307,3268,3},{2305,3263,3},{2303,3265,3},{2300,3263,3}, {2298,3265,3},{2292,3260,3},{2293,3255,3},{2288,3257,3},{2278,3257,3},{2277,3255,3}, {2277,3252,3},{2275,3252,3},{2272,3242,3},{2265,3238,3},{2262,3237,3},{2263,3232,3}, {2267,3232,3},{2268,3228,3},{2272,3228,3},{2273,3225,3},{2277,3225,3},{2277,3222,3}, {2277,3217,3},{2280,3217,3},{2277,3215,3},{2277,3212,3},{2275,3212,3},{2277,3207,3}, {2273,3205,3},{2273,3200,3},{2272,3200,3},{2270,3198,3},{2268,3197,3},{2265,3193,3}, {2265,3188,3},{2263,3188,3},{2262,3185,3},{2258,3183,3},{2258,3185,3},{2257,3187,3}, {2255,3185,3},{2258,3183,3},{2257,3178,3},{2260,3177,3},{2262,3168,3},{2265,3167,3}, {2265,3165,3},{2263,3167,3},{2262,3165,3},{2257,3168,3},{2252,3173,3},{2252,3177,3}, {2248,3178,3},{2248,3175,3},{2247,3177,3},{2247,3173,3},{2243,3173,3},{2247,3170,3}, {2247,3168,3},{2240,3168,3},{2238,3165,3},{2238,3167,3},{2233,3160,3},{2223,3147,3}, {2223,3143,3},{2220,3138,3},{2217,3137,3},{2210,3133,3},{2205,3130,3},{2200,3127,3}, {2200,3122,3},{2200,3117,3},{2200,3110,3},{2200,3105,3},{2200,3098,3},{2200,3093,3}, {2200,3088,3},{2200,3082,3},{2200,3077,3},{2200,3070,3},{2200,3065,3},{2200,3060,3}, {2200,3053,3},{2200,3048,3},{2200,3042,3},{2200,3037,3},{2200,3030,3},{2200,3025,3}, {2200,3020,3},{2200,3013,3},{2200,3008,3},{2200,3002,3},{2200,2997,3},{2200,2992,3}, {2200,2985,3},{2200,2980,3},{2200,2973,3},{2200,2968,3},{2200,2963,3},{2200,2957,3}, {2200,2952,3},{2200,2945,3},{2200,2940,3},{2200,2935,3},{2200,2928,3},{2200,2923,3}, {2200,2917,3},{2200,2912,3},{2200,2905,3},{2200,2900,3},{2200,2897,3},{2200,2892,3}, {2200,2885,3},{2200,2880,3},{2200,2873,3},{2200,2868,3},{2200,2862,3},{2200,2857,3}, {2200,2852,3},{2200,2845,3},{2200,2840,3},{2200,2833,3},{2200,2827,3},{2200,2822,3}, {2200,2817,3},{2200,2810,3},{2200,2805,3},{2200,2798,3},{2200,2793,3},{2200,2787,3}, {2200,2782,3},{2200,2775,3},{2200,2770,3},{2200,2763,3},{2200,2758,3},{2200,2753,3}, {2200,2747,3},{2200,2742,3},{2200,2735,3},{2200,2730,3},{2200,2723,3},{2200,2718,3}, {2200,2712,3},{2200,2707,3},{2200,2700,3},{2200,2695,3},{2200,2688,3},{2200,2683,3}, {2200,2677,3},{2200,2672,3},{2200,2665,3},{2200,2660,3},{2200,2653,3},{2200,2648,3}, {2200,2642,3},{2200,2637,3},{2200,2630,3},{2200,2625,3},{2200,2618,3},{2200,2613,3}, {2200,2607,3},{2200,2600,3},{2200,2595,3},{2200,2588,3},{2200,2582,3},{2200,2577,3}, {2200,2572,3},{2200,2565,3},{2200,2558,3},{2200,2553,3},{2200,2547,3},{2200,2542,3}, {2200,2535,3},{2200,2530,3},{2200,2523,3},{2200,2518,3},{2200,2512,3},{2200,2507,3}, {2200,2500,3},{2300,1500,131},{2297,1493,3},{2293,1488,3},{2292,1482,3}, {2288,1475,3},{2285,1470,3},{2282,1463,3},{2278,1457,3},{2275,1452,3},{2272,1445,3}, {2268,1438,3},{2267,1432,3},{2263,1427,3},{2262,1423,3},{2265,1420,3},{2268,1415,3}, {2272,1410,3},{2275,1407,3},{2278,1402,3},{2282,1398,3},{2287,1393,3},{2290,1390,3}, {2293,1385,3},{2297,1382,3},{2300,1377,3},{2303,1372,3},{2307,1368,3},{2310,1363,3}, {2313,1360,3},{2317,1355,3},{2318,1350,3},{2320,1343,3},{2322,1337,3},{2323,1332,3}, {2325,1325,3},{2327,1320,3},{2327,1313,3},{2328,1308,3},{2330,1302,3},{2332,1297,3}, {2333,1290,3},{2333,1285,3},{2335,1278,3},{2337,1272,3},{2338,1267,3},{2338,1260,3}, {2340,1255,3},{2342,1248,3},{2343,1243,3},{2343,1237,3},{2345,1232,3},{2347,1225,3}, {2348,1218,3},{2348,1213,3},{2350,1207,3},{2352,1198,3},{2360,1193,3},{2367,1192,3}, {2372,1188,3},{2377,1185,3},{2383,1182,3},{2388,1178,3},{2393,1175,3},{2400,1173,3}, {2405,1170,3},{2412,1167,3},{2417,1163,3},{2422,1160,3},{2430,1157,3},{2432,1153,3}, {2433,1147,3},{2435,1142,3},{2437,1135,3},{2438,1128,3},{2440,1123,3},{2442,1117,3}, {2443,1112,3},{2445,1105,3},{2447,1100,3},{2457,1072,3},{2448,1048,3},{2448,1042,3}, {2460,1025,3},{2475,1022,3},{2483,1005,3},{2490,1005,3},{2497,1005,3},{2502,1005,3}, {2507,1005,3},{2513,1005,3},{2518,1005,3},{2523,1003,3},{2532,1003,3},{2535,1002,3}, {2540,998,3},{2543,995,3},{2548,992,3},{2552,988,3},{2557,985,3},{2560,982,3}, {2565,980,3},{2568,975,3},{2573,973,3},{2577,970,3},{2582,967,3},{2585,963,3}, {2590,960,3},{2593,957,3},{2598,953,3},{2602,950,3},{2607,947,3},{2610,943,3}, {2615,940,3},{2620,940,3},{2622,942,3},{2628,945,3},{2630,950,3},{2635,950,3}, {2652,987,3},{2667,992,3},{2670,990,3},{2687,993,3},{2690,985,3},{2705,982,3}, {2727,975,3},{2732,973,3},{2737,977,3},{2743,978,3},{2750,983,3},{2757,982,3}, {2760,988,3},{2785,997,3},{2795,992,3},{2800,990,3},{2807,987,3},{2812,985,3}, {2817,982,3},{2825,978,3},{2828,980,3},{2833,980,3},{2840,982,3},{2845,982,3}, {2850,983,3},{2855,983,3},{2862,985,3},{2867,985,3},{2872,987,3},{2880,987,3}, {2895,987,3},{2915,983,3},{2945,975,3},{2963,967,3},{2978,958,3},{2997,945,3}, {3012,930,3},{3023,953,3},{3032,973,3},{3035,977,3},{3035,988,3},{3058,1008,3}, {3065,1012,3},{3073,1022,3},{3092,1028,3},{3100,1025,3},{3107,1027,3},{3142,1012,3}, {3152,1013,3},{3160,1022,3},{3170,1028,3},{3173,1033,3},{3173,1048,3},{3175,1052,3}, {3187,1062,3},{3197,1062,3},{3198,1065,3},{3197,1070,3},{3197,1072,3},{3200,1075,3}, {3202,1080,3},{3213,1088,3},{3237,1145,3},{3245,1157,3},{3248,1158,3},{3252,1157,3}, {3255,1155,3},{3262,1148,3},{3265,1147,3},{3283,1148,3},{3290,1147,3},{3317,1153,3}, {3317,1157,3},{3312,1160,3},{3310,1165,3},{3308,1180,3},{3312,1175,3},{3312,1170,3}, {3313,1170,3},{3307,1188,3},{3292,1213,3},{3283,1233,3},{3280,1257,3},{3280,1282,3}, {3285,1300,3},{3288,1312,3},{3292,1317,3},{3292,1327,3},{3290,1335,3},{3280,1360,3}, {3280,1378,3},{3277,1392,3},{3273,1402,3},{3270,1418,3},{3267,1425,3},{3263,1432,3}, {3253,1445,3},{3252,1450,3},{3248,1463,3},{3245,1473,3},{3243,1492,3},{3240,1518,3}, {3233,1527,3},{3222,1532,3},{3217,1537,3},{3208,1535,3},{3197,1535,3},{3165,1550,3}, {3150,1562,3},{3143,1568,3},{3132,1592,3},{3127,1608,3},{3123,1625,3},{3122,1675,3}, {3118,1693,3},{3112,1713,3},{3108,1737,3},{3102,1747,3},{3100,1760,3},{3093,1777,3}, {3092,1785,3},{3085,1792,3},{3083,1802,3},{3078,1820,3},{3067,1830,3},{3050,1855,3}, {3042,1865,3},{3038,1878,3},{3035,1880,3},{3028,1892,3},{3027,1900,3},{3027,1917,3}, {3028,1933,3},{3040,1955,3},{3042,1962,3},{3052,1977,3},{3082,2003,3},{3098,2013,3}, {3108,2015,3},{3122,2015,3},{3132,2010,3},{3137,2003,3},{3152,1997,3},{3173,1992,3}, {3197,1995,3},{3217,2007,3},{3240,2032,3},{3243,2038,3},{3257,2057,3},{3265,2082,3}, {3273,2095,3},{3277,2107,3},{3277,2128,3},{3278,2138,3},{3282,2148,3},{3293,2162,3}, {3295,2172,3},{3292,2178,3},{3290,2188,3},{3292,2208,3},{3293,2212,3},{3295,2215,3}, {3288,2222,3},{3288,2235,3},{3278,2253,3},{3278,2258,3},{3275,2265,3},{3273,2280,3}, {3268,2292,3},{3267,2300,3},{3263,2312,3},{3262,2312,3},{3258,2310,3},{3252,2310,3}, {3247,2315,3},{3243,2313,3},{3240,2313,3},{3243,2310,3},{3233,2308,3},{3228,2320,3}, {3222,2325,3},{3220,2328,3},{3215,2332,3},{3222,2330,3},{3222,2337,3},{3218,2342,3}, {3217,2373,3},{3210,2398,3},{3208,2400,3},{3207,2397,3},{3205,2398,3},{3205,2402,3}, {3202,2407,3},{3200,2410,3},{3200,2430,3},{3198,2455,3},{3200,2462,3},{3203,2465,3}, {3203,2473,3},{3198,2487,3},{3197,2498,3},{3192,2503,3},{3183,2503,3},{3173,2512,3}, {3165,2515,3},{3162,2510,3},{3157,2507,3},{3152,2505,3},{3148,2502,3},{3145,2497,3}, {3142,2492,3},{3137,2487,3},{3132,2487,3},{3127,2487,3},{3122,2488,3},{3117,2487,3}, {3112,2488,3},{3107,2490,3},{3102,2492,3},{3097,2493,3},{3092,2495,3},{3087,2498,3}, {3082,2500,3},{3077,2502,3},{3072,2498,3},{3067,2498,3},{3062,2497,3},{3057,2493,3}, {3052,2493,3},{3047,2490,3},{3042,2487,3},{3038,2483,3},{3033,2478,3},{3030,2477,3}, {3025,2473,3},{3020,2472,3},{3013,2472,3},{3010,2475,3},{3005,2477,3},{3000,2478,3}, {2995,2482,3},{2990,2483,3},{2983,2483,3},{2978,2482,3},{2973,2483,3},{2970,2487,3}, {2965,2488,3},{2960,2488,3},{2953,2488,3},{2948,2488,3},{2942,2492,3},{2937,2495,3}, {2930,2497,3},{2925,2500,3},{2920,2500,3},{2913,2500,3},{2908,2500,3},{2903,2500,3}, {2897,2500,3},{2892,2500,3},{2887,2500,3},{2880,2500,3},{2875,2500,3},{2870,2500,3}, {2863,2500,3},{2858,2500,3},{2853,2500,3},{2847,2500,3},{2842,2500,3},{2837,2500,3}, {2830,2500,3},{2825,2500,3},{2820,2500,3},{2813,2500,3},{2808,2500,3},{2802,2500,3}, {2797,2500,3},{2792,2500,3},{2785,2500,3},{2780,2500,3},{2775,2500,3},{2768,2500,3}, {2763,2500,3},{2758,2500,3},{2752,2500,3},{2747,2500,3},{2742,2500,3},{2735,2500,3}, {2730,2500,3},{2725,2500,3},{2718,2500,3},{2713,2500,3},{2708,2500,3},{2702,2500,3}, {2697,2500,3},{2692,2500,3},{2687,2500,3},{2680,2500,3},{2675,2500,3},{2670,2500,3}, {2663,2500,3},{2658,2500,3},{2653,2500,3},{2647,2500,3},{2642,2500,3},{2637,2500,3}, {2630,2500,3},{2625,2500,3},{2620,2500,3},{2613,2500,3},{2608,2500,3},{2603,2500,3}, {2597,2500,3},{2592,2500,3},{2587,2500,3},{2580,2500,3},{2575,2500,3},{2570,2500,3}, {2563,2500,3},{2558,2500,3},{2553,2500,3},{2547,2500,3},{2542,2500,3},{2537,2500,3}, {2530,2500,3},{2525,2500,3},{2520,2500,3},{2513,2500,3},{2508,2500,3},{2503,2500,3}, {2497,2500,3},{2492,2500,3},{2485,2500,3},{2480,2500,3},{2475,2500,3},{2468,2500,3}, {2463,2500,3},{2458,2500,3},{2452,2500,3},{2447,2500,3},{2442,2500,3},{2435,2500,3}, {2430,2500,3},{2425,2500,3},{2418,2500,3},{2413,2500,3},{2408,2500,3},{2402,2500,3}, {2397,2500,3},{2392,2500,3},{2385,2500,3},{2380,2500,3},{2375,2500,3},{2368,2500,3}, {2363,2500,3},{2358,2500,3},{2352,2500,3},{2347,2500,3},{2342,2500,3},{2337,2500,3}, {2330,2500,3},{2325,2500,3},{2320,2500,3},{2313,2500,3},{2308,2500,3},{2303,2500,3}, {2297,2500,3},{2292,2500,3},{2287,2500,3},{2280,2500,3},{2275,2500,3},{2270,2500,3}, {2265,2500,3},{2258,2500,3},{2253,2500,3},{2248,2500,3},{2242,2500,3},{2237,2500,3}, {2232,2500,3},{2225,2500,3},{2220,2500,3},{2215,2500,3},{2208,2500,3},{2203,2500,3}, {2200,2500,3},{2195,2500,3},{2188,2500,3},{2183,2500,3},{2178,2500,3},{2172,2500,3}, {2167,2500,3},{2162,2500,3},{2155,2500,3},{2150,2500,3},{2145,2500,3},{2138,2500,3}, {2133,2500,3},{2128,2500,3},{2122,2500,3},{2117,2500,3},{2112,2500,3},{2107,2500,3}, {2100,2500,3},{2095,2500,3},{2090,2500,3},{2083,2500,3},{2078,2500,3},{2073,2500,3}, {2067,2500,3},{2062,2500,3},{2057,2500,3},{2050,2500,3},{2045,2500,3},{2040,2500,3}, {2033,2500,3},{2028,2500,3},{2023,2500,3},{2018,2500,3},{2012,2500,3},{2007,2500,3}, {2000,2500,3},{2000,2495,3},{2000,2488,3},{2000,2483,3},{2000,2477,3},{2000,2472,3}, {2000,2465,3},{2000,2460,3},{2000,2453,3},{2000,2448,3},{2000,2442,3},{2000,2437,3}, {2000,2430,3},{2000,2425,3},{2000,2420,3},{2000,2413,3},{2000,2408,3},{2000,2402,3}, {2000,2400,3},{1995,2400,3},{1990,2400,3},{1983,2400,3},{1978,2400,3},{1973,2400,3}, {1967,2400,3},{1962,2400,3},{1957,2400,3},{1950,2400,3},{1953,2395,3},{1957,2390,3}, {1958,2383,3},{1962,2378,3},{1965,2373,3},{1968,2368,3},{1970,2362,3},{1973,2357,3}, {1977,2352,3},{1980,2347,3},{1982,2340,3},{1985,2335,3},{1988,2330,3},{1992,2323,3}, {1993,2318,3},{1997,2313,3},{2000,2308,3},{2003,2302,3},{2005,2297,3},{2008,2292,3}, {2012,2285,3},{2015,2280,3},{2017,2275,3},{2020,2270,3},{2023,2263,3},{2027,2258,3}, {2028,2253,3},{2032,2247,3},{2035,2242,3},{2037,2237,3},{2040,2232,3},{2043,2225,3}, {2047,2220,3},{2048,2215,3},{2052,2208,3},{2055,2203,3},{2058,2198,3},{2060,2192,3}, {2063,2187,3},{2067,2182,3},{2068,2175,3},{2072,2170,3},{2075,2165,3},{2078,2160,3}, {2080,2153,3},{2083,2148,3},{2087,2143,3},{2088,2137,3},{2092,2132,3},{2095,2127,3}, {2098,2120,3},{2100,2115,3},{2103,2110,3},{2107,2103,3},{2108,2098,3},{2112,2093,3}, {2115,2087,3},{2117,2082,3},{2120,2077,3},{2123,2070,3},{2125,2065,3},{2128,2060,3}, {2132,2053,3},{2135,2048,3},{2137,2043,3},{2140,2037,3},{2143,2032,3},{2145,2027,3}, {2148,2020,3},{2152,2015,3},{2153,2010,3},{2157,2003,3},{2160,1998,3},{2162,1992,3}, {2165,1987,3},{2168,1982,3},{2170,1975,3},{2173,1970,3},{2177,1965,3},{2180,1958,3}, {2182,1953,3},{2185,1947,3},{2188,1942,3},{2190,1937,3},{2193,1930,3},{2197,1925,3}, {2198,1920,3},{2202,1913,3},{2205,1908,3},{2207,1902,3},{2208,1900,3},{2212,1895,3}, {2213,1888,3},{2217,1883,3},{2220,1877,3},{2222,1872,3},{2225,1867,3},{2228,1860,3}, {2230,1855,3},{2233,1848,3},{2235,1843,3},{2238,1837,3},{2242,1832,3},{2243,1827,3}, {2247,1820,3},{2250,1815,3},{2252,1808,3},{2255,1803,3},{2258,1798,3},{2260,1792,3}, {2263,1787,3},{2265,1780,3},{2268,1775,3},{2272,1768,3},{2273,1763,3},{2277,1758,3}, {2280,1752,3},{2282,1747,3},{2285,1740,3},{2287,1735,3},{2290,1728,3},{2293,1723,3}, {2295,1717,3},{2298,1712,3},{2300,1707,3},{2303,1700,3},{2307,1695,3},{2308,1688,3}, {2312,1683,3},{2313,1677,3},{2317,1672,3},{2320,1665,3},{2322,1660,3},{2325,1653,3}, {2327,1648,3},{2330,1643,3},{2333,1637,3},{2335,1632,3},{2338,1625,3},{2340,1620,3}, {2343,1613,3},{2347,1608,3},{2348,1602,3},{2350,1600,3},{2347,1593,3},{2343,1587,3}, {2340,1582,3},{2337,1575,3},{2335,1568,3},{2332,1562,3},{2328,1557,3},{2325,1550,3}, {2322,1543,3},{2318,1537,3},{2317,1532,3},{2313,1525,3},{2310,1518,3},{2307,1513,3}, {2303,1507,3},{2300,1500,3},{753,1550,131},{763,1557,3},{775,1558,3},{777,1550,3}, {782,1548,3},{803,1538,3},{812,1538,3},{822,1532,3},{848,1520,3},{855,1512,3}, {865,1507,3},{868,1497,3},{873,1497,3},{875,1493,3},{877,1492,3},{882,1487,3}, {882,1482,3},{900,1457,3},{920,1435,3},{923,1435,3},{960,1403,3},{963,1395,3}, {975,1402,3},{978,1408,3},{983,1412,3},{993,1418,3},{998,1418,3},{1000,1445,3}, {998,1453,3},{992,1478,3},{997,1492,3},{995,1503,3},{995,1508,3},{998,1510,3}, {998,1517,3},{998,1523,3},{993,1542,3},{998,1568,3},{1010,1550,3},{1020,1543,3}, {1020,1540,3},{1028,1535,3},{1030,1530,3},{1033,1528,3},{1038,1528,3},{1048,1522,3}, {1050,1518,3},{1050,1515,3},{1053,1513,3},{1062,1515,3},{1080,1505,3},{1090,1508,3}, {1098,1503,3},{1120,1502,3},{1130,1507,3},{1135,1505,3},{1140,1505,3},{1143,1507,3}, {1152,1513,3},{1155,1513,3},{1158,1508,3},{1168,1507,3},{1172,1507,3},{1172,1510,3}, {1175,1508,3},{1178,1512,3},{1185,1508,3},{1185,1505,3},{1188,1503,3},{1193,1507,3}, {1197,1505,3},{1197,1508,3},{1200,1505,3},{1208,1505,3},{1210,1500,3},{1208,1498,3}, {1210,1495,3},{1215,1488,3},{1218,1492,3},{1220,1490,3},{1238,1490,3},{1245,1487,3}, {1245,1485,3},{1250,1487,3},{1263,1483,3},{1263,1477,3},{1268,1473,3},{1265,1470,3}, {1272,1472,3},{1272,1465,3},{1273,1462,3},{1277,1462,3},{1273,1458,3},{1277,1457,3}, {1277,1455,3},{1283,1455,3},{1285,1455,3},{1288,1452,3},{1288,1458,3},{1287,1460,3}, {1290,1463,3},{1290,1470,3},{1288,1473,3},{1287,1475,3},{1288,1477,3},{1288,1485,3}, {1290,1487,3},{1290,1495,3},{1292,1495,3},{1292,1498,3},{1293,1498,3},{1292,1502,3}, {1292,1505,3},{1295,1505,3},{1295,1507,3},{1293,1508,3},{1297,1508,3},{1293,1513,3}, {1293,1515,3},{1295,1515,3},{1297,1518,3},{1297,1520,3},{1300,1520,3},{1303,1518,3}, {1303,1517,3},{1307,1508,3},{1305,1503,3},{1307,1492,3},{1312,1490,3},{1318,1490,3}, {1320,1488,3},{1320,1487,3},{1318,1483,3},{1320,1482,3},{1323,1477,3},{1323,1470,3}, {1327,1467,3},{1325,1465,3},{1325,1462,3},{1327,1460,3},{1325,1458,3},{1327,1455,3}, {1325,1453,3},{1325,1445,3},{1323,1443,3},{1322,1440,3},{1318,1438,3},{1320,1433,3}, {1317,1428,3},{1315,1427,3},{1317,1423,3},{1318,1422,3},{1325,1415,3},{1327,1415,3}, {1327,1417,3},{1325,1420,3},{1328,1422,3},{1332,1422,3},{1335,1420,3},{1337,1417,3}, {1338,1417,3},{1342,1420,3},{1345,1420,3},{1348,1423,3},{1350,1422,3},{1347,1415,3}, {1340,1408,3},{1342,1407,3},{1342,1398,3},{1337,1398,3},{1332,1397,3},{1332,1395,3}, {1333,1387,3},{1335,1385,3},{1340,1380,3},{1342,1378,3},{1345,1377,3},{1352,1375,3}, {1353,1377,3},{1355,1380,3},{1358,1382,3},{1362,1385,3},{1365,1387,3},{1370,1387,3}, {1373,1385,3},{1377,1385,3},{1378,1383,3},{1383,1382,3},{1387,1378,3},{1388,1377,3}, {1390,1372,3},{1392,1368,3},{1397,1365,3},{1400,1360,3},{1400,1357,3},{1405,1355,3}, {1410,1353,3},{1417,1352,3},{1422,1352,3},{1427,1350,3},{1433,1348,3},{1438,1347,3}, {1443,1347,3},{1448,1348,3},{1450,1353,3},{1452,1358,3},{1453,1363,3},{1457,1368,3}, {1462,1368,3},{1463,1367,3},{1468,1370,3},{1472,1373,3},{1470,1377,3},{1475,1378,3}, {1480,1378,3},{1487,1377,3},{1492,1380,3},{1497,1383,3},{1502,1385,3},{1508,1390,3}, {1512,1392,3},{1517,1395,3},{1520,1398,3},{1525,1402,3},{1530,1407,3},{1535,1410,3}, {1540,1413,3},{1547,1418,3},{1552,1422,3},{1557,1425,3},{1562,1428,3},{1568,1433,3}, {1573,1437,3},{1577,1440,3},{1582,1445,3},{1585,1448,3},{1590,1452,3},{1593,1457,3}, {1597,1460,3},{1602,1463,3},{1605,1467,3},{1610,1472,3},{1613,1475,3},{1617,1478,3}, {1622,1483,3},{1625,1487,3},{1630,1490,3},{1633,1495,3},{1637,1498,3},{1642,1502,3}, {1645,1507,3},{1650,1510,3},{1653,1513,3},{1657,1517,3},{1662,1522,3},{1665,1525,3}, {1670,1528,3},{1673,1533,3},{1677,1537,3},{1682,1540,3},{1685,1545,3},{1690,1548,3}, {1695,1550,3},{1702,1550,3},{1707,1550,3},{1712,1550,3},{1717,1550,3},{1723,1552,3}, {1728,1552,3},{1733,1552,3},{1737,1552,3},{1742,1553,3},{1747,1553,3},{1752,1553,3}, {1758,1553,3},{1763,1553,3},{1768,1555,3},{1775,1555,3},{1780,1555,3},{1785,1555,3}, {1790,1555,3},{1797,1555,3},{1802,1557,3},{1807,1557,3},{1813,1557,3},{1818,1557,3}, {1823,1557,3},{1828,1557,3},{1835,1558,3},{1840,1558,3},{1845,1558,3},{1852,1558,3}, {1857,1558,3},{1862,1560,3},{1867,1560,3},{1873,1560,3},{1878,1560,3},{1885,1562,3}, {1890,1562,3},{1895,1563,3},{1900,1563,3},{1907,1563,3},{1912,1565,3},{1917,1565,3}, {1922,1567,3},{1928,1567,3},{1933,1567,3},{1938,1568,3},{1945,1568,3},{1950,1570,3}, {1955,1570,3},{1960,1572,3},{1967,1572,3},{1972,1573,3},{1977,1573,3},{1982,1573,3}, {1988,1575,3},{1993,1577,3},{2000,1578,3},{2005,1582,3},{2010,1585,3},{2015,1588,3}, {2020,1592,3},{2027,1595,3},{2032,1597,3},{2037,1598,3},{2040,1595,3},{2045,1590,3}, {2050,1587,3},{2053,1582,3},{2058,1578,3},{2062,1575,3},{2067,1570,3},{2070,1565,3}, {2073,1562,3},{2078,1557,3},{2083,1555,3},{2088,1555,3},{2093,1558,3},{2097,1562,3}, {2100,1560,3},{2105,1557,3},{2108,1553,3},{2113,1550,3},{2117,1547,3},{2122,1545,3}, {2127,1542,3},{2130,1538,3},{2135,1535,3},{2138,1532,3},{2143,1530,3},{2147,1525,3}, {2150,1520,3},{2157,1520,3},{2162,1520,3},{2167,1520,3},{2172,1520,3},{2178,1520,3}, {2183,1520,3},{2188,1520,3},{2195,1520,3},{2200,1520,3},{2207,1518,3},{2212,1517,3}, {2217,1517,3},{2223,1515,3},{2228,1513,3},{2233,1513,3},{2240,1512,3},{2245,1510,3}, {2250,1510,3},{2255,1508,3},{2262,1507,3},{2267,1507,3},{2272,1505,3},{2278,1505,3}, {2283,1503,3},{2288,1502,3},{2295,1502,3},{2300,1500,3},{2303,1507,3},{2307,1513,3}, {2310,1518,3},{2313,1525,3},{2317,1532,3},{2318,1537,3},{2322,1543,3},{2325,1550,3}, {2328,1557,3},{2332,1562,3},{2335,1568,3},{2337,1575,3},{2340,1582,3},{2343,1587,3}, {2347,1593,3},{2350,1600,3},{2348,1602,3},{2347,1608,3},{2343,1613,3},{2340,1620,3}, {2338,1625,3},{2335,1632,3},{2333,1637,3},{2330,1643,3},{2327,1648,3},{2325,1653,3}, {2322,1660,3},{2320,1665,3},{2317,1672,3},{2313,1677,3},{2312,1683,3},{2308,1688,3}, {2307,1695,3},{2303,1700,3},{2300,1707,3},{2298,1712,3},{2295,1717,3},{2293,1723,3}, {2290,1728,3},{2287,1735,3},{2285,1740,3},{2282,1747,3},{2280,1752,3},{2277,1758,3}, {2273,1763,3},{2272,1768,3},{2268,1775,3},{2265,1780,3},{2263,1787,3},{2260,1792,3}, {2258,1798,3},{2255,1803,3},{2252,1808,3},{2250,1815,3},{2247,1820,3},{2243,1827,3}, {2242,1832,3},{2238,1837,3},{2235,1843,3},{2233,1848,3},{2230,1855,3},{2228,1860,3}, {2225,1867,3},{2222,1872,3},{2220,1877,3},{2217,1883,3},{2213,1888,3},{2212,1895,3}, {2208,1900,3},{2207,1902,3},{2205,1908,3},{2202,1913,3},{2198,1920,3},{2197,1925,3}, {2193,1930,3},{2190,1937,3},{2188,1942,3},{2185,1947,3},{2182,1953,3},{2180,1958,3}, {2177,1965,3},{2173,1970,3},{2170,1975,3},{2168,1982,3},{2165,1987,3},{2162,1992,3}, {2160,1998,3},{2157,2003,3},{2153,2010,3},{2152,2015,3},{2148,2020,3},{2145,2027,3}, {2143,2032,3},{2140,2037,3},{2137,2043,3},{2135,2048,3},{2132,2053,3},{2128,2060,3}, {2125,2065,3},{2123,2070,3},{2120,2077,3},{2117,2082,3},{2115,2087,3},{2112,2093,3}, {2108,2098,3},{2107,2103,3},{2103,2110,3},{2100,2115,3},{2098,2120,3},{2095,2127,3}, {2092,2132,3},{2088,2137,3},{2087,2143,3},{2083,2148,3},{2080,2153,3},{2078,2160,3}, {2075,2165,3},{2072,2170,3},{2068,2175,3},{2067,2182,3},{2063,2187,3},{2060,2192,3}, {2058,2198,3},{2055,2203,3},{2052,2208,3},{2048,2215,3},{2047,2220,3},{2043,2225,3}, {2040,2232,3},{2037,2237,3},{2035,2242,3},{2032,2247,3},{2028,2253,3},{2027,2258,3}, {2023,2263,3},{2020,2270,3},{2017,2275,3},{2015,2280,3},{2012,2285,3},{2008,2292,3}, {2005,2297,3},{2003,2302,3},{2000,2308,3},{1997,2313,3},{1993,2318,3},{1992,2323,3}, {1988,2330,3},{1985,2335,3},{1982,2340,3},{1980,2347,3},{1977,2352,3},{1973,2357,3}, {1970,2362,3},{1968,2368,3},{1965,2373,3},{1962,2378,3},{1958,2383,3},{1957,2390,3}, {1953,2395,3},{1950,2400,3},{1943,2400,3},{1937,2400,3},{1930,2400,3},{1923,2400,3}, {1917,2400,3},{1910,2400,3},{1903,2400,3},{1897,2400,3},{1890,2400,3},{1883,2400,3}, {1877,2400,3},{1868,2400,3},{1862,2400,3},{1857,2400,3},{1850,2400,3},{1843,2400,3}, {1837,2400,3},{1830,2400,3},{1823,2400,3},{1817,2400,3},{1808,2400,3},{1803,2400,3}, {1798,2400,3},{1793,2400,3},{1787,2400,3},{1778,2400,3},{1773,2400,3},{1767,2400,3}, {1760,2400,3},{1753,2400,3},{1748,2400,3},{1743,2400,3},{1735,2400,3},{1730,2400,3}, {1725,2400,3},{1720,2400,3},{1713,2400,3},{1707,2400,3},{1702,2400,3},{1695,2400,3}, {1690,2400,3},{1683,2400,3},{1678,2400,3},{1673,2400,3},{1665,2400,3},{1658,2400,3}, {1653,2400,3},{1647,2400,3},{1640,2400,3},{1633,2400,3},{1627,2400,3},{1620,2400,3}, {1613,2400,3},{1607,2400,3},{1600,2400,3},{1593,2400,3},{1588,2400,3},{1583,2400,3}, {1577,2400,3},{1570,2400,3},{1575,2378,3},{1577,2362,3},{1572,2345,3},{1568,2335,3}, {1572,2312,3},{1560,2302,3},{1555,2293,3},{1548,2292,3},{1542,2298,3},{1537,2300,3}, {1522,2298,3},{1515,2295,3},{1512,2293,3},{1508,2285,3},{1498,2275,3},{1490,2273,3}, {1487,2267,3},{1477,2268,3},{1468,2270,3},{1463,2247,3},{1460,2240,3},{1457,2238,3}, {1452,2238,3},{1448,2245,3},{1438,2245,3},{1435,2247,3},{1432,2243,3},{1428,2245,3}, {1425,2247,3},{1423,2255,3},{1417,2257,3},{1413,2255,3},{1410,2248,3},{1405,2243,3}, {1405,2240,3},{1402,2235,3},{1402,2232,3},{1397,2223,3},{1378,2208,3},{1373,2213,3}, {1367,2213,3},{1363,2215,3},{1357,2222,3},{1348,2223,3},{1338,2230,3},{1335,2230,3}, {1318,2217,3},{1313,2202,3},{1305,2195,3},{1302,2193,3},{1297,2190,3},{1280,2183,3}, {1268,2190,3},{1265,2195,3},{1263,2205,3},{1265,2213,3},{1275,2222,3},{1267,2233,3}, {1262,2247,3},{1248,2242,3},{1247,2238,3},{1240,2243,3},{1235,2243,3},{1218,2250,3}, {1205,2248,3},{1203,2248,3},{1207,2255,3},{1208,2258,3},{1207,2262,3},{1208,2263,3}, {1207,2263,3},{1200,2262,3},{1182,2258,3},{1167,2255,3},{1163,2257,3},{1152,2265,3}, {1147,2278,3},{1142,2278,3},{1140,2278,3},{1142,2293,3},{1132,2295,3},{1128,2297,3}, {1122,2297,3},{1095,2288,3},{1092,2287,3},{1093,2278,3},{1095,2277,3},{1097,2265,3}, {1098,2260,3},{1097,2255,3},{1100,2252,3},{1100,2247,3},{1098,2243,3},{1095,2240,3}, {1095,2237,3},{1093,2232,3},{1090,2228,3},{1092,2225,3},{1087,2220,3},{1082,2218,3}, {1083,2210,3},{1083,2205,3},{1082,2202,3},{1080,2200,3},{1073,2200,3},{1073,2195,3}, {1072,2190,3},{1067,2185,3},{1068,2182,3},{1067,2178,3},{1065,2177,3},{1063,2172,3}, {1052,2170,3},{1045,2173,3},{1040,2175,3},{1037,2172,3},{1028,2172,3},{1028,2168,3}, {1023,2167,3},{1022,2163,3},{1020,2153,3},{1012,2145,3},{1005,2143,3},{997,2137,3}, {995,2133,3},{998,2127,3},{993,2122,3},{988,2120,3},{987,2117,3},{983,2113,3}, {977,2110,3},{975,2107,3},{977,2105,3},{975,2102,3},{972,2102,3},{968,2100,3}, {963,2100,3},{963,2098,3},{960,2098,3},{960,2095,3},{952,2090,3},{948,2083,3}, {942,2082,3},{940,2077,3},{938,2077,3},{937,2068,3},{933,2065,3},{930,2067,3}, {930,2060,3},{932,2053,3},{928,2053,3},{927,2050,3},{922,2052,3},{920,2048,3}, {913,2043,3},{913,2042,3},{910,2037,3},{910,2033,3},{912,2025,3},{913,2020,3}, {912,2015,3},{915,2010,3},{913,2010,3},{913,2007,3},{912,2003,3},{908,2003,3}, {910,2002,3},{908,1998,3},{908,1995,3},{907,1995,3},{907,1992,3},{903,1990,3}, {905,1983,3},{903,1977,3},{902,1968,3},{903,1958,3},{900,1955,3},{900,1947,3}, {902,1942,3},{900,1938,3},{902,1930,3},{900,1928,3},{902,1925,3},{902,1920,3}, {900,1917,3},{902,1908,3},{897,1898,3},{893,1897,3},{888,1888,3},{885,1887,3}, {883,1888,3},{885,1890,3},{880,1893,3},{880,1895,3},{877,1898,3},{875,1903,3}, {872,1907,3},{870,1912,3},{867,1913,3},{860,1907,3},{853,1905,3},{843,1893,3}, {835,1888,3},{833,1887,3},{832,1887,3},{828,1883,3},{825,1880,3},{822,1870,3}, {820,1867,3},{813,1863,3},{808,1863,3},{803,1858,3},{802,1805,3},{795,1788,3}, {798,1763,3},{797,1763,3},{793,1758,3},{793,1752,3},{788,1748,3},{790,1745,3}, {790,1743,3},{787,1742,3},{788,1738,3},{783,1730,3},{783,1727,3},{780,1723,3}, {777,1722,3},{777,1720,3},{777,1718,3},{768,1713,3},{770,1707,3},{767,1707,3}, {767,1702,3},{765,1700,3},{763,1687,3},{760,1687,3},{757,1688,3},{757,1685,3}, {755,1682,3},{755,1678,3},{760,1675,3},{765,1670,3},{768,1663,3},{773,1663,3}, {777,1662,3},{778,1657,3},{787,1657,3},{785,1650,3},{778,1647,3},{780,1642,3}, {770,1640,3},{768,1640,3},{767,1632,3},{762,1622,3},{760,1608,3},{758,1603,3}, {753,1602,3},{750,1597,3},{745,1578,3},{747,1573,3},{752,1572,3},{752,1568,3}, {753,1550,3},{-103,3407,131},{-102,3410,3},{-102,3405,3},{-100,3403,3}, {-100,3407,3},{-98,3407,3},{-98,3408,3},{-100,3413,3},{-93,3413,3},{-88,3418,3}, {-87,3418,3},{-80,3407,3},{-78,3408,3},{-73,3407,3},{-73,3403,3},{-63,3405,3}, {-60,3408,3},{-57,3407,3},{-55,3410,3},{-53,3410,3},{-53,3413,3},{-53,3415,3}, {-48,3417,3},{-42,3420,3},{-42,3422,3},{-43,3422,3},{-43,3425,3},{-47,3428,3}, {-48,3430,3},{-45,3430,3},{-45,3432,3},{-48,3433,3},{-47,3437,3},{-45,3437,3}, {-45,3440,3},{-48,3440,3},{-50,3442,3},{-52,3440,3},{-53,3442,3},{-47,3450,3}, {-45,3450,3},{-40,3445,3},{-35,3445,3},{-32,3457,3},{-33,3460,3},{-35,3475,3}, {-33,3475,3},{-30,3475,3},{-28,3478,3},{-32,3480,3},{-32,3483,3},{-28,3485,3}, {-27,3482,3},{-20,3480,3},{-17,3473,3},{-13,3472,3},{-8,3473,3},{-10,3472,3}, {-8,3468,3},{-15,3460,3},{-15,3457,3},{-18,3450,3},{-17,3445,3},{-20,3435,3}, {-23,3435,3},{-23,3438,3},{-28,3438,3},{-35,3432,3},{-40,3430,3},{-40,3428,3}, {-38,3427,3},{-37,3428,3},{-35,3428,3},{-33,3425,3},{-32,3425,3},{-30,3423,3}, {-27,3425,3},{-25,3425,3},{-23,3420,3},{-20,3418,3},{-18,3418,3},{-20,3413,3}, {-15,3408,3},{-13,3408,3},{-12,3413,3},{-10,3412,3},{-8,3413,3},{-7,3413,3}, {-7,3407,3},{-12,3405,3},{-8,3405,3},{-8,3402,3},{-5,3403,3},{-5,3400,3}, {0,3400,3},{8,3395,3},{10,3395,3},{10,3398,3},{15,3400,3},{17,3398,3},{23,3400,3}, {30,3405,3},{35,3410,3},{38,3412,3},{43,3410,3},{47,3412,3},{60,3417,3}, {65,3427,3},{72,3432,3},{77,3432,3},{82,3440,3},{85,3442,3},{88,3445,3}, {97,3448,3},{103,3448,3},{112,3453,3},{110,3458,3},{115,3460,3},{117,3465,3}, {120,3468,3},{123,3482,3},{130,3483,3},{133,3480,3},{137,3480,3},{140,3480,3}, {142,3485,3},{153,3488,3},{158,3495,3},{167,3500,3},{188,3500,3},{192,3503,3}, {198,3498,3},{205,3498,3},{208,3500,3},{238,3488,3},{242,3488,3},{245,3493,3}, {250,3493,3},{253,3490,3},{260,3488,3},{258,3485,3},{268,3478,3},{278,3478,3}, {285,3475,3},{287,3472,3},{288,3470,3},{287,3468,3},{287,3465,3},{293,3458,3}, {312,3457,3},{313,3453,3},{315,3448,3},{318,3445,3},{327,3445,3},{335,3443,3}, {338,3440,3},{343,3442,3},{348,3440,3},{352,3445,3},{367,3447,3},{368,3442,3}, {373,3438,3},{373,3435,3},{370,3430,3},{373,3430,3},{377,3427,3},{378,3427,3}, {378,3417,3},{380,3420,3},{382,3417,3},{385,3422,3},{388,3422,3},{388,3418,3}, {388,3415,3},{387,3412,3},{388,3410,3},{395,3413,3},{402,3408,3},{405,3410,3}, {410,3408,3},{412,3407,3},{418,3407,3},{422,3400,3},{427,3403,3},{430,3408,3}, {433,3412,3},{438,3415,3},{442,3420,3},{447,3423,3},{450,3428,3},{453,3432,3}, {458,3435,3},{462,3438,3},{462,3445,3},{462,3450,3},{462,3455,3},{462,3462,3}, {462,3467,3},{462,3472,3},{462,3477,3},{462,3483,3},{462,3488,3},{462,3493,3}, {462,3498,3},{462,3505,3},{462,3510,3},{462,3515,3},{462,3520,3},{462,3527,3}, {462,3532,3},{462,3537,3},{462,3542,3},{462,3548,3},{462,3553,3},{462,3558,3}, {462,3565,3},{462,3570,3},{462,3575,3},{462,3580,3},{462,3587,3},{462,3592,3}, {462,3593,3},{460,3595,3},{458,3595,3},{438,3592,3},{413,3593,3},{395,3585,3}, {388,3587,3},{378,3585,3},{370,3583,3},{363,3583,3},{355,3590,3},{348,3590,3}, {348,3593,3},{355,3592,3},{355,3593,3},{347,3595,3},{342,3593,3},{332,3595,3}, {332,3598,3},{325,3603,3},{322,3610,3},{320,3612,3},{322,3615,3},{317,3613,3}, {312,3615,3},{303,3613,3},{302,3612,3},{298,3613,3},{298,3618,3},{297,3622,3}, {298,3625,3},{295,3625,3},{292,3628,3},{285,3638,3},{272,3645,3},{265,3643,3}, {257,3652,3},{252,3653,3},{248,3653,3},{245,3652,3},{240,3655,3},{242,3660,3}, {240,3662,3},{242,3665,3},{248,3670,3},{272,3668,3},{273,3670,3},{282,3670,3}, {285,3670,3},{288,3668,3},{290,3665,3},{290,3653,3},{298,3643,3},{302,3638,3}, {312,3638,3},{318,3633,3},{318,3630,3},{325,3628,3},{332,3622,3},{335,3625,3}, {337,3625,3},{352,3620,3},{360,3620,3},{368,3622,3},{368,3625,3},{375,3627,3}, {388,3622,3},{392,3620,3},{395,3618,3},{397,3620,3},{400,3620,3},{403,3622,3}, {407,3622,3},{413,3625,3},{418,3622,3},{430,3622,3},{433,3618,3},{445,3622,3}, {445,3625,3},{443,3630,3},{443,3637,3},{445,3643,3},{445,3650,3},{445,3655,3}, {445,3662,3},{443,3667,3},{443,3673,3},{443,3680,3},{440,3697,3},{438,3703,3}, {435,3705,3},{433,3708,3},{428,3712,3},{427,3717,3},{423,3722,3},{420,3728,3}, {415,3735,3},{412,3740,3},{407,3747,3},{403,3753,3},{400,3758,3},{395,3765,3}, {392,3772,3},{387,3778,3},{383,3783,3},{378,3790,3},{373,3800,3},{363,3810,3}, {365,3815,3},{363,3845,3},{367,3850,3},{367,3853,3},{363,3855,3},{362,3865,3}, {365,3868,3},{362,3870,3},{360,3872,3},{353,3892,3},{355,3905,3},{355,3912,3}, {352,3918,3},{352,3935,3},{350,3938,3},{348,3945,3},{350,3948,3},{343,3952,3}, {343,3957,3},{350,3960,3},{358,3968,3},{368,3978,3},{377,3982,3},{387,3987,3}, {390,3995,3},{393,4000,3},{397,4007,3},{400,4012,3},{403,4018,3},{405,4023,3}, {407,4030,3},{408,4035,3},{412,4040,3},{415,4045,3},{417,4050,3},{418,4057,3}, {420,4062,3},{423,4067,3},{425,4073,3},{428,4078,3},{427,4080,3},{422,4088,3}, {415,4092,3},{410,4102,3},{400,4110,3},{395,4117,3},{395,4147,3},{397,4150,3}, {397,4157,3},{398,4162,3},{397,4167,3},{400,4172,3},{395,4185,3},{397,4190,3}, {398,4192,3},{393,4188,3},{388,4185,3},{383,4182,3},{378,4178,3},{375,4173,3}, {370,4170,3},{365,4167,3},{360,4163,3},{355,4160,3},{350,4157,3},{345,4153,3}, {340,4150,3},{335,4147,3},{330,4143,3},{325,4140,3},{317,4133,3},{310,4127,3}, {305,4122,3},{300,4117,3},{295,4112,3},{290,4107,3},{285,4102,3},{283,4098,3}, {277,4098,3},{272,4098,3},{265,4098,3},{260,4098,3},{253,4098,3},{247,4098,3}, {242,4098,3},{237,4098,3},{230,4098,3},{225,4098,3},{220,4098,3},{213,4098,3}, {208,4098,3},{203,4098,3},{197,4098,3},{192,4098,3},{187,4098,3},{180,4098,3}, {175,4098,3},{170,4098,3},{163,4098,3},{158,4098,3},{153,4098,3},{147,4098,3}, {142,4098,3},{137,4098,3},{130,4098,3},{125,4098,3},{120,4098,3},{113,4098,3}, {108,4098,3},{103,4098,3},{97,4098,3},{92,4098,3},{87,4098,3},{80,4098,3}, {75,4098,3},{70,4098,3},{63,4098,3},{58,4098,3},{53,4098,3},{47,4098,3}, {42,4098,3},{37,4098,3},{30,4098,3},{25,4098,3},{20,4098,3},{13,4098,3}, {8,4098,3},{3,4098,3},{-3,4098,3},{-10,4098,3},{-17,4098,3},{-23,4098,3}, {-30,4100,3},{-37,4100,3},{-43,4100,3},{-50,4100,3},{-57,4100,3},{-63,4100,3}, {-70,4100,3},{-77,4100,3},{-87,4100,3},{-90,4102,3},{-93,4105,3},{-97,4108,3}, {-102,4112,3},{-105,4115,3},{-110,4117,3},{-113,4120,3},{-118,4123,3},{-122,4127,3}, {-125,4130,3},{-130,4133,3},{-133,4137,3},{-138,4140,3},{-142,4142,3},{-147,4145,3}, {-150,4148,3},{-153,4152,3},{-158,4155,3},{-163,4155,3},{-167,4155,3},{-175,4148,3}, {-183,4143,3},{-183,4142,3},{-185,4142,3},{-190,4135,3},{-197,4132,3},{-197,4128,3}, {-197,4123,3},{-193,4122,3},{-195,4122,3},{-195,4120,3},{-197,4120,3},{-200,4118,3}, {-198,4110,3},{-205,4102,3},{-202,4098,3},{-193,4098,3},{-190,4102,3},{-192,4098,3}, {-202,4095,3},{-205,4098,3},{-208,4095,3},{-207,4093,3},{-200,4090,3},{-197,4087,3}, {-202,4085,3},{-202,4088,3},{-203,4090,3},{-205,4090,3},{-207,4088,3},{-208,4090,3}, {-222,4092,3},{-223,4093,3},{-222,4095,3},{-225,4098,3},{-230,4095,3},{-232,4092,3}, {-230,4092,3},{-228,4095,3},{-228,4092,3},{-223,4090,3},{-222,4088,3},{-223,4085,3}, {-228,4082,3},{-230,4080,3},{-228,4077,3},{-232,4080,3},{-233,4078,3},{-237,4082,3}, {-240,4082,3},{-242,4078,3},{-245,4077,3},{-247,4072,3},{-255,4063,3},{-255,4060,3}, {-253,4053,3},{-255,4042,3},{-265,4027,3},{-273,4020,3},{-270,4020,3},{-268,4018,3}, {-272,4018,3},{-273,4017,3},{-275,4017,3},{-277,4017,3},{-278,4015,3},{-282,4018,3}, {-290,4015,3},{-290,4017,3},{-292,4015,3},{-293,4017,3},{-295,4015,3},{-298,4015,3}, {-303,4013,3},{-300,4018,3},{-298,4023,3},{-303,4018,3},{-308,4015,3},{-312,4017,3}, {-318,4012,3},{-323,4013,3},{-327,4012,3},{-333,4003,3},{-335,4000,3},{-332,3998,3}, {-333,3993,3},{-337,3993,3},{-340,3997,3},{-352,3990,3},{-358,3988,3},{-362,3987,3}, {-362,3985,3},{-360,3983,3},{-360,3978,3},{-358,3978,3},{-360,3978,3},{-362,3980,3}, {-363,3980,3},{-363,3983,3},{-365,3987,3},{-367,3987,3},{-382,3983,3},{-392,3978,3}, {-393,3977,3},{-395,3975,3},{-395,3972,3},{-392,3972,3},{-390,3972,3},{-392,3968,3}, {-397,3970,3},{-397,3975,3},{-403,3972,3},{-405,3968,3},{-402,3965,3},{-397,3967,3}, {-398,3965,3},{-397,3962,3},{-398,3960,3},{-400,3963,3},{-403,3963,3},{-403,3955,3}, {-408,3957,3},{-407,3957,3},{-407,3962,3},{-410,3967,3},{-427,3958,3},{-443,3955,3}, {-442,3952,3},{-443,3950,3},{-447,3950,3},{-452,3947,3},{-458,3945,3},{-455,3943,3}, {-453,3945,3},{-453,3943,3},{-455,3942,3},{-457,3942,3},{-458,3938,3},{-462,3942,3}, {-463,3940,3},{-463,3933,3},{-460,3930,3},{-462,3930,3},{-462,3925,3},{-465,3922,3}, {-467,3922,3},{-467,3920,3},{-467,3918,3},{-463,3915,3},{-460,3910,3},{-457,3907,3}, {-453,3902,3},{-452,3898,3},{-448,3893,3},{-445,3890,3},{-442,3887,3},{-440,3882,3}, {-437,3878,3},{-433,3873,3},{-430,3870,3},{-427,3865,3},{-425,3862,3},{-422,3857,3}, {-418,3853,3},{-415,3848,3},{-413,3845,3},{-410,3840,3},{-407,3837,3},{-403,3832,3}, {-400,3828,3},{-398,3823,3},{-395,3820,3},{-392,3815,3},{-388,3812,3},{-385,3807,3}, {-383,3803,3},{-380,3798,3},{-377,3795,3},{-373,3790,3},{-372,3787,3},{-368,3782,3}, {-365,3778,3},{-353,3773,3},{-352,3770,3},{-350,3768,3},{-350,3762,3},{-345,3763,3}, {-345,3760,3},{-342,3760,3},{-335,3767,3},{-335,3768,3},{-332,3768,3},{-332,3772,3}, {-305,3768,3},{-303,3765,3},{-300,3760,3},{-297,3755,3},{-293,3750,3},{-292,3743,3}, {-288,3738,3},{-285,3733,3},{-283,3728,3},{-280,3722,3},{-277,3717,3},{-273,3712,3}, {-270,3705,3},{-267,3700,3},{-265,3695,3},{-262,3690,3},{-258,3683,3},{-255,3678,3}, {-252,3673,3},{-248,3667,3},{-247,3662,3},{-243,3657,3},{-240,3650,3},{-237,3645,3}, {-233,3640,3},{-230,3633,3},{-228,3630,3},{-227,3627,3},{-223,3622,3},{-222,3617,3}, {-218,3613,3},{-215,3608,3},{-213,3603,3},{-210,3598,3},{-208,3593,3},{-205,3588,3}, {-202,3583,3},{-200,3578,3},{-197,3573,3},{-193,3568,3},{-192,3563,3},{-188,3558,3}, {-185,3553,3},{-183,3548,3},{-180,3543,3},{-178,3540,3},{-175,3535,3},{-172,3530,3}, {-170,3525,3},{-167,3520,3},{-163,3515,3},{-162,3510,3},{-158,3505,3},{-155,3500,3}, {-153,3495,3},{-150,3490,3},{-148,3485,3},{-145,3480,3},{-142,3475,3},{-140,3472,3}, {-137,3467,3},{-133,3462,3},{-132,3457,3},{-128,3452,3},{-125,3447,3},{-123,3442,3}, {-120,3437,3},{-118,3432,3},{-115,3427,3},{-112,3422,3},{-110,3417,3},{-107,3412,3}, {-103,3408,3},{-103,3407,3},{-138,2960,131},{-132,2960,3},{-127,2958,3}, {-122,2960,3},{-118,2957,3},{-107,2958,3},{-100,2957,3},{-97,2958,3},{-90,2958,3}, {-88,2963,3},{-78,2963,3},{-73,2962,3},{-65,2963,3},{-62,2965,3},{-60,2963,3}, {-57,2967,3},{-50,2967,3},{-47,2965,3},{-45,2968,3},{-42,2975,3},{-38,2982,3}, {-28,2988,3},{-18,2988,3},{-15,2990,3},{-15,2987,3},{-17,2985,3},{-17,2982,3}, {-13,2980,3},{-13,2978,3},{-8,2975,3},{-8,2972,3},{-7,2972,3},{0,2973,3}, {7,2972,3},{12,2973,3},{13,2977,3},{15,2977,3},{17,2978,3},{15,2982,3}, {37,2987,3},{48,2997,3},{63,2993,3},{72,2995,3},{77,2995,3},{83,2997,3}, {87,3002,3},{90,3010,3},{90,3015,3},{100,3022,3},{107,3022,3},{113,3023,3}, {115,3027,3},{117,3028,3},{115,3033,3},{120,3035,3},{120,3038,3},{122,3045,3}, {123,3047,3},{123,3048,3},{122,3050,3},{120,3050,3},{118,3048,3},{117,3050,3}, {113,3048,3},{112,3050,3},{110,3052,3},{105,3050,3},{103,3050,3},{103,3052,3}, {105,3053,3},{100,3053,3},{105,3055,3},{103,3057,3},{102,3060,3},{103,3058,3}, {105,3062,3},{107,3060,3},{107,3062,3},{110,3063,3},{112,3067,3},{115,3070,3}, {118,3072,3},{122,3072,3},{123,3073,3},{125,3075,3},{130,3078,3},{132,3080,3}, {135,3083,3},{138,3085,3},{140,3087,3},{142,3088,3},{145,3092,3},{150,3093,3}, {152,3095,3},{153,3100,3},{157,3105,3},{158,3105,3},{158,3113,3},{160,3117,3}, {162,3120,3},{163,3122,3},{165,3123,3},{167,3125,3},{168,3127,3},{170,3128,3}, {172,3130,3},{175,3132,3},{177,3133,3},{182,3132,3},{183,3133,3},{182,3135,3}, {182,3137,3},{183,3138,3},{192,3140,3},{192,3142,3},{200,3138,3},{200,3140,3}, {207,3140,3},{212,3138,3},{213,3140,3},{217,3138,3},{220,3137,3},{223,3137,3}, {225,3135,3},{228,3138,3},{230,3140,3},{232,3143,3},{232,3145,3},{233,3147,3}, {235,3148,3},{237,3148,3},{238,3148,3},{240,3147,3},{238,3147,3},{235,3145,3}, {233,3143,3},{233,3140,3},{232,3137,3},{227,3133,3},{225,3132,3},{220,3130,3}, {218,3128,3},{223,3120,3},{230,3120,3},{228,3112,3},{230,3105,3},{233,3107,3}, {240,3098,3},{242,3095,3},{240,3093,3},{233,3092,3},{233,3088,3},{240,3083,3}, {245,3083,3},{245,3073,3},{248,3073,3},{252,3075,3},{260,3075,3},{262,3078,3}, {267,3078,3},{270,3080,3},{277,3082,3},{278,3085,3},{285,3088,3},{288,3088,3}, {297,3085,3},{305,3077,3},{323,3083,3},{328,3083,3},{328,3087,3},{340,3093,3}, {347,3092,3},{350,3093,3},{353,3092,3},{348,3087,3},{357,3088,3},{368,3097,3}, {370,3103,3},{380,3118,3},{380,3128,3},{365,3153,3},{368,3157,3},{372,3170,3}, {382,3180,3},{380,3183,3},{368,3193,3},{360,3195,3},{358,3207,3},{353,3210,3}, {352,3220,3},{362,3220,3},{375,3240,3},{375,3272,3},{382,3290,3},{388,3302,3}, {377,3318,3},{377,3323,3},{377,3330,3},{377,3335,3},{375,3340,3},{375,3345,3}, {375,3352,3},{378,3355,3},{382,3358,3},{387,3363,3},{390,3367,3},{393,3372,3}, {398,3375,3},{402,3378,3},{405,3383,3},{410,3387,3},{413,3392,3},{418,3395,3}, {422,3400,3},{418,3407,3},{412,3407,3},{410,3408,3},{405,3410,3},{402,3408,3}, {395,3413,3},{388,3410,3},{387,3412,3},{388,3415,3},{388,3418,3},{388,3422,3}, {385,3422,3},{382,3417,3},{380,3420,3},{378,3417,3},{378,3427,3},{377,3427,3}, {373,3430,3},{370,3430,3},{373,3435,3},{373,3438,3},{368,3442,3},{367,3447,3}, {352,3445,3},{348,3440,3},{343,3442,3},{338,3440,3},{335,3443,3},{327,3445,3}, {318,3445,3},{315,3448,3},{313,3453,3},{312,3457,3},{293,3458,3},{287,3465,3}, {287,3468,3},{288,3470,3},{287,3472,3},{285,3475,3},{278,3478,3},{268,3478,3}, {258,3485,3},{260,3488,3},{253,3490,3},{250,3493,3},{245,3493,3},{242,3488,3}, {238,3488,3},{208,3500,3},{205,3498,3},{198,3498,3},{192,3503,3},{188,3500,3}, {167,3500,3},{158,3495,3},{153,3488,3},{142,3485,3},{140,3480,3},{137,3480,3}, {133,3480,3},{130,3483,3},{123,3482,3},{120,3468,3},{117,3465,3},{115,3460,3}, {110,3458,3},{112,3453,3},{103,3448,3},{97,3448,3},{88,3445,3},{85,3442,3}, {82,3440,3},{77,3432,3},{72,3432,3},{65,3427,3},{60,3417,3},{47,3412,3}, {43,3410,3},{38,3412,3},{35,3410,3},{30,3405,3},{23,3400,3},{27,3398,3}, {23,3395,3},{23,3392,3},{20,3392,3},{20,3390,3},{17,3390,3},{20,3383,3}, {17,3383,3},{15,3382,3},{20,3380,3},{23,3380,3},{22,3378,3},{20,3380,3}, {18,3375,3},{20,3370,3},{25,3375,3},{27,3370,3},{32,3375,3},{33,3370,3}, {32,3367,3},{32,3363,3},{32,3362,3},{28,3363,3},{22,3362,3},{20,3358,3}, {18,3357,3},{18,3355,3},{20,3353,3},{18,3352,3},{22,3353,3},{20,3350,3}, {23,3350,3},{18,3348,3},{22,3347,3},{23,3342,3},{25,3345,3},{27,3342,3}, {28,3343,3},{28,3340,3},{28,3345,3},{28,3352,3},{30,3352,3},{30,3350,3}, {32,3350,3},{33,3345,3},{35,3347,3},{35,3342,3},{32,3343,3},{33,3340,3}, {33,3337,3},{35,3337,3},{37,3337,3},{35,3332,3},{38,3332,3},{38,3337,3}, {42,3335,3},{45,3337,3},{48,3340,3},{48,3337,3},{45,3335,3},{42,3330,3}, {45,3328,3},{48,3328,3},{47,3325,3},{43,3323,3},{43,3318,3},{40,3320,3}, {38,3327,3},{37,3327,3},{32,3315,3},{30,3315,3},{27,3317,3},{25,3313,3}, {22,3313,3},{22,3312,3},{25,3312,3},{27,3307,3},{25,3308,3},{22,3305,3}, {22,3310,3},{18,3310,3},{8,3298,3},{7,3290,3},{10,3290,3},{12,3287,3},{13,3290,3}, {15,3288,3},{17,3290,3},{20,3288,3},{17,3287,3},{18,3285,3},{15,3285,3}, {15,3282,3},{10,3278,3},{13,3275,3},{10,3275,3},{8,3267,3},{13,3265,3}, {13,3270,3},{18,3273,3},{20,3272,3},{17,3270,3},{17,3265,3},{22,3268,3}, {23,3265,3},{28,3267,3},{28,3265,3},{20,3262,3},{20,3258,3},{18,3257,3}, {18,3258,3},{15,3258,3},{13,3260,3},{13,3257,3},{12,3258,3},{10,3258,3}, {12,3255,3},{7,3257,3},{5,3257,3},{5,3255,3},{8,3253,3},{5,3252,3},{8,3250,3}, {3,3247,3},{3,3243,3},{5,3242,3},{10,3245,3},{12,3245,3},{8,3243,3},{8,3237,3}, {5,3238,3},{2,3238,3},{-2,3237,3},{-3,3237,3},{-2,3235,3},{2,3235,3},{5,3225,3}, {2,3227,3},{0,3230,3},{-3,3228,3},{-3,3225,3},{0,3220,3},{3,3220,3},{0,3220,3}, {-3,3222,3},{-5,3220,3},{-8,3218,3},{-5,3212,3},{-3,3208,3},{-5,3202,3}, {-7,3202,3},{-7,3205,3},{-10,3207,3},{-10,3198,3},{-13,3192,3},{-15,3193,3}, {-20,3192,3},{-18,3197,3},{-18,3198,3},{-25,3198,3},{-25,3200,3},{-32,3203,3}, {-33,3203,3},{-30,3202,3},{-30,3200,3},{-43,3192,3},{-48,3183,3},{-53,3182,3}, {-57,3180,3},{-63,3178,3},{-65,3180,3},{-73,3173,3},{-80,3170,3},{-85,3170,3}, {-85,3175,3},{-87,3177,3},{-95,3177,3},{-100,3178,3},{-100,3173,3},{-100,3168,3}, {-100,3163,3},{-100,3157,3},{-100,3152,3},{-100,3147,3},{-100,3142,3},{-100,3135,3}, {-100,3130,3},{-100,3125,3},{-100,3118,3},{-100,3113,3},{-100,3108,3},{-100,3103,3}, {-100,3097,3},{-100,3092,3},{-100,3087,3},{-100,3080,3},{-100,3075,3},{-102,3068,3}, {-107,3067,3},{-107,3063,3},{-107,3057,3},{-108,3052,3},{-107,3048,3},{-107,3037,3}, {-113,3035,3},{-115,3032,3},{-122,3028,3},{-123,3025,3},{-127,3023,3},{-128,3018,3}, {-133,3017,3},{-137,3013,3},{-137,3008,3},{-140,3007,3},{-143,3005,3},{-143,3003,3}, {-147,2998,3},{-148,2993,3},{-145,2990,3},{-138,2988,3},{-133,2985,3},{-132,2983,3}, {-135,2980,3},{-137,2980,3},{-135,2977,3},{-135,2973,3},{-138,2968,3},{-138,2960,3}, {-1157,3495,131},{-1148,3497,3},{-1145,3493,3},{-1138,3488,3},{-1135,3487,3}, {-1133,3480,3},{-1135,3477,3},{-1130,3473,3},{-1128,3475,3},{-1127,3473,3}, {-1120,3472,3},{-1118,3468,3},{-1110,3462,3},{-1102,3460,3},{-1098,3460,3}, {-1092,3465,3},{-1078,3465,3},{-1075,3468,3},{-1072,3465,3},{-1065,3465,3}, {-1062,3462,3},{-1058,3462,3},{-1057,3458,3},{-1052,3458,3},{-1048,3460,3}, {-1045,3457,3},{-1040,3457,3},{-1028,3458,3},{-1023,3457,3},{-1017,3455,3}, {-1010,3452,3},{-1007,3453,3},{-998,3452,3},{-982,3438,3},{-978,3433,3}, {-973,3433,3},{-958,3415,3},{-950,3407,3},{-948,3405,3},{-948,3400,3},{-955,3395,3}, {-960,3397,3},{-967,3395,3},{-970,3392,3},{-962,3380,3},{-958,3375,3},{-958,3373,3}, {-962,3370,3},{-962,3365,3},{-958,3358,3},{-962,3353,3},{-962,3343,3},{-953,3340,3}, {-948,3332,3},{-950,3327,3},{-948,3323,3},{-952,3320,3},{-950,3318,3},{-950,3313,3}, {-942,3303,3},{-937,3300,3},{-940,3293,3},{-948,3295,3},{-948,3298,3},{-937,3285,3}, {-933,3282,3},{-933,3277,3},{-928,3275,3},{-927,3255,3},{-922,3250,3},{-917,3248,3}, {-913,3243,3},{-913,3227,3},{-912,3222,3},{-907,3217,3},{-907,3212,3},{-903,3205,3}, {-907,3198,3},{-902,3193,3},{-897,3193,3},{-893,3195,3},{-892,3188,3},{-888,3178,3}, {-890,3175,3},{-892,3172,3},{-890,3168,3},{-882,3157,3},{-870,3157,3},{-867,3148,3}, {-863,3147,3},{-863,3140,3},{-858,3138,3},{-858,3137,3},{-860,3135,3},{-860,3132,3}, {-862,3128,3},{-858,3123,3},{-858,3122,3},{-860,3118,3},{-858,3117,3},{-855,3117,3}, {-853,3115,3},{-850,3113,3},{-843,3115,3},{-838,3112,3},{-833,3103,3},{-830,3102,3}, {-827,3098,3},{-823,3097,3},{-818,3095,3},{-817,3095,3},{-817,3097,3},{-815,3097,3}, {-812,3095,3},{-810,3092,3},{-802,3090,3},{-797,3087,3},{-795,3085,3},{-790,3083,3}, {-787,3080,3},{-778,3075,3},{-775,3075,3},{-768,3072,3},{-765,3067,3},{-760,3065,3}, {-758,3062,3},{-755,3062,3},{-752,3058,3},{-750,3058,3},{-748,3060,3},{-743,3058,3}, {-735,3062,3},{-722,3055,3},{-718,3053,3},{-717,3053,3},{-712,3050,3},{-710,3050,3}, {-712,3053,3},{-710,3055,3},{-703,3055,3},{-702,3058,3},{-697,3057,3},{-680,3040,3}, {-675,3040,3},{-663,3032,3},{-662,3028,3},{-647,3015,3},{-645,3007,3},{-650,2995,3}, {-648,2995,3},{-645,2990,3},{-637,2982,3},{-628,2975,3},{-627,2972,3},{-620,2973,3}, {-612,2972,3},{-605,2973,3},{-600,2978,3},{-600,2983,3},{-595,2988,3},{-592,2995,3}, {-588,2995,3},{-577,2993,3},{-570,2990,3},{-557,2985,3},{-545,2973,3},{-542,2975,3}, {-533,2978,3},{-527,2978,3},{-527,2980,3},{-523,2980,3},{-522,2982,3},{-520,2982,3}, {-518,2980,3},{-517,2982,3},{-510,2982,3},{-505,2977,3},{-502,2978,3},{-497,2973,3}, {-495,2968,3},{-493,2967,3},{-492,2962,3},{-492,2960,3},{-490,2958,3},{-487,2962,3}, {-485,2960,3},{-478,2960,3},{-458,2965,3},{-445,2965,3},{-445,2967,3},{-447,2975,3}, {-442,2977,3},{-440,2980,3},{-437,2982,3},{-437,2985,3},{-433,2993,3},{-430,2997,3}, {-427,3003,3},{-423,3005,3},{-417,3007,3},{-413,3013,3},{-408,3017,3},{-402,3022,3}, {-393,3023,3},{-385,3030,3},{-378,3032,3},{-377,3035,3},{-378,3040,3},{-370,3040,3}, {-362,3045,3},{-355,3045,3},{-350,3048,3},{-352,3052,3},{-348,3053,3},{-345,3063,3}, {-342,3067,3},{-338,3067,3},{-337,3062,3},{-333,3065,3},{-330,3073,3},{-328,3073,3}, {-330,3077,3},{-325,3083,3},{-322,3082,3},{-320,3085,3},{-315,3085,3},{-312,3083,3}, {-308,3083,3},{-305,3080,3},{-298,3085,3},{-298,3075,3},{-298,3067,3},{-295,3065,3}, {-290,3057,3},{-295,3050,3},{-295,3048,3},{-290,3047,3},{-290,3045,3},{-287,3043,3}, {-285,3042,3},{-280,3043,3},{-278,3045,3},{-275,3043,3},{-272,3047,3},{-270,3048,3}, {-265,3052,3},{-268,3045,3},{-268,3043,3},{-265,3043,3},{-258,3048,3},{-245,3052,3}, {-240,3057,3},{-238,3058,3},{-240,3065,3},{-235,3070,3},{-238,3078,3},{-235,3083,3}, {-230,3085,3},{-218,3085,3},{-208,3090,3},{-193,3082,3},{-180,3083,3},{-170,3082,3}, {-167,3083,3},{-152,3075,3},{-143,3073,3},{-138,3068,3},{-138,3063,3},{-135,3060,3}, {-133,3057,3},{-127,3055,3},{-122,3052,3},{-117,3052,3},{-117,3047,3},{-113,3048,3}, {-110,3045,3},{-107,3048,3},{-108,3052,3},{-107,3057,3},{-107,3063,3},{-107,3067,3}, {-102,3068,3},{-100,3075,3},{-100,3080,3},{-100,3087,3},{-100,3092,3},{-100,3097,3}, {-100,3103,3},{-100,3108,3},{-100,3113,3},{-100,3118,3},{-100,3125,3},{-100,3130,3}, {-100,3135,3},{-100,3142,3},{-100,3147,3},{-100,3152,3},{-100,3157,3},{-100,3163,3}, {-100,3168,3},{-100,3173,3},{-100,3178,3},{-103,3177,3},{-105,3177,3},{-105,3180,3}, {-98,3183,3},{-103,3183,3},{-102,3185,3},{-103,3187,3},{-107,3185,3},{-110,3187,3}, {-113,3185,3},{-117,3187,3},{-125,3187,3},{-132,3185,3},{-135,3182,3},{-148,3180,3}, {-148,3178,3},{-147,3177,3},{-148,3175,3},{-150,3173,3},{-155,3175,3},{-157,3175,3}, {-162,3177,3},{-167,3172,3},{-172,3172,3},{-190,3168,3},{-195,3163,3},{-202,3162,3}, {-205,3162,3},{-203,3167,3},{-200,3168,3},{-200,3170,3},{-205,3168,3},{-208,3170,3}, {-212,3168,3},{-215,3168,3},{-233,3163,3},{-237,3163,3},{-235,3170,3},{-233,3170,3}, {-233,3175,3},{-235,3175,3},{-237,3178,3},{-237,3175,3},{-240,3175,3},{-242,3180,3}, {-247,3180,3},{-250,3177,3},{-250,3172,3},{-255,3172,3},{-255,3175,3},{-262,3175,3}, {-263,3177,3},{-262,3180,3},{-262,3187,3},{-262,3182,3},{-265,3182,3},{-265,3178,3}, {-267,3177,3},{-268,3178,3},{-272,3175,3},{-272,3178,3},{-273,3178,3},{-283,3178,3}, {-283,3182,3},{-280,3183,3},{-277,3185,3},{-272,3182,3},{-268,3185,3},{-270,3188,3}, {-272,3187,3},{-272,3190,3},{-263,3190,3},{-265,3190,3},{-265,3193,3},{-268,3193,3}, {-272,3197,3},{-277,3197,3},{-277,3198,3},{-277,3202,3},{-272,3200,3},{-268,3200,3}, {-268,3198,3},{-263,3197,3},{-260,3193,3},{-260,3198,3},{-250,3198,3},{-248,3200,3}, {-250,3202,3},{-248,3203,3},{-253,3207,3},{-252,3207,3},{-250,3210,3},{-253,3212,3}, {-255,3217,3},{-250,3217,3},{-248,3215,3},{-247,3212,3},{-243,3210,3},{-243,3207,3}, {-240,3207,3},{-238,3207,3},{-237,3207,3},{-237,3212,3},{-238,3212,3},{-238,3217,3}, {-232,3220,3},{-232,3222,3},{-225,3222,3},{-227,3223,3},{-228,3225,3},{-227,3232,3}, {-232,3232,3},{-233,3235,3},{-233,3232,3},{-235,3232,3},{-240,3233,3},{-240,3237,3}, {-242,3237,3},{-242,3235,3},{-243,3237,3},{-243,3243,3},{-247,3243,3},{-245,3248,3}, {-247,3250,3},{-245,3255,3},{-250,3255,3},{-252,3252,3},{-255,3250,3},{-257,3252,3}, {-248,3262,3},{-238,3265,3},{-240,3267,3},{-243,3265,3},{-248,3270,3},{-252,3267,3}, {-252,3268,3},{-248,3273,3},{-253,3273,3},{-250,3277,3},{-248,3280,3},{-252,3283,3}, {-257,3280,3},{-257,3283,3},{-258,3283,3},{-260,3282,3},{-263,3282,3},{-265,3280,3}, {-267,3282,3},{-268,3285,3},{-272,3282,3},{-272,3287,3},{-275,3287,3},{-280,3285,3}, {-283,3285,3},{-287,3272,3},{-288,3272,3},{-288,3275,3},{-292,3280,3},{-293,3275,3}, {-298,3275,3},{-302,3275,3},{-297,3282,3},{-288,3283,3},{-285,3285,3},{-283,3288,3}, {-280,3290,3},{-285,3292,3},{-287,3295,3},{-288,3303,3},{-285,3302,3},{-285,3297,3}, {-283,3297,3},{-282,3293,3},{-280,3293,3},{-278,3297,3},{-277,3292,3},{-272,3288,3}, {-270,3288,3},{-268,3292,3},{-263,3287,3},{-257,3288,3},{-257,3292,3},{-248,3287,3}, {-247,3290,3},{-245,3290,3},{-242,3292,3},{-238,3295,3},{-238,3302,3},{-238,3310,3}, {-242,3313,3},{-247,3313,3},{-247,3317,3},{-252,3320,3},{-250,3330,3},{-252,3333,3}, {-250,3333,3},{-252,3335,3},{-253,3335,3},{-253,3338,3},{-255,3340,3},{-255,3343,3}, {-253,3342,3},{-253,3345,3},{-250,3347,3},{-247,3340,3},{-245,3347,3},{-245,3353,3}, {-243,3353,3},{-242,3350,3},{-238,3353,3},{-237,3360,3},{-232,3365,3},{-230,3368,3}, {-228,3372,3},{-228,3375,3},{-222,3383,3},{-213,3382,3},{-208,3377,3},{-212,3368,3}, {-217,3362,3},{-218,3360,3},{-215,3343,3},{-217,3337,3},{-213,3333,3},{-212,3327,3}, {-213,3322,3},{-212,3320,3},{-208,3322,3},{-205,3322,3},{-207,3330,3},{-203,3328,3}, {-202,3327,3},{-200,3328,3},{-202,3330,3},{-205,3332,3},{-202,3333,3},{-205,3338,3}, {-203,3340,3},{-198,3338,3},{-197,3340,3},{-202,3348,3},{-203,3355,3},{-198,3357,3}, {-198,3353,3},{-197,3353,3},{-195,3347,3},{-193,3348,3},{-192,3348,3},{-190,3345,3}, {-188,3347,3},{-188,3345,3},{-192,3335,3},{-193,3333,3},{-193,3330,3},{-192,3328,3}, {-192,3330,3},{-185,3332,3},{-180,3338,3},{-180,3345,3},{-183,3345,3},{-185,3347,3}, {-183,3352,3},{-182,3353,3},{-182,3355,3},{-177,3357,3},{-178,3365,3},{-177,3365,3}, {-168,3353,3},{-168,3370,3},{-163,3372,3},{-163,3367,3},{-162,3368,3},{-160,3368,3}, {-158,3365,3},{-157,3365,3},{-157,3362,3},{-155,3367,3},{-153,3368,3},{-152,3368,3}, {-148,3365,3},{-147,3368,3},{-150,3372,3},{-148,3378,3},{-147,3380,3},{-152,3383,3}, {-152,3388,3},{-153,3392,3},{-152,3395,3},{-150,3393,3},{-148,3393,3},{-150,3390,3}, {-147,3388,3},{-147,3387,3},{-143,3385,3},{-143,3378,3},{-142,3378,3},{-138,3380,3}, {-140,3382,3},{-142,3385,3},{-138,3383,3},{-138,3382,3},{-137,3382,3},{-133,3380,3}, {-132,3390,3},{-133,3397,3},{-135,3398,3},{-137,3397,3},{-137,3398,3},{-133,3398,3}, {-130,3393,3},{-128,3393,3},{-128,3390,3},{-125,3387,3},{-120,3392,3},{-117,3398,3}, {-113,3400,3},{-112,3398,3},{-110,3398,3},{-110,3403,3},{-107,3407,3},{-103,3407,3}, {-103,3408,3},{-107,3412,3},{-110,3417,3},{-112,3422,3},{-115,3427,3},{-118,3432,3}, {-120,3437,3},{-123,3442,3},{-125,3447,3},{-128,3452,3},{-132,3457,3},{-133,3462,3}, {-137,3467,3},{-140,3472,3},{-142,3475,3},{-145,3480,3},{-148,3485,3},{-150,3490,3}, {-153,3495,3},{-155,3500,3},{-158,3505,3},{-162,3510,3},{-163,3515,3},{-167,3520,3}, {-170,3525,3},{-172,3530,3},{-175,3535,3},{-178,3540,3},{-180,3543,3},{-183,3548,3}, {-185,3553,3},{-188,3558,3},{-192,3563,3},{-193,3568,3},{-197,3573,3},{-200,3578,3}, {-202,3583,3},{-205,3588,3},{-208,3593,3},{-210,3598,3},{-213,3603,3},{-215,3608,3}, {-218,3613,3},{-222,3617,3},{-223,3622,3},{-227,3627,3},{-228,3630,3},{-230,3633,3}, {-233,3640,3},{-237,3645,3},{-240,3650,3},{-243,3657,3},{-247,3662,3},{-248,3667,3}, {-252,3673,3},{-255,3678,3},{-258,3683,3},{-262,3690,3},{-265,3695,3},{-267,3700,3}, {-270,3705,3},{-273,3712,3},{-277,3717,3},{-280,3722,3},{-283,3728,3},{-285,3733,3}, {-288,3738,3},{-292,3743,3},{-293,3750,3},{-297,3755,3},{-300,3760,3},{-303,3765,3}, {-305,3768,3},{-332,3772,3},{-332,3768,3},{-335,3768,3},{-335,3767,3},{-342,3760,3}, {-345,3760,3},{-345,3763,3},{-350,3762,3},{-350,3768,3},{-352,3770,3},{-353,3773,3}, {-365,3778,3},{-368,3782,3},{-372,3787,3},{-373,3790,3},{-377,3795,3},{-380,3798,3}, {-383,3803,3},{-385,3807,3},{-388,3812,3},{-392,3815,3},{-395,3820,3},{-398,3823,3}, {-400,3828,3},{-403,3832,3},{-407,3837,3},{-410,3840,3},{-413,3845,3},{-415,3848,3}, {-418,3853,3},{-422,3857,3},{-425,3862,3},{-427,3865,3},{-430,3870,3},{-433,3873,3}, {-437,3878,3},{-440,3882,3},{-442,3887,3},{-445,3890,3},{-448,3893,3},{-452,3898,3}, {-453,3902,3},{-457,3907,3},{-460,3910,3},{-463,3915,3},{-467,3918,3},{-467,3920,3}, {-468,3918,3},{-468,3922,3},{-475,3922,3},{-477,3920,3},{-475,3918,3},{-478,3917,3}, {-478,3922,3},{-485,3922,3},{-492,3918,3},{-493,3917,3},{-493,3915,3},{-487,3917,3}, {-485,3917,3},{-492,3913,3},{-492,3912,3},{-495,3913,3},{-500,3912,3},{-502,3913,3}, {-502,3910,3},{-505,3908,3},{-507,3910,3},{-507,3912,3},{-510,3913,3},{-515,3908,3}, {-518,3908,3},{-520,3907,3},{-523,3903,3},{-525,3905,3},{-522,3907,3},{-523,3908,3}, {-538,3902,3},{-540,3898,3},{-543,3897,3},{-545,3900,3},{-555,3897,3},{-565,3890,3}, {-572,3890,3},{-583,3883,3},{-593,3882,3},{-600,3878,3},{-605,3878,3},{-613,3882,3}, {-617,3887,3},{-632,3885,3},{-638,3887,3},{-640,3890,3},{-643,3892,3},{-647,3897,3}, {-648,3903,3},{-647,3903,3},{-645,3898,3},{-648,3905,3},{-655,3912,3},{-658,3915,3}, {-662,3917,3},{-663,3920,3},{-673,3925,3},{-675,3927,3},{-673,3928,3},{-675,3928,3}, {-682,3928,3},{-685,3928,3},{-685,3930,3},{-682,3930,3},{-683,3933,3},{-685,3937,3}, {-687,3947,3},{-700,3955,3},{-705,3953,3},{-713,3955,3},{-713,3952,3},{-718,3950,3}, {-718,3948,3},{-715,3948,3},{-718,3943,3},{-723,3942,3},{-725,3940,3},{-727,3938,3}, {-727,3937,3},{-730,3937,3},{-732,3932,3},{-733,3935,3},{-737,3935,3},{-743,3933,3}, {-747,3930,3},{-758,3927,3},{-768,3930,3},{-772,3928,3},{-777,3930,3},{-778,3928,3}, {-782,3925,3},{-782,3928,3},{-777,3932,3},{-773,3932,3},{-775,3937,3},{-778,3933,3}, {-778,3940,3},{-782,3945,3},{-787,3943,3},{-790,3942,3},{-793,3943,3},{-800,3943,3}, {-800,3945,3},{-798,3945,3},{-802,3945,3},{-813,3938,3},{-820,3937,3},{-820,3935,3}, {-828,3935,3},{-828,3933,3},{-830,3933,3},{-830,3932,3},{-827,3930,3},{-830,3930,3}, {-832,3928,3},{-838,3930,3},{-852,3930,3},{-855,3935,3},{-862,3937,3},{-867,3937,3}, {-870,3938,3},{-870,3937,3},{-873,3943,3},{-880,3947,3},{-882,3950,3},{-890,3952,3}, {-892,3957,3},{-892,3952,3},{-890,3950,3},{-887,3943,3},{-887,3940,3},{-892,3938,3}, {-890,3947,3},{-892,3945,3},{-893,3945,3},{-893,3950,3},{-898,3948,3},{-902,3950,3}, {-905,3950,3},{-907,3950,3},{-908,3950,3},{-913,3950,3},{-910,3957,3},{-920,3965,3}, {-927,3963,3},{-928,3965,3},{-938,3965,3},{-940,3962,3},{-942,3960,3},{-940,3957,3}, {-945,3957,3},{-945,3960,3},{-943,3962,3},{-945,3965,3},{-947,3965,3},{-950,3968,3}, {-960,3970,3},{-962,3973,3},{-963,3972,3},{-965,3972,3},{-967,3975,3},{-970,3973,3}, {-970,3975,3},{-975,3970,3},{-975,3975,3},{-985,3980,3},{-988,3980,3},{-988,3975,3}, {-992,3978,3},{-993,3978,3},{-997,3970,3},{-1000,3973,3},{-1005,3968,3}, {-1003,3973,3},{-998,3975,3},{-998,3982,3},{-1002,3985,3},{-1002,3988,3}, {-1007,3993,3},{-1010,3993,3},{-1013,3997,3},{-1022,3998,3},{-1018,4000,3}, {-1013,3998,3},{-1013,4000,3},{-1018,4013,3},{-1020,4012,3},{-1025,4013,3}, {-1027,4012,3},{-1028,4012,3},{-1027,4013,3},{-1028,4017,3},{-1027,4017,3}, {-1027,4018,3},{-1030,4023,3},{-1028,4023,3},{-1028,4027,3},{-1025,4020,3}, {-1020,4023,3},{-1023,4025,3},{-1027,4030,3},{-1035,4033,3},{-1035,4037,3}, {-1037,4040,3},{-1033,4043,3},{-1032,4042,3},{-1032,4038,3},{-1030,4042,3}, {-1035,4045,3},{-1038,4042,3},{-1040,4043,3},{-1043,4042,3},{-1048,4043,3}, {-1050,4042,3},{-1057,4033,3},{-1060,4023,3},{-1067,4017,3},{-1077,4003,3}, {-1080,4000,3},{-1083,3990,3},{-1092,3977,3},{-1095,3968,3},{-1095,3963,3}, {-1100,3952,3},{-1107,3943,3},{-1110,3935,3},{-1117,3927,3},{-1117,3920,3}, {-1115,3913,3},{-1117,3903,3},{-1117,3890,3},{-1127,3877,3},{-1127,3870,3}, {-1128,3865,3},{-1133,3860,3},{-1137,3853,3},{-1142,3850,3},{-1138,3838,3}, {-1128,3827,3},{-1127,3823,3},{-1128,3815,3},{-1125,3810,3},{-1128,3793,3}, {-1133,3787,3},{-1142,3785,3},{-1148,3782,3},{-1152,3782,3},{-1155,3780,3}, {-1158,3770,3},{-1165,3765,3},{-1163,3758,3},{-1167,3753,3},{-1173,3745,3}, {-1172,3740,3},{-1168,3735,3},{-1170,3728,3},{-1167,3713,3},{-1163,3708,3}, {-1157,3703,3},{-1158,3700,3},{-1160,3690,3},{-1157,3687,3},{-1157,3683,3}, {-1167,3673,3},{-1170,3668,3},{-1172,3668,3},{-1172,3660,3},{-1173,3655,3}, {-1170,3650,3},{-1168,3648,3},{-1168,3638,3},{-1170,3637,3},{-1170,3618,3}, {-1167,3617,3},{-1160,3617,3},{-1157,3613,3},{-1152,3603,3},{-1150,3597,3}, {-1147,3597,3},{-1143,3595,3},{-1143,3590,3},{-1142,3583,3},{-1142,3582,3}, {-1148,3577,3},{-1148,3570,3},{-1152,3570,3},{-1157,3567,3},{-1158,3565,3}, {-1160,3562,3},{-1160,3557,3},{-1160,3553,3},{-1162,3553,3},{-1158,3550,3}, {-1160,3548,3},{-1160,3543,3},{-1157,3542,3},{-1157,3495,3},{-273,2902,131}, {-270,2898,3},{-268,2893,3},{-265,2888,3},{-257,2888,3},{-252,2885,3},{-248,2888,3}, {-245,2887,3},{-240,2890,3},{-238,2898,3},{-237,2900,3},{-230,2902,3},{-230,2903,3}, {-237,2907,3},{-238,2905,3},{-240,2905,3},{-232,2908,3},{-232,2910,3},{-228,2912,3}, {-233,2912,3},{-227,2915,3},{-225,2917,3},{-227,2918,3},{-225,2920,3},{-223,2918,3}, {-220,2918,3},{-220,2922,3},{-217,2920,3},{-215,2923,3},{-217,2928,3},{-215,2927,3}, {-213,2925,3},{-210,2925,3},{-208,2927,3},{-212,2927,3},{-213,2927,3},{-207,2928,3}, {-210,2932,3},{-207,2932,3},{-207,2933,3},{-203,2933,3},{-205,2937,3},{-203,2937,3}, {-200,2933,3},{-198,2935,3},{-198,2933,3},{-193,2932,3},{-193,2930,3},{-190,2928,3}, {-183,2928,3},{-178,2927,3},{-173,2927,3},{-173,2925,3},{-170,2925,3},{-168,2922,3}, {-163,2927,3},{-160,2932,3},{-152,2937,3},{-150,2945,3},{-145,2950,3},{-138,2960,3}, {-138,2968,3},{-135,2973,3},{-135,2977,3},{-137,2980,3},{-135,2980,3},{-132,2983,3}, {-133,2985,3},{-138,2988,3},{-145,2990,3},{-148,2993,3},{-147,2998,3},{-143,3003,3}, {-143,3005,3},{-140,3007,3},{-137,3008,3},{-137,3013,3},{-133,3017,3},{-128,3018,3}, {-127,3023,3},{-123,3025,3},{-122,3028,3},{-115,3032,3},{-113,3035,3},{-107,3037,3}, {-107,3048,3},{-110,3045,3},{-113,3048,3},{-117,3047,3},{-117,3052,3},{-122,3052,3}, {-127,3055,3},{-133,3057,3},{-135,3060,3},{-138,3063,3},{-138,3068,3},{-143,3073,3}, {-152,3075,3},{-167,3083,3},{-170,3082,3},{-180,3083,3},{-193,3082,3},{-208,3090,3}, {-218,3085,3},{-230,3085,3},{-235,3083,3},{-238,3078,3},{-235,3070,3},{-240,3065,3}, {-238,3058,3},{-240,3057,3},{-238,3050,3},{-235,3047,3},{-230,3045,3},{-232,3042,3}, {-230,3038,3},{-233,3035,3},{-235,3028,3},{-233,3022,3},{-237,3022,3},{-243,3015,3}, {-242,3010,3},{-233,3002,3},{-233,2998,3},{-232,2995,3},{-237,2993,3},{-248,2995,3}, {-252,2992,3},{-265,2992,3},{-275,2987,3},{-275,2985,3},{-277,2982,3},{-277,2977,3}, {-280,2973,3},{-280,2970,3},{-278,2963,3},{-280,2960,3},{-280,2957,3},{-283,2953,3}, {-280,2945,3},{-283,2937,3},{-280,2935,3},{-277,2933,3},{-272,2935,3},{-268,2933,3}, {-265,2933,3},{-262,2918,3},{-258,2913,3},{-260,2907,3},{-267,2905,3},{-270,2905,3}, {-273,2902,3},{-445,2965,131},{-443,2965,3},{-442,2967,3},{-438,2965,3}, {-435,2960,3},{-425,2955,3},{-420,2953,3},{-417,2950,3},{-410,2948,3},{-402,2943,3}, {-397,2943,3},{-390,2938,3},{-382,2937,3},{-377,2933,3},{-358,2935,3},{-353,2933,3}, {-338,2935,3},{-335,2932,3},{-333,2920,3},{-330,2920,3},{-327,2923,3},{-323,2922,3}, {-322,2922,3},{-315,2922,3},{-312,2923,3},{-307,2923,3},{-302,2922,3},{-302,2918,3}, {-300,2915,3},{-297,2913,3},{-292,2908,3},{-288,2908,3},{-287,2905,3},{-282,2905,3}, {-282,2898,3},{-277,2898,3},{-273,2902,3},{-270,2905,3},{-267,2905,3},{-260,2907,3}, {-258,2913,3},{-262,2918,3},{-265,2933,3},{-268,2933,3},{-272,2935,3},{-277,2933,3}, {-280,2935,3},{-283,2937,3},{-280,2945,3},{-283,2953,3},{-280,2957,3},{-280,2960,3}, {-278,2963,3},{-280,2970,3},{-280,2973,3},{-277,2977,3},{-277,2982,3},{-275,2985,3}, {-275,2987,3},{-265,2992,3},{-252,2992,3},{-248,2995,3},{-237,2993,3},{-232,2995,3}, {-233,2998,3},{-233,3002,3},{-242,3010,3},{-243,3015,3},{-237,3022,3},{-233,3022,3}, {-235,3028,3},{-233,3035,3},{-230,3038,3},{-232,3042,3},{-230,3045,3},{-235,3047,3}, {-238,3050,3},{-240,3057,3},{-245,3052,3},{-258,3048,3},{-265,3043,3},{-268,3043,3}, {-268,3045,3},{-265,3052,3},{-270,3048,3},{-272,3047,3},{-275,3043,3},{-278,3045,3}, {-280,3043,3},{-285,3042,3},{-287,3043,3},{-290,3045,3},{-290,3047,3},{-295,3048,3}, {-295,3050,3},{-290,3057,3},{-295,3065,3},{-298,3067,3},{-298,3075,3},{-298,3085,3}, {-305,3080,3},{-308,3083,3},{-312,3083,3},{-315,3085,3},{-320,3085,3},{-322,3082,3}, {-325,3083,3},{-330,3077,3},{-328,3073,3},{-330,3073,3},{-333,3065,3},{-337,3062,3}, {-338,3067,3},{-342,3067,3},{-345,3063,3},{-348,3053,3},{-352,3052,3},{-350,3048,3}, {-355,3045,3},{-362,3045,3},{-370,3040,3},{-378,3040,3},{-377,3035,3},{-378,3032,3}, {-385,3030,3},{-393,3023,3},{-402,3022,3},{-408,3017,3},{-413,3013,3},{-417,3007,3}, {-423,3005,3},{-427,3003,3},{-430,2997,3},{-433,2993,3},{-437,2985,3},{-437,2982,3}, {-440,2980,3},{-442,2977,3},{-447,2975,3},{-445,2967,3},{-445,2965,3},{-2683,3213,131}, {-2650,3213,3},{-2640,3207,3},{-2627,3207,3},{-2617,3210,3},{-2603,3207,3}, {-2602,3208,3},{-2598,3200,3},{-2595,3197,3},{-2582,3192,3},{-2567,3198,3}, {-2565,3202,3},{-2553,3200,3},{-2552,3198,3},{-2542,3198,3},{-2538,3202,3}, {-2503,3202,3},{-2467,3200,3},{-2447,3202,3},{-2432,3197,3},{-2417,3188,3}, {-2393,3188,3},{-2385,3177,3},{-2368,3168,3},{-2362,3168,3},{-2348,3155,3}, {-2342,3153,3},{-2337,3155,3},{-2330,3155,3},{-2325,3155,3},{-2318,3157,3}, {-2313,3155,3},{-2308,3152,3},{-2302,3150,3},{-2297,3148,3},{-2292,3147,3}, {-2287,3145,3},{-2280,3143,3},{-2275,3142,3},{-2270,3140,3},{-2265,3138,3}, {-2258,3137,3},{-2253,3133,3},{-2248,3132,3},{-2242,3130,3},{-2238,3135,3}, {-2233,3140,3},{-2230,3145,3},{-2225,3150,3},{-2222,3153,3},{-2217,3158,3}, {-2213,3162,3},{-2208,3167,3},{-2203,3170,3},{-2200,3175,3},{-2195,3178,3}, {-2192,3183,3},{-2187,3187,3},{-2183,3192,3},{-2178,3195,3},{-2173,3200,3}, {-2170,3203,3},{-2165,3208,3},{-2162,3212,3},{-2157,3217,3},{-2152,3220,3}, {-2148,3225,3},{-2143,3228,3},{-2140,3233,3},{-2135,3237,3},{-2132,3242,3}, {-2135,3250,3},{-2120,3238,3},{-2117,3240,3},{-2113,3237,3},{-2100,3248,3}, {-2092,3252,3},{-2067,3248,3},{-2060,3250,3},{-2055,3255,3},{-2055,3267,3}, {-2042,3275,3},{-2035,3282,3},{-2032,3283,3},{-2027,3287,3},{-2023,3288,3}, {-2018,3287,3},{-2017,3290,3},{-2010,3290,3},{-2008,3295,3},{-2003,3295,3}, {-2003,3303,3},{-1993,3302,3},{-1987,3303,3},{-1982,3303,3},{-1978,3307,3}, {-1973,3297,3},{-1968,3298,3},{-1965,3297,3},{-1968,3292,3},{-1970,3292,3}, {-1968,3285,3},{-1965,3283,3},{-1963,3285,3},{-1950,3285,3},{-1947,3283,3}, {-1948,3280,3},{-1947,3278,3},{-1937,3278,3},{-1928,3285,3},{-1922,3285,3}, {-1910,3288,3},{-1907,3285,3},{-1902,3283,3},{-1902,3272,3},{-1895,3270,3}, {-1892,3273,3},{-1892,3272,3},{-1883,3270,3},{-1878,3282,3},{-1878,3290,3}, {-1877,3292,3},{-1868,3295,3},{-1857,3288,3},{-1853,3288,3},{-1847,3302,3}, {-1845,3302,3},{-1840,3300,3},{-1842,3302,3},{-1838,3303,3},{-1837,3305,3}, {-1835,3307,3},{-1825,3297,3},{-1818,3300,3},{-1805,3295,3},{-1800,3297,3}, {-1798,3295,3},{-1797,3297,3},{-1793,3297,3},{-1788,3295,3},{-1782,3297,3}, {-1780,3302,3},{-1775,3303,3},{-1773,3302,3},{-1762,3305,3},{-1758,3303,3}, {-1755,3297,3},{-1750,3295,3},{-1747,3298,3},{-1735,3305,3},{-1730,3300,3}, {-1715,3297,3},{-1693,3285,3},{-1685,3293,3},{-1672,3298,3},{-1670,3293,3}, {-1672,3290,3},{-1672,3277,3},{-1668,3270,3},{-1660,3270,3},{-1647,3238,3}, {-1643,3225,3},{-1645,3207,3},{-1642,3190,3},{-1635,3190,3},{-1632,3182,3}, {-1630,3182,3},{-1622,3172,3},{-1620,3155,3},{-1618,3152,3},{-1617,3148,3}, {-1617,3143,3},{-1615,3142,3},{-1615,3140,3},{-1613,3140,3},{-1610,3135,3}, {-1607,3133,3},{-1603,3132,3},{-1602,3128,3},{-1600,3113,3},{-1602,3110,3}, {-1602,3107,3},{-1607,3102,3},{-1607,3100,3},{-1605,3098,3},{-1600,3093,3}, {-1600,3085,3},{-1600,3080,3},{-1600,3075,3},{-1600,3070,3},{-1600,3063,3}, {-1600,3058,3},{-1600,3053,3},{-1600,3048,3},{-1600,3042,3},{-1595,3042,3}, {-1590,3042,3},{-1585,3042,3},{-1580,3042,3},{-1573,3042,3},{-1568,3042,3}, {-1563,3042,3},{-1558,3038,3},{-1555,3035,3},{-1548,3038,3},{-1545,3037,3}, {-1533,3037,3},{-1527,3028,3},{-1522,3025,3},{-1510,3022,3},{-1498,3022,3}, {-1498,3025,3},{-1497,3030,3},{-1497,3035,3},{-1492,3043,3},{-1488,3050,3}, {-1487,3055,3},{-1485,3060,3},{-1483,3067,3},{-1482,3072,3},{-1478,3077,3}, {-1475,3087,3},{-1462,3148,3},{-1450,3170,3},{-1448,3182,3},{-1443,3192,3}, {-1440,3205,3},{-1435,3213,3},{-1430,3237,3},{-1428,3245,3},{-1427,3250,3}, {-1425,3255,3},{-1423,3262,3},{-1420,3267,3},{-1418,3272,3},{-1417,3278,3}, {-1415,3283,3},{-1413,3288,3},{-1412,3295,3},{-1408,3300,3},{-1407,3305,3}, {-1405,3312,3},{-1403,3317,3},{-1402,3322,3},{-1407,3330,3},{-1415,3330,3}, {-1422,3335,3},{-1422,3338,3},{-1442,3348,3},{-1443,3355,3},{-1448,3357,3}, {-1450,3362,3},{-1457,3363,3},{-1460,3368,3},{-1452,3370,3},{-1448,3373,3}, {-1453,3382,3},{-1448,3393,3},{-1450,3407,3},{-1447,3412,3},{-1445,3418,3}, {-1447,3422,3},{-1442,3437,3},{-1443,3440,3},{-1455,3447,3},{-1458,3453,3}, {-1467,3455,3},{-1472,3455,3},{-1482,3458,3},{-1490,3458,3},{-1500,3462,3}, {-1515,3458,3},{-1525,3462,3},{-1532,3458,3},{-1535,3453,3},{-1542,3452,3}, {-1545,3447,3},{-1550,3445,3},{-1562,3445,3},{-1570,3442,3},{-1572,3438,3}, {-1575,3437,3},{-1578,3432,3},{-1583,3427,3},{-1592,3425,3},{-1595,3433,3}, {-1607,3443,3},{-1610,3443,3},{-1613,3440,3},{-1620,3440,3},{-1628,3445,3}, {-1632,3457,3},{-1640,3460,3},{-1645,3465,3},{-1650,3468,3},{-1653,3477,3}, {-1658,3478,3},{-1662,3483,3},{-1668,3487,3},{-1670,3492,3},{-1673,3493,3}, {-1675,3498,3},{-1680,3500,3},{-1682,3503,3},{-1682,3512,3},{-1683,3513,3}, {-1695,3513,3},{-1702,3505,3},{-1705,3505,3},{-1708,3510,3},{-1713,3508,3}, {-1713,3528,3},{-1710,3530,3},{-1707,3530,3},{-1703,3530,3},{-1698,3532,3}, {-1695,3527,3},{-1682,3530,3},{-1678,3528,3},{-1670,3528,3},{-1665,3523,3}, {-1662,3517,3},{-1655,3513,3},{-1647,3525,3},{-1640,3525,3},{-1637,3528,3}, {-1633,3527,3},{-1623,3528,3},{-1613,3540,3},{-1612,3543,3},{-1613,3548,3}, {-1617,3550,3},{-1617,3553,3},{-1613,3555,3},{-1613,3560,3},{-1612,3567,3}, {-1612,3572,3},{-1607,3578,3},{-1602,3582,3},{-1595,3582,3},{-1592,3583,3}, {-1542,3587,3},{-1518,3580,3},{-1488,3592,3},{-1488,3588,3},{-1465,3588,3}, {-1427,3555,3},{-1415,3548,3},{-1385,3520,3},{-1368,3510,3},{-1350,3487,3}, {-1348,3487,3},{-1342,3485,3},{-1338,3487,3},{-1332,3478,3},{-1322,3482,3}, {-1317,3480,3},{-1308,3482,3},{-1300,3478,3},{-1295,3475,3},{-1287,3477,3}, {-1283,3478,3},{-1280,3478,3},{-1277,3480,3},{-1275,3482,3},{-1270,3482,3}, {-1270,3480,3},{-1265,3480,3},{-1260,3477,3},{-1253,3475,3},{-1248,3470,3}, {-1243,3470,3},{-1240,3470,3},{-1230,3470,3},{-1227,3472,3},{-1218,3470,3}, {-1212,3477,3},{-1210,3480,3},{-1207,3482,3},{-1205,3487,3},{-1203,3488,3}, {-1195,3490,3},{-1187,3493,3},{-1180,3497,3},{-1172,3495,3},{-1167,3497,3}, {-1157,3495,3},{-1157,3542,3},{-1160,3543,3},{-1160,3548,3},{-1158,3550,3}, {-1162,3553,3},{-1160,3553,3},{-1160,3557,3},{-1160,3562,3},{-1158,3565,3}, {-1157,3567,3},{-1152,3570,3},{-1148,3570,3},{-1148,3577,3},{-1142,3582,3}, {-1142,3583,3},{-1143,3590,3},{-1143,3595,3},{-1147,3597,3},{-1150,3597,3}, {-1152,3603,3},{-1157,3613,3},{-1160,3617,3},{-1167,3617,3},{-1170,3618,3}, {-1170,3637,3},{-1168,3638,3},{-1168,3648,3},{-1170,3650,3},{-1173,3655,3}, {-1172,3660,3},{-1172,3668,3},{-1170,3668,3},{-1167,3673,3},{-1157,3683,3}, {-1157,3687,3},{-1160,3690,3},{-1158,3700,3},{-1157,3703,3},{-1163,3708,3}, {-1167,3713,3},{-1170,3728,3},{-1168,3735,3},{-1172,3740,3},{-1173,3745,3}, {-1167,3753,3},{-1163,3758,3},{-1165,3765,3},{-1158,3770,3},{-1155,3780,3}, {-1152,3782,3},{-1148,3782,3},{-1142,3785,3},{-1133,3787,3},{-1128,3793,3}, {-1125,3810,3},{-1128,3815,3},{-1127,3823,3},{-1128,3827,3},{-1138,3838,3}, {-1142,3850,3},{-1137,3853,3},{-1133,3860,3},{-1128,3865,3},{-1127,3870,3}, {-1127,3877,3},{-1117,3890,3},{-1117,3903,3},{-1115,3913,3},{-1117,3920,3}, {-1117,3927,3},{-1110,3935,3},{-1107,3943,3},{-1100,3952,3},{-1095,3963,3}, {-1095,3968,3},{-1092,3977,3},{-1083,3990,3},{-1080,4000,3},{-1077,4003,3}, {-1067,4017,3},{-1060,4023,3},{-1057,4033,3},{-1050,4042,3},{-1048,4043,3}, {-1047,4045,3},{-1048,4052,3},{-1048,4053,3},{-1053,4057,3},{-1055,4055,3}, {-1055,4052,3},{-1058,4053,3},{-1057,4055,3},{-1058,4060,3},{-1065,4058,3}, {-1068,4065,3},{-1070,4063,3},{-1068,4058,3},{-1077,4048,3},{-1080,4048,3}, {-1078,4052,3},{-1083,4062,3},{-1087,4062,3},{-1090,4053,3},{-1095,4050,3}, {-1103,4050,3},{-1103,4053,3},{-1102,4053,3},{-1102,4057,3},{-1103,4057,3}, {-1115,4050,3},{-1120,4050,3},{-1125,4043,3},{-1132,4038,3},{-1132,4035,3}, {-1137,4037,3},{-1135,4038,3},{-1140,4043,3},{-1138,4047,3},{-1142,4048,3}, {-1143,4047,3},{-1152,4045,3},{-1155,4042,3},{-1160,4045,3},{-1165,4042,3}, {-1167,4045,3},{-1173,4045,3},{-1175,4047,3},{-1182,4047,3},{-1183,4048,3}, {-1183,4052,3},{-1192,4048,3},{-1200,4053,3},{-1203,4052,3},{-1208,4052,3}, {-1213,4050,3},{-1220,4052,3},{-1225,4050,3},{-1223,4047,3},{-1227,4045,3}, {-1225,4047,3},{-1228,4050,3},{-1232,4052,3},{-1238,4050,3},{-1238,4055,3}, {-1240,4057,3},{-1243,4052,3},{-1250,4047,3},{-1253,4057,3},{-1260,4057,3}, {-1263,4058,3},{-1263,4062,3},{-1265,4062,3},{-1267,4062,3},{-1265,4057,3}, {-1270,4057,3},{-1272,4062,3},{-1273,4062,3},{-1277,4065,3},{-1278,4065,3}, {-1280,4062,3},{-1280,4058,3},{-1278,4057,3},{-1278,4055,3},{-1282,4057,3}, {-1282,4052,3},{-1285,4055,3},{-1290,4053,3},{-1292,4052,3},{-1288,4052,3}, {-1288,4048,3},{-1293,4042,3},{-1297,4042,3},{-1302,4047,3},{-1303,4048,3}, {-1302,4052,3},{-1300,4053,3},{-1298,4053,3},{-1297,4050,3},{-1297,4058,3}, {-1298,4060,3},{-1308,4057,3},{-1317,4057,3},{-1327,4057,3},{-1330,4053,3}, {-1332,4053,3},{-1328,4057,3},{-1337,4057,3},{-1335,4058,3},{-1338,4058,3}, {-1343,4055,3},{-1350,4053,3},{-1352,4053,3},{-1358,4060,3},{-1360,4057,3}, {-1365,4053,3},{-1370,4055,3},{-1372,4057,3},{-1390,4060,3},{-1395,4063,3}, {-1402,4065,3},{-1408,4065,3},{-1408,4060,3},{-1413,4062,3},{-1417,4053,3}, {-1422,4057,3},{-1423,4057,3},{-1423,4058,3},{-1422,4058,3},{-1422,4060,3}, {-1423,4058,3},{-1425,4060,3},{-1427,4058,3},{-1427,4060,3},{-1427,4062,3}, {-1422,4063,3},{-1418,4070,3},{-1420,4072,3},{-1425,4072,3},{-1428,4075,3}, {-1433,4073,3},{-1437,4067,3},{-1433,4063,3},{-1445,4065,3},{-1445,4063,3}, {-1447,4063,3},{-1447,4065,3},{-1450,4062,3},{-1450,4063,3},{-1457,4063,3}, {-1453,4067,3},{-1443,4068,3},{-1440,4077,3},{-1440,4080,3},{-1445,4083,3}, {-1450,4083,3},{-1452,4077,3},{-1455,4077,3},{-1455,4078,3},{-1452,4080,3}, {-1452,4083,3},{-1455,4083,3},{-1462,4080,3},{-1470,4085,3},{-1478,4083,3}, {-1480,4083,3},{-1483,4078,3},{-1488,4073,3},{-1490,4067,3},{-1487,4065,3}, {-1487,4063,3},{-1492,4067,3},{-1493,4068,3},{-1492,4070,3},{-1493,4077,3}, {-1500,4078,3},{-1500,4070,3},{-1497,4067,3},{-1500,4065,3},{-1503,4070,3}, {-1508,4072,3},{-1508,4063,3},{-1513,4060,3},{-1513,4053,3},{-1518,4052,3}, {-1520,4058,3},{-1515,4062,3},{-1518,4067,3},{-1525,4068,3},{-1528,4067,3}, {-1535,4062,3},{-1538,4062,3},{-1545,4057,3},{-1548,4057,3},{-1548,4058,3}, {-1552,4057,3},{-1553,4053,3},{-1553,4050,3},{-1557,4048,3},{-1562,4043,3}, {-1572,4037,3},{-1585,4023,3},{-1592,4018,3},{-1595,4012,3},{-1598,4012,3}, {-1600,4007,3},{-1602,4008,3},{-1597,4013,3},{-1600,4013,3},{-1608,4010,3}, {-1612,4007,3},{-1617,4003,3},{-1623,3998,3},{-1623,3988,3},{-1630,3978,3}, {-1642,3982,3},{-1643,3985,3},{-1647,3980,3},{-1645,3978,3},{-1645,3975,3}, {-1647,3977,3},{-1648,3972,3},{-1653,3970,3},{-1655,3967,3},{-1675,3930,3}, {-1683,3920,3},{-1687,3917,3},{-1688,3915,3},{-1687,3913,3},{-1690,3913,3}, {-1690,3912,3},{-1692,3908,3},{-1693,3908,3},{-1693,3913,3},{-1700,3908,3}, {-1700,3898,3},{-1703,3890,3},{-1707,3872,3},{-1703,3867,3},{-1705,3868,3}, {-1707,3867,3},{-1707,3868,3},{-1708,3868,3},{-1710,3860,3},{-1707,3858,3}, {-1712,3857,3},{-1713,3853,3},{-1710,3852,3},{-1712,3850,3},{-1713,3850,3}, {-1713,3852,3},{-1715,3850,3},{-1723,3825,3},{-1730,3815,3},{-1727,3813,3}, {-1720,3813,3},{-1718,3812,3},{-1722,3812,3},{-1718,3808,3},{-1725,3813,3}, {-1728,3812,3},{-1728,3813,3},{-1732,3812,3},{-1737,3792,3},{-1743,3778,3}, {-1747,3773,3},{-1747,3770,3},{-1745,3772,3},{-1745,3770,3},{-1748,3768,3}, {-1752,3762,3},{-1753,3757,3},{-1755,3755,3},{-1760,3743,3},{-1767,3738,3}, {-1765,3735,3},{-1768,3733,3},{-1768,3728,3},{-1772,3728,3},{-1773,3723,3}, {-1775,3722,3},{-1773,3718,3},{-1777,3720,3},{-1788,3708,3},{-1802,3698,3}, {-1800,3698,3},{-1795,3692,3},{-1788,3690,3},{-1788,3683,3},{-1790,3682,3}, {-1788,3687,3},{-1802,3690,3},{-1803,3695,3},{-1807,3697,3},{-1817,3690,3}, {-1820,3688,3},{-1818,3683,3},{-1820,3680,3},{-1823,3678,3},{-1820,3685,3}, {-1830,3678,3},{-1838,3668,3},{-1850,3657,3},{-1850,3655,3},{-1853,3655,3}, {-1853,3652,3},{-1853,3650,3},{-1855,3652,3},{-1855,3647,3},{-1858,3648,3}, {-1863,3643,3},{-1870,3642,3},{-1872,3640,3},{-1870,3640,3},{-1868,3638,3}, {-1870,3638,3},{-1875,3638,3},{-1873,3640,3},{-1877,3642,3},{-1880,3640,3}, {-1880,3635,3},{-1878,3628,3},{-1870,3623,3},{-1877,3623,3},{-1883,3627,3}, {-1887,3625,3},{-1890,3627,3},{-1888,3622,3},{-1890,3613,3},{-1885,3612,3}, {-1882,3613,3},{-1880,3612,3},{-1882,3610,3},{-1892,3603,3},{-1893,3598,3}, {-1888,3598,3},{-1895,3595,3},{-1897,3590,3},{-1895,3588,3},{-1895,3585,3}, {-1898,3585,3},{-1897,3587,3},{-1898,3588,3},{-1905,3578,3},{-1912,3570,3}, {-1912,3567,3},{-1917,3563,3},{-1917,3567,3},{-1925,3557,3},{-1925,3558,3}, {-1927,3558,3},{-1932,3553,3},{-1933,3550,3},{-1942,3545,3},{-1952,3535,3}, {-1960,3523,3},{-1972,3512,3},{-1972,3510,3},{-1972,3508,3},{-1980,3500,3}, {-1980,3497,3},{-1987,3488,3},{-1985,3483,3},{-1978,3482,3},{-1975,3475,3}, {-1973,3468,3},{-1962,3462,3},{-1962,3457,3},{-1963,3462,3},{-1977,3467,3}, {-1978,3473,3},{-1987,3478,3},{-1988,3477,3},{-1988,3473,3},{-1990,3468,3}, {-1990,3473,3},{-1992,3475,3},{-1997,3475,3},{-2000,3477,3},{-2003,3475,3}, {-2015,3477,3},{-2018,3477,3},{-2017,3470,3},{-2018,3468,3},{-2023,3473,3}, {-2033,3470,3},{-2035,3467,3},{-2035,3470,3},{-2040,3470,3},{-2042,3467,3}, {-2043,3465,3},{-2045,3470,3},{-2048,3472,3},{-2053,3467,3},{-2052,3473,3}, {-2055,3473,3},{-2055,3477,3},{-2058,3477,3},{-2058,3482,3},{-2063,3483,3}, {-2065,3485,3},{-2067,3485,3},{-2065,3488,3},{-2067,3490,3},{-2070,3487,3}, {-2072,3487,3},{-2070,3488,3},{-2070,3495,3},{-2073,3498,3},{-2078,3500,3}, {-2078,3502,3},{-2080,3502,3},{-2082,3500,3},{-2088,3505,3},{-2093,3503,3}, {-2095,3503,3},{-2092,3507,3},{-2093,3512,3},{-2097,3510,3},{-2097,3512,3}, {-2100,3512,3},{-2102,3507,3},{-2103,3508,3},{-2108,3508,3},{-2110,3505,3}, {-2108,3503,3},{-2112,3502,3},{-2113,3507,3},{-2117,3505,3},{-2120,3507,3}, {-2123,3508,3},{-2125,3505,3},{-2127,3507,3},{-2132,3507,3},{-2132,3508,3}, {-2118,3513,3},{-2132,3512,3},{-2138,3512,3},{-2152,3518,3},{-2158,3525,3}, {-2165,3527,3},{-2182,3528,3},{-2192,3532,3},{-2197,3532,3},{-2200,3533,3}, {-2210,3533,3},{-2218,3533,3},{-2225,3533,3},{-2233,3530,3},{-2240,3530,3}, {-2250,3540,3},{-2243,3540,3},{-2242,3543,3},{-2235,3540,3},{-2227,3540,3}, {-2223,3540,3},{-2222,3542,3},{-2225,3543,3},{-2223,3545,3},{-2218,3542,3}, {-2212,3545,3},{-2210,3547,3},{-2210,3550,3},{-2232,3552,3},{-2222,3553,3}, {-2218,3555,3},{-2242,3553,3},{-2257,3550,3},{-2268,3548,3},{-2292,3552,3}, {-2295,3553,3},{-2292,3555,3},{-2293,3558,3},{-2290,3558,3},{-2292,3562,3}, {-2318,3548,3},{-2328,3548,3},{-2352,3542,3},{-2368,3542,3},{-2373,3542,3}, {-2375,3538,3},{-2373,3538,3},{-2370,3538,3},{-2368,3537,3},{-2368,3533,3}, {-2370,3537,3},{-2372,3537,3},{-2385,3535,3},{-2390,3533,3},{-2392,3535,3}, {-2395,3533,3},{-2397,3535,3},{-2392,3538,3},{-2387,3537,3},{-2383,3538,3}, {-2388,3547,3},{-2387,3547,3},{-2385,3548,3},{-2380,3548,3},{-2378,3548,3}, {-2380,3553,3},{-2387,3555,3},{-2405,3548,3},{-2410,3550,3},{-2427,3538,3}, {-2448,3520,3},{-2453,3518,3},{-2463,3505,3},{-2475,3478,3},{-2478,3470,3}, {-2480,3465,3},{-2482,3460,3},{-2483,3453,3},{-2485,3448,3},{-2487,3447,3}, {-2488,3442,3},{-2490,3435,3},{-2493,3430,3},{-2495,3425,3},{-2495,3420,3}, {-2497,3413,3},{-2500,3408,3},{-2502,3403,3},{-2503,3398,3},{-2503,3392,3}, {-2507,3387,3},{-2508,3382,3},{-2510,3375,3},{-2512,3372,3},{-2530,3330,3}, {-2530,3327,3},{-2527,3333,3},{-2525,3333,3},{-2528,3325,3},{-2530,3322,3}, {-2532,3322,3},{-2532,3323,3},{-2533,3323,3},{-2542,3307,3},{-2553,3288,3}, {-2560,3282,3},{-2568,3277,3},{-2578,3273,3},{-2587,3275,3},{-2580,3273,3}, {-2583,3270,3},{-2588,3268,3},{-2597,3260,3},{-2598,3258,3},{-2595,3252,3}, {-2598,3247,3},{-2602,3250,3},{-2598,3250,3},{-2597,3252,3},{-2598,3255,3}, {-2610,3265,3},{-2618,3268,3},{-2618,3270,3},{-2620,3275,3},{-2622,3278,3}, {-2627,3280,3},{-2630,3283,3},{-2628,3288,3},{-2620,3287,3},{-2612,3290,3}, {-2608,3295,3},{-2630,3292,3},{-2652,3292,3},{-2665,3290,3},{-2673,3290,3}, {-2682,3288,3},{-2685,3288,3},{-2687,3233,3},{-2683,3223,3},{-2685,3218,3}, {-2683,3213,3},{-1402,3322,131},{-1392,3317,3},{-1397,3313,3},{-1398,3308,3}, {-1405,3305,3},{-1405,3302,3},{-1402,3300,3},{-1395,3300,3},{-1393,3297,3}, {-1390,3295,3},{-1388,3292,3},{-1383,3292,3},{-1382,3288,3},{-1382,3282,3}, {-1378,3277,3},{-1377,3277,3},{-1372,3285,3},{-1370,3285,3},{-1365,3278,3}, {-1365,3272,3},{-1362,3268,3},{-1358,3272,3},{-1357,3275,3},{-1352,3285,3}, {-1347,3287,3},{-1347,3288,3},{-1340,3292,3},{-1328,3295,3},{-1320,3302,3}, {-1315,3298,3},{-1310,3298,3},{-1303,3300,3},{-1290,3303,3},{-1288,3303,3}, {-1285,3297,3},{-1277,3297,3},{-1260,3305,3},{-1262,3315,3},{-1263,3318,3}, {-1260,3323,3},{-1255,3330,3},{-1253,3338,3},{-1248,3345,3},{-1243,3348,3}, {-1238,3353,3},{-1235,3352,3},{-1233,3347,3},{-1235,3338,3},{-1225,3333,3}, {-1220,3332,3},{-1213,3327,3},{-1207,3328,3},{-1198,3333,3},{-1193,3335,3}, {-1188,3333,3},{-1183,3333,3},{-1162,3333,3},{-1160,3330,3},{-1158,3325,3}, {-1155,3323,3},{-1153,3327,3},{-1142,3325,3},{-1145,3328,3},{-1142,3330,3}, {-1138,3330,3},{-1138,3332,3},{-1135,3332,3},{-1127,3338,3},{-1117,3342,3}, {-1115,3340,3},{-1112,3338,3},{-1110,3337,3},{-1105,3335,3},{-1102,3332,3}, {-1093,3330,3},{-1088,3327,3},{-1085,3328,3},{-1087,3332,3},{-1085,3333,3}, {-1080,3337,3},{-1080,3340,3},{-1080,3342,3},{-1080,3347,3},{-1078,3348,3}, {-1078,3352,3},{-1075,3352,3},{-1075,3353,3},{-1070,3355,3},{-1065,3362,3}, {-1065,3363,3},{-1062,3363,3},{-1060,3367,3},{-1057,3370,3},{-1055,3368,3}, {-1052,3368,3},{-1050,3365,3},{-1045,3363,3},{-1040,3357,3},{-1035,3355,3}, {-1022,3355,3},{-1015,3347,3},{-1010,3340,3},{-1008,3335,3},{-1005,3332,3}, {-993,3337,3},{-992,3338,3},{-982,3337,3},{-982,3332,3},{-980,3330,3},{-970,3325,3}, {-963,3323,3},{-960,3320,3},{-960,3313,3},{-958,3312,3},{-960,3312,3},{-967,3310,3}, {-965,3308,3},{-962,3307,3},{-963,3302,3},{-963,3300,3},{-957,3300,3},{-952,3302,3}, {-948,3298,3},{-948,3295,3},{-940,3293,3},{-937,3300,3},{-942,3303,3},{-950,3313,3}, {-950,3318,3},{-952,3320,3},{-948,3323,3},{-950,3327,3},{-948,3332,3},{-953,3340,3}, {-962,3343,3},{-962,3353,3},{-958,3358,3},{-962,3365,3},{-962,3370,3},{-958,3373,3}, {-958,3375,3},{-962,3380,3},{-968,3392,3},{-970,3392,3},{-973,3390,3},{-983,3390,3}, {-988,3393,3},{-990,3395,3},{-997,3395,3},{-998,3398,3},{-1005,3400,3}, {-1013,3402,3},{-1015,3403,3},{-1022,3408,3},{-1027,3415,3},{-1028,3415,3}, {-1032,3418,3},{-1033,3422,3},{-1040,3425,3},{-1042,3427,3},{-1042,3423,3}, {-1045,3420,3},{-1048,3420,3},{-1052,3422,3},{-1057,3417,3},{-1060,3420,3}, {-1070,3420,3},{-1073,3423,3},{-1080,3422,3},{-1097,3425,3},{-1102,3423,3}, {-1110,3425,3},{-1117,3422,3},{-1120,3422,3},{-1122,3423,3},{-1128,3423,3}, {-1130,3427,3},{-1152,3428,3},{-1155,3430,3},{-1158,3430,3},{-1165,3433,3}, {-1168,3432,3},{-1172,3432,3},{-1173,3427,3},{-1177,3425,3},{-1182,3420,3}, {-1188,3418,3},{-1190,3418,3},{-1195,3413,3},{-1200,3410,3},{-1205,3405,3}, {-1207,3407,3},{-1212,3407,3},{-1215,3403,3},{-1225,3400,3},{-1233,3403,3}, {-1237,3410,3},{-1238,3408,3},{-1238,3415,3},{-1240,3417,3},{-1250,3420,3}, {-1257,3418,3},{-1267,3420,3},{-1272,3423,3},{-1273,3428,3},{-1283,3427,3}, {-1287,3432,3},{-1290,3430,3},{-1293,3432,3},{-1290,3433,3},{-1295,3432,3}, {-1302,3435,3},{-1308,3433,3},{-1327,3435,3},{-1332,3432,3},{-1337,3432,3}, {-1357,3443,3},{-1358,3447,3},{-1357,3452,3},{-1362,3455,3},{-1370,3463,3}, {-1372,3463,3},{-1375,3462,3},{-1378,3462,3},{-1382,3458,3},{-1385,3460,3}, {-1390,3458,3},{-1393,3455,3},{-1398,3452,3},{-1412,3457,3},{-1413,3458,3}, {-1420,3463,3},{-1422,3470,3},{-1428,3470,3},{-1425,3480,3},{-1423,3482,3}, {-1420,3483,3},{-1417,3482,3},{-1413,3482,3},{-1410,3487,3},{-1403,3483,3}, {-1400,3487,3},{-1405,3493,3},{-1408,3493,3},{-1415,3495,3},{-1417,3503,3}, {-1418,3505,3},{-1420,3508,3},{-1425,3508,3},{-1430,3512,3},{-1430,3515,3}, {-1435,3518,3},{-1440,3523,3},{-1438,3527,3},{-1435,3528,3},{-1427,3525,3}, {-1425,3523,3},{-1418,3522,3},{-1410,3518,3},{-1405,3518,3},{-1395,3512,3}, {-1385,3512,3},{-1382,3508,3},{-1373,3507,3},{-1373,3490,3},{-1372,3487,3}, {-1367,3485,3},{-1363,3485,3},{-1353,3485,3},{-1348,3487,3},{-1350,3487,3}, {-1368,3510,3},{-1385,3520,3},{-1415,3548,3},{-1427,3555,3},{-1465,3588,3}, {-1488,3588,3},{-1488,3592,3},{-1518,3580,3},{-1542,3587,3},{-1592,3583,3}, {-1595,3582,3},{-1602,3582,3},{-1607,3578,3},{-1612,3572,3},{-1612,3567,3}, {-1613,3560,3},{-1613,3555,3},{-1617,3553,3},{-1617,3550,3},{-1613,3548,3}, {-1612,3543,3},{-1613,3540,3},{-1623,3528,3},{-1633,3527,3},{-1637,3528,3}, {-1640,3525,3},{-1647,3525,3},{-1655,3513,3},{-1662,3517,3},{-1665,3523,3}, {-1670,3528,3},{-1678,3528,3},{-1682,3530,3},{-1695,3527,3},{-1698,3532,3}, {-1703,3530,3},{-1707,3530,3},{-1710,3530,3},{-1713,3528,3},{-1713,3508,3}, {-1708,3510,3},{-1705,3505,3},{-1702,3505,3},{-1695,3513,3},{-1683,3513,3}, {-1682,3512,3},{-1682,3503,3},{-1680,3500,3},{-1675,3498,3},{-1673,3493,3}, {-1670,3492,3},{-1668,3487,3},{-1662,3483,3},{-1658,3478,3},{-1653,3477,3}, {-1650,3468,3},{-1645,3465,3},{-1640,3460,3},{-1632,3457,3},{-1628,3445,3}, {-1620,3440,3},{-1613,3440,3},{-1610,3443,3},{-1607,3443,3},{-1595,3433,3}, {-1592,3425,3},{-1583,3427,3},{-1578,3432,3},{-1575,3437,3},{-1572,3438,3}, {-1570,3442,3},{-1562,3445,3},{-1550,3445,3},{-1545,3447,3},{-1542,3452,3}, {-1535,3453,3},{-1532,3458,3},{-1525,3462,3},{-1515,3458,3},{-1500,3462,3}, {-1490,3458,3},{-1482,3458,3},{-1472,3455,3},{-1467,3455,3},{-1458,3453,3}, {-1455,3447,3},{-1443,3440,3},{-1442,3437,3},{-1447,3422,3},{-1445,3418,3}, {-1447,3412,3},{-1450,3407,3},{-1448,3393,3},{-1453,3382,3},{-1448,3373,3}, {-1452,3370,3},{-1460,3368,3},{-1457,3363,3},{-1450,3362,3},{-1448,3357,3}, {-1443,3355,3},{-1442,3348,3},{-1422,3338,3},{-1422,3335,3},{-1415,3330,3}, {-1407,3330,3},{-1402,3322,3},{-2242,3130,131},{-2237,3127,3},{-2237,3120,3}, {-2232,3117,3},{-2233,3108,3},{-2232,3103,3},{-2228,3090,3},{-2230,3067,3}, {-2233,3063,3},{-2232,3058,3},{-2232,3057,3},{-2232,3048,3},{-2233,3040,3}, {-2235,3030,3},{-2230,3025,3},{-2230,3012,3},{-2218,2993,3},{-2218,2983,3}, {-2213,2977,3},{-2213,2967,3},{-2212,2965,3},{-2213,2963,3},{-2215,2962,3}, {-2213,2958,3},{-2215,2955,3},{-2218,2953,3},{-2217,2947,3},{-2218,2937,3}, {-2212,2928,3},{-2207,2925,3},{-2208,2918,3},{-2207,2912,3},{-2203,2907,3}, {-2193,2903,3},{-2188,2903,3},{-2183,2908,3},{-2180,2907,3},{-2177,2900,3}, {-2175,2887,3},{-2168,2868,3},{-2165,2865,3},{-2163,2857,3},{-2167,2850,3}, {-2158,2828,3},{-2160,2822,3},{-2158,2813,3},{-2157,2802,3},{-2152,2798,3}, {-2150,2797,3},{-2148,2798,3},{-2147,2795,3},{-2145,2797,3},{-2135,2792,3}, {-2132,2792,3},{-2122,2783,3},{-2117,2780,3},{-2113,2773,3},{-2107,2768,3}, {-2098,2770,3},{-2093,2768,3},{-2087,2770,3},{-2083,2772,3},{-2075,2773,3}, {-2060,2770,3},{-2057,2772,3},{-2052,2772,3},{-2048,2770,3},{-2048,2763,3}, {-2047,2762,3},{-2048,2757,3},{-2047,2747,3},{-2047,2733,3},{-2050,2728,3}, {-2025,2728,3},{-2010,2722,3},{-2007,2718,3},{-2007,2713,3},{-2002,2707,3}, {-2000,2703,3},{-2002,2698,3},{-2000,2693,3},{-1995,2682,3},{-1993,2673,3}, {-1988,2670,3},{-1985,2662,3},{-1978,2657,3},{-1975,2652,3},{-1973,2643,3}, {-1967,2640,3},{-1965,2633,3},{-1962,2635,3},{-1958,2633,3},{-1957,2630,3}, {-1957,2625,3},{-1953,2617,3},{-1928,2605,3},{-1920,2603,3},{-1910,2597,3}, {-1907,2597,3},{-1900,2598,3},{-1895,2597,3},{-1890,2595,3},{-1883,2585,3}, {-1880,2582,3},{-1862,2578,3},{-1857,2568,3},{-1850,2563,3},{-1848,2560,3}, {-1840,2553,3},{-1828,2548,3},{-1813,2540,3},{-1807,2532,3},{-1792,2523,3}, {-1787,2523,3},{-1780,2527,3},{-1785,2533,3},{-1787,2552,3},{-1785,2555,3}, {-1783,2562,3},{-1780,2568,3},{-1783,2570,3},{-1785,2575,3},{-1788,2580,3}, {-1792,2585,3},{-1793,2583,3},{-1798,2587,3},{-1800,2597,3},{-1798,2600,3}, {-1798,2603,3},{-1797,2603,3},{-1797,2610,3},{-1793,2610,3},{-1792,2617,3}, {-1788,2622,3},{-1792,2623,3},{-1793,2632,3},{-1793,2640,3},{-1800,2650,3}, {-1800,2657,3},{-1805,2660,3},{-1808,2670,3},{-1803,2677,3},{-1802,2683,3}, {-1800,2683,3},{-1798,2688,3},{-1797,2702,3},{-1798,2703,3},{-1798,2708,3}, {-1795,2707,3},{-1793,2710,3},{-1792,2708,3},{-1788,2713,3},{-1787,2717,3}, {-1783,2717,3},{-1782,2715,3},{-1778,2720,3},{-1778,2723,3},{-1775,2722,3}, {-1773,2722,3},{-1758,2737,3},{-1758,2745,3},{-1757,2747,3},{-1755,2747,3}, {-1757,2745,3},{-1757,2743,3},{-1755,2745,3},{-1752,2747,3},{-1750,2755,3}, {-1745,2755,3},{-1745,2757,3},{-1748,2757,3},{-1738,2762,3},{-1737,2760,3}, {-1733,2765,3},{-1730,2765,3},{-1728,2768,3},{-1723,2765,3},{-1725,2768,3}, {-1723,2768,3},{-1722,2772,3},{-1720,2768,3},{-1715,2780,3},{-1717,2785,3}, {-1713,2783,3},{-1710,2792,3},{-1705,2793,3},{-1705,2797,3},{-1703,2795,3}, {-1703,2797,3},{-1703,2800,3},{-1705,2800,3},{-1705,2803,3},{-1708,2805,3}, {-1705,2807,3},{-1703,2810,3},{-1700,2808,3},{-1698,2812,3},{-1700,2805,3}, {-1698,2805,3},{-1697,2807,3},{-1693,2807,3},{-1692,2812,3},{-1690,2808,3}, {-1685,2812,3},{-1682,2818,3},{-1680,2827,3},{-1682,2827,3},{-1682,2832,3}, {-1678,2833,3},{-1680,2835,3},{-1675,2835,3},{-1675,2837,3},{-1677,2838,3}, {-1680,2837,3},{-1683,2838,3},{-1685,2845,3},{-1688,2845,3},{-1690,2847,3}, {-1685,2847,3},{-1682,2843,3},{-1682,2847,3},{-1677,2848,3},{-1675,2853,3}, {-1673,2855,3},{-1673,2858,3},{-1672,2858,3},{-1672,2863,3},{-1670,2863,3}, {-1668,2868,3},{-1668,2870,3},{-1672,2868,3},{-1673,2872,3},{-1677,2868,3}, {-1682,2873,3},{-1680,2880,3},{-1677,2880,3},{-1678,2883,3},{-1677,2887,3}, {-1672,2888,3},{-1670,2885,3},{-1668,2885,3},{-1667,2888,3},{-1668,2890,3}, {-1672,2892,3},{-1667,2893,3},{-1667,2895,3},{-1663,2893,3},{-1662,2900,3}, {-1660,2893,3},{-1657,2895,3},{-1658,2888,3},{-1657,2883,3},{-1657,2888,3}, {-1653,2887,3},{-1653,2870,3},{-1652,2877,3},{-1648,2882,3},{-1640,2885,3}, {-1630,2883,3},{-1623,2887,3},{-1617,2885,3},{-1612,2887,3},{-1605,2887,3}, {-1597,2893,3},{-1595,2897,3},{-1595,2905,3},{-1588,2908,3},{-1587,2913,3}, {-1578,2925,3},{-1570,2943,3},{-1570,2952,3},{-1567,2957,3},{-1567,2963,3}, {-1565,2970,3},{-1562,2983,3},{-1563,2995,3},{-1565,3000,3},{-1563,3008,3}, {-1563,3017,3},{-1567,3022,3},{-1563,3025,3},{-1567,3035,3},{-1563,3042,3}, {-1568,3042,3},{-1573,3042,3},{-1580,3042,3},{-1585,3042,3},{-1590,3042,3}, {-1595,3042,3},{-1600,3042,3},{-1600,3048,3},{-1600,3053,3},{-1600,3058,3}, {-1600,3063,3},{-1600,3070,3},{-1600,3075,3},{-1600,3080,3},{-1600,3085,3}, {-1600,3093,3},{-1605,3098,3},{-1607,3100,3},{-1607,3102,3},{-1602,3107,3}, {-1602,3110,3},{-1600,3113,3},{-1602,3128,3},{-1603,3132,3},{-1607,3133,3}, {-1610,3135,3},{-1613,3140,3},{-1615,3140,3},{-1615,3142,3},{-1617,3143,3}, {-1617,3148,3},{-1618,3152,3},{-1620,3155,3},{-1622,3172,3},{-1630,3182,3}, {-1632,3182,3},{-1635,3190,3},{-1642,3190,3},{-1645,3207,3},{-1643,3225,3}, {-1647,3238,3},{-1660,3270,3},{-1668,3270,3},{-1672,3277,3},{-1672,3290,3}, {-1670,3293,3},{-1672,3298,3},{-1685,3293,3},{-1693,3285,3},{-1715,3297,3}, {-1730,3300,3},{-1735,3305,3},{-1747,3298,3},{-1750,3295,3},{-1755,3297,3}, {-1758,3303,3},{-1762,3305,3},{-1773,3302,3},{-1775,3303,3},{-1780,3302,3}, {-1782,3297,3},{-1788,3295,3},{-1793,3297,3},{-1797,3297,3},{-1798,3295,3}, {-1800,3297,3},{-1805,3295,3},{-1818,3300,3},{-1825,3297,3},{-1835,3307,3}, {-1837,3305,3},{-1838,3303,3},{-1842,3302,3},{-1840,3300,3},{-1845,3302,3}, {-1847,3302,3},{-1853,3288,3},{-1857,3288,3},{-1868,3295,3},{-1877,3292,3}, {-1878,3290,3},{-1878,3282,3},{-1883,3270,3},{-1892,3272,3},{-1892,3273,3}, {-1895,3270,3},{-1902,3272,3},{-1902,3283,3},{-1907,3285,3},{-1910,3288,3}, {-1922,3285,3},{-1928,3285,3},{-1937,3278,3},{-1947,3278,3},{-1948,3280,3}, {-1947,3283,3},{-1950,3285,3},{-1963,3285,3},{-1965,3283,3},{-1968,3285,3}, {-1970,3292,3},{-1968,3292,3},{-1965,3297,3},{-1968,3298,3},{-1973,3297,3}, {-1978,3307,3},{-1982,3303,3},{-1987,3303,3},{-1993,3302,3},{-2003,3303,3}, {-2003,3295,3},{-2008,3295,3},{-2010,3290,3},{-2017,3290,3},{-2018,3287,3}, {-2023,3288,3},{-2027,3287,3},{-2032,3283,3},{-2035,3282,3},{-2042,3275,3}, {-2055,3267,3},{-2055,3255,3},{-2060,3250,3},{-2067,3248,3},{-2092,3252,3}, {-2100,3248,3},{-2113,3237,3},{-2117,3240,3},{-2120,3238,3},{-2135,3250,3}, {-2132,3242,3},{-2135,3237,3},{-2140,3233,3},{-2143,3228,3},{-2148,3225,3}, {-2152,3220,3},{-2157,3217,3},{-2162,3212,3},{-2165,3208,3},{-2170,3203,3}, {-2173,3200,3},{-2178,3195,3},{-2183,3192,3},{-2187,3187,3},{-2192,3183,3}, {-2195,3178,3},{-2200,3175,3},{-2203,3170,3},{-2208,3167,3},{-2213,3162,3}, {-2217,3158,3},{-2222,3153,3},{-2225,3150,3},{-2230,3145,3},{-2233,3140,3}, {-2238,3135,3},{-2242,3130,3},{-1780,2527,131},{-1777,2523,3},{-1777,2518,3}, {-1768,2513,3},{-1770,2512,3},{-1768,2510,3},{-1765,2510,3},{-1762,2507,3}, {-1762,2503,3},{-1758,2503,3},{-1758,2498,3},{-1755,2497,3},{-1752,2487,3}, {-1752,2478,3},{-1752,2477,3},{-1750,2467,3},{-1750,2463,3},{-1753,2458,3}, {-1753,2457,3},{-1748,2445,3},{-1747,2437,3},{-1748,2433,3},{-1748,2430,3}, {-1748,2425,3},{-1748,2423,3},{-1748,2418,3},{-1750,2412,3},{-1752,2407,3}, {-1752,2400,3},{-1753,2395,3},{-1755,2390,3},{-1755,2383,3},{-1757,2378,3}, {-1758,2372,3},{-1758,2367,3},{-1760,2360,3},{-1762,2355,3},{-1763,2348,3}, {-1748,2320,3},{-1733,2307,3},{-1703,2273,3},{-1677,2248,3},{-1662,2230,3}, {-1660,2227,3},{-1657,2225,3},{-1657,2222,3},{-1648,2213,3},{-1633,2212,3}, {-1628,2208,3},{-1623,2207,3},{-1617,2200,3},{-1612,2200,3},{-1607,2200,3}, {-1602,2200,3},{-1597,2200,3},{-1592,2200,3},{-1587,2200,3},{-1582,2200,3}, {-1577,2200,3},{-1570,2200,3},{-1565,2200,3},{-1560,2200,3},{-1555,2200,3}, {-1550,2200,3},{-1545,2200,3},{-1540,2200,3},{-1535,2200,3},{-1530,2200,3}, {-1525,2200,3},{-1520,2200,3},{-1515,2200,3},{-1508,2200,3},{-1503,2200,3}, {-1498,2200,3},{-1493,2200,3},{-1488,2200,3},{-1483,2200,3},{-1478,2200,3}, {-1473,2200,3},{-1468,2200,3},{-1462,2200,3},{-1457,2200,3},{-1452,2200,3}, {-1447,2200,3},{-1442,2200,3},{-1437,2200,3},{-1432,2200,3},{-1427,2200,3}, {-1422,2200,3},{-1417,2200,3},{-1412,2200,3},{-1405,2200,3},{-1400,2200,3}, {-1395,2200,3},{-1390,2200,3},{-1385,2200,3},{-1380,2200,3},{-1375,2200,3}, {-1370,2200,3},{-1365,2200,3},{-1358,2200,3},{-1353,2200,3},{-1348,2200,3}, {-1343,2200,3},{-1338,2200,3},{-1333,2200,3},{-1327,2200,3},{-1325,2200,3}, {-1322,2200,3},{-1317,2200,3},{-1312,2200,3},{-1307,2200,3},{-1300,2200,3}, {-1300,2205,3},{-1300,2212,3},{-1300,2217,3},{-1300,2222,3},{-1300,2228,3}, {-1300,2233,3},{-1300,2238,3},{-1300,2245,3},{-1300,2250,3},{-1300,2257,3}, {-1300,2262,3},{-1300,2267,3},{-1300,2273,3},{-1300,2278,3},{-1300,2283,3}, {-1300,2290,3},{-1300,2295,3},{-1300,2300,3},{-1300,2307,3},{-1300,2312,3}, {-1300,2318,3},{-1300,2323,3},{-1300,2328,3},{-1300,2335,3},{-1300,2340,3}, {-1300,2345,3},{-1300,2352,3},{-1300,2357,3},{-1300,2363,3},{-1300,2368,3}, {-1300,2373,3},{-1300,2380,3},{-1300,2385,3},{-1300,2390,3},{-1300,2397,3}, {-1300,2402,3},{-1293,2400,3},{-1283,2390,3},{-1278,2388,3},{-1270,2392,3}, {-1255,2395,3},{-1238,2405,3},{-1227,2403,3},{-1220,2397,3},{-1188,2398,3}, {-1182,2402,3},{-1178,2400,3},{-1170,2400,3},{-1165,2397,3},{-1158,2400,3}, {-1153,2403,3},{-1145,2403,3},{-1140,2408,3},{-1128,2403,3},{-1113,2403,3}, {-1112,2400,3},{-1097,2402,3},{-1092,2398,3},{-1087,2398,3},{-1088,2407,3}, {-1092,2413,3},{-1095,2413,3},{-1098,2415,3},{-1102,2413,3},{-1103,2415,3}, {-1103,2420,3},{-1105,2425,3},{-1105,2432,3},{-1112,2440,3},{-1117,2438,3}, {-1120,2442,3},{-1128,2442,3},{-1135,2437,3},{-1137,2430,3},{-1138,2430,3}, {-1140,2432,3},{-1142,2438,3},{-1147,2445,3},{-1147,2452,3},{-1143,2458,3}, {-1140,2460,3},{-1138,2465,3},{-1133,2470,3},{-1132,2475,3},{-1132,2482,3}, {-1128,2488,3},{-1127,2497,3},{-1125,2518,3},{-1120,2533,3},{-1120,2535,3}, {-1125,2533,3},{-1128,2535,3},{-1130,2530,3},{-1135,2532,3},{-1135,2530,3}, {-1138,2528,3},{-1147,2533,3},{-1150,2532,3},{-1155,2532,3},{-1163,2537,3}, {-1165,2540,3},{-1167,2543,3},{-1172,2550,3},{-1175,2550,3},{-1177,2550,3}, {-1178,2552,3},{-1175,2555,3},{-1175,2558,3},{-1173,2558,3},{-1172,2563,3}, {-1178,2573,3},{-1180,2583,3},{-1178,2587,3},{-1182,2590,3},{-1185,2597,3}, {-1190,2598,3},{-1190,2620,3},{-1193,2625,3},{-1193,2628,3},{-1193,2632,3}, {-1192,2637,3},{-1192,2645,3},{-1192,2647,3},{-1195,2650,3},{-1198,2667,3}, {-1202,2672,3},{-1197,2678,3},{-1197,2687,3},{-1197,2690,3},{-1190,2697,3}, {-1185,2700,3},{-1175,2700,3},{-1170,2705,3},{-1160,2703,3},{-1158,2715,3}, {-1157,2720,3},{-1162,2722,3},{-1178,2723,3},{-1195,2747,3},{-1198,2748,3}, {-1207,2750,3},{-1217,2753,3},{-1222,2757,3},{-1227,2763,3},{-1230,2767,3}, {-1230,2778,3},{-1228,2782,3},{-1225,2783,3},{-1225,2787,3},{-1232,2797,3}, {-1237,2798,3},{-1237,2803,3},{-1238,2812,3},{-1243,2815,3},{-1240,2820,3}, {-1243,2823,3},{-1243,2835,3},{-1252,2845,3},{-1262,2848,3},{-1267,2853,3}, {-1270,2853,3},{-1272,2850,3},{-1275,2850,3},{-1278,2852,3},{-1282,2857,3}, {-1288,2857,3},{-1290,2858,3},{-1285,2863,3},{-1285,2868,3},{-1290,2873,3}, {-1297,2877,3},{-1298,2882,3},{-1303,2883,3},{-1305,2885,3},{-1308,2885,3}, {-1310,2887,3},{-1313,2888,3},{-1317,2892,3},{-1335,2897,3},{-1340,2902,3}, {-1338,2915,3},{-1340,2917,3},{-1343,2918,3},{-1343,2920,3},{-1340,2923,3}, {-1337,2930,3},{-1335,2933,3},{-1335,2937,3},{-1333,2938,3},{-1330,2947,3}, {-1323,2955,3},{-1322,2958,3},{-1325,2963,3},{-1325,2968,3},{-1327,2968,3}, {-1330,2968,3},{-1332,2965,3},{-1335,2965,3},{-1337,2962,3},{-1342,2963,3}, {-1345,2972,3},{-1345,2980,3},{-1342,2980,3},{-1337,2980,3},{-1330,2980,3}, {-1325,2980,3},{-1320,2980,3},{-1315,2980,3},{-1308,2980,3},{-1303,2980,3}, {-1298,2980,3},{-1292,2980,3},{-1287,2980,3},{-1282,2980,3},{-1277,2980,3}, {-1270,2980,3},{-1265,2980,3},{-1260,2980,3},{-1253,2980,3},{-1248,2980,3}, {-1243,2980,3},{-1238,2980,3},{-1232,2980,3},{-1227,2980,3},{-1222,2980,3}, {-1215,2980,3},{-1215,2975,3},{-1218,2972,3},{-1222,2963,3},{-1220,2960,3}, {-1218,2957,3},{-1222,2955,3},{-1223,2948,3},{-1235,2945,3},{-1238,2948,3}, {-1240,2948,3},{-1238,2952,3},{-1243,2953,3},{-1247,2948,3},{-1245,2947,3}, {-1243,2940,3},{-1242,2938,3},{-1242,2930,3},{-1238,2928,3},{-1237,2925,3}, {-1238,2923,3},{-1237,2918,3},{-1238,2913,3},{-1240,2910,3},{-1238,2910,3}, {-1237,2910,3},{-1238,2903,3},{-1230,2900,3},{-1220,2893,3},{-1213,2885,3}, {-1207,2880,3},{-1205,2877,3},{-1198,2875,3},{-1198,2868,3},{-1195,2862,3}, {-1192,2860,3},{-1192,2857,3},{-1190,2855,3},{-1187,2853,3},{-1187,2850,3}, {-1182,2848,3},{-1178,2845,3},{-1172,2845,3},{-1168,2842,3},{-1167,2843,3}, {-1155,2837,3},{-1145,2837,3},{-1135,2843,3},{-1128,2843,3},{-1123,2847,3}, {-1117,2848,3},{-1108,2848,3},{-1093,2855,3},{-1083,2855,3},{-1072,2862,3}, {-1072,2867,3},{-1068,2867,3},{-1065,2870,3},{-1062,2867,3},{-1057,2867,3}, {-1052,2863,3},{-1043,2865,3},{-1037,2862,3},{-1030,2863,3},{-1022,2857,3}, {-1015,2862,3},{-995,2863,3},{-982,2867,3},{-978,2870,3},{-975,2867,3}, {-972,2863,3},{-960,2862,3},{-957,2858,3},{-955,2862,3},{-955,2857,3},{-948,2857,3}, {-947,2853,3},{-942,2853,3},{-940,2862,3},{-940,2867,3},{-945,2870,3},{-945,2872,3}, {-937,2873,3},{-933,2870,3},{-932,2872,3},{-920,2880,3},{-913,2885,3},{-908,2890,3}, {-903,2892,3},{-900,2900,3},{-887,2905,3},{-885,2908,3},{-880,2910,3},{-865,2915,3}, {-860,2910,3},{-848,2890,3},{-847,2893,3},{-847,2900,3},{-845,2905,3},{-845,2910,3}, {-843,2917,3},{-843,2922,3},{-842,2927,3},{-842,2933,3},{-840,2938,3},{-840,2943,3}, {-838,2950,3},{-838,2955,3},{-837,2960,3},{-837,2967,3},{-835,2972,3},{-835,2977,3}, {-833,2983,3},{-833,2988,3},{-832,2993,3},{-832,3000,3},{-830,3005,3},{-830,3010,3}, {-828,3017,3},{-828,3022,3},{-827,3027,3},{-827,3033,3},{-825,3038,3},{-825,3043,3}, {-823,3050,3},{-823,3055,3},{-823,3057,3},{-825,3057,3},{-828,3057,3},{-830,3057,3}, {-835,3047,3},{-843,3043,3},{-847,3045,3},{-850,3047,3},{-852,3047,3},{-853,3050,3}, {-852,3058,3},{-855,3057,3},{-858,3053,3},{-858,3055,3},{-857,3062,3},{-852,3065,3}, {-850,3065,3},{-850,3063,3},{-848,3068,3},{-853,3068,3},{-853,3072,3},{-857,3072,3}, {-857,3078,3},{-867,3090,3},{-878,3102,3},{-880,3103,3},{-877,3110,3},{-875,3110,3}, {-873,3113,3},{-872,3113,3},{-875,3117,3},{-875,3118,3},{-863,3120,3},{-860,3118,3}, {-858,3122,3},{-858,3123,3},{-862,3128,3},{-860,3132,3},{-860,3135,3},{-858,3137,3}, {-858,3138,3},{-863,3140,3},{-863,3147,3},{-867,3148,3},{-870,3157,3},{-882,3157,3}, {-890,3168,3},{-892,3172,3},{-890,3175,3},{-888,3178,3},{-892,3188,3},{-893,3195,3}, {-897,3193,3},{-902,3193,3},{-907,3198,3},{-903,3205,3},{-907,3212,3},{-907,3217,3}, {-912,3222,3},{-913,3227,3},{-913,3243,3},{-917,3248,3},{-922,3250,3},{-927,3255,3}, {-928,3275,3},{-933,3277,3},{-933,3282,3},{-937,3285,3},{-948,3298,3},{-952,3302,3}, {-957,3300,3},{-963,3300,3},{-963,3302,3},{-962,3307,3},{-965,3308,3},{-967,3310,3}, {-960,3312,3},{-958,3312,3},{-960,3313,3},{-960,3320,3},{-963,3323,3},{-970,3325,3}, {-980,3330,3},{-982,3332,3},{-982,3337,3},{-992,3338,3},{-993,3337,3},{-1005,3332,3}, {-1008,3335,3},{-1010,3340,3},{-1015,3347,3},{-1022,3355,3},{-1035,3355,3}, {-1040,3357,3},{-1045,3363,3},{-1050,3365,3},{-1052,3368,3},{-1055,3368,3}, {-1057,3370,3},{-1060,3367,3},{-1062,3363,3},{-1065,3363,3},{-1065,3362,3}, {-1070,3355,3},{-1075,3353,3},{-1075,3352,3},{-1078,3352,3},{-1078,3348,3}, {-1080,3347,3},{-1080,3342,3},{-1080,3340,3},{-1080,3337,3},{-1085,3333,3}, {-1087,3332,3},{-1085,3328,3},{-1088,3327,3},{-1093,3330,3},{-1102,3332,3}, {-1105,3335,3},{-1110,3337,3},{-1112,3338,3},{-1115,3340,3},{-1117,3342,3}, {-1127,3338,3},{-1135,3332,3},{-1138,3332,3},{-1138,3330,3},{-1142,3330,3}, {-1145,3328,3},{-1142,3325,3},{-1153,3327,3},{-1155,3323,3},{-1158,3325,3}, {-1160,3330,3},{-1162,3333,3},{-1183,3333,3},{-1188,3333,3},{-1193,3335,3}, {-1198,3333,3},{-1207,3328,3},{-1213,3327,3},{-1220,3332,3},{-1225,3333,3}, {-1235,3338,3},{-1233,3347,3},{-1235,3352,3},{-1238,3353,3},{-1243,3348,3}, {-1248,3345,3},{-1253,3338,3},{-1255,3330,3},{-1260,3323,3},{-1263,3318,3}, {-1262,3315,3},{-1260,3305,3},{-1277,3297,3},{-1285,3297,3},{-1288,3303,3}, {-1290,3303,3},{-1303,3300,3},{-1310,3298,3},{-1315,3298,3},{-1320,3302,3}, {-1328,3295,3},{-1340,3292,3},{-1347,3288,3},{-1347,3287,3},{-1352,3285,3}, {-1357,3275,3},{-1358,3272,3},{-1362,3268,3},{-1365,3272,3},{-1365,3278,3}, {-1370,3285,3},{-1372,3285,3},{-1377,3277,3},{-1378,3277,3},{-1382,3282,3}, {-1382,3288,3},{-1383,3292,3},{-1388,3292,3},{-1390,3295,3},{-1393,3297,3}, {-1395,3300,3},{-1402,3300,3},{-1405,3302,3},{-1405,3305,3},{-1398,3308,3}, {-1397,3313,3},{-1392,3317,3},{-1402,3322,3},{-1403,3317,3},{-1405,3312,3}, {-1407,3305,3},{-1408,3300,3},{-1412,3295,3},{-1413,3288,3},{-1415,3283,3}, {-1417,3278,3},{-1418,3272,3},{-1420,3267,3},{-1423,3262,3},{-1425,3255,3}, {-1427,3250,3},{-1428,3245,3},{-1430,3237,3},{-1435,3213,3},{-1440,3205,3}, {-1443,3192,3},{-1448,3182,3},{-1450,3170,3},{-1462,3148,3},{-1475,3087,3}, {-1478,3077,3},{-1482,3072,3},{-1483,3067,3},{-1485,3060,3},{-1487,3055,3}, {-1488,3050,3},{-1492,3043,3},{-1497,3035,3},{-1497,3030,3},{-1498,3025,3}, {-1498,3022,3},{-1510,3022,3},{-1522,3025,3},{-1527,3028,3},{-1533,3037,3}, {-1545,3037,3},{-1548,3038,3},{-1555,3035,3},{-1558,3038,3},{-1563,3042,3}, {-1567,3035,3},{-1563,3025,3},{-1567,3022,3},{-1563,3017,3},{-1563,3008,3}, {-1565,3000,3},{-1563,2995,3},{-1562,2983,3},{-1565,2970,3},{-1567,2963,3}, {-1567,2957,3},{-1570,2952,3},{-1570,2943,3},{-1578,2925,3},{-1587,2913,3}, {-1588,2908,3},{-1595,2905,3},{-1595,2897,3},{-1597,2893,3},{-1605,2887,3}, {-1612,2887,3},{-1617,2885,3},{-1623,2887,3},{-1630,2883,3},{-1640,2885,3}, {-1648,2882,3},{-1652,2877,3},{-1653,2870,3},{-1650,2868,3},{-1648,2865,3}, {-1650,2863,3},{-1652,2855,3},{-1653,2853,3},{-1653,2857,3},{-1657,2852,3}, {-1653,2852,3},{-1652,2848,3},{-1653,2848,3},{-1655,2845,3},{-1660,2840,3}, {-1658,2837,3},{-1655,2838,3},{-1657,2833,3},{-1653,2832,3},{-1653,2828,3}, {-1655,2830,3},{-1657,2828,3},{-1658,2832,3},{-1660,2833,3},{-1662,2827,3}, {-1662,2825,3},{-1663,2825,3},{-1665,2825,3},{-1667,2822,3},{-1663,2820,3}, {-1663,2817,3},{-1665,2818,3},{-1668,2817,3},{-1668,2820,3},{-1670,2820,3}, {-1672,2813,3},{-1675,2813,3},{-1677,2813,3},{-1675,2808,3},{-1678,2808,3}, {-1680,2807,3},{-1682,2808,3},{-1683,2807,3},{-1687,2802,3},{-1685,2797,3}, {-1683,2797,3},{-1682,2797,3},{-1682,2793,3},{-1685,2783,3},{-1683,2780,3}, {-1687,2780,3},{-1690,2787,3},{-1690,2782,3},{-1693,2775,3},{-1692,2773,3}, {-1695,2768,3},{-1697,2773,3},{-1698,2773,3},{-1702,2765,3},{-1705,2770,3}, {-1707,2772,3},{-1710,2767,3},{-1708,2765,3},{-1707,2767,3},{-1705,2762,3}, {-1713,2755,3},{-1717,2755,3},{-1718,2752,3},{-1723,2750,3},{-1727,2747,3}, {-1727,2745,3},{-1728,2742,3},{-1732,2745,3},{-1745,2732,3},{-1747,2738,3}, {-1748,2737,3},{-1752,2737,3},{-1753,2737,3},{-1753,2733,3},{-1757,2735,3}, {-1757,2730,3},{-1760,2730,3},{-1762,2727,3},{-1760,2725,3},{-1762,2725,3}, {-1762,2722,3},{-1763,2723,3},{-1765,2722,3},{-1767,2718,3},{-1770,2718,3}, {-1768,2717,3},{-1775,2713,3},{-1778,2708,3},{-1780,2710,3},{-1780,2708,3}, {-1783,2708,3},{-1785,2710,3},{-1783,2713,3},{-1788,2708,3},{-1790,2708,3}, {-1790,2707,3},{-1793,2705,3},{-1795,2702,3},{-1797,2702,3},{-1798,2688,3}, {-1800,2683,3},{-1802,2683,3},{-1803,2677,3},{-1808,2670,3},{-1805,2660,3}, {-1800,2657,3},{-1800,2650,3},{-1793,2640,3},{-1793,2632,3},{-1792,2623,3}, {-1788,2622,3},{-1792,2617,3},{-1793,2610,3},{-1797,2610,3},{-1797,2603,3}, {-1798,2603,3},{-1798,2600,3},{-1800,2597,3},{-1798,2587,3},{-1793,2583,3}, {-1792,2585,3},{-1788,2580,3},{-1785,2575,3},{-1783,2570,3},{-1780,2568,3}, {-1783,2562,3},{-1785,2555,3},{-1787,2552,3},{-1785,2533,3},{-1780,2527,3}, {-585,1318,131},{-587,1310,3},{-585,1305,3},{-585,1300,3},{-582,1297,3}, {-582,1288,3},{-587,1275,3},{-597,1270,3},{-598,1267,3},{-598,1257,3},{-603,1248,3}, {-603,1245,3},{-602,1242,3},{-600,1245,3},{-597,1245,3},{-595,1240,3},{-600,1238,3}, {-597,1237,3},{-585,1225,3},{-578,1220,3},{-573,1228,3},{-573,1237,3},{-573,1242,3}, {-573,1247,3},{-572,1253,3},{-567,1253,3},{-560,1253,3},{-555,1253,3},{-550,1253,3}, {-543,1253,3},{-538,1253,3},{-533,1253,3},{-527,1253,3},{-522,1253,3},{-517,1253,3}, {-512,1253,3},{-510,1247,3},{-505,1247,3},{-505,1250,3},{-500,1260,3},{-493,1262,3}, {-493,1270,3},{-487,1272,3},{-483,1278,3},{-480,1278,3},{-473,1282,3},{-472,1287,3}, {-472,1292,3},{-468,1302,3},{-467,1307,3},{-467,1308,3},{-463,1308,3},{-458,1308,3}, {-457,1312,3},{-458,1313,3},{-463,1318,3},{-468,1320,3},{-477,1330,3},{-478,1338,3}, {-485,1338,3},{-488,1342,3},{-485,1343,3},{-480,1352,3},{-477,1350,3},{-475,1353,3}, {-478,1358,3},{-478,1360,3},{-473,1363,3},{-473,1370,3},{-470,1370,3},{-470,1373,3}, {-465,1372,3},{-453,1373,3},{-445,1373,3},{-442,1382,3},{-445,1385,3},{-448,1388,3}, {-450,1397,3},{-445,1402,3},{-443,1402,3},{-440,1407,3},{-438,1418,3},{-432,1430,3}, {-427,1442,3},{-433,1440,3},{-440,1445,3},{-443,1448,3},{-452,1443,3},{-452,1440,3}, {-455,1437,3},{-463,1438,3},{-468,1443,3},{-475,1442,3},{-478,1443,3},{-483,1442,3}, {-488,1442,3},{-483,1448,3},{-485,1455,3},{-488,1458,3},{-492,1467,3},{-482,1483,3}, {-465,1492,3},{-455,1502,3},{-450,1510,3},{-433,1522,3},{-428,1533,3},{-430,1542,3}, {-427,1545,3},{-422,1548,3},{-413,1548,3},{-405,1555,3},{-398,1570,3},{-397,1583,3}, {-392,1590,3},{-385,1593,3},{-368,1603,3},{-362,1605,3},{-357,1610,3},{-345,1615,3}, {-342,1618,3},{-333,1623,3},{-328,1622,3},{-325,1618,3},{-320,1620,3},{-315,1618,3}, {-300,1620,3},{-288,1618,3},{-272,1620,3},{-263,1623,3},{-238,1618,3},{-225,1618,3}, {-218,1620,3},{-210,1625,3},{-202,1637,3},{-187,1652,3},{-165,1665,3},{-142,1675,3}, {-132,1680,3},{-123,1688,3},{-115,1697,3},{-107,1712,3},{-103,1728,3},{-100,1733,3}, {-78,1755,3},{-62,1768,3},{-53,1772,3},{-38,1775,3},{-23,1772,3},{-13,1772,3}, {15,1780,3},{22,1785,3},{35,1795,3},{45,1797,3},{48,1797,3},{60,1790,3}, {68,1788,3},{82,1790,3},{100,1787,3},{105,1788,3},{113,1793,3},{125,1798,3}, {132,1798,3},{153,1807,3},{172,1808,3},{185,1807,3},{195,1808,3},{205,1807,3}, {213,1810,3},{222,1810,3},{230,1812,3},{233,1817,3},{242,1822,3},{252,1823,3}, {257,1832,3},{262,1835,3},{273,1840,3},{283,1843,3},{297,1850,3},{308,1853,3}, {315,1862,3},{322,1865,3},{327,1863,3},{332,1865,3},{348,1863,3},{373,1858,3}, {388,1862,3},{398,1865,3},{403,1865,3},{413,1863,3},{423,1858,3},{430,1853,3}, {432,1853,3},{437,1858,3},{435,1865,3},{437,1870,3},{440,1875,3},{447,1880,3}, {457,1883,3},{462,1888,3},{465,1890,3},{467,1893,3},{472,1895,3},{475,1900,3}, {480,1902,3},{483,1905,3},{490,1907,3},{493,1912,3},{493,1918,3},{497,1920,3}, {500,1923,3},{508,1937,3},{513,1942,3},{513,1950,3},{515,1955,3},{513,1962,3}, {513,1972,3},{508,1983,3},{500,1990,3},{498,2000,3},{492,2008,3},{487,2018,3}, {480,2023,3},{477,2035,3},{467,2040,3},{462,2045,3},{455,2043,3},{452,2045,3}, {442,2058,3},{442,2078,3},{443,2082,3},{445,2083,3},{443,2097,3},{440,2107,3}, {433,2112,3},{428,2122,3},{428,2123,3},{432,2125,3},{433,2128,3},{428,2135,3}, {427,2147,3},{425,2153,3},{430,2163,3},{430,2175,3},{427,2177,3},{427,2183,3}, {423,2187,3},{423,2195,3},{425,2200,3},{422,2210,3},{417,2217,3},{415,2220,3}, {413,2233,3},{415,2245,3},{422,2253,3},{428,2253,3},{433,2257,3},{437,2262,3}, {442,2258,3},{447,2260,3},{448,2260,3},{448,2268,3},{453,2270,3},{457,2272,3}, {462,2273,3},{465,2275,3},{472,2278,3},{472,2280,3},{470,2285,3},{473,2287,3}, {475,2288,3},{482,2288,3},{482,2293,3},{483,2297,3},{482,2298,3},{475,2302,3}, {473,2307,3},{472,2308,3},{470,2310,3},{473,2317,3},{467,2323,3},{465,2327,3}, {462,2327,3},{463,2330,3},{460,2333,3},{458,2343,3},{465,2345,3},{467,2350,3}, {473,2358,3},{477,2370,3},{478,2375,3},{482,2380,3},{482,2383,3},{482,2385,3}, {482,2388,3},{482,2395,3},{485,2393,3},{487,2395,3},{485,2398,3},{490,2407,3}, {492,2410,3},{490,2415,3},{493,2418,3},{497,2423,3},{493,2425,3},{493,2427,3}, {498,2427,3},{500,2428,3},{500,2437,3},{502,2438,3},{503,2440,3},{505,2440,3}, {505,2435,3},{510,2438,3},{512,2440,3},{507,2443,3},{510,2443,3},{510,2447,3}, {508,2453,3},{503,2457,3},{503,2460,3},{498,2462,3},{495,2467,3},{492,2465,3}, {492,2472,3},{492,2473,3},{492,2477,3},{492,2478,3},{493,2482,3},{493,2487,3}, {497,2488,3},{498,2498,3},{495,2507,3},{502,2513,3},{500,2518,3},{502,2528,3}, {505,2532,3},{508,2532,3},{512,2535,3},{515,2535,3},{517,2532,3},{518,2532,3}, {528,2535,3},{530,2538,3},{532,2537,3},{533,2540,3},{532,2542,3},{533,2547,3}, {535,2547,3},{535,2548,3},{533,2550,3},{535,2553,3},{538,2555,3},{537,2558,3}, {533,2558,3},{533,2562,3},{532,2560,3},{530,2563,3},{532,2565,3},{528,2572,3}, {527,2572,3},{525,2575,3},{525,2577,3},{527,2577,3},{527,2578,3},{527,2580,3}, {523,2580,3},{523,2582,3},{522,2580,3},{520,2583,3},{522,2585,3},{522,2588,3}, {517,2590,3},{517,2592,3},{520,2592,3},{520,2593,3},{520,2595,3},{523,2597,3}, {522,2600,3},{520,2602,3},{518,2603,3},{520,2605,3},{520,2610,3},{523,2608,3}, {523,2612,3},{525,2613,3},{525,2615,3},{523,2615,3},{523,2620,3},{520,2622,3}, {518,2625,3},{517,2625,3},{515,2628,3},{513,2632,3},{515,2635,3},{513,2637,3}, {515,2638,3},{510,2645,3},{507,2647,3},{505,2650,3},{505,2655,3},{508,2658,3}, {508,2662,3},{507,2662,3},{508,2663,3},{507,2667,3},{508,2668,3},{510,2673,3}, {508,2677,3},{503,2680,3},{505,2683,3},{503,2687,3},{513,2693,3},{520,2708,3}, {520,2715,3},{515,2722,3},{512,2732,3},{510,2733,3},{508,2740,3},{507,2743,3}, {502,2743,3},{502,2745,3},{497,2752,3},{493,2753,3},{490,2758,3},{490,2767,3}, {483,2770,3},{478,2770,3},{478,2777,3},{472,2778,3},{467,2777,3},{460,2778,3}, {460,2782,3},{455,2787,3},{455,2793,3},{458,2795,3},{455,2797,3},{457,2803,3}, {448,2803,3},{442,2807,3},{445,2812,3},{443,2813,3},{442,2813,3},{440,2813,3}, {438,2817,3},{435,2820,3},{435,2827,3},{435,2833,3},{428,2837,3},{428,2845,3}, {432,2847,3},{437,2850,3},{437,2857,3},{442,2860,3},{442,2865,3},{453,2872,3}, {453,2875,3},{457,2878,3},{452,2880,3},{450,2880,3},{448,2882,3},{448,2898,3}, {450,2900,3},{448,2903,3},{447,2903,3},{445,2907,3},{443,2907,3},{443,2912,3}, {435,2920,3},{435,2925,3},{438,2925,3},{438,2932,3},{447,2935,3},{448,2940,3}, {453,2943,3},{457,2943,3},{458,2947,3},{467,2947,3},{468,2948,3},{468,2950,3}, {465,2953,3},{467,2955,3},{465,2958,3},{465,2962,3},{465,2965,3},{462,2970,3}, {458,2973,3},{457,2982,3},{453,2980,3},{448,2980,3},{438,2980,3},{435,2983,3}, {435,2990,3},{430,2995,3},{425,2995,3},{423,2998,3},{420,3003,3},{413,3007,3}, {410,3015,3},{405,3015,3},{400,3020,3},{397,3022,3},{397,3028,3},{393,3033,3}, {388,3042,3},{387,3048,3},{387,3053,3},{387,3055,3},{370,3058,3},{362,3057,3}, {362,3063,3},{365,3068,3},{363,3073,3},{368,3077,3},{367,3078,3},{362,3080,3}, {357,3085,3},{352,3085,3},{348,3087,3},{353,3092,3},{350,3093,3},{347,3092,3}, {340,3093,3},{328,3087,3},{328,3083,3},{323,3083,3},{305,3077,3},{297,3085,3}, {288,3088,3},{285,3088,3},{278,3085,3},{277,3082,3},{270,3080,3},{267,3078,3}, {262,3078,3},{260,3075,3},{252,3075,3},{248,3073,3},{245,3073,3},{245,3083,3}, {240,3083,3},{233,3088,3},{233,3092,3},{240,3093,3},{242,3095,3},{240,3098,3}, {233,3107,3},{230,3105,3},{228,3112,3},{230,3120,3},{223,3120,3},{218,3128,3}, {217,3127,3},{215,3125,3},{212,3123,3},{210,3122,3},{208,3118,3},{207,3117,3}, {203,3113,3},{202,3110,3},{200,3107,3},{195,3102,3},{193,3100,3},{193,3095,3}, {190,3092,3},{183,3085,3},{182,3083,3},{178,3080,3},{177,3077,3},{175,3075,3}, {172,3073,3},{170,3072,3},{168,3068,3},{167,3067,3},{165,3065,3},{162,3063,3}, {160,3062,3},{158,3060,3},{157,3055,3},{155,3053,3},{152,3050,3},{148,3048,3}, {147,3048,3},{142,3047,3},{140,3045,3},{138,3043,3},{135,3043,3},{132,3038,3}, {127,3038,3},{125,3040,3},{127,3040,3},{123,3043,3},{123,3045,3},{127,3045,3}, {127,3047,3},{123,3047,3},{122,3045,3},{120,3038,3},{120,3035,3},{115,3033,3}, {117,3028,3},{115,3027,3},{113,3023,3},{107,3022,3},{100,3022,3},{90,3015,3}, {90,3010,3},{87,3002,3},{83,2997,3},{77,2995,3},{72,2995,3},{63,2993,3}, {48,2997,3},{37,2987,3},{15,2982,3},{17,2978,3},{15,2977,3},{13,2977,3}, {12,2973,3},{7,2972,3},{0,2973,3},{-7,2972,3},{-8,2972,3},{-8,2970,3},{-12,2967,3}, {-17,2950,3},{-25,2945,3},{-33,2943,3},{-38,2938,3},{-42,2938,3},{-47,2937,3}, {-48,2932,3},{-53,2935,3},{-57,2932,3},{-58,2930,3},{-60,2932,3},{-58,2933,3}, {-62,2938,3},{-70,2937,3},{-67,2942,3},{-60,2943,3},{-62,2947,3},{-63,2948,3}, {-60,2957,3},{-57,2960,3},{-48,2963,3},{-47,2965,3},{-50,2967,3},{-57,2967,3}, {-60,2963,3},{-62,2965,3},{-65,2963,3},{-73,2962,3},{-78,2963,3},{-88,2963,3}, {-90,2958,3},{-97,2958,3},{-100,2957,3},{-107,2958,3},{-118,2957,3},{-122,2960,3}, {-127,2958,3},{-132,2960,3},{-138,2960,3},{-145,2950,3},{-150,2945,3},{-152,2937,3}, {-160,2932,3},{-163,2927,3},{-168,2922,3},{-167,2918,3},{-163,2915,3},{-163,2912,3}, {-158,2905,3},{-162,2903,3},{-167,2902,3},{-170,2902,3},{-163,2907,3},{-162,2908,3}, {-167,2910,3},{-175,2903,3},{-175,2902,3},{-178,2902,3},{-180,2903,3},{-183,2900,3}, {-193,2895,3},{-197,2893,3},{-197,2890,3},{-202,2888,3},{-205,2888,3},{-205,2890,3}, {-203,2892,3},{-202,2890,3},{-198,2893,3},{-200,2895,3},{-205,2897,3},{-210,2892,3}, {-210,2890,3},{-213,2885,3},{-215,2890,3},{-217,2888,3},{-217,2887,3},{-218,2887,3}, {-222,2885,3},{-227,2887,3},{-225,2888,3},{-223,2892,3},{-225,2893,3},{-228,2892,3}, {-233,2888,3},{-225,2897,3},{-227,2897,3},{-232,2895,3},{-232,2893,3},{-237,2885,3}, {-245,2883,3},{-247,2885,3},{-245,2887,3},{-248,2888,3},{-252,2885,3},{-257,2888,3}, {-265,2888,3},{-268,2893,3},{-270,2898,3},{-273,2902,3},{-277,2898,3},{-282,2898,3}, {-282,2905,3},{-287,2905,3},{-288,2908,3},{-292,2908,3},{-297,2913,3},{-300,2915,3}, {-302,2918,3},{-302,2922,3},{-307,2923,3},{-312,2923,3},{-315,2922,3},{-322,2922,3}, {-323,2922,3},{-327,2923,3},{-330,2920,3},{-333,2920,3},{-335,2915,3},{-343,2913,3}, {-367,2915,3},{-377,2910,3},{-383,2913,3},{-387,2910,3},{-390,2912,3},{-392,2910,3}, {-400,2910,3},{-403,2908,3},{-410,2910,3},{-415,2908,3},{-418,2910,3},{-422,2910,3}, {-428,2905,3},{-432,2905,3},{-435,2915,3},{-412,2922,3},{-405,2923,3},{-412,2927,3}, {-430,2922,3},{-435,2922,3},{-442,2920,3},{-452,2920,3},{-450,2918,3},{-450,2917,3}, {-455,2915,3},{-462,2910,3},{-468,2912,3},{-478,2910,3},{-502,2912,3},{-508,2910,3}, {-513,2913,3},{-523,2915,3},{-547,2928,3},{-553,2933,3},{-563,2938,3},{-565,2937,3}, {-562,2933,3},{-563,2933,3},{-572,2935,3},{-575,2933,3},{-575,2935,3},{-577,2933,3}, {-582,2932,3},{-590,2923,3},{-592,2918,3},{-608,2918,3},{-613,2927,3},{-617,2928,3}, {-618,2932,3},{-622,2933,3},{-628,2933,3},{-642,2940,3},{-647,2940,3},{-652,2943,3}, {-653,2947,3},{-652,2948,3},{-653,2948,3},{-657,2948,3},{-662,2948,3},{-670,2950,3}, {-678,2955,3},{-683,2963,3},{-690,2967,3},{-695,2972,3},{-705,2978,3},{-708,2985,3}, {-712,2997,3},{-720,3008,3},{-723,3012,3},{-730,3015,3},{-733,3015,3},{-737,3018,3}, {-742,3018,3},{-747,3022,3},{-755,3022,3},{-762,3020,3},{-770,3023,3},{-777,3027,3}, {-785,3027,3},{-788,3030,3},{-788,3033,3},{-790,3035,3},{-793,3038,3},{-795,3042,3}, {-797,3042,3},{-800,3045,3},{-802,3045,3},{-803,3050,3},{-807,3053,3},{-810,3053,3}, {-815,3058,3},{-820,3057,3},{-823,3057,3},{-823,3055,3},{-823,3050,3},{-825,3043,3}, {-825,3038,3},{-827,3033,3},{-827,3027,3},{-828,3022,3},{-828,3017,3},{-830,3010,3}, {-830,3005,3},{-832,3000,3},{-832,2993,3},{-833,2988,3},{-833,2983,3},{-835,2977,3}, {-835,2972,3},{-837,2967,3},{-837,2960,3},{-838,2955,3},{-838,2950,3},{-840,2943,3}, {-840,2938,3},{-842,2933,3},{-842,2927,3},{-843,2922,3},{-843,2917,3},{-845,2910,3}, {-845,2905,3},{-847,2900,3},{-847,2893,3},{-848,2890,3},{-848,2888,3},{-850,2887,3}, {-868,2873,3},{-888,2853,3},{-897,2848,3},{-908,2833,3},{-917,2832,3},{-922,2835,3}, {-928,2832,3},{-930,2833,3},{-938,2832,3},{-940,2833,3},{-943,2835,3},{-953,2832,3}, {-953,2833,3},{-952,2835,3},{-953,2845,3},{-950,2853,3},{-947,2850,3},{-947,2847,3}, {-945,2848,3},{-942,2848,3},{-938,2848,3},{-937,2850,3},{-938,2852,3},{-943,2852,3}, {-947,2853,3},{-948,2857,3},{-955,2857,3},{-955,2862,3},{-957,2858,3},{-960,2862,3}, {-972,2863,3},{-975,2867,3},{-978,2870,3},{-982,2867,3},{-995,2863,3},{-1015,2862,3}, {-1022,2857,3},{-1030,2863,3},{-1037,2862,3},{-1043,2865,3},{-1052,2863,3}, {-1057,2867,3},{-1062,2867,3},{-1065,2870,3},{-1068,2867,3},{-1072,2867,3}, {-1072,2862,3},{-1083,2855,3},{-1093,2855,3},{-1108,2848,3},{-1117,2848,3}, {-1123,2847,3},{-1128,2843,3},{-1135,2843,3},{-1145,2837,3},{-1155,2837,3}, {-1167,2843,3},{-1168,2842,3},{-1172,2845,3},{-1178,2845,3},{-1182,2848,3}, {-1187,2850,3},{-1187,2853,3},{-1190,2855,3},{-1192,2857,3},{-1192,2860,3}, {-1195,2862,3},{-1198,2868,3},{-1198,2875,3},{-1205,2877,3},{-1207,2880,3}, {-1213,2885,3},{-1220,2893,3},{-1230,2900,3},{-1238,2903,3},{-1237,2910,3}, {-1238,2910,3},{-1240,2910,3},{-1238,2913,3},{-1237,2918,3},{-1238,2923,3}, {-1237,2925,3},{-1238,2928,3},{-1242,2930,3},{-1242,2938,3},{-1243,2940,3}, {-1245,2947,3},{-1247,2948,3},{-1243,2953,3},{-1238,2952,3},{-1240,2948,3}, {-1238,2948,3},{-1235,2945,3},{-1223,2948,3},{-1222,2955,3},{-1218,2957,3}, {-1220,2960,3},{-1222,2963,3},{-1218,2972,3},{-1215,2975,3},{-1215,2980,3}, {-1222,2980,3},{-1227,2980,3},{-1232,2980,3},{-1238,2980,3},{-1243,2980,3}, {-1248,2980,3},{-1253,2980,3},{-1260,2980,3},{-1265,2980,3},{-1270,2980,3}, {-1277,2980,3},{-1282,2980,3},{-1287,2980,3},{-1292,2980,3},{-1298,2980,3}, {-1303,2980,3},{-1308,2980,3},{-1315,2980,3},{-1320,2980,3},{-1325,2980,3}, {-1330,2980,3},{-1337,2980,3},{-1342,2980,3},{-1345,2980,3},{-1345,2972,3}, {-1342,2963,3},{-1337,2962,3},{-1335,2965,3},{-1332,2965,3},{-1330,2968,3}, {-1327,2968,3},{-1325,2968,3},{-1325,2963,3},{-1322,2958,3},{-1323,2955,3}, {-1330,2947,3},{-1333,2938,3},{-1335,2937,3},{-1335,2933,3},{-1337,2930,3}, {-1340,2923,3},{-1343,2920,3},{-1343,2918,3},{-1340,2917,3},{-1338,2915,3}, {-1340,2902,3},{-1335,2897,3},{-1317,2892,3},{-1313,2888,3},{-1310,2887,3}, {-1308,2885,3},{-1305,2885,3},{-1303,2883,3},{-1298,2882,3},{-1297,2877,3}, {-1290,2873,3},{-1285,2868,3},{-1285,2863,3},{-1290,2858,3},{-1288,2857,3}, {-1282,2857,3},{-1278,2852,3},{-1275,2850,3},{-1272,2850,3},{-1270,2853,3}, {-1267,2853,3},{-1262,2848,3},{-1252,2845,3},{-1243,2835,3},{-1243,2823,3}, {-1240,2820,3},{-1243,2815,3},{-1238,2812,3},{-1237,2803,3},{-1237,2798,3}, {-1232,2797,3},{-1225,2787,3},{-1225,2783,3},{-1228,2782,3},{-1230,2778,3}, {-1230,2767,3},{-1227,2763,3},{-1222,2757,3},{-1217,2753,3},{-1207,2750,3}, {-1198,2748,3},{-1195,2747,3},{-1178,2723,3},{-1162,2722,3},{-1157,2720,3}, {-1158,2715,3},{-1160,2703,3},{-1170,2705,3},{-1175,2700,3},{-1185,2700,3}, {-1190,2697,3},{-1197,2690,3},{-1197,2687,3},{-1197,2678,3},{-1202,2672,3}, {-1198,2667,3},{-1195,2650,3},{-1192,2647,3},{-1192,2645,3},{-1192,2637,3}, {-1193,2632,3},{-1193,2628,3},{-1193,2625,3},{-1190,2620,3},{-1190,2598,3}, {-1185,2597,3},{-1182,2590,3},{-1178,2587,3},{-1180,2583,3},{-1178,2573,3}, {-1172,2563,3},{-1173,2558,3},{-1175,2558,3},{-1175,2555,3},{-1178,2552,3}, {-1177,2550,3},{-1175,2550,3},{-1172,2550,3},{-1167,2543,3},{-1165,2540,3}, {-1163,2537,3},{-1155,2532,3},{-1150,2532,3},{-1147,2533,3},{-1138,2528,3}, {-1135,2530,3},{-1135,2532,3},{-1130,2530,3},{-1128,2535,3},{-1125,2533,3}, {-1120,2535,3},{-1120,2533,3},{-1125,2518,3},{-1127,2497,3},{-1128,2488,3}, {-1132,2482,3},{-1132,2475,3},{-1133,2470,3},{-1138,2465,3},{-1140,2460,3}, {-1143,2458,3},{-1147,2452,3},{-1147,2445,3},{-1142,2438,3},{-1140,2432,3}, {-1138,2430,3},{-1137,2430,3},{-1135,2437,3},{-1128,2442,3},{-1120,2442,3}, {-1117,2438,3},{-1112,2440,3},{-1105,2432,3},{-1105,2425,3},{-1103,2420,3}, {-1103,2415,3},{-1102,2413,3},{-1098,2415,3},{-1095,2413,3},{-1092,2413,3}, {-1088,2407,3},{-1087,2398,3},{-1088,2397,3},{-1093,2395,3},{-1097,2390,3}, {-1102,2388,3},{-1103,2385,3},{-1100,2377,3},{-1102,2367,3},{-1097,2348,3}, {-1098,2337,3},{-1108,2322,3},{-1108,2315,3},{-1110,2308,3},{-1110,2295,3}, {-1107,2290,3},{-1105,2287,3},{-1110,2278,3},{-1110,2272,3},{-1107,2265,3}, {-1103,2260,3},{-1103,2253,3},{-1105,2252,3},{-1113,2248,3},{-1118,2233,3}, {-1123,2230,3},{-1125,2225,3},{-1125,2223,3},{-1118,2227,3},{-1107,2225,3}, {-1098,2218,3},{-1095,2220,3},{-1087,2217,3},{-1082,2220,3},{-1078,2230,3}, {-1075,2232,3},{-1070,2232,3},{-1067,2230,3},{-1053,2230,3},{-1050,2227,3}, {-1042,2230,3},{-1037,2232,3},{-1030,2227,3},{-1027,2227,3},{-1015,2220,3}, {-1005,2220,3},{-1000,2217,3},{-993,2217,3},{-990,2210,3},{-987,2208,3}, {-988,2207,3},{-987,2205,3},{-985,2202,3},{-978,2198,3},{-975,2198,3},{-975,2195,3}, {-973,2195,3},{-967,2187,3},{-962,2185,3},{-945,2182,3},{-940,2178,3},{-923,2185,3}, {-908,2183,3},{-903,2185,3},{-883,2187,3},{-877,2188,3},{-863,2190,3},{-860,2193,3}, {-858,2192,3},{-855,2193,3},{-848,2193,3},{-842,2193,3},{-835,2190,3},{-832,2192,3}, {-828,2188,3},{-815,2187,3},{-812,2182,3},{-805,2180,3},{-800,2175,3},{-793,2175,3}, {-788,2177,3},{-785,2177,3},{-778,2177,3},{-758,2185,3},{-753,2183,3},{-748,2187,3}, {-745,2185,3},{-742,2185,3},{-740,2183,3},{-737,2183,3},{-728,2178,3},{-728,2173,3}, {-728,2167,3},{-728,2162,3},{-728,2157,3},{-728,2150,3},{-728,2145,3},{-728,2140,3}, {-728,2133,3},{-728,2128,3},{-728,2123,3},{-728,2117,3},{-728,2112,3},{-728,2107,3}, {-728,2100,3},{-728,2095,3},{-728,2090,3},{-728,2083,3},{-728,2078,3},{-728,2073,3}, {-728,2067,3},{-728,2062,3},{-728,2053,3},{-723,2053,3},{-712,2055,3},{-707,2057,3}, {-692,2063,3},{-692,2058,3},{-692,2033,3},{-700,2032,3},{-700,2027,3},{-700,2020,3}, {-700,2015,3},{-700,2010,3},{-700,2003,3},{-700,1998,3},{-700,1993,3},{-700,1987,3}, {-700,1982,3},{-700,1977,3},{-700,1970,3},{-700,1965,3},{-700,1960,3},{-700,1955,3}, {-705,1957,3},{-710,1953,3},{-715,1950,3},{-727,1948,3},{-737,1950,3},{-747,1953,3}, {-748,1953,3},{-752,1948,3},{-757,1947,3},{-758,1937,3},{-768,1940,3},{-788,1935,3}, {-800,1937,3},{-800,1932,3},{-800,1927,3},{-800,1920,3},{-800,1915,3},{-800,1910,3}, {-800,1903,3},{-800,1898,3},{-800,1893,3},{-800,1890,3},{-800,1880,3},{-797,1877,3}, {-793,1877,3},{-793,1868,3},{-793,1853,3},{-795,1852,3},{-800,1853,3},{-800,1842,3}, {-802,1838,3},{-800,1833,3},{-800,1820,3},{-803,1812,3},{-810,1812,3},{-810,1800,3}, {-805,1795,3},{-805,1790,3},{-805,1785,3},{-808,1780,3},{-807,1773,3},{-810,1763,3}, {-808,1753,3},{-807,1752,3},{-803,1755,3},{-802,1755,3},{-800,1750,3},{-795,1748,3}, {-795,1747,3},{-793,1747,3},{-792,1743,3},{-788,1745,3},{-787,1742,3},{-785,1742,3}, {-785,1738,3},{-783,1740,3},{-782,1737,3},{-778,1737,3},{-778,1733,3},{-775,1732,3}, {-772,1732,3},{-772,1730,3},{-770,1730,3},{-770,1728,3},{-763,1728,3},{-758,1722,3}, {-752,1718,3},{-747,1715,3},{-745,1715,3},{-745,1718,3},{-743,1718,3},{-742,1715,3}, {-742,1713,3},{-743,1712,3},{-742,1710,3},{-735,1710,3},{-730,1700,3},{-725,1698,3}, {-720,1695,3},{-717,1695,3},{-715,1693,3},{-708,1692,3},{-707,1693,3},{-707,1697,3}, {-702,1697,3},{-698,1695,3},{-697,1692,3},{-690,1693,3},{-687,1690,3},{-685,1687,3}, {-682,1687,3},{-678,1683,3},{-672,1682,3},{-668,1678,3},{-660,1677,3},{-657,1673,3}, {-653,1675,3},{-650,1672,3},{-647,1672,3},{-647,1670,3},{-642,1672,3},{-640,1668,3}, {-637,1670,3},{-635,1668,3},{-635,1672,3},{-633,1672,3},{-628,1670,3},{-620,1672,3}, {-617,1672,3},{-613,1668,3},{-612,1665,3},{-610,1663,3},{-608,1662,3},{-607,1663,3}, {-607,1660,3},{-598,1660,3},{-598,1658,3},{-597,1658,3},{-592,1660,3},{-590,1658,3}, {-588,1652,3},{-590,1643,3},{-588,1640,3},{-585,1637,3},{-585,1632,3},{-585,1622,3}, {-585,1617,3},{-587,1612,3},{-587,1605,3},{-587,1600,3},{-587,1595,3},{-587,1588,3}, {-587,1582,3},{-587,1577,3},{-587,1572,3},{-585,1567,3},{-585,1562,3},{-585,1555,3}, {-587,1550,3},{-587,1545,3},{-587,1538,3},{-587,1533,3},{-587,1528,3},{-587,1522,3}, {-587,1517,3},{-587,1512,3},{-587,1505,3},{-587,1500,3},{-587,1495,3},{-587,1490,3}, {-587,1483,3},{-588,1478,3},{-587,1470,3},{-590,1460,3},{-588,1450,3},{-590,1447,3}, {-588,1425,3},{-587,1418,3},{-588,1403,3},{-583,1398,3},{-587,1377,3},{-587,1353,3}, {-585,1345,3},{-587,1338,3},{-588,1333,3},{-587,1325,3},{-585,1318,3},{222,1620,131}, {225,1618,3},{227,1618,3},{242,1612,3},{247,1612,3},{252,1608,3},{258,1612,3}, {265,1610,3},{270,1612,3},{270,1608,3},{275,1608,3},{278,1607,3},{282,1612,3}, {290,1610,3},{298,1605,3},{298,1600,3},{305,1598,3},{310,1593,3},{312,1590,3}, {310,1582,3},{333,1560,3},{368,1525,3},{392,1508,3},{403,1505,3},{402,1512,3}, {405,1515,3},{405,1518,3},{407,1518,3},{407,1515,3},{410,1513,3},{413,1510,3}, {430,1508,3},{437,1503,3},{442,1502,3},{453,1480,3},{462,1473,3},{477,1470,3}, {480,1472,3},{485,1470,3},{488,1472,3},{495,1468,3},{498,1470,3},{502,1467,3}, {503,1468,3},{510,1468,3},{512,1468,3},{518,1467,3},{522,1465,3},{525,1458,3}, {530,1453,3},{538,1458,3},{542,1460,3},{545,1460,3},{552,1462,3},{560,1458,3}, {572,1463,3},{590,1462,3},{592,1460,3},{593,1458,3},{590,1455,3},{592,1448,3}, {597,1447,3},{600,1442,3},{605,1442,3},{608,1443,3},{610,1447,3},{613,1448,3}, {613,1452,3},{615,1452,3},{620,1455,3},{618,1458,3},{627,1473,3},{633,1480,3}, {635,1480,3},{638,1480,3},{673,1497,3},{675,1500,3},{678,1507,3},{683,1507,3}, {697,1513,3},{705,1515,3},{710,1520,3},{718,1520,3},{723,1523,3},{730,1530,3}, {732,1535,3},{735,1537,3},{737,1542,3},{740,1542,3},{740,1547,3},{743,1543,3}, {753,1550,3},{752,1568,3},{752,1572,3},{747,1573,3},{745,1578,3},{750,1597,3}, {753,1602,3},{758,1603,3},{760,1608,3},{762,1622,3},{767,1632,3},{768,1640,3}, {770,1640,3},{780,1642,3},{778,1647,3},{785,1650,3},{787,1657,3},{778,1657,3}, {777,1662,3},{773,1663,3},{768,1663,3},{765,1670,3},{760,1675,3},{755,1678,3}, {755,1682,3},{757,1685,3},{757,1688,3},{760,1687,3},{763,1687,3},{765,1700,3}, {767,1702,3},{767,1707,3},{770,1707,3},{768,1713,3},{777,1718,3},{777,1720,3}, {777,1722,3},{780,1723,3},{783,1727,3},{783,1730,3},{788,1738,3},{787,1742,3}, {790,1743,3},{790,1745,3},{788,1748,3},{793,1752,3},{793,1758,3},{797,1763,3}, {798,1763,3},{795,1788,3},{802,1805,3},{803,1858,3},{808,1863,3},{813,1863,3}, {820,1867,3},{822,1870,3},{825,1880,3},{828,1883,3},{832,1887,3},{833,1887,3}, {835,1888,3},{843,1893,3},{853,1905,3},{860,1907,3},{867,1913,3},{870,1912,3}, {872,1907,3},{875,1903,3},{877,1898,3},{880,1895,3},{880,1893,3},{885,1890,3}, {883,1888,3},{885,1887,3},{888,1888,3},{893,1897,3},{897,1898,3},{902,1908,3}, {900,1917,3},{902,1920,3},{902,1925,3},{900,1928,3},{902,1930,3},{900,1938,3}, {902,1942,3},{900,1947,3},{900,1955,3},{903,1958,3},{902,1968,3},{903,1977,3}, {905,1983,3},{903,1990,3},{907,1992,3},{907,1995,3},{908,1995,3},{908,1998,3}, {910,2002,3},{908,2003,3},{912,2003,3},{913,2007,3},{913,2010,3},{915,2010,3}, {912,2015,3},{913,2020,3},{912,2025,3},{910,2033,3},{910,2037,3},{913,2042,3}, {913,2043,3},{920,2048,3},{922,2052,3},{927,2050,3},{928,2053,3},{932,2053,3}, {930,2060,3},{930,2067,3},{933,2065,3},{937,2068,3},{938,2077,3},{940,2077,3}, {942,2082,3},{948,2083,3},{952,2090,3},{960,2095,3},{960,2098,3},{963,2098,3}, {963,2100,3},{968,2100,3},{972,2102,3},{975,2102,3},{977,2105,3},{975,2107,3}, {977,2110,3},{983,2113,3},{987,2117,3},{988,2120,3},{993,2122,3},{998,2127,3}, {995,2133,3},{997,2137,3},{1005,2143,3},{1012,2145,3},{1020,2153,3},{1022,2163,3}, {1023,2167,3},{1028,2168,3},{1028,2172,3},{1037,2172,3},{1040,2175,3},{1045,2173,3}, {1052,2170,3},{1063,2172,3},{1065,2177,3},{1067,2178,3},{1068,2182,3},{1067,2185,3}, {1072,2190,3},{1073,2195,3},{1073,2200,3},{1080,2200,3},{1082,2202,3},{1083,2205,3}, {1083,2210,3},{1082,2218,3},{1087,2220,3},{1092,2225,3},{1090,2228,3},{1093,2232,3}, {1095,2237,3},{1095,2240,3},{1098,2243,3},{1100,2247,3},{1100,2252,3},{1097,2255,3}, {1098,2260,3},{1097,2265,3},{1095,2277,3},{1088,2288,3},{1070,2302,3},{1062,2313,3}, {1048,2325,3},{1047,2330,3},{1042,2333,3},{1037,2337,3},{1033,2338,3},{1028,2342,3}, {1025,2343,3},{1020,2347,3},{1015,2350,3},{1012,2352,3},{1007,2355,3},{1003,2357,3}, {998,2360,3},{992,2363,3},{987,2367,3},{983,2367,3},{977,2368,3},{972,2368,3}, {967,2370,3},{960,2367,3},{957,2363,3},{953,2362,3},{952,2363,3},{945,2363,3}, {943,2367,3},{933,2363,3},{928,2365,3},{918,2357,3},{917,2350,3},{902,2345,3}, {898,2347,3},{897,2350,3},{897,2353,3},{900,2357,3},{900,2358,3},{890,2358,3}, {878,2350,3},{872,2352,3},{873,2363,3},{872,2367,3},{870,2373,3},{873,2382,3}, {870,2388,3},{872,2393,3},{870,2397,3},{870,2400,3},{870,2402,3},{868,2413,3}, {870,2417,3},{868,2420,3},{870,2425,3},{867,2425,3},{863,2423,3},{858,2427,3}, {855,2423,3},{847,2417,3},{838,2415,3},{832,2418,3},{828,2423,3},{827,2432,3}, {825,2435,3},{827,2440,3},{827,2447,3},{823,2448,3},{820,2453,3},{822,2463,3}, {820,2473,3},{818,2477,3},{817,2485,3},{803,2490,3},{802,2493,3},{797,2497,3}, {793,2505,3},{790,2508,3},{790,2515,3},{790,2518,3},{787,2522,3},{778,2528,3}, {768,2530,3},{760,2522,3},{750,2520,3},{747,2525,3},{747,2530,3},{742,2535,3}, {735,2537,3},{727,2548,3},{725,2557,3},{722,2563,3},{717,2568,3},{717,2577,3}, {710,2583,3},{708,2592,3},{702,2597,3},{698,2603,3},{692,2607,3},{687,2613,3}, {670,2628,3},{667,2635,3},{665,2642,3},{662,2642,3},{660,2637,3},{657,2635,3}, {652,2637,3},{647,2632,3},{642,2633,3},{637,2633,3},{633,2635,3},{632,2640,3}, {628,2642,3},{628,2650,3},{622,2653,3},{620,2658,3},{615,2658,3},{610,2652,3}, {608,2650,3},{607,2653,3},{608,2658,3},{603,2662,3},{598,2667,3},{600,2675,3}, {598,2683,3},{588,2692,3},{585,2702,3},{578,2708,3},{578,2713,3},{572,2720,3}, {567,2723,3},{562,2723,3},{555,2730,3},{548,2727,3},{542,2727,3},{533,2730,3}, {527,2732,3},{513,2745,3},{508,2748,3},{503,2748,3},{502,2745,3},{502,2743,3}, {507,2743,3},{508,2740,3},{510,2733,3},{512,2732,3},{515,2722,3},{520,2715,3}, {520,2708,3},{513,2693,3},{503,2687,3},{505,2683,3},{503,2680,3},{508,2677,3}, {510,2673,3},{508,2668,3},{507,2667,3},{508,2663,3},{507,2662,3},{508,2662,3}, {508,2658,3},{505,2655,3},{505,2650,3},{507,2647,3},{510,2645,3},{515,2638,3}, {513,2637,3},{515,2635,3},{513,2632,3},{515,2628,3},{517,2625,3},{518,2625,3}, {520,2622,3},{523,2620,3},{523,2615,3},{525,2615,3},{525,2613,3},{523,2612,3}, {523,2608,3},{520,2610,3},{520,2605,3},{518,2603,3},{520,2602,3},{522,2600,3}, {523,2597,3},{520,2595,3},{520,2593,3},{520,2592,3},{517,2592,3},{517,2590,3}, {522,2588,3},{522,2585,3},{520,2583,3},{522,2580,3},{523,2582,3},{523,2580,3}, {527,2580,3},{527,2578,3},{527,2577,3},{525,2577,3},{525,2575,3},{527,2572,3}, {528,2572,3},{532,2565,3},{530,2563,3},{532,2560,3},{533,2562,3},{533,2558,3}, {537,2558,3},{538,2555,3},{535,2553,3},{533,2550,3},{535,2548,3},{535,2547,3}, {533,2547,3},{532,2542,3},{533,2540,3},{532,2537,3},{530,2538,3},{528,2535,3}, {518,2532,3},{517,2532,3},{515,2535,3},{512,2535,3},{508,2532,3},{505,2532,3}, {502,2528,3},{500,2518,3},{502,2513,3},{495,2507,3},{498,2498,3},{497,2488,3}, {493,2487,3},{493,2482,3},{492,2478,3},{492,2477,3},{492,2473,3},{492,2472,3}, {492,2465,3},{495,2467,3},{498,2462,3},{503,2460,3},{503,2457,3},{508,2453,3}, {510,2447,3},{510,2443,3},{507,2443,3},{512,2440,3},{510,2438,3},{505,2435,3}, {505,2440,3},{503,2440,3},{502,2438,3},{500,2437,3},{500,2428,3},{498,2427,3}, {493,2427,3},{493,2425,3},{497,2423,3},{493,2418,3},{490,2415,3},{492,2410,3}, {490,2407,3},{485,2398,3},{487,2395,3},{485,2393,3},{482,2395,3},{482,2388,3}, {482,2385,3},{482,2383,3},{482,2380,3},{478,2375,3},{477,2370,3},{473,2358,3}, {467,2350,3},{465,2345,3},{458,2343,3},{460,2333,3},{463,2330,3},{462,2327,3}, {465,2327,3},{467,2323,3},{473,2317,3},{470,2310,3},{472,2308,3},{473,2307,3}, {475,2302,3},{482,2298,3},{483,2297,3},{482,2293,3},{482,2288,3},{475,2288,3}, {473,2287,3},{470,2285,3},{472,2280,3},{472,2278,3},{465,2275,3},{462,2273,3}, {457,2272,3},{453,2270,3},{448,2268,3},{448,2260,3},{447,2260,3},{442,2258,3}, {437,2262,3},{433,2257,3},{428,2253,3},{422,2253,3},{415,2245,3},{413,2233,3}, {415,2220,3},{417,2217,3},{422,2210,3},{425,2200,3},{423,2195,3},{423,2187,3}, {427,2183,3},{427,2177,3},{430,2175,3},{430,2163,3},{425,2153,3},{427,2147,3}, {428,2135,3},{433,2128,3},{432,2125,3},{428,2123,3},{428,2122,3},{433,2112,3}, {440,2107,3},{443,2097,3},{445,2083,3},{443,2082,3},{442,2078,3},{442,2058,3}, {452,2045,3},{455,2043,3},{462,2045,3},{467,2040,3},{477,2035,3},{480,2023,3}, {487,2018,3},{492,2008,3},{498,2000,3},{500,1990,3},{508,1983,3},{513,1972,3}, {513,1962,3},{515,1955,3},{513,1950,3},{513,1942,3},{508,1937,3},{500,1923,3}, {497,1920,3},{493,1918,3},{493,1912,3},{490,1907,3},{483,1905,3},{480,1902,3}, {475,1900,3},{472,1895,3},{467,1893,3},{465,1890,3},{462,1888,3},{457,1883,3}, {447,1880,3},{440,1875,3},{437,1870,3},{435,1865,3},{437,1858,3},{432,1853,3}, {430,1853,3},{423,1858,3},{413,1863,3},{403,1865,3},{398,1865,3},{388,1862,3}, {373,1858,3},{348,1863,3},{348,1858,3},{360,1853,3},{363,1848,3},{360,1845,3}, {360,1840,3},{358,1840,3},{358,1837,3},{358,1827,3},{350,1823,3},{348,1820,3}, {348,1817,3},{355,1815,3},{357,1810,3},{357,1803,3},{353,1798,3},{358,1793,3}, {357,1793,3},{353,1787,3},{362,1783,3},{362,1777,3},{363,1773,3},{363,1772,3}, {363,1762,3},{372,1748,3},{368,1745,3},{367,1740,3},{362,1735,3},{363,1730,3}, {362,1725,3},{358,1723,3},{358,1715,3},{357,1712,3},{358,1708,3},{355,1705,3}, {353,1698,3},{355,1697,3},{357,1688,3},{353,1687,3},{352,1685,3},{352,1680,3}, {355,1677,3},{355,1670,3},{353,1667,3},{348,1658,3},{332,1655,3},{328,1653,3}, {325,1653,3},{315,1648,3},{307,1652,3},{300,1647,3},{292,1647,3},{288,1650,3}, {285,1650,3},{278,1647,3},{273,1645,3},{268,1643,3},{263,1640,3},{260,1638,3}, {255,1637,3},{250,1633,3},{245,1632,3},{240,1630,3},{235,1627,3},{230,1625,3}, {227,1623,3},{222,1620,3},{-2858,1648,131},{-2853,1660,3},{-2850,1662,3}, {-2847,1668,3},{-2850,1670,3},{-2850,1673,3},{-2845,1678,3},{-2840,1677,3}, {-2837,1680,3},{-2828,1677,3},{-2827,1677,3},{-2825,1678,3},{-2827,1682,3}, {-2822,1680,3},{-2822,1685,3},{-2820,1685,3},{-2818,1683,3},{-2817,1685,3}, {-2818,1688,3},{-2810,1688,3},{-2807,1692,3},{-2807,1695,3},{-2805,1698,3}, {-2807,1700,3},{-2803,1703,3},{-2803,1707,3},{-2805,1710,3},{-2810,1713,3}, {-2810,1718,3},{-2820,1718,3},{-2823,1722,3},{-2825,1723,3},{-2822,1732,3}, {-2823,1735,3},{-2830,1737,3},{-2835,1740,3},{-2840,1740,3},{-2843,1738,3}, {-2847,1732,3},{-2850,1735,3},{-2855,1737,3},{-2857,1740,3},{-2858,1742,3}, {-2868,1740,3},{-2872,1742,3},{-2870,1755,3},{-2868,1758,3},{-2870,1760,3}, {-2875,1760,3},{-2877,1763,3},{-2877,1767,3},{-2875,1770,3},{-2877,1772,3}, {-2875,1775,3},{-2878,1792,3},{-2880,1797,3},{-2887,1805,3},{-2892,1818,3}, {-2888,1822,3},{-2888,1833,3},{-2890,1838,3},{-2888,1847,3},{-2888,1850,3}, {-2887,1855,3},{-2883,1872,3},{-2887,1895,3},{-2893,1902,3},{-2893,1905,3}, {-2897,1912,3},{-2893,1918,3},{-2890,1923,3},{-2890,1928,3},{-2888,1930,3}, {-2885,1927,3},{-2880,1923,3},{-2875,1927,3},{-2873,1937,3},{-2870,1947,3}, {-2867,1950,3},{-2860,1952,3},{-2858,1953,3},{-2853,1957,3},{-2852,1965,3}, {-2852,1967,3},{-2850,1972,3},{-2848,1973,3},{-2850,1980,3},{-2848,1983,3}, {-2843,1987,3},{-2843,2000,3},{-2842,2000,3},{-2835,2000,3},{-2830,2000,3}, {-2825,2000,3},{-2818,2000,3},{-2813,2000,3},{-2808,2000,3},{-2802,2000,3}, {-2797,2000,3},{-2792,2000,3},{-2785,2000,3},{-2780,2000,3},{-2775,2000,3}, {-2770,2000,3},{-2763,2000,3},{-2758,2000,3},{-2753,2000,3},{-2747,2000,3}, {-2742,2000,3},{-2737,2000,3},{-2730,2000,3},{-2725,2000,3},{-2720,2000,3}, {-2713,2000,3},{-2708,2000,3},{-2703,2000,3},{-2698,2000,3},{-2692,2000,3}, {-2687,2000,3},{-2682,2000,3},{-2675,2000,3},{-2670,2000,3},{-2665,2000,3}, {-2658,2000,3},{-2653,2000,3},{-2648,2000,3},{-2642,2000,3},{-2637,2000,3}, {-2632,2000,3},{-2625,2000,3},{-2620,2000,3},{-2615,2000,3},{-2610,2000,3}, {-2603,2000,3},{-2598,2000,3},{-2593,2000,3},{-2587,2000,3},{-2582,2000,3}, {-2577,2000,3},{-2570,2000,3},{-2565,2000,3},{-2560,2000,3},{-2553,2000,3}, {-2548,2000,3},{-2543,2000,3},{-2537,2000,3},{-2532,2000,3},{-2527,2000,3}, {-2520,2000,3},{-2515,2000,3},{-2510,2000,3},{-2505,2000,3},{-2498,2000,3}, {-2493,2000,3},{-2488,2000,3},{-2482,2000,3},{-2477,2000,3},{-2488,2013,3}, {-2492,2025,3},{-2498,2030,3},{-2503,2038,3},{-2508,2040,3},{-2517,2047,3}, {-2520,2045,3},{-2523,2050,3},{-2527,2050,3},{-2528,2053,3},{-2532,2053,3}, {-2538,2057,3},{-2540,2062,3},{-2543,2062,3},{-2543,2063,3},{-2547,2063,3}, {-2547,2068,3},{-2547,2067,3},{-2548,2063,3},{-2553,2063,3},{-2557,2068,3}, {-2558,2068,3},{-2562,2065,3},{-2565,2068,3},{-2568,2068,3},{-2572,2073,3}, {-2578,2077,3},{-2583,2075,3},{-2582,2078,3},{-2585,2078,3},{-2588,2082,3}, {-2597,2083,3},{-2600,2082,3},{-2607,2082,3},{-2615,2087,3},{-2618,2082,3}, {-2625,2080,3},{-2632,2075,3},{-2635,2070,3},{-2638,2068,3},{-2645,2062,3}, {-2655,2060,3},{-2658,2063,3},{-2668,2060,3},{-2683,2065,3},{-2685,2068,3}, {-2690,2070,3},{-2687,2072,3},{-2687,2077,3},{-2682,2083,3},{-2680,2090,3}, {-2682,2097,3},{-2685,2100,3},{-2687,2110,3},{-2687,2115,3},{-2685,2123,3}, {-2685,2130,3},{-2682,2138,3},{-2683,2145,3},{-2685,2152,3},{-2685,2158,3}, {-2687,2162,3},{-2687,2167,3},{-2682,2175,3},{-2680,2177,3},{-2677,2178,3}, {-2670,2177,3},{-2668,2177,3},{-2667,2182,3},{-2667,2195,3},{-2663,2205,3}, {-2653,2213,3},{-2640,2220,3},{-2637,2223,3},{-2633,2225,3},{-2632,2235,3}, {-2628,2237,3},{-2627,2240,3},{-2623,2242,3},{-2620,2250,3},{-2622,2253,3}, {-2618,2257,3},{-2615,2257,3},{-2612,2262,3},{-2608,2263,3},{-2607,2267,3}, {-2602,2265,3},{-2600,2272,3},{-2592,2273,3},{-2588,2270,3},{-2587,2273,3}, {-2585,2273,3},{-2583,2277,3},{-2582,2277,3},{-2578,2273,3},{-2577,2275,3}, {-2573,2277,3},{-2567,2282,3},{-2565,2280,3},{-2562,2282,3},{-2562,2283,3}, {-2557,2282,3},{-2552,2285,3},{-2548,2283,3},{-2547,2288,3},{-2540,2292,3}, {-2537,2297,3},{-2533,2297,3},{-2532,2300,3},{-2530,2302,3},{-2530,2305,3}, {-2532,2307,3},{-2533,2308,3},{-2530,2310,3},{-2527,2322,3},{-2527,2330,3}, {-2530,2342,3},{-2528,2347,3},{-2533,2350,3},{-2533,2353,3},{-2538,2358,3}, {-2538,2362,3},{-2545,2368,3},{-2547,2375,3},{-2550,2377,3},{-2552,2382,3}, {-2557,2383,3},{-2558,2387,3},{-2562,2390,3},{-2563,2393,3},{-2562,2397,3}, {-2562,2400,3},{-2567,2400,3},{-2562,2413,3},{-2563,2417,3},{-2562,2418,3}, {-2570,2428,3},{-2572,2428,3},{-2572,2432,3},{-2575,2435,3},{-2577,2440,3}, {-2573,2445,3},{-2578,2458,3},{-2582,2463,3},{-2583,2470,3},{-2582,2473,3}, {-2583,2480,3},{-2582,2490,3},{-2573,2503,3},{-2573,2510,3},{-2575,2513,3}, {-2575,2535,3},{-2567,2552,3},{-2562,2558,3},{-2543,2568,3},{-2527,2573,3}, {-2522,2577,3},{-2492,2587,3},{-2473,2587,3},{-2475,2590,3},{-2472,2595,3}, {-2473,2598,3},{-2472,2602,3},{-2463,2627,3},{-2463,2642,3},{-2458,2647,3}, {-2450,2650,3},{-2443,2655,3},{-2440,2663,3},{-2435,2665,3},{-2432,2672,3}, {-2427,2685,3},{-2415,2687,3},{-2412,2687,3},{-2408,2688,3},{-2370,2697,3}, {-2368,2698,3},{-2367,2700,3},{-2363,2702,3},{-2367,2703,3},{-2368,2705,3}, {-2367,2707,3},{-2362,2707,3},{-2360,2710,3},{-2357,2712,3},{-2357,2715,3}, {-2353,2713,3},{-2353,2720,3},{-2350,2720,3},{-2347,2728,3},{-2340,2735,3}, {-2342,2738,3},{-2338,2740,3},{-2338,2742,3},{-2342,2743,3},{-2338,2745,3}, {-2338,2753,3},{-2333,2757,3},{-2327,2757,3},{-2323,2760,3},{-2323,2765,3}, {-2320,2770,3},{-2322,2772,3},{-2323,2775,3},{-2317,2778,3},{-2313,2777,3}, {-2313,2782,3},{-2310,2782,3},{-2308,2788,3},{-2305,2795,3},{-2295,2793,3}, {-2295,2797,3},{-2292,2803,3},{-2288,2805,3},{-2283,2805,3},{-2283,2808,3}, {-2280,2812,3},{-2278,2815,3},{-2270,2817,3},{-2267,2820,3},{-2265,2827,3}, {-2262,2830,3},{-2257,2837,3},{-2257,2845,3},{-2258,2853,3},{-2257,2857,3}, {-2257,2863,3},{-2252,2873,3},{-2248,2883,3},{-2247,2883,3},{-2245,2888,3}, {-2245,2892,3},{-2238,2897,3},{-2232,2897,3},{-2225,2902,3},{-2223,2902,3}, {-2222,2917,3},{-2220,2920,3},{-2218,2923,3},{-2218,2937,3},{-2217,2947,3}, {-2218,2953,3},{-2215,2955,3},{-2213,2958,3},{-2215,2962,3},{-2213,2963,3}, {-2212,2965,3},{-2213,2967,3},{-2213,2977,3},{-2218,2983,3},{-2218,2993,3}, {-2230,3012,3},{-2230,3025,3},{-2235,3030,3},{-2233,3040,3},{-2232,3048,3}, {-2232,3057,3},{-2232,3058,3},{-2233,3063,3},{-2230,3067,3},{-2228,3090,3}, {-2232,3103,3},{-2233,3108,3},{-2232,3117,3},{-2237,3120,3},{-2237,3127,3}, {-2242,3130,3},{-2248,3132,3},{-2253,3133,3},{-2258,3137,3},{-2265,3138,3}, {-2270,3140,3},{-2275,3142,3},{-2280,3143,3},{-2287,3145,3},{-2292,3147,3}, {-2297,3148,3},{-2302,3150,3},{-2308,3152,3},{-2313,3155,3},{-2318,3157,3}, {-2325,3155,3},{-2330,3155,3},{-2337,3155,3},{-2342,3153,3},{-2348,3155,3}, {-2362,3168,3},{-2368,3168,3},{-2385,3177,3},{-2393,3188,3},{-2417,3188,3}, {-2432,3197,3},{-2447,3202,3},{-2467,3200,3},{-2503,3202,3},{-2538,3202,3}, {-2542,3198,3},{-2552,3198,3},{-2553,3200,3},{-2565,3202,3},{-2567,3198,3}, {-2582,3192,3},{-2595,3197,3},{-2600,3188,3},{-2597,3182,3},{-2573,3142,3}, {-2575,3132,3},{-2592,3113,3},{-2595,3112,3},{-2610,3107,3},{-2623,3097,3}, {-2638,3083,3},{-2647,3080,3},{-2680,3082,3},{-2682,3082,3},{-2680,3087,3}, {-2677,3090,3},{-2680,3090,3},{-2683,3092,3},{-2688,3097,3},{-2690,3098,3}, {-2693,3098,3},{-2697,3097,3},{-2703,3098,3},{-2708,3105,3},{-2717,3115,3}, {-2730,3148,3},{-2728,3198,3},{-2727,3197,3},{-2712,3197,3},{-2693,3200,3}, {-2682,3200,3},{-2682,3208,3},{-2683,3213,3},{-2685,3218,3},{-2683,3223,3}, {-2687,3233,3},{-2685,3288,3},{-2712,3283,3},{-2717,3280,3},{-2725,3278,3}, {-2730,3277,3},{-2735,3275,3},{-2740,3272,3},{-2745,3270,3},{-2750,3268,3}, {-2755,3267,3},{-2760,3265,3},{-2765,3263,3},{-2770,3263,3},{-2777,3262,3}, {-2782,3260,3},{-2788,3258,3},{-2793,3260,3},{-2817,3255,3},{-2838,3243,3}, {-2840,3240,3},{-2840,3242,3},{-2843,3243,3},{-2853,3238,3},{-2863,3228,3}, {-2867,3223,3},{-2872,3218,3},{-2880,3210,3},{-2878,3205,3},{-2880,3200,3}, {-2882,3200,3},{-2883,3202,3},{-2882,3207,3},{-2888,3200,3},{-2893,3188,3}, {-2893,3183,3},{-2893,3177,3},{-2895,3178,3},{-2902,3172,3},{-2905,3167,3}, {-2908,3163,3},{-2913,3158,3},{-2917,3155,3},{-2920,3150,3},{-2925,3147,3}, {-2928,3143,3},{-2935,3137,3},{-2942,3132,3},{-2945,3128,3},{-2950,3123,3}, {-2955,3120,3},{-2958,3118,3},{-2965,3113,3},{-2968,3112,3},{-2973,3110,3}, {-2977,3107,3},{-2982,3105,3},{-2987,3105,3},{-2987,3102,3},{-2990,3100,3}, {-2988,3107,3},{-2990,3105,3},{-3008,3087,3},{-3033,3073,3},{-3048,3063,3}, {-3050,3062,3},{-3065,3052,3},{-3085,3040,3},{-3092,3032,3},{-3097,3030,3}, {-3118,3010,3},{-3128,3002,3},{-3142,2985,3},{-3145,2977,3},{-3155,2963,3}, {-3158,2963,3},{-3162,2955,3},{-3163,2953,3},{-3168,2940,3},{-3170,2942,3}, {-3173,2940,3},{-3175,2937,3},{-3178,2935,3},{-3180,2932,3},{-3195,2922,3}, {-3198,2915,3},{-3207,2910,3},{-3220,2895,3},{-3228,2887,3},{-3235,2878,3}, {-3238,2873,3},{-3245,2865,3},{-3247,2865,3},{-3253,2857,3},{-3257,2853,3}, {-3268,2837,3},{-3270,2837,3},{-3280,2813,3},{-3290,2807,3},{-3298,2793,3}, {-3303,2790,3},{-3312,2773,3},{-3320,2763,3},{-3325,2752,3},{-3328,2750,3}, {-3328,2747,3},{-3330,2747,3},{-3335,2738,3},{-3337,2733,3},{-3345,2722,3}, {-3350,2712,3},{-3353,2710,3},{-3357,2700,3},{-3358,2692,3},{-3363,2685,3}, {-3365,2673,3},{-3368,2665,3},{-3372,2663,3},{-3372,2658,3},{-3375,2653,3}, {-3377,2648,3},{-3377,2645,3},{-3375,2637,3},{-3377,2628,3},{-3372,2608,3}, {-3372,2598,3},{-3373,2585,3},{-3377,2572,3},{-3380,2568,3},{-3385,2563,3}, {-3393,2562,3},{-3400,2568,3},{-3403,2570,3},{-3403,2565,3},{-3405,2563,3}, {-3405,2557,3},{-3403,2548,3},{-3403,2540,3},{-3397,2523,3},{-3397,2503,3}, {-3400,2492,3},{-3408,2492,3},{-3413,2483,3},{-3417,2483,3},{-3418,2487,3}, {-3420,2483,3},{-3418,2480,3},{-3418,2470,3},{-3417,2465,3},{-3418,2460,3}, {-3417,2452,3},{-3410,2438,3},{-3410,2427,3},{-3405,2415,3},{-3403,2397,3}, {-3398,2368,3},{-3398,2355,3},{-3402,2340,3},{-3405,2337,3},{-3408,2337,3}, {-3412,2340,3},{-3408,2307,3},{-3405,2305,3},{-3403,2300,3},{-3408,2305,3}, {-3408,2300,3},{-3408,2297,3},{-3405,2280,3},{-3402,2278,3},{-3400,2280,3}, {-3398,2273,3},{-3403,2278,3},{-3403,2277,3},{-3400,2258,3},{-3400,2255,3}, {-3405,2247,3},{-3407,2240,3},{-3405,2230,3},{-3410,2215,3},{-3415,2212,3}, {-3418,2215,3},{-3422,2195,3},{-3427,2192,3},{-3430,2193,3},{-3433,2190,3}, {-3438,2180,3},{-3438,2165,3},{-3435,2153,3},{-3438,2143,3},{-3440,2142,3}, {-3443,2130,3},{-3437,2107,3},{-3437,2095,3},{-3440,2082,3},{-3442,2085,3}, {-3445,2087,3},{-3447,2085,3},{-3443,2067,3},{-3447,2050,3},{-3450,2043,3}, {-3457,2038,3},{-3462,2027,3},{-3468,2022,3},{-3468,2017,3},{-3473,2007,3}, {-3477,2005,3},{-3480,2005,3},{-3482,2000,3},{-3482,1997,3},{-3478,1990,3}, {-3475,1985,3},{-3475,1968,3},{-3478,1965,3},{-3472,1955,3},{-3467,1952,3}, {-3465,1945,3},{-3462,1942,3},{-3460,1938,3},{-3462,1930,3},{-3453,1937,3}, {-3447,1933,3},{-3442,1928,3},{-3443,1922,3},{-3440,1912,3},{-3437,1908,3}, {-3435,1912,3},{-3430,1913,3},{-3435,1908,3},{-3433,1900,3},{-3437,1897,3}, {-3435,1893,3},{-3438,1882,3},{-3435,1880,3},{-3433,1882,3},{-3430,1880,3}, {-3425,1885,3},{-3418,1882,3},{-3415,1885,3},{-3410,1882,3},{-3408,1877,3}, {-3407,1862,3},{-3410,1848,3},{-3413,1845,3},{-3417,1843,3},{-3423,1848,3}, {-3433,1847,3},{-3435,1848,3},{-3432,1842,3},{-3425,1838,3},{-3423,1838,3}, {-3418,1837,3},{-3417,1832,3},{-3413,1832,3},{-3412,1835,3},{-3407,1835,3}, {-3407,1833,3},{-3403,1832,3},{-3398,1837,3},{-3392,1837,3},{-3392,1847,3}, {-3388,1848,3},{-3385,1848,3},{-3377,1843,3},{-3370,1843,3},{-3363,1840,3}, {-3362,1837,3},{-3358,1833,3},{-3357,1832,3},{-3350,1832,3},{-3347,1830,3}, {-3342,1823,3},{-3335,1815,3},{-3333,1817,3},{-3322,1808,3},{-3318,1805,3}, {-3313,1797,3},{-3310,1795,3},{-3310,1800,3},{-3315,1803,3},{-3320,1810,3}, {-3320,1812,3},{-3318,1813,3},{-3315,1810,3},{-3310,1803,3},{-3303,1803,3}, {-3300,1798,3},{-3302,1795,3},{-3303,1795,3},{-3305,1792,3},{-3303,1790,3}, {-3302,1790,3},{-3300,1788,3},{-3293,1788,3},{-3292,1787,3},{-3287,1788,3}, {-3283,1785,3},{-3280,1790,3},{-3273,1790,3},{-3272,1792,3},{-3272,1795,3}, {-3270,1797,3},{-3273,1798,3},{-3278,1805,3},{-3278,1813,3},{-3268,1825,3}, {-3263,1828,3},{-3248,1833,3},{-3233,1832,3},{-3228,1835,3},{-3210,1830,3}, {-3205,1830,3},{-3195,1827,3},{-3190,1828,3},{-3183,1823,3},{-3175,1822,3}, {-3168,1818,3},{-3145,1800,3},{-3137,1792,3},{-3125,1785,3},{-3122,1780,3}, {-3103,1768,3},{-3092,1760,3},{-3080,1755,3},{-3075,1753,3},{-3068,1748,3}, {-3060,1745,3},{-3035,1728,3},{-3027,1727,3},{-3015,1720,3},{-2997,1715,3}, {-2983,1708,3},{-2968,1705,3},{-2957,1700,3},{-2953,1700,3},{-2937,1693,3}, {-2930,1688,3},{-2925,1687,3},{-2922,1685,3},{-2908,1682,3},{-2903,1675,3}, {-2898,1673,3},{-2890,1667,3},{-2887,1660,3},{-2877,1657,3},{-2872,1657,3}, {-2863,1647,3},{-2858,1648,3},{-2862,2870,131},{-2868,2872,3},{-2870,2878,3}, {-2875,2880,3},{-2877,2887,3},{-2888,2895,3},{-2892,2900,3},{-2890,2902,3}, {-2893,2907,3},{-2897,2907,3},{-2902,2918,3},{-2907,2923,3},{-2908,2933,3}, {-2915,2933,3},{-2917,2937,3},{-2935,2945,3},{-2938,2943,3},{-2943,2942,3}, {-2945,2935,3},{-2948,2930,3},{-2955,2930,3},{-2957,2932,3},{-2958,2930,3}, {-2962,2930,3},{-2963,2922,3},{-2967,2917,3},{-2970,2917,3},{-2972,2915,3}, {-2975,2913,3},{-2982,2912,3},{-2985,2915,3},{-2992,2917,3},{-2993,2912,3}, {-2995,2910,3},{-3008,2883,3},{-3010,2873,3},{-3013,2867,3},{-3012,2855,3}, {-3015,2848,3},{-3013,2842,3},{-3017,2838,3},{-3025,2832,3},{-3025,2825,3}, {-3028,2822,3},{-3033,2825,3},{-3037,2825,3},{-3040,2823,3},{-3045,2815,3}, {-3048,2817,3},{-3055,2815,3},{-3060,2810,3},{-3067,2810,3},{-3065,2807,3}, {-3063,2793,3},{-3060,2788,3},{-3062,2785,3},{-3060,2773,3},{-3052,2767,3}, {-3048,2762,3},{-3040,2757,3},{-3035,2747,3},{-3032,2747,3},{-3032,2745,3}, {-3032,2738,3},{-3030,2738,3},{-3025,2737,3},{-3022,2737,3},{-3013,2740,3}, {-3013,2733,3},{-3005,2730,3},{-3000,2723,3},{-2973,2710,3},{-2970,2707,3}, {-2968,2703,3},{-2963,2702,3},{-2962,2703,3},{-2963,2705,3},{-2960,2707,3}, {-2962,2708,3},{-2958,2712,3},{-2957,2720,3},{-2953,2730,3},{-2948,2732,3}, {-2948,2735,3},{-2945,2737,3},{-2940,2742,3},{-2937,2740,3},{-2933,2745,3}, {-2928,2747,3},{-2927,2752,3},{-2922,2752,3},{-2915,2760,3},{-2908,2765,3}, {-2907,2763,3},{-2907,2767,3},{-2903,2763,3},{-2903,2767,3},{-2900,2768,3}, {-2898,2772,3},{-2895,2772,3},{-2893,2775,3},{-2892,2775,3},{-2892,2788,3}, {-2887,2790,3},{-2885,2793,3},{-2888,2797,3},{-2888,2800,3},{-2888,2802,3}, {-2885,2802,3},{-2882,2807,3},{-2873,2812,3},{-2870,2817,3},{-2872,2820,3}, {-2870,2835,3},{-2863,2840,3},{-2862,2857,3},{-2857,2865,3},{-2862,2870,3}, {-2683,3213,131},{-2682,3208,3},{-2682,3200,3},{-2693,3200,3},{-2712,3197,3}, {-2727,3197,3},{-2728,3198,3},{-2730,3148,3},{-2717,3115,3},{-2708,3105,3}, {-2703,3098,3},{-2697,3097,3},{-2693,3098,3},{-2690,3098,3},{-2688,3097,3}, {-2683,3092,3},{-2680,3090,3},{-2677,3090,3},{-2680,3087,3},{-2682,3082,3}, {-2680,3082,3},{-2647,3080,3},{-2638,3083,3},{-2623,3097,3},{-2610,3107,3}, {-2595,3112,3},{-2592,3113,3},{-2575,3132,3},{-2573,3142,3},{-2597,3182,3}, {-2600,3188,3},{-2595,3197,3},{-2598,3200,3},{-2602,3208,3},{-2603,3207,3}, {-2617,3210,3},{-2627,3207,3},{-2640,3207,3},{-2650,3213,3},{-2683,3213,3}, {-2477,2000,131},{-2472,2000,3},{-2465,2000,3},{-2460,2000,3},{-2455,2000,3}, {-2448,2000,3},{-2443,2000,3},{-2438,2000,3},{-2432,2000,3},{-2427,2000,3}, {-2422,2000,3},{-2415,2000,3},{-2410,2000,3},{-2405,2000,3},{-2400,2000,3}, {-2393,2000,3},{-2388,2000,3},{-2383,2000,3},{-2377,2000,3},{-2372,2000,3}, {-2367,2000,3},{-2360,2000,3},{-2355,2000,3},{-2350,2000,3},{-2343,2000,3}, {-2338,2000,3},{-2333,2000,3},{-2327,2000,3},{-2322,2000,3},{-2317,2000,3}, {-2312,2000,3},{-2305,2000,3},{-2300,2000,3},{-2295,2000,3},{-2288,2000,3}, {-2283,2000,3},{-2278,2000,3},{-2272,2000,3},{-2267,2000,3},{-2262,2000,3}, {-2255,2000,3},{-2250,2000,3},{-2245,2000,3},{-2238,2000,3},{-2233,2000,3}, {-2228,2000,3},{-2223,2000,3},{-2217,2000,3},{-2212,2000,3},{-2207,2000,3}, {-2200,2000,3},{-2200,2005,3},{-2200,2012,3},{-2200,2017,3},{-2200,2023,3}, {-2200,2030,3},{-2200,2035,3},{-2200,2042,3},{-2200,2047,3},{-2200,2053,3}, {-2200,2058,3},{-2200,2065,3},{-2200,2072,3},{-2200,2077,3},{-2200,2083,3}, {-2200,2088,3},{-2200,2095,3},{-2200,2098,3},{-2200,2100,3},{-2195,2100,3}, {-2188,2100,3},{-2183,2100,3},{-2178,2100,3},{-2172,2100,3},{-2167,2100,3}, {-2162,2100,3},{-2155,2100,3},{-2150,2100,3},{-2145,2100,3},{-2138,2100,3}, {-2133,2100,3},{-2128,2100,3},{-2123,2100,3},{-2117,2100,3},{-2112,2100,3}, {-2107,2100,3},{-2100,2100,3},{-2095,2100,3},{-2090,2100,3},{-2083,2100,3}, {-2078,2100,3},{-2073,2100,3},{-2067,2100,3},{-2062,2100,3},{-2057,2100,3}, {-2052,2100,3},{-2045,2100,3},{-2040,2100,3},{-2035,2100,3},{-2028,2100,3}, {-2023,2100,3},{-2018,2100,3},{-2012,2100,3},{-2007,2100,3},{-2002,2100,3}, {-1997,2100,3},{-1990,2100,3},{-1985,2100,3},{-1980,2100,3},{-1973,2100,3}, {-1968,2100,3},{-1963,2100,3},{-1957,2100,3},{-1952,2100,3},{-1947,2100,3}, {-1942,2100,3},{-1935,2100,3},{-1930,2100,3},{-1925,2100,3},{-1918,2100,3}, {-1913,2100,3},{-1908,2100,3},{-1902,2100,3},{-1897,2100,3},{-1892,2100,3}, {-1887,2100,3},{-1880,2100,3},{-1875,2100,3},{-1870,2100,3},{-1863,2100,3}, {-1858,2100,3},{-1853,2100,3},{-1848,2100,3},{-1842,2100,3},{-1837,2100,3}, {-1832,2100,3},{-1832,2105,3},{-1832,2112,3},{-1832,2117,3},{-1832,2123,3}, {-1832,2130,3},{-1830,2137,3},{-1830,2147,3},{-1828,2157,3},{-1827,2162,3}, {-1827,2168,3},{-1825,2175,3},{-1823,2182,3},{-1823,2188,3},{-1822,2195,3}, {-1820,2200,3},{-1818,2207,3},{-1818,2213,3},{-1817,2220,3},{-1815,2227,3}, {-1815,2232,3},{-1813,2238,3},{-1812,2245,3},{-1812,2252,3},{-1810,2257,3}, {-1808,2263,3},{-1808,2270,3},{-1807,2277,3},{-1805,2283,3},{-1803,2288,3}, {-1803,2295,3},{-1802,2302,3},{-1800,2308,3},{-1800,2330,3},{-1802,2332,3}, {-1808,2333,3},{-1817,2340,3},{-1820,2340,3},{-1820,2345,3},{-1823,2347,3}, {-1823,2350,3},{-1827,2352,3},{-1830,2352,3},{-1833,2355,3},{-1835,2357,3}, {-1837,2355,3},{-1840,2357,3},{-1847,2357,3},{-1848,2362,3},{-1847,2365,3}, {-1843,2368,3},{-1843,2372,3},{-1827,2387,3},{-1825,2390,3},{-1820,2392,3}, {-1817,2400,3},{-1812,2405,3},{-1812,2410,3},{-1803,2418,3},{-1800,2423,3}, {-1803,2430,3},{-1795,2437,3},{-1795,2442,3},{-1805,2450,3},{-1805,2457,3}, {-1802,2462,3},{-1795,2465,3},{-1793,2470,3},{-1790,2473,3},{-1788,2477,3}, {-1787,2477,3},{-1783,2483,3},{-1782,2493,3},{-1780,2495,3},{-1778,2497,3}, {-1782,2498,3},{-1782,2500,3},{-1783,2502,3},{-1782,2505,3},{-1783,2505,3}, {-1783,2507,3},{-1783,2510,3},{-1780,2513,3},{-1778,2518,3},{-1780,2527,3}, {-1787,2523,3},{-1792,2523,3},{-1807,2532,3},{-1813,2540,3},{-1828,2548,3}, {-1840,2553,3},{-1848,2560,3},{-1850,2563,3},{-1857,2568,3},{-1862,2578,3}, {-1880,2582,3},{-1883,2585,3},{-1890,2595,3},{-1895,2597,3},{-1900,2598,3}, {-1907,2597,3},{-1910,2597,3},{-1920,2603,3},{-1928,2605,3},{-1953,2617,3}, {-1957,2625,3},{-1957,2630,3},{-1958,2633,3},{-1962,2635,3},{-1965,2633,3}, {-1967,2640,3},{-1973,2643,3},{-1975,2652,3},{-1978,2657,3},{-1985,2662,3}, {-1988,2670,3},{-1993,2673,3},{-1995,2682,3},{-2000,2693,3},{-2002,2698,3}, {-2000,2703,3},{-2002,2707,3},{-2007,2713,3},{-2007,2718,3},{-2010,2722,3}, {-2025,2728,3},{-2050,2728,3},{-2047,2733,3},{-2047,2747,3},{-2048,2757,3}, {-2047,2762,3},{-2048,2763,3},{-2048,2770,3},{-2052,2772,3},{-2057,2772,3}, {-2060,2770,3},{-2075,2773,3},{-2083,2772,3},{-2087,2770,3},{-2093,2768,3}, {-2098,2770,3},{-2107,2768,3},{-2113,2773,3},{-2117,2780,3},{-2122,2783,3}, {-2132,2792,3},{-2135,2792,3},{-2145,2797,3},{-2147,2795,3},{-2148,2798,3}, {-2150,2797,3},{-2152,2798,3},{-2157,2802,3},{-2158,2813,3},{-2160,2822,3}, {-2158,2828,3},{-2167,2850,3},{-2163,2857,3},{-2165,2865,3},{-2168,2868,3}, {-2175,2887,3},{-2177,2900,3},{-2180,2907,3},{-2183,2908,3},{-2188,2903,3}, {-2193,2903,3},{-2203,2907,3},{-2207,2912,3},{-2208,2918,3},{-2207,2925,3}, {-2212,2928,3},{-2218,2937,3},{-2218,2923,3},{-2220,2920,3},{-2222,2917,3}, {-2223,2902,3},{-2225,2902,3},{-2232,2897,3},{-2238,2897,3},{-2245,2892,3}, {-2245,2888,3},{-2247,2883,3},{-2248,2883,3},{-2252,2873,3},{-2257,2863,3}, {-2257,2857,3},{-2258,2853,3},{-2257,2845,3},{-2257,2837,3},{-2262,2830,3}, {-2265,2827,3},{-2267,2820,3},{-2270,2817,3},{-2278,2815,3},{-2280,2812,3}, {-2283,2808,3},{-2283,2805,3},{-2288,2805,3},{-2292,2803,3},{-2295,2797,3}, {-2295,2793,3},{-2305,2795,3},{-2308,2788,3},{-2310,2782,3},{-2313,2782,3}, {-2313,2777,3},{-2317,2778,3},{-2323,2775,3},{-2322,2772,3},{-2320,2770,3}, {-2323,2765,3},{-2323,2760,3},{-2327,2757,3},{-2333,2757,3},{-2338,2753,3}, {-2338,2745,3},{-2342,2743,3},{-2338,2742,3},{-2338,2740,3},{-2342,2738,3}, {-2340,2735,3},{-2347,2728,3},{-2350,2720,3},{-2353,2720,3},{-2353,2713,3}, {-2357,2715,3},{-2357,2712,3},{-2360,2710,3},{-2362,2707,3},{-2367,2707,3}, {-2368,2705,3},{-2367,2703,3},{-2363,2702,3},{-2367,2700,3},{-2368,2698,3}, {-2370,2697,3},{-2408,2688,3},{-2412,2687,3},{-2415,2687,3},{-2427,2685,3}, {-2432,2672,3},{-2435,2665,3},{-2440,2663,3},{-2443,2655,3},{-2450,2650,3}, {-2458,2647,3},{-2463,2642,3},{-2463,2627,3},{-2472,2602,3},{-2473,2598,3}, {-2472,2595,3},{-2475,2590,3},{-2473,2587,3},{-2492,2587,3},{-2522,2577,3}, {-2527,2573,3},{-2543,2568,3},{-2562,2558,3},{-2567,2552,3},{-2575,2535,3}, {-2575,2513,3},{-2573,2510,3},{-2573,2503,3},{-2582,2490,3},{-2583,2480,3}, {-2582,2473,3},{-2583,2470,3},{-2582,2463,3},{-2578,2458,3},{-2573,2445,3}, {-2577,2440,3},{-2575,2435,3},{-2572,2432,3},{-2572,2428,3},{-2570,2428,3}, {-2562,2418,3},{-2563,2417,3},{-2562,2413,3},{-2567,2400,3},{-2562,2400,3}, {-2562,2397,3},{-2563,2393,3},{-2562,2390,3},{-2558,2387,3},{-2557,2383,3}, {-2552,2382,3},{-2550,2377,3},{-2547,2375,3},{-2545,2368,3},{-2538,2362,3}, {-2538,2358,3},{-2533,2353,3},{-2533,2350,3},{-2528,2347,3},{-2530,2342,3}, {-2527,2330,3},{-2527,2322,3},{-2530,2310,3},{-2533,2308,3},{-2532,2307,3}, {-2530,2305,3},{-2530,2302,3},{-2532,2300,3},{-2533,2297,3},{-2537,2297,3}, {-2540,2292,3},{-2547,2288,3},{-2548,2283,3},{-2552,2285,3},{-2557,2282,3}, {-2562,2283,3},{-2562,2282,3},{-2565,2280,3},{-2567,2282,3},{-2573,2277,3}, {-2577,2275,3},{-2578,2273,3},{-2582,2277,3},{-2583,2277,3},{-2585,2273,3}, {-2587,2273,3},{-2588,2270,3},{-2592,2273,3},{-2600,2272,3},{-2602,2265,3}, {-2607,2267,3},{-2608,2263,3},{-2612,2262,3},{-2615,2257,3},{-2618,2257,3}, {-2622,2253,3},{-2620,2250,3},{-2623,2242,3},{-2627,2240,3},{-2628,2237,3}, {-2632,2235,3},{-2633,2225,3},{-2637,2223,3},{-2640,2220,3},{-2653,2213,3}, {-2663,2205,3},{-2667,2195,3},{-2667,2182,3},{-2668,2177,3},{-2670,2177,3}, {-2677,2178,3},{-2680,2177,3},{-2682,2175,3},{-2687,2167,3},{-2687,2162,3}, {-2685,2158,3},{-2685,2152,3},{-2683,2145,3},{-2682,2138,3},{-2685,2130,3}, {-2685,2123,3},{-2687,2115,3},{-2687,2110,3},{-2685,2100,3},{-2682,2097,3}, {-2680,2090,3},{-2682,2083,3},{-2687,2077,3},{-2687,2072,3},{-2690,2070,3}, {-2685,2068,3},{-2683,2065,3},{-2668,2060,3},{-2658,2063,3},{-2655,2060,3}, {-2645,2062,3},{-2638,2068,3},{-2635,2070,3},{-2632,2075,3},{-2625,2080,3}, {-2618,2082,3},{-2615,2087,3},{-2607,2082,3},{-2600,2082,3},{-2597,2083,3}, {-2588,2082,3},{-2585,2078,3},{-2582,2078,3},{-2583,2075,3},{-2578,2077,3}, {-2572,2073,3},{-2568,2068,3},{-2565,2068,3},{-2562,2065,3},{-2558,2068,3}, {-2557,2068,3},{-2553,2063,3},{-2548,2063,3},{-2547,2067,3},{-2547,2068,3}, {-2547,2063,3},{-2543,2063,3},{-2543,2062,3},{-2540,2062,3},{-2538,2057,3}, {-2532,2053,3},{-2528,2053,3},{-2527,2050,3},{-2523,2050,3},{-2520,2045,3}, {-2517,2047,3},{-2508,2040,3},{-2503,2038,3},{-2498,2030,3},{-2492,2025,3}, {-2488,2013,3},{-2477,2000,3},{-1725,1177,131},{-1723,1175,3},{-1702,1177,3}, {-1692,1178,3},{-1683,1177,3},{-1682,1182,3},{-1668,1182,3},{-1663,1182,3}, {-1647,1182,3},{-1610,1178,3},{-1600,1182,3},{-1587,1173,3},{-1583,1173,3}, {-1577,1175,3},{-1575,1177,3},{-1575,1183,3},{-1575,1185,3},{-1577,1183,3}, {-1578,1183,3},{-1577,1187,3},{-1572,1192,3},{-1565,1192,3},{-1560,1200,3}, {-1548,1203,3},{-1540,1203,3},{-1533,1205,3},{-1522,1205,3},{-1518,1210,3}, {-1518,1213,3},{-1517,1215,3},{-1512,1213,3},{-1513,1212,3},{-1510,1210,3}, {-1502,1215,3},{-1495,1217,3},{-1493,1218,3},{-1483,1220,3},{-1482,1223,3}, {-1475,1228,3},{-1468,1227,3},{-1467,1228,3},{-1448,1230,3},{-1438,1233,3}, {-1427,1235,3},{-1418,1232,3},{-1418,1233,3},{-1415,1235,3},{-1410,1233,3}, {-1405,1233,3},{-1403,1237,3},{-1398,1238,3},{-1395,1240,3},{-1388,1240,3}, {-1387,1245,3},{-1388,1248,3},{-1385,1250,3},{-1365,1252,3},{-1362,1252,3}, {-1357,1253,3},{-1355,1252,3},{-1352,1253,3},{-1343,1252,3},{-1340,1253,3}, {-1340,1257,3},{-1337,1260,3},{-1335,1263,3},{-1332,1265,3},{-1330,1263,3}, {-1325,1267,3},{-1325,1268,3},{-1322,1270,3},{-1323,1272,3},{-1320,1277,3}, {-1315,1278,3},{-1310,1285,3},{-1305,1288,3},{-1300,1293,3},{-1295,1297,3}, {-1283,1293,3},{-1278,1297,3},{-1260,1318,3},{-1262,1320,3},{-1262,1323,3}, {-1260,1325,3},{-1258,1327,3},{-1258,1330,3},{-1260,1332,3},{-1260,1337,3}, {-1250,1347,3},{-1243,1347,3},{-1237,1352,3},{-1232,1358,3},{-1233,1355,3}, {-1233,1358,3},{-1225,1365,3},{-1217,1367,3},{-1210,1370,3},{-1200,1372,3}, {-1193,1377,3},{-1180,1380,3},{-1158,1378,3},{-1138,1380,3},{-1133,1378,3}, {-1130,1382,3},{-1100,1385,3},{-1093,1383,3},{-1077,1372,3},{-1073,1373,3}, {-1070,1377,3},{-1068,1377,3},{-1048,1360,3},{-1040,1353,3},{-1035,1353,3}, {-1028,1352,3},{-1020,1345,3},{-1012,1342,3},{-1007,1337,3},{-997,1332,3}, {-995,1333,3},{-990,1333,3},{-983,1330,3},{-970,1318,3},{-968,1318,3},{-965,1322,3}, {-962,1322,3},{-957,1320,3},{-953,1320,3},{-947,1317,3},{-942,1317,3},{-933,1315,3}, {-908,1298,3},{-895,1303,3},{-887,1313,3},{-898,1303,3},{-905,1300,3},{-908,1302,3}, {-897,1308,3},{-895,1313,3},{-890,1315,3},{-887,1318,3},{-882,1318,3},{-878,1322,3}, {-877,1325,3},{-880,1322,3},{-883,1320,3},{-880,1323,3},{-878,1327,3},{-875,1328,3}, {-877,1335,3},{-873,1338,3},{-865,1340,3},{-860,1337,3},{-847,1335,3},{-847,1338,3}, {-838,1338,3},{-832,1337,3},{-823,1330,3},{-818,1328,3},{-817,1327,3},{-813,1327,3}, {-805,1320,3},{-793,1315,3},{-785,1310,3},{-780,1308,3},{-773,1305,3},{-770,1305,3}, {-760,1298,3},{-755,1298,3},{-747,1293,3},{-732,1288,3},{-725,1283,3},{-708,1283,3}, {-697,1280,3},{-693,1278,3},{-692,1280,3},{-690,1277,3},{-677,1267,3},{-665,1255,3}, {-638,1240,3},{-623,1235,3},{-610,1225,3},{-608,1225,3},{-605,1230,3},{-607,1230,3}, {-608,1227,3},{-610,1230,3},{-612,1228,3},{-608,1235,3},{-607,1248,3},{-605,1253,3}, {-605,1255,3},{-603,1257,3},{-603,1263,3},{-602,1267,3},{-600,1268,3},{-602,1270,3}, {-602,1280,3},{-597,1290,3},{-588,1297,3},{-588,1305,3},{-590,1310,3},{-585,1318,3}, {-587,1325,3},{-588,1333,3},{-587,1338,3},{-585,1345,3},{-587,1353,3},{-587,1377,3}, {-583,1398,3},{-588,1403,3},{-587,1418,3},{-588,1425,3},{-590,1447,3},{-588,1450,3}, {-590,1460,3},{-587,1470,3},{-588,1478,3},{-587,1483,3},{-587,1490,3},{-587,1495,3}, {-587,1500,3},{-587,1505,3},{-587,1512,3},{-587,1517,3},{-587,1522,3},{-587,1528,3}, {-587,1533,3},{-587,1538,3},{-587,1545,3},{-587,1550,3},{-585,1555,3},{-585,1562,3}, {-585,1567,3},{-587,1572,3},{-587,1577,3},{-587,1582,3},{-587,1588,3},{-587,1595,3}, {-587,1600,3},{-587,1605,3},{-587,1612,3},{-585,1617,3},{-585,1622,3},{-585,1632,3}, {-585,1637,3},{-588,1640,3},{-590,1643,3},{-588,1652,3},{-590,1658,3},{-592,1660,3}, {-597,1658,3},{-598,1658,3},{-598,1660,3},{-607,1660,3},{-607,1663,3},{-608,1662,3}, {-610,1663,3},{-612,1665,3},{-613,1668,3},{-617,1672,3},{-620,1672,3},{-628,1670,3}, {-633,1672,3},{-635,1672,3},{-635,1668,3},{-637,1670,3},{-640,1668,3},{-642,1672,3}, {-647,1670,3},{-647,1672,3},{-650,1672,3},{-653,1675,3},{-657,1673,3},{-660,1677,3}, {-668,1678,3},{-672,1682,3},{-678,1683,3},{-682,1687,3},{-685,1687,3},{-687,1690,3}, {-690,1693,3},{-697,1692,3},{-698,1695,3},{-702,1697,3},{-707,1697,3},{-707,1693,3}, {-708,1692,3},{-715,1693,3},{-717,1695,3},{-720,1695,3},{-725,1698,3},{-730,1700,3}, {-735,1710,3},{-742,1710,3},{-743,1712,3},{-742,1713,3},{-742,1715,3},{-743,1718,3}, {-745,1718,3},{-745,1715,3},{-747,1715,3},{-752,1718,3},{-758,1722,3},{-763,1728,3}, {-770,1728,3},{-770,1730,3},{-772,1730,3},{-772,1732,3},{-775,1732,3},{-778,1733,3}, {-778,1737,3},{-782,1737,3},{-783,1740,3},{-785,1738,3},{-785,1742,3},{-787,1742,3}, {-788,1745,3},{-792,1743,3},{-793,1747,3},{-795,1747,3},{-795,1748,3},{-800,1750,3}, {-802,1755,3},{-803,1755,3},{-807,1752,3},{-808,1753,3},{-810,1763,3},{-807,1773,3}, {-808,1780,3},{-805,1785,3},{-805,1790,3},{-805,1795,3},{-810,1800,3},{-810,1812,3}, {-803,1812,3},{-800,1820,3},{-800,1833,3},{-802,1838,3},{-800,1842,3},{-800,1853,3}, {-795,1852,3},{-793,1853,3},{-793,1868,3},{-793,1877,3},{-797,1877,3},{-800,1880,3}, {-800,1890,3},{-800,1893,3},{-800,1898,3},{-800,1903,3},{-800,1910,3},{-800,1915,3}, {-800,1920,3},{-800,1927,3},{-800,1932,3},{-800,1937,3},{-788,1935,3},{-768,1940,3}, {-758,1937,3},{-757,1947,3},{-752,1948,3},{-748,1953,3},{-747,1953,3},{-737,1950,3}, {-727,1948,3},{-715,1950,3},{-710,1953,3},{-705,1957,3},{-700,1955,3},{-700,1960,3}, {-700,1965,3},{-700,1970,3},{-700,1977,3},{-700,1982,3},{-700,1987,3},{-700,1993,3}, {-700,1998,3},{-700,2003,3},{-700,2010,3},{-700,2015,3},{-700,2020,3},{-700,2027,3}, {-700,2032,3},{-692,2033,3},{-692,2058,3},{-692,2063,3},{-707,2057,3},{-712,2055,3}, {-723,2053,3},{-728,2053,3},{-728,2062,3},{-728,2067,3},{-728,2073,3},{-728,2078,3}, {-728,2083,3},{-728,2090,3},{-728,2095,3},{-728,2100,3},{-728,2107,3},{-728,2112,3}, {-728,2117,3},{-728,2123,3},{-728,2128,3},{-728,2133,3},{-728,2140,3},{-728,2145,3}, {-728,2150,3},{-728,2157,3},{-728,2162,3},{-728,2167,3},{-728,2173,3},{-728,2178,3}, {-737,2183,3},{-740,2183,3},{-742,2185,3},{-745,2185,3},{-748,2187,3},{-753,2183,3}, {-758,2185,3},{-778,2177,3},{-785,2177,3},{-788,2177,3},{-793,2175,3},{-800,2175,3}, {-805,2180,3},{-812,2182,3},{-815,2187,3},{-828,2188,3},{-832,2192,3},{-835,2190,3}, {-842,2193,3},{-848,2193,3},{-855,2193,3},{-858,2192,3},{-860,2193,3},{-863,2190,3}, {-877,2188,3},{-883,2187,3},{-903,2185,3},{-908,2183,3},{-923,2185,3},{-940,2178,3}, {-945,2182,3},{-962,2185,3},{-967,2187,3},{-973,2195,3},{-975,2195,3},{-975,2198,3}, {-978,2198,3},{-985,2202,3},{-987,2205,3},{-988,2207,3},{-987,2208,3},{-990,2210,3}, {-993,2217,3},{-1000,2217,3},{-1005,2220,3},{-1015,2220,3},{-1027,2227,3}, {-1030,2227,3},{-1037,2232,3},{-1042,2230,3},{-1050,2227,3},{-1053,2230,3}, {-1067,2230,3},{-1070,2232,3},{-1075,2232,3},{-1078,2230,3},{-1082,2220,3}, {-1087,2217,3},{-1095,2220,3},{-1098,2218,3},{-1107,2225,3},{-1118,2227,3}, {-1125,2223,3},{-1125,2225,3},{-1123,2230,3},{-1118,2233,3},{-1113,2248,3}, {-1105,2252,3},{-1103,2253,3},{-1103,2260,3},{-1107,2265,3},{-1110,2272,3}, {-1110,2278,3},{-1105,2287,3},{-1107,2290,3},{-1110,2295,3},{-1110,2308,3}, {-1108,2315,3},{-1108,2322,3},{-1098,2337,3},{-1097,2348,3},{-1102,2367,3}, {-1100,2377,3},{-1103,2385,3},{-1102,2388,3},{-1097,2390,3},{-1093,2395,3}, {-1088,2397,3},{-1087,2398,3},{-1092,2398,3},{-1097,2402,3},{-1112,2400,3}, {-1113,2403,3},{-1128,2403,3},{-1140,2408,3},{-1145,2403,3},{-1153,2403,3}, {-1158,2400,3},{-1165,2397,3},{-1170,2400,3},{-1178,2400,3},{-1182,2402,3}, {-1188,2398,3},{-1220,2397,3},{-1227,2403,3},{-1238,2405,3},{-1255,2395,3}, {-1270,2392,3},{-1278,2388,3},{-1283,2390,3},{-1293,2400,3},{-1300,2402,3}, {-1300,2397,3},{-1300,2390,3},{-1300,2385,3},{-1300,2380,3},{-1300,2373,3}, {-1300,2368,3},{-1300,2363,3},{-1300,2357,3},{-1300,2352,3},{-1300,2345,3}, {-1300,2340,3},{-1300,2335,3},{-1300,2328,3},{-1300,2323,3},{-1300,2318,3}, {-1300,2312,3},{-1300,2307,3},{-1300,2300,3},{-1300,2295,3},{-1300,2290,3}, {-1300,2283,3},{-1300,2278,3},{-1300,2273,3},{-1300,2267,3},{-1300,2262,3}, {-1300,2257,3},{-1300,2250,3},{-1300,2245,3},{-1300,2238,3},{-1300,2233,3}, {-1300,2228,3},{-1300,2222,3},{-1300,2217,3},{-1300,2212,3},{-1300,2205,3}, {-1300,2200,3},{-1307,2200,3},{-1312,2200,3},{-1317,2200,3},{-1322,2200,3}, {-1325,2200,3},{-1327,2200,3},{-1333,2200,3},{-1338,2200,3},{-1343,2200,3}, {-1348,2200,3},{-1353,2200,3},{-1358,2200,3},{-1365,2200,3},{-1370,2200,3}, {-1375,2200,3},{-1380,2200,3},{-1385,2200,3},{-1390,2200,3},{-1395,2200,3}, {-1400,2200,3},{-1405,2200,3},{-1412,2200,3},{-1417,2200,3},{-1422,2200,3}, {-1427,2200,3},{-1432,2200,3},{-1437,2200,3},{-1442,2200,3},{-1447,2200,3}, {-1452,2200,3},{-1457,2200,3},{-1462,2200,3},{-1468,2200,3},{-1473,2200,3}, {-1478,2200,3},{-1483,2200,3},{-1488,2200,3},{-1493,2200,3},{-1498,2200,3}, {-1503,2200,3},{-1508,2200,3},{-1515,2200,3},{-1520,2200,3},{-1525,2200,3}, {-1530,2200,3},{-1535,2200,3},{-1540,2200,3},{-1545,2200,3},{-1550,2200,3}, {-1555,2200,3},{-1560,2200,3},{-1565,2200,3},{-1570,2200,3},{-1577,2200,3}, {-1582,2200,3},{-1587,2200,3},{-1592,2200,3},{-1597,2200,3},{-1602,2200,3}, {-1607,2200,3},{-1612,2200,3},{-1617,2200,3},{-1623,2207,3},{-1628,2208,3}, {-1633,2212,3},{-1648,2213,3},{-1657,2222,3},{-1657,2225,3},{-1660,2227,3}, {-1662,2230,3},{-1677,2248,3},{-1703,2273,3},{-1733,2307,3},{-1748,2320,3}, {-1763,2348,3},{-1763,2343,3},{-1765,2338,3},{-1765,2332,3},{-1767,2325,3}, {-1768,2320,3},{-1768,2313,3},{-1770,2308,3},{-1772,2302,3},{-1772,2297,3}, {-1773,2292,3},{-1775,2285,3},{-1775,2280,3},{-1777,2273,3},{-1778,2268,3}, {-1778,2262,3},{-1780,2257,3},{-1782,2250,3},{-1782,2245,3},{-1783,2238,3}, {-1783,2233,3},{-1785,2228,3},{-1787,2222,3},{-1787,2217,3},{-1788,2210,3}, {-1790,2205,3},{-1790,2198,3},{-1792,2193,3},{-1793,2187,3},{-1793,2182,3}, {-1795,2175,3},{-1795,2170,3},{-1797,2163,3},{-1798,2158,3},{-1798,2152,3}, {-1800,2147,3},{-1802,2142,3},{-1802,2137,3},{-1800,2135,3},{-1797,2125,3}, {-1792,2120,3},{-1797,2095,3},{-1800,2088,3},{-1802,2088,3},{-1802,2085,3}, {-1803,2082,3},{-1802,2078,3},{-1802,2077,3},{-1800,2075,3},{-1802,2072,3}, {-1798,2063,3},{-1798,2055,3},{-1797,2052,3},{-1795,2047,3},{-1792,2043,3}, {-1788,2032,3},{-1790,2023,3},{-1788,2017,3},{-1792,2010,3},{-1790,2008,3}, {-1788,1997,3},{-1787,1992,3},{-1788,1985,3},{-1788,1978,3},{-1790,1975,3}, {-1788,1973,3},{-1788,1970,3},{-1785,1967,3},{-1787,1955,3},{-1785,1933,3}, {-1783,1933,3},{-1783,1922,3},{-1782,1920,3},{-1783,1917,3},{-1782,1913,3}, {-1785,1912,3},{-1783,1895,3},{-1775,1875,3},{-1767,1867,3},{-1763,1862,3}, {-1760,1860,3},{-1758,1857,3},{-1757,1853,3},{-1753,1853,3},{-1748,1848,3}, {-1743,1845,3},{-1738,1840,3},{-1738,1835,3},{-1738,1828,3},{-1738,1823,3}, {-1738,1817,3},{-1738,1812,3},{-1738,1807,3},{-1738,1800,3},{-1738,1795,3}, {-1738,1790,3},{-1738,1783,3},{-1738,1778,3},{-1738,1772,3},{-1738,1767,3}, {-1738,1760,3},{-1738,1755,3},{-1740,1748,3},{-1740,1742,3},{-1740,1737,3}, {-1740,1732,3},{-1740,1725,3},{-1740,1720,3},{-1740,1713,3},{-1740,1708,3}, {-1740,1702,3},{-1740,1697,3},{-1740,1690,3},{-1740,1685,3},{-1738,1680,3}, {-1738,1673,3},{-1738,1668,3},{-1738,1662,3},{-1738,1657,3},{-1738,1650,3}, {-1738,1645,3},{-1738,1638,3},{-1738,1633,3},{-1738,1628,3},{-1738,1622,3}, {-1738,1617,3},{-1738,1610,3},{-1738,1605,3},{-1738,1598,3},{-1738,1593,3}, {-1738,1587,3},{-1738,1582,3},{-1738,1575,3},{-1738,1570,3},{-1738,1563,3}, {-1738,1558,3},{-1738,1553,3},{-1738,1547,3},{-1738,1542,3},{-1738,1535,3}, {-1738,1530,3},{-1738,1523,3},{-1738,1518,3},{-1738,1512,3},{-1738,1507,3}, {-1738,1500,3},{-1738,1495,3},{-1738,1490,3},{-1738,1483,3},{-1738,1478,3}, {-1738,1472,3},{-1738,1467,3},{-1738,1460,3},{-1738,1455,3},{-1738,1448,3}, {-1738,1443,3},{-1738,1438,3},{-1738,1432,3},{-1738,1427,3},{-1738,1420,3}, {-1742,1418,3},{-1743,1413,3},{-1743,1398,3},{-1737,1388,3},{-1727,1375,3}, {-1715,1352,3},{-1712,1352,3},{-1705,1347,3},{-1700,1337,3},{-1700,1322,3}, {-1698,1315,3},{-1698,1308,3},{-1698,1298,3},{-1707,1283,3},{-1713,1270,3}, {-1717,1262,3},{-1722,1258,3},{-1725,1245,3},{-1725,1242,3},{-1722,1240,3}, {-1722,1238,3},{-1723,1238,3},{-1725,1223,3},{-1722,1217,3},{-1718,1215,3}, {-1717,1203,3},{-1720,1193,3},{-1725,1187,3},{-1725,1183,3},{-1727,1182,3}, {-1725,1177,3},{-2858,1648,131},{-2862,1645,3},{-2857,1635,3},{-2843,1623,3}, {-2840,1618,3},{-2825,1603,3},{-2817,1590,3},{-2808,1582,3},{-2803,1575,3}, {-2795,1568,3},{-2787,1567,3},{-2773,1553,3},{-2768,1552,3},{-2765,1553,3}, {-2755,1547,3},{-2745,1540,3},{-2745,1537,3},{-2732,1530,3},{-2725,1528,3}, {-2722,1527,3},{-2717,1527,3},{-2708,1527,3},{-2703,1523,3},{-2697,1523,3}, {-2693,1522,3},{-2692,1518,3},{-2690,1515,3},{-2687,1517,3},{-2670,1508,3}, {-2665,1508,3},{-2663,1510,3},{-2663,1513,3},{-2668,1515,3},{-2660,1517,3}, {-2640,1508,3},{-2633,1497,3},{-2620,1497,3},{-2613,1493,3},{-2613,1498,3}, {-2605,1498,3},{-2598,1497,3},{-2592,1490,3},{-2585,1492,3},{-2580,1485,3}, {-2575,1483,3},{-2572,1485,3},{-2565,1485,3},{-2557,1488,3},{-2555,1488,3}, {-2547,1485,3},{-2543,1485,3},{-2537,1482,3},{-2528,1480,3},{-2518,1483,3}, {-2505,1485,3},{-2495,1480,3},{-2485,1480,3},{-2480,1478,3},{-2472,1473,3}, {-2457,1460,3},{-2453,1460,3},{-2450,1462,3},{-2445,1462,3},{-2425,1452,3}, {-2413,1447,3},{-2397,1445,3},{-2390,1452,3},{-2383,1452,3},{-2375,1448,3}, {-2360,1450,3},{-2342,1443,3},{-2335,1448,3},{-2338,1448,3},{-2333,1450,3}, {-2313,1445,3},{-2318,1467,3},{-2323,1475,3},{-2297,1467,3},{-2263,1468,3}, {-2263,1463,3},{-2268,1458,3},{-2268,1453,3},{-2255,1452,3},{-2228,1438,3}, {-2218,1430,3},{-2212,1428,3},{-2183,1402,3},{-2178,1395,3},{-2172,1397,3}, {-2160,1388,3},{-2148,1385,3},{-2135,1373,3},{-2125,1368,3},{-2113,1358,3}, {-2102,1352,3},{-2085,1340,3},{-2080,1338,3},{-2073,1338,3},{-2065,1335,3}, {-2047,1325,3},{-2030,1322,3},{-2018,1318,3},{-2013,1313,3},{-2007,1305,3}, {-1997,1302,3},{-1993,1300,3},{-1988,1297,3},{-1983,1295,3},{-1978,1292,3}, {-1973,1288,3},{-1968,1287,3},{-1965,1283,3},{-1960,1282,3},{-1955,1278,3}, {-1950,1275,3},{-1947,1273,3},{-1942,1270,3},{-1932,1268,3},{-1923,1263,3}, {-1910,1257,3},{-1905,1252,3},{-1900,1247,3},{-1893,1247,3},{-1872,1230,3}, {-1858,1213,3},{-1847,1202,3},{-1842,1200,3},{-1837,1200,3},{-1832,1197,3}, {-1825,1195,3},{-1808,1180,3},{-1797,1177,3},{-1787,1177,3},{-1782,1173,3}, {-1755,1172,3},{-1738,1173,3},{-1727,1175,3},{-1725,1177,3},{-1727,1182,3}, {-1725,1183,3},{-1725,1187,3},{-1720,1193,3},{-1717,1203,3},{-1718,1215,3}, {-1722,1217,3},{-1725,1223,3},{-1723,1238,3},{-1722,1238,3},{-1722,1240,3}, {-1725,1242,3},{-1725,1245,3},{-1722,1258,3},{-1717,1262,3},{-1713,1270,3}, {-1707,1283,3},{-1698,1298,3},{-1698,1308,3},{-1698,1315,3},{-1700,1322,3}, {-1700,1337,3},{-1705,1347,3},{-1712,1352,3},{-1715,1352,3},{-1727,1375,3}, {-1737,1388,3},{-1743,1398,3},{-1743,1413,3},{-1742,1418,3},{-1738,1420,3}, {-1738,1427,3},{-1738,1432,3},{-1738,1438,3},{-1738,1443,3},{-1738,1448,3}, {-1738,1455,3},{-1738,1460,3},{-1738,1467,3},{-1738,1472,3},{-1738,1478,3}, {-1738,1483,3},{-1738,1490,3},{-1738,1495,3},{-1738,1500,3},{-1738,1507,3}, {-1738,1512,3},{-1738,1518,3},{-1738,1523,3},{-1738,1530,3},{-1738,1535,3}, {-1738,1542,3},{-1738,1547,3},{-1738,1553,3},{-1738,1558,3},{-1738,1563,3}, {-1738,1570,3},{-1738,1575,3},{-1738,1582,3},{-1738,1587,3},{-1738,1593,3}, {-1738,1598,3},{-1738,1605,3},{-1738,1610,3},{-1738,1617,3},{-1738,1622,3}, {-1738,1628,3},{-1738,1633,3},{-1738,1638,3},{-1738,1645,3},{-1738,1650,3}, {-1738,1657,3},{-1738,1662,3},{-1738,1668,3},{-1738,1673,3},{-1738,1680,3}, {-1740,1685,3},{-1740,1690,3},{-1740,1697,3},{-1740,1702,3},{-1740,1708,3}, {-1740,1713,3},{-1740,1720,3},{-1740,1725,3},{-1740,1732,3},{-1740,1737,3}, {-1740,1742,3},{-1740,1748,3},{-1738,1755,3},{-1738,1760,3},{-1738,1767,3}, {-1738,1772,3},{-1738,1778,3},{-1738,1783,3},{-1738,1790,3},{-1738,1795,3}, {-1738,1800,3},{-1738,1807,3},{-1738,1812,3},{-1738,1817,3},{-1738,1823,3}, {-1738,1828,3},{-1738,1835,3},{-1738,1840,3},{-1743,1845,3},{-1748,1848,3}, {-1753,1853,3},{-1757,1853,3},{-1758,1857,3},{-1760,1860,3},{-1763,1862,3}, {-1767,1867,3},{-1775,1875,3},{-1783,1895,3},{-1785,1912,3},{-1782,1913,3}, {-1783,1917,3},{-1782,1920,3},{-1783,1922,3},{-1783,1933,3},{-1785,1933,3}, {-1787,1955,3},{-1785,1967,3},{-1788,1970,3},{-1788,1973,3},{-1790,1975,3}, {-1788,1978,3},{-1788,1985,3},{-1787,1992,3},{-1788,1997,3},{-1790,2008,3}, {-1792,2010,3},{-1788,2017,3},{-1790,2023,3},{-1788,2032,3},{-1792,2043,3}, {-1795,2047,3},{-1797,2052,3},{-1798,2055,3},{-1798,2063,3},{-1802,2072,3}, {-1800,2075,3},{-1802,2077,3},{-1802,2078,3},{-1803,2082,3},{-1802,2085,3}, {-1802,2088,3},{-1800,2088,3},{-1797,2095,3},{-1792,2120,3},{-1797,2125,3}, {-1800,2135,3},{-1802,2137,3},{-1802,2142,3},{-1800,2147,3},{-1798,2152,3}, {-1798,2158,3},{-1797,2163,3},{-1795,2170,3},{-1795,2175,3},{-1793,2182,3}, {-1793,2187,3},{-1792,2193,3},{-1790,2198,3},{-1790,2205,3},{-1788,2210,3}, {-1787,2217,3},{-1787,2222,3},{-1785,2228,3},{-1783,2233,3},{-1783,2238,3}, {-1782,2245,3},{-1782,2250,3},{-1780,2257,3},{-1778,2262,3},{-1778,2268,3}, {-1777,2273,3},{-1775,2280,3},{-1775,2285,3},{-1773,2292,3},{-1772,2297,3}, {-1772,2302,3},{-1770,2308,3},{-1768,2313,3},{-1768,2320,3},{-1767,2325,3}, {-1765,2332,3},{-1765,2338,3},{-1763,2343,3},{-1763,2348,3},{-1762,2355,3}, {-1760,2360,3},{-1758,2367,3},{-1758,2372,3},{-1757,2378,3},{-1755,2383,3}, {-1755,2390,3},{-1753,2395,3},{-1752,2400,3},{-1752,2407,3},{-1750,2412,3}, {-1748,2418,3},{-1748,2423,3},{-1748,2425,3},{-1748,2430,3},{-1748,2433,3}, {-1747,2437,3},{-1748,2445,3},{-1753,2457,3},{-1753,2458,3},{-1750,2463,3}, {-1750,2467,3},{-1752,2477,3},{-1752,2478,3},{-1752,2487,3},{-1755,2497,3}, {-1758,2498,3},{-1758,2503,3},{-1762,2503,3},{-1762,2507,3},{-1765,2510,3}, {-1768,2510,3},{-1770,2512,3},{-1768,2513,3},{-1777,2518,3},{-1777,2523,3}, {-1780,2527,3},{-1778,2518,3},{-1780,2513,3},{-1783,2510,3},{-1783,2507,3}, {-1783,2505,3},{-1782,2505,3},{-1783,2502,3},{-1782,2500,3},{-1782,2498,3}, {-1778,2497,3},{-1780,2495,3},{-1782,2493,3},{-1783,2483,3},{-1787,2477,3}, {-1788,2477,3},{-1790,2473,3},{-1793,2470,3},{-1795,2465,3},{-1802,2462,3}, {-1805,2457,3},{-1805,2450,3},{-1795,2442,3},{-1795,2437,3},{-1803,2430,3}, {-1800,2423,3},{-1803,2418,3},{-1812,2410,3},{-1812,2405,3},{-1817,2400,3}, {-1820,2392,3},{-1825,2390,3},{-1827,2387,3},{-1843,2372,3},{-1843,2368,3}, {-1847,2365,3},{-1848,2362,3},{-1847,2357,3},{-1840,2357,3},{-1837,2355,3}, {-1835,2357,3},{-1833,2355,3},{-1830,2352,3},{-1827,2352,3},{-1823,2350,3}, {-1823,2347,3},{-1820,2345,3},{-1820,2340,3},{-1817,2340,3},{-1808,2333,3}, {-1802,2332,3},{-1800,2330,3},{-1800,2308,3},{-1802,2302,3},{-1803,2295,3}, {-1803,2288,3},{-1805,2283,3},{-1807,2277,3},{-1808,2270,3},{-1808,2263,3}, {-1810,2257,3},{-1812,2252,3},{-1812,2245,3},{-1813,2238,3},{-1815,2232,3}, {-1815,2227,3},{-1817,2220,3},{-1818,2213,3},{-1818,2207,3},{-1820,2200,3}, {-1822,2195,3},{-1823,2188,3},{-1823,2182,3},{-1825,2175,3},{-1827,2168,3}, {-1827,2162,3},{-1828,2157,3},{-1830,2147,3},{-1830,2137,3},{-1832,2130,3}, {-1832,2123,3},{-1832,2117,3},{-1832,2112,3},{-1832,2105,3},{-1832,2100,3}, {-1837,2100,3},{-1842,2100,3},{-1848,2100,3},{-1853,2100,3},{-1858,2100,3}, {-1863,2100,3},{-1870,2100,3},{-1875,2100,3},{-1880,2100,3},{-1887,2100,3}, {-1892,2100,3},{-1897,2100,3},{-1902,2100,3},{-1908,2100,3},{-1913,2100,3}, {-1918,2100,3},{-1925,2100,3},{-1930,2100,3},{-1935,2100,3},{-1942,2100,3}, {-1947,2100,3},{-1952,2100,3},{-1957,2100,3},{-1963,2100,3},{-1968,2100,3}, {-1973,2100,3},{-1980,2100,3},{-1985,2100,3},{-1990,2100,3},{-1997,2100,3}, {-2002,2100,3},{-2007,2100,3},{-2012,2100,3},{-2018,2100,3},{-2023,2100,3}, {-2028,2100,3},{-2035,2100,3},{-2040,2100,3},{-2045,2100,3},{-2052,2100,3}, {-2057,2100,3},{-2062,2100,3},{-2067,2100,3},{-2073,2100,3},{-2078,2100,3}, {-2083,2100,3},{-2090,2100,3},{-2095,2100,3},{-2100,2100,3},{-2107,2100,3}, {-2112,2100,3},{-2117,2100,3},{-2123,2100,3},{-2128,2100,3},{-2133,2100,3}, {-2138,2100,3},{-2145,2100,3},{-2150,2100,3},{-2155,2100,3},{-2162,2100,3}, {-2167,2100,3},{-2172,2100,3},{-2178,2100,3},{-2183,2100,3},{-2188,2100,3}, {-2195,2100,3},{-2200,2100,3},{-2200,2098,3},{-2200,2095,3},{-2200,2088,3}, {-2200,2083,3},{-2200,2077,3},{-2200,2072,3},{-2200,2065,3},{-2200,2058,3}, {-2200,2053,3},{-2200,2047,3},{-2200,2042,3},{-2200,2035,3},{-2200,2030,3}, {-2200,2023,3},{-2200,2017,3},{-2200,2012,3},{-2200,2005,3},{-2200,2000,3}, {-2207,2000,3},{-2212,2000,3},{-2217,2000,3},{-2223,2000,3},{-2228,2000,3}, {-2233,2000,3},{-2238,2000,3},{-2245,2000,3},{-2250,2000,3},{-2255,2000,3}, {-2262,2000,3},{-2267,2000,3},{-2272,2000,3},{-2278,2000,3},{-2283,2000,3}, {-2288,2000,3},{-2295,2000,3},{-2300,2000,3},{-2305,2000,3},{-2312,2000,3}, {-2317,2000,3},{-2322,2000,3},{-2327,2000,3},{-2333,2000,3},{-2338,2000,3}, {-2343,2000,3},{-2350,2000,3},{-2355,2000,3},{-2360,2000,3},{-2367,2000,3}, {-2372,2000,3},{-2377,2000,3},{-2383,2000,3},{-2388,2000,3},{-2393,2000,3}, {-2400,2000,3},{-2405,2000,3},{-2410,2000,3},{-2415,2000,3},{-2422,2000,3}, {-2427,2000,3},{-2432,2000,3},{-2438,2000,3},{-2443,2000,3},{-2448,2000,3}, {-2455,2000,3},{-2460,2000,3},{-2465,2000,3},{-2472,2000,3},{-2477,2000,3}, {-2482,2000,3},{-2488,2000,3},{-2493,2000,3},{-2498,2000,3},{-2505,2000,3}, {-2510,2000,3},{-2515,2000,3},{-2520,2000,3},{-2527,2000,3},{-2532,2000,3}, {-2537,2000,3},{-2543,2000,3},{-2548,2000,3},{-2553,2000,3},{-2560,2000,3}, {-2565,2000,3},{-2570,2000,3},{-2577,2000,3},{-2582,2000,3},{-2587,2000,3}, {-2593,2000,3},{-2598,2000,3},{-2603,2000,3},{-2610,2000,3},{-2615,2000,3}, {-2620,2000,3},{-2625,2000,3},{-2632,2000,3},{-2637,2000,3},{-2642,2000,3}, {-2648,2000,3},{-2653,2000,3},{-2658,2000,3},{-2665,2000,3},{-2670,2000,3}, {-2675,2000,3},{-2682,2000,3},{-2687,2000,3},{-2692,2000,3},{-2698,2000,3}, {-2703,2000,3},{-2708,2000,3},{-2713,2000,3},{-2720,2000,3},{-2725,2000,3}, {-2730,2000,3},{-2737,2000,3},{-2742,2000,3},{-2747,2000,3},{-2753,2000,3}, {-2758,2000,3},{-2763,2000,3},{-2770,2000,3},{-2775,2000,3},{-2780,2000,3}, {-2785,2000,3},{-2792,2000,3},{-2797,2000,3},{-2802,2000,3},{-2808,2000,3}, {-2813,2000,3},{-2818,2000,3},{-2825,2000,3},{-2830,2000,3},{-2835,2000,3}, {-2842,2000,3},{-2843,2000,3},{-2843,1987,3},{-2848,1983,3},{-2850,1980,3}, {-2848,1973,3},{-2850,1972,3},{-2852,1967,3},{-2852,1965,3},{-2853,1957,3}, {-2858,1953,3},{-2860,1952,3},{-2867,1950,3},{-2870,1947,3},{-2873,1937,3}, {-2875,1927,3},{-2880,1923,3},{-2885,1927,3},{-2888,1930,3},{-2890,1928,3}, {-2890,1923,3},{-2893,1918,3},{-2897,1912,3},{-2893,1905,3},{-2893,1902,3}, {-2887,1895,3},{-2883,1872,3},{-2887,1855,3},{-2888,1850,3},{-2888,1847,3}, {-2890,1838,3},{-2888,1833,3},{-2888,1822,3},{-2892,1818,3},{-2887,1805,3}, {-2880,1797,3},{-2878,1792,3},{-2875,1775,3},{-2877,1772,3},{-2875,1770,3}, {-2877,1767,3},{-2877,1763,3},{-2875,1760,3},{-2870,1760,3},{-2868,1758,3}, {-2870,1755,3},{-2872,1742,3},{-2868,1740,3},{-2858,1742,3},{-2857,1740,3}, {-2855,1737,3},{-2850,1735,3},{-2847,1732,3},{-2843,1738,3},{-2840,1740,3}, {-2835,1740,3},{-2830,1737,3},{-2823,1735,3},{-2822,1732,3},{-2825,1723,3}, {-2823,1722,3},{-2820,1718,3},{-2810,1718,3},{-2810,1713,3},{-2805,1710,3}, {-2803,1707,3},{-2803,1703,3},{-2807,1700,3},{-2805,1698,3},{-2807,1695,3}, {-2807,1692,3},{-2810,1688,3},{-2818,1688,3},{-2817,1685,3},{-2818,1683,3}, {-2820,1685,3},{-2822,1685,3},{-2822,1680,3},{-2827,1682,3},{-2825,1678,3}, {-2827,1677,3},{-2828,1677,3},{-2837,1680,3},{-2840,1677,3},{-2845,1678,3}, {-2850,1673,3},{-2850,1670,3},{-2847,1668,3},{-2850,1662,3},{-2853,1660,3}, {-2858,1648,3},{-2853,1660,3},{-2858,1648,3},{-2313,1445,131},{-2303,1442,3}, {-2297,1442,3},{-2288,1443,3},{-2288,1445,3},{-2295,1443,3},{-2297,1447,3}, {-2300,1447,3},{-2292,1453,3},{-2280,1453,3},{-2268,1453,3},{-2268,1458,3}, {-2263,1463,3},{-2263,1468,3},{-2297,1467,3},{-2323,1475,3},{-2318,1467,3}, {-2313,1445,3},{-502,1202,131},{-485,1188,3},{-478,1180,3},{-475,1180,3}, {-477,1182,3},{-473,1183,3},{-465,1175,3},{-460,1180,3},{-453,1177,3},{-420,1138,3}, {-417,1137,3},{-410,1135,3},{-395,1117,3},{-380,1122,3},{-377,1120,3},{-368,1123,3}, {-360,1135,3},{-358,1143,3},{-352,1148,3},{-343,1148,3},{-342,1153,3},{-342,1157,3}, {-345,1162,3},{-367,1175,3},{-373,1187,3},{-368,1193,3},{-365,1193,3},{-358,1187,3}, {-353,1187,3},{-350,1187,3},{-348,1193,3},{-345,1197,3},{-335,1197,3},{-330,1200,3}, {-328,1200,3},{-320,1185,3},{-308,1173,3},{-305,1175,3},{-302,1180,3},{-295,1185,3}, {-295,1187,3},{-288,1185,3},{-283,1182,3},{-278,1163,3},{-283,1158,3},{-285,1158,3}, {-285,1155,3},{-280,1155,3},{-272,1162,3},{-262,1165,3},{-255,1163,3},{-250,1160,3}, {-243,1160,3},{-233,1158,3},{-233,1162,3},{-235,1168,3},{-240,1168,3},{-240,1173,3}, {-243,1173,3},{-243,1175,3},{-238,1180,3},{-237,1192,3},{-233,1195,3},{-235,1198,3}, {-242,1203,3},{-243,1208,3},{-243,1250,3},{-235,1250,3},{-233,1247,3},{-230,1247,3}, {-223,1250,3},{-217,1248,3},{-210,1253,3},{-208,1248,3},{-203,1245,3},{-193,1247,3}, {-188,1245,3},{-187,1247,3},{-188,1247,3},{-192,1252,3},{-188,1253,3},{-187,1252,3}, {-182,1258,3},{-183,1263,3},{-182,1267,3},{-185,1273,3},{-188,1277,3},{-188,1280,3}, {-190,1283,3},{-193,1283,3},{-195,1285,3},{-200,1285,3},{-205,1288,3},{-208,1292,3}, {-210,1290,3},{-212,1292,3},{-215,1290,3},{-218,1293,3},{-220,1295,3},{-218,1298,3}, {-225,1302,3},{-227,1302,3},{-228,1305,3},{-230,1302,3},{-233,1302,3},{-238,1300,3}, {-233,1305,3},{-238,1315,3},{-237,1322,3},{-243,1340,3},{-242,1343,3},{-243,1350,3}, {-240,1352,3},{-237,1357,3},{-233,1360,3},{-233,1363,3},{-230,1363,3},{-218,1373,3}, {-215,1373,3},{-210,1377,3},{-215,1382,3},{-223,1385,3},{-230,1390,3},{-233,1390,3}, {-235,1395,3},{-238,1392,3},{-240,1392,3},{-242,1388,3},{-247,1388,3},{-250,1393,3}, {-247,1400,3},{-250,1402,3},{-248,1408,3},{-250,1408,3},{-250,1412,3},{-243,1417,3}, {-240,1417,3},{-237,1422,3},{-235,1427,3},{-230,1423,3},{-228,1420,3},{-225,1418,3}, {-225,1417,3},{-222,1420,3},{-220,1423,3},{-217,1423,3},{-215,1427,3},{-205,1428,3}, {-202,1427,3},{-198,1427,3},{-197,1432,3},{-195,1433,3},{-193,1440,3},{-190,1445,3}, {-187,1443,3},{-180,1445,3},{-175,1443,3},{-170,1445,3},{-168,1448,3},{-168,1443,3}, {-163,1443,3},{-162,1440,3},{-160,1443,3},{-157,1447,3},{-155,1450,3},{-153,1450,3}, {-150,1447,3},{-148,1448,3},{-145,1448,3},{-143,1452,3},{-142,1452,3},{-138,1452,3}, {-135,1447,3},{-132,1447,3},{-128,1450,3},{-123,1450,3},{-120,1448,3},{-117,1447,3}, {-113,1447,3},{-103,1443,3},{-93,1443,3},{-87,1448,3},{-83,1448,3},{-80,1447,3}, {-73,1448,3},{-67,1453,3},{-63,1453,3},{-62,1453,3},{-60,1452,3},{-52,1448,3}, {-52,1445,3},{-48,1445,3},{-47,1442,3},{-43,1435,3},{-42,1430,3},{-43,1428,3}, {-43,1427,3},{-42,1423,3},{-45,1420,3},{-37,1418,3},{-28,1415,3},{-28,1412,3}, {-25,1410,3},{-23,1407,3},{-27,1405,3},{-25,1402,3},{-15,1390,3},{-13,1388,3}, {-10,1392,3},{-10,1397,3},{-8,1402,3},{-5,1400,3},{-2,1400,3},{0,1395,3}, {2,1393,3},{5,1395,3},{7,1392,3},{13,1392,3},{22,1388,3},{28,1393,3},{38,1397,3}, {43,1407,3},{48,1408,3},{50,1407,3},{53,1408,3},{57,1415,3},{55,1417,3}, {53,1423,3},{63,1438,3},{68,1437,3},{75,1442,3},{78,1443,3},{80,1447,3}, {85,1448,3},{88,1447,3},{90,1450,3},{93,1450,3},{98,1443,3},{105,1440,3}, {110,1440,3},{115,1435,3},{120,1435,3},{125,1430,3},{130,1430,3},{132,1428,3}, {138,1420,3},{140,1413,3},{138,1407,3},{142,1400,3},{142,1398,3},{143,1390,3}, {143,1380,3},{137,1378,3},{138,1375,3},{137,1372,3},{135,1365,3},{133,1363,3}, {133,1360,3},{128,1357,3},{128,1353,3},{127,1352,3},{130,1342,3},{130,1337,3}, {127,1337,3},{127,1332,3},{123,1332,3},{122,1320,3},{123,1317,3},{125,1315,3}, {125,1317,3},{128,1318,3},{130,1322,3},{133,1325,3},{135,1323,3},{138,1325,3}, {143,1323,3},{143,1322,3},{145,1322,3},{150,1318,3},{153,1318,3},{153,1315,3}, {158,1313,3},{162,1315,3},{167,1313,3},{170,1315,3},{173,1317,3},{175,1315,3}, {177,1317,3},{178,1317,3},{182,1320,3},{187,1318,3},{190,1317,3},{190,1318,3}, {195,1322,3},{198,1322,3},{205,1328,3},{217,1330,3},{217,1337,3},{217,1343,3}, {217,1348,3},{217,1353,3},{217,1360,3},{217,1365,3},{217,1370,3},{217,1375,3}, {217,1382,3},{217,1387,3},{217,1392,3},{217,1398,3},{215,1403,3},{215,1408,3}, {215,1413,3},{215,1420,3},{215,1428,3},{217,1435,3},{217,1442,3},{213,1443,3}, {215,1447,3},{217,1457,3},{220,1457,3},{220,1458,3},{215,1463,3},{213,1465,3}, {213,1468,3},{210,1472,3},{213,1472,3},{212,1475,3},{208,1473,3},{210,1477,3}, {207,1477,3},{207,1480,3},{207,1482,3},{208,1485,3},{210,1485,3},{212,1487,3}, {207,1488,3},{205,1492,3},{202,1488,3},{200,1490,3},{200,1497,3},{203,1498,3}, {198,1503,3},{200,1507,3},{198,1507,3},{198,1508,3},{202,1512,3},{200,1513,3}, {203,1515,3},{203,1517,3},{202,1518,3},{203,1522,3},{203,1523,3},{200,1525,3}, {198,1530,3},{193,1530,3},{193,1532,3},{192,1535,3},{197,1543,3},{198,1548,3}, {193,1565,3},{193,1570,3},{192,1573,3},{192,1575,3},{187,1580,3},{182,1588,3}, {180,1588,3},{180,1592,3},{178,1593,3},{177,1600,3},{175,1603,3},{172,1602,3}, {168,1603,3},{165,1607,3},{172,1610,3},{172,1615,3},{173,1617,3},{195,1610,3}, {197,1607,3},{202,1607,3},{205,1608,3},{208,1607,3},{210,1610,3},{217,1608,3}, {217,1610,3},{220,1610,3},{218,1617,3},{222,1620,3},{227,1623,3},{230,1625,3}, {235,1627,3},{240,1630,3},{245,1632,3},{250,1633,3},{255,1637,3},{260,1638,3}, {263,1640,3},{268,1643,3},{273,1645,3},{278,1647,3},{285,1650,3},{288,1650,3}, {292,1647,3},{300,1647,3},{307,1652,3},{315,1648,3},{325,1653,3},{328,1653,3}, {332,1655,3},{348,1658,3},{353,1667,3},{355,1670,3},{355,1677,3},{352,1680,3}, {352,1685,3},{353,1687,3},{357,1688,3},{355,1697,3},{353,1698,3},{355,1705,3}, {358,1708,3},{357,1712,3},{358,1715,3},{358,1723,3},{362,1725,3},{363,1730,3}, {362,1735,3},{367,1740,3},{368,1745,3},{372,1748,3},{363,1762,3},{363,1772,3}, {363,1773,3},{362,1777,3},{362,1783,3},{353,1787,3},{357,1793,3},{358,1793,3}, {353,1798,3},{357,1803,3},{357,1810,3},{355,1815,3},{348,1817,3},{348,1820,3}, {350,1823,3},{358,1827,3},{358,1837,3},{358,1840,3},{360,1840,3},{360,1845,3}, {363,1848,3},{360,1853,3},{348,1858,3},{348,1863,3},{332,1865,3},{327,1863,3}, {322,1865,3},{315,1862,3},{308,1853,3},{297,1850,3},{283,1843,3},{273,1840,3}, {262,1835,3},{257,1832,3},{252,1823,3},{242,1822,3},{233,1817,3},{230,1812,3}, {222,1810,3},{213,1810,3},{205,1807,3},{195,1808,3},{185,1807,3},{172,1808,3}, {153,1807,3},{132,1798,3},{125,1798,3},{113,1793,3},{105,1788,3},{100,1787,3}, {82,1790,3},{68,1788,3},{60,1790,3},{48,1797,3},{45,1797,3},{35,1795,3}, {22,1785,3},{15,1780,3},{-13,1772,3},{-23,1772,3},{-38,1775,3},{-53,1772,3}, {-62,1768,3},{-78,1755,3},{-100,1733,3},{-103,1728,3},{-107,1712,3},{-115,1697,3}, {-123,1688,3},{-132,1680,3},{-142,1675,3},{-165,1665,3},{-187,1652,3},{-202,1637,3}, {-210,1625,3},{-218,1620,3},{-225,1618,3},{-238,1618,3},{-263,1623,3},{-272,1620,3}, {-288,1618,3},{-300,1620,3},{-315,1618,3},{-320,1620,3},{-325,1618,3},{-328,1622,3}, {-333,1623,3},{-342,1618,3},{-345,1615,3},{-357,1610,3},{-362,1605,3},{-368,1603,3}, {-385,1593,3},{-392,1590,3},{-397,1583,3},{-398,1570,3},{-405,1555,3},{-413,1548,3}, {-422,1548,3},{-427,1545,3},{-430,1542,3},{-428,1533,3},{-433,1522,3},{-450,1510,3}, {-455,1502,3},{-465,1492,3},{-482,1483,3},{-492,1467,3},{-488,1458,3},{-485,1455,3}, {-483,1448,3},{-488,1442,3},{-483,1442,3},{-478,1443,3},{-475,1442,3},{-468,1443,3}, {-463,1438,3},{-455,1437,3},{-452,1440,3},{-452,1443,3},{-443,1448,3},{-440,1445,3}, {-433,1440,3},{-427,1442,3},{-432,1430,3},{-438,1418,3},{-440,1407,3},{-443,1402,3}, {-445,1402,3},{-450,1397,3},{-448,1388,3},{-445,1385,3},{-442,1382,3},{-445,1373,3}, {-453,1373,3},{-465,1372,3},{-470,1373,3},{-470,1370,3},{-473,1370,3},{-473,1363,3}, {-478,1360,3},{-478,1358,3},{-475,1353,3},{-477,1350,3},{-480,1352,3},{-485,1343,3}, {-488,1342,3},{-485,1338,3},{-478,1338,3},{-477,1330,3},{-468,1320,3},{-463,1318,3}, {-458,1313,3},{-457,1312,3},{-458,1308,3},{-463,1308,3},{-460,1303,3},{-452,1297,3}, {-448,1292,3},{-442,1290,3},{-440,1287,3},{-442,1282,3},{-438,1278,3},{-443,1273,3}, {-447,1272,3},{-448,1270,3},{-457,1265,3},{-460,1247,3},{-460,1243,3},{-460,1242,3}, {-463,1238,3},{-467,1240,3},{-478,1235,3},{-480,1228,3},{-478,1227,3},{-480,1225,3}, {-478,1223,3},{-475,1222,3},{-478,1220,3},{-490,1217,3},{-502,1202,3},{-578,1220,131}, {-568,1213,3},{-562,1212,3},{-553,1215,3},{-552,1220,3},{-545,1220,3},{-517,1210,3}, {-503,1202,3},{-503,1205,3},{-505,1208,3},{-500,1212,3},{-498,1210,3},{-502,1208,3}, {-502,1202,3},{-490,1217,3},{-478,1220,3},{-475,1222,3},{-478,1223,3},{-480,1225,3}, {-478,1227,3},{-480,1228,3},{-478,1235,3},{-467,1240,3},{-463,1238,3},{-460,1242,3}, {-460,1243,3},{-460,1247,3},{-457,1265,3},{-448,1270,3},{-447,1272,3},{-443,1273,3}, {-438,1278,3},{-442,1282,3},{-440,1287,3},{-442,1290,3},{-448,1292,3},{-452,1297,3}, {-460,1303,3},{-463,1308,3},{-467,1308,3},{-467,1307,3},{-468,1302,3},{-472,1292,3}, {-472,1287,3},{-473,1282,3},{-480,1278,3},{-483,1278,3},{-487,1272,3},{-493,1270,3}, {-493,1262,3},{-500,1260,3},{-505,1250,3},{-505,1247,3},{-510,1247,3},{-512,1253,3}, {-517,1253,3},{-522,1253,3},{-527,1253,3},{-533,1253,3},{-538,1253,3},{-543,1253,3}, {-550,1253,3},{-555,1253,3},{-560,1253,3},{-567,1253,3},{-572,1253,3},{-573,1247,3}, {-573,1242,3},{-573,1237,3},{-573,1228,3},{-578,1220,3},{235,982,131},{255,982,3}, {275,987,3},{282,988,3},{283,987,3},{295,990,3},{298,992,3},{302,995,3}, {308,997,3},{325,990,3},{327,993,3},{327,988,3},{340,982,3},{348,972,3}, {353,965,3},{357,970,3},{362,975,3},{362,982,3},{363,978,3},{360,970,3}, {360,963,3},{362,962,3},{363,963,3},{365,963,3},{382,955,3},{378,958,3}, {375,960,3},{375,965,3},{377,960,3},{382,960,3},{385,960,3},{387,962,3}, {383,967,3},{383,968,3},{385,970,3},{382,975,3},{387,975,3},{387,970,3}, {390,968,3},{392,970,3},{393,977,3},{395,977,3},{393,963,3},{395,962,3}, {402,965,3},{402,967,3},{407,970,3},{412,975,3},{413,975,3},{412,972,3}, {410,970,3},{412,970,3},{412,968,3},{403,963,3},{402,958,3},{402,957,3}, {403,955,3},{403,953,3},{407,950,3},{412,950,3},{412,948,3},{407,945,3}, {407,948,3},{403,948,3},{402,952,3},{398,953,3},{397,950,3},{400,948,3}, {402,942,3},{400,942,3},{398,947,3},{393,945,3},{392,947,3},{390,943,3}, {390,935,3},{393,932,3},{398,930,3},{402,932,3},{403,933,3},{403,930,3}, {398,927,3},{395,925,3},{397,922,3},{402,920,3},{402,912,3},{405,908,3}, {410,897,3},{422,898,3},{425,895,3},{430,892,3},{443,890,3},{450,890,3}, {453,893,3},{455,893,3},{452,892,3},{452,890,3},{458,890,3},{463,883,3}, {462,883,3},{458,887,3},{457,887,3},{455,888,3},{453,887,3},{457,883,3}, {460,880,3},{457,882,3},{453,878,3},{457,873,3},{467,868,3},{468,867,3}, {473,865,3},{470,863,3},{465,867,3},{458,867,3},{455,868,3},{452,872,3}, {450,870,3},{450,862,3},{448,858,3},{450,857,3},{453,858,3},{453,857,3}, {450,853,3},{453,850,3},{457,850,3},{457,853,3},{460,855,3},{460,852,3}, {463,852,3},{467,853,3},{470,858,3},{473,857,3},{475,858,3},{478,858,3}, {480,858,3},{483,863,3},{490,862,3},{492,865,3},{503,873,3},{507,873,3}, {512,877,3},{515,882,3},{518,882,3},{530,885,3},{532,883,3},{537,883,3}, {543,887,3},{550,887,3},{560,892,3},{563,890,3},{570,883,3},{575,887,3}, {578,888,3},{582,887,3},{583,887,3},{587,892,3},{590,893,3},{590,895,3}, {590,900,3},{595,900,3},{595,903,3},{608,913,3},{620,930,3},{633,937,3}, {633,943,3},{640,947,3},{645,958,3},{652,962,3},{652,972,3},{680,980,3}, {678,987,3},{702,1017,3},{698,1018,3},{692,1020,3},{688,1023,3},{688,1052,3}, {693,1052,3},{695,1055,3},{702,1057,3},{713,1060,3},{712,1062,3},{705,1062,3}, {703,1068,3},{697,1078,3},{697,1085,3},{688,1088,3},{683,1088,3},{680,1090,3}, {678,1093,3},{678,1102,3},{673,1107,3},{668,1108,3},{658,1107,3},{643,1112,3}, {643,1118,3},{645,1125,3},{643,1127,3},{645,1130,3},{643,1133,3},{645,1138,3}, {648,1142,3},{658,1143,3},{660,1152,3},{665,1155,3},{678,1158,3},{682,1155,3}, {690,1158,3},{695,1163,3},{697,1168,3},{700,1172,3},{700,1177,3},{703,1177,3}, {707,1182,3},{708,1188,3},{712,1190,3},{722,1182,3},{725,1178,3},{725,1175,3}, {727,1175,3},{730,1180,3},{740,1187,3},{745,1192,3},{757,1202,3},{757,1203,3}, {763,1203,3},{767,1202,3},{773,1203,3},{792,1217,3},{797,1222,3},{810,1220,3}, {820,1225,3},{832,1223,3},{840,1225,3},{842,1227,3},{843,1230,3},{842,1233,3}, {850,1242,3},{862,1238,3},{860,1243,3},{863,1250,3},{860,1257,3},{867,1268,3}, {877,1273,3},{875,1278,3},{877,1280,3},{885,1282,3},{902,1285,3},{907,1283,3}, {928,1292,3},{935,1292,3},{935,1287,3},{937,1285,3},{937,1287,3},{938,1288,3}, {942,1295,3},{945,1297,3},{950,1302,3},{953,1318,3},{958,1323,3},{965,1323,3}, {967,1325,3},{973,1325,3},{980,1328,3},{987,1323,3},{992,1323,3},{993,1325,3}, {998,1327,3},{1002,1325,3},{1007,1325,3},{1008,1328,3},{1012,1340,3},{1017,1347,3}, {1020,1347,3},{1023,1347,3},{1030,1348,3},{1045,1350,3},{1065,1357,3},{1068,1358,3}, {1085,1370,3},{1090,1372,3},{1093,1377,3},{1103,1378,3},{1107,1385,3},{1117,1388,3}, {1128,1400,3},{1125,1412,3},{1123,1415,3},{1125,1418,3},{1130,1425,3},{1132,1430,3}, {1140,1440,3},{1142,1447,3},{1145,1452,3},{1150,1462,3},{1157,1465,3},{1165,1463,3}, {1170,1455,3},{1177,1462,3},{1183,1462,3},{1192,1465,3},{1197,1465,3},{1203,1462,3}, {1205,1465,3},{1207,1463,3},{1212,1465,3},{1215,1467,3},{1218,1467,3},{1218,1465,3}, {1218,1462,3},{1220,1460,3},{1223,1455,3},{1225,1457,3},{1228,1453,3},{1228,1452,3}, {1232,1452,3},{1233,1448,3},{1235,1443,3},{1235,1422,3},{1238,1417,3},{1245,1418,3}, {1245,1420,3},{1247,1420,3},{1252,1422,3},{1258,1427,3},{1265,1420,3},{1267,1422,3}, {1268,1423,3},{1268,1425,3},{1270,1427,3},{1270,1432,3},{1268,1433,3},{1268,1435,3}, {1267,1437,3},{1267,1447,3},{1272,1448,3},{1277,1452,3},{1285,1452,3},{1285,1453,3}, {1283,1455,3},{1277,1455,3},{1277,1457,3},{1273,1458,3},{1277,1462,3},{1273,1462,3}, {1272,1465,3},{1272,1472,3},{1265,1470,3},{1268,1473,3},{1263,1477,3},{1263,1483,3}, {1250,1487,3},{1245,1485,3},{1245,1487,3},{1238,1490,3},{1220,1490,3},{1218,1492,3}, {1215,1488,3},{1210,1495,3},{1208,1498,3},{1210,1500,3},{1208,1505,3},{1200,1505,3}, {1197,1508,3},{1197,1505,3},{1193,1507,3},{1188,1503,3},{1185,1505,3},{1185,1508,3}, {1178,1512,3},{1175,1508,3},{1172,1510,3},{1172,1507,3},{1168,1507,3},{1158,1508,3}, {1155,1513,3},{1152,1513,3},{1143,1507,3},{1140,1505,3},{1135,1505,3},{1130,1507,3}, {1120,1502,3},{1098,1503,3},{1090,1508,3},{1080,1505,3},{1062,1515,3},{1053,1513,3}, {1050,1515,3},{1050,1518,3},{1048,1522,3},{1038,1528,3},{1033,1528,3},{1030,1530,3}, {1028,1535,3},{1020,1540,3},{1020,1543,3},{1010,1550,3},{998,1568,3},{993,1542,3}, {998,1523,3},{998,1517,3},{998,1510,3},{995,1508,3},{995,1503,3},{997,1492,3}, {992,1478,3},{998,1453,3},{1000,1445,3},{998,1418,3},{993,1418,3},{983,1412,3}, {978,1408,3},{975,1402,3},{963,1395,3},{960,1403,3},{923,1435,3},{920,1435,3}, {900,1457,3},{882,1482,3},{882,1487,3},{877,1492,3},{875,1493,3},{873,1497,3}, {868,1497,3},{865,1507,3},{855,1512,3},{848,1520,3},{822,1532,3},{812,1538,3}, {803,1538,3},{782,1548,3},{777,1550,3},{775,1558,3},{763,1557,3},{753,1550,3}, {743,1543,3},{740,1547,3},{740,1542,3},{737,1542,3},{735,1537,3},{732,1535,3}, {730,1530,3},{723,1523,3},{718,1520,3},{710,1520,3},{705,1515,3},{697,1513,3}, {683,1507,3},{678,1507,3},{675,1500,3},{673,1497,3},{638,1480,3},{635,1480,3}, {633,1480,3},{627,1473,3},{618,1458,3},{620,1455,3},{615,1452,3},{613,1452,3}, {613,1448,3},{610,1447,3},{608,1443,3},{605,1442,3},{600,1442,3},{597,1447,3}, {592,1448,3},{590,1455,3},{593,1458,3},{592,1460,3},{590,1462,3},{572,1463,3}, {560,1458,3},{552,1462,3},{545,1460,3},{542,1460,3},{538,1458,3},{530,1453,3}, {525,1458,3},{522,1465,3},{518,1467,3},{512,1468,3},{510,1468,3},{503,1468,3}, {502,1467,3},{498,1470,3},{495,1468,3},{488,1472,3},{485,1470,3},{480,1472,3}, {477,1470,3},{462,1473,3},{453,1480,3},{442,1502,3},{437,1503,3},{430,1508,3}, {413,1510,3},{410,1513,3},{407,1515,3},{407,1518,3},{405,1518,3},{405,1515,3}, {402,1512,3},{403,1505,3},{392,1508,3},{368,1525,3},{333,1560,3},{310,1582,3}, {312,1590,3},{310,1593,3},{305,1598,3},{298,1600,3},{298,1605,3},{290,1610,3}, {282,1612,3},{278,1607,3},{275,1608,3},{270,1608,3},{270,1612,3},{265,1610,3}, {258,1612,3},{252,1608,3},{247,1612,3},{242,1612,3},{227,1618,3},{225,1618,3}, {222,1620,3},{218,1617,3},{220,1610,3},{217,1610,3},{217,1608,3},{210,1610,3}, {208,1607,3},{205,1608,3},{202,1607,3},{197,1607,3},{195,1610,3},{173,1617,3}, {172,1615,3},{172,1610,3},{165,1607,3},{168,1603,3},{172,1602,3},{175,1603,3}, {177,1600,3},{178,1593,3},{180,1592,3},{180,1588,3},{182,1588,3},{187,1580,3}, {192,1575,3},{192,1573,3},{193,1570,3},{193,1565,3},{198,1548,3},{197,1543,3}, {192,1535,3},{193,1532,3},{193,1530,3},{198,1530,3},{200,1525,3},{203,1523,3}, {203,1522,3},{202,1518,3},{203,1517,3},{203,1515,3},{200,1513,3},{202,1512,3}, {198,1508,3},{198,1507,3},{200,1507,3},{198,1503,3},{203,1498,3},{200,1497,3}, {200,1490,3},{202,1488,3},{205,1492,3},{207,1488,3},{212,1487,3},{210,1485,3}, {208,1485,3},{207,1482,3},{207,1480,3},{207,1477,3},{210,1477,3},{208,1473,3}, {212,1475,3},{213,1472,3},{210,1472,3},{213,1468,3},{213,1465,3},{215,1463,3}, {220,1458,3},{220,1457,3},{217,1457,3},{215,1447,3},{213,1443,3},{217,1442,3}, {217,1435,3},{215,1428,3},{215,1420,3},{215,1413,3},{215,1408,3},{215,1403,3}, {217,1398,3},{217,1392,3},{217,1387,3},{217,1382,3},{217,1375,3},{217,1370,3}, {217,1365,3},{217,1360,3},{217,1353,3},{217,1348,3},{217,1343,3},{217,1337,3}, {217,1330,3},{222,1330,3},{223,1328,3},{227,1327,3},{227,1320,3},{228,1317,3}, {228,1313,3},{225,1308,3},{225,1305,3},{225,1300,3},{225,1288,3},{223,1287,3}, {227,1282,3},{225,1280,3},{223,1275,3},{227,1260,3},{228,1257,3},{230,1248,3}, {228,1240,3},{232,1233,3},{228,1222,3},{230,1192,3},{228,1175,3},{233,1168,3}, {232,1160,3},{230,1137,3},{227,1137,3},{223,1135,3},{217,1133,3},{217,1128,3}, {217,1123,3},{217,1118,3},{217,1112,3},{217,1107,3},{217,1102,3},{217,1097,3}, {217,1090,3},{217,1085,3},{217,1080,3},{217,1075,3},{217,1068,3},{217,1063,3}, {217,1058,3},{217,1052,3},{217,1047,3},{217,1042,3},{217,1037,3},{217,1030,3}, {217,1025,3},{217,1020,3},{217,1015,3},{217,1008,3},{217,1002,3},{220,993,3}, {225,983,3},{228,983,3},{233,983,3},{235,982,3},{-395,1117,131},{-385,1103,3}, {-375,1098,3},{-370,1098,3},{-365,1093,3},{-353,1080,3},{-342,1065,3},{-340,1063,3}, {-335,1065,3},{-332,1063,3},{-323,1053,3},{-317,1048,3},{-292,1023,3},{-288,1017,3}, {-265,988,3},{-260,985,3},{-245,970,3},{-252,978,3},{-250,982,3},{-247,983,3}, {-250,983,3},{-250,985,3},{-255,985,3},{-253,990,3},{-255,993,3},{-258,993,3}, {-260,993,3},{-258,997,3},{-263,997,3},{-262,1000,3},{-263,1002,3},{-262,1003,3}, {-258,1005,3},{-258,1015,3},{-257,1017,3},{-255,1013,3},{-252,1013,3},{-252,1010,3}, {-250,1008,3},{-257,1010,3},{-257,1008,3},{-252,1005,3},{-250,1002,3},{-255,1000,3}, {-257,998,3},{-255,997,3},{-250,995,3},{-250,997,3},{-250,998,3},{-248,992,3}, {-242,988,3},{-243,982,3},{-248,977,3},{-243,972,3},{-242,975,3},{-240,972,3}, {-238,973,3},{-238,970,3},{-242,972,3},{-243,970,3},{-238,965,3},{-238,963,3}, {-243,967,3},{-238,962,3},{-233,958,3},{-222,957,3},{-207,942,3},{-202,940,3}, {-202,938,3},{-195,935,3},{-187,927,3},{-187,928,3},{-190,932,3},{-190,935,3}, {-192,935,3},{-192,937,3},{-188,937,3},{-192,938,3},{-193,938,3},{-192,938,3}, {-192,945,3},{-192,947,3},{-195,948,3},{-198,947,3},{-200,950,3},{-203,950,3}, {-207,953,3},{-205,957,3},{-203,957,3},{-200,955,3},{-197,950,3},{-195,950,3}, {-193,952,3},{-187,948,3},{-185,947,3},{-187,945,3},{-185,943,3},{-188,943,3}, {-183,940,3},{-182,937,3},{-188,933,3},{-187,930,3},{-185,932,3},{-183,928,3}, {-185,925,3},{-178,925,3},{-173,925,3},{-160,922,3},{-133,903,3},{-123,898,3}, {-132,902,3},{-135,908,3},{-138,908,3},{-140,912,3},{-147,915,3},{-150,920,3}, {-153,927,3},{-162,927,3},{-165,927,3},{-168,928,3},{-167,930,3},{-163,928,3}, {-165,932,3},{-163,932,3},{-162,940,3},{-165,938,3},{-167,942,3},{-165,942,3}, {-160,942,3},{-162,957,3},{-158,950,3},{-155,948,3},{-148,948,3},{-147,945,3}, {-148,943,3},{-152,943,3},{-157,940,3},{-158,932,3},{-157,928,3},{-152,928,3}, {-150,925,3},{-147,925,3},{-147,928,3},{-143,930,3},{-142,928,3},{-140,933,3}, {-133,935,3},{-130,933,3},{-128,932,3},{-135,933,3},{-137,933,3},{-138,930,3}, {-137,927,3},{-142,923,3},{-140,920,3},{-142,918,3},{-138,915,3},{-135,917,3}, {-133,915,3},{-137,912,3},{-130,903,3},{-127,902,3},{-123,902,3},{-122,903,3}, {-118,903,3},{-117,900,3},{-118,902,3},{-122,900,3},{-112,897,3},{-98,887,3}, {-102,892,3},{-100,892,3},{-100,890,3},{-97,893,3},{-97,887,3},{-92,887,3}, {-93,883,3},{-88,883,3},{-82,878,3},{-72,875,3},{-63,872,3},{-60,870,3}, {-57,872,3},{-62,872,3},{-60,875,3},{-63,875,3},{-63,878,3},{-72,880,3}, {-75,880,3},{-77,883,3},{-80,885,3},{-78,885,3},{-72,887,3},{-73,892,3}, {-70,888,3},{-68,890,3},{-68,893,3},{-75,897,3},{-80,900,3},{-88,900,3}, {-85,902,3},{-78,902,3},{-73,905,3},{-72,905,3},{-68,908,3},{-67,908,3}, {-67,910,3},{-68,912,3},{-65,912,3},{-63,908,3},{-60,910,3},{-52,918,3}, {-35,930,3},{-22,930,3},{-12,935,3},{-3,933,3},{2,935,3},{18,932,3},{32,930,3}, {37,935,3},{33,937,3},{28,938,3},{25,937,3},{22,938,3},{18,935,3},{18,937,3}, {20,938,3},{20,942,3},{18,943,3},{17,947,3},{13,947,3},{10,947,3},{10,950,3}, {17,948,3},{18,950,3},{17,957,3},{13,958,3},{12,958,3},{13,960,3},{15,963,3}, {13,967,3},{13,972,3},{10,975,3},{3,978,3},{2,982,3},{10,977,3},{13,977,3}, {13,980,3},{12,982,3},{15,985,3},{18,992,3},{17,997,3},{18,1003,3},{18,998,3}, {22,993,3},{18,985,3},{18,978,3},{22,972,3},{22,968,3},{28,958,3},{32,957,3}, {30,955,3},{30,952,3},{28,950,3},{48,940,3},{53,935,3},{53,930,3},{62,932,3}, {63,937,3},{65,942,3},{65,945,3},{67,953,3},{65,957,3},{62,957,3},{62,950,3}, {60,947,3},{60,952,3},{58,955,3},{57,955,3},{57,957,3},{60,958,3},{48,958,3}, {47,960,3},{52,960,3},{55,963,3},{60,963,3},{63,962,3},{78,963,3},{82,962,3}, {85,960,3},{93,958,3},{95,957,3},{98,957,3},{102,960,3},{102,962,3},{102,965,3}, {105,967,3},{105,973,3},{103,977,3},{97,980,3},{100,980,3},{100,982,3}, {100,988,3},{100,993,3},{100,998,3},{100,1005,3},{100,1010,3},{100,1015,3}, {100,1020,3},{100,1027,3},{100,1032,3},{100,1037,3},{100,1042,3},{100,1048,3}, {100,1053,3},{100,1058,3},{100,1065,3},{100,1070,3},{100,1075,3},{100,1080,3}, {100,1087,3},{100,1092,3},{100,1097,3},{100,1103,3},{100,1108,3},{100,1113,3}, {100,1118,3},{100,1125,3},{100,1130,3},{100,1135,3},{103,1135,3},{108,1135,3}, {113,1135,3},{118,1135,3},{125,1135,3},{130,1135,3},{135,1135,3},{140,1135,3}, {147,1135,3},{152,1135,3},{157,1135,3},{163,1135,3},{168,1135,3},{173,1135,3}, {178,1135,3},{185,1135,3},{190,1135,3},{195,1135,3},{200,1135,3},{207,1135,3}, {212,1135,3},{217,1133,3},{223,1135,3},{227,1137,3},{230,1137,3},{232,1160,3}, {233,1168,3},{228,1175,3},{230,1192,3},{228,1222,3},{232,1233,3},{228,1240,3}, {230,1248,3},{228,1257,3},{227,1260,3},{223,1275,3},{225,1280,3},{227,1282,3}, {223,1287,3},{225,1288,3},{225,1300,3},{225,1305,3},{225,1308,3},{228,1313,3}, {228,1317,3},{227,1320,3},{227,1327,3},{223,1328,3},{222,1330,3},{217,1330,3}, {205,1328,3},{198,1322,3},{195,1322,3},{190,1318,3},{190,1317,3},{187,1318,3}, {182,1320,3},{178,1317,3},{177,1317,3},{175,1315,3},{173,1317,3},{170,1315,3}, {167,1313,3},{162,1315,3},{158,1313,3},{153,1315,3},{153,1318,3},{150,1318,3}, {145,1322,3},{143,1322,3},{143,1323,3},{138,1325,3},{135,1323,3},{133,1325,3}, {130,1322,3},{128,1318,3},{125,1317,3},{125,1315,3},{123,1317,3},{122,1320,3}, {123,1332,3},{127,1332,3},{127,1337,3},{130,1337,3},{130,1342,3},{127,1352,3}, {128,1353,3},{128,1357,3},{133,1360,3},{133,1363,3},{135,1365,3},{137,1372,3}, {138,1375,3},{137,1378,3},{143,1380,3},{143,1390,3},{142,1398,3},{142,1400,3}, {138,1407,3},{140,1413,3},{138,1420,3},{132,1428,3},{130,1430,3},{125,1430,3}, {120,1435,3},{115,1435,3},{110,1440,3},{105,1440,3},{98,1443,3},{93,1450,3}, {90,1450,3},{88,1447,3},{85,1448,3},{80,1447,3},{78,1443,3},{75,1442,3}, {68,1437,3},{63,1438,3},{53,1423,3},{55,1417,3},{57,1415,3},{53,1408,3}, {50,1407,3},{48,1408,3},{43,1407,3},{38,1397,3},{28,1393,3},{22,1388,3}, {13,1392,3},{7,1392,3},{5,1395,3},{2,1393,3},{0,1395,3},{-2,1400,3},{-5,1400,3}, {-8,1402,3},{-10,1397,3},{-10,1392,3},{-13,1388,3},{-15,1390,3},{-25,1402,3}, {-27,1405,3},{-23,1407,3},{-25,1410,3},{-28,1412,3},{-28,1415,3},{-37,1418,3}, {-45,1420,3},{-42,1423,3},{-43,1427,3},{-43,1428,3},{-42,1430,3},{-43,1435,3}, {-47,1442,3},{-48,1445,3},{-52,1445,3},{-52,1448,3},{-60,1452,3},{-62,1453,3}, {-63,1453,3},{-67,1453,3},{-73,1448,3},{-80,1447,3},{-83,1448,3},{-87,1448,3}, {-93,1443,3},{-103,1443,3},{-113,1447,3},{-117,1447,3},{-120,1448,3},{-123,1450,3}, {-128,1450,3},{-132,1447,3},{-135,1447,3},{-138,1452,3},{-142,1452,3},{-143,1452,3}, {-145,1448,3},{-148,1448,3},{-150,1447,3},{-153,1450,3},{-155,1450,3},{-157,1447,3}, {-160,1443,3},{-162,1440,3},{-163,1443,3},{-168,1443,3},{-168,1448,3},{-170,1445,3}, {-175,1443,3},{-180,1445,3},{-187,1443,3},{-190,1445,3},{-193,1440,3},{-195,1433,3}, {-197,1432,3},{-198,1427,3},{-202,1427,3},{-205,1428,3},{-215,1427,3},{-217,1423,3}, {-220,1423,3},{-222,1420,3},{-225,1417,3},{-225,1418,3},{-228,1420,3},{-230,1423,3}, {-235,1427,3},{-237,1422,3},{-240,1417,3},{-243,1417,3},{-250,1412,3},{-250,1408,3}, {-248,1408,3},{-250,1402,3},{-247,1400,3},{-250,1393,3},{-247,1388,3},{-242,1388,3}, {-240,1392,3},{-238,1392,3},{-235,1395,3},{-233,1390,3},{-230,1390,3},{-223,1385,3}, {-215,1382,3},{-210,1377,3},{-215,1373,3},{-218,1373,3},{-230,1363,3},{-233,1363,3}, {-233,1360,3},{-237,1357,3},{-240,1352,3},{-243,1350,3},{-242,1343,3},{-243,1340,3}, {-237,1322,3},{-238,1315,3},{-233,1305,3},{-238,1300,3},{-233,1302,3},{-230,1302,3}, {-228,1305,3},{-227,1302,3},{-225,1302,3},{-218,1298,3},{-220,1295,3},{-218,1293,3}, {-215,1290,3},{-212,1292,3},{-210,1290,3},{-208,1292,3},{-205,1288,3},{-200,1285,3}, {-195,1285,3},{-193,1283,3},{-190,1283,3},{-188,1280,3},{-188,1277,3},{-185,1273,3}, {-182,1267,3},{-183,1263,3},{-182,1258,3},{-187,1252,3},{-188,1253,3},{-192,1252,3}, {-188,1247,3},{-187,1247,3},{-188,1245,3},{-193,1247,3},{-203,1245,3},{-208,1248,3}, {-210,1253,3},{-217,1248,3},{-223,1250,3},{-230,1247,3},{-233,1247,3},{-235,1250,3}, {-243,1250,3},{-243,1208,3},{-242,1203,3},{-235,1198,3},{-233,1195,3},{-237,1192,3}, {-238,1180,3},{-243,1175,3},{-243,1173,3},{-240,1173,3},{-240,1168,3},{-235,1168,3}, {-233,1162,3},{-233,1158,3},{-243,1160,3},{-250,1160,3},{-255,1163,3},{-262,1165,3}, {-272,1162,3},{-280,1155,3},{-285,1155,3},{-285,1158,3},{-283,1158,3},{-278,1163,3}, {-283,1182,3},{-288,1185,3},{-295,1187,3},{-295,1185,3},{-302,1180,3},{-305,1175,3}, {-308,1173,3},{-320,1185,3},{-328,1200,3},{-330,1200,3},{-335,1197,3},{-345,1197,3}, {-348,1193,3},{-350,1187,3},{-353,1187,3},{-358,1187,3},{-365,1193,3},{-368,1193,3}, {-373,1187,3},{-367,1175,3},{-345,1162,3},{-342,1157,3},{-342,1153,3},{-343,1148,3}, {-352,1148,3},{-358,1143,3},{-360,1135,3},{-368,1123,3},{-377,1120,3},{-380,1122,3}, {-395,1117,3},{100,980,131},{105,978,3},{108,985,3},{108,982,3},{110,978,3}, {110,970,3},{113,972,3},{112,968,3},{107,965,3},{103,958,3},{112,955,3}, {113,948,3},{110,940,3},{115,937,3},{118,935,3},{118,937,3},{127,940,3}, {133,945,3},{138,945,3},{150,957,3},{157,960,3},{158,962,3},{157,965,3}, {157,970,3},{160,973,3},{158,970,3},{158,965,3},{163,962,3},{167,962,3}, {177,972,3},{182,975,3},{185,975,3},{192,982,3},{210,977,3},{213,978,3}, {232,977,3},{235,982,3},{233,983,3},{228,983,3},{225,983,3},{220,993,3}, {217,1002,3},{217,1008,3},{217,1015,3},{217,1020,3},{217,1025,3},{217,1030,3}, {217,1037,3},{217,1042,3},{217,1047,3},{217,1052,3},{217,1058,3},{217,1063,3}, {217,1068,3},{217,1075,3},{217,1080,3},{217,1085,3},{217,1090,3},{217,1097,3}, {217,1102,3},{217,1107,3},{217,1112,3},{217,1118,3},{217,1123,3},{217,1128,3}, {217,1133,3},{212,1135,3},{207,1135,3},{200,1135,3},{195,1135,3},{190,1135,3}, {185,1135,3},{178,1135,3},{173,1135,3},{168,1135,3},{163,1135,3},{157,1135,3}, {152,1135,3},{147,1135,3},{140,1135,3},{135,1135,3},{130,1135,3},{125,1135,3}, {118,1135,3},{113,1135,3},{108,1135,3},{103,1135,3},{100,1135,3},{100,1130,3}, {100,1125,3},{100,1118,3},{100,1113,3},{100,1108,3},{100,1103,3},{100,1097,3}, {100,1092,3},{100,1087,3},{100,1080,3},{100,1075,3},{100,1070,3},{100,1065,3}, {100,1058,3},{100,1053,3},{100,1048,3},{100,1042,3},{100,1037,3},{100,1032,3}, {100,1027,3},{100,1020,3},{100,1015,3},{100,1010,3},{100,1005,3},{100,998,3}, {100,993,3},{100,988,3},{100,982,3},{100,980,3},{637,272,131},{645,272,3}, {657,275,3},{662,273,3},{667,277,3},{668,280,3},{677,278,3},{677,275,3}, {680,273,3},{692,275,3},{695,273,3},{700,275,3},{703,280,3},{710,275,3}, {713,278,3},{742,275,3},{743,277,3},{742,280,3},{750,282,3},{757,273,3}, {765,273,3},{782,275,3},{790,268,3},{793,270,3},{813,272,3},{815,273,3}, {820,275,3},{833,272,3},{842,272,3},{847,275,3},{852,277,3},{867,275,3}, {872,275,3},{878,273,3},{882,277,3},{885,277,3},{890,278,3},{892,277,3}, {893,278,3},{905,278,3},{907,282,3},{905,288,3},{908,290,3},{908,297,3}, {907,298,3},{908,310,3},{925,315,3},{927,317,3},{937,317,3},{943,313,3}, {950,317,3},{950,320,3},{958,327,3},{963,327,3},{965,330,3},{963,332,3}, {968,337,3},{975,333,3},{982,335,3},{985,348,3},{985,353,3},{995,362,3}, {1007,363,3},{1010,367,3},{1017,368,3},{1018,368,3},{1020,365,3},{1027,358,3}, {1038,363,3},{1042,363,3},{1045,368,3},{1040,380,3},{1047,382,3},{1050,382,3}, {1058,385,3},{1070,385,3},{1072,380,3},{1078,378,3},{1080,375,3},{1090,378,3}, {1102,375,3},{1103,373,3},{1112,373,3},{1112,370,3},{1143,347,3},{1155,352,3}, {1157,353,3},{1165,357,3},{1168,360,3},{1173,357,3},{1175,357,3},{1175,368,3}, {1182,367,3},{1183,363,3},{1192,362,3},{1198,367,3},{1210,363,3},{1225,367,3}, {1253,365,3},{1275,395,3},{1300,410,3},{1318,413,3},{1348,415,3},{1348,425,3}, {1368,447,3},{1378,488,3},{1373,492,3},{1373,500,3},{1375,512,3},{1375,528,3}, {1378,533,3},{1385,537,3},{1388,555,3},{1382,567,3},{1367,612,3},{1365,617,3}, {1368,623,3},{1368,628,3},{1360,642,3},{1335,668,3},{1310,680,3},{1300,693,3}, {1300,708,3},{1313,722,3},{1310,738,3},{1335,782,3},{1330,812,3},{1322,823,3}, {1322,827,3},{1307,843,3},{1308,848,3},{1307,857,3},{1300,863,3},{1295,867,3}, {1285,898,3},{1282,932,3},{1283,940,3},{1282,942,3},{1280,963,3},{1308,988,3}, {1307,992,3},{1313,993,3},{1327,1015,3},{1332,1047,3},{1338,1070,3},{1338,1085,3}, {1337,1107,3},{1338,1128,3},{1338,1145,3},{1327,1182,3},{1317,1202,3},{1312,1207,3}, {1310,1215,3},{1312,1218,3},{1312,1220,3},{1312,1225,3},{1308,1227,3},{1310,1230,3}, {1307,1233,3},{1307,1243,3},{1305,1248,3},{1308,1250,3},{1313,1250,3},{1315,1255,3}, {1318,1255,3},{1320,1253,3},{1322,1257,3},{1323,1257,3},{1327,1258,3},{1327,1262,3}, {1330,1263,3},{1328,1265,3},{1328,1268,3},{1332,1268,3},{1332,1272,3},{1333,1275,3}, {1338,1277,3},{1337,1280,3},{1340,1280,3},{1340,1283,3},{1343,1283,3},{1345,1287,3}, {1348,1285,3},{1347,1288,3},{1350,1288,3},{1348,1292,3},{1355,1307,3},{1355,1308,3}, {1352,1308,3},{1353,1312,3},{1352,1312,3},{1352,1313,3},{1355,1313,3},{1355,1315,3}, {1352,1315,3},{1353,1318,3},{1353,1320,3},{1357,1325,3},{1358,1323,3},{1360,1327,3}, {1362,1325,3},{1368,1332,3},{1363,1337,3},{1355,1335,3},{1353,1337,3},{1350,1338,3}, {1342,1338,3},{1337,1343,3},{1333,1348,3},{1332,1350,3},{1327,1352,3},{1322,1355,3}, {1317,1360,3},{1317,1362,3},{1313,1362,3},{1312,1360,3},{1310,1362,3},{1313,1367,3}, {1313,1368,3},{1312,1372,3},{1308,1372,3},{1307,1373,3},{1307,1377,3},{1310,1382,3}, {1310,1383,3},{1313,1385,3},{1313,1390,3},{1310,1388,3},{1305,1383,3},{1298,1378,3}, {1297,1378,3},{1300,1382,3},{1300,1385,3},{1295,1380,3},{1293,1378,3},{1293,1380,3}, {1298,1387,3},{1298,1388,3},{1297,1388,3},{1297,1387,3},{1295,1385,3},{1295,1387,3}, {1288,1387,3},{1285,1380,3},{1283,1385,3},{1282,1387,3},{1278,1385,3},{1280,1383,3}, {1280,1382,3},{1277,1385,3},{1273,1383,3},{1272,1385,3},{1270,1385,3},{1267,1383,3}, {1260,1392,3},{1258,1395,3},{1253,1397,3},{1252,1397,3},{1250,1398,3},{1248,1402,3}, {1248,1405,3},{1255,1412,3},{1255,1413,3},{1250,1418,3},{1245,1418,3},{1238,1417,3}, {1235,1422,3},{1235,1443,3},{1233,1448,3},{1232,1452,3},{1228,1452,3},{1228,1453,3}, {1225,1457,3},{1223,1455,3},{1220,1460,3},{1218,1462,3},{1218,1465,3},{1218,1467,3}, {1215,1467,3},{1212,1465,3},{1207,1463,3},{1205,1465,3},{1203,1462,3},{1197,1465,3}, {1192,1465,3},{1183,1462,3},{1177,1462,3},{1170,1455,3},{1165,1463,3},{1157,1465,3}, {1150,1462,3},{1145,1452,3},{1142,1447,3},{1140,1440,3},{1132,1430,3},{1130,1425,3}, {1125,1418,3},{1123,1415,3},{1125,1412,3},{1128,1400,3},{1117,1388,3},{1107,1385,3}, {1103,1378,3},{1093,1377,3},{1090,1372,3},{1085,1370,3},{1068,1358,3},{1065,1357,3}, {1045,1350,3},{1030,1348,3},{1023,1347,3},{1020,1347,3},{1017,1347,3},{1012,1340,3}, {1008,1328,3},{1007,1325,3},{1002,1325,3},{998,1327,3},{993,1325,3},{992,1323,3}, {987,1323,3},{980,1328,3},{973,1325,3},{967,1325,3},{965,1323,3},{958,1323,3}, {953,1318,3},{950,1302,3},{945,1297,3},{942,1295,3},{938,1288,3},{937,1287,3}, {937,1285,3},{935,1287,3},{935,1292,3},{928,1292,3},{907,1283,3},{902,1285,3}, {885,1282,3},{877,1280,3},{875,1278,3},{877,1273,3},{867,1268,3},{860,1257,3}, {863,1250,3},{860,1243,3},{862,1238,3},{850,1242,3},{842,1233,3},{843,1230,3}, {842,1227,3},{840,1225,3},{832,1223,3},{820,1225,3},{810,1220,3},{797,1222,3}, {792,1217,3},{773,1203,3},{767,1202,3},{763,1203,3},{757,1203,3},{757,1202,3}, {745,1192,3},{740,1187,3},{730,1180,3},{727,1175,3},{725,1175,3},{725,1178,3}, {722,1182,3},{712,1190,3},{708,1188,3},{707,1182,3},{703,1177,3},{700,1177,3}, {700,1172,3},{697,1168,3},{695,1163,3},{690,1158,3},{682,1155,3},{678,1158,3}, {665,1155,3},{660,1152,3},{658,1143,3},{648,1142,3},{645,1138,3},{643,1133,3}, {645,1130,3},{643,1127,3},{645,1125,3},{643,1118,3},{643,1112,3},{658,1107,3}, {668,1108,3},{673,1107,3},{678,1102,3},{678,1093,3},{680,1090,3},{683,1088,3}, {688,1088,3},{697,1085,3},{697,1078,3},{703,1068,3},{705,1062,3},{712,1062,3}, {713,1060,3},{702,1057,3},{695,1055,3},{693,1052,3},{688,1052,3},{688,1023,3}, {692,1020,3},{698,1018,3},{702,1017,3},{678,987,3},{680,980,3},{652,972,3}, {652,962,3},{645,958,3},{640,947,3},{633,943,3},{633,937,3},{620,930,3}, {608,913,3},{595,903,3},{595,900,3},{590,900,3},{590,895,3},{590,893,3}, {587,892,3},{583,887,3},{582,887,3},{578,888,3},{575,887,3},{570,883,3}, {563,890,3},{560,892,3},{550,887,3},{543,887,3},{537,883,3},{532,883,3}, {530,885,3},{518,882,3},{515,882,3},{512,877,3},{507,873,3},{503,873,3}, {492,865,3},{490,862,3},{483,863,3},{480,858,3},{482,860,3},{482,857,3}, {478,853,3},{470,853,3},{470,848,3},{475,848,3},{473,845,3},{475,840,3}, {482,843,3},{485,842,3},{480,840,3},{478,838,3},{480,835,3},{483,833,3}, {483,832,3},{487,832,3},{490,825,3},{493,823,3},{498,818,3},{497,818,3}, {492,825,3},{485,827,3},{482,827,3},{475,832,3},{472,833,3},{467,832,3}, {463,837,3},{460,833,3},{460,832,3},{455,830,3},{455,803,3},{453,798,3}, {452,773,3},{450,775,3},{450,767,3},{452,767,3},{453,757,3},{453,753,3}, {457,755,3},{463,753,3},{467,753,3},{470,755,3},{468,752,3},{463,752,3}, {460,753,3},{457,750,3},{457,747,3},{455,745,3},{455,742,3},{460,732,3}, {460,728,3},{457,727,3},{455,727,3},{453,730,3},{453,733,3},{450,733,3}, {450,728,3},{462,718,3},{467,718,3},{465,715,3},{468,710,3},{475,707,3}, {472,705,3},{472,708,3},{467,708,3},{463,715,3},{460,717,3},{457,718,3}, {455,715,3},{453,718,3},{452,718,3},{447,717,3},{447,712,3},{445,710,3}, {447,708,3},{450,708,3},{448,705,3},{443,708,3},{443,705,3},{458,700,3}, {458,702,3},{465,703,3},{472,700,3},{468,698,3},{472,697,3},{468,697,3}, {460,698,3},{462,695,3},{468,690,3},{460,693,3},{458,692,3},{457,693,3}, {460,695,3},{458,698,3},{448,698,3},{438,702,3},{437,700,3},{438,697,3}, {437,697,3},{438,692,3},{438,687,3},{445,687,3},{445,685,3},{455,682,3}, {457,682,3},{460,685,3},{467,678,3},{475,677,3},{480,678,3},{480,677,3}, {483,675,3},{482,673,3},{483,672,3},{478,672,3},{477,675,3},{467,677,3}, {460,682,3},{457,680,3},{453,680,3},{440,683,3},{435,687,3},{433,673,3}, {435,672,3},{448,672,3},{457,675,3},{460,673,3},{452,670,3},{442,670,3}, {450,668,3},{453,668,3},{450,665,3},{442,667,3},{440,668,3},{433,670,3}, {433,662,3},{438,660,3},{447,660,3},{450,655,3},{447,658,3},{437,657,3}, {433,658,3},{432,647,3},{435,643,3},{433,640,3},{432,642,3},{430,625,3}, {432,625,3},{437,627,3},{443,633,3},{443,630,3},{442,630,3},{438,627,3}, {445,627,3},{450,623,3},{443,625,3},{440,625,3},{443,623,3},{443,620,3}, {438,623,3},{433,622,3},{432,620,3},{430,620,3},{430,622,3},{428,623,3}, {427,610,3},{428,608,3},{433,608,3},{437,610,3},{437,608,3},{442,608,3}, {442,605,3},{435,605,3},{432,607,3},{428,605,3},{430,603,3},{432,600,3}, {433,598,3},{435,600,3},{438,600,3},{442,598,3},{438,598,3},{438,597,3}, {438,595,3},{435,597,3},{433,597,3},{438,587,3},{440,585,3},{443,587,3}, {443,585,3},{442,585,3},{445,578,3},{447,580,3},{448,573,3},{463,560,3}, {472,555,3},{472,557,3},{472,558,3},{473,557,3},{475,553,3},{485,547,3}, {483,552,3},{490,547,3},{502,543,3},{512,538,3},{513,538,3},{513,543,3}, {508,547,3},{515,545,3},{515,550,3},{518,545,3},{515,543,3},{515,537,3}, {530,535,3},{535,533,3},{537,542,3},{537,545,3},{533,547,3},{538,550,3}, {538,558,3},{540,555,3},{548,553,3},{550,555,3},{550,562,3},{553,563,3}, {552,560,3},{552,555,3},{548,552,3},{543,550,3},{540,548,3},{540,545,3}, {543,545,3},{543,542,3},{540,542,3},{540,543,3},{538,538,3},{543,525,3}, {550,520,3},{555,518,3},{558,522,3},{558,530,3},{555,538,3},{563,543,3}, {558,552,3},{562,550,3},{565,545,3},{563,542,3},{562,540,3},{560,538,3}, {562,532,3},{563,532,3},{570,535,3},{572,533,3},{562,528,3},{560,523,3}, {557,518,3},{560,515,3},{570,508,3},{577,510,3},{580,512,3},{577,515,3}, {582,515,3},{585,520,3},{585,525,3},{590,528,3},{590,527,3},{587,523,3}, {587,520,3},{580,510,3},{575,505,3},{585,502,3},{597,492,3},{605,482,3}, {613,475,3},{625,458,3},{630,453,3},{637,440,3},{642,408,3},{643,380,3}, {642,342,3},{645,338,3},{645,340,3},{645,342,3},{645,343,3},{643,343,3}, {642,343,3},{645,347,3},{645,353,3},{647,357,3},{650,357,3},{653,372,3}, {653,375,3},{658,377,3},{660,385,3},{662,385,3},{662,377,3},{660,372,3}, {655,363,3},{655,358,3},{652,352,3},{653,348,3},{658,348,3},{660,347,3}, {655,343,3},{655,340,3},{650,340,3},{645,337,3},{642,338,3},{642,340,3}, {638,338,3},{640,323,3},{638,310,3},{638,293,3},{637,272,3},{1175,357,131}, {1185,347,3},{1185,343,3},{1188,338,3},{1188,332,3},{1195,327,3},{1202,325,3}, {1205,322,3},{1212,317,3},{1218,305,3},{1227,302,3},{1230,295,3},{1233,292,3}, {1240,283,3},{1238,278,3},{1235,275,3},{1235,272,3},{1228,268,3},{1230,267,3}, {1230,265,3},{1228,262,3},{1230,260,3},{1227,253,3},{1228,252,3},{1227,250,3}, {1227,247,3},{1225,247,3},{1227,243,3},{1223,238,3},{1208,240,3},{1203,243,3}, {1202,247,3},{1198,247,3},{1198,245,3},{1195,243,3},{1195,240,3},{1193,238,3}, {1190,242,3},{1188,240,3},{1195,235,3},{1200,232,3},{1205,228,3},{1212,223,3}, {1217,220,3},{1222,217,3},{1227,212,3},{1235,207,3},{1238,208,3},{1238,212,3}, {1242,217,3},{1240,217,3},{1242,227,3},{1247,227,3},{1252,223,3},{1260,222,3}, {1263,220,3},{1265,215,3},{1270,215,3},{1273,210,3},{1272,203,3},{1273,198,3}, {1272,197,3},{1270,193,3},{1263,188,3},{1262,187,3},{1262,180,3},{1262,175,3}, {1262,170,3},{1263,165,3},{1263,158,3},{1270,150,3},{1273,145,3},{1278,140,3}, {1283,135,3},{1287,128,3},{1292,123,3},{1295,118,3},{1302,112,3},{1302,102,3}, {1305,98,3},{1335,98,3},{1337,100,3},{1337,102,3},{1332,118,3},{1335,120,3}, {1337,120,3},{1335,123,3},{1333,125,3},{1335,128,3},{1340,125,3},{1340,117,3}, {1347,103,3},{1357,100,3},{1362,90,3},{1362,83,3},{1365,77,3},{1367,78,3}, {1368,77,3},{1368,62,3},{1372,60,3},{1378,62,3},{1378,58,3},{1392,47,3}, {1395,47,3},{1398,42,3},{1402,42,3},{1405,38,3},{1408,40,3},{1413,35,3}, {1418,40,3},{1423,40,3},{1425,42,3},{1437,32,3},{1437,30,3},{1447,18,3}, {1452,17,3},{1475,23,3},{1483,20,3},{1488,23,3},{1492,23,3},{1500,23,3}, {1497,40,3},{1500,52,3},{1495,70,3},{1497,75,3},{1498,97,3},{1500,100,3}, {1528,132,3},{1528,140,3},{1530,145,3},{1530,152,3},{1530,157,3},{1530,162,3}, {1530,167,3},{1530,172,3},{1532,178,3},{1532,183,3},{1532,188,3},{1532,193,3}, {1532,200,3},{1532,205,3},{1533,210,3},{1533,215,3},{1533,220,3},{1533,227,3}, {1533,232,3},{1533,237,3},{1533,242,3},{1535,247,3},{1535,253,3},{1535,263,3}, {1533,302,3},{1543,303,3},{1535,352,3},{1550,353,3},{1555,362,3},{1565,372,3}, {1567,382,3},{1572,388,3},{1575,390,3},{1590,392,3},{1598,400,3},{1608,398,3}, {1623,405,3},{1630,407,3},{1635,412,3},{1640,420,3},{1645,420,3},{1650,420,3}, {1655,420,3},{1660,420,3},{1665,420,3},{1670,420,3},{1675,420,3},{1680,420,3}, {1685,422,3},{1690,422,3},{1697,422,3},{1698,422,3},{1700,425,3},{1705,425,3}, {1710,425,3},{1715,425,3},{1720,425,3},{1725,425,3},{1730,425,3},{1735,425,3}, {1740,425,3},{1747,425,3},{1752,425,3},{1757,425,3},{1762,425,3},{1767,425,3}, {1772,425,3},{1777,425,3},{1782,425,3},{1787,425,3},{1792,425,3},{1797,425,3}, {1803,425,3},{1808,425,3},{1813,425,3},{1818,425,3},{1823,425,3},{1828,425,3}, {1835,425,3},{1840,425,3},{1845,425,3},{1850,425,3},{1855,425,3},{1860,425,3}, {1867,425,3},{1872,425,3},{1877,425,3},{1882,425,3},{1887,425,3},{1892,425,3}, {1897,425,3},{1902,425,3},{1907,425,3},{1912,425,3},{1915,425,3},{1915,430,3}, {1917,435,3},{1918,442,3},{1918,447,3},{1920,452,3},{1922,458,3},{1922,463,3}, {1923,468,3},{1925,473,3},{1925,480,3},{1927,485,3},{1927,490,3},{1928,497,3}, {1930,502,3},{1930,507,3},{1932,513,3},{1933,518,3},{1933,523,3},{1935,528,3}, {1935,535,3},{1937,540,3},{1938,545,3},{1938,552,3},{1940,557,3},{1942,562,3}, {1942,568,3},{1943,573,3},{1943,578,3},{1948,585,3},{1953,590,3},{1958,597,3}, {1963,602,3},{1967,608,3},{1972,613,3},{1977,618,3},{1982,625,3},{1987,630,3}, {1992,637,3},{1997,642,3},{2002,647,3},{2007,653,3},{2012,658,3},{2017,665,3}, {2022,670,3},{2027,677,3},{2032,682,3},{2037,687,3},{2040,693,3},{2045,698,3}, {2050,705,3},{2055,710,3},{2060,717,3},{2065,722,3},{2070,727,3},{2075,733,3}, {2080,738,3},{2085,745,3},{2088,750,3},{2092,757,3},{2095,762,3},{2098,768,3}, {2102,773,3},{2107,780,3},{2110,785,3},{2113,792,3},{2117,798,3},{2120,803,3}, {2123,810,3},{2128,815,3},{2132,822,3},{2135,827,3},{2138,833,3},{2142,838,3}, {2145,845,3},{2148,850,3},{2153,857,3},{2157,863,3},{2160,868,3},{2163,875,3}, {2167,880,3},{2170,887,3},{2173,892,3},{2178,898,3},{2182,905,3},{2185,910,3}, {2188,917,3},{2192,922,3},{2195,928,3},{2198,935,3},{2202,940,3},{2207,947,3}, {2210,952,3},{2213,958,3},{2217,963,3},{2220,970,3},{2223,977,3},{2227,982,3}, {2230,988,3},{2235,993,3},{2238,1000,3},{2242,1007,3},{2245,1012,3},{2248,1018,3}, {2252,1023,3},{2255,1030,3},{2258,1037,3},{2262,1042,3},{2267,1048,3},{2270,1055,3}, {2273,1060,3},{2277,1067,3},{2280,1072,3},{2283,1078,3},{2287,1085,3},{2290,1090,3}, {2293,1097,3},{2297,1102,3},{2300,1108,3},{2305,1115,3},{2308,1120,3},{2312,1127,3}, {2315,1133,3},{2318,1138,3},{2322,1145,3},{2325,1152,3},{2328,1157,3},{2332,1163,3}, {2335,1170,3},{2338,1175,3},{2342,1182,3},{2347,1187,3},{2350,1193,3},{2352,1198,3}, {2350,1207,3},{2348,1213,3},{2348,1218,3},{2347,1225,3},{2345,1232,3},{2343,1237,3}, {2343,1243,3},{2342,1248,3},{2340,1255,3},{2338,1260,3},{2338,1267,3},{2337,1272,3}, {2335,1278,3},{2333,1285,3},{2333,1290,3},{2332,1297,3},{2330,1302,3},{2328,1308,3}, {2327,1313,3},{2327,1320,3},{2325,1325,3},{2323,1332,3},{2322,1337,3},{2320,1343,3}, {2318,1350,3},{2317,1355,3},{2313,1360,3},{2310,1363,3},{2307,1368,3},{2303,1372,3}, {2300,1377,3},{2297,1382,3},{2293,1385,3},{2290,1390,3},{2287,1393,3},{2282,1398,3}, {2278,1402,3},{2275,1407,3},{2272,1410,3},{2268,1415,3},{2265,1420,3},{2262,1423,3}, {2263,1427,3},{2267,1432,3},{2268,1438,3},{2272,1445,3},{2275,1452,3},{2278,1457,3}, {2282,1463,3},{2285,1470,3},{2288,1475,3},{2292,1482,3},{2293,1488,3},{2297,1493,3}, {2300,1500,3},{2295,1502,3},{2288,1502,3},{2283,1503,3},{2278,1505,3},{2272,1505,3}, {2267,1507,3},{2262,1507,3},{2255,1508,3},{2250,1510,3},{2245,1510,3},{2240,1512,3}, {2233,1513,3},{2228,1513,3},{2223,1515,3},{2217,1517,3},{2212,1517,3},{2207,1518,3}, {2200,1520,3},{2195,1520,3},{2188,1520,3},{2183,1520,3},{2178,1520,3},{2172,1520,3}, {2167,1520,3},{2162,1520,3},{2157,1520,3},{2150,1520,3},{2147,1525,3},{2143,1530,3}, {2138,1532,3},{2135,1535,3},{2130,1538,3},{2127,1542,3},{2122,1545,3},{2117,1547,3}, {2113,1550,3},{2108,1553,3},{2105,1557,3},{2100,1560,3},{2097,1562,3},{2093,1558,3}, {2088,1555,3},{2083,1555,3},{2078,1557,3},{2073,1562,3},{2070,1565,3},{2067,1570,3}, {2062,1575,3},{2058,1578,3},{2053,1582,3},{2050,1587,3},{2045,1590,3},{2040,1595,3}, {2037,1598,3},{2032,1597,3},{2027,1595,3},{2020,1592,3},{2015,1588,3},{2010,1585,3}, {2005,1582,3},{2000,1578,3},{1993,1577,3},{1988,1575,3},{1982,1573,3},{1977,1573,3}, {1972,1573,3},{1967,1572,3},{1960,1572,3},{1955,1570,3},{1950,1570,3},{1945,1568,3}, {1938,1568,3},{1933,1567,3},{1928,1567,3},{1922,1567,3},{1917,1565,3},{1912,1565,3}, {1907,1563,3},{1900,1563,3},{1895,1563,3},{1890,1562,3},{1885,1562,3},{1878,1560,3}, {1873,1560,3},{1867,1560,3},{1862,1560,3},{1857,1558,3},{1852,1558,3},{1845,1558,3}, {1840,1558,3},{1835,1558,3},{1828,1557,3},{1823,1557,3},{1818,1557,3},{1813,1557,3}, {1807,1557,3},{1802,1557,3},{1797,1555,3},{1790,1555,3},{1785,1555,3},{1780,1555,3}, {1775,1555,3},{1768,1555,3},{1763,1553,3},{1758,1553,3},{1752,1553,3},{1747,1553,3}, {1742,1553,3},{1737,1552,3},{1733,1552,3},{1728,1552,3},{1723,1552,3},{1717,1550,3}, {1712,1550,3},{1707,1550,3},{1702,1550,3},{1695,1550,3},{1690,1548,3},{1685,1545,3}, {1682,1540,3},{1677,1537,3},{1673,1533,3},{1670,1528,3},{1665,1525,3},{1662,1522,3}, {1657,1517,3},{1653,1513,3},{1650,1510,3},{1645,1507,3},{1642,1502,3},{1637,1498,3}, {1633,1495,3},{1630,1490,3},{1625,1487,3},{1622,1483,3},{1617,1478,3},{1613,1475,3}, {1610,1472,3},{1605,1467,3},{1602,1463,3},{1597,1460,3},{1593,1457,3},{1590,1452,3}, {1585,1448,3},{1582,1445,3},{1577,1440,3},{1573,1437,3},{1568,1433,3},{1562,1428,3}, {1557,1425,3},{1552,1422,3},{1547,1418,3},{1540,1413,3},{1535,1410,3},{1530,1407,3}, {1525,1402,3},{1520,1398,3},{1517,1395,3},{1512,1392,3},{1508,1390,3},{1502,1385,3}, {1497,1383,3},{1492,1380,3},{1487,1377,3},{1480,1378,3},{1475,1378,3},{1470,1377,3}, {1472,1373,3},{1468,1370,3},{1463,1367,3},{1462,1368,3},{1457,1368,3},{1453,1363,3}, {1452,1358,3},{1450,1353,3},{1448,1348,3},{1443,1347,3},{1438,1347,3},{1433,1348,3}, {1427,1350,3},{1422,1352,3},{1417,1352,3},{1410,1353,3},{1405,1355,3},{1400,1357,3}, {1397,1352,3},{1393,1347,3},{1393,1337,3},{1392,1333,3},{1390,1328,3},{1388,1323,3}, {1385,1322,3},{1382,1325,3},{1378,1325,3},{1377,1327,3},{1375,1333,3},{1372,1335,3}, {1370,1332,3},{1368,1332,3},{1362,1325,3},{1360,1327,3},{1358,1323,3},{1357,1325,3}, {1353,1320,3},{1353,1318,3},{1352,1315,3},{1355,1315,3},{1355,1313,3},{1352,1313,3}, {1352,1312,3},{1353,1312,3},{1352,1308,3},{1355,1308,3},{1355,1307,3},{1348,1292,3}, {1350,1288,3},{1347,1288,3},{1348,1285,3},{1345,1287,3},{1343,1283,3},{1340,1283,3}, {1340,1280,3},{1337,1280,3},{1338,1277,3},{1333,1275,3},{1332,1272,3},{1332,1268,3}, {1328,1268,3},{1328,1265,3},{1330,1263,3},{1327,1262,3},{1327,1258,3},{1323,1257,3}, {1322,1257,3},{1320,1253,3},{1318,1255,3},{1315,1255,3},{1313,1250,3},{1308,1250,3}, {1305,1248,3},{1307,1243,3},{1307,1233,3},{1310,1230,3},{1308,1227,3},{1312,1225,3}, {1312,1220,3},{1312,1218,3},{1310,1215,3},{1312,1207,3},{1317,1202,3},{1327,1182,3}, {1338,1145,3},{1338,1128,3},{1337,1107,3},{1338,1085,3},{1338,1070,3},{1332,1047,3}, {1327,1015,3},{1313,993,3},{1307,992,3},{1308,988,3},{1280,963,3},{1282,942,3}, {1283,940,3},{1282,932,3},{1285,898,3},{1295,867,3},{1300,863,3},{1307,857,3}, {1308,848,3},{1307,843,3},{1322,827,3},{1322,823,3},{1330,812,3},{1335,782,3}, {1310,738,3},{1313,722,3},{1300,708,3},{1300,693,3},{1310,680,3},{1335,668,3}, {1360,642,3},{1368,628,3},{1368,623,3},{1365,617,3},{1367,612,3},{1382,567,3}, {1388,555,3},{1385,537,3},{1378,533,3},{1375,528,3},{1375,512,3},{1373,500,3}, {1373,492,3},{1378,488,3},{1368,447,3},{1348,425,3},{1348,415,3},{1318,413,3}, {1300,410,3},{1275,395,3},{1253,365,3},{1225,367,3},{1210,363,3},{1198,367,3}, {1192,362,3},{1183,363,3},{1182,367,3},{1175,368,3},{1175,357,3},{3023,953,131}, {3028,952,3},{3035,952,3},{3040,950,3},{3045,948,3},{3052,947,3},{3057,945,3}, {3062,943,3},{3067,943,3},{3073,942,3},{3078,940,3},{3083,938,3},{3090,937,3}, {3095,935,3},{3100,933,3},{3107,933,3},{3112,932,3},{3117,930,3},{3122,928,3}, {3128,927,3},{3133,925,3},{3138,923,3},{3145,923,3},{3150,922,3},{3155,920,3}, {3162,918,3},{3167,917,3},{3172,915,3},{3178,913,3},{3183,913,3},{3188,912,3}, {3193,910,3},{3200,908,3},{3205,907,3},{3210,905,3},{3213,898,3},{3217,895,3}, {3220,888,3},{3223,883,3},{3228,877,3},{3230,872,3},{3235,865,3},{3238,858,3}, {3242,855,3},{3245,848,3},{3248,843,3},{3253,835,3},{3257,835,3},{3263,833,3}, {3268,833,3},{3273,832,3},{3280,832,3},{3283,830,3},{3312,808,3},{3312,802,3}, {3320,787,3},{3320,778,3},{3323,773,3},{3343,772,3},{3368,755,3},{3375,755,3}, {3378,752,3},{3388,750,3},{3410,753,3},{3413,758,3},{3420,763,3},{3425,778,3}, {3433,782,3},{3438,783,3},{3442,785,3},{3453,812,3},{3458,818,3},{3462,820,3}, {3465,825,3},{3468,822,3},{3475,828,3},{3492,827,3},{3502,832,3},{3512,833,3}, {3515,838,3},{3520,840,3},{3523,845,3},{3527,843,3},{3528,833,3},{3533,832,3}, {3543,832,3},{3553,837,3},{3568,833,3},{3575,828,3},{3582,827,3},{3590,827,3}, {3607,830,3},{3615,833,3},{3622,832,3},{3628,833,3},{3635,837,3},{3645,837,3}, {3648,830,3},{3648,820,3},{3652,818,3},{3655,820,3},{3660,835,3},{3663,838,3}, {3667,845,3},{3675,848,3},{3675,847,3},{3677,842,3},{3680,843,3},{3680,848,3}, {3680,855,3},{3683,865,3},{3687,865,3},{3690,862,3},{3693,862,3},{3697,870,3}, {3697,877,3},{3698,883,3},{3703,892,3},{3715,905,3},{3718,915,3},{3723,920,3}, {3723,933,3},{3727,942,3},{3727,945,3},{3730,953,3},{3730,958,3},{3733,965,3}, {3733,973,3},{3733,985,3},{3728,987,3},{3725,985,3},{3723,978,3},{3718,978,3}, {3715,980,3},{3713,985,3},{3715,990,3},{3720,993,3},{3722,993,3},{3722,982,3}, {3727,988,3},{3725,992,3},{3725,998,3},{3727,1005,3},{3723,1008,3},{3723,1013,3}, {3720,1020,3},{3718,1022,3},{3718,1027,3},{3717,1023,3},{3715,1022,3},{3717,1022,3}, {3717,1015,3},{3715,1013,3},{3713,1022,3},{3712,1023,3},{3710,1023,3},{3710,1020,3}, {3707,1017,3},{3703,1017,3},{3698,1020,3},{3688,1035,3},{3683,1030,3},{3682,1028,3}, {3683,1028,3},{3685,1027,3},{3683,1020,3},{3678,1020,3},{3678,1025,3},{3680,1028,3}, {3678,1028,3},{3675,1032,3},{3672,1042,3},{3678,1053,3},{3685,1057,3},{3688,1060,3}, {3688,1072,3},{3700,1088,3},{3705,1090,3},{3708,1105,3},{3705,1107,3},{3702,1105,3}, {3687,1112,3},{3675,1098,3},{3665,1090,3},{3647,1080,3},{3643,1068,3},{3637,1053,3}, {3625,1047,3},{3612,1045,3},{3605,1047,3},{3600,1052,3},{3597,1052,3},{3592,1058,3}, {3585,1062,3},{3580,1068,3},{3578,1070,3},{3577,1073,3},{3578,1082,3},{3573,1082,3}, {3570,1083,3},{3563,1103,3},{3555,1102,3},{3552,1103,3},{3552,1105,3},{3540,1102,3}, {3535,1102,3},{3530,1107,3},{3523,1115,3},{3523,1112,3},{3517,1107,3},{3513,1102,3}, {3505,1102,3},{3497,1092,3},{3487,1090,3},{3483,1085,3},{3480,1085,3},{3475,1077,3}, {3467,1073,3},{3463,1063,3},{3453,1057,3},{3450,1043,3},{3440,1033,3},{3442,1028,3}, {3438,1027,3},{3432,1012,3},{3417,1000,3},{3402,1003,3},{3393,1008,3},{3383,1017,3}, {3370,1033,3},{3363,1048,3},{3367,1060,3},{3370,1067,3},{3370,1072,3},{3360,1072,3}, {3353,1067,3},{3348,1070,3},{3347,1075,3},{3355,1092,3},{3358,1093,3},{3362,1090,3}, {3362,1097,3},{3363,1098,3},{3362,1105,3},{3358,1108,3},{3353,1112,3},{3337,1110,3}, {3337,1113,3},{3333,1117,3},{3328,1128,3},{3330,1113,3},{3328,1112,3},{3325,1117,3}, {3322,1117,3},{3322,1123,3},{3318,1135,3},{3318,1142,3},{3320,1143,3},{3327,1133,3}, {3320,1143,3},{3317,1153,3},{3290,1147,3},{3283,1148,3},{3265,1147,3},{3262,1148,3}, {3255,1155,3},{3252,1157,3},{3248,1158,3},{3245,1157,3},{3237,1145,3},{3213,1088,3}, {3202,1080,3},{3200,1075,3},{3197,1072,3},{3197,1070,3},{3198,1065,3},{3197,1062,3}, {3187,1062,3},{3175,1052,3},{3173,1048,3},{3173,1033,3},{3170,1028,3},{3160,1022,3}, {3152,1013,3},{3142,1012,3},{3107,1027,3},{3100,1025,3},{3092,1028,3},{3073,1022,3}, {3065,1012,3},{3058,1008,3},{3035,988,3},{3035,977,3},{3032,973,3},{3023,953,3}, {1915,425,131},{1913,418,3},{1913,413,3},{1912,408,3},{1910,403,3},{1910,397,3}, {1908,392,3},{1908,387,3},{1907,380,3},{1905,375,3},{1905,370,3},{1903,365,3}, {1902,358,3},{1902,353,3},{1900,348,3},{1900,342,3},{1898,337,3},{1898,333,3}, {1905,325,3},{1907,320,3},{1912,313,3},{1915,312,3},{1923,315,3},{1925,320,3}, {1933,320,3},{1938,328,3},{1942,327,3},{1945,325,3},{1952,325,3},{1953,322,3}, {1957,322,3},{1982,323,3},{1985,315,3},{1990,308,3},{1995,297,3},{1997,282,3}, {2000,272,3},{2000,258,3},{2002,257,3},{2002,252,3},{2005,248,3},{2005,242,3}, {2018,235,3},{2023,228,3},{2028,220,3},{2023,212,3},{2022,208,3},{2027,198,3}, {2023,193,3},{2023,190,3},{2030,188,3},{2030,180,3},{2042,167,3},{2053,167,3}, {2057,163,3},{2063,148,3},{2065,137,3},{2073,132,3},{2073,117,3},{2080,117,3}, {2100,120,3},{2110,117,3},{2112,115,3},{2115,110,3},{2117,105,3},{2120,100,3}, {2123,95,3},{2127,90,3},{2130,85,3},{2133,80,3},{2137,75,3},{2140,70,3}, {2142,65,3},{2145,60,3},{2148,55,3},{2152,50,3},{2155,45,3},{2158,40,3}, {2162,35,3},{2163,30,3},{2167,25,3},{2170,20,3},{2173,15,3},{2177,10,3}, {2180,5,3},{2183,0,3},{2185,-3,3},{2188,-8,3},{2192,-13,3},{2195,-18,3}, {2200,-23,3},{2203,-28,3},{2207,-33,3},{2210,-38,3},{2213,-43,3},{2217,-48,3}, {2220,-53,3},{2223,-58,3},{2227,-63,3},{2230,-68,3},{2233,-73,3},{2237,-78,3}, {2240,-83,3},{2243,-88,3},{2248,-93,3},{2252,-100,3},{2255,-105,3},{2258,-110,3}, {2262,-115,3},{2265,-120,3},{2268,-125,3},{2272,-130,3},{2275,-135,3},{2278,-140,3}, {2282,-145,3},{2285,-150,3},{2288,-155,3},{2292,-160,3},{2295,-165,3},{2298,-170,3}, {2302,-175,3},{2305,-180,3},{2308,-185,3},{2313,-190,3},{2317,-195,3},{2320,-200,3}, {2323,-205,3},{2327,-210,3},{2330,-215,3},{2333,-222,3},{2337,-227,3},{2340,-232,3}, {2343,-237,3},{2347,-242,3},{2350,-247,3},{2353,-252,3},{2357,-257,3},{2360,-262,3}, {2363,-267,3},{2367,-272,3},{2370,-277,3},{2373,-283,3},{2377,-288,3},{2380,-293,3}, {2383,-298,3},{2387,-303,3},{2390,-308,3},{2393,-313,3},{2397,-318,3},{2400,-323,3}, {2403,-328,3},{2407,-335,3},{2410,-340,3},{2413,-345,3},{2417,-350,3},{2420,-355,3}, {2423,-360,3},{2427,-365,3},{2430,-370,3},{2433,-375,3},{2437,-382,3},{2440,-387,3}, {2443,-392,3},{2447,-397,3},{2450,-402,3},{2453,-407,3},{2457,-412,3},{2460,-418,3}, {2463,-423,3},{2467,-428,3},{2470,-433,3},{2473,-438,3},{2477,-443,3},{2480,-448,3}, {2483,-455,3},{2487,-460,3},{2490,-465,3},{2493,-470,3},{2497,-475,3},{2500,-480,3}, {2502,-483,3},{2505,-488,3},{2508,-493,3},{2512,-498,3},{2515,-505,3},{2518,-510,3}, {2522,-515,3},{2525,-520,3},{2528,-525,3},{2532,-530,3},{2535,-537,3},{2538,-542,3}, {2540,-547,3},{2543,-552,3},{2547,-557,3},{2550,-563,3},{2553,-568,3},{2557,-573,3}, {2560,-578,3},{2563,-583,3},{2567,-590,3},{2570,-595,3},{2573,-600,3},{2577,-605,3}, {2580,-610,3},{2583,-617,3},{2587,-622,3},{2590,-627,3},{2593,-632,3},{2595,-638,3}, {2598,-643,3},{2602,-648,3},{2605,-653,3},{2608,-658,3},{2612,-665,3},{2615,-670,3}, {2618,-675,3},{2622,-680,3},{2625,-687,3},{2628,-692,3},{2632,-697,3},{2635,-702,3}, {2637,-708,3},{2640,-713,3},{2643,-718,3},{2647,-723,3},{2650,-730,3},{2653,-735,3}, {2657,-740,3},{2660,-745,3},{2663,-752,3},{2667,-757,3},{2670,-762,3},{2672,-768,3}, {2675,-773,3},{2678,-778,3},{2682,-783,3},{2685,-790,3},{2688,-795,3},{2692,-800,3}, {2695,-805,3},{2698,-812,3},{2700,-817,3},{2703,-822,3},{2707,-828,3},{2710,-833,3}, {2713,-838,3},{2717,-845,3},{2720,-850,3},{2723,-855,3},{2725,-860,3},{2728,-867,3}, {2767,-867,3},{2770,-867,3},{2777,-867,3},{2783,-867,3},{2790,-867,3},{2797,-867,3}, {2803,-867,3},{2810,-867,3},{2817,-867,3},{2823,-867,3},{2830,-867,3},{2835,-867,3}, {2840,-867,3},{2847,-867,3},{2853,-867,3},{2860,-867,3},{2867,-867,3},{2872,-867,3}, {2878,-850,3},{2883,-847,3},{2885,-842,3},{2892,-837,3},{2895,-830,3},{2905,-817,3}, {2912,-800,3},{2915,-797,3},{2925,-780,3},{2930,-775,3},{2932,-770,3},{2938,-765,3}, {2940,-758,3},{2938,-748,3},{2940,-743,3},{2947,-735,3},{2953,-730,3},{2963,-712,3}, {2962,-698,3},{2962,-683,3},{2957,-670,3},{2957,-658,3},{2963,-650,3},{2975,-648,3}, {2982,-648,3},{2983,-647,3},{2980,-640,3},{2982,-632,3},{2980,-622,3},{2985,-615,3}, {2983,-600,3},{2988,-578,3},{2990,-553,3},{2995,-548,3},{3000,-535,3},{3010,-522,3}, {3025,-508,3},{3045,-497,3},{3050,-492,3},{3058,-468,3},{3063,-458,3},{3063,-447,3}, {3065,-440,3},{3068,-435,3},{3077,-417,3},{3092,-402,3},{3093,-385,3},{3093,-372,3}, {3097,-363,3},{3102,-360,3},{3110,-360,3},{3112,-365,3},{3117,-370,3},{3118,-373,3}, {3117,-377,3},{3115,-380,3},{3117,-383,3},{3123,-380,3},{3133,-380,3},{3140,-372,3}, {3143,-375,3},{3143,-382,3},{3148,-385,3},{3165,-383,3},{3170,-382,3},{3172,-368,3}, {3167,-352,3},{3173,-338,3},{3175,-327,3},{3183,-300,3},{3185,-297,3},{3190,-295,3}, {3203,-293,3},{3208,-285,3},{3208,-273,3},{3213,-250,3},{3215,-233,3},{3212,-177,3}, {3212,-145,3},{3208,-125,3},{3210,-118,3},{3213,-117,3},{3217,-120,3},{3217,-122,3}, {3217,-130,3},{3222,-125,3},{3230,-123,3},{3233,-125,3},{3240,-120,3},{3242,-112,3}, {3245,-107,3},{3250,-102,3},{3267,-127,3},{3270,-130,3},{3272,-138,3},{3293,-155,3}, {3298,-148,3},{3307,-148,3},{3310,-155,3},{3315,-158,3},{3320,-160,3},{3323,-165,3}, {3327,-167,3},{3338,-167,3},{3352,-160,3},{3355,-160,3},{3360,-160,3},{3365,-165,3}, {3370,-173,3},{3377,-168,3},{3388,-172,3},{3408,-165,3},{3435,-175,3},{3438,-180,3}, {3448,-168,3},{3450,-173,3},{3462,-185,3},{3465,-180,3},{3472,-178,3},{3475,-175,3}, {3482,-188,3},{3487,-197,3},{3493,-200,3},{3493,-207,3},{3500,-213,3},{3502,-218,3}, {3503,-220,3},{3508,-220,3},{3508,-218,3},{3510,-215,3},{3507,-207,3},{3508,-200,3}, {3507,-197,3},{3512,-178,3},{3517,-170,3},{3518,-165,3},{3523,-160,3},{3530,-147,3}, {3532,-137,3},{3538,-127,3},{3557,-118,3},{3557,-115,3},{3563,-107,3},{3568,-103,3}, {3570,-98,3},{3572,-93,3},{3572,-90,3},{3573,-85,3},{3577,-82,3},{3577,-80,3}, {3575,-78,3},{3575,-72,3},{3572,-70,3},{3572,-65,3},{3572,-62,3},{3577,-57,3}, {3577,-53,3},{3583,-48,3},{3588,-48,3},{3588,-43,3},{3590,-37,3},{3590,-35,3}, {3587,-30,3},{3583,-30,3},{3580,-23,3},{3578,-12,3},{3583,0,3},{3588,5,3}, {3605,13,3},{3612,22,3},{3613,30,3},{3620,35,3},{3622,45,3},{3633,65,3}, {3633,75,3},{3638,87,3},{3640,92,3},{3645,95,3},{3648,105,3},{3648,115,3}, {3650,117,3},{3650,127,3},{3655,135,3},{3652,148,3},{3653,153,3},{3653,157,3}, {3657,183,3},{3657,203,3},{3663,233,3},{3662,240,3},{3660,242,3},{3658,257,3}, {3660,263,3},{3668,278,3},{3672,283,3},{3675,285,3},{3680,290,3},{3680,293,3}, {3680,303,3},{3675,308,3},{3673,313,3},{3675,322,3},{3678,323,3},{3680,322,3}, {3682,325,3},{3678,330,3},{3677,348,3},{3682,363,3},{3688,375,3},{3692,388,3}, {3690,393,3},{3688,410,3},{3690,415,3},{3688,420,3},{3690,427,3},{3690,438,3}, {3692,443,3},{3690,448,3},{3688,455,3},{3690,478,3},{3677,510,3},{3672,508,3}, {3667,517,3},{3665,525,3},{3663,533,3},{3665,542,3},{3670,553,3},{3677,558,3}, {3678,565,3},{3682,572,3},{3683,577,3},{3682,582,3},{3683,600,3},{3692,623,3}, {3695,627,3},{3698,625,3},{3702,627,3},{3708,637,3},{3708,647,3},{3705,655,3}, {3702,658,3},{3700,657,3},{3697,660,3},{3695,667,3},{3695,675,3},{3695,678,3}, {3695,683,3},{3693,685,3},{3692,687,3},{3690,688,3},{3688,695,3},{3692,707,3}, {3692,713,3},{3692,717,3},{3698,725,3},{3703,725,3},{3707,718,3},{3708,722,3}, {3707,727,3},{3708,728,3},{3707,733,3},{3708,738,3},{3705,738,3},{3705,740,3}, {3705,748,3},{3698,758,3},{3697,763,3},{3698,767,3},{3695,772,3},{3697,777,3}, {3698,780,3},{3693,777,3},{3692,778,3},{3690,777,3},{3688,778,3},{3685,793,3}, {3688,805,3},{3693,820,3},{3695,823,3},{3692,828,3},{3692,835,3},{3690,845,3}, {3693,862,3},{3690,862,3},{3687,865,3},{3683,865,3},{3680,855,3},{3680,848,3}, {3680,843,3},{3677,842,3},{3675,847,3},{3675,848,3},{3667,845,3},{3663,838,3}, {3660,835,3},{3655,820,3},{3652,818,3},{3648,820,3},{3648,830,3},{3645,837,3}, {3635,837,3},{3628,833,3},{3622,832,3},{3615,833,3},{3607,830,3},{3590,827,3}, {3582,827,3},{3575,828,3},{3568,833,3},{3553,837,3},{3543,832,3},{3533,832,3}, {3528,833,3},{3527,843,3},{3523,845,3},{3520,840,3},{3515,838,3},{3512,833,3}, {3502,832,3},{3492,827,3},{3475,828,3},{3468,822,3},{3465,825,3},{3462,820,3}, {3458,818,3},{3453,812,3},{3442,785,3},{3438,783,3},{3433,782,3},{3425,778,3}, {3420,763,3},{3413,758,3},{3410,753,3},{3388,750,3},{3378,752,3},{3375,755,3}, {3368,755,3},{3343,772,3},{3323,773,3},{3320,778,3},{3320,787,3},{3312,802,3}, {3312,808,3},{3283,830,3},{3280,832,3},{3273,832,3},{3268,833,3},{3263,833,3}, {3257,835,3},{3253,835,3},{3248,843,3},{3245,848,3},{3242,855,3},{3238,858,3}, {3235,865,3},{3230,872,3},{3228,877,3},{3223,883,3},{3220,888,3},{3217,895,3}, {3213,898,3},{3210,905,3},{3205,907,3},{3200,908,3},{3193,910,3},{3188,912,3}, {3183,913,3},{3178,913,3},{3172,915,3},{3167,917,3},{3162,918,3},{3155,920,3}, {3150,922,3},{3145,923,3},{3138,923,3},{3133,925,3},{3128,927,3},{3122,928,3}, {3117,930,3},{3112,932,3},{3107,933,3},{3100,933,3},{3095,935,3},{3090,937,3}, {3083,938,3},{3078,940,3},{3073,942,3},{3067,943,3},{3062,943,3},{3057,945,3}, {3052,947,3},{3045,948,3},{3040,950,3},{3035,952,3},{3028,952,3},{3023,953,3}, {3012,930,3},{2997,945,3},{2978,958,3},{2963,967,3},{2945,975,3},{2915,983,3}, {2895,987,3},{2880,987,3},{2872,987,3},{2867,985,3},{2862,985,3},{2855,983,3}, {2850,983,3},{2845,982,3},{2840,982,3},{2833,980,3},{2828,980,3},{2825,978,3}, {2817,982,3},{2812,985,3},{2807,987,3},{2800,990,3},{2795,992,3},{2785,997,3}, {2760,988,3},{2757,982,3},{2750,983,3},{2743,978,3},{2737,977,3},{2732,973,3}, {2727,975,3},{2705,982,3},{2690,985,3},{2687,993,3},{2670,990,3},{2667,992,3}, {2652,987,3},{2635,950,3},{2630,950,3},{2628,945,3},{2622,942,3},{2620,940,3}, {2615,940,3},{2610,943,3},{2607,947,3},{2602,950,3},{2598,953,3},{2593,957,3}, {2590,960,3},{2585,963,3},{2582,967,3},{2577,970,3},{2573,973,3},{2568,975,3}, {2565,980,3},{2560,982,3},{2557,985,3},{2552,988,3},{2548,992,3},{2543,995,3}, {2540,998,3},{2535,1002,3},{2532,1003,3},{2523,1003,3},{2518,1005,3},{2513,1005,3}, {2507,1005,3},{2502,1005,3},{2497,1005,3},{2490,1005,3},{2483,1005,3},{2475,1022,3}, {2460,1025,3},{2448,1042,3},{2448,1048,3},{2457,1072,3},{2447,1100,3},{2445,1105,3}, {2443,1112,3},{2442,1117,3},{2440,1123,3},{2438,1128,3},{2437,1135,3},{2435,1142,3}, {2433,1147,3},{2432,1153,3},{2430,1157,3},{2422,1160,3},{2417,1163,3},{2412,1167,3}, {2405,1170,3},{2400,1173,3},{2393,1175,3},{2388,1178,3},{2383,1182,3},{2377,1185,3}, {2372,1188,3},{2367,1192,3},{2360,1193,3},{2352,1198,3},{2350,1193,3},{2347,1187,3}, {2342,1182,3},{2338,1175,3},{2335,1170,3},{2332,1163,3},{2328,1157,3},{2325,1152,3}, {2322,1145,3},{2318,1138,3},{2315,1133,3},{2312,1127,3},{2308,1120,3},{2305,1115,3}, {2300,1108,3},{2297,1102,3},{2293,1097,3},{2290,1090,3},{2287,1085,3},{2283,1078,3}, {2280,1072,3},{2277,1067,3},{2273,1060,3},{2270,1055,3},{2267,1048,3},{2262,1042,3}, {2258,1037,3},{2255,1030,3},{2252,1023,3},{2248,1018,3},{2245,1012,3},{2242,1007,3}, {2238,1000,3},{2235,993,3},{2230,988,3},{2227,982,3},{2223,977,3},{2220,970,3}, {2217,963,3},{2213,958,3},{2210,952,3},{2207,947,3},{2202,940,3},{2198,935,3}, {2195,928,3},{2192,922,3},{2188,917,3},{2185,910,3},{2182,905,3},{2178,898,3}, {2173,892,3},{2170,887,3},{2167,880,3},{2163,875,3},{2160,868,3},{2157,863,3}, {2153,857,3},{2148,850,3},{2145,845,3},{2142,838,3},{2138,833,3},{2135,827,3}, {2132,822,3},{2128,815,3},{2123,810,3},{2120,803,3},{2117,798,3},{2113,792,3}, {2110,785,3},{2107,780,3},{2102,773,3},{2098,768,3},{2095,762,3},{2092,757,3}, {2088,750,3},{2085,745,3},{2080,738,3},{2075,733,3},{2070,727,3},{2065,722,3}, {2060,717,3},{2055,710,3},{2050,705,3},{2045,698,3},{2040,693,3},{2037,687,3}, {2032,682,3},{2027,677,3},{2022,670,3},{2017,665,3},{2012,658,3},{2007,653,3}, {2002,647,3},{1997,642,3},{1992,637,3},{1987,630,3},{1982,625,3},{1977,618,3}, {1972,613,3},{1967,608,3},{1963,602,3},{1958,597,3},{1953,590,3},{1948,585,3}, {1943,578,3},{1943,573,3},{1942,568,3},{1942,562,3},{1940,557,3},{1938,552,3}, {1938,545,3},{1937,540,3},{1935,535,3},{1935,528,3},{1933,523,3},{1933,518,3}, {1932,513,3},{1930,507,3},{1930,502,3},{1928,497,3},{1927,490,3},{1927,485,3}, {1925,480,3},{1925,473,3},{1923,468,3},{1922,463,3},{1922,458,3},{1920,452,3}, {1918,447,3},{1918,442,3},{1917,435,3},{1915,430,3},{1915,425,3},{622,163,131}, {623,163,3},{625,165,3},{628,180,3},{640,177,3},{642,177,3},{643,175,3}, {645,175,3},{648,173,3},{650,170,3},{653,170,3},{655,167,3},{658,167,3}, {657,165,3},{658,162,3},{663,160,3},{665,162,3},{668,158,3},{672,158,3}, {673,162,3},{675,162,3},{680,160,3},{682,160,3},{690,160,3},{692,158,3}, {700,155,3},{700,165,3},{745,165,3},{753,165,3},{763,163,3},{770,163,3}, {777,165,3},{783,165,3},{788,163,3},{793,163,3},{798,163,3},{805,163,3}, {810,163,3},{815,163,3},{820,163,3},{825,163,3},{835,163,3},{837,162,3}, {845,163,3},{850,167,3},{855,162,3},{905,162,3},{910,160,3},{917,157,3}, {922,150,3},{932,142,3},{948,138,3},{950,138,3},{948,137,3},{955,133,3}, {960,137,3},{965,137,3},{1000,135,3},{1018,105,3},{1038,78,3},{1052,78,3}, {1058,80,3},{1072,80,3},{1080,88,3},{1087,88,3},{1088,90,3},{1092,88,3}, {1100,95,3},{1103,95,3},{1108,98,3},{1105,103,3},{1105,110,3},{1103,112,3}, {1112,108,3},{1113,105,3},{1117,112,3},{1117,113,3},{1117,115,3},{1122,115,3}, {1125,113,3},{1127,113,3},{1128,117,3},{1127,118,3},{1127,123,3},{1125,127,3}, {1127,128,3},{1130,127,3},{1132,128,3},{1128,130,3},{1130,132,3},{1128,133,3}, {1130,135,3},{1135,133,3},{1140,140,3},{1142,138,3},{1147,143,3},{1145,157,3}, {1143,157,3},{1143,158,3},{1140,158,3},{1138,162,3},{1142,172,3},{1142,175,3}, {1143,180,3},{1145,187,3},{1143,190,3},{1142,202,3},{1160,220,3},{1167,232,3}, {1173,232,3},{1178,237,3},{1185,237,3},{1187,240,3},{1188,240,3},{1190,242,3}, {1193,238,3},{1195,240,3},{1195,243,3},{1198,245,3},{1198,247,3},{1202,247,3}, {1203,243,3},{1208,240,3},{1223,238,3},{1227,243,3},{1225,247,3},{1227,247,3}, {1227,250,3},{1228,252,3},{1227,253,3},{1230,260,3},{1228,262,3},{1230,265,3}, {1230,267,3},{1228,268,3},{1235,272,3},{1235,275,3},{1238,278,3},{1240,283,3}, {1233,292,3},{1230,295,3},{1227,302,3},{1218,305,3},{1212,317,3},{1205,322,3}, {1202,325,3},{1195,327,3},{1188,332,3},{1188,338,3},{1185,343,3},{1185,347,3}, {1175,357,3},{1173,357,3},{1168,360,3},{1165,357,3},{1157,353,3},{1155,352,3}, {1143,347,3},{1112,370,3},{1112,373,3},{1103,373,3},{1102,375,3},{1090,378,3}, {1080,375,3},{1078,378,3},{1072,380,3},{1070,385,3},{1058,385,3},{1050,382,3}, {1047,382,3},{1040,380,3},{1045,368,3},{1042,363,3},{1038,363,3},{1027,358,3}, {1020,365,3},{1018,368,3},{1017,368,3},{1010,367,3},{1007,363,3},{995,362,3}, {985,353,3},{985,348,3},{982,335,3},{975,333,3},{968,337,3},{963,332,3}, {965,330,3},{963,327,3},{958,327,3},{950,320,3},{950,317,3},{943,313,3}, {937,317,3},{927,317,3},{925,315,3},{908,310,3},{907,298,3},{908,297,3}, {908,290,3},{905,288,3},{907,282,3},{905,278,3},{893,278,3},{892,277,3}, {890,278,3},{885,277,3},{882,277,3},{878,273,3},{872,275,3},{867,275,3}, {852,277,3},{847,275,3},{842,272,3},{833,272,3},{820,275,3},{815,273,3}, {813,272,3},{793,270,3},{790,268,3},{782,275,3},{765,273,3},{757,273,3}, {750,282,3},{742,280,3},{743,277,3},{742,275,3},{713,278,3},{710,275,3}, {703,280,3},{700,275,3},{695,273,3},{692,275,3},{680,273,3},{677,275,3}, {677,278,3},{668,280,3},{667,277,3},{662,273,3},{657,275,3},{645,272,3}, {637,272,3},{637,268,3},{635,263,3},{635,257,3},{635,252,3},{633,247,3}, {633,242,3},{633,235,3},{633,230,3},{632,225,3},{630,220,3},{630,215,3}, {630,210,3},{628,203,3},{628,198,3},{628,193,3},{627,187,3},{627,183,3}, {625,177,3},{623,172,3},{623,167,3},{622,163,3},{610,120,131},{617,120,3}, {617,110,3},{622,107,3},{623,103,3},{633,100,3},{633,90,3},{638,85,3},{642,78,3}, {650,73,3},{653,72,3},{655,75,3},{658,75,3},{658,68,3},{663,65,3},{673,65,3}, {677,58,3},{682,57,3},{683,53,3},{692,57,3},{693,55,3},{695,52,3},{698,52,3}, {700,58,3},{702,60,3},{710,62,3},{715,62,3},{720,63,3},{727,65,3},{730,67,3}, {740,65,3},{738,58,3},{740,55,3},{747,52,3},{758,52,3},{762,58,3},{770,60,3}, {770,63,3},{775,62,3},{778,63,3},{782,62,3},{792,62,3},{795,60,3},{802,62,3}, {813,58,3},{815,60,3},{817,62,3},{820,58,3},{822,60,3},{823,63,3},{825,63,3}, {828,73,3},{832,73,3},{833,70,3},{838,70,3},{842,65,3},{847,65,3},{850,63,3}, {852,57,3},{855,53,3},{860,47,3},{877,38,3},{878,40,3},{877,43,3},{880,45,3}, {880,48,3},{883,50,3},{885,52,3},{892,52,3},{903,45,3},{910,48,3},{915,48,3}, {915,50,3},{920,53,3},{927,50,3},{928,52,3},{930,55,3},{932,53,3},{942,55,3}, {943,50,3},{947,50,3},{950,43,3},{948,37,3},{943,33,3},{942,28,3},{943,23,3}, {945,23,3},{945,22,3},{948,23,3},{948,28,3},{950,30,3},{952,23,3},{957,23,3}, {957,35,3},{958,38,3},{962,35,3},{958,28,3},{965,25,3},{968,28,3},{965,33,3}, {967,35,3},{972,35,3},{973,32,3},{980,33,3},{983,35,3},{990,33,3},{993,38,3}, {998,35,3},{1003,35,3},{1003,40,3},{1007,40,3},{1010,35,3},{1020,35,3}, {1025,37,3},{1030,40,3},{1030,33,3},{1033,33,3},{1037,30,3},{1038,30,3}, {1042,28,3},{1040,27,3},{1042,22,3},{1040,20,3},{1052,13,3},{1055,7,3}, {1058,5,3},{1060,0,3},{1063,-7,3},{1070,-8,3},{1077,-7,3},{1082,-2,3},{1085,-2,3}, {1092,0,3},{1097,0,3},{1098,3,3},{1105,3,3},{1108,3,3},{1110,0,3},{1110,-10,3}, {1112,-13,3},{1113,-15,3},{1110,2,3},{1100,50,3},{1098,50,3},{1098,52,3}, {1093,50,3},{1100,67,3},{1100,95,3},{1092,88,3},{1088,90,3},{1087,88,3}, {1080,88,3},{1072,80,3},{1058,80,3},{1052,78,3},{1038,78,3},{1018,105,3}, {1000,135,3},{965,137,3},{960,137,3},{955,133,3},{948,137,3},{950,138,3}, {948,138,3},{932,142,3},{922,150,3},{917,157,3},{910,160,3},{905,162,3}, {855,162,3},{850,167,3},{845,163,3},{837,162,3},{835,163,3},{825,163,3}, {820,163,3},{815,163,3},{810,163,3},{805,163,3},{798,163,3},{793,163,3}, {788,163,3},{783,165,3},{777,165,3},{770,163,3},{763,163,3},{753,165,3}, {745,165,3},{700,165,3},{700,155,3},{692,158,3},{690,160,3},{682,160,3}, {680,160,3},{675,162,3},{673,162,3},{672,158,3},{668,158,3},{665,162,3}, {663,160,3},{658,162,3},{657,165,3},{658,167,3},{655,167,3},{653,170,3}, {650,170,3},{648,173,3},{645,175,3},{643,175,3},{642,177,3},{640,177,3}, {628,180,3},{625,165,3},{623,163,3},{622,163,3},{613,130,3},{610,120,3}, {508,-310,131},{512,-310,3},{512,-303,3},{510,-293,3},{512,-287,3},{512,-285,3}, {510,-275,3},{512,-273,3},{513,-273,3},{518,-273,3},{520,-277,3},{525,-275,3}, {525,-277,3},{528,-278,3},{530,-277,3},{535,-277,3},{535,-272,3},{540,-272,3}, {553,-277,3},{558,-277,3},{562,-278,3},{562,-282,3},{565,-285,3},{562,-290,3}, {562,-293,3},{563,-297,3},{572,-295,3},{570,-302,3},{585,-300,3},{600,-307,3}, {615,-310,3},{625,-315,3},{625,-317,3},{655,-323,3},{658,-323,3},{662,-325,3}, {665,-325,3},{665,-322,3},{670,-320,3},{672,-318,3},{677,-323,3},{682,-322,3}, {707,-308,3},{707,-302,3},{713,-302,3},{723,-295,3},{727,-297,3},{760,-292,3}, {775,-283,3},{782,-282,3},{785,-278,3},{795,-277,3},{793,-275,3},{795,-273,3}, {802,-268,3},{803,-258,3},{807,-258,3},{813,-262,3},{817,-258,3},{817,-255,3}, {820,-248,3},{825,-250,3},{830,-250,3},{835,-252,3},{840,-252,3},{845,-253,3}, {850,-253,3},{857,-255,3},{862,-255,3},{867,-257,3},{872,-257,3},{878,-258,3}, {878,-262,3},{882,-260,3},{888,-262,3},{892,-262,3},{893,-265,3},{902,-265,3}, {903,-275,3},{905,-277,3},{910,-277,3},{913,-277,3},{915,-273,3},{920,-272,3}, {925,-267,3},{932,-272,3},{938,-267,3},{942,-268,3},{947,-267,3},{948,-268,3}, {957,-277,3},{962,-277,3},{965,-275,3},{968,-277,3},{968,-278,3},{973,-280,3}, {980,-277,3},{982,-273,3},{988,-277,3},{997,-275,3},{1005,-280,3},{1015,-278,3}, {1018,-280,3},{1023,-277,3},{1027,-275,3},{1027,-278,3},{1032,-285,3},{1038,-282,3}, {1040,-278,3},{1042,-277,3},{1042,-282,3},{1045,-285,3},{1062,-293,3},{1068,-290,3}, {1072,-293,3},{1075,-290,3},{1088,-287,3},{1088,-283,3},{1092,-282,3},{1097,-283,3}, {1100,-283,3},{1100,-275,3},{1098,-270,3},{1098,-265,3},{1100,-258,3},{1100,-253,3}, {1100,-248,3},{1100,-242,3},{1100,-237,3},{1100,-232,3},{1100,-227,3},{1100,-222,3}, {1100,-217,3},{1100,-210,3},{1100,-205,3},{1100,-198,3},{1100,-193,3},{1100,-188,3}, {1100,-183,3},{1100,-178,3},{1100,-173,3},{1100,-168,3},{1100,-162,3},{1100,-157,3}, {1103,-157,3},{1103,-152,3},{1103,-147,3},{1103,-142,3},{1102,-138,3},{1100,-130,3}, {1100,-125,3},{1100,-120,3},{1100,-115,3},{1100,-108,3},{1102,-110,3},{1102,-103,3}, {1100,-97,3},{1100,-90,3},{1098,-90,3},{1098,-88,3},{1097,-88,3},{1097,-87,3}, {1100,-85,3},{1102,-80,3},{1100,-80,3},{1100,-68,3},{1098,-68,3},{1098,-65,3}, {1097,-67,3},{1092,-62,3},{1093,-60,3},{1098,-57,3},{1100,-50,3},{1103,-43,3}, {1107,-43,3},{1110,-42,3},{1110,-37,3},{1107,-35,3},{1112,-28,3},{1113,-28,3}, {1117,-28,3},{1113,-15,3},{1112,-13,3},{1110,-10,3},{1110,0,3},{1108,3,3}, {1105,3,3},{1098,3,3},{1097,0,3},{1092,0,3},{1085,-2,3},{1082,-2,3},{1077,-7,3}, {1070,-8,3},{1063,-7,3},{1060,0,3},{1058,5,3},{1055,7,3},{1052,13,3},{1040,20,3}, {1042,22,3},{1040,27,3},{1042,28,3},{1038,30,3},{1037,30,3},{1033,33,3}, {1030,33,3},{1030,40,3},{1025,37,3},{1020,35,3},{1010,35,3},{1007,40,3}, {1003,40,3},{1003,35,3},{998,35,3},{993,38,3},{990,33,3},{983,35,3},{980,33,3}, {973,32,3},{972,35,3},{967,35,3},{965,33,3},{968,28,3},{965,25,3},{958,28,3}, {962,35,3},{958,38,3},{957,35,3},{957,23,3},{952,23,3},{950,30,3},{948,28,3}, {948,23,3},{945,22,3},{945,23,3},{943,23,3},{942,28,3},{943,33,3},{948,37,3}, {950,43,3},{947,50,3},{943,50,3},{942,55,3},{932,53,3},{930,55,3},{928,52,3}, {927,50,3},{920,53,3},{915,50,3},{915,48,3},{910,48,3},{903,45,3},{892,52,3}, {885,52,3},{883,50,3},{880,48,3},{880,45,3},{877,43,3},{878,40,3},{877,38,3}, {860,47,3},{855,53,3},{852,57,3},{850,63,3},{847,65,3},{842,65,3},{838,70,3}, {833,70,3},{832,73,3},{828,73,3},{825,63,3},{823,63,3},{822,60,3},{820,58,3}, {817,62,3},{815,60,3},{813,58,3},{802,62,3},{795,60,3},{792,62,3},{782,62,3}, {778,63,3},{775,62,3},{770,63,3},{770,60,3},{762,58,3},{758,52,3},{747,52,3}, {740,55,3},{738,58,3},{740,65,3},{730,67,3},{727,65,3},{720,63,3},{715,62,3}, {710,62,3},{702,60,3},{700,58,3},{698,52,3},{695,52,3},{693,55,3},{692,57,3}, {683,53,3},{682,57,3},{677,58,3},{673,65,3},{663,65,3},{658,68,3},{658,75,3}, {655,75,3},{653,72,3},{650,73,3},{642,78,3},{638,85,3},{633,90,3},{633,100,3}, {623,103,3},{622,107,3},{617,110,3},{617,120,3},{610,120,3},{603,108,3}, {597,103,3},{588,100,3},{583,100,3},{580,97,3},{577,92,3},{575,70,3},{577,68,3}, {577,70,3},{583,65,3},{588,65,3},{595,63,3},{605,52,3},{608,42,3},{605,37,3}, {605,32,3},{610,27,3},{610,22,3},{608,20,3},{608,27,3},{603,32,3},{602,38,3}, {607,42,3},{607,43,3},{603,50,3},{600,53,3},{598,57,3},{595,62,3},{588,65,3}, {582,63,3},{578,65,3},{577,65,3},{575,67,3},{578,32,3},{572,13,3},{567,7,3}, {563,3,3},{562,0,3},{558,-7,3},{548,-38,3},{537,-50,3},{535,-58,3},{532,-63,3}, {533,-63,3},{530,-70,3},{520,-80,3},{520,-90,3},{522,-90,3},{520,-98,3}, {522,-100,3},{520,-102,3},{520,-107,3},{512,-118,3},{508,-127,3},{508,-132,3}, {507,-143,3},{503,-148,3},{502,-162,3},{500,-163,3},{498,-162,3},{497,-163,3}, {495,-170,3},{492,-173,3},{487,-175,3},{487,-182,3},{485,-183,3},{482,-190,3}, {475,-197,3},{475,-202,3},{473,-208,3},{475,-210,3},{477,-210,3},{478,-215,3}, {480,-217,3},{485,-223,3},{488,-227,3},{492,-233,3},{497,-258,3},{500,-268,3}, {502,-285,3},{508,-310,3},{948,-268,131},{940,-273,3},{940,-275,3},{942,-278,3}, {948,-285,3},{957,-292,3},{972,-298,3},{973,-300,3},{972,-307,3},{983,-312,3}, {985,-315,3},{983,-318,3},{992,-318,3},{985,-327,3},{985,-330,3},{990,-330,3}, {988,-333,3},{992,-337,3},{993,-347,3},{993,-357,3},{992,-360,3},{995,-363,3}, {993,-367,3},{995,-368,3},{993,-377,3},{990,-380,3},{990,-388,3},{987,-393,3}, {987,-397,3},{983,-397,3},{982,-403,3},{980,-403,3},{983,-413,3},{977,-418,3}, {973,-427,3},{973,-425,3},{968,-428,3},{965,-428,3},{960,-432,3},{962,-433,3}, {962,-437,3},{960,-437,3},{958,-437,3},{960,-438,3},{963,-440,3},{965,-443,3}, {965,-452,3},{970,-452,3},{973,-450,3},{975,-452,3},{975,-455,3},{972,-455,3}, {968,-457,3},{968,-458,3},{972,-460,3},{970,-462,3},{970,-465,3},{968,-465,3}, {967,-468,3},{975,-473,3},{975,-477,3},{973,-477,3},{975,-478,3},{975,-480,3}, {977,-480,3},{977,-482,3},{978,-478,3},{980,-480,3},{983,-478,3},{983,-482,3}, {987,-483,3},{988,-490,3},{987,-493,3},{990,-497,3},{995,-495,3},{1000,-498,3}, {1002,-495,3},{1005,-498,3},{1007,-500,3},{1008,-502,3},{1008,-505,3},{1010,-505,3}, {1012,-507,3},{1012,-503,3},{1015,-507,3},{1018,-507,3},{1018,-510,3},{1022,-508,3}, {1020,-512,3},{1025,-512,3},{1027,-510,3},{1030,-512,3},{1028,-517,3},{1028,-520,3}, {1030,-520,3},{1032,-520,3},{1032,-528,3},{1030,-532,3},{1028,-537,3},{1030,-542,3}, {1033,-542,3},{1035,-547,3},{1037,-547,3},{1038,-548,3},{1042,-552,3},{1043,-552,3}, {1047,-552,3},{1055,-547,3},{1062,-548,3},{1065,-547,3},{1075,-545,3},{1077,-543,3}, {1085,-542,3},{1090,-545,3},{1098,-545,3},{1097,-548,3},{1108,-548,3},{1110,-537,3}, {1113,-530,3},{1120,-530,3},{1125,-525,3},{1140,-525,3},{1142,-520,3},{1145,-522,3}, {1153,-520,3},{1158,-522,3},{1160,-523,3},{1160,-528,3},{1162,-528,3},{1167,-527,3}, {1175,-527,3},{1178,-528,3},{1180,-535,3},{1183,-540,3},{1183,-532,3},{1185,-528,3}, {1183,-527,3},{1187,-525,3},{1195,-515,3},{1198,-507,3},{1198,-498,3},{1202,-493,3}, {1200,-488,3},{1202,-483,3},{1200,-478,3},{1202,-477,3},{1200,-475,3},{1207,-470,3}, {1207,-463,3},{1212,-462,3},{1213,-460,3},{1213,-453,3},{1220,-457,3},{1228,-447,3}, {1232,-447,3},{1233,-445,3},{1232,-443,3},{1230,-442,3},{1230,-438,3},{1235,-440,3}, {1243,-443,3},{1253,-437,3},{1262,-442,3},{1265,-447,3},{1273,-447,3},{1275,-435,3}, {1272,-430,3},{1273,-423,3},{1277,-420,3},{1283,-420,3},{1285,-422,3},{1297,-422,3}, {1300,-427,3},{1312,-433,3},{1318,-430,3},{1318,-422,3},{1323,-425,3},{1327,-420,3}, {1328,-415,3},{1340,-408,3},{1342,-403,3},{1343,-402,3},{1343,-398,3},{1347,-395,3}, {1348,-395,3},{1348,-398,3},{1350,-397,3},{1348,-395,3},{1347,-393,3},{1345,-390,3}, {1340,-397,3},{1338,-395,3},{1338,-388,3},{1335,-383,3},{1335,-378,3},{1330,-373,3}, {1327,-367,3},{1320,-358,3},{1320,-355,3},{1318,-353,3},{1318,-343,3},{1328,-343,3}, {1328,-323,3},{1355,-327,3},{1358,-325,3},{1368,-325,3},{1370,-327,3},{1372,-327,3}, {1370,-322,3},{1368,-318,3},{1368,-310,3},{1365,-307,3},{1362,-305,3},{1362,-303,3}, {1365,-302,3},{1363,-295,3},{1365,-288,3},{1372,-290,3},{1382,-290,3},{1385,-288,3}, {1388,-288,3},{1400,-283,3},{1400,-285,3},{1403,-283,3},{1413,-268,3},{1422,-260,3}, {1428,-247,3},{1425,-230,3},{1415,-210,3},{1418,-200,3},{1423,-200,3},{1430,-200,3}, {1435,-200,3},{1440,-198,3},{1448,-198,3},{1448,-190,3},{1448,-185,3},{1448,-178,3}, {1450,-172,3},{1452,-165,3},{1457,-158,3},{1460,-152,3},{1465,-145,3},{1468,-138,3}, {1473,-132,3},{1475,-125,3},{1477,-118,3},{1478,-113,3},{1478,-107,3},{1483,-102,3}, {1488,-95,3},{1495,-88,3},{1500,-82,3},{1505,-75,3},{1508,-72,3},{1508,-43,3}, {1500,-38,3},{1508,-23,3},{1500,0,3},{1497,7,3},{1495,13,3},{1493,20,3}, {1492,23,3},{1488,23,3},{1483,20,3},{1475,23,3},{1452,17,3},{1447,18,3}, {1437,30,3},{1437,32,3},{1425,42,3},{1423,40,3},{1418,40,3},{1413,35,3}, {1408,40,3},{1405,38,3},{1402,42,3},{1398,42,3},{1395,47,3},{1392,47,3}, {1378,58,3},{1378,62,3},{1372,60,3},{1368,62,3},{1368,77,3},{1367,78,3}, {1365,77,3},{1362,83,3},{1362,90,3},{1357,100,3},{1347,103,3},{1340,117,3}, {1340,125,3},{1335,128,3},{1333,125,3},{1335,123,3},{1337,120,3},{1335,120,3}, {1332,118,3},{1337,102,3},{1337,100,3},{1335,98,3},{1305,98,3},{1302,102,3}, {1302,112,3},{1295,118,3},{1292,123,3},{1287,128,3},{1283,135,3},{1278,140,3}, {1273,145,3},{1270,150,3},{1263,158,3},{1263,165,3},{1262,170,3},{1262,175,3}, {1262,180,3},{1262,187,3},{1263,188,3},{1270,193,3},{1272,197,3},{1273,198,3}, {1272,203,3},{1273,210,3},{1270,215,3},{1265,215,3},{1263,220,3},{1260,222,3}, {1252,223,3},{1247,227,3},{1242,227,3},{1240,217,3},{1242,217,3},{1238,212,3}, {1238,208,3},{1235,207,3},{1227,212,3},{1222,217,3},{1217,220,3},{1212,223,3}, {1205,228,3},{1200,232,3},{1195,235,3},{1188,240,3},{1187,240,3},{1185,237,3}, {1178,237,3},{1173,232,3},{1167,232,3},{1160,220,3},{1142,202,3},{1143,190,3}, {1145,187,3},{1143,180,3},{1142,175,3},{1142,172,3},{1138,162,3},{1140,158,3}, {1143,158,3},{1143,157,3},{1145,157,3},{1147,143,3},{1142,138,3},{1140,140,3}, {1135,133,3},{1130,135,3},{1128,133,3},{1130,132,3},{1128,130,3},{1132,128,3}, {1130,127,3},{1127,128,3},{1125,127,3},{1127,123,3},{1127,118,3},{1128,117,3}, {1127,113,3},{1125,113,3},{1122,115,3},{1117,115,3},{1117,113,3},{1117,112,3}, {1113,105,3},{1112,108,3},{1103,112,3},{1105,110,3},{1105,103,3},{1108,98,3}, {1103,95,3},{1100,95,3},{1100,67,3},{1093,50,3},{1098,52,3},{1098,50,3}, {1100,50,3},{1110,2,3},{1113,-15,3},{1117,-28,3},{1113,-28,3},{1112,-28,3}, {1107,-35,3},{1110,-37,3},{1110,-42,3},{1107,-43,3},{1103,-43,3},{1100,-50,3}, {1098,-57,3},{1093,-60,3},{1092,-62,3},{1097,-67,3},{1098,-65,3},{1098,-68,3}, {1100,-68,3},{1100,-80,3},{1102,-80,3},{1100,-85,3},{1097,-87,3},{1097,-88,3}, {1098,-88,3},{1098,-90,3},{1100,-90,3},{1100,-97,3},{1102,-103,3},{1102,-110,3}, {1100,-108,3},{1100,-115,3},{1100,-120,3},{1100,-125,3},{1100,-130,3},{1102,-138,3}, {1103,-142,3},{1103,-147,3},{1103,-152,3},{1103,-157,3},{1100,-157,3},{1100,-162,3}, {1100,-168,3},{1100,-173,3},{1100,-178,3},{1100,-183,3},{1100,-188,3},{1100,-193,3}, {1100,-198,3},{1100,-205,3},{1100,-210,3},{1100,-217,3},{1100,-222,3},{1100,-227,3}, {1100,-232,3},{1100,-237,3},{1100,-242,3},{1100,-248,3},{1100,-253,3},{1100,-258,3}, {1098,-265,3},{1098,-270,3},{1100,-275,3},{1100,-283,3},{1097,-283,3},{1092,-282,3}, {1088,-283,3},{1088,-287,3},{1075,-290,3},{1072,-293,3},{1068,-290,3},{1062,-293,3}, {1045,-285,3},{1042,-282,3},{1042,-277,3},{1040,-278,3},{1038,-282,3},{1032,-285,3}, {1027,-278,3},{1027,-275,3},{1023,-277,3},{1018,-280,3},{1015,-278,3},{1005,-280,3}, {997,-275,3},{988,-277,3},{982,-273,3},{980,-277,3},{973,-280,3},{968,-278,3}, {968,-277,3},{965,-275,3},{962,-277,3},{957,-277,3},{948,-268,3},{435,-752,131}, {440,-757,3},{442,-755,3},{445,-757,3},{450,-755,3},{457,-757,3},{460,-755,3}, {467,-757,3},{475,-755,3},{478,-757,3},{482,-758,3},{483,-758,3},{490,-758,3}, {492,-757,3},{492,-753,3},{495,-753,3},{497,-755,3},{507,-757,3},{508,-755,3}, {510,-752,3},{510,-750,3},{513,-748,3},{517,-747,3},{523,-747,3},{525,-747,3}, {527,-747,3},{530,-742,3},{527,-742,3},{527,-740,3},{532,-737,3},{537,-738,3}, {537,-740,3},{543,-743,3},{543,-742,3},{548,-742,3},{552,-738,3},{553,-740,3}, {553,-738,3},{557,-740,3},{557,-737,3},{565,-742,3},{572,-743,3},{583,-742,3}, {587,-743,3},{587,-747,3},{582,-747,3},{582,-748,3},{585,-750,3},{585,-752,3}, {587,-752,3},{585,-755,3},{587,-757,3},{588,-757,3},{592,-765,3},{595,-765,3}, {593,-768,3},{590,-768,3},{595,-775,3},{598,-778,3},{602,-778,3},{603,-777,3}, {605,-778,3},{607,-778,3},{608,-782,3},{608,-785,3},{613,-785,3},{620,-782,3}, {625,-790,3},{628,-790,3},{627,-792,3},{628,-798,3},{630,-802,3},{627,-817,3}, {630,-820,3},{632,-828,3},{635,-828,3},{633,-830,3},{637,-833,3},{637,-837,3}, {635,-840,3},{635,-842,3},{638,-838,3},{642,-840,3},{645,-838,3},{647,-842,3}, {648,-845,3},{645,-847,3},{643,-848,3},{648,-853,3},{650,-860,3},{653,-860,3}, {653,-858,3},{655,-857,3},{657,-857,3},{657,-853,3},{660,-853,3},{658,-852,3}, {662,-850,3},{662,-848,3},{663,-848,3},{663,-845,3},{665,-845,3},{665,-843,3}, {667,-842,3},{672,-840,3},{673,-835,3},{677,-835,3},{677,-833,3},{678,-833,3}, {687,-830,3},{688,-833,3},{690,-832,3},{697,-832,3},{700,-828,3},{708,-830,3}, {718,-828,3},{723,-837,3},{727,-835,3},{732,-838,3},{750,-842,3},{757,-847,3}, {762,-840,3},{760,-838,3},{758,-838,3},{758,-835,3},{760,-830,3},{758,-828,3}, {755,-822,3},{757,-818,3},{763,-818,3},{767,-815,3},{768,-813,3},{772,-810,3}, {777,-810,3},{780,-808,3},{785,-812,3},{787,-812,3},{797,-805,3},{802,-805,3}, {803,-805,3},{803,-800,3},{802,-798,3},{802,-795,3},{807,-797,3},{810,-800,3}, {818,-798,3},{817,-807,3},{820,-817,3},{823,-822,3},{825,-825,3},{828,-823,3}, {838,-822,3},{840,-822,3},{845,-825,3},{850,-820,3},{850,-815,3},{848,-815,3}, {848,-810,3},{850,-808,3},{850,-805,3},{850,-793,3},{843,-790,3},{842,-785,3}, {843,-783,3},{847,-783,3},{848,-782,3},{845,-778,3},{838,-775,3},{838,-765,3}, {843,-768,3},{850,-765,3},{857,-768,3},{862,-768,3},{867,-773,3},{872,-775,3}, {875,-778,3},{877,-792,3},{880,-795,3},{897,-793,3},{902,-792,3},{903,-785,3}, {907,-782,3},{907,-775,3},{908,-773,3},{910,-773,3},{912,-780,3},{917,-783,3}, {917,-788,3},{920,-792,3},{923,-792,3},{930,-788,3},{935,-788,3},{942,-785,3}, {942,-792,3},{938,-795,3},{938,-802,3},{940,-805,3},{950,-813,3},{962,-815,3}, {967,-812,3},{975,-813,3},{982,-810,3},{987,-810,3},{987,-815,3},{988,-813,3}, {990,-813,3},{992,-815,3},{995,-817,3},{997,-812,3},{998,-812,3},{998,-815,3}, {1005,-812,3},{1008,-802,3},{1015,-797,3},{1015,-793,3},{1017,-788,3},{1020,-787,3}, {1020,-782,3},{1030,-775,3},{1033,-777,3},{1033,-775,3},{1035,-773,3},{1038,-773,3}, {1040,-770,3},{1040,-767,3},{1045,-763,3},{1042,-760,3},{1042,-753,3},{1045,-752,3}, {1047,-748,3},{1045,-745,3},{1042,-745,3},{1038,-745,3},{1037,-743,3},{1033,-743,3}, {1035,-737,3},{1033,-735,3},{1028,-737,3},{1025,-735,3},{1025,-728,3},{1022,-713,3}, {1020,-707,3},{1015,-703,3},{1013,-702,3},{1015,-698,3},{1018,-695,3},{1022,-695,3}, {1025,-698,3},{1033,-697,3},{1035,-695,3},{1035,-685,3},{1038,-678,3},{1033,-668,3}, {1037,-665,3},{1040,-665,3},{1043,-663,3},{1047,-667,3},{1048,-668,3},{1052,-668,3}, {1053,-667,3},{1058,-667,3},{1060,-668,3},{1067,-665,3},{1065,-662,3},{1062,-660,3}, {1060,-655,3},{1058,-653,3},{1055,-642,3},{1058,-638,3},{1062,-642,3},{1068,-642,3}, {1070,-632,3},{1073,-625,3},{1072,-622,3},{1067,-623,3},{1063,-618,3},{1060,-622,3}, {1057,-622,3},{1052,-625,3},{1052,-622,3},{1050,-620,3},{1050,-617,3},{1043,-618,3}, {1042,-615,3},{1040,-618,3},{1035,-617,3},{1033,-620,3},{1032,-618,3},{1032,-623,3}, {1025,-622,3},{1025,-620,3},{1023,-620,3},{1020,-610,3},{1018,-600,3},{1023,-597,3}, {1027,-597,3},{1028,-595,3},{1028,-588,3},{1037,-588,3},{1042,-580,3},{1042,-573,3}, {1045,-565,3},{1045,-557,3},{1043,-552,3},{1042,-552,3},{1038,-548,3},{1037,-547,3}, {1035,-547,3},{1033,-542,3},{1030,-542,3},{1028,-537,3},{1030,-532,3},{1032,-528,3}, {1032,-520,3},{1030,-520,3},{1028,-520,3},{1028,-517,3},{1030,-512,3},{1027,-510,3}, {1025,-512,3},{1020,-512,3},{1022,-508,3},{1018,-510,3},{1018,-507,3},{1015,-507,3}, {1012,-503,3},{1012,-507,3},{1010,-505,3},{1008,-505,3},{1008,-502,3},{1007,-500,3}, {1005,-498,3},{1002,-495,3},{1000,-498,3},{995,-495,3},{990,-497,3},{987,-493,3}, {988,-490,3},{987,-483,3},{983,-482,3},{983,-478,3},{980,-480,3},{978,-478,3}, {977,-482,3},{977,-480,3},{975,-480,3},{975,-478,3},{973,-477,3},{975,-477,3}, {975,-473,3},{967,-468,3},{968,-465,3},{970,-465,3},{970,-462,3},{972,-460,3}, {968,-458,3},{968,-457,3},{972,-455,3},{975,-455,3},{975,-452,3},{973,-450,3}, {970,-452,3},{965,-452,3},{965,-443,3},{963,-440,3},{960,-438,3},{958,-437,3}, {960,-437,3},{962,-437,3},{962,-433,3},{960,-432,3},{965,-428,3},{968,-428,3}, {973,-425,3},{973,-427,3},{977,-418,3},{983,-413,3},{980,-403,3},{982,-403,3}, {983,-397,3},{987,-397,3},{987,-393,3},{990,-388,3},{990,-380,3},{993,-377,3}, {995,-368,3},{993,-367,3},{995,-363,3},{992,-360,3},{993,-357,3},{993,-347,3}, {992,-337,3},{988,-333,3},{990,-330,3},{985,-330,3},{985,-327,3},{992,-318,3}, {983,-318,3},{985,-315,3},{983,-312,3},{972,-307,3},{973,-300,3},{972,-298,3}, {957,-292,3},{948,-285,3},{942,-278,3},{940,-275,3},{940,-273,3},{948,-268,3}, {947,-267,3},{942,-268,3},{938,-267,3},{932,-272,3},{925,-267,3},{920,-272,3}, {915,-273,3},{913,-277,3},{910,-277,3},{905,-277,3},{903,-275,3},{902,-265,3}, {893,-265,3},{892,-262,3},{888,-262,3},{882,-260,3},{878,-262,3},{878,-258,3}, {872,-257,3},{867,-257,3},{862,-255,3},{857,-255,3},{850,-253,3},{845,-253,3}, {840,-252,3},{835,-252,3},{830,-250,3},{825,-250,3},{820,-248,3},{817,-255,3}, {817,-258,3},{813,-262,3},{807,-258,3},{803,-258,3},{802,-268,3},{795,-273,3}, {793,-275,3},{795,-277,3},{785,-278,3},{782,-282,3},{775,-283,3},{760,-292,3}, {727,-297,3},{723,-295,3},{713,-302,3},{707,-302,3},{707,-308,3},{682,-322,3}, {677,-323,3},{672,-318,3},{670,-320,3},{665,-322,3},{665,-325,3},{662,-325,3}, {658,-323,3},{655,-323,3},{625,-317,3},{625,-315,3},{615,-310,3},{600,-307,3}, {585,-300,3},{570,-302,3},{572,-295,3},{563,-297,3},{562,-293,3},{562,-290,3}, {565,-285,3},{562,-282,3},{562,-278,3},{558,-277,3},{553,-277,3},{540,-272,3}, {535,-272,3},{535,-277,3},{530,-277,3},{528,-278,3},{525,-277,3},{525,-275,3}, {520,-277,3},{518,-273,3},{513,-273,3},{512,-273,3},{510,-275,3},{512,-285,3}, {512,-287,3},{510,-293,3},{512,-303,3},{512,-310,3},{508,-310,3},{512,-327,3}, {513,-327,3},{515,-323,3},{512,-315,3},{510,-313,3},{510,-300,3},{508,-297,3}, {510,-293,3},{512,-293,3},{513,-283,3},{517,-285,3},{518,-287,3},{518,-288,3}, {517,-295,3},{513,-293,3},{512,-297,3},{513,-305,3},{515,-313,3},{520,-320,3}, {523,-320,3},{525,-317,3},{530,-317,3},{533,-312,3},{535,-313,3},{537,-315,3}, {535,-323,3},{533,-325,3},{530,-323,3},{528,-328,3},{525,-328,3},{523,-325,3}, {522,-327,3},{520,-330,3},{520,-332,3},{518,-332,3},{518,-330,3},{515,-330,3}, {515,-328,3},{512,-328,3},{512,-332,3},{518,-370,3},{518,-372,3},{520,-372,3}, {523,-373,3},{518,-375,3},{520,-382,3},{523,-398,3},{525,-400,3},{525,-397,3}, {528,-393,3},{525,-390,3},{527,-388,3},{528,-390,3},{528,-388,3},{527,-385,3}, {527,-382,3},{523,-377,3},{525,-378,3},{527,-373,3},{528,-372,3},{532,-375,3}, {535,-375,3},{537,-377,3},{538,-380,3},{537,-382,3},{528,-373,3},{527,-375,3}, {527,-380,3},{530,-382,3},{528,-383,3},{530,-388,3},{532,-388,3},{532,-390,3}, {535,-390,3},{532,-392,3},{532,-402,3},{530,-400,3},{530,-395,3},{528,-395,3}, {527,-398,3},{530,-407,3},{528,-408,3},{530,-413,3},{528,-418,3},{530,-420,3}, {528,-423,3},{528,-425,3},{530,-425,3},{532,-428,3},{530,-430,3},{532,-432,3}, {527,-435,3},{530,-438,3},{527,-442,3},{530,-442,3},{530,-447,3},{528,-448,3}, {527,-445,3},{525,-445,3},{525,-452,3},{527,-455,3},{530,-457,3},{527,-457,3}, {523,-462,3},{525,-463,3},{523,-468,3},{523,-470,3},{525,-472,3},{525,-467,3}, {527,-468,3},{532,-467,3},{527,-470,3},{527,-475,3},{525,-473,3},{523,-473,3}, {522,-480,3},{518,-482,3},{517,-480,3},{517,-475,3},{520,-473,3},{522,-470,3}, {520,-468,3},{520,-467,3},{522,-460,3},{518,-457,3},{520,-453,3},{520,-457,3}, {522,-457,3},{523,-453,3},{522,-445,3},{522,-440,3},{525,-438,3},{523,-430,3}, {525,-422,3},{527,-420,3},{528,-405,3},{527,-403,3},{527,-407,3},{523,-400,3}, {520,-420,3},{518,-463,3},{515,-475,3},{513,-495,3},{513,-498,3},{515,-497,3}, {515,-502,3},{522,-500,3},{522,-503,3},{518,-512,3},{522,-515,3},{522,-523,3}, {520,-525,3},{523,-532,3},{520,-533,3},{520,-530,3},{517,-530,3},{515,-533,3}, {518,-533,3},{513,-535,3},{517,-540,3},{515,-542,3},{513,-538,3},{512,-537,3}, {512,-528,3},{513,-528,3},{515,-533,3},{515,-530,3},{517,-528,3},{515,-518,3}, {517,-518,3},{517,-520,3},{518,-520,3},{520,-523,3},{520,-518,3},{517,-510,3}, {518,-508,3},{518,-505,3},{518,-503,3},{513,-502,3},{513,-500,3},{508,-552,3}, {512,-555,3},{510,-557,3},{508,-555,3},{507,-560,3},{502,-588,3},{497,-600,3}, {495,-607,3},{493,-608,3},{487,-622,3},{482,-640,3},{478,-645,3},{477,-657,3}, {472,-662,3},{468,-673,3},{467,-690,3},{462,-693,3},{453,-705,3},{452,-713,3}, {452,-720,3},{447,-725,3},{445,-730,3},{435,-743,3},{435,-752,3},{1015,-797,131}, {1023,-793,3},{1033,-797,3},{1035,-800,3},{1035,-808,3},{1042,-812,3},{1043,-813,3}, {1042,-813,3},{1042,-822,3},{1047,-823,3},{1050,-827,3},{1062,-828,3},{1068,-828,3}, {1072,-830,3},{1075,-830,3},{1077,-832,3},{1077,-833,3},{1083,-830,3},{1085,-828,3}, {1095,-828,3},{1100,-828,3},{1105,-835,3},{1105,-838,3},{1107,-848,3},{1100,-852,3}, {1097,-855,3},{1097,-863,3},{1097,-868,3},{1102,-867,3},{1108,-860,3},{1113,-860,3}, {1115,-857,3},{1120,-855,3},{1123,-848,3},{1127,-848,3},{1128,-848,3},{1130,-845,3}, {1128,-837,3},{1133,-835,3},{1133,-840,3},{1135,-842,3},{1137,-837,3},{1142,-847,3}, {1143,-852,3},{1150,-853,3},{1147,-858,3},{1150,-863,3},{1155,-867,3},{1167,-870,3}, {1163,-875,3},{1167,-883,3},{1193,-878,3},{1197,-880,3},{1200,-880,3},{1203,-883,3}, {1203,-887,3},{1205,-890,3},{1208,-892,3},{1215,-888,3},{1220,-892,3},{1218,-897,3}, {1222,-898,3},{1227,-898,3},{1235,-895,3},{1240,-898,3},{1243,-905,3},{1243,-908,3}, {1248,-915,3},{1250,-925,3},{1248,-928,3},{1250,-932,3},{1248,-933,3},{1248,-937,3}, {1245,-940,3},{1240,-933,3},{1237,-932,3},{1237,-930,3},{1232,-930,3},{1232,-932,3}, {1227,-932,3},{1225,-935,3},{1227,-942,3},{1225,-947,3},{1222,-950,3},{1217,-963,3}, {1213,-967,3},{1208,-967,3},{1203,-970,3},{1203,-975,3},{1205,-980,3},{1205,-987,3}, {1210,-992,3},{1210,-997,3},{1215,-1003,3},{1215,-1007,3},{1218,-1010,3}, {1218,-1015,3},{1220,-1018,3},{1220,-1023,3},{1222,-1025,3},{1222,-1028,3}, {1218,-1030,3},{1222,-1033,3},{1218,-1033,3},{1218,-1035,3},{1217,-1035,3}, {1217,-1040,3},{1212,-1045,3},{1212,-1052,3},{1208,-1050,3},{1207,-1052,3}, {1205,-1052,3},{1203,-1057,3},{1200,-1057,3},{1197,-1058,3},{1197,-1062,3}, {1190,-1065,3},{1192,-1073,3},{1197,-1075,3},{1203,-1080,3},{1207,-1078,3}, {1210,-1078,3},{1212,-1082,3},{1215,-1087,3},{1220,-1090,3},{1223,-1095,3}, {1222,-1103,3},{1213,-1107,3},{1212,-1110,3},{1208,-1112,3},{1208,-1115,3}, {1205,-1115,3},{1203,-1117,3},{1202,-1118,3},{1200,-1125,3},{1203,-1132,3}, {1205,-1135,3},{1210,-1138,3},{1213,-1145,3},{1217,-1150,3},{1222,-1148,3}, {1223,-1145,3},{1228,-1143,3},{1237,-1143,3},{1238,-1143,3},{1238,-1138,3}, {1247,-1135,3},{1250,-1137,3},{1248,-1138,3},{1253,-1140,3},{1253,-1142,3}, {1252,-1142,3},{1255,-1145,3},{1257,-1142,3},{1258,-1142,3},{1262,-1143,3}, {1265,-1142,3},{1267,-1145,3},{1268,-1145,3},{1270,-1143,3},{1272,-1143,3}, {1273,-1138,3},{1277,-1140,3},{1278,-1138,3},{1283,-1140,3},{1283,-1142,3}, {1290,-1140,3},{1292,-1142,3},{1293,-1137,3},{1298,-1138,3},{1300,-1138,3}, {1297,-1140,3},{1297,-1142,3},{1300,-1142,3},{1302,-1140,3},{1305,-1145,3}, {1308,-1143,3},{1312,-1152,3},{1315,-1153,3},{1318,-1152,3},{1322,-1155,3}, {1325,-1153,3},{1332,-1158,3},{1337,-1160,3},{1337,-1163,3},{1340,-1163,3}, {1338,-1168,3},{1342,-1170,3},{1342,-1173,3},{1335,-1177,3},{1330,-1182,3}, {1335,-1183,3},{1338,-1188,3},{1343,-1187,3},{1347,-1187,3},{1348,-1190,3}, {1352,-1193,3},{1353,-1197,3},{1362,-1203,3},{1365,-1203,3},{1370,-1208,3}, {1377,-1197,3},{1383,-1195,3},{1390,-1195,3},{1397,-1200,3},{1402,-1202,3}, {1407,-1200,3},{1408,-1198,3},{1417,-1198,3},{1428,-1203,3},{1428,-1208,3}, {1432,-1212,3},{1433,-1210,3},{1437,-1210,3},{1440,-1220,3},{1445,-1220,3}, {1450,-1223,3},{1455,-1222,3},{1455,-1218,3},{1460,-1218,3},{1462,-1215,3}, {1465,-1215,3},{1467,-1218,3},{1470,-1217,3},{1470,-1222,3},{1473,-1222,3}, {1475,-1225,3},{1472,-1205,3},{1477,-1205,3},{1477,-1197,3},{1482,-1195,3}, {1483,-1187,3},{1487,-1183,3},{1490,-1183,3},{1490,-1180,3},{1493,-1182,3}, {1503,-1180,3},{1505,-1182,3},{1505,-1185,3},{1508,-1183,3},{1510,-1185,3}, {1513,-1182,3},{1520,-1183,3},{1523,-1182,3},{1532,-1180,3},{1535,-1177,3}, {1547,-1175,3},{1550,-1172,3},{1555,-1172,3},{1552,-1165,3},{1555,-1160,3}, {1558,-1157,3},{1560,-1150,3},{1562,-1150,3},{1565,-1150,3},{1563,-1142,3}, {1545,-1128,3},{1525,-1100,3},{1520,-1097,3},{1510,-1090,3},{1520,-1087,3}, {1522,-1083,3},{1528,-1083,3},{1535,-1073,3},{1543,-1072,3},{1543,-1067,3}, {1543,-1062,3},{1543,-1055,3},{1543,-1050,3},{1543,-1045,3},{1543,-1040,3}, {1543,-1033,3},{1543,-1028,3},{1542,-1023,3},{1542,-1017,3},{1538,-1013,3}, {1537,-1007,3},{1537,-1002,3},{1538,-997,3},{1538,-992,3},{1538,-987,3}, {1538,-980,3},{1540,-975,3},{1542,-972,3},{1543,-965,3},{1543,-958,3},{1543,-953,3}, {1543,-948,3},{1545,-943,3},{1545,-942,3},{1550,-942,3},{1555,-943,3},{1560,-945,3}, {1565,-940,3},{1570,-933,3},{1568,-932,3},{1563,-932,3},{1558,-933,3},{1553,-933,3}, {1552,-933,3},{1550,-928,3},{1550,-923,3},{1550,-917,3},{1550,-910,3},{1550,-905,3}, {1550,-900,3},{1550,-895,3},{1550,-888,3},{1550,-883,3},{1550,-878,3},{1550,-873,3}, {1550,-867,3},{1550,-862,3},{1550,-857,3},{1550,-852,3},{1550,-845,3},{1550,-840,3}, {1550,-835,3},{1550,-830,3},{1550,-823,3},{1550,-818,3},{1550,-813,3},{1550,-808,3}, {1550,-802,3},{1550,-797,3},{1550,-792,3},{1550,-785,3},{1550,-780,3},{1550,-775,3}, {1550,-770,3},{1550,-765,3},{1550,-758,3},{1550,-753,3},{1550,-748,3},{1550,-743,3}, {1550,-738,3},{1550,-732,3},{1550,-727,3},{1550,-722,3},{1550,-717,3},{1550,-710,3}, {1550,-705,3},{1550,-700,3},{1550,-695,3},{1550,-688,3},{1550,-683,3},{1550,-678,3}, {1550,-673,3},{1550,-668,3},{1550,-662,3},{1550,-657,3},{1550,-652,3},{1550,-647,3}, {1550,-640,3},{1550,-635,3},{1550,-628,3},{1550,-623,3},{1550,-618,3},{1550,-613,3}, {1550,-608,3},{1550,-602,3},{1550,-597,3},{1550,-590,3},{1550,-585,3},{1550,-580,3}, {1550,-575,3},{1550,-568,3},{1550,-563,3},{1550,-558,3},{1550,-553,3},{1550,-550,3}, {1555,-548,3},{1560,-548,3},{1565,-547,3},{1570,-545,3},{1575,-545,3},{1580,-543,3}, {1587,-543,3},{1592,-542,3},{1597,-540,3},{1602,-540,3},{1607,-538,3},{1612,-538,3}, {1617,-537,3},{1622,-535,3},{1627,-535,3},{1632,-533,3},{1637,-538,3},{1640,-545,3}, {1643,-550,3},{1647,-555,3},{1650,-560,3},{1657,-560,3},{1662,-562,3},{1667,-562,3}, {1672,-562,3},{1677,-563,3},{1682,-563,3},{1687,-563,3},{1692,-565,3},{1697,-565,3}, {1702,-565,3},{1708,-567,3},{1713,-567,3},{1718,-568,3},{1723,-568,3},{1728,-568,3}, {1733,-570,3},{1738,-570,3},{1743,-570,3},{1748,-572,3},{1753,-572,3},{1758,-572,3}, {1765,-573,3},{1770,-573,3},{1775,-573,3},{1780,-575,3},{1785,-575,3},{1790,-575,3}, {1795,-577,3},{1802,-577,3},{1807,-577,3},{1812,-578,3},{1817,-578,3},{1822,-578,3}, {1827,-580,3},{1832,-580,3},{1838,-580,3},{1843,-582,3},{1848,-582,3},{1853,-583,3}, {1858,-583,3},{1863,-583,3},{1868,-585,3},{1873,-585,3},{1878,-585,3},{1883,-587,3}, {1888,-587,3},{1895,-587,3},{1900,-588,3},{1905,-588,3},{1910,-588,3},{1915,-590,3}, {1920,-590,3},{1925,-590,3},{1930,-592,3},{1935,-592,3},{1940,-592,3},{1945,-593,3}, {1950,-593,3},{1955,-593,3},{1962,-595,3},{1967,-595,3},{1972,-595,3},{1977,-597,3}, {1982,-597,3},{1987,-597,3},{1992,-598,3},{1997,-598,3},{2003,-600,3},{2008,-600,3}, {2013,-600,3},{2018,-602,3},{2023,-602,3},{2028,-602,3},{2033,-603,3},{2038,-603,3}, {2043,-603,3},{2048,-605,3},{2055,-605,3},{2060,-607,3},{2065,-607,3},{2070,-607,3}, {2075,-608,3},{2080,-608,3},{2085,-608,3},{2090,-610,3},{2095,-610,3},{2102,-612,3}, {2107,-612,3},{2112,-612,3},{2117,-613,3},{2122,-613,3},{2127,-613,3},{2132,-615,3}, {2137,-615,3},{2143,-615,3},{2148,-617,3},{2153,-617,3},{2158,-617,3},{2163,-618,3}, {2168,-618,3},{2173,-618,3},{2178,-620,3},{2183,-620,3},{2188,-620,3},{2193,-622,3}, {2198,-622,3},{2203,-623,3},{2208,-623,3},{2213,-623,3},{2220,-625,3},{2225,-625,3}, {2230,-625,3},{2235,-627,3},{2240,-627,3},{2245,-627,3},{2250,-628,3},{2255,-628,3}, {2260,-628,3},{2265,-630,3},{2270,-630,3},{2275,-630,3},{2280,-632,3},{2285,-632,3}, {2290,-633,3},{2295,-633,3},{2302,-633,3},{2307,-635,3},{2313,-635,3},{2315,-635,3}, {2317,-635,3},{2322,-637,3},{2327,-637,3},{2332,-638,3},{2338,-638,3},{2343,-638,3}, {2348,-640,3},{2353,-640,3},{2358,-640,3},{2363,-642,3},{2368,-642,3},{2375,-643,3}, {2380,-643,3},{2385,-643,3},{2390,-645,3},{2395,-645,3},{2400,-645,3},{2405,-647,3}, {2412,-647,3},{2417,-648,3},{2422,-648,3},{2427,-648,3},{2432,-650,3},{2437,-650,3}, {2442,-650,3},{2448,-652,3},{2453,-652,3},{2458,-653,3},{2463,-653,3},{2468,-653,3}, {2473,-655,3},{2478,-655,3},{2485,-655,3},{2490,-657,3},{2495,-657,3},{2500,-658,3}, {2500,-650,3},{2500,-643,3},{2500,-637,3},{2500,-630,3},{2500,-623,3},{2500,-617,3}, {2500,-610,3},{2500,-603,3},{2500,-597,3},{2500,-590,3},{2500,-583,3},{2500,-577,3}, {2500,-570,3},{2500,-563,3},{2500,-557,3},{2500,-550,3},{2500,-543,3},{2500,-537,3}, {2500,-530,3},{2500,-523,3},{2500,-517,3},{2500,-510,3},{2500,-503,3},{2500,-497,3}, {2500,-490,3},{2500,-483,3},{2500,-480,3},{2497,-475,3},{2493,-470,3},{2490,-465,3}, {2487,-460,3},{2483,-455,3},{2480,-448,3},{2477,-443,3},{2473,-438,3},{2470,-433,3}, {2467,-428,3},{2463,-423,3},{2460,-418,3},{2457,-412,3},{2453,-407,3},{2450,-402,3}, {2447,-397,3},{2443,-392,3},{2440,-387,3},{2437,-382,3},{2433,-375,3},{2430,-370,3}, {2427,-365,3},{2423,-360,3},{2420,-355,3},{2417,-350,3},{2413,-345,3},{2410,-340,3}, {2407,-335,3},{2403,-328,3},{2400,-323,3},{2397,-318,3},{2393,-313,3},{2390,-308,3}, {2387,-303,3},{2383,-298,3},{2380,-293,3},{2377,-288,3},{2373,-283,3},{2370,-277,3}, {2367,-272,3},{2363,-267,3},{2360,-262,3},{2357,-257,3},{2353,-252,3},{2350,-247,3}, {2347,-242,3},{2343,-237,3},{2340,-232,3},{2337,-227,3},{2333,-222,3},{2330,-215,3}, {2327,-210,3},{2323,-205,3},{2320,-200,3},{2317,-195,3},{2313,-190,3},{2308,-185,3}, {2305,-180,3},{2302,-175,3},{2298,-170,3},{2295,-165,3},{2292,-160,3},{2288,-155,3}, {2285,-150,3},{2282,-145,3},{2278,-140,3},{2275,-135,3},{2272,-130,3},{2268,-125,3}, {2265,-120,3},{2262,-115,3},{2258,-110,3},{2255,-105,3},{2252,-100,3},{2248,-93,3}, {2243,-88,3},{2240,-83,3},{2237,-78,3},{2233,-73,3},{2230,-68,3},{2227,-63,3}, {2223,-58,3},{2220,-53,3},{2217,-48,3},{2213,-43,3},{2210,-38,3},{2207,-33,3}, {2203,-28,3},{2200,-23,3},{2195,-18,3},{2192,-13,3},{2188,-8,3},{2185,-3,3}, {2183,0,3},{2180,5,3},{2177,10,3},{2173,15,3},{2170,20,3},{2167,25,3},{2163,30,3}, {2162,35,3},{2158,40,3},{2155,45,3},{2152,50,3},{2148,55,3},{2145,60,3}, {2142,65,3},{2140,70,3},{2137,75,3},{2133,80,3},{2130,85,3},{2127,90,3}, {2123,95,3},{2120,100,3},{2117,105,3},{2115,110,3},{2112,115,3},{2110,117,3}, {2100,120,3},{2080,117,3},{2073,117,3},{2073,132,3},{2065,137,3},{2063,148,3}, {2057,163,3},{2053,167,3},{2042,167,3},{2030,180,3},{2030,188,3},{2023,190,3}, {2023,193,3},{2027,198,3},{2022,208,3},{2023,212,3},{2028,220,3},{2023,228,3}, {2018,235,3},{2005,242,3},{2005,248,3},{2002,252,3},{2002,257,3},{2000,258,3}, {2000,272,3},{1997,282,3},{1995,297,3},{1990,308,3},{1985,315,3},{1982,323,3}, {1957,322,3},{1953,322,3},{1952,325,3},{1945,325,3},{1942,327,3},{1938,328,3}, {1933,320,3},{1925,320,3},{1923,315,3},{1915,312,3},{1912,313,3},{1907,320,3}, {1905,325,3},{1898,333,3},{1898,337,3},{1900,342,3},{1900,348,3},{1902,353,3}, {1902,358,3},{1903,365,3},{1905,370,3},{1905,375,3},{1907,380,3},{1908,387,3}, {1908,392,3},{1910,397,3},{1910,403,3},{1912,408,3},{1913,413,3},{1913,418,3}, {1915,425,3},{1912,425,3},{1907,425,3},{1902,425,3},{1897,425,3},{1892,425,3}, {1887,425,3},{1882,425,3},{1877,425,3},{1872,425,3},{1867,425,3},{1860,425,3}, {1855,425,3},{1850,425,3},{1845,425,3},{1840,425,3},{1835,425,3},{1828,425,3}, {1823,425,3},{1818,425,3},{1813,425,3},{1808,425,3},{1803,425,3},{1797,425,3}, {1792,425,3},{1787,425,3},{1782,425,3},{1777,425,3},{1772,425,3},{1767,425,3}, {1762,425,3},{1757,425,3},{1752,425,3},{1747,425,3},{1740,425,3},{1735,425,3}, {1730,425,3},{1725,425,3},{1720,425,3},{1715,425,3},{1710,425,3},{1705,425,3}, {1700,425,3},{1698,422,3},{1697,422,3},{1690,422,3},{1685,422,3},{1680,420,3}, {1675,420,3},{1670,420,3},{1665,420,3},{1660,420,3},{1655,420,3},{1650,420,3}, {1645,420,3},{1640,420,3},{1635,412,3},{1630,407,3},{1623,405,3},{1608,398,3}, {1598,400,3},{1590,392,3},{1575,390,3},{1572,388,3},{1567,382,3},{1565,372,3}, {1555,362,3},{1550,353,3},{1535,352,3},{1543,303,3},{1533,302,3},{1535,263,3}, {1535,253,3},{1535,247,3},{1533,242,3},{1533,237,3},{1533,232,3},{1533,227,3}, {1533,220,3},{1533,215,3},{1533,210,3},{1532,205,3},{1532,200,3},{1532,193,3}, {1532,188,3},{1532,183,3},{1532,178,3},{1530,172,3},{1530,167,3},{1530,162,3}, {1530,157,3},{1530,152,3},{1530,145,3},{1528,140,3},{1528,132,3},{1500,100,3}, {1498,97,3},{1497,75,3},{1495,70,3},{1500,52,3},{1497,40,3},{1500,23,3}, {1492,23,3},{1493,20,3},{1495,13,3},{1497,7,3},{1500,0,3},{1508,-23,3}, {1500,-38,3},{1508,-43,3},{1508,-72,3},{1505,-75,3},{1500,-82,3},{1495,-88,3}, {1488,-95,3},{1483,-102,3},{1478,-107,3},{1478,-113,3},{1477,-118,3},{1475,-125,3}, {1473,-132,3},{1468,-138,3},{1465,-145,3},{1460,-152,3},{1457,-158,3},{1452,-165,3}, {1450,-172,3},{1448,-178,3},{1448,-185,3},{1448,-190,3},{1448,-198,3},{1440,-198,3}, {1435,-200,3},{1430,-200,3},{1423,-200,3},{1418,-200,3},{1415,-210,3},{1425,-230,3}, {1428,-247,3},{1422,-260,3},{1413,-268,3},{1403,-283,3},{1400,-285,3},{1400,-283,3}, {1388,-288,3},{1385,-288,3},{1382,-290,3},{1372,-290,3},{1365,-288,3},{1363,-295,3}, {1365,-302,3},{1362,-303,3},{1362,-305,3},{1365,-307,3},{1368,-310,3},{1368,-318,3}, {1370,-322,3},{1372,-327,3},{1370,-327,3},{1368,-325,3},{1358,-325,3},{1355,-327,3}, {1328,-323,3},{1328,-343,3},{1318,-343,3},{1318,-353,3},{1320,-355,3},{1320,-358,3}, {1327,-367,3},{1330,-373,3},{1335,-378,3},{1335,-383,3},{1338,-388,3},{1338,-395,3}, {1340,-397,3},{1345,-390,3},{1347,-393,3},{1348,-395,3},{1350,-397,3},{1348,-398,3}, {1348,-395,3},{1347,-395,3},{1343,-398,3},{1343,-402,3},{1342,-403,3},{1340,-408,3}, {1328,-415,3},{1327,-420,3},{1323,-425,3},{1318,-422,3},{1318,-430,3},{1312,-433,3}, {1300,-427,3},{1297,-422,3},{1285,-422,3},{1283,-420,3},{1277,-420,3},{1273,-423,3}, {1272,-430,3},{1275,-435,3},{1273,-447,3},{1265,-447,3},{1262,-442,3},{1253,-437,3}, {1243,-443,3},{1235,-440,3},{1230,-438,3},{1230,-442,3},{1232,-443,3},{1233,-445,3}, {1232,-447,3},{1228,-447,3},{1220,-457,3},{1213,-453,3},{1213,-460,3},{1212,-462,3}, {1207,-463,3},{1207,-470,3},{1200,-475,3},{1202,-477,3},{1200,-478,3},{1202,-483,3}, {1200,-488,3},{1202,-493,3},{1198,-498,3},{1198,-507,3},{1195,-515,3},{1187,-525,3}, {1183,-527,3},{1185,-528,3},{1183,-532,3},{1183,-540,3},{1180,-535,3},{1178,-528,3}, {1175,-527,3},{1167,-527,3},{1162,-528,3},{1160,-528,3},{1160,-523,3},{1158,-522,3}, {1153,-520,3},{1145,-522,3},{1142,-520,3},{1140,-525,3},{1125,-525,3},{1120,-530,3}, {1113,-530,3},{1110,-537,3},{1108,-548,3},{1097,-548,3},{1098,-545,3},{1090,-545,3}, {1085,-542,3},{1077,-543,3},{1075,-545,3},{1065,-547,3},{1062,-548,3},{1055,-547,3}, {1047,-552,3},{1043,-552,3},{1045,-557,3},{1045,-565,3},{1042,-573,3},{1042,-580,3}, {1037,-588,3},{1028,-588,3},{1028,-595,3},{1027,-597,3},{1023,-597,3},{1018,-600,3}, {1020,-610,3},{1023,-620,3},{1025,-620,3},{1025,-622,3},{1032,-623,3},{1032,-618,3}, {1033,-620,3},{1035,-617,3},{1040,-618,3},{1042,-615,3},{1043,-618,3},{1050,-617,3}, {1050,-620,3},{1052,-622,3},{1052,-625,3},{1057,-622,3},{1060,-622,3},{1063,-618,3}, {1067,-623,3},{1072,-622,3},{1073,-625,3},{1070,-632,3},{1068,-642,3},{1062,-642,3}, {1058,-638,3},{1055,-642,3},{1058,-653,3},{1060,-655,3},{1062,-660,3},{1065,-662,3}, {1067,-665,3},{1060,-668,3},{1058,-667,3},{1053,-667,3},{1052,-668,3},{1048,-668,3}, {1047,-667,3},{1043,-663,3},{1040,-665,3},{1037,-665,3},{1033,-668,3},{1038,-678,3}, {1035,-685,3},{1035,-695,3},{1033,-697,3},{1025,-698,3},{1022,-695,3},{1018,-695,3}, {1015,-698,3},{1013,-702,3},{1015,-703,3},{1020,-707,3},{1022,-713,3},{1025,-728,3}, {1025,-735,3},{1028,-737,3},{1033,-735,3},{1035,-737,3},{1033,-743,3},{1037,-743,3}, {1038,-745,3},{1042,-745,3},{1045,-745,3},{1047,-748,3},{1045,-752,3},{1042,-753,3}, {1042,-760,3},{1045,-763,3},{1040,-767,3},{1040,-770,3},{1038,-773,3},{1035,-773,3}, {1033,-775,3},{1033,-777,3},{1030,-775,3},{1020,-782,3},{1020,-787,3},{1017,-788,3}, {1015,-793,3},{1015,-797,3},{2767,-1317,131},{2770,-1317,3},{2777,-1303,3}, {2792,-1297,3},{2795,-1290,3},{2798,-1272,3},{2798,-1257,3},{2808,-1207,3}, {2813,-1198,3},{2830,-1152,3},{2835,-1145,3},{2850,-1133,3},{2868,-1110,3}, {2873,-1108,3},{2900,-1057,3},{2910,-1043,3},{2923,-1035,3},{2932,-1023,3}, {2940,-1018,3},{2943,-1013,3},{2952,-1008,3},{2958,-1007,3},{2987,-980,3}, {3008,-967,3},{3017,-963,3},{3042,-962,3},{3043,-965,3},{3055,-970,3},{3055,-973,3}, {3062,-980,3},{3063,-988,3},{3068,-988,3},{3082,-982,3},{3085,-983,3},{3088,-982,3}, {3107,-982,3},{3112,-985,3},{3132,-980,3},{3138,-982,3},{3140,-985,3},{3148,-978,3}, {3152,-977,3},{3163,-968,3},{3170,-968,3},{3193,-947,3},{3203,-937,3},{3212,-933,3}, {3218,-928,3},{3232,-927,3},{3235,-928,3},{3237,-930,3},{3247,-925,3},{3253,-928,3}, {3255,-928,3},{3265,-915,3},{3277,-902,3},{3287,-888,3},{3312,-863,3},{3318,-862,3}, {3327,-852,3},{3327,-845,3},{3328,-840,3},{3338,-830,3},{3343,-810,3},{3350,-792,3}, {3353,-785,3},{3355,-775,3},{3362,-767,3},{3360,-760,3},{3363,-753,3},{3372,-740,3}, {3372,-735,3},{3380,-722,3},{3387,-703,3},{3393,-693,3},{3405,-680,3},{3430,-665,3}, {3443,-655,3},{3483,-632,3},{3502,-623,3},{3538,-608,3},{3548,-603,3},{3578,-592,3}, {3580,-588,3},{3578,-577,3},{3582,-572,3},{3583,-562,3},{3582,-560,3},{3585,-553,3}, {3590,-548,3},{3592,-542,3},{3590,-528,3},{3587,-533,3},{3583,-535,3},{3570,-532,3}, {3568,-527,3},{3558,-525,3},{3553,-517,3},{3542,-507,3},{3540,-500,3},{3532,-492,3}, {3522,-470,3},{3515,-435,3},{3518,-427,3},{3520,-413,3},{3525,-402,3},{3523,-398,3}, {3527,-392,3},{3522,-390,3},{3520,-382,3},{3522,-377,3},{3527,-375,3},{3528,-367,3}, {3523,-358,3},{3518,-333,3},{3523,-318,3},{3528,-312,3},{3528,-310,3},{3528,-307,3}, {3543,-297,3},{3543,-295,3},{3537,-297,3},{3527,-290,3},{3525,-292,3},{3518,-292,3}, {3513,-287,3},{3512,-275,3},{3517,-282,3},{3523,-288,3},{3525,-288,3},{3513,-275,3}, {3510,-263,3},{3510,-255,3},{3510,-248,3},{3515,-242,3},{3510,-225,3},{3508,-222,3}, {3508,-220,3},{3503,-220,3},{3502,-218,3},{3500,-213,3},{3493,-207,3},{3493,-200,3}, {3487,-197,3},{3482,-188,3},{3475,-175,3},{3472,-178,3},{3465,-180,3},{3462,-185,3}, {3450,-173,3},{3448,-168,3},{3438,-180,3},{3435,-175,3},{3408,-165,3},{3388,-172,3}, {3377,-168,3},{3370,-173,3},{3365,-165,3},{3360,-160,3},{3355,-160,3},{3352,-160,3}, {3338,-167,3},{3327,-167,3},{3323,-165,3},{3320,-160,3},{3315,-158,3},{3310,-155,3}, {3307,-148,3},{3298,-148,3},{3293,-155,3},{3272,-138,3},{3270,-130,3},{3267,-127,3}, {3250,-102,3},{3245,-107,3},{3242,-112,3},{3240,-120,3},{3233,-125,3},{3230,-123,3}, {3222,-125,3},{3217,-130,3},{3217,-122,3},{3217,-120,3},{3213,-117,3},{3210,-118,3}, {3208,-125,3},{3212,-145,3},{3212,-177,3},{3215,-233,3},{3213,-250,3},{3208,-273,3}, {3208,-285,3},{3203,-293,3},{3190,-295,3},{3185,-297,3},{3183,-300,3},{3175,-327,3}, {3173,-338,3},{3167,-352,3},{3172,-368,3},{3170,-382,3},{3165,-383,3},{3148,-385,3}, {3143,-382,3},{3143,-375,3},{3140,-372,3},{3133,-380,3},{3123,-380,3},{3117,-383,3}, {3115,-380,3},{3117,-377,3},{3118,-373,3},{3117,-370,3},{3112,-365,3},{3110,-360,3}, {3102,-360,3},{3097,-363,3},{3093,-372,3},{3093,-385,3},{3092,-402,3},{3077,-417,3}, {3068,-435,3},{3065,-440,3},{3063,-447,3},{3063,-458,3},{3058,-468,3},{3050,-492,3}, {3045,-497,3},{3025,-508,3},{3010,-522,3},{3000,-535,3},{2995,-548,3},{2990,-553,3}, {2988,-578,3},{2983,-600,3},{2985,-615,3},{2980,-622,3},{2982,-632,3},{2980,-640,3}, {2983,-647,3},{2982,-648,3},{2975,-648,3},{2963,-650,3},{2957,-658,3},{2957,-670,3}, {2962,-683,3},{2962,-698,3},{2963,-712,3},{2953,-730,3},{2947,-735,3},{2940,-743,3}, {2938,-748,3},{2940,-758,3},{2938,-765,3},{2932,-770,3},{2930,-775,3},{2925,-780,3}, {2915,-797,3},{2912,-800,3},{2905,-817,3},{2895,-830,3},{2892,-837,3},{2885,-842,3}, {2883,-847,3},{2878,-850,3},{2872,-867,3},{2867,-867,3},{2860,-867,3},{2853,-867,3}, {2847,-867,3},{2840,-867,3},{2835,-867,3},{2830,-867,3},{2823,-867,3},{2817,-867,3}, {2810,-867,3},{2803,-867,3},{2797,-867,3},{2790,-867,3},{2783,-867,3},{2777,-867,3}, {2770,-867,3},{2767,-867,3},{2767,-870,3},{2767,-877,3},{2767,-883,3},{2767,-890,3}, {2767,-897,3},{2767,-903,3},{2767,-910,3},{2767,-917,3},{2767,-923,3},{2767,-930,3}, {2767,-937,3},{2767,-943,3},{2767,-950,3},{2767,-957,3},{2767,-963,3},{2767,-970,3}, {2767,-977,3},{2767,-983,3},{2767,-990,3},{2767,-997,3},{2767,-1003,3}, {2767,-1010,3},{2767,-1017,3},{2767,-1023,3},{2767,-1030,3},{2767,-1037,3}, {2767,-1043,3},{2767,-1050,3},{2767,-1057,3},{2767,-1063,3},{2767,-1070,3}, {2767,-1077,3},{2767,-1083,3},{2767,-1090,3},{2767,-1097,3},{2767,-1103,3}, {2767,-1110,3},{2767,-1117,3},{2767,-1123,3},{2767,-1130,3},{2767,-1137,3}, {2767,-1143,3},{2767,-1150,3},{2767,-1157,3},{2767,-1163,3},{2767,-1170,3}, {2767,-1177,3},{2767,-1183,3},{2767,-1190,3},{2767,-1197,3},{2767,-1203,3}, {2767,-1210,3},{2767,-1217,3},{2767,-1223,3},{2767,-1230,3},{2767,-1237,3}, {2767,-1243,3},{2767,-1250,3},{2767,-1257,3},{2767,-1263,3},{2767,-1270,3}, {2767,-1277,3},{2767,-1283,3},{2767,-1292,3},{2767,-1298,3},{2767,-1305,3}, {2767,-1312,3},{2767,-1317,3},{1603,-1652,131},{1630,-1653,3},{1648,-1647,3}, {1662,-1647,3},{1697,-1633,3},{1707,-1625,3},{1737,-1613,3},{1773,-1603,3}, {1808,-1603,3},{1837,-1607,3},{1842,-1605,3},{1867,-1613,3},{1892,-1618,3}, {1913,-1628,3},{1920,-1635,3},{1925,-1647,3},{1938,-1653,3},{1938,-1652,3}, {1937,-1645,3},{1940,-1638,3},{1947,-1632,3},{1952,-1628,3},{1953,-1632,3}, {1947,-1638,3},{1953,-1635,3},{1953,-1637,3},{1947,-1643,3},{1942,-1643,3}, {1940,-1647,3},{1945,-1647,3},{1950,-1643,3},{1953,-1642,3},{1963,-1633,3}, {1973,-1627,3},{1975,-1627,3},{1978,-1623,3},{1983,-1625,3},{1985,-1623,3}, {1987,-1623,3},{1985,-1627,3},{1988,-1625,3},{1990,-1628,3},{1987,-1630,3}, {1988,-1632,3},{2000,-1622,3},{2007,-1622,3},{2013,-1627,3},{2015,-1623,3}, {2022,-1620,3},{2028,-1623,3},{2030,-1627,3},{2033,-1628,3},{2035,-1630,3}, {2037,-1632,3},{2042,-1635,3},{2043,-1633,3},{2058,-1640,3},{2058,-1642,3}, {2065,-1643,3},{2063,-1645,3},{2065,-1647,3},{2067,-1642,3},{2067,-1648,3}, {2072,-1650,3},{2073,-1653,3},{2058,-1653,3},{2057,-1655,3},{2065,-1663,3}, {2068,-1668,3},{2070,-1665,3},{2073,-1667,3},{2077,-1670,3},{2093,-1678,3}, {2093,-1680,3},{2115,-1690,3},{2117,-1693,3},{2107,-1697,3},{2105,-1702,3}, {2102,-1702,3},{2102,-1700,3},{2097,-1700,3},{2092,-1700,3},{2090,-1705,3}, {2085,-1702,3},{2077,-1705,3},{2082,-1707,3},{2087,-1707,3},{2093,-1707,3}, {2097,-1705,3},{2102,-1703,3},{2107,-1702,3},{2112,-1700,3},{2118,-1698,3}, {2123,-1697,3},{2128,-1697,3},{2133,-1695,3},{2133,-1690,3},{2133,-1685,3}, {2133,-1678,3},{2133,-1673,3},{2133,-1668,3},{2133,-1662,3},{2133,-1657,3}, {2133,-1652,3},{2133,-1645,3},{2133,-1640,3},{2133,-1635,3},{2133,-1630,3}, {2133,-1623,3},{2133,-1618,3},{2133,-1613,3},{2133,-1607,3},{2133,-1602,3}, {2133,-1595,3},{2133,-1590,3},{2133,-1583,3},{2133,-1578,3},{2133,-1572,3}, {2133,-1567,3},{2133,-1562,3},{2133,-1555,3},{2133,-1550,3},{2133,-1545,3}, {2133,-1538,3},{2133,-1533,3},{2133,-1528,3},{2133,-1523,3},{2133,-1517,3}, {2133,-1512,3},{2133,-1507,3},{2133,-1500,3},{2133,-1495,3},{2133,-1488,3}, {2133,-1483,3},{2133,-1478,3},{2133,-1472,3},{2133,-1467,3},{2133,-1462,3}, {2133,-1457,3},{2133,-1450,3},{2133,-1445,3},{2133,-1440,3},{2135,-1433,3}, {2135,-1427,3},{2135,-1422,3},{2135,-1415,3},{2135,-1410,3},{2135,-1405,3}, {2135,-1398,3},{2135,-1393,3},{2135,-1387,3},{2135,-1382,3},{2135,-1377,3}, {2135,-1370,3},{2133,-1365,3},{2133,-1360,3},{2133,-1355,3},{2133,-1348,3}, {2133,-1343,3},{2133,-1338,3},{2133,-1332,3},{2133,-1327,3},{2133,-1322,3}, {2133,-1315,3},{2133,-1310,3},{2133,-1305,3},{2133,-1300,3},{2138,-1300,3}, {2143,-1300,3},{2148,-1302,3},{2155,-1302,3},{2160,-1302,3},{2165,-1302,3}, {2170,-1302,3},{2175,-1303,3},{2180,-1303,3},{2185,-1303,3},{2190,-1303,3}, {2195,-1305,3},{2200,-1305,3},{2207,-1305,3},{2212,-1305,3},{2217,-1305,3}, {2222,-1307,3},{2227,-1307,3},{2232,-1307,3},{2237,-1307,3},{2243,-1307,3}, {2248,-1308,3},{2253,-1308,3},{2258,-1310,3},{2263,-1312,3},{2268,-1313,3}, {2273,-1315,3},{2280,-1313,3},{2285,-1312,3},{2290,-1310,3},{2295,-1307,3}, {2300,-1302,3},{2303,-1298,3},{2307,-1293,3},{2310,-1287,3},{2313,-1282,3}, {2317,-1277,3},{2320,-1272,3},{2323,-1265,3},{2327,-1260,3},{2330,-1253,3}, {2330,-1248,3},{2332,-1242,3},{2332,-1237,3},{2335,-1230,3},{2337,-1225,3}, {2340,-1220,3},{2342,-1213,3},{2343,-1208,3},{2345,-1202,3},{2345,-1200,3}, {2353,-1200,3},{2358,-1200,3},{2365,-1200,3},{2372,-1200,3},{2377,-1200,3}, {2383,-1200,3},{2390,-1200,3},{2397,-1200,3},{2403,-1200,3},{2410,-1200,3}, {2417,-1200,3},{2423,-1200,3},{2430,-1200,3},{2437,-1200,3},{2443,-1200,3}, {2450,-1200,3},{2457,-1200,3},{2463,-1200,3},{2470,-1200,3},{2477,-1200,3}, {2483,-1200,3},{2490,-1200,3},{2497,-1200,3},{2503,-1200,3},{2510,-1200,3}, {2517,-1200,3},{2523,-1200,3},{2530,-1200,3},{2537,-1200,3},{2543,-1200,3}, {2550,-1200,3},{2557,-1200,3},{2563,-1200,3},{2570,-1200,3},{2577,-1200,3}, {2583,-1200,3},{2590,-1200,3},{2597,-1200,3},{2600,-1200,3},{2600,-1193,3}, {2600,-1187,3},{2600,-1180,3},{2600,-1173,3},{2600,-1167,3},{2600,-1160,3}, {2600,-1153,3},{2600,-1147,3},{2600,-1140,3},{2600,-1133,3},{2600,-1127,3}, {2600,-1120,3},{2600,-1113,3},{2600,-1107,3},{2600,-1100,3},{2600,-1093,3}, {2600,-1087,3},{2600,-1080,3},{2600,-1073,3},{2600,-1067,3},{2600,-1060,3}, {2600,-1053,3},{2600,-1047,3},{2600,-1040,3},{2600,-1033,3},{2600,-1027,3}, {2600,-1020,3},{2600,-1013,3},{2600,-1007,3},{2600,-1000,3},{2600,-993,3}, {2600,-987,3},{2600,-980,3},{2600,-973,3},{2600,-967,3},{2600,-960,3},{2600,-953,3}, {2600,-947,3},{2600,-940,3},{2600,-933,3},{2600,-927,3},{2600,-920,3},{2600,-913,3}, {2600,-907,3},{2600,-900,3},{2600,-893,3},{2600,-887,3},{2600,-880,3},{2600,-873,3}, {2600,-867,3},{2607,-867,3},{2612,-867,3},{2617,-867,3},{2623,-867,3},{2630,-867,3}, {2637,-867,3},{2643,-867,3},{2650,-867,3},{2655,-867,3},{2660,-867,3},{2667,-867,3}, {2673,-867,3},{2678,-867,3},{2683,-867,3},{2690,-867,3},{2697,-867,3},{2702,-867,3}, {2707,-867,3},{2713,-867,3},{2720,-867,3},{2728,-867,3},{2725,-860,3},{2723,-855,3}, {2720,-850,3},{2717,-845,3},{2713,-838,3},{2710,-833,3},{2707,-828,3},{2703,-822,3}, {2700,-817,3},{2698,-812,3},{2695,-805,3},{2692,-800,3},{2688,-795,3},{2685,-790,3}, {2682,-783,3},{2678,-778,3},{2675,-773,3},{2672,-768,3},{2670,-762,3},{2667,-757,3}, {2663,-752,3},{2660,-745,3},{2657,-740,3},{2653,-735,3},{2650,-730,3},{2647,-723,3}, {2643,-718,3},{2640,-713,3},{2637,-708,3},{2635,-702,3},{2632,-697,3},{2628,-692,3}, {2625,-687,3},{2622,-680,3},{2618,-675,3},{2615,-670,3},{2612,-665,3},{2608,-658,3}, {2605,-653,3},{2602,-648,3},{2598,-643,3},{2595,-638,3},{2593,-632,3},{2590,-627,3}, {2587,-622,3},{2583,-617,3},{2580,-610,3},{2577,-605,3},{2573,-600,3},{2570,-595,3}, {2567,-590,3},{2563,-583,3},{2560,-578,3},{2557,-573,3},{2553,-568,3},{2550,-563,3}, {2547,-557,3},{2543,-552,3},{2540,-547,3},{2538,-542,3},{2535,-537,3},{2532,-530,3}, {2528,-525,3},{2525,-520,3},{2522,-515,3},{2518,-510,3},{2515,-505,3},{2512,-498,3}, {2508,-493,3},{2505,-488,3},{2502,-483,3},{2500,-480,3},{2500,-483,3},{2500,-490,3}, {2500,-497,3},{2500,-503,3},{2500,-510,3},{2500,-517,3},{2500,-523,3},{2500,-530,3}, {2500,-537,3},{2500,-543,3},{2500,-550,3},{2500,-557,3},{2500,-563,3},{2500,-570,3}, {2500,-577,3},{2500,-583,3},{2500,-590,3},{2500,-597,3},{2500,-603,3},{2500,-610,3}, {2500,-617,3},{2500,-623,3},{2500,-630,3},{2500,-637,3},{2500,-643,3},{2500,-650,3}, {2500,-658,3},{2495,-657,3},{2490,-657,3},{2485,-655,3},{2478,-655,3},{2473,-655,3}, {2468,-653,3},{2463,-653,3},{2458,-653,3},{2453,-652,3},{2448,-652,3},{2442,-650,3}, {2437,-650,3},{2432,-650,3},{2427,-648,3},{2422,-648,3},{2417,-648,3},{2412,-647,3}, {2405,-647,3},{2400,-645,3},{2395,-645,3},{2390,-645,3},{2385,-643,3},{2380,-643,3}, {2375,-643,3},{2368,-642,3},{2363,-642,3},{2358,-640,3},{2353,-640,3},{2348,-640,3}, {2343,-638,3},{2338,-638,3},{2332,-638,3},{2327,-637,3},{2322,-637,3},{2317,-635,3}, {2315,-635,3},{2313,-635,3},{2307,-635,3},{2302,-633,3},{2295,-633,3},{2290,-633,3}, {2285,-632,3},{2280,-632,3},{2275,-630,3},{2270,-630,3},{2265,-630,3},{2260,-628,3}, {2255,-628,3},{2250,-628,3},{2245,-627,3},{2240,-627,3},{2235,-627,3},{2230,-625,3}, {2225,-625,3},{2220,-625,3},{2213,-623,3},{2208,-623,3},{2203,-623,3},{2198,-622,3}, {2193,-622,3},{2188,-620,3},{2183,-620,3},{2178,-620,3},{2173,-618,3},{2168,-618,3}, {2163,-618,3},{2158,-617,3},{2153,-617,3},{2148,-617,3},{2143,-615,3},{2137,-615,3}, {2132,-615,3},{2127,-613,3},{2122,-613,3},{2117,-613,3},{2112,-612,3},{2107,-612,3}, {2102,-612,3},{2095,-610,3},{2090,-610,3},{2085,-608,3},{2080,-608,3},{2075,-608,3}, {2070,-607,3},{2065,-607,3},{2060,-607,3},{2055,-605,3},{2048,-605,3},{2043,-603,3}, {2038,-603,3},{2033,-603,3},{2028,-602,3},{2023,-602,3},{2018,-602,3},{2013,-600,3}, {2008,-600,3},{2003,-600,3},{1997,-598,3},{1992,-598,3},{1987,-597,3},{1982,-597,3}, {1977,-597,3},{1972,-595,3},{1967,-595,3},{1962,-595,3},{1955,-593,3},{1950,-593,3}, {1945,-593,3},{1940,-592,3},{1935,-592,3},{1930,-592,3},{1925,-590,3},{1920,-590,3}, {1915,-590,3},{1910,-588,3},{1905,-588,3},{1900,-588,3},{1895,-587,3},{1888,-587,3}, {1883,-587,3},{1878,-585,3},{1873,-585,3},{1868,-585,3},{1863,-583,3},{1858,-583,3}, {1853,-583,3},{1848,-582,3},{1843,-582,3},{1838,-580,3},{1832,-580,3},{1827,-580,3}, {1822,-578,3},{1817,-578,3},{1812,-578,3},{1807,-577,3},{1802,-577,3},{1795,-577,3}, {1790,-575,3},{1785,-575,3},{1780,-575,3},{1775,-573,3},{1770,-573,3},{1765,-573,3}, {1758,-572,3},{1753,-572,3},{1748,-572,3},{1743,-570,3},{1738,-570,3},{1733,-570,3}, {1728,-568,3},{1723,-568,3},{1718,-568,3},{1713,-567,3},{1708,-567,3},{1702,-565,3}, {1697,-565,3},{1692,-565,3},{1687,-563,3},{1682,-563,3},{1677,-563,3},{1672,-562,3}, {1667,-562,3},{1662,-562,3},{1657,-560,3},{1650,-560,3},{1647,-555,3},{1643,-550,3}, {1640,-545,3},{1637,-538,3},{1632,-533,3},{1627,-535,3},{1622,-535,3},{1617,-537,3}, {1612,-538,3},{1607,-538,3},{1602,-540,3},{1597,-540,3},{1592,-542,3},{1587,-543,3}, {1580,-543,3},{1575,-545,3},{1570,-545,3},{1565,-547,3},{1560,-548,3},{1555,-548,3}, {1550,-550,3},{1550,-553,3},{1550,-558,3},{1550,-563,3},{1550,-568,3},{1550,-575,3}, {1550,-580,3},{1550,-585,3},{1550,-590,3},{1550,-597,3},{1550,-602,3},{1550,-608,3}, {1550,-613,3},{1550,-618,3},{1550,-623,3},{1550,-628,3},{1550,-635,3},{1550,-640,3}, {1550,-647,3},{1550,-652,3},{1550,-657,3},{1550,-662,3},{1550,-668,3},{1550,-673,3}, {1550,-678,3},{1550,-683,3},{1550,-688,3},{1550,-695,3},{1550,-700,3},{1550,-705,3}, {1550,-710,3},{1550,-717,3},{1550,-722,3},{1550,-727,3},{1550,-732,3},{1550,-738,3}, {1550,-743,3},{1550,-748,3},{1550,-753,3},{1550,-758,3},{1550,-765,3},{1550,-770,3}, {1550,-775,3},{1550,-780,3},{1550,-785,3},{1550,-792,3},{1550,-797,3},{1550,-802,3}, {1550,-808,3},{1550,-813,3},{1550,-818,3},{1550,-823,3},{1550,-830,3},{1550,-835,3}, {1550,-840,3},{1550,-845,3},{1550,-852,3},{1550,-857,3},{1550,-862,3},{1550,-867,3}, {1550,-873,3},{1550,-878,3},{1550,-883,3},{1550,-888,3},{1550,-895,3},{1550,-900,3}, {1550,-905,3},{1550,-910,3},{1550,-917,3},{1550,-923,3},{1550,-928,3},{1552,-933,3}, {1553,-933,3},{1558,-933,3},{1563,-932,3},{1568,-932,3},{1570,-933,3},{1565,-940,3}, {1560,-945,3},{1555,-943,3},{1550,-942,3},{1545,-942,3},{1545,-943,3},{1543,-948,3}, {1543,-953,3},{1543,-958,3},{1543,-965,3},{1542,-972,3},{1540,-975,3},{1538,-980,3}, {1538,-987,3},{1538,-992,3},{1538,-997,3},{1537,-1002,3},{1537,-1007,3}, {1538,-1013,3},{1542,-1017,3},{1542,-1023,3},{1543,-1028,3},{1543,-1033,3}, {1543,-1040,3},{1543,-1045,3},{1543,-1050,3},{1543,-1055,3},{1543,-1062,3}, {1543,-1067,3},{1543,-1072,3},{1535,-1073,3},{1528,-1083,3},{1522,-1083,3}, {1520,-1087,3},{1510,-1090,3},{1520,-1097,3},{1525,-1100,3},{1545,-1128,3}, {1563,-1142,3},{1565,-1150,3},{1562,-1150,3},{1560,-1150,3},{1558,-1157,3}, {1555,-1160,3},{1552,-1165,3},{1555,-1172,3},{1550,-1172,3},{1547,-1175,3}, {1535,-1177,3},{1532,-1180,3},{1523,-1182,3},{1520,-1183,3},{1513,-1182,3}, {1510,-1185,3},{1508,-1183,3},{1505,-1185,3},{1505,-1182,3},{1503,-1180,3}, {1493,-1182,3},{1490,-1180,3},{1490,-1183,3},{1487,-1183,3},{1483,-1187,3}, {1482,-1195,3},{1477,-1197,3},{1477,-1205,3},{1472,-1205,3},{1477,-1212,3}, {1478,-1215,3},{1477,-1225,3},{1483,-1233,3},{1485,-1238,3},{1490,-1245,3}, {1495,-1245,3},{1502,-1248,3},{1505,-1255,3},{1508,-1262,3},{1510,-1265,3}, {1508,-1270,3},{1515,-1278,3},{1520,-1278,3},{1522,-1285,3},{1527,-1290,3}, {1527,-1285,3},{1530,-1283,3},{1533,-1287,3},{1537,-1293,3},{1543,-1293,3}, {1545,-1295,3},{1550,-1297,3},{1548,-1307,3},{1552,-1310,3},{1558,-1310,3}, {1562,-1317,3},{1562,-1323,3},{1567,-1325,3},{1570,-1322,3},{1577,-1328,3}, {1578,-1328,3},{1580,-1327,3},{1583,-1330,3},{1588,-1330,3},{1590,-1333,3}, {1593,-1332,3},{1598,-1337,3},{1603,-1338,3},{1607,-1340,3},{1608,-1343,3}, {1610,-1347,3},{1608,-1348,3},{1608,-1350,3},{1608,-1352,3},{1612,-1352,3}, {1613,-1348,3},{1615,-1350,3},{1613,-1352,3},{1613,-1358,3},{1610,-1368,3}, {1613,-1372,3},{1617,-1370,3},{1618,-1372,3},{1615,-1375,3},{1612,-1385,3}, {1615,-1387,3},{1620,-1387,3},{1623,-1397,3},{1627,-1397,3},{1630,-1398,3}, {1633,-1397,3},{1635,-1400,3},{1635,-1403,3},{1655,-1422,3},{1653,-1427,3}, {1658,-1428,3},{1658,-1433,3},{1663,-1433,3},{1663,-1435,3},{1663,-1438,3}, {1665,-1443,3},{1663,-1445,3},{1663,-1450,3},{1663,-1455,3},{1663,-1463,3}, {1665,-1465,3},{1663,-1472,3},{1662,-1473,3},{1665,-1477,3},{1663,-1478,3}, {1665,-1482,3},{1663,-1485,3},{1665,-1488,3},{1663,-1490,3},{1665,-1495,3}, {1668,-1497,3},{1670,-1498,3},{1663,-1502,3},{1663,-1505,3},{1667,-1508,3}, {1667,-1510,3},{1665,-1512,3},{1662,-1508,3},{1658,-1512,3},{1657,-1532,3}, {1655,-1540,3},{1658,-1545,3},{1657,-1550,3},{1652,-1553,3},{1652,-1562,3}, {1650,-1563,3},{1648,-1568,3},{1650,-1585,3},{1652,-1590,3},{1648,-1597,3}, {1650,-1600,3},{1648,-1605,3},{1652,-1610,3},{1655,-1610,3},{1655,-1612,3}, {1655,-1615,3},{1652,-1618,3},{1652,-1628,3},{1645,-1632,3},{1623,-1638,3}, {1618,-1647,3},{1610,-1647,3},{1605,-1648,3},{1610,-1650,3},{1603,-1652,3}, {2077,-1705,131},{2085,-1710,3},{2090,-1708,3},{2095,-1710,3},{2098,-1707,3}, {2110,-1707,3},{2117,-1703,3},{2120,-1705,3},{2127,-1703,3},{2133,-1703,3}, {2143,-1702,3},{2157,-1697,3},{2167,-1697,3},{2173,-1695,3},{2177,-1697,3}, {2182,-1697,3},{2195,-1692,3},{2202,-1687,3},{2208,-1685,3},{2222,-1675,3}, {2222,-1673,3},{2227,-1672,3},{2230,-1667,3},{2227,-1662,3},{2233,-1648,3}, {2252,-1643,3},{2257,-1635,3},{2277,-1633,3},{2285,-1628,3},{2287,-1632,3}, {2288,-1630,3},{2290,-1628,3},{2290,-1625,3},{2293,-1620,3},{2300,-1615,3}, {2307,-1615,3},{2308,-1618,3},{2307,-1622,3},{2308,-1622,3},{2312,-1620,3}, {2318,-1613,3},{2332,-1608,3},{2342,-1600,3},{2352,-1597,3},{2358,-1592,3}, {2363,-1588,3},{2368,-1583,3},{2373,-1582,3},{2378,-1577,3},{2387,-1577,3}, {2392,-1578,3},{2385,-1580,3},{2383,-1585,3},{2380,-1588,3},{2368,-1595,3}, {2365,-1600,3},{2367,-1600,3},{2370,-1597,3},{2382,-1592,3},{2388,-1585,3}, {2397,-1575,3},{2402,-1562,3},{2415,-1552,3},{2418,-1547,3},{2422,-1545,3}, {2433,-1530,3},{2443,-1523,3},{2448,-1518,3},{2453,-1503,3},{2463,-1498,3}, {2468,-1490,3},{2478,-1488,3},{2492,-1483,3},{2520,-1485,3},{2532,-1483,3}, {2543,-1478,3},{2552,-1472,3},{2558,-1468,3},{2577,-1463,3},{2593,-1452,3}, {2602,-1448,3},{2617,-1448,3},{2627,-1442,3},{2630,-1428,3},{2637,-1423,3}, {2642,-1418,3},{2645,-1402,3},{2663,-1372,3},{2673,-1357,3},{2690,-1348,3}, {2710,-1342,3},{2718,-1340,3},{2732,-1330,3},{2745,-1325,3},{2767,-1317,3}, {2767,-1312,3},{2767,-1305,3},{2767,-1298,3},{2767,-1292,3},{2767,-1283,3}, {2767,-1277,3},{2767,-1270,3},{2767,-1263,3},{2767,-1257,3},{2767,-1250,3}, {2767,-1243,3},{2767,-1237,3},{2767,-1230,3},{2767,-1223,3},{2767,-1217,3}, {2767,-1210,3},{2767,-1203,3},{2767,-1197,3},{2767,-1190,3},{2767,-1183,3}, {2767,-1177,3},{2767,-1170,3},{2767,-1163,3},{2767,-1157,3},{2767,-1150,3}, {2767,-1143,3},{2767,-1137,3},{2767,-1130,3},{2767,-1123,3},{2767,-1117,3}, {2767,-1110,3},{2767,-1103,3},{2767,-1097,3},{2767,-1090,3},{2767,-1083,3}, {2767,-1077,3},{2767,-1070,3},{2767,-1063,3},{2767,-1057,3},{2767,-1050,3}, {2767,-1043,3},{2767,-1037,3},{2767,-1030,3},{2767,-1023,3},{2767,-1017,3}, {2767,-1010,3},{2767,-1003,3},{2767,-997,3},{2767,-990,3},{2767,-983,3}, {2767,-977,3},{2767,-970,3},{2767,-963,3},{2767,-957,3},{2767,-950,3},{2767,-943,3}, {2767,-937,3},{2767,-930,3},{2767,-923,3},{2767,-917,3},{2767,-910,3},{2767,-903,3}, {2767,-897,3},{2767,-890,3},{2767,-883,3},{2767,-877,3},{2767,-870,3},{2767,-867,3}, {2728,-867,3},{2720,-867,3},{2713,-867,3},{2707,-867,3},{2702,-867,3},{2697,-867,3}, {2690,-867,3},{2683,-867,3},{2678,-867,3},{2673,-867,3},{2667,-867,3},{2660,-867,3}, {2655,-867,3},{2650,-867,3},{2643,-867,3},{2637,-867,3},{2630,-867,3},{2623,-867,3}, {2617,-867,3},{2612,-867,3},{2607,-867,3},{2600,-867,3},{2600,-873,3},{2600,-880,3}, {2600,-887,3},{2600,-893,3},{2600,-900,3},{2600,-907,3},{2600,-913,3},{2600,-920,3}, {2600,-927,3},{2600,-933,3},{2600,-940,3},{2600,-947,3},{2600,-953,3},{2600,-960,3}, {2600,-967,3},{2600,-973,3},{2600,-980,3},{2600,-987,3},{2600,-993,3},{2600,-1000,3}, {2600,-1007,3},{2600,-1013,3},{2600,-1020,3},{2600,-1027,3},{2600,-1033,3}, {2600,-1040,3},{2600,-1047,3},{2600,-1053,3},{2600,-1060,3},{2600,-1067,3}, {2600,-1073,3},{2600,-1080,3},{2600,-1087,3},{2600,-1093,3},{2600,-1100,3}, {2600,-1107,3},{2600,-1113,3},{2600,-1120,3},{2600,-1127,3},{2600,-1133,3}, {2600,-1140,3},{2600,-1147,3},{2600,-1153,3},{2600,-1160,3},{2600,-1167,3}, {2600,-1173,3},{2600,-1180,3},{2600,-1187,3},{2600,-1193,3},{2600,-1200,3}, {2597,-1200,3},{2590,-1200,3},{2583,-1200,3},{2577,-1200,3},{2570,-1200,3}, {2563,-1200,3},{2557,-1200,3},{2550,-1200,3},{2543,-1200,3},{2537,-1200,3}, {2530,-1200,3},{2523,-1200,3},{2517,-1200,3},{2510,-1200,3},{2503,-1200,3}, {2497,-1200,3},{2490,-1200,3},{2483,-1200,3},{2477,-1200,3},{2470,-1200,3}, {2463,-1200,3},{2457,-1200,3},{2450,-1200,3},{2443,-1200,3},{2437,-1200,3}, {2430,-1200,3},{2423,-1200,3},{2417,-1200,3},{2410,-1200,3},{2403,-1200,3}, {2397,-1200,3},{2390,-1200,3},{2383,-1200,3},{2377,-1200,3},{2372,-1200,3}, {2365,-1200,3},{2358,-1200,3},{2353,-1200,3},{2345,-1200,3},{2345,-1202,3}, {2343,-1208,3},{2342,-1213,3},{2340,-1220,3},{2337,-1225,3},{2335,-1230,3}, {2332,-1237,3},{2332,-1242,3},{2330,-1248,3},{2330,-1253,3},{2327,-1260,3}, {2323,-1265,3},{2320,-1272,3},{2317,-1277,3},{2313,-1282,3},{2310,-1287,3}, {2307,-1293,3},{2303,-1298,3},{2300,-1302,3},{2295,-1307,3},{2290,-1310,3}, {2285,-1312,3},{2280,-1313,3},{2273,-1315,3},{2268,-1313,3},{2263,-1312,3}, {2258,-1310,3},{2253,-1308,3},{2248,-1308,3},{2243,-1307,3},{2237,-1307,3}, {2232,-1307,3},{2227,-1307,3},{2222,-1307,3},{2217,-1305,3},{2212,-1305,3}, {2207,-1305,3},{2200,-1305,3},{2195,-1305,3},{2190,-1303,3},{2185,-1303,3}, {2180,-1303,3},{2175,-1303,3},{2170,-1302,3},{2165,-1302,3},{2160,-1302,3}, {2155,-1302,3},{2148,-1302,3},{2143,-1300,3},{2138,-1300,3},{2133,-1300,3}, {2133,-1305,3},{2133,-1310,3},{2133,-1315,3},{2133,-1322,3},{2133,-1327,3}, {2133,-1332,3},{2133,-1338,3},{2133,-1343,3},{2133,-1348,3},{2133,-1355,3}, {2133,-1360,3},{2133,-1365,3},{2135,-1370,3},{2135,-1377,3},{2135,-1382,3}, {2135,-1387,3},{2135,-1393,3},{2135,-1398,3},{2135,-1405,3},{2135,-1410,3}, {2135,-1415,3},{2135,-1422,3},{2135,-1427,3},{2135,-1433,3},{2133,-1440,3}, {2133,-1445,3},{2133,-1450,3},{2133,-1457,3},{2133,-1462,3},{2133,-1467,3}, {2133,-1472,3},{2133,-1478,3},{2133,-1483,3},{2133,-1488,3},{2133,-1495,3}, {2133,-1500,3},{2133,-1507,3},{2133,-1512,3},{2133,-1517,3},{2133,-1523,3}, {2133,-1528,3},{2133,-1533,3},{2133,-1538,3},{2133,-1545,3},{2133,-1550,3}, {2133,-1555,3},{2133,-1562,3},{2133,-1567,3},{2133,-1572,3},{2133,-1578,3}, {2133,-1583,3},{2133,-1590,3},{2133,-1595,3},{2133,-1602,3},{2133,-1607,3}, {2133,-1613,3},{2133,-1618,3},{2133,-1623,3},{2133,-1630,3},{2133,-1635,3}, {2133,-1640,3},{2133,-1645,3},{2133,-1652,3},{2133,-1657,3},{2133,-1662,3}, {2133,-1668,3},{2133,-1673,3},{2133,-1678,3},{2133,-1685,3},{2133,-1690,3}, {2133,-1695,3},{2128,-1697,3},{2123,-1697,3},{2118,-1698,3},{2112,-1700,3}, {2107,-1702,3},{2102,-1703,3},{2097,-1705,3},{2093,-1707,3},{2087,-1707,3}, {2082,-1707,3},{2077,-1705,3},{692,-1148,131},{692,-1147,3},{693,-1145,3}, {693,-1142,3},{697,-1143,3},{702,-1138,3},{707,-1138,3},{710,-1133,3},{715,-1135,3}, {717,-1132,3},{722,-1130,3},{725,-1118,3},{728,-1118,3},{738,-1110,3},{742,-1105,3}, {752,-1093,3},{750,-1092,3},{753,-1087,3},{760,-1080,3},{773,-1068,3},{777,-1060,3}, {803,-1060,3},{805,-1057,3},{812,-1053,3},{813,-1050,3},{815,-1035,3},{818,-1030,3}, {822,-1030,3},{827,-1032,3},{832,-1028,3},{837,-1030,3},{843,-1027,3},{848,-1025,3}, {850,-1022,3},{848,-1022,3},{852,-1017,3},{853,-1017,3},{852,-1008,3},{850,-1005,3}, {843,-1007,3},{842,-1005,3},{845,-998,3},{847,-997,3},{850,-992,3},{850,-985,3}, {848,-985,3},{852,-978,3},{853,-980,3},{857,-977,3},{853,-973,3},{852,-975,3}, {847,-972,3},{843,-970,3},{847,-970,3},{848,-970,3},{850,-968,3},{847,-963,3}, {843,-963,3},{840,-967,3},{838,-967,3},{840,-960,3},{842,-958,3},{838,-955,3}, {837,-952,3},{835,-948,3},{832,-952,3},{827,-950,3},{825,-952,3},{822,-950,3}, {818,-952,3},{817,-947,3},{807,-945,3},{803,-947,3},{805,-943,3},{802,-940,3}, {795,-943,3},{790,-943,3},{783,-942,3},{780,-937,3},{775,-935,3},{765,-938,3}, {762,-935,3},{757,-938,3},{748,-942,3},{743,-947,3},{737,-948,3},{742,-942,3}, {738,-940,3},{740,-937,3},{743,-937,3},{742,-933,3},{743,-932,3},{742,-930,3}, {738,-928,3},{738,-920,3},{732,-920,3},{728,-917,3},{728,-913,3},{725,-913,3}, {723,-910,3},{720,-912,3},{722,-907,3},{725,-902,3},{725,-897,3},{727,-897,3}, {727,-895,3},{728,-893,3},{727,-892,3},{725,-892,3},{727,-885,3},{732,-883,3}, {735,-885,3},{740,-882,3},{742,-878,3},{745,-878,3},{747,-875,3},{752,-872,3}, {755,-872,3},{757,-872,3},{763,-872,3},{770,-867,3},{768,-855,3},{762,-855,3}, {757,-847,3},{750,-842,3},{732,-838,3},{727,-835,3},{723,-837,3},{718,-828,3}, {708,-830,3},{700,-828,3},{697,-832,3},{690,-832,3},{688,-833,3},{687,-830,3}, {678,-833,3},{677,-833,3},{677,-835,3},{673,-835,3},{672,-840,3},{667,-842,3}, {665,-843,3},{665,-845,3},{663,-845,3},{663,-848,3},{662,-848,3},{662,-850,3}, {658,-852,3},{660,-853,3},{657,-853,3},{657,-857,3},{655,-857,3},{653,-858,3}, {653,-860,3},{650,-860,3},{648,-853,3},{643,-848,3},{645,-847,3},{648,-845,3}, {647,-842,3},{645,-838,3},{642,-840,3},{638,-838,3},{635,-842,3},{635,-840,3}, {637,-837,3},{637,-833,3},{633,-830,3},{635,-828,3},{632,-828,3},{630,-820,3}, {627,-817,3},{630,-802,3},{628,-798,3},{627,-792,3},{628,-790,3},{625,-790,3}, {620,-782,3},{613,-785,3},{608,-785,3},{608,-782,3},{607,-778,3},{605,-778,3}, {603,-777,3},{602,-778,3},{598,-778,3},{595,-775,3},{590,-768,3},{593,-768,3}, {595,-765,3},{592,-765,3},{588,-757,3},{587,-757,3},{585,-755,3},{587,-752,3}, {585,-752,3},{585,-750,3},{582,-748,3},{582,-747,3},{587,-747,3},{587,-743,3}, {583,-742,3},{572,-743,3},{565,-742,3},{557,-737,3},{557,-740,3},{553,-738,3}, {553,-740,3},{552,-738,3},{548,-742,3},{543,-742,3},{543,-743,3},{537,-740,3}, {537,-738,3},{532,-737,3},{527,-740,3},{527,-742,3},{530,-742,3},{527,-747,3}, {525,-747,3},{523,-747,3},{517,-747,3},{513,-748,3},{510,-750,3},{510,-752,3}, {508,-755,3},{507,-757,3},{497,-755,3},{495,-753,3},{492,-753,3},{492,-757,3}, {490,-758,3},{483,-758,3},{482,-758,3},{478,-757,3},{475,-755,3},{467,-757,3}, {460,-755,3},{457,-757,3},{450,-755,3},{445,-757,3},{442,-755,3},{440,-757,3}, {435,-752,3},{435,-760,3},{435,-763,3},{435,-772,3},{438,-773,3},{442,-782,3}, {445,-783,3},{450,-795,3},{455,-810,3},{457,-825,3},{463,-833,3},{467,-843,3}, {475,-853,3},{485,-878,3},{492,-885,3},{498,-902,3},{500,-902,3},{502,-910,3}, {505,-912,3},{513,-927,3},{515,-928,3},{517,-928,3},{527,-942,3},{530,-945,3}, {538,-950,3},{542,-953,3},{543,-960,3},{545,-958,3},{548,-960,3},{560,-978,3}, {570,-987,3},{585,-1005,3},{590,-1005,3},{592,-1007,3},{598,-1017,3},{607,-1025,3}, {610,-1037,3},{612,-1037,3},{612,-1033,3},{613,-1033,3},{613,-1037,3},{617,-1038,3}, {620,-1043,3},{620,-1047,3},{615,-1038,3},{613,-1038,3},{617,-1045,3},{622,-1065,3}, {627,-1077,3},{632,-1082,3},{632,-1080,3},{630,-1077,3},{633,-1080,3},{637,-1080,3}, {640,-1075,3},{638,-1080,3},{643,-1083,3},{650,-1090,3},{660,-1108,3},{670,-1137,3}, {675,-1138,3},{680,-1137,3},{683,-1138,3},{692,-1148,3},{903,-1330,131}, {907,-1333,3},{908,-1330,3},{913,-1327,3},{917,-1322,3},{917,-1318,3},{918,-1315,3}, {918,-1325,3},{927,-1323,3},{923,-1327,3},{918,-1328,3},{917,-1328,3},{918,-1332,3}, {920,-1330,3},{925,-1330,3},{927,-1332,3},{932,-1333,3},{932,-1332,3},{932,-1330,3}, {935,-1330,3},{933,-1335,3},{928,-1337,3},{928,-1340,3},{928,-1342,3},{932,-1340,3}, {937,-1343,3},{943,-1340,3},{942,-1342,3},{942,-1350,3},{947,-1352,3},{950,-1352,3}, {957,-1348,3},{950,-1353,3},{953,-1358,3},{957,-1358,3},{950,-1372,3},{957,-1367,3}, {963,-1363,3},{973,-1362,3},{978,-1357,3},{978,-1362,3},{980,-1362,3},{985,-1365,3}, {983,-1367,3},{980,-1365,3},{977,-1365,3},{973,-1370,3},{977,-1375,3},{978,-1375,3}, {983,-1373,3},{990,-1368,3},{995,-1368,3},{992,-1370,3},{987,-1373,3},{985,-1377,3}, {985,-1378,3},{985,-1383,3},{995,-1393,3},{997,-1395,3},{997,-1398,3},{1000,-1402,3}, {1000,-1403,3},{1003,-1407,3},{1008,-1405,3},{1010,-1402,3},{1008,-1400,3}, {1012,-1402,3},{1010,-1405,3},{1012,-1407,3},{1020,-1400,3},{1013,-1408,3}, {1007,-1408,3},{1005,-1413,3},{1008,-1418,3},{1010,-1418,3},{1013,-1417,3}, {1015,-1413,3},{1017,-1413,3},{1018,-1413,3},{1017,-1415,3},{1015,-1418,3}, {1012,-1418,3},{1010,-1422,3},{1015,-1425,3},{1018,-1425,3},{1015,-1427,3}, {1020,-1433,3},{1023,-1438,3},{1023,-1443,3},{1020,-1445,3},{1025,-1447,3}, {1030,-1445,3},{1033,-1447,3},{1035,-1450,3},{1042,-1455,3},{1047,-1455,3}, {1050,-1453,3},{1048,-1457,3},{1048,-1467,3},{1057,-1465,3},{1057,-1463,3}, {1060,-1460,3},{1062,-1463,3},{1070,-1462,3},{1070,-1460,3},{1073,-1457,3}, {1077,-1457,3},{1083,-1450,3},{1088,-1450,3},{1088,-1453,3},{1085,-1452,3}, {1080,-1458,3},{1068,-1463,3},{1063,-1470,3},{1067,-1470,3},{1068,-1468,3}, {1070,-1472,3},{1075,-1470,3},{1082,-1463,3},{1082,-1467,3},{1078,-1468,3}, {1077,-1472,3},{1070,-1475,3},{1075,-1480,3},{1078,-1477,3},{1083,-1473,3}, {1087,-1473,3},{1083,-1477,3},{1083,-1482,3},{1088,-1482,3},{1090,-1480,3}, {1090,-1482,3},{1093,-1482,3},{1097,-1473,3},{1100,-1472,3},{1103,-1467,3}, {1105,-1468,3},{1103,-1470,3},{1102,-1473,3},{1100,-1473,3},{1098,-1475,3}, {1098,-1480,3},{1100,-1480,3},{1102,-1480,3},{1097,-1487,3},{1097,-1488,3}, {1103,-1488,3},{1103,-1492,3},{1100,-1490,3},{1097,-1490,3},{1097,-1492,3}, {1098,-1495,3},{1093,-1492,3},{1092,-1490,3},{1087,-1495,3},{1087,-1498,3}, {1083,-1497,3},{1083,-1498,3},{1080,-1495,3},{1077,-1495,3},{1077,-1498,3}, {1078,-1503,3},{1085,-1508,3},{1090,-1507,3},{1092,-1503,3},{1095,-1502,3}, {1102,-1497,3},{1120,-1485,3},{1135,-1480,3},{1152,-1468,3},{1152,-1452,3}, {1162,-1432,3},{1168,-1428,3},{1167,-1425,3},{1167,-1415,3},{1163,-1410,3}, {1165,-1405,3},{1163,-1398,3},{1167,-1395,3},{1168,-1393,3},{1167,-1388,3}, {1168,-1387,3},{1173,-1385,3},{1173,-1387,3},{1175,-1385,3},{1172,-1382,3}, {1172,-1380,3},{1170,-1380,3},{1168,-1378,3},{1172,-1372,3},{1178,-1370,3}, {1190,-1372,3},{1202,-1370,3},{1205,-1380,3},{1210,-1382,3},{1212,-1387,3}, {1215,-1388,3},{1215,-1397,3},{1220,-1397,3},{1223,-1392,3},{1225,-1385,3}, {1228,-1387,3},{1227,-1383,3},{1228,-1382,3},{1230,-1382,3},{1228,-1380,3}, {1225,-1380,3},{1227,-1375,3},{1225,-1372,3},{1228,-1370,3},{1230,-1368,3}, {1232,-1367,3},{1237,-1367,3},{1240,-1367,3},{1243,-1365,3},{1247,-1365,3}, {1257,-1372,3},{1268,-1372,3},{1267,-1335,3},{1263,-1332,3},{1267,-1327,3}, {1265,-1322,3},{1265,-1320,3},{1263,-1318,3},{1263,-1307,3},{1258,-1303,3}, {1253,-1307,3},{1250,-1307,3},{1247,-1303,3},{1247,-1297,3},{1248,-1295,3}, {1253,-1295,3},{1255,-1290,3},{1250,-1283,3},{1248,-1283,3},{1247,-1277,3}, {1243,-1277,3},{1243,-1263,3},{1238,-1258,3},{1237,-1257,3},{1238,-1252,3}, {1240,-1248,3},{1238,-1245,3},{1237,-1240,3},{1230,-1235,3},{1235,-1225,3}, {1235,-1217,3},{1242,-1210,3},{1238,-1197,3},{1243,-1190,3},{1242,-1190,3}, {1238,-1183,3},{1240,-1180,3},{1238,-1173,3},{1240,-1168,3},{1243,-1163,3}, {1242,-1162,3},{1243,-1148,3},{1240,-1138,3},{1247,-1135,3},{1238,-1138,3}, {1238,-1143,3},{1237,-1143,3},{1228,-1143,3},{1223,-1145,3},{1222,-1148,3}, {1217,-1150,3},{1213,-1145,3},{1210,-1138,3},{1205,-1135,3},{1203,-1132,3}, {1200,-1125,3},{1202,-1118,3},{1203,-1117,3},{1205,-1115,3},{1208,-1115,3}, {1208,-1112,3},{1212,-1110,3},{1213,-1107,3},{1222,-1103,3},{1223,-1095,3}, {1220,-1090,3},{1215,-1087,3},{1212,-1082,3},{1210,-1078,3},{1207,-1078,3}, {1203,-1080,3},{1197,-1075,3},{1192,-1073,3},{1190,-1065,3},{1197,-1062,3}, {1197,-1058,3},{1200,-1057,3},{1203,-1057,3},{1205,-1052,3},{1207,-1052,3}, {1208,-1050,3},{1212,-1052,3},{1212,-1045,3},{1217,-1040,3},{1217,-1035,3}, {1218,-1035,3},{1218,-1033,3},{1222,-1033,3},{1218,-1030,3},{1222,-1028,3}, {1222,-1025,3},{1220,-1023,3},{1220,-1018,3},{1218,-1015,3},{1218,-1010,3}, {1215,-1007,3},{1215,-1003,3},{1210,-997,3},{1210,-992,3},{1205,-987,3}, {1205,-980,3},{1203,-975,3},{1203,-970,3},{1208,-967,3},{1213,-967,3},{1217,-963,3}, {1222,-950,3},{1225,-947,3},{1227,-942,3},{1225,-935,3},{1227,-932,3},{1232,-932,3}, {1232,-930,3},{1237,-930,3},{1237,-932,3},{1240,-933,3},{1245,-940,3},{1248,-937,3}, {1248,-933,3},{1250,-932,3},{1248,-928,3},{1250,-925,3},{1248,-915,3},{1243,-908,3}, {1243,-905,3},{1240,-898,3},{1235,-895,3},{1227,-898,3},{1222,-898,3},{1218,-897,3}, {1220,-892,3},{1215,-888,3},{1208,-892,3},{1205,-890,3},{1203,-887,3},{1203,-883,3}, {1200,-880,3},{1197,-880,3},{1193,-878,3},{1167,-883,3},{1163,-875,3},{1167,-870,3}, {1155,-867,3},{1150,-863,3},{1147,-858,3},{1150,-853,3},{1143,-852,3},{1142,-847,3}, {1137,-837,3},{1135,-842,3},{1133,-840,3},{1133,-835,3},{1128,-837,3},{1130,-845,3}, {1128,-848,3},{1127,-848,3},{1123,-848,3},{1120,-855,3},{1115,-857,3},{1113,-860,3}, {1108,-860,3},{1102,-867,3},{1097,-868,3},{1097,-863,3},{1097,-855,3},{1100,-852,3}, {1107,-848,3},{1105,-838,3},{1105,-835,3},{1100,-828,3},{1095,-828,3},{1085,-828,3}, {1083,-830,3},{1077,-833,3},{1077,-832,3},{1075,-830,3},{1072,-830,3},{1068,-828,3}, {1062,-828,3},{1050,-827,3},{1047,-823,3},{1042,-822,3},{1042,-813,3},{1043,-813,3}, {1042,-812,3},{1035,-808,3},{1035,-800,3},{1033,-797,3},{1023,-793,3},{1015,-797,3}, {1008,-802,3},{1005,-812,3},{998,-815,3},{998,-812,3},{997,-812,3},{995,-817,3}, {992,-815,3},{990,-813,3},{988,-813,3},{987,-815,3},{987,-810,3},{982,-810,3}, {975,-813,3},{967,-812,3},{962,-815,3},{950,-813,3},{940,-805,3},{938,-802,3}, {938,-795,3},{942,-792,3},{942,-785,3},{935,-788,3},{930,-788,3},{923,-792,3}, {920,-792,3},{917,-788,3},{917,-783,3},{912,-780,3},{910,-773,3},{908,-773,3}, {907,-775,3},{907,-782,3},{903,-785,3},{902,-792,3},{897,-793,3},{880,-795,3}, {877,-792,3},{875,-778,3},{872,-775,3},{867,-773,3},{862,-768,3},{857,-768,3}, {850,-765,3},{843,-768,3},{838,-765,3},{838,-775,3},{845,-778,3},{848,-782,3}, {847,-783,3},{843,-783,3},{842,-785,3},{843,-790,3},{850,-793,3},{850,-805,3}, {850,-808,3},{848,-810,3},{848,-815,3},{850,-815,3},{850,-820,3},{845,-825,3}, {840,-822,3},{838,-822,3},{828,-823,3},{825,-825,3},{823,-822,3},{820,-817,3}, {817,-807,3},{818,-798,3},{810,-800,3},{807,-797,3},{802,-795,3},{802,-798,3}, {803,-800,3},{803,-805,3},{802,-805,3},{797,-805,3},{787,-812,3},{785,-812,3}, {780,-808,3},{777,-810,3},{772,-810,3},{768,-813,3},{767,-815,3},{763,-818,3}, {757,-818,3},{755,-822,3},{758,-828,3},{760,-830,3},{758,-835,3},{758,-838,3}, {760,-838,3},{762,-840,3},{757,-847,3},{762,-855,3},{768,-855,3},{770,-867,3}, {763,-872,3},{757,-872,3},{755,-872,3},{752,-872,3},{747,-875,3},{745,-878,3}, {742,-878,3},{740,-882,3},{735,-885,3},{732,-883,3},{727,-885,3},{725,-892,3}, {727,-892,3},{728,-893,3},{727,-895,3},{727,-897,3},{725,-897,3},{725,-902,3}, {722,-907,3},{720,-912,3},{723,-910,3},{725,-913,3},{728,-913,3},{728,-917,3}, {732,-920,3},{738,-920,3},{738,-928,3},{742,-930,3},{743,-932,3},{742,-933,3}, {743,-937,3},{740,-937,3},{738,-940,3},{742,-942,3},{737,-948,3},{743,-947,3}, {748,-942,3},{757,-938,3},{762,-935,3},{765,-938,3},{775,-935,3},{780,-937,3}, {783,-942,3},{790,-943,3},{795,-943,3},{802,-940,3},{805,-943,3},{803,-947,3}, {807,-945,3},{817,-947,3},{818,-952,3},{822,-950,3},{825,-952,3},{827,-950,3}, {832,-952,3},{835,-948,3},{837,-952,3},{838,-955,3},{842,-958,3},{840,-960,3}, {838,-967,3},{840,-967,3},{843,-963,3},{847,-963,3},{850,-968,3},{848,-970,3}, {847,-970,3},{843,-970,3},{847,-972,3},{852,-975,3},{853,-973,3},{857,-977,3}, {853,-980,3},{852,-978,3},{848,-985,3},{850,-985,3},{850,-992,3},{847,-997,3}, {845,-998,3},{842,-1005,3},{843,-1007,3},{850,-1005,3},{852,-1008,3},{853,-1017,3}, {852,-1017,3},{848,-1022,3},{850,-1022,3},{848,-1025,3},{848,-1028,3},{852,-1032,3}, {848,-1040,3},{840,-1043,3},{833,-1052,3},{830,-1057,3},{833,-1058,3},{833,-1068,3}, {827,-1070,3},{828,-1072,3},{832,-1072,3},{835,-1070,3},{840,-1065,3},{848,-1063,3}, {848,-1062,3},{855,-1062,3},{855,-1060,3},{860,-1058,3},{862,-1050,3},{865,-1047,3}, {868,-1047,3},{872,-1050,3},{873,-1052,3},{880,-1057,3},{882,-1058,3},{895,-1060,3}, {907,-1057,3},{908,-1073,3},{918,-1073,3},{923,-1067,3},{927,-1067,3},{930,-1065,3}, {938,-1075,3},{940,-1082,3},{942,-1080,3},{945,-1083,3},{952,-1083,3},{953,-1087,3}, {958,-1087,3},{960,-1092,3},{965,-1093,3},{967,-1097,3},{973,-1098,3},{978,-1102,3}, {985,-1110,3},{987,-1115,3},{997,-1117,3},{1000,-1122,3},{1000,-1127,3}, {1000,-1132,3},{1000,-1137,3},{1000,-1142,3},{1000,-1148,3},{1000,-1153,3}, {1000,-1160,3},{1000,-1165,3},{1000,-1170,3},{1000,-1175,3},{1000,-1180,3}, {1000,-1185,3},{1000,-1190,3},{993,-1190,3},{988,-1212,3},{990,-1222,3}, {993,-1223,3},{988,-1245,3},{987,-1247,3},{987,-1250,3},{982,-1248,3},{977,-1252,3}, {975,-1250,3},{973,-1252,3},{970,-1252,3},{970,-1257,3},{967,-1257,3},{965,-1258,3}, {960,-1258,3},{960,-1262,3},{955,-1263,3},{955,-1265,3},{952,-1265,3},{942,-1268,3}, {942,-1270,3},{940,-1270,3},{940,-1275,3},{935,-1275,3},{935,-1277,3},{930,-1280,3}, {928,-1285,3},{928,-1288,3},{927,-1290,3},{928,-1292,3},{928,-1295,3},{922,-1297,3}, {918,-1293,3},{917,-1298,3},{910,-1300,3},{908,-1307,3},{905,-1308,3},{905,-1313,3}, {908,-1318,3},{907,-1327,3},{903,-1330,3},{692,-1148,131},{695,-1157,3}, {697,-1158,3},{698,-1157,3},{698,-1162,3},{702,-1165,3},{707,-1170,3},{710,-1175,3}, {712,-1180,3},{715,-1183,3},{717,-1188,3},{718,-1193,3},{720,-1200,3},{722,-1205,3}, {723,-1210,3},{725,-1215,3},{728,-1220,3},{730,-1225,3},{732,-1230,3},{733,-1233,3}, {735,-1240,3},{737,-1245,3},{738,-1250,3},{740,-1248,3},{742,-1243,3},{738,-1237,3}, {743,-1242,3},{743,-1247,3},{745,-1250,3},{753,-1243,3},{753,-1233,3},{753,-1230,3}, {755,-1227,3},{755,-1223,3},{757,-1223,3},{757,-1220,3},{760,-1218,3},{762,-1225,3}, {758,-1227,3},{757,-1230,3},{755,-1247,3},{762,-1250,3},{765,-1248,3},{763,-1252,3}, {762,-1252,3},{765,-1253,3},{770,-1252,3},{772,-1247,3},{777,-1247,3},{777,-1245,3}, {778,-1247,3},{778,-1248,3},{773,-1250,3},{770,-1255,3},{768,-1260,3},{770,-1262,3}, {770,-1270,3},{775,-1278,3},{780,-1280,3},{782,-1277,3},{782,-1278,3},{780,-1282,3}, {780,-1283,3},{782,-1287,3},{787,-1290,3},{787,-1292,3},{790,-1297,3},{792,-1292,3}, {793,-1288,3},{792,-1282,3},{797,-1288,3},{802,-1290,3},{805,-1290,3},{810,-1288,3}, {810,-1292,3},{815,-1293,3},{817,-1295,3},{818,-1298,3},{825,-1298,3},{823,-1300,3}, {823,-1307,3},{817,-1317,3},{822,-1315,3},{827,-1317,3},{833,-1320,3},{835,-1322,3}, {842,-1327,3},{842,-1328,3},{845,-1327,3},{850,-1328,3},{850,-1320,3},{842,-1313,3}, {840,-1310,3},{837,-1307,3},{837,-1305,3},{838,-1303,3},{840,-1307,3},{842,-1305,3}, {842,-1310,3},{843,-1313,3},{845,-1313,3},{848,-1310,3},{850,-1305,3},{852,-1305,3}, {852,-1303,3},{855,-1302,3},{855,-1290,3},{857,-1287,3},{858,-1293,3},{858,-1292,3}, {868,-1288,3},{860,-1293,3},{860,-1302,3},{858,-1305,3},{860,-1308,3},{862,-1305,3}, {865,-1303,3},{867,-1305,3},{862,-1307,3},{862,-1308,3},{865,-1315,3},{867,-1315,3}, {865,-1317,3},{863,-1313,3},{862,-1313,3},{860,-1310,3},{858,-1310,3},{857,-1313,3}, {852,-1313,3},{852,-1315,3},{867,-1323,3},{882,-1323,3},{885,-1322,3},{887,-1320,3}, {883,-1317,3},{885,-1298,3},{887,-1302,3},{887,-1313,3},{888,-1317,3},{892,-1312,3}, {893,-1307,3},{893,-1308,3},{892,-1320,3},{897,-1323,3},{895,-1328,3},{903,-1330,3}, {907,-1327,3},{908,-1318,3},{905,-1313,3},{905,-1308,3},{908,-1307,3},{910,-1300,3}, {917,-1298,3},{918,-1293,3},{922,-1297,3},{928,-1295,3},{928,-1292,3},{927,-1290,3}, {928,-1288,3},{928,-1285,3},{930,-1280,3},{935,-1277,3},{935,-1275,3},{940,-1275,3}, {940,-1270,3},{942,-1270,3},{942,-1268,3},{952,-1265,3},{955,-1265,3},{955,-1263,3}, {960,-1262,3},{960,-1258,3},{965,-1258,3},{967,-1257,3},{970,-1257,3},{970,-1252,3}, {973,-1252,3},{975,-1250,3},{977,-1252,3},{982,-1248,3},{987,-1250,3},{987,-1247,3}, {988,-1245,3},{993,-1223,3},{990,-1222,3},{988,-1212,3},{993,-1190,3},{1000,-1190,3}, {1000,-1185,3},{1000,-1180,3},{1000,-1175,3},{1000,-1170,3},{1000,-1165,3}, {1000,-1160,3},{1000,-1153,3},{1000,-1148,3},{1000,-1142,3},{1000,-1137,3}, {1000,-1132,3},{1000,-1127,3},{1000,-1122,3},{997,-1117,3},{987,-1115,3}, {985,-1110,3},{978,-1102,3},{973,-1098,3},{967,-1097,3},{965,-1093,3},{960,-1092,3}, {958,-1087,3},{953,-1087,3},{952,-1083,3},{945,-1083,3},{942,-1080,3},{940,-1082,3}, {938,-1075,3},{930,-1065,3},{927,-1067,3},{923,-1067,3},{918,-1073,3},{908,-1073,3}, {907,-1057,3},{895,-1060,3},{882,-1058,3},{880,-1057,3},{873,-1052,3},{872,-1050,3}, {868,-1047,3},{865,-1047,3},{862,-1050,3},{860,-1058,3},{855,-1060,3},{855,-1062,3}, {848,-1062,3},{848,-1063,3},{840,-1065,3},{835,-1070,3},{832,-1072,3},{828,-1072,3}, {827,-1070,3},{833,-1068,3},{833,-1058,3},{830,-1057,3},{833,-1052,3},{840,-1043,3}, {848,-1040,3},{852,-1032,3},{848,-1028,3},{848,-1025,3},{843,-1027,3},{837,-1030,3}, {832,-1028,3},{827,-1032,3},{822,-1030,3},{818,-1030,3},{815,-1035,3},{813,-1050,3}, {812,-1053,3},{805,-1057,3},{803,-1060,3},{777,-1060,3},{773,-1068,3},{760,-1080,3}, {753,-1087,3},{750,-1092,3},{752,-1093,3},{742,-1105,3},{738,-1110,3},{728,-1118,3}, {725,-1118,3},{722,-1130,3},{717,-1132,3},{715,-1135,3},{710,-1133,3},{707,-1138,3}, {702,-1138,3},{697,-1143,3},{693,-1142,3},{693,-1145,3},{692,-1147,3},{692,-1148,3}, {1232,-1672,131},{1237,-1675,3},{1243,-1680,3},{1248,-1680,3},{1253,-1675,3}, {1255,-1670,3},{1255,-1668,3},{1263,-1658,3},{1262,-1655,3},{1257,-1655,3}, {1255,-1653,3},{1258,-1653,3},{1260,-1650,3},{1255,-1637,3},{1260,-1630,3}, {1258,-1625,3},{1260,-1622,3},{1258,-1620,3},{1263,-1602,3},{1258,-1593,3}, {1258,-1587,3},{1255,-1583,3},{1255,-1582,3},{1258,-1578,3},{1258,-1573,3}, {1258,-1568,3},{1253,-1568,3},{1253,-1563,3},{1257,-1557,3},{1260,-1555,3}, {1263,-1550,3},{1272,-1553,3},{1278,-1553,3},{1278,-1547,3},{1282,-1545,3}, {1280,-1540,3},{1283,-1538,3},{1282,-1542,3},{1283,-1545,3},{1280,-1550,3}, {1280,-1552,3},{1282,-1552,3},{1280,-1553,3},{1273,-1557,3},{1265,-1553,3}, {1257,-1563,3},{1255,-1565,3},{1257,-1567,3},{1260,-1567,3},{1262,-1570,3}, {1260,-1573,3},{1262,-1577,3},{1262,-1580,3},{1260,-1582,3},{1258,-1583,3}, {1262,-1585,3},{1260,-1592,3},{1268,-1602,3},{1273,-1602,3},{1268,-1605,3}, {1267,-1605,3},{1263,-1607,3},{1263,-1613,3},{1262,-1615,3},{1262,-1623,3}, {1260,-1628,3},{1262,-1632,3},{1260,-1635,3},{1257,-1637,3},{1257,-1638,3}, {1258,-1642,3},{1263,-1648,3},{1265,-1648,3},{1267,-1647,3},{1267,-1648,3}, {1270,-1650,3},{1267,-1650,3},{1262,-1652,3},{1265,-1655,3},{1267,-1657,3}, {1268,-1657,3},{1267,-1660,3},{1267,-1663,3},{1270,-1663,3},{1273,-1660,3}, {1278,-1660,3},{1273,-1662,3},{1272,-1665,3},{1263,-1665,3},{1257,-1675,3}, {1258,-1678,3},{1268,-1678,3},{1272,-1675,3},{1273,-1670,3},{1275,-1673,3}, {1272,-1677,3},{1272,-1680,3},{1275,-1678,3},{1278,-1677,3},{1282,-1678,3}, {1278,-1680,3},{1282,-1680,3},{1288,-1677,3},{1303,-1675,3},{1315,-1670,3}, {1317,-1667,3},{1317,-1662,3},{1317,-1657,3},{1317,-1652,3},{1317,-1647,3}, {1317,-1640,3},{1317,-1635,3},{1317,-1630,3},{1317,-1625,3},{1317,-1620,3}, {1317,-1613,3},{1317,-1608,3},{1317,-1603,3},{1317,-1597,3},{1317,-1592,3}, {1317,-1587,3},{1317,-1582,3},{1320,-1582,3},{1325,-1582,3},{1330,-1580,3}, {1335,-1580,3},{1335,-1572,3},{1337,-1568,3},{1337,-1557,3},{1340,-1550,3}, {1338,-1542,3},{1337,-1533,3},{1338,-1528,3},{1343,-1522,3},{1353,-1520,3}, {1358,-1515,3},{1360,-1512,3},{1353,-1505,3},{1348,-1497,3},{1345,-1490,3}, {1345,-1485,3},{1343,-1482,3},{1343,-1477,3},{1338,-1475,3},{1337,-1472,3}, {1335,-1465,3},{1337,-1457,3},{1332,-1452,3},{1330,-1445,3},{1327,-1443,3}, {1325,-1438,3},{1325,-1427,3},{1323,-1422,3},{1325,-1413,3},{1328,-1412,3}, {1330,-1400,3},{1332,-1395,3},{1332,-1387,3},{1338,-1380,3},{1343,-1380,3}, {1348,-1383,3},{1352,-1387,3},{1357,-1390,3},{1358,-1397,3},{1358,-1398,3}, {1357,-1402,3},{1357,-1408,3},{1353,-1412,3},{1352,-1420,3},{1348,-1423,3}, {1345,-1433,3},{1353,-1447,3},{1362,-1450,3},{1365,-1453,3},{1367,-1463,3}, {1362,-1472,3},{1365,-1478,3},{1373,-1482,3},{1378,-1487,3},{1380,-1488,3}, {1380,-1495,3},{1380,-1498,3},{1383,-1507,3},{1378,-1518,3},{1375,-1525,3}, {1378,-1528,3},{1380,-1532,3},{1378,-1537,3},{1370,-1545,3},{1358,-1548,3}, {1358,-1553,3},{1358,-1560,3},{1358,-1565,3},{1358,-1570,3},{1358,-1575,3}, {1360,-1580,3},{1360,-1587,3},{1360,-1592,3},{1360,-1597,3},{1360,-1603,3}, {1360,-1608,3},{1360,-1613,3},{1360,-1618,3},{1360,-1625,3},{1360,-1630,3}, {1358,-1635,3},{1358,-1640,3},{1358,-1645,3},{1358,-1650,3},{1358,-1657,3}, {1363,-1658,3},{1365,-1657,3},{1368,-1652,3},{1370,-1652,3},{1373,-1650,3}, {1375,-1652,3},{1368,-1655,3},{1365,-1660,3},{1370,-1665,3},{1375,-1663,3}, {1383,-1657,3},{1382,-1655,3},{1383,-1655,3},{1385,-1652,3},{1382,-1652,3}, {1380,-1648,3},{1383,-1650,3},{1387,-1650,3},{1388,-1652,3},{1395,-1648,3}, {1400,-1648,3},{1387,-1655,3},{1383,-1665,3},{1380,-1667,3},{1377,-1670,3}, {1385,-1675,3},{1387,-1673,3},{1395,-1675,3},{1398,-1672,3},{1400,-1668,3}, {1398,-1663,3},{1395,-1663,3},{1398,-1662,3},{1400,-1660,3},{1398,-1657,3}, {1402,-1657,3},{1403,-1655,3},{1403,-1657,3},{1403,-1658,3},{1407,-1655,3}, {1412,-1650,3},{1413,-1645,3},{1415,-1643,3},{1415,-1640,3},{1417,-1637,3}, {1415,-1642,3},{1417,-1645,3},{1420,-1645,3},{1418,-1648,3},{1415,-1647,3}, {1415,-1652,3},{1407,-1657,3},{1405,-1660,3},{1400,-1663,3},{1400,-1667,3}, {1402,-1672,3},{1403,-1670,3},{1405,-1670,3},{1407,-1667,3},{1410,-1667,3}, {1407,-1668,3},{1407,-1672,3},{1403,-1672,3},{1402,-1673,3},{1400,-1673,3}, {1397,-1677,3},{1385,-1677,3},{1383,-1678,3},{1395,-1678,3},{1402,-1678,3}, {1413,-1682,3},{1417,-1687,3},{1425,-1690,3},{1430,-1695,3},{1438,-1695,3}, {1442,-1698,3},{1445,-1707,3},{1465,-1718,3},{1468,-1723,3},{1475,-1738,3}, {1472,-1743,3},{1470,-1742,3},{1468,-1743,3},{1467,-1743,3},{1465,-1745,3}, {1475,-1753,3},{1480,-1738,3},{1490,-1717,3},{1522,-1688,3},{1540,-1678,3}, {1555,-1667,3},{1577,-1653,3},{1582,-1655,3},{1590,-1653,3},{1603,-1652,3}, {1610,-1650,3},{1605,-1648,3},{1610,-1647,3},{1618,-1647,3},{1623,-1638,3}, {1645,-1632,3},{1652,-1628,3},{1652,-1618,3},{1655,-1615,3},{1655,-1612,3}, {1655,-1610,3},{1652,-1610,3},{1648,-1605,3},{1650,-1600,3},{1648,-1597,3}, {1652,-1590,3},{1650,-1585,3},{1648,-1568,3},{1650,-1563,3},{1652,-1562,3}, {1652,-1553,3},{1657,-1550,3},{1658,-1545,3},{1655,-1540,3},{1657,-1532,3}, {1658,-1512,3},{1662,-1508,3},{1665,-1512,3},{1667,-1510,3},{1667,-1508,3}, {1663,-1505,3},{1663,-1502,3},{1670,-1498,3},{1668,-1497,3},{1665,-1495,3}, {1663,-1490,3},{1665,-1488,3},{1663,-1485,3},{1665,-1482,3},{1663,-1478,3}, {1665,-1477,3},{1662,-1473,3},{1663,-1472,3},{1665,-1465,3},{1663,-1463,3}, {1663,-1455,3},{1663,-1450,3},{1663,-1445,3},{1665,-1443,3},{1663,-1438,3}, {1663,-1435,3},{1663,-1433,3},{1658,-1433,3},{1658,-1428,3},{1653,-1427,3}, {1655,-1422,3},{1635,-1403,3},{1635,-1400,3},{1633,-1397,3},{1630,-1398,3}, {1627,-1397,3},{1623,-1397,3},{1620,-1387,3},{1615,-1387,3},{1612,-1385,3}, {1615,-1375,3},{1618,-1372,3},{1617,-1370,3},{1613,-1372,3},{1610,-1368,3}, {1613,-1358,3},{1613,-1352,3},{1615,-1350,3},{1613,-1348,3},{1612,-1352,3}, {1608,-1352,3},{1608,-1350,3},{1608,-1348,3},{1610,-1347,3},{1608,-1343,3}, {1607,-1340,3},{1603,-1338,3},{1598,-1337,3},{1593,-1332,3},{1590,-1333,3}, {1588,-1330,3},{1583,-1330,3},{1580,-1327,3},{1578,-1328,3},{1577,-1328,3}, {1570,-1322,3},{1567,-1325,3},{1562,-1323,3},{1562,-1317,3},{1558,-1310,3}, {1552,-1310,3},{1548,-1307,3},{1550,-1297,3},{1545,-1295,3},{1543,-1293,3}, {1537,-1293,3},{1533,-1287,3},{1530,-1283,3},{1527,-1285,3},{1527,-1290,3}, {1522,-1285,3},{1520,-1278,3},{1515,-1278,3},{1508,-1270,3},{1510,-1265,3}, {1508,-1262,3},{1505,-1255,3},{1502,-1248,3},{1495,-1245,3},{1490,-1245,3}, {1485,-1238,3},{1483,-1233,3},{1477,-1225,3},{1478,-1215,3},{1477,-1212,3}, {1472,-1205,3},{1475,-1225,3},{1473,-1222,3},{1470,-1222,3},{1470,-1217,3}, {1467,-1218,3},{1465,-1215,3},{1462,-1215,3},{1460,-1218,3},{1455,-1218,3}, {1455,-1222,3},{1450,-1223,3},{1445,-1220,3},{1440,-1220,3},{1437,-1210,3}, {1433,-1210,3},{1432,-1212,3},{1428,-1208,3},{1428,-1203,3},{1417,-1198,3}, {1408,-1198,3},{1407,-1200,3},{1402,-1202,3},{1397,-1200,3},{1390,-1195,3}, {1383,-1195,3},{1377,-1197,3},{1370,-1208,3},{1365,-1203,3},{1362,-1203,3}, {1353,-1197,3},{1352,-1193,3},{1348,-1190,3},{1347,-1187,3},{1343,-1187,3}, {1338,-1188,3},{1335,-1183,3},{1330,-1182,3},{1335,-1177,3},{1342,-1173,3}, {1342,-1170,3},{1338,-1168,3},{1340,-1163,3},{1337,-1163,3},{1337,-1160,3}, {1332,-1158,3},{1325,-1153,3},{1322,-1155,3},{1318,-1152,3},{1315,-1153,3}, {1312,-1152,3},{1308,-1143,3},{1305,-1145,3},{1302,-1140,3},{1300,-1142,3}, {1297,-1142,3},{1297,-1140,3},{1300,-1138,3},{1298,-1138,3},{1293,-1137,3}, {1292,-1142,3},{1290,-1140,3},{1283,-1142,3},{1283,-1140,3},{1278,-1138,3}, {1277,-1140,3},{1273,-1138,3},{1272,-1143,3},{1270,-1143,3},{1268,-1145,3}, {1267,-1145,3},{1265,-1142,3},{1262,-1143,3},{1258,-1142,3},{1257,-1142,3}, {1255,-1145,3},{1252,-1142,3},{1253,-1142,3},{1253,-1140,3},{1248,-1138,3}, {1250,-1137,3},{1247,-1135,3},{1240,-1138,3},{1243,-1148,3},{1242,-1162,3}, {1243,-1163,3},{1240,-1168,3},{1238,-1173,3},{1240,-1180,3},{1238,-1183,3}, {1242,-1190,3},{1243,-1190,3},{1238,-1197,3},{1242,-1210,3},{1235,-1217,3}, {1235,-1225,3},{1230,-1235,3},{1237,-1240,3},{1238,-1245,3},{1240,-1248,3}, {1238,-1252,3},{1237,-1257,3},{1238,-1258,3},{1243,-1263,3},{1243,-1277,3}, {1247,-1277,3},{1248,-1283,3},{1250,-1283,3},{1255,-1290,3},{1253,-1295,3}, {1248,-1295,3},{1247,-1297,3},{1247,-1303,3},{1250,-1307,3},{1253,-1307,3}, {1258,-1303,3},{1263,-1307,3},{1263,-1318,3},{1265,-1320,3},{1265,-1322,3}, {1267,-1327,3},{1263,-1332,3},{1267,-1335,3},{1268,-1372,3},{1268,-1375,3}, {1268,-1380,3},{1268,-1385,3},{1268,-1392,3},{1268,-1397,3},{1268,-1402,3}, {1268,-1407,3},{1268,-1413,3},{1268,-1418,3},{1268,-1423,3},{1268,-1428,3}, {1268,-1433,3},{1268,-1440,3},{1268,-1445,3},{1268,-1450,3},{1268,-1455,3}, {1268,-1460,3},{1268,-1465,3},{1268,-1472,3},{1268,-1477,3},{1268,-1482,3}, {1268,-1487,3},{1268,-1492,3},{1268,-1498,3},{1268,-1503,3},{1268,-1508,3}, {1268,-1515,3},{1268,-1522,3},{1267,-1523,3},{1263,-1528,3},{1262,-1535,3}, {1255,-1540,3},{1243,-1568,3},{1245,-1588,3},{1243,-1597,3},{1247,-1608,3}, {1245,-1617,3},{1247,-1622,3},{1243,-1628,3},{1235,-1640,3},{1235,-1652,3}, {1235,-1655,3},{1235,-1668,3},{1232,-1672,3},{1303,-1675,131},{1307,-1675,3}, {1307,-1678,3},{1312,-1677,3},{1317,-1680,3},{1323,-1680,3},{1327,-1682,3}, {1333,-1683,3},{1335,-1682,3},{1337,-1682,3},{1342,-1675,3},{1345,-1673,3}, {1348,-1668,3},{1347,-1667,3},{1348,-1663,3},{1347,-1658,3},{1343,-1658,3}, {1343,-1662,3},{1333,-1658,3},{1328,-1655,3},{1328,-1647,3},{1327,-1647,3}, {1325,-1642,3},{1320,-1642,3},{1322,-1638,3},{1327,-1642,3},{1327,-1643,3}, {1328,-1638,3},{1325,-1637,3},{1332,-1625,3},{1330,-1623,3},{1327,-1622,3}, {1325,-1622,3},{1327,-1617,3},{1328,-1615,3},{1327,-1620,3},{1330,-1620,3}, {1335,-1622,3},{1337,-1622,3},{1340,-1618,3},{1342,-1617,3},{1340,-1605,3}, {1342,-1590,3},{1343,-1587,3},{1343,-1577,3},{1347,-1567,3},{1345,-1562,3}, {1350,-1555,3},{1350,-1552,3},{1350,-1547,3},{1345,-1542,3},{1343,-1535,3}, {1343,-1532,3},{1345,-1530,3},{1348,-1530,3},{1345,-1532,3},{1345,-1537,3}, {1350,-1547,3},{1350,-1550,3},{1353,-1555,3},{1348,-1562,3},{1350,-1567,3}, {1345,-1578,3},{1347,-1587,3},{1343,-1608,3},{1345,-1615,3},{1342,-1623,3}, {1335,-1627,3},{1335,-1628,3},{1340,-1628,3},{1338,-1630,3},{1338,-1632,3}, {1337,-1630,3},{1337,-1632,3},{1333,-1632,3},{1333,-1640,3},{1335,-1647,3}, {1335,-1652,3},{1342,-1650,3},{1348,-1657,3},{1353,-1655,3},{1358,-1657,3}, {1358,-1650,3},{1358,-1645,3},{1358,-1640,3},{1358,-1635,3},{1360,-1630,3}, {1360,-1625,3},{1360,-1618,3},{1360,-1613,3},{1360,-1608,3},{1360,-1603,3}, {1360,-1597,3},{1360,-1592,3},{1360,-1587,3},{1360,-1580,3},{1358,-1575,3}, {1358,-1570,3},{1358,-1565,3},{1358,-1560,3},{1358,-1553,3},{1358,-1548,3}, {1370,-1545,3},{1378,-1537,3},{1380,-1532,3},{1378,-1528,3},{1375,-1525,3}, {1378,-1518,3},{1383,-1507,3},{1380,-1498,3},{1380,-1495,3},{1380,-1488,3}, {1378,-1487,3},{1373,-1482,3},{1365,-1478,3},{1362,-1472,3},{1367,-1463,3}, {1365,-1453,3},{1362,-1450,3},{1353,-1447,3},{1345,-1433,3},{1348,-1423,3}, {1352,-1420,3},{1353,-1412,3},{1357,-1408,3},{1357,-1402,3},{1358,-1398,3}, {1358,-1397,3},{1357,-1390,3},{1352,-1387,3},{1348,-1383,3},{1343,-1380,3}, {1338,-1380,3},{1332,-1387,3},{1332,-1395,3},{1330,-1400,3},{1328,-1412,3}, {1325,-1413,3},{1323,-1422,3},{1325,-1427,3},{1325,-1438,3},{1327,-1443,3}, {1330,-1445,3},{1332,-1452,3},{1337,-1457,3},{1335,-1465,3},{1337,-1472,3}, {1338,-1475,3},{1343,-1477,3},{1343,-1482,3},{1345,-1485,3},{1345,-1490,3}, {1348,-1497,3},{1353,-1505,3},{1360,-1512,3},{1358,-1515,3},{1353,-1520,3}, {1343,-1522,3},{1338,-1528,3},{1337,-1533,3},{1338,-1542,3},{1340,-1550,3}, {1337,-1557,3},{1337,-1568,3},{1335,-1572,3},{1335,-1580,3},{1330,-1580,3}, {1325,-1582,3},{1320,-1582,3},{1317,-1582,3},{1317,-1587,3},{1317,-1592,3}, {1317,-1597,3},{1317,-1603,3},{1317,-1608,3},{1317,-1613,3},{1317,-1620,3}, {1317,-1625,3},{1317,-1630,3},{1317,-1635,3},{1317,-1640,3},{1317,-1647,3}, {1317,-1652,3},{1317,-1657,3},{1317,-1662,3},{1317,-1667,3},{1315,-1670,3}, {1303,-1675,3},{1095,-1502,131},{1097,-1502,3},{1093,-1505,3},{1092,-1508,3}, {1095,-1510,3},{1095,-1507,3},{1098,-1505,3},{1100,-1505,3},{1097,-1507,3}, {1097,-1508,3},{1097,-1512,3},{1107,-1510,3},{1107,-1508,3},{1110,-1507,3}, {1112,-1503,3},{1113,-1503,3},{1113,-1500,3},{1117,-1502,3},{1118,-1500,3}, {1123,-1502,3},{1117,-1505,3},{1117,-1508,3},{1113,-1508,3},{1113,-1510,3}, {1112,-1512,3},{1110,-1513,3},{1107,-1517,3},{1100,-1520,3},{1100,-1523,3}, {1103,-1527,3},{1108,-1522,3},{1117,-1520,3},{1122,-1522,3},{1123,-1520,3}, {1123,-1523,3},{1122,-1523,3},{1113,-1522,3},{1112,-1525,3},{1113,-1535,3}, {1117,-1537,3},{1118,-1540,3},{1127,-1540,3},{1130,-1543,3},{1137,-1538,3}, {1137,-1533,3},{1140,-1528,3},{1143,-1527,3},{1138,-1533,3},{1138,-1535,3}, {1143,-1535,3},{1145,-1533,3},{1147,-1535,3},{1135,-1545,3},{1138,-1548,3}, {1145,-1545,3},{1145,-1547,3},{1148,-1547,3},{1150,-1543,3},{1148,-1543,3}, {1150,-1542,3},{1148,-1540,3},{1150,-1540,3},{1153,-1540,3},{1153,-1537,3}, {1152,-1535,3},{1157,-1535,3},{1155,-1532,3},{1153,-1532,3},{1153,-1530,3}, {1157,-1528,3},{1157,-1533,3},{1158,-1533,3},{1160,-1530,3},{1157,-1527,3}, {1157,-1525,3},{1162,-1528,3},{1162,-1523,3},{1158,-1523,3},{1157,-1520,3}, {1160,-1520,3},{1162,-1522,3},{1163,-1518,3},{1162,-1515,3},{1160,-1513,3}, {1160,-1512,3},{1162,-1513,3},{1162,-1512,3},{1158,-1510,3},{1158,-1515,3}, {1157,-1513,3},{1153,-1512,3},{1157,-1510,3},{1157,-1503,3},{1158,-1502,3}, {1162,-1502,3},{1160,-1503,3},{1158,-1507,3},{1160,-1508,3},{1162,-1507,3}, {1165,-1507,3},{1162,-1510,3},{1163,-1510,3},{1163,-1512,3},{1165,-1512,3}, {1168,-1512,3},{1165,-1513,3},{1165,-1517,3},{1167,-1517,3},{1168,-1513,3}, {1170,-1513,3},{1170,-1517,3},{1167,-1518,3},{1165,-1520,3},{1168,-1522,3}, {1165,-1523,3},{1168,-1523,3},{1168,-1520,3},{1170,-1522,3},{1172,-1522,3}, {1172,-1518,3},{1175,-1520,3},{1175,-1522,3},{1173,-1523,3},{1173,-1525,3}, {1170,-1525,3},{1167,-1527,3},{1168,-1527,3},{1170,-1527,3},{1175,-1527,3}, {1170,-1528,3},{1170,-1532,3},{1168,-1532,3},{1167,-1528,3},{1165,-1530,3}, {1167,-1532,3},{1163,-1532,3},{1168,-1533,3},{1168,-1535,3},{1167,-1533,3}, {1165,-1535,3},{1160,-1535,3},{1165,-1538,3},{1163,-1540,3},{1158,-1537,3}, {1160,-1538,3},{1158,-1538,3},{1158,-1540,3},{1160,-1542,3},{1157,-1543,3}, {1155,-1545,3},{1160,-1547,3},{1167,-1542,3},{1168,-1542,3},{1165,-1545,3}, {1165,-1548,3},{1170,-1548,3},{1170,-1552,3},{1168,-1552,3},{1167,-1553,3}, {1168,-1555,3},{1172,-1555,3},{1178,-1553,3},{1183,-1545,3},{1187,-1547,3}, {1188,-1543,3},{1187,-1543,3},{1188,-1542,3},{1188,-1538,3},{1187,-1532,3}, {1187,-1520,3},{1190,-1513,3},{1193,-1507,3},{1192,-1507,3},{1185,-1508,3}, {1180,-1507,3},{1178,-1502,3},{1175,-1498,3},{1175,-1493,3},{1177,-1492,3}, {1175,-1495,3},{1180,-1500,3},{1182,-1505,3},{1183,-1507,3},{1195,-1503,3}, {1195,-1498,3},{1197,-1500,3},{1198,-1508,3},{1197,-1513,3},{1192,-1517,3}, {1190,-1520,3},{1192,-1532,3},{1197,-1535,3},{1197,-1543,3},{1193,-1545,3}, {1193,-1550,3},{1183,-1560,3},{1180,-1565,3},{1178,-1575,3},{1175,-1582,3}, {1187,-1580,3},{1187,-1578,3},{1187,-1573,3},{1188,-1580,3},{1177,-1585,3}, {1177,-1588,3},{1182,-1587,3},{1182,-1588,3},{1180,-1590,3},{1177,-1590,3}, {1173,-1597,3},{1178,-1597,3},{1188,-1593,3},{1197,-1587,3},{1200,-1580,3}, {1197,-1573,3},{1202,-1570,3},{1198,-1575,3},{1202,-1578,3},{1202,-1583,3}, {1203,-1587,3},{1200,-1587,3},{1198,-1593,3},{1197,-1593,3},{1198,-1595,3}, {1195,-1593,3},{1192,-1597,3},{1192,-1608,3},{1188,-1613,3},{1190,-1615,3}, {1190,-1620,3},{1193,-1625,3},{1198,-1628,3},{1200,-1633,3},{1210,-1637,3}, {1217,-1633,3},{1220,-1628,3},{1217,-1628,3},{1217,-1627,3},{1222,-1627,3}, {1228,-1618,3},{1228,-1613,3},{1233,-1612,3},{1235,-1607,3},{1233,-1612,3}, {1230,-1615,3},{1228,-1622,3},{1222,-1632,3},{1223,-1633,3},{1225,-1632,3}, {1228,-1632,3},{1223,-1633,3},{1220,-1633,3},{1218,-1637,3},{1220,-1640,3}, {1218,-1642,3},{1217,-1645,3},{1218,-1650,3},{1222,-1650,3},{1227,-1655,3}, {1227,-1660,3},{1232,-1665,3},{1233,-1668,3},{1232,-1672,3},{1235,-1668,3}, {1235,-1655,3},{1235,-1652,3},{1235,-1640,3},{1243,-1628,3},{1247,-1622,3}, {1245,-1617,3},{1247,-1608,3},{1243,-1597,3},{1245,-1588,3},{1243,-1568,3}, {1255,-1540,3},{1262,-1535,3},{1263,-1528,3},{1267,-1523,3},{1268,-1522,3}, {1268,-1515,3},{1268,-1508,3},{1268,-1503,3},{1268,-1498,3},{1268,-1492,3}, {1268,-1487,3},{1268,-1482,3},{1268,-1477,3},{1268,-1472,3},{1268,-1465,3}, {1268,-1460,3},{1268,-1455,3},{1268,-1450,3},{1268,-1445,3},{1268,-1440,3}, {1268,-1433,3},{1268,-1428,3},{1268,-1423,3},{1268,-1418,3},{1268,-1413,3}, {1268,-1407,3},{1268,-1402,3},{1268,-1397,3},{1268,-1392,3},{1268,-1385,3}, {1268,-1380,3},{1268,-1375,3},{1268,-1372,3},{1257,-1372,3},{1247,-1365,3}, {1243,-1365,3},{1240,-1367,3},{1237,-1367,3},{1232,-1367,3},{1230,-1368,3}, {1228,-1370,3},{1225,-1372,3},{1227,-1375,3},{1225,-1380,3},{1228,-1380,3}, {1230,-1382,3},{1228,-1382,3},{1227,-1383,3},{1228,-1387,3},{1225,-1385,3}, {1223,-1392,3},{1220,-1397,3},{1215,-1397,3},{1215,-1388,3},{1212,-1387,3}, {1210,-1382,3},{1205,-1380,3},{1202,-1370,3},{1190,-1372,3},{1178,-1370,3}, {1172,-1372,3},{1168,-1378,3},{1170,-1380,3},{1172,-1380,3},{1172,-1382,3}, {1175,-1385,3},{1173,-1387,3},{1173,-1385,3},{1168,-1387,3},{1167,-1388,3}, {1168,-1393,3},{1167,-1395,3},{1163,-1398,3},{1165,-1405,3},{1163,-1410,3}, {1167,-1415,3},{1167,-1425,3},{1168,-1428,3},{1162,-1432,3},{1152,-1452,3}, {1152,-1468,3},{1135,-1480,3},{1120,-1485,3},{1102,-1497,3},{1095,-1502,3}, {-8502,-16548,128},{-8505,-16472,0},{-8508,-16352,0},{-8523,-16265,0},{-8528,-16172,0}, {-8532,-16127,0},{-8532,-16012,0},{-8533,-15935,0},{-8545,-15750,0},{-8545,-15723,0}, {-8537,-15567,0},{-8533,-15485,0},{-8533,-15243,0},{-8537,-15197,0},{-8545,-15118,0}, {-8547,-15050,0},{-8543,-14980,0},{-8530,-14973,0},{-8513,-14895,0},{-8510,-14838,0}, {-8512,-14585,0},{-8515,-14373,0},{-8523,-14097,0},{-8525,-14005,0},{-8523,-13945,0}, {-8522,-13913,0},{-8508,-13910,0},{-8498,-13862,0},{-8497,-13870,0},{-8488,-14030,0}, {-8458,-14888,0},{-8445,-15062,0},{-8437,-15145,0},{-8427,-15198,0},{-8403,-15300,0}, {-8392,-15323,0},{-8380,-15322,0},{-8370,-15300,0},{-8358,-15293,0},{-8315,-15305,0}, {-8293,-15272,0},{-8272,-15193,0},{-8262,-15178,0},{-8257,-15182,0},{-8247,-15220,0}, {-8235,-15292,0},{-8213,-15395,0},{-8207,-15443,0},{-8197,-15445,0},{-8190,-15490,0}, {-8180,-15475,0},{-8165,-15400,0},{-8158,-15408,0},{-8150,-15450,0},{-8138,-15542,0}, {-8133,-15590,0},{-8132,-15662,0},{-8130,-15688,0},{-8125,-15697,0},{-8113,-15672,0}, {-8108,-15647,0},{-8100,-15518,0},{-8100,-15480,0},{-8107,-15367,0},{-8108,-15307,0}, {-8112,-15257,0},{-8113,-15180,0},{-8115,-15158,0},{-8128,-15107,0},{-8133,-15045,0}, {-8135,-14992,0},{-8135,-14873,0},{-8142,-14685,0},{-8140,-14632,0},{-8138,-14582,0}, {-8123,-14493,0},{-8105,-14432,0},{-8085,-14393,0},{-8070,-14392,0},{-8063,-14402,0}, {-8058,-14428,0},{-8047,-14545,0},{-8033,-14623,0},{-8013,-14688,0},{-7988,-14728,0}, {-7982,-14743,0},{-7978,-14758,0},{-7977,-14778,0},{-7970,-14970,0},{-7962,-15022,0}, {-7955,-15083,0},{-7943,-15230,0},{-7940,-15260,0},{-7937,-15293,0},{-7915,-15402,0}, {-7913,-15438,0},{-7915,-15480,0},{-7913,-15525,0},{-7908,-15573,0},{-7902,-15610,0}, {-7890,-15635,0},{-7885,-15637,0},{-7875,-15632,0},{-7862,-15605,0},{-7852,-15550,0}, {-7842,-15420,0},{-7835,-15402,0},{-7822,-15385,0},{-7813,-15395,0},{-7807,-15443,0}, {-7815,-15503,0},{-7817,-15603,0},{-7823,-15628,0},{-7825,-15645,0},{-7825,-15658,0}, {-7820,-15670,0},{-7810,-15728,0},{-7803,-15743,0},{-7802,-15768,0},{-7798,-15785,0}, {-7793,-15798,0},{-7785,-15807,0},{-7780,-15795,0},{-7767,-15788,0},{-7757,-15770,0}, {-7750,-15780,0},{-7743,-15767,0},{-7738,-15782,0},{-7733,-15787,0},{-7728,-15785,0}, {-7723,-15773,0},{-7715,-15787,0},{-7710,-15768,0},{-7710,-15742,0},{-7718,-15727,0}, {-7725,-15707,0},{-7728,-15685,0},{-7733,-15673,0},{-7737,-15648,0},{-7725,-15607,0}, {-7718,-15623,0},{-7715,-15618,0},{-7710,-15598,0},{-7708,-15578,0},{-7708,-15557,0}, {-7712,-15523,0},{-7708,-15503,0},{-7715,-15490,0},{-7713,-15462,0},{-7715,-15445,0}, {-7718,-15422,0},{-7717,-15393,0},{-7718,-15382,0},{-7722,-15367,0},{-7725,-15332,0}, {-7728,-15310,0},{-7737,-15298,0},{-7738,-15307,0},{-7740,-15332,0},{-7743,-15333,0}, {-7745,-15327,0},{-7745,-15292,0},{-7748,-15242,0},{-7747,-15232,0},{-7745,-15232,0}, {-7740,-15220,0},{-7730,-15218,0},{-7728,-15210,0},{-7730,-15180,0},{-7733,-15162,0}, {-7738,-15122,0},{-7742,-15112,0},{-7748,-15117,0},{-7748,-15102,0},{-7760,-15043,0}, {-7772,-15000,0},{-7777,-14972,0},{-7777,-14950,0},{-7775,-14933,0},{-7768,-14907,0}, {-7767,-14933,0},{-7762,-14948,0},{-7760,-14952,0},{-7757,-14945,0},{-7758,-14915,0}, {-7763,-14882,0},{-7760,-14860,0},{-7757,-14858,0},{-7750,-14860,0},{-7745,-14803,0}, {-7745,-14780,0},{-7743,-14760,0},{-7732,-14753,0},{-7730,-14747,0},{-7733,-14720,0}, {-7737,-14718,0},{-7738,-14712,0},{-7737,-14708,0},{-7725,-14713,0},{-7722,-14700,0}, {-7722,-14687,0},{-7732,-14655,0},{-7747,-14632,0},{-7747,-14622,0},{-7742,-14602,0}, {-7735,-14603,0},{-7732,-14590,0},{-7730,-14588,0},{-7723,-14617,0},{-7715,-14625,0}, {-7717,-14607,0},{-7715,-14598,0},{-7712,-14592,0},{-7712,-14583,0},{-7708,-14590,0}, {-7705,-14618,0},{-7700,-14632,0},{-7698,-14623,0},{-7700,-14592,0},{-7702,-14567,0}, {-7705,-14540,0},{-7703,-14530,0},{-7702,-14538,0},{-7700,-14537,0},{-7693,-14543,0}, {-7692,-14552,0},{-7692,-14575,0},{-7685,-14612,0},{-7683,-14605,0},{-7680,-14553,0}, {-7678,-14545,0},{-7673,-14550,0},{-7665,-14615,0},{-7653,-14653,0},{-7645,-14695,0}, {-7645,-14728,0},{-7642,-14788,0},{-7645,-14808,0},{-7650,-14817,0},{-7650,-14825,0}, {-7643,-14945,0},{-7638,-14950,0},{-7635,-14948,0},{-7630,-14933,0},{-7628,-14915,0}, {-7628,-14890,0},{-7623,-14842,0},{-7618,-14855,0},{-7612,-14833,0},{-7612,-14798,0}, {-7617,-14775,0},{-7623,-14713,0},{-7630,-14693,0},{-7637,-14657,0},{-7638,-14635,0}, {-7645,-14572,0},{-7643,-14542,0},{-7637,-14538,0},{-7633,-14543,0},{-7630,-14548,0}, {-7628,-14573,0},{-7627,-14588,0},{-7613,-14617,0},{-7608,-14640,0},{-7600,-14620,0}, {-7593,-14612,0},{-7590,-14602,0},{-7590,-14592,0},{-7592,-14520,0},{-7590,-14505,0}, {-7587,-14477,0},{-7587,-14447,0},{-7583,-14432,0},{-7583,-14417,0},{-7575,-14427,0}, {-7568,-14427,0},{-7567,-14423,0},{-7565,-14393,0},{-7558,-14335,0},{-7562,-14320,0}, {-7562,-14302,0},{-7565,-14278,0},{-7562,-14267,0},{-7553,-14268,0},{-7550,-14260,0}, {-7553,-14222,0},{-7550,-14218,0},{-7548,-14205,0},{-7547,-14167,0},{-7550,-14160,0}, {-7555,-14153,0},{-7557,-14113,0},{-7555,-14080,0},{-7553,-14073,0},{-7547,-14075,0}, {-7543,-14062,0},{-7540,-14065,0},{-7537,-14062,0},{-7533,-14050,0},{-7537,-14022,0}, {-7535,-14015,0},{-7532,-14005,0},{-7525,-14008,0},{-7517,-13983,0},{-7517,-13933,0}, {-7513,-13878,0},{-7517,-13865,0},{-7530,-13843,0},{-7537,-13820,0},{-7537,-13803,0}, {-7527,-13773,0},{-7522,-13765,0},{-7518,-13778,0},{-7508,-13787,0},{-7497,-13727,0}, {-7488,-13703,0},{-7482,-13710,0},{-7472,-13710,0},{-7472,-13678,0},{-7465,-13647,0}, {-7467,-13612,0},{-7462,-13598,0},{-7462,-13583,0},{-7462,-13580,0},{-7455,-13572,0}, {-7448,-13548,0},{-7450,-13507,0},{-7452,-13493,0},{-7457,-13483,0},{-7457,-13467,0}, {-7453,-13418,0},{-7458,-13428,0},{-7463,-13428,0},{-7467,-13422,0},{-7470,-13402,0}, {-7482,-13410,0},{-7485,-13390,0},{-7482,-13382,0},{-7482,-13375,0},{-7485,-13365,0}, {-7482,-13345,0},{-7480,-13310,0},{-7473,-13262,0},{-7478,-13233,0},{-7473,-13210,0}, {-7473,-13188,0},{-7473,-13172,0},{-7480,-13142,0},{-7478,-13083,0},{-7478,-13045,0}, {-7485,-13010,0},{-7487,-12972,0},{-7483,-12933,0},{-7483,-12912,0},{-7478,-12887,0}, {-7478,-12865,0},{-7473,-12843,0},{-7470,-12802,0},{-7468,-12785,0},{-7468,-12750,0}, {-7465,-12735,0},{-7467,-12717,0},{-7465,-12690,0},{-7465,-12673,0},{-7467,-12653,0}, {-7477,-12618,0},{-7478,-12607,0},{-7467,-12467,0},{-7468,-12415,0},{-7467,-12380,0}, {-7463,-12335,0},{-7465,-12278,0},{-7458,-12210,0},{-7460,-12168,0},{-7460,-12097,0}, {-7458,-12085,0},{-7453,-12068,0},{-7452,-12058,0},{-7452,-12048,0},{-7455,-12035,0}, {-7457,-12002,0},{-7448,-11898,0},{-7452,-11865,0},{-7440,-11825,0},{-7430,-11803,0}, {-7423,-11782,0},{-7425,-11772,0},{-7435,-11758,0},{-7437,-11740,0},{-7438,-11727,0}, {-7447,-11723,0},{-7447,-11710,0},{-7452,-11687,0},{-7452,-11648,0},{-7452,-11640,0}, {-7448,-11620,0},{-7448,-11590,0},{-7440,-11588,0},{-7437,-11575,0},{-7438,-11572,0}, {-7443,-11572,0},{-7448,-11547,0},{-7448,-11527,0},{-7445,-11498,0},{-7447,-11472,0}, {-7445,-11467,0},{-7433,-11465,0},{-7428,-11475,0},{-7418,-11490,0},{-7407,-11492,0}, {-7388,-11448,0},{-7388,-11425,0},{-7383,-11403,0},{-7383,-11392,0},{-7388,-11368,0}, {-7398,-11360,0},{-7402,-11330,0},{-7405,-11318,0},{-7417,-11320,0},{-7418,-11327,0}, {-7423,-11352,0},{-7428,-11343,0},{-7437,-11360,0},{-7440,-11348,0},{-7438,-11332,0}, {-7440,-11323,0},{-7442,-11320,0},{-7440,-11305,0},{-7440,-11300,0},{-7447,-11298,0}, {-7453,-11283,0},{-7467,-11302,0},{-7467,-11287,0},{-7468,-11278,0},{-7467,-11272,0}, {-7468,-11262,0},{-7475,-11262,0},{-7482,-11272,0},{-7485,-11263,0},{-7480,-11242,0}, {-7477,-11148,0},{-7458,-11173,0},{-7450,-11165,0},{-7448,-11145,0},{-7447,-11142,0}, {-7438,-11157,0},{-7427,-11167,0},{-7423,-11163,0},{-7417,-11142,0},{-7418,-11095,0}, {-7422,-11080,0},{-7427,-11072,0},{-7427,-11065,0},{-7425,-11050,0},{-7425,-11030,0}, {-7430,-11013,0},{-7455,-10995,0},{-7460,-10995,0},{-7465,-10987,0},{-7467,-10972,0}, {-7465,-10968,0},{-7462,-10963,0},{-7460,-10930,0},{-7465,-10907,0},{-7467,-10908,0}, {-7470,-10927,0},{-7472,-10930,0},{-7473,-10910,0},{-7478,-10882,0},{-7475,-10885,0}, {-7472,-10878,0},{-7470,-10845,0},{-7472,-10843,0},{-7475,-10867,0},{-7477,-10852,0}, {-7475,-10840,0},{-7473,-10830,0},{-7475,-10828,0},{-7478,-10823,0},{-7483,-10842,0}, {-7487,-10830,0},{-7487,-10822,0},{-7482,-10815,0},{-7478,-10798,0},{-7470,-10818,0}, {-7468,-10817,0},{-7467,-10798,0},{-7460,-10833,0},{-7458,-10833,0},{-7458,-10767,0}, {-7457,-10748,0},{-7455,-10680,0},{-7458,-10680,0},{-7460,-10657,0},{-7462,-10652,0}, {-7475,-10662,0},{-7482,-10657,0},{-7483,-10650,0},{-7497,-10642,0},{-7512,-10642,0}, {-7507,-10627,0},{-7498,-10623,0},{-7495,-10612,0},{-7492,-10625,0},{-7488,-10612,0}, {-7482,-10608,0},{-7477,-10583,0},{-7478,-10550,0},{-7477,-10540,0},{-7477,-10530,0}, {-7483,-10493,0},{-7485,-10485,0},{-7492,-10475,0},{-7498,-10427,0},{-7502,-10422,0}, {-7507,-10403,0},{-7507,-10398,0},{-7503,-10400,0},{-7507,-10370,0},{-7510,-10363,0}, {-7508,-10322,0},{-7510,-10313,0},{-7510,-10302,0},{-7510,-10278,0},{-7513,-10262,0}, {-7512,-10240,0},{-7513,-10208,0},{-7517,-10200,0},{-7520,-10205,0},{-7522,-10190,0}, {-7532,-10177,0},{-7535,-10160,0},{-7537,-10062,0},{-7528,-10058,0},{-7518,-10115,0}, {-7505,-10177,0},{-7492,-10177,0},{-7468,-10152,0},{-7465,-10153,0},{-7463,-10148,0}, {-7467,-10133,0},{-7472,-10125,0},{-7485,-10065,0},{-7485,-10053,0},{-7482,-10037,0}, {-7482,-10027,0},{-7485,-10017,0},{-7485,-10007,0},{-7483,-10005,0},{-7473,-10015,0}, {-7472,-10018,0},{-7472,-10033,0},{-7472,-10040,0},{-7468,-10032,0},{-7468,-10000,0}, {-7463,-10012,0},{-7453,-10017,0},{-7450,-10005,0},{-7448,-10020,0},{-7447,-10028,0}, {-7450,-10072,0},{-7453,-10087,0},{-7455,-10098,0},{-7457,-10115,0},{-7453,-10128,0}, {-7453,-10142,0},{-7448,-10153,0},{-7437,-10153,0},{-7430,-10142,0},{-7428,-10150,0}, {-7423,-10147,0},{-7417,-10153,0},{-7403,-10172,0},{-7393,-10160,0},{-7395,-10203,0}, {-7397,-10217,0},{-7397,-10240,0},{-7395,-10253,0},{-7395,-10282,0},{-7393,-10297,0}, {-7387,-10307,0},{-7375,-10297,0},{-7370,-10312,0},{-7363,-10318,0},{-7360,-10307,0}, {-7360,-10288,0},{-7363,-10240,0},{-7365,-10215,0},{-7368,-10192,0},{-7368,-10150,0}, {-7370,-10142,0},{-7378,-10128,0},{-7378,-10107,0},{-7382,-10093,0},{-7380,-10075,0}, {-7375,-10053,0},{-7377,-10008,0},{-7377,-9993,0},{-7370,-9972,0},{-7365,-9965,0}, {-7368,-9942,0},{-7365,-9925,0},{-7362,-9918,0},{-7360,-9942,0},{-7357,-9960,0}, {-7352,-9970,0},{-7350,-9985,0},{-7342,-9992,0},{-7340,-10022,0},{-7337,-10047,0}, {-7335,-10122,0},{-7333,-10143,0},{-7335,-10185,0},{-7332,-10207,0},{-7335,-10265,0}, {-7333,-10300,0},{-7317,-10343,0},{-7308,-10342,0},{-7290,-10358,0},{-7280,-10348,0}, {-7275,-10325,0},{-7275,-10297,0},{-7277,-10280,0},{-7275,-10258,0},{-7280,-10232,0}, {-7292,-10235,0},{-7293,-10245,0},{-7297,-10242,0},{-7298,-10265,0},{-7302,-10268,0}, {-7303,-10257,0},{-7300,-10215,0},{-7302,-10208,0},{-7307,-10217,0},{-7308,-10212,0}, {-7308,-10195,0},{-7300,-10127,0},{-7302,-10078,0},{-7310,-10055,0},{-7308,-10038,0}, {-7305,-10032,0},{-7305,-10013,0},{-7303,-10002,0},{-7307,-9985,0},{-7302,-9957,0}, {-7300,-9923,0},{-7300,-9903,0},{-7297,-9890,0},{-7300,-9815,0},{-7302,-9808,0}, {-7300,-9787,0},{-7303,-9787,0},{-7313,-9807,0},{-7317,-9803,0},{-7317,-9787,0}, {-7312,-9763,0},{-7317,-9733,0},{-7322,-9703,0},{-7328,-9625,0},{-7335,-9598,0}, {-7332,-9580,0},{-7325,-9583,0},{-7323,-9572,0},{-7323,-9555,0},{-7320,-9535,0}, {-7320,-9520,0},{-7323,-9500,0},{-7322,-9482,0},{-7318,-9455,0},{-7317,-9437,0}, {-7310,-9432,0},{-7302,-9442,0},{-7293,-9445,0},{-7292,-9442,0},{-7303,-9412,0}, {-7305,-9398,0},{-7318,-9388,0},{-7322,-9372,0},{-7322,-9357,0},{-7318,-9358,0}, {-7317,-9347,0},{-7317,-9332,0},{-7320,-9320,0},{-7320,-9312,0},{-7322,-9290,0}, {-7318,-9292,0},{-7315,-9245,0},{-7322,-9190,0},{-7325,-9167,0},{-7325,-9140,0}, {-7327,-9123,0},{-7333,-9087,0},{-7315,-9032,0},{-7317,-9000,0},{-7317,-8987,0}, {-7315,-8968,0},{-7310,-8958,0},{-7307,-8933,0},{-7290,-8923,0},{-7277,-8928,0}, {-7268,-8935,0},{-7265,-8952,0},{-7263,-8955,0},{-7260,-8947,0},{-7260,-8940,0}, {-7263,-8885,0},{-7265,-8865,0},{-7267,-8837,0},{-7268,-8823,0},{-7275,-8808,0}, {-7280,-8808,0},{-7283,-8815,0},{-7288,-8835,0},{-7293,-8837,0},{-7302,-8858,0}, {-7305,-8858,0},{-7312,-8803,0},{-7308,-8793,0},{-7312,-8778,0},{-7313,-8750,0}, {-7320,-8727,0},{-7323,-8708,0},{-7330,-8697,0},{-7332,-8683,0},{-7332,-8665,0}, {-7328,-8647,0},{-7322,-8630,0},{-7322,-8607,0},{-7320,-8600,0},{-7315,-8592,0}, {-7308,-8590,0},{-7300,-8580,0},{-7300,-8575,0},{-7313,-8573,0},{-7322,-8555,0}, {-7333,-8547,0},{-7337,-8537,0},{-7342,-8510,0},{-7352,-8468,0},{-7353,-8448,0}, {-7352,-8422,0},{-7352,-8388,0},{-7353,-8360,0},{-7352,-8345,0},{-7353,-8327,0}, {-7357,-8322,0},{-7360,-8325,0},{-7362,-8322,0},{-7380,-8243,0},{-7393,-8188,0}, {-7393,-8182,0},{-7388,-8168,0},{-7385,-8113,0},{-7377,-8078,0},{-7368,-8078,0}, {-7363,-8072,0},{-7357,-8092,0},{-7347,-8103,0},{-7340,-8098,0},{-7332,-8100,0}, {-7330,-8097,0},{-7328,-8068,0},{-7328,-8053,0},{-7335,-8042,0},{-7340,-8028,0}, {-7340,-8012,0},{-7337,-8003,0},{-7332,-8005,0},{-7315,-8030,0},{-7305,-8028,0}, {-7302,-8020,0},{-7310,-7943,0},{-7320,-7922,0},{-7328,-7895,0},{-7333,-7890,0}, {-7338,-7863,0},{-7345,-7853,0},{-7360,-7862,0},{-7362,-7862,0},{-7365,-7855,0}, {-7365,-7833,0},{-7360,-7812,0},{-7352,-7737,0},{-7355,-7712,0},{-7353,-7682,0}, {-7353,-7672,0},{-7360,-7660,0},{-7382,-7710,0},{-7385,-7712,0},{-7387,-7702,0}, {-7387,-7687,0},{-7382,-7668,0},{-7378,-7642,0},{-7378,-7637,0},{-7382,-7632,0}, {-7382,-7612,0},{-7373,-7567,0},{-7370,-7538,0},{-7367,-7520,0},{-7367,-7482,0}, {-7375,-7457,0},{-7370,-7445,0},{-7365,-7415,0},{-7367,-7408,0},{-7372,-7393,0}, {-7362,-7373,0},{-7358,-7355,0},{-7353,-7347,0},{-7353,-7340,0},{-7357,-7330,0}, {-7357,-7320,0},{-7352,-7318,0},{-7348,-7307,0},{-7347,-7287,0},{-7348,-7260,0}, {-7343,-7247,0},{-7342,-7235,0},{-7338,-7173,0},{-7340,-7148,0},{-7335,-7138,0}, {-7328,-7115,0},{-7327,-7077,0},{-7330,-7035,0},{-7328,-7027,0},{-7325,-7008,0}, {-7318,-6935,0},{-7313,-6912,0},{-7305,-6863,0},{-7302,-6852,0},{-7288,-6798,0}, {-7287,-6772,0},{-7283,-6758,0},{-7275,-6745,0},{-7258,-6728,0},{-7240,-6680,0}, {-7230,-6692,0},{-7227,-6688,0},{-7220,-6695,0},{-7210,-6695,0},{-7203,-6688,0}, {-7198,-6698,0},{-7190,-6687,0},{-7183,-6698,0},{-7172,-6710,0},{-7170,-6717,0}, {-7167,-6732,0},{-7160,-6743,0},{-7147,-6753,0},{-7133,-6752,0},{-7127,-6750,0}, {-7118,-6740,0},{-7103,-6740,0},{-7100,-6743,0},{-7100,-6752,0},{-7080,-6757,0}, {-7067,-6773,0},{-7060,-6770,0},{-7052,-6782,0},{-7045,-6783,0},{-7040,-6788,0}, {-7037,-6788,0},{-7025,-6797,0},{-7022,-6815,0},{-7018,-6818,0},{-7015,-6833,0}, {-7012,-6840,0},{-7003,-6842,0},{-6993,-6850,0},{-6985,-6835,0},{-6968,-6833,0}, {-6963,-6845,0},{-6955,-6855,0},{-6942,-6883,0},{-6938,-6880,0},{-6938,-6872,0}, {-6938,-6827,0},{-6937,-6823,0},{-6928,-6827,0},{-6927,-6820,0},{-6928,-6812,0}, {-6935,-6802,0},{-6937,-6777,0},{-6937,-6750,0},{-6935,-6735,0},{-6925,-6705,0}, {-6907,-6677,0},{-6900,-6670,0},{-6897,-6672,0},{-6895,-6677,0},{-6897,-6700,0}, {-6895,-6708,0},{-6892,-6733,0},{-6887,-6745,0},{-6882,-6750,0},{-6880,-6747,0}, {-6878,-6740,0},{-6880,-6717,0},{-6880,-6702,0},{-6877,-6693,0},{-6863,-6703,0}, {-6850,-6718,0},{-6848,-6713,0},{-6843,-6695,0},{-6838,-6693,0},{-6835,-6698,0}, {-6833,-6712,0},{-6830,-6717,0},{-6828,-6712,0},{-6830,-6683,0},{-6828,-6675,0}, {-6823,-6658,0},{-6818,-6668,0},{-6820,-6678,0},{-6823,-6685,0},{-6822,-6692,0}, {-6818,-6697,0},{-6807,-6723,0},{-6805,-6712,0},{-6798,-6725,0},{-6797,-6722,0}, {-6792,-6680,0},{-6788,-6678,0},{-6783,-6685,0},{-6782,-6682,0},{-6782,-6672,0}, {-6780,-6672,0},{-6778,-6685,0},{-6780,-6703,0},{-6778,-6703,0},{-6775,-6697,0}, {-6773,-6668,0},{-6772,-6672,0},{-6772,-6690,0},{-6767,-6690,0},{-6760,-6672,0}, {-6760,-6652,0},{-6753,-6643,0},{-6752,-6645,0},{-6755,-6657,0},{-6753,-6678,0}, {-6750,-6683,0},{-6748,-6717,0},{-6753,-6728,0},{-6755,-6745,0},{-6755,-6763,0}, {-6753,-6762,0},{-6750,-6758,0},{-6748,-6765,0},{-6748,-6767,0},{-6740,-6760,0}, {-6733,-6748,0},{-6730,-6755,0},{-6727,-6758,0},{-6720,-6748,0},{-6718,-6760,0}, {-6708,-6750,0},{-6705,-6748,0},{-6705,-6743,0},{-6708,-6742,0},{-6708,-6735,0}, {-6708,-6730,0},{-6705,-6727,0},{-6693,-6717,0},{-6695,-6710,0},{-6693,-6708,0}, {-6692,-6705,0},{-6690,-6698,0},{-6690,-6692,0},{-6693,-6685,0},{-6697,-6688,0}, {-6705,-6687,0},{-6713,-6688,0},{-6720,-6683,0},{-6723,-6673,0},{-6720,-6667,0}, {-6722,-6658,0},{-6732,-6648,0},{-6733,-6643,0},{-6732,-6640,0},{-6725,-6642,0}, {-6715,-6640,0},{-6712,-6647,0},{-6708,-6640,0},{-6707,-6642,0},{-6703,-6658,0}, {-6692,-6647,0},{-6687,-6638,0},{-6683,-6638,0},{-6677,-6653,0},{-6662,-6650,0}, {-6660,-6645,0},{-6655,-6618,0},{-6657,-6612,0},{-6662,-6597,0},{-6667,-6597,0}, {-6670,-6578,0},{-6667,-6572,0},{-6663,-6578,0},{-6662,-6578,0},{-6657,-6572,128}, {-6655,-6567,0},{-6652,-6572,0},{-6647,-6567,0},{-6643,-6568,0},{-6643,-6560,0}, {-6640,-6558,0},{-6633,-6572,0},{-6630,-6583,0},{-6625,-6572,0},{-6617,-6567,0}, {-6613,-6570,0},{-6610,-6558,0},{-6612,-6550,0},{-6613,-6548,0},{-6615,-6533,0}, {-6617,-6523,0},{-6615,-6518,0},{-6613,-6517,0},{-6608,-6523,0},{-6605,-6530,0}, {-6598,-6528,0},{-6597,-6515,0},{-6598,-6510,0},{-6595,-6507,0},{-6597,-6502,0}, {-6593,-6493,0},{-6593,-6480,0},{-6597,-6482,0},{-6605,-6467,0},{-6603,-6460,0}, {-6598,-6447,0},{-6595,-6442,0},{-6583,-6465,0},{-6573,-6467,0},{-6573,-6463,0}, {-6578,-6433,0},{-6578,-6432,0},{-6573,-6432,0},{-6572,-6427,0},{-6570,-6428,0}, {-6567,-6435,0},{-6562,-6440,0},{-6563,-6423,0},{-6567,-6417,0},{-6568,-6403,0}, {-6565,-6403,0},{-6560,-6417,0},{-6558,-6415,0},{-6558,-6410,0},{-6555,-6417,0}, {-6553,-6417,0},{-6552,-6412,0},{-6552,-6405,0},{-6553,-6397,0},{-6557,-6395,0}, {-6558,-6390,0},{-6557,-6385,0},{-6553,-6387,0},{-6552,-6385,0},{-6552,-6375,0}, {-6550,-6372,0},{-6547,-6382,0},{-6548,-6388,0},{-6545,-6388,0},{-6545,-6400,0}, {-6543,-6405,0},{-6538,-6398,0},{-6535,-6397,0},{-6533,-6405,0},{-6530,-6410,0}, {-6530,-6402,0},{-6518,-6408,0},{-6515,-6398,0},{-6512,-6402,0},{-6508,-6392,0}, {-6507,-6395,0},{-6503,-6393,0},{-6500,-6382,0},{-6503,-6383,0},{-6503,-6365,0}, {-6508,-6340,0},{-6507,-6327,0},{-6510,-6322,0},{-6515,-6322,0},{-6512,-6317,0}, {-6513,-6310,0},{-6512,-6303,0},{-6510,-6297,0},{-6503,-6303,0},{-6502,-6302,0}, {-6500,-6313,0},{-6493,-6318,0},{-6493,-6315,0},{-6492,-6305,0},{-6490,-6302,0}, {-6490,-6283,0},{-6485,-6277,0},{-6480,-6293,0},{-6480,-6270,0},{-6490,-6253,0}, {-6487,-6235,0},{-6485,-6233,0},{-6485,-6242,0},{-6483,-6250,0},{-6478,-6253,0}, {-6475,-6262,0},{-6473,-6248,0},{-6465,-6252,0},{-6463,-6245,0},{-6458,-6245,0}, {-6460,-6238,0},{-6465,-6235,0},{-6463,-6230,0},{-6465,-6227,0},{-6470,-6232,0}, {-6470,-6225,0},{-6473,-6228,0},{-6477,-6223,0},{-6475,-6218,0},{-6473,-6220,0}, {-6472,-6215,0},{-6468,-6210,0},{-6468,-6205,0},{-6472,-6203,0},{-6468,-6192,0}, {-6463,-6190,0},{-6460,-6193,0},{-6457,-6185,0},{-6460,-6180,0},{-6458,-6177,0}, {-6452,-6175,0},{-6452,-6172,0},{-6453,-6173,0},{-6457,-6165,0},{-6455,-6160,0}, {-6452,-6157,0},{-6453,-6150,0},{-6452,-6147,0},{-6450,-6143,0},{-6448,-6152,0}, {-6443,-6155,0},{-6442,-6150,0},{-6440,-6142,0},{-6437,-6138,0},{-6437,-6128,0}, {-6438,-6133,0},{-6440,-6128,0},{-6438,-6122,0},{-6438,-6107,0},{-6435,-6108,0}, {-6432,-6108,0},{-6427,-6093,0},{-6423,-6093,0},{-6422,-6098,0},{-6418,-6093,0}, {-6415,-6097,0},{-6413,-6085,0},{-6407,-6102,0},{-6403,-6098,0},{-6402,-6090,0}, {-6403,-6085,0},{-6405,-6078,0},{-6403,-6075,0},{-6400,-6070,0},{-6398,-6050,0}, {-6392,-6028,0},{-6393,-6002,0},{-6390,-5995,0},{-6387,-5997,0},{-6385,-5987,0}, {-6380,-5990,0},{-6377,-5985,0},{-6378,-5982,0},{-6385,-5983,0},{-6387,-5980,0}, {-6385,-5973,0},{-6387,-5967,0},{-6388,-5957,0},{-6390,-5947,0},{-6387,-5940,0}, {-6387,-5933,0},{-6383,-5933,0},{-6383,-5942,0},{-6382,-5943,0},{-6378,-5933,0}, {-6370,-5933,0},{-6367,-5918,0},{-6370,-5908,0},{-6367,-5902,0},{-6365,-5892,0}, {-6363,-5888,0},{-6360,-5892,0},{-6353,-5892,0},{-6348,-5853,0},{-6345,-5838,0}, {-6347,-5817,0},{-6343,-5812,0},{-6340,-5815,0},{-6337,-5813,0},{-6342,-5803,0}, {-6340,-5798,0},{-6337,-5797,0},{-6330,-5787,0},{-6330,-5778,0},{-6327,-5768,0}, {-6327,-5755,0},{-6322,-5728,0},{-6322,-5715,0},{-6325,-5702,0},{-6327,-5698,0}, {-6335,-5698,0},{-6337,-5693,0},{-6338,-5695,0},{-6342,-5690,0},{-6345,-5695,0}, {-6355,-5672,0},{-6360,-5673,0},{-6365,-5680,0},{-6363,-5688,0},{-6362,-5693,0}, {-6363,-5698,0},{-6363,-5713,0},{-6362,-5717,0},{-6352,-5712,0},{-6347,-5715,0}, {-6347,-5737,0},{-6350,-5742,0},{-6353,-5737,0},{-6355,-5737,0},{-6353,-5750,0}, {-6355,-5758,0},{-6358,-5767,0},{-6360,-5758,0},{-6362,-5762,0},{-6365,-5780,0}, {-6367,-5787,0},{-6367,-5805,0},{-6370,-5810,0},{-6372,-5820,0},{-6383,-5835,0}, {-6383,-5840,0},{-6390,-5842,0},{-6392,-5852,0},{-6395,-5860,0},{-6400,-5867,0}, {-6420,-5882,0},{-6423,-5892,0},{-6427,-5890,0},{-6428,-5878,0},{-6430,-5877,0}, {-6433,-5878,0},{-6437,-5892,0},{-6440,-5887,0},{-6440,-5877,0},{-6442,-5873,0}, {-6448,-5873,0},{-6453,-5878,0},{-6450,-5900,0},{-6443,-5900,0},{-6447,-5917,0}, {-6443,-5927,0},{-6437,-5932,0},{-6432,-5945,0},{-6433,-5955,0},{-6435,-5958,0}, {-6445,-5952,0},{-6450,-5947,0},{-6453,-5950,0},{-6453,-5958,0},{-6452,-5970,0}, {-6440,-5968,0},{-6438,-5972,0},{-6442,-5995,0},{-6448,-6007,0},{-6452,-6018,0}, {-6453,-6018,0},{-6457,-6022,0},{-6458,-6037,0},{-6463,-6042,0},{-6470,-6062,0}, {-6483,-6077,0},{-6492,-6095,0},{-6495,-6105,0},{-6497,-6107,0},{-6498,-6100,0}, {-6500,-6103,0},{-6498,-6115,0},{-6500,-6125,0},{-6503,-6132,0},{-6505,-6143,0}, {-6507,-6152,0},{-6515,-6160,0},{-6522,-6160,0},{-6523,-6163,0},{-6523,-6177,0}, {-6518,-6188,0},{-6518,-6197,0},{-6525,-6203,0},{-6530,-6213,0},{-6537,-6205,0}, {-6543,-6208,0},{-6548,-6198,0},{-6552,-6172,0},{-6553,-6168,0},{-6555,-6172,0}, {-6557,-6178,0},{-6555,-6203,0},{-6557,-6210,0},{-6560,-6213,0},{-6563,-6212,0}, {-6572,-6220,0},{-6577,-6238,0},{-6592,-6245,0},{-6600,-6237,0},{-6602,-6215,0}, {-6612,-6205,0},{-6613,-6200,0},{-6613,-6192,0},{-6617,-6187,0},{-6613,-6172,0}, {-6610,-6173,0},{-6608,-6165,0},{-6603,-6158,0},{-6605,-6150,0},{-6607,-6135,0}, {-6600,-6133,0},{-6595,-6138,0},{-6592,-6132,0},{-6592,-6125,0},{-6597,-6115,0}, {-6605,-6110,0},{-6607,-6107,0},{-6605,-6102,0},{-6600,-6098,0},{-6592,-6102,0}, {-6590,-6100,0},{-6590,-6095,0},{-6593,-6085,0},{-6593,-6060,0},{-6595,-6055,0}, {-6605,-6067,0},{-6612,-6073,0},{-6615,-6085,0},{-6623,-6090,0},{-6630,-6103,0}, {-6633,-6113,0},{-6628,-6120,0},{-6623,-6120,0},{-6620,-6123,0},{-6612,-6140,0}, {-6615,-6147,0},{-6623,-6152,0},{-6625,-6165,0},{-6628,-6168,0},{-6643,-6165,0}, {-6647,-6172,0},{-6643,-6182,0},{-6632,-6187,0},{-6620,-6205,0},{-6618,-6220,0}, {-6618,-6242,0},{-6622,-6253,0},{-6622,-6273,0},{-6623,-6278,0},{-6627,-6288,0}, {-6628,-6288,0},{-6635,-6265,0},{-6643,-6243,0},{-6648,-6258,0},{-6655,-6268,0}, {-6658,-6267,0},{-6660,-6253,0},{-6665,-6257,0},{-6667,-6255,0},{-6667,-6243,0}, {-6672,-6248,0},{-6673,-6262,0},{-6668,-6273,0},{-6652,-6285,0},{-6640,-6307,0}, {-6633,-6315,0},{-6630,-6317,0},{-6625,-6342,0},{-6622,-6350,0},{-6617,-6352,0}, {-6620,-6360,0},{-6622,-6368,0},{-6628,-6380,0},{-6635,-6378,0},{-6635,-6360,0}, {-6638,-6358,0},{-6640,-6365,0},{-6640,-6387,0},{-6642,-6387,0},{-6645,-6378,0}, {-6647,-6397,0},{-6648,-6398,0},{-6652,-6390,0},{-6653,-6382,0},{-6658,-6380,0}, {-6658,-6390,0},{-6658,-6397,0},{-6657,-6403,0},{-6657,-6410,0},{-6658,-6413,0}, {-6667,-6415,0},{-6667,-6410,0},{-6672,-6420,0},{-6677,-6413,0},{-6675,-6405,0}, {-6677,-6393,0},{-6678,-6378,0},{-6685,-6372,0},{-6690,-6375,0},{-6692,-6383,0}, {-6693,-6393,0},{-6688,-6435,0},{-6688,-6458,0},{-6692,-6467,0},{-6695,-6470,0}, {-6693,-6482,0},{-6697,-6483,0},{-6700,-6493,0},{-6702,-6493,0},{-6705,-6483,0}, {-6710,-6483,0},{-6710,-6470,0},{-6715,-6467,0},{-6722,-6492,0},{-6723,-6488,0}, {-6725,-6477,0},{-6732,-6477,0},{-6733,-6483,0},{-6732,-6495,0},{-6735,-6500,0}, {-6732,-6515,0},{-6738,-6528,0},{-6733,-6532,0},{-6733,-6538,0},{-6740,-6552,0}, {-6743,-6547,0},{-6750,-6558,0},{-6757,-6562,0},{-6758,-6558,0},{-6762,-6538,0}, {-6765,-6538,0},{-6767,-6525,0},{-6772,-6542,0},{-6775,-6555,0},{-6778,-6557,0}, {-6783,-6550,0},{-6788,-6562,0},{-6795,-6548,0},{-6795,-6535,0},{-6797,-6533,0}, {-6810,-6572,0},{-6813,-6573,0},{-6817,-6567,0},{-6813,-6553,0},{-6813,-6535,0}, {-6817,-6530,0},{-6813,-6518,0},{-6802,-6497,0},{-6807,-6492,0},{-6807,-6482,0}, {-6812,-6477,0},{-6815,-6478,0},{-6820,-6488,0},{-6822,-6500,0},{-6820,-6512,0}, {-6828,-6530,0},{-6832,-6548,0},{-6837,-6545,0},{-6837,-6505,0},{-6840,-6497,0}, {-6845,-6500,0},{-6847,-6512,0},{-6850,-6517,0},{-6853,-6532,0},{-6857,-6525,0}, {-6862,-6522,0},{-6863,-6515,0},{-6863,-6500,0},{-6868,-6492,0},{-6870,-6483,0}, {-6867,-6465,0},{-6877,-6448,0},{-6878,-6433,0},{-6878,-6413,0},{-6875,-6413,0}, {-6875,-6400,0},{-6873,-6400,0},{-6867,-6422,0},{-6860,-6425,0},{-6860,-6422,0}, {-6860,-6418,0},{-6863,-6410,0},{-6860,-6405,0},{-6858,-6407,0},{-6855,-6395,0}, {-6850,-6390,0},{-6847,-6382,0},{-6845,-6370,0},{-6843,-6338,0},{-6847,-6312,0}, {-6847,-6293,0},{-6850,-6293,0},{-6853,-6302,0},{-6848,-6320,0},{-6855,-6360,0}, {-6858,-6372,0},{-6867,-6380,0},{-6868,-6387,0},{-6872,-6383,0},{-6877,-6338,0}, {-6883,-6322,0},{-6885,-6325,0},{-6883,-6340,0},{-6890,-6337,0},{-6892,-6345,0}, {-6893,-6337,0},{-6895,-6358,0},{-6898,-6368,0},{-6900,-6372,0},{-6903,-6357,0}, {-6903,-6330,0},{-6905,-6328,0},{-6907,-6328,0},{-6913,-6343,0},{-6918,-6350,0}, {-6922,-6348,0},{-6922,-6337,0},{-6915,-6318,0},{-6923,-6305,0},{-6927,-6302,0}, {-6932,-6305,0},{-6935,-6302,0},{-6937,-6293,0},{-6935,-6277,0},{-6937,-6267,0}, {-6938,-6262,0},{-6948,-6253,0},{-6950,-6237,0},{-6953,-6240,0},{-6958,-6237,0}, {-6973,-6238,0},{-6977,-6243,0},{-6978,-6258,0},{-6985,-6260,0},{-6990,-6238,0}, {-6997,-6242,0},{-6998,-6237,0},{-7007,-6193,0},{-7015,-6187,0},{-7020,-6190,0}, {-7028,-6200,0},{-7037,-6243,0},{-7048,-6230,0},{-7053,-6222,0},{-7055,-6213,0}, {-7050,-6183,0},{-7050,-6148,0},{-7052,-6143,0},{-7057,-6137,0},{-7060,-6140,0}, {-7062,-6155,0},{-7063,-6160,0},{-7070,-6163,0},{-7072,-6175,0},{-7075,-6180,0}, {-7075,-6190,0},{-7077,-6202,0},{-7092,-6208,0},{-7093,-6205,0},{-7093,-6195,0}, {-7093,-6180,0},{-7090,-6173,0},{-7085,-6158,0},{-7083,-6150,0},{-7085,-6135,0}, {-7090,-6127,0},{-7100,-6132,0},{-7105,-6142,0},{-7107,-6130,0},{-7110,-6128,0}, {-7112,-6112,0},{-7120,-6095,0},{-7122,-6098,0},{-7123,-6125,0},{-7125,-6128,0}, {-7127,-6123,0},{-7128,-6102,0},{-7137,-6095,0},{-7137,-6100,0},{-7137,-6108,0}, {-7133,-6123,0},{-7133,-6128,0},{-7137,-6128,0},{-7142,-6112,0},{-7145,-6125,0}, {-7143,-6143,0},{-7145,-6152,0},{-7147,-6153,0},{-7150,-6143,0},{-7155,-6147,0}, {-7157,-6143,0},{-7157,-6135,0},{-7152,-6125,0},{-7152,-6115,0},{-7162,-6103,0}, {-7165,-6082,0},{-7175,-6077,0},{-7178,-6082,0},{-7177,-6100,0},{-7183,-6113,0}, {-7187,-6130,0},{-7188,-6187,0},{-7192,-6195,0},{-7195,-6192,0},{-7202,-6193,0}, {-7205,-6187,0},{-7207,-6168,0},{-7208,-6148,0},{-7207,-6123,0},{-7203,-6102,0}, {-7208,-6085,0},{-7207,-6080,0},{-7203,-6080,0},{-7198,-6075,0},{-7200,-6068,0}, {-7202,-6067,0},{-7210,-6067,0},{-7212,-6075,0},{-7218,-6103,0},{-7218,-6087,0}, {-7222,-6073,0},{-7232,-6065,0},{-7230,-6088,0},{-7230,-6093,0},{-7232,-6095,0}, {-7237,-6098,0},{-7237,-6073,0},{-7240,-6062,0},{-7245,-6068,0},{-7247,-6080,0}, {-7247,-6100,0},{-7243,-6130,0},{-7245,-6143,0},{-7248,-6143,0},{-7253,-6155,0}, {-7257,-6138,0},{-7262,-6138,0},{-7267,-6152,0},{-7268,-6147,0},{-7272,-6093,0}, {-7265,-6068,0},{-7265,-6057,0},{-7267,-6052,0},{-7273,-6047,0},{-7280,-6048,0}, {-7283,-6050,0},{-7290,-6063,0},{-7292,-6058,0},{-7298,-6065,0},{-7303,-6062,0}, {-7295,-6045,0},{-7298,-6027,0},{-7298,-6013,0},{-7288,-6005,0},{-7285,-5997,0}, {-7287,-5985,0},{-7290,-5977,0},{-7300,-5978,0},{-7308,-5988,0},{-7323,-5985,0}, {-7328,-6017,0},{-7327,-6025,0},{-7323,-6033,0},{-7317,-6037,0},{-7315,-6047,0}, {-7315,-6050,0},{-7323,-6053,0},{-7332,-6055,0},{-7337,-6062,0},{-7335,-6075,0}, {-7328,-6072,0},{-7322,-6080,0},{-7327,-6080,0},{-7332,-6090,0},{-7328,-6110,0}, {-7318,-6122,0},{-7315,-6142,0},{-7312,-6170,0},{-7312,-6183,0},{-7315,-6193,0}, {-7317,-6188,0},{-7322,-6155,0},{-7325,-6153,0},{-7325,-6157,0},{-7322,-6178,0}, {-7328,-6168,0},{-7330,-6172,0},{-7332,-6153,0},{-7335,-6145,0},{-7337,-6150,0}, {-7335,-6175,0},{-7335,-6185,0},{-7338,-6185,0},{-7345,-6162,0},{-7353,-6162,0}, {-7353,-6153,0},{-7347,-6145,0},{-7345,-6138,0},{-7350,-6113,0},{-7353,-6082,0}, {-7357,-6068,0},{-7370,-6093,0},{-7372,-6088,0},{-7368,-6065,0},{-7368,-6060,0}, {-7372,-6060,0},{-7375,-6068,0},{-7380,-6072,0},{-7382,-6085,0},{-7385,-6077,0}, {-7395,-6093,0},{-7397,-6107,0},{-7395,-6123,0},{-7388,-6133,0},{-7388,-6140,0}, {-7390,-6152,0},{-7388,-6167,0},{-7392,-6178,0},{-7395,-6162,0},{-7402,-6155,0}, {-7402,-6145,0},{-7407,-6132,0},{-7407,-6108,0},{-7408,-6103,0},{-7420,-6120,0}, {-7425,-6142,0},{-7425,-6157,0},{-7430,-6162,0},{-7433,-6143,0},{-7430,-6113,0}, {-7425,-6085,0},{-7427,-6068,0},{-7430,-6067,0},{-7437,-6073,0},{-7442,-6103,0}, {-7445,-6097,0},{-7448,-6098,0},{-7453,-6113,0},{-7453,-6143,0},{-7450,-6158,0}, {-7452,-6188,0},{-7443,-6220,0},{-7445,-6227,0},{-7447,-6230,0},{-7463,-6208,0}, {-7470,-6192,0},{-7482,-6187,0},{-7495,-6212,0},{-7498,-6240,0},{-7498,-6255,0}, {-7495,-6260,0},{-7477,-6263,0},{-7472,-6275,0},{-7467,-6305,0},{-7460,-6320,0}, {-7462,-6328,0},{-7472,-6323,0},{-7483,-6307,0},{-7490,-6307,0},{-7492,-6322,0}, {-7488,-6347,0},{-7490,-6355,0},{-7497,-6365,0},{-7500,-6402,0},{-7502,-6397,0}, {-7502,-6378,0},{-7502,-6328,0},{-7502,-6323,0},{-7513,-6308,0},{-7515,-6315,0}, {-7515,-6353,0},{-7517,-6365,0},{-7520,-6412,0},{-7527,-6438,0},{-7532,-6447,0}, {-7533,-6425,0},{-7530,-6385,0},{-7532,-6318,0},{-7532,-6310,0},{-7535,-6312,0}, {-7550,-6362,0},{-7568,-6450,0},{-7577,-6505,0},{-7573,-6533,0},{-7577,-6550,0}, {-7578,-6558,0},{-7585,-6545,0},{-7588,-6557,0},{-7603,-6680,0},{-7608,-6765,0}, {-7607,-6803,0},{-7613,-6828,0},{-7618,-6868,0},{-7620,-6903,0},{-7623,-6922,0}, {-7623,-6938,0},{-7622,-7003,0},{-7617,-7018,0},{-7613,-7038,0},{-7608,-7048,0}, {-7603,-7047,0},{-7602,-7052,0},{-7603,-7068,0},{-7605,-7087,0},{-7607,-7112,0}, {-7603,-7137,0},{-7603,-7172,0},{-7605,-7237,0},{-7603,-7252,0},{-7602,-7272,0}, {-7595,-7300,0},{-7593,-7332,0},{-7593,-7403,0},{-7590,-7470,0},{-7583,-7565,0}, {-7578,-7648,0},{-7580,-7702,0},{-7582,-7787,0},{-7587,-7833,0},{-7595,-7925,0}, {-7615,-8080,0},{-7640,-8265,0},{-7647,-8300,0},{-7663,-8395,0},{-7677,-8458,0}, {-7685,-8490,0},{-7695,-8510,0},{-7718,-8530,0},{-7727,-8528,0},{-7733,-8510,0}, {-7740,-8435,0},{-7753,-8332,0},{-7763,-8268,0},{-7773,-8218,0},{-7775,-8217,0}, {-7782,-8237,0},{-7782,-8203,0},{-7785,-8183,0},{-7787,-8162,0},{-7795,-8108,0}, {-7803,-8053,0},{-7810,-7943,0},{-7820,-7847,0},{-7830,-7778,0},{-7842,-7728,0}, {-7848,-7722,0},{-7857,-7737,0},{-7870,-7785,0},{-7878,-7862,0},{-7882,-7918,0}, {-7883,-7955,0},{-7880,-8038,0},{-7875,-8090,0},{-7875,-8103,0},{-7878,-8122,0}, {-7885,-8128,0},{-7905,-8102,0},{-7912,-8128,0},{-7913,-8165,0},{-7915,-8168,0}, {-7918,-8153,0},{-7932,-8125,0},{-7942,-8120,0},{-7950,-8103,0},{-7953,-8083,0}, {-7962,-8077,0},{-7977,-8040,0},{-7965,-8002,0},{-7960,-7993,0},{-7933,-8035,0}, {-7928,-8032,0},{-7927,-8018,0},{-7927,-7970,0},{-7930,-7898,0},{-7930,-7785,0}, {-7932,-7663,0},{-7935,-7637,0},{-7938,-7615,0},{-7953,-7563,0},{-7970,-7548,0}, {-7983,-7578,0},{-7993,-7623,0},{-7998,-7660,0},{-8000,-7713,0},{-8003,-7790,0}, {-8002,-7837,0},{-8002,-7875,0},{-7995,-7978,0},{-7995,-8002,0},{-7997,-8010,0}, {-8002,-7992,0},{-8003,-7955,0},{-8008,-7932,0},{-8013,-7883,0},{-8020,-7768,0}, {-8017,-7723,0},{-8018,-7693,0},{-8030,-7648,0},{-8057,-7580,0},{-8073,-7517,0}, {-8085,-7437,0},{-8092,-7368,0},{-8103,-7207,0},{-8113,-6993,0},{-8135,-6793,0}, {-8163,-6592,0},{-8223,-6158,0},{-8243,-5963,0},{-8255,-5908,0},{-8263,-5878,0}, {-8288,-5912,0},{-8297,-5907,0},{-8303,-5868,0},{-8303,-5825,0},{-8300,-5788,0}, {-8245,-5577,0},{-8233,-5520,0},{-8213,-5363,0},{-8205,-5240,0},{-8203,-5187,0}, {-8193,-5065,0},{-8188,-4945,0},{-8180,-4715,0},{-8182,-4572,0},{-8188,-4428,0}, {-8185,-4313,0},{-8175,-4252,0},{-8170,-4233,0},{-8150,-4213,0},{-8137,-4153,0}, {-8085,-3792,0},{-8057,-3655,0},{-8042,-3572,0},{-8037,-3525,0},{-8033,-3487,0}, {-8033,-3437,0},{-8037,-3303,0},{-8038,-3242,0},{-8048,-3125,0},{-8048,-3062,0}, {-8045,-3043,0},{-8035,-3055,0},{-8015,-3008,0},{-8003,-2998,0},{-7982,-3027,0}, {-7967,-3018,0},{-7958,-3055,0},{-7955,-3063,0},{-7942,-3015,0},{-7928,-2948,0}, {-7923,-2943,0},{-7917,-2978,0},{-7915,-3005,0},{-7905,-3327,0},{-7892,-3453,0}, {-7885,-3540,0},{-7882,-3568,0},{-7875,-3585,0},{-7858,-3595,0},{-7850,-3612,0}, {-7845,-3597,0},{-7845,-3553,0},{-7842,-3567,0},{-7838,-3558,0},{-7838,-3588,0}, {-7837,-3593,0},{-7827,-3595,0},{-7815,-3583,0},{-7808,-3573,0},{-7807,-3560,0}, {-7810,-3517,0},{-7810,-3480,0},{-7807,-3512,0},{-7805,-3525,0},{-7792,-3535,0}, {-7785,-3522,0},{-7783,-3500,0},{-7782,-3443,0},{-7767,-3387,0},{-7747,-3278,0}, {-7733,-3187,0},{-7728,-3167,0},{-7722,-3157,0},{-7710,-3178,0},{-7705,-3147,0}, {-7705,-3133,0},{-7712,-3118,0},{-7713,-3105,0},{-7705,-3067,0},{-7698,-3042,0}, {-7662,-2838,0},{-7657,-2815,0},{-7652,-2807,0},{-7637,-2818,0},{-7632,-2807,0}, {-7623,-2808,0},{-7623,-2793,0},{-7632,-2762,0},{-7635,-2738,0},{-7620,-2657,0}, {-7618,-2652,0},{-7617,-2655,0},{-7613,-2678,0},{-7613,-2710,0},{-7615,-2735,0}, {-7608,-2707,0},{-7605,-2715,0},{-7603,-2712,0},{-7602,-2683,0},{-7603,-2660,0}, {-7607,-2632,0},{-7603,-2613,0},{-7597,-2588,0},{-7593,-2558,0},{-7588,-2520,0}, {-7583,-2443,0},{-7568,-2348,0},{-7563,-2292,0},{-7555,-2262,0},{-7550,-2205,0}, {-7550,-2188,0},{-7555,-2180,0},{-7555,-2170,0},{-7548,-2132,0},{-7550,-2102,0}, {-7548,-2087,0},{-7543,-2075,0},{-7540,-2058,0},{-7540,-2000,0},{-7537,-1933,0}, {-7527,-1902,0},{-7520,-1898,0},{-7518,-1908,0},{-7517,-1920,0},{-7520,-1967,0}, {-7520,-1970,0},{-7517,-1970,0},{-7507,-1943,0},{-7505,-1927,0},{-7500,-1912,0}, {-7483,-1875,0},{-7480,-1833,0},{-7475,-1812,0},{-7457,-1783,0},{-7450,-1747,0}, {-7445,-1660,0},{-7442,-1637,0},{-7443,-1593,0},{-7437,-1568,0},{-7433,-1538,0}, {-7415,-1483,0},{-7412,-1433,0},{-7395,-1372,0},{-7393,-1373,0},{-7393,-1393,0}, {-7390,-1412,0},{-7392,-1440,0},{-7383,-1447,0},{-7382,-1457,0},{-7383,-1468,0}, {-7392,-1483,0},{-7397,-1510,0},{-7403,-1542,0},{-7407,-1580,0},{-7407,-1635,0}, {-7400,-1685,0},{-7398,-1692,0},{-7397,-1688,0},{-7395,-1677,0},{-7395,-1663,0}, {-7393,-1657,0},{-7383,-1632,0},{-7377,-1608,0},{-7375,-1607,0},{-7373,-1612,0}, {-7375,-1625,0},{-7378,-1638,0},{-7378,-1657,0},{-7383,-1678,0},{-7382,-1687,0}, {-7378,-1690,0},{-7368,-1668,0},{-7358,-1633,0},{-7342,-1627,0},{-7332,-1602,0}, {-7332,-1582,0},{-7327,-1558,0},{-7320,-1537,0},{-7318,-1528,0},{-7320,-1477,0}, {-7323,-1455,0},{-7323,-1447,0},{-7315,-1422,0},{-7313,-1402,0},{-7308,-1392,0}, {-7307,-1377,0},{-7300,-1373,0},{-7300,-1398,0},{-7292,-1410,0},{-7285,-1443,0}, {-7280,-1447,0},{-7278,-1435,0},{-7280,-1370,0},{-7283,-1345,0},{-7280,-1328,0}, {-7273,-1315,0},{-7265,-1262,0},{-7255,-1223,0},{-7243,-1208,0},{-7235,-1172,0}, {-7223,-1145,0},{-7212,-1133,0},{-7203,-1132,0},{-7188,-1140,0},{-7172,-1183,0}, {-7165,-1213,0},{-7143,-1230,0},{-7138,-1228,0},{-7135,-1222,0},{-7128,-1185,0}, {-7128,-1158,0},{-7128,-1155,0},{-7140,-1163,0},{-7157,-1160,0},{-7163,-1142,0}, {-7167,-1128,0},{-7167,-1115,0},{-7165,-1102,0},{-7163,-1092,0},{-7137,-1055,0}, {-7115,-1008,0},{-7112,-1005,0},{-7107,-1007,0},{-7105,-1032,0},{-7100,-1043,0}, {-7098,-1043,0},{-7095,-1022,0},{-7090,-978,0},{-7092,-947,0},{-7095,-945,0}, {-7098,-952,0},{-7100,-965,0},{-7103,-967,0},{-7107,-938,0},{-7112,-918,0}, {-7120,-898,0},{-7127,-888,0},{-7137,-882,0},{-7175,-863,0},{-7180,-855,0}, {-7183,-837,0},{-7172,-790,0},{-7172,-747,0},{-7170,-733,0},{-7163,-733,0}, {-7147,-772,0},{-7140,-768,0},{-7132,-753,0},{-7100,-703,0},{-7088,-665,0}, {-7075,-637,0},{-7072,-620,0},{-7070,-592,0},{-7070,-578,0},{-7073,-568,0}, {-7082,-548,0},{-7088,-543,0},{-7092,-548,0},{-7115,-610,0},{-7135,-613,0}, {-7138,-610,0},{-7142,-602,0},{-7143,-585,0},{-7142,-575,0},{-7138,-525,0}, {-7135,-500,0},{-7128,-472,0},{-7133,-420,0},{-7128,-392,0},{-7133,-363,0}, {-7128,-325,0},{-7130,-310,0},{-7125,-287,0},{-7123,-253,0},{-7117,-227,0}, {-7130,-233,0},{-7137,-220,0},{-7143,-218,0},{-7148,-210,0},{-7148,-203,0}, {-7143,-202,0},{-7140,-193,0},{-7140,-168,0},{-7143,-160,0},{-7143,-152,0}, {-7142,-145,0},{-7132,-132,0},{-7128,-115,0},{-7128,-98,0},{-7135,-83,0}, {-7140,-78,0},{-7158,-92,0},{-7162,-60,0},{-7167,-30,0},{-7150,0,0},{-7145,8,0}, {-7138,12,0},{-7133,33,0},{-7127,45,0},{-7122,70,0},{-7115,100,0},{-7112,133,0}, {-7100,197,0},{-7093,223,0},{-7083,288,0},{-7082,307,0},{-7082,343,0},{-7073,395,0}, {-7068,442,0},{-7063,545,0},{-7060,585,0},{-7060,662,0},{-7053,693,0},{-7048,708,0}, {-7025,733,0},{-7020,742,0},{-7017,755,0},{-7017,790,0},{-7018,797,0},{-7022,803,0}, {-7038,823,0},{-7043,833,0},{-7048,848,0},{-7047,867,0},{-7035,903,0},{-7032,908,0}, {-7010,862,0},{-7008,863,0},{-7007,868,0},{-7007,913,0},{-7012,932,0},{-7030,987,0}, {-7038,1003,0},{-7042,1025,0},{-7057,1045,0},{-7067,1075,0},{-7072,1127,0}, {-7070,1148,0},{-7072,1162,0},{-7073,1195,0},{-7072,1203,0},{-7070,1208,0}, {-7042,1247,0},{-7030,1265,0},{-7028,1273,0},{-7027,1347,0},{-7018,1395,0}, {-7017,1417,0},{-7017,1432,0},{-7028,1487,0},{-7028,1513,0},{-7028,1570,0}, {-7025,1595,0},{-6997,1803,0},{-6998,1815,0},{-7005,1835,0},{-7008,1853,0}, {-7017,1952,0},{-7023,2003,0},{-7038,2082,0},{-7040,2120,0},{-7040,2185,0}, {-7042,2203,0},{-7050,2240,0},{-7055,2278,0},{-7053,2340,0},{-7032,2548,0}, {-7030,2597,0},{-7022,2627,0},{-7015,2695,0},{-7013,2717,0},{-7015,2730,0}, {-7017,2743,0},{-7017,2753,0},{-7012,2773,0},{-7010,2790,0},{-7005,2807,0}, {-7000,2863,0},{-6983,2948,0},{-6982,2972,0},{-6982,3018,0},{-6978,3098,0}, {-6977,3113,0},{-6960,3165,0},{-6952,3208,0},{-6938,3258,0},{-6927,3293,0}, {-6922,3298,0},{-6905,3303,0},{-6900,3315,0},{-6895,3345,0},{-6885,3332,0}, {-6877,3330,0},{-6872,3332,0},{-6865,3343,0},{-6855,3370,0},{-6850,3397,0}, {-6848,3413,0},{-6850,3442,0},{-6853,3465,0},{-6872,3482,0},{-6887,3485,0}, {-6895,3505,0},{-6912,3555,0},{-6928,3563,0},{-6947,3593,0},{-6950,3607,0}, {-6952,3622,0},{-6960,3650,0},{-6967,3708,0},{-6970,3710,0},{-6980,3710,0}, {-6978,3725,0},{-6973,3733,0},{-6970,3748,0},{-6963,3765,0},{-6963,3775,0}, {-6967,3780,0},{-6977,3785,0},{-6977,3790,0},{-6973,3803,0},{-6975,3818,0}, {-6982,3828,0},{-6997,3838,0},{-7000,3848,0},{-6995,3850,0},{-6993,3863,0}, {-6993,3870,0},{-6997,3873,0},{-6995,3883,0},{-6988,3897,0},{-6985,3897,0}, {-6985,3908,0},{-6985,3912,0},{-6980,3910,0},{-6972,3918,0},{-6967,3942,0}, {-6965,3943,0},{-6965,3972,0},{-6962,3963,0},{-6960,3972,0},{-6955,3968,0}, {-6952,3972,0},{-6948,3960,0},{-6945,3955,0},{-6942,3960,0},{-6945,3973,0}, {-6943,3980,0},{-6940,3982,0},{-6940,3990,0},{-6938,3988,0},{-6937,3977,0}, {-6928,3970,0},{-6925,3972,0},{-6923,3963,0},{-6918,3965,0},{-6918,3980,0}, {-6917,3982,0},{-6908,3975,0},{-6897,3975,0},{-6890,3992,0},{-6885,3997,0}, {-6878,4040,0},{-6870,4057,0},{-6867,4093,0},{-6858,4103,0},{-6853,4105,0}, {-6852,4110,0},{-6850,4138,0},{-6838,4198,0},{-6838,4218,0},{-6837,4228,0}, {-6827,4252,0},{-6818,4263,0},{-6815,4263,0},{-6813,4280,0},{-6810,4282,0}, {-6808,4303,0},{-6805,4312,0},{-6803,4338,0},{-6805,4350,0},{-6807,4375,0}, {-6803,4383,0},{-6797,4405,0},{-6798,4425,0},{-6798,4450,0},{-6792,4457,0}, {-6788,4468,0},{-6782,4477,0},{-6773,4500,0},{-6770,4543,0},{-6770,4552,0}, {-6773,4557,0},{-6775,4560,0},{-6777,4565,0},{-6777,4572,0},{-6773,4575,0}, {-6770,4575,0},{-6767,4583,0},{-6765,4603,0},{-6765,4630,0},{-6758,4640,0}, {-6752,4627,0},{-6747,4630,0},{-6742,4623,0},{-6737,4623,0},{-6732,4633,0}, {-6728,4648,0},{-6727,4690,0},{-6728,4697,0},{-6728,4698,0},{-6733,4697,0}, {-6735,4700,0},{-6735,4720,0},{-6737,4732,0},{-6745,4750,0},{-6750,4753,0}, {-6752,4763,0},{-6757,4762,0},{-6758,4767,0},{-6758,4775,0},{-6757,4783,0}, {-6758,4788,0},{-6762,4793,0},{-6763,4818,0},{-6760,4830,0},{-6758,4845,0}, {-6745,4865,0},{-6742,4883,0},{-6737,4912,0},{-6728,4928,0},{-6730,4888,0}, {-6730,4875,0},{-6728,4870,0},{-6723,4873,0},{-6723,4860,0},{-6718,4842,0}, {-6713,4835,0},{-6702,4833,0},{-6698,4837,0},{-6695,4843,0},{-6695,4860,0}, {-6690,4888,0},{-6688,4907,0},{-6683,4923,0},{-6683,4932,0},{-6695,4940,0}, {-6700,4957,0},{-6703,4985,0},{-6712,4993,0},{-6713,4998,0},{-6713,5007,0}, {-6710,5010,0},{-6712,5023,0},{-6717,5043,0},{-6718,5057,0},{-6715,5073,0}, {-6715,5083,0},{-6712,5095,0},{-6708,5097,0},{-6710,5083,0},{-6708,5080,0}, {-6708,5072,0},{-6705,5058,0},{-6705,5045,0},{-6700,5050,0},{-6697,5045,0}, {-6693,5048,0},{-6687,5060,0},{-6683,5065,0},{-6680,5077,0},{-6677,5043,0}, {-6677,5033,0},{-6673,5023,0},{-6670,5022,0},{-6652,5028,0},{-6642,5038,0}, {-6630,5063,0},{-6625,5113,0},{-6620,5125,0},{-6618,5135,0},{-6603,5175,0}, {-6598,5197,0},{-6593,5248,0},{-6595,5272,0},{-6593,5288,0},{-6590,5312,0}, {-6585,5378,0},{-6585,5390,0},{-6588,5398,0},{-6588,5407,0},{-6588,5450,0}, {-6590,5477,0},{-6588,5493,0},{-6592,5527,0},{-6595,5533,0},{-6600,5552,0}, {-6602,5562,0},{-6607,5570,0},{-6623,5600,0},{-6630,5608,0},{-6632,5617,0}, {-6640,5627,0},{-6640,5668,0},{-6645,5683,0},{-6652,5717,0},{-6655,5728,0}, {-6670,5732,0},{-6670,5697,0},{-6670,5687,0},{-6680,5675,0},{-6682,5662,0}, {-6688,5663,0},{-6690,5652,0},{-6692,5655,0},{-6693,5668,0},{-6700,5670,0}, {-6702,5677,0},{-6705,5678,0},{-6707,5702,0},{-6705,5700,0},{-6703,5690,0}, {-6702,5690,0},{-6702,5707,0},{-6697,5722,0},{-6697,5725,0},{-6702,5727,0}, {-6702,5730,0},{-6700,5748,0},{-6702,5770,0},{-6705,5780,0},{-6707,5792,0}, {-6710,5797,0},{-6707,5805,0},{-6707,5820,0},{-6713,5822,0},{-6717,5837,0}, {-6718,5842,0},{-6718,5852,0},{-6717,5867,0},{-6717,5885,0},{-6720,5895,0}, {-6727,5900,0},{-6730,5907,0},{-6732,5902,0},{-6730,5887,0},{-6732,5885,0}, {-6737,5892,0},{-6742,5912,0},{-6738,5930,0},{-6738,5938,0},{-6735,5945,0}, {-6737,5950,0},{-6742,5950,0},{-6743,5955,0},{-6738,5963,0},{-6737,5975,0}, {-6740,6013,0},{-6737,6053,0},{-6740,6067,0},{-6745,6088,0},{-6745,6103,0}, {-6748,6110,0},{-6750,6133,0},{-6748,6137,0},{-6747,6148,0},{-6752,6140,0}, {-6755,6143,0},{-6753,6167,0},{-6755,6213,0},{-6758,6228,0},{-6758,6242,0}, {-6762,6248,0},{-6765,6275,0},{-6763,6285,0},{-6753,6312,0},{-6752,6348,0}, {-6752,6377,0},{-6758,6433,0},{-6767,6485,0},{-6767,6530,0},{-6770,6568,0}, {-6773,6595,0},{-6775,6650,0},{-6778,6677,0},{-6778,6702,0},{-6777,6720,0}, {-6778,6732,0},{-6782,6750,0},{-6783,6798,0},{-6788,6840,0},{-6787,6855,0}, {-6787,6905,0},{-6783,6918,0},{-6777,6922,0},{-6775,6938,0},{-6773,6957,0}, {-6775,6962,0},{-6777,6965,0},{-6788,6970,0},{-6805,6965,0},{-6815,6967,0}, {-6820,6970,0},{-6832,6992,0},{-6845,6988,0},{-6857,6977,0},{-6863,6992,0}, {-6870,6990,0},{-6877,6980,0},{-6883,6950,0},{-6885,6918,0},{-6890,6918,0}, {-6893,6902,0},{-6897,6897,0},{-6890,6975,0},{-6892,6982,0},{-6893,6982,0}, {-6898,6972,0},{-6907,6937,0},{-6910,6888,0},{-6912,6883,0},{-6915,6885,0}, {-6917,6897,0},{-6917,6953,0},{-6922,6967,0},{-6927,6968,0},{-6930,6958,0}, {-6933,6937,0},{-6932,6915,0},{-6927,6885,0},{-6927,6858,0},{-6928,6847,0}, {-6932,6845,0},{-6935,6848,0},{-6938,6873,0},{-6943,6878,0},{-6945,6872,0}, {-6947,6852,0},{-6950,6850,0},{-6955,6862,0},{-6957,6863,0},{-6955,6842,0}, {-6955,6833,0},{-6958,6828,0},{-6962,6828,0},{-6972,6900,0},{-6978,6910,0}, {-6985,6912,0},{-6987,6908,0},{-6992,6885,0},{-6992,6848,0},{-6987,6837,0}, {-6988,6825,0},{-6990,6810,0},{-6993,6815,0},{-6995,6813,0},{-6998,6803,0}, {-7002,6800,0},{-7007,6805,0},{-7015,6807,0},{-7022,6800,0},{-7027,6827,0}, {-7037,6847,0},{-7038,6857,0},{-7037,6867,0},{-7030,6880,0},{-7030,6897,0}, {-7038,6908,0},{-7045,6912,0},{-7075,6908,0},{-7078,6912,0},{-7095,6988,0}, {-7098,7027,0},{-7097,7062,0},{-7098,7087,0},{-7100,7118,0},{-7112,7107,0}, {-7118,7107,0},{-7125,7118,0},{-7128,7140,0},{-7115,7155,0},{-7093,7218,0}, {-7077,7232,0},{-7065,7230,0},{-7058,7235,0},{-7047,7197,0},{-7040,7183,0}, {-7033,7180,0},{-7027,7188,0},{-7020,7223,0},{-7018,7243,0},{-7017,7257,0}, {-7010,7267,0},{-7008,7277,0},{-7002,7288,0},{-6998,7303,0},{-6995,7312,0}, {-6990,7315,0},{-6982,7347,0},{-6980,7358,0},{-6980,7378,0},{-6973,7402,0}, {-6972,7417,0},{-6972,7430,0},{-6973,7450,0},{-6973,7472,0},{-6978,7483,0}, {-6978,7507,0},{-6973,7548,0},{-6972,7568,0},{-6968,7575,0},{-6963,7577,0}, {-6953,7590,0},{-6952,7597,0},{-6950,7598,0},{-6947,7608,0},{-6943,7597,0}, {-6942,7607,0},{-6940,7605,0},{-6938,7617,0},{-6942,7618,0},{-6940,7632,0}, {-6937,7633,0},{-6940,7647,0},{-6938,7655,0},{-6927,7672,0},{-6928,7683,0}, {-6927,7688,0},{-6925,7688,0},{-6922,7710,0},{-6922,7727,0},{-6918,7743,0}, {-6913,7750,0},{-6907,7787,128},{-6905,7792,0},{-6902,7788,0},{-6898,7793,0}, {-6888,7792,0},{-6882,7800,0},{-6878,7813,0},{-6875,7808,0},{-6872,7792,0}, {-6868,7785,0},{-6867,7785,0},{-6867,7792,0},{-6863,7785,0},{-6857,7790,0}, {-6852,7810,0},{-6848,7807,0},{-6845,7815,0},{-6842,7825,0},{-6845,7827,0}, {-6840,7833,0},{-6842,7835,0},{-6845,7833,0},{-6845,7838,0},{-6840,7845,0}, {-6833,7862,0},{-6817,7887,0},{-6813,7895,0},{-6808,7915,0},{-6805,7952,0}, {-6800,7968,0},{-6790,8028,0},{-6788,8043,0},{-6788,8063,0},{-6787,8078,0}, {-6787,8092,0},{-6780,8130,0},{-6777,8142,0},{-6765,8140,0},{-6762,8147,0}, {-6768,8175,0},{-6767,8205,0},{-6763,8202,0},{-6760,8188,0},{-6755,8168,0}, {-6752,8150,0},{-6750,8147,0},{-6748,8150,0},{-6747,8163,0},{-6743,8173,0}, {-6735,8188,0},{-6725,8200,0},{-6722,8220,0},{-6723,8235,0},{-6737,8253,0}, {-6740,8265,0},{-6738,8272,0},{-6730,8282,0},{-6725,8293,0},{-6718,8320,0}, {-6717,8337,0},{-6715,8382,0},{-6717,8408,0},{-6715,8417,0},{-6713,8458,0}, {-6715,8507,0},{-6718,8540,0},{-6718,8580,0},{-6713,8593,0},{-6712,8598,0}, {-6708,8600,0},{-6707,8607,0},{-6702,8693,0},{-6692,8725,0},{-6690,8748,0}, {-6685,8758,0},{-6682,8775,0},{-6678,8780,0},{-6670,8780,0},{-6667,8785,0}, {-6665,8812,0},{-6603,8823,0},{-6605,8838,0},{-6608,8848,0},{-6613,8848,0}, {-6620,8855,0},{-6642,8868,0},{-6645,8877,0},{-6652,8885,0},{-6660,8877,0}, {-6672,8875,0},{-6673,8888,0},{-6678,8897,0},{-6678,8920,0},{-6682,8937,0}, {-6683,8960,0},{-6682,8973,0},{-6677,8995,0},{-6678,9028,0},{-6677,9033,0}, {-6677,9047,0},{-6670,9060,0},{-6668,9088,0},{-6665,9102,0},{-6663,9112,0}, {-6658,9118,0},{-6660,9143,0},{-6658,9153,0},{-6655,9168,0},{-6652,9193,0}, {-6650,9198,0},{-6653,9237,0},{-6662,9267,0},{-6663,9277,0},{-6663,9285,0}, {-6655,9300,0},{-6655,9307,0},{-6658,9320,0},{-6658,9358,0},{-6660,9372,0}, {-6657,9367,0},{-6650,9378,0},{-6650,9405,0},{-6653,9413,0},{-6658,9418,0}, {-6660,9413,0},{-6663,9418,0},{-6667,9417,0},{-6667,9420,0},{-6663,9435,0}, {-6652,9455,0},{-6647,9478,0},{-6637,9483,0},{-6640,9503,0},{-6645,9520,0}, {-6645,9525,0},{-6640,9523,0},{-6625,9507,0},{-6622,9507,0},{-6620,9510,0}, {-6623,9528,0},{-6622,9540,0},{-6627,9550,0},{-6640,9570,0},{-6647,9578,0}, {-6653,9582,0},{-6658,9577,0},{-6660,9580,0},{-6658,9632,0},{-6657,9643,0}, {-6658,9662,0},{-6657,9682,0},{-6648,9705,0},{-6650,9730,0},{-6653,9735,0}, {-6655,9748,0},{-6652,9755,0},{-6652,9777,0},{-6655,9785,0},{-6658,9788,0}, {-6650,9810,0},{-6645,9832,0},{-6643,9847,0},{-6645,9865,0},{-6638,9867,0}, {-6635,9870,0},{-6638,9890,0},{-6637,9900,0},{-6630,9898,0},{-6628,9905,0}, {-6625,9903,0},{-6590,9878,0},{-6580,9875,0},{-6578,9888,0},{-6580,9900,0}, {-6582,9912,0},{-6580,9925,0},{-6580,9930,0},{-6582,9935,0},{-6593,9943,0}, {-6598,9955,0},{-6595,9957,0},{-6590,9955,0},{-6582,9962,0},{-6575,9952,0}, {-6575,9955,0},{-6573,9972,0},{-6568,9990,0},{-6565,10003,0},{-6568,10025,0}, {-6570,10028,0},{-6583,10030,0},{-6602,10027,0},{-6608,10032,0},{-6615,10032,0}, {-6615,10042,0},{-6618,10045,0},{-6613,10062,0},{-6608,10103,0},{-6610,10110,0}, {-6613,10098,0},{-6615,10083,0},{-6618,10080,0},{-6622,10085,0},{-6620,10090,0}, {-6622,10097,0},{-6623,10102,0},{-6615,10130,0},{-6610,10128,0},{-6608,10120,0}, {-6608,10132,0},{-6605,10140,0},{-6603,10128,0},{-6602,10102,0},{-6600,10105,0}, {-6598,10132,0},{-6595,10155,0},{-6597,10180,0},{-6597,10212,0},{-6593,10247,0}, {-6587,10263,0},{-6585,10277,0},{-6585,10283,0},{-6592,10317,0},{-6590,10322,0}, {-6592,10333,0},{-6595,10343,0},{-6598,10362,0},{-6597,10377,0},{-6583,10383,0}, {-6580,10395,0},{-6580,10400,0},{-6583,10408,0},{-6587,10410,0},{-6593,10395,0}, {-6595,10395,0},{-6598,10417,0},{-6600,10435,0},{-6602,10448,0},{-6610,10468,0}, {-6610,10488,0},{-6612,10498,0},{-6618,10535,0},{-6620,10548,0},{-6625,10563,0}, {-6627,10588,0},{-6633,10617,0},{-6640,10660,0},{-6643,10673,0},{-6645,10687,0}, {-6645,10715,0},{-6650,10742,0},{-6655,10753,0},{-6657,10780,0},{-6658,10792,0}, {-6658,10805,0},{-6662,10818,0},{-6670,10832,0},{-6672,10842,0},{-6675,10845,0}, {-6677,10860,0},{-6692,10880,0},{-6692,10887,0},{-6688,10898,0},{-6690,10917,0}, {-6687,10920,0},{-6688,10927,0},{-6688,10933,0},{-6687,10933,0},{-6683,10922,0}, {-6682,10918,0},{-6675,10928,0},{-6672,10928,0},{-6667,10933,0},{-6667,10950,0}, {-6662,10945,0},{-6660,10947,0},{-6660,10958,0},{-6657,10982,0},{-6658,10990,0}, {-6662,11000,0},{-6662,11025,0},{-6660,11027,0},{-6658,11020,0},{-6657,11020,0}, {-6650,11037,0},{-6650,11043,0},{-6652,11048,0},{-6653,11053,0},{-6645,11060,0}, {-6640,11068,0},{-6637,11055,0},{-6630,11055,0},{-6607,11088,0},{-6597,11135,0}, {-6588,11210,0},{-6587,11250,0},{-6578,11293,0},{-6572,11317,0},{-6572,11340,0}, {-6573,11350,0},{-6585,11365,0},{-6588,11375,0},{-6602,11400,0},{-6603,11412,0}, {-6617,11437,0},{-6620,11453,0},{-6622,11453,0},{-6623,11445,0},{-6627,11443,0}, {-6632,11457,0},{-6643,11450,0},{-6647,11452,0},{-6645,11472,0},{-6647,11478,0}, {-6653,11482,0},{-6647,11495,0},{-6647,11517,0},{-6645,11518,0},{-6640,11535,0}, {-6637,11553,0},{-6635,11592,0},{-6637,11618,0},{-6638,11627,0},{-6645,11635,0}, {-6647,11645,0},{-6655,11660,0},{-6657,11673,0},{-6663,11677,0},{-6678,11690,0}, {-6683,11692,0},{-6693,11740,0},{-6695,11760,0},{-6698,11777,0},{-6695,11795,0}, {-6697,11807,0},{-6698,11832,0},{-6697,11837,0},{-6690,11847,0},{-6688,11863,0}, {-6692,11888,0},{-6692,11928,0},{-6693,11950,0},{-6688,11973,0},{-6685,12007,0}, {-6683,12050,0},{-6680,12062,0},{-6682,12073,0},{-6683,12080,0},{-6682,12090,0}, {-6683,12102,0},{-6668,12132,0},{-6667,12157,0},{-6663,12167,0},{-6655,12212,0}, {-6662,12245,0},{-6662,12272,0},{-6667,12302,0},{-6668,12305,0},{-6677,12300,0}, {-6678,12302,0},{-6678,12313,0},{-6672,12323,0},{-6672,12330,0},{-6675,12337,0}, {-6677,12358,0},{-6675,12367,0},{-6670,12363,0},{-6668,12367,0},{-6668,12382,0}, {-6662,12393,0},{-6658,12412,0},{-6652,12428,0},{-6650,12440,0},{-6650,12450,0}, {-6652,12462,0},{-6660,12480,0},{-6660,12492,0},{-6670,12495,0},{-6672,12502,0}, {-6668,12507,0},{-6665,12503,0},{-6660,12507,0},{-6658,12513,0},{-6660,12518,0}, {-6663,12523,0},{-6667,12530,0},{-6665,12537,0},{-6662,12538,0},{-6657,12532,0}, {-6658,12545,0},{-6648,12548,0},{-6640,12562,0},{-6630,12592,0},{-6627,12625,0}, {-6628,12638,0},{-6640,12655,0},{-6642,12665,0},{-6645,12675,0},{-6645,12692,0}, {-6648,12697,0},{-6652,12707,0},{-6653,12723,0},{-6655,12747,0},{-6657,12753,0}, {-6662,12762,0},{-6670,12765,0},{-6675,12775,0},{-6683,12780,0},{-6698,12798,0}, {-6703,12828,0},{-6702,12842,0},{-6702,12858,0},{-6702,12862,0},{-6698,12865,0}, {-6697,12878,0},{-6698,12907,0},{-6702,12925,0},{-6703,12937,0},{-6702,12943,0}, {-6697,12957,0},{-6683,12973,0},{-6680,12973,0},{-6677,12978,0},{-6670,12980,0}, {-6665,12970,0},{-6657,12972,0},{-6653,12975,0},{-6645,12987,0},{-6635,12995,0}, {-6623,13027,0},{-6623,13040,0},{-6620,13055,0},{-6622,13077,0},{-6620,13082,0}, {-6613,13082,0},{-6613,13085,0},{-6613,13110,0},{-6618,13140,0},{-6620,13197,0}, {-6615,13223,0},{-6613,13252,0},{-6617,13267,0},{-6617,13285,0},{-6613,13303,0}, {-6610,13315,0},{-6607,13348,0},{-6607,13360,0},{-6608,13365,0},{-6610,13385,0}, {-6613,13393,0},{-6618,13398,0},{-6622,13417,0},{-6620,13422,0},{-6613,13430,0}, {-6605,13465,0},{-6607,13478,0},{-6610,13497,0},{-6610,13507,0},{-6602,13540,0}, {-6603,13550,0},{-6607,13557,0},{-6607,13568,0},{-6610,13580,0},{-6617,13592,0}, {-6617,13600,0},{-6620,13603,0},{-6625,13622,0},{-6628,13627,0},{-6628,13637,0}, {-6637,13650,0},{-6635,13668,0},{-6633,13675,0},{-6630,13698,0},{-6635,13738,0}, {-6633,13747,0},{-6637,13763,0},{-6637,13773,0},{-6640,13780,0},{-6642,13790,0}, {-6647,13808,0},{-6647,13828,0},{-6650,13833,0},{-6653,13847,0},{-6650,13868,0}, {-6655,13877,0},{-6653,13898,0},{-6655,13910,0},{-6653,13933,0},{-6658,13955,0}, {-6658,13967,0},{-6660,13970,0},{-6662,13978,0},{-6665,13992,0},{-6665,14010,0}, {-6667,14017,0},{-6672,14018,0},{-6673,14023,0},{-6673,14095,0},{-6677,14108,0}, {-6675,14115,0},{-6683,14135,0},{-6683,14140,0},{-6680,14143,0},{-6678,14152,0}, {-6677,14170,0},{-6677,14195,0},{-6680,14215,0},{-6685,14225,0},{-6695,14237,0}, {-6698,14247,0},{-6700,14257,0},{-6700,14288,0},{-6698,14298,0},{-6685,14328,0}, {-6685,14340,0},{-6690,14372,0},{-6697,14380,0},{-6705,14380,0},{-6710,14388,0}, {-6707,14408,0},{-6700,14430,0},{-6702,14445,0},{-6708,14455,0},{-6717,14460,0}, {-6722,14457,0},{-6725,14458,0},{-6723,14465,0},{-6715,14482,0},{-6710,14502,0}, {-6705,14513,0},{-6702,14537,0},{-6703,14540,0},{-6710,14537,0},{-6712,14540,0}, {-6715,14578,0},{-6720,14583,0},{-6733,14560,0},{-6743,14550,0},{-6753,14533,0}, {-6762,14525,0},{-6765,14570,0},{-6762,14603,0},{-6762,14613,0},{-6765,14628,0}, {-6772,14637,0},{-6772,14658,0},{-6782,14667,0},{-6785,14688,0},{-6793,14698,0}, {-6800,14737,0},{-6802,14762,0},{-6798,14793,0},{-6800,14815,0},{-6810,14832,0}, {-6823,14842,0},{-6827,14838,0},{-6823,14820,0},{-6827,14802,0},{-6828,14792,0}, {-6837,14795,0},{-6840,14803,0},{-6843,14847,0},{-6842,14860,0},{-6840,14867,0}, {-6837,14882,0},{-6835,14905,0},{-6832,14918,0},{-6833,14938,0},{-6838,14960,0}, {-6840,14983,0},{-6845,14980,0},{-6847,14983,0},{-6847,14990,0},{-6838,15053,0}, {-6835,15112,0},{-6835,15115,0},{-6838,15118,0},{-6845,15115,0},{-6852,15107,0}, {-6867,15098,0},{-6875,15127,0},{-6885,15153,0},{-6887,15167,0},{-6885,15170,0}, {-6882,15185,0},{-6878,15215,0},{-6882,15268,0},{-6887,15288,0},{-6888,15307,0}, {-6882,15345,0},{-6878,15352,0},{-6882,15367,0},{-6878,15398,0},{-6877,15402,0}, {-6870,15403,0},{-6865,15400,0},{-6863,15397,0},{-6860,15380,0},{-6857,15375,0}, {-6852,15375,0},{-6852,15392,0},{-6850,15395,0},{-6848,15393,0},{-6843,15373,0}, {-6838,15368,0},{-6833,15370,0},{-6832,15382,0},{-6842,15415,0},{-6850,15425,0}, {-6853,15438,0},{-6850,15448,0},{-6850,15457,0},{-6855,15472,0},{-6862,15478,0}, {-6862,15450,0},{-6865,15455,0},{-6870,15467,0},{-6875,15462,0},{-6877,15448,0}, {-6878,15447,0},{-6893,15472,0},{-6900,15490,0},{-6910,15488,0},{-6915,15478,0}, {-6918,15497,0},{-6918,15520,0},{-6915,15520,0},{-6910,15525,0},{-6905,15543,0}, {-6907,15550,0},{-6917,15563,0},{-6917,15568,0},{-6912,15568,0},{-6918,15587,0}, {-6918,15602,0},{-6915,15605,0},{-6912,15612,0},{-6908,15605,0},{-6903,15605,0}, {-6900,15605,0},{-6898,15610,0},{-6902,15652,0},{-6920,15690,0},{-6915,15697,0}, {-6918,15702,0},{-6915,15707,0},{-6915,15720,0},{-6907,15717,0},{-6903,15722,0}, {-6907,15733,0},{-6917,15743,0},{-6918,15752,0},{-6915,15763,0},{-6917,15787,0}, {-6913,15792,0},{-6922,15828,0},{-6935,15847,0},{-6935,15860,0},{-6933,15867,0}, {-6933,15885,0},{-6935,15893,0},{-6938,15900,0},{-6935,15900,0},{-6932,15898,0}, {-6930,15902,0},{-6935,15913,0},{-6940,15917,0},{-6945,15935,0},{-6952,15953,0}, {-6955,15978,0},{-6970,16013,0},{-6978,16037,0},{-6982,16042,0},{-6987,16038,0}, {-6988,16055,0},{-6993,16067,0},{-6997,16065,0},{-6997,16047,0},{-7000,16042,0}, {-7003,16048,0},{-7010,16082,0},{-7027,16105,0},{-7022,16162,0},{-7022,16168,0}, {-7027,16172,0},{-7030,16180,0},{-7033,16180,0},{-7037,16185,0},{-7035,16190,0}, {-7032,16188,0},{-7022,16200,0},{-7022,16205,0},{-7027,16207,0},{-7028,16202,0}, {-7038,16198,0},{-7043,16203,0},{-7037,16210,0},{-7030,16220,0},{-7027,16252,0}, {-7028,16275,0},{-7030,16280,0},{-7038,16287,0},{-7042,16297,0},{-7043,16292,0}, {-7047,16297,0},{-7052,16300,0},{-7053,16317,0},{-7062,16320,0},{-7067,16352,0}, {-7067,16360,0},{-7063,16378,0},{-7057,16360,0},{-7055,16365,0},{-7053,16363,0}, {-7050,16352,0},{-7047,16352,0},{-7047,16355,0},{-7048,16365,0},{-7053,16372,0}, {-7053,16383,0},{-7052,16390,0},{-7053,16393,0},{-7053,16398,0},{-7048,16410,0}, {-7048,16437,0},{-7050,16465,0},{-7055,16473,0},{-7055,16490,0},{-7058,16495,0}, {-7055,16515,0},{-7057,16538,0},{-7058,16550,0},{-7065,16563,0},{-7068,16580,0}, {-7072,16580,0},{-7063,16608,0},{-7060,16632,0},{-7062,16677,0},{-7063,16683,0}, {-7070,16690,0},{-7070,16672,0},{-7067,16660,0},{-7070,16647,0},{-7077,16660,0}, {-7078,16673,0},{-7077,16680,0},{-7077,16698,0},{-7073,16720,0},{-7075,16738,0}, {-7073,16748,0},{-7077,16772,0},{-7080,16780,0},{-7087,16792,0},{-7093,16790,0}, {-7095,16778,0},{-7098,16783,0},{-7108,16815,0},{-7115,16823,0},{-7117,16833,0}, {-7118,16847,0},{-7123,16892,0},{-7125,16892,0},{-7128,16903,0},{-7132,16905,0}, {-7135,16923,0},{-7142,16922,0},{-7143,16925,0},{-7142,16947,0},{-7143,16955,0}, {-7148,16957,0},{-7150,16965,0},{-7150,16987,0},{-7157,16993,0},{-7157,17002,0}, {-7162,17010,0},{-7165,17025,0},{-7165,17030,0},{-7160,17027,0},{-7157,17033,0}, {-7153,17033,0},{-7148,17043,0},{-7143,17033,0},{-7128,17022,0},{-7130,17030,0}, {-7135,17045,0},{-7150,17058,0},{-7167,17080,0},{-7175,17083,0},{-7187,17100,0}, {-7197,17078,0},{-7197,17062,0},{-7203,17038,0},{-7200,17025,0},{-7205,17020,0}, {-7207,17005,0},{-7213,17008,0},{-7218,16998,0},{-7228,17007,0},{-7232,17002,0}, {-7235,17002,0},{-7238,16987,0},{-7240,17002,0},{-7238,17008,0},{-7232,17020,0}, {-7230,17028,0},{-7238,17032,0},{-7248,17035,0},{-7258,17032,0},{-7262,17023,0}, {-7260,17013,0},{-7260,17005,0},{-7268,17020,0},{-7270,17002,0},{-7287,16990,0}, {-7295,16970,0},{-7303,16972,0},{-7307,16963,0},{-7310,16952,0},{-7308,16927,0}, {-7315,16925,0},{-7320,16932,0},{-7325,16927,0},{-7325,16918,0},{-7325,16902,0}, {-7325,16900,0},{-7330,16910,0},{-7333,16910,0},{-7337,16905,0},{-7343,16920,0}, {-7347,16917,0},{-7350,16900,0},{-7347,16888,0},{-7338,16862,0},{-7347,16858,0}, {-7352,16853,0},{-7355,16838,0},{-7350,16827,0},{-7338,16810,0},{-7342,16785,0}, {-7347,16775,0},{-7350,16773,0},{-7352,16762,0},{-7355,16755,0},{-7358,16732,0}, {-7357,16718,0},{-7358,16700,0},{-7365,16707,0},{-7367,16690,0},{-7373,16667,0}, {-7377,16648,0},{-7372,16628,0},{-7373,16617,0},{-7380,16618,0},{-7380,16593,0}, {-7382,16582,0},{-7385,16592,0},{-7388,16613,0},{-7392,16628,0},{-7393,16622,0}, {-7392,16615,0},{-7388,16587,0},{-7393,16573,0},{-7398,16622,0},{-7400,16627,0}, {-7407,16632,0},{-7408,16612,0},{-7407,16592,0},{-7402,16532,0},{-7405,16512,0}, {-7417,16512,0},{-7417,16503,0},{-7410,16490,0},{-7415,16482,0},{-7418,16483,0}, {-7425,16510,0},{-7430,16507,0},{-7435,16512,0},{-7438,16522,0},{-7447,16537,0}, {-7450,16557,0},{-7453,16552,0},{-7462,16553,0},{-7463,16548,0},{-7463,16538,0}, {-7457,16532,0},{-7455,16525,0},{-7458,16492,0},{-7458,16452,0},{-7470,16462,0}, {-7465,16433,0},{-7465,16423,0},{-7467,16422,0},{-7473,16428,0},{-7477,16418,0}, {-7478,16402,0},{-7480,16408,0},{-7482,16410,0},{-7490,16393,0},{-7490,16388,0}, {-7485,16395,0},{-7482,16387,0},{-7477,16383,0},{-7475,16337,0},{-7468,16315,0}, {-7470,16305,0},{-7463,16295,0},{-7465,16287,0},{-7473,16280,0},{-7475,16263,0}, {-7478,16253,0},{-7483,16225,0},{-7490,16238,0},{-7493,16253,0},{-7500,16250,0}, {-7502,16265,0},{-7505,16270,0},{-7510,16272,0},{-7512,16257,0},{-7517,16273,0}, {-7520,16278,0},{-7522,16325,0},{-7527,16362,0},{-7525,16427,0},{-7535,16447,0}, {-7543,16438,0},{-7543,16450,0},{-7538,16468,0},{-7540,16480,0},{-7542,16482,0}, {-7557,16477,0},{-7552,16423,0},{-7550,16378,0},{-7547,16322,0},{-7547,16293,0}, {-7557,16310,0},{-7570,16292,0},{-7575,16310,0},{-7578,16307,0},{-7578,16293,0}, {-7583,16297,0},{-7590,16288,0},{-7593,16308,0},{-7595,16312,0},{-7595,16303,0}, {-7595,16283,0},{-7608,16277,0},{-7610,16255,0},{-7612,16263,0},{-7612,16260,0}, {-7610,16247,0},{-7610,16243,0},{-7615,16257,0},{-7615,16292,0},{-7620,16287,0}, {-7622,16267,0},{-7623,16283,0},{-7625,16288,0},{-7633,16278,0},{-7643,16295,0}, {-7652,16285,0},{-7655,16277,0},{-7655,16288,0},{-7658,16293,0},{-7660,16270,0}, {-7662,16262,0},{-7665,16268,0},{-7670,16300,0},{-7673,16307,0},{-7675,16300,0}, {-7685,16290,0},{-7685,16263,0},{-7692,16257,0},{-7695,16233,0},{-7697,16250,0}, {-7700,16243,0},{-7698,16263,0},{-7698,16270,0},{-7702,16270,0},{-7703,16317,0}, {-7705,16325,0},{-7708,16322,0},{-7713,16338,0},{-7715,16337,0},{-7725,16355,0}, {-7737,16363,0},{-7742,16383,0},{-7747,16390,0},{-7750,16387,0},{-7755,16360,0}, {-7762,16375,0},{-7767,16358,0},{-7770,16360,0},{-7768,16387,0},{-7765,16407,0}, {-7765,16430,0},{-7770,16447,0},{-7773,16457,0},{-7782,16448,0},{-7790,16460,0}, {-7800,16457,128},{-7802,16447,0},{-7808,16445,0},{-7812,16423,0},{-7815,16420,0}, {-7813,16448,0},{-7808,16460,0},{-7803,16493,0},{-7810,16500,0},{-7813,16492,0}, {-7825,16495,0},{-7820,16520,0},{-7815,16515,0},{-7807,16538,0},{-7800,16550,0}, {-7807,16570,0},{-7813,16562,0},{-7818,16545,0},{-7830,16578,0},{-7840,16568,0}, {-7845,16607,0},{-7848,16645,0},{-7848,16693,0},{-7850,16708,0},{-7853,16720,0}, {-7862,16728,0},{-7867,16722,0},{-7868,16697,0},{-7868,16690,0},{-7867,16692,0}, {-7865,16700,0},{-7860,16697,0},{-7855,16665,0},{-7852,16618,0},{-7853,16590,0}, {-7858,16548,0},{-7857,16483,0},{-7857,16447,0},{-7858,16432,0},{-7860,16418,0}, {-7865,16403,0},{-7867,16405,0},{-7868,16398,0},{-7870,16355,0},{-7877,16335,0}, {-7880,16308,0},{-7882,16288,0},{-7893,16283,0},{-7895,16278,0},{-7893,16255,0}, {-7888,16252,0},{-7885,16240,0},{-7887,16178,0},{-7897,16175,0},{-7898,16125,0}, {-7903,16107,0},{-7905,16092,0},{-7900,16045,0},{-7893,16015,0},{-7893,16000,0}, {-7898,15985,0},{-7902,15985,0},{-7910,16027,0},{-7913,16047,0},{-7927,16052,0}, {-7930,16028,0},{-7933,16052,0},{-7937,16050,0},{-7943,16067,0},{-7945,16053,0}, {-7952,16043,0},{-7957,16008,0},{-7967,16008,0},{-7975,15980,0},{-7980,15975,0}, {-7987,15952,0},{-7988,15925,0},{-7990,15920,0},{-7993,15932,0},{-7992,16000,0}, {-7987,16037,0},{-7988,16047,0},{-7993,16058,0},{-7998,16048,0},{-8005,16052,0}, {-8005,16028,0},{-8010,16027,0},{-8017,15942,0},{-8023,15917,0},{-8030,15938,0}, {-8042,15953,0},{-8040,15982,0},{-8040,16013,0},{-8037,16078,0},{-8037,16093,0}, {-8047,16105,0},{-8052,16098,0},{-8052,16073,0},{-8053,16065,0},{-8057,16027,0}, {-8055,16013,0},{-8053,16013,0},{-8053,16007,0},{-8057,15978,0},{-8060,15992,0}, {-8065,16020,0},{-8063,16062,0},{-8058,16092,0},{-8063,16103,0},{-8063,16122,0}, {-8068,16123,0},{-8068,16105,0},{-8072,16087,0},{-8075,16082,0},{-8075,16070,0}, {-8078,16073,0},{-8078,16045,0},{-8077,16028,0},{-8078,16005,0},{-8082,16007,0}, {-8083,16037,0},{-8087,16043,0},{-8087,16062,0},{-8090,16058,0},{-8090,16090,0}, {-8095,16055,0},{-8105,16070,0},{-8108,16090,0},{-8110,16085,0},{-8112,16062,0}, {-8117,16080,0},{-8120,16065,0},{-8122,16077,0},{-8122,16105,0},{-8125,16103,0}, {-8123,16163,0},{-8120,16210,0},{-8123,16227,0},{-8132,16220,0},{-8138,16153,0}, {-8147,16150,0},{-8152,16128,0},{-8153,16085,0},{-8155,16080,0},{-8160,16102,0}, {-8157,16148,0},{-8160,16185,0},{-8163,16192,0},{-8167,16238,0},{-8175,16245,0}, {-8178,16237,0},{-8183,16293,0},{-8188,16297,0},{-8190,16283,0},{-8193,16297,0}, {-8195,16327,0},{-8198,16330,0},{-8202,16353,0},{-8205,16352,0},{-8205,16367,0}, {-8207,16380,0},{-8218,16393,0},{-8222,16387,0},{-8225,16348,0},{-8233,16335,0}, {-8238,16348,0},{-8240,16363,0},{-8238,16417,0},{-8235,16477,0},{-8238,16503,0}, {-8243,16543,0},{-8252,16553,0},{-8257,16532,0},{-8262,16570,0},{-8263,16618,0}, {-8267,16653,0},{-8277,16638,0},{-8277,16660,0},{-8273,16685,0},{-8277,16730,0}, {-8280,16743,0},{-8282,16730,0},{-8283,16692,0},{-8285,16683,0},{-8288,16697,0}, {-8292,16728,0},{-8295,16705,0},{-8297,16705,0},{-8298,16742,0},{-8300,16753,0}, {-8305,16748,0},{-8305,16770,0},{-8300,16783,0},{-8298,16803,0},{-8298,16828,0}, {-8302,16855,0},{-8305,16850,0},{-8310,16868,0},{-8317,16878,0},{-8325,16858,0}, {-8328,16880,0},{-8333,16903,0},{-8333,16935,0},{-8337,16955,0},{-8338,16998,0}, {-8343,17028,0},{-8345,17078,0},{-8350,17088,0},{-8347,17117,0},{-8348,17137,0}, {-8355,17157,0},{-8368,17230,0},{-8373,17328,0},{-8377,17343,0},{-8380,17337,0}, {-8385,17378,0},{-8382,17458,0},{-8382,17488,0},{-8385,17505,0},{-8390,17520,0}, {-8393,17510,0},{-8395,17532,0},{-8395,17573,0},{-8400,17650,0},{-8407,17703,0}, {-8407,17753,0},{-8408,17800,0},{-8413,17828,0},{-8412,17872,0},{-8413,17915,0}, {-8422,17965,0},{-8423,17968,0},{-8428,17940,0},{-8433,17973,0},{-8435,-17995,0}, {-8433,-17970,0},{-8427,-17848,0},{-8428,-17825,0},{-8433,-17817,0},{-8443,-17845,0}, {-8440,-17760,0},{-8442,-17663,0},{-8443,-17637,0},{-8443,-17447,0},{-8457,-17128,0}, {-8460,-17080,0},{-8467,-16917,0},{-8472,-16868,0},{-8477,-16840,0},{-8480,-16857,0}, {-8483,-16853,0},{-8485,-16773,0},{-8488,-16738,0},{-8488,-16693,0},{-8492,-16647,0}, {-8498,-16620,0},{-8502,-16550,0},{-7353,-12675,129},{-7343,-12665,1},{-7338,-12690,1}, {-7332,-12688,1},{-7325,-12695,1},{-7320,-12692,1},{-7315,-12680,1},{-7310,-12660,1}, {-7313,-12648,1},{-7310,-12632,1},{-7312,-12613,1},{-7315,-12598,1},{-7317,-12583,1}, {-7315,-12572,1},{-7312,-12560,1},{-7312,-12550,1},{-7312,-12545,1},{-7315,-12543,1}, {-7318,-12557,1},{-7325,-12557,1},{-7332,-12567,1},{-7333,-12567,1},{-7337,-12542,1}, {-7333,-12530,1},{-7330,-12522,1},{-7328,-12512,1},{-7332,-12495,1},{-7337,-12490,1}, {-7345,-12488,1},{-7348,-12472,1},{-7353,-12468,1},{-7358,-12477,1},{-7363,-12508,1}, {-7367,-12520,1},{-7373,-12502,1},{-7373,-12488,1},{-7368,-12473,1},{-7370,-12448,1}, {-7375,-12443,1},{-7375,-12438,1},{-7373,-12437,1},{-7368,-12435,1},{-7367,-12423,1}, {-7360,-12407,1},{-7360,-12400,1},{-7362,-12395,1},{-7368,-12397,1},{-7377,-12383,1}, {-7378,-12367,1},{-7383,-12365,1},{-7388,-12347,1},{-7393,-12338,1},{-7405,-12340,1}, {-7412,-12347,1},{-7413,-12353,1},{-7412,-12360,1},{-7408,-12377,1},{-7410,-12397,1}, {-7408,-12410,1},{-7410,-12432,1},{-7408,-12445,1},{-7402,-12473,1},{-7395,-12482,1}, {-7393,-12510,1},{-7385,-12537,1},{-7385,-12563,1},{-7383,-12577,1},{-7353,-12615,1}, {-7345,-12620,1},{-7345,-12627,1},{-7352,-12630,1},{-7358,-12648,1},{-7357,-12672,1}, {-7353,-12675,1},{-7425,-12248,129},{-7417,-12267,1},{-7412,-12263,1},{-7407,-12248,1}, {-7400,-12260,1},{-7397,-12253,1},{-7393,-12238,1},{-7388,-12237,1},{-7387,-12227,1}, {-7385,-12225,1},{-7380,-12230,1},{-7378,-12243,1},{-7375,-12247,1},{-7373,-12260,1}, {-7373,-12283,1},{-7368,-12277,1},{-7363,-12275,1},{-7358,-12265,1},{-7358,-12175,1}, {-7363,-12147,1},{-7363,-12132,1},{-7367,-12095,1},{-7365,-12087,1},{-7368,-12053,1}, {-7365,-12030,1},{-7373,-12002,1},{-7375,-11988,1},{-7373,-11968,1},{-7375,-11953,1}, {-7372,-11920,1},{-7372,-11883,1},{-7373,-11872,1},{-7380,-11863,1},{-7388,-11873,1}, {-7397,-11897,1},{-7407,-11957,1},{-7422,-11987,1},{-7430,-12025,1},{-7428,-12088,1}, {-7430,-12108,1},{-7430,-12125,1},{-7430,-12140,1},{-7432,-12162,1},{-7428,-12203,1}, {-7425,-12248,1},{-7900,-16098,129},{-7888,-16120,1},{-7883,-16138,1},{-7875,-16210,1}, {-7873,-16253,1},{-7873,-16307,1},{-7875,-16337,1},{-7878,-16350,1},{-7890,-16355,1}, {-7895,-16368,1},{-7902,-16395,1},{-7907,-16425,1},{-7913,-16438,1},{-7920,-16427,1}, {-7930,-16423,1},{-7952,-16343,1},{-7965,-16263,1},{-7973,-16192,1},{-7980,-16053,1}, {-7982,-16015,1},{-7980,-15938,1},{-7975,-15922,1},{-7970,-15925,1},{-7963,-15953,1}, {-7950,-15973,1},{-7938,-15978,1},{-7923,-16045,1},{-7900,-16098,1},{-7777,16710,129}, {-7763,16762,1},{-7765,16817,1},{-7768,16830,1},{-7768,16850,1},{-7768,16860,1}, {-7765,16868,1},{-7763,16893,1},{-7753,16942,1},{-7747,16945,1},{-7745,16935,1}, {-7743,16912,1},{-7740,16900,1},{-7740,16873,1},{-7735,16835,1},{-7735,16823,1}, {-7740,16803,1},{-7742,16780,1},{-7738,16738,1},{-7732,16713,1},{-7728,16715,1}, {-7720,16705,1},{-7718,16690,1},{-7717,16672,1},{-7718,16660,1},{-7727,16637,1}, {-7737,16662,1},{-7743,16650,1},{-7750,16640,1},{-7753,16622,1},{-7757,16623,1}, {-7762,16637,1},{-7765,16653,1},{-7767,16688,1},{-7770,16682,1},{-7770,16655,1}, {-7772,16658,1},{-7772,16687,1},{-7783,16668,1},{-7785,16675,1},{-7785,16685,1}, {-7783,16687,1},{-7778,16693,1},{-7777,16710,1},{-7253,-9602,129},{-7255,-9620,1}, {-7253,-9632,1},{-7255,-9665,1},{-7253,-9678,1},{-7255,-9700,1},{-7253,-9727,1}, {-7250,-9727,1},{-7248,-9732,1},{-7250,-9747,1},{-7252,-9810,1},{-7255,-9823,1}, {-7253,-9872,1},{-7252,-9877,1},{-7250,-9878,1},{-7247,-9870,1},{-7245,-9875,1}, {-7243,-9923,1},{-7245,-9943,1},{-7245,-9953,1},{-7240,-9952,1},{-7237,-9943,1}, {-7233,-9920,1},{-7232,-9925,1},{-7232,-9945,1},{-7232,-9968,1},{-7233,-9993,1}, {-7232,-9998,1},{-7228,-10000,1},{-7227,-10027,1},{-7228,-10042,1},{-7223,-10053,1}, {-7222,-10063,1},{-7220,-10167,1},{-7222,-10203,1},{-7220,-10210,1},{-7215,-10217,1}, {-7215,-10230,1},{-7208,-10237,1},{-7203,-10223,1},{-7193,-10163,1},{-7195,-10143,1}, {-7193,-10122,1},{-7185,-10092,1},{-7187,-10078,1},{-7187,-10063,1},{-7180,-10055,1}, {-7178,-10045,1},{-7180,-10032,1},{-7183,-10017,1},{-7188,-10017,1},{-7192,-10052,1}, {-7195,-10060,1},{-7192,-10015,1},{-7195,-10003,1},{-7198,-10007,1},{-7202,-10020,1}, {-7203,-10020,1},{-7203,-10008,1},{-7200,-9987,1},{-7197,-9988,1},{-7197,-9982,1}, {-7192,-9977,1},{-7188,-9978,1},{-7187,-9970,1},{-7188,-9963,1},{-7193,-9955,1}, {-7197,-9953,1},{-7203,-9960,1},{-7205,-9957,1},{-7205,-9948,1},{-7197,-9942,1}, {-7195,-9932,1},{-7197,-9918,1},{-7202,-9910,1},{-7200,-9890,1},{-7202,-9885,1}, {-7205,-9873,1},{-7200,-9870,1},{-7195,-9878,1},{-7192,-9887,1},{-7188,-9917,1}, {-7187,-9918,1},{-7183,-9915,1},{-7182,-9925,1},{-7177,-9920,1},{-7172,-9898,1}, {-7163,-9898,1},{-7160,-9883,1},{-7160,-9863,1},{-7163,-9843,1},{-7173,-9815,1}, {-7175,-9797,1},{-7178,-9797,1},{-7183,-9807,1},{-7185,-9815,1},{-7187,-9832,1}, {-7197,-9823,1},{-7208,-9835,1},{-7210,-9835,1},{-7208,-9828,1},{-7198,-9808,1}, {-7200,-9795,1},{-7203,-9790,1},{-7208,-9792,1},{-7212,-9802,1},{-7213,-9800,1}, {-7208,-9778,1},{-7203,-9772,1},{-7200,-9775,1},{-7193,-9788,1},{-7185,-9780,1}, {-7180,-9787,1},{-7178,-9785,1},{-7177,-9773,1},{-7178,-9765,1},{-7180,-9757,1}, {-7182,-9752,1},{-7187,-9763,1},{-7185,-9748,1},{-7187,-9743,1},{-7188,-9738,1}, {-7195,-9738,1},{-7200,-9762,1},{-7202,-9763,1},{-7217,-9735,1},{-7213,-9732,1}, {-7207,-9728,1},{-7195,-9712,1},{-7180,-9710,1},{-7175,-9702,1},{-7172,-9685,1}, {-7177,-9665,1},{-7173,-9642,1},{-7175,-9625,1},{-7178,-9610,1},{-7182,-9605,1}, {-7192,-9608,1},{-7195,-9625,1},{-7198,-9627,1},{-7202,-9645,1},{-7202,-9663,1}, {-7213,-9703,1},{-7215,-9698,1},{-7218,-9668,1},{-7218,-9662,1},{-7213,-9647,1}, {-7210,-9607,1},{-7207,-9583,1},{-7203,-9580,1},{-7200,-9570,1},{-7203,-9558,1}, {-7207,-9562,1},{-7208,-9548,1},{-7212,-9548,1},{-7213,-9557,1},{-7217,-9563,1}, {-7218,-9573,1},{-7217,-9597,1},{-7218,-9622,1},{-7220,-9642,1},{-7223,-9652,1}, {-7223,-9590,1},{-7230,-9580,1},{-7230,-9538,1},{-7233,-9543,1},{-7242,-9587,1}, {-7247,-9598,1},{-7252,-9593,1},{-7253,-9602,1},{-7273,-7725,129},{-7282,-7727,1}, {-7287,-7738,1},{-7297,-7742,1},{-7303,-7803,1},{-7310,-7820,1},{-7320,-7853,1}, {-7320,-7868,1},{-7317,-7878,1},{-7303,-7905,1},{-7298,-7900,1},{-7293,-7887,1}, {-7292,-7872,1},{-7293,-7863,1},{-7297,-7850,1},{-7293,-7840,1},{-7288,-7825,1}, {-7280,-7813,1},{-7268,-7817,1},{-7267,-7810,1},{-7267,-7768,1},{-7270,-7752,1}, {-7270,-7730,1},{-7273,-7725,1},{-7298,-7422,129},{-7305,-7418,1},{-7325,-7445,1}, {-7332,-7450,1},{-7340,-7448,1},{-7353,-7427,1},{-7365,-7447,1},{-7365,-7463,1}, {-7362,-7467,1},{-7360,-7487,1},{-7342,-7567,1},{-7332,-7595,1},{-7327,-7598,1}, {-7322,-7608,1},{-7318,-7608,1},{-7308,-7595,1},{-7313,-7570,1},{-7310,-7563,1}, {-7308,-7545,1},{-7307,-7540,1},{-7302,-7535,1},{-7300,-7538,1},{-7300,-7565,1}, {-7295,-7572,1},{-7290,-7558,1},{-7285,-7548,1},{-7282,-7538,1},{-7283,-7483,1}, {-7293,-7435,1},{-7298,-7422,1},{-7263,-7208,129},{-7247,-7258,1},{-7235,-7242,1}, {-7227,-7222,1},{-7223,-7198,1},{-7225,-7153,1},{-7225,-7140,1},{-7228,-7110,1}, {-7228,-7093,1},{-7228,-7070,1},{-7227,-7058,1},{-7223,-7055,1},{-7220,-7068,1}, {-7217,-7095,1},{-7213,-7100,1},{-7208,-7095,1},{-7202,-7067,1},{-7198,-7063,1}, {-7198,-7088,1},{-7198,-7092,1},{-7198,-7098,1},{-7182,-7115,1},{-7180,-7125,1}, {-7183,-7137,1},{-7182,-7143,1},{-7170,-7150,1},{-7165,-7167,1},{-7160,-7175,1}, {-7162,-7190,1},{-7160,-7193,1},{-7158,-7197,1},{-7155,-7217,1},{-7157,-7232,1}, {-7160,-7238,1},{-7173,-7247,1},{-7183,-7227,1},{-7185,-7232,1},{-7185,-7243,1}, {-7183,-7258,1},{-7173,-7278,1},{-7177,-7320,1},{-7178,-7332,1},{-7182,-7335,1}, {-7183,-7333,1},{-7188,-7307,1},{-7192,-7293,1},{-7203,-7323,1},{-7208,-7325,1}, {-7212,-7335,1},{-7217,-7352,1},{-7215,-7358,1},{-7207,-7365,1},{-7207,-7420,1}, {-7198,-7433,1},{-7190,-7480,1},{-7183,-7508,1},{-7165,-7548,1},{-7145,-7567,1}, {-7138,-7563,1},{-7135,-7550,1},{-7137,-7535,1},{-7145,-7518,1},{-7160,-7498,1}, {-7160,-7493,1},{-7158,-7487,1},{-7160,-7483,1},{-7163,-7470,1},{-7162,-7462,1}, {-7155,-7463,1},{-7145,-7488,1},{-7128,-7502,1},{-7123,-7492,1},{-7122,-7482,1}, {-7125,-7445,1},{-7133,-7435,1},{-7143,-7412,1},{-7148,-7382,1},{-7153,-7360,1}, {-7160,-7353,1},{-7158,-7342,1},{-7155,-7333,1},{-7148,-7335,1},{-7143,-7342,1}, {-7143,-7358,1},{-7133,-7388,1},{-7127,-7405,1},{-7120,-7405,1},{-7117,-7397,1}, {-7115,-7385,1},{-7115,-7353,1},{-7120,-7327,1},{-7123,-7315,1},{-7132,-7303,1}, {-7133,-7292,1},{-7133,-7285,1},{-7128,-7275,1},{-7127,-7238,1},{-7125,-7233,1}, {-7122,-7238,1},{-7122,-7277,1},{-7120,-7293,1},{-7113,-7313,1},{-7108,-7318,1}, {-7103,-7315,1},{-7102,-7290,1},{-7095,-7270,1},{-7097,-7195,1},{-7095,-7173,1}, {-7092,-7157,1},{-7083,-7140,1},{-7080,-7117,1},{-7080,-7107,1},{-7083,-7100,1}, {-7097,-7090,1},{-7100,-7083,1},{-7098,-7068,1},{-7095,-7060,1},{-7092,-7060,1}, {-7087,-7068,1},{-7080,-7090,1},{-7075,-7093,1},{-7068,-7108,1},{-7063,-7113,1}, {-7055,-7150,1},{-7045,-7155,1},{-7038,-7150,1},{-7028,-7137,1},{-7025,-7117,1}, {-7025,-7078,1},{-7027,-7053,1},{-7023,-7032,1},{-7025,-7003,1},{-7020,-7000,1}, {-7017,-7008,1},{-7017,-7022,1},{-7018,-7052,1},{-7018,-7065,1},{-7013,-7078,1}, {-7008,-7102,1},{-7003,-7117,1},{-6997,-7115,1},{-6997,-7138,1},{-6985,-7162,1}, {-6980,-7187,1},{-6967,-7185,1},{-6962,-7182,1},{-6952,-7192,1},{-6943,-7177,1}, {-6940,-7177,1},{-6933,-7162,1},{-6930,-7168,1},{-6930,-7163,1},{-6928,-7163,1}, {-6923,-7182,1},{-6922,-7183,1},{-6922,-7190,1},{-6917,-7192,1},{-6913,-7213,1}, {-6908,-7212,1},{-6907,-7207,1},{-6898,-7173,1},{-6893,-7160,1},{-6890,-7143,1}, {-6888,-7128,1},{-6887,-7118,1},{-6887,-7098,1},{-6882,-7085,1},{-6877,-7052,1}, {-6878,-7040,1},{-6885,-7015,1},{-6890,-7008,1},{-6902,-7008,1},{-6905,-7003,1}, {-6910,-7000,1},{-6912,-7008,1},{-6918,-7007,1},{-6927,-7010,1},{-6930,-6998,1}, {-6928,-6975,1},{-6943,-6962,1},{-6947,-6952,1},{-6955,-6950,1},{-6963,-6935,1}, {-6980,-6932,1},{-6985,-6925,1},{-6995,-6923,1},{-7007,-6910,1},{-7020,-6907,1}, {-7028,-6890,1},{-7030,-6875,1},{-7035,-6865,1},{-7040,-6865,1},{-7053,-6848,1}, {-7067,-6838,1},{-7075,-6837,1},{-7080,-6832,1},{-7082,-6842,1},{-7087,-6830,1}, {-7097,-6832,1},{-7107,-6825,1},{-7130,-6818,1},{-7137,-6825,1},{-7158,-6815,1}, {-7163,-6808,1},{-7173,-6815,1},{-7190,-6817,1},{-7195,-6837,1},{-7198,-6843,1}, {-7208,-6833,1},{-7228,-6842,1},{-7230,-6850,1},{-7228,-6862,1},{-7227,-6877,1}, {-7228,-6892,1},{-7233,-6903,1},{-7240,-6902,1},{-7247,-6908,1},{-7247,-6900,1}, {-7243,-6890,1},{-7245,-6887,1},{-7252,-6900,1},{-7253,-6910,1},{-7252,-6915,1}, {-7252,-6918,1},{-7253,-6922,1},{-7257,-6917,1},{-7258,-6925,1},{-7260,-6938,1}, {-7267,-6965,1},{-7267,-6995,1},{-7268,-7013,1},{-7267,-7035,1},{-7270,-7057,1}, {-7267,-7080,1},{-7267,-7157,1},{-7270,-7188,1},{-7268,-7197,1},{-7263,-7208,1}, {-6998,-7465,129},{-6995,-7513,1},{-6995,-7527,1},{-6997,-7537,1},{-6997,-7550,1}, {-6998,-7557,1},{-6998,-7565,1},{-6993,-7593,1},{-6987,-7587,1},{-6983,-7587,1}, {-6967,-7605,1},{-6965,-7593,1},{-6962,-7578,1},{-6963,-7557,1},{-6962,-7528,1}, {-6960,-7523,1},{-6955,-7527,1},{-6953,-7518,1},{-6955,-7480,1},{-6958,-7465,1}, {-6963,-7463,1},{-6967,-7457,1},{-6970,-7460,1},{-6975,-7447,1},{-6982,-7440,1}, {-6992,-7455,1},{-6997,-7458,1},{-6998,-7465,1},{-6753,-6922,129},{-6750,-6917,1}, {-6733,-6883,1},{-6718,-6870,1},{-6703,-6862,1},{-6673,-6818,1},{-6662,-6782,1}, {-6660,-6772,1},{-6660,-6760,1},{-6663,-6758,1},{-6670,-6767,1},{-6685,-6790,1}, {-6690,-6792,1},{-6697,-6788,1},{-6700,-6792,1},{-6705,-6792,1},{-6708,-6777,1}, {-6712,-6777,1},{-6715,-6767,1},{-6720,-6775,1},{-6733,-6815,1},{-6738,-6813,1}, {-6740,-6798,1},{-6742,-6795,1},{-6753,-6805,1},{-6755,-6812,1},{-6753,-6825,1}, {-6753,-6833,1},{-6757,-6840,1},{-6760,-6838,1},{-6765,-6840,1},{-6775,-6855,1}, {-6777,-6887,1},{-6775,-6895,1},{-6767,-6907,1},{-6763,-6917,1},{-6753,-6922,1}, {-6470,-6425,129},{-6465,-6418,1},{-6457,-6417,1},{-6452,-6385,1},{-6450,-6383,1}, {-6445,-6388,1},{-6443,-6383,1},{-6442,-6367,1},{-6437,-6362,1},{-6432,-6362,1}, {-6430,-6353,1},{-6428,-6352,1},{-6425,-6327,1},{-6428,-6310,1},{-6430,-6310,1}, {-6433,-6315,1},{-6435,-6327,1},{-6437,-6323,1},{-6443,-6330,1},{-6443,-6323,1}, {-6438,-6313,1},{-6440,-6308,1},{-6447,-6315,1},{-6445,-6308,1},{-6447,-6307,1}, {-6455,-6323,1},{-6457,-6312,1},{-6455,-6308,1},{-6450,-6295,1},{-6452,-6293,1}, {-6450,-6283,1},{-6453,-6283,1},{-6457,-6277,1},{-6463,-6303,1},{-6463,-6308,1}, {-6475,-6330,1},{-6475,-6337,1},{-6473,-6338,1},{-6473,-6347,1},{-6477,-6348,1}, {-6483,-6363,1},{-6478,-6375,1},{-6477,-6403,1},{-6473,-6408,1},{-6472,-6425,1}, {-6470,-6425,1},{-6263,-6113,129},{-6262,-6112,1},{-6258,-6117,1},{-6257,-6115,1}, {-6260,-6097,1},{-6255,-6082,1},{-6245,-6078,1},{-6248,-6068,1},{-6253,-6063,1}, {-6255,-6052,1},{-6253,-6030,1},{-6247,-6015,1},{-6247,-6008,1},{-6252,-6002,1}, {-6255,-6007,1},{-6258,-6005,1},{-6262,-5997,1},{-6260,-5988,1},{-6262,-5982,1}, {-6268,-6000,1},{-6277,-6025,1},{-6275,-6030,1},{-6273,-6033,1},{-6268,-6030,1}, {-6270,-6037,1},{-6268,-6040,1},{-6265,-6035,1},{-6262,-6033,1},{-6262,-6037,1}, {-6263,-6053,1},{-6262,-6063,1},{-6267,-6080,1},{-6265,-6095,1},{-6265,-6115,1}, {-6263,-6113,1},{-6220,-5898,129},{-6207,-5877,1},{-6205,-5868,1},{-6200,-5865,1}, {-6200,-5857,1},{-6193,-5840,1},{-6195,-5823,1},{-6193,-5815,1},{-6190,-5798,1}, {-6193,-5780,1},{-6188,-5767,1},{-6188,-5765,1},{-6192,-5762,1},{-6197,-5765,1}, {-6202,-5758,1},{-6200,-5773,1},{-6202,-5777,1},{-6207,-5793,1},{-6207,-5812,1}, {-6212,-5813,1},{-6213,-5810,1},{-6217,-5820,1},{-6217,-5830,1},{-6215,-5835,1}, {-6210,-5835,1},{-6208,-5827,1},{-6205,-5837,1},{-6207,-5842,1},{-6210,-5843,1}, {-6215,-5857,1},{-6217,-5855,1},{-6215,-5845,1},{-6217,-5842,1},{-6220,-5842,1}, {-6223,-5848,1},{-6225,-5858,1},{-6225,-5863,1},{-6223,-5865,1},{-6223,-5873,1}, {-6222,-5877,1},{-6223,-5883,1},{-6220,-5887,1},{-6222,-5897,1},{-6220,-5898,1}, {-6125,-5535,129},{-6120,-5540,1},{-6117,-5538,1},{-6113,-5550,1},{-6107,-5538,1}, {-6108,-5528,1},{-6108,-5515,1},{-6110,-5503,1},{-6110,-5493,1},{-6110,-5465,1}, {-6113,-5475,1},{-6117,-5503,1},{-6120,-5507,1},{-6122,-5515,1},{-6128,-5522,1}, {-6127,-5527,1},{-6125,-5535,1},{-6343,-5642,129},{-6338,-5645,1},{-6338,-5653,1}, {-6333,-5653,1},{-6332,-5645,1},{-6328,-5645,1},{-6322,-5635,1},{-6320,-5622,1}, {-6313,-5602,1},{-6312,-5583,1},{-6313,-5578,1},{-6315,-5573,1},{-6313,-5567,1}, {-6312,-5558,1},{-6313,-5548,1},{-6315,-5547,1},{-6318,-5547,1},{-6320,-5543,1}, {-6318,-5533,1},{-6322,-5505,1},{-6323,-5502,1},{-6328,-5500,1},{-6333,-5507,1}, {-6337,-5523,1},{-6337,-5533,1},{-6333,-5547,1},{-6333,-5563,1},{-6330,-5572,1}, {-6332,-5580,1},{-6330,-5587,1},{-6333,-5592,1},{-6333,-5598,1},{-6338,-5603,1}, {-6343,-5628,1},{-6343,-5642,1},{-6445,-5795,129},{-6442,-5800,1},{-6437,-5800,1}, {-6438,-5808,1},{-6437,-5817,1},{-6432,-5823,1},{-6428,-5820,1},{-6425,-5808,1}, {-6420,-5815,1},{-6412,-5807,1},{-6408,-5808,1},{-6408,-5817,1},{-6413,-5827,1}, {-6412,-5842,1},{-6408,-5843,1},{-6400,-5835,1},{-6398,-5818,1},{-6397,-5820,1}, {-6395,-5828,1},{-6392,-5825,1},{-6388,-5818,1},{-6390,-5810,1},{-6385,-5803,1}, {-6385,-5793,1},{-6383,-5797,1},{-6380,-5793,1},{-6378,-5778,1},{-6390,-5775,1}, {-6398,-5782,1},{-6400,-5777,1},{-6407,-5780,1},{-6408,-5772,1},{-6407,-5765,1}, {-6402,-5770,1},{-6392,-5748,1},{-6392,-5745,1},{-6395,-5748,1},{-6403,-5747,1}, {-6405,-5740,1},{-6405,-5728,1},{-6408,-5715,1},{-6415,-5715,1},{-6415,-5705,1}, {-6417,-5703,1},{-6430,-5735,1},{-6433,-5733,1},{-6437,-5723,1},{-6438,-5730,1}, {-6437,-5748,1},{-6440,-5765,1},{-6440,-5772,1},{-6445,-5790,1},{-6445,-5795,1}, {-7740,-7287,129},{-7753,-7283,1},{-7772,-7315,1},{-7795,-7388,1},{-7805,-7442,1}, {-7807,-7470,1},{-7803,-7535,1},{-7790,-7675,1},{-7788,-7730,1},{-7777,-7883,1}, {-7773,-7898,1},{-7753,-7912,1},{-7748,-7932,1},{-7748,-7953,1},{-7755,-7983,1}, {-7752,-8052,1},{-7747,-8090,1},{-7740,-8102,1},{-7728,-8085,1},{-7718,-8085,1}, {-7710,-8072,1},{-7707,-8052,1},{-7713,-7747,1},{-7730,-7362,1},{-7737,-7310,1}, {-7740,-7287,1},{-7843,-6658,129},{-7863,-6695,1},{-7868,-6715,1},{-7872,-6753,1}, {-7885,-6805,1},{-7905,-6868,1},{-7925,-6902,1},{-7938,-6972,1},{-7942,-6973,1}, {-7958,-6932,1},{-7968,-6948,1},{-7970,-6967,1},{-7968,-7010,1},{-7960,-7090,1}, {-7930,-7110,1},{-7910,-7100,1},{-7905,-7087,1},{-7893,-7028,1},{-7883,-6960,1}, {-7868,-6915,1},{-7862,-6872,1},{-7852,-6795,1},{-7843,-6758,1},{-7840,-6737,1}, {-7838,-6688,1},{-7840,-6662,1},{-7843,-6658,1},{-7992,-5963,129},{-8000,-5938,1}, {-8007,-5928,1},{-8037,-5945,1},{-8052,-5967,1},{-8068,-5978,1},{-8080,-5957,1}, {-8097,-5995,1},{-8103,-6020,1},{-8103,-6065,1},{-8097,-6168,1},{-8092,-6213,1}, {-8082,-6260,1},{-8068,-6280,1},{-8065,-6300,1},{-8067,-6340,1},{-8075,-6397,1}, {-8073,-6418,1},{-8062,-6502,1},{-8043,-6592,1},{-8040,-6608,1},{-8033,-6612,1}, {-8027,-6590,1},{-8027,-6578,1},{-8030,-6568,1},{-8038,-6550,1},{-8047,-6477,1}, {-8050,-6355,1},{-8052,-6217,1},{-8048,-6155,1},{-8047,-6127,1},{-8040,-6093,1}, {-8028,-6068,1},{-7993,-5997,1},{-7990,-5982,1},{-7992,-5963,1},{-7795,-4672,129}, {-7798,-4628,1},{-7808,-4540,1},{-7823,-4463,1},{-7832,-4437,1},{-7853,-4430,1}, {-7870,-4447,1},{-7873,-4473,1},{-7875,-4532,1},{-7877,-4583,1},{-7885,-4632,1}, {-7892,-4642,1},{-7895,-4630,1},{-7895,-4545,1},{-7893,-4498,1},{-7893,-4437,1}, {-7897,-4415,1},{-7917,-4413,1},{-7923,-4433,1},{-7932,-4475,1},{-7933,-4478,1}, {-7935,-4470,1},{-7938,-4378,1},{-7943,-4360,1},{-7962,-4333,1},{-7983,-4328,1}, {-7995,-4338,1},{-8000,-4350,1},{-8000,-4407,1},{-8003,-4425,1},{-8005,-4425,1}, {-8013,-4382,1},{-8017,-4377,1},{-8030,-4422,1},{-8045,-4502,1},{-8063,-4660,1}, {-8070,-4800,1},{-8075,-4905,1},{-8083,-4975,1},{-8087,-5027,1},{-8092,-5157,1}, {-8095,-5270,1},{-8093,-5370,1},{-8092,-5417,1},{-8087,-5455,1},{-8078,-5478,1}, {-8065,-5490,1},{-8055,-5488,1},{-8043,-5475,1},{-7988,-5385,1},{-7963,-5358,1}, {-7893,-5252,1},{-7878,-5210,1},{-7865,-5160,1},{-7852,-5090,1},{-7832,-4962,1}, {-7813,-4898,1},{-7807,-4872,1},{-7797,-4807,1},{-7793,-4780,1},{-7792,-4732,1}, {-7793,-4695,1},{-7795,-4672,1},{1037,10445,128},{1038,10450,0},{1042,10452,0}, {1038,10453,0},{1037,10450,0},{1033,10453,0},{1028,10453,0},{1028,10457,0}, {1027,10458,0},{1015,10462,0},{1015,10465,0},{1020,10468,0},{1023,10473,0}, {1020,10480,0},{1010,10490,0},{1010,10498,0},{1002,10507,0},{995,10510,0}, {992,10510,0},{985,10512,0},{993,10508,0},{993,10507,0},{992,10503,0},{983,10495,0}, {982,10490,0},{968,10487,0},{955,10483,0},{915,10482,0},{905,10482,0},{903,10482,0}, {900,10480,0},{898,10483,0},{895,10482,0},{888,10482,0},{880,10480,0},{877,10482,0}, {882,10493,0},{880,10492,0},{873,10492,0},{872,10490,0},{872,10485,0},{870,10487,0}, {872,10497,0},{868,10490,0},{870,10482,0},{865,10483,0},{860,10477,0},{862,10472,0}, {860,10473,0},{857,10485,0},{858,10502,0},{863,10512,0},{873,10520,0},{877,10530,0}, {883,10535,0},{900,10540,0},{900,10542,0},{905,10545,0},{913,10553,0},{930,10600,0}, {937,10620,0},{940,10620,0},{942,10617,0},{948,10622,0},{952,10622,0},{955,10618,0}, {965,10612,0},{977,10605,0},{1000,10582,0},{997,10592,0},{992,10598,0}, {978,10608,0},{963,10625,0},{957,10635,0},{953,10640,0},{955,10650,0},{958,10655,0}, {965,10658,0},{973,10657,0},{977,10652,0},{980,10652,0},{985,10648,0},{1000,10632,0}, {1007,10627,0},{1012,10618,0},{1015,10617,0},{1018,10617,0},{1023,10612,0}, {1015,10622,0},{998,10638,0},{992,10650,0},{982,10660,0},{983,10665,0}, {988,10667,0},{987,10668,0},{983,10667,0},{985,10668,0},{987,10670,0},{990,10668,0}, {997,10657,0},{1000,10648,0},{1013,10638,0},{1022,10635,0},{1025,10628,0}, {1025,10632,0},{1022,10637,0},{1003,10648,0},{998,10660,0},{997,10665,0}, {1000,10665,0},{1000,10668,0},{1003,10667,0},{1008,10670,0},{1003,10672,0}, {1008,10678,0},{1012,10680,0},{1015,10680,0},{1020,10670,0},{1027,10648,0}, {1032,10642,0},{1028,10665,0},{1028,10668,0},{1028,10678,0},{1030,10680,0}, {1038,10680,0},{1047,10673,0},{1043,10667,0},{1047,10665,0},{1045,10663,0}, {1043,10658,0},{1048,10658,0},{1047,10658,0},{1043,10658,0},{1045,10663,0}, {1048,10667,0},{1052,10665,0},{1050,10668,0},{1052,10673,0},{1057,10673,0}, {1058,10677,0},{1067,10673,0},{1068,10677,0},{1067,10680,0},{1063,10683,0}, {1065,10688,0},{1060,10693,0},{1057,10693,0},{1053,10693,0},{1050,10697,0}, {1047,10697,0},{1050,10698,0},{1052,10702,0},{1055,10698,0},{1062,10698,0}, {1055,10700,0},{1053,10702,0},{1057,10702,0},{1058,10702,0},{1063,10700,0}, {1065,10702,0},{1067,10698,0},{1070,10698,0},{1067,10702,0},{1063,10703,0}, {1063,10700,0},{1058,10703,0},{1055,10703,0},{1053,10703,0},{1050,10702,0}, {1050,10700,0},{1048,10700,0},{1050,10702,0},{1047,10703,0},{1048,10705,0}, {1050,10707,0},{1048,10707,0},{1048,10712,0},{1047,10713,0},{1047,10715,0}, {1048,10717,0},{1042,10722,0},{1040,10718,0},{1040,10723,0},{1038,10725,0}, {1045,10733,0},{1047,10738,0},{1047,10745,0},{1050,10752,0},{1057,10758,0}, {1063,10777,0},{1070,10783,0},{1072,10790,0},{1070,10800,0},{1085,10807,0}, {1092,10810,0},{1095,10823,0},{1093,10828,0},{1092,10830,0},{1095,10832,0}, {1095,10835,0},{1103,10838,0},{1105,10848,0},{1110,10850,0},{1115,10855,0}, {1118,10858,0},{1118,10867,0},{1117,10872,0},{1118,10873,0},{1128,10877,0}, {1132,10880,0},{1133,10887,0},{1130,10893,0},{1132,10897,0},{1135,10902,0}, {1153,10903,0},{1153,10902,0},{1153,10903,0},{1157,10903,0},{1158,10905,0}, {1163,10902,0},{1163,10903,0},{1162,10905,0},{1158,10907,0},{1158,10910,0}, {1157,10913,0},{1163,10918,0},{1167,10918,0},{1168,10920,0},{1172,10920,0}, {1172,10925,0},{1180,10920,0},{1182,10920,0},{1183,10918,0},{1187,10920,0}, {1182,10915,0},{1182,10913,0},{1185,10912,0},{1190,10913,0},{1193,10918,0}, {1198,10922,0},{1210,10917,0},{1212,10918,0},{1205,10920,0},{1198,10923,0}, {1188,10922,0},{1187,10925,0},{1187,10928,0},{1192,10927,0},{1193,10928,0}, {1197,10928,0},{1198,10925,0},{1208,10920,0},{1210,10920,0},{1213,10923,0}, {1215,10920,0},{1218,10922,0},{1220,10918,0},{1220,10922,0},{1222,10920,0}, {1225,10920,0},{1227,10917,0},{1227,10922,0},{1228,10922,0},{1230,10925,0}, {1233,10922,0},{1238,10920,0},{1240,10917,0},{1243,10915,0},{1243,10917,0}, {1245,10915,0},{1247,10917,0},{1243,10922,0},{1235,10927,0},{1235,10930,0}, {1238,10932,0},{1237,10933,0},{1238,10933,0},{1240,10935,0},{1243,10930,0}, {1247,10930,0},{1253,10923,0},{1255,10923,0},{1258,10925,0},{1258,10923,0}, {1257,10922,0},{1253,10922,0},{1258,10920,0},{1262,10922,0},{1263,10920,0}, {1268,10923,0},{1277,10933,0},{1280,10935,0},{1280,10937,0},{1277,10937,0}, {1270,10938,0},{1265,10935,0},{1263,10937,0},{1265,10938,0},{1267,10938,0}, {1268,10940,0},{1265,10942,0},{1263,10942,0},{1262,10940,0},{1260,10942,0}, {1257,10943,0},{1257,10945,0},{1263,10943,0},{1265,10947,0},{1268,10943,0}, {1275,10938,0},{1282,10937,0},{1287,10943,0},{1287,10945,0},{1285,10943,0}, {1285,10947,0},{1290,10947,0},{1307,10935,0},{1308,10932,0},{1310,10933,0}, {1313,10930,0},{1327,10932,0},{1330,10930,0},{1327,10928,0},{1323,10930,0}, {1325,10927,0},{1328,10925,0},{1332,10927,0},{1330,10930,0},{1333,10928,0}, {1333,10930,0},{1335,10930,0},{1335,10927,0},{1338,10925,0},{1338,10923,0}, {1348,10923,0},{1348,10925,0},{1348,10928,0},{1345,10930,0},{1343,10927,0}, {1342,10928,0},{1342,10933,0},{1345,10933,0},{1347,10933,0},{1347,10932,0}, {1350,10930,0},{1352,10932,0},{1352,10927,0},{1355,10927,0},{1362,10922,0}, {1365,10922,0},{1362,10923,0},{1355,10928,0},{1353,10928,0},{1355,10928,0}, {1357,10930,0},{1358,10928,0},{1363,10923,0},{1368,10925,0},{1373,10922,0}, {1377,10925,0},{1378,10923,0},{1380,10923,0},{1382,10922,0},{1385,10923,0}, {1390,10925,0},{1387,10927,0},{1375,10927,0},{1377,10930,0},{1382,10930,0}, {1388,10932,0},{1388,10928,0},{1392,10927,0},{1402,10927,0},{1412,10922,0}, {1413,10918,0},{1417,10917,0},{1417,10918,0},{1417,10920,0},{1413,10922,0}, {1413,10923,0},{1420,10920,0},{1423,10920,0},{1428,10918,0},{1437,10913,0}, {1447,10913,0},{1450,10910,0},{1457,10908,0},{1455,10907,0},{1457,10907,0}, {1458,10908,0},{1468,10907,0},{1467,10908,0},{1468,10908,0},{1472,10908,0}, {1482,10902,0},{1483,10898,0},{1483,10900,0},{1500,10893,0},{1513,10890,0}, {1512,10890,0},{1513,10888,0},{1515,10887,0},{1515,10890,0},{1520,10890,0}, {1520,10892,0},{1522,10890,0},{1522,10893,0},{1525,10895,0},{1528,10888,0}, {1535,10888,0},{1537,10883,0},{1542,10883,0},{1542,10880,0},{1540,10882,0}, {1538,10878,0},{1535,10878,0},{1535,10882,0},{1533,10878,0},{1532,10877,0}, {1538,10877,0},{1543,10872,0},{1548,10870,0},{1543,10867,0},{1545,10863,0}, {1548,10863,0},{1548,10867,0},{1552,10868,0},{1550,10867,0},{1552,10863,0}, {1555,10860,0},{1568,10848,0},{1580,10842,0},{1588,10840,0},{1587,10837,0}, {1588,10838,0},{1593,10832,0},{1598,10828,0},{1607,10827,0},{1610,10827,0}, {1610,10832,0},{1612,10835,0},{1615,10833,0},{1613,10832,0},{1615,10827,0}, {1615,10823,0},{1613,10822,0},{1612,10825,0},{1608,10823,0},{1602,10827,0}, {1602,10825,0},{1600,10820,0},{1603,10823,0},{1608,10823,0},{1607,10820,0}, {1608,10818,0},{1612,10813,0},{1615,10815,0},{1622,10820,0},{1623,10807,0}, {1625,10805,0},{1627,10805,0},{1623,10810,0},{1635,10803,0},{1632,10800,0}, {1635,10795,0},{1633,10793,0},{1630,10793,0},{1628,10790,0},{1630,10782,0}, {1638,10778,0},{1637,10783,0},{1652,10770,0},{1650,10767,0},{1652,10767,0}, {1652,10765,0},{1655,10767,0},{1655,10760,0},{1655,10763,0},{1658,10760,0}, {1658,10757,0},{1663,10745,0},{1665,10745,0},{1663,10750,0},{1657,10762,0}, {1658,10763,0},{1668,10747,0},{1690,10722,0},{1690,10720,0},{1687,10718,0}, {1687,10715,0},{1692,10720,0},{1702,10713,0},{1702,10712,0},{1708,10712,0}, {1733,10675,0},{1747,10663,0},{1757,10658,0},{1768,10650,0},{1772,10642,0}, {1770,10640,0},{1768,10640,0},{1768,10638,0},{1770,10637,0},{1772,10638,0}, {1773,10643,0},{1775,10630,0},{1777,10628,0},{1777,10635,0},{1773,10642,0}, {1770,10647,0},{1770,10650,0},{1772,10650,0},{1778,10645,0},{1787,10645,0}, {1787,10643,0},{1788,10645,0},{1792,10648,0},{1795,10653,0},{1803,10645,0}, {1808,10642,0},{1812,10643,0},{1812,10642,0},{1810,10640,0},{1810,10637,0}, {1807,10635,0},{1810,10633,0},{1810,10632,0},{1812,10635,0},{1822,10625,0}, {1827,10617,0},{1825,10610,0},{1828,10612,0},{1833,10603,0},{1840,10597,0}, {1847,10595,0},{1847,10592,0},{1857,10583,0},{1867,10580,0},{1875,10578,0}, {1875,10575,0},{1868,10577,0},{1867,10575,0},{1870,10575,0},{1873,10573,0}, {1877,10575,0},{1882,10572,0},{1882,10570,0},{1885,10567,0},{1885,10572,0}, {1890,10563,0},{1900,10560,0},{1908,10565,0},{1908,10567,0},{1908,10570,0}, {1910,10573,0},{1922,10575,0},{1923,10573,0},{1923,10577,0},{1930,10582,0}, {1932,10580,0},{1932,10582,0},{1940,10577,0},{1942,10582,0},{1957,10582,0}, {1960,10582,0},{1958,10578,0},{1960,10578,0},{1962,10582,0},{1958,10582,0}, {1960,10582,0},{1965,10583,0},{1970,10587,0},{1972,10588,0},{1972,10590,0}, {1977,10593,0},{1977,10587,0},{1980,10592,0},{1980,10593,0},{1985,10593,0}, {1988,10595,0},{1992,10595,0},{2000,10603,0},{1997,10608,0},{2000,10610,0}, {2003,10612,0},{1997,10610,0},{2000,10618,0},{2003,10620,0},{2000,10620,0}, {2003,10623,0},{2013,10632,0},{2018,10635,0},{2020,10638,0},{2022,10648,0}, {2027,10655,0},{2030,10653,0},{2030,10650,0},{2032,10652,0},{2028,10657,0}, {2030,10657,0},{2033,10658,0},{2037,10657,0},{2038,10658,0},{2043,10660,0}, {2045,10657,0},{2043,10652,0},{2048,10658,0},{2052,10657,0},{2055,10658,0}, {2053,10655,0},{2053,10652,0},{2055,10655,0},{2058,10662,0},{2062,10663,0}, {2063,10660,0},{2067,10658,0},{2063,10662,0},{2063,10665,0},{2067,10670,0}, {2070,10667,0},{2070,10673,0},{2070,10677,0},{2068,10680,0},{2073,10678,0}, {2075,10675,0},{2080,10672,0},{2080,10675,0},{2083,10675,0},{2088,10670,0}, {2090,10672,0},{2088,10673,0},{2093,10677,0},{2095,10668,0},{2100,10665,0}, {2100,10668,0},{2102,10665,0},{2100,10672,0},{2103,10673,0},{2102,10675,0}, {2102,10678,0},{2103,10678,0},{2102,10682,0},{2100,10680,0},{2097,10683,0}, {2097,10680,0},{2097,10678,0},{2093,10677,0},{2093,10683,0},{2087,10687,0}, {2090,10688,0},{2093,10688,0},{2090,10690,0},{2090,10695,0},{2093,10692,0}, {2097,10687,0},{2098,10685,0},{2098,10687,0},{2100,10687,0},{2097,10688,0}, {2095,10697,0},{2098,10702,0},{2102,10700,0},{2100,10703,0},{2103,10703,0}, {2100,10705,0},{2103,10705,0},{2100,10707,0},{2103,10708,0},{2100,10708,0}, {2103,10713,0},{2103,10715,0},{2100,10710,0},{2095,10707,0},{2093,10715,0}, {2093,10720,0},{2097,10720,0},{2098,10723,0},{2100,10722,0},{2100,10733,0}, {2102,10737,0},{2107,10735,0},{2108,10737,0},{2110,10737,0},{2113,10738,0}, {2118,10738,0},{2118,10735,0},{2123,10737,0},{2127,10737,0},{2128,10745,0}, {2130,10742,0},{2133,10742,0},{2132,10747,0},{2128,10748,0},{2130,10748,0}, {2130,10753,0},{2133,10752,0},{2135,10753,0},{2133,10753,0},{2128,10757,0}, {2130,10760,0},{2133,10762,0},{2135,10763,0},{2138,10763,0},{2138,10767,0}, {2140,10767,0},{2138,10770,0},{2142,10772,0},{2142,10775,0},{2145,10777,0}, {2145,10778,0},{2148,10778,0},{2148,10780,0},{2150,10778,0},{2150,10775,0}, {2152,10778,0},{2148,10782,0},{2152,10782,0},{2152,10783,0},{2148,10783,0}, {2152,10785,0},{2152,10787,0},{2153,10788,0},{2152,10792,0},{2148,10793,0}, {2147,10792,0},{2145,10792,0},{2145,10795,0},{2147,10795,0},{2148,10798,0}, {2143,10797,0},{2147,10800,0},{2148,10808,0},{2150,10805,0},{2148,10802,0}, {2152,10802,0},{2152,10803,0},{2155,10798,0},{1163,10292,128},{1157,10295,0}, {1160,10297,0},{1163,10297,0},{1165,10295,0},{1172,10297,0},{1175,10295,0}, {1178,10290,0},{1183,10290,0},{1178,10292,0},{1177,10295,0},{1172,10298,0}, {1173,10302,0},{1172,10305,0},{1172,10308,0},{1170,10307,0},{1172,10302,0}, {1167,10297,0},{1163,10297,0},{1167,10298,0},{1167,10300,0},{1165,10300,0}, {1165,10302,0},{1163,10302,0},{1163,10305,0},{1162,10302,0},{1163,10300,0}, {1163,10298,0},{1157,10298,0},{1155,10300,0},{1157,10298,0},{1155,10297,0}, {1153,10298,0},{1155,10303,0},{1160,10303,0},{1158,10305,0},{1155,10305,0}, {1150,10307,0},{1147,10310,0},{1148,10313,0},{1150,10313,0},{1147,10315,0}, {1143,10317,0},{1147,10313,0},{1143,10308,0},{1143,10307,0},{1142,10310,0}, {1135,10310,0},{1135,10313,0},{1130,10315,0},{1132,10313,0},{1130,10312,0}, {1128,10308,0},{1123,10308,0},{1122,10305,0},{1122,10308,0},{1115,10312,0}, {1108,10312,0},{1108,10310,0},{1097,10312,0},{1093,10310,0},{1090,10313,0}, {1087,10313,0},{1087,10322,0},{1088,10322,0},{1093,10328,0},{1090,10333,0}, {1087,10335,0},{1088,10342,0},{1097,10342,0},{1108,10347,0},{1108,10345,0}, {1113,10348,0},{1115,10347,0},{1113,10348,0},{1115,10350,0},{1117,10350,0}, {1115,10355,0},{1108,10360,0},{1107,10367,0},{1103,10367,0},{1098,10367,0}, {1087,10372,0},{1083,10372,0},{1080,10368,0},{1077,10368,0},{1077,10367,0}, {1073,10368,0},{1072,10357,0},{1062,10350,0},{1060,10350,0},{1060,10353,0}, {1053,10357,0},{1055,10362,0},{1050,10362,0},{1048,10363,0},{1050,10370,0}, {1050,10375,0},{1052,10373,0},{1055,10370,0},{1053,10377,0},{1055,10383,0}, {1060,10387,0},{1070,10387,0},{1065,10387,0},{1065,10390,0},{1058,10393,0}, {1055,10410,0},{1057,10417,0},{1053,10418,0},{1057,10422,0},{1057,10425,0}, {1053,10428,0},{1048,10430,0},{1050,10435,0},{1048,10437,0},{1045,10440,0}, {1045,10443,0},{1042,10445,0},{623,10210,128},{632,10198,0},{642,10188,0}, {645,10182,0},{648,10178,0},{683,10157,0},{685,10153,0},{690,10140,0},{695,10130,0}, {693,10127,0},{692,10133,0},{688,10137,0},{687,10135,0},{687,10130,0},{690,10128,0}, {687,10122,0},{687,10108,0},{685,10105,0},{685,10102,0},{695,10085,0},{695,10080,0}, {697,10078,0},{722,10060,0},{717,10058,0},{713,10053,0},{713,10047,0},{715,10048,0}, {717,10042,0},{722,10038,0},{725,10042,0},{727,10038,0},{733,10037,0},{733,10032,0}, {738,10027,0},{748,10023,0},{752,10018,0},{762,10015,0},{772,10015,0},{773,10015,0}, {775,10020,0},{778,10022,0},{780,10027,0},{778,10030,0},{773,10032,0},{762,10032,0}, {758,10030,0},{758,10028,0},{752,10027,0},{753,10030,0},{755,10032,0},{757,10035,0}, {757,10038,0},{753,10040,0},{730,10043,0},{727,10042,0},{725,10043,0},{725,10048,0}, {718,10057,0},{722,10058,0},{730,10052,0},{747,10043,0},{778,10038,0},{812,10030,0}, {830,10027,0},{843,10022,0},{850,10017,0},{852,10013,0},{850,10015,0},{847,10018,0}, {842,10017,0},{840,10018,0},{838,10017,0},{840,10013,0},{843,10008,0},{853,10005,0}, {857,9998,0},{862,9997,0},{887,9993,0},{898,9992,0},{900,9993,0},{903,9992,0}, {910,9992,0},{915,9988,0},{922,9988,0},{923,9987,0},{930,9985,0},{932,9975,0}, {930,9973,0},{932,9970,0},{930,9968,0},{930,9965,0},{927,9962,0},{928,9953,0}, {922,9950,0},{918,9945,0},{920,9937,0},{923,9930,0},{922,9927,0},{925,9923,0}, {933,9923,0},{938,9930,0},{940,9932,0},{947,9927,0},{955,9922,0},{960,9922,0}, {963,9918,0},{977,9915,0},{980,9915,0},{985,9917,0},{998,9915,0},{1000,9917,0}, {1002,9918,0},{1005,9918,0},{1007,9915,0},{1012,9915,0},{1020,9920,0},{1020,9923,0}, {1023,9925,0},{1023,9922,0},{1025,9920,0},{1027,9918,0},{1030,9917,0},{1037,9915,0}, {1037,9922,0},{1035,9923,0},{1037,9928,0},{1042,9928,0},{1045,9923,0},{1047,9923,0}, {1050,9927,0},{1052,9923,0},{1055,9928,0},{1065,9932,0},{1067,9933,0},{1068,9937,0}, {1070,9937,0},{1080,9943,0},{1087,9943,0},{1088,9948,0},{1087,9950,0},{1090,9952,0}, {1095,9950,0},{1103,9952,0},{1107,9950,0},{1112,9948,0},{1118,9953,0},{1120,9955,0}, {1118,9957,0},{1118,9958,0},{1122,9958,0},{1127,9957,0},{1132,9957,0},{1140,9962,0}, {1152,9963,0},{1168,9973,0},{1173,9978,0},{1173,9982,0},{1177,9980,0},{1178,9982,0}, {1182,9980,0},{1183,9983,0},{1188,9982,0},{1198,9987,0},{1208,9997,0},{1215,9998,0}, {1218,10002,0},{1223,10002,0},{1227,9998,0},{1237,10002,0},{1247,9997,0}, {1253,9998,0},{1262,9997,0},{1267,9997,0},{1275,9997,0},{1287,10003,0}, {1295,10005,0},{1305,10010,0},{1308,10008,0},{1315,10007,0},{1322,10000,0}, {1327,9997,0},{1330,9995,0},{1335,10002,0},{1337,10002,0},{1337,10000,0}, {1337,10003,0},{1342,10005,0},{1348,10025,0},{1352,10027,0},{1348,10033,0}, {1352,10057,0},{1353,10058,0},{1357,10058,0},{1360,10060,0},{1355,10058,0}, {1352,10065,0},{1347,10092,0},{1347,10097,0},{1350,10100,0},{1345,10097,0}, {1337,10098,0},{1333,10093,0},{1330,10092,0},{1320,10095,0},{1308,10088,0}, {1305,10092,0},{1302,10093,0},{1298,10092,0},{1297,10090,0},{1293,10088,0}, {1292,10087,0},{1287,10090,0},{1280,10092,0},{1277,10090,0},{1277,10087,0}, {1273,10083,0},{1270,10083,0},{1270,10087,0},{1268,10085,0},{1267,10087,0}, {1265,10087,0},{1265,10092,0},{1265,10093,0},{1262,10092,0},{1260,10097,0}, {1263,10098,0},{1268,10108,0},{1265,10128,0},{1258,10142,0},{1263,10145,0}, {1263,10157,0},{1265,10158,0},{1265,10165,0},{1270,10168,0},{1270,10175,0}, {1265,10187,0},{1260,10188,0},{1260,10190,0},{1258,10192,0},{1257,10190,0}, {1252,10195,0},{1258,10193,0},{1260,10195,0},{1253,10195,0},{1253,10198,0}, {1252,10203,0},{1247,10205,0},{1252,10207,0},{1252,10203,0},{1255,10202,0}, {1255,10200,0},{1257,10207,0},{1255,10203,0},{1253,10203,0},{1253,10210,0}, {1253,10208,0},{1252,10208,0},{1253,10210,0},{1253,10212,0},{1252,10208,0}, {1248,10210,0},{1250,10208,0},{1248,10207,0},{1243,10212,0},{1240,10212,0}, {1240,10215,0},{1232,10223,0},{1230,10227,0},{1230,10228,0},{1237,10225,0}, {1240,10223,0},{1240,10220,0},{1242,10222,0},{1243,10220,0},{1243,10222,0}, {1242,10223,0},{1243,10227,0},{1242,10227,0},{1238,10227,0},{1242,10230,0}, {1237,10227,0},{1232,10230,0},{1233,10235,0},{1235,10233,0},{1237,10232,0}, {1237,10233,0},{1235,10237,0},{1228,10232,0},{1228,10228,0},{1228,10227,0}, {1223,10228,0},{1220,10228,0},{1218,10230,0},{1218,10232,0},{1220,10233,0}, {1218,10237,0},{1217,10240,0},{1215,10247,0},{1213,10247,0},{1212,10252,0}, {1208,10255,0},{1205,10255,0},{1205,10258,0},{1220,10255,0},{1222,10260,0}, {1220,10260,0},{1217,10265,0},{1215,10263,0},{1203,10277,0},{1195,10278,0}, {1190,10277,0},{1175,10290,0},{1163,10292,0},{642,10013,128},{628,10018,0}, {620,10025,0},{608,10030,0},{603,10033,0},{597,10035,0},{582,10038,0},{570,10037,0}, {567,10038,0},{567,10033,0},{557,10035,0},{552,10038,0},{538,10037,0},{528,10043,0}, {525,10042,0},{520,10043,0},{512,10040,0},{508,10037,0},{498,10040,0},{497,10042,0}, {492,10043,0},{492,10045,0},{492,10048,0},{490,10052,0},{488,10052,0},{488,10050,0}, {487,10050,0},{487,10055,0},{485,10057,0},{482,10057,0},{480,10057,0},{480,10062,0}, {477,10062,0},{475,10063,0},{475,10058,0},{465,10060,0},{467,10067,0},{463,10063,0}, {463,10060,0},{460,10058,0},{457,10060,0},{455,10065,0},{443,10062,0},{440,10058,0}, {432,10057,0},{430,10058,0},{427,10060,0},{425,10062,0},{423,10060,0},{417,10062,0}, {417,10068,0},{412,10073,0},{410,10077,0},{403,10077,0},{402,10078,0},{403,10083,0}, {402,10087,0},{398,10077,0},{400,10072,0},{392,10070,0},{388,10070,0},{383,10077,0}, {385,10085,0},{380,10082,0},{378,10082,0},{377,10087,0},{370,10093,0},{363,10102,0}, {360,10105,0},{347,10112,0},{335,10120,0},{333,10123,0},{327,10130,0},{313,10132,0}, {308,10137,0},{300,10137,0},{290,10128,0},{288,10130,0},{283,10128,0},{280,10140,0}, {270,10148,0},{267,10153,0},{262,10168,0},{260,10170,0},{258,10177,0},{257,10178,0}, {252,10180,0},{247,10185,0},{240,10185,0},{242,10193,0},{240,10198,0},{237,10198,0}, {233,10205,0},{227,10210,0},{222,10217,0},{210,10247,0},{205,10255,0},{202,10255,0}, {193,10265,0},{185,10270,0},{185,10283,0},{175,10293,0},{173,10302,0},{162,10320,0}, {153,10337,0},{148,10340,0},{132,10345,0},{127,10352,0},{133,10355,0},{138,10355,0}, {135,10358,0},{138,10363,0},{145,10368,0},{145,10377,0},{148,10382,0},{143,10392,0}, {142,10397,0},{143,10400,0},{147,10402,0},{150,10400,0},{153,10402,0},{160,10397,0}, {163,10395,0},{165,10397,0},{157,10403,0},{150,10405,0},{153,10412,0},{155,10415,0}, {152,10413,0},{150,10408,0},{147,10405,0},{142,10410,0},{138,10410,0},{137,10412,0}, {133,10420,0},{137,10425,0},{137,10428,0},{142,10428,0},{145,10430,0},{155,10427,0}, {163,10425,0},{180,10418,0},{185,10417,0},{183,10415,0},{185,10413,0},{198,10412,0}, {202,10407,0},{213,10402,0},{220,10397,0},{225,10398,0},{233,10395,0},{235,10392,0}, {247,10383,0},{252,10383,0},{258,10382,0},{262,10377,0},{265,10377,0},{263,10372,0}, {265,10370,0},{267,10367,0},{267,10363,0},{268,10362,0},{280,10352,0},{293,10343,0}, {305,10343,0},{318,10345,0},{340,10343,0},{350,10348,0},{350,10345,0},{353,10347,0}, {363,10337,0},{375,10333,0},{380,10335,0},{380,10338,0},{390,10338,0},{395,10340,0}, {395,10343,0},{405,10340,0},{410,10340,0},{415,10342,0},{417,10345,0},{422,10345,0}, {423,10347,0},{432,10350,0},{447,10345,0},{455,10347,0},{473,10343,0},{480,10345,0}, {508,10328,0},{523,10322,0},{538,10312,0},{547,10305,0},{553,10297,0},{558,10285,0}, {572,10267,0},{580,10262,0},{588,10250,0},{608,10242,0},{618,10233,0},{623,10218,0}, {622,10217,0},{620,10220,0},{620,10217,0},{623,10210,0},{1035,9875,128}, {1033,9875,0},{1017,9870,0},{997,9860,0},{995,9860,0},{997,9863,0},{995,9863,0}, {995,9858,0},{993,9858,0},{992,9857,0},{990,9858,0},{988,9857,0},{987,9857,0}, {988,9855,0},{987,9853,0},{985,9852,0},{980,9855,0},{983,9857,0},{983,9858,0}, {978,9855,0},{978,9852,0},{973,9850,0},{975,9852,0},{973,9857,0},{970,9853,0}, {972,9850,0},{968,9852,0},{967,9850,0},{965,9852,0},{963,9850,0},{963,9847,0}, {962,9847,0},{957,9848,0},{957,9853,0},{953,9848,0},{955,9845,0},{942,9842,0}, {940,9840,0},{932,9838,0},{925,9835,0},{922,9837,0},{920,9835,0},{920,9833,0}, {920,9832,0},{913,9835,0},{908,9838,0},{907,9837,0},{905,9833,0},{902,9832,0}, {902,9833,0},{903,9838,0},{900,9835,0},{897,9837,0},{897,9832,0},{892,9830,0}, {890,9830,0},{885,9827,0},{877,9825,0},{873,9822,0},{867,9823,0},{857,9822,0}, {853,9825,0},{852,9825,0},{855,9822,0},{858,9820,0},{857,9820,0},{830,9827,0}, {822,9828,0},{820,9832,0},{818,9833,0},{818,9835,0},{815,9837,0},{813,9840,0}, {817,9840,0},{815,9842,0},{815,9843,0},{818,9845,0},{822,9847,0},{828,9845,0}, {832,9842,0},{833,9847,0},{832,9848,0},{833,9850,0},{833,9853,0},{835,9853,0}, {837,9860,0},{840,9860,0},{838,9862,0},{838,9865,0},{835,9863,0},{828,9862,0}, {828,9865,0},{830,9868,0},{828,9870,0},{822,9870,0},{825,9873,0},{822,9873,0}, {813,9873,0},{813,9875,0},{808,9875,0},{802,9877,0},{805,9880,0},{800,9883,0}, {802,9888,0},{805,9892,0},{802,9895,0},{793,9897,0},{793,9900,0},{790,9903,0}, {792,9907,0},{785,9905,0},{782,9902,0},{770,9903,0},{768,9910,0},{770,9912,0}, {777,9913,0},{773,9913,0},{772,9918,0},{768,9920,0},{765,9927,0},{762,9925,0}, {762,9928,0},{757,9930,0},{753,9932,0},{750,9930,0},{750,9933,0},{745,9935,0}, {737,9933,0},{730,9940,0},{727,9947,0},{730,9948,0},{737,9948,0},{738,9952,0}, {737,9952,0},{730,9953,0},{730,9955,0},{737,9960,0},{728,9958,0},{727,9955,0}, {723,9953,0},{715,9958,0},{713,9958,0},{715,9962,0},{713,9962,0},{715,9963,0}, {717,9967,0},{715,9967,0},{712,9968,0},{713,9975,0},{703,9968,0},{697,9968,0}, {697,9970,0},{693,9972,0},{693,9968,0},{688,9968,0},{685,9970,0},{683,9978,0}, {677,9982,0},{677,9985,0},{672,9988,0},{672,9992,0},{667,9993,0},{665,9995,0}, {663,9997,0},{658,9997,0},{658,9998,0},{652,10005,0},{653,10010,0},{652,10010,0}, {648,10008,0},{647,10012,0},{642,10013,0},{2115,9220,128},{2105,9227,0}, {2095,9228,0},{2078,9237,0},{2070,9237,0},{2067,9245,0},{2065,9247,0},{2062,9250,0}, {2053,9253,0},{2043,9265,0},{2028,9272,0},{2025,9273,0},{2028,9273,0},{2032,9273,0}, {2043,9273,0},{2050,9272,0},{2058,9272,0},{2070,9263,0},{2058,9272,0},{2048,9275,0}, {2048,9277,0},{2047,9277,0},{2045,9277,0},{2047,9280,0},{2050,9280,0},{2048,9283,0}, {2045,9283,0},{2045,9282,0},{2040,9285,0},{2038,9283,0},{2035,9287,0},{2035,9288,0}, {2032,9290,0},{2032,9293,0},{2030,9287,0},{2027,9280,0},{2022,9277,0},{2012,9287,0}, {2012,9290,0},{2020,9292,0},{2030,9300,0},{2045,9302,0},{2055,9308,0},{2052,9308,0}, {2043,9303,0},{2038,9303,0},{2037,9305,0},{2038,9307,0},{2042,9308,0},{2043,9310,0}, {2040,9308,0},{2038,9310,0},{2033,9303,0},{2030,9303,0},{2022,9298,0},{2017,9298,0}, {2013,9300,0},{2017,9303,0},{2022,9312,0},{2018,9312,0},{2015,9308,0},{2017,9308,0}, {2015,9307,0},{2013,9307,0},{2012,9297,0},{2007,9298,0},{2000,9305,0},{1997,9305,0}, {1985,9312,0},{1983,9315,0},{1980,9317,0},{1985,9313,0},{1995,9310,0},{1998,9310,0}, {2000,9313,0},{1983,9322,0},{1982,9323,0},{1983,9325,0},{1992,9320,0},{2008,9313,0}, {2005,9317,0},{2007,9318,0},{2005,9325,0},{2005,9330,0},{2010,9333,0},{2008,9335,0}, {2002,9337,0},{2008,9338,0},{1997,9342,0},{1995,9345,0},{1998,9347,0},{1997,9350,0}, {2000,9352,0},{1998,9353,0},{1997,9352,0},{1995,9352,0},{1995,9353,0},{1993,9352,0}, {1992,9357,0},{1988,9355,0},{1988,9358,0},{1990,9362,0},{1992,9370,0},{1993,9372,0}, {1992,9375,0},{1990,9372,0},{1988,9373,0},{1987,9365,0},{1982,9363,0},{1978,9360,0}, {1972,9360,0},{1972,9362,0},{1975,9363,0},{1972,9363,0},{1972,9368,0},{1977,9370,0}, {1977,9372,0},{1975,9375,0},{1973,9372,0},{1972,9372,0},{1968,9372,0},{1967,9375,0}, {1968,9377,0},{1973,9380,0},{1972,9382,0},{1970,9382,0},{1968,9380,0},{1965,9380,0}, {1965,9375,0},{1965,9373,0},{1963,9373,0},{1960,9378,0},{1957,9380,0},{1950,9387,0}, {1950,9393,0},{1947,9390,0},{1947,9392,0},{1945,9395,0},{1947,9398,0},{1942,9398,0}, {1938,9400,0},{1927,9388,0},{1923,9382,0},{1925,9373,0},{1927,9373,0},{1927,9372,0}, {1928,9372,0},{1930,9367,0},{1933,9362,0},{1935,9363,0},{1940,9362,0},{1940,9357,0}, {1943,9355,0},{1942,9350,0},{1940,9348,0},{1938,9348,0},{1935,9348,0},{1932,9350,0}, {1922,9357,0},{1917,9360,0},{1913,9365,0},{1907,9367,0},{1902,9368,0},{1902,9372,0}, {1897,9373,0},{1893,9383,0},{1885,9393,0},{1888,9393,0},{1890,9397,0},{1897,9398,0}, {1902,9395,0},{1907,9395,0},{1912,9395,0},{1920,9392,0},{1920,9393,0},{1917,9393,0}, {1915,9397,0},{1915,9400,0},{1920,9403,0},{1932,9403,0},{1938,9407,0},{1938,9408,0}, {1930,9405,0},{1925,9405,0},{1923,9407,0},{1915,9403,0},{1912,9403,0},{1908,9403,0}, {1908,9410,0},{1905,9405,0},{1903,9407,0},{1900,9403,0},{1893,9405,0},{1890,9403,0}, {1885,9403,0},{1882,9412,0},{1887,9413,0},{1885,9415,0},{1882,9415,0},{1878,9418,0}, {1873,9422,0},{1875,9425,0},{1873,9427,0},{1872,9422,0},{1873,9418,0},{1872,9417,0}, {1873,9415,0},{1865,9423,0},{1853,9427,0},{1853,9425,0},{1843,9432,0},{1837,9435,0}, {1835,9440,0},{1830,9440,0},{1828,9438,0},{1830,9433,0},{1825,9433,0},{1825,9440,0}, {1822,9443,0},{1818,9443,0},{1817,9445,0},{1805,9448,0},{1802,9448,0},{1798,9443,0}, {1790,9448,0},{1780,9448,0},{1773,9455,0},{1765,9457,0},{1763,9458,0},{1755,9462,0}, {1755,9460,0},{1758,9457,0},{1755,9455,0},{1750,9457,0},{1740,9457,0},{1733,9457,0}, {1730,9460,0},{1732,9455,0},{1728,9453,0},{1728,9452,0},{1722,9450,0},{1720,9453,0}, {1717,9453,0},{1718,9447,0},{1718,9445,0},{1715,9445,0},{1712,9448,0},{1707,9445,0}, {1695,9445,0},{1695,9447,0},{1690,9442,0},{1688,9438,0},{1680,9440,0},{1672,9437,0}, {1663,9437,0},{1660,9433,0},{1658,9435,0},{1655,9435,0},{1652,9432,0},{1653,9428,0}, {1653,9427,0},{1648,9427,0},{1637,9425,0},{1635,9423,0},{1627,9425,0},{1623,9423,0}, {1603,9420,0},{1597,9425,0},{1598,9428,0},{1598,9433,0},{1605,9437,0},{1607,9443,0}, {1612,9445,0},{1618,9452,0},{1630,9452,0},{1630,9453,0},{1627,9457,0},{1630,9460,0}, {1633,9460,0},{1635,9463,0},{1633,9465,0},{1632,9462,0},{1630,9462,0},{1625,9458,0}, {1623,9458,0},{1627,9463,0},{1635,9468,0},{1653,9467,0},{1650,9468,0},{1652,9473,0}, {1648,9470,0},{1638,9472,0},{1635,9473,0},{1635,9470,0},{1625,9467,0},{1620,9468,0}, {1612,9468,0},{1603,9463,0},{1597,9457,0},{1595,9457,0},{1593,9458,0},{1595,9462,0}, {1602,9472,0},{1607,9472,0},{1610,9475,0},{1613,9477,0},{1615,9480,0},{1613,9477,0}, {1610,9477,0},{1607,9473,0},{1600,9473,0},{1595,9467,0},{1592,9460,0},{1588,9462,0}, {1590,9463,0},{1587,9463,0},{1585,9465,0},{1585,9468,0},{1585,9472,0},{1595,9478,0}, {1600,9483,0},{1603,9487,0},{1613,9485,0},{1618,9487,0},{1620,9490,0},{1622,9497,0}, {1625,9498,0},{1620,9497,0},{1618,9490,0},{1613,9487,0},{1602,9488,0},{1603,9492,0}, {1602,9492,0},{1600,9490,0},{1600,9487,0},{1595,9483,0},{1588,9485,0},{1585,9485,0}, {1583,9485,0},{1585,9487,0},{1587,9488,0},{1583,9490,0},{1582,9488,0},{1580,9485,0}, {1578,9485,0},{1575,9497,0},{1578,9498,0},{1578,9500,0},{1580,9503,0},{1595,9507,0}, {1605,9507,0},{1615,9513,0},{1613,9515,0},{1612,9523,0},{1612,9518,0},{1608,9513,0}, {1607,9512,0},{1603,9510,0},{1598,9510,0},{1603,9513,0},{1590,9512,0},{1582,9512,0}, {1578,9515,0},{1578,9518,0},{1578,9522,0},{1588,9522,0},{1593,9523,0},{1600,9527,0}, {1597,9528,0},{1588,9523,0},{1587,9523,0},{1587,9528,0},{1598,9533,0},{1605,9535,0}, {1610,9532,0},{1613,9537,0},{1610,9533,0},{1605,9537,0},{1597,9537,0},{1593,9535,0}, {1590,9532,0},{1587,9532,0},{1583,9528,0},{1572,9528,0},{1572,9538,0},{1573,9543,0}, {1580,9552,0},{1595,9567,0},{1598,9568,0},{1605,9568,0},{1612,9573,0},{1622,9573,0}, {1615,9575,0},{1613,9578,0},{1623,9588,0},{1620,9588,0},{1622,9592,0},{1625,9595,0}, {1622,9593,0},{1622,9597,0},{1632,9608,0},{1633,9607,0},{1638,9600,0},{1635,9608,0}, {1632,9612,0},{1643,9633,0},{1645,9633,0},{1647,9630,0},{1658,9623,0},{1665,9625,0}, {1667,9622,0},{1672,9620,0},{1677,9617,0},{1677,9620,0},{1682,9627,0},{1682,9628,0}, {1680,9628,0},{1677,9623,0},{1675,9622,0},{1668,9623,0},{1665,9627,0},{1660,9627,0}, {1655,9630,0},{1650,9640,0},{1650,9650,0},{1655,9660,0},{1672,9678,0},{1673,9680,0}, {1675,9678,0},{1677,9682,0},{1685,9685,0},{1687,9685,0},{1690,9680,0},{1690,9685,0}, {1693,9683,0},{1692,9688,0},{1703,9692,0},{1708,9690,0},{1720,9685,0},{1730,9692,0}, {1733,9690,0},{1735,9685,0},{1737,9685,0},{1738,9682,0},{1742,9683,0},{1738,9685,0}, {1745,9688,0},{1738,9690,0},{1730,9700,0},{1727,9702,0},{1725,9707,0},{1718,9708,0}, {1718,9710,0},{1715,9710,0},{1708,9712,0},{1708,9713,0},{1712,9715,0},{1713,9718,0}, {1710,9725,0},{1708,9723,0},{1712,9718,0},{1710,9717,0},{1707,9715,0},{1702,9720,0}, {1692,9718,0},{1690,9718,0},{1690,9722,0},{1682,9722,0},{1687,9723,0},{1683,9723,0}, {1682,9725,0},{1677,9725,0},{1675,9727,0},{1670,9727,0},{1667,9730,0},{1667,9735,0}, {1663,9733,0},{1648,9737,0},{1652,9742,0},{1652,9750,0},{1653,9752,0},{1652,9763,0}, {1653,9765,0},{1657,9770,0},{1657,9773,0},{1655,9768,0},{1648,9763,0},{1635,9762,0}, {1627,9765,0},{1612,9762,0},{1607,9757,0},{1603,9758,0},{1602,9758,0},{1600,9760,0}, {1595,9763,0},{1592,9770,0},{1588,9772,0},{1585,9770,0},{1585,9773,0},{1577,9773,0}, {1575,9772,0},{1573,9773,0},{1560,9775,0},{1553,9777,0},{1550,9775,0},{1542,9778,0}, {1538,9775,0},{1535,9775,0},{1535,9773,0},{1530,9775,0},{1525,9773,0},{1520,9778,0}, {1520,9782,0},{1518,9780,0},{1515,9782,0},{1507,9780,0},{1503,9780,0},{1502,9778,0}, {1500,9780,0},{1497,9782,0},{1487,9780,0},{1472,9785,0},{1472,9788,0},{1473,9790,0}, {1480,9790,0},{1475,9793,0},{1480,9795,0},{1477,9797,0},{1473,9797,0},{1472,9800,0}, {1470,9798,0},{1465,9803,0},{1467,9798,0},{1472,9795,0},{1472,9792,0},{1467,9788,0}, {1462,9790,0},{1462,9792,0},{1457,9792,0},{1452,9795,0},{1443,9797,0},{1447,9800,0}, {1437,9798,0},{1430,9800,0},{1420,9807,0},{1418,9808,0},{1420,9810,0},{1417,9810,0}, {1412,9810,0},{1405,9808,0},{1403,9807,0},{1402,9807,0},{1392,9808,0},{1390,9810,0}, {1385,9810,0},{1378,9812,0},{1378,9808,0},{1377,9808,0},{1372,9810,0},{1373,9812,0}, {1370,9810,0},{1368,9812,0},{1368,9817,0},{1367,9817,0},{1367,9815,0},{1363,9815,0}, {1362,9813,0},{1360,9815,0},{1358,9813,0},{1357,9815,0},{1353,9813,0},{1355,9815,0}, {1353,9817,0},{1353,9818,0},{1357,9817,0},{1362,9817,0},{1367,9820,0},{1375,9817,0}, {1387,9820,0},{1393,9818,0},{1397,9820,0},{1402,9818,0},{1407,9818,0},{1400,9823,0}, {1392,9823,0},{1387,9825,0},{1370,9823,0},{1370,9830,0},{1368,9828,0},{1365,9830,0}, {1362,9833,0},{1358,9833,0},{1358,9837,0},{1355,9837,0},{1355,9838,0},{1347,9843,0}, {1345,9842,0},{1340,9845,0},{1338,9845,0},{1340,9847,0},{1337,9845,0},{1328,9847,0}, {1330,9850,0},{1328,9850,0},{1325,9850,0},{1323,9853,0},{1317,9858,0},{1312,9857,0}, {1308,9858,0},{1302,9858,0},{1295,9862,0},{1292,9858,0},{1287,9863,0},{1280,9865,0}, {1278,9865,0},{1277,9860,0},{1275,9863,0},{1275,9868,0},{1275,9867,0},{1273,9863,0}, {1272,9870,0},{1265,9865,0},{1262,9867,0},{1262,9865,0},{1255,9862,0},{1250,9872,0}, {1248,9862,0},{1242,9860,0},{1238,9865,0},{1238,9867,0},{1233,9870,0},{1230,9867,0}, {1228,9857,0},{1225,9853,0},{1222,9855,0},{1220,9860,0},{1223,9867,0},{1222,9872,0}, {1220,9872,0},{1217,9865,0},{1215,9867,0},{1213,9863,0},{1212,9863,0},{1208,9863,0}, {1207,9865,0},{1207,9872,0},{1203,9870,0},{1202,9872,0},{1198,9872,0},{1197,9872,0}, {1195,9868,0},{1192,9865,0},{1190,9857,0},{1188,9855,0},{1188,9865,0},{1190,9868,0}, {1188,9870,0},{1187,9867,0},{1185,9865,0},{1183,9865,0},{1182,9862,0},{1180,9860,0}, {1180,9863,0},{1175,9860,0},{1172,9862,0},{1168,9867,0},{1170,9870,0},{1173,9872,0}, {1177,9877,0},{1178,9877,0},{1182,9882,0},{1185,9882,0},{1182,9882,0},{1178,9878,0}, {1175,9878,0},{1173,9882,0},{1173,9885,0},{1170,9888,0},{1168,9888,0},{1170,9883,0}, {1170,9882,0},{1167,9880,0},{1168,9875,0},{1162,9873,0},{1157,9873,0},{1157,9872,0}, {1152,9872,0},{1152,9875,0},{1145,9877,0},{1145,9872,0},{1138,9870,0},{1138,9872,0}, {1135,9872,0},{1133,9873,0},{1127,9877,0},{1122,9873,0},{1117,9873,0},{1113,9870,0}, {1113,9867,0},{1108,9868,0},{1110,9870,0},{1108,9870,0},{1105,9873,0},{1102,9870,0}, {1100,9868,0},{1098,9872,0},{1092,9872,0},{1090,9867,0},{1092,9863,0},{1088,9862,0}, {1087,9858,0},{1085,9863,0},{1083,9860,0},{1080,9860,0},{1077,9857,0},{1073,9857,0}, {1075,9852,0},{1070,9853,0},{1070,9852,0},{1073,9850,0},{1072,9845,0},{1062,9847,0}, {1055,9850,0},{1045,9850,0},{1035,9853,0},{1030,9850,0},{1025,9852,0},{1018,9848,0}, {1015,9852,0},{1008,9850,0},{1007,9852,0},{1002,9852,0},{998,9853,0},{998,9855,0}, {1010,9862,0},{1022,9868,0},{1035,9875,0},{2192,8903,128},{2193,8907,0}, {2202,8907,0},{2208,8903,0},{2213,8905,0},{2212,8907,0},{2205,8907,0},{2202,8908,0}, {2192,8908,0},{2185,8910,0},{2182,8910,0},{2178,8915,0},{2182,8918,0},{2172,8922,0}, {2165,8920,0},{2163,8923,0},{2167,8930,0},{2168,8927,0},{2175,8930,0},{2182,8928,0}, {2182,8932,0},{2187,8932,0},{2188,8935,0},{2197,8935,0},{2190,8938,0},{2187,8938,0}, {2183,8937,0},{2177,8937,0},{2173,8937,0},{2172,8940,0},{2172,8942,0},{2177,8947,0}, {2178,8947,0},{2185,8945,0},{2188,8948,0},{2190,8952,0},{2192,8952,0},{2197,8952,0}, {2203,8948,0},{2205,8952,0},{2208,8952,0},{2213,8950,0},{2210,8948,0},{2213,8947,0}, {2218,8947,0},{2222,8947,0},{2228,8947,0},{2227,8950,0},{2218,8948,0},{2208,8953,0}, {2202,8952,0},{2198,8953,0},{2198,8955,0},{2212,8958,0},{2220,8955,0},{2223,8958,0}, {2227,8958,0},{2233,8962,0},{2223,8960,0},{2220,8957,0},{2210,8960,0},{2198,8955,0}, {2193,8957,0},{2188,8957,0},{2182,8952,0},{2172,8955,0},{2170,8958,0},{2170,8960,0}, {2172,8960,0},{2175,8958,0},{2177,8960,0},{2175,8965,0},{2177,8970,0},{2178,8970,0}, {2185,8962,0},{2192,8965,0},{2190,8967,0},{2185,8967,0},{2182,8973,0},{2185,8975,0}, {2183,8977,0},{2183,8982,0},{2187,8983,0},{2188,8988,0},{2192,8988,0},{2197,8985,0}, {2203,8985,0},{2207,8980,0},{2208,8987,0},{2217,8987,0},{2227,8983,0},{2235,8988,0}, {2242,8987,0},{2238,8990,0},{2242,8993,0},{2247,8998,0},{2245,8998,0},{2237,8992,0}, {2228,8988,0},{2218,8990,0},{2212,8992,0},{2203,8992,0},{2200,8995,0},{2205,8998,0}, {2200,9000,0},{2200,9005,0},{2207,9008,0},{2208,9012,0},{2203,9008,0},{2198,9007,0}, {2195,9002,0},{2187,9003,0},{2183,9002,0},{2183,9003,0},{2183,9007,0},{2190,9010,0}, {2190,9012,0},{2185,9010,0},{2183,9008,0},{2180,9010,0},{2178,9015,0},{2180,9020,0}, {2183,9025,0},{2185,9025,0},{2187,9023,0},{2192,9028,0},{2200,9032,0},{2208,9037,0}, {2207,9043,0},{2208,9045,0},{2218,9050,0},{2222,9057,0},{2223,9057,0},{2227,9060,0}, {2237,9062,0},{2245,9062,0},{2247,9058,0},{2255,9057,0},{2262,9050,0},{2272,9048,0}, {2275,9045,0},{2278,9047,0},{2280,9045,0},{2278,9042,0},{2283,9038,0},{2285,9040,0}, {2282,9045,0},{2282,9055,0},{2283,9060,0},{2288,9067,0},{2290,9067,0},{2290,9065,0}, {2293,9062,0},{2295,9055,0},{2297,9053,0},{2302,9038,0},{2303,9043,0},{2310,9045,0}, {2310,9052,0},{2312,9053,0},{2313,9053,0},{2315,9052,0},{2318,9050,0},{2327,9055,0}, {2330,9055,0},{2333,9053,0},{2335,9047,0},{2342,9035,0},{2338,9035,0},{2347,9018,0}, {2345,9018,0},{2338,9018,0},{2343,9015,0},{2353,9013,0},{2358,9010,0},{2360,9005,0}, {2358,9000,0},{2357,8997,0},{2358,8995,0},{2370,8985,0},{2377,8978,0},{2377,8972,0}, {2380,8963,0},{2378,8950,0},{2385,8943,0},{2388,8937,0},{2388,8927,0},{2392,8922,0}, {2395,8925,0},{2395,8935,0},{2385,8945,0},{2382,8962,0},{2382,8968,0},{2383,8972,0}, {2390,8972,0},{2393,8968,0},{2397,8968,0},{2400,8967,0},{2398,8975,0},{2397,8972,0}, {2395,8972,0},{2390,8977,0},{2380,8978,0},{2373,8987,0},{2368,8990,0},{2362,9010,0}, {2353,9017,0},{2347,9028,0},{2340,9052,0},{2343,9055,0},{2347,9057,0},{2353,9057,0}, {2358,9052,0},{2357,9047,0},{2360,9050,0},{2358,9057,0},{2350,9058,0},{2352,9063,0}, {2348,9058,0},{2338,9058,0},{2335,9060,0},{2333,9063,0},{2327,9065,0},{2315,9058,0}, {2310,9057,0},{2302,9062,0},{2297,9068,0},{2290,9073,0},{2288,9077,0},{2288,9080,0}, {2290,9080,0},{2293,9077,0},{2288,9083,0},{2287,9093,0},{2282,9102,0},{2282,9110,0}, {2283,9110,0},{2282,9113,0},{2280,9125,0},{2282,9128,0},{2282,9132,0},{2278,9133,0}, {2285,9132,0},{2288,9133,0},{2283,9135,0},{2277,9138,0},{2277,9142,0},{2285,9145,0}, {2288,9147,0},{2290,9145,0},{2292,9148,0},{2290,9147,0},{2287,9148,0},{2280,9143,0}, {2278,9145,0},{2265,9160,0},{2260,9162,0},{2248,9170,0},{2238,9175,0},{2223,9178,0}, {2223,9182,0},{2227,9182,0},{2227,9183,0},{2222,9183,0},{2218,9182,0},{2212,9183,0}, {2212,9185,0},{2193,9192,0},{2185,9192,0},{2178,9190,0},{2180,9193,0},{2178,9195,0}, {2168,9195,0},{2168,9197,0},{2165,9198,0},{2167,9202,0},{2163,9200,0},{2160,9202,0}, {2157,9200,0},{2152,9200,0},{2145,9195,0},{2130,9203,0},{2117,9203,0},{2102,9218,0}, {2095,9220,0},{2075,9232,0},{2075,9233,0},{2080,9233,0},{2088,9230,0},{2093,9225,0}, {2107,9225,0},{2112,9220,0},{2115,9220,0},{2377,6820,128},{2372,6820,0}, {2368,6822,0},{2367,6825,0},{2368,6828,0},{2367,6828,0},{2365,6823,0},{2367,6820,0}, {2363,6817,0},{2362,6815,0},{2360,6813,0},{2358,6818,0},{2358,6827,0},{2360,6833,0}, {2362,6835,0},{2363,6833,0},{2363,6837,0},{2368,6838,0},{2373,6845,0},{2377,6858,0}, {2383,6863,0},{2383,6870,0},{2385,6873,0},{2387,6877,0},{2388,6880,0},{2387,6882,0}, {2382,6872,0},{2382,6867,0},{2375,6863,0},{2372,6857,0},{2368,6853,0},{2365,6847,0}, {2363,6847,0},{2363,6850,0},{2362,6848,0},{2363,6843,0},{2362,6842,0},{2352,6840,0}, {2348,6842,0},{2350,6843,0},{2350,6845,0},{2355,6843,0},{2352,6848,0},{2348,6845,0}, {2345,6843,0},{2343,6843,0},{2343,6847,0},{2342,6847,0},{2340,6848,0},{2340,6850,0}, {2342,6850,0},{2342,6855,0},{2342,6852,0},{2337,6852,0},{2335,6857,0},{2333,6857,0}, {2333,6860,0},{2332,6860,0},{2332,6857,0},{2327,6853,0},{2325,6857,0},{2325,6860,0}, {2327,6862,0},{2323,6862,0},{2323,6860,0},{2318,6862,0},{2318,6865,0},{2315,6865,0}, {2315,6867,0},{2300,6890,0},{2293,6905,0},{2287,6915,0},{2283,6922,0},{2282,6928,0}, {2283,6933,0},{2278,6948,0},{2278,6957,0},{2275,6958,0},{2275,6968,0},{2275,6970,0}, {2277,6975,0},{2280,6975,0},{2283,6980,0},{2288,6997,0},{2292,7013,0},{2293,7013,0}, {2295,7012,0},{2298,7013,0},{2297,7013,0},{2295,7017,0},{2295,7022,0},{2297,7023,0}, {2300,7023,0},{2295,7027,0},{2293,7035,0},{2293,7038,0},{2302,7042,0},{2305,7040,0}, {2308,7040,0},{2313,7048,0},{2310,7050,0},{2305,7053,0},{2298,7052,0},{2297,7048,0}, {2297,7043,0},{2293,7042,0},{2288,7037,0},{2282,7032,0},{2277,7032,0},{2273,7027,0}, {2270,7027,0},{2255,7017,0},{2255,7003,0},{2255,7002,0},{2253,6995,0},{2252,6993,0}, {2250,6992,0},{2247,6988,0},{2247,6983,0},{2242,6980,0},{2247,6973,0},{2240,6970,0}, {2240,6967,0},{2237,6965,0},{2238,6962,0},{2235,6962,0},{2237,6958,0},{2237,6955,0}, {2245,6955,0},{2243,6953,0},{2245,6952,0},{2243,6950,0},{2238,6953,0},{2233,6948,0}, {2232,6940,0},{2233,6935,0},{2228,6932,0},{2227,6923,0},{2227,6922,0},{2232,6917,0}, {2237,6918,0},{2240,6920,0},{2242,6920,0},{2240,6915,0},{2240,6908,0},{2240,6907,0}, {2242,6905,0},{2243,6905,0},{2245,6908,0},{2248,6908,0},{2248,6907,0},{2245,6900,0}, {2240,6898,0},{2233,6895,0},{2230,6895,0},{2220,6900,0},{2197,6922,0},{2185,6937,0}, {2187,6938,0},{2183,6938,0},{2178,6942,0},{2173,6948,0},{2165,6957,0},{2160,6965,0}, {2150,6975,0},{2147,6982,0},{2145,6980,0},{2132,6990,0},{2125,6997,0},{2118,7002,0}, {2107,7015,0},{2092,7033,0},{2090,7040,0},{2085,7047,0},{2078,7058,0},{2075,7068,0}, {2072,7073,0},{2072,7078,0},{2070,7083,0},{2070,7097,0},{2072,7100,0},{2073,7102,0}, {2077,7113,0},{2083,7132,0},{2088,7147,0},{2093,7148,0},{2098,7157,0},{2095,7155,0}, {2102,7170,0},{2103,7178,0},{2107,7182,0},{2113,7192,0},{2113,7200,0},{2120,7212,0}, {2125,7208,0},{2127,7210,0},{2132,7210,0},{2147,7225,0},{2158,7228,0},{2163,7230,0}, {2168,7227,0},{2170,7222,0},{2173,7222,0},{2177,7218,0},{2178,7217,0},{2177,7212,0}, {2178,7207,0},{2177,7202,0},{2180,7202,0},{2178,7200,0},{2185,7200,0},{2187,7200,0}, {2183,7208,0},{2183,7210,0},{2185,7208,0},{2187,7208,0},{2188,7205,0},{2190,7207,0}, {2188,7210,0},{2185,7213,0},{2183,7215,0},{2185,7217,0},{2188,7217,0},{2192,7215,0}, {2193,7215,0},{2192,7212,0},{2193,7205,0},{2195,7203,0},{2195,7210,0},{2197,7208,0}, {2198,7213,0},{2202,7210,0},{2197,7217,0},{2200,7218,0},{2198,7222,0},{2200,7222,0}, {2202,7227,0},{2205,7227,0},{2207,7230,0},{2215,7233,0},{2223,7230,0},{2223,7223,0}, {2228,7223,0},{2225,7222,0},{2225,7218,0},{2228,7215,0},{2230,7227,0},{2228,7227,0}, {2227,7227,0},{2225,7230,0},{2227,7233,0},{2228,7233,0},{2237,7238,0},{2235,7242,0}, {2230,7238,0},{2225,7238,0},{2223,7242,0},{2227,7245,0},{2225,7247,0},{2223,7245,0}, {2223,7247,0},{2223,7250,0},{2228,7258,0},{2227,7262,0},{2227,7268,0},{2223,7275,0}, {2227,7282,0},{2227,7290,0},{2228,7290,0},{2227,7292,0},{2222,7292,0},{2222,7288,0}, {2223,7282,0},{2222,7278,0},{2217,7275,0},{2218,7272,0},{2218,7268,0},{2222,7263,0}, {2220,7258,0},{2213,7253,0},{2198,7250,0},{2192,7253,0},{2190,7255,0},{2197,7262,0}, {2197,7268,0},{2200,7272,0},{2198,7273,0},{2198,7272,0},{2193,7268,0},{2193,7263,0}, {2185,7257,0},{2177,7255,0},{2170,7253,0},{2167,7253,0},{2168,7262,0},{2167,7268,0}, {2168,7275,0},{2167,7278,0},{2168,7285,0},{2168,7293,0},{2177,7312,0},{2175,7313,0}, {2173,7312,0},{2172,7307,0},{2165,7290,0},{2163,7282,0},{2157,7277,0},{2155,7272,0}, {2148,7263,0},{2142,7258,0},{2143,7265,0},{2147,7272,0},{2147,7275,0},{2145,7275,0}, {2145,7270,0},{2142,7265,0},{2138,7257,0},{2137,7257,0},{2137,7265,0},{2133,7258,0}, {2125,7262,0},{2127,7263,0},{2125,7265,0},{2120,7273,0},{2113,7262,0},{2110,7262,0}, {2108,7263,0},{2110,7267,0},{2115,7267,0},{2117,7272,0},{2115,7273,0},{2112,7270,0}, {2107,7270,0},{2108,7273,0},{2112,7273,0},{2112,7278,0},{2113,7280,0},{2110,7283,0}, {2107,7283,0},{2107,7285,0},{2103,7285,0},{2103,7277,0},{2100,7278,0},{2100,7282,0}, {2097,7283,0},{2098,7288,0},{2097,7290,0},{2095,7288,0},{2093,7283,0},{2090,7287,0}, {2088,7285,0},{2085,7285,0},{2083,7283,0},{2087,7290,0},{2083,7288,0},{2078,7290,0}, {2082,7292,0},{2078,7292,0},{2077,7295,0},{2073,7290,0},{2072,7292,0},{2063,7290,0}, {2062,7288,0},{2050,7288,0},{2045,7283,0},{2037,7282,0},{2035,7278,0},{2030,7275,0}, {2022,7273,0},{2022,7275,0},{2010,7272,0},{2007,7270,0},{1998,7270,0},{1993,7267,0}, {1988,7267,0},{1983,7265,0},{1980,7268,0},{1975,7268,0},{1978,7273,0},{1975,7273,0}, {1975,7272,0},{1970,7273,0},{1970,7270,0},{1972,7268,0},{1962,7272,0},{1960,7270,0}, {1952,7273,0},{1952,7275,0},{1953,7273,0},{1958,7273,0},{1957,7277,0},{1952,7280,0}, {1953,7283,0},{1953,7288,0},{1947,7273,0},{1937,7275,0},{1933,7280,0},{1933,7283,0}, {1933,7288,0},{1930,7292,0},{1932,7297,0},{1928,7300,0},{1925,7303,0},{1923,7302,0}, {1922,7305,0},{1920,7303,0},{1922,7302,0},{1928,7297,0},{1928,7290,0},{1932,7285,0}, {1930,7280,0},{1932,7278,0},{1922,7277,0},{1920,7278,0},{1925,7282,0},{1925,7283,0}, {1917,7278,0},{1915,7278,0},{1917,7282,0},{1907,7282,0},{1905,7283,0},{1903,7280,0}, {1900,7280,0},{1895,7277,0},{1895,7280,0},{1895,7282,0},{1890,7280,0},{1890,7282,0}, {1895,7283,0},{1902,7288,0},{1898,7288,0},{1902,7292,0},{1905,7295,0},{1907,7293,0}, {1912,7293,0},{1917,7297,0},{1908,7297,0},{1907,7300,0},{1900,7298,0},{1902,7305,0}, {1900,7305,0},{1897,7295,0},{1895,7298,0},{1893,7297,0},{1895,7293,0},{1892,7293,0}, {1890,7293,0},{1892,7290,0},{1888,7290,0},{1885,7292,0},{1887,7298,0},{1885,7297,0}, {1883,7298,0},{1882,7302,0},{1880,7300,0},{1873,7298,0},{1875,7297,0},{1878,7297,0}, {1882,7293,0},{1878,7290,0},{1880,7288,0},{1880,7285,0},{1867,7285,0},{1863,7288,0}, {1855,7292,0},{1855,7297,0},{1848,7300,0},{1847,7302,0},{1845,7300,0},{1847,7298,0}, {1852,7297,0},{1853,7293,0},{1852,7290,0},{1847,7288,0},{1842,7290,0},{1838,7292,0}, {1835,7292,0},{1833,7295,0},{1833,7297,0},{1830,7297,0},{1828,7298,0},{1827,7303,0}, {1828,7305,0},{1827,7307,0},{1822,7308,0},{1818,7307,0},{1818,7305,0},{1822,7305,0}, {1825,7300,0},{1823,7297,0},{1827,7297,0},{1828,7293,0},{1823,7292,0},{1822,7295,0}, {1818,7297,0},{1812,7297,0},{1808,7298,0},{1807,7298,0},{1803,7300,0},{1805,7305,0}, {1805,7303,0},{1802,7300,0},{1798,7302,0},{1798,7303,0},{1797,7302,0},{1795,7302,0}, {1792,7305,0},{1790,7305,0},{1777,7312,0},{1772,7312,0},{1768,7310,0},{1765,7312,0}, {1763,7312,0},{1760,7313,0},{1758,7320,0},{1757,7317,0},{1757,7313,0},{1753,7313,0}, {1747,7318,0},{1743,7318,0},{1740,7317,0},{1738,7317,0},{1737,7320,0},{1728,7325,0}, {1730,7318,0},{1722,7323,0},{1720,7323,0},{1717,7325,0},{1708,7327,0},{1703,7327,0}, {1703,7325,0},{1700,7325,0},{1698,7328,0},{1690,7327,0},{1690,7328,0},{1687,7327,0}, {1682,7328,0},{1680,7332,0},{1675,7328,0},{1672,7330,0},{1668,7333,0},{1665,7332,0}, {1662,7332,0},{1663,7337,0},{1660,7338,0},{1662,7335,0},{1660,7333,0},{1660,7332,0}, {1657,7333,0},{1655,7337,0},{1653,7335,0},{1652,7338,0},{1652,7333,0},{1655,7332,0}, {1655,7330,0},{1652,7330,0},{1642,7335,0},{1640,7338,0},{1637,7335,0},{1635,7338,0}, {1622,7342,0},{1622,7343,0},{1618,7343,0},{1612,7345,0},{1617,7345,0},{1618,7348,0}, {1615,7347,0},{1608,7347,0},{1607,7345,0},{1602,7348,0},{1602,7352,0},{1600,7348,0}, {1598,7348,0},{1588,7360,0},{1578,7365,0},{1573,7365,0},{1572,7367,0},{1572,7370,0}, {1570,7368,0},{1562,7372,0},{1565,7378,0},{1565,7383,0},{1565,7378,0},{1560,7373,0}, {1550,7377,0},{1550,7380,0},{1553,7387,0},{1550,7387,0},{1550,7382,0},{1545,7378,0}, {1542,7392,0},{1540,7395,0},{1537,7397,0},{1540,7392,0},{1540,7378,0},{1537,7382,0}, {1537,7388,0},{1530,7390,0},{1527,7390,0},{1515,7395,0},{1515,7397,0},{1512,7392,0}, {1508,7392,0},{1507,7395,0},{1502,7400,0},{1500,7402,0},{1497,7403,0},{1492,7403,0}, {1490,7408,0},{1485,7412,0},{1485,7413,0},{1490,7422,0},{1488,7420,0},{1487,7423,0}, {1487,7418,0},{1483,7417,0},{1483,7415,0},{1483,7412,0},{1480,7412,0},{1480,7408,0}, {1477,7413,0},{1475,7415,0},{1475,7417,0},{1472,7420,0},{1473,7422,0},{1472,7425,0}, {1468,7427,0},{1462,7427,0},{1460,7428,0},{1462,7432,0},{1460,7433,0},{1458,7428,0}, {1452,7430,0},{1452,7433,0},{1455,7433,0},{1457,7435,0},{1455,7435,0},{1453,7438,0}, {1453,7437,0},{1452,7438,0},{1450,7440,0},{1448,7442,0},{1447,7440,0},{1445,7440,0}, {1447,7438,0},{1448,7438,0},{1453,7437,0},{1452,7435,0},{1442,7438,0},{1442,7440,0}, {1430,7442,0},{1425,7452,0},{1425,7443,0},{1418,7447,0},{1405,7450,0},{1402,7450,0}, {1398,7452,0},{1393,7457,0},{1383,7462,0},{1368,7463,0},{1367,7465,0},{1370,7468,0}, {1370,7470,0},{1368,7468,0},{1365,7470,0},{1365,7473,0},{1363,7470,0},{1365,7468,0}, {1362,7467,0},{1363,7467,0},{1352,7468,0},{1347,7470,0},{1347,7472,0},{1343,7470,0}, {1342,7472,0},{1342,7470,0},{1342,7468,0},{1347,7468,0},{1338,7468,0},{1335,7472,0}, {1322,7473,0},{1310,7477,0},{1308,7478,0},{1302,7477,0},{1287,7482,0},{1285,7485,0}, {1287,7492,0},{1287,7493,0},{1285,7488,0},{1282,7487,0},{1283,7482,0},{1278,7485,0}, {1275,7485,0},{1252,7497,0},{1233,7507,0},{1222,7510,0},{1225,7513,0},{1220,7513,0}, {1210,7518,0},{1200,7520,0},{1202,7522,0},{1200,7523,0},{1197,7528,0},{1198,7527,0}, {1202,7527,0},{1203,7530,0},{1202,7532,0},{1200,7533,0},{1200,7527,0},{1198,7528,0}, {1195,7532,0},{1195,7535,0},{1197,7540,0},{1193,7538,0},{1192,7540,0},{1193,7530,0}, {1192,7532,0},{1190,7532,0},{1185,7535,0},{1185,7538,0},{1170,7553,0},{1147,7562,0}, {1145,7568,0},{1137,7572,0},{1137,7573,0},{1133,7573,0},{1108,7583,0},{1093,7588,0}, {1080,7590,0},{1080,7593,0},{1077,7592,0},{1075,7592,0},{1055,7602,0},{1050,7605,0}, {1042,7608,0},{1037,7612,0},{1018,7617,0},{1020,7620,0},{1027,7620,0},{1023,7622,0}, {1023,7623,0},{1020,7623,0},{1017,7618,0},{1008,7618,0},{998,7623,0},{1007,7623,0}, {1012,7620,0},{1013,7622,0},{1012,7622,0},{1010,7623,0},{1012,7623,0},{1008,7625,0}, {1007,7625,0},{1003,7627,0},{998,7627,0},{997,7628,0},{995,7630,0},{997,7632,0}, {992,7637,0},{982,7640,0},{978,7638,0},{973,7640,0},{970,7638,0},{970,7640,0}, {968,7642,0},{967,7642,0},{970,7637,0},{982,7637,0},{987,7633,0},{985,7632,0}, {982,7633,0},{973,7635,0},{970,7633,0},{987,7632,0},{987,7630,0},{983,7628,0}, {987,7628,0},{988,7628,0},{987,7627,0},{988,7627,0},{992,7627,0},{992,7630,0}, {997,7625,0},{995,7623,0},{975,7628,0},{968,7628,0},{948,7632,0},{928,7638,0}, {915,7645,0},{925,7642,0},{925,7643,0},{915,7647,0},{917,7647,0},{917,7648,0}, {912,7648,0},{913,7647,0},{912,7645,0},{900,7652,0},{893,7653,0},{900,7657,0}, {895,7657,0},{900,7658,0},{900,7665,0},{900,7667,0},{898,7663,0},{897,7667,0}, {897,7660,0},{892,7657,0},{892,7662,0},{890,7658,0},{893,7655,0},{892,7653,0}, {890,7655,0},{880,7667,0},{840,7697,0},{818,7723,0},{815,7728,0},{812,7730,0}, {807,7753,0},{808,7757,0},{812,7757,0},{813,7758,0},{818,7778,0},{822,7780,0}, {825,7785,0},{833,7798,0},{837,7807,0},{840,7807,0},{848,7813,0},{862,7813,0}, {865,7812,0},{865,7813,0},{873,7817,0},{875,7820,0},{877,7822,0},{878,7820,0}, {877,7820,0},{877,7817,0},{887,7817,0},{890,7820,0},{897,7823,0},{910,7842,0}, {915,7865,0},{918,7867,0},{918,7873,0},{923,7882,0},{925,7888,0},{925,7892,0}, {927,7897,0},{925,7912,0},{927,7917,0},{925,7923,0},{925,7928,0},{923,7933,0}, {917,7940,0},{915,7945,0},{918,7943,0},{925,7933,0},{932,7935,0},{932,7930,0}, {928,7927,0},{928,7922,0},{928,7910,0},{932,7903,0},{940,7895,0},{948,7890,0}, {950,7893,0},{960,7895,0},{963,7897,0},{967,7898,0},{973,7903,0},{983,7912,0}, {992,7917,0},{1002,7925,0},{1003,7928,0},{1008,7923,0},{1018,7923,0},{1018,7927,0}, {1022,7927,0},{1028,7932,0},{1028,7937,0},{1032,7940,0},{1032,7952,0},{1032,7953,0}, {1033,7953,0},{1033,7957,0},{1033,7960,0},{1032,7960,0},{1032,7955,0},{1030,7955,0}, {1027,7973,0},{1027,7977,0},{1030,7975,0},{1028,7972,0},{1030,7968,0},{1030,7962,0}, {1032,7963,0},{1030,7970,0},{1032,7973,0},{1028,7978,0},{1027,7978,0},{1028,7985,0}, {1038,7987,0},{1082,7983,0},{1117,7985,0},{1123,7983,0},{1135,7983,0},{1137,7977,0}, {1135,7975,0},{1130,7970,0},{1130,7967,0},{1138,7977,0},{1137,7982,0},{1143,7982,0}, {1145,7978,0},{1143,7980,0},{1143,7978,0},{1155,7975,0},{1177,7978,0},{1180,7980,0}, {1183,7980,0},{1197,7985,0},{1203,7987,0},{1223,8000,0},{1220,7995,0},{1222,7995,0}, {1223,7998,0},{1228,8003,0},{1232,8005,0},{1235,8010,0},{1248,8017,0},{1278,8027,0}, {1295,8027,0},{1307,8028,0},{1310,8032,0},{1313,8030,0},{1320,8033,0},{1322,8033,0}, {1322,8032,0},{1325,8032,0},{1325,8033,0},{1333,8035,0},{1345,8033,0},{1338,8033,0}, {1342,8032,0},{1343,8027,0},{1347,8027,0},{1348,8023,0},{1348,8017,0},{1350,8012,0}, {1362,8005,0},{1362,8007,0},{1365,8007,0},{1365,8008,0},{1368,8010,0},{1367,8012,0}, {1362,8012,0},{1362,8013,0},{1365,8015,0},{1373,8015,0},{1367,8018,0},{1365,8018,0}, {1362,8022,0},{1352,8028,0},{1345,8030,0},{1343,8032,0},{1345,8032,0},{1368,8023,0}, {1373,8023,0},{1377,8025,0},{1382,8025,0},{1402,8015,0},{1415,8013,0},{1423,8013,0}, {1420,8008,0},{1420,8003,0},{1425,8008,0},{1427,8015,0},{1435,8018,0},{1448,8018,0}, {1457,8020,0},{1457,8015,0},{1458,8018,0},{1460,8018,0},{1467,8015,0},{1470,8010,0}, {1478,8010,0},{1483,8008,0},{1508,8005,0},{1518,8007,0},{1522,8008,0},{1532,8008,0}, {1540,8013,0},{1548,8020,0},{1550,8020,0},{1570,8028,0},{1577,8037,0},{1585,8052,0}, {1588,8055,0},{1587,8057,0},{1588,8060,0},{1588,8068,0},{1588,8065,0},{1590,8067,0}, {1588,8078,0},{1583,8080,0},{1573,8080,0},{1572,8082,0},{1583,8085,0},{1592,8090,0}, {1602,8088,0},{1600,8088,0},{1602,8088,0},{1603,8090,0},{1593,8092,0},{1585,8090,0}, {1578,8102,0},{1585,8100,0},{1597,8113,0},{1597,8115,0},{1605,8115,0},{1618,8120,0}, {1628,8127,0},{1632,8125,0},{1637,8132,0},{1637,8135,0},{1637,8138,0},{1638,8142,0}, {1637,8143,0},{1633,8142,0},{1635,8147,0},{1635,8155,0},{1637,8153,0},{1637,8157,0}, {1635,8157,0},{1633,8165,0},{1630,8170,0},{1637,8183,0},{1638,8193,0},{1640,8195,0}, {1642,8200,0},{1645,8203,0},{1645,8207,0},{1657,8230,0},{1662,8228,0},{1660,8230,0}, {1662,8232,0},{1680,8237,0},{1687,8237,0},{1695,8235,0},{1693,8237,0},{1685,8237,0}, {1682,8237,0},{1685,8235,0},{1687,8228,0},{1688,8225,0},{1692,8225,0},{1693,8227,0}, {1705,8232,0},{1720,8248,0},{1725,8253,0},{1737,8277,0},{1740,8285,0},{1742,8288,0}, {1742,8290,0},{1745,8298,0},{1750,8302,0},{1755,8317,0},{1760,8323,0},{1763,8322,0}, {1763,8325,0},{1767,8330,0},{1770,8325,0},{1772,8323,0},{1772,8328,0},{1768,8330,0}, {1772,8335,0},{1788,8345,0},{1792,8345,0},{1790,8347,0},{1793,8352,0},{1802,8358,0}, {1815,8378,0},{1820,8390,0},{1820,8393,0},{1822,8393,0},{1823,8402,0},{1830,8412,0}, {1837,8413,0},{1855,8435,0},{1850,8428,0},{1850,8423,0},{1852,8425,0},{1852,8427,0}, {1853,8428,0},{1865,8443,0},{1868,8445,0},{1877,8453,0},{1888,8462,0},{1898,8470,0}, {1910,8478,0},{1910,8475,0},{1907,8473,0},{1910,8472,0},{1915,8473,0},{1913,8477,0}, {1912,8477,0},{1912,8478,0},{1915,8482,0},{1922,8487,0},{1933,8502,0},{1937,8507,0}, {1942,8510,0},{1947,8517,0},{1958,8533,0},{1968,8558,0},{1957,8532,0},{1960,8528,0}, {1960,8532,0},{1962,8532,0},{1958,8533,0},{1962,8538,0},{1963,8538,0},{1965,8540,0}, {1967,8540,0},{1968,8538,0},{1967,8538,0},{1967,8535,0},{1963,8530,0},{1965,8525,0}, {1963,8523,0},{1960,8525,0},{1958,8522,0},{1958,8520,0},{1955,8523,0},{1955,8518,0}, {1953,8520,0},{1950,8520,0},{1950,8517,0},{1947,8513,0},{1952,8512,0},{1952,8510,0}, {1953,8510,0},{1955,8513,0},{1955,8515,0},{1960,8513,0},{1968,8520,0},{1972,8520,0}, {1977,8525,0},{1978,8532,0},{1983,8535,0},{1990,8547,0},{1988,8557,0},{1983,8558,0}, {1980,8557,0},{1975,8555,0},{1973,8557,0},{1972,8552,0},{1973,8552,0},{1970,8542,0}, {1968,8542,0},{1968,8545,0},{1967,8545,0},{1968,8553,0},{1973,8562,0},{1972,8563,0}, {1972,8562,0},{1977,8573,0},{1983,8602,0},{1985,8605,0},{1985,8610,0},{1990,8627,0}, {1995,8632,0},{1997,8638,0},{1998,8632,0},{2002,8630,0},{2002,8623,0},{2007,8617,0}, {2008,8615,0},{2013,8615,0},{2008,8618,0},{2005,8623,0},{2007,8628,0},{1998,8637,0}, {1998,8642,0},{2000,8642,0},{2000,8640,0},{2002,8640,0},{2010,8648,0},{2010,8647,0}, {2018,8648,0},{2028,8670,0},{2032,8675,0},{2028,8670,0},{2030,8670,0},{2032,8675,0}, {2038,8680,0},{2043,8680,0},{2038,8678,0},{2040,8677,0},{2037,8672,0},{2038,8672,0}, {2045,8673,0},{2048,8675,0},{2070,8705,0},{2067,8703,0},{2067,8700,0},{2068,8698,0}, {2070,8693,0},{2072,8695,0},{2070,8700,0},{2075,8698,0},{2075,8693,0},{2077,8688,0}, {2078,8690,0},{2078,8697,0},{2080,8697,0},{2095,8690,0},{2098,8688,0},{2115,8683,0}, {2120,8683,0},{2127,8688,0},{2138,8697,0},{2148,8707,0},{2155,8722,0},{2157,8737,0}, {2160,8745,0},{2165,8763,0},{2165,8767,0},{2170,8780,0},{2177,8788,0},{2180,8790,0}, {2185,8798,0},{2197,8803,0},{2202,8805,0},{2202,8808,0},{2208,8817,0},{2212,8817,0}, {2217,8815,0},{2220,8802,0},{2222,8798,0},{2227,8795,0},{2240,8792,0},{2242,8790,0}, {2242,8793,0},{2230,8797,0},{2223,8800,0},{2222,8803,0},{2223,8808,0},{2222,8808,0}, {2218,8817,0},{2215,8820,0},{2207,8822,0},{2198,8815,0},{2195,8815,0},{2192,8817,0}, {2187,8815,0},{2180,8820,0},{2172,8820,0},{2168,8818,0},{2167,8818,0},{2162,8820,0}, {2160,8820,0},{2162,8822,0},{2155,8825,0},{2157,8830,0},{2160,8828,0},{2167,8830,0}, {2178,8825,0},{2180,8827,0},{2177,8830,0},{2160,8832,0},{2162,8835,0},{2167,8835,0}, {2170,8832,0},{2172,8833,0},{2168,8835,0},{2170,8838,0},{2163,8838,0},{2158,8838,0}, {2162,8845,0},{2167,8847,0},{2173,8845,0},{2180,8847,0},{2180,8850,0},{2185,8848,0}, {2188,8847,0},{2192,8850,0},{2195,8850,0},{2192,8852,0},{2187,8850,0},{2182,8853,0}, {2178,8853,0},{2175,8850,0},{2167,8853,0},{2160,8852,0},{2158,8850,0},{2155,8848,0}, {2152,8850,0},{2153,8855,0},{2155,8853,0},{2157,8853,0},{2155,8855,0},{2157,8857,0}, {2162,8857,0},{2162,8860,0},{2170,8858,0},{2170,8862,0},{2175,8863,0},{2178,8862,0}, {2177,8857,0},{2182,8855,0},{2193,8860,0},{2198,8860,0},{2203,8863,0},{2210,8862,0}, {2220,8867,0},{2220,8868,0},{2217,8868,0},{2215,8865,0},{2210,8863,0},{2202,8867,0}, {2197,8862,0},{2193,8863,0},{2193,8868,0},{2202,8873,0},{2208,8868,0},{2212,8873,0}, {2213,8877,0},{2207,8872,0},{2203,8875,0},{2200,8877,0},{2195,8872,0},{2188,8872,0}, {2185,8870,0},{2170,8868,0},{2162,8872,0},{2157,8872,0},{2155,8873,0},{2157,8878,0}, {2158,8880,0},{2162,8877,0},{2165,8878,0},{2167,8880,0},{2168,8880,0},{2165,8882,0}, {2163,8880,0},{2162,8882,0},{2163,8885,0},{2168,8883,0},{2177,8887,0},{2170,8887,0}, {2165,8890,0},{2163,8893,0},{2160,8900,0},{2163,8903,0},{2160,8905,0},{2162,8908,0}, {2167,8908,0},{2178,8902,0},{2187,8902,0},{2192,8893,0},{2195,8890,0},{2198,8892,0}, {2198,8893,0},{2193,8895,0},{2190,8900,0},{2190,8902,0},{2193,8902,0},{2192,8903,0}, {2520,6162,128},{2520,6170,0},{2517,6175,0},{2518,6178,0},{2517,6178,0}, {2510,6175,0},{2508,6173,0},{2505,6172,0},{2503,6177,0},{2505,6180,0},{2503,6185,0}, {2507,6185,0},{2507,6187,0},{2510,6187,0},{2512,6193,0},{2510,6210,0},{2515,6207,0}, {2518,6208,0},{2520,6210,0},{2522,6217,0},{2522,6225,0},{2520,6230,0},{2517,6232,0}, {2515,6232,0},{2512,6230,0},{2512,6228,0},{2510,6228,0},{2510,6238,0},{2512,6238,0}, {2513,6233,0},{2517,6235,0},{2520,6242,0},{2522,6248,0},{2522,6247,0},{2525,6248,0}, {2527,6255,0},{2525,6275,0},{2522,6300,0},{2523,6308,0},{2525,6312,0},{2525,6315,0}, {2522,6330,0},{2522,6342,0},{2518,6350,0},{2522,6352,0},{2525,6348,0},{2528,6347,0}, {2528,6350,0},{2532,6352,0},{2537,6357,0},{2538,6373,0},{2533,6393,0},{2533,6407,0}, {2537,6407,0},{2542,6405,0},{2538,6402,0},{2542,6400,0},{2542,6398,0},{2545,6403,0}, {2543,6407,0},{2545,6412,0},{2545,6415,0},{2542,6413,0},{2543,6410,0},{2542,6408,0}, {2537,6412,0},{2535,6410,0},{2533,6410,0},{2532,6425,0},{2530,6427,0},{2527,6438,0}, {2523,6443,0},{2523,6448,0},{2527,6450,0},{2527,6455,0},{2523,6462,0},{2522,6463,0}, {2517,6460,0},{2517,6467,0},{2518,6472,0},{2522,6467,0},{2528,6468,0},{2532,6475,0}, {2532,6507,0},{2528,6513,0},{2530,6517,0},{2532,6520,0},{2535,6520,0},{2537,6525,0}, {2537,6528,0},{2538,6532,0},{2538,6535,0},{2538,6540,0},{2537,6538,0},{2538,6545,0}, {2535,6567,0},{2537,6570,0},{2538,6578,0},{2542,6585,0},{2542,6600,0},{2545,6608,0}, {2545,6617,0},{2547,6627,0},{2545,6640,0},{2540,6650,0},{2540,6652,0},{2542,6650,0}, {2545,6647,0},{2548,6648,0},{2548,6642,0},{2552,6640,0},{2553,6635,0},{2555,6633,0}, {2555,6627,0},{2548,6622,0},{2547,6610,0},{2550,6613,0},{2557,6617,0},{2560,6620,0}, {2562,6627,0},{2560,6632,0},{2562,6637,0},{2558,6638,0},{2560,6643,0},{2552,6650,0}, {2552,6653,0},{2545,6655,0},{2542,6658,0},{2538,6658,0},{2538,6655,0},{2537,6655,0}, {2525,6670,0},{2520,6673,0},{2515,6673,0},{2512,6670,0},{2495,6668,0},{2493,6667,0}, {2490,6668,0},{2488,6670,0},{2488,6667,0},{2483,6665,0},{2485,6675,0},{2483,6682,0}, {2485,6685,0},{2480,6695,0},{2483,6695,0},{2483,6697,0},{2480,6702,0},{2477,6707,0}, {2477,6708,0},{2480,6708,0},{2478,6712,0},{2480,6715,0},{2475,6718,0},{2477,6723,0}, {2475,6725,0},{2473,6725,0},{2472,6720,0},{2465,6715,0},{2462,6715,0},{2460,6722,0}, {2458,6725,0},{2458,6718,0},{2453,6720,0},{2453,6723,0},{2450,6722,0},{2445,6725,0}, {2442,6725,0},{2443,6728,0},{2435,6728,0},{2435,6737,0},{2433,6730,0},{2428,6728,0}, {2425,6730,0},{2422,6730,0},{2413,6733,0},{2408,6733,0},{2407,6738,0},{2407,6747,0}, {2405,6750,0},{2407,6753,0},{2403,6750,0},{2403,6747,0},{2398,6745,0},{2397,6747,0}, {2397,6750,0},{2392,6750,0},{2393,6753,0},{2390,6752,0},{2390,6748,0},{2388,6748,0}, {2387,6755,0},{2388,6753,0},{2388,6752,0},{2390,6753,0},{2387,6757,0},{2388,6758,0}, {2385,6758,0},{2385,6762,0},{2388,6763,0},{2392,6763,0},{2393,6765,0},{2388,6765,0}, {2380,6763,0},{2378,6772,0},{2380,6775,0},{2383,6772,0},{2382,6780,0},{2382,6783,0}, {2388,6785,0},{2392,6785,0},{2390,6787,0},{2388,6785,0},{2385,6787,0},{2387,6788,0}, {2387,6790,0},{2383,6790,0},{2380,6795,0},{2380,6800,0},{2377,6802,0},{2383,6805,0}, {2393,6802,0},{2392,6807,0},{2388,6805,0},{2382,6810,0},{2380,6807,0},{2377,6808,0}, {2372,6805,0},{2370,6810,0},{2373,6810,0},{2372,6812,0},{2370,6812,0},{2368,6815,0}, {2372,6817,0},{2375,6815,0},{2383,6817,0},{2388,6815,0},{2390,6815,0},{2387,6817,0}, {2383,6818,0},{2375,6817,0},{2375,6818,0},{2377,6820,0},{2997,4853,128}, {2995,4860,0},{2997,4865,0},{3000,4867,0},{3003,4863,0},{3005,4865,0},{3003,4870,0}, {3003,4888,0},{3003,4892,0},{3017,4895,0},{3025,4892,0},{3030,4887,0},{3032,4887,0}, {3033,4888,0},{3035,4887,0},{3042,4892,0},{3042,4903,0},{3043,4903,0},{3047,4902,0}, {3047,4895,0},{3048,4895,0},{3052,4898,0},{3052,4903,0},{3050,4907,0},{3052,4910,0}, {3050,4913,0},{3050,4917,0},{3047,4917,0},{3050,4920,0},{3045,4923,0},{3045,4927,0}, {3043,4927,0},{3038,4922,0},{3035,4922,0},{3040,4907,0},{3038,4900,0},{3040,4895,0}, {3038,4892,0},{3035,4900,0},{3030,4900,0},{3028,4905,0},{3025,4908,0},{3025,4913,0}, {3022,4917,0},{3023,4918,0},{3027,4922,0},{3022,4922,0},{3020,4923,0},{3015,4923,0}, {3015,4930,0},{3017,4935,0},{3017,4938,0},{3017,4942,0},{3015,4948,0},{3005,4950,0}, {3000,4957,0},{3020,4993,0},{3022,5000,0},{3020,5005,0},{3015,5010,0},{3012,5013,0}, {3010,5012,0},{3005,5015,0},{3000,5013,0},{2998,5015,0},{2998,5013,0},{2995,5013,0}, {2990,5018,0},{2987,5023,0},{2965,5040,0},{2962,5047,0},{2947,5060,0},{2950,5062,0}, {2947,5063,0},{2940,5067,0},{2932,5067,0},{2928,5068,0},{2925,5068,0},{2925,5065,0}, {2920,5063,0},{2913,5063,0},{2912,5068,0},{2913,5072,0},{2913,5083,0},{2910,5085,0}, {2910,5088,0},{2907,5090,0},{2907,5093,0},{2902,5093,0},{2897,5090,0},{2895,5090,0}, {2900,5083,0},{2897,5080,0},{2893,5080,0},{2883,5088,0},{2880,5100,0},{2873,5105,0}, {2850,5108,0},{2838,5115,0},{2823,5128,0},{2820,5128,0},{2813,5127,0},{2807,5132,0}, {2802,5145,0},{2793,5147,0},{2787,5158,0},{2785,5158,0},{2783,5172,0},{2785,5180,0}, {2783,5188,0},{2783,5202,0},{2768,5222,0},{2765,5238,0},{2765,5243,0},{2762,5250,0}, {2755,5257,0},{2747,5260,0},{2745,5267,0},{2740,5267,0},{2740,5257,0},{2738,5257,0}, {2735,5260,0},{2728,5275,0},{2722,5285,0},{2720,5290,0},{2717,5293,0},{2713,5298,0}, {2710,5303,0},{2708,5313,0},{2700,5333,0},{2700,5338,0},{2697,5343,0},{2695,5347,0}, {2688,5347,0},{2685,5348,0},{2680,5357,0},{2678,5358,0},{2673,5368,0},{2670,5372,0}, {2670,5393,0},{2673,5398,0},{2675,5402,0},{2670,5413,0},{2670,5423,0},{2672,5428,0}, {2670,5433,0},{2660,5440,0},{2658,5443,0},{2658,5455,0},{2657,5458,0},{2652,5460,0}, {2650,5463,0},{2650,5468,0},{2650,5480,0},{2658,5495,0},{2662,5498,0},{2665,5505,0}, {2670,5510,0},{2672,5520,0},{2678,5525,0},{2678,5535,0},{2677,5537,0},{2675,5540,0}, {2677,5548,0},{2682,5557,0},{2690,5558,0},{2690,5555,0},{2698,5565,0},{2700,5570,0}, {2698,5575,0},{2702,5580,0},{2702,5595,0},{2707,5597,0},{2712,5608,0},{2715,5613,0}, {2720,5635,0},{2717,5642,0},{2717,5652,0},{2715,5655,0},{2715,5670,0},{2715,5673,0}, {2713,5672,0},{2712,5677,0},{2713,5682,0},{2708,5685,0},{2707,5688,0},{2703,5683,0}, {2703,5687,0},{2700,5687,0},{2702,5690,0},{2698,5692,0},{2700,5697,0},{2697,5697,0}, {2695,5695,0},{2695,5693,0},{2685,5702,0},{2667,5708,0},{2657,5710,0},{2645,5707,0}, {2640,5708,0},{2635,5713,0},{2627,5713,0},{2617,5722,0},{2612,5717,0},{2607,5717,0}, {2600,5720,0},{2598,5723,0},{2592,5727,0},{2578,5732,0},{2577,5740,0},{2575,5743,0}, {2577,5745,0},{2575,5745,0},{2573,5752,0},{2575,5775,0},{2570,5778,0},{2563,5778,0}, {2568,5787,0},{2570,5795,0},{2568,5798,0},{2563,5800,0},{2557,5805,0},{2553,5815,0}, {2555,5823,0},{2557,5823,0},{2557,5827,0},{2558,5830,0},{2558,5832,0},{2560,5835,0}, {2562,5842,0},{2558,5840,0},{2558,5847,0},{2560,5855,0},{2558,5860,0},{2557,5870,0}, {2555,5872,0},{2557,5882,0},{2553,5885,0},{2552,5892,0},{2540,5900,0},{2540,5905,0}, {2540,5913,0},{2548,5945,0},{2547,5950,0},{2542,5957,0},{2538,5962,0},{2542,5983,0}, {2535,5990,0},{2537,5993,0},{2538,6002,0},{2538,6008,0},{2533,6012,0},{2532,6018,0}, {2537,6020,0},{2538,6030,0},{2535,6030,0},{2533,6030,0},{2532,6040,0},{2527,6047,0}, {2530,6045,0},{2533,6045,0},{2533,6040,0},{2538,6040,0},{2543,6045,0},{2543,6055,0}, {2540,6060,0},{2533,6060,0},{2528,6063,0},{2528,6062,0},{2527,6062,0},{2517,6117,0}, {2517,6120,0},{2512,6123,0},{2508,6140,0},{2508,6145,0},{2508,6142,0},{2510,6143,0}, {2512,6150,0},{2517,6152,0},{2520,6148,0},{2520,6152,0},{2520,6155,0},{2522,6153,0}, {2525,6155,0},{2523,6158,0},{2520,6158,0},{2520,6162,0},{3002,4795,128}, {3010,4793,0},{3000,4797,0},{3005,4810,0},{3003,4817,0},{3000,4825,0},{2995,4835,0}, {2993,4845,0},{2993,4855,0},{2995,4857,0},{2995,4853,0},{2997,4853,0},{2855,4842,128}, {2860,4838,0},{2865,4838,0},{2863,4835,0},{2865,4835,0},{2867,4838,0},{2868,4837,0}, {2867,4838,0},{2873,4838,0},{2875,4837,0},{2877,4832,0},{2883,4828,0},{2888,4828,0}, {2892,4822,0},{2903,4815,0},{2927,4808,0},{2935,4808,0},{2935,4805,0},{2937,4802,0}, {2940,4798,0},{2933,4788,0},{2933,4783,0},{2935,4780,0},{2940,4783,0},{2938,4770,0}, {2938,4768,0},{2940,4770,0},{2942,4773,0},{2953,4785,0},{2957,4792,0},{2963,4797,0}, {2963,4802,0},{2962,4803,0},{2960,4802,0},{2960,4808,0},{2957,4810,0},{2955,4815,0}, {2955,4817,0},{2958,4817,0},{2973,4808,0},{2973,4805,0},{2980,4800,0},{2987,4798,0}, {2993,4798,0},{3002,4795,0},{2475,5083,128},{2472,5078,0},{2475,5075,0}, {2477,5073,0},{2487,5073,0},{2490,5068,0},{2495,5067,0},{2505,5060,0},{2507,5058,0}, {2503,5057,0},{2505,5057,0},{2512,5053,0},{2518,5055,0},{2523,5052,0},{2530,5052,0}, {2542,5048,0},{2545,5045,0},{2545,5042,0},{2548,5038,0},{2552,5038,0},{2548,5037,0}, {2545,5037,0},{2563,5022,0},{2568,5020,0},{2570,5015,0},{2573,5015,0},{2568,5023,0}, {2565,5023,0},{2563,5025,0},{2563,5027,0},{2567,5025,0},{2573,5022,0},{2577,5017,0}, {2585,5012,0},{2592,5010,0},{2593,5013,0},{2598,5010,0},{2600,5007,0},{2602,5007,0}, {2602,5005,0},{2603,5003,0},{2600,5003,0},{2598,5000,0},{2600,5000,0},{2607,4998,0}, {2608,5002,0},{2613,4998,0},{2620,5002,0},{2618,5007,0},{2613,5007,0},{2610,5010,0}, {2603,5013,0},{2617,5017,0},{2615,5018,0},{2617,5020,0},{2620,5022,0},{2630,5022,0}, {2637,5022,0},{2642,5018,0},{2645,5008,0},{2647,5005,0},{2657,5000,0},{2665,5002,0}, {2667,4998,0},{2673,4998,0},{2675,5000,0},{2673,5002,0},{2668,5003,0},{2668,5012,0}, {2663,5015,0},{2665,5017,0},{2672,5008,0},{2685,4995,0},{2685,4987,0},{2698,4967,0}, {2705,4962,0},{2710,4957,0},{2715,4955,0},{2718,4957,0},{2717,4955,0},{2718,4952,0}, {2718,4950,0},{2715,4950,0},{2713,4952,0},{2715,4947,0},{2713,4943,0},{2717,4943,0}, {2713,4942,0},{2715,4937,0},{2715,4940,0},{2720,4942,0},{2722,4938,0},{2720,4937,0}, {2717,4935,0},{2720,4933,0},{2720,4932,0},{2735,4930,0},{2735,4928,0},{2735,4925,0}, {2733,4922,0},{2738,4923,0},{2742,4927,0},{2742,4923,0},{2740,4920,0},{2742,4917,0}, {2743,4912,0},{2747,4917,0},{2743,4918,0},{2745,4922,0},{2745,4927,0},{2747,4928,0}, {2745,4928,0},{2745,4930,0},{2748,4930,0},{2750,4927,0},{2753,4925,0},{2755,4918,0}, {2753,4915,0},{2755,4907,0},{2753,4907,0},{2755,4905,0},{2757,4907,0},{2762,4897,0}, {2760,4892,0},{2757,4892,0},{2757,4890,0},{2758,4888,0},{2763,4890,0},{2760,4887,0}, {2762,4883,0},{2762,4885,0},{2762,4887,0},{2763,4885,0},{2765,4888,0},{2768,4888,0}, {2765,4885,0},{2770,4885,0},{2768,4882,0},{2773,4880,0},{2772,4880,0},{2772,4877,0}, {2783,4882,0},{2782,4883,0},{2775,4880,0},{2782,4885,0},{2780,4885,0},{2773,4883,0}, {2773,4885,0},{2777,4888,0},{2783,4888,0},{2797,4875,0},{2798,4875,0},{2798,4878,0}, {2800,4878,0},{2803,4865,0},{2807,4865,0},{2813,4860,0},{2818,4860,0},{2820,4862,0}, {2828,4855,0},{2833,4852,0},{2837,4852,0},{2840,4853,0},{2838,4847,0},{2840,4847,0}, {2840,4850,0},{2842,4852,0},{2845,4850,0},{2850,4850,0},{2850,4847,0},{2855,4842,0}, {2462,5122,128},{2463,5122,0},{2465,5127,0},{2467,5128,0},{2465,5128,0}, {2463,5135,0},{2460,5133,0},{2457,5133,0},{2460,5137,0},{2463,5138,0},{2467,5143,0}, {2485,5150,0},{2492,5157,0},{2502,5162,0},{2527,5160,0},{2528,5158,0},{2530,5152,0}, {2543,5152,0},{2552,5147,0},{2557,5150,0},{2562,5148,0},{2562,5153,0},{2563,5155,0}, {2568,5153,0},{2568,5150,0},{2570,5155,0},{2568,5155,0},{2570,5158,0},{2573,5158,0}, {2573,5153,0},{2573,5155,0},{2577,5157,0},{2573,5158,0},{2575,5160,0},{2590,5157,0}, {2595,5150,0},{2595,5142,0},{2597,5140,0},{2602,5138,0},{2603,5135,0},{2610,5133,0}, {2615,5125,0},{2613,5118,0},{2608,5113,0},{2605,5105,0},{2597,5100,0},{2597,5098,0}, {2590,5098,0},{2585,5095,0},{2583,5095,0},{2582,5097,0},{2580,5098,0},{2577,5097,0}, {2580,5093,0},{2578,5090,0},{2575,5092,0},{2572,5088,0},{2567,5088,0},{2563,5092,0}, {2563,5098,0},{2560,5095,0},{2560,5092,0},{2553,5090,0},{2553,5087,0},{2557,5087,0}, {2563,5087,0},{2562,5080,0},{2560,5078,0},{2560,5083,0},{2555,5083,0},{2552,5082,0}, {2547,5085,0},{2547,5082,0},{2552,5078,0},{2548,5075,0},{2548,5077,0},{2543,5075,0}, {2510,5077,0},{2505,5080,0},{2498,5080,0},{2492,5085,0},{2483,5085,0},{2480,5087,0}, {2475,5083,0},{2450,5660,128},{2468,5650,0},{2473,5648,0},{2497,5638,0}, {2507,5635,0},{2523,5637,0},{2530,5638,0},{2533,5638,0},{2537,5635,0},{2553,5637,0}, {2560,5635,0},{2562,5628,0},{2567,5627,0},{2575,5628,0},{2575,5630,0},{2573,5630,0}, {2575,5632,0},{2580,5637,0},{2585,5637,0},{2590,5640,0},{2593,5638,0},{2593,5643,0}, {2595,5645,0},{2595,5642,0},{2597,5642,0},{2598,5640,0},{2600,5642,0},{2602,5642,0}, {2602,5638,0},{2605,5638,0},{2605,5643,0},{2608,5643,0},{2608,5647,0},{2610,5643,0}, {2608,5642,0},{2610,5638,0},{2610,5637,0},{2615,5637,0},{2612,5633,0},{2615,5633,0}, {2617,5632,0},{2620,5637,0},{2620,5638,0},{2617,5638,0},{2618,5640,0},{2617,5640,0}, {2615,5642,0},{2613,5647,0},{2615,5647,0},{2617,5647,0},{2618,5643,0},{2622,5643,0}, {2622,5645,0},{2620,5647,0},{2622,5648,0},{2625,5648,0},{2625,5640,0},{2628,5640,0}, {2632,5647,0},{2632,5652,0},{2635,5650,0},{2635,5648,0},{2633,5648,0},{2633,5643,0}, {2635,5643,0},{2635,5640,0},{2637,5640,0},{2635,5638,0},{2637,5637,0},{2638,5637,0}, {2632,5635,0},{2632,5632,0},{2627,5637,0},{2627,5633,0},{2628,5632,0},{2627,5632,0}, {2622,5630,0},{2625,5638,0},{2623,5640,0},{2622,5640,0},{2622,5635,0},{2620,5630,0}, {2623,5627,0},{2620,5622,0},{2622,5622,0},{2627,5622,0},{2627,5620,0},{2622,5617,0}, {2610,5608,0},{2598,5605,0},{2592,5602,0},{2593,5603,0},{2592,5603,0},{2588,5603,0}, {2583,5597,0},{2577,5595,0},{2577,5593,0},{2582,5595,0},{2572,5587,0},{2568,5577,0}, {2562,5568,0},{2558,5565,0},{2553,5563,0},{2552,5555,0},{2553,5553,0},{2558,5557,0}, {2558,5555,0},{2548,5548,0},{2547,5550,0},{2542,5548,0},{2540,5545,0},{2542,5543,0}, {2535,5538,0},{2537,5537,0},{2532,5537,0},{2532,5533,0},{2527,5530,0},{2525,5533,0}, {2520,5533,0},{2518,5530,0},{2520,5530,0},{2522,5532,0},{2527,5528,0},{2520,5523,0}, {2502,5507,0},{2483,5477,0},{2480,5477,0},{2478,5475,0},{2480,5470,0},{2473,5463,0}, {2472,5463,0},{2472,5465,0},{2468,5465,0},{2467,5467,0},{2465,5463,0},{2462,5463,0}, {2462,5460,0},{2460,5463,0},{2452,5458,0},{2452,5455,0},{2450,5457,0},{2450,5455,0}, {2452,5452,0},{2457,5448,0},{2457,5447,0},{2453,5447,0},{2457,5447,0},{2453,5442,0}, {2450,5447,0},{2448,5448,0},{2448,5457,0},{2447,5458,0},{2445,5457,0},{2447,5452,0}, {2443,5453,0},{2443,5448,0},{2443,5450,0},{2440,5448,0},{2438,5448,0},{2428,5442,0}, {2425,5438,0},{2427,5433,0},{2422,5427,0},{2420,5418,0},{2413,5412,0},{2410,5395,0}, {2407,5387,0},{2407,5368,0},{2405,5358,0},{2408,5353,0},{2410,5347,0},{2412,5343,0}, {2410,5342,0},{2410,5333,0},{2408,5330,0},{2410,5325,0},{2413,5322,0},{2417,5315,0}, {2413,5315,0},{2412,5315,0},{2413,5312,0},{2412,5305,0},{2417,5300,0},{2413,5295,0}, {2415,5285,0},{2413,5277,0},{2415,5270,0},{2413,5268,0},{2420,5263,0},{2420,5262,0}, {2420,5258,0},{2415,5258,0},{2413,5253,0},{2408,5245,0},{2405,5243,0},{2403,5237,0}, {2400,5233,0},{2400,5228,0},{2397,5220,0},{2397,5210,0},{2395,5208,0},{2400,5202,0}, {2398,5200,0},{2398,5193,0},{2395,5193,0},{2398,5190,0},{2400,5182,0},{2405,5178,0}, {2412,5177,0},{2427,5178,0},{2428,5175,0},{2427,5173,0},{2422,5172,0},{2427,5167,0}, {2423,5167,0},{2422,5163,0},{2427,5162,0},{2435,5162,0},{2438,5158,0},{2435,5158,0}, {2427,5158,0},{2425,5157,0},{2425,5153,0},{2430,5150,0},{2432,5143,0},{2432,5138,0}, {2428,5135,0},{2430,5128,0},{2433,5128,0},{2435,5130,0},{2442,5132,0},{2448,5140,0}, {2453,5142,0},{2457,5150,0},{2460,5148,0},{2458,5145,0},{2462,5143,0},{2462,5142,0}, {2462,5140,0},{2458,5138,0},{2452,5130,0},{2457,5130,0},{2460,5130,0},{2460,5128,0}, {2462,5127,0},{2462,5122,0},{1663,5310,128},{1667,5313,0},{1673,5337,0}, {1675,5348,0},{1673,5358,0},{1677,5362,0},{1678,5367,0},{1682,5368,0},{1687,5375,0}, {1690,5393,0},{1692,5398,0},{1693,5402,0},{1698,5402,0},{1702,5410,0},{1702,5437,0}, {1703,5442,0},{1702,5447,0},{1703,5450,0},{1702,5472,0},{1697,5472,0},{1695,5477,0}, {1697,5482,0},{1695,5482,0},{1697,5485,0},{1698,5485,0},{1698,5487,0},{1697,5487,0}, {1698,5488,0},{1698,5497,0},{1700,5498,0},{1702,5505,0},{1702,5507,0},{1708,5515,0}, {1715,5520,0},{1720,5522,0},{1723,5527,0},{1728,5525,0},{1737,5530,0},{1740,5530,0}, {1745,5528,0},{1747,5523,0},{1755,5523,0},{1762,5527,0},{1768,5537,0},{1775,5538,0}, {1783,5543,0},{1788,5565,0},{1790,5580,0},{1790,5588,0},{1793,5603,0},{1793,5615,0}, {1795,5618,0},{1793,5635,0},{1797,5635,0},{1802,5643,0},{1808,5647,0},{1810,5652,0}, {1813,5657,0},{1820,5655,0},{1833,5662,0},{1840,5662,0},{1845,5663,0},{1858,5665,0}, {1875,5682,0},{1880,5690,0},{1885,5703,0},{1892,5725,0},{1895,5752,0},{1893,5772,0}, {1897,5775,0},{1897,5780,0},{1903,5783,0},{1908,5780,0},{1915,5782,0},{1918,5778,0}, {1928,5775,0},{1937,5777,0},{1942,5777,0},{1953,5770,0},{1967,5772,0},{1968,5770,0}, {1972,5768,0},{1975,5770,0},{1985,5777,0},{1992,5778,0},{1998,5782,0},{2002,5782,0}, {2013,5785,0},{2018,5782,0},{2022,5783,0},{2027,5787,0},{2032,5797,0},{2035,5798,0}, {2038,5795,0},{2040,5797,0},{2043,5800,0},{2047,5807,0},{2050,5807,0},{2055,5808,0}, {2062,5822,0},{2062,5825,0},{2058,5827,0},{2048,5823,0},{2042,5823,0},{2043,5822,0}, {2047,5822,0},{2043,5820,0},{2040,5822,0},{2038,5827,0},{2038,5830,0},{2037,5827,0}, {2038,5835,0},{2035,5842,0},{2035,5845,0},{2040,5848,0},{2042,5852,0},{2052,5853,0}, {2057,5857,0},{2065,5860,0},{2070,5865,0},{2073,5867,0},{2077,5873,0},{2078,5872,0}, {2075,5870,0},{2077,5867,0},{2080,5867,0},{2082,5868,0},{2085,5873,0},{2088,5873,0}, {2093,5880,0},{2100,5880,0},{2103,5883,0},{2128,5905,0},{2137,5917,0},{2143,5935,0}, {2148,5935,0},{2162,5945,0},{2177,5950,0},{2183,5958,0},{2187,5958,0},{2192,5962,0}, {2193,5965,0},{2207,5968,0},{2210,5972,0},{2222,5980,0},{2243,5985,0},{2253,5980,0}, {2252,5978,0},{2253,5975,0},{2248,5977,0},{2250,5972,0},{2253,5972,0},{2257,5963,0}, {2255,5952,0},{2257,5952,0},{2258,5953,0},{2268,5940,0},{2275,5935,0},{2280,5930,0}, {2295,5923,0},{2305,5908,0},{2308,5907,0},{2315,5902,0},{2320,5900,0},{2325,5895,0}, {2332,5893,0},{2340,5882,0},{2342,5880,0},{2350,5878,0},{2353,5877,0},{2352,5873,0}, {2355,5872,0},{2353,5872,0},{2353,5870,0},{2357,5867,0},{2357,5865,0},{2360,5862,0}, {2363,5862,0},{2365,5858,0},{2365,5852,0},{2365,5850,0},{2365,5848,0},{2362,5845,0}, {2362,5835,0},{2365,5827,0},{2368,5820,0},{2372,5810,0},{2372,5788,0},{2375,5782,0}, {2378,5778,0},{2380,5762,0},{2383,5750,0},{2393,5717,0},{2400,5708,0},{2413,5690,0}, {2423,5683,0},{2432,5680,0},{2450,5660,0},{1268,4353,128},{1273,4357,0}, {1275,4360,0},{1268,4382,0},{1265,4387,0},{1265,4390,0},{1262,4392,0},{1260,4395,0}, {1260,4398,0},{1260,4407,0},{1265,4415,0},{1265,4420,0},{1263,4418,0},{1263,4413,0}, {1262,4417,0},{1263,4423,0},{1263,4428,0},{1268,4440,0},{1267,4443,0},{1268,4443,0}, {1278,4453,0},{1282,4460,0},{1280,4470,0},{1277,4473,0},{1275,4473,0},{1277,4477,0}, {1277,4483,0},{1273,4483,0},{1273,4487,0},{1273,4490,0},{1277,4492,0},{1278,4488,0}, {1277,4487,0},{1280,4488,0},{1278,4490,0},{1283,4495,0},{1283,4500,0},{1285,4502,0}, {1280,4503,0},{1280,4498,0},{1278,4498,0},{1275,4505,0},{1287,4507,0},{1297,4513,0}, {1302,4520,0},{1307,4540,0},{1318,4550,0},{1333,4565,0},{1335,4577,0},{1338,4582,0}, {1340,4605,0},{1340,4612,0},{1343,4623,0},{1340,4635,0},{1342,4642,0},{1340,4647,0}, {1342,4652,0},{1343,4663,0},{1343,4668,0},{1348,4685,0},{1353,4693,0},{1360,4720,0}, {1365,4740,0},{1387,4765,0},{1390,4772,0},{1393,4782,0},{1397,4788,0},{1402,4793,0}, {1405,4800,0},{1402,4815,0},{1400,4818,0},{1397,4818,0},{1398,4823,0},{1400,4832,0}, {1400,4835,0},{1402,4835,0},{1400,4843,0},{1402,4845,0},{1398,4847,0},{1403,4855,0}, {1403,4870,0},{1412,4878,0},{1417,4885,0},{1422,4888,0},{1425,4888,0},{1425,4893,0}, {1430,4895,0},{1432,4900,0},{1437,4900,0},{1443,4902,0},{1450,4908,0},{1453,4913,0}, {1452,4918,0},{1453,4918,0},{1463,4937,0},{1468,4952,0},{1473,4958,0},{1480,4987,0}, {1485,4997,0},{1485,5003,0},{1482,5005,0},{1485,5013,0},{1483,5018,0},{1487,5022,0}, {1492,5030,0},{1492,5035,0},{1500,5045,0},{1505,5055,0},{1508,5080,0},{1512,5090,0}, {1518,5123,0},{1523,5135,0},{1523,5138,0},{1525,5138,0},{1527,5147,0},{1532,5152,0}, {1533,5168,0},{1535,5168,0},{1537,5167,0},{1540,5167,0},{1543,5173,0},{1547,5183,0}, {1545,5187,0},{1547,5187,0},{1552,5190,0},{1553,5200,0},{1558,5208,0},{1562,5222,0}, {1565,5225,0},{1575,5222,0},{1583,5223,0},{1587,5218,0},{1593,5218,0},{1598,5215,0}, {1608,5220,0},{1610,5222,0},{1617,5222,0},{1627,5230,0},{1640,5245,0},{1648,5260,0}, {1650,5273,0},{1653,5278,0},{1655,5287,0},{1662,5298,0},{1665,5312,0},{1640,4278,128}, {1610,4285,0},{1588,4283,0},{1583,4275,0},{1575,4275,0},{1573,4270,0},{1570,4270,0}, {1568,4272,0},{1563,4270,0},{1558,4273,0},{1557,4272,0},{1553,4275,0},{1547,4278,0}, {1543,4277,0},{1535,4282,0},{1527,4282,0},{1523,4280,0},{1523,4278,0},{1520,4278,0}, {1522,4278,0},{1525,4278,0},{1530,4272,0},{1530,4270,0},{1533,4272,0},{1537,4272,0}, {1530,4268,0},{1527,4270,0},{1523,4268,0},{1523,4262,0},{1518,4263,0},{1518,4267,0}, {1520,4268,0},{1522,4270,0},{1518,4278,0},{1513,4287,0},{1510,4288,0},{1507,4287,0}, {1500,4288,0},{1495,4293,0},{1487,4295,0},{1482,4295,0},{1483,4292,0},{1487,4288,0}, {1492,4288,0},{1487,4288,0},{1478,4295,0},{1470,4297,0},{1467,4300,0},{1462,4298,0}, {1455,4303,0},{1443,4302,0},{1445,4300,0},{1452,4298,0},{1452,4295,0},{1448,4298,0}, {1437,4302,0},{1432,4305,0},{1418,4310,0},{1413,4308,0},{1400,4308,0},{1387,4323,0}, {1380,4323,0},{1372,4328,0},{1360,4328,0},{1358,4330,0},{1352,4325,0},{1330,4325,0}, {1330,4323,0},{1327,4323,0},{1320,4325,0},{1312,4332,0},{1297,4340,0},{1293,4340,0}, {1283,4348,0},{1278,4348,0},{1268,4347,0},{1270,4355,0},{2937,3497,128}, {2933,3495,0},{2930,3495,0},{2928,3493,0},{2925,3493,0},{2923,3492,0},{2907,3488,0}, {2903,3485,0},{2900,3487,0},{2890,3483,0},{2888,3485,0},{2882,3483,0},{2868,3478,0}, {2853,3480,0},{2827,3468,0},{2827,3467,0},{2822,3467,0},{2820,3465,0},{2817,3467,0}, {2818,3463,0},{2817,3462,0},{2810,3457,0},{2808,3457,0},{2810,3460,0},{2808,3460,0}, {2802,3462,0},{2803,3465,0},{2807,3465,0},{2807,3467,0},{2810,3465,0},{2813,3468,0}, {2813,3470,0},{2812,3472,0},{2810,3477,0},{2812,3482,0},{2810,3482,0},{2808,3478,0}, {2807,3480,0},{2810,3483,0},{2810,3482,0},{2812,3485,0},{2812,3487,0},{2810,3483,0}, {2807,3485,0},{2808,3488,0},{2808,3493,0},{2810,3495,0},{2812,3500,0},{2810,3503,0}, {2812,3502,0},{2812,3505,0},{2807,3510,0},{2807,3515,0},{2805,3517,0},{2805,3522,0}, {2803,3522,0},{2802,3517,0},{2800,3517,0},{2795,3525,0},{2792,3527,0},{2785,3533,0}, {2780,3535,0},{2778,3538,0},{2767,3545,0},{2763,3550,0},{2755,3552,0},{2745,3557,0}, {2735,3565,0},{2732,3573,0},{2728,3573,0},{2722,3578,0},{2713,3577,0},{2710,3578,0}, {2702,3585,0},{2688,3602,0},{2685,3602,0},{2675,3607,0},{2662,3620,0},{2653,3627,0}, {2632,3637,0},{2623,3643,0},{2615,3645,0},{2608,3653,0},{2608,3662,0},{2607,3665,0}, {2602,3667,0},{2593,3665,0},{2588,3660,0},{2582,3667,0},{2578,3667,0},{2575,3673,0}, {2578,3675,0},{2568,3687,0},{2565,3690,0},{2555,3693,0},{2548,3700,0},{2543,3700,0}, {2535,3703,0},{2530,3708,0},{2528,3712,0},{2522,3718,0},{2515,3720,0},{2512,3718,0}, {2502,3723,0},{2495,3720,0},{2487,3723,0},{2483,3718,0},{2483,3713,0},{2478,3717,0}, {2478,3722,0},{2477,3722,0},{2475,3718,0},{2468,3722,0},{2467,3728,0},{2457,3738,0}, {2455,3738,0},{2450,3742,0},{2447,3743,0},{2445,3745,0},{2440,3748,0},{2440,3745,0}, {2437,3745,0},{2435,3748,0},{2432,3748,0},{2427,3753,0},{2427,3757,0},{2425,3760,0}, {2425,3763,0},{2428,3762,0},{2428,3765,0},{2430,3767,0},{2425,3773,0},{2427,3775,0}, {2417,3783,0},{2417,3790,0},{2420,3788,0},{2422,3793,0},{2418,3792,0},{2418,3795,0}, {2417,3792,0},{2408,3803,0},{2408,3808,0},{2407,3808,0},{2403,3813,0},{2400,3817,0}, {2395,3825,0},{2388,3830,0},{2388,3833,0},{2382,3838,0},{2378,3845,0},{2373,3845,0}, {2362,3852,0},{2353,3855,0},{2352,3858,0},{2353,3858,0},{2355,3855,0},{2357,3860,0}, {2353,3860,0},{2350,3863,0},{2342,3865,0},{2342,3867,0},{2335,3868,0},{2333,3870,0}, {2328,3870,0},{2327,3872,0},{2325,3870,0},{2320,3875,0},{2320,3877,0},{2317,3877,0}, {2318,3878,0},{2315,3880,0},{2313,3878,0},{2308,3880,0},{2303,3878,0},{2300,3878,0}, {2298,3882,0},{2298,3887,0},{2297,3890,0},{2292,3892,0},{2290,3893,0},{2287,3897,0}, {2285,3895,0},{2285,3892,0},{2292,3888,0},{2292,3885,0},{2275,3897,0},{2278,3897,0}, {2283,3893,0},{2277,3902,0},{2272,3898,0},{2257,3908,0},{2242,3907,0},{2237,3908,0}, {2238,3910,0},{2242,3912,0},{2240,3915,0},{2233,3910,0},{2232,3908,0},{2227,3907,0}, {2222,3903,0},{2217,3903,0},{2212,3902,0},{2215,3905,0},{2208,3903,0},{2205,3902,0}, {2195,3900,0},{2185,3902,0},{2183,3903,0},{2183,3902,0},{2190,3900,0},{2192,3895,0}, {2188,3897,0},{2185,3897,0},{2180,3903,0},{2172,3907,0},{2173,3908,0},{2175,3910,0}, {2173,3912,0},{2168,3908,0},{2162,3910,0},{2158,3908,0},{2152,3912,0},{2153,3915,0}, {2152,3915,0},{2150,3917,0},{2148,3915,0},{2147,3917,0},{2142,3917,0},{2137,3915,0}, {2132,3908,0},{2122,3915,0},{2118,3917,0},{2115,3915,0},{2110,3918,0},{2107,3923,0}, {2103,3925,0},{2098,3925,0},{2092,3930,0},{2092,3935,0},{2088,3937,0},{2090,3933,0}, {2087,3935,0},{2082,3940,0},{2085,3942,0},{2082,3945,0},{2080,3945,0},{2080,3942,0}, {2077,3943,0},{2073,3947,0},{2075,3947,0},{2075,3950,0},{2070,3948,0},{2067,3952,0}, {2062,3955,0},{2058,3960,0},{2057,3957,0},{2052,3960,0},{2043,3967,0},{2043,3968,0}, {2035,3977,0},{2025,3993,0},{2027,3995,0},{2028,3990,0},{2030,3990,0},{2027,3998,0}, {2028,4005,0},{2027,4010,0},{2022,4013,0},{2020,4017,0},{2018,4023,0},{2017,4023,0}, {2012,4027,0},{2007,4033,0},{2007,4040,0},{2002,4045,0},{1997,4053,0},{1995,4053,0}, {1990,4053,0},{1988,4058,0},{1983,4060,0},{1982,4062,0},{1977,4063,0},{1977,4065,0}, {1978,4065,0},{1980,4067,0},{1978,4073,0},{1977,4075,0},{1972,4078,0},{1967,4080,0}, {1960,4080,0},{1962,4075,0},{1953,4085,0},{1950,4095,0},{1947,4095,0},{1942,4093,0}, {1935,4097,0},{1933,4095,0},{1932,4100,0},{1923,4105,0},{1922,4103,0},{1918,4105,0}, {1912,4108,0},{1907,4117,0},{1895,4113,0},{1887,4117,0},{1887,4120,0},{1883,4125,0}, {1875,4122,0},{1870,4120,0},{1865,4125,0},{1860,4127,0},{1857,4130,0},{1858,4132,0}, {1857,4137,0},{1853,4137,0},{1850,4140,0},{1847,4143,0},{1840,4143,0},{1830,4148,0}, {1828,4147,0},{1827,4152,0},{1822,4150,0},{1822,4153,0},{1820,4153,0},{1820,4152,0}, {1818,4157,0},{1817,4155,0},{1812,4160,0},{1808,4160,0},{1803,4165,0},{1802,4165,0}, {1800,4168,0},{1798,4167,0},{1795,4168,0},{1788,4175,0},{1787,4178,0},{1783,4178,0}, {1783,4182,0},{1780,4185,0},{1782,4188,0},{1778,4190,0},{1777,4193,0},{1772,4198,0}, {1772,4202,0},{1765,4205,0},{1765,4210,0},{1757,4213,0},{1758,4215,0},{1757,4217,0}, {1745,4227,0},{1745,4230,0},{1740,4232,0},{1733,4232,0},{1730,4233,0},{1723,4233,0}, {1713,4235,0},{1702,4237,0},{1703,4238,0},{1710,4237,0},{1712,4238,0},{1718,4237,0}, {1715,4242,0},{1712,4240,0},{1703,4245,0},{1703,4252,0},{1700,4255,0},{1692,4255,0}, {1687,4253,0},{1683,4257,0},{1682,4265,0},{1675,4268,0},{1673,4272,0},{1672,4270,0}, {1667,4272,0},{1667,4273,0},{1657,4272,0},{1652,4273,0},{1647,4278,0},{1642,4278,0}, {1638,4278,0},{2955,3498,128},{2953,3500,0},{2945,3497,0},{2937,3497,0}, {2955,3497,128},{2955,3498,0},{3310,3510,128},{3297,3507,0},{3292,3507,0}, {3292,3508,0},{3285,3507,0},{3282,3502,0},{3283,3498,0},{3282,3495,0},{3273,3495,0}, {3270,3492,0},{3242,3487,0},{3215,3478,0},{3195,3472,0},{3175,3460,0},{3158,3448,0}, {3148,3440,0},{3133,3422,0},{3465,3597,128},{3460,3598,0},{3453,3598,0}, {3452,3597,0},{3447,3590,0},{3447,3580,0},{3442,3582,0},{3438,3573,0},{3432,3572,0}, {3432,3570,0},{3432,3568,0},{3428,3565,0},{3423,3565,0},{3420,3563,0},{3415,3562,0}, {3410,3565,0},{3403,3562,0},{3400,3563,0},{3398,3560,0},{3390,3557,0},{3390,3547,0}, {3387,3548,0},{3380,3548,0},{3375,3545,0},{3372,3545,0},{3370,3542,0},{3367,3542,0}, {3365,3540,0},{3353,3535,0},{3345,3527,0},{3333,3525,0},{3328,3520,0},{3328,3518,0}, {3325,3522,0},{3322,3520,0},{3310,3510,0},{3465,3597,128},{3492,3587,0}, {3498,3588,0},{3502,3590,0},{3510,3588,0},{3517,3593,0},{3520,3597,0},{3528,3592,0}, {3542,3592,0},{3550,3582,0},{3550,3577,0},{3553,3577,0},{3557,3573,0},{3558,3575,0}, {3558,3573,0},{3560,3577,0},{3563,3578,0},{3565,3577,0},{3568,3580,0},{3573,3585,0}, {3585,3580,0},{3585,3585,0},{3593,3592,0},{3600,3598,0},{3610,3595,0},{3625,3583,0}, {3628,3578,0},{3632,3578,0},{3635,3582,0},{3637,3587,0},{3645,3592,0},{3648,3600,0}, {3653,3603,0},{3653,3608,0},{3658,3615,0},{3660,3618,0},{3665,3622,0},{3670,3620,0}, {3677,3620,0},{3678,3620,0},{3687,3612,0},{3692,3607,0},{3693,3602,0},{3688,3595,0}, {3678,3582,0},{3675,3565,0},{3672,3562,0},{3673,3562,0},{3672,3558,0},{3668,3558,0}, {3670,3560,0},{3668,3562,0},{3672,3562,0},{3670,3563,0},{3673,3563,0},{3672,3567,0}, {3672,3572,0},{3670,3565,0},{3665,3560,0},{3665,3562,0},{3670,3570,0},{3667,3565,0}, {3660,3562,0},{3658,3557,0},{3662,3550,0},{3660,3548,0},{3658,3553,0},{3658,3543,0}, {3653,3533,0},{3657,3530,0},{3672,3498,0},{3672,3490,0},{3673,3490,0},{3677,3488,0}, {3680,3483,0},{3682,3473,0},{3680,3467,0},{3678,3463,0},{3677,3457,0},{3665,3442,0}, {3663,3435,0},{3657,3427,0},{3647,3417,0},{3645,3413,0},{3640,3408,0},{3632,3408,0}, {3630,3400,0},{3628,3398,0},{3628,3400,0},{3622,3397,0},{3622,3395,0},{3623,3395,0}, {3628,3393,0},{3632,3388,0},{3627,3382,0},{3625,3383,0},{3623,3380,0},{3618,3370,0}, {3613,3368,0},{3618,3365,0},{3618,3360,0},{3613,3357,0},{3612,3353,0},{3613,3353,0}, {3615,3345,0},{3613,3340,0},{3615,3335,0},{3612,3328,0},{3613,3313,0},{3607,3308,0}, {3608,3305,0},{3610,3293,0},{3607,3287,0},{3602,3280,0},{3603,3267,0},{3610,3255,0}, {3610,3250,0},{3617,3237,0},{3622,3233,0},{3625,3228,0},{3628,3228,0},{3635,3220,0}, {3643,3215,0},{3652,3207,0},{3655,3202,0},{3655,3193,0},{3658,3185,0},{3660,3178,0}, {3663,3173,0},{3665,3167,0},{3672,3153,0},{3677,3138,0},{3678,3138,0},{3680,3135,0}, {3685,3105,0},{3685,3075,0},{3688,3068,0},{3685,3062,0},{3678,3057,0},{3673,3057,0}, {3668,3057,0},{3662,3055,0},{3660,3058,0},{3657,3058,0},{3652,3057,0},{3645,3050,0}, {3643,3050,0},{3643,3048,0},{3640,3047,0},{3633,3052,0},{3630,3047,0},{3628,3047,0}, {3628,3048,0},{3627,3048,0},{3625,3045,0},{3620,3040,0},{3623,3038,0},{3627,3040,0}, {3627,3037,0},{3630,3025,0},{3628,3015,0},{3625,3015,0},{3627,3013,0},{3625,3013,0}, {3623,3010,0},{3627,3005,0},{3625,3003,0},{3625,3005,0},{3620,2998,0},{3622,2992,0}, {3618,2988,0},{3617,2980,0},{3615,2982,0},{3613,2978,0},{3613,2977,0},{3615,2978,0}, {3617,2972,0},{3612,2968,0},{3615,2967,0},{3617,2963,0},{3617,2962,0},{3617,2963,0}, {3618,2963,0},{3618,2958,0},{3620,2962,0},{3620,2950,0},{3623,2945,0},{3623,2942,0}, {3625,2942,0},{3627,2940,0},{3627,2937,0},{3623,2935,0},{3632,2923,0},{3633,2917,0}, {3635,2915,0},{3637,2913,0},{3638,2910,0},{3642,2913,0},{3645,2912,0},{3648,2910,0}, {3648,2913,0},{3653,2913,0},{3657,2908,0},{3655,2905,0},{3653,2905,0},{3655,2902,0}, {3655,2905,0},{3658,2902,0},{3662,2903,0},{3662,2908,0},{3665,2908,0},{3663,2910,0}, {3662,2908,0},{3663,2912,0},{3667,2908,0},{3668,2905,0},{3672,2902,0},{3670,2898,0}, {3675,2893,0},{3670,2888,0},{3670,2890,0},{3668,2887,0},{3663,2885,0},{3665,2890,0}, {3667,2888,0},{3665,2890,0},{3662,2887,0},{3660,2887,0},{3658,2883,0},{3662,2882,0}, {3663,2885,0},{3665,2882,0},{3665,2878,0},{3667,2880,0},{3670,2872,0},{3668,2867,0}, {3672,2863,0},{3670,2862,0},{3673,2860,0},{3677,2862,0},{3682,2862,0},{3680,2860,0}, {3682,2858,0},{3683,2855,0},{3682,2853,0},{3682,2852,0},{3678,2852,0},{3680,2848,0}, {3682,2850,0},{3682,2847,0},{3683,2845,0},{3685,2847,0},{3688,2847,0},{3687,2843,0}, {3687,2840,0},{3685,2838,0},{3683,2838,0},{3683,2842,0},{3678,2840,0},{3682,2832,0}, {3678,2830,0},{3680,2827,0},{3682,2827,0},{3682,2832,0},{3685,2828,0},{3683,2825,0}, {3680,2823,0},{3675,2827,0},{3675,2830,0},{3672,2830,0},{3673,2828,0},{3672,2825,0}, {3668,2822,0},{3668,2817,0},{3660,2812,0},{3658,2808,0},{3658,2807,0},{3657,2803,0}, {3657,2802,0},{3657,2798,0},{3660,2797,0},{3660,2805,0},{3663,2808,0},{3665,2807,0}, {3663,2805,0},{3667,2807,0},{3668,2803,0},{3667,2803,0},{3667,2802,0},{3668,2797,0}, {3670,2803,0},{3672,2805,0},{3672,2808,0},{3670,2808,0},{3672,2812,0},{3675,2808,0}, {3677,2810,0},{3675,2813,0},{3680,2812,0},{3680,2808,0},{3675,2805,0},{3677,2803,0}, {3675,2802,0},{3675,2797,0},{3675,2795,0},{3673,2792,0},{3675,2790,0},{3673,2788,0}, {3675,2788,0},{3673,2787,0},{3675,2782,0},{3675,2772,0},{3672,2768,0},{3672,2770,0}, {3670,2767,0},{3665,2767,0},{3668,2755,0},{3665,2748,0},{3667,2740,0},{3668,2740,0}, {3668,2737,0},{3670,2737,0},{3670,2742,0},{3673,2743,0},{3675,2747,0},{3677,2762,0}, {3680,2763,0},{3678,2768,0},{3678,2773,0},{3682,2782,0},{3682,2792,0},{3680,2793,0}, {3680,2798,0},{3678,2803,0},{3680,2805,0},{3682,2805,0},{3682,2802,0},{3683,2803,0}, {3685,2800,0},{3687,2805,0},{3690,2802,0},{3690,2803,0},{3692,2802,0},{3692,2807,0}, {3693,2805,0},{3693,2810,0},{3693,2815,0},{3690,2817,0},{3692,2817,0},{3693,2815,0}, {3695,2820,0},{3697,2822,0},{3698,2820,0},{3700,2822,0},{3698,2825,0},{3700,2825,0}, {3702,2827,0},{3702,2832,0},{3703,2833,0},{3703,2810,0},{3702,2810,0},{3703,2808,0}, {3703,2792,0},{3698,2777,0},{3700,2768,0},{3698,2763,0},{3700,2757,0},{3697,2757,0}, {3700,2752,0},{3698,2748,0},{3703,2742,0},{3702,2742,0},{3702,2740,0},{3700,2738,0}, {3702,2738,0},{3702,2733,0},{3700,2733,0},{3697,2730,0},{3695,2730,0},{3697,2730,0}, {3695,2727,0},{3697,2725,0},{3702,2725,0},{3703,2723,0},{3708,2723,0},{3710,2728,0}, {3712,2725,0},{3713,2727,0},{3712,2732,0},{3715,2733,0},{3713,2735,0},{3715,2737,0}, {3715,2738,0},{3712,2738,0},{3712,2743,0},{3708,2747,0},{3712,2753,0},{3712,2757,0}, {3713,2757,0},{3713,2755,0},{3715,2755,0},{3718,2753,0},{3720,2757,0},{3720,2758,0}, {3718,2758,0},{3720,2762,0},{3722,2758,0},{3727,2762,0},{3728,2760,0},{3727,2755,0}, {3725,2755,0},{3722,2752,0},{3723,2750,0},{3727,2752,0},{3727,2748,0},{3725,2747,0}, {3727,2747,0},{3732,2750,0},{3733,2747,0},{3730,2745,0},{3730,2740,0},{3735,2738,0}, {3738,2743,0},{3742,2742,0},{3740,2737,0},{3737,2735,0},{3737,2732,0},{3733,2733,0}, {3735,2720,0},{3740,2722,0},{3747,2722,0},{3747,2718,0},{3750,2718,0},{3755,2718,0}, {3755,2722,0},{3758,2722,0},{3763,2713,0},{3765,2700,0},{3768,2702,0},{3768,2712,0}, {3772,2723,0},{3782,2727,0},{3783,2723,0},{3790,2727,0},{3795,2727,0},{3798,2723,0}, {3798,2713,0},{3800,2710,0},{3802,2707,0},{3803,2707,0},{3807,2698,0},{3807,2692,0}, {3803,2687,0},{3815,2682,0},{3817,2677,0},{3820,2678,0},{3822,2677,0},{3820,2673,0}, {3820,2663,0},{3810,2660,0},{3810,2658,0},{3813,2657,0},{3812,2655,0},{3813,2653,0}, {3817,2652,0},{3817,2648,0},{3822,2643,0},{3822,2642,0},{3820,2642,0},{3822,2638,0}, {3823,2640,0},{3827,2638,0},{3825,2638,0},{3822,2635,0},{3823,2632,0},{3827,2628,0}, {3827,2623,0},{3828,2623,0},{3828,2628,0},{3832,2628,0},{3832,2630,0},{3833,2628,0}, {3837,2628,0},{3835,2630,0},{3837,2632,0},{3833,2632,0},{3830,2637,0},{3832,2638,0}, {3833,2638,0},{3833,2640,0},{3835,2645,0},{3837,2648,0},{3842,2645,0},{3840,2650,0}, {3842,2652,0},{3847,2643,0},{3845,2640,0},{3845,2638,0},{3850,2640,0},{3852,2637,0}, {3863,2635,0},{3865,2637,0},{3867,2642,0},{3867,2648,0},{3865,2653,0},{3860,2657,0}, {3857,2657,0},{3852,2663,0},{3847,2663,0},{3847,2660,0},{3845,2660,0},{3842,2658,0}, {3842,2662,0},{3833,2665,0},{3830,2668,0},{3832,2670,0},{3838,2667,0},{3843,2670,0}, {3842,2673,0},{3837,2677,0},{3835,2680,0},{3838,2698,0},{3840,2702,0},{3840,2708,0}, {3845,2717,0},{3847,2705,0},{3845,2698,0},{3843,2693,0},{3845,2692,0},{3847,2692,0}, {3843,2690,0},{3843,2695,0},{3850,2688,0},{3853,2682,0},{3853,2683,0},{3850,2688,0}, {3855,2683,0},{3860,2685,0},{3862,2683,0},{3858,2680,0},{3860,2680,0},{3862,2675,0}, {3863,2677,0},{3865,2672,0},{3867,2675,0},{3868,2672,0},{3873,2673,0},{3875,2683,0}, {3873,2683,0},{3875,2685,0},{3873,2690,0},{3875,2692,0},{3875,2693,0},{3882,2690,0}, {3883,2693,0},{3880,2695,0},{3882,2697,0},{3885,2697,0},{3887,2702,0},{3885,2703,0}, {3887,2707,0},{3890,2703,0},{3892,2707,0},{3893,2705,0},{3892,2700,0},{3893,2697,0}, {3892,2685,0},{3893,2685,0},{3895,2680,0},{3898,2680,0},{3902,2682,0},{3903,2680,0}, {3907,2688,0},{3917,2682,0},{3917,2677,0},{3920,2673,0},{3925,2672,0},{3927,2662,0}, {3930,2663,0},{3932,2665,0},{3928,2663,0},{3928,2667,0},{3930,2667,0},{3932,2670,0}, {3933,2670,0},{3940,2680,0},{3943,2680,0},{3943,2687,0},{3947,2687,0},{3948,2693,0}, {3955,2695,0},{3957,2693,0},{3957,2688,0},{3955,2683,0},{3957,2678,0},{3955,2667,0}, {3952,2645,0},{3948,2637,0},{3948,2627,0},{3947,2625,0},{3947,2623,0},{3945,2613,0}, {3948,2607,0},{3957,2610,0},{3963,2615,0},{3967,2617,0},{3975,2613,0},{3978,2615,0}, {3982,2615,0},{3983,2613,0},{3995,2615,0},{4000,2620,0},{3998,2625,0},{4000,2628,0}, {4002,2633,0},{4010,2637,0},{4012,2640,0},{4020,2642,0},{4022,2652,0},{4028,2657,0}, {4028,2660,0},{4035,2668,0},{4038,2672,0},{4038,2670,0},{4040,2677,0},{4040,2692,0}, {4038,2697,0},{4040,2703,0},{4045,2708,0},{4045,2715,0},{4043,2718,0},{4045,2723,0}, {4047,2728,0},{4042,2733,0},{4040,2730,0},{4038,2730,0},{4032,2743,0},{4030,2755,0}, {4033,2762,0},{4032,2768,0},{4032,2778,0},{4037,2788,0},{4040,2783,0},{4040,2778,0}, {4043,2775,0},{4045,2775,0},{4048,2768,0},{4050,2768,0},{4052,2772,0},{4053,2773,0}, {4052,2775,0},{4053,2775,0},{4053,2778,0},{4050,2778,0},{4052,2780,0},{4048,2803,0}, {4045,2802,0},{4040,2790,0},{4037,2792,0},{4035,2795,0},{4040,2825,0},{4040,2848,0}, {4038,2847,0},{4040,2852,0},{4037,2867,0},{4037,2868,0},{4040,2878,0},{4038,2887,0}, {4037,2893,0},{4037,2907,0},{4042,2908,0},{4043,2915,0},{4047,2908,0},{4047,2900,0}, {4047,2897,0},{4047,2890,0},{4050,2885,0},{4052,2878,0},{4055,2880,0},{4060,2893,0}, {4063,2898,0},{4065,2910,0},{4067,2915,0},{4065,2927,0},{4070,2938,0},{4068,2943,0}, {4073,2952,0},{4068,2955,0},{4073,2980,0},{4072,2990,0},{4072,2993,0},{4077,2993,0}, {4075,2977,0},{4077,2975,0},{4078,2970,0},{4077,2952,0},{4078,2948,0},{4077,2942,0}, {4075,2938,0},{4077,2935,0},{4082,2933,0},{4080,2925,0},{4083,2928,0},{4085,2928,0}, {4088,2923,0},{4090,2915,0},{4095,2910,0},{4098,2902,0},{4103,2902,0},{4105,2905,0}, {4112,2907,0},{4112,2910,0},{4117,2907,0},{4123,2917,0},{4123,2922,0},{4122,2930,0}, {4117,2958,0},{4118,2962,0},{4115,2973,0},{4113,3007,0},{4113,3017,0},{4117,3022,0}, {4118,3023,0},{4122,3028,0},{4120,3033,0},{4118,3037,0},{4115,3050,0},{4113,3063,0}, {4108,3075,0},{4107,3097,0},{4110,3113,0},{4108,3123,0},{4113,3133,0},{4117,3137,0}, {4122,3142,0},{4123,3140,0},{4128,3142,0},{4130,3140,0},{4132,3140,0},{4132,3147,0}, {4135,3150,0},{4138,3162,0},{4143,3175,0},{4145,3177,0},{4150,3188,0},{4155,3200,0}, {4157,3203,0},{4160,3215,0},{4172,3228,0},{4172,3235,0},{4175,3238,0},{4173,3242,0}, {4177,3245,0},{4178,3250,0},{4182,3253,0},{4182,3257,0},{4183,3260,0},{4183,3268,0}, {4187,3278,0},{4187,3287,0},{4188,3295,0},{4193,3305,0},{4198,3325,0},{4202,3333,0}, {4198,3378,0},{4198,3410,0},{4193,3432,0},{4197,3447,0},{4197,3448,0},{4195,3457,0}, {4195,3472,0},{4198,3485,0},{4202,3492,0},{4210,3495,0},{4208,3502,0},{4203,3505,0}, {4202,3508,0},{4202,3515,0},{4203,3518,0},{4202,3522,0},{4202,3512,0},{4192,3510,0}, {4185,3515,0},{4180,3522,0},{4180,3520,0},{4177,3522,0},{4172,3528,0},{4168,3542,0}, {4165,3545,0},{4163,3558,0},{4167,3577,0},{4173,3595,0},{4168,3592,0},{4163,3592,0}, {4173,3597,0},{4168,3603,0},{4170,3603,0},{4168,3605,0},{4160,3613,0},{4153,3613,0}, {4150,3612,0},{4147,3613,0},{4135,3623,0},{4132,3633,0},{4128,3635,0},{4125,3643,0}, {4125,3648,0},{4127,3653,0},{4135,3662,0},{4137,3662,0},{4137,3665,0},{4135,3687,0}, {4128,3702,0},{4125,3703,0},{4120,3703,0},{4117,3705,0},{4115,3715,0},{4115,3730,0}, {4112,3732,0},{4110,3738,0},{4108,3742,0},{4107,3747,0},{4103,3753,0},{4105,3760,0}, {4112,3765,0},{4113,3768,0},{4112,3770,0},{4112,3778,0},{4107,3778,0},{4105,3780,0}, {4103,3782,0},{4102,3787,0},{4098,3790,0},{4098,3802,0},{4093,3820,0},{4095,3828,0}, {4092,3837,0},{4092,3838,0},{4092,3843,0},{4092,3852,0},{4097,3863,0},{4095,3867,0}, {4095,3870,0},{4102,3882,0},{4102,3887,0},{4103,3892,0},{4103,3902,0},{4103,3905,0}, {4107,3915,0},{4108,3917,0},{4105,3928,0},{4112,3942,0},{4110,3950,0},{4102,3958,0}, {4100,3965,0},{4102,3973,0},{4100,3978,0},{4095,3988,0},{4098,4000,0},{4093,4007,0}, {4092,4015,0},{4098,4033,0},{4102,4037,0},{4103,4045,0},{4103,4055,0},{4107,4062,0}, {4110,4068,0},{4115,4075,0},{4120,4083,0},{4120,4095,0},{4123,4105,0},{4127,4110,0}, {4128,4118,0},{4137,4132,0},{4137,4138,0},{4142,4143,0},{4145,4143,0},{4150,4152,0}, {4338,4000,128},{4337,4007,0},{4333,4013,0},{4332,4022,0},{4323,4027,0}, {4322,4027,0},{4317,4032,0},{4313,4033,0},{4317,4037,0},{4313,4045,0},{4312,4052,0}, {4308,4058,0},{4310,4065,0},{4308,4080,0},{4307,4085,0},{4297,4093,0},{4298,4100,0}, {4297,4103,0},{4292,4108,0},{4285,4110,0},{4278,4115,0},{4280,4120,0},{4278,4125,0}, {4275,4142,0},{4270,4147,0},{4255,4153,0},{4238,4155,0},{4235,4160,0},{4227,4163,0}, {4213,4165,0},{4200,4177,0},{4183,4178,0},{4172,4173,0},{4165,4165,0},{4163,4162,0}, {4150,4152,0},{4712,3825,128},{4713,3830,0},{4713,3845,0},{4717,3847,0}, {4723,3857,0},{4725,3878,0},{4728,3882,0},{4725,3878,0},{4722,3855,0},{4713,3848,0}, {4712,3855,0},{4713,3855,0},{4713,3862,0},{4715,3875,0},{4717,3885,0},{4718,3888,0}, {4718,3893,0},{4722,3893,0},{4725,3895,0},{4725,3903,0},{4728,3908,0},{4725,3927,0}, {4720,3928,0},{4718,3925,0},{4715,3925,0},{4713,3927,0},{4708,3927,0},{4713,3933,0}, {4712,3938,0},{4708,3930,0},{4700,3927,0},{4702,3917,0},{4700,3910,0},{4703,3908,0}, {4700,3903,0},{4695,3893,0},{4695,3887,0},{4688,3878,0},{4683,3855,0},{4687,3848,0}, {4683,3842,0},{4677,3840,0},{4675,3837,0},{4672,3838,0},{4673,3838,0},{4675,3842,0}, {4673,3850,0},{4670,3857,0},{4668,3860,0},{4665,3858,0},{4663,3847,0},{4665,3838,0}, {4668,3830,0},{4673,3827,0},{4668,3820,0},{4668,3812,0},{4662,3802,0},{4662,3785,0}, {4667,3773,0},{4648,3782,0},{4640,3790,0},{4635,3800,0},{4637,3802,0},{4638,3797,0}, {4640,3800,0},{4640,3808,0},{4635,3817,0},{4627,3827,0},{4622,3830,0},{4610,3857,0}, {4603,3857,0},{4602,3847,0},{4603,3843,0},{4613,3823,0},{4612,3817,0},{4605,3817,0}, {4603,3813,0},{4588,3808,0},{4585,3805,0},{4582,3805,0},{4583,3800,0},{4590,3807,0}, {4593,3808,0},{4595,3807,0},{4597,3803,0},{4603,3807,0},{4602,3803,0},{4605,3810,0}, {4607,3807,0},{4605,3802,0},{4603,3793,0},{4598,3792,0},{4583,3788,0},{4577,3783,0}, {4573,3780,0},{4567,3767,0},{4562,3770,0},{4563,3762,0},{4565,3763,0},{4567,3762,0}, {4563,3758,0},{4543,3758,0},{4542,3762,0},{4543,3763,0},{4545,3765,0},{4550,3763,0}, {4552,3765,0},{4555,3763,0},{4555,3767,0},{4557,3762,0},{4560,3763,0},{4558,3765,0}, {4557,3770,0},{4548,3768,0},{4545,3775,0},{4545,3770,0},{4542,3773,0},{4538,3772,0}, {4540,3777,0},{4537,3773,0},{4533,3770,0},{4530,3773,0},{4532,3767,0},{4530,3765,0}, {4533,3763,0},{4530,3762,0},{4530,3757,0},{4530,3760,0},{4533,3760,0},{4535,3755,0}, {4533,3750,0},{4537,3752,0},{4530,3738,0},{4533,3737,0},{4533,3717,0},{4532,3715,0}, {4530,3717,0},{4528,3732,0},{4527,3725,0},{4525,3723,0},{4523,3712,0},{4523,3708,0}, {4525,3707,0},{4527,3707,0},{4527,3712,0},{4530,3710,0},{4533,3713,0},{4543,3683,0}, {4542,3675,0},{4533,3667,0},{4533,3670,0},{4538,3677,0},{4537,3682,0},{4537,3685,0}, {4533,3682,0},{4532,3680,0},{4535,3678,0},{4535,3677,0},{4535,3675,0},{4533,3677,0}, {4530,3678,0},{4532,3697,0},{4527,3697,0},{4523,3683,0},{4523,3677,0},{4522,3675,0}, {4520,3670,0},{4520,3658,0},{4518,3658,0},{4513,3662,0},{4510,3670,0},{4510,3685,0}, {4498,3720,0},{4490,3732,0},{4487,3730,0},{4485,3732,0},{4473,3738,0},{4472,3743,0}, {4467,3748,0},{4465,3757,0},{4467,3763,0},{4463,3775,0},{4463,3782,0},{4467,3782,0}, {4473,3778,0},{4470,3787,0},{4467,3788,0},{4463,3793,0},{4460,3793,0},{4455,3800,0}, {4457,3803,0},{4455,3807,0},{4452,3805,0},{4448,3812,0},{4442,3815,0},{4438,3820,0}, {4438,3828,0},{4435,3833,0},{4433,3860,0},{4427,3875,0},{4417,3887,0},{4415,3897,0}, {4403,3910,0},{4392,3930,0},{4365,3962,0},{4362,3968,0},{4357,3972,0},{4350,3987,0}, {4340,3992,0},{4338,4002,0},{4687,3703,128},{4693,3723,0},{4690,3732,0}, {4687,3732,0},{4687,3733,0},{4702,3747,0},{4708,3757,0},{4707,3773,0},{4710,3787,0}, {4708,3793,0},{4710,3797,0},{4708,3803,0},{4710,3807,0},{4708,3808,0},{4707,3813,0}, {4702,3812,0},{4710,3822,0},{4712,3827,0},{4522,2967,128},{4522,2970,0}, {4522,2972,0},{4523,2973,0},{4525,2973,0},{4532,2977,0},{4540,2975,0},{4542,2973,0}, {4542,2975,0},{4547,2973,0},{4543,2972,0},{4547,2970,0},{4545,2968,0},{4547,2967,0}, {4543,2965,0},{4547,2960,0},{4557,2970,0},{4553,2967,0},{4555,2960,0},{4557,2960,0}, {4568,2960,0},{4572,2963,0},{4573,2962,0},{4578,2965,0},{4582,2963,0},{4580,2968,0}, {4578,2970,0},{4570,2968,0},{4565,2973,0},{4562,2973,0},{4563,2978,0},{4565,2978,0}, {4565,2982,0},{4567,2987,0},{4572,2980,0},{4573,2980,0},{4577,2988,0},{4572,2993,0}, {4580,2992,0},{4582,2993,0},{4577,2995,0},{4580,2997,0},{4585,2997,0},{4583,3003,0}, {4580,3007,0},{4582,3008,0},{4582,3010,0},{4585,3010,0},{4590,3012,0},{4587,3013,0}, {4582,3013,0},{4587,3025,0},{4598,3033,0},{4608,3050,0},{4613,3052,0},{4625,3067,0}, {4632,3068,0},{4635,3065,0},{4633,3072,0},{4635,3072,0},{4638,3077,0},{4645,3080,0}, {4650,3075,0},{4655,3078,0},{4655,3085,0},{4662,3107,0},{4663,3118,0},{4660,3133,0}, {4662,3142,0},{4672,3150,0},{4675,3145,0},{4680,3145,0},{4675,3147,0},{4673,3152,0}, {4677,3153,0},{4678,3158,0},{4682,3160,0},{4682,3162,0},{4677,3157,0},{4667,3152,0}, {4665,3148,0},{4663,3148,0},{4660,3157,0},{4663,3158,0},{4665,3163,0},{4662,3182,0}, {4663,3187,0},{4665,3190,0},{4673,3192,0},{4680,3187,0},{4683,3188,0},{4685,3195,0}, {4692,3197,0},{4693,3190,0},{4700,3193,0},{4698,3188,0},{4700,3185,0},{4703,3183,0}, {4708,3187,0},{4712,3182,0},{4717,3182,0},{4718,3180,0},{4722,3173,0},{4725,3173,0}, {4725,3175,0},{4722,3175,0},{4718,3183,0},{4713,3185,0},{4710,3190,0},{4702,3187,0}, {4700,3198,0},{4695,3193,0},{4693,3195,0},{4693,3200,0},{4692,3202,0},{4685,3198,0}, {4682,3193,0},{4677,3193,0},{4663,3202,0},{4662,3212,0},{4657,3213,0},{4660,3223,0}, {4655,3232,0},{4657,3240,0},{4663,3265,0},{4660,3260,0},{4658,3248,0},{4653,3242,0}, {4650,3240,0},{4648,3242,0},{4647,3235,0},{4652,3210,0},{4652,3187,0},{4655,3177,0}, {4655,3158,0},{4658,3152,0},{4655,3153,0},{4647,3167,0},{4643,3168,0},{4648,3170,0}, {4650,3172,0},{4648,3178,0},{4645,3193,0},{4645,3200,0},{4642,3205,0},{4638,3207,0}, {4638,3202,0},{4635,3198,0},{4635,3183,0},{4632,3177,0},{4628,3180,0},{4628,3190,0}, {4632,3188,0},{4630,3195,0},{4627,3197,0},{4625,3205,0},{4620,3213,0},{4618,3223,0}, {4620,3227,0},{4617,3225,0},{4613,3227,0},{4607,3252,0},{4613,3277,0},{4612,3290,0}, {4612,3302,0},{4613,3303,0},{4617,3303,0},{4613,3312,0},{4617,3320,0},{4622,3323,0}, {4615,3323,0},{4613,3322,0},{4613,3325,0},{4612,3332,0},{4610,3332,0},{4608,3330,0}, {4610,3333,0},{4608,3338,0},{4605,3343,0},{4605,3352,0},{4607,3350,0},{4608,3355,0}, {4610,3352,0},{4612,3353,0},{4615,3360,0},{4608,3365,0},{4603,3363,0},{4602,3365,0}, {4600,3363,0},{4597,3365,0},{4593,3362,0},{4595,3367,0},{4593,3377,0},{4592,3377,0}, {4590,3368,0},{4585,3368,0},{4588,3362,0},{4587,3357,0},{4583,3355,0},{4585,3348,0}, {4575,3325,0},{4575,3322,0},{4578,3317,0},{4577,3317,0},{4573,3318,0},{4565,3290,0}, {4560,3282,0},{4557,3283,0},{4555,3275,0},{4553,3270,0},{4552,3263,0},{4547,3253,0}, {4540,3248,0},{4533,3250,0},{4532,3258,0},{4532,3267,0},{4535,3273,0},{4535,3288,0}, {4535,3293,0},{4527,3307,0},{4520,3317,0},{4518,3322,0},{4515,3325,0},{4518,3338,0}, {4515,3345,0},{4510,3355,0},{4492,3362,0},{4485,3360,0},{4483,3355,0},{4478,3352,0}, {4470,3355,0},{4463,3352,0},{4462,3357,0},{4460,3343,0},{4458,3340,0},{4458,3337,0}, {4452,3347,0},{4448,3353,0},{4448,3358,0},{4443,3363,0},{4438,3372,0},{4438,3393,0}, {4443,3412,0},{4448,3418,0},{4450,3423,0},{4455,3427,0},{4455,3433,0},{4463,3438,0}, {4472,3445,0},{4475,3453,0},{4477,3465,0},{4482,3473,0},{4482,3483,0},{4482,3487,0}, {4482,3490,0},{4483,3492,0},{4483,3497,0},{4483,3500,0},{4478,3505,0},{4478,3508,0}, {4488,3515,0},{4492,3523,0},{4495,3525,0},{4495,3537,0},{4498,3537,0},{4500,3543,0}, {4502,3540,0},{4505,3540,0},{4512,3552,0},{4512,3563,0},{4508,3572,0},{4505,3578,0}, {4500,3583,0},{4498,3585,0},{4500,3593,0},{4500,3598,0},{4503,3605,0},{4500,3622,0}, {4503,3627,0},{4503,3637,0},{4508,3645,0},{4515,3640,0},{4528,3643,0},{4528,3650,0}, {4533,3648,0},{4533,3650,0},{4533,3660,0},{4535,3663,0},{4538,3663,0},{4542,3660,0}, {4540,3653,0},{4542,3652,0},{4543,3648,0},{4543,3640,0},{4545,3635,0},{4543,3630,0}, {4547,3630,0},{4547,3613,0},{4542,3607,0},{4537,3603,0},{4535,3600,0},{4537,3595,0}, {4540,3587,0},{4543,3585,0},{4545,3587,0},{4547,3585,0},{4547,3582,0},{4542,3580,0}, {4533,3572,0},{4528,3550,0},{4535,3537,0},{4542,3528,0},{4565,3507,0},{4578,3495,0}, {4593,3487,0},{4603,3483,0},{4618,3482,0},{4622,3488,0},{4625,3490,0},{4623,3493,0}, {4625,3505,0},{4630,3512,0},{4640,3522,0},{4647,3517,0},{4650,3518,0},{4645,3523,0}, {4643,3528,0},{4640,3527,0},{4635,3527,0},{4633,3530,0},{4635,3535,0},{4618,3520,0}, {4613,3505,0},{4612,3505,0},{4608,3498,0},{4607,3498,0},{4613,3518,0},{4635,3537,0}, {4645,3548,0},{4648,3563,0},{4658,3573,0},{4662,3582,0},{4665,3590,0},{4667,3607,0}, {4665,3612,0},{4667,3620,0},{4663,3623,0},{4660,3623,0},{4662,3627,0},{4660,3627,0}, {4662,3628,0},{4672,3638,0},{4675,3652,0},{4675,3658,0},{4677,3662,0},{4677,3673,0}, {4673,3680,0},{4668,3680,0},{4663,3677,0},{4665,3675,0},{4663,3677,0},{4677,3687,0}, {4680,3687,0},{4688,3705,0},{4522,2967,128},{4522,2962,0},{4517,2965,0}, {4517,2970,0},{4512,2967,0},{4500,2965,0},{4490,2963,0},{4488,2960,0},{4485,2962,0}, {4482,2957,0},{4478,2917,0},{4473,2907,0},{4468,2900,0},{4475,2898,0},{4475,2903,0}, {4478,2912,0},{4480,2915,0},{4487,2910,0},{4483,2910,0},{4482,2907,0},{4487,2905,0}, {4492,2903,0},{4497,2912,0},{4500,2903,0},{4500,2898,0},{4495,2887,0},{4492,2887,0}, {4490,2888,0},{4488,2887,0},{4482,2895,0},{4478,2892,0},{4477,2895,0},{4475,2887,0}, {4472,2880,0},{4468,2878,0},{4468,2882,0},{4467,2878,0},{4465,2878,0},{4465,2885,0}, {4468,2892,0},{4472,2890,0},{4468,2900,0},{4463,2895,0},{4468,2898,0},{4468,2897,0}, {4467,2895,0},{4467,2892,0},{4460,2878,0},{4463,2880,0},{4463,2877,0},{4460,2877,0}, {4458,2878,0},{4457,2873,0},{4455,2877,0},{4447,2875,0},{4452,2880,0},{4457,2885,0}, {4458,2890,0},{4462,2893,0},{4448,2883,0},{4442,2875,0},{4433,2868,0},{4435,2868,0}, {4433,2865,0},{4432,2863,0},{4423,2863,0},{4417,2867,0},{4415,2863,0},{4398,2867,0}, {4382,2858,0},{4375,2858,0},{4360,2857,0},{4353,2860,0},{4345,2855,0},{4340,2848,0}, {4337,2847,0},{4338,2845,0},{4342,2833,0},{4340,2825,0},{4340,2815,0},{4337,2808,0}, {4323,2802,0},{4320,2790,0},{4317,2795,0},{4307,2792,0},{4303,2788,0},{4295,2790,0}, {4285,2790,0},{4285,2788,0},{4278,2790,0},{4270,2790,0},{4272,2777,0},{4270,2772,0}, {4267,2772,0},{4267,2773,0},{4262,2763,0},{4255,2765,0},{4257,2762,0},{4255,2752,0}, {4248,2748,0},{4248,2745,0},{4243,2747,0},{4247,2748,0},{4243,2750,0},{4245,2753,0}, {4245,2760,0},{4245,2762,0},{4242,2765,0},{4243,2768,0},{4242,2770,0},{4242,2772,0}, {4240,2770,0},{4238,2772,0},{4237,2770,0},{4235,2772,0},{4233,2773,0},{4233,2778,0}, {4230,2778,0},{4228,2775,0},{4227,2777,0},{4225,2775,0},{4225,2778,0},{4212,2790,0}, {4207,2798,0},{4200,2802,0},{4198,2802,0},{4188,2805,0},{4188,2798,0},{4182,2797,0}, {4175,2803,0},{4173,2803,0},{4167,2808,0},{4165,2808,0},{4158,2813,0},{4157,2817,0}, {4153,2820,0},{4142,2847,0},{4135,2863,0},{4135,2868,0},{4128,2883,0},{4125,2900,0}, {4125,2905,0},{4123,2910,0},{4120,2910,0},{4115,2903,0},{4112,2907,0},{4108,2905,0}, {4105,2903,0},{4103,2898,0},{4100,2898,0},{4100,2893,0},{4095,2882,0},{4098,2875,0}, {4097,2860,0},{4100,2860,0},{4102,2858,0},{4105,2858,0},{4107,2857,0},{4108,2853,0}, {4107,2853,0},{4105,2857,0},{4102,2857,0},{4098,2855,0},{4100,2850,0},{4105,2842,0}, {4108,2823,0},{4108,2815,0},{4103,2802,0},{4097,2795,0},{4097,2787,0},{4100,2782,0}, {4102,2773,0},{4098,2750,0},{4092,2747,0},{4085,2745,0},{4077,2733,0},{4070,2730,0}, {4063,2718,0},{4060,2705,0},{4055,2698,0},{4055,2690,0},{4045,2668,0},{4042,2668,0}, {4038,2662,0},{4037,2662,0},{4033,2658,0},{4028,2648,0},{4027,2647,0},{4022,2642,0}, {4020,2635,0},{4015,2637,0},{4005,2622,0},{4005,2618,0},{4005,2617,0},{4007,2617,0}, {4018,2625,0},{4025,2627,0},{4028,2622,0},{4032,2623,0},{4032,2622,0},{4037,2632,0}, {4043,2643,0},{4050,2660,0},{4052,2668,0},{4055,2672,0},{4055,2678,0},{4060,2683,0}, {4065,2680,0},{4067,2677,0},{4063,2668,0},{4063,2658,0},{4060,2652,0},{4062,2645,0}, {4060,2632,0},{4060,2612,0},{4062,2607,0},{4072,2605,0},{4073,2603,0},{4073,2605,0}, {4078,2603,0},{4080,2602,0},{4082,2607,0},{4083,2605,0},{4082,2602,0},{4083,2600,0}, {4082,2600,0},{4085,2592,0},{4085,2572,0},{4087,2563,0},{4087,2555,0},{4092,2537,0}, {4093,2535,0},{4093,2530,0},{4093,2527,0},{4095,2513,0},{4098,2513,0},{4098,2517,0}, {4102,2513,0},{4100,2503,0},{4098,2503,0},{4097,2500,0},{4093,2498,0},{4092,2488,0}, {4085,2480,0},{4085,2470,0},{4087,2467,0},{4085,2463,0},{4095,2457,0},{4093,2440,0}, {4088,2432,0},{4085,2433,0},{4083,2430,0},{4083,2433,0},{4072,2410,0},{4073,2398,0}, {4078,2385,0},{4075,2373,0},{4072,2370,0},{4067,2368,0},{4063,2377,0},{4058,2380,0}, {4053,2392,0},{4052,2390,0},{4052,2383,0},{4050,2382,0},{4047,2382,0},{4040,2387,0}, {4038,2397,0},{4038,2400,0},{4040,2400,0},{4045,2400,0},{4040,2403,0},{4037,2407,0}, {4035,2418,0},{4032,2418,0},{4032,2423,0},{4025,2428,0},{4015,2440,0},{4013,2438,0}, {4012,2430,0},{4015,2428,0},{4020,2422,0},{4022,2422,0},{4028,2417,0},{4030,2405,0}, {4037,2393,0},{4037,2385,0},{4033,2378,0},{4035,2373,0},{4032,2370,0},{4028,2370,0}, {4020,2377,0},{4017,2390,0},{4012,2398,0},{4008,2398,0},{4007,2400,0},{4003,2398,0}, {4003,2402,0},{4002,2402,0},{3998,2398,0},{3997,2400,0},{3997,2397,0},{3995,2398,0}, {3995,2393,0},{3995,2392,0},{3997,2393,0},{3997,2390,0},{4002,2385,0},{4002,2382,0}, {4012,2377,0},{4023,2365,0},{4025,2353,0},{4028,2340,0},{4023,2333,0},{4020,2333,0}, {4015,2337,0},{4013,2340,0},{4003,2350,0},{3998,2367,0},{3993,2370,0},{3993,2375,0}, {3992,2372,0},{3992,2360,0},{3997,2345,0},{3997,2337,0},{4000,2338,0},{4007,2333,0}, {4008,2332,0},{4018,2332,0},{4023,2332,0},{4033,2302,0},{4035,2302,0},{4038,2295,0}, {4038,2288,0},{4040,2290,0},{4050,2282,0},{4052,2292,0},{4053,2298,0},{4057,2298,0}, {4058,2293,0},{4063,2293,0},{4065,2290,0},{4063,2285,0},{4060,2285,0},{4057,2282,0}, {4057,2275,0},{4052,2275,0},{4052,2272,0},{4050,2272,0},{4053,2268,0},{4052,2265,0}, {4050,2267,0},{4047,2265,0},{4048,2262,0},{4047,2258,0},{4040,2262,0},{4037,2267,0}, {4015,2255,0},{4010,2257,0},{4005,2257,0},{4002,2260,0},{3995,2272,0},{3987,2273,0}, {3980,2285,0},{3958,2293,0},{3953,2302,0},{3950,2308,0},{3947,2312,0},{3932,2327,0}, {3918,2335,0},{3915,2332,0},{3913,2323,0},{3913,2322,0},{3912,2323,0},{3910,2320,0}, {3908,2312,0},{3910,2305,0},{3915,2308,0},{3913,2312,0},{3910,2310,0},{3913,2317,0}, {3917,2318,0},{3915,2322,0},{3918,2322,0},{3922,2318,0},{3925,2318,0},{3930,2312,0}, {3932,2302,0},{3935,2300,0},{3937,2295,0},{3932,2293,0},{3930,2293,0},{3928,2285,0}, {3927,2282,0},{3918,2285,0},{3915,2285,0},{3917,2288,0},{3918,2287,0},{3918,2288,0}, {3917,2292,0},{3912,2292,0},{3910,2297,0},{3905,2300,0},{3903,2297,0},{3900,2297,0}, {3903,2303,0},{3903,2307,0},{3900,2302,0},{3895,2300,0},{3895,2293,0},{3893,2293,0}, {3892,2290,0},{3893,2285,0},{3888,2283,0},{3887,2275,0},{3888,2272,0},{3888,2267,0}, {3890,2265,0},{3892,2262,0},{3888,2258,0},{3888,2253,0},{3885,2252,0},{3885,2257,0}, {3883,2255,0},{3882,2260,0},{3885,2270,0},{3878,2275,0},{3878,2282,0},{3875,2287,0}, {3877,2290,0},{3875,2298,0},{3875,2303,0},{3872,2307,0},{3863,2308,0},{3863,2312,0}, {3865,2318,0},{3868,2317,0},{3868,2320,0},{3865,2325,0},{3865,2332,0},{3860,2333,0}, {3858,2330,0},{3855,2328,0},{3853,2338,0},{3852,2333,0},{3850,2333,0},{3850,2337,0}, {3850,2347,0},{3848,2353,0},{3850,2355,0},{3850,2358,0},{3847,2360,0},{3845,2357,0}, {3845,2360,0},{3842,2360,0},{3842,2363,0},{3835,2368,0},{3833,2370,0},{3833,2377,0}, {3832,2380,0},{3830,2393,0},{3820,2407,0},{3813,2407,0},{3815,2405,0},{3813,2402,0}, {3810,2398,0},{3800,2403,0},{3797,2402,0},{3793,2402,0},{3790,2405,0},{3788,2402,0}, {3787,2407,0},{3782,2405,0},{3780,2408,0},{3778,2408,0},{3775,2408,0},{3773,2407,0}, {3768,2407,0},{3765,2403,0},{3767,2395,0},{3772,2395,0},{3773,2392,0},{3777,2390,0}, {3782,2383,0},{3782,2382,0},{3780,2380,0},{3782,2378,0},{3780,2378,0},{3782,2377,0}, {3783,2377,0},{3785,2375,0},{3793,2368,0},{3793,2363,0},{3795,2365,0},{3795,2362,0}, {3797,2362,0},{3797,2357,0},{3798,2355,0},{3802,2360,0},{3805,2357,0},{3802,2347,0}, {3798,2340,0},{3798,2343,0},{3797,2342,0},{3797,2322,0},{3792,2313,0},{3792,2302,0}, {3790,2302,0},{3788,2298,0},{3785,2302,0},{3785,2312,0},{3780,2318,0},{3777,2318,0}, {3777,2312,0},{3773,2312,0},{3772,2317,0},{3768,2315,0},{3765,2317,0},{3762,2317,0}, {3753,2333,0},{3755,2337,0},{3762,2332,0},{3763,2338,0},{3762,2342,0},{3757,2338,0}, {3755,2337,0},{3753,2342,0},{3752,2340,0},{3750,2345,0},{3747,2352,0},{3743,2352,0}, {3742,2342,0},{3742,2335,0},{3740,2330,0},{3740,2327,0},{3738,2325,0},{3738,2327,0}, {3738,2323,0},{3737,2323,0},{3737,2325,0},{3735,2325,0},{3733,2327,0},{3733,2318,0}, {3730,2320,0},{3728,2318,0},{3730,2315,0},{3733,2315,0},{3732,2312,0},{3733,2313,0}, {3735,2312,0},{3737,2307,0},{3740,2307,0},{3740,2312,0},{3742,2312,0},{3742,2313,0}, {3745,2313,0},{3745,2305,0},{3747,2307,0},{3748,2305,0},{3745,2300,0},{3752,2298,0}, {3752,2293,0},{3753,2293,0},{3753,2290,0},{3752,2292,0},{3752,2285,0},{3753,2282,0}, {3758,2278,0},{3757,2272,0},{3752,2273,0},{3748,2273,0},{3742,2277,0},{3740,2275,0}, {3733,2283,0},{3725,2287,0},{3720,2292,0},{3712,2290,0},{3712,2295,0},{3708,2297,0}, {3708,2298,0},{3707,2298,0},{3708,2297,0},{3702,2300,0},{3698,2302,0},{3698,2300,0}, {3695,2302,0},{3687,2305,0},{3685,2305,0},{3682,2308,0},{3680,2310,0},{3678,2308,0}, {3677,2312,0},{3675,2308,0},{3673,2308,0},{3673,2307,0},{3673,2303,0},{3668,2303,0}, {3668,2307,0},{3667,2303,0},{3663,2303,0},{3658,2308,0},{3657,2313,0},{3653,2315,0}, {3650,2313,0},{3647,2320,0},{3643,2320,0},{3643,2308,0},{3652,2305,0},{3652,2297,0}, {3658,2295,0},{3663,2288,0},{3665,2288,0},{3667,2287,0},{3668,2283,0},{3665,2282,0}, {3667,2282,0},{3672,2282,0},{3680,2278,0},{3680,2273,0},{3680,2263,0},{3678,2260,0}, {3677,2257,0},{3673,2258,0},{3672,2253,0},{3668,2253,0},{3668,2255,0},{3665,2255,0}, {3667,2252,0},{3665,2252,0},{3662,2253,0},{3660,2252,0},{3662,2248,0},{3660,2248,0}, {3653,2248,0},{3645,2252,0},{3643,2248,0},{3640,2250,0},{3638,2248,0},{3645,2247,0}, {3648,2240,0},{3648,2238,0},{3652,2235,0},{3655,2237,0},{3653,2238,0},{3658,2238,0}, {3660,2238,0},{3660,2237,0},{3663,2237,0},{3665,2238,0},{3667,2237,0},{3670,2238,0}, {3670,2235,0},{3672,2233,0},{3682,2230,0},{3688,2223,0},{3690,2220,0},{3688,2217,0}, {3692,2213,0},{3693,2215,0},{3700,2217,0},{3702,2215,0},{3702,2203,0},{3698,2193,0}, {3687,2192,0},{3682,2193,0},{3680,2197,0},{3672,2188,0},{3680,2182,0},{3678,2177,0}, {3682,2170,0},{3688,2168,0},{3695,2172,0},{3695,2167,0},{3697,2168,0},{3695,2165,0}, {3700,2165,0},{3707,2158,0},{3715,2157,0},{3720,2158,0},{3727,2167,0},{3730,2170,0}, {3745,2165,0},{3753,2157,0},{3762,2145,0},{3765,2140,0},{3767,2133,0},{3765,2132,0}, {3763,2132,0},{3767,2130,0},{3772,2132,0},{3778,2130,0},{3782,2122,0},{3783,2112,0}, {3785,2110,0},{3793,2113,0},{3793,2117,0},{3793,2120,0},{3800,2128,0},{3800,2130,0}, {3802,2132,0},{3802,2128,0},{3812,2137,0},{3822,2137,0},{3818,2140,0},{3822,2140,0}, {3820,2142,0},{3820,2147,0},{3817,2153,0},{3815,2160,0},{3817,2167,0},{3822,2172,0}, {3827,2173,0},{3830,2177,0},{3833,2185,0},{3832,2202,0},{3827,2205,0},{3825,2213,0}, {3818,2222,128},{3817,2233,0},{3813,2242,0},{3813,2250,0},{3808,2265,0}, {3805,2272,0},{3797,2280,0},{3793,2287,0},{3795,2295,0},{3798,2298,0},{3803,2288,0}, {3803,2285,0},{3808,2295,0},{3805,2305,0},{3807,2317,0},{3810,2322,0},{3815,2318,0}, {3815,2323,0},{3817,2318,0},{3817,2313,0},{3818,2315,0},{3822,2312,0},{3817,2307,0}, {3818,2303,0},{3820,2305,0},{3822,2303,0},{3822,2293,0},{3820,2292,0},{3820,2297,0}, {3818,2297,0},{3818,2295,0},{3818,2292,0},{3823,2290,0},{3823,2288,0},{3823,2278,0}, {3825,2277,0},{3828,2280,0},{3832,2270,0},{3837,2268,0},{3838,2265,0},{3837,2263,0}, {3837,2265,0},{3835,2265,0},{3835,2262,0},{3833,2260,0},{3833,2258,0},{3832,2260,0}, {3828,2258,0},{3828,2255,0},{3833,2252,0},{3835,2253,0},{3842,2247,0},{3843,2243,0}, {3845,2240,0},{3842,2242,0},{3838,2238,0},{3837,2240,0},{3833,2238,0},{3835,2230,0}, {3833,2230,0},{3837,2225,0},{3833,2220,0},{3832,2218,0},{3833,2217,0},{3837,2213,0}, {3840,2205,0},{3842,2195,0},{3837,2188,0},{3840,2183,0},{3837,2178,0},{3833,2177,0}, {3835,2172,0},{3835,2165,0},{3833,2157,0},{3830,2152,0},{3833,2143,0},{3832,2147,0}, {3830,2148,0},{3833,2148,0},{3835,2148,0},{3837,2147,0},{3837,2143,0},{3838,2142,0}, {3840,2137,0},{3847,2137,0},{3850,2133,0},{3848,2130,0},{3845,2135,0},{3838,2133,0}, {3838,2130,0},{3837,2130,0},{3837,2127,0},{3833,2127,0},{3832,2123,0},{3833,2120,0}, {3832,2118,0},{3832,2120,0},{3830,2117,0},{3830,2118,0},{3830,2115,0},{3833,2113,0}, {3833,2108,0},{3835,2112,0},{3837,2110,0},{3838,2110,0},{3837,2110,0},{3840,2113,0}, {3842,2112,0},{3840,2110,0},{3842,2108,0},{3843,2108,0},{3842,2110,0},{3843,2112,0}, {3843,2110,0},{3848,2110,0},{3848,2108,0},{3848,2110,0},{3853,2110,0},{3850,2103,0}, {3853,2102,0},{3860,2103,0},{3865,2098,0},{3867,2098,0},{3867,2092,0},{3880,2087,0}, {3880,2085,0},{3877,2082,0},{3877,2080,0},{3875,2078,0},{3877,2077,0},{3878,2077,0}, {3880,2073,0},{3885,2073,0},{3887,2080,0},{3892,2075,0},{3895,2077,0},{3893,2078,0}, {3892,2082,0},{3893,2085,0},{3897,2087,0},{3893,2088,0},{3892,2087,0},{3892,2090,0}, {3895,2092,0},{3893,2095,0},{3895,2098,0},{3893,2100,0},{3893,2103,0},{3890,2102,0}, {3887,2108,0},{3892,2110,0},{3890,2115,0},{3887,2117,0},{3887,2118,0},{3890,2117,0}, {3892,2113,0},{3897,2113,0},{3898,2117,0},{3905,2108,0},{3903,2108,0},{3902,2103,0}, {3900,2107,0},{3900,2098,0},{3902,2100,0},{3903,2098,0},{3903,2095,0},{3905,2093,0}, {3903,2093,0},{3907,2095,0},{3907,2090,0},{3903,2087,0},{3903,2090,0},{3905,2083,0}, {3903,2083,0},{3903,2085,0},{3907,2087,0},{3907,2082,0},{3908,2085,0},{3912,2082,0}, {3908,2077,0},{3908,2080,0},{3902,2075,0},{3902,2073,0},{3897,2082,0},{3895,2083,0}, {3898,2077,0},{3895,2075,0},{3895,2073,0},{3898,2070,0},{3902,2072,0},{3907,2068,0}, {3912,2060,0},{3918,2055,0},{3922,2048,0},{3928,2048,0},{3928,2038,0},{3928,2035,0}, {3932,2030,0},{3938,2028,0},{3940,2023,0},{3943,2022,0},{3945,2027,0},{3948,2022,0}, {3950,2025,0},{3952,2025,0},{3952,2023,0},{3950,2022,0},{3952,2018,0},{3952,2017,0}, {3952,2020,0},{3953,2018,0},{3953,2013,0},{3957,2015,0},{3957,2017,0},{3962,2018,0}, {3965,2012,0},{3965,2010,0},{3968,2007,0},{3968,2002,0},{3970,1998,0},{3975,2000,0}, {3975,1998,0},{3977,2000,0},{3987,2002,0},{3990,1992,0},{3993,1993,0},{4003,1987,0}, {4005,1983,0},{4005,1980,0},{4007,1978,0},{4007,1977,0},{4010,1975,0},{4013,1965,0}, {4022,1947,0},{4030,1938,0},{4037,1935,0},{4042,1928,0},{4043,1932,0},{4042,1935,0}, {4038,1940,0},{4033,1942,0},{4035,1948,0},{4043,1948,0},{4053,1938,0},{4050,1943,0}, {4053,1945,0},{4057,1945,0},{4058,1940,0},{4057,1938,0},{4055,1938,0},{4057,1938,0}, {4065,1930,0},{4070,1935,0},{4080,1937,0},{4082,1940,0},{4085,1940,0},{4087,1942,0}, {4090,1938,0},{4095,1945,0},{4093,1942,0},{4090,1943,0},{4087,1943,0},{4088,1943,0}, {4087,1943,0},{4092,1952,0},{4100,1950,0},{4092,1945,0},{4098,1947,0},{4100,1947,0}, {4102,1943,0},{4110,1945,0},{4113,1943,0},{4115,1947,0},{4125,1952,0},{4130,1950,0}, {4130,1943,0},{4133,1942,0},{4138,1942,0},{4140,1938,0},{4140,1940,0},{4140,1945,0}, {4143,1945,0},{4145,1948,0},{4150,1952,0},{4153,1952,0},{4155,1947,0},{4158,1945,0}, {4157,1950,0},{4158,1957,0},{4162,1958,0},{4160,1960,0},{4160,1962,0},{4163,1960,0}, {4165,1957,0},{4170,1958,0},{4175,1957,0},{4177,1960,0},{4182,1960,0},{4187,1943,0}, {4185,1937,0},{4190,1928,0},{4192,1922,0},{4195,1915,0},{4198,1913,0},{4198,1915,0}, {4205,1913,0},{4208,1907,0},{4210,1908,0},{4213,1905,0},{4213,1900,0},{4217,1900,0}, {4222,1890,0},{4228,1888,0},{4227,1878,0},{4228,1877,0},{4232,1872,0},{4238,1868,0}, {4237,1862,0},{4238,1858,0},{4242,1855,0},{4243,1857,0},{4240,1870,0},{4248,1868,0}, {4243,1862,0},{4245,1852,0},{4240,1852,0},{4245,1847,0},{4245,1842,0},{4248,1838,0}, {4257,1823,0},{4258,1822,0},{4260,1823,0},{4262,1820,0},{4265,1807,0},{4267,1805,0}, {4267,1807,0},{4270,1805,0},{4268,1803,0},{4270,1800,0},{4277,1788,0},{4278,1788,0}, {4282,1780,0},{4280,1777,0},{4282,1772,0},{4278,1775,0},{4287,1745,0},{4288,1745,0}, {4292,1742,0},{4292,1737,0},{4298,1722,0},{4298,1712,0},{4300,1702,0},{4302,1703,0}, {4305,1700,0},{4305,1702,0},{4302,1707,0},{4302,1723,0},{4300,1730,0},{4295,1743,0}, {4292,1747,0},{4290,1757,0},{4283,1773,0},{4285,1770,0},{4288,1772,0},{4287,1770,0}, {4288,1767,0},{4293,1755,0},{4292,1762,0},{4293,1760,0},{4295,1752,0},{4300,1747,0}, {4303,1750,0},{4302,1743,0},{4303,1745,0},{4303,1743,0},{4307,1742,0},{4303,1740,0}, {4312,1733,0},{4317,1717,0},{4323,1710,0},{4323,1707,0},{4340,1688,0},{4342,1675,0}, {4345,1668,0},{4343,1663,0},{4350,1653,0},{4352,1640,0},{4353,1647,0},{4355,1643,0}, {4355,1632,0},{4352,1618,0},{4352,1613,0},{4352,1612,0},{4350,1617,0},{4348,1617,0}, {4348,1612,0},{4348,1610,0},{4350,1595,0},{4352,1595,0},{4352,1598,0},{4355,1598,0}, {4355,1593,0},{4357,1595,0},{4357,1592,0},{4358,1593,0},{4363,1592,0},{4363,1597,0}, {4365,1590,0},{4365,1595,0},{4367,1593,0},{4368,1595,0},{4367,1593,0},{4370,1588,0}, {4375,1578,0},{4377,1570,0},{4380,1567,0},{4382,1562,0},{4380,1568,0},{4393,1545,0}, {4403,1533,0},{4407,1528,0},{4410,1527,0},{4413,1520,0},{4415,1520,0},{4418,1515,0}, {4423,1517,0},{4427,1512,0},{4428,1512,0},{4428,1515,0},{4425,1518,0},{4425,1520,0}, {4428,1518,0},{4428,1520,0},{4430,1520,0},{4425,1528,0},{4428,1528,0},{4428,1530,0}, {4433,1527,0},{4427,1542,0},{4427,1543,0},{4425,1552,0},{4427,1553,0},{4428,1552,0}, {4428,1545,0},{4432,1542,0},{4437,1528,0},{4452,1510,0},{4458,1498,0},{4472,1488,0}, {4485,1488,0},{4497,1492,0},{4512,1485,0},{4515,1472,0},{4523,1462,0},{4527,1457,0}, {4528,1458,0},{4530,1457,0},{4530,1453,0},{4528,1455,0},{4530,1450,0},{4532,1448,0}, {4535,1433,0},{4530,1428,0},{4515,1423,0},{4512,1420,0},{4513,1418,0},{4510,1420,0}, {4508,1415,0},{4505,1415,0},{4498,1417,0},{4497,1415,0},{4497,1410,0},{4495,1407,0}, {4498,1408,0},{4503,1405,0},{4500,1403,0},{4498,1407,0},{4495,1405,0},{4495,1403,0}, {4492,1403,0},{4492,1402,0},{4490,1402,0},{4490,1398,0},{4488,1400,0},{4482,1397,0}, {4480,1400,0},{4482,1393,0},{4483,1392,0},{4482,1388,0},{4482,1392,0},{4477,1392,0}, {4477,1390,0},{4482,1390,0},{4482,1385,0},{4485,1385,0},{4487,1380,0},{4487,1383,0}, {4488,1385,0},{4490,1380,0},{4492,1380,0},{4497,1378,0},{4503,1368,0},{4505,1368,0}, {4507,1363,0},{4510,1363,0},{4512,1360,0},{4513,1362,0},{4513,1373,0},{4513,1360,0}, {4520,1358,0},{4525,1360,0},{4527,1358,0},{4528,1360,0},{4530,1358,0},{4532,1360,0}, {4533,1353,0},{4537,1355,0},{4548,1350,0},{4550,1350,0},{4548,1358,0},{4548,1360,0}, {4552,1360,0},{4553,1357,0},{4555,1375,0},{4557,1373,0},{4558,1370,0},{4560,1372,0}, {4562,1373,0},{4562,1380,0},{4563,1377,0},{4563,1375,0},{4567,1375,0},{4570,1373,0}, {4577,1363,0},{4578,1355,0},{4577,1353,0},{4575,1352,0},{4573,1355,0},{4567,1340,0}, {4568,1338,0},{4570,1343,0},{4573,1340,0},{4575,1325,0},{4578,1322,0},{4577,1318,0}, {4575,1315,0},{4577,1313,0},{4577,1312,0},{4573,1312,0},{4572,1307,0},{4570,1307,0}, {4568,1310,0},{4570,1315,0},{4563,1308,0},{4563,1298,0},{4562,1290,0},{4555,1275,0}, {4543,1242,0},{4548,1243,0},{4548,1247,0},{4550,1247,0},{4550,1250,0},{4548,1250,0}, {4548,1252,0},{4552,1253,0},{4555,1258,0},{4553,1255,0},{4555,1252,0},{4557,1250,0}, {4557,1248,0},{4553,1243,0},{4552,1245,0},{4553,1238,0},{4552,1238,0},{4550,1242,0}, {4550,1238,0},{4550,1237,0},{4548,1233,0},{4545,1227,0},{4537,1225,0},{4535,1222,0}, {4530,1222,0},{4532,1215,0},{4527,1217,0},{4527,1220,0},{4530,1220,0},{4528,1223,0}, {4527,1222,0},{4522,1222,0},{4520,1225,0},{4520,1227,0},{4520,1228,0},{4523,1230,0}, {4520,1230,0},{4515,1233,0},{4510,1233,0},{4512,1232,0},{4510,1230,0},{4508,1230,0}, {4508,1235,0},{4503,1238,0},{4502,1237,0},{4502,1238,0},{4503,1238,0},{4507,1237,0}, {4502,1243,0},{4503,1243,0},{4497,1248,0},{4497,1250,0},{4498,1248,0},{4498,1252,0}, {4497,1253,0},{4495,1252,0},{4492,1252,0},{4492,1250,0},{4487,1248,0},{4482,1245,0}, {4485,1243,0},{4490,1243,0},{4490,1242,0},{4487,1238,0},{4483,1242,0},{4482,1240,0}, {4482,1243,0},{4480,1242,0},{4480,1235,0},{4485,1230,0},{4483,1228,0},{4472,1225,0}, {4465,1225,0},{4460,1228,0},{4447,1228,0},{4440,1232,0},{4435,1232,0},{4422,1238,0}, {4398,1268,0},{4397,1282,0},{4383,1305,0},{4367,1330,0},{4362,1347,0},{4363,1352,0}, {4357,1357,0},{4355,1362,0},{4350,1363,0},{4310,1385,0},{4295,1388,0},{4268,1402,0}, {4253,1413,0},{4243,1427,0},{4238,1438,0},{4225,1452,0},{4222,1457,0},{4217,1472,0}, {4210,1472,0},{4208,1473,0},{4202,1488,0},{4200,1500,0},{4195,1507,0},{4192,1517,0}, {4192,1528,0},{4190,1540,0},{4193,1563,0},{4192,1568,0},{4192,1583,0},{4195,1602,0}, {4192,1615,0},{4188,1618,0},{4178,1618,0},{4168,1603,0},{4163,1593,0},{4162,1590,0}, {4152,1590,0},{4143,1598,0},{4123,1653,0},{4120,1658,0},{4108,1705,0},{4103,1718,0}, {4097,1728,0},{4090,1735,0},{4088,1740,0},{4083,1748,0},{4077,1770,0},{4070,1783,0}, {4068,1793,0},{4067,1797,0},{4065,1795,0},{4065,1802,0},{4060,1805,0},{4055,1803,0}, {4050,1813,0},{4045,1825,0},{4028,1843,0},{4013,1852,0},{4010,1852,0},{4005,1848,0}, {4003,1843,0},{4000,1842,0},{3992,1840,0},{3982,1838,0},{3980,1837,0},{3980,1833,0}, {3983,1827,0},{3983,1820,0},{3993,1805,0},{4000,1800,0},{4000,1802,0},{4003,1802,0}, {4005,1797,0},{4008,1800,0},{4010,1802,0},{4013,1798,0},{4017,1793,0},{4025,1792,0}, {4028,1787,0},{4030,1767,0},{4030,1752,0},{4033,1743,0},{4033,1740,0},{4042,1720,0}, {4045,1725,0},{4047,1723,0},{4047,1732,0},{4050,1732,0},{4048,1727,0},{4050,1725,0}, {4050,1723,0},{4048,1720,0},{4050,1718,0},{4052,1708,0},{4050,1700,0},{4045,1692,0}, {4032,1680,0},{4015,1670,0},{4010,1662,0},{4005,1660,0},{3997,1663,0},{3987,1653,0}, {3980,1648,0},{3975,1650,0},{3972,1653,0},{3967,1653,0},{3965,1655,0},{3962,1663,0}, {3962,1677,0},{3953,1688,0},{3950,1697,0},{3948,1702,0},{3943,1705,0},{3940,1717,0}, {3932,1712,0},{3927,1712,0},{3920,1715,0},{3910,1712,0},{3905,1715,0},{3902,1720,0}, {3900,1717,0},{3895,1717,0},{3890,1710,0},{3892,1708,0},{3890,1702,0},{3892,1700,0}, {3893,1697,0},{3892,1683,0},{3890,1678,0},{3880,1660,0},{3870,1653,0},{3868,1655,0}, {3857,1657,0},{3843,1657,0},{3835,1648,0},{3830,1633,0},{3813,1617,0},{3798,1612,0}, {3792,1607,0},{3792,1575,0},{3795,1567,0},{3800,1563,0},{3803,1565,0},{3808,1563,0}, {3815,1565,0},{3820,1563,0},{3823,1563,0},{3827,1575,0},{3830,1582,0},{3852,1592,0}, {3855,1592,0},{3862,1583,0},{3863,1583,0},{3867,1585,0},{3872,1598,0},{3872,1610,0}, {3872,1613,0},{3875,1618,0},{3883,1622,0},{3892,1622,0},{3893,1622,0},{3895,1615,0}, {3902,1610,0},{3913,1607,0},{3935,1603,0},{3952,1593,0},{3955,1587,0},{3970,1580,0}, {3980,1578,0},{3983,1577,0},{3987,1578,0},{4003,1567,0},{4005,1563,0},{4007,1563,0}, {4008,1557,0},{4007,1550,0},{3998,1542,0},{4000,1537,0},{4003,1532,0},{4003,1527,0}, {4005,1528,0},{4007,1527,0},{4017,1513,0},{4017,1503,0},{4022,1498,0},{4023,1492,0}, {4027,1490,0},{4028,1493,0},{4033,1493,0},{4035,1498,0},{4040,1500,0},{4057,1490,0}, {4067,1478,0},{4067,1473,0},{4063,1468,0},{4065,1463,0},{4062,1458,0},{4062,1452,0}, {4063,1448,0},{4062,1445,0},{4057,1435,0},{4058,1432,0},{4062,1433,0},{4063,1438,0}, {4067,1443,0},{4070,1448,0},{4075,1445,0},{4077,1440,0},{4082,1432,0},{4083,1427,0}, {4082,1422,0},{4080,1418,0},{4083,1410,0},{4082,1407,0},{4078,1408,0},{4080,1405,0}, {4087,1405,0},{4097,1398,0},{4102,1392,0},{4108,1390,0},{4118,1380,0},{4125,1372,0}, {4125,1360,0},{4123,1357,0},{4122,1358,0},{4120,1357,0},{4128,1335,0},{4130,1330,0}, {4127,1317,0},{4122,1310,0},{4122,1305,0},{4130,1300,0},{4138,1292,0},{4142,1283,0}, {4140,1277,0},{4147,1267,0},{4145,1262,0},{4162,1247,0},{4168,1235,0},{4173,1223,0}, {4187,1218,0},{4193,1212,0},{4195,1203,0},{4198,1202,0},{4203,1192,0},{4203,1183,0}, {4213,1175,0},{4222,1170,0},{4230,1162,0},{4240,1138,0},{4240,1140,0},{4240,1137,0}, {4240,1128,0},{4242,1127,0},{4240,1120,0},{4237,1118,0},{4237,1115,0},{4240,1110,0}, {4243,1108,0},{4245,1110,0},{4245,1117,0},{4252,1118,0},{4257,1115,0},{4257,1112,0}, {4263,1108,0},{4265,1100,0},{4270,1098,0},{4275,1093,0},{4278,1078,0},{4280,1073,0}, {4282,1077,0},{4288,1078,0},{4292,1075,0},{4295,1067,0},{4295,1058,0},{4295,1055,0}, {4292,1053,0},{4293,1050,0},{4298,1048,0},{4300,1052,0},{4307,1053,0},{4315,1055,0}, {4323,1053,0},{4340,1042,0},{4345,1037,0},{4347,1032,0},{4355,1030,0},{4383,1025,0}, {4390,1022,0},{4402,1010,0},{4405,1000,0},{4403,997,0},{4410,983,0},{4408,982,0}, {4407,985,0},{4405,983,0},{4403,985,0},{4403,983,0},{4405,982,0},{4410,973,0}, {4413,967,0},{4413,962,0},{4417,960,0},{4422,950,0},{4423,948,0},{4423,943,0}, {4425,942,0},{4425,940,0},{4430,933,0},{4435,923,0},{4433,922,0},{4430,922,0}, {4432,915,0},{4437,913,0},{4438,895,0},{4442,892,0},{4443,877,0},{4432,850,0}, {4428,843,0},{4425,845,0},{4422,842,0},{4418,842,0},{4413,827,0},{4410,823,0}, {4405,823,0},{4400,815,0},{4395,817,0},{4390,807,0},{4385,795,0},{4382,777,0}, {4378,768,0},{4378,760,0},{4378,753,0},{4378,750,0},{4378,748,0},{4375,747,0}, {4375,743,0},{4375,745,128},{4372,738,0},{4373,740,128},{4372,733,0},{4368,733,0}, {4372,732,0},{4370,723,0},{4367,722,0},{4367,715,0},{4363,713,0},{4357,713,0}, {4358,710,0},{4357,702,0},{4355,697,0},{4352,695,0},{4350,695,0},{4343,688,0}, {4342,685,0},{4343,675,0},{4337,672,0},{4335,667,0},{4332,667,0},{4328,658,0}, {4328,670,0},{4323,667,0},{4322,668,0},{4320,663,0},{4318,663,0},{4317,662,0}, {4318,660,0},{4320,660,0},{4320,657,0},{4317,650,0},{4317,640,0},{4313,637,0}, {4308,637,0},{4313,627,0},{4313,618,0},{4310,617,0},{4307,615,0},{4307,618,0}, {4305,617,0},{4305,608,0},{4307,612,0},{4310,612,0},{4310,603,0},{4312,602,0}, {4312,593,0},{4313,593,0},{4312,588,0},{4308,593,0},{4308,590,0},{4305,587,0}, {4307,583,0},{4308,577,0},{4312,582,0},{4312,578,0},{4315,577,0},{4315,570,0}, {4318,568,0},{4318,562,0},{4318,560,0},{4318,558,0},{4322,553,0},{4320,550,0}, {4322,547,0},{4322,537,0},{4323,535,0},{4327,537,0},{4328,535,0},{4333,537,0}, {4337,532,0},{4333,522,0},{4335,503,0},{4338,502,0},{4340,502,0},{4342,507,0}, {4342,515,0},{4347,523,0},{4350,522,0},{4348,517,0},{4350,512,0},{4353,512,0}, {4353,505,0},{4355,503,0},{4350,500,0},{4348,502,0},{4347,505,0},{4343,507,0}, {4342,498,0},{4343,492,0},{4342,487,0},{4340,485,0},{4338,487,0},{4337,487,0}, {4343,475,0},{4352,475,0},{4357,472,0},{4357,470,0},{4355,470,0},{4352,473,0}, {4342,473,0},{4338,482,0},{4337,482,0},{4335,480,0},{4337,460,0},{4338,457,0}, {4343,460,0},{4345,453,0},{4345,437,0},{4348,418,0},{4350,415,0},{4353,415,0}, {4357,412,0},{4357,395,0},{4358,408,0},{4362,410,0},{4355,388,0},{4353,387,0}, {4352,382,0},{4348,380,0},{4343,370,0},{4345,377,0},{4353,388,0},{4355,393,0}, {4342,370,0},{4338,362,0},{4328,352,0},{4328,340,0},{4322,327,0},{4308,315,0}, {4310,312,0},{4312,313,0},{4312,310,0},{4308,310,0},{4307,313,0},{4305,313,0}, {4295,308,0},{4295,307,0},{4298,308,0},{4298,307,0},{4297,305,0},{4293,310,0}, {4290,310,0},{4290,305,0},{4287,305,0},{4283,300,0},{4282,302,0},{4280,308,0}, {4268,308,0},{4270,305,0},{4268,305,0},{4265,308,0},{4255,310,0},{4252,315,0}, {4243,322,0},{4238,320,0},{4235,323,0},{4235,325,0},{4233,332,0},{4232,335,0}, {4225,330,0},{4225,322,0},{4227,320,0},{4225,317,0},{4222,315,0},{4215,315,0}, {4208,323,0},{4202,323,0},{4197,327,0},{4188,322,0},{4185,313,0},{4180,308,0}, {4173,297,0},{4172,287,0},{4163,275,0},{4145,228,0},{4132,215,0},{4127,207,0}, {4125,193,0},{4120,168,0},{4118,152,0},{4113,140,0},{4112,123,0},{4107,118,0}, {4108,113,0},{4107,105,0},{4103,98,0},{4097,88,0},{4080,72,0},{4077,78,0}, {4080,77,0},{4080,80,0},{4072,90,0},{4068,87,0},{4067,77,0},{4057,67,0}, {4060,62,0},{4060,70,0},{4065,73,0},{4063,62,0},{4060,58,0},{4030,37,0}, {4025,30,0},{4022,28,0},{4017,20,0},{4007,13,0},{4003,5,0},{3995,0,0},{3992,-2,0}, {3980,-13,0},{3970,-20,0},{3965,-22,0},{3955,-32,0},{3950,-33,0},{3938,-33,0}, {3918,-23,0},{3917,-25,0},{3912,-25,0},{3893,-12,0},{3887,0,0},{3885,10,0}, {3882,17,0},{3880,18,0},{3880,17,0},{3877,22,0},{3873,22,0},{3872,17,0}, {3868,13,0},{3867,8,0},{3863,7,0},{3862,0,0},{3860,-7,0},{3858,-7,0},{3855,-7,0}, {3853,-10,0},{3853,-17,0},{3845,-38,0},{3840,-42,0},{3835,-42,0},{3835,-47,0}, {3833,-48,0},{3833,-52,0},{3820,-53,0},{3818,-62,0},{3815,-67,0},{3805,-67,0}, {3798,-65,0},{3795,-70,0},{3790,-75,0},{3783,-77,0},{3780,-75,0},{3782,-78,0}, {3780,-80,0},{3777,-82,0},{3775,-85,0},{3773,-87,0},{3767,-82,0},{3763,-75,0}, {3765,-72,0},{3763,-70,0},{3762,-72,0},{3755,-92,0},{3758,-98,0},{3758,-107,0}, {3757,-112,0},{3753,-112,0},{3757,-122,0},{3755,-135,0},{3748,-147,0},{3743,-150,0}, {3743,-153,0},{3742,-157,0},{3738,-165,0},{3720,-182,0},{3698,-192,0},{3695,-190,0}, {3693,-195,0},{3690,-200,0},{3685,-202,0},{3673,-213,0},{3673,-218,0},{3673,-222,0}, {3680,-228,0},{3683,-237,0},{3682,-243,0},{3682,-258,0},{3673,-265,0},{3670,-272,0}, {3670,-277,0},{3672,-282,0},{3670,-285,0},{3675,-292,0},{3677,-310,0},{3675,-333,0}, {3670,-345,0},{3675,-363,0},{3673,-373,0},{3675,-385,0},{3673,-395,0},{3675,-408,0}, {3673,-412,0},{3672,-423,0},{3672,-442,0},{3662,-450,0},{3657,-460,0},{3650,-465,0}, {3648,-475,0},{3652,-487,0},{3650,-493,0},{3647,-500,0},{3642,-518,0},{3635,-525,0}, {3630,-527,0},{3627,-532,0},{3615,-537,0},{3617,-537,128},{3610,-537,0}, {3615,-538,0},{3617,-543,0},{3615,-547,0},{3607,-545,0},{3605,-547,0},{3600,-562,0}, {3605,-568,0},{3607,-577,0},{3608,-582,0},{3618,-593,0},{3618,-605,0},{3628,-612,0}, {3632,-617,0},{3637,-618,0},{3645,-623,0},{3653,-632,0},{3655,-630,0},{3653,-628,0}, {3648,-623,0},{3652,-618,0},{3652,-622,0},{3652,-625,0},{3657,-623,0},{3662,-630,0}, {3663,-638,0},{3673,-643,0},{3675,-643,0},{3680,-633,0},{3687,-635,0},{3690,-633,0}, {3690,-630,0},{3690,-622,0},{3693,-620,0},{3692,-623,0},{3690,-633,0},{3682,-635,0}, {3680,-637,0},{3682,-640,0},{3693,-647,0},{3703,-660,0},{3718,-690,0},{3722,-692,0}, {3728,-685,0},{3722,-693,0},{3723,-697,0},{3717,-693,0},{3722,-708,0},{3722,-713,0}, {3720,-710,0},{3720,-733,0},{3718,-738,0},{3718,-742,0},{3717,-742,0},{3718,-745,0}, {3717,-753,0},{3698,-783,0},{3702,-790,0},{3700,-797,0},{3700,-800,0},{3698,-797,0}, {3705,-807,0},{3707,-815,0},{3707,-830,0},{3710,-837,0},{3708,-845,0},{3712,-853,0}, {3712,-860,0},{3712,-865,0},{3708,-868,0},{3705,-885,0},{3700,-895,0},{3703,-900,0}, {3715,-892,0},{3718,-892,0},{3725,-888,0},{3732,-888,0},{3743,-882,0},{3753,-880,0}, {3760,-883,0},{3768,-882,0},{3770,-878,0},{3770,-875,0},{3773,-873,0},{3772,-880,0}, {3773,-882,0},{3788,-882,0},{3792,-883,0},{3795,-890,0},{3813,-880,0},{3825,-880,0}, {3840,-883,0},{3848,-895,0},{3848,-890,0},{3845,-885,0},{3843,-880,0},{3842,-878,0}, {3843,-877,0},{3840,-870,0},{3842,-860,0},{3842,-868,0},{3845,-873,0},{3850,-875,0}, {3852,-873,0},{3857,-877,0},{3853,-878,0},{3852,-882,0},{3852,-878,0},{3848,-880,0}, {3848,-883,0},{3852,-892,0},{3847,-900,0},{3845,-907,0},{3842,-923,0},{3847,-920,0}, {3872,-950,0},{3875,-948,0},{3880,-950,0},{3893,-943,0},{3908,-943,0},{3923,-935,0}, {3932,-935,0},{3937,-942,0},{3938,-933,0},{3943,-925,0},{3940,-923,0},{3942,-920,0}, {3945,-923,0},{3955,-913,0},{3972,-907,0},{3983,-900,0},{4013,-887,0},{4012,-882,0}, {4012,-878,0},{4015,-882,0},{4015,-888,0},{4018,-892,0},{4040,-882,0},{4062,-877,0}, {4063,-875,0},{4062,-875,0},{4065,-872,0},{4065,-868,0},{4067,-868,0},{4067,-867,0}, {4070,-865,0},{4070,-867,0},{4072,-867,0},{4073,-862,0},{4075,-857,0},{4073,-863,0}, {4073,-867,0},{4075,-868,0},{4078,-868,0},{4082,-863,0},{4083,-865,0},{4080,-867,0}, {4082,-868,0},{4075,-870,0},{4067,-873,0},{4067,-875,0},{4097,-865,0},{4113,-867,0}, {4115,-865,0},{4117,-870,0},{4120,-872,0},{4133,-875,0},{4133,-877,0},{4140,-878,0}, {4152,-880,0},{4153,-878,0},{4155,-880,0},{4167,-883,0},{4170,-873,0},{4172,-870,0}, {4168,-882,0},{4170,-885,0},{4172,-888,0},{4175,-890,0},{4180,-888,0},{4183,-888,0}, {4192,-877,0},{4197,-875,0},{4188,-887,0},{4197,-888,0},{4212,-890,0},{4213,-885,0}, {4212,-882,0},{4213,-882,0},{4217,-885,0},{4217,-882,0},{4223,-877,0},{4230,-863,0}, {4235,-862,0},{4233,-865,0},{4230,-867,0},{4225,-878,0},{4227,-887,0},{4230,-885,0}, {4228,-882,0},{4233,-883,0},{4233,-877,0},{4243,-865,0},{4243,-870,0},{4240,-877,0}, {4240,-883,0},{4242,-887,0},{4243,-888,0},{4247,-890,0},{4247,-893,0},{4248,-893,0}, {4250,-888,0},{4248,-887,0},{4247,-887,0},{4247,-882,0},{4247,-883,0},{4250,-882,0}, {4257,-883,0},{4260,-877,0},{4268,-873,0},{4265,-875,0},{4263,-880,0},{4268,-885,0}, {4262,-887,0},{4262,-888,0},{4263,-890,0},{4262,-892,0},{4258,-892,0},{4258,-897,0}, {4255,-898,0},{4253,-900,0},{4253,-903,0},{4258,-903,0},{4260,-907,0},{4268,-903,0}, {4273,-902,0},{4275,-895,0},{4278,-893,0},{4280,-890,0},{4283,-888,0},{4283,-892,0}, {4282,-892,0},{4280,-895,0},{4280,-905,0},{4278,-905,0},{4275,-908,0},{4277,-910,0}, {4282,-913,0},{4283,-910,0},{4287,-915,0},{4292,-913,0},{4295,-918,0},{4292,-920,0}, {4295,-923,0},{4292,-925,0},{4290,-927,0},{4293,-928,0},{4302,-925,0},{4307,-928,0}, {4307,-925,0},{4310,-925,0},{4310,-922,0},{4312,-922,0},{4310,-918,0},{4312,-917,0}, {4313,-915,0},{4315,-910,0},{4313,-920,0},{4315,-922,0},{4318,-918,0},{4320,-907,0}, {4325,-902,0},{4323,-898,0},{4323,-893,0},{4378,-790,0},{4377,-787,0},{4372,-785,0}, {4373,-787,0},{4368,-787,0},{4368,-790,0},{4367,-787,0},{4368,-785,0},{4372,-787,0}, {4372,-782,0},{4373,-782,0},{4377,-773,0},{4380,-768,0},{4378,-767,0},{4373,-770,0}, {4377,-765,0},{4373,-762,0},{4370,-762,0},{4373,-757,0},{4373,-748,0},{4372,-748,0}, {4368,-737,0},{4362,-730,0},{4360,-727,0},{4357,-727,0},{4358,-703,0},{4357,-703,0}, {4353,-705,0},{4350,-705,0},{4355,-702,0},{4357,-702,0},{4358,-695,0},{4357,-672,0}, {4358,-665,0},{4358,-660,0},{4357,-650,0},{4357,-647,0},{4358,-647,0},{4357,-642,0}, {4358,-632,0},{4362,-623,0},{4358,-618,0},{4358,-607,0},{4360,-602,0},{4360,-592,0}, {4365,-590,0},{4365,-587,0},{4368,-585,0},{4365,-578,0},{4358,-570,0},{4360,-570,0}, {4357,-567,0},{4357,-540,0},{4355,-538,0},{4352,-542,0},{4355,-537,0},{4355,-530,0}, {4350,-520,0},{4350,-508,0},{4348,-505,0},{4348,-497,0},{4348,-495,0},{4343,-473,0}, {4342,-453,0},{4342,-450,0},{4340,-448,0},{4342,-443,0},{4340,-438,0},{4342,-435,0}, {4340,-432,0},{4342,-423,0},{4345,-408,0},{4345,-403,0},{4347,-402,0},{4345,-397,0}, {4347,-397,0},{4350,-393,0},{4352,-382,0},{4350,-377,0},{4347,-383,0},{4343,-382,0}, {4347,-377,0},{4345,-373,0},{4348,-375,0},{4348,-373,0},{4350,-372,0},{4350,-368,0}, {4353,-358,0},{4350,-350,0},{4348,-343,0},{4347,-343,0},{4345,-350,0},{4342,-347,0}, {4345,-345,0},{4342,-325,0},{4338,-317,0},{4337,-307,0},{4333,-302,0},{4340,-303,0}, {4343,-295,0},{4345,-293,0},{4345,-282,0},{4347,-275,0},{4343,-270,0},{4338,-268,0}, {4342,-267,0},{4340,-252,0},{4332,-235,0},{4332,-218,0},{4332,-215,0},{4330,-213,0}, {4335,-197,0},{4333,-190,0},{4335,-192,0},{4342,-180,0},{4340,-177,0},{4343,-160,0}, {4353,-150,0},{4390,-138,0},{4427,-128,0},{4450,-125,0},{4455,-127,0},{4467,-120,0}, {4465,-113,0},{4467,-105,0},{4467,-103,0},{4472,-107,0},{4477,-117,0},{4468,-123,0}, {4463,-125,0},{4467,-127,0},{4512,-120,0},{4523,-117,0},{4548,-115,0},{4555,-108,0}, {4557,-107,0},{4555,-105,0},{4552,-105,0},{4548,-100,0},{4545,-93,0},{4535,-80,0}, {4523,-73,0},{4510,-70,0},{4505,-65,0},{4498,-57,0},{4490,-55,0},{4498,-53,0}, {4502,-60,0},{4502,-55,0},{4500,-50,0},{4503,-52,0},{4505,-60,0},{4508,-65,0}, {4513,-67,0},{4535,-72,0},{4547,-78,0},{4555,-92,0},{4558,-98,0},{4562,-100,0}, {4568,-115,0},{4570,-118,0},{4570,-125,0},{4580,-123,0},{4580,-115,0},{4575,-110,0}, {4572,-98,0},{4578,-110,0},{4587,-115,0},{4587,-112,0},{4590,-112,0},{4590,-107,0}, {4595,-108,0},{4597,-107,0},{4602,-112,0},{4600,-108,0},{4602,-105,0},{4603,-105,0}, {4605,-108,0},{4610,-110,0},{4612,-113,0},{4612,-112,0},{4615,-115,0},{4615,-120,0}, {4617,-122,0},{4622,-118,0},{4627,-110,0},{4632,-112,0},{4633,-117,0},{4632,-120,0}, {4627,-122,0},{4633,-130,0},{4632,-130,0},{4635,-135,0},{4633,-145,0},{4640,-147,0}, {4642,-150,0},{4642,-163,0},{4645,-163,0},{4645,-168,0},{4648,-175,0},{4652,-178,0}, {4650,-178,0},{4648,-180,0},{4660,-182,0},{4660,-185,0},{4663,-187,0},{4670,-192,0}, {4670,-197,0},{4677,-200,0},{4683,-213,0},{4690,-213,0},{4692,-210,0},{4693,-208,0}, {4695,-205,0},{4700,-203,0},{4703,-198,0},{4710,-205,0},{4713,-223,0},{4717,-217,0}, {4727,-217,0},{4730,-202,0},{4727,-195,0},{4728,-193,0},{4727,-190,0},{4727,-192,0}, {4725,-190,0},{4722,-180,0},{4722,-173,0},{4723,-180,0},{4728,-188,0},{4732,-202,0}, {4732,-217,0},{4728,-218,0},{4723,-228,0},{4728,-237,0},{4728,-242,0},{4727,-243,0}, {4728,-248,0},{4730,-253,0},{4728,-247,0},{4730,-243,0},{4733,-248,0},{4732,-250,0}, {4735,-250,0},{4738,-255,0},{4742,-247,0},{4740,-243,0},{4742,-243,0},{4742,-238,0}, {4742,-245,0},{4745,-245,0},{4745,-248,0},{4750,-248,0},{4750,-237,0},{4750,-243,0}, {4753,-252,0},{4752,-263,0},{4755,-257,0},{4753,-263,0},{4752,-262,0},{4753,-267,0}, {4750,-268,0},{4750,-285,0},{4753,-287,0},{4755,-292,0},{4757,-292,0},{4757,-287,0}, {4755,-285,0},{4755,-282,0},{4757,-282,0},{4755,-280,0},{4755,-273,0},{4757,-272,0}, {4760,-268,0},{4763,-270,0},{4760,-270,0},{4762,-277,0},{4762,-273,0},{4763,-275,0}, {4765,-278,0},{4763,-278,0},{4762,-285,0},{4760,-285,0},{4760,-288,0},{4758,-288,0}, {4758,-292,0},{4760,-292,0},{4760,-293,0},{4763,-293,0},{4765,-298,0},{4763,-297,0}, {4757,-293,0},{4757,-297,0},{4760,-300,0},{4757,-300,0},{4760,-302,0},{4757,-302,0}, {4757,-310,0},{4758,-308,0},{4760,-312,0},{4750,-312,0},{4747,-308,0},{4747,-313,0}, {4752,-315,0},{4758,-313,0},{4762,-315,0},{4763,-320,0},{4768,-318,0},{4770,-312,0}, {4773,-312,0},{4772,-313,0},{4775,-313,0},{4773,-315,0},{4775,-318,0},{4773,-317,0}, {4772,-317,0},{4770,-320,0},{4768,-320,0},{4765,-322,0},{4770,-332,0},{4770,-335,0}, {4768,-328,0},{4770,-332,0},{4772,-335,0},{4778,-328,0},{4773,-335,0},{4773,-340,0}, {4773,-337,0},{4772,-337,0},{4770,-345,0},{4777,-353,0},{4778,-368,0},{4782,-372,0}, {4780,-377,0},{4780,-385,0},{4790,-395,0},{4790,-398,0},{4787,-398,0},{4785,-403,0}, {4787,-400,0},{4787,-408,0},{4792,-413,0},{4790,-415,0},{4787,-412,0},{4785,-415,0}, {4787,-417,0},{4788,-418,0},{4787,-418,0},{4783,-418,0},{4783,-415,0},{4780,-418,0}, {4780,-425,0},{4780,-437,0},{4783,-437,0},{4783,-435,0},{4787,-435,0},{4797,-443,0}, {4802,-453,0},{4800,-457,0},{4803,-463,0},{4803,-473,0},{4807,-470,0},{4808,-455,0}, {4812,-437,0},{4810,-430,0},{4812,-428,0},{4815,-428,0},{4820,-432,0},{4820,-437,0}, {4823,-443,0},{4823,-450,0},{4820,-452,0},{4817,-455,0},{4820,-455,0},{4823,-457,0}, {4825,-455,0},{4827,-462,0},{4828,-462,0},{4828,-458,0},{4832,-458,0},{4833,-457,0}, {4833,-453,0},{4830,-455,0},{4828,-450,0},{4830,-430,0},{4828,-425,0},{4830,-418,0}, {4830,-423,0},{4832,-423,0},{4830,-425,0},{4832,-428,0},{4832,-432,0},{4835,-427,0}, {4835,-432,0},{4833,-438,0},{4833,-440,0},{4835,-440,0},{4833,-445,0},{4837,-443,0}, {4843,-430,0},{4835,-460,0},{4833,-477,0},{4837,-478,0},{4838,-477,0},{4843,-478,0}, {4847,-477,0},{4847,-475,0},{4852,-478,0},{4857,-470,0},{4857,-458,0},{4858,-460,0}, {4860,-460,0},{4860,-453,0},{4862,-457,0},{4863,-453,0},{4863,-450,0},{4863,-442,0}, {4865,-442,0},{4868,-433,0},{4867,-430,0},{4863,-430,0},{4865,-423,0},{4865,-420,0}, {4867,-422,0},{4868,-418,0},{4870,-410,0},{4868,-407,0},{4868,-405,0},{4872,-405,0}, {4873,-398,0},{4865,-395,0},{4868,-392,0},{4867,-390,0},{4865,-390,0},{4863,-385,0}, {4868,-387,0},{4867,-385,0},{4868,-383,0},{4870,-385,0},{4873,-382,0},{4870,-367,0}, {4870,-365,0},{4868,-363,0},{4868,-358,0},{4873,-358,0},{4873,-353,0},{4877,-358,0}, {4880,-357,0},{4880,-353,0},{4883,-353,0},{4883,-347,0},{4882,-345,0},{4882,-342,0}, {4880,-343,0},{4883,-332,0},{4883,-328,0},{4887,-322,0},{4883,-320,0},{4880,-322,0}, {4885,-318,0},{4887,-310,0},{4887,-308,0},{4882,-308,0},{4875,-312,0},{4882,-307,0}, {4882,-302,0},{4880,-300,0},{4878,-305,0},{4877,-297,0},{4877,-295,0},{4875,-293,0}, {4873,-293,0},{4865,-282,0},{4860,-282,0},{4855,-272,0},{4853,-273,0},{4850,-268,0}, {4853,-267,0},{4853,-263,0},{4860,-255,0},{4862,-247,0},{4863,-247,0},{4865,-248,0}, {4865,-242,0},{4863,-242,0},{4865,-238,0},{4867,-233,0},{4870,-232,0},{4867,-228,0}, {4862,-233,0},{4865,-225,0},{4863,-223,0},{4858,-222,0},{4862,-220,0},{4858,-218,0}, {4862,-215,0},{4862,-213,0},{4863,-215,0},{4865,-210,0},{4865,-205,0},{4853,-197,0}, {4852,-198,0},{4853,-193,0},{4853,-197,0},{4858,-198,0},{4858,-195,0},{4860,-200,0}, {4865,-203,0},{4867,-200,0},{4868,-198,0},{4868,-193,0},{4870,-193,0},{4872,-185,0}, {4870,-185,0},{4865,-187,0},{4863,-185,0},{4860,-177,0},{4862,-163,0},{4863,-158,0}, {4863,-150,0},{4865,-142,0},{4863,-135,0},{4867,-140,0},{4868,-150,0},{4872,-152,0}, {4875,-157,0},{4883,-157,0},{4883,-160,0},{4887,-158,0},{4893,-155,0},{4895,-157,0}, {4902,-155,0},{4902,-150,0},{4903,-153,0},{4902,-157,0},{4900,-158,0},{4903,-160,0}, {4908,-158,0},{4910,-162,0},{4913,-160,0},{4913,-157,0},{4915,-160,0},{4922,-162,0}, {4922,-155,0},{4923,-162,0},{4922,-162,0},{4922,-163,0},{4928,-167,0},{4932,-170,0}, {4933,-168,0},{4935,-170,0},{4933,-172,0},{4938,-177,0},{4938,-182,0},{4945,-182,0}, {4950,-185,0},{4953,-188,0},{4958,-183,0},{4963,-185,0},{4965,-187,0},{4968,-195,0}, {4973,-193,0},{4970,-188,0},{4972,-185,0},{4968,-182,0},{4967,-168,0},{4967,-167,0}, {4965,-160,0},{4967,-152,0},{4970,-147,0},{4970,-125,0},{4962,-123,0},{4962,-125,0}, {4958,-127,0},{4958,-130,0},{4955,-130,0},{4940,-117,0},{4935,-118,0},{4935,-113,0}, {4933,-113,0},{4935,-110,0},{4937,-112,0},{4940,-107,0},{4940,-98,0},{4940,-92,0}, {4937,-83,0},{4933,-40,0},{4928,-25,0},{4927,-23,0},{4928,-20,0},{4930,-10,0}, {4933,0,0},{4937,8,0},{4942,15,0},{4943,22,0},{4945,42,0},{4948,50,0},{4945,35,0}, {4947,25,0},{4948,18,0},{4947,18,0},{4947,17,0},{4952,8,0},{4968,17,0}, {4972,22,0},{4975,35,0},{4987,63,0},{4987,78,0},{4992,97,0},{4993,107,0}, {4998,123,0},{5010,143,0},{5020,152,0},{5022,155,0},{5020,158,0},{5018,167,0}, {5020,165,0},{5022,167,0},{5022,163,0},{5028,153,0},{5037,155,0},{5037,162,0}, {5040,155,0},{5053,158,0},{5055,160,0},{5058,158,0},{5068,157,0},{5078,160,0}, {5087,158,0},{5088,165,0},{5095,173,0},{5098,185,0},{5102,212,0},{5105,232,0}, {5105,242,0},{5108,255,0},{5132,310,0},{5138,338,0},{5137,337,128},{5142,353,0}, {5138,368,0},{5135,373,0},{5133,387,0},{5137,397,0},{5140,398,0},{5140,403,0}, {5137,407,0},{5135,412,0},{5137,422,0},{5130,427,0},{5128,432,0},{5127,430,0}, {5128,433,0},{5132,428,0},{5142,425,0},{5140,415,0},{5142,408,0},{5145,398,0}, {5145,393,0},{5140,390,0},{5140,380,0},{5142,375,0},{5147,368,0},{5145,362,0}, {5145,353,0},{5153,343,0},{5160,357,0},{5160,383,0},{5160,387,0},{5157,390,0}, {5155,387,0},{5153,397,0},{5150,405,0},{5145,410,0},{5143,415,0},{5145,428,0}, {5148,428,0},{5152,423,0},{5153,408,0},{5158,400,0},{5162,408,0},{5160,417,0}, {5158,422,0},{5162,420,0},{5162,413,0},{5165,412,0},{5162,398,0},{5163,390,0}, {5167,388,0},{5170,382,0},{5167,372,0},{5168,368,0},{5172,368,0},{5173,372,0}, {5175,383,0},{5178,387,0},{5182,388,0},{5185,398,0},{5183,405,0},{5183,408,0}, {5188,403,0},{5192,405,0},{5198,402,0},{5198,412,0},{5200,415,0},{5223,443,0}, {5245,457,0},{5247,460,0},{5248,458,0},{5275,465,0},{5297,473,0},{5297,482,0}, {5292,482,0},{5290,488,0},{5297,510,0},{5307,528,0},{5308,538,0},{5322,545,0}, {5328,558,0},{5340,598,0},{5342,625,0},{5340,632,0},{5347,675,0},{5343,687,0}, {5340,688,0},{5335,690,0},{5332,695,0},{5330,705,0},{5330,708,0},{5327,707,0}, {5325,710,0},{5323,718,0},{5325,722,0},{5492,867,128},{5483,863,0},{5475,870,0}, {5473,868,0},{5468,882,0},{5462,885,0},{5460,882,0},{5460,890,0},{5450,902,0}, {5445,900,0},{5445,895,0},{5440,887,0},{5440,863,0},{5437,863,0},{5435,870,0}, {5435,862,0},{5433,860,0},{5428,863,0},{5427,868,0},{5430,873,0},{5428,890,0}, {5432,897,0},{5427,892,0},{5425,885,0},{5418,882,0},{5412,887,0},{5415,895,0}, {5415,898,0},{5412,898,0},{5408,902,0},{5403,900,0},{5402,898,0},{5405,888,0}, {5403,883,0},{5398,888,0},{5395,890,0},{5388,898,0},{5390,903,0},{5388,922,0}, {5385,933,0},{5382,940,0},{5373,943,0},{5370,953,0},{5362,957,0},{5357,968,0}, {5355,982,0},{5353,983,0},{5355,968,0},{5358,957,0},{5387,928,0},{5385,908,0}, {5385,902,0},{5383,902,0},{5383,890,0},{5383,880,0},{5385,873,0},{5390,867,0}, {5388,860,0},{5385,858,0},{5370,848,0},{5365,848,0},{5353,857,0},{5347,850,0}, {5335,850,0},{5347,848,0},{5353,855,0},{5357,838,0},{5362,835,0},{5362,832,0}, {5360,825,0},{5353,823,0},{5352,823,0},{5352,832,0},{5343,830,0},{5340,823,0}, {5340,820,0},{5345,815,0},{5343,810,0},{5347,807,0},{5350,807,0},{5352,817,0}, {5353,817,0},{5357,815,0},{5357,812,0},{5358,812,0},{5363,805,0},{5370,803,0}, {5372,797,0},{5370,768,0},{5367,752,0},{5368,747,0},{5368,730,0},{5367,723,0}, {5358,710,0},{5357,708,0},{5353,715,0},{5352,710,0},{5350,705,0},{5340,702,0}, {5333,705,0},{5332,733,0},{5330,737,0},{5332,728,0},{5330,723,0},{5325,723,0}, {5323,720,0},{5490,867,128},{5495,868,0},{5502,863,0},{5513,868,0},{5513,857,0}, {5513,855,0},{5508,857,0},{5507,850,0},{5507,847,0},{5512,845,0},{5518,848,0}, {5520,850,0},{5518,860,0},{5515,857,0},{5513,865,0},{5513,868,0},{5528,865,0}, {5533,867,0},{5543,862,0},{5545,858,0},{5545,843,0},{5555,830,0},{5558,832,0}, {5558,827,0},{5555,823,0},{5553,827,0},{5552,825,0},{5550,830,0},{5547,832,0}, {5552,820,0},{5555,808,0},{5572,818,0},{5597,815,0},{5587,820,0},{5582,818,0}, {5583,830,0},{5590,840,0},{5603,830,0},{5608,823,0},{5610,813,0},{5608,813,0}, {5598,815,0},{5598,812,0},{5607,810,0},{5622,813,0},{5635,812,0},{5632,815,0}, {5632,825,0},{5628,825,0},{5632,832,0},{5632,828,0},{5637,818,0},{5640,818,0}, {5638,825,0},{5640,823,0},{5642,818,0},{5642,813,0},{5637,812,0},{5658,813,0}, {5667,818,0},{5668,823,0},{5662,820,0},{5658,823,0},{5658,830,0},{5655,830,0}, {5657,833,0},{5657,842,0},{5653,852,0},{5657,855,0},{5655,858,0},{5648,860,0}, {5647,867,0},{5648,875,0},{5652,873,0},{5655,875,0},{5658,870,0},{5660,868,0}, {5662,868,0},{5662,875,0},{5667,882,0},{5668,890,0},{5670,892,0},{5672,885,0}, {5678,892,0},{5678,897,0},{5680,905,0},{5678,908,0},{5672,915,0},{5665,912,0}, {5662,905,0},{5655,907,0},{5655,910,0},{5660,912,0},{5660,915,0},{5662,913,0}, {5663,915,0},{5662,917,0},{5660,928,0},{5657,925,0},{5652,930,0},{5653,938,0}, {5657,937,0},{5655,932,0},{5657,928,0},{5663,932,0},{5668,930,0},{5668,922,0}, {5665,920,0},{5667,917,0},{5675,925,0},{5677,918,0},{5680,917,0},{5685,920,0}, {5687,917,0},{5690,918,0},{5698,932,0},{5700,942,0},{5698,958,0},{5695,953,0}, {5692,957,0},{5695,957,0},{5698,965,0},{5703,970,0},{5703,985,0},{5705,995,0}, {5705,993,0},{5705,988,0},{5710,978,0},{5705,973,0},{5705,962,0},{5703,955,0}, {5703,952,0},{5705,952,0},{5698,923,0},{5705,910,0},{5712,903,0},{5710,902,0}, {5703,912,0},{5702,912,0},{5698,892,0},{5702,887,0},{5698,885,0},{5700,880,0}, {5697,882,0},{5693,875,0},{5693,868,0},{5688,862,0},{5685,862,0},{5678,848,0}, {5675,850,0},{5670,848,0},{5670,852,0},{5668,852,0},{5667,843,0},{5667,848,0}, {5665,852,0},{5667,858,0},{5660,858,0},{5657,855,0},{5658,852,0},{5663,848,0}, {5668,833,0},{5675,830,0},{5677,827,0},{5675,825,0},{5672,827,0},{5670,825,0}, {5675,823,0},{5682,825,0},{5693,837,0},{5710,858,0},{5708,875,0},{5710,883,0}, {5715,902,0},{5713,918,0},{5715,940,0},{5723,958,0},{5745,977,0},{5757,995,0}, {5758,1012,0},{5760,1027,0},{5772,1048,0},{5773,1055,0},{5772,1063,0},{5765,1047,0}, {5758,1042,0},{5752,1043,0},{5747,1050,0},{5743,1055,0},{5737,1052,0},{5722,1053,0}, {5713,1043,0},{5698,1033,0},{5698,1025,0},{5698,1020,0},{5708,1002,0},{5708,998,0}, {5705,995,0},{5707,998,0},{5705,1002,0},{5698,1017,0},{5697,1028,0},{5682,1025,0}, {5670,1033,0},{5668,1030,0},{5670,1025,0},{5670,1015,0},{5668,1018,0},{5668,1025,0}, {5665,1033,0},{5662,1035,0},{5655,1022,0},{5650,1022,0},{5647,1018,0},{5647,1023,0}, {5655,1023,0},{5658,1032,0},{5653,1038,0},{5650,1047,0},{5653,1077,0},{5652,1083,0}, {5643,1095,0},{5638,1090,0},{5633,1090,0},{5620,1072,0},{5613,1070,0},{5613,1068,0}, {5617,1063,0},{5620,1067,0},{5622,1062,0},{5622,1057,0},{5617,1052,0},{5612,1055,0}, {5610,1053,0},{5610,1050,0},{5613,1047,0},{5613,1050,0},{5617,1050,0},{5615,1038,0}, {5620,1033,0},{5622,1040,0},{5620,1043,0},{5623,1043,0},{5627,1048,0},{5628,1040,0}, {5627,1037,0},{5625,1033,0},{5617,1023,0},{5610,1023,0},{5605,1027,0},{5602,1023,0}, {5602,1028,0},{5598,1025,0},{5592,1025,0},{5588,1018,0},{5583,1018,0},{5583,1015,0}, {5587,1013,0},{5588,1010,0},{5587,998,0},{5585,995,0},{5585,987,0},{5583,990,0}, {5582,1005,0},{5575,1002,0},{5575,1007,0},{5573,1000,0},{5570,1002,0},{5567,982,0}, {5568,973,0},{5572,967,0},{5570,955,0},{5570,957,0},{5570,963,0},{5565,972,0}, {5562,975,0},{5562,985,0},{5557,975,0},{5555,972,0},{5553,970,0},{5552,962,0}, {5552,957,0},{5550,955,0},{5550,950,0},{5548,952,0},{5548,962,0},{5547,967,0}, {5545,965,0},{5543,960,0},{5542,958,0},{5540,962,0},{5537,960,0},{5535,962,0}, {5532,962,0},{5530,963,0},{5528,962,0},{5523,970,0},{5517,962,0},{5518,958,0}, {5515,948,0},{5513,952,0},{5513,947,0},{5512,947,0},{5510,950,0},{5507,952,0}, {5503,943,0},{5503,953,0},{5505,957,0},{5503,958,0},{5500,962,0},{5498,972,0}, {5488,977,0},{5488,970,0},{5487,975,0},{5483,973,0},{5485,968,0},{5485,962,0}, {5488,963,0},{5490,960,0},{5492,965,0},{5493,962,0},{5492,958,0},{5488,955,0}, {5487,950,0},{5482,945,0},{5395,1090,128},{5398,1087,0},{5400,1078,0},{5405,1075,0}, {5410,1080,0},{5410,1088,0},{5420,1110,0},{5435,1107,0},{5437,1112,0},{5438,1113,0}, {5437,1105,0},{5438,1093,0},{5430,1077,0},{5432,1068,0},{5437,1062,0},{5443,1033,0}, {5442,1028,0},{5442,1023,0},{5433,1018,0},{5432,1015,0},{5437,1013,0},{5440,1020,0}, {5443,1017,0},{5447,1020,0},{5448,1012,0},{5445,987,0},{5448,985,0},{5452,998,0}, {5455,1003,0},{5467,1003,0},{5467,993,0},{5470,998,0},{5470,1002,0},{5477,997,0}, {5480,990,0},{5477,990,0},{5475,987,0},{5477,982,0},{5480,972,0},{5482,958,0}, {5487,958,0},{5483,955,0},{5483,952,0},{5480,945,0},{5483,945,0},{5373,1427,128}, {5377,1423,0},{5373,1418,0},{5373,1408,0},{5377,1397,0},{5383,1385,0},{5385,1382,0}, {5388,1382,0},{5392,1392,0},{5403,1375,0},{5405,1378,0},{5410,1380,0},{5415,1370,0}, {5417,1372,0},{5413,1363,0},{5412,1348,0},{5408,1350,0},{5410,1345,0},{5415,1342,0}, {5415,1338,0},{5417,1340,0},{5417,1332,0},{5418,1335,0},{5420,1330,0},{5423,1328,0}, {5423,1322,0},{5427,1318,0},{5425,1315,0},{5427,1317,0},{5428,1312,0},{5433,1307,0}, {5437,1310,0},{5440,1303,0},{5443,1303,0},{5440,1290,0},{5437,1288,0},{5435,1282,0}, {5438,1278,0},{5437,1277,0},{5437,1273,0},{5440,1272,0},{5437,1268,0},{5442,1272,0}, {5437,1260,0},{5438,1257,0},{5435,1255,0},{5433,1248,0},{5430,1248,0},{5428,1242,0}, {5427,1242,0},{5425,1245,0},{5425,1238,0},{5430,1237,0},{5440,1247,0},{5437,1253,0}, {5438,1255,0},{5438,1260,0},{5440,1258,0},{5442,1263,0},{5442,1267,0},{5443,1270,0}, {5442,1280,0},{5442,1292,0},{5445,1290,0},{5445,1265,0},{5445,1255,0},{5448,1253,0}, {5430,1235,0},{5425,1220,0},{5418,1210,0},{5417,1213,0},{5415,1210,0},{5410,1212,0}, {5412,1208,0},{5418,1208,0},{5415,1182,0},{5415,1168,0},{5410,1162,0},{5410,1163,0}, {5403,1158,0},{5403,1152,0},{5402,1153,0},{5397,1147,0},{5393,1148,0},{5390,1145,0}, {5395,1133,0},{5393,1130,0},{5393,1125,0},{5398,1125,0},{5398,1120,0},{5402,1118,0}, {5400,1105,0},{5395,1090,0},{5387,1422,128},{5380,1435,0},{5382,1433,0}, {5385,1442,0},{5387,1442,0},{5388,1437,0},{5390,1438,0},{5390,1443,0},{5387,1443,0}, {5385,1457,0},{5380,1458,0},{5385,1463,0},{5377,1462,0},{5375,1457,0},{5370,1453,0}, {5367,1457,0},{5365,1462,0},{5360,1460,0},{5367,1453,0},{5368,1442,0},{5373,1433,0}, {5373,1428,0},{5370,1430,0},{5370,1422,0},{5375,1427,0},{5393,1423,128}, {5407,1400,0},{5410,1388,0},{5417,1382,0},{5417,1377,0},{5415,1375,0},{5410,1382,0}, {5402,1378,0},{5402,1380,0},{5405,1387,0},{5403,1388,0},{5400,1385,0},{5402,1390,0}, {5407,1392,0},{5405,1398,0},{5398,1405,0},{5393,1405,0},{5395,1402,0},{5397,1402,0}, {5397,1398,0},{5393,1397,0},{5398,1397,0},{5398,1390,0},{5392,1393,0},{5388,1390,0}, {5387,1383,0},{5385,1382,0},{5383,1390,0},{5385,1400,0},{5387,1403,0},{5387,1408,0}, {5387,1423,0},{5447,1962,128},{5440,1952,0},{5438,1942,0},{5435,1905,0}, {5435,1888,0},{5438,1872,0},{5442,1867,0},{5443,1860,0},{5445,1857,0},{5455,1857,0}, {5463,1852,0},{5463,1850,0},{5463,1847,0},{5470,1848,0},{5473,1840,0},{5478,1843,0}, {5470,1870,0},{5460,1882,0},{5463,1883,0},{5470,1870,0},{5483,1833,0},{5483,1792,0}, {5477,1758,0},{5473,1727,0},{5467,1707,0},{5460,1692,0},{5455,1655,0},{5450,1645,0}, {5450,1648,0},{5447,1647,0},{5447,1643,0},{5448,1643,0},{5437,1628,0},{5438,1632,0}, {5435,1633,0},{5432,1625,0},{5432,1623,0},{5435,1627,0},{5428,1613,0},{5430,1620,0}, {5428,1622,0},{5427,1622,0},{5427,1617,0},{5427,1607,0},{5428,1613,0},{5427,1605,0}, {5425,1585,0},{5420,1565,0},{5415,1532,0},{5405,1493,0},{5403,1475,0},{5397,1452,0}, {5392,1442,0},{5393,1423,0},{5948,2803,128},{5942,2795,0},{5940,2785,0}, {5945,2743,0},{5945,2697,0},{5948,2682,0},{5955,2665,0},{5953,2650,0},{5955,2643,0}, {5958,2625,0},{5958,2610,0},{5962,2605,0},{5963,2598,0},{5958,2597,0},{5963,2588,0}, {5958,2585,0},{5957,2582,0},{5958,2578,0},{5963,2577,0},{5967,2570,0},{5965,2567,0}, {5958,2572,0},{5957,2567,0},{5957,2563,0},{5967,2548,0},{5957,2548,0},{5953,2555,0}, {5952,2552,0},{5953,2542,0},{5948,2540,0},{5953,2512,0},{5953,2510,0},{5950,2510,0}, {5952,2503,0},{5950,2492,0},{5955,2487,0},{5957,2478,0},{5952,2478,0},{5948,2482,0}, {5945,2477,0},{5945,2473,0},{5950,2468,0},{5947,2467,0},{5947,2462,0},{5945,2467,0}, {5943,2463,0},{5947,2457,0},{5943,2450,0},{5947,2440,0},{5947,2433,0},{5943,2432,0}, {5942,2430,0},{5940,2425,0},{5940,2417,0},{5937,2422,0},{5935,2422,0},{5940,2408,0}, {5938,2403,0},{5935,2402,0},{5930,2410,0},{5927,2408,0},{5928,2403,0},{5927,2390,0}, {5928,2383,0},{5927,2372,0},{5923,2375,0},{5923,2373,0},{5925,2365,0},{5922,2357,0}, {5922,2347,0},{5918,2347,0},{5913,2352,0},{5907,2352,0},{5908,2350,0},{5907,2343,0}, {5902,2343,0},{5902,2340,0},{5898,2345,0},{5897,2355,0},{5900,2357,0},{5902,2362,0}, {5905,2357,0},{5902,2362,0},{5897,2363,0},{5895,2358,0},{5893,2343,0},{5890,2342,0}, {5885,2348,0},{5882,2353,0},{5880,2347,0},{5877,2343,0},{5878,2360,0},{5878,2375,0}, {5880,2378,0},{5877,2388,0},{5878,2378,0},{5877,2378,0},{5873,2380,0},{5872,2378,0}, {5875,2368,0},{5873,2360,0},{5875,2353,0},{5873,2352,0},{5870,2355,0},{5870,2350,0}, {5860,2352,0},{5857,2350,0},{5858,2355,0},{5857,2357,0},{5852,2363,0},{5853,2368,0}, {5843,2367,0},{5840,2372,0},{5833,2373,0},{5835,2383,0},{5833,2385,0},{5832,2388,0}, {5832,2397,0},{5823,2412,0},{5827,2415,0},{5828,2425,0},{5838,2433,0},{5838,2447,0}, {5832,2457,0},{5828,2455,0},{5825,2447,0},{5807,2445,0},{5797,2437,0},{5782,2428,0}, {5773,2430,0},{5768,2435,0},{5762,2438,0},{5753,2437,0},{5733,2442,0},{5723,2440,0}, {5712,2422,0},{5707,2403,0},{5702,2398,0},{5697,2378,0},{5697,2368,0},{5698,2358,0}, {5703,2350,0},{5705,2335,0},{5710,2327,0},{5717,2323,0},{5723,2320,0},{5737,2313,0}, {5742,2295,0},{5750,2285,0},{5758,2263,0},{5768,2258,0},{5775,2260,0},{5773,2247,0}, {5760,2200,0},{5760,2187,0},{5757,2172,0},{5728,2142,0},{5720,2142,0},{5707,2142,0}, {5698,2137,0},{5692,2127,0},{5683,2105,0},{5668,2105,0},{5653,2098,0},{5650,2107,0}, {5640,2108,0},{5638,2107,0},{5640,2103,0},{5645,2105,0},{5652,2102,0},{5650,2100,0}, {5643,2100,0},{5637,2097,0},{5630,2098,0},{5623,2098,0},{5613,2103,0},{5605,2107,0}, {5592,2105,0},{5578,2107,0},{5573,2108,0},{5568,2115,0},{5547,2125,0},{5542,2125,0}, {5533,2118,0},{5537,2125,0},{5533,2127,0},{5528,2128,0},{5528,2127,0},{5520,2127,0}, {5520,2118,0},{5495,2125,0},{5490,2108,0},{5490,2107,0},{5490,2098,0},{5490,2087,0}, {5493,2078,0},{5493,2057,0},{5497,2053,0},{5515,2083,0},{5523,2090,0},{5527,2098,0}, {5528,2098,0},{5533,2105,0},{5537,2105,0},{5542,2110,0},{5543,2108,0},{5557,2113,0}, {5568,2113,0},{5572,2108,0},{5553,2110,0},{5542,2105,0},{5528,2093,0},{5517,2082,0}, {5503,2063,0},{5495,2042,0},{5495,2030,0},{5497,2027,0},{5495,2003,0},{5495,1997,0}, {5487,1992,0},{5477,1997,0},{5472,1993,0},{5470,1990,0},{5467,1990,0},{5455,1977,0}, {5447,1963,0},{6057,2787,128},{6052,2790,0},{6053,2792,0},{6052,2805,0}, {6053,2807,0},{6053,2815,0},{6055,2815,0},{6053,2822,0},{6057,2823,0},{6060,2828,0}, {6060,2833,0},{6062,2832,0},{6062,2838,0},{6067,2840,0},{6068,2858,0},{6073,2867,0}, {6072,2873,0},{6067,2873,0},{6067,2865,0},{6062,2868,0},{6062,2863,0},{6063,2858,0}, {6060,2855,0},{6057,2860,0},{6060,2862,0},{6058,2865,0},{6057,2867,0},{6047,2872,0}, {6045,2868,0},{6052,2853,0},{6055,2850,0},{6057,2843,0},{6043,2858,0},{6038,2860,0}, {6033,2878,0},{6037,2882,0},{6032,2883,0},{6025,2897,0},{6018,2902,0},{6017,2917,0}, {6017,2942,0},{6020,2955,0},{6018,2977,0},{6013,2988,0},{6008,2990,0},{6002,2995,0}, {5998,3022,0},{5997,3025,0},{5995,3020,0},{5988,3022,0},{5987,3015,0},{5987,3003,0}, {5993,2977,0},{6000,2920,0},{5998,2910,0},{5997,2905,0},{5993,2903,0},{5993,2898,0}, {5990,2903,0},{5983,2898,0},{5982,2888,0},{5978,2883,0},{5980,2878,0},{5978,2873,0}, {5978,2870,0},{5982,2867,0},{5983,2858,0},{5987,2853,0},{5985,2850,0},{5982,2843,0}, {5970,2842,0},{5967,2837,0},{5968,2822,0},{5975,2818,0},{5980,2808,0},{5977,2802,0}, {5970,2800,0},{5960,2807,0},{5955,2807,0},{5948,2803,0},{6582,2417,128}, {6578,2418,0},{6577,2423,0},{6578,2425,0},{6582,2423,0},{6577,2442,0},{6580,2445,0}, {6580,2453,0},{6582,2455,0},{6588,2462,0},{6592,2470,0},{6588,2470,0},{6588,2463,0}, {6582,2458,0},{6578,2455,0},{6573,2455,0},{6570,2460,0},{6568,2467,0},{6563,2467,0}, {6563,2473,0},{6565,2478,0},{6565,2490,0},{6562,2493,0},{6562,2507,0},{6555,2512,0}, {6555,2522,0},{6552,2532,0},{6548,2535,0},{6542,2535,0},{6537,2530,0},{6538,2527,0}, {6533,2533,0},{6525,2528,0},{6525,2532,0},{6523,2530,0},{6522,2533,0},{6522,2528,0}, {6518,2527,0},{6515,2522,0},{6512,2522,0},{6508,2537,0},{6495,2545,0},{6495,2542,0}, {6495,2538,0},{6498,2532,0},{6498,2522,0},{6497,2518,0},{6490,2530,0},{6490,2537,0}, {6483,2537,0},{6482,2532,0},{6482,2523,0},{6483,2527,0},{6483,2520,0},{6488,2517,0}, {6488,2512,0},{6490,2512,0},{6492,2508,0},{6487,2492,0},{6485,2473,0},{6483,2473,0}, {6482,2467,0},{6478,2468,0},{6480,2458,0},{6480,2455,0},{6477,2458,0},{6477,2453,0}, {6472,2453,0},{6468,2443,0},{6463,2438,0},{6452,2435,0},{6452,2428,0},{6448,2427,0}, {6448,2422,0},{6445,2422,0},{6443,2410,0},{6440,2408,0},{6438,2400,0},{6433,2398,0}, {6428,2392,0},{6425,2395,0},{6427,2388,0},{6425,2385,0},{6422,2378,0},{6420,2372,0}, {6417,2372,0},{6413,2365,0},{6410,2362,0},{6410,2357,0},{6405,2362,0},{6402,2362,0}, {6403,2350,0},{6403,2347,0},{6405,2342,0},{6405,2338,0},{6403,2338,0},{6395,2337,0}, {6392,2342,0},{6390,2338,0},{6388,2315,0},{6387,2317,0},{6385,2313,0},{6385,2307,0}, {6382,2298,0},{6375,2300,0},{6380,2295,0},{6380,2290,0},{6375,2293,0},{6373,2287,0}, {6372,2290,0},{6372,2283,0},{6370,2290,0},{6368,2285,0},{6363,2282,0},{6363,2278,0}, {6363,2273,0},{6370,2268,0},{6370,2265,0},{6368,2263,0},{6370,2258,0},{6365,2258,0}, {6365,2253,0},{6362,2250,0},{6357,2255,0},{6357,2250,0},{6355,2245,0},{6345,2240,0}, {6348,2238,0},{6350,2233,0},{6352,2233,0},{6352,2228,0},{6348,2227,0},{6342,2240,0}, {6342,2233,0},{6347,2225,0},{6345,2218,0},{6343,2218,0},{6335,2235,0},{6332,2237,0}, {6327,2233,0},{6330,2228,0},{6328,2225,0},{6323,2222,0},{6325,2218,0},{6322,2217,0}, {6323,2213,0},{6322,2208,0},{6323,2205,0},{6323,2203,0},{6320,2200,0},{6318,2197,0}, {6313,2197,0},{6317,2188,0},{6325,2188,0},{6323,2180,0},{6325,2175,0},{6322,2170,0}, {6320,2175,0},{6322,2167,0},{6320,2165,0},{6320,2163,0},{6323,2155,0},{6322,2150,0}, {6318,2150,0},{6317,2155,0},{6317,2150,0},{6312,2152,0},{6312,2157,0},{6308,2157,0}, {6302,2168,0},{6302,2160,0},{6307,2150,0},{6303,2148,0},{6305,2143,0},{6303,2143,0}, {6295,2147,0},{6293,2142,0},{6287,2137,0},{6287,2125,0},{6287,2123,0},{6280,2120,0}, {6278,2117,0},{6278,2113,0},{6277,2110,0},{6273,2113,0},{6272,2117,0},{6268,2113,0}, {6267,2108,0},{6260,2107,0},{6262,2110,0},{6260,2112,0},{6260,2117,0},{6258,2122,0}, {6255,2113,0},{6252,2115,0},{6250,2112,0},{6245,2112,0},{6245,2115,0},{6240,2113,0}, {6242,2120,0},{6240,2118,0},{6233,2122,0},{6237,2122,0},{6240,2127,0},{6237,2125,0}, {6233,2128,0},{6235,2133,0},{6223,2132,0},{6227,2135,0},{6223,2135,0},{6220,2138,0}, {6218,2138,0},{6217,2133,0},{6210,2132,0},{6212,2128,0},{6198,2123,0},{6198,2128,0}, {6195,2128,0},{6193,2132,0},{6193,2138,0},{6190,2142,0},{6188,2140,0},{6180,2148,0}, {6175,2147,0},{6170,2158,0},{6172,2153,0},{6170,2152,0},{6165,2153,0},{6152,2172,0}, {6157,2150,0},{6155,2145,0},{6152,2150,0},{6152,2152,0},{6152,2157,0},{6148,2158,0}, {6148,2142,0},{6145,2152,0},{6142,2157,0},{6140,2145,0},{6137,2153,0},{6132,2155,0}, {6128,2155,0},{6127,2150,0},{6127,2152,0},{6125,2148,0},{6123,2153,0},{6120,2157,0}, {6120,2150,0},{6117,2150,0},{6117,2145,0},{6115,2145,0},{6115,2147,0},{6113,2143,0}, {6110,2147,0},{6108,2145,0},{6105,2148,0},{6107,2138,0},{6105,2137,0},{6105,2140,0}, {6103,2140,0},{6105,2130,0},{6090,2142,0},{6092,2138,0},{6090,2135,0},{6088,2137,0}, {6087,2143,0},{6087,2132,0},{6085,2135,0},{6082,2132,0},{6082,2137,0},{6078,2137,0}, {6077,2142,0},{6075,2138,0},{6073,2147,0},{6072,2142,0},{6068,2143,0},{6068,2135,0}, {6065,2137,0},{6060,2147,0},{6060,2142,0},{6058,2142,0},{6057,2145,0},{6057,2150,0}, {6057,2158,0},{6057,2152,0},{6052,2158,0},{6048,2157,0},{6048,2158,0},{6050,2165,0}, {6057,2167,0},{6058,2173,0},{6062,2183,0},{6060,2183,0},{6058,2185,0},{6058,2182,0}, {6057,2180,0},{6048,2178,0},{6048,2187,0},{6052,2183,0},{6052,2195,0},{6048,2195,0}, {6048,2198,0},{6047,2198,0},{6043,2205,0},{6047,2210,0},{6043,2212,0},{6043,2218,0}, {6037,2228,0},{6040,2247,0},{6040,2248,0},{6037,2247,0},{6037,2258,0},{6040,2263,0}, {6025,2245,0},{6025,2253,0},{6028,2263,0},{6027,2263,0},{6025,2257,0},{6023,2258,0}, {6020,2253,0},{6025,2277,0},{6030,2290,0},{6030,2300,0},{6035,2305,0},{6035,2308,0}, {6032,2303,0},{6028,2302,0},{6022,2290,0},{6018,2287,0},{6017,2288,0},{6015,2288,0}, {6012,2297,0},{6010,2297,0},{6013,2302,0},{6012,2305,0},{6007,2298,0},{6003,2305,0}, {6005,2318,0},{6003,2327,0},{6000,2322,0},{5997,2312,0},{5992,2310,0},{5995,2313,0}, {5993,2317,0},{5995,2318,0},{5993,2322,0},{6002,2330,0},{6002,2332,0},{5992,2325,0}, {5988,2317,0},{5985,2302,0},{5980,2288,0},{5982,2317,0},{5983,2320,0},{5987,2320,0}, {5993,2335,0},{6000,2345,0},{6007,2350,0},{6007,2353,0},{6003,2355,0},{6002,2348,0}, {5995,2343,0},{5997,2358,0},{5995,2362,0},{5997,2365,0},{5997,2378,0},{5995,2380,0}, {6000,2388,0},{6000,2395,0},{6003,2400,0},{6000,2400,0},{6002,2408,0},{6003,2410,0}, {6002,2418,0},{6005,2417,0},{6003,2425,0},{6005,2428,0},{6007,2428,0},{6007,2433,0}, {6007,2437,0},{6000,2432,0},{6002,2437,0},{6000,2438,0},{6005,2445,0},{5998,2442,0}, {5998,2447,0},{6007,2458,0},{6007,2457,0},{6010,2462,0},{6008,2455,0},{6012,2460,0}, {6013,2455,0},{6015,2455,0},{6013,2463,0},{6010,2467,0},{6013,2468,0},{6013,2478,0}, {6017,2482,0},{6018,2480,0},{6018,2482,0},{6017,2488,0},{6015,2483,0},{6013,2485,0}, {6013,2497,0},{6017,2497,0},{6018,2495,0},{6020,2498,0},{6018,2502,0},{6015,2500,0}, {6015,2507,0},{6018,2505,0},{6017,2510,0},{6018,2518,0},{6020,2517,0},{6020,2520,0}, {6022,2515,0},{6022,2520,0},{6025,2520,0},{6023,2528,0},{6025,2532,0},{6027,2532,0}, {6027,2537,0},{6023,2537,0},{6023,2550,0},{6028,2555,0},{6032,2553,0},{6033,2562,0}, {6037,2567,0},{6033,2570,0},{6033,2565,0},{6032,2568,0},{6032,2565,0},{6030,2565,0}, {6025,2572,0},{6027,2585,0},{6028,2575,0},{6032,2575,0},{6028,2582,0},{6028,2587,0}, {6025,2588,0},{6023,2592,0},{6032,2588,0},{6032,2590,0},{6035,2592,0},{6040,2583,0}, {6035,2595,0},{6037,2600,0},{6035,2600,0},{6032,2605,0},{6030,2605,0},{6030,2608,0}, {6033,2612,0},{6038,2600,0},{6042,2605,0},{6048,2592,0},{6047,2597,0},{6040,2615,0}, {6042,2618,0},{6040,2627,0},{6043,2623,0},{6045,2625,0},{6037,2633,0},{6040,2635,0}, {6038,2638,0},{6042,2638,0},{6038,2642,0},{6042,2643,0},{6043,2648,0},{6048,2645,0}, {6050,2647,0},{6060,2657,0},{6055,2657,0},{6047,2648,0},{6045,2650,0},{6042,2657,0}, {6045,2658,0},{6045,2665,0},{6042,2670,0},{6043,2675,0},{6047,2675,0},{6048,2680,0}, {6045,2682,0},{6045,2687,0},{6048,2690,0},{6045,2697,0},{6048,2693,0},{6048,2700,0}, {6053,2703,0},{6052,2708,0},{6053,2712,0},{6052,2713,0},{6052,2718,0},{6053,2720,0}, {6057,2718,0},{6058,2722,0},{6055,2722,0},{6052,2732,0},{6052,2723,0},{6050,2723,0}, {6050,2737,0},{6047,2745,0},{6045,2750,0},{6047,2748,0},{6050,2748,0},{6047,2763,0}, {6050,2760,0},{6052,2767,0},{6052,2770,0},{6050,2768,0},{6048,2763,0},{6048,2772,0}, {6050,2775,0},{6050,2773,0},{6052,2775,0},{6057,2775,0},{6057,2778,0},{6052,2780,0}, {6057,2787,0},{5898,1143,128},{5910,1132,0},{5907,1118,0},{5900,1112,0}, {5898,1118,0},{5895,1110,0},{5892,1120,0},{5887,1120,0},{5885,1123,0},{5880,1123,0}, {5877,1120,0},{5875,1122,0},{5875,1118,0},{5872,1118,0},{5870,1122,0},{5867,1122,0}, {5865,1125,0},{5860,1125,0},{5857,1128,0},{5855,1125,0},{5850,1123,0},{5847,1128,0}, {5845,1125,0},{5842,1125,0},{5840,1120,0},{5833,1122,0},{5837,1127,0},{5835,1132,0}, {5843,1143,0},{5835,1135,0},{5833,1135,0},{5835,1138,0},{5838,1142,0},{5835,1142,0}, {5835,1145,0},{5833,1145,0},{5833,1138,0},{5830,1140,0},{5832,1145,0},{5827,1140,0}, {5828,1148,0},{5833,1153,0},{5842,1157,0},{5847,1155,0},{5840,1160,0},{5843,1163,0}, {5842,1167,0},{5840,1162,0},{5838,1162,0},{5830,1152,0},{5823,1150,0},{5823,1153,0}, {5825,1153,0},{5825,1158,0},{5830,1165,0},{5830,1172,0},{5833,1172,0},{5833,1188,0}, {5830,1180,0},{5822,1185,0},{5822,1188,0},{5818,1187,0},{5818,1183,0},{5812,1183,0}, {5807,1178,0},{5805,1180,0},{5800,1180,0},{5793,1173,0},{5792,1177,0},{5790,1175,0}, {5788,1168,0},{5787,1170,0},{5783,1167,0},{5783,1170,0},{5778,1173,0},{5778,1182,0}, {5773,1172,0},{5770,1170,0},{5770,1175,0},{5772,1175,0},{5770,1180,0},{5768,1187,0}, {5767,1183,0},{5763,1187,0},{5760,1187,0},{5760,1188,0},{5762,1190,0},{5762,1192,0}, {5752,1190,0},{5750,1193,0},{5750,1192,0},{5748,1195,0},{5747,1192,0},{5738,1190,0}, {5738,1195,0},{5735,1193,0},{5737,1197,0},{5735,1198,0},{5743,1202,0},{5745,1203,0}, {5743,1210,0},{5740,1210,0},{5740,1207,0},{5738,1210,0},{5733,1205,0},{5733,1212,0}, {5732,1215,0},{5728,1215,0},{5725,1210,0},{5723,1215,0},{5723,1210,0},{5722,1213,0}, {5722,1220,0},{5718,1215,0},{5718,1220,0},{5713,1222,0},{5712,1223,0},{5708,1222,0}, {5707,1223,0},{5702,1233,0},{5692,1235,0},{5688,1248,0},{5685,1253,0},{5683,1257,0}, {5675,1262,0},{5672,1267,0},{5668,1267,0},{5667,1270,0},{5665,1272,0},{5665,1278,0}, {5665,1282,0},{5663,1288,0},{5653,1293,0},{5645,1290,0},{5643,1285,0},{5647,1273,0}, {5645,1267,0},{5642,1262,0},{5638,1263,0},{5637,1273,0},{5630,1277,0},{5627,1283,0}, {5623,1282,0},{5622,1272,0},{5623,1267,0},{5627,1263,0},{5630,1245,0},{5623,1253,0}, {5613,1257,0},{5603,1270,0},{5600,1270,0},{5587,1282,0},{5585,1288,0},{5582,1293,0}, {5578,1293,0},{5575,1292,0},{5573,1297,0},{5572,1297,0},{5572,1302,0},{5567,1307,0}, {5562,1303,0},{5558,1293,0},{5557,1292,0},{5543,1298,0},{5545,1297,0},{5543,1295,0}, {5542,1293,0},{5543,1287,0},{5540,1283,0},{5538,1283,0},{5538,1288,0},{5538,1293,0}, {5540,1295,0},{5538,1302,0},{5535,1307,0},{5535,1317,0},{5533,1330,0},{5533,1338,0}, {5538,1352,0},{5537,1358,0},{5542,1365,0},{5542,1385,0},{5543,1388,0},{5543,1393,0}, {5538,1407,0},{5538,1420,0},{5553,1437,0},{5562,1428,0},{5567,1427,0},{5572,1420,0}, {5583,1422,0},{5588,1427,0},{5590,1432,0},{5593,1433,0},{5600,1445,0},{5603,1448,0}, {5605,1457,0},{5603,1457,0},{5605,1460,0},{5603,1460,0},{5600,1462,0},{5600,1468,0}, {5602,1470,0},{5600,1473,0},{5603,1477,0},{5612,1468,0},{5617,1470,0},{5617,1480,0}, {5613,1483,0},{5617,1485,0},{5615,1505,0},{5618,1503,0},{5618,1507,0},{5615,1512,0}, {5617,1515,0},{5615,1523,0},{5618,1530,0},{5617,1532,0},{5613,1530,0},{5613,1537,0}, {5618,1542,0},{5615,1547,0},{5617,1548,0},{5617,1550,0},{5620,1560,0},{5617,1558,0}, {5618,1565,0},{5615,1577,0},{5617,1580,0},{5615,1582,0},{5613,1582,0},{5610,1578,0}, {5608,1585,0},{5620,1595,0},{5620,1600,0},{5625,1605,0},{5642,1610,0},{5653,1618,0}, {5653,1622,0},{5660,1622,0},{5665,1627,0},{5667,1638,0},{5675,1635,0},{5677,1642,0}, {5677,1645,0},{5677,1648,0},{5680,1647,0},{5678,1643,0},{5680,1640,0},{5687,1645,0}, {5692,1643,0},{5695,1647,0},{5698,1643,0},{5702,1643,0},{5702,1647,0},{5705,1645,0}, {5705,1652,0},{5707,1653,0},{5705,1653,0},{5705,1658,0},{5707,1655,0},{5708,1657,0}, {5712,1655,0},{5712,1652,0},{5717,1647,0},{5723,1647,0},{5723,1650,0},{5728,1647,0}, {5730,1648,0},{5732,1657,0},{5733,1653,0},{5733,1657,0},{5738,1655,0},{5738,1663,0}, {5740,1663,0},{5742,1667,0},{5742,1663,0},{5745,1663,0},{5745,1667,0},{5747,1667,0}, {5747,1670,0},{5755,1663,0},{5757,1652,0},{5757,1655,0},{5758,1652,0},{5760,1653,0}, {5762,1652,0},{5762,1655,0},{5758,1657,0},{5763,1663,0},{5765,1658,0},{5765,1663,0}, {5767,1663,0},{5770,1657,0},{5768,1665,0},{5768,1672,0},{5770,1670,0},{5770,1672,0}, {5773,1665,0},{5773,1667,0},{5778,1658,0},{5780,1657,0},{5785,1645,0},{5790,1642,0}, {5773,1670,0},{5777,1668,0},{5790,1647,0},{5790,1648,0},{5792,1648,0},{5788,1657,0}, {5790,1658,0},{5793,1658,0},{5795,1652,0},{5798,1650,0},{5800,1652,0},{5798,1655,0}, {5792,1665,0},{5792,1660,0},{5790,1662,0},{5790,1668,0},{5792,1670,0},{5787,1673,0}, {5788,1677,0},{5792,1673,0},{5792,1678,0},{5797,1673,0},{5797,1672,0},{5798,1668,0}, {5798,1662,0},{5798,1667,0},{5802,1663,0},{5805,1665,0},{5800,1668,0},{5800,1670,0}, {5802,1668,0},{5802,1675,0},{5805,1673,0},{5805,1668,0},{5805,1672,0},{5808,1675,0}, {5810,1670,0},{5813,1667,0},{5815,1668,0},{5820,1662,0},{5820,1663,0},{5818,1665,0}, {5812,1677,0},{5813,1680,0},{5817,1678,0},{5818,1683,0},{5820,1682,0},{5823,1682,0}, {5823,1678,0},{5825,1680,0},{5827,1670,0},{5828,1675,0},{5832,1680,0},{5832,1673,0}, {5828,1672,0},{5832,1670,0},{5835,1663,0},{5833,1673,0},{5835,1677,0},{5837,1677,0}, {5835,1675,0},{5837,1670,0},{5840,1672,0},{5847,1642,0},{5848,1650,0},{5842,1675,0}, {5845,1683,0},{5848,1685,0},{5848,1693,0},{5852,1683,0},{5853,1685,0},{5855,1682,0}, {5855,1683,0},{5858,1678,0},{5860,1678,0},{5860,1673,0},{5860,1675,0},{5860,1668,0}, {5863,1657,0},{5862,1652,0},{5863,1643,0},{5858,1640,0},{5863,1633,0},{5862,1628,0}, {5863,1618,0},{5863,1627,0},{5867,1625,0},{5862,1690,0},{5863,1695,0},{5863,1703,0}, {5867,1702,0},{5867,1695,0},{5867,1705,0},{5865,1708,0},{5868,1712,0},{5870,1715,0}, {5870,1707,0},{5873,1708,0},{5875,1703,0},{5877,1708,0},{5875,1712,0},{5873,1715,0}, {5872,1725,0},{5875,1730,0},{5875,1737,0},{5878,1738,0},{5880,1733,0},{5880,1748,0}, {5882,1745,0},{5887,1747,0},{5890,1745,0},{5885,1758,0},{5887,1758,0},{5890,1753,0}, {5890,1763,0},{5892,1763,0},{5892,1760,0},{5893,1762,0},{5895,1758,0},{5897,1762,0}, {5908,1762,0},{5912,1767,0},{5917,1767,0},{5912,1768,0},{5908,1767,0},{5905,1770,0}, {5905,1772,0},{5912,1773,0},{5913,1777,0},{5912,1777,0},{5892,1775,0},{5892,1778,0}, {5888,1778,0},{5890,1780,0},{5897,1778,0},{5892,1782,0},{5892,1787,0},{5887,1790,0}, {5892,1790,0},{5892,1793,0},{5893,1798,0},{5897,1797,0},{5902,1802,0},{5903,1800,0}, {5903,1805,0},{5905,1805,0},{5907,1812,0},{5908,1813,0},{5912,1822,0},{5912,1825,0}, {5910,1825,0},{5907,1820,0},{5910,1832,0},{5912,1828,0},{5913,1830,0},{5913,1842,0}, {5917,1843,0},{5917,1838,0},{5918,1840,0},{5918,1837,0},{5920,1838,0},{5922,1832,0}, {5923,1832,0},{5920,1842,0},{5927,1828,0},{5927,1827,0},{5928,1832,0},{5932,1828,0}, {5933,1832,0},{5933,1835,0},{5932,1833,0},{5930,1835,0},{5930,1852,0},{5932,1865,0}, {5935,1863,0},{5937,1855,0},{5937,1862,0},{5943,1848,0},{5943,1843,0},{5940,1850,0}, {5940,1845,0},{5933,1847,0},{5933,1843,0},{5935,1843,0},{5937,1835,0},{5937,1827,0}, {5932,1822,0},{5933,1820,0},{5932,1815,0},{5933,1797,0},{5928,1788,0},{5922,1787,0}, {5927,1787,0},{5927,1775,0},{5925,1778,0},{5923,1773,0},{5925,1772,0},{5925,1773,0}, {5927,1770,0},{5928,1763,0},{5928,1758,0},{5922,1760,0},{5927,1755,0},{5932,1737,0}, {5928,1737,0},{5925,1740,0},{5925,1722,0},{5927,1728,0},{5932,1725,0},{5932,1730,0}, {5935,1732,0},{5937,1717,0},{5937,1703,0},{5945,1692,0},{5948,1683,0},{5947,1682,0}, {5947,1670,0},{5940,1688,0},{5938,1688,0},{5938,1687,0},{5938,1682,0},{5947,1667,0}, {5945,1660,0},{5947,1645,0},{5943,1618,0},{5945,1608,0},{5950,1602,0},{5947,1618,0}, {5948,1623,0},{5948,1622,0},{5950,1623,0},{5950,1627,0},{5947,1628,0},{5945,1632,0}, {5948,1633,0},{5948,1635,0},{5952,1638,0},{5950,1642,0},{5950,1648,0},{5952,1648,0}, {5952,1645,0},{5953,1653,0},{5955,1655,0},{5960,1650,0},{5962,1655,0},{5958,1662,0}, {5953,1668,0},{5952,1673,0},{5958,1682,0},{5958,1690,0},{5955,1695,0},{5953,1707,0}, {5958,1702,0},{5960,1707,0},{5955,1712,0},{5955,1722,0},{5947,1735,0},{5947,1737,0}, {5950,1735,0},{5947,1740,0},{5948,1742,0},{5952,1738,0},{5955,1740,0},{5962,1733,0}, {5965,1738,0},{5962,1737,0},{5957,1743,0},{5953,1750,0},{5955,1755,0},{5952,1752,0}, {5948,1755,0},{5950,1758,0},{5948,1767,0},{5945,1768,0},{5945,1772,0},{5948,1775,0}, {5953,1778,0},{5958,1775,0},{5965,1757,0},{5970,1762,0},{5973,1762,0},{5973,1753,0}, {5972,1755,0},{5970,1752,0},{5965,1750,0},{5957,1753,0},{5967,1748,0},{5968,1745,0}, {5973,1750,0},{5975,1737,0},{5975,1753,0},{5980,1760,0},{5978,1763,0},{5975,1763,0}, {5973,1768,0},{5972,1765,0},{5967,1765,0},{5965,1760,0},{5962,1772,0},{5965,1772,0}, {5970,1772,0},{5965,1775,0},{5962,1775,0},{5958,1782,0},{5957,1782,0},{5953,1785,0}, {5950,1778,0},{5942,1775,0},{5937,1782,0},{5933,1793,0},{5935,1798,0},{5933,1813,0}, {5937,1808,0},{5940,1802,0},{5938,1805,0},{5940,1810,0},{5943,1808,0},{5945,1812,0}, {5943,1815,0},{5945,1818,0},{5942,1822,0},{5942,1817,0},{5940,1817,0},{5938,1832,0}, {5940,1833,0},{5942,1828,0},{5943,1828,0},{5945,1825,0},{5945,1830,0},{5947,1827,0}, {5947,1840,0},{5953,1847,0},{5958,1867,0},{5962,1868,0},{5963,1865,0},{5962,1870,0}, {5963,1873,0},{5965,1873,0},{5965,1870,0},{5967,1872,0},{5967,1875,0},{5968,1875,0}, {5972,1887,0},{5975,1892,0},{5973,1893,0},{5972,1898,0},{5972,1903,0},{5973,1908,0}, {5977,1907,0},{5978,1897,0},{5977,1873,0},{5978,1873,0},{5980,1887,0},{5985,1893,0}, {5993,1888,0},{5982,1905,0},{5988,1907,0},{5988,1903,0},{5988,1902,0},{5992,1900,0}, {5992,1893,0},{5993,1890,0},{6007,1882,0},{6012,1882,0},{6010,1877,0},{6010,1875,0}, {6000,1880,0},{6005,1875,0},{6012,1873,0},{6012,1868,0},{6015,1863,0},{6013,1858,0}, {6012,1858,0},{6007,1858,0},{6018,1855,0},{6015,1852,0},{6018,1842,0},{6023,1840,0}, {6020,1843,0},{6022,1845,0},{6025,1837,0},{6030,1832,0},{6023,1847,0},{6022,1855,0}, {6023,1860,0},{6028,1843,0},{6028,1848,0},{6035,1843,0},{6035,1832,0},{6035,1827,0}, {6033,1823,0},{6035,1820,0},{6038,1827,0},{6038,1817,0},{6048,1803,0},{6050,1797,0}, {6055,1800,0},{6060,1797,0},{6060,1787,0},{6057,1777,0},{6053,1773,0},{6048,1773,0}, {6052,1763,0},{6058,1760,0},{6060,1765,0},{6063,1762,0},{6065,1755,0},{6063,1740,0}, {6062,1733,0},{6063,1732,0},{6065,1737,0},{6068,1728,0},{6070,1727,0},{6070,1718,0}, {6073,1730,0},{6077,1733,0},{6078,1728,0},{6080,1728,0},{6082,1725,0},{6083,1728,0}, {6090,1723,0},{6090,1720,0},{6093,1720,0},{6095,1715,0},{6100,1717,0},{6102,1725,0}, {6102,1717,0},{6103,1718,0},{6105,1717,0},{6110,1720,0},{6112,1715,0},{6113,1718,0}, {6115,1717,0},{6117,1718,0},{6118,1718,0},{6122,1715,0},{6123,1722,0},{6132,1710,0}, {6132,1713,0},{6128,1720,0},{6128,1725,0},{6130,1717,0},{6132,1715,0},{6130,1723,0}, {6132,1727,0},{6133,1720,0},{6140,1710,0},{6143,1713,0},{6142,1717,0},{6142,1722,0}, {6143,1722,0},{6145,1717,0},{6148,1718,0},{6152,1712,0},{6152,1717,0},{6155,1708,0}, {6155,1718,0},{6158,1705,0},{6160,1715,0},{6162,1710,0},{6160,1720,0},{6160,1725,0}, {6163,1710,0},{6165,1713,0},{6163,1718,0},{6165,1717,0},{6168,1727,0},{6170,1717,0}, {6172,1715,0},{6172,1727,0},{6170,1730,0},{6168,1730,0},{6167,1733,0},{6172,1733,0}, {6168,1738,0},{6163,1743,0},{6163,1750,0},{6170,1752,0},{6173,1748,0},{6172,1740,0}, {6180,1737,0},{6182,1740,0},{6182,1733,0},{6185,1735,0},{6187,1733,0},{6188,1737,0}, {6190,1735,0},{6195,1735,0},{6195,1738,0},{6198,1740,0},{6200,1747,0},{6203,1743,0}, {6205,1747,0},{6207,1745,0},{6208,1748,0},{6223,1752,0},{6223,1757,0},{6220,1753,0}, {6220,1755,0},{6223,1765,0},{6227,1747,0},{6228,1747,0},{6228,1748,0},{6232,1745,0}, {6233,1742,0},{6232,1738,0},{6240,1733,0},{6240,1737,0},{6243,1738,0},{6248,1733,0}, {6250,1738,0},{6253,1742,0},{6245,1755,0},{6243,1762,0},{6243,1770,0},{6247,1765,0}, {6250,1770,0},{6248,1785,0},{6252,1788,0},{6253,1788,0},{6255,1792,0},{6262,1793,0}, {6260,1795,0},{6255,1797,0},{6260,1807,0},{6262,1805,0},{6267,1788,0},{6265,1800,0}, {6273,1800,0},{6277,1795,0},{6278,1795,0},{6282,1788,0},{6285,1790,0},{6293,1783,0}, {6300,1770,0},{6297,1777,0},{6298,1778,0},{6300,1783,0},{6298,1782,0},{6292,1788,0}, {6290,1793,0},{6282,1792,0},{6280,1797,0},{6282,1798,0},{6285,1807,0},{6283,1807,0}, {6282,1815,0},{6280,1813,0},{6280,1800,0},{6278,1808,0},{6277,1808,0},{6277,1813,0}, {6282,1818,0},{6278,1820,0},{6282,1827,0},{6283,1828,0},{6282,1823,0},{6283,1822,0}, {6287,1820,0},{6287,1825,0},{6288,1825,0},{6288,1828,0},{6287,1828,0},{6283,1837,0}, {6285,1847,0},{6288,1847,0},{6290,1840,0},{6290,1848,0},{6290,1850,0},{6292,1853,0}, {6292,1845,0},{6295,1838,0},{6297,1843,0},{6295,1845,0},{6295,1853,0},{6297,1853,0}, {6295,1858,0},{6298,1855,0},{6300,1823,0},{6302,1833,0},{6303,1835,0},{6302,1838,0}, {6302,1843,0},{6305,1838,0},{6305,1843,0},{6302,1848,0},{6305,1850,0},{6307,1855,0}, {6307,1853,0},{6312,1857,0},{6310,1863,0},{6312,1865,0},{6313,1865,0},{6317,1857,0}, {6315,1875,0},{6322,1870,0},{6322,1882,0},{6320,1875,0},{6317,1878,0},{6318,1880,0}, {6318,1890,0},{6322,1890,0},{6325,1873,0},{6325,1875,0},{6325,1883,0},{6325,1887,0}, {6327,1887,0},{6327,1888,0},{6325,1892,0},{6325,1895,0},{6322,1897,0},{6318,1903,0}, {6318,1907,0},{6320,1907,0},{6320,1912,0},{6322,1905,0},{6325,1905,0},{6323,1910,0}, {6325,1913,0},{6325,1912,0},{6330,1915,0},{6332,1913,0},{6332,1920,0},{6333,1923,0}, {6332,1925,0},{6333,1927,0},{6347,1930,0},{6343,1935,0},{6345,1937,0},{6348,1935,0}, {6345,1942,0},{6342,1947,0},{6340,1952,0},{6347,1947,0},{6348,1952,0},{6350,1945,0}, {6353,1947,0},{6355,1942,0},{6357,1945,0},{6352,1958,0},{6343,1967,0},{6345,1977,0}, {6352,1975,0},{6355,1983,0},{6362,1990,0},{6360,1992,0},{6362,1993,0},{6360,2000,0}, {6360,2003,0},{6362,2002,0},{6365,2002,0},{6367,2005,0},{6363,2013,0},{6365,2023,0}, {6373,2028,0},{6367,2027,0},{6365,2030,0},{6375,2032,0},{6372,2037,0},{6368,2035,0}, {6367,2038,0},{6370,2042,0},{6377,2042,0},{6377,2045,0},{6382,2050,0},{6377,2055,0}, {6382,2062,0},{6378,2065,0},{6380,2068,0},{6382,2072,0},{6383,2067,0},{6387,2078,0}, {6395,2082,0},{6398,2090,0},{6405,2090,0},{6410,2097,0},{6413,2095,0},{6422,2107,0}, {6422,2110,0},{6423,2113,0},{6427,2120,0},{6432,2125,0},{6430,2127,0},{6432,2133,0}, {6437,2132,0},{6433,2135,0},{6437,2145,0},{6442,2152,0},{6445,2160,0},{6448,2158,0}, {6447,2158,0},{6445,2148,0},{6452,2148,0},{6452,2138,0},{6453,2135,0},{6452,2140,0}, {6455,2145,0},{6452,2150,0},{6453,2155,0},{6453,2150,0},{6458,2148,0},{6455,2145,0}, {6460,2137,0},{6457,2137,0},{6458,2132,0},{6460,2130,0},{6463,2123,0},{6465,2125,0}, {6468,2112,0},{6472,2110,0},{6473,2113,0},{6467,2128,0},{6468,2128,0},{6468,2132,0}, {6475,2123,0},{6475,2130,0},{6477,2130,0},{6478,2122,0},{6478,2110,0},{6483,2103,0}, {6485,2107,0},{6482,2112,0},{6483,2118,0},{6485,2117,0},{6487,2122,0},{6488,2120,0}, {6492,2125,0},{6495,2125,0},{6497,2138,0},{6498,2137,0},{6502,2142,0},{6502,2150,0}, {6505,2147,0},{6507,2158,0},{6508,2153,0},{6512,2157,0},{6513,2155,0},{6515,2162,0}, {6532,2140,0},{6533,2127,0},{6535,2133,0},{6537,2132,0},{6532,2142,0},{6532,2148,0}, {6523,2157,0},{6525,2167,0},{6528,2170,0},{6533,2158,0},{6532,2158,0},{6532,2153,0}, {6535,2145,0},{6537,2148,0},{6538,2147,0},{6538,2160,0},{6540,2155,0},{6542,2158,0}, {6538,2167,0},{6540,2170,0},{6542,2172,0},{6540,2175,0},{6540,2185,0},{6542,2187,0}, {6540,2193,0},{6545,2195,0},{6542,2200,0},{6547,2203,0},{6552,2193,0},{6548,2195,0}, {6548,2192,0},{6553,2185,0},{6552,2200,0},{6552,2205,0},{6552,2207,0},{6553,2208,0}, {6553,2213,0},{6555,2220,0},{6555,2217,0},{6558,2212,0},{6560,2202,0},{6565,2185,0}, {6570,2177,0},{6572,2177,0},{6567,2187,0},{6565,2193,0},{6555,2223,0},{6558,2225,0}, {6557,2232,0},{6557,2235,0},{6553,2240,0},{6557,2242,0},{6560,2233,0},{6563,2238,0}, {6563,2233,0},{6567,2232,0},{6567,2228,0},{6563,2232,0},{6560,2228,0},{6562,2218,0}, {6562,2228,0},{6568,2225,0},{6570,2228,0},{6567,2235,0},{6567,2238,0},{6572,2237,0}, {6572,2225,0},{6575,2222,0},{6573,2232,0},{6575,2235,0},{6580,2232,0},{6580,2237,0}, {6583,2233,0},{6583,2237,0},{6587,2237,0},{6585,2248,0},{6583,2247,0},{6582,2253,0}, {6577,2250,0},{6580,2260,0},{6577,2265,0},{6575,2265,0},{6577,2268,0},{6580,2270,0}, {6587,2268,0},{6590,2263,0},{6590,2268,0},{6585,2278,0},{6580,2283,0},{6578,2288,0}, {6580,2290,0},{6575,2302,0},{6575,2305,0},{6570,2308,0},{6572,2313,0},{6575,2315,0}, {6577,2323,0},{6578,2318,0},{6583,2320,0},{6578,2332,0},{6582,2333,0},{6582,2337,0}, {6578,2338,0},{6577,2343,0},{6580,2342,0},{6583,2348,0},{6580,2350,0},{6580,2360,0}, {6578,2362,0},{6582,2368,0},{6582,2373,0},{6580,2377,0},{6578,2387,0},{6575,2393,0}, {6580,2398,0},{6578,2405,0},{6580,2403,0},{6582,2417,0},{6978,3078,128}, {6977,3072,0},{6978,3070,0},{6980,3072,0},{6982,3055,0},{6982,3045,0},{6978,3045,0}, {6968,3045,0},{6967,3042,0},{6967,3033,0},{6968,3040,0},{6970,3042,0},{6983,3040,0}, {6983,3038,0},{6983,3028,0},{6987,3033,0},{6988,3030,0},{6987,3017,0},{6980,3015,0}, {6977,3022,0},{6975,3012,0},{6968,3018,0},{6970,3012,0},{6973,3007,0},{6968,2993,0}, {6970,2993,0},{6973,3003,0},{6977,3005,0},{6975,2995,0},{6973,2990,0},{6973,2980,0}, {6973,2967,0},{6965,2948,0},{6970,2955,0},{6970,2952,0},{6972,2958,0},{6977,2963,0}, {6978,2970,0},{6983,2977,0},{6992,2972,0},{6990,2965,0},{6992,2953,0},{6985,2943,0}, {6985,2937,0},{6990,2943,0},{6997,2968,0},{7002,2933,0},{7000,2913,0},{7003,2918,0}, {7003,2913,0},{7005,2913,0},{7008,2877,0},{7008,2875,0},{7010,2885,0},{7010,2862,0}, {7017,2875,0},{7017,2860,0},{7018,2870,0},{7013,2902,0},{7013,2915,0},{7007,2980,0}, {7007,3015,0},{7008,3012,0},{7010,3023,0},{7013,3035,0},{7015,3038,0},{7018,3037,0}, {7020,3050,0},{7023,3052,0},{7027,3077,0},{7027,3092,0},{7028,3107,0},{7033,3102,0}, {7037,3105,0},{7045,3095,0},{7043,3083,0},{7042,3080,0},{7045,3075,0},{7047,3072,0}, {7050,3057,0},{7053,3060,0},{7053,3058,0},{7055,3045,0},{7053,3032,0},{7052,3015,0}, {7053,3000,0},{7053,3017,0},{7055,3012,0},{7055,3023,0},{7060,3035,0},{7063,3022,0}, {7063,3010,0},{7067,3020,0},{7072,3010,0},{7070,2995,0},{7063,2985,0},{7062,2970,0}, {7062,2968,0},{7067,2977,0},{7070,2978,0},{7073,2978,0},{7075,2970,0},{7070,2955,0}, {7070,2940,0},{7067,2933,0},{7065,2928,0},{7068,2930,0},{7070,2937,0},{7072,2933,0}, {7073,2942,0},{7073,2930,0},{7078,2940,0},{7080,2928,0},{7085,2925,0},{7085,2907,0}, {7087,2910,0},{7088,2890,0},{7087,2882,0},{7087,2875,0},{7078,2865,0},{7073,2855,0}, {7070,2853,0},{7067,2862,0},{7067,2850,0},{7055,2840,0},{7052,2847,0},{7050,2855,0}, {7048,2850,0},{7045,2852,0},{7045,2847,0},{7048,2845,0},{7047,2833,0},{7043,2832,0}, {7042,2825,0},{7028,2818,0},{7017,2823,0},{7008,2813,0},{7007,2802,0},{7008,2810,0}, {7015,2818,0},{7037,2815,0},{7050,2833,0},{7050,2823,0},{7043,2812,0},{7047,2813,0}, {7043,2807,0},{7045,2803,0},{7050,2818,0},{7047,2795,0},{7048,2797,0},{7043,2788,0}, {7048,2785,0},{7062,2822,0},{7065,2828,0},{7072,2830,0},{7067,2813,0},{7062,2783,0}, {7060,2765,0},{7065,2787,0},{7067,2788,0},{7070,2807,0},{7073,2813,0},{7077,2788,0}, {7073,2777,0},{7077,2783,0},{7078,2777,0},{7078,2793,0},{7082,2800,0},{7078,2802,0}, {7078,2813,0},{7078,2827,0},{7080,2830,0},{7083,2822,0},{7083,2837,0},{7085,2835,0}, {7085,2843,0},{7087,2845,0},{7088,2837,0},{7088,2847,0},{7097,2855,0},{7098,2848,0}, {7100,2835,0},{7097,2822,0},{7100,2823,0},{7100,2818,0},{7102,2820,0},{7105,2827,0}, {7108,2820,0},{7107,2813,0},{7103,2808,0},{7107,2803,0},{7103,2788,0},{7105,2777,0}, {7105,2775,0},{7107,2770,0},{7110,2773,0},{7112,2765,0},{7108,2765,0},{7108,2752,0}, {7102,2753,0},{7102,2758,0},{7095,2757,0},{7095,2752,0},{7100,2748,0},{7103,2727,0}, {7100,2722,0},{7093,2735,0},{7097,2717,0},{7095,2713,0},{7092,2712,0},{7090,2717,0}, {7088,2730,0},{7088,2735,0},{7092,2740,0},{7090,2740,0},{7087,2738,0},{7087,2752,0}, {7083,2753,0},{7082,2748,0},{7080,2763,0},{7082,2733,0},{7080,2730,0},{7077,2728,0}, {7075,2735,0},{7073,2732,0},{7075,2725,0},{7073,2713,0},{7070,2708,0},{7068,2715,0}, {7063,2710,0},{7058,2727,0},{7062,2707,0},{7057,2697,0},{7055,2700,0},{7053,2697,0}, {7047,2710,0},{7045,2695,0},{7047,2693,0},{7048,2695,0},{7048,2685,0},{7047,2680,0}, {7042,2675,0},{7042,2665,0},{7040,2663,0},{7038,2665,0},{7037,2658,0},{7035,2655,0}, {7037,2650,0},{7043,2652,0},{7047,2657,0},{7052,2657,0},{7053,2660,0},{7063,2665,0}, {7065,2655,0},{7063,2635,0},{7070,2663,0},{7073,2668,0},{7083,2675,0},{7083,2667,0}, {7085,2667,0},{7090,2673,0},{7095,2670,0},{7093,2655,0},{7087,2637,0},{7077,2617,0}, {7072,2613,0},{7072,2607,0},{7060,2600,0},{7035,2545,0},{7032,2542,0},{7030,2553,0}, {7028,2553,0},{7020,2538,0},{7018,2532,0},{7008,2523,0},{7008,2515,0},{7008,2508,0}, {7012,2508,0},{7013,2513,0},{7012,2507,0},{7015,2508,0},{7012,2500,0},{7007,2505,0}, {7007,2500,0},{7010,2493,0},{7022,2498,0},{7030,2520,0},{7033,2518,0},{7032,2512,0}, {7035,2513,0},{7037,2508,0},{7040,2518,0},{7038,2525,0},{7040,2527,0},{7043,2525,0}, {7047,2528,0},{7048,2505,0},{7048,2510,0},{7048,2527,0},{7052,2527,0},{7050,2507,0}, {7057,2525,0},{7067,2545,0},{7072,2563,0},{7073,2565,0},{7075,2563,0},{7078,2575,0}, {7087,2593,0},{7088,2590,0},{7090,2585,0},{7085,2577,0},{7088,2572,0},{7088,2563,0}, {7085,2553,0},{7087,2552,0},{7083,2547,0},{7085,2543,0},{7087,2545,0},{7090,2553,0}, {7097,2537,0},{7095,2533,0},{7090,2540,0},{7085,2538,0},{7082,2535,0},{7080,2528,0}, {7078,2525,0},{7085,2525,0},{7092,2517,0},{7088,2508,0},{7085,2507,0},{7087,2492,0}, {7093,2507,0},{7097,2498,0},{7092,2498,0},{7090,2483,0},{7093,2487,0},{7097,2478,0}, {7097,2460,0},{7095,2465,0},{7093,2457,0},{7090,2463,0},{7090,2462,0},{7087,2473,0}, {7085,2460,0},{7078,2463,0},{7082,2447,0},{7087,2440,0},{7083,2427,0},{7077,2425,0}, {7073,2457,0},{7065,2473,0},{7062,2473,0},{7062,2468,0},{7062,2462,0},{7067,2448,0}, {7068,2438,0},{7068,2437,0},{7067,2428,0},{7062,2427,0},{7060,2427,0},{7053,2410,0}, {7052,2425,0},{7045,2435,0},{7048,2425,0},{7052,2398,0},{7048,2382,0},{7045,2377,0}, {7037,2352,0},{7032,2347,0},{7032,2353,0},{7030,2353,0},{7030,2362,0},{7028,2343,0}, {7025,2330,0},{7023,2332,0},{7025,2343,0},{7023,2353,0},{7022,2325,0},{7018,2332,0}, {7018,2342,0},{7017,2330,0},{7013,2340,0},{7010,2337,0},{7008,2318,0},{7003,2333,0}, {7002,2353,0},{6998,2347,0},{6993,2332,0},{6997,2335,0},{7000,2332,0},{6993,2313,0}, {6995,2310,0},{6997,2315,0},{6998,2312,0},{7003,2313,0},{7002,2305,0},{7003,2302,0}, {7015,2300,0},{7010,2287,0},{7003,2230,0},{7008,2245,0},{7012,2282,0},{7020,2297,0}, {7022,2270,0},{7022,2260,0},{7023,2258,0},{7025,2240,0},{7020,2235,0},{7017,2233,0}, {7013,2252,0},{7012,2255,0},{7015,2237,0},{7013,2223,0},{7017,2230,0},{7020,2228,0}, {7023,2227,0},{7028,2232,0},{7028,2215,0},{7023,2213,0},{7030,2210,0},{7028,2198,0}, {7032,2203,0},{7032,2200,0},{7025,2180,0},{7022,2182,0},{7020,2188,0},{7018,2185,0}, {7015,2187,0},{7020,2180,0},{7027,2162,0},{7032,2157,0},{7030,2152,0},{7022,2150,0}, {7023,2145,0},{7027,2142,0},{7025,2130,0},{7020,2120,0},{7020,2125,0},{7017,2132,0}, {7017,2148,0},{7015,2143,0},{7010,2147,0},{7008,2155,0},{7010,2162,0},{7005,2173,0}, {7007,2182,0},{7008,2183,0},{7008,2188,0},{7008,2200,0},{7012,2210,0},{7007,2202,0}, {7005,2185,0},{7003,2180,0},{7002,2192,0},{7003,2212,0},{7002,2205,0},{6993,2207,0}, {6995,2203,0},{6997,2203,0},{6998,2200,0},{6998,2193,0},{6993,2190,0},{6987,2193,0}, {6985,2202,0},{6983,2200,0},{6983,2192,0},{6980,2205,0},{6973,2210,0},{6973,2198,0}, {6975,2205,0},{6977,2195,0},{6983,2188,0},{6988,2178,0},{6988,2168,0},{6992,2158,0}, {6995,2160,0},{6998,2155,0},{7002,2142,0},{7002,2132,0},{7000,2125,0},{6993,2120,0}, {6990,2133,0},{6990,2122,0},{6985,2123,0},{6982,2117,0},{6982,2113,0},{6987,2118,0}, {6987,2107,0},{6983,2105,0},{6982,2100,0},{6980,2105,0},{6978,2102,0},{6982,2095,0}, {6983,2097,0},{6985,2090,0},{6995,2108,0},{6992,2092,0},{6987,2078,0},{6983,2083,0}, {6980,2080,0},{6977,2062,0},{6977,2048,0},{6970,2055,0},{6963,2048,0},{6958,2065,0}, {6953,2072,0},{6948,2085,0},{6953,2062,0},{6958,2048,0},{6948,2038,0},{6938,2028,0}, {6938,2020,0},{6932,2003,0},{6925,1995,0},{6928,1992,0},{6932,2000,0},{6933,1998,0}, {6940,2018,0},{6947,2022,0},{6945,2025,0},{6953,2030,0},{6957,2028,0},{6958,2037,0}, {6960,2038,0},{6967,2032,0},{6988,2042,0},{6997,2028,0},{6992,2020,0},{6985,2022,0}, {6988,2017,0},{6993,2017,0},{6992,2015,0},{6978,2003,0},{6977,1998,0},{6977,1997,0}, {6983,2002,0},{6977,1988,0},{6968,1982,0},{6962,1987,0},{6958,2012,0},{6958,1997,0}, {6962,1980,0},{6960,1975,0},{6958,1975,0},{6943,1968,0},{6943,1963,0},{6940,1955,0}, {6942,1955,0},{6947,1965,0},{6950,1962,0},{6963,1973,0},{6967,1968,0},{6980,1977,0}, {6980,1957,0},{6977,1942,0},{6978,1927,0},{6975,1918,0},{6973,1910,0},{6968,1908,0}, {6962,1895,0},{6957,1895,0},{6953,1902,0},{6955,1908,0},{6957,1923,0},{6952,1927,0}, {6955,1918,0},{6952,1900,0},{6945,1900,0},{6942,1908,0},{6938,1912,0},{6938,1930,0}, {6935,1942,0},{6932,1945,0},{6925,1945,0},{6922,1950,0},{6923,1940,0},{6922,1935,0}, {6923,1928,0},{6923,1925,0},{6927,1928,0},{6927,1925,0},{6925,1917,0},{6928,1920,0}, {6928,1935,0},{6932,1937,0},{6935,1930,0},{6935,1912,0},{6940,1902,0},{6942,1900,0}, {6950,1885,0},{6955,1885,0},{6953,1877,0},{6955,1862,0},{6952,1847,0},{6945,1845,0}, {6943,1857,0},{6937,1863,0},{6932,1895,0},{6928,1900,0},{6930,1892,0},{6932,1888,0}, {6932,1877,0},{6932,1867,0},{6928,1870,0},{6925,1868,0},{6928,1863,0},{6935,1855,0}, {6923,1852,0},{6928,1850,0},{6937,1850,0},{6940,1842,0},{6938,1837,0},{6945,1837,0}, {6948,1828,0},{6945,1815,0},{6938,1817,0},{6932,1810,0},{6930,1802,0},{6923,1798,0}, {6923,1810,0},{6917,1807,0},{6915,1815,0},{6915,1800,0},{6912,1785,0},{6910,1763,0}, {6908,1767,0},{6898,1748,0},{6898,1753,0},{6895,1753,0},{6895,1748,0},{6890,1743,0}, {6892,1752,0},{6893,1770,0},{6890,1773,0},{6888,1783,0},{6887,1783,0},{6887,1775,0}, {6888,1773,0},{6888,1765,0},{6883,1747,0},{6878,1767,0},{6878,1777,0},{6875,1778,0}, {6882,1745,0},{6875,1723,0},{6873,1730,0},{6873,1742,0},{6868,1747,0},{6868,1762,0}, {6865,1768,0},{6867,1758,0},{6867,1747,0},{6872,1737,0},{6872,1725,0},{6868,1710,0}, {6865,1713,0},{6865,1718,0},{6863,1717,0},{6863,1710,0},{6870,1698,0},{6865,1665,0}, {6860,1657,0},{6853,1663,0},{6853,1652,0},{6850,1647,0},{6843,1650,0},{6843,1653,0}, {6845,1685,0},{6850,1700,0},{6847,1710,0},{6845,1708,0},{6845,1702,0},{6843,1702,0}, {6845,1722,0},{6850,1735,0},{6853,1753,0},{6850,1755,0},{6845,1747,0},{6845,1763,0}, {6840,1778,0},{6838,1787,0},{6837,1782,0},{6838,1778,0},{6842,1758,0},{6842,1737,0}, {6837,1757,0},{6835,1757,0},{6840,1733,0},{6840,1725,0},{6838,1725,0},{6837,1720,0}, {6833,1722,0},{6825,1742,0},{6823,1742,0},{6823,1735,0},{6818,1737,0},{6817,1733,0}, {6825,1733,0},{6830,1720,0},{6837,1713,0},{6837,1703,0},{6832,1683,0},{6837,1688,0}, {6840,1670,0},{6838,1647,0},{6835,1623,0},{6835,1628,0},{6832,1625,0},{6830,1648,0}, {6827,1658,0},{6820,1663,0},{6813,1680,0},{6813,1673,0},{6820,1657,0},{6825,1652,0}, {6827,1642,0},{6828,1637,0},{6828,1632,0},{6830,1630,0},{6830,1622,0},{6832,1618,0}, {6830,1615,0},{6827,1610,0},{6825,1627,0},{6825,1632,0},{6823,1637,0},{6822,1617,0}, {6820,1617,0},{6820,1642,0},{6822,1645,0},{6820,1647,0},{6817,1658,0},{6818,1642,0}, {6817,1647,0},{6815,1647,0},{6815,1640,0},{6813,1640,0},{6815,1637,0},{6812,1632,0}, {6813,1625,0},{6810,1630,0},{6808,1630,0},{6807,1635,0},{6812,1648,0},{6808,1657,0}, {6807,1672,0},{6807,1667,0},{6805,1667,0},{6807,1653,0},{6810,1647,0},{6807,1640,0}, {6803,1637,0},{6802,1650,0},{6798,1647,0},{6797,1653,0},{6797,1645,0},{6800,1640,0}, {6800,1633,0},{6798,1633,0},{6795,1642,0},{6793,1647,0},{6790,1645,0},{6792,1640,0}, {6800,1627,0},{6800,1620,0},{6797,1628,0},{6788,1625,0},{6785,1645,0},{6782,1643,0}, {6780,1652,0},{6788,1622,0},{6797,1620,0},{6803,1603,0},{6807,1610,0},{6810,1607,0}, {6817,1610,0},{6815,1605,0},{6817,1603,0},{6823,1605,0},{6825,1597,0},{6818,1595,0}, {6818,1587,0},{6813,1592,0},{6808,1585,0},{6808,1575,0},{6807,1573,0},{6807,1567,0}, {6805,1565,0},{6805,1562,0},{6810,1562,0},{6810,1573,0},{6812,1570,0},{6813,1573,0}, {6815,1567,0},{6817,1565,0},{6813,1563,0},{6812,1555,0},{6808,1553,0},{6813,1550,0}, {6812,1543,0},{6807,1535,0},{6805,1535,0},{6803,1528,0},{6800,1532,0},{6798,1540,0}, {6800,1543,0},{6802,1538,0},{6805,1550,0},{6808,1553,0},{6803,1560,0},{6803,1580,0}, {6807,1587,0},{6805,1590,0},{6803,1585,0},{6802,1587,0},{6802,1605,0},{6800,1605,0}, {6800,1597,0},{6797,1595,0},{6793,1588,0},{6790,1587,0},{6795,1577,0},{6793,1560,0}, {6792,1560,0},{6788,1553,0},{6785,1553,0},{6787,1550,0},{6792,1555,0},{6788,1533,0}, {6790,1533,0},{6783,1520,0},{6787,1523,0},{6790,1500,0},{6787,1488,0},{6783,1485,0}, {6785,1507,0},{6785,1510,0},{6783,1508,0},{6783,1497,0},{6782,1488,0},{6782,1480,0}, {6780,1475,0},{6778,1477,0},{6778,1483,0},{6775,1483,0},{6778,1498,0},{6778,1503,0}, {6775,1498,0},{6775,1502,0},{6773,1512,0},{6772,1478,0},{6770,1482,0},{6770,1488,0}, {6765,1473,0},{6763,1482,0},{6767,1500,0},{6772,1518,0},{6773,1520,0},{6780,1537,0}, {6785,1537,0},{6782,1540,0},{6785,1542,0},{6783,1545,0},{6778,1542,0},{6777,1558,0}, {6778,1570,0},{6777,1563,0},{6773,1578,0},{6767,1583,0},{6775,1560,0},{6773,1540,0}, {6770,1547,0},{6770,1558,0},{6767,1565,0},{6768,1553,0},{6767,1553,0},{6768,1550,0}, {6772,1532,0},{6768,1527,0},{6768,1533,0},{6767,1525,0},{6762,1518,0},{6760,1537,0}, {6762,1538,0},{6763,1540,0},{6762,1543,0},{6755,1545,0},{6758,1542,0},{6760,1530,0}, {6758,1525,0},{6753,1523,0},{6752,1537,0},{6752,1557,0},{6755,1572,0},{6757,1590,0}, {6755,1588,0},{6753,1570,0},{6748,1555,0},{6747,1553,0},{6745,1558,0},{6743,1552,0}, {6738,1560,0},{6733,1562,0},{6730,1570,0},{6727,1563,0},{6728,1560,0},{6730,1565,0}, {6735,1553,0},{6740,1553,0},{6747,1545,0},{6748,1532,0},{6747,1523,0},{6742,1515,0}, {6747,1517,0},{6748,1515,0},{6748,1522,0},{6752,1518,0},{6747,1498,0},{6747,1483,0}, {6748,1498,0},{6750,1505,0},{6755,1498,0},{6755,1500,0},{6753,1510,0},{6753,1515,0}, {6755,1515,0},{6757,1507,0},{6755,1492,0},{6750,1473,0},{6747,1478,0},{6747,1477,0}, {6745,1483,0},{6743,1483,0},{6743,1505,0},{6742,1488,0},{6737,1482,0},{6742,1480,0}, {6742,1463,0},{6740,1457,0},{6738,1462,0},{6733,1455,0},{6723,1433,0},{6725,1455,0}, {6728,1470,0},{6723,1470,0},{6722,1462,0},{6722,1470,0},{6723,1477,0},{6725,1483,0}, {6727,1478,0},{6727,1487,0},{6727,1497,0},{6730,1503,0},{6732,1515,0},{6727,1515,0}, {6725,1507,0},{6723,1520,0},{6723,1533,0},{6722,1532,0},{6722,1527,0},{6720,1530,0}, {6723,1540,0},{6720,1558,0},{6722,1570,0},{6717,1573,0},{6720,1548,0},{6720,1538,0}, {6718,1538,0},{6715,1548,0},{6710,1543,0},{6707,1550,0},{6708,1540,0},{6717,1538,0}, {6717,1528,0},{6718,1523,0},{6718,1515,0},{6722,1508,0},{6720,1502,0},{6715,1493,0}, {6712,1500,0},{6708,1498,0},{6715,1488,128},{6720,1493,0},{6722,1498,0}, {6720,1477,0},{6718,1468,0},{6718,1452,0},{6717,1472,0},{6713,1475,0},{6712,1473,0}, {6715,1470,0},{6715,1447,0},{6710,1443,0},{6712,1442,0},{6717,1445,0},{6715,1435,0}, {6708,1427,0},{6705,1457,0},{6703,1460,0},{6702,1457,0},{6702,1455,0},{6705,1453,0}, {6707,1440,0},{6705,1425,0},{6702,1427,0},{6698,1423,0},{6697,1415,0},{6695,1413,0}, {6697,1415,0},{6700,1410,0},{6705,1408,0},{6705,1405,0},{6705,1403,0},{6702,1402,0}, {6698,1405,0},{6693,1393,0},{6692,1395,0},{6692,1392,0},{6695,1388,0},{6698,1397,0}, {6700,1395,0},{6698,1388,0},{6697,1383,0},{6697,1377,0},{6693,1378,0},{6693,1358,0}, {6692,1353,0},{6690,1353,0},{6690,1362,0},{6687,1363,0},{6685,1370,0},{6683,1370,0}, {6683,1377,0},{6682,1380,0},{6680,1393,0},{6678,1398,0},{6678,1382,0},{6680,1362,0}, {6678,1350,0},{6677,1355,0},{6675,1375,0},{6675,1357,0},{6672,1355,0},{6672,1362,0}, {6673,1365,0},{6673,1390,0},{6672,1370,0},{6668,1370,0},{6668,1357,0},{6672,1348,0}, {6672,1328,0},{6672,1323,0},{6668,1330,0},{6667,1348,0},{6663,1353,0},{6665,1345,0}, {6667,1318,0},{6665,1317,0},{6663,1322,0},{6662,1340,0},{6660,1323,0},{6657,1320,0}, {6653,1327,0},{6655,1342,0},{6660,1353,0},{6660,1373,0},{6660,1357,0},{6657,1345,0}, {6653,1362,0},{6652,1367,0},{6655,1347,0},{6653,1333,0},{6652,1327,0},{6650,1330,0}, {6647,1327,0},{6645,1338,0},{6645,1323,0},{6652,1322,0},{6653,1310,0},{6652,1297,0}, {6647,1317,0},{6645,1310,0},{6643,1315,0},{6640,1317,0},{6635,1300,0},{6632,1302,0}, {6632,1308,0},{6632,1317,0},{6630,1313,0},{6630,1320,0},{6632,1333,0},{6637,1332,0}, {6633,1337,0},{6633,1345,0},{6632,1340,0},{6630,1353,0},{6630,1333,0},{6627,1322,0}, {6620,1303,0},{6618,1305,0},{6620,1318,0},{6625,1330,0},{6625,1345,0},{6628,1358,0}, {6628,1362,0},{6625,1357,0},{6623,1362,0},{6625,1372,0},{6628,1375,0},{6627,1380,0}, {6627,1392,0},{6630,1397,0},{6630,1403,0},{6633,1412,0},{6632,1415,0},{6627,1400,0}, {6623,1398,0},{6622,1385,0},{6620,1378,0},{6620,1377,0},{6623,1380,0},{6623,1367,0}, {6618,1362,0},{6617,1368,0},{6618,1378,0},{6617,1383,0},{6615,1383,0},{6617,1375,0}, {6615,1362,0},{6610,1355,0},{6612,1353,0},{6615,1355,0},{6618,1358,0},{6618,1350,0}, {6620,1358,0},{6623,1358,0},{6623,1355,0},{6622,1332,0},{6613,1308,0},{6615,1305,0}, {6613,1285,0},{6607,1267,0},{6605,1273,0},{6603,1273,0},{6605,1288,0},{6608,1302,0}, {6607,1303,0},{6605,1297,0},{6600,1297,0},{6598,1292,0},{6595,1298,0},{6593,1312,0}, {6585,1318,0},{6592,1303,0},{6592,1297,0},{6597,1283,0},{6592,1267,0},{6585,1262,0}, {6582,1262,0},{6583,1270,0},{6578,1272,0},{6580,1265,0},{6578,1262,0},{6575,1255,0}, {6570,1265,0},{6565,1267,0},{6565,1278,0},{6563,1278,0},{6565,1262,0},{6568,1263,0}, {6568,1258,0},{6572,1258,0},{6573,1252,0},{6570,1243,0},{6565,1237,0},{6558,1235,0}, {6558,1242,0},{6555,1238,0},{6552,1243,0},{6558,1253,0},{6552,1247,0},{6552,1250,0}, {6553,1255,0},{6558,1258,0},{6553,1258,0},{6553,1262,0},{6550,1257,0},{6548,1260,0}, {6548,1265,0},{6547,1260,0},{6545,1278,0},{6545,1267,0},{6543,1263,0},{6537,1272,0}, {6543,1260,0},{6542,1257,0},{6545,1255,0},{6545,1248,0},{6537,1253,0},{6535,1265,0}, {6533,1268,0},{6535,1260,0},{6535,1252,0},{6537,1252,0},{6532,1242,0},{6533,1248,0}, {6530,1242,0},{6530,1233,0},{6523,1225,0},{6527,1235,0},{6527,1242,0},{6525,1245,0}, {6527,1253,0},{6525,1260,0},{6527,1260,0},{6527,1265,0},{6525,1272,0},{6523,1238,0}, {6522,1235,0},{6523,1242,0},{6522,1243,0},{6518,1250,0},{6517,1237,0},{6513,1240,0}, {6513,1250,0},{6520,1267,0},{6533,1292,0},{6533,1295,0},{6530,1293,0},{6525,1282,0}, {6520,1278,0},{6518,1270,0},{6515,1267,0},{6513,1260,0},{6512,1263,0},{6512,1250,0}, {6508,1245,0},{6508,1233,0},{6507,1230,0},{6505,1220,0},{6498,1218,0},{6503,1215,0}, {6503,1207,0},{6505,1207,0},{6503,1203,0},{6503,1200,0},{6505,1202,0},{6507,1197,0}, {6502,1182,0},{6497,1182,0},{6495,1167,0},{6497,1162,0},{6493,1163,0},{6495,1158,0}, {6493,1148,0},{6490,1153,0},{6492,1160,0},{6488,1153,0},{6492,1145,0},{6488,1130,0}, {6485,1125,0},{6488,1157,0},{6490,1170,0},{6487,1155,0},{6483,1127,0},{6482,1125,0}, {6480,1143,0},{6477,1135,0},{6473,1125,0},{6475,1138,0},{6482,1147,0},{6482,1155,0}, {6483,1162,0},{6487,1162,0},{6495,1192,0},{6495,1198,0},{6497,1203,0},{6497,1213,0}, {6493,1222,0},{6495,1210,0},{6493,1200,0},{6493,1193,0},{6488,1173,0},{6483,1165,0}, {6485,1178,0},{6483,1178,0},{6482,1165,0},{6480,1183,0},{6477,1173,0},{6478,1172,0}, {6477,1157,0},{6477,1155,0},{6475,1160,0},{6473,1162,0},{6475,1153,0},{6473,1152,0}, {6470,1140,0},{6470,1142,0},{6467,1140,0},{6463,1142,0},{6457,1152,0},{6458,1158,0}, {6460,1158,0},{6460,1155,0},{6462,1160,0},{6462,1163,0},{6458,1163,0},{6460,1172,0}, {6458,1178,0},{6453,1157,0},{6453,1155,0},{6455,1157,0},{6455,1152,0},{6452,1155,0}, {6450,1145,0},{6447,1145,0},{6447,1165,0},{6447,1152,0},{6443,1145,0},{6445,1142,0}, {6442,1137,0},{6440,1138,0},{6438,1135,0},{6432,1123,0},{6443,1133,0},{6445,1127,0}, {6445,1122,0},{6443,1120,0},{6445,1117,0},{6448,1118,0},{6452,1110,0},{6452,1107,0}, {6457,1107,0},{6460,1097,0},{6458,1092,0},{6455,1097,0},{6450,1097,0},{6450,1092,0}, {6448,1097,0},{6448,1092,0},{6447,1090,0},{6448,1088,0},{6450,1082,0},{6447,1083,0}, {6447,1070,0},{6445,1065,0},{6443,1070,0},{6443,1078,0},{6440,1078,0},{6437,1085,0}, {6438,1077,0},{6440,1073,0},{6442,1067,0},{6445,1062,0},{6443,1057,0},{6440,1063,0}, {6443,1055,0},{6443,1050,0},{6440,1047,0},{6440,1057,0},{6437,1060,0},{6435,1065,0}, {6433,1060,0},{6437,1055,0},{6435,1052,0},{6433,1055,0},{6435,1047,0},{6430,1045,0}, {6430,1050,0},{6428,1043,0},{6428,1040,0},{6425,1040,0},{6427,1035,0},{6425,1033,0}, {6423,1025,0},{6422,1037,0},{6418,1037,0},{6420,1028,0},{6418,1023,0},{6420,1018,0}, {6418,1017,0},{6415,1020,0},{6415,1017,0},{6413,1017,0},{6413,1013,0},{6412,1012,0}, {6412,1022,0},{6410,1020,0},{6408,1010,0},{6412,1003,0},{6410,1000,0},{6405,1003,0}, {6395,993,0},{6398,1007,0},{6397,1007,0},{6398,1013,0},{6392,995,0},{6393,1005,0}, {6397,1015,0},{6393,1018,0},{6392,1003,0},{6388,992,0},{6390,990,0},{6388,980,0}, {6387,983,0},{6387,987,0},{6382,963,0},{6377,955,0},{6375,958,0},{6377,978,0}, {6372,955,0},{6370,957,0},{6367,953,0},{6367,957,0},{6370,965,0},{6372,985,0}, {6375,992,0},{6378,1003,0},{6375,1000,0},{6377,1010,0},{6372,1000,0},{6368,982,0}, {6367,978,0},{6365,983,0},{6362,980,0},{6360,983,0},{6358,990,0},{6350,992,0}, {6348,998,0},{6350,1010,0},{6355,1023,0},{6357,1040,0},{6363,1062,0},{6367,1063,0}, {6373,1092,0},{6375,1097,0},{6380,1100,0},{6383,1108,0},{6388,1103,0},{6390,1092,0}, {6385,1080,0},{6380,1057,0},{6387,1070,0},{6388,1080,0},{6398,1112,0},{6402,1120,0}, {6407,1122,0},{6412,1130,0},{6410,1135,0},{6407,1123,0},{6403,1125,0},{6402,1135,0}, {6403,1142,0},{6402,1145,0},{6402,1150,0},{6400,1150,0},{6398,1143,0},{6397,1127,0}, {6392,1120,0},{6390,1110,0},{6385,1110,0},{6385,1113,0},{6387,1127,0},{6385,1135,0}, {6385,1142,0},{6378,1145,0},{6377,1125,0},{6370,1115,0},{6370,1097,0},{6363,1085,0}, {6360,1072,0},{6355,1067,0},{6360,1088,0},{6360,1092,0},{6358,1090,0},{6357,1085,0}, {6357,1092,0},{6355,1092,0},{6353,1080,0},{6352,1077,0},{6348,1078,0},{6347,1092,0}, {6343,1083,0},{6342,1080,0},{6345,1068,0},{6343,1057,0},{6345,1045,0},{6343,1037,0}, {6347,1030,0},{6343,1008,0},{6338,1005,0},{6335,1012,0},{6333,1025,0},{6332,1028,0}, {6327,1027,0},{6332,1025,0},{6333,1023,0},{6333,1010,0},{6335,1000,0},{6332,983,0}, {6338,993,0},{6343,997,0},{6352,982,0},{6353,982,0},{6363,972,0},{6358,950,0}, {6358,955,0},{6353,957,0},{6357,953,0},{6357,947,0},{6352,942,0},{6352,937,0}, {6357,937,0},{6353,930,0},{6353,925,0},{6352,923,0},{6350,923,0},{6350,915,0}, {6347,915,0},{6345,922,0},{6345,928,0},{6347,927,0},{6350,927,0},{6347,933,0}, {6348,948,0},{6343,918,0},{6338,917,0},{6337,920,0},{6338,942,0},{6340,948,0}, {6337,940,0},{6335,923,0},{6330,908,0},{6335,910,0},{6337,915,0},{6342,912,0}, {6347,902,0},{6343,897,0},{6342,900,0},{6342,888,0},{6340,888,0},{6343,882,0}, {6342,873,0},{6340,872,0},{6342,868,0},{6340,865,0},{6338,865,0},{6333,877,0}, {6330,848,0},{6325,858,0},{6320,860,0},{6320,893,0},{6318,863,0},{6317,857,0}, {6313,857,0},{6312,863,0},{6310,863,0},{6313,853,0},{6313,837,0},{6315,830,0}, {6313,823,0},{6312,832,0},{6308,832,0},{6308,828,0},{6313,822,0},{6312,817,0}, {6307,822,0},{6303,823,0},{6302,832,0},{6302,847,0},{6300,832,0},{6297,837,0}, {6302,858,0},{6298,852,0},{6298,867,0},{6297,865,0},{6297,845,0},{6295,842,0}, {6290,848,0},{6288,862,0},{6282,870,0},{6287,858,0},{6288,847,0},{6288,843,0}, {6287,853,0},{6283,853,0},{6288,840,0},{6287,833,0},{6293,830,0},{6297,833,0}, {6303,813,0},{6307,813,0},{6310,808,0},{6308,798,0},{6305,797,0},{6300,788,0}, {6300,790,0},{6300,797,0},{6302,795,0},{6303,797,0},{6300,800,0},{6295,813,0}, {6292,818,0},{6290,820,0},{6288,817,0},{6283,818,0},{6280,832,0},{6278,835,0}, {6272,855,0},{6267,857,0},{6265,855,0},{6272,848,0},{6272,842,0},{6278,830,0}, {6282,817,0},{6293,808,0},{6297,798,0},{6290,768,0},{6295,778,0},{6297,777,0}, {6297,765,0},{6293,757,0},{6292,747,0},{6292,745,0},{6295,742,0},{6302,727,0}, {6298,710,0},{6293,700,0},{6292,688,0},{6290,695,0},{6283,700,0},{6285,713,0}, {6283,715,0},{6282,722,0},{6282,707,0},{6280,700,0},{6277,695,0},{6275,698,0}, {6272,697,0},{6275,737,0},{6278,747,0},{6280,763,0},{6278,768,0},{6277,750,0}, {6273,737,0},{6272,742,0},{6268,737,0},{6268,750,0},{6273,768,0},{6277,807,0}, {6275,805,0},{6270,815,0},{6273,798,0},{6272,797,0},{6273,790,0},{6273,780,0}, {6267,752,0},{6265,750,0},{6262,753,0},{6258,752,0},{6258,750,0},{6263,748,0}, {6262,742,0},{6257,745,0},{6257,752,0},{6258,772,0},{6257,778,0},{6255,757,0}, {6250,753,0},{6255,750,0},{6255,743,0},{6260,735,0},{6263,717,0},{6260,713,0}, {6257,715,0},{6253,713,0},{6262,710,0},{6262,703,0},{6265,708,0},{6265,690,0}, {6262,693,0},{6257,690,0},{6260,688,0},{6265,675,0},{6260,665,0},{6262,662,0}, {6257,662,0},{6262,655,0},{6260,643,0},{6262,633,0},{6258,625,0},{6252,627,0}, {6253,653,0},{6253,657,0},{6252,653,0},{6252,648,0},{6250,650,0},{6252,662,0}, {6248,668,0},{6248,643,0},{6247,623,0},{6245,623,0},{6245,633,0},{6242,638,0}, {6243,655,0},{6248,670,0},{6247,672,0},{6248,678,0},{6245,677,0},{6245,685,0}, {6237,697,0},{6237,692,0},{6232,698,0},{6228,717,0},{6228,737,0},{6223,742,0}, {6228,730,0},{6225,722,0},{6227,712,0},{6227,702,0},{6218,703,0},{6212,697,0}, {6210,703,0},{6213,713,0},{6212,717,0},{6210,718,0},{6212,713,0},{6208,703,0}, {6208,698,0},{6210,695,0},{6213,695,0},{6218,702,0},{6228,698,0},{6235,688,0}, {6242,688,0},{6245,670,0},{6240,655,0},{6235,657,0},{6240,650,0},{6240,643,0}, {6237,638,0},{6232,642,0},{6215,658,0},{6213,658,0},{6210,653,0},{6215,657,0}, {6225,645,0},{6227,640,0},{6237,632,0},{6230,602,0},{6225,595,0},{6222,600,0}, {6220,607,0},{6220,600,0},{6223,593,0},{6220,592,0},{6210,608,0},{6208,627,0}, {6207,635,0},{6205,635,0},{6208,615,0},{6207,605,0},{6210,605,0},{6213,597,0}, {6207,593,0},{6202,585,0},{6205,585,0},{6210,592,0},{6215,593,0},{6218,592,0}, {6220,587,0},{6217,567,0},{6213,568,0},{6208,575,0},{6212,567,0},{6217,563,0}, {6218,548,0},{6218,542,0},{6212,538,0},{6207,560,0},{6207,558,0},{6207,553,0}, {6200,547,0},{6205,545,0},{6212,528,0},{6217,528,0},{6222,517,0},{6222,515,0}, {6218,515,0},{6218,508,0},{6215,507,0},{6213,513,0},{6210,510,0},{6210,520,0}, {6202,540,0},{6202,530,0},{6195,523,0},{6197,522,0},{6195,518,0},{6197,517,0}, {6197,515,0},{6192,510,0},{6190,515,0},{6193,543,0},{6192,545,0},{6192,560,0}, {6192,567,0},{6192,597,0},{6188,573,0},{6185,578,0},{6188,590,0},{6187,603,0}, {6183,612,0},{6185,628,0},{6182,648,0},{6187,655,0},{6190,667,0},{6188,670,0}, {6187,682,0},{6183,678,0},{6187,668,0},{6187,658,0},{6182,653,0},{6180,647,0}, {6182,635,0},{6183,627,0},{6183,607,0},{6177,618,0},{6177,617,0},{6177,610,0}, {6180,605,0},{6183,597,0},{6177,595,0},{6173,590,0},{6177,593,0},{6185,593,0}, {6183,568,0},{6182,563,0},{6183,570,0},{6185,575,0},{6188,567,0},{6192,542,0}, {6190,535,0},{6187,528,0},{6185,528,0},{6183,533,0},{6183,525,0},{6182,527,0}, {6177,507,0},{6177,523,0},{6175,513,0},{6172,517,0},{6170,513,0},{6175,505,0}, {6173,498,0},{6168,493,0},{6163,497,0},{6163,525,0},{6165,535,0},{6163,535,0}, {6160,510,0},{6162,523,0},{6160,537,0},{6158,542,0},{6158,532,0},{6160,533,0}, {6160,527,0},{6158,515,0},{6155,535,0},{6155,515,0},{6152,515,0},{6148,528,0}, {6148,543,0},{6145,545,0},{6145,555,0},{6148,563,0},{6150,570,0},{6148,577,0}, {6145,580,0},{6148,567,0},{6145,562,0},{6145,555,0},{6143,553,0},{6147,532,0}, {6145,533,0},{6145,532,0},{6147,518,0},{6145,518,0},{6145,508,0},{6142,495,0}, {6140,498,0},{6142,512,0},{6140,508,0},{6137,507,0},{6140,505,0},{6138,500,0}, {6135,500,0},{6133,507,0},{6132,503,0},{6132,505,0},{6135,515,0},{6137,527,0}, {6138,540,0},{6137,563,0},{6137,545,0},{6137,537,0},{6135,527,0},{6132,532,0}, {6125,533,0},{6132,528,0},{6133,522,0},{6133,517,0},{6130,517,0},{6130,510,0}, {6125,495,0},{6125,500,0},{6123,500,0},{6123,507,0},{6122,500,0},{6122,515,0}, {6118,523,0},{6117,522,0},{6118,510,0},{6117,505,0},{6113,512,0},{6115,517,0}, {6113,522,0},{6113,517,0},{6110,520,0},{6112,530,0},{6110,533,0},{6107,540,0}, {6110,548,0},{6113,555,0},{6113,567,0},{6115,575,0},{6120,578,0},{6115,578,0}, {6117,592,0},{6120,603,0},{6118,603,0},{6117,597,0},{6115,600,0},{6115,613,0}, {6118,618,0},{6115,618,0},{6113,623,0},{6112,635,0},{6112,643,0},{6113,650,0}, {6115,652,0},{6120,647,0},{6120,653,0},{6127,650,0},{6128,652,0},{6125,655,0}, {6127,658,0},{6140,670,0},{6133,670,0},{6127,663,0},{6123,657,0},{6122,657,0}, {6118,672,0},{6118,683,0},{6117,692,0},{6118,700,0},{6115,692,0},{6112,693,0}, {6112,695,0},{6113,700,0},{6115,715,0},{6117,717,0},{6118,722,0},{6117,730,0}, {6118,737,0},{6122,730,0},{6127,728,128},{6128,723,0},{6135,732,0},{6138,727,0}, {6138,733,0},{6140,735,0},{6148,757,0},{6137,737,0},{6133,737,0},{6128,730,0}, {6127,733,0},{6122,735,0},{6120,738,0},{6120,760,0},{6123,763,0},{6123,770,0}, {6120,765,0},{6118,743,0},{6115,735,0},{6112,738,0},{6110,743,0},{6113,723,0}, {6112,718,0},{6110,700,0},{6097,707,0},{6095,717,0},{6090,717,0},{6087,712,0}, {6093,713,0},{6097,703,0},{6093,687,0},{6100,700,0},{6108,695,0},{6108,687,0}, {6113,685,0},{6113,682,0},{6115,667,0},{6117,662,0},{6110,655,0},{6107,640,0}, {6100,637,0},{6102,633,0},{6107,637,0},{6107,630,0},{6103,625,0},{6107,627,0}, {6110,627,0},{6112,612,0},{6112,583,0},{6108,583,0},{6107,578,0},{6110,578,0}, {6112,577,0},{6108,568,0},{6108,560,0},{6105,563,0},{6107,557,0},{6105,547,0}, {6100,545,0},{6103,542,0},{6103,528,0},{6105,523,0},{6107,507,0},{6103,500,0}, {6098,500,0},{6097,508,0},{6098,513,0},{6097,515,0},{6095,510,0},{6087,510,0}, {6088,508,0},{6095,508,0},{6097,500,0},{6095,498,0},{6083,505,0},{6083,513,0}, {6082,512,0},{6080,515,0},{6085,517,0},{6083,517,0},{6082,525,0},{6083,532,0}, {6087,533,0},{6090,548,0},{6088,547,0},{6087,553,0},{6087,550,0},{6085,537,0}, {6083,533,0},{6080,535,0},{6080,528,0},{6077,523,0},{6075,525,0},{6073,537,0}, {6065,543,0},{6068,540,0},{6067,537,0},{6063,543,0},{6067,535,0},{6063,537,0}, {6063,533,0},{6072,528,0},{6077,505,0},{6080,500,0},{6080,493,0},{6077,502,0}, {6073,505,0},{6072,513,0},{6070,515,0},{6070,508,0},{6065,518,0},{6062,523,0}, {6067,513,0},{6065,508,0},{6055,527,0},{6057,537,0},{6060,540,0},{6063,553,0}, {6068,553,0},{6070,560,0},{6075,568,0},{6070,567,0},{6070,575,0},{6067,572,0}, {6065,575,0},{6063,572,0},{6047,572,0},{6045,570,0},{6045,565,0},{6042,563,0}, {6042,550,0},{6052,530,0},{6047,523,0},{6038,530,0},{6038,520,0},{6037,515,0}, {6035,515,0},{6033,515,0},{6035,520,0},{6032,523,0},{6032,517,0},{6028,517,0}, {6027,532,0},{6020,522,0},{6022,530,0},{6020,535,0},{6018,530,0},{6017,537,0}, {6015,535,0},{6013,542,0},{6017,543,0},{6022,553,0},{6035,562,0},{6038,572,0}, {6038,573,0},{6037,572,0},{6035,567,0},{6025,557,0},{6023,558,0},{6027,563,0}, {6023,560,0},{6023,570,0},{6020,557,0},{6017,558,0},{6015,555,0},{6013,558,0}, {6015,565,0},{6018,567,0},{6020,578,0},{6017,570,0},{6013,573,0},{6010,570,0}, {6008,572,0},{6007,575,0},{6008,575,0},{6008,580,0},{6007,577,0},{6007,568,0}, {6000,570,0},{5998,575,0},{6002,577,0},{6000,578,0},{6003,588,0},{6017,585,0}, {6017,592,0},{6027,600,0},{6023,612,0},{6025,613,0},{6028,617,0},{6030,615,0}, {6035,618,0},{6037,612,0},{6037,625,0},{6042,618,0},{6047,618,0},{6040,623,0}, {6038,628,0},{6042,638,0},{6047,657,0},{6052,668,0},{6050,670,0},{6047,660,0}, {6045,660,0},{6043,663,0},{6045,670,0},{6047,673,0},{6050,685,0},{6053,690,0}, {6058,700,0},{6055,697,0},{6050,690,0},{6050,710,0},{6047,705,0},{6048,693,0}, {6047,682,0},{6043,673,0},{6038,670,0},{6037,665,0},{6027,657,0},{6023,658,0}, {6017,653,0},{6008,652,0},{6012,650,0},{6027,653,0},{6042,663,0},{6043,653,0}, {6042,647,0},{6038,643,0},{6037,633,0},{6033,633,0},{6032,627,0},{6030,620,0}, {6027,622,0},{6022,615,0},{6018,607,0},{6010,612,0},{6012,618,0},{6015,625,0}, {6013,625,0},{6012,628,0},{6007,603,0},{6000,595,0},{5997,598,0},{5995,597,0}, {5993,577,0},{5990,573,0},{5987,573,0},{5985,565,0},{5985,570,0},{5985,572,0}, {5985,570,0},{5983,570,0},{5977,583,0},{5978,592,0},{5985,593,0},{5985,597,0}, {5985,595,0},{5982,597,0},{5978,593,0},{5977,595,0},{5975,598,0},{5977,605,0}, {5983,620,0},{5985,630,0},{5982,622,0},{5975,607,0},{5973,595,0},{5975,593,0}, {5977,590,0},{5973,588,0},{5972,582,0},{5968,573,0},{5967,578,0},{5967,588,0}, {5965,588,0},{5965,577,0},{5960,577,0},{5960,572,0},{5963,573,0},{5965,572,0}, {5967,557,0},{5963,553,0},{5958,553,0},{5955,552,0},{5950,542,0},{5953,542,0}, {5953,545,0},{5957,550,0},{5962,548,0},{5970,552,0},{5973,548,0},{5967,540,0}, {5962,543,0},{5960,542,0},{5965,537,0},{5958,527,0},{5953,520,0},{5952,525,0}, {5950,518,0},{5943,520,0},{5940,527,0},{5935,528,0},{5933,532,0},{5935,533,0}, {5942,533,0},{5930,538,0},{5930,542,0},{5937,540,0},{5940,543,0},{5930,543,0}, {5927,552,0},{5933,558,0},{5940,558,0},{5942,555,0},{5940,560,0},{5933,565,0}, {5928,562,0},{5930,568,0},{5933,572,0},{5935,585,0},{5938,587,0},{5943,578,0}, {5940,565,0},{5943,572,0},{5947,570,0},{5945,573,0},{5947,580,0},{5952,578,0}, {5953,580,0},{5948,588,0},{5948,615,0},{5945,598,0},{5945,588,0},{5942,588,0}, {5935,593,0},{5938,600,0},{5940,597,0},{5943,598,0},{5940,602,0},{5942,607,0}, {5945,615,0},{5953,622,0},{5965,630,0},{5965,632,0},{5952,625,0},{5957,638,0}, {5955,655,0},{5955,645,0},{5950,623,0},{5943,618,0},{5938,603,0},{5933,600,0}, {5932,602,0},{5933,605,0},{5932,610,0},{5933,615,0},{5932,618,0},{5933,620,0}, {5937,620,0},{5933,623,0},{5930,623,0},{5930,608,0},{5925,612,0},{5928,625,0}, {5932,633,0},{5932,647,0},{5932,633,0},{5927,627,0},{5925,617,0},{5917,600,0}, {5913,602,0},{5915,612,0},{5910,590,0},{5907,587,0},{5902,593,0},{5902,602,0}, {5898,605,0},{5898,600,0},{5897,597,0},{5890,603,0},{5897,610,0},{5900,615,0}, {5903,640,0},{5905,662,0},{5902,637,0},{5895,612,0},{5888,605,0},{5885,613,0}, {5883,622,0},{5883,617,0},{5885,608,0},{5890,595,0},{5893,593,0},{5897,585,0}, {5895,582,0},{5892,582,0},{5893,575,0},{5887,572,0},{5897,572,0},{5903,555,0}, {5898,553,0},{5898,558,0},{5897,555,0},{5892,563,0},{5890,562,0},{5895,555,0}, {5893,553,0},{5888,557,0},{5887,553,0},{5880,552,0},{5875,545,0},{5870,552,0}, {5867,552,0},{5862,557,0},{5855,563,0},{5852,572,0},{5848,575,0},{5847,595,0}, {5842,597,0},{5838,602,0},{5830,628,0},{5827,633,0},{5827,647,0},{5823,660,0}, {5825,662,0},{5832,662,0},{5832,670,0},{5830,670,0},{5828,665,0},{5828,663,0}, {5822,668,0},{5827,685,0},{5820,667,0},{5818,665,0},{5817,667,0},{5817,660,0}, {5813,657,0},{5812,653,0},{5807,660,0},{5805,677,0},{5807,678,0},{5812,668,0}, {5818,672,0},{5812,673,0},{5812,682,0},{5818,678,0},{5818,680,0},{5815,682,0}, {5812,690,0},{5813,698,0},{5812,695,0},{5812,685,0},{5808,680,0},{5807,688,0}, {5810,690,0},{5808,692,0},{5805,692,0},{5810,697,0},{5810,700,0},{5808,698,0}, {5803,695,0},{5810,715,0},{5805,712,0},{5807,708,0},{5805,705,0},{5803,700,0}, {5798,700,0},{5800,707,0},{5803,707,0},{5805,715,0},{5803,717,0},{5805,725,0}, {5803,727,0},{5800,748,0},{5802,758,0},{5803,758,0},{5802,760,0},{5802,762,0}, {5805,763,0},{5805,767,0},{5807,767,0},{5805,770,0},{5807,773,0},{5807,788,0}, {5808,795,0},{5812,795,0},{5815,802,0},{5822,802,0},{5815,808,0},{5813,803,0}, {5810,805,0},{5810,812,0},{5810,813,0},{5815,817,0},{5812,822,0},{5815,822,0}, {5818,827,0},{5820,825,0},{5825,837,0},{5823,840,0},{5827,840,0},{5825,843,0}, {5825,850,0},{5828,850,0},{5835,858,0},{5832,860,0},{5837,863,0},{5837,868,0}, {5843,872,0},{5848,883,0},{5855,895,0},{5858,895,0},{5860,892,0},{5858,897,0}, {5860,903,0},{5867,920,0},{5868,918,0},{5868,905,0},{5870,920,0},{5872,922,0}, {5873,910,0},{5872,917,0},{5872,907,0},{5873,907,0},{5873,930,0},{5878,940,0}, {5878,937,0},{5883,945,0},{5885,940,0},{5882,930,0},{5883,927,0},{5887,930,0}, {5885,933,0},{5887,940,0},{5888,940,0},{5888,937,0},{5890,938,0},{5888,945,0}, {5890,947,0},{5890,950,0},{5890,952,0},{5893,947,0},{5892,958,0},{5893,960,0}, {5895,965,0},{5895,968,0},{5898,965,0},{5900,970,0},{5898,972,0},{5902,972,0}, {5903,963,0},{5908,962,0},{5912,953,0},{5912,960,0},{5913,963,0},{5912,963,0}, {5907,965,0},{5905,968,0},{5908,970,0},{5903,975,0},{5905,978,0},{5900,985,0}, {5897,985,0},{5897,982,0},{5895,983,0},{5897,1002,0},{5903,1003,0},{5902,1007,0}, {5905,1013,0},{5905,1017,0},{5903,1017,0},{5902,1012,0},{5900,1013,0},{5902,1022,0}, {5907,1020,0},{5912,1023,0},{5903,1027,0},{5910,1027,0},{5905,1030,0},{5913,1028,0}, {5912,1032,0},{5920,1033,0},{5922,1037,0},{5927,1037,0},{5925,1043,0},{5923,1045,0}, {5927,1048,0},{5932,1052,0},{5935,1045,0},{5942,1047,0},{5945,1043,0},{5945,1037,0}, {5955,1023,0},{5952,1037,0},{5955,1038,0},{5958,1040,0},{5967,1038,0},{5970,1027,0}, {5973,1022,0},{5973,1027,0},{5973,1030,0},{5970,1033,0},{5970,1037,0},{5967,1042,0}, {5953,1042,0},{5952,1045,0},{5955,1055,0},{5960,1062,0},{5963,1060,0},{5968,1052,0}, {5973,1050,0},{5983,1050,0},{5985,1047,0},{5987,1050,0},{5988,1057,0},{5987,1060,0}, {5990,1062,0},{5988,1067,0},{5990,1068,0},{5988,1075,0},{5983,1077,0},{5973,1072,0}, {5983,1067,0},{5985,1063,0},{5973,1055,0},{5968,1058,0},{5968,1062,0},{5952,1065,0}, {5947,1070,0},{5943,1067,0},{5948,1067,0},{5947,1062,0},{5942,1058,0},{5940,1065,0}, {5937,1065,0},{5932,1068,0},{5932,1072,0},{5933,1073,0},{5932,1078,0},{5928,1075,0}, {5922,1073,0},{5925,1077,0},{5922,1078,0},{5918,1078,0},{5918,1080,0},{5915,1083,0}, {5918,1085,0},{5920,1090,0},{5913,1090,0},{5913,1095,0},{5918,1095,0},{5917,1100,0}, {5915,1103,0},{5913,1103,0},{5912,1107,0},{5913,1110,0},{5917,1108,0},{5913,1112,0}, {5917,1115,0},{5918,1113,0},{5920,1117,0},{5915,1118,0},{5915,1120,0},{5912,1117,0}, {5910,1122,0},{5912,1130,0},{5910,1137,0},{5898,1143,0},{6927,6505,128}, {6925,6492,0},{6920,6495,0},{6915,6480,0},{6917,6477,0},{6922,6480,0},{6925,6478,0}, {6930,6487,0},{6928,6493,0},{6928,6500,0},{6932,6498,0},{6952,6428,0},{6967,6342,0}, {6970,6308,0},{6975,6250,0},{6975,6202,0},{6978,6173,0},{6977,6158,0},{6980,6140,0}, {6983,6127,0},{6983,6115,0},{6987,6110,0},{6985,6105,0},{6987,6087,0},{6985,6077,0}, {6982,6070,0},{6973,6072,0},{6972,6063,0},{6967,6067,0},{6967,6050,0},{6967,6028,0}, {6963,6015,0},{6957,6013,0},{6955,6022,0},{6952,6022,0},{6947,6030,0},{6932,6055,0}, {6922,6060,0},{6913,6058,0},{6912,6063,0},{6912,6073,0},{6917,6073,0},{6913,6088,0}, {6908,6093,0},{6900,6095,0},{6892,6092,0},{6890,6097,0},{6890,6083,0},{6875,6060,0}, {6872,6047,0},{6868,6008,0},{6870,6000,0},{6872,5995,0},{6872,5990,0},{6868,5982,0}, {6863,5977,0},{6860,5987,0},{6847,5997,0},{6837,5983,0},{6833,5965,0},{6838,5937,0}, {6840,5913,0},{6842,5907,0},{6848,5908,0},{6853,5912,0},{6857,5907,0},{6862,5907,0}, {6863,5912,0},{6870,5918,0},{6872,5927,0},{6870,5940,0},{6875,5943,0},{6877,5942,0}, {6890,5910,0},{6893,5888,0},{6897,5902,0},{6898,5923,0},{6900,5923,0},{6900,5893,0}, {6895,5852,0},{6890,5828,0},{6883,5825,0},{6878,5828,0},{6877,5843,0},{6873,5842,0}, {6873,5833,0},{6875,5837,0},{6878,5825,0},{6883,5820,0},{6887,5825,0},{6888,5823,0}, {6885,5797,0},{6882,5795,0},{6878,5798,0},{6875,5792,0},{6873,5758,0},{6868,5753,0}, {6865,5745,0},{6858,5740,0},{6855,5728,0},{6853,5708,0},{6857,5687,0},{6863,5663,0}, {6863,5657,0},{6858,5650,0},{6862,5653,0},{6863,5652,0},{6860,5633,0},{6863,5613,0}, {6867,5597,0},{6860,5583,0},{6857,5568,0},{6857,5558,0},{6857,5547,0},{6855,5532,0}, {6852,5523,0},{6850,5520,0},{6847,5510,0},{6843,5507,0},{6843,5500,0},{6840,5493,0}, {6833,5492,0},{6832,5485,0},{6828,5492,0},{6825,5493,0},{6817,5482,0},{6818,5465,0}, {6830,5455,0},{6830,5452,0},{6830,5447,0},{6820,5423,0},{6820,5420,0},{6825,5417,0}, {6832,5420,0},{6825,5410,0},{6822,5400,0},{6822,5387,0},{6823,5383,0},{6825,5370,0}, {6825,5347,0},{6823,5333,0},{6825,5325,0},{6827,5320,0},{6835,5333,0},{6833,5337,0}, {6835,5338,0},{6837,5343,0},{6835,5358,0},{6833,5367,0},{6835,5368,0},{6840,5358,0}, {6840,5362,0},{6840,5368,0},{6833,5380,0},{6835,5382,0},{6838,5385,0},{6840,5395,0}, {6850,5390,0},{6860,5375,0},{6865,5372,0},{6870,5383,0},{6875,5382,0},{6880,5385,0}, {6882,5398,0},{6885,5402,0},{6888,5372,0},{6888,5368,0},{6885,5373,0},{6885,5368,0}, {6888,5360,0},{6890,5360,0},{6893,5375,0},{6893,5397,0},{6895,5433,0},{6898,5445,0}, {6897,5452,0},{6900,5457,0},{6902,5443,0},{6897,5383,0},{6892,5347,0},{6887,5322,0}, {6860,5228,0},{6858,5240,0},{6862,5245,0},{6863,5252,0},{6865,5263,0},{6862,5262,0}, {6862,5250,0},{6858,5248,0},{6853,5258,0},{6848,5272,0},{6847,5273,0},{6842,5267,0}, {6840,5257,0},{6835,5245,0},{6833,5232,0},{6830,5227,0},{6838,5213,0},{6842,5228,0}, {6847,5228,0},{6847,5235,0},{6848,5235,0},{6850,5218,0},{6848,5205,0},{6850,5205,0}, {6853,5218,0},{6858,5220,0},{6853,5205,0},{6848,5178,0},{6848,5158,0},{6845,5153,0}, {6845,5158,0},{6843,5157,0},{6842,5150,0},{6843,5143,0},{6838,5128,0},{6838,5113,0}, {6835,5108,0},{6833,5088,0},{6835,5083,0},{6837,5078,0},{6827,5058,0},{6812,5007,0}, {6807,5003,0},{6803,4997,0},{6802,4985,0},{6805,4998,0},{6808,5002,0},{6798,4965,0}, {6787,4923,0},{6785,4895,0},{6787,4880,0},{6793,4867,0},{6793,4858,0},{6783,4880,0}, {6777,4880,0},{6773,4877,0},{6772,4888,0},{6767,4905,0},{6765,4905,0},{6763,4910,0}, {6763,4900,0},{6765,4897,0},{6767,4898,0},{6770,4885,0},{6768,4882,0},{6768,4872,0}, {6770,4873,0},{6772,4868,0},{6770,4863,0},{6767,4853,0},{6767,4843,0},{6768,4835,0}, {6768,4825,0},{6758,4810,0},{6760,4807,0},{6763,4810,0},{6765,4800,0},{6758,4783,0}, {6757,4782,0},{6747,4793,0},{6743,4795,0},{6733,4777,0},{6723,4778,0},{6718,4768,0}, {6712,4775,0},{6703,4775,0},{6698,4770,0},{6693,4758,0},{6688,4760,0},{6687,4757,0}, {6690,4757,0},{6692,4740,0},{6685,4705,0},{6685,4695,0},{6683,4692,0},{6682,4658,0}, {6677,4650,0},{6673,4638,0},{6678,4648,0},{6682,4653,0},{6683,4660,0},{6687,4657,0}, {6682,4603,0},{6685,4598,0},{6690,4582,0},{6697,4578,0},{6708,4565,0},{6717,4560,0}, {6728,4513,0},{6735,4492,0},{6748,4495,0},{6758,4515,0},{6758,4530,0},{6760,4533,0}, {6768,4535,0},{6770,4530,0},{6773,4538,0},{6777,4562,0},{6777,4582,0},{6780,4615,0}, {6783,4633,0},{6780,4667,0},{6782,4672,0},{6792,4672,0},{6793,4665,0},{6800,4657,0}, {6810,4655,0},{6810,4647,0},{6812,4652,0},{6813,4653,0},{6822,4635,0},{6820,4633,0}, {6822,4628,0},{6832,4610,0},{6832,4603,0},{6843,4593,0},{6845,4595,0},{6845,4602,0}, {6847,4600,0},{6857,4527,0},{6857,4480,0},{6853,4420,0},{6853,4407,0},{6858,4385,0}, {6863,4375,0},{6863,4363,0},{6868,4350,0},{6868,4337,0},{6867,4327,0},{6862,4332,0}, {6847,4373,0},{6840,4400,0},{6828,4423,0},{6803,4418,0},{6805,4428,0},{6807,4442,0}, {6805,4433,0},{6800,4415,0},{6798,4415,0},{6798,4422,0},{6797,4413,0},{6795,4413,0}, {6792,4413,0},{6793,4422,0},{6792,4427,0},{6788,4420,0},{6788,4410,0},{6788,4408,0}, {6778,4413,0},{6770,4407,0},{6770,4415,0},{6768,4415,0},{6765,4412,0},{6768,4408,0}, {6767,4403,0},{6743,4382,0},{6733,4375,0},{6722,4375,0},{6720,4378,0},{6717,4390,0}, {6718,4403,0},{6717,4417,0},{6708,4427,0},{6710,4438,0},{6705,4430,0},{6702,4440,0}, {6693,4448,0},{6692,4452,0},{6690,4447,0},{6683,4448,0},{6680,4437,0},{6678,4437,0}, {6667,4448,0},{6667,4457,0},{6662,4440,0},{6650,4437,0},{6647,4425,0},{6632,4412,0}, {6618,4408,0},{6608,4417,0},{6600,4412,0},{6593,4418,0},{6587,4418,0},{6602,4402,0}, {6608,4405,0},{6618,4385,0},{6618,4370,0},{6615,4363,0},{6613,4350,0},{6608,4338,0}, {6607,4338,0},{6603,4352,0},{6597,4352,0},{6603,4345,0},{6603,4335,0},{6610,4330,0}, {6610,4337,0},{6615,4345,0},{6620,4363,0},{6623,4370,0},{6627,4367,0},{6632,4357,0}, {6633,4338,0},{6642,4330,0},{6642,4300,0},{6638,4255,0},{6640,4258,0},{6642,4267,0}, {6645,4265,0},{6647,4258,0},{6653,4222,0},{6650,4213,0},{6633,4192,0},{6618,4165,0}, {6617,4165,0},{6615,4153,0},{6607,4135,0},{6600,4100,0},{6597,4070,0},{6578,4042,0}, {6568,4012,0},{6562,3985,0},{6557,3977,0},{6552,3972,0},{6538,3972,0},{6522,3995,0}, {6505,4013,0},{6502,4028,0},{6493,4037,0},{6480,4045,0},{6477,4052,0},{6475,4052,0}, {6477,4047,0},{6475,4042,0},{6473,4042,0},{6457,4053,0},{6453,4050,0},{6457,4035,0}, {6455,4018,0},{6462,4005,0},{6467,3983,0},{6460,3978,0},{6462,3988,0},{6460,3992,0}, {6458,3975,0},{6455,3975,0},{6457,3955,0},{6475,3893,0},{6478,3865,0},{6482,3847,0}, {6480,3842,0},{6477,3848,0},{6475,3848,0},{6475,3835,0},{6475,3830,0},{6472,3818,0}, {6467,3817,0},{6463,3805,0},{6465,3803,0},{6470,3813,0},{6473,3803,0},{6477,3805,0}, {6478,3817,0},{6478,3825,0},{6480,3832,0},{6477,3840,0},{6480,3837,0},{6487,3842,0}, {6485,3822,0},{6485,3807,0},{6488,3798,0},{6497,3775,0},{6502,3775,0},{6505,3772,0}, {6513,3743,0},{6515,3730,0},{6520,3703,0},{6518,3685,0},{6517,3683,0},{6508,3687,0}, {6502,3682,0},{6498,3683,0},{6492,3665,0},{6493,3658,0},{6495,3652,0},{6495,3643,0}, {6487,3647,0},{6483,3657,0},{6483,3650,0},{6475,3655,0},{6472,3672,0},{6450,3700,0}, {6438,3718,0},{6435,3735,0},{6438,3750,0},{6438,3758,0},{6437,3763,0},{6440,3767,0}, {6443,3770,0},{6445,3777,0},{6445,3780,0},{6438,3780,0},{6437,3785,0},{6435,3795,0}, {6433,3790,0},{6430,3802,0},{6423,3790,0},{6415,3805,0},{6402,3808,0},{6393,3800,0}, {6390,3782,0},{6392,3765,0},{6388,3758,0},{6385,3758,0},{6382,3753,0},{6380,3740,0}, {6382,3728,0},{6388,3717,0},{6390,3698,0},{6393,3693,0},{6390,3685,0},{6393,3677,0}, {6392,3668,0},{6397,3660,0},{6397,3648,0},{6400,3645,0},{6402,3628,0},{6407,3628,0}, {6410,3622,0},{6415,3628,0},{6415,3622,0},{6425,3608,0},{6423,3603,0},{6418,3600,0}, {6425,3590,0},{6432,3587,0},{6440,3557,0},{6433,3558,0},{6435,3553,0},{6433,3533,128}, {6437,3532,0},{6438,3513,0},{6443,3510,0},{6445,3495,0},{6452,3495,0},{6452,3485,0}, {6455,3475,0},{6455,3482,0},{6458,3483,0},{6463,3497,0},{6470,3483,0},{6472,3482,0}, {6477,3502,0},{6478,3490,0},{6477,3483,0},{6475,3480,0},{6477,3475,0},{6480,3487,0}, {6485,3495,0},{6497,3477,0},{6498,3470,0},{6503,3482,0},{6505,3480,0},{6505,3475,0}, {6510,3478,0},{6512,3467,0},{6515,3467,0},{6517,3463,0},{6518,3468,0},{6523,3460,0}, {6525,3463,0},{6525,3453,0},{6528,3453,0},{6528,3447,0},{6535,3447,0},{6538,3440,0}, {6538,3430,0},{6538,3432,0},{6538,3438,0},{6542,3437,0},{6540,3450,0},{6545,3450,0}, {6545,3468,0},{6548,3463,0},{6552,3472,0},{6558,3473,0},{6560,3478,0},{6567,3473,0}, {6567,3470,0},{6572,3475,0},{6572,3468,0},{6580,3468,0},{6570,3492,0},{6572,3497,0}, {6575,3490,0},{6577,3487,0},{6583,3490,0},{6582,3483,0},{6588,3487,0},{6590,3485,0}, {6592,3477,0},{6590,3470,0},{6593,3472,0},{6595,3467,0},{6598,3472,0},{6605,3462,0}, {6607,3457,0},{6608,3455,0},{6615,3435,0},{6618,3415,0},{6620,3417,0},{6625,3410,0}, {6625,3397,0},{6622,3390,0},{6627,3388,0},{6630,3362,0},{6632,3365,0},{6633,3362,0}, {6632,3350,0},{6632,3332,0},{6635,3343,0},{6635,3367,0},{6637,3365,0},{6640,3352,0}, {6642,3372,0},{6643,3373,0},{6645,3358,0},{6648,3363,0},{6648,3360,0},{6647,3353,0}, {6648,3332,0},{6652,3330,0},{6653,3322,0},{6650,3312,0},{6652,3295,0},{6653,3295,0}, {6655,3307,0},{6655,3317,0},{6657,3317,0},{6652,3348,0},{6652,3353,0},{6653,3353,0}, {6655,3345,0},{6658,3342,0},{6662,3325,0},{6662,3322,0},{6658,3322,0},{6660,3312,0}, {6657,3310,0},{6658,3287,0},{6660,3288,0},{6660,3307,0},{6665,3313,0},{6662,3332,0}, {6665,3332,0},{6668,3318,0},{6668,3297,0},{6672,3280,0},{6673,3277,0},{6673,3285,0}, {6673,3287,0},{6673,3293,0},{6677,3292,0},{6680,3268,0},{6683,3268,0},{6688,3255,0}, {6688,3242,0},{6690,3248,0},{6693,3250,0},{6695,3238,0},{6695,3253,0},{6697,3257,0}, {6703,3250,0},{6707,3228,0},{6708,3235,0},{6712,3225,0},{6712,3210,0},{6712,3192,0}, {6715,3192,0},{6715,3185,0},{6717,3188,0},{6713,3207,0},{6717,3237,0},{6713,3245,0}, {6713,3260,0},{6708,3277,0},{6708,3297,0},{6705,3280,0},{6698,3282,0},{6682,3318,0}, {6672,3353,0},{6673,3355,0},{6677,3348,0},{6673,3355,0},{6678,3352,0},{6675,3363,0}, {6678,3353,0},{6682,3352,0},{6678,3358,0},{6683,3358,0},{6680,3363,0},{6680,3367,0}, {6677,3377,0},{6670,3383,0},{6670,3387,0},{6672,3388,0},{6668,3393,0},{6668,3402,0}, {6670,3403,0},{6668,3405,0},{6670,3410,0},{6677,3415,0},{6672,3415,0},{6667,3408,0}, {6667,3415,0},{6668,3417,0},{6667,3420,0},{6667,3432,0},{6665,3448,0},{6665,3452,0}, {6663,3452,0},{6663,3437,0},{6662,3435,0},{6653,3447,0},{6653,3455,0},{6660,3478,0}, {6660,3488,0},{6653,3503,0},{6647,3520,0},{6645,3533,0},{6642,3538,0},{6638,3552,0}, {6638,3568,0},{6630,3638,0},{6627,3697,0},{6625,3715,0},{6620,3740,0},{6613,3760,0}, {6608,3797,0},{6605,3855,0},{6608,3883,0},{6610,3893,0},{6612,3925,0},{6613,3935,0}, {6618,3953,0},{6620,3973,0},{6623,3985,0},{6628,4007,0},{6633,4018,0},{6640,4045,0}, {6645,4057,0},{6650,4060,0},{6653,4072,0},{6658,4073,0},{6678,4113,0},{6683,4122,0}, {6695,4130,0},{6700,4127,0},{6700,4133,0},{6702,4137,0},{6708,4133,0},{6712,4138,0}, {6715,4133,0},{6720,4137,0},{6723,4132,0},{6722,4125,0},{6723,4113,0},{6725,4112,0}, {6742,4115,0},{6747,4108,0},{6747,4100,0},{6753,4102,0},{6755,4098,0},{6763,4105,0}, {6772,4100,0},{6773,4092,0},{6772,4082,0},{6778,4068,0},{6782,4067,0},{6780,4057,0}, {6775,4055,0},{6775,4048,0},{6783,4032,0},{6785,4042,0},{6790,4037,0},{6790,4028,0}, {6793,4027,0},{6795,4013,0},{6800,4008,0},{6803,3998,0},{6810,3993,0},{6817,3978,0}, {6817,3973,0},{6817,3970,0},{6812,3978,0},{6803,3985,0},{6807,3952,0},{6813,3937,0}, {6827,3893,0},{6828,3895,0},{6830,3893,0},{6832,3878,0},{6838,3862,0},{6838,3860,0}, {6835,3860,0},{6837,3852,0},{6837,3850,0},{6828,3877,0},{6835,3845,0},{6833,3840,0}, {6840,3840,0},{6843,3833,0},{6847,3822,0},{6848,3820,0},{6850,3807,0},{6855,3803,0}, {6865,3782,0},{6873,3758,0},{6873,3745,0},{6878,3737,0},{6880,3723,0},{6883,3723,0}, {6895,3675,0},{6902,3660,0},{6905,3633,0},{6907,3627,0},{6910,3625,0},{6913,3608,0}, {6912,3607,0},{6917,3598,0},{6927,3533,0},{6927,3515,0},{6922,3527,0},{6918,3518,0}, {6922,3510,0},{6922,3503,0},{6918,3497,0},{6923,3498,0},{6925,3467,0},{6927,3460,0}, {6928,3442,0},{6930,3442,0},{6932,3435,0},{6932,3408,0},{6933,3395,0},{6933,3385,0}, {6930,3387,0},{6932,3378,0},{6930,3372,0},{6932,3375,0},{6933,3372,0},{6932,3358,0}, {6920,3357,0},{6915,3350,0},{6913,3345,0},{6910,3343,0},{6905,3307,0},{6895,3302,0}, {6907,3303,0},{6908,3312,0},{6910,3327,0},{6915,3340,0},{6918,3352,0},{6922,3353,0}, {6920,3342,0},{6922,3340,0},{6923,3340,0},{6923,3330,0},{6925,3343,0},{6927,3347,0}, {6928,3340,0},{6927,3325,0},{6927,3323,0},{6930,3328,0},{6930,3337,0},{6935,3348,0}, {6937,3350,0},{6937,3342,0},{6940,3350,0},{6942,3352,0},{6945,3345,0},{6943,3335,0}, {6945,3332,0},{6940,3308,0},{6938,3297,0},{6930,3290,0},{6932,3287,0},{6930,3282,0}, {6935,3283,0},{6947,3308,0},{6947,3290,0},{6942,3278,0},{6945,3280,0},{6947,3290,0}, {6948,3287,0},{6950,3267,0},{6948,3262,0},{6948,3258,0},{6950,3255,0},{6948,3253,0}, {6948,3245,0},{6947,3242,0},{6943,3228,0},{6943,3218,0},{6943,3228,0},{6950,3242,0}, {6950,3250,0},{6953,3240,0},{6957,3243,0},{6958,3238,0},{6957,3228,0},{6960,3213,0}, {6957,3202,0},{6963,3207,0},{6965,3197,0},{6967,3210,0},{6975,3212,0},{6972,3218,0}, {6965,3217,0},{6963,3237,0},{6965,3243,0},{6963,3248,0},{6958,3287,0},{6962,3305,0}, {6965,3312,0},{6973,3313,0},{6975,3310,0},{6980,3270,0},{6978,3265,0},{6978,3258,0}, {6980,3250,0},{6985,3250,0},{6988,3235,0},{6988,3225,0},{6995,3208,0},{6997,3193,0}, {6992,3192,0},{6990,3198,0},{6978,3210,0},{6978,3207,0},{6977,3205,0},{6980,3202,0}, {6985,3182,0},{6983,3173,0},{6980,3172,0},{6973,3168,0},{6970,3180,0},{6968,3180,0}, {6970,3153,0},{6968,3153,0},{6970,3145,0},{6968,3143,0},{6962,3130,0},{6968,3140,0}, {6972,3140,0},{6975,3127,0},{6980,3088,0},{6978,3078,0},{7387,11130,128}, {7398,11120,0},{7400,11127,0},{7398,11138,0},{7400,11145,0},{7400,11153,0}, {7403,11157,0},{7405,11145,0},{7403,11120,0},{7402,11110,0},{7398,11107,0}, {7395,11110,0},{7390,11100,0},{7392,11090,0},{7395,11078,0},{7395,11072,0}, {7400,11057,0},{7402,11020,0},{7402,11007,0},{7397,10988,0},{7388,10983,0}, {7383,10957,0},{7382,10952,0},{7375,10953,0},{7368,10965,0},{7367,10975,0}, {7368,10975,0},{7370,10980,0},{7370,11027,0},{7375,11048,0},{7375,11060,0}, {7378,11065,0},{7377,11092,0},{7373,11088,0},{7370,11092,0},{7368,11088,0}, {7367,11067,0},{7365,11062,0},{7365,11047,0},{7363,11040,0},{7360,11042,0}, {7358,11012,0},{7355,11008,0},{7355,11015,0},{7350,11010,0},{7350,11002,0}, {7347,10982,0},{7345,10960,0},{7345,10950,0},{7355,10922,0},{7355,10917,0}, {7352,10918,0},{7348,10932,0},{7345,10943,0},{7342,10942,0},{7347,10922,0}, {7345,10920,0},{7342,10927,0},{7338,10915,0},{7335,10893,0},{7333,10872,0}, {7332,10858,0},{7330,10823,0},{7327,10820,0},{7327,10838,0},{7322,10835,0}, {7322,10822,0},{7325,10810,0},{7322,10795,0},{7318,10783,0},{7317,10773,0}, {7318,10703,0},{7315,10692,0},{7313,10680,0},{7318,10635,0},{7315,10627,0}, {7313,10620,0},{7310,10617,0},{7298,10622,0},{7297,10628,0},{7295,10600,0}, {7288,10595,0},{7287,10577,0},{7282,10567,0},{7277,10545,0},{7277,10507,0}, {7278,10507,0},{7280,10530,0},{7283,10535,0},{7290,10567,0},{7295,10570,0}, {7300,10583,0},{7310,10585,0},{7315,10602,0},{7328,10607,0},{7332,10628,0}, {7332,10655,0},{7330,10665,0},{7333,10680,0},{7343,10688,0},{7353,10717,0}, {7355,10717,0},{7357,10710,0},{7362,10715,0},{7362,10732,0},{7363,10735,0}, {7362,10743,0},{7363,10767,0},{7360,10775,0},{7362,10778,0},{7367,10797,0}, {7367,10803,0},{7365,10810,0},{7363,10807,0},{7377,10848,0},{7382,10843,0}, {7380,10850,0},{7382,10857,0},{7393,10877,0},{7397,10892,0},{7403,10908,0}, {7407,10923,0},{7408,10950,0},{7418,10985,0},{7423,10995,0},{7430,10998,0}, {7428,10972,0},{7430,10962,0},{7430,10955,0},{7432,10963,0},{7432,10978,0}, {7432,10980,0},{7432,10990,0},{7437,11003,0},{7437,11020,0},{7443,11038,0}, {7448,11028,0},{7448,11035,0},{7447,11050,0},{7448,11060,0},{7453,11082,0}, {7455,11095,0},{7457,11105,0},{7460,11100,0},{7460,11112,0},{7468,11140,0}, {7468,11160,0},{7467,11173,0},{7467,11180,0},{7472,11195,0},{7473,11190,0}, {7477,11195,0},{7478,11205,0},{7485,11208,0},{7488,11213,0},{7492,11257,0}, {7498,11288,0},{7507,11302,0},{7508,11310,0},{7528,11360,0},{7537,11367,0}, {7538,11363,0},{7538,11355,0},{7540,11353,0},{7540,11372,0},{7552,11363,0}, {7550,11355,0},{7552,11338,0},{7555,11327,0},{7565,11328,0},{7562,11300,0}, {7555,11302,0},{7555,11283,0},{7558,11278,0},{7565,11288,0},{7570,11275,0}, {7568,11282,0},{7570,11287,0},{7577,11268,0},{7577,11252,0},{7583,11245,0}, {7585,11233,0},{7583,11260,0},{7573,11305,0},{7570,11313,0},{7567,11303,0}, {7568,11330,0},{7567,11343,0},{7565,11360,0},{7562,11358,0},{7553,11342,0}, {7553,11352,0},{7560,11372,0},{7572,11375,0},{7585,11390,0},{7588,11382,0}, {7592,11385,0},{7593,11378,0},{7592,11375,0},{7592,11372,0},{7592,11362,0}, {7587,11363,0},{7585,11348,0},{7587,11355,0},{7588,11357,0},{7593,11352,0}, {7593,11343,0},{7595,11355,0},{7598,11350,0},{7602,11355,0},{7603,11345,0}, {7613,11347,0},{7618,11340,0},{7620,11335,0},{7620,11323,0},{7622,11323,0}, {7623,11330,0},{7625,11327,0},{7625,11293,0},{7622,11300,0},{7617,11328,0}, {7613,11325,0},{7612,11330,0},{7615,11322,0},{7615,11310,0},{7613,11298,0}, {7612,11303,0},{7607,11302,0},{7605,11293,0},{7605,11257,0},{7608,11280,0}, {7613,11285,0},{7620,11278,0},{7620,11260,0},{7623,11250,0},{7622,11265,0}, {7623,11268,0},{7627,11273,0},{7632,11265,0},{7633,11275,0},{7637,11265,0}, {7645,11223,0},{7638,11202,0},{7633,11183,0},{7648,11220,0},{7660,11177,0}, {7662,11165,0},{7662,11147,0},{7662,11145,0},{7665,11155,0},{7667,11148,0}, {7668,11155,0},{7670,11123,0},{7668,11110,0},{7672,11107,0},{7675,11113,0}, {7675,11110,0},{7675,11090,0},{7673,11092,0},{7672,11073,0},{7673,11063,0}, {7677,11060,0},{7675,11045,0},{7673,11030,0},{7668,11003,0},{7670,10997,0}, {7670,10988,0},{7672,10985,0},{7672,10968,0},{7673,10960,0},{7673,10942,0}, {7675,10937,0},{7672,10915,0},{7673,10907,0},{7672,10880,0},{7672,10845,0}, {7670,10830,0},{7673,10828,0},{7673,10795,0},{7667,10790,0},{7663,10800,0}, {7653,10788,0},{7650,10763,0},{7653,10735,0},{7650,10702,0},{7650,10688,0}, {7647,10682,0},{7650,10670,0},{7652,10640,0},{7660,10638,0},{7660,10645,0}, {7660,10653,0},{7655,10658,0},{7658,10668,0},{7667,10680,0},{7672,10672,0}, {7672,10675,0},{7670,10690,0},{7672,10697,0},{7673,10697,0},{7675,10705,0}, {7680,10707,0},{7680,10722,0},{7683,10728,0},{7685,10720,0},{7687,10735,0}, {7688,10727,0},{7690,10748,0},{7693,10750,0},{7695,10733,0},{7700,10723,0}, {7702,10727,0},{7700,10700,0},{7702,10698,0},{7703,10702,0},{7705,10682,0}, {7703,10677,0},{7703,10665,0},{7700,10677,0},{7700,10673,0},{7700,10665,0}, {7702,10657,0},{7702,10650,0},{7703,10648,0},{7707,10620,0},{7698,10592,0}, {7698,10577,0},{7697,10567,0},{7698,10553,0},{7697,10545,0},{7702,10545,0}, {7703,10578,0},{7705,10573,0},{7708,10588,0},{7713,10592,0},{7712,10585,0}, {7712,10560,0},{7708,10535,0},{7710,10515,0},{7708,10507,0},{7708,10492,0}, {7712,10477,0},{7710,10470,0},{7708,10437,0},{7708,10412,0},{7713,10437,0}, {7713,10452,0},{7717,10472,0},{7717,10487,0},{7717,10495,0},{7720,10527,0}, {7723,10530,0},{7725,10552,0},{7728,10545,0},{7730,10562,0},{7733,10573,0}, {7737,10573,0},{7737,10605,0},{7735,10618,0},{7737,10630,0},{7740,10612,0}, {7742,10600,0},{7747,10592,0},{7752,10590,0},{7753,10583,0},{7757,10587,0}, {7757,10565,0},{7753,10538,0},{7757,10523,0},{7758,10492,0},{7763,10480,0}, {7770,10475,0},{7770,10462,0},{7767,10437,0},{7768,10427,0},{7770,10427,0}, {7772,10433,0},{7773,10430,0},{7773,10407,0},{7763,10365,0},{7762,10335,0}, {7765,10327,0},{7763,10305,0},{7758,10290,0},{7755,10292,0},{7750,10255,0}, {7738,10228,0},{7738,10222,0},{7740,10215,0},{7738,10207,0},{7728,10185,0}, {7723,10162,0},{7717,10145,0},{7710,10120,0},{7707,10117,0},{7705,10123,0}, {7698,10122,0},{7698,10095,0},{7697,10092,0},{7683,10087,0},{7678,10100,0}, {7677,10118,0},{7675,10123,0},{7673,10113,0},{7658,10107,0},{7655,10088,0}, {7652,10103,0},{7650,10142,0},{7647,10157,0},{7647,10178,0},{7642,10198,0}, {7640,10218,0},{7638,10225,0},{7640,10188,0},{7645,10170,0},{7645,10148,0}, {7648,10132,0},{7647,10125,0},{7645,10102,0},{7648,10105,0},{7653,10085,0}, {7650,10065,0},{7647,10030,0},{7648,10023,0},{7647,9943,0},{7652,9892,0}, {7650,9882,0},{7647,9883,0},{7640,9902,0},{7635,9903,0},{7635,9927,0},{7628,9940,0}, {7627,9960,0},{7620,9963,0},{7615,9980,0},{7608,9988,0},{7602,9982,0},{7595,9992,0}, {7590,9988,0},{7585,9970,0},{7577,9958,0},{7577,9935,0},{7575,9928,0},{7570,9935,0}, {7568,9925,0},{7557,9918,0},{7555,9923,0},{7553,9938,0},{7548,9960,0},{7547,9982,0}, {7537,9980,0},{7528,10008,0},{7523,10008,0},{7520,10020,0},{7517,10018,0}, {7518,10017,0},{7523,10003,0},{7530,10002,0},{7537,9977,0},{7542,9970,0}, {7547,9975,0},{7547,9958,0},{7555,9910,0},{7567,9915,0},{7572,9927,0},{7577,9923,0}, {7582,9953,0},{7585,9967,0},{7597,9968,0},{7605,9977,0},{7608,9963,0},{7607,9957,0}, {7608,9958,0},{7610,9947,0},{7612,9960,0},{7615,9957,0},{7613,9923,0},{7613,9915,0}, {7617,9908,0},{7617,9923,0},{7617,9920,0},{7620,9930,0},{7622,9928,0},{7620,9915,0}, {7622,9903,0},{7622,9892,0},{7620,9885,0},{7620,9872,0},{7627,9880,0},{7617,9837,0}, {7617,9815,0},{7613,9810,0},{7615,9807,0},{7615,9802,0},{7612,9793,0},{7610,9802,0}, {7610,9822,0},{7608,9815,0},{7605,9790,0},{7610,9777,0},{7608,9767,0},{7605,9755,0}, {7605,9772,0},{7600,9783,0},{7598,9782,0},{7600,9755,0},{7598,9735,0},{7597,9730,0}, {7593,9733,0},{7593,9718,0},{7595,9725,0},{7598,9718,0},{7605,9737,0},{7603,9722,0}, {7598,9705,0},{7593,9693,0},{7592,9683,0},{7588,9683,0},{7590,9667,0},{7588,9660,0}, {7587,9645,0},{7597,9667,0},{7598,9662,0},{7598,9650,0},{7600,9655,0},{7602,9652,0}, {7598,9627,0},{7597,9633,0},{7595,9630,0},{7595,9593,0},{7592,9582,0},{7585,9575,0}, {7588,9557,0},{7590,9572,0},{7598,9588,0},{7598,9600,0},{7603,9598,0},{7605,9608,0}, {7607,9600,0},{7608,9620,0},{7610,9615,0},{7613,9582,0},{7615,9542,0},{7613,9532,0}, {7612,9527,0},{7612,9508,0},{7610,9505,0},{7612,9490,0},{7615,9477,0},{7615,9455,0}, {7615,9457,0},{7615,9467,0},{7612,9473,0},{7610,9460,0},{7607,9460,0},{7605,9447,0}, {7612,9438,0},{7610,9420,0},{7612,9410,0},{7612,9397,0},{7612,9367,0},{7610,9367,0}, {7607,9395,0},{7605,9400,0},{7603,9375,0},{7605,9370,0},{7603,9363,0},{7605,9355,0}, {7602,9342,0},{7603,9342,0},{7607,9333,0},{7610,9343,0},{7608,9325,0},{7610,9315,0}, {7608,9312,0},{7607,9322,0},{7603,9320,0},{7602,9312,0},{7603,9310,0},{7607,9302,0}, {7605,9292,0},{7598,9292,0},{7597,9283,0},{7592,9290,0},{7590,9288,0},{7590,9308,0}, {7590,9310,0},{7593,9297,0},{7598,9328,0},{7597,9332,0},{7595,9327,0},{7587,9342,0}, {7588,9348,0},{7592,9343,0},{7595,9355,0},{7590,9367,0},{7593,9407,0},{7595,9413,0}, {7595,9417,0},{7592,9407,0},{7583,9335,0},{7577,9250,0},{7575,9240,0},{7575,9218,0}, {7572,9205,0},{7572,9178,0},{7573,9172,0},{7570,9163,0},{7563,9162,0},{7563,9123,0}, {7563,9118,0},{7567,9117,0},{7562,9098,0},{7563,9092,0},{7567,9090,0},{7563,9068,0}, {7562,9063,0},{7558,9005,0},{7555,8992,0},{7553,9003,0},{7552,9005,0},{7552,8988,0}, {7548,8962,0},{7547,8962,0},{7543,8972,0},{7543,8938,0},{7547,8940,0},{7547,8932,0}, {7550,8925,0},{7545,8913,0},{7540,8873,0},{7543,8898,0},{7540,8908,0},{7540,8887,0}, {7537,8877,0},{7537,8882,0},{7535,8878,0},{7533,8860,0},{7532,8855,0},{7527,8863,0}, {7528,8852,0},{7525,8840,0},{7523,8832,0},{7517,8830,0},{7513,8813,0},{7513,8807,0}, {7510,8798,0},{7517,8728,0},{7515,8700,0},{7512,8692,0},{7507,8692,0},{7508,8707,0}, {7507,8725,0},{7503,8738,0},{7503,8777,0},{7502,8778,0},{7500,8768,0},{7498,8768,0}, {7497,8757,0},{7493,8760,0},{7493,8755,0},{7495,8743,0},{7497,8748,0},{7500,8743,0}, {7498,8718,0},{7495,8725,0},{7495,8737,0},{7493,8738,0},{7485,8707,0},{7472,8707,0}, {7472,8702,0},{7475,8698,0},{7475,8687,0},{7470,8677,0},{7468,8677,0},{7468,8695,0}, {7465,8690,0},{7460,8697,0},{7462,8685,0},{7462,8670,0},{7465,8668,0},{7467,8660,0}, {7470,8663,0},{7470,8655,0},{7472,8652,0},{7470,8633,0},{7477,8622,0},{7475,8633,0}, {7477,8638,0},{7482,8620,0},{7480,8615,0},{7482,8610,0},{7482,8603,0},{7477,8612,0}, {7472,8607,0},{7472,8587,0},{7470,8583,0},{7467,8587,0},{7463,8575,0},{7463,8585,0}, {7460,8595,0},{7462,8612,0},{7460,8632,0},{7457,8650,0},{7455,8678,0},{7453,8660,0}, {7450,8655,0},{7447,8668,0},{7442,8678,0},{7443,8708,0},{7440,8707,0},{7435,8727,0}, {7437,8702,0},{7435,8700,0},{7430,8705,0},{7427,8700,0},{7428,8697,0},{7433,8697,0}, {7433,8690,0},{7430,8685,0},{7432,8670,0},{7435,8690,0},{7438,8695,0},{7438,8682,0}, {7437,8680,0},{7438,8673,0},{7438,8660,0},{7440,8663,0},{7443,8658,0},{7445,8648,0}, {7443,8638,0},{7445,8632,0},{7442,8625,0},{7442,8622,0},{7442,8607,0},{7440,8607,0}, {7438,8627,0},{7432,8630,0},{7432,8625,0},{7437,8612,0},{7437,8597,0},{7435,8590,0}, {7432,8597,0},{7428,8595,0},{7427,8607,0},{7425,8657,0},{7420,8677,0},{7418,8680,0}, {7413,8672,0},{7410,8687,0},{7407,8685,0},{7405,8737,0},{7402,8742,0},{7400,8740,0}, {7405,8720,0},{7405,8697,0},{7403,8693,0},{7393,8713,0},{7387,8720,0},{7383,8732,0}, {7382,8743,0},{7383,8750,0},{7392,8753,0},{7390,8767,0},{7383,8763,0},{7373,8730,0}, {7368,8725,0},{7370,8735,0},{7362,8718,0},{7360,8710,0},{7360,8687,0},{7357,8665,0}, {7357,8622,0},{7347,8585,0},{7333,8588,0},{7332,8597,0},{7325,8633,0},{7318,8645,0}, {7317,8663,0},{7307,8677,0},{7298,8678,0},{7312,8667,0},{7315,8652,0},{7318,8632,0}, {7327,8622,0},{7333,8583,0},{7347,8578,0},{7350,8583,0},{7353,8598,0},{7358,8612,0}, {7362,8635,0},{7367,8652,0},{7367,8662,0},{7372,8675,0},{7375,8685,0},{7378,8703,0}, {7385,8710,0},{7390,8678,0},{7388,8667,0},{7388,8640,0},{7385,8625,0},{7387,8602,0}, {7382,8587,0},{7382,8558,0},{7377,8547,0},{7372,8548,0},{7370,8522,0},{7372,8510,0}, {7370,8500,0},{7372,8502,0},{7373,8490,0},{7377,8478,0},{7375,8458,0},{7370,8435,0}, {7370,8375,0},{7365,8340,0},{7367,8248,0},{7365,8217,0},{7365,8152,0},{7362,8132,0}, {7360,8125,0},{7358,8092,0},{7357,8085,0},{7358,8072,0},{7357,8052,0},{7348,8052,0}, {7352,8063,0},{7350,8068,0},{7343,8058,0},{7342,8048,0},{7337,8042,0},{7338,8038,0}, {7338,8035,0},{7332,8025,0},{7328,8033,0},{7328,8045,0},{7327,8055,0},{7322,8057,0}, {7320,8048,0},{7320,8032,0},{7317,8023,0},{7317,8033,0},{7313,8057,0},{7312,8058,0}, {7310,8043,0},{7307,8068,0},{7297,8082,0},{7285,8080,0},{7278,8075,0},{7273,8063,0}, {7265,8068,0},{7262,8083,0},{7257,8078,0},{7255,8072,0},{7253,8072,0},{7247,8085,0}, {7235,8117,0},{7233,8172,0},{7227,8212,0},{7228,8220,0},{7223,8228,0},{7213,8230,0}, {7208,8218,0},{7200,8250,0},{7195,8262,0},{7187,8267,0},{7190,8280,0},{7187,8318,0}, {7183,8338,0},{7180,8342,0},{7175,8342,0},{7162,8363,0},{7157,8363,0},{7152,8358,0}, {7148,8352,0},{7147,8338,0},{7135,8337,0},{7128,8328,0},{7125,8315,0},{7112,8327,0}, {7110,8323,0},{7112,8312,0},{7107,8317,0},{7105,8333,0},{7102,8340,0},{7097,8338,0}, {7092,8348,0},{7080,8353,0},{7077,8360,0},{7070,8360,0},{7055,8377,0},{7050,8373,0}, {7047,8377,0},{7033,8352,0},{7032,8333,0},{7032,8318,0},{7033,8302,0},{7032,8295,0}, {7023,8305,0},{7020,8313,0},{7012,8320,0},{7008,8317,0},{7007,8307,0},{7008,8288,0}, {7013,8282,0},{7017,8263,0},{7020,8267,0},{7025,8265,0},{7038,8290,0},{7042,8300,0}, {7050,8305,0},{7057,8300,0},{7060,8307,0},{7067,8305,0},{7077,8313,0},{7087,8315,0}, {7090,8310,0},{7092,8300,0},{7100,8290,0},{7100,8288,0},{7092,8287,0},{7095,8285,0}, {7095,8277,0},{7097,8275,0},{7095,8268,0},{7090,8258,0},{7085,8258,0},{7080,8248,0}, {7077,8257,0},{7075,8250,0},{7070,8248,0},{7068,8243,0},{7060,8247,0},{7058,8217,0}, {7050,8223,0},{7040,8225,0},{7020,8235,0},{7028,8223,0},{7050,8215,0},{7057,8208,0}, {7062,8220,0},{7068,8222,0},{7077,8242,0},{7083,8232,0},{7092,8230,0},{7100,8220,0}, {7108,8235,0},{7127,8225,0},{7130,8237,0},{7137,8270,0},{7140,8303,0},{7145,8298,0}, {7155,8302,0},{7157,8317,0},{7165,8330,0},{7168,8332,0},{7172,8327,0},{7173,8320,0}, {7173,8298,0},{7177,8292,0},{7178,8282,0},{7170,8213,0},{7170,8167,0},{7172,8163,0}, {7177,8130,0},{7185,8125,0},{7203,8063,128},{7207,8067,0},{7208,8078,0}, {7203,8073,0},{7202,8082,0},{7203,8085,0},{7208,8083,0},{7218,8012,0},{7225,7980,0}, {7237,7948,0},{7238,7930,0},{7237,7885,0},{7240,7852,0},{7238,7850,0},{7240,7843,0}, {7238,7832,0},{7237,7827,0},{7238,7813,0},{7233,7807,0},{7232,7790,0},{7222,7775,0}, {7218,7767,0},{7222,7752,0},{7222,7747,0},{7217,7748,0},{7212,7738,0},{7208,7738,0}, {7207,7748,0},{7212,7780,0},{7212,7795,0},{7210,7802,0},{7197,7823,0},{7190,7817,0}, {7188,7810,0},{7182,7770,0},{7183,7752,0},{7187,7743,0},{7192,7737,0},{7205,7690,0}, {7200,7638,0},{7192,7600,0},{7163,7627,0},{7158,7625,0},{7157,7632,0},{7153,7655,0}, {7147,7673,0},{7142,7700,0},{7142,7712,0},{7137,7720,0},{7130,7752,0},{7133,7745,0}, {7128,7772,0},{7128,7775,0},{7132,7773,0},{7133,7787,0},{7135,7787,0},{7137,7800,0}, {7135,7800,0},{7132,7790,0},{7125,7793,0},{7128,7803,0},{7125,7828,0},{7122,7832,0}, {7112,7823,0},{7110,7825,0},{7103,7845,0},{7105,7850,0},{7110,7835,0},{7112,7845,0}, {7110,7852,0},{7107,7850,0},{7105,7855,0},{7102,7847,0},{7100,7848,0},{7092,7843,0}, {7097,7858,0},{7093,7872,0},{7093,7880,0},{7098,7890,0},{7098,7878,0},{7100,7883,0}, {7098,7897,0},{7102,7903,0},{7102,7910,0},{7098,7908,0},{7097,7902,0},{7095,7907,0}, {7093,7903,0},{7092,7895,0},{7093,7895,0},{7093,7890,0},{7092,7887,0},{7092,7855,0}, {7088,7845,0},{7088,7840,0},{7093,7827,0},{7095,7805,0},{7097,7795,0},{7102,7788,0}, {7110,7787,0},{7115,7768,0},{7118,7703,0},{7115,7693,0},{7112,7697,0},{7107,7692,0}, {7115,7688,0},{7118,7690,0},{7122,7663,0},{7120,7638,0},{7123,7615,0},{7118,7612,0}, {7123,7603,0},{7130,7545,0},{7137,7527,0},{7145,7523,0},{7147,7528,0},{7145,7543,0}, {7150,7542,0},{7153,7553,0},{7157,7550,0},{7162,7538,0},{7163,7550,0},{7167,7550,0}, {7173,7527,0},{7178,7522,0},{7183,7522,0},{7190,7528,0},{7195,7527,0},{7198,7543,0}, {7203,7542,0},{7208,7553,0},{7215,7552,0},{7222,7560,0},{7227,7575,0},{7230,7577,0}, {7232,7567,0},{7233,7568,0},{7248,7555,0},{7253,7557,0},{7253,7568,0},{7255,7572,0}, {7263,7550,0},{7268,7542,0},{7268,7533,0},{7272,7540,0},{7270,7545,0},{7273,7553,0}, {7275,7552,0},{7282,7533,0},{7283,7520,0},{7287,7508,0},{7288,7500,0},{7282,7473,0}, {7270,7495,0},{7258,7507,0},{7238,7512,0},{7225,7510,0},{7212,7495,0},{7195,7435,0}, {7197,7432,0},{7195,7425,0},{7193,7412,0},{7190,7387,0},{7182,7353,0},{7177,7347,0}, {7172,7353,0},{7167,7350,0},{7142,7302,0},{7133,7333,0},{7127,7353,0},{7105,7373,0}, {7097,7390,0},{7085,7393,0},{7068,7430,0},{7053,7433,0},{7042,7417,0},{7037,7407,0}, {7030,7400,0},{7015,7368,0},{7008,7377,0},{7002,7370,0},{6995,7370,0},{6982,7363,0}, {6975,7352,0},{6970,7355,0},{6955,7377,0},{6943,7390,0},{6935,7388,0},{6920,7375,0}, {6917,7375,0},{6913,7380,0},{6907,7395,0},{6913,7418,0},{6913,7450,0},{6908,7475,0}, {6910,7515,0},{6913,7510,0},{6918,7522,0},{6925,7548,0},{6927,7557,0},{6923,7577,0}, {6923,7603,0},{6915,7637,0},{6913,7653,0},{6915,7663,0},{6910,7678,0},{6902,7692,0}, {6898,7722,0},{6893,7740,0},{6890,7763,0},{6887,7770,0},{6868,7775,0},{6862,7772,0}, {6857,7777,0},{6852,7777,0},{6852,7780,0},{6853,7788,0},{6852,7793,0},{6848,7795,0}, {6845,7790,0},{6838,7797,0},{6835,7808,0},{6832,7808,0},{6827,7817,0},{6825,7815,0}, {6822,7773,0},{6815,7757,0},{6808,7750,0},{6803,7752,0},{6798,7747,0},{6793,7752,0}, {6793,7758,0},{6792,7748,0},{6790,7747,0},{6777,7747,0},{6773,7753,0},{6772,7765,0}, {6773,7775,0},{6778,7777,0},{6777,7780,0},{6773,7783,0},{6772,7795,0},{6770,7787,0}, {6768,7787,0},{6770,7798,0},{6768,7805,0},{6765,7813,0},{6767,7818,0},{6765,7823,0}, {6767,7832,0},{6763,7840,0},{6770,7843,0},{6765,7850,0},{6767,7853,0},{6767,7862,0}, {6763,7858,0},{6763,7847,0},{6762,7850,0},{6760,7858,0},{6762,7867,0},{6765,7872,0}, {6765,7878,0},{6765,7887,0},{6763,7880,0},{6762,7883,0},{6760,7897,0},{6757,7905,0}, {6755,7895,0},{6757,7887,0},{6758,7872,0},{6758,7867,0},{6758,7858,0},{6755,7848,0}, {6755,7833,0},{6758,7825,0},{6753,7805,0},{6755,7798,0},{6757,7795,0},{6755,7790,0}, {6757,7785,0},{6755,7768,0},{6757,7768,0},{6762,7767,0},{6778,7710,0},{6783,7708,0}, {6785,7715,0},{6782,7717,0},{6783,7723,0},{6790,7730,0},{6798,7718,0},{6805,7725,0}, {6810,7722,0},{6815,7730,0},{6823,7737,0},{6827,7718,0},{6830,7717,0},{6838,7730,0}, {6845,7725,0},{6852,7732,0},{6860,7717,0},{6860,7710,0},{6858,7715,0},{6857,7710,0}, {6865,7702,0},{6877,7663,0},{6880,7662,0},{6887,7670,0},{6897,7660,0},{6898,7655,0}, {6898,7633,0},{6897,7612,0},{6893,7583,0},{6890,7562,0},{6890,7547,0},{6878,7467,0}, {6872,7448,0},{6862,7442,0},{6850,7447,0},{6837,7433,0},{6823,7462,0},{6815,7473,0}, {6793,7482,0},{6768,7473,0},{6742,7408,0},{6730,7392,0},{6722,7395,0},{6712,7390,0}, {6707,7392,0},{6705,7387,0},{6698,7385,0},{6693,7363,0},{6683,7352,0},{6678,7320,0}, {6675,7310,0},{6673,7300,0},{6665,7295,0},{6660,7247,0},{6655,7245,0},{6650,7228,0}, {6652,7238,0},{6650,7242,0},{6647,7237,0},{6638,7240,0},{6630,7235,0},{6628,7223,0}, {6623,7207,0},{6623,7203,0},{6622,7200,0},{6625,7193,0},{6623,7185,0},{6623,7182,0}, {6630,7175,0},{6632,7168,0},{6637,7132,0},{6637,7088,0},{6633,7038,0},{6642,6990,0}, {6647,6975,0},{6650,6938,0},{6660,6912,0},{6677,6912,0},{6678,6908,0},{6678,6900,0}, {6680,6897,0},{6683,6917,0},{6682,6932,0},{6683,6940,0},{6678,6960,0},{6680,6963,0}, {6682,6957,0},{6683,6958,0},{6682,6970,0},{6682,6978,0},{6683,6990,0},{6685,6988,0}, {6687,6990,0},{6685,6995,0},{6680,6998,0},{6675,7008,0},{6673,7018,0},{6672,7015,0}, {6668,7032,0},{6670,7055,0},{6672,7047,0},{6673,7062,0},{6673,7053,0},{6675,7057,0}, {6675,7073,0},{6673,7073,0},{6672,7068,0},{6672,7063,0},{6668,7060,0},{6668,7047,0}, {6665,7040,0},{6665,7032,0},{6662,7028,0},{6658,7033,0},{6650,7072,0},{6653,7098,0}, {6655,7098,0},{6658,7095,0},{6657,7103,0},{6658,7112,0},{6660,7105,0},{6663,7107,0}, {6662,7123,0},{6665,7117,0},{6663,7127,0},{6665,7133,0},{6668,7137,0},{6663,7137,0}, {6665,7157,0},{6672,7160,0},{6677,7152,0},{6678,7155,0},{6683,7148,0},{6687,7152,0}, {6690,7138,0},{6692,7145,0},{6693,7133,0},{6695,7132,0},{6697,7137,0},{6695,7143,0}, {6692,7153,0},{6693,7158,0},{6695,7163,0},{6692,7172,0},{6692,7175,0},{6697,7180,0}, {6698,7187,0},{6703,7193,0},{6707,7202,0},{6708,7198,0},{6712,7202,0},{6713,7192,0}, {6715,7213,0},{6720,7212,0},{6715,7217,0},{6717,7223,0},{6723,7220,0},{6727,7203,0}, {6730,7203,0},{6730,7213,0},{6733,7218,0},{6730,7227,0},{6732,7240,0},{6740,7245,0}, {6747,7240,0},{6752,7255,0},{6760,7255,0},{6762,7262,0},{6763,7285,0},{6765,7288,0}, {6768,7288,0},{6768,7295,0},{6772,7305,0},{6768,7312,0},{6772,7315,0},{6782,7307,0}, {6785,7320,0},{6795,7320,0},{6808,7307,0},{6817,7313,0},{6822,7310,0},{6837,7342,0}, {6845,7347,0},{6848,7360,0},{6843,7360,0},{6845,7365,0},{6848,7365,0},{6858,7352,0}, {6885,7272,0},{6888,7263,0},{6898,7255,0},{6918,7248,0},{6922,7252,0},{6928,7265,0}, {6938,7257,0},{6942,7248,0},{6942,7258,0},{6943,7263,0},{6952,7262,0},{6965,7250,0}, {6967,7257,0},{6968,7255,0},{6975,7265,0},{6985,7268,0},{6990,7265,0},{6998,7253,0}, {7005,7248,0},{7008,7257,0},{7018,7262,0},{7027,7242,0},{7035,7253,0},{7040,7268,0}, {7042,7278,0},{7053,7277,0},{7062,7268,0},{7070,7277,0},{7087,7283,0},{7102,7262,0}, {7108,7268,0},{7113,7263,0},{7115,7258,0},{7120,7235,0},{7130,7205,0},{7147,7180,0}, {7152,7182,0},{7158,7195,0},{7157,7202,0},{7157,7207,0},{7160,7220,0},{7168,7223,0}, {7172,7237,0},{7182,7232,0},{7185,7233,0},{7192,7252,0},{7203,7257,0},{7212,7272,0}, {7220,7273,0},{7228,7288,0},{7240,7280,0},{7248,7280,0},{7252,7285,0},{7255,7277,0}, {7260,7272,0},{7265,7282,0},{7267,7273,0},{7270,7272,0},{7270,7283,0},{7283,7210,0}, {7280,7188,0},{7282,7183,0},{7282,7195,0},{7283,7200,0},{7287,7177,0},{7292,7153,0}, {7290,7123,0},{7290,7098,0},{7288,7075,0},{7290,7030,0},{7288,6960,0},{7288,6955,0}, {7292,6957,0},{7293,6978,0},{7295,6980,0},{7297,6975,0},{7297,6953,0},{7297,6937,0}, {7293,6932,0},{7280,6923,0},{7272,6902,0},{7267,6898,0},{7265,6905,0},{7265,6897,0}, {7253,6887,0},{7248,6892,0},{7245,6885,0},{7232,6882,0},{7232,6878,0},{7223,6873,0}, {7203,6865,0},{7198,6857,0},{7192,6855,0},{7182,6847,0},{7172,6830,0},{7167,6835,0}, {7168,6828,0},{7167,6822,0},{7152,6795,0},{7150,6785,0},{7143,6758,0},{7142,6758,0}, {7130,6708,0},{7130,6692,0},{7117,6682,0},{7105,6662,0},{7102,6662,0},{7100,6668,0}, {7102,6677,0},{7105,6675,0},{7107,6682,0},{7110,6682,0},{7108,6690,0},{7105,6683,0}, {7100,6683,0},{7095,6677,0},{7088,6662,0},{7077,6668,0},{7078,6678,0},{7080,6700,0}, {7083,6710,0},{7082,6727,0},{7075,6733,0},{7053,6722,0},{7047,6730,0},{7045,6725,0}, {7042,6727,0},{7038,6720,0},{7022,6708,0},{7013,6723,0},{7018,6725,0},{7015,6730,0}, {7010,6728,0},{7010,6733,0},{7002,6725,0},{6998,6718,0},{6995,6702,0},{6998,6697,0}, {7002,6700,0},{7005,6698,0},{7003,6692,0},{7000,6687,0},{6975,6677,0},{6957,6680,0}, {6952,6693,0},{6957,6692,0},{6963,6685,0},{6965,6698,0},{6965,6700,0},{6970,6698,0}, {6968,6708,0},{6962,6735,0},{6962,6750,0},{6958,6763,0},{6952,6778,0},{6948,6795,0}, {6948,6803,0},{6952,6800,0},{6955,6807,0},{6955,6810,0},{6938,6812,0},{6935,6803,0}, {6928,6805,0},{6908,6835,0},{6898,6847,0},{6892,6865,0},{6892,6878,0},{6897,6902,0}, {6893,6903,0},{6895,6922,0},{6893,6907,0},{6892,6913,0},{6892,6912,0},{6890,6895,0}, {6887,6898,0},{6887,6912,0},{6883,6910,0},{6880,6902,0},{6860,6890,0},{6837,6857,0}, {6833,6857,0},{6832,6865,0},{6832,6857,0},{6822,6843,0},{6822,6838,0},{6818,6828,0}, {6823,6827,0},{6823,6818,0},{6830,6823,0},{6833,6825,0},{6842,6817,0},{6847,6790,0}, {6848,6778,0},{6852,6770,0},{6850,6780,0},{6858,6763,0},{6868,6733,0},{6870,6720,0}, {6875,6715,0},{6880,6703,0},{6885,6712,0},{6888,6688,0},{6890,6658,0},{6895,6635,0}, {6900,6625,0},{6903,6610,0},{6908,6568,0},{6913,6565,0},{6912,6573,0},{6910,6577,0}, {6910,6590,0},{6913,6587,0},{6918,6538,0},{6927,6505,0},{6967,16243,128}, {6970,16233,0},{6965,16230,0},{6965,16220,0},{6963,16217,0},{6962,16220,0}, {6958,16202,0},{6953,16200,0},{6952,16192,0},{6953,16182,0},{6950,16177,0}, {6948,16168,0},{6942,16160,0},{6938,16143,0},{6935,16148,0},{6933,16147,0}, {6933,16142,0},{6928,16147,0},{6922,16138,0},{6917,16147,0},{6907,16150,0}, {6902,16157,0},{6892,16158,0},{6880,16132,0},{6873,16130,0},{6870,16133,0}, {6868,16128,0},{6855,16113,0},{6853,16105,0},{6852,16095,0},{6853,16080,0}, {6857,16075,0},{6855,16100,0},{6857,16107,0},{6868,16122,0},{6878,16122,0}, {6892,16138,0},{6898,16142,0},{6905,16125,0},{6907,16103,0},{6910,16097,0}, {6917,16105,0},{6923,16100,0},{6930,16102,0},{6947,16092,0},{6958,16100,0}, {6963,16092,0},{6963,16087,0},{6965,16080,0},{6968,16057,0},{6968,16038,0}, {6965,16032,0},{6970,16030,0},{6973,16017,0},{6972,16013,0},{6970,16018,0}, {6980,15987,0},{6973,15973,0},{6980,15980,0},{6983,15973,0},{6983,15977,0}, {6990,15968,0},{6995,15975,0},{7000,15987,0},{7003,15985,0},{7010,15992,0}, {7010,15983,0},{7013,15968,0},{7012,15993,0},{7013,15995,0},{7020,16000,0}, {7023,16008,0},{7028,16010,0},{7042,16003,0},{7062,15978,0},{7067,15967,0}, {7082,15925,0},{7095,15858,0},{7105,15797,0},{7110,15682,0},{7108,15655,0}, {7110,15593,0},{7107,15560,0},{7097,15553,0},{7100,15550,0},{7105,15550,0}, {7103,15500,0},{7097,15442,0},{7097,15423,0},{7093,15417,0},{7085,15365,0}, {7088,15362,0},{7087,15347,0},{7088,15345,0},{7087,15333,0},{7085,15332,0}, {7085,15312,0},{7083,15308,0},{7083,15275,0},{7083,15258,0},{7078,15253,0}, {7085,15253,0},{7088,15222,0},{7093,15203,0},{7098,15167,0},{7098,15165,0}, {7097,15192,0},{7098,15207,0},{7098,15213,0},{7100,15213,0},{7118,15177,0}, {7125,15173,0},{7130,15163,0},{7135,15145,0},{7137,15117,0},{7140,15103,0}, {7137,15087,0},{7133,15078,0},{7127,15060,0},{7137,15067,0},{7138,15073,0}, {7138,15063,0},{7133,15057,0},{7127,15038,0},{7127,15028,0},{7122,15015,0}, {7120,15002,0},{7122,15002,0},{7127,15018,0},{7128,15030,0},{7132,15033,0}, {7133,15052,0},{7140,15055,0},{7145,15065,0},{7150,15065,0},{7152,15055,0}, {7150,15047,0},{7152,15043,0},{7150,15032,0},{7152,15027,0},{7150,15005,0}, {7147,14987,0},{7150,14988,0},{7153,14997,0},{7157,14993,0},{7160,14997,0}, {7160,15002,0},{7157,15000,0},{7158,15010,0},{7167,14997,0},{7165,14968,0}, {7167,14943,0},{7170,14910,0},{7167,14900,0},{7167,14882,0},{7170,14885,0}, {7170,14898,0},{7175,14903,0},{7177,14888,0},{7182,14883,0},{7177,14910,0}, {7177,14915,0},{7182,14920,0},{7185,14930,0},{7187,14932,0},{7188,14928,0}, {7190,14937,0},{7182,14957,0},{7177,14963,0},{7177,14972,0},{7182,14987,0}, {7183,14998,0},{7188,15007,0},{7195,15002,0},{7212,14972,0},{7217,14953,0}, {7222,14918,0},{7227,14872,0},{7230,14850,0},{7232,14827,0},{7233,14748,0}, {7232,14713,0},{7208,14663,0},{7190,14635,0},{7187,14625,0},{7178,14607,0}, {7177,14593,0},{7172,14575,0},{7173,14555,0},{7165,14532,0},{7168,14525,0}, {7170,14508,0},{7167,14502,0},{7170,14497,0},{7167,14488,0},{7173,14492,0}, {7178,14488,0},{7178,14507,0},{7183,14522,0},{7185,14522,0},{7188,14505,0}, {7192,14497,0},{7197,14498,0},{7193,14508,0},{7192,14520,0},{7187,14535,0}, {7192,14558,0},{7192,14575,0},{7193,14580,0},{7202,14580,0},{7203,14575,0}, {7202,14568,0},{7208,14562,0},{7222,14575,0},{7222,14568,0},{7225,14562,0}, {7223,14577,0},{7220,14590,0},{7218,14583,0},{7215,14585,0},{7215,14595,0}, {7210,14593,0},{7207,14598,0},{7212,14607,0},{7217,14607,0},{7217,14620,0}, {7217,14625,0},{7215,14623,0},{7213,14633,0},{7203,14610,0},{7203,14598,0}, {7193,14600,0},{7185,14595,0},{7187,14602,0},{7203,14643,0},{7225,14687,0}, {7232,14693,0},{7230,14605,0},{7227,14508,0},{7223,14490,0},{7223,14475,0}, {7218,14463,0},{7217,14453,0},{7217,14440,0},{7222,14418,0},{7227,14410,0}, {7227,14420,0},{7227,14423,0},{7230,14428,0},{7228,14440,0},{7222,14452,0}, {7227,14458,0},{7240,14477,0},{7243,14497,0},{7240,14508,0},{7242,14517,0}, {7240,14525,0},{7233,14535,0},{7235,14545,0},{7233,14632,0},{7235,14647,0}, {7233,14675,0},{7235,14685,0},{7240,14652,0},{7245,14620,0},{7250,14582,0}, {7257,14537,0},{7260,14467,0},{7263,14440,0},{7265,14413,0},{7265,14382,0}, {7268,14355,0},{7268,14305,0},{7270,14260,0},{7270,14242,0},{7273,14187,0}, {7277,14157,0},{7285,14135,0},{7290,14065,0},{7287,14058,0},{7280,14067,0}, {7278,14075,0},{7268,14102,0},{7258,14095,0},{7258,14110,0},{7257,14093,0}, {7253,14087,0},{7253,14077,0},{7250,14067,0},{7248,14040,0},{7247,14010,0}, {7248,13998,0},{7250,13978,0},{7250,13953,0},{7242,13938,0},{7242,13933,0}, {7233,13917,0},{7223,13908,0},{7217,13918,0},{7213,13933,0},{7213,13935,0}, {7215,13927,0},{7218,13925,0},{7217,13937,0},{7217,13955,0},{7218,13943,0}, {7223,13957,0},{7223,14003,0},{7220,14020,0},{7217,14020,0},{7213,14007,0}, {7217,13995,0},{7217,13987,0},{7207,13972,0},{7200,13972,0},{7195,13963,0}, {7195,13933,0},{7192,13962,0},{7187,13970,0},{7185,13980,0},{7185,13975,0}, {7178,13968,0},{7167,13973,0},{7158,13983,0},{7153,14000,0},{7150,13998,0}, {7147,14003,0},{7148,13985,0},{7145,13972,0},{7147,13968,0},{7148,13963,0}, {7150,13945,0},{7147,13938,0},{7142,13935,0},{7142,13922,0},{7143,13912,0}, {7145,13915,0},{7147,13912,0},{7157,13905,0},{7158,13892,0},{7165,13872,0}, {7160,13855,0},{7158,13860,0},{7155,13858,0},{7153,13847,0},{7155,13843,0}, {7157,13840,0},{7158,13840,0},{7162,13848,0},{7157,13807,0},{7145,13798,0}, {7140,13788,0},{7138,13783,0},{7137,13788,0},{7138,13795,0},{7137,13793,0}, {7133,13800,0},{7135,13805,0},{7133,13832,0},{7132,13837,0},{7132,13808,0}, {7130,13800,0},{7127,13823,0},{7123,13817,0},{7123,13808,0},{7122,13805,0}, {7122,13793,0},{7125,13783,0},{7123,13775,0},{7122,13775,0},{7120,13785,0}, {7118,13785,0},{7120,13790,0},{7118,13802,0},{7113,13807,0},{7110,13798,0}, {7112,13795,0},{7113,13797,0},{7115,13792,0},{7112,13785,0},{7112,13780,0}, {7118,13772,0},{7120,13753,0},{7122,13757,0},{7122,13767,0},{7125,13773,0}, {7125,13767,0},{7128,13770,0},{7123,13755,0},{7127,13750,0},{7128,13742,0}, {7128,13748,0},{7132,13745,0},{7135,13748,0},{7135,13738,0},{7137,13735,0}, {7137,13740,0},{7135,13728,0},{7137,13723,0},{7137,13727,0},{7140,13723,0}, {7142,13707,0},{7145,13697,0},{7147,13688,0},{7150,13682,0},{7153,13672,0}, {7152,13662,0},{7147,13655,0},{7150,13657,0},{7152,13652,0},{7157,13648,0}, {7158,13625,0},{7162,13613,0},{7163,13587,0},{7162,13558,0},{7157,13537,0}, {7157,13533,0},{7153,13542,0},{7153,13532,0},{7155,13523,0},{7153,13517,0}, {7150,13512,0},{7153,13507,0},{7153,13502,0},{7148,13482,0},{7142,13477,0}, {7142,13470,0},{7135,13477,0},{7127,13467,0},{7130,13465,0},{7137,13475,0}, {7140,13462,0},{7137,13445,0},{7138,13407,0},{7147,13353,0},{7157,13317,0}, {7173,13292,0},{7177,13272,0},{7183,13277,0},{7195,13273,0},{7188,13253,0}, {7168,13227,0},{7130,13195,0},{7125,13195,0},{7123,13212,0},{7122,13218,0}, {7123,13200,0},{7120,13185,0},{7118,13182,0},{7117,13187,0},{7115,13187,0}, {7113,13175,0},{7110,13177,0},{7088,13153,0},{7075,13122,0},{7073,13102,0}, {7075,13092,0},{7077,13088,0},{7083,13090,0},{7097,13080,0},{7095,13072,0}, {7088,13070,0},{7087,13063,0},{7088,13050,0},{7093,13047,0},{7093,13032,0}, {7097,13017,0},{7098,13022,0},{7108,13007,0},{7105,12993,0},{7108,12993,0}, {7110,12988,0},{7108,12963,0},{7112,12973,0},{7113,12975,0},{7122,12970,0}, {7127,12965,0},{7128,12952,0},{7133,12938,0},{7147,12932,0},{7150,12923,0}, {7153,12925,0},{7158,12918,0},{7160,12910,0},{7160,12890,0},{7160,12885,0}, {7165,12882,0},{7170,12890,0},{7172,12912,0},{7177,12930,0},{7173,12943,0}, {7172,12952,0},{7172,12953,0},{7180,12930,0},{7187,12930,0},{7202,12907,0}, {7200,12902,0},{7180,12918,0},{7173,12895,0},{7178,12865,0},{7188,12862,0}, {7190,12853,0},{7197,12843,0},{7202,12843,0},{7218,12807,0},{7223,12787,0}, {7223,12775,0},{7225,12775,0},{7225,12785,0},{7235,12767,0},{7235,12745,0}, {7240,12718,0},{7240,12695,0},{7240,12672,0},{7238,12672,0},{7228,12690,0}, {7207,12697,0},{7200,12705,0},{7197,12722,0},{7190,12733,0},{7183,12723,0}, {7175,12718,0},{7148,12732,0},{7138,12728,0},{7140,12722,0},{7158,12720,0}, {7177,12708,0},{7185,12713,0},{7202,12680,0},{7213,12675,0},{7218,12658,0}, {7223,12658,0},{7235,12637,0},{7228,12625,0},{7227,12612,0},{7233,12588,0}, {7233,12570,0},{7235,12562,0},{7242,12545,0},{7245,12525,0},{7253,12513,0}, {7258,12480,0},{7263,12473,0},{7263,12435,0},{7272,12412,0},{7275,12378,0}, {7275,12367,0},{7272,12347,0},{7273,12335,0},{7278,12305,0},{7282,12265,0}, {7287,12242,0},{7288,12205,0},{7292,12192,0},{7295,12197,0},{7297,12187,0}, {7297,12178,0},{7295,12175,0},{7297,12168,0},{7297,12138,0},{7293,12103,0}, {7297,12070,0},{7298,12058,0},{7302,11982,0},{7300,11975,0},{7297,11982,0}, {7295,11990,0},{7293,12017,0},{7290,12043,0},{7288,12057,0},{7287,12055,0}, {7290,12027,0},{7293,11982,0},{7300,11967,0},{7300,11958,0},{7307,11953,0}, {7307,11925,0},{7310,11898,0},{7320,11848,0},{7323,11840,0},{7328,11835,0}, {7333,11837,0},{7337,11843,0},{7338,11837,0},{7342,11835,0},{7348,11848,0}, {7348,11858,0},{7345,11868,0},{7347,11873,0},{7345,11892,0},{7348,11900,0}, {7355,11883,0},{7357,11863,0},{7358,11795,0},{7358,11772,0},{7358,11725,0}, {7367,11658,0},{7367,11613,0},{7370,11582,0},{7370,11543,0},{7368,11517,0}, {7360,11487,0},{7358,11453,0},{7358,11410,0},{7353,11385,0},{7350,11348,0}, {7343,11353,0},{7335,11377,0},{7335,11385,0},{7335,11397,0},{7333,11403,0}, {7332,11385,0},{7332,11370,0},{7328,11365,0},{7325,11357,0},{7317,11353,0}, {7310,11360,0},{7302,11352,0},{7297,11353,0},{7288,11337,0},{7285,11315,0}, {7273,11322,0},{7268,11335,0},{7263,11372,0},{7262,11397,0},{7260,11408,0}, {7262,11362,0},{7268,11330,0},{7272,11320,0},{7283,11308,0},{7287,11313,0}, {7288,11330,0},{7295,11348,0},{7300,11345,0},{7310,11352,0},{7317,11348,0}, {7333,11350,0},{7337,11327,0},{7342,11322,0},{7345,11313,0},{7357,11328,0}, {7358,11340,0},{7360,11343,0},{7368,11340,0},{7388,11313,0},{7392,11298,0}, {7400,11282,0},{7395,11282,0},{7388,11293,0},{7380,11295,0},{7373,11278,0}, {7372,11248,0},{7370,11225,0},{7372,11202,0},{7377,11165,0},{7387,11130,0}, {4228,13070,128},{4235,13075,0},{4245,13078,0},{4247,13083,0},{4252,13083,0}, {4252,13087,0},{4255,13085,0},{4257,13078,0},{4260,13077,0},{4257,13073,0}, {4262,13073,0},{4265,13067,0},{4267,13068,0},{4268,13072,0},{4268,13075,0}, {4268,13083,0},{4267,13083,0},{4265,13078,0},{4263,13080,0},{4265,13088,0}, {4265,13095,0},{4262,13093,0},{4263,13087,0},{4263,13082,0},{4260,13093,0}, {4263,13097,0},{4265,13102,0},{4262,13110,0},{4263,13110,0},{4267,13112,0}, {4262,13113,0},{4260,13120,0},{4257,13117,0},{4255,13120,0},{4257,13123,0}, {4260,13123,0},{4262,13122,0},{4267,13122,0},{4267,13125,0},{4270,13125,0}, {4277,13128,0},{4278,13132,0},{4277,13137,0},{4280,13135,0},{4283,13137,0}, {4287,13147,0},{4288,13140,0},{4290,13142,0},{4292,13138,0},{4293,13138,0}, {4293,13143,0},{4295,13150,0},{4300,13150,0},{4300,13152,0},{4298,13155,0}, {4300,13157,0},{4303,13157,0},{4315,13168,0},{4317,13170,0},{4315,13165,0}, {4317,13167,0},{4318,13167,0},{4318,13170,0},{4317,13173,0},{4317,13175,0}, {4318,13177,0},{4320,13172,0},{4322,13175,0},{4328,13177,0},{4333,13182,0}, {4333,13183,0},{4330,13183,0},{4330,13197,0},{4327,13198,0},{4332,13202,0}, {4332,13205,0},{4328,13205,0},{4323,13200,0},{4320,13192,0},{4308,13183,0}, {4312,13192,0},{4308,13188,0},{4308,13190,0},{4308,13198,0},{4312,13203,0}, {4318,13210,0},{4323,13223,0},{4328,13228,0},{4332,13228,0},{4332,13230,0}, {4328,13235,0},{4325,13230,0},{4322,13232,0},{4322,13237,0},{4320,13238,0}, {4317,13235,0},{4317,13232,0},{4313,13233,0},{4308,13230,0},{4307,13228,0}, {4302,13230,0},{4297,13228,0},{4288,13228,0},{4285,13232,0},{4285,13235,0}, {4290,13235,0},{4292,13238,0},{4293,13240,0},{4293,13247,0},{4292,13250,0}, {4287,13250,0},{4283,13258,0},{4285,13260,0},{4285,13268,0},{4287,13268,0}, {4290,13273,0},{4290,13277,0},{4288,13277,0},{4283,13277,0},{4282,13280,0}, {4277,13280,0},{4273,13285,0},{4277,13288,0},{4282,13290,0},{4282,13293,0}, {4282,13300,0},{4280,13300,0},{4273,13308,0},{4273,13303,0},{4272,13300,0}, {4268,13303,0},{4268,13317,0},{4275,13323,0},{4277,13332,0},{4275,13337,0}, {4280,13348,0},{4282,13352,0},{4282,13353,0},{4282,13357,0},{4285,13360,0}, {4285,13368,0},{4282,13372,0},{4285,13373,0},{4290,13387,0},{4287,13390,0}, {4297,13403,0},{4300,13412,0},{4308,13418,0},{4310,13430,0},{4312,13432,0}, {4312,13435,0},{4315,13442,0},{4323,13455,0},{4323,13460,0},{4330,13470,0}, {4330,13477,0},{4338,13483,0},{4343,13495,0},{4345,13497,0},{4350,13507,0}, {4350,13513,0},{4360,13517,0},{4363,13522,0},{4368,13523,0},{4372,13518,0}, {4372,13522,0},{4373,13523,0},{4373,13525,0},{4372,13525,0},{4368,13527,0}, {4372,13532,0},{4372,13535,0},{4375,13538,0},{4375,13542,0},{4388,13552,0}, {4390,13547,0},{4392,13547,0},{4395,13545,0},{4395,13548,0},{4392,13552,0}, {4395,13552,0},{4395,13553,0},{4398,13553,0},{4400,13555,0},{4403,13563,0}, {4412,13567,0},{4417,13565,0},{4418,13568,0},{4423,13572,0},{4427,13580,0}, {4432,13583,0},{4435,13583,0},{4440,13588,0},{4443,13598,0},{4445,13600,0}, {4445,13607,0},{4452,13618,0},{4455,13620,0},{4458,13623,0},{4462,13622,0}, {4467,13625,0},{4468,13627,0},{4470,13633,0},{4473,13630,0},{4475,13633,0}, {4478,13637,0},{4477,13643,0},{4483,13645,0},{4483,13648,0},{4488,13653,0}, {4488,13655,0},{4493,13655,0},{4503,13665,0},{4503,13668,0},{4508,13677,0}, {4518,13682,0},{4533,13705,0},{4537,13713,0},{4560,13737,0},{4568,13752,0}, {4580,13767,0},{4587,13770,0},{4593,13778,0},{4607,13793,0},{4610,13795,0}, {4613,13802,0},{4622,13810,0},{4628,13812,0},{4645,13820,0},{4648,13823,0}, {4653,13833,0},{4663,13835,0},{4673,13838,0},{4680,13842,0},{4687,13850,0}, {4692,13850,0},{4703,13857,0},{4708,13862,0},{4718,13877,0},{4730,13888,0}, {4732,13897,0},{4737,13898,0},{4742,13905,0},{4747,13905,0},{4763,13917,0}, {4765,13920,0},{4773,13922,0},{4782,13928,0},{4792,13940,0},{4797,13952,0}, {4807,13965,0},{4817,13973,0},{4830,13993,0},{4833,14003,0},{4842,14008,0}, {4845,14018,0},{4852,14020,0},{4857,14017,0},{4858,14020,0},{4867,14018,0}, {4877,14022,0},{4885,14025,0},{4890,14035,0},{4898,14040,0},{4898,14037,0}, {4902,14035,0},{4898,14030,0},{4897,14030,0},{4897,14028,0},{4897,14025,0}, {4900,14028,0},{4900,14022,0},{4903,14035,0},{4907,14033,0},{4908,14030,0}, {4908,14035,0},{4910,14035,0},{4915,14037,0},{4917,14035,0},{4920,14037,0}, {4920,14033,0},{4927,14040,0},{4927,14033,0},{4928,14033,0},{4928,14043,0}, {4940,14045,0},{4957,14055,0},{4968,14052,0},{4977,14053,0},{4980,14047,0}, {4987,14040,0},{4988,14043,0},{4998,14048,0},{5003,14063,0},{5008,14070,0}, {5010,14068,0},{5008,14062,0},{5007,14058,0},{5008,14058,0},{5017,14052,0}, {5022,14053,0},{5030,14052,0},{5033,14055,0},{5045,14050,0},{5053,14043,0}, {5060,14048,0},{5062,14052,0},{5070,14047,0},{5082,14055,0},{5087,14053,0}, {5092,14060,0},{5095,14068,0},{5100,14067,0},{5102,14070,0},{5105,14072,0}, {5110,14070,0},{5113,14067,0},{5118,14068,0},{5122,14065,0},{5125,14072,0}, {5127,14070,0},{5132,14068,0},{5133,14077,0},{5133,14080,0},{5137,14087,0}, {5142,14090,0},{5142,14082,0},{5143,14082,0},{5145,14078,0},{5148,14083,0}, {5150,14090,0},{5162,14092,0},{5167,14102,0},{5168,14108,0},{5167,14112,0}, {5170,14112,0},{5177,14118,0},{5183,14122,0},{5188,14128,0},{5192,14142,0}, {5195,14143,0},{5202,14130,0},{5208,14137,0},{5210,14135,0},{5217,14150,0}, {5215,14153,0},{5215,14155,0},{5222,14153,0},{5222,14140,0},{5227,14133,0}, {5228,14128,0},{5233,14123,0},{5235,14117,0},{5240,14113,0},{5247,14113,0}, {5252,14122,0},{5258,14128,0},{5263,14128,0},{5265,14132,0},{5268,14128,0}, {5273,14127,0},{5277,14120,0},{5285,14127,0},{5285,14118,0},{5288,14108,0}, {5292,14105,0},{5293,14097,0},{5298,14093,0},{5302,14095,0},{5303,14085,0}, {5310,14077,0},{5312,14070,0},{5312,14080,0},{5312,14087,0},{5307,14090,0}, {5305,14097,0},{5298,14115,0},{5298,14122,0},{5302,14125,0},{5303,14118,0}, {5308,14125,0},{5307,14135,0},{5307,14137,0},{5308,14137,0},{5312,14138,0}, {5315,14143,0},{5318,14142,0},{5322,14142,0},{5322,14135,0},{5328,14142,0}, {5332,14130,0},{5330,14123,0},{5337,14112,0},{5340,14112,0},{5340,14103,0}, {5345,14100,0},{5343,14093,0},{5347,14093,0},{5350,14097,0},{5347,14110,0}, {5357,14077,0},{5365,14055,0},{5368,14052,0},{5372,14053,0},{5375,14045,0}, {5378,14037,0},{5387,14025,0},{5390,14025,0},{5397,14033,0},{5400,14023,0}, {5405,14025,0},{5408,14015,0},{5412,14002,0},{5418,13990,0},{5420,13992,0}, {5422,13982,0},{5423,13978,0},{5430,13982,0},{5432,13975,0},{5425,13963,0}, {5418,13933,0},{5423,13900,0},{5432,13873,0},{5430,13865,0},{5427,13872,0}, {5423,13875,0},{5420,13872,0},{5417,13873,0},{5407,13867,0},{5410,13877,0}, {5407,13878,0},{5402,13878,0},{5395,13875,0},{5390,13868,0},{5385,13868,0}, {5383,13870,0},{5367,13862,0},{5357,13855,0},{5352,13845,0},{5352,13828,0}, {5352,13825,0},{5348,13822,0},{5353,13825,0},{5357,13823,0},{5360,13835,0}, {5365,13835,0},{5368,13837,0},{5382,13857,0},{5387,13858,0},{5393,13857,0}, {5398,13858,0},{5400,13858,0},{5390,13835,0},{5373,13828,0},{5367,13813,0}, {5363,13802,0},{5357,13790,0},{5355,13768,0},{5353,13748,0},{5352,13738,0}, {5353,13732,0},{5357,13722,0},{5358,13720,0},{5360,13722,0},{5362,13728,0}, {5367,13735,0},{5367,13748,0},{5368,13750,0},{5372,13757,0},{5377,13755,0}, {5378,13760,0},{5383,13760,0},{5388,13770,0},{5390,13778,0},{5397,13787,0}, {5393,13775,0},{5397,13767,0},{5395,13760,0},{5397,13757,0},{5403,13743,0}, {5405,13730,0},{5412,13730,0},{5415,13742,0},{5413,13745,0},{5408,13745,0}, {5408,13748,0},{5412,13748,0},{5413,13752,0},{5415,13752,0},{5418,13758,0}, {5423,13762,0},{5430,13773,0},{5432,13773,0},{5432,13768,0},{5430,13765,0}, {5430,13762,0},{5430,13753,0},{5432,13748,0},{5430,13738,0},{5428,13737,0}, {5427,13728,0},{5422,13725,0},{5422,13718,0},{5418,13717,0},{5413,13707,0}, {5403,13717,0},{5403,13728,0},{5387,13720,0},{5380,13712,0},{5382,13708,0}, {5385,13703,0},{5385,13695,0},{5383,13685,0},{5378,13682,0},{5377,13678,0}, {5382,13668,0},{5393,13665,0},{5402,13670,0},{5405,13677,0},{5408,13677,0}, {5415,13682,0},{5422,13675,0},{5425,13682,0},{5428,13675,0},{5432,13682,0}, {5435,13677,0},{5442,13673,0},{5443,13677,0},{5442,13682,0},{5443,13683,0}, {5447,13682,0},{5448,13683,0},{5452,13682,0},{5458,13688,0},{5460,13682,0}, {5465,13682,0},{5465,13677,0},{5462,13670,0},{5463,13665,0},{5468,13667,0}, {5465,13662,0},{5458,13653,0},{5460,13628,0},{5462,13622,0},{5460,13610,0}, {5457,13600,0},{5457,13573,0},{5458,13570,0},{5467,13567,0},{5468,13547,0}, {5472,13533,0},{5470,13523,0},{5472,13527,0},{5480,13517,0},{5487,13515,0}, {5493,13522,0},{5512,13555,0},{5513,13572,0},{5520,13580,0},{5520,13587,0}, {5525,13595,0},{5530,13607,0},{5530,13613,0},{5535,13618,0},{5543,13630,0}, {5553,13635,0},{5558,13643,0},{5558,13652,0},{5563,13655,0},{5563,13660,0}, {5567,13668,0},{5565,13675,0},{5565,13678,0},{5572,13682,0},{5577,13690,0}, {5580,13698,0},{5580,13707,0},{5588,13717,0},{5593,13730,0},{5597,13733,0}, {5597,13737,0},{5593,13742,0},{5595,13740,0},{5597,13743,0},{5600,13743,0}, {5602,13745,0},{5605,13745,0},{5612,13757,0},{5615,13773,0},{5617,13773,0}, {5620,13777,0},{5623,13777,0},{5625,13785,0},{5630,13788,0},{5638,13792,0}, {5638,13802,0},{5640,13807,0},{5645,13808,0},{5645,13817,0},{5643,13823,0}, {5648,13825,0},{5650,13815,0},{5657,13812,0},{5663,13822,0},{5663,13827,0}, {5667,13827,0},{5668,13830,0},{5672,13830,0},{5673,13840,0},{5685,13848,0}, {5687,13858,0},{5698,13863,0},{5700,13875,0},{5702,13882,0},{5705,13882,0}, {5702,13890,0},{5707,13897,0},{5713,13895,0},{5715,13897,0},{5713,13907,0}, {5715,13907,0},{5727,13917,0},{5730,13937,0},{5732,13940,0},{5732,13948,0}, {5738,13957,0},{5745,13960,0},{5748,13970,0},{5752,13983,0},{5765,13993,0}, {5772,14005,0},{5777,14028,0},{5775,14035,0},{5780,14042,0},{5782,14050,0}, {5793,14052,0},{5808,14062,0},{5823,14068,0},{5830,14078,0},{5847,14108,0}, {5848,14122,0},{5852,14133,0},{5865,14162,0},{5868,14170,0},{5882,14183,0}, {5897,14198,0},{5912,14225,0},{5923,14258,0},{5935,14315,0},{5937,14313,0}, {5938,14320,0},{5937,14333,0},{5933,14343,0},{5933,14353,0},{5940,14378,0}, {5942,14390,0},{5942,14405,0},{5938,14428,0},{5940,14432,0},{5940,14438,0}, {5938,14445,0},{5937,14442,0},{5937,14468,0},{5938,14463,0},{5940,14462,0}, {5940,14477,0},{5938,14480,0},{5938,14477,0},{5938,14493,0},{5938,14507,0}, {5942,14525,0},{5942,14528,0},{5938,14532,0},{5942,14562,0},{5943,14567,0}, {5942,14567,0},{5938,14577,0},{5942,14582,0},{5940,14583,0},{5942,14592,0}, {5935,14592,0},{5933,14587,0},{5927,14580,0},{5922,14585,0},{5922,14593,0}, {5915,14595,0},{5915,14603,0},{5920,14618,0},{5918,14632,0},{5920,14635,0}, {5927,14632,0},{5938,14632,0},{5945,14647,0},{5947,14653,0},{5942,14667,0}, {5937,14673,0},{5935,14687,0},{5937,14700,0},{5932,14717,0},{5932,14730,0}, {5923,14748,0},{5925,14755,0},{5928,14755,0},{5930,14760,0},{5930,14767,0}, {5927,14770,0},{5928,14782,0},{5930,14783,0},{5935,14778,0},{5938,14783,0}, {5942,14822,0},{5938,14837,0},{5935,14840,0},{5933,14837,0},{5930,14840,0}, {5927,14840,0},{5927,14842,0},{5925,14855,0},{5927,14868,0},{5923,14872,0}, {5925,14877,0},{5928,14880,0},{5925,14887,0},{5923,14890,0},{5925,14895,0}, {5932,14892,0},{5938,14897,0},{5940,14892,0},{5938,14892,0},{5935,14887,0}, {5940,14887,0},{5937,14878,0},{5938,14870,0},{5945,14870,0},{5948,14875,0}, {5955,14885,0},{5953,14888,0},{5952,14883,0},{5948,14885,0},{5947,14890,0}, {5947,14895,0},{5945,14897,0},{5950,14912,0},{5947,14922,0},{5950,14922,0}, {5953,14918,0},{5955,14908,0},{5958,14910,0},{5962,14903,0},{5963,14903,0}, {5965,14910,0},{5968,14918,0},{5973,14933,0},{5973,14935,0},{5975,14932,0}, {5977,14935,0},{5975,14937,0},{5977,14962,0},{5970,15003,0},{5965,15013,0}, {5965,15027,0},{5962,15035,0},{5962,15042,0},{5960,15045,0},{5958,15043,0}, {5955,15052,0},{5957,15073,0},{5955,15073,0},{5952,15050,0},{5948,15043,0}, {5952,15067,0},{5950,15072,0},{5948,15073,0},{5947,15068,0},{5945,15068,0}, {5945,15087,0},{5947,15093,0},{5948,15092,0},{5950,15093,0},{5955,15087,0}, {5957,15090,0},{5958,15110,0},{5957,15123,0},{5957,15130,0},{5960,15133,0}, {5960,15137,0},{5957,15140,0},{5955,15145,0},{5950,15148,0},{5948,15160,0}, {5943,15167,0},{5938,15167,0},{5935,15172,0},{5932,15167,0},{5930,15170,0}, {5930,15187,0},{5927,15198,0},{5928,15208,0},{5930,15213,0},{5927,15217,0}, {5923,15228,0},{5920,15228,0},{5920,15217,0},{5915,15205,0},{5915,15187,0}, {5915,15180,0},{5913,15172,0},{5915,15167,0},{5917,15162,0},{5917,15140,0}, {5915,15137,0},{5912,15133,0},{5908,15117,0},{5912,15107,0},{5903,15113,0}, {5902,15118,0},{5895,15122,0},{5892,15128,0},{5883,15132,0},{5887,15145,0}, {5885,15157,0},{5890,15208,0},{5892,15212,0},{5898,15212,0},{5900,15220,0}, {5902,15235,0},{5905,15235,0},{5903,15240,0},{5902,15240,0},{5900,15247,0}, {5895,15255,0},{5895,15263,0},{5890,15272,0},{5893,15282,0},{5890,15290,0}, {5895,15288,0},{5907,15298,0},{5910,15315,0},{5908,15330,0},{5913,15332,0}, {5913,15327,0},{5915,15332,0},{5922,15332,0},{5925,15337,0},{5922,15352,0}, {5920,15358,0},{5927,15375,0},{5925,15373,0},{5922,15373,0},{5918,15367,0}, {5917,15380,0},{5908,15390,0},{5905,15403,0},{5910,15415,0},{5908,15427,0}, {5912,15430,0},{5912,15435,0},{5918,15432,0},{5920,15433,0},{5922,15445,0}, {5920,15452,0},{5913,15465,0},{5913,15470,0},{5912,15477,0},{5917,15473,0}, {5920,15477,0},{5918,15500,0},{5920,15507,0},{5917,15518,0},{5922,15513,0}, {5925,15518,0},{5928,15513,0},{5937,15518,0},{5940,15507,0},{5950,15497,0}, {5948,15490,0},{5945,15485,0},{5948,15483,0},{5948,15475,0},{5955,15463,0}, {5953,15457,0},{5955,15442,0},{5950,15442,0},{5943,15450,0},{5942,15443,0}, {5947,15438,0},{5950,15440,0},{5953,15438,0},{5952,15435,0},{5948,15435,0}, {5945,15428,0},{5945,15413,0},{5947,15410,0},{5952,15407,0},{5955,15413,0}, {5965,15422,0},{5958,15430,0},{5958,15437,0},{5972,15423,0},{5988,15423,0}, {5990,15440,0},{5988,15443,0},{5985,15440,0},{5988,15448,0},{5992,15447,0}, {6005,15453,0},{6027,15480,0},{6035,15493,0},{6040,15508,0},{6042,15513,0}, {6047,15518,0},{6052,15533,0},{6053,15538,0},{6052,15542,0},{6052,15545,0}, {6053,15548,0},{6058,15548,0},{6058,15552,0},{6062,15555,0},{6065,15565,0}, {6067,15570,0},{6073,15582,0},{6072,15590,0},{6085,15590,0},{6088,15592,0}, {6102,15610,0},{6118,15642,0},{6122,15658,0},{6122,15667,0},{6128,15663,0}, {6133,15667,0},{6142,15663,0},{6153,15670,0},{6153,15687,0},{6160,15698,0}, {6165,15702,0},{6170,15715,0},{6172,15728,0},{6170,15737,0},{6177,15737,0}, {6180,15748,0},{6178,15790,0},{6173,15803,0},{6175,15812,0},{6182,15832,0}, {6182,15845,0},{6178,15852,0},{6183,15863,0},{6182,15885,0},{6185,15883,0}, {6188,15888,0},{6192,15920,0},{6188,15937,0},{6185,15938,0},{6183,15933,0}, {6177,15945,0},{6182,15950,128},{6182,15953,0},{6172,15948,0},{6168,15948,0}, {6167,15953,0},{6170,15967,0},{6172,15967,0},{6170,15972,0},{6173,15975,0}, {6172,15983,0},{6178,15992,0},{6182,15997,0},{6188,16010,0},{6188,16015,0}, {6195,16033,0},{6195,16035,0},{6192,16033,0},{6190,16037,0},{6187,16035,0}, {6185,16037,0},{6182,16035,0},{6177,16037,0},{6170,16023,0},{6167,16028,0}, {6163,16023,0},{6158,16022,0},{6157,16023,0},{6152,16017,0},{6152,16008,0}, {6147,16002,0},{6145,16008,0},{6142,16003,0},{6138,16003,0},{6140,15997,0}, {6138,15995,0},{6137,15995,0},{6133,15988,0},{6130,15992,0},{6132,16000,0}, {6128,15993,0},{6132,15985,0},{6130,15983,0},{6125,15975,0},{6127,15985,0}, {6125,15992,0},{6122,15990,0},{6118,15995,0},{6115,15993,0},{6112,15998,0}, {6110,15993,0},{6103,15990,0},{6098,15980,0},{6093,15978,0},{6095,15992,0}, {6098,15993,0},{6105,16017,0},{6107,16035,0},{6105,16043,0},{6103,16038,0}, {6100,16040,0},{6095,16033,0},{6092,16035,0},{6090,16032,0},{6092,16030,0}, {6090,16023,0},{6085,16023,0},{6083,16017,0},{6078,16022,0},{6073,16022,0}, {6072,16018,0},{6068,16018,0},{6068,16012,0},{6058,16013,0},{6063,16027,0}, {6067,16028,0},{6070,16035,0},{6072,16033,0},{6075,16038,0},{6075,16042,0}, {6073,16040,0},{6072,16045,0},{6075,16057,0},{6073,16058,0},{6073,16062,0}, {6078,16067,0},{6073,16080,0},{6080,16082,0},{6092,16090,0},{6092,16095,0}, {6097,16103,0},{6100,16117,0},{6107,16122,0},{6108,16130,0},{6113,16143,0}, {6117,16142,0},{6120,16147,0},{6120,16157,0},{6123,16162,0},{6127,16157,0}, {6127,16165,0},{6130,16175,0},{6138,16180,0},{6135,16187,0},{6143,16188,0}, {6138,16193,0},{6142,16203,0},{6145,16205,0},{6147,16208,0},{6153,16222,0}, {6157,16222,0},{6158,16228,0},{6162,16228,0},{6163,16235,0},{6167,16240,0}, {6167,16253,0},{6162,16267,0},{6160,16275,0},{6163,16275,0},{6163,16270,0}, {6167,16263,0},{6168,16265,0},{6172,16280,0},{6172,16285,0},{6167,16293,0}, {6163,16285,0},{6162,16290,0},{6158,16288,0},{6158,16295,0},{6152,16300,0}, {6155,16308,0},{6160,16307,0},{6162,16310,0},{6163,16313,0},{6162,16322,0}, {6165,16320,0},{6167,16328,0},{6168,16332,0},{6172,16330,0},{6175,16323,0}, {6178,16298,0},{6180,16295,0},{6192,16305,0},{6193,16300,0},{6197,16303,0}, {6198,16310,0},{6202,16310,0},{6207,16317,0},{6210,16308,0},{6212,16313,0}, {6220,16308,0},{6228,16312,0},{6230,16317,0},{6230,16322,0},{6233,16323,0}, {6235,16335,0},{6238,16332,0},{6240,16323,0},{6243,16322,0},{6245,16317,0}, {6247,16322,0},{6252,16322,0},{6255,16327,0},{6257,16348,0},{6262,16373,0}, {6260,16392,0},{6265,16395,0},{6268,16427,0},{6272,16437,0},{6268,16458,0}, {6258,16470,0},{6255,16492,0},{6252,16503,0},{6250,16532,0},{6245,16565,0}, {6243,16562,0},{6245,16547,0},{6248,16535,0},{6247,16513,0},{6245,16508,0}, {6240,16523,0},{6232,16533,0},{6232,16528,0},{6238,16523,0},{6242,16508,0}, {6242,16492,0},{6247,16472,0},{6247,16458,0},{6245,16452,0},{6242,16443,0}, {6237,16440,0},{6233,16423,0},{6227,16412,0},{6220,16408,0},{6215,16410,0}, {6210,16407,0},{6203,16410,0},{6198,16405,0},{6188,16407,0},{6183,16403,0}, {6178,16407,0},{6168,16402,0},{6163,16385,0},{6157,16383,0},{6145,16375,0}, {6142,16378,0},{6145,16385,0},{6143,16397,0},{6137,16402,0},{6133,16402,0}, {6130,16395,0},{6123,16393,0},{6115,16363,0},{6112,16360,0},{6107,16360,0}, {6105,16352,0},{6102,16347,0},{6100,16347,0},{6100,16352,0},{6093,16375,0}, {6087,16370,0},{6087,16357,0},{6083,16340,0},{6075,16330,0},{6072,16332,0}, {6075,16327,0},{6080,16330,0},{6082,16330,0},{6082,16318,0},{6080,16310,0}, {6078,16312,0},{6077,16308,0},{6078,16302,0},{6077,16288,0},{6065,16277,0}, {6060,16262,0},{6062,16250,0},{6055,16240,0},{6053,16220,0},{6048,16212,0}, {6042,16192,0},{6032,16187,0},{6033,16192,0},{6032,16192,0},{6025,16193,0}, {6017,16182,0},{6012,16172,0},{6010,16163,0},{6007,16158,0},{6007,16150,0}, {6005,16147,0},{5985,16125,0},{5977,16110,0},{5972,16097,0},{5962,16087,0}, {5955,16048,0},{5945,16045,0},{5935,16033,0},{5932,16020,0},{5923,16005,0}, {5917,15990,0},{5908,15978,0},{5905,15978,0},{5902,15973,0},{5895,15975,0}, {5887,15972,0},{5883,15962,0},{5880,15962,0},{5872,15950,0},{5868,15948,0}, {5867,15940,0},{5853,15918,0},{5847,15923,0},{5852,15915,0},{5845,15910,0}, {5842,15903,0},{5827,15867,0},{5803,15823,0},{5803,15828,0},{5800,15830,0}, {5797,15835,0},{5795,15833,0},{5800,15827,0},{5802,15822,0},{5798,15805,0}, {5798,15792,0},{5798,15780,0},{5802,15772,0},{5802,15765,0},{5798,15763,0}, {5795,15758,0},{5788,15757,0},{5782,15750,0},{5778,15743,0},{5777,15733,0}, {5777,15717,0},{5780,15707,0},{5785,15698,0},{5782,15690,0},{5780,15687,0}, {5773,15675,0},{5773,15685,0},{5765,15693,0},{5753,15698,0},{5743,15698,0}, {5712,15670,0},{5708,15672,0},{5703,15667,0},{5707,15665,0},{5710,15655,0}, {5708,15653,0},{5702,15652,0},{5695,15645,0},{5685,15620,0},{5682,15620,0}, {5678,15613,0},{5672,15607,0},{5677,15607,0},{5683,15617,0},{5685,15617,0}, {5682,15612,0},{5667,15595,0},{5660,15593,0},{5613,15573,0},{5610,15577,0}, {5610,15572,0},{5605,15568,0},{5592,15565,0},{5562,15562,0},{5557,15558,0}, {5533,15555,0},{5513,15557,0},{5492,15560,0},{5482,15565,0},{5478,15563,0}, {5445,15572,0},{5385,15593,0},{5383,15592,0},{5310,15608,0},{5285,15610,0}, {5257,15627,0},{5255,15630,0},{5252,15635,0},{5252,15643,0},{5248,15643,0}, {5245,15637,0},{5250,15637,0},{5252,15628,0},{5228,15640,0},{5193,15650,0}, {5175,15650,0},{5152,15647,0},{5147,15648,0},{5142,15652,0},{5132,15652,0}, {5127,15657,0},{5125,15663,0},{5123,15667,0},{5118,15670,0},{5110,15670,0}, {5107,15675,0},{5098,15675,0},{5088,15665,0},{5088,15670,0},{5095,15678,0}, {5102,15682,0},{5107,15695,0},{5120,15715,0},{5120,15722,0},{5123,15725,0}, {5133,15735,0},{5135,15747,0},{5138,15747,0},{5140,15752,0},{5143,15748,0}, {5148,15753,0},{5155,15768,0},{5157,15777,0},{5163,15788,0},{5163,15792,0}, {5167,15792,0},{5172,15798,0},{5177,15802,0},{5180,15812,0},{5190,15818,0}, {5193,15828,0},{5203,15828,0},{5207,15833,0},{5212,15832,0},{5213,15833,0}, {5212,15837,0},{5218,15843,0},{5222,15838,0},{5223,15843,0},{5227,15842,0}, {5227,15852,0},{5230,15855,0},{5233,15855,0},{5235,15850,0},{5238,15857,0}, {5243,15853,0},{5242,15842,0},{5243,15847,0},{5247,15847,0},{5248,15853,0}, {5250,15850,0},{5252,15852,0},{5257,15852,0},{5260,15843,0},{5262,15845,0}, {5265,15842,0},{5262,15853,0},{5265,15857,0},{5272,15860,0},{5273,15857,0}, {5275,15850,0},{5275,15848,0},{5278,15850,0},{5278,15857,0},{5283,15855,0}, {5282,15858,0},{5285,15863,0},{5287,15860,0},{5290,15865,0},{5293,15863,0}, {5295,15852,0},{5293,15848,0},{5290,15853,0},{5292,15848,0},{5290,15845,0}, {5295,15842,0},{5297,15845,0},{5300,15842,0},{5302,15843,0},{5303,15850,0}, {5307,15853,0},{5305,15860,0},{5302,15863,0},{5298,15868,0},{5295,15867,0}, {5288,15872,0},{5302,15892,0},{5308,15903,0},{5317,15928,0},{5315,15938,0}, {5323,15948,0},{5327,15962,0},{5323,15972,0},{5327,15977,0},{5328,15982,0}, {5325,15978,0},{5322,15977,0},{5315,15993,0},{5310,15997,0},{5310,16005,0}, {5327,16002,0},{5327,15997,0},{5320,15997,0},{5327,15992,0},{5330,15997,0}, {5333,15997,0},{5333,15992,0},{5338,15993,0},{5340,15988,0},{5348,15985,0}, {5348,15980,0},{5350,15982,0},{5352,15980,0},{5353,15982,0},{5352,15985,0}, {5347,15993,0},{5352,15997,0},{5357,15997,0},{5367,15990,0},{5367,15987,0}, {5358,15992,0},{5365,15982,0},{5368,15987,0},{5375,15983,0},{5385,15985,0}, {5398,15990,0},{5407,15998,0},{5412,15998,0},{5420,16010,0},{5425,16025,0}, {5437,16040,0},{5452,16072,0},{5453,16072,0},{5455,16085,0},{5458,16112,0}, {5458,16118,0},{5455,16122,0},{5452,16123,0},{5448,16130,0},{5452,16147,0}, {5450,16152,0},{5452,16162,0},{5450,16173,0},{5458,16182,0},{5465,16198,0}, {5470,16200,0},{5477,16212,0},{5482,16210,0},{5483,16215,0},{5487,16215,0}, {5490,16207,0},{5502,16197,0},{5507,16188,0},{5512,16183,0},{5513,16182,0}, {5537,16172,0},{5548,16172,0},{5563,16175,0},{5572,16182,0},{5580,16192,0}, {5587,16193,0},{5595,16202,0},{5602,16205,0},{5607,16203,0},{5610,16210,0}, {5617,16222,0},{5620,16243,0},{5623,16248,0},{5623,16252,0},{5627,16257,0}, {5633,16248,0},{5638,16240,0},{5640,16240,0},{5640,16247,0},{5643,16252,0}, {5642,16257,0},{5648,16263,0},{5648,16270,0},{5648,16275,0},{5643,16290,0}, {5645,16293,0},{5652,16293,0},{5655,16298,0},{5652,16310,0},{5647,16307,0}, {5643,16293,0},{5640,16292,0},{5637,16285,0},{5635,16272,0},{5627,16267,0}, {5623,16260,0},{5622,16252,0},{5622,16258,0},{5615,16270,0},{5610,16275,0}, {5603,16288,0},{5602,16303,0},{5603,16305,0},{5612,16313,0},{5620,16335,0}, {5625,16333,0},{5630,16332,0},{5632,16333,0},{5638,16332,0},{5645,16323,0}, {5648,16327,0},{5655,16323,0},{5657,16325,0},{5663,16322,0},{5670,16325,0}, {5673,16322,0},{5673,16312,0},{5675,16308,0},{5673,16300,0},{5670,16292,0}, {5673,16285,0},{5678,16278,0},{5688,16278,0},{5705,16283,0},{5722,16275,0}, {5735,16277,0},{5735,16273,0},{5743,16285,0},{5748,16305,0},{5758,16312,0}, {5760,16320,0},{5763,16322,0},{5767,16320,0},{5775,16328,0},{5777,16327,0}, {5785,16320,0},{5785,16300,0},{5792,16285,0},{5793,16277,0},{5797,16270,0}, {5795,16265,0},{5795,16255,0},{5792,16250,0},{5787,16247,0},{5777,16248,0}, {5768,16237,0},{5768,16233,0},{5772,16233,0},{5773,16240,0},{5778,16243,0}, {5780,16225,0},{5785,16210,0},{5790,16203,0},{5803,16193,0},{5807,16193,0}, {5845,16213,0},{5867,16240,0},{5875,16252,0},{5883,16277,0},{5887,16278,0}, {5885,16277,0},{5887,16272,0},{5883,16272,0},{5887,16267,0},{5890,16280,0}, {5898,16288,0},{5895,16292,0},{5893,16285,0},{5895,16298,0},{5898,16303,0}, {5903,16305,0},{5903,16300,0},{5913,16288,0},{5913,16293,0},{5917,16295,0}, {5915,16298,0},{5917,16302,0},{5913,16307,0},{5912,16307,0},{5908,16317,0}, {5903,16315,0},{5905,16320,0},{5915,16318,0},{5918,16312,0},{5920,16307,0}, {5920,16308,0},{5923,16307,0},{5927,16308,0},{5930,16317,0},{5928,16320,0}, {5930,16328,0},{5925,16323,0},{5925,16328,0},{5938,16333,0},{5943,16330,0}, {5950,16317,0},{5955,16320,0},{5957,16317,0},{5958,16327,0},{5958,16333,0}, {5962,16338,0},{5982,16337,0},{5985,16345,0},{5990,16350,0},{5988,16368,0}, {5998,16380,0},{5997,16372,0},{5997,16368,0},{5998,16365,0},{6002,16362,0}, {6003,16363,0},{6005,16373,0},{6005,16382,0},{6005,16383,0},{6003,16387,0}, {6002,16385,0},{6003,16390,0},{6003,16403,0},{5998,16412,0},{6000,16420,0}, {5992,16410,0},{5990,16403,0},{5987,16405,0},{5985,16418,0},{5992,16410,0}, {5997,16417,0},{5998,16430,0},{6000,16435,0},{6002,16437,0},{6005,16432,0}, {6008,16432,0},{6007,16435,0},{6012,16445,0},{6008,16453,0},{6003,16460,0}, {5993,16473,0},{5985,16478,0},{5982,16477,0},{5978,16482,0},{5982,16492,0}, {5983,16500,0},{5997,16515,0},{5998,16522,0},{6003,16515,0},{6008,16512,0}, {6008,16507,0},{6007,16505,0},{6008,16500,0},{6013,16500,0},{6012,16505,0}, {6013,16512,0},{6017,16518,0},{6015,16518,0},{6013,16515,0},{6008,16520,0}, {6010,16525,0},{6013,16528,0},{6018,16543,0},{6025,16543,0},{6022,16545,0}, {6022,16552,0},{6025,16565,0},{6028,16577,0},{6033,16585,0},{6038,16598,0}, {6043,16605,0},{6045,16620,0},{6042,16605,0},{6037,16595,0},{6038,16592,0}, {6043,16600,0},{6048,16622,0},{6048,16630,0},{6047,16632,0},{6050,16638,0}, {6048,16640,0},{6045,16635,0},{6040,16633,0},{6038,16627,0},{6040,16623,0}, {6033,16627,0},{6025,16627,0},{6020,16628,0},{6017,16625,0},{6012,16617,0}, {6002,16613,0},{5997,16615,0},{5992,16610,0},{5983,16610,0},{5982,16612,0}, {5985,16630,0},{6000,16655,0},{6022,16683,0},{6025,16693,0},{6028,16693,0}, {6030,16690,0},{6032,16705,0},{6043,16702,0},{6042,16707,0},{6038,16712,0}, {6035,16718,0},{6037,16730,0},{6038,16730,0},{6042,16728,0},{6040,16737,0}, {6047,16733,0},{6042,16745,0},{6043,16747,0},{6047,16748,0},{6043,16753,0}, {6045,16762,0},{6047,16768,0},{6048,16777,0},{6053,16775,0},{6055,16777,0}, {6052,16782,0},{6053,16797,0},{6058,16818,0},{6060,16833,0},{6060,16848,0}, {6055,16867,0},{6057,16877,0},{6055,16892,0},{6057,16903,0},{6057,16915,0}, {6058,16913,0},{6058,16920,0},{6062,16922,0},{6062,16928,0},{6057,16937,0}, {6055,16933,0},{6057,16927,0},{6055,16925,0},{6047,16953,0},{6047,16957,0}, {6043,16960,0},{6042,16970,0},{6028,16975,0},{6023,16982,0},{6025,16988,0}, {6023,16997,0},{6022,16985,0},{6018,16983,0},{6007,16993,0},{6003,17008,0}, {6002,17012,0},{5998,17010,0},{5992,17025,0},{5997,17040,0},{6022,17047,0}, {6027,17050,0},{6033,17067,0},{6035,17065,0},{6037,17060,0},{6038,17062,0}, {6043,17058,0},{6043,17052,0},{6045,17052,0},{6045,17060,0},{6043,17062,0}, {6042,17065,0},{6045,17078,0},{6050,17080,0},{6050,17075,0},{6053,17075,0}, {6050,17085,0},{6053,17100,0},{6057,17108,0},{6055,17118,0},{6063,17137,0}, {6068,17137,0},{6072,17140,0},{6078,17140,0},{6073,17147,0},{6068,17142,0}, {6072,17148,0},{6075,17163,0},{6077,17162,0},{6080,17153,0},{6082,17167,0}, {6085,17173,0},{6083,17185,0},{6085,17195,0},{6095,17195,0},{6092,17200,0}, {6088,17198,0},{6085,17202,0},{6087,17207,0},{6093,17212,0},{6095,17218,0}, {6097,17220,0},{6102,17217,0},{6103,17212,0},{6110,17202,0},{6107,17215,0}, {6102,17222,0},{6102,17228,0},{6102,17238,0},{6105,17248,0},{6108,17248,0}, {6107,17243,0},{6108,17242,0},{6110,17238,0},{6110,17230,0},{6113,17225,0}, {6112,17232,0},{6113,17243,0},{6117,17237,0},{6123,17235,0},{6118,17255,0}, {6120,17265,0},{6123,17267,0},{6127,17277,0},{6133,17267,0},{6128,17285,0}, {6130,17295,0},{6137,17290,0},{6143,17272,0},{6147,17288,0},{6145,17292,0}, {6145,17295,0},{6142,17298,0},{6138,17308,0},{6143,17322,0},{6147,17330,0}, {6152,17328,0},{6155,17335,0},{6155,17348,0},{6165,17347,0},{6175,17357,0}, {6175,17362,0},{6170,17370,0},{6168,17382,0},{6165,17380,0},{6170,17392,0}, {6172,17398,0},{6175,17402,0},{6178,17410,0},{6178,17403,0},{6182,17400,0}, {6183,17408,0},{6183,17407,0},{6182,17418,0},{6182,17420,0},{6180,17415,0}, {6182,17418,0},{6180,17428,0},{6185,17435,0},{6183,17438,0},{6182,17437,0}, {6180,17445,0},{6183,17460,0},{6187,17470,0},{6188,17473,0},{6195,17462,0}, {6198,17460,0},{6195,17470,0},{6195,17478,0},{6193,17480,0},{6192,17477,0}, {6193,17482,0},{6202,17517,0},{6205,17525,0},{6217,17527,0},{6210,17530,0}, {6212,17540,0},{6207,17530,0},{6217,17553,0},{6223,17580,0},{6232,17628,0}, {6240,17642,0},{6247,17663,0},{6247,17660,0},{6248,17660,0},{6253,17668,0}, {6253,17672,0},{6252,17668,0},{6250,17668,0},{6253,17685,0},{6257,17727,0}, {6258,17717,0},{6258,17705,0},{6262,17702,0},{6267,17693,0},{6270,17693,0}, {6272,17697,0},{6277,17705,0},{6278,17700,0},{6287,17698,0},{6285,17703,0}, {6283,17703,0},{6278,17715,0},{6272,17713,0},{6270,17720,0},{6272,17727,0}, {6273,17725,0},{6280,17733,0},{6282,17745,0},{6278,17742,0},{6277,17743,0}, {6277,17740,0},{6277,17733,0},{6273,17732,0},{6268,17733,0},{6262,17727,0}, {6258,17733,0},{6258,17730,0},{6257,17772,0},{6255,17803,0},{6248,17828,0}, {6235,17897,0},{6228,17907,0},{6228,17910,0},{6233,17915,0},{6242,17915,0}, {6247,17910,0},{6250,17918,0},{6250,17935,0},{6253,17940,0},{6262,17943,0}, {6262,17957,0},{6267,17955,0},{6270,17960,0},{6275,17960,0},{6287,17950,0}, {6290,17932,0},{6300,17923,0},{6302,17925,0},{6305,17930,0},{6307,17937,0}, {6305,17940,0},{6315,17942,0},{6322,17927,0},{6323,17920,0},{6323,17913,0}, {6328,17905,0},{6330,17893,0},{6333,17890,0},{6333,17883,0},{6335,17882,0}, {6338,17880,0},{6340,17883,0},{6332,17900,0},{6350,17880,0},{6358,17878,0}, {6358,17875,0},{6353,17875,0},{6343,17883,0},{6340,17877,0},{6338,17868,0}, {6342,17858,128},{6343,17863,0},{6345,17865,0},{6348,17872,0},{6357,17872,0}, {6357,17867,0},{6358,17852,0},{6357,17847,0},{6352,17840,0},{6352,17837,0}, {6357,17827,0},{6358,17827,0},{6363,17835,0},{6362,17847,0},{6360,17847,0}, {6358,17850,0},{6362,17853,0},{6363,17852,0},{6362,17862,0},{6358,17863,0}, {6360,17872,0},{6362,17872,0},{6362,17865,0},{6367,17860,0},{6365,17872,0}, {6363,17877,0},{6390,17870,0},{6400,17863,0},{6395,17865,0},{6395,17858,0}, {6397,17853,0},{6397,17842,0},{6397,17838,0},{6398,17848,0},{6400,17838,0}, {6403,17840,0},{6407,17847,0},{6407,17852,0},{6403,17858,0},{6417,17843,0}, {6427,17837,0},{6445,17818,0},{6440,17818,0},{6443,17820,0},{6442,17823,0}, {6435,17828,0},{6428,17820,0},{6425,17808,0},{6423,17810,0},{6420,17818,0}, {6420,17810,0},{6422,17795,0},{6425,17782,0},{6430,17767,0},{6443,17742,0}, {6455,17737,0},{6465,17745,0},{6475,17748,0},{6478,17733,0},{6472,17715,0}, {6470,17698,0},{6463,17685,0},{6460,17683,0},{6457,17673,0},{6462,17670,0}, {6468,17650,0},{6468,17645,0},{6462,17633,0},{6462,17622,0},{6457,17613,0}, {6453,17612,0},{6463,17615,0},{6465,17632,0},{6472,17642,0},{6477,17630,0}, {6482,17628,0},{6483,17623,0},{6487,17620,0},{6490,17603,0},{6478,17583,0}, {6475,17570,0},{6475,17548,0},{6473,17528,0},{6473,17505,0},{6467,17477,0}, {6467,17465,0},{6467,17452,0},{6468,17443,0},{6468,17470,0},{6468,17477,0}, {6477,17505,0},{6475,17515,0},{6477,17523,0},{6475,17532,0},{6477,17538,0}, {6478,17555,0},{6478,17572,0},{6483,17587,0},{6487,17593,0},{6490,17593,0}, {6495,17607,0},{6492,17608,0},{6492,17618,0},{6485,17640,0},{6480,17643,0}, {6482,17653,0},{6487,17663,0},{6487,17675,0},{6485,17678,0},{6485,17688,0}, {6480,17693,0},{6478,17700,0},{6477,17703,0},{6478,17718,0},{6482,17728,0}, {6483,17730,0},{6485,17722,0},{6488,17725,0},{6492,17722,0},{6498,17707,0}, {6500,17700,0},{6503,17697,0},{6505,17688,0},{6503,17682,0},{6500,17670,0}, {6500,17657,0},{6500,17650,0},{6503,17643,0},{6503,17633,0},{6505,17630,0}, {6505,17638,0},{6508,17638,0},{6508,17642,0},{6502,17658,0},{6508,17690,0}, {6502,17717,0},{6493,17725,0},{6492,17743,0},{6485,17748,0},{6483,17738,0}, {6482,17742,0},{6482,17750,0},{6478,17748,0},{6478,17755,0},{6475,17763,0}, {6472,17762,0},{6470,17778,0},{6470,17792,0},{6467,17800,0},{6468,17808,0}, {6468,17825,0},{6465,17827,0},{6465,17825,0},{6470,17873,0},{6467,17875,0}, {6463,17870,0},{6462,17850,0},{6458,17850,0},{6460,17862,0},{6478,17915,0}, {6480,17925,0},{6482,17942,0},{6482,17945,0},{6482,17948,0},{6493,17968,0}, {6502,17980,0},{6507,18000,0},{6515,-17982,0},{6517,-17970,0},{6527,-17957,0}, {6543,-17953,0},{6553,-17932,0},{6560,-17937,0},{6563,-17933,0},{6580,-17975,0}, {6595,-17982,0},{6612,-17977,0},{6618,-17970,0},{6615,-17958,0},{6613,-17958,0}, {6613,-17968,0},{6612,-17963,0},{6613,-17938,0},{6618,-17925,0},{6635,-17942,0}, {6632,-17933,0},{6630,-17930,0},{6628,-17918,0},{6635,-17918,0},{6642,-17918,0}, {6638,-17912,0},{6630,-17908,0},{6625,-17912,0},{6620,-17907,0},{6617,-17897,0}, {6620,-17878,0},{6632,-17865,0},{6637,-17863,0},{6637,-17858,0},{6637,-17857,0}, {6640,-17853,0},{6640,-17850,0},{6630,-17850,0},{6627,-17853,0},{6623,-17852,0}, {6618,-17857,0},{6617,-17855,0},{6612,-17860,0},{6612,-17867,0},{6602,-17870,0}, {6598,-17878,0},{6605,-17898,0},{6593,-17887,0},{6592,-17890,0},{6588,-17887,0}, {6585,-17878,0},{6578,-17868,0},{6578,-17863,0},{6577,-17865,0},{6575,-17862,0}, {6575,-17852,0},{6573,-17847,0},{6563,-17848,0},{6562,-17853,0},{6557,-17852,0}, {6555,-17857,0},{6552,-17855,0},{6548,-17837,0},{6548,-17820,0},{6548,-17770,0}, {6548,-17750,0},{6550,-17740,0},{6558,-17722,0},{6562,-17707,0},{6555,-17657,0}, {6548,-17633,0},{6548,-17618,0},{6548,-17610,0},{6540,-17593,0},{6535,-17593,0}, {6530,-17588,0},{6528,-17592,0},{6517,-17578,0},{6507,-17582,0},{6502,-17592,0}, {6495,-17582,0},{6492,-17563,0},{6488,-17557,0},{6485,-17553,0},{6485,-17542,0}, {6483,-17542,0},{6482,-17552,0},{6478,-17548,0},{6478,-17540,0},{6478,-17513,0}, {6478,-17502,0},{6487,-17502,0},{6485,-17498,0},{6482,-17500,0},{6478,-17485,0}, {6467,-17445,0},{6467,-17428,0},{6465,-17428,0},{6463,-17435,0},{6455,-17412,0}, {6442,-17405,0},{6435,-17368,0},{6435,-17358,0},{6440,-17347,0},{6447,-17337,0}, {6450,-17335,0},{6462,-17342,0},{6458,-17338,0},{6458,-17333,0},{6455,-17335,0}, {6452,-17328,0},{6445,-17332,0},{6445,-17327,0},{6437,-17342,0},{6432,-17343,0}, {6425,-17318,0},{6428,-17300,0},{6432,-17297,0},{6433,-17290,0},{6442,-17290,0}, {6445,-17288,0},{6447,-17292,0},{6447,-17307,0},{6450,-17302,0},{6450,-17295,0}, {6452,-17293,0},{6452,-17283,0},{6450,-17282,0},{6447,-17277,0},{6442,-17280,0}, {6442,-17273,0},{6438,-17263,0},{6440,-17250,0},{6442,-17245,0},{6443,-17228,0}, {6450,-17243,0},{6455,-17247,0},{6457,-17255,0},{6458,-17267,0},{6460,-17273,0}, {6463,-17278,0},{6462,-17288,0},{6458,-17295,0},{6458,-17302,0},{6462,-17295,0}, {6467,-17287,0},{6468,-17290,0},{6467,-17305,0},{6467,-17308,0},{6472,-17297,0}, {6472,-17287,0},{6473,-17287,0},{6477,-17278,0},{6478,-17278,0},{6485,-17297,0}, {6478,-17317,0},{6478,-17320,0},{6482,-17310,0},{6485,-17308,0},{6487,-17305,0}, {6488,-17295,0},{6485,-17280,0},{6487,-17275,0},{6488,-17270,0},{6490,-17260,0}, {6492,-17253,0},{6492,-17250,0},{6492,-17247,0},{6508,-17213,0},{6510,-17213,0}, {6508,-17220,0},{6513,-17225,0},{6513,-17218,0},{6520,-17225,0},{6522,-17230,0}, {6522,-17262,0},{6523,-17268,0},{6525,-17270,0},{6527,-17267,0},{6527,-17262,0}, {6523,-17258,0},{6525,-17253,0},{6527,-17238,0},{6527,-17228,0},{6523,-17225,0}, {6525,-17225,0},{6535,-17225,0},{6550,-17215,0},{6543,-17228,0},{6542,-17240,0}, {6547,-17247,0},{6548,-17233,0},{6553,-17243,0},{6560,-17240,0},{6562,-17267,0}, {6563,-17268,0},{6567,-17267,0},{6567,-17280,0},{6570,-17285,0},{6568,-17280,0}, {6570,-17265,0},{6568,-17262,0},{6568,-17257,0},{6567,-17242,0},{6567,-17235,0}, {6563,-17237,0},{6558,-17228,0},{6555,-17233,0},{6553,-17223,0},{6557,-17212,0}, {6555,-17207,0},{6553,-17203,0},{6553,-17183,0},{6552,-17182,0},{6550,-17193,0}, {6548,-17207,0},{6553,-17140,0},{6548,-17117,0},{6548,-17105,0},{6560,-17102,0}, {6560,-17107,0},{6563,-17113,0},{6567,-17128,0},{6572,-17137,0},{6573,-17132,0}, {6575,-17143,0},{6582,-17148,0},{6583,-17153,0},{6582,-17142,0},{6577,-17127,0}, {6570,-17120,0},{6568,-17108,0},{6565,-17090,0},{6562,-17088,0},{6560,-17068,0}, {6562,-17058,0},{6567,-17053,0},{6573,-17053,0},{6577,-17057,0},{6583,-17052,0}, {6585,-17055,0},{6585,-17062,0},{6602,-17012,0},{6603,-17000,0},{6602,-16993,0}, {6598,-16982,0},{6600,-16978,0},{6607,-16968,0},{6613,-16972,0},{6618,-17003,0}, {6617,-16992,0},{6613,-16993,0},{6617,-17015,0},{6615,-17018,0},{6615,-17023,0}, {6618,-17033,0},{6620,-17030,0},{6618,-17018,0},{6620,-17013,0},{6630,-17032,0}, {6630,-17045,0},{6623,-17055,0},{6623,-17065,0},{6628,-17055,0},{6630,-17057,0}, {6632,-17042,0},{6635,-17058,0},{6645,-17073,0},{6652,-17088,0},{6657,-17110,0}, {6665,-17133,0},{6672,-17143,0},{6675,-17140,0},{6677,-17142,0},{6680,-17160,0}, {6685,-17170,0},{6693,-17168,0},{6695,-17173,0},{6695,-17192,0},{6698,-17195,0}, {6695,-17205,0},{6697,-17233,0},{6702,-17278,0},{6700,-17250,0},{6702,-17262,0}, {6705,-17305,0},{6705,-17307,0},{6703,-17305,0},{6697,-17255,0},{6693,-17243,0}, {6692,-17258,0},{6693,-17265,0},{6690,-17278,0},{6693,-17303,0},{6695,-17308,0}, {6700,-17312,0},{6698,-17322,0},{6695,-17322,0},{6692,-17328,0},{6692,-17320,0}, {6688,-17322,0},{6687,-17315,0},{6683,-17322,0},{6683,-17337,0},{6687,-17337,0}, {6688,-17333,0},{6692,-17337,0},{6692,-17333,0},{6695,-17335,0},{6697,-17335,0}, {6700,-17330,0},{6700,-17322,0},{6702,-17318,0},{6703,-17330,0},{6707,-17330,0}, {6705,-17323,0},{6705,-17313,0},{6708,-17343,0},{6703,-17347,0},{6703,-17352,0}, {6705,-17353,0},{6708,-17350,0},{6710,-17352,0},{6713,-17368,0},{6710,-17375,0}, {6708,-17383,0},{6710,-17438,0},{6708,-17462,0},{6707,-17465,0},{6705,-17462,0}, {6708,-17442,0},{6707,-17443,0},{6705,-17457,0},{6703,-17453,0},{6705,-17428,0}, {6702,-17425,0},{6700,-17432,0},{6698,-17430,0},{6698,-17412,0},{6693,-17408,0}, {6690,-17408,0},{6685,-17402,0},{6670,-17400,0},{6668,-17395,0},{6667,-17398,0}, {6668,-17402,0},{6658,-17430,0},{6655,-17422,0},{6652,-17392,0},{6648,-17388,0}, {6645,-17375,0},{6637,-17378,0},{6635,-17383,0},{6633,-17393,0},{6632,-17385,0}, {6627,-17398,0},{6622,-17402,0},{6625,-17408,0},{6632,-17407,0},{6635,-17398,0}, {6640,-17405,0},{6645,-17398,0},{6648,-17402,0},{6648,-17415,0},{6647,-17420,0}, {6647,-17427,0},{6642,-17422,0},{6640,-17432,0},{6635,-17440,0},{6632,-17435,0}, {6630,-17443,0},{6630,-17447,0},{6633,-17450,0},{6635,-17442,0},{6638,-17450,0}, {6645,-17452,0},{6647,-17448,0},{6645,-17442,0},{6653,-17448,0},{6658,-17465,0}, {6662,-17490,0},{6667,-17500,0},{6668,-17495,0},{6670,-17495,0},{6672,-17488,0}, {6675,-17487,0},{6675,-17477,0},{6673,-17475,0},{6687,-17477,0},{6690,-17480,0}, {6693,-17473,0},{6693,-17480,0},{6698,-17492,0},{6710,-17495,0},{6728,-17490,0}, {6732,-17483,0},{6728,-17480,0},{6730,-17478,0},{6738,-17483,0},{6738,-17487,0}, {6740,-17493,0},{6742,-17495,0},{6742,-17493,0},{6748,-17508,0},{6745,-17505,0}, {6737,-17510,0},{6735,-17520,0},{6735,-17538,0},{6745,-17522,0},{6750,-17522,0}, {6752,-17527,0},{6750,-17513,0},{6753,-17517,0},{6755,-17527,0},{6765,-17537,0}, {6765,-17530,0},{6767,-17530,0},{6768,-17540,0},{6783,-17590,0},{6790,-17615,0}, {6817,-17707,0},{6813,-17717,0},{6815,-17725,0},{6817,-17723,0},{6820,-17727,0}, {6820,-17717,0},{6825,-17737,0},{6822,-17755,0},{6818,-17763,0},{6822,-17762,0}, {6822,-17768,0},{6825,-17777,0},{6828,-17763,0},{6830,-17760,0},{6828,-17747,0}, {6830,-17755,0},{6840,-17783,0},{6855,-17838,0},{6853,-17835,0},{6833,-17770,0}, {6828,-17795,0},{6825,-17797,0},{6825,-17807,0},{6827,-17808,0},{6833,-17795,0}, {6843,-17803,0},{6848,-17825,0},{6848,-17838,0},{6850,-17843,0},{6853,-17873,0}, {6867,-17875,0},{6860,-17857,0},{6858,-17848,0},{6877,-17892,0},{6878,-17917,0}, {6882,-17922,0},{6882,-17940,0},{6885,-17942,0},{6885,-17935,0},{6887,-17933,0}, {6890,-17943,0},{6895,-17952,0},{6895,-17955,0},{6892,-17952,0},{6890,-17958,0}, {6892,-17977,0},{6898,18000,128},{6898,17975,0},{6902,17967,0},{6907,17965,0}, {6908,17958,0},{6912,17957,0},{6900,17983,0},{6900,17995,0},{6922,17935,0}, {6927,17928,0},{6930,17907,0},{6928,17900,0},{6930,17888,0},{6928,17872,0}, {6930,17867,0},{6938,17867,0},{6937,17868,0},{6935,17885,0},{6932,17888,0}, {6932,17907,0},{6935,17900,0},{6947,17848,0},{6948,17833,0},{6947,17825,0}, {6947,17830,0},{6943,17823,0},{6947,17808,0},{6950,17790,0},{6953,17773,0}, {6953,17765,0},{6955,17760,0},{6955,17768,0},{6960,17745,0},{6963,17703,0}, {6967,17673,0},{6975,17650,0},{6978,17623,0},{6980,17628,0},{6988,17612,0}, {6988,17583,0},{6990,17572,0},{6988,17552,0},{6985,17543,0},{6985,17530,0}, {6985,17515,0},{6987,17515,0},{6988,17538,0},{6985,17505,0},{6987,17445,0}, {6988,17432,0},{6988,17403,0},{6985,17390,0},{6988,17377,0},{6983,17375,0}, {6987,17368,0},{6988,17370,0},{6995,17347,0},{6993,17322,0},{6990,17317,0}, {6988,17317,0},{6990,17320,0},{6992,17327,0},{6987,17340,0},{6985,17347,0}, {6982,17347,0},{6978,17337,0},{6978,17322,0},{6978,17317,0},{6982,17322,0}, {6985,17317,0},{6987,17303,0},{6990,17283,0},{6998,17273,0},{6997,17250,0}, {6998,17215,0},{7000,17193,0},{7007,17138,0},{7010,17080,0},{7013,17047,0}, {7012,17040,0},{7010,17053,0},{7007,17057,0},{6993,17052,0},{6988,17057,0}, {6980,17055,0},{6978,17057,0},{6975,17050,0},{6973,17028,0},{6967,17015,0}, {6962,17012,0},{6960,17017,0},{6958,17025,0},{6960,17047,0},{6960,17058,0}, {6953,17067,0},{6947,17068,0},{6945,17073,0},{6938,17075,0},{6930,17092,0}, {6923,17093,0},{6917,17088,0},{6915,17097,0},{6905,17103,0},{6903,17117,0}, {6902,17105,0},{6905,17098,0},{6903,17095,0},{6898,17090,0},{6893,17068,0}, {6883,17073,0},{6880,17070,0},{6892,17067,0},{6887,17045,0},{6883,17043,0}, {6882,17057,0},{6880,17053,0},{6875,17062,0},{6880,17050,0},{6882,17035,0}, {6878,16978,0},{6878,16958,0},{6883,16945,0},{6898,16943,0},{6908,16937,0}, {6910,16925,0},{6910,16913,0},{6920,16873,0},{6922,16842,0},{6923,16828,0}, {6928,16823,0},{6938,16820,0},{6955,16825,0},{6965,16792,0},{6972,16807,0}, {6972,16792,0},{6978,16778,0},{6975,16765,0},{6957,16717,0},{6948,16687,0}, {6950,16668,0},{6952,16670,0},{6952,16665,0},{6952,16613,0},{6957,16583,0}, {6958,16563,0},{6958,16475,0},{6960,16453,0},{6963,16438,0},{6972,16415,0}, {6975,16410,0},{6977,16402,0},{6970,16375,0},{6968,16360,0},{6972,16322,0}, {6965,16283,0},{6965,16272,0},{6968,16260,0},{6967,16243,0},{3862,12837,128}, {3868,12837,0},{3875,12828,0},{3872,12820,0},{3875,12818,0},{3882,12812,0}, {3887,12800,0},{3892,12797,0},{3893,12792,0},{3897,12792,0},{3897,12788,0}, {3898,12785,0},{3912,12777,0},{3912,12765,0},{3915,12762,0},{3913,12753,0}, {3920,12748,0},{3917,12747,0},{3917,12745,0},{3922,12738,0},{3925,12737,0}, {3930,12740,0},{3933,12738,0},{3933,12742,0},{3935,12747,0},{3937,12745,0}, {3935,12742,0},{3937,12737,0},{3940,12742,0},{3938,12743,0},{3942,12745,0}, {3943,12748,0},{3942,12752,0},{3937,12753,0},{3932,12752,0},{3930,12753,0}, {3930,12757,0},{3950,12753,0},{3960,12758,0},{3963,12755,0},{3965,12750,0}, {3972,12750,0},{3978,12757,0},{3982,12762,0},{3980,12767,0},{3982,12768,0}, {3985,12772,0},{3985,12778,0},{3987,12780,0},{3988,12778,0},{3988,12787,0}, {3997,12790,0},{3997,12793,0},{4002,12800,0},{4003,12800,0},{4003,12813,0}, {4002,12815,0},{4003,12823,0},{4007,12825,0},{4005,12828,0},{4002,12832,0}, {4003,12833,0},{4008,12838,0},{4013,12852,0},{4017,12860,0},{4018,12865,0}, {4022,12868,0},{4027,12863,0},{4030,12865,0},{4037,12888,0},{4045,12898,0}, {4047,12910,0},{4055,12917,0},{4068,12922,0},{4070,12927,0},{4067,12930,0}, {4068,12932,0},{4073,12935,0},{4078,12948,0},{4078,12953,0},{4082,12957,0}, {4083,12972,0},{4093,12975,0},{4098,12972,0},{4118,12972,0},{4125,12975,0}, {4128,12975,0},{4137,12980,0},{4143,12970,0},{4148,12967,0},{4155,12967,0}, {4165,12970,0},{4167,12973,0},{4175,12978,0},{4177,12985,0},{4180,12988,0}, {4187,12988,0},{4190,12990,0},{4188,12997,0},{4195,12998,0},{4197,13000,0}, {4198,12998,0},{4200,13000,0},{4200,13003,0},{4205,13005,0},{4205,13008,0}, {4207,13010,0},{4207,13017,0},{4208,13017,0},{4210,13020,0},{4217,13022,0}, {4222,13030,0},{4218,13030,0},{4218,13033,0},{4223,13037,0},{4225,13040,0}, {4227,13038,0},{4232,13040,0},{4230,13043,0},{4232,13048,0},{4230,13058,0}, {4228,13060,0},{4225,13060,0},{4228,13070,0},{3783,12670,128},{3777,12668,0}, {3773,12670,0},{3768,12668,0},{3763,12675,0},{3767,12667,0},{3773,12667,0}, {3777,12665,0},{3775,12660,0},{3777,12653,0},{3765,12655,0},{3762,12658,0}, {3760,12662,0},{3758,12665,0},{3752,12665,0},{3748,12667,0},{3748,12663,0}, {3747,12663,0},{3740,12667,0},{3738,12675,0},{3735,12675,0},{3733,12670,0}, {3733,12675,0},{3730,12677,0},{3730,12680,0},{3730,12685,0},{3727,12687,0}, {3728,12682,0},{3727,12680,0},{3722,12678,0},{3725,12677,0},{3727,12670,0}, {3725,12667,0},{3722,12668,0},{3722,12672,0},{3718,12667,0},{3715,12667,0}, {3715,12670,0},{3713,12668,0},{3712,12670,0},{3718,12680,0},{3717,12680,0}, {3718,12687,0},{3715,12687,0},{3713,12687,0},{3712,12678,0},{3708,12677,0}, {3707,12678,0},{3705,12675,0},{3703,12680,0},{3705,12683,0},{3703,12685,0}, {3705,12687,0},{3710,12688,0},{3705,12688,0},{3703,12692,0},{3702,12692,0}, {3702,12687,0},{3700,12688,0},{3700,12682,0},{3692,12690,0},{3693,12698,0}, {3698,12698,0},{3698,12703,0},{3698,12705,0},{3697,12698,0},{3692,12700,0}, {3687,12687,0},{3685,12687,0},{3682,12690,0},{3683,12687,0},{3682,12687,0}, {3680,12687,0},{3675,12685,0},{3677,12683,0},{3680,12685,0},{3683,12683,0}, {3690,12683,0},{3692,12682,0},{3688,12678,0},{3693,12680,0},{3697,12678,0}, {3697,12675,0},{3693,12672,0},{3697,12672,0},{3698,12670,0},{3697,12668,0}, {3695,12665,0},{3692,12663,0},{3697,12662,0},{3702,12657,0},{3705,12652,0}, {3705,12650,0},{3703,12653,0},{3700,12653,0},{3698,12657,0},{3697,12658,0}, {3697,12653,0},{3700,12650,0},{3700,12648,0},{3695,12655,0},{3690,12658,0}, {3695,12652,0},{3690,12650,0},{3683,12648,0},{3690,12645,0},{3693,12648,0}, {3695,12645,0},{3695,12643,0},{3698,12645,0},{3700,12643,0},{3700,12638,0}, {3698,12640,0},{3700,12637,0},{3698,12633,0},{3697,12638,0},{3697,12637,0}, {3697,12635,0},{3695,12635,0},{3692,12642,0},{3690,12642,0},{3687,12638,0}, {3685,12640,0},{3683,12637,0},{3685,12633,0},{3683,12633,0},{3678,12635,0}, {3680,12632,0},{3678,12628,0},{3680,12628,0},{3683,12632,0},{3685,12630,0}, {3688,12632,0},{3697,12630,0},{3695,12628,0},{3687,12628,0},{3687,12623,0}, {3690,12623,0},{3688,12620,0},{3688,12618,0},{3685,12622,0},{3682,12620,0}, {3680,12623,0},{3680,12620,0},{3677,12620,0},{3678,12618,0},{3680,12617,0}, {3677,12612,0},{3670,12613,0},{3672,12615,0},{3675,12615,0},{3675,12620,0}, {3673,12618,0},{3673,12620,0},{3670,12622,0},{3670,12617,0},{3667,12617,0}, {3668,12623,0},{3672,12627,0},{3668,12628,0},{3668,12627,0},{3663,12630,0}, {3658,12630,0},{3662,12635,0},{3662,12633,0},{3665,12633,0},{3670,12630,0}, {3670,12633,0},{3673,12635,0},{3670,12638,0},{3663,12638,0},{3665,12642,0}, {3670,12643,0},{3672,12643,0},{3672,12645,0},{3675,12647,0},{3672,12650,0}, {3668,12648,0},{3667,12652,0},{3665,12650,0},{3663,12652,0},{3660,12653,0}, {3658,12647,0},{3657,12647,0},{3653,12647,0},{3653,12652,0},{3650,12648,0}, {3645,12648,0},{3643,12652,0},{3647,12657,0},{3647,12662,0},{3642,12650,0}, {3640,12652,0},{3640,12650,0},{3637,12652,0},{3637,12657,0},{3635,12658,0}, {3632,12652,0},{3630,12653,0},{3630,12658,0},{3622,12653,0},{3620,12655,0}, {3620,12658,0},{3617,12660,0},{3615,12652,0},{3612,12650,0},{3613,12652,0}, {3612,12660,0},{3610,12662,0},{3608,12665,0},{3607,12663,0},{3600,12668,0}, {3600,12673,0},{3603,12677,0},{3605,12687,0},{3603,12685,0},{3602,12677,0}, {3598,12675,0},{3597,12663,0},{3593,12662,0},{3588,12662,0},{3590,12665,0}, {3588,12673,0},{3590,12683,0},{3587,12680,0},{3587,12673,0},{3585,12670,0}, {3580,12678,0},{3577,12678,0},{3578,12675,0},{3577,12670,0},{3572,12668,0}, {3575,12667,0},{3575,12665,0},{3563,12647,0},{3562,12647,0},{3558,12650,0}, {3558,12667,0},{3553,12668,0},{3555,12665,0},{3553,12662,0},{3553,12653,0}, {3552,12650,0},{3540,12642,0},{3533,12645,0},{3537,12642,0},{3533,12638,0}, {3528,12638,0},{3525,12635,0},{3525,12638,0},{3525,12632,0},{3523,12632,0}, {3523,12637,0},{3522,12637,0},{3520,12638,0},{3518,12637,0},{3512,12642,0}, {3508,12647,0},{3502,12643,0},{3503,12640,0},{3507,12640,0},{3507,12637,0}, {3510,12633,0},{3513,12635,0},{3515,12635,0},{3512,12632,0},{3513,12628,0}, {3512,12625,0},{3508,12628,0},{3505,12627,0},{3505,12630,0},{3505,12632,0}, {3508,12630,0},{3503,12637,0},{3500,12638,0},{3498,12633,0},{3497,12635,0}, {3497,12630,0},{3495,12632,0},{3493,12632,0},{3492,12635,0},{3493,12637,0}, {3497,12637,0},{3498,12640,0},{3497,12643,0},{3495,12640,0},{3490,12640,0}, {3488,12642,0},{3487,12640,0},{3485,12642,0},{3480,12637,0},{3478,12638,0}, {3482,12648,0},{3478,12650,0},{3478,12652,0},{3485,12655,0},{3488,12653,0}, {3490,12658,0},{3488,12658,0},{3485,12657,0},{3482,12658,0},{3482,12667,0}, {3480,12663,0},{3478,12663,0},{3480,12655,0},{3477,12653,0},{3475,12653,0}, {3477,12648,0},{3475,12645,0},{3477,12640,0},{3473,12637,0},{3472,12638,0}, {3473,12642,0},{3472,12650,0},{3463,12658,0},{3462,12662,0},{3463,12653,0}, {3462,12653,0},{3462,12652,0},{3465,12645,0},{3468,12645,0},{3470,12640,0}, {3465,12638,0},{3465,12642,0},{3462,12643,0},{3460,12648,0},{3458,12645,0}, {3460,12638,0},{3462,12637,0},{3465,12635,0},{3470,12635,0},{3475,12630,0}, {3468,12627,0},{3463,12628,0},{3462,12632,0},{3460,12632,0},{3460,12630,0}, {3458,12628,0},{3457,12632,0},{3458,12635,0},{3455,12637,0},{3455,12638,0}, {3453,12640,0},{3455,12642,0},{3453,12645,0},{3455,12647,0},{3457,12653,0}, {3455,12653,0},{3453,12652,0},{3450,12653,0},{3450,12648,0},{3448,12647,0}, {3447,12648,0},{3443,12648,0},{3442,12652,0},{3438,12648,0},{3435,12648,0}, {3433,12652,0},{3428,12652,0},{3430,12657,0},{3430,12660,0},{3440,12663,0}, {3442,12668,0},{3443,12668,0},{3443,12673,0},{3445,12670,0},{3448,12677,0}, {3452,12673,0},{3452,12677,0},{3455,12675,0},{3458,12677,0},{3457,12680,0}, {3445,12682,0},{3442,12688,0},{3445,12690,0},{3445,12695,0},{3450,12693,0}, {3453,12698,0},{3462,12700,0},{3465,12710,0},{3468,12713,0},{3468,12720,0}, {3477,12725,0},{3472,12730,0},{3473,12733,0},{3470,12735,0},{3465,12733,0}, {3465,12730,0},{3470,12728,0},{3468,12727,0},{3467,12723,0},{3462,12727,0}, {3457,12725,0},{3457,12720,0},{3463,12720,0},{3458,12718,0},{3457,12713,0}, {3453,12712,0},{3452,12713,0},{3452,12717,0},{3453,12722,0},{3453,12723,0}, {3452,12725,0},{3448,12728,0},{3443,12732,0},{3443,12733,0},{3447,12733,0}, {3447,12738,0},{3453,12743,0},{3453,12737,0},{3458,12733,0},{3460,12738,0}, {3457,12748,0},{3458,12752,0},{3462,12750,0},{3463,12745,0},{3463,12748,0}, {3470,12738,0},{3475,12740,0},{3475,12737,0},{3477,12735,0},{3477,12740,0}, {3480,12742,0},{3482,12737,0},{3483,12748,0},{3487,12750,0},{3488,12752,0}, {3482,12753,0},{3480,12753,0},{3480,12755,0},{3475,12758,0},{3470,12755,0}, {3465,12755,0},{3462,12763,0},{3470,12763,0},{3473,12765,0},{3472,12770,0}, {3472,12775,0},{3482,12777,0},{3485,12777,0},{3483,12775,0},{3483,12772,0}, {3482,12767,0},{3482,12763,0},{3488,12758,0},{3492,12757,0},{3493,12760,0}, {3490,12765,0},{3493,12772,0},{3498,12772,0},{3495,12773,0},{3493,12787,0}, {3497,12792,0},{3502,12793,0},{3498,12795,0},{3498,12798,0},{3498,12802,0}, {3503,12800,0},{3503,12803,0},{3508,12807,0},{3503,12805,0},{3497,12807,0}, {3495,12805,0},{3492,12807,0},{3492,12812,0},{3488,12813,0},{3490,12815,0}, {3488,12820,0},{3492,12820,0},{3493,12823,0},{3493,12827,0},{3490,12828,0}, {3495,12833,0},{3490,12835,0},{3490,12832,0},{3488,12832,0},{3487,12842,0}, {3485,12840,0},{3483,12842,0},{3483,12845,0},{3488,12847,0},{3490,12845,0}, {3488,12845,0},{3488,12843,0},{3497,12845,0},{3498,12842,0},{3500,12848,0}, {3500,12850,0},{3505,12848,0},{3500,12838,0},{3503,12838,0},{3507,12848,0}, {3510,12847,0},{3510,12850,0},{3510,12858,0},{3505,12860,0},{3505,12865,0}, {3517,12857,0},{3522,12860,0},{3520,12862,0},{3513,12862,0},{3515,12863,0}, {3513,12865,0},{3512,12867,0},{3513,12868,0},{3513,12870,0},{3510,12870,0}, {3510,12880,0},{3508,12880,0},{3510,12888,0},{3512,12890,0},{3510,12892,0}, {3510,12893,0},{3513,12898,0},{3503,12897,0},{3503,12900,0},{3507,12900,0}, {3505,12903,0},{3507,12903,0},{3512,12907,0},{3510,12912,0},{3512,12913,0}, {3513,12912,0},{3515,12915,0},{3515,12918,0},{3518,12923,0},{3530,12928,0}, {3535,12937,0},{3538,12935,0},{3542,12937,0},{3545,12935,0},{3547,12938,0}, {3553,12937,0},{3552,12940,0},{3547,12942,0},{3548,12943,0},{3558,12948,0}, {3563,12947,0},{3585,12955,0},{3592,12953,0},{3602,12958,0},{3608,12955,0}, {3600,12945,0},{3600,12942,0},{3603,12938,0},{3608,12943,0},{3620,12938,0}, {3632,12938,0},{3640,12943,0},{3650,12945,0},{3662,12942,0},{3667,12943,0}, {3668,12947,0},{3672,12947,0},{3677,12948,0},{3687,12943,0},{3695,12942,0}, {3702,12942,0},{3707,12943,0},{3715,12935,0},{3725,12935,0},{3732,12928,0}, {3747,12918,0},{3752,12913,0},{3757,12913,0},{3762,12907,0},{3767,12907,0}, {3787,12885,0},{3802,12873,0},{3813,12863,0},{3830,12855,0},{3862,12837,0}, {4010,12437,128},{4005,12438,0},{4002,12450,0},{4002,12447,0},{4002,12443,0}, {4002,12438,0},{3993,12437,0},{3992,12432,0},{3987,12437,0},{3987,12440,0}, {3982,12442,0},{3982,12457,0},{3978,12457,0},{3977,12458,0},{3972,12458,0}, {3968,12465,0},{3962,12462,0},{3960,12462,0},{3963,12470,0},{3963,12475,0}, {3968,12475,0},{3970,12473,0},{3973,12475,0},{3977,12473,0},{3978,12475,0}, {3972,12480,0},{3972,12485,0},{3970,12488,0},{3965,12492,0},{3965,12493,0}, {3967,12495,0},{3963,12497,0},{3963,12500,0},{3960,12505,0},{3960,12510,0}, {3955,12512,0},{3957,12517,0},{3958,12517,0},{3958,12522,0},{3957,12522,0}, {3957,12523,0},{3952,12528,0},{3958,12545,0},{3955,12545,0},{3953,12540,0}, {3948,12538,0},{3945,12533,0},{3943,12535,0},{3943,12538,0},{3940,12535,0}, {3940,12537,0},{3938,12545,0},{3937,12543,0},{3937,12540,0},{3935,12542,0}, {3932,12542,0},{3930,12545,0},{3923,12538,0},{3922,12542,0},{3922,12537,0}, {3918,12533,0},{3917,12533,0},{3915,12528,0},{3912,12528,0},{3908,12533,0}, {3907,12527,0},{3900,12522,0},{3898,12523,0},{3893,12518,0},{3892,12520,0}, {3888,12515,0},{3880,12513,0},{3878,12515,0},{3878,12520,0},{3873,12522,0}, {3880,12523,0},{3878,12523,0},{3875,12527,0},{3872,12523,0},{3870,12528,0}, {3870,12530,0},{3873,12530,0},{3870,12533,0},{3873,12537,0},{3870,12537,0}, {3872,12542,0},{3873,12543,0},{3875,12542,0},{3878,12545,0},{3872,12548,0}, {3870,12553,0},{3865,12560,0},{3865,12563,0},{3863,12565,0},{3863,12560,0}, {3868,12555,0},{3865,12552,0},{3868,12552,0},{3870,12545,0},{3868,12543,0}, {3867,12533,0},{3865,12532,0},{3867,12527,0},{3865,12522,0},{3867,12520,0}, {3862,12518,0},{3867,12512,0},{3865,12512,0},{3862,12513,0},{3858,12513,0}, {3857,12510,0},{3855,12508,0},{3855,12505,0},{3858,12507,0},{3858,12500,0}, {3853,12498,0},{3850,12502,0},{3843,12498,0},{3847,12495,0},{3833,12487,0}, {3825,12487,0},{3822,12492,0},{3823,12497,0},{3822,12498,0},{3818,12493,0}, {3822,12490,0},{3823,12487,0},{3822,12485,0},{3818,12482,0},{3818,12478,0}, {3813,12473,0},{3813,12467,0},{3812,12467,0},{3810,12478,0},{3810,12487,0}, {3813,12488,0},{3812,12492,0},{3808,12495,0},{3807,12502,0},{3808,12513,0}, {3807,12527,0},{3802,12525,0},{3802,12522,0},{3805,12520,0},{3803,12510,0}, {3798,12510,0},{3798,12515,0},{3798,12518,0},{3797,12517,0},{3797,12510,0}, {3797,12507,0},{3795,12500,0},{3792,12498,0},{3793,12502,0},{3790,12502,0}, {3787,12517,0},{3788,12522,0},{3793,12523,0},{3793,12525,0},{3790,12525,0}, {3790,12528,0},{3788,12532,0},{3782,12523,0},{3782,12530,0},{3780,12532,0}, {3785,12538,0},{3785,12535,0},{3787,12537,0},{3785,12545,0},{3787,12543,0}, {3788,12538,0},{3788,12543,0},{3792,12545,0},{3790,12547,0},{3788,12552,0}, {3785,12548,0},{3783,12548,0},{3783,12553,0},{3782,12552,0},{3780,12550,0}, {3782,12548,0},{3782,12543,0},{3780,12538,0},{3778,12538,0},{3777,12538,0}, {3777,12545,0},{3775,12540,0},{3775,12537,0},{3772,12533,0},{3767,12535,0}, {3772,12538,0},{3772,12547,0},{3780,12552,0},{3777,12553,0},{3778,12555,0}, {3778,12558,0},{3777,12558,0},{3775,12562,0},{3778,12562,0},{3780,12562,0}, {3782,12565,0},{3783,12563,0},{3785,12563,0},{3792,12563,0},{3788,12567,0}, {3792,12573,0},{3792,12570,0},{3795,12572,0},{3795,12568,0},{3798,12568,0}, {3797,12565,0},{3798,12562,0},{3798,12560,0},{3802,12557,0},{3803,12558,0}, {3802,12567,0},{3800,12570,0},{3798,12580,0},{3795,12580,0},{3793,12583,0}, {3783,12592,0},{3782,12598,0},{3783,12598,0},{3787,12597,0},{3788,12595,0}, {3790,12597,0},{3790,12598,0},{3785,12602,0},{3787,12605,0},{3780,12605,0}, {3778,12610,0},{3775,12610,0},{3773,12613,0},{3773,12615,0},{3777,12617,0}, {3782,12615,0},{3785,12622,0},{3783,12625,0},{3788,12638,0},{3788,12640,0}, {3785,12643,0},{3777,12658,0},{3778,12665,0},{3782,12667,0},{3783,12670,0}, {3998,11987,128},{4003,11995,0},{4013,12023,0},{4018,12032,0},{4020,12045,0}, {4025,12050,0},{4030,12050,0},{4035,12060,0},{4037,12058,0},{4037,12053,0}, {4040,12055,0},{4042,12060,0},{4045,12060,0},{4047,12062,0},{4047,12067,0}, {4052,12068,0},{4060,12080,0},{4067,12083,0},{4068,12093,0},{4070,12098,0}, {4072,12103,0},{4073,12100,0},{4073,12093,0},{4077,12093,0},{4078,12097,0}, {4082,12097,0},{4083,12100,0},{4082,12108,0},{4087,12108,0},{4087,12112,0}, {4093,12118,0},{4090,12125,0},{4092,12127,0},{4090,12128,0},{4093,12135,0}, {4093,12138,0},{4092,12143,0},{4088,12145,0},{4090,12148,0},{4088,12152,0}, {4083,12155,0},{4083,12160,0},{4085,12175,0},{4088,12178,0},{4095,12180,0}, {4098,12187,0},{4093,12183,0},{4082,12187,0},{4078,12192,0},{4075,12205,0}, {4068,12212,0},{4070,12215,0},{4060,12215,0},{4057,12225,0},{4050,12230,0}, {4043,12225,0},{4042,12220,0},{4038,12222,0},{4035,12218,0},{4030,12212,0}, {4023,12210,0},{4018,12202,0},{4018,12198,0},{4013,12200,0},{4010,12193,0}, {4003,12188,0},{4002,12183,0},{4002,12188,0},{4000,12188,0},{3995,12180,0}, {3992,12177,0},{3993,12170,0},{3992,12167,0},{3987,12160,0},{3987,12155,0}, {3982,12147,0},{3978,12148,0},{3973,12145,0},{3968,12150,0},{3968,12155,0}, {3965,12153,0},{3962,12153,0},{3965,12147,0},{3963,12147,0},{3960,12142,0}, {3960,12132,0},{3953,12123,0},{3952,12122,0},{3952,12128,0},{3950,12130,0}, {3952,12135,0},{3952,12143,0},{3938,12148,0},{3937,12153,0},{3937,12172,0}, {3938,12170,0},{3940,12172,0},{3938,12185,0},{3940,12192,0},{3942,12192,0}, {3940,12193,0},{3937,12187,0},{3937,12178,0},{3933,12173,0},{3930,12173,0}, {3927,12168,0},{3925,12160,0},{3923,12163,0},{3922,12160,0},{3918,12158,0}, {3917,12162,0},{3918,12163,0},{3912,12168,0},{3908,12167,0},{3902,12145,0}, {3902,12142,0},{3905,12137,0},{3900,12132,0},{3898,12135,0},{3897,12133,0}, {3897,12128,0},{3893,12123,0},{3895,12118,0},{3895,12113,0},{3892,12110,0}, {3890,12108,0},{3890,12115,0},{3885,12112,0},{3883,12112,0},{3878,12113,0}, {3877,12112,0},{3873,12113,0},{3872,12118,0},{3877,12123,0},{3878,12122,0}, {3880,12123,0},{3878,12130,0},{3880,12132,0},{3882,12135,0},{3880,12148,0}, {3887,12158,0},{3887,12170,0},{3890,12172,0},{3892,12167,0},{3893,12158,0}, {3895,12165,0},{3898,12167,0},{3900,12163,0},{3902,12167,0},{3900,12173,0}, {3902,12172,0},{3903,12173,0},{3902,12177,0},{3897,12180,0},{3895,12183,0}, {3895,12187,0},{3898,12190,0},{3903,12183,0},{3903,12187,0},{3900,12192,0}, {3905,12188,0},{3903,12197,0},{3907,12200,0},{3907,12205,0},{3910,12205,0}, {3915,12217,0},{3917,12210,0},{3920,12212,0},{3927,12223,0},{3932,12225,0}, {3932,12227,0},{3935,12230,0},{3942,12240,0},{3942,12247,0},{3945,12255,0}, {3948,12255,0},{3947,12258,0},{3948,12262,0},{3953,12265,0},{3952,12268,0}, {3955,12272,0},{3955,12277,0},{3962,12285,0},{3962,12293,0},{3962,12295,0}, {3962,12297,0},{3963,12300,0},{3967,12297,0},{3968,12302,0},{3967,12305,0}, {3968,12308,0},{3970,12310,0},{3968,12312,0},{3965,12315,0},{3967,12322,0}, {3968,12322,0},{3970,12327,0},{3972,12325,0},{3972,12322,0},{3973,12320,0}, {3975,12322,0},{3975,12327,0},{3982,12323,0},{3980,12325,0},{3980,12328,0}, {3978,12332,0},{3978,12338,0},{3982,12340,0},{3982,12342,0},{3973,12340,0}, {3973,12342,0},{3973,12347,0},{3978,12348,0},{3978,12355,0},{3977,12357,0}, {3978,12360,0},{3982,12360,0},{3992,12365,0},{3987,12365,0},{3983,12370,0}, {3982,12390,0},{3983,12393,0},{3983,12395,0},{3982,12398,0},{3985,12408,0}, {3983,12413,0},{3992,12425,0},{3993,12428,0},{3997,12430,0},{3998,12435,0}, {4002,12437,0},{4007,12435,0},{4010,12437,0},{3828,11778,128},{3835,11772,0}, {3843,11765,0},{3860,11755,0},{3868,11753,0},{3880,11758,0},{3895,11770,0}, {3898,11770,0},{3898,11775,0},{3902,11773,0},{3907,11773,0},{3910,11772,0}, {3912,11775,0},{3915,11780,0},{3920,11788,0},{3922,11805,0},{3918,11817,0}, {3912,11823,0},{3907,11825,0},{3907,11830,0},{3903,11832,0},{3912,11850,0}, {3917,11853,0},{3918,11860,0},{3918,11867,0},{3918,11868,0},{3915,11870,0}, {3915,11875,0},{3918,11883,0},{3922,11887,0},{3918,11887,0},{3918,11888,0}, {3917,11888,0},{3918,11897,0},{3912,11888,0},{3913,11892,0},{3923,11907,0}, {3927,11905,0},{3930,11912,0},{3933,11913,0},{3940,11925,0},{3942,11927,0}, {3945,11923,0},{3957,11927,0},{3953,11923,0},{3957,11925,0},{3955,11922,0}, {3957,11920,0},{3960,11925,0},{3958,11928,0},{3972,11935,0},{3978,11945,0}, {3980,11952,0},{3987,11952,0},{3990,11958,0},{3995,11977,0},{3997,11980,0}, {3998,11987,0},{3507,11928,128},{3512,11937,0},{3522,11938,0},{3532,11943,0}, {3533,11952,0},{3558,11965,0},{3562,11973,0},{3562,11975,0},{3557,11975,0}, {3558,11977,0},{3565,11983,0},{3562,11983,0},{3560,11985,0},{3562,11990,0}, {3568,11990,0},{3570,11993,0},{3573,11990,0},{3575,11992,0},{3575,11995,0}, {3572,11998,0},{3575,12002,0},{3582,12002,0},{3587,12005,0},{3590,12010,0}, {3590,12013,0},{3593,12018,0},{3588,12017,0},{3593,12022,0},{3597,12030,0}, {3598,12030,0},{3602,12028,0},{3597,12023,0},{3600,12023,0},{3598,12018,0}, {3607,12017,0},{3612,12008,0},{3613,12008,0},{3618,12012,0},{3620,12008,0}, {3622,12008,0},{3622,12012,0},{3620,12013,0},{3622,12022,0},{3620,12022,0}, {3617,12027,0},{3618,12030,0},{3620,12028,0},{3622,12028,0},{3627,12028,0}, {3627,12030,0},{3622,12032,0},{3622,12035,0},{3617,12035,0},{3610,12030,0}, {3608,12032,0},{3607,12028,0},{3603,12035,0},{3605,12043,0},{3608,12047,0}, {3608,12053,0},{3612,12057,0},{3610,12058,0},{3612,12063,0},{3613,12068,0}, {3622,12068,0},{3632,12063,0},{3633,12067,0},{3632,12070,0},{3632,12072,0}, {3637,12068,0},{3642,12070,0},{3647,12077,0},{3647,12078,0},{3645,12083,0}, {3642,12085,0},{3638,12085,0},{3637,12087,0},{3642,12090,0},{3645,12090,0}, {3645,12095,0},{3650,12093,0},{3653,12097,0},{3653,12092,0},{3655,12092,0}, {3657,12088,0},{3660,12085,0},{3658,12082,0},{3653,12078,0},{3653,12075,0}, {3657,12073,0},{3658,12075,0},{3662,12075,0},{3665,12083,0},{3662,12093,0}, {3660,12093,0},{3658,12095,0},{3658,12103,0},{3663,12103,0},{3660,12105,0}, {3662,12108,0},{3668,12120,0},{3672,12133,0},{3670,12140,0},{3672,12137,0}, {3675,12138,0},{3675,12145,0},{3678,12147,0},{3683,12145,0},{3682,12148,0}, {3680,12150,0},{3683,12155,0},{3683,12162,0},{3683,12160,0},{3678,12155,0}, {3678,12150,0},{3677,12148,0},{3675,12153,0},{3677,12155,0},{3675,12157,0}, {3677,12158,0},{3673,12162,0},{3682,12162,0},{3683,12167,0},{3683,12168,0}, {3682,12165,0},{3683,12172,0},{3688,12178,0},{3693,12193,0},{3693,12195,0}, {3697,12192,0},{3698,12192,0},{3700,12195,0},{3697,12200,0},{3698,12205,0}, {3695,12203,0},{3690,12203,0},{3692,12208,0},{3695,12210,0},{3693,12213,0}, {3700,12215,0},{3700,12218,0},{3693,12217,0},{3690,12227,0},{3688,12218,0}, {3683,12220,0},{3682,12232,0},{3683,12237,0},{3685,12238,0},{3685,12242,0}, {3688,12243,0},{3690,12240,0},{3692,12240,0},{3693,12252,0},{3692,12252,0}, {3690,12250,0},{3692,12253,0},{3702,12253,0},{3702,12243,0},{3700,12242,0}, {3703,12240,0},{3707,12245,0},{3710,12243,0},{3715,12245,0},{3715,12247,0}, {3710,12247,0},{3715,12248,0},{3715,12258,0},{3718,12257,0},{3718,12262,0}, {3727,12255,0},{3732,12255,0},{3730,12258,0},{3732,12258,0},{3735,12257,0}, {3737,12263,0},{3737,12268,0},{3740,12270,0},{3742,12268,0},{3742,12262,0}, {3740,12257,0},{3740,12253,0},{3742,12247,0},{3742,12242,0},{3742,12232,0}, {3742,12228,0},{3745,12227,0},{3745,12223,0},{3742,12218,0},{3742,12217,0}, {3748,12212,0},{3752,12215,0},{3755,12213,0},{3755,12212,0},{3755,12208,0}, {3757,12207,0},{3753,12207,0},{3753,12202,0},{3747,12198,0},{3742,12200,0}, {3742,12195,0},{3745,12195,0},{3747,12193,0},{3747,12168,0},{3748,12163,0}, {3745,12158,0},{3747,12163,0},{3745,12165,0},{3743,12167,0},{3742,12157,0}, {3745,12153,0},{3747,12148,0},{3752,12145,0},{3755,12138,0},{3758,12138,0}, {3758,12143,0},{3763,12137,0},{3763,12135,0},{3760,12137,0},{3758,12135,0}, {3757,12122,0},{3758,12115,0},{3763,12113,0},{3765,12113,0},{3770,12115,0}, {3772,12102,0},{3773,12100,0},{3778,12093,0},{3782,12093,0},{3783,12087,0}, {3782,12083,0},{3783,12073,0},{3778,12065,0},{3778,12062,0},{3775,12055,0}, {3773,12043,0},{3768,12037,0},{3768,12022,0},{3765,12032,0},{3760,12030,0}, {3750,12018,0},{3743,12007,0},{3737,11985,0},{3733,11985,0},{3727,11990,0}, {3725,11988,0},{3715,11975,0},{3712,11940,0},{3715,11923,0},{3722,11905,0}, {3727,11902,0},{3727,11897,0},{3735,11893,0},{3760,11897,0},{3767,11903,0}, {3767,11907,0},{3772,11910,0},{3778,11903,0},{3782,11902,0},{3788,11903,0}, {3803,11895,0},{3805,11892,0},{3805,11887,0},{3808,11883,0},{3815,11885,0}, {3813,11862,0},{3810,11858,0},{3807,11855,0},{3812,11843,0},{3813,11835,0}, {3812,11832,0},{3815,11818,0},{3815,11812,0},{3813,11808,0},{3815,11807,0}, {3815,11803,0},{3818,11802,0},{3818,11797,0},{3825,11790,0},{3825,11783,0}, {3828,11778,0},{2722,12043,128},{2722,12047,0},{2718,12047,0},{2717,12047,0}, {2720,12052,0},{2722,12050,0},{2723,12053,0},{2727,12052,0},{2728,12053,0}, {2732,12055,0},{2733,12050,0},{2735,12053,0},{2738,12055,0},{2740,12055,0}, {2737,12063,0},{2743,12063,0},{2745,12067,0},{2748,12068,0},{2750,12065,0}, {2750,12060,0},{2758,12057,0},{2760,12063,0},{2765,12067,0},{2767,12065,0}, {2772,12067,0},{2775,12063,0},{2772,12072,0},{2775,12073,0},{2785,12080,0}, {2787,12083,0},{2793,12085,0},{2795,12083,0},{2797,12073,0},{2802,12070,0}, {2803,12058,0},{2807,12058,0},{2812,12057,0},{2810,12058,0},{2803,12060,0}, {2803,12070,0},{2798,12080,0},{2798,12093,0},{2800,12095,0},{2805,12098,0}, {2812,12098,0},{2815,12102,0},{2817,12108,0},{2823,12112,0},{2827,12110,0}, {2827,12105,0},{2830,12102,0},{2828,12108,0},{2830,12110,0},{2833,12113,0}, {2835,12117,0},{2838,12117,0},{2835,12122,0},{2837,12127,0},{2835,12122,0}, {2832,12120,0},{2828,12125,0},{2820,12125,0},{2813,12135,0},{2818,12138,0}, {2818,12135,0},{2822,12137,0},{2825,12142,0},{2827,12142,0},{2827,12140,0}, {2830,12140,0},{2830,12143,0},{2833,12145,0},{2833,12152,0},{2830,12157,0}, {2828,12158,0},{2825,12157,0},{2828,12163,0},{2833,12165,0},{2835,12158,0}, {2840,12160,0},{2843,12157,0},{2848,12157,0},{2848,12152,0},{2850,12157,0}, {2855,12152,0},{2867,12148,0},{2870,12133,0},{2867,12125,0},{2870,12130,0}, {2873,12128,0},{2875,12123,0},{2880,12122,0},{2880,12117,0},{2883,12113,0}, {2883,12115,0},{2882,12117,0},{2880,12122,0},{2877,12123,0},{2875,12130,0}, {2872,12132,0},{2870,12150,0},{2872,12162,0},{2877,12162,0},{2880,12167,0}, {2880,12163,0},{2882,12167,0},{2883,12165,0},{2883,12162,0},{2888,12163,0}, {2890,12160,0},{2890,12153,0},{2893,12148,0},{2895,12150,0},{2895,12153,0}, {2892,12158,0},{2895,12158,0},{2892,12163,0},{2892,12168,0},{2895,12172,0}, {2897,12165,0},{2900,12165,0},{2902,12168,0},{2903,12165,0},{2905,12165,0}, {2905,12155,0},{2902,12155,0},{2902,12153,0},{2905,12153,0},{2907,12155,0}, {2905,12162,0},{2910,12163,0},{2910,12147,0},{2910,12140,0},{2913,12147,0}, {2913,12143,0},{2915,12143,0},{2915,12142,0},{2917,12142,0},{2917,12145,0}, {2920,12147,0},{2917,12148,0},{2918,12150,0},{2920,12150,0},{2925,12153,0}, {2927,12152,0},{2927,12157,0},{2930,12157,0},{2928,12158,0},{2918,12162,0}, {2920,12163,0},{2930,12162,0},{2930,12163,0},{2930,12165,0},{2927,12165,0}, {2920,12165,0},{2918,12167,0},{2920,12172,0},{2920,12175,0},{2927,12177,0}, {2935,12177,0},{2937,12177,0},{2937,12180,0},{2932,12178,0},{2932,12183,0}, {2930,12180,0},{2928,12183,0},{2927,12182,0},{2925,12183,0},{2920,12180,0}, {2918,12182,0},{2917,12185,0},{2918,12190,0},{2920,12195,0},{2922,12193,0}, {2922,12197,0},{2925,12195,0},{2925,12198,0},{2928,12198,0},{2927,12195,0}, {2927,12192,0},{2930,12190,0},{2930,12192,0},{2932,12190,0},{2932,12193,0}, {2933,12193,0},{2933,12192,0},{2937,12192,0},{2938,12188,0},{2942,12190,0}, {2940,12195,0},{2942,12195,0},{2943,12197,0},{2948,12193,0},{2950,12195,0}, {2952,12190,0},{2953,12195,0},{2955,12193,0},{2955,12197,0},{2958,12198,0}, {2960,12193,0},{2962,12193,0},{2963,12190,0},{2960,12185,0},{2960,12180,0}, {2958,12177,0},{2957,12173,0},{2955,12173,0},{2955,12182,0},{2953,12185,0}, {2952,12182,0},{2948,12180,0},{2947,12175,0},{2948,12175,0},{2952,12177,0}, {2952,12172,0},{2953,12172,0},{2952,12168,0},{2952,12170,0},{2950,12168,0}, {2948,12157,0},{2942,12153,0},{2940,12148,0},{2940,12147,0},{2945,12152,0}, {2945,12148,0},{2948,12150,0},{2947,12147,0},{2942,12145,0},{2942,12143,0}, {2945,12143,0},{2950,12145,0},{2952,12145,0},{2952,12147,0},{2955,12150,0}, {2950,12152,0},{2955,12155,0},{2957,12170,0},{2958,12170,0},{2958,12172,0}, {2970,12183,0},{2977,12188,0},{2985,12207,0},{2988,12213,0},{2990,12212,0}, {2988,12203,0},{2988,12192,0},{2992,12188,0},{2993,12182,0},{2997,12178,0}, {2997,12168,0},{3002,12162,0},{3003,12162,0},{3007,12157,0},{3010,12157,0}, {3012,12153,0},{3018,12148,0},{3025,12140,0},{3030,12128,0},{3030,12115,0}, {3013,12083,0},{3012,12070,0},{3013,12067,0},{3015,12063,0},{3010,12067,0}, {3010,12077,0},{3007,12080,0},{3008,12077,0},{3008,12068,0},{3012,12062,0}, {3017,12057,0},{3023,12057,0},{3032,12052,0},{3032,12047,0},{3028,12042,0}, {3022,12037,0},{3022,12030,0},{3027,12025,0},{3022,12020,0},{3020,12015,0}, {3028,12023,0},{3030,12027,0},{3028,12032,0},{3030,12035,0},{3037,12038,0}, {3040,12045,0},{3038,12068,0},{3033,12075,0},{3033,12080,0},{3037,12092,0}, {3040,12090,0},{3042,12093,0},{3048,12093,0},{3055,12097,0},{3057,12100,0}, {3060,12113,0},{3063,12115,0},{3067,12122,0},{3070,12135,0},{3077,12138,0}, {3082,12147,0},{3085,12157,0},{3087,12170,0},{3085,12180,0},{3085,12187,0}, {3092,12190,0},{3097,12188,0},{3122,12175,0},{3132,12167,0},{3135,12160,0}, {3137,12152,0},{3138,12150,0},{3145,12142,0},{3150,12132,0},{3162,12123,0}, {3172,12108,0},{3172,12103,0},{3175,12097,0},{3175,12087,0},{3182,12072,0}, {3185,12072,0},{3183,12073,0},{3182,12077,0},{3182,12078,0},{3187,12078,0}, {3198,12072,0},{3200,12068,0},{3198,12060,0},{3202,12050,0},{3202,12043,0}, {3198,12045,0},{3195,12042,0},{3195,12032,0},{3190,12023,0},{3190,12018,0}, {3192,12010,0},{3198,11990,0},{3202,11987,0},{3207,11987,0},{3212,11977,0}, {3217,11977,0},{3220,11978,0},{3222,11973,0},{3223,11970,0},{3220,11965,0}, {3218,11962,0},{3222,11965,0},{3230,11968,0},{3235,11962,0},{3235,11965,0}, {3232,11970,0},{3233,11977,0},{3228,11985,0},{3220,11988,0},{3220,11992,0}, {3215,11990,0},{3212,11992,0},{3200,12000,0},{3195,12010,0},{3193,12022,0}, {3195,12028,0},{3208,12043,0},{3210,12050,0},{3208,12057,0},{3210,12062,0}, {3202,12082,0},{3190,12092,0},{3188,12095,0},{3185,12095,0},{3183,12098,0}, {3187,12108,0},{3183,12117,0},{3187,12128,0},{3183,12145,0},{3182,12148,0}, {3178,12152,0},{3175,12158,0},{3172,12165,0},{3168,12183,0},{3168,12188,0}, {3173,12190,0},{3180,12187,0},{3192,12183,0},{3202,12173,0},{3212,12153,0}, {3210,12148,0},{3212,12143,0},{3217,12143,0},{3217,12138,0},{3220,12138,0}, {3223,12137,0},{3225,12142,0},{3228,12140,0},{3235,12142,0},{3238,12140,0}, {3245,12128,0},{3247,12120,0},{3248,12118,0},{3250,12113,0},{3250,12110,0}, {3253,12108,0},{3257,12097,0},{3263,12083,0},{3272,12083,0},{3270,12087,0}, {3278,12085,0},{3280,12090,0},{3282,12090,0},{3297,12088,0},{3302,12090,0}, {3303,12087,0},{3302,12083,0},{3302,12082,0},{3310,12082,0},{3310,12080,0}, {3312,12080,0},{3317,12078,0},{3320,12073,0},{3322,12075,0},{3325,12073,0}, {3327,12075,0},{3328,12070,0},{3332,12067,0},{3347,12063,0},{3350,12060,0}, {3358,12053,0},{3363,12048,0},{3365,12048,0},{3365,12050,0},{3373,12050,0}, {3377,12045,0},{3380,12045,0},{3385,12043,0},{3387,12040,0},{3390,12042,0}, {3403,12037,0},{3408,12035,0},{3415,12033,0},{3423,12027,0},{3432,12025,0}, {3437,12008,0},{3445,11993,0},{3447,11980,0},{3452,11973,0},{3453,11965,0}, {3455,11963,0},{3460,11953,0},{3467,11947,0},{3470,11948,0},{3475,11943,0}, {3475,11938,0},{3477,11935,0},{3475,11932,0},{3477,11923,0},{3475,11922,0}, {3472,11920,0},{3475,11918,0},{3478,11920,0},{3485,11917,0},{3490,11920,0}, {3502,11920,0},{3507,11922,0},{3507,11930,0},{2362,11718,128},{2363,11720,0}, {2365,11720,0},{2368,11723,0},{2365,11723,0},{2362,11722,0},{2363,11727,0}, {2367,11725,0},{2372,11727,0},{2375,11728,0},{2378,11728,0},{2378,11730,0}, {2375,11730,0},{2375,11733,0},{2380,11737,0},{2377,11743,0},{2387,11748,0}, {2390,11747,0},{2392,11742,0},{2393,11740,0},{2395,11742,0},{2392,11747,0}, {2390,11757,0},{2388,11758,0},{2382,11760,0},{2372,11757,0},{2378,11763,0}, {2385,11762,0},{2392,11763,0},{2395,11770,0},{2398,11768,0},{2403,11770,0}, {2403,11767,0},{2405,11767,0},{2403,11773,0},{2403,11775,0},{2407,11775,0}, {2405,11777,0},{2403,11777,0},{2402,11775,0},{2402,11778,0},{2402,11780,0}, {2395,11773,0},{2390,11773,0},{2392,11777,0},{2395,11777,0},{2402,11783,0}, {2403,11790,0},{2410,11790,0},{2415,11793,0},{2418,11792,0},{2420,11793,0}, {2420,11797,0},{2415,11797,0},{2425,11805,0},{2425,11812,0},{2435,11808,0}, {2435,11805,0},{2432,11802,0},{2435,11802,0},{2435,11805,0},{2440,11805,0}, {2438,11790,0},{2440,11787,0},{2447,11778,0},{2445,11790,0},{2447,11788,0}, {2447,11783,0},{2448,11785,0},{2443,11802,0},{2445,11803,0},{2445,11802,0}, {2447,11800,0},{2448,11800,0},{2450,11805,0},{2452,11805,0},{2455,11797,0}, {2458,11800,0},{2457,11800,0},{2455,11802,0},{2457,11805,0},{2462,11805,0}, {2460,11808,0},{2458,11810,0},{2458,11812,0},{2468,11817,0},{2465,11820,0}, {2462,11818,0},{2460,11822,0},{2460,11818,0},{2457,11818,0},{2453,11822,0}, {2453,11823,0},{2457,11825,0},{2457,11828,0},{2460,11828,0},{2458,11835,0}, {2460,11838,0},{2460,11842,0},{2462,11842,0},{2467,11840,0},{2470,11842,0}, {2468,11843,0},{2463,11843,0},{2457,11858,0},{2455,11855,0},{2452,11855,0}, {2455,11862,0},{2457,11865,0},{2462,11867,0},{2463,11863,0},{2468,11863,0}, {2468,11865,0},{2468,11867,0},{2467,11868,0},{2468,11872,0},{2477,11877,0}, {2477,11872,0},{2480,11870,0},{2477,11863,0},{2485,11862,0},{2488,11857,0}, {2485,11865,0},{2488,11867,0},{2492,11863,0},{2495,11867,0},{2493,11868,0}, {2490,11868,0},{2493,11870,0},{2490,11873,0},{2487,11870,0},{2485,11870,0}, {2485,11877,0},{2488,11880,0},{2487,11882,0},{2488,11887,0},{2487,11890,0}, {2488,11898,0},{2490,11897,0},{2488,11893,0},{2493,11890,0},{2495,11892,0}, {2495,11897,0},{2493,11898,0},{2495,11902,0},{2495,11900,0},{2498,11898,0}, {2502,11900,0},{2505,11900,0},{2502,11898,0},{2500,11895,0},{2503,11888,0}, {2508,11885,0},{2510,11887,0},{2510,11893,0},{2513,11895,0},{2517,11897,0}, {2518,11895,0},{2518,11890,0},{2522,11892,0},{2522,11887,0},{2525,11888,0}, {2528,11898,0},{2527,11907,0},{2525,11905,0},{2525,11898,0},{2522,11898,0}, {2523,11905,0},{2522,11907,0},{2517,11905,0},{2517,11903,0},{2513,11903,0}, {2512,11903,0},{2513,11905,0},{2517,11907,0},{2515,11907,0},{2513,11907,0}, {2512,11907,0},{2510,11908,0},{2512,11910,0},{2513,11908,0},{2512,11915,0}, {2513,11915,0},{2515,11915,0},{2515,11913,0},{2517,11912,0},{2517,11908,0}, {2525,11913,0},{2523,11915,0},{2520,11913,0},{2518,11915,0},{2517,11925,0}, {2520,11928,0},{2523,11927,0},{2525,11935,0},{2527,11935,0},{2528,11930,0}, {2532,11928,0},{2532,11927,0},{2532,11925,0},{2525,11922,0},{2525,11920,0}, {2528,11918,0},{2532,11922,0},{2533,11922,0},{2532,11917,0},{2535,11917,0}, {2535,11915,0},{2537,11915,0},{2538,11912,0},{2540,11910,0},{2542,11910,0}, {2547,11923,0},{2553,11928,0},{2557,11928,0},{2557,11932,0},{2560,11932,0}, {2560,11935,0},{2558,11935,0},{2558,11938,0},{2555,11935,0},{2552,11935,0}, {2550,11945,0},{2543,11943,0},{2547,11947,0},{2547,11952,0},{2545,11948,0}, {2542,11950,0},{2537,11948,0},{2538,11952,0},{2537,11953,0},{2540,11957,0}, {2542,11953,0},{2543,11953,0},{2545,11953,0},{2547,11957,0},{2543,11958,0}, {2542,11958,0},{2537,11960,0},{2533,11958,0},{2533,11962,0},{2535,11965,0}, {2537,11962,0},{2538,11965,0},{2542,11965,0},{2543,11962,0},{2547,11962,0}, {2547,11960,0},{2550,11960,0},{2548,11958,0},{2548,11957,0},{2550,11960,0}, {2552,11957,0},{2552,11958,0},{2553,11957,0},{2558,11958,0},{2557,11955,0}, {2557,11953,0},{2555,11952,0},{2558,11948,0},{2562,11948,0},{2562,11945,0}, {2568,11945,0},{2568,11952,0},{2570,11953,0},{2568,11957,0},{2568,11958,0}, {2573,11960,0},{2575,11962,0},{2577,11960,0},{2580,11960,0},{2583,11957,0}, {2587,11958,0},{2588,11957,0},{2587,11958,0},{2583,11960,0},{2590,11962,0}, {2590,11967,0},{2600,11970,0},{2602,11968,0},{2605,11953,0},{2603,11950,0}, {2598,11948,0},{2597,11945,0},{2593,11937,0},{2597,11923,0},{2600,11923,0}, {2608,11920,0},{2608,11915,0},{2615,11910,0},{2612,11915,0},{2610,11922,0}, {2605,11927,0},{2605,11933,0},{2598,11945,0},{2602,11948,0},{2612,11957,0}, {2613,11960,0},{2617,11960,0},{2622,11967,0},{2625,11967,0},{2625,11963,0}, {2628,11967,0},{2628,11975,0},{2628,11980,0},{2630,11978,0},{2633,11982,0}, {2632,11990,0},{2637,11995,0},{2635,11988,0},{2637,11985,0},{2640,11985,0}, {2642,11982,0},{2640,11978,0},{2637,11977,0},{2637,11975,0},{2632,11975,0}, {2632,11968,0},{2633,11968,0},{2633,11965,0},{2635,11965,0},{2640,11965,0}, {2645,11963,0},{2643,11962,0},{2643,11957,0},{2647,11958,0},{2647,11963,0}, {2650,11965,0},{2645,11968,0},{2643,11975,0},{2640,11977,0},{2642,11978,0}, {2643,11980,0},{2645,11982,0},{2648,11980,0},{2650,11978,0},{2652,11980,0}, {2652,11977,0},{2655,11975,0},{2655,11977,0},{2655,11978,0},{2657,11978,0}, {2658,11973,0},{2662,11973,0},{2660,11967,0},{2657,11960,0},{2662,11955,0}, {2665,11953,0},{2665,11960,0},{2668,11960,0},{2670,11960,0},{2670,11955,0}, {2677,11955,0},{2677,11957,0},{2678,11958,0},{2680,11962,0},{2678,11963,0}, {2675,11962,0},{2675,11965,0},{2670,11970,0},{2672,11973,0},{2677,11968,0}, {2682,11968,0},{2680,11972,0},{2673,11973,0},{2673,11977,0},{2677,11977,0}, {2678,11975,0},{2682,11978,0},{2683,11980,0},{2685,11983,0},{2683,11983,0}, {2682,11980,0},{2680,11978,0},{2678,11983,0},{2677,11980,0},{2668,11980,0}, {2672,11982,0},{2668,11985,0},{2665,11985,0},{2665,11987,0},{2665,11990,0}, {2670,11990,0},{2675,11993,0},{2680,11993,0},{2678,12000,0},{2678,12008,0}, {2677,12005,0},{2673,12003,0},{2672,12003,0},{2672,12000,0},{2670,11998,0}, {2665,11998,0},{2660,11985,0},{2657,11985,0},{2657,11983,0},{2653,11983,0}, {2652,11987,0},{2652,11988,0},{2655,11993,0},{2662,11995,0},{2660,12000,0}, {2662,12002,0},{2663,12008,0},{2662,12008,0},{2663,12013,0},{2665,12013,0}, {2665,12012,0},{2670,12010,0},{2672,12015,0},{2673,12013,0},{2673,12010,0}, {2675,12010,0},{2678,12012,0},{2682,12007,0},{2682,12003,0},{2687,12002,0}, {2688,12007,0},{2690,12003,0},{2688,12010,0},{2690,12012,0},{2693,12012,0}, {2692,12022,0},{2693,12023,0},{2697,12023,0},{2698,12015,0},{2698,12020,0}, {2698,12022,0},{2700,12025,0},{2703,12025,0},{2703,12022,0},{2705,12025,0}, {2707,12025,0},{2705,12028,0},{2710,12027,0},{2710,12025,0},{2713,12025,0}, {2712,12028,0},{2710,12037,0},{2710,12038,0},{2710,12037,0},{2712,12037,0}, {2713,12042,0},{2715,12038,0},{2715,12042,0},{2718,12038,0},{2718,12035,0}, {2722,12037,0},{2723,12035,0},{2722,12030,0},{2725,12025,0},{2723,12022,0}, {2722,12020,0},{2722,12018,0},{2723,12017,0},{2725,12020,0},{2728,12020,0}, {2727,12022,0},{2728,12025,0},{2730,12023,0},{2730,12027,0},{2732,12027,0}, {2730,12028,0},{2732,12032,0},{2730,12030,0},{2728,12032,0},{2727,12030,0}, {2725,12030,0},{2723,12038,0},{2717,12042,0},{2722,12042,0},{2723,12045,0}, {2155,10798,128},{2153,10807,0},{2155,10807,0},{2157,10807,0},{2155,10808,0}, {2157,10812,0},{2157,10813,0},{2158,10813,0},{2157,10817,0},{2160,10820,0}, {2163,10820,0},{2163,10822,0},{2163,10823,0},{2162,10822,0},{2158,10827,0}, {2150,10820,0},{2155,10828,0},{2158,10832,0},{2158,10828,0},{2162,10832,0}, {2162,10830,0},{2163,10832,0},{2167,10830,0},{2168,10832,0},{2170,10832,0}, {2172,10833,0},{2170,10833,0},{2168,10835,0},{2167,10840,0},{2168,10842,0}, {2165,10842,0},{2167,10847,0},{2162,10842,0},{2162,10845,0},{2158,10843,0}, {2158,10842,0},{2160,10842,0},{2160,10838,0},{2155,10840,0},{2157,10847,0}, {2157,10845,0},{2157,10847,0},{2160,10848,0},{2162,10848,0},{2160,10850,0}, {2160,10848,0},{2158,10848,0},{2162,10852,0},{2162,10853,0},{2163,10852,0}, {2163,10855,0},{2167,10855,0},{2167,10857,0},{2168,10857,0},{2170,10855,0}, {2167,10852,0},{2168,10852,0},{2172,10853,0},{2170,10852,0},{2167,10850,0}, {2168,10850,0},{2170,10848,0},{2172,10850,0},{2173,10847,0},{2173,10850,0}, {2177,10850,0},{2178,10850,0},{2180,10850,0},{2180,10847,0},{2182,10848,0}, {2187,10845,0},{2188,10845,0},{2190,10845,0},{2193,10847,0},{2193,10848,0}, {2187,10845,0},{2185,10847,0},{2185,10848,0},{2187,10848,0},{2188,10852,0}, {2190,10852,0},{2192,10853,0},{2195,10855,0},{2195,10857,0},{2192,10857,0}, {2190,10855,0},{2190,10858,0},{2192,10860,0},{2188,10863,0},{2180,10857,0}, {2178,10857,0},{2178,10858,0},{2178,10860,0},{2173,10860,0},{2175,10863,0}, {2178,10862,0},{2177,10863,0},{2178,10863,0},{2182,10865,0},{2178,10865,0}, {2180,10868,0},{2178,10867,0},{2175,10863,0},{2173,10868,0},{2173,10865,0}, {2170,10868,0},{2173,10870,0},{2173,10873,0},{2168,10870,0},{2167,10872,0}, {2167,10873,0},{2168,10875,0},{2165,10875,0},{2167,10873,0},{2165,10872,0}, {2163,10873,0},{2160,10873,0},{2162,10873,0},{2163,10878,0},{2162,10883,0}, {2163,10887,0},{2163,10882,0},{2167,10883,0},{2168,10883,0},{2172,10880,0}, {2172,10878,0},{2173,10878,0},{2173,10880,0},{2175,10880,0},{2170,10883,0}, {2175,10885,0},{2177,10885,0},{2178,10882,0},{2180,10882,0},{2182,10878,0}, {2182,10880,0},{2180,10883,0},{2182,10887,0},{2178,10885,0},{2180,10887,0}, {2178,10887,0},{2175,10887,0},{2177,10890,0},{2177,10892,0},{2173,10887,0}, {2172,10887,0},{2168,10885,0},{2167,10890,0},{2162,10892,0},{2160,10897,0}, {2162,10903,0},{2165,10907,0},{2162,10905,0},{2160,10905,0},{2162,10907,0}, {2160,10908,0},{2160,10910,0},{2158,10912,0},{2160,10913,0},{2153,10915,0}, {2152,10915,0},{2148,10912,0},{2148,10907,0},{2143,10903,0},{2140,10913,0}, {2140,10915,0},{2143,10915,0},{2142,10917,0},{2142,10922,0},{2145,10922,0}, {2148,10923,0},{2143,10925,0},{2143,10928,0},{2147,10932,0},{2145,10935,0}, {2145,10943,0},{2150,10947,0},{2147,10947,0},{2148,10953,0},{2152,10955,0}, {2155,10955,0},{2158,10958,0},{2163,10953,0},{2165,10947,0},{2165,10952,0}, {2168,10952,0},{2168,10950,0},{2170,10950,0},{2175,10957,0},{2173,10960,0}, {2170,10955,0},{2167,10957,0},{2163,10958,0},{2165,10962,0},{2162,10960,0}, {2157,10962,0},{2157,10963,0},{2160,10963,0},{2162,10968,0},{2152,10965,0}, {2150,10967,0},{2147,10973,0},{2148,10975,0},{2148,10977,0},{2150,10977,0}, {2157,10975,0},{2158,10977,0},{2153,10977,0},{2155,10980,0},{2147,10980,0}, {2147,10983,0},{2150,10983,0},{2147,10990,0},{2148,10995,0},{2147,10992,0}, {2145,10995,0},{2142,10992,0},{2140,10990,0},{2137,10992,0},{2137,10985,0}, {2135,10983,0},{2135,10982,0},{2133,10978,0},{2135,10978,0},{2135,10977,0}, {2122,10977,0},{2118,10975,0},{2117,10975,0},{2117,10973,0},{2118,10973,0}, {2117,10970,0},{2113,10967,0},{2103,10972,0},{2103,10970,0},{2098,10967,0}, {2095,10968,0},{2095,10967,0},{2092,10967,0},{2087,10967,0},{2082,10970,0}, {2080,10972,0},{2083,10970,0},{2080,10973,0},{2082,10973,0},{2085,10973,0}, {2087,10975,0},{2083,10975,0},{2082,10977,0},{2080,10975,0},{2077,10977,0}, {2073,10975,0},{2072,10985,128},{2068,10983,0},{2068,10980,0},{2068,10977,0}, {2067,10975,0},{2063,10975,0},{2063,10978,0},{2062,10980,0},{2058,10982,0}, {2055,10982,0},{2058,10985,0},{2055,10985,0},{2053,10982,0},{2052,10982,0}, {2048,10990,0},{2045,10992,0},{2050,10993,0},{2045,10995,0},{2047,10997,0}, {2043,11002,0},{2035,10998,0},{2042,10993,0},{2040,10987,0},{2038,10988,0}, {2037,10988,0},{2033,10992,0},{2030,10993,0},{2025,10992,0},{2023,10992,0}, {2028,10998,0},{2027,11000,0},{2030,11003,0},{2027,11010,0},{2023,11012,0}, {2023,11017,0},{2027,11020,0},{2028,11023,0},{2025,11028,0},{2027,11028,0}, {2027,11032,0},{2030,11037,0},{2030,11040,0},{2043,11052,0},{2048,11053,0}, {2057,11048,0},{2057,11047,0},{2057,11043,0},{2058,11042,0},{2060,11038,0}, {2063,11038,0},{2062,11037,0},{2063,11037,0},{2063,11032,0},{2067,11032,0}, {2065,11030,0},{2068,11030,0},{2072,11033,0},{2075,11032,0},{2075,11033,0}, {2078,11032,0},{2082,11033,0},{2082,11035,0},{2073,11035,0},{2070,11038,0}, {2072,11040,0},{2077,11040,0},{2083,11038,0},{2085,11033,0},{2083,11025,0}, {2085,11015,0},{2087,11015,0},{2087,11017,0},{2093,11015,0},{2097,11017,0}, {2098,11015,0},{2098,11017,0},{2102,11018,0},{2107,11020,0},{2108,11020,0}, {2107,11020,0},{2105,11020,0},{2102,11022,0},{2107,11025,0},{2112,11033,0}, {2117,11040,0},{2123,11042,0},{2128,11037,0},{2130,11037,0},{2132,11035,0}, {2133,11033,0},{2132,11038,0},{2133,11038,0},{2133,11040,0},{2143,11035,0}, {2145,11038,0},{2142,11037,0},{2138,11040,0},{2138,11042,0},{2140,11043,0}, {2130,11042,0},{2132,11045,0},{2133,11045,0},{2133,11047,0},{2133,11048,0}, {2130,11045,0},{2130,11048,0},{2127,11047,0},{2128,11047,0},{2128,11043,0}, {2127,11042,0},{2125,11043,0},{2118,11043,0},{2122,11048,0},{2122,11053,0}, {2122,11058,0},{2125,11058,0},{2123,11063,0},{2125,11063,0},{2132,11062,0}, {2137,11062,0},{2142,11070,0},{2142,11075,0},{2143,11077,0},{2140,11075,0}, {2135,11063,0},{2132,11063,0},{2135,11067,0},{2132,11065,0},{2125,11065,0}, {2135,11070,0},{2140,11080,0},{2138,11087,0},{2140,11092,0},{2142,11093,0}, {2143,11100,0},{2147,11103,0},{2147,11107,0},{2148,11105,0},{2147,11102,0}, {2145,11100,0},{2145,11098,0},{2145,11100,0},{2148,11102,0},{2152,11098,0}, {2152,11102,0},{2153,11103,0},{2152,11107,0},{2148,11108,0},{2150,11112,0}, {2148,11112,0},{2147,11108,0},{2147,11110,0},{2147,11115,0},{2150,11122,0}, {2150,11117,0},{2152,11115,0},{2153,11120,0},{2152,11122,0},{2150,11130,0}, {2145,11128,0},{2143,11125,0},{2143,11127,0},{2152,11140,0},{2153,11135,0}, {2153,11143,0},{2157,11140,0},{2160,11143,0},{2155,11145,0},{2155,11147,0}, {2152,11147,0},{2152,11152,0},{2153,11152,0},{2152,11153,0},{2153,11160,0}, {2155,11158,0},{2158,11158,0},{2155,11160,0},{2152,11163,0},{2162,11170,0}, {2162,11178,0},{2163,11175,0},{2165,11178,0},{2172,11177,0},{2178,11168,0}, {2175,11177,0},{2175,11178,0},{2173,11180,0},{2177,11183,0},{2172,11182,0}, {2172,11188,0},{2170,11188,0},{2168,11183,0},{2167,11185,0},{2168,11188,0}, {2172,11190,0},{2177,11200,0},{2182,11190,0},{2192,11190,0},{2192,11192,0}, {2182,11197,0},{2185,11202,0},{2188,11203,0},{2185,11203,0},{2182,11200,0}, {2180,11203,0},{2180,11218,0},{2183,11220,0},{2180,11220,0},{2175,11218,0}, {2173,11223,0},{2172,11223,0},{2170,11228,0},{2172,11233,0},{2177,11238,0}, {2182,11240,0},{2200,11235,0},{2207,11238,0},{2205,11240,0},{2198,11237,0}, {2195,11240,0},{2195,11250,0},{2190,11242,0},{2183,11242,0},{2177,11257,0}, {2180,11263,0},{2185,11265,0},{2185,11268,0},{2188,11270,0},{2188,11273,0}, {2193,11275,0},{2195,11280,0},{2197,11282,0},{2195,11285,0},{2188,11287,0}, {2185,11290,0},{2187,11295,0},{2192,11298,0},{2195,11302,0},{2202,11300,0}, {2210,11298,0},{2222,11310,0},{2215,11313,0},{2208,11312,0},{2205,11318,0}, {2208,11320,0},{2205,11320,0},{2203,11322,0},{2207,11325,0},{2212,11325,0}, {2215,11328,0},{2218,11330,0},{2218,11338,0},{2223,11337,0},{2227,11332,0}, {2233,11330,0},{2237,11325,0},{2242,11323,0},{2247,11317,0},{2257,11317,0}, {2247,11323,0},{2238,11327,0},{2230,11335,0},{2227,11337,0},{2218,11343,0}, {2217,11347,0},{2218,11352,0},{2220,11353,0},{2218,11355,0},{2222,11355,0}, {2225,11358,0},{2230,11357,0},{2232,11360,0},{2235,11358,0},{2237,11360,0}, {2240,11353,0},{2248,11357,0},{2255,11357,0},{2267,11352,0},{2272,11347,0}, {2275,11338,0},{2273,11343,0},{2277,11345,0},{2277,11350,0},{2280,11343,0}, {2288,11337,0},{2288,11327,0},{2290,11322,0},{2288,11330,0},{2290,11335,0}, {2293,11342,0},{2292,11348,0},{2303,11350,0},{2307,11347,0},{2305,11342,0}, {2308,11340,0},{2310,11340,0},{2308,11347,0},{2305,11352,0},{2308,11355,0}, {2310,11358,0},{2312,11360,0},{2312,11363,0},{2315,11370,0},{2313,11382,0}, {2312,11383,0},{2313,11372,0},{2312,11365,0},{2307,11353,0},{2305,11353,0}, {2302,11352,0},{2298,11355,0},{2302,11358,0},{2293,11358,0},{2300,11358,0}, {2303,11362,0},{2298,11360,0},{2292,11360,0},{2300,11360,0},{2303,11363,0}, {2292,11362,0},{2290,11360,0},{2287,11360,0},{2290,11362,0},{2283,11360,0}, {2283,11362,0},{2288,11362,0},{2283,11365,0},{2280,11367,0},{2275,11365,0}, {2275,11368,0},{2277,11372,0},{2275,11375,0},{2258,11382,0},{2252,11388,0}, {2247,11387,0},{2248,11392,0},{2252,11392,0},{2252,11395,0},{2252,11403,0}, {2247,11402,0},{2247,11398,0},{2240,11390,0},{2237,11392,0},{2237,11395,0}, {2238,11395,0},{2237,11398,0},{2235,11403,0},{2237,11405,0},{2237,11410,0}, {2230,11417,0},{2232,11420,0},{2230,11423,0},{2232,11425,0},{2227,11428,0}, {2228,11430,0},{2255,11423,0},{2260,11430,0},{2262,11438,0},{2255,11447,0}, {2248,11448,0},{2245,11450,0},{2248,11452,0},{2250,11462,0},{2253,11460,0}, {2255,11457,0},{2257,11453,0},{2255,11452,0},{2255,11450,0},{2258,11450,0}, {2260,11457,0},{2265,11458,0},{2265,11450,0},{2268,11452,0},{2270,11452,0}, {2270,11457,0},{2273,11455,0},{2275,11462,0},{2278,11468,0},{2277,11472,0}, {2278,11475,0},{2282,11477,0},{2278,11482,0},{2275,11475,0},{2272,11472,0}, {2267,11473,0},{2263,11472,0},{2260,11473,0},{2258,11475,0},{2258,11487,0}, {2257,11488,0},{2253,11487,0},{2255,11490,0},{2262,11492,0},{2267,11495,0}, {2272,11490,0},{2270,11488,0},{2273,11487,0},{2273,11485,0},{2275,11485,0}, {2273,11490,0},{2275,11493,0},{2270,11495,0},{2268,11498,0},{2270,11502,0}, {2273,11502,0},{2273,11503,0},{2278,11505,0},{2280,11513,0},{2278,11515,0}, {2277,11517,0},{2282,11517,0},{2283,11525,0},{2285,11525,0},{2290,11530,0}, {2283,11532,0},{2282,11527,0},{2278,11522,0},{2278,11532,0},{2277,11535,0}, {2278,11540,0},{2275,11542,0},{2273,11535,0},{2270,11535,0},{2268,11538,0}, {2268,11545,0},{2265,11557,0},{2267,11557,0},{2270,11555,0},{2273,11560,0}, {2275,11555,0},{2273,11555,0},{2272,11553,0},{2275,11552,0},{2280,11553,0}, {2285,11558,0},{2287,11560,0},{2283,11557,0},{2285,11547,0},{2287,11550,0}, {2288,11550,0},{2290,11547,0},{2290,11545,0},{2290,11542,0},{2292,11542,0}, {2292,11543,0},{2293,11545,0},{2292,11547,0},{2288,11552,0},{2290,11555,0}, {2288,11555,0},{2287,11553,0},{2285,11555,0},{2288,11558,0},{2290,11567,0}, {2293,11568,0},{2293,11573,0},{2288,11567,0},{2285,11572,0},{2282,11580,0}, {2277,11582,0},{2280,11578,0},{2275,11578,0},{2273,11580,0},{2278,11585,0}, {2280,11593,0},{2283,11595,0},{2280,11595,0},{2285,11602,0},{2285,11605,0}, {2290,11607,0},{2293,11603,0},{2290,11610,0},{2287,11608,0},{2283,11608,0}, {2285,11613,0},{2292,11618,0},{2295,11627,0},{2297,11622,0},{2298,11620,0}, {2297,11625,0},{2298,11627,0},{2300,11628,0},{2298,11628,0},{2295,11630,0}, {2293,11635,0},{2295,11645,0},{2293,11648,0},{2300,11650,0},{2302,11653,0}, {2307,11652,0},{2310,11653,0},{2313,11652,0},{2320,11658,0},{2322,11658,0}, {2322,11653,0},{2322,11650,0},{2325,11657,0},{2322,11660,0},{2318,11660,0}, {2317,11662,0},{2323,11667,0},{2325,11672,0},{2327,11667,0},{2328,11667,0}, {2327,11670,0},{2320,11678,0},{2323,11678,0},{2325,11677,0},{2332,11673,0}, {2332,11668,0},{2333,11665,0},{2332,11660,0},{2333,11655,0},{2337,11653,0}, {2342,11652,0},{2337,11660,0},{2335,11668,0},{2337,11673,0},{2335,11675,0}, {2342,11683,0},{2345,11685,0},{2347,11687,0},{2352,11685,0},{2355,11688,0}, {2358,11688,0},{2360,11687,0},{2367,11692,0},{2365,11693,0},{2362,11692,0}, {2362,11695,0},{2362,11697,0},{2365,11697,0},{2365,11698,0},{2362,11702,0}, {2365,11702,0},{2365,11703,0},{2363,11707,0},{2355,11707,0},{2357,11710,0}, {2360,11713,0},{2362,11718,0},{6385,-2137,128},{6382,-2163,0},{6387,-2173,0}, {6387,-2180,0},{6385,-2185,0},{6383,-2200,0},{6383,-2218,0},{6387,-2233,0}, {6383,-2240,0},{6385,-2243,0},{6382,-2252,0},{6382,-2265,0},{6380,-2268,0}, {6383,-2272,0},{6387,-2270,0},{6388,-2273,0},{6393,-2268,0},{6395,-2263,0}, {6395,-2270,0},{6398,-2273,0},{6408,-2270,0},{6408,-2267,0},{6405,-2258,0}, {6398,-2255,0},{6397,-2240,0},{6402,-2237,0},{6403,-2225,0},{6402,-2220,0}, {6405,-2210,0},{6405,-2202,0},{6408,-2197,0},{6410,-2205,0},{6412,-2200,0}, {6412,-2197,0},{6410,-2198,0},{6410,-2192,0},{6412,-2193,0},{6412,-2192,0}, {6415,-2203,0},{6415,-2187,0},{6413,-2182,0},{6413,-2178,0},{6413,-2182,0}, {6415,-2180,0},{6417,-2182,0},{6418,-2170,0},{6418,-2177,0},{6422,-2172,0}, {6422,-2182,0},{6423,-2182,0},{6423,-2193,0},{6435,-2175,0},{6435,-2165,0}, {6435,-2168,0},{6438,-2158,0},{6437,-2157,0},{6435,-2147,0},{6438,-2137,0}, {6437,-2145,0},{6437,-2148,0},{6440,-2145,0},{6440,-2163,0},{6438,-2173,0}, {6433,-2180,0},{6430,-2195,0},{6432,-2210,0},{6435,-2200,0},{6437,-2198,0}, {6437,-2188,0},{6438,-2187,0},{6440,-2203,0},{6450,-2198,0},{6453,-2188,0}, {6453,-2178,0},{6455,-2182,0},{6460,-2170,0},{6460,-2165,0},{6458,-2165,0}, {6458,-2160,0},{6457,-2158,0},{6457,-2150,0},{6460,-2162,0},{6462,-2158,0}, {6462,-2168,0},{6465,-2162,0},{6465,-2150,0},{6465,-2160,0},{6465,-2163,0}, {6463,-2170,0},{6465,-2167,0},{6465,-2170,0},{6458,-2177,0},{6458,-2183,0}, {6457,-2185,0},{6455,-2195,0},{6452,-2200,0},{6453,-2203,0},{6457,-2203,0}, {6447,-2208,0},{6445,-2217,0},{6450,-2222,0},{6448,-2225,0},{6452,-2222,0}, {6455,-2222,0},{6455,-2227,0},{6457,-2225,0},{6455,-2233,0},{6457,-2235,0}, {6462,-2235,0},{6467,-2243,0},{6463,-2237,0},{6465,-2233,0},{6467,-2235,0}, {6468,-2233,0},{6473,-2218,0},{6467,-2240,0},{6468,-2242,0},{6472,-2235,0}, {6475,-2232,0},{6477,-2243,0},{6482,-2242,0},{6480,-2243,0},{6480,-2247,0}, {6480,-2253,0},{6478,-2258,0},{6477,-2257,0},{6477,-2265,0},{6477,-2268,0}, {6478,-2263,0},{6480,-2268,0},{6480,-2278,0},{6477,-2272,0},{6480,-2287,0}, {6480,-2317,0},{6483,-2328,0},{6482,-2338,0},{6478,-2345,0},{6480,-2357,0}, {6482,-2353,0},{6482,-2357,0},{6478,-2363,0},{6475,-2363,0},{6473,-2367,0}, {6473,-2383,0},{6473,-2388,0},{6475,-2395,0},{6487,-2405,0},{6488,-2407,0}, {6488,-2400,0},{6492,-2397,0},{6492,-2382,0},{6488,-2367,0},{6492,-2355,0}, {6495,-2350,0},{6495,-2338,0},{6497,-2340,0},{6497,-2335,0},{6493,-2333,0}, {6492,-2325,0},{6495,-2322,0},{6498,-2323,0},{6502,-2318,0},{6500,-2308,0}, {6495,-2317,0},{6492,-2312,0},{6497,-2312,0},{6497,-2307,0},{6500,-2303,0}, {6500,-2297,0},{6498,-2295,0},{6502,-2283,0},{6503,-2278,0},{6503,-2287,0}, {6508,-2272,0},{6505,-2270,0},{6502,-2275,0},{6502,-2268,0},{6500,-2267,0}, {6497,-2258,0},{6500,-2262,0},{6502,-2262,0},{6505,-2253,0},{6507,-2235,0}, {6505,-2228,0},{6503,-2215,0},{6503,-2212,0},{6503,-2195,0},{6503,-2180,0}, {6505,-2178,0},{6507,-2185,0},{6515,-2173,0},{6520,-2175,0},{6520,-2182,0}, {6515,-2187,0},{6510,-2207,0},{6512,-2225,0},{6517,-2240,0},{6515,-2247,0}, {6515,-2255,0},{6517,-2257,0},{6518,-2245,0},{6518,-2255,0},{6523,-2250,0}, {6523,-2242,0},{6527,-2242,0},{6527,-2237,0},{6530,-2233,0},{6533,-2217,0}, {6540,-2198,0},{6538,-2193,0},{6540,-2195,0},{6542,-2192,0},{6543,-2178,0}, {6545,-2170,0},{6543,-2182,0},{6545,-2187,0},{6543,-2197,0},{6545,-2195,0}, {6547,-2193,0},{6550,-2200,0},{6550,-2203,0},{6548,-2205,0},{6550,-2208,0}, {6552,-2210,0},{6548,-2212,0},{6543,-2220,0},{6545,-2230,0},{6548,-2238,0}, {6550,-2238,0},{6552,-2220,0},{6560,-2210,0},{6553,-2225,0},{6553,-2235,0}, {6557,-2230,0},{6553,-2237,0},{6555,-2242,0},{6552,-2240,0},{6550,-2247,0}, {6552,-2250,0},{6557,-2250,0},{6563,-2255,0},{6557,-2253,0},{6555,-2255,0}, {6553,-2258,0},{6555,-2260,0},{6557,-2262,0},{6555,-2263,0},{6552,-2265,0}, {6553,-2268,0},{6557,-2272,0},{6563,-2268,0},{6562,-2272,0},{6563,-2277,0}, {6550,-2273,0},{6550,-2278,0},{6553,-2280,0},{6553,-2288,0},{6560,-2280,0}, {6562,-2285,0},{6558,-2287,0},{6557,-2292,0},{6560,-2295,0},{6555,-2297,0}, {6553,-2302,0},{6555,-2315,0},{6558,-2315,0},{6558,-2318,0},{6553,-2320,0}, {6552,-2318,0},{6548,-2323,0},{6550,-2337,0},{6552,-2340,0},{6550,-2340,0}, {6547,-2350,0},{6547,-2365,0},{6542,-2372,0},{6540,-2387,0},{6542,-2398,0}, {6545,-2400,0},{6545,-2397,0},{6547,-2397,0},{6547,-2403,0},{6550,-2420,0}, {6548,-2447,0},{6550,-2453,0},{6553,-2447,0},{6557,-2438,0},{6560,-2437,0}, {6563,-2432,0},{6560,-2415,0},{6552,-2390,0},{6553,-2380,0},{6553,-2388,0}, {6563,-2407,0},{6565,-2407,0},{6565,-2397,0},{6560,-2380,0},{6570,-2407,0}, {6578,-2413,0},{6580,-2410,0},{6570,-2362,0},{6567,-2355,0},{6560,-2357,0}, {6563,-2350,0},{6563,-2340,0},{6565,-2340,0},{6567,-2328,0},{6567,-2345,0}, {6570,-2352,0},{6572,-2353,0},{6573,-2347,0},{6573,-2335,0},{6575,-2333,0}, {6573,-2323,0},{6575,-2325,0},{6578,-2320,0},{6575,-2352,0},{6577,-2373,0}, {6587,-2387,0},{6592,-2382,0},{6590,-2363,0},{6587,-2360,0},{6588,-2350,0}, {6587,-2347,0},{6583,-2322,0},{6590,-2358,0},{6602,-2382,0},{6605,-2380,0}, {6607,-2377,0},{6602,-2343,0},{6598,-2338,0},{6600,-2340,0},{6603,-2343,0}, {6605,-2353,0},{6612,-2367,0},{6613,-2355,0},{6612,-2345,0},{6610,-2340,0}, {6613,-2347,0},{6615,-2360,0},{6618,-2353,0},{6618,-2348,0},{6620,-2347,0}, {6618,-2335,0},{6615,-2317,0},{6612,-2312,0},{6608,-2310,0},{6610,-2303,0}, {6608,-2298,0},{6603,-2298,0},{6597,-2307,0},{6605,-2293,0},{6600,-2290,0}, {6602,-2287,0},{6602,-2285,0},{6593,-2293,0},{6595,-2287,0},{6600,-2283,0}, {6597,-2280,0},{6592,-2282,0},{6605,-2277,0},{6605,-2268,0},{6603,-2267,0}, {6597,-2257,0},{6583,-2265,0},{6597,-2252,0},{6593,-2248,0},{6593,-2245,0}, {6590,-2245,0},{6592,-2242,0},{6583,-2247,0},{6583,-2243,0},{6590,-2240,0}, {6590,-2235,0},{6598,-2242,0},{6603,-2248,0},{6607,-2247,0},{6608,-2238,0}, {6608,-2248,0},{6608,-2257,0},{6612,-2260,0},{6615,-2283,0},{6623,-2298,0}, {6627,-2280,0},{6625,-2268,0},{6625,-2260,0},{6622,-2258,0},{6623,-2255,0}, {6625,-2255,0},{6627,-2240,0},{6627,-2237,0},{6627,-2250,0},{6627,-2257,0}, {6632,-2247,0},{6633,-2250,0},{6632,-2250,0},{6628,-2260,0},{6630,-2270,0}, {6635,-2267,0},{6637,-2262,0},{6637,-2268,0},{6632,-2282,0},{6633,-2283,0}, {6637,-2280,0},{6630,-2293,0},{6632,-2307,0},{6635,-2318,0},{6637,-2303,0}, {6638,-2302,0},{6642,-2312,0},{6643,-2312,0},{6642,-2302,0},{6643,-2302,0}, {6643,-2290,0},{6642,-2287,0},{6643,-2287,0},{6647,-2295,0},{6647,-2292,0}, {6643,-2273,0},{6642,-2268,0},{6647,-2260,0},{6647,-2255,0},{6642,-2247,0}, {6643,-2242,0},{6647,-2245,0},{6643,-2238,0},{6640,-2235,0},{6638,-2227,0}, {6633,-2225,0},{6633,-2220,0},{6632,-2223,0},{6630,-2222,0},{6627,-2223,0}, {6627,-2212,0},{6628,-2210,0},{6627,-2208,0},{6627,-2197,0},{6623,-2192,0}, {6620,-2198,0},{6622,-2193,0},{6618,-2187,0},{6618,-2175,0},{6607,-2172,0}, {6607,-2165,0},{6605,-2163,0},{6602,-2167,0},{6605,-2162,0},{6608,-2163,0}, {6610,-2155,0},{6605,-2152,0},{6605,-2155,0},{6602,-2153,0},{6602,-2133,0}, {6598,-2132,0},{6595,-2160,0},{6593,-2158,0},{6597,-2147,0},{6595,-2138,0}, {6593,-2143,0},{6592,-2128,0},{6588,-2128,0},{6587,-2132,0},{6587,-2128,0}, {6583,-2130,0},{6578,-2135,0},{6577,-2148,0},{6577,-2140,0},{6573,-2133,0}, {6568,-2145,0},{6568,-2158,0},{6577,-2167,0},{6577,-2172,0},{6577,-2178,0}, {6575,-2170,0},{6572,-2167,0},{6568,-2168,0},{6565,-2165,0},{6563,-2158,0}, {6563,-2140,0},{6555,-2148,0},{6558,-2138,0},{6560,-2132,0},{6552,-2130,0}, {6543,-2148,0},{6548,-2130,0},{6543,-2120,0},{6530,-2120,0},{6517,-2108,0}, {6518,-2107,0},{6527,-2112,0},{6533,-2107,0},{6545,-2110,0},{6545,-2105,0}, {6535,-2097,0},{6533,-2092,0},{6545,-2098,0},{6552,-2098,0},{6558,-2093,0}, {6567,-2073,0},{6568,-2068,0},{6567,-2062,0},{6555,-2065,0},{6555,-2062,0}, {6558,-2062,0},{6558,-2057,0},{6553,-2058,0},{6548,-2050,0},{6550,-2045,0}, {6555,-2043,0},{6557,-2052,0},{6560,-2042,0},{6557,-2040,0},{6552,-2040,0}, {6557,-2038,0},{6565,-2032,0},{6567,-2027,0},{6568,-2032,0},{6572,-2027,0}, {6577,-2027,0},{6582,-2033,0},{6585,-2030,0},{6593,-2040,0},{6602,-2042,0}, {6602,-2045,0},{6608,-2042,0},{6610,-2025,0},{6613,-2018,0},{6612,-2012,0}, {6612,-2010,0},{6608,-2007,0},{6608,-2003,0},{6590,-1987,0},{6588,-1975,0}, {6587,-1970,0},{6575,-1963,0},{6573,-1957,0},{6575,-1955,0},{6577,-1953,0}, {6575,-1950,0},{6575,-1943,0},{6573,-1947,0},{6573,-1942,0},{6583,-1938,0}, {6592,-1945,0},{6595,-1952,0},{6598,-1948,0},{6600,-1942,0},{6607,-1945,0}, {6608,-1938,0},{6608,-1923,0},{6607,-1917,0},{6610,-1913,0},{6607,-1905,0}, {6610,-1910,0},{6617,-1907,0},{6618,-1893,0},{6618,-1892,0},{6615,-1892,0}, {6617,-1888,0},{6620,-1885,0},{6618,-1878,0},{6613,-1880,0},{6617,-1870,0}, {6613,-1863,0},{6612,-1862,0},{6608,-1867,0},{6610,-1860,0},{6608,-1855,0}, {6607,-1855,0},{6602,-1852,0},{6597,-1853,0},{6595,-1833,0},{6587,-1827,0}, {6587,-1820,0},{6573,-1818,0},{6570,-1810,0},{6565,-1807,0},{6567,-1805,0}, {6573,-1812,0},{6585,-1807,0},{6592,-1815,0},{6592,-1817,0},{6593,-1822,0}, {6597,-1822,0},{6602,-1830,0},{6615,-1833,0},{6617,-1830,0},{6617,-1810,0}, {6615,-1808,0},{6615,-1790,0},{6612,-1788,0},{6612,-1782,0},{6603,-1768,0}, {6602,-1768,0},{6592,-1755,0},{6597,-1757,0},{6598,-1750,0},{6598,-1762,0}, {6600,-1743,0},{6598,-1743,0},{6595,-1742,0},{6598,-1742,0},{6605,-1735,0}, {6610,-1735,0},{6613,-1727,0},{6617,-1727,0},{6618,-1723,0},{6620,-1715,0}, {6622,-1715,0},{6620,-1703,0},{6618,-1697,0},{6612,-1693,0},{6612,-1690,0}, {6613,-1690,0},{6615,-1672,0},{6613,-1678,0},{6612,-1675,0},{6613,-1672,0}, {6608,-1660,0},{6617,-1668,0},{6620,-1650,0},{6617,-1663,0},{6618,-1652,0}, {6617,-1648,0},{6613,-1643,0},{6617,-1645,0},{6618,-1648,0},{6627,-1642,0}, {6637,-1652,0},{6642,-1650,0},{6647,-1658,0},{6650,-1657,0},{6650,-1653,0}, {6648,-1652,0},{6650,-1650,0},{6652,-1648,0},{6652,-1643,0},{6648,-1642,0}, {6652,-1638,0},{6648,-1630,0},{6648,-1632,0},{6648,-1625,0},{6652,-1623,0}, {6650,-1622,0},{6653,-1617,0},{6652,-1608,0},{6653,-1602,0},{6648,-1590,0}, {6648,-1593,0},{6642,-1593,0},{6642,-1583,0},{6640,-1583,0},{6640,-1572,0}, {6633,-1568,0},{6628,-1577,0},{6627,-1577,0},{6627,-1568,0},{6622,-1568,0}, {6622,-1553,0},{6615,-1538,0},{6618,-1533,0},{6625,-1533,0},{6628,-1510,0}, {6630,-1510,0},{6633,-1502,0},{6638,-1495,0},{6638,-1488,0},{6637,-1473,0}, {6638,-1455,0},{6627,-1500,0},{6622,-1493,0},{6618,-1495,0},{6615,-1502,0}, {6613,-1515,0},{6612,-1518,0},{6610,-1515,0},{6610,-1507,0},{6607,-1505,0}, {6605,-1508,0},{6605,-1493,0},{6603,-1488,0},{6607,-1478,0},{6607,-1472,0}, {6605,-1467,0},{6600,-1465,0},{6600,-1462,0},{6595,-1460,0},{6588,-1465,0}, {6583,-1480,0},{6580,-1482,0},{6575,-1488,0},{6578,-1478,0},{6575,-1482,0}, {6573,-1485,0},{6572,-1482,0},{6578,-1435,0},{6575,-1435,0},{6572,-1440,0}, {6567,-1427,0},{6565,-1435,0},{6553,-1453,0},{6550,-1457,0},{6565,-1430,0}, {6563,-1418,0},{6565,-1425,0},{6560,-1400,0},{6562,-1387,0},{6558,-1385,0}, {6557,-1387,0},{6557,-1382,0},{6552,-1382,0},{6555,-1370,0},{6552,-1363,0}, {6550,-1360,0},{6547,-1363,0},{6537,-1368,0},{6537,-1383,0},{6533,-1373,0}, {6532,-1373,0},{6532,-1385,0},{6527,-1400,0},{6530,-1370,0},{6530,-1363,0}, {6527,-1357,0},{6522,-1363,0},{6522,-1370,0},{6520,-1403,0},{6520,-1362,0}, {6515,-1363,0},{6513,-1375,0},{6513,-1365,0},{6512,-1368,0},{6512,-1363,0}, {6510,-1362,0},{6517,-1353,0},{6517,-1352,0},{6513,-1352,0},{6507,-1350,0}, {6503,-1355,0},{6503,-1360,0},{6500,-1358,0},{6498,-1367,0},{6498,-1380,0}, {6503,-1385,0},{6508,-1403,0},{6503,-1400,0},{6503,-1423,0},{6502,-1420,0}, {6502,-1392,0},{6497,-1387,0},{6495,-1380,0},{6493,-1370,0},{6492,-1370,0}, {6493,-1405,0},{6492,-1403,0},{6490,-1385,0},{6487,-1377,0},{6482,-1383,0}, {6483,-1397,0},{6480,-1383,0},{6478,-1403,0},{6473,-1398,0},{6472,-1408,0}, {6468,-1425,0},{6470,-1433,0},{6478,-1442,0},{6480,-1452,0},{6478,-1445,0}, {6475,-1447,0},{6473,-1438,0},{6468,-1433,0},{6467,-1427,0},{6465,-1430,0}, {6467,-1438,0},{6467,-1448,0},{6463,-1447,0},{6463,-1440,0},{6460,-1442,0}, {6458,-1458,0},{6457,-1457,0},{6455,-1450,0},{6460,-1435,0},{6460,-1433,0}, {6453,-1447,0},{6440,-1455,0},{6438,-1475,0},{6442,-1457,0},{6443,-1465,0}, {6443,-1472,0},{6440,-1472,0},{6432,-1490,0},{6435,-1490,0},{6430,-1495,0}, {6430,-1488,0},{6428,-1488,0},{6425,-1497,0},{6427,-1502,0},{6430,-1510,0}, {6427,-1522,0},{6430,-1520,0},{6428,-1523,0},{6430,-1525,0},{6433,-1528,0}, {6430,-1528,0},{6430,-1532,0},{6435,-1535,0},{6438,-1540,0},{6440,-1547,0}, {6438,-1540,0},{6435,-1538,0},{6433,-1537,0},{6433,-1540,0},{6432,-1537,0}, {6428,-1538,0},{6427,-1543,0},{6427,-1550,0},{6425,-1543,0},{6423,-1550,0}, {6422,-1568,0},{6418,-1580,0},{6420,-1572,0},{6418,-1572,0},{6413,-1602,0}, {6413,-1603,0},{6412,-1598,0},{6405,-1615,0},{6407,-1617,0},{6405,-1620,0}, {6403,-1618,0},{6402,-1625,0},{6403,-1627,0},{6400,-1635,0},{6398,-1635,0}, {6400,-1630,0},{6390,-1648,0},{6390,-1650,0},{6392,-1647,0},{6387,-1662,0}, {6385,-1672,0},{6387,-1678,0},{6385,-1675,0},{6383,-1678,0},{6380,-1680,0}, {6383,-1680,0},{6387,-1688,0},{6380,-1690,0},{6387,-1693,0},{6378,-1693,0}, {6378,-1697,0},{6380,-1697,0},{6388,-1693,0},{6392,-1697,0},{6387,-1697,0}, {6385,-1703,0},{6378,-1700,0},{6378,-1713,0},{6380,-1717,0},{6380,-1720,0}, {6382,-1720,0},{6378,-1728,0},{6375,-1755,0},{6378,-1755,0},{6375,-1757,0}, {6375,-1760,0},{6373,-1758,0},{6370,-1772,0},{6372,-1772,0},{6375,-1762,0}, {6377,-1772,0},{6375,-1772,0},{6375,-1782,0},{6373,-1780,0},{6373,-1787,0}, {6368,-1790,0},{6367,-1797,0},{6365,-1795,0},{6367,-1788,0},{6365,-1785,0}, {6367,-1780,0},{6363,-1783,0},{6362,-1797,0},{6360,-1795,0},{6360,-1785,0}, {6353,-1793,0},{6347,-1820,0},{6347,-1822,0},{6350,-1822,0},{6353,-1812,0}, {6352,-1820,0},{6353,-1828,0},{6355,-1832,0},{6345,-1827,0},{6347,-1817,0}, {6343,-1843,0},{6338,-1873,0},{6342,-1898,0},{6342,-1907,0},{6343,-1912,0}, {6342,-1915,0},{6343,-1925,0},{6347,-1938,0},{6353,-1973,0},{6355,-1972,0}, {6353,-1977,0},{6355,-1987,0},{6353,-1977,0},{6353,-2005,0},{6355,-2008,0}, {6353,-2007,0},{6353,-2017,0},{6360,-2035,0},{6360,-2030,0},{6362,-2033,0}, {6363,-2033,0},{6362,-2037,0},{6362,-2040,0},{6363,-2037,0},{6367,-2045,0}, {6370,-2047,0},{6370,-2050,0},{6363,-2043,0},{6370,-2055,0},{6375,-2055,0}, {6377,-2048,0},{6373,-2032,0},{6378,-2045,0},{6382,-2040,0},{6383,-2042,0}, {6380,-2045,0},{6375,-2057,0},{6370,-2057,0},{6377,-2077,0},{6375,-2065,0}, {6377,-2060,0},{6377,-2063,0},{6378,-2063,0},{6377,-2068,0},{6378,-2072,0}, {6382,-2067,0},{6387,-2070,0},{6387,-2072,0},{6383,-2068,0},{6380,-2075,0}, {6380,-2083,0},{6378,-2082,0},{6382,-2090,0},{6383,-2107,0},{6387,-2117,0}, {6393,-2118,0},{6395,-2105,0},{6395,-2118,0},{6393,-2127,0},{6392,-2130,0}, {6388,-2120,0},{6388,-2133,0},{6387,-2137,0},{6385,-2137,0},{5507,-725,128}, {5505,-725,0},{5503,-710,0},{5507,-702,0},{5515,-697,0},{5518,-697,0},{5517,-687,0}, {5517,-675,0},{5518,-670,0},{5522,-655,0},{5525,-648,0},{5523,-642,0},{5523,-635,0}, {5520,-623,0},{5522,-615,0},{5522,-610,0},{5515,-603,0},{5505,-605,0},{5505,-600,0}, {5503,-597,0},{5498,-600,0},{5497,-593,0},{5490,-585,0},{5487,-582,0},{5482,-582,0}, {5482,-577,0},{5478,-572,0},{5483,-580,0},{5485,-578,0},{5485,-573,0},{5483,-570,0}, {5480,-568,0},{5475,-570,0},{5472,-573,0},{5470,-587,0},{5463,-592,0},{5460,-590,0}, {5463,-585,0},{5468,-575,0},{5468,-563,0},{5468,-557,0},{5463,-553,0},{5457,-548,0}, {5452,-548,0},{5448,-543,0},{5442,-547,0},{5438,-547,0},{5437,-548,0},{5435,-547,0}, {5433,-552,0},{5435,-553,0},{5440,-557,0},{5445,-553,0},{5450,-555,0},{5452,-557,0}, {5457,-567,0},{5457,-570,0},{5453,-572,0},{5452,-567,0},{5450,-568,0},{5448,-565,0}, {5442,-563,0},{5435,-572,0},{5438,-558,0},{5435,-555,0},{5432,-553,0},{5428,-557,0}, {5423,-565,0},{5425,-568,0},{5425,-575,0},{5422,-587,0},{5417,-587,0},{5410,-590,0}, {5403,-605,0},{5403,-610,0},{5405,-608,0},{5407,-618,0},{5408,-620,0},{5408,-627,0}, {5408,-625,0},{5408,-627,128},{5407,-620,0},{5403,-618,0},{5403,-613,0}, {5400,-612,0},{5398,-618,0},{5402,-633,0},{5402,-637,0},{5400,-635,0},{5398,-637,0}, {5392,-638,0},{5387,-633,0},{5387,-625,0},{5380,-625,0},{5378,-622,0},{5375,-625,0}, {5368,-623,0},{5363,-622,0},{5357,-608,0},{5352,-608,0},{5345,-615,0},{5340,-612,0}, {5338,-605,0},{5337,-605,0},{5338,-613,0},{5337,-618,0},{5335,-622,0},{5330,-617,0}, {5327,-610,0},{5322,-610,0},{5310,-603,0},{5300,-605,0},{5297,-600,0},{5285,-607,0}, {5283,-612,0},{5273,-615,0},{5267,-622,0},{5255,-620,0},{5242,-635,0},{5235,-637,0}, {5237,-642,0},{5235,-643,0},{5232,-643,0},{5230,-640,0},{5233,-638,0},{5227,-638,0}, {5225,-632,0},{5218,-637,0},{5218,-640,0},{5220,-638,0},{5218,-647,0},{5220,-645,0}, {5220,-648,0},{5217,-658,0},{5222,-670,0},{5220,-680,0},{5225,-677,0},{5223,-680,0}, {5223,-683,0},{5222,-683,0},{5220,-682,0},{5217,-683,0},{5215,-688,0},{5212,-693,0}, {5213,-693,0},{5215,-690,0},{5218,-690,0},{5222,-692,0},{5225,-697,0},{5228,-700,0}, {5222,-697,0},{5218,-698,0},{5218,-695,0},{5213,-700,0},{5213,-710,0},{5217,-707,0}, {5217,-710,0},{5217,-712,0},{5215,-710,0},{5215,-717,0},{5213,-718,0},{5213,-743,0}, {5210,-755,0},{5208,-755,0},{5210,-760,0},{5208,-762,0},{5207,-760,0},{5205,-753,0}, {5203,-758,0},{5200,-758,0},{5198,-772,0},{5195,-773,0},{5195,-778,0},{5195,-783,0}, {5197,-787,0},{5192,-790,0},{5192,-792,0},{5188,-788,0},{5187,-800,0},{5183,-803,0}, {5182,-802,0},{5180,-817,0},{5180,-825,0},{5182,-827,0},{5185,-818,0},{5188,-817,0}, {5187,-830,0},{5188,-838,0},{5187,-840,0},{5187,-833,0},{5182,-828,0},{5178,-832,0}, {5177,-830,0},{5172,-835,0},{5170,-843,0},{5168,-845,0},{5170,-853,0},{5168,-852,0}, {5165,-855,0},{5160,-853,0},{5163,-858,0},{5163,-868,0},{5157,-870,0},{5157,-875,0}, {5158,-877,0},{5158,-887,0},{5155,-888,0},{5155,-893,0},{5153,-893,0},{5157,-900,0}, {5155,-907,0},{5157,-913,0},{5153,-912,0},{5152,-917,0},{5153,-918,0},{5150,-918,0}, {5148,-922,0},{5148,-927,0},{5150,-927,0},{5150,-930,0},{5148,-930,0},{5147,-935,0}, {5147,-938,0},{5150,-942,0},{5155,-940,0},{5157,-945,0},{5153,-945,0},{5152,-952,0}, {5153,-955,0},{5150,-955,0},{5150,-958,0},{5148,-960,0},{5148,-963,0},{5152,-965,0}, {5148,-972,0},{5147,-970,0},{5145,-977,0},{5147,-977,0},{5145,-982,0},{5147,-982,0}, {5148,-983,0},{5153,-973,0},{5155,-965,0},{5162,-955,0},{5162,-958,0},{5155,-980,0}, {5155,-985,0},{5157,-978,0},{5160,-975,0},{5168,-947,0},{5168,-945,0},{5172,-945,0}, {5172,-948,0},{5173,-952,0},{5175,-955,0},{5173,-955,0},{5168,-960,0},{5165,-992,0}, {5162,-995,0},{5160,-1003,0},{5160,-1007,0},{5160,-1013,0},{5158,-1015,0}, {5162,-1015,0},{5163,-1007,0},{5165,-1007,0},{5167,-1010,0},{5167,-1008,0}, {5168,-998,0},{5172,-995,0},{5172,-1000,0},{5173,-998,0},{5177,-990,0}, {5173,-988,0},{5177,-985,0},{5177,-978,0},{5178,-982,0},{5183,-973,0},{5185,-965,0}, {5187,-958,0},{5185,-972,0},{5182,-980,0},{5182,-983,0},{5180,-987,0},{5182,-988,0}, {5173,-1013,0},{5175,-1013,0},{5177,-1022,0},{5178,-1018,0},{5182,-1017,0}, {5185,-1020,0},{5183,-1025,0},{5178,-1033,0},{5185,-1033,0},{5185,-1038,0}, {5188,-1040,0},{5190,-1028,0},{5190,-1025,0},{5193,-1027,0},{5195,-1030,0}, {5197,-1027,0},{5198,-1027,0},{5205,-1000,0},{5208,-997,0},{5207,-997,0}, {5205,-993,0},{5213,-990,0},{5212,-987,0},{5213,-977,0},{5215,-988,0},{5215,-997,0}, {5210,-995,0},{5213,-1000,0},{5210,-1018,0},{5213,-1022,0},{5213,-1027,0}, {5212,-1030,0},{5212,-1027,0},{5210,-1028,0},{5212,-1037,0},{5210,-1035,0}, {5210,-1043,0},{5210,-1047,0},{5212,-1047,0},{5215,-1047,0},{5217,-1045,0}, {5218,-1047,0},{5220,-1042,0},{5217,-1042,0},{5218,-1037,0},{5223,-1037,0}, {5223,-1032,0},{5227,-1027,0},{5228,-1017,0},{5223,-1017,0},{5225,-1008,0}, {5228,-1003,0},{5230,-1005,0},{5230,-1002,0},{5227,-1002,0},{5223,-995,0}, {5223,-987,0},{5225,-982,0},{5223,-982,0},{5225,-973,0},{5227,-975,0},{5227,-988,0}, {5230,-988,0},{5230,-985,0},{5232,-983,0},{5238,-983,0},{5240,-995,0},{5242,-993,0}, {5245,-977,0},{5248,-970,0},{5247,-963,0},{5248,-965,0},{5248,-968,0},{5252,-968,0}, {5255,-967,0},{5257,-963,0},{5255,-947,0},{5258,-943,0},{5257,-928,0},{5263,-907,0}, {5262,-905,0},{5262,-900,0},{5265,-895,0},{5267,-883,0},{5265,-880,0},{5267,-873,0}, {5270,-887,0},{5268,-895,0},{5272,-893,0},{5277,-897,0},{5275,-903,0},{5272,-903,0}, {5262,-915,0},{5262,-925,0},{5258,-928,0},{5260,-933,0},{5263,-927,0},{5260,-940,0}, {5263,-953,0},{5267,-955,0},{5265,-958,0},{5263,-957,0},{5260,-970,0},{5258,-970,0}, {5255,-988,0},{5257,-993,0},{5260,-982,0},{5268,-967,0},{5273,-960,0},{5275,-950,0}, {5280,-948,0},{5283,-943,0},{5288,-943,0},{5293,-935,0},{5293,-937,0},{5293,-947,0}, {5297,-943,0},{5315,-927,0},{5312,-915,0},{5313,-908,0},{5315,-912,0},{5315,-898,0}, {5317,-907,0},{5317,-897,0},{5315,-897,0},{5313,-893,0},{5315,-893,0},{5318,-893,0}, {5322,-890,0},{5320,-895,0},{5322,-900,0},{5323,-897,0},{5325,-897,0},{5325,-893,0}, {5327,-893,0},{5327,-903,0},{5323,-918,0},{5322,-948,0},{5323,-955,0},{5328,-955,0}, {5327,-957,0},{5323,-958,0},{5323,-962,0},{5325,-963,0},{5328,-960,0},{5332,-962,0}, {5332,-958,0},{5333,-957,0},{5335,-960,0},{5333,-960,0},{5333,-965,0},{5333,-967,0}, {5337,-962,0},{5335,-968,0},{5332,-973,0},{5330,-977,0},{5332,-985,0},{5332,-990,0}, {5335,-988,0},{5335,-990,0},{5338,-978,0},{5340,-978,0},{5340,-982,0},{5342,-980,0}, {5340,-987,0},{5342,-988,0},{5342,-987,0},{5342,-990,0},{5338,-993,0},{5337,-997,0}, {5338,-1003,0},{5342,-1007,0},{5340,-1012,0},{5342,-1015,0},{5340,-1018,0}, {5345,-1015,0},{5345,-1005,0},{5350,-1012,0},{5352,-1012,0},{5353,-1015,0}, {5355,-1020,0},{5355,-1010,0},{5357,-1010,0},{5357,-1000,0},{5360,-1005,0}, {5362,-988,0},{5368,-992,0},{5375,-990,0},{5378,-978,0},{5377,-960,0},{5380,-955,0}, {5382,-962,0},{5383,-960,0},{5383,-962,0},{5387,-957,0},{5387,-958,0},{5390,-957,0}, {5390,-977,0},{5387,-983,0},{5385,-992,0},{5387,-993,0},{5395,-990,0},{5393,-982,0}, {5392,-980,0},{5392,-978,0},{5397,-980,0},{5397,-982,0},{5395,-982,0},{5397,-983,0}, {5400,-985,0},{5402,-990,0},{5405,-990,0},{5407,-987,0},{5408,-988,0},{5412,-983,0}, {5412,-988,0},{5408,-990,0},{5407,-993,0},{5407,-997,0},{5410,-998,0},{5412,-992,0}, {5413,-997,0},{5415,-993,0},{5417,-997,0},{5418,-995,0},{5418,-993,0},{5422,-1002,0}, {5418,-1002,0},{5418,-1005,0},{5417,-1003,0},{5415,-1008,0},{5413,-1007,0}, {5412,-1008,0},{5408,-1007,0},{5410,-1012,0},{5420,-1010,0},{5422,-1007,0}, {5423,-1012,0},{5423,-1008,0},{5425,-1008,0},{5430,-1000,0},{5427,-997,0}, {5425,-990,0},{5422,-992,0},{5423,-998,0},{5422,-997,0},{5420,-990,0},{5427,-985,0}, {5425,-977,0},{5428,-980,0},{5430,-987,0},{5433,-980,0},{5432,-968,0},{5432,-948,0}, {5428,-938,0},{5432,-933,0},{5430,-927,0},{5427,-925,0},{5427,-920,0},{5425,-922,0}, {5423,-920,0},{5422,-922,0},{5420,-917,0},{5417,-913,0},{5428,-905,0},{5428,-893,0}, {5425,-883,0},{5427,-877,0},{5427,-873,0},{5427,-868,0},{5420,-858,0},{5420,-852,0}, {5425,-858,0},{5425,-862,0},{5428,-858,0},{5427,-847,0},{5432,-857,0},{5430,-850,0}, {5432,-850,0},{5433,-857,0},{5432,-865,0},{5435,-867,0},{5438,-857,0},{5440,-857,0}, {5440,-853,0},{5443,-847,0},{5445,-848,0},{5447,-847,0},{5445,-843,0},{5447,-828,0}, {5452,-825,0},{5455,-822,0},{5462,-815,0},{5460,-813,0},{5462,-810,0},{5463,-813,0}, {5460,-827,0},{5460,-830,0},{5463,-828,0},{5463,-830,0},{5462,-835,0},{5455,-845,0}, {5458,-845,0},{5462,-838,0},{5460,-847,0},{5462,-848,0},{5460,-858,0},{5462,-867,0}, {5465,-880,0},{5468,-878,0},{5468,-880,0},{5470,-875,0},{5473,-875,0},{5477,-867,0}, {5475,-845,0},{5477,-847,0},{5478,-853,0},{5478,-847,0},{5475,-840,0},{5482,-855,0}, {5483,-848,0},{5483,-832,0},{5485,-838,0},{5487,-838,0},{5487,-832,0},{5488,-830,0}, {5490,-833,0},{5490,-838,0},{5488,-838,0},{5490,-845,0},{5493,-845,0},{5495,-837,0}, {5495,-840,0},{5500,-845,0},{5500,-840,0},{5503,-840,0},{5503,-835,0},{5505,-835,0}, {5505,-832,0},{5507,-833,0},{5508,-830,0},{5510,-832,0},{5515,-828,0},{5515,-817,0}, {5515,-815,0},{5515,-813,0},{5512,-817,0},{5515,-808,0},{5517,-802,0},{5520,-802,0}, {5522,-798,0},{5520,-795,0},{5518,-795,0},{5518,-790,0},{5517,-788,0},{5515,-790,0}, {5515,-785,0},{5513,-790,0},{5513,-785,0},{5515,-785,0},{5518,-783,0},{5518,-787,0}, {5522,-788,0},{5522,-783,0},{5525,-780,0},{5517,-782,0},{5517,-775,0},{5515,-770,0}, {5510,-770,0},{5513,-767,0},{5522,-770,0},{5517,-772,0},{5518,-773,0},{5520,-773,0}, {5520,-780,0},{5525,-775,0},{5525,-770,0},{5528,-765,0},{5523,-760,0},{5518,-762,0}, {5515,-755,0},{5512,-753,0},{5508,-753,0},{5503,-763,0},{5503,-758,0},{5503,-757,0}, {5500,-763,0},{5497,-765,0},{5502,-757,0},{5505,-747,0},{5508,-748,0},{5513,-748,0}, {5520,-755,0},{5525,-752,0},{5527,-753,0},{5527,-748,0},{5528,-748,0},{5527,-745,0}, {5530,-737,0},{5530,-733,0},{5528,-735,0},{5527,-727,0},{5530,-733,0},{5533,-737,0}, {5533,-733,0},{5535,-738,0},{5537,-740,0},{5535,-725,0},{5533,-718,0},{5528,-713,0}, {5523,-693,0},{5522,-695,0},{5513,-717,0},{5507,-725,0},{5863,-500,128}, {5862,-497,0},{5862,-488,0},{5858,-483,0},{5857,-482,0},{5858,-477,0},{5860,-480,0}, {5860,-478,0},{5857,-475,0},{5855,-467,0},{5853,-467,0},{5845,-477,0},{5848,-468,0}, {5852,-467,0},{5853,-460,0},{5858,-460,0},{5857,-452,0},{5855,-443,0},{5852,-443,0}, {5845,-448,0},{5853,-437,0},{5853,-428,0},{5852,-423,0},{5853,-423,0},{5855,-422,0}, {5853,-418,0},{5857,-413,0},{5855,-407,0},{5860,-402,0},{5857,-402,0},{5857,-390,0}, {5857,-378,0},{5862,-367,0},{5862,-355,0},{5860,-355,0},{5860,-352,0},{5862,-347,0}, {5860,-337,0},{5862,-335,0},{5865,-342,0},{5867,-337,0},{5865,-335,0},{5865,-317,0}, {5863,-315,0},{5865,-303,0},{5863,-302,0},{5850,-313,0},{5847,-310,0},{5847,-302,0}, {5837,-312,0},{5835,-315,0},{5830,-320,0},{5827,-337,0},{5817,-352,0},{5807,-375,0}, {5803,-382,0},{5800,-385,0},{5795,-398,0},{5787,-402,0},{5787,-408,0},{5785,-412,0}, {5785,-420,0},{5783,-418,0},{5782,-405,0},{5783,-397,0},{5783,-393,0},{5780,-395,0}, {5782,-385,0},{5787,-380,0},{5785,-377,0},{5777,-387,0},{5768,-398,0},{5768,-402,0}, {5773,-403,0},{5772,-410,0},{5768,-417,0},{5768,-430,0},{5765,-430,0},{5760,-442,0}, {5757,-443,0},{5767,-423,0},{5767,-408,0},{5768,-405,0},{5767,-400,0},{5760,-410,0}, {5758,-412,0},{5757,-410,0},{5757,-417,0},{5755,-418,0},{5755,-427,0},{5753,-422,0}, {5750,-425,0},{5748,-420,0},{5750,-417,0},{5752,-415,0},{5755,-403,0},{5757,-403,0}, {5758,-408,0},{5758,-385,0},{5765,-368,0},{5767,-355,0},{5770,-348,0},{5772,-333,0}, {5767,-302,0},{5770,-285,0},{5768,-283,0},{5768,-273,0},{5767,-238,0},{5767,-233,0}, {5768,-228,0},{5767,-218,0},{5768,-212,0},{5768,-200,0},{5767,-198,0},{5767,-192,0}, {5762,-187,0},{5760,-182,0},{5757,-182,0},{5750,-177,0},{5750,-178,0},{5747,-178,0}, {5747,-175,0},{5727,-202,0},{5715,-207,0},{5712,-205,0},{5697,-218,0},{5692,-218,0}, {5682,-227,0},{5677,-237,0},{5677,-240,0},{5670,-243,0},{5668,-242,0},{5665,-250,0}, {5662,-247,0},{5657,-253,0},{5650,-272,0},{5647,-273,0},{5647,-280,0},{5645,-287,0}, {5647,-293,0},{5645,-297,0},{5645,-305,0},{5637,-323,0},{5637,-332,0},{5635,-327,0}, {5637,-318,0},{5645,-290,0},{5643,-280,0},{5638,-282,0},{5637,-283,0},{5637,-282,0}, {5633,-277,0},{5632,-263,0},{5627,-258,0},{5622,-268,0},{5618,-280,0},{5620,-292,0}, {5620,-297,0},{5612,-313,0},{5605,-317,0},{5605,-327,0},{5602,-340,0},{5605,-358,0}, {5605,-368,0},{5602,-368,0},{5600,-365,0},{5600,-352,0},{5598,-337,0},{5600,-333,0}, {5598,-328,0},{5597,-313,0},{5595,-308,0},{5595,-300,0},{5597,-295,0},{5597,-290,0}, {5602,-285,0},{5603,-285,0},{5607,-280,0},{5607,-265,0},{5602,-257,0},{5600,-257,0}, {5598,-247,0},{5593,-232,0},{5590,-213,0},{5588,-213,0},{5587,-208,0},{5575,-198,0}, {5563,-182,0},{5565,-178,0},{5563,-177,0},{5562,-175,0},{5560,-177,0},{5560,-168,0}, {5558,-163,0},{5553,-163,0},{5548,-158,0},{5542,-157,0},{5538,-160,0},{5532,-155,0}, {5528,-157,0},{5518,-150,0},{5515,-152,0},{5500,-142,0},{5497,-135,0},{5492,-137,0}, {5477,-130,0},{5472,-125,0},{5470,-117,0},{5468,-120,0},{5465,-117,0},{5460,-118,0}, {5460,-117,0},{5460,-113,0},{5463,-113,0},{5458,-97,0},{5455,-78,0},{5450,-63,0}, {5448,-57,0},{5445,-52,0},{5442,-52,0},{5437,-45,0},{5425,-37,0},{5422,-27,0}, {5417,-25,0},{5412,-8,0},{5408,-17,0},{5402,-22,0},{5387,-12,0},{5377,0,0}, {5363,13,0},{5358,13,0},{5357,12,0},{5360,13,0},{5362,12,0},{5363,5,0}, {5363,0,0},{5362,-7,0},{5363,-12,0},{5372,-25,0},{5373,-28,0},{5370,-42,0}, {5370,-55,0},{5372,-63,0},{5370,-72,0},{5368,-70,0},{5370,-62,0},{5367,-53,0}, {5368,-47,0},{5370,-30,0},{5368,-25,0},{5363,-20,0},{5357,-10,0},{5357,-5,0}, {5353,0,0},{5348,8,0},{5347,15,0},{5343,18,0},{5340,23,0},{5323,33,0},{5317,35,0}, {5308,33,0},{5302,17,0},{5292,7,0},{5292,3,0},{5288,0,0},{5288,8,0},{5288,12,0}, {5287,17,0},{5280,23,0},{5280,33,0},{5277,38,0},{5278,38,0},{5283,43,0}, {5293,48,0},{5297,55,0},{5295,60,0},{5297,67,0},{5295,85,0},{5297,88,0}, {5295,90,0},{5295,97,0},{5295,102,0},{5297,97,0},{5297,98,0},{5297,103,0}, {5295,110,0},{5293,128,0},{5287,143,0},{5277,165,0},{5273,168,0},{5262,175,0}, {5255,175,0},{5248,177,0},{5245,173,0},{5238,173,0},{5227,163,0},{5218,163,0}, {5208,158,0},{5205,147,0},{5193,133,0},{5200,125,0},{5195,127,0},{5197,117,0}, {5195,112,0},{5195,128,0},{5187,120,0},{5187,125,0},{5188,127,0},{5187,130,0}, {5185,128,0},{5180,120,0},{5177,113,0},{5178,103,0},{5180,100,0},{5180,93,0}, {5177,88,0},{5175,85,0},{5173,72,0},{5170,78,0},{5172,80,0},{5175,92,0}, {5173,95,0},{5168,97,0},{5163,93,0},{5163,90,0},{5163,82,0},{5162,87,0}, {5160,87,0},{5162,90,0},{5162,95,0},{5160,95,0},{5153,80,0},{5153,65,0}, {5150,57,0},{5150,47,0},{5147,43,0},{5145,38,0},{5145,45,0},{5148,48,0}, {5148,55,0},{5147,70,0},{5145,73,0},{5143,72,0},{5143,65,0},{5142,60,0}, {5142,55,0},{5138,62,0},{5138,65,0},{5138,68,0},{5138,70,0},{5142,70,0}, {5140,73,0},{5142,73,0},{5145,75,0},{5142,90,0},{5137,95,0},{5135,90,0}, {5137,80,0},{5133,92,0},{5138,122,0},{5140,145,0},{5135,143,0},{5132,138,0}, {5122,142,0},{5115,138,0},{5113,135,0},{5110,122,0},{5108,118,0},{5107,110,0}, {5103,103,0},{5098,97,0},{5092,98,0},{5093,80,0},{5092,73,0},{5087,67,0}, {5082,37,0},{5075,27,0},{5073,23,0},{5078,0,0},{5083,-20,0},{5077,-70,0}, {5075,-73,0},{5077,-75,0},{5073,-75,0},{5073,-82,0},{5077,-92,0},{5080,-87,0}, {5083,-90,0},{5082,-92,0},{5083,-93,0},{5083,-97,0},{5082,-95,0},{5077,-95,0}, {5078,-102,0},{5080,-98,0},{5083,-98,0},{5083,-103,0},{5080,-103,0},{5078,-108,0}, {5080,-110,0},{5083,-107,0},{5085,-108,0},{5083,-117,0},{5082,-112,0},{5078,-115,0}, {5083,-130,0},{5088,-137,0},{5092,-147,0},{5090,-147,0},{5088,-140,0},{5082,-130,0}, {5078,-135,0},{5077,-147,0},{5072,-155,0},{5073,-168,0},{5073,-175,0},{5072,-173,0}, {5072,-182,0},{5072,-187,0},{5068,-193,0},{5072,-195,0},{5072,-205,0},{5068,-207,0}, {5070,-203,0},{5067,-203,0},{5067,-193,0},{5065,-195,0},{5063,-190,0},{5062,-193,0}, {5058,-195,0},{5058,-205,0},{5058,-207,0},{5062,-220,0},{5063,-240,0},{5062,-243,0}, {5058,-245,0},{5055,-242,0},{5050,-245,0},{5057,-245,0},{5065,-262,0},{5070,-278,0}, {5073,-290,0},{5070,-297,0},{5068,-310,0},{5068,-322,0},{5060,-337,0},{5062,-342,0}, {5067,-347,0},{5060,-343,0},{5052,-350,0},{5047,-348,0},{5043,-355,0},{5040,-353,0}, {5038,-348,0},{5037,-350,0},{5035,-352,0},{5033,-357,0},{5032,-357,0},{5030,-363,0}, {5027,-365,0},{5022,-365,0},{5020,-372,0},{5022,-377,0},{5022,-378,0},{5022,-382,0}, {5027,-387,0},{5030,-395,0},{5030,-403,0},{5032,-412,0},{5035,-413,0},{5037,-420,0}, {5035,-422,0},{5035,-417,0},{5032,-418,0},{5032,-422,0},{5035,-427,0},{5035,-432,0}, {5035,-442,0},{5033,-447,0},{5032,-465,0},{5032,-467,0},{5033,-468,0},{5033,-475,0}, {5023,-480,0},{5022,-487,0},{5020,-490,0},{5020,-495,0},{5015,-498,0},{5013,-502,0}, {5015,-500,0},{5015,-502,0},{5022,-502,0},{5022,-503,0},{5020,-507,0},{5017,-505,0}, {5015,-507,0},{5015,-505,0},{5013,-508,0},{5010,-508,0},{5010,-512,0},{5008,-507,0}, {5005,-507,0},{5000,-510,0},{5000,-517,0},{4995,-520,0},{5000,-525,0},{5007,-528,0}, {5008,-533,0},{5013,-548,0},{5012,-553,0},{5008,-553,0},{5005,-557,0},{5003,-567,0}, {5007,-572,0},{5008,-570,0},{5013,-572,0},{5015,-568,0},{5022,-552,0},{5020,-543,0}, {5023,-538,0},{5023,-533,0},{5027,-527,0},{5032,-522,0},{5035,-515,0},{5040,-515,0}, {5042,-505,0},{5047,-502,0},{5050,-503,0},{5053,-502,0},{5053,-498,0},{5057,-495,0}, {5055,-493,0},{5058,-492,0},{5060,-478,0},{5067,-475,0},{5070,-468,0},{5073,-465,0}, {5078,-455,0},{5090,-455,0},{5102,-452,0},{5102,-447,0},{5098,-435,0},{5098,-432,0}, {5103,-423,0},{5107,-420,0},{5113,-425,0},{5115,-422,0},{5118,-422,0},{5118,-420,0}, {5123,-378,0},{5122,-360,0},{5122,-357,0},{5120,-343,0},{5118,-340,0},{5117,-328,0}, {5120,-320,0},{5120,-307,0},{5122,-300,0},{5123,-300,0},{5132,-302,0},{5132,-298,0}, {5138,-297,0},{5140,-292,0},{5148,-278,0},{5150,-272,0},{5172,-247,0},{5175,-238,0}, {5178,-240,0},{5175,-240,0},{5173,-248,0},{5158,-272,0},{5153,-288,0},{5153,-297,0}, {5155,-297,0},{5155,-298,0},{5153,-302,0},{5148,-312,0},{5145,-313,0},{5145,-317,0}, {5140,-318,0},{5138,-327,0},{5138,-342,0},{5140,-355,0},{5147,-365,0},{5147,-372,0}, {5155,-377,0},{5162,-383,0},{5160,-398,0},{5158,-400,0},{5155,-398,0},{5155,-415,0}, {5153,-415,0},{5153,-422,0},{5155,-430,0},{5158,-428,0},{5162,-428,0},{5163,-423,0}, {5162,-422,0},{5163,-412,0},{5165,-408,0},{5167,-407,0},{5165,-413,0},{5168,-418,0}, {5167,-430,0},{5172,-438,0},{5173,-438,0},{5172,-432,0},{5175,-437,0},{5178,-437,0}, {5175,-440,0},{5177,-445,0},{5173,-443,0},{5172,-467,0},{5165,-470,0},{5165,-475,0}, {5163,-478,0},{5163,-487,0},{5160,-493,0},{5162,-505,0},{5165,-505,0},{5167,-510,0}, {5168,-512,0},{5167,-507,0},{5168,-503,0},{5168,-497,0},{5172,-488,0},{5170,-498,0}, {5172,-517,0},{5168,-517,0},{5172,-523,0},{5173,-525,0},{5173,-520,0},{5177,-517,0}, {5177,-510,0},{5185,-512,0},{5187,-518,0},{5187,-532,0},{5192,-530,0},{5192,-523,0}, {5195,-518,0},{5197,-510,0},{5202,-508,0},{5202,-498,0},{5200,-497,0},{5202,-492,0}, {5203,-492,0},{5202,-488,0},{5202,-483,0},{5205,-483,0},{5207,-477,0},{5210,-473,0}, {5210,-470,0},{5213,-470,0},{5213,-450,0},{5222,-438,0},{5222,-433,0},{5225,-423,0}, {5232,-415,0},{5238,-410,0},{5252,-405,0},{5253,-400,0},{5255,-395,0},{5255,-407,0}, {5260,-413,0},{5270,-407,0},{5273,-398,0},{5272,-403,0},{5273,-407,0},{5278,-413,0}, {5280,-415,0},{5285,-412,0},{5290,-417,0},{5288,-438,0},{5287,-445,0},{5282,-448,0}, {5280,-447,0},{5277,-452,0},{5282,-460,0},{5280,-463,0},{5280,-472,0},{5278,-475,0}, {5280,-475,0},{5285,-472,0},{5292,-462,0},{5293,-453,0},{5303,-437,0},{5312,-435,0}, {5310,-432,0},{5312,-430,0},{5322,-418,0},{5323,-413,0},{5323,-407,0},{5328,-388,0}, {5328,-383,0},{5333,-387,0},{5332,-378,0},{5328,-373,0},{5328,-362,0},{5335,-338,0}, {5335,-330,0},{5333,-328,0},{5323,-308,0},{5327,-307,0},{5338,-320,0},{5340,-317,0}, {5343,-305,0},{5340,-302,0},{5332,-293,0},{5328,-283,0},{5330,-275,0},{5333,-273,0}, {5333,-278,0},{5333,-288,0},{5338,-297,0},{5355,-310,0},{5368,-298,0},{5373,-283,0}, {5373,-303,0},{5380,-307,0},{5392,-305,0},{5395,-292,0},{5393,-288,0},{5397,-283,0}, {5397,-287,0},{5400,-285,0},{5400,-290,0},{5403,-292,0},{5407,-287,0},{5410,-282,0}, {5412,-280,0},{5418,-285,0},{5420,-282,0},{5420,-288,0},{5415,-293,0},{5415,-297,0}, {5420,-303,0},{5412,-308,0},{5408,-315,0},{5407,-313,0},{5412,-323,0},{5415,-323,0}, {5417,-325,0},{5417,-322,0},{5427,-320,0},{5420,-325,0},{5420,-332,0},{5428,-342,0}, {5435,-342,0},{5452,-363,0},{5458,-358,0},{5465,-357,0},{5472,-352,0},{5477,-343,0}, {5480,-343,0},{5487,-338,0},{5490,-332,0},{5488,-332,0},{5487,-327,0},{5490,-325,0}, {5490,-328,0},{5492,-328,0},{5495,-322,0},{5492,-310,0},{5493,-303,0},{5495,-303,0}, {5495,-308,0},{5497,-307,0},{5497,-302,0},{5498,-302,0},{5497,-313,0},{5497,-325,0}, {5498,-343,0},{5498,-345,0},{5498,-352,0},{5497,-353,0},{5498,-357,0},{5488,-357,0}, {5487,-360,0},{5487,-372,0},{5485,-375,0},{5487,-380,0},{5485,-382,0},{5487,-382,0}, {5487,-380,0},{5485,-385,0},{5482,-382,0},{5477,-397,0},{5477,-405,0},{5483,-405,0}, {5477,-408,0},{5477,-413,0},{5483,-422,0},{5487,-420,0},{5483,-427,0},{5487,-435,0}, {5490,-437,0},{5492,-440,0},{5488,-440,0},{5487,-443,0},{5483,-442,0},{5480,-433,0}, {5478,-437,0},{5470,-435,0},{5468,-438,0},{5470,-450,0},{5478,-460,0},{5483,-478,0}, {5487,-480,0},{5487,-483,0},{5483,-493,0},{5480,-497,0},{5470,-490,0},{5468,-487,0}, {5465,-488,0},{5463,-485,0},{5463,-487,0},{5465,-495,0},{5472,-495,0},{5485,-513,0}, {5493,-518,0},{5500,-517,0},{5502,-512,0},{5500,-508,0},{5493,-507,0},{5490,-500,0}, {5492,-498,0},{5500,-505,0},{5503,-507,0},{5513,-502,0},{5522,-487,0},{5532,-483,0}, {5535,-478,0},{5542,-475,0},{5545,-463,0},{5548,-462,0},{5553,-465,0},{5553,-468,0}, {5555,-465,0},{5560,-470,0},{5563,-482,0},{5565,-482,0},{5570,-492,0},{5575,-485,0}, {5582,-490,0},{5588,-490,0},{5593,-488,0},{5597,-478,0},{5593,-472,0},{5592,-448,0}, {5595,-465,0},{5602,-478,0},{5607,-483,0},{5602,-482,0},{5598,-477,0},{5598,-480,0}, {5598,-485,0},{5605,-488,0},{5612,-482,0},{5608,-487,0},{5612,-488,0},{5615,-490,0}, {5610,-492,0},{5607,-488,0},{5598,-490,0},{5598,-495,0},{5597,-492,0},{5587,-498,0}, {5587,-505,0},{5593,-507,0},{5597,-510,0},{5590,-508,0},{5593,-517,0},{5597,-518,0}, {5597,-520,0},{5592,-520,0},{5588,-523,0},{5583,-520,0},{5585,-532,0},{5592,-535,0}, {5598,-535,0},{5605,-530,0},{5610,-522,0},{5612,-520,0},{5615,-508,0},{5620,-505,0}, {5627,-493,0},{5623,-502,0},{5623,-507,0},{5617,-512,0},{5612,-525,0},{5600,-538,0}, {5600,-543,0},{5602,-545,0},{5595,-545,0},{5593,-543,0},{5587,-540,0},{5578,-532,0}, {5577,-533,0},{5575,-538,0},{5572,-545,0},{5565,-548,0},{5560,-548,0},{5558,-545,0}, {5557,-548,0},{5553,-548,0},{5543,-555,0},{5542,-558,0},{5542,-555,0},{5537,-552,0}, {5532,-558,0},{5528,-572,0},{5530,-582,0},{5540,-580,0},{5543,-572,0},{5553,-570,0}, {5557,-572,0},{5562,-568,0},{5567,-568,0},{5583,-545,0},{5577,-560,0},{5580,-567,0}, {5583,-567,0},{5593,-557,0},{5588,-568,0},{5593,-568,0},{5603,-557,0},{5602,-562,0}, {5593,-568,0},{5593,-572,0},{5598,-570,0},{5602,-565,0},{5605,-563,0},{5608,-558,0}, {5608,-553,0},{5612,-557,0},{5618,-552,0},{5612,-560,0},{5613,-562,0},{5622,-555,0}, {5623,-560,0},{5633,-558,0},{5635,-553,0},{5645,-545,0},{5643,-525,0},{5647,-535,0}, {5645,-540,0},{5650,-543,0},{5647,-545,0},{5648,-547,0},{5652,-543,0},{5650,-538,0}, {5652,-532,0},{5655,-525,0},{5652,-537,0},{5655,-542,0},{5662,-535,0},{5663,-530,0}, {5665,-532,0},{5668,-522,0},{5668,-512,0},{5670,-507,0},{5668,-513,0},{5670,-525,0}, {5682,-512,0},{5677,-520,0},{5677,-523,0},{5670,-528,0},{5668,-535,0},{5667,-537,0}, {5662,-548,0},{5653,-557,0},{5648,-570,0},{5650,-572,0},{5652,-578,0},{5653,-577,0}, {5655,-590,0},{5658,-597,0},{5663,-602,0},{5665,-595,0},{5665,-588,0},{5670,-575,0}, {5667,-563,0},{5668,-557,0},{5668,-568,0},{5670,-577,0},{5667,-583,0},{5667,-588,0}, {5668,-620,0},{5672,-623,0},{5675,-615,0},{5675,-603,0},{5677,-597,0},{5675,-592,0}, {5675,-587,0},{5678,-588,0},{5677,-587,0},{5678,-578,0},{5682,-585,0},{5683,-587,0}, {5685,-577,0},{5683,-573,0},{5687,-567,0},{5687,-572,0},{5685,-573,0},{5687,-578,0}, {5688,-573,0},{5688,-593,0},{5690,-590,0},{5690,-585,0},{5692,-588,0},{5700,-583,0}, {5702,-573,0},{5700,-573,0},{5697,-565,0},{5700,-552,0},{5698,-562,0},{5700,-567,0}, {5702,-568,0},{5703,-568,0},{5705,-578,0},{5708,-578,0},{5712,-572,0},{5712,-565,0}, {5708,-553,0},{5710,-543,0},{5710,-555,0},{5713,-557,0},{5715,-567,0},{5717,-568,0}, {5720,-563,0},{5722,-563,0},{5723,-565,0},{5725,-563,0},{5727,-555,0},{5725,-552,0}, {5722,-542,0},{5723,-538,0},{5723,-547,0},{5727,-553,0},{5728,-570,0},{5728,-573,0}, {5733,-567,0},{5737,-552,0},{5742,-545,0},{5737,-555,0},{5735,-560,0},{5737,-563,0}, {5738,-560,0},{5740,-562,0},{5735,-575,0},{5735,-582,0},{5738,-582,0},{5740,-580,0}, {5742,-582,0},{5743,-580,0},{5745,-587,0},{5748,-587,0},{5757,-583,0},{5757,-578,0}, {5753,-575,0},{5755,-572,0},{5750,-565,0},{5753,-565,0},{5752,-562,0},{5753,-552,0}, {5755,-558,0},{5755,-567,0},{5757,-570,0},{5757,-568,0},{5758,-573,0},{5762,-575,0}, {5763,-582,0},{5770,-578,0},{5770,-568,0},{5772,-570,0},{5772,-575,0},{5775,-582,0}, {5778,-580,0},{5785,-583,0},{5787,-570,0},{5785,-568,0},{5778,-567,0},{5777,-562,0}, {5778,-562,0},{5778,-558,0},{5783,-558,0},{5788,-565,0},{5792,-562,0},{5790,-558,0}, {5792,-555,0},{5787,-555,0},{5785,-547,0},{5790,-542,0},{5785,-522,0},{5787,-525,0}, {5792,-538,0},{5793,-540,0},{5793,-537,0},{5790,-530,0},{5792,-523,0},{5787,-513,0}, {5783,-508,0},{5785,-508,0},{5792,-522,0},{5793,-518,0},{5795,-520,0},{5798,-530,0}, {5802,-537,0},{5803,-543,0},{5805,-543,0},{5807,-547,0},{5810,-543,0},{5807,-537,0}, {5808,-535,0},{5807,-527,0},{5808,-525,0},{5812,-527,0},{5812,-523,0},{5813,-528,0}, {5813,-523,0},{5815,-528,0},{5817,-528,0},{5818,-533,0},{5820,-533,0},{5823,-540,0}, {5825,-538,0},{5822,-528,0},{5825,-520,0},{5823,-517,0},{5827,-510,0},{5823,-495,0}, {5825,-498,0},{5825,-493,0},{5825,-505,0},{5828,-513,0},{5832,-512,0},{5832,-515,0}, {5833,-517,0},{5840,-513,0},{5838,-503,0},{5840,-505,0},{5842,-510,0},{5842,-507,0}, {5843,-508,0},{5845,-505,0},{5843,-498,0},{5847,-502,0},{5848,-510,0},{5852,-512,0}, {5855,-503,0},{5863,-500,0},{3567,3458,128},{3563,3457,0},{3558,3443,0}, {3553,3438,0},{3540,3412,0},{3537,3408,0},{3532,3405,0},{3532,3397,0},{3527,3392,0}, {3517,3390,0},{3503,3403,0},{3495,3410,0},{3498,3397,0},{3497,3390,0},{3493,3387,0}, {3497,3382,0},{3497,3377,0},{3497,3370,0},{3495,3367,0},{3492,3363,0},{3487,3363,0}, {3482,3360,0},{3482,3355,0},{3478,3352,0},{3475,3342,0},{3477,3340,0},{3475,3340,0}, {3472,3333,0},{3472,3328,0},{3470,3325,0},{3470,3312,0},{3468,3307,0},{3463,3300,0}, {3460,3300,0},{3457,3303,0},{3457,3298,0},{3457,3293,0},{3465,3292,0},{3467,3288,0}, {3467,3278,0},{3463,3272,0},{3467,3262,0},{3470,3255,0},{3470,3250,0},{3475,3240,0}, {3483,3238,0},{3485,3235,0},{3490,3232,0},{3492,3233,0},{3495,3230,0},{3498,3232,0}, {3507,3227,0},{3510,3228,0},{3503,3238,0},{3505,3243,0},{3507,3247,0},{3517,3255,0}, {3518,3265,0},{3518,3273,0},{3515,3282,0},{3515,3287,0},{3518,3292,0},{3527,3293,0}, {3532,3293,0},{3540,3292,0},{3535,3307,0},{3537,3312,0},{3535,3323,0},{3533,3338,0}, {3533,3357,0},{3537,3367,0},{3540,3375,0},{3540,3385,0},{3543,3397,0},{3550,3413,0}, {3555,3418,0},{3555,3423,0},{3557,3430,0},{3562,3437,0},{3565,3450,0},{3567,3450,0}, {3568,3455,0},{3568,3458,0},{3567,3458,0},{2623,5050,128},{2623,5055,0}, {2623,5058,0},{2620,5062,0},{2618,5060,0},{2620,5057,0},{2618,5055,0},{2613,5062,0}, {2603,5063,0},{2587,5060,0},{2578,5057,0},{2590,5053,0},{2593,5047,0},{2597,5047,0}, {2605,5048,0},{2615,5045,0},{2622,5045,0},{2623,5047,0},{2623,5050,0},{760,7980,128}, {760,7978,0},{757,7978,0},{727,7983,0},{720,7983,0},{718,7985,0},{715,7987,0}, {712,7985,0},{715,7983,0},{720,7982,0},{720,7980,0},{702,7987,0},{698,7987,0}, {693,7983,0},{680,7985,0},{657,7997,0},{648,7998,0},{647,7997,0},{645,7998,0}, {638,8000,0},{632,8002,0},{627,8003,0},{613,8010,0},{603,8018,0},{597,8033,0}, {595,8040,0},{597,8043,0},{593,8047,0},{593,8057,0},{592,8058,0},{593,8062,0}, {595,8065,0},{595,8072,0},{603,8082,0},{603,8087,0},{610,8098,0},{612,8112,0}, {615,8117,0},{618,8120,0},{617,8120,0},{620,8132,0},{625,8142,0},{635,8152,0}, {643,8167,0},{662,8178,0},{667,8178,0},{677,8183,0},{680,8183,0},{683,8185,0}, {700,8188,0},{712,8187,0},{728,8188,0},{747,8183,0},{747,8182,0},{740,8180,0}, {747,8180,0},{745,8177,0},{747,8178,0},{750,8175,0},{752,8177,0},{753,8175,0}, {757,8177,0},{762,8175,0},{763,8173,0},{762,8172,0},{765,8170,0},{772,8167,0}, {773,8160,0},{777,8162,0},{773,8167,0},{770,8168,0},{772,8172,0},{775,8170,0}, {778,8165,0},{783,8163,0},{783,8160,0},{790,8157,0},{792,8160,0},{797,8155,0}, {798,8157,0},{800,8157,0},{798,8153,0},{800,8153,0},{800,8152,0},{803,8150,0}, {805,8148,0},{812,8147,0},{808,8145,0},{808,8142,0},{813,8138,0},{818,8140,0}, {810,8143,0},{817,8145,0},{820,8142,0},{833,8140,0},{835,8137,0},{837,8135,0}, {840,8135,0},{837,8138,0},{848,8137,0},{852,8133,0},{850,8128,0},{847,8128,0}, {845,8127,0},{847,8122,0},{850,8120,0},{852,8117,0},{848,8115,0},{850,8113,0}, {853,8117,0},{850,8122,0},{857,8120,0},{857,8122,0},{853,8123,0},{855,8125,0}, {862,8123,0},{860,8120,0},{862,8123,0},{865,8123,0},{870,8118,0},{872,8118,0}, {870,8117,0},{875,8117,0},{880,8112,0},{887,8108,0},{888,8105,0},{897,8098,0}, {893,8097,0},{893,8093,0},{893,8092,0},{895,8092,0},{897,8093,0},{897,8092,0}, {898,8093,0},{903,8088,0},{903,8092,0},{900,8095,0},{900,8097,0},{902,8095,0}, {912,8090,0},{910,8088,0},{912,8088,0},{913,8087,0},{913,8083,0},{915,8085,0}, {913,8088,0},{927,8082,0},{927,8080,0},{923,8082,0},{927,8078,0},{930,8073,0}, {930,8077,0},{928,8078,0},{930,8080,0},{943,8067,0},{965,8037,0},{977,8027,0}, {983,8025,0},{982,8015,0},{980,8013,0},{977,8018,0},{977,8023,0},{967,8032,0}, {957,8045,0},{965,8032,0},{975,8023,0},{977,8013,0},{982,8012,0},{982,7998,0}, {977,7992,0},{968,7995,0},{967,8000,0},{965,8002,0},{960,8012,0},{960,8013,0}, {963,8010,0},{958,8018,0},{960,8020,0},{963,8017,0},{965,8018,0},{960,8027,0}, {952,8038,0},{953,8045,0},{952,8048,0},{945,8062,0},{945,8057,0},{948,8048,0}, {950,8040,0},{945,8032,0},{947,8027,0},{950,8028,0},{953,8025,0},{955,8017,0}, {960,8007,0},{960,8005,0},{958,8005,0},{952,8015,0},{947,8020,0},{945,8017,0}, {942,8013,0},{940,8005,0},{933,8007,0},{930,8012,0},{927,8012,0},{925,8012,0}, {902,8005,0},{895,7995,0},{893,7992,0},{887,7993,0},{880,7992,0},{873,7995,0}, {863,7995,0},{860,7992,0},{857,7992,0},{853,7987,0},{847,7987,0},{843,7985,0}, {838,7985,0},{827,7983,0},{823,7980,0},{820,7982,0},{817,7982,0},{813,7983,0}, {807,7978,0},{800,7983,0},{798,7980,0},{798,7975,0},{802,7973,0},{805,7975,0}, {808,7973,0},{813,7973,0},{817,7973,0},{820,7973,0},{822,7977,0},{825,7978,0}, {827,7975,0},{828,7975,0},{835,7978,0},{822,7970,0},{813,7970,0},{810,7970,0}, {775,7978,0},{760,7980,0},{138,10398,128},{137,10400,0},{133,10398,0},{132,10395,0}, {128,10387,0},{127,10385,0},{127,10380,0},{130,10375,0},{130,10365,0},{133,10365,0}, {137,10367,0},{140,10367,0},{143,10370,0},{143,10377,0},{145,10382,0},{143,10387,0}, {138,10398,0},{2252,11403,128},{2247,11402,0},{2247,11398,0},{2240,11390,0}, {2237,11392,0},{2237,11395,0},{2238,11395,0},{2237,11398,0},{2235,11403,0}, {2237,11405,0},{2237,11410,0},{2230,11417,0},{2232,11420,0},{2230,11423,0}, {2232,11425,0},{2227,11428,0},{2228,11430,0},{2235,11425,0},{2238,11427,0}, {2238,11428,0},{2237,11437,0},{2237,11438,0},{2240,11437,0},{2243,11438,0}, {2245,11437,0},{2243,11433,0},{2247,11433,0},{2248,11432,0},{2245,11428,0}, {2242,11428,0},{2242,11423,0},{2238,11420,0},{2242,11420,0},{2243,11417,0}, {2245,11417,0},{2245,11420,0},{2248,11427,0},{2247,11427,0},{2250,11432,0}, {2250,11427,0},{2253,11425,0},{2253,11422,0},{2255,11422,0},{2512,12128,128}, {2517,12140,0},{2513,12143,0},{2518,12140,0},{2525,12145,0},{2528,12152,0}, {2528,12157,0},{2527,12160,0},{2518,12165,0},{2520,12167,0},{2520,12168,0}, {2517,12167,0},{2513,12173,0},{2512,12190,0},{2502,12192,0},{2500,12200,0}, {2497,12192,0},{2485,12182,0},{2475,12180,0},{2472,12182,0},{2463,12182,0}, {2462,12183,0},{2460,12188,0},{2458,12183,0},{2452,12185,0},{2450,12182,0}, {2448,12183,0},{2443,12178,0},{2433,12177,0},{2430,12177,0},{2423,12170,0}, {2422,12170,0},{2420,12167,0},{2412,12165,0},{2408,12160,0},{2403,12162,0}, {2402,12163,0},{2397,12160,0},{2390,12160,0},{2363,12152,0},{2348,12150,0}, {2333,12145,0},{2323,12140,0},{2318,12140,0},{2318,12142,0},{2312,12138,0}, {2308,12133,0},{2295,12130,0},{2290,12127,0},{2283,12118,0},{2280,12118,0}, {2277,12117,0},{2273,12113,0},{2272,12108,0},{2263,12102,0},{2258,12100,0}, {2257,12097,0},{2245,12093,0},{2232,12087,0},{2203,12088,0},{2198,12083,0}, {2190,12083,0},{2195,12080,0},{2197,12075,0},{2193,12072,0},{2193,12070,0}, {2198,12070,0},{2202,12067,0},{2210,12070,0},{2217,12068,0},{2230,12062,0}, {2233,12058,0},{2237,12057,0},{2242,12050,0},{2248,12042,0},{2248,12038,0}, {2250,12035,0},{2258,12027,0},{2253,12030,0},{2252,12033,0},{2260,12030,0}, {2265,12023,0},{2268,12025,0},{2278,12020,0},{2283,12020,0},{2285,12018,0}, {2295,12017,0},{2298,12013,0},{2298,12017,0},{2302,12017,0},{2300,12012,0}, {2302,12010,0},{2303,12012,0},{2305,12008,0},{2303,12007,0},{2305,12005,0}, {2307,12005,0},{2310,12010,0},{2312,12005,0},{2312,12010,0},{2315,12005,0}, {2318,12008,0},{2323,12008,0},{2323,12010,0},{2332,12013,0},{2333,12015,0}, {2333,12012,0},{2335,12013,0},{2338,12015,0},{2342,12013,0},{2345,12013,0}, {2347,12013,0},{2348,12013,0},{2362,12012,0},{2368,12015,0},{2370,12017,0}, {2378,12020,0},{2390,12028,0},{2403,12035,0},{2405,12038,0},{2413,12042,0}, {2420,12047,0},{2437,12055,0},{2448,12065,0},{2460,12070,0},{2462,12075,0}, {2467,12077,0},{2467,12083,0},{2468,12082,0},{2473,12087,0},{2488,12092,0}, {2490,12095,0},{2492,12095,0},{2500,12100,0},{2505,12107,0},{2508,12117,0}, {2512,12120,0},{2512,12128,0},{3245,13165,128},{3247,13167,0},{3247,13170,0}, {3248,13173,0},{3250,13172,0},{3252,13168,0},{3258,13170,0},{3258,13173,0}, {3262,13177,0},{3265,13177,0},{3268,13182,0},{3268,13185,0},{3278,13188,0}, {3277,13193,0},{3278,13197,0},{3282,13200,0},{3283,13200,0},{3282,13195,0}, {3287,13200,0},{3290,13198,0},{3293,13207,0},{3293,13205,0},{3293,13200,0}, {3293,13202,0},{3295,13193,0},{3297,13190,0},{3303,13193,0},{3305,13202,0}, {3308,13200,0},{3305,13198,0},{3307,13195,0},{3308,13195,0},{3305,13193,0}, {3307,13190,0},{3307,13187,0},{3308,13188,0},{3312,13192,0},{3312,13182,0}, {3315,13183,0},{3318,13187,0},{3325,13190,0},{3323,13182,0},{3323,13177,0}, {3325,13170,0},{3325,13158,0},{3327,13152,0},{3332,13150,0},{3335,13150,0}, {3335,13158,0},{3337,13162,0},{3337,13163,0},{3342,13163,0},{3342,13170,0}, {3347,13173,0},{3355,13173,0},{3365,13167,0},{3368,13158,0},{3367,13157,0}, {3367,13150,0},{3365,13150,0},{3358,13145,0},{3357,13142,0},{3357,13135,0}, {3357,13127,0},{3358,13125,0},{3360,13120,0},{3362,13110,0},{3365,13107,0}, {3370,13103,0},{3377,13100,0},{3382,13095,0},{3383,13098,0},{3388,13098,0}, {3388,13100,0},{3395,13102,0},{3395,13097,0},{3388,13090,0},{3388,13087,0}, {3392,13085,0},{3392,13080,0},{3392,13075,0},{3393,13070,0},{3392,13067,0}, {3388,13063,0},{3388,13053,0},{3385,13052,0},{3385,13048,0},{3380,13045,0}, {3373,13047,0},{3365,13033,0},{3363,13033,0},{3367,13042,0},{3365,13042,0}, {3360,13040,0},{3357,13030,0},{3358,13027,0},{3360,13027,0},{3362,13023,0}, {3365,13022,0},{3363,13020,0},{3362,13017,0},{3358,13015,0},{3358,13010,0}, {3355,13010,0},{3355,13012,0},{3353,13012,0},{3355,13017,0},{3353,13017,0}, {3350,13012,0},{3348,13005,0},{3345,13002,0},{3345,12998,0},{3347,12997,0}, {3347,12995,0},{3350,12997,0},{3353,12993,0},{3353,12987,0},{3348,12985,0}, {3343,12987,0},{3343,12985,0},{3347,12982,0},{3345,12980,0},{3340,12983,0}, {3340,12987,0},{3338,12988,0},{3333,12985,0},{3328,12985,0},{3328,12982,0}, {3337,12980,0},{3333,12972,0},{3335,12968,0},{3338,12968,0},{3335,12965,0}, {3337,12960,0},{3335,12958,0},{3330,12957,0},{3328,12960,0},{3325,12957,0}, {3320,12957,0},{3318,12965,0},{3313,12968,0},{3312,12967,0},{3310,12967,0}, {3312,12970,0},{3315,12972,0},{3312,12973,0},{3313,12977,0},{3312,12977,0}, {3308,12973,0},{3305,12977,0},{3307,12980,0},{3305,12982,0},{3303,12982,0}, {3305,12988,0},{3302,12993,0},{3298,12995,0},{3292,12993,0},{3283,13000,0}, {3283,12998,0},{3287,12990,0},{3283,12988,0},{3283,12983,0},{3285,12980,0}, {3287,12982,0},{3288,12980,0},{3292,12980,0},{3293,12980,0},{3290,12982,0}, {3292,12983,0},{3298,12982,0},{3300,12977,0},{3298,12975,0},{3302,12975,0}, {3303,12977,0},{3305,12973,0},{3307,12973,0},{3308,12968,0},{3298,12965,0}, {3297,12963,0},{3283,12968,0},{3280,12973,0},{3282,12975,0},{3282,12978,0}, {3278,12977,0},{3277,12980,0},{3273,12982,0},{3272,12983,0},{3272,12987,0}, {3268,12985,0},{3257,12975,0},{3258,12982,0},{3262,12985,0},{3265,12990,0}, {3275,12995,0},{3275,12998,0},{3278,13008,0},{3278,13018,0},{3275,13018,0}, {3273,13020,0},{3272,13020,0},{3268,13017,0},{3267,13013,0},{3262,13013,0}, {3260,13017,0},{3258,13017,0},{3262,13023,0},{3263,13027,0},{3267,13035,0}, {3277,13038,0},{3285,13033,0},{3287,13030,0},{3287,13025,0},{3285,13022,0}, {3283,13017,0},{3283,13012,0},{3285,13010,0},{3290,13018,0},{3295,13022,0}, {3312,13012,0},{3310,13013,0},{3312,13015,0},{3318,13022,0},{3317,13028,0}, {3315,13030,0},{3313,13037,0},{3312,13037,0},{3308,13042,0},{3305,13043,0}, {3300,13042,0},{3292,13043,0},{3287,13052,0},{3285,13052,0},{3283,13055,0}, {3278,13060,0},{3273,13060,0},{3270,13063,0},{3270,13057,0},{3262,13045,0}, {3263,13060,0},{3265,13065,0},{3263,13067,0},{3260,13065,0},{3255,13057,0}, {3253,13057,0},{3250,13060,0},{3250,13055,0},{3245,13057,0},{3238,13050,0}, {3233,13052,0},{3233,13048,0},{3235,13047,0},{3233,13047,0},{3230,13047,0}, {3220,13037,0},{3212,13032,0},{3210,13028,0},{3213,13025,0},{3212,13020,0}, {3210,13018,0},{3207,13020,0},{3200,13017,0},{3198,13020,0},{3192,13022,0}, {3185,13020,0},{3182,13023,0},{3183,13018,0},{3182,13018,0},{3177,13018,0}, {3172,13025,0},{3162,13033,0},{3145,13030,0},{3142,13027,0},{3138,13022,0}, {3142,13017,0},{3140,13012,0},{3133,13020,0},{3132,13020,0},{3130,13022,0}, {3125,13023,0},{3123,13048,0},{3120,13052,0},{3117,13052,0},{3117,13057,0}, {3115,13058,0},{3118,13063,0},{3127,13067,0},{3132,13057,0},{3140,13053,0}, {3147,13052,0},{3160,13057,0},{3162,13060,0},{3170,13062,0},{3172,13068,0}, {3170,13080,0},{3165,13080,0},{3160,13080,0},{3155,13075,0},{3157,13072,0}, {3160,13072,0},{3162,13068,0},{3160,13062,0},{3158,13060,0},{3155,13063,0}, {3153,13070,0},{3148,13070,0},{3140,13077,0},{3132,13080,0},{3125,13080,0}, {3112,13073,0},{3107,13068,0},{3100,13067,0},{3100,13070,0},{3105,13075,0}, {3112,13095,0},{3115,13098,0},{3122,13102,0},{3127,13113,0},{3128,13110,0}, {3132,13112,0},{3133,13110,0},{3135,13100,0},{3145,13107,0},{3147,13113,0}, {3147,13120,0},{3145,13122,0},{3142,13123,0},{3138,13125,0},{3138,13132,0}, {3137,13133,0},{3137,13135,0},{3147,13137,0},{3148,13140,0},{3152,13138,0}, {3155,13138,0},{3162,13145,0},{3172,13147,0},{3178,13150,0},{3182,13147,0}, {3183,13145,0},{3187,13145,0},{3190,13145,0},{3197,13147,0},{3202,13152,0}, {3213,13155,0},{3215,13153,0},{3215,13155,0},{3222,13155,0},{3232,13160,0}, {3233,13162,0},{3238,13163,0},{3242,13167,0},{3245,13165,0},{3408,13460,128}, {3403,13458,0},{3398,13460,0},{3398,13465,0},{3392,13470,0},{3390,13470,0}, {3387,13465,0},{3383,13465,0},{3383,13472,0},{3382,13468,0},{3382,13475,0}, {3377,13463,0},{3368,13450,0},{3362,13438,0},{3357,13437,0},{3355,13432,0}, {3345,13425,0},{3333,13420,0},{3323,13418,0},{3328,13412,0},{3335,13405,0}, {3338,13403,0},{3343,13397,0},{3347,13393,0},{3352,13373,0},{3350,13360,0}, {3347,13355,0},{3343,13345,0},{3340,13345,0},{3338,13335,0},{3335,13333,0}, {3337,13332,0},{3337,13328,0},{3332,13325,0},{3328,13325,0},{3325,13327,0}, {3323,13325,0},{3317,13322,0},{3315,13323,0},{3313,13317,0},{3307,13312,0}, {3302,13310,0},{3302,13303,0},{3300,13302,0},{3287,13300,0},{3283,13297,0}, {3280,13297,0},{3275,13303,0},{3270,13302,0},{3272,13298,0},{3277,13295,0}, {3277,13290,0},{3275,13288,0},{3277,13287,0},{3273,13280,0},{3275,13275,0}, {3278,13272,0},{3275,13265,0},{3277,13263,0},{3283,13267,0},{3288,13272,0}, {3290,13272,0},{3290,13260,0},{3293,13257,0},{3292,13257,0},{3293,13253,0}, {3292,13252,0},{3288,13253,0},{3290,13248,0},{3300,13250,0},{3300,13248,0}, {3303,13248,0},{3303,13242,0},{3305,13248,0},{3307,13247,0},{3308,13247,0}, {3312,13245,0},{3312,13248,0},{3313,13243,0},{3315,13243,0},{3317,13245,0}, {3318,13243,0},{3318,13240,0},{3317,13242,0},{3318,13240,0},{3318,13242,0}, {3317,13247,0},{3318,13250,0},{3325,13253,0},{3325,13250,0},{3325,13248,0}, {3327,13248,0},{3330,13252,0},{3328,13242,0},{3330,13240,0},{3332,13238,0}, {3333,13238,0},{3333,13242,0},{3337,13242,0},{3335,13240,0},{3337,13238,0}, {3342,13240,0},{3343,13240,0},{3345,13242,0},{3347,13237,0},{3345,13235,0}, {3345,13230,0},{3338,13218,0},{3335,13215,0},{3335,13210,0},{3337,13210,0}, {3333,13205,0},{3333,13202,0},{3340,13210,0},{3340,13215,0},{3342,13215,0}, {3345,13225,0},{3347,13227,0},{3352,13240,0},{3360,13248,0},{3367,13263,0}, {3375,13270,0},{3388,13272,0},{3390,13277,0},{3398,13278,0},{3405,13292,0}, {3410,13292,0},{3410,13290,0},{3413,13293,0},{3410,13298,0},{3402,13305,0}, {3395,13307,0},{3392,13315,0},{3392,13322,0},{3395,13325,0},{3397,13327,0}, {3398,13332,0},{3397,13333,0},{3398,13335,0},{3397,13337,0},{3397,13353,0}, {3405,13362,0},{3410,13365,0},{3420,13363,0},{3425,13357,0},{3423,13365,0}, {3422,13367,0},{3425,13375,0},{3428,13375,0},{3433,13388,0},{3437,13390,0}, {3433,13408,0},{3437,13410,0},{3435,13412,0},{3437,13413,0},{3438,13413,0}, {3437,13417,0},{3432,13417,0},{3432,13418,0},{3435,13422,0},{3432,13427,0}, {3428,13427,0},{3425,13435,0},{3425,13440,0},{3422,13443,0},{3422,13457,0}, {3423,13462,0},{3420,13460,0},{3420,13462,0},{3423,13465,0},{3418,13463,0}, {3418,13460,0},{3417,13463,0},{3413,13462,0},{3407,13460,0},{4143,14113,128}, {4137,14122,0},{4135,14127,0},{4135,14135,0},{4137,14142,0},{4142,14145,0}, {4140,14147,0},{4137,14147,0},{4132,14145,0},{4117,14140,0},{4110,14140,0}, {4073,14142,0},{4060,14147,0},{4053,14148,0},{4052,14152,0},{4053,14158,0}, {4043,14168,0},{4027,14182,0},{4022,14183,0},{4018,14180,0},{4013,14188,0}, {4010,14183,0},{4007,14183,0},{4000,14190,0},{3998,14195,0},{3995,14195,0}, {3992,14193,0},{3988,14197,0},{3978,14198,0},{3978,14200,0},{3958,14195,0}, {3963,14202,0},{3963,14203,0},{3958,14203,0},{3957,14203,0},{3955,14207,0}, {3948,14200,0},{3947,14197,0},{3945,14195,0},{3943,14197,0},{3948,14203,0}, {3947,14205,0},{3945,14205,0},{3942,14203,0},{3942,14198,0},{3938,14193,0}, {3937,14197,0},{3935,14197,0},{3935,14192,0},{3933,14190,0},{3935,14198,0}, {3930,14197,0},{3930,14190,0},{3928,14193,0},{3927,14190,0},{3925,14190,0}, {3925,14195,0},{3922,14195,0},{3920,14187,0},{3918,14193,0},{3915,14190,0}, {3915,14185,0},{3910,14192,0},{3908,14188,0},{3910,14182,0},{3907,14187,0}, {3905,14187,0},{3905,14182,0},{3902,14185,0},{3903,14180,0},{3902,14175,0}, {3903,14172,0},{3898,14175,0},{3897,14172,0},{3897,14173,0},{3895,14172,0}, {3897,14167,0},{3900,14168,0},{3900,14163,0},{3885,14168,0},{3888,14163,0}, {3888,14160,0},{3885,14158,0},{3882,14160,0},{3877,14152,0},{3873,14157,0}, {3870,14157,0},{3870,14153,0},{3868,14152,0},{3865,14147,0},{3863,14153,0}, {3858,14150,0},{3857,14147,0},{3855,14150,0},{3853,14150,0},{3855,14153,0}, {3853,14153,0},{3852,14155,0},{3848,14153,0},{3850,14150,0},{3847,14150,0}, {3843,14150,0},{3843,14147,0},{3840,14148,0},{3838,14155,0},{3837,14150,0}, {3835,14153,0},{3832,14152,0},{3830,14153,0},{3827,14153,0},{3830,14145,0}, {3833,14147,0},{3833,14143,0},{3837,14143,0},{3838,14142,0},{3840,14130,0}, {3837,14118,0},{3832,14117,0},{3832,14113,0},{3837,14113,0},{3837,14108,0}, {3832,14105,0},{3830,14108,0},{3827,14103,0},{3815,14095,0},{3803,14092,0}, {3793,14092,0},{3778,14097,0},{3772,14102,0},{3767,14100,0},{3763,14103,0}, {3748,14103,0},{3737,14103,0},{3718,14100,0},{3715,14102,0},{3708,14098,0}, {3697,14097,0},{3693,14093,0},{3693,14090,0},{3690,14082,0},{3687,14080,0}, {3683,14080,0},{3678,14075,0},{3665,14072,0},{3647,14062,0},{3635,14062,0}, {3627,14057,0},{3608,14060,0},{3580,14078,0},{3575,14083,0},{3573,14087,0}, {3570,14088,0},{3568,14087,0},{3570,14085,0},{3567,14063,0},{3553,14047,0}, {3538,14040,0},{3522,14042,0},{3517,14038,0},{3517,14035,0},{3513,14033,0}, {3510,14022,0},{3510,14013,0},{3507,14012,0},{3500,14000,0},{3492,13995,0}, {3488,13987,0},{3490,13983,0},{3495,13977,0},{3500,13987,0},{3502,13985,0}, {3503,13983,0},{3505,13985,0},{3513,13983,0},{3517,13983,0},{3520,13987,0}, {3522,13988,0},{3528,13985,0},{3530,13978,0},{3533,13990,0},{3537,13992,0}, {3542,13992,0},{3543,13997,0},{3555,14012,0},{3557,14010,0},{3558,14008,0}, {3563,14007,0},{3567,13997,0},{3565,13993,0},{3562,13988,0},{3565,13985,0}, {3562,13983,0},{3562,13980,0},{3563,13978,0},{3557,13977,0},{3552,13978,0}, {3550,13978,0},{3547,13965,0},{3540,13970,0},{3538,13963,0},{3535,13965,0}, {3532,13963,0},{3528,13965,0},{3525,13975,0},{3520,13972,0},{3518,13967,0}, {3513,13968,0},{3512,13963,0},{3513,13962,0},{3518,13962,0},{3522,13962,0}, {3528,13955,0},{3530,13943,0},{3528,13927,0},{3523,13917,0},{3518,13913,0}, {3513,13917,0},{3513,13912,0},{3505,13908,0},{3503,13910,0},{3498,13908,0}, {3493,13915,0},{3487,13913,0},{3483,13908,0},{3477,13907,0},{3473,13900,0}, {3468,13898,0},{3463,13898,0},{3463,13897,0},{3465,13895,0},{3465,13893,0}, {3460,13885,0},{3460,13880,0},{3467,13877,0},{3468,13875,0},{3472,13875,0}, {3475,13878,0},{3477,13877,0},{3483,13877,0},{3487,13875,0},{3490,13880,0}, {3495,13877,0},{3500,13878,0},{3502,13890,0},{3503,13892,0},{3508,13883,0}, {3512,13875,0},{3510,13857,0},{3500,13850,0},{3498,13850,0},{3500,13852,0}, {3500,13853,0},{3498,13853,0},{3488,13835,0},{3485,13833,0},{3480,13833,0}, {3475,13830,0},{3472,13823,0},{3467,13820,0},{3462,13820,0},{3458,13823,0}, {3465,13798,0},{3463,13782,0},{3465,13768,0},{3467,13760,0},{3463,13733,0}, {3457,13713,0},{3458,13702,0},{3463,13707,0},{3463,13708,0},{3462,13712,0}, {3465,13715,0},{3465,13718,0},{3470,13730,0},{3472,13735,0},{3473,13733,0}, {3477,13732,0},{3480,13728,0},{3478,13725,0},{3480,13722,0},{3477,13717,0}, {3477,13702,0},{3483,13698,0},{3492,13698,0},{3485,13693,0},{3478,13692,0}, {3468,13697,0},{3468,13693,0},{3473,13687,0},{3475,13685,0},{3482,13687,0}, {3487,13683,0},{3492,13682,0},{3495,13683,0},{3500,13688,0},{3505,13690,0}, {3508,13690,0},{3507,13687,0},{3508,13685,0},{3502,13675,0},{3502,13672,0}, {3498,13665,0},{3495,13663,0},{3492,13665,0},{3485,13663,0},{3475,13653,0}, {3470,13652,0},{3465,13655,0},{3460,13653,0},{3458,13663,0},{3455,13667,0}, {3450,13677,0},{3448,13685,0},{3443,13688,0},{3443,13692,0},{3437,13692,0}, {3437,13688,0},{3435,13688,0},{3435,13690,0},{3433,13688,0},{3427,13690,0}, {3423,13683,0},{3427,13677,0},{3427,13685,0},{3427,13683,0},{3428,13685,0}, {3430,13685,0},{3432,13682,0},{3428,13680,0},{3430,13677,0},{3428,13677,0}, {3428,13670,0},{3433,13673,0},{3433,13670,0},{3432,13665,0},{3430,13667,0}, {3425,13660,0},{3427,13657,0},{3425,13655,0},{3427,13652,0},{3422,13650,0}, {3420,13635,0},{3417,13630,0},{3413,13628,0},{3412,13632,0},{3408,13632,0}, {3408,13628,0},{3408,13627,0},{3410,13625,0},{3408,13623,0},{3407,13622,0}, {3402,13628,0},{3397,13627,0},{3397,13625,0},{3398,13623,0},{3397,13620,0}, {3393,13623,0},{3393,13620,0},{3392,13620,0},{3392,13617,0},{3388,13615,0}, {3387,13610,0},{3365,13598,0},{3363,13595,0},{3360,13593,0},{3358,13593,0}, {3358,13597,0},{3352,13588,0},{3350,13582,0},{3347,13578,0},{3343,13578,0}, {3343,13577,0},{3345,13577,0},{3353,13545,0},{3358,13540,0},{3363,13538,0}, {3365,13533,0},{3368,13535,0},{3368,13538,0},{3370,13540,0},{3375,13532,0}, {3377,13525,0},{3382,13518,0},{3387,13515,0},{3388,13507,0},{3390,13508,0}, {3392,13508,0},{3395,13512,0},{3395,13508,0},{3397,13508,0},{3400,13515,0}, {3403,13517,0},{3405,13513,0},{3407,13510,0},{3412,13513,0},{3413,13520,0}, {3418,13513,0},{3420,13513,0},{3423,13512,0},{3425,13507,0},{3428,13507,0}, {3432,13512,0},{3435,13522,0},{3438,13530,0},{3447,13538,0},{3450,13540,0}, {3452,13543,0},{3455,13545,0},{3460,13545,0},{3463,13545,0},{3465,13542,0}, {3470,13542,0},{3470,13537,0},{3472,13533,0},{3468,13522,0},{3463,13517,0}, {3462,13507,0},{3463,13497,0},{3475,13477,0},{3478,13467,0},{3475,13450,0}, {3478,13448,0},{3472,13442,0},{3473,13438,0},{3472,13435,0},{3470,13435,0}, {3470,13433,0},{3473,13423,0},{3473,13422,0},{3472,13422,0},{3468,13428,0}, {3463,13417,0},{3462,13418,0},{3458,13413,0},{3458,13410,0},{3458,13407,0}, {3460,13403,0},{3460,13400,0},{3458,13393,0},{3457,13393,0},{3455,13395,0}, {3458,13398,0},{3458,13405,0},{3455,13403,0},{3453,13400,0},{3452,13400,0}, {3453,13398,0},{3452,13397,0},{3445,13393,0},{3447,13383,0},{3445,13382,0}, {3443,13382,0},{3443,13380,0},{3445,13378,0},{3448,13377,0},{3452,13370,0}, {3442,13347,0},{3443,13347,0},{3447,13352,0},{3448,13352,0},{3447,13342,0}, {3445,13342,0},{3437,13337,0},{3432,13327,0},{3433,13327,0},{3437,13332,0}, {3438,13328,0},{3438,13325,0},{3442,13327,0},{3442,13325,0},{3435,13322,0}, {3435,13318,0},{3432,13320,0},{3428,13320,0},{3428,13317,0},{3428,13313,0}, {3425,13308,0},{3432,13307,0},{3432,13308,0},{3435,13310,0},{3433,13312,0}, {3432,13312,0},{3432,13313,0},{3435,13315,0},{3435,13317,0},{3438,13315,0}, {3438,13308,0},{3433,13307,0},{3432,13303,0},{3432,13290,0},{3428,13285,0}, {3430,13282,0},{3428,13280,0},{3427,13277,0},{3423,13278,0},{3423,13277,0}, {3420,13263,0},{3422,13260,0},{3418,13257,0},{3420,13255,0},{3422,13257,0}, {3425,13252,0},{3428,13250,0},{3432,13250,0},{3433,13253,0},{3435,13252,0}, {3435,13243,0},{3437,13240,0},{3435,13237,0},{3433,13232,0},{3423,13222,0}, {3415,13223,0},{3413,13223,0},{3412,13222,0},{3410,13220,0},{3398,13222,0}, {3395,13218,0},{3395,13213,0},{3393,13213,0},{3383,13215,0},{3377,13205,0}, {3377,13203,0},{3380,13207,0},{3383,13207,0},{3383,13210,0},{3387,13210,0}, {3390,13207,0},{3392,13197,0},{3400,13185,0},{3398,13182,0},{3397,13182,0}, {3397,13178,0},{3398,13178,0},{3402,13183,0},{3405,13175,0},{3402,13162,0}, {3403,13160,0},{3402,13158,0},{3400,13160,0},{3398,13158,0},{3400,13155,0}, {3400,13152,0},{3403,13148,0},{3400,13147,0},{3400,13145,0},{3398,13145,0}, {3398,13143,0},{3400,13142,0},{3398,13140,0},{3400,13140,0},{3403,13138,0}, {3395,13133,0},{3392,13127,0},{3395,13122,0},{3393,13120,0},{3393,13117,0}, {3398,13117,0},{3402,13110,0},{3403,13103,0},{3398,13098,0},{3395,13093,0}, {3392,13092,0},{3393,13088,0},{3395,13090,0},{3403,13090,0},{3410,13087,0}, {3418,13093,0},{3428,13087,0},{3435,13090,0},{3437,13102,0},{3438,13100,0}, {3438,13093,0},{3442,13095,0},{3443,13098,0},{3440,13102,0},{3442,13107,0}, {3442,13112,0},{3437,13115,0},{3438,13118,0},{3442,13117,0},{3442,13118,0}, {3443,13123,0},{3442,13125,0},{3440,13127,0},{3440,13122,0},{3437,13120,0}, {3438,13123,0},{3438,13128,0},{3440,13133,0},{3442,13140,0},{3445,13138,0}, {3448,13145,0},{3452,13147,0},{3455,13153,0},{3460,13155,0},{3460,13160,0}, {3463,13158,0},{3465,13160,0},{3465,13167,0},{3470,13185,0},{3473,13187,0}, {3482,13198,0},{3487,13202,0},{3487,13205,0},{3492,13208,0},{3500,13222,0}, {3503,13230,0},{3512,13238,0},{3517,13242,0},{3528,13263,0},{3537,13268,0}, {3540,13263,0},{3542,13263,0},{3543,13268,0},{3543,13275,0},{3545,13273,0}, {3550,13285,0},{3550,13297,0},{3552,13297,0},{3555,13305,0},{3558,13308,0}, {3555,13315,0},{3557,13332,0},{3553,13325,0},{3550,13325,0},{3545,13332,0}, {3545,13338,0},{3545,13342,0},{3550,13348,0},{3552,13357,0},{3548,13378,0}, {3552,13400,0},{3552,13412,0},{3553,13427,0},{3558,13430,0},{3565,13452,0}, {3563,13462,0},{3565,13477,0},{3563,13483,0},{3565,13487,0},{3563,13492,0}, {3567,13498,0},{3568,13503,0},{3573,13508,0},{3577,13522,0},{3572,13528,0}, {3568,13530,0},{3565,13530,0},{3565,13527,0},{3557,13520,0},{3553,13518,0}, {3553,13522,0},{3555,13522,0},{3558,13523,0},{3555,13527,0},{3553,13525,0}, {3550,13530,0},{3552,13532,0},{3543,13532,0},{3548,13535,0},{3547,13538,0}, {3548,13540,0},{3550,13540,0},{3550,13535,0},{3553,13535,0},{3555,13540,0}, {3558,13545,0},{3552,13548,0},{3553,13552,0},{3548,13552,0},{3550,13558,0}, {3553,13567,0},{3552,13567,0},{3548,13562,0},{3548,13573,0},{3552,13577,0}, {3552,13572,0},{3555,13570,0},{3553,13577,0},{3552,13580,0},{3553,13583,0}, {3557,13582,0},{3557,13585,0},{3558,13585,0},{3560,13583,0},{3563,13583,0}, {3560,13587,0},{3562,13597,0},{3563,13598,0},{3565,13597,0},{3568,13598,0}, {3570,13597,0},{3573,13602,0},{3573,13603,0},{3570,13605,0},{3567,13603,0}, {3565,13605,0},{3565,13608,0},{3578,13610,0},{3587,13600,0},{3592,13600,0}, {3595,13597,0},{3598,13597,0},{3600,13600,0},{3610,13605,0},{3615,13612,0}, {3623,13613,0},{3625,13622,0},{3633,13630,0},{3637,13638,0},{3660,13660,0}, {3675,13672,0},{3688,13677,0},{3697,13677,0},{3705,13672,0},{3713,13673,0}, {3713,13668,0},{3718,13668,0},{3725,13673,0},{3732,13673,0},{3735,13677,0}, {3738,13685,0},{3738,13692,0},{3742,13703,0},{3748,13713,0},{3752,13727,0}, {3750,13735,0},{3747,13735,0},{3743,13737,0},{3742,13727,0},{3737,13723,0}, {3735,13727,0},{3732,13727,0},{3728,13723,0},{3728,13712,0},{3720,13707,0}, {3718,13703,0},{3718,13700,0},{3722,13693,0},{3713,13687,0},{3712,13688,0}, {3710,13687,0},{3707,13687,0},{3708,13692,0},{3707,13693,0},{3703,13698,0}, {3708,13703,0},{3708,13705,0},{3695,13705,0},{3685,13698,0},{3678,13708,0}, {3675,13720,0},{3675,13732,0},{3678,13738,0},{3685,13742,0},{3690,13742,0}, {3693,13745,0},{3698,13768,0},{3707,13793,0},{3710,13802,0},{3717,13810,0}, {3717,13825,0},{3730,13842,0},{3737,13855,0},{3752,13865,0},{3758,13873,0}, {3773,13880,0},{3780,13883,0},{3790,13898,0},{3800,13923,0},{3807,13935,0}, {3815,13942,0},{3822,13945,0},{3835,13945,0},{3843,13948,0},{3867,13962,0}, {3872,13970,0},{3878,13977,0},{3907,13988,0},{3927,13992,0},{3930,13997,0}, {3938,14002,0},{3958,14007,0},{3980,14003,0},{3985,14000,0},{3988,13992,0}, {3988,13987,0},{3987,13985,0},{3985,13983,0},{3985,13975,0},{3993,13970,0}, {3993,13972,0},{4000,13970,0},{3995,13982,0},{3998,13990,0},{4022,14002,0}, {4033,14002,0},{4042,13993,0},{4053,13993,0},{4057,13990,0},{4058,13987,0}, {4060,13985,0},{4067,13997,0},{4073,14000,0},{4075,14002,0},{4073,14010,0}, {4075,14015,0},{4080,14027,0},{4102,14032,0},{4098,14037,0},{4098,14038,0}, {4102,14037,0},{4102,14038,0},{4103,14033,0},{4110,14032,0},{4112,14027,0}, {4113,14032,0},{4125,14035,0},{4118,14047,0},{4122,14057,0},{4118,14065,0}, {4108,14063,0},{4093,14065,0},{4088,14068,0},{4083,14072,0},{4082,14075,0}, {4083,14082,0},{4085,14083,0},{4090,14087,0},{4093,14085,0},{4100,14088,0}, {4097,14095,0},{4093,14098,0},{4087,14108,0},{4085,14113,0},{4087,14115,0}, {4088,14118,0},{4098,14123,0},{4108,14125,0},{4115,14128,0},{4123,14123,0}, {4127,14118,0},{4127,14117,0},{4125,14113,0},{4123,14115,0},{4118,14107,0}, {4118,14100,0},{4117,14095,0},{4115,14087,0},{4112,14080,0},{4113,14078,0}, {4117,14077,0},{4123,14078,0},{4133,14083,0},{4140,14083,0},{4145,14088,0}, {4153,14092,0},{4148,14102,0},{4147,14108,0},{4143,14113,0},{4552,14195,128}, {4538,14207,0},{4533,14218,0},{4518,14235,0},{4505,14252,0},{4490,14262,0}, {4470,14282,0},{4448,14313,0},{4440,14328,0},{4437,14337,0},{4433,14338,0}, {4427,14350,0},{4418,14378,0},{4418,14368,0},{4412,14373,0},{4410,14377,0}, {4410,14390,0},{4410,14393,0},{4413,14398,0},{4413,14402,0},{4412,14417,0}, {4410,14417,0},{4408,14413,0},{4407,14412,0},{4403,14410,0},{4402,14415,0}, {4403,14418,0},{4410,14420,0},{4410,14427,0},{4405,14427,0},{4395,14437,0}, {4392,14472,0},{4392,14478,0},{4395,14483,0},{4408,14500,0},{4420,14518,0}, {4435,14535,0},{4427,14538,0},{4417,14532,0},{4413,14527,0},{4405,14525,0}, {4400,14518,0},{4393,14513,0},{4390,14512,0},{4383,14512,0},{4377,14507,0}, {4367,14513,0},{4362,14520,0},{4358,14522,0},{4337,14530,0},{4330,14538,0}, {4332,14533,0},{4335,14528,0},{4333,14527,0},{4332,14525,0},{4330,14532,0}, {4328,14530,0},{4327,14532,0},{4325,14547,0},{4323,14552,0},{4327,14550,0}, {4333,14558,0},{4335,14563,0},{4338,14565,0},{4338,14572,0},{4338,14575,0}, {4337,14582,0},{4330,14568,0},{4330,14562,0},{4327,14557,0},{4322,14557,0}, {4318,14552,0},{4317,14553,0},{4318,14547,0},{4317,14528,0},{4313,14520,0}, {4313,14515,0},{4310,14512,0},{4307,14517,0},{4307,14510,0},{4303,14510,0}, {4302,14507,0},{4303,14500,0},{4300,14503,0},{4298,14498,0},{4298,14487,0}, {4300,14483,0},{4303,14485,0},{4305,14480,0},{4298,14473,0},{4292,14477,0}, {4295,14457,0},{4293,14447,0},{4295,14438,0},{4300,14433,0},{4297,14415,0}, {4290,14398,0},{4285,14390,0},{4273,14377,0},{4263,14360,0},{4238,14338,0}, {4228,14333,0},{4217,14333,0},{4205,14332,0},{4198,14327,0},{4192,14323,0}, {4197,14318,0},{4203,14310,0},{4212,14293,0},{4213,14280,0},{4218,14265,0}, {4223,14258,0},{4225,14248,0},{4235,14230,0},{4243,14218,0},{4248,14202,0}, {4255,14192,0},{4260,14178,0},{4262,14167,0},{4260,14157,0},{4257,14143,0}, {4245,14122,0},{4240,14112,0},{4230,14098,0},{4232,14093,0},{4233,14093,0}, {4232,14098,0},{4233,14098,0},{4237,14092,0},{4243,14088,0},{4250,14080,0}, {4255,14075,0},{4258,14068,0},{4257,14047,0},{4247,14035,0},{4238,14030,0}, {4232,14028,0},{4225,14028,0},{4218,14043,0},{4210,14053,0},{4212,14073,0}, {4207,14080,0},{4202,14083,0},{4198,14090,0},{4190,14097,0},{4188,14110,0}, {4180,14120,0},{4178,14113,0},{4172,14103,0},{4170,14098,0},{4175,14092,0}, {4177,14082,0},{4177,14077,0},{4173,14070,0},{4177,14070,0},{4178,14072,0}, {4180,14073,0},{4182,14070,0},{4182,14065,0},{4178,14062,0},{4173,14060,0}, {4168,14045,0},{4163,14043,0},{4153,14045,0},{4152,14042,0},{4148,14028,0}, {4140,14020,0},{4142,14015,0},{4142,14007,0},{4145,14003,0},{4153,13998,0}, {4160,13998,0},{4168,14002,0},{4175,14007,0},{4180,14008,0},{4182,14013,0}, {4187,14012,0},{4190,14015,0},{4198,14013,0},{4208,14005,0},{4213,13993,0}, {4218,13988,0},{4222,13982,0},{4225,13978,0},{4232,13977,0},{4245,13983,0}, {4262,13983,0},{4265,13987,0},{4268,13990,0},{4268,14005,0},{4273,14010,0}, {4275,14013,0},{4282,14018,0},{4280,14022,0},{4275,14027,0},{4277,14030,0}, {4282,14032,0},{4288,14038,0},{4300,14053,0},{4315,14042,0},{4318,14035,0}, {4323,14032,0},{4332,14037,0},{4333,14043,0},{4337,14047,0},{4330,14063,0}, {4327,14067,0},{4323,14073,0},{4318,14080,0},{4323,14102,0},{4322,14102,0}, {4318,14100,0},{4313,14117,0},{4313,14120,0},{4318,14128,0},{4328,14140,0}, {4338,14143,0},{4352,14135,0},{4358,14138,0},{4372,14133,0},{4378,14138,0}, {4382,14143,0},{4382,14148,0},{4385,14157,0},{4395,14165,0},{4403,14167,0}, {4430,14165,0},{4443,14175,0},{4462,14180,0},{4485,14177,0},{4497,14172,0}, {4513,14160,0},{4518,14158,0},{4523,14158,0},{4535,14165,0},{4540,14163,0}, {4543,14165,0},{4543,14168,0},{4540,14170,0},{4542,14182,0},{4543,14187,0}, {4550,14190,0},{4552,14193,0},{4550,14197,0},{5433,1312,129},{5437,1313,1}, {5438,1327,1},{5438,1323,1},{5442,1323,1},{5443,1322,1},{5442,1315,1},{5445,1318,1}, {5448,1327,1},{5448,1323,1},{5452,1323,1},{5452,1317,1},{5455,1315,1},{5455,1327,1}, {5452,1330,1},{5455,1330,1},{5458,1337,1},{5452,1335,1},{5453,1340,1},{5455,1337,1}, {5455,1338,1},{5452,1342,1},{5450,1342,1},{5448,1347,1},{5448,1350,1},{5455,1350,1}, {5457,1352,1},{5455,1347,1},{5458,1338,1},{5462,1337,1},{5457,1330,1},{5457,1325,1}, {5463,1330,1},{5463,1323,1},{5463,1322,1},{5465,1323,1},{5467,1328,1},{5468,1342,1}, {5467,1345,1},{5463,1338,1},{5458,1342,1},{5457,1347,1},{5458,1365,1},{5457,1368,1}, {5453,1368,1},{5448,1358,1},{5445,1358,1},{5440,1362,1},{5440,1368,1},{5433,1377,1}, {5432,1373,1},{5427,1372,1},{5428,1370,1},{5428,1372,1},{5430,1372,1},{5430,1365,1}, {5432,1372,1},{5432,1362,1},{5435,1368,1},{5435,1365,1},{5433,1362,1},{5435,1358,1}, {5433,1350,1},{5428,1340,1},{5427,1335,1},{5425,1337,1},{5427,1337,1},{5427,1342,1}, {5423,1343,1},{5422,1340,1},{5425,1330,1},{5425,1332,1},{5428,1333,1},{5425,1327,1}, {5427,1320,1},{5430,1320,1},{5428,1315,1},{5430,1315,1},{5430,1318,1},{5433,1312,1}, {5447,1100,129},{5453,1107,1},{5450,1123,1},{5442,1132,1},{5442,1120,1}, {5442,1117,1},{5440,1118,1},{5442,1112,1},{5445,1110,1},{5445,1102,1},{5443,1103,1}, {5445,1102,1},{5447,1100,1},{5895,-268,129},{5892,-270,1},{5892,-277,1}, {5888,-283,1},{5890,-287,1},{5888,-292,1},{5897,-297,1},{5893,-308,1},{5893,-307,1}, {5893,-312,1},{5892,-312,1},{5892,-320,1},{5897,-323,1},{5900,-320,1},{5903,-322,1}, {5902,-325,1},{5900,-323,1},{5902,-328,1},{5898,-325,1},{5895,-330,1},{5897,-335,1}, {5902,-337,1},{5905,-333,1},{5912,-335,1},{5913,-332,1},{5915,-322,1},{5912,-310,1}, {5912,-308,1},{5910,-305,1},{5910,-307,1},{5907,-300,1},{5903,-302,1},{5905,-307,1}, {5900,-313,1},{5898,-307,1},{5900,-305,1},{5902,-302,1},{5900,-295,1},{5902,-295,1}, {5900,-292,1},{5897,-285,1},{5898,-285,1},{5898,-278,1},{5897,-278,1},{5895,-283,1}, {5893,-282,1},{5897,-275,1},{5895,-268,1},{5442,-435,129},{5433,-437,1}, {5430,-430,1},{5423,-437,1},{5422,-440,1},{5418,-440,1},{5415,-447,1},{5413,-448,1}, {5408,-458,1},{5405,-462,1},{5407,-463,1},{5407,-467,1},{5408,-470,1},{5407,-475,1}, {5407,-478,1},{5413,-473,1},{5422,-472,1},{5425,-462,1},{5437,-453,1},{5438,-448,1}, {5442,-437,1},{5442,-435,1},{5840,-617,129},{5835,-620,1},{5833,-615,1}, {5828,-627,1},{5822,-635,1},{5820,-628,1},{5822,-623,1},{5825,-615,1},{5820,-613,1}, {5817,-623,1},{5818,-628,1},{5820,-638,1},{5813,-635,1},{5808,-653,1},{5808,-643,1}, {5810,-640,1},{5807,-637,1},{5800,-640,1},{5802,-655,1},{5798,-647,1},{5793,-648,1}, {5793,-652,1},{5793,-655,1},{5792,-655,1},{5792,-658,1},{5795,-663,1},{5792,-662,1}, {5793,-668,1},{5798,-673,1},{5803,-670,1},{5800,-675,1},{5793,-672,1},{5788,-668,1}, {5788,-678,1},{5788,-682,1},{5783,-677,1},{5782,-680,1},{5780,-680,1},{5782,-687,1}, {5777,-690,1},{5775,-695,1},{5772,-697,1},{5783,-717,1},{5783,-710,1},{5780,-708,1}, {5787,-700,1},{5787,-693,1},{5788,-697,1},{5790,-695,1},{5790,-683,1},{5792,-687,1}, {5792,-685,1},{5795,-698,1},{5795,-705,1},{5798,-713,1},{5802,-710,1},{5803,-702,1}, {5803,-707,1},{5805,-705,1},{5807,-710,1},{5810,-710,1},{5812,-713,1},{5815,-710,1}, {5817,-710,1},{5818,-702,1},{5820,-707,1},{5823,-703,1},{5822,-697,1},{5823,-695,1}, {5820,-692,1},{5820,-695,1},{5818,-692,1},{5817,-687,1},{5818,-682,1},{5818,-675,1}, {5817,-672,1},{5818,-670,1},{5818,-675,1},{5823,-678,1},{5827,-680,1},{5827,-682,1}, {5830,-680,1},{5830,-675,1},{5835,-667,1},{5835,-653,1},{5838,-652,1},{5847,-630,1}, {5850,-628,1},{5850,-622,1},{5847,-617,1},{5840,-617,1},{6047,-118,129}, {6050,-122,1},{6047,-125,1},{6048,-127,1},{6047,-130,1},{6043,-123,1},{6043,-132,1}, {6040,-133,1},{6040,-137,1},{6048,-130,1},{6048,-133,1},{6053,-132,1},{6053,-133,1}, {6055,-130,1},{6063,-130,1},{6062,-133,1},{6060,-132,1},{6062,-140,1},{6060,-142,1}, {6057,-142,1},{6053,-148,1},{6052,-142,1},{6052,-138,1},{6050,-140,1},{6052,-147,1}, {6055,-152,1},{6055,-155,1},{6052,-155,1},{6050,-160,1},{6047,-162,1},{6048,-155,1}, {6048,-148,1},{6047,-150,1},{6045,-148,1},{6048,-145,1},{6042,-143,1},{6042,-138,1}, {6038,-140,1},{6038,-133,1},{6037,-135,1},{6035,-127,1},{6035,-133,1},{6033,-132,1}, {6033,-135,1},{6032,-137,1},{6030,-133,1},{6028,-137,1},{6032,-138,1},{6032,-142,1}, {6032,-145,1},{6030,-143,1},{6030,-147,1},{6028,-145,1},{6028,-147,1},{6032,-148,1}, {6030,-153,1},{6030,-152,1},{6030,-155,1},{6028,-155,1},{6030,-160,1},{6028,-168,1}, {6023,-167,1},{6022,-162,1},{6023,-155,1},{6020,-153,1},{6022,-152,1},{6025,-150,1}, {6022,-147,1},{6018,-153,1},{6015,-145,1},{6018,-142,1},{6017,-142,1},{6018,-140,1}, {6022,-140,1},{6020,-135,1},{6023,-137,1},{6025,-142,1},{6025,-135,1},{6020,-133,1}, {6023,-130,1},{6023,-127,1},{6017,-132,1},{6018,-128,1},{6017,-128,1},{6013,-128,1}, {6013,-127,1},{6010,-127,1},{6000,-133,1},{5997,-132,1},{5997,-135,1},{5995,-132,1}, {5993,-135,1},{5988,-137,1},{5988,-135,1},{5990,-132,1},{5987,-132,1},{5985,-127,1}, {5988,-127,1},{6000,-125,1},{5998,-122,1},{6000,-120,1},{6003,-122,1},{6005,-117,1}, {6010,-122,1},{6012,-118,1},{6013,-120,1},{6013,-115,1},{6015,-113,1},{6017,-115,1}, {6020,-115,1},{6018,-120,1},{6022,-117,1},{6020,-120,1},{6023,-118,1},{6023,-122,1}, {6025,-118,1},{6027,-120,1},{6023,-115,1},{6027,-110,1},{6028,-110,1},{6028,-113,1}, {6032,-107,1},{6033,-115,1},{6035,-117,1},{6035,-107,1},{6038,-107,1},{6038,-110,1}, {6037,-112,1},{6038,-112,1},{6045,-103,1},{6043,-108,1},{6042,-110,1},{6038,-115,1}, {6040,-115,1},{6040,-123,1},{6042,-118,1},{6042,-115,1},{6047,-118,1},{5528,1480,129}, {5525,1488,1},{5522,1500,1},{5517,1503,1},{5513,1517,1},{5502,1515,1},{5498,1507,1}, {5502,1493,1},{5508,1473,1},{5510,1470,1},{5520,1472,1},{5530,1477,1},{5528,1480,1}, {5495,1123,129},{5495,1128,1},{5487,1140,1},{5480,1160,1},{5483,1157,1}, {5485,1163,1},{5488,1163,1},{5490,1165,1},{5487,1172,1},{5483,1173,1},{5483,1177,1}, {5475,1185,1},{5472,1180,1},{5470,1180,1},{5468,1183,1},{5463,1178,1},{5467,1165,1}, {5467,1158,1},{5463,1152,1},{5460,1145,1},{5472,1120,1},{5475,1102,1},{5478,1098,1}, {5480,1100,1},{5482,1098,1},{5480,1103,1},{5482,1110,1},{5488,1102,1},{5493,1105,1}, {5495,1113,1},{5495,1123,1},{5495,1183,129},{5492,1188,1},{5493,1190,1}, {5492,1195,1},{5490,1197,1},{5488,1208,1},{5483,1213,1},{5477,1202,1},{5473,1200,1}, {5470,1193,1},{5457,1195,1},{5458,1190,1},{5467,1185,1},{5472,1188,1},{5480,1180,1}, {5483,1178,1},{5487,1173,1},{5492,1173,1},{5493,1168,1},{5495,1173,1},{5493,1178,1}, {5497,1182,1},{5495,1183,1},{5505,1227,129},{5503,1230,1},{5500,1247,1}, {5498,1252,1},{5495,1252,1},{5493,1250,1},{5495,1233,1},{5495,1228,1},{5488,1222,1}, {5488,1217,1},{5490,1208,1},{5492,1208,1},{5493,1212,1},{5497,1210,1},{5497,1215,1}, {5498,1215,1},{5498,1223,1},{5503,1225,1},{5505,1223,1},{5505,1227,1},{5607,1253,129}, {5605,1258,1},{5602,1260,1},{5590,1250,1},{5577,1260,1},{5572,1260,1},{5565,1255,1}, {5562,1248,1},{5560,1247,1},{5560,1240,1},{5560,1235,1},{5555,1223,1},{5552,1220,1}, {5547,1217,1},{5543,1218,1},{5535,1242,1},{5528,1245,1},{5525,1242,1},{5523,1233,1}, {5523,1222,1},{5522,1215,1},{5518,1208,1},{5513,1208,1},{5515,1205,1},{5517,1207,1}, {5517,1202,1},{5513,1203,1},{5512,1215,1},{5508,1215,1},{5508,1207,1},{5500,1215,1}, {5497,1200,1},{5500,1192,1},{5498,1187,1},{5500,1183,1},{5503,1178,1},{5507,1163,1}, {5503,1182,1},{5512,1170,1},{5513,1180,1},{5515,1170,1},{5520,1170,1},{5517,1163,1}, {5522,1143,1},{5520,1130,1},{5518,1132,1},{5520,1125,1},{5523,1123,1},{5523,1128,1}, {5525,1128,1},{5525,1123,1},{5528,1123,1},{5532,1115,1},{5533,1118,1},{5535,1118,1}, {5535,1113,1},{5533,1113,1},{5535,1108,1},{5540,1120,1},{5550,1113,1},{5552,1108,1}, {5553,1108,1},{5555,1115,1},{5558,1115,1},{5563,1107,1},{5567,1093,1},{5567,1108,1}, {5568,1102,1},{5572,1097,1},{5573,1087,1},{5573,1108,1},{5575,1113,1},{5573,1117,1}, {5573,1112,1},{5572,1115,1},{5570,1120,1},{5570,1122,1},{5573,1118,1},{5573,1127,1}, {5577,1137,1},{5580,1138,1},{5583,1135,1},{5582,1140,1},{5583,1143,1},{5583,1148,1}, {5592,1152,1},{5593,1147,1},{5597,1130,1},{5598,1127,1},{5597,1140,1},{5595,1157,1}, {5593,1160,1},{5597,1177,1},{5592,1173,1},{5588,1175,1},{5590,1167,1},{5590,1165,1}, {5580,1172,1},{5580,1163,1},{5578,1163,1},{5578,1160,1},{5577,1163,1},{5578,1172,1}, {5577,1175,1},{5575,1173,1},{5568,1180,1},{5567,1178,1},{5568,1182,1},{5573,1185,1}, {5577,1183,1},{5580,1187,1},{5583,1193,1},{5590,1190,1},{5593,1192,1},{5590,1200,1}, {5585,1198,1},{5583,1202,1},{5575,1205,1},{5572,1203,1},{5572,1197,1},{5565,1192,1}, {5567,1197,1},{5565,1205,1},{5573,1208,1},{5592,1205,1},{5595,1202,1},{5593,1188,1}, {5595,1185,1},{5597,1185,1},{5608,1212,1},{5610,1223,1},{5610,1232,1},{5607,1253,1}, {5513,1093,129},{5502,1088,1},{5495,1082,1},{5473,1070,1},{5473,1067,1}, {5480,1065,1},{5483,1060,1},{5483,1063,1},{5487,1065,1},{5488,1070,1},{5492,1067,1}, {5505,1085,1},{5513,1088,1},{5515,1092,1},{5513,1093,1},{5558,1065,129}, {5548,1073,1},{5547,1068,1},{5543,1068,1},{5530,1083,1},{5530,1078,1},{5528,1078,1}, {5520,1080,1},{5507,1073,1},{5507,1062,1},{5503,1052,1},{5507,1030,1},{5510,1022,1}, {5507,1020,1},{5508,1015,1},{5508,1007,1},{5513,1015,1},{5518,1012,1},{5518,1010,1}, {5517,1008,1},{5518,1005,1},{5520,1000,1},{5518,998,1},{5513,1003,1},{5512,1002,1}, {5513,998,1},{5515,1000,1},{5518,997,1},{5520,998,1},{5522,992,1},{5525,988,1}, {5535,988,1},{5535,983,1},{5537,978,1},{5538,983,1},{5542,978,1},{5542,982,1}, {5543,975,1},{5547,970,1},{5543,982,1},{5550,968,1},{5552,973,1},{5553,975,1}, {5555,982,1},{5552,985,1},{5550,992,1},{5560,1020,1},{5560,1027,1},{5558,1028,1}, {5562,1028,1},{5562,1032,1},{5558,1040,1},{5555,1045,1},{5552,1053,1},{5552,1047,1}, {5550,1048,1},{5547,1042,1},{5543,1043,1},{5543,1048,1},{5547,1050,1},{5548,1060,1}, {5550,1060,1},{5552,1057,1},{5552,1062,1},{5560,1060,1},{5558,1065,1},{7800,2308,129}, {7793,2342,1},{7787,2365,1},{7785,2388,1},{7787,2400,1},{7788,2405,1},{7790,2432,1}, {7787,2437,1},{7785,2455,1},{7782,2458,1},{7775,2492,1},{7773,2485,1},{7772,2452,1}, {7768,2420,1},{7760,2400,1},{7750,2388,1},{7745,2375,1},{7742,2355,1},{7737,2337,1}, {7740,2320,1},{7738,2308,1},{7733,2292,1},{7728,2290,1},{7725,2263,1},{7727,2255,1}, {7725,2242,1},{7730,2238,1},{7733,2250,1},{7742,2240,1},{7748,2260,1},{7750,2270,1}, {7755,2277,1},{7753,2263,1},{7752,2258,1},{7757,2258,1},{7757,2247,1},{7755,2232,1}, {7752,2223,1},{7750,2213,1},{7748,2160,1},{7743,2112,1},{7745,2088,1},{7748,2087,1}, {7750,2093,1},{7753,2083,1},{7758,2097,1},{7758,2112,1},{7762,2122,1},{7773,2125,1}, {7785,2155,1},{7790,2153,1},{7792,2165,1},{7793,2163,1},{7797,2135,1},{7808,2087,1}, {7812,2093,1},{7818,2147,1},{7822,2187,1},{7820,2240,1},{7823,2252,1},{7825,2283,1}, {7822,2322,1},{7815,2347,1},{7810,2337,1},{7808,2310,1},{7800,2308,1},{7825,2200,129}, {7825,2217,1},{7827,2227,1},{7843,2220,1},{7848,2223,1},{7852,2213,1},{7858,2208,1}, {7857,2195,1},{7858,2188,1},{7860,2172,1},{7857,2150,1},{7860,2145,1},{7862,2120,1}, {7858,2110,1},{7855,2105,1},{7855,2087,1},{7848,2017,1},{7847,2012,1},{7843,2052,1}, {7838,2067,1},{7835,2068,1},{7833,2053,1},{7832,2047,1},{7830,2067,1},{7828,2078,1}, {7827,2078,1},{7825,2070,1},{7820,2063,1},{7818,2067,1},{7822,2085,1},{7822,2102,1}, {7820,2105,1},{7823,2132,1},{7825,2172,1},{7825,2200,1},{7880,2662,129}, {7872,2678,1},{7870,2690,1},{7870,2702,1},{7865,2693,1},{7862,2673,1},{7865,2670,1}, {7870,2647,1},{7878,2642,1},{7882,2652,1},{7880,2662,1},{7897,2865,129}, {7895,2888,1},{7890,2910,1},{7892,2968,1},{7888,2970,1},{7888,2950,1},{7885,2932,1}, {7885,2912,1},{7890,2885,1},{7888,2865,1},{7888,2842,1},{7882,2810,1},{7883,2785,1}, {7887,2802,1},{7892,2815,1},{7892,2838,1},{7897,2842,1},{7897,2865,1},{8035,2485,129}, {8032,2490,1},{8025,2478,1},{8025,2505,1},{8028,2532,1},{8025,2523,1},{8022,2527,1}, {8023,2555,1},{8020,2562,1},{8022,2568,1},{8022,2577,1},{8017,2570,1},{8018,2598,1}, {8018,2663,1},{8017,2680,1},{8010,2700,1},{8010,2722,1},{7997,2710,1},{7990,2723,1}, {7985,2712,1},{7983,2687,1},{7978,2678,1},{7978,2665,1},{7972,2647,1},{7962,2580,1}, {7952,2598,1},{7940,2572,1},{7933,2515,1},{7933,2497,1},{7937,2493,1},{7937,2480,1}, {7932,2452,1},{7930,2428,1},{7922,2423,1},{7918,2407,1},{7918,2392,1},{7918,2332,1}, {7922,2297,1},{7923,2283,1},{7928,2267,1},{7933,2265,1},{7937,2265,1},{7942,2290,1}, {7940,2262,1},{7940,2215,1},{7937,2173,1},{7940,2142,1},{7937,2093,1},{7937,2080,1}, {7942,2083,1},{7947,2075,1},{7945,2060,1},{7947,2022,1},{7952,2000,1},{7955,1968,1}, {7962,1967,1},{7965,2015,1},{7958,2043,1},{7958,2087,1},{7957,2112,1},{7958,2110,1}, {7962,2065,1},{7968,2048,1},{7972,2118,1},{7970,2183,1},{7975,2188,1},{7977,2227,1}, {7978,2235,1},{7980,2232,1},{7977,2180,1},{7978,2183,1},{7978,2173,1},{7980,2177,1}, {7982,2188,1},{7983,2167,1},{7978,2033,1},{7975,1998,1},{7972,1952,1},{7973,1940,1}, {7972,1915,1},{7973,1893,1},{7972,1877,1},{7978,1868,1},{7980,1860,1},{7978,1847,1}, {7988,1823,1},{7990,1812,1},{7993,1830,1},{7997,1865,1},{7997,1868,1},{7997,1855,1}, {8000,1865,1},{7997,1880,1},{8000,1878,1},{8005,1893,1},{8002,1873,1},{8005,1822,1}, {8008,1815,1},{8008,1837,1},{8010,1822,1},{8010,1813,1},{8013,1803,1},{8010,1802,1}, {8013,1792,1},{8013,1778,1},{8018,1803,1},{8017,1805,1},{8018,1817,1},{8017,1840,1}, {8018,1845,1},{8018,1860,1},{8015,1872,1},{8020,1873,1},{8018,1892,1},{8008,1928,1}, {8013,1940,1},{8013,1957,1},{8017,1955,1},{8017,1932,1},{8020,1922,1},{8033,1898,1}, {8035,1902,1},{8033,1933,1},{8022,1962,1},{8022,1982,1},{8022,1985,1},{8025,1972,1}, {8028,1983,1},{8032,1977,1},{8033,1985,1},{8035,1977,1},{8038,1992,1},{8040,1972,1}, {8038,1955,1},{8040,1948,1},{8047,1948,1},{8043,1968,1},{8050,1967,1},{8047,1985,1}, {8047,2003,1},{8037,2008,1},{8042,2018,1},{8042,2033,1},{8042,2043,1},{8037,2048,1}, {8028,2062,1},{8032,2083,1},{8027,2075,1},{8022,2083,1},{8022,2113,1},{8025,2132,1}, {8020,2132,1},{8022,2138,1},{8027,2148,1},{8023,2168,1},{8027,2167,1},{8027,2187,1}, {8020,2190,1},{8012,2160,1},{8012,2168,1},{8015,2180,1},{8010,2205,1},{8005,2222,1}, {7998,2223,1},{8000,2235,1},{8003,2233,1},{8003,2240,1},{8000,2243,1},{8002,2248,1}, {8007,2235,1},{8005,2245,1},{8007,2247,1},{8012,2238,1},{8027,2245,1},{8030,2258,1}, {8035,2233,1},{8042,2237,1},{8043,2250,1},{8042,2268,1},{8042,2267,1},{8035,2262,1}, {8032,2275,1},{8035,2270,1},{8042,2283,1},{8052,2277,1},{8052,2285,1},{8047,2295,1}, {8045,2328,1},{8043,2337,1},{8040,2330,1},{8038,2312,1},{8037,2322,1},{8035,2320,1}, {8033,2335,1},{8028,2330,1},{8025,2305,1},{8015,2300,1},{8012,2315,1},{8012,2323,1}, {8017,2308,1},{8017,2323,1},{8020,2325,1},{8013,2338,1},{8020,2342,1},{8018,2350,1}, {8017,2347,1},{8013,2355,1},{8017,2367,1},{8018,2383,1},{8023,2373,1},{8025,2380,1}, {8025,2372,1},{8030,2377,1},{8028,2385,1},{8027,2402,1},{8030,2390,1},{8032,2393,1}, {8027,2418,1},{8030,2422,1},{8028,2435,1},{8032,2430,1},{8032,2440,1},{8033,2418,1}, {8037,2418,1},{8037,2438,1},{8033,2457,1},{8032,2460,1},{8030,2448,1},{8027,2447,1}, {8025,2453,1},{8030,2473,1},{8035,2480,1},{8035,2485,1},{8022,3310,129}, {8025,3332,1},{8022,3360,1},{8020,3360,1},{8017,3302,1},{8013,3283,1},{8008,3232,1}, {8007,3158,1},{8008,3147,1},{8012,3150,1},{8018,3285,1},{8022,3310,1},{7953,1068,129}, {7945,1092,1},{7940,1085,1},{7938,1092,1},{7937,1085,1},{7923,1113,1},{7910,1123,1}, {7917,1172,1},{7928,1155,1},{7932,1163,1},{7932,1170,1},{7922,1183,1},{7923,1192,1}, {7928,1183,1},{7928,1203,1},{7930,1208,1},{7930,1212,1},{7923,1205,1},{7922,1213,1}, {7920,1195,1},{7913,1185,1},{7913,1188,1},{7907,1168,1},{7902,1208,1},{7900,1212,1}, {7898,1198,1},{7897,1207,1},{7900,1227,1},{7900,1243,1},{7890,1250,1},{7888,1228,1}, {7890,1220,1},{7898,1160,1},{7897,1133,1},{7895,1135,1},{7887,1162,1},{7883,1193,1}, {7882,1190,1},{7882,1182,1},{7882,1173,1},{7873,1163,1},{7870,1175,1},{7870,1185,1}, {7863,1193,1},{7858,1222,1},{7858,1235,1},{7855,1238,1},{7852,1283,1},{7855,1310,1}, {7853,1320,1},{7850,1293,1},{7850,1252,1},{7848,1237,1},{7837,1270,1},{7835,1287,1}, {7833,1290,1},{7832,1285,1},{7827,1295,1},{7823,1292,1},{7820,1300,1},{7822,1315,1}, {7820,1360,1},{7820,1382,1},{7822,1387,1},{7827,1375,1},{7822,1395,1},{7828,1398,1}, {7828,1408,1},{7825,1403,1},{7823,1408,1},{7830,1433,1},{7835,1425,1},{7838,1428,1}, {7838,1437,1},{7837,1443,1},{7838,1447,1},{7838,1473,1},{7845,1467,1},{7848,1440,1}, {7853,1445,1},{7855,1458,1},{7865,1455,1},{7867,1445,1},{7868,1458,1},{7872,1468,1}, {7873,1482,1},{7867,1485,1},{7863,1480,1},{7860,1500,1},{7863,1505,1},{7865,1525,1}, {7867,1523,1},{7877,1522,1},{7885,1538,1},{7880,1548,1},{7878,1542,1},{7872,1550,1}, {7863,1545,1},{7862,1540,1},{7862,1523,1},{7858,1520,1},{7857,1527,1},{7850,1530,1}, {7845,1543,1},{7845,1568,1},{7848,1603,1},{7852,1605,1},{7857,1632,1},{7865,1637,1}, {7872,1655,1},{7867,1662,1},{7867,1683,1},{7865,1683,1},{7857,1655,1},{7848,1645,1}, {7845,1633,1},{7843,1640,1},{7843,1657,1},{7840,1660,1},{7838,1685,1},{7843,1722,1}, {7842,1730,1},{7833,1677,1},{7833,1627,1},{7835,1610,1},{7833,1592,1},{7833,1577,1}, {7830,1560,1},{7822,1573,1},{7823,1550,1},{7822,1530,1},{7813,1500,1},{7810,1498,1}, {7812,1477,1},{7808,1447,1},{7810,1425,1},{7808,1422,1},{7802,1433,1},{7797,1435,1}, {7797,1428,1},{7802,1423,1},{7808,1397,1},{7808,1385,1},{7805,1358,1},{7800,1368,1}, {7795,1363,1},{7785,1365,1},{7780,1382,1},{7775,1372,1},{7773,1377,1},{7775,1387,1}, {7772,1395,1},{7778,1415,1},{7777,1422,1},{7775,1427,1},{7775,1442,1},{7777,1463,1}, {7778,1452,1},{7778,1455,1},{7777,1472,1},{7778,1480,1},{7780,1510,1},{7787,1535,1}, {7788,1557,1},{7785,1572,1},{7783,1587,1},{7785,1615,1},{7785,1667,1},{7790,1673,1}, {7793,1700,1},{7792,1697,1},{7790,1700,1},{7787,1688,1},{7788,1682,1},{7788,1678,1}, {7783,1687,1},{7777,1712,1},{7780,1680,1},{7778,1647,1},{7780,1637,1},{7777,1627,1}, {7777,1605,1},{7773,1545,1},{7767,1473,1},{7762,1488,1},{7762,1520,1},{7760,1528,1}, {7757,1592,1},{7750,1605,1},{7747,1630,1},{7747,1620,1},{7743,1622,1},{7745,1608,1}, {7753,1583,1},{7753,1542,1},{7757,1500,1},{7755,1477,1},{7748,1472,1},{7748,1453,1}, {7753,1460,1},{7758,1448,1},{7757,1413,1},{7753,1392,1},{7750,1393,1},{7745,1405,1}, {7745,1395,1},{7740,1397,1},{7735,1417,1},{7728,1415,1},{7728,1432,1},{7723,1430,1}, {7717,1447,1},{7718,1463,1},{7717,1477,1},{7712,1505,1},{7710,1505,1},{7708,1513,1}, {7705,1513,1},{7702,1523,1},{7700,1535,1},{7702,1590,1},{7707,1587,1},{7705,1595,1}, {7707,1597,1},{7708,1602,1},{7702,1608,1},{7702,1620,1},{7698,1625,1},{7700,1637,1}, {7700,1653,1},{7698,1632,1},{7695,1633,1},{7693,1623,1},{7695,1623,1},{7698,1615,1}, {7697,1593,1},{7693,1585,1},{7695,1577,1},{7693,1572,1},{7692,1557,1},{7688,1550,1}, {7683,1573,1},{7675,1598,1},{7670,1630,1},{7665,1633,1},{7658,1630,1},{7657,1635,1}, {7662,1643,1},{7660,1655,1},{7657,1662,1},{7657,1683,1},{7660,1700,1},{7663,1700,1}, {7663,1710,1},{7667,1710,1},{7670,1720,1},{7675,1712,1},{7678,1692,1},{7682,1695,1}, {7683,1707,1},{7685,1705,1},{7697,1732,1},{7705,1710,1},{7705,1735,1},{7707,1733,1}, {7715,1745,1},{7722,1743,1},{7725,1752,1},{7733,1750,1},{7737,1762,1},{7742,1767,1}, {7743,1762,1},{7745,1773,1},{7750,1775,1},{7750,1793,1},{7750,1802,1},{7750,1825,1}, {7750,1830,1},{7758,1828,1},{7778,1845,1},{7785,1845,1},{7790,1833,1},{7793,1837,1}, {7797,1850,1},{7802,1842,1},{7805,1855,1},{7803,1870,1},{7803,1883,1},{7810,1910,1}, {7817,1892,1},{7822,1908,1},{7828,1895,1},{7837,1907,1},{7845,1897,1},{7850,1950,1}, {7850,1967,1},{7857,1958,1},{7862,1972,1},{7862,1990,1},{7860,2002,1},{7862,2002,1}, {7863,2010,1},{7862,2017,1},{7865,2023,1},{7865,2042,1},{7862,2057,1},{7868,2067,1}, {7868,2075,1},{7867,2082,1},{7868,2087,1},{7863,2108,1},{7867,2122,1},{7865,2138,1}, {7870,2135,1},{7877,2155,1},{7885,2153,1},{7888,2112,1},{7892,2098,1},{7892,2078,1}, {7893,2052,1},{7898,2027,1},{7902,2005,1},{7902,1990,1},{7905,1993,1},{7910,1982,1}, {7915,1983,1},{7915,1960,1},{7918,1940,1},{7917,1942,1},{7918,1930,1},{7915,1918,1}, {7917,1892,1},{7922,1895,1},{7925,1887,1},{7925,1860,1},{7928,1880,1},{7930,1887,1}, {7943,1888,1},{7947,1877,1},{7953,1875,1},{7963,1835,1},{7962,1820,1},{7958,1810,1}, {7942,1793,1},{7938,1782,1},{7937,1768,1},{7937,1763,1},{7942,1777,1},{7950,1778,1}, {7955,1777,1},{7955,1760,1},{7957,1773,1},{7960,1775,1},{7965,1788,1},{7970,1808,1}, {7973,1810,1},{7988,1757,1},{7993,1728,1},{7997,1698,1},{7993,1688,1},{7988,1690,1}, {7987,1682,1},{7992,1670,1},{7995,1672,1},{8003,1655,1},{8007,1630,1},{8002,1605,1}, {7997,1598,1},{7993,1595,1},{7987,1613,1},{7987,1580,1},{7987,1568,1},{7977,1565,1}, {7958,1583,1},{7955,1592,1},{7952,1585,1},{7930,1597,1},{7923,1613,1},{7913,1620,1}, {7898,1637,1},{7893,1650,1},{7890,1645,1},{7892,1633,1},{7898,1615,1},{7905,1613,1}, {7915,1588,1},{7915,1580,1},{7910,1568,1},{7913,1565,1},{7922,1578,1},{7930,1563,1}, {7933,1548,1},{7952,1530,1},{7960,1528,1},{7977,1487,1},{7980,1458,1},{7980,1452,1}, {7968,1425,1},{7967,1432,1},{7963,1415,1},{7960,1427,1},{7960,1407,1},{7953,1388,1}, {7942,1405,1},{7940,1402,1},{7933,1415,1},{7927,1407,1},{7928,1400,1},{7928,1390,1}, {7938,1387,1},{7948,1360,1},{7948,1345,1},{7943,1347,1},{7947,1325,1},{7952,1327,1}, {7953,1342,1},{7958,1348,1},{7960,1327,1},{7958,1295,1},{7955,1260,1},{7957,1245,1}, {7958,1250,1},{7960,1270,1},{7967,1302,1},{7968,1302,1},{7970,1325,1},{7970,1328,1}, {7970,1337,1},{7970,1363,1},{7973,1388,1},{7977,1397,1},{7982,1397,1},{7987,1382,1}, {7982,1302,1},{7978,1283,1},{7977,1267,1},{7975,1252,1},{7978,1255,1},{7982,1243,1}, {7983,1233,1},{7983,1220,1},{7978,1217,1},{7972,1235,1},{7967,1232,1},{7970,1217,1}, {7967,1217,1},{7968,1205,1},{7973,1203,1},{7975,1193,1},{7983,1183,1},{7983,1170,1}, {7980,1163,1},{7980,1152,1},{7977,1153,1},{7978,1120,1},{7972,1120,1},{7965,1147,1}, {7963,1145,1},{7965,1102,1},{7962,1093,1},{7960,1085,1},{7957,1118,1},{7955,1072,1}, {7953,1068,1},{7873,1063,129},{7877,1053,1},{7883,1058,1},{7890,1048,1}, {7888,1083,1},{7883,1100,1},{7878,1100,1},{7877,1112,1},{7873,1118,1},{7868,1107,1}, {7867,1115,1},{7862,1115,1},{7862,1127,1},{7853,1127,1},{7855,1142,1},{7852,1147,1}, {7847,1163,1},{7845,1177,1},{7843,1188,1},{7840,1187,1},{7828,1210,1},{7822,1217,1}, {7820,1215,1},{7823,1188,1},{7830,1183,1},{7845,1135,1},{7843,1117,1},{7843,1110,1}, {7868,1080,1},{7873,1063,1},{6892,1542,129},{6898,1542,1},{6910,1557,1}, {6912,1562,1},{6915,1577,1},{6925,1587,1},{6928,1600,1},{6932,1612,1},{6928,1615,1}, {6915,1608,1},{6905,1587,1},{6903,1587,1},{6898,1562,1},{6902,1555,1},{6897,1557,1}, {6890,1552,1},{6887,1547,1},{6892,1542,1},{6827,1498,129},{6830,1500,1}, {6833,1507,1},{6837,1510,1},{6845,1523,1},{6845,1537,1},{6847,1525,1},{6848,1525,1}, {6848,1533,1},{6850,1528,1},{6852,1527,1},{6852,1518,1},{6855,1522,1},{6855,1532,1}, {6858,1532,1},{6858,1537,1},{6855,1545,1},{6860,1538,1},{6860,1545,1},{6862,1543,1}, {6860,1563,1},{6863,1558,1},{6865,1547,1},{6870,1543,1},{6873,1547,1},{6873,1562,1}, {6870,1572,1},{6873,1565,1},{6873,1550,1},{6877,1545,1},{6880,1547,1},{6882,1563,1}, {6883,1557,1},{6885,1555,1},{6888,1557,1},{6888,1562,1},{6890,1560,1},{6895,1563,1}, {6895,1580,1},{6897,1587,1},{6895,1592,1},{6892,1590,1},{6888,1593,1},{6880,1588,1}, {6873,1577,1},{6878,1593,1},{6878,1598,1},{6875,1598,1},{6868,1593,1},{6862,1577,1}, {6855,1578,1},{6853,1573,1},{6855,1582,1},{6862,1582,1},{6867,1598,1},{6867,1603,1}, {6863,1603,1},{6863,1608,1},{6868,1608,1},{6870,1603,1},{6872,1607,1},{6873,1622,1}, {6877,1620,1},{6878,1612,1},{6882,1608,1},{6885,1620,1},{6883,1630,1},{6890,1625,1}, {6887,1633,1},{6885,1645,1},{6882,1645,1},{6882,1655,1},{6878,1650,1},{6877,1655,1}, {6875,1652,1},{6870,1657,1},{6868,1653,1},{6863,1657,1},{6860,1648,1},{6855,1650,1}, {6855,1622,1},{6852,1615,1},{6853,1610,1},{6837,1593,1},{6837,1587,1},{6848,1587,1}, {6843,1585,1},{6842,1583,1},{6843,1577,1},{6838,1582,1},{6840,1578,1},{6842,1575,1}, {6837,1573,1},{6837,1567,1},{6835,1570,1},{6830,1562,1},{6833,1552,1},{6833,1532,1}, {6847,1562,1},{6850,1555,1},{6847,1555,1},{6842,1543,1},{6842,1537,1},{6837,1527,1}, {6835,1520,1},{6833,1523,1},{6830,1513,1},{6825,1503,1},{6827,1498,1},{7452,1898,129}, {7452,1913,1},{7452,1918,1},{7447,1930,1},{7437,1918,1},{7435,1907,1},{7448,1878,1}, {7450,1883,1},{7452,1898,1},{5733,1712,129},{5732,1712,1},{5727,1705,1}, {5723,1707,1},{5718,1705,1},{5717,1702,1},{5703,1695,1},{5703,1690,1},{5702,1693,1}, {5697,1687,1},{5692,1688,1},{5685,1685,1},{5680,1677,1},{5660,1668,1},{5655,1663,1}, {5637,1658,1},{5623,1650,1},{5622,1643,1},{5623,1642,1},{5642,1642,1},{5647,1638,1}, {5658,1642,1},{5687,1662,1},{5690,1673,1},{5698,1678,1},{5710,1688,1},{5720,1690,1}, {5723,1697,1},{5732,1698,1},{5737,1705,1},{5733,1708,1},{5735,1710,1},{5733,1712,1}, {5790,1900,129},{5782,1908,1},{5782,1902,1},{5777,1898,1},{5778,1895,1}, {5772,1893,1},{5773,1882,1},{5762,1877,1},{5760,1880,1},{5750,1877,1},{5747,1877,1}, {5747,1880,1},{5745,1878,1},{5743,1882,1},{5743,1892,1},{5740,1892,1},{5738,1890,1}, {5738,1887,1},{5737,1878,1},{5733,1873,1},{5728,1867,1},{5727,1868,1},{5727,1872,1}, {5723,1872,1},{5720,1857,1},{5720,1858,1},{5718,1855,1},{5713,1840,1},{5712,1840,1}, {5712,1845,1},{5708,1835,1},{5702,1833,1},{5700,1840,1},{5700,1835,1},{5698,1835,1}, {5693,1830,1},{5692,1822,1},{5692,1813,1},{5698,1820,1},{5702,1820,1},{5703,1827,1}, {5708,1828,1},{5705,1823,1},{5707,1820,1},{5708,1822,1},{5713,1823,1},{5713,1817,1}, {5723,1815,1},{5725,1810,1},{5728,1810,1},{5732,1815,1},{5738,1818,1},{5740,1815,1}, {5745,1812,1},{5753,1812,1},{5760,1818,1},{5765,1830,1},{5782,1847,1},{5783,1855,1}, {5783,1862,1},{5788,1863,1},{5792,1868,1},{5792,1872,1},{5792,1875,1},{5782,1880,1}, {5788,1885,1},{5792,1885,1},{5792,1892,1},{5788,1890,1},{5788,1895,1},{5790,1895,1}, {5790,1900,1},{6232,-688,129},{6233,-695,1},{6230,-703,1},{6232,-708,1}, {6230,-708,1},{6218,-695,1},{6217,-690,1},{6215,-685,1},{6210,-675,1},{6213,-673,1}, {6218,-682,1},{6218,-675,1},{6213,-670,1},{6208,-670,1},{6205,-667,1},{6210,-665,1}, {6210,-660,1},{6215,-667,1},{6213,-657,1},{6218,-672,1},{6220,-670,1},{6218,-662,1}, {6220,-660,1},{6222,-670,1},{6223,-678,1},{6223,-675,1},{6227,-673,1},{6227,-682,1}, {6228,-680,1},{6228,-690,1},{6223,-692,1},{6228,-693,1},{6232,-688,1},{6230,-717,129}, {6228,-707,1},{6220,-698,1},{6218,-700,1},{6213,-685,1},{6212,-685,1},{6210,-690,1}, {6210,-682,1},{6207,-678,1},{6205,-685,1},{6203,-672,1},{6200,-673,1},{6198,-670,1}, {6193,-672,1},{6200,-687,1},{6203,-690,1},{6205,-697,1},{6210,-702,1},{6212,-712,1}, {6213,-713,1},{6215,-712,1},{6215,-717,1},{6215,-720,1},{6217,-723,1},{6223,-718,1}, {6228,-722,1},{6230,-720,1},{6230,-717,1},{7113,-833,129},{7118,-800,1}, {7113,-793,1},{7110,-800,1},{7103,-798,1},{7100,-813,1},{7097,-840,1},{7097,-847,1}, {7097,-862,1},{7082,-898,1},{7082,-908,1},{7087,-912,1},{7087,-905,1},{7092,-893,1}, {7093,-882,1},{7097,-873,1},{7102,-852,1},{7113,-833,1},{3997,318,129}, {3995,320,1},{3990,310,1},{3988,310,1},{3987,312,1},{3990,322,1},{3985,318,1}, {3983,313,1},{3978,313,1},{3975,327,1},{3978,335,1},{3978,338,1},{3975,347,1}, {3972,348,1},{3965,345,1},{3963,342,1},{3960,340,1},{3950,330,1},{3943,328,1}, {3937,323,1},{3927,307,1},{3937,297,1},{3937,280,1},{3942,275,1},{3948,273,1}, {3952,275,1},{3957,268,1},{3957,263,1},{3953,255,1},{3947,252,1},{3948,248,1}, {3952,247,1},{3952,248,1},{3953,245,1},{3953,238,1},{3953,237,1},{3958,235,1}, {3962,237,1},{3967,247,1},{3970,252,1},{3972,258,1},{3977,263,1},{3977,265,1}, {3987,282,1},{3987,285,1},{3992,295,1},{3993,303,1},{3993,307,1},{3997,318,1}, {4003,422,129},{3998,428,1},{3997,428,1},{3995,427,1},{3995,430,1},{3988,435,1}, {3988,432,1},{3987,433,1},{3983,433,1},{3982,432,1},{3982,430,1},{3983,422,1}, {3993,405,1},{3995,398,1},{3993,392,1},{3993,385,1},{4000,387,1},{4003,382,1}, {4007,387,1},{4007,410,1},{4008,412,1},{4007,412,1},{4007,415,1},{4003,415,1}, {4005,417,1},{4007,418,1},{4007,420,1},{4003,420,1},{4003,422,1},{3912,155,129}, {3912,162,1},{3910,162,1},{3907,160,1},{3903,163,1},{3903,160,1},{3900,158,1}, {3898,155,1},{3895,153,1},{3892,147,1},{3892,145,1},{3885,140,1},{3883,138,1}, {3888,135,1},{3888,123,1},{3892,122,1},{3897,123,1},{3898,130,1},{3903,130,1}, {3908,137,1},{3913,153,1},{3912,155,1},{4300,943,129},{4298,947,1},{4297,945,1}, {4282,948,1},{4263,943,1},{4258,948,1},{4257,952,1},{4265,945,1},{4262,948,1}, {4253,953,1},{4250,953,1},{4243,955,1},{4238,953,1},{4227,957,1},{4213,955,1}, {4195,942,1},{4195,940,1},{4192,942,1},{4188,940,1},{4170,940,1},{4168,937,1}, {4165,938,1},{4163,935,1},{4162,935,1},{4162,930,1},{4160,928,1},{4158,928,1}, {4160,932,1},{4158,935,1},{4157,935,1},{4153,927,1},{4150,927,1},{4150,928,1}, {4147,927,1},{4145,922,1},{4142,922,1},{4140,922,1},{4142,925,1},{4137,922,1}, {4137,917,1},{4140,913,1},{4140,910,1},{4143,912,1},{4145,907,1},{4148,908,1}, {4147,903,1},{4148,892,1},{4150,892,1},{4150,888,1},{4152,888,1},{4152,885,1}, {4153,885,1},{4155,878,1},{4158,880,1},{4158,878,1},{4163,880,1},{4165,887,1}, {4167,888,1},{4168,892,1},{4172,882,1},{4170,878,1},{4172,877,1},{4173,878,1}, {4172,872,1},{4173,870,1},{4175,865,1},{4177,872,1},{4180,872,1},{4182,877,1}, {4183,878,1},{4185,875,1},{4185,878,1},{4188,878,1},{4190,880,1},{4193,878,1}, {4193,875,1},{4192,872,1},{4190,862,1},{4193,862,1},{4197,858,1},{4197,865,1}, {4198,867,1},{4200,865,1},{4202,867,1},{4205,875,1},{4207,872,1},{4212,870,1}, {4212,865,1},{4213,862,1},{4213,858,1},{4215,858,1},{4215,857,1},{4217,858,1}, {4217,857,1},{4218,858,1},{4220,858,1},{4223,855,1},{4227,868,1},{4230,867,1}, {4232,860,1},{4233,863,1},{4235,862,1},{4233,855,1},{4238,855,1},{4238,862,1}, {4242,862,1},{4242,867,1},{4243,865,1},{4247,868,1},{4248,865,1},{4252,867,1}, {4252,872,1},{4258,872,1},{4257,872,1},{4255,877,1},{4258,880,1},{4260,882,1}, {4262,887,1},{4263,888,1},{4263,902,1},{4267,905,1},{4268,905,1},{4273,912,1}, {4272,925,1},{4268,930,1},{4273,935,1},{4280,933,1},{4283,930,1},{4287,933,1}, {4290,932,1},{4292,937,1},{4300,933,1},{4300,938,1},{4300,943,1},{3825,1562,129}, {3823,1557,1},{3820,1555,1},{3820,1557,1},{3817,1553,1},{3808,1550,1},{3795,1537,1}, {3785,1530,1},{3775,1522,1},{3770,1522,1},{3763,1518,1},{3758,1518,1},{3748,1508,1}, {3732,1510,1},{3730,1517,1},{3730,1522,1},{3727,1525,1},{3723,1527,1},{3725,1523,1}, {3723,1523,1},{3722,1523,1},{3725,1522,1},{3723,1520,1},{3718,1518,1},{3715,1522,1}, {3715,1525,1},{3715,1523,1},{3712,1523,1},{3710,1530,1},{3707,1530,1},{3705,1528,1}, {3703,1528,1},{3705,1532,1},{3702,1533,1},{3700,1528,1},{3697,1527,1},{3697,1522,1}, {3692,1515,1},{3680,1510,1},{3667,1513,1},{3665,1508,1},{3670,1502,1},{3668,1497,1}, {3670,1493,1},{3672,1492,1},{3673,1487,1},{3670,1478,1},{3672,1473,1},{3672,1470,1}, {3675,1467,1},{3677,1458,1},{3678,1450,1},{3682,1447,1},{3687,1443,1},{3697,1437,1}, {3707,1425,1},{3712,1410,1},{3710,1388,1},{3715,1382,1},{3715,1375,1},{3718,1367,1}, {3728,1357,1},{3728,1348,1},{3730,1343,1},{3735,1338,1},{3738,1328,1},{3745,1322,1}, {3748,1317,1},{3750,1302,1},{3755,1298,1},{3757,1292,1},{3757,1275,1},{3755,1265,1}, {3763,1260,1},{3767,1257,1},{3765,1252,1},{3770,1247,1},{3773,1247,1},{3780,1242,1}, {3782,1245,1},{3787,1248,1},{3792,1245,1},{3797,1250,1},{3800,1250,1},{3802,1250,1}, {3802,1252,1},{3807,1257,1},{3808,1263,1},{3812,1267,1},{3812,1272,1},{3815,1273,1}, {3817,1272,1},{3818,1273,1},{3818,1277,1},{3815,1277,1},{3815,1278,1},{3812,1278,1}, {3807,1282,1},{3802,1290,1},{3803,1295,1},{3808,1307,1},{3810,1307,1},{3813,1305,1}, {3818,1310,1},{3818,1315,1},{3817,1318,1},{3818,1323,1},{3820,1323,1},{3822,1332,1}, {3817,1337,1},{3813,1337,1},{3810,1338,1},{3810,1345,1},{3812,1350,1},{3810,1353,1}, {3807,1353,1},{3803,1357,1},{3800,1365,1},{3798,1372,1},{3797,1377,1},{3805,1402,1}, {3802,1407,1},{3802,1425,1},{3802,1437,1},{3805,1443,1},{3805,1452,1},{3808,1465,1}, {3817,1473,1},{3815,1478,1},{3817,1488,1},{3818,1492,1},{3815,1498,1},{3815,1503,1}, {3812,1508,1},{3818,1520,1},{3822,1523,1},{3827,1523,1},{3825,1525,1},{3822,1525,1}, {3820,1528,1},{3823,1542,1},{3830,1553,1},{3827,1565,1},{3825,1562,1},{4125,925,129}, {4123,927,1},{4118,927,1},{4122,928,1},{4120,928,1},{4118,942,1},{4117,940,1}, {4113,943,1},{4108,945,1},{4113,947,1},{4113,952,1},{4115,952,1},{4113,953,1}, {4112,953,1},{4112,957,1},{4108,957,1},{4108,953,1},{4102,952,1},{4103,955,1}, {4100,955,1},{4100,967,1},{4098,965,1},{4100,960,1},{4098,958,1},{4093,957,1}, {4092,950,1},{4092,957,1},{4090,958,1},{4092,962,1},{4092,963,1},{4088,962,1}, {4088,965,1},{4085,967,1},{4083,972,1},{4083,968,1},{4080,968,1},{4080,967,1}, {4078,967,1},{4075,972,1},{4070,972,1},{4068,975,1},{4060,975,1},{4053,983,1}, {4040,977,1},{4035,970,1},{4025,962,1},{4020,962,1},{4015,965,1},{4008,973,1}, {4007,973,1},{3997,968,1},{3995,968,1},{3993,970,1},{3993,972,1},{3992,972,1}, {3990,968,1},{3972,968,1},{3967,965,1},{3957,965,1},{3950,963,1},{3945,965,1}, {3933,960,1},{3930,963,1},{3928,960,1},{3925,958,1},{3915,957,1},{3912,952,1}, {3910,952,1},{3913,950,1},{3913,940,1},{3915,940,1},{3920,932,1},{3923,923,1}, {3920,917,1},{3918,917,1},{3920,912,1},{3925,908,1},{3925,905,1},{3927,902,1}, {3922,903,1},{3922,908,1},{3917,903,1},{3913,902,1},{3908,902,1},{3905,905,1}, {3898,902,1},{3898,900,1},{3888,885,1},{3890,880,1},{3888,880,1},{3893,872,1}, {3888,865,1},{3887,865,1},{3887,863,1},{3890,863,1},{3890,860,1},{3895,862,1}, {3897,860,1},{3895,858,1},{3905,857,1},{3907,850,1},{3908,852,1},{3908,848,1}, {3905,847,1},{3897,843,1},{3897,840,1},{3903,837,1},{3908,835,1},{3912,837,1}, {3910,838,1},{3910,843,1},{3907,847,1},{3908,848,1},{3912,847,1},{3912,843,1}, {3917,843,1},{3918,842,1},{3917,840,1},{3920,840,1},{3922,837,1},{3923,837,1}, {3927,842,1},{3930,843,1},{3933,842,1},{3933,840,1},{3937,837,1},{3943,840,1}, {3947,838,1},{3952,843,1},{3960,847,1},{3963,845,1},{3975,845,1},{3975,847,1}, {3972,848,1},{3970,855,1},{3970,857,1},{3970,855,1},{3972,850,1},{3975,853,1}, {3978,855,1},{3975,852,1},{3980,855,1},{3987,855,1},{3990,852,1},{3990,845,1}, {3988,843,1},{3990,847,1},{3985,843,1},{3988,843,1},{3990,840,1},{3997,838,1}, {4002,842,1},{4003,838,1},{4005,845,1},{4008,848,1},{4017,845,1},{4028,848,1}, {4032,847,1},{4035,838,1},{4042,840,1},{4050,837,1},{4052,833,1},{4058,830,1}, {4057,822,1},{4057,820,1},{4058,820,1},{4060,822,1},{4062,818,1},{4058,817,1}, {4057,817,1},{4062,815,1},{4063,818,1},{4068,820,1},{4073,813,1},{4088,822,1}, {4093,818,1},{4097,820,1},{4095,823,1},{4090,823,1},{4085,828,1},{4082,847,1}, {4085,860,1},{4088,863,1},{4092,870,1},{4092,878,1},{4097,885,1},{4102,887,1}, {4103,892,1},{4112,902,1},{4113,910,1},{4115,913,1},{4115,915,1},{4118,917,1}, {4120,915,1},{4123,917,1},{4127,923,1},{4125,925,1},{4050,2565,129},{4047,2570,1}, {4042,2570,1},{4040,2560,1},{4040,2555,1},{4048,2545,1},{4052,2555,1},{4050,2565,1}, {4000,2545,129},{3998,2545,1},{3995,2540,1},{3992,2538,1},{3992,2535,1}, {3990,2537,1},{3988,2533,1},{3987,2535,1},{3985,2533,1},{3982,2537,1},{3978,2535,1}, {3980,2530,1},{3985,2527,1},{3985,2523,1},{3988,2528,1},{3992,2527,1},{3992,2523,1}, {3988,2520,1},{3988,2522,1},{3985,2518,1},{3985,2520,1},{3980,2522,1},{3982,2513,1}, {3985,2517,1},{3983,2513,1},{3985,2512,1},{3983,2505,1},{3985,2507,1},{3988,2505,1}, {3992,2507,1},{3993,2505,1},{3998,2503,1},{4000,2513,1},{4000,2515,1},{3998,2527,1}, {3995,2528,1},{3997,2532,1},{3997,2535,1},{3998,2533,1},{4002,2537,1},{4003,2545,1}, {4002,2543,1},{4000,2545,1},{3532,2632,129},{3527,2627,1},{3520,2627,1}, {3518,2632,1},{3517,2628,1},{3508,2627,1},{3503,2623,1},{3502,2620,1},{3500,2612,1}, {3502,2608,1},{3502,2600,1},{3503,2598,1},{3500,2580,1},{3502,2570,1},{3502,2560,1}, {3498,2550,1},{3500,2538,1},{3495,2520,1},{3493,2497,1},{3493,2483,1},{3492,2480,1}, {3493,2473,1},{3502,2477,1},{3508,2472,1},{3510,2457,1},{3515,2453,1},{3515,2445,1}, {3518,2438,1},{3517,2428,1},{3520,2420,1},{3518,2405,1},{3523,2400,1},{3522,2392,1}, {3525,2382,1},{3523,2378,1},{3523,2360,1},{3525,2358,1},{3528,2353,1},{3530,2352,1}, {3532,2355,1},{3538,2353,1},{3543,2357,1},{3547,2355,1},{3548,2358,1},{3550,2357,1}, {3562,2360,1},{3552,2362,1},{3550,2365,1},{3552,2373,1},{3557,2373,1},{3560,2372,1}, {3562,2372,1},{3565,2370,1},{3568,2373,1},{3567,2378,1},{3565,2377,1},{3555,2378,1}, {3552,2385,1},{3552,2405,1},{3555,2405,1},{3555,2410,1},{3558,2408,1},{3560,2413,1}, {3558,2418,1},{3555,2420,1},{3552,2418,1},{3550,2417,1},{3552,2408,1},{3550,2407,1}, {3545,2420,1},{3547,2425,1},{3545,2427,1},{3537,2427,1},{3535,2432,1},{3538,2460,1}, {3542,2465,1},{3543,2472,1},{3540,2483,1},{3542,2488,1},{3540,2492,1},{3540,2497,1}, {3542,2498,1},{3542,2502,1},{3540,2505,1},{3538,2505,1},{3535,2507,1},{3535,2518,1}, {3533,2523,1},{3533,2538,1},{3528,2545,1},{3533,2565,1},{3533,2577,1},{3530,2573,1}, {3527,2572,1},{3527,2573,1},{3528,2575,1},{3525,2575,1},{3525,2573,1},{3517,2572,1}, {3513,2573,1},{3510,2580,1},{3512,2583,1},{3515,2585,1},{3517,2590,1},{3518,2590,1}, {3520,2598,1},{3523,2603,1},{3522,2612,1},{3520,2612,1},{3520,2617,1},{3525,2623,1}, {3527,2623,1},{3528,2628,1},{3530,2630,1},{3532,2632,1},{5315,14183,129}, {5307,14192,1},{5302,14193,1},{5287,14185,1},{5278,14187,1},{5273,14183,1}, {5270,14185,1},{5265,14185,1},{5260,14180,1},{5258,14183,1},{5245,14177,1}, {5238,14167,1},{5232,14163,1},{5227,14167,1},{5222,14165,1},{5217,14170,1}, {5208,14163,1},{5195,14168,1},{5188,14163,1},{5183,14177,1},{5178,14182,1}, {5173,14183,1},{5172,14180,1},{5175,14170,1},{5173,14168,1},{5168,14178,1}, {5160,14188,1},{5162,14193,1},{5158,14195,1},{5157,14193,1},{5147,14208,1}, {5143,14210,1},{5142,14208,1},{5140,14208,1},{5132,14218,1},{5127,14217,1}, {5112,14227,1},{5097,14222,1},{5088,14213,1},{5085,14213,1},{5082,14210,1}, {5077,14210,1},{5053,14205,1},{5035,14215,1},{5028,14213,1},{5025,14215,1}, {5008,14218,1},{4988,14213,1},{4978,14217,1},{4955,14213,1},{4933,14207,1}, {4920,14208,1},{4913,14203,1},{4905,14203,1},{4895,14200,1},{4892,14197,1}, {4885,14197,1},{4878,14187,1},{4875,14185,1},{4862,14192,1},{4840,14208,1}, {4832,14213,1},{4797,14218,1},{4792,14217,1},{4785,14208,1},{4777,14207,1}, {4770,14200,1},{4760,14197,1},{4745,14195,1},{4735,14198,1},{4728,14197,1}, {4723,14203,1},{4708,14207,1},{4698,14202,1},{4658,14182,1},{4643,14183,1}, {4628,14190,1},{4608,14193,1},{4603,14193,1},{4588,14208,1},{4600,14212,1}, {4603,14220,1},{4608,14220,1},{4617,14225,1},{4628,14227,1},{4658,14242,1}, {4667,14250,1},{4670,14258,1},{4672,14268,1},{4675,14272,1},{4670,14273,1}, {4660,14278,1},{4660,14293,1},{4660,14298,1},{4658,14307,1},{4658,14317,1}, {4657,14323,1},{4652,14330,1},{4655,14328,1},{4655,14338,1},{4650,14338,1}, {4648,14333,1},{4645,14335,1},{4638,14335,1},{4620,14343,1},{4612,14343,1}, {4608,14340,1},{4602,14343,1},{4610,14347,1},{4618,14348,1},{4622,14352,1}, {4628,14353,1},{4630,14357,1},{4635,14358,1},{4637,14362,1},{4640,14357,1}, {4642,14358,1},{4658,14352,1},{4672,14352,1},{4683,14347,1},{4683,14343,1}, {4678,14342,1},{4678,14337,1},{4683,14318,1},{4680,14317,1},{4678,14318,1}, {4673,14337,1},{4670,14340,1},{4668,14337,1},{4672,14323,1},{4670,14317,1}, {4677,14313,1},{4680,14308,1},{4683,14310,1},{4683,14317,1},{4685,14317,1}, {4687,14315,1},{4685,14313,1},{4687,14310,1},{4688,14313,1},{4707,14303,1}, {4717,14303,1},{4725,14302,1},{4738,14287,1},{4743,14278,1},{4743,14272,1}, {4743,14275,1},{4760,14262,1},{4768,14257,1},{4778,14253,1},{4790,14253,1}, {4797,14255,1},{4800,14253,1},{4855,14278,1},{4892,14298,1},{4903,14297,1}, {4913,14302,1},{4922,14313,1},{4927,14327,1},{4930,14347,1},{4930,14367,1}, {4932,14360,1},{4932,14332,1},{4933,14333,1},{4935,14327,1},{4938,14325,1}, {4940,14338,1},{4938,14343,1},{4933,14350,1},{4933,14372,1},{4932,14372,1}, {4930,14368,1},{4927,14397,1},{4923,14410,1},{4913,14425,1},{4907,14428,1}, {4902,14435,1},{4898,14445,1},{4892,14453,1},{4878,14463,1},{4865,14468,1}, {4863,14475,1},{4867,14472,1},{4872,14468,1},{4875,14468,1},{4878,14470,1}, {4887,14468,1},{4903,14440,1},{4923,14428,1},{4942,14422,1},{4952,14423,1}, {4965,14413,1},{4977,14412,1},{4993,14402,1},{5002,14400,1},{5028,14380,1}, {5057,14370,1},{5080,14367,1},{5095,14360,1},{5125,14353,1},{5130,14350,1}, {5123,14352,1},{5122,14352,1},{5122,14348,1},{5128,14347,1},{5135,14338,1}, {5137,14343,1},{5133,14347,1},{5135,14347,1},{5148,14345,1},{5157,14338,1}, {5163,14338,1},{5163,14337,1},{5163,14335,1},{5162,14333,1},{5150,14335,1}, {5152,14330,1},{5150,14323,1},{5153,14322,1},{5167,14325,1},{5172,14328,1}, {5170,14332,1},{5173,14332,1},{5188,14323,1},{5185,14320,1},{5187,14317,1}, {5188,14317,1},{5192,14317,1},{5192,14313,1},{5197,14312,1},{5197,14315,1}, {5198,14317,1},{5203,14313,1},{5210,14313,1},{5210,14310,1},{5215,14312,1}, {5212,14315,1},{5232,14318,1},{5235,14317,1},{5232,14313,1},{5233,14312,1}, {5235,14312,1},{5233,14312,1},{5238,14315,1},{5248,14320,1},{5252,14323,1}, {5260,14325,1},{5258,14330,1},{5247,14323,1},{5247,14327,1},{5245,14327,1}, {5245,14323,1},{5245,14322,1},{5242,14320,1},{5233,14320,1},{5247,14330,1}, {5272,14333,1},{5280,14332,1},{5285,14335,1},{5332,14323,1},{5340,14318,1}, {5338,14312,1},{5338,14308,1},{5342,14312,1},{5345,14307,1},{5348,14313,1}, {5355,14310,1},{5353,14305,1},{5357,14298,1},{5358,14302,1},{5360,14307,1}, {5362,14305,1},{5362,14298,1},{5365,14303,1},{5367,14302,1},{5367,14297,1}, {5368,14298,1},{5370,14295,1},{5373,14295,1},{5377,14290,1},{5382,14288,1}, {5383,14293,1},{5380,14295,1},{5370,14300,1},{5387,14293,1},{5387,14285,1}, {5390,14287,1},{5390,14290,1},{5398,14293,1},{5407,14300,1},{5413,14302,1}, {5417,14295,1},{5425,14288,1},{5430,14282,1},{5442,14273,1},{5442,14270,1}, {5440,14268,1},{5435,14268,1},{5432,14262,1},{5428,14265,1},{5427,14263,1}, {5428,14258,1},{5427,14258,1},{5423,14258,1},{5423,14257,1},{5423,14253,1}, {5428,14252,1},{5432,14260,1},{5427,14243,1},{5427,14238,1},{5430,14228,1}, {5423,14240,1},{5413,14248,1},{5393,14272,1},{5387,14272,1},{5368,14260,1}, {5372,14268,1},{5383,14273,1},{5383,14277,1},{5370,14280,1},{5363,14273,1}, {5363,14268,1},{5368,14263,1},{5367,14260,1},{5367,14252,1},{5365,14250,1}, {5353,14252,1},{5357,14257,1},{5357,14260,1},{5355,14267,1},{5353,14268,1}, {5352,14268,1},{5352,14263,1},{5350,14258,1},{5338,14248,1},{5337,14242,1}, {5338,14238,1},{5335,14235,1},{5338,14225,1},{5347,14223,1},{5348,14225,1}, {5352,14223,1},{5353,14225,1},{5348,14207,1},{5338,14178,1},{5337,14177,1}, {5333,14180,1},{5330,14182,1},{5327,14180,1},{5320,14183,1},{5315,14183,1}, {4552,14880,129},{4547,14887,1},{4542,14880,1},{4537,14885,1},{4533,14883,1}, {4532,14875,1},{4532,14858,1},{4525,14847,1},{4522,14828,1},{4508,14803,1}, {4500,14795,1},{4497,14785,1},{4497,14780,1},{4493,14777,1},{4497,14770,1}, {4497,14762,1},{4492,14758,1},{4490,14762,1},{4480,14753,1},{4467,14728,1}, {4458,14723,1},{4455,14720,1},{4453,14708,1},{4450,14702,1},{4440,14695,1}, {4440,14688,1},{4440,14685,1},{4445,14683,1},{4452,14692,1},{4458,14692,1}, {4460,14693,1},{4455,14693,1},{4455,14698,1},{4457,14700,1},{4462,14698,1}, {4462,14707,1},{4462,14710,1},{4467,14715,1},{4472,14717,1},{4475,14710,1}, {4478,14708,1},{4480,14712,1},{4477,14717,1},{4478,14720,1},{4485,14725,1}, {4488,14733,1},{4497,14748,1},{4508,14750,1},{4508,14757,1},{4505,14758,1}, {4508,14767,1},{4518,14775,1},{4522,14788,1},{4535,14785,1},{4542,14792,1}, {4542,14797,1},{4537,14797,1},{4532,14800,1},{4527,14800,1},{4525,14805,1}, {4527,14832,1},{4535,14843,1},{4540,14847,1},{4545,14855,1},{4547,14860,1}, {4550,14863,1},{4552,14872,1},{4552,14880,1},{4560,14947,129},{4558,14943,1}, {4560,14957,1},{4563,14958,1},{4560,14960,1},{4563,14967,1},{4577,14987,1}, {4578,14992,1},{4583,14998,1},{4583,15003,1},{4590,15017,1},{4593,15020,1}, {4602,15023,1},{4622,15057,1},{4620,15050,1},{4622,15043,1},{4622,15035,1}, {4615,15022,1},{4610,15018,1},{4608,15013,1},{4608,15008,1},{4600,14993,1}, {4590,14985,1},{4588,14982,1},{4587,14978,1},{4585,14967,1},{4580,14963,1}, {4578,14960,1},{4575,14958,1},{4570,14955,1},{4568,14950,1},{4560,14947,1}, {4713,15220,129},{4717,15223,1},{4708,15212,1},{4698,15203,1},{4693,15193,1}, {4687,15187,1},{4687,15175,1},{4685,15170,1},{4680,15172,1},{4677,15177,1}, {4678,15183,1},{4683,15190,1},{4687,15193,1},{4688,15202,1},{4697,15208,1}, {4700,15215,1},{4707,15217,1},{4715,15230,1},{4717,15227,1},{4715,15223,1}, {4712,15220,1},{5005,15523,129},{5005,15538,1},{5003,15538,1},{5000,15537,1}, {5000,15538,1},{5002,15542,1},{5005,15543,1},{5012,15548,1},{5018,15560,1}, {5018,15578,1},{5023,15580,1},{5025,15588,1},{5037,15598,1},{5042,15603,1}, {5048,15605,1},{5048,15607,1},{5048,15612,1},{5052,15615,1},{5057,15613,1}, {5060,15617,1},{5063,15612,1},{5075,15612,1},{5078,15607,1},{5077,15602,1}, {5068,15588,1},{5058,15585,1},{5053,15578,1},{5045,15577,1},{5038,15567,1}, {5037,15543,1},{5035,15540,1},{5028,15533,1},{5030,15525,1},{5028,15520,1}, {5025,15518,1},{5022,15525,1},{5013,15525,1},{5008,15522,1},{5005,15523,1}, {5533,16623,129},{5532,16617,1},{5533,16610,1},{5537,16595,1},{5535,16592,1}, {5532,16590,1},{5528,16573,1},{5525,16590,1},{5522,16598,1},{5518,16597,1}, {5515,16605,1},{5510,16608,1},{5507,16607,1},{5498,16617,1},{5493,16620,1}, {5490,16628,1},{5482,16638,1},{5483,16640,1},{5482,16650,1},{5478,16648,1}, {5467,16667,1},{5470,16665,1},{5473,16667,1},{5480,16663,1},{5485,16665,1}, {5490,16658,1},{5495,16647,1},{5500,16638,1},{5508,16633,1},{5515,16625,1}, {5525,16622,1},{5530,16628,1},{5533,16625,1},{5857,16338,129},{5847,16345,1}, {5858,16358,1},{5860,16367,1},{5868,16382,1},{5872,16392,1},{5873,16395,1}, {5877,16408,1},{5882,16415,1},{5882,16427,1},{5883,16430,1},{5885,16437,1}, {5887,16442,1},{5887,16460,1},{5890,16467,1},{5898,16467,1},{5903,16472,1}, {5910,16463,1},{5918,16462,1},{5918,16458,1},{5923,16457,1},{5920,16443,1}, {5913,16432,1},{5905,16403,1},{5903,16392,1},{5902,16375,1},{5900,16368,1}, {5900,16367,1},{5902,16375,1},{5900,16385,1},{5902,16388,1},{5900,16390,1}, {5892,16377,1},{5875,16370,1},{5863,16357,1},{5858,16348,1},{5857,16338,1}, {7080,17878,129},{7087,17905,1},{7088,17927,1},{7087,17945,1},{7090,17968,1}, {7095,17980,1},{7100,17998,1},{7100,-17992,1},{7097,-17982,1},{7095,-17965,1}, {7092,-17948,1},{7092,-17933,1},{7090,-17932,1},{7097,-17887,1},{7100,-17852,1}, {7103,-17822,1},{7103,-17793,1},{7108,-17782,1},{7112,-17763,1},{7117,-17750,1}, {7122,-17745,1},{7128,-17750,1},{7130,-17772,1},{7137,-17785,1},{7140,-17803,1}, {7145,-17802,1},{7148,-17813,1},{7148,-17825,1},{7152,-17833,1},{7150,-17827,1}, {7157,-17857,1},{7158,-17897,1},{7160,-17903,1},{7158,-17918,1},{7155,-17930,1}, {7158,-17962,1},{7157,-17970,1},{7158,-17973,1},{7157,-17983,1},{7155,-17990,1}, {7153,-17987,1},{7153,17993,1},{7152,17985,1},{7148,17987,1},{7148,17977,1}, {7147,17977,1},{7145,17972,1},{7143,17953,1},{7140,17947,1},{7130,17920,1}, {7122,17887,1},{7118,17885,1},{7108,17865,1},{7103,17862,1},{7090,17875,1}, {7080,17878,1},{6977,16942,129},{6982,16945,1},{6987,16940,1},{6990,16922,1}, {6993,16887,1},{6997,16877,1},{7002,16827,1},{7000,16815,1},{6998,16813,1}, {6993,16795,1},{6983,16775,1},{6980,16780,1},{6977,16805,1},{6970,16815,1}, {6960,16865,1},{6957,16887,1},{6957,16920,1},{6965,16930,1},{6975,16927,1}, {6977,16930,1},{6977,16942,1},{7425,13542,129},{7425,13535,1},{7415,13545,1}, {7415,13557,1},{7410,13567,1},{7403,13573,1},{7393,13603,1},{7390,13607,1}, {7387,13615,1},{7390,13623,1},{7398,13627,1},{7408,13607,1},{7423,13557,1}, {7425,13542,1},{7388,14058,129},{7390,14048,1},{7393,14030,1},{7403,14012,1}, {7408,14007,1},{7418,14008,1},{7423,14022,1},{7427,14032,1},{7428,14057,1}, {7428,14080,1},{7425,14098,1},{7422,14108,1},{7417,14112,1},{7413,14107,1}, {7402,14105,1},{7397,14097,1},{7397,14082,1},{7390,14045,1},{7388,14115,129}, {7387,14108,1},{7382,14092,1},{7355,14060,1},{7345,14030,1},{7343,13970,1}, {7340,13965,1},{7337,13968,1},{7335,13973,1},{7335,14002,1},{7342,14030,1}, {7345,14063,1},{7345,14082,1},{7338,14113,1},{7337,14138,1},{7330,14163,1}, {7327,14222,1},{7323,14238,1},{7325,14265,1},{7320,14318,1},{7323,14345,1}, {7323,14355,1},{7332,14348,1},{7340,14343,1},{7345,14353,1},{7352,14343,1}, {7363,14318,1},{7367,14302,1},{7383,14252,1},{7387,14225,1},{7392,14203,1}, {7392,14172,1},{7387,14135,1},{7387,14123,1},{7388,14117,1},{7558,14650,129}, {7558,14642,1},{7557,14637,1},{7550,14633,1},{7547,14640,1},{7545,14630,1}, {7542,14625,1},{7540,14627,1},{7538,14617,1},{7528,14617,1},{7522,14608,1}, {7517,14632,1},{7510,14673,1},{7500,14713,1},{7497,14732,1},{7497,14755,1}, {7495,14770,1},{7492,14773,1},{7488,14787,1},{7478,14825,1},{7477,14868,1}, {7475,14917,1},{7477,14933,1},{7477,14970,1},{7478,14975,1},{7483,15005,1}, {7488,15047,1},{7488,15060,1},{7493,15068,1},{7500,15065,1},{7505,15077,1}, {7512,15085,1},{7513,15095,1},{7517,15083,1},{7515,15068,1},{7513,15067,1}, {7512,15063,1},{7508,15050,1},{7510,15047,1},{7513,15055,1},{7513,15040,1}, {7517,15028,1},{7515,15015,1},{7518,15022,1},{7522,15015,1},{7528,14933,1}, {7527,14908,1},{7522,14888,1},{7522,14858,1},{7528,14845,1},{7538,14857,1}, {7542,14838,1},{7540,14815,1},{7542,14782,1},{7543,14760,1},{7543,14735,1}, {7542,14738,1},{7538,14743,1},{7538,14737,1},{7540,14737,1},{7538,14722,1}, {7537,14717,1},{7535,14718,1},{7537,14732,1},{7535,14735,1},{7533,14713,1}, {7533,14697,1},{7537,14677,1},{7542,14663,1},{7548,14668,1},{7550,14677,1}, {7558,14650,1},{7480,13983,129},{7483,14030,1},{7490,14092,1},{7493,14152,1}, {7500,14192,1},{7500,14223,1},{7497,14223,1},{7492,14235,1},{7497,14207,1}, {7495,14198,1},{7493,14197,1},{7488,14207,1},{7482,14243,1},{7482,14255,1}, {7483,14270,1},{7485,14272,1},{7485,14262,1},{7490,14270,1},{7487,14282,1}, {7488,14293,1},{7490,14348,1},{7493,14370,1},{7498,14367,1},{7502,14358,1}, {7500,14342,1},{7502,14332,1},{7505,14310,1},{7507,14285,1},{7510,14262,1}, {7517,14255,1},{7522,14242,1},{7525,14242,1},{7538,14215,1},{7547,14218,1}, {7553,14207,1},{7558,14213,1},{7562,14200,1},{7563,14222,1},{7565,14202,1}, {7567,14203,1},{7565,14223,1},{7567,14242,1},{7568,14240,1},{7572,14230,1}, {7573,14267,1},{7572,14270,1},{7572,14293,1},{7567,14303,1},{7560,14302,1}, {7555,14273,1},{7545,14250,1},{7542,14253,1},{7537,14250,1},{7530,14265,1}, {7523,14272,1},{7522,14283,1},{7513,14290,1},{7513,14300,1},{7507,14337,1}, {7508,14355,1},{7507,14375,1},{7503,14397,1},{7505,14418,1},{7505,14440,1}, {7512,14452,1},{7517,14470,1},{7525,14473,1},{7527,14493,1},{7530,14488,1}, {7533,14467,1},{7540,14468,1},{7543,14475,1},{7552,14520,1},{7552,14540,1}, {7560,14520,1},{7563,14483,1},{7568,14472,1},{7572,14448,1},{7583,14390,1}, {7582,14378,1},{7583,14378,1},{7587,14363,1},{7583,14338,1},{7580,14337,1}, {7582,14325,1},{7580,14308,1},{7585,14257,1},{7588,14247,1},{7593,14237,1}, {7612,14170,1},{7613,14155,1},{7618,14135,1},{7617,14130,1},{7615,14138,1}, {7605,14150,1},{7600,14162,1},{7605,14118,1},{7605,14100,1},{7600,14092,1}, {7573,14087,1},{7565,14107,1},{7560,14092,1},{7563,14077,1},{7562,14068,1}, {7565,14043,1},{7572,14047,1},{7575,14053,1},{7580,14050,1},{7582,14043,1}, {7582,14027,1},{7580,14015,1},{7582,14013,1},{7583,13997,1},{7588,13978,1}, {7593,13983,1},{7592,13990,1},{7597,13983,1},{7598,13965,1},{7603,13947,1}, {7607,13918,1},{7612,13902,1},{7620,13897,1},{7622,13887,1},{7623,13905,1}, {7622,13873,1},{7620,13857,1},{7617,13850,1},{7605,13843,1},{7613,13833,1}, {7615,13837,1},{7612,13817,1},{7605,13797,1},{7608,13810,1},{7607,13810,1}, {7602,13800,1},{7600,13772,1},{7595,13742,1},{7588,13743,1},{7580,13762,1}, {7578,13772,1},{7575,13775,1},{7578,13752,1},{7577,13747,1},{7578,13730,1}, {7578,13718,1},{7572,13707,1},{7568,13715,1},{7565,13715,1},{7560,13697,1}, {7558,13698,1},{7557,13708,1},{7562,13697,1},{7565,13713,1},{7558,13728,1}, {7558,13718,1},{7553,13718,1},{7547,13730,1},{7547,13715,1},{7542,13713,1}, {7540,13717,1},{7542,13725,1},{7542,13740,1},{7538,13743,1},{7535,13738,1}, {7533,13722,1},{7535,13710,1},{7538,13705,1},{7538,13693,1},{7535,13687,1}, {7530,13693,1},{7527,13692,1},{7513,13713,1},{7503,13748,1},{7502,13762,1}, {7502,13765,1},{7498,13778,1},{7485,13788,1},{7477,13817,1},{7472,13875,1}, {7465,13907,1},{7465,13922,1},{7468,13935,1},{7477,13950,1},{7483,13955,1}, {7488,13965,1},{7485,13957,1},{7487,13948,1},{7488,13947,1},{7493,13947,1}, {7498,13965,1},{7497,13973,1},{7497,13985,1},{7492,13987,1},{7490,13997,1}, {7482,14007,1},{7537,13545,129},{7537,13550,1},{7537,13582,1},{7540,13593,1}, {7543,13603,1},{7550,13597,1},{7562,13618,1},{7570,13587,1},{7587,13570,1}, {7567,13553,1},{7562,13558,1},{7557,13558,1},{7545,13545,1},{7538,13545,1}, {7410,11282,129},{7420,11297,1},{7422,11317,1},{7428,11328,1},{7430,11323,1}, {7435,11337,1},{7438,11338,1},{7438,11343,1},{7445,11340,1},{7448,11328,1}, {7450,11310,1},{7450,11272,1},{7455,11213,1},{7453,11203,1},{7447,11197,1}, {7445,11200,1},{7438,11198,1},{7435,11188,1},{7437,11170,1},{7435,11148,1}, {7430,11147,1},{7425,11158,1},{7422,11197,1},{7413,11217,1},{7413,11232,1}, {7410,11258,1},{7410,11282,1},{7795,9947,129},{7793,9952,1},{7797,9965,1}, {7795,9988,1},{7795,10002,1},{7803,10048,1},{7807,10062,1},{7807,10072,1}, {7810,10092,1},{7817,10113,1},{7820,10128,1},{7820,10200,1},{7818,10203,1}, {7820,10208,1},{7822,10255,1},{7822,10267,1},{7817,10268,1},{7818,10285,1}, {7822,10287,1},{7825,10300,1},{7823,10317,1},{7827,10360,1},{7827,10383,1}, {7832,10418,1},{7835,10465,1},{7833,10477,1},{7850,10537,1},{7858,10540,1}, {7860,10532,1},{7865,10533,1},{7882,10517,1},{7885,10492,1},{7883,10472,1}, {7880,10473,1},{7877,10458,1},{7883,10465,1},{7885,10437,1},{7885,10448,1}, {7888,10452,1},{7897,10443,1},{7898,10430,1},{7900,10407,1},{7903,10408,1}, {7907,10398,1},{7912,10402,1},{7913,10395,1},{7913,10382,1},{7915,10383,1}, {7913,10363,1},{7917,10365,1},{7915,10353,1},{7910,10345,1},{7910,10330,1}, {7908,10330,1},{7905,10312,1},{7905,10292,1},{7888,10267,1},{7883,10253,1}, {7882,10238,1},{7903,10270,1},{7907,10267,1},{7913,10280,1},{7915,10273,1}, {7922,10283,1},{7927,10290,1},{7928,10297,1},{7928,10308,1},{7932,10317,1}, {7933,10312,1},{7933,10297,1},{7938,10290,1},{7943,10237,1},{7942,10222,1}, {7935,10213,1},{7923,10225,1},{7927,10195,1},{7930,10197,1},{7937,10182,1}, {7935,10155,1},{7925,10153,1},{7923,10128,1},{7920,10120,1},{7917,10112,1}, {7913,10127,1},{7913,10110,1},{7912,10103,1},{7907,10098,1},{7898,10162,1}, {7898,10150,1},{7903,10108,1},{7898,10090,1},{7888,10078,1},{7880,10083,1}, {7878,10110,1},{7875,10117,1},{7880,10060,1},{7875,10038,1},{7865,10025,1}, {7857,10027,1},{7843,10008,1},{7842,10000,1},{7833,10005,1},{7825,9973,1}, {7817,9952,1},{7808,9943,1},{7803,9927,1},{7798,9942,1},{7795,9937,1},{7795,9945,1}, {7925,9947,129},{7930,9967,1},{7937,9975,1},{7947,9968,1},{7952,9978,1}, {7957,9972,1},{7968,9988,1},{7973,9982,1},{7975,9997,1},{7977,10008,1}, {7980,10000,1},{7982,10002,1},{7993,9968,1},{7993,9950,1},{7997,9955,1}, {7998,9937,1},{8002,9937,1},{8002,9917,1},{8003,9922,1},{8003,9877,1},{8003,9865,1}, {8005,9853,1},{8002,9843,1},{7997,9858,1},{7992,9843,1},{7987,9838,1},{7987,9828,1}, {7990,9805,1},{7990,9790,1},{7987,9788,1},{7985,9792,1},{7980,9772,1},{7977,9772,1}, {7970,9723,1},{7972,9722,1},{7978,9762,1},{7980,9752,1},{7982,9755,1},{7983,9765,1}, {7985,9758,1},{7988,9777,1},{7998,9785,1},{8002,9798,1},{8005,9808,1},{8008,9793,1}, {8015,9770,1},{8017,9753,1},{8017,9715,1},{8013,9692,1},{8012,9673,1},{8013,9660,1}, {8010,9650,1},{8010,9637,1},{8012,9628,1},{8010,9623,1},{8008,9618,1},{8008,9610,1}, {8012,9607,1},{8010,9588,1},{8012,9558,1},{8008,9540,1},{8003,9535,1},{8002,9527,1}, {8005,9510,1},{8010,9500,1},{8010,9493,1},{8007,9493,1},{8003,9480,1},{8002,9477,1}, {7997,9447,1},{7997,9433,1},{7993,9438,1},{7990,9423,1},{7988,9433,1},{7987,9435,1}, {7985,9450,1},{7982,9468,1},{7977,9408,1},{7968,9380,1},{7965,9378,1},{7962,9365,1}, {7955,9328,1},{7955,9308,1},{7957,9292,1},{7955,9285,1},{7953,9312,1},{7952,9302,1}, {7952,9307,1},{7952,9328,1},{7950,9330,1},{7947,9312,1},{7943,9320,1},{7948,9352,1}, {7950,9345,1},{7952,9347,1},{7955,9367,1},{7960,9380,1},{7960,9388,1},{7953,9368,1}, {7948,9398,1},{7945,9372,1},{7943,9395,1},{7943,9407,1},{7947,9407,1},{7947,9433,1}, {7925,9432,1},{7920,9463,1},{7913,9462,1},{7907,9483,1},{7907,9498,1},{7905,9498,1}, {7903,9505,1},{7907,9528,1},{7910,9550,1},{7907,9565,1},{7900,9570,1},{7900,9603,1}, {7902,9627,1},{7902,9637,1},{7898,9630,1},{7900,9675,1},{7897,9687,1},{7895,9685,1}, {7887,9722,1},{7885,9725,1},{7883,9760,1},{7883,9742,1},{7882,9742,1},{7882,9775,1}, {7880,9780,1},{7882,9808,1},{7880,9808,1},{7880,9825,1},{7878,9830,1},{7878,9858,1}, {7880,9858,1},{7880,9900,1},{7883,9922,1},{7882,9943,1},{7883,9952,1},{7893,9992,1}, {7897,9995,1},{7902,9987,1},{7908,9985,1},{7913,9950,1},{7917,9960,1},{7928,9905,1}, {7930,9905,1},{7930,9915,1},{7928,9930,1},{7925,9945,1},{8128,9560,129}, {8127,9510,1},{8123,9507,1},{8122,9555,1},{8122,9513,1},{8112,9475,1},{8110,9450,1}, {8110,9435,1},{8107,9407,1},{8105,9368,1},{8103,9365,1},{8103,9347,1},{8100,9307,1}, {8092,9315,1},{8088,9270,1},{8085,9273,1},{8077,9248,1},{8075,9253,1},{8075,9268,1}, {8077,9277,1},{8077,9287,1},{8077,9312,1},{8080,9333,1},{8065,9283,1},{8052,9278,1}, {8050,9230,1},{8045,9188,1},{8042,9208,1},{8040,9252,1},{8038,9262,1},{8038,9230,1}, {8040,9213,1},{8040,9207,1},{8038,9212,1},{8038,9168,1},{8037,9168,1},{8035,9153,1}, {8032,9142,1},{8030,9147,1},{8032,9163,1},{8028,9157,1},{8030,9245,1},{8032,9285,1}, {8030,9325,1},{8027,9328,1},{8030,9282,1},{8028,9240,1},{8028,9210,1},{8023,9225,1}, {8017,9288,1},{8018,9233,1},{8020,9220,1},{8017,9207,1},{8015,9262,1},{8008,9308,1}, {8003,9330,1},{8002,9357,1},{8000,9368,1},{8007,9438,1},{8013,9452,1},{8012,9468,1}, {8013,9482,1},{8013,9507,1},{8017,9543,1},{8020,9557,1},{8022,9597,1},{8023,9720,1}, {8030,9742,1},{8033,9735,1},{8035,9720,1},{8043,9720,1},{8052,9702,1},{8058,9705,1}, {8065,9720,1},{8067,9713,1},{8065,9735,1},{8067,9758,1},{8067,9773,1},{8068,9777,1}, {8070,9797,1},{8072,9797,1},{8073,9775,1},{8077,9788,1},{8080,9775,1},{8082,9778,1}, {8083,9752,1},{8083,9742,1},{8085,9742,1},{8090,9695,1},{8093,9690,1},{8095,9675,1}, {8098,9663,1},{8100,9673,1},{8103,9653,1},{8108,9655,1},{8117,9617,1},{8120,9615,1}, {8120,9597,1},{8123,9602,1},{8128,9578,1},{8128,9560,1},{7233,7687,129}, {7235,7688,1},{7247,7723,1},{7255,7733,1},{7263,7762,1},{7258,7818,1},{7252,7835,1}, {7248,7838,1},{7242,7818,1},{7237,7793,1},{7230,7778,1},{7228,7757,1},{7228,7722,1}, {7227,7710,1},{7230,7688,1},{7235,7687,1},{7303,6987,129},{7313,6992,1}, {7318,7002,1},{7323,7007,1},{7340,6997,1},{7345,7020,1},{7350,7048,1},{7347,7052,1}, {7352,7088,1},{7348,7108,1},{7345,7125,1},{7343,7125,1},{7343,7110,1},{7340,7115,1}, {7335,7108,1},{7330,7110,1},{7328,7107,1},{7328,7100,1},{7327,7098,1},{7327,7108,1}, {7327,7125,1},{7325,7128,1},{7327,7128,1},{7328,7128,1},{7332,7140,1},{7335,7143,1}, {7327,7162,1},{7318,7168,1},{7317,7135,1},{7313,7127,1},{7312,7108,1},{7313,7090,1}, {7307,7053,1},{7303,7042,1},{7303,7022,1},{7310,7010,1},{7305,7000,1},{7303,7010,1}, {7302,7010,1},{7303,6988,1},{7305,6987,1},{6908,4823,129},{6925,4828,1}, {6935,4842,1},{6945,4867,1},{6950,4892,1},{6952,4902,1},{6950,4932,1},{6928,5012,1}, {6915,5032,1},{6912,5033,1},{6907,5027,1},{6900,5015,1},{6900,5012,1},{6903,5012,1}, {6915,5023,1},{6915,5020,1},{6907,4995,1},{6902,4985,1},{6900,4992,1},{6900,4990,1}, {6888,4968,1},{6882,4948,1},{6882,4930,1},{6880,4930,1},{6877,4918,1},{6872,4878,1}, {6875,4872,1},{6873,4868,1},{6873,4858,1},{6885,4830,1},{6888,4833,1},{6890,4827,1}, {6888,4823,1},{6895,4823,1},{6898,4827,1},{6900,4822,1},{6903,4827,1},{6905,4822,1}, {6908,4825,1},{7178,5140,129},{7193,5145,1},{7208,5160,1},{7217,5187,1}, {7212,5193,1},{7210,5205,1},{7207,5207,1},{7213,5220,1},{7208,5220,1},{7207,5233,1}, {7208,5242,1},{7215,5237,1},{7215,5248,1},{7217,5250,1},{7222,5240,1},{7222,5248,1}, {7222,5247,1},{7223,5248,1},{7228,5242,1},{7225,5258,1},{7228,5258,1},{7232,5268,1}, {7233,5268,1},{7237,5258,1},{7233,5275,1},{7235,5287,1},{7237,5270,1},{7243,5267,1}, {7245,5282,1},{7247,5277,1},{7248,5267,1},{7252,5275,1},{7252,5287,1},{7257,5292,1}, {7260,5310,1},{7258,5292,1},{7255,5275,1},{7260,5278,1},{7262,5282,1},{7262,5273,1}, {7263,5277,1},{7267,5297,1},{7265,5322,1},{7268,5298,1},{7267,5273,1},{7267,5255,1}, {7270,5250,1},{7272,5238,1},{7273,5238,1},{7275,5240,1},{7275,5247,1},{7278,5248,1}, {7285,5260,1},{7292,5297,1},{7292,5307,1},{7287,5332,1},{7288,5338,1},{7290,5328,1}, {7290,5338,1},{7293,5340,1},{7293,5323,1},{7297,5313,1},{7302,5315,1},{7300,5338,1}, {7307,5327,1},{7307,5318,1},{7308,5313,1},{7312,5317,1},{7315,5315,1},{7322,5333,1}, {7323,5345,1},{7323,5357,1},{7327,5365,1},{7330,5377,1},{7328,5397,1},{7327,5405,1}, {7327,5423,1},{7330,5433,1},{7332,5442,1},{7338,5457,1},{7342,5493,1},{7338,5517,1}, {7333,5533,1},{7332,5545,1},{7332,5577,1},{7328,5580,1},{7325,5603,1},{7325,5620,1}, {7323,5643,1},{7317,5657,1},{7313,5658,1},{7312,5655,1},{7307,5580,1},{7307,5627,1}, {7305,5643,1},{7305,5647,1},{7300,5635,1},{7300,5608,1},{7297,5562,1},{7295,5568,1}, {7293,5600,1},{7297,5618,1},{7297,5625,1},{7297,5627,1},{7288,5623,1},{7282,5622,1}, {7278,5613,1},{7278,5598,1},{7280,5587,1},{7277,5573,1},{7278,5567,1},{7282,5550,1}, {7278,5543,1},{7278,5557,1},{7275,5572,1},{7275,5583,1},{7267,5595,1},{7267,5580,1}, {7270,5563,1},{7267,5565,1},{7263,5573,1},{7262,5570,1},{7262,5562,1},{7257,5568,1}, {7253,5560,1},{7253,5557,1},{7258,5545,1},{7258,5527,1},{7257,5545,1},{7253,5547,1}, {7252,5555,1},{7247,5555,1},{7245,5538,1},{7245,5512,1},{7243,5547,1},{7235,5547,1}, {7230,5537,1},{7225,5553,1},{7220,5558,1},{7207,5535,1},{7205,5545,1},{7198,5535,1}, {7193,5538,1},{7195,5527,1},{7193,5525,1},{7192,5522,1},{7192,5540,1},{7188,5552,1}, {7177,5553,1},{7160,5567,1},{7138,5602,1},{7127,5608,1},{7120,5623,1},{7107,5655,1}, {7100,5667,1},{7095,5685,1},{7087,5705,1},{7082,5732,1},{7082,5745,1},{7078,5748,1}, {7073,5763,1},{7073,5753,1},{7075,5745,1},{7073,5743,1},{7070,5755,1},{7063,5745,1}, {7062,5740,1},{7060,5745,1},{7060,5740,1},{7067,5703,1},{7067,5698,1},{7065,5698,1}, {7067,5688,1},{7070,5682,1},{7070,5673,1},{7063,5685,1},{7062,5707,1},{7063,5715,1}, {7060,5718,1},{7057,5735,1},{7057,5732,1},{7060,5693,1},{7063,5673,1},{7067,5662,1}, {7065,5660,1},{7063,5670,1},{7063,5660,1},{7067,5650,1},{7072,5652,1},{7073,5658,1}, {7075,5652,1},{7073,5645,1},{7072,5643,1},{7073,5623,1},{7072,5622,1},{7070,5632,1}, {7070,5620,1},{7068,5630,1},{7067,5622,1},{7065,5623,1},{7065,5638,1},{7068,5635,1}, {7067,5645,1},{7065,5648,1},{7063,5653,1},{7063,5647,1},{7062,5647,1},{7058,5665,1}, {7055,5655,1},{7057,5637,1},{7057,5655,1},{7058,5653,1},{7060,5628,1},{7067,5607,1}, {7065,5603,1},{7063,5612,1},{7062,5618,1},{7058,5617,1},{7060,5613,1},{7065,5597,1}, {7068,5582,1},{7065,5585,1},{7058,5605,1},{7057,5602,1},{7060,5595,1},{7058,5588,1}, {7062,5583,1},{7062,5568,1},{7063,5560,1},{7062,5570,1},{7062,5572,1},{7067,5560,1}, {7063,5573,1},{7063,5580,1},{7070,5575,1},{7073,5562,1},{7072,5560,1},{7068,5570,1}, {7065,5575,1},{7068,5565,1},{7070,5550,1},{7075,5542,1},{7070,5535,1},{7068,5543,1}, {7065,5547,1},{7068,5540,1},{7067,5538,1},{7068,5528,1},{7065,5523,1},{7060,5530,1}, {7058,5527,1},{7058,5522,1},{7055,5520,1},{7055,5517,1},{7063,5497,1},{7068,5475,1}, {7072,5470,1},{7075,5472,1},{7078,5457,1},{7082,5452,1},{7077,5457,1},{7078,5450,1}, {7073,5448,1},{7070,5465,1},{7068,5462,1},{7067,5473,1},{7065,5475,1},{7065,5467,1}, {7068,5453,1},{7070,5455,1},{7072,5443,1},{7077,5428,1},{7077,5427,1},{7073,5428,1}, {7073,5422,1},{7075,5413,1},{7073,5412,1},{7073,5405,1},{7082,5385,1},{7078,5388,1}, {7080,5382,1},{7080,5372,1},{7082,5365,1},{7083,5355,1},{7085,5357,1},{7083,5353,1}, {7080,5353,1},{7082,5347,1},{7085,5340,1},{7087,5330,1},{7087,5343,1},{7087,5352,1}, {7088,5357,1},{7087,5362,1},{7083,5368,1},{7087,5368,1},{7090,5367,1},{7095,5375,1}, {7098,5370,1},{7107,5350,1},{7110,5348,1},{7107,5360,1},{7107,5368,1},{7108,5367,1}, {7110,5370,1},{7105,5392,1},{7113,5382,1},{7113,5393,1},{7113,5403,1},{7112,5407,1}, {7113,5393,1},{7112,5393,1},{7110,5392,1},{7110,5408,1},{7112,5423,1},{7113,5423,1}, {7112,5415,1},{7115,5398,1},{7118,5403,1},{7118,5410,1},{7120,5405,1},{7122,5407,1}, {7120,5417,1},{7123,5408,1},{7123,5403,1},{7117,5395,1},{7120,5387,1},{7120,5380,1}, {7115,5382,1},{7117,5370,1},{7118,5372,1},{7120,5357,1},{7125,5345,1},{7130,5360,1}, {7140,5372,1},{7142,5388,1},{7147,5395,1},{7147,5387,1},{7143,5382,1},{7138,5357,1}, {7132,5353,1},{7128,5348,1},{7132,5337,1},{7145,5325,1},{7147,5333,1},{7152,5335,1}, {7153,5343,1},{7157,5335,1},{7150,5320,1},{7142,5313,1},{7150,5305,1},{7148,5300,1}, {7143,5303,1},{7143,5297,1},{7140,5297,1},{7138,5290,1},{7147,5285,1},{7147,5280,1}, {7142,5282,1},{7143,5273,1},{7148,5270,1},{7147,5263,1},{7147,5262,1},{7153,5265,1}, {7158,5255,1},{7162,5257,1},{7163,5252,1},{7157,5250,1},{7153,5237,1},{7147,5240,1}, {7152,5227,1},{7158,5225,1},{7153,5213,1},{7147,5228,1},{7148,5215,1},{7147,5208,1}, {7147,5195,1},{7145,5182,1},{7150,5173,1},{7153,5160,1},{7157,5153,1},{7160,5155,1}, {7168,5147,1},{7172,5147,1},{7172,5142,1},{7180,5140,1},{7468,5698,129}, {7467,5678,1},{7468,5650,1},{7470,5643,1},{7472,5642,1},{7465,5592,1},{7467,5587,1}, {7468,5587,1},{7468,5573,1},{7465,5553,1},{7462,5557,1},{7457,5550,1},{7457,5567,1}, {7455,5570,1},{7452,5565,1},{7455,5585,1},{7453,5605,1},{7452,5608,1},{7450,5602,1}, {7448,5603,1},{7448,5617,1},{7450,5623,1},{7448,5628,1},{7445,5590,1},{7445,5560,1}, {7443,5545,1},{7443,5537,1},{7437,5523,1},{7435,5550,1},{7432,5558,1},{7433,5567,1}, {7430,5575,1},{7427,5573,1},{7427,5567,1},{7430,5565,1},{7428,5557,1},{7427,5525,1}, {7430,5523,1},{7427,5513,1},{7427,5507,1},{7423,5513,1},{7423,5532,1},{7420,5558,1}, {7415,5563,1},{7413,5580,1},{7410,5587,1},{7412,5565,1},{7415,5548,1},{7415,5527,1}, {7418,5517,1},{7417,5510,1},{7417,5502,1},{7410,5478,1},{7402,5458,1},{7398,5478,1}, {7397,5480,1},{7395,5448,1},{7392,5425,1},{7387,5408,1},{7383,5407,1},{7378,5388,1}, {7378,5375,1},{7380,5368,1},{7380,5365,1},{7375,5363,1},{7365,5395,1},{7363,5393,1}, {7360,5407,1},{7360,5422,1},{7363,5440,1},{7370,5448,1},{7370,5455,1},{7372,5477,1}, {7373,5485,1},{7368,5485,1},{7372,5497,1},{7372,5535,1},{7370,5512,1},{7365,5487,1}, {7367,5475,1},{7362,5467,1},{7357,5437,1},{7348,5418,1},{7347,5430,1},{7347,5442,1}, {7345,5432,1},{7342,5428,1},{7338,5405,1},{7337,5405,1},{7335,5420,1},{7332,5422,1}, {7337,5440,1},{7340,5453,1},{7340,5468,1},{7343,5478,1},{7345,5497,1},{7340,5520,1}, {7333,5542,1},{7335,5570,1},{7333,5582,1},{7330,5593,1},{7333,5598,1},{7335,5598,1}, {7340,5597,1},{7343,5587,1},{7343,5590,1},{7342,5602,1},{7335,5603,1},{7330,5607,1}, {7328,5613,1},{7325,5672,1},{7325,5677,1},{7327,5672,1},{7332,5680,1},{7333,5673,1}, {7337,5677,1},{7332,5688,1},{7335,5700,1},{7342,5717,1},{7345,5718,1},{7345,5725,1}, {7350,5725,1},{7360,5690,1},{7360,5675,1},{7362,5685,1},{7365,5675,1},{7367,5672,1}, {7367,5682,1},{7363,5687,1},{7358,5702,1},{7355,5733,1},{7358,5735,1},{7362,5760,1}, {7370,5758,1},{7383,5732,1},{7385,5670,1},{7388,5655,1},{7383,5740,1},{7382,5752,1}, {7372,5770,1},{7380,5793,1},{7387,5790,1},{7390,5782,1},{7392,5792,1},{7400,5767,1}, {7407,5755,1},{7408,5725,1},{7408,5732,1},{7408,5747,1},{7408,5753,1},{7412,5752,1}, {7418,5742,1},{7418,5755,1},{7405,5770,1},{7402,5790,1},{7398,5812,1},{7400,5822,1}, {7405,5820,1},{7405,5810,1},{7410,5817,1},{7413,5813,1},{7413,5825,1},{7408,5830,1}, {7413,5837,1},{7413,5852,1},{7415,5850,1},{7417,5830,1},{7418,5825,1},{7422,5827,1}, {7422,5833,1},{7418,5833,1},{7420,5838,1},{7417,5850,1},{7418,5858,1},{7422,5852,1}, {7422,5865,1},{7423,5853,1},{7423,5872,1},{7425,5868,1},{7427,5875,1},{7438,5857,1}, {7442,5863,1},{7448,5845,1},{7450,5843,1},{7455,5818,1},{7457,5818,1},{7450,5872,1}, {7447,5878,1},{7443,5905,1},{7443,5915,1},{7450,5910,1},{7458,5918,1},{7462,5922,1}, {7465,5908,1},{7467,5915,1},{7463,5928,1},{7472,5910,1},{7475,5912,1},{7462,5953,1}, {7458,5975,1},{7463,5988,1},{7468,5987,1},{7472,5978,1},{7473,5963,1},{7480,5952,1}, {7475,5970,1},{7473,5982,1},{7472,5997,1},{7475,6027,1},{7478,6037,1},{7482,6027,1}, {7485,6020,1},{7487,6057,1},{7492,6068,1},{7495,6063,1},{7497,6058,1},{7497,6010,1}, {7500,5993,1},{7498,6013,1},{7500,6018,1},{7502,6023,1},{7498,6023,1},{7500,6032,1}, {7502,6045,1},{7512,6050,1},{7510,6060,1},{7503,6058,1},{7502,6067,1},{7502,6073,1}, {7508,6082,1},{7510,6075,1},{7515,6085,1},{7522,6117,1},{7528,6130,1},{7533,6128,1}, {7532,6138,1},{7525,6138,1},{7522,6147,1},{7528,6165,1},{7537,6170,1},{7535,6182,1}, {7537,6183,1},{7545,6203,1},{7543,6222,1},{7545,6230,1},{7550,6253,1},{7553,6280,1}, {7558,6303,1},{7558,6330,1},{7563,6355,1},{7570,6362,1},{7570,6357,1},{7570,6367,1}, {7563,6373,1},{7567,6385,1},{7568,6402,1},{7572,6412,1},{7572,6433,1},{7580,6487,1}, {7580,6513,1},{7583,6520,1},{7588,6545,1},{7595,6597,1},{7595,6610,1},{7600,6628,1}, {7600,6645,1},{7605,6668,1},{7610,6710,1},{7618,6745,1},{7627,6800,1},{7628,6832,1}, {7630,6832,1},{7632,6817,1},{7633,6833,1},{7638,6843,1},{7640,6840,1},{7643,6858,1}, {7657,6893,1},{7658,6878,1},{7665,6885,1},{7670,6903,1},{7673,6890,1},{7678,6893,1}, {7682,6875,1},{7687,6882,1},{7688,6868,1},{7692,6858,1},{7693,6847,1},{7695,6850,1}, {7697,6813,1},{7700,6807,1},{7700,6795,1},{7702,6757,1},{7698,6733,1},{7695,6718,1}, {7695,6700,1},{7692,6688,1},{7690,6668,1},{7687,6660,1},{7685,6643,1},{7680,6633,1}, {7678,6623,1},{7675,6612,1},{7675,6595,1},{7668,6577,1},{7667,6575,1},{7663,6588,1}, {7658,6593,1},{7655,6602,1},{7653,6600,1},{7653,6590,1},{7658,6558,1},{7655,6540,1}, {7652,6535,1},{7650,6523,1},{7647,6517,1},{7647,6507,1},{7650,6507,1},{7647,6480,1}, {7645,6480,1},{7645,6472,1},{7642,6467,1},{7637,6467,1},{7640,6452,1},{7637,6443,1}, {7635,6428,1},{7632,6412,1},{7632,6403,1},{7635,6395,1},{7633,6385,1},{7635,6372,1}, {7632,6352,1},{7628,6348,1},{7627,6325,1},{7622,6298,1},{7622,6290,1},{7623,6292,1}, {7623,6285,1},{7627,6283,1},{7627,6275,1},{7625,6270,1},{7620,6263,1},{7622,6255,1}, {7618,6250,1},{7620,6238,1},{7627,6240,1},{7625,6223,1},{7627,6198,1},{7630,6192,1}, {7628,6182,1},{7632,6168,1},{7628,6157,1},{7627,6107,1},{7625,6098,1},{7622,6102,1}, {7615,6090,1},{7613,6097,1},{7615,6112,1},{7612,6115,1},{7607,6107,1},{7605,6082,1}, {7600,6073,1},{7602,6047,1},{7612,6083,1},{7612,6082,1},{7612,6043,1},{7610,6027,1}, {7605,6003,1},{7602,6033,1},{7598,6032,1},{7598,6003,1},{7592,5972,1},{7593,5962,1}, {7593,5940,1},{7588,5933,1},{7585,5912,1},{7587,5892,1},{7583,5877,1},{7578,5873,1}, {7578,5860,1},{7575,5853,1},{7572,5858,1},{7567,5798,1},{7562,5793,1},{7562,5815,1}, {7560,5820,1},{7557,5817,1},{7557,5802,1},{7553,5765,1},{7550,5750,1},{7545,5755,1}, {7545,5762,1},{7542,5767,1},{7532,5773,1},{7533,5753,1},{7537,5742,1},{7538,5718,1}, {7538,5705,1},{7535,5685,1},{7532,5677,1},{7528,5673,1},{7528,5688,1},{7523,5690,1}, {7507,5648,1},{7518,5638,1},{7515,5618,1},{7517,5615,1},{7520,5623,1},{7520,5608,1}, {7522,5610,1},{7522,5605,1},{7520,5593,1},{7515,5580,1},{7508,5573,1},{7508,5593,1}, {7500,5587,1},{7500,5605,1},{7502,5617,1},{7503,5642,1},{7502,5647,1},{7500,5642,1}, {7495,5630,1},{7497,5638,1},{7493,5635,1},{7497,5665,1},{7495,5668,1},{7495,5660,1}, {7492,5652,1},{7492,5638,1},{7487,5610,1},{7483,5585,1},{7480,5582,1},{7477,5593,1}, {7478,5608,1},{7480,5620,1},{7480,5648,1},{7475,5642,1},{7475,5653,1},{7470,5660,1}, {7470,5692,1},{7468,5697,1},{8083,6255,129},{8092,6297,1},{8097,6312,1}, {8098,6333,1},{8097,6393,1},{8098,6410,1},{8102,6418,1},{8105,6422,1},{8110,6412,1}, {8117,6425,1},{8120,6455,1},{8118,6487,1},{8113,6523,1},{8103,6545,1},{8100,6530,1}, {8098,6542,1},{8092,6547,1},{8080,6500,1},{8075,6458,1},{8073,6423,1},{8072,6380,1}, {8072,6365,1},{8068,6322,1},{8068,6308,1},{8072,6302,1},{8080,6252,1},{8085,6255,1}, {7993,5833,129},{7998,5867,1},{7993,5873,1},{7990,5898,1},{7987,5887,1}, {7992,5853,1},{7993,5828,1},{7993,5837,1},{8000,5880,129},{8003,5880,1}, {8012,5945,1},{8008,5982,1},{8000,5988,1},{7998,5992,1},{7995,5968,1},{7995,5943,1}, {7992,5937,1},{7993,5918,1},{7995,5917,1},{8000,5880,1},{8010,5763,129}, {8012,5753,1},{8013,5740,1},{8017,5727,1},{8033,5727,1},{8035,5720,1},{8040,5727,1}, {8048,5697,1},{8050,5737,1},{8048,5752,1},{8048,5793,1},{8047,5840,1},{8042,5892,1}, {8037,5920,1},{8033,5928,1},{8032,5922,1},{8033,5870,1},{8033,5858,1},{8032,5858,1}, {8032,5837,1},{8028,5813,1},{8025,5808,1},{8023,5847,1},{8017,5843,1},{8018,5807,1}, {8020,5805,1},{8017,5790,1},{8012,5802,1},{8010,5797,1},{8012,5763,1},{8012,5577,129}, {8018,5605,1},{8025,5595,1},{8033,5598,1},{8035,5618,1},{8032,5657,1},{8033,5667,1}, {8037,5675,1},{8035,5710,1},{8025,5708,1},{8020,5715,1},{8015,5703,1},{8012,5712,1}, {8007,5702,1},{8007,5673,1},{8007,5650,1},{8007,5597,1},{8010,5572,1},{8013,5580,1}, {8020,5232,129},{8027,5218,1},{8028,5235,1},{8028,5257,1},{8032,5260,1}, {8032,5273,1},{8035,5270,1},{8042,5293,1},{8040,5302,1},{8042,5315,1},{8040,5330,1}, {8033,5343,1},{8030,5362,1},{8028,5383,1},{8025,5387,1},{8022,5372,1},{8025,5365,1}, {8023,5358,1},{8018,5352,1},{8017,5343,1},{8018,5313,1},{8017,5272,1},{8020,5260,1}, {8020,5233,1},{8022,5232,1},{7998,5005,129},{8000,5028,1},{7998,5045,1}, {7998,5057,1},{8005,5067,1},{8007,5087,1},{8010,5097,1},{8007,5107,1},{8005,5127,1}, {8000,5120,1},{7997,5137,1},{7995,5135,1},{7993,5150,1},{7992,5137,1},{7993,5052,1}, {7995,5042,1},{7997,5008,1},{7998,5007,1},{8008,4762,129},{8017,4778,1}, {8020,4808,1},{8020,4785,1},{8023,4795,1},{8023,4745,1},{8022,4733,1},{8018,4738,1}, {8018,4717,1},{8017,4712,1},{8018,4692,1},{8023,4690,1},{8023,4683,1},{8028,4663,1}, {8030,4663,1},{8037,4703,1},{8037,4715,1},{8030,4725,1},{8032,4742,1},{8030,4753,1}, {8032,4768,1},{8030,4800,1},{8032,4795,1},{8033,4818,1},{8037,4788,1},{8037,4767,1}, {8040,4762,1},{8042,4822,1},{8043,4810,1},{8047,4812,1},{8047,4772,1},{8045,4743,1}, {8045,4740,1},{8053,4802,1},{8053,4822,1},{8057,4840,1},{8053,4857,1},{8050,4855,1}, {8050,4872,1},{8048,4878,1},{8053,4892,1},{8053,4922,1},{8055,4918,1},{8060,4942,1}, {8063,4928,1},{8065,4943,1},{8063,4967,1},{8068,4962,1},{8072,4968,1},{8068,4923,1}, {8073,4933,1},{8072,4910,1},{8072,4900,1},{8073,4895,1},{8077,4912,1},{8077,4900,1}, {8083,4962,1},{8088,4982,1},{8093,5025,1},{8090,5043,1},{8088,5015,1},{8087,5002,1}, {8085,5017,1},{8088,5067,1},{8092,5085,1},{8085,5103,1},{8083,5102,1},{8082,5077,1}, {8080,5068,1},{8080,5047,1},{8078,5053,1},{8075,5025,1},{8072,5035,1},{8077,5065,1}, {8073,5077,1},{8077,5097,1},{8075,5113,1},{8077,5115,1},{8078,5127,1},{8073,5148,1}, {8072,5175,1},{8068,5173,1},{8063,5142,1},{8062,5118,1},{8053,5092,1},{8052,5017,1}, {8050,5005,1},{8048,4970,1},{8045,4980,1},{8040,4983,1},{8037,4960,1},{8038,4920,1}, {8038,4882,1},{8033,4880,1},{8030,4863,1},{8028,4872,1},{8028,4892,1},{8023,4903,1}, {8020,4898,1},{8018,4912,1},{8017,4898,1},{8015,4898,1},{8015,4877,1},{8020,4853,1}, {8015,4855,1},{8008,4837,1},{8013,4817,1},{8012,4803,1},{8008,4802,1},{8007,4765,1}, {8008,4760,1},{8010,4763,1},{8063,4495,129},{8067,4547,1},{8067,4595,1}, {8070,4637,1},{8072,4652,1},{8073,4640,1},{8073,4643,1},{8075,4703,1},{8080,4720,1}, {8083,4712,1},{8085,4750,1},{8080,4793,1},{8083,4825,1},{8078,4853,1},{8075,4865,1}, {8075,4852,1},{8072,4845,1},{8065,4875,1},{8062,4872,1},{8063,4852,1},{8065,4847,1}, {8067,4803,1},{8072,4800,1},{8072,4790,1},{8077,4775,1},{8073,4757,1},{8072,4762,1}, {8073,4748,1},{8067,4755,1},{8068,4742,1},{8065,4730,1},{8058,4742,1},{8063,4717,1}, {8055,4700,1},{8055,4665,1},{8052,4668,1},{8052,4650,1},{8047,4652,1},{8043,4608,1}, {8057,4603,1},{8055,4583,1},{8055,4575,1},{8052,4553,1},{8057,4537,1},{8060,4490,1}, {8062,4485,1},{8063,4497,1},{8053,5930,129},{8055,5937,1},{8058,5925,1}, {8065,5922,1},{8070,5928,1},{8078,5957,1},{8080,5950,1},{8085,5992,1},{8085,6020,1}, {8083,6027,1},{8080,5997,1},{8080,6035,1},{8078,6035,1},{8082,6068,1},{8083,6103,1}, {8085,6115,1},{8085,6138,1},{8087,6155,1},{8088,6160,1},{8088,6205,1},{8083,6217,1}, {8077,6228,1},{8067,6203,1},{8063,6213,1},{8060,6193,1},{8060,6170,1},{8055,6158,1}, {8053,6160,1},{8050,6127,1},{8048,6138,1},{8040,6103,1},{8043,6062,1},{8050,6025,1}, {8043,5995,1},{8042,5967,1},{8047,5952,1},{8052,5925,1},{8053,5932,1},{8083,6255,129}, {8092,6297,1},{8097,6312,1},{8098,6333,1},{8097,6393,1},{8098,6410,1},{8102,6418,1}, {8105,6422,1},{8110,6412,1},{8117,6425,1},{8120,6455,1},{8118,6487,1},{8113,6523,1}, {8103,6545,1},{8100,6530,1},{8098,6542,1},{8092,6547,1},{8080,6500,1},{8075,6458,1}, {8073,6423,1},{8072,6380,1},{8072,6365,1},{8068,6322,1},{8068,6308,1},{8072,6302,1}, {8080,6252,1},{8085,6255,1},{8100,6007,129},{8110,6067,1},{8112,6147,1}, {8110,6170,1},{8108,6162,1},{8103,6160,1},{8100,6148,1},{8093,6115,1},{8092,6092,1}, {8093,6037,1},{8097,6025,1},{8098,6005,1},{8100,6010,1},{8083,5793,129}, {8087,5818,1},{8090,5872,1},{8087,5897,1},{8083,5902,1},{8077,5892,1},{8077,5863,1}, {8075,5847,1},{8078,5787,1},{8082,5782,1},{8083,5795,1},{8110,5610,129}, {8112,5615,1},{8110,5628,1},{8110,5675,1},{8105,5717,1},{8107,5725,1},{8105,5748,1}, {8102,5765,1},{8097,5777,1},{8092,5827,1},{8085,5777,1},{8090,5723,1},{8092,5723,1}, {8095,5718,1},{8097,5693,1},{8102,5692,1},{8108,5612,1},{8110,5610,1},{8083,5400,129}, {8085,5408,1},{8085,5453,1},{8087,5467,1},{8087,5477,1},{8083,5482,1},{8088,5493,1}, {8090,5505,1},{8088,5525,1},{8085,5537,1},{8080,5598,1},{8075,5515,1},{8072,5488,1}, {8073,5467,1},{8078,5465,1},{8077,5422,1},{8078,5410,1},{8080,5398,1},{8083,5400,1}, {8102,5443,129},{8112,5468,1},{8108,5487,1},{8107,5517,1},{8100,5552,1}, {8103,5602,1},{8102,5623,1},{8097,5663,1},{8093,5665,1},{8090,5685,1},{8087,5730,1}, {8080,5772,1},{8073,5753,1},{8070,5713,1},{8070,5702,1},{8080,5663,1},{8083,5600,1}, {8085,5578,1},{8088,5577,1},{8090,5553,1},{8093,5538,1},{8097,5537,1},{8095,5502,1}, {8097,5490,1},{8100,5485,1},{8098,5467,1},{8100,5443,1},{8102,5443,1},{8072,5547,129}, {8073,5558,1},{8073,5573,1},{8075,5578,1},{8078,5648,1},{8072,5685,1},{8070,5695,1}, {8067,5693,1},{8063,5670,1},{8062,5638,1},{8065,5630,1},{8063,5605,1},{8063,5583,1}, {8065,5565,1},{8067,5560,1},{8070,5570,1},{8070,5545,1},{8072,5550,1},{8122,5557,129}, {8127,5562,1},{8127,5543,1},{8130,5553,1},{8132,5548,1},{8132,5577,1},{8132,5590,1}, {8130,5590,1},{8127,5625,1},{8125,5660,1},{8132,5638,1},{8138,5637,1},{8138,5675,1}, {8137,5682,1},{8138,5702,1},{8133,5742,1},{8132,5745,1},{8133,5765,1},{8132,5777,1}, {8128,5790,1},{8127,5778,1},{8127,5745,1},{8125,5708,1},{8117,5652,1},{8117,5638,1}, {8122,5632,1},{8118,5585,1},{8120,5558,1},{8122,5555,1},{8147,5685,129}, {8150,5700,1},{8152,5695,1},{8153,5747,1},{8155,5750,1},{8157,5772,1},{8155,5782,1}, {8148,5787,1},{8147,5838,1},{8140,5855,1},{8137,5808,1},{8140,5757,1},{8143,5743,1}, {8145,5677,1},{8147,5685,1},{8168,6217,129},{8172,6275,1},{8172,6280,1}, {8170,6272,1},{8172,6322,1},{8172,6347,1},{8168,6375,1},{8163,6377,1},{8158,6347,1}, {8162,6273,1},{8165,6252,1},{8167,6210,1},{8168,6220,1},{4452,14617,129}, {4450,14620,1},{4445,14627,1},{4442,14635,1},{4442,14647,1},{4445,14657,1}, {4438,14653,1},{4435,14652,1},{4438,14647,1},{4437,14640,1},{4428,14630,1}, {4425,14612,1},{4418,14605,1},{4413,14593,1},{4407,14588,1},{4402,14588,1}, {4402,14583,1},{4393,14578,1},{4390,14572,1},{4390,14565,1},{4387,14560,1}, {4382,14558,1},{4365,14555,1},{4373,14553,1},{4372,14543,1},{4380,14543,1}, {4383,14542,1},{4385,14545,1},{4390,14548,1},{4392,14555,1},{4405,14575,1}, {4412,14577,1},{4415,14578,1},{4418,14585,1},{4425,14588,1},{4428,14597,1}, {4438,14602,1},{4442,14605,1},{4447,14608,1},{4450,14613,1},{4450,14617,1}, {5908,2263,129},{5907,2272,1},{5905,2270,1},{5900,2272,1},{5900,2287,1}, {5898,2293,1},{5897,2295,1},{5892,2295,1},{5890,2300,1},{5885,2305,1},{5882,2302,1}, {5885,2297,1},{5883,2295,1},{5883,2288,1},{5882,2287,1},{5882,2288,1},{5878,2288,1}, {5877,2285,1},{5878,2278,1},{5880,2278,1},{5882,2283,1},{5882,2278,1},{5878,2272,1}, {5870,2267,1},{5868,2257,1},{5870,2247,1},{5873,2250,1},{5880,2245,1},{5883,2245,1}, {5888,2238,1},{5888,2218,1},{5893,2205,1},{5895,2207,1},{5895,2238,1},{5897,2247,1}, {5898,2243,1},{5898,2248,1},{5898,2250,1},{5902,2248,1},{5903,2257,1},{5908,2258,1}, {5908,2263,1},{5905,2318,129},{5903,2327,1},{5903,2333,1},{5898,2340,1}, {5897,2337,1},{5897,2317,1},{5902,2312,1},{5903,2320,1},{5867,2323,129}, {5863,2335,1},{5860,2335,1},{5857,2340,1},{5853,2338,1},{5855,2327,1},{5853,2322,1}, {5857,2315,1},{5858,2307,1},{5862,2307,1},{5862,2312,1},{5867,2313,1},{5868,2320,1}, {5867,2325,1},{5782,2325,129},{5778,2328,1},{5778,2322,1},{5782,2322,1}, {5782,2325,1},{5860,2300,129},{5857,2308,1},{5852,2313,1},{5850,2327,1}, {5845,2333,1},{5843,2333,1},{5847,2327,1},{5845,2323,1},{5843,2328,1},{5843,2323,1}, {5848,2315,1},{5843,2313,1},{5843,2310,1},{5840,2308,1},{5835,2303,1},{5838,2295,1}, {5835,2297,1},{5830,2292,1},{5827,2282,1},{5827,2272,1},{5823,2275,1},{5822,2273,1}, {5822,2265,1},{5825,2263,1},{5825,2258,1},{5822,2257,1},{5825,2253,1},{5822,2250,1}, {5823,2248,1},{5818,2228,1},{5817,2227,1},{5810,2227,1},{5802,2220,1},{5798,2220,1}, {5792,2205,1},{5792,2200,1},{5798,2197,1},{5798,2200,1},{5808,2208,1},{5807,2215,1}, {5815,2220,1},{5817,2218,1},{5817,2208,1},{5823,2200,1},{5825,2190,1},{5828,2185,1}, {5830,2185,1},{5830,2192,1},{5833,2187,1},{5833,2190,1},{5832,2195,1},{5835,2197,1}, {5835,2200,1},{5847,2192,1},{5850,2183,1},{5848,2192,1},{5852,2192,1},{5850,2202,1}, {5842,2208,1},{5848,2210,1},{5852,2217,1},{5855,2218,1},{5853,2222,1},{5850,2223,1}, {5850,2228,1},{5857,2230,1},{5858,2245,1},{5863,2257,1},{5858,2265,1},{5860,2268,1}, {5858,2275,1},{5862,2280,1},{5862,2292,1},{5860,2298,1},{6988,5895,129}, {7003,5862,1},{7008,5857,1},{7010,5860,1},{7013,5855,1},{7013,5862,1},{7015,5857,1}, {7018,5858,1},{7020,5845,1},{7023,5850,1},{7023,5845,1},{7025,5842,1},{7027,5843,1}, {7027,5848,1},{7025,5862,1},{7022,5880,1},{7025,5878,1},{7033,5850,1},{7035,5868,1}, {7038,5877,1},{7042,5873,1},{7043,5888,1},{7048,5903,1},{7045,5905,1},{7037,5932,1}, {7028,5947,1},{7025,5953,1},{7020,5955,1},{7020,5962,1},{7017,5977,1},{7013,5978,1}, {7010,5995,1},{7010,6002,1},{7007,6005,1},{6997,6032,1},{6995,6032,1},{6995,6042,1}, {6992,6048,1},{6987,6045,1},{6980,6055,1},{6975,6043,1},{6972,6047,1},{6973,6037,1}, {6972,6035,1},{6968,6020,1},{6972,6000,1},{6967,5992,1},{6970,5987,1},{6968,5975,1}, {6972,5957,1},{6975,5953,1},{6978,5955,1},{6978,5962,1},{6980,5962,1},{6988,5942,1}, {6988,5925,1},{6992,5918,1},{6992,5908,1},{6993,5897,1},{6993,5893,1},{6988,5912,1}, {6987,5913,1},{6987,5902,1},{6990,5893,1},{2068,5892,129},{2060,5890,1}, {2057,5893,1},{2052,5895,1},{2043,5883,1},{2038,5880,1},{2040,5878,1},{2038,5877,1}, {2037,5877,1},{2035,5880,1},{2028,5878,1},{2025,5877,1},{2028,5875,1},{2027,5872,1}, {2025,5873,1},{2022,5873,1},{2017,5865,1},{2020,5863,1},{2035,5863,1},{2043,5872,1}, {2043,5877,1},{2047,5878,1},{2053,5880,1},{2062,5887,1},{2068,5888,1},{2068,5892,1}, {2695,5628,129},{2693,5625,1},{2692,5618,1},{2685,5615,1},{2678,5608,1}, {2673,5598,1},{2668,5595,1},{2670,5592,1},{2673,5588,1},{2668,5577,1},{2668,5570,1}, {2660,5550,1},{2658,5545,1},{2657,5537,1},{2657,5535,1},{2653,5530,1},{2655,5528,1}, {2665,5528,1},{2663,5533,1},{2665,5537,1},{2665,5538,1},{2668,5542,1},{2672,5557,1}, {2677,5567,1},{2680,5577,1},{2685,5578,1},{2690,5578,1},{2693,5573,1},{2695,5575,1}, {2695,5578,1},{2690,5588,1},{2692,5593,1},{2697,5600,1},{2700,5617,1},{2700,5623,1}, {2697,5628,1},{2695,5628,1},{1353,9307,129},{1343,9305,1},{1340,9305,1}, {1340,9308,1},{1335,9303,1},{1333,9300,1},{1335,9300,1},{1335,9298,1},{1333,9298,1}, {1332,9298,1},{1332,9303,1},{1327,9307,1},{1327,9308,1},{1322,9305,1},{1307,9305,1}, {1303,9303,1},{1302,9298,1},{1303,9297,1},{1308,9297,1},{1307,9295,1},{1307,9293,1}, {1300,9293,1},{1297,9297,1},{1295,9293,1},{1298,9292,1},{1297,9290,1},{1292,9287,1}, {1290,9288,1},{1292,9292,1},{1292,9293,1},{1290,9293,1},{1287,9297,1},{1280,9297,1}, {1278,9297,1},{1275,9298,1},{1272,9300,1},{1263,9298,1},{1252,9300,1},{1248,9295,1}, {1247,9297,1},{1243,9293,1},{1242,9293,1},{1245,9290,1},{1243,9290,1},{1243,9285,1}, {1238,9287,1},{1235,9290,1},{1233,9292,1},{1230,9287,1},{1228,9290,1},{1223,9288,1}, {1220,9290,1},{1220,9287,1},{1217,9287,1},{1217,9285,1},{1213,9282,1},{1212,9283,1}, {1210,9282,1},{1207,9275,1},{1203,9278,1},{1203,9277,1},{1198,9273,1},{1188,9273,1}, {1195,9277,1},{1192,9280,1},{1188,9280,1},{1185,9278,1},{1170,9275,1},{1170,9272,1}, {1165,9268,1},{1162,9268,1},{1162,9270,1},{1165,9270,1},{1165,9273,1},{1168,9273,1}, {1167,9275,1},{1165,9277,1},{1150,9273,1},{1148,9272,1},{1152,9270,1},{1152,9267,1}, {1157,9265,1},{1160,9262,1},{1163,9265,1},{1165,9262,1},{1172,9260,1},{1172,9257,1}, {1183,9257,1},{1183,9253,1},{1185,9252,1},{1192,9255,1},{1193,9257,1},{1190,9258,1}, {1190,9262,1},{1187,9262,1},{1198,9262,1},{1212,9265,1},{1213,9263,1},{1222,9267,1}, {1222,9270,1},{1223,9272,1},{1222,9272,1},{1217,9272,1},{1218,9278,1},{1220,9278,1}, {1225,9278,1},{1227,9275,1},{1228,9275,1},{1227,9278,1},{1230,9278,1},{1232,9273,1}, {1235,9272,1},{1248,9273,1},{1260,9272,1},{1265,9275,1},{1265,9278,1},{1268,9275,1}, {1282,9273,1},{1287,9280,1},{1295,9282,1},{1298,9283,1},{1305,9280,1},{1310,9283,1}, {1312,9283,1},{1313,9287,1},{1317,9283,1},{1318,9285,1},{1322,9285,1},{1325,9287,1}, {1328,9285,1},{1330,9285,1},{1333,9283,1},{1337,9287,1},{1338,9288,1},{1343,9290,1}, {1347,9290,1},{1347,9292,1},{1350,9295,1},{1355,9295,1},{1355,9300,1},{1357,9302,1}, {1355,9302,1},{1357,9305,1},{1353,9307,1},{923,9278,129},{920,9280,1},{915,9280,1}, {913,9278,1},{913,9273,1},{917,9272,1},{922,9272,1},{922,9275,1},{927,9277,1}, {923,9278,1},{1998,10957,129},{2000,10962,1},{2000,10972,1},{2000,10973,1}, {1995,10972,1},{1998,10973,1},{1997,10978,1},{1995,10980,1},{1998,10982,1}, {1998,10983,1},{1993,10983,1},{1995,10987,1},{1998,10988,1},{1998,10995,1}, {1993,10998,1},{1992,10995,1},{1990,10998,1},{1990,11000,1},{1993,11000,1}, {1993,11002,1},{1995,11002,1},{1998,11003,1},{1997,11012,1},{1998,11013,1}, {2000,11015,1},{1998,11012,1},{1998,11007,1},{2000,11012,1},{2007,11015,1}, {2003,11025,1},{2003,11030,1},{2005,11032,1},{2005,11035,1},{2003,11037,1}, {2000,11037,1},{1997,11040,1},{1992,11042,1},{1997,11042,1},{2000,11038,1}, {2005,11037,1},{2008,11038,1},{2007,11042,1},{2003,11042,1},{2003,11043,1}, {2005,11042,1},{2002,11048,1},{2002,11053,1},{2000,11052,1},{1998,11055,1}, {2000,11057,1},{1992,11060,1},{1993,11062,1},{1997,11062,1},{2002,11060,1}, {2003,11057,1},{2008,11057,1},{2012,11060,1},{2012,11065,1},{2015,11068,1}, {2008,11070,1},{2002,11077,1},{1998,11087,1},{2000,11092,1},{1997,11095,1}, {1980,11098,1},{1968,11100,1},{1968,11102,1},{1963,11103,1},{1963,11097,1}, {1953,11085,1},{1955,11082,1},{1960,11082,1},{1960,11085,1},{1962,11085,1}, {1962,11080,1},{1955,11082,1},{1953,11080,1},{1948,11080,1},{1945,11075,1}, {1943,11075,1},{1942,11073,1},{1940,11070,1},{1938,11067,1},{1933,11068,1}, {1930,11063,1},{1928,11063,1},{1915,11058,1},{1917,11048,1},{1912,11052,1}, {1913,11055,1},{1908,11055,1},{1913,11057,1},{1913,11058,1},{1905,11057,1}, {1903,11053,1},{1898,11052,1},{1890,11052,1},{1888,11047,1},{1885,11047,1}, {1882,11043,1},{1880,11045,1},{1880,11050,1},{1882,11050,1},{1887,11050,1}, {1888,11050,1},{1878,11053,1},{1877,11047,1},{1873,11043,1},{1868,11043,1}, {1867,11042,1},{1867,11033,1},{1868,11040,1},{1870,11040,1},{1868,11038,1}, {1868,11033,1},{1867,11030,1},{1865,11025,1},{1853,11010,1},{1850,11008,1}, {1850,11003,1},{1848,11005,1},{1848,11008,1},{1840,11007,1},{1843,11005,1}, {1843,11003,1},{1840,11005,1},{1838,11005,1},{1838,10997,1},{1840,10997,1}, {1840,11002,1},{1845,11002,1},{1843,11000,1},{1843,10998,1},{1842,10997,1}, {1842,10992,1},{1840,10988,1},{1838,10983,1},{1840,10980,1},{1840,10975,1}, {1830,10972,1},{1827,10973,1},{1827,10972,1},{1828,10970,1},{1827,10967,1}, {1825,10973,1},{1823,10973,1},{1820,10970,1},{1820,10968,1},{1823,10968,1}, {1823,10963,1},{1820,10960,1},{1817,10960,1},{1817,10957,1},{1820,10957,1}, {1822,10955,1},{1823,10957,1},{1825,10957,1},{1823,10953,1},{1822,10953,1}, {1820,10950,1},{1818,10948,1},{1820,10947,1},{1823,10952,1},{1825,10950,1}, {1823,10948,1},{1827,10948,1},{1828,10945,1},{1830,10928,1},{1830,10922,1}, {1828,10917,1},{1830,10913,1},{1835,10913,1},{1837,10905,1},{1837,10898,1}, {1840,10895,1},{1843,10888,1},{1848,10880,1},{1850,10868,1},{1857,10867,1}, {1862,10870,1},{1872,10870,1},{1878,10867,1},{1883,10862,1},{1893,10865,1}, {1910,10862,1},{1915,10867,1},{1915,10868,1},{1920,10867,1},{1922,10862,1}, {1932,10865,1},{1930,10867,1},{1935,10867,1},{1938,10868,1},{1938,10877,1}, {1942,10878,1},{1945,10887,1},{1950,10892,1},{1950,10893,1},{1952,10893,1}, {1960,10902,1},{1962,10908,1},{1965,10917,1},{1968,10920,1},{1972,10920,1}, {1972,10930,1},{1975,10927,1},{1977,10930,1},{1977,10928,1},{1978,10930,1}, {1978,10927,1},{1973,10920,1},{1972,10917,1},{1980,10917,1},{1982,10920,1}, {1987,10922,1},{1987,10925,1},{1990,10927,1},{1990,10928,1},{1992,10930,1}, {1992,10932,1},{1988,10932,1},{1988,10937,1},{1985,10942,1},{1987,10945,1}, {1983,10947,1},{1987,10952,1},{1985,10953,1},{1985,10955,1},{1985,10958,1}, {1988,10952,1},{1992,10952,1},{1992,10955,1},{1993,10955,1},{1992,10953,1}, {1995,10953,1},{1998,10958,1},{3492,12793,129},{3488,12793,1},{3487,12790,1}, {3483,12792,1},{3480,12795,1},{3482,12800,1},{3480,12807,1},{3472,12805,1}, {3470,12807,1},{3472,12802,1},{3470,12797,1},{3477,12793,1},{3477,12792,1}, {3472,12790,1},{3472,12785,1},{3477,12787,1},{3485,12782,1},{3488,12783,1}, {3490,12787,1},{3493,12788,1},{3493,12792,1},{3490,12793,1},{3495,12872,129}, {3493,12873,1},{3487,12872,1},{3488,12875,1},{3483,12873,1},{3483,12872,1}, {3478,12875,1},{3480,12868,1},{3478,12868,1},{3475,12865,1},{3473,12868,1}, {3472,12868,1},{3470,12858,1},{3472,12862,1},{3473,12860,1},{3475,12860,1}, {3475,12857,1},{3477,12855,1},{3478,12860,1},{3483,12860,1},{3482,12855,1}, {3480,12853,1},{3483,12850,1},{3488,12850,1},{3492,12853,1},{3488,12865,1}, {3493,12860,1},{3495,12862,1},{3495,12865,1},{3498,12868,1},{3502,12868,1}, {3503,12870,1},{3502,12873,1},{3498,12872,1},{3495,12873,1},{3353,12683,129}, {3353,12685,1},{3352,12690,1},{3350,12690,1},{3350,12692,1},{3347,12692,1}, {3347,12693,1},{3347,12695,1},{3345,12693,1},{3338,12692,1},{3330,12685,1}, {3323,12660,1},{3322,12648,1},{3323,12642,1},{3323,12633,1},{3318,12627,1}, {3323,12620,1},{3328,12615,1},{3332,12615,1},{3335,12618,1},{3345,12632,1}, {3355,12665,1},{3353,12683,1},{3468,12947,129},{3465,12950,1},{3462,12950,1}, {3462,12945,1},{3458,12948,1},{3453,12948,1},{3443,12938,1},{3438,12937,1}, {3438,12940,1},{3432,12938,1},{3430,12933,1},{3432,12932,1},{3433,12937,1}, {3437,12935,1},{3433,12932,1},{3438,12932,1},{3437,12930,1},{3433,12928,1}, {3435,12923,1},{3437,12927,1},{3442,12928,1},{3445,12932,1},{3445,12928,1}, {3452,12932,1},{3452,12933,1},{3455,12930,1},{3463,12933,1},{3463,12940,1}, {3468,12943,1},{3468,12947,1},{3423,12933,129},{3422,12933,1},{3420,12930,1}, {3412,12928,1},{3407,12922,1},{3408,12922,1},{3410,12918,1},{3432,12922,1}, {3432,12923,1},{3428,12923,1},{3430,12928,1},{3430,12930,1},{3427,12932,1}, {3428,12935,1},{3423,12933,1},{3245,13023,129},{3252,13033,1},{3250,13040,1}, {3252,13045,1},{3252,13047,1},{3250,13045,1},{3237,13037,1},{3242,13035,1}, {3240,13023,1},{3243,13020,1},{3247,13023,1},{3235,12997,129},{3242,12998,1}, {3247,13002,1},{3250,13003,1},{3252,13000,1},{3253,13000,1},{3252,13003,1}, {3253,13010,1},{3253,13018,1},{3248,13020,1},{3233,13020,1},{3230,13017,1}, {3232,13017,1},{3227,13013,1},{3220,13005,1},{3218,13000,1},{3220,12998,1}, {3220,13000,1},{3225,13002,1},{3223,12995,1},{3228,13000,1},{3230,13007,1}, {3230,13000,1},{3235,12997,1},{2850,12968,129},{2843,12972,1},{2840,12962,1}, {2828,12950,1},{2828,12945,1},{2827,12945,1},{2825,12942,1},{2822,12947,1}, {2818,12940,1},{2815,12940,1},{2817,12935,1},{2813,12938,1},{2812,12938,1}, {2818,12928,1},{2822,12927,1},{2820,12925,1},{2822,12923,1},{2823,12918,1}, {2825,12915,1},{2825,12927,1},{2828,12928,1},{2828,12923,1},{2830,12923,1}, {2832,12925,1},{2835,12932,1},{2837,12933,1},{2835,12937,1},{2837,12938,1}, {2837,12940,1},{2838,12942,1},{2838,12945,1},{2842,12947,1},{2838,12952,1}, {2843,12953,1},{2848,12962,1},{2843,12960,1},{2843,12965,1},{2848,12967,1}, {2850,12967,1},{2850,12968,1},{2687,12828,129},{2683,12832,1},{2680,12833,1}, {2677,12833,1},{2670,12830,1},{2663,12823,1},{2662,12817,1},{2660,12815,1}, {2658,12813,1},{2657,12815,1},{2655,12813,1},{2655,12805,1},{2652,12803,1}, {2648,12798,1},{2647,12795,1},{2645,12795,1},{2645,12787,1},{2643,12783,1}, {2642,12783,1},{2640,12787,1},{2637,12787,1},{2630,12792,1},{2632,12783,1}, {2630,12782,1},{2620,12777,1},{2618,12777,1},{2618,12782,1},{2615,12782,1}, {2612,12778,1},{2612,12773,1},{2608,12772,1},{2608,12765,1},{2613,12765,1}, {2620,12763,1},{2620,12767,1},{2627,12770,1},{2627,12772,1},{2630,12773,1}, {2630,12775,1},{2643,12772,1},{2645,12780,1},{2647,12782,1},{2648,12783,1}, {2650,12788,1},{2655,12797,1},{2658,12797,1},{2660,12795,1},{2662,12788,1}, {2668,12788,1},{2668,12800,1},{2663,12798,1},{2663,12802,1},{2667,12810,1}, {2668,12810,1},{2672,12813,1},{2672,12815,1},{2675,12815,1},{2677,12817,1}, {2680,12823,1},{2688,12825,1},{2685,12828,1},{2793,-1582,129},{2792,-1582,1}, {2783,-1578,1},{2775,-1567,1},{2773,-1558,1},{2775,-1555,1},{2780,-1543,1}, {2787,-1537,1},{2790,-1538,1},{2793,-1537,1},{2797,-1538,1},{2802,-1537,1}, {2803,-1540,1},{2810,-1540,1},{2812,-1542,1},{2817,-1540,1},{2818,-1542,1}, {2817,-1543,1},{2813,-1543,1},{2813,-1547,1},{2815,-1552,1},{2815,-1562,1}, {2817,-1570,1},{2807,-1570,1},{2802,-1578,1},{2800,-1582,1},{2793,-1582,1}, {2857,-1623,129},{2857,-1632,1},{2853,-1635,1},{2853,-1638,1},{2842,-1648,1}, {2842,-1653,1},{2838,-1657,1},{2838,-1665,1},{2837,-1670,1},{2837,-1675,1}, {2837,-1685,1},{2835,-1692,1},{2825,-1685,1},{2820,-1683,1},{2807,-1672,1}, {2798,-1668,1},{2802,-1653,1},{2812,-1645,1},{2813,-1642,1},{2822,-1640,1}, {2830,-1635,1},{2837,-1635,1},{2840,-1628,1},{2847,-1623,1},{2852,-1612,1}, {2855,-1612,1},{2858,-1612,1},{2855,-1620,1},{2857,-1623,1},{375,892,129}, {370,897,1},{363,895,1},{352,887,1},{342,882,1},{338,878,1},{332,878,1}, {327,873,1},{320,868,1},{323,860,1},{325,850,1},{327,845,1},{333,842,1}, {343,845,1},{347,847,1},{347,858,1},{352,858,1},{355,862,1},{367,863,1}, {377,870,1},{375,882,1},{375,892,1},{-1138,4328,129},{-1137,4335,1},{-1138,4338,1}, {-1140,4340,1},{-1162,4337,1},{-1173,4343,1},{-1180,4345,1},{-1188,4350,1}, {-1192,4348,1},{-1193,4347,1},{-1193,4343,1},{-1185,4337,1},{-1185,4332,1}, {-1183,4328,1},{-1177,4322,1},{-1173,4322,1},{-1167,4325,1},{-1157,4325,1}, {-1143,4325,1},{-1140,4327,1},{-1138,4328,1},{-593,3918,129},{-602,3918,1}, {-607,3922,1},{-612,3922,1},{-615,3920,1},{-617,3918,1},{-618,3920,1},{-625,3920,1}, {-630,3925,1},{-632,3928,1},{-627,3927,1},{-627,3930,1},{-625,3928,1},{-625,3930,1}, {-630,3933,1},{-630,3935,1},{-633,3938,1},{-637,3938,1},{-638,3940,1},{-635,3942,1}, {-632,3938,1},{-630,3942,1},{-643,3945,1},{-647,3948,1},{-647,3953,1},{-645,3957,1}, {-638,3957,1},{-630,3953,1},{-618,3953,1},{-613,3950,1},{-615,3948,1},{-620,3950,1}, {-618,3947,1},{-622,3945,1},{-618,3943,1},{-618,3942,1},{-615,3943,1},{-612,3942,1}, {-607,3943,1},{-605,3940,1},{-595,3937,1},{-590,3935,1},{-580,3937,1},{-573,3932,1}, {-573,3930,1},{-580,3930,1},{-585,3928,1},{-587,3923,1},{-592,3920,1},{-590,3920,1}, {-593,3918,1},{4473,6145,130},{4477,6148,2},{4473,6150,2},{4483,6157,2}, {4483,6160,2},{4480,6160,2},{4480,6163,2},{4488,6167,2},{4485,6170,2},{4488,6173,2}, {4487,6177,2},{4490,6175,2},{4495,6182,2},{4495,6187,2},{4497,6185,2},{4498,6185,2}, {4498,6192,2},{4497,6192,2},{4497,6195,2},{4502,6193,2},{4502,6197,2},{4505,6197,2}, {4502,6183,2},{4505,6182,2},{4512,6183,2},{4503,6175,2},{4498,6173,2},{4500,6173,2}, {4503,6175,2},{4505,6172,2},{4510,6172,2},{4510,6175,2},{4515,6175,2},{4517,6178,2}, {4513,6182,2},{4515,6185,2},{4518,6177,2},{4515,6173,2},{4522,6172,2},{4518,6168,2}, {4517,6170,2},{4513,6165,2},{4518,6162,2},{4517,6155,2},{4515,6153,2},{4518,6150,2}, {4523,6152,2},{4530,6152,2},{4533,6148,2},{4538,6137,2},{4545,6135,2},{4548,6130,2}, {4548,6125,2},{4552,6125,2},{4555,6123,2},{4557,6130,2},{4560,6128,2},{4562,6130,2}, {4565,6127,2},{4567,6127,2},{4570,6117,2},{4573,6117,2},{4577,6115,2},{4573,6115,2}, {4572,6113,2},{4570,6103,2},{4562,6097,2},{4563,6093,2},{4568,6092,2},{4572,6092,2}, {4573,6093,2},{4573,6098,2},{4580,6105,2},{4587,6100,2},{4585,6103,2},{4587,6110,2}, {4590,6113,2},{4590,6103,2},{4593,6108,2},{4597,6103,2},{4602,6107,2},{4602,6102,2}, {4607,6098,2},{4608,6092,2},{4610,6090,2},{4613,6103,2},{4610,6115,2},{4615,6120,2}, {4615,6123,2},{4620,6127,2},{4622,6123,2},{4623,6125,2},{4625,6127,2},{4625,6130,2}, {4627,6130,2},{4628,6127,2},{4633,6132,2},{4630,6133,2},{4632,6137,2},{4648,6140,2}, {4648,6142,2},{4645,6145,2},{4648,6152,2},{4670,6165,2},{4672,6173,2},{4675,6170,2}, {4678,6165,2},{4678,6155,2},{4682,6158,2},{4687,6157,2},{4685,6150,2},{4680,6150,2}, {4677,6133,2},{4675,6130,2},{4670,6132,2},{4667,6130,2},{4667,6115,2},{4663,6115,2}, {4665,6120,2},{4663,6122,2},{4658,6118,2},{4652,6120,2},{4648,6112,2},{4648,6090,2}, {4652,6087,2},{4655,6085,2},{4658,6082,2},{4667,6085,2},{4670,6092,2},{4675,6090,2}, {4678,6082,2},{4677,6068,2},{4680,6058,2},{4680,6055,2},{4677,6052,2},{4680,6050,2}, {4680,6048,2},{4675,6045,2},{4673,6045,2},{4675,6050,2},{4673,6053,2},{4673,6058,2}, {4665,6072,2},{4658,6063,2},{4658,6057,2},{4665,6050,2},{4660,6043,2},{4663,6042,2}, {4665,6043,2},{4667,6040,2},{4672,6040,2},{4670,6037,2},{4667,6038,2},{4670,6033,2}, {4673,6032,2},{4672,6023,2},{4663,6010,2},{4662,6003,2},{4660,6000,2},{4658,5992,2}, {4653,5990,2},{4657,5987,2},{4653,5983,2},{4653,5980,2},{4652,5980,2},{4652,5983,2}, {4652,5992,2},{4648,5993,2},{4647,5987,2},{4643,5988,2},{4638,5995,2},{4638,6002,2}, {4635,6003,2},{4632,6008,2},{4628,6008,2},{4627,6012,2},{4623,6012,2},{4620,5998,2}, {4613,5995,2},{4608,5987,2},{4610,5985,2},{4617,5987,2},{4620,5982,2},{4628,5982,2}, {4633,5973,2},{4635,5965,2},{4633,5962,2},{4637,5955,2},{4633,5948,2},{4632,5947,2}, {4632,5943,2},{4628,5947,2},{4627,5952,2},{4623,5953,2},{4613,5957,2},{4612,5957,2}, {4613,5953,2},{4603,5948,2},{4602,5950,2},{4603,5952,2},{4603,5953,2},{4592,5953,2}, {4587,5948,2},{4582,5950,2},{4582,5948,2},{4582,5935,2},{4577,5930,2},{4582,5927,2}, {4590,5933,2},{4595,5938,2},{4595,5943,2},{4602,5945,2},{4603,5938,2},{4602,5925,2}, {4597,5917,2},{4597,5908,2},{4598,5908,2},{4600,5912,2},{4602,5910,2},{4600,5898,2}, {4595,5890,2},{4593,5880,2},{4590,5872,2},{4578,5865,2},{4560,5860,2},{4555,5855,2}, {4542,5852,2},{4535,5845,2},{4525,5837,2},{4510,5833,2},{4505,5827,2},{4483,5818,2}, {4468,5822,2},{4462,5830,2},{4460,5830,2},{4458,5825,2},{4452,5820,2},{4450,5822,2}, {4443,5820,2},{4440,5822,2},{4427,5825,2},{4417,5840,2},{4402,5838,2},{4390,5833,2}, {4377,5833,2},{4368,5838,2},{4365,5843,2},{4363,5843,2},{4367,5857,2},{4370,5860,2}, {4370,5867,2},{4372,5870,2},{4372,5873,2},{4370,5870,2},{4368,5872,2},{4373,5883,2}, {4373,5885,2},{4373,5893,2},{4375,5897,2},{4373,5897,2},{4372,5897,2},{4370,5895,2}, {4368,5897,2},{4372,5902,2},{4377,5902,2},{4380,5898,2},{4382,5890,2},{4382,5883,2}, {4390,5885,2},{4385,5897,2},{4388,5895,2},{4393,5882,2},{4393,5873,2},{4393,5887,2}, {4388,5895,2},{4380,5905,2},{4372,5908,2},{4368,5913,2},{4373,5915,2},{4375,5918,2}, {4378,5917,2},{4380,5918,2},{4380,5930,2},{4377,5933,2},{4373,5940,2},{4380,5950,2}, {4373,5950,2},{4370,5955,2},{4367,5965,2},{4367,5968,2},{4367,5977,2},{4363,5980,2}, {4362,5968,2},{4358,5968,2},{4347,5972,2},{4343,5977,2},{4338,5975,2},{4340,5980,2}, {4345,5983,2},{4345,5987,2},{4347,5990,2},{4347,5997,2},{4350,5998,2},{4348,6002,2}, {4348,6005,2},{4352,6010,2},{4350,6010,2},{4348,6010,2},{4347,6015,2},{4348,6018,2}, {4358,6018,2},{4357,6023,2},{4360,6035,2},{4360,6037,2},{4358,6037,2},{4363,6040,2}, {4363,6043,2},{4358,6042,2},{4358,6047,2},{4357,6047,2},{4362,6048,2},{4358,6052,2}, {4363,6052,2},{4360,6055,2},{4355,6057,2},{4360,6063,2},{4358,6067,2},{4358,6070,2}, {4362,6070,2},{4360,6073,2},{4362,6073,2},{4358,6077,2},{4367,6080,2},{4365,6082,2}, {4360,6080,2},{4360,6085,2},{4358,6085,2},{4360,6090,2},{4365,6088,2},{4368,6090,2}, {4368,6093,2},{4363,6098,2},{4363,6102,2},{4365,6103,2},{4367,6100,2},{4370,6100,2}, {4373,6100,2},{4380,6105,2},{4378,6100,2},{4380,6100,2},{4383,6100,2},{4382,6095,2}, {4385,6093,2},{4383,6090,2},{4380,6090,2},{4385,6087,2},{4388,6090,2},{4390,6085,2}, {4393,6085,2},{4387,6082,2},{4388,6078,2},{4387,6077,2},{4388,6075,2},{4393,6075,2}, {4397,6073,2},{4402,6073,2},{4403,6073,2},{4400,6078,2},{4403,6082,2},{4402,6083,2}, {4402,6085,2},{4407,6087,2},{4407,6088,2},{4422,6090,2},{4422,6095,2},{4418,6097,2}, {4422,6098,2},{4433,6097,2},{4432,6100,2},{4423,6103,2},{4417,6102,2},{4417,6107,2}, {4410,6110,2},{4422,6108,2},{4423,6105,2},{4435,6103,2},{4438,6105,2},{4435,6107,2}, {4433,6107,2},{4432,6108,2},{4423,6110,2},{4422,6113,2},{4418,6113,2},{4422,6115,2}, {4428,6112,2},{4433,6113,2},{4433,6117,2},{4428,6118,2},{4433,6118,2},{4435,6117,2}, {4440,6118,2},{4440,6122,2},{4438,6123,2},{4445,6123,2},{4440,6115,2},{4443,6112,2}, {4445,6113,2},{4448,6117,2},{4450,6113,2},{4453,6112,2},{4453,6107,2},{4457,6108,2}, {4458,6112,2},{4460,6112,2},{4457,6117,2},{4460,6117,2},{4462,6122,2},{4463,6120,2}, {4463,6113,2},{4465,6112,2},{4467,6117,2},{4465,6118,2},{4468,6123,2},{4463,6127,2}, {4463,6128,2},{4465,6128,2},{4467,6130,2},{4468,6142,2},{4473,6145,2},{4643,7418,130}, {4643,7422,2},{4645,7423,2},{4648,7428,2},{4650,7437,2},{4657,7442,2},{4660,7453,2}, {4672,7457,2},{4675,7458,2},{4673,7462,2},{4673,7463,2},{4677,7462,2},{4677,7485,2}, {4682,7488,2},{4680,7493,2},{4682,7495,2},{4683,7497,2},{4682,7500,2},{4678,7497,2}, {4677,7500,2},{4680,7507,2},{4685,7507,2},{4685,7508,2},{4678,7512,2},{4672,7530,2}, {4673,7550,2},{4680,7570,2},{4678,7572,2},{4680,7575,2},{4678,7583,2},{4680,7585,2}, {4683,7592,2},{4682,7595,2},{4680,7593,2},{4678,7597,2},{4677,7595,2},{4677,7600,2}, {4680,7605,2},{4678,7607,2},{4680,7610,2},{4680,7617,2},{4673,7637,2},{4667,7638,2}, {4663,7640,2},{4665,7640,2},{4662,7652,2},{4665,7653,2},{4667,7660,2},{4665,7668,2}, {4668,7672,2},{4665,7673,2},{4663,7672,2},{4657,7693,2},{4665,7683,2},{4668,7685,2}, {4663,7693,2},{4665,7700,2},{4663,7707,2},{4655,7713,2},{4655,7723,2},{4658,7725,2}, {4662,7728,2},{4662,7740,2},{4665,7748,2},{4663,7753,2},{4663,7763,2},{4663,7765,2}, {4667,7762,2},{4665,7767,2},{4667,7770,2},{4665,7775,2},{4665,7788,2},{4663,7793,2}, {4658,7805,2},{4662,7812,2},{4660,7815,2},{4655,7818,2},{4655,7823,2},{4648,7825,2}, {4645,7832,2},{4650,7833,2},{4653,7837,2},{4660,7835,2},{4667,7835,2},{4667,7838,2}, {4660,7838,2},{4660,7842,2},{4663,7840,2},{4667,7845,2},{4667,7847,2},{4663,7843,2}, {4660,7847,2},{4667,7850,2},{4675,7860,2},{4672,7877,2},{4667,7882,2},{4662,7880,2}, {4662,7892,2},{4663,7893,2},{4670,7882,2},{4675,7877,2},{4678,7878,2},{4680,7888,2}, {4678,7893,2},{4675,7897,2},{4673,7902,2},{4678,7902,2},{4682,7902,2},{4682,7903,2}, {4680,7917,2},{4672,7923,2},{4667,7925,2},{4662,7923,2},{4660,7908,2},{4647,7907,2}, {4637,7893,2},{4637,7888,2},{4638,7873,2},{4637,7867,2},{4638,7860,2},{4640,7855,2}, {4640,7852,2},{4640,7845,2},{4637,7842,2},{4633,7842,2},{4632,7848,2},{4628,7843,2}, {4628,7840,2},{4633,7838,2},{4637,7832,2},{4635,7828,2},{4633,7827,2},{4635,7812,2}, {4633,7812,2},{4632,7818,2},{4632,7805,2},{4643,7785,2},{4642,7777,2},{4642,7775,2}, {4640,7783,2},{4640,7777,2},{4637,7770,2},{4640,7773,2},{4640,7760,2},{4650,7742,2}, {4648,7733,2},{4645,7725,2},{4647,7723,2},{4648,7717,2},{4645,7710,2},{4645,7703,2}, {4647,7693,2},{4645,7692,2},{4647,7690,2},{4652,7677,2},{4653,7668,2},{4653,7660,2}, {4653,7645,2},{4653,7640,2},{4657,7633,2},{4657,7627,2},{4657,7628,2},{4657,7625,2}, {4653,7625,2},{4655,7623,2},{4655,7620,2},{4652,7620,2},{4653,7610,2},{4655,7607,2}, {4653,7605,2},{4652,7608,2},{4650,7607,2},{4652,7603,2},{4650,7593,2},{4652,7597,2}, {4653,7595,2},{4655,7590,2},{4652,7585,2},{4650,7577,2},{4652,7577,2},{4652,7568,2}, {4648,7567,2},{4650,7565,2},{4647,7555,2},{4648,7553,2},{4650,7558,2},{4652,7558,2}, {4655,7552,2},{4662,7547,2},{4665,7552,2},{4662,7552,2},{4662,7557,2},{4663,7555,2}, {4667,7558,2},{4667,7547,2},{4660,7540,2},{4648,7547,2},{4648,7543,2},{4648,7540,2}, {4645,7537,2},{4648,7533,2},{4652,7535,2},{4653,7532,2},{4652,7527,2},{4650,7525,2}, {4648,7528,2},{4648,7525,2},{4645,7528,2},{4642,7522,2},{4643,7515,2},{4642,7513,2}, {4643,7508,2},{4648,7515,2},{4648,7512,2},{4647,7508,2},{4640,7505,2},{4638,7500,2}, {4642,7492,2},{4640,7490,2},{4633,7487,2},{4627,7485,2},{4618,7478,2},{4613,7482,2}, {4610,7478,2},{4607,7472,2},{4608,7470,2},{4608,7467,2},{4605,7462,2},{4603,7462,2}, {4602,7458,2},{4600,7457,2},{4602,7455,2},{4598,7452,2},{4598,7450,2},{4603,7443,2}, {4602,7435,2},{4602,7430,2},{4598,7423,2},{4595,7423,2},{4590,7427,2},{4578,7432,2}, {4575,7428,2},{4577,7428,2},{4577,7423,2},{4572,7423,2},{4572,7428,2},{4570,7433,2}, {4567,7433,2},{4565,7432,2},{4568,7425,2},{4567,7425,2},{4565,7427,2},{4562,7427,2}, {4555,7410,2},{4550,7407,2},{4547,7410,2},{4542,7407,2},{4537,7410,2},{4533,7407,2}, {4532,7410,2},{4533,7415,2},{4535,7415,2},{4533,7417,2},{4518,7413,2},{4508,7417,2}, {4505,7412,2},{4505,7407,2},{4502,7408,2},{4503,7413,2},{4500,7412,2},{4498,7413,2}, {4497,7413,2},{4498,7410,2},{4500,7400,2},{4503,7400,2},{4505,7403,2},{4510,7398,2}, {4513,7398,2},{4513,7403,2},{4515,7400,2},{4518,7400,2},{4520,7398,2},{4522,7400,2}, {4522,7388,2},{4525,7387,2},{4528,7380,2},{4530,7382,2},{4535,7373,2},{4535,7377,2}, {4538,7370,2},{4550,7363,2},{4557,7353,2},{4557,7347,2},{4558,7343,2},{4568,7345,2}, {4567,7350,2},{4568,7352,2},{4572,7352,2},{4575,7357,2},{4578,7343,2},{4580,7342,2}, {4582,7347,2},{4583,7348,2},{4582,7352,2},{4580,7358,2},{4587,7360,2},{4587,7362,2}, {4588,7360,2},{4588,7363,2},{4592,7365,2},{4593,7363,2},{4597,7368,2},{4597,7365,2}, {4598,7365,2},{4597,7375,2},{4598,7373,2},{4602,7373,2},{4608,7363,2},{4612,7365,2}, {4613,7363,2},{4615,7367,2},{4618,7368,2},{4618,7373,2},{4623,7375,2},{4622,7378,2}, {4620,7378,2},{4617,7383,2},{4620,7385,2},{4620,7388,2},{4620,7393,2},{4618,7397,2}, {4618,7400,2},{4622,7405,2},{4622,7400,2},{4625,7400,2},{4627,7398,2},{4625,7395,2}, {4630,7395,2},{4632,7398,2},{4633,7398,2},{4642,7408,2},{4645,7415,2},{4643,7420,2}, {4272,7800,130},{4275,7820,2},{4273,7830,2},{4273,7827,2},{4272,7825,2}, {4272,7820,2},{4267,7817,2},{4267,7812,2},{4262,7808,2},{4260,7810,2},{4258,7823,2}, {4260,7830,2},{4258,7832,2},{4257,7832,2},{4257,7812,2},{4248,7803,2},{4243,7785,2}, {4242,7782,2},{4240,7782,2},{4238,7788,2},{4237,7792,2},{4235,7783,2},{4228,7780,2}, {4220,7768,2},{4218,7755,2},{4217,7750,2},{4217,7747,2},{4217,7737,2},{4217,7728,2}, {4215,7707,2},{4218,7697,2},{4217,7693,2},{4218,7692,2},{4222,7682,2},{4225,7675,2}, {4227,7657,2},{4233,7640,2},{4233,7635,2},{4232,7632,2},{4232,7627,2},{4238,7620,2}, {4240,7622,2},{4245,7618,2},{4247,7620,2},{4248,7630,2},{4247,7645,2},{4250,7650,2}, {4252,7662,2},{4255,7665,2},{4257,7668,2},{4262,7698,2},{4260,7702,2},{4263,7707,2}, {4265,7717,2},{4265,7723,2},{4268,7735,2},{4265,7750,2},{4272,7780,2},{4272,7785,2}, {4272,7803,2},{7448,10280,130},{7453,10272,2},{7458,10318,2},{7458,10347,2}, {7463,10357,2},{7463,10368,2},{7462,10397,2},{7465,10403,2},{7467,10397,2}, {7472,10395,2},{7468,10408,2},{7472,10433,2},{7478,10477,2},{7477,10497,2}, {7475,10513,2},{7480,10563,2},{7483,10580,2},{7485,10568,2},{7483,10538,2}, {7483,10520,2},{7492,10473,2},{7510,10450,2},{7513,10420,2},{7512,10413,2}, {7502,10410,2},{7498,10393,2},{7498,10383,2},{7492,10380,2},{7487,10402,2}, {7485,10403,2},{7488,10420,2},{7488,10442,2},{7483,10435,2},{7478,10418,2}, {7480,10397,2},{7480,10385,2},{7473,10367,2},{7472,10353,2},{7468,10343,2}, {7468,10323,2},{7462,10303,2},{7465,10300,2},{7463,10288,2},{7462,10272,2}, {7465,10248,2},{7463,10197,2},{7462,10193,2},{7463,10183,2},{7462,10137,2}, {7467,10107,2},{7473,10083,2},{7475,10065,2},{7477,10062,2},{7480,10055,2}, {7490,10057,2},{7490,10040,2},{7492,10047,2},{7492,10057,2},{7498,10065,2}, {7503,10063,2},{7508,10057,2},{7508,10038,2},{7513,10037,2},{7513,10022,2}, {7515,10023,2},{7517,10018,2},{7517,10007,2},{7513,10000,2},{7510,10007,2}, {7507,10002,2},{7507,10052,2},{7505,10055,2},{7502,10050,2},{7497,10055,2}, {7493,10045,2},{7493,10038,2},{7495,10038,2},{7495,10030,2},{7493,10030,2}, {7488,10005,2},{7487,10012,2},{7483,10012,2},{7482,10040,2},{7473,10038,2}, {7460,10057,2},{7457,10047,2},{7453,10047,2},{7455,10042,2},{7453,10037,2}, {7450,10022,2},{7445,10022,2},{7437,10005,2},{7438,9990,2},{7443,9968,2}, {7443,9952,2},{7442,9947,2},{7443,9938,2},{7442,9917,2},{7440,9913,2},{7437,9932,2}, {7437,9975,2},{7433,9987,2},{7430,9978,2},{7433,9997,2},{7433,10018,2}, {7435,10030,2},{7433,10045,2},{7430,10048,2},{7428,10057,2},{7430,10065,2}, {7432,10080,2},{7423,10095,2},{7412,10100,2},{7403,10115,2},{7392,10102,2}, {7390,10092,2},{7383,10092,2},{7387,10107,2},{7385,10133,2},{7382,10145,2}, {7383,10157,2},{7395,10148,2},{7398,10157,2},{7400,10148,2},{7417,10122,2}, {7423,10118,2},{7433,10103,2},{7438,10113,2},{7442,10112,2},{7443,10093,2}, {7440,10083,2},{7442,10072,2},{7443,10058,2},{7447,10085,2},{7448,10113,2}, {7450,10120,2},{7450,10132,2},{7448,10140,2},{7443,10132,2},{7438,10133,2}, {7432,10157,2},{7425,10175,2},{7425,10198,2},{7422,10198,2},{7425,10208,2}, {7422,10217,2},{7423,10220,2},{7427,10218,2},{7427,10208,2},{7430,10205,2}, {7432,10208,2},{7437,10203,2},{7447,10188,2},{7452,10192,2},{7453,10243,2}, {7452,10253,2},{7448,10280,2},{6287,3463,130},{6283,3467,2},{6282,3473,2}, {6285,3477,2},{6283,3488,2},{6277,3505,2},{6275,3507,2},{6277,3497,2},{6273,3505,2}, {6272,3517,2},{6268,3522,2},{6267,3540,2},{6263,3542,2},{6262,3542,2},{6257,3550,2}, {6262,3548,2},{6263,3552,2},{6255,3555,2},{6257,3558,2},{6255,3570,2},{6248,3580,2}, {6242,3585,2},{6232,3583,2},{6218,3577,2},{6210,3568,2},{6205,3565,2},{6200,3572,2}, {6197,3582,2},{6195,3587,2},{6190,3583,2},{6187,3585,2},{6185,3582,2},{6183,3583,2}, {6180,3595,2},{6172,3603,2},{6165,3602,2},{6158,3618,2},{6152,3623,2},{6148,3623,2}, {6145,3637,2},{6140,3643,2},{6130,3643,2},{6128,3640,2},{6128,3637,2},{6125,3633,2}, {6117,3645,2},{6117,3638,2},{6113,3633,2},{6107,3622,2},{6108,3608,2},{6102,3605,2}, {6095,3595,2},{6093,3580,2},{6093,3585,2},{6092,3583,2},{6092,3595,2},{6088,3593,2}, {6085,3587,2},{6088,3580,2},{6087,3575,2},{6090,3578,2},{6092,3577,2},{6088,3563,2}, {6090,3555,2},{6095,3550,2},{6098,3552,2},{6105,3538,2},{6105,3533,2},{6100,3527,2}, {6102,3522,2},{6098,3513,2},{6100,3510,2},{6102,3515,2},{6105,3512,2},{6107,3497,2}, {6108,3493,2},{6110,3490,2},{6108,3487,2},{6105,3492,2},{6102,3483,2},{6113,3478,2}, {6115,3482,2},{6123,3482,2},{6122,3490,2},{6118,3498,2},{6120,3505,2},{6122,3510,2}, {6118,3517,2},{6117,3525,2},{6117,3522,2},{6113,3522,2},{6118,3510,2},{6117,3505,2}, {6112,3503,2},{6105,3517,2},{6105,3523,2},{6108,3530,2},{6107,3542,2},{6105,3545,2}, {6100,3555,2},{6112,3570,2},{6115,3568,2},{6118,3560,2},{6123,3562,2},{6127,3555,2}, {6132,3555,2},{6133,3550,2},{6137,3548,2},{6138,3537,2},{6142,3535,2},{6145,3528,2}, {6148,3525,2},{6148,3518,2},{6150,3512,2},{6148,3505,2},{6153,3503,2},{6153,3488,2}, {6158,3478,2},{6158,3472,2},{6163,3467,2},{6165,3463,2},{6177,3445,2},{6182,3432,2}, {6183,3435,2},{6188,3428,2},{6190,3430,2},{6185,3437,2},{6183,3437,2},{6182,3448,2}, {6177,3457,2},{6185,3458,2},{6185,3463,2},{6190,3462,2},{6203,3450,2},{6212,3428,2}, {6215,3430,2},{6218,3423,2},{6222,3428,2},{6227,3427,2},{6233,3415,2},{6240,3410,2}, {6242,3403,2},{6240,3403,2},{6237,3402,2},{6237,3398,2},{6247,3393,2},{6253,3397,2}, {6252,3407,2},{6243,3407,2},{6243,3412,2},{6235,3418,2},{6225,3437,2},{6223,3432,2}, {6218,3432,2},{6210,3448,2},{6208,3460,2},{6202,3473,2},{6205,3475,2},{6223,3457,2}, {6223,3460,2},{6225,3462,2},{6223,3463,2},{6217,3472,2},{6223,3470,2},{6233,3457,2}, {6247,3443,2},{6235,3463,2},{6225,3477,2},{6225,3480,2},{6232,3478,2},{6235,3475,2}, {6245,3457,2},{6250,3455,2},{6253,3448,2},{6260,3447,2},{6255,3450,2},{6245,3470,2}, {6235,3482,2},{6227,3485,2},{6232,3487,2},{6225,3487,2},{6225,3483,2},{6218,3488,2}, {6205,3505,2},{6203,3515,2},{6205,3515,2},{6210,3520,2},{6222,3502,2},{6222,3505,2}, {6225,3502,2},{6222,3510,2},{6217,3517,2},{6217,3528,2},{6212,3535,2},{6217,3538,2}, {6217,3548,2},{6223,3558,2},{6238,3553,2},{6248,3543,2},{6253,3535,2},{6257,3533,2}, {6257,3530,2},{6252,3530,2},{6255,3515,2},{6255,3510,2},{6257,3508,2},{6265,3495,2}, {6265,3492,2},{6262,3497,2},{6263,3490,2},{6263,3485,2},{6260,3483,2},{6257,3490,2}, {6250,3498,2},{6242,3503,2},{6255,3492,2},{6255,3488,2},{6253,3490,2},{6257,3483,2}, {6267,3473,2},{6265,3470,2},{6260,3477,2},{6260,3473,2},{6270,3467,2},{6275,3457,2}, {6280,3457,2},{6285,3453,2},{6285,3452,2},{6285,3448,2},{6290,3445,2},{6292,3448,2}, {6292,3455,2},{6288,3458,2},{6287,3463,2},{5895,3812,130},{5888,3820,2}, {5855,3872,2},{5848,3892,2},{5850,3907,2},{5847,3897,2},{5843,3895,2},{5840,3897,2}, {5833,3908,2},{5835,3900,2},{5835,3892,2},{5833,3885,2},{5827,3880,2},{5818,3880,2}, {5810,3885,2},{5812,3878,2},{5818,3875,2},{5825,3858,2},{5823,3857,2},{5810,3870,2}, {5812,3863,2},{5808,3858,2},{5810,3855,2},{5813,3848,2},{5815,3840,2},{5810,3833,2}, {5808,3832,2},{5803,3842,2},{5802,3843,2},{5803,3835,2},{5803,3825,2},{5810,3823,2}, {5822,3827,2},{5825,3823,2},{5825,3813,2},{5825,3808,2},{5827,3810,2},{5832,3792,2}, {5830,3790,2},{5827,3792,2},{5827,3790,2},{5833,3785,2},{5840,3775,2},{5840,3772,2}, {5843,3768,2},{5843,3763,2},{5845,3765,2},{5848,3758,2},{5852,3755,2},{5852,3750,2}, {5858,3748,2},{5858,3743,2},{5863,3738,2},{5865,3732,2},{5870,3725,2},{5868,3715,2}, {5868,3708,2},{5872,3717,2},{5872,3722,2},{5877,3715,2},{5882,3713,2},{5882,3717,2}, {5888,3712,2},{5883,3720,2},{5877,3727,2},{5877,3733,2},{5872,3735,2},{5873,3748,2}, {5867,3737,2},{5862,3747,2},{5862,3752,2},{5863,3752,2},{5862,3757,2},{5858,3755,2}, {5855,3757,2},{5853,3763,2},{5855,3767,2},{5858,3770,2},{5860,3768,2},{5858,3763,2}, {5862,3763,2},{5863,3760,2},{5865,3762,2},{5865,3767,2},{5860,3773,2},{5863,3773,2}, {5863,3777,2},{5855,3793,2},{5852,3808,2},{5853,3810,2},{5858,3808,2},{5860,3805,2}, {5860,3813,2},{5862,3813,2},{5867,3802,2},{5867,3795,2},{5868,3802,2},{5870,3800,2}, {5872,3792,2},{5872,3795,2},{5875,3793,2},{5872,3802,2},{5872,3805,2},{5877,3805,2}, {5880,3798,2},{5888,3800,2},{5887,3797,2},{5883,3793,2},{5885,3790,2},{5888,3790,2}, {5888,3785,2},{5892,3785,2},{5895,3773,2},{5892,3768,2},{5892,3753,2},{5883,3753,2}, {5882,3750,2},{5887,3743,2},{5890,3748,2},{5895,3748,2},{5895,3755,2},{5898,3758,2}, {5897,3763,2},{5902,3773,2},{5903,3768,2},{5905,3770,2},{5908,3767,2},{5910,3770,2}, {5912,3770,2},{5918,3753,2},{5913,3773,2},{5915,3778,2},{5913,3783,2},{5913,3788,2}, {5915,3793,2},{5920,3798,2},{5920,3805,2},{5918,3800,2},{5913,3795,2},{5908,3815,2}, {5910,3818,2},{5915,3818,2},{5918,3817,2},{5920,3810,2},{5922,3812,2},{5922,3820,2}, {5918,3818,2},{5915,3827,2},{5913,3833,2},{5913,3837,2},{5920,3842,2},{5918,3845,2}, {5908,3837,2},{5908,3830,2},{5907,3832,2},{5907,3825,2},{5907,3820,2},{5905,3820,2}, {5905,3813,2},{5908,3810,2},{5912,3793,2},{5910,3787,2},{5908,3777,2},{5903,3792,2}, {5905,3795,2},{5898,3802,2},{5900,3807,2},{5893,3813,2},{6173,3092,130}, {6170,3107,2},{6163,3107,2},{6162,3112,2},{6162,3117,2},{6163,3117,2},{6163,3122,2}, {6167,3125,2},{6158,3130,2},{6163,3133,2},{6162,3137,2},{6152,3153,2},{6143,3158,2}, {6140,3165,2},{6142,3165,2},{6145,3160,2},{6148,3160,2},{6138,3173,2},{6135,3187,2}, {6132,3190,2},{6123,3223,2},{6113,3252,2},{6107,3258,2},{6098,3258,2},{6098,3263,2}, {6097,3263,2},{6085,3280,2},{6072,3282,2},{6068,3292,2},{6065,3295,2},{6045,3278,2}, {6050,3278,2},{6055,3265,2},{6055,3262,2},{6052,3258,2},{6040,3268,2},{6035,3263,2}, {6035,3257,2},{6025,3262,2},{6018,3253,2},{6013,3228,2},{6018,3220,2},{6022,3217,2}, {6022,3210,2},{6023,3210,2},{6025,3198,2},{6023,3190,2},{6025,3183,2},{6023,3178,2}, {6025,3173,2},{6023,3172,2},{6017,3162,2},{6015,3157,2},{6013,3157,2},{6015,3160,2}, {6013,3162,2},{6005,3153,2},{5998,3158,2},{5993,3155,2},{5990,3148,2},{5990,3142,2}, {5990,3138,2},{5993,3137,2},{5993,3133,2},{5993,3125,2},{5992,3117,2},{5993,3105,2}, {6002,3115,2},{6003,3117,2},{6007,3108,2},{6010,3112,2},{6013,3112,2},{6020,3097,2}, {6045,3085,2},{6047,3082,2},{6043,3080,2},{6045,3077,2},{6052,3077,2},{6053,3072,2}, {6058,3070,2},{6063,3052,2},{6068,3053,2},{6073,3050,2},{6073,3053,2},{6083,3052,2}, {6087,3043,2},{6088,3047,2},{6095,3037,2},{6100,3028,2},{6103,3025,2},{6117,2988,2}, {6122,2980,2},{6120,2992,2},{6117,2995,2},{6115,3000,2},{6118,3002,2},{6122,2998,2}, {6122,2988,2},{6123,2992,2},{6125,2983,2},{6127,2987,2},{6130,2990,2},{6122,3007,2}, {6125,3007,2},{6125,3010,2},{6127,3007,2},{6130,3010,2},{6130,3020,2},{6130,3027,2}, {6132,3025,2},{6133,3018,2},{6133,3025,2},{6135,3023,2},{6135,3015,2},{6137,3015,2}, {6138,3022,2},{6142,3020,2},{6145,3025,2},{6143,3032,2},{6145,3035,2},{6148,3023,2}, {6152,3023,2},{6152,3032,2},{6148,3047,2},{6148,3048,2},{6153,3047,2},{6152,3052,2}, {6153,3063,2},{6160,3055,2},{6160,3060,2},{6170,3070,2},{6172,3075,2},{6175,3075,2}, {6178,3083,2},{6177,3085,2},{6175,3090,2},{6173,3087,2},{6173,3095,2},{5572,10948,130}, {5575,10952,2},{5577,10960,2},{5573,10982,2},{5575,10978,2},{5578,10962,2}, {5578,10963,2},{5578,10970,2},{5577,10975,2},{5578,10980,2},{5575,10987,2}, {5572,10987,2},{5567,10997,2},{5555,10983,2},{5553,10988,2},{5550,10985,2}, {5547,10985,2},{5547,10990,2},{5545,10985,2},{5535,10982,2},{5530,10977,2}, {5523,10980,2},{5515,10973,2},{5513,10975,2},{5510,10975,2},{5503,10978,2}, {5498,10972,2},{5492,10972,2},{5487,10967,2},{5483,10968,2},{5480,10963,2}, {5468,10963,2},{5465,10955,2},{5462,10952,2},{5443,10952,2},{5438,10948,2}, {5433,10952,2},{5430,10947,2},{5415,10957,2},{5412,10952,2},{5402,10947,2}, {5388,10927,2},{5382,10922,2},{5380,10918,2},{5378,10918,2},{5375,10922,2}, {5368,10918,2},{5367,10922,2},{5362,10917,2},{5362,10903,2},{5363,10898,2}, {5367,10903,2},{5373,10908,2},{5377,10902,2},{5382,10907,2},{5387,10903,2}, {5385,10890,2},{5378,10880,2},{5362,10867,2},{5352,10853,2},{5352,10857,2}, {5355,10867,2},{5360,10887,2},{5358,10890,2},{5350,10898,2},{5340,10900,2}, {5335,10897,2},{5332,10885,2},{5328,10882,2},{5327,10875,2},{5330,10868,2}, {5328,10862,2},{5320,10845,2},{5317,10843,2},{5310,10830,2},{5307,10830,2}, {5305,10833,2},{5302,10833,2},{5292,10818,2},{5283,10800,2},{5278,10797,2}, {5272,10780,2},{5270,10753,2},{5267,10742,2},{5262,10733,2},{5257,10713,2}, {5245,10690,2},{5238,10687,2},{5232,10682,2},{5232,10678,2},{5233,10673,2}, {5237,10665,2},{5238,10655,2},{5237,10647,2},{5233,10640,2},{5233,10633,2}, {5225,10623,2},{5213,10628,2},{5208,10625,2},{5210,10623,2},{5205,10622,2}, {5200,10617,2},{5195,10620,2},{5190,10610,2},{5187,10607,2},{5182,10600,2}, {5173,10592,2},{5173,10585,2},{5170,10580,2},{5165,10553,2},{5160,10538,2}, {5157,10513,2},{5153,10493,2},{5150,10488,2},{5147,10477,2},{5148,10463,2}, {5147,10452,2},{5150,10442,2},{5150,10427,2},{5160,10393,2},{5162,10385,2}, {5168,10372,2},{5170,10372,2},{5172,10373,2},{5175,10408,2},{5180,10440,2}, {5178,10463,2},{5187,10475,2},{5187,10498,2},{5190,10508,2},{5192,10523,2}, {5198,10530,2},{5203,10545,2},{5212,10558,2},{5218,10567,2},{5223,10570,2}, {5247,10595,2},{5257,10617,2},{5263,10643,2},{5273,10658,2},{5277,10657,2}, {5277,10662,2},{5282,10665,2},{5287,10677,2},{5293,10680,2},{5298,10692,2}, {5303,10685,2},{5302,10678,2},{5302,10673,2},{5308,10683,2},{5310,10688,2}, {5313,10690,2},{5317,10698,2},{5322,10702,2},{5328,10715,2},{5343,10753,2}, {5347,10757,2},{5350,10755,2},{5363,10765,2},{5382,10802,2},{5383,10807,2}, {5392,10820,2},{5400,10823,2},{5405,10828,2},{5415,10830,2},{5418,10838,2}, {5428,10847,2},{5430,10850,2},{5448,10858,2},{5460,10873,2},{5472,10882,2}, {5478,10885,2},{5482,10885,2},{5485,10892,2},{5492,10895,2},{5495,10890,2}, {5503,10903,2},{5505,10910,2},{5510,10912,2},{5518,10918,2},{5532,10920,2}, {5538,10922,2},{5543,10918,2},{5545,10920,2},{5547,10917,2},{5555,10920,2}, {5558,10923,2},{5562,10935,2},{5565,10937,2},{5568,10943,2},{5575,10950,2}, {5620,10223,130},{5622,10227,2},{5623,10230,2},{5625,10228,2},{5625,10223,2}, {5628,10225,2},{5623,10238,2},{5625,10250,2},{5627,10245,2},{5628,10250,2}, {5632,10248,2},{5635,10245,2},{5637,10250,2},{5632,10253,2},{5632,10258,2}, {5635,10258,2},{5633,10262,2},{5632,10262,2},{5630,10258,2},{5623,10258,2}, {5622,10277,2},{5623,10278,2},{5628,10280,2},{5630,10282,2},{5623,10282,2}, {5620,10283,2},{5618,10287,2},{5620,10288,2},{5620,10290,2},{5618,10290,2}, {5617,10293,2},{5618,10298,2},{5623,10300,2},{5623,10305,2},{5620,10305,2}, {5613,10297,2},{5605,10305,2},{5603,10302,2},{5592,10302,2},{5583,10307,2}, {5577,10322,2},{5575,10322,2},{5570,10327,2},{5568,10323,2},{5563,10325,2}, {5562,10322,2},{5557,10320,2},{5553,10320,2},{5552,10323,2},{5550,10320,2}, {5530,10335,2},{5512,10335,2},{5508,10333,2},{5500,10327,2},{5492,10312,2}, {5477,10308,2},{5473,10310,2},{5470,10322,2},{5463,10325,2},{5463,10330,2}, {5462,10327,2},{5443,10327,2},{5443,10333,2},{5442,10330,2},{5438,10333,2}, {5430,10333,2},{5420,10340,2},{5413,10352,2},{5417,10340,2},{5425,10333,2}, {5437,10332,2},{5438,10327,2},{5437,10320,2},{5425,10305,2},{5415,10300,2}, {5407,10305,2},{5403,10312,2},{5397,10318,2},{5390,10328,2},{5388,10327,2}, {5385,10333,2},{5385,10328,2},{5382,10328,2},{5363,10345,2},{5362,10353,2}, {5363,10357,2},{5365,10357,2},{5363,10358,2},{5360,10360,2},{5358,10367,2}, {5358,10370,2},{5363,10373,2},{5363,10378,2},{5353,10370,2},{5347,10377,2}, {5347,10373,2},{5350,10368,2},{5355,10365,2},{5358,10352,2},{5358,10343,2}, {5355,10342,2},{5352,10342,2},{5353,10338,2},{5335,10343,2},{5327,10343,2}, {5317,10337,2},{5310,10338,2},{5310,10337,2},{5317,10333,2},{5328,10338,2}, {5340,10338,2},{5353,10333,2},{5365,10335,2},{5370,10333,2},{5372,10330,2}, {5373,10310,2},{5378,10292,2},{5378,10282,2},{5382,10292,2},{5375,10317,2}, {5375,10325,2},{5377,10325,2},{5387,10322,2},{5397,10315,2},{5400,10307,2}, {5402,10307,2},{5407,10298,2},{5415,10297,2},{5425,10302,2},{5437,10315,2}, {5442,10312,2},{5443,10305,2},{5443,10313,2},{5438,10320,2},{5443,10325,2}, {5465,10322,2},{5468,10318,2},{5473,10307,2},{5480,10305,2},{5492,10308,2}, {5503,10325,2},{5513,10332,2},{5530,10332,2},{5538,10327,2},{5548,10315,2}, {5562,10318,2},{5572,10318,2},{5580,10308,2},{5583,10298,2},{5595,10295,2}, {5598,10297,2},{5603,10295,2},{5610,10288,2},{5613,10283,2},{5608,10278,2}, {5610,10277,2},{5613,10278,2},{5615,10277,2},{5615,10265,2},{5615,10262,2}, {5615,10258,2},{5617,10253,2},{5615,10252,2},{5615,10245,2},{5610,10252,2}, {5610,10248,2},{5613,10243,2},{5612,10240,2},{5610,10238,2},{5605,10253,2}, {5602,10255,2},{5607,10242,2},{5607,10235,2},{5613,10233,2},{5610,10218,2}, {5607,10222,2},{5607,10212,2},{5603,10217,2},{5607,10207,2},{5605,10200,2}, {5603,10202,2},{5602,10195,2},{5600,10195,2},{5600,10200,2},{5598,10200,2}, {5598,10202,2},{5597,10198,2},{5593,10202,2},{5590,10197,2},{5587,10197,2}, {5582,10185,2},{5575,10185,2},{5573,10192,2},{5572,10195,2},{5572,10205,2}, {5573,10208,2},{5568,10217,2},{5567,10217,2},{5568,10198,2},{5568,10195,2}, {5560,10213,2},{5562,10220,2},{5558,10237,2},{5555,10240,2},{5548,10238,2}, {5542,10228,2},{5533,10233,2},{5528,10228,2},{5532,10237,2},{5530,10242,2}, {5528,10243,2},{5525,10242,2},{5525,10228,2},{5518,10235,2},{5515,10233,2}, {5512,10223,2},{5510,10225,2},{5507,10223,2},{5505,10213,2},{5503,10208,2}, {5503,10207,2},{5507,10210,2},{5508,10220,2},{5512,10217,2},{5513,10218,2}, {5517,10230,2},{5522,10227,2},{5525,10227,2},{5528,10242,2},{5530,10238,2}, {5527,10230,2},{5528,10225,2},{5533,10232,2},{5543,10225,2},{5545,10228,2}, {5548,10235,2},{5553,10233,2},{5553,10218,2},{5552,10218,2},{5550,10222,2}, {5548,10222,2},{5550,10217,2},{5547,10198,2},{5543,10185,2},{5540,10185,2}, {5542,10182,2},{5540,10173,2},{5542,10182,2},{5545,10173,2},{5547,10173,2}, {5548,10167,2},{5548,10173,2},{5547,10187,2},{5548,10195,2},{5550,10203,2}, {5552,10212,2},{5553,10213,2},{5558,10185,2},{5560,10187,2},{5563,10180,2}, {5568,10180,2},{5568,10177,2},{5572,10182,2},{5578,10182,2},{5580,10173,2}, {5583,10173,2},{5583,10170,2},{5583,10162,2},{5585,10162,2},{5587,10150,2}, {5588,10148,2},{5590,10155,2},{5592,10150,2},{5595,10147,2},{5595,10140,2}, {5590,10142,2},{5588,10135,2},{5592,10137,2},{5593,10135,2},{5600,10118,2}, {5600,10127,2},{5597,10138,2},{5598,10147,2},{5590,10165,2},{5598,10158,2}, {5598,10162,2},{5598,10167,2},{5593,10168,2},{5592,10170,2},{5597,10175,2}, {5598,10172,2},{5600,10175,2},{5605,10168,2},{5603,10182,2},{5607,10175,2}, {5608,10177,2},{5610,10160,2},{5612,10167,2},{5615,10167,2},{5617,10173,2}, {5622,10168,2},{5627,10168,2},{5628,10173,2},{5628,10180,2},{5627,10183,2}, {5622,10182,2},{5620,10185,2},{5622,10193,2},{5627,10197,2},{5625,10203,2}, {5623,10203,2},{5623,10198,2},{5620,10197,2},{5620,10190,2},{5617,10195,2}, {5617,10185,2},{5615,10188,2},{5613,10178,2},{5612,10178,2},{5608,10187,2}, {5612,10190,2},{5617,10212,2},{5618,10212,2},{5620,10223,2},{5895,2772,130}, {5890,2772,2},{5885,2780,2},{5867,2777,2},{5857,2783,2},{5848,2785,2},{5843,2780,2}, {5843,2777,2},{5847,2778,2},{5835,2763,2},{5830,2765,2},{5832,2753,2},{5823,2752,2}, {5823,2758,2},{5818,2760,2},{5817,2758,2},{5817,2760,2},{5813,2762,2},{5815,2765,2}, {5817,2775,2},{5818,2780,2},{5817,2785,2},{5817,2795,2},{5815,2797,2},{5812,2803,2}, {5807,2805,2},{5800,2815,2},{5797,2813,2},{5792,2818,2},{5785,2813,2},{5787,2808,2}, {5785,2795,2},{5790,2792,2},{5792,2785,2},{5793,2790,2},{5795,2790,2},{5798,2780,2}, {5802,2778,2},{5803,2773,2},{5803,2765,2},{5802,2767,2},{5797,2760,2},{5803,2758,2}, {5808,2760,2},{5810,2755,2},{5820,2747,2},{5825,2747,2},{5828,2742,2},{5837,2742,2}, {5840,2733,2},{5840,2727,2},{5842,2723,2},{5862,2720,2},{5872,2712,2},{5878,2695,2}, {5883,2695,2},{5888,2698,2},{5895,2707,2},{5898,2727,2},{5902,2752,2},{5898,2773,2}, {5895,2772,2},{5838,2612,130},{5833,2615,2},{5822,2613,2},{5817,2608,2}, {5810,2608,2},{5818,2605,2},{5820,2600,2},{5825,2598,2},{5832,2592,2},{5842,2598,2}, {5840,2608,2},{5838,2612,2},{5572,10948,130},{5575,10952,2},{5577,10960,2}, {5573,10982,2},{5575,10978,2},{5578,10962,2},{5578,10963,2},{5578,10970,2}, {5577,10975,2},{5578,10980,2},{5575,10987,2},{5572,10987,2},{5567,10997,2}, {5555,10983,2},{5553,10988,2},{5550,10985,2},{5547,10985,2},{5547,10990,2}, {5545,10985,2},{5535,10982,2},{5530,10977,2},{5523,10980,2},{5515,10973,2}, {5513,10975,2},{5510,10975,2},{5503,10978,2},{5498,10972,2},{5492,10972,2}, {5487,10967,2},{5483,10968,2},{5480,10963,2},{5468,10963,2},{5465,10955,2}, {5462,10952,2},{5443,10952,2},{5438,10948,2},{5433,10952,2},{5430,10947,2}, {5415,10957,2},{5412,10952,2},{5402,10947,2},{5388,10927,2},{5382,10922,2}, {5380,10918,2},{5378,10918,2},{5375,10922,2},{5368,10918,2},{5367,10922,2}, {5362,10917,2},{5362,10903,2},{5363,10898,2},{5367,10903,2},{5373,10908,2}, {5377,10902,2},{5382,10907,2},{5387,10903,2},{5385,10890,2},{5378,10880,2}, {5362,10867,2},{5352,10853,2},{5352,10857,2},{5355,10867,2},{5360,10887,2}, {5358,10890,2},{5350,10898,2},{5340,10900,2},{5335,10897,2},{5332,10885,2}, {5328,10882,2},{5327,10875,2},{5330,10868,2},{5328,10862,2},{5320,10845,2}, {5317,10843,2},{5310,10830,2},{5307,10830,2},{5305,10833,2},{5302,10833,2}, {5292,10818,2},{5283,10800,2},{5278,10797,2},{5272,10780,2},{5270,10753,2}, {5267,10742,2},{5262,10733,2},{5257,10713,2},{5245,10690,2},{5238,10687,2}, {5232,10682,2},{5232,10678,2},{5233,10673,2},{5237,10665,2},{5238,10655,2}, {5237,10647,2},{5233,10640,2},{5233,10633,2},{5225,10623,2},{5213,10628,2}, {5208,10625,2},{5210,10623,2},{5205,10622,2},{5200,10617,2},{5195,10620,2}, {5190,10610,2},{5187,10607,2},{5182,10600,2},{5173,10592,2},{5173,10585,2}, {5170,10580,2},{5165,10553,2},{5160,10538,2},{5157,10513,2},{5153,10493,2}, {5150,10488,2},{5147,10477,2},{5148,10463,2},{5147,10452,2},{5150,10442,2}, {5150,10427,2},{5160,10393,2},{5162,10385,2},{5168,10372,2},{5170,10372,2}, {5172,10373,2},{5175,10408,2},{5180,10440,2},{5178,10463,2},{5187,10475,2}, {5187,10498,2},{5190,10508,2},{5192,10523,2},{5198,10530,2},{5203,10545,2}, {5212,10558,2},{5218,10567,2},{5223,10570,2},{5247,10595,2},{5257,10617,2}, {5263,10643,2},{5273,10658,2},{5277,10657,2},{5277,10662,2},{5282,10665,2}, {5287,10677,2},{5293,10680,2},{5298,10692,2},{5303,10685,2},{5302,10678,2}, {5302,10673,2},{5308,10683,2},{5310,10688,2},{5313,10690,2},{5317,10698,2}, {5322,10702,2},{5328,10715,2},{5343,10753,2},{5347,10757,2},{5350,10755,2}, {5363,10765,2},{5382,10802,2},{5383,10807,2},{5392,10820,2},{5400,10823,2}, {5405,10828,2},{5415,10830,2},{5418,10838,2},{5428,10847,2},{5430,10850,2}, {5448,10858,2},{5460,10873,2},{5472,10882,2},{5478,10885,2},{5482,10885,2}, {5485,10892,2},{5492,10895,2},{5495,10890,2},{5503,10903,2},{5505,10910,2}, {5510,10912,2},{5518,10918,2},{5532,10920,2},{5538,10922,2},{5543,10918,2}, {5545,10920,2},{5547,10917,2},{5555,10920,2},{5558,10923,2},{5562,10935,2}, {5565,10937,2},{5568,10943,2},{5575,10950,2},{5223,10440,130},{5220,10443,2}, {5220,10447,2},{5217,10447,2},{5218,10452,2},{5215,10448,2},{5212,10457,2}, {5200,10467,2},{5192,10480,2},{5193,10472,2},{5198,10467,2},{5200,10462,2}, {5210,10452,2},{5210,10450,2},{5205,10447,2},{5205,10443,2},{5208,10447,2}, {5213,10443,2},{5215,10445,2},{5217,10442,2},{5215,10438,2},{5218,10440,2}, {5220,10438,2},{5220,10435,2},{5223,10433,2},{5225,10433,2},{5223,10440,2}, {5620,10223,130},{5622,10227,2},{5623,10230,2},{5625,10228,2},{5625,10223,2}, {5628,10225,2},{5623,10238,2},{5625,10250,2},{5627,10245,2},{5628,10250,2}, {5632,10248,2},{5635,10245,2},{5637,10250,2},{5632,10253,2},{5632,10258,2}, {5635,10258,2},{5633,10262,2},{5632,10262,2},{5630,10258,2},{5623,10258,2}, {5622,10277,2},{5623,10278,2},{5628,10280,2},{5630,10282,2},{5623,10282,2}, {5620,10283,2},{5618,10287,2},{5620,10288,2},{5620,10290,2},{5618,10290,2}, {5617,10293,2},{5618,10298,2},{5623,10300,2},{5623,10305,2},{5620,10305,2}, {5613,10297,2},{5605,10305,2},{5603,10302,2},{5592,10302,2},{5583,10307,2}, {5577,10322,2},{5575,10322,2},{5570,10327,2},{5568,10323,2},{5563,10325,2}, {5562,10322,2},{5557,10320,2},{5553,10320,2},{5552,10323,2},{5550,10320,2}, {5530,10335,2},{5512,10335,2},{5508,10333,2},{5500,10327,2},{5492,10312,2}, {5477,10308,2},{5473,10310,2},{5470,10322,2},{5463,10325,2},{5463,10330,2}, {5462,10327,2},{5443,10327,2},{5443,10333,2},{5442,10330,2},{5438,10333,2}, {5430,10333,2},{5420,10340,2},{5413,10352,2},{5417,10340,2},{5425,10333,2}, {5437,10332,2},{5438,10327,2},{5437,10320,2},{5425,10305,2},{5415,10300,2}, {5407,10305,2},{5403,10312,2},{5397,10318,2},{5390,10328,2},{5388,10327,2}, {5385,10333,2},{5385,10328,2},{5382,10328,2},{5363,10345,2},{5362,10353,2}, {5363,10357,2},{5365,10357,2},{5363,10358,2},{5360,10360,2},{5358,10367,2}, {5358,10370,2},{5363,10373,2},{5363,10378,2},{5353,10370,2},{5347,10377,2}, {5347,10373,2},{5350,10368,2},{5355,10365,2},{5358,10352,2},{5358,10343,2}, {5355,10342,2},{5352,10342,2},{5353,10338,2},{5335,10343,2},{5327,10343,2}, {5317,10337,2},{5310,10338,2},{5310,10337,2},{5317,10333,2},{5328,10338,2}, {5340,10338,2},{5353,10333,2},{5365,10335,2},{5370,10333,2},{5372,10330,2}, {5373,10310,2},{5378,10292,2},{5378,10282,2},{5382,10292,2},{5375,10317,2}, {5375,10325,2},{5377,10325,2},{5387,10322,2},{5397,10315,2},{5400,10307,2}, {5402,10307,2},{5407,10298,2},{5415,10297,2},{5425,10302,2},{5437,10315,2}, {5442,10312,2},{5443,10305,2},{5443,10313,2},{5438,10320,2},{5443,10325,2}, {5465,10322,2},{5468,10318,2},{5473,10307,2},{5480,10305,2},{5492,10308,2}, {5503,10325,2},{5513,10332,2},{5530,10332,2},{5538,10327,2},{5548,10315,2}, {5562,10318,2},{5572,10318,2},{5580,10308,2},{5583,10298,2},{5595,10295,2}, {5598,10297,2},{5603,10295,2},{5610,10288,2},{5613,10283,2},{5608,10278,2}, {5610,10277,2},{5613,10278,2},{5615,10277,2},{5615,10265,2},{5615,10262,2}, {5615,10258,2},{5617,10253,2},{5615,10252,2},{5615,10245,2},{5610,10252,2}, {5610,10248,2},{5613,10243,2},{5612,10240,2},{5610,10238,2},{5605,10253,2}, {5602,10255,2},{5607,10242,2},{5607,10235,2},{5613,10233,2},{5610,10218,2}, {5607,10222,2},{5607,10212,2},{5603,10217,2},{5607,10207,2},{5605,10200,2}, {5603,10202,2},{5602,10195,2},{5600,10195,2},{5600,10200,2},{5598,10200,2}, {5598,10202,2},{5597,10198,2},{5593,10202,2},{5590,10197,2},{5587,10197,2}, {5582,10185,2},{5575,10185,2},{5573,10192,2},{5572,10195,2},{5572,10205,2}, {5573,10208,2},{5568,10217,2},{5567,10217,2},{5568,10198,2},{5568,10195,2}, {5560,10213,2},{5562,10220,2},{5558,10237,2},{5555,10240,2},{5548,10238,2}, {5542,10228,2},{5533,10233,2},{5528,10228,2},{5532,10237,2},{5530,10242,2}, {5528,10243,2},{5525,10242,2},{5525,10228,2},{5518,10235,2},{5515,10233,2}, {5512,10223,2},{5510,10225,2},{5507,10223,2},{5505,10213,2},{5503,10208,2}, {5503,10207,2},{5507,10210,2},{5508,10220,2},{5512,10217,2},{5513,10218,2}, {5517,10230,2},{5522,10227,2},{5525,10227,2},{5528,10242,2},{5530,10238,2}, {5527,10230,2},{5528,10225,2},{5533,10232,2},{5543,10225,2},{5545,10228,2}, {5548,10235,2},{5553,10233,2},{5553,10218,2},{5552,10218,2},{5550,10222,2}, {5548,10222,2},{5550,10217,2},{5547,10198,2},{5543,10185,2},{5540,10185,2}, {5542,10182,2},{5540,10173,2},{5542,10182,2},{5545,10173,2},{5547,10173,2}, {5548,10167,2},{5548,10173,2},{5547,10187,2},{5548,10195,2},{5550,10203,2}, {5552,10212,2},{5553,10213,2},{5558,10185,2},{5560,10187,2},{5563,10180,2}, {5568,10180,2},{5568,10177,2},{5572,10182,2},{5578,10182,2},{5580,10173,2}, {5583,10173,2},{5583,10170,2},{5583,10162,2},{5585,10162,2},{5587,10150,2}, {5588,10148,2},{5590,10155,2},{5592,10150,2},{5595,10147,2},{5595,10140,2}, {5590,10142,2},{5588,10135,2},{5592,10137,2},{5593,10135,2},{5600,10118,2}, {5600,10127,2},{5597,10138,2},{5598,10147,2},{5590,10165,2},{5598,10158,2}, {5598,10162,2},{5598,10167,2},{5593,10168,2},{5592,10170,2},{5597,10175,2}, {5598,10172,2},{5600,10175,2},{5605,10168,2},{5603,10182,2},{5607,10175,2}, {5608,10177,2},{5610,10160,2},{5612,10167,2},{5615,10167,2},{5617,10173,2}, {5622,10168,2},{5627,10168,2},{5628,10173,2},{5628,10180,2},{5627,10183,2}, {5622,10182,2},{5620,10185,2},{5622,10193,2},{5627,10197,2},{5625,10203,2}, {5623,10203,2},{5623,10198,2},{5620,10197,2},{5620,10190,2},{5617,10195,2}, {5617,10185,2},{5615,10188,2},{5613,10178,2},{5612,10178,2},{5608,10187,2}, {5612,10190,2},{5617,10212,2},{5618,10212,2},{5620,10223,2},{5473,9092,130}, {5488,9092,2},{5503,9105,2},{5508,9115,2},{5508,9137,2},{5515,9153,2},{5517,9183,2}, {5520,9193,2},{5520,9203,2},{5525,9208,2},{5528,9205,2},{5528,9215,2},{5533,9222,2}, {5535,9225,2},{5547,9233,2},{5550,9240,2},{5545,9242,2},{5538,9237,2},{5533,9245,2}, {5537,9250,2},{5532,9250,2},{5530,9253,2},{5530,9262,2},{5527,9262,2},{5527,9257,2}, {5525,9255,2},{5527,9253,2},{5530,9250,2},{5530,9243,2},{5535,9235,2},{5533,9232,2}, {5527,9227,2},{5523,9220,2},{5520,9220,2},{5520,9213,2},{5517,9202,2},{5515,9190,2}, {5513,9187,2},{5512,9188,2},{5510,9188,2},{5512,9183,2},{5510,9172,2},{5505,9163,2}, {5508,9165,2},{5505,9137,2},{5502,9132,2},{5503,9132,2},{5505,9128,2},{5503,9115,2}, {5497,9103,2},{5492,9100,2},{5482,9097,2},{5470,9098,2},{5465,9097,2},{5453,9127,2}, {5447,9132,2},{5440,9132,2},{5437,9137,2},{5438,9143,2},{5438,9153,2},{5437,9155,2}, {5437,9158,2},{5438,9167,2},{5437,9173,2},{5433,9155,2},{5433,9152,2},{5438,9145,2}, {5435,9138,2},{5427,9150,2},{5417,9155,2},{5403,9158,2},{5397,9155,2},{5397,9160,2}, {5398,9165,2},{5400,9175,2},{5398,9180,2},{5395,9183,2},{5393,9178,2},{5395,9165,2}, {5392,9152,2},{5387,9145,2},{5377,9152,2},{5373,9152,2},{5378,9140,2},{5383,9142,2}, {5387,9138,2},{5390,9142,2},{5395,9142,2},{5400,9152,2},{5408,9153,2},{5408,9150,2}, {5410,9148,2},{5410,9143,2},{5413,9145,2},{5418,9138,2},{5425,9135,2},{5427,9132,2}, {5430,9128,2},{5432,9122,2},{5437,9125,2},{5442,9122,2},{5450,9123,2},{5457,9110,2}, {5462,9095,2},{5467,9087,2},{5472,9087,2},{5473,9092,2},{5392,8123,130}, {5397,8123,2},{5403,8128,2},{5408,8138,2},{5410,8148,2},{5415,8160,2},{5418,8165,2}, {5430,8173,2},{5435,8193,2},{5437,8193,2},{5437,8202,2},{5440,8212,2},{5452,8232,2}, {5463,8242,2},{5468,8263,2},{5478,8277,2},{5485,8300,2},{5483,8308,2},{5478,8310,2}, {5477,8318,2},{5478,8320,2},{5473,8327,2},{5470,8328,2},{5470,8325,2},{5473,8322,2}, {5478,8307,2},{5478,8305,2},{5470,8302,2},{5468,8295,2},{5465,8288,2},{5467,8285,2}, {5465,8277,2},{5455,8260,2},{5453,8247,2},{5450,8242,2},{5445,8232,2},{5443,8223,2}, {5435,8208,2},{5428,8175,2},{5423,8172,2},{5417,8168,2},{5412,8162,2},{5405,8143,2}, {5400,8135,2},{5403,8135,2},{5395,8132,2},{5388,8133,2},{5392,8130,2},{5400,8130,2}, {5397,8127,2},{5393,8128,2},{5388,8125,2},{5388,8123,2},{5393,8123,2},{4772,8423,130}, {4782,8408,2},{4787,8393,2},{4787,8385,2},{4790,8380,2},{4797,8377,2},{4797,8370,2}, {4802,8365,2},{4802,8353,2},{4807,8342,2},{4803,8335,2},{4805,8330,2},{4810,8320,2}, {4815,8317,2},{4815,8310,2},{4817,8305,2},{4823,8300,2},{4827,8303,2},{4822,8310,2}, {4825,8317,2},{4828,8327,2},{4825,8335,2},{4827,8348,2},{4833,8350,2},{4837,8355,2}, {4837,8360,2},{4842,8345,2},{4850,8338,2},{4857,8337,2},{4858,8342,2},{4865,8345,2}, {4877,8342,2},{4887,8345,2},{4895,8355,2},{4897,8363,2},{4903,8373,2},{4908,8402,2}, {4912,8415,2},{4915,8418,2},{4920,8418,2},{4925,8413,2},{4925,8412,2},{4935,8400,2}, {4938,8392,2},{4943,8387,2},{4945,8370,2},{4942,8365,2},{4948,8363,2},{4955,8352,2}, {4952,8348,2},{4953,8347,2},{4953,8343,2},{4957,8343,2},{4963,8337,2},{4962,8343,2}, {4958,8348,2},{4962,8358,2},{4958,8367,2},{4958,8373,2},{4963,8375,2},{4963,8378,2}, {4965,8382,2},{4972,8387,2},{4972,8397,2},{4973,8400,2},{4970,8397,2},{4968,8388,2}, {4962,8380,2},{4958,8378,2},{4955,8382,2},{4957,8372,2},{4955,8370,2},{4953,8373,2}, {4952,8368,2},{4950,8367,2},{4948,8380,2},{4948,8383,2},{4947,8382,2},{4945,8392,2}, {4940,8393,2},{4940,8398,2},{4928,8412,2},{4920,8430,2},{4920,8445,2},{4918,8448,2}, {4917,8442,2},{4917,8438,2},{4913,8435,2},{4912,8428,2},{4905,8400,2},{4900,8393,2}, {4900,8383,2},{4893,8367,2},{4893,8358,2},{4880,8348,2},{4872,8345,2},{4865,8352,2}, {4850,8353,2},{4845,8357,2},{4840,8363,2},{4838,8375,2},{4840,8378,2},{4842,8382,2}, {4840,8388,2},{4840,8395,2},{4840,8397,2},{4837,8393,2},{4835,8385,2},{4837,8377,2}, {4837,8368,2},{4830,8352,2},{4827,8350,2},{4825,8352,2},{4823,8357,2},{4822,8372,2}, {4813,8388,2},{4812,8400,2},{4808,8407,2},{4803,8410,2},{4807,8415,2},{4803,8422,2}, {4802,8435,2},{4800,8440,2},{4797,8445,2},{4793,8455,2},{4790,8445,2},{4785,8443,2}, {4782,8437,2},{4777,8438,2},{4775,8435,2},{4777,8423,2},{4773,8427,2},{4773,8435,2}, {4770,8430,2},{4773,8422,2},{5895,3812,130},{5888,3820,2},{5855,3872,2}, {5848,3892,2},{5850,3907,2},{5847,3897,2},{5843,3895,2},{5840,3897,2},{5833,3908,2}, {5835,3900,2},{5835,3892,2},{5833,3885,2},{5827,3880,2},{5818,3880,2},{5810,3885,2}, {5812,3878,2},{5818,3875,2},{5825,3858,2},{5823,3857,2},{5810,3870,2},{5812,3863,2}, {5808,3858,2},{5810,3855,2},{5813,3848,2},{5815,3840,2},{5810,3833,2},{5808,3832,2}, {5803,3842,2},{5802,3843,2},{5803,3835,2},{5803,3825,2},{5810,3823,2},{5822,3827,2}, {5825,3823,2},{5825,3813,2},{5825,3808,2},{5827,3810,2},{5832,3792,2},{5830,3790,2}, {5827,3792,2},{5827,3790,2},{5833,3785,2},{5840,3775,2},{5840,3772,2},{5843,3768,2}, {5843,3763,2},{5845,3765,2},{5848,3758,2},{5852,3755,2},{5852,3750,2},{5858,3748,2}, {5858,3743,2},{5863,3738,2},{5865,3732,2},{5870,3725,2},{5868,3715,2},{5868,3708,2}, {5872,3717,2},{5872,3722,2},{5877,3715,2},{5882,3713,2},{5882,3717,2},{5888,3712,2}, {5883,3720,2},{5877,3727,2},{5877,3733,2},{5872,3735,2},{5873,3748,2},{5867,3737,2}, {5862,3747,2},{5862,3752,2},{5863,3752,2},{5862,3757,2},{5858,3755,2},{5855,3757,2}, {5853,3763,2},{5855,3767,2},{5858,3770,2},{5860,3768,2},{5858,3763,2},{5862,3763,2}, {5863,3760,2},{5865,3762,2},{5865,3767,2},{5860,3773,2},{5863,3773,2},{5863,3777,2}, {5855,3793,2},{5852,3808,2},{5853,3810,2},{5858,3808,2},{5860,3805,2},{5860,3813,2}, {5862,3813,2},{5867,3802,2},{5867,3795,2},{5868,3802,2},{5870,3800,2},{5872,3792,2}, {5872,3795,2},{5875,3793,2},{5872,3802,2},{5872,3805,2},{5877,3805,2},{5880,3798,2}, {5888,3800,2},{5887,3797,2},{5883,3793,2},{5885,3790,2},{5888,3790,2},{5888,3785,2}, {5892,3785,2},{5895,3773,2},{5892,3768,2},{5892,3753,2},{5883,3753,2},{5882,3750,2}, {5887,3743,2},{5890,3748,2},{5895,3748,2},{5895,3755,2},{5898,3758,2},{5897,3763,2}, {5902,3773,2},{5903,3768,2},{5905,3770,2},{5908,3767,2},{5910,3770,2},{5912,3770,2}, {5918,3753,2},{5913,3773,2},{5915,3778,2},{5913,3783,2},{5913,3788,2},{5915,3793,2}, {5920,3798,2},{5920,3805,2},{5918,3800,2},{5913,3795,2},{5908,3815,2},{5910,3818,2}, {5915,3818,2},{5918,3817,2},{5920,3810,2},{5922,3812,2},{5922,3820,2},{5918,3818,2}, {5915,3827,2},{5913,3833,2},{5913,3837,2},{5920,3842,2},{5918,3845,2},{5908,3837,2}, {5908,3830,2},{5907,3832,2},{5907,3825,2},{5907,3820,2},{5905,3820,2},{5905,3813,2}, {5908,3810,2},{5912,3793,2},{5910,3787,2},{5908,3777,2},{5903,3792,2},{5905,3795,2}, {5898,3802,2},{5900,3807,2},{5893,3813,2},{4950,4355,130},{4948,4360,2}, {4938,4370,2},{4933,4372,2},{4928,4368,2},{4927,4372,2},{4923,4370,2},{4918,4375,2}, {4918,4378,2},{4923,4387,2},{4923,4392,2},{4920,4398,2},{4917,4403,2},{4913,4398,2}, {4910,4397,2},{4908,4395,2},{4903,4397,2},{4893,4390,2},{4892,4382,2},{4892,4365,2}, {4883,4362,2},{4880,4358,2},{4878,4352,2},{4875,4347,2},{4870,4348,2},{4865,4357,2}, {4865,4370,2},{4867,4373,2},{4867,4378,2},{4862,4368,2},{4858,4353,2},{4852,4350,2}, {4852,4362,2},{4850,4360,2},{4848,4345,2},{4843,4337,2},{4840,4337,2},{4833,4330,2}, {4828,4335,2},{4832,4327,2},{4828,4318,2},{4827,4315,2},{4822,4313,2},{4818,4315,2}, {4815,4312,2},{4808,4308,2},{4807,4312,2},{4805,4313,2},{4800,4325,2},{4800,4310,2}, {4795,4305,2},{4792,4305,2},{4782,4310,2},{4778,4308,2},{4768,4308,2},{4768,4307,2}, {4768,4303,2},{4777,4303,2},{4780,4305,2},{4785,4300,2},{4780,4295,2},{4777,4290,2}, {4777,4278,2},{4775,4267,2},{4768,4262,2},{4763,4252,2},{4760,4253,2},{4763,4245,2}, {4762,4240,2},{4760,4238,2},{4758,4240,2},{4757,4237,2},{4758,4235,2},{4758,4225,2}, {4757,4222,2},{4755,4223,2},{4753,4217,2},{4758,4215,2},{4760,4212,2},{4767,4212,2}, {4768,4213,2},{4772,4223,2},{4773,4225,2},{4778,4217,2},{4780,4220,2},{4778,4223,2}, {4780,4228,2},{4783,4227,2},{4785,4220,2},{4783,4232,2},{4785,4235,2},{4792,4237,2}, {4795,4228,2},{4798,4225,2},{4800,4222,2},{4795,4233,2},{4797,4238,2},{4800,4240,2}, {4800,4242,2},{4793,4243,2},{4792,4247,2},{4783,4245,2},{4780,4257,2},{4788,4280,2}, {4797,4287,2},{4793,4280,2},{4795,4280,2},{4800,4285,2},{4805,4283,2},{4815,4287,2}, {4817,4285,2},{4817,4277,2},{4818,4292,2},{4822,4290,2},{4822,4303,2},{4827,4307,2}, {4838,4310,2},{4847,4305,2},{4855,4292,2},{4855,4298,2},{4852,4302,2},{4850,4305,2}, {4853,4313,2},{4848,4310,2},{4845,4315,2},{4847,4317,2},{4845,4320,2},{4847,4327,2}, {4847,4333,2},{4853,4343,2},{4857,4343,2},{4862,4350,2},{4865,4352,2},{4870,4345,2}, {4878,4345,2},{4883,4355,2},{4885,4358,2},{4893,4365,2},{4893,4382,2},{4895,4387,2}, {4898,4390,2},{4908,4392,2},{4918,4398,2},{4920,4390,2},{4917,4378,2},{4918,4373,2}, {4920,4368,2},{4923,4368,2},{4925,4370,2},{4927,4365,2},{4933,4368,2},{4937,4368,2}, {4950,4355,2},{5208,4778,130},{5215,4782,2},{5218,4793,2},{5228,4802,2}, {5232,4808,2},{5252,4818,2},{5258,4820,2},{5267,4827,2},{5272,4837,2},{5277,4842,2}, {5287,4858,2},{5280,4853,2},{5275,4843,2},{5272,4842,2},{5268,4837,2},{5270,4850,2}, {5260,4827,2},{5247,4822,2},{5237,4813,2},{5232,4815,2},{5228,4810,2},{5225,4812,2}, {5222,4823,2},{5223,4828,2},{5222,4832,2},{5220,4823,2},{5222,4818,2},{5222,4808,2}, {5218,4802,2},{5213,4798,2},{5210,4795,2},{5208,4782,2},{5205,4773,2},{5208,4778,2}, {5468,4897,130},{5465,4897,2},{5465,4898,2},{5463,4915,2},{5460,4907,2}, {5462,4895,2},{5465,4892,2},{5463,4890,2},{5455,4888,2},{5455,4892,2},{5452,4892,2}, {5450,4883,2},{5447,4887,2},{5440,4888,2},{5445,4885,2},{5443,4880,2},{5447,4878,2}, {5445,4875,2},{5443,4860,2},{5440,4855,2},{5438,4853,2},{5437,4847,2},{5423,4852,2}, {5417,4858,2},{5415,4870,2},{5415,4880,2},{5413,4877,2},{5408,4885,2},{5408,4878,2}, {5407,4877,2},{5405,4883,2},{5398,4890,2},{5393,4900,2},{5395,4903,2},{5403,4917,2}, {5405,4922,2},{5408,4928,2},{5410,4932,2},{5410,4938,2},{5415,4942,2},{5413,4947,2}, {5415,4950,2},{5420,4958,2},{5420,4967,2},{5423,4973,2},{5423,4975,2},{5420,4972,2}, {5418,4972,2},{5415,4982,2},{5413,4977,2},{5415,4972,2},{5418,4963,2},{5417,4958,2}, {5415,4957,2},{5413,4955,2},{5412,4950,2},{5408,4945,2},{5408,4955,2},{5402,4937,2}, {5398,4942,2},{5398,4932,2},{5395,4928,2},{5397,4927,2},{5395,4922,2},{5390,4920,2}, {5378,4927,2},{5377,4928,2},{5378,4930,2},{5380,4933,2},{5378,4933,2},{5377,4935,2}, {5373,4940,2},{5370,4940,2},{5367,4937,2},{5368,4935,2},{5370,4935,2},{5375,4932,2}, {5372,4927,2},{5375,4927,2},{5383,4915,2},{5380,4908,2},{5370,4908,2},{5362,4903,2}, {5357,4905,2},{5352,4910,2},{5350,4920,2},{5347,4955,2},{5347,4987,2},{5343,4995,2}, {5345,4983,2},{5343,4978,2},{5345,4950,2},{5343,4942,2},{5340,4927,2},{5335,4923,2}, {5330,4927,2},{5327,4920,2},{5328,4910,2},{5327,4902,2},{5327,4882,2},{5337,4865,2}, {5337,4870,2},{5327,4888,2},{5328,4903,2},{5330,4907,2},{5332,4920,2},{5333,4922,2}, {5335,4918,2},{5337,4922,2},{5340,4923,2},{5342,4918,2},{5340,4912,2},{5338,4907,2}, {5342,4905,2},{5345,4893,2},{5345,4902,2},{5347,4905,2},{5350,4903,2},{5358,4888,2}, {5363,4885,2},{5375,4885,2},{5378,4890,2},{5382,4888,2},{5383,4890,2},{5382,4893,2}, {5383,4893,2},{5395,4887,2},{5402,4872,2},{5410,4862,2},{5410,4857,2},{5408,4853,2}, {5410,4852,2},{5410,4845,2},{5413,4845,2},{5417,4837,2},{5420,4837,2},{5437,4843,2}, {5440,4838,2},{5460,4842,2},{5465,4855,2},{5465,4882,2},{5468,4883,2},{5472,4878,2}, {5480,4882,2},{5487,4890,2},{5492,4885,2},{5500,4885,2},{5515,4923,2},{5515,4928,2}, {5518,4930,2},{5525,4920,2},{5530,4918,2},{5542,4902,2},{5545,4903,2},{5543,4907,2}, {5545,4907,2},{5548,4905,2},{5548,4907,2},{5545,4910,2},{5538,4917,2},{5538,4922,2}, {5533,4918,2},{5525,4928,2},{5528,4928,2},{5527,4933,2},{5528,4942,2},{5532,4942,2}, {5537,4930,2},{5540,4937,2},{5542,4932,2},{5545,4933,2},{5548,4930,2},{5552,4933,2}, {5557,4940,2},{5550,4933,2},{5537,4943,2},{5538,4957,2},{5537,4962,2},{5542,4970,2}, {5535,4987,2},{5537,4998,2},{5545,5002,2},{5545,5007,2},{5547,5012,2},{5545,5010,2}, {5545,5022,2},{5542,5028,2},{5542,5033,2},{5540,5035,2},{5545,5047,2},{5548,5050,2}, {5547,5050,2},{5545,5062,2},{5542,5063,2},{5552,5083,2},{5548,5097,2},{5547,5100,2}, {5548,5112,2},{5552,5120,2},{5548,5137,2},{5548,5138,2},{5548,5132,2},{5547,5142,2}, {5550,5148,2},{5553,5148,2},{5568,5138,2},{5572,5142,2},{5578,5138,2},{5580,5142,2}, {5578,5147,2},{5587,5147,2},{5580,5150,2},{5577,5143,2},{5575,5143,2},{5573,5148,2}, {5568,5143,2},{5560,5150,2},{5560,5155,2},{5563,5167,2},{5568,5172,2},{5572,5178,2}, {5568,5187,2},{5572,5195,2},{5572,5200,2},{5567,5187,2},{5567,5183,2},{5570,5180,2}, {5568,5175,2},{5555,5170,2},{5558,5162,2},{5557,5153,2},{5555,5153,2},{5552,5155,2}, {5545,5143,2},{5550,5118,2},{5547,5123,2},{5547,5112,2},{5545,5120,2},{5542,5123,2}, {5538,5123,2},{5533,5118,2},{5535,5113,2},{5538,5120,2},{5540,5122,2},{5545,5115,2}, {5543,5110,2},{5545,5098,2},{5548,5083,2},{5547,5080,2},{5542,5070,2},{5543,5077,2}, {5543,5078,2},{5540,5077,2},{5538,5072,2},{5540,5068,2},{5537,5063,2},{5537,5048,2}, {5537,5038,2},{5533,5037,2},{5533,5032,2},{5537,5027,2},{5537,5022,2},{5532,5012,2}, {5530,4993,2},{5532,4992,2},{5532,4990,2},{5525,4985,2},{5522,4975,2},{5517,4968,2}, {5518,4962,2},{5517,4963,2},{5513,4958,2},{5510,4960,2},{5512,4953,2},{5515,4953,2}, {5512,4945,2},{5505,4940,2},{5508,4947,2},{5507,4947,2},{5498,4938,2},{5502,4937,2}, {5503,4918,2},{5502,4917,2},{5500,4922,2},{5498,4922,2},{5498,4895,2},{5493,4892,2}, {5478,4895,2},{5480,4898,2},{5482,4903,2},{5480,4912,2},{5477,4917,2},{5478,4905,2}, {5477,4903,2},{5475,4903,2},{5468,4892,2},{5468,4897,2},{4852,4457,130}, {4858,4448,2},{4863,4448,2},{4870,4457,2},{4873,4463,2},{4892,4477,2},{4898,4485,2}, {4903,4488,2},{4917,4502,2},{4925,4498,2},{4942,4505,2},{4947,4513,2},{4953,4513,2}, {4960,4518,2},{4963,4528,2},{4972,4532,2},{4978,4538,2},{4985,4535,2},{4993,4537,2}, {5008,4547,2},{5013,4560,2},{5020,4567,2},{5020,4572,2},{5017,4577,2},{5020,4583,2}, {5023,4585,2},{5027,4593,2},{5025,4605,2},{5027,4612,2},{5028,4615,2},{5027,4618,2}, {5025,4617,2},{5025,4622,2},{5023,4620,2},{5020,4620,2},{5022,4623,2},{5025,4625,2}, {5022,4632,2},{5018,4632,2},{5017,4633,2},{5020,4637,2},{5022,4640,2},{5023,4633,2}, {5028,4638,2},{5030,4643,2},{5033,4642,2},{5035,4645,2},{5037,4643,2},{5035,4640,2}, {5035,4637,2},{5032,4637,2},{5030,4633,2},{5027,4628,2},{5028,4625,2},{5032,4625,2}, {5032,4613,2},{5032,4608,2},{5033,4603,2},{5030,4603,2},{5028,4585,2},{5035,4593,2}, {5042,4592,2},{5050,4587,2},{5055,4578,2},{5065,4572,2},{5072,4577,2},{5073,4573,2}, {5077,4583,2},{5075,4588,2},{5078,4590,2},{5077,4600,2},{5087,4607,2},{5092,4607,2}, {5097,4602,2},{5103,4605,2},{5115,4585,2},{5123,4587,2},{5132,4595,2},{5135,4600,2}, {5140,4600,2},{5143,4603,2},{5143,4598,2},{5147,4598,2},{5148,4603,2},{5152,4615,2}, {5158,4622,2},{5163,4633,2},{5167,4633,2},{5163,4625,2},{5172,4632,2},{5172,4638,2}, {5177,4648,2},{5172,4655,2},{5172,4660,2},{5172,4675,2},{5175,4680,2},{5175,4687,2}, {5182,4698,2},{5188,4703,2},{5183,4693,2},{5180,4683,2},{5173,4673,2},{5177,4667,2}, {5178,4652,2},{5180,4653,2},{5180,4660,2},{5183,4655,2},{5190,4657,2},{5180,4648,2}, {5178,4633,2},{5175,4628,2},{5177,4625,2},{5168,4625,2},{5165,4622,2},{5165,4618,2}, {5157,4617,2},{5148,4597,2},{5142,4595,2},{5138,4585,2},{5133,4580,2},{5127,4577,2}, {5115,4580,2},{5108,4583,2},{5103,4600,2},{5095,4597,2},{5088,4603,2},{5082,4590,2}, {5080,4578,2},{5077,4568,2},{5072,4563,2},{5060,4565,2},{5055,4573,2},{5042,4587,2}, {5032,4570,2},{5022,4563,2},{5017,4552,2},{5013,4548,2},{5008,4542,2},{4993,4533,2}, {4978,4533,2},{4965,4518,2},{4955,4512,2},{4952,4507,2},{4953,4503,2},{4955,4503,2}, {4957,4505,2},{4957,4500,2},{4953,4500,2},{4948,4502,2},{4950,4505,2},{4948,4508,2}, {4943,4503,2},{4938,4502,2},{4928,4495,2},{4918,4497,2},{4912,4488,2},{4907,4485,2}, {4893,4468,2},{4882,4463,2},{4870,4450,2},{4862,4443,2},{4857,4445,2},{4852,4452,2}, {4852,4457,2},{5752,4283,130},{5748,4282,2},{5748,4277,2},{5745,4278,2}, {5745,4268,2},{5742,4258,2},{5742,4272,2},{5742,4278,2},{5740,4282,2},{5727,4268,2}, {5730,4275,2},{5733,4278,2},{5735,4282,2},{5735,4285,2},{5737,4287,2},{5735,4293,2}, {5737,4298,2},{5735,4310,2},{5730,4310,2},{5722,4293,2},{5717,4290,2},{5718,4297,2}, {5717,4298,2},{5713,4305,2},{5708,4302,2},{5707,4307,2},{5703,4307,2},{5698,4318,2}, {5695,4320,2},{5693,4317,2},{5693,4312,2},{5697,4303,2},{5693,4302,2},{5693,4305,2}, {5690,4305,2},{5690,4312,2},{5688,4315,2},{5690,4318,2},{5690,4320,2},{5682,4323,2}, {5678,4327,2},{5675,4322,2},{5675,4325,2},{5672,4323,2},{5673,4313,2},{5673,4307,2}, {5672,4308,2},{5673,4313,2},{5672,4320,2},{5668,4325,2},{5667,4312,2},{5660,4305,2}, {5667,4317,2},{5665,4332,2},{5667,4343,2},{5673,4337,2},{5678,4337,2},{5680,4340,2}, {5682,4337,2},{5687,4338,2},{5687,4335,2},{5692,4330,2},{5693,4330,2},{5693,4337,2}, {5695,4340,2},{5695,4337,2},{5698,4337,2},{5697,4332,2},{5700,4323,2},{5703,4322,2}, {5705,4323,2},{5705,4318,2},{5713,4325,2},{5712,4322,2},{5705,4317,2},{5713,4313,2}, {5730,4322,2},{5735,4327,2},{5737,4327,2},{5740,4332,2},{5740,4337,2},{5743,4333,2}, {5747,4337,2},{5748,4335,2},{5757,4352,2},{5760,4352,2},{5760,4360,2},{5762,4357,2}, {5767,4363,2},{5772,4370,2},{5770,4363,2},{5763,4355,2},{5762,4348,2},{5757,4342,2}, {5752,4332,2},{5743,4328,2},{5742,4325,2},{5742,4320,2},{5745,4318,2},{5763,4320,2}, {5758,4317,2},{5748,4318,2},{5743,4315,2},{5742,4313,2},{5740,4303,2},{5738,4302,2}, {5738,4288,2},{5742,4282,2},{5747,4283,2},{5748,4287,2},{5752,4283,2},{5680,5408,130}, {5677,5408,2},{5680,5418,2},{5695,5423,2},{5695,5437,2},{5703,5457,2},{5700,5467,2}, {5703,5478,2},{5702,5485,2},{5705,5487,2},{5707,5495,2},{5708,5502,2},{5713,5505,2}, {5718,5505,2},{5727,5510,2},{5728,5507,2},{5732,5512,2},{5727,5527,2},{5732,5543,2}, {5730,5547,2},{5722,5555,2},{5723,5558,2},{5730,5555,2},{5735,5558,2},{5745,5552,2}, {5750,5557,2},{5755,5557,2},{5760,5552,2},{5760,5540,2},{5763,5540,2},{5768,5545,2}, {5772,5545,2},{5782,5523,2},{5787,5525,2},{5785,5518,2},{5783,5517,2},{5778,5525,2}, {5775,5528,2},{5773,5537,2},{5772,5538,2},{5770,5537,2},{5770,5530,2},{5765,5535,2}, {5760,5533,2},{5758,5542,2},{5757,5552,2},{5750,5552,2},{5743,5540,2},{5742,5548,2}, {5737,5552,2},{5733,5545,2},{5732,5533,2},{5737,5513,2},{5740,5508,2},{5735,5502,2}, {5735,5495,2},{5733,5500,2},{5730,5500,2},{5722,5495,2},{5715,5497,2},{5712,5495,2}, {5710,5490,2},{5712,5480,2},{5708,5478,2},{5707,5473,2},{5708,5467,2},{5710,5453,2}, {5712,5447,2},{5708,5447,2},{5702,5437,2},{5700,5420,2},{5695,5410,2},{5680,5410,2}, {5927,5625,130},{5932,5640,2},{5937,5648,2},{5938,5640,2},{5942,5638,2}, {5937,5655,2},{5938,5667,2},{5942,5668,2},{5943,5668,2},{5948,5658,2},{5955,5667,2}, {5960,5662,2},{5960,5667,2},{5965,5660,2},{5973,5655,2},{5977,5657,2},{5992,5637,2}, {5990,5643,2},{5987,5647,2},{5982,5657,2},{5973,5667,2},{5963,5665,2},{5960,5673,2}, {5955,5670,2},{5955,5673,2},{5947,5668,2},{5942,5673,2},{5935,5665,2},{5928,5672,2}, {5930,5663,2},{5927,5650,2},{5928,5642,2},{5925,5638,2},{5925,5628,2},{5922,5622,2}, {5917,5623,2},{5917,5632,2},{5913,5635,2},{5912,5627,2},{5912,5622,2},{5905,5620,2}, {5907,5625,2},{5905,5628,2},{5903,5630,2},{5905,5638,2},{5902,5632,2},{5898,5633,2}, {5895,5628,2},{5890,5630,2},{5892,5640,2},{5895,5645,2},{5893,5648,2},{5892,5667,2}, {5890,5665,2},{5885,5667,2},{5883,5670,2},{5885,5665,2},{5890,5657,2},{5888,5642,2}, {5883,5637,2},{5878,5633,2},{5877,5640,2},{5873,5642,2},{5877,5633,2},{5873,5630,2}, {5870,5625,2},{5868,5630,2},{5867,5622,2},{5860,5610,2},{5852,5628,2},{5848,5633,2}, {5850,5638,2},{5845,5638,2},{5842,5645,2},{5837,5645,2},{5835,5640,2},{5832,5640,2}, {5833,5627,2},{5832,5625,2},{5825,5638,2},{5820,5638,2},{5817,5635,2},{5818,5642,2}, {5817,5650,2},{5813,5657,2},{5813,5658,2},{5818,5655,2},{5817,5665,2},{5822,5662,2}, {5825,5667,2},{5820,5672,2},{5822,5672,2},{5825,5673,2},{5828,5677,2},{5830,5682,2}, {5832,5685,2},{5832,5688,2},{5827,5683,2},{5818,5685,2},{5817,5693,2},{5815,5700,2}, {5820,5705,2},{5817,5710,2},{5817,5705,2},{5812,5702,2},{5815,5690,2},{5813,5682,2}, {5817,5680,2},{5827,5678,2},{5823,5675,2},{5818,5675,2},{5820,5668,2},{5818,5667,2}, {5815,5668,2},{5815,5662,2},{5812,5667,2},{5807,5670,2},{5807,5673,2},{5803,5680,2}, {5800,5682,2},{5797,5678,2},{5797,5672,2},{5797,5667,2},{5795,5673,2},{5792,5670,2}, {5793,5677,2},{5792,5678,2},{5790,5680,2},{5788,5675,2},{5785,5683,2},{5782,5677,2}, {5780,5678,2},{5782,5685,2},{5775,5687,2},{5775,5683,2},{5768,5687,2},{5775,5678,2}, {5777,5685,2},{5778,5685,2},{5777,5677,2},{5778,5673,2},{5783,5673,2},{5785,5678,2}, {5785,5670,2},{5790,5673,2},{5788,5670,2},{5790,5667,2},{5793,5668,2},{5795,5663,2}, {5798,5665,2},{5800,5677,2},{5802,5678,2},{5805,5670,2},{5810,5662,2},{5817,5643,2}, {5815,5637,2},{5805,5630,2},{5817,5630,2},{5825,5635,2},{5828,5623,2},{5832,5620,2}, {5835,5623,2},{5837,5638,2},{5838,5642,2},{5842,5638,2},{5850,5625,2},{5847,5618,2}, {5853,5622,2},{5853,5613,2},{5847,5607,2},{5852,5605,2},{5850,5597,2},{5853,5600,2}, {5857,5598,2},{5863,5603,2},{5865,5602,2},{5860,5593,2},{5863,5590,2},{5860,5575,2}, {5860,5567,2},{5857,5563,2},{5858,5557,2},{5855,5548,2},{5857,5537,2},{5857,5548,2}, {5860,5555,2},{5860,5563,2},{5867,5592,2},{5877,5615,2},{5878,5600,2},{5880,5598,2}, {5880,5600,2},{5880,5607,2},{5877,5617,2},{5878,5622,2},{5882,5620,2},{5890,5608,2}, {5893,5612,2},{5893,5600,2},{5897,5583,2},{5897,5562,2},{5898,5558,2},{5900,5583,2}, {5898,5595,2},{5897,5603,2},{5895,5608,2},{5895,5620,2},{5898,5622,2},{5908,5612,2}, {5913,5618,2},{5923,5620,2},{5927,5625,2},{6032,3788,130},{6022,3802,2}, {6018,3802,2},{6010,3798,2},{6008,3798,2},{6007,3803,2},{6005,3778,2},{6005,3760,2}, {6008,3738,2},{6013,3725,2},{6018,3722,2},{6025,3728,2},{6030,3740,2},{6033,3755,2}, {6033,3772,2},{6032,3790,2},{3092,4672,130},{3092,4675,2},{3090,4675,2}, {3088,4677,2},{3092,4685,2},{3093,4688,2},{3092,4690,2},{3083,4703,2},{3085,4707,2}, {3085,4715,2},{3088,4718,2},{3088,4720,2},{3087,4723,2},{3083,4718,2},{3082,4722,2}, {3077,4723,2},{3077,4725,2},{3077,4730,2},{3075,4732,2},{3077,4735,2},{3078,4733,2}, {3087,4738,2},{3087,4747,2},{3080,4755,2},{3077,4750,2},{3077,4747,2},{3075,4745,2}, {3075,4757,2},{3072,4763,2},{3063,4767,2},{3060,4770,2},{3060,4767,2},{3065,4762,2}, {3060,4762,2},{3058,4767,2},{3057,4767,2},{3053,4760,2},{3057,4758,2},{3055,4757,2}, {3052,4757,2},{3052,4753,2},{3057,4747,2},{3055,4747,2},{3053,4745,2},{3057,4743,2}, {3065,4742,2},{3065,4723,2},{3070,4722,2},{3070,4718,2},{3073,4712,2},{3072,4695,2}, {3075,4697,2},{3077,4695,2},{3077,4692,2},{3078,4692,2},{3080,4690,2},{3078,4687,2}, {3073,4693,2},{3072,4692,2},{3070,4682,2},{3072,4675,2},{3070,4675,2},{3070,4672,2}, {3067,4667,2},{3067,4660,2},{3067,4658,2},{3072,4658,2},{3075,4660,2},{3075,4675,2}, {3077,4678,2},{3078,4670,2},{3082,4668,2},{3083,4665,2},{3087,4663,2},{3090,4667,2}, {3092,4672,2},{3823,4540,130},{3820,4545,2},{3812,4550,2},{3807,4550,2}, {3803,4547,2},{3803,4548,2},{3798,4548,2},{3797,4547,2},{3795,4547,2},{3793,4543,2}, {3790,4540,2},{3780,4542,2},{3777,4543,2},{3775,4548,2},{3773,4550,2},{3773,4553,2}, {3777,4553,2},{3777,4557,2},{3775,4568,2},{3770,4575,2},{3772,4575,2},{3768,4577,2}, {3767,4580,2},{3763,4578,2},{3765,4568,2},{3763,4565,2},{3760,4572,2},{3757,4572,2}, {3752,4580,2},{3747,4580,2},{3742,4587,2},{3738,4592,2},{3737,4592,2},{3737,4588,2}, {3737,4585,2},{3732,4582,2},{3728,4573,2},{3728,4572,2},{3732,4570,2},{3730,4567,2}, {3727,4562,2},{3720,4562,2},{3713,4558,2},{3712,4555,2},{3715,4552,2},{3713,4550,2}, {3712,4550,2},{3712,4547,2},{3718,4540,2},{3720,4535,2},{3735,4528,2},{3738,4532,2}, {3748,4530,2},{3750,4527,2},{3757,4528,2},{3760,4525,2},{3763,4527,2},{3767,4523,2}, {3770,4527,2},{3775,4527,2},{3783,4517,2},{3785,4507,2},{3795,4505,2},{3800,4508,2}, {3803,4518,2},{3805,4520,2},{3807,4518,2},{3812,4520,2},{3817,4517,2},{3812,4513,2}, {3815,4512,2},{3812,4505,2},{3813,4500,2},{3815,4500,2},{3820,4505,2},{3825,4505,2}, {3827,4510,2},{3827,4533,2},{3823,4540,2},{5728,3775,130},{5723,3785,2}, {5727,3790,2},{5730,3800,2},{5742,3813,2},{5748,3827,2},{5757,3830,2},{5750,3825,2}, {5758,3832,2},{5742,3810,2},{5732,3798,2},{5728,3787,2},{5727,3785,2},{5728,3778,2}, {5670,3637,130},{5663,3650,2},{5662,3650,2},{5660,3642,2},{5660,3635,2}, {5658,3630,2},{5658,3623,2},{5657,3617,2},{5650,3612,2},{5660,3657,2},{5668,3668,2}, {5670,3677,2},{5677,3677,2},{5677,3680,2},{5678,3682,2},{5677,3695,2},{5672,3698,2}, {5677,3702,2},{5670,3703,2},{5670,3707,2},{5673,3707,2},{5672,3712,2},{5673,3713,2}, {5675,3715,2},{5675,3713,2},{5678,3708,2},{5682,3707,2},{5680,3702,2},{5683,3700,2}, {5685,3693,2},{5682,3687,2},{5680,3675,2},{5677,3668,2},{5677,3673,2},{5672,3675,2}, {5662,3658,2},{5667,3655,2},{5670,3635,2},{5675,3635,2},{5757,4002,130}, {5758,4012,2},{5767,4018,2},{5772,4032,2},{5775,4037,2},{5777,4057,2},{5780,4060,2}, {5780,4067,2},{5782,4063,2},{5783,4065,2},{5788,4060,2},{5788,4055,2},{5792,4055,2}, {5792,4050,2},{5793,4047,2},{5793,4057,2},{5793,4058,2},{5793,4060,2},{5792,4063,2}, {5793,4067,2},{5797,4062,2},{5797,4063,2},{5798,4063,2},{5800,4072,2},{5800,4073,2}, {5795,4073,2},{5795,4083,2},{5802,4082,2},{5803,4088,2},{5802,4090,2},{5792,4087,2}, {5790,4090,2},{5790,4072,2},{5787,4073,2},{5787,4067,2},{5785,4065,2},{5782,4072,2}, {5782,4083,2},{5778,4092,2},{5767,4105,2},{5768,4115,2},{5762,4110,2},{5757,4113,2}, {5752,4120,2},{5748,4150,2},{5743,4165,2},{5747,4172,2},{5743,4182,2},{5743,4185,2}, {5752,4197,2},{5750,4208,2},{5747,4218,2},{5747,4225,2},{5750,4225,2},{5750,4228,2}, {5748,4230,2},{5742,4257,2},{5740,4250,2},{5743,4247,2},{5743,4242,2},{5745,4230,2}, {5743,4218,2},{5748,4205,2},{5748,4198,2},{5740,4180,2},{5737,4175,2},{5740,4175,2}, {5742,4178,2},{5743,4175,2},{5742,4162,2},{5748,4125,2},{5747,4120,2},{5743,4122,2}, {5745,4118,2},{5748,4118,2},{5748,4110,2},{5755,4103,2},{5752,4113,2},{5758,4107,2}, {5763,4105,2},{5768,4097,2},{5775,4093,2},{5777,4087,2},{5778,4077,2},{5778,4082,2}, {5780,4077,2},{5777,4060,2},{5772,4055,2},{5770,4055,2},{5775,4052,2},{5767,4035,2}, {5768,4032,2},{5763,4020,2},{5757,4017,2},{5548,4908,130},{5563,4902,2}, {5580,4908,2},{5578,4897,2},{5578,4887,2},{5582,4880,2},{5583,4838,2},{5588,4823,2}, {5593,4825,2},{5592,4822,2},{5592,4813,2},{5592,4808,2},{5597,4802,2},{5595,4800,2}, {5602,4793,2},{5615,4793,2},{5615,4788,2},{5617,4763,2},{5615,4753,2},{5618,4727,2}, {5617,4697,2},{5620,4683,2},{5633,4673,2},{5637,4657,2},{5637,4652,2},{5633,4647,2}, {5633,4642,2},{5628,4635,2},{5627,4617,2},{5618,4608,2},{5615,4597,2},{5618,4595,2}, {5622,4588,2},{5622,4583,2},{5620,4580,2},{5617,4577,2},{5615,4562,2},{5617,4557,2}, {5617,4550,2},{5608,4542,2},{5610,4537,2},{5617,4525,2},{5613,4517,2},{5610,4508,2}, {5610,4487,2},{5607,4473,2},{5607,4467,2},{5608,4458,2},{5612,4453,2},{5612,4447,2}, {5618,4438,2},{5620,4433,2},{5618,4423,2},{5628,4420,2},{5635,4410,2},{5635,4398,2}, {5642,4388,2},{5643,4373,2},{5657,4358,2},{5667,4343,2},{5667,4342,2},{5643,4370,2}, {5640,4387,2},{5632,4397,2},{5633,4402,2},{5632,4408,2},{5628,4415,2},{5622,4422,2}, {5618,4420,2},{5617,4423,2},{5617,4437,2},{5610,4445,2},{5610,4452,2},{5607,4458,2}, {5605,4467,2},{5607,4477,2},{5608,4485,2},{5608,4508,2},{5613,4517,2},{5615,4525,2}, {5608,4535,2},{5608,4542,2},{5610,4547,2},{5615,4552,2},{5613,4560,2},{5615,4577,2}, {5618,4582,2},{5620,4585,2},{5618,4592,2},{5613,4595,2},{5613,4597,2},{5618,4612,2}, {5625,4618,2},{5628,4637,2},{5635,4658,2},{5632,4672,2},{5620,4680,2},{5615,4692,2}, {5613,4698,2},{5617,4712,2},{5613,4750,2},{5612,4758,2},{5608,4758,2},{5607,4755,2}, {5603,4758,2},{5613,4763,2},{5612,4785,2},{5610,4790,2},{5602,4792,2},{5593,4797,2}, {5590,4807,2},{5588,4815,2},{5587,4808,2},{5587,4812,2},{5587,4817,2},{5582,4825,2}, {5580,4862,2},{5577,4858,2},{5575,4865,2},{5572,4857,2},{5562,4843,2},{5570,4858,2}, {5572,4868,2},{5570,4872,2},{5573,4872,2},{5575,4870,2},{5577,4873,2},{5577,4882,2}, {5575,4885,2},{5577,4888,2},{5575,4897,2},{5572,4898,2},{5560,4895,2},{5548,4905,2}, {4725,4023,130},{4722,4018,2},{4725,4017,2},{4723,4008,2},{4725,4000,2}, {4722,3995,2},{4720,3972,2},{4718,3957,2},{4713,3953,2},{4712,3938,2},{4710,3938,2}, {4710,3945,2},{4712,3950,2},{4713,3955,2},{4717,3958,2},{4718,3972,2},{4720,3985,2}, {4720,3995,2},{4722,4000,2},{4722,4007,2},{4723,4013,2},{4722,4015,2},{4720,4020,2}, {4702,4740,130},{4700,4748,2},{4695,4758,2},{4687,4755,2},{4683,4757,2}, {4683,4760,2},{4685,4770,2},{4683,4773,2},{4677,4777,2},{4672,4783,2},{4655,4792,2}, {4652,4800,2},{4645,4795,2},{4642,4797,2},{4638,4802,2},{4635,4800,2},{4637,4803,2}, {4643,4798,2},{4648,4803,2},{4653,4803,2},{4658,4793,2},{4672,4788,2},{4675,4783,2}, {4677,4778,2},{4685,4775,2},{4687,4770,2},{4685,4762,2},{4685,4758,2},{4693,4762,2}, {4702,4753,2},{4703,4748,2},{4702,4740,2},{6200,4513,130},{6203,4507,2}, {6210,4510,2},{6220,4500,2},{6223,4483,2},{6230,4475,2},{6232,4470,2},{6235,4460,2}, {6233,4445,2},{6233,4430,2},{6237,4413,2},{6240,4392,2},{6250,4380,2},{6258,4363,2}, {6277,4308,2},{6290,4263,2},{6293,4260,2},{6302,4258,2},{6305,4248,2},{6305,4227,2}, {6310,4203,2},{6323,4200,2},{6330,4205,2},{6345,4183,2},{6357,4188,2},{6360,4175,2}, {6363,4172,2},{6365,4152,2},{6370,4148,2},{6375,4138,2},{6380,4143,2},{6387,4162,2}, {6392,4160,2},{6395,4167,2},{6402,4173,2},{6405,4168,2},{6413,4172,2},{6417,4175,2}, {6417,4187,2},{6427,4183,2},{6430,4175,2},{6430,4158,2},{6433,4145,2},{6435,4118,2}, {6437,4105,2},{6445,4088,2},{6453,4053,2},{6457,4053,2},{6457,4060,2},{6452,4072,2}, {6448,4087,2},{6438,4112,2},{6435,4152,2},{6428,4185,2},{6415,4193,2},{6413,4177,2}, {6407,4175,2},{6402,4178,2},{6390,4163,2},{6385,4163,2},{6378,4145,2},{6375,4143,2}, {6365,4157,2},{6367,4172,2},{6358,4192,2},{6345,4188,2},{6328,4208,2},{6322,4203,2}, {6310,4210,2},{6307,4230,2},{6307,4247,2},{6305,4255,2},{6302,4263,2},{6293,4265,2}, {6290,4268,2},{6282,4305,2},{6260,4363,2},{6248,4388,2},{6240,4395,2},{6238,4417,2}, {6235,4428,2},{6235,4467,2},{6232,4477,2},{6225,4487,2},{6223,4500,2},{6208,4513,2}, {6200,4512,2},{6613,6565,130},{6622,6585,2},{6635,6618,2},{6642,6623,2}, {6650,6638,2},{6662,6645,2},{6665,6652,2},{6665,6667,2},{6657,6707,2},{6658,6718,2}, {6663,6725,2},{6665,6730,2},{6665,6747,2},{6660,6758,2},{6658,6790,2},{6653,6807,2}, {6653,6818,2},{6663,6845,2},{6668,6853,2},{6665,6833,2},{6667,6827,2},{6668,6828,2}, {6672,6842,2},{6675,6842,2},{6675,6857,2},{6677,6853,2},{6677,6863,2},{6680,6873,2}, {6680,6897,2},{6678,6900,2},{6677,6880,2},{6677,6875,2},{6672,6865,2},{6660,6850,2}, {6652,6827,2},{6648,6805,2},{6650,6797,2},{6655,6785,2},{6657,6762,2},{6662,6745,2}, {6663,6733,2},{6653,6717,2},{6652,6708,2},{6662,6667,2},{6662,6653,2},{6660,6650,2}, {6650,6652,2},{6643,6637,2},{6633,6627,2},{6627,6615,2},{6620,6588,2},{6613,6577,2}, {6302,6510,130},{6300,6508,2},{6297,6512,2},{6292,6528,2},{6287,6538,2}, {6280,6540,2},{6277,6545,2},{6268,6565,2},{6258,6575,2},{6248,6595,2},{6248,6608,2}, {6243,6638,2},{6237,6650,2},{6230,6653,2},{6228,6657,2},{6227,6688,2},{6223,6708,2}, {6220,6718,2},{6212,6733,2},{6205,6738,2},{6190,6745,2},{6183,6758,2},{6172,6758,2}, {6167,6765,2},{6165,6772,2},{6165,6783,2},{6158,6810,2},{6150,6823,2},{6145,6837,2}, {6135,6840,2},{6127,6832,2},{6122,6830,2},{6120,6832,2},{6118,6843,2},{6110,6857,2}, {6110,6878,2},{6117,6885,2},{6120,6892,2},{6122,6895,2},{6120,6902,2},{6123,6913,2}, {6120,6925,2},{6123,6928,2},{6125,6938,2},{6128,6942,2},{6130,6950,2},{6127,6960,2}, {6128,6967,2},{6128,6977,2},{6127,6988,2},{6123,6995,2},{6123,7015,2},{6128,7023,2}, {6128,7035,2},{6132,7045,2},{6128,7057,2},{6127,7082,2},{6132,7095,2},{6128,7100,2}, {6127,7117,2},{6120,7122,2},{6120,7125,2},{6125,7143,2},{6123,7157,2},{6128,7170,2}, {6125,7213,2},{6130,7223,2},{6132,7230,2},{6130,7250,2},{6122,7260,2},{6127,7283,2}, {6123,7295,2},{6125,7305,2},{6125,7325,2},{6122,7338,2},{6125,7353,2},{6123,7358,2}, {6118,7367,2},{6125,7382,2},{6120,7390,2},{6118,7408,2},{6120,7420,2},{6123,7430,2}, {6122,7435,2},{6117,7438,2},{6115,7442,2},{6122,7442,2},{6123,7445,2},{6122,7455,2}, {6120,7460,2},{6122,7472,2},{6117,7480,2},{6117,7497,2},{6112,7508,2},{6112,7513,2}, {6117,7520,2},{6112,7530,2},{6112,7548,2},{6107,7552,2},{6100,7565,2},{6102,7572,2}, {6107,7585,2},{6103,7592,2},{6103,7603,2},{6100,7618,2},{6095,7620,2},{6095,7630,2}, {6088,7643,2},{6093,7653,2},{6093,7662,2},{6085,7670,2},{6085,7680,2},{6078,7683,2}, {6078,7690,2},{6073,7702,2},{6073,7717,2},{6065,7735,2},{6065,7740,2},{6070,7750,2}, {6070,7757,2},{6062,7773,2},{6052,7777,2},{6048,7785,2},{6043,7793,2},{6040,7805,2}, {6040,7808,2},{6043,7823,2},{6040,7837,2},{6035,7842,2},{6028,7832,2},{6030,7840,2}, {6030,7847,2},{6025,7852,2},{6022,7850,2},{6022,7858,2},{6015,7873,2},{6013,7892,2}, {6012,7892,2},{6008,7885,2},{6007,7895,2},{6003,7905,2},{6000,7903,2},{5997,7895,2}, {5987,7903,2},{5978,7920,2},{5970,7915,2},{5962,7923,2},{5958,7930,2},{5952,7935,2}, {5952,7942,2},{5953,7947,2},{5953,7952,2},{5945,7967,2},{5940,7968,2},{5943,7975,2}, {5945,7983,2},{5942,7997,2},{5945,8007,2},{5942,8010,2},{5938,8022,2},{5935,8022,2}, {5933,8012,2},{5932,8013,2},{5928,8025,2},{5932,8030,2},{5933,8035,2},{5935,8043,2}, {5933,8052,2},{5927,8057,2},{5923,8053,2},{5923,8060,2},{5917,8062,2},{5917,8072,2}, {5913,8075,2},{5912,8083,2},{5908,8087,2},{5908,8098,2},{5908,8102,2},{5912,8102,2}, {5913,8107,2},{5912,8125,2},{5905,8132,2},{5900,8143,2},{5895,8143,2},{5895,8148,2}, {5893,8153,2},{5890,8153,2},{5887,8152,2},{5883,8162,2},{5882,8165,2},{5877,8165,2}, {5873,8153,2},{5873,8162,2},{5870,8168,2},{5875,8170,2},{5875,8173,2},{5870,8180,2}, {5868,8192,2},{5860,8192,2},{5858,8217,2},{5855,8222,2},{5852,8220,2},{5850,8227,2}, {5845,8232,2},{5842,8247,2},{5838,8243,2},{5835,8245,2},{5838,8257,2},{5833,8263,2}, {5830,8265,2},{5830,8268,2},{5832,8275,2},{5832,8285,2},{5830,8300,2},{5827,8300,2}, {5823,8292,2},{5817,8295,2},{5813,8308,2},{5813,8317,2},{5812,8323,2},{5803,8323,2}, {5792,8335,2},{5785,8332,2},{5783,8340,2},{5773,8348,2},{5770,8368,2},{5773,8375,2}, {5775,8380,2},{5773,8387,2},{5770,8387,2},{5762,8380,2},{5757,8388,2},{5750,8388,2}, {5747,8395,2},{5735,8397,2},{5732,8403,2},{5728,8403,2},{5730,8410,2},{5727,8418,2}, {5727,8428,2},{5725,8437,2},{5722,8440,2},{5715,8437,2},{5715,8445,2},{5712,8448,2}, {5707,8443,2},{5700,8440,2},{5690,8445,2},{5677,8442,2},{5672,8437,2},{5665,8425,2}, {5652,8415,2},{5648,8408,2},{5638,8405,2},{5633,8408,2},{5630,8400,2},{5633,8407,2}, {5640,8402,2},{5652,8407,2},{5653,8412,2},{5668,8423,2},{5673,8435,2},{5680,8440,2}, {5690,8442,2},{5698,8437,2},{5708,8440,2},{5712,8445,2},{5713,8433,2},{5720,8437,2}, {5723,8435,2},{5725,8425,2},{5725,8417,2},{5728,8412,2},{5727,8400,2},{5732,8398,2}, {5733,8392,2},{5745,8393,2},{5750,8383,2},{5755,8385,2},{5760,8377,2},{5772,8383,2}, {5773,8380,2},{5772,8375,2},{5768,8370,2},{5773,8342,2},{5782,8337,2},{5785,8328,2}, {5792,8332,2},{5803,8318,2},{5810,8317,2},{5815,8295,2},{5820,8288,2},{5825,8288,2}, {5827,8295,2},{5830,8295,2},{5830,8273,2},{5827,8267,2},{5830,8262,2},{5833,8260,2}, {5837,8255,2},{5833,8242,2},{5838,8240,2},{5842,8242,2},{5843,8230,2},{5848,8225,2}, {5850,8217,2},{5855,8215,2},{5857,8212,2},{5857,8190,2},{5862,8187,2},{5867,8188,2}, {5867,8178,2},{5873,8173,2},{5872,8170,2},{5867,8168,2},{5872,8148,2},{5875,8148,2}, {5877,8153,2},{5878,8163,2},{5880,8163,2},{5885,8148,2},{5892,8150,2},{5892,8143,2}, {5895,8140,2},{5900,8140,2},{5902,8130,2},{5910,8122,2},{5912,8108,2},{5912,8107,2}, {5907,8105,2},{5907,8102,2},{5907,8085,2},{5908,8082,2},{5910,8080,2},{5912,8072,2}, {5913,8068,2},{5915,8070,2},{5915,8058,2},{5920,8058,2},{5920,8052,2},{5923,8047,2}, {5927,8052,2},{5932,8048,2},{5932,8037,2},{5925,8027,2},{5932,8007,2},{5935,8007,2}, {5937,8015,2},{5942,8005,2},{5940,7997,2},{5943,7980,2},{5942,7975,2},{5938,7970,2}, {5938,7965,2},{5943,7962,2},{5950,7952,2},{5950,7947,2},{5948,7945,2},{5950,7932,2}, {5957,7927,2},{5960,7920,2},{5968,7910,2},{5978,7915,2},{5985,7898,2},{5997,7890,2}, {5998,7890,2},{6003,7898,2},{6005,7885,2},{6008,7880,2},{6012,7887,2},{6012,7873,2}, {6020,7857,2},{6020,7847,2},{6022,7845,2},{6027,7848,2},{6028,7843,2},{6025,7830,2}, {6030,7828,2},{6035,7837,2},{6038,7837,2},{6042,7822,2},{6038,7810,2},{6038,7805,2}, {6043,7788,2},{6047,7783,2},{6048,7773,2},{6057,7768,2},{6060,7768,2},{6067,7755,2}, {6067,7750,2},{6062,7740,2},{6065,7727,2},{6072,7717,2},{6070,7700,2},{6075,7692,2}, {6077,7682,2},{6082,7678,2},{6083,7667,2},{6092,7658,2},{6087,7640,2},{6092,7628,2}, {6093,7618,2},{6093,7615,2},{6097,7615,2},{6098,7612,2},{6102,7600,2},{6100,7592,2}, {6103,7585,2},{6098,7572,2},{6098,7565,2},{6103,7552,2},{6108,7545,2},{6110,7530,2}, {6113,7522,2},{6110,7513,2},{6110,7508,2},{6113,7497,2},{6115,7478,2},{6118,7468,2}, {6117,7460,2},{6120,7447,2},{6118,7445,2},{6115,7447,2},{6113,7443,2},{6115,7435,2}, {6120,7428,2},{6117,7417,2},{6115,7408,2},{6118,7390,2},{6122,7382,2},{6117,7372,2}, {6117,7367,2},{6122,7352,2},{6120,7337,2},{6122,7323,2},{6122,7313,2},{6123,7305,2}, {6122,7295,2},{6123,7282,2},{6120,7263,2},{6122,7255,2},{6127,7247,2},{6130,7230,2}, {6123,7218,2},{6123,7197,2},{6125,7190,2},{6123,7182,2},{6125,7172,2},{6123,7167,2}, {6122,7153,2},{6122,7143,2},{6117,7127,2},{6118,7118,2},{6123,7117,2},{6125,7110,2}, {6128,7093,2},{6125,7083,2},{6125,7050,2},{6128,7045,2},{6127,7037,2},{6125,7025,2}, {6122,7022,2},{6122,7013,2},{6122,6990,2},{6125,6985,2},{6127,6973,2},{6123,6960,2}, {6128,6948,2},{6123,6942,2},{6122,6933,2},{6118,6930,2},{6117,6925,2},{6122,6912,2}, {6118,6895,2},{6112,6890,2},{6110,6897,2},{6107,6898,2},{6102,6900,2},{6100,6905,2}, {6097,6932,2},{6095,6938,2},{6095,6947,2},{6088,6952,2},{6085,6958,2},{6070,6968,2}, {6068,6985,2},{6065,6988,2},{6058,6983,2},{6052,6977,2},{6043,6983,2},{6035,6977,2}, {6035,6985,2},{6023,6990,2},{6022,6987,2},{6022,6982,2},{6020,6982,2},{6012,6970,2}, {6010,6972,2},{6013,6977,2},{6012,6982,2},{6007,6987,2},{6002,6993,2},{5997,6992,2}, {5993,6993,2},{5990,6987,2},{5982,6995,2},{5980,6992,2},{5983,6982,2},{5982,6978,2}, {5977,6978,2},{5973,6977,2},{5975,6957,2},{5965,6947,2},{5963,6932,2},{5955,6932,2}, {5953,6923,2},{5955,6910,2},{5950,6912,2},{5943,6905,2},{5943,6900,2},{5943,6890,2}, {5942,6895,2},{5938,6897,2},{5933,6890,2},{5928,6887,2},{5925,6882,2},{5917,6883,2}, {5918,6890,2},{5917,6893,2},{5917,6895,2},{5913,6893,2},{5910,6885,2},{5902,6892,2}, {5898,6887,2},{5902,6878,2},{5902,6877,2},{5895,6888,2},{5893,6888,2},{5892,6885,2}, {5892,6877,2},{5890,6875,2},{5888,6880,2},{5887,6880,2},{5885,6870,2},{5882,6878,2}, {5877,6877,2},{5873,6868,2},{5877,6860,2},{5863,6857,2},{5862,6863,2},{5857,6860,2}, {5852,6865,2},{5850,6865,2},{5848,6853,2},{5850,6842,2},{5847,6842,2},{5845,6835,2}, {5840,6837,2},{5835,6833,2},{5833,6830,2},{5832,6817,2},{5828,6823,2},{5823,6825,2}, {5817,6822,2},{5815,6827,2},{5817,6822,2},{5818,6820,2},{5827,6822,2},{5832,6813,2}, {5833,6813,2},{5837,6830,2},{5840,6833,2},{5847,6833,2},{5852,6838,2},{5850,6853,2}, {5852,6862,2},{5855,6855,2},{5860,6860,2},{5863,6855,2},{5875,6858,2},{5880,6855,2}, {5880,6863,2},{5875,6870,2},{5880,6875,2},{5882,6875,2},{5883,6867,2},{5885,6867,2}, {5887,6877,2},{5888,6870,2},{5890,6868,2},{5895,6877,2},{5893,6885,2},{5895,6887,2}, {5898,6873,2},{5902,6872,2},{5905,6873,2},{5903,6880,2},{5900,6885,2},{5902,6888,2}, {5910,6882,2},{5917,6890,2},{5915,6882,2},{5917,6880,2},{5923,6882,2},{5927,6878,2}, {5930,6885,2},{5935,6887,2},{5938,6893,2},{5940,6893,2},{5945,6887,2},{5947,6903,2}, {5950,6908,2},{5955,6907,2},{5957,6908,2},{5957,6928,2},{5963,6927,2},{5968,6945,2}, {5977,6955,2},{5975,6975,2},{5985,6977,2},{5983,6992,2},{5992,6982,2},{5995,6990,2}, {6003,6990,2},{6010,6978,2},{6008,6972,2},{6008,6967,2},{6010,6965,2},{6015,6967,2}, {6022,6977,2},{6023,6977,2},{6025,6987,2},{6032,6983,2},{6033,6975,2},{6037,6973,2}, {6038,6973,2},{6043,6978,2},{6053,6973,2},{6065,6983,2},{6067,6972,2},{6068,6963,2}, {6075,6962,2},{6080,6955,2},{6083,6955,2},{6087,6947,2},{6093,6943,2},{6092,6940,2}, {6093,6935,2},{6095,6932,2},{6093,6922,2},{6098,6913,2},{6098,6903,2},{6102,6897,2}, {6107,6895,2},{6108,6893,2},{6107,6882,2},{6107,6853,2},{6113,6843,2},{6117,6830,2}, {6123,6823,2},{6130,6825,2},{6138,6835,2},{6142,6833,2},{6148,6822,2},{6153,6800,2}, {6160,6788,2},{6162,6778,2},{6162,6768,2},{6168,6755,2},{6173,6752,2},{6182,6753,2}, {6190,6740,2},{6205,6732,2},{6215,6720,2},{6218,6712,2},{6223,6690,2},{6223,6673,2}, {6227,6665,2},{6227,6652,2},{6237,6645,2},{6242,6635,2},{6247,6590,2},{6253,6578,2}, {6268,6558,2},{6275,6540,2},{6287,6530,2},{6290,6523,2},{6292,6515,2},{6300,6502,2}, {6302,6503,2},{6308,6492,2},{6313,6490,2},{6320,6500,2},{6332,6497,2},{6338,6505,2}, {6342,6520,2},{6345,6525,2},{6352,6518,2},{6357,6520,2},{6363,6515,2},{6368,6517,2}, {6370,6522,2},{6370,6533,2},{6373,6533,2},{6377,6530,2},{6385,6532,2},{6387,6540,2}, {6392,6552,2},{6403,6560,2},{6413,6555,2},{6417,6555,2},{6422,6545,2},{6428,6550,2}, {6432,6540,2},{6438,6542,2},{6442,6533,2},{6447,6540,2},{6453,6540,2},{6457,6535,2}, {6462,6525,2},{6465,6522,2},{6475,6523,2},{6483,6517,2},{6488,6523,2},{6493,6513,2}, {6495,6505,2},{6498,6497,2},{6505,6498,2},{6508,6488,2},{6522,6482,2},{6527,6473,2}, {6535,6472,2},{6542,6473,2},{6550,6465,2},{6557,6478,2},{6565,6483,2},{6573,6500,2}, {6583,6510,2},{6587,6518,2},{6592,6545,2},{6597,6545,2},{6607,6560,2},{6612,6565,2}, {6612,6567,2},{6608,6580,2},{6605,6587,2},{6585,6582,2},{6570,6565,2},{6558,6558,2}, {6542,6557,2},{6535,6542,2},{6530,6537,2},{6525,6527,2},{6508,6520,2},{6502,6530,2}, {6500,6545,2},{6502,6558,2},{6502,6563,2},{6497,6563,2},{6490,6547,2},{6482,6552,2}, {6473,6545,2},{6470,6550,2},{6463,6573,2},{6462,6572,2},{6460,6562,2},{6458,6558,2}, {6448,6573,2},{6445,6582,2},{6437,6585,2},{6433,6592,2},{6425,6582,2},{6422,6597,2}, {6413,6602,2},{6413,6588,2},{6412,6583,2},{6408,6585,2},{6408,6580,2},{6407,6577,2}, {6398,6578,2},{6395,6575,2},{6392,6580,2},{6387,6573,2},{6378,6585,2},{6378,6568,2}, {6377,6565,2},{6370,6573,2},{6363,6570,2},{6355,6575,2},{6352,6568,2},{6352,6560,2}, {6348,6555,2},{6347,6542,2},{6342,6550,2},{6335,6548,2},{6332,6540,2},{6327,6522,2}, {6320,6517,2},{6308,6515,2},{6303,6505,2},{6302,6503,130},{6308,6492,2}, {6313,6490,2},{6320,6500,2},{6332,6497,2},{6338,6505,2},{6342,6520,2},{6345,6525,2}, {6352,6518,2},{6357,6520,2},{6363,6515,2},{6368,6517,2},{6370,6522,2},{6370,6533,2}, {6373,6533,2},{6377,6530,2},{6385,6532,2},{6387,6540,2},{6392,6552,2},{6403,6560,2}, {6413,6555,2},{6417,6555,2},{6422,6545,2},{6428,6550,2},{6432,6540,2},{6438,6542,2}, {6442,6533,2},{6447,6540,2},{6453,6540,2},{6457,6535,2},{6462,6525,2},{6465,6522,2}, {6475,6523,2},{6483,6517,2},{6488,6523,2},{6493,6513,2},{6495,6505,2},{6498,6497,2}, {6505,6498,2},{6508,6488,2},{6522,6482,2},{6527,6473,2},{6535,6472,2},{6542,6473,2}, {6550,6465,2},{6557,6478,2},{6565,6483,2},{6573,6500,2},{6583,6510,2},{6587,6518,2}, {6592,6545,2},{6597,6545,2},{6607,6560,2},{6612,6565,2},{6612,6567,2},{6608,6580,2}, {6605,6587,2},{6585,6582,2},{6570,6565,2},{6558,6558,2},{6542,6557,2},{6535,6542,2}, {6530,6537,2},{6525,6527,2},{6508,6520,2},{6502,6530,2},{6500,6545,2},{6502,6558,2}, {6502,6563,2},{6497,6563,2},{6490,6547,2},{6482,6552,2},{6473,6545,2},{6470,6550,2}, {6463,6573,2},{6462,6572,2},{6460,6562,2},{6458,6558,2},{6448,6573,2},{6445,6582,2}, {6437,6585,2},{6433,6592,2},{6425,6582,2},{6422,6597,2},{6413,6602,2},{6413,6588,2}, {6412,6583,2},{6408,6585,2},{6408,6580,2},{6407,6577,2},{6398,6578,2},{6395,6575,2}, {6392,6580,2},{6387,6573,2},{6378,6585,2},{6378,6568,2},{6377,6565,2},{6370,6573,2}, {6363,6570,2},{6355,6575,2},{6352,6568,2},{6352,6560,2},{6348,6555,2},{6347,6542,2}, {6342,6550,2},{6335,6548,2},{6332,6540,2},{6327,6522,2},{6320,6517,2},{6308,6515,2}, {6303,6505,2},{6438,9208,130},{6440,9200,2},{6442,9185,2},{6445,9173,2}, {6447,9140,2},{6448,9127,2},{6455,9105,2},{6458,9092,2},{6470,9080,2},{6473,9073,2}, {6477,9058,2},{6477,9040,2},{6487,9027,2},{6497,9025,2},{6503,9017,2},{6507,9013,2}, {6508,9002,2},{6512,8997,2},{6517,8998,2},{6528,8993,2},{6543,8993,2},{6553,8998,2}, {6562,8998,2},{6568,8983,2},{6568,8973,2},{6573,8965,2},{6575,8948,2},{6578,8938,2}, {6587,8925,2},{6590,8912,2},{6593,8903,2},{6595,8888,2},{6592,8858,2},{6587,8845,2}, {6580,8837,2},{6583,8822,2},{6580,8815,2},{6578,8802,2},{6577,8807,2},{6567,8810,2}, {6555,8807,2},{6542,8800,2},{6530,8800,2},{6522,8792,2},{6513,8795,2},{6497,8783,2}, {6480,8783,2},{6472,8777,2},{6467,8763,2},{6443,8757,2},{6437,8762,2},{6430,8762,2}, {6408,8755,2},{6398,8765,2},{6393,8763,2},{6383,8753,2},{6370,8737,2},{6368,8735,2}, {6362,8742,2},{6348,8737,2},{6340,8727,2},{6337,8727,2},{6328,8763,2},{6320,8788,2}, {6308,8812,2},{6293,8820,2},{6287,8843,2},{6280,8850,2},{6275,8848,2},{6262,8862,2}, {6250,8880,2},{6245,8902,2},{6240,8905,2},{6237,8902,2},{6228,8900,2},{6242,8900,2}, {6248,8880,2},{6262,8857,2},{6273,8843,2},{6278,8847,2},{6283,8843,2},{6292,8818,2}, {6308,8803,2},{6317,8785,2},{6322,8768,2},{6327,8753,2},{6333,8730,2},{6337,8722,2}, {6342,8722,2},{6350,8733,2},{6358,8735,2},{6372,8732,2},{6395,8760,2},{6398,8760,2}, {6408,8750,2},{6437,8757,2},{6450,8747,2},{6463,8750,2},{6470,8760,2},{6473,8768,2}, {6485,8777,2},{6497,8777,2},{6508,8787,2},{6520,8785,2},{6533,8793,2},{6548,8793,2}, {6560,8802,2},{6570,8802,2},{6575,8797,2},{6577,8777,2},{6593,8768,2},{6595,8773,2}, {6597,8790,2},{6602,8792,2},{6607,8788,2},{6612,8730,2},{6617,8722,2},{6622,8718,2}, {6627,8720,2},{6632,8745,2},{6635,8748,2},{6637,8748,2},{6640,8728,2},{6658,8687,2}, {6660,8673,2},{6658,8665,2},{6653,8642,2},{6655,8625,2},{6658,8622,2},{6672,8635,2}, {6675,8660,2},{6678,8668,2},{6682,8670,2},{6695,8660,2},{6710,8662,2},{6723,8648,2}, {6733,8653,2},{6740,8652,2},{6742,8650,2},{6742,8642,2},{6743,8637,2},{6753,8630,2}, {6760,8620,2},{6780,8633,2},{6787,8650,2},{6788,8652,2},{6792,8652,2},{6795,8640,2}, {6803,8628,2},{6812,8637,2},{6822,8655,2},{6825,8657,2},{6830,8652,2},{6832,8642,2}, {6835,8635,2},{6842,8628,2},{6847,8625,2},{6855,8630,2},{6870,8620,2},{6873,8607,2}, {6883,8585,2},{6888,8582,2},{6893,8582,2},{6903,8602,2},{6910,8607,2},{6915,8603,2}, {6922,8575,2},{6928,8572,2},{6933,8578,2},{6940,8602,2},{6945,8605,2},{6960,8572,2}, {6965,8543,2},{6973,8532,2},{6977,8513,2},{6975,8495,2},{6968,8472,2},{6957,8442,2}, {6957,8422,2},{6960,8413,2},{6970,8403,2},{6973,8393,2},{6973,8358,2},{6975,8348,2}, {6987,8332,2},{6985,8338,2},{6988,8343,2},{7002,8333,2},{7005,8322,2},{7007,8308,2}, {7008,8318,2},{7007,8342,2},{7002,8350,2},{6997,8355,2},{6993,8365,2},{6987,8372,2}, {6983,8390,2},{6978,8392,2},{6972,8412,2},{6970,8437,2},{6965,8445,2},{6978,8480,2}, {6982,8532,2},{6980,8547,2},{6973,8568,2},{6962,8580,2},{6953,8595,2},{6945,8620,2}, {6938,8615,2},{6933,8603,2},{6928,8602,2},{6923,8593,2},{6915,8612,2},{6912,8615,2}, {6905,8613,2},{6887,8598,2},{6878,8607,2},{6870,8627,2},{6865,8635,2},{6857,8640,2}, {6843,8637,2},{6837,8643,2},{6832,8658,2},{6825,8663,2},{6817,8655,2},{6810,8645,2}, {6807,8643,2},{6795,8652,2},{6787,8663,2},{6783,8657,2},{6778,8642,2},{6768,8632,2}, {6760,8628,2},{6752,8640,2},{6747,8640,2},{6748,8660,2},{6747,8667,2},{6743,8668,2}, {6740,8667,2},{6728,8672,2},{6720,8667,2},{6715,8675,2},{6710,8677,2},{6703,8673,2}, {6698,8677,2},{6690,8672,2},{6678,8678,2},{6673,8675,2},{6662,8633,2},{6658,8633,2}, {6657,8642,2},{6658,8650,2},{6663,8667,2},{6663,8682,2},{6660,8697,2},{6657,8702,2}, {6650,8718,2},{6648,8723,2},{6643,8728,2},{6638,8753,2},{6635,8757,2},{6628,8757,2}, {6625,8752,2},{6620,8733,2},{6617,8732,2},{6613,8740,2},{6612,8757,2},{6612,8787,2}, {6608,8798,2},{6598,8800,2},{6585,8783,2},{6580,8788,2},{6580,8802,2},{6585,8815,2}, {6583,8825,2},{6582,8832,2},{6593,8848,2},{6595,8857,2},{6597,8887,2},{6597,8903,2}, {6592,8917,2},{6590,8925,2},{6580,8943,2},{6577,8965,2},{6567,8998,2},{6560,9005,2}, {6545,8998,2},{6528,9000,2},{6522,9005,2},{6512,9002,2},{6505,9022,2},{6495,9032,2}, {6490,9032,2},{6480,9045,2},{6478,9058,2},{6473,9082,2},{6458,9095,2},{6455,9117,2}, {6450,9128,2},{6447,9138,2},{6448,9152,2},{6447,9173,2},{6443,9183,2},{6442,9197,2}, {6438,9207,2},{4338,4002,131},{4340,3992,3},{4350,3987,3},{4357,3972,3}, {4362,3968,3},{4365,3962,3},{4392,3930,3},{4403,3910,3},{4415,3897,3},{4417,3887,3}, {4427,3875,3},{4433,3860,3},{4435,3833,3},{4438,3828,3},{4438,3820,3},{4442,3815,3}, {4448,3812,3},{4452,3805,3},{4455,3807,3},{4457,3803,3},{4455,3800,3},{4460,3793,3}, {4463,3793,3},{4467,3788,3},{4470,3787,3},{4473,3778,3},{4467,3782,3},{4463,3782,3}, {4463,3775,3},{4467,3763,3},{4465,3757,3},{4467,3748,3},{4472,3743,3},{4473,3738,3}, {4485,3732,3},{4487,3730,3},{4490,3732,3},{4498,3720,3},{4510,3685,3},{4510,3670,3}, {4513,3662,3},{4518,3658,3},{4520,3658,3},{4520,3670,3},{4522,3675,3},{4523,3677,3}, {4523,3683,3},{4527,3697,3},{4532,3697,3},{4530,3678,3},{4533,3677,3},{4535,3675,3}, {4535,3677,3},{4535,3678,3},{4532,3680,3},{4533,3682,3},{4537,3685,3},{4537,3682,3}, {4538,3677,3},{4533,3670,3},{4533,3667,3},{4542,3675,3},{4543,3683,3},{4533,3713,3}, {4530,3710,3},{4527,3712,3},{4527,3707,3},{4525,3707,3},{4523,3708,3},{4523,3712,3}, {4525,3723,3},{4527,3725,3},{4528,3732,3},{4530,3717,3},{4532,3715,3},{4533,3717,3}, {4533,3737,3},{4530,3738,3},{4537,3752,3},{4533,3750,3},{4535,3755,3},{4533,3760,3}, {4530,3760,3},{4530,3757,3},{4530,3762,3},{4533,3763,3},{4530,3765,3},{4532,3767,3}, {4530,3773,3},{4533,3770,3},{4537,3773,3},{4540,3777,3},{4538,3772,3},{4542,3773,3}, {4545,3770,3},{4545,3775,3},{4548,3768,3},{4557,3770,3},{4558,3765,3},{4560,3763,3}, {4557,3762,3},{4555,3767,3},{4555,3763,3},{4552,3765,3},{4550,3763,3},{4545,3765,3}, {4543,3763,3},{4542,3762,3},{4543,3758,3},{4563,3758,3},{4567,3762,3},{4565,3763,3}, {4563,3762,3},{4562,3770,3},{4567,3767,3},{4573,3780,3},{4577,3783,3},{4583,3788,3}, {4598,3792,3},{4603,3793,3},{4605,3802,3},{4607,3807,3},{4605,3810,3},{4602,3803,3}, {4603,3807,3},{4597,3803,3},{4595,3807,3},{4593,3808,3},{4590,3807,3},{4583,3800,3}, {4582,3805,3},{4585,3805,3},{4588,3808,3},{4603,3813,3},{4605,3817,3},{4612,3817,3}, {4613,3823,3},{4603,3843,3},{4602,3847,3},{4603,3857,3},{4610,3857,3},{4622,3830,3}, {4627,3827,3},{4635,3817,3},{4640,3808,3},{4640,3800,3},{4638,3797,3},{4637,3802,3}, {4635,3800,3},{4640,3790,3},{4648,3782,3},{4667,3773,3},{4662,3785,3},{4662,3802,3}, {4668,3812,3},{4668,3820,3},{4673,3827,3},{4668,3830,3},{4665,3838,3},{4663,3847,3}, {4665,3858,3},{4668,3860,3},{4670,3857,3},{4673,3850,3},{4675,3842,3},{4673,3838,3}, {4672,3838,3},{4675,3837,3},{4677,3840,3},{4683,3842,3},{4687,3848,3},{4683,3855,3}, {4688,3878,3},{4695,3887,3},{4695,3893,3},{4700,3903,3},{4703,3908,3},{4700,3910,3}, {4702,3917,3},{4700,3927,3},{4708,3930,3},{4712,3938,3},{4713,3933,3},{4708,3927,3}, {4713,3927,3},{4715,3925,3},{4718,3925,3},{4720,3928,3},{4725,3927,3},{4728,3908,3}, {4725,3903,3},{4725,3895,3},{4722,3893,3},{4718,3893,3},{4718,3888,3},{4717,3885,3}, {4715,3875,3},{4713,3862,3},{4713,3855,3},{4712,3855,3},{4713,3848,3},{4722,3855,3}, {4725,3878,3},{4728,3882,3},{4725,3878,3},{4723,3857,3},{4717,3847,3},{4713,3845,3}, {4713,3830,3},{4712,3823,3},{4713,3823,3},{4718,3823,3},{4723,3827,3},{4725,3833,3}, {4730,3832,3},{4730,3823,3},{4732,3823,3},{4737,3827,3},{4738,3830,3},{4742,3832,3}, {4747,3830,3},{4753,3830,3},{4757,3833,3},{4762,3838,3},{4762,3847,3},{4763,3845,3}, {4763,3853,3},{4765,3863,3},{4770,3868,3},{4768,3877,3},{4770,3878,3},{4775,3878,3}, {4782,3880,3},{4782,3883,3},{4787,3883,3},{4787,3887,3},{4787,3895,3},{4787,3903,3}, {4783,3912,3},{4785,3920,3},{4787,3928,3},{4788,3937,3},{4785,3943,3},{4787,3947,3}, {4783,3953,3},{4783,3957,3},{4783,3965,3},{4783,3975,3},{4788,3978,3},{4793,3980,3}, {4800,3982,3},{4805,3982,3},{4808,3988,3},{4813,3990,3},{4818,3995,3},{4822,3995,3}, {4823,4002,3},{4827,4002,3},{4832,3998,3},{4830,3993,3},{4832,3985,3},{4835,3992,3}, {4838,3992,3},{4843,3990,3},{4847,3985,3},{4850,3985,3},{4852,3987,3},{4858,3983,3}, {4858,3977,3},{4860,3968,3},{4863,3968,3},{4868,3972,3},{4873,3972,3},{4878,3977,3}, {4883,3980,3},{4890,3983,3},{4893,3978,3},{4900,3972,3},{4905,3967,3},{4907,3970,3}, {4905,3978,3},{4907,3987,3},{4907,3993,3},{4908,3995,3},{4912,3998,3},{4918,4003,3}, {4918,4008,3},{4923,4013,3},{4925,4020,3},{4932,4018,3},{4940,4017,3},{4945,4017,3}, {4950,4022,3},{4957,4022,3},{4962,4015,3},{4962,4005,3},{4960,3997,3},{4957,3990,3}, {4957,3980,3},{4962,3968,3},{4967,3963,3},{4973,3962,3},{4975,3958,3},{4977,3947,3}, {4975,3935,3},{4977,3927,3},{4985,3922,3},{4988,3917,3},{4983,3910,3},{4982,3903,3}, {4982,3895,3},{4987,3893,3},{4987,3885,3},{4990,3878,3},{4993,3870,3},{4998,3870,3}, {4998,3868,3},{4997,3865,3},{4998,3862,3},{4997,3853,3},{5000,3847,3},{5000,3837,3}, {5003,3837,3},{5008,3833,3},{5008,3830,3},{5008,3828,3},{5007,3820,3},{5005,3820,3}, {4997,3822,3},{4993,3815,3},{4993,3812,3},{4992,3805,3},{4995,3802,3},{4997,3802,3}, {5000,3795,3},{5005,3792,3},{5005,3787,3},{5008,3780,3},{5013,3772,3},{5018,3765,3}, {5025,3763,3},{5030,3763,3},{5030,3762,3},{5033,3753,3},{5038,3747,3},{5043,3747,3}, {5043,3743,3},{5043,3735,3},{5038,3728,3},{5035,3717,3},{5035,3710,3},{5035,3700,3}, {5035,3693,3},{5032,3680,3},{5027,3668,3},{5023,3662,3},{5028,3657,3},{5030,3660,3}, {5030,3652,3},{5033,3643,3},{5030,3632,3},{5035,3630,3},{5037,3627,3},{5042,3622,3}, {5043,3618,3},{5045,3607,3},{5045,3598,3},{5043,3582,3},{5040,3580,3},{5037,3570,3}, {5038,3562,3},{5045,3560,3},{5048,3553,3},{5052,3547,3},{5060,3542,3},{5060,3543,3}, {5065,3542,3},{5067,3550,3},{5072,3548,3},{5078,3548,3},{5082,3542,3},{5088,3538,3}, {5093,3540,3},{5095,3535,3},{5102,3533,3},{5103,3542,3},{5107,3542,3},{5107,3530,3}, {5105,3528,3},{5105,3522,3},{5110,3518,3},{5115,3513,3},{5122,3513,3},{5122,3505,3}, {5123,3497,3},{5120,3490,3},{5118,3482,3},{5118,3475,3},{5120,3468,3},{5125,3465,3}, {5125,3463,3},{5125,3455,3},{5123,3445,3},{5127,3438,3},{5125,3430,3},{5125,3427,3}, {5132,3432,3},{5138,3432,3},{5137,3428,3},{5140,3422,3},{5145,3427,3},{5152,3430,3}, {5157,3427,3},{5160,3420,3},{5163,3413,3},{5168,3413,3},{5170,3425,3},{5172,3433,3}, {5173,3445,3},{5177,3445,3},{5183,3443,3},{5185,3438,3},{5185,3427,3},{5192,3425,3}, {5192,3422,3},{5197,3413,3},{5202,3410,3},{5208,3408,3},{5208,3412,3},{5213,3413,3}, {5215,3408,3},{5218,3407,3},{5222,3400,3},{5225,3393,3},{5230,3392,3},{5230,3387,3}, {5237,3382,3},{5235,3370,3},{5233,3362,3},{5230,3355,3},{5235,3352,3},{5235,3350,3}, {5235,3345,3},{5237,3338,3},{5235,3330,3},{5238,3320,3},{5233,3313,3},{5230,3305,3}, {5227,3298,3},{5225,3290,3},{5228,3283,3},{5225,3280,3},{5225,3270,3},{5227,3268,3}, {5232,3258,3},{5232,3247,3},{5233,3237,3},{5230,3237,3},{5225,3238,3},{5218,3235,3}, {5213,3237,3},{5210,3230,3},{5208,3223,3},{5205,3213,3},{5205,3205,3},{5203,3197,3}, {5203,3195,3},{5208,3193,3},{5210,3190,3},{5210,3180,3},{5212,3180,3},{5218,3178,3}, {5220,3172,3},{5222,3172,3},{5227,3170,3},{5227,3168,3},{5230,3162,3},{5237,3163,3}, {5242,3162,3},{5247,3162,3},{5252,3160,3},{5253,3163,3},{5253,3167,3},{5257,3167,3}, {5258,3158,3},{5263,3157,3},{5270,3153,3},{5273,3162,3},{5280,3158,3},{5285,3155,3}, {5287,3147,3},{5295,3138,3},{5300,3132,3},{5303,3125,3},{5303,3130,3},{5303,3132,3}, {5308,3135,3},{5310,3138,3},{5315,3138,3},{5320,3143,3},{5320,3147,3},{5320,3150,3}, {5318,3158,3},{5322,3163,3},{5322,3168,3},{5317,3178,3},{5312,3185,3},{5312,3190,3}, {5308,3197,3},{5308,3207,3},{5308,3215,3},{5310,3218,3},{5310,3223,3},{5313,3230,3}, {5318,3237,3},{5318,3242,3},{5323,3248,3},{5328,3253,3},{5330,3257,3},{5333,3265,3}, {5333,3273,3},{5335,3273,3},{5340,3277,3},{5347,3277,3},{5347,3265,3},{5350,3263,3}, {5348,3260,3},{5352,3260,3},{5355,3252,3},{5358,3245,3},{5365,3245,3},{5365,3242,3}, {5368,3250,3},{5373,3247,3},{5373,3237,3},{5377,3230,3},{5378,3222,3},{5380,3215,3}, {5380,3205,3},{5380,3197,3},{5378,3187,3},{5380,3180,3},{5380,3177,3},{5382,3178,3}, {5383,3178,3},{5388,3182,3},{5393,3185,3},{5398,3187,3},{5403,3190,3},{5407,3182,3}, {5412,3178,3},{5412,3168,3},{5413,3167,3},{5413,3157,3},{5417,3150,3},{5420,3148,3}, {5423,3140,3},{5425,3132,3},{5432,3132,3},{5437,3130,3},{5442,3128,3},{5447,3123,3}, {5448,3120,3},{5450,3110,3},{5455,3113,3},{5458,3118,3},{5467,3120,3},{5467,3118,3}, {5467,3108,3},{5468,3100,3},{5470,3102,3},{5473,3093,3},{5478,3085,3},{5480,3077,3}, {5483,3077,3},{5488,3083,3},{5495,3087,3},{5497,3095,3},{5500,3097,3},{5503,3093,3}, {5503,3102,3},{5510,3100,3},{5515,3102,3},{5517,3098,3},{5518,3098,3},{5520,3095,3}, {5525,3092,3},{5528,3085,3},{5533,3083,3},{5535,3088,3},{5540,3093,3},{5545,3090,3}, {5550,3095,3},{5557,3097,3},{5562,3093,3},{5563,3085,3},{5560,3077,3},{5565,3072,3}, {5565,3068,3},{5570,3065,3},{5573,3062,3},{5577,3052,3},{5582,3047,3},{5582,3037,3}, {5585,3028,3},{5587,3020,3},{5583,3010,3},{5585,3000,3},{5585,2990,3},{5582,2983,3}, {5578,2978,3},{5578,2977,3},{5580,2975,3},{5580,2972,3},{5578,2962,3},{5572,2957,3}, {5570,2948,3},{5573,2945,3},{5575,2937,3},{5578,2937,3},{5583,2940,3},{5588,2942,3}, {5593,2947,3},{5597,2938,3},{5598,2927,3},{5602,2917,3},{5605,2910,3},{5603,2900,3}, {5600,2892,3},{5595,2885,3},{5597,2880,3},{5598,2872,3},{5603,2870,3},{5610,2867,3}, {5612,2855,3},{5608,2845,3},{5605,2837,3},{5605,2832,3},{5608,2828,3},{5613,2823,3}, {5617,2815,3},{5617,2818,3},{5623,2820,3},{5632,2822,3},{5638,2817,3},{5640,2818,3}, {5647,2815,3},{5652,2810,3},{5658,2813,3},{5662,2803,3},{5667,2802,3},{5672,2797,3}, {5677,2793,3},{5682,2798,3},{5683,2795,3},{5683,2792,3},{5687,2785,3},{5687,2777,3}, {5685,2767,3},{5687,2768,3},{5692,2768,3},{5692,2772,3},{5698,2773,3},{5703,2773,3}, {5708,2775,3},{5710,2772,3},{5712,2775,3},{5717,2782,3},{5722,2785,3},{5727,2787,3}, {5732,2783,3},{5735,2777,3},{5738,2768,3},{5742,2762,3},{5743,2752,3},{5747,2752,3}, {5748,2755,3},{5753,2753,3},{5753,2742,3},{5755,2732,3},{5760,2737,3},{5765,2738,3}, {5770,2742,3},{5772,2753,3},{5775,2753,3},{5780,2750,3},{5782,2755,3},{5783,2765,3}, {5783,2775,3},{5787,2783,3},{5792,2780,3},{5792,2775,3},{5795,2768,3},{5800,2770,3}, {5800,2765,3},{5802,2767,3},{5803,2765,3},{5803,2773,3},{5802,2778,3},{5798,2780,3}, {5795,2790,3},{5793,2790,3},{5792,2785,3},{5790,2792,3},{5785,2795,3},{5787,2808,3}, {5785,2813,3},{5792,2818,3},{5797,2813,3},{5800,2815,3},{5807,2805,3},{5812,2803,3}, {5815,2797,3},{5817,2795,3},{5817,2785,3},{5818,2780,3},{5817,2775,3},{5815,2765,3}, {5813,2762,3},{5817,2760,3},{5817,2758,3},{5818,2760,3},{5823,2758,3},{5823,2752,3}, {5832,2753,3},{5830,2765,3},{5835,2763,3},{5847,2778,3},{5843,2777,3},{5843,2780,3}, {5848,2785,3},{5857,2783,3},{5867,2777,3},{5885,2780,3},{5890,2772,3},{5895,2772,3}, {5898,2773,3},{5903,2777,3},{5910,2778,3},{5915,2783,3},{5918,2788,3},{5923,2790,3}, {5927,2797,3},{5928,2807,3},{5932,2818,3},{5933,2818,3},{5940,2822,3},{5943,2813,3}, {5947,2805,3},{5955,2807,3},{5960,2807,3},{5970,2800,3},{5977,2802,3},{5980,2808,3}, {5975,2818,3},{5968,2822,3},{5967,2837,3},{5970,2842,3},{5982,2843,3},{5985,2850,3}, {5987,2853,3},{5983,2858,3},{5982,2867,3},{5978,2870,3},{5978,2873,3},{5980,2878,3}, {5978,2883,3},{5982,2888,3},{5983,2898,3},{5990,2903,3},{5993,2898,3},{5993,2903,3}, {5997,2905,3},{5998,2910,3},{6000,2920,3},{5993,2977,3},{5987,3003,3},{5987,3015,3}, {5988,3022,3},{5995,3020,3},{5997,3025,3},{5998,3022,3},{6002,2995,3},{6008,2990,3}, {6013,2988,3},{6018,2977,3},{6020,2955,3},{6017,2942,3},{6017,2917,3},{6018,2902,3}, {6025,2897,3},{6032,2883,3},{6037,2882,3},{6033,2878,3},{6038,2860,3},{6043,2858,3}, {6057,2843,3},{6055,2850,3},{6052,2853,3},{6045,2868,3},{6047,2872,3},{6057,2867,3}, {6058,2865,3},{6060,2862,3},{6057,2860,3},{6060,2855,3},{6063,2858,3},{6062,2863,3}, {6062,2868,3},{6067,2865,3},{6067,2873,3},{6072,2873,3},{6073,2867,3},{6068,2858,3}, {6067,2840,3},{6062,2838,3},{6062,2832,3},{6060,2833,3},{6060,2828,3},{6057,2823,3}, {6053,2822,3},{6055,2815,3},{6053,2815,3},{6053,2807,3},{6052,2805,3},{6053,2792,3}, {6052,2790,3},{6057,2785,3},{6072,2810,3},{6077,2815,3},{6080,2827,3},{6087,2835,3}, {6095,2852,3},{6097,2863,3},{6103,2870,3},{6110,2882,3},{6125,2922,3},{6137,2937,3}, {6143,2948,3},{6148,2953,3},{6152,2965,3},{6160,2982,3},{6165,2983,3},{6173,2998,3}, {6198,3033,3},{6217,3063,3},{6220,3065,3},{6230,3093,3},{6237,3098,3},{6245,3115,3}, {6247,3117,3},{6250,3127,3},{6262,3132,3},{6265,3138,3},{6280,3147,3},{6292,3158,3}, {6293,3153,3},{6298,3152,3},{6312,3128,3},{6322,3122,3},{6332,3097,3},{6335,3092,3}, {6340,3078,3},{6348,3048,3},{6355,3040,3},{6360,3025,3},{6373,3000,3},{6375,3002,3}, {6382,3027,3},{6392,3035,3},{6402,3055,3},{6408,3062,3},{6418,3055,3},{6422,3058,3}, {6425,3057,3},{6425,3045,3},{6432,3038,3},{6435,3015,3},{6440,3005,3},{6447,3008,3}, {6452,3005,3},{6458,3007,3},{6463,3018,3},{6467,3022,3},{6473,3012,3},{6477,3013,3}, {6480,3005,3},{6480,2980,3},{6492,2965,3},{6500,2960,3},{6507,2963,3},{6512,2987,3}, {6515,2982,3},{6518,2987,3},{6522,2985,3},{6522,2963,3},{6525,2960,3},{6535,2975,3}, {6552,2975,3},{6557,2987,3},{6563,2972,3},{6568,3002,3},{6567,3012,3},{6572,3013,3}, {6583,3010,3},{6598,2998,3},{6613,2992,3},{6632,2963,3},{6650,2955,3},{6658,2943,3}, {6670,2933,3},{6683,2910,3},{6692,2908,3},{6702,2913,3},{6730,2953,3},{6752,2993,3}, {6757,2998,3},{6767,2998,3},{6770,3003,3},{6782,2970,3},{6808,2935,3},{6820,2870,3}, {6853,2845,3},{6873,2875,3},{6885,2882,3},{6888,2873,3},{6887,2848,3},{6890,2843,3}, {6892,2845,3},{6903,2885,3},{6905,2895,3},{6903,2900,3},{6903,2912,3},{6912,2925,3}, {6925,2932,3},{6932,2932,3},{6938,2968,3},{6943,2982,3},{6943,2995,3},{6950,3010,3}, {6955,3013,3},{6958,3018,3},{6963,3015,3},{6963,3007,3},{6965,3007,3},{6967,3015,3}, {6963,3030,3},{6955,3052,3},{6953,3080,3},{6955,3092,3},{6958,3095,3},{6968,3095,3}, {6970,3090,3},{6978,3080,3},{6980,3088,3},{6975,3127,3},{6972,3140,3},{6968,3140,3}, {6962,3130,3},{6968,3143,3},{6970,3145,3},{6968,3153,3},{6970,3153,3},{6968,3180,3}, {6970,3180,3},{6973,3168,3},{6980,3172,3},{6983,3173,3},{6985,3182,3},{6980,3202,3}, {6977,3205,3},{6978,3207,3},{6978,3210,3},{6990,3198,3},{6992,3192,3},{6997,3193,3}, {6995,3208,3},{6988,3225,3},{6988,3235,3},{6985,3250,3},{6980,3250,3},{6978,3258,3}, {6978,3265,3},{6980,3270,3},{6975,3310,3},{6973,3313,3},{6965,3312,3},{6962,3305,3}, {6958,3287,3},{6963,3248,3},{6965,3243,3},{6963,3237,3},{6965,3217,3},{6972,3218,3}, {6975,3212,3},{6967,3210,3},{6965,3197,3},{6963,3207,3},{6957,3202,3},{6960,3213,3}, {6957,3228,3},{6958,3238,3},{6957,3243,3},{6953,3240,3},{6950,3250,3},{6950,3242,3}, {6943,3228,3},{6943,3218,3},{6943,3228,3},{6947,3242,3},{6948,3245,3},{6948,3253,3}, {6950,3255,3},{6948,3258,3},{6948,3262,3},{6950,3267,3},{6948,3287,3},{6947,3290,3}, {6945,3280,3},{6942,3278,3},{6947,3290,3},{6947,3308,3},{6935,3283,3},{6930,3282,3}, {6932,3287,3},{6930,3290,3},{6938,3297,3},{6940,3308,3},{6945,3332,3},{6943,3335,3}, {6945,3345,3},{6942,3352,3},{6940,3350,3},{6937,3342,3},{6937,3350,3},{6935,3348,3}, {6930,3337,3},{6930,3328,3},{6927,3323,3},{6927,3325,3},{6928,3340,3},{6927,3347,3}, {6925,3343,3},{6923,3330,3},{6923,3340,3},{6922,3340,3},{6920,3342,3},{6922,3353,3}, {6918,3352,3},{6915,3340,3},{6910,3327,3},{6908,3312,3},{6907,3303,3},{6895,3302,3}, {6905,3307,3},{6910,3343,3},{6913,3345,3},{6915,3350,3},{6920,3357,3},{6932,3358,3}, {6933,3372,3},{6932,3375,3},{6930,3372,3},{6932,3378,3},{6930,3387,3},{6933,3385,3}, {6933,3395,3},{6932,3408,3},{6932,3435,3},{6930,3442,3},{6928,3442,3},{6927,3460,3}, {6925,3467,3},{6923,3498,3},{6918,3497,3},{6922,3503,3},{6922,3510,3},{6918,3518,3}, {6922,3527,3},{6927,3515,3},{6927,3533,3},{6917,3598,3},{6912,3607,3},{6913,3608,3}, {6910,3625,3},{6907,3627,3},{6905,3633,3},{6902,3660,3},{6895,3675,3},{6883,3723,3}, {6880,3723,3},{6878,3737,3},{6873,3745,3},{6873,3758,3},{6865,3782,3},{6855,3803,3}, {6850,3807,3},{6848,3820,3},{6847,3822,3},{6843,3833,3},{6840,3840,3},{6833,3840,3}, {6835,3845,3},{6828,3877,3},{6837,3850,3},{6837,3852,3},{6835,3860,3},{6838,3860,3}, {6838,3862,3},{6832,3878,3},{6830,3893,3},{6828,3895,3},{6827,3893,3},{6813,3937,3}, {6807,3952,3},{6803,3985,3},{6812,3978,3},{6817,3970,3},{6817,3973,3},{6817,3978,3}, {6810,3993,3},{6803,3998,3},{6800,4008,3},{6795,4013,3},{6793,4027,3},{6790,4028,3}, {6790,4037,3},{6785,4042,3},{6783,4032,3},{6775,4048,3},{6775,4055,3},{6780,4057,3}, {6782,4067,3},{6778,4068,3},{6772,4082,3},{6773,4092,3},{6772,4100,3},{6763,4105,3}, {6755,4098,3},{6753,4102,3},{6747,4100,3},{6747,4108,3},{6742,4115,3},{6725,4112,3}, {6723,4113,3},{6722,4125,3},{6723,4132,3},{6720,4137,3},{6715,4133,3},{6712,4138,3}, {6708,4133,3},{6702,4137,3},{6700,4133,3},{6700,4127,3},{6695,4130,3},{6683,4122,3}, {6678,4113,3},{6658,4073,3},{6653,4072,3},{6650,4060,3},{6645,4057,3},{6640,4045,3}, {6633,4018,3},{6628,4007,3},{6623,3985,3},{6620,3973,3},{6618,3953,3},{6613,3935,3}, {6612,3925,3},{6610,3893,3},{6608,3883,3},{6605,3855,3},{6608,3797,3},{6613,3760,3}, {6620,3740,3},{6625,3715,3},{6627,3697,3},{6630,3638,3},{6638,3568,3},{6638,3552,3}, {6642,3538,3},{6645,3533,3},{6647,3520,3},{6653,3503,3},{6660,3488,3},{6660,3478,3}, {6653,3455,3},{6653,3447,3},{6662,3435,3},{6663,3437,3},{6663,3452,3},{6665,3452,3}, {6665,3448,3},{6667,3432,3},{6667,3420,3},{6668,3417,3},{6667,3415,3},{6667,3408,3}, {6672,3415,3},{6677,3415,3},{6670,3410,3},{6668,3405,3},{6670,3403,3},{6668,3402,3}, {6668,3393,3},{6672,3388,3},{6670,3387,3},{6670,3383,3},{6677,3377,3},{6680,3367,3}, {6680,3363,3},{6683,3358,3},{6678,3358,3},{6682,3352,3},{6678,3353,3},{6675,3363,3}, {6678,3352,3},{6673,3355,3},{6677,3348,3},{6673,3355,3},{6672,3353,3},{6682,3318,3}, {6698,3282,3},{6705,3280,3},{6708,3297,3},{6708,3277,3},{6713,3260,3},{6713,3245,3}, {6717,3237,3},{6713,3207,3},{6717,3188,3},{6715,3185,3},{6715,3192,3},{6712,3192,3}, {6712,3210,3},{6712,3225,3},{6708,3235,3},{6707,3228,3},{6703,3250,3},{6697,3257,3}, {6695,3253,3},{6695,3238,3},{6693,3250,3},{6690,3248,3},{6688,3242,3},{6688,3255,3}, {6683,3268,3},{6680,3268,3},{6677,3292,3},{6673,3293,3},{6673,3287,3},{6673,3285,3}, {6673,3277,3},{6672,3280,3},{6668,3297,3},{6668,3318,3},{6665,3332,3},{6662,3332,3}, {6665,3313,3},{6660,3307,3},{6660,3288,3},{6658,3287,3},{6657,3310,3},{6660,3312,3}, {6658,3322,3},{6662,3322,3},{6662,3325,3},{6658,3342,3},{6655,3345,3},{6653,3353,3}, {6652,3353,3},{6652,3348,3},{6657,3317,3},{6655,3317,3},{6655,3307,3},{6653,3295,3}, {6652,3295,3},{6650,3312,3},{6653,3322,3},{6652,3330,3},{6648,3332,3},{6647,3353,3}, {6648,3360,3},{6648,3363,3},{6645,3358,3},{6643,3373,3},{6642,3372,3},{6640,3352,3}, {6637,3365,3},{6635,3367,3},{6635,3343,3},{6632,3332,3},{6632,3350,3},{6633,3362,3}, {6632,3365,3},{6630,3362,3},{6627,3388,3},{6622,3390,3},{6625,3397,3},{6625,3410,3}, {6620,3417,3},{6618,3415,3},{6615,3435,3},{6608,3455,3},{6607,3457,3},{6605,3462,3}, {6598,3472,3},{6595,3467,3},{6593,3472,3},{6590,3470,3},{6592,3477,3},{6590,3485,3}, {6588,3487,3},{6582,3483,3},{6583,3490,3},{6577,3487,3},{6575,3490,3},{6572,3497,3}, {6570,3492,3},{6580,3468,3},{6572,3468,3},{6572,3475,3},{6567,3470,3},{6567,3473,3}, {6560,3478,3},{6558,3473,3},{6552,3472,3},{6548,3463,3},{6545,3468,3},{6545,3450,3}, {6540,3450,3},{6542,3437,3},{6538,3438,3},{6538,3432,3},{6538,3430,3},{6538,3440,3}, {6535,3447,3},{6528,3447,3},{6528,3453,3},{6525,3453,3},{6525,3463,3},{6523,3460,3}, {6518,3468,3},{6517,3463,3},{6515,3467,3},{6512,3467,3},{6510,3478,3},{6505,3475,3}, {6505,3480,3},{6503,3482,3},{6498,3470,3},{6497,3477,3},{6485,3495,3},{6480,3487,3}, {6477,3475,3},{6475,3480,3},{6477,3483,3},{6478,3490,3},{6477,3502,3},{6472,3482,3}, {6470,3483,3},{6463,3497,3},{6458,3483,3},{6455,3482,3},{6455,3475,3},{6452,3485,3}, {6452,3495,3},{6445,3495,3},{6443,3510,3},{6438,3513,3},{6437,3532,3},{6433,3543,3}, {6433,3558,3},{6440,3557,3},{6432,3587,3},{6425,3590,3},{6418,3600,3},{6423,3603,3}, {6425,3608,3},{6415,3622,3},{6415,3628,3},{6410,3622,3},{6407,3628,3},{6402,3628,3}, {6400,3645,3},{6397,3648,3},{6397,3660,3},{6392,3668,3},{6393,3677,3},{6390,3685,3}, {6393,3693,3},{6390,3698,3},{6388,3717,3},{6382,3728,3},{6380,3740,3},{6382,3753,3}, {6385,3758,3},{6388,3758,3},{6392,3765,3},{6390,3782,3},{6393,3800,3},{6402,3808,3}, {6415,3805,3},{6423,3790,3},{6430,3802,3},{6433,3790,3},{6435,3795,3},{6437,3785,3}, {6438,3780,3},{6445,3780,3},{6445,3777,3},{6443,3770,3},{6440,3767,3},{6437,3763,3}, {6438,3758,3},{6438,3750,3},{6435,3735,3},{6438,3718,3},{6450,3700,3},{6472,3672,3}, {6475,3655,3},{6483,3650,3},{6483,3657,3},{6487,3647,3},{6495,3643,3},{6495,3652,3}, {6493,3658,3},{6492,3665,3},{6498,3683,3},{6502,3682,3},{6508,3687,3},{6517,3683,3}, {6518,3685,3},{6520,3703,3},{6515,3730,3},{6513,3743,3},{6505,3772,3},{6502,3775,3}, {6497,3775,3},{6488,3798,3},{6485,3807,3},{6485,3822,3},{6487,3842,3},{6480,3837,3}, {6477,3840,3},{6480,3832,3},{6478,3825,3},{6478,3817,3},{6477,3805,3},{6473,3803,3}, {6470,3813,3},{6465,3803,3},{6463,3805,3},{6467,3817,3},{6472,3818,3},{6475,3830,3}, {6475,3835,3},{6475,3848,3},{6477,3848,3},{6480,3842,3},{6482,3847,3},{6478,3865,3}, {6475,3893,3},{6457,3955,3},{6455,3975,3},{6458,3975,3},{6460,3992,3},{6462,3988,3}, {6460,3978,3},{6467,3983,3},{6462,4005,3},{6455,4018,3},{6457,4035,3},{6453,4050,3}, {6457,4053,3},{6473,4042,3},{6475,4042,3},{6477,4047,3},{6475,4052,3},{6477,4052,3}, {6480,4045,3},{6493,4037,3},{6502,4028,3},{6505,4013,3},{6522,3995,3},{6538,3972,3}, {6552,3972,3},{6557,3977,3},{6562,3985,3},{6568,4012,3},{6578,4042,3},{6597,4070,3}, {6600,4100,3},{6607,4135,3},{6615,4153,3},{6617,4165,3},{6618,4165,3},{6633,4192,3}, {6650,4213,3},{6653,4222,3},{6647,4258,3},{6645,4265,3},{6642,4267,3},{6640,4258,3}, {6638,4255,3},{6642,4300,3},{6642,4330,3},{6633,4338,3},{6632,4357,3},{6627,4367,3}, {6623,4370,3},{6620,4363,3},{6615,4345,3},{6610,4337,3},{6610,4330,3},{6603,4335,3}, {6603,4345,3},{6597,4352,3},{6603,4352,3},{6607,4338,3},{6608,4338,3},{6613,4350,3}, {6615,4363,3},{6618,4370,3},{6618,4385,3},{6608,4405,3},{6602,4402,3},{6587,4418,3}, {6593,4418,3},{6600,4412,3},{6608,4417,3},{6618,4408,3},{6632,4412,3},{6647,4425,3}, {6650,4437,3},{6662,4440,3},{6667,4457,3},{6667,4448,3},{6678,4437,3},{6680,4437,3}, {6683,4448,3},{6690,4447,3},{6692,4452,3},{6693,4448,3},{6702,4440,3},{6705,4430,3}, {6710,4438,3},{6708,4427,3},{6717,4417,3},{6718,4403,3},{6717,4390,3},{6720,4378,3}, {6722,4375,3},{6733,4375,3},{6743,4382,3},{6767,4403,3},{6768,4408,3},{6765,4412,3}, {6768,4415,3},{6770,4415,3},{6770,4407,3},{6778,4413,3},{6788,4408,3},{6788,4410,3}, {6788,4420,3},{6792,4427,3},{6793,4422,3},{6792,4413,3},{6795,4413,3},{6797,4413,3}, {6798,4422,3},{6798,4415,3},{6800,4415,3},{6805,4433,3},{6807,4442,3},{6805,4428,3}, {6803,4418,3},{6828,4423,3},{6840,4400,3},{6847,4373,3},{6862,4332,3},{6867,4327,3}, {6868,4337,3},{6868,4350,3},{6863,4363,3},{6863,4375,3},{6858,4385,3},{6853,4407,3}, {6853,4420,3},{6857,4480,3},{6857,4527,3},{6847,4600,3},{6845,4602,3},{6845,4595,3}, {6843,4593,3},{6832,4603,3},{6832,4610,3},{6822,4628,3},{6820,4633,3},{6822,4635,3}, {6813,4653,3},{6812,4652,3},{6810,4647,3},{6810,4655,3},{6800,4657,3},{6793,4665,3}, {6792,4672,3},{6782,4672,3},{6780,4667,3},{6783,4633,3},{6780,4615,3},{6777,4582,3}, {6777,4562,3},{6773,4538,3},{6770,4530,3},{6768,4535,3},{6760,4533,3},{6758,4530,3}, {6758,4515,3},{6748,4495,3},{6735,4492,3},{6728,4513,3},{6717,4560,3},{6708,4565,3}, {6697,4578,3},{6690,4582,3},{6685,4598,3},{6682,4603,3},{6687,4657,3},{6683,4660,3}, {6682,4653,3},{6678,4648,3},{6673,4638,3},{6677,4650,3},{6682,4658,3},{6683,4692,3}, {6685,4695,3},{6685,4705,3},{6692,4740,3},{6690,4757,3},{6687,4757,3},{6688,4760,3}, {6693,4758,3},{6698,4770,3},{6703,4775,3},{6712,4775,3},{6718,4768,3},{6723,4778,3}, {6733,4777,3},{6743,4795,3},{6747,4793,3},{6757,4782,3},{6758,4783,3},{6765,4800,3}, {6763,4810,3},{6760,4807,3},{6758,4810,3},{6768,4825,3},{6768,4835,3},{6767,4843,3}, {6767,4853,3},{6770,4863,3},{6772,4868,3},{6770,4873,3},{6768,4872,3},{6768,4882,3}, {6770,4885,3},{6767,4898,3},{6765,4897,3},{6763,4900,3},{6763,4910,3},{6765,4905,3}, {6767,4905,3},{6772,4888,3},{6773,4877,3},{6777,4880,3},{6783,4880,3},{6793,4858,3}, {6793,4867,3},{6787,4880,3},{6785,4895,3},{6787,4923,3},{6798,4965,3},{6808,5002,3}, {6805,4998,3},{6802,4985,3},{6803,4997,3},{6807,5003,3},{6812,5007,3},{6827,5058,3}, {6837,5078,3},{6835,5083,3},{6833,5088,3},{6835,5108,3},{6838,5113,3},{6838,5128,3}, {6843,5143,3},{6842,5150,3},{6843,5157,3},{6845,5158,3},{6845,5153,3},{6848,5158,3}, {6848,5178,3},{6853,5205,3},{6858,5220,3},{6853,5218,3},{6850,5205,3},{6848,5205,3}, {6850,5218,3},{6848,5235,3},{6847,5235,3},{6847,5228,3},{6842,5228,3},{6838,5213,3}, {6830,5227,3},{6833,5232,3},{6835,5245,3},{6840,5257,3},{6842,5267,3},{6847,5273,3}, {6848,5272,3},{6853,5258,3},{6858,5248,3},{6862,5250,3},{6862,5262,3},{6865,5263,3}, {6863,5252,3},{6862,5245,3},{6858,5240,3},{6860,5228,3},{6887,5322,3},{6892,5347,3}, {6897,5383,3},{6902,5443,3},{6900,5457,3},{6897,5452,3},{6898,5445,3},{6895,5433,3}, {6893,5397,3},{6893,5375,3},{6890,5360,3},{6888,5360,3},{6885,5368,3},{6885,5373,3}, {6888,5368,3},{6888,5372,3},{6885,5402,3},{6882,5398,3},{6880,5385,3},{6875,5382,3}, {6870,5383,3},{6865,5372,3},{6860,5375,3},{6850,5390,3},{6840,5395,3},{6838,5385,3}, {6835,5382,3},{6833,5380,3},{6840,5368,3},{6840,5362,3},{6840,5358,3},{6835,5368,3}, {6833,5367,3},{6835,5358,3},{6837,5343,3},{6835,5338,3},{6833,5337,3},{6835,5333,3}, {6827,5320,3},{6825,5325,3},{6823,5333,3},{6825,5347,3},{6825,5370,3},{6823,5383,3}, {6822,5387,3},{6822,5400,3},{6825,5410,3},{6832,5420,3},{6825,5417,3},{6820,5420,3}, {6820,5423,3},{6830,5447,3},{6830,5452,3},{6830,5455,3},{6818,5465,3},{6817,5482,3}, {6825,5493,3},{6828,5492,3},{6832,5485,3},{6833,5492,3},{6840,5493,3},{6843,5500,3}, {6843,5507,3},{6847,5510,3},{6850,5520,3},{6852,5523,3},{6855,5532,3},{6857,5547,3}, {6857,5558,3},{6857,5568,3},{6860,5583,3},{6867,5597,3},{6863,5613,3},{6860,5633,3}, {6863,5652,3},{6862,5653,3},{6858,5650,3},{6863,5657,3},{6863,5663,3},{6857,5687,3}, {6853,5708,3},{6855,5728,3},{6858,5740,3},{6865,5745,3},{6868,5753,3},{6873,5758,3}, {6875,5792,3},{6878,5798,3},{6882,5795,3},{6885,5797,3},{6888,5823,3},{6887,5825,3}, {6883,5820,3},{6878,5825,3},{6875,5837,3},{6873,5833,3},{6873,5842,3},{6877,5843,3}, {6878,5828,3},{6883,5825,3},{6890,5828,3},{6895,5852,3},{6900,5893,3},{6900,5923,3}, {6898,5923,3},{6897,5902,3},{6893,5888,3},{6890,5910,3},{6877,5942,3},{6875,5943,3}, {6870,5940,3},{6872,5927,3},{6870,5918,3},{6863,5912,3},{6862,5907,3},{6857,5907,3}, {6853,5912,3},{6848,5908,3},{6842,5907,3},{6840,5913,3},{6838,5937,3},{6833,5965,3}, {6837,5983,3},{6847,5997,3},{6860,5987,3},{6863,5977,3},{6868,5982,3},{6872,5990,3}, {6872,5995,3},{6870,6000,3},{6868,6008,3},{6872,6047,3},{6875,6060,3},{6890,6083,3}, {6890,6097,3},{6892,6092,3},{6900,6095,3},{6908,6093,3},{6913,6088,3},{6917,6073,3}, {6912,6073,3},{6912,6063,3},{6913,6058,3},{6922,6060,3},{6932,6055,3},{6947,6030,3}, {6952,6022,3},{6955,6022,3},{6957,6013,3},{6963,6015,3},{6967,6028,3},{6967,6050,3}, {6967,6067,3},{6972,6063,3},{6973,6072,3},{6982,6070,3},{6985,6077,3},{6987,6087,3}, {6985,6105,3},{6987,6110,3},{6983,6115,3},{6983,6127,3},{6980,6140,3},{6977,6158,3}, {6978,6173,3},{6975,6202,3},{6975,6250,3},{6970,6308,3},{6967,6342,3},{6952,6428,3}, {6932,6498,3},{6928,6500,3},{6928,6493,3},{6930,6487,3},{6925,6478,3},{6922,6480,3}, {6917,6477,3},{6915,6480,3},{6920,6495,3},{6925,6492,3},{6927,6505,3},{6918,6538,3}, {6913,6587,3},{6910,6590,3},{6910,6577,3},{6912,6573,3},{6913,6565,3},{6908,6568,3}, {6903,6610,3},{6900,6625,3},{6895,6635,3},{6890,6658,3},{6888,6688,3},{6885,6712,3}, {6880,6703,3},{6875,6715,3},{6870,6720,3},{6868,6733,3},{6858,6763,3},{6850,6780,3}, {6852,6770,3},{6848,6778,3},{6847,6790,3},{6842,6817,3},{6833,6825,3},{6830,6823,3}, {6823,6818,3},{6823,6827,3},{6818,6828,3},{6822,6838,3},{6822,6843,3},{6832,6857,3}, {6832,6865,3},{6833,6857,3},{6837,6857,3},{6860,6890,3},{6880,6902,3},{6883,6910,3}, {6887,6912,3},{6887,6898,3},{6890,6895,3},{6892,6912,3},{6892,6913,3},{6893,6907,3}, {6895,6922,3},{6893,6903,3},{6897,6902,3},{6892,6878,3},{6892,6865,3},{6898,6847,3}, {6908,6835,3},{6928,6805,3},{6935,6803,3},{6938,6812,3},{6955,6810,3},{6955,6807,3}, {6952,6800,3},{6948,6803,3},{6948,6795,3},{6952,6778,3},{6958,6763,3},{6962,6750,3}, {6962,6735,3},{6968,6708,3},{6970,6698,3},{6965,6700,3},{6965,6698,3},{6963,6685,3}, {6957,6692,3},{6952,6693,3},{6957,6680,3},{6975,6677,3},{7000,6687,3},{7003,6692,3}, {7005,6698,3},{7002,6700,3},{6998,6697,3},{6995,6702,3},{6998,6718,3},{7002,6725,3}, {7010,6733,3},{7010,6728,3},{7015,6730,3},{7018,6725,3},{7013,6723,3},{7022,6708,3}, {7038,6720,3},{7042,6727,3},{7045,6725,3},{7047,6730,3},{7053,6722,3},{7075,6733,3}, {7082,6727,3},{7083,6710,3},{7080,6700,3},{7078,6678,3},{7077,6668,3},{7088,6662,3}, {7095,6677,3},{7100,6683,3},{7105,6683,3},{7108,6690,3},{7110,6682,3},{7107,6682,3}, {7105,6675,3},{7102,6677,3},{7100,6668,3},{7102,6662,3},{7105,6662,3},{7117,6682,3}, {7130,6692,3},{7130,6708,3},{7142,6758,3},{7143,6758,3},{7150,6785,3},{7152,6795,3}, {7167,6822,3},{7168,6828,3},{7167,6835,3},{7172,6830,3},{7182,6847,3},{7192,6855,3}, {7198,6857,3},{7203,6865,3},{7223,6873,3},{7232,6878,3},{7232,6882,3},{7245,6885,3}, {7248,6892,3},{7253,6887,3},{7265,6897,3},{7265,6905,3},{7267,6898,3},{7272,6902,3}, {7280,6923,3},{7293,6932,3},{7297,6937,3},{7297,6953,3},{7297,6975,3},{7295,6980,3}, {7293,6978,3},{7292,6957,3},{7288,6955,3},{7288,6960,3},{7290,7030,3},{7288,7075,3}, {7290,7098,3},{7290,7123,3},{7292,7153,3},{7287,7177,3},{7283,7200,3},{7282,7195,3}, {7282,7183,3},{7280,7188,3},{7283,7210,3},{7270,7283,3},{7270,7272,3},{7267,7273,3}, {7265,7282,3},{7260,7272,3},{7255,7277,3},{7252,7285,3},{7248,7280,3},{7240,7280,3}, {7228,7288,3},{7220,7273,3},{7212,7272,3},{7203,7257,3},{7192,7252,3},{7185,7233,3}, {7182,7232,3},{7172,7237,3},{7168,7223,3},{7160,7220,3},{7157,7207,3},{7157,7202,3}, {7158,7195,3},{7152,7182,3},{7147,7180,3},{7130,7205,3},{7120,7235,3},{7115,7258,3}, {7113,7263,3},{7108,7268,3},{7102,7262,3},{7087,7283,3},{7070,7277,3},{7062,7268,3}, {7053,7277,3},{7042,7278,3},{7040,7268,3},{7035,7253,3},{7027,7242,3},{7018,7262,3}, {7008,7257,3},{7005,7248,3},{6998,7253,3},{6990,7265,3},{6985,7268,3},{6975,7265,3}, {6968,7255,3},{6967,7257,3},{6965,7250,3},{6952,7262,3},{6943,7263,3},{6942,7258,3}, {6942,7248,3},{6938,7257,3},{6928,7265,3},{6922,7252,3},{6918,7248,3},{6898,7255,3}, {6888,7263,3},{6885,7272,3},{6858,7352,3},{6848,7365,3},{6845,7365,3},{6843,7360,3}, {6848,7360,3},{6845,7347,3},{6837,7342,3},{6822,7310,3},{6817,7313,3},{6808,7307,3}, {6795,7320,3},{6785,7320,3},{6782,7307,3},{6772,7315,3},{6768,7312,3},{6772,7305,3}, {6768,7295,3},{6768,7288,3},{6765,7288,3},{6763,7285,3},{6762,7262,3},{6760,7255,3}, {6752,7255,3},{6747,7240,3},{6740,7245,3},{6732,7240,3},{6730,7227,3},{6733,7218,3}, {6730,7213,3},{6730,7203,3},{6727,7203,3},{6723,7220,3},{6717,7223,3},{6715,7217,3}, {6720,7212,3},{6715,7213,3},{6713,7192,3},{6712,7202,3},{6708,7198,3},{6707,7202,3}, {6703,7193,3},{6698,7187,3},{6697,7180,3},{6692,7175,3},{6692,7172,3},{6695,7163,3}, {6693,7158,3},{6692,7153,3},{6695,7143,3},{6697,7137,3},{6695,7132,3},{6693,7133,3}, {6692,7145,3},{6690,7138,3},{6687,7152,3},{6683,7148,3},{6678,7155,3},{6677,7152,3}, {6672,7160,3},{6665,7157,3},{6663,7137,3},{6668,7137,3},{6665,7133,3},{6663,7127,3}, {6665,7117,3},{6662,7123,3},{6663,7107,3},{6660,7105,3},{6658,7112,3},{6657,7103,3}, {6658,7095,3},{6655,7098,3},{6653,7098,3},{6650,7072,3},{6658,7033,3},{6662,7028,3}, {6665,7032,3},{6665,7040,3},{6668,7047,3},{6668,7060,3},{6672,7063,3},{6672,7068,3}, {6673,7073,3},{6675,7073,3},{6675,7057,3},{6673,7053,3},{6673,7062,3},{6672,7047,3}, {6670,7055,3},{6668,7032,3},{6672,7015,3},{6673,7018,3},{6675,7008,3},{6680,6998,3}, {6685,6995,3},{6687,6990,3},{6685,6988,3},{6683,6990,3},{6682,6978,3},{6682,6970,3}, {6683,6958,3},{6682,6957,3},{6680,6963,3},{6678,6960,3},{6683,6940,3},{6682,6932,3}, {6683,6917,3},{6680,6897,3},{6678,6900,3},{6678,6908,3},{6677,6912,3},{6660,6912,3}, {6650,6938,3},{6647,6975,3},{6642,6990,3},{6633,7038,3},{6637,7088,3},{6637,7132,3}, {6632,7168,3},{6630,7175,3},{6623,7182,3},{6623,7185,3},{6625,7193,3},{6622,7200,3}, {6623,7203,3},{6623,7207,3},{6628,7223,3},{6630,7235,3},{6638,7240,3},{6647,7237,3}, {6650,7242,3},{6652,7238,3},{6650,7228,3},{6655,7245,3},{6660,7247,3},{6665,7295,3}, {6673,7300,3},{6675,7310,3},{6678,7320,3},{6683,7352,3},{6693,7363,3},{6698,7385,3}, {6705,7387,3},{6707,7392,3},{6712,7390,3},{6722,7395,3},{6730,7392,3},{6742,7408,3}, {6768,7473,3},{6793,7482,3},{6815,7473,3},{6823,7462,3},{6837,7433,3},{6850,7447,3}, {6862,7442,3},{6872,7448,3},{6878,7467,3},{6890,7547,3},{6890,7562,3},{6893,7583,3}, {6897,7612,3},{6898,7633,3},{6898,7655,3},{6897,7660,3},{6887,7670,3},{6880,7662,3}, {6877,7663,3},{6865,7702,3},{6857,7710,3},{6858,7715,3},{6860,7710,3},{6860,7717,3}, {6852,7732,3},{6845,7725,3},{6838,7730,3},{6830,7717,3},{6827,7718,3},{6823,7737,3}, {6815,7730,3},{6810,7722,3},{6805,7725,3},{6798,7718,3},{6790,7730,3},{6783,7723,3}, {6782,7717,3},{6785,7715,3},{6783,7708,3},{6778,7710,3},{6762,7767,3},{6757,7768,3}, {6755,7768,3},{6757,7785,3},{6755,7790,3},{6757,7795,3},{6755,7798,3},{6753,7805,3}, {6758,7825,3},{6755,7833,3},{6755,7848,3},{6758,7858,3},{6758,7867,3},{6758,7872,3}, {6757,7887,3},{6755,7895,3},{6757,7905,3},{6760,7897,3},{6762,7883,3},{6763,7880,3}, {6765,7887,3},{6765,7878,3},{6765,7872,3},{6762,7867,3},{6760,7858,3},{6762,7850,3}, {6763,7847,3},{6763,7858,3},{6767,7862,3},{6767,7853,3},{6765,7850,3},{6770,7843,3}, {6763,7840,3},{6767,7832,3},{6765,7823,3},{6767,7818,3},{6765,7813,3},{6768,7805,3}, {6770,7798,3},{6768,7787,3},{6770,7787,3},{6772,7795,3},{6773,7783,3},{6777,7780,3}, {6778,7777,3},{6773,7775,3},{6772,7765,3},{6773,7753,3},{6777,7747,3},{6790,7747,3}, {6792,7748,3},{6793,7758,3},{6793,7752,3},{6798,7747,3},{6803,7752,3},{6808,7750,3}, {6815,7757,3},{6822,7773,3},{6825,7815,3},{6827,7817,3},{6832,7808,3},{6835,7808,3}, {6838,7797,3},{6845,7790,3},{6848,7795,3},{6852,7793,3},{6853,7788,3},{6852,7780,3}, {6852,7777,3},{6857,7777,3},{6862,7772,3},{6868,7775,3},{6887,7770,3},{6890,7763,3}, {6893,7740,3},{6898,7722,3},{6902,7692,3},{6910,7678,3},{6915,7663,3},{6913,7653,3}, {6915,7637,3},{6923,7603,3},{6923,7577,3},{6927,7557,3},{6925,7548,3},{6918,7522,3}, {6913,7510,3},{6910,7515,3},{6908,7475,3},{6913,7450,3},{6913,7418,3},{6907,7395,3}, {6913,7380,3},{6917,7375,3},{6920,7375,3},{6935,7388,3},{6943,7390,3},{6955,7377,3}, {6970,7355,3},{6975,7352,3},{6982,7363,3},{6995,7370,3},{7002,7370,3},{7008,7377,3}, {7015,7368,3},{7030,7400,3},{7037,7407,3},{7042,7417,3},{7053,7433,3},{7068,7430,3}, {7085,7393,3},{7097,7390,3},{7105,7373,3},{7127,7353,3},{7133,7333,3},{7142,7302,3}, {7167,7350,3},{7172,7353,3},{7177,7347,3},{7182,7353,3},{7190,7387,3},{7193,7412,3}, {7195,7425,3},{7197,7432,3},{7195,7435,3},{7212,7495,3},{7225,7510,3},{7238,7512,3}, {7258,7507,3},{7270,7495,3},{7282,7473,3},{7288,7500,3},{7287,7508,3},{7283,7520,3}, {7282,7533,3},{7275,7552,3},{7273,7553,3},{7270,7545,3},{7272,7540,3},{7268,7533,3}, {7268,7542,3},{7263,7550,3},{7255,7572,3},{7253,7568,3},{7253,7557,3},{7248,7555,3}, {7233,7568,3},{7232,7567,3},{7230,7577,3},{7227,7575,3},{7222,7560,3},{7215,7552,3}, {7208,7553,3},{7203,7542,3},{7198,7543,3},{7195,7527,3},{7190,7528,3},{7183,7522,3}, {7178,7522,3},{7173,7527,3},{7167,7550,3},{7163,7550,3},{7162,7538,3},{7157,7550,3}, {7153,7553,3},{7150,7542,3},{7145,7543,3},{7147,7528,3},{7145,7523,3},{7137,7527,3}, {7130,7545,3},{7123,7603,3},{7118,7612,3},{7123,7615,3},{7120,7638,3},{7122,7663,3}, {7118,7690,3},{7115,7688,3},{7107,7692,3},{7112,7697,3},{7115,7693,3},{7118,7703,3}, {7115,7768,3},{7110,7787,3},{7102,7788,3},{7097,7795,3},{7095,7805,3},{7093,7827,3}, {7088,7840,3},{7088,7845,3},{7092,7855,3},{7092,7887,3},{7093,7890,3},{7093,7895,3}, {7092,7895,3},{7093,7903,3},{7095,7907,3},{7097,7902,3},{7098,7908,3},{7102,7910,3}, {7102,7903,3},{7098,7897,3},{7100,7883,3},{7098,7878,3},{7098,7890,3},{7093,7880,3}, {7093,7872,3},{7097,7858,3},{7092,7843,3},{7100,7848,3},{7102,7847,3},{7105,7855,3}, {7107,7850,3},{7110,7852,3},{7112,7845,3},{7110,7835,3},{7105,7850,3},{7103,7845,3}, {7110,7825,3},{7112,7823,3},{7122,7832,3},{7125,7828,3},{7128,7803,3},{7125,7793,3}, {7132,7790,3},{7135,7800,3},{7137,7800,3},{7135,7787,3},{7133,7787,3},{7132,7773,3}, {7128,7775,3},{7128,7772,3},{7133,7745,3},{7130,7752,3},{7137,7720,3},{7142,7712,3}, {7142,7700,3},{7147,7673,3},{7153,7655,3},{7157,7632,3},{7158,7625,3},{7163,7627,3}, {7192,7600,3},{7200,7638,3},{7205,7690,3},{7192,7737,3},{7187,7743,3},{7183,7752,3}, {7182,7770,3},{7188,7810,3},{7190,7817,3},{7197,7823,3},{7210,7802,3},{7212,7795,3}, {7212,7780,3},{7207,7748,3},{7208,7738,3},{7212,7738,3},{7217,7748,3},{7222,7747,3}, {7222,7752,3},{7218,7767,3},{7222,7775,3},{7232,7790,3},{7233,7807,3},{7238,7813,3}, {7237,7827,3},{7238,7832,3},{7240,7843,3},{7238,7850,3},{7240,7852,3},{7237,7885,3}, {7238,7930,3},{7237,7948,3},{7225,7980,3},{7218,8012,3},{7208,8083,3},{7203,8085,3}, {7202,8082,3},{7203,8073,3},{7208,8078,3},{7207,8067,3},{7203,8063,3},{7185,8125,3}, {7177,8130,3},{7172,8163,3},{7170,8167,3},{7170,8213,3},{7178,8282,3},{7177,8292,3}, {7173,8298,3},{7173,8320,3},{7172,8327,3},{7168,8332,3},{7165,8330,3},{7157,8317,3}, {7155,8302,3},{7145,8298,3},{7140,8303,3},{7137,8270,3},{7130,8237,3},{7127,8225,3}, {7108,8235,3},{7100,8220,3},{7092,8230,3},{7083,8232,3},{7077,8242,3},{7068,8222,3}, {7062,8220,3},{7057,8208,3},{7050,8215,3},{7028,8223,3},{7020,8235,3},{7040,8225,3}, {7050,8223,3},{7058,8217,3},{7060,8247,3},{7068,8243,3},{7070,8248,3},{7075,8250,3}, {7077,8257,3},{7080,8248,3},{7085,8258,3},{7090,8258,3},{7095,8268,3},{7097,8275,3}, {7095,8277,3},{7095,8285,3},{7092,8287,3},{7100,8288,3},{7100,8290,3},{7092,8300,3}, {7090,8310,3},{7087,8315,3},{7077,8313,3},{7067,8305,3},{7060,8307,3},{7057,8300,3}, {7050,8305,3},{7042,8300,3},{7038,8290,3},{7025,8265,3},{7020,8267,3},{7017,8263,3}, {7013,8282,3},{7008,8288,3},{7007,8307,3},{7008,8317,3},{7012,8320,3},{7020,8313,3}, {7023,8305,3},{7032,8295,3},{7033,8302,3},{7032,8318,3},{7032,8333,3},{7033,8352,3}, {7047,8377,3},{7050,8373,3},{7055,8377,3},{7070,8360,3},{7077,8360,3},{7080,8353,3}, {7092,8348,3},{7097,8338,3},{7102,8340,3},{7105,8333,3},{7107,8317,3},{7112,8312,3}, {7110,8323,3},{7112,8327,3},{7125,8315,3},{7128,8328,3},{7135,8337,3},{7147,8338,3}, {7148,8352,3},{7152,8358,3},{7157,8363,3},{7162,8363,3},{7175,8342,3},{7180,8342,3}, {7183,8338,3},{7187,8318,3},{7190,8280,3},{7187,8267,3},{7195,8262,3},{7200,8250,3}, {7208,8218,3},{7213,8230,3},{7223,8228,3},{7228,8220,3},{7227,8212,3},{7233,8172,3}, {7235,8117,3},{7247,8085,3},{7253,8072,3},{7255,8072,3},{7257,8078,3},{7262,8083,3}, {7265,8068,3},{7273,8063,3},{7278,8075,3},{7285,8080,3},{7297,8082,3},{7307,8068,3}, {7310,8043,3},{7312,8058,3},{7313,8057,3},{7317,8033,3},{7317,8023,3},{7320,8032,3}, {7320,8048,3},{7322,8057,3},{7327,8055,3},{7328,8045,3},{7328,8033,3},{7332,8025,3}, {7338,8035,3},{7338,8038,3},{7337,8042,3},{7342,8048,3},{7343,8058,3},{7350,8068,3}, {7352,8063,3},{7348,8052,3},{7357,8052,3},{7358,8072,3},{7357,8085,3},{7358,8092,3}, {7360,8125,3},{7362,8132,3},{7365,8152,3},{7365,8217,3},{7367,8248,3},{7365,8340,3}, {7370,8375,3},{7370,8435,3},{7375,8458,3},{7377,8478,3},{7373,8490,3},{7372,8502,3}, {7370,8500,3},{7372,8510,3},{7370,8522,3},{7372,8548,3},{7377,8547,3},{7382,8558,3}, {7382,8587,3},{7387,8602,3},{7385,8625,3},{7388,8640,3},{7388,8667,3},{7390,8678,3}, {7385,8710,3},{7378,8703,3},{7375,8685,3},{7372,8675,3},{7367,8662,3},{7367,8652,3}, {7362,8635,3},{7358,8612,3},{7353,8598,3},{7350,8583,3},{7347,8578,3},{7333,8583,3}, {7327,8622,3},{7318,8632,3},{7315,8652,3},{7312,8667,3},{7298,8678,3},{7307,8677,3}, {7317,8663,3},{7318,8645,3},{7325,8633,3},{7332,8597,3},{7333,8588,3},{7347,8585,3}, {7357,8622,3},{7357,8665,3},{7360,8687,3},{7360,8710,3},{7362,8718,3},{7370,8735,3}, {7368,8725,3},{7373,8730,3},{7383,8763,3},{7390,8767,3},{7392,8753,3},{7383,8750,3}, {7382,8743,3},{7383,8732,3},{7387,8720,3},{7393,8713,3},{7403,8693,3},{7405,8697,3}, {7405,8720,3},{7400,8740,3},{7402,8742,3},{7405,8737,3},{7407,8685,3},{7410,8687,3}, {7413,8672,3},{7418,8680,3},{7420,8677,3},{7425,8657,3},{7427,8607,3},{7428,8595,3}, {7432,8597,3},{7435,8590,3},{7437,8597,3},{7437,8612,3},{7432,8625,3},{7432,8630,3}, {7438,8627,3},{7440,8607,3},{7442,8607,3},{7442,8622,3},{7442,8625,3},{7445,8632,3}, {7443,8638,3},{7445,8648,3},{7443,8658,3},{7440,8663,3},{7438,8660,3},{7438,8673,3}, {7437,8680,3},{7438,8682,3},{7438,8695,3},{7435,8690,3},{7432,8670,3},{7430,8685,3}, {7433,8690,3},{7433,8697,3},{7428,8697,3},{7427,8700,3},{7430,8705,3},{7435,8700,3}, {7437,8702,3},{7435,8727,3},{7440,8707,3},{7443,8708,3},{7442,8678,3},{7447,8668,3}, {7450,8655,3},{7453,8660,3},{7455,8678,3},{7457,8650,3},{7460,8632,3},{7462,8612,3}, {7460,8595,3},{7463,8585,3},{7463,8575,3},{7467,8587,3},{7470,8583,3},{7472,8587,3}, {7472,8607,3},{7477,8612,3},{7482,8603,3},{7482,8610,3},{7480,8615,3},{7482,8620,3}, {7477,8638,3},{7475,8633,3},{7477,8622,3},{7470,8633,3},{7472,8652,3},{7470,8655,3}, {7470,8663,3},{7467,8660,3},{7465,8668,3},{7462,8670,3},{7462,8685,3},{7460,8697,3}, {7465,8690,3},{7468,8695,3},{7468,8677,3},{7470,8677,3},{7475,8687,3},{7475,8698,3}, {7472,8702,3},{7472,8707,3},{7485,8707,3},{7493,8738,3},{7495,8737,3},{7495,8725,3}, {7498,8718,3},{7500,8743,3},{7497,8748,3},{7495,8743,3},{7493,8755,3},{7493,8760,3}, {7497,8757,3},{7498,8768,3},{7500,8768,3},{7502,8778,3},{7503,8777,3},{7503,8738,3}, {7507,8725,3},{7508,8707,3},{7507,8692,3},{7512,8692,3},{7515,8700,3},{7517,8728,3}, {7510,8798,3},{7513,8807,3},{7513,8813,3},{7517,8830,3},{7523,8832,3},{7525,8840,3}, {7528,8852,3},{7527,8863,3},{7532,8855,3},{7533,8860,3},{7535,8878,3},{7537,8882,3}, {7537,8877,3},{7540,8887,3},{7540,8908,3},{7543,8898,3},{7540,8873,3},{7545,8913,3}, {7550,8925,3},{7547,8932,3},{7547,8940,3},{7543,8938,3},{7543,8972,3},{7547,8962,3}, {7548,8962,3},{7552,8988,3},{7552,9005,3},{7553,9003,3},{7555,8992,3},{7558,9005,3}, {7562,9063,3},{7563,9068,3},{7567,9090,3},{7563,9092,3},{7562,9098,3},{7567,9117,3}, {7563,9118,3},{7563,9123,3},{7563,9162,3},{7570,9163,3},{7573,9172,3},{7572,9178,3}, {7572,9205,3},{7575,9218,3},{7575,9240,3},{7577,9250,3},{7583,9335,3},{7592,9407,3}, {7595,9417,3},{7595,9413,3},{7593,9407,3},{7590,9367,3},{7595,9355,3},{7592,9343,3}, {7588,9348,3},{7587,9342,3},{7595,9327,3},{7597,9332,3},{7598,9328,3},{7593,9297,3}, {7590,9310,3},{7590,9308,3},{7590,9288,3},{7592,9290,3},{7597,9283,3},{7598,9292,3}, {7605,9292,3},{7607,9302,3},{7603,9310,3},{7602,9312,3},{7603,9320,3},{7607,9322,3}, {7608,9312,3},{7610,9315,3},{7608,9325,3},{7610,9343,3},{7607,9333,3},{7603,9342,3}, {7602,9342,3},{7605,9355,3},{7603,9363,3},{7605,9370,3},{7603,9375,3},{7605,9400,3}, {7607,9395,3},{7610,9367,3},{7612,9367,3},{7612,9397,3},{7612,9410,3},{7610,9420,3}, {7612,9438,3},{7605,9447,3},{7607,9460,3},{7610,9460,3},{7612,9473,3},{7615,9467,3}, {7615,9457,3},{7615,9455,3},{7615,9477,3},{7612,9490,3},{7610,9505,3},{7612,9508,3}, {7612,9527,3},{7613,9532,3},{7615,9542,3},{7613,9582,3},{7610,9615,3},{7608,9620,3}, {7607,9600,3},{7605,9608,3},{7603,9598,3},{7598,9600,3},{7598,9588,3},{7590,9572,3}, {7588,9557,3},{7585,9575,3},{7592,9582,3},{7595,9593,3},{7595,9630,3},{7597,9633,3}, {7598,9627,3},{7602,9652,3},{7600,9655,3},{7598,9650,3},{7598,9662,3},{7597,9667,3}, {7587,9645,3},{7588,9660,3},{7590,9667,3},{7588,9683,3},{7592,9683,3},{7593,9693,3}, {7598,9705,3},{7603,9722,3},{7605,9737,3},{7598,9718,3},{7595,9725,3},{7593,9718,3}, {7593,9733,3},{7597,9730,3},{7598,9735,3},{7600,9755,3},{7598,9782,3},{7600,9783,3}, {7605,9772,3},{7605,9755,3},{7608,9767,3},{7610,9777,3},{7605,9790,3},{7608,9815,3}, {7610,9822,3},{7610,9802,3},{7612,9793,3},{7615,9802,3},{7615,9807,3},{7613,9810,3}, {7617,9815,3},{7617,9837,3},{7627,9880,3},{7620,9872,3},{7620,9885,3},{7622,9892,3}, {7622,9903,3},{7620,9915,3},{7622,9928,3},{7620,9930,3},{7617,9920,3},{7617,9923,3}, {7617,9908,3},{7613,9915,3},{7613,9923,3},{7615,9957,3},{7612,9960,3},{7610,9947,3}, {7608,9958,3},{7607,9957,3},{7608,9963,3},{7605,9977,3},{7597,9968,3},{7585,9967,3}, {7582,9953,3},{7577,9923,3},{7572,9927,3},{7567,9915,3},{7555,9910,3},{7547,9958,3}, {7547,9975,3},{7542,9970,3},{7537,9977,3},{7530,10002,3},{7523,10003,3}, {7518,10017,3},{7517,10018,3},{7520,10020,3},{7523,10008,3},{7528,10008,3}, {7537,9980,3},{7547,9982,3},{7548,9960,3},{7553,9938,3},{7555,9923,3},{7557,9918,3}, {7568,9925,3},{7570,9935,3},{7575,9928,3},{7577,9935,3},{7577,9958,3},{7585,9970,3}, {7590,9988,3},{7595,9992,3},{7602,9982,3},{7608,9988,3},{7615,9980,3},{7620,9963,3}, {7627,9960,3},{7628,9940,3},{7635,9927,3},{7635,9903,3},{7640,9902,3},{7647,9883,3}, {7650,9882,3},{7652,9892,3},{7647,9943,3},{7648,10023,3},{7647,10030,3}, {7650,10065,3},{7653,10085,3},{7648,10105,3},{7645,10102,3},{7647,10125,3}, {7648,10132,3},{7645,10148,3},{7645,10170,3},{7640,10188,3},{7638,10225,3}, {7640,10218,3},{7642,10198,3},{7647,10178,3},{7647,10157,3},{7650,10142,3}, {7652,10103,3},{7655,10088,3},{7658,10107,3},{7673,10113,3},{7675,10123,3}, {7677,10118,3},{7678,10100,3},{7683,10087,3},{7697,10092,3},{7698,10095,3}, {7698,10122,3},{7705,10123,3},{7707,10117,3},{7710,10120,3},{7717,10145,3}, {7723,10162,3},{7728,10185,3},{7738,10207,3},{7740,10215,3},{7738,10222,3}, {7738,10228,3},{7750,10255,3},{7755,10292,3},{7758,10290,3},{7763,10305,3}, {7765,10327,3},{7762,10335,3},{7763,10365,3},{7773,10407,3},{7773,10430,3}, {7772,10433,3},{7770,10427,3},{7768,10427,3},{7767,10437,3},{7770,10462,3}, {7770,10475,3},{7763,10480,3},{7758,10492,3},{7757,10523,3},{7753,10538,3}, {7757,10565,3},{7757,10587,3},{7753,10583,3},{7752,10590,3},{7747,10592,3}, {7742,10600,3},{7740,10612,3},{7737,10630,3},{7735,10618,3},{7737,10605,3}, {7737,10573,3},{7733,10573,3},{7730,10562,3},{7728,10545,3},{7725,10552,3}, {7723,10530,3},{7720,10527,3},{7717,10495,3},{7717,10487,3},{7717,10472,3}, {7713,10452,3},{7713,10437,3},{7708,10412,3},{7708,10437,3},{7710,10470,3}, {7712,10477,3},{7708,10492,3},{7708,10507,3},{7710,10515,3},{7708,10535,3}, {7712,10560,3},{7712,10585,3},{7713,10592,3},{7708,10588,3},{7705,10573,3}, {7703,10578,3},{7702,10545,3},{7697,10545,3},{7698,10553,3},{7697,10567,3}, {7698,10577,3},{7698,10592,3},{7707,10620,3},{7703,10648,3},{7702,10650,3}, {7702,10657,3},{7700,10665,3},{7700,10673,3},{7700,10677,3},{7703,10665,3}, {7703,10677,3},{7705,10682,3},{7703,10702,3},{7702,10698,3},{7700,10700,3}, {7702,10727,3},{7700,10723,3},{7695,10733,3},{7693,10750,3},{7690,10748,3}, {7688,10727,3},{7687,10735,3},{7685,10720,3},{7683,10728,3},{7680,10722,3}, {7680,10707,3},{7675,10705,3},{7673,10697,3},{7672,10697,3},{7670,10690,3}, {7672,10675,3},{7672,10672,3},{7667,10680,3},{7658,10668,3},{7655,10658,3}, {7660,10653,3},{7660,10645,3},{7660,10638,3},{7652,10640,3},{7650,10670,3}, {7647,10682,3},{7650,10688,3},{7650,10702,3},{7653,10735,3},{7650,10763,3}, {7653,10788,3},{7663,10800,3},{7667,10790,3},{7673,10795,3},{7673,10828,3}, {7670,10830,3},{7672,10845,3},{7672,10880,3},{7673,10907,3},{7672,10915,3}, {7675,10937,3},{7673,10942,3},{7673,10960,3},{7672,10968,3},{7672,10985,3}, {7670,10988,3},{7670,10997,3},{7668,11003,3},{7673,11030,3},{7675,11045,3}, {7677,11060,3},{7673,11063,3},{7672,11073,3},{7673,11092,3},{7675,11090,3}, {7675,11110,3},{7675,11113,3},{7672,11107,3},{7668,11110,3},{7670,11123,3}, {7668,11155,3},{7667,11148,3},{7665,11155,3},{7662,11145,3},{7662,11147,3}, {7662,11165,3},{7660,11177,3},{7648,11220,3},{7633,11183,3},{7638,11202,3}, {7645,11223,3},{7637,11265,3},{7633,11275,3},{7632,11265,3},{7627,11273,3}, {7623,11268,3},{7622,11265,3},{7623,11250,3},{7620,11260,3},{7620,11278,3}, {7613,11285,3},{7608,11280,3},{7605,11257,3},{7605,11293,3},{7607,11302,3}, {7612,11303,3},{7613,11298,3},{7615,11310,3},{7615,11322,3},{7612,11330,3}, {7613,11325,3},{7617,11328,3},{7622,11300,3},{7625,11293,3},{7625,11327,3}, {7623,11330,3},{7622,11323,3},{7620,11323,3},{7620,11335,3},{7618,11340,3}, {7613,11347,3},{7603,11345,3},{7602,11355,3},{7598,11350,3},{7595,11355,3}, {7593,11343,3},{7593,11352,3},{7588,11357,3},{7587,11355,3},{7585,11348,3}, {7587,11363,3},{7592,11362,3},{7592,11372,3},{7592,11375,3},{7593,11378,3}, {7592,11385,3},{7588,11382,3},{7585,11390,3},{7572,11375,3},{7560,11372,3}, {7553,11352,3},{7553,11342,3},{7562,11358,3},{7565,11360,3},{7567,11343,3}, {7568,11330,3},{7567,11303,3},{7570,11313,3},{7573,11305,3},{7583,11260,3}, {7585,11233,3},{7583,11245,3},{7577,11252,3},{7577,11268,3},{7570,11287,3}, {7568,11282,3},{7570,11275,3},{7565,11288,3},{7558,11278,3},{7555,11283,3}, {7555,11302,3},{7562,11300,3},{7565,11328,3},{7555,11327,3},{7552,11338,3}, {7550,11355,3},{7552,11363,3},{7540,11372,3},{7540,11353,3},{7538,11355,3}, {7538,11363,3},{7537,11367,3},{7528,11360,3},{7508,11310,3},{7507,11302,3}, {7498,11288,3},{7492,11257,3},{7488,11213,3},{7485,11208,3},{7478,11205,3}, {7477,11195,3},{7473,11190,3},{7472,11195,3},{7467,11180,3},{7467,11173,3}, {7468,11160,3},{7468,11140,3},{7460,11112,3},{7460,11100,3},{7457,11105,3}, {7455,11095,3},{7453,11082,3},{7448,11060,3},{7447,11050,3},{7448,11035,3}, {7448,11028,3},{7443,11038,3},{7437,11020,3},{7437,11003,3},{7432,10990,3}, {7432,10980,3},{7432,10978,3},{7432,10963,3},{7430,10955,3},{7430,10962,3}, {7428,10972,3},{7430,10998,3},{7423,10995,3},{7418,10985,3},{7408,10950,3}, {7407,10923,3},{7403,10908,3},{7397,10892,3},{7393,10877,3},{7382,10857,3}, {7380,10850,3},{7382,10843,3},{7377,10848,3},{7363,10807,3},{7365,10810,3}, {7367,10803,3},{7367,10797,3},{7362,10778,3},{7360,10775,3},{7363,10767,3}, {7362,10743,3},{7363,10735,3},{7362,10732,3},{7362,10715,3},{7357,10710,3}, {7355,10717,3},{7353,10717,3},{7343,10688,3},{7333,10680,3},{7330,10665,3}, {7332,10655,3},{7332,10628,3},{7328,10607,3},{7315,10602,3},{7310,10585,3}, {7300,10583,3},{7295,10570,3},{7290,10567,3},{7283,10535,3},{7280,10530,3}, {7278,10507,3},{7277,10507,3},{7277,10545,3},{7282,10567,3},{7287,10577,3}, {7288,10595,3},{7295,10600,3},{7297,10628,3},{7298,10622,3},{7310,10617,3}, {7313,10620,3},{7315,10627,3},{7318,10635,3},{7313,10680,3},{7315,10692,3}, {7318,10703,3},{7317,10773,3},{7318,10783,3},{7322,10795,3},{7325,10810,3}, {7322,10822,3},{7322,10835,3},{7327,10838,3},{7327,10820,3},{7330,10823,3}, {7332,10858,3},{7333,10872,3},{7335,10893,3},{7338,10915,3},{7342,10927,3}, {7345,10920,3},{7347,10922,3},{7342,10942,3},{7345,10943,3},{7348,10932,3}, {7352,10918,3},{7355,10917,3},{7355,10922,3},{7345,10950,3},{7345,10960,3}, {7347,10982,3},{7350,11002,3},{7350,11010,3},{7355,11015,3},{7355,11008,3}, {7358,11012,3},{7360,11042,3},{7363,11040,3},{7365,11047,3},{7365,11062,3}, {7367,11067,3},{7368,11088,3},{7370,11092,3},{7373,11088,3},{7377,11092,3}, {7378,11065,3},{7375,11060,3},{7375,11048,3},{7370,11027,3},{7370,10980,3}, {7368,10975,3},{7367,10975,3},{7368,10965,3},{7375,10953,3},{7382,10952,3}, {7383,10957,3},{7388,10983,3},{7397,10988,3},{7402,11007,3},{7402,11020,3}, {7400,11057,3},{7395,11072,3},{7395,11078,3},{7392,11090,3},{7390,11100,3}, {7395,11110,3},{7398,11107,3},{7402,11110,3},{7403,11120,3},{7405,11145,3}, {7403,11157,3},{7400,11153,3},{7400,11145,3},{7398,11138,3},{7400,11127,3}, {7398,11120,3},{7387,11130,3},{7377,11165,3},{7372,11202,3},{7370,11225,3}, {7372,11248,3},{7373,11278,3},{7380,11295,3},{7388,11293,3},{7395,11282,3}, {7400,11282,3},{7392,11298,3},{7388,11313,3},{7368,11340,3},{7360,11343,3}, {7358,11340,3},{7357,11328,3},{7345,11313,3},{7342,11322,3},{7337,11327,3}, {7333,11350,3},{7317,11348,3},{7310,11352,3},{7300,11345,3},{7295,11348,3}, {7288,11330,3},{7287,11313,3},{7283,11308,3},{7272,11320,3},{7268,11330,3}, {7262,11362,3},{7260,11408,3},{7262,11397,3},{7263,11372,3},{7268,11335,3}, {7273,11322,3},{7285,11315,3},{7288,11337,3},{7297,11353,3},{7302,11352,3}, {7310,11360,3},{7317,11353,3},{7325,11357,3},{7328,11365,3},{7332,11370,3}, {7332,11385,3},{7333,11403,3},{7335,11397,3},{7335,11385,3},{7335,11377,3}, {7343,11353,3},{7350,11348,3},{7353,11385,3},{7358,11410,3},{7358,11453,3}, {7360,11487,3},{7368,11517,3},{7370,11543,3},{7370,11582,3},{7367,11613,3}, {7367,11658,3},{7358,11725,3},{7358,11772,3},{7358,11795,3},{7357,11863,3}, {7355,11883,3},{7348,11900,3},{7345,11892,3},{7347,11873,3},{7345,11868,3}, {7348,11858,3},{7348,11848,3},{7342,11835,3},{7338,11837,3},{7337,11843,3}, {7333,11837,3},{7328,11835,3},{7323,11840,3},{7320,11848,3},{7310,11898,3}, {7307,11925,3},{7307,11953,3},{7300,11958,3},{7300,11967,3},{7293,11982,3}, {7290,12027,3},{7287,12055,3},{7288,12057,3},{7290,12043,3},{7293,12017,3}, {7295,11990,3},{7297,11982,3},{7300,11975,3},{7302,11982,3},{7298,12058,3}, {7297,12070,3},{7293,12103,3},{7297,12138,3},{7297,12168,3},{7295,12175,3}, {7297,12178,3},{7297,12187,3},{7295,12197,3},{7292,12192,3},{7288,12205,3}, {7287,12242,3},{7282,12265,3},{7278,12305,3},{7273,12335,3},{7272,12347,3}, {7275,12367,3},{7275,12378,3},{7272,12412,3},{7263,12435,3},{7263,12473,3}, {7258,12480,3},{7253,12513,3},{7245,12525,3},{7242,12545,3},{7235,12562,3}, {7233,12570,3},{7233,12588,3},{7227,12612,3},{7228,12625,3},{7235,12637,3}, {7223,12658,3},{7218,12658,3},{7213,12675,3},{7202,12680,3},{7185,12713,3}, {7177,12708,3},{7158,12720,3},{7140,12722,3},{7138,12728,3},{7148,12732,3}, {7175,12718,3},{7183,12723,3},{7190,12733,3},{7197,12722,3},{7200,12705,3}, {7207,12697,3},{7228,12690,3},{7238,12672,3},{7240,12672,3},{7240,12695,3}, {7240,12718,3},{7235,12745,3},{7235,12767,3},{7225,12785,3},{7225,12775,3}, {7223,12775,3},{7223,12787,3},{7218,12807,3},{7202,12843,3},{7197,12843,3}, {7190,12853,3},{7188,12862,3},{7178,12865,3},{7173,12895,3},{7180,12918,3}, {7200,12902,3},{7202,12907,3},{7187,12930,3},{7180,12930,3},{7172,12953,3}, {7172,12952,3},{7173,12943,3},{7177,12930,3},{7172,12912,3},{7170,12890,3}, {7165,12882,3},{7160,12885,3},{7160,12890,3},{7160,12910,3},{7158,12918,3}, {7153,12925,3},{7150,12923,3},{7147,12932,3},{7133,12938,3},{7128,12952,3}, {7127,12965,3},{7122,12970,3},{7113,12975,3},{7112,12973,3},{7108,12963,3}, {7110,12988,3},{7108,12993,3},{7105,12993,3},{7108,13007,3},{7098,13022,3}, {7097,13017,3},{7093,13032,3},{7093,13047,3},{7088,13050,3},{7087,13063,3}, {7088,13070,3},{7095,13072,3},{7097,13080,3},{7083,13090,3},{7077,13088,3}, {7075,13092,3},{7073,13102,3},{7075,13122,3},{7088,13153,3},{7110,13177,3}, {7113,13175,3},{7115,13187,3},{7117,13187,3},{7118,13182,3},{7120,13185,3}, {7123,13200,3},{7122,13218,3},{7123,13212,3},{7125,13195,3},{7130,13195,3}, {7168,13227,3},{7188,13253,3},{7195,13273,3},{7183,13277,3},{7177,13272,3}, {7173,13292,3},{7157,13317,3},{7147,13353,3},{7138,13407,3},{7137,13445,3}, {7140,13462,3},{7137,13475,3},{7130,13465,3},{7127,13467,3},{7135,13477,3}, {7142,13470,3},{7142,13477,3},{7148,13482,3},{7153,13502,3},{7153,13507,3}, {7150,13512,3},{7153,13517,3},{7155,13523,3},{7153,13532,3},{7153,13542,3}, {7157,13533,3},{7157,13537,3},{7162,13558,3},{7163,13587,3},{7162,13613,3}, {7158,13625,3},{7157,13648,3},{7152,13652,3},{7150,13657,3},{7147,13655,3}, {7152,13662,3},{7153,13672,3},{7150,13682,3},{7147,13688,3},{7145,13697,3}, {7142,13707,3},{7140,13723,3},{7137,13727,3},{7137,13723,3},{7135,13728,3}, {7137,13740,3},{7137,13735,3},{7135,13738,3},{7135,13748,3},{7132,13745,3}, {7128,13748,3},{7128,13742,3},{7127,13750,3},{7123,13755,3},{7128,13770,3}, {7125,13767,3},{7125,13773,3},{7122,13767,3},{7122,13757,3},{7120,13753,3}, {7118,13772,3},{7112,13780,3},{7112,13785,3},{7115,13792,3},{7113,13797,3}, {7112,13795,3},{7110,13798,3},{7113,13807,3},{7118,13802,3},{7120,13790,3}, {7118,13785,3},{7120,13785,3},{7122,13775,3},{7123,13775,3},{7125,13783,3}, {7122,13793,3},{7122,13805,3},{7123,13808,3},{7123,13817,3},{7127,13823,3}, {7130,13800,3},{7132,13808,3},{7132,13837,3},{7133,13832,3},{7135,13805,3}, {7133,13800,3},{7137,13793,3},{7138,13795,3},{7137,13788,3},{7138,13783,3}, {7140,13788,3},{7145,13798,3},{7157,13807,3},{7162,13848,3},{7158,13840,3}, {7157,13840,3},{7155,13843,3},{7153,13847,3},{7155,13858,3},{7158,13860,3}, {7160,13855,3},{7165,13872,3},{7158,13892,3},{7157,13905,3},{7147,13912,3}, {7145,13915,3},{7143,13912,3},{7142,13922,3},{7142,13935,3},{7147,13938,3}, {7150,13945,3},{7148,13963,3},{7147,13968,3},{7145,13972,3},{7148,13985,3}, {7147,14003,3},{7150,13998,3},{7153,14000,3},{7158,13983,3},{7167,13973,3}, {7178,13968,3},{7185,13975,3},{7185,13980,3},{7187,13970,3},{7192,13962,3}, {7195,13933,3},{7195,13963,3},{7200,13972,3},{7207,13972,3},{7217,13987,3}, {7217,13995,3},{7213,14007,3},{7217,14020,3},{7220,14020,3},{7223,14003,3}, {7223,13957,3},{7218,13943,3},{7217,13955,3},{7217,13937,3},{7218,13925,3}, {7215,13927,3},{7213,13935,3},{7213,13933,3},{7217,13918,3},{7223,13908,3}, {7233,13917,3},{7242,13933,3},{7242,13938,3},{7250,13953,3},{7250,13978,3}, {7248,13998,3},{7247,14010,3},{7248,14040,3},{7250,14067,3},{7253,14077,3}, {7253,14087,3},{7257,14093,3},{7258,14110,3},{7258,14095,3},{7268,14102,3}, {7278,14075,3},{7280,14067,3},{7287,14058,3},{7290,14065,3},{7285,14135,3}, {7277,14157,3},{7273,14187,3},{7270,14242,3},{7270,14260,3},{7268,14305,3}, {7268,14355,3},{7265,14382,3},{7265,14413,3},{7263,14440,3},{7260,14467,3}, {7257,14537,3},{7250,14582,3},{7245,14620,3},{7240,14652,3},{7235,14685,3}, {7233,14675,3},{7235,14647,3},{7233,14632,3},{7235,14545,3},{7233,14535,3}, {7240,14525,3},{7242,14517,3},{7240,14508,3},{7243,14497,3},{7240,14477,3}, {7227,14458,3},{7222,14452,3},{7228,14440,3},{7230,14428,3},{7227,14423,3}, {7227,14420,3},{7227,14410,3},{7222,14418,3},{7217,14440,3},{7217,14453,3}, {7218,14463,3},{7223,14475,3},{7223,14490,3},{7227,14508,3},{7230,14605,3}, {7232,14693,3},{7225,14687,3},{7203,14643,3},{7187,14602,3},{7185,14595,3}, {7193,14600,3},{7203,14598,3},{7203,14610,3},{7213,14633,3},{7215,14623,3}, {7217,14625,3},{7217,14620,3},{7217,14607,3},{7212,14607,3},{7207,14598,3}, {7210,14593,3},{7215,14595,3},{7215,14585,3},{7218,14583,3},{7220,14590,3}, {7223,14577,3},{7225,14562,3},{7222,14568,3},{7222,14575,3},{7208,14562,3}, {7202,14568,3},{7203,14575,3},{7202,14580,3},{7193,14580,3},{7192,14575,3}, {7192,14558,3},{7187,14535,3},{7192,14520,3},{7193,14508,3},{7197,14498,3}, {7192,14497,3},{7188,14505,3},{7185,14522,3},{7183,14522,3},{7178,14507,3}, {7178,14488,3},{7173,14492,3},{7167,14488,3},{7170,14497,3},{7167,14502,3}, {7170,14508,3},{7168,14525,3},{7165,14532,3},{7173,14555,3},{7172,14575,3}, {7177,14593,3},{7178,14607,3},{7187,14625,3},{7190,14635,3},{7208,14663,3}, {7232,14713,3},{7233,14748,3},{7232,14827,3},{7230,14850,3},{7227,14872,3}, {7222,14918,3},{7217,14953,3},{7212,14972,3},{7195,15002,3},{7188,15007,3}, {7183,14998,3},{7182,14987,3},{7177,14972,3},{7177,14963,3},{7182,14957,3}, {7190,14937,3},{7188,14928,3},{7187,14932,3},{7185,14930,3},{7182,14920,3}, {7177,14915,3},{7177,14910,3},{7182,14883,3},{7177,14888,3},{7175,14903,3}, {7170,14898,3},{7170,14885,3},{7167,14882,3},{7167,14900,3},{7170,14910,3}, {7167,14943,3},{7165,14968,3},{7167,14997,3},{7158,15010,3},{7157,15000,3}, {7160,15002,3},{7160,14997,3},{7157,14993,3},{7153,14997,3},{7150,14988,3}, {7147,14987,3},{7150,15005,3},{7152,15027,3},{7150,15032,3},{7152,15043,3}, {7150,15047,3},{7152,15055,3},{7150,15065,3},{7145,15065,3},{7140,15055,3}, {7133,15052,3},{7132,15033,3},{7128,15030,3},{7127,15018,3},{7122,15002,3}, {7120,15002,3},{7122,15015,3},{7127,15028,3},{7127,15038,3},{7133,15057,3}, {7138,15063,3},{7138,15073,3},{7137,15067,3},{7127,15060,3},{7133,15078,3}, {7137,15087,3},{7140,15103,3},{7137,15117,3},{7135,15145,3},{7130,15163,3}, {7125,15173,3},{7118,15177,3},{7100,15213,3},{7098,15213,3},{7098,15207,3}, {7097,15192,3},{7098,15165,3},{7098,15167,3},{7093,15203,3},{7088,15222,3}, {7085,15253,3},{7078,15253,3},{7083,15258,3},{7083,15275,3},{7083,15308,3}, {7085,15312,3},{7085,15332,3},{7087,15333,3},{7088,15345,3},{7087,15347,3}, {7088,15362,3},{7085,15365,3},{7093,15417,3},{7097,15423,3},{7097,15442,3}, {7103,15500,3},{7105,15550,3},{7100,15550,3},{7097,15553,3},{7107,15560,3}, {7110,15593,3},{7108,15655,3},{7110,15682,3},{7105,15797,3},{7095,15858,3}, {7082,15925,3},{7067,15967,3},{7062,15978,3},{7042,16003,3},{7028,16010,3}, {7023,16008,3},{7020,16000,3},{7013,15995,3},{7012,15993,3},{7013,15968,3}, {7010,15983,3},{7010,15992,3},{7003,15985,3},{7000,15987,3},{6995,15975,3}, {6990,15968,3},{6983,15977,3},{6983,15973,3},{6980,15980,3},{6973,15973,3}, {6980,15987,3},{6970,16018,3},{6972,16013,3},{6973,16017,3},{6970,16030,3}, {6965,16032,3},{6968,16038,3},{6968,16057,3},{6965,16080,3},{6963,16087,3}, {6963,16092,3},{6958,16100,3},{6947,16092,3},{6930,16102,3},{6923,16100,3}, {6917,16105,3},{6910,16097,3},{6907,16103,3},{6905,16125,3},{6898,16142,3}, {6892,16138,3},{6878,16122,3},{6868,16122,3},{6857,16107,3},{6855,16100,3}, {6857,16075,3},{6853,16080,3},{6852,16095,3},{6853,16105,3},{6855,16113,3}, {6868,16128,3},{6870,16133,3},{6873,16130,3},{6880,16132,3},{6892,16158,3}, {6902,16157,3},{6907,16150,3},{6917,16147,3},{6922,16138,3},{6928,16147,3}, {6933,16142,3},{6933,16147,3},{6935,16148,3},{6938,16143,3},{6942,16160,3}, {6948,16168,3},{6950,16177,3},{6953,16182,3},{6952,16192,3},{6953,16200,3}, {6958,16202,3},{6962,16220,3},{6963,16217,3},{6965,16220,3},{6965,16230,3}, {6970,16233,3},{6967,16243,3},{6968,16260,3},{6965,16272,3},{6965,16283,3}, {6972,16322,3},{6968,16360,3},{6970,16375,3},{6977,16402,3},{6975,16410,3}, {6972,16415,3},{6963,16438,3},{6960,16453,3},{6958,16475,3},{6958,16563,3}, {6957,16583,3},{6952,16613,3},{6952,16665,3},{6952,16670,3},{6950,16668,3}, {6948,16687,3},{6957,16717,3},{6975,16765,3},{6978,16778,3},{6972,16792,3}, {6972,16807,3},{6965,16792,3},{6955,16825,3},{6938,16820,3},{6928,16823,3}, {6923,16828,3},{6922,16842,3},{6920,16873,3},{6910,16913,3},{6910,16925,3}, {6908,16937,3},{6898,16943,3},{6883,16945,3},{6878,16958,3},{6878,16978,3}, {6882,17035,3},{6880,17050,3},{6875,17062,3},{6880,17053,3},{6882,17057,3}, {6883,17043,3},{6887,17045,3},{6892,17067,3},{6880,17070,3},{6883,17073,3}, {6893,17068,3},{6898,17090,3},{6903,17095,3},{6905,17098,3},{6902,17105,3}, {6903,17117,3},{6905,17103,3},{6915,17097,3},{6917,17088,3},{6923,17093,3}, {6930,17092,3},{6938,17075,3},{6945,17073,3},{6947,17068,3},{6953,17067,3}, {6960,17058,3},{6960,17047,3},{6958,17025,3},{6960,17017,3},{6962,17012,3}, {6967,17015,3},{6973,17028,3},{6975,17050,3},{6978,17057,3},{6980,17055,3}, {6988,17057,3},{6993,17052,3},{7007,17057,3},{7010,17053,3},{7012,17040,3}, {7013,17047,3},{7010,17080,3},{7007,17138,3},{7000,17193,3},{6998,17215,3}, {6997,17250,3},{6998,17273,3},{6990,17283,3},{6987,17303,3},{6985,17317,3}, {6982,17322,3},{6978,17317,3},{6978,17322,3},{6978,17337,3},{6982,17347,3}, {6985,17347,3},{6987,17340,3},{6992,17327,3},{6990,17320,3},{6988,17317,3}, {6990,17317,3},{6993,17322,3},{6995,17347,3},{6988,17370,3},{6987,17368,3}, {6983,17375,3},{6988,17377,3},{6985,17390,3},{6988,17403,3},{6988,17432,3}, {6987,17445,3},{6985,17505,3},{6988,17538,3},{6987,17515,3},{6985,17515,3}, {6985,17530,3},{6985,17543,3},{6988,17552,3},{6990,17572,3},{6988,17583,3}, {6988,17612,3},{6980,17628,3},{6978,17623,3},{6975,17650,3},{6967,17673,3}, {6963,17703,3},{6960,17745,3},{6955,17768,3},{6955,17760,3},{6953,17765,3}, {6953,17773,3},{6950,17790,3},{6947,17808,3},{6943,17823,3},{6947,17830,3}, {6947,17825,3},{6948,17833,3},{6947,17848,3},{6935,17900,3},{6932,17907,3}, {6932,17888,3},{6935,17885,3},{6937,17868,3},{6938,17867,3},{6930,17867,3}, {6928,17872,3},{6930,17888,3},{6928,17900,3},{6930,17907,3},{6927,17928,3}, {6922,17935,3},{6900,17995,3},{6900,17983,3},{6912,17957,3},{6908,17958,3}, {6907,17965,3},{6902,17967,3},{6898,17975,3},{6898,18000,3},{6892,-17977,3}, {6890,-17958,3},{6892,-17952,3},{6895,-17955,3},{6895,-17952,3},{6890,-17943,3}, {6887,-17933,3},{6885,-17935,3},{6885,-17942,3},{6882,-17940,3},{6882,-17922,3}, {6878,-17917,3},{6877,-17892,3},{6858,-17848,3},{6860,-17857,3},{6867,-17875,3}, {6853,-17873,3},{6850,-17843,3},{6848,-17838,3},{6848,-17825,3},{6843,-17803,3}, {6833,-17795,3},{6827,-17808,3},{6825,-17807,3},{6825,-17797,3},{6828,-17795,3}, {6833,-17770,3},{6853,-17835,3},{6855,-17838,3},{6840,-17783,3},{6830,-17755,3}, {6828,-17747,3},{6830,-17760,3},{6828,-17763,3},{6825,-17777,3},{6822,-17768,3}, {6822,-17762,3},{6818,-17763,3},{6822,-17755,3},{6825,-17737,3},{6820,-17717,3}, {6820,-17727,3},{6817,-17723,3},{6815,-17725,3},{6813,-17717,3},{6817,-17707,3}, {6790,-17615,3},{6783,-17590,3},{6768,-17540,3},{6767,-17530,3},{6765,-17530,3}, {6765,-17537,3},{6755,-17527,3},{6753,-17517,3},{6750,-17513,3},{6752,-17527,3}, {6750,-17522,3},{6745,-17522,3},{6735,-17538,3},{6735,-17520,3},{6737,-17510,3}, {6745,-17505,3},{6748,-17508,3},{6742,-17493,3},{6742,-17495,3},{6740,-17493,3}, {6738,-17487,3},{6738,-17483,3},{6730,-17478,3},{6728,-17480,3},{6732,-17483,3}, {6728,-17490,3},{6710,-17495,3},{6698,-17492,3},{6693,-17480,3},{6693,-17473,3}, {6690,-17480,3},{6687,-17477,3},{6673,-17475,3},{6675,-17477,3},{6675,-17487,3}, {6672,-17488,3},{6670,-17495,3},{6668,-17495,3},{6667,-17500,3},{6662,-17490,3}, {6658,-17465,3},{6653,-17448,3},{6645,-17442,3},{6647,-17448,3},{6645,-17452,3}, {6638,-17450,3},{6635,-17442,3},{6633,-17450,3},{6630,-17447,3},{6630,-17443,3}, {6632,-17435,3},{6635,-17440,3},{6640,-17432,3},{6642,-17422,3},{6647,-17427,3}, {6647,-17420,3},{6648,-17415,3},{6648,-17402,3},{6645,-17398,3},{6640,-17405,3}, {6635,-17398,3},{6632,-17407,3},{6625,-17408,3},{6622,-17402,3},{6627,-17398,3}, {6632,-17385,3},{6633,-17393,3},{6635,-17383,3},{6637,-17378,3},{6645,-17375,3}, {6648,-17388,3},{6652,-17392,3},{6655,-17422,3},{6658,-17430,3},{6668,-17402,3}, {6667,-17398,3},{6668,-17395,3},{6670,-17400,3},{6685,-17402,3},{6690,-17408,3}, {6693,-17408,3},{6698,-17412,3},{6698,-17430,3},{6700,-17432,3},{6702,-17425,3}, {6705,-17428,3},{6703,-17453,3},{6705,-17457,3},{6707,-17443,3},{6708,-17442,3}, {6705,-17462,3},{6707,-17465,3},{6708,-17462,3},{6710,-17438,3},{6708,-17383,3}, {6710,-17375,3},{6713,-17368,3},{6710,-17352,3},{6708,-17350,3},{6705,-17353,3}, {6703,-17352,3},{6703,-17347,3},{6708,-17343,3},{6705,-17313,3},{6705,-17323,3}, {6707,-17330,3},{6703,-17330,3},{6702,-17318,3},{6700,-17322,3},{6700,-17330,3}, {6697,-17335,3},{6695,-17335,3},{6692,-17333,3},{6692,-17337,3},{6688,-17333,3}, {6687,-17337,3},{6683,-17337,3},{6683,-17322,3},{6687,-17315,3},{6688,-17322,3}, {6692,-17320,3},{6692,-17328,3},{6695,-17322,3},{6698,-17322,3},{6700,-17312,3}, {6695,-17308,3},{6693,-17303,3},{6690,-17278,3},{6693,-17265,3},{6692,-17258,3}, {6693,-17243,3},{6697,-17255,3},{6703,-17305,3},{6705,-17307,3},{6705,-17305,3}, {6702,-17262,3},{6700,-17250,3},{6702,-17278,3},{6697,-17233,3},{6695,-17205,3}, {6698,-17195,3},{6695,-17192,3},{6695,-17173,3},{6693,-17168,3},{6685,-17170,3}, {6680,-17160,3},{6677,-17142,3},{6675,-17140,3},{6672,-17143,3},{6665,-17133,3}, {6657,-17110,3},{6652,-17088,3},{6645,-17073,3},{6635,-17058,3},{6632,-17042,3}, {6630,-17057,3},{6628,-17055,3},{6623,-17065,3},{6623,-17055,3},{6630,-17045,3}, {6630,-17032,3},{6620,-17013,3},{6618,-17018,3},{6620,-17030,3},{6618,-17033,3}, {6615,-17023,3},{6615,-17018,3},{6617,-17015,3},{6613,-16993,3},{6617,-16992,3}, {6618,-17003,3},{6613,-16972,3},{6607,-16968,3},{6600,-16978,3},{6598,-16982,3}, {6602,-16993,3},{6603,-17000,3},{6602,-17012,3},{6585,-17062,3},{6585,-17055,3}, {6583,-17052,3},{6577,-17057,3},{6573,-17053,3},{6567,-17053,3},{6562,-17058,3}, {6560,-17068,3},{6562,-17088,3},{6565,-17090,3},{6568,-17108,3},{6570,-17120,3}, {6577,-17127,3},{6582,-17142,3},{6583,-17153,3},{6582,-17148,3},{6575,-17143,3}, {6573,-17132,3},{6572,-17137,3},{6567,-17128,3},{6563,-17113,3},{6560,-17107,3}, {6560,-17102,3},{6548,-17105,3},{6548,-17117,3},{6553,-17140,3},{6548,-17207,3}, {6550,-17193,3},{6552,-17182,3},{6553,-17183,3},{6553,-17203,3},{6555,-17207,3}, {6557,-17212,3},{6553,-17223,3},{6555,-17233,3},{6558,-17228,3},{6563,-17237,3}, {6567,-17235,3},{6567,-17242,3},{6568,-17257,3},{6568,-17262,3},{6570,-17265,3}, {6568,-17280,3},{6570,-17285,3},{6567,-17280,3},{6567,-17267,3},{6563,-17268,3}, {6562,-17267,3},{6560,-17240,3},{6553,-17243,3},{6548,-17233,3},{6547,-17247,3}, {6542,-17240,3},{6543,-17228,3},{6550,-17215,3},{6535,-17225,3},{6525,-17225,3}, {6523,-17225,3},{6527,-17228,3},{6527,-17238,3},{6525,-17253,3},{6523,-17258,3}, {6527,-17262,3},{6527,-17267,3},{6525,-17270,3},{6523,-17268,3},{6522,-17262,3}, {6522,-17230,3},{6520,-17225,3},{6513,-17218,3},{6513,-17225,3},{6508,-17220,3}, {6510,-17213,3},{6508,-17213,3},{6492,-17247,3},{6492,-17250,3},{6492,-17253,3}, {6490,-17260,3},{6488,-17270,3},{6487,-17275,3},{6485,-17280,3},{6488,-17295,3}, {6487,-17305,3},{6485,-17308,3},{6482,-17310,3},{6478,-17320,3},{6478,-17317,3}, {6485,-17297,3},{6478,-17278,3},{6477,-17278,3},{6473,-17287,3},{6472,-17287,3}, {6472,-17297,3},{6467,-17308,3},{6467,-17305,3},{6468,-17290,3},{6467,-17287,3}, {6462,-17295,3},{6458,-17302,3},{6458,-17295,3},{6462,-17288,3},{6463,-17278,3}, {6460,-17273,3},{6458,-17267,3},{6457,-17255,3},{6455,-17247,3},{6450,-17243,3}, {6443,-17228,3},{6442,-17245,3},{6440,-17250,3},{6438,-17263,3},{6442,-17273,3}, {6442,-17280,3},{6447,-17277,3},{6450,-17282,3},{6452,-17283,3},{6452,-17293,3}, {6450,-17295,3},{6450,-17302,3},{6447,-17307,3},{6447,-17292,3},{6445,-17288,3}, {6442,-17290,3},{6433,-17290,3},{6432,-17297,3},{6428,-17300,3},{6425,-17318,3}, {6432,-17343,3},{6437,-17342,3},{6445,-17327,3},{6445,-17332,3},{6452,-17328,3}, {6455,-17335,3},{6458,-17333,3},{6458,-17338,3},{6462,-17342,3},{6450,-17335,3}, {6447,-17337,3},{6440,-17347,3},{6435,-17358,3},{6435,-17368,3},{6442,-17405,3}, {6455,-17412,3},{6463,-17435,3},{6465,-17428,3},{6467,-17428,3},{6467,-17445,3}, {6478,-17485,3},{6482,-17500,3},{6485,-17498,3},{6487,-17502,3},{6478,-17502,3}, {6478,-17513,3},{6478,-17540,3},{6478,-17548,3},{6482,-17552,3},{6483,-17542,3}, {6485,-17542,3},{6485,-17553,3},{6488,-17557,3},{6492,-17563,3},{6495,-17582,3}, {6502,-17592,3},{6507,-17582,3},{6517,-17578,3},{6528,-17592,3},{6530,-17588,3}, {6535,-17593,3},{6540,-17593,3},{6548,-17610,3},{6548,-17618,3},{6548,-17633,3}, {6555,-17657,3},{6562,-17707,3},{6558,-17722,3},{6550,-17740,3},{6548,-17750,3}, {6548,-17770,3},{6548,-17820,3},{6548,-17837,3},{6552,-17855,3},{6555,-17857,3}, {6557,-17852,3},{6562,-17853,3},{6563,-17848,3},{6573,-17847,3},{6575,-17852,3}, {6575,-17862,3},{6577,-17865,3},{6578,-17863,3},{6578,-17868,3},{6585,-17878,3}, {6588,-17887,3},{6592,-17890,3},{6593,-17887,3},{6605,-17898,3},{6598,-17878,3}, {6602,-17870,3},{6612,-17867,3},{6612,-17860,3},{6617,-17855,3},{6618,-17857,3}, {6623,-17852,3},{6627,-17853,3},{6630,-17850,3},{6640,-17850,3},{6640,-17853,3}, {6637,-17857,3},{6637,-17858,3},{6637,-17863,3},{6632,-17865,3},{6620,-17878,3}, {6617,-17897,3},{6620,-17907,3},{6625,-17912,3},{6630,-17908,3},{6638,-17912,3}, {6642,-17918,3},{6635,-17918,3},{6628,-17918,3},{6630,-17930,3},{6632,-17933,3}, {6635,-17942,3},{6618,-17925,3},{6613,-17938,3},{6612,-17963,3},{6613,-17968,3}, {6613,-17958,3},{6615,-17958,3},{6618,-17970,3},{6612,-17977,3},{6595,-17982,3}, {6580,-17975,3},{6563,-17933,3},{6560,-17937,3},{6553,-17932,3},{6543,-17953,3}, {6527,-17957,3},{6517,-17970,3},{6515,-17982,3},{6507,18000,3},{6502,17980,3}, {6493,17968,3},{6482,17948,3},{6482,17945,3},{6482,17942,3},{6480,17925,3}, {6478,17915,3},{6460,17862,3},{6458,17850,3},{6462,17850,3},{6463,17870,3}, {6467,17875,3},{6470,17873,3},{6465,17825,3},{6465,17827,3},{6468,17825,3}, {6468,17808,3},{6467,17800,3},{6470,17792,3},{6470,17778,3},{6472,17762,3}, {6475,17763,3},{6478,17755,3},{6478,17748,3},{6482,17750,3},{6482,17742,3}, {6483,17738,3},{6485,17748,3},{6492,17743,3},{6493,17725,3},{6502,17717,3}, {6508,17690,3},{6502,17658,3},{6508,17642,3},{6508,17638,3},{6505,17638,3}, {6505,17630,3},{6503,17633,3},{6503,17643,3},{6500,17650,3},{6500,17657,3}, {6500,17670,3},{6503,17682,3},{6505,17688,3},{6503,17697,3},{6500,17700,3}, {6498,17707,3},{6492,17722,3},{6488,17725,3},{6485,17722,3},{6483,17730,3}, {6482,17728,3},{6478,17718,3},{6477,17703,3},{6478,17700,3},{6480,17693,3}, {6485,17688,3},{6485,17678,3},{6487,17675,3},{6487,17663,3},{6482,17653,3}, {6480,17643,3},{6485,17640,3},{6492,17618,3},{6492,17608,3},{6495,17607,3}, {6490,17593,3},{6487,17593,3},{6483,17587,3},{6478,17572,3},{6478,17555,3}, {6477,17538,3},{6475,17532,3},{6477,17523,3},{6475,17515,3},{6477,17505,3}, {6468,17477,3},{6468,17470,3},{6468,17443,3},{6467,17452,3},{6467,17465,3}, {6467,17477,3},{6473,17505,3},{6473,17528,3},{6475,17548,3},{6475,17570,3}, {6478,17583,3},{6490,17603,3},{6487,17620,3},{6483,17623,3},{6482,17628,3}, {6477,17630,3},{6472,17642,3},{6465,17632,3},{6463,17615,3},{6453,17612,3}, {6457,17613,3},{6462,17622,3},{6462,17633,3},{6468,17645,3},{6468,17650,3}, {6462,17670,3},{6457,17673,3},{6460,17683,3},{6463,17685,3},{6470,17698,3}, {6472,17715,3},{6478,17733,3},{6475,17748,3},{6465,17745,3},{6455,17737,3}, {6443,17742,3},{6430,17767,3},{6425,17782,3},{6422,17795,3},{6420,17810,3}, {6420,17818,3},{6423,17810,3},{6425,17808,3},{6428,17820,3},{6435,17828,3}, {6442,17823,3},{6443,17820,3},{6440,17818,3},{6445,17818,3},{6427,17837,3}, {6417,17843,3},{6403,17858,3},{6407,17852,3},{6407,17847,3},{6403,17840,3}, {6400,17838,3},{6398,17848,3},{6397,17838,3},{6397,17842,3},{6397,17853,3}, {6395,17858,3},{6395,17865,3},{6400,17863,3},{6390,17870,3},{6363,17877,3}, {6365,17872,3},{6367,17860,3},{6362,17865,3},{6362,17872,3},{6360,17872,3}, {6358,17863,3},{6362,17862,3},{6363,17852,3},{6362,17853,3},{6358,17850,3}, {6360,17847,3},{6362,17847,3},{6363,17835,3},{6358,17827,3},{6357,17827,3}, {6352,17837,3},{6352,17840,3},{6357,17847,3},{6358,17852,3},{6357,17867,3}, {6357,17872,3},{6348,17872,3},{6345,17865,3},{6343,17863,3},{6342,17858,3}, {6338,17868,3},{6340,17877,3},{6343,17883,3},{6353,17875,3},{6358,17875,3}, {6358,17878,3},{6350,17880,3},{6332,17900,3},{6340,17883,3},{6338,17880,3}, {6335,17882,3},{6333,17883,3},{6333,17890,3},{6330,17893,3},{6328,17905,3}, {6323,17913,3},{6323,17920,3},{6322,17927,3},{6315,17942,3},{6305,17940,3}, {6307,17937,3},{6305,17930,3},{6302,17925,3},{6300,17923,3},{6290,17932,3}, {6287,17950,3},{6275,17960,3},{6270,17960,3},{6267,17955,3},{6262,17957,3}, {6262,17943,3},{6253,17940,3},{6250,17935,3},{6250,17918,3},{6247,17910,3}, {6242,17915,3},{6233,17915,3},{6228,17910,3},{6228,17907,3},{6235,17897,3}, {6248,17828,3},{6255,17803,3},{6257,17772,3},{6258,17730,3},{6258,17733,3}, {6262,17727,3},{6268,17733,3},{6273,17732,3},{6277,17733,3},{6277,17740,3}, {6277,17743,3},{6278,17742,3},{6282,17745,3},{6280,17733,3},{6273,17725,3}, {6272,17727,3},{6270,17720,3},{6272,17713,3},{6278,17715,3},{6283,17703,3}, {6285,17703,3},{6287,17698,3},{6278,17700,3},{6277,17705,3},{6272,17697,3}, {6270,17693,3},{6267,17693,3},{6262,17702,3},{6258,17705,3},{6258,17717,3}, {6257,17727,3},{6253,17685,3},{6250,17668,3},{6252,17668,3},{6253,17672,3}, {6253,17668,3},{6248,17660,3},{6247,17660,3},{6247,17663,3},{6240,17642,3}, {6232,17628,3},{6223,17580,3},{6217,17553,3},{6207,17530,3},{6212,17540,3}, {6210,17530,3},{6217,17527,3},{6205,17525,3},{6202,17517,3},{6193,17482,3}, {6192,17477,3},{6193,17480,3},{6195,17478,3},{6195,17470,3},{6198,17460,3}, {6195,17462,3},{6188,17473,3},{6187,17470,3},{6183,17460,3},{6180,17445,3}, {6182,17437,3},{6183,17438,3},{6185,17435,3},{6180,17428,3},{6182,17418,3}, {6180,17415,3},{6182,17420,3},{6182,17418,3},{6183,17407,3},{6183,17408,3}, {6182,17400,3},{6178,17403,3},{6178,17410,3},{6175,17402,3},{6172,17398,3}, {6170,17392,3},{6165,17380,3},{6168,17382,3},{6170,17370,3},{6175,17362,3}, {6175,17357,3},{6165,17347,3},{6155,17348,3},{6155,17335,3},{6152,17328,3}, {6147,17330,3},{6143,17322,3},{6138,17308,3},{6142,17298,3},{6145,17295,3}, {6145,17292,3},{6147,17288,3},{6143,17272,3},{6137,17290,3},{6130,17295,3}, {6128,17285,3},{6133,17267,3},{6127,17277,3},{6123,17267,3},{6120,17265,3}, {6118,17255,3},{6123,17235,3},{6117,17237,3},{6113,17243,3},{6112,17232,3}, {6113,17225,3},{6110,17230,3},{6110,17238,3},{6108,17242,3},{6107,17243,3}, {6108,17248,3},{6105,17248,3},{6102,17238,3},{6102,17228,3},{6102,17222,3}, {6107,17215,3},{6110,17202,3},{6103,17212,3},{6102,17217,3},{6097,17220,3}, {6095,17218,3},{6093,17212,3},{6087,17207,3},{6085,17202,3},{6088,17198,3}, {6092,17200,3},{6095,17195,3},{6085,17195,3},{6083,17185,3},{6085,17173,3}, {6082,17167,3},{6080,17153,3},{6077,17162,3},{6075,17163,3},{6072,17148,3}, {6068,17142,3},{6073,17147,3},{6078,17140,3},{6072,17140,3},{6068,17137,3}, {6063,17137,3},{6055,17118,3},{6057,17108,3},{6053,17100,3},{6050,17085,3}, {6053,17075,3},{6050,17075,3},{6050,17080,3},{6045,17078,3},{6042,17065,3}, {6043,17062,3},{6045,17060,3},{6045,17052,3},{6043,17052,3},{6043,17058,3}, {6038,17062,3},{6037,17060,3},{6035,17065,3},{6033,17067,3},{6027,17050,3}, {6022,17047,3},{5997,17040,3},{5992,17025,3},{5998,17010,3},{6002,17012,3}, {6003,17008,3},{6007,16993,3},{6018,16983,3},{6022,16985,3},{6023,16997,3}, {6025,16988,3},{6023,16982,3},{6028,16975,3},{6042,16970,3},{6043,16960,3}, {6047,16957,3},{6047,16953,3},{6055,16925,3},{6057,16927,3},{6055,16933,3}, {6057,16937,3},{6062,16928,3},{6062,16922,3},{6058,16920,3},{6058,16913,3}, {6057,16915,3},{6057,16903,3},{6055,16892,3},{6057,16877,3},{6055,16867,3}, {6060,16848,3},{6060,16833,3},{6058,16818,3},{6053,16797,3},{6052,16782,3}, {6055,16777,3},{6053,16775,3},{6048,16777,3},{6047,16768,3},{6045,16762,3}, {6043,16753,3},{6047,16748,3},{6043,16747,3},{6042,16745,3},{6047,16733,3}, {6040,16737,3},{6042,16728,3},{6038,16730,3},{6037,16730,3},{6035,16718,3}, {6038,16712,3},{6042,16707,3},{6043,16702,3},{6032,16705,3},{6030,16690,3}, {6028,16693,3},{6025,16693,3},{6022,16683,3},{6000,16655,3},{5985,16630,3}, {5982,16612,3},{5983,16610,3},{5992,16610,3},{5997,16615,3},{6002,16613,3}, {6012,16617,3},{6017,16625,3},{6020,16628,3},{6025,16627,3},{6033,16627,3}, {6040,16623,3},{6038,16627,3},{6040,16633,3},{6045,16635,3},{6048,16640,3}, {6050,16638,3},{6047,16632,3},{6048,16630,3},{6048,16622,3},{6043,16600,3}, {6038,16592,3},{6037,16595,3},{6042,16605,3},{6045,16620,3},{6043,16605,3}, {6038,16598,3},{6033,16585,3},{6028,16577,3},{6025,16565,3},{6022,16552,3}, {6022,16545,3},{6025,16543,3},{6018,16543,3},{6013,16528,3},{6010,16525,3}, {6008,16520,3},{6013,16515,3},{6015,16518,3},{6017,16518,3},{6013,16512,3}, {6012,16505,3},{6013,16500,3},{6008,16500,3},{6007,16505,3},{6008,16507,3}, {6008,16512,3},{6003,16515,3},{5998,16522,3},{5997,16515,3},{5983,16500,3}, {5982,16492,3},{5978,16482,3},{5982,16477,3},{5985,16478,3},{5993,16473,3}, {6003,16460,3},{6008,16453,3},{6012,16445,3},{6007,16435,3},{6008,16432,3}, {6005,16432,3},{6002,16437,3},{6000,16435,3},{5998,16430,3},{5997,16417,3}, {5992,16410,3},{5985,16418,3},{5987,16405,3},{5990,16403,3},{5992,16410,3}, {6000,16420,3},{5998,16412,3},{6003,16403,3},{6003,16390,3},{6002,16385,3}, {6003,16387,3},{6005,16383,3},{6005,16382,3},{6005,16373,3},{6003,16363,3}, {6002,16362,3},{5998,16365,3},{5997,16368,3},{5997,16372,3},{5998,16380,3}, {5988,16368,3},{5990,16350,3},{5985,16345,3},{5982,16337,3},{5962,16338,3}, {5958,16333,3},{5958,16327,3},{5957,16317,3},{5955,16320,3},{5950,16317,3}, {5943,16330,3},{5938,16333,3},{5925,16328,3},{5925,16323,3},{5930,16328,3}, {5928,16320,3},{5930,16317,3},{5927,16308,3},{5923,16307,3},{5920,16308,3}, {5920,16307,3},{5918,16312,3},{5915,16318,3},{5905,16320,3},{5903,16315,3}, {5908,16317,3},{5912,16307,3},{5913,16307,3},{5917,16302,3},{5915,16298,3}, {5917,16295,3},{5913,16293,3},{5913,16288,3},{5903,16300,3},{5903,16305,3}, {5898,16303,3},{5895,16298,3},{5893,16285,3},{5895,16292,3},{5898,16288,3}, {5890,16280,3},{5887,16267,3},{5883,16272,3},{5887,16272,3},{5885,16277,3}, {5887,16278,3},{5883,16277,3},{5875,16252,3},{5867,16240,3},{5845,16213,3}, {5807,16193,3},{5803,16193,3},{5790,16203,3},{5785,16210,3},{5780,16225,3}, {5778,16243,3},{5773,16240,3},{5772,16233,3},{5768,16233,3},{5768,16237,3}, {5777,16248,3},{5787,16247,3},{5792,16250,3},{5795,16255,3},{5795,16265,3}, {5797,16270,3},{5793,16277,3},{5792,16285,3},{5785,16300,3},{5785,16320,3}, {5777,16327,3},{5775,16328,3},{5767,16320,3},{5763,16322,3},{5760,16320,3}, {5758,16312,3},{5748,16305,3},{5743,16285,3},{5735,16273,3},{5735,16277,3}, {5722,16275,3},{5705,16283,3},{5688,16278,3},{5678,16278,3},{5673,16285,3}, {5670,16292,3},{5673,16300,3},{5675,16308,3},{5673,16312,3},{5673,16322,3}, {5670,16325,3},{5663,16322,3},{5657,16325,3},{5655,16323,3},{5648,16327,3}, {5645,16323,3},{5638,16332,3},{5632,16333,3},{5630,16332,3},{5625,16333,3}, {5620,16335,3},{5612,16313,3},{5603,16305,3},{5602,16303,3},{5603,16288,3}, {5610,16275,3},{5615,16270,3},{5622,16258,3},{5622,16252,3},{5623,16260,3}, {5627,16267,3},{5635,16272,3},{5637,16285,3},{5640,16292,3},{5643,16293,3}, {5647,16307,3},{5652,16310,3},{5655,16298,3},{5652,16293,3},{5645,16293,3}, {5643,16290,3},{5648,16275,3},{5648,16270,3},{5648,16263,3},{5642,16257,3}, {5643,16252,3},{5640,16247,3},{5640,16240,3},{5638,16240,3},{5633,16248,3}, {5627,16257,3},{5623,16252,3},{5623,16248,3},{5620,16243,3},{5617,16222,3}, {5610,16210,3},{5607,16203,3},{5602,16205,3},{5595,16202,3},{5587,16193,3}, {5580,16192,3},{5572,16182,3},{5563,16175,3},{5548,16172,3},{5537,16172,3}, {5513,16182,3},{5512,16183,3},{5507,16188,3},{5502,16197,3},{5490,16207,3}, {5487,16215,3},{5483,16215,3},{5482,16210,3},{5477,16212,3},{5470,16200,3}, {5465,16198,3},{5458,16182,3},{5450,16173,3},{5452,16162,3},{5450,16152,3}, {5452,16147,3},{5448,16130,3},{5452,16123,3},{5455,16122,3},{5458,16118,3}, {5458,16112,3},{5455,16085,3},{5453,16072,3},{5452,16072,3},{5437,16040,3}, {5425,16025,3},{5420,16010,3},{5412,15998,3},{5407,15998,3},{5398,15990,3}, {5385,15985,3},{5375,15983,3},{5368,15987,3},{5365,15982,3},{5358,15992,3}, {5367,15987,3},{5367,15990,3},{5357,15997,3},{5352,15997,3},{5347,15993,3}, {5352,15985,3},{5353,15982,3},{5352,15980,3},{5350,15982,3},{5348,15980,3}, {5348,15985,3},{5340,15988,3},{5338,15993,3},{5333,15992,3},{5333,15997,3}, {5330,15997,3},{5327,15992,3},{5320,15997,3},{5327,15997,3},{5327,16002,3}, {5310,16005,3},{5310,15997,3},{5315,15993,3},{5322,15977,3},{5325,15978,3}, {5328,15982,3},{5327,15977,3},{5323,15972,3},{5327,15962,3},{5323,15948,3}, {5315,15938,3},{5317,15928,3},{5308,15903,3},{5302,15892,3},{5288,15872,3}, {5295,15867,3},{5298,15868,3},{5302,15863,3},{5305,15860,3},{5307,15853,3}, {5303,15850,3},{5302,15843,3},{5300,15842,3},{5297,15845,3},{5295,15842,3}, {5290,15845,3},{5292,15848,3},{5290,15853,3},{5293,15848,3},{5295,15852,3}, {5293,15863,3},{5290,15865,3},{5287,15860,3},{5285,15863,3},{5282,15858,3}, {5283,15855,3},{5278,15857,3},{5278,15850,3},{5275,15848,3},{5275,15850,3}, {5273,15857,3},{5272,15860,3},{5265,15857,3},{5262,15853,3},{5265,15842,3}, {5262,15845,3},{5260,15843,3},{5257,15852,3},{5252,15852,3},{5250,15850,3}, {5248,15853,3},{5247,15847,3},{5243,15847,3},{5242,15842,3},{5243,15853,3}, {5238,15857,3},{5235,15850,3},{5233,15855,3},{5230,15855,3},{5227,15852,3}, {5227,15842,3},{5223,15843,3},{5222,15838,3},{5218,15843,3},{5212,15837,3}, {5213,15833,3},{5212,15832,3},{5207,15833,3},{5203,15828,3},{5193,15828,3}, {5190,15818,3},{5180,15812,3},{5177,15802,3},{5172,15798,3},{5167,15792,3}, {5163,15792,3},{5163,15788,3},{5157,15777,3},{5155,15768,3},{5148,15753,3}, {5143,15748,3},{5140,15752,3},{5138,15747,3},{5135,15747,3},{5133,15735,3}, {5123,15725,3},{5120,15722,3},{5120,15715,3},{5107,15695,3},{5102,15682,3}, {5095,15678,3},{5088,15670,3},{5088,15665,3},{5098,15675,3},{5107,15675,3}, {5110,15670,3},{5118,15670,3},{5123,15667,3},{5125,15663,3},{5127,15657,3}, {5132,15652,3},{5142,15652,3},{5147,15648,3},{5152,15647,3},{5175,15650,3}, {5193,15650,3},{5228,15640,3},{5252,15628,3},{5250,15637,3},{5245,15637,3}, {5248,15643,3},{5252,15643,3},{5252,15635,3},{5255,15630,3},{5257,15627,3}, {5285,15610,3},{5292,15610,3},{5297,15610,3},{5302,15610,3},{5307,15608,3}, {5310,15608,3},{5317,15607,3},{5323,15605,3},{5328,15605,3},{5333,15603,3}, {5338,15602,3},{5345,15600,3},{5350,15600,3},{5355,15598,3},{5362,15597,3}, {5367,15597,3},{5372,15595,3},{5377,15595,3},{5383,15592,3},{5385,15593,3}, {5392,15590,3},{5397,15588,3},{5403,15588,3},{5408,15587,3},{5413,15585,3}, {5418,15580,3},{5423,15578,3},{5430,15577,3},{5435,15575,3},{5440,15573,3}, {5445,15572,3},{5452,15570,3},{5457,15568,3},{5462,15567,3},{5468,15567,3}, {5473,15565,3},{5478,15563,3},{5482,15565,3},{5492,15560,3},{5513,15557,3}, {5533,15555,3},{5557,15558,3},{5562,15562,3},{5592,15565,3},{5605,15568,3}, {5610,15572,3},{5610,15577,3},{5613,15573,3},{5660,15593,3},{5667,15595,3}, {5682,15612,3},{5685,15617,3},{5683,15617,3},{5677,15607,3},{5672,15607,3}, {5678,15613,3},{5682,15620,3},{5685,15620,3},{5695,15645,3},{5702,15652,3}, {5708,15653,3},{5710,15655,3},{5707,15665,3},{5703,15667,3},{5708,15672,3}, {5712,15670,3},{5743,15698,3},{5753,15698,3},{5765,15693,3},{5773,15685,3}, {5773,15675,3},{5780,15687,3},{5782,15690,3},{5785,15698,3},{5780,15707,3}, {5777,15717,3},{5777,15733,3},{5778,15743,3},{5782,15750,3},{5788,15757,3}, {5795,15758,3},{5798,15763,3},{5802,15765,3},{5802,15772,3},{5798,15780,3}, {5798,15792,3},{5798,15805,3},{5802,15822,3},{5800,15827,3},{5795,15833,3}, {5797,15835,3},{5800,15830,3},{5803,15828,3},{5803,15823,3},{5827,15867,3}, {5842,15903,3},{5845,15910,3},{5852,15915,3},{5847,15923,3},{5853,15918,3}, {5867,15940,3},{5868,15948,3},{5872,15950,3},{5880,15962,3},{5883,15962,3}, {5887,15972,3},{5895,15975,3},{5902,15973,3},{5905,15978,3},{5908,15978,3}, {5917,15990,3},{5923,16005,3},{5932,16020,3},{5935,16033,3},{5945,16045,3}, {5955,16048,3},{5962,16087,3},{5972,16097,3},{5977,16110,3},{5985,16125,3}, {6005,16147,3},{6007,16150,3},{6007,16158,3},{6010,16163,3},{6012,16172,3}, {6017,16182,3},{6025,16193,3},{6032,16192,3},{6033,16192,3},{6032,16187,3}, {6042,16192,3},{6048,16212,3},{6053,16220,3},{6055,16240,3},{6062,16250,3}, {6060,16262,3},{6065,16277,3},{6077,16288,3},{6078,16302,3},{6077,16308,3}, {6078,16312,3},{6080,16310,3},{6082,16318,3},{6082,16330,3},{6080,16330,3}, {6075,16327,3},{6072,16332,3},{6075,16330,3},{6083,16340,3},{6087,16357,3}, {6087,16370,3},{6093,16375,3},{6100,16352,3},{6100,16347,3},{6102,16347,3}, {6105,16352,3},{6107,16360,3},{6112,16360,3},{6115,16363,3},{6123,16393,3}, {6130,16395,3},{6133,16402,3},{6137,16402,3},{6143,16397,3},{6145,16385,3}, {6142,16378,3},{6145,16375,3},{6157,16383,3},{6163,16385,3},{6168,16402,3}, {6178,16407,3},{6183,16403,3},{6188,16407,3},{6198,16405,3},{6203,16410,3}, {6210,16407,3},{6215,16410,3},{6220,16408,3},{6227,16412,3},{6233,16423,3}, {6237,16440,3},{6242,16443,3},{6245,16452,3},{6247,16458,3},{6247,16472,3}, {6242,16492,3},{6242,16508,3},{6238,16523,3},{6232,16528,3},{6232,16533,3}, {6240,16523,3},{6245,16508,3},{6247,16513,3},{6248,16535,3},{6245,16547,3}, {6243,16562,3},{6245,16565,3},{6250,16532,3},{6252,16503,3},{6255,16492,3}, {6258,16470,3},{6268,16458,3},{6272,16437,3},{6268,16427,3},{6265,16395,3}, {6260,16392,3},{6262,16373,3},{6257,16348,3},{6255,16327,3},{6252,16322,3}, {6247,16322,3},{6245,16317,3},{6243,16322,3},{6240,16323,3},{6238,16332,3}, {6235,16335,3},{6233,16323,3},{6230,16322,3},{6230,16317,3},{6228,16312,3}, {6220,16308,3},{6212,16313,3},{6210,16308,3},{6207,16317,3},{6202,16310,3}, {6198,16310,3},{6197,16303,3},{6193,16300,3},{6192,16305,3},{6180,16295,3}, {6178,16298,3},{6175,16323,3},{6172,16330,3},{6168,16332,3},{6167,16328,3}, {6165,16320,3},{6162,16322,3},{6163,16313,3},{6162,16310,3},{6160,16307,3}, {6155,16308,3},{6152,16300,3},{6158,16295,3},{6158,16288,3},{6162,16290,3}, {6163,16285,3},{6167,16293,3},{6172,16285,3},{6172,16280,3},{6168,16265,3}, {6167,16263,3},{6163,16270,3},{6163,16275,3},{6160,16275,3},{6162,16267,3}, {6167,16253,3},{6167,16240,3},{6163,16235,3},{6162,16228,3},{6158,16228,3}, {6157,16222,3},{6153,16222,3},{6147,16208,3},{6145,16205,3},{6142,16203,3}, {6138,16193,3},{6143,16188,3},{6135,16187,3},{6138,16180,3},{6130,16175,3}, {6127,16165,3},{6127,16157,3},{6123,16162,3},{6120,16157,3},{6120,16147,3}, {6117,16142,3},{6113,16143,3},{6108,16130,3},{6107,16122,3},{6100,16117,3}, {6097,16103,3},{6092,16095,3},{6092,16090,3},{6080,16082,3},{6073,16080,3}, {6078,16067,3},{6073,16062,3},{6073,16058,3},{6075,16057,3},{6072,16045,3}, {6073,16040,3},{6075,16042,3},{6075,16038,3},{6072,16033,3},{6070,16035,3}, {6067,16028,3},{6063,16027,3},{6058,16013,3},{6068,16012,3},{6068,16018,3}, {6072,16018,3},{6073,16022,3},{6078,16022,3},{6083,16017,3},{6085,16023,3}, {6090,16023,3},{6092,16030,3},{6090,16032,3},{6092,16035,3},{6095,16033,3}, {6100,16040,3},{6103,16038,3},{6105,16043,3},{6107,16035,3},{6105,16017,3}, {6098,15993,3},{6095,15992,3},{6093,15978,3},{6098,15980,3},{6103,15990,3}, {6110,15993,3},{6112,15998,3},{6115,15993,3},{6118,15995,3},{6122,15990,3}, {6125,15992,3},{6127,15985,3},{6125,15975,3},{6130,15983,3},{6132,15985,3}, {6128,15993,3},{6132,16000,3},{6130,15992,3},{6133,15988,3},{6137,15995,3}, {6138,15995,3},{6140,15997,3},{6138,16003,3},{6142,16003,3},{6145,16008,3}, {6147,16002,3},{6152,16008,3},{6152,16017,3},{6157,16023,3},{6158,16022,3}, {6163,16023,3},{6167,16028,3},{6170,16023,3},{6177,16037,3},{6182,16035,3}, {6185,16037,3},{6187,16035,3},{6190,16037,3},{6192,16033,3},{6195,16035,3}, {6195,16033,3},{6188,16015,3},{6188,16010,3},{6182,15997,3},{6178,15992,3}, {6172,15983,3},{6173,15975,3},{6170,15972,3},{6172,15967,3},{6170,15967,3}, {6167,15953,3},{6168,15948,3},{6172,15948,3},{6182,15953,3},{6182,15950,3}, {6177,15945,3},{6183,15933,3},{6185,15938,3},{6188,15937,3},{6192,15920,3}, {6188,15888,3},{6185,15883,3},{6182,15885,3},{6183,15863,3},{6178,15852,3}, {6182,15845,3},{6182,15832,3},{6175,15812,3},{6173,15803,3},{6178,15790,3}, {6180,15748,3},{6177,15737,3},{6170,15737,3},{6172,15728,3},{6170,15715,3}, {6165,15702,3},{6160,15698,3},{6153,15687,3},{6153,15670,3},{6142,15663,3}, {6133,15667,3},{6128,15663,3},{6122,15667,3},{6122,15658,3},{6118,15642,3}, {6102,15610,3},{6088,15592,3},{6085,15590,3},{6072,15590,3},{6073,15582,3}, {6067,15570,3},{6065,15565,3},{6062,15555,3},{6058,15552,3},{6058,15548,3}, {6053,15548,3},{6052,15545,3},{6052,15542,3},{6053,15538,3},{6052,15533,3}, {6047,15518,3},{6042,15513,3},{6040,15508,3},{6035,15493,3},{6027,15480,3}, {6005,15453,3},{5992,15447,3},{5988,15448,3},{5985,15440,3},{5988,15443,3}, {5990,15440,3},{5988,15423,3},{5972,15423,3},{5958,15437,3},{5958,15430,3}, {5965,15422,3},{5955,15413,3},{5952,15407,3},{5947,15410,3},{5945,15413,3}, {5945,15428,3},{5948,15435,3},{5952,15435,3},{5953,15438,3},{5950,15440,3}, {5947,15438,3},{5942,15443,3},{5943,15450,3},{5950,15442,3},{5955,15442,3}, {5953,15457,3},{5955,15463,3},{5948,15475,3},{5948,15483,3},{5945,15485,3}, {5948,15490,3},{5950,15497,3},{5940,15507,3},{5937,15518,3},{5928,15513,3}, {5925,15518,3},{5922,15513,3},{5917,15518,3},{5920,15507,3},{5918,15500,3}, {5920,15477,3},{5917,15473,3},{5912,15477,3},{5913,15470,3},{5913,15465,3}, {5920,15452,3},{5922,15445,3},{5920,15433,3},{5918,15432,3},{5912,15435,3}, {5912,15430,3},{5908,15427,3},{5910,15415,3},{5905,15403,3},{5908,15390,3}, {5917,15380,3},{5918,15367,3},{5922,15373,3},{5925,15373,3},{5927,15375,3}, {5920,15358,3},{5922,15352,3},{5925,15337,3},{5922,15332,3},{5915,15332,3}, {5913,15327,3},{5913,15332,3},{5908,15330,3},{5910,15315,3},{5907,15298,3}, {5895,15288,3},{5890,15290,3},{5893,15282,3},{5890,15272,3},{5895,15263,3}, {5895,15255,3},{5900,15247,3},{5902,15240,3},{5903,15240,3},{5905,15235,3}, {5902,15235,3},{5900,15220,3},{5898,15212,3},{5892,15212,3},{5890,15208,3}, {5885,15157,3},{5887,15145,3},{5883,15132,3},{5892,15128,3},{5895,15122,3}, {5902,15118,3},{5903,15113,3},{5912,15107,3},{5908,15117,3},{5912,15133,3}, {5915,15137,3},{5917,15140,3},{5917,15162,3},{5915,15167,3},{5913,15172,3}, {5915,15180,3},{5915,15187,3},{5915,15205,3},{5920,15217,3},{5920,15228,3}, {5923,15228,3},{5927,15217,3},{5930,15213,3},{5928,15208,3},{5927,15198,3}, {5930,15187,3},{5930,15170,3},{5932,15167,3},{5935,15172,3},{5938,15167,3}, {5943,15167,3},{5948,15160,3},{5950,15148,3},{5955,15145,3},{5957,15140,3}, {5960,15137,3},{5960,15133,3},{5957,15130,3},{5957,15123,3},{5958,15110,3}, {5957,15090,3},{5955,15087,3},{5950,15093,3},{5948,15092,3},{5947,15093,3}, {5945,15087,3},{5945,15068,3},{5947,15068,3},{5948,15073,3},{5950,15072,3}, {5952,15067,3},{5948,15043,3},{5952,15050,3},{5955,15073,3},{5957,15073,3}, {5955,15052,3},{5958,15043,3},{5960,15045,3},{5962,15042,3},{5962,15035,3}, {5965,15027,3},{5965,15013,3},{5970,15003,3},{5977,14962,3},{5975,14937,3}, {5977,14935,3},{5975,14932,3},{5973,14935,3},{5973,14933,3},{5968,14918,3}, {5965,14910,3},{5963,14903,3},{5962,14903,3},{5958,14910,3},{5955,14908,3}, {5953,14918,3},{5950,14922,3},{5947,14922,3},{5950,14912,3},{5945,14897,3}, {5947,14895,3},{5947,14890,3},{5948,14885,3},{5952,14883,3},{5953,14888,3}, {5955,14885,3},{5948,14875,3},{5945,14870,3},{5938,14870,3},{5937,14878,3}, {5940,14887,3},{5935,14887,3},{5938,14892,3},{5940,14892,3},{5938,14897,3}, {5932,14892,3},{5925,14895,3},{5923,14890,3},{5925,14887,3},{5928,14880,3}, {5925,14877,3},{5923,14872,3},{5927,14868,3},{5925,14855,3},{5927,14842,3}, {5927,14840,3},{5930,14840,3},{5933,14837,3},{5935,14840,3},{5938,14837,3}, {5942,14822,3},{5938,14783,3},{5935,14778,3},{5930,14783,3},{5928,14782,3}, {5927,14770,3},{5930,14767,3},{5930,14760,3},{5928,14755,3},{5925,14755,3}, {5923,14748,3},{5932,14730,3},{5932,14717,3},{5937,14700,3},{5935,14687,3}, {5937,14673,3},{5942,14667,3},{5947,14653,3},{5945,14647,3},{5938,14632,3}, {5927,14632,3},{5920,14635,3},{5918,14632,3},{5920,14618,3},{5915,14603,3}, {5915,14595,3},{5922,14593,3},{5922,14585,3},{5927,14580,3},{5933,14587,3}, {5935,14592,3},{5942,14592,3},{5940,14583,3},{5942,14582,3},{5938,14577,3}, {5942,14567,3},{5943,14567,3},{5942,14562,3},{5938,14532,3},{5942,14528,3}, {5942,14525,3},{5938,14507,3},{5938,14493,3},{5938,14477,3},{5938,14480,3}, {5940,14477,3},{5940,14462,3},{5938,14463,3},{5937,14468,3},{5937,14442,3}, {5938,14445,3},{5940,14438,3},{5940,14432,3},{5938,14428,3},{5942,14405,3}, {5942,14390,3},{5940,14378,3},{5933,14353,3},{5933,14343,3},{5937,14333,3}, {5938,14320,3},{5937,14313,3},{5935,14315,3},{5923,14258,3},{5912,14225,3}, {5897,14198,3},{5882,14183,3},{5868,14170,3},{5865,14162,3},{5852,14133,3}, {5848,14122,3},{5847,14108,3},{5830,14078,3},{5823,14068,3},{5808,14062,3}, {5793,14052,3},{5782,14050,3},{5780,14042,3},{5775,14035,3},{5777,14028,3}, {5772,14005,3},{5765,13993,3},{5752,13983,3},{5748,13970,3},{5745,13960,3}, {5738,13957,3},{5732,13948,3},{5732,13940,3},{5730,13937,3},{5727,13917,3}, {5715,13907,3},{5713,13907,3},{5715,13897,3},{5713,13895,3},{5707,13897,3}, {5702,13890,3},{5705,13882,3},{5702,13882,3},{5700,13875,3},{5698,13863,3}, {5687,13858,3},{5685,13848,3},{5673,13840,3},{5672,13830,3},{5668,13830,3}, {5667,13827,3},{5663,13827,3},{5663,13822,3},{5657,13812,3},{5650,13815,3}, {5648,13825,3},{5643,13823,3},{5645,13817,3},{5645,13808,3},{5640,13807,3}, {5638,13802,3},{5638,13792,3},{5630,13788,3},{5625,13785,3},{5623,13777,3}, {5620,13777,3},{5617,13773,3},{5615,13773,3},{5612,13757,3},{5605,13745,3}, {5602,13745,3},{5600,13743,3},{5597,13743,3},{5595,13740,3},{5593,13742,3}, {5597,13737,3},{5597,13733,3},{5593,13730,3},{5588,13717,3},{5580,13707,3}, {5580,13698,3},{5577,13690,3},{5572,13682,3},{5565,13678,3},{5565,13675,3}, {5567,13668,3},{5563,13660,3},{5563,13655,3},{5558,13652,3},{5558,13643,3}, {5553,13635,3},{5543,13630,3},{5535,13618,3},{5530,13613,3},{5530,13607,3}, {5525,13595,3},{5520,13587,3},{5520,13580,3},{5513,13572,3},{5512,13555,3}, {5493,13522,3},{5487,13515,3},{5480,13517,3},{5472,13527,3},{5470,13523,3}, {5472,13533,3},{5468,13547,3},{5467,13567,3},{5458,13570,3},{5457,13573,3}, {5457,13600,3},{5460,13610,3},{5462,13622,3},{5460,13628,3},{5458,13653,3}, {5465,13662,3},{5468,13667,3},{5463,13665,3},{5462,13670,3},{5465,13677,3}, {5465,13682,3},{5460,13682,3},{5458,13688,3},{5452,13682,3},{5448,13683,3}, {5447,13682,3},{5443,13683,3},{5442,13682,3},{5443,13677,3},{5442,13673,3}, {5435,13677,3},{5432,13682,3},{5428,13675,3},{5425,13682,3},{5422,13675,3}, {5415,13682,3},{5408,13677,3},{5405,13677,3},{5402,13670,3},{5393,13665,3}, {5382,13668,3},{5377,13678,3},{5378,13682,3},{5383,13685,3},{5385,13695,3}, {5385,13703,3},{5382,13708,3},{5380,13712,3},{5387,13720,3},{5403,13728,3}, {5403,13717,3},{5413,13707,3},{5418,13717,3},{5422,13718,3},{5422,13725,3}, {5427,13728,3},{5428,13737,3},{5430,13738,3},{5432,13748,3},{5430,13753,3}, {5430,13762,3},{5430,13765,3},{5432,13768,3},{5432,13773,3},{5430,13773,3}, {5423,13762,3},{5418,13758,3},{5415,13752,3},{5413,13752,3},{5412,13748,3}, {5408,13748,3},{5408,13745,3},{5413,13745,3},{5415,13742,3},{5412,13730,3}, {5405,13730,3},{5403,13743,3},{5397,13757,3},{5395,13760,3},{5397,13767,3}, {5393,13775,3},{5397,13787,3},{5390,13778,3},{5388,13770,3},{5383,13760,3}, {5378,13760,3},{5377,13755,3},{5372,13757,3},{5368,13750,3},{5367,13748,3}, {5367,13735,3},{5362,13728,3},{5360,13722,3},{5358,13720,3},{5357,13722,3}, {5353,13732,3},{5352,13738,3},{5353,13748,3},{5355,13768,3},{5357,13790,3}, {5363,13802,3},{5367,13813,3},{5373,13828,3},{5390,13835,3},{5400,13858,3}, {5398,13858,3},{5393,13857,3},{5387,13858,3},{5382,13857,3},{5368,13837,3}, {5365,13835,3},{5360,13835,3},{5357,13823,3},{5353,13825,3},{5348,13822,3}, {5352,13825,3},{5352,13828,3},{5352,13845,3},{5357,13855,3},{5367,13862,3}, {5383,13870,3},{5385,13868,3},{5390,13868,3},{5395,13875,3},{5402,13878,3}, {5407,13878,3},{5410,13877,3},{5407,13867,3},{5417,13873,3},{5420,13872,3}, {5423,13875,3},{5427,13872,3},{5430,13865,3},{5432,13873,3},{5423,13900,3}, {5418,13933,3},{5425,13963,3},{5432,13975,3},{5430,13982,3},{5423,13978,3}, {5422,13982,3},{5420,13992,3},{5418,13990,3},{5412,14002,3},{5408,14015,3}, {5405,14025,3},{5400,14023,3},{5397,14033,3},{5390,14025,3},{5387,14025,3}, {5378,14037,3},{5375,14045,3},{5372,14053,3},{5368,14052,3},{5365,14055,3}, {5357,14077,3},{5347,14110,3},{5350,14097,3},{5347,14093,3},{5343,14093,3}, {5345,14100,3},{5340,14103,3},{5340,14112,3},{5337,14112,3},{5330,14123,3}, {5332,14130,3},{5328,14142,3},{5322,14135,3},{5322,14142,3},{5318,14142,3}, {5315,14143,3},{5312,14138,3},{5308,14137,3},{5307,14137,3},{5307,14135,3}, {5308,14125,3},{5303,14118,3},{5302,14125,3},{5298,14122,3},{5298,14115,3}, {5305,14097,3},{5307,14090,3},{5312,14087,3},{5312,14080,3},{5312,14070,3}, {5310,14077,3},{5303,14085,3},{5302,14095,3},{5298,14093,3},{5293,14097,3}, {5292,14105,3},{5288,14108,3},{5285,14118,3},{5285,14127,3},{5277,14120,3}, {5273,14127,3},{5268,14128,3},{5265,14132,3},{5263,14128,3},{5258,14128,3}, {5252,14122,3},{5247,14113,3},{5240,14113,3},{5235,14117,3},{5233,14123,3}, {5228,14128,3},{5227,14133,3},{5222,14140,3},{5222,14153,3},{5215,14155,3}, {5215,14153,3},{5217,14150,3},{5210,14135,3},{5208,14137,3},{5202,14130,3}, {5195,14143,3},{5192,14142,3},{5188,14128,3},{5183,14122,3},{5177,14118,3}, {5170,14112,3},{5167,14112,3},{5168,14108,3},{5167,14102,3},{5162,14092,3}, {5150,14090,3},{5148,14083,3},{5145,14078,3},{5143,14082,3},{5142,14082,3}, {5142,14090,3},{5137,14087,3},{5133,14080,3},{5133,14077,3},{5132,14068,3}, {5127,14070,3},{5125,14072,3},{5122,14065,3},{5118,14068,3},{5113,14067,3}, {5110,14070,3},{5105,14072,3},{5102,14070,3},{5100,14067,3},{5095,14068,3}, {5092,14060,3},{5087,14053,3},{5082,14055,3},{5070,14047,3},{5062,14052,3}, {5060,14048,3},{5053,14043,3},{5045,14050,3},{5033,14055,3},{5030,14052,3}, {5022,14053,3},{5017,14052,3},{5008,14058,3},{5007,14058,3},{5008,14062,3}, {5010,14068,3},{5008,14070,3},{5003,14063,3},{4998,14048,3},{4988,14043,3}, {4987,14040,3},{4980,14047,3},{4977,14053,3},{4968,14052,3},{4957,14055,3}, {4940,14045,3},{4928,14043,3},{4928,14033,3},{4927,14033,3},{4927,14040,3}, {4920,14033,3},{4920,14037,3},{4917,14035,3},{4915,14037,3},{4910,14035,3}, {4908,14035,3},{4908,14030,3},{4907,14033,3},{4903,14035,3},{4900,14022,3}, {4900,14028,3},{4897,14025,3},{4897,14028,3},{4897,14030,3},{4898,14030,3}, {4902,14035,3},{4898,14037,3},{4898,14040,3},{4890,14035,3},{4885,14025,3}, {4877,14022,3},{4867,14018,3},{4858,14020,3},{4857,14017,3},{4852,14020,3}, {4845,14018,3},{4842,14008,3},{4833,14003,3},{4830,13993,3},{4817,13973,3}, {4807,13965,3},{4797,13952,3},{4792,13940,3},{4782,13928,3},{4773,13922,3}, {4765,13920,3},{4763,13917,3},{4747,13905,3},{4742,13905,3},{4737,13898,3}, {4732,13897,3},{4730,13888,3},{4718,13877,3},{4708,13862,3},{4703,13857,3}, {4692,13850,3},{4687,13850,3},{4680,13842,3},{4673,13838,3},{4663,13835,3}, {4653,13833,3},{4648,13823,3},{4645,13820,3},{4628,13812,3},{4622,13810,3}, {4613,13802,3},{4610,13795,3},{4607,13793,3},{4593,13778,3},{4587,13770,3}, {4580,13767,3},{4568,13752,3},{4560,13737,3},{4537,13713,3},{4533,13705,3}, {4518,13682,3},{4508,13677,3},{4503,13668,3},{4503,13665,3},{4493,13655,3}, {4488,13655,3},{4488,13653,3},{4483,13648,3},{4483,13645,3},{4477,13643,3}, {4478,13637,3},{4475,13633,3},{4473,13630,3},{4470,13633,3},{4468,13627,3}, {4467,13625,3},{4462,13622,3},{4458,13623,3},{4455,13620,3},{4452,13618,3}, {4445,13607,3},{4445,13600,3},{4443,13598,3},{4440,13588,3},{4435,13583,3}, {4432,13583,3},{4427,13580,3},{4423,13572,3},{4418,13568,3},{4417,13565,3}, {4412,13567,3},{4403,13563,3},{4400,13555,3},{4398,13553,3},{4395,13553,3}, {4395,13552,3},{4392,13552,3},{4395,13548,3},{4395,13545,3},{4392,13547,3}, {4390,13547,3},{4388,13552,3},{4375,13542,3},{4375,13538,3},{4372,13535,3}, {4372,13532,3},{4368,13527,3},{4372,13525,3},{4373,13525,3},{4373,13523,3}, {4372,13522,3},{4372,13518,3},{4368,13523,3},{4363,13522,3},{4360,13517,3}, {4350,13513,3},{4350,13507,3},{4345,13497,3},{4343,13495,3},{4338,13483,3}, {4330,13477,3},{4330,13470,3},{4323,13460,3},{4323,13455,3},{4315,13442,3}, {4312,13435,3},{4312,13432,3},{4310,13430,3},{4308,13418,3},{4300,13412,3}, {4297,13403,3},{4287,13390,3},{4290,13387,3},{4285,13373,3},{4282,13372,3}, {4285,13368,3},{4285,13360,3},{4282,13357,3},{4282,13353,3},{4282,13352,3}, {4280,13348,3},{4275,13337,3},{4277,13332,3},{4275,13323,3},{4268,13317,3}, {4268,13303,3},{4272,13300,3},{4273,13303,3},{4273,13308,3},{4280,13300,3}, {4282,13300,3},{4282,13293,3},{4282,13290,3},{4277,13288,3},{4273,13285,3}, {4277,13280,3},{4282,13280,3},{4283,13277,3},{4288,13277,3},{4290,13277,3}, {4290,13273,3},{4287,13268,3},{4285,13268,3},{4285,13260,3},{4283,13258,3}, {4287,13250,3},{4292,13250,3},{4293,13247,3},{4293,13240,3},{4292,13238,3}, {4290,13235,3},{4285,13235,3},{4285,13232,3},{4288,13228,3},{4297,13228,3}, {4302,13230,3},{4307,13228,3},{4308,13230,3},{4313,13233,3},{4317,13232,3}, {4317,13235,3},{4320,13238,3},{4322,13237,3},{4322,13232,3},{4325,13230,3}, {4328,13235,3},{4332,13230,3},{4332,13228,3},{4328,13228,3},{4323,13223,3}, {4318,13210,3},{4312,13203,3},{4308,13198,3},{4308,13190,3},{4308,13188,3}, {4312,13192,3},{4308,13183,3},{4320,13192,3},{4323,13200,3},{4328,13205,3}, {4332,13205,3},{4332,13202,3},{4327,13198,3},{4330,13197,3},{4330,13183,3}, {4333,13183,3},{4333,13182,3},{4328,13177,3},{4322,13175,3},{4320,13172,3}, {4318,13177,3},{4317,13175,3},{4317,13173,3},{4318,13170,3},{4318,13167,3}, {4317,13167,3},{4315,13165,3},{4317,13170,3},{4315,13168,3},{4303,13157,3}, {4300,13157,3},{4298,13155,3},{4300,13152,3},{4300,13150,3},{4295,13150,3}, {4293,13143,3},{4293,13138,3},{4292,13138,3},{4290,13142,3},{4288,13140,3}, {4287,13147,3},{4283,13137,3},{4280,13135,3},{4277,13137,3},{4278,13132,3}, {4277,13128,3},{4270,13125,3},{4267,13125,3},{4267,13122,3},{4262,13122,3}, {4260,13123,3},{4257,13123,3},{4255,13120,3},{4257,13117,3},{4260,13120,3}, {4262,13113,3},{4267,13112,3},{4263,13110,3},{4262,13110,3},{4265,13102,3}, {4263,13097,3},{4260,13093,3},{4263,13082,3},{4263,13087,3},{4262,13093,3}, {4265,13095,3},{4265,13088,3},{4263,13080,3},{4265,13078,3},{4267,13083,3}, {4268,13083,3},{4268,13075,3},{4268,13072,3},{4267,13068,3},{4265,13067,3}, {4262,13073,3},{4257,13073,3},{4260,13077,3},{4257,13078,3},{4255,13085,3}, {4252,13087,3},{4252,13083,3},{4247,13083,3},{4245,13078,3},{4235,13075,3}, {4228,13068,3},{4232,13065,3},{4238,13065,3},{4242,13060,3},{4250,13057,3}, {4255,13057,3},{4258,13062,3},{4262,13060,3},{4268,13053,3},{4268,13047,3}, {4270,13042,3},{4272,13040,3},{4275,13043,3},{4283,13063,3},{4283,13077,3}, {4285,13078,3},{4288,13082,3},{4285,13087,3},{4285,13102,3},{4290,13105,3}, {4292,13112,3},{4293,13113,3},{4297,13110,3},{4303,13110,3},{4313,13122,3}, {4315,13122,3},{4320,13118,3},{4327,13127,3},{4337,13127,3},{4340,13132,3}, {4345,13130,3},{4353,13120,3},{4355,13118,3},{4360,13122,3},{4362,13120,3}, {4367,13122,3},{4370,13120,3},{4373,13122,3},{4382,13120,3},{4392,13125,3}, {4397,13123,3},{4403,13125,3},{4405,13130,3},{4408,13128,3},{4413,13127,3}, {4420,13125,3},{4425,13123,3},{4430,13122,3},{4435,13120,3},{4440,13118,3}, {4445,13117,3},{4452,13115,3},{4457,13113,3},{4462,13112,3},{4468,13110,3}, {4470,13107,3},{4475,13105,3},{4478,13100,3},{4483,13095,3},{4487,13105,3}, {4488,13107,3},{4492,13107,3},{4493,13113,3},{4492,13122,3},{4492,13127,3}, {4497,13133,3},{4497,13147,3},{4498,13148,3},{4512,13165,3},{4513,13165,3}, {4517,13163,3},{4520,13165,3},{4522,13167,3},{4522,13175,3},{4533,13183,3}, {4535,13187,3},{4533,13190,3},{4528,13193,3},{4523,13202,3},{4522,13210,3}, {4520,13217,3},{4518,13225,3},{4517,13232,3},{4515,13240,3},{4513,13247,3}, {4512,13253,3},{4510,13262,3},{4508,13268,3},{4507,13277,3},{4505,13283,3}, {4502,13293,3},{4505,13303,3},{4512,13312,3},{4517,13313,3},{4525,13310,3}, {4545,13315,3},{4550,13318,3},{4557,13337,3},{4557,13342,3},{4560,13342,3}, {4562,13347,3},{4565,13345,3},{4567,13348,3},{4568,13348,3},{4570,13345,3}, {4573,13348,3},{4577,13348,3},{4578,13350,3},{4580,13347,3},{4583,13348,3}, {4583,13350,3},{4588,13352,3},{4588,13355,3},{4587,13358,3},{4590,13360,3}, {4593,13362,3},{4593,13367,3},{4607,13372,3},{4615,13368,3},{4615,13375,3}, {4620,13378,3},{4622,13380,3},{4620,13383,3},{4622,13385,3},{4623,13385,3}, {4625,13390,3},{4630,13388,3},{4632,13392,3},{4633,13387,3},{4635,13388,3}, {4637,13392,3},{4640,13393,3},{4642,13390,3},{4643,13385,3},{4647,13385,3}, {4653,13390,3},{4657,13390,3},{4662,13398,3},{4667,13402,3},{4677,13405,3}, {4682,13402,3},{4692,13407,3},{4697,13407,3},{4708,13413,3},{4708,13420,3}, {4712,13422,3},{4713,13422,3},{4717,13418,3},{4720,13420,3},{4725,13415,3}, {4732,13418,3},{4735,13423,3},{4742,13432,3},{4743,13448,3},{4747,13455,3}, {4750,13457,3},{4757,13467,3},{4763,13468,3},{4770,13477,3},{4773,13477,3}, {4780,13468,3},{4787,13467,3},{4790,13460,3},{4795,13460,3},{4800,13455,3}, {4807,13458,3},{4810,13467,3},{4823,13468,3},{4827,13473,3},{4830,13462,3}, {4837,13457,3},{4835,13448,3},{4838,13442,3},{4837,13425,3},{4833,13418,3}, {4832,13405,3},{4830,13402,3},{4827,13398,3},{4827,13388,3},{4825,13375,3}, {4818,13370,3},{4817,13360,3},{4810,13353,3},{4807,13352,3},{4807,13348,3}, {4810,13340,3},{4810,13332,3},{4812,13322,3},{4810,13308,3},{4803,13302,3}, {4800,13288,3},{4795,13283,3},{4793,13277,3},{4795,13275,3},{4795,13267,3}, {4793,13265,3},{4787,13267,3},{4780,13258,3},{4773,13258,3},{4772,13253,3}, {4775,13235,3},{4770,13217,3},{4770,13200,3},{4767,13192,3},{4768,13187,3}, {4767,13182,3},{4770,13168,3},{4767,13162,3},{4765,13158,3},{4767,13155,3}, {4772,13153,3},{4773,13142,3},{4773,13127,3},{4770,13117,3},{4767,13110,3}, {4770,13098,3},{4772,13093,3},{4780,13095,3},{4790,13088,3},{4805,13068,3}, {4810,13067,3},{4813,13067,3},{4818,13075,3},{4825,13077,3},{4828,13083,3}, {4833,13082,3},{4835,13077,3},{4842,13073,3},{4848,13077,3},{4850,13073,3}, {4848,13063,3},{4852,13062,3},{4857,13062,3},{4860,13052,3},{4880,13063,3}, {4885,13067,3},{4887,13067,3},{4888,13062,3},{4885,13052,3},{4888,13047,3}, {4890,13042,3},{4887,13028,3},{4887,13022,3},{4900,12998,3},{4903,12990,3}, {4908,12992,3},{4912,12983,3},{4915,12985,3},{4917,12977,3},{4920,12973,3}, {4927,12972,3},{4928,12968,3},{4927,12960,3},{4930,12955,3},{4938,12953,3}, {4942,12948,3},{4942,12938,3},{4940,12937,3},{4935,12937,3},{4935,12932,3}, {4938,12925,3},{4938,12920,3},{4935,12910,3},{4937,12905,3},{4943,12900,3}, {4945,12892,3},{4947,12890,3},{4948,12885,3},{4947,12875,3},{4950,12875,3}, {4953,12880,3},{4957,12878,3},{4958,12872,3},{4962,12867,3},{4957,12862,3}, {4958,12850,3},{4957,12837,3},{4953,12833,3},{4955,12827,3},{4953,12822,3}, {4953,12810,3},{4958,12800,3},{4960,12795,3},{4958,12790,3},{4958,12782,3}, {4963,12777,3},{4967,12768,3},{4975,12767,3},{4980,12753,3},{4983,12750,3}, {4992,12753,3},{4998,12748,3},{5005,12748,3},{5013,12757,3},{5020,12758,3}, {5032,12733,3},{5042,12735,3},{5047,12728,3},{5057,12737,3},{5068,12728,3}, {5073,12730,3},{5078,12722,3},{5092,12713,3},{5097,12703,3},{5105,12693,3}, {5118,12690,3},{5128,12697,3},{5130,12698,3},{5133,12695,3},{5130,12687,3}, {5127,12688,3},{5125,12690,3},{5123,12688,3},{5125,12685,3},{5127,12682,3}, {5133,12682,3},{5133,12690,3},{5138,12692,3},{5140,12690,3},{5142,12678,3}, {5145,12678,3},{5150,12682,3},{5153,12680,3},{5157,12667,3},{5160,12667,3}, {5163,12673,3},{5167,12670,3},{5170,12672,3},{5172,12670,3},{5173,12667,3}, {5175,12663,3},{5190,12652,3},{5193,12647,3},{5200,12643,3},{5203,12647,3}, {5203,12652,3},{5213,12655,3},{5217,12647,3},{5220,12632,3},{5223,12633,3}, {5228,12643,3},{5230,12632,3},{5238,12633,3},{5247,12627,3},{5247,12620,3}, {5252,12622,3},{5253,12618,3},{5258,12607,3},{5257,12605,3},{5257,12602,3}, {5262,12598,3},{5265,12598,3},{5268,12607,3},{5273,12603,3},{5275,12610,3}, {5277,12610,3},{5278,12605,3},{5277,12597,3},{5285,12587,3},{5288,12587,3}, {5290,12583,3},{5288,12565,3},{5292,12565,3},{5295,12572,3},{5298,12573,3}, {5302,12565,3},{5305,12562,3},{5305,12557,3},{5303,12550,3},{5308,12547,3}, {5320,12517,3},{5320,12507,3},{5317,12488,3},{5310,12490,3},{5308,12485,3}, {5313,12480,3},{5313,12470,3},{5317,12470,3},{5318,12465,3},{5318,12450,3}, {5322,12440,3},{5325,12433,3},{5337,12425,3},{5337,12418,3},{5333,12412,3}, {5340,12402,3},{5343,12398,3},{5347,12388,3},{5350,12370,3},{5355,12362,3}, {5353,12358,3},{5350,12353,3},{5353,12355,3},{5355,12350,3},{5350,12348,3}, {5352,12345,3},{5355,12327,3},{5350,12315,3},{5348,12297,3},{5345,12282,3}, {5345,12262,3},{5343,12242,3},{5348,12232,3},{5347,12225,3},{5347,12217,3}, {5342,12210,3},{5342,12202,3},{5342,12197,3},{5342,12182,3},{5338,12173,3}, {5338,12167,3},{5333,12150,3},{5332,12133,3},{5328,12123,3},{5327,12113,3}, {5328,12107,3},{5328,12103,3},{5328,12087,3},{5327,12083,3},{5323,12083,3}, {5318,12072,3},{5310,12063,3},{5302,12048,3},{5285,12027,3},{5280,12017,3}, {5280,12012,3},{5277,12003,3},{5270,12005,3},{5262,12003,3},{5258,12007,3}, {5258,12018,3},{5262,12028,3},{5262,12038,3},{5263,12043,3},{5253,12072,3}, {5243,12068,3},{5233,12062,3},{5230,12065,3},{5223,12077,3},{5212,12078,3}, {5207,12075,3},{5205,12070,3},{5198,12072,3},{5192,12065,3},{5190,12057,3}, {5188,12055,3},{5188,12048,3},{5183,12047,3},{5183,12040,3},{5177,12032,3}, {5167,12018,3},{5167,12010,3},{5162,12005,3},{5155,12005,3},{5150,11998,3}, {5143,11998,3},{5138,11995,3},{5137,11988,3},{5133,11992,3},{5128,11987,3}, {5127,11982,3},{5122,11982,3},{5120,11975,3},{5117,11978,3},{5115,11977,3}, {5107,11975,3},{5100,11967,3},{5097,11958,3},{5093,11957,3},{5090,11952,3}, {5088,11953,3},{5083,11950,3},{5080,11952,3},{5075,11950,3},{5068,11945,3}, {5067,11938,3},{5063,11937,3},{5060,11928,3},{5045,11925,3},{5042,11920,3}, {5042,11917,3},{5040,11913,3},{5037,11913,3},{5037,11918,3},{5035,11918,3}, {5035,11935,3},{5032,11937,3},{5027,11933,3},{5017,11935,3},{5010,11933,3}, {5002,11923,3},{4998,11907,3},{4998,11892,3},{4995,11872,3},{4995,11863,3}, {4990,11853,3},{4982,11847,3},{4982,11838,3},{4978,11837,3},{4973,11823,3}, {4967,11817,3},{4965,11812,3},{4960,11803,3},{4955,11790,3},{4950,11787,3}, {4952,11778,3},{4962,11750,3},{4963,11728,3},{4965,11717,3},{4972,11697,3}, {4983,11672,3},{4993,11662,3},{4997,11643,3},{5003,11622,3},{5000,11607,3}, {4990,11580,3},{4988,11573,3},{4990,11563,3},{4990,11540,3},{5000,11520,3}, {5015,11502,3},{5023,11485,3},{5025,11478,3},{5027,11467,3},{5025,11455,3}, {5025,11445,3},{5028,11432,3},{5025,11418,3},{5018,11407,3},{5017,11400,3}, {5008,11387,3},{5008,11378,3},{5002,11357,3},{4997,11348,3},{4993,11345,3}, {4980,11320,3},{4967,11310,3},{4960,11308,3},{4958,11298,3},{4953,11290,3}, {4950,11277,3},{4950,11270,3},{4953,11263,3},{4953,11248,3},{4943,11213,3}, {4940,11197,3},{4940,11183,3},{4940,11168,3},{4935,11153,3},{4935,11148,3}, {4937,11137,3},{4933,11130,3},{4930,11118,3},{4918,11095,3},{4915,11078,3}, {4915,11070,3},{4920,11047,3},{4925,11040,3},{4918,11030,3},{4917,11020,3}, {4918,11008,3},{4920,10990,3},{4918,10985,3},{4923,10975,3},{4923,10955,3}, {4925,10950,3},{4928,10948,3},{4930,10943,3},{4933,10935,3},{4937,10920,3}, {4933,10907,3},{4935,10895,3},{4935,10888,3},{4933,10855,3},{4943,10837,3}, {4953,10827,3},{4955,10815,3},{4958,10807,3},{4962,10803,3},{4967,10803,3}, {4967,10797,3},{4968,10795,3},{4975,10798,3},{4985,10795,3},{4995,10798,3}, {4995,10790,3},{4997,10785,3},{4995,10782,3},{4998,10775,3},{4998,10742,3}, {5002,10732,3},{5000,10727,3},{5003,10718,3},{5005,10715,3},{5008,10708,3}, {5015,10703,3},{5020,10700,3},{5033,10673,3},{5035,10655,3},{5030,10625,3}, {5033,10617,3},{5035,10607,3},{5038,10607,3},{5042,10598,3},{5043,10585,3}, {5043,10580,3},{5043,10563,3},{5048,10535,3},{5047,10528,3},{5042,10518,3}, {5040,10512,3},{5040,10502,3},{5037,10490,3},{5035,10483,3},{5035,10472,3}, {5030,10463,3},{5030,10442,3},{5025,10435,3},{5023,10430,3},{5020,10427,3}, {5017,10425,3},{5013,10407,3},{5020,10382,3},{5015,10373,3},{5013,10367,3}, {5020,10347,3},{5020,10332,3},{5022,10328,3},{5030,10325,3},{5032,10318,3}, {5030,10300,3},{5032,10292,3},{5038,10278,3},{5042,10262,3},{5052,10253,3}, {5053,10248,3},{5055,10237,3},{5057,10233,3},{5065,10230,3},{5072,10235,3}, {5075,10233,3},{5078,10227,3},{5083,10223,3},{5085,10223,3},{5090,10227,3}, {5095,10223,3},{5098,10225,3},{5112,10217,3},{5120,10218,3},{5125,10215,3}, {5130,10223,3},{5133,10222,3},{5138,10208,3},{5140,10200,3},{5142,10193,3}, {5143,10182,3},{5145,10177,3},{5145,10167,3},{5148,10158,3},{5145,10138,3}, {5152,10127,3},{5153,10115,3},{5157,10110,3},{5170,10070,3},{5172,10060,3}, {5173,10055,3},{5173,10025,3},{5175,9995,3},{5178,9988,3},{5188,9973,3}, {5190,9957,3},{5195,9932,3},{5200,9925,3},{5207,9903,3},{5212,9900,3},{5215,9893,3}, {5212,9888,3},{5203,9887,3},{5183,9870,3},{5178,9862,3},{5172,9833,3},{5158,9825,3}, {5152,9827,3},{5145,9823,3},{5145,9820,3},{5147,9812,3},{5145,9805,3},{5132,9793,3}, {5122,9797,3},{5117,9792,3},{5107,9788,3},{5100,9783,3},{5093,9788,3},{5090,9795,3}, {5087,9797,3},{5085,9802,3},{5078,9797,3},{5063,9807,3},{5057,9817,3},{5057,9827,3}, {5052,9832,3},{5047,9833,3},{5040,9828,3},{5030,9828,3},{5005,9810,3},{4998,9795,3}, {4993,9787,3},{4997,9778,3},{4993,9760,3},{4992,9758,3},{4988,9760,3},{4985,9758,3}, {4978,9748,3},{4973,9733,3},{4973,9728,3},{4977,9717,3},{4980,9715,3},{4982,9708,3}, {4990,9700,3},{4992,9672,3},{4987,9662,3},{4987,9660,3},{4993,9655,3},{4993,9650,3}, {4990,9638,3},{4995,9630,3},{5000,9607,3},{4995,9597,3},{5002,9590,3},{5002,9583,3}, {4995,9575,3},{4993,9560,3},{4990,9553,3},{4995,9542,3},{4995,9508,3},{5002,9502,3}, {5005,9498,3},{5007,9483,3},{5002,9463,3},{5007,9460,3},{5012,9453,3},{5017,9452,3}, {5018,9442,3},{5022,9438,3},{5030,9437,3},{5042,9435,3},{5050,9430,3},{5055,9430,3}, {5057,9428,3},{5058,9355,3},{5062,9343,3},{5060,9335,3},{5062,9322,3},{5060,9310,3}, {5062,9302,3},{5063,9302,3},{5065,9297,3},{5075,9300,3},{5078,9298,3},{5080,9280,3}, {5072,9277,3},{5068,9270,3},{5068,9267,3},{5075,9257,3},{5078,9247,3},{5087,9242,3}, {5087,9238,3},{5085,9233,3},{5075,9230,3},{5070,9222,3},{5068,9212,3},{5072,9192,3}, {5070,9178,3},{5065,9167,3},{5057,9160,3},{5053,9147,3},{5048,9145,3},{5047,9143,3}, {5048,9130,3},{5043,9117,3},{5043,9103,3},{5033,9087,3},{5030,9075,3},{5025,9073,3}, {5022,9070,3},{5022,9065,3},{5022,9052,3},{5018,9045,3},{5018,9035,3},{5012,9025,3}, {5008,9005,3},{5005,9002,3},{5000,9002,3},{4997,8998,3},{4995,8990,3},{4995,8978,3}, {4992,8967,3},{4990,8963,3},{4985,8963,3},{4982,8967,3},{4980,8965,3},{4975,8973,3}, {4972,8973,3},{4968,8963,3},{4965,8947,3},{4958,8938,3},{4963,8927,3},{4963,8923,3}, {4962,8920,3},{4957,8923,3},{4953,8923,3},{4950,8918,3},{4947,8902,3},{4947,8898,3}, {4953,8895,3},{4955,8892,3},{4953,8888,3},{4947,8888,3},{4947,8890,3},{4945,8890,3}, {4943,8885,3},{4945,8873,3},{4950,8865,3},{4948,8857,3},{4948,8835,3},{4947,8822,3}, {4937,8813,3},{4930,8817,3},{4927,8817,3},{4923,8805,3},{4918,8798,3},{4917,8783,3}, {4917,8772,3},{4913,8760,3},{4913,8753,3},{4910,8750,3},{4908,8743,3},{4910,8732,3}, {4917,8730,3},{4922,8727,3},{4925,8718,3},{4925,8710,3},{4925,8705,3},{4930,8700,3}, {4930,8697,3},{4935,8690,3},{4940,8692,3},{4945,8682,3},{4950,8682,3},{4953,8678,3}, {4957,8672,3},{4957,8667,3},{4962,8662,3},{4967,8665,3},{4970,8675,3},{4972,8678,3}, {4980,8680,3},{4980,8672,3},{4980,8665,3},{4980,8662,3},{4975,8660,3},{4972,8653,3}, {4968,8647,3},{4962,8638,3},{4960,8630,3},{4958,8625,3},{4953,8623,3},{4952,8620,3}, {4947,8617,3},{4952,8612,3},{4952,8603,3},{4948,8598,3},{4950,8595,3},{4955,8593,3}, {4955,8585,3},{4957,8577,3},{4955,8570,3},{4958,8562,3},{4960,8555,3},{4958,8545,3}, {4957,8543,3},{4957,8537,3},{4960,8533,3},{4958,8528,3},{4963,8522,3},{4970,8520,3}, {4975,8518,3},{4983,8512,3},{4988,8510,3},{4990,8502,3},{4993,8498,3},{5000,8498,3}, {5000,8502,3},{5005,8502,3},{5008,8493,3},{5010,8485,3},{5013,8480,3},{5017,8470,3}, {5018,8462,3},{5022,8452,3},{5025,8450,3},{5025,8447,3},{5022,8437,3},{5022,8433,3}, {5027,8427,3},{5030,8423,3},{5035,8425,3},{5043,8422,3},{5050,8423,3},{5055,8420,3}, {5060,8412,3},{5067,8405,3},{5070,8400,3},{5075,8397,3},{5082,8392,3},{5087,8383,3}, {5090,8372,3},{5092,8365,3},{5095,8358,3},{5095,8348,3},{5098,8342,3},{5102,8343,3}, {5100,8335,3},{5102,8325,3},{5100,8320,3},{5102,8312,3},{5095,8308,3},{5092,8302,3}, {5090,8293,3},{5093,8282,3},{5093,8273,3},{5087,8272,3},{5082,8270,3},{5077,8257,3}, {5077,8248,3},{5078,8238,3},{5078,8228,3},{5075,8222,3},{5075,8212,3},{5080,8203,3}, {5080,8195,3},{5080,8183,3},{5082,8180,3},{5077,8177,3},{5077,8168,3},{5075,8160,3}, {5075,8148,3},{5077,8145,3},{5082,8147,3},{5087,8147,3},{5087,8143,3},{5093,8143,3}, {5098,8140,3},{5097,8130,3},{5095,8122,3},{5095,8112,3},{5095,8107,3},{5100,8108,3}, {5105,8110,3},{5115,8115,3},{5120,8113,3},{5117,8107,3},{5122,8093,3},{5125,8093,3}, {5127,8085,3},{5130,8075,3},{5130,8065,3},{5125,8063,3},{5122,8063,3},{5120,8062,3}, {5122,8048,3},{5122,8045,3},{5113,8043,3},{5108,8048,3},{5102,8047,3},{5097,8047,3}, {5097,8043,3},{5093,8038,3},{5093,8027,3},{5090,8020,3},{5083,8020,3},{5083,8010,3}, {5085,8007,3},{5078,8007,3},{5077,8008,3},{5082,8003,3},{5088,7998,3},{5093,7993,3}, {5100,7990,3},{5108,7982,3},{5115,7978,3},{5125,7970,3},{5130,7967,3},{5137,7962,3}, {5142,7957,3},{5147,7953,3},{5152,7950,3},{5158,7945,3},{5163,7940,3},{5170,7937,3}, {5175,7932,3},{5182,7927,3},{5187,7922,3},{5193,7917,3},{5200,7912,3},{5207,7905,3}, {5213,7900,3},{5217,7895,3},{5223,7890,3},{5232,7885,3},{5237,7880,3},{5243,7873,3}, {5248,7868,3},{5255,7862,3},{5260,7858,3},{5263,7853,3},{5270,7848,3},{5275,7845,3}, {5285,7835,3},{5292,7828,3},{5295,7825,3},{5300,7820,3},{5307,7812,3},{5312,7807,3}, {5317,7802,3},{5322,7798,3},{5327,7793,3},{5332,7787,3},{5337,7777,3},{5342,7770,3}, {5345,7762,3},{5352,7752,3},{5357,7740,3},{5360,7733,3},{5363,7725,3},{5367,7718,3}, {5372,7707,3},{5375,7700,3},{5380,7690,3},{5383,7683,3},{5387,7677,3},{5392,7667,3}, {5397,7658,3},{5402,7653,3},{5408,7650,3},{5413,7643,3},{5415,7642,3},{5417,7643,3}, {5417,7652,3},{5417,7662,3},{5413,7663,3},{5415,7672,3},{5420,7677,3},{5423,7685,3}, {5430,7687,3},{5435,7687,3},{5438,7678,3},{5442,7688,3},{5443,7693,3},{5445,7693,3}, {5442,7678,3},{5442,7675,3},{5437,7668,3},{5435,7658,3},{5433,7650,3},{5433,7640,3}, {5433,7630,3},{5435,7625,3},{5430,7620,3},{5425,7615,3},{5423,7607,3},{5420,7597,3}, {5418,7588,3},{5415,7580,3},{5413,7570,3},{5410,7562,3},{5412,7553,3},{5408,7542,3}, {5403,7545,3},{5398,7547,3},{5395,7538,3},{5392,7532,3},{5388,7523,3},{5385,7517,3}, {5380,7507,3},{5378,7503,3},{5382,7493,3},{5382,7485,3},{5382,7482,3},{5377,7478,3}, {5375,7468,3},{5370,7467,3},{5367,7465,3},{5368,7455,3},{5368,7447,3},{5360,7443,3}, {5358,7448,3},{5347,7442,3},{5347,7440,3},{5348,7428,3},{5355,7427,3},{5360,7425,3}, {5360,7418,3},{5355,7415,3},{5355,7407,3},{5363,7407,3},{5365,7395,3},{5365,7390,3}, {5360,7385,3},{5362,7375,3},{5362,7367,3},{5357,7365,3},{5357,7360,3},{5350,7355,3}, {5345,7345,3},{5348,7338,3},{5353,7340,3},{5355,7333,3},{5357,7325,3},{5365,7328,3}, {5368,7327,3},{5368,7332,3},{5375,7335,3},{5380,7335,3},{5382,7345,3},{5385,7343,3}, {5388,7345,3},{5387,7358,3},{5387,7368,3},{5392,7372,3},{5400,7373,3},{5405,7375,3}, {5407,7363,3},{5403,7360,3},{5400,7352,3},{5395,7353,3},{5398,7345,3},{5398,7342,3}, {5397,7342,3},{5395,7332,3},{5397,7322,3},{5398,7308,3},{5405,7305,3},{5405,7298,3}, {5410,7298,3},{5410,7283,3},{5413,7275,3},{5413,7260,3},{5408,7253,3},{5405,7252,3}, {5405,7262,3},{5405,7265,3},{5400,7272,3},{5398,7272,3},{5395,7272,3},{5398,7255,3}, {5392,7250,3},{5393,7240,3},{5395,7238,3},{5403,7242,3},{5408,7237,3},{5410,7237,3}, {5412,7245,3},{5412,7248,3},{5413,7250,3},{5415,7240,3},{5418,7230,3},{5423,7232,3}, {5425,7228,3},{5432,7227,3},{5437,7218,3},{5437,7207,3},{5433,7207,3},{5428,7213,3}, {5425,7208,3},{5420,7217,3},{5418,7220,3},{5413,7217,3},{5415,7210,3},{5420,7207,3}, {5423,7190,3},{5425,7177,3},{5420,7173,3},{5415,7175,3},{5412,7168,3},{5412,7158,3}, {5412,7152,3},{5417,7148,3},{5418,7140,3},{5418,7132,3},{5412,7122,3},{5412,7117,3}, {5418,7113,3},{5422,7107,3},{5427,7110,3},{5430,7102,3},{5435,7102,3},{5432,7115,3}, {5432,7118,3},{5438,7123,3},{5445,7120,3},{5450,7120,3},{5458,7120,3},{5462,7130,3}, {5467,7130,3},{5470,7120,3},{5473,7110,3},{5478,7105,3},{5485,7103,3},{5490,7100,3}, {5498,7102,3},{5505,7102,3},{5512,7098,3},{5517,7093,3},{5523,7085,3},{5528,7083,3}, {5530,7073,3},{5527,7065,3},{5527,7053,3},{5528,7048,3},{5527,7045,3},{5522,7042,3}, {5518,7032,3},{5513,7023,3},{5513,7013,3},{5518,7005,3},{5520,7000,3},{5522,6992,3}, {5528,6988,3},{5532,6980,3},{5533,6968,3},{5535,6960,3},{5533,6948,3},{5537,6940,3}, {5535,6927,3},{5533,6920,3},{5538,6913,3},{5542,6905,3},{5543,6895,3},{5537,6892,3}, {5533,6900,3},{5528,6900,3},{5532,6890,3},{5535,6882,3},{5533,6872,3},{5528,6870,3}, {5523,6863,3},{5518,6862,3},{5520,6852,3},{5520,6840,3},{5518,6835,3},{5518,6825,3}, {5518,6822,3},{5518,6818,3},{5513,6820,3},{5508,6827,3},{5502,6822,3},{5497,6822,3}, {5495,6810,3},{5495,6802,3},{5497,6793,3},{5497,6785,3},{5492,6778,3},{5487,6772,3}, {5485,6763,3},{5483,6755,3},{5485,6743,3},{5487,6735,3},{5487,6732,3},{5482,6727,3}, {5480,6717,3},{5478,6707,3},{5478,6695,3},{5477,6685,3},{5475,6675,3},{5473,6673,3}, {5472,6660,3},{5472,6652,3},{5470,6640,3},{5468,6630,3},{5465,6618,3},{5463,6605,3}, {5462,6597,3},{5470,6597,3},{5470,6587,3},{5465,6582,3},{5460,6577,3},{5463,6567,3}, {5463,6558,3},{5465,6550,3},{5465,6547,3},{5458,6548,3},{5457,6548,3},{5458,6538,3}, {5457,6528,3},{5453,6522,3},{5445,6518,3},{5440,6523,3},{5433,6522,3},{5433,6512,3}, {5440,6503,3},{5442,6495,3},{5438,6485,3},{5435,6475,3},{5440,6475,3},{5440,6465,3}, {5437,6457,3},{5437,6448,3},{5433,6445,3},{5433,6435,3},{5432,6427,3},{5432,6417,3}, {5432,6408,3},{5428,6402,3},{5430,6402,3},{5432,6400,3},{5428,6398,3},{5428,6388,3}, {5427,6380,3},{5425,6372,3},{5423,6363,3},{5422,6355,3},{5420,6345,3},{5420,6333,3}, {5420,6325,3},{5418,6317,3},{5413,6317,3},{5410,6308,3},{5410,6298,3},{5412,6288,3}, {5412,6283,3},{5407,6277,3},{5403,6270,3},{5400,6263,3},{5397,6258,3},{5392,6257,3}, {5390,6253,3},{5393,6245,3},{5398,6242,3},{5402,6248,3},{5405,6242,3},{5403,6233,3}, {5403,6225,3},{5403,6213,3},{5405,6210,3},{5403,6202,3},{5398,6203,3},{5397,6205,3}, {5395,6195,3},{5397,6187,3},{5402,6190,3},{5403,6185,3},{5398,6180,3},{5403,6173,3}, {5400,6163,3},{5397,6163,3},{5395,6162,3},{5400,6157,3},{5403,6150,3},{5408,6147,3}, {5408,6137,3},{5408,6133,3},{5403,6125,3},{5398,6128,3},{5393,6125,3},{5392,6125,3}, {5392,6120,3},{5395,6117,3},{5395,6107,3},{5395,6103,3},{5390,6098,3},{5388,6107,3}, {5388,6112,3},{5385,6118,3},{5382,6122,3},{5377,6118,3},{5372,6112,3},{5370,6105,3}, {5365,6105,3},{5367,6093,3},{5362,6092,3},{5362,6102,3},{5360,6110,3},{5357,6117,3}, {5357,6127,3},{5357,6135,3},{5360,6143,3},{5358,6152,3},{5353,6158,3},{5350,6158,3}, {5347,6152,3},{5347,6142,3},{5348,6138,3},{5350,6130,3},{5350,6127,3},{5343,6123,3}, {5340,6117,3},{5332,6117,3},{5327,6125,3},{5327,6133,3},{5325,6143,3},{5322,6152,3}, {5322,6162,3},{5325,6167,3},{5322,6173,3},{5317,6180,3},{5313,6190,3},{5313,6198,3}, {5312,6208,3},{5312,6212,3},{5307,6213,3},{5300,6213,3},{5297,6207,3},{5295,6198,3}, {5302,6190,3},{5300,6180,3},{5300,6172,3},{5297,6165,3},{5300,6158,3},{5303,6150,3}, {5303,6147,3},{5300,6140,3},{5300,6132,3},{5303,6123,3},{5300,6115,3},{5297,6112,3}, {5298,6103,3},{5293,6107,3},{5288,6102,3},{5283,6095,3},{5280,6088,3},{5277,6083,3}, {5275,6073,3},{5270,6072,3},{5265,6075,3},{5263,6083,3},{5258,6085,3},{5252,6085,3}, {5250,6093,3},{5250,6097,3},{5243,6100,3},{5237,6105,3},{5230,6100,3},{5227,6093,3}, {5223,6085,3},{5223,6080,3},{5218,6075,3},{5217,6067,3},{5217,6055,3},{5213,6047,3}, {5210,6040,3},{5203,6033,3},{5200,6023,3},{5200,6015,3},{5198,6007,3},{5193,6005,3}, {5188,6010,3},{5187,6018,3},{5188,6018,3},{5190,6017,3},{5188,6025,3},{5185,6033,3}, {5182,6040,3},{5180,6052,3},{5173,6045,3},{5170,6040,3},{5165,6048,3},{5162,6060,3}, {5162,6070,3},{5162,6078,3},{5162,6090,3},{5155,6093,3},{5150,6097,3},{5147,6103,3}, {5145,6112,3},{5145,6113,3},{5145,6118,3},{5142,6128,3},{5140,6138,3},{5143,6145,3}, {5140,6152,3},{5133,6155,3},{5130,6163,3},{5127,6168,3},{5125,6158,3},{5118,6157,3}, {5113,6155,3},{5103,6152,3},{5098,6150,3},{5090,6148,3},{5083,6147,3},{5078,6138,3}, {5075,6125,3},{5073,6118,3},{5070,6103,3},{5068,6093,3},{5067,6083,3},{5067,6068,3}, {5067,6058,3},{5067,6048,3},{5068,6038,3},{5070,6032,3},{5075,6023,3},{5080,6018,3}, {5083,6018,3},{5087,6008,3},{5083,6000,3},{5082,6000,3},{5077,5997,3},{5070,5993,3}, {5065,5990,3},{5060,5983,3},{5057,5972,3},{5053,5962,3},{5052,5953,3},{5058,5952,3}, {5065,5948,3},{5065,5938,3},{5067,5930,3},{5065,5928,3},{5068,5918,3},{5070,5903,3}, {5070,5895,3},{5072,5887,3},{5075,5885,3},{5078,5878,3},{5083,5878,3},{5083,5870,3}, {5082,5862,3},{5088,5857,3},{5093,5857,3},{5100,5860,3},{5107,5857,3},{5108,5848,3}, {5108,5840,3},{5108,5837,3},{5115,5833,3},{5117,5830,3},{5113,5822,3},{5110,5822,3}, {5107,5818,3},{5108,5810,3},{5110,5810,3},{5112,5810,3},{5113,5808,3},{5110,5802,3}, {5110,5793,3},{5112,5785,3},{5113,5783,3},{5113,5780,3},{5113,5778,3},{5108,5775,3}, {5100,5775,3},{5093,5773,3},{5092,5772,3},{5092,5768,3},{5095,5765,3},{5093,5757,3}, {5092,5753,3},{5088,5753,3},{5088,5743,3},{5093,5735,3},{5098,5732,3},{5102,5727,3}, {5107,5720,3},{5110,5718,3},{5107,5708,3},{5105,5700,3},{5107,5698,3},{5105,5690,3}, {5108,5682,3},{5108,5673,3},{5102,5673,3},{5097,5673,3},{5098,5665,3},{5103,5658,3}, {5107,5653,3},{5108,5652,3},{5108,5650,3},{5105,5647,3},{5098,5648,3},{5098,5647,3}, {5097,5640,3},{5092,5638,3},{5092,5630,3},{5093,5622,3},{5092,5617,3},{5085,5615,3}, {5080,5613,3},{5075,5612,3},{5072,5603,3},{5068,5595,3},{5065,5587,3},{5062,5577,3}, {5058,5572,3},{5057,5570,3},{5060,5562,3},{5063,5553,3},{5067,5548,3},{5067,5540,3}, {5065,5538,3},{5070,5530,3},{5075,5522,3},{5078,5515,3},{5082,5507,3},{5087,5510,3}, {5090,5510,3},{5093,5505,3},{5092,5502,3},{5088,5500,3},{5087,5492,3},{5085,5490,3}, {5085,5485,3},{5088,5483,3},{5088,5473,3},{5088,5472,3},{5082,5467,3},{5075,5467,3}, {5068,5472,3},{5063,5473,3},{5058,5465,3},{5055,5463,3},{5053,5453,3},{5053,5450,3}, {5058,5447,3},{5063,5442,3},{5068,5445,3},{5073,5445,3},{5078,5447,3},{5083,5452,3}, {5087,5445,3},{5088,5432,3},{5093,5425,3},{5098,5420,3},{5102,5417,3},{5103,5420,3}, {5105,5415,3},{5112,5413,3},{5113,5407,3},{5117,5403,3},{5118,5395,3},{5120,5387,3}, {5120,5378,3},{5120,5375,3},{5123,5368,3},{5127,5365,3},{5132,5362,3},{5137,5363,3}, {5142,5358,3},{5143,5350,3},{5148,5345,3},{5152,5338,3},{5150,5330,3},{5150,5322,3}, {5152,5318,3},{5153,5320,3},{5153,5315,3},{5150,5317,3},{5148,5312,3},{5148,5310,3}, {5148,5305,3},{5148,5297,3},{5147,5297,3},{5148,5295,3},{5150,5293,3},{5148,5292,3}, {5148,5288,3},{5150,5288,3},{5150,5280,3},{5153,5278,3},{5150,5275,3},{5148,5268,3}, {5147,5270,3},{5148,5267,3},{5145,5263,3},{5147,5260,3},{5147,5257,3},{5150,5252,3}, {5155,5250,3},{5162,5245,3},{5165,5238,3},{5175,5237,3},{5177,5235,3},{5177,5233,3}, {5172,5228,3},{5172,5218,3},{5167,5213,3},{5167,5205,3},{5167,5197,3},{5168,5185,3}, {5163,5180,3},{5158,5175,3},{5153,5180,3},{5148,5172,3},{5147,5163,3},{5153,5163,3}, {5153,5158,3},{5155,5157,3},{5157,5155,3},{5152,5152,3},{5148,5143,3},{5148,5132,3}, {5150,5128,3},{5155,5125,3},{5157,5135,3},{5165,5137,3},{5167,5130,3},{5168,5128,3}, {5168,5118,3},{5167,5107,3},{5168,5097,3},{5168,5088,3},{5173,5087,3},{5177,5077,3}, {5177,5075,3},{5170,5073,3},{5167,5080,3},{5160,5078,3},{5157,5068,3},{5157,5067,3}, {5163,5072,3},{5165,5062,3},{5165,5060,3},{5160,5055,3},{5160,5052,3},{5155,5050,3}, {5148,5052,3},{5147,5047,3},{5145,5047,3},{5143,5037,3},{5138,5033,3},{5132,5030,3}, {5130,5022,3},{5128,5012,3},{5125,5000,3},{5120,4987,3},{5115,4980,3},{5112,4973,3}, {5112,4963,3},{5112,4955,3},{5112,4947,3},{5113,4942,3},{5110,4937,3},{5103,4935,3}, {5100,4932,3},{5093,4940,3},{5088,4942,3},{5083,4933,3},{5083,4925,3},{5080,4915,3}, {5077,4907,3},{5072,4902,3},{5067,4895,3},{5063,4887,3},{5060,4882,3},{5062,4872,3}, {5067,4863,3},{5067,4860,3},{5065,4855,3},{5062,4857,3},{5058,4863,3},{5047,4867,3}, {5042,4867,3},{5033,4868,3},{5025,4872,3},{5020,4877,3},{5013,4877,3},{5010,4877,3}, {5008,4885,3},{5002,4888,3},{4997,4880,3},{4993,4873,3},{4990,4865,3},{4988,4857,3}, {4983,4843,3},{4982,4843,3},{4983,4838,3},{4983,4835,3},{4987,4830,3},{4987,4828,3}, {4987,4825,3},{4987,4822,3},{4993,4818,3},{5000,4813,3},{5005,4812,3},{5010,4808,3}, {5013,4802,3},{5018,4797,3},{5023,4792,3},{5028,4785,3},{5033,4780,3},{5037,4773,3}, {5040,4767,3},{5045,4758,3},{5045,4752,3},{5042,4745,3},{5037,4740,3},{5033,4740,3}, {5033,4732,3},{5027,4730,3},{5020,4727,3},{5013,4733,3},{5005,4730,3},{5000,4727,3}, {4993,4717,3},{4988,4700,3},{4987,4692,3},{4980,4688,3},{4975,4687,3},{4968,4687,3}, {4963,4687,3},{4957,4683,3},{4952,4682,3},{4945,4680,3},{4938,4678,3},{4933,4678,3}, {4930,4687,3},{4925,4697,3},{4922,4702,3},{4913,4705,3},{4907,4700,3},{4900,4693,3}, {4897,4685,3},{4893,4678,3},{4885,4672,3},{4880,4670,3},{4875,4667,3},{4868,4663,3}, {4862,4658,3},{4855,4655,3},{4850,4652,3},{4845,4650,3},{4842,4658,3},{4838,4668,3}, {4837,4675,3},{4833,4688,3},{4833,4692,3},{4827,4700,3},{4822,4707,3},{4822,4710,3}, {4817,4712,3},{4810,4710,3},{4808,4718,3},{4803,4713,3},{4800,4702,3},{4795,4707,3}, {4790,4712,3},{4785,4715,3},{4782,4712,3},{4777,4717,3},{4772,4727,3},{4768,4735,3}, {4768,4737,3},{4773,4740,3},{4778,4742,3},{4780,4740,3},{4778,4750,3},{4777,4758,3}, {4775,4767,3},{4775,4778,3},{4775,4792,3},{4777,4800,3},{4775,4808,3},{4770,4817,3}, {4763,4822,3},{4758,4827,3},{4750,4832,3},{4747,4837,3},{4742,4843,3},{4742,4853,3}, {4742,4858,3},{4737,4862,3},{4732,4863,3},{4725,4865,3},{4717,4868,3},{4708,4873,3}, {4703,4877,3},{4697,4883,3},{4690,4890,3},{4683,4897,3},{4678,4900,3},{4673,4897,3}, {4670,4892,3},{4668,4883,3},{4668,4875,3},{4673,4870,3},{4677,4865,3},{4677,4858,3}, {4673,4852,3},{4668,4848,3},{4665,4848,3},{4663,4855,3},{4660,4857,3},{4660,4863,3}, {4657,4867,3},{4655,4875,3},{4650,4880,3},{4648,4882,3},{4645,4890,3},{4643,4897,3}, {4640,4903,3},{4638,4910,3},{4637,4917,3},{4638,4922,3},{4635,4922,3},{4630,4923,3}, {4625,4930,3},{4625,4928,3},{4627,4925,3},{4628,4915,3},{4632,4915,3},{4633,4917,3}, {4633,4913,3},{4625,4905,3},{4623,4912,3},{4615,4912,3},{4615,4910,3},{4618,4907,3}, {4620,4903,3},{4617,4902,3},{4617,4898,3},{4613,4893,3},{4610,4895,3},{4608,4895,3}, {4615,4888,3},{4610,4888,3},{4613,4887,3},{4613,4883,3},{4608,4888,3},{4607,4885,3}, {4612,4883,3},{4613,4878,3},{4610,4882,3},{4605,4882,3},{4608,4878,3},{4613,4870,3}, {4612,4870,3},{4612,4867,3},{4608,4867,3},{4608,4863,3},{4607,4870,3},{4602,4873,3}, {4598,4872,3},{4597,4865,3},{4597,4873,3},{4593,4877,3},{4592,4873,3},{4588,4875,3}, {4587,4878,3},{4585,4878,3},{4583,4878,3},{4585,4877,3},{4583,4872,3},{4582,4872,3}, {4587,4868,3},{4588,4870,3},{4588,4867,3},{4595,4860,3},{4597,4857,3},{4593,4850,3}, {4593,4845,3},{4587,4840,3},{4588,4837,3},{4585,4837,3},{4585,4840,3},{4583,4840,3}, {4583,4828,3},{4577,4825,3},{4577,4822,3},{4572,4825,3},{4572,4823,3},{4573,4820,3}, {4573,4815,3},{4572,4813,3},{4575,4807,3},{4572,4803,3},{4570,4800,3},{4572,4798,3}, {4572,4793,3},{4568,4790,3},{4572,4788,3},{4572,4785,3},{4565,4783,3},{4563,4785,3}, {4560,4782,3},{4568,4777,3},{4570,4767,3},{4573,4765,3},{4575,4762,3},{4577,4755,3}, {4573,4755,3},{4575,4758,3},{4572,4758,3},{4572,4763,3},{4567,4763,3},{4567,4760,3}, {4563,4760,3},{4562,4765,3},{4558,4763,3},{4557,4765,3},{4555,4763,3},{4557,4762,3}, {4565,4755,3},{4568,4743,3},{4572,4745,3},{4572,4750,3},{4572,4748,3},{4575,4738,3}, {4567,4742,3},{4563,4755,3},{4557,4757,3},{4553,4755,3},{4558,4750,3},{4557,4748,3}, {4550,4755,3},{4548,4750,3},{4542,4748,3},{4542,4738,3},{4540,4740,3},{4540,4745,3}, {4538,4747,3},{4537,4742,3},{4530,4738,3},{4518,4738,3},{4518,4730,3},{4497,4720,3}, {4497,4717,3},{4493,4715,3},{4495,4710,3},{4487,4712,3},{4478,4708,3},{4485,4702,3}, {4490,4702,3},{4492,4700,3},{4482,4702,3},{4477,4697,3},{4477,4693,3},{4473,4687,3}, {4470,4683,3},{4470,4678,3},{4465,4675,3},{4465,4672,3},{4457,4670,3},{4455,4672,3}, {4452,4668,3},{4445,4670,3},{4440,4677,3},{4438,4680,3},{4440,4683,3},{4437,4702,3}, {4433,4705,3},{4423,4710,3},{4420,4718,3},{4422,4720,3},{4422,4723,3},{4408,4728,3}, {4403,4735,3},{4392,4742,3},{4388,4743,3},{4387,4747,3},{4382,4743,3},{4382,4748,3}, {4377,4750,3},{4373,4743,3},{4368,4745,3},{4362,4740,3},{4360,4738,3},{4362,4737,3}, {4355,4738,3},{4353,4740,3},{4350,4740,3},{4350,4743,3},{4353,4747,3},{4363,4747,3}, {4368,4750,3},{4372,4750,3},{4380,4753,3},{4387,4753,3},{4390,4763,3},{4387,4770,3}, {4383,4765,3},{4372,4758,3},{4357,4753,3},{4352,4753,3},{4345,4748,3},{4330,4748,3}, {4328,4750,3},{4333,4757,3},{4330,4758,3},{4320,4748,3},{4312,4748,3},{4308,4745,3}, {4302,4747,3},{4295,4755,3},{4295,4758,3},{4290,4762,3},{4287,4770,3},{4277,4772,3}, {4272,4770,3},{4263,4773,3},{4260,4787,3},{4247,4795,3},{4238,4802,3},{4233,4812,3}, {4217,4823,3},{4210,4830,3},{4193,4838,3},{4190,4843,3},{4188,4853,3},{4185,4850,3}, {4178,4847,3},{4173,4845,3},{4167,4843,3},{4162,4840,3},{4157,4832,3},{4153,4827,3}, {4150,4820,3},{4150,4812,3},{4148,4805,3},{4143,4803,3},{4138,4798,3},{4135,4793,3}, {4130,4792,3},{4123,4790,3},{4122,4788,3},{4122,4780,3},{4118,4775,3},{4122,4770,3}, {4123,4763,3},{4122,4757,3},{4123,4750,3},{4125,4750,3},{4127,4743,3},{4128,4737,3}, {4130,4730,3},{4132,4727,3},{4138,4725,3},{4142,4722,3},{4148,4718,3},{4152,4717,3}, {4157,4712,3},{4158,4712,3},{4155,4707,3},{4155,4702,3},{4160,4698,3},{4163,4700,3}, {4163,4697,3},{4168,4692,3},{4172,4692,3},{4173,4685,3},{4178,4678,3},{4183,4677,3}, {4185,4677,3},{4187,4675,3},{4183,4670,3},{4182,4662,3},{4180,4658,3},{4182,4655,3}, {4187,4653,3},{4188,4647,3},{4190,4642,3},{4195,4638,3},{4193,4632,3},{4198,4627,3}, {4200,4625,3},{4198,4618,3},{4202,4612,3},{4200,4612,3},{4198,4610,3},{4203,4607,3}, {4203,4605,3},{4203,4597,3},{4203,4595,3},{4207,4590,3},{4212,4587,3},{4212,4580,3}, {4215,4573,3},{4218,4567,3},{4222,4562,3},{4228,4563,3},{4228,4572,3},{4230,4573,3}, {4235,4573,3},{4243,4577,3},{4248,4577,3},{4250,4567,3},{4253,4558,3},{4253,4552,3}, {4255,4545,3},{4253,4537,3},{4253,4535,3},{4257,4530,3},{4262,4527,3},{4267,4520,3}, {4270,4515,3},{4270,4508,3},{4273,4500,3},{4275,4493,3},{4273,4487,3},{4267,4482,3}, {4262,4478,3},{4268,4473,3},{4273,4472,3},{4275,4465,3},{4275,4452,3},{4273,4445,3}, {4272,4440,3},{4272,4432,3},{4268,4425,3},{4263,4422,3},{4262,4417,3},{4262,4408,3}, {4260,4402,3},{4257,4397,3},{4257,4390,3},{4258,4382,3},{4258,4378,3},{4263,4373,3}, {4267,4377,3},{4272,4380,3},{4275,4380,3},{4277,4372,3},{4280,4365,3},{4283,4360,3}, {4287,4355,3},{4288,4348,3},{4290,4340,3},{4290,4333,3},{4292,4327,3},{4293,4320,3}, {4300,4312,3},{4303,4305,3},{4307,4303,3},{4310,4303,3},{4312,4297,3},{4312,4293,3}, {4317,4290,3},{4317,4283,3},{4318,4275,3},{4317,4268,3},{4315,4268,3},{4317,4262,3}, {4318,4255,3},{4320,4248,3},{4322,4247,3},{4323,4247,3},{4325,4245,3},{4325,4238,3}, {4322,4232,3},{4322,4228,3},{4323,4222,3},{4322,4215,3},{4320,4208,3},{4320,4205,3}, {4322,4198,3},{4323,4188,3},{4325,4188,3},{4320,4183,3},{4322,4177,3},{4323,4173,3}, {4322,4172,3},{4322,4163,3},{4325,4157,3},{4327,4152,3},{4330,4143,3},{4335,4142,3}, {4337,4137,3},{4333,4132,3},{4337,4123,3},{4338,4117,3},{4340,4113,3},{4338,4110,3}, {4338,4107,3},{4343,4100,3},{4343,4093,3},{4347,4090,3},{4348,4083,3},{4352,4077,3}, {4353,4070,3},{4355,4068,3},{4357,4065,3},{4352,4058,3},{4353,4052,3},{4355,4045,3}, {4355,4037,3},{4357,4030,3},{4358,4023,3},{4358,4017,3},{4355,4010,3},{4352,4007,3}, {4345,4003,3},{4340,4002,3},{4338,4002,3},{3783,12668,131},{3795,12668,3}, {3795,12675,3},{3800,12680,3},{3810,12688,3},{3813,12695,3},{3822,12698,3}, {3828,12710,3},{3832,12722,3},{3833,12740,3},{3830,12750,3},{3832,12757,3}, {3833,12778,3},{3830,12783,3},{3832,12790,3},{3832,12807,3},{3835,12818,3}, {3843,12828,3},{3850,12832,3},{3858,12830,3},{3862,12837,3},{3830,12855,3}, {3813,12863,3},{3802,12873,3},{3787,12885,3},{3767,12907,3},{3762,12907,3}, {3757,12913,3},{3752,12913,3},{3747,12918,3},{3732,12928,3},{3725,12935,3}, {3715,12935,3},{3707,12943,3},{3702,12942,3},{3695,12942,3},{3687,12943,3}, {3677,12948,3},{3672,12947,3},{3668,12947,3},{3667,12943,3},{3662,12942,3}, {3650,12945,3},{3640,12943,3},{3632,12938,3},{3620,12938,3},{3608,12943,3}, {3603,12938,3},{3600,12942,3},{3600,12945,3},{3608,12955,3},{3602,12958,3}, {3592,12953,3},{3585,12955,3},{3563,12947,3},{3558,12948,3},{3548,12943,3}, {3547,12942,3},{3552,12940,3},{3553,12937,3},{3547,12938,3},{3545,12935,3}, {3542,12937,3},{3538,12935,3},{3535,12937,3},{3530,12928,3},{3518,12923,3}, {3515,12918,3},{3515,12915,3},{3513,12912,3},{3512,12913,3},{3510,12912,3}, {3512,12907,3},{3507,12903,3},{3505,12903,3},{3507,12900,3},{3503,12900,3}, {3503,12897,3},{3513,12898,3},{3510,12893,3},{3510,12892,3},{3512,12890,3}, {3510,12888,3},{3508,12880,3},{3510,12880,3},{3510,12870,3},{3513,12870,3}, {3513,12868,3},{3512,12867,3},{3513,12865,3},{3515,12863,3},{3513,12862,3}, {3520,12862,3},{3522,12860,3},{3517,12857,3},{3505,12865,3},{3505,12860,3}, {3510,12858,3},{3510,12850,3},{3510,12847,3},{3507,12848,3},{3503,12838,3}, {3500,12838,3},{3505,12848,3},{3500,12850,3},{3500,12848,3},{3498,12842,3}, {3497,12845,3},{3488,12843,3},{3488,12845,3},{3490,12845,3},{3488,12847,3}, {3483,12845,3},{3483,12842,3},{3485,12840,3},{3487,12842,3},{3488,12832,3}, {3490,12832,3},{3490,12835,3},{3495,12833,3},{3490,12828,3},{3493,12827,3}, {3493,12823,3},{3492,12820,3},{3488,12820,3},{3490,12815,3},{3488,12813,3}, {3492,12812,3},{3492,12807,3},{3495,12805,3},{3497,12807,3},{3503,12805,3}, {3508,12807,3},{3503,12803,3},{3503,12800,3},{3498,12802,3},{3498,12798,3}, {3498,12795,3},{3502,12793,3},{3497,12792,3},{3493,12787,3},{3495,12773,3}, {3498,12772,3},{3493,12772,3},{3490,12765,3},{3493,12760,3},{3492,12757,3}, {3488,12758,3},{3482,12763,3},{3482,12767,3},{3483,12772,3},{3483,12775,3}, {3485,12777,3},{3482,12777,3},{3472,12775,3},{3472,12770,3},{3473,12765,3}, {3470,12763,3},{3462,12763,3},{3465,12755,3},{3470,12755,3},{3475,12758,3}, {3480,12755,3},{3480,12753,3},{3482,12753,3},{3488,12752,3},{3487,12750,3}, {3483,12748,3},{3482,12737,3},{3480,12742,3},{3477,12740,3},{3477,12735,3}, {3475,12737,3},{3475,12740,3},{3470,12738,3},{3463,12748,3},{3463,12745,3}, {3462,12750,3},{3458,12752,3},{3457,12748,3},{3460,12738,3},{3458,12733,3}, {3453,12737,3},{3453,12743,3},{3447,12738,3},{3447,12733,3},{3443,12733,3}, {3443,12732,3},{3448,12728,3},{3452,12725,3},{3453,12723,3},{3453,12722,3}, {3452,12717,3},{3452,12713,3},{3453,12712,3},{3457,12713,3},{3458,12718,3}, {3463,12720,3},{3457,12720,3},{3457,12725,3},{3462,12727,3},{3467,12723,3}, {3468,12727,3},{3470,12728,3},{3465,12730,3},{3465,12733,3},{3470,12735,3}, {3473,12733,3},{3472,12730,3},{3477,12725,3},{3468,12720,3},{3468,12713,3}, {3465,12710,3},{3462,12700,3},{3453,12698,3},{3450,12693,3},{3445,12695,3}, {3445,12690,3},{3442,12688,3},{3445,12682,3},{3457,12680,3},{3458,12677,3}, {3455,12675,3},{3452,12677,3},{3452,12673,3},{3448,12677,3},{3445,12670,3}, {3443,12673,3},{3443,12668,3},{3442,12668,3},{3440,12663,3},{3430,12660,3}, {3430,12657,3},{3428,12652,3},{3433,12652,3},{3435,12648,3},{3438,12648,3}, {3442,12652,3},{3443,12648,3},{3447,12648,3},{3448,12647,3},{3450,12648,3}, {3450,12653,3},{3453,12652,3},{3455,12653,3},{3457,12653,3},{3455,12647,3}, {3453,12645,3},{3455,12642,3},{3453,12640,3},{3455,12638,3},{3455,12637,3}, {3458,12635,3},{3457,12632,3},{3458,12628,3},{3460,12630,3},{3460,12632,3}, {3462,12632,3},{3463,12628,3},{3468,12627,3},{3475,12630,3},{3470,12635,3}, {3465,12635,3},{3462,12637,3},{3460,12638,3},{3458,12645,3},{3460,12648,3}, {3462,12643,3},{3465,12642,3},{3465,12638,3},{3470,12640,3},{3468,12645,3}, {3465,12645,3},{3462,12652,3},{3462,12653,3},{3463,12653,3},{3462,12662,3}, {3463,12658,3},{3472,12650,3},{3473,12642,3},{3472,12638,3},{3473,12637,3}, {3477,12640,3},{3475,12645,3},{3477,12648,3},{3475,12653,3},{3477,12653,3}, {3480,12655,3},{3478,12663,3},{3480,12663,3},{3482,12667,3},{3482,12658,3}, {3485,12657,3},{3488,12658,3},{3490,12658,3},{3488,12653,3},{3485,12655,3}, {3478,12652,3},{3478,12650,3},{3482,12648,3},{3478,12638,3},{3480,12637,3}, {3485,12642,3},{3487,12640,3},{3488,12642,3},{3490,12640,3},{3495,12640,3}, {3497,12643,3},{3498,12640,3},{3497,12637,3},{3493,12637,3},{3492,12635,3}, {3493,12632,3},{3495,12632,3},{3497,12630,3},{3497,12635,3},{3498,12633,3}, {3500,12638,3},{3503,12637,3},{3508,12630,3},{3505,12632,3},{3505,12630,3}, {3505,12627,3},{3508,12628,3},{3512,12625,3},{3513,12628,3},{3512,12632,3}, {3515,12635,3},{3513,12635,3},{3510,12633,3},{3507,12637,3},{3507,12640,3}, {3503,12640,3},{3502,12643,3},{3508,12647,3},{3512,12642,3},{3518,12637,3}, {3520,12638,3},{3522,12637,3},{3523,12637,3},{3523,12632,3},{3525,12632,3}, {3525,12638,3},{3525,12635,3},{3528,12638,3},{3533,12638,3},{3537,12642,3}, {3533,12645,3},{3540,12642,3},{3552,12650,3},{3553,12653,3},{3553,12662,3}, {3555,12665,3},{3553,12668,3},{3558,12667,3},{3558,12650,3},{3562,12647,3}, {3563,12647,3},{3575,12665,3},{3575,12667,3},{3572,12668,3},{3577,12670,3}, {3578,12675,3},{3577,12678,3},{3580,12678,3},{3585,12670,3},{3587,12673,3}, {3587,12680,3},{3590,12683,3},{3588,12673,3},{3590,12665,3},{3588,12662,3}, {3593,12662,3},{3597,12663,3},{3598,12675,3},{3602,12677,3},{3603,12685,3}, {3605,12687,3},{3603,12677,3},{3600,12673,3},{3600,12668,3},{3607,12663,3}, {3608,12665,3},{3610,12662,3},{3612,12660,3},{3613,12652,3},{3612,12650,3}, {3615,12652,3},{3617,12660,3},{3620,12658,3},{3620,12655,3},{3622,12653,3}, {3630,12658,3},{3630,12653,3},{3632,12652,3},{3635,12658,3},{3637,12657,3}, {3637,12652,3},{3640,12650,3},{3640,12652,3},{3642,12650,3},{3647,12662,3}, {3647,12657,3},{3643,12652,3},{3645,12648,3},{3650,12648,3},{3653,12652,3}, {3653,12647,3},{3657,12647,3},{3658,12647,3},{3660,12653,3},{3663,12652,3}, {3665,12650,3},{3667,12652,3},{3668,12648,3},{3672,12650,3},{3675,12647,3}, {3672,12645,3},{3672,12643,3},{3670,12643,3},{3665,12642,3},{3663,12638,3}, {3670,12638,3},{3673,12635,3},{3670,12633,3},{3670,12630,3},{3665,12633,3}, {3662,12633,3},{3662,12635,3},{3658,12630,3},{3663,12630,3},{3668,12627,3}, {3668,12628,3},{3672,12627,3},{3668,12623,3},{3667,12617,3},{3670,12617,3}, {3670,12622,3},{3673,12620,3},{3673,12618,3},{3675,12620,3},{3675,12615,3}, {3672,12615,3},{3670,12613,3},{3677,12612,3},{3680,12617,3},{3678,12618,3}, {3677,12620,3},{3680,12620,3},{3680,12623,3},{3682,12620,3},{3685,12622,3}, {3688,12618,3},{3688,12620,3},{3690,12623,3},{3687,12623,3},{3687,12628,3}, {3695,12628,3},{3697,12630,3},{3688,12632,3},{3685,12630,3},{3683,12632,3}, {3680,12628,3},{3678,12628,3},{3680,12632,3},{3678,12635,3},{3683,12633,3}, {3685,12633,3},{3683,12637,3},{3685,12640,3},{3687,12638,3},{3690,12642,3}, {3692,12642,3},{3695,12635,3},{3697,12635,3},{3697,12637,3},{3697,12638,3}, {3698,12633,3},{3700,12637,3},{3698,12640,3},{3700,12638,3},{3700,12643,3}, {3698,12645,3},{3695,12643,3},{3695,12645,3},{3693,12648,3},{3690,12645,3}, {3683,12648,3},{3690,12650,3},{3695,12652,3},{3690,12658,3},{3695,12655,3}, {3700,12648,3},{3700,12650,3},{3697,12653,3},{3697,12658,3},{3698,12657,3}, {3700,12653,3},{3703,12653,3},{3705,12650,3},{3705,12652,3},{3702,12657,3}, {3697,12662,3},{3692,12663,3},{3695,12665,3},{3697,12668,3},{3698,12670,3}, {3697,12672,3},{3693,12672,3},{3697,12675,3},{3697,12678,3},{3693,12680,3}, {3688,12678,3},{3692,12682,3},{3690,12683,3},{3683,12683,3},{3680,12685,3}, {3677,12683,3},{3675,12685,3},{3680,12687,3},{3682,12687,3},{3683,12687,3}, {3682,12690,3},{3685,12687,3},{3687,12687,3},{3692,12700,3},{3697,12698,3}, {3698,12705,3},{3698,12703,3},{3698,12698,3},{3693,12698,3},{3692,12690,3}, {3700,12682,3},{3700,12688,3},{3702,12687,3},{3702,12692,3},{3703,12692,3}, {3705,12688,3},{3710,12688,3},{3705,12687,3},{3703,12685,3},{3705,12683,3}, {3703,12680,3},{3705,12675,3},{3707,12678,3},{3708,12677,3},{3712,12678,3}, {3713,12687,3},{3715,12687,3},{3718,12687,3},{3717,12680,3},{3718,12680,3}, {3712,12670,3},{3713,12668,3},{3715,12670,3},{3715,12667,3},{3718,12667,3}, {3722,12672,3},{3722,12668,3},{3725,12667,3},{3727,12670,3},{3725,12677,3}, {3722,12678,3},{3727,12680,3},{3728,12682,3},{3727,12687,3},{3730,12685,3}, {3730,12680,3},{3730,12677,3},{3733,12675,3},{3733,12670,3},{3735,12675,3}, {3738,12675,3},{3740,12667,3},{3747,12663,3},{3748,12663,3},{3748,12667,3}, {3752,12665,3},{3758,12665,3},{3760,12662,3},{3762,12658,3},{3765,12655,3}, {3777,12653,3},{3775,12660,3},{3777,12665,3},{3773,12667,3},{3767,12667,3}, {3763,12675,3},{3768,12668,3},{3773,12670,3},{3777,12668,3},{3783,12668,3}, {3782,12667,3},{3778,12665,3},{3777,12658,3},{3785,12643,3},{3788,12640,3}, {3788,12638,3},{3783,12625,3},{3785,12622,3},{3782,12615,3},{3777,12617,3}, {3773,12615,3},{3773,12613,3},{3775,12610,3},{3778,12610,3},{3780,12605,3}, {3787,12605,3},{3785,12602,3},{3790,12598,3},{3790,12597,3},{3788,12595,3}, {3787,12597,3},{3783,12598,3},{3782,12598,3},{3783,12592,3},{3793,12583,3}, {3795,12580,3},{3798,12580,3},{3800,12570,3},{3802,12567,3},{3803,12558,3}, {3802,12557,3},{3798,12560,3},{3798,12562,3},{3797,12565,3},{3798,12568,3}, {3795,12568,3},{3795,12572,3},{3792,12570,3},{3792,12573,3},{3788,12567,3}, {3792,12563,3},{3785,12563,3},{3783,12563,3},{3782,12565,3},{3780,12562,3}, {3778,12562,3},{3775,12562,3},{3777,12558,3},{3778,12558,3},{3778,12555,3}, {3777,12553,3},{3780,12552,3},{3772,12547,3},{3772,12538,3},{3767,12535,3}, {3772,12533,3},{3775,12537,3},{3775,12540,3},{3777,12545,3},{3777,12538,3}, {3778,12538,3},{3780,12538,3},{3782,12543,3},{3782,12548,3},{3780,12550,3}, {3782,12552,3},{3783,12553,3},{3783,12548,3},{3785,12548,3},{3788,12552,3}, {3790,12547,3},{3792,12545,3},{3788,12543,3},{3788,12538,3},{3787,12543,3}, {3785,12545,3},{3787,12537,3},{3785,12535,3},{3785,12538,3},{3780,12532,3}, {3782,12530,3},{3782,12523,3},{3788,12532,3},{3790,12528,3},{3790,12525,3}, {3793,12525,3},{3793,12523,3},{3788,12522,3},{3787,12517,3},{3790,12502,3}, {3793,12502,3},{3792,12498,3},{3795,12500,3},{3797,12507,3},{3797,12510,3}, {3797,12517,3},{3798,12518,3},{3798,12515,3},{3798,12510,3},{3803,12510,3}, {3805,12520,3},{3802,12522,3},{3802,12525,3},{3807,12527,3},{3808,12513,3}, {3807,12502,3},{3808,12495,3},{3812,12492,3},{3813,12488,3},{3810,12487,3}, {3810,12478,3},{3812,12467,3},{3813,12467,3},{3813,12473,3},{3818,12478,3}, {3818,12482,3},{3822,12485,3},{3823,12487,3},{3822,12490,3},{3818,12493,3}, {3822,12498,3},{3823,12497,3},{3822,12492,3},{3825,12487,3},{3833,12487,3}, {3847,12495,3},{3843,12498,3},{3850,12502,3},{3853,12498,3},{3858,12500,3}, {3858,12507,3},{3855,12505,3},{3855,12508,3},{3857,12510,3},{3858,12513,3}, {3862,12513,3},{3865,12512,3},{3867,12512,3},{3862,12518,3},{3867,12520,3}, {3865,12522,3},{3867,12527,3},{3865,12532,3},{3867,12533,3},{3868,12543,3}, {3870,12545,3},{3868,12552,3},{3865,12552,3},{3868,12555,3},{3863,12560,3}, {3863,12565,3},{3865,12563,3},{3865,12560,3},{3870,12553,3},{3872,12548,3}, {3878,12545,3},{3875,12542,3},{3873,12543,3},{3872,12542,3},{3870,12537,3}, {3873,12537,3},{3870,12533,3},{3873,12530,3},{3870,12530,3},{3870,12528,3}, {3872,12523,3},{3875,12527,3},{3878,12523,3},{3880,12523,3},{3873,12522,3}, {3878,12520,3},{3878,12515,3},{3880,12513,3},{3888,12515,3},{3892,12520,3}, {3893,12518,3},{3898,12523,3},{3900,12522,3},{3907,12527,3},{3908,12533,3}, {3912,12528,3},{3915,12528,3},{3917,12533,3},{3918,12533,3},{3922,12537,3}, {3922,12542,3},{3923,12538,3},{3930,12545,3},{3932,12542,3},{3935,12542,3}, {3937,12540,3},{3937,12543,3},{3938,12545,3},{3940,12537,3},{3940,12535,3}, {3943,12538,3},{3943,12535,3},{3945,12533,3},{3948,12538,3},{3953,12540,3}, {3955,12545,3},{3958,12545,3},{3952,12528,3},{3957,12523,3},{3957,12522,3}, {3958,12522,3},{3958,12517,3},{3957,12517,3},{3955,12512,3},{3960,12510,3}, {3960,12505,3},{3963,12500,3},{3963,12497,3},{3967,12495,3},{3965,12493,3}, {3965,12492,3},{3970,12488,3},{3972,12485,3},{3972,12480,3},{3978,12475,3}, {3977,12473,3},{3973,12475,3},{3970,12473,3},{3968,12475,3},{3963,12475,3}, {3963,12470,3},{3960,12462,3},{3962,12462,3},{3968,12465,3},{3972,12458,3}, {3977,12458,3},{3978,12457,3},{3982,12457,3},{3982,12442,3},{3987,12440,3}, {3987,12437,3},{3992,12432,3},{3993,12437,3},{4002,12438,3},{4002,12443,3}, {4002,12447,3},{4002,12450,3},{4005,12438,3},{4010,12437,3},{4022,12455,3}, {4025,12455,3},{4028,12462,3},{4030,12472,3},{4037,12475,3},{4042,12483,3}, {4048,12488,3},{4045,12492,3},{4045,12503,3},{4047,12505,3},{4052,12500,3}, {4053,12503,3},{4055,12508,3},{4058,12515,3},{4060,12525,3},{4062,12525,3}, {4065,12528,3},{4065,12532,3},{4063,12533,3},{4063,12537,3},{4062,12540,3}, {4067,12542,3},{4067,12547,3},{4072,12547,3},{4072,12555,3},{4077,12555,3}, {4078,12558,3},{4077,12560,3},{4075,12562,3},{4077,12568,3},{4080,12565,3}, {4082,12565,3},{4087,12570,3},{4087,12573,3},{4088,12577,3},{4087,12582,3}, {4090,12588,3},{4090,12592,3},{4088,12593,3},{4090,12602,3},{4092,12598,3}, {4093,12603,3},{4097,12607,3},{4100,12607,3},{4100,12610,3},{4102,12610,3}, {4105,12613,3},{4108,12612,3},{4110,12618,3},{4115,12628,3},{4122,12632,3}, {4123,12635,3},{4127,12637,3},{4135,12645,3},{4137,12650,3},{4133,12650,3}, {4135,12653,3},{4143,12650,3},{4150,12655,3},{4157,12658,3},{4162,12657,3}, {4163,12660,3},{4167,12662,3},{4167,12667,3},{4170,12672,3},{4172,12668,3}, {4173,12670,3},{4170,12678,3},{4173,12680,3},{4173,12685,3},{4178,12690,3}, {4180,12693,3},{4177,12693,3},{4173,12703,3},{4168,12708,3},{4167,12703,3}, {4165,12703,3},{4163,12710,3},{4162,12710,3},{4160,12713,3},{4158,12718,3}, {4153,12710,3},{4152,12713,3},{4153,12717,3},{4152,12718,3},{4152,12722,3}, {4150,12723,3},{4150,12728,3},{4147,12727,3},{4147,12753,3},{4143,12755,3}, {4140,12763,3},{4142,12765,3},{4140,12785,3},{4143,12787,3},{4143,12790,3}, {4145,12793,3},{4142,12798,3},{4145,12800,3},{4142,12802,3},{4140,12802,3}, {4142,12805,3},{4138,12805,3},{4138,12808,3},{4140,12810,3},{4137,12812,3}, {4142,12820,3},{4158,12830,3},{4165,12827,3},{4170,12817,3},{4177,12813,3}, {4180,12810,3},{4192,12807,3},{4200,12807,3},{4203,12833,3},{4203,12842,3}, {4200,12847,3},{4200,12850,3},{4200,12857,3},{4202,12860,3},{4203,12863,3}, {4202,12868,3},{4205,12873,3},{4202,12893,3},{4208,12895,3},{4210,12903,3}, {4213,12907,3},{4213,12912,3},{4222,12922,3},{4223,12920,3},{4223,12918,3}, {4230,12922,3},{4232,12918,3},{4232,12923,3},{4233,12923,3},{4235,12922,3}, {4237,12923,3},{4238,12930,3},{4242,12930,3},{4242,12935,3},{4243,12933,3}, {4245,12935,3},{4243,12937,3},{4243,12945,3},{4237,12953,3},{4240,12957,3}, {4242,12960,3},{4243,12958,3},{4245,12960,3},{4243,12967,3},{4243,12970,3}, {4248,12973,3},{4257,12973,3},{4260,12977,3},{4262,12975,3},{4263,12975,3}, {4265,12977,3},{4267,12978,3},{4270,12975,3},{4285,12980,3},{4292,12985,3}, {4297,12985,3},{4297,12990,3},{4298,12988,3},{4300,12992,3},{4298,12995,3}, {4295,13005,3},{4298,13010,3},{4297,13013,3},{4292,13010,3},{4290,13025,3}, {4272,13025,3},{4260,13038,3},{4260,13043,3},{4255,13043,3},{4255,13045,3}, {4255,13047,3},{4260,13047,3},{4260,13052,3},{4248,13055,3},{4247,13057,3}, {4243,13057,3},{4242,13060,3},{4238,13065,3},{4232,13065,3},{4228,13068,3}, {4225,13060,3},{4228,13060,3},{4230,13058,3},{4232,13048,3},{4230,13043,3}, {4232,13040,3},{4227,13038,3},{4225,13040,3},{4223,13037,3},{4218,13033,3}, {4218,13030,3},{4222,13030,3},{4217,13022,3},{4210,13020,3},{4208,13017,3}, {4207,13017,3},{4207,13010,3},{4205,13008,3},{4205,13005,3},{4200,13003,3}, {4200,13000,3},{4198,12998,3},{4197,13000,3},{4195,12998,3},{4188,12997,3}, {4190,12990,3},{4187,12988,3},{4180,12988,3},{4177,12985,3},{4175,12978,3}, {4167,12973,3},{4165,12970,3},{4155,12967,3},{4148,12967,3},{4143,12970,3}, {4137,12980,3},{4128,12975,3},{4125,12975,3},{4118,12972,3},{4098,12972,3}, {4093,12975,3},{4083,12972,3},{4082,12957,3},{4078,12953,3},{4078,12948,3}, {4073,12935,3},{4068,12932,3},{4067,12930,3},{4070,12927,3},{4068,12922,3}, {4055,12917,3},{4047,12910,3},{4045,12898,3},{4037,12888,3},{4030,12865,3}, {4027,12863,3},{4022,12868,3},{4018,12865,3},{4017,12860,3},{4013,12852,3}, {4008,12838,3},{4003,12833,3},{4002,12832,3},{4005,12828,3},{4007,12825,3}, {4003,12823,3},{4002,12815,3},{4003,12813,3},{4003,12800,3},{4002,12800,3}, {3997,12793,3},{3997,12790,3},{3988,12787,3},{3988,12778,3},{3987,12780,3}, {3985,12778,3},{3985,12772,3},{3982,12768,3},{3980,12767,3},{3982,12762,3}, {3978,12757,3},{3972,12750,3},{3965,12750,3},{3963,12755,3},{3960,12758,3}, {3950,12753,3},{3930,12757,3},{3930,12753,3},{3932,12752,3},{3937,12753,3}, {3942,12752,3},{3943,12748,3},{3942,12745,3},{3938,12743,3},{3940,12742,3}, {3937,12737,3},{3935,12742,3},{3937,12745,3},{3935,12747,3},{3933,12742,3}, {3933,12738,3},{3930,12740,3},{3925,12737,3},{3922,12738,3},{3917,12745,3}, {3917,12747,3},{3920,12748,3},{3913,12753,3},{3915,12762,3},{3912,12765,3}, {3912,12777,3},{3898,12785,3},{3897,12788,3},{3897,12792,3},{3893,12792,3}, {3892,12797,3},{3887,12800,3},{3882,12812,3},{3875,12818,3},{3872,12820,3}, {3875,12828,3},{3868,12837,3},{3862,12837,3},{3858,12830,3},{3850,12832,3}, {3843,12828,3},{3835,12818,3},{3832,12807,3},{3832,12790,3},{3830,12783,3}, {3833,12778,3},{3832,12757,3},{3830,12750,3},{3833,12740,3},{3832,12722,3}, {3828,12710,3},{3822,12698,3},{3813,12695,3},{3810,12688,3},{3800,12680,3}, {3795,12675,3},{3795,12668,3},{3783,12668,3},{4917,8783,131},{4912,8787,3}, {4902,8787,3},{4893,8780,3},{4892,8772,3},{4890,8770,3},{4887,8773,3},{4885,8782,3}, {4880,8783,3},{4875,8795,3},{4875,8798,3},{4872,8798,3},{4868,8808,3},{4865,8808,3}, {4862,8802,3},{4857,8798,3},{4850,8797,3},{4850,8808,3},{4845,8820,3},{4847,8833,3}, {4845,8837,3},{4842,8837,3},{4837,8845,3},{4838,8853,3},{4835,8857,3},{4830,8865,3}, {4823,8860,3},{4823,8865,3},{4818,8868,3},{4815,8875,3},{4807,8885,3},{4792,8890,3}, {4793,8917,3},{4798,8930,3},{4802,8928,3},{4803,8937,3},{4802,8960,3},{4797,8958,3}, {4790,8965,3},{4787,8973,3},{4782,8977,3},{4780,8988,3},{4782,8995,3},{4785,8995,3}, {4787,8998,3},{4783,9007,3},{4773,9012,3},{4768,9030,3},{4765,9035,3},{4762,9035,3}, {4750,9045,3},{4740,9047,3},{4738,9052,3},{4732,9050,3},{4727,9053,3},{4722,9055,3}, {4708,9067,3},{4707,9070,3},{4700,9073,3},{4698,9083,3},{4695,9090,3},{4688,9090,3}, {4685,9095,3},{4682,9092,3},{4675,9100,3},{4675,9098,3},{4673,9103,3},{4667,9105,3}, {4650,9102,3},{4647,9095,3},{4638,9090,3},{4630,9090,3},{4612,9100,3},{4602,9102,3}, {4597,9098,3},{4587,9085,3},{4577,9077,3},{4560,9067,3},{4548,9067,3},{4532,9070,3}, {4520,9090,3},{4520,9117,3},{4510,9148,3},{4508,9167,3},{4505,9177,3},{4505,9198,3}, {4500,9228,3},{4500,9290,3},{4502,9313,3},{4500,9318,3},{4498,9327,3},{4498,9337,3}, {4493,9350,3},{4492,9362,3},{4485,9375,3},{4468,9393,3},{4467,9400,3},{4468,9413,3}, {4452,9437,3},{4452,9447,3},{4445,9458,3},{4435,9467,3},{4433,9472,3},{4433,9487,3}, {4425,9503,3},{4427,9540,3},{4425,9540,3},{4418,9533,3},{4403,9532,3},{4402,9533,3}, {4398,9552,3},{4368,9567,3},{4340,9585,3},{4330,9590,3},{4323,9590,3},{4315,9598,3}, {4287,9637,3},{4273,9638,3},{4272,9638,3},{4270,9687,3},{4267,9712,3},{4262,9730,3}, {4262,9745,3},{4267,9757,3},{4262,9800,3},{4260,9840,3},{4255,9878,3},{4253,9908,3}, {4252,9933,3},{4255,9947,3},{4255,9965,3},{4258,9992,3},{4265,10003,3}, {4265,10010,3},{4265,10018,3},{4263,10025,3},{4268,10030,3},{4268,10037,3}, {4268,10045,3},{4268,10052,3},{4268,10058,3},{4268,10065,3},{4268,10073,3}, {4268,10080,3},{4267,10088,3},{4265,10095,3},{4265,10102,3},{4263,10108,3}, {4262,10115,3},{4260,10122,3},{4258,10128,3},{4258,10135,3},{4257,10143,3}, {4255,10150,3},{4253,10157,3},{4253,10163,3},{4252,10170,3},{4252,10178,3}, {4247,10183,3},{4220,10207,3},{4215,10218,3},{4212,10237,3},{4210,10253,3}, {4200,10302,3},{4190,10328,3},{4180,10382,3},{4180,10413,3},{4182,10432,3}, {4185,10448,3},{4185,10455,3},{4162,10453,3},{4153,10493,3},{4173,10520,3}, {4173,10523,3},{4177,10533,3},{4188,10558,3},{4200,10587,3},{4208,10618,3}, {4218,10643,3},{4228,10683,3},{4235,10728,3},{4240,10730,3},{4245,10748,3}, {4242,10758,3},{4242,10763,3},{4240,10790,3},{4247,10825,3},{4243,10833,3}, {4243,10858,3},{4240,10885,3},{4245,10898,3},{4243,10932,3},{4245,10935,3}, {4245,10952,3},{4248,10953,3},{4248,10957,3},{4255,10968,3},{4265,10995,3}, {4265,11013,3},{4267,11013,3},{4277,11040,3},{4287,11050,3},{4290,11057,3}, {4302,11068,3},{4308,11070,3},{4312,11077,3},{4332,11100,3},{4342,11123,3}, {4345,11133,3},{4350,11143,3},{4350,11157,3},{4367,11178,3},{4367,11192,3}, {4370,11197,3},{4378,11198,3},{4390,11190,3},{4398,11180,3},{4407,11167,3}, {4418,11155,3},{4430,11148,3},{4432,11143,3},{4435,11142,3},{4443,11143,3}, {4457,11155,3},{4468,11157,3},{4500,11178,3},{4510,11200,3},{4508,11217,3}, {4508,11243,3},{4498,11253,3},{4493,11258,3},{4483,11283,3},{4485,11293,3}, {4483,11300,3},{4478,11323,3},{4480,11348,3},{4475,11360,3},{4487,11378,3}, {4487,11385,3},{4493,11392,3},{4493,11407,3},{4503,11417,3},{4508,11425,3}, {4522,11447,3},{4540,11458,3},{4543,11477,3},{4538,11493,3},{4540,11518,3}, {4540,11538,3},{4545,11570,3},{4555,11582,3},{4568,11605,3},{4568,11613,3}, {4572,11620,3},{4580,11628,3},{4590,11623,3},{4598,11628,3},{4613,11640,3}, {4625,11658,3},{4628,11660,3},{4632,11673,3},{4635,11678,3},{4635,11682,3}, {4640,11683,3},{4637,11710,3},{4638,11735,3},{4647,11737,3},{4652,11743,3}, {4658,11742,3},{4660,11762,3},{4658,11762,3},{4652,11768,3},{4653,11782,3}, {4658,11785,3},{4662,11790,3},{4665,11805,3},{4668,11812,3},{4670,11818,3}, {4675,11833,3},{4672,11847,3},{4673,11863,3},{4670,11870,3},{4670,11877,3}, {4673,11878,3},{4677,11885,3},{4677,11888,3},{4673,11890,3},{4675,11898,3}, {4665,11908,3},{4667,11925,3},{4660,11932,3},{4663,11945,3},{4662,11958,3}, {4658,11963,3},{4660,11968,3},{4667,11973,3},{4667,11983,3},{4663,11987,3}, {4667,11990,3},{4677,11988,3},{4688,11990,3},{4693,11985,3},{4698,11985,3}, {4703,11980,3},{4712,11977,3},{4728,11957,3},{4730,11952,3},{4742,11935,3}, {4743,11932,3},{4748,11933,3},{4753,11913,3},{4767,11912,3},{4770,11913,3}, {4780,11878,3},{4795,11853,3},{4800,11843,3},{4802,11835,3},{4800,11828,3}, {4803,11822,3},{4803,11817,3},{4800,11803,3},{4800,11797,3},{4802,11790,3}, {4803,11783,3},{4800,11778,3},{4795,11768,3},{4763,11738,3},{4780,11713,3}, {4787,11692,3},{4788,11680,3},{4783,11643,3},{4787,11625,3},{4778,11607,3}, {4767,11597,3},{4788,11558,3},{4818,11548,3},{4827,11583,3},{4852,11582,3}, {4880,11612,3},{4887,11605,3},{4892,11608,3},{4895,11612,3},{4900,11615,3}, {4905,11618,3},{4910,11622,3},{4915,11625,3},{4918,11627,3},{4923,11630,3}, {4928,11633,3},{4933,11637,3},{4938,11640,3},{4942,11643,3},{4947,11647,3}, {4952,11650,3},{4957,11653,3},{4960,11657,3},{4965,11658,3},{4970,11662,3}, {4975,11665,3},{4980,11668,3},{4983,11672,3},{4972,11697,3},{4965,11717,3}, {4963,11728,3},{4962,11750,3},{4952,11778,3},{4950,11787,3},{4955,11790,3}, {4960,11803,3},{4965,11812,3},{4967,11817,3},{4973,11823,3},{4978,11837,3}, {4982,11838,3},{4982,11847,3},{4990,11853,3},{4995,11863,3},{4995,11872,3}, {4998,11892,3},{4998,11907,3},{5002,11923,3},{5010,11933,3},{5017,11935,3}, {5027,11933,3},{5032,11937,3},{5035,11935,3},{5035,11918,3},{5037,11918,3}, {5037,11913,3},{5040,11913,3},{5042,11917,3},{5042,11920,3},{5045,11925,3}, {5060,11928,3},{5063,11937,3},{5067,11938,3},{5068,11945,3},{5075,11950,3}, {5080,11952,3},{5083,11950,3},{5088,11953,3},{5090,11952,3},{5093,11957,3}, {5097,11958,3},{5100,11967,3},{5107,11975,3},{5115,11977,3},{5117,11978,3}, {5120,11975,3},{5122,11982,3},{5127,11982,3},{5128,11987,3},{5133,11992,3}, {5137,11988,3},{5138,11995,3},{5143,11998,3},{5150,11998,3},{5155,12005,3}, {5162,12005,3},{5167,12010,3},{5167,12018,3},{5177,12032,3},{5183,12040,3}, {5183,12047,3},{5188,12048,3},{5188,12055,3},{5190,12057,3},{5192,12065,3}, {5198,12072,3},{5205,12070,3},{5207,12075,3},{5212,12078,3},{5223,12077,3}, {5230,12065,3},{5233,12062,3},{5243,12068,3},{5253,12072,3},{5263,12043,3}, {5262,12038,3},{5262,12028,3},{5258,12018,3},{5258,12007,3},{5262,12003,3}, {5270,12005,3},{5277,12003,3},{5280,12012,3},{5280,12017,3},{5285,12027,3}, {5302,12048,3},{5310,12063,3},{5318,12072,3},{5323,12083,3},{5327,12083,3}, {5328,12087,3},{5328,12103,3},{5328,12107,3},{5327,12113,3},{5328,12123,3}, {5332,12133,3},{5333,12150,3},{5338,12167,3},{5338,12173,3},{5342,12182,3}, {5342,12197,3},{5342,12202,3},{5342,12210,3},{5347,12217,3},{5347,12225,3}, {5348,12232,3},{5343,12242,3},{5345,12262,3},{5345,12282,3},{5348,12297,3}, {5350,12315,3},{5355,12327,3},{5352,12345,3},{5350,12348,3},{5355,12350,3}, {5353,12355,3},{5350,12353,3},{5353,12358,3},{5355,12362,3},{5350,12370,3}, {5347,12388,3},{5343,12398,3},{5340,12402,3},{5333,12412,3},{5337,12418,3}, {5337,12425,3},{5325,12433,3},{5322,12440,3},{5318,12450,3},{5318,12465,3}, {5317,12470,3},{5313,12470,3},{5313,12480,3},{5308,12485,3},{5310,12490,3}, {5317,12488,3},{5320,12507,3},{5320,12517,3},{5308,12547,3},{5303,12550,3}, {5305,12557,3},{5305,12562,3},{5302,12565,3},{5298,12573,3},{5295,12572,3}, {5292,12565,3},{5288,12565,3},{5290,12583,3},{5288,12587,3},{5285,12587,3}, {5277,12597,3},{5278,12605,3},{5277,12610,3},{5275,12610,3},{5273,12603,3}, {5268,12607,3},{5265,12598,3},{5262,12598,3},{5257,12602,3},{5257,12605,3}, {5258,12607,3},{5253,12618,3},{5252,12622,3},{5247,12620,3},{5247,12627,3}, {5238,12633,3},{5230,12632,3},{5228,12643,3},{5223,12633,3},{5220,12632,3}, {5217,12647,3},{5213,12655,3},{5203,12652,3},{5203,12647,3},{5200,12643,3}, {5193,12647,3},{5190,12652,3},{5175,12663,3},{5173,12667,3},{5172,12670,3}, {5170,12672,3},{5167,12670,3},{5163,12673,3},{5160,12667,3},{5157,12667,3}, {5153,12680,3},{5150,12682,3},{5145,12678,3},{5142,12678,3},{5140,12690,3}, {5138,12692,3},{5133,12690,3},{5133,12682,3},{5127,12682,3},{5125,12685,3}, {5123,12688,3},{5125,12690,3},{5127,12688,3},{5130,12687,3},{5133,12695,3}, {5130,12698,3},{5128,12697,3},{5118,12690,3},{5105,12693,3},{5097,12703,3}, {5092,12713,3},{5078,12722,3},{5073,12730,3},{5068,12728,3},{5057,12737,3}, {5047,12728,3},{5042,12735,3},{5032,12733,3},{5020,12758,3},{5013,12757,3}, {5005,12748,3},{4998,12748,3},{4992,12753,3},{4983,12750,3},{4980,12753,3}, {4975,12767,3},{4967,12768,3},{4963,12777,3},{4958,12782,3},{4958,12790,3}, {4960,12795,3},{4958,12800,3},{4953,12810,3},{4953,12822,3},{4955,12827,3}, {4953,12833,3},{4957,12837,3},{4958,12850,3},{4957,12862,3},{4962,12867,3}, {4958,12872,3},{4957,12878,3},{4953,12880,3},{4950,12875,3},{4947,12875,3}, {4948,12885,3},{4947,12890,3},{4945,12892,3},{4943,12900,3},{4937,12905,3}, {4935,12910,3},{4938,12920,3},{4938,12925,3},{4935,12932,3},{4935,12937,3}, {4940,12937,3},{4942,12938,3},{4942,12948,3},{4938,12953,3},{4930,12955,3}, {4927,12960,3},{4928,12968,3},{4927,12972,3},{4920,12973,3},{4917,12977,3}, {4915,12985,3},{4912,12983,3},{4908,12992,3},{4903,12990,3},{4900,12998,3}, {4887,13022,3},{4887,13028,3},{4890,13042,3},{4888,13047,3},{4885,13052,3}, {4888,13062,3},{4887,13067,3},{4885,13067,3},{4880,13063,3},{4860,13052,3}, {4857,13062,3},{4852,13062,3},{4848,13063,3},{4850,13073,3},{4848,13077,3}, {4842,13073,3},{4835,13077,3},{4833,13082,3},{4828,13083,3},{4825,13077,3}, {4818,13075,3},{4813,13067,3},{4810,13067,3},{4805,13068,3},{4790,13088,3}, {4780,13095,3},{4772,13093,3},{4770,13098,3},{4767,13110,3},{4770,13117,3}, {4773,13127,3},{4773,13142,3},{4772,13153,3},{4767,13155,3},{4765,13158,3}, {4767,13162,3},{4770,13168,3},{4767,13182,3},{4768,13187,3},{4767,13192,3}, {4770,13200,3},{4770,13217,3},{4775,13235,3},{4772,13253,3},{4773,13258,3}, {4780,13258,3},{4787,13267,3},{4793,13265,3},{4795,13267,3},{4795,13275,3}, {4793,13277,3},{4795,13283,3},{4800,13288,3},{4803,13302,3},{4810,13308,3}, {4812,13322,3},{4810,13332,3},{4810,13340,3},{4807,13348,3},{4807,13352,3}, {4810,13353,3},{4817,13360,3},{4818,13370,3},{4825,13375,3},{4827,13388,3}, {4827,13398,3},{4830,13402,3},{4832,13405,3},{4833,13418,3},{4837,13425,3}, {4838,13442,3},{4835,13448,3},{4837,13457,3},{4830,13462,3},{4827,13473,3}, {4823,13468,3},{4810,13467,3},{4807,13458,3},{4800,13455,3},{4795,13460,3}, {4790,13460,3},{4787,13467,3},{4780,13468,3},{4773,13477,3},{4770,13477,3}, {4763,13468,3},{4757,13467,3},{4750,13457,3},{4747,13455,3},{4743,13448,3}, {4742,13432,3},{4735,13423,3},{4732,13418,3},{4725,13415,3},{4720,13420,3}, {4717,13418,3},{4713,13422,3},{4712,13422,3},{4708,13420,3},{4708,13413,3}, {4697,13407,3},{4692,13407,3},{4682,13402,3},{4677,13405,3},{4667,13402,3}, {4662,13398,3},{4657,13390,3},{4653,13390,3},{4647,13385,3},{4643,13385,3}, {4642,13390,3},{4640,13393,3},{4637,13392,3},{4635,13388,3},{4633,13387,3}, {4632,13392,3},{4630,13388,3},{4625,13390,3},{4623,13385,3},{4622,13385,3}, {4620,13383,3},{4622,13380,3},{4620,13378,3},{4615,13375,3},{4615,13368,3}, {4607,13372,3},{4593,13367,3},{4593,13362,3},{4590,13360,3},{4587,13358,3}, {4588,13355,3},{4588,13352,3},{4583,13350,3},{4583,13348,3},{4580,13347,3}, {4578,13350,3},{4577,13348,3},{4573,13348,3},{4570,13345,3},{4568,13348,3}, {4567,13348,3},{4565,13345,3},{4562,13347,3},{4560,13342,3},{4557,13342,3}, {4557,13337,3},{4550,13318,3},{4545,13315,3},{4525,13310,3},{4517,13313,3}, {4512,13312,3},{4505,13303,3},{4502,13293,3},{4505,13283,3},{4507,13277,3}, {4508,13268,3},{4510,13262,3},{4512,13253,3},{4513,13247,3},{4515,13240,3}, {4517,13232,3},{4518,13225,3},{4520,13217,3},{4522,13210,3},{4523,13202,3}, {4528,13193,3},{4533,13190,3},{4535,13187,3},{4533,13183,3},{4522,13175,3}, {4522,13167,3},{4520,13165,3},{4517,13163,3},{4513,13165,3},{4512,13165,3}, {4498,13148,3},{4497,13147,3},{4497,13133,3},{4492,13127,3},{4492,13122,3}, {4493,13113,3},{4492,13107,3},{4488,13107,3},{4487,13105,3},{4483,13095,3}, {4478,13100,3},{4475,13105,3},{4470,13107,3},{4468,13110,3},{4462,13112,3}, {4457,13113,3},{4452,13115,3},{4445,13117,3},{4440,13118,3},{4435,13120,3}, {4430,13122,3},{4425,13123,3},{4420,13125,3},{4413,13127,3},{4408,13128,3}, {4405,13130,3},{4403,13125,3},{4397,13123,3},{4392,13125,3},{4382,13120,3}, {4373,13122,3},{4370,13120,3},{4367,13122,3},{4362,13120,3},{4360,13122,3}, {4355,13118,3},{4353,13120,3},{4345,13130,3},{4340,13132,3},{4337,13127,3}, {4327,13127,3},{4320,13118,3},{4315,13122,3},{4313,13122,3},{4303,13110,3}, {4297,13110,3},{4293,13113,3},{4292,13112,3},{4290,13105,3},{4285,13102,3}, {4285,13087,3},{4288,13082,3},{4285,13078,3},{4283,13077,3},{4283,13063,3}, {4275,13043,3},{4272,13040,3},{4270,13042,3},{4268,13047,3},{4268,13053,3}, {4262,13060,3},{4258,13062,3},{4255,13057,3},{4250,13057,3},{4242,13060,3}, {4238,13065,3},{4232,13065,3},{4228,13068,3},{4242,13060,3},{4243,13057,3}, {4247,13057,3},{4248,13055,3},{4260,13052,3},{4260,13047,3},{4255,13047,3}, {4255,13045,3},{4255,13043,3},{4260,13043,3},{4260,13038,3},{4272,13025,3}, {4290,13025,3},{4292,13010,3},{4297,13013,3},{4298,13010,3},{4295,13005,3}, {4298,12995,3},{4300,12992,3},{4298,12988,3},{4297,12990,3},{4297,12985,3}, {4292,12985,3},{4285,12980,3},{4270,12975,3},{4267,12978,3},{4265,12977,3}, {4263,12975,3},{4262,12975,3},{4260,12977,3},{4257,12973,3},{4248,12973,3}, {4243,12970,3},{4243,12967,3},{4245,12960,3},{4243,12958,3},{4242,12960,3}, {4240,12957,3},{4237,12953,3},{4243,12945,3},{4243,12937,3},{4245,12935,3}, {4243,12933,3},{4242,12935,3},{4242,12930,3},{4238,12930,3},{4237,12923,3}, {4235,12922,3},{4233,12923,3},{4232,12923,3},{4232,12918,3},{4230,12922,3}, {4223,12918,3},{4223,12920,3},{4222,12922,3},{4213,12912,3},{4213,12907,3}, {4210,12903,3},{4208,12895,3},{4202,12893,3},{4205,12873,3},{4202,12868,3}, {4203,12863,3},{4202,12860,3},{4200,12857,3},{4200,12850,3},{4200,12847,3}, {4203,12842,3},{4203,12833,3},{4200,12807,3},{4192,12807,3},{4180,12810,3}, {4177,12813,3},{4170,12817,3},{4165,12827,3},{4158,12830,3},{4142,12820,3}, {4137,12812,3},{4140,12810,3},{4138,12808,3},{4138,12805,3},{4142,12805,3}, {4140,12802,3},{4142,12802,3},{4145,12800,3},{4142,12798,3},{4145,12793,3}, {4143,12790,3},{4143,12787,3},{4140,12785,3},{4142,12765,3},{4140,12763,3}, {4143,12755,3},{4147,12753,3},{4147,12727,3},{4150,12728,3},{4150,12723,3}, {4152,12722,3},{4152,12718,3},{4153,12717,3},{4152,12713,3},{4153,12710,3}, {4158,12718,3},{4160,12713,3},{4162,12710,3},{4163,12710,3},{4165,12703,3}, {4167,12703,3},{4168,12708,3},{4173,12703,3},{4177,12693,3},{4180,12693,3}, {4178,12690,3},{4173,12685,3},{4173,12680,3},{4170,12678,3},{4173,12670,3}, {4172,12668,3},{4170,12672,3},{4167,12667,3},{4167,12662,3},{4163,12660,3}, {4162,12657,3},{4157,12658,3},{4150,12655,3},{4143,12650,3},{4135,12653,3}, {4133,12650,3},{4137,12650,3},{4135,12645,3},{4127,12637,3},{4123,12635,3}, {4122,12632,3},{4115,12628,3},{4110,12618,3},{4108,12612,3},{4105,12613,3}, {4102,12610,3},{4100,12610,3},{4100,12607,3},{4097,12607,3},{4093,12603,3}, {4092,12598,3},{4090,12602,3},{4088,12593,3},{4090,12592,3},{4090,12588,3}, {4087,12582,3},{4088,12577,3},{4087,12573,3},{4087,12570,3},{4082,12565,3}, {4080,12565,3},{4077,12568,3},{4075,12562,3},{4077,12560,3},{4078,12558,3}, {4077,12555,3},{4072,12555,3},{4072,12547,3},{4067,12547,3},{4067,12542,3}, {4062,12540,3},{4063,12537,3},{4063,12533,3},{4065,12532,3},{4065,12528,3}, {4062,12525,3},{4060,12525,3},{4058,12515,3},{4055,12508,3},{4053,12503,3}, {4052,12500,3},{4047,12505,3},{4045,12503,3},{4045,12492,3},{4048,12488,3}, {4042,12483,3},{4037,12475,3},{4030,12472,3},{4028,12462,3},{4025,12455,3}, {4022,12455,3},{4010,12437,3},{4007,12435,3},{4002,12437,3},{3998,12435,3}, {3997,12430,3},{3993,12428,3},{3992,12425,3},{3983,12413,3},{3985,12408,3}, {3982,12398,3},{3983,12395,3},{3983,12393,3},{3982,12390,3},{3983,12370,3}, {3987,12365,3},{3992,12365,3},{3982,12360,3},{3978,12360,3},{3977,12357,3}, {3978,12355,3},{3978,12348,3},{3973,12347,3},{3973,12342,3},{3973,12340,3}, {3982,12342,3},{3982,12340,3},{3978,12338,3},{3978,12332,3},{3980,12328,3}, {3980,12325,3},{3982,12323,3},{3975,12327,3},{3975,12322,3},{3973,12320,3}, {3972,12322,3},{3972,12325,3},{3970,12327,3},{3968,12322,3},{3967,12322,3}, {3965,12315,3},{3968,12312,3},{3970,12310,3},{3968,12308,3},{3967,12305,3}, {3968,12302,3},{3967,12297,3},{3963,12300,3},{3962,12297,3},{3962,12295,3}, {3962,12293,3},{3962,12285,3},{3955,12277,3},{3955,12272,3},{3952,12268,3}, {3953,12265,3},{3948,12262,3},{3947,12258,3},{3948,12255,3},{3945,12255,3}, {3942,12247,3},{3942,12240,3},{3935,12230,3},{3932,12227,3},{3932,12225,3}, {3927,12223,3},{3920,12212,3},{3917,12210,3},{3915,12217,3},{3910,12205,3}, {3907,12205,3},{3907,12200,3},{3903,12197,3},{3905,12188,3},{3900,12192,3}, {3903,12187,3},{3903,12183,3},{3898,12190,3},{3895,12187,3},{3895,12183,3}, {3897,12180,3},{3902,12177,3},{3903,12173,3},{3902,12172,3},{3900,12173,3}, {3902,12167,3},{3900,12163,3},{3898,12167,3},{3895,12165,3},{3893,12158,3}, {3892,12167,3},{3890,12172,3},{3887,12170,3},{3887,12158,3},{3880,12148,3}, {3882,12135,3},{3880,12132,3},{3878,12130,3},{3880,12123,3},{3878,12122,3}, {3877,12123,3},{3872,12118,3},{3873,12113,3},{3877,12112,3},{3878,12113,3}, {3883,12112,3},{3885,12112,3},{3890,12115,3},{3890,12108,3},{3892,12110,3}, {3895,12113,3},{3895,12118,3},{3893,12123,3},{3897,12128,3},{3897,12133,3}, {3898,12135,3},{3900,12132,3},{3905,12137,3},{3902,12142,3},{3902,12145,3}, {3908,12167,3},{3912,12168,3},{3918,12163,3},{3917,12162,3},{3918,12158,3}, {3922,12160,3},{3923,12163,3},{3925,12160,3},{3927,12168,3},{3930,12173,3}, {3933,12173,3},{3937,12178,3},{3937,12187,3},{3940,12193,3},{3942,12192,3}, {3940,12192,3},{3938,12185,3},{3940,12172,3},{3938,12170,3},{3937,12172,3}, {3937,12153,3},{3938,12148,3},{3952,12143,3},{3952,12135,3},{3950,12130,3}, {3952,12128,3},{3952,12122,3},{3953,12123,3},{3960,12132,3},{3960,12142,3}, {3963,12147,3},{3965,12147,3},{3962,12153,3},{3965,12153,3},{3968,12155,3}, {3968,12150,3},{3973,12145,3},{3978,12148,3},{3982,12147,3},{3987,12155,3}, {3987,12160,3},{3992,12167,3},{3993,12170,3},{3992,12177,3},{3995,12180,3}, {4000,12188,3},{4002,12188,3},{4002,12183,3},{4003,12188,3},{4010,12193,3}, {4013,12200,3},{4018,12198,3},{4018,12202,3},{4023,12210,3},{4030,12212,3}, {4035,12218,3},{4038,12222,3},{4042,12220,3},{4043,12225,3},{4050,12230,3}, {4057,12225,3},{4060,12215,3},{4070,12215,3},{4068,12212,3},{4075,12205,3}, {4078,12192,3},{4082,12187,3},{4093,12183,3},{4098,12187,3},{4095,12180,3}, {4088,12178,3},{4085,12175,3},{4083,12160,3},{4083,12155,3},{4088,12152,3}, {4090,12148,3},{4088,12145,3},{4092,12143,3},{4093,12138,3},{4093,12135,3}, {4090,12128,3},{4092,12127,3},{4090,12125,3},{4093,12118,3},{4087,12112,3}, {4087,12108,3},{4082,12108,3},{4083,12100,3},{4082,12097,3},{4078,12097,3}, {4077,12093,3},{4073,12093,3},{4073,12100,3},{4072,12103,3},{4070,12098,3}, {4068,12093,3},{4067,12083,3},{4060,12080,3},{4052,12068,3},{4047,12067,3}, {4047,12062,3},{4045,12060,3},{4042,12060,3},{4040,12055,3},{4037,12053,3}, {4037,12058,3},{4035,12060,3},{4030,12050,3},{4025,12050,3},{4020,12045,3}, {4018,12032,3},{4013,12023,3},{4003,11995,3},{3998,11987,3},{3997,11980,3}, {3995,11977,3},{3990,11958,3},{3987,11952,3},{3980,11952,3},{3978,11945,3}, {3972,11935,3},{3958,11928,3},{3960,11925,3},{3957,11920,3},{3955,11922,3}, {3957,11925,3},{3953,11923,3},{3957,11927,3},{3945,11923,3},{3942,11927,3}, {3940,11925,3},{3933,11913,3},{3930,11912,3},{3927,11905,3},{3923,11907,3}, {3913,11892,3},{3912,11888,3},{3918,11897,3},{3917,11888,3},{3918,11888,3}, {3918,11887,3},{3922,11887,3},{3918,11883,3},{3915,11875,3},{3915,11870,3}, {3918,11868,3},{3918,11867,3},{3918,11860,3},{3917,11853,3},{3912,11850,3}, {3903,11832,3},{3907,11830,3},{3907,11825,3},{3912,11823,3},{3918,11817,3}, {3922,11805,3},{3920,11788,3},{3915,11780,3},{3912,11775,3},{3910,11772,3}, {3907,11773,3},{3902,11773,3},{3898,11775,3},{3898,11770,3},{3895,11770,3}, {3880,11758,3},{3868,11753,3},{3860,11755,3},{3843,11765,3},{3835,11772,3}, {3828,11778,3},{3825,11783,3},{3825,11790,3},{3818,11797,3},{3818,11802,3}, {3815,11803,3},{3815,11807,3},{3813,11808,3},{3815,11812,3},{3815,11818,3}, {3812,11832,3},{3813,11835,3},{3812,11843,3},{3807,11855,3},{3810,11858,3}, {3813,11862,3},{3815,11885,3},{3808,11883,3},{3805,11887,3},{3805,11892,3}, {3803,11895,3},{3788,11903,3},{3782,11902,3},{3778,11903,3},{3772,11910,3}, {3767,11907,3},{3767,11903,3},{3760,11897,3},{3735,11893,3},{3727,11897,3}, {3727,11902,3},{3722,11905,3},{3715,11923,3},{3712,11940,3},{3715,11975,3}, {3725,11988,3},{3727,11990,3},{3733,11985,3},{3737,11985,3},{3743,12007,3}, {3750,12018,3},{3760,12030,3},{3765,12032,3},{3768,12022,3},{3768,12037,3}, {3773,12043,3},{3775,12055,3},{3778,12062,3},{3778,12065,3},{3783,12073,3}, {3782,12083,3},{3783,12087,3},{3782,12093,3},{3778,12093,3},{3773,12100,3}, {3772,12102,3},{3770,12115,3},{3765,12113,3},{3763,12113,3},{3758,12115,3}, {3757,12122,3},{3758,12135,3},{3760,12137,3},{3763,12135,3},{3763,12137,3}, {3758,12143,3},{3758,12138,3},{3755,12138,3},{3752,12145,3},{3747,12148,3}, {3745,12153,3},{3742,12157,3},{3743,12167,3},{3745,12165,3},{3747,12163,3}, {3745,12158,3},{3748,12163,3},{3747,12168,3},{3747,12193,3},{3745,12195,3}, {3742,12195,3},{3742,12200,3},{3747,12198,3},{3753,12202,3},{3753,12207,3}, {3757,12207,3},{3755,12208,3},{3755,12212,3},{3755,12213,3},{3752,12215,3}, {3748,12212,3},{3742,12217,3},{3742,12218,3},{3745,12223,3},{3745,12227,3}, {3742,12228,3},{3742,12232,3},{3742,12242,3},{3742,12247,3},{3740,12253,3}, {3740,12257,3},{3742,12262,3},{3742,12268,3},{3740,12270,3},{3737,12268,3}, {3737,12263,3},{3735,12257,3},{3732,12258,3},{3730,12258,3},{3732,12255,3}, {3727,12255,3},{3718,12262,3},{3718,12257,3},{3715,12258,3},{3715,12248,3}, {3710,12247,3},{3715,12247,3},{3715,12245,3},{3710,12243,3},{3707,12245,3}, {3703,12240,3},{3700,12242,3},{3702,12243,3},{3702,12253,3},{3692,12253,3}, {3690,12250,3},{3692,12252,3},{3693,12252,3},{3692,12240,3},{3690,12240,3}, {3688,12243,3},{3685,12242,3},{3685,12238,3},{3683,12237,3},{3682,12232,3}, {3683,12220,3},{3688,12218,3},{3690,12227,3},{3693,12217,3},{3700,12218,3}, {3700,12215,3},{3693,12213,3},{3695,12210,3},{3692,12208,3},{3690,12203,3}, {3695,12203,3},{3698,12205,3},{3697,12200,3},{3700,12195,3},{3698,12192,3}, {3697,12192,3},{3693,12195,3},{3693,12193,3},{3688,12178,3},{3683,12172,3}, {3682,12165,3},{3683,12168,3},{3683,12167,3},{3682,12162,3},{3673,12162,3}, {3677,12158,3},{3675,12157,3},{3677,12155,3},{3675,12153,3},{3677,12148,3}, {3678,12150,3},{3678,12155,3},{3683,12160,3},{3683,12162,3},{3683,12155,3}, {3680,12150,3},{3682,12148,3},{3683,12145,3},{3678,12147,3},{3675,12145,3}, {3675,12138,3},{3672,12137,3},{3670,12140,3},{3672,12133,3},{3668,12120,3}, {3662,12108,3},{3660,12105,3},{3663,12103,3},{3658,12103,3},{3658,12095,3}, {3660,12093,3},{3662,12093,3},{3665,12083,3},{3662,12075,3},{3658,12075,3}, {3657,12073,3},{3653,12075,3},{3653,12078,3},{3658,12082,3},{3660,12085,3}, {3657,12088,3},{3655,12092,3},{3653,12092,3},{3653,12097,3},{3650,12093,3}, {3645,12095,3},{3645,12090,3},{3642,12090,3},{3637,12087,3},{3638,12085,3}, {3642,12085,3},{3645,12083,3},{3647,12078,3},{3647,12077,3},{3642,12070,3}, {3637,12068,3},{3632,12072,3},{3632,12070,3},{3633,12067,3},{3632,12063,3}, {3622,12068,3},{3613,12068,3},{3612,12063,3},{3610,12058,3},{3612,12057,3}, {3608,12053,3},{3608,12047,3},{3605,12043,3},{3603,12035,3},{3607,12028,3}, {3608,12032,3},{3610,12030,3},{3617,12035,3},{3622,12035,3},{3622,12032,3}, {3627,12030,3},{3627,12028,3},{3622,12028,3},{3620,12028,3},{3618,12030,3}, {3617,12027,3},{3620,12022,3},{3622,12022,3},{3620,12013,3},{3622,12012,3}, {3622,12008,3},{3620,12008,3},{3618,12012,3},{3613,12008,3},{3612,12008,3}, {3607,12017,3},{3598,12018,3},{3600,12023,3},{3597,12023,3},{3602,12028,3}, {3598,12030,3},{3597,12030,3},{3593,12022,3},{3588,12017,3},{3593,12018,3}, {3590,12013,3},{3590,12010,3},{3587,12005,3},{3582,12002,3},{3575,12002,3}, {3572,11998,3},{3575,11995,3},{3575,11992,3},{3573,11990,3},{3570,11993,3}, {3568,11990,3},{3562,11990,3},{3560,11985,3},{3562,11983,3},{3565,11983,3}, {3558,11977,3},{3557,11975,3},{3562,11975,3},{3562,11973,3},{3558,11965,3}, {3533,11952,3},{3532,11943,3},{3522,11938,3},{3512,11937,3},{3507,11928,3}, {3507,11922,3},{3502,11920,3},{3490,11920,3},{3485,11917,3},{3478,11920,3}, {3475,11918,3},{3472,11920,3},{3475,11922,3},{3477,11923,3},{3475,11932,3}, {3477,11935,3},{3475,11938,3},{3475,11943,3},{3470,11948,3},{3467,11947,3}, {3460,11953,3},{3455,11963,3},{3453,11965,3},{3452,11973,3},{3447,11980,3}, {3445,11993,3},{3437,12008,3},{3432,12025,3},{3423,12027,3},{3415,12033,3}, {3408,12035,3},{3403,12037,3},{3390,12042,3},{3387,12040,3},{3385,12043,3}, {3380,12045,3},{3377,12045,3},{3373,12050,3},{3365,12050,3},{3365,12048,3}, {3363,12048,3},{3358,12053,3},{3350,12060,3},{3347,12063,3},{3332,12067,3}, {3328,12070,3},{3327,12075,3},{3325,12073,3},{3322,12075,3},{3320,12073,3}, {3317,12078,3},{3312,12080,3},{3310,12080,3},{3310,12082,3},{3302,12082,3}, {3302,12083,3},{3303,12087,3},{3302,12090,3},{3297,12088,3},{3282,12090,3}, {3280,12090,3},{3278,12085,3},{3270,12087,3},{3272,12083,3},{3263,12083,3}, {3257,12097,3},{3253,12108,3},{3250,12110,3},{3250,12113,3},{3248,12118,3}, {3247,12120,3},{3245,12128,3},{3238,12140,3},{3235,12142,3},{3228,12140,3}, {3225,12142,3},{3223,12137,3},{3220,12138,3},{3217,12138,3},{3217,12143,3}, {3212,12143,3},{3210,12148,3},{3212,12153,3},{3202,12173,3},{3192,12183,3}, {3180,12187,3},{3173,12190,3},{3168,12188,3},{3168,12183,3},{3172,12165,3}, {3175,12158,3},{3178,12152,3},{3182,12148,3},{3183,12145,3},{3187,12128,3}, {3183,12117,3},{3187,12108,3},{3183,12098,3},{3185,12095,3},{3188,12095,3}, {3190,12092,3},{3202,12082,3},{3210,12062,3},{3208,12057,3},{3210,12050,3}, {3208,12043,3},{3195,12028,3},{3193,12022,3},{3195,12010,3},{3200,12000,3}, {3212,11992,3},{3215,11990,3},{3220,11992,3},{3220,11988,3},{3228,11985,3}, {3233,11977,3},{3232,11970,3},{3235,11965,3},{3235,11962,3},{3230,11968,3}, {3222,11965,3},{3218,11962,3},{3220,11965,3},{3223,11970,3},{3222,11973,3}, {3220,11978,3},{3217,11977,3},{3212,11977,3},{3207,11987,3},{3202,11987,3}, {3198,11990,3},{3192,12010,3},{3190,12018,3},{3190,12023,3},{3195,12032,3}, {3195,12042,3},{3198,12045,3},{3202,12043,3},{3202,12050,3},{3198,12060,3}, {3200,12068,3},{3198,12072,3},{3187,12078,3},{3182,12078,3},{3182,12077,3}, {3183,12073,3},{3185,12072,3},{3182,12072,3},{3175,12087,3},{3175,12097,3}, {3172,12103,3},{3172,12108,3},{3162,12123,3},{3150,12132,3},{3145,12142,3}, {3138,12150,3},{3137,12152,3},{3135,12160,3},{3132,12167,3},{3122,12175,3}, {3097,12188,3},{3092,12190,3},{3085,12187,3},{3085,12180,3},{3087,12170,3}, {3085,12157,3},{3082,12147,3},{3077,12138,3},{3070,12135,3},{3067,12122,3}, {3063,12115,3},{3060,12113,3},{3057,12100,3},{3055,12097,3},{3048,12093,3}, {3042,12093,3},{3040,12090,3},{3037,12092,3},{3033,12080,3},{3033,12075,3}, {3038,12068,3},{3040,12045,3},{3037,12038,3},{3030,12035,3},{3028,12032,3}, {3030,12027,3},{3028,12023,3},{3020,12015,3},{3022,12020,3},{3027,12025,3}, {3022,12030,3},{3022,12037,3},{3028,12042,3},{3032,12047,3},{3032,12052,3}, {3023,12057,3},{3017,12057,3},{3012,12062,3},{3008,12068,3},{3008,12077,3}, {3007,12080,3},{3010,12077,3},{3010,12067,3},{3015,12063,3},{3013,12067,3}, {3012,12070,3},{3013,12083,3},{3030,12115,3},{3030,12128,3},{3025,12140,3}, {3018,12148,3},{3012,12153,3},{3010,12157,3},{3007,12157,3},{3003,12162,3}, {3002,12162,3},{2997,12168,3},{2997,12178,3},{2993,12182,3},{2992,12188,3}, {2988,12192,3},{2988,12203,3},{2990,12212,3},{2988,12213,3},{2985,12207,3}, {2977,12188,3},{2970,12183,3},{2958,12172,3},{2958,12170,3},{2957,12170,3}, {2955,12155,3},{2950,12152,3},{2955,12150,3},{2952,12147,3},{2952,12145,3}, {2950,12145,3},{2945,12143,3},{2942,12143,3},{2942,12145,3},{2947,12147,3}, {2948,12150,3},{2945,12148,3},{2945,12152,3},{2940,12147,3},{2940,12148,3}, {2942,12153,3},{2948,12157,3},{2950,12168,3},{2952,12170,3},{2952,12168,3}, {2953,12172,3},{2952,12172,3},{2952,12177,3},{2948,12175,3},{2947,12175,3}, {2948,12180,3},{2952,12182,3},{2953,12185,3},{2955,12182,3},{2955,12173,3}, {2957,12173,3},{2958,12177,3},{2960,12180,3},{2960,12185,3},{2963,12190,3}, {2962,12193,3},{2960,12193,3},{2958,12198,3},{2955,12197,3},{2955,12193,3}, {2953,12195,3},{2952,12190,3},{2950,12195,3},{2948,12193,3},{2943,12197,3}, {2942,12195,3},{2940,12195,3},{2942,12190,3},{2938,12188,3},{2937,12192,3}, {2933,12192,3},{2933,12193,3},{2932,12193,3},{2932,12190,3},{2930,12192,3}, {2930,12190,3},{2927,12192,3},{2927,12195,3},{2928,12198,3},{2925,12198,3}, {2925,12195,3},{2922,12197,3},{2922,12193,3},{2920,12195,3},{2918,12190,3}, {2917,12185,3},{2918,12182,3},{2920,12180,3},{2925,12183,3},{2927,12182,3}, {2928,12183,3},{2930,12180,3},{2932,12183,3},{2932,12178,3},{2937,12180,3}, {2937,12177,3},{2935,12177,3},{2927,12177,3},{2920,12175,3},{2920,12172,3}, {2918,12167,3},{2920,12165,3},{2927,12165,3},{2930,12165,3},{2930,12163,3}, {2930,12162,3},{2920,12163,3},{2918,12162,3},{2928,12158,3},{2930,12157,3}, {2927,12157,3},{2927,12152,3},{2925,12153,3},{2920,12150,3},{2918,12150,3}, {2917,12148,3},{2920,12147,3},{2917,12145,3},{2917,12142,3},{2915,12142,3}, {2915,12143,3},{2913,12143,3},{2913,12147,3},{2910,12140,3},{2910,12147,3}, {2910,12163,3},{2905,12162,3},{2907,12155,3},{2905,12153,3},{2902,12153,3}, {2902,12155,3},{2905,12155,3},{2905,12165,3},{2903,12165,3},{2902,12168,3}, {2900,12165,3},{2897,12165,3},{2895,12172,3},{2892,12168,3},{2892,12163,3}, {2895,12158,3},{2892,12158,3},{2895,12153,3},{2895,12150,3},{2893,12148,3}, {2890,12153,3},{2890,12160,3},{2888,12163,3},{2883,12162,3},{2883,12165,3}, {2882,12167,3},{2880,12163,3},{2880,12167,3},{2877,12162,3},{2872,12162,3}, {2870,12150,3},{2872,12132,3},{2875,12130,3},{2877,12123,3},{2880,12122,3}, {2882,12117,3},{2883,12115,3},{2883,12113,3},{2880,12117,3},{2880,12122,3}, {2875,12123,3},{2873,12128,3},{2870,12130,3},{2867,12125,3},{2870,12133,3}, {2867,12148,3},{2855,12152,3},{2850,12157,3},{2848,12152,3},{2848,12157,3}, {2843,12157,3},{2840,12160,3},{2835,12158,3},{2833,12165,3},{2828,12163,3}, {2825,12157,3},{2828,12158,3},{2830,12157,3},{2833,12152,3},{2833,12145,3}, {2830,12143,3},{2830,12140,3},{2827,12140,3},{2827,12142,3},{2825,12142,3}, {2822,12137,3},{2818,12135,3},{2818,12138,3},{2813,12135,3},{2820,12125,3}, {2828,12125,3},{2832,12120,3},{2835,12122,3},{2837,12127,3},{2835,12122,3}, {2838,12117,3},{2835,12117,3},{2833,12113,3},{2830,12110,3},{2828,12108,3}, {2830,12102,3},{2827,12105,3},{2827,12110,3},{2823,12112,3},{2817,12108,3}, {2815,12102,3},{2812,12098,3},{2805,12098,3},{2800,12095,3},{2798,12093,3}, {2798,12080,3},{2803,12070,3},{2803,12060,3},{2810,12058,3},{2812,12057,3}, {2807,12058,3},{2803,12058,3},{2802,12070,3},{2797,12073,3},{2795,12083,3}, {2793,12085,3},{2787,12083,3},{2785,12080,3},{2775,12073,3},{2772,12072,3}, {2775,12063,3},{2772,12067,3},{2767,12065,3},{2765,12067,3},{2760,12063,3}, {2758,12057,3},{2750,12060,3},{2750,12065,3},{2748,12068,3},{2745,12067,3}, {2743,12063,3},{2737,12063,3},{2740,12055,3},{2738,12055,3},{2735,12053,3}, {2733,12050,3},{2732,12055,3},{2728,12053,3},{2727,12052,3},{2723,12053,3}, {2722,12050,3},{2720,12052,3},{2717,12047,3},{2718,12047,3},{2722,12047,3}, {2722,12043,3},{2722,12042,3},{2717,12042,3},{2723,12038,3},{2725,12030,3}, {2727,12030,3},{2728,12032,3},{2730,12030,3},{2732,12032,3},{2730,12028,3}, {2732,12027,3},{2730,12027,3},{2730,12023,3},{2728,12025,3},{2727,12022,3}, {2728,12020,3},{2725,12020,3},{2723,12017,3},{2722,12018,3},{2722,12020,3}, {2723,12022,3},{2725,12025,3},{2722,12030,3},{2723,12035,3},{2722,12037,3}, {2718,12035,3},{2718,12038,3},{2715,12042,3},{2715,12038,3},{2713,12042,3}, {2712,12037,3},{2710,12037,3},{2710,12038,3},{2710,12037,3},{2712,12028,3}, {2713,12025,3},{2710,12025,3},{2710,12027,3},{2705,12028,3},{2707,12025,3}, {2705,12025,3},{2703,12022,3},{2703,12025,3},{2700,12025,3},{2698,12022,3}, {2698,12020,3},{2698,12015,3},{2697,12023,3},{2693,12023,3},{2692,12022,3}, {2693,12012,3},{2690,12012,3},{2688,12010,3},{2690,12003,3},{2688,12007,3}, {2687,12002,3},{2682,12003,3},{2682,12007,3},{2678,12012,3},{2675,12010,3}, {2673,12010,3},{2673,12013,3},{2672,12015,3},{2670,12010,3},{2665,12012,3}, {2665,12013,3},{2663,12013,3},{2662,12008,3},{2663,12008,3},{2662,12002,3}, {2660,12000,3},{2662,11995,3},{2655,11993,3},{2652,11988,3},{2652,11987,3}, {2653,11983,3},{2657,11983,3},{2657,11985,3},{2660,11985,3},{2665,11998,3}, {2670,11998,3},{2672,12000,3},{2672,12003,3},{2673,12003,3},{2677,12005,3}, {2678,12008,3},{2678,12000,3},{2680,11993,3},{2675,11993,3},{2670,11990,3}, {2665,11990,3},{2665,11987,3},{2665,11985,3},{2668,11985,3},{2672,11982,3}, {2668,11980,3},{2677,11980,3},{2678,11983,3},{2680,11978,3},{2682,11980,3}, {2683,11983,3},{2685,11983,3},{2683,11980,3},{2682,11978,3},{2678,11975,3}, {2677,11977,3},{2673,11977,3},{2673,11973,3},{2680,11972,3},{2682,11968,3}, {2677,11968,3},{2672,11973,3},{2670,11970,3},{2675,11965,3},{2675,11962,3}, {2678,11963,3},{2680,11962,3},{2678,11958,3},{2677,11957,3},{2677,11955,3}, {2670,11955,3},{2670,11960,3},{2668,11960,3},{2665,11960,3},{2665,11953,3}, {2662,11955,3},{2657,11960,3},{2660,11967,3},{2662,11973,3},{2658,11973,3}, {2657,11978,3},{2655,11978,3},{2655,11977,3},{2655,11975,3},{2652,11977,3}, {2652,11980,3},{2650,11978,3},{2648,11980,3},{2645,11982,3},{2643,11980,3}, {2642,11978,3},{2640,11977,3},{2643,11975,3},{2645,11968,3},{2650,11965,3}, {2647,11963,3},{2647,11958,3},{2643,11957,3},{2643,11962,3},{2645,11963,3}, {2640,11965,3},{2635,11965,3},{2633,11965,3},{2633,11968,3},{2632,11968,3}, {2632,11975,3},{2637,11975,3},{2637,11977,3},{2640,11978,3},{2642,11982,3}, {2640,11985,3},{2637,11985,3},{2635,11988,3},{2637,11995,3},{2632,11990,3}, {2633,11982,3},{2630,11978,3},{2628,11980,3},{2628,11975,3},{2628,11967,3}, {2625,11963,3},{2625,11967,3},{2622,11967,3},{2617,11960,3},{2613,11960,3}, {2612,11957,3},{2602,11948,3},{2598,11945,3},{2605,11933,3},{2605,11927,3}, {2610,11922,3},{2612,11915,3},{2615,11910,3},{2608,11915,3},{2608,11920,3}, {2600,11923,3},{2597,11923,3},{2593,11937,3},{2597,11945,3},{2598,11948,3}, {2603,11950,3},{2605,11953,3},{2602,11968,3},{2600,11970,3},{2590,11967,3}, {2590,11962,3},{2583,11960,3},{2587,11958,3},{2588,11957,3},{2587,11958,3}, {2583,11957,3},{2580,11960,3},{2577,11960,3},{2575,11962,3},{2573,11960,3}, {2568,11958,3},{2568,11957,3},{2570,11953,3},{2568,11952,3},{2568,11945,3}, {2562,11945,3},{2562,11948,3},{2558,11948,3},{2555,11952,3},{2557,11953,3}, {2557,11955,3},{2558,11958,3},{2553,11957,3},{2552,11958,3},{2552,11957,3}, {2550,11960,3},{2548,11957,3},{2548,11958,3},{2550,11960,3},{2547,11960,3}, {2547,11962,3},{2543,11962,3},{2542,11965,3},{2538,11965,3},{2537,11962,3}, {2535,11965,3},{2533,11962,3},{2533,11958,3},{2537,11960,3},{2542,11958,3}, {2543,11958,3},{2547,11957,3},{2545,11953,3},{2543,11953,3},{2542,11953,3}, {2540,11957,3},{2537,11953,3},{2538,11952,3},{2537,11948,3},{2542,11950,3}, {2545,11948,3},{2547,11952,3},{2547,11947,3},{2543,11943,3},{2550,11945,3}, {2552,11935,3},{2555,11935,3},{2558,11938,3},{2558,11935,3},{2560,11935,3}, {2560,11932,3},{2557,11932,3},{2557,11928,3},{2553,11928,3},{2547,11923,3}, {2542,11910,3},{2540,11910,3},{2538,11912,3},{2537,11915,3},{2535,11915,3}, {2535,11917,3},{2532,11917,3},{2533,11922,3},{2532,11922,3},{2528,11918,3}, {2525,11920,3},{2525,11922,3},{2532,11925,3},{2532,11927,3},{2532,11928,3}, {2528,11930,3},{2527,11935,3},{2525,11935,3},{2523,11927,3},{2520,11928,3}, {2517,11925,3},{2518,11915,3},{2520,11913,3},{2523,11915,3},{2525,11913,3}, {2517,11908,3},{2517,11912,3},{2515,11913,3},{2515,11915,3},{2513,11915,3}, {2512,11915,3},{2513,11908,3},{2512,11910,3},{2510,11908,3},{2512,11907,3}, {2513,11907,3},{2515,11907,3},{2517,11907,3},{2513,11905,3},{2512,11903,3}, {2513,11903,3},{2517,11903,3},{2517,11905,3},{2522,11907,3},{2523,11905,3}, {2522,11898,3},{2525,11898,3},{2525,11905,3},{2527,11907,3},{2528,11898,3}, {2525,11888,3},{2522,11887,3},{2522,11892,3},{2518,11890,3},{2518,11895,3}, {2517,11897,3},{2513,11895,3},{2510,11893,3},{2510,11887,3},{2508,11885,3}, {2503,11888,3},{2500,11895,3},{2502,11898,3},{2505,11900,3},{2502,11900,3}, {2498,11898,3},{2495,11900,3},{2495,11902,3},{2493,11898,3},{2495,11897,3}, {2495,11892,3},{2493,11890,3},{2488,11893,3},{2490,11897,3},{2488,11898,3}, {2487,11890,3},{2488,11887,3},{2487,11882,3},{2488,11880,3},{2485,11877,3}, {2485,11870,3},{2487,11870,3},{2490,11873,3},{2493,11870,3},{2490,11868,3}, {2493,11868,3},{2495,11867,3},{2492,11863,3},{2488,11867,3},{2485,11865,3}, {2488,11857,3},{2485,11862,3},{2477,11863,3},{2480,11870,3},{2477,11872,3}, {2477,11877,3},{2468,11872,3},{2467,11868,3},{2468,11867,3},{2468,11865,3}, {2468,11863,3},{2463,11863,3},{2462,11867,3},{2457,11865,3},{2455,11862,3}, {2452,11855,3},{2455,11855,3},{2457,11858,3},{2463,11843,3},{2468,11843,3}, {2470,11842,3},{2467,11840,3},{2462,11842,3},{2460,11842,3},{2460,11838,3}, {2458,11835,3},{2460,11828,3},{2457,11828,3},{2457,11825,3},{2453,11823,3}, {2453,11822,3},{2457,11818,3},{2460,11818,3},{2460,11822,3},{2462,11818,3}, {2465,11820,3},{2468,11817,3},{2458,11812,3},{2458,11810,3},{2460,11808,3}, {2462,11805,3},{2457,11805,3},{2455,11802,3},{2457,11800,3},{2458,11800,3}, {2455,11797,3},{2452,11805,3},{2450,11805,3},{2448,11800,3},{2447,11800,3}, {2445,11802,3},{2445,11803,3},{2443,11802,3},{2448,11785,3},{2447,11783,3}, {2447,11788,3},{2445,11790,3},{2447,11778,3},{2440,11787,3},{2438,11790,3}, {2440,11805,3},{2435,11805,3},{2435,11802,3},{2432,11802,3},{2435,11805,3}, {2435,11808,3},{2425,11812,3},{2425,11805,3},{2415,11797,3},{2420,11797,3}, {2420,11793,3},{2418,11792,3},{2415,11793,3},{2410,11790,3},{2403,11790,3}, {2402,11783,3},{2395,11777,3},{2392,11777,3},{2390,11773,3},{2395,11773,3}, {2402,11780,3},{2402,11778,3},{2402,11775,3},{2403,11777,3},{2405,11777,3}, {2407,11775,3},{2403,11775,3},{2403,11773,3},{2405,11767,3},{2403,11767,3}, {2403,11770,3},{2398,11768,3},{2395,11770,3},{2392,11763,3},{2385,11762,3}, {2378,11763,3},{2372,11757,3},{2382,11760,3},{2388,11758,3},{2390,11757,3}, {2392,11747,3},{2395,11742,3},{2393,11740,3},{2392,11742,3},{2390,11747,3}, {2387,11748,3},{2377,11743,3},{2380,11737,3},{2375,11733,3},{2375,11730,3}, {2378,11730,3},{2378,11728,3},{2375,11728,3},{2372,11727,3},{2367,11725,3}, {2363,11727,3},{2362,11722,3},{2365,11723,3},{2368,11723,3},{2365,11720,3}, {2363,11720,3},{2362,11718,3},{2360,11713,3},{2357,11710,3},{2355,11707,3}, {2363,11707,3},{2365,11703,3},{2365,11702,3},{2362,11702,3},{2365,11698,3}, {2365,11697,3},{2362,11697,3},{2362,11695,3},{2362,11692,3},{2365,11693,3}, {2367,11692,3},{2360,11687,3},{2358,11688,3},{2355,11688,3},{2352,11685,3}, {2347,11687,3},{2345,11685,3},{2342,11683,3},{2335,11675,3},{2337,11673,3}, {2335,11668,3},{2337,11660,3},{2342,11652,3},{2337,11653,3},{2333,11655,3}, {2332,11660,3},{2333,11665,3},{2332,11668,3},{2332,11673,3},{2325,11677,3}, {2323,11678,3},{2320,11678,3},{2327,11670,3},{2328,11667,3},{2327,11667,3}, {2325,11672,3},{2323,11667,3},{2317,11662,3},{2318,11660,3},{2322,11660,3}, {2325,11657,3},{2322,11650,3},{2322,11653,3},{2322,11658,3},{2320,11658,3}, {2313,11652,3},{2310,11653,3},{2307,11652,3},{2302,11653,3},{2300,11650,3}, {2293,11648,3},{2295,11645,3},{2293,11635,3},{2295,11630,3},{2298,11628,3}, {2300,11628,3},{2298,11627,3},{2297,11625,3},{2298,11620,3},{2297,11622,3}, {2295,11627,3},{2292,11618,3},{2285,11613,3},{2283,11608,3},{2287,11608,3}, {2290,11610,3},{2293,11603,3},{2290,11607,3},{2285,11605,3},{2285,11602,3}, {2280,11595,3},{2283,11595,3},{2280,11593,3},{2278,11585,3},{2273,11580,3}, {2275,11578,3},{2280,11578,3},{2277,11582,3},{2282,11580,3},{2285,11572,3}, {2288,11567,3},{2293,11573,3},{2293,11568,3},{2290,11567,3},{2288,11558,3}, {2285,11555,3},{2287,11553,3},{2288,11555,3},{2290,11555,3},{2288,11552,3}, {2292,11547,3},{2293,11545,3},{2292,11543,3},{2292,11542,3},{2290,11542,3}, {2290,11545,3},{2290,11547,3},{2288,11550,3},{2287,11550,3},{2285,11547,3}, {2283,11557,3},{2287,11560,3},{2285,11558,3},{2280,11553,3},{2275,11552,3}, {2272,11553,3},{2273,11555,3},{2275,11555,3},{2273,11560,3},{2270,11555,3}, {2267,11557,3},{2265,11557,3},{2268,11545,3},{2268,11538,3},{2270,11535,3}, {2273,11535,3},{2275,11542,3},{2278,11540,3},{2277,11535,3},{2278,11532,3}, {2278,11522,3},{2282,11527,3},{2283,11532,3},{2290,11530,3},{2285,11525,3}, {2283,11525,3},{2282,11517,3},{2277,11517,3},{2278,11515,3},{2280,11513,3}, {2278,11505,3},{2273,11503,3},{2273,11502,3},{2270,11502,3},{2268,11498,3}, {2270,11495,3},{2275,11493,3},{2273,11490,3},{2275,11485,3},{2273,11485,3}, {2273,11487,3},{2270,11488,3},{2272,11490,3},{2267,11495,3},{2262,11492,3}, {2255,11490,3},{2253,11487,3},{2257,11488,3},{2258,11487,3},{2258,11475,3}, {2260,11473,3},{2263,11472,3},{2267,11473,3},{2272,11472,3},{2275,11475,3}, {2278,11482,3},{2282,11477,3},{2278,11475,3},{2277,11472,3},{2278,11468,3}, {2275,11462,3},{2273,11455,3},{2270,11457,3},{2270,11452,3},{2268,11452,3}, {2265,11450,3},{2265,11458,3},{2260,11457,3},{2258,11450,3},{2255,11450,3}, {2255,11452,3},{2257,11453,3},{2255,11457,3},{2253,11460,3},{2250,11462,3}, {2248,11452,3},{2245,11450,3},{2248,11448,3},{2255,11447,3},{2262,11438,3}, {2260,11430,3},{2255,11423,3},{2253,11422,3},{2253,11425,3},{2250,11427,3}, {2250,11432,3},{2247,11427,3},{2248,11427,3},{2245,11420,3},{2245,11417,3}, {2243,11417,3},{2242,11420,3},{2238,11420,3},{2242,11423,3},{2242,11428,3}, {2245,11428,3},{2248,11432,3},{2247,11433,3},{2243,11433,3},{2245,11437,3}, {2243,11438,3},{2240,11437,3},{2237,11438,3},{2237,11437,3},{2238,11428,3}, {2238,11427,3},{2235,11425,3},{2228,11430,3},{2227,11428,3},{2232,11425,3}, {2230,11423,3},{2232,11420,3},{2230,11417,3},{2237,11410,3},{2237,11405,3}, {2235,11403,3},{2237,11398,3},{2238,11395,3},{2237,11395,3},{2237,11392,3}, {2240,11390,3},{2247,11398,3},{2247,11402,3},{2252,11403,3},{2252,11395,3}, {2252,11392,3},{2248,11392,3},{2247,11387,3},{2252,11388,3},{2258,11382,3}, {2275,11375,3},{2277,11372,3},{2275,11368,3},{2275,11365,3},{2280,11367,3}, {2283,11365,3},{2288,11362,3},{2283,11362,3},{2283,11360,3},{2290,11362,3}, {2287,11360,3},{2290,11360,3},{2292,11362,3},{2303,11363,3},{2300,11360,3}, {2292,11360,3},{2298,11360,3},{2303,11362,3},{2300,11358,3},{2293,11358,3}, {2302,11358,3},{2298,11355,3},{2302,11352,3},{2305,11353,3},{2307,11353,3}, {2312,11365,3},{2313,11372,3},{2312,11383,3},{2313,11382,3},{2315,11370,3}, {2312,11363,3},{2312,11360,3},{2310,11358,3},{2308,11355,3},{2305,11352,3}, {2308,11347,3},{2310,11340,3},{2308,11340,3},{2305,11342,3},{2307,11347,3}, {2303,11350,3},{2292,11348,3},{2293,11342,3},{2290,11335,3},{2288,11330,3}, {2290,11322,3},{2288,11327,3},{2288,11337,3},{2280,11343,3},{2277,11350,3}, {2277,11345,3},{2273,11343,3},{2275,11338,3},{2272,11347,3},{2267,11352,3}, {2255,11357,3},{2248,11357,3},{2240,11353,3},{2237,11360,3},{2235,11358,3}, {2232,11360,3},{2230,11357,3},{2225,11358,3},{2222,11355,3},{2218,11355,3}, {2220,11353,3},{2218,11352,3},{2217,11347,3},{2218,11343,3},{2227,11337,3}, {2230,11335,3},{2238,11327,3},{2247,11323,3},{2257,11317,3},{2247,11317,3}, {2242,11323,3},{2237,11325,3},{2233,11330,3},{2227,11332,3},{2223,11337,3}, {2218,11338,3},{2218,11330,3},{2215,11328,3},{2212,11325,3},{2207,11325,3}, {2203,11322,3},{2205,11320,3},{2208,11320,3},{2205,11318,3},{2208,11312,3}, {2215,11313,3},{2222,11310,3},{2210,11298,3},{2202,11300,3},{2195,11302,3}, {2192,11298,3},{2187,11295,3},{2185,11290,3},{2188,11287,3},{2195,11285,3}, {2197,11282,3},{2195,11280,3},{2193,11275,3},{2188,11273,3},{2188,11270,3}, {2185,11268,3},{2185,11265,3},{2180,11263,3},{2177,11257,3},{2183,11242,3}, {2190,11242,3},{2195,11250,3},{2195,11240,3},{2198,11237,3},{2205,11240,3}, {2207,11238,3},{2200,11235,3},{2182,11240,3},{2177,11238,3},{2172,11233,3}, {2170,11228,3},{2172,11223,3},{2173,11223,3},{2175,11218,3},{2180,11220,3}, {2183,11220,3},{2180,11218,3},{2180,11203,3},{2182,11200,3},{2185,11203,3}, {2188,11203,3},{2185,11202,3},{2182,11197,3},{2192,11192,3},{2192,11190,3}, {2182,11190,3},{2177,11200,3},{2172,11190,3},{2168,11188,3},{2167,11185,3}, {2168,11183,3},{2170,11188,3},{2172,11188,3},{2172,11182,3},{2177,11183,3}, {2173,11180,3},{2175,11178,3},{2175,11177,3},{2178,11168,3},{2172,11177,3}, {2165,11178,3},{2163,11175,3},{2162,11178,3},{2162,11170,3},{2152,11163,3}, {2155,11160,3},{2158,11158,3},{2155,11158,3},{2153,11160,3},{2152,11153,3}, {2153,11152,3},{2152,11152,3},{2152,11147,3},{2155,11147,3},{2155,11145,3}, {2160,11143,3},{2157,11140,3},{2153,11143,3},{2153,11135,3},{2152,11140,3}, {2143,11127,3},{2143,11125,3},{2145,11128,3},{2150,11130,3},{2152,11122,3}, {2153,11120,3},{2152,11115,3},{2150,11117,3},{2150,11122,3},{2147,11115,3}, {2147,11110,3},{2147,11108,3},{2148,11112,3},{2150,11112,3},{2148,11108,3}, {2152,11107,3},{2153,11103,3},{2152,11102,3},{2152,11098,3},{2148,11102,3}, {2145,11100,3},{2145,11098,3},{2145,11100,3},{2147,11102,3},{2148,11105,3}, {2147,11107,3},{2147,11103,3},{2143,11100,3},{2142,11093,3},{2140,11092,3}, {2138,11087,3},{2140,11080,3},{2135,11070,3},{2125,11065,3},{2132,11065,3}, {2135,11067,3},{2132,11063,3},{2135,11063,3},{2140,11075,3},{2143,11077,3}, {2142,11075,3},{2142,11070,3},{2137,11062,3},{2132,11062,3},{2125,11063,3}, {2123,11063,3},{2125,11058,3},{2122,11058,3},{2122,11053,3},{2122,11048,3}, {2118,11043,3},{2125,11043,3},{2127,11042,3},{2128,11043,3},{2128,11047,3}, {2127,11047,3},{2130,11048,3},{2130,11045,3},{2133,11048,3},{2133,11047,3}, {2133,11045,3},{2132,11045,3},{2130,11042,3},{2140,11043,3},{2138,11042,3}, {2138,11040,3},{2142,11037,3},{2145,11038,3},{2143,11035,3},{2133,11040,3}, {2133,11038,3},{2132,11038,3},{2133,11033,3},{2132,11035,3},{2130,11037,3}, {2128,11037,3},{2123,11042,3},{2117,11040,3},{2112,11033,3},{2107,11025,3}, {2102,11022,3},{2105,11020,3},{2107,11020,3},{2108,11020,3},{2107,11020,3}, {2102,11018,3},{2098,11017,3},{2098,11015,3},{2097,11017,3},{2093,11015,3}, {2087,11017,3},{2087,11015,3},{2085,11015,3},{2083,11025,3},{2085,11033,3}, {2083,11038,3},{2077,11040,3},{2072,11040,3},{2070,11038,3},{2073,11035,3}, {2082,11035,3},{2082,11033,3},{2078,11032,3},{2075,11033,3},{2075,11032,3}, {2072,11033,3},{2068,11030,3},{2065,11030,3},{2067,11032,3},{2063,11032,3}, {2063,11037,3},{2062,11037,3},{2063,11038,3},{2060,11038,3},{2058,11042,3}, {2057,11043,3},{2057,11047,3},{2057,11048,3},{2048,11053,3},{2043,11052,3}, {2030,11040,3},{2030,11037,3},{2027,11032,3},{2027,11028,3},{2025,11028,3}, {2028,11023,3},{2027,11020,3},{2023,11017,3},{2023,11012,3},{2027,11010,3}, {2030,11003,3},{2027,11000,3},{2028,10998,3},{2023,10992,3},{2025,10992,3}, {2030,10993,3},{2033,10992,3},{2037,10988,3},{2038,10988,3},{2040,10987,3}, {2042,10993,3},{2035,10998,3},{2043,11002,3},{2047,10997,3},{2045,10995,3}, {2050,10993,3},{2045,10992,3},{2048,10990,3},{2052,10982,3},{2053,10982,3}, {2055,10985,3},{2058,10985,3},{2055,10982,3},{2058,10982,3},{2062,10980,3}, {2063,10978,3},{2063,10975,3},{2067,10975,3},{2068,10977,3},{2068,10980,3}, {2068,10983,3},{2072,10980,3},{2077,10977,3},{2080,10975,3},{2082,10977,3}, {2083,10975,3},{2087,10975,3},{2085,10973,3},{2082,10973,3},{2080,10973,3}, {2083,10970,3},{2080,10972,3},{2082,10970,3},{2087,10967,3},{2092,10967,3}, {2095,10967,3},{2095,10968,3},{2098,10967,3},{2103,10970,3},{2103,10972,3}, {2113,10967,3},{2117,10970,3},{2118,10973,3},{2117,10973,3},{2117,10975,3}, {2118,10975,3},{2122,10977,3},{2135,10977,3},{2135,10978,3},{2133,10978,3}, {2135,10982,3},{2135,10983,3},{2137,10985,3},{2137,10992,3},{2140,10990,3}, {2142,10992,3},{2145,10995,3},{2147,10992,3},{2148,10995,3},{2147,10990,3}, {2150,10983,3},{2147,10983,3},{2147,10980,3},{2155,10980,3},{2153,10977,3}, {2158,10977,3},{2157,10975,3},{2150,10977,3},{2148,10977,3},{2148,10975,3}, {2147,10973,3},{2150,10967,3},{2152,10965,3},{2162,10968,3},{2160,10963,3}, {2157,10963,3},{2157,10962,3},{2162,10960,3},{2165,10962,3},{2163,10958,3}, {2167,10957,3},{2170,10955,3},{2173,10960,3},{2175,10957,3},{2170,10950,3}, {2168,10950,3},{2168,10952,3},{2165,10952,3},{2165,10947,3},{2163,10953,3}, {2158,10958,3},{2155,10955,3},{2152,10955,3},{2148,10953,3},{2147,10947,3}, {2150,10947,3},{2145,10943,3},{2145,10935,3},{2147,10932,3},{2143,10928,3}, {2143,10925,3},{2148,10923,3},{2145,10922,3},{2142,10922,3},{2142,10917,3}, {2143,10915,3},{2140,10915,3},{2140,10913,3},{2143,10903,3},{2148,10907,3}, {2148,10912,3},{2152,10915,3},{2153,10915,3},{2160,10913,3},{2158,10912,3}, {2160,10910,3},{2160,10908,3},{2162,10907,3},{2160,10905,3},{2162,10905,3}, {2165,10907,3},{2162,10903,3},{2160,10897,3},{2162,10892,3},{2167,10890,3}, {2168,10885,3},{2172,10887,3},{2173,10887,3},{2177,10892,3},{2177,10890,3}, {2175,10887,3},{2178,10887,3},{2180,10887,3},{2178,10885,3},{2182,10887,3}, {2180,10883,3},{2182,10880,3},{2182,10878,3},{2180,10882,3},{2178,10882,3}, {2177,10885,3},{2175,10885,3},{2170,10883,3},{2175,10880,3},{2173,10880,3}, {2173,10878,3},{2172,10878,3},{2172,10880,3},{2168,10883,3},{2167,10883,3}, {2163,10882,3},{2163,10887,3},{2162,10883,3},{2163,10878,3},{2162,10873,3}, {2160,10873,3},{2163,10873,3},{2165,10872,3},{2167,10873,3},{2165,10875,3}, {2168,10875,3},{2167,10873,3},{2167,10872,3},{2168,10870,3},{2173,10873,3}, {2173,10870,3},{2170,10868,3},{2173,10865,3},{2173,10868,3},{2175,10863,3}, {2178,10867,3},{2180,10868,3},{2178,10865,3},{2182,10865,3},{2178,10863,3}, {2177,10863,3},{2178,10862,3},{2175,10863,3},{2173,10860,3},{2178,10860,3}, {2178,10858,3},{2178,10857,3},{2180,10857,3},{2188,10863,3},{2192,10860,3}, {2190,10858,3},{2190,10855,3},{2192,10857,3},{2195,10857,3},{2195,10855,3}, {2192,10853,3},{2190,10852,3},{2188,10852,3},{2187,10848,3},{2185,10848,3}, {2185,10847,3},{2187,10845,3},{2193,10848,3},{2193,10847,3},{2190,10845,3}, {2188,10845,3},{2187,10845,3},{2182,10848,3},{2180,10847,3},{2180,10850,3}, {2178,10850,3},{2177,10850,3},{2173,10850,3},{2173,10847,3},{2172,10850,3}, {2170,10848,3},{2168,10850,3},{2167,10850,3},{2170,10852,3},{2172,10853,3}, {2168,10852,3},{2167,10852,3},{2170,10855,3},{2168,10857,3},{2167,10857,3}, {2167,10855,3},{2163,10855,3},{2163,10852,3},{2162,10853,3},{2162,10852,3}, {2158,10848,3},{2160,10848,3},{2160,10850,3},{2162,10848,3},{2160,10848,3}, {2157,10847,3},{2157,10845,3},{2157,10847,3},{2155,10840,3},{2160,10838,3}, {2160,10842,3},{2158,10842,3},{2158,10843,3},{2162,10845,3},{2162,10842,3}, {2167,10847,3},{2165,10842,3},{2168,10842,3},{2167,10840,3},{2168,10835,3}, {2170,10833,3},{2172,10833,3},{2170,10832,3},{2168,10832,3},{2167,10830,3}, {2163,10832,3},{2162,10830,3},{2162,10832,3},{2158,10828,3},{2158,10832,3}, {2155,10828,3},{2150,10820,3},{2158,10827,3},{2162,10822,3},{2163,10823,3}, {2163,10822,3},{2163,10820,3},{2160,10820,3},{2157,10817,3},{2158,10813,3}, {2157,10813,3},{2157,10812,3},{2155,10808,3},{2157,10807,3},{2155,10807,3}, {2153,10807,3},{2155,10798,3},{2153,10807,3},{2153,10795,3},{2158,10793,3}, {2160,10790,3},{2165,10787,3},{2167,10778,3},{2162,10767,3},{2162,10757,3}, {2158,10753,3},{2160,10748,3},{2163,10748,3},{2165,10745,3},{2165,10742,3}, {2160,10738,3},{2162,10735,3},{2168,10735,3},{2173,10730,3},{2170,10722,3}, {2180,10710,3},{2182,10702,3},{2185,10702,3},{2190,10705,3},{2193,10703,3}, {2193,10693,3},{2197,10690,3},{2197,10682,3},{2202,10675,3},{2198,10673,3}, {2197,10668,3},{2200,10667,3},{2203,10670,3},{2208,10670,3},{2220,10667,3}, {2222,10670,3},{2233,10665,3},{2235,10657,3},{2245,10655,3},{2248,10658,3}, {2260,10660,3},{2262,10663,3},{2258,10665,3},{2257,10668,3},{2258,10672,3}, {2265,10673,3},{2270,10677,3},{2275,10677,3},{2278,10682,3},{2280,10682,3}, {2280,10677,3},{2282,10677,3},{2285,10672,3},{2287,10670,3},{2288,10668,3}, {2285,10665,3},{2287,10662,3},{2292,10660,3},{2292,10655,3},{2293,10652,3}, {2290,10650,3},{2287,10642,3},{2285,10628,3},{2287,10625,3},{2292,10625,3}, {2297,10620,3},{2298,10608,3},{2298,10602,3},{2293,10598,3},{2293,10592,3}, {2292,10587,3},{2302,10578,3},{2303,10573,3},{2305,10572,3},{2307,10557,3}, {2315,10555,3},{2318,10552,3},{2320,10550,3},{2328,10545,3},{2328,10540,3}, {2332,10535,3},{2337,10535,3},{2338,10533,3},{2333,10527,3},{2327,10523,3}, {2325,10522,3},{2327,10518,3},{2325,10513,3},{2325,10508,3},{2318,10497,3}, {2317,10495,3},{2318,10490,3},{2312,10488,3},{2310,10482,3},{2293,10487,3}, {2290,10478,3},{2282,10473,3},{2282,10467,3},{2283,10463,3},{2282,10460,3}, {2285,10458,3},{2275,10448,3},{2268,10437,3},{2273,10427,3},{2280,10425,3}, {2283,10427,3},{2283,10425,3},{2280,10412,3},{2268,10403,3},{2253,10402,3}, {2250,10397,3},{2260,10383,3},{2278,10365,3},{2278,10362,3},{2273,10360,3}, {2270,10357,3},{2265,10358,3},{2258,10353,3},{2265,10345,3},{2270,10343,3}, {2275,10343,3},{2278,10337,3},{2280,10333,3},{2273,10330,3},{2267,10328,3}, {2263,10318,3},{2258,10315,3},{2255,10317,3},{2250,10307,3},{2245,10307,3}, {2243,10303,3},{2247,10298,3},{2248,10293,3},{2260,10287,3},{2262,10278,3}, {2268,10268,3},{2270,10263,3},{2272,10260,3},{2270,10258,3},{2270,10257,3}, {2275,10255,3},{2277,10248,3},{2275,10245,3},{2268,10243,3},{2268,10238,3}, {2265,10238,3},{2263,10242,3},{2248,10227,3},{2242,10225,3},{2243,10218,3}, {2240,10213,3},{2243,10212,3},{2245,10203,3},{2243,10198,3},{2243,10192,3}, {2238,10190,3},{2238,10188,3},{2248,10180,3},{2250,10173,3},{2247,10168,3}, {2245,10167,3},{2242,10167,3},{2238,10168,3},{2237,10165,3},{2228,10163,3}, {2228,10157,3},{2225,10153,3},{2220,10158,3},{2217,10160,3},{2213,10160,3}, {2212,10157,3},{2200,10163,3},{2197,10163,3},{2193,10167,3},{2193,10170,3}, {2188,10172,3},{2187,10175,3},{2183,10175,3},{2182,10178,3},{2172,10175,3}, {2170,10178,3},{2165,10178,3},{2163,10183,3},{2160,10182,3},{2158,10177,3}, {2152,10178,3},{2148,10175,3},{2145,10177,3},{2132,10173,3},{2130,10177,3}, {2128,10182,3},{2125,10185,3},{2122,10183,3},{2122,10178,3},{2115,10178,3}, {2113,10173,3},{2115,10172,3},{2118,10170,3},{2120,10167,3},{2118,10160,3}, {2123,10162,3},{2125,10152,3},{2123,10140,3},{2118,10133,3},{2118,10128,3}, {2125,10123,3},{2130,10125,3},{2132,10123,3},{2138,10127,3},{2142,10120,3}, {2148,10122,3},{2155,10122,3},{2157,10115,3},{2163,10117,3},{2170,10112,3}, {2177,10112,3},{2172,10102,3},{2168,10088,3},{2165,10087,3},{2163,10083,3}, {2158,10080,3},{2152,10073,3},{2150,10068,3},{2148,10067,3},{2145,10060,3}, {2145,10057,3},{2147,10052,3},{2145,10048,3},{2153,10043,3},{2153,10038,3}, {2153,10035,3},{2148,10030,3},{2145,10022,3},{2143,10022,3},{2145,10018,3}, {2148,10015,3},{2150,10012,3},{2158,10010,3},{2163,10013,3},{2165,10017,3}, {2168,10012,3},{2170,10000,3},{2182,9995,3},{2185,9995,3},{2197,9998,3}, {2203,9997,3},{2205,9997,3},{2207,9988,3},{2203,9987,3},{2202,9985,3},{2205,9982,3}, {2207,9975,3},{2203,9970,3},{2207,9968,3},{2210,9965,3},{2208,9962,3},{2212,9957,3}, {2210,9952,3},{2213,9947,3},{2210,9937,3},{2212,9923,3},{2217,9917,3},{2217,9920,3}, {2220,9918,3},{2227,9923,3},{2232,9925,3},{2235,9927,3},{2238,9927,3},{2243,9933,3}, {2250,9938,3},{2253,9937,3},{2260,9938,3},{2275,9933,3},{2278,9938,3},{2287,9943,3}, {2293,9943,3},{2295,9945,3},{2292,9948,3},{2292,9953,3},{2292,9955,3},{2293,9957,3}, {2302,9952,3},{2307,9952,3},{2308,9950,3},{2310,9940,3},{2313,9935,3},{2312,9932,3}, {2312,9927,3},{2310,9923,3},{2312,9915,3},{2310,9912,3},{2313,9905,3},{2317,9907,3}, {2317,9902,3},{2318,9893,3},{2318,9888,3},{2332,9893,3},{2333,9892,3},{2333,9888,3}, {2337,9892,3},{2342,9892,3},{2348,9888,3},{2348,9882,3},{2353,9880,3},{2355,9882,3}, {2362,9888,3},{2363,9885,3},{2368,9885,3},{2370,9882,3},{2377,9882,3},{2380,9868,3}, {2383,9870,3},{2392,9868,3},{2395,9870,3},{2397,9868,3},{2400,9875,3},{2410,9890,3}, {2412,9890,3},{2417,9888,3},{2413,9885,3},{2412,9872,3},{2408,9860,3},{2412,9855,3}, {2413,9843,3},{2410,9835,3},{2413,9822,3},{2408,9805,3},{2403,9795,3},{2403,9792,3}, {2395,9783,3},{2395,9778,3},{2388,9772,3},{2387,9767,3},{2385,9765,3},{2390,9762,3}, {2393,9753,3},{2397,9755,3},{2400,9762,3},{2407,9765,3},{2412,9772,3},{2417,9775,3}, {2422,9773,3},{2425,9777,3},{2428,9775,3},{2430,9767,3},{2433,9767,3},{2435,9772,3}, {2440,9768,3},{2443,9767,3},{2443,9753,3},{2457,9757,3},{2467,9757,3},{2475,9755,3}, {2483,9768,3},{2483,9777,3},{2485,9780,3},{2492,9773,3},{2508,9772,3},{2508,9775,3}, {2513,9778,3},{2527,9783,3},{2527,9787,3},{2522,9790,3},{2522,9793,3},{2530,9802,3}, {2532,9807,3},{2538,9810,3},{2538,9813,3},{2547,9815,3},{2550,9813,3},{2555,9817,3}, {2562,9817,3},{2558,9827,3},{2555,9830,3},{2555,9833,3},{2558,9838,3},{2565,9840,3}, {2568,9843,3},{2573,9845,3},{2577,9848,3},{2580,9848,3},{2585,9853,3},{2580,9863,3}, {2587,9872,3},{2590,9872,3},{2592,9868,3},{2598,9865,3},{2600,9860,3},{2605,9860,3}, {2612,9857,3},{2615,9865,3},{2610,9865,3},{2610,9867,3},{2613,9870,3},{2617,9872,3}, {2618,9873,3},{2625,9870,3},{2625,9867,3},{2627,9867,3},{2632,9868,3},{2638,9873,3}, {2658,9875,3},{2660,9878,3},{2670,9877,3},{2672,9875,3},{2678,9878,3},{2687,9873,3}, {2690,9877,3},{2700,9873,3},{2705,9877,3},{2708,9875,3},{2710,9870,3},{2715,9872,3}, {2720,9870,3},{2733,9873,3},{2737,9873,3},{2738,9870,3},{2747,9868,3},{2758,9870,3}, {2760,9870,3},{2762,9867,3},{2760,9863,3},{2760,9860,3},{2767,9855,3},{2765,9852,3}, {2768,9843,3},{2760,9843,3},{2755,9842,3},{2755,9840,3},{2753,9835,3},{2755,9832,3}, {2768,9827,3},{2773,9823,3},{2777,9823,3},{2780,9822,3},{2782,9823,3},{2785,9818,3}, {2787,9817,3},{2788,9817,3},{2790,9820,3},{2792,9820,3},{2795,9818,3},{2797,9813,3}, {2802,9815,3},{2813,9815,3},{2818,9810,3},{2822,9807,3},{2822,9802,3},{2828,9802,3}, {2830,9797,3},{2835,9793,3},{2838,9790,3},{2837,9785,3},{2835,9783,3},{2835,9780,3}, {2842,9775,3},{2852,9772,3},{2852,9768,3},{2848,9763,3},{2855,9758,3},{2855,9757,3}, {2845,9752,3},{2838,9747,3},{2835,9748,3},{2830,9747,3},{2830,9742,3},{2827,9740,3}, {2825,9737,3},{2822,9735,3},{2823,9730,3},{2828,9725,3},{2832,9723,3},{2832,9720,3}, {2838,9713,3},{2838,9708,3},{2833,9702,3},{2833,9698,3},{2835,9693,3},{2837,9692,3}, {2837,9678,3},{2843,9673,3},{2847,9665,3},{2847,9660,3},{2843,9653,3},{2842,9645,3}, {2835,9640,3},{2840,9637,3},{2838,9632,3},{2842,9628,3},{2842,9627,3},{2848,9637,3}, {2853,9633,3},{2855,9633,3},{2857,9640,3},{2858,9640,3},{2858,9643,3},{2863,9648,3}, {2868,9647,3},{2873,9660,3},{2878,9662,3},{2890,9653,3},{2897,9652,3},{2897,9648,3}, {2907,9650,3},{2905,9643,3},{2903,9635,3},{2893,9625,3},{2890,9620,3},{2890,9617,3}, {2895,9615,3},{2900,9618,3},{2907,9615,3},{2908,9612,3},{2910,9618,3},{2915,9622,3}, {2917,9625,3},{2918,9635,3},{2925,9640,3},{2928,9637,3},{2925,9632,3},{2923,9628,3}, {2925,9623,3},{2932,9618,3},{2935,9618,3},{2947,9608,3},{2940,9595,3},{2940,9588,3}, {2937,9583,3},{2935,9577,3},{2930,9572,3},{2930,9568,3},{2925,9563,3},{2925,9558,3}, {2922,9558,3},{2922,9553,3},{2913,9555,3},{2913,9550,3},{2905,9547,3},{2903,9538,3}, {2907,9525,3},{2910,9522,3},{2912,9512,3},{2915,9508,3},{2915,9502,3},{2917,9498,3}, {2913,9502,3},{2912,9502,3},{2915,9495,3},{2918,9487,3},{2917,9480,3},{2922,9480,3}, {2927,9475,3},{2932,9470,3},{2933,9463,3},{2927,9457,3},{2922,9455,3},{2922,9442,3}, {2920,9440,3},{2915,9435,3},{2915,9428,3},{2908,9422,3},{2898,9413,3},{2897,9403,3}, {2888,9405,3},{2887,9405,3},{2883,9400,3},{2883,9393,3},{2880,9393,3},{2880,9390,3}, {2878,9390,3},{2877,9385,3},{2875,9380,3},{2870,9373,3},{2872,9370,3},{2868,9365,3}, {2868,9357,3},{2867,9332,3},{2863,9328,3},{2863,9323,3},{2838,9313,3},{2837,9308,3}, {2827,9298,3},{2825,9293,3},{2820,9288,3},{2818,9282,3},{2820,9280,3},{2813,9268,3}, {2807,9267,3},{2805,9273,3},{2797,9272,3},{2792,9263,3},{2790,9258,3},{2787,9255,3}, {2783,9245,3},{2785,9243,3},{2787,9242,3},{2782,9240,3},{2780,9238,3},{2785,9235,3}, {2780,9233,3},{2780,9230,3},{2787,9227,3},{2787,9225,3},{2782,9225,3},{2782,9213,3}, {2778,9208,3},{2777,9207,3},{2773,9202,3},{2773,9197,3},{2773,9188,3},{2777,9183,3}, {2777,9165,3},{2787,9165,3},{2792,9168,3},{2793,9167,3},{2797,9160,3},{2800,9143,3}, {2805,9133,3},{2810,9132,3},{2807,9130,3},{2807,9122,3},{2798,9113,3},{2797,9108,3}, {2798,9102,3},{2803,9095,3},{2805,9092,3},{2805,9083,3},{2808,9073,3},{2810,9068,3}, {2807,9060,3},{2808,9053,3},{2807,9047,3},{2808,9037,3},{2812,9035,3},{2820,9040,3}, {2823,9040,3},{2825,9038,3},{2830,9018,3},{2832,9000,3},{2830,8998,3},{2828,8993,3}, {2830,8990,3},{2823,8980,3},{2820,8980,3},{2815,8958,3},{2808,8955,3},{2805,8948,3}, {2787,8937,3},{2780,8923,3},{2762,8913,3},{2757,8913,3},{2750,8900,3},{2747,8897,3}, {2732,8892,3},{2738,8885,3},{2738,8882,3},{2743,8878,3},{2745,8878,3},{2752,8878,3}, {2755,8877,3},{2767,8883,3},{2787,8888,3},{2790,8887,3},{2793,8883,3},{2800,8883,3}, {2807,8875,3},{2808,8867,3},{2812,8863,3},{2807,8855,3},{2803,8853,3},{2803,8848,3}, {2798,8840,3},{2795,8815,3},{2790,8812,3},{2787,8815,3},{2785,8808,3},{2790,8805,3}, {2792,8803,3},{2790,8798,3},{2783,8795,3},{2782,8790,3},{2782,8785,3},{2780,8780,3}, {2782,8773,3},{2780,8765,3},{2780,8762,3},{2785,8755,3},{2783,8752,3},{2785,8750,3}, {2782,8742,3},{2787,8742,3},{2778,8727,3},{2780,8720,3},{2783,8715,3},{2788,8713,3}, {2797,8693,3},{2800,8687,3},{2803,8677,3},{2810,8673,3},{2810,8670,3},{2808,8667,3}, {2807,8663,3},{2808,8657,3},{2803,8655,3},{2802,8652,3},{2797,8653,3},{2793,8653,3}, {2792,8652,3},{2792,8643,3},{2795,8642,3},{2795,8635,3},{2797,8623,3},{2807,8620,3}, {2810,8620,3},{2813,8617,3},{2810,8613,3},{2807,8607,3},{2793,8608,3},{2792,8608,3}, {2792,8607,3},{2793,8595,3},{2797,8595,3},{2802,8592,3},{2810,8592,3},{2820,8585,3}, {2820,8580,3},{2822,8577,3},{2818,8573,3},{2830,8557,3},{2832,8548,3},{2832,8542,3}, {2827,8537,3},{2828,8533,3},{2827,8530,3},{2832,8522,3},{2833,8515,3},{2843,8510,3}, {2857,8512,3},{2863,8512,3},{2868,8510,3},{2867,8505,3},{2863,8500,3},{2858,8485,3}, {2862,8468,3},{2865,8468,3},{2867,8463,3},{2872,8460,3},{2870,8447,3},{2873,8442,3}, {2873,8435,3},{2880,8433,3},{2882,8425,3},{2880,8420,3},{2880,8415,3},{2887,8412,3}, {2898,8415,3},{2905,8410,3},{2912,8412,3},{2918,8408,3},{2928,8412,3},{2928,8400,3}, {2933,8397,3},{2930,8388,3},{2913,8380,3},{2907,8372,3},{2905,8363,3},{2908,8358,3}, {2913,8353,3},{2917,8345,3},{2940,8340,3},{2955,8325,3},{2967,8308,3},{2967,8295,3}, {2975,8283,3},{2977,8277,3},{2995,8260,3},{3002,8245,3},{3003,8233,3},{3008,8223,3}, {3015,8217,3},{3017,8195,3},{3025,8182,3},{3022,8180,3},{3027,8175,3},{3033,8173,3}, {3042,8167,3},{3045,8162,3},{3030,8148,3},{3027,8143,3},{3025,8138,3},{3020,8137,3}, {3015,8135,3},{3015,8125,3},{3008,8128,3},{3002,8123,3},{3002,8113,3},{3005,8108,3}, {3010,8110,3},{3012,8108,3},{3015,8107,3},{3020,8102,3},{3022,8103,3},{3027,8100,3}, {3032,8082,3},{3040,8075,3},{3047,8060,3},{3047,8053,3},{3057,8032,3},{3057,8023,3}, {3057,8020,3},{3062,8023,3},{3068,8018,3},{3068,8023,3},{3073,8025,3},{3077,8022,3}, {3080,8020,3},{3080,8017,3},{3078,8012,3},{3078,8008,3},{3085,8005,3},{3088,7997,3}, {3088,7992,3},{3097,7988,3},{3098,7975,3},{3098,7972,3},{3097,7967,3},{3093,7960,3}, {3097,7955,3},{3102,7950,3},{3103,7942,3},{3110,7940,3},{3115,7930,3},{3122,7928,3}, {3123,7925,3},{3127,7925,3},{3130,7922,3},{3133,7922,3},{3135,7917,3},{3140,7917,3}, {3142,7912,3},{3143,7908,3},{3142,7902,3},{3133,7900,3},{3137,7895,3},{3130,7890,3}, {3130,7887,3},{3130,7885,3},{3128,7882,3},{3130,7877,3},{3135,7877,3},{3145,7880,3}, {3147,7877,3},{3148,7872,3},{3152,7872,3},{3162,7885,3},{3165,7880,3},{3168,7878,3}, {3167,7877,3},{3168,7875,3},{3173,7872,3},{3175,7872,3},{3178,7870,3},{3182,7872,3}, {3198,7877,3},{3205,7867,3},{3212,7860,3},{3222,7855,3},{3223,7848,3},{3225,7848,3}, {3235,7848,3},{3238,7845,3},{3242,7848,3},{3253,7840,3},{3257,7842,3},{3258,7848,3}, {3257,7857,3},{3258,7865,3},{3260,7868,3},{3263,7870,3},{3263,7877,3},{3260,7878,3}, {3257,7875,3},{3247,7878,3},{3243,7887,3},{3237,7893,3},{3235,7897,3},{3238,7903,3}, {3238,7910,3},{3242,7912,3},{3247,7912,3},{3250,7917,3},{3252,7927,3},{3250,7932,3}, {3253,7935,3},{3260,7945,3},{3265,7950,3},{3275,7953,3},{3280,7947,3},{3288,7945,3}, {3293,7938,3},{3297,7935,3},{3310,7937,3},{3313,7940,3},{3317,7940,3},{3318,7937,3}, {3320,7925,3},{3323,7915,3},{3322,7910,3},{3328,7908,3},{3332,7900,3},{3340,7893,3}, {3353,7893,3},{3357,7890,3},{3363,7892,3},{3363,7895,3},{3362,7902,3},{3363,7903,3}, {3372,7902,3},{3375,7902,3},{3383,7895,3},{3397,7890,3},{3402,7897,3},{3400,7910,3}, {3403,7913,3},{3402,7942,3},{3403,7943,3},{3407,7947,3},{3412,7952,3},{3418,7952,3}, {3418,7955,3},{3420,7958,3},{3440,7953,3},{3443,7953,3},{3442,7972,3},{3445,7977,3}, {3450,7973,3},{3453,7972,3},{3455,7977,3},{3457,7985,3},{3467,7988,3},{3465,8002,3}, {3467,8007,3},{3477,8010,3},{3485,8018,3},{3490,8020,3},{3510,8020,3},{3520,8030,3}, {3523,8030,3},{3532,8028,3},{3535,8030,3},{3542,8038,3},{3547,8038,3},{3552,8038,3}, {3552,8035,3},{3550,8030,3},{3555,8025,3},{3557,8020,3},{3545,8013,3},{3542,8008,3}, {3542,8005,3},{3545,8002,3},{3560,7997,3},{3562,7992,3},{3557,7987,3},{3557,7983,3}, {3563,7982,3},{3565,7970,3},{3577,7963,3},{3580,7967,3},{3582,7965,3},{3583,7960,3}, {3587,7960,3},{3587,7957,3},{3585,7947,3},{3588,7943,3},{3593,7945,3},{3597,7943,3}, {3598,7933,3},{3595,7923,3},{3595,7912,3},{3592,7902,3},{3590,7893,3},{3592,7883,3}, {3592,7875,3},{3585,7868,3},{3582,7863,3},{3577,7853,3},{3577,7843,3},{3572,7838,3}, {3570,7830,3},{3567,7827,3},{3562,7817,3},{3555,7813,3},{3557,7800,3},{3555,7797,3}, {3550,7797,3},{3548,7795,3},{3547,7792,3},{3550,7782,3},{3550,7778,3},{3547,7773,3}, {3547,7770,3},{3547,7763,3},{3548,7752,3},{3547,7742,3},{3553,7732,3},{3553,7718,3}, {3555,7712,3},{3558,7708,3},{3560,7692,3},{3565,7687,3},{3565,7678,3},{3572,7672,3}, {3575,7658,3},{3582,7657,3},{3590,7658,3},{3592,7657,3},{3587,7653,3},{3587,7645,3}, {3583,7642,3},{3583,7637,3},{3582,7633,3},{3582,7628,3},{3582,7618,3},{3583,7615,3}, {3590,7615,3},{3598,7612,3},{3600,7608,3},{3602,7597,3},{3608,7593,3},{3612,7592,3}, {3617,7600,3},{3618,7600,3},{3620,7600,3},{3623,7603,3},{3632,7598,3},{3642,7602,3}, {3645,7600,3},{3655,7593,3},{3662,7590,3},{3667,7585,3},{3673,7575,3},{3677,7567,3}, {3677,7557,3},{3677,7553,3},{3673,7553,3},{3673,7545,3},{3677,7543,3},{3685,7543,3}, {3692,7540,3},{3697,7520,3},{3700,7515,3},{3698,7497,3},{3695,7492,3},{3692,7490,3}, {3697,7488,3},{3702,7482,3},{3702,7473,3},{3707,7468,3},{3703,7457,3},{3703,7453,3}, {3708,7450,3},{3713,7440,3},{3717,7438,3},{3718,7440,3},{3718,7447,3},{3723,7452,3}, {3723,7458,3},{3725,7460,3},{3723,7465,3},{3727,7467,3},{3727,7470,3},{3730,7475,3}, {3723,7480,3},{3722,7482,3},{3723,7490,3},{3723,7493,3},{3728,7497,3},{3732,7510,3}, {3738,7512,3},{3740,7518,3},{3743,7513,3},{3752,7505,3},{3757,7495,3},{3765,7490,3}, {3770,7495,3},{3773,7495,3},{3778,7498,3},{3785,7490,3},{3788,7493,3},{3792,7490,3}, {3793,7492,3},{3802,7492,3},{3808,7482,3},{3820,7480,3},{3830,7480,3},{3838,7487,3}, {3847,7485,3},{3853,7478,3},{3853,7472,3},{3858,7465,3},{3867,7435,3},{3865,7425,3}, {3865,7420,3},{3868,7417,3},{3867,7413,3},{3862,7412,3},{3860,7407,3},{3855,7408,3}, {3853,7395,3},{3862,7382,3},{3870,7378,3},{3873,7375,3},{3880,7377,3},{3887,7370,3}, {3892,7373,3},{3893,7383,3},{3897,7385,3},{3900,7383,3},{3908,7372,3},{3915,7370,3}, {3917,7367,3},{3923,7362,3},{3935,7367,3},{3943,7365,3},{3947,7367,3},{3948,7385,3}, {3957,7390,3},{3960,7395,3},{3963,7393,3},{3972,7392,3},{3975,7385,3},{3978,7385,3}, {3983,7385,3},{3987,7390,3},{3993,7392,3},{3997,7397,3},{4005,7400,3},{4007,7403,3}, {4007,7410,3},{4012,7422,3},{4010,7430,3},{4010,7437,3},{4013,7443,3},{4027,7460,3}, {4028,7467,3},{4035,7473,3},{4033,7488,3},{4035,7488,3},{4042,7482,3},{4052,7487,3}, {4045,7507,3},{4047,7517,3},{4045,7523,3},{4048,7525,3},{4048,7528,3},{4052,7533,3}, {4063,7552,3},{4065,7558,3},{4060,7562,3},{4048,7565,3},{4045,7570,3},{4040,7567,3}, {4030,7570,3},{4032,7578,3},{4030,7593,3},{4037,7598,3},{4040,7607,3},{4038,7620,3}, {4045,7628,3},{4043,7630,3},{4037,7632,3},{4035,7635,3},{4043,7648,3},{4055,7657,3}, {4060,7663,3},{4075,7665,3},{4082,7670,3},{4085,7678,3},{4093,7678,3},{4102,7687,3}, {4105,7702,3},{4105,7708,3},{4102,7713,3},{4100,7727,3},{4103,7738,3},{4098,7750,3}, {4098,7755,3},{4100,7760,3},{4100,7768,3},{4107,7787,3},{4105,7803,3},{4103,7808,3}, {4110,7818,3},{4115,7823,3},{4123,7828,3},{4128,7837,3},{4130,7838,3},{4135,7837,3}, {4138,7838,3},{4147,7853,3},{4148,7863,3},{4153,7868,3},{4157,7882,3},{4163,7892,3}, {4165,7900,3},{4172,7913,3},{4173,7922,3},{4178,7932,3},{4178,7940,3},{4178,7945,3}, {4188,7965,3},{4188,7978,3},{4192,7982,3},{4198,7983,3},{4202,7988,3},{4203,8003,3}, {4203,8020,3},{4205,8027,3},{4210,8028,3},{4213,8025,3},{4220,8023,3},{4222,8028,3}, {4225,8030,3},{4228,8027,3},{4232,8028,3},{4237,8023,3},{4245,8022,3},{4248,8025,3}, {4257,8018,3},{4263,8015,3},{4265,8017,3},{4273,8023,3},{4278,8025,3},{4283,8027,3}, {4283,8038,3},{4288,8058,3},{4293,8057,3},{4295,8045,3},{4300,8038,3},{4303,8038,3}, {4307,8048,3},{4313,8065,3},{4310,8077,3},{4313,8080,3},{4315,8082,3},{4328,8077,3}, {4330,8068,3},{4333,8067,3},{4342,8073,3},{4348,8073,3},{4367,8062,3},{4392,8050,3}, {4398,8045,3},{4407,8042,3},{4413,8037,3},{4425,8040,3},{4445,8035,3},{4460,8040,3}, {4465,8038,3},{4468,8043,3},{4470,8052,3},{4473,8052,3},{4477,8043,3},{4477,8037,3}, {4482,8027,3},{4480,8000,3},{4487,7988,3},{4490,7987,3},{4493,7995,3},{4502,8008,3}, {4503,8012,3},{4505,8040,3},{4505,8042,3},{4510,8045,3},{4512,8047,3},{4512,8060,3}, {4515,8077,3},{4513,8087,3},{4517,8097,3},{4517,8105,3},{4523,8123,3},{4530,8155,3}, {4533,8163,3},{4535,8170,3},{4535,8175,3},{4530,8180,3},{4520,8182,3},{4518,8190,3}, {4515,8195,3},{4517,8202,3},{4522,8217,3},{4523,8230,3},{4523,8233,3},{4513,8248,3}, {4513,8257,3},{4525,8263,3},{4535,8267,3},{4543,8265,3},{4547,8257,3},{4550,8237,3}, {4553,8232,3},{4557,8232,3},{4577,8242,3},{4590,8252,3},{4617,8257,3},{4635,8272,3}, {4677,8287,3},{4697,8302,3},{4722,8303,3},{4723,8313,3},{4722,8318,3},{4718,8323,3}, {4713,8342,3},{4707,8357,3},{4702,8378,3},{4697,8392,3},{4698,8413,3},{4700,8418,3}, {4700,8430,3},{4700,8445,3},{4698,8453,3},{4700,8468,3},{4693,8478,3},{4688,8477,3}, {4683,8473,3},{4683,8477,3},{4687,8497,3},{4690,8498,3},{4693,8507,3},{4700,8518,3}, {4705,8523,3},{4707,8552,3},{4718,8558,3},{4720,8568,3},{4728,8570,3},{4732,8568,3}, {4737,8570,3},{4752,8560,3},{4762,8562,3},{4795,8553,3},{4807,8560,3},{4815,8562,3}, {4838,8577,3},{4842,8580,3},{4842,8587,3},{4843,8602,3},{4842,8623,3},{4845,8630,3}, {4850,8633,3},{4850,8647,3},{4853,8660,3},{4862,8665,3},{4863,8668,3},{4873,8678,3}, {4880,8677,3},{4885,8682,3},{4890,8675,3},{4897,8673,3},{4902,8677,3},{4907,8685,3}, {4910,8687,3},{4910,8703,3},{4913,8717,3},{4912,8722,3},{4910,8732,3},{4908,8743,3}, {4910,8750,3},{4913,8753,3},{4913,8760,3},{4917,8772,3},{4917,8783,3},{4273,9638,131}, {4287,9637,3},{4315,9598,3},{4323,9590,3},{4330,9590,3},{4340,9585,3},{4368,9567,3}, {4398,9552,3},{4402,9533,3},{4403,9532,3},{4418,9533,3},{4425,9540,3},{4427,9540,3}, {4425,9503,3},{4433,9487,3},{4433,9472,3},{4435,9467,3},{4445,9458,3},{4452,9447,3}, {4452,9437,3},{4468,9413,3},{4467,9400,3},{4468,9393,3},{4485,9375,3},{4492,9362,3}, {4493,9350,3},{4498,9337,3},{4498,9327,3},{4500,9318,3},{4502,9313,3},{4500,9290,3}, {4500,9228,3},{4505,9198,3},{4505,9177,3},{4508,9167,3},{4510,9148,3},{4520,9117,3}, {4520,9090,3},{4532,9070,3},{4548,9067,3},{4560,9067,3},{4577,9077,3},{4587,9085,3}, {4597,9098,3},{4602,9102,3},{4612,9100,3},{4630,9090,3},{4638,9090,3},{4647,9095,3}, {4650,9102,3},{4667,9105,3},{4673,9103,3},{4675,9098,3},{4675,9100,3},{4682,9092,3}, {4685,9095,3},{4688,9090,3},{4695,9090,3},{4698,9083,3},{4700,9073,3},{4707,9070,3}, {4708,9067,3},{4722,9055,3},{4727,9053,3},{4732,9050,3},{4738,9052,3},{4740,9047,3}, {4750,9045,3},{4762,9035,3},{4765,9035,3},{4768,9030,3},{4773,9012,3},{4783,9007,3}, {4787,8998,3},{4785,8995,3},{4782,8995,3},{4780,8988,3},{4782,8977,3},{4787,8973,3}, {4790,8965,3},{4797,8958,3},{4802,8960,3},{4803,8937,3},{4802,8928,3},{4798,8930,3}, {4793,8917,3},{4792,8890,3},{4807,8885,3},{4815,8875,3},{4818,8868,3},{4823,8865,3}, {4823,8860,3},{4830,8865,3},{4835,8857,3},{4838,8853,3},{4837,8845,3},{4842,8837,3}, {4845,8837,3},{4847,8833,3},{4845,8820,3},{4850,8808,3},{4850,8797,3},{4857,8798,3}, {4862,8802,3},{4865,8808,3},{4868,8808,3},{4872,8798,3},{4875,8798,3},{4875,8795,3}, {4880,8783,3},{4885,8782,3},{4887,8773,3},{4890,8770,3},{4892,8772,3},{4893,8780,3}, {4902,8787,3},{4912,8787,3},{4917,8783,3},{4918,8798,3},{4923,8805,3},{4927,8817,3}, {4930,8817,3},{4937,8813,3},{4947,8822,3},{4948,8835,3},{4948,8857,3},{4950,8865,3}, {4945,8873,3},{4943,8885,3},{4945,8890,3},{4947,8890,3},{4947,8888,3},{4953,8888,3}, {4955,8892,3},{4953,8895,3},{4947,8898,3},{4947,8902,3},{4950,8918,3},{4953,8923,3}, {4957,8923,3},{4962,8920,3},{4963,8923,3},{4963,8927,3},{4958,8938,3},{4965,8947,3}, {4968,8963,3},{4972,8973,3},{4975,8973,3},{4980,8965,3},{4982,8967,3},{4985,8963,3}, {4990,8963,3},{4992,8967,3},{4995,8978,3},{4995,8990,3},{4997,8998,3},{5000,9002,3}, {5005,9002,3},{5008,9005,3},{5012,9025,3},{5018,9035,3},{5018,9045,3},{5022,9052,3}, {5022,9065,3},{5022,9070,3},{5025,9073,3},{5030,9075,3},{5033,9087,3},{5043,9103,3}, {5043,9117,3},{5048,9130,3},{5047,9143,3},{5048,9145,3},{5053,9147,3},{5057,9160,3}, {5065,9167,3},{5070,9178,3},{5072,9192,3},{5068,9212,3},{5070,9222,3},{5075,9230,3}, {5085,9233,3},{5087,9238,3},{5087,9242,3},{5078,9247,3},{5075,9257,3},{5068,9267,3}, {5068,9270,3},{5072,9277,3},{5080,9280,3},{5078,9298,3},{5075,9300,3},{5065,9297,3}, {5063,9302,3},{5062,9302,3},{5060,9310,3},{5062,9322,3},{5060,9335,3},{5062,9343,3}, {5058,9355,3},{5057,9428,3},{5055,9430,3},{5050,9430,3},{5042,9435,3},{5030,9437,3}, {5022,9438,3},{5018,9442,3},{5017,9452,3},{5012,9453,3},{5007,9460,3},{5002,9463,3}, {5007,9483,3},{5005,9498,3},{5002,9502,3},{4995,9508,3},{4995,9542,3},{4990,9553,3}, {4993,9560,3},{4995,9575,3},{5002,9583,3},{5002,9590,3},{4995,9597,3},{5000,9607,3}, {4995,9630,3},{4990,9638,3},{4993,9650,3},{4993,9655,3},{4987,9660,3},{4987,9662,3}, {4992,9672,3},{4990,9700,3},{4982,9708,3},{4980,9715,3},{4977,9717,3},{4973,9728,3}, {4973,9733,3},{4978,9748,3},{4985,9758,3},{4988,9760,3},{4992,9758,3},{4993,9760,3}, {4997,9778,3},{4993,9787,3},{4998,9795,3},{5005,9810,3},{5030,9828,3},{5040,9828,3}, {5047,9833,3},{5052,9832,3},{5057,9827,3},{5057,9817,3},{5063,9807,3},{5078,9797,3}, {5085,9802,3},{5087,9797,3},{5090,9795,3},{5093,9788,3},{5100,9783,3},{5107,9788,3}, {5117,9792,3},{5122,9797,3},{5132,9793,3},{5145,9805,3},{5147,9812,3},{5145,9820,3}, {5145,9823,3},{5152,9827,3},{5158,9825,3},{5172,9833,3},{5178,9862,3},{5183,9870,3}, {5203,9887,3},{5212,9888,3},{5215,9893,3},{5212,9900,3},{5207,9903,3},{5200,9925,3}, {5195,9932,3},{5190,9957,3},{5188,9973,3},{5178,9988,3},{5175,9995,3},{5173,10025,3}, {5173,10055,3},{5172,10060,3},{5170,10070,3},{5157,10110,3},{5153,10115,3}, {5152,10127,3},{5145,10138,3},{5148,10158,3},{5145,10167,3},{5145,10177,3}, {5143,10182,3},{5142,10193,3},{5140,10200,3},{5138,10208,3},{5133,10222,3}, {5130,10223,3},{5125,10215,3},{5120,10218,3},{5112,10217,3},{5098,10225,3}, {5095,10223,3},{5090,10227,3},{5085,10223,3},{5083,10223,3},{5078,10227,3}, {5075,10233,3},{5072,10235,3},{5065,10230,3},{5057,10233,3},{5055,10237,3}, {5053,10248,3},{5052,10253,3},{5042,10262,3},{5038,10278,3},{5032,10292,3}, {5030,10300,3},{5032,10318,3},{5030,10325,3},{5022,10328,3},{5020,10332,3}, {5020,10347,3},{5013,10367,3},{5015,10373,3},{5020,10382,3},{5013,10407,3}, {5017,10425,3},{5020,10427,3},{5023,10430,3},{5025,10435,3},{5030,10442,3}, {5030,10463,3},{5035,10472,3},{5035,10483,3},{5037,10490,3},{5040,10502,3}, {5040,10512,3},{5042,10518,3},{5047,10528,3},{5048,10535,3},{5043,10563,3}, {5043,10580,3},{5043,10585,3},{5042,10598,3},{5038,10607,3},{5035,10607,3}, {5033,10617,3},{5030,10625,3},{5035,10655,3},{5033,10673,3},{5020,10700,3}, {5015,10703,3},{5008,10708,3},{5005,10715,3},{5003,10718,3},{5000,10727,3}, {5002,10732,3},{4998,10742,3},{4998,10775,3},{4995,10782,3},{4997,10785,3}, {4995,10790,3},{4995,10798,3},{4985,10795,3},{4975,10798,3},{4968,10795,3}, {4967,10797,3},{4967,10803,3},{4962,10803,3},{4958,10807,3},{4955,10815,3}, {4953,10827,3},{4943,10837,3},{4933,10855,3},{4935,10888,3},{4935,10895,3}, {4933,10907,3},{4937,10920,3},{4933,10935,3},{4930,10943,3},{4928,10948,3}, {4925,10950,3},{4923,10955,3},{4923,10975,3},{4918,10985,3},{4920,10990,3}, {4918,11008,3},{4917,11020,3},{4918,11030,3},{4925,11040,3},{4920,11047,3}, {4915,11070,3},{4915,11078,3},{4918,11095,3},{4930,11118,3},{4933,11130,3}, {4937,11137,3},{4935,11148,3},{4935,11153,3},{4940,11168,3},{4940,11183,3}, {4940,11197,3},{4943,11213,3},{4953,11248,3},{4953,11263,3},{4950,11270,3}, {4950,11277,3},{4953,11290,3},{4958,11298,3},{4960,11308,3},{4967,11310,3}, {4980,11320,3},{4993,11345,3},{4997,11348,3},{5002,11357,3},{5008,11378,3}, {5008,11387,3},{5017,11400,3},{5018,11407,3},{5025,11418,3},{5028,11432,3}, {5025,11445,3},{5025,11455,3},{5027,11467,3},{5025,11478,3},{5023,11485,3}, {5015,11502,3},{5000,11520,3},{4990,11540,3},{4990,11563,3},{4988,11573,3}, {4990,11580,3},{5000,11607,3},{5003,11622,3},{4997,11643,3},{4993,11662,3}, {4983,11672,3},{4980,11668,3},{4975,11665,3},{4970,11662,3},{4965,11658,3}, {4960,11657,3},{4957,11653,3},{4952,11650,3},{4947,11647,3},{4942,11643,3}, {4938,11640,3},{4933,11637,3},{4928,11633,3},{4923,11630,3},{4918,11627,3}, {4915,11625,3},{4910,11622,3},{4905,11618,3},{4900,11615,3},{4895,11612,3}, {4892,11608,3},{4887,11605,3},{4880,11612,3},{4852,11582,3},{4827,11583,3}, {4818,11548,3},{4788,11558,3},{4767,11597,3},{4778,11607,3},{4787,11625,3}, {4783,11643,3},{4788,11680,3},{4787,11692,3},{4780,11713,3},{4763,11738,3}, {4795,11768,3},{4800,11778,3},{4803,11783,3},{4802,11790,3},{4800,11797,3}, {4800,11803,3},{4803,11817,3},{4803,11822,3},{4800,11828,3},{4802,11835,3}, {4800,11843,3},{4795,11853,3},{4780,11878,3},{4770,11913,3},{4767,11912,3}, {4753,11913,3},{4748,11933,3},{4743,11932,3},{4742,11935,3},{4730,11952,3}, {4728,11957,3},{4712,11977,3},{4703,11980,3},{4698,11985,3},{4693,11985,3}, {4688,11990,3},{4677,11988,3},{4667,11990,3},{4663,11987,3},{4667,11983,3}, {4667,11973,3},{4660,11968,3},{4658,11963,3},{4662,11958,3},{4663,11945,3}, {4660,11932,3},{4667,11925,3},{4665,11908,3},{4675,11898,3},{4673,11890,3}, {4677,11888,3},{4677,11885,3},{4673,11878,3},{4670,11877,3},{4670,11870,3}, {4673,11863,3},{4672,11847,3},{4675,11833,3},{4670,11818,3},{4668,11812,3}, {4665,11805,3},{4662,11790,3},{4658,11785,3},{4653,11782,3},{4652,11768,3}, {4658,11762,3},{4660,11762,3},{4658,11742,3},{4652,11743,3},{4647,11737,3}, {4638,11735,3},{4637,11710,3},{4640,11683,3},{4635,11682,3},{4635,11678,3}, {4632,11673,3},{4628,11660,3},{4625,11658,3},{4613,11640,3},{4598,11628,3}, {4590,11623,3},{4580,11628,3},{4572,11620,3},{4568,11613,3},{4568,11605,3}, {4555,11582,3},{4545,11570,3},{4540,11538,3},{4540,11518,3},{4538,11493,3}, {4543,11477,3},{4540,11458,3},{4522,11447,3},{4508,11425,3},{4503,11417,3}, {4493,11407,3},{4493,11392,3},{4487,11385,3},{4487,11378,3},{4475,11360,3}, {4480,11348,3},{4478,11323,3},{4483,11300,3},{4485,11293,3},{4483,11283,3}, {4493,11258,3},{4498,11253,3},{4508,11243,3},{4508,11217,3},{4510,11200,3}, {4500,11178,3},{4468,11157,3},{4457,11155,3},{4443,11143,3},{4435,11142,3}, {4432,11143,3},{4430,11148,3},{4418,11155,3},{4407,11167,3},{4398,11180,3}, {4390,11190,3},{4378,11198,3},{4370,11197,3},{4367,11192,3},{4367,11178,3}, {4350,11157,3},{4350,11143,3},{4345,11133,3},{4342,11123,3},{4332,11100,3}, {4312,11077,3},{4308,11070,3},{4302,11068,3},{4290,11057,3},{4287,11050,3}, {4277,11040,3},{4267,11013,3},{4265,11013,3},{4265,10995,3},{4255,10968,3}, {4248,10957,3},{4248,10953,3},{4245,10952,3},{4245,10935,3},{4243,10932,3}, {4245,10898,3},{4240,10885,3},{4243,10858,3},{4243,10833,3},{4247,10825,3}, {4240,10790,3},{4242,10763,3},{4242,10758,3},{4245,10748,3},{4240,10730,3}, {4235,10728,3},{4228,10683,3},{4218,10643,3},{4208,10618,3},{4200,10587,3}, {4188,10558,3},{4177,10533,3},{4173,10523,3},{4173,10520,3},{4153,10493,3}, {4162,10453,3},{4185,10455,3},{4185,10448,3},{4182,10432,3},{4180,10413,3}, {4180,10382,3},{4190,10328,3},{4200,10302,3},{4210,10253,3},{4212,10237,3}, {4215,10218,3},{4220,10207,3},{4247,10183,3},{4252,10178,3},{4252,10170,3}, {4253,10163,3},{4253,10157,3},{4255,10150,3},{4257,10143,3},{4258,10135,3}, {4258,10128,3},{4260,10122,3},{4262,10115,3},{4263,10108,3},{4265,10102,3}, {4265,10095,3},{4267,10088,3},{4268,10080,3},{4268,10073,3},{4268,10065,3}, {4268,10058,3},{4268,10052,3},{4268,10045,3},{4268,10037,3},{4268,10030,3}, {4263,10025,3},{4265,10018,3},{4265,10010,3},{4265,10003,3},{4258,9992,3}, {4255,9965,3},{4255,9947,3},{4252,9933,3},{4253,9908,3},{4255,9878,3},{4260,9840,3}, {4262,9800,3},{4267,9757,3},{4262,9745,3},{4262,9730,3},{4267,9712,3},{4270,9687,3}, {4272,9638,3},{4273,9638,3},{4177,5243,131},{4190,5250,3},{4197,5247,3}, {4200,5243,3},{4205,5243,3},{4210,5240,3},{4218,5243,3},{4218,5248,3},{4233,5260,3}, {4240,5260,3},{4242,5263,3},{4253,5268,3},{4262,5265,3},{4272,5257,3},{4275,5258,3}, {4272,5258,3},{4265,5267,3},{4258,5272,3},{4265,5275,3},{4272,5273,3},{4275,5268,3}, {4275,5262,3},{4277,5263,3},{4280,5258,3},{4283,5243,3},{4282,5233,3},{4278,5228,3}, {4283,5223,3},{4287,5220,3},{4288,5217,3},{4288,5208,3},{4283,5195,3},{4283,5192,3}, {4292,5183,3},{4303,5177,3},{4308,5172,3},{4310,5167,3},{4315,5168,3},{4318,5165,3}, {4317,5153,3},{4315,5152,3},{4317,5140,3},{4315,5127,3},{4320,5127,3},{4330,5132,3}, {4345,5132,3},{4355,5127,3},{4358,5122,3},{4362,5122,3},{4362,5115,3},{4367,5112,3}, {4380,5102,3},{4392,5098,3},{4400,5092,3},{4403,5085,3},{4408,5087,3},{4420,5083,3}, {4427,5068,3},{4428,5042,3},{4433,5028,3},{4437,5023,3},{4457,5022,3},{4458,5023,3}, {4457,5027,3},{4465,5032,3},{4463,5043,3},{4463,5055,3},{4463,5058,3},{4462,5063,3}, {4462,5072,3},{4460,5075,3},{4463,5078,3},{4463,5087,3},{4457,5095,3},{4457,5100,3}, {4453,5098,3},{4452,5103,3},{4448,5112,3},{4448,5120,3},{4452,5127,3},{4455,5128,3}, {4455,5137,3},{4455,5138,3},{4453,5137,3},{4452,5138,3},{4452,5140,3},{4452,5143,3}, {4453,5145,3},{4452,5150,3},{4452,5157,3},{4453,5157,3},{4458,5147,3},{4462,5142,3}, {4460,5130,3},{4473,5122,3},{4480,5110,3},{4482,5102,3},{4487,5095,3},{4493,5100,3}, {4495,5095,3},{4498,5097,3},{4498,5107,3},{4503,5110,3},{4507,5120,3},{4502,5125,3}, {4502,5128,3},{4510,5125,3},{4517,5125,3},{4532,5138,3},{4535,5142,3},{4538,5142,3}, {4533,5147,3},{4533,5158,3},{4538,5165,3},{4540,5172,3},{4543,5173,3},{4545,5175,3}, {4543,5178,3},{4540,5178,3},{4540,5188,3},{4537,5193,3},{4538,5200,3},{4538,5215,3}, {4540,5245,3},{4540,5248,3},{4533,5283,3},{4532,5290,3},{4532,5298,3},{4530,5310,3}, {4533,5320,3},{4533,5325,3},{4537,5325,3},{4538,5315,3},{4540,5310,3},{4540,5307,3}, {4547,5292,3},{4547,5288,3},{4548,5285,3},{4552,5275,3},{4555,5273,3},{4565,5275,3}, {4565,5278,3},{4577,5287,3},{4580,5293,3},{4600,5308,3},{4605,5308,3},{4610,5312,3}, {4628,5317,3},{4637,5315,3},{4647,5303,3},{4645,5310,3},{4648,5307,3},{4652,5307,3}, {4648,5305,3},{4648,5300,3},{4657,5303,3},{4655,5303,3},{4655,5308,3},{4662,5310,3}, {4660,5312,3},{4663,5315,3},{4663,5320,3},{4668,5320,3},{4672,5320,3},{4672,5313,3}, {4675,5310,3},{4685,5308,3},{4690,5305,3},{4690,5300,3},{4697,5290,3},{4695,5283,3}, {4695,5262,3},{4695,5257,3},{4698,5253,3},{4700,5245,3},{4688,5235,3},{4687,5218,3}, {4682,5225,3},{4680,5220,3},{4682,5207,3},{4685,5207,3},{4685,5203,3},{4688,5200,3}, {4690,5200,3},{4693,5202,3},{4693,5200,3},{4687,5193,3},{4688,5187,3},{4690,5187,3}, {4693,5188,3},{4690,5177,3},{4695,5168,3},{4705,5168,3},{4705,5165,3},{4705,5163,3}, {4698,5160,3},{4705,5153,3},{4712,5120,3},{4707,5112,3},{4705,5097,3},{4702,5088,3}, {4703,5085,3},{4700,5085,3},{4690,5077,3},{4692,5073,3},{4693,5073,3},{4697,5075,3}, {4693,5068,3},{4693,5062,3},{4685,5060,3},{4682,5055,3},{4688,5058,3},{4687,5050,3}, {4690,5043,3},{4680,5037,3},{4685,5037,3},{4680,5033,3},{4680,5030,3},{4672,5023,3}, {4672,5022,3},{4677,5023,3},{4675,5020,3},{4668,5007,3},{4663,5003,3},{4663,4997,3}, {4658,4988,3},{4657,4983,3},{4655,4982,3},{4653,4980,3},{4657,4977,3},{4653,4975,3}, {4655,4970,3},{4652,4970,3},{4655,4968,3},{4658,4962,3},{4652,4963,3},{4652,4960,3}, {4650,4958,3},{4653,4957,3},{4657,4947,3},{4658,4947,3},{4650,4950,3},{4650,4947,3}, {4653,4947,3},{4655,4943,3},{4653,4942,3},{4658,4930,3},{4648,4940,3},{4648,4932,3}, {4652,4930,3},{4652,4928,3},{4650,4930,3},{4648,4928,3},{4643,4935,3},{4640,4937,3}, {4638,4937,3},{4640,4933,3},{4643,4928,3},{4647,4927,3},{4647,4922,3},{4645,4925,3}, {4642,4925,3},{4640,4928,3},{4638,4925,3},{4642,4917,3},{4637,4917,3},{4638,4910,3}, {4640,4903,3},{4643,4897,3},{4645,4890,3},{4648,4882,3},{4650,4880,3},{4655,4875,3}, {4657,4867,3},{4660,4863,3},{4660,4857,3},{4663,4855,3},{4665,4848,3},{4668,4848,3}, {4673,4852,3},{4677,4858,3},{4677,4865,3},{4673,4870,3},{4668,4875,3},{4668,4883,3}, {4670,4892,3},{4673,4897,3},{4678,4900,3},{4683,4897,3},{4690,4890,3},{4697,4883,3}, {4703,4877,3},{4708,4873,3},{4717,4868,3},{4725,4865,3},{4732,4863,3},{4737,4862,3}, {4742,4858,3},{4742,4853,3},{4742,4843,3},{4747,4837,3},{4750,4832,3},{4758,4827,3}, {4763,4822,3},{4770,4817,3},{4775,4808,3},{4777,4800,3},{4775,4792,3},{4775,4778,3}, {4775,4767,3},{4777,4758,3},{4778,4750,3},{4780,4740,3},{4778,4742,3},{4773,4740,3}, {4768,4737,3},{4768,4735,3},{4772,4727,3},{4777,4717,3},{4782,4712,3},{4785,4715,3}, {4790,4712,3},{4795,4707,3},{4800,4702,3},{4803,4713,3},{4808,4718,3},{4810,4710,3}, {4817,4712,3},{4822,4710,3},{4822,4707,3},{4827,4700,3},{4833,4692,3},{4833,4688,3}, {4837,4675,3},{4838,4668,3},{4842,4658,3},{4845,4650,3},{4850,4652,3},{4855,4655,3}, {4862,4658,3},{4868,4663,3},{4875,4667,3},{4880,4670,3},{4885,4672,3},{4893,4678,3}, {4897,4685,3},{4900,4693,3},{4907,4700,3},{4913,4705,3},{4922,4702,3},{4925,4697,3}, {4930,4687,3},{4933,4678,3},{4938,4678,3},{4945,4680,3},{4952,4682,3},{4957,4683,3}, {4963,4687,3},{4968,4687,3},{4975,4687,3},{4980,4688,3},{4987,4692,3},{4988,4700,3}, {4993,4717,3},{5000,4727,3},{5005,4730,3},{5013,4733,3},{5020,4727,3},{5027,4730,3}, {5033,4732,3},{5033,4740,3},{5037,4740,3},{5042,4745,3},{5045,4752,3},{5045,4758,3}, {5040,4767,3},{5037,4773,3},{5033,4780,3},{5028,4785,3},{5023,4792,3},{5018,4797,3}, {5013,4802,3},{5010,4808,3},{5005,4812,3},{5000,4813,3},{4993,4818,3},{4987,4822,3}, {4987,4825,3},{4987,4828,3},{4987,4830,3},{4983,4835,3},{4983,4838,3},{4982,4843,3}, {4983,4843,3},{4988,4857,3},{4990,4865,3},{4993,4873,3},{4997,4880,3},{5002,4888,3}, {5008,4885,3},{5010,4877,3},{5013,4877,3},{5020,4877,3},{5025,4872,3},{5033,4868,3}, {5042,4867,3},{5047,4867,3},{5058,4863,3},{5062,4857,3},{5065,4855,3},{5067,4860,3}, {5067,4863,3},{5062,4872,3},{5060,4882,3},{5063,4887,3},{5067,4895,3},{5072,4902,3}, {5077,4907,3},{5080,4915,3},{5083,4925,3},{5083,4933,3},{5088,4942,3},{5093,4940,3}, {5100,4932,3},{5103,4935,3},{5110,4937,3},{5113,4942,3},{5112,4947,3},{5112,4955,3}, {5112,4963,3},{5112,4973,3},{5115,4980,3},{5120,4987,3},{5125,5000,3},{5128,5012,3}, {5130,5022,3},{5132,5030,3},{5138,5033,3},{5143,5037,3},{5145,5047,3},{5147,5047,3}, {5148,5052,3},{5155,5050,3},{5160,5052,3},{5160,5055,3},{5165,5060,3},{5165,5062,3}, {5163,5072,3},{5157,5067,3},{5157,5068,3},{5160,5078,3},{5167,5080,3},{5170,5073,3}, {5177,5075,3},{5177,5077,3},{5173,5087,3},{5168,5088,3},{5168,5097,3},{5167,5107,3}, {5168,5118,3},{5168,5128,3},{5167,5130,3},{5165,5137,3},{5157,5135,3},{5155,5125,3}, {5150,5128,3},{5148,5132,3},{5148,5143,3},{5152,5152,3},{5157,5155,3},{5155,5157,3}, {5153,5158,3},{5153,5163,3},{5147,5163,3},{5148,5172,3},{5153,5180,3},{5158,5175,3}, {5163,5180,3},{5168,5185,3},{5167,5197,3},{5167,5205,3},{5167,5213,3},{5172,5218,3}, {5172,5228,3},{5177,5233,3},{5177,5235,3},{5175,5237,3},{5165,5238,3},{5162,5245,3}, {5155,5250,3},{5150,5252,3},{5147,5257,3},{5147,5260,3},{5145,5263,3},{5148,5267,3}, {5147,5270,3},{5148,5268,3},{5150,5275,3},{5153,5278,3},{5150,5280,3},{5150,5288,3}, {5148,5288,3},{5148,5292,3},{5150,5293,3},{5148,5295,3},{5147,5297,3},{5148,5297,3}, {5148,5305,3},{5148,5310,3},{5148,5312,3},{5150,5317,3},{5153,5315,3},{5153,5320,3}, {5152,5318,3},{5150,5322,3},{5150,5330,3},{5152,5338,3},{5148,5345,3},{5143,5350,3}, {5142,5358,3},{5137,5363,3},{5132,5362,3},{5127,5365,3},{5123,5368,3},{5120,5375,3}, {5120,5378,3},{5120,5387,3},{5118,5395,3},{5117,5403,3},{5113,5407,3},{5112,5413,3}, {5105,5415,3},{5103,5420,3},{5102,5417,3},{5098,5420,3},{5093,5425,3},{5088,5432,3}, {5087,5445,3},{5083,5452,3},{5078,5447,3},{5073,5445,3},{5068,5445,3},{5063,5442,3}, {5058,5447,3},{5053,5450,3},{5053,5453,3},{5055,5463,3},{5058,5465,3},{5063,5473,3}, {5068,5472,3},{5075,5467,3},{5082,5467,3},{5088,5472,3},{5088,5473,3},{5088,5483,3}, {5085,5485,3},{5085,5490,3},{5087,5492,3},{5088,5500,3},{5092,5502,3},{5093,5505,3}, {5090,5510,3},{5087,5510,3},{5082,5507,3},{5078,5515,3},{5075,5522,3},{5070,5530,3}, {5065,5538,3},{5067,5540,3},{5067,5548,3},{5063,5553,3},{5060,5562,3},{5057,5570,3}, {5058,5572,3},{5062,5577,3},{5065,5587,3},{5068,5595,3},{5072,5603,3},{5075,5612,3}, {5080,5613,3},{5085,5615,3},{5092,5617,3},{5093,5622,3},{5092,5630,3},{5092,5638,3}, {5097,5640,3},{5098,5647,3},{5098,5648,3},{5105,5647,3},{5108,5650,3},{5108,5652,3}, {5107,5653,3},{5103,5658,3},{5098,5665,3},{5097,5673,3},{5102,5673,3},{5108,5673,3}, {5108,5682,3},{5105,5690,3},{5107,5698,3},{5105,5700,3},{5107,5708,3},{5110,5718,3}, {5107,5720,3},{5102,5727,3},{5098,5732,3},{5093,5735,3},{5088,5743,3},{5088,5753,3}, {5092,5753,3},{5093,5757,3},{5095,5765,3},{5092,5768,3},{5092,5772,3},{5093,5773,3}, {5100,5775,3},{5108,5775,3},{5113,5778,3},{5113,5780,3},{5113,5783,3},{5112,5785,3}, {5110,5793,3},{5110,5802,3},{5113,5808,3},{5112,5810,3},{5110,5810,3},{5108,5810,3}, {5107,5818,3},{5110,5822,3},{5113,5822,3},{5117,5830,3},{5115,5833,3},{5108,5837,3}, {5108,5840,3},{5108,5848,3},{5107,5857,3},{5100,5860,3},{5093,5857,3},{5088,5857,3}, {5082,5862,3},{5083,5870,3},{5083,5878,3},{5078,5878,3},{5075,5885,3},{5072,5887,3}, {5070,5895,3},{5070,5903,3},{5068,5918,3},{5065,5928,3},{5067,5930,3},{5065,5938,3}, {5065,5948,3},{5058,5952,3},{5052,5953,3},{5053,5962,3},{5057,5972,3},{5060,5983,3}, {5065,5990,3},{5070,5993,3},{5077,5997,3},{5082,6000,3},{5083,6000,3},{5087,6008,3}, {5083,6018,3},{5080,6018,3},{5075,6023,3},{5070,6032,3},{5068,6038,3},{5067,6048,3}, {5067,6058,3},{5067,6068,3},{5067,6083,3},{5068,6093,3},{5070,6103,3},{5073,6118,3}, {5075,6125,3},{5078,6138,3},{5083,6147,3},{5090,6148,3},{5098,6150,3},{5103,6152,3}, {5113,6155,3},{5118,6157,3},{5125,6158,3},{5127,6168,3},{5130,6163,3},{5133,6155,3}, {5140,6152,3},{5143,6145,3},{5140,6138,3},{5142,6128,3},{5145,6118,3},{5145,6113,3}, {5145,6112,3},{5147,6103,3},{5150,6097,3},{5155,6093,3},{5162,6090,3},{5162,6078,3}, {5162,6070,3},{5162,6060,3},{5165,6048,3},{5170,6040,3},{5173,6045,3},{5180,6052,3}, {5182,6040,3},{5185,6033,3},{5188,6025,3},{5190,6017,3},{5188,6018,3},{5187,6018,3}, {5188,6010,3},{5193,6005,3},{5198,6007,3},{5200,6015,3},{5200,6023,3},{5203,6033,3}, {5210,6040,3},{5213,6047,3},{5217,6055,3},{5217,6067,3},{5218,6075,3},{5223,6080,3}, {5223,6085,3},{5227,6093,3},{5230,6100,3},{5237,6105,3},{5243,6100,3},{5250,6097,3}, {5250,6093,3},{5252,6085,3},{5258,6085,3},{5263,6083,3},{5265,6075,3},{5270,6072,3}, {5275,6073,3},{5277,6083,3},{5280,6088,3},{5283,6095,3},{5288,6102,3},{5293,6107,3}, {5298,6103,3},{5297,6112,3},{5300,6115,3},{5303,6123,3},{5300,6132,3},{5300,6140,3}, {5303,6147,3},{5303,6150,3},{5300,6158,3},{5297,6165,3},{5300,6172,3},{5300,6180,3}, {5302,6190,3},{5295,6198,3},{5297,6207,3},{5300,6213,3},{5307,6213,3},{5312,6212,3}, {5312,6208,3},{5313,6198,3},{5313,6190,3},{5317,6180,3},{5322,6173,3},{5325,6167,3}, {5322,6162,3},{5322,6152,3},{5325,6143,3},{5327,6133,3},{5327,6125,3},{5332,6117,3}, {5340,6117,3},{5343,6123,3},{5350,6127,3},{5350,6130,3},{5348,6138,3},{5347,6142,3}, {5347,6152,3},{5350,6158,3},{5353,6158,3},{5358,6152,3},{5360,6143,3},{5357,6135,3}, {5357,6127,3},{5357,6117,3},{5360,6110,3},{5362,6102,3},{5362,6092,3},{5367,6093,3}, {5365,6105,3},{5370,6105,3},{5372,6112,3},{5377,6118,3},{5382,6122,3},{5385,6118,3}, {5388,6112,3},{5388,6107,3},{5390,6098,3},{5395,6103,3},{5395,6107,3},{5395,6117,3}, {5392,6120,3},{5392,6125,3},{5393,6125,3},{5398,6128,3},{5403,6125,3},{5408,6133,3}, {5408,6137,3},{5408,6147,3},{5403,6150,3},{5400,6157,3},{5395,6162,3},{5397,6163,3}, {5400,6163,3},{5403,6173,3},{5398,6180,3},{5403,6185,3},{5402,6190,3},{5397,6187,3}, {5395,6195,3},{5397,6205,3},{5398,6203,3},{5403,6202,3},{5405,6210,3},{5403,6213,3}, {5403,6225,3},{5403,6233,3},{5405,6242,3},{5402,6248,3},{5398,6242,3},{5393,6245,3}, {5390,6253,3},{5392,6257,3},{5397,6258,3},{5400,6263,3},{5403,6270,3},{5407,6277,3}, {5412,6283,3},{5412,6288,3},{5410,6298,3},{5410,6308,3},{5413,6317,3},{5418,6317,3}, {5420,6325,3},{5420,6333,3},{5420,6345,3},{5422,6355,3},{5423,6363,3},{5425,6372,3}, {5427,6380,3},{5428,6388,3},{5428,6398,3},{5432,6400,3},{5430,6402,3},{5428,6402,3}, {5432,6408,3},{5432,6417,3},{5432,6427,3},{5433,6435,3},{5433,6445,3},{5437,6448,3}, {5437,6457,3},{5440,6465,3},{5440,6475,3},{5435,6475,3},{5438,6485,3},{5442,6495,3}, {5440,6503,3},{5433,6512,3},{5433,6522,3},{5440,6523,3},{5445,6518,3},{5453,6522,3}, {5457,6528,3},{5458,6538,3},{5457,6548,3},{5458,6548,3},{5465,6547,3},{5465,6550,3}, {5463,6558,3},{5463,6567,3},{5460,6577,3},{5465,6582,3},{5470,6587,3},{5470,6597,3}, {5462,6597,3},{5463,6605,3},{5465,6618,3},{5468,6630,3},{5470,6640,3},{5472,6652,3}, {5472,6660,3},{5473,6673,3},{5475,6675,3},{5477,6685,3},{5478,6695,3},{5478,6707,3}, {5480,6717,3},{5482,6727,3},{5487,6732,3},{5487,6735,3},{5485,6743,3},{5483,6755,3}, {5485,6763,3},{5487,6772,3},{5492,6778,3},{5497,6785,3},{5497,6793,3},{5495,6802,3}, {5495,6810,3},{5497,6822,3},{5502,6822,3},{5508,6827,3},{5513,6820,3},{5518,6818,3}, {5518,6822,3},{5518,6825,3},{5518,6835,3},{5520,6840,3},{5520,6852,3},{5518,6862,3}, {5523,6863,3},{5528,6870,3},{5533,6872,3},{5535,6882,3},{5532,6890,3},{5528,6900,3}, {5533,6900,3},{5537,6892,3},{5543,6895,3},{5542,6905,3},{5538,6913,3},{5533,6920,3}, {5535,6927,3},{5537,6940,3},{5533,6948,3},{5535,6960,3},{5533,6968,3},{5532,6980,3}, {5528,6988,3},{5522,6992,3},{5520,7000,3},{5518,7005,3},{5513,7013,3},{5513,7023,3}, {5518,7032,3},{5522,7042,3},{5527,7045,3},{5528,7048,3},{5527,7053,3},{5527,7065,3}, {5530,7073,3},{5528,7083,3},{5523,7085,3},{5517,7093,3},{5512,7098,3},{5505,7102,3}, {5498,7102,3},{5490,7100,3},{5485,7103,3},{5478,7105,3},{5473,7110,3},{5470,7120,3}, {5467,7130,3},{5462,7130,3},{5458,7120,3},{5450,7120,3},{5445,7120,3},{5438,7123,3}, {5432,7118,3},{5432,7115,3},{5435,7102,3},{5430,7102,3},{5427,7110,3},{5422,7107,3}, {5418,7113,3},{5412,7117,3},{5412,7122,3},{5418,7132,3},{5418,7140,3},{5417,7148,3}, {5412,7152,3},{5412,7158,3},{5412,7168,3},{5415,7175,3},{5420,7173,3},{5425,7177,3}, {5423,7190,3},{5420,7207,3},{5415,7210,3},{5413,7217,3},{5418,7220,3},{5420,7217,3}, {5425,7208,3},{5428,7213,3},{5433,7207,3},{5437,7207,3},{5437,7218,3},{5432,7227,3}, {5425,7228,3},{5423,7232,3},{5418,7230,3},{5415,7240,3},{5413,7250,3},{5412,7248,3}, {5412,7245,3},{5410,7237,3},{5408,7237,3},{5403,7242,3},{5395,7238,3},{5393,7240,3}, {5392,7250,3},{5398,7255,3},{5395,7272,3},{5398,7272,3},{5400,7272,3},{5405,7265,3}, {5405,7262,3},{5405,7252,3},{5408,7253,3},{5413,7260,3},{5413,7275,3},{5410,7283,3}, {5410,7298,3},{5405,7298,3},{5405,7305,3},{5398,7308,3},{5397,7322,3},{5395,7332,3}, {5397,7342,3},{5398,7342,3},{5398,7345,3},{5395,7353,3},{5400,7352,3},{5403,7360,3}, {5407,7363,3},{5405,7375,3},{5400,7373,3},{5392,7372,3},{5387,7368,3},{5387,7358,3}, {5388,7345,3},{5385,7343,3},{5382,7345,3},{5380,7335,3},{5375,7335,3},{5368,7332,3}, {5368,7327,3},{5365,7328,3},{5357,7325,3},{5355,7333,3},{5353,7340,3},{5348,7338,3}, {5345,7345,3},{5350,7355,3},{5357,7360,3},{5357,7365,3},{5362,7367,3},{5362,7375,3}, {5360,7385,3},{5365,7390,3},{5365,7395,3},{5363,7407,3},{5355,7407,3},{5355,7415,3}, {5360,7418,3},{5360,7425,3},{5355,7427,3},{5348,7428,3},{5347,7440,3},{5347,7442,3}, {5358,7448,3},{5360,7443,3},{5368,7447,3},{5368,7455,3},{5367,7465,3},{5370,7467,3}, {5375,7468,3},{5377,7478,3},{5382,7482,3},{5382,7485,3},{5382,7493,3},{5378,7503,3}, {5380,7507,3},{5385,7517,3},{5388,7523,3},{5392,7532,3},{5395,7538,3},{5398,7547,3}, {5403,7545,3},{5408,7542,3},{5412,7553,3},{5410,7562,3},{5413,7570,3},{5415,7580,3}, {5418,7588,3},{5420,7597,3},{5423,7607,3},{5425,7615,3},{5430,7620,3},{5435,7625,3}, {5433,7630,3},{5433,7640,3},{5433,7650,3},{5435,7658,3},{5437,7668,3},{5442,7675,3}, {5442,7678,3},{5445,7693,3},{5443,7693,3},{5442,7688,3},{5438,7678,3},{5435,7687,3}, {5430,7687,3},{5423,7685,3},{5420,7677,3},{5415,7672,3},{5413,7663,3},{5417,7662,3}, {5417,7652,3},{5417,7643,3},{5415,7642,3},{5413,7643,3},{5408,7650,3},{5402,7653,3}, {5397,7658,3},{5392,7667,3},{5387,7677,3},{5383,7683,3},{5380,7690,3},{5375,7700,3}, {5372,7707,3},{5367,7718,3},{5363,7725,3},{5360,7733,3},{5357,7740,3},{5352,7752,3}, {5345,7762,3},{5342,7770,3},{5337,7777,3},{5332,7787,3},{5327,7793,3},{5322,7798,3}, {5317,7802,3},{5312,7807,3},{5307,7812,3},{5300,7820,3},{5295,7825,3},{5292,7828,3}, {5285,7835,3},{5275,7845,3},{5270,7848,3},{5263,7853,3},{5260,7858,3},{5255,7862,3}, {5248,7868,3},{5243,7873,3},{5237,7880,3},{5232,7885,3},{5223,7890,3},{5217,7895,3}, {5213,7900,3},{5207,7905,3},{5200,7912,3},{5193,7917,3},{5187,7922,3},{5182,7927,3}, {5175,7932,3},{5170,7937,3},{5163,7940,3},{5158,7945,3},{5152,7950,3},{5147,7953,3}, {5142,7957,3},{5137,7962,3},{5130,7967,3},{5125,7970,3},{5115,7978,3},{5108,7982,3}, {5100,7990,3},{5093,7993,3},{5088,7998,3},{5082,8003,3},{5077,8008,3},{5078,8007,3}, {5085,8007,3},{5083,8010,3},{5083,8020,3},{5090,8020,3},{5093,8027,3},{5093,8038,3}, {5097,8043,3},{5097,8047,3},{5102,8047,3},{5108,8048,3},{5113,8043,3},{5122,8045,3}, {5122,8048,3},{5120,8062,3},{5122,8063,3},{5125,8063,3},{5130,8065,3},{5130,8075,3}, {5127,8085,3},{5125,8093,3},{5122,8093,3},{5117,8107,3},{5120,8113,3},{5115,8115,3}, {5105,8110,3},{5100,8108,3},{5095,8107,3},{5095,8112,3},{5095,8122,3},{5097,8130,3}, {5098,8140,3},{5093,8143,3},{5087,8143,3},{5087,8147,3},{5082,8147,3},{5077,8145,3}, {5075,8148,3},{5075,8160,3},{5077,8168,3},{5077,8177,3},{5082,8180,3},{5080,8183,3}, {5080,8195,3},{5080,8203,3},{5075,8212,3},{5075,8222,3},{5078,8228,3},{5078,8238,3}, {5077,8248,3},{5077,8257,3},{5082,8270,3},{5087,8272,3},{5093,8273,3},{5093,8282,3}, {5090,8293,3},{5092,8302,3},{5095,8308,3},{5102,8312,3},{5100,8320,3},{5102,8325,3}, {5100,8335,3},{5102,8343,3},{5098,8342,3},{5095,8348,3},{5095,8358,3},{5092,8365,3}, {5090,8372,3},{5087,8383,3},{5082,8392,3},{5075,8397,3},{5070,8400,3},{5067,8405,3}, {5060,8412,3},{5055,8420,3},{5050,8423,3},{5043,8422,3},{5035,8425,3},{5030,8423,3}, {5027,8427,3},{5022,8433,3},{5022,8437,3},{5025,8447,3},{5025,8450,3},{5022,8452,3}, {5018,8462,3},{5017,8470,3},{5013,8480,3},{5010,8485,3},{5008,8493,3},{5005,8502,3}, {5000,8502,3},{5000,8498,3},{4993,8498,3},{4990,8502,3},{4988,8510,3},{4983,8512,3}, {4975,8518,3},{4970,8520,3},{4963,8522,3},{4958,8528,3},{4960,8533,3},{4957,8537,3}, {4957,8543,3},{4958,8545,3},{4960,8555,3},{4958,8562,3},{4955,8570,3},{4957,8577,3}, {4955,8585,3},{4955,8593,3},{4950,8595,3},{4948,8598,3},{4952,8603,3},{4952,8612,3}, {4947,8617,3},{4952,8620,3},{4953,8623,3},{4958,8625,3},{4960,8630,3},{4962,8638,3}, {4968,8647,3},{4972,8653,3},{4975,8660,3},{4980,8662,3},{4980,8665,3},{4980,8672,3}, {4980,8680,3},{4972,8678,3},{4970,8675,3},{4967,8665,3},{4962,8662,3},{4957,8667,3}, {4957,8672,3},{4953,8678,3},{4950,8682,3},{4945,8682,3},{4940,8692,3},{4935,8690,3}, {4930,8697,3},{4930,8700,3},{4925,8705,3},{4925,8710,3},{4925,8718,3},{4922,8727,3}, {4917,8730,3},{4910,8732,3},{4912,8722,3},{4913,8717,3},{4910,8703,3},{4910,8687,3}, {4907,8685,3},{4902,8677,3},{4897,8673,3},{4890,8675,3},{4885,8682,3},{4880,8677,3}, {4873,8678,3},{4863,8668,3},{4862,8665,3},{4853,8660,3},{4850,8647,3},{4850,8633,3}, {4845,8630,3},{4842,8623,3},{4843,8602,3},{4842,8587,3},{4842,8580,3},{4838,8577,3}, {4815,8562,3},{4807,8560,3},{4795,8553,3},{4762,8562,3},{4752,8560,3},{4737,8570,3}, {4732,8568,3},{4728,8570,3},{4720,8568,3},{4718,8558,3},{4707,8552,3},{4705,8523,3}, {4700,8518,3},{4693,8507,3},{4690,8498,3},{4687,8497,3},{4683,8477,3},{4683,8473,3}, {4688,8477,3},{4693,8478,3},{4700,8468,3},{4698,8453,3},{4700,8445,3},{4700,8430,3}, {4700,8418,3},{4698,8413,3},{4697,8392,3},{4702,8378,3},{4707,8357,3},{4713,8342,3}, {4718,8323,3},{4722,8318,3},{4723,8313,3},{4722,8303,3},{4697,8302,3},{4677,8287,3}, {4635,8272,3},{4617,8257,3},{4590,8252,3},{4577,8242,3},{4557,8232,3},{4553,8232,3}, {4550,8237,3},{4547,8257,3},{4543,8265,3},{4535,8267,3},{4525,8263,3},{4513,8257,3}, {4513,8248,3},{4523,8233,3},{4523,8230,3},{4522,8217,3},{4517,8202,3},{4515,8195,3}, {4518,8190,3},{4520,8182,3},{4530,8180,3},{4535,8175,3},{4535,8170,3},{4533,8163,3}, {4530,8155,3},{4523,8123,3},{4517,8105,3},{4517,8097,3},{4513,8087,3},{4515,8077,3}, {4512,8060,3},{4512,8047,3},{4510,8045,3},{4505,8042,3},{4505,8040,3},{4503,8012,3}, {4502,8008,3},{4493,7995,3},{4490,7987,3},{4487,7988,3},{4480,8000,3},{4482,8027,3}, {4477,8037,3},{4477,8043,3},{4473,8052,3},{4470,8052,3},{4468,8043,3},{4465,8038,3}, {4460,8040,3},{4445,8035,3},{4425,8040,3},{4413,8037,3},{4407,8042,3},{4398,8045,3}, {4392,8050,3},{4367,8062,3},{4348,8073,3},{4342,8073,3},{4333,8067,3},{4330,8068,3}, {4328,8077,3},{4315,8082,3},{4313,8080,3},{4310,8077,3},{4313,8065,3},{4307,8048,3}, {4303,8038,3},{4300,8038,3},{4295,8045,3},{4293,8057,3},{4288,8058,3},{4283,8038,3}, {4283,8027,3},{4278,8025,3},{4273,8023,3},{4265,8017,3},{4263,8015,3},{4257,8018,3}, {4248,8025,3},{4245,8022,3},{4237,8023,3},{4232,8028,3},{4228,8027,3},{4225,8030,3}, {4222,8028,3},{4223,8022,3},{4223,8020,3},{4220,8012,3},{4222,8012,3},{4230,8010,3}, {4233,8007,3},{4235,8002,3},{4240,7997,3},{4243,7993,3},{4243,7985,3},{4245,7985,3}, {4245,7980,3},{4247,7973,3},{4248,7965,3},{4245,7962,3},{4245,7957,3},{4247,7950,3}, {4250,7947,3},{4253,7940,3},{4258,7935,3},{4262,7928,3},{4265,7922,3},{4270,7918,3}, {4278,7918,3},{4278,7915,3},{4273,7907,3},{4278,7902,3},{4278,7895,3},{4278,7888,3}, {4280,7882,3},{4282,7875,3},{4283,7867,3},{4285,7865,3},{4287,7858,3},{4290,7852,3}, {4288,7845,3},{4288,7838,3},{4285,7832,3},{4287,7825,3},{4288,7817,3},{4285,7815,3}, {4287,7808,3},{4283,7807,3},{4287,7803,3},{4285,7797,3},{4287,7793,3},{4288,7785,3}, {4292,7778,3},{4290,7775,3},{4292,7768,3},{4292,7758,3},{4293,7752,3},{4293,7742,3}, {4292,7735,3},{4292,7722,3},{4297,7718,3},{4297,7708,3},{4297,7700,3},{4298,7693,3}, {4298,7685,3},{4295,7678,3},{4290,7673,3},{4290,7665,3},{4292,7658,3},{4292,7652,3}, {4288,7648,3},{4288,7645,3},{4287,7638,3},{4288,7632,3},{4292,7627,3},{4292,7618,3}, {4292,7612,3},{4292,7603,3},{4293,7600,3},{4295,7593,3},{4295,7585,3},{4290,7578,3}, {4283,7577,3},{4280,7572,3},{4282,7563,3},{4282,7562,3},{4282,7558,3},{4283,7548,3}, {4282,7542,3},{4285,7532,3},{4283,7523,3},{4285,7515,3},{4288,7510,3},{4292,7503,3}, {4295,7497,3},{4298,7492,3},{4300,7485,3},{4298,7478,3},{4302,7472,3},{4307,7468,3}, {4310,7462,3},{4313,7458,3},{4317,7450,3},{4318,7448,3},{4320,7442,3},{4320,7435,3}, {4323,7428,3},{4323,7415,3},{4322,7417,3},{4318,7417,3},{4317,7410,3},{4317,7402,3}, {4320,7395,3},{4315,7392,3},{4310,7390,3},{4310,7387,3},{4312,7378,3},{4308,7370,3}, {4305,7363,3},{4302,7355,3},{4297,7353,3},{4290,7350,3},{4283,7350,3},{4275,7348,3}, {4270,7345,3},{4263,7342,3},{4257,7342,3},{4250,7345,3},{4247,7350,3},{4242,7350,3}, {4240,7348,3},{4242,7345,3},{4243,7338,3},{4245,7330,3},{4250,7330,3},{4252,7318,3}, {4253,7308,3},{4253,7300,3},{4253,7292,3},{4255,7283,3},{4260,7278,3},{4263,7275,3}, {4265,7267,3},{4268,7258,3},{4268,7250,3},{4272,7240,3},{4275,7233,3},{4277,7227,3}, {4275,7218,3},{4273,7212,3},{4277,7205,3},{4278,7198,3},{4282,7190,3},{4283,7183,3}, {4280,7177,3},{4280,7170,3},{4277,7162,3},{4277,7157,3},{4282,7152,3},{4280,7143,3}, {4278,7137,3},{4277,7127,3},{4275,7127,3},{4270,7123,3},{4267,7117,3},{4260,7115,3}, {4260,7113,3},{4260,7105,3},{4255,7102,3},{4253,7103,3},{4250,7110,3},{4247,7107,3}, {4250,7100,3},{4248,7098,3},{4243,7095,3},{4237,7092,3},{4232,7087,3},{4225,7088,3}, {4227,7093,3},{4225,7093,3},{4220,7087,3},{4220,7078,3},{4215,7073,3},{4212,7068,3}, {4207,7065,3},{4200,7063,3},{4200,7060,3},{4202,7058,3},{4207,7055,3},{4210,7048,3}, {4213,7042,3},{4212,7040,3},{4207,7037,3},{4203,7032,3},{4198,7033,3},{4197,7032,3}, {4193,7023,3},{4190,7018,3},{4183,7015,3},{4182,7007,3},{4177,7003,3},{4177,7002,3}, {4178,6998,3},{4172,6995,3},{4170,6990,3},{4172,6983,3},{4170,6975,3},{4167,6968,3}, {4165,6962,3},{4162,6957,3},{4157,6952,3},{4155,6945,3},{4150,6940,3},{4145,6942,3}, {4145,6935,3},{4147,6928,3},{4145,6922,3},{4142,6917,3},{4138,6912,3},{4133,6907,3}, {4135,6903,3},{4130,6898,3},{4125,6898,3},{4120,6895,3},{4120,6892,3},{4115,6887,3}, {4108,6880,3},{4102,6875,3},{4097,6872,3},{4093,6865,3},{4095,6863,3},{4097,6863,3}, {4098,6867,3},{4100,6865,3},{4100,6862,3},{4103,6860,3},{4100,6855,3},{4102,6852,3}, {4108,6850,3},{4108,6847,3},{4112,6843,3},{4112,6835,3},{4113,6827,3},{4115,6818,3}, {4117,6807,3},{4118,6805,3},{4120,6798,3},{4118,6790,3},{4117,6785,3},{4120,6778,3}, {4120,6775,3},{4120,6767,3},{4120,6760,3},{4120,6752,3},{4122,6740,3},{4120,6733,3}, {4122,6725,3},{4122,6712,3},{4123,6700,3},{4123,6693,3},{4123,6682,3},{4125,6673,3}, {4125,6660,3},{4128,6660,3},{4135,6660,3},{4142,6658,3},{4152,6658,3},{4158,6657,3}, {4168,6655,3},{4177,6655,3},{4183,6653,3},{4190,6653,3},{4190,6642,3},{4192,6630,3}, {4192,6622,3},{4193,6610,3},{4195,6602,3},{4200,6602,3},{4205,6602,3},{4212,6602,3}, {4217,6602,3},{4222,6602,3},{4227,6602,3},{4232,6602,3},{4238,6602,3},{4235,6610,3}, {4237,6610,3},{4247,6610,3},{4255,6610,3},{4262,6610,3},{4268,6610,3},{4278,6610,3}, {4288,6610,3},{4297,6610,3},{4293,6600,3},{4290,6592,3},{4287,6583,3},{4290,6582,3}, {4295,6580,3},{4302,6577,3},{4307,6573,3},{4315,6572,3},{4320,6568,3},{4330,6565,3}, {4337,6557,3},{4342,6548,3},{4345,6542,3},{4352,6533,3},{4357,6528,3},{4362,6525,3}, {4372,6518,3},{4377,6515,3},{4378,6508,3},{4377,6500,3},{4373,6492,3},{4372,6485,3}, {4368,6477,3},{4363,6462,3},{4360,6453,3},{4360,6447,3},{4360,6432,3},{4362,6422,3}, {4362,6415,3},{4362,6400,3},{4363,6392,3},{4363,6380,3},{4365,6367,3},{4365,6358,3}, {4367,6345,3},{4367,6338,3},{4367,6330,3},{4365,6320,3},{4363,6308,3},{4362,6298,3}, {4362,6290,3},{4358,6273,3},{4357,6258,3},{4355,6248,3},{4355,6242,3},{4353,6232,3}, {4352,6222,3},{4350,6213,3},{4350,6200,3},{4352,6198,3},{4358,6190,3},{4363,6183,3}, {4372,6175,3},{4378,6168,3},{4387,6158,3},{4392,6153,3},{4397,6147,3},{4402,6142,3}, {4405,6137,3},{4410,6132,3},{4413,6128,3},{4422,6118,3},{4428,6112,3},{4433,6113,3}, {4433,6117,3},{4428,6118,3},{4433,6118,3},{4435,6117,3},{4440,6118,3},{4440,6122,3}, {4438,6123,3},{4445,6123,3},{4440,6115,3},{4443,6112,3},{4445,6113,3},{4448,6117,3}, {4450,6113,3},{4453,6112,3},{4453,6107,3},{4457,6108,3},{4458,6112,3},{4460,6112,3}, {4457,6117,3},{4460,6117,3},{4462,6122,3},{4463,6120,3},{4463,6113,3},{4465,6112,3}, {4467,6117,3},{4465,6118,3},{4468,6123,3},{4463,6127,3},{4463,6128,3},{4465,6128,3}, {4467,6130,3},{4468,6142,3},{4473,6145,3},{4477,6148,3},{4473,6150,3},{4483,6157,3}, {4483,6160,3},{4480,6160,3},{4480,6163,3},{4488,6167,3},{4485,6170,3},{4488,6173,3}, {4487,6177,3},{4490,6175,3},{4495,6182,3},{4495,6187,3},{4497,6185,3},{4498,6185,3}, {4498,6192,3},{4497,6192,3},{4497,6195,3},{4502,6193,3},{4502,6197,3},{4505,6197,3}, {4502,6183,3},{4505,6182,3},{4512,6183,3},{4503,6175,3},{4498,6173,3},{4500,6173,3}, {4503,6175,3},{4505,6172,3},{4510,6172,3},{4510,6175,3},{4515,6175,3},{4517,6178,3}, {4513,6182,3},{4515,6185,3},{4518,6177,3},{4515,6173,3},{4522,6172,3},{4518,6168,3}, {4517,6170,3},{4513,6165,3},{4518,6162,3},{4517,6155,3},{4515,6153,3},{4518,6150,3}, {4523,6152,3},{4530,6152,3},{4533,6148,3},{4538,6137,3},{4545,6135,3},{4548,6130,3}, {4548,6125,3},{4552,6125,3},{4555,6123,3},{4557,6130,3},{4560,6128,3},{4562,6130,3}, {4565,6127,3},{4567,6127,3},{4570,6117,3},{4573,6117,3},{4577,6115,3},{4573,6115,3}, {4572,6113,3},{4570,6103,3},{4562,6097,3},{4563,6093,3},{4568,6092,3},{4572,6092,3}, {4573,6093,3},{4573,6098,3},{4580,6105,3},{4587,6100,3},{4585,6103,3},{4587,6110,3}, {4590,6113,3},{4590,6103,3},{4593,6108,3},{4597,6103,3},{4602,6107,3},{4602,6102,3}, {4607,6098,3},{4608,6092,3},{4610,6090,3},{4613,6103,3},{4610,6115,3},{4615,6120,3}, {4615,6123,3},{4620,6127,3},{4622,6123,3},{4623,6125,3},{4625,6127,3},{4625,6130,3}, {4627,6130,3},{4628,6127,3},{4633,6132,3},{4630,6133,3},{4632,6137,3},{4648,6140,3}, {4648,6142,3},{4645,6145,3},{4648,6152,3},{4670,6165,3},{4672,6173,3},{4675,6170,3}, {4678,6165,3},{4678,6155,3},{4682,6158,3},{4687,6157,3},{4685,6150,3},{4680,6150,3}, {4677,6133,3},{4675,6130,3},{4670,6132,3},{4667,6130,3},{4667,6115,3},{4663,6115,3}, {4665,6120,3},{4663,6122,3},{4658,6118,3},{4652,6120,3},{4648,6112,3},{4648,6090,3}, {4652,6087,3},{4655,6085,3},{4658,6082,3},{4667,6085,3},{4670,6092,3},{4675,6090,3}, {4678,6082,3},{4677,6068,3},{4680,6058,3},{4680,6055,3},{4677,6052,3},{4680,6050,3}, {4680,6048,3},{4675,6045,3},{4673,6045,3},{4675,6050,3},{4673,6053,3},{4673,6058,3}, {4665,6072,3},{4658,6063,3},{4658,6057,3},{4665,6050,3},{4660,6043,3},{4663,6042,3}, {4665,6043,3},{4667,6040,3},{4672,6040,3},{4670,6037,3},{4667,6038,3},{4670,6033,3}, {4673,6032,3},{4672,6023,3},{4663,6010,3},{4662,6003,3},{4660,6000,3},{4658,5992,3}, {4653,5990,3},{4657,5987,3},{4653,5983,3},{4653,5980,3},{4652,5980,3},{4652,5983,3}, {4652,5992,3},{4648,5993,3},{4647,5987,3},{4643,5988,3},{4638,5995,3},{4638,6002,3}, {4635,6003,3},{4632,6008,3},{4628,6008,3},{4627,6012,3},{4623,6012,3},{4620,5998,3}, {4613,5995,3},{4608,5987,3},{4610,5985,3},{4617,5987,3},{4620,5982,3},{4628,5982,3}, {4633,5973,3},{4635,5965,3},{4633,5962,3},{4637,5955,3},{4633,5948,3},{4632,5947,3}, {4632,5943,3},{4628,5947,3},{4627,5952,3},{4623,5953,3},{4613,5957,3},{4612,5957,3}, {4613,5953,3},{4603,5948,3},{4602,5950,3},{4603,5952,3},{4603,5953,3},{4592,5953,3}, {4587,5948,3},{4582,5950,3},{4582,5948,3},{4582,5935,3},{4577,5930,3},{4582,5927,3}, {4590,5933,3},{4595,5938,3},{4595,5943,3},{4602,5945,3},{4603,5938,3},{4602,5925,3}, {4597,5917,3},{4597,5908,3},{4598,5908,3},{4600,5912,3},{4602,5910,3},{4600,5898,3}, {4595,5890,3},{4593,5880,3},{4590,5872,3},{4578,5865,3},{4560,5860,3},{4558,5852,3}, {4557,5843,3},{4553,5832,3},{4550,5820,3},{4548,5813,3},{4545,5798,3},{4542,5785,3}, {4540,5775,3},{4538,5767,3},{4537,5758,3},{4533,5750,3},{4532,5735,3},{4530,5728,3}, {4528,5720,3},{4525,5708,3},{4523,5700,3},{4522,5692,3},{4518,5677,3},{4517,5668,3}, {4513,5658,3},{4512,5647,3},{4508,5637,3},{4507,5630,3},{4503,5615,3},{4502,5608,3}, {4500,5600,3},{4497,5600,3},{4492,5600,3},{4487,5600,3},{4480,5600,3},{4475,5600,3}, {4470,5600,3},{4463,5600,3},{4458,5600,3},{4453,5600,3},{4447,5600,3},{4442,5600,3}, {4437,5600,3},{4430,5600,3},{4425,5600,3},{4420,5600,3},{4413,5600,3},{4408,5600,3}, {4403,5600,3},{4397,5600,3},{4392,5600,3},{4387,5600,3},{4382,5600,3},{4375,5600,3}, {4370,5600,3},{4365,5600,3},{4358,5600,3},{4353,5600,3},{4348,5600,3},{4342,5600,3}, {4337,5600,3},{4332,5600,3},{4325,5600,3},{4320,5600,3},{4315,5600,3},{4308,5600,3}, {4303,5600,3},{4298,5600,3},{4292,5600,3},{4287,5600,3},{4282,5600,3},{4275,5600,3}, {4270,5600,3},{4265,5600,3},{4258,5600,3},{4253,5600,3},{4248,5600,3},{4242,5600,3}, {4237,5600,3},{4232,5600,3},{4227,5600,3},{4220,5600,3},{4215,5600,3},{4210,5600,3}, {4203,5600,3},{4198,5600,3},{4193,5600,3},{4187,5600,3},{4182,5600,3},{4177,5600,3}, {4170,5600,3},{4165,5600,3},{4160,5600,3},{4153,5600,3},{4148,5600,3},{4143,5600,3}, {4137,5600,3},{4132,5600,3},{4132,5593,3},{4132,5585,3},{4128,5580,3},{4128,5573,3}, {4128,5565,3},{4125,5560,3},{4128,5555,3},{4125,5553,3},{4128,5547,3},{4133,5540,3}, {4138,5533,3},{4143,5527,3},{4150,5522,3},{4155,5517,3},{4160,5513,3},{4167,5510,3}, {4173,5505,3},{4178,5500,3},{4182,5495,3},{4188,5495,3},{4193,5493,3},{4198,5488,3}, {4202,5483,3},{4207,5477,3},{4210,5470,3},{4215,5458,3},{4222,5448,3},{4225,5442,3}, {4227,5435,3},{4230,5428,3},{4233,5418,3},{4233,5410,3},{4233,5403,3},{4233,5395,3}, {4233,5387,3},{4232,5378,3},{4230,5370,3},{4230,5363,3},{4228,5357,3},{4227,5342,3}, {4222,5332,3},{4220,5323,3},{4217,5313,3},{4213,5303,3},{4210,5297,3},{4205,5288,3}, {4200,5282,3},{4197,5275,3},{4193,5270,3},{4188,5263,3},{4185,5257,3},{4182,5252,3}, {4177,5243,3},{1038,10445,131},{1042,10450,3},{1053,10458,3},{1053,10467,3}, {1053,10487,3},{1063,10497,3},{1072,10510,3},{1075,10510,3},{1077,10507,3}, {1088,10503,3},{1093,10507,3},{1095,10510,3},{1095,10512,3},{1092,10512,3}, {1088,10527,3},{1085,10535,3},{1090,10537,3},{1097,10543,3},{1095,10547,3}, {1095,10555,3},{1102,10578,3},{1092,10587,3},{1085,10587,3},{1083,10593,3}, {1090,10595,3},{1085,10602,3},{1080,10608,3},{1078,10618,3},{1077,10620,3}, {1087,10618,3},{1092,10615,3},{1093,10615,3},{1097,10615,3},{1098,10622,3}, {1105,10618,3},{1110,10615,3},{1108,10613,3},{1107,10612,3},{1108,10610,3}, {1115,10603,3},{1118,10602,3},{1120,10595,3},{1123,10592,3},{1127,10592,3}, {1130,10587,3},{1138,10588,3},{1143,10590,3},{1147,10588,3},{1155,10588,3}, {1157,10583,3},{1162,10582,3},{1162,10583,3},{1167,10585,3},{1167,10588,3}, {1165,10597,3},{1172,10602,3},{1177,10602,3},{1178,10605,3},{1175,10613,3}, {1175,10618,3},{1173,10627,3},{1168,10630,3},{1170,10638,3},{1167,10647,3}, {1168,10647,3},{1177,10642,3},{1182,10645,3},{1185,10645,3},{1187,10647,3}, {1197,10642,3},{1198,10647,3},{1195,10650,3},{1198,10652,3},{1198,10662,3}, {1197,10663,3},{1197,10667,3},{1198,10667,3},{1197,10672,3},{1207,10678,3}, {1207,10692,3},{1208,10698,3},{1213,10703,3},{1213,10705,3},{1228,10717,3}, {1233,10732,3},{1233,10735,3},{1225,10742,3},{1225,10743,3},{1230,10747,3}, {1233,10752,3},{1235,10755,3},{1242,10755,3},{1248,10758,3},{1252,10757,3}, {1255,10760,3},{1260,10760,3},{1265,10758,3},{1268,10758,3},{1272,10757,3}, {1280,10757,3},{1288,10752,3},{1295,10750,3},{1300,10750,3},{1302,10748,3}, {1338,10763,3},{1355,10763,3},{1360,10758,3},{1372,10753,3},{1380,10747,3}, {1385,10748,3},{1388,10747,3},{1392,10748,3},{1395,10745,3},{1398,10745,3}, {1400,10745,3},{1400,10738,3},{1403,10737,3},{1408,10737,3},{1412,10733,3}, {1425,10738,3},{1435,10738,3},{1443,10742,3},{1443,10743,3},{1442,10747,3}, {1445,10748,3},{1453,10752,3},{1455,10753,3},{1460,10753,3},{1465,10755,3}, {1470,10755,3},{1472,10755,3},{1475,10752,3},{1477,10753,3},{1480,10752,3}, {1488,10758,3},{1497,10748,3},{1502,10747,3},{1505,10753,3},{1505,10758,3}, {1507,10762,3},{1510,10760,3},{1513,10765,3},{1522,10765,3},{1520,10768,3}, {1527,10770,3},{1535,10762,3},{1538,10760,3},{1542,10760,3},{1542,10755,3}, {1543,10752,3},{1550,10752,3},{1548,10748,3},{1552,10747,3},{1550,10745,3}, {1552,10743,3},{1550,10740,3},{1560,10735,3},{1562,10730,3},{1565,10727,3}, {1573,10725,3},{1577,10718,3},{1578,10718,3},{1587,10720,3},{1587,10723,3}, {1585,10727,3},{1592,10733,3},{1592,10740,3},{1602,10748,3},{1605,10745,3}, {1608,10747,3},{1608,10742,3},{1607,10740,3},{1607,10733,3},{1615,10725,3}, {1615,10720,3},{1618,10717,3},{1627,10715,3},{1630,10710,3},{1630,10702,3}, {1630,10698,3},{1635,10698,3},{1640,10690,3},{1642,10692,3},{1642,10688,3}, {1647,10690,3},{1652,10690,3},{1653,10687,3},{1653,10683,3},{1648,10682,3}, {1647,10678,3},{1643,10678,3},{1642,10675,3},{1643,10675,3},{1643,10672,3}, {1645,10668,3},{1653,10667,3},{1658,10667,3},{1660,10667,3},{1658,10663,3}, {1662,10663,3},{1662,10660,3},{1668,10657,3},{1700,10657,3},{1697,10652,3}, {1698,10645,3},{1703,10642,3},{1707,10642,3},{1712,10638,3},{1720,10633,3}, {1723,10633,3},{1725,10632,3},{1728,10632,3},{1728,10628,3},{1727,10627,3}, {1725,10625,3},{1727,10622,3},{1740,10603,3},{1762,10587,3},{1767,10575,3}, {1775,10572,3},{1778,10568,3},{1782,10568,3},{1787,10562,3},{1798,10563,3}, {1800,10562,3},{1802,10558,3},{1805,10558,3},{1808,10553,3},{1812,10553,3}, {1813,10550,3},{1817,10550,3},{1820,10548,3},{1820,10543,3},{1820,10542,3}, {1815,10540,3},{1820,10532,3},{1827,10532,3},{1825,10527,3},{1828,10523,3}, {1832,10518,3},{1838,10518,3},{1840,10515,3},{1845,10510,3},{1860,10515,3}, {1860,10518,3},{1862,10520,3},{1865,10520,3},{1867,10515,3},{1870,10513,3}, {1870,10510,3},{1872,10503,3},{1873,10502,3},{1873,10495,3},{1878,10492,3}, {1878,10485,3},{1880,10473,3},{1883,10470,3},{1883,10467,3},{1888,10462,3}, {1890,10457,3},{1898,10452,3},{1898,10445,3},{1907,10438,3},{1908,10432,3}, {1912,10428,3},{1912,10422,3},{1915,10422,3},{1917,10420,3},{1920,10417,3}, {1920,10412,3},{1923,10408,3},{1923,10405,3},{1923,10400,3},{1927,10393,3}, {1930,10392,3},{1930,10390,3},{1930,10388,3},{1932,10388,3},{1935,10393,3}, {1938,10397,3},{1942,10402,3},{1942,10405,3},{1942,10407,3},{1945,10407,3}, {1948,10408,3},{1950,10412,3},{1952,10410,3},{1957,10410,3},{1957,10407,3}, {1962,10403,3},{1963,10403,3},{1967,10402,3},{1970,10403,3},{1967,10410,3}, {1967,10413,3},{1968,10415,3},{1970,10425,3},{1968,10432,3},{1967,10432,3}, {1968,10437,3},{1970,10442,3},{1965,10445,3},{1963,10448,3},{1962,10452,3}, {1960,10457,3},{1962,10460,3},{1962,10463,3},{1968,10467,3},{1975,10472,3}, {1975,10477,3},{1978,10478,3},{1978,10483,3},{1985,10485,3},{1987,10483,3}, {1987,10478,3},{1988,10478,3},{1993,10485,3},{1997,10490,3},{1998,10490,3}, {1998,10495,3},{2000,10498,3},{2007,10497,3},{2010,10500,3},{2010,10497,3}, {2013,10493,3},{2018,10495,3},{2022,10487,3},{2023,10480,3},{2020,10473,3}, {2022,10468,3},{2028,10468,3},{2028,10472,3},{2033,10472,3},{2037,10465,3}, {2042,10462,3},{2040,10452,3},{2042,10442,3},{2045,10438,3},{2047,10438,3}, {2052,10447,3},{2053,10447,3},{2052,10452,3},{2052,10455,3},{2055,10458,3}, {2058,10458,3},{2063,10463,3},{2067,10465,3},{2072,10450,3},{2077,10448,3}, {2078,10442,3},{2082,10438,3},{2083,10435,3},{2087,10433,3},{2090,10430,3}, {2090,10427,3},{2090,10425,3},{2093,10423,3},{2095,10418,3},{2095,10413,3}, {2098,10410,3},{2095,10407,3},{2090,10403,3},{2090,10398,3},{2088,10393,3}, {2088,10390,3},{2085,10387,3},{2085,10380,3},{2080,10378,3},{2075,10378,3}, {2073,10373,3},{2067,10373,3},{2065,10368,3},{2073,10362,3},{2075,10352,3}, {2083,10345,3},{2082,10345,3},{2080,10343,3},{2078,10338,3},{2082,10330,3}, {2083,10328,3},{2082,10325,3},{2085,10317,3},{2093,10308,3},{2097,10308,3}, {2105,10303,3},{2108,10297,3},{2115,10295,3},{2117,10292,3},{2123,10292,3}, {2125,10288,3},{2125,10282,3},{2130,10287,3},{2130,10290,3},{2138,10290,3}, {2145,10295,3},{2147,10293,3},{2143,10288,3},{2147,10290,3},{2158,10300,3}, {2173,10298,3},{2175,10297,3},{2173,10295,3},{2172,10287,3},{2182,10287,3}, {2185,10285,3},{2185,10282,3},{2182,10280,3},{2173,10282,3},{2167,10275,3}, {2165,10268,3},{2173,10265,3},{2178,10267,3},{2185,10265,3},{2187,10263,3}, {2193,10260,3},{2197,10250,3},{2200,10250,3},{2203,10252,3},{2205,10245,3}, {2212,10242,3},{2220,10232,3},{2222,10227,3},{2223,10223,3},{2228,10222,3}, {2230,10218,3},{2233,10218,3},{2240,10213,3},{2243,10218,3},{2242,10225,3}, {2248,10227,3},{2263,10242,3},{2265,10238,3},{2268,10238,3},{2268,10243,3}, {2275,10245,3},{2277,10248,3},{2275,10255,3},{2270,10257,3},{2270,10258,3}, {2272,10260,3},{2270,10263,3},{2268,10268,3},{2262,10278,3},{2260,10287,3}, {2248,10293,3},{2247,10298,3},{2243,10303,3},{2245,10307,3},{2250,10307,3}, {2255,10317,3},{2258,10315,3},{2263,10318,3},{2267,10328,3},{2273,10330,3}, {2280,10333,3},{2278,10337,3},{2275,10343,3},{2270,10343,3},{2265,10345,3}, {2258,10353,3},{2265,10358,3},{2270,10357,3},{2273,10360,3},{2278,10362,3}, {2278,10365,3},{2260,10383,3},{2250,10397,3},{2253,10402,3},{2268,10403,3}, {2280,10412,3},{2283,10425,3},{2283,10427,3},{2280,10425,3},{2273,10427,3}, {2268,10437,3},{2275,10448,3},{2285,10458,3},{2282,10460,3},{2283,10463,3}, {2282,10467,3},{2282,10473,3},{2290,10478,3},{2293,10487,3},{2310,10482,3}, {2312,10488,3},{2318,10490,3},{2317,10495,3},{2318,10497,3},{2325,10508,3}, {2325,10513,3},{2327,10518,3},{2325,10522,3},{2327,10523,3},{2333,10527,3}, {2338,10533,3},{2337,10535,3},{2332,10535,3},{2328,10540,3},{2328,10545,3}, {2320,10550,3},{2318,10552,3},{2315,10555,3},{2307,10557,3},{2305,10572,3}, {2303,10573,3},{2302,10578,3},{2292,10587,3},{2293,10592,3},{2293,10598,3}, {2298,10602,3},{2298,10608,3},{2297,10620,3},{2292,10625,3},{2287,10625,3}, {2285,10628,3},{2287,10642,3},{2290,10650,3},{2293,10652,3},{2292,10655,3}, {2292,10660,3},{2287,10662,3},{2285,10665,3},{2288,10668,3},{2287,10670,3}, {2285,10672,3},{2282,10677,3},{2280,10677,3},{2280,10682,3},{2278,10682,3}, {2275,10677,3},{2270,10677,3},{2265,10673,3},{2258,10672,3},{2257,10668,3}, {2258,10665,3},{2262,10663,3},{2260,10660,3},{2248,10658,3},{2245,10655,3}, {2235,10657,3},{2233,10665,3},{2222,10670,3},{2220,10667,3},{2208,10670,3}, {2203,10670,3},{2200,10667,3},{2197,10668,3},{2198,10673,3},{2202,10675,3}, {2197,10682,3},{2197,10690,3},{2193,10693,3},{2193,10703,3},{2190,10705,3}, {2185,10702,3},{2182,10702,3},{2180,10710,3},{2170,10722,3},{2173,10730,3}, {2168,10735,3},{2162,10735,3},{2160,10738,3},{2165,10742,3},{2165,10745,3}, {2163,10748,3},{2160,10748,3},{2158,10753,3},{2162,10757,3},{2162,10767,3}, {2167,10778,3},{2165,10787,3},{2160,10790,3},{2158,10793,3},{2153,10795,3}, {2153,10807,3},{2155,10798,3},{2152,10803,3},{2152,10802,3},{2148,10802,3}, {2150,10805,3},{2148,10808,3},{2147,10800,3},{2143,10797,3},{2148,10798,3}, {2147,10795,3},{2145,10795,3},{2145,10792,3},{2147,10792,3},{2148,10793,3}, {2152,10792,3},{2153,10788,3},{2152,10787,3},{2152,10785,3},{2148,10783,3}, {2152,10783,3},{2152,10782,3},{2148,10782,3},{2152,10778,3},{2150,10775,3}, {2150,10778,3},{2148,10780,3},{2148,10778,3},{2145,10778,3},{2145,10777,3}, {2142,10775,3},{2142,10772,3},{2138,10770,3},{2140,10767,3},{2138,10767,3}, {2138,10763,3},{2135,10763,3},{2133,10762,3},{2130,10760,3},{2128,10757,3}, {2133,10753,3},{2135,10753,3},{2133,10752,3},{2130,10753,3},{2130,10748,3}, {2128,10748,3},{2132,10747,3},{2133,10742,3},{2130,10742,3},{2128,10745,3}, {2127,10737,3},{2123,10737,3},{2118,10735,3},{2118,10738,3},{2113,10738,3}, {2110,10737,3},{2108,10737,3},{2107,10735,3},{2102,10737,3},{2100,10733,3}, {2100,10722,3},{2098,10723,3},{2097,10720,3},{2093,10720,3},{2093,10715,3}, {2095,10707,3},{2100,10710,3},{2103,10715,3},{2103,10713,3},{2100,10708,3}, {2103,10708,3},{2100,10707,3},{2103,10705,3},{2100,10705,3},{2103,10703,3}, {2100,10703,3},{2102,10700,3},{2098,10702,3},{2095,10697,3},{2097,10688,3}, {2100,10687,3},{2098,10687,3},{2098,10685,3},{2097,10687,3},{2093,10692,3}, {2090,10695,3},{2090,10690,3},{2093,10688,3},{2090,10688,3},{2087,10687,3}, {2093,10683,3},{2093,10677,3},{2097,10678,3},{2097,10680,3},{2097,10683,3}, {2100,10680,3},{2102,10682,3},{2103,10678,3},{2102,10678,3},{2102,10675,3}, {2103,10673,3},{2100,10672,3},{2102,10665,3},{2100,10668,3},{2100,10665,3}, {2095,10668,3},{2093,10677,3},{2088,10673,3},{2090,10672,3},{2088,10670,3}, {2083,10675,3},{2080,10675,3},{2080,10672,3},{2075,10675,3},{2073,10678,3}, {2068,10680,3},{2070,10677,3},{2070,10673,3},{2070,10667,3},{2067,10670,3}, {2063,10665,3},{2063,10662,3},{2067,10658,3},{2063,10660,3},{2062,10663,3}, {2058,10662,3},{2055,10655,3},{2053,10652,3},{2053,10655,3},{2055,10658,3}, {2052,10657,3},{2048,10658,3},{2043,10652,3},{2045,10657,3},{2043,10660,3}, {2038,10658,3},{2037,10657,3},{2033,10658,3},{2030,10657,3},{2028,10657,3}, {2032,10652,3},{2030,10650,3},{2030,10653,3},{2027,10655,3},{2022,10648,3}, {2020,10638,3},{2018,10635,3},{2013,10632,3},{2003,10623,3},{2000,10620,3}, {2003,10620,3},{2000,10618,3},{1997,10610,3},{2003,10612,3},{2000,10610,3}, {1997,10608,3},{2000,10603,3},{1992,10595,3},{1988,10595,3},{1985,10593,3}, {1980,10593,3},{1980,10592,3},{1977,10587,3},{1977,10593,3},{1972,10590,3}, {1972,10588,3},{1970,10587,3},{1965,10583,3},{1960,10582,3},{1958,10582,3}, {1962,10582,3},{1960,10578,3},{1958,10578,3},{1960,10582,3},{1957,10582,3}, {1942,10582,3},{1940,10577,3},{1932,10582,3},{1932,10580,3},{1930,10582,3}, {1923,10577,3},{1923,10573,3},{1922,10575,3},{1910,10573,3},{1908,10570,3}, {1908,10567,3},{1908,10565,3},{1900,10560,3},{1890,10563,3},{1885,10572,3}, {1885,10567,3},{1882,10570,3},{1882,10572,3},{1877,10575,3},{1873,10573,3}, {1870,10575,3},{1867,10575,3},{1868,10577,3},{1875,10575,3},{1875,10578,3}, {1867,10580,3},{1857,10583,3},{1847,10592,3},{1847,10595,3},{1840,10597,3}, {1833,10603,3},{1828,10612,3},{1825,10610,3},{1827,10617,3},{1822,10625,3}, {1812,10635,3},{1810,10632,3},{1810,10633,3},{1807,10635,3},{1810,10637,3}, {1810,10640,3},{1812,10642,3},{1812,10643,3},{1808,10642,3},{1803,10645,3}, {1795,10653,3},{1792,10648,3},{1788,10645,3},{1787,10643,3},{1787,10645,3}, {1778,10645,3},{1772,10650,3},{1770,10650,3},{1770,10647,3},{1773,10642,3}, {1777,10635,3},{1777,10628,3},{1775,10630,3},{1773,10643,3},{1772,10638,3}, {1770,10637,3},{1768,10638,3},{1768,10640,3},{1770,10640,3},{1772,10642,3}, {1768,10650,3},{1757,10658,3},{1747,10663,3},{1733,10675,3},{1708,10712,3}, {1702,10712,3},{1702,10713,3},{1692,10720,3},{1687,10715,3},{1687,10718,3}, {1690,10720,3},{1690,10722,3},{1668,10747,3},{1658,10763,3},{1657,10762,3}, {1663,10750,3},{1665,10745,3},{1663,10745,3},{1658,10757,3},{1658,10760,3}, {1655,10763,3},{1655,10760,3},{1655,10767,3},{1652,10765,3},{1652,10767,3}, {1650,10767,3},{1652,10770,3},{1637,10783,3},{1638,10778,3},{1630,10782,3}, {1628,10790,3},{1630,10793,3},{1633,10793,3},{1635,10795,3},{1632,10800,3}, {1635,10803,3},{1623,10810,3},{1627,10805,3},{1625,10805,3},{1623,10807,3}, {1622,10820,3},{1615,10815,3},{1612,10813,3},{1608,10818,3},{1607,10820,3}, {1608,10823,3},{1603,10823,3},{1600,10820,3},{1602,10825,3},{1602,10827,3}, {1608,10823,3},{1612,10825,3},{1613,10822,3},{1615,10823,3},{1615,10827,3}, {1613,10832,3},{1615,10833,3},{1612,10835,3},{1610,10832,3},{1610,10827,3}, {1607,10827,3},{1598,10828,3},{1593,10832,3},{1588,10838,3},{1587,10837,3}, {1588,10840,3},{1580,10842,3},{1568,10848,3},{1555,10860,3},{1552,10863,3}, {1550,10867,3},{1552,10868,3},{1548,10867,3},{1548,10863,3},{1545,10863,3}, {1543,10867,3},{1548,10870,3},{1543,10872,3},{1538,10877,3},{1532,10877,3}, {1533,10878,3},{1535,10882,3},{1535,10878,3},{1538,10878,3},{1540,10882,3}, {1542,10880,3},{1542,10883,3},{1537,10883,3},{1535,10888,3},{1528,10888,3}, {1525,10895,3},{1522,10893,3},{1522,10890,3},{1520,10892,3},{1520,10890,3}, {1515,10890,3},{1515,10887,3},{1513,10888,3},{1512,10890,3},{1513,10890,3}, {1500,10893,3},{1483,10900,3},{1483,10898,3},{1482,10902,3},{1472,10908,3}, {1468,10908,3},{1467,10908,3},{1468,10907,3},{1458,10908,3},{1457,10907,3}, {1455,10907,3},{1457,10908,3},{1450,10910,3},{1447,10913,3},{1437,10913,3}, {1428,10918,3},{1423,10920,3},{1420,10920,3},{1413,10923,3},{1413,10922,3}, {1417,10920,3},{1417,10918,3},{1417,10917,3},{1413,10918,3},{1412,10922,3}, {1402,10927,3},{1392,10927,3},{1388,10928,3},{1388,10932,3},{1382,10930,3}, {1377,10930,3},{1375,10927,3},{1387,10927,3},{1390,10925,3},{1385,10923,3}, {1382,10922,3},{1380,10923,3},{1378,10923,3},{1377,10925,3},{1373,10922,3}, {1368,10925,3},{1363,10923,3},{1358,10928,3},{1357,10930,3},{1355,10928,3}, {1353,10928,3},{1355,10928,3},{1362,10923,3},{1365,10922,3},{1362,10922,3}, {1355,10927,3},{1352,10927,3},{1352,10932,3},{1350,10930,3},{1347,10932,3}, {1347,10933,3},{1345,10933,3},{1342,10933,3},{1342,10928,3},{1343,10927,3}, {1345,10930,3},{1348,10928,3},{1348,10925,3},{1348,10923,3},{1338,10923,3}, {1338,10925,3},{1335,10927,3},{1335,10930,3},{1333,10930,3},{1333,10928,3}, {1330,10930,3},{1332,10927,3},{1328,10925,3},{1325,10927,3},{1323,10930,3}, {1327,10928,3},{1330,10930,3},{1327,10932,3},{1313,10930,3},{1310,10933,3}, {1308,10932,3},{1307,10935,3},{1290,10947,3},{1285,10947,3},{1285,10943,3}, {1287,10945,3},{1287,10943,3},{1282,10937,3},{1275,10938,3},{1268,10943,3}, {1265,10947,3},{1263,10943,3},{1257,10945,3},{1257,10943,3},{1260,10942,3}, {1262,10940,3},{1263,10942,3},{1265,10942,3},{1268,10940,3},{1267,10938,3}, {1265,10938,3},{1263,10937,3},{1265,10935,3},{1270,10938,3},{1277,10937,3}, {1280,10937,3},{1280,10935,3},{1277,10933,3},{1268,10923,3},{1263,10920,3}, {1262,10922,3},{1258,10920,3},{1253,10922,3},{1257,10922,3},{1258,10923,3}, {1258,10925,3},{1255,10923,3},{1253,10923,3},{1247,10930,3},{1243,10930,3}, {1240,10935,3},{1238,10933,3},{1237,10933,3},{1238,10932,3},{1235,10930,3}, {1235,10927,3},{1243,10922,3},{1247,10917,3},{1245,10915,3},{1243,10917,3}, {1243,10915,3},{1240,10917,3},{1238,10920,3},{1233,10922,3},{1230,10925,3}, {1228,10922,3},{1227,10922,3},{1227,10917,3},{1225,10920,3},{1222,10920,3}, {1220,10922,3},{1220,10918,3},{1218,10922,3},{1215,10920,3},{1213,10923,3}, {1210,10920,3},{1208,10920,3},{1198,10925,3},{1197,10928,3},{1193,10928,3}, {1192,10927,3},{1187,10928,3},{1187,10925,3},{1188,10922,3},{1198,10923,3}, {1205,10920,3},{1212,10918,3},{1210,10917,3},{1198,10922,3},{1193,10918,3}, {1190,10913,3},{1185,10912,3},{1182,10913,3},{1182,10915,3},{1187,10920,3}, {1183,10918,3},{1182,10920,3},{1180,10920,3},{1172,10925,3},{1172,10920,3}, {1168,10920,3},{1167,10918,3},{1163,10918,3},{1157,10913,3},{1158,10910,3}, {1158,10907,3},{1162,10905,3},{1163,10903,3},{1163,10902,3},{1158,10905,3}, {1157,10903,3},{1153,10903,3},{1153,10902,3},{1153,10903,3},{1135,10902,3}, {1132,10897,3},{1130,10893,3},{1133,10887,3},{1132,10880,3},{1128,10877,3}, {1118,10873,3},{1117,10872,3},{1118,10867,3},{1118,10858,3},{1115,10855,3}, {1110,10850,3},{1105,10848,3},{1103,10838,3},{1095,10835,3},{1095,10832,3}, {1092,10830,3},{1093,10828,3},{1095,10823,3},{1092,10810,3},{1085,10807,3}, {1070,10800,3},{1072,10790,3},{1070,10783,3},{1063,10777,3},{1057,10758,3}, {1050,10752,3},{1047,10745,3},{1047,10738,3},{1045,10733,3},{1038,10725,3}, {1040,10723,3},{1040,10718,3},{1042,10722,3},{1048,10717,3},{1047,10715,3}, {1047,10713,3},{1048,10712,3},{1048,10707,3},{1050,10707,3},{1048,10705,3}, {1047,10703,3},{1050,10702,3},{1048,10700,3},{1050,10700,3},{1050,10702,3}, {1053,10703,3},{1055,10703,3},{1058,10703,3},{1063,10700,3},{1063,10703,3}, {1067,10702,3},{1070,10698,3},{1067,10698,3},{1065,10702,3},{1063,10700,3}, {1058,10702,3},{1057,10702,3},{1053,10702,3},{1055,10700,3},{1062,10698,3}, {1055,10698,3},{1052,10702,3},{1050,10698,3},{1047,10697,3},{1050,10697,3}, {1053,10693,3},{1057,10693,3},{1060,10693,3},{1065,10688,3},{1063,10683,3}, {1067,10680,3},{1068,10677,3},{1067,10673,3},{1058,10677,3},{1057,10673,3}, {1052,10673,3},{1050,10668,3},{1052,10665,3},{1048,10667,3},{1045,10663,3}, {1043,10658,3},{1047,10658,3},{1048,10658,3},{1043,10658,3},{1045,10663,3}, {1047,10665,3},{1043,10667,3},{1047,10673,3},{1038,10680,3},{1030,10680,3}, {1028,10678,3},{1028,10668,3},{1028,10665,3},{1032,10642,3},{1027,10648,3}, {1020,10670,3},{1015,10680,3},{1012,10680,3},{1008,10678,3},{1003,10672,3}, {1008,10670,3},{1003,10667,3},{1000,10668,3},{1000,10665,3},{997,10665,3}, {998,10660,3},{1003,10648,3},{1022,10637,3},{1025,10632,3},{1025,10628,3}, {1022,10635,3},{1013,10638,3},{1000,10648,3},{997,10657,3},{990,10668,3}, {987,10670,3},{985,10668,3},{983,10667,3},{987,10668,3},{988,10667,3},{983,10665,3}, {982,10660,3},{992,10650,3},{998,10638,3},{1015,10622,3},{1023,10612,3}, {1018,10617,3},{1015,10617,3},{1012,10618,3},{1007,10627,3},{1000,10632,3}, {985,10648,3},{980,10652,3},{977,10652,3},{973,10657,3},{965,10658,3},{958,10655,3}, {955,10650,3},{953,10640,3},{957,10635,3},{963,10625,3},{978,10608,3},{992,10598,3}, {997,10592,3},{1000,10582,3},{977,10605,3},{965,10612,3},{955,10618,3}, {952,10622,3},{948,10622,3},{942,10617,3},{940,10620,3},{937,10620,3},{930,10600,3}, {913,10553,3},{905,10545,3},{900,10542,3},{900,10540,3},{883,10535,3},{877,10530,3}, {873,10520,3},{863,10512,3},{858,10502,3},{857,10485,3},{860,10473,3},{862,10472,3}, {860,10477,3},{865,10483,3},{870,10482,3},{868,10490,3},{872,10497,3},{870,10487,3}, {872,10485,3},{872,10490,3},{873,10492,3},{880,10492,3},{882,10493,3},{877,10482,3}, {880,10480,3},{888,10482,3},{895,10482,3},{898,10483,3},{900,10480,3},{903,10482,3}, {905,10482,3},{915,10482,3},{955,10483,3},{968,10487,3},{982,10490,3},{983,10495,3}, {992,10503,3},{993,10507,3},{993,10508,3},{985,10512,3},{992,10510,3},{995,10510,3}, {1002,10507,3},{1010,10498,3},{1010,10490,3},{1020,10480,3},{1023,10473,3}, {1020,10468,3},{1015,10465,3},{1015,10462,3},{1027,10458,3},{1028,10457,3}, {1028,10453,3},{1033,10453,3},{1037,10450,3},{1038,10453,3},{1042,10452,3}, {1038,10450,3},{1038,10445,3},{1045,10443,3},{1045,10440,3},{1048,10437,3}, {1050,10435,3},{1048,10430,3},{1053,10428,3},{1057,10425,3},{1057,10422,3}, {1053,10418,3},{1057,10417,3},{1055,10410,3},{1058,10393,3},{1065,10390,3}, {1065,10387,3},{1070,10387,3},{1060,10387,3},{1055,10383,3},{1053,10377,3}, {1055,10370,3},{1052,10373,3},{1050,10375,3},{1050,10370,3},{1048,10363,3}, {1050,10362,3},{1055,10362,3},{1053,10357,3},{1060,10353,3},{1060,10350,3}, {1062,10350,3},{1072,10357,3},{1073,10368,3},{1077,10367,3},{1077,10368,3}, {1080,10368,3},{1083,10372,3},{1087,10372,3},{1098,10367,3},{1103,10367,3}, {1107,10367,3},{1108,10360,3},{1115,10355,3},{1117,10350,3},{1115,10350,3}, {1113,10348,3},{1115,10347,3},{1113,10348,3},{1108,10345,3},{1108,10347,3}, {1097,10342,3},{1088,10342,3},{1087,10335,3},{1090,10333,3},{1093,10328,3}, {1088,10322,3},{1087,10322,3},{1087,10313,3},{1090,10313,3},{1093,10310,3}, {1097,10312,3},{1108,10310,3},{1108,10312,3},{1115,10312,3},{1122,10308,3}, {1122,10305,3},{1123,10308,3},{1128,10308,3},{1130,10312,3},{1132,10313,3}, {1130,10315,3},{1135,10313,3},{1135,10310,3},{1142,10310,3},{1143,10307,3}, {1143,10308,3},{1147,10313,3},{1143,10317,3},{1147,10315,3},{1150,10313,3}, {1148,10313,3},{1147,10310,3},{1150,10307,3},{1155,10305,3},{1158,10305,3}, {1160,10303,3},{1155,10303,3},{1153,10298,3},{1155,10297,3},{1157,10298,3}, {1155,10300,3},{1157,10298,3},{1163,10298,3},{1163,10300,3},{1162,10302,3}, {1163,10305,3},{1163,10302,3},{1165,10302,3},{1165,10300,3},{1167,10300,3}, {1167,10298,3},{1163,10297,3},{1167,10297,3},{1172,10302,3},{1170,10307,3}, {1172,10308,3},{1172,10305,3},{1173,10302,3},{1172,10298,3},{1177,10295,3}, {1178,10292,3},{1183,10290,3},{1178,10290,3},{1175,10295,3},{1172,10297,3}, {1165,10295,3},{1163,10297,3},{1160,10297,3},{1157,10295,3},{1163,10292,3}, {1165,10293,3},{1175,10292,3},{1183,10285,3},{1190,10283,3},{1198,10278,3}, {1205,10278,3},{1217,10272,3},{1237,10273,3},{1240,10278,3},{1243,10278,3}, {1247,10273,3},{1252,10272,3},{1255,10268,3},{1260,10263,3},{1267,10250,3}, {1273,10250,3},{1275,10252,3},{1280,10253,3},{1285,10250,3},{1288,10252,3}, {1293,10248,3},{1295,10250,3},{1298,10250,3},{1300,10252,3},{1302,10250,3}, {1307,10247,3},{1312,10242,3},{1323,10237,3},{1328,10235,3},{1350,10237,3}, {1355,10233,3},{1358,10237,3},{1357,10245,3},{1357,10253,3},{1360,10260,3}, {1360,10262,3},{1365,10257,3},{1368,10257,3},{1377,10272,3},{1393,10278,3}, {1402,10290,3},{1408,10290,3},{1413,10293,3},{1418,10295,3},{1423,10303,3}, {1430,10310,3},{1433,10318,3},{1433,10323,3},{1435,10328,3},{1435,10340,3}, {1440,10345,3},{1437,10347,3},{1443,10357,3},{1440,10362,3},{1442,10365,3}, {1445,10367,3},{1443,10370,3},{1438,10370,3},{1437,10380,3},{1438,10385,3}, {1435,10388,3},{1433,10392,3},{1435,10395,3},{1437,10395,3},{1437,10400,3}, {1435,10403,3},{1438,10413,3},{1437,10415,3},{1437,10417,3},{1442,10420,3}, {1438,10420,3},{1438,10422,3},{1442,10427,3},{1438,10433,3},{1437,10443,3}, {1435,10447,3},{1438,10452,3},{1437,10455,3},{1437,10458,3},{1443,10465,3}, {1440,10468,3},{1443,10472,3},{1442,10473,3},{1445,10480,3},{1445,10482,3}, {1442,10485,3},{1442,10490,3},{1438,10500,3},{1432,10500,3},{1425,10503,3}, {1422,10508,3},{1425,10515,3},{1432,10518,3},{1435,10518,3},{1435,10522,3}, {1428,10522,3},{1418,10528,3},{1417,10533,3},{1412,10537,3},{1412,10547,3}, {1417,10557,3},{1415,10558,3},{1413,10563,3},{1410,10565,3},{1412,10567,3}, {1410,10570,3},{1412,10573,3},{1408,10578,3},{1402,10580,3},{1393,10592,3}, {1392,10597,3},{1393,10602,3},{1392,10610,3},{1400,10612,3},{1405,10618,3}, {1408,10617,3},{1412,10613,3},{1418,10610,3},{1423,10603,3},{1430,10603,3}, {1433,10600,3},{1437,10600,3},{1435,10607,3},{1437,10607,3},{1435,10608,3}, {1438,10610,3},{1437,10617,3},{1438,10622,3},{1442,10623,3},{1450,10625,3}, {1448,10627,3},{1448,10628,3},{1445,10633,3},{1445,10642,3},{1448,10643,3}, {1452,10643,3},{1452,10648,3},{1457,10647,3},{1460,10653,3},{1455,10657,3}, {1452,10657,3},{1450,10660,3},{1447,10663,3},{1447,10667,3},{1443,10672,3}, {1445,10673,3},{1435,10680,3},{1430,10685,3},{1435,10692,3},{1433,10697,3}, {1437,10698,3},{1437,10700,3},{1442,10705,3},{1445,10705,3},{1440,10712,3}, {1443,10717,3},{1447,10720,3},{1450,10720,3},{1450,10725,3},{1453,10725,3}, {1460,10732,3},{1460,10735,3},{1457,10737,3},{1455,10743,3},{1455,10745,3}, {1463,10747,3},{1465,10750,3},{1470,10755,3},{1465,10755,3},{1460,10753,3}, {1455,10753,3},{1453,10752,3},{1445,10748,3},{1442,10747,3},{1443,10743,3}, {1443,10742,3},{1435,10738,3},{1425,10738,3},{1412,10733,3},{1408,10737,3}, {1403,10737,3},{1400,10738,3},{1400,10745,3},{1398,10745,3},{1395,10745,3}, {1392,10748,3},{1388,10747,3},{1385,10748,3},{1380,10747,3},{1372,10753,3}, {1360,10758,3},{1355,10763,3},{1338,10763,3},{1302,10748,3},{1300,10750,3}, {1295,10750,3},{1288,10752,3},{1280,10757,3},{1272,10757,3},{1268,10758,3}, {1265,10758,3},{1260,10760,3},{1255,10760,3},{1252,10757,3},{1248,10758,3}, {1242,10755,3},{1235,10755,3},{1233,10752,3},{1230,10747,3},{1225,10743,3}, {1225,10742,3},{1233,10735,3},{1233,10732,3},{1228,10717,3},{1213,10705,3}, {1213,10703,3},{1208,10698,3},{1207,10692,3},{1207,10678,3},{1197,10672,3}, {1198,10667,3},{1197,10667,3},{1197,10663,3},{1198,10662,3},{1198,10652,3}, {1195,10650,3},{1198,10647,3},{1197,10642,3},{1187,10647,3},{1185,10645,3}, {1182,10645,3},{1177,10642,3},{1168,10647,3},{1167,10647,3},{1170,10638,3}, {1168,10630,3},{1173,10627,3},{1175,10618,3},{1175,10613,3},{1178,10605,3}, {1177,10602,3},{1172,10602,3},{1165,10597,3},{1167,10588,3},{1167,10585,3}, {1162,10583,3},{1162,10582,3},{1157,10583,3},{1155,10588,3},{1147,10588,3}, {1143,10590,3},{1138,10588,3},{1130,10587,3},{1127,10592,3},{1123,10592,3}, {1120,10595,3},{1118,10602,3},{1115,10603,3},{1108,10610,3},{1107,10612,3}, {1108,10613,3},{1110,10615,3},{1105,10618,3},{1098,10622,3},{1097,10615,3}, {1093,10615,3},{1092,10615,3},{1087,10618,3},{1077,10620,3},{1078,10618,3}, {1080,10608,3},{1085,10602,3},{1090,10595,3},{1083,10593,3},{1085,10587,3}, {1092,10587,3},{1102,10578,3},{1095,10555,3},{1095,10547,3},{1097,10543,3}, {1090,10537,3},{1085,10535,3},{1088,10527,3},{1092,10512,3},{1095,10512,3}, {1095,10510,3},{1093,10507,3},{1088,10503,3},{1077,10507,3},{1075,10510,3}, {1072,10510,3},{1063,10497,3},{1053,10487,3},{1053,10467,3},{1053,10458,3}, {1042,10450,3},{1038,10445,3},{2035,10008,131},{2040,10013,3},{2063,10017,3}, {2075,10025,3},{2078,10035,3},{2083,10037,3},{2080,10052,3},{2083,10058,3}, {2087,10065,3},{2088,10063,3},{2087,10055,3},{2087,10052,3},{2088,10052,3}, {2095,10052,3},{2098,10055,3},{2102,10055,3},{2105,10062,3},{2113,10067,3}, {2118,10070,3},{2130,10072,3},{2130,10078,3},{2130,10085,3},{2137,10090,3}, {2140,10100,3},{2148,10113,3},{2153,10117,3},{2157,10115,3},{2155,10122,3}, {2148,10122,3},{2142,10120,3},{2138,10127,3},{2132,10123,3},{2130,10125,3}, {2125,10123,3},{2118,10128,3},{2118,10133,3},{2123,10140,3},{2125,10152,3}, {2123,10162,3},{2118,10160,3},{2120,10167,3},{2118,10170,3},{2115,10172,3}, {2113,10173,3},{2115,10178,3},{2122,10178,3},{2122,10183,3},{2125,10185,3}, {2128,10182,3},{2130,10177,3},{2132,10173,3},{2145,10177,3},{2148,10175,3}, {2152,10178,3},{2158,10177,3},{2160,10182,3},{2163,10183,3},{2165,10178,3}, {2170,10178,3},{2172,10175,3},{2182,10178,3},{2183,10175,3},{2187,10175,3}, {2188,10172,3},{2193,10170,3},{2193,10167,3},{2197,10163,3},{2200,10163,3}, {2212,10157,3},{2213,10160,3},{2217,10160,3},{2220,10158,3},{2225,10153,3}, {2228,10157,3},{2228,10163,3},{2237,10165,3},{2238,10168,3},{2242,10167,3}, {2245,10167,3},{2247,10168,3},{2250,10173,3},{2248,10180,3},{2238,10188,3}, {2238,10190,3},{2243,10192,3},{2243,10198,3},{2245,10203,3},{2243,10212,3}, {2240,10213,3},{2233,10218,3},{2230,10218,3},{2228,10222,3},{2223,10223,3}, {2222,10227,3},{2220,10232,3},{2212,10242,3},{2205,10245,3},{2203,10252,3}, {2200,10250,3},{2197,10250,3},{2193,10260,3},{2187,10263,3},{2185,10265,3}, {2178,10267,3},{2173,10265,3},{2165,10268,3},{2167,10275,3},{2173,10282,3}, {2182,10280,3},{2185,10282,3},{2185,10285,3},{2182,10287,3},{2172,10287,3}, {2173,10295,3},{2175,10297,3},{2173,10298,3},{2158,10300,3},{2147,10290,3}, {2143,10288,3},{2147,10293,3},{2145,10295,3},{2138,10290,3},{2130,10290,3}, {2130,10287,3},{2125,10282,3},{2125,10288,3},{2123,10292,3},{2117,10292,3}, {2115,10295,3},{2108,10297,3},{2105,10303,3},{2097,10308,3},{2093,10308,3}, {2085,10317,3},{2082,10325,3},{2083,10328,3},{2082,10330,3},{2078,10338,3}, {2080,10343,3},{2082,10345,3},{2083,10345,3},{2075,10352,3},{2073,10362,3}, {2065,10368,3},{2067,10373,3},{2073,10373,3},{2075,10378,3},{2080,10378,3}, {2085,10380,3},{2085,10387,3},{2088,10390,3},{2088,10393,3},{2090,10398,3}, {2090,10403,3},{2095,10407,3},{2098,10410,3},{2095,10413,3},{2095,10418,3}, {2093,10423,3},{2090,10425,3},{2090,10427,3},{2090,10430,3},{2087,10433,3}, {2083,10435,3},{2082,10438,3},{2078,10442,3},{2077,10448,3},{2072,10450,3}, {2067,10465,3},{2063,10463,3},{2058,10458,3},{2055,10458,3},{2052,10455,3}, {2052,10452,3},{2053,10447,3},{2052,10447,3},{2047,10438,3},{2045,10438,3}, {2042,10442,3},{2040,10452,3},{2042,10462,3},{2037,10465,3},{2033,10472,3}, {2028,10472,3},{2028,10468,3},{2022,10468,3},{2020,10473,3},{2023,10480,3}, {2022,10487,3},{2018,10495,3},{2013,10493,3},{2010,10497,3},{2010,10500,3}, {2007,10497,3},{2000,10498,3},{1998,10495,3},{1998,10490,3},{1997,10490,3}, {1993,10485,3},{1988,10478,3},{1987,10478,3},{1987,10483,3},{1985,10485,3}, {1978,10483,3},{1978,10478,3},{1975,10477,3},{1975,10472,3},{1968,10467,3}, {1962,10463,3},{1962,10460,3},{1960,10457,3},{1962,10452,3},{1963,10448,3}, {1965,10445,3},{1970,10442,3},{1968,10437,3},{1967,10432,3},{1968,10432,3}, {1970,10425,3},{1968,10415,3},{1967,10413,3},{1967,10410,3},{1970,10403,3}, {1967,10402,3},{1963,10403,3},{1962,10403,3},{1957,10407,3},{1957,10410,3}, {1952,10410,3},{1950,10412,3},{1948,10408,3},{1945,10407,3},{1942,10407,3}, {1942,10405,3},{1942,10402,3},{1938,10397,3},{1935,10393,3},{1932,10388,3}, {1930,10388,3},{1930,10390,3},{1930,10392,3},{1927,10393,3},{1923,10400,3}, {1923,10405,3},{1923,10408,3},{1920,10412,3},{1920,10417,3},{1917,10420,3}, {1915,10422,3},{1912,10422,3},{1912,10428,3},{1908,10432,3},{1907,10438,3}, {1898,10445,3},{1898,10452,3},{1890,10457,3},{1888,10462,3},{1883,10467,3}, {1883,10470,3},{1880,10473,3},{1878,10485,3},{1878,10492,3},{1873,10495,3}, {1873,10502,3},{1872,10503,3},{1870,10510,3},{1870,10513,3},{1867,10515,3}, {1865,10520,3},{1862,10520,3},{1860,10518,3},{1860,10515,3},{1845,10510,3}, {1840,10515,3},{1838,10518,3},{1832,10518,3},{1828,10523,3},{1825,10527,3}, {1827,10532,3},{1820,10532,3},{1815,10540,3},{1820,10542,3},{1820,10543,3}, {1820,10548,3},{1817,10550,3},{1813,10550,3},{1812,10553,3},{1808,10553,3}, {1805,10558,3},{1802,10558,3},{1800,10562,3},{1798,10563,3},{1787,10562,3}, {1782,10568,3},{1778,10568,3},{1775,10572,3},{1767,10575,3},{1762,10587,3}, {1740,10603,3},{1727,10622,3},{1725,10625,3},{1727,10627,3},{1728,10628,3}, {1728,10632,3},{1725,10632,3},{1723,10633,3},{1720,10633,3},{1712,10638,3}, {1707,10642,3},{1703,10642,3},{1698,10645,3},{1697,10652,3},{1700,10657,3}, {1668,10657,3},{1662,10660,3},{1662,10663,3},{1658,10663,3},{1660,10667,3}, {1658,10667,3},{1653,10667,3},{1645,10668,3},{1643,10672,3},{1643,10675,3}, {1642,10675,3},{1643,10678,3},{1647,10678,3},{1648,10682,3},{1653,10683,3}, {1653,10687,3},{1652,10690,3},{1647,10690,3},{1642,10688,3},{1642,10692,3}, {1640,10690,3},{1635,10698,3},{1630,10698,3},{1630,10702,3},{1630,10710,3}, {1627,10715,3},{1618,10717,3},{1615,10720,3},{1615,10725,3},{1607,10733,3}, {1607,10740,3},{1608,10742,3},{1608,10747,3},{1605,10745,3},{1602,10748,3}, {1592,10740,3},{1592,10733,3},{1585,10727,3},{1587,10723,3},{1587,10720,3}, {1578,10718,3},{1577,10718,3},{1573,10725,3},{1565,10727,3},{1562,10730,3}, {1560,10735,3},{1550,10740,3},{1552,10743,3},{1550,10745,3},{1552,10747,3}, {1548,10748,3},{1550,10752,3},{1543,10752,3},{1542,10755,3},{1542,10760,3}, {1538,10760,3},{1535,10762,3},{1527,10770,3},{1520,10768,3},{1522,10765,3}, {1513,10765,3},{1510,10760,3},{1507,10762,3},{1505,10758,3},{1505,10753,3}, {1502,10747,3},{1497,10748,3},{1488,10758,3},{1480,10752,3},{1477,10753,3}, {1475,10752,3},{1472,10755,3},{1470,10755,3},{1465,10750,3},{1463,10747,3}, {1455,10745,3},{1455,10743,3},{1457,10737,3},{1460,10735,3},{1460,10732,3}, {1453,10725,3},{1450,10725,3},{1450,10720,3},{1447,10720,3},{1443,10717,3}, {1440,10712,3},{1445,10705,3},{1442,10705,3},{1437,10700,3},{1437,10698,3}, {1433,10697,3},{1435,10692,3},{1430,10685,3},{1435,10680,3},{1445,10673,3}, {1443,10672,3},{1447,10667,3},{1447,10663,3},{1450,10660,3},{1452,10657,3}, {1455,10657,3},{1460,10653,3},{1457,10647,3},{1452,10648,3},{1452,10643,3}, {1448,10643,3},{1445,10642,3},{1445,10633,3},{1448,10628,3},{1448,10627,3}, {1450,10625,3},{1442,10623,3},{1438,10622,3},{1437,10617,3},{1438,10610,3}, {1435,10608,3},{1437,10607,3},{1435,10607,3},{1437,10600,3},{1433,10600,3}, {1430,10603,3},{1423,10603,3},{1418,10610,3},{1412,10613,3},{1408,10617,3}, {1405,10618,3},{1400,10612,3},{1392,10610,3},{1393,10602,3},{1392,10597,3}, {1393,10592,3},{1402,10580,3},{1408,10578,3},{1412,10573,3},{1410,10570,3}, {1412,10567,3},{1410,10565,3},{1413,10563,3},{1415,10558,3},{1417,10557,3}, {1412,10547,3},{1412,10537,3},{1417,10533,3},{1418,10528,3},{1428,10522,3}, {1435,10522,3},{1433,10523,3},{1437,10525,3},{1437,10530,3},{1440,10532,3}, {1438,10535,3},{1442,10538,3},{1443,10545,3},{1447,10545,3},{1455,10553,3}, {1462,10553,3},{1467,10552,3},{1473,10553,3},{1477,10552,3},{1482,10552,3}, {1483,10555,3},{1488,10553,3},{1490,10558,3},{1495,10555,3},{1498,10562,3}, {1500,10558,3},{1507,10555,3},{1507,10552,3},{1512,10547,3},{1520,10548,3}, {1525,10555,3},{1527,10560,3},{1533,10558,3},{1533,10550,3},{1535,10547,3}, {1538,10550,3},{1540,10557,3},{1543,10560,3},{1552,10560,3},{1558,10563,3}, {1567,10563,3},{1573,10560,3},{1575,10553,3},{1577,10550,3},{1575,10545,3}, {1580,10540,3},{1593,10535,3},{1598,10538,3},{1600,10543,3},{1602,10542,3}, {1605,10518,3},{1610,10508,3},{1613,10505,3},{1625,10502,3},{1635,10490,3}, {1645,10485,3},{1653,10475,3},{1657,10475,3},{1672,10477,3},{1680,10475,3}, {1687,10477,3},{1692,10475,3},{1702,10473,3},{1713,10480,3},{1728,10482,3}, {1738,10480,3},{1742,10478,3},{1745,10475,3},{1750,10472,3},{1753,10468,3}, {1765,10447,3},{1773,10440,3},{1782,10435,3},{1785,10428,3},{1798,10422,3}, {1810,10410,3},{1820,10407,3},{1832,10398,3},{1833,10395,3},{1828,10388,3}, {1828,10387,3},{1833,10380,3},{1833,10372,3},{1840,10360,3},{1843,10340,3}, {1842,10330,3},{1837,10325,3},{1835,10323,3},{1832,10328,3},{1828,10328,3}, {1823,10317,3},{1817,10313,3},{1812,10307,3},{1803,10307,3},{1798,10305,3}, {1798,10302,3},{1800,10295,3},{1797,10287,3},{1793,10278,3},{1788,10275,3}, {1787,10267,3},{1780,10268,3},{1783,10258,3},{1790,10262,3},{1795,10260,3}, {1797,10253,3},{1797,10248,3},{1798,10242,3},{1803,10237,3},{1805,10230,3}, {1807,10228,3},{1815,10218,3},{1820,10218,3},{1822,10208,3},{1820,10205,3}, {1815,10202,3},{1807,10193,3},{1803,10192,3},{1803,10188,3},{1807,10178,3}, {1803,10177,3},{1792,10173,3},{1790,10165,3},{1787,10162,3},{1785,10160,3}, {1787,10158,3},{1782,10157,3},{1778,10158,3},{1777,10152,3},{1773,10150,3}, {1773,10148,3},{1775,10148,3},{1773,10145,3},{1773,10142,3},{1772,10143,3}, {1768,10142,3},{1770,10138,3},{1765,10135,3},{1765,10132,3},{1757,10125,3}, {1753,10123,3},{1752,10118,3},{1747,10117,3},{1747,10112,3},{1750,10110,3}, {1750,10108,3},{1755,10103,3},{1757,10092,3},{1760,10092,3},{1765,10095,3}, {1772,10098,3},{1777,10098,3},{1778,10100,3},{1782,10098,3},{1783,10103,3}, {1790,10102,3},{1793,10108,3},{1797,10112,3},{1802,10113,3},{1805,10118,3}, {1812,10117,3},{1820,10118,3},{1822,10117,3},{1825,10115,3},{1830,10115,3}, {1833,10118,3},{1837,10110,3},{1843,10105,3},{1848,10110,3},{1852,10110,3}, {1852,10113,3},{1857,10118,3},{1860,10118,3},{1863,10123,3},{1868,10127,3}, {1872,10123,3},{1878,10125,3},{1888,10125,3},{1895,10130,3},{1898,10130,3}, {1903,10135,3},{1905,10135,3},{1913,10127,3},{1923,10125,3},{1930,10123,3}, {1933,10123,3},{1937,10120,3},{1947,10122,3},{1948,10127,3},{1952,10128,3}, {1957,10128,3},{1958,10125,3},{1960,10122,3},{1957,10120,3},{1957,10112,3}, {1962,10103,3},{1962,10090,3},{1952,10082,3},{1948,10078,3},{1952,10073,3}, {1955,10065,3},{1955,10062,3},{1952,10060,3},{1950,10058,3},{1952,10053,3}, {1952,10052,3},{1955,10048,3},{1958,10048,3},{1963,10045,3},{1970,10043,3}, {1975,10040,3},{1985,10045,3},{1988,10050,3},{2015,10058,3},{2017,10055,3}, {2015,10052,3},{2018,10047,3},{2023,10043,3},{2023,10042,3},{2035,10037,3}, {2038,10033,3},{2038,10025,3},{2035,10022,3},{2032,10022,3},{2028,10017,3}, {2025,10017,3},{2023,10017,3},{2025,10010,3},{2032,10010,3},{2035,10008,3}, {1435,10522,131},{1435,10518,3},{1432,10518,3},{1425,10515,3},{1422,10508,3}, {1425,10503,3},{1432,10500,3},{1438,10500,3},{1442,10490,3},{1442,10485,3}, {1445,10482,3},{1445,10480,3},{1442,10473,3},{1443,10472,3},{1440,10468,3}, {1443,10465,3},{1437,10458,3},{1437,10455,3},{1438,10452,3},{1435,10447,3}, {1437,10443,3},{1438,10433,3},{1442,10427,3},{1438,10422,3},{1438,10420,3}, {1442,10420,3},{1437,10417,3},{1437,10415,3},{1438,10413,3},{1435,10403,3}, {1437,10400,3},{1437,10395,3},{1435,10395,3},{1433,10392,3},{1435,10388,3}, {1438,10385,3},{1437,10380,3},{1438,10370,3},{1443,10370,3},{1445,10367,3}, {1442,10365,3},{1440,10362,3},{1443,10357,3},{1437,10347,3},{1440,10345,3}, {1435,10340,3},{1435,10328,3},{1433,10323,3},{1433,10318,3},{1430,10310,3}, {1423,10303,3},{1418,10295,3},{1413,10293,3},{1408,10290,3},{1402,10290,3}, {1393,10278,3},{1377,10272,3},{1368,10257,3},{1365,10257,3},{1360,10262,3}, {1360,10260,3},{1357,10253,3},{1357,10245,3},{1358,10237,3},{1355,10233,3}, {1350,10237,3},{1328,10235,3},{1323,10237,3},{1312,10242,3},{1307,10247,3}, {1302,10250,3},{1300,10252,3},{1298,10250,3},{1295,10250,3},{1293,10248,3}, {1288,10252,3},{1285,10250,3},{1280,10253,3},{1275,10252,3},{1273,10250,3}, {1267,10250,3},{1260,10263,3},{1255,10268,3},{1252,10272,3},{1247,10273,3}, {1243,10278,3},{1240,10278,3},{1237,10273,3},{1217,10272,3},{1205,10278,3}, {1198,10278,3},{1190,10283,3},{1183,10285,3},{1175,10292,3},{1165,10293,3}, {1163,10292,3},{1175,10290,3},{1190,10277,3},{1195,10278,3},{1203,10277,3}, {1215,10263,3},{1217,10265,3},{1220,10260,3},{1222,10260,3},{1220,10255,3}, {1205,10258,3},{1205,10255,3},{1208,10255,3},{1212,10252,3},{1213,10247,3}, {1215,10247,3},{1217,10240,3},{1218,10237,3},{1220,10233,3},{1218,10232,3}, {1218,10230,3},{1220,10228,3},{1223,10228,3},{1228,10227,3},{1228,10228,3}, {1228,10232,3},{1235,10237,3},{1237,10233,3},{1237,10232,3},{1235,10233,3}, {1233,10235,3},{1232,10230,3},{1237,10227,3},{1242,10230,3},{1238,10227,3}, {1242,10227,3},{1243,10227,3},{1242,10223,3},{1243,10222,3},{1243,10220,3}, {1242,10222,3},{1240,10220,3},{1240,10223,3},{1237,10225,3},{1230,10228,3}, {1230,10227,3},{1232,10223,3},{1240,10215,3},{1240,10212,3},{1243,10212,3}, {1248,10207,3},{1250,10208,3},{1248,10210,3},{1252,10208,3},{1253,10212,3}, {1253,10210,3},{1252,10208,3},{1253,10208,3},{1253,10210,3},{1253,10203,3}, {1255,10203,3},{1257,10207,3},{1255,10200,3},{1255,10202,3},{1252,10203,3}, {1252,10207,3},{1247,10205,3},{1252,10203,3},{1253,10198,3},{1253,10195,3}, {1260,10195,3},{1258,10193,3},{1252,10195,3},{1257,10190,3},{1258,10192,3}, {1260,10190,3},{1260,10188,3},{1265,10187,3},{1270,10175,3},{1270,10168,3}, {1265,10165,3},{1265,10158,3},{1263,10157,3},{1263,10145,3},{1258,10142,3}, {1265,10128,3},{1268,10108,3},{1263,10098,3},{1260,10097,3},{1262,10092,3}, {1265,10093,3},{1265,10092,3},{1265,10087,3},{1267,10087,3},{1268,10085,3}, {1270,10087,3},{1270,10083,3},{1273,10083,3},{1277,10087,3},{1277,10090,3}, {1280,10092,3},{1287,10090,3},{1292,10087,3},{1293,10088,3},{1297,10090,3}, {1298,10092,3},{1302,10093,3},{1305,10092,3},{1308,10088,3},{1320,10095,3}, {1330,10092,3},{1333,10093,3},{1337,10098,3},{1345,10097,3},{1350,10100,3}, {1347,10097,3},{1347,10092,3},{1352,10065,3},{1355,10058,3},{1360,10060,3}, {1357,10058,3},{1353,10058,3},{1352,10057,3},{1348,10033,3},{1352,10027,3}, {1348,10025,3},{1342,10005,3},{1337,10003,3},{1337,10000,3},{1337,10002,3}, {1335,10002,3},{1330,9995,3},{1327,9997,3},{1322,10000,3},{1315,10007,3}, {1308,10008,3},{1305,10010,3},{1295,10005,3},{1287,10003,3},{1275,9997,3}, {1267,9997,3},{1262,9997,3},{1253,9998,3},{1247,9997,3},{1237,10002,3}, {1227,9998,3},{1223,10002,3},{1218,10002,3},{1215,9998,3},{1208,9997,3}, {1198,9987,3},{1188,9982,3},{1183,9983,3},{1182,9980,3},{1178,9982,3},{1177,9980,3}, {1173,9982,3},{1173,9978,3},{1168,9973,3},{1152,9963,3},{1140,9962,3},{1132,9957,3}, {1127,9957,3},{1122,9958,3},{1118,9958,3},{1118,9957,3},{1120,9955,3},{1118,9953,3}, {1112,9948,3},{1107,9950,3},{1103,9952,3},{1095,9950,3},{1090,9952,3},{1087,9950,3}, {1088,9948,3},{1087,9943,3},{1080,9943,3},{1070,9937,3},{1068,9937,3},{1067,9933,3}, {1065,9932,3},{1055,9928,3},{1052,9923,3},{1050,9927,3},{1047,9923,3},{1045,9923,3}, {1042,9928,3},{1037,9928,3},{1035,9923,3},{1037,9922,3},{1037,9915,3},{1030,9917,3}, {1027,9918,3},{1025,9920,3},{1023,9922,3},{1023,9925,3},{1020,9923,3},{1020,9920,3}, {1012,9915,3},{1007,9915,3},{1005,9918,3},{1002,9918,3},{1000,9917,3},{998,9915,3}, {985,9917,3},{980,9915,3},{977,9915,3},{963,9918,3},{960,9922,3},{955,9922,3}, {947,9927,3},{940,9932,3},{938,9930,3},{933,9923,3},{925,9923,3},{922,9927,3}, {923,9930,3},{920,9937,3},{918,9945,3},{922,9950,3},{928,9953,3},{927,9962,3}, {930,9965,3},{930,9968,3},{932,9970,3},{930,9973,3},{932,9975,3},{930,9985,3}, {923,9987,3},{922,9988,3},{915,9988,3},{910,9992,3},{903,9992,3},{900,9993,3}, {898,9992,3},{887,9993,3},{862,9997,3},{857,9998,3},{853,10005,3},{843,10008,3}, {840,10013,3},{838,10017,3},{840,10018,3},{842,10017,3},{847,10018,3},{850,10015,3}, {852,10013,3},{850,10017,3},{843,10022,3},{830,10027,3},{812,10030,3},{778,10038,3}, {747,10043,3},{730,10052,3},{722,10058,3},{718,10057,3},{725,10048,3},{725,10043,3}, {727,10042,3},{730,10043,3},{753,10040,3},{757,10038,3},{757,10035,3},{755,10032,3}, {753,10030,3},{752,10027,3},{758,10028,3},{758,10030,3},{762,10032,3},{773,10032,3}, {778,10030,3},{780,10027,3},{778,10022,3},{775,10020,3},{773,10015,3},{772,10015,3}, {762,10015,3},{752,10018,3},{748,10023,3},{738,10027,3},{733,10032,3},{733,10037,3}, {727,10038,3},{725,10042,3},{722,10038,3},{717,10042,3},{715,10048,3},{713,10047,3}, {713,10053,3},{717,10058,3},{722,10060,3},{697,10078,3},{695,10080,3},{695,10085,3}, {685,10102,3},{685,10105,3},{687,10108,3},{687,10122,3},{690,10128,3},{687,10130,3}, {687,10135,3},{688,10137,3},{692,10133,3},{693,10127,3},{695,10130,3},{690,10140,3}, {685,10153,3},{683,10157,3},{648,10178,3},{645,10182,3},{642,10188,3},{632,10198,3}, {623,10210,3},{612,10208,3},{597,10195,3},{587,10195,3},{578,10185,3},{575,10183,3}, {575,10180,3},{578,10177,3},{578,10175,3},{577,10168,3},{582,10167,3},{587,10167,3}, {587,10163,3},{590,10162,3},{592,10157,3},{587,10150,3},{587,10142,3},{580,10135,3}, {580,10128,3},{577,10127,3},{570,10125,3},{567,10122,3},{563,10115,3},{572,10108,3}, {573,10102,3},{578,10098,3},{590,10103,3},{593,10110,3},{598,10112,3},{603,10110,3}, {610,10112,3},{615,10108,3},{617,10108,3},{618,10112,3},{625,10112,3},{625,10103,3}, {628,10098,3},{623,10095,3},{625,10088,3},{623,10085,3},{628,10085,3},{633,10085,3}, {637,10083,3},{642,10083,3},{645,10080,3},{645,10077,3},{650,10075,3},{645,10067,3}, {648,10053,3},{652,10052,3},{652,10043,3},{655,10037,3},{658,10033,3},{670,10030,3}, {670,10027,3},{668,10025,3},{672,10022,3},{670,10018,3},{663,10017,3},{657,10020,3}, {653,10017,3},{648,10017,3},{642,10012,3},{647,10012,3},{648,10008,3},{652,10010,3}, {653,10010,3},{652,10005,3},{658,9998,3},{658,9997,3},{663,9997,3},{665,9995,3}, {667,9993,3},{672,9992,3},{672,9988,3},{677,9985,3},{677,9982,3},{683,9978,3}, {685,9970,3},{688,9968,3},{693,9968,3},{693,9972,3},{697,9970,3},{697,9968,3}, {703,9968,3},{713,9975,3},{712,9968,3},{715,9967,3},{717,9967,3},{715,9963,3}, {713,9962,3},{715,9962,3},{713,9958,3},{715,9958,3},{723,9953,3},{727,9955,3}, {728,9958,3},{737,9960,3},{730,9955,3},{730,9953,3},{737,9952,3},{738,9952,3}, {737,9948,3},{730,9948,3},{727,9947,3},{730,9940,3},{737,9933,3},{745,9935,3}, {750,9933,3},{750,9930,3},{753,9932,3},{757,9930,3},{762,9928,3},{762,9925,3}, {765,9927,3},{768,9920,3},{772,9918,3},{773,9913,3},{777,9913,3},{770,9912,3}, {768,9910,3},{770,9903,3},{782,9902,3},{785,9905,3},{792,9907,3},{790,9903,3}, {793,9900,3},{793,9897,3},{802,9895,3},{805,9892,3},{802,9888,3},{800,9883,3}, {805,9880,3},{802,9877,3},{808,9875,3},{813,9875,3},{813,9873,3},{822,9873,3}, {825,9873,3},{822,9870,3},{828,9870,3},{830,9868,3},{828,9865,3},{828,9862,3}, {835,9863,3},{838,9865,3},{838,9862,3},{840,9860,3},{837,9860,3},{835,9853,3}, {833,9853,3},{833,9850,3},{832,9848,3},{833,9847,3},{832,9842,3},{828,9845,3}, {822,9847,3},{818,9845,3},{815,9843,3},{815,9842,3},{817,9840,3},{813,9840,3}, {815,9837,3},{818,9835,3},{818,9833,3},{820,9832,3},{822,9828,3},{830,9827,3}, {857,9820,3},{858,9820,3},{855,9822,3},{852,9825,3},{853,9825,3},{857,9822,3}, {867,9823,3},{873,9822,3},{877,9825,3},{885,9827,3},{890,9830,3},{892,9830,3}, {897,9832,3},{897,9837,3},{900,9835,3},{903,9838,3},{902,9833,3},{902,9832,3}, {905,9833,3},{907,9837,3},{908,9838,3},{913,9835,3},{920,9832,3},{920,9833,3}, {920,9835,3},{922,9837,3},{925,9835,3},{932,9838,3},{940,9840,3},{942,9842,3}, {955,9845,3},{953,9848,3},{957,9853,3},{957,9848,3},{962,9847,3},{963,9847,3}, {963,9850,3},{965,9852,3},{967,9850,3},{968,9852,3},{972,9850,3},{970,9853,3}, {973,9857,3},{975,9852,3},{973,9850,3},{978,9852,3},{978,9855,3},{983,9858,3}, {983,9857,3},{980,9855,3},{985,9852,3},{987,9853,3},{988,9855,3},{987,9857,3}, {988,9857,3},{990,9858,3},{992,9857,3},{993,9858,3},{995,9858,3},{995,9863,3}, {997,9863,3},{995,9860,3},{997,9860,3},{1017,9870,3},{1033,9875,3},{1035,9875,3}, {1042,9877,3},{1047,9880,3},{1052,9882,3},{1058,9880,3},{1062,9877,3},{1068,9878,3}, {1077,9887,3},{1078,9890,3},{1082,9892,3},{1082,9893,3},{1082,9897,3},{1083,9898,3}, {1083,9900,3},{1088,9902,3},{1092,9900,3},{1097,9902,3},{1095,9907,3},{1097,9908,3}, {1102,9910,3},{1103,9917,3},{1108,9920,3},{1110,9923,3},{1123,9928,3},{1128,9932,3}, {1132,9933,3},{1138,9940,3},{1145,9940,3},{1147,9945,3},{1152,9947,3},{1162,9947,3}, {1163,9948,3},{1163,9957,3},{1168,9960,3},{1173,9963,3},{1183,9967,3},{1183,9963,3}, {1188,9958,3},{1197,9960,3},{1200,9960,3},{1202,9955,3},{1205,9955,3},{1213,9957,3}, {1213,9947,3},{1218,9950,3},{1222,9948,3},{1227,9948,3},{1232,9945,3},{1240,9945,3}, {1247,9942,3},{1250,9943,3},{1258,9943,3},{1260,9942,3},{1260,9938,3},{1265,9935,3}, {1267,9930,3},{1272,9928,3},{1272,9925,3},{1280,9923,3},{1283,9920,3},{1292,9918,3}, {1297,9920,3},{1305,9912,3},{1313,9913,3},{1318,9912,3},{1322,9922,3},{1332,9920,3}, {1333,9922,3},{1340,9922,3},{1347,9922,3},{1357,9917,3},{1358,9918,3},{1363,9917,3}, {1372,9918,3},{1375,9917,3},{1377,9913,3},{1383,9912,3},{1388,9912,3},{1393,9903,3}, {1402,9900,3},{1403,9897,3},{1408,9897,3},{1412,9890,3},{1415,9887,3},{1422,9877,3}, {1428,9873,3},{1428,9868,3},{1432,9862,3},{1437,9860,3},{1438,9857,3},{1453,9850,3}, {1453,9847,3},{1458,9847,3},{1460,9845,3},{1472,9832,3},{1477,9830,3},{1480,9827,3}, {1485,9827,3},{1487,9825,3},{1492,9825,3},{1500,9822,3},{1505,9823,3},{1510,9818,3}, {1518,9822,3},{1522,9820,3},{1523,9827,3},{1530,9832,3},{1528,9838,3},{1527,9842,3}, {1528,9842,3},{1530,9840,3},{1532,9840,3},{1532,9842,3},{1537,9843,3},{1537,9847,3}, {1538,9850,3},{1537,9855,3},{1533,9857,3},{1535,9858,3},{1545,9860,3},{1558,9857,3}, {1567,9858,3},{1572,9857,3},{1587,9862,3},{1593,9858,3},{1597,9862,3},{1602,9860,3}, {1605,9857,3},{1605,9865,3},{1608,9867,3},{1612,9868,3},{1613,9870,3},{1612,9878,3}, {1610,9880,3},{1613,9885,3},{1622,9887,3},{1627,9892,3},{1632,9892,3},{1638,9893,3}, {1643,9887,3},{1648,9887,3},{1645,9883,3},{1638,9882,3},{1633,9875,3},{1627,9872,3}, {1628,9868,3},{1638,9867,3},{1642,9865,3},{1645,9867,3},{1655,9858,3},{1658,9860,3}, {1662,9858,3},{1663,9853,3},{1672,9852,3},{1673,9848,3},{1678,9850,3},{1678,9853,3}, {1680,9853,3},{1680,9855,3},{1683,9852,3},{1687,9852,3},{1685,9855,3},{1688,9855,3}, {1692,9850,3},{1693,9852,3},{1697,9848,3},{1698,9848,3},{1698,9847,3},{1702,9847,3}, {1705,9842,3},{1705,9833,3},{1708,9832,3},{1710,9832,3},{1712,9830,3},{1713,9830,3}, {1720,9825,3},{1722,9825,3},{1722,9822,3},{1732,9812,3},{1738,9812,3},{1742,9805,3}, {1745,9805,3},{1747,9803,3},{1750,9802,3},{1753,9795,3},{1770,9778,3},{1775,9777,3}, {1783,9770,3},{1787,9768,3},{1793,9770,3},{1795,9773,3},{1797,9775,3},{1805,9772,3}, {1805,9768,3},{1808,9770,3},{1812,9768,3},{1815,9768,3},{1823,9762,3},{1825,9762,3}, {1827,9765,3},{1828,9765,3},{1832,9762,3},{1833,9758,3},{1832,9755,3},{1827,9753,3}, {1828,9748,3},{1833,9745,3},{1842,9743,3},{1855,9735,3},{1858,9737,3},{1855,9737,3}, {1855,9742,3},{1850,9745,3},{1848,9753,3},{1853,9762,3},{1855,9762,3},{1857,9767,3}, {1857,9777,3},{1868,9778,3},{1873,9777,3},{1887,9775,3},{1893,9768,3},{1897,9773,3}, {1903,9775,3},{1910,9783,3},{1922,9783,3},{1928,9778,3},{1930,9783,3},{1940,9780,3}, {1950,9788,3},{1953,9787,3},{1957,9787,3},{1957,9790,3},{1960,9797,3},{1963,9800,3}, {1965,9803,3},{1972,9803,3},{1980,9805,3},{1980,9808,3},{1977,9810,3},{1978,9813,3}, {1973,9820,3},{1972,9823,3},{1968,9825,3},{1967,9827,3},{1970,9833,3},{1970,9847,3}, {1972,9852,3},{1968,9857,3},{1970,9858,3},{1972,9862,3},{1973,9865,3},{1977,9878,3}, {1982,9883,3},{1975,9892,3},{1978,9897,3},{1978,9900,3},{1980,9900,3},{1985,9903,3}, {1993,9902,3},{1993,9903,3},{1997,9903,3},{2005,9905,3},{2010,9908,3},{2013,9918,3}, {2010,9927,3},{2007,9933,3},{2010,9947,3},{2015,9952,3},{2015,9953,3},{2020,9955,3}, {2025,9952,3},{2032,9950,3},{2037,9945,3},{2038,9945,3},{2035,9953,3},{2032,9967,3}, {2033,9973,3},{2033,9982,3},{2042,9987,3},{2045,9997,3},{2038,10002,3}, {2038,10007,3},{2035,10007,3},{2035,10008,3},{2032,10010,3},{2025,10010,3}, {2023,10017,3},{2025,10017,3},{2028,10017,3},{2032,10022,3},{2035,10022,3}, {2038,10025,3},{2038,10033,3},{2035,10037,3},{2023,10042,3},{2023,10043,3}, {2018,10047,3},{2015,10052,3},{2017,10055,3},{2015,10058,3},{1988,10050,3}, {1985,10045,3},{1975,10040,3},{1970,10043,3},{1963,10045,3},{1958,10048,3}, {1955,10048,3},{1952,10052,3},{1952,10053,3},{1950,10058,3},{1952,10060,3}, {1955,10062,3},{1955,10065,3},{1952,10073,3},{1948,10078,3},{1952,10082,3}, {1962,10090,3},{1962,10103,3},{1957,10112,3},{1957,10120,3},{1960,10122,3}, {1958,10125,3},{1957,10128,3},{1952,10128,3},{1948,10127,3},{1947,10122,3}, {1937,10120,3},{1933,10123,3},{1930,10123,3},{1923,10125,3},{1913,10127,3}, {1905,10135,3},{1903,10135,3},{1898,10130,3},{1895,10130,3},{1888,10125,3}, {1878,10125,3},{1872,10123,3},{1868,10127,3},{1863,10123,3},{1860,10118,3}, {1857,10118,3},{1852,10113,3},{1852,10110,3},{1848,10110,3},{1843,10105,3}, {1837,10110,3},{1833,10118,3},{1830,10115,3},{1825,10115,3},{1822,10117,3}, {1820,10118,3},{1812,10117,3},{1805,10118,3},{1802,10113,3},{1797,10112,3}, {1793,10108,3},{1790,10102,3},{1783,10103,3},{1782,10098,3},{1778,10100,3}, {1777,10098,3},{1772,10098,3},{1765,10095,3},{1760,10092,3},{1757,10092,3}, {1755,10103,3},{1750,10108,3},{1750,10110,3},{1747,10112,3},{1747,10117,3}, {1752,10118,3},{1753,10123,3},{1757,10125,3},{1765,10132,3},{1765,10135,3}, {1770,10138,3},{1768,10142,3},{1772,10143,3},{1773,10142,3},{1773,10145,3}, {1775,10148,3},{1773,10148,3},{1773,10150,3},{1777,10152,3},{1778,10158,3}, {1782,10157,3},{1787,10158,3},{1785,10160,3},{1787,10162,3},{1790,10165,3}, {1792,10173,3},{1803,10177,3},{1807,10178,3},{1803,10188,3},{1803,10192,3}, {1807,10193,3},{1815,10202,3},{1820,10205,3},{1822,10208,3},{1820,10218,3}, {1815,10218,3},{1807,10228,3},{1805,10230,3},{1803,10237,3},{1798,10242,3}, {1797,10248,3},{1797,10253,3},{1795,10260,3},{1790,10262,3},{1783,10258,3}, {1780,10268,3},{1787,10267,3},{1788,10275,3},{1793,10278,3},{1797,10287,3}, {1800,10295,3},{1798,10302,3},{1798,10305,3},{1803,10307,3},{1812,10307,3}, {1817,10313,3},{1823,10317,3},{1828,10328,3},{1832,10328,3},{1835,10323,3}, {1837,10325,3},{1842,10330,3},{1843,10340,3},{1840,10360,3},{1833,10372,3}, {1833,10380,3},{1828,10387,3},{1828,10388,3},{1833,10395,3},{1832,10398,3}, {1820,10407,3},{1810,10410,3},{1798,10422,3},{1785,10428,3},{1782,10435,3}, {1773,10440,3},{1765,10447,3},{1753,10468,3},{1750,10472,3},{1745,10475,3}, {1742,10478,3},{1738,10480,3},{1728,10482,3},{1713,10480,3},{1702,10473,3}, {1692,10475,3},{1687,10477,3},{1680,10475,3},{1672,10477,3},{1657,10475,3}, {1653,10475,3},{1645,10485,3},{1635,10490,3},{1625,10502,3},{1613,10505,3}, {1610,10508,3},{1605,10518,3},{1602,10542,3},{1600,10543,3},{1598,10538,3}, {1593,10535,3},{1580,10540,3},{1575,10545,3},{1577,10550,3},{1575,10553,3}, {1573,10560,3},{1567,10563,3},{1558,10563,3},{1552,10560,3},{1543,10560,3}, {1540,10557,3},{1538,10550,3},{1535,10547,3},{1533,10550,3},{1533,10558,3}, {1527,10560,3},{1525,10555,3},{1520,10548,3},{1512,10547,3},{1507,10552,3}, {1507,10555,3},{1500,10558,3},{1498,10562,3},{1495,10555,3},{1490,10558,3}, {1488,10553,3},{1483,10555,3},{1482,10552,3},{1477,10552,3},{1473,10553,3}, {1467,10552,3},{1462,10553,3},{1455,10553,3},{1447,10545,3},{1443,10545,3}, {1442,10538,3},{1438,10535,3},{1440,10532,3},{1437,10530,3},{1437,10525,3}, {1433,10523,3},{1435,10522,3},{642,10012,131},{648,10017,3},{653,10017,3}, {657,10020,3},{663,10017,3},{670,10018,3},{672,10022,3},{668,10025,3},{670,10027,3}, {670,10030,3},{658,10033,3},{655,10037,3},{652,10043,3},{652,10052,3},{648,10053,3}, {645,10067,3},{650,10075,3},{645,10077,3},{645,10080,3},{642,10083,3},{637,10083,3}, {633,10085,3},{628,10085,3},{623,10085,3},{625,10088,3},{623,10095,3},{628,10098,3}, {625,10103,3},{625,10112,3},{618,10112,3},{617,10108,3},{615,10108,3},{610,10112,3}, {603,10110,3},{598,10112,3},{593,10110,3},{590,10103,3},{578,10098,3},{573,10102,3}, {572,10108,3},{563,10115,3},{567,10122,3},{570,10125,3},{577,10127,3},{580,10128,3}, {580,10135,3},{587,10142,3},{587,10150,3},{592,10157,3},{590,10162,3},{587,10163,3}, {587,10167,3},{582,10167,3},{577,10168,3},{578,10175,3},{578,10177,3},{575,10180,3}, {575,10183,3},{578,10185,3},{587,10195,3},{597,10195,3},{612,10208,3},{623,10210,3}, {620,10217,3},{620,10220,3},{622,10217,3},{623,10218,3},{618,10233,3},{608,10242,3}, {588,10250,3},{580,10262,3},{572,10267,3},{558,10285,3},{553,10297,3},{547,10305,3}, {538,10312,3},{523,10322,3},{508,10328,3},{480,10345,3},{473,10343,3},{455,10347,3}, {447,10345,3},{432,10350,3},{423,10347,3},{422,10345,3},{417,10345,3},{415,10342,3}, {410,10340,3},{405,10340,3},{395,10343,3},{395,10340,3},{390,10338,3},{380,10338,3}, {380,10335,3},{375,10333,3},{363,10337,3},{353,10347,3},{350,10345,3},{350,10348,3}, {340,10343,3},{318,10345,3},{305,10343,3},{293,10343,3},{280,10352,3},{268,10362,3}, {267,10363,3},{267,10367,3},{265,10370,3},{263,10372,3},{265,10377,3},{262,10377,3}, {258,10382,3},{252,10383,3},{247,10383,3},{235,10392,3},{233,10395,3},{225,10398,3}, {220,10397,3},{213,10402,3},{202,10407,3},{198,10412,3},{185,10413,3},{183,10415,3}, {185,10417,3},{180,10418,3},{163,10425,3},{155,10427,3},{145,10430,3},{142,10428,3}, {137,10428,3},{137,10425,3},{133,10420,3},{137,10412,3},{138,10410,3},{142,10410,3}, {147,10405,3},{150,10408,3},{152,10413,3},{155,10415,3},{153,10412,3},{150,10405,3}, {157,10403,3},{165,10397,3},{163,10395,3},{160,10397,3},{153,10402,3},{150,10400,3}, {147,10402,3},{143,10400,3},{142,10397,3},{143,10392,3},{148,10382,3},{145,10377,3}, {145,10368,3},{138,10363,3},{135,10358,3},{138,10355,3},{133,10355,3},{127,10352,3}, {132,10345,3},{148,10340,3},{153,10337,3},{162,10320,3},{173,10302,3},{175,10293,3}, {185,10283,3},{185,10270,3},{193,10265,3},{202,10255,3},{205,10255,3},{210,10247,3}, {222,10217,3},{227,10210,3},{233,10205,3},{237,10198,3},{240,10198,3},{242,10193,3}, {240,10185,3},{247,10185,3},{252,10180,3},{257,10178,3},{258,10177,3},{260,10170,3}, {262,10168,3},{267,10153,3},{270,10148,3},{280,10140,3},{283,10128,3},{288,10130,3}, {290,10128,3},{300,10137,3},{308,10137,3},{313,10132,3},{327,10130,3},{333,10123,3}, {335,10120,3},{347,10112,3},{360,10105,3},{363,10102,3},{370,10093,3},{377,10087,3}, {378,10082,3},{380,10082,3},{385,10085,3},{383,10077,3},{388,10070,3},{392,10070,3}, {400,10072,3},{398,10077,3},{402,10087,3},{403,10083,3},{402,10078,3},{403,10077,3}, {410,10077,3},{412,10073,3},{417,10068,3},{417,10062,3},{423,10060,3},{425,10062,3}, {427,10060,3},{430,10058,3},{432,10057,3},{440,10058,3},{443,10062,3},{455,10065,3}, {457,10060,3},{460,10058,3},{463,10060,3},{463,10063,3},{467,10067,3},{465,10060,3}, {475,10058,3},{475,10063,3},{477,10062,3},{480,10062,3},{480,10057,3},{482,10057,3}, {485,10057,3},{487,10055,3},{487,10050,3},{488,10050,3},{488,10052,3},{490,10052,3}, {492,10048,3},{492,10045,3},{492,10043,3},{497,10042,3},{498,10040,3},{508,10037,3}, {512,10040,3},{520,10043,3},{525,10042,3},{528,10043,3},{538,10037,3},{552,10038,3}, {557,10035,3},{567,10033,3},{567,10038,3},{570,10037,3},{582,10038,3},{597,10035,3}, {603,10033,3},{608,10030,3},{620,10025,3},{628,10018,3},{642,10012,3},{1035,9875,131}, {1022,9868,3},{1010,9862,3},{998,9855,3},{998,9853,3},{1002,9852,3},{1007,9852,3}, {1008,9850,3},{1015,9852,3},{1018,9848,3},{1025,9852,3},{1030,9850,3},{1035,9853,3}, {1045,9850,3},{1055,9850,3},{1062,9847,3},{1072,9845,3},{1073,9850,3},{1070,9852,3}, {1070,9853,3},{1075,9852,3},{1073,9857,3},{1077,9857,3},{1080,9860,3},{1083,9860,3}, {1085,9863,3},{1087,9858,3},{1088,9862,3},{1092,9863,3},{1090,9867,3},{1092,9872,3}, {1098,9872,3},{1100,9868,3},{1102,9870,3},{1105,9873,3},{1108,9870,3},{1110,9870,3}, {1108,9868,3},{1113,9867,3},{1113,9870,3},{1117,9873,3},{1122,9873,3},{1127,9877,3}, {1133,9873,3},{1135,9872,3},{1138,9872,3},{1138,9870,3},{1145,9872,3},{1145,9877,3}, {1152,9875,3},{1152,9872,3},{1157,9872,3},{1157,9873,3},{1162,9873,3},{1168,9875,3}, {1167,9880,3},{1170,9882,3},{1170,9883,3},{1168,9888,3},{1170,9888,3},{1173,9885,3}, {1173,9882,3},{1175,9878,3},{1178,9878,3},{1182,9882,3},{1185,9882,3},{1182,9882,3}, {1178,9877,3},{1177,9877,3},{1173,9872,3},{1170,9870,3},{1168,9867,3},{1172,9862,3}, {1175,9860,3},{1180,9863,3},{1180,9860,3},{1182,9862,3},{1183,9865,3},{1185,9865,3}, {1187,9867,3},{1188,9870,3},{1190,9868,3},{1188,9865,3},{1188,9855,3},{1190,9857,3}, {1192,9865,3},{1195,9868,3},{1197,9872,3},{1198,9872,3},{1202,9872,3},{1203,9870,3}, {1207,9872,3},{1207,9865,3},{1208,9863,3},{1212,9863,3},{1213,9863,3},{1215,9867,3}, {1217,9865,3},{1220,9872,3},{1222,9872,3},{1223,9867,3},{1220,9860,3},{1222,9855,3}, {1225,9853,3},{1228,9857,3},{1230,9867,3},{1233,9870,3},{1238,9867,3},{1238,9865,3}, {1242,9860,3},{1248,9862,3},{1250,9872,3},{1255,9862,3},{1262,9865,3},{1262,9867,3}, {1265,9865,3},{1272,9870,3},{1273,9863,3},{1275,9867,3},{1275,9868,3},{1275,9863,3}, {1277,9860,3},{1278,9865,3},{1280,9865,3},{1287,9863,3},{1292,9858,3},{1295,9862,3}, {1302,9858,3},{1308,9858,3},{1312,9857,3},{1317,9858,3},{1323,9853,3},{1325,9850,3}, {1328,9850,3},{1330,9850,3},{1328,9847,3},{1337,9845,3},{1340,9847,3},{1338,9845,3}, {1340,9845,3},{1345,9842,3},{1347,9843,3},{1355,9838,3},{1355,9837,3},{1358,9837,3}, {1358,9833,3},{1362,9833,3},{1365,9830,3},{1368,9828,3},{1370,9830,3},{1370,9823,3}, {1387,9825,3},{1392,9823,3},{1400,9823,3},{1407,9818,3},{1402,9818,3},{1397,9820,3}, {1393,9818,3},{1387,9820,3},{1375,9817,3},{1367,9820,3},{1362,9817,3},{1357,9817,3}, {1353,9818,3},{1353,9817,3},{1355,9815,3},{1353,9813,3},{1357,9815,3},{1358,9813,3}, {1360,9815,3},{1362,9813,3},{1363,9815,3},{1367,9815,3},{1367,9817,3},{1368,9817,3}, {1368,9812,3},{1370,9810,3},{1373,9812,3},{1372,9810,3},{1377,9808,3},{1378,9808,3}, {1378,9812,3},{1385,9810,3},{1390,9810,3},{1392,9808,3},{1402,9807,3},{1403,9807,3}, {1405,9808,3},{1412,9810,3},{1417,9810,3},{1420,9810,3},{1418,9808,3},{1420,9807,3}, {1430,9800,3},{1437,9798,3},{1447,9800,3},{1443,9797,3},{1452,9795,3},{1457,9792,3}, {1462,9792,3},{1462,9790,3},{1467,9788,3},{1472,9792,3},{1472,9795,3},{1467,9798,3}, {1465,9803,3},{1470,9798,3},{1472,9800,3},{1473,9797,3},{1477,9797,3},{1480,9795,3}, {1475,9793,3},{1480,9790,3},{1473,9790,3},{1472,9788,3},{1472,9785,3},{1487,9780,3}, {1497,9782,3},{1500,9780,3},{1502,9778,3},{1503,9780,3},{1507,9780,3},{1515,9782,3}, {1518,9780,3},{1520,9782,3},{1520,9778,3},{1525,9773,3},{1530,9775,3},{1535,9773,3}, {1535,9775,3},{1538,9775,3},{1542,9778,3},{1550,9775,3},{1553,9777,3},{1560,9775,3}, {1573,9773,3},{1575,9772,3},{1577,9773,3},{1585,9773,3},{1585,9770,3},{1588,9772,3}, {1592,9770,3},{1595,9763,3},{1600,9760,3},{1602,9758,3},{1603,9758,3},{1607,9757,3}, {1612,9762,3},{1627,9765,3},{1635,9762,3},{1648,9763,3},{1655,9768,3},{1657,9773,3}, {1657,9770,3},{1653,9765,3},{1652,9763,3},{1653,9752,3},{1652,9750,3},{1652,9742,3}, {1648,9737,3},{1663,9733,3},{1667,9735,3},{1667,9730,3},{1670,9727,3},{1675,9727,3}, {1677,9725,3},{1682,9725,3},{1683,9723,3},{1687,9723,3},{1682,9722,3},{1690,9722,3}, {1690,9718,3},{1692,9718,3},{1702,9720,3},{1707,9715,3},{1710,9717,3},{1712,9718,3}, {1708,9723,3},{1710,9725,3},{1713,9718,3},{1712,9715,3},{1708,9713,3},{1708,9712,3}, {1715,9710,3},{1718,9710,3},{1718,9708,3},{1725,9707,3},{1727,9702,3},{1730,9700,3}, {1738,9690,3},{1745,9688,3},{1738,9685,3},{1742,9683,3},{1738,9682,3},{1737,9685,3}, {1735,9685,3},{1733,9690,3},{1730,9692,3},{1720,9685,3},{1708,9690,3},{1703,9692,3}, {1692,9688,3},{1693,9683,3},{1690,9685,3},{1690,9680,3},{1687,9685,3},{1685,9685,3}, {1677,9682,3},{1675,9678,3},{1673,9680,3},{1672,9678,3},{1655,9660,3},{1650,9650,3}, {1650,9640,3},{1655,9630,3},{1660,9627,3},{1665,9627,3},{1668,9623,3},{1675,9622,3}, {1677,9623,3},{1680,9628,3},{1682,9628,3},{1682,9627,3},{1677,9620,3},{1677,9617,3}, {1672,9620,3},{1667,9622,3},{1665,9625,3},{1658,9623,3},{1647,9630,3},{1645,9633,3}, {1643,9633,3},{1632,9612,3},{1635,9608,3},{1638,9600,3},{1633,9607,3},{1632,9608,3}, {1622,9597,3},{1622,9593,3},{1625,9595,3},{1622,9592,3},{1620,9588,3},{1623,9588,3}, {1613,9578,3},{1615,9575,3},{1622,9573,3},{1612,9573,3},{1605,9568,3},{1598,9568,3}, {1595,9567,3},{1580,9552,3},{1573,9543,3},{1572,9538,3},{1572,9528,3},{1583,9528,3}, {1587,9532,3},{1590,9532,3},{1593,9535,3},{1597,9537,3},{1605,9537,3},{1610,9533,3}, {1613,9537,3},{1610,9532,3},{1605,9535,3},{1598,9533,3},{1587,9528,3},{1587,9523,3}, {1588,9523,3},{1597,9528,3},{1600,9527,3},{1593,9523,3},{1588,9522,3},{1578,9522,3}, {1578,9518,3},{1578,9515,3},{1582,9512,3},{1590,9512,3},{1603,9513,3},{1598,9510,3}, {1603,9510,3},{1607,9512,3},{1608,9513,3},{1612,9518,3},{1612,9523,3},{1613,9515,3}, {1615,9513,3},{1605,9507,3},{1595,9507,3},{1580,9503,3},{1578,9500,3},{1578,9498,3}, {1575,9497,3},{1578,9485,3},{1580,9485,3},{1582,9488,3},{1583,9490,3},{1587,9488,3}, {1585,9487,3},{1583,9485,3},{1585,9485,3},{1588,9485,3},{1595,9483,3},{1600,9487,3}, {1600,9490,3},{1602,9492,3},{1603,9492,3},{1602,9488,3},{1613,9487,3},{1618,9490,3}, {1620,9497,3},{1625,9498,3},{1622,9497,3},{1620,9490,3},{1618,9487,3},{1613,9485,3}, {1603,9487,3},{1600,9483,3},{1595,9478,3},{1585,9472,3},{1585,9468,3},{1585,9465,3}, {1587,9463,3},{1590,9463,3},{1588,9462,3},{1592,9460,3},{1595,9467,3},{1600,9473,3}, {1607,9473,3},{1610,9477,3},{1613,9477,3},{1615,9480,3},{1613,9477,3},{1610,9475,3}, {1607,9472,3},{1602,9472,3},{1595,9462,3},{1593,9458,3},{1595,9457,3},{1597,9457,3}, {1603,9463,3},{1612,9468,3},{1620,9468,3},{1625,9467,3},{1635,9470,3},{1635,9473,3}, {1638,9472,3},{1648,9470,3},{1652,9473,3},{1650,9468,3},{1653,9467,3},{1635,9468,3}, {1627,9463,3},{1623,9458,3},{1625,9458,3},{1630,9462,3},{1632,9462,3},{1633,9465,3}, {1635,9463,3},{1633,9460,3},{1630,9460,3},{1627,9457,3},{1630,9453,3},{1630,9452,3}, {1618,9452,3},{1612,9445,3},{1607,9443,3},{1605,9437,3},{1598,9433,3},{1598,9428,3}, {1597,9425,3},{1603,9420,3},{1623,9423,3},{1627,9425,3},{1635,9423,3},{1637,9425,3}, {1648,9427,3},{1653,9427,3},{1653,9428,3},{1652,9432,3},{1655,9435,3},{1658,9435,3}, {1660,9433,3},{1663,9437,3},{1672,9437,3},{1680,9440,3},{1688,9438,3},{1690,9442,3}, {1695,9447,3},{1695,9445,3},{1707,9445,3},{1712,9448,3},{1715,9445,3},{1718,9445,3}, {1718,9447,3},{1717,9453,3},{1720,9453,3},{1722,9450,3},{1728,9452,3},{1728,9453,3}, {1732,9455,3},{1730,9460,3},{1733,9457,3},{1740,9457,3},{1750,9457,3},{1755,9455,3}, {1758,9457,3},{1755,9460,3},{1755,9462,3},{1763,9458,3},{1765,9457,3},{1773,9455,3}, {1780,9448,3},{1790,9448,3},{1798,9443,3},{1802,9448,3},{1805,9448,3},{1817,9445,3}, {1818,9443,3},{1822,9443,3},{1825,9440,3},{1825,9433,3},{1830,9433,3},{1828,9438,3}, {1830,9440,3},{1835,9440,3},{1837,9435,3},{1843,9432,3},{1853,9425,3},{1853,9427,3}, {1865,9423,3},{1873,9415,3},{1872,9417,3},{1873,9418,3},{1872,9422,3},{1873,9427,3}, {1875,9425,3},{1873,9422,3},{1878,9418,3},{1882,9415,3},{1885,9415,3},{1887,9413,3}, {1882,9412,3},{1885,9403,3},{1890,9403,3},{1893,9405,3},{1900,9403,3},{1903,9407,3}, {1905,9405,3},{1908,9410,3},{1908,9403,3},{1912,9403,3},{1915,9403,3},{1923,9407,3}, {1925,9405,3},{1930,9405,3},{1938,9408,3},{1938,9407,3},{1932,9403,3},{1920,9403,3}, {1915,9400,3},{1915,9397,3},{1917,9393,3},{1920,9393,3},{1920,9392,3},{1912,9395,3}, {1907,9395,3},{1902,9395,3},{1897,9398,3},{1890,9397,3},{1888,9393,3},{1885,9393,3}, {1893,9383,3},{1897,9373,3},{1902,9372,3},{1902,9368,3},{1907,9367,3},{1913,9365,3}, {1917,9360,3},{1922,9357,3},{1932,9350,3},{1935,9348,3},{1938,9348,3},{1940,9348,3}, {1942,9350,3},{1943,9355,3},{1940,9357,3},{1940,9362,3},{1935,9363,3},{1933,9362,3}, {1930,9367,3},{1928,9372,3},{1927,9372,3},{1927,9373,3},{1925,9373,3},{1923,9382,3}, {1927,9388,3},{1938,9400,3},{1942,9398,3},{1947,9398,3},{1945,9395,3},{1947,9392,3}, {1947,9390,3},{1950,9393,3},{1950,9387,3},{1957,9380,3},{1960,9378,3},{1963,9373,3}, {1965,9373,3},{1965,9375,3},{1965,9380,3},{1968,9380,3},{1970,9382,3},{1972,9382,3}, {1973,9380,3},{1968,9377,3},{1967,9375,3},{1968,9372,3},{1972,9372,3},{1973,9372,3}, {1975,9375,3},{1977,9372,3},{1977,9370,3},{1972,9368,3},{1972,9363,3},{1975,9363,3}, {1972,9362,3},{1972,9360,3},{1978,9360,3},{1982,9363,3},{1987,9365,3},{1988,9373,3}, {1990,9372,3},{1992,9375,3},{1993,9372,3},{1992,9370,3},{1990,9362,3},{1988,9358,3}, {1988,9355,3},{1992,9357,3},{1993,9352,3},{1995,9353,3},{1995,9352,3},{1997,9352,3}, {1998,9353,3},{2000,9352,3},{1997,9350,3},{1998,9347,3},{1995,9345,3},{1997,9342,3}, {2008,9338,3},{2002,9337,3},{2008,9335,3},{2010,9333,3},{2005,9330,3},{2005,9325,3}, {2007,9318,3},{2005,9317,3},{2008,9313,3},{1992,9320,3},{1983,9325,3},{1982,9323,3}, {1983,9322,3},{2000,9313,3},{1998,9310,3},{1995,9310,3},{1985,9313,3},{1980,9317,3}, {1983,9315,3},{1985,9312,3},{1997,9305,3},{2000,9305,3},{2007,9298,3},{2012,9297,3}, {2013,9307,3},{2015,9307,3},{2017,9308,3},{2015,9308,3},{2018,9312,3},{2022,9312,3}, {2017,9303,3},{2013,9300,3},{2017,9298,3},{2022,9298,3},{2030,9303,3},{2033,9303,3}, {2038,9310,3},{2040,9308,3},{2043,9310,3},{2042,9308,3},{2038,9307,3},{2037,9305,3}, {2038,9303,3},{2043,9303,3},{2052,9308,3},{2055,9308,3},{2045,9302,3},{2030,9300,3}, {2020,9292,3},{2012,9290,3},{2012,9287,3},{2022,9277,3},{2027,9280,3},{2030,9287,3}, {2032,9293,3},{2032,9290,3},{2035,9288,3},{2035,9287,3},{2038,9283,3},{2040,9285,3}, {2045,9282,3},{2045,9283,3},{2048,9283,3},{2050,9280,3},{2047,9280,3},{2045,9277,3}, {2047,9277,3},{2048,9277,3},{2048,9275,3},{2058,9272,3},{2070,9263,3},{2058,9272,3}, {2050,9272,3},{2043,9273,3},{2032,9273,3},{2028,9273,3},{2025,9273,3},{2028,9272,3}, {2043,9265,3},{2053,9253,3},{2062,9250,3},{2065,9247,3},{2067,9245,3},{2070,9237,3}, {2078,9237,3},{2095,9228,3},{2105,9227,3},{2113,9220,3},{2118,9220,3},{2123,9222,3}, {2130,9220,3},{2133,9220,3},{2137,9225,3},{2142,9227,3},{2142,9232,3},{2147,9237,3}, {2143,9242,3},{2137,9243,3},{2135,9248,3},{2138,9255,3},{2130,9258,3},{2125,9260,3}, {2130,9267,3},{2147,9262,3},{2163,9260,3},{2180,9260,3},{2188,9262,3},{2198,9260,3}, {2202,9265,3},{2203,9268,3},{2210,9268,3},{2210,9270,3},{2215,9270,3},{2217,9272,3}, {2205,9287,3},{2198,9288,3},{2195,9290,3},{2200,9292,3},{2202,9293,3},{2203,9295,3}, {2200,9300,3},{2207,9298,3},{2210,9302,3},{2212,9305,3},{2220,9305,3},{2222,9308,3}, {2218,9315,3},{2220,9317,3},{2223,9315,3},{2225,9320,3},{2243,9318,3},{2247,9313,3}, {2253,9312,3},{2260,9313,3},{2267,9310,3},{2278,9310,3},{2288,9312,3},{2288,9313,3}, {2292,9315,3},{2292,9317,3},{2302,9313,3},{2305,9313,3},{2307,9320,3},{2302,9323,3}, {2302,9330,3},{2307,9335,3},{2312,9335,3},{2313,9338,3},{2317,9337,3},{2323,9338,3}, {2335,9337,3},{2338,9340,3},{2350,9340,3},{2360,9342,3},{2365,9342,3},{2368,9343,3}, {2373,9340,3},{2387,9338,3},{2392,9338,3},{2398,9333,3},{2407,9333,3},{2408,9337,3}, {2408,9340,3},{2397,9348,3},{2397,9353,3},{2398,9357,3},{2397,9360,3},{2400,9362,3}, {2402,9363,3},{2400,9375,3},{2393,9382,3},{2395,9393,3},{2392,9403,3},{2390,9405,3}, {2388,9410,3},{2385,9412,3},{2385,9413,3},{2387,9415,3},{2393,9417,3},{2400,9422,3}, {2415,9425,3},{2428,9432,3},{2433,9432,3},{2437,9437,3},{2440,9435,3},{2442,9438,3}, {2448,9438,3},{2450,9442,3},{2457,9445,3},{2462,9452,3},{2472,9453,3},{2472,9458,3}, {2472,9460,3},{2477,9462,3},{2482,9462,3},{2487,9467,3},{2493,9470,3},{2498,9470,3}, {2502,9473,3},{2513,9473,3},{2518,9460,3},{2522,9458,3},{2528,9458,3},{2533,9462,3}, {2540,9463,3},{2547,9470,3},{2550,9473,3},{2550,9478,3},{2557,9485,3},{2557,9488,3}, {2558,9488,3},{2573,9500,3},{2575,9503,3},{2593,9502,3},{2597,9508,3},{2605,9518,3}, {2608,9517,3},{2612,9512,3},{2618,9510,3},{2620,9512,3},{2622,9508,3},{2633,9507,3}, {2642,9510,3},{2648,9507,3},{2657,9515,3},{2662,9513,3},{2663,9520,3},{2668,9523,3}, {2668,9525,3},{2665,9525,3},{2665,9527,3},{2672,9543,3},{2682,9552,3},{2682,9562,3}, {2688,9565,3},{2688,9572,3},{2697,9575,3},{2700,9580,3},{2703,9590,3},{2708,9597,3}, {2717,9602,3},{2723,9610,3},{2727,9620,3},{2728,9630,3},{2730,9643,3},{2730,9652,3}, {2732,9657,3},{2737,9662,3},{2735,9665,3},{2733,9667,3},{2737,9672,3},{2735,9678,3}, {2732,9682,3},{2727,9685,3},{2725,9688,3},{2722,9687,3},{2718,9688,3},{2713,9702,3}, {2710,9707,3},{2710,9710,3},{2708,9713,3},{2713,9717,3},{2717,9713,3},{2718,9713,3}, {2722,9710,3},{2745,9690,3},{2747,9690,3},{2750,9692,3},{2758,9688,3},{2762,9688,3}, {2767,9693,3},{2767,9697,3},{2773,9702,3},{2775,9708,3},{2778,9708,3},{2780,9712,3}, {2790,9723,3},{2792,9728,3},{2790,9732,3},{2788,9732,3},{2790,9737,3},{2795,9737,3}, {2802,9740,3},{2808,9732,3},{2817,9733,3},{2820,9737,3},{2822,9735,3},{2825,9737,3}, {2827,9740,3},{2830,9742,3},{2830,9747,3},{2835,9748,3},{2838,9747,3},{2845,9752,3}, {2855,9757,3},{2855,9758,3},{2848,9763,3},{2852,9768,3},{2852,9772,3},{2842,9775,3}, {2835,9780,3},{2835,9783,3},{2837,9785,3},{2838,9790,3},{2835,9793,3},{2830,9797,3}, {2828,9802,3},{2822,9802,3},{2822,9807,3},{2818,9810,3},{2813,9815,3},{2802,9815,3}, {2797,9813,3},{2795,9818,3},{2792,9820,3},{2790,9820,3},{2788,9817,3},{2787,9817,3}, {2785,9818,3},{2782,9823,3},{2780,9822,3},{2777,9823,3},{2773,9823,3},{2768,9827,3}, {2755,9832,3},{2753,9835,3},{2755,9840,3},{2755,9842,3},{2760,9843,3},{2768,9843,3}, {2765,9852,3},{2767,9855,3},{2760,9860,3},{2760,9863,3},{2762,9867,3},{2760,9870,3}, {2758,9870,3},{2747,9868,3},{2738,9870,3},{2737,9873,3},{2733,9873,3},{2720,9870,3}, {2715,9872,3},{2710,9870,3},{2708,9875,3},{2705,9877,3},{2700,9873,3},{2690,9877,3}, {2687,9873,3},{2678,9878,3},{2672,9875,3},{2670,9877,3},{2660,9878,3},{2658,9875,3}, {2638,9873,3},{2632,9868,3},{2627,9867,3},{2625,9867,3},{2625,9870,3},{2618,9873,3}, {2617,9872,3},{2613,9870,3},{2610,9867,3},{2610,9865,3},{2615,9865,3},{2612,9857,3}, {2605,9860,3},{2600,9860,3},{2598,9865,3},{2592,9868,3},{2590,9872,3},{2587,9872,3}, {2580,9863,3},{2585,9853,3},{2580,9848,3},{2577,9848,3},{2573,9845,3},{2568,9843,3}, {2565,9840,3},{2558,9838,3},{2555,9833,3},{2555,9830,3},{2558,9827,3},{2562,9817,3}, {2555,9817,3},{2550,9813,3},{2547,9815,3},{2538,9813,3},{2538,9810,3},{2532,9807,3}, {2530,9802,3},{2522,9793,3},{2522,9790,3},{2527,9787,3},{2527,9783,3},{2513,9778,3}, {2508,9775,3},{2508,9772,3},{2492,9773,3},{2485,9780,3},{2483,9777,3},{2483,9768,3}, {2475,9755,3},{2467,9757,3},{2457,9757,3},{2443,9753,3},{2443,9767,3},{2440,9768,3}, {2435,9772,3},{2433,9767,3},{2430,9767,3},{2428,9775,3},{2425,9777,3},{2422,9773,3}, {2417,9775,3},{2412,9772,3},{2407,9765,3},{2400,9762,3},{2397,9755,3},{2393,9753,3}, {2390,9762,3},{2385,9765,3},{2387,9767,3},{2388,9772,3},{2395,9778,3},{2395,9783,3}, {2403,9792,3},{2403,9795,3},{2408,9805,3},{2413,9822,3},{2410,9835,3},{2413,9843,3}, {2412,9855,3},{2408,9860,3},{2412,9872,3},{2413,9885,3},{2417,9888,3},{2412,9890,3}, {2410,9890,3},{2400,9875,3},{2397,9868,3},{2395,9870,3},{2392,9868,3},{2383,9870,3}, {2380,9868,3},{2377,9882,3},{2370,9882,3},{2368,9885,3},{2363,9885,3},{2362,9888,3}, {2355,9882,3},{2353,9880,3},{2348,9882,3},{2348,9888,3},{2342,9892,3},{2337,9892,3}, {2333,9888,3},{2333,9892,3},{2332,9893,3},{2318,9888,3},{2318,9893,3},{2317,9902,3}, {2317,9907,3},{2313,9905,3},{2310,9912,3},{2312,9915,3},{2310,9923,3},{2312,9927,3}, {2312,9932,3},{2313,9935,3},{2310,9940,3},{2308,9950,3},{2307,9952,3},{2302,9952,3}, {2293,9957,3},{2292,9955,3},{2292,9953,3},{2292,9948,3},{2295,9945,3},{2293,9943,3}, {2287,9943,3},{2278,9938,3},{2275,9933,3},{2260,9938,3},{2253,9937,3},{2250,9938,3}, {2243,9933,3},{2238,9927,3},{2235,9927,3},{2232,9925,3},{2227,9923,3},{2220,9918,3}, {2217,9920,3},{2217,9917,3},{2212,9923,3},{2210,9937,3},{2213,9947,3},{2210,9952,3}, {2212,9957,3},{2208,9962,3},{2210,9965,3},{2207,9968,3},{2203,9970,3},{2207,9975,3}, {2205,9982,3},{2202,9985,3},{2203,9987,3},{2207,9988,3},{2205,9997,3},{2203,9997,3}, {2197,9998,3},{2185,9995,3},{2182,9995,3},{2170,10000,3},{2168,10012,3}, {2165,10017,3},{2163,10013,3},{2158,10010,3},{2150,10012,3},{2148,10015,3}, {2145,10018,3},{2143,10022,3},{2145,10022,3},{2148,10030,3},{2153,10035,3}, {2153,10038,3},{2153,10043,3},{2145,10048,3},{2147,10052,3},{2145,10057,3}, {2145,10060,3},{2148,10067,3},{2150,10068,3},{2152,10073,3},{2158,10080,3}, {2163,10083,3},{2165,10087,3},{2168,10088,3},{2172,10102,3},{2177,10112,3}, {2170,10112,3},{2163,10117,3},{2157,10115,3},{2153,10117,3},{2148,10113,3}, {2140,10100,3},{2137,10090,3},{2130,10085,3},{2130,10078,3},{2130,10072,3}, {2118,10070,3},{2113,10067,3},{2105,10062,3},{2102,10055,3},{2098,10055,3}, {2095,10052,3},{2088,10052,3},{2087,10052,3},{2087,10055,3},{2088,10063,3}, {2087,10065,3},{2083,10058,3},{2080,10052,3},{2083,10037,3},{2078,10035,3}, {2075,10025,3},{2063,10017,3},{2040,10013,3},{2035,10008,3},{2035,10007,3}, {2038,10007,3},{2038,10002,3},{2045,9997,3},{2042,9987,3},{2033,9982,3}, {2033,9973,3},{2032,9967,3},{2035,9953,3},{2038,9945,3},{2037,9945,3},{2032,9950,3}, {2025,9952,3},{2020,9955,3},{2015,9953,3},{2015,9952,3},{2010,9947,3},{2007,9933,3}, {2010,9927,3},{2013,9918,3},{2010,9908,3},{2005,9905,3},{1997,9903,3},{1993,9903,3}, {1993,9902,3},{1985,9903,3},{1980,9900,3},{1978,9900,3},{1978,9897,3},{1975,9892,3}, {1982,9883,3},{1977,9878,3},{1973,9865,3},{1972,9862,3},{1970,9858,3},{1968,9857,3}, {1972,9852,3},{1970,9847,3},{1970,9833,3},{1967,9827,3},{1968,9825,3},{1972,9823,3}, {1973,9820,3},{1978,9813,3},{1977,9810,3},{1980,9808,3},{1980,9805,3},{1972,9803,3}, {1965,9803,3},{1963,9800,3},{1960,9797,3},{1957,9790,3},{1957,9787,3},{1953,9787,3}, {1950,9788,3},{1940,9780,3},{1930,9783,3},{1928,9778,3},{1922,9783,3},{1910,9783,3}, {1903,9775,3},{1897,9773,3},{1893,9768,3},{1887,9775,3},{1873,9777,3},{1868,9778,3}, {1857,9777,3},{1857,9767,3},{1855,9762,3},{1853,9762,3},{1848,9753,3},{1850,9745,3}, {1855,9742,3},{1855,9737,3},{1858,9737,3},{1855,9735,3},{1842,9743,3},{1833,9745,3}, {1828,9748,3},{1827,9753,3},{1832,9755,3},{1833,9758,3},{1832,9762,3},{1828,9765,3}, {1827,9765,3},{1825,9762,3},{1823,9762,3},{1815,9768,3},{1812,9768,3},{1808,9770,3}, {1805,9768,3},{1805,9772,3},{1797,9775,3},{1795,9773,3},{1793,9770,3},{1787,9768,3}, {1783,9770,3},{1775,9777,3},{1770,9778,3},{1753,9795,3},{1750,9802,3},{1747,9803,3}, {1745,9805,3},{1742,9805,3},{1738,9812,3},{1732,9812,3},{1722,9822,3},{1722,9825,3}, {1720,9825,3},{1713,9830,3},{1712,9830,3},{1710,9832,3},{1708,9832,3},{1705,9833,3}, {1705,9842,3},{1702,9847,3},{1698,9847,3},{1698,9848,3},{1697,9848,3},{1693,9852,3}, {1692,9850,3},{1688,9855,3},{1685,9855,3},{1687,9852,3},{1683,9852,3},{1680,9855,3}, {1680,9853,3},{1678,9853,3},{1678,9850,3},{1673,9848,3},{1672,9852,3},{1663,9853,3}, {1662,9858,3},{1658,9860,3},{1655,9858,3},{1645,9867,3},{1642,9865,3},{1638,9867,3}, {1628,9868,3},{1627,9872,3},{1633,9875,3},{1638,9882,3},{1645,9883,3},{1648,9887,3}, {1643,9887,3},{1638,9893,3},{1632,9892,3},{1627,9892,3},{1622,9887,3},{1613,9885,3}, {1610,9880,3},{1612,9878,3},{1613,9870,3},{1612,9868,3},{1608,9867,3},{1605,9865,3}, {1605,9857,3},{1602,9860,3},{1597,9862,3},{1593,9858,3},{1587,9862,3},{1572,9857,3}, {1567,9858,3},{1558,9857,3},{1545,9860,3},{1535,9858,3},{1533,9857,3},{1537,9855,3}, {1538,9850,3},{1537,9847,3},{1537,9843,3},{1532,9842,3},{1532,9840,3},{1530,9840,3}, {1528,9842,3},{1527,9842,3},{1528,9838,3},{1530,9832,3},{1523,9827,3},{1522,9820,3}, {1518,9822,3},{1510,9818,3},{1505,9823,3},{1500,9822,3},{1492,9825,3},{1487,9825,3}, {1485,9827,3},{1480,9827,3},{1477,9830,3},{1472,9832,3},{1460,9845,3},{1458,9847,3}, {1453,9847,3},{1453,9850,3},{1438,9857,3},{1437,9860,3},{1432,9862,3},{1428,9868,3}, {1428,9873,3},{1422,9877,3},{1415,9887,3},{1412,9890,3},{1408,9897,3},{1403,9897,3}, {1402,9900,3},{1393,9903,3},{1388,9912,3},{1383,9912,3},{1377,9913,3},{1375,9917,3}, {1372,9918,3},{1363,9917,3},{1358,9918,3},{1357,9917,3},{1347,9922,3},{1340,9922,3}, {1333,9922,3},{1332,9920,3},{1322,9922,3},{1318,9912,3},{1313,9913,3},{1305,9912,3}, {1297,9920,3},{1292,9918,3},{1283,9920,3},{1280,9923,3},{1272,9925,3},{1272,9928,3}, {1267,9930,3},{1265,9935,3},{1260,9938,3},{1260,9942,3},{1258,9943,3},{1250,9943,3}, {1247,9942,3},{1240,9945,3},{1232,9945,3},{1227,9948,3},{1222,9948,3},{1218,9950,3}, {1213,9947,3},{1213,9957,3},{1205,9955,3},{1202,9955,3},{1200,9960,3},{1197,9960,3}, {1188,9958,3},{1183,9963,3},{1183,9967,3},{1173,9963,3},{1168,9960,3},{1163,9957,3}, {1163,9948,3},{1162,9947,3},{1152,9947,3},{1147,9945,3},{1145,9940,3},{1138,9940,3}, {1132,9933,3},{1128,9932,3},{1123,9928,3},{1110,9923,3},{1108,9920,3},{1103,9917,3}, {1102,9910,3},{1097,9908,3},{1095,9907,3},{1097,9902,3},{1092,9900,3},{1088,9902,3}, {1083,9900,3},{1083,9898,3},{1082,9897,3},{1082,9893,3},{1082,9892,3},{1078,9890,3}, {1077,9887,3},{1068,9878,3},{1062,9877,3},{1058,9880,3},{1052,9882,3},{1047,9880,3}, {1042,9877,3},{1035,9875,3},{2377,6820,131},{2388,6822,3},{2390,6828,3}, {2392,6827,3},{2395,6830,3},{2392,6832,3},{2392,6833,3},{2393,6835,3},{2397,6835,3}, {2397,6837,3},{2395,6838,3},{2397,6838,3},{2397,6875,3},{2432,6875,3},{2433,6878,3}, {2433,6882,3},{2428,6885,3},{2427,6883,3},{2423,6885,3},{2425,6887,3},{2432,6890,3}, {2433,6893,3},{2425,6898,3},{2428,6905,3},{2430,6908,3},{2425,6918,3},{2428,6925,3}, {2430,6932,3},{2428,6960,3},{2417,6972,3},{2417,7003,3},{2420,7007,3},{2432,7012,3}, {2433,7025,3},{2437,7032,3},{2437,7038,3},{2442,7043,3},{2443,7058,3},{2442,7060,3}, {2437,7057,3},{2428,7058,3},{2425,7065,3},{2423,7072,3},{2423,7078,3},{2427,7088,3}, {2432,7087,3},{2437,7093,3},{2437,7097,3},{2437,7103,3},{2440,7105,3},{2442,7110,3}, {2443,7110,3},{2445,7108,3},{2445,7100,3},{2448,7100,3},{2453,7100,3},{2455,7098,3}, {2460,7098,3},{2465,7100,3},{2468,7108,3},{2475,7105,3},{2483,7102,3},{2493,7095,3}, {2515,7088,3},{2527,7075,3},{2533,7073,3},{2540,7068,3},{2568,7067,3},{2572,7062,3}, {2568,7053,3},{2567,7038,3},{2570,7028,3},{2580,7022,3},{2583,7018,3},{2590,7013,3}, {2598,7008,3},{2608,7010,3},{2625,7017,3},{2632,7017,3},{2638,7018,3},{2643,7018,3}, {2653,7018,3},{2657,7015,3},{2660,7010,3},{2658,6985,3},{2660,6980,3},{2667,6972,3}, {2675,6952,3},{2682,6948,3},{2700,6952,3},{2718,6958,3},{2728,6970,3},{2732,6975,3}, {2742,6988,3},{2750,6993,3},{2760,7003,3},{2783,7013,3},{2795,7028,3},{2802,7037,3}, {2805,7048,3},{2803,7053,3},{2800,7058,3},{2793,7067,3},{2787,7067,3},{2773,7073,3}, {2770,7083,3},{2772,7093,3},{2785,7123,3},{2787,7140,3},{2788,7163,3},{2797,7190,3}, {2812,7192,3},{2822,7200,3},{2833,7213,3},{2840,7220,3},{2868,7230,3},{2877,7238,3}, {2895,7273,3},{2903,7295,3},{2915,7298,3},{2925,7308,3},{2957,7327,3},{2995,7340,3}, {3002,7358,3},{3007,7380,3},{3020,7397,3},{3032,7393,3},{3033,7390,3},{3037,7385,3}, {3038,7387,3},{3040,7390,3},{3042,7390,3},{3042,7393,3},{3048,7393,3},{3047,7397,3}, {3050,7397,3},{3053,7400,3},{3053,7408,3},{3062,7410,3},{3068,7420,3},{3072,7423,3}, {3073,7427,3},{3077,7427,3},{3080,7430,3},{3083,7432,3},{3085,7437,3},{3090,7437,3}, {3092,7442,3},{3097,7447,3},{3098,7452,3},{3107,7455,3},{3102,7463,3},{3105,7465,3}, {3107,7468,3},{3108,7468,3},{3112,7463,3},{3112,7457,3},{3115,7453,3},{3128,7455,3}, {3140,7458,3},{3145,7463,3},{3148,7463,3},{3152,7460,3},{3160,7460,3},{3173,7452,3}, {3177,7452,3},{3177,7455,3},{3182,7453,3},{3188,7465,3},{3195,7470,3},{3195,7478,3}, {3202,7482,3},{3202,7487,3},{3203,7488,3},{3203,7497,3},{3207,7498,3},{3207,7503,3}, {3208,7502,3},{3210,7502,3},{3210,7505,3},{3207,7510,3},{3208,7513,3},{3208,7517,3}, {3210,7517,3},{3212,7518,3},{3215,7525,3},{3215,7530,3},{3217,7533,3},{3220,7533,3}, {3223,7537,3},{3228,7538,3},{3235,7532,3},{3240,7522,3},{3242,7515,3},{3247,7507,3}, {3248,7502,3},{3245,7493,3},{3248,7488,3},{3248,7485,3},{3247,7475,3},{3248,7472,3}, {3250,7468,3},{3260,7465,3},{3267,7468,3},{3273,7467,3},{3283,7472,3},{3283,7470,3}, {3282,7463,3},{3277,7463,3},{3275,7463,3},{3275,7458,3},{3277,7455,3},{3273,7452,3}, {3277,7448,3},{3278,7447,3},{3277,7442,3},{3303,7432,3},{3305,7425,3},{3317,7412,3}, {3322,7402,3},{3325,7400,3},{3327,7402,3},{3328,7410,3},{3332,7417,3},{3342,7418,3}, {3358,7413,3},{3360,7407,3},{3365,7400,3},{3368,7400,3},{3375,7402,3},{3378,7405,3}, {3382,7413,3},{3388,7423,3},{3395,7430,3},{3398,7428,3},{3405,7422,3},{3403,7402,3}, {3405,7397,3},{3407,7395,3},{3410,7393,3},{3413,7395,3},{3415,7403,3},{3418,7407,3}, {3428,7407,3},{3432,7405,3},{3433,7398,3},{3433,7387,3},{3435,7385,3},{3432,7377,3}, {3433,7375,3},{3440,7378,3},{3445,7387,3},{3455,7392,3},{3457,7395,3},{3462,7393,3}, {3465,7395,3},{3467,7397,3},{3468,7405,3},{3465,7417,3},{3470,7417,3},{3473,7420,3}, {3478,7432,3},{3478,7437,3},{3477,7455,3},{3472,7462,3},{3468,7470,3},{3470,7482,3}, {3467,7495,3},{3467,7517,3},{3462,7527,3},{3450,7540,3},{3447,7553,3},{3450,7582,3}, {3463,7610,3},{3465,7620,3},{3463,7635,3},{3470,7640,3},{3475,7650,3},{3478,7663,3}, {3475,7673,3},{3473,7682,3},{3475,7690,3},{3478,7695,3},{3487,7695,3},{3492,7695,3}, {3497,7700,3},{3500,7705,3},{3505,7707,3},{3510,7705,3},{3513,7708,3},{3515,7715,3}, {3518,7720,3},{3522,7727,3},{3523,7732,3},{3527,7737,3},{3530,7743,3},{3533,7748,3}, {3535,7753,3},{3538,7760,3},{3542,7765,3},{3543,7770,3},{3547,7777,3},{3550,7782,3}, {3547,7792,3},{3548,7795,3},{3550,7797,3},{3555,7797,3},{3557,7800,3},{3555,7813,3}, {3562,7817,3},{3567,7827,3},{3570,7830,3},{3572,7838,3},{3577,7843,3},{3577,7853,3}, {3582,7863,3},{3585,7868,3},{3592,7875,3},{3592,7883,3},{3590,7893,3},{3592,7902,3}, {3595,7912,3},{3595,7923,3},{3598,7933,3},{3597,7943,3},{3593,7945,3},{3588,7943,3}, {3585,7947,3},{3587,7957,3},{3587,7960,3},{3583,7960,3},{3582,7965,3},{3580,7967,3}, {3577,7963,3},{3565,7970,3},{3563,7982,3},{3557,7983,3},{3557,7987,3},{3562,7992,3}, {3560,7997,3},{3545,8002,3},{3542,8005,3},{3542,8008,3},{3545,8013,3},{3557,8020,3}, {3555,8025,3},{3550,8030,3},{3552,8035,3},{3552,8038,3},{3547,8038,3},{3542,8038,3}, {3535,8030,3},{3532,8028,3},{3523,8030,3},{3520,8030,3},{3510,8020,3},{3490,8020,3}, {3485,8018,3},{3477,8010,3},{3467,8007,3},{3465,8002,3},{3467,7988,3},{3457,7985,3}, {3455,7977,3},{3453,7972,3},{3450,7973,3},{3445,7977,3},{3442,7972,3},{3443,7953,3}, {3440,7953,3},{3420,7958,3},{3418,7955,3},{3418,7952,3},{3412,7952,3},{3407,7947,3}, {3403,7943,3},{3402,7942,3},{3403,7913,3},{3400,7910,3},{3402,7897,3},{3397,7890,3}, {3383,7895,3},{3375,7902,3},{3372,7902,3},{3363,7903,3},{3362,7902,3},{3363,7895,3}, {3363,7892,3},{3357,7890,3},{3353,7893,3},{3340,7893,3},{3332,7900,3},{3328,7908,3}, {3322,7910,3},{3323,7915,3},{3320,7925,3},{3318,7937,3},{3317,7940,3},{3313,7940,3}, {3310,7937,3},{3297,7935,3},{3293,7938,3},{3288,7945,3},{3280,7947,3},{3275,7953,3}, {3265,7950,3},{3260,7945,3},{3253,7935,3},{3250,7932,3},{3252,7927,3},{3250,7917,3}, {3247,7912,3},{3242,7912,3},{3238,7910,3},{3238,7903,3},{3235,7897,3},{3237,7893,3}, {3243,7887,3},{3247,7878,3},{3257,7875,3},{3260,7878,3},{3263,7877,3},{3263,7870,3}, {3260,7868,3},{3258,7865,3},{3257,7857,3},{3258,7848,3},{3257,7842,3},{3253,7840,3}, {3242,7848,3},{3238,7845,3},{3235,7848,3},{3225,7848,3},{3223,7848,3},{3222,7855,3}, {3212,7860,3},{3205,7867,3},{3198,7877,3},{3182,7872,3},{3178,7870,3},{3175,7872,3}, {3173,7872,3},{3168,7875,3},{3167,7877,3},{3168,7878,3},{3165,7880,3},{3162,7885,3}, {3152,7872,3},{3148,7872,3},{3147,7877,3},{3145,7880,3},{3135,7877,3},{3130,7877,3}, {3128,7882,3},{3130,7885,3},{3130,7887,3},{3130,7890,3},{3137,7895,3},{3133,7900,3}, {3142,7902,3},{3143,7908,3},{3142,7912,3},{3140,7917,3},{3135,7917,3},{3133,7922,3}, {3130,7922,3},{3127,7925,3},{3123,7925,3},{3122,7928,3},{3115,7930,3},{3110,7940,3}, {3103,7942,3},{3102,7950,3},{3097,7955,3},{3093,7960,3},{3097,7967,3},{3098,7972,3}, {3098,7975,3},{3097,7988,3},{3088,7992,3},{3088,7997,3},{3085,8005,3},{3078,8008,3}, {3078,8012,3},{3080,8017,3},{3080,8020,3},{3077,8022,3},{3073,8025,3},{3068,8023,3}, {3068,8018,3},{3062,8023,3},{3057,8020,3},{3057,8023,3},{3057,8032,3},{3047,8053,3}, {3047,8060,3},{3040,8075,3},{3032,8082,3},{3027,8100,3},{3022,8103,3},{3020,8102,3}, {3018,8095,3},{3018,8092,3},{3022,8092,3},{3020,8088,3},{3017,8087,3},{3013,8087,3}, {3005,8077,3},{3002,8075,3},{3002,8072,3},{2997,8068,3},{2995,8060,3},{2985,8053,3}, {2980,8048,3},{2978,8042,3},{2975,8037,3},{2967,8038,3},{2965,8042,3},{2960,8040,3}, {2955,8035,3},{2952,8035,3},{2948,8028,3},{2945,8028,3},{2945,8025,3},{2942,8023,3}, {2938,8027,3},{2932,8028,3},{2932,8030,3},{2920,8028,3},{2922,8025,3},{2920,8023,3}, {2915,8025,3},{2913,8023,3},{2912,8017,3},{2910,8015,3},{2903,8012,3},{2900,8013,3}, {2895,8007,3},{2892,8005,3},{2883,8007,3},{2882,8013,3},{2877,8018,3},{2875,8025,3}, {2872,8027,3},{2870,8032,3},{2863,8035,3},{2863,8043,3},{2857,8052,3},{2858,8052,3}, {2865,8050,3},{2868,8053,3},{2868,8058,3},{2865,8058,3},{2863,8067,3},{2858,8070,3}, {2857,8075,3},{2853,8078,3},{2850,8083,3},{2850,8090,3},{2847,8090,3},{2843,8093,3}, {2843,8102,3},{2840,8102,3},{2837,8120,3},{2825,8125,3},{2820,8132,3},{2817,8132,3}, {2815,8130,3},{2815,8132,3},{2813,8132,3},{2813,8137,3},{2817,8138,3},{2815,8143,3}, {2813,8147,3},{2808,8148,3},{2802,8160,3},{2798,8163,3},{2797,8170,3},{2792,8178,3}, {2785,8188,3},{2787,8192,3},{2790,8195,3},{2792,8200,3},{2792,8208,3},{2787,8212,3}, {2785,8217,3},{2775,8232,3},{2773,8235,3},{2768,8242,3},{2767,8245,3},{2772,8270,3}, {2768,8272,3},{2755,8275,3},{2750,8277,3},{2750,8292,3},{2747,8295,3},{2745,8303,3}, {2745,8318,3},{2738,8325,3},{2735,8327,3},{2733,8332,3},{2735,8335,3},{2740,8338,3}, {2742,8340,3},{2745,8338,3},{2748,8340,3},{2747,8360,3},{2735,8385,3},{2737,8388,3}, {2742,8383,3},{2743,8383,3},{2745,8392,3},{2745,8403,3},{2752,8410,3},{2752,8415,3}, {2750,8415,3},{2747,8420,3},{2743,8422,3},{2745,8425,3},{2740,8428,3},{2738,8432,3}, {2733,8462,3},{2730,8465,3},{2722,8468,3},{2713,8468,3},{2705,8465,3},{2700,8475,3}, {2702,8485,3},{2697,8490,3},{2695,8497,3},{2690,8497,3},{2688,8503,3},{2685,8503,3}, {2687,8512,3},{2687,8518,3},{2685,8520,3},{2680,8518,3},{2677,8522,3},{2673,8533,3}, {2677,8538,3},{2680,8542,3},{2680,8548,3},{2687,8563,3},{2680,8573,3},{2677,8573,3}, {2667,8573,3},{2660,8580,3},{2660,8583,3},{2657,8585,3},{2662,8595,3},{2665,8597,3}, {2667,8603,3},{2660,8613,3},{2660,8620,3},{2658,8620,3},{2662,8628,3},{2662,8633,3}, {2660,8633,3},{2658,8633,3},{2658,8638,3},{2657,8642,3},{2653,8653,3},{2650,8657,3}, {2648,8662,3},{2642,8673,3},{2645,8677,3},{2643,8683,3},{2647,8688,3},{2650,8690,3}, {2653,8693,3},{2653,8700,3},{2658,8707,3},{2645,8710,3},{2642,8713,3},{2640,8715,3}, {2642,8725,3},{2637,8727,3},{2635,8733,3},{2635,8735,3},{2640,8737,3},{2643,8747,3}, {2642,8753,3},{2638,8760,3},{2640,8765,3},{2643,8768,3},{2642,8777,3},{2645,8778,3}, {2647,8778,3},{2643,8785,3},{2647,8788,3},{2647,8790,3},{2645,8793,3},{2643,8792,3}, {2640,8795,3},{2637,8802,3},{2643,8810,3},{2648,8812,3},{2653,8810,3},{2660,8813,3}, {2667,8817,3},{2677,8820,3},{2687,8818,3},{2693,8813,3},{2698,8812,3},{2703,8807,3}, {2705,8803,3},{2712,8800,3},{2715,8802,3},{2723,8802,3},{2733,8807,3},{2740,8803,3}, {2743,8807,3},{2748,8805,3},{2753,8805,3},{2758,8808,3},{2760,8812,3},{2778,8818,3}, {2782,8818,3},{2785,8820,3},{2787,8815,3},{2790,8812,3},{2795,8815,3},{2798,8840,3}, {2803,8848,3},{2803,8853,3},{2807,8855,3},{2812,8863,3},{2808,8867,3},{2807,8875,3}, {2800,8883,3},{2793,8883,3},{2790,8887,3},{2787,8888,3},{2767,8883,3},{2755,8877,3}, {2752,8878,3},{2745,8878,3},{2743,8878,3},{2738,8882,3},{2738,8885,3},{2732,8892,3}, {2728,8890,3},{2725,8880,3},{2715,8875,3},{2713,8880,3},{2708,8887,3},{2695,8888,3}, {2698,8892,3},{2697,8895,3},{2693,8895,3},{2692,8898,3},{2693,8903,3},{2688,8908,3}, {2683,8910,3},{2682,8913,3},{2682,8920,3},{2682,8927,3},{2685,8930,3},{2687,8937,3}, {2680,8947,3},{2682,8953,3},{2677,8965,3},{2673,8962,3},{2672,8963,3},{2673,8968,3}, {2670,8977,3},{2670,8985,3},{2673,8985,3},{2672,8990,3},{2675,9015,3},{2678,9018,3}, {2682,9018,3},{2685,9022,3},{2685,9030,3},{2690,9035,3},{2690,9038,3},{2680,9057,3}, {2677,9070,3},{2678,9103,3},{2682,9108,3},{2680,9123,3},{2678,9128,3},{2678,9132,3}, {2680,9138,3},{2688,9142,3},{2687,9150,3},{2680,9155,3},{2682,9162,3},{2680,9167,3}, {2682,9170,3},{2680,9172,3},{2687,9185,3},{2685,9187,3},{2682,9188,3},{2680,9190,3}, {2683,9192,3},{2685,9190,3},{2687,9193,3},{2690,9192,3},{2685,9198,3},{2685,9202,3}, {2687,9208,3},{2690,9210,3},{2693,9212,3},{2702,9208,3},{2708,9202,3},{2710,9202,3}, {2717,9202,3},{2718,9205,3},{2725,9207,3},{2728,9212,3},{2737,9208,3},{2748,9200,3}, {2745,9195,3},{2745,9187,3},{2742,9178,3},{2742,9177,3},{2745,9177,3},{2748,9167,3}, {2755,9162,3},{2765,9160,3},{2767,9160,3},{2772,9165,3},{2777,9165,3},{2777,9183,3}, {2773,9188,3},{2773,9197,3},{2773,9202,3},{2777,9207,3},{2778,9208,3},{2782,9213,3}, {2782,9225,3},{2787,9225,3},{2787,9227,3},{2780,9230,3},{2780,9233,3},{2785,9235,3}, {2780,9238,3},{2782,9240,3},{2787,9242,3},{2785,9243,3},{2783,9245,3},{2787,9255,3}, {2790,9258,3},{2792,9263,3},{2797,9272,3},{2805,9273,3},{2807,9267,3},{2813,9268,3}, {2820,9280,3},{2818,9282,3},{2820,9288,3},{2825,9293,3},{2827,9298,3},{2837,9308,3}, {2838,9313,3},{2863,9323,3},{2863,9328,3},{2867,9332,3},{2868,9357,3},{2868,9365,3}, {2872,9370,3},{2870,9373,3},{2875,9380,3},{2877,9385,3},{2878,9390,3},{2880,9390,3}, {2880,9393,3},{2883,9393,3},{2883,9400,3},{2887,9405,3},{2888,9405,3},{2897,9403,3}, {2898,9413,3},{2908,9422,3},{2915,9428,3},{2915,9435,3},{2920,9440,3},{2922,9442,3}, {2922,9455,3},{2927,9457,3},{2933,9463,3},{2932,9470,3},{2927,9475,3},{2922,9480,3}, {2917,9480,3},{2918,9487,3},{2915,9495,3},{2912,9502,3},{2913,9502,3},{2917,9498,3}, {2915,9502,3},{2915,9508,3},{2912,9512,3},{2910,9522,3},{2907,9525,3},{2903,9538,3}, {2905,9547,3},{2913,9550,3},{2913,9555,3},{2922,9553,3},{2922,9558,3},{2925,9558,3}, {2925,9563,3},{2930,9568,3},{2930,9572,3},{2935,9577,3},{2937,9583,3},{2940,9588,3}, {2940,9595,3},{2947,9608,3},{2935,9618,3},{2932,9618,3},{2925,9623,3},{2923,9628,3}, {2925,9632,3},{2928,9637,3},{2925,9640,3},{2918,9635,3},{2917,9625,3},{2915,9622,3}, {2910,9618,3},{2908,9612,3},{2907,9615,3},{2900,9618,3},{2895,9615,3},{2890,9617,3}, {2890,9620,3},{2893,9625,3},{2903,9635,3},{2905,9643,3},{2907,9650,3},{2897,9648,3}, {2897,9652,3},{2890,9653,3},{2878,9662,3},{2873,9660,3},{2868,9647,3},{2863,9648,3}, {2858,9643,3},{2858,9640,3},{2857,9640,3},{2855,9633,3},{2853,9633,3},{2848,9637,3}, {2842,9627,3},{2842,9628,3},{2838,9632,3},{2840,9637,3},{2835,9640,3},{2842,9645,3}, {2843,9653,3},{2847,9660,3},{2847,9665,3},{2843,9673,3},{2837,9678,3},{2837,9692,3}, {2835,9693,3},{2833,9698,3},{2833,9702,3},{2838,9708,3},{2838,9713,3},{2832,9720,3}, {2832,9723,3},{2828,9725,3},{2823,9730,3},{2822,9735,3},{2820,9737,3},{2817,9733,3}, {2808,9732,3},{2802,9740,3},{2795,9737,3},{2790,9737,3},{2788,9732,3},{2790,9732,3}, {2792,9728,3},{2790,9723,3},{2780,9712,3},{2778,9708,3},{2775,9708,3},{2773,9702,3}, {2767,9697,3},{2767,9693,3},{2762,9688,3},{2758,9688,3},{2750,9692,3},{2747,9690,3}, {2745,9690,3},{2722,9710,3},{2718,9713,3},{2717,9713,3},{2713,9717,3},{2708,9713,3}, {2710,9710,3},{2710,9707,3},{2713,9702,3},{2718,9688,3},{2722,9687,3},{2725,9688,3}, {2727,9685,3},{2732,9682,3},{2735,9678,3},{2737,9672,3},{2733,9667,3},{2735,9665,3}, {2737,9662,3},{2732,9657,3},{2730,9652,3},{2730,9643,3},{2728,9630,3},{2727,9620,3}, {2723,9610,3},{2717,9602,3},{2708,9597,3},{2703,9590,3},{2700,9580,3},{2697,9575,3}, {2688,9572,3},{2688,9565,3},{2682,9562,3},{2682,9552,3},{2672,9543,3},{2665,9527,3}, {2665,9525,3},{2668,9525,3},{2668,9523,3},{2663,9520,3},{2662,9513,3},{2657,9515,3}, {2648,9507,3},{2642,9510,3},{2633,9507,3},{2622,9508,3},{2620,9512,3},{2618,9510,3}, {2612,9512,3},{2608,9517,3},{2605,9518,3},{2597,9508,3},{2593,9502,3},{2575,9503,3}, {2573,9500,3},{2558,9488,3},{2557,9488,3},{2557,9485,3},{2550,9478,3},{2550,9473,3}, {2547,9470,3},{2540,9463,3},{2533,9462,3},{2528,9458,3},{2522,9458,3},{2518,9460,3}, {2513,9473,3},{2502,9473,3},{2498,9470,3},{2493,9470,3},{2487,9467,3},{2482,9462,3}, {2477,9462,3},{2472,9460,3},{2472,9458,3},{2472,9453,3},{2462,9452,3},{2457,9445,3}, {2450,9442,3},{2448,9438,3},{2442,9438,3},{2440,9435,3},{2437,9437,3},{2433,9432,3}, {2428,9432,3},{2415,9425,3},{2400,9422,3},{2393,9417,3},{2387,9415,3},{2385,9413,3}, {2385,9412,3},{2388,9410,3},{2390,9405,3},{2392,9403,3},{2395,9393,3},{2393,9382,3}, {2400,9375,3},{2402,9363,3},{2400,9362,3},{2397,9360,3},{2398,9357,3},{2397,9353,3}, {2397,9348,3},{2408,9340,3},{2408,9337,3},{2407,9333,3},{2398,9333,3},{2392,9338,3}, {2387,9338,3},{2373,9340,3},{2368,9343,3},{2365,9342,3},{2360,9342,3},{2350,9340,3}, {2338,9340,3},{2335,9337,3},{2323,9338,3},{2317,9337,3},{2313,9338,3},{2312,9335,3}, {2307,9335,3},{2302,9330,3},{2302,9323,3},{2307,9320,3},{2305,9313,3},{2302,9313,3}, {2292,9317,3},{2292,9315,3},{2288,9313,3},{2288,9312,3},{2278,9310,3},{2267,9310,3}, {2260,9313,3},{2253,9312,3},{2247,9313,3},{2243,9318,3},{2225,9320,3},{2223,9315,3}, {2220,9317,3},{2218,9315,3},{2222,9308,3},{2220,9305,3},{2212,9305,3},{2210,9302,3}, {2207,9298,3},{2200,9300,3},{2203,9295,3},{2202,9293,3},{2200,9292,3},{2195,9290,3}, {2198,9288,3},{2205,9287,3},{2217,9272,3},{2215,9270,3},{2210,9270,3},{2210,9268,3}, {2203,9268,3},{2202,9265,3},{2198,9260,3},{2213,9257,3},{2213,9260,3},{2217,9260,3}, {2220,9258,3},{2252,9255,3},{2255,9253,3},{2260,9253,3},{2272,9252,3},{2277,9247,3}, {2283,9245,3},{2285,9247,3},{2288,9245,3},{2293,9238,3},{2305,9238,3},{2310,9237,3}, {2322,9235,3},{2328,9238,3},{2337,9237,3},{2343,9232,3},{2355,9230,3},{2360,9228,3}, {2363,9228,3},{2370,9228,3},{2372,9227,3},{2372,9225,3},{2365,9222,3},{2365,9220,3}, {2372,9220,3},{2373,9217,3},{2373,9213,3},{2365,9207,3},{2365,9203,3},{2373,9197,3}, {2373,9195,3},{2367,9193,3},{2358,9197,3},{2350,9197,3},{2345,9193,3},{2343,9188,3}, {2342,9185,3},{2327,9177,3},{2308,9182,3},{2307,9178,3},{2303,9178,3},{2300,9172,3}, {2298,9165,3},{2295,9162,3},{2297,9160,3},{2298,9157,3},{2300,9155,3},{2305,9155,3}, {2307,9152,3},{2308,9153,3},{2318,9150,3},{2320,9147,3},{2322,9147,3},{2322,9145,3}, {2323,9145,3},{2327,9143,3},{2327,9140,3},{2320,9138,3},{2308,9140,3},{2307,9138,3}, {2308,9135,3},{2313,9133,3},{2332,9130,3},{2333,9128,3},{2337,9132,3},{2337,9128,3}, {2348,9125,3},{2352,9120,3},{2355,9120,3},{2363,9117,3},{2367,9117,3},{2365,9118,3}, {2368,9120,3},{2370,9117,3},{2373,9117,3},{2377,9122,3},{2385,9125,3},{2390,9123,3}, {2397,9127,3},{2400,9132,3},{2398,9135,3},{2400,9137,3},{2405,9138,3},{2410,9137,3}, {2412,9142,3},{2408,9153,3},{2410,9162,3},{2412,9163,3},{2415,9163,3},{2422,9165,3}, {2415,9170,3},{2415,9175,3},{2423,9175,3},{2423,9183,3},{2418,9183,3},{2415,9190,3}, {2427,9193,3},{2433,9192,3},{2435,9195,3},{2432,9198,3},{2433,9200,3},{2437,9197,3}, {2438,9197,3},{2437,9208,3},{2440,9212,3},{2443,9213,3},{2452,9213,3},{2457,9218,3}, {2463,9220,3},{2475,9225,3},{2482,9227,3},{2488,9225,3},{2490,9225,3},{2490,9230,3}, {2485,9238,3},{2487,9248,3},{2488,9250,3},{2493,9248,3},{2495,9245,3},{2497,9245,3}, {2497,9242,3},{2503,9240,3},{2505,9235,3},{2508,9233,3},{2510,9223,3},{2513,9220,3}, {2515,9215,3},{2517,9212,3},{2518,9203,3},{2517,9198,3},{2518,9193,3},{2517,9175,3}, {2515,9175,3},{2517,9172,3},{2513,9170,3},{2513,9165,3},{2513,9160,3},{2517,9158,3}, {2515,9155,3},{2513,9148,3},{2517,9140,3},{2517,9133,3},{2520,9125,3},{2520,9123,3}, {2520,9108,3},{2517,9097,3},{2515,9087,3},{2515,9082,3},{2518,9077,3},{2517,9075,3}, {2517,9068,3},{2518,9065,3},{2517,9052,3},{2515,9043,3},{2515,9038,3},{2520,9028,3}, {2522,9012,3},{2528,8997,3},{2532,8992,3},{2528,8988,3},{2528,8985,3},{2537,8982,3}, {2552,8985,3},{2563,8987,3},{2573,8982,3},{2577,8983,3},{2582,8980,3},{2593,8987,3}, {2595,8982,3},{2598,8985,3},{2600,8983,3},{2598,8982,3},{2605,8978,3},{2608,8978,3}, {2615,8973,3},{2617,8968,3},{2620,8968,3},{2623,8968,3},{2622,8963,3},{2618,8963,3}, {2617,8965,3},{2618,8962,3},{2615,8958,3},{2613,8960,3},{2613,8963,3},{2610,8960,3}, {2610,8958,3},{2608,8963,3},{2607,8963,3},{2603,8958,3},{2600,8958,3},{2597,8957,3}, {2597,8955,3},{2600,8952,3},{2600,8943,3},{2603,8940,3},{2600,8937,3},{2602,8932,3}, {2607,8928,3},{2607,8925,3},{2610,8925,3},{2612,8923,3},{2613,8915,3},{2627,8912,3}, {2632,8908,3},{2633,8910,3},{2632,8912,3},{2633,8913,3},{2635,8907,3},{2638,8907,3}, {2640,8903,3},{2645,8897,3},{2642,8892,3},{2637,8892,3},{2635,8895,3},{2633,8897,3}, {2633,8900,3},{2630,8900,3},{2630,8903,3},{2627,8903,3},{2627,8905,3},{2627,8907,3}, {2623,8905,3},{2623,8900,3},{2623,8895,3},{2628,8893,3},{2628,8890,3},{2627,8887,3}, {2623,8887,3},{2623,8885,3},{2623,8883,3},{2628,8880,3},{2630,8877,3},{2627,8868,3}, {2628,8867,3},{2628,8870,3},{2630,8872,3},{2632,8873,3},{2635,8873,3},{2637,8870,3}, {2638,8870,3},{2640,8867,3},{2642,8868,3},{2642,8865,3},{2647,8862,3},{2647,8857,3}, {2653,8848,3},{2655,8843,3},{2663,8842,3},{2658,8837,3},{2647,8833,3},{2645,8837,3}, {2648,8838,3},{2647,8848,3},{2637,8853,3},{2637,8845,3},{2633,8843,3},{2632,8840,3}, {2628,8835,3},{2622,8835,3},{2618,8825,3},{2615,8818,3},{2612,8818,3},{2610,8815,3}, {2607,8818,3},{2603,8818,3},{2602,8815,3},{2593,8812,3},{2592,8810,3},{2583,8812,3}, {2580,8813,3},{2578,8815,3},{2580,8822,3},{2582,8825,3},{2580,8828,3},{2573,8835,3}, {2567,8845,3},{2560,8845,3},{2557,8850,3},{2553,8852,3},{2553,8855,3},{2552,8855,3}, {2550,8862,3},{2547,8870,3},{2550,8872,3},{2552,8880,3},{2547,8883,3},{2543,8883,3}, {2540,8882,3},{2537,8885,3},{2533,8888,3},{2533,8890,3},{2532,8892,3},{2532,8900,3}, {2528,8902,3},{2523,8895,3},{2520,8897,3},{2520,8893,3},{2518,8893,3},{2517,8895,3}, {2517,8893,3},{2518,8888,3},{2520,8883,3},{2517,8880,3},{2517,8875,3},{2518,8873,3}, {2520,8862,3},{2517,8858,3},{2518,8853,3},{2520,8850,3},{2518,8845,3},{2507,8847,3}, {2500,8842,3},{2493,8840,3},{2487,8835,3},{2488,8827,3},{2492,8825,3},{2495,8822,3}, {2492,8813,3},{2485,8817,3},{2482,8813,3},{2482,8812,3},{2477,8810,3},{2477,8808,3}, {2472,8807,3},{2468,8805,3},{2460,8810,3},{2452,8812,3},{2450,8813,3},{2443,8832,3}, {2432,8850,3},{2432,8858,3},{2430,8865,3},{2432,8868,3},{2425,8873,3},{2420,8875,3}, {2417,8872,3},{2408,8870,3},{2407,8873,3},{2403,8873,3},{2403,8875,3},{2400,8872,3}, {2398,8875,3},{2392,8873,3},{2390,8870,3},{2387,8867,3},{2387,8862,3},{2387,8860,3}, {2382,8860,3},{2377,8858,3},{2375,8858,3},{2365,8857,3},{2363,8858,3},{2360,8858,3}, {2358,8863,3},{2355,8865,3},{2352,8870,3},{2350,8873,3},{2347,8875,3},{2350,8878,3}, {2350,8880,3},{2347,8878,3},{2340,8875,3},{2337,8875,3},{2332,8872,3},{2325,8872,3}, {2322,8880,3},{2325,8883,3},{2322,8893,3},{2320,8898,3},{2318,8898,3},{2317,8895,3}, {2312,8892,3},{2310,8887,3},{2297,8887,3},{2293,8890,3},{2287,8893,3},{2285,8897,3}, {2278,8897,3},{2275,8893,3},{2268,8895,3},{2263,8895,3},{2258,8897,3},{2255,8895,3}, {2255,8893,3},{2252,8897,3},{2247,8900,3},{2242,8900,3},{2240,8898,3},{2232,8900,3}, {2230,8902,3},{2228,8900,3},{2227,8902,3},{2218,8907,3},{2215,8908,3},{2215,8910,3}, {2208,8905,3},{2198,8908,3},{2193,8907,3},{2192,8903,3},{2193,8902,3},{2190,8902,3}, {2190,8900,3},{2193,8895,3},{2198,8893,3},{2198,8892,3},{2195,8890,3},{2192,8893,3}, {2187,8902,3},{2178,8902,3},{2167,8908,3},{2162,8908,3},{2160,8905,3},{2163,8903,3}, {2160,8900,3},{2163,8893,3},{2165,8890,3},{2170,8887,3},{2177,8887,3},{2168,8883,3}, {2163,8885,3},{2162,8882,3},{2163,8880,3},{2165,8882,3},{2168,8880,3},{2167,8880,3}, {2165,8878,3},{2162,8877,3},{2158,8880,3},{2157,8878,3},{2155,8873,3},{2157,8872,3}, {2162,8872,3},{2170,8868,3},{2185,8870,3},{2188,8872,3},{2195,8872,3},{2200,8877,3}, {2203,8875,3},{2207,8872,3},{2213,8877,3},{2212,8873,3},{2208,8868,3},{2202,8873,3}, {2193,8868,3},{2193,8863,3},{2197,8862,3},{2202,8867,3},{2210,8863,3},{2215,8865,3}, {2217,8868,3},{2220,8868,3},{2220,8867,3},{2210,8862,3},{2203,8863,3},{2198,8860,3}, {2193,8860,3},{2182,8855,3},{2177,8857,3},{2178,8862,3},{2175,8863,3},{2170,8862,3}, {2170,8858,3},{2162,8860,3},{2162,8857,3},{2157,8857,3},{2155,8855,3},{2157,8853,3}, {2155,8853,3},{2153,8855,3},{2152,8850,3},{2155,8848,3},{2158,8850,3},{2160,8852,3}, {2167,8853,3},{2175,8850,3},{2178,8853,3},{2182,8853,3},{2187,8850,3},{2192,8852,3}, {2195,8850,3},{2192,8850,3},{2188,8847,3},{2185,8848,3},{2180,8850,3},{2180,8847,3}, {2173,8845,3},{2167,8847,3},{2162,8845,3},{2158,8838,3},{2163,8838,3},{2170,8838,3}, {2168,8835,3},{2172,8833,3},{2170,8832,3},{2167,8835,3},{2162,8835,3},{2160,8832,3}, {2177,8830,3},{2180,8827,3},{2178,8825,3},{2167,8830,3},{2160,8828,3},{2157,8830,3}, {2155,8825,3},{2162,8822,3},{2160,8820,3},{2162,8820,3},{2167,8818,3},{2168,8818,3}, {2172,8820,3},{2180,8820,3},{2187,8815,3},{2192,8817,3},{2195,8815,3},{2198,8815,3}, {2207,8822,3},{2215,8820,3},{2218,8817,3},{2222,8808,3},{2223,8808,3},{2222,8803,3}, {2223,8800,3},{2230,8797,3},{2242,8793,3},{2242,8790,3},{2240,8792,3},{2227,8795,3}, {2222,8798,3},{2220,8802,3},{2217,8815,3},{2212,8817,3},{2208,8817,3},{2202,8808,3}, {2202,8805,3},{2197,8803,3},{2185,8798,3},{2180,8790,3},{2177,8788,3},{2170,8780,3}, {2165,8767,3},{2165,8763,3},{2160,8745,3},{2157,8737,3},{2155,8722,3},{2148,8707,3}, {2138,8697,3},{2127,8688,3},{2120,8683,3},{2115,8683,3},{2098,8688,3},{2095,8690,3}, {2080,8697,3},{2078,8697,3},{2078,8690,3},{2077,8688,3},{2075,8693,3},{2075,8698,3}, {2070,8700,3},{2072,8695,3},{2070,8693,3},{2068,8698,3},{2067,8700,3},{2067,8703,3}, {2070,8705,3},{2048,8675,3},{2045,8673,3},{2038,8672,3},{2037,8672,3},{2040,8677,3}, {2038,8678,3},{2043,8680,3},{2038,8680,3},{2032,8675,3},{2030,8670,3},{2028,8670,3}, {2032,8675,3},{2028,8670,3},{2018,8648,3},{2010,8647,3},{2010,8648,3},{2002,8640,3}, {2000,8640,3},{2000,8642,3},{1998,8642,3},{1998,8637,3},{2007,8628,3},{2005,8623,3}, {2008,8618,3},{2013,8615,3},{2008,8615,3},{2007,8617,3},{2002,8623,3},{2002,8630,3}, {1998,8632,3},{1997,8638,3},{1995,8632,3},{1990,8627,3},{1985,8610,3},{1985,8605,3}, {1983,8602,3},{1977,8573,3},{1972,8562,3},{1972,8563,3},{1973,8562,3},{1968,8553,3}, {1967,8545,3},{1968,8545,3},{1968,8542,3},{1970,8542,3},{1973,8552,3},{1972,8552,3}, {1973,8557,3},{1975,8555,3},{1980,8557,3},{1983,8558,3},{1988,8557,3},{1990,8547,3}, {1983,8535,3},{1978,8532,3},{1977,8525,3},{1972,8520,3},{1968,8520,3},{1960,8513,3}, {1955,8515,3},{1955,8513,3},{1953,8510,3},{1952,8510,3},{1952,8512,3},{1947,8513,3}, {1950,8517,3},{1950,8520,3},{1953,8520,3},{1955,8518,3},{1955,8523,3},{1958,8520,3}, {1958,8522,3},{1960,8525,3},{1963,8523,3},{1965,8525,3},{1963,8530,3},{1967,8535,3}, {1967,8538,3},{1968,8538,3},{1967,8540,3},{1965,8540,3},{1963,8538,3},{1962,8538,3}, {1958,8533,3},{1962,8532,3},{1960,8532,3},{1960,8528,3},{1957,8532,3},{1968,8558,3}, {1958,8533,3},{1947,8517,3},{1942,8510,3},{1937,8507,3},{1933,8502,3},{1922,8487,3}, {1915,8482,3},{1912,8478,3},{1912,8477,3},{1913,8477,3},{1915,8473,3},{1910,8472,3}, {1907,8473,3},{1910,8475,3},{1910,8478,3},{1898,8470,3},{1888,8462,3},{1877,8453,3}, {1868,8445,3},{1865,8443,3},{1853,8428,3},{1852,8427,3},{1852,8425,3},{1850,8423,3}, {1850,8428,3},{1855,8435,3},{1837,8413,3},{1830,8412,3},{1823,8402,3},{1822,8393,3}, {1820,8393,3},{1820,8390,3},{1815,8378,3},{1802,8358,3},{1793,8352,3},{1790,8347,3}, {1792,8345,3},{1788,8345,3},{1772,8335,3},{1768,8330,3},{1772,8328,3},{1772,8323,3}, {1770,8325,3},{1767,8330,3},{1763,8325,3},{1763,8322,3},{1760,8323,3},{1755,8317,3}, {1750,8302,3},{1745,8298,3},{1742,8290,3},{1742,8288,3},{1740,8285,3},{1737,8277,3}, {1725,8253,3},{1720,8248,3},{1705,8232,3},{1693,8227,3},{1692,8225,3},{1688,8225,3}, {1687,8228,3},{1685,8235,3},{1682,8237,3},{1685,8237,3},{1693,8237,3},{1695,8235,3}, {1687,8237,3},{1680,8237,3},{1662,8232,3},{1660,8230,3},{1662,8228,3},{1657,8230,3}, {1645,8207,3},{1645,8203,3},{1642,8200,3},{1640,8195,3},{1638,8193,3},{1637,8183,3}, {1630,8170,3},{1633,8165,3},{1635,8157,3},{1637,8157,3},{1637,8153,3},{1635,8155,3}, {1635,8147,3},{1633,8142,3},{1637,8143,3},{1638,8142,3},{1637,8138,3},{1637,8135,3}, {1637,8132,3},{1632,8125,3},{1628,8127,3},{1618,8120,3},{1605,8115,3},{1597,8115,3}, {1597,8113,3},{1585,8100,3},{1578,8102,3},{1585,8090,3},{1593,8092,3},{1603,8090,3}, {1602,8088,3},{1600,8088,3},{1602,8088,3},{1592,8090,3},{1583,8085,3},{1572,8082,3}, {1573,8080,3},{1583,8080,3},{1588,8078,3},{1590,8067,3},{1588,8065,3},{1588,8068,3}, {1588,8060,3},{1587,8057,3},{1588,8055,3},{1585,8052,3},{1577,8037,3},{1570,8028,3}, {1550,8020,3},{1548,8020,3},{1540,8013,3},{1532,8008,3},{1522,8008,3},{1518,8007,3}, {1508,8005,3},{1483,8008,3},{1478,8010,3},{1470,8010,3},{1467,8015,3},{1460,8018,3}, {1458,8018,3},{1457,8015,3},{1457,8020,3},{1448,8018,3},{1435,8018,3},{1427,8015,3}, {1425,8008,3},{1420,8003,3},{1420,8008,3},{1423,8013,3},{1415,8013,3},{1402,8015,3}, {1382,8025,3},{1377,8025,3},{1373,8023,3},{1368,8023,3},{1345,8032,3},{1343,8032,3}, {1345,8030,3},{1352,8028,3},{1362,8022,3},{1365,8018,3},{1367,8018,3},{1373,8015,3}, {1365,8015,3},{1362,8013,3},{1362,8012,3},{1367,8012,3},{1368,8010,3},{1365,8008,3}, {1365,8007,3},{1362,8007,3},{1362,8005,3},{1350,8012,3},{1348,8017,3},{1348,8023,3}, {1347,8027,3},{1343,8027,3},{1342,8032,3},{1338,8033,3},{1345,8033,3},{1333,8035,3}, {1325,8033,3},{1325,8032,3},{1322,8032,3},{1322,8033,3},{1320,8033,3},{1313,8030,3}, {1310,8032,3},{1307,8028,3},{1295,8027,3},{1278,8027,3},{1248,8017,3},{1235,8010,3}, {1232,8005,3},{1228,8003,3},{1223,7998,3},{1222,7995,3},{1220,7995,3},{1223,8000,3}, {1203,7987,3},{1197,7985,3},{1183,7980,3},{1180,7980,3},{1177,7978,3},{1155,7975,3}, {1143,7978,3},{1143,7980,3},{1145,7978,3},{1143,7982,3},{1137,7982,3},{1138,7977,3}, {1130,7967,3},{1130,7970,3},{1135,7975,3},{1137,7977,3},{1135,7983,3},{1123,7983,3}, {1117,7985,3},{1082,7983,3},{1038,7987,3},{1028,7985,3},{1027,7978,3},{1028,7978,3}, {1032,7973,3},{1030,7970,3},{1032,7963,3},{1030,7962,3},{1030,7968,3},{1028,7972,3}, {1030,7975,3},{1027,7977,3},{1027,7973,3},{1030,7955,3},{1032,7955,3},{1032,7960,3}, {1033,7960,3},{1033,7957,3},{1033,7953,3},{1032,7953,3},{1032,7952,3},{1032,7940,3}, {1028,7937,3},{1028,7932,3},{1022,7927,3},{1018,7927,3},{1018,7923,3},{1008,7923,3}, {1003,7928,3},{1002,7925,3},{992,7917,3},{983,7912,3},{973,7903,3},{967,7898,3}, {963,7897,3},{960,7895,3},{950,7893,3},{948,7890,3},{940,7895,3},{932,7903,3}, {928,7910,3},{928,7922,3},{928,7927,3},{932,7930,3},{932,7935,3},{925,7933,3}, {918,7943,3},{915,7945,3},{917,7940,3},{923,7933,3},{925,7928,3},{925,7923,3}, {927,7917,3},{925,7912,3},{927,7897,3},{925,7892,3},{925,7888,3},{923,7882,3}, {918,7873,3},{918,7867,3},{915,7865,3},{910,7842,3},{897,7823,3},{890,7820,3}, {887,7817,3},{877,7817,3},{877,7820,3},{878,7820,3},{877,7822,3},{875,7820,3}, {873,7817,3},{865,7813,3},{865,7812,3},{862,7813,3},{848,7813,3},{840,7807,3}, {837,7807,3},{833,7798,3},{825,7785,3},{822,7780,3},{818,7778,3},{813,7758,3}, {812,7757,3},{808,7757,3},{807,7753,3},{812,7730,3},{815,7728,3},{818,7723,3}, {840,7697,3},{880,7667,3},{890,7655,3},{892,7653,3},{893,7655,3},{890,7658,3}, {892,7662,3},{892,7657,3},{897,7660,3},{897,7667,3},{898,7663,3},{900,7667,3}, {900,7665,3},{900,7658,3},{895,7657,3},{900,7657,3},{893,7653,3},{900,7652,3}, {912,7645,3},{913,7647,3},{912,7648,3},{917,7648,3},{917,7647,3},{915,7647,3}, {925,7643,3},{925,7642,3},{915,7645,3},{928,7638,3},{948,7632,3},{968,7628,3}, {975,7628,3},{995,7623,3},{997,7625,3},{992,7630,3},{992,7627,3},{988,7627,3}, {987,7627,3},{988,7628,3},{987,7628,3},{983,7628,3},{987,7630,3},{987,7632,3}, {970,7633,3},{973,7635,3},{982,7633,3},{985,7632,3},{987,7633,3},{982,7637,3}, {970,7637,3},{967,7642,3},{968,7642,3},{970,7640,3},{970,7638,3},{973,7640,3}, {978,7638,3},{982,7640,3},{992,7637,3},{997,7632,3},{995,7630,3},{997,7628,3}, {998,7627,3},{1003,7627,3},{1007,7625,3},{1008,7625,3},{1012,7623,3},{1010,7623,3}, {1012,7622,3},{1013,7622,3},{1012,7620,3},{1007,7623,3},{998,7623,3},{1008,7618,3}, {1017,7618,3},{1020,7623,3},{1023,7623,3},{1023,7622,3},{1027,7620,3},{1020,7620,3}, {1018,7617,3},{1037,7612,3},{1042,7608,3},{1050,7605,3},{1055,7602,3},{1075,7592,3}, {1077,7592,3},{1080,7593,3},{1080,7590,3},{1093,7588,3},{1108,7583,3},{1133,7573,3}, {1137,7573,3},{1137,7572,3},{1145,7568,3},{1147,7562,3},{1170,7553,3},{1185,7538,3}, {1185,7535,3},{1190,7532,3},{1192,7532,3},{1193,7530,3},{1192,7540,3},{1193,7538,3}, {1197,7540,3},{1195,7535,3},{1195,7532,3},{1198,7528,3},{1200,7527,3},{1200,7533,3}, {1202,7532,3},{1203,7530,3},{1202,7527,3},{1198,7527,3},{1197,7528,3},{1200,7523,3}, {1202,7522,3},{1200,7520,3},{1210,7518,3},{1220,7513,3},{1225,7513,3},{1222,7510,3}, {1233,7507,3},{1252,7497,3},{1275,7485,3},{1278,7485,3},{1283,7482,3},{1282,7487,3}, {1285,7488,3},{1287,7493,3},{1287,7492,3},{1285,7485,3},{1287,7482,3},{1302,7477,3}, {1308,7478,3},{1310,7477,3},{1322,7473,3},{1335,7472,3},{1338,7468,3},{1347,7468,3}, {1342,7468,3},{1342,7470,3},{1342,7472,3},{1343,7470,3},{1347,7472,3},{1347,7470,3}, {1352,7468,3},{1363,7467,3},{1362,7467,3},{1365,7468,3},{1363,7470,3},{1365,7473,3}, {1365,7470,3},{1368,7468,3},{1370,7470,3},{1370,7468,3},{1367,7465,3},{1368,7463,3}, {1383,7462,3},{1393,7457,3},{1398,7452,3},{1402,7450,3},{1405,7450,3},{1418,7447,3}, {1425,7443,3},{1425,7452,3},{1430,7442,3},{1442,7440,3},{1442,7438,3},{1452,7435,3}, {1453,7437,3},{1448,7438,3},{1447,7438,3},{1445,7440,3},{1447,7440,3},{1448,7442,3}, {1450,7440,3},{1452,7438,3},{1453,7437,3},{1453,7438,3},{1455,7435,3},{1457,7435,3}, {1455,7433,3},{1452,7433,3},{1452,7430,3},{1458,7428,3},{1460,7433,3},{1462,7432,3}, {1460,7428,3},{1462,7427,3},{1468,7427,3},{1472,7425,3},{1473,7422,3},{1472,7420,3}, {1475,7417,3},{1475,7415,3},{1477,7413,3},{1480,7408,3},{1480,7412,3},{1483,7412,3}, {1483,7415,3},{1483,7417,3},{1487,7418,3},{1487,7423,3},{1488,7420,3},{1490,7422,3}, {1485,7413,3},{1485,7412,3},{1490,7408,3},{1492,7403,3},{1497,7403,3},{1500,7402,3}, {1502,7400,3},{1507,7395,3},{1508,7392,3},{1512,7392,3},{1515,7397,3},{1515,7395,3}, {1527,7390,3},{1530,7390,3},{1537,7388,3},{1537,7382,3},{1540,7378,3},{1540,7392,3}, {1537,7397,3},{1540,7395,3},{1542,7392,3},{1545,7378,3},{1550,7382,3},{1550,7387,3}, {1553,7387,3},{1550,7380,3},{1550,7377,3},{1560,7373,3},{1565,7378,3},{1565,7383,3}, {1565,7378,3},{1562,7372,3},{1570,7368,3},{1572,7370,3},{1572,7367,3},{1573,7365,3}, {1578,7365,3},{1588,7360,3},{1598,7348,3},{1600,7348,3},{1602,7352,3},{1602,7348,3}, {1607,7345,3},{1608,7347,3},{1615,7347,3},{1618,7348,3},{1617,7345,3},{1612,7345,3}, {1618,7343,3},{1622,7343,3},{1622,7342,3},{1635,7338,3},{1637,7335,3},{1640,7338,3}, {1642,7335,3},{1652,7330,3},{1655,7330,3},{1655,7332,3},{1652,7333,3},{1652,7338,3}, {1653,7335,3},{1655,7337,3},{1657,7333,3},{1660,7332,3},{1660,7333,3},{1662,7335,3}, {1660,7338,3},{1663,7337,3},{1662,7332,3},{1665,7332,3},{1668,7333,3},{1672,7330,3}, {1675,7328,3},{1680,7332,3},{1682,7328,3},{1687,7327,3},{1690,7328,3},{1690,7327,3}, {1698,7328,3},{1700,7325,3},{1703,7325,3},{1703,7327,3},{1708,7327,3},{1717,7325,3}, {1720,7323,3},{1722,7323,3},{1730,7318,3},{1728,7325,3},{1737,7320,3},{1738,7317,3}, {1740,7317,3},{1743,7318,3},{1747,7318,3},{1753,7313,3},{1757,7313,3},{1757,7317,3}, {1758,7320,3},{1760,7313,3},{1763,7312,3},{1765,7312,3},{1768,7310,3},{1772,7312,3}, {1777,7312,3},{1790,7305,3},{1792,7305,3},{1795,7302,3},{1797,7302,3},{1798,7303,3}, {1798,7302,3},{1802,7300,3},{1805,7303,3},{1805,7305,3},{1803,7300,3},{1807,7298,3}, {1808,7298,3},{1812,7297,3},{1818,7297,3},{1822,7295,3},{1823,7292,3},{1828,7293,3}, {1827,7297,3},{1823,7297,3},{1825,7300,3},{1822,7305,3},{1818,7305,3},{1818,7307,3}, {1822,7308,3},{1827,7307,3},{1828,7305,3},{1827,7303,3},{1828,7298,3},{1830,7297,3}, {1833,7297,3},{1833,7295,3},{1835,7292,3},{1838,7292,3},{1842,7290,3},{1847,7288,3}, {1852,7290,3},{1853,7293,3},{1852,7297,3},{1847,7298,3},{1845,7300,3},{1847,7302,3}, {1848,7300,3},{1855,7297,3},{1855,7292,3},{1863,7288,3},{1867,7285,3},{1880,7285,3}, {1880,7288,3},{1878,7290,3},{1882,7293,3},{1878,7297,3},{1875,7297,3},{1873,7298,3}, {1880,7300,3},{1882,7302,3},{1883,7298,3},{1885,7297,3},{1887,7298,3},{1885,7292,3}, {1888,7290,3},{1892,7290,3},{1890,7293,3},{1892,7293,3},{1895,7293,3},{1893,7297,3}, {1895,7298,3},{1897,7295,3},{1900,7305,3},{1902,7305,3},{1900,7298,3},{1907,7300,3}, {1908,7297,3},{1917,7297,3},{1912,7293,3},{1907,7293,3},{1905,7295,3},{1902,7292,3}, {1898,7288,3},{1902,7288,3},{1895,7283,3},{1890,7282,3},{1890,7280,3},{1895,7282,3}, {1895,7280,3},{1895,7277,3},{1900,7280,3},{1903,7280,3},{1905,7283,3},{1907,7282,3}, {1917,7282,3},{1915,7278,3},{1917,7278,3},{1925,7283,3},{1925,7282,3},{1920,7278,3}, {1922,7277,3},{1932,7278,3},{1930,7280,3},{1932,7285,3},{1928,7290,3},{1928,7297,3}, {1922,7302,3},{1920,7303,3},{1922,7305,3},{1923,7302,3},{1925,7303,3},{1928,7300,3}, {1932,7297,3},{1930,7292,3},{1933,7288,3},{1933,7283,3},{1933,7280,3},{1937,7275,3}, {1947,7273,3},{1953,7288,3},{1953,7283,3},{1952,7280,3},{1957,7277,3},{1958,7273,3}, {1953,7273,3},{1952,7275,3},{1952,7273,3},{1960,7270,3},{1962,7272,3},{1972,7268,3}, {1970,7270,3},{1970,7273,3},{1975,7272,3},{1975,7273,3},{1978,7273,3},{1975,7268,3}, {1980,7268,3},{1983,7265,3},{1988,7267,3},{1993,7267,3},{1998,7270,3},{2007,7270,3}, {2010,7272,3},{2022,7275,3},{2022,7273,3},{2030,7275,3},{2035,7278,3},{2037,7282,3}, {2045,7283,3},{2050,7288,3},{2062,7288,3},{2063,7290,3},{2072,7292,3},{2073,7290,3}, {2077,7295,3},{2078,7292,3},{2082,7292,3},{2078,7290,3},{2083,7288,3},{2087,7290,3}, {2083,7283,3},{2085,7285,3},{2088,7285,3},{2090,7287,3},{2093,7283,3},{2095,7288,3}, {2097,7290,3},{2098,7288,3},{2097,7283,3},{2100,7282,3},{2100,7278,3},{2103,7277,3}, {2103,7285,3},{2107,7285,3},{2107,7283,3},{2110,7283,3},{2113,7280,3},{2112,7278,3}, {2112,7273,3},{2108,7273,3},{2107,7270,3},{2112,7270,3},{2115,7273,3},{2117,7272,3}, {2115,7267,3},{2110,7267,3},{2108,7263,3},{2110,7262,3},{2113,7262,3},{2120,7273,3}, {2125,7265,3},{2127,7263,3},{2125,7262,3},{2133,7258,3},{2137,7265,3},{2137,7257,3}, {2138,7257,3},{2142,7265,3},{2145,7270,3},{2145,7275,3},{2147,7275,3},{2147,7272,3}, {2143,7265,3},{2142,7258,3},{2148,7263,3},{2155,7272,3},{2157,7277,3},{2163,7282,3}, {2165,7290,3},{2172,7307,3},{2173,7312,3},{2175,7313,3},{2177,7312,3},{2168,7293,3}, {2168,7285,3},{2167,7278,3},{2168,7275,3},{2167,7268,3},{2168,7262,3},{2167,7253,3}, {2170,7253,3},{2177,7255,3},{2185,7257,3},{2193,7263,3},{2193,7268,3},{2198,7272,3}, {2198,7273,3},{2200,7272,3},{2197,7268,3},{2197,7262,3},{2190,7255,3},{2192,7253,3}, {2198,7250,3},{2213,7253,3},{2220,7258,3},{2222,7263,3},{2218,7268,3},{2218,7272,3}, {2217,7275,3},{2222,7278,3},{2223,7282,3},{2222,7288,3},{2222,7292,3},{2227,7292,3}, {2228,7290,3},{2227,7290,3},{2227,7282,3},{2223,7275,3},{2227,7268,3},{2227,7262,3}, {2228,7258,3},{2223,7250,3},{2223,7247,3},{2223,7245,3},{2225,7247,3},{2227,7245,3}, {2223,7242,3},{2225,7238,3},{2230,7238,3},{2235,7242,3},{2237,7238,3},{2228,7233,3}, {2227,7233,3},{2225,7230,3},{2227,7227,3},{2228,7227,3},{2230,7227,3},{2228,7215,3}, {2225,7218,3},{2225,7222,3},{2228,7223,3},{2223,7223,3},{2223,7230,3},{2215,7233,3}, {2207,7230,3},{2205,7227,3},{2202,7227,3},{2200,7222,3},{2198,7222,3},{2200,7218,3}, {2197,7217,3},{2202,7210,3},{2198,7213,3},{2197,7208,3},{2195,7210,3},{2195,7203,3}, {2193,7205,3},{2192,7212,3},{2193,7215,3},{2192,7215,3},{2188,7217,3},{2185,7217,3}, {2183,7215,3},{2185,7213,3},{2188,7210,3},{2190,7207,3},{2188,7205,3},{2187,7208,3}, {2185,7208,3},{2183,7210,3},{2183,7208,3},{2187,7200,3},{2185,7200,3},{2178,7200,3}, {2180,7202,3},{2177,7202,3},{2178,7207,3},{2177,7212,3},{2178,7217,3},{2177,7218,3}, {2173,7222,3},{2170,7222,3},{2168,7227,3},{2163,7230,3},{2158,7228,3},{2147,7225,3}, {2132,7210,3},{2127,7210,3},{2125,7208,3},{2120,7212,3},{2113,7200,3},{2113,7192,3}, {2107,7182,3},{2103,7178,3},{2102,7170,3},{2095,7155,3},{2098,7157,3},{2093,7148,3}, {2088,7147,3},{2083,7132,3},{2077,7113,3},{2073,7102,3},{2072,7100,3},{2070,7097,3}, {2070,7083,3},{2072,7078,3},{2072,7073,3},{2075,7068,3},{2078,7058,3},{2085,7047,3}, {2090,7040,3},{2092,7033,3},{2107,7015,3},{2118,7002,3},{2125,6997,3},{2132,6990,3}, {2145,6980,3},{2147,6982,3},{2150,6975,3},{2160,6965,3},{2165,6957,3},{2173,6948,3}, {2178,6942,3},{2183,6938,3},{2187,6938,3},{2185,6937,3},{2197,6922,3},{2220,6900,3}, {2230,6895,3},{2233,6895,3},{2240,6898,3},{2245,6900,3},{2248,6907,3},{2248,6908,3}, {2245,6908,3},{2243,6905,3},{2242,6905,3},{2240,6907,3},{2240,6908,3},{2240,6915,3}, {2242,6920,3},{2240,6920,3},{2237,6918,3},{2232,6917,3},{2227,6922,3},{2227,6923,3}, {2228,6932,3},{2233,6935,3},{2232,6940,3},{2233,6948,3},{2238,6953,3},{2243,6950,3}, {2245,6952,3},{2243,6953,3},{2245,6955,3},{2237,6955,3},{2237,6958,3},{2235,6962,3}, {2238,6962,3},{2237,6965,3},{2240,6967,3},{2240,6970,3},{2247,6973,3},{2242,6980,3}, {2247,6983,3},{2247,6988,3},{2250,6992,3},{2252,6993,3},{2253,6995,3},{2255,7002,3}, {2255,7003,3},{2255,7017,3},{2270,7027,3},{2273,7027,3},{2277,7032,3},{2282,7032,3}, {2288,7037,3},{2293,7042,3},{2297,7043,3},{2297,7048,3},{2298,7052,3},{2305,7053,3}, {2310,7050,3},{2313,7048,3},{2308,7040,3},{2305,7040,3},{2302,7042,3},{2293,7038,3}, {2293,7035,3},{2295,7027,3},{2300,7023,3},{2297,7023,3},{2295,7022,3},{2295,7017,3}, {2297,7013,3},{2298,7013,3},{2295,7012,3},{2293,7013,3},{2292,7013,3},{2288,6997,3}, {2283,6980,3},{2280,6975,3},{2277,6975,3},{2275,6970,3},{2275,6968,3},{2275,6958,3}, {2278,6957,3},{2278,6948,3},{2283,6933,3},{2282,6928,3},{2283,6922,3},{2287,6915,3}, {2293,6905,3},{2300,6890,3},{2315,6867,3},{2315,6865,3},{2318,6865,3},{2318,6862,3}, {2323,6860,3},{2323,6862,3},{2327,6862,3},{2325,6860,3},{2325,6857,3},{2327,6853,3}, {2332,6857,3},{2332,6860,3},{2333,6860,3},{2333,6857,3},{2335,6857,3},{2337,6852,3}, {2342,6852,3},{2342,6855,3},{2342,6850,3},{2340,6850,3},{2340,6848,3},{2342,6847,3}, {2343,6847,3},{2343,6843,3},{2345,6843,3},{2348,6845,3},{2352,6848,3},{2355,6843,3}, {2350,6845,3},{2350,6843,3},{2348,6842,3},{2352,6840,3},{2362,6842,3},{2363,6843,3}, {2362,6848,3},{2363,6850,3},{2363,6847,3},{2365,6847,3},{2368,6853,3},{2372,6857,3}, {2375,6863,3},{2382,6867,3},{2382,6872,3},{2387,6882,3},{2388,6880,3},{2387,6877,3}, {2385,6873,3},{2383,6870,3},{2383,6863,3},{2377,6858,3},{2373,6845,3},{2368,6838,3}, {2363,6837,3},{2363,6833,3},{2362,6835,3},{2360,6833,3},{2358,6827,3},{2358,6818,3}, {2360,6813,3},{2362,6815,3},{2363,6817,3},{2367,6820,3},{2365,6823,3},{2367,6828,3}, {2368,6828,3},{2367,6825,3},{2368,6822,3},{2372,6820,3},{2377,6820,3},{2192,8903,131}, {2193,8907,3},{2198,8908,3},{2208,8905,3},{2215,8910,3},{2215,8908,3},{2218,8907,3}, {2227,8902,3},{2228,8900,3},{2230,8902,3},{2232,8900,3},{2240,8898,3},{2242,8900,3}, {2247,8900,3},{2252,8897,3},{2255,8893,3},{2255,8895,3},{2258,8897,3},{2263,8895,3}, {2268,8895,3},{2275,8893,3},{2278,8897,3},{2285,8897,3},{2287,8893,3},{2293,8890,3}, {2297,8887,3},{2310,8887,3},{2312,8892,3},{2317,8895,3},{2318,8898,3},{2320,8898,3}, {2322,8893,3},{2325,8883,3},{2322,8880,3},{2325,8872,3},{2332,8872,3},{2337,8875,3}, {2340,8875,3},{2347,8878,3},{2350,8880,3},{2350,8878,3},{2347,8875,3},{2350,8873,3}, {2352,8870,3},{2355,8865,3},{2358,8863,3},{2360,8858,3},{2363,8858,3},{2365,8857,3}, {2375,8858,3},{2377,8858,3},{2382,8860,3},{2387,8860,3},{2387,8862,3},{2387,8867,3}, {2390,8870,3},{2392,8873,3},{2398,8875,3},{2400,8872,3},{2403,8875,3},{2403,8873,3}, {2407,8873,3},{2408,8870,3},{2417,8872,3},{2420,8875,3},{2425,8873,3},{2432,8868,3}, {2430,8865,3},{2432,8858,3},{2432,8850,3},{2443,8832,3},{2450,8813,3},{2452,8812,3}, {2460,8810,3},{2468,8805,3},{2472,8807,3},{2477,8808,3},{2477,8810,3},{2482,8812,3}, {2482,8813,3},{2485,8817,3},{2492,8813,3},{2495,8822,3},{2492,8825,3},{2488,8827,3}, {2487,8835,3},{2493,8840,3},{2500,8842,3},{2507,8847,3},{2518,8845,3},{2520,8850,3}, {2518,8853,3},{2517,8858,3},{2520,8862,3},{2518,8873,3},{2517,8875,3},{2517,8880,3}, {2520,8883,3},{2518,8888,3},{2517,8893,3},{2517,8895,3},{2518,8893,3},{2520,8893,3}, {2520,8897,3},{2523,8895,3},{2528,8902,3},{2532,8900,3},{2532,8892,3},{2533,8890,3}, {2533,8888,3},{2537,8885,3},{2540,8882,3},{2543,8883,3},{2547,8883,3},{2552,8880,3}, {2550,8872,3},{2547,8870,3},{2550,8862,3},{2552,8855,3},{2553,8855,3},{2553,8852,3}, {2557,8850,3},{2560,8845,3},{2567,8845,3},{2573,8835,3},{2580,8828,3},{2582,8825,3}, {2580,8822,3},{2578,8815,3},{2580,8813,3},{2583,8812,3},{2592,8810,3},{2593,8812,3}, {2602,8815,3},{2603,8818,3},{2607,8818,3},{2610,8815,3},{2612,8818,3},{2615,8818,3}, {2618,8825,3},{2622,8835,3},{2628,8835,3},{2632,8840,3},{2633,8843,3},{2637,8845,3}, {2637,8853,3},{2647,8848,3},{2648,8838,3},{2645,8837,3},{2647,8833,3},{2658,8837,3}, {2663,8842,3},{2655,8843,3},{2653,8848,3},{2647,8857,3},{2647,8862,3},{2642,8865,3}, {2642,8868,3},{2640,8867,3},{2638,8870,3},{2637,8870,3},{2635,8873,3},{2632,8873,3}, {2630,8872,3},{2628,8870,3},{2628,8867,3},{2627,8868,3},{2630,8877,3},{2628,8880,3}, {2623,8883,3},{2623,8885,3},{2623,8887,3},{2627,8887,3},{2628,8890,3},{2628,8893,3}, {2623,8895,3},{2623,8900,3},{2623,8905,3},{2627,8907,3},{2627,8905,3},{2627,8903,3}, {2630,8903,3},{2630,8900,3},{2633,8900,3},{2633,8897,3},{2635,8895,3},{2637,8892,3}, {2642,8892,3},{2645,8897,3},{2640,8903,3},{2638,8907,3},{2635,8907,3},{2633,8913,3}, {2632,8912,3},{2633,8910,3},{2632,8908,3},{2627,8912,3},{2613,8915,3},{2612,8923,3}, {2610,8925,3},{2607,8925,3},{2607,8928,3},{2602,8932,3},{2600,8937,3},{2603,8940,3}, {2600,8943,3},{2600,8952,3},{2597,8955,3},{2597,8957,3},{2600,8958,3},{2603,8958,3}, {2607,8963,3},{2608,8963,3},{2610,8958,3},{2610,8960,3},{2613,8963,3},{2613,8960,3}, {2615,8958,3},{2618,8962,3},{2617,8965,3},{2618,8963,3},{2622,8963,3},{2623,8968,3}, {2620,8968,3},{2617,8968,3},{2615,8973,3},{2608,8978,3},{2605,8978,3},{2598,8982,3}, {2600,8983,3},{2598,8985,3},{2595,8982,3},{2593,8987,3},{2582,8980,3},{2577,8983,3}, {2573,8982,3},{2563,8987,3},{2552,8985,3},{2537,8982,3},{2528,8985,3},{2528,8988,3}, {2532,8992,3},{2528,8997,3},{2522,9012,3},{2520,9028,3},{2515,9038,3},{2515,9043,3}, {2517,9052,3},{2518,9065,3},{2517,9068,3},{2517,9075,3},{2518,9077,3},{2515,9082,3}, {2515,9087,3},{2517,9097,3},{2520,9108,3},{2520,9123,3},{2520,9125,3},{2517,9133,3}, {2517,9140,3},{2513,9148,3},{2515,9155,3},{2517,9158,3},{2513,9160,3},{2513,9165,3}, {2513,9170,3},{2517,9172,3},{2515,9175,3},{2517,9175,3},{2518,9193,3},{2517,9198,3}, {2518,9203,3},{2517,9212,3},{2515,9215,3},{2513,9220,3},{2510,9223,3},{2508,9233,3}, {2505,9235,3},{2503,9240,3},{2497,9242,3},{2497,9245,3},{2495,9245,3},{2493,9248,3}, {2488,9250,3},{2487,9248,3},{2485,9238,3},{2490,9230,3},{2490,9225,3},{2488,9225,3}, {2482,9227,3},{2475,9225,3},{2463,9220,3},{2457,9218,3},{2452,9213,3},{2443,9213,3}, {2440,9212,3},{2437,9208,3},{2438,9197,3},{2437,9197,3},{2433,9200,3},{2432,9198,3}, {2435,9195,3},{2433,9192,3},{2427,9193,3},{2415,9190,3},{2418,9183,3},{2423,9183,3}, {2423,9175,3},{2415,9175,3},{2415,9170,3},{2422,9165,3},{2415,9163,3},{2412,9163,3}, {2410,9162,3},{2408,9153,3},{2412,9142,3},{2410,9137,3},{2405,9138,3},{2400,9137,3}, {2398,9135,3},{2400,9132,3},{2397,9127,3},{2390,9123,3},{2385,9125,3},{2377,9122,3}, {2373,9117,3},{2370,9117,3},{2368,9120,3},{2365,9118,3},{2367,9117,3},{2363,9117,3}, {2355,9120,3},{2352,9120,3},{2348,9125,3},{2337,9128,3},{2337,9132,3},{2333,9128,3}, {2332,9130,3},{2313,9133,3},{2308,9135,3},{2307,9138,3},{2308,9140,3},{2320,9138,3}, {2327,9140,3},{2327,9143,3},{2323,9145,3},{2322,9145,3},{2322,9147,3},{2320,9147,3}, {2318,9150,3},{2308,9153,3},{2307,9152,3},{2305,9155,3},{2300,9155,3},{2298,9157,3}, {2297,9160,3},{2295,9162,3},{2298,9165,3},{2300,9172,3},{2303,9178,3},{2307,9178,3}, {2308,9182,3},{2327,9177,3},{2342,9185,3},{2343,9188,3},{2345,9193,3},{2350,9197,3}, {2358,9197,3},{2367,9193,3},{2373,9195,3},{2373,9197,3},{2365,9203,3},{2365,9207,3}, {2373,9213,3},{2373,9217,3},{2372,9220,3},{2365,9220,3},{2365,9222,3},{2372,9225,3}, {2372,9227,3},{2370,9228,3},{2363,9228,3},{2360,9228,3},{2355,9230,3},{2343,9232,3}, {2337,9237,3},{2328,9238,3},{2322,9235,3},{2310,9237,3},{2305,9238,3},{2293,9238,3}, {2288,9245,3},{2285,9247,3},{2283,9245,3},{2277,9247,3},{2272,9252,3},{2260,9253,3}, {2255,9253,3},{2252,9255,3},{2220,9258,3},{2217,9260,3},{2213,9260,3},{2213,9257,3}, {2198,9260,3},{2188,9262,3},{2180,9260,3},{2163,9260,3},{2147,9262,3},{2130,9267,3}, {2125,9260,3},{2130,9258,3},{2138,9255,3},{2135,9248,3},{2137,9243,3},{2143,9242,3}, {2147,9237,3},{2142,9232,3},{2142,9227,3},{2137,9225,3},{2133,9220,3},{2130,9220,3}, {2123,9222,3},{2118,9220,3},{2113,9220,3},{2112,9220,3},{2107,9225,3},{2093,9225,3}, {2088,9230,3},{2080,9233,3},{2075,9233,3},{2075,9232,3},{2095,9220,3},{2102,9218,3}, {2117,9203,3},{2130,9203,3},{2145,9195,3},{2152,9200,3},{2157,9200,3},{2160,9202,3}, {2163,9200,3},{2167,9202,3},{2165,9198,3},{2168,9197,3},{2168,9195,3},{2178,9195,3}, {2180,9193,3},{2178,9190,3},{2185,9192,3},{2193,9192,3},{2212,9185,3},{2212,9183,3}, {2218,9182,3},{2222,9183,3},{2227,9183,3},{2227,9182,3},{2223,9182,3},{2223,9178,3}, {2238,9175,3},{2248,9170,3},{2260,9162,3},{2265,9160,3},{2278,9145,3},{2280,9143,3}, {2287,9148,3},{2290,9147,3},{2292,9148,3},{2290,9145,3},{2288,9147,3},{2285,9145,3}, {2277,9142,3},{2277,9138,3},{2283,9135,3},{2288,9133,3},{2285,9132,3},{2278,9133,3}, {2282,9132,3},{2282,9128,3},{2280,9125,3},{2282,9113,3},{2283,9110,3},{2282,9110,3}, {2282,9102,3},{2287,9093,3},{2288,9083,3},{2293,9077,3},{2290,9080,3},{2288,9080,3}, {2288,9077,3},{2290,9073,3},{2297,9068,3},{2302,9062,3},{2310,9057,3},{2315,9058,3}, {2327,9065,3},{2333,9063,3},{2335,9060,3},{2338,9058,3},{2348,9058,3},{2352,9063,3}, {2350,9058,3},{2358,9057,3},{2360,9050,3},{2357,9047,3},{2358,9052,3},{2353,9057,3}, {2347,9057,3},{2343,9055,3},{2340,9052,3},{2347,9028,3},{2353,9017,3},{2362,9010,3}, {2368,8990,3},{2373,8987,3},{2380,8978,3},{2390,8977,3},{2395,8972,3},{2397,8972,3}, {2398,8975,3},{2400,8967,3},{2397,8968,3},{2393,8968,3},{2390,8972,3},{2383,8972,3}, {2382,8968,3},{2382,8962,3},{2385,8945,3},{2395,8935,3},{2395,8925,3},{2392,8922,3}, {2388,8927,3},{2388,8937,3},{2385,8943,3},{2378,8950,3},{2380,8963,3},{2377,8972,3}, {2377,8978,3},{2370,8985,3},{2358,8995,3},{2357,8997,3},{2358,9000,3},{2360,9005,3}, {2358,9010,3},{2353,9013,3},{2343,9015,3},{2338,9018,3},{2345,9018,3},{2347,9018,3}, {2338,9035,3},{2342,9035,3},{2335,9047,3},{2333,9053,3},{2330,9055,3},{2327,9055,3}, {2318,9050,3},{2315,9052,3},{2313,9053,3},{2312,9053,3},{2310,9052,3},{2310,9045,3}, {2303,9043,3},{2302,9038,3},{2297,9053,3},{2295,9055,3},{2293,9062,3},{2290,9065,3}, {2290,9067,3},{2288,9067,3},{2283,9060,3},{2282,9055,3},{2282,9045,3},{2285,9040,3}, {2283,9038,3},{2278,9042,3},{2280,9045,3},{2278,9047,3},{2275,9045,3},{2272,9048,3}, {2262,9050,3},{2255,9057,3},{2247,9058,3},{2245,9062,3},{2237,9062,3},{2227,9060,3}, {2223,9057,3},{2222,9057,3},{2218,9050,3},{2208,9045,3},{2207,9043,3},{2208,9037,3}, {2200,9032,3},{2192,9028,3},{2187,9023,3},{2185,9025,3},{2183,9025,3},{2180,9020,3}, {2178,9015,3},{2180,9010,3},{2183,9008,3},{2185,9010,3},{2190,9012,3},{2190,9010,3}, {2183,9007,3},{2183,9003,3},{2183,9002,3},{2187,9003,3},{2195,9002,3},{2198,9007,3}, {2203,9008,3},{2208,9012,3},{2207,9008,3},{2200,9005,3},{2200,9000,3},{2205,8998,3}, {2200,8995,3},{2203,8992,3},{2212,8992,3},{2218,8990,3},{2228,8988,3},{2237,8992,3}, {2245,8998,3},{2247,8998,3},{2242,8993,3},{2238,8990,3},{2242,8987,3},{2235,8988,3}, {2227,8983,3},{2217,8987,3},{2208,8987,3},{2207,8980,3},{2203,8985,3},{2197,8985,3}, {2192,8988,3},{2188,8988,3},{2187,8983,3},{2183,8982,3},{2183,8977,3},{2185,8975,3}, {2182,8973,3},{2185,8967,3},{2190,8967,3},{2192,8965,3},{2185,8962,3},{2178,8970,3}, {2177,8970,3},{2175,8965,3},{2177,8960,3},{2175,8958,3},{2172,8960,3},{2170,8960,3}, {2170,8958,3},{2172,8955,3},{2182,8952,3},{2188,8957,3},{2193,8957,3},{2198,8955,3}, {2210,8960,3},{2220,8957,3},{2223,8960,3},{2233,8962,3},{2227,8958,3},{2223,8958,3}, {2220,8955,3},{2212,8958,3},{2198,8955,3},{2198,8953,3},{2202,8952,3},{2208,8953,3}, {2218,8948,3},{2227,8950,3},{2228,8947,3},{2222,8947,3},{2218,8947,3},{2213,8947,3}, {2210,8948,3},{2213,8950,3},{2208,8952,3},{2205,8952,3},{2203,8948,3},{2197,8952,3}, {2192,8952,3},{2190,8952,3},{2188,8948,3},{2185,8945,3},{2178,8947,3},{2177,8947,3}, {2172,8942,3},{2172,8940,3},{2173,8937,3},{2177,8937,3},{2183,8937,3},{2187,8938,3}, {2190,8938,3},{2197,8935,3},{2188,8935,3},{2187,8932,3},{2182,8932,3},{2182,8928,3}, {2175,8930,3},{2168,8927,3},{2167,8930,3},{2163,8923,3},{2165,8920,3},{2172,8922,3}, {2182,8918,3},{2178,8915,3},{2182,8910,3},{2185,8910,3},{2192,8908,3},{2202,8908,3}, {2205,8907,3},{2212,8907,3},{2213,8905,3},{2208,8903,3},{2202,8907,3},{2193,8907,3}, {2192,8903,3},{2732,8892,131},{2747,8897,3},{2750,8900,3},{2757,8913,3}, {2762,8913,3},{2780,8923,3},{2787,8937,3},{2805,8948,3},{2808,8955,3},{2815,8958,3}, {2820,8980,3},{2823,8980,3},{2830,8990,3},{2828,8993,3},{2830,8998,3},{2832,9000,3}, {2830,9018,3},{2825,9038,3},{2823,9040,3},{2820,9040,3},{2812,9035,3},{2808,9037,3}, {2807,9047,3},{2808,9053,3},{2807,9060,3},{2810,9068,3},{2808,9073,3},{2805,9083,3}, {2805,9092,3},{2803,9095,3},{2798,9102,3},{2797,9108,3},{2798,9113,3},{2807,9122,3}, {2807,9130,3},{2810,9132,3},{2805,9133,3},{2800,9143,3},{2797,9160,3},{2793,9167,3}, {2792,9168,3},{2787,9165,3},{2777,9165,3},{2772,9165,3},{2767,9160,3},{2765,9160,3}, {2755,9162,3},{2748,9167,3},{2745,9177,3},{2742,9177,3},{2742,9178,3},{2745,9187,3}, {2745,9195,3},{2748,9200,3},{2737,9208,3},{2728,9212,3},{2725,9207,3},{2718,9205,3}, {2717,9202,3},{2710,9202,3},{2708,9202,3},{2702,9208,3},{2693,9212,3},{2690,9210,3}, {2687,9208,3},{2685,9202,3},{2685,9198,3},{2690,9192,3},{2687,9193,3},{2685,9190,3}, {2683,9192,3},{2680,9190,3},{2682,9188,3},{2685,9187,3},{2687,9185,3},{2680,9172,3}, {2682,9170,3},{2680,9167,3},{2682,9162,3},{2680,9155,3},{2687,9150,3},{2688,9142,3}, {2680,9138,3},{2678,9132,3},{2678,9128,3},{2680,9123,3},{2682,9108,3},{2678,9103,3}, {2677,9070,3},{2680,9057,3},{2690,9038,3},{2690,9035,3},{2685,9030,3},{2685,9022,3}, {2682,9018,3},{2678,9018,3},{2675,9015,3},{2672,8990,3},{2673,8985,3},{2670,8985,3}, {2670,8977,3},{2673,8968,3},{2672,8963,3},{2673,8962,3},{2677,8965,3},{2682,8953,3}, {2680,8947,3},{2687,8937,3},{2685,8930,3},{2682,8927,3},{2682,8920,3},{2682,8913,3}, {2683,8910,3},{2688,8908,3},{2693,8903,3},{2692,8898,3},{2693,8895,3},{2697,8895,3}, {2698,8892,3},{2695,8888,3},{2708,8887,3},{2713,8880,3},{2715,8875,3},{2725,8880,3}, {2728,8890,3},{2732,8892,3},{3020,8102,131},{3015,8107,3},{3012,8108,3}, {3010,8110,3},{3005,8108,3},{3002,8113,3},{3002,8123,3},{3008,8128,3},{3015,8125,3}, {3015,8135,3},{3020,8137,3},{3025,8138,3},{3027,8143,3},{3030,8148,3},{3045,8162,3}, {3042,8167,3},{3033,8173,3},{3027,8175,3},{3022,8180,3},{3025,8182,3},{3017,8195,3}, {3015,8217,3},{3008,8223,3},{3003,8233,3},{3002,8245,3},{2995,8260,3},{2977,8277,3}, {2975,8283,3},{2967,8295,3},{2967,8308,3},{2955,8325,3},{2940,8340,3},{2917,8345,3}, {2913,8353,3},{2908,8358,3},{2905,8363,3},{2907,8372,3},{2913,8380,3},{2930,8388,3}, {2933,8397,3},{2928,8400,3},{2928,8412,3},{2918,8408,3},{2912,8412,3},{2905,8410,3}, {2898,8415,3},{2887,8412,3},{2880,8415,3},{2880,8420,3},{2882,8425,3},{2880,8433,3}, {2873,8435,3},{2873,8442,3},{2870,8447,3},{2872,8460,3},{2867,8463,3},{2865,8468,3}, {2862,8468,3},{2858,8485,3},{2863,8500,3},{2867,8505,3},{2868,8510,3},{2863,8512,3}, {2857,8512,3},{2843,8510,3},{2833,8515,3},{2832,8522,3},{2827,8530,3},{2828,8533,3}, {2827,8537,3},{2832,8542,3},{2832,8548,3},{2830,8557,3},{2818,8573,3},{2822,8577,3}, {2820,8580,3},{2820,8585,3},{2810,8592,3},{2802,8592,3},{2797,8595,3},{2793,8595,3}, {2792,8607,3},{2792,8608,3},{2793,8608,3},{2807,8607,3},{2810,8613,3},{2813,8617,3}, {2810,8620,3},{2807,8620,3},{2797,8623,3},{2795,8635,3},{2795,8642,3},{2792,8643,3}, {2792,8652,3},{2793,8653,3},{2797,8653,3},{2802,8652,3},{2803,8655,3},{2808,8657,3}, {2807,8663,3},{2808,8667,3},{2810,8670,3},{2810,8673,3},{2803,8677,3},{2800,8687,3}, {2797,8693,3},{2788,8713,3},{2783,8715,3},{2780,8720,3},{2778,8727,3},{2787,8742,3}, {2782,8742,3},{2785,8750,3},{2783,8752,3},{2785,8755,3},{2780,8762,3},{2780,8765,3}, {2782,8773,3},{2780,8780,3},{2782,8785,3},{2782,8790,3},{2783,8795,3},{2790,8798,3}, {2792,8803,3},{2790,8805,3},{2785,8808,3},{2787,8815,3},{2785,8820,3},{2782,8818,3}, {2778,8818,3},{2760,8812,3},{2758,8808,3},{2753,8805,3},{2748,8805,3},{2743,8807,3}, {2740,8803,3},{2733,8807,3},{2723,8802,3},{2715,8802,3},{2712,8800,3},{2705,8803,3}, {2703,8807,3},{2698,8812,3},{2693,8813,3},{2687,8818,3},{2677,8820,3},{2667,8817,3}, {2660,8813,3},{2653,8810,3},{2648,8812,3},{2643,8810,3},{2637,8802,3},{2640,8795,3}, {2643,8792,3},{2645,8793,3},{2647,8790,3},{2647,8788,3},{2643,8785,3},{2647,8778,3}, {2645,8778,3},{2642,8777,3},{2643,8768,3},{2640,8765,3},{2638,8760,3},{2642,8753,3}, {2643,8747,3},{2640,8737,3},{2635,8735,3},{2635,8733,3},{2637,8727,3},{2642,8725,3}, {2640,8715,3},{2642,8713,3},{2645,8710,3},{2658,8707,3},{2653,8700,3},{2653,8693,3}, {2650,8690,3},{2647,8688,3},{2643,8683,3},{2645,8677,3},{2642,8673,3},{2648,8662,3}, {2650,8657,3},{2653,8653,3},{2657,8642,3},{2658,8638,3},{2658,8633,3},{2660,8633,3}, {2662,8633,3},{2662,8628,3},{2658,8620,3},{2660,8620,3},{2660,8613,3},{2667,8603,3}, {2665,8597,3},{2662,8595,3},{2657,8585,3},{2660,8583,3},{2660,8580,3},{2667,8573,3}, {2677,8573,3},{2680,8573,3},{2687,8563,3},{2680,8548,3},{2680,8542,3},{2677,8538,3}, {2673,8533,3},{2677,8522,3},{2680,8518,3},{2685,8520,3},{2687,8518,3},{2687,8512,3}, {2685,8503,3},{2688,8503,3},{2690,8497,3},{2695,8497,3},{2697,8490,3},{2702,8485,3}, {2700,8475,3},{2705,8465,3},{2713,8468,3},{2722,8468,3},{2730,8465,3},{2733,8462,3}, {2738,8432,3},{2740,8428,3},{2745,8425,3},{2743,8422,3},{2747,8420,3},{2750,8415,3}, {2752,8415,3},{2752,8410,3},{2745,8403,3},{2745,8392,3},{2743,8383,3},{2742,8383,3}, {2737,8388,3},{2735,8385,3},{2747,8360,3},{2748,8340,3},{2745,8338,3},{2742,8340,3}, {2740,8338,3},{2735,8335,3},{2733,8332,3},{2735,8327,3},{2738,8325,3},{2745,8318,3}, {2745,8303,3},{2747,8295,3},{2750,8292,3},{2750,8277,3},{2755,8275,3},{2768,8272,3}, {2772,8270,3},{2767,8245,3},{2768,8242,3},{2773,8235,3},{2775,8232,3},{2785,8217,3}, {2787,8212,3},{2792,8208,3},{2792,8200,3},{2790,8195,3},{2787,8192,3},{2785,8188,3}, {2792,8178,3},{2797,8170,3},{2798,8163,3},{2802,8160,3},{2808,8148,3},{2813,8147,3}, {2815,8143,3},{2817,8138,3},{2813,8137,3},{2813,8132,3},{2815,8132,3},{2815,8130,3}, {2817,8132,3},{2820,8132,3},{2825,8125,3},{2837,8120,3},{2840,8102,3},{2843,8102,3}, {2843,8093,3},{2847,8090,3},{2850,8090,3},{2850,8083,3},{2853,8078,3},{2857,8075,3}, {2858,8070,3},{2863,8067,3},{2865,8058,3},{2868,8058,3},{2868,8053,3},{2865,8050,3}, {2858,8052,3},{2857,8052,3},{2863,8043,3},{2863,8035,3},{2870,8032,3},{2872,8027,3}, {2875,8025,3},{2877,8018,3},{2882,8013,3},{2883,8007,3},{2892,8005,3},{2895,8007,3}, {2900,8013,3},{2903,8012,3},{2910,8015,3},{2912,8017,3},{2913,8023,3},{2915,8025,3}, {2920,8023,3},{2922,8025,3},{2920,8028,3},{2932,8030,3},{2932,8028,3},{2938,8027,3}, {2942,8023,3},{2945,8025,3},{2945,8028,3},{2948,8028,3},{2952,8035,3},{2955,8035,3}, {2960,8040,3},{2965,8042,3},{2967,8038,3},{2975,8037,3},{2978,8042,3},{2980,8048,3}, {2985,8053,3},{2995,8060,3},{2997,8068,3},{3002,8072,3},{3002,8075,3},{3005,8077,3}, {3013,8087,3},{3017,8087,3},{3020,8088,3},{3022,8092,3},{3018,8092,3},{3018,8095,3}, {3020,8102,3},{2520,6162,131},{2532,6165,3},{2565,6167,3},{2568,6168,3}, {2573,6173,3},{2572,6180,3},{2575,6183,3},{2582,6183,3},{2585,6182,3},{2587,6185,3}, {2588,6188,3},{2592,6183,3},{2597,6182,3},{2600,6185,3},{2607,6183,3},{2627,6188,3}, {2628,6197,3},{2633,6203,3},{2632,6208,3},{2628,6212,3},{2628,6223,3},{2632,6225,3}, {2633,6223,3},{2633,6227,3},{2637,6228,3},{2642,6227,3},{2647,6232,3},{2650,6232,3}, {2653,6237,3},{2655,6242,3},{2657,6243,3},{2658,6262,3},{2662,6267,3},{2660,6270,3}, {2662,6275,3},{2663,6277,3},{2665,6283,3},{2663,6318,3},{2672,6320,3},{2682,6318,3}, {2685,6325,3},{2708,6325,3},{2713,6333,3},{2723,6327,3},{2723,6323,3},{2727,6320,3}, {2727,6318,3},{2725,6315,3},{2725,6305,3},{2722,6295,3},{2722,6285,3},{2727,6278,3}, {2728,6280,3},{2732,6282,3},{2737,6280,3},{2748,6285,3},{2775,6283,3},{2803,6277,3}, {2822,6280,3},{2828,6278,3},{2827,6260,3},{2832,6253,3},{2838,6250,3},{2838,6247,3}, {2842,6243,3},{2845,6233,3},{2852,6207,3},{2857,6190,3},{2865,6182,3},{2873,6173,3}, {2878,6167,3},{2887,6160,3},{2902,6153,3},{2905,6148,3},{2908,6152,3},{2910,6148,3}, {2913,6147,3},{2915,6143,3},{2922,6140,3},{2927,6137,3},{2930,6135,3},{2935,6137,3}, {2938,6137,3},{2940,6132,3},{2943,6128,3},{2948,6123,3},{2953,6120,3},{2957,6115,3}, {2962,6112,3},{2965,6107,3},{2970,6103,3},{2973,6098,3},{2978,6095,3},{2982,6092,3}, {2987,6087,3},{2985,6092,3},{2983,6098,3},{2982,6103,3},{2980,6110,3},{2978,6117,3}, {2977,6122,3},{2975,6128,3},{2973,6135,3},{2972,6140,3},{2970,6147,3},{2968,6153,3}, {2967,6158,3},{2965,6165,3},{2962,6172,3},{2960,6177,3},{2958,6183,3},{2957,6188,3}, {2955,6195,3},{2953,6202,3},{2952,6207,3},{2950,6213,3},{2948,6220,3},{2947,6225,3}, {2945,6232,3},{2943,6238,3},{2942,6243,3},{2940,6248,3},{2942,6257,3},{2942,6262,3}, {2942,6268,3},{2943,6273,3},{2943,6280,3},{2943,6287,3},{2945,6292,3},{2945,6298,3}, {2945,6305,3},{2947,6312,3},{2947,6317,3},{2947,6323,3},{2948,6330,3},{2948,6335,3}, {2948,6342,3},{2950,6347,3},{2950,6353,3},{2950,6358,3},{2950,6365,3},{2948,6372,3}, {2947,6377,3},{2947,6383,3},{2945,6390,3},{2943,6397,3},{2943,6402,3},{2940,6407,3}, {2938,6412,3},{2942,6413,3},{2945,6417,3},{2950,6420,3},{2952,6427,3},{2953,6432,3}, {2955,6438,3},{2957,6443,3},{2958,6450,3},{2958,6455,3},{2958,6462,3},{2958,6467,3}, {2958,6473,3},{2958,6480,3},{2957,6485,3},{2957,6492,3},{2955,6498,3},{2953,6503,3}, {2957,6510,3},{2957,6517,3},{2958,6522,3},{2960,6528,3},{2962,6533,3},{2963,6540,3}, {2965,6547,3},{2967,6552,3},{2968,6558,3},{2970,6563,3},{2972,6570,3},{2973,6577,3}, {2975,6582,3},{2975,6588,3},{2977,6593,3},{2978,6600,3},{2980,6607,3},{2982,6612,3}, {2983,6618,3},{2985,6625,3},{2990,6632,3},{2995,6633,3},{2995,6637,3},{3005,6625,3}, {3007,6623,3},{3023,6633,3},{3030,6632,3},{3045,6635,3},{3050,6633,3},{3052,6630,3}, {3057,6628,3},{3093,6640,3},{3098,6658,3},{3108,6668,3},{3122,6672,3},{3122,6680,3}, {3128,6685,3},{3132,6697,3},{3132,6705,3},{3125,6703,3},{3125,6705,3},{3125,6717,3}, {3122,6720,3},{3122,6728,3},{3122,6738,3},{3127,6758,3},{3127,6762,3},{3133,6772,3}, {3133,6778,3},{3135,6780,3},{3140,6778,3},{3142,6773,3},{3140,6767,3},{3143,6762,3}, {3147,6762,3},{3153,6758,3},{3153,6772,3},{3158,6782,3},{3163,6787,3},{3163,6798,3}, {3167,6800,3},{3170,6807,3},{3173,6808,3},{3177,6813,3},{3183,6817,3},{3182,6823,3}, {3178,6827,3},{3177,6837,3},{3173,6853,3},{3177,6857,3},{3178,6843,3},{3180,6845,3}, {3183,6855,3},{3182,6858,3},{3178,6862,3},{3178,6870,3},{3170,6873,3},{3167,6878,3}, {3162,6880,3},{3160,6883,3},{3162,6893,3},{3165,6895,3},{3165,6903,3},{3177,6917,3}, {3187,6922,3},{3193,6933,3},{3215,6927,3},{3232,6928,3},{3245,6925,3},{3253,6928,3}, {3257,6938,3},{3267,6945,3},{3273,6943,3},{3277,6940,3},{3285,6948,3},{3287,6952,3}, {3300,6948,3},{3303,6950,3},{3308,6958,3},{3308,6968,3},{3308,6970,3},{3313,6978,3}, {3310,6983,3},{3308,6988,3},{3313,6997,3},{3313,7003,3},{3320,7007,3},{3320,7015,3}, {3333,7033,3},{3342,7028,3},{3347,7023,3},{3347,7020,3},{3352,7017,3},{3360,7020,3}, {3363,7020,3},{3367,7015,3},{3373,7013,3},{3373,7010,3},{3375,6998,3},{3382,6995,3}, {3385,6992,3},{3390,6990,3},{3393,6987,3},{3398,6990,3},{3402,6990,3},{3403,6990,3}, {3405,7000,3},{3402,7010,3},{3402,7017,3},{3400,7020,3},{3398,7030,3},{3397,7033,3}, {3395,7078,3},{3397,7088,3},{3398,7092,3},{3402,7090,3},{3402,7098,3},{3403,7100,3}, {3405,7107,3},{3407,7108,3},{3412,7108,3},{3417,7113,3},{3427,7112,3},{3435,7117,3}, {3437,7115,3},{3438,7108,3},{3447,7100,3},{3450,7098,3},{3455,7098,3},{3457,7108,3}, {3462,7110,3},{3467,7110,3},{3473,7118,3},{3475,7123,3},{3477,7123,3},{3482,7128,3}, {3487,7130,3},{3488,7132,3},{3495,7150,3},{3502,7153,3},{3505,7153,3},{3508,7153,3}, {3512,7157,3},{3513,7162,3},{3520,7167,3},{3530,7155,3},{3533,7155,3},{3542,7165,3}, {3550,7160,3},{3557,7162,3},{3562,7152,3},{3572,7155,3},{3575,7148,3},{3578,7150,3}, {3587,7143,3},{3590,7138,3},{3595,7138,3},{3597,7128,3},{3605,7118,3},{3610,7123,3}, {3613,7125,3},{3617,7133,3},{3620,7133,3},{3622,7142,3},{3632,7150,3},{3633,7158,3}, {3637,7157,3},{3640,7160,3},{3647,7163,3},{3647,7165,3},{3640,7177,3},{3640,7180,3}, {3642,7182,3},{3647,7178,3},{3648,7180,3},{3650,7190,3},{3658,7202,3},{3658,7207,3}, {3663,7207,3},{3665,7218,3},{3667,7220,3},{3670,7217,3},{3672,7218,3},{3675,7232,3}, {3677,7247,3},{3682,7257,3},{3683,7287,3},{3687,7297,3},{3685,7302,3},{3688,7310,3}, {3688,7323,3},{3687,7330,3},{3688,7337,3},{3690,7348,3},{3688,7355,3},{3690,7358,3}, {3692,7367,3},{3690,7385,3},{3682,7403,3},{3683,7412,3},{3690,7415,3},{3690,7425,3}, {3697,7435,3},{3700,7442,3},{3702,7448,3},{3697,7455,3},{3703,7457,3},{3707,7468,3}, {3702,7473,3},{3702,7482,3},{3697,7488,3},{3692,7490,3},{3695,7492,3},{3698,7497,3}, {3700,7515,3},{3697,7520,3},{3692,7540,3},{3685,7543,3},{3677,7543,3},{3673,7545,3}, {3673,7553,3},{3677,7553,3},{3677,7557,3},{3677,7567,3},{3673,7575,3},{3667,7585,3}, {3662,7590,3},{3655,7593,3},{3645,7600,3},{3642,7602,3},{3632,7598,3},{3623,7603,3}, {3620,7600,3},{3618,7600,3},{3617,7600,3},{3612,7592,3},{3608,7593,3},{3602,7597,3}, {3600,7608,3},{3598,7612,3},{3590,7615,3},{3583,7615,3},{3582,7618,3},{3582,7628,3}, {3582,7633,3},{3583,7637,3},{3583,7642,3},{3587,7645,3},{3587,7653,3},{3592,7657,3}, {3590,7658,3},{3582,7657,3},{3575,7658,3},{3572,7672,3},{3565,7678,3},{3565,7687,3}, {3560,7692,3},{3558,7708,3},{3555,7712,3},{3553,7718,3},{3553,7732,3},{3547,7742,3}, {3548,7752,3},{3547,7763,3},{3547,7770,3},{3547,7773,3},{3550,7778,3},{3550,7782,3}, {3547,7777,3},{3543,7770,3},{3542,7765,3},{3538,7760,3},{3535,7753,3},{3533,7748,3}, {3530,7743,3},{3527,7737,3},{3523,7732,3},{3522,7727,3},{3518,7720,3},{3515,7715,3}, {3513,7708,3},{3510,7705,3},{3505,7707,3},{3500,7705,3},{3497,7700,3},{3492,7695,3}, {3487,7695,3},{3478,7695,3},{3475,7690,3},{3473,7682,3},{3475,7673,3},{3478,7663,3}, {3475,7650,3},{3470,7640,3},{3463,7635,3},{3465,7620,3},{3463,7610,3},{3450,7582,3}, {3447,7553,3},{3450,7540,3},{3462,7527,3},{3467,7517,3},{3467,7495,3},{3470,7482,3}, {3468,7470,3},{3472,7462,3},{3477,7455,3},{3478,7437,3},{3478,7432,3},{3473,7420,3}, {3470,7417,3},{3465,7417,3},{3468,7405,3},{3467,7397,3},{3465,7395,3},{3462,7393,3}, {3457,7395,3},{3455,7392,3},{3445,7387,3},{3440,7378,3},{3433,7375,3},{3432,7377,3}, {3435,7385,3},{3433,7387,3},{3433,7398,3},{3432,7405,3},{3428,7407,3},{3418,7407,3}, {3415,7403,3},{3413,7395,3},{3410,7393,3},{3407,7395,3},{3405,7397,3},{3403,7402,3}, {3405,7422,3},{3398,7428,3},{3395,7430,3},{3388,7423,3},{3382,7413,3},{3378,7405,3}, {3375,7402,3},{3368,7400,3},{3365,7400,3},{3360,7407,3},{3358,7413,3},{3342,7418,3}, {3332,7417,3},{3328,7410,3},{3327,7402,3},{3325,7400,3},{3322,7402,3},{3317,7412,3}, {3305,7425,3},{3303,7432,3},{3277,7442,3},{3278,7447,3},{3277,7448,3},{3273,7452,3}, {3277,7455,3},{3275,7458,3},{3275,7463,3},{3277,7463,3},{3282,7463,3},{3283,7470,3}, {3283,7472,3},{3273,7467,3},{3267,7468,3},{3260,7465,3},{3250,7468,3},{3248,7472,3}, {3247,7475,3},{3248,7485,3},{3248,7488,3},{3245,7493,3},{3248,7502,3},{3247,7507,3}, {3242,7515,3},{3240,7522,3},{3235,7532,3},{3228,7538,3},{3223,7537,3},{3220,7533,3}, {3217,7533,3},{3215,7530,3},{3215,7525,3},{3212,7518,3},{3210,7517,3},{3208,7517,3}, {3208,7513,3},{3207,7510,3},{3210,7505,3},{3210,7502,3},{3208,7502,3},{3207,7503,3}, {3207,7498,3},{3203,7497,3},{3203,7488,3},{3202,7487,3},{3202,7482,3},{3195,7478,3}, {3195,7470,3},{3188,7465,3},{3182,7453,3},{3177,7455,3},{3177,7452,3},{3173,7452,3}, {3160,7460,3},{3152,7460,3},{3148,7463,3},{3145,7463,3},{3140,7458,3},{3128,7455,3}, {3115,7453,3},{3112,7457,3},{3112,7463,3},{3108,7468,3},{3107,7468,3},{3105,7465,3}, {3102,7463,3},{3107,7455,3},{3098,7452,3},{3097,7447,3},{3092,7442,3},{3090,7437,3}, {3085,7437,3},{3083,7432,3},{3080,7430,3},{3077,7427,3},{3073,7427,3},{3072,7423,3}, {3068,7420,3},{3062,7410,3},{3053,7408,3},{3053,7400,3},{3050,7397,3},{3047,7397,3}, {3048,7393,3},{3042,7393,3},{3042,7390,3},{3040,7390,3},{3038,7387,3},{3037,7385,3}, {3033,7390,3},{3032,7393,3},{3020,7397,3},{3007,7380,3},{3002,7358,3},{2995,7340,3}, {2957,7327,3},{2925,7308,3},{2915,7298,3},{2903,7295,3},{2895,7273,3},{2877,7238,3}, {2868,7230,3},{2840,7220,3},{2833,7213,3},{2822,7200,3},{2812,7192,3},{2797,7190,3}, {2788,7163,3},{2787,7140,3},{2785,7123,3},{2772,7093,3},{2770,7083,3},{2773,7073,3}, {2787,7067,3},{2793,7067,3},{2800,7058,3},{2803,7053,3},{2805,7048,3},{2802,7037,3}, {2795,7028,3},{2783,7013,3},{2760,7003,3},{2750,6993,3},{2742,6988,3},{2732,6975,3}, {2728,6970,3},{2718,6958,3},{2700,6952,3},{2682,6948,3},{2675,6952,3},{2667,6972,3}, {2660,6980,3},{2658,6985,3},{2660,7010,3},{2657,7015,3},{2653,7018,3},{2643,7018,3}, {2638,7018,3},{2632,7017,3},{2625,7017,3},{2608,7010,3},{2598,7008,3},{2590,7013,3}, {2583,7018,3},{2580,7022,3},{2570,7028,3},{2567,7038,3},{2568,7053,3},{2572,7062,3}, {2568,7067,3},{2540,7068,3},{2533,7073,3},{2527,7075,3},{2515,7088,3},{2493,7095,3}, {2483,7102,3},{2475,7105,3},{2468,7108,3},{2465,7100,3},{2460,7098,3},{2455,7098,3}, {2453,7100,3},{2448,7100,3},{2445,7100,3},{2445,7108,3},{2443,7110,3},{2442,7110,3}, {2440,7105,3},{2437,7103,3},{2437,7097,3},{2437,7093,3},{2432,7087,3},{2427,7088,3}, {2423,7078,3},{2423,7072,3},{2425,7065,3},{2428,7058,3},{2437,7057,3},{2442,7060,3}, {2443,7058,3},{2442,7043,3},{2437,7038,3},{2437,7032,3},{2433,7025,3},{2432,7012,3}, {2420,7007,3},{2417,7003,3},{2417,6972,3},{2428,6960,3},{2430,6932,3},{2428,6925,3}, {2425,6918,3},{2430,6908,3},{2428,6905,3},{2425,6898,3},{2433,6893,3},{2432,6890,3}, {2425,6887,3},{2423,6885,3},{2427,6883,3},{2428,6885,3},{2433,6882,3},{2433,6878,3}, {2432,6875,3},{2397,6875,3},{2397,6838,3},{2395,6838,3},{2397,6837,3},{2397,6835,3}, {2393,6835,3},{2392,6833,3},{2392,6832,3},{2395,6830,3},{2392,6827,3},{2390,6828,3}, {2388,6822,3},{2377,6820,3},{2375,6818,3},{2375,6817,3},{2383,6818,3},{2387,6817,3}, {2390,6815,3},{2388,6815,3},{2383,6817,3},{2375,6815,3},{2372,6817,3},{2368,6815,3}, {2370,6812,3},{2372,6812,3},{2373,6810,3},{2370,6810,3},{2372,6805,3},{2377,6808,3}, {2380,6807,3},{2382,6810,3},{2388,6805,3},{2392,6807,3},{2393,6802,3},{2383,6805,3}, {2377,6802,3},{2380,6800,3},{2380,6795,3},{2383,6790,3},{2387,6790,3},{2387,6788,3}, {2385,6787,3},{2388,6785,3},{2390,6787,3},{2392,6785,3},{2388,6785,3},{2382,6783,3}, {2382,6780,3},{2383,6772,3},{2380,6775,3},{2378,6772,3},{2380,6763,3},{2388,6765,3}, {2393,6765,3},{2392,6763,3},{2388,6763,3},{2385,6762,3},{2385,6758,3},{2388,6758,3}, {2387,6757,3},{2390,6753,3},{2388,6752,3},{2388,6753,3},{2387,6755,3},{2388,6748,3}, {2390,6748,3},{2390,6752,3},{2393,6753,3},{2392,6750,3},{2397,6750,3},{2397,6747,3}, {2398,6745,3},{2403,6747,3},{2403,6750,3},{2407,6753,3},{2405,6750,3},{2407,6747,3}, {2407,6738,3},{2408,6733,3},{2413,6733,3},{2422,6730,3},{2425,6730,3},{2428,6728,3}, {2433,6730,3},{2435,6737,3},{2435,6728,3},{2443,6728,3},{2442,6725,3},{2445,6725,3}, {2450,6722,3},{2453,6723,3},{2453,6720,3},{2458,6718,3},{2458,6725,3},{2460,6722,3}, {2462,6715,3},{2465,6715,3},{2472,6720,3},{2473,6725,3},{2475,6725,3},{2477,6723,3}, {2475,6718,3},{2480,6715,3},{2478,6712,3},{2480,6708,3},{2477,6708,3},{2477,6707,3}, {2480,6702,3},{2483,6697,3},{2483,6695,3},{2480,6695,3},{2485,6685,3},{2483,6682,3}, {2485,6675,3},{2483,6665,3},{2488,6667,3},{2488,6670,3},{2490,6668,3},{2493,6667,3}, {2495,6668,3},{2512,6670,3},{2515,6673,3},{2520,6673,3},{2525,6670,3},{2537,6655,3}, {2538,6655,3},{2538,6658,3},{2542,6658,3},{2545,6655,3},{2552,6653,3},{2552,6650,3}, {2560,6643,3},{2558,6638,3},{2562,6637,3},{2560,6632,3},{2562,6627,3},{2560,6620,3}, {2557,6617,3},{2550,6613,3},{2547,6610,3},{2548,6622,3},{2555,6627,3},{2555,6633,3}, {2553,6635,3},{2552,6640,3},{2548,6642,3},{2548,6648,3},{2545,6647,3},{2542,6650,3}, {2540,6652,3},{2540,6650,3},{2545,6640,3},{2547,6627,3},{2545,6617,3},{2545,6608,3}, {2542,6600,3},{2542,6585,3},{2538,6578,3},{2537,6570,3},{2535,6567,3},{2538,6545,3}, {2537,6538,3},{2538,6540,3},{2538,6535,3},{2538,6532,3},{2537,6528,3},{2537,6525,3}, {2535,6520,3},{2532,6520,3},{2530,6517,3},{2528,6513,3},{2532,6507,3},{2532,6475,3}, {2528,6468,3},{2522,6467,3},{2518,6472,3},{2517,6467,3},{2517,6460,3},{2522,6463,3}, {2523,6462,3},{2527,6455,3},{2527,6450,3},{2523,6448,3},{2523,6443,3},{2527,6438,3}, {2530,6427,3},{2532,6425,3},{2533,6410,3},{2535,6410,3},{2537,6412,3},{2542,6408,3}, {2543,6410,3},{2542,6413,3},{2545,6415,3},{2545,6412,3},{2543,6407,3},{2545,6403,3}, {2542,6398,3},{2542,6400,3},{2538,6402,3},{2542,6405,3},{2537,6407,3},{2533,6407,3}, {2533,6393,3},{2538,6373,3},{2537,6357,3},{2532,6352,3},{2528,6350,3},{2528,6347,3}, {2525,6348,3},{2522,6352,3},{2518,6350,3},{2522,6342,3},{2522,6330,3},{2525,6315,3}, {2525,6312,3},{2523,6308,3},{2522,6300,3},{2525,6275,3},{2527,6255,3},{2525,6248,3}, {2522,6247,3},{2522,6248,3},{2520,6242,3},{2517,6235,3},{2513,6233,3},{2512,6238,3}, {2510,6238,3},{2510,6228,3},{2512,6228,3},{2512,6230,3},{2515,6232,3},{2517,6232,3}, {2520,6230,3},{2522,6225,3},{2522,6217,3},{2520,6210,3},{2518,6208,3},{2515,6207,3}, {2510,6210,3},{2512,6193,3},{2510,6187,3},{2507,6187,3},{2507,6185,3},{2503,6185,3}, {2505,6180,3},{2503,6177,3},{2505,6172,3},{2508,6173,3},{2510,6175,3},{2517,6178,3}, {2518,6178,3},{2517,6175,3},{2520,6170,3},{2520,6162,3},{4023,7097,131}, {4027,7097,3},{4027,7098,3},{4028,7102,3},{4030,7108,3},{4032,7115,3},{4033,7122,3}, {4030,7130,3},{4030,7137,3},{4027,7143,3},{4025,7150,3},{4023,7148,3},{4020,7155,3}, {4018,7162,3},{4020,7162,3},{4025,7162,3},{4025,7163,3},{4025,7167,3},{4018,7168,3}, {4015,7173,3},{4017,7178,3},{4020,7185,3},{4025,7185,3},{4025,7187,3},{4023,7195,3}, {4027,7200,3},{4032,7197,3},{4035,7203,3},{4040,7208,3},{4047,7210,3},{4045,7212,3}, {4045,7215,3},{4050,7218,3},{4050,7225,3},{4047,7227,3},{4043,7233,3},{4040,7242,3}, {4042,7242,3},{4047,7243,3},{4052,7242,3},{4052,7238,3},{4057,7242,3},{4062,7237,3}, {4062,7238,3},{4062,7242,3},{4060,7245,3},{4055,7248,3},{4057,7250,3},{4053,7257,3}, {4052,7263,3},{4053,7265,3},{4060,7268,3},{4057,7277,3},{4058,7277,3},{4067,7277,3}, {4068,7283,3},{4072,7290,3},{4073,7297,3},{4077,7305,3},{4080,7312,3},{4085,7313,3}, {4085,7307,3},{4088,7298,3},{4087,7298,3},{4083,7300,3},{4083,7298,3},{4082,7292,3}, {4083,7290,3},{4087,7285,3},{4087,7282,3},{4085,7273,3},{4087,7265,3},{4088,7258,3}, {4093,7255,3},{4098,7250,3},{4098,7248,3},{4103,7250,3},{4103,7248,3},{4105,7240,3}, {4105,7233,3},{4102,7228,3},{4100,7220,3},{4102,7218,3},{4105,7223,3},{4110,7222,3}, {4115,7220,3},{4117,7212,3},{4115,7207,3},{4117,7200,3},{4117,7193,3},{4120,7187,3}, {4127,7190,3},{4132,7193,3},{4132,7192,3},{4138,7187,3},{4137,7183,3},{4142,7182,3}, {4147,7177,3},{4145,7172,3},{4142,7170,3},{4143,7170,3},{4145,7170,3},{4150,7172,3}, {4155,7172,3},{4155,7170,3},{4153,7168,3},{4150,7162,3},{4147,7167,3},{4143,7167,3}, {4138,7167,3},{4133,7162,3},{4130,7157,3},{4132,7153,3},{4130,7145,3},{4123,7145,3}, {4118,7145,3},{4112,7143,3},{4110,7140,3},{4112,7138,3},{4117,7135,3},{4115,7133,3}, {4110,7130,3},{4112,7127,3},{4115,7128,3},{4118,7123,3},{4118,7122,3},{4117,7122,3}, {4118,7118,3},{4115,7112,3},{4117,7108,3},{4120,7102,3},{4117,7097,3},{4118,7095,3}, {4120,7092,3},{4123,7085,3},{4117,7082,3},{4118,7080,3},{4118,7078,3},{4120,7078,3}, {4125,7080,3},{4128,7078,3},{4135,7078,3},{4138,7077,3},{4147,7072,3},{4147,7068,3}, {4145,7060,3},{4142,7055,3},{4140,7048,3},{4145,7043,3},{4148,7037,3},{4152,7032,3}, {4152,7025,3},{4152,7018,3},{4155,7018,3},{4160,7020,3},{4160,7027,3},{4163,7035,3}, {4168,7040,3},{4172,7050,3},{4178,7052,3},{4182,7058,3},{4187,7063,3},{4192,7068,3}, {4192,7075,3},{4193,7075,3},{4192,7082,3},{4195,7085,3},{4200,7083,3},{4205,7087,3}, {4205,7090,3},{4203,7097,3},{4205,7103,3},{4208,7108,3},{4213,7115,3},{4213,7122,3}, {4215,7123,3},{4220,7125,3},{4222,7123,3},{4227,7115,3},{4228,7110,3},{4228,7102,3}, {4227,7093,3},{4225,7088,3},{4232,7087,3},{4237,7092,3},{4243,7095,3},{4248,7098,3}, {4250,7100,3},{4247,7107,3},{4250,7110,3},{4253,7103,3},{4255,7102,3},{4260,7105,3}, {4260,7113,3},{4260,7115,3},{4267,7117,3},{4270,7123,3},{4275,7127,3},{4277,7127,3}, {4278,7137,3},{4280,7143,3},{4282,7152,3},{4277,7157,3},{4277,7162,3},{4280,7170,3}, {4280,7177,3},{4283,7183,3},{4282,7190,3},{4278,7198,3},{4277,7205,3},{4273,7212,3}, {4275,7218,3},{4277,7227,3},{4275,7233,3},{4272,7240,3},{4268,7250,3},{4268,7258,3}, {4265,7267,3},{4263,7275,3},{4260,7278,3},{4255,7283,3},{4253,7292,3},{4253,7300,3}, {4253,7308,3},{4252,7318,3},{4250,7330,3},{4245,7330,3},{4243,7338,3},{4242,7345,3}, {4240,7348,3},{4242,7350,3},{4247,7350,3},{4250,7345,3},{4257,7342,3},{4263,7342,3}, {4270,7345,3},{4275,7348,3},{4283,7350,3},{4290,7350,3},{4297,7353,3},{4302,7355,3}, {4305,7363,3},{4308,7370,3},{4312,7378,3},{4310,7387,3},{4310,7390,3},{4315,7392,3}, {4320,7395,3},{4317,7402,3},{4317,7410,3},{4318,7417,3},{4322,7417,3},{4323,7415,3}, {4323,7428,3},{4320,7435,3},{4320,7442,3},{4318,7448,3},{4317,7450,3},{4313,7458,3}, {4310,7462,3},{4307,7468,3},{4302,7472,3},{4298,7478,3},{4300,7485,3},{4298,7492,3}, {4295,7497,3},{4292,7503,3},{4288,7510,3},{4285,7515,3},{4283,7523,3},{4285,7532,3}, {4282,7542,3},{4283,7548,3},{4282,7558,3},{4282,7562,3},{4282,7563,3},{4280,7572,3}, {4283,7577,3},{4290,7578,3},{4295,7585,3},{4295,7593,3},{4293,7600,3},{4292,7603,3}, {4292,7612,3},{4292,7618,3},{4292,7627,3},{4288,7632,3},{4287,7638,3},{4288,7645,3}, {4288,7648,3},{4292,7652,3},{4292,7658,3},{4290,7665,3},{4290,7673,3},{4295,7678,3}, {4298,7685,3},{4298,7693,3},{4297,7700,3},{4297,7708,3},{4297,7718,3},{4292,7722,3}, {4292,7735,3},{4293,7742,3},{4293,7752,3},{4292,7758,3},{4292,7768,3},{4290,7775,3}, {4292,7778,3},{4288,7785,3},{4287,7793,3},{4285,7797,3},{4287,7803,3},{4283,7807,3}, {4287,7808,3},{4285,7815,3},{4288,7817,3},{4287,7825,3},{4285,7832,3},{4288,7838,3}, {4288,7845,3},{4290,7852,3},{4287,7858,3},{4285,7865,3},{4283,7867,3},{4282,7875,3}, {4280,7882,3},{4278,7888,3},{4278,7895,3},{4278,7902,3},{4273,7907,3},{4278,7915,3}, {4278,7918,3},{4270,7918,3},{4265,7922,3},{4262,7928,3},{4258,7935,3},{4253,7940,3}, {4250,7947,3},{4247,7950,3},{4245,7957,3},{4245,7962,3},{4248,7965,3},{4247,7973,3}, {4245,7980,3},{4245,7985,3},{4243,7985,3},{4243,7993,3},{4240,7997,3},{4235,8002,3}, {4233,8007,3},{4230,8010,3},{4222,8012,3},{4220,8012,3},{4223,8020,3},{4223,8022,3}, {4222,8028,3},{4220,8023,3},{4213,8025,3},{4210,8028,3},{4205,8027,3},{4203,8020,3}, {4203,8003,3},{4202,7988,3},{4198,7983,3},{4192,7982,3},{4188,7978,3},{4188,7965,3}, {4178,7945,3},{4178,7940,3},{4178,7932,3},{4173,7922,3},{4172,7913,3},{4165,7900,3}, {4163,7892,3},{4157,7882,3},{4153,7868,3},{4148,7863,3},{4147,7853,3},{4138,7838,3}, {4135,7837,3},{4130,7838,3},{4128,7837,3},{4123,7828,3},{4115,7823,3},{4110,7818,3}, {4103,7808,3},{4105,7803,3},{4107,7787,3},{4100,7768,3},{4100,7760,3},{4098,7755,3}, {4098,7750,3},{4103,7738,3},{4100,7727,3},{4102,7713,3},{4105,7708,3},{4105,7702,3}, {4102,7687,3},{4093,7678,3},{4085,7678,3},{4082,7670,3},{4075,7665,3},{4060,7663,3}, {4055,7657,3},{4043,7648,3},{4035,7635,3},{4037,7632,3},{4043,7630,3},{4045,7628,3}, {4038,7620,3},{4040,7607,3},{4037,7598,3},{4030,7593,3},{4032,7578,3},{4030,7570,3}, {4040,7567,3},{4045,7570,3},{4048,7565,3},{4060,7562,3},{4065,7558,3},{4063,7552,3}, {4052,7533,3},{4048,7528,3},{4048,7525,3},{4045,7523,3},{4047,7517,3},{4045,7507,3}, {4052,7487,3},{4042,7482,3},{4035,7488,3},{4033,7488,3},{4035,7473,3},{4028,7467,3}, {4027,7460,3},{4013,7443,3},{4010,7437,3},{4010,7430,3},{4012,7422,3},{4007,7410,3}, {4007,7403,3},{4005,7400,3},{3997,7397,3},{3993,7392,3},{3987,7390,3},{3983,7385,3}, {3978,7385,3},{3975,7385,3},{3972,7392,3},{3963,7393,3},{3960,7395,3},{3957,7390,3}, {3948,7385,3},{3947,7367,3},{3947,7362,3},{3945,7355,3},{3947,7347,3},{3945,7338,3}, {3940,7335,3},{3938,7332,3},{3940,7323,3},{3935,7322,3},{3935,7315,3},{3937,7308,3}, {3937,7300,3},{3937,7292,3},{3935,7285,3},{3935,7277,3},{3938,7268,3},{3938,7263,3}, {3935,7258,3},{3938,7252,3},{3937,7248,3},{3933,7242,3},{3933,7235,3},{3930,7230,3}, {3923,7227,3},{3918,7225,3},{3918,7223,3},{3923,7222,3},{3927,7217,3},{3927,7212,3}, {3930,7208,3},{3937,7203,3},{3935,7202,3},{3933,7195,3},{3928,7192,3},{3928,7185,3}, {3928,7178,3},{3935,7175,3},{3940,7180,3},{3945,7177,3},{3945,7168,3},{3945,7162,3}, {3947,7155,3},{3953,7155,3},{3958,7155,3},{3960,7148,3},{3957,7142,3},{3957,7133,3}, {3955,7133,3},{3952,7128,3},{3955,7125,3},{3953,7123,3},{3950,7117,3},{3950,7108,3}, {3947,7108,3},{3942,7107,3},{3940,7100,3},{3943,7093,3},{3938,7092,3},{3938,7083,3}, {3940,7077,3},{3947,7077,3},{3950,7070,3},{3957,7067,3},{3958,7062,3},{3960,7055,3}, {3962,7050,3},{3958,7045,3},{3958,7043,3},{3958,7037,3},{3953,7030,3},{3953,7027,3}, {3955,7025,3},{3960,7020,3},{3955,7017,3},{3958,7012,3},{3953,7005,3},{3955,7007,3}, {3957,7003,3},{3953,7002,3},{3955,6998,3},{3957,6998,3},{3957,6990,3},{3953,6987,3}, {3957,6982,3},{3958,6975,3},{3958,6967,3},{3957,6960,3},{3955,6953,3},{3953,6947,3}, {3955,6940,3},{3952,6937,3},{3953,6933,3},{3958,6937,3},{3960,6933,3},{3967,6932,3}, {3973,6930,3},{3978,6928,3},{3983,6930,3},{3988,6930,3},{3993,6935,3},{4000,6935,3}, {4000,6938,3},{3998,6940,3},{3990,6943,3},{3990,6945,3},{3990,6948,3},{3992,6950,3}, {3998,6953,3},{4003,6950,3},{4008,6953,3},{4012,6962,3},{4012,6970,3},{4015,6977,3}, {4017,6983,3},{4018,6990,3},{4022,6998,3},{4023,7005,3},{4020,7010,3},{4017,7017,3}, {4013,7022,3},{4012,7030,3},{4010,7037,3},{4007,7043,3},{4005,7050,3},{4002,7057,3}, {3998,7052,3},{3993,7047,3},{3993,7050,3},{3995,7057,3},{3997,7063,3},{4002,7065,3}, {4008,7067,3},{4008,7068,3},{4008,7072,3},{4012,7082,3},{4017,7085,3},{4015,7092,3}, {4017,7097,3},{4023,7097,3},{3825,6837,131},{3830,6830,3},{3833,6823,3}, {3838,6822,3},{3842,6815,3},{3842,6812,3},{3847,6815,3},{3852,6810,3},{3858,6807,3}, {3865,6808,3},{3872,6807,3},{3873,6813,3},{3880,6807,3},{3882,6813,3},{3887,6820,3}, {3893,6820,3},{3897,6813,3},{3902,6812,3},{3902,6803,3},{3903,6797,3},{3902,6790,3}, {3900,6788,3},{3902,6782,3},{3900,6775,3},{3902,6768,3},{3908,6767,3},{3915,6768,3}, {3915,6763,3},{3918,6762,3},{3918,6757,3},{3920,6750,3},{3922,6743,3},{3930,6740,3}, {3932,6743,3},{3932,6752,3},{3935,6750,3},{3942,6748,3},{3948,6743,3},{3953,6745,3}, {3953,6748,3},{3958,6752,3},{3960,6763,3},{3963,6765,3},{3965,6770,3},{3965,6773,3}, {3965,6780,3},{3963,6788,3},{3960,6793,3},{3958,6802,3},{3957,6808,3},{3957,6815,3}, {3955,6823,3},{3955,6830,3},{3953,6837,3},{3955,6840,3},{3953,6847,3},{3955,6853,3}, {3957,6853,3},{3960,6858,3},{3968,6863,3},{3975,6860,3},{3975,6862,3},{3980,6865,3}, {3985,6867,3},{3987,6873,3},{3983,6877,3},{3987,6882,3},{3992,6880,3},{3998,6878,3}, {3998,6880,3},{3993,6883,3},{3987,6887,3},{3987,6890,3},{3992,6890,3},{3998,6885,3}, {4003,6882,3},{4008,6882,3},{4007,6883,3},{4003,6885,3},{4005,6887,3},{4007,6887,3}, {4007,6893,3},{4007,6900,3},{4008,6902,3},{4015,6898,3},{4013,6885,3},{4012,6877,3}, {4010,6868,3},{4010,6862,3},{4013,6853,3},{4015,6860,3},{4017,6867,3},{4020,6878,3}, {4020,6885,3},{4022,6893,3},{4022,6900,3},{4022,6908,3},{4020,6917,3},{4020,6923,3}, {4020,6930,3},{4022,6932,3},{4025,6925,3},{4028,6925,3},{4028,6927,3},{4028,6930,3}, {4035,6933,3},{4040,6930,3},{4045,6927,3},{4050,6927,3},{4055,6923,3},{4057,6927,3}, {4058,6933,3},{4060,6935,3},{4067,6935,3},{4073,6937,3},{4078,6940,3},{4078,6945,3}, {4075,6955,3},{4070,6957,3},{4067,6963,3},{4063,6968,3},{4065,6975,3},{4070,6980,3}, {4070,6982,3},{4072,6988,3},{4070,6992,3},{4073,6997,3},{4075,7005,3},{4078,7012,3}, {4083,7018,3},{4085,7025,3},{4087,7030,3},{4088,7037,3},{4092,7038,3},{4098,7040,3}, {4103,7042,3},{4103,7048,3},{4100,7053,3},{4093,7058,3},{4088,7063,3},{4083,7068,3}, {4078,7070,3},{4078,7068,3},{4082,7067,3},{4075,7067,3},{4075,7068,3},{4073,7078,3}, {4072,7078,3},{4065,7073,3},{4065,7068,3},{4062,7063,3},{4057,7058,3},{4055,7052,3}, {4050,7047,3},{4048,7040,3},{4047,7033,3},{4043,7033,3},{4042,7035,3},{4040,7035,3}, {4037,7040,3},{4038,7042,3},{4037,7048,3},{4033,7057,3},{4032,7057,3},{4025,7057,3}, {4020,7060,3},{4017,7065,3},{4017,7068,3},{4018,7075,3},{4020,7083,3},{4023,7090,3}, {4023,7097,3},{4017,7097,3},{4015,7092,3},{4017,7085,3},{4012,7082,3},{4008,7072,3}, {4008,7068,3},{4008,7067,3},{4002,7065,3},{3997,7063,3},{3995,7057,3},{3993,7050,3}, {3993,7047,3},{3998,7052,3},{4002,7057,3},{4005,7050,3},{4007,7043,3},{4010,7037,3}, {4012,7030,3},{4013,7022,3},{4017,7017,3},{4020,7010,3},{4023,7005,3},{4022,6998,3}, {4018,6990,3},{4017,6983,3},{4015,6977,3},{4012,6970,3},{4012,6962,3},{4008,6953,3}, {4003,6950,3},{3998,6953,3},{3992,6950,3},{3990,6948,3},{3990,6945,3},{3990,6943,3}, {3998,6940,3},{4000,6938,3},{4000,6935,3},{3993,6935,3},{3988,6930,3},{3983,6930,3}, {3978,6928,3},{3973,6930,3},{3967,6932,3},{3960,6933,3},{3958,6937,3},{3953,6933,3}, {3952,6937,3},{3955,6940,3},{3953,6947,3},{3955,6953,3},{3957,6960,3},{3958,6967,3}, {3958,6975,3},{3957,6982,3},{3953,6987,3},{3957,6990,3},{3957,6998,3},{3955,6998,3}, {3953,7002,3},{3957,7003,3},{3955,7007,3},{3953,7005,3},{3958,7012,3},{3955,7017,3}, {3960,7020,3},{3955,7025,3},{3953,7027,3},{3953,7030,3},{3958,7037,3},{3958,7043,3}, {3958,7045,3},{3962,7050,3},{3960,7055,3},{3958,7062,3},{3957,7067,3},{3950,7070,3}, {3947,7077,3},{3940,7077,3},{3938,7083,3},{3938,7092,3},{3943,7093,3},{3940,7100,3}, {3942,7107,3},{3947,7108,3},{3950,7108,3},{3950,7117,3},{3953,7123,3},{3955,7125,3}, {3952,7128,3},{3955,7133,3},{3957,7133,3},{3957,7142,3},{3960,7148,3},{3958,7155,3}, {3953,7155,3},{3947,7155,3},{3945,7162,3},{3945,7168,3},{3945,7177,3},{3940,7180,3}, {3935,7175,3},{3928,7178,3},{3928,7185,3},{3928,7192,3},{3933,7195,3},{3935,7202,3}, {3937,7203,3},{3930,7208,3},{3927,7212,3},{3927,7217,3},{3923,7222,3},{3918,7223,3}, {3918,7225,3},{3923,7227,3},{3930,7230,3},{3933,7235,3},{3933,7242,3},{3937,7248,3}, {3938,7252,3},{3935,7258,3},{3938,7263,3},{3938,7268,3},{3935,7277,3},{3935,7285,3}, {3937,7292,3},{3937,7300,3},{3937,7308,3},{3935,7315,3},{3935,7322,3},{3940,7323,3}, {3938,7332,3},{3940,7335,3},{3945,7338,3},{3947,7347,3},{3945,7355,3},{3947,7362,3}, {3947,7367,3},{3943,7365,3},{3935,7367,3},{3923,7362,3},{3917,7367,3},{3915,7370,3}, {3908,7372,3},{3900,7383,3},{3897,7385,3},{3893,7383,3},{3892,7373,3},{3887,7370,3}, {3880,7377,3},{3873,7375,3},{3870,7378,3},{3862,7382,3},{3853,7395,3},{3855,7408,3}, {3860,7407,3},{3862,7412,3},{3867,7413,3},{3868,7417,3},{3865,7420,3},{3865,7425,3}, {3867,7435,3},{3858,7465,3},{3853,7472,3},{3853,7478,3},{3847,7485,3},{3838,7487,3}, {3830,7480,3},{3820,7480,3},{3808,7482,3},{3802,7492,3},{3793,7492,3},{3792,7490,3}, {3788,7493,3},{3785,7490,3},{3778,7498,3},{3773,7495,3},{3770,7495,3},{3765,7490,3}, {3757,7495,3},{3752,7505,3},{3743,7513,3},{3740,7518,3},{3738,7512,3},{3732,7510,3}, {3728,7497,3},{3723,7493,3},{3723,7490,3},{3725,7488,3},{3733,7482,3},{3740,7468,3}, {3738,7463,3},{3738,7455,3},{3740,7448,3},{3740,7440,3},{3743,7437,3},{3740,7432,3}, {3740,7423,3},{3737,7423,3},{3733,7420,3},{3732,7407,3},{3727,7393,3},{3727,7387,3}, {3723,7382,3},{3723,7377,3},{3722,7373,3},{3723,7372,3},{3725,7368,3},{3723,7363,3}, {3727,7362,3},{3730,7365,3},{3732,7373,3},{3733,7377,3},{3743,7378,3},{3743,7362,3}, {3747,7353,3},{3748,7343,3},{3745,7337,3},{3747,7330,3},{3740,7320,3},{3740,7315,3}, {3732,7307,3},{3730,7298,3},{3725,7288,3},{3723,7280,3},{3708,7270,3},{3707,7267,3}, {3702,7267,3},{3703,7262,3},{3700,7253,3},{3700,7242,3},{3698,7230,3},{3693,7222,3}, {3670,7185,3},{3668,7177,3},{3668,7168,3},{3670,7162,3},{3677,7155,3},{3685,7153,3}, {3695,7145,3},{3698,7147,3},{3708,7143,3},{3720,7145,3},{3728,7148,3},{3737,7150,3}, {3742,7148,3},{3747,7152,3},{3755,7150,3},{3772,7153,3},{3777,7153,3},{3782,7158,3}, {3790,7160,3},{3795,7155,3},{3795,7152,3},{3788,7133,3},{3792,7130,3},{3792,7125,3}, {3798,7127,3},{3817,7137,3},{3825,7137,3},{3830,7132,3},{3832,7123,3},{3838,7115,3}, {3840,7110,3},{3840,7105,3},{3845,7102,3},{3847,7095,3},{3847,7093,3},{3845,7095,3}, {3843,7093,3},{3845,7087,3},{3845,7077,3},{3842,7073,3},{3842,7067,3},{3840,7067,3}, {3838,7068,3},{3835,7060,3},{3828,7058,3},{3825,7055,3},{3812,7047,3},{3810,7042,3}, {3805,7035,3},{3802,7035,3},{3797,7025,3},{3793,7025,3},{3793,7023,3},{3792,7020,3}, {3793,7017,3},{3787,7017,3},{3782,7025,3},{3770,7028,3},{3765,7025,3},{3762,7025,3}, {3762,7022,3},{3758,7020,3},{3753,7017,3},{3753,7013,3},{3755,7002,3},{3758,6995,3}, {3760,6993,3},{3762,6990,3},{3758,6980,3},{3760,6973,3},{3758,6968,3},{3757,6965,3}, {3758,6952,3},{3753,6948,3},{3745,6938,3},{3738,6937,3},{3735,6938,3},{3730,6942,3}, {3723,6942,3},{3723,6945,3},{3720,6942,3},{3717,6940,3},{3712,6933,3},{3710,6925,3}, {3717,6912,3},{3720,6910,3},{3725,6903,3},{3732,6898,3},{3733,6888,3},{3732,6888,3}, {3728,6892,3},{3727,6890,3},{3732,6887,3},{3733,6883,3},{3732,6880,3},{3725,6882,3}, {3725,6880,3},{3727,6877,3},{3727,6867,3},{3725,6867,3},{3723,6863,3},{3720,6863,3}, {3718,6855,3},{3717,6852,3},{3715,6842,3},{3712,6842,3},{3710,6838,3},{3710,6830,3}, {3708,6828,3},{3702,6827,3},{3700,6825,3},{3702,6818,3},{3692,6803,3},{3693,6800,3}, {3698,6797,3},{3702,6792,3},{3707,6788,3},{3710,6778,3},{3718,6778,3},{3720,6780,3}, {3727,6783,3},{3735,6783,3},{3747,6783,3},{3755,6788,3},{3763,6793,3},{3768,6798,3}, {3773,6805,3},{3780,6808,3},{3788,6813,3},{3788,6822,3},{3792,6828,3},{3798,6828,3}, {3803,6832,3},{3810,6837,3},{3820,6840,3},{3825,6837,3},{2987,6087,131}, {2993,6093,3},{2998,6098,3},{3002,6102,3},{3007,6107,3},{3010,6110,3},{3015,6115,3}, {3020,6118,3},{3023,6123,3},{3028,6127,3},{3032,6132,3},{3037,6135,3},{3040,6140,3}, {3045,6143,3},{3050,6148,3},{3053,6152,3},{3058,6157,3},{3062,6160,3},{3067,6163,3}, {3072,6168,3},{3075,6172,3},{3080,6177,3},{3083,6182,3},{3088,6182,3},{3095,6180,3}, {3102,6185,3},{3113,6180,3},{3118,6182,3},{3125,6177,3},{3132,6177,3},{3138,6172,3}, {3140,6162,3},{3140,6155,3},{3142,6148,3},{3142,6142,3},{3143,6135,3},{3143,6130,3}, {3145,6123,3},{3145,6117,3},{3147,6110,3},{3147,6103,3},{3148,6097,3},{3148,6092,3}, {3150,6085,3},{3157,6083,3},{3162,6082,3},{3167,6082,3},{3173,6083,3},{3187,6082,3}, {3195,6082,3},{3198,6080,3},{3202,6082,3},{3203,6080,3},{3208,6083,3},{3213,6083,3}, {3218,6085,3},{3223,6085,3},{3228,6083,3},{3233,6082,3},{3238,6080,3},{3243,6078,3}, {3248,6078,3},{3253,6075,3},{3258,6073,3},{3263,6072,3},{3268,6070,3},{3273,6068,3}, {3278,6067,3},{3283,6065,3},{3288,6065,3},{3293,6062,3},{3298,6060,3},{3307,6058,3}, {3315,6058,3},{3337,6077,3},{3342,6085,3},{3348,6085,3},{3350,6093,3},{3352,6095,3}, {3355,6090,3},{3357,6067,3},{3363,6053,3},{3373,6050,3},{3382,6055,3},{3413,6050,3}, {3420,6055,3},{3425,6062,3},{3428,6068,3},{3432,6067,3},{3432,6092,3},{3440,6083,3}, {3447,6080,3},{3448,6077,3},{3452,6075,3},{3452,6072,3},{3455,6075,3},{3457,6085,3}, {3463,6092,3},{3465,6097,3},{3473,6098,3},{3482,6107,3},{3493,6107,3},{3502,6112,3}, {3507,6112,3},{3510,6115,3},{3513,6113,3},{3518,6110,3},{3520,6112,3},{3523,6110,3}, {3528,6110,3},{3530,6118,3},{3540,6120,3},{3543,6123,3},{3548,6123,3},{3552,6128,3}, {3555,6128,3},{3560,6128,3},{3563,6128,3},{3563,6137,3},{3563,6138,3},{3560,6137,3}, {3560,6140,3},{3557,6140,3},{3555,6145,3},{3552,6147,3},{3545,6160,3},{3542,6180,3}, {3545,6197,3},{3545,6203,3},{3533,6215,3},{3532,6223,3},{3530,6227,3},{3522,6228,3}, {3520,6227,3},{3513,6232,3},{3528,6247,3},{3528,6252,3},{3523,6255,3},{3522,6262,3}, {3525,6272,3},{3528,6275,3},{3542,6298,3},{3543,6310,3},{3553,6313,3},{3555,6310,3}, {3563,6310,3},{3570,6323,3},{3577,6315,3},{3577,6313,3},{3580,6313,3},{3583,6310,3}, {3587,6312,3},{3585,6330,3},{3587,6337,3},{3590,6353,3},{3597,6360,3},{3598,6378,3}, {3603,6392,3},{3603,6400,3},{3600,6407,3},{3608,6407,3},{3612,6410,3},{3617,6418,3}, {3617,6427,3},{3615,6428,3},{3622,6433,3},{3625,6447,3},{3640,6460,3},{3650,6463,3}, {3660,6462,3},{3665,6462,3},{3693,6480,3},{3707,6478,3},{3712,6478,3},{3725,6507,3}, {3723,6523,3},{3725,6530,3},{3725,6555,3},{3735,6565,3},{3745,6565,3},{3752,6568,3}, {3753,6572,3},{3753,6577,3},{3757,6578,3},{3750,6585,3},{3743,6608,3},{3737,6617,3}, {3737,6623,3},{3732,6630,3},{3735,6642,3},{3732,6643,3},{3733,6647,3},{3737,6652,3}, {3737,6662,3},{3733,6667,3},{3737,6677,3},{3738,6700,3},{3735,6710,3},{3732,6710,3}, {3728,6712,3},{3725,6718,3},{3718,6725,3},{3722,6740,3},{3728,6750,3},{3727,6753,3}, {3722,6755,3},{3725,6760,3},{3723,6773,3},{3718,6778,3},{3710,6778,3},{3707,6788,3}, {3702,6792,3},{3698,6797,3},{3693,6800,3},{3692,6803,3},{3702,6818,3},{3700,6825,3}, {3702,6827,3},{3708,6828,3},{3710,6830,3},{3710,6838,3},{3712,6842,3},{3715,6842,3}, {3717,6852,3},{3718,6855,3},{3720,6863,3},{3723,6863,3},{3725,6867,3},{3727,6867,3}, {3727,6877,3},{3725,6880,3},{3725,6882,3},{3732,6880,3},{3733,6883,3},{3732,6887,3}, {3727,6890,3},{3728,6892,3},{3732,6888,3},{3733,6888,3},{3732,6898,3},{3725,6903,3}, {3720,6910,3},{3717,6912,3},{3710,6925,3},{3712,6933,3},{3717,6940,3},{3720,6942,3}, {3723,6945,3},{3723,6942,3},{3730,6942,3},{3735,6938,3},{3738,6937,3},{3745,6938,3}, {3753,6948,3},{3758,6952,3},{3757,6965,3},{3758,6968,3},{3760,6973,3},{3758,6980,3}, {3762,6990,3},{3760,6993,3},{3758,6995,3},{3755,7002,3},{3753,7013,3},{3753,7017,3}, {3758,7020,3},{3762,7022,3},{3762,7025,3},{3765,7025,3},{3770,7028,3},{3782,7025,3}, {3787,7017,3},{3793,7017,3},{3792,7020,3},{3793,7023,3},{3793,7025,3},{3797,7025,3}, {3802,7035,3},{3805,7035,3},{3810,7042,3},{3812,7047,3},{3825,7055,3},{3828,7058,3}, {3835,7060,3},{3838,7068,3},{3840,7067,3},{3842,7067,3},{3842,7073,3},{3845,7077,3}, {3845,7087,3},{3843,7093,3},{3845,7095,3},{3847,7093,3},{3847,7095,3},{3845,7102,3}, {3840,7105,3},{3840,7110,3},{3838,7115,3},{3832,7123,3},{3830,7132,3},{3825,7137,3}, {3817,7137,3},{3798,7127,3},{3792,7125,3},{3792,7130,3},{3788,7133,3},{3795,7152,3}, {3795,7155,3},{3790,7160,3},{3782,7158,3},{3777,7153,3},{3772,7153,3},{3755,7150,3}, {3747,7152,3},{3742,7148,3},{3737,7150,3},{3728,7148,3},{3720,7145,3},{3708,7143,3}, {3698,7147,3},{3695,7145,3},{3685,7153,3},{3677,7155,3},{3670,7162,3},{3668,7168,3}, {3668,7177,3},{3670,7185,3},{3693,7222,3},{3698,7230,3},{3700,7242,3},{3700,7253,3}, {3703,7262,3},{3702,7267,3},{3707,7267,3},{3708,7270,3},{3723,7280,3},{3725,7288,3}, {3730,7298,3},{3732,7307,3},{3740,7315,3},{3740,7320,3},{3747,7330,3},{3745,7337,3}, {3748,7343,3},{3747,7353,3},{3743,7362,3},{3743,7378,3},{3733,7377,3},{3732,7373,3}, {3730,7365,3},{3727,7362,3},{3723,7363,3},{3725,7368,3},{3723,7372,3},{3722,7373,3}, {3723,7377,3},{3723,7382,3},{3727,7387,3},{3727,7393,3},{3732,7407,3},{3733,7420,3}, {3737,7423,3},{3740,7423,3},{3740,7432,3},{3743,7437,3},{3740,7440,3},{3740,7448,3}, {3738,7455,3},{3738,7463,3},{3740,7468,3},{3733,7482,3},{3725,7488,3},{3723,7490,3}, {3722,7482,3},{3723,7480,3},{3730,7475,3},{3727,7470,3},{3727,7467,3},{3723,7465,3}, {3725,7460,3},{3723,7458,3},{3723,7452,3},{3718,7447,3},{3718,7440,3},{3717,7438,3}, {3713,7440,3},{3708,7450,3},{3703,7453,3},{3703,7457,3},{3697,7455,3},{3702,7448,3}, {3700,7442,3},{3697,7435,3},{3690,7425,3},{3690,7415,3},{3683,7412,3},{3682,7403,3}, {3690,7385,3},{3692,7367,3},{3690,7358,3},{3688,7355,3},{3690,7348,3},{3688,7337,3}, {3687,7330,3},{3688,7323,3},{3688,7310,3},{3685,7302,3},{3687,7297,3},{3683,7287,3}, {3682,7257,3},{3677,7247,3},{3675,7232,3},{3672,7218,3},{3670,7217,3},{3667,7220,3}, {3665,7218,3},{3663,7207,3},{3658,7207,3},{3658,7202,3},{3650,7190,3},{3648,7180,3}, {3647,7178,3},{3642,7182,3},{3640,7180,3},{3640,7177,3},{3647,7165,3},{3647,7163,3}, {3640,7160,3},{3637,7157,3},{3633,7158,3},{3632,7150,3},{3622,7142,3},{3620,7133,3}, {3617,7133,3},{3613,7125,3},{3610,7123,3},{3605,7118,3},{3597,7128,3},{3595,7138,3}, {3590,7138,3},{3587,7143,3},{3578,7150,3},{3575,7148,3},{3572,7155,3},{3562,7152,3}, {3557,7162,3},{3550,7160,3},{3542,7165,3},{3533,7155,3},{3530,7155,3},{3520,7167,3}, {3513,7162,3},{3512,7157,3},{3508,7153,3},{3505,7153,3},{3502,7153,3},{3495,7150,3}, {3488,7132,3},{3487,7130,3},{3482,7128,3},{3477,7123,3},{3475,7123,3},{3473,7118,3}, {3467,7110,3},{3462,7110,3},{3457,7108,3},{3455,7098,3},{3450,7098,3},{3447,7100,3}, {3438,7108,3},{3437,7115,3},{3435,7117,3},{3427,7112,3},{3417,7113,3},{3412,7108,3}, {3407,7108,3},{3405,7107,3},{3403,7100,3},{3402,7098,3},{3402,7090,3},{3398,7092,3}, {3397,7088,3},{3395,7078,3},{3397,7033,3},{3398,7030,3},{3400,7020,3},{3402,7017,3}, {3402,7010,3},{3405,7000,3},{3403,6990,3},{3402,6990,3},{3398,6990,3},{3393,6987,3}, {3390,6990,3},{3385,6992,3},{3382,6995,3},{3375,6998,3},{3373,7010,3},{3373,7013,3}, {3367,7015,3},{3363,7020,3},{3360,7020,3},{3352,7017,3},{3347,7020,3},{3347,7023,3}, {3342,7028,3},{3333,7033,3},{3320,7015,3},{3320,7007,3},{3313,7003,3},{3313,6997,3}, {3308,6988,3},{3310,6983,3},{3313,6978,3},{3308,6970,3},{3308,6968,3},{3308,6958,3}, {3303,6950,3},{3300,6948,3},{3287,6952,3},{3285,6948,3},{3277,6940,3},{3273,6943,3}, {3267,6945,3},{3257,6938,3},{3253,6928,3},{3245,6925,3},{3232,6928,3},{3215,6927,3}, {3193,6933,3},{3187,6922,3},{3177,6917,3},{3165,6903,3},{3165,6895,3},{3162,6893,3}, {3160,6883,3},{3162,6880,3},{3167,6878,3},{3170,6873,3},{3178,6870,3},{3178,6862,3}, {3182,6858,3},{3183,6855,3},{3180,6845,3},{3178,6843,3},{3177,6857,3},{3173,6853,3}, {3177,6837,3},{3178,6827,3},{3182,6823,3},{3183,6817,3},{3177,6813,3},{3173,6808,3}, {3170,6807,3},{3167,6800,3},{3163,6798,3},{3163,6787,3},{3158,6782,3},{3153,6772,3}, {3153,6758,3},{3147,6762,3},{3143,6762,3},{3140,6767,3},{3142,6773,3},{3140,6778,3}, {3135,6780,3},{3133,6778,3},{3133,6772,3},{3127,6762,3},{3127,6758,3},{3122,6738,3}, {3122,6728,3},{3122,6720,3},{3125,6717,3},{3125,6705,3},{3125,6703,3},{3132,6705,3}, {3132,6697,3},{3128,6685,3},{3122,6680,3},{3122,6672,3},{3108,6668,3},{3098,6658,3}, {3093,6640,3},{3057,6628,3},{3052,6630,3},{3050,6633,3},{3045,6635,3},{3030,6632,3}, {3023,6633,3},{3007,6623,3},{3005,6625,3},{2995,6637,3},{2995,6633,3},{2990,6632,3}, {2985,6625,3},{2983,6618,3},{2982,6612,3},{2980,6607,3},{2978,6600,3},{2977,6593,3}, {2975,6588,3},{2975,6582,3},{2973,6577,3},{2972,6570,3},{2970,6563,3},{2968,6558,3}, {2967,6552,3},{2965,6547,3},{2963,6540,3},{2962,6533,3},{2960,6528,3},{2958,6522,3}, {2957,6517,3},{2957,6510,3},{2953,6503,3},{2955,6498,3},{2957,6492,3},{2957,6485,3}, {2958,6480,3},{2958,6473,3},{2958,6467,3},{2958,6462,3},{2958,6455,3},{2958,6450,3}, {2957,6443,3},{2955,6438,3},{2953,6432,3},{2952,6427,3},{2950,6420,3},{2945,6417,3}, {2942,6413,3},{2938,6412,3},{2940,6407,3},{2943,6402,3},{2943,6397,3},{2945,6390,3}, {2947,6383,3},{2947,6377,3},{2948,6372,3},{2950,6365,3},{2950,6358,3},{2950,6353,3}, {2950,6347,3},{2948,6342,3},{2948,6335,3},{2948,6330,3},{2947,6323,3},{2947,6317,3}, {2947,6312,3},{2945,6305,3},{2945,6298,3},{2945,6292,3},{2943,6287,3},{2943,6280,3}, {2943,6273,3},{2942,6268,3},{2942,6262,3},{2942,6257,3},{2940,6248,3},{2942,6243,3}, {2943,6238,3},{2945,6232,3},{2947,6225,3},{2948,6220,3},{2950,6213,3},{2952,6207,3}, {2953,6202,3},{2955,6195,3},{2957,6188,3},{2958,6183,3},{2960,6177,3},{2962,6172,3}, {2965,6165,3},{2967,6158,3},{2968,6153,3},{2970,6147,3},{2972,6140,3},{2973,6135,3}, {2975,6128,3},{2977,6122,3},{2978,6117,3},{2980,6110,3},{2982,6103,3},{2983,6098,3}, {2985,6092,3},{2987,6087,3},{4132,5600,131},{4137,5600,3},{4143,5600,3}, {4148,5600,3},{4153,5600,3},{4160,5600,3},{4165,5600,3},{4170,5600,3},{4177,5600,3}, {4182,5600,3},{4187,5600,3},{4193,5600,3},{4198,5600,3},{4203,5600,3},{4210,5600,3}, {4215,5600,3},{4220,5600,3},{4227,5600,3},{4232,5600,3},{4237,5600,3},{4242,5600,3}, {4248,5600,3},{4253,5600,3},{4258,5600,3},{4265,5600,3},{4270,5600,3},{4275,5600,3}, {4282,5600,3},{4287,5600,3},{4292,5600,3},{4298,5600,3},{4303,5600,3},{4308,5600,3}, {4315,5600,3},{4320,5600,3},{4325,5600,3},{4332,5600,3},{4337,5600,3},{4342,5600,3}, {4348,5600,3},{4353,5600,3},{4358,5600,3},{4365,5600,3},{4370,5600,3},{4375,5600,3}, {4382,5600,3},{4387,5600,3},{4392,5600,3},{4397,5600,3},{4403,5600,3},{4408,5600,3}, {4413,5600,3},{4420,5600,3},{4425,5600,3},{4430,5600,3},{4437,5600,3},{4442,5600,3}, {4447,5600,3},{4453,5600,3},{4458,5600,3},{4463,5600,3},{4470,5600,3},{4475,5600,3}, {4480,5600,3},{4487,5600,3},{4492,5600,3},{4497,5600,3},{4500,5600,3},{4502,5608,3}, {4503,5615,3},{4507,5630,3},{4508,5637,3},{4512,5647,3},{4513,5658,3},{4517,5668,3}, {4518,5677,3},{4522,5692,3},{4523,5700,3},{4525,5708,3},{4528,5720,3},{4530,5728,3}, {4532,5735,3},{4533,5750,3},{4537,5758,3},{4538,5767,3},{4540,5775,3},{4542,5785,3}, {4545,5798,3},{4548,5813,3},{4550,5820,3},{4553,5832,3},{4557,5843,3},{4558,5852,3}, {4560,5860,3},{4555,5855,3},{4542,5852,3},{4535,5845,3},{4525,5837,3},{4510,5833,3}, {4505,5827,3},{4483,5818,3},{4468,5822,3},{4462,5830,3},{4460,5830,3},{4458,5825,3}, {4452,5820,3},{4450,5822,3},{4443,5820,3},{4440,5822,3},{4427,5825,3},{4417,5840,3}, {4402,5838,3},{4390,5833,3},{4377,5833,3},{4368,5838,3},{4365,5843,3},{4363,5843,3}, {4367,5857,3},{4370,5860,3},{4370,5867,3},{4372,5870,3},{4372,5873,3},{4370,5870,3}, {4368,5872,3},{4373,5883,3},{4373,5885,3},{4373,5893,3},{4375,5897,3},{4373,5897,3}, {4372,5897,3},{4370,5895,3},{4368,5897,3},{4372,5902,3},{4377,5902,3},{4380,5898,3}, {4382,5890,3},{4382,5883,3},{4390,5885,3},{4385,5897,3},{4388,5895,3},{4393,5882,3}, {4393,5873,3},{4393,5887,3},{4388,5895,3},{4380,5905,3},{4372,5908,3},{4368,5913,3}, {4373,5915,3},{4375,5918,3},{4378,5917,3},{4380,5918,3},{4380,5930,3},{4377,5933,3}, {4373,5940,3},{4380,5950,3},{4373,5950,3},{4370,5955,3},{4367,5965,3},{4367,5968,3}, {4367,5977,3},{4363,5980,3},{4362,5968,3},{4358,5968,3},{4347,5972,3},{4343,5977,3}, {4338,5975,3},{4340,5980,3},{4345,5983,3},{4345,5987,3},{4347,5990,3},{4347,5997,3}, {4350,5998,3},{4348,6002,3},{4348,6005,3},{4352,6010,3},{4350,6010,3},{4348,6010,3}, {4347,6015,3},{4348,6018,3},{4358,6018,3},{4357,6023,3},{4360,6035,3},{4360,6037,3}, {4358,6037,3},{4363,6040,3},{4363,6043,3},{4358,6042,3},{4358,6047,3},{4357,6047,3}, {4362,6048,3},{4358,6052,3},{4363,6052,3},{4360,6055,3},{4355,6057,3},{4360,6063,3}, {4358,6067,3},{4358,6070,3},{4362,6070,3},{4360,6073,3},{4362,6073,3},{4358,6077,3}, {4367,6080,3},{4365,6082,3},{4360,6080,3},{4360,6085,3},{4358,6085,3},{4360,6090,3}, {4365,6088,3},{4368,6090,3},{4368,6093,3},{4363,6098,3},{4363,6102,3},{4365,6103,3}, {4367,6100,3},{4370,6100,3},{4373,6100,3},{4380,6105,3},{4378,6100,3},{4380,6100,3}, {4383,6100,3},{4382,6095,3},{4385,6093,3},{4383,6090,3},{4380,6090,3},{4385,6087,3}, {4388,6090,3},{4390,6085,3},{4393,6085,3},{4387,6082,3},{4388,6078,3},{4387,6077,3}, {4388,6075,3},{4393,6075,3},{4397,6073,3},{4402,6073,3},{4403,6073,3},{4400,6078,3}, {4403,6082,3},{4402,6083,3},{4402,6085,3},{4407,6087,3},{4407,6088,3},{4422,6090,3}, {4422,6095,3},{4418,6097,3},{4422,6098,3},{4433,6097,3},{4432,6100,3},{4423,6103,3}, {4417,6102,3},{4417,6107,3},{4410,6110,3},{4422,6108,3},{4423,6105,3},{4435,6103,3}, {4438,6105,3},{4435,6107,3},{4433,6107,3},{4432,6108,3},{4423,6110,3},{4422,6113,3}, {4418,6113,3},{4422,6115,3},{4428,6112,3},{4422,6118,3},{4413,6128,3},{4410,6132,3}, {4405,6137,3},{4402,6142,3},{4397,6147,3},{4392,6153,3},{4387,6158,3},{4378,6168,3}, {4372,6175,3},{4363,6183,3},{4358,6190,3},{4352,6198,3},{4350,6200,3},{4350,6213,3}, {4352,6222,3},{4353,6232,3},{4355,6242,3},{4355,6248,3},{4357,6258,3},{4358,6273,3}, {4362,6290,3},{4362,6298,3},{4363,6308,3},{4365,6320,3},{4367,6330,3},{4367,6338,3}, {4367,6345,3},{4365,6358,3},{4365,6367,3},{4363,6380,3},{4363,6392,3},{4362,6400,3}, {4362,6415,3},{4362,6422,3},{4360,6432,3},{4360,6447,3},{4360,6453,3},{4363,6462,3}, {4368,6477,3},{4372,6485,3},{4373,6492,3},{4377,6500,3},{4378,6508,3},{4377,6515,3}, {4372,6518,3},{4362,6525,3},{4357,6528,3},{4352,6533,3},{4345,6542,3},{4342,6548,3}, {4337,6557,3},{4330,6565,3},{4320,6568,3},{4315,6572,3},{4307,6573,3},{4302,6577,3}, {4295,6580,3},{4290,6582,3},{4287,6583,3},{4290,6592,3},{4293,6600,3},{4297,6610,3}, {4288,6610,3},{4278,6610,3},{4268,6610,3},{4262,6610,3},{4255,6610,3},{4247,6610,3}, {4237,6610,3},{4235,6610,3},{4238,6602,3},{4232,6602,3},{4227,6602,3},{4222,6602,3}, {4217,6602,3},{4212,6602,3},{4205,6602,3},{4200,6602,3},{4195,6602,3},{4193,6610,3}, {4192,6622,3},{4192,6630,3},{4190,6642,3},{4190,6653,3},{4183,6653,3},{4177,6655,3}, {4168,6655,3},{4158,6657,3},{4152,6658,3},{4142,6658,3},{4135,6660,3},{4128,6660,3}, {4125,6660,3},{4125,6673,3},{4123,6682,3},{4123,6693,3},{4123,6700,3},{4122,6712,3}, {4122,6725,3},{4120,6733,3},{4122,6740,3},{4120,6752,3},{4120,6760,3},{4120,6767,3}, {4120,6775,3},{4120,6778,3},{4117,6785,3},{4118,6790,3},{4120,6798,3},{4118,6805,3}, {4117,6807,3},{4115,6818,3},{4113,6827,3},{4112,6835,3},{4112,6843,3},{4108,6847,3}, {4108,6850,3},{4102,6852,3},{4100,6855,3},{4103,6860,3},{4100,6862,3},{4100,6865,3}, {4098,6867,3},{4097,6863,3},{4095,6863,3},{4093,6865,3},{4097,6872,3},{4102,6875,3}, {4108,6880,3},{4115,6887,3},{4120,6892,3},{4120,6895,3},{4125,6898,3},{4130,6898,3}, {4135,6903,3},{4133,6907,3},{4138,6912,3},{4142,6917,3},{4145,6922,3},{4147,6928,3}, {4145,6935,3},{4145,6942,3},{4150,6940,3},{4155,6945,3},{4157,6952,3},{4162,6957,3}, {4165,6962,3},{4167,6968,3},{4170,6975,3},{4172,6983,3},{4170,6990,3},{4172,6995,3}, {4178,6998,3},{4177,7002,3},{4177,7003,3},{4182,7007,3},{4183,7015,3},{4190,7018,3}, {4193,7023,3},{4197,7032,3},{4198,7033,3},{4203,7032,3},{4207,7037,3},{4212,7040,3}, {4213,7042,3},{4210,7048,3},{4207,7055,3},{4202,7058,3},{4200,7060,3},{4200,7063,3}, {4207,7065,3},{4212,7068,3},{4215,7073,3},{4220,7078,3},{4220,7087,3},{4225,7093,3}, {4227,7093,3},{4228,7102,3},{4228,7110,3},{4227,7115,3},{4222,7123,3},{4220,7125,3}, {4215,7123,3},{4213,7122,3},{4213,7115,3},{4208,7108,3},{4205,7103,3},{4203,7097,3}, {4205,7090,3},{4205,7087,3},{4200,7083,3},{4195,7085,3},{4192,7082,3},{4193,7075,3}, {4192,7075,3},{4192,7068,3},{4187,7063,3},{4182,7058,3},{4178,7052,3},{4172,7050,3}, {4168,7040,3},{4163,7035,3},{4160,7027,3},{4160,7020,3},{4155,7018,3},{4152,7018,3}, {4152,7025,3},{4152,7032,3},{4148,7037,3},{4145,7043,3},{4140,7048,3},{4142,7055,3}, {4145,7060,3},{4147,7068,3},{4147,7072,3},{4138,7077,3},{4135,7078,3},{4128,7078,3}, {4125,7080,3},{4120,7078,3},{4118,7078,3},{4118,7080,3},{4117,7082,3},{4123,7085,3}, {4120,7092,3},{4118,7095,3},{4117,7097,3},{4120,7102,3},{4117,7108,3},{4115,7112,3}, {4118,7118,3},{4117,7122,3},{4118,7122,3},{4118,7123,3},{4115,7128,3},{4112,7127,3}, {4110,7130,3},{4115,7133,3},{4117,7135,3},{4112,7138,3},{4110,7140,3},{4112,7143,3}, {4118,7145,3},{4123,7145,3},{4130,7145,3},{4132,7153,3},{4130,7157,3},{4133,7162,3}, {4138,7167,3},{4143,7167,3},{4147,7167,3},{4150,7162,3},{4153,7168,3},{4155,7170,3}, {4155,7172,3},{4150,7172,3},{4145,7170,3},{4143,7170,3},{4142,7170,3},{4145,7172,3}, {4147,7177,3},{4142,7182,3},{4137,7183,3},{4138,7187,3},{4132,7192,3},{4132,7193,3}, {4127,7190,3},{4120,7187,3},{4117,7193,3},{4117,7200,3},{4115,7207,3},{4117,7212,3}, {4115,7220,3},{4110,7222,3},{4105,7223,3},{4102,7218,3},{4100,7220,3},{4102,7228,3}, {4105,7233,3},{4105,7240,3},{4103,7248,3},{4103,7250,3},{4098,7248,3},{4098,7250,3}, {4093,7255,3},{4088,7258,3},{4087,7265,3},{4085,7273,3},{4087,7282,3},{4087,7285,3}, {4083,7290,3},{4082,7292,3},{4083,7298,3},{4083,7300,3},{4087,7298,3},{4088,7298,3}, {4085,7307,3},{4085,7313,3},{4080,7312,3},{4077,7305,3},{4073,7297,3},{4072,7290,3}, {4068,7283,3},{4067,7277,3},{4058,7277,3},{4057,7277,3},{4060,7268,3},{4053,7265,3}, {4052,7263,3},{4053,7257,3},{4057,7250,3},{4055,7248,3},{4060,7245,3},{4062,7242,3}, {4062,7238,3},{4062,7237,3},{4057,7242,3},{4052,7238,3},{4052,7242,3},{4047,7243,3}, {4042,7242,3},{4040,7242,3},{4043,7233,3},{4047,7227,3},{4050,7225,3},{4050,7218,3}, {4045,7215,3},{4045,7212,3},{4047,7210,3},{4040,7208,3},{4035,7203,3},{4032,7197,3}, {4027,7200,3},{4023,7195,3},{4025,7187,3},{4025,7185,3},{4020,7185,3},{4017,7178,3}, {4015,7173,3},{4018,7168,3},{4025,7167,3},{4025,7163,3},{4025,7162,3},{4020,7162,3}, {4018,7162,3},{4020,7155,3},{4023,7148,3},{4025,7150,3},{4027,7143,3},{4030,7137,3}, {4030,7130,3},{4033,7122,3},{4032,7115,3},{4030,7108,3},{4028,7102,3},{4027,7098,3}, {4027,7097,3},{4023,7097,3},{4023,7090,3},{4020,7083,3},{4018,7075,3},{4017,7068,3}, {4017,7065,3},{4020,7060,3},{4025,7057,3},{4032,7057,3},{4033,7057,3},{4037,7048,3}, {4038,7042,3},{4037,7040,3},{4040,7035,3},{4042,7035,3},{4043,7033,3},{4047,7033,3}, {4048,7040,3},{4050,7047,3},{4055,7052,3},{4057,7058,3},{4062,7063,3},{4065,7068,3}, {4065,7073,3},{4072,7078,3},{4073,7078,3},{4075,7068,3},{4075,7067,3},{4082,7067,3}, {4078,7068,3},{4078,7070,3},{4083,7068,3},{4088,7063,3},{4093,7058,3},{4100,7053,3}, {4103,7048,3},{4103,7042,3},{4098,7040,3},{4092,7038,3},{4088,7037,3},{4087,7030,3}, {4085,7025,3},{4083,7018,3},{4078,7012,3},{4075,7005,3},{4073,6997,3},{4070,6992,3}, {4072,6988,3},{4070,6982,3},{4070,6980,3},{4065,6975,3},{4063,6968,3},{4067,6963,3}, {4070,6957,3},{4075,6955,3},{4078,6945,3},{4078,6940,3},{4073,6937,3},{4067,6935,3}, {4060,6935,3},{4058,6933,3},{4057,6927,3},{4055,6923,3},{4050,6927,3},{4045,6927,3}, {4040,6930,3},{4035,6933,3},{4028,6930,3},{4028,6927,3},{4028,6925,3},{4025,6925,3}, {4022,6932,3},{4020,6930,3},{4020,6923,3},{4020,6917,3},{4022,6908,3},{4022,6900,3}, {4022,6893,3},{4020,6885,3},{4020,6878,3},{4017,6867,3},{4015,6860,3},{4013,6853,3}, {4010,6862,3},{4010,6868,3},{4012,6877,3},{4013,6885,3},{4015,6898,3},{4008,6902,3}, {4007,6900,3},{4007,6893,3},{4007,6887,3},{4005,6887,3},{4003,6885,3},{4007,6883,3}, {4008,6882,3},{4003,6882,3},{3998,6885,3},{3992,6890,3},{3987,6890,3},{3987,6887,3}, {3993,6883,3},{3998,6880,3},{3998,6878,3},{3992,6880,3},{3987,6882,3},{3983,6877,3}, {3987,6873,3},{3985,6867,3},{3980,6865,3},{3975,6862,3},{3975,6860,3},{3968,6863,3}, {3960,6858,3},{3957,6853,3},{3955,6853,3},{3953,6847,3},{3955,6840,3},{3953,6837,3}, {3955,6830,3},{3955,6823,3},{3957,6815,3},{3957,6808,3},{3958,6802,3},{3960,6793,3}, {3963,6788,3},{3965,6780,3},{3965,6773,3},{3965,6770,3},{3963,6765,3},{3960,6763,3}, {3958,6752,3},{3953,6748,3},{3953,6745,3},{3948,6743,3},{3942,6748,3},{3935,6750,3}, {3932,6752,3},{3932,6743,3},{3930,6740,3},{3922,6743,3},{3920,6750,3},{3918,6757,3}, {3918,6762,3},{3915,6763,3},{3915,6768,3},{3908,6767,3},{3902,6768,3},{3900,6775,3}, {3902,6782,3},{3900,6788,3},{3902,6790,3},{3903,6797,3},{3902,6803,3},{3902,6812,3}, {3897,6813,3},{3893,6820,3},{3887,6820,3},{3882,6813,3},{3880,6807,3},{3873,6813,3}, {3872,6807,3},{3865,6808,3},{3858,6807,3},{3852,6810,3},{3847,6815,3},{3842,6812,3}, {3842,6815,3},{3838,6822,3},{3833,6823,3},{3830,6830,3},{3825,6837,3},{3820,6840,3}, {3810,6837,3},{3803,6832,3},{3798,6828,3},{3792,6828,3},{3788,6822,3},{3788,6813,3}, {3780,6808,3},{3773,6805,3},{3768,6798,3},{3763,6793,3},{3755,6788,3},{3747,6783,3}, {3735,6783,3},{3727,6783,3},{3720,6780,3},{3718,6778,3},{3723,6773,3},{3725,6760,3}, {3722,6755,3},{3727,6753,3},{3728,6750,3},{3722,6740,3},{3718,6725,3},{3725,6718,3}, {3728,6712,3},{3732,6710,3},{3735,6710,3},{3738,6700,3},{3737,6677,3},{3733,6667,3}, {3737,6662,3},{3737,6652,3},{3738,6652,3},{3740,6652,3},{3742,6657,3},{3743,6663,3}, {3748,6663,3},{3753,6658,3},{3760,6653,3},{3768,6655,3},{3775,6653,3},{3782,6657,3}, {3788,6662,3},{3792,6667,3},{3797,6668,3},{3802,6662,3},{3803,6655,3},{3803,6643,3}, {3805,6638,3},{3807,6633,3},{3812,6627,3},{3817,6623,3},{3817,6620,3},{3818,6612,3}, {3822,6607,3},{3823,6600,3},{3827,6593,3},{3827,6585,3},{3823,6580,3},{3825,6570,3}, {3827,6563,3},{3830,6553,3},{3833,6543,3},{3838,6537,3},{3843,6527,3},{3848,6520,3}, {3852,6515,3},{3857,6508,3},{3862,6500,3},{3863,6493,3},{3867,6485,3},{3870,6480,3}, {3873,6473,3},{3877,6465,3},{3880,6458,3},{3883,6452,3},{3890,6443,3},{3895,6437,3}, {3898,6432,3},{3898,6430,3},{3895,6420,3},{3898,6413,3},{3903,6405,3},{3907,6398,3}, {3910,6393,3},{3915,6385,3},{3918,6378,3},{3923,6372,3},{3928,6367,3},{3935,6358,3}, {3940,6352,3},{3945,6342,3},{3947,6337,3},{3953,6327,3},{3957,6317,3},{3960,6312,3}, {3963,6307,3},{3967,6300,3},{3970,6295,3},{3973,6287,3},{3978,6280,3},{3982,6272,3}, {3987,6265,3},{3990,6257,3},{3997,6247,3},{4003,6243,3},{4010,6240,3},{4015,6242,3}, {4022,6240,3},{4028,6238,3},{4033,6238,3},{4038,6233,3},{4043,6235,3},{4045,6232,3}, {4048,6227,3},{4052,6220,3},{4055,6215,3},{4060,6212,3},{4065,6208,3},{4072,6205,3}, {4077,6203,3},{4082,6200,3},{4087,6200,3},{4092,6200,3},{4098,6198,3},{4103,6197,3}, {4105,6190,3},{4108,6190,3},{4112,6185,3},{4118,6175,3},{4122,6172,3},{4123,6165,3}, {4128,6160,3},{4127,6152,3},{4128,6145,3},{4125,6140,3},{4118,6138,3},{4115,6133,3}, {4115,6125,3},{4117,6118,3},{4120,6113,3},{4122,6107,3},{4123,6100,3},{4123,6093,3}, {4123,6087,3},{4123,6077,3},{4123,6068,3},{4122,6057,3},{4122,6047,3},{4125,6040,3}, {4130,6033,3},{4133,6027,3},{4137,6020,3},{4140,6013,3},{4145,6010,3},{4150,6010,3}, {4157,6013,3},{4162,6017,3},{4165,6013,3},{4172,6008,3},{4177,6007,3},{4182,6010,3}, {4180,6018,3},{4177,6023,3},{4177,6032,3},{4178,6030,3},{4182,6023,3},{4185,6015,3}, {4190,6012,3},{4192,6005,3},{4197,5995,3},{4200,5995,3},{4200,6003,3},{4203,6002,3}, {4208,6000,3},{4215,5997,3},{4217,6005,3},{4222,6000,3},{4223,5993,3},{4228,5990,3}, {4230,5982,3},{4227,5980,3},{4228,5972,3},{4228,5963,3},{4228,5957,3},{4228,5948,3}, {4228,5940,3},{4233,5935,3},{4237,5930,3},{4243,5928,3},{4248,5922,3},{4253,5915,3}, {4252,5908,3},{4253,5900,3},{4255,5893,3},{4258,5887,3},{4263,5880,3},{4268,5877,3}, {4273,5870,3},{4278,5863,3},{4277,5862,3},{4275,5863,3},{4270,5860,3},{4265,5857,3}, {4265,5853,3},{4265,5847,3},{4267,5840,3},{4268,5830,3},{4267,5822,3},{4263,5817,3}, {4262,5815,3},{4257,5823,3},{4255,5830,3},{4248,5835,3},{4242,5840,3},{4237,5842,3}, {4235,5845,3},{4232,5852,3},{4230,5852,3},{4228,5850,3},{4228,5840,3},{4235,5840,3}, {4242,5838,3},{4245,5832,3},{4247,5820,3},{4245,5812,3},{4247,5812,3},{4250,5807,3}, {4248,5800,3},{4245,5795,3},{4245,5792,3},{4240,5793,3},{4235,5793,3},{4228,5793,3}, {4223,5792,3},{4223,5783,3},{4217,5785,3},{4217,5783,3},{4217,5772,3},{4215,5765,3}, {4217,5762,3},{4217,5752,3},{4217,5745,3},{4215,5737,3},{4212,5727,3},{4207,5722,3}, {4202,5718,3},{4197,5715,3},{4193,5708,3},{4190,5700,3},{4183,5698,3},{4178,5697,3}, {4172,5698,3},{4165,5698,3},{4160,5702,3},{4155,5703,3},{4150,5702,3},{4143,5703,3}, {4138,5708,3},{4138,5715,3},{4135,5713,3},{4130,5707,3},{4127,5703,3},{4127,5695,3}, {4127,5688,3},{4128,5678,3},{4128,5667,3},{4128,5660,3},{4130,5650,3},{4130,5643,3}, {4130,5635,3},{4130,5627,3},{4132,5620,3},{4132,5612,3},{4132,5600,3},{3735,5390,131}, {3750,5388,3},{3755,5387,3},{3773,5382,3},{3788,5380,3},{3803,5382,3},{3822,5385,3}, {3835,5387,3},{3842,5383,3},{3852,5382,3},{3867,5385,3},{3877,5392,3},{3880,5392,3}, {3892,5398,3},{3892,5397,3},{3893,5397,3},{3893,5393,3},{3898,5388,3},{3903,5387,3}, {3903,5382,3},{3905,5380,3},{3903,5377,3},{3912,5372,3},{3907,5373,3},{3907,5370,3}, {3913,5370,3},{3917,5373,3},{3917,5370,3},{3920,5370,3},{3923,5372,3},{3920,5367,3}, {3918,5368,3},{3908,5368,3},{3912,5363,3},{3918,5362,3},{3918,5360,3},{3923,5360,3}, {3920,5358,3},{3920,5357,3},{3928,5358,3},{3928,5357,3},{3932,5358,3},{3932,5355,3}, {3935,5357,3},{3933,5353,3},{3933,5350,3},{3932,5345,3},{3933,5343,3},{3930,5338,3}, {3933,5340,3},{3932,5328,3},{3935,5330,3},{3937,5323,3},{3933,5315,3},{3932,5320,3}, {3927,5317,3},{3918,5318,3},{3918,5317,3},{3932,5315,3},{3940,5308,3},{3952,5318,3}, {3962,5323,3},{3965,5327,3},{3967,5330,3},{3965,5332,3},{3962,5327,3},{3952,5320,3}, {3952,5325,3},{3953,5342,3},{3948,5348,3},{3947,5355,3},{3947,5357,3},{3948,5358,3}, {3950,5357,3},{3952,5358,3},{3948,5363,3},{3952,5365,3},{3952,5370,3},{3950,5372,3}, {3952,5373,3},{3955,5370,3},{3955,5365,3},{3957,5363,3},{3957,5365,3},{3960,5365,3}, {3962,5363,3},{3962,5360,3},{3962,5357,3},{3967,5355,3},{3967,5353,3},{3963,5353,3}, {3970,5345,3},{3968,5345,3},{3967,5345,3},{3968,5343,3},{3963,5345,3},{3967,5342,3}, {3975,5343,3},{3977,5338,3},{3977,5342,3},{3987,5350,3},{3988,5348,3},{3990,5353,3}, {3992,5352,3},{3997,5358,3},{3997,5348,3},{4000,5342,3},{4000,5338,3},{3993,5328,3}, {4000,5317,3},{3997,5312,3},{3997,5307,3},{3997,5305,3},{4000,5308,3},{3997,5300,3}, {3998,5293,3},{4002,5293,3},{4002,5290,3},{3990,5292,3},{3975,5305,3},{3978,5300,3}, {3973,5303,3},{3977,5300,3},{3983,5297,3},{3987,5290,3},{3995,5288,3},{3997,5283,3}, {4005,5273,3},{4017,5277,3},{4018,5273,3},{4022,5273,3},{4027,5268,3},{4037,5273,3}, {4045,5272,3},{4052,5275,3},{4068,5287,3},{4072,5283,3},{4075,5283,3},{4077,5287,3}, {4078,5287,3},{4087,5288,3},{4095,5293,3},{4102,5292,3},{4107,5292,3},{4108,5292,3}, {4107,5295,3},{4103,5297,3},{4102,5295,3},{4093,5302,3},{4090,5303,3},{4087,5307,3}, {4087,5312,3},{4083,5307,3},{4077,5312,3},{4077,5318,3},{4082,5325,3},{4077,5323,3}, {4077,5332,3},{4078,5333,3},{4082,5335,3},{4083,5338,3},{4078,5338,3},{4073,5347,3}, {4077,5355,3},{4085,5355,3},{4088,5358,3},{4090,5360,3},{4088,5363,3},{4085,5365,3}, {4083,5365,3},{4080,5367,3},{4078,5365,3},{4072,5368,3},{4068,5373,3},{4063,5370,3}, {4062,5375,3},{4063,5377,3},{4063,5387,3},{4065,5390,3},{4067,5395,3},{4065,5403,3}, {4068,5410,3},{4072,5407,3},{4073,5423,3},{4072,5423,3},{4068,5422,3},{4067,5427,3}, {4067,5440,3},{4068,5437,3},{4072,5443,3},{4072,5432,3},{4083,5427,3},{4087,5427,3}, {4088,5425,3},{4093,5433,3},{4090,5440,3},{4087,5442,3},{4087,5447,3},{4083,5445,3}, {4082,5443,3},{4080,5448,3},{4083,5463,3},{4087,5467,3},{4088,5472,3},{4097,5477,3}, {4107,5468,3},{4103,5477,3},{4108,5472,3},{4110,5473,3},{4112,5465,3},{4115,5463,3}, {4125,5452,3},{4133,5430,3},{4140,5420,3},{4145,5415,3},{4148,5407,3},{4160,5402,3}, {4170,5402,3},{4180,5398,3},{4188,5393,3},{4190,5390,3},{4197,5390,3},{4200,5392,3}, {4207,5390,3},{4212,5382,3},{4215,5367,3},{4210,5347,3},{4210,5337,3},{4207,5328,3}, {4210,5315,3},{4207,5308,3},{4203,5307,3},{4200,5297,3},{4197,5295,3},{4178,5283,3}, {4172,5278,3},{4167,5277,3},{4167,5278,3},{4170,5282,3},{4170,5283,3},{4170,5287,3}, {4167,5292,3},{4163,5290,3},{4157,5290,3},{4138,5282,3},{4123,5285,3},{4112,5292,3}, {4105,5288,3},{4107,5285,3},{4115,5285,3},{4123,5282,3},{4132,5278,3},{4137,5277,3}, {4138,5272,3},{4142,5272,3},{4143,5270,3},{4145,5265,3},{4148,5263,3},{4152,5255,3}, {4157,5258,3},{4165,5258,3},{4168,5257,3},{4168,5253,3},{4177,5243,3},{4182,5252,3}, {4185,5257,3},{4188,5263,3},{4193,5270,3},{4197,5275,3},{4200,5282,3},{4205,5288,3}, {4210,5297,3},{4213,5303,3},{4217,5313,3},{4220,5323,3},{4222,5332,3},{4227,5342,3}, {4228,5357,3},{4230,5363,3},{4230,5370,3},{4232,5378,3},{4233,5387,3},{4233,5395,3}, {4233,5403,3},{4233,5410,3},{4233,5418,3},{4230,5428,3},{4227,5435,3},{4225,5442,3}, {4222,5448,3},{4215,5458,3},{4210,5470,3},{4207,5477,3},{4202,5483,3},{4198,5488,3}, {4193,5493,3},{4188,5495,3},{4182,5495,3},{4178,5500,3},{4173,5505,3},{4167,5510,3}, {4160,5513,3},{4155,5517,3},{4150,5522,3},{4143,5527,3},{4138,5533,3},{4133,5540,3}, {4128,5547,3},{4125,5553,3},{4128,5555,3},{4125,5560,3},{4128,5565,3},{4128,5573,3}, {4128,5580,3},{4132,5585,3},{4132,5593,3},{4132,5600,3},{4132,5612,3},{4132,5620,3}, {4130,5627,3},{4130,5635,3},{4130,5643,3},{4130,5650,3},{4128,5660,3},{4128,5667,3}, {4128,5678,3},{4127,5688,3},{4127,5695,3},{4127,5703,3},{4130,5707,3},{4135,5713,3}, {4138,5715,3},{4138,5708,3},{4143,5703,3},{4150,5702,3},{4155,5703,3},{4160,5702,3}, {4165,5698,3},{4172,5698,3},{4178,5697,3},{4183,5698,3},{4190,5700,3},{4193,5708,3}, {4197,5715,3},{4202,5718,3},{4207,5722,3},{4212,5727,3},{4215,5737,3},{4217,5745,3}, {4217,5752,3},{4217,5762,3},{4215,5765,3},{4217,5772,3},{4217,5783,3},{4217,5785,3}, {4223,5783,3},{4223,5792,3},{4228,5793,3},{4235,5793,3},{4240,5793,3},{4245,5792,3}, {4245,5795,3},{4248,5800,3},{4250,5807,3},{4247,5812,3},{4245,5812,3},{4247,5820,3}, {4245,5832,3},{4242,5838,3},{4235,5840,3},{4228,5840,3},{4228,5850,3},{4230,5852,3}, {4232,5852,3},{4235,5845,3},{4237,5842,3},{4242,5840,3},{4248,5835,3},{4255,5830,3}, {4257,5823,3},{4262,5815,3},{4263,5817,3},{4267,5822,3},{4268,5830,3},{4267,5840,3}, {4265,5847,3},{4265,5853,3},{4265,5857,3},{4270,5860,3},{4275,5863,3},{4277,5862,3}, {4278,5863,3},{4273,5870,3},{4268,5877,3},{4263,5880,3},{4258,5887,3},{4255,5893,3}, {4253,5900,3},{4252,5908,3},{4253,5915,3},{4248,5922,3},{4243,5928,3},{4237,5930,3}, {4233,5935,3},{4228,5940,3},{4228,5948,3},{4228,5957,3},{4228,5963,3},{4228,5972,3}, {4227,5980,3},{4230,5982,3},{4228,5990,3},{4223,5993,3},{4222,6000,3},{4217,6005,3}, {4215,5997,3},{4208,6000,3},{4203,6002,3},{4200,6003,3},{4200,5995,3},{4197,5995,3}, {4192,6005,3},{4190,6012,3},{4185,6015,3},{4182,6023,3},{4178,6030,3},{4177,6032,3}, {4177,6023,3},{4180,6018,3},{4182,6010,3},{4177,6007,3},{4172,6008,3},{4165,6013,3}, {4162,6017,3},{4157,6013,3},{4150,6010,3},{4145,6010,3},{4140,6013,3},{4137,6020,3}, {4133,6027,3},{4130,6033,3},{4125,6040,3},{4122,6047,3},{4122,6057,3},{4123,6068,3}, {4123,6077,3},{4123,6087,3},{4123,6093,3},{4123,6100,3},{4122,6107,3},{4120,6113,3}, {4117,6118,3},{4115,6125,3},{4115,6133,3},{4118,6138,3},{4125,6140,3},{4128,6145,3}, {4127,6152,3},{4128,6160,3},{4123,6165,3},{4122,6172,3},{4118,6175,3},{4112,6185,3}, {4108,6190,3},{4105,6190,3},{4103,6197,3},{4098,6198,3},{4092,6200,3},{4087,6200,3}, {4082,6200,3},{4077,6203,3},{4072,6205,3},{4065,6208,3},{4060,6212,3},{4055,6215,3}, {4052,6220,3},{4048,6227,3},{4045,6232,3},{4043,6235,3},{4038,6233,3},{4033,6238,3}, {4028,6238,3},{4022,6240,3},{4015,6242,3},{4010,6240,3},{4003,6243,3},{3997,6247,3}, {3990,6257,3},{3987,6265,3},{3982,6272,3},{3978,6280,3},{3973,6287,3},{3970,6295,3}, {3967,6300,3},{3963,6307,3},{3960,6312,3},{3957,6317,3},{3953,6327,3},{3947,6337,3}, {3945,6342,3},{3940,6352,3},{3935,6358,3},{3928,6367,3},{3923,6372,3},{3918,6378,3}, {3915,6385,3},{3910,6393,3},{3907,6398,3},{3903,6405,3},{3898,6413,3},{3895,6420,3}, {3898,6430,3},{3898,6432,3},{3895,6437,3},{3890,6443,3},{3883,6452,3},{3880,6458,3}, {3877,6465,3},{3873,6473,3},{3870,6480,3},{3867,6485,3},{3863,6493,3},{3862,6500,3}, {3857,6508,3},{3852,6515,3},{3848,6520,3},{3843,6527,3},{3838,6537,3},{3833,6543,3}, {3830,6553,3},{3827,6563,3},{3825,6570,3},{3823,6580,3},{3827,6585,3},{3827,6593,3}, {3823,6600,3},{3822,6607,3},{3818,6612,3},{3817,6620,3},{3817,6623,3},{3812,6627,3}, {3807,6633,3},{3805,6638,3},{3803,6643,3},{3803,6655,3},{3802,6662,3},{3797,6668,3}, {3792,6667,3},{3788,6662,3},{3782,6657,3},{3775,6653,3},{3768,6655,3},{3760,6653,3}, {3753,6658,3},{3748,6663,3},{3743,6663,3},{3742,6657,3},{3740,6652,3},{3738,6652,3}, {3737,6652,3},{3733,6647,3},{3732,6643,3},{3735,6642,3},{3732,6630,3},{3737,6623,3}, {3737,6617,3},{3743,6608,3},{3750,6585,3},{3757,6578,3},{3753,6577,3},{3753,6572,3}, {3752,6568,3},{3745,6565,3},{3735,6565,3},{3725,6555,3},{3725,6530,3},{3723,6523,3}, {3725,6507,3},{3712,6478,3},{3707,6478,3},{3693,6480,3},{3665,6462,3},{3660,6462,3}, {3650,6463,3},{3640,6460,3},{3625,6447,3},{3622,6433,3},{3615,6428,3},{3617,6427,3}, {3617,6418,3},{3612,6410,3},{3608,6407,3},{3600,6407,3},{3603,6400,3},{3603,6392,3}, {3598,6378,3},{3597,6360,3},{3590,6353,3},{3587,6337,3},{3585,6330,3},{3587,6312,3}, {3583,6310,3},{3580,6313,3},{3577,6313,3},{3577,6315,3},{3570,6323,3},{3563,6310,3}, {3555,6310,3},{3553,6313,3},{3543,6310,3},{3542,6298,3},{3528,6275,3},{3525,6272,3}, {3522,6262,3},{3523,6255,3},{3528,6252,3},{3528,6247,3},{3513,6232,3},{3520,6227,3}, {3522,6228,3},{3530,6227,3},{3532,6223,3},{3533,6215,3},{3545,6203,3},{3545,6197,3}, {3542,6180,3},{3545,6160,3},{3552,6147,3},{3555,6145,3},{3557,6140,3},{3560,6140,3}, {3560,6137,3},{3563,6138,3},{3563,6137,3},{3563,6128,3},{3560,6128,3},{3568,6123,3}, {3582,6127,3},{3590,6125,3},{3590,6123,3},{3593,6120,3},{3598,6112,3},{3600,6117,3}, {3603,6117,3},{3605,6120,3},{3612,6123,3},{3628,6118,3},{3632,6115,3},{3640,6115,3}, {3643,6117,3},{3650,6117,3},{3657,6118,3},{3665,6115,3},{3665,6107,3},{3665,6100,3}, {3665,6093,3},{3665,6087,3},{3665,6080,3},{3665,6073,3},{3665,6065,3},{3665,6058,3}, {3665,6052,3},{3665,6045,3},{3665,6037,3},{3665,6033,3},{3670,6030,3},{3675,6028,3}, {3687,6017,3},{3703,6005,3},{3705,6000,3},{3707,5992,3},{3712,5982,3},{3713,5973,3}, {3715,5967,3},{3713,5962,3},{3718,5960,3},{3722,5957,3},{3720,5953,3},{3722,5948,3}, {3725,5948,3},{3732,5940,3},{3742,5937,3},{3743,5938,3},{3748,5938,3},{3753,5933,3}, {3753,5930,3},{3752,5925,3},{3763,5905,3},{3767,5893,3},{3767,5888,3},{3770,5882,3}, {3767,5880,3},{3767,5875,3},{3765,5873,3},{3765,5868,3},{3772,5857,3},{3770,5853,3}, {3765,5850,3},{3763,5838,3},{3767,5837,3},{3768,5823,3},{3778,5820,3},{3780,5817,3}, {3782,5805,3},{3785,5797,3},{3787,5790,3},{3787,5782,3},{3790,5778,3},{3790,5775,3}, {3793,5770,3},{3792,5763,3},{3793,5757,3},{3793,5752,3},{3793,5745,3},{3800,5735,3}, {3810,5737,3},{3815,5732,3},{3817,5728,3},{3820,5728,3},{3823,5725,3},{3827,5725,3}, {3828,5720,3},{3828,5717,3},{3823,5713,3},{3820,5705,3},{3823,5687,3},{3825,5680,3}, {3828,5675,3},{3827,5665,3},{3823,5662,3},{3827,5657,3},{3827,5645,3},{3818,5632,3}, {3817,5632,3},{3813,5635,3},{3808,5633,3},{3808,5632,3},{3807,5622,3},{3810,5617,3}, {3807,5598,3},{3808,5593,3},{3810,5587,3},{3812,5580,3},{3813,5575,3},{3808,5545,3}, {3803,5538,3},{3798,5525,3},{3797,5520,3},{3795,5513,3},{3780,5495,3},{3775,5483,3}, {3765,5478,3},{3758,5482,3},{3752,5478,3},{3747,5468,3},{3745,5468,3},{3745,5458,3}, {3735,5433,3},{3737,5428,3},{3733,5423,3},{3735,5390,3},{2997,4853,131}, {3000,4845,3},{3007,4843,3},{3013,4838,3},{3018,4842,3},{3022,4840,3},{3033,4828,3}, {3033,4820,3},{3042,4817,3},{3047,4807,3},{3048,4803,3},{3100,4803,3},{3100,4770,3}, {3140,4770,3},{3180,4787,3},{3187,4778,3},{3190,4778,3},{3193,4773,3},{3202,4768,3}, {3202,4767,3},{3205,4763,3},{3208,4763,3},{3212,4758,3},{3212,4757,3},{3215,4755,3}, {3215,4750,3},{3223,4753,3},{3233,4742,3},{3238,4743,3},{3240,4743,3},{3248,4735,3}, {3248,4732,3},{3248,4728,3},{3247,4725,3},{3247,4713,3},{3260,4695,3},{3268,4683,3}, {3270,4678,3},{3277,4673,3},{3293,4642,3},{3297,4628,3},{3295,4617,3},{3297,4610,3}, {3300,4610,3},{3303,4613,3},{3307,4615,3},{3308,4610,3},{3308,4605,3},{3310,4605,3}, {3312,4605,3},{3312,4612,3},{3318,4618,3},{3320,4620,3},{3320,4618,3},{3327,4618,3}, {3338,4605,3},{3343,4605,3},{3350,4600,3},{3350,4597,3},{3348,4595,3},{3348,4587,3}, {3352,4588,3},{3355,4595,3},{3360,4590,3},{3363,4590,3},{3363,4583,3},{3358,4577,3}, {3360,4575,3},{3363,4575,3},{3367,4570,3},{3372,4565,3},{3378,4563,3},{3380,4560,3}, {3395,4550,3},{3395,4545,3},{3397,4540,3},{3402,4547,3},{3408,4547,3},{3415,4557,3}, {3418,4555,3},{3423,4557,3},{3432,4558,3},{3435,4553,3},{3433,4548,3},{3445,4543,3}, {3447,4545,3},{3447,4550,3},{3450,4552,3},{3452,4553,3},{3457,4552,3},{3458,4552,3}, {3460,4553,3},{3458,4557,3},{3457,4562,3},{3457,4565,3},{3455,4572,3},{3458,4573,3}, {3460,4572,3},{3467,4572,3},{3472,4565,3},{3473,4565,3},{3477,4570,3},{3482,4570,3}, {3485,4577,3},{3492,4577,3},{3490,4585,3},{3490,4587,3},{3493,4587,3},{3497,4590,3}, {3503,4588,3},{3505,4592,3},{3510,4593,3},{3507,4602,3},{3505,4603,3},{3508,4608,3}, {3510,4615,3},{3512,4617,3},{3517,4615,3},{3518,4618,3},{3522,4620,3},{3525,4612,3}, {3532,4615,3},{3533,4613,3},{3540,4605,3},{3550,4598,3},{3553,4600,3},{3558,4598,3}, {3558,4602,3},{3568,4602,3},{3570,4605,3},{3570,4615,3},{3572,4620,3},{3572,4623,3}, {3578,4633,3},{3580,4635,3},{3583,4633,3},{3583,4632,3},{3582,4627,3},{3580,4618,3}, {3582,4615,3},{3585,4613,3},{3587,4608,3},{3585,4603,3},{3583,4590,3},{3582,4587,3}, {3582,4577,3},{3593,4567,3},{3600,4555,3},{3602,4550,3},{3598,4538,3},{3598,4535,3}, {3602,4533,3},{3608,4537,3},{3615,4532,3},{3623,4532,3},{3625,4528,3},{3628,4530,3}, {3630,4527,3},{3638,4528,3},{3643,4523,3},{3642,4515,3},{3643,4508,3},{3650,4507,3}, {3653,4502,3},{3657,4503,3},{3660,4503,3},{3665,4507,3},{3668,4507,3},{3675,4502,3}, {3677,4497,3},{3678,4495,3},{3678,4487,3},{3680,4485,3},{3683,4485,3},{3688,4490,3}, {3693,4490,3},{3697,4488,3},{3702,4492,3},{3705,4487,3},{3705,4483,3},{3707,4482,3}, {3708,4478,3},{3712,4477,3},{3715,4478,3},{3723,4477,3},{3727,4482,3},{3730,4482,3}, {3735,4475,3},{3738,4472,3},{3738,4467,3},{3743,4465,3},{3745,4458,3},{3748,4460,3}, {3757,4460,3},{3760,4462,3},{3762,4458,3},{3765,4455,3},{3770,4462,3},{3773,4462,3}, {3777,4458,3},{3778,4453,3},{3777,4445,3},{3782,4445,3},{3782,4442,3},{3787,4440,3}, {3788,4433,3},{3787,4428,3},{3790,4422,3},{3802,4427,3},{3803,4428,3},{3810,4432,3}, {3810,4435,3},{3813,4435,3},{3817,4438,3},{3827,4440,3},{3832,4447,3},{3835,4448,3}, {3840,4443,3},{3837,4438,3},{3838,4430,3},{3845,4430,3},{3852,4432,3},{3863,4432,3}, {3867,4427,3},{3870,4428,3},{3872,4427,3},{3883,4430,3},{3887,4428,3},{3887,4425,3}, {3890,4420,3},{3895,4420,3},{3900,4417,3},{3903,4420,3},{3908,4418,3},{3913,4422,3}, {3920,4410,3},{3923,4410,3},{3925,4408,3},{3928,4410,3},{3938,4403,3},{3942,4407,3}, {3942,4412,3},{3940,4413,3},{3942,4420,3},{3942,4423,3},{3938,4430,3},{3942,4442,3}, {3945,4443,3},{3957,4443,3},{3965,4448,3},{3970,4447,3},{3978,4460,3},{3972,4468,3}, {3970,4473,3},{3963,4480,3},{3972,4477,3},{3968,4480,3},{3963,4480,3},{3962,4483,3}, {3962,4487,3},{3960,4488,3},{3948,4493,3},{3945,4495,3},{3943,4495,3},{3942,4500,3}, {3937,4507,3},{3928,4513,3},{3922,4515,3},{3918,4527,3},{3920,4532,3},{3917,4532,3}, {3917,4535,3},{3913,4535,3},{3910,4538,3},{3907,4540,3},{3905,4543,3},{3902,4542,3}, {3900,4543,3},{3897,4553,3},{3897,4557,3},{3895,4562,3},{3893,4577,3},{3888,4588,3}, {3888,4595,3},{3888,4605,3},{3885,4613,3},{3883,4617,3},{3892,4635,3},{3888,4642,3}, {3887,4653,3},{3890,4655,3},{3898,4665,3},{3902,4667,3},{3903,4673,3},{3908,4675,3}, {3915,4683,3},{3917,4690,3},{3915,4695,3},{3920,4703,3},{3925,4705,3},{3930,4710,3}, {3938,4730,3},{3947,4740,3},{3950,4747,3},{3952,4753,3},{3955,4758,3},{3963,4777,3}, {3968,4780,3},{3968,4793,3},{3972,4798,3},{3968,4805,3},{3960,4813,3},{3943,4833,3}, {3938,4837,3},{3935,4827,3},{3933,4818,3},{3930,4815,3},{3927,4812,3},{3922,4813,3}, {3915,4822,3},{3912,4828,3},{3903,4833,3},{3900,4830,3},{3898,4827,3},{3895,4807,3}, {3893,4807,3},{3890,4802,3},{3883,4802,3},{3877,4812,3},{3873,4825,3},{3867,4825,3}, {3865,4828,3},{3860,4833,3},{3862,4845,3},{3857,4845,3},{3855,4848,3},{3840,4863,3}, {3842,4873,3},{3845,4878,3},{3843,4888,3},{3830,4887,3},{3805,4892,3},{3797,4895,3}, {3790,4895,3},{3783,4898,3},{3780,4898,3},{3775,4900,3},{3763,4912,3},{3755,4927,3}, {3748,4943,3},{3745,4983,3},{3748,4993,3},{3745,4997,3},{3747,4995,3},{3745,4993,3}, {3745,4995,3},{3738,5018,3},{3737,5022,3},{3728,5023,3},{3715,5032,3},{3712,5035,3}, {3707,5045,3},{3703,5048,3},{3683,5088,3},{3677,5100,3},{3673,5110,3},{3668,5142,3}, {3658,5187,3},{3658,5197,3},{3660,5210,3},{3668,5243,3},{3670,5255,3},{3672,5267,3}, {3675,5282,3},{3685,5322,3},{3688,5348,3},{3692,5393,3},{3695,5402,3},{3690,5400,3}, {3690,5398,3},{3687,5382,3},{3687,5360,3},{3685,5367,3},{3685,5363,3},{3682,5368,3}, {3680,5388,3},{3680,5395,3},{3682,5403,3},{3695,5403,3},{3697,5403,3},{3698,5398,3}, {3702,5402,3},{3710,5397,3},{3718,5395,3},{3727,5392,3},{3735,5390,3},{3733,5423,3}, {3737,5428,3},{3735,5433,3},{3745,5458,3},{3745,5468,3},{3747,5468,3},{3752,5478,3}, {3758,5482,3},{3765,5478,3},{3775,5483,3},{3780,5495,3},{3795,5513,3},{3797,5520,3}, {3798,5525,3},{3803,5538,3},{3808,5545,3},{3813,5575,3},{3812,5580,3},{3810,5587,3}, {3808,5593,3},{3807,5598,3},{3810,5617,3},{3807,5622,3},{3808,5632,3},{3808,5633,3}, {3813,5635,3},{3817,5632,3},{3818,5632,3},{3827,5645,3},{3827,5657,3},{3823,5662,3}, {3827,5665,3},{3828,5675,3},{3825,5680,3},{3823,5687,3},{3820,5705,3},{3823,5713,3}, {3828,5717,3},{3828,5720,3},{3827,5725,3},{3823,5725,3},{3820,5728,3},{3817,5728,3}, {3815,5732,3},{3810,5737,3},{3800,5735,3},{3793,5745,3},{3793,5752,3},{3793,5757,3}, {3792,5763,3},{3793,5770,3},{3790,5775,3},{3790,5778,3},{3787,5782,3},{3787,5790,3}, {3785,5797,3},{3782,5805,3},{3780,5817,3},{3778,5820,3},{3768,5823,3},{3767,5837,3}, {3763,5838,3},{3765,5850,3},{3770,5853,3},{3772,5857,3},{3765,5868,3},{3765,5873,3}, {3767,5875,3},{3767,5880,3},{3770,5882,3},{3767,5888,3},{3767,5893,3},{3763,5905,3}, {3752,5925,3},{3753,5930,3},{3753,5933,3},{3748,5938,3},{3743,5938,3},{3742,5937,3}, {3732,5940,3},{3725,5948,3},{3722,5948,3},{3720,5953,3},{3722,5957,3},{3718,5960,3}, {3713,5962,3},{3715,5967,3},{3713,5973,3},{3712,5982,3},{3707,5992,3},{3705,6000,3}, {3703,6005,3},{3687,6017,3},{3675,6028,3},{3670,6030,3},{3665,6033,3},{3665,6037,3}, {3665,6045,3},{3665,6052,3},{3665,6058,3},{3665,6065,3},{3665,6073,3},{3665,6080,3}, {3665,6087,3},{3665,6093,3},{3665,6100,3},{3665,6107,3},{3665,6115,3},{3657,6118,3}, {3650,6117,3},{3643,6117,3},{3640,6115,3},{3632,6115,3},{3628,6118,3},{3612,6123,3}, {3605,6120,3},{3603,6117,3},{3600,6117,3},{3598,6112,3},{3593,6120,3},{3590,6123,3}, {3590,6125,3},{3582,6127,3},{3568,6123,3},{3560,6128,3},{3555,6128,3},{3552,6128,3}, {3548,6123,3},{3543,6123,3},{3540,6120,3},{3530,6118,3},{3528,6110,3},{3523,6110,3}, {3520,6112,3},{3518,6110,3},{3513,6113,3},{3510,6115,3},{3507,6112,3},{3502,6112,3}, {3493,6107,3},{3482,6107,3},{3473,6098,3},{3465,6097,3},{3463,6092,3},{3457,6085,3}, {3455,6075,3},{3452,6072,3},{3452,6075,3},{3448,6077,3},{3447,6080,3},{3440,6083,3}, {3432,6092,3},{3432,6067,3},{3428,6068,3},{3425,6062,3},{3420,6055,3},{3413,6050,3}, {3382,6055,3},{3373,6050,3},{3363,6053,3},{3357,6067,3},{3355,6090,3},{3352,6095,3}, {3350,6093,3},{3348,6085,3},{3342,6085,3},{3337,6077,3},{3315,6058,3},{3307,6058,3}, {3298,6060,3},{3293,6062,3},{3288,6065,3},{3283,6065,3},{3278,6067,3},{3273,6068,3}, {3268,6070,3},{3263,6072,3},{3258,6073,3},{3253,6075,3},{3248,6078,3},{3243,6078,3}, {3238,6080,3},{3233,6082,3},{3228,6083,3},{3223,6085,3},{3218,6085,3},{3213,6083,3}, {3208,6083,3},{3203,6080,3},{3202,6082,3},{3198,6080,3},{3195,6082,3},{3187,6082,3}, {3173,6083,3},{3167,6082,3},{3162,6082,3},{3157,6083,3},{3150,6085,3},{3148,6092,3}, {3148,6097,3},{3147,6103,3},{3147,6110,3},{3145,6117,3},{3145,6123,3},{3143,6130,3}, {3143,6135,3},{3142,6142,3},{3142,6148,3},{3140,6155,3},{3140,6162,3},{3138,6172,3}, {3132,6177,3},{3125,6177,3},{3118,6182,3},{3113,6180,3},{3102,6185,3},{3095,6180,3}, {3088,6182,3},{3083,6182,3},{3080,6177,3},{3075,6172,3},{3072,6168,3},{3067,6163,3}, {3062,6160,3},{3058,6157,3},{3053,6152,3},{3050,6148,3},{3045,6143,3},{3040,6140,3}, {3037,6135,3},{3032,6132,3},{3028,6127,3},{3023,6123,3},{3020,6118,3},{3015,6115,3}, {3010,6110,3},{3007,6107,3},{3002,6102,3},{2998,6098,3},{2993,6093,3},{2987,6087,3}, {2982,6092,3},{2978,6095,3},{2973,6098,3},{2970,6103,3},{2965,6107,3},{2962,6112,3}, {2957,6115,3},{2953,6120,3},{2948,6123,3},{2943,6128,3},{2940,6132,3},{2938,6137,3}, {2935,6137,3},{2930,6135,3},{2927,6137,3},{2922,6140,3},{2915,6143,3},{2913,6147,3}, {2910,6148,3},{2908,6152,3},{2905,6148,3},{2902,6153,3},{2887,6160,3},{2878,6167,3}, {2873,6173,3},{2865,6182,3},{2857,6190,3},{2852,6207,3},{2845,6233,3},{2842,6243,3}, {2838,6247,3},{2838,6250,3},{2832,6253,3},{2827,6260,3},{2828,6278,3},{2822,6280,3}, {2803,6277,3},{2775,6283,3},{2748,6285,3},{2737,6280,3},{2732,6282,3},{2728,6280,3}, {2727,6278,3},{2722,6285,3},{2722,6295,3},{2725,6305,3},{2725,6315,3},{2727,6318,3}, {2727,6320,3},{2723,6323,3},{2723,6327,3},{2713,6333,3},{2708,6325,3},{2685,6325,3}, {2682,6318,3},{2672,6320,3},{2663,6318,3},{2665,6283,3},{2663,6277,3},{2662,6275,3}, {2660,6270,3},{2662,6267,3},{2658,6262,3},{2657,6243,3},{2655,6242,3},{2653,6237,3}, {2650,6232,3},{2647,6232,3},{2642,6227,3},{2637,6228,3},{2633,6227,3},{2633,6223,3}, {2632,6225,3},{2628,6223,3},{2628,6212,3},{2632,6208,3},{2633,6203,3},{2628,6197,3}, {2627,6188,3},{2607,6183,3},{2600,6185,3},{2597,6182,3},{2592,6183,3},{2588,6188,3}, {2587,6185,3},{2585,6182,3},{2582,6183,3},{2575,6183,3},{2572,6180,3},{2573,6173,3}, {2568,6168,3},{2565,6167,3},{2532,6165,3},{2520,6162,3},{2520,6158,3},{2523,6158,3}, {2525,6155,3},{2522,6153,3},{2520,6155,3},{2520,6152,3},{2520,6148,3},{2517,6152,3}, {2512,6150,3},{2510,6143,3},{2508,6142,3},{2508,6145,3},{2508,6140,3},{2512,6123,3}, {2517,6120,3},{2517,6117,3},{2527,6062,3},{2528,6062,3},{2528,6063,3},{2533,6060,3}, {2540,6060,3},{2543,6055,3},{2543,6045,3},{2538,6040,3},{2533,6040,3},{2533,6045,3}, {2530,6045,3},{2527,6047,3},{2532,6040,3},{2533,6030,3},{2535,6030,3},{2538,6030,3}, {2537,6020,3},{2532,6018,3},{2533,6012,3},{2538,6008,3},{2538,6002,3},{2537,5993,3}, {2535,5990,3},{2542,5983,3},{2538,5962,3},{2542,5957,3},{2547,5950,3},{2548,5945,3}, {2540,5913,3},{2540,5905,3},{2540,5900,3},{2552,5892,3},{2553,5885,3},{2557,5882,3}, {2555,5872,3},{2557,5870,3},{2558,5860,3},{2560,5855,3},{2558,5847,3},{2558,5840,3}, {2562,5842,3},{2560,5835,3},{2558,5832,3},{2558,5830,3},{2557,5827,3},{2557,5823,3}, {2555,5823,3},{2553,5815,3},{2557,5805,3},{2563,5800,3},{2568,5798,3},{2570,5795,3}, {2568,5787,3},{2563,5778,3},{2570,5778,3},{2575,5775,3},{2573,5752,3},{2575,5745,3}, {2577,5745,3},{2575,5743,3},{2577,5740,3},{2578,5732,3},{2592,5727,3},{2598,5723,3}, {2600,5720,3},{2607,5717,3},{2612,5717,3},{2617,5722,3},{2627,5713,3},{2635,5713,3}, {2640,5708,3},{2645,5707,3},{2657,5710,3},{2667,5708,3},{2685,5702,3},{2695,5693,3}, {2695,5695,3},{2697,5697,3},{2700,5697,3},{2698,5692,3},{2702,5690,3},{2700,5687,3}, {2703,5687,3},{2703,5683,3},{2707,5688,3},{2708,5685,3},{2713,5682,3},{2712,5677,3}, {2713,5672,3},{2715,5673,3},{2715,5670,3},{2715,5655,3},{2717,5652,3},{2717,5642,3}, {2720,5635,3},{2715,5613,3},{2712,5608,3},{2707,5597,3},{2702,5595,3},{2702,5580,3}, {2698,5575,3},{2700,5570,3},{2698,5565,3},{2690,5555,3},{2690,5558,3},{2682,5557,3}, {2677,5548,3},{2675,5540,3},{2677,5537,3},{2678,5535,3},{2678,5525,3},{2672,5520,3}, {2670,5510,3},{2665,5505,3},{2662,5498,3},{2658,5495,3},{2650,5480,3},{2650,5468,3}, {2650,5463,3},{2652,5460,3},{2657,5458,3},{2658,5455,3},{2658,5443,3},{2660,5440,3}, {2670,5433,3},{2672,5428,3},{2670,5423,3},{2670,5413,3},{2675,5402,3},{2673,5398,3}, {2670,5393,3},{2670,5372,3},{2673,5368,3},{2678,5358,3},{2680,5357,3},{2685,5348,3}, {2688,5347,3},{2695,5347,3},{2697,5343,3},{2700,5338,3},{2700,5333,3},{2708,5313,3}, {2710,5303,3},{2713,5298,3},{2717,5293,3},{2720,5290,3},{2722,5285,3},{2728,5275,3}, {2735,5260,3},{2738,5257,3},{2740,5257,3},{2740,5267,3},{2745,5267,3},{2747,5260,3}, {2755,5257,3},{2762,5250,3},{2765,5243,3},{2765,5238,3},{2768,5222,3},{2783,5202,3}, {2783,5188,3},{2785,5180,3},{2783,5172,3},{2785,5158,3},{2787,5158,3},{2793,5147,3}, {2802,5145,3},{2807,5132,3},{2813,5127,3},{2820,5128,3},{2823,5128,3},{2838,5115,3}, {2850,5108,3},{2873,5105,3},{2880,5100,3},{2883,5088,3},{2893,5080,3},{2897,5080,3}, {2900,5083,3},{2895,5090,3},{2897,5090,3},{2902,5093,3},{2907,5093,3},{2907,5090,3}, {2910,5088,3},{2910,5085,3},{2913,5083,3},{2913,5072,3},{2912,5068,3},{2913,5063,3}, {2920,5063,3},{2925,5065,3},{2925,5068,3},{2928,5068,3},{2932,5067,3},{2940,5067,3}, {2947,5063,3},{2950,5062,3},{2947,5060,3},{2962,5047,3},{2965,5040,3},{2987,5023,3}, {2990,5018,3},{2995,5013,3},{2998,5013,3},{2998,5015,3},{3000,5013,3},{3005,5015,3}, {3010,5012,3},{3012,5013,3},{3015,5010,3},{3020,5005,3},{3022,5000,3},{3020,4993,3}, {3000,4957,3},{3005,4950,3},{3015,4948,3},{3017,4942,3},{3017,4938,3},{3017,4935,3}, {3015,4930,3},{3015,4923,3},{3020,4923,3},{3022,4922,3},{3027,4922,3},{3023,4918,3}, {3022,4917,3},{3025,4913,3},{3025,4908,3},{3028,4905,3},{3030,4900,3},{3035,4900,3}, {3038,4892,3},{3040,4895,3},{3038,4900,3},{3040,4907,3},{3035,4922,3},{3038,4922,3}, {3043,4927,3},{3045,4927,3},{3045,4923,3},{3050,4920,3},{3047,4917,3},{3050,4917,3}, {3050,4913,3},{3052,4910,3},{3050,4907,3},{3052,4903,3},{3052,4898,3},{3048,4895,3}, {3047,4895,3},{3047,4902,3},{3043,4903,3},{3042,4903,3},{3042,4892,3},{3035,4887,3}, {3033,4888,3},{3032,4887,3},{3030,4887,3},{3025,4892,3},{3017,4895,3},{3003,4892,3}, {3003,4888,3},{3003,4870,3},{3005,4865,3},{3003,4863,3},{3000,4867,3},{2997,4865,3}, {2995,4860,3},{2997,4853,3},{3890,4655,131},{3895,4652,3},{3900,4653,3}, {3905,4655,3},{3910,4652,3},{3915,4648,3},{3915,4645,3},{3920,4645,3},{3920,4647,3}, {3920,4653,3},{3918,4653,3},{3917,4655,3},{3918,4657,3},{3920,4657,3},{3923,4662,3}, {3925,4657,3},{3930,4653,3},{3933,4650,3},{3935,4643,3},{3940,4640,3},{3945,4640,3}, {3945,4643,3},{3945,4645,3},{3948,4650,3},{3948,4655,3},{3952,4652,3},{3955,4657,3}, {3958,4650,3},{3957,4643,3},{3962,4642,3},{3962,4640,3},{3963,4637,3},{3963,4633,3}, {3960,4627,3},{3960,4620,3},{3958,4618,3},{3960,4618,3},{3962,4617,3},{3965,4613,3}, {3968,4608,3},{3972,4603,3},{3977,4600,3},{3980,4595,3},{3983,4583,3},{3985,4583,3}, {3993,4578,3},{3997,4572,3},{3997,4563,3},{4000,4562,3},{4000,4558,3},{4003,4562,3}, {4003,4568,3},{4003,4577,3},{4000,4582,3},{4003,4588,3},{4007,4590,3},{4012,4592,3}, {4017,4597,3},{4023,4597,3},{4027,4592,3},{4027,4595,3},{4030,4592,3},{4030,4585,3}, {4032,4582,3},{4035,4575,3},{4037,4567,3},{4040,4562,3},{4043,4557,3},{4048,4552,3}, {4050,4545,3},{4055,4545,3},{4060,4543,3},{4062,4537,3},{4067,4535,3},{4072,4540,3}, {4075,4545,3},{4078,4550,3},{4085,4558,3},{4090,4558,3},{4090,4555,3},{4093,4550,3}, {4098,4547,3},{4098,4542,3},{4103,4543,3},{4103,4540,3},{4100,4533,3},{4103,4528,3}, {4103,4527,3},{4102,4525,3},{4102,4522,3},{4107,4515,3},{4110,4515,3},{4110,4513,3}, {4108,4512,3},{4108,4513,3},{4105,4507,3},{4107,4505,3},{4112,4508,3},{4113,4518,3}, {4117,4520,3},{4117,4515,3},{4122,4512,3},{4120,4507,3},{4122,4502,3},{4125,4503,3}, {4130,4500,3},{4132,4505,3},{4135,4512,3},{4138,4515,3},{4142,4522,3},{4147,4527,3}, {4147,4532,3},{4145,4535,3},{4143,4542,3},{4145,4543,3},{4142,4550,3},{4140,4557,3}, {4138,4558,3},{4137,4565,3},{4137,4572,3},{4135,4572,3},{4130,4568,3},{4125,4575,3}, {4122,4580,3},{4122,4587,3},{4118,4595,3},{4118,4603,3},{4118,4610,3},{4120,4612,3}, {4118,4615,3},{4118,4625,3},{4113,4630,3},{4110,4637,3},{4108,4642,3},{4103,4647,3}, {4105,4653,3},{4107,4662,3},{4107,4663,3},{4113,4665,3},{4120,4665,3},{4125,4668,3}, {4130,4672,3},{4130,4668,3},{4135,4665,3},{4138,4660,3},{4142,4653,3},{4143,4647,3}, {4147,4642,3},{4150,4635,3},{4155,4632,3},{4160,4630,3},{4160,4627,3},{4167,4625,3}, {4172,4627,3},{4178,4628,3},{4182,4633,3},{4185,4640,3},{4190,4642,3},{4188,4647,3}, {4187,4653,3},{4182,4655,3},{4180,4658,3},{4182,4662,3},{4183,4670,3},{4187,4675,3}, {4185,4677,3},{4183,4677,3},{4178,4678,3},{4173,4685,3},{4172,4692,3},{4168,4692,3}, {4163,4697,3},{4163,4700,3},{4160,4698,3},{4155,4702,3},{4155,4707,3},{4158,4712,3}, {4157,4712,3},{4152,4717,3},{4148,4718,3},{4142,4722,3},{4138,4725,3},{4132,4727,3}, {4130,4730,3},{4128,4737,3},{4127,4743,3},{4125,4750,3},{4123,4750,3},{4122,4757,3}, {4123,4763,3},{4122,4770,3},{4118,4775,3},{4122,4780,3},{4122,4788,3},{4123,4790,3}, {4130,4792,3},{4135,4793,3},{4138,4798,3},{4143,4803,3},{4148,4805,3},{4150,4812,3}, {4150,4820,3},{4153,4827,3},{4157,4832,3},{4162,4840,3},{4167,4843,3},{4173,4845,3}, {4178,4847,3},{4185,4850,3},{4188,4853,3},{4183,4858,3},{4178,4868,3},{4168,4878,3}, {4163,4880,3},{4160,4885,3},{4153,4890,3},{4150,4895,3},{4145,4898,3},{4142,4903,3}, {4127,4913,3},{4115,4915,3},{4103,4922,3},{4085,4940,3},{4082,4948,3},{4078,4953,3}, {4070,4952,3},{4067,4953,3},{4062,4958,3},{4062,4965,3},{4058,4970,3},{4057,4983,3}, {4058,4992,3},{4058,5007,3},{4057,5007,3},{4052,5012,3},{4050,5023,3},{4043,5028,3}, {4040,5033,3},{4037,5037,3},{4028,5037,3},{4023,5040,3},{4022,5038,3},{4028,5035,3}, {4033,5027,3},{4035,5012,3},{4035,5010,3},{4035,5003,3},{4033,5002,3},{4032,4998,3}, {4035,4997,3},{4037,4988,3},{4033,4983,3},{4032,4985,3},{4028,4982,3},{4027,4970,3}, {4023,4967,3},{4022,4957,3},{4015,4948,3},{4008,4950,3},{4005,4942,3},{3998,4948,3}, {3995,4943,3},{3992,4942,3},{3987,4945,3},{3983,4942,3},{3982,4942,3},{3978,4940,3}, {3970,4942,3},{3968,4938,3},{3962,4932,3},{3950,4928,3},{3947,4930,3},{3938,4942,3}, {3935,4940,3},{3932,4940,3},{3935,4937,3},{3928,4940,3},{3930,4937,3},{3933,4933,3}, {3935,4930,3},{3933,4927,3},{3928,4923,3},{3915,4923,3},{3908,4920,3},{3902,4920,3}, {3898,4913,3},{3897,4907,3},{3900,4905,3},{3903,4912,3},{3910,4915,3},{3910,4907,3}, {3915,4907,3},{3917,4905,3},{3918,4900,3},{3917,4897,3},{3912,4893,3},{3905,4893,3}, {3902,4895,3},{3895,4893,3},{3888,4888,3},{3887,4883,3},{3882,4883,3},{3875,4887,3}, {3843,4888,3},{3845,4878,3},{3842,4873,3},{3840,4863,3},{3855,4848,3},{3857,4845,3}, {3862,4845,3},{3860,4833,3},{3865,4828,3},{3867,4825,3},{3873,4825,3},{3877,4812,3}, {3883,4802,3},{3890,4802,3},{3893,4807,3},{3895,4807,3},{3898,4827,3},{3900,4830,3}, {3903,4833,3},{3912,4828,3},{3915,4822,3},{3922,4813,3},{3927,4812,3},{3930,4815,3}, {3933,4818,3},{3935,4827,3},{3938,4837,3},{3943,4833,3},{3960,4813,3},{3968,4805,3}, {3972,4798,3},{3968,4793,3},{3968,4780,3},{3963,4777,3},{3955,4758,3},{3952,4753,3}, {3950,4747,3},{3947,4740,3},{3938,4730,3},{3930,4710,3},{3925,4705,3},{3920,4703,3}, {3915,4695,3},{3917,4690,3},{3915,4683,3},{3908,4675,3},{3903,4673,3},{3902,4667,3}, {3898,4665,3},{3890,4655,3},{4150,4152,131},{4163,4162,3},{4165,4165,3}, {4172,4173,3},{4183,4178,3},{4200,4177,3},{4213,4165,3},{4227,4163,3},{4235,4160,3}, {4238,4155,3},{4255,4153,3},{4270,4147,3},{4275,4142,3},{4278,4125,3},{4280,4120,3}, {4278,4115,3},{4285,4110,3},{4292,4108,3},{4297,4103,3},{4298,4100,3},{4297,4093,3}, {4307,4085,3},{4308,4080,3},{4310,4065,3},{4308,4058,3},{4312,4052,3},{4313,4045,3}, {4317,4037,3},{4313,4033,3},{4317,4032,3},{4322,4027,3},{4323,4027,3},{4332,4022,3}, {4333,4013,3},{4337,4007,3},{4338,4002,3},{4340,4002,3},{4345,4003,3},{4352,4007,3}, {4355,4010,3},{4358,4017,3},{4358,4023,3},{4357,4030,3},{4355,4037,3},{4355,4045,3}, {4353,4052,3},{4352,4058,3},{4357,4065,3},{4355,4068,3},{4353,4070,3},{4352,4077,3}, {4348,4083,3},{4347,4090,3},{4343,4093,3},{4343,4100,3},{4338,4107,3},{4338,4110,3}, {4340,4113,3},{4338,4117,3},{4337,4123,3},{4333,4132,3},{4337,4137,3},{4335,4142,3}, {4330,4143,3},{4327,4152,3},{4325,4157,3},{4322,4163,3},{4322,4172,3},{4323,4173,3}, {4322,4177,3},{4320,4183,3},{4325,4188,3},{4323,4188,3},{4322,4198,3},{4320,4205,3}, {4320,4208,3},{4322,4215,3},{4323,4222,3},{4322,4228,3},{4322,4232,3},{4325,4238,3}, {4325,4245,3},{4323,4247,3},{4322,4247,3},{4320,4248,3},{4318,4255,3},{4317,4262,3}, {4315,4268,3},{4317,4268,3},{4318,4275,3},{4317,4283,3},{4317,4290,3},{4312,4293,3}, {4312,4297,3},{4310,4303,3},{4307,4303,3},{4303,4305,3},{4300,4312,3},{4293,4320,3}, {4292,4327,3},{4290,4333,3},{4290,4340,3},{4288,4348,3},{4287,4355,3},{4283,4360,3}, {4280,4365,3},{4277,4372,3},{4275,4380,3},{4272,4380,3},{4267,4377,3},{4263,4373,3}, {4258,4378,3},{4258,4382,3},{4257,4390,3},{4257,4397,3},{4260,4402,3},{4262,4408,3}, {4262,4417,3},{4263,4422,3},{4268,4425,3},{4272,4432,3},{4272,4440,3},{4273,4445,3}, {4275,4452,3},{4275,4465,3},{4273,4472,3},{4268,4473,3},{4262,4478,3},{4267,4482,3}, {4273,4487,3},{4275,4493,3},{4273,4500,3},{4270,4508,3},{4270,4515,3},{4267,4520,3}, {4262,4527,3},{4257,4530,3},{4253,4535,3},{4253,4537,3},{4255,4545,3},{4253,4552,3}, {4253,4558,3},{4250,4567,3},{4248,4577,3},{4243,4577,3},{4235,4573,3},{4230,4573,3}, {4228,4572,3},{4228,4563,3},{4222,4562,3},{4218,4567,3},{4215,4573,3},{4212,4580,3}, {4212,4587,3},{4207,4590,3},{4203,4595,3},{4203,4597,3},{4203,4605,3},{4203,4607,3}, {4198,4610,3},{4200,4612,3},{4202,4612,3},{4198,4618,3},{4200,4625,3},{4198,4627,3}, {4193,4632,3},{4195,4638,3},{4190,4642,3},{4185,4640,3},{4182,4633,3},{4178,4628,3}, {4172,4627,3},{4167,4625,3},{4160,4627,3},{4160,4630,3},{4155,4632,3},{4150,4635,3}, {4147,4642,3},{4143,4647,3},{4142,4653,3},{4138,4660,3},{4135,4665,3},{4130,4668,3}, {4130,4672,3},{4125,4668,3},{4120,4665,3},{4113,4665,3},{4107,4663,3},{4107,4662,3}, {4105,4653,3},{4103,4647,3},{4108,4642,3},{4110,4637,3},{4113,4630,3},{4118,4625,3}, {4118,4615,3},{4120,4612,3},{4118,4610,3},{4118,4603,3},{4118,4595,3},{4122,4587,3}, {4122,4580,3},{4125,4575,3},{4130,4568,3},{4135,4572,3},{4137,4572,3},{4137,4565,3}, {4138,4558,3},{4140,4557,3},{4142,4550,3},{4145,4543,3},{4143,4542,3},{4145,4535,3}, {4147,4532,3},{4147,4527,3},{4142,4522,3},{4138,4515,3},{4135,4512,3},{4132,4505,3}, {4130,4500,3},{4127,4495,3},{4127,4488,3},{4130,4482,3},{4127,4480,3},{4123,4483,3}, {4122,4487,3},{4122,4480,3},{4122,4473,3},{4123,4467,3},{4123,4462,3},{4118,4458,3}, {4120,4458,3},{4120,4450,3},{4118,4443,3},{4123,4435,3},{4122,4433,3},{4122,4427,3}, {4123,4423,3},{4123,4417,3},{4118,4415,3},{4118,4407,3},{4118,4400,3},{4115,4398,3}, {4117,4390,3},{4115,4382,3},{4113,4377,3},{4112,4375,3},{4113,4368,3},{4113,4362,3}, {4115,4355,3},{4113,4348,3},{4113,4347,3},{4118,4343,3},{4120,4337,3},{4118,4323,3}, {4125,4320,3},{4125,4312,3},{4128,4320,3},{4130,4320,3},{4132,4313,3},{4137,4308,3}, {4137,4303,3},{4145,4298,3},{4148,4290,3},{4150,4290,3},{4147,4285,3},{4152,4278,3}, {4153,4282,3},{4158,4283,3},{4160,4267,3},{4158,4258,3},{4150,4257,3},{4147,4252,3}, {4145,4252,3},{4143,4247,3},{4148,4228,3},{4148,4220,3},{4150,4218,3},{4150,4210,3}, {4148,4205,3},{4152,4197,3},{4143,4183,3},{4147,4177,3},{4147,4172,3},{4150,4172,3}, {4148,4165,3},{4150,4152,3},{4113,4347,131},{4113,4348,3},{4115,4355,3}, {4113,4362,3},{4113,4368,3},{4112,4375,3},{4113,4377,3},{4115,4382,3},{4117,4390,3}, {4115,4398,3},{4118,4400,3},{4118,4407,3},{4118,4415,3},{4123,4417,3},{4123,4423,3}, {4122,4427,3},{4122,4433,3},{4123,4435,3},{4118,4443,3},{4120,4450,3},{4120,4458,3}, {4118,4458,3},{4123,4462,3},{4123,4467,3},{4122,4473,3},{4122,4480,3},{4122,4487,3}, {4123,4483,3},{4127,4480,3},{4130,4482,3},{4127,4488,3},{4127,4495,3},{4130,4500,3}, {4125,4503,3},{4122,4502,3},{4120,4507,3},{4122,4512,3},{4117,4515,3},{4117,4520,3}, {4113,4518,3},{4112,4508,3},{4107,4505,3},{4105,4507,3},{4108,4513,3},{4108,4512,3}, {4110,4513,3},{4110,4515,3},{4107,4515,3},{4102,4522,3},{4102,4525,3},{4103,4527,3}, {4103,4528,3},{4100,4533,3},{4103,4540,3},{4103,4543,3},{4098,4542,3},{4098,4547,3}, {4093,4550,3},{4090,4555,3},{4090,4558,3},{4085,4558,3},{4078,4550,3},{4075,4545,3}, {4072,4540,3},{4067,4535,3},{4062,4537,3},{4060,4543,3},{4055,4545,3},{4050,4545,3}, {4048,4552,3},{4043,4557,3},{4040,4562,3},{4037,4567,3},{4035,4575,3},{4032,4582,3}, {4030,4585,3},{4030,4592,3},{4027,4595,3},{4027,4592,3},{4023,4597,3},{4017,4597,3}, {4012,4592,3},{4007,4590,3},{4003,4588,3},{4000,4582,3},{4003,4577,3},{4003,4568,3}, {4003,4562,3},{4000,4558,3},{4000,4562,3},{3997,4563,3},{3997,4572,3},{3993,4578,3}, {3985,4583,3},{3983,4583,3},{3980,4595,3},{3977,4600,3},{3972,4603,3},{3968,4608,3}, {3965,4613,3},{3962,4617,3},{3960,4618,3},{3958,4618,3},{3960,4620,3},{3960,4627,3}, {3963,4633,3},{3963,4637,3},{3962,4640,3},{3962,4642,3},{3957,4643,3},{3958,4650,3}, {3955,4657,3},{3952,4652,3},{3948,4655,3},{3948,4650,3},{3945,4645,3},{3945,4643,3}, {3945,4640,3},{3940,4640,3},{3935,4643,3},{3933,4650,3},{3930,4653,3},{3925,4657,3}, {3923,4662,3},{3920,4657,3},{3918,4657,3},{3917,4655,3},{3918,4653,3},{3920,4653,3}, {3920,4647,3},{3920,4645,3},{3915,4645,3},{3915,4648,3},{3910,4652,3},{3905,4655,3}, {3900,4653,3},{3895,4652,3},{3890,4655,3},{3887,4653,3},{3888,4642,3},{3892,4635,3}, {3883,4617,3},{3885,4613,3},{3887,4615,3},{3892,4613,3},{3898,4610,3},{3903,4608,3}, {3908,4605,3},{3913,4603,3},{3917,4602,3},{3923,4600,3},{3930,4600,3},{3932,4595,3}, {3935,4588,3},{3937,4582,3},{3942,4582,3},{3947,4583,3},{3950,4582,3},{3955,4582,3}, {3958,4577,3},{3960,4568,3},{3957,4562,3},{3953,4553,3},{3950,4547,3},{3953,4542,3}, {3957,4533,3},{3962,4527,3},{3958,4522,3},{3960,4518,3},{3965,4520,3},{3970,4518,3}, {3977,4513,3},{3978,4507,3},{3973,4497,3},{3973,4490,3},{3972,4477,3},{3977,4470,3}, {3978,4470,3},{3980,4465,3},{3983,4462,3},{3983,4460,3},{3992,4455,3},{3997,4448,3}, {4000,4438,3},{4005,4428,3},{4003,4418,3},{4002,4415,3},{4003,4410,3},{4002,4405,3}, {4002,4393,3},{4012,4365,3},{4013,4365,3},{4017,4372,3},{4022,4367,3},{4023,4370,3}, {4027,4368,3},{4033,4360,3},{4042,4362,3},{4047,4355,3},{4052,4362,3},{4053,4365,3}, {4055,4365,3},{4068,4375,3},{4070,4373,3},{4077,4375,3},{4083,4368,3},{4092,4367,3}, {4100,4360,3},{4102,4348,3},{4110,4345,3},{4113,4347,3},{3885,4613,131}, {3888,4605,3},{3888,4595,3},{3888,4588,3},{3893,4577,3},{3895,4562,3},{3897,4557,3}, {3897,4553,3},{3900,4543,3},{3902,4542,3},{3905,4543,3},{3907,4540,3},{3910,4538,3}, {3913,4535,3},{3917,4535,3},{3917,4532,3},{3920,4532,3},{3918,4527,3},{3922,4515,3}, {3928,4513,3},{3937,4507,3},{3942,4500,3},{3943,4495,3},{3945,4495,3},{3948,4493,3}, {3960,4488,3},{3962,4487,3},{3962,4483,3},{3963,4480,3},{3968,4480,3},{3972,4477,3}, {3973,4490,3},{3973,4497,3},{3978,4507,3},{3977,4513,3},{3970,4518,3},{3965,4520,3}, {3960,4518,3},{3958,4522,3},{3962,4527,3},{3957,4533,3},{3953,4542,3},{3950,4547,3}, {3953,4553,3},{3957,4562,3},{3960,4568,3},{3958,4577,3},{3955,4582,3},{3950,4582,3}, {3947,4583,3},{3942,4582,3},{3937,4582,3},{3935,4588,3},{3932,4595,3},{3930,4600,3}, {3923,4600,3},{3917,4602,3},{3913,4603,3},{3908,4605,3},{3903,4608,3},{3898,4610,3}, {3892,4613,3},{3887,4615,3},{3885,4613,3},{3593,3592,131},{3600,3598,3}, {3610,3595,3},{3625,3583,3},{3628,3578,3},{3632,3578,3},{3635,3582,3},{3637,3587,3}, {3645,3592,3},{3648,3600,3},{3653,3603,3},{3653,3608,3},{3658,3615,3},{3660,3618,3}, {3665,3622,3},{3670,3620,3},{3677,3620,3},{3678,3620,3},{3687,3612,3},{3692,3607,3}, {3693,3602,3},{3688,3595,3},{3678,3582,3},{3675,3565,3},{3672,3562,3},{3673,3562,3}, {3672,3558,3},{3668,3558,3},{3670,3560,3},{3668,3562,3},{3672,3562,3},{3670,3563,3}, {3673,3563,3},{3672,3567,3},{3672,3572,3},{3670,3565,3},{3665,3560,3},{3665,3562,3}, {3670,3570,3},{3667,3565,3},{3660,3562,3},{3658,3557,3},{3662,3550,3},{3660,3548,3}, {3658,3553,3},{3658,3543,3},{3653,3533,3},{3657,3530,3},{3672,3498,3},{3672,3490,3}, {3673,3490,3},{3677,3488,3},{3680,3483,3},{3682,3473,3},{3680,3467,3},{3678,3463,3}, {3677,3457,3},{3665,3442,3},{3663,3435,3},{3657,3427,3},{3647,3417,3},{3645,3413,3}, {3640,3408,3},{3632,3408,3},{3630,3400,3},{3628,3398,3},{3628,3400,3},{3622,3397,3}, {3622,3395,3},{3623,3395,3},{3628,3393,3},{3632,3388,3},{3627,3382,3},{3625,3383,3}, {3623,3380,3},{3618,3370,3},{3613,3368,3},{3618,3365,3},{3618,3360,3},{3613,3357,3}, {3612,3353,3},{3613,3353,3},{3615,3345,3},{3613,3340,3},{3615,3335,3},{3612,3328,3}, {3613,3313,3},{3607,3308,3},{3608,3305,3},{3610,3293,3},{3607,3287,3},{3602,3280,3}, {3603,3267,3},{3610,3255,3},{3610,3250,3},{3617,3237,3},{3622,3233,3},{3625,3228,3}, {3628,3228,3},{3635,3220,3},{3643,3215,3},{3652,3207,3},{3655,3202,3},{3655,3193,3}, {3658,3185,3},{3660,3178,3},{3663,3173,3},{3665,3167,3},{3672,3153,3},{3677,3138,3}, {3678,3138,3},{3680,3135,3},{3685,3105,3},{3685,3075,3},{3688,3068,3},{3685,3062,3}, {3678,3057,3},{3673,3057,3},{3668,3057,3},{3662,3055,3},{3660,3058,3},{3657,3058,3}, {3652,3057,3},{3645,3050,3},{3643,3050,3},{3643,3048,3},{3640,3047,3},{3633,3052,3}, {3630,3047,3},{3628,3047,3},{3628,3048,3},{3627,3048,3},{3625,3045,3},{3620,3040,3}, {3623,3038,3},{3627,3040,3},{3627,3037,3},{3630,3025,3},{3628,3015,3},{3625,3015,3}, {3627,3013,3},{3625,3013,3},{3623,3010,3},{3627,3005,3},{3625,3003,3},{3625,3005,3}, {3620,2998,3},{3622,2992,3},{3618,2988,3},{3617,2980,3},{3615,2982,3},{3613,2978,3}, {3613,2977,3},{3615,2978,3},{3617,2972,3},{3612,2968,3},{3615,2967,3},{3617,2963,3}, {3617,2962,3},{3617,2963,3},{3618,2963,3},{3618,2958,3},{3620,2962,3},{3620,2950,3}, {3623,2945,3},{3623,2942,3},{3625,2942,3},{3627,2940,3},{3627,2937,3},{3623,2935,3}, {3632,2923,3},{3633,2917,3},{3635,2915,3},{3637,2913,3},{3638,2910,3},{3642,2913,3}, {3645,2912,3},{3648,2910,3},{3648,2913,3},{3653,2913,3},{3657,2908,3},{3655,2905,3}, {3653,2905,3},{3655,2902,3},{3655,2905,3},{3658,2902,3},{3662,2903,3},{3662,2908,3}, {3665,2908,3},{3663,2910,3},{3662,2908,3},{3663,2912,3},{3667,2908,3},{3668,2905,3}, {3672,2902,3},{3670,2898,3},{3675,2893,3},{3670,2888,3},{3670,2890,3},{3668,2887,3}, {3663,2885,3},{3665,2890,3},{3667,2888,3},{3665,2890,3},{3662,2887,3},{3660,2887,3}, {3658,2883,3},{3662,2882,3},{3663,2885,3},{3665,2882,3},{3665,2878,3},{3667,2880,3}, {3670,2872,3},{3668,2867,3},{3672,2863,3},{3670,2862,3},{3673,2860,3},{3677,2862,3}, {3682,2862,3},{3680,2860,3},{3682,2858,3},{3683,2855,3},{3682,2853,3},{3682,2852,3}, {3678,2852,3},{3680,2848,3},{3682,2850,3},{3682,2847,3},{3683,2845,3},{3685,2847,3}, {3688,2847,3},{3687,2843,3},{3687,2840,3},{3685,2838,3},{3683,2838,3},{3683,2842,3}, {3678,2840,3},{3682,2832,3},{3678,2830,3},{3680,2827,3},{3682,2827,3},{3682,2832,3}, {3685,2828,3},{3683,2825,3},{3680,2823,3},{3675,2827,3},{3675,2830,3},{3672,2830,3}, {3673,2828,3},{3672,2825,3},{3668,2822,3},{3668,2817,3},{3660,2812,3},{3658,2808,3}, {3658,2807,3},{3657,2803,3},{3657,2802,3},{3657,2798,3},{3660,2797,3},{3660,2805,3}, {3663,2808,3},{3665,2807,3},{3663,2805,3},{3667,2807,3},{3668,2803,3},{3667,2803,3}, {3667,2802,3},{3668,2797,3},{3670,2803,3},{3672,2805,3},{3672,2808,3},{3670,2808,3}, {3672,2812,3},{3675,2808,3},{3677,2810,3},{3675,2813,3},{3680,2812,3},{3680,2808,3}, {3675,2805,3},{3677,2803,3},{3675,2802,3},{3675,2797,3},{3675,2795,3},{3673,2792,3}, {3675,2790,3},{3673,2788,3},{3675,2788,3},{3673,2787,3},{3675,2782,3},{3675,2772,3}, {3672,2768,3},{3672,2770,3},{3670,2767,3},{3665,2767,3},{3668,2755,3},{3665,2748,3}, {3667,2740,3},{3668,2740,3},{3668,2737,3},{3670,2737,3},{3670,2742,3},{3673,2743,3}, {3675,2747,3},{3677,2762,3},{3680,2763,3},{3678,2768,3},{3678,2773,3},{3682,2782,3}, {3682,2792,3},{3680,2793,3},{3680,2798,3},{3678,2803,3},{3680,2805,3},{3682,2805,3}, {3682,2802,3},{3683,2803,3},{3685,2800,3},{3687,2805,3},{3690,2802,3},{3690,2803,3}, {3692,2802,3},{3692,2807,3},{3693,2805,3},{3693,2810,3},{3693,2815,3},{3690,2817,3}, {3692,2817,3},{3693,2815,3},{3695,2820,3},{3697,2822,3},{3698,2820,3},{3700,2822,3}, {3698,2825,3},{3700,2825,3},{3702,2827,3},{3702,2832,3},{3703,2833,3},{3703,2810,3}, {3702,2810,3},{3703,2808,3},{3703,2792,3},{3698,2777,3},{3700,2768,3},{3698,2763,3}, {3700,2757,3},{3697,2757,3},{3700,2752,3},{3698,2748,3},{3703,2742,3},{3702,2742,3}, {3702,2740,3},{3700,2738,3},{3702,2738,3},{3702,2733,3},{3700,2733,3},{3697,2730,3}, {3695,2730,3},{3697,2730,3},{3695,2727,3},{3697,2725,3},{3702,2725,3},{3703,2723,3}, {3708,2723,3},{3710,2728,3},{3712,2725,3},{3713,2727,3},{3712,2732,3},{3715,2733,3}, {3713,2735,3},{3715,2737,3},{3715,2738,3},{3712,2738,3},{3712,2743,3},{3708,2747,3}, {3712,2753,3},{3712,2757,3},{3713,2757,3},{3713,2755,3},{3715,2755,3},{3718,2753,3}, {3720,2757,3},{3720,2758,3},{3718,2758,3},{3720,2762,3},{3722,2758,3},{3727,2762,3}, {3728,2760,3},{3727,2755,3},{3725,2755,3},{3722,2752,3},{3723,2750,3},{3727,2752,3}, {3727,2748,3},{3725,2747,3},{3727,2747,3},{3732,2750,3},{3733,2747,3},{3730,2745,3}, {3730,2740,3},{3735,2738,3},{3738,2743,3},{3742,2742,3},{3740,2737,3},{3737,2735,3}, {3737,2732,3},{3733,2733,3},{3735,2720,3},{3740,2722,3},{3747,2722,3},{3747,2718,3}, {3750,2718,3},{3755,2718,3},{3755,2722,3},{3758,2722,3},{3763,2713,3},{3765,2700,3}, {3768,2702,3},{3768,2712,3},{3772,2723,3},{3782,2727,3},{3783,2723,3},{3790,2727,3}, {3795,2727,3},{3798,2723,3},{3798,2713,3},{3800,2710,3},{3802,2707,3},{3803,2707,3}, {3807,2698,3},{3807,2692,3},{3803,2687,3},{3815,2682,3},{3817,2677,3},{3820,2678,3}, {3822,2677,3},{3820,2673,3},{3820,2663,3},{3810,2660,3},{3810,2658,3},{3813,2657,3}, {3812,2655,3},{3813,2653,3},{3817,2652,3},{3817,2648,3},{3822,2643,3},{3822,2642,3}, {3820,2642,3},{3822,2638,3},{3823,2640,3},{3827,2638,3},{3825,2638,3},{3822,2635,3}, {3823,2632,3},{3827,2628,3},{3827,2623,3},{3828,2623,3},{3828,2628,3},{3832,2628,3}, {3832,2630,3},{3833,2628,3},{3837,2628,3},{3835,2630,3},{3837,2632,3},{3833,2632,3}, {3830,2637,3},{3832,2638,3},{3833,2638,3},{3833,2640,3},{3835,2645,3},{3837,2648,3}, {3842,2645,3},{3840,2650,3},{3842,2652,3},{3847,2643,3},{3845,2640,3},{3845,2638,3}, {3850,2640,3},{3852,2637,3},{3863,2635,3},{3865,2637,3},{3867,2642,3},{3867,2648,3}, {3865,2653,3},{3860,2657,3},{3857,2657,3},{3852,2663,3},{3847,2663,3},{3847,2660,3}, {3845,2660,3},{3842,2658,3},{3842,2662,3},{3833,2665,3},{3830,2668,3},{3832,2670,3}, {3838,2667,3},{3843,2670,3},{3842,2673,3},{3837,2677,3},{3835,2680,3},{3838,2698,3}, {3840,2702,3},{3840,2708,3},{3845,2717,3},{3847,2705,3},{3845,2698,3},{3843,2693,3}, {3845,2692,3},{3847,2692,3},{3843,2690,3},{3843,2695,3},{3850,2688,3},{3853,2682,3}, {3853,2683,3},{3850,2688,3},{3855,2683,3},{3860,2685,3},{3862,2683,3},{3858,2680,3}, {3860,2680,3},{3862,2675,3},{3863,2677,3},{3865,2672,3},{3867,2675,3},{3868,2672,3}, {3873,2673,3},{3875,2683,3},{3873,2683,3},{3875,2685,3},{3873,2690,3},{3875,2692,3}, {3875,2693,3},{3882,2690,3},{3883,2693,3},{3880,2695,3},{3882,2697,3},{3885,2697,3}, {3887,2702,3},{3885,2703,3},{3887,2707,3},{3890,2703,3},{3892,2707,3},{3893,2705,3}, {3892,2700,3},{3893,2697,3},{3892,2685,3},{3893,2685,3},{3895,2680,3},{3898,2680,3}, {3902,2682,3},{3903,2680,3},{3907,2688,3},{3917,2682,3},{3917,2677,3},{3920,2673,3}, {3925,2672,3},{3927,2662,3},{3930,2663,3},{3932,2665,3},{3928,2663,3},{3928,2667,3}, {3930,2667,3},{3932,2670,3},{3933,2670,3},{3940,2680,3},{3943,2680,3},{3943,2687,3}, {3947,2687,3},{3948,2693,3},{3955,2695,3},{3957,2693,3},{3957,2688,3},{3955,2683,3}, {3957,2678,3},{3955,2667,3},{3952,2645,3},{3948,2637,3},{3948,2627,3},{3947,2625,3}, {3947,2623,3},{3945,2613,3},{3948,2607,3},{3957,2610,3},{3963,2615,3},{3967,2617,3}, {3975,2613,3},{3978,2615,3},{3982,2615,3},{3983,2613,3},{3995,2615,3},{4000,2620,3}, {3998,2625,3},{4000,2628,3},{4002,2633,3},{4010,2637,3},{4012,2640,3},{4020,2642,3}, {4022,2652,3},{4028,2657,3},{4028,2660,3},{4035,2668,3},{4038,2672,3},{4038,2670,3}, {4040,2677,3},{4040,2692,3},{4038,2697,3},{4040,2703,3},{4045,2708,3},{4045,2715,3}, {4043,2718,3},{4045,2723,3},{4047,2728,3},{4042,2733,3},{4040,2730,3},{4038,2730,3}, {4032,2743,3},{4030,2755,3},{4033,2762,3},{4032,2768,3},{4032,2778,3},{4037,2788,3}, {4040,2783,3},{4040,2778,3},{4043,2775,3},{4045,2775,3},{4048,2768,3},{4050,2768,3}, {4052,2772,3},{4053,2773,3},{4052,2775,3},{4053,2775,3},{4053,2778,3},{4050,2778,3}, {4052,2780,3},{4048,2803,3},{4045,2802,3},{4040,2790,3},{4037,2792,3},{4035,2795,3}, {4040,2825,3},{4040,2848,3},{4038,2847,3},{4040,2852,3},{4037,2867,3},{4037,2868,3}, {4040,2878,3},{4038,2887,3},{4037,2893,3},{4037,2907,3},{4042,2908,3},{4043,2915,3}, {4047,2908,3},{4047,2900,3},{4047,2897,3},{4047,2890,3},{4050,2885,3},{4052,2878,3}, {4055,2880,3},{4060,2893,3},{4063,2898,3},{4065,2910,3},{4067,2915,3},{4065,2927,3}, {4070,2938,3},{4068,2943,3},{4073,2952,3},{4068,2955,3},{4073,2980,3},{4072,2990,3}, {4072,2993,3},{4077,2993,3},{4075,2977,3},{4077,2975,3},{4078,2970,3},{4077,2952,3}, {4078,2948,3},{4077,2942,3},{4075,2938,3},{4077,2935,3},{4082,2933,3},{4080,2925,3}, {4083,2928,3},{4085,2928,3},{4088,2923,3},{4090,2915,3},{4095,2910,3},{4098,2902,3}, {4103,2902,3},{4105,2905,3},{4112,2907,3},{4112,2910,3},{4117,2907,3},{4123,2917,3}, {4123,2922,3},{4122,2930,3},{4117,2958,3},{4118,2962,3},{4115,2973,3},{4113,3007,3}, {4113,3017,3},{4117,3022,3},{4118,3023,3},{4122,3028,3},{4120,3033,3},{4118,3037,3}, {4115,3050,3},{4113,3063,3},{4108,3075,3},{4107,3097,3},{4110,3113,3},{4108,3123,3}, {4113,3133,3},{4117,3137,3},{4122,3142,3},{4123,3140,3},{4128,3142,3},{4130,3140,3}, {4132,3140,3},{4132,3147,3},{4135,3150,3},{4138,3162,3},{4143,3175,3},{4145,3177,3}, {4150,3188,3},{4155,3200,3},{4157,3203,3},{4160,3215,3},{4172,3228,3},{4172,3235,3}, {4175,3238,3},{4173,3242,3},{4177,3245,3},{4178,3250,3},{4182,3253,3},{4182,3257,3}, {4183,3260,3},{4183,3268,3},{4187,3278,3},{4187,3287,3},{4188,3295,3},{4193,3305,3}, {4198,3325,3},{4202,3333,3},{4198,3378,3},{4198,3410,3},{4193,3432,3},{4197,3447,3}, {4197,3448,3},{4195,3457,3},{4195,3472,3},{4198,3485,3},{4202,3492,3},{4210,3495,3}, {4208,3502,3},{4203,3505,3},{4202,3508,3},{4202,3515,3},{4203,3518,3},{4202,3522,3}, {4202,3512,3},{4192,3510,3},{4185,3515,3},{4180,3522,3},{4180,3520,3},{4177,3522,3}, {4172,3528,3},{4168,3542,3},{4165,3545,3},{4163,3558,3},{4167,3577,3},{4173,3595,3}, {4168,3592,3},{4163,3592,3},{4173,3597,3},{4168,3603,3},{4170,3603,3},{4168,3605,3}, {4160,3613,3},{4153,3613,3},{4150,3612,3},{4147,3613,3},{4135,3623,3},{4132,3633,3}, {4128,3635,3},{4125,3643,3},{4125,3648,3},{4127,3653,3},{4135,3662,3},{4137,3662,3}, {4137,3665,3},{4135,3687,3},{4128,3702,3},{4125,3703,3},{4120,3703,3},{4117,3705,3}, {4115,3715,3},{4115,3730,3},{4112,3732,3},{4110,3738,3},{4108,3742,3},{4107,3747,3}, {4103,3753,3},{4105,3760,3},{4112,3765,3},{4113,3768,3},{4112,3770,3},{4112,3778,3}, {4107,3778,3},{4105,3780,3},{4103,3782,3},{4102,3787,3},{4098,3790,3},{4098,3802,3}, {4093,3820,3},{4095,3828,3},{4092,3837,3},{4092,3838,3},{4092,3843,3},{4092,3852,3}, {4097,3863,3},{4095,3867,3},{4095,3870,3},{4102,3882,3},{4102,3887,3},{4103,3892,3}, {4103,3902,3},{4103,3905,3},{4107,3915,3},{4108,3917,3},{4105,3928,3},{4112,3942,3}, {4110,3950,3},{4102,3958,3},{4100,3965,3},{4102,3973,3},{4100,3978,3},{4095,3988,3}, {4098,4000,3},{4093,4007,3},{4092,4015,3},{4098,4033,3},{4102,4037,3},{4103,4045,3}, {4103,4055,3},{4107,4062,3},{4110,4068,3},{4115,4075,3},{4120,4083,3},{4120,4095,3}, {4123,4105,3},{4127,4110,3},{4128,4118,3},{4137,4132,3},{4137,4138,3},{4142,4143,3}, {4145,4143,3},{4150,4152,3},{4148,4165,3},{4150,4172,3},{4147,4172,3},{4147,4177,3}, {4143,4183,3},{4152,4197,3},{4148,4205,3},{4150,4210,3},{4150,4218,3},{4148,4220,3}, {4148,4228,3},{4143,4247,3},{4145,4252,3},{4147,4252,3},{4150,4257,3},{4158,4258,3}, {4160,4267,3},{4158,4283,3},{4153,4282,3},{4152,4278,3},{4147,4285,3},{4150,4290,3}, {4148,4290,3},{4145,4298,3},{4137,4303,3},{4137,4308,3},{4132,4313,3},{4130,4320,3}, {4128,4320,3},{4125,4312,3},{4125,4320,3},{4118,4323,3},{4120,4337,3},{4118,4343,3}, {4113,4347,3},{4110,4345,3},{4102,4348,3},{4100,4360,3},{4092,4367,3},{4083,4368,3}, {4077,4375,3},{4070,4373,3},{4068,4375,3},{4055,4365,3},{4053,4365,3},{4052,4362,3}, {4047,4355,3},{4042,4362,3},{4033,4360,3},{4027,4368,3},{4023,4370,3},{4022,4367,3}, {4017,4372,3},{4013,4365,3},{4012,4365,3},{4002,4393,3},{4002,4405,3},{4003,4410,3}, {4002,4415,3},{4003,4418,3},{4005,4428,3},{4000,4438,3},{3997,4448,3},{3992,4455,3}, {3983,4460,3},{3983,4462,3},{3980,4465,3},{3978,4470,3},{3977,4470,3},{3972,4477,3}, {3968,4480,3},{3963,4480,3},{3970,4473,3},{3972,4468,3},{3978,4460,3},{3970,4447,3}, {3965,4448,3},{3957,4443,3},{3945,4443,3},{3942,4442,3},{3938,4430,3},{3942,4423,3}, {3942,4420,3},{3940,4413,3},{3942,4412,3},{3942,4407,3},{3938,4403,3},{3928,4410,3}, {3925,4408,3},{3923,4410,3},{3920,4410,3},{3913,4422,3},{3908,4418,3},{3903,4420,3}, {3900,4417,3},{3895,4420,3},{3890,4420,3},{3887,4425,3},{3887,4428,3},{3883,4430,3}, {3872,4427,3},{3870,4428,3},{3867,4427,3},{3863,4432,3},{3852,4432,3},{3845,4430,3}, {3838,4430,3},{3837,4438,3},{3840,4443,3},{3835,4448,3},{3832,4447,3},{3827,4440,3}, {3817,4438,3},{3813,4435,3},{3810,4435,3},{3810,4432,3},{3803,4428,3},{3802,4427,3}, {3790,4422,3},{3787,4428,3},{3788,4433,3},{3787,4440,3},{3782,4442,3},{3782,4445,3}, {3777,4445,3},{3778,4453,3},{3777,4458,3},{3773,4462,3},{3770,4462,3},{3765,4455,3}, {3762,4458,3},{3760,4462,3},{3757,4460,3},{3748,4460,3},{3745,4458,3},{3743,4465,3}, {3738,4467,3},{3738,4472,3},{3735,4475,3},{3730,4482,3},{3727,4482,3},{3723,4477,3}, {3715,4478,3},{3717,4477,3},{3718,4463,3},{3707,4443,3},{3705,4435,3},{3702,4437,3}, {3697,4432,3},{3698,4425,3},{3705,4423,3},{3710,4420,3},{3715,4423,3},{3717,4427,3}, {3725,4427,3},{3728,4423,3},{3732,4412,3},{3732,4402,3},{3728,4397,3},{3722,4392,3}, {3722,4387,3},{3720,4383,3},{3723,4378,3},{3723,4372,3},{3723,4362,3},{3725,4358,3}, {3727,4357,3},{3725,4348,3},{3733,4335,3},{3732,4328,3},{3738,4315,3},{3735,4302,3}, {3732,4295,3},{3735,4283,3},{3738,4282,3},{3738,4278,3},{3735,4273,3},{3732,4272,3}, {3727,4265,3},{3715,4258,3},{3710,4235,3},{3713,4235,3},{3717,4233,3},{3723,4235,3}, {3728,4228,3},{3728,4222,3},{3732,4222,3},{3732,4220,3},{3727,4215,3},{3718,4205,3}, {3713,4183,3},{3712,4168,3},{3708,4155,3},{3707,4122,3},{3708,4118,3},{3713,4093,3}, {3712,4083,3},{3712,4077,3},{3708,4068,3},{3703,4052,3},{3700,4043,3},{3688,4018,3}, {3687,4012,3},{3682,4000,3},{3675,3982,3},{3675,3970,3},{3672,3963,3},{3667,3923,3}, {3667,3918,3},{3670,3903,3},{3670,3892,3},{3670,3873,3},{3685,3852,3},{3690,3838,3}, {3692,3825,3},{3690,3818,3},{3678,3788,3},{3675,3778,3},{3673,3767,3},{3663,3745,3}, {3667,3725,3},{3665,3717,3},{3667,3712,3},{3662,3708,3},{3663,3705,3},{3667,3702,3}, {3672,3705,3},{3675,3698,3},{3683,3667,3},{3680,3667,3},{3675,3662,3},{3670,3662,3}, {3663,3658,3},{3655,3658,3},{3648,3655,3},{3642,3657,3},{3640,3658,3},{3638,3662,3}, {3635,3662,3},{3633,3660,3},{3633,3665,3},{3628,3668,3},{3623,3668,3},{3622,3662,3}, {3623,3650,3},{3623,3648,3},{3620,3647,3},{3622,3638,3},{3620,3640,3},{3618,3637,3}, {3602,3638,3},{3600,3635,3},{3600,3632,3},{3600,3630,3},{3595,3630,3},{3597,3623,3}, {3595,3622,3},{3592,3618,3},{3582,3617,3},{3582,3615,3},{3587,3610,3},{3588,3602,3}, {3593,3600,3},{3593,3592,3},{2910,4655,131},{2917,4662,3},{2925,4668,3}, {2958,4693,3},{2995,4712,3},{3002,4717,3},{3008,4735,3},{3008,4772,3},{3002,4795,3}, {2993,4798,3},{2987,4798,3},{2980,4800,3},{2973,4805,3},{2973,4808,3},{2958,4817,3}, {2955,4817,3},{2955,4815,3},{2957,4810,3},{2960,4808,3},{2960,4802,3},{2962,4803,3}, {2963,4802,3},{2963,4797,3},{2957,4792,3},{2953,4785,3},{2942,4773,3},{2940,4770,3}, {2938,4768,3},{2938,4770,3},{2940,4783,3},{2935,4780,3},{2933,4783,3},{2933,4788,3}, {2940,4798,3},{2937,4802,3},{2935,4805,3},{2935,4808,3},{2927,4808,3},{2903,4815,3}, {2892,4822,3},{2888,4828,3},{2883,4828,3},{2877,4832,3},{2875,4837,3},{2873,4838,3}, {2867,4838,3},{2868,4837,3},{2867,4838,3},{2865,4835,3},{2863,4835,3},{2865,4838,3}, {2860,4838,3},{2855,4842,3},{2855,4835,3},{2855,4830,3},{2855,4823,3},{2855,4817,3}, {2855,4810,3},{2855,4805,3},{2855,4798,3},{2855,4792,3},{2853,4785,3},{2853,4780,3}, {2853,4773,3},{2855,4768,3},{2857,4768,3},{2863,4760,3},{2870,4758,3},{2878,4757,3}, {2900,4747,3},{2900,4738,3},{2902,4732,3},{2902,4725,3},{2903,4720,3},{2903,4713,3}, {2905,4707,3},{2905,4700,3},{2907,4695,3},{2907,4688,3},{2907,4682,3},{2908,4675,3}, {2908,4668,3},{2910,4663,3},{2910,4655,3},{2920,4472,3},{2923,4467,3},{2925,4460,3}, {2927,4455,3},{2928,4450,3},{2930,4443,3},{2933,4438,3},{2935,4433,3},{2937,4427,3}, {2938,4422,3},{2940,4417,3},{2943,4410,3},{2945,4405,3},{2947,4400,3},{2947,4397,3}, {2950,4390,3},{2952,4383,3},{2953,4378,3},{2957,4372,3},{2958,4365,3},{2960,4358,3}, {2965,4360,3},{2970,4360,3},{2975,4360,3},{2982,4360,3},{2987,4360,3},{2993,4360,3}, {2998,4360,3},{3005,4362,3},{3010,4362,3},{3015,4362,3},{3022,4363,3},{3027,4363,3}, {3032,4365,3},{3038,4367,3},{3038,4360,3},{3038,4353,3},{3038,4347,3},{3040,4340,3}, {3040,4333,3},{3040,4327,3},{3040,4320,3},{3042,4313,3},{3042,4307,3},{3043,4305,3}, {3050,4303,3},{3055,4302,3},{3060,4302,3},{3067,4300,3},{3073,4298,3},{3075,4293,3}, {3077,4287,3},{3080,4280,3},{3083,4275,3},{3085,4268,3},{3088,4262,3},{3090,4257,3}, {3093,4250,3},{3095,4243,3},{3098,4237,3},{3102,4232,3},{3103,4225,3},{3107,4218,3}, {3108,4213,3},{3112,4207,3},{3113,4200,3},{3117,4193,3},{3118,4187,3},{3122,4182,3}, {3123,4175,3},{3127,4168,3},{3128,4162,3},{3132,4157,3},{3133,4150,3},{3137,4143,3}, {3140,4138,3},{3142,4132,3},{3145,4127,3},{3148,4120,3},{3152,4113,3},{3155,4107,3}, {3157,4102,3},{3160,4095,3},{3163,4088,3},{3167,4083,3},{3170,4077,3},{3173,4070,3}, {3175,4063,3},{3178,4058,3},{3182,4052,3},{3185,4045,3},{3188,4038,3},{3190,4033,3}, {3193,4027,3},{3197,4020,3},{3200,4013,3},{3203,4008,3},{3207,4000,3},{3207,3995,3}, {3208,3988,3},{3210,3983,3},{3212,3977,3},{3213,3970,3},{3215,3963,3},{3217,3957,3}, {3218,3950,3},{3220,3943,3},{3222,3937,3},{3223,3930,3},{3228,3928,3},{3233,3927,3}, {3238,3923,3},{3243,3922,3},{3248,3920,3},{3253,3917,3},{3258,3915,3},{3263,3913,3}, {3268,3912,3},{3272,3908,3},{3277,3907,3},{3282,3905,3},{3287,3902,3},{3292,3900,3}, {3297,3898,3},{3302,3895,3},{3307,3893,3},{3312,3892,3},{3317,3890,3},{3322,3887,3}, {3325,3885,3},{3330,3883,3},{3335,3880,3},{3338,3880,3},{3340,3885,3},{3343,3892,3}, {3347,3898,3},{3348,3903,3},{3352,3910,3},{3355,3915,3},{3358,3922,3},{3360,3928,3}, {3363,3933,3},{3367,3940,3},{3370,3947,3},{3372,3952,3},{3375,3958,3},{3378,3965,3}, {3382,3970,3},{3383,3977,3},{3387,3983,3},{3390,3988,3},{3392,3995,3},{3395,4002,3}, {3398,4007,3},{3402,4013,3},{3403,4020,3},{3407,4027,3},{3410,4032,3},{3413,4038,3}, {3415,4045,3},{3418,4052,3},{3422,4057,3},{3425,4063,3},{3427,4070,3},{3430,4075,3}, {3433,4082,3},{3437,4088,3},{3438,4095,3},{3442,4100,3},{3460,4110,3},{3478,4123,3}, {3522,4122,3},{3540,4127,3},{3550,4128,3},{3562,4138,3},{3583,4138,3},{3605,4125,3}, {3635,4128,3},{3653,4140,3},{3660,4183,3},{3663,4188,3},{3668,4193,3},{3672,4197,3}, {3677,4202,3},{3680,4207,3},{3683,4212,3},{3688,4217,3},{3692,4220,3},{3695,4225,3}, {3700,4230,3},{3703,4235,3},{3707,4237,3},{3710,4235,3},{3715,4258,3},{3727,4265,3}, {3732,4272,3},{3735,4273,3},{3738,4278,3},{3738,4282,3},{3735,4283,3},{3732,4295,3}, {3735,4302,3},{3738,4315,3},{3732,4328,3},{3733,4335,3},{3725,4348,3},{3727,4357,3}, {3725,4358,3},{3723,4362,3},{3723,4372,3},{3723,4378,3},{3720,4383,3},{3722,4387,3}, {3722,4392,3},{3728,4397,3},{3732,4402,3},{3732,4412,3},{3728,4423,3},{3725,4427,3}, {3717,4427,3},{3715,4423,3},{3710,4420,3},{3705,4423,3},{3698,4425,3},{3697,4432,3}, {3702,4437,3},{3705,4435,3},{3707,4443,3},{3718,4463,3},{3717,4477,3},{3715,4478,3}, {3712,4477,3},{3708,4478,3},{3707,4482,3},{3705,4483,3},{3705,4487,3},{3702,4492,3}, {3697,4488,3},{3693,4490,3},{3688,4490,3},{3683,4485,3},{3680,4485,3},{3678,4487,3}, {3678,4495,3},{3677,4497,3},{3675,4502,3},{3668,4507,3},{3665,4507,3},{3660,4503,3}, {3657,4503,3},{3653,4502,3},{3650,4507,3},{3643,4508,3},{3642,4515,3},{3643,4523,3}, {3638,4528,3},{3630,4527,3},{3628,4530,3},{3625,4528,3},{3623,4532,3},{3615,4532,3}, {3608,4537,3},{3602,4533,3},{3598,4535,3},{3598,4538,3},{3602,4550,3},{3600,4555,3}, {3593,4567,3},{3582,4577,3},{3582,4587,3},{3583,4590,3},{3585,4603,3},{3587,4608,3}, {3585,4613,3},{3582,4615,3},{3580,4618,3},{3582,4627,3},{3583,4632,3},{3583,4633,3}, {3580,4635,3},{3578,4633,3},{3572,4623,3},{3572,4620,3},{3570,4615,3},{3570,4605,3}, {3568,4602,3},{3558,4602,3},{3558,4598,3},{3553,4600,3},{3550,4598,3},{3540,4605,3}, {3533,4613,3},{3532,4615,3},{3525,4612,3},{3522,4620,3},{3518,4618,3},{3517,4615,3}, {3512,4617,3},{3510,4615,3},{3508,4608,3},{3505,4603,3},{3507,4602,3},{3510,4593,3}, {3505,4592,3},{3503,4588,3},{3497,4590,3},{3493,4587,3},{3490,4587,3},{3490,4585,3}, {3492,4577,3},{3485,4577,3},{3482,4570,3},{3477,4570,3},{3473,4565,3},{3472,4565,3}, {3467,4572,3},{3460,4572,3},{3458,4573,3},{3455,4572,3},{3457,4565,3},{3457,4562,3}, {3458,4557,3},{3460,4553,3},{3458,4552,3},{3457,4552,3},{3452,4553,3},{3450,4552,3}, {3447,4550,3},{3447,4545,3},{3445,4543,3},{3433,4548,3},{3435,4553,3},{3432,4558,3}, {3423,4557,3},{3418,4555,3},{3415,4557,3},{3408,4547,3},{3402,4547,3},{3397,4540,3}, {3395,4545,3},{3395,4550,3},{3380,4560,3},{3378,4563,3},{3372,4565,3},{3367,4570,3}, {3363,4575,3},{3360,4575,3},{3358,4577,3},{3363,4583,3},{3363,4590,3},{3360,4590,3}, {3355,4595,3},{3352,4588,3},{3348,4587,3},{3348,4595,3},{3350,4597,3},{3350,4600,3}, {3343,4605,3},{3338,4605,3},{3327,4618,3},{3320,4618,3},{3320,4620,3},{3318,4618,3}, {3312,4612,3},{3312,4605,3},{3310,4605,3},{3308,4605,3},{3308,4610,3},{3307,4615,3}, {3303,4613,3},{3300,4610,3},{3297,4610,3},{3295,4617,3},{3297,4628,3},{3293,4642,3}, {3277,4673,3},{3270,4678,3},{3268,4683,3},{3260,4695,3},{3247,4713,3},{3247,4725,3}, {3248,4728,3},{3248,4732,3},{3248,4735,3},{3240,4743,3},{3238,4743,3},{3233,4742,3}, {3223,4753,3},{3215,4750,3},{3215,4755,3},{3212,4757,3},{3212,4758,3},{3208,4763,3}, {3205,4763,3},{3202,4767,3},{3202,4768,3},{3193,4773,3},{3190,4778,3},{3187,4778,3}, {3180,4787,3},{3140,4770,3},{3100,4770,3},{3100,4803,3},{3048,4803,3},{3047,4807,3}, {3042,4817,3},{3033,4820,3},{3033,4828,3},{3022,4840,3},{3018,4842,3},{3013,4838,3}, {3007,4843,3},{3000,4845,3},{2997,4853,3},{2995,4853,3},{2995,4857,3},{2993,4855,3}, {2993,4845,3},{2995,4835,3},{3000,4825,3},{3003,4817,3},{3005,4810,3},{3000,4797,3}, {3010,4793,3},{3002,4795,3},{3008,4772,3},{3008,4735,3},{3002,4717,3},{2995,4712,3}, {2958,4693,3},{2925,4668,3},{2917,4662,3},{2910,4655,3},{3325,3562,131}, {3328,3562,3},{3330,3570,3},{3333,3572,3},{3335,3580,3},{3340,3583,3},{3347,3593,3}, {3348,3595,3},{3353,3595,3},{3355,3603,3},{3358,3607,3},{3362,3603,3},{3363,3595,3}, {3365,3593,3},{3368,3597,3},{3372,3597,3},{3377,3602,3},{3377,3603,3},{3383,3607,3}, {3382,3610,3},{3385,3615,3},{3383,3620,3},{3387,3625,3},{3383,3633,3},{3383,3638,3}, {3385,3638,3},{3388,3637,3},{3388,3633,3},{3392,3628,3},{3405,3640,3},{3407,3643,3}, {3405,3647,3},{3407,3650,3},{3410,3652,3},{3413,3657,3},{3418,3660,3},{3420,3663,3}, {3423,3660,3},{3427,3658,3},{3432,3660,3},{3432,3657,3},{3437,3653,3},{3440,3655,3}, {3442,3655,3},{3447,3647,3},{3452,3645,3},{3450,3635,3},{3452,3633,3},{3455,3640,3}, {3460,3640,3},{3462,3642,3},{3460,3645,3},{3463,3647,3},{3463,3638,3},{3465,3637,3}, {3468,3635,3},{3470,3632,3},{3465,3630,3},{3463,3628,3},{3463,3625,3},{3463,3623,3}, {3465,3612,3},{3463,3603,3},{3465,3597,3},{3492,3587,3},{3498,3588,3},{3502,3590,3}, {3510,3588,3},{3517,3593,3},{3520,3597,3},{3528,3592,3},{3542,3592,3},{3550,3582,3}, {3550,3577,3},{3553,3577,3},{3557,3573,3},{3558,3575,3},{3558,3573,3},{3560,3577,3}, {3563,3578,3},{3565,3577,3},{3568,3580,3},{3573,3585,3},{3585,3580,3},{3585,3585,3}, {3593,3592,3},{3593,3600,3},{3588,3602,3},{3587,3610,3},{3582,3615,3},{3582,3617,3}, {3592,3618,3},{3595,3622,3},{3597,3623,3},{3595,3630,3},{3600,3630,3},{3600,3632,3}, {3600,3635,3},{3602,3638,3},{3618,3637,3},{3620,3640,3},{3622,3638,3},{3620,3647,3}, {3623,3648,3},{3623,3650,3},{3622,3662,3},{3623,3668,3},{3628,3668,3},{3633,3665,3}, {3633,3660,3},{3635,3662,3},{3638,3662,3},{3640,3658,3},{3642,3657,3},{3648,3655,3}, {3655,3658,3},{3663,3658,3},{3670,3662,3},{3675,3662,3},{3680,3667,3},{3683,3667,3}, {3675,3698,3},{3672,3705,3},{3667,3702,3},{3663,3705,3},{3662,3708,3},{3667,3712,3}, {3665,3717,3},{3667,3725,3},{3663,3745,3},{3673,3767,3},{3675,3778,3},{3678,3788,3}, {3690,3818,3},{3692,3825,3},{3690,3838,3},{3685,3852,3},{3670,3873,3},{3670,3892,3}, {3670,3903,3},{3667,3918,3},{3667,3923,3},{3672,3963,3},{3675,3970,3},{3675,3982,3}, {3682,4000,3},{3687,4012,3},{3688,4018,3},{3700,4043,3},{3703,4052,3},{3708,4068,3}, {3712,4077,3},{3712,4083,3},{3713,4093,3},{3708,4118,3},{3707,4122,3},{3708,4155,3}, {3712,4168,3},{3713,4183,3},{3718,4205,3},{3727,4215,3},{3732,4220,3},{3732,4222,3}, {3728,4222,3},{3728,4228,3},{3723,4235,3},{3717,4233,3},{3713,4235,3},{3710,4235,3}, {3707,4237,3},{3703,4235,3},{3700,4230,3},{3695,4225,3},{3692,4220,3},{3688,4217,3}, {3683,4212,3},{3680,4207,3},{3677,4202,3},{3672,4197,3},{3668,4193,3},{3663,4188,3}, {3660,4183,3},{3653,4140,3},{3635,4128,3},{3605,4125,3},{3583,4138,3},{3562,4138,3}, {3550,4128,3},{3540,4127,3},{3522,4122,3},{3478,4123,3},{3460,4110,3},{3442,4100,3}, {3438,4095,3},{3437,4088,3},{3433,4082,3},{3430,4075,3},{3427,4070,3},{3425,4063,3}, {3422,4057,3},{3418,4052,3},{3415,4045,3},{3413,4038,3},{3410,4032,3},{3407,4027,3}, {3403,4020,3},{3402,4013,3},{3398,4007,3},{3395,4002,3},{3392,3995,3},{3390,3988,3}, {3387,3983,3},{3383,3977,3},{3382,3970,3},{3378,3965,3},{3375,3958,3},{3372,3952,3}, {3370,3947,3},{3367,3940,3},{3363,3933,3},{3360,3928,3},{3358,3922,3},{3355,3915,3}, {3352,3910,3},{3348,3903,3},{3347,3898,3},{3343,3892,3},{3340,3885,3},{3338,3880,3}, {3337,3877,3},{3333,3872,3},{3330,3867,3},{3328,3860,3},{3325,3855,3},{3322,3850,3}, {3320,3845,3},{3317,3840,3},{3313,3833,3},{3312,3828,3},{3308,3823,3},{3305,3818,3}, {3303,3813,3},{3300,3808,3},{3297,3803,3},{3295,3797,3},{3292,3792,3},{3288,3787,3}, {3287,3782,3},{3283,3777,3},{3280,3772,3},{3278,3765,3},{3275,3760,3},{3272,3755,3}, {3268,3750,3},{3267,3745,3},{3263,3740,3},{3260,3735,3},{3258,3730,3},{3255,3723,3}, {3252,3718,3},{3248,3713,3},{3247,3708,3},{3243,3703,3},{3240,3698,3},{3238,3693,3}, {3235,3688,3},{3232,3683,3},{3233,3677,3},{3233,3672,3},{3235,3668,3},{3235,3662,3}, {3235,3657,3},{3237,3650,3},{3238,3645,3},{3238,3640,3},{3245,3632,3},{3252,3622,3}, {3253,3620,3},{3252,3617,3},{3253,3613,3},{3252,3608,3},{3258,3607,3},{3262,3603,3}, {3265,3603,3},{3267,3597,3},{3268,3595,3},{3268,3597,3},{3272,3593,3},{3273,3583,3}, {3273,3580,3},{3275,3580,3},{3270,3568,3},{3268,3567,3},{3268,3565,3},{3275,3563,3}, {3282,3563,3},{3285,3565,3},{3290,3562,3},{3293,3563,3},{3303,3563,3},{3323,3568,3}, {3325,3562,3},{3310,3510,131},{3322,3520,3},{3325,3522,3},{3328,3518,3}, {3328,3520,3},{3333,3525,3},{3345,3527,3},{3353,3535,3},{3365,3540,3},{3367,3542,3}, {3370,3542,3},{3372,3545,3},{3375,3545,3},{3380,3548,3},{3387,3548,3},{3390,3547,3}, {3390,3557,3},{3398,3560,3},{3400,3563,3},{3403,3562,3},{3410,3565,3},{3415,3562,3}, {3420,3563,3},{3423,3565,3},{3428,3565,3},{3432,3568,3},{3432,3570,3},{3432,3572,3}, {3438,3573,3},{3442,3582,3},{3447,3580,3},{3447,3590,3},{3452,3597,3},{3453,3598,3}, {3460,3598,3},{3465,3597,3},{3463,3603,3},{3465,3612,3},{3463,3623,3},{3463,3625,3}, {3463,3628,3},{3465,3630,3},{3470,3632,3},{3468,3635,3},{3465,3637,3},{3463,3638,3}, {3463,3647,3},{3460,3645,3},{3462,3642,3},{3460,3640,3},{3455,3640,3},{3452,3633,3}, {3450,3635,3},{3452,3645,3},{3447,3647,3},{3442,3655,3},{3440,3655,3},{3437,3653,3}, {3432,3657,3},{3432,3660,3},{3427,3658,3},{3423,3660,3},{3420,3663,3},{3418,3660,3}, {3413,3657,3},{3410,3652,3},{3407,3650,3},{3405,3647,3},{3407,3643,3},{3405,3640,3}, {3392,3628,3},{3388,3633,3},{3388,3637,3},{3385,3638,3},{3383,3638,3},{3383,3633,3}, {3387,3625,3},{3383,3620,3},{3385,3615,3},{3382,3610,3},{3383,3607,3},{3377,3603,3}, {3377,3602,3},{3372,3597,3},{3368,3597,3},{3365,3593,3},{3363,3595,3},{3362,3603,3}, {3358,3607,3},{3355,3603,3},{3353,3595,3},{3348,3595,3},{3347,3593,3},{3340,3583,3}, {3335,3580,3},{3333,3572,3},{3330,3570,3},{3328,3562,3},{3325,3562,3},{3328,3557,3}, {3323,3553,3},{3310,3550,3},{3310,3545,3},{3307,3543,3},{3307,3535,3},{3310,3532,3}, {3310,3530,3},{3310,3525,3},{3310,3510,3},{2475,5083,131},{2480,5087,3}, {2483,5085,3},{2492,5085,3},{2498,5080,3},{2505,5080,3},{2510,5077,3},{2543,5075,3}, {2548,5077,3},{2548,5075,3},{2552,5078,3},{2547,5082,3},{2547,5085,3},{2552,5082,3}, {2555,5083,3},{2560,5083,3},{2560,5078,3},{2562,5080,3},{2563,5087,3},{2557,5087,3}, {2553,5087,3},{2553,5090,3},{2560,5092,3},{2560,5095,3},{2563,5098,3},{2563,5092,3}, {2567,5088,3},{2572,5088,3},{2575,5092,3},{2578,5090,3},{2580,5093,3},{2577,5097,3}, {2580,5098,3},{2582,5097,3},{2583,5095,3},{2585,5095,3},{2590,5098,3},{2597,5098,3}, {2597,5100,3},{2605,5105,3},{2608,5113,3},{2613,5118,3},{2615,5125,3},{2610,5133,3}, {2603,5135,3},{2602,5138,3},{2597,5140,3},{2595,5142,3},{2595,5150,3},{2590,5157,3}, {2575,5160,3},{2573,5158,3},{2577,5157,3},{2573,5155,3},{2573,5153,3},{2573,5158,3}, {2570,5158,3},{2568,5155,3},{2570,5155,3},{2568,5150,3},{2568,5153,3},{2563,5155,3}, {2562,5153,3},{2562,5148,3},{2557,5150,3},{2552,5147,3},{2543,5152,3},{2530,5152,3}, {2528,5158,3},{2527,5160,3},{2502,5162,3},{2492,5157,3},{2485,5150,3},{2467,5143,3}, {2463,5138,3},{2460,5137,3},{2457,5133,3},{2460,5133,3},{2463,5135,3},{2465,5128,3}, {2467,5128,3},{2465,5127,3},{2463,5122,3},{2462,5122,3},{2458,5118,3},{2457,5112,3}, {2455,5112,3},{2457,5107,3},{2457,5100,3},{2460,5095,3},{2465,5090,3},{2470,5085,3}, {2475,5083,3},{1663,5308,131},{1665,5307,3},{1670,5303,3},{1675,5298,3}, {1680,5295,3},{1685,5290,3},{1690,5287,3},{1695,5282,3},{1700,5277,3},{1705,5273,3}, {1712,5272,3},{1717,5272,3},{1723,5273,3},{1730,5273,3},{1730,5275,3},{1735,5273,3}, {1740,5270,3},{1745,5267,3},{1750,5263,3},{1755,5260,3},{1760,5257,3},{1765,5253,3}, {1770,5248,3},{1775,5247,3},{1780,5243,3},{1785,5238,3},{1790,5237,3},{1790,5235,3}, {1795,5232,3},{1800,5228,3},{1805,5225,3},{1810,5222,3},{1815,5218,3},{1820,5215,3}, {1825,5210,3},{1830,5208,3},{1830,5207,3},{1835,5205,3},{1840,5200,3},{1845,5198,3}, {1845,5197,3},{1850,5193,3},{1855,5190,3},{1862,5188,3},{1868,5190,3},{1873,5193,3}, {1880,5195,3},{1887,5197,3},{1893,5198,3},{1900,5200,3},{1902,5207,3},{1905,5213,3}, {1907,5220,3},{1908,5227,3},{1912,5233,3},{1913,5240,3},{1915,5247,3},{1918,5253,3}, {1920,5260,3},{1922,5267,3},{1923,5273,3},{1927,5278,3},{1928,5285,3},{1930,5292,3}, {1933,5298,3},{1935,5305,3},{1937,5312,3},{1940,5318,3},{1942,5325,3},{1943,5332,3}, {1947,5338,3},{1948,5345,3},{1950,5352,3},{1953,5358,3},{1955,5365,3},{1957,5372,3}, {1960,5378,3},{1962,5385,3},{1963,5392,3},{1967,5398,3},{1968,5405,3},{1970,5412,3}, {1973,5418,3},{1975,5427,3},{1978,5433,3},{1980,5440,3},{1982,5447,3},{1985,5453,3}, {1987,5460,3},{1988,5467,3},{1992,5473,3},{1993,5480,3},{1995,5487,3},{1998,5493,3}, {2000,5500,3},{2007,5502,3},{2013,5505,3},{2020,5507,3},{2027,5508,3},{2033,5512,3}, {2040,5513,3},{2047,5515,3},{2053,5518,3},{2060,5520,3},{2067,5522,3},{2073,5525,3}, {2080,5527,3},{2087,5528,3},{2093,5532,3},{2100,5533,3},{2107,5535,3},{2113,5538,3}, {2120,5540,3},{2127,5542,3},{2133,5545,3},{2140,5547,3},{2147,5548,3},{2153,5552,3}, {2160,5553,3},{2167,5555,3},{2173,5558,3},{2180,5560,3},{2187,5562,3},{2193,5565,3}, {2200,5567,3},{2203,5565,3},{2210,5560,3},{2217,5555,3},{2223,5552,3},{2230,5547,3}, {2237,5542,3},{2243,5538,3},{2250,5533,3},{2257,5528,3},{2263,5525,3},{2270,5520,3}, {2275,5520,3},{2275,5522,3},{2280,5522,3},{2287,5522,3},{2293,5522,3},{2300,5522,3}, {2305,5523,3},{2310,5523,3},{2315,5527,3},{2320,5528,3},{2320,5530,3},{2325,5532,3}, {2325,5533,3},{2330,5535,3},{2335,5537,3},{2340,5538,3},{2345,5538,3},{2345,5540,3}, {2350,5540,3},{2352,5545,3},{2357,5547,3},{2362,5548,3},{2367,5550,3},{2372,5552,3}, {2372,5553,3},{2377,5557,3},{2382,5555,3},{2387,5557,3},{2392,5553,3},{2392,5550,3}, {2397,5547,3},{2398,5553,3},{2400,5560,3},{2402,5560,3},{2403,5567,3},{2402,5573,3}, {2403,5580,3},{2402,5582,3},{2403,5588,3},{2405,5595,3},{2407,5595,3},{2407,5602,3}, {2412,5600,3},{2418,5598,3},{2418,5597,3},{2423,5595,3},{2423,5592,3},{2422,5585,3}, {2423,5578,3},{2425,5578,3},{2427,5578,3},{2432,5582,3},{2437,5583,3},{2442,5583,3}, {2442,5582,3},{2447,5580,3},{2452,5580,3},{2452,5578,3},{2458,5578,3},{2458,5580,3}, {2458,5582,3},{2463,5582,3},{2463,5583,3},{2468,5583,3},{2473,5582,3},{2478,5582,3}, {2483,5580,3},{2488,5580,3},{2488,5582,3},{2493,5585,3},{2497,5590,3},{2498,5597,3}, {2497,5603,3},{2492,5603,3},{2487,5605,3},{2488,5598,3},{2487,5598,3},{2485,5598,3}, {2483,5603,3},{2478,5603,3},{2478,5605,3},{2473,5607,3},{2473,5613,3},{2478,5618,3}, {2483,5618,3},{2483,5620,3},{2483,5622,3},{2485,5628,3},{2488,5630,3},{2488,5633,3}, {2493,5633,3},{2498,5635,3},{2498,5637,3},{2473,5648,3},{2468,5650,3},{2450,5660,3}, {2432,5680,3},{2423,5683,3},{2413,5690,3},{2400,5708,3},{2393,5717,3},{2383,5750,3}, {2380,5762,3},{2378,5778,3},{2375,5782,3},{2372,5788,3},{2372,5810,3},{2368,5820,3}, {2365,5827,3},{2362,5835,3},{2362,5845,3},{2365,5848,3},{2365,5850,3},{2365,5852,3}, {2365,5858,3},{2363,5862,3},{2360,5862,3},{2357,5865,3},{2357,5867,3},{2353,5870,3}, {2353,5872,3},{2355,5872,3},{2352,5873,3},{2353,5877,3},{2350,5878,3},{2342,5880,3}, {2340,5882,3},{2332,5893,3},{2325,5895,3},{2320,5900,3},{2315,5902,3},{2308,5907,3}, {2305,5908,3},{2295,5923,3},{2280,5930,3},{2275,5935,3},{2268,5940,3},{2258,5953,3}, {2257,5952,3},{2255,5952,3},{2257,5963,3},{2253,5972,3},{2250,5972,3},{2248,5977,3}, {2253,5975,3},{2252,5978,3},{2253,5980,3},{2243,5985,3},{2222,5980,3},{2210,5972,3}, {2207,5968,3},{2193,5965,3},{2192,5962,3},{2187,5958,3},{2183,5958,3},{2177,5950,3}, {2162,5945,3},{2148,5935,3},{2143,5935,3},{2137,5917,3},{2128,5905,3},{2103,5883,3}, {2100,5880,3},{2093,5880,3},{2088,5873,3},{2085,5873,3},{2082,5868,3},{2080,5867,3}, {2077,5867,3},{2075,5870,3},{2078,5872,3},{2077,5873,3},{2073,5867,3},{2070,5865,3}, {2065,5860,3},{2057,5857,3},{2052,5853,3},{2042,5852,3},{2040,5848,3},{2035,5845,3}, {2035,5842,3},{2038,5835,3},{2037,5827,3},{2038,5830,3},{2038,5827,3},{2040,5822,3}, {2043,5820,3},{2047,5822,3},{2043,5822,3},{2042,5823,3},{2048,5823,3},{2058,5827,3}, {2062,5825,3},{2062,5822,3},{2055,5808,3},{2050,5807,3},{2047,5807,3},{2043,5800,3}, {2040,5797,3},{2038,5795,3},{2035,5798,3},{2032,5797,3},{2027,5787,3},{2022,5783,3}, {2018,5782,3},{2013,5785,3},{2002,5782,3},{1998,5782,3},{1992,5778,3},{1985,5777,3}, {1975,5770,3},{1972,5768,3},{1968,5770,3},{1967,5772,3},{1953,5770,3},{1942,5777,3}, {1937,5777,3},{1928,5775,3},{1918,5778,3},{1915,5782,3},{1908,5780,3},{1903,5783,3}, {1897,5780,3},{1897,5775,3},{1893,5772,3},{1895,5752,3},{1892,5725,3},{1885,5703,3}, {1880,5690,3},{1875,5682,3},{1858,5665,3},{1845,5663,3},{1840,5662,3},{1833,5662,3}, {1820,5655,3},{1813,5657,3},{1810,5652,3},{1808,5647,3},{1802,5643,3},{1797,5635,3}, {1793,5635,3},{1795,5618,3},{1793,5615,3},{1793,5603,3},{1790,5588,3},{1790,5580,3}, {1788,5565,3},{1783,5543,3},{1775,5538,3},{1768,5537,3},{1762,5527,3},{1755,5523,3}, {1747,5523,3},{1745,5528,3},{1740,5530,3},{1737,5530,3},{1728,5525,3},{1723,5527,3}, {1720,5522,3},{1715,5520,3},{1708,5515,3},{1702,5507,3},{1702,5505,3},{1700,5498,3}, {1698,5497,3},{1698,5488,3},{1697,5487,3},{1698,5487,3},{1698,5485,3},{1697,5485,3}, {1695,5482,3},{1697,5482,3},{1695,5477,3},{1697,5472,3},{1702,5472,3},{1703,5450,3}, {1702,5447,3},{1703,5442,3},{1702,5437,3},{1702,5410,3},{1698,5402,3},{1693,5402,3}, {1692,5398,3},{1690,5393,3},{1687,5375,3},{1682,5368,3},{1678,5367,3},{1677,5362,3}, {1673,5358,3},{1675,5348,3},{1673,5337,3},{1667,5313,3},{1663,5308,3},{2563,5627,131}, {2560,5622,3},{2562,5620,3},{2567,5615,3},{2577,5615,3},{2583,5615,3},{2590,5617,3}, {2602,5617,3},{2608,5615,3},{2608,5608,3},{2622,5617,3},{2627,5620,3},{2627,5622,3}, {2622,5622,3},{2620,5622,3},{2623,5627,3},{2620,5630,3},{2622,5635,3},{2622,5640,3}, {2623,5640,3},{2625,5638,3},{2622,5630,3},{2627,5632,3},{2628,5632,3},{2627,5633,3}, {2627,5637,3},{2632,5632,3},{2632,5635,3},{2638,5637,3},{2637,5637,3},{2635,5638,3}, {2637,5640,3},{2635,5640,3},{2635,5643,3},{2633,5643,3},{2633,5648,3},{2635,5648,3}, {2635,5650,3},{2632,5652,3},{2632,5647,3},{2628,5640,3},{2625,5640,3},{2625,5648,3}, {2622,5648,3},{2620,5647,3},{2622,5645,3},{2622,5643,3},{2618,5643,3},{2617,5647,3}, {2615,5647,3},{2613,5647,3},{2615,5642,3},{2617,5640,3},{2618,5640,3},{2617,5638,3}, {2620,5638,3},{2620,5637,3},{2617,5632,3},{2615,5633,3},{2612,5633,3},{2615,5637,3}, {2610,5637,3},{2610,5638,3},{2608,5642,3},{2610,5643,3},{2608,5647,3},{2608,5643,3}, {2605,5643,3},{2605,5638,3},{2602,5638,3},{2602,5642,3},{2600,5642,3},{2598,5640,3}, {2597,5642,3},{2595,5642,3},{2595,5645,3},{2593,5643,3},{2593,5638,3},{2590,5640,3}, {2585,5637,3},{2580,5637,3},{2575,5632,3},{2573,5630,3},{2575,5630,3},{2575,5628,3}, {2567,5627,3},{2563,5627,3},{2270,5520,131},{2267,5517,3},{2262,5512,3}, {2255,5505,3},{2250,5500,3},{2252,5493,3},{2252,5487,3},{2253,5480,3},{2255,5473,3}, {2255,5467,3},{2257,5460,3},{2258,5453,3},{2258,5447,3},{2260,5440,3},{2262,5433,3}, {2262,5427,3},{2263,5420,3},{2265,5413,3},{2265,5407,3},{2267,5400,3},{2268,5393,3}, {2268,5387,3},{2270,5380,3},{2272,5373,3},{2272,5367,3},{2273,5360,3},{2275,5353,3}, {2275,5347,3},{2277,5340,3},{2278,5333,3},{2278,5327,3},{2280,5320,3},{2282,5313,3}, {2282,5307,3},{2283,5300,3},{2285,5293,3},{2285,5287,3},{2287,5280,3},{2288,5273,3}, {2288,5267,3},{2290,5260,3},{2292,5253,3},{2292,5247,3},{2293,5240,3},{2295,5233,3}, {2295,5227,3},{2297,5220,3},{2298,5213,3},{2298,5207,3},{2300,5200,3},{2303,5198,3}, {2310,5197,3},{2317,5195,3},{2322,5193,3},{2328,5192,3},{2335,5190,3},{2342,5188,3}, {2348,5187,3},{2355,5185,3},{2362,5182,3},{2367,5180,3},{2373,5178,3},{2380,5177,3}, {2387,5175,3},{2390,5168,3},{2395,5162,3},{2398,5157,3},{2403,5150,3},{2407,5143,3}, {2410,5137,3},{2415,5130,3},{2418,5125,3},{2423,5118,3},{2427,5112,3},{2433,5112,3}, {2440,5112,3},{2447,5112,3},{2455,5112,3},{2457,5112,3},{2458,5118,3},{2462,5122,3}, {2462,5127,3},{2460,5128,3},{2460,5130,3},{2457,5130,3},{2452,5130,3},{2458,5138,3}, {2462,5140,3},{2462,5142,3},{2462,5143,3},{2458,5145,3},{2460,5148,3},{2457,5150,3}, {2453,5142,3},{2448,5140,3},{2442,5132,3},{2435,5130,3},{2433,5128,3},{2430,5128,3}, {2428,5135,3},{2432,5138,3},{2432,5143,3},{2430,5150,3},{2425,5153,3},{2425,5157,3}, {2427,5158,3},{2435,5158,3},{2438,5158,3},{2435,5162,3},{2427,5162,3},{2422,5163,3}, {2423,5167,3},{2427,5167,3},{2422,5172,3},{2427,5173,3},{2428,5175,3},{2427,5178,3}, {2412,5177,3},{2405,5178,3},{2400,5182,3},{2398,5190,3},{2395,5193,3},{2398,5193,3}, {2398,5200,3},{2400,5202,3},{2395,5208,3},{2397,5210,3},{2397,5220,3},{2400,5228,3}, {2400,5233,3},{2403,5237,3},{2405,5243,3},{2408,5245,3},{2413,5253,3},{2415,5258,3}, {2420,5258,3},{2420,5262,3},{2420,5263,3},{2413,5268,3},{2415,5270,3},{2413,5277,3}, {2415,5285,3},{2413,5295,3},{2417,5300,3},{2412,5305,3},{2413,5312,3},{2412,5315,3}, {2413,5315,3},{2417,5315,3},{2413,5322,3},{2410,5325,3},{2408,5330,3},{2410,5333,3}, {2410,5342,3},{2412,5343,3},{2410,5347,3},{2408,5353,3},{2405,5358,3},{2407,5368,3}, {2407,5387,3},{2410,5395,3},{2413,5412,3},{2420,5418,3},{2422,5427,3},{2427,5433,3}, {2425,5438,3},{2428,5442,3},{2438,5448,3},{2440,5448,3},{2443,5450,3},{2443,5448,3}, {2443,5453,3},{2447,5452,3},{2445,5457,3},{2447,5458,3},{2448,5457,3},{2448,5448,3}, {2450,5447,3},{2453,5442,3},{2457,5447,3},{2453,5447,3},{2457,5447,3},{2457,5448,3}, {2452,5452,3},{2450,5455,3},{2450,5457,3},{2452,5455,3},{2452,5458,3},{2460,5463,3}, {2462,5460,3},{2462,5463,3},{2465,5463,3},{2467,5467,3},{2468,5465,3},{2472,5465,3}, {2472,5463,3},{2473,5463,3},{2480,5470,3},{2478,5475,3},{2480,5477,3},{2483,5477,3}, {2502,5507,3},{2520,5523,3},{2527,5528,3},{2522,5532,3},{2520,5530,3},{2518,5530,3}, {2520,5533,3},{2525,5533,3},{2527,5530,3},{2532,5533,3},{2532,5537,3},{2537,5537,3}, {2535,5538,3},{2542,5543,3},{2540,5545,3},{2542,5548,3},{2547,5550,3},{2548,5548,3}, {2558,5555,3},{2558,5557,3},{2553,5553,3},{2552,5555,3},{2553,5563,3},{2558,5565,3}, {2562,5568,3},{2568,5577,3},{2572,5587,3},{2582,5595,3},{2577,5593,3},{2577,5595,3}, {2583,5597,3},{2588,5603,3},{2592,5603,3},{2593,5603,3},{2592,5602,3},{2598,5605,3}, {2608,5608,3},{2608,5615,3},{2602,5617,3},{2590,5617,3},{2583,5615,3},{2577,5615,3}, {2567,5615,3},{2562,5620,3},{2560,5622,3},{2563,5627,3},{2560,5635,3},{2553,5637,3}, {2537,5635,3},{2533,5638,3},{2530,5638,3},{2523,5637,3},{2507,5635,3},{2498,5637,3}, {2498,5635,3},{2493,5633,3},{2488,5633,3},{2488,5630,3},{2485,5628,3},{2483,5622,3}, {2483,5620,3},{2483,5618,3},{2478,5618,3},{2473,5613,3},{2473,5607,3},{2478,5605,3}, {2478,5603,3},{2483,5603,3},{2485,5598,3},{2487,5598,3},{2488,5598,3},{2487,5605,3}, {2492,5603,3},{2497,5603,3},{2498,5597,3},{2497,5590,3},{2493,5585,3},{2488,5582,3}, {2488,5580,3},{2483,5580,3},{2478,5582,3},{2473,5582,3},{2468,5583,3},{2463,5583,3}, {2463,5582,3},{2458,5582,3},{2458,5580,3},{2458,5578,3},{2452,5578,3},{2452,5580,3}, {2447,5580,3},{2442,5582,3},{2442,5583,3},{2437,5583,3},{2432,5582,3},{2427,5578,3}, {2425,5578,3},{2423,5578,3},{2422,5585,3},{2423,5592,3},{2423,5595,3},{2418,5597,3}, {2418,5598,3},{2412,5600,3},{2407,5602,3},{2407,5595,3},{2405,5595,3},{2403,5588,3}, {2402,5582,3},{2403,5580,3},{2402,5573,3},{2403,5567,3},{2402,5560,3},{2400,5560,3}, {2398,5553,3},{2397,5547,3},{2392,5550,3},{2392,5553,3},{2387,5557,3},{2382,5555,3}, {2377,5557,3},{2372,5553,3},{2372,5552,3},{2367,5550,3},{2362,5548,3},{2357,5547,3}, {2352,5545,3},{2350,5540,3},{2345,5540,3},{2345,5538,3},{2340,5538,3},{2335,5537,3}, {2330,5535,3},{2325,5533,3},{2325,5532,3},{2320,5530,3},{2320,5528,3},{2315,5527,3}, {2310,5523,3},{2305,5523,3},{2300,5522,3},{2293,5522,3},{2287,5522,3},{2280,5522,3}, {2275,5522,3},{2275,5520,3},{2270,5520,3},{1268,4353,131},{1268,4347,3}, {1278,4348,3},{1283,4348,3},{1293,4340,3},{1297,4340,3},{1312,4332,3},{1320,4325,3}, {1327,4323,3},{1330,4323,3},{1330,4325,3},{1352,4325,3},{1358,4330,3},{1360,4328,3}, {1372,4328,3},{1380,4323,3},{1387,4323,3},{1400,4308,3},{1413,4308,3},{1418,4310,3}, {1432,4305,3},{1437,4302,3},{1448,4298,3},{1452,4295,3},{1452,4298,3},{1445,4300,3}, {1443,4302,3},{1455,4303,3},{1462,4298,3},{1467,4300,3},{1470,4297,3},{1478,4295,3}, {1487,4288,3},{1492,4288,3},{1487,4288,3},{1483,4292,3},{1482,4295,3},{1487,4295,3}, {1495,4293,3},{1500,4288,3},{1507,4287,3},{1510,4288,3},{1513,4287,3},{1518,4278,3}, {1522,4270,3},{1520,4268,3},{1518,4267,3},{1518,4263,3},{1523,4262,3},{1523,4268,3}, {1527,4270,3},{1530,4268,3},{1537,4272,3},{1533,4272,3},{1530,4270,3},{1530,4272,3}, {1525,4278,3},{1522,4278,3},{1520,4278,3},{1523,4278,3},{1523,4280,3},{1527,4282,3}, {1535,4282,3},{1543,4277,3},{1547,4278,3},{1553,4275,3},{1557,4272,3},{1558,4273,3}, {1563,4270,3},{1568,4272,3},{1570,4270,3},{1573,4270,3},{1575,4275,3},{1583,4275,3}, {1588,4283,3},{1610,4285,3},{1638,4278,3},{1638,4283,3},{1642,4288,3},{1643,4293,3}, {1648,4293,3},{1648,4295,3},{1648,4297,3},{1652,4302,3},{1657,4307,3},{1662,4308,3}, {1662,4310,3},{1668,4310,3},{1668,4315,3},{1667,4315,3},{1667,4320,3},{1668,4320,3}, {1670,4320,3},{1675,4318,3},{1677,4323,3},{1682,4323,3},{1682,4322,3},{1682,4320,3}, {1683,4315,3},{1688,4315,3},{1693,4312,3},{1693,4313,3},{1698,4315,3},{1705,4315,3}, {1710,4313,3},{1715,4317,3},{1722,4317,3},{1723,4322,3},{1725,4327,3},{1727,4327,3}, {1732,4325,3},{1732,4323,3},{1733,4318,3},{1737,4323,3},{1742,4325,3},{1745,4330,3}, {1748,4335,3},{1750,4340,3},{1752,4340,3},{1753,4345,3},{1752,4350,3},{1750,4355,3}, {1748,4360,3},{1747,4365,3},{1742,4367,3},{1740,4372,3},{1735,4375,3},{1735,4380,3}, {1735,4387,3},{1737,4392,3},{1735,4392,3},{1730,4393,3},{1732,4398,3},{1735,4398,3}, {1737,4403,3},{1735,4408,3},{1737,4413,3},{1738,4413,3},{1742,4418,3},{1740,4420,3}, {1740,4427,3},{1742,4432,3},{1742,4438,3},{1742,4445,3},{1740,4450,3},{1562,4633,3}, {1568,4640,3},{1575,4645,3},{1582,4652,3},{1588,4658,3},{1595,4663,3},{1602,4670,3}, {1608,4677,3},{1615,4682,3},{1622,4688,3},{1628,4693,3},{1635,4700,3},{1642,4707,3}, {1648,4712,3},{1655,4718,3},{1662,4725,3},{1668,4730,3},{1675,4737,3},{1682,4743,3}, {1688,4748,3},{1693,4755,3},{1700,4762,3},{1707,4767,3},{1713,4773,3},{1720,4780,3}, {1727,4785,3},{1733,4792,3},{1740,4798,3},{1747,4803,3},{1753,4810,3},{1760,4815,3}, {1767,4822,3},{1773,4828,3},{1780,4833,3},{1787,4840,3},{1793,4847,3},{1800,4852,3}, {1807,4858,3},{1813,4865,3},{1820,4870,3},{1827,4877,3},{1828,4883,3},{1830,4890,3}, {1832,4897,3},{1833,4903,3},{1833,4910,3},{1835,4917,3},{1837,4923,3},{1838,4930,3}, {1840,4937,3},{1842,4943,3},{1843,4950,3},{1845,4957,3},{1847,4962,3},{1848,4968,3}, {1848,4975,3},{1850,4982,3},{1852,4988,3},{1853,4995,3},{1855,5002,3},{1857,5008,3}, {1858,5015,3},{1860,5022,3},{1862,5028,3},{1863,5035,3},{1863,5042,3},{1865,5048,3}, {1867,5055,3},{1868,5062,3},{1870,5068,3},{1872,5075,3},{1873,5082,3},{1875,5088,3}, {1877,5095,3},{1877,5102,3},{1878,5108,3},{1880,5115,3},{1882,5120,3},{1883,5127,3}, {1885,5133,3},{1887,5140,3},{1888,5147,3},{1890,5153,3},{1892,5160,3},{1892,5167,3}, {1893,5173,3},{1895,5180,3},{1897,5187,3},{1898,5193,3},{1900,5200,3},{1893,5198,3}, {1887,5197,3},{1880,5195,3},{1873,5193,3},{1868,5190,3},{1862,5188,3},{1855,5190,3}, {1850,5193,3},{1845,5197,3},{1845,5198,3},{1840,5200,3},{1835,5205,3},{1830,5207,3}, {1830,5208,3},{1825,5210,3},{1820,5215,3},{1815,5218,3},{1810,5222,3},{1805,5225,3}, {1800,5228,3},{1795,5232,3},{1790,5235,3},{1790,5237,3},{1785,5238,3},{1780,5243,3}, {1775,5247,3},{1770,5248,3},{1765,5253,3},{1760,5257,3},{1755,5260,3},{1750,5263,3}, {1745,5267,3},{1740,5270,3},{1735,5273,3},{1730,5275,3},{1730,5273,3},{1723,5273,3}, {1717,5272,3},{1712,5272,3},{1705,5273,3},{1700,5277,3},{1695,5282,3},{1690,5287,3}, {1685,5290,3},{1680,5295,3},{1675,5298,3},{1670,5303,3},{1665,5307,3},{1663,5308,3}, {1662,5298,3},{1655,5287,3},{1653,5278,3},{1650,5273,3},{1648,5260,3},{1640,5245,3}, {1627,5230,3},{1617,5222,3},{1610,5222,3},{1608,5220,3},{1598,5215,3},{1593,5218,3}, {1587,5218,3},{1583,5223,3},{1575,5222,3},{1565,5225,3},{1562,5222,3},{1558,5208,3}, {1553,5200,3},{1552,5190,3},{1547,5187,3},{1545,5187,3},{1547,5183,3},{1543,5173,3}, {1540,5167,3},{1537,5167,3},{1535,5168,3},{1533,5168,3},{1532,5152,3},{1527,5147,3}, {1525,5138,3},{1523,5138,3},{1523,5135,3},{1518,5123,3},{1512,5090,3},{1508,5080,3}, {1505,5055,3},{1500,5045,3},{1492,5035,3},{1492,5030,3},{1487,5022,3},{1483,5018,3}, {1485,5013,3},{1482,5005,3},{1485,5003,3},{1485,4997,3},{1480,4987,3},{1473,4958,3}, {1468,4952,3},{1463,4937,3},{1453,4918,3},{1452,4918,3},{1453,4913,3},{1450,4908,3}, {1443,4902,3},{1437,4900,3},{1432,4900,3},{1430,4895,3},{1425,4893,3},{1425,4888,3}, {1422,4888,3},{1417,4885,3},{1412,4878,3},{1403,4870,3},{1403,4855,3},{1398,4847,3}, {1402,4845,3},{1400,4843,3},{1402,4835,3},{1400,4835,3},{1400,4832,3},{1398,4823,3}, {1397,4818,3},{1400,4818,3},{1402,4815,3},{1405,4800,3},{1402,4793,3},{1397,4788,3}, {1393,4782,3},{1390,4772,3},{1387,4765,3},{1365,4740,3},{1360,4720,3},{1353,4693,3}, {1348,4685,3},{1343,4668,3},{1343,4663,3},{1342,4652,3},{1340,4647,3},{1342,4642,3}, {1340,4635,3},{1343,4623,3},{1340,4612,3},{1340,4605,3},{1338,4582,3},{1335,4577,3}, {1333,4565,3},{1318,4550,3},{1307,4540,3},{1302,4520,3},{1297,4513,3},{1287,4507,3}, {1275,4505,3},{1278,4498,3},{1280,4498,3},{1280,4503,3},{1285,4502,3},{1283,4500,3}, {1283,4495,3},{1278,4490,3},{1280,4488,3},{1277,4487,3},{1278,4488,3},{1277,4492,3}, {1273,4490,3},{1273,4487,3},{1273,4483,3},{1277,4483,3},{1277,4477,3},{1275,4473,3}, {1277,4473,3},{1280,4470,3},{1282,4460,3},{1278,4453,3},{1268,4443,3},{1267,4443,3}, {1268,4440,3},{1263,4428,3},{1263,4423,3},{1262,4417,3},{1263,4413,3},{1263,4418,3}, {1265,4420,3},{1265,4415,3},{1260,4407,3},{1260,4398,3},{1260,4395,3},{1262,4392,3}, {1265,4390,3},{1265,4387,3},{1268,4382,3},{1275,4360,3},{1273,4357,3},{1268,4353,3}, {1638,4278,131},{1642,4278,3},{1647,4278,3},{1652,4273,3},{1657,4272,3}, {1667,4273,3},{1667,4272,3},{1672,4270,3},{1673,4272,3},{1675,4268,3},{1682,4265,3}, {1683,4257,3},{1687,4253,3},{1692,4255,3},{1700,4255,3},{1703,4252,3},{1703,4245,3}, {1712,4240,3},{1715,4242,3},{1718,4237,3},{1712,4238,3},{1710,4237,3},{1703,4238,3}, {1702,4237,3},{1713,4235,3},{1723,4233,3},{1730,4233,3},{1733,4232,3},{1740,4232,3}, {1745,4230,3},{1745,4227,3},{1757,4217,3},{1758,4215,3},{1757,4213,3},{1765,4210,3}, {1765,4205,3},{1772,4202,3},{1772,4198,3},{1777,4193,3},{1778,4190,3},{1782,4188,3}, {1780,4185,3},{1783,4182,3},{1783,4178,3},{1787,4178,3},{1788,4175,3},{1795,4168,3}, {1798,4167,3},{1800,4168,3},{1802,4165,3},{1803,4165,3},{1808,4160,3},{1812,4160,3}, {1817,4155,3},{1818,4157,3},{1820,4152,3},{1820,4153,3},{1822,4153,3},{1822,4150,3}, {1827,4152,3},{1828,4147,3},{1830,4148,3},{1840,4143,3},{1847,4143,3},{1850,4140,3}, {1853,4137,3},{1857,4137,3},{1858,4132,3},{1857,4130,3},{1860,4127,3},{1865,4125,3}, {1870,4120,3},{1875,4122,3},{1883,4125,3},{1887,4120,3},{1887,4117,3},{1895,4113,3}, {1907,4117,3},{1912,4108,3},{1918,4105,3},{1922,4103,3},{1923,4105,3},{1932,4100,3}, {1933,4095,3},{1935,4097,3},{1942,4093,3},{1947,4095,3},{1950,4095,3},{1953,4085,3}, {1962,4075,3},{1960,4080,3},{1967,4080,3},{1972,4078,3},{1977,4075,3},{1978,4073,3}, {1980,4067,3},{1978,4065,3},{1977,4065,3},{1977,4063,3},{1982,4062,3},{1983,4060,3}, {1988,4058,3},{1990,4053,3},{1995,4053,3},{1997,4053,3},{2002,4045,3},{2007,4040,3}, {2007,4033,3},{2012,4027,3},{2017,4023,3},{2018,4023,3},{2020,4017,3},{2022,4013,3}, {2027,4010,3},{2028,4005,3},{2027,3998,3},{2030,3990,3},{2028,3990,3},{2027,3995,3}, {2025,3993,3},{2035,3977,3},{2043,3968,3},{2043,3967,3},{2052,3960,3},{2057,3957,3}, {2058,3960,3},{2062,3955,3},{2067,3952,3},{2070,3948,3},{2075,3950,3},{2075,3947,3}, {2073,3947,3},{2077,3943,3},{2080,3942,3},{2080,3945,3},{2082,3945,3},{2085,3942,3}, {2082,3940,3},{2087,3935,3},{2090,3933,3},{2088,3937,3},{2092,3935,3},{2092,3930,3}, {2098,3925,3},{2103,3925,3},{2107,3923,3},{2110,3918,3},{2115,3915,3},{2118,3917,3}, {2122,3915,3},{2132,3908,3},{2137,3915,3},{2142,3917,3},{2147,3917,3},{2148,3915,3}, {2150,3917,3},{2152,3915,3},{2153,3915,3},{2152,3912,3},{2158,3908,3},{2162,3910,3}, {2168,3908,3},{2173,3912,3},{2175,3910,3},{2173,3908,3},{2172,3907,3},{2180,3903,3}, {2185,3897,3},{2188,3897,3},{2192,3895,3},{2190,3900,3},{2183,3902,3},{2183,3903,3}, {2185,3902,3},{2195,3900,3},{2205,3902,3},{2208,3903,3},{2215,3905,3},{2212,3902,3}, {2217,3903,3},{2222,3903,3},{2227,3907,3},{2232,3908,3},{2233,3910,3},{2240,3915,3}, {2242,3912,3},{2238,3910,3},{2237,3908,3},{2242,3907,3},{2257,3908,3},{2272,3898,3}, {2277,3902,3},{2283,3893,3},{2278,3897,3},{2275,3897,3},{2292,3885,3},{2292,3888,3}, {2285,3892,3},{2285,3895,3},{2287,3897,3},{2290,3893,3},{2292,3892,3},{2297,3890,3}, {2298,3887,3},{2298,3882,3},{2300,3878,3},{2303,3878,3},{2308,3880,3},{2313,3878,3}, {2315,3880,3},{2318,3878,3},{2317,3877,3},{2320,3877,3},{2320,3875,3},{2325,3870,3}, {2327,3872,3},{2328,3870,3},{2333,3870,3},{2335,3868,3},{2342,3867,3},{2342,3865,3}, {2350,3863,3},{2353,3860,3},{2357,3860,3},{2355,3855,3},{2353,3858,3},{2352,3858,3}, {2353,3855,3},{2362,3852,3},{2373,3845,3},{2378,3845,3},{2382,3838,3},{2388,3833,3}, {2388,3830,3},{2395,3825,3},{2400,3817,3},{2403,3813,3},{2407,3808,3},{2408,3808,3}, {2408,3803,3},{2417,3792,3},{2418,3795,3},{2418,3792,3},{2422,3793,3},{2420,3788,3}, {2417,3790,3},{2417,3783,3},{2427,3775,3},{2425,3773,3},{2430,3767,3},{2428,3765,3}, {2428,3762,3},{2425,3763,3},{2425,3760,3},{2427,3757,3},{2427,3753,3},{2432,3748,3}, {2435,3748,3},{2437,3745,3},{2440,3745,3},{2440,3748,3},{2445,3745,3},{2447,3743,3}, {2450,3742,3},{2455,3738,3},{2457,3738,3},{2467,3728,3},{2468,3722,3},{2475,3718,3}, {2477,3722,3},{2478,3722,3},{2478,3717,3},{2483,3713,3},{2483,3718,3},{2487,3723,3}, {2495,3720,3},{2502,3723,3},{2512,3718,3},{2515,3720,3},{2522,3718,3},{2528,3712,3}, {2530,3708,3},{2535,3703,3},{2543,3700,3},{2548,3700,3},{2555,3693,3},{2565,3690,3}, {2568,3687,3},{2578,3675,3},{2575,3673,3},{2578,3667,3},{2582,3667,3},{2588,3660,3}, {2593,3665,3},{2602,3667,3},{2607,3665,3},{2608,3662,3},{2608,3653,3},{2615,3645,3}, {2623,3643,3},{2632,3637,3},{2653,3627,3},{2662,3620,3},{2675,3607,3},{2685,3602,3}, {2688,3602,3},{2702,3585,3},{2710,3578,3},{2713,3577,3},{2722,3578,3},{2728,3573,3}, {2732,3573,3},{2735,3565,3},{2745,3557,3},{2755,3552,3},{2763,3550,3},{2767,3545,3}, {2778,3538,3},{2780,3535,3},{2785,3533,3},{2792,3527,3},{2795,3525,3},{2800,3517,3}, {2802,3517,3},{2803,3522,3},{2805,3522,3},{2805,3517,3},{2807,3515,3},{2807,3510,3}, {2812,3505,3},{2812,3502,3},{2810,3503,3},{2812,3500,3},{2810,3495,3},{2808,3493,3}, {2808,3488,3},{2807,3485,3},{2810,3483,3},{2812,3487,3},{2812,3485,3},{2810,3482,3}, {2810,3483,3},{2807,3480,3},{2808,3478,3},{2810,3482,3},{2812,3482,3},{2810,3477,3}, {2812,3472,3},{2813,3470,3},{2813,3468,3},{2810,3465,3},{2807,3467,3},{2807,3465,3}, {2803,3465,3},{2802,3462,3},{2808,3460,3},{2810,3460,3},{2808,3457,3},{2810,3457,3}, {2817,3462,3},{2818,3463,3},{2817,3467,3},{2820,3465,3},{2822,3467,3},{2827,3467,3}, {2827,3468,3},{2853,3480,3},{2868,3478,3},{2882,3483,3},{2888,3485,3},{2890,3483,3}, {2900,3487,3},{2903,3485,3},{2907,3488,3},{2923,3492,3},{2925,3493,3},{2928,3493,3}, {2930,3495,3},{2933,3495,3},{2937,3497,3},{2935,3502,3},{2935,3508,3},{2933,3513,3}, {2933,3520,3},{2932,3525,3},{2930,3530,3},{2930,3537,3},{2928,3542,3},{2928,3548,3}, {2927,3553,3},{2927,3560,3},{2925,3565,3},{2925,3572,3},{2923,3577,3},{2923,3583,3}, {2922,3588,3},{2922,3595,3},{2920,3600,3},{2918,3607,3},{2922,3610,3},{2925,3615,3}, {2928,3620,3},{2932,3623,3},{2935,3628,3},{2938,3633,3},{2942,3638,3},{2945,3642,3}, {2948,3647,3},{2950,3650,3},{2957,3653,3},{2960,3657,3},{2965,3660,3},{2968,3663,3}, {2973,3665,3},{2978,3668,3},{2983,3672,3},{2987,3675,3},{2988,3682,3},{2988,3687,3}, {2990,3693,3},{2992,3698,3},{2992,3705,3},{2993,3710,3},{2993,3717,3},{2995,3722,3}, {2997,3728,3},{2997,3733,3},{2998,3740,3},{3000,3745,3},{3000,3750,3},{3005,3753,3}, {3010,3755,3},{3015,3758,3},{3020,3760,3},{3025,3762,3},{3030,3765,3},{3033,3767,3}, {3037,3773,3},{3040,3778,3},{3042,3783,3},{3045,3788,3},{3047,3793,3},{3050,3798,3}, {3050,3800,3},{3055,3797,3},{3058,3792,3},{3062,3788,3},{3067,3785,3},{3070,3780,3}, {3073,3777,3},{3078,3773,3},{3082,3768,3},{3087,3765,3},{3090,3762,3},{3093,3757,3}, {3098,3753,3},{3102,3750,3},{3107,3745,3},{3110,3742,3},{3113,3737,3},{3118,3733,3}, {3122,3730,3},{3125,3725,3},{3130,3722,3},{3133,3718,3},{3137,3713,3},{3142,3710,3}, {3145,3707,3},{3150,3700,3},{3152,3708,3},{3153,3713,3},{3155,3718,3},{3157,3725,3}, {3158,3730,3},{3160,3737,3},{3162,3742,3},{3163,3747,3},{3163,3753,3},{3165,3758,3}, {3167,3765,3},{3168,3770,3},{3170,3775,3},{3172,3782,3},{3172,3787,3},{3173,3793,3}, {3175,3798,3},{3177,3803,3},{3178,3810,3},{3180,3815,3},{3182,3822,3},{3182,3827,3}, {3183,3833,3},{3185,3838,3},{3187,3843,3},{3188,3850,3},{3190,3855,3},{3192,3862,3}, {3192,3867,3},{3193,3872,3},{3195,3878,3},{3197,3883,3},{3198,3890,3},{3200,3895,3}, {3200,3900,3},{3205,3905,3},{3208,3910,3},{3212,3915,3},{3215,3918,3},{3218,3923,3}, {3222,3928,3},{3223,3930,3},{3222,3937,3},{3220,3943,3},{3218,3950,3},{3217,3957,3}, {3215,3963,3},{3213,3970,3},{3212,3977,3},{3210,3983,3},{3208,3988,3},{3207,3995,3}, {3207,4000,3},{3203,4008,3},{3200,4013,3},{3197,4020,3},{3193,4027,3},{3190,4033,3}, {3188,4038,3},{3185,4045,3},{3182,4052,3},{3178,4058,3},{3175,4063,3},{3173,4070,3}, {3170,4077,3},{3167,4083,3},{3163,4088,3},{3160,4095,3},{3157,4102,3},{3155,4107,3}, {3152,4113,3},{3148,4120,3},{3145,4127,3},{3142,4132,3},{3140,4138,3},{3137,4143,3}, {3133,4150,3},{3132,4157,3},{3128,4162,3},{3127,4168,3},{3123,4175,3},{3122,4182,3}, {3118,4187,3},{3117,4193,3},{3113,4200,3},{3112,4207,3},{3108,4213,3},{3107,4218,3}, {3103,4225,3},{3102,4232,3},{3098,4237,3},{3095,4243,3},{3093,4250,3},{3090,4257,3}, {3088,4262,3},{3085,4268,3},{3083,4275,3},{3080,4280,3},{3077,4287,3},{3075,4293,3}, {3073,4298,3},{3067,4300,3},{3060,4302,3},{3055,4302,3},{3050,4303,3},{3043,4305,3}, {3042,4307,3},{3042,4313,3},{3040,4320,3},{3040,4327,3},{3040,4333,3},{3040,4340,3}, {3038,4347,3},{3038,4353,3},{3038,4360,3},{3038,4367,3},{3032,4365,3},{3027,4363,3}, {3022,4363,3},{3015,4362,3},{3010,4362,3},{3005,4362,3},{2998,4360,3},{2993,4360,3}, {2987,4360,3},{2982,4360,3},{2975,4360,3},{2970,4360,3},{2965,4360,3},{2960,4358,3}, {2958,4365,3},{2957,4372,3},{2953,4378,3},{2952,4383,3},{2950,4390,3},{2947,4397,3}, {2947,4400,3},{2945,4405,3},{2943,4410,3},{2940,4417,3},{2938,4422,3},{2937,4427,3}, {2935,4433,3},{2933,4438,3},{2930,4443,3},{2928,4450,3},{2927,4455,3},{2925,4460,3}, {2923,4467,3},{2920,4472,3},{2910,4655,3},{2910,4663,3},{2908,4668,3},{2908,4675,3}, {2907,4682,3},{2907,4688,3},{2907,4695,3},{2905,4700,3},{2905,4707,3},{2903,4713,3}, {2903,4720,3},{2902,4725,3},{2902,4732,3},{2900,4738,3},{2900,4747,3},{2878,4757,3}, {2870,4758,3},{2863,4760,3},{2857,4768,3},{2855,4768,3},{2853,4773,3},{2853,4780,3}, {2853,4785,3},{2855,4792,3},{2855,4798,3},{2855,4805,3},{2855,4810,3},{2855,4817,3}, {2855,4823,3},{2855,4830,3},{2855,4835,3},{2855,4842,3},{2850,4847,3},{2850,4850,3}, {2845,4850,3},{2842,4852,3},{2840,4850,3},{2840,4847,3},{2838,4847,3},{2840,4853,3}, {2837,4852,3},{2833,4852,3},{2828,4855,3},{2820,4862,3},{2818,4860,3},{2813,4860,3}, {2807,4865,3},{2803,4865,3},{2800,4878,3},{2798,4878,3},{2798,4875,3},{2797,4875,3}, {2783,4888,3},{2777,4888,3},{2773,4885,3},{2773,4883,3},{2780,4885,3},{2782,4885,3}, {2775,4880,3},{2782,4883,3},{2783,4882,3},{2772,4877,3},{2772,4880,3},{2773,4880,3}, {2768,4882,3},{2770,4885,3},{2765,4885,3},{2768,4888,3},{2765,4888,3},{2763,4885,3}, {2762,4887,3},{2762,4885,3},{2762,4883,3},{2760,4887,3},{2763,4890,3},{2758,4888,3}, {2757,4890,3},{2757,4892,3},{2760,4892,3},{2762,4897,3},{2757,4907,3},{2755,4905,3}, {2753,4907,3},{2755,4907,3},{2753,4915,3},{2755,4918,3},{2753,4925,3},{2750,4927,3}, {2748,4930,3},{2745,4930,3},{2745,4928,3},{2747,4928,3},{2745,4927,3},{2745,4922,3}, {2743,4918,3},{2747,4917,3},{2743,4912,3},{2742,4917,3},{2740,4920,3},{2742,4923,3}, {2742,4927,3},{2738,4923,3},{2733,4922,3},{2735,4925,3},{2735,4928,3},{2735,4930,3}, {2720,4932,3},{2720,4933,3},{2717,4935,3},{2720,4937,3},{2722,4938,3},{2720,4942,3}, {2715,4940,3},{2715,4937,3},{2713,4942,3},{2717,4943,3},{2713,4943,3},{2715,4947,3}, {2713,4952,3},{2715,4950,3},{2718,4950,3},{2718,4952,3},{2717,4955,3},{2718,4957,3}, {2715,4955,3},{2710,4957,3},{2705,4962,3},{2698,4967,3},{2685,4987,3},{2685,4995,3}, {2672,5008,3},{2665,5017,3},{2663,5015,3},{2668,5012,3},{2668,5003,3},{2673,5002,3}, {2675,5000,3},{2673,4998,3},{2667,4998,3},{2665,5002,3},{2657,5000,3},{2647,5005,3}, {2645,5008,3},{2642,5018,3},{2637,5022,3},{2630,5022,3},{2620,5022,3},{2617,5020,3}, {2615,5018,3},{2617,5017,3},{2603,5013,3},{2610,5010,3},{2613,5007,3},{2618,5007,3}, {2620,5002,3},{2613,4998,3},{2608,5002,3},{2607,4998,3},{2600,5000,3},{2598,5000,3}, {2600,5003,3},{2603,5003,3},{2602,5005,3},{2602,5007,3},{2600,5007,3},{2598,5010,3}, {2593,5013,3},{2592,5010,3},{2585,5012,3},{2577,5017,3},{2573,5022,3},{2567,5025,3}, {2563,5027,3},{2563,5025,3},{2565,5023,3},{2568,5023,3},{2573,5015,3},{2570,5015,3}, {2568,5020,3},{2563,5022,3},{2545,5037,3},{2548,5037,3},{2552,5038,3},{2548,5038,3}, {2545,5042,3},{2545,5045,3},{2542,5048,3},{2530,5052,3},{2523,5052,3},{2518,5055,3}, {2512,5053,3},{2505,5057,3},{2503,5057,3},{2507,5058,3},{2505,5060,3},{2495,5067,3}, {2490,5068,3},{2487,5073,3},{2477,5073,3},{2475,5075,3},{2472,5078,3},{2475,5083,3}, {2470,5085,3},{2465,5090,3},{2460,5095,3},{2457,5100,3},{2457,5107,3},{2455,5112,3}, {2447,5112,3},{2440,5112,3},{2433,5112,3},{2427,5112,3},{2423,5118,3},{2418,5125,3}, {2415,5130,3},{2410,5137,3},{2407,5143,3},{2403,5150,3},{2398,5157,3},{2395,5162,3}, {2390,5168,3},{2387,5175,3},{2380,5177,3},{2373,5178,3},{2367,5180,3},{2362,5182,3}, {2355,5185,3},{2348,5187,3},{2342,5188,3},{2335,5190,3},{2328,5192,3},{2322,5193,3}, {2317,5195,3},{2310,5197,3},{2303,5198,3},{2300,5200,3},{2298,5207,3},{2298,5213,3}, {2297,5220,3},{2295,5227,3},{2295,5233,3},{2293,5240,3},{2292,5247,3},{2292,5253,3}, {2290,5260,3},{2288,5267,3},{2288,5273,3},{2287,5280,3},{2285,5287,3},{2285,5293,3}, {2283,5300,3},{2282,5307,3},{2282,5313,3},{2280,5320,3},{2278,5327,3},{2278,5333,3}, {2277,5340,3},{2275,5347,3},{2275,5353,3},{2273,5360,3},{2272,5367,3},{2272,5373,3}, {2270,5380,3},{2268,5387,3},{2268,5393,3},{2267,5400,3},{2265,5407,3},{2265,5413,3}, {2263,5420,3},{2262,5427,3},{2262,5433,3},{2260,5440,3},{2258,5447,3},{2258,5453,3}, {2257,5460,3},{2255,5467,3},{2255,5473,3},{2253,5480,3},{2252,5487,3},{2252,5493,3}, {2250,5500,3},{2255,5505,3},{2262,5512,3},{2267,5517,3},{2270,5520,3},{2263,5525,3}, {2257,5528,3},{2250,5533,3},{2243,5538,3},{2237,5542,3},{2230,5547,3},{2223,5552,3}, {2217,5555,3},{2210,5560,3},{2203,5565,3},{2200,5567,3},{2193,5565,3},{2187,5562,3}, {2180,5560,3},{2173,5558,3},{2167,5555,3},{2160,5553,3},{2153,5552,3},{2147,5548,3}, {2140,5547,3},{2133,5545,3},{2127,5542,3},{2120,5540,3},{2113,5538,3},{2107,5535,3}, {2100,5533,3},{2093,5532,3},{2087,5528,3},{2080,5527,3},{2073,5525,3},{2067,5522,3}, {2060,5520,3},{2053,5518,3},{2047,5515,3},{2040,5513,3},{2033,5512,3},{2027,5508,3}, {2020,5507,3},{2013,5505,3},{2007,5502,3},{2000,5500,3},{1998,5493,3},{1995,5487,3}, {1993,5480,3},{1992,5473,3},{1988,5467,3},{1987,5460,3},{1985,5453,3},{1982,5447,3}, {1980,5440,3},{1978,5433,3},{1975,5427,3},{1973,5418,3},{1970,5412,3},{1968,5405,3}, {1967,5398,3},{1963,5392,3},{1962,5385,3},{1960,5378,3},{1957,5372,3},{1955,5365,3}, {1953,5358,3},{1950,5352,3},{1948,5345,3},{1947,5338,3},{1943,5332,3},{1942,5325,3}, {1940,5318,3},{1937,5312,3},{1935,5305,3},{1933,5298,3},{1930,5292,3},{1928,5285,3}, {1927,5278,3},{1923,5273,3},{1922,5267,3},{1920,5260,3},{1918,5253,3},{1915,5247,3}, {1913,5240,3},{1912,5233,3},{1908,5227,3},{1907,5220,3},{1905,5213,3},{1902,5207,3}, {1900,5200,3},{1898,5193,3},{1897,5187,3},{1895,5180,3},{1893,5173,3},{1892,5167,3}, {1892,5160,3},{1890,5153,3},{1888,5147,3},{1887,5140,3},{1885,5133,3},{1883,5127,3}, {1882,5120,3},{1880,5115,3},{1878,5108,3},{1877,5102,3},{1877,5095,3},{1875,5088,3}, {1873,5082,3},{1872,5075,3},{1870,5068,3},{1868,5062,3},{1867,5055,3},{1865,5048,3}, {1863,5042,3},{1863,5035,3},{1862,5028,3},{1860,5022,3},{1858,5015,3},{1857,5008,3}, {1855,5002,3},{1853,4995,3},{1852,4988,3},{1850,4982,3},{1848,4975,3},{1848,4968,3}, {1847,4962,3},{1845,4957,3},{1843,4950,3},{1842,4943,3},{1840,4937,3},{1838,4930,3}, {1837,4923,3},{1835,4917,3},{1833,4910,3},{1833,4903,3},{1832,4897,3},{1830,4890,3}, {1828,4883,3},{1827,4877,3},{1820,4870,3},{1813,4865,3},{1807,4858,3},{1800,4852,3}, {1793,4847,3},{1787,4840,3},{1780,4833,3},{1773,4828,3},{1767,4822,3},{1760,4815,3}, {1753,4810,3},{1747,4803,3},{1740,4798,3},{1733,4792,3},{1727,4785,3},{1720,4780,3}, {1713,4773,3},{1707,4767,3},{1700,4762,3},{1693,4755,3},{1688,4748,3},{1682,4743,3}, {1675,4737,3},{1668,4730,3},{1662,4725,3},{1655,4718,3},{1648,4712,3},{1642,4707,3}, {1635,4700,3},{1628,4693,3},{1622,4688,3},{1615,4682,3},{1608,4677,3},{1602,4670,3}, {1595,4663,3},{1588,4658,3},{1582,4652,3},{1575,4645,3},{1568,4640,3},{1562,4633,3}, {1740,4450,3},{1742,4445,3},{1742,4438,3},{1742,4432,3},{1740,4427,3},{1740,4420,3}, {1742,4418,3},{1738,4413,3},{1737,4413,3},{1735,4408,3},{1737,4403,3},{1735,4398,3}, {1732,4398,3},{1730,4393,3},{1735,4392,3},{1737,4392,3},{1735,4387,3},{1735,4380,3}, {1735,4375,3},{1740,4372,3},{1742,4367,3},{1747,4365,3},{1748,4360,3},{1750,4355,3}, {1752,4350,3},{1753,4345,3},{1752,4340,3},{1750,4340,3},{1748,4335,3},{1745,4330,3}, {1742,4325,3},{1737,4323,3},{1733,4318,3},{1732,4323,3},{1732,4325,3},{1727,4327,3}, {1725,4327,3},{1723,4322,3},{1722,4317,3},{1715,4317,3},{1710,4313,3},{1705,4315,3}, {1698,4315,3},{1693,4313,3},{1693,4312,3},{1688,4315,3},{1683,4315,3},{1682,4320,3}, {1682,4322,3},{1682,4323,3},{1677,4323,3},{1675,4318,3},{1670,4320,3},{1668,4320,3}, {1667,4320,3},{1667,4315,3},{1668,4315,3},{1668,4310,3},{1662,4310,3},{1662,4308,3}, {1657,4307,3},{1652,4302,3},{1648,4297,3},{1648,4295,3},{1648,4293,3},{1643,4293,3}, {1642,4288,3},{1638,4283,3},{1638,4278,3},{2937,3497,131},{2945,3497,3}, {2953,3500,3},{2955,3497,3},{2963,3500,3},{2973,3502,3},{2987,3508,3},{2995,3507,3}, {2997,3508,3},{3005,3510,3},{3013,3517,3},{3023,3513,3},{3035,3518,3},{3043,3515,3}, {3060,3520,3},{3072,3528,3},{3078,3530,3},{3082,3533,3},{3087,3533,3},{3092,3535,3}, {3095,3540,3},{3102,3540,3},{3108,3545,3},{3108,3547,3},{3110,3552,3},{3112,3552,3}, {3113,3550,3},{3115,3552,3},{3117,3553,3},{3120,3552,3},{3120,3550,3},{3122,3547,3}, {3125,3543,3},{3125,3542,3},{3123,3540,3},{3132,3543,3},{3132,3545,3},{3133,3547,3}, {3137,3550,3},{3137,3552,3},{3132,3550,3},{3130,3550,3},{3130,3552,3},{3132,3553,3}, {3133,3555,3},{3140,3555,3},{3145,3557,3},{3147,3557,3},{3148,3557,3},{3150,3555,3}, {3152,3555,3},{3153,3555,3},{3157,3555,3},{3163,3557,3},{3167,3557,3},{3168,3557,3}, {3172,3558,3},{3173,3558,3},{3175,3558,3},{3177,3557,3},{3177,3555,3},{3182,3553,3}, {3187,3555,3},{3193,3553,3},{3198,3553,3},{3203,3552,3},{3208,3553,3},{3213,3555,3}, {3218,3557,3},{3223,3557,3},{3228,3557,3},{3235,3555,3},{3240,3555,3},{3245,3557,3}, {3250,3557,3},{3255,3557,3},{3260,3557,3},{3265,3557,3},{3265,3560,3},{3268,3565,3}, {3268,3567,3},{3270,3568,3},{3275,3580,3},{3273,3580,3},{3273,3583,3},{3272,3593,3}, {3268,3597,3},{3268,3595,3},{3267,3597,3},{3265,3603,3},{3262,3603,3},{3258,3607,3}, {3252,3608,3},{3253,3613,3},{3252,3617,3},{3253,3620,3},{3252,3622,3},{3245,3632,3}, {3238,3640,3},{3238,3645,3},{3237,3650,3},{3235,3657,3},{3235,3662,3},{3235,3668,3}, {3233,3672,3},{3233,3677,3},{3232,3683,3},{3235,3688,3},{3238,3693,3},{3240,3698,3}, {3243,3703,3},{3247,3708,3},{3248,3713,3},{3252,3718,3},{3255,3723,3},{3258,3730,3}, {3260,3735,3},{3263,3740,3},{3267,3745,3},{3268,3750,3},{3272,3755,3},{3275,3760,3}, {3278,3765,3},{3280,3772,3},{3283,3777,3},{3287,3782,3},{3288,3787,3},{3292,3792,3}, {3295,3797,3},{3297,3803,3},{3300,3808,3},{3303,3813,3},{3305,3818,3},{3308,3823,3}, {3312,3828,3},{3313,3833,3},{3317,3840,3},{3320,3845,3},{3322,3850,3},{3325,3855,3}, {3328,3860,3},{3330,3867,3},{3333,3872,3},{3337,3877,3},{3338,3880,3},{3335,3880,3}, {3330,3883,3},{3325,3885,3},{3322,3887,3},{3317,3890,3},{3312,3892,3},{3307,3893,3}, {3302,3895,3},{3297,3898,3},{3292,3900,3},{3287,3902,3},{3282,3905,3},{3277,3907,3}, {3272,3908,3},{3268,3912,3},{3263,3913,3},{3258,3915,3},{3253,3917,3},{3248,3920,3}, {3243,3922,3},{3238,3923,3},{3233,3927,3},{3228,3928,3},{3223,3930,3},{3222,3928,3}, {3218,3923,3},{3215,3918,3},{3212,3915,3},{3208,3910,3},{3205,3905,3},{3200,3900,3}, {3200,3895,3},{3198,3890,3},{3197,3883,3},{3195,3878,3},{3193,3872,3},{3192,3867,3}, {3192,3862,3},{3190,3855,3},{3188,3850,3},{3187,3843,3},{3185,3838,3},{3183,3833,3}, {3182,3827,3},{3182,3822,3},{3180,3815,3},{3178,3810,3},{3177,3803,3},{3175,3798,3}, {3173,3793,3},{3172,3787,3},{3172,3782,3},{3170,3775,3},{3168,3770,3},{3167,3765,3}, {3165,3758,3},{3163,3753,3},{3163,3747,3},{3162,3742,3},{3160,3737,3},{3158,3730,3}, {3157,3725,3},{3155,3718,3},{3153,3713,3},{3152,3708,3},{3150,3700,3},{3145,3707,3}, {3142,3710,3},{3137,3713,3},{3133,3718,3},{3130,3722,3},{3125,3725,3},{3122,3730,3}, {3118,3733,3},{3113,3737,3},{3110,3742,3},{3107,3745,3},{3102,3750,3},{3098,3753,3}, {3093,3757,3},{3090,3762,3},{3087,3765,3},{3082,3768,3},{3078,3773,3},{3073,3777,3}, {3070,3780,3},{3067,3785,3},{3062,3788,3},{3058,3792,3},{3055,3797,3},{3050,3800,3}, {3050,3798,3},{3047,3793,3},{3045,3788,3},{3042,3783,3},{3040,3778,3},{3037,3773,3}, {3033,3767,3},{3030,3765,3},{3025,3762,3},{3020,3760,3},{3015,3758,3},{3010,3755,3}, {3005,3753,3},{3000,3750,3},{3000,3745,3},{2998,3740,3},{2997,3733,3},{2997,3728,3}, {2995,3722,3},{2993,3717,3},{2993,3710,3},{2992,3705,3},{2992,3698,3},{2990,3693,3}, {2988,3687,3},{2988,3682,3},{2987,3675,3},{2983,3672,3},{2978,3668,3},{2973,3665,3}, {2968,3663,3},{2965,3660,3},{2960,3657,3},{2957,3653,3},{2950,3650,3},{2948,3647,3}, {2945,3642,3},{2942,3638,3},{2938,3633,3},{2935,3628,3},{2932,3623,3},{2928,3620,3}, {2925,3615,3},{2922,3610,3},{2918,3607,3},{2920,3600,3},{2922,3595,3},{2922,3588,3}, {2923,3583,3},{2923,3577,3},{2925,3572,3},{2925,3565,3},{2927,3560,3},{2927,3553,3}, {2928,3548,3},{2928,3542,3},{2930,3537,3},{2930,3530,3},{2932,3525,3},{2933,3520,3}, {2933,3513,3},{2935,3508,3},{2935,3502,3},{2937,3497,3},{3150,3540,131}, {3147,3535,3},{3143,3530,3},{3140,3525,3},{3137,3520,3},{3137,3515,3},{3137,3508,3}, {3137,3502,3},{3135,3497,3},{3137,3490,3},{3142,3488,3},{3145,3492,3},{3150,3495,3}, {3157,3495,3},{3162,3497,3},{3165,3502,3},{3168,3507,3},{3172,3512,3},{3175,3517,3}, {3175,3523,3},{3180,3522,3},{3182,3517,3},{3183,3510,3},{3183,3507,3},{3182,3500,3}, {3187,3497,3},{3188,3503,3},{3193,3500,3},{3198,3500,3},{3200,3500,3},{3205,3500,3}, {3210,3498,3},{3215,3498,3},{3220,3498,3},{3223,3503,3},{3230,3502,3},{3235,3505,3}, {3240,3505,3},{3247,3507,3},{3248,3512,3},{3252,3517,3},{3255,3523,3},{3252,3527,3}, {3252,3533,3},{3252,3540,3},{3247,3542,3},{3242,3543,3},{3242,3550,3},{3240,3555,3}, {3235,3555,3},{3228,3557,3},{3223,3557,3},{3218,3557,3},{3213,3555,3},{3208,3553,3}, {3203,3552,3},{3198,3553,3},{3193,3553,3},{3187,3555,3},{3182,3553,3},{3177,3555,3}, {3177,3553,3},{3177,3552,3},{3175,3550,3},{3172,3547,3},{3168,3545,3},{3167,3545,3}, {3165,3543,3},{3162,3542,3},{3157,3542,3},{3155,3540,3},{3150,3540,3},{2948,3490,131}, {2953,3488,3},{2960,3487,3},{2965,3488,3},{2970,3485,3},{2975,3485,3},{3000,3475,3}, {3002,3475,3},{3037,3462,3},{3042,3455,3},{3048,3457,3},{3053,3452,3},{3058,3452,3}, {3068,3450,3},{3102,3435,3},{3122,3427,3},{3130,3437,3},{3137,3437,3},{3140,3438,3}, {3153,3457,3},{3155,3457,3},{3158,3448,3},{3175,3460,3},{3195,3472,3},{3215,3478,3}, {3242,3487,3},{3270,3492,3},{3273,3495,3},{3282,3495,3},{3283,3498,3},{3282,3502,3}, {3285,3507,3},{3292,3508,3},{3292,3507,3},{3297,3507,3},{3310,3510,3},{3310,3525,3}, {3310,3530,3},{3310,3532,3},{3307,3535,3},{3307,3543,3},{3310,3545,3},{3310,3550,3}, {3323,3553,3},{3328,3557,3},{3325,3562,3},{3323,3568,3},{3303,3563,3},{3293,3563,3}, {3290,3562,3},{3288,3558,3},{3287,3553,3},{3283,3552,3},{3282,3552,3},{3277,3555,3}, {3272,3557,3},{3272,3560,3},{3275,3563,3},{3268,3565,3},{3265,3560,3},{3265,3557,3}, {3260,3557,3},{3255,3557,3},{3250,3557,3},{3245,3557,3},{3240,3555,3},{3242,3550,3}, {3242,3543,3},{3247,3542,3},{3252,3540,3},{3252,3533,3},{3252,3527,3},{3255,3523,3}, {3252,3517,3},{3248,3512,3},{3247,3507,3},{3240,3505,3},{3235,3505,3},{3230,3502,3}, {3223,3503,3},{3220,3498,3},{3215,3498,3},{3210,3498,3},{3205,3500,3},{3200,3500,3}, {3198,3500,3},{3193,3500,3},{3188,3503,3},{3187,3497,3},{3182,3500,3},{3183,3507,3}, {3183,3510,3},{3182,3517,3},{3180,3522,3},{3175,3523,3},{3175,3517,3},{3172,3512,3}, {3168,3507,3},{3165,3502,3},{3162,3497,3},{3157,3495,3},{3150,3495,3},{3145,3492,3}, {3142,3488,3},{3137,3490,3},{3135,3497,3},{3137,3502,3},{3137,3508,3},{3137,3515,3}, {3137,3520,3},{3140,3525,3},{3143,3530,3},{3147,3535,3},{3150,3540,3},{3147,3540,3}, {3143,3538,3},{3140,3540,3},{3132,3542,3},{3132,3543,3},{3123,3540,3},{3123,3537,3}, {3122,3535,3},{3120,3537,3},{3118,3537,3},{3117,3537,3},{3115,3538,3},{3110,3540,3}, {3108,3545,3},{3102,3540,3},{3095,3540,3},{3092,3535,3},{3087,3533,3},{3082,3533,3}, {3078,3530,3},{3072,3528,3},{3060,3520,3},{3043,3515,3},{3035,3518,3},{3023,3513,3}, {3013,3517,3},{3005,3510,3},{2997,3508,3},{2995,3507,3},{2987,3508,3},{2973,3502,3}, {2963,3500,3},{2955,3497,3},{2950,3492,3},{2948,3490,3},{3122,3427,131}, {3133,3422,3},{3148,3440,3},{3158,3448,3},{3155,3457,3},{3153,3457,3},{3140,3438,3}, {3137,3437,3},{3130,3437,3},{3122,3427,3},{6057,2785,131},{6052,2780,3}, {6057,2778,3},{6057,2775,3},{6052,2775,3},{6050,2773,3},{6050,2775,3},{6048,2772,3}, {6048,2763,3},{6050,2768,3},{6052,2770,3},{6052,2767,3},{6050,2760,3},{6047,2763,3}, {6050,2748,3},{6047,2748,3},{6045,2750,3},{6047,2745,3},{6050,2737,3},{6050,2723,3}, {6052,2723,3},{6052,2732,3},{6055,2722,3},{6058,2722,3},{6057,2718,3},{6053,2720,3}, {6052,2718,3},{6052,2713,3},{6053,2712,3},{6052,2708,3},{6053,2703,3},{6048,2700,3}, {6048,2693,3},{6045,2697,3},{6048,2690,3},{6045,2687,3},{6045,2682,3},{6048,2680,3}, {6047,2675,3},{6043,2675,3},{6042,2670,3},{6045,2665,3},{6045,2658,3},{6042,2657,3}, {6045,2650,3},{6047,2648,3},{6055,2657,3},{6060,2657,3},{6050,2647,3},{6048,2645,3}, {6043,2648,3},{6042,2643,3},{6038,2642,3},{6042,2638,3},{6038,2638,3},{6040,2635,3}, {6037,2633,3},{6045,2625,3},{6043,2623,3},{6040,2627,3},{6042,2618,3},{6040,2615,3}, {6047,2597,3},{6048,2592,3},{6042,2605,3},{6038,2600,3},{6033,2612,3},{6030,2608,3}, {6030,2605,3},{6032,2605,3},{6035,2600,3},{6037,2600,3},{6035,2595,3},{6040,2583,3}, {6035,2592,3},{6032,2590,3},{6032,2588,3},{6023,2592,3},{6025,2588,3},{6028,2587,3}, {6028,2582,3},{6032,2575,3},{6028,2575,3},{6027,2585,3},{6025,2572,3},{6030,2565,3}, {6032,2565,3},{6032,2568,3},{6033,2565,3},{6033,2570,3},{6037,2567,3},{6033,2562,3}, {6032,2553,3},{6028,2555,3},{6023,2550,3},{6023,2537,3},{6027,2537,3},{6027,2532,3}, {6025,2532,3},{6023,2528,3},{6025,2520,3},{6022,2520,3},{6022,2515,3},{6020,2520,3}, {6020,2517,3},{6018,2518,3},{6017,2510,3},{6018,2505,3},{6015,2507,3},{6015,2500,3}, {6018,2502,3},{6020,2498,3},{6018,2495,3},{6017,2497,3},{6013,2497,3},{6013,2485,3}, {6015,2483,3},{6017,2488,3},{6018,2482,3},{6018,2480,3},{6017,2482,3},{6013,2478,3}, {6013,2468,3},{6010,2467,3},{6013,2463,3},{6015,2455,3},{6013,2455,3},{6012,2460,3}, {6008,2455,3},{6010,2462,3},{6007,2457,3},{6007,2458,3},{5998,2447,3},{5998,2442,3}, {6005,2445,3},{6000,2438,3},{6002,2437,3},{6000,2432,3},{6007,2437,3},{6007,2433,3}, {6007,2428,3},{6005,2428,3},{6003,2425,3},{6005,2417,3},{6002,2418,3},{6003,2410,3}, {6002,2408,3},{6000,2400,3},{6003,2400,3},{6000,2395,3},{6000,2388,3},{5995,2380,3}, {5997,2378,3},{5997,2365,3},{5995,2362,3},{5997,2358,3},{5995,2343,3},{6002,2348,3}, {6003,2355,3},{6007,2353,3},{6007,2350,3},{6000,2345,3},{5993,2335,3},{5987,2320,3}, {5983,2320,3},{5982,2317,3},{5980,2288,3},{5985,2302,3},{5988,2317,3},{5992,2325,3}, {6002,2332,3},{6002,2330,3},{5993,2322,3},{5995,2318,3},{5993,2317,3},{5995,2313,3}, {5992,2310,3},{5997,2312,3},{6000,2322,3},{6003,2327,3},{6005,2318,3},{6003,2305,3}, {6007,2298,3},{6012,2305,3},{6013,2302,3},{6010,2297,3},{6012,2297,3},{6015,2288,3}, {6017,2288,3},{6018,2287,3},{6022,2290,3},{6028,2302,3},{6032,2303,3},{6035,2308,3}, {6035,2305,3},{6030,2300,3},{6030,2290,3},{6025,2277,3},{6020,2253,3},{6023,2258,3}, {6025,2257,3},{6027,2263,3},{6028,2263,3},{6025,2253,3},{6025,2245,3},{6040,2263,3}, {6037,2258,3},{6037,2247,3},{6040,2248,3},{6040,2247,3},{6037,2228,3},{6043,2218,3}, {6043,2212,3},{6047,2210,3},{6043,2205,3},{6047,2198,3},{6048,2198,3},{6048,2195,3}, {6052,2195,3},{6052,2183,3},{6048,2187,3},{6048,2178,3},{6057,2180,3},{6058,2182,3}, {6058,2185,3},{6060,2183,3},{6062,2183,3},{6058,2173,3},{6057,2167,3},{6050,2165,3}, {6048,2158,3},{6048,2157,3},{6052,2158,3},{6057,2152,3},{6057,2158,3},{6057,2150,3}, {6057,2145,3},{6058,2142,3},{6060,2142,3},{6060,2147,3},{6065,2137,3},{6068,2135,3}, {6068,2143,3},{6072,2142,3},{6073,2147,3},{6075,2138,3},{6077,2142,3},{6078,2137,3}, {6082,2137,3},{6082,2132,3},{6085,2135,3},{6087,2132,3},{6087,2143,3},{6088,2137,3}, {6090,2135,3},{6092,2138,3},{6090,2142,3},{6105,2130,3},{6103,2140,3},{6105,2140,3}, {6105,2137,3},{6107,2138,3},{6105,2148,3},{6108,2145,3},{6110,2147,3},{6113,2143,3}, {6115,2147,3},{6115,2145,3},{6117,2145,3},{6117,2150,3},{6120,2150,3},{6120,2157,3}, {6123,2153,3},{6125,2148,3},{6127,2152,3},{6127,2150,3},{6128,2155,3},{6132,2155,3}, {6137,2153,3},{6140,2145,3},{6142,2157,3},{6145,2152,3},{6148,2142,3},{6148,2158,3}, {6152,2157,3},{6152,2152,3},{6152,2150,3},{6155,2145,3},{6157,2150,3},{6152,2172,3}, {6165,2153,3},{6170,2152,3},{6172,2153,3},{6170,2158,3},{6175,2147,3},{6180,2148,3}, {6188,2140,3},{6190,2142,3},{6193,2138,3},{6193,2132,3},{6195,2128,3},{6198,2128,3}, {6198,2123,3},{6212,2128,3},{6210,2132,3},{6217,2133,3},{6218,2138,3},{6220,2138,3}, {6223,2135,3},{6227,2135,3},{6223,2132,3},{6235,2133,3},{6233,2128,3},{6237,2125,3}, {6240,2127,3},{6237,2122,3},{6233,2122,3},{6240,2118,3},{6242,2120,3},{6240,2113,3}, {6245,2115,3},{6245,2112,3},{6250,2112,3},{6252,2115,3},{6255,2113,3},{6258,2122,3}, {6260,2117,3},{6260,2112,3},{6262,2110,3},{6260,2107,3},{6267,2108,3},{6268,2113,3}, {6272,2117,3},{6273,2113,3},{6277,2110,3},{6278,2113,3},{6278,2117,3},{6280,2120,3}, {6287,2123,3},{6287,2125,3},{6287,2137,3},{6293,2142,3},{6295,2147,3},{6303,2143,3}, {6305,2143,3},{6303,2148,3},{6307,2150,3},{6302,2160,3},{6302,2168,3},{6308,2157,3}, {6312,2157,3},{6312,2152,3},{6317,2150,3},{6317,2155,3},{6318,2150,3},{6322,2150,3}, {6323,2155,3},{6320,2163,3},{6320,2165,3},{6322,2167,3},{6320,2175,3},{6322,2170,3}, {6325,2175,3},{6323,2180,3},{6325,2188,3},{6317,2188,3},{6313,2197,3},{6318,2197,3}, {6320,2200,3},{6323,2203,3},{6323,2205,3},{6322,2208,3},{6323,2213,3},{6322,2217,3}, {6325,2218,3},{6323,2222,3},{6328,2225,3},{6330,2228,3},{6327,2233,3},{6332,2237,3}, {6335,2235,3},{6343,2218,3},{6345,2218,3},{6347,2225,3},{6342,2233,3},{6342,2240,3}, {6348,2227,3},{6352,2228,3},{6352,2233,3},{6350,2233,3},{6348,2238,3},{6345,2240,3}, {6355,2245,3},{6357,2250,3},{6357,2255,3},{6362,2250,3},{6365,2253,3},{6365,2258,3}, {6370,2258,3},{6368,2263,3},{6370,2265,3},{6370,2268,3},{6363,2273,3},{6363,2278,3}, {6363,2282,3},{6368,2285,3},{6370,2290,3},{6372,2283,3},{6372,2290,3},{6373,2287,3}, {6375,2293,3},{6380,2290,3},{6380,2295,3},{6375,2300,3},{6382,2298,3},{6385,2307,3}, {6385,2313,3},{6387,2317,3},{6388,2315,3},{6390,2338,3},{6392,2342,3},{6395,2337,3}, {6403,2338,3},{6405,2338,3},{6405,2342,3},{6403,2347,3},{6403,2350,3},{6402,2362,3}, {6405,2362,3},{6410,2357,3},{6410,2362,3},{6413,2365,3},{6417,2372,3},{6420,2372,3}, {6422,2378,3},{6425,2385,3},{6427,2388,3},{6425,2395,3},{6428,2392,3},{6433,2398,3}, {6438,2400,3},{6440,2408,3},{6443,2410,3},{6445,2422,3},{6448,2422,3},{6448,2427,3}, {6452,2428,3},{6452,2435,3},{6463,2438,3},{6468,2443,3},{6472,2453,3},{6477,2453,3}, {6477,2458,3},{6480,2455,3},{6480,2458,3},{6478,2468,3},{6482,2467,3},{6483,2473,3}, {6485,2473,3},{6487,2492,3},{6492,2508,3},{6490,2512,3},{6488,2512,3},{6488,2517,3}, {6483,2520,3},{6483,2527,3},{6482,2523,3},{6482,2532,3},{6483,2537,3},{6490,2537,3}, {6490,2530,3},{6497,2518,3},{6498,2522,3},{6498,2532,3},{6495,2538,3},{6495,2542,3}, {6495,2545,3},{6508,2537,3},{6512,2522,3},{6515,2522,3},{6518,2527,3},{6522,2528,3}, {6522,2533,3},{6523,2530,3},{6525,2532,3},{6525,2528,3},{6533,2533,3},{6538,2527,3}, {6537,2530,3},{6542,2535,3},{6548,2535,3},{6552,2532,3},{6555,2522,3},{6555,2512,3}, {6562,2507,3},{6562,2493,3},{6565,2490,3},{6565,2478,3},{6563,2473,3},{6563,2467,3}, {6568,2467,3},{6570,2460,3},{6573,2455,3},{6578,2455,3},{6582,2458,3},{6588,2463,3}, {6588,2470,3},{6592,2470,3},{6588,2462,3},{6582,2455,3},{6580,2453,3},{6580,2445,3}, {6577,2442,3},{6582,2423,3},{6578,2425,3},{6577,2423,3},{6578,2418,3},{6582,2417,3}, {6613,2393,3},{6620,2373,3},{6632,2367,3},{6637,2368,3},{6645,2365,3},{6648,2373,3}, {6650,2373,3},{6652,2380,3},{6653,2380,3},{6655,2388,3},{6675,2388,3},{6678,2393,3}, {6680,2400,3},{6688,2393,3},{6697,2383,3},{6700,2373,3},{6710,2367,3},{6715,2357,3}, {6720,2362,3},{6722,2358,3},{6727,2360,3},{6728,2375,3},{6732,2377,3},{6737,2375,3}, {6742,2377,3},{6743,2363,3},{6745,2355,3},{6743,2348,3},{6747,2343,3},{6755,2347,3}, {6758,2355,3},{6773,2348,3},{6787,2348,3},{6788,2352,3},{6792,2365,3},{6795,2365,3}, {6798,2355,3},{6800,2352,3},{6805,2340,3},{6812,2333,3},{6815,2328,3},{6812,2315,3}, {6823,2315,3},{6828,2307,3},{6833,2290,3},{6838,2282,3},{6838,2277,3},{6842,2267,3}, {6842,2263,3},{6845,2247,3},{6845,2238,3},{6847,2237,3},{6847,2232,3},{6847,2217,3}, {6848,2205,3},{6857,2190,3},{6858,2175,3},{6865,2162,3},{6868,2147,3},{6875,2140,3}, {6875,2130,3},{6882,2122,3},{6887,2108,3},{6888,2090,3},{6893,2088,3},{6895,2093,3}, {6900,2087,3},{6905,2058,3},{6910,2073,3},{6903,2103,3},{6905,2108,3},{6910,2112,3}, {6913,2105,3},{6922,2103,3},{6933,2132,3},{6928,2168,3},{6885,2235,3},{6872,2240,3}, {6873,2255,3},{6868,2280,3},{6870,2307,3},{6863,2320,3},{6868,2345,3},{6872,2368,3}, {6883,2383,3},{6883,2393,3},{6882,2405,3},{6878,2412,3},{6877,2418,3},{6875,2420,3}, {6872,2433,3},{6870,2452,3},{6867,2475,3},{6855,2490,3},{6860,2495,3},{6863,2510,3}, {6877,2515,3},{6882,2522,3},{6888,2542,3},{6888,2562,3},{6898,2575,3},{6902,2582,3}, {6912,2573,3},{6925,2572,3},{6935,2575,3},{6938,2583,3},{6943,2583,3},{6948,2587,3}, {6955,2585,3},{6957,2593,3},{6958,2595,3},{6963,2598,3},{6967,2595,3},{6970,2598,3}, {6975,2615,3},{6980,2625,3},{6985,2638,3},{6993,2647,3},{6995,2662,3},{6993,2672,3}, {6995,2680,3},{6995,2685,3},{6993,2687,3},{6990,2705,3},{6993,2720,3},{6995,2730,3}, {6998,2730,3},{7003,2753,3},{7007,2757,3},{7007,2775,3},{7008,2790,3},{7008,2795,3}, {7000,2798,3},{6993,2810,3},{6992,2817,3},{6988,2832,3},{6983,2838,3},{6970,2910,3}, {6968,2913,3},{6948,2930,3},{6937,2912,3},{6923,2882,3},{6912,2878,3},{6903,2900,3}, {6905,2895,3},{6903,2885,3},{6892,2845,3},{6890,2843,3},{6887,2848,3},{6888,2873,3}, {6885,2882,3},{6873,2875,3},{6853,2845,3},{6820,2870,3},{6808,2935,3},{6782,2970,3}, {6770,3003,3},{6767,2998,3},{6757,2998,3},{6752,2993,3},{6730,2953,3},{6702,2913,3}, {6692,2908,3},{6683,2910,3},{6670,2933,3},{6658,2943,3},{6650,2955,3},{6632,2963,3}, {6613,2992,3},{6598,2998,3},{6583,3010,3},{6572,3013,3},{6567,3012,3},{6568,3002,3}, {6563,2972,3},{6557,2987,3},{6552,2975,3},{6535,2975,3},{6525,2960,3},{6522,2963,3}, {6522,2985,3},{6518,2987,3},{6515,2982,3},{6512,2987,3},{6507,2963,3},{6500,2960,3}, {6492,2965,3},{6480,2980,3},{6480,3005,3},{6477,3013,3},{6473,3012,3},{6467,3022,3}, {6463,3018,3},{6458,3007,3},{6452,3005,3},{6447,3008,3},{6440,3005,3},{6435,3015,3}, {6432,3038,3},{6425,3045,3},{6425,3057,3},{6422,3058,3},{6418,3055,3},{6408,3062,3}, {6402,3055,3},{6392,3035,3},{6382,3027,3},{6375,3002,3},{6373,3000,3},{6360,3025,3}, {6355,3040,3},{6348,3048,3},{6340,3078,3},{6335,3092,3},{6332,3097,3},{6322,3122,3}, {6312,3128,3},{6298,3152,3},{6293,3153,3},{6292,3158,3},{6280,3147,3},{6265,3138,3}, {6262,3132,3},{6250,3127,3},{6247,3117,3},{6245,3115,3},{6237,3098,3},{6230,3093,3}, {6220,3065,3},{6217,3063,3},{6198,3033,3},{6173,2998,3},{6165,2983,3},{6160,2982,3}, {6152,2965,3},{6148,2953,3},{6143,2948,3},{6137,2937,3},{6125,2922,3},{6110,2882,3}, {6103,2870,3},{6097,2863,3},{6095,2852,3},{6087,2835,3},{6080,2827,3},{6077,2815,3}, {6072,2810,3},{6057,2785,3},{5898,1143,131},{5910,1137,3},{5912,1130,3}, {5910,1122,3},{5912,1117,3},{5915,1120,3},{5915,1118,3},{5920,1117,3},{5918,1113,3}, {5917,1115,3},{5913,1112,3},{5917,1108,3},{5913,1110,3},{5912,1107,3},{5913,1103,3}, {5915,1103,3},{5917,1100,3},{5918,1095,3},{5913,1095,3},{5913,1090,3},{5920,1090,3}, {5918,1085,3},{5915,1083,3},{5918,1080,3},{5918,1078,3},{5922,1078,3},{5925,1077,3}, {5922,1073,3},{5928,1075,3},{5932,1078,3},{5933,1073,3},{5932,1072,3},{5932,1068,3}, {5937,1065,3},{5940,1065,3},{5942,1058,3},{5947,1062,3},{5948,1067,3},{5943,1067,3}, {5947,1070,3},{5952,1065,3},{5968,1062,3},{5968,1058,3},{5973,1055,3},{5985,1063,3}, {5983,1067,3},{5973,1072,3},{5983,1077,3},{5988,1075,3},{5990,1068,3},{5988,1067,3}, {5990,1062,3},{5987,1060,3},{5988,1057,3},{5987,1050,3},{5985,1047,3},{5983,1050,3}, {5973,1050,3},{5968,1052,3},{5963,1060,3},{5960,1062,3},{5955,1055,3},{5952,1045,3}, {5953,1042,3},{5967,1042,3},{5970,1037,3},{5970,1033,3},{5973,1030,3},{5973,1027,3}, {5973,1022,3},{5970,1027,3},{5967,1038,3},{5958,1040,3},{5955,1038,3},{5952,1037,3}, {5955,1023,3},{5945,1037,3},{5945,1043,3},{5942,1047,3},{5935,1045,3},{5932,1052,3}, {5927,1048,3},{5923,1045,3},{5925,1043,3},{5927,1037,3},{5922,1037,3},{5920,1033,3}, {5912,1032,3},{5913,1028,3},{5905,1030,3},{5910,1027,3},{5903,1027,3},{5912,1023,3}, {5907,1020,3},{5902,1022,3},{5900,1013,3},{5902,1012,3},{5903,1017,3},{5905,1017,3}, {5905,1013,3},{5902,1007,3},{5903,1003,3},{5897,1002,3},{5895,983,3},{5897,982,3}, {5897,985,3},{5900,985,3},{5905,978,3},{5903,975,3},{5908,970,3},{5905,968,3}, {5907,965,3},{5912,963,3},{5913,963,3},{5912,960,3},{5912,953,3},{5908,962,3}, {5903,963,3},{5902,972,3},{5898,972,3},{5900,970,3},{5898,965,3},{5895,968,3}, {5895,965,3},{5893,960,3},{5892,958,3},{5893,947,3},{5890,952,3},{5890,950,3}, {5890,947,3},{5888,945,3},{5890,938,3},{5888,937,3},{5888,940,3},{5887,940,3}, {5885,933,3},{5887,930,3},{5883,927,3},{5882,930,3},{5885,940,3},{5883,945,3}, {5878,937,3},{5878,940,3},{5873,930,3},{5873,907,3},{5872,907,3},{5872,917,3}, {5873,910,3},{5872,922,3},{5870,920,3},{5868,905,3},{5868,918,3},{5867,920,3}, {5860,903,3},{5858,897,3},{5860,892,3},{5858,895,3},{5855,895,3},{5848,883,3}, {5843,872,3},{5837,868,3},{5837,863,3},{5832,860,3},{5835,858,3},{5828,850,3}, {5825,850,3},{5825,843,3},{5827,840,3},{5823,840,3},{5825,837,3},{5820,825,3}, {5818,827,3},{5815,822,3},{5812,822,3},{5815,817,3},{5810,813,3},{5810,812,3}, {5810,805,3},{5813,803,3},{5815,808,3},{5822,802,3},{5815,802,3},{5812,795,3}, {5808,795,3},{5807,788,3},{5807,773,3},{5805,770,3},{5807,767,3},{5805,767,3}, {5805,763,3},{5802,762,3},{5802,760,3},{5803,758,3},{5802,758,3},{5800,748,3}, {5803,727,3},{5805,725,3},{5803,717,3},{5805,715,3},{5803,707,3},{5800,707,3}, {5798,700,3},{5803,700,3},{5805,705,3},{5807,708,3},{5805,712,3},{5810,715,3}, {5803,695,3},{5808,698,3},{5810,700,3},{5810,697,3},{5805,692,3},{5808,692,3}, {5810,690,3},{5807,688,3},{5808,680,3},{5812,685,3},{5812,695,3},{5813,698,3}, {5812,690,3},{5815,682,3},{5818,680,3},{5818,678,3},{5812,682,3},{5812,673,3}, {5818,672,3},{5812,668,3},{5807,678,3},{5805,677,3},{5807,660,3},{5812,653,3}, {5813,657,3},{5817,660,3},{5817,667,3},{5818,665,3},{5820,667,3},{5827,685,3}, {5822,668,3},{5828,663,3},{5828,665,3},{5830,670,3},{5832,670,3},{5832,662,3}, {5825,662,3},{5823,660,3},{5827,647,3},{5827,633,3},{5830,628,3},{5838,602,3}, {5842,597,3},{5847,595,3},{5848,575,3},{5852,572,3},{5855,563,3},{5862,557,3}, {5867,552,3},{5870,552,3},{5875,545,3},{5880,552,3},{5887,553,3},{5888,557,3}, {5893,553,3},{5895,555,3},{5890,562,3},{5892,563,3},{5897,555,3},{5898,558,3}, {5898,553,3},{5903,555,3},{5897,572,3},{5887,572,3},{5893,575,3},{5892,582,3}, {5895,582,3},{5897,585,3},{5893,593,3},{5890,595,3},{5885,608,3},{5883,617,3}, {5883,622,3},{5885,613,3},{5888,605,3},{5895,612,3},{5902,637,3},{5905,662,3}, {5903,640,3},{5900,615,3},{5897,610,3},{5890,603,3},{5897,597,3},{5898,600,3}, {5898,605,3},{5902,602,3},{5902,593,3},{5907,587,3},{5910,590,3},{5915,612,3}, {5913,602,3},{5917,600,3},{5925,617,3},{5927,627,3},{5932,633,3},{5932,647,3}, {5932,633,3},{5928,625,3},{5925,612,3},{5930,608,3},{5930,623,3},{5933,623,3}, {5937,620,3},{5933,620,3},{5932,618,3},{5933,615,3},{5932,610,3},{5933,605,3}, {5932,602,3},{5933,600,3},{5938,603,3},{5943,618,3},{5950,623,3},{5955,645,3}, {5955,655,3},{5957,638,3},{5952,625,3},{5965,632,3},{5965,630,3},{5953,622,3}, {5945,615,3},{5942,607,3},{5940,602,3},{5943,598,3},{5940,597,3},{5938,600,3}, {5935,593,3},{5942,588,3},{5945,588,3},{5945,598,3},{5948,615,3},{5948,588,3}, {5953,580,3},{5952,578,3},{5947,580,3},{5945,573,3},{5947,570,3},{5943,572,3}, {5940,565,3},{5943,578,3},{5938,587,3},{5935,585,3},{5933,572,3},{5930,568,3}, {5928,562,3},{5933,565,3},{5940,560,3},{5942,555,3},{5940,558,3},{5933,558,3}, {5927,552,3},{5930,543,3},{5940,543,3},{5937,540,3},{5930,542,3},{5930,538,3}, {5942,533,3},{5935,533,3},{5933,532,3},{5935,528,3},{5940,527,3},{5943,520,3}, {5950,518,3},{5952,525,3},{5953,520,3},{5958,527,3},{5965,537,3},{5960,542,3}, {5962,543,3},{5967,540,3},{5973,548,3},{5970,552,3},{5962,548,3},{5957,550,3}, {5953,545,3},{5953,542,3},{5950,542,3},{5955,552,3},{5958,553,3},{5963,553,3}, {5967,557,3},{5965,572,3},{5963,573,3},{5960,572,3},{5960,577,3},{5965,577,3}, {5965,588,3},{5967,588,3},{5967,578,3},{5968,573,3},{5972,582,3},{5973,588,3}, {5977,590,3},{5975,593,3},{5973,595,3},{5975,607,3},{5982,622,3},{5985,630,3}, {5983,620,3},{5977,605,3},{5975,598,3},{5977,595,3},{5978,593,3},{5982,597,3}, {5985,595,3},{5985,597,3},{5985,593,3},{5978,592,3},{5977,583,3},{5983,570,3}, {5985,570,3},{5985,572,3},{5985,570,3},{5985,565,3},{5987,573,3},{5990,573,3}, {5993,577,3},{5995,597,3},{5997,598,3},{6000,595,3},{6007,603,3},{6012,628,3}, {6013,625,3},{6015,625,3},{6012,618,3},{6010,612,3},{6018,607,3},{6022,615,3}, {6027,622,3},{6030,620,3},{6032,627,3},{6033,633,3},{6037,633,3},{6038,643,3}, {6042,647,3},{6043,653,3},{6042,663,3},{6027,653,3},{6012,650,3},{6008,652,3}, {6017,653,3},{6023,658,3},{6027,657,3},{6037,665,3},{6038,670,3},{6043,673,3}, {6047,682,3},{6048,693,3},{6047,705,3},{6050,710,3},{6050,690,3},{6055,697,3}, {6058,700,3},{6053,690,3},{6050,685,3},{6047,673,3},{6045,670,3},{6043,663,3}, {6045,660,3},{6047,660,3},{6050,670,3},{6052,668,3},{6047,657,3},{6042,638,3}, {6038,628,3},{6040,623,3},{6047,618,3},{6042,618,3},{6037,625,3},{6037,612,3}, {6035,618,3},{6030,615,3},{6028,617,3},{6025,613,3},{6023,612,3},{6027,600,3}, {6017,592,3},{6017,585,3},{6003,588,3},{6000,578,3},{6002,577,3},{5998,575,3}, {6000,570,3},{6007,568,3},{6007,577,3},{6008,580,3},{6008,575,3},{6007,575,3}, {6008,572,3},{6010,570,3},{6013,573,3},{6017,570,3},{6020,578,3},{6018,567,3}, {6015,565,3},{6013,558,3},{6015,555,3},{6017,558,3},{6020,557,3},{6023,570,3}, {6023,560,3},{6027,563,3},{6023,558,3},{6025,557,3},{6035,567,3},{6037,572,3}, {6038,573,3},{6038,572,3},{6035,562,3},{6022,553,3},{6017,543,3},{6013,542,3}, {6015,535,3},{6017,537,3},{6018,530,3},{6020,535,3},{6022,530,3},{6020,522,3}, {6027,532,3},{6028,517,3},{6032,517,3},{6032,523,3},{6035,520,3},{6033,515,3}, {6035,515,3},{6037,515,3},{6038,520,3},{6038,530,3},{6047,523,3},{6052,530,3}, {6042,550,3},{6042,563,3},{6045,565,3},{6045,570,3},{6047,572,3},{6063,572,3}, {6065,575,3},{6067,572,3},{6070,575,3},{6070,567,3},{6075,568,3},{6070,560,3}, {6068,553,3},{6063,553,3},{6060,540,3},{6057,537,3},{6055,527,3},{6065,508,3}, {6067,513,3},{6062,523,3},{6065,518,3},{6070,508,3},{6070,515,3},{6072,513,3}, {6073,505,3},{6077,502,3},{6080,493,3},{6080,500,3},{6077,505,3},{6072,528,3}, {6063,533,3},{6063,537,3},{6067,535,3},{6063,543,3},{6067,537,3},{6068,540,3}, {6065,543,3},{6073,537,3},{6075,525,3},{6077,523,3},{6080,528,3},{6080,535,3}, {6083,533,3},{6085,537,3},{6087,550,3},{6087,553,3},{6088,547,3},{6090,548,3}, {6087,533,3},{6083,532,3},{6082,525,3},{6083,517,3},{6085,517,3},{6080,515,3}, {6082,512,3},{6083,513,3},{6083,505,3},{6095,498,3},{6097,500,3},{6095,508,3}, {6088,508,3},{6087,510,3},{6095,510,3},{6097,515,3},{6098,513,3},{6097,508,3}, {6098,500,3},{6103,500,3},{6107,507,3},{6105,523,3},{6103,528,3},{6103,542,3}, {6100,545,3},{6105,547,3},{6107,557,3},{6105,563,3},{6108,560,3},{6108,568,3}, {6112,577,3},{6110,578,3},{6107,578,3},{6108,583,3},{6112,583,3},{6112,612,3}, {6110,627,3},{6107,627,3},{6103,625,3},{6107,630,3},{6107,637,3},{6102,633,3}, {6100,637,3},{6107,640,3},{6110,655,3},{6117,662,3},{6115,667,3},{6113,682,3}, {6113,685,3},{6108,687,3},{6108,695,3},{6100,700,3},{6093,687,3},{6097,703,3}, {6093,713,3},{6087,712,3},{6090,717,3},{6095,717,3},{6097,707,3},{6110,700,3}, {6112,718,3},{6113,723,3},{6110,743,3},{6112,738,3},{6115,735,3},{6118,743,3}, {6120,765,3},{6123,770,3},{6123,763,3},{6120,760,3},{6120,738,3},{6122,735,3}, {6127,733,3},{6128,730,3},{6133,737,3},{6137,737,3},{6148,757,3},{6140,735,3}, {6138,733,3},{6138,727,3},{6135,732,3},{6128,723,3},{6127,728,3},{6122,730,3}, {6118,737,3},{6117,730,3},{6118,722,3},{6117,717,3},{6115,715,3},{6113,700,3}, {6112,695,3},{6112,693,3},{6115,692,3},{6118,700,3},{6117,692,3},{6118,683,3}, {6118,672,3},{6122,657,3},{6123,657,3},{6127,663,3},{6133,670,3},{6140,670,3}, {6127,658,3},{6125,655,3},{6128,652,3},{6127,650,3},{6120,653,3},{6120,647,3}, {6115,652,3},{6113,650,3},{6112,643,3},{6112,635,3},{6113,623,3},{6115,618,3}, {6118,618,3},{6115,613,3},{6115,600,3},{6117,597,3},{6118,603,3},{6120,603,3}, {6117,592,3},{6115,578,3},{6120,578,3},{6115,575,3},{6113,567,3},{6113,555,3}, {6110,548,3},{6107,540,3},{6110,533,3},{6112,530,3},{6110,520,3},{6113,517,3}, {6113,522,3},{6115,517,3},{6113,512,3},{6117,505,3},{6118,510,3},{6117,522,3}, {6118,523,3},{6122,515,3},{6122,500,3},{6123,507,3},{6123,500,3},{6125,500,3}, {6125,495,3},{6130,510,3},{6130,517,3},{6133,517,3},{6133,522,3},{6132,528,3}, {6125,533,3},{6132,532,3},{6135,527,3},{6137,537,3},{6137,545,3},{6137,563,3}, {6138,540,3},{6137,527,3},{6135,515,3},{6132,505,3},{6132,503,3},{6133,507,3}, {6135,500,3},{6138,500,3},{6140,505,3},{6137,507,3},{6140,508,3},{6142,512,3}, {6140,498,3},{6142,495,3},{6145,508,3},{6145,518,3},{6147,518,3},{6145,532,3}, {6145,533,3},{6147,532,3},{6143,553,3},{6145,555,3},{6145,562,3},{6148,567,3}, {6145,580,3},{6148,577,3},{6150,570,3},{6148,563,3},{6145,555,3},{6145,545,3}, {6148,543,3},{6148,528,3},{6152,515,3},{6155,515,3},{6155,535,3},{6158,515,3}, {6160,527,3},{6160,533,3},{6158,532,3},{6158,542,3},{6160,537,3},{6162,523,3}, {6160,510,3},{6163,535,3},{6165,535,3},{6163,525,3},{6163,497,3},{6168,493,3}, {6173,498,3},{6175,505,3},{6170,513,3},{6172,517,3},{6175,513,3},{6177,523,3}, {6177,507,3},{6182,527,3},{6183,525,3},{6183,533,3},{6185,528,3},{6187,528,3}, {6190,535,3},{6192,542,3},{6188,567,3},{6185,575,3},{6183,570,3},{6182,563,3}, {6183,568,3},{6185,593,3},{6177,593,3},{6173,590,3},{6177,595,3},{6183,597,3}, {6180,605,3},{6177,610,3},{6177,617,3},{6177,618,3},{6183,607,3},{6183,627,3}, {6182,635,3},{6180,647,3},{6182,653,3},{6187,658,3},{6187,668,3},{6183,678,3}, {6187,682,3},{6188,670,3},{6190,667,3},{6187,655,3},{6182,648,3},{6185,628,3}, {6183,612,3},{6187,603,3},{6188,590,3},{6185,578,3},{6188,573,3},{6192,597,3}, {6192,567,3},{6192,560,3},{6192,545,3},{6193,543,3},{6190,515,3},{6192,510,3}, {6197,515,3},{6197,517,3},{6195,518,3},{6197,522,3},{6195,523,3},{6202,530,3}, {6202,540,3},{6210,520,3},{6210,510,3},{6213,513,3},{6215,507,3},{6218,508,3}, {6218,515,3},{6222,515,3},{6222,517,3},{6217,528,3},{6212,528,3},{6205,545,3}, {6200,547,3},{6207,553,3},{6207,558,3},{6207,560,3},{6212,538,3},{6218,542,3}, {6218,548,3},{6217,563,3},{6212,567,3},{6208,575,3},{6213,568,3},{6217,567,3}, {6220,587,3},{6218,592,3},{6215,593,3},{6210,592,3},{6205,585,3},{6202,585,3}, {6207,593,3},{6213,597,3},{6210,605,3},{6207,605,3},{6208,615,3},{6205,635,3}, {6207,635,3},{6208,627,3},{6210,608,3},{6220,592,3},{6223,593,3},{6220,600,3}, {6220,607,3},{6222,600,3},{6225,595,3},{6230,602,3},{6237,632,3},{6227,640,3}, {6225,645,3},{6215,657,3},{6210,653,3},{6213,658,3},{6215,658,3},{6232,642,3}, {6237,638,3},{6240,643,3},{6240,650,3},{6235,657,3},{6240,655,3},{6245,670,3}, {6242,688,3},{6235,688,3},{6228,698,3},{6218,702,3},{6213,695,3},{6210,695,3}, {6208,698,3},{6208,703,3},{6212,713,3},{6210,718,3},{6212,717,3},{6213,713,3}, {6210,703,3},{6212,697,3},{6218,703,3},{6227,702,3},{6227,712,3},{6225,722,3}, {6228,730,3},{6223,742,3},{6228,737,3},{6228,717,3},{6232,698,3},{6237,692,3}, {6237,697,3},{6245,685,3},{6245,677,3},{6248,678,3},{6247,672,3},{6248,670,3}, {6243,655,3},{6242,638,3},{6245,633,3},{6245,623,3},{6247,623,3},{6248,643,3}, {6248,668,3},{6252,662,3},{6250,650,3},{6252,648,3},{6252,653,3},{6253,657,3}, {6253,653,3},{6252,627,3},{6258,625,3},{6262,633,3},{6260,643,3},{6262,655,3}, {6257,662,3},{6262,662,3},{6260,665,3},{6265,675,3},{6260,688,3},{6257,690,3}, {6262,693,3},{6265,690,3},{6265,708,3},{6262,703,3},{6262,710,3},{6253,713,3}, {6257,715,3},{6260,713,3},{6263,717,3},{6260,735,3},{6255,743,3},{6255,750,3}, {6250,753,3},{6255,757,3},{6257,778,3},{6258,772,3},{6257,752,3},{6257,745,3}, {6262,742,3},{6263,748,3},{6258,750,3},{6258,752,3},{6262,753,3},{6265,750,3}, {6267,752,3},{6273,780,3},{6273,790,3},{6272,797,3},{6273,798,3},{6270,815,3}, {6275,805,3},{6277,807,3},{6273,768,3},{6268,750,3},{6268,737,3},{6272,742,3}, {6273,737,3},{6277,750,3},{6278,768,3},{6280,763,3},{6278,747,3},{6275,737,3}, {6272,697,3},{6275,698,3},{6277,695,3},{6280,700,3},{6282,707,3},{6282,722,3}, {6283,715,3},{6285,713,3},{6283,700,3},{6290,695,3},{6292,688,3},{6293,700,3}, {6298,710,3},{6302,727,3},{6295,742,3},{6292,745,3},{6292,747,3},{6293,757,3}, {6297,765,3},{6297,777,3},{6295,778,3},{6290,768,3},{6297,798,3},{6293,808,3}, {6282,817,3},{6278,830,3},{6272,842,3},{6272,848,3},{6265,855,3},{6267,857,3}, {6272,855,3},{6278,835,3},{6280,832,3},{6283,818,3},{6288,817,3},{6290,820,3}, {6292,818,3},{6295,813,3},{6300,800,3},{6303,797,3},{6302,795,3},{6300,797,3}, {6300,790,3},{6300,788,3},{6305,797,3},{6308,798,3},{6310,808,3},{6307,813,3}, {6303,813,3},{6297,833,3},{6293,830,3},{6287,833,3},{6288,840,3},{6283,853,3}, {6287,853,3},{6288,843,3},{6288,847,3},{6287,858,3},{6282,870,3},{6288,862,3}, {6290,848,3},{6295,842,3},{6297,845,3},{6297,865,3},{6298,867,3},{6298,852,3}, {6302,858,3},{6297,837,3},{6300,832,3},{6302,847,3},{6302,832,3},{6303,823,3}, {6307,822,3},{6312,817,3},{6313,822,3},{6308,828,3},{6308,832,3},{6312,832,3}, {6313,823,3},{6315,830,3},{6313,837,3},{6313,853,3},{6310,863,3},{6312,863,3}, {6313,857,3},{6317,857,3},{6318,863,3},{6320,893,3},{6320,860,3},{6325,858,3}, {6330,848,3},{6333,877,3},{6338,865,3},{6340,865,3},{6342,868,3},{6340,872,3}, {6342,873,3},{6343,882,3},{6340,888,3},{6342,888,3},{6342,900,3},{6343,897,3}, {6347,902,3},{6342,912,3},{6337,915,3},{6335,910,3},{6330,908,3},{6335,923,3}, {6337,940,3},{6340,948,3},{6338,942,3},{6337,920,3},{6338,917,3},{6343,918,3}, {6348,948,3},{6347,933,3},{6350,927,3},{6347,927,3},{6345,928,3},{6345,922,3}, {6347,915,3},{6350,915,3},{6350,923,3},{6352,923,3},{6353,925,3},{6353,930,3}, {6357,937,3},{6352,937,3},{6352,942,3},{6357,947,3},{6357,953,3},{6353,957,3}, {6358,955,3},{6358,950,3},{6363,972,3},{6353,982,3},{6352,982,3},{6343,997,3}, {6338,993,3},{6332,983,3},{6335,1000,3},{6333,1010,3},{6333,1023,3},{6332,1025,3}, {6327,1027,3},{6332,1028,3},{6333,1025,3},{6335,1012,3},{6338,1005,3},{6343,1008,3}, {6347,1030,3},{6343,1037,3},{6345,1045,3},{6343,1057,3},{6345,1068,3},{6342,1080,3}, {6343,1083,3},{6347,1092,3},{6348,1078,3},{6352,1077,3},{6353,1080,3},{6355,1092,3}, {6357,1092,3},{6357,1085,3},{6358,1090,3},{6360,1092,3},{6360,1088,3},{6355,1067,3}, {6360,1072,3},{6363,1085,3},{6370,1097,3},{6370,1115,3},{6377,1125,3},{6378,1145,3}, {6385,1142,3},{6385,1135,3},{6387,1127,3},{6385,1113,3},{6385,1110,3},{6390,1110,3}, {6392,1120,3},{6397,1127,3},{6398,1143,3},{6400,1150,3},{6402,1150,3},{6402,1145,3}, {6403,1142,3},{6402,1135,3},{6403,1125,3},{6407,1123,3},{6410,1135,3},{6412,1130,3}, {6407,1122,3},{6402,1120,3},{6398,1112,3},{6388,1080,3},{6387,1070,3},{6380,1057,3}, {6385,1080,3},{6390,1092,3},{6388,1103,3},{6383,1108,3},{6380,1100,3},{6375,1097,3}, {6373,1092,3},{6367,1063,3},{6363,1062,3},{6357,1040,3},{6355,1023,3},{6350,1010,3}, {6348,998,3},{6350,992,3},{6358,990,3},{6360,983,3},{6362,980,3},{6365,983,3}, {6367,978,3},{6368,982,3},{6372,1000,3},{6377,1010,3},{6375,1000,3},{6378,1003,3}, {6375,992,3},{6372,985,3},{6370,965,3},{6367,957,3},{6367,953,3},{6370,957,3}, {6372,955,3},{6377,978,3},{6375,958,3},{6377,955,3},{6382,963,3},{6387,987,3}, {6387,983,3},{6388,980,3},{6390,990,3},{6388,992,3},{6392,1003,3},{6393,1018,3}, {6397,1015,3},{6393,1005,3},{6392,995,3},{6398,1013,3},{6397,1007,3},{6398,1007,3}, {6395,993,3},{6405,1003,3},{6410,1000,3},{6412,1003,3},{6408,1010,3},{6410,1020,3}, {6412,1022,3},{6412,1012,3},{6413,1013,3},{6413,1017,3},{6415,1017,3},{6415,1020,3}, {6418,1017,3},{6420,1018,3},{6418,1023,3},{6420,1028,3},{6418,1037,3},{6422,1037,3}, {6423,1025,3},{6425,1033,3},{6427,1035,3},{6425,1040,3},{6428,1040,3},{6428,1043,3}, {6430,1050,3},{6430,1045,3},{6435,1047,3},{6433,1055,3},{6435,1052,3},{6437,1055,3}, {6433,1060,3},{6435,1065,3},{6437,1060,3},{6440,1057,3},{6440,1047,3},{6443,1050,3}, {6443,1055,3},{6440,1063,3},{6443,1057,3},{6445,1062,3},{6442,1067,3},{6440,1073,3}, {6438,1077,3},{6437,1085,3},{6440,1078,3},{6443,1078,3},{6443,1070,3},{6445,1065,3}, {6447,1070,3},{6447,1083,3},{6450,1082,3},{6448,1088,3},{6447,1090,3},{6448,1092,3}, {6448,1097,3},{6450,1092,3},{6450,1097,3},{6455,1097,3},{6458,1092,3},{6460,1097,3}, {6457,1107,3},{6452,1107,3},{6452,1110,3},{6448,1118,3},{6445,1117,3},{6443,1120,3}, {6445,1122,3},{6445,1127,3},{6443,1133,3},{6432,1123,3},{6438,1135,3},{6440,1138,3}, {6442,1137,3},{6445,1142,3},{6443,1145,3},{6447,1152,3},{6447,1165,3},{6447,1145,3}, {6450,1145,3},{6452,1155,3},{6455,1152,3},{6455,1157,3},{6453,1155,3},{6453,1157,3}, {6458,1178,3},{6460,1172,3},{6458,1163,3},{6462,1163,3},{6462,1160,3},{6460,1155,3}, {6460,1158,3},{6458,1158,3},{6457,1152,3},{6463,1142,3},{6467,1140,3},{6470,1142,3}, {6470,1140,3},{6473,1152,3},{6475,1153,3},{6473,1162,3},{6475,1160,3},{6477,1155,3}, {6477,1157,3},{6478,1172,3},{6477,1173,3},{6480,1183,3},{6482,1165,3},{6483,1178,3}, {6485,1178,3},{6483,1165,3},{6488,1173,3},{6493,1193,3},{6493,1200,3},{6495,1210,3}, {6493,1222,3},{6497,1213,3},{6497,1203,3},{6495,1198,3},{6495,1192,3},{6487,1162,3}, {6483,1162,3},{6482,1155,3},{6482,1147,3},{6475,1138,3},{6473,1125,3},{6477,1135,3}, {6480,1143,3},{6482,1125,3},{6483,1127,3},{6487,1155,3},{6490,1170,3},{6488,1157,3}, {6485,1125,3},{6488,1130,3},{6492,1145,3},{6488,1153,3},{6492,1160,3},{6490,1153,3}, {6493,1148,3},{6495,1158,3},{6493,1163,3},{6497,1162,3},{6495,1167,3},{6497,1182,3}, {6502,1182,3},{6507,1197,3},{6505,1202,3},{6503,1200,3},{6503,1203,3},{6505,1207,3}, {6503,1207,3},{6503,1215,3},{6498,1218,3},{6505,1220,3},{6507,1230,3},{6508,1233,3}, {6508,1245,3},{6512,1250,3},{6512,1263,3},{6513,1260,3},{6515,1267,3},{6518,1270,3}, {6520,1278,3},{6525,1282,3},{6530,1293,3},{6533,1295,3},{6533,1292,3},{6520,1267,3}, {6513,1250,3},{6513,1240,3},{6517,1237,3},{6518,1250,3},{6522,1243,3},{6523,1242,3}, {6522,1235,3},{6523,1238,3},{6525,1272,3},{6527,1265,3},{6527,1260,3},{6525,1260,3}, {6527,1253,3},{6525,1245,3},{6527,1242,3},{6527,1235,3},{6523,1225,3},{6530,1233,3}, {6530,1242,3},{6533,1248,3},{6532,1242,3},{6537,1252,3},{6535,1252,3},{6535,1260,3}, {6533,1268,3},{6535,1265,3},{6537,1253,3},{6545,1248,3},{6545,1255,3},{6542,1257,3}, {6543,1260,3},{6537,1272,3},{6543,1263,3},{6545,1267,3},{6545,1278,3},{6547,1260,3}, {6548,1265,3},{6548,1260,3},{6550,1257,3},{6553,1262,3},{6553,1258,3},{6558,1258,3}, {6553,1255,3},{6552,1250,3},{6552,1247,3},{6558,1253,3},{6552,1243,3},{6555,1238,3}, {6558,1242,3},{6558,1235,3},{6565,1237,3},{6570,1243,3},{6573,1252,3},{6572,1258,3}, {6568,1258,3},{6568,1263,3},{6565,1262,3},{6563,1278,3},{6565,1278,3},{6565,1267,3}, {6570,1265,3},{6575,1255,3},{6578,1262,3},{6580,1265,3},{6578,1272,3},{6583,1270,3}, {6582,1262,3},{6585,1262,3},{6592,1267,3},{6597,1283,3},{6592,1297,3},{6592,1303,3}, {6585,1318,3},{6593,1312,3},{6595,1298,3},{6598,1292,3},{6600,1297,3},{6605,1297,3}, {6607,1303,3},{6608,1302,3},{6605,1288,3},{6603,1273,3},{6605,1273,3},{6607,1267,3}, {6613,1285,3},{6615,1305,3},{6613,1308,3},{6622,1332,3},{6623,1355,3},{6623,1358,3}, {6620,1358,3},{6618,1350,3},{6618,1358,3},{6615,1355,3},{6612,1353,3},{6610,1355,3}, {6615,1362,3},{6617,1375,3},{6615,1383,3},{6617,1383,3},{6618,1378,3},{6617,1368,3}, {6618,1362,3},{6623,1367,3},{6623,1380,3},{6620,1377,3},{6620,1378,3},{6622,1385,3}, {6623,1398,3},{6627,1400,3},{6632,1415,3},{6633,1412,3},{6630,1403,3},{6630,1397,3}, {6627,1392,3},{6627,1380,3},{6628,1375,3},{6625,1372,3},{6623,1362,3},{6625,1357,3}, {6628,1362,3},{6628,1358,3},{6625,1345,3},{6625,1330,3},{6620,1318,3},{6618,1305,3}, {6620,1303,3},{6627,1322,3},{6630,1333,3},{6630,1353,3},{6632,1340,3},{6633,1345,3}, {6633,1337,3},{6637,1332,3},{6632,1333,3},{6630,1320,3},{6630,1313,3},{6632,1317,3}, {6632,1308,3},{6632,1302,3},{6635,1300,3},{6640,1317,3},{6643,1315,3},{6645,1310,3}, {6647,1317,3},{6652,1297,3},{6653,1310,3},{6652,1322,3},{6645,1323,3},{6645,1338,3}, {6647,1327,3},{6650,1330,3},{6652,1327,3},{6653,1333,3},{6655,1347,3},{6652,1367,3}, {6653,1362,3},{6657,1345,3},{6660,1357,3},{6660,1373,3},{6660,1353,3},{6655,1342,3}, {6653,1327,3},{6657,1320,3},{6660,1323,3},{6662,1340,3},{6663,1322,3},{6665,1317,3}, {6667,1318,3},{6665,1345,3},{6663,1353,3},{6667,1348,3},{6668,1330,3},{6672,1323,3}, {6672,1328,3},{6672,1348,3},{6668,1357,3},{6668,1370,3},{6672,1370,3},{6673,1390,3}, {6673,1365,3},{6672,1362,3},{6672,1355,3},{6675,1357,3},{6675,1375,3},{6677,1355,3}, {6678,1350,3},{6680,1362,3},{6678,1382,3},{6678,1398,3},{6680,1393,3},{6682,1380,3}, {6683,1377,3},{6683,1370,3},{6685,1370,3},{6687,1363,3},{6690,1362,3},{6690,1353,3}, {6692,1353,3},{6693,1358,3},{6693,1378,3},{6697,1377,3},{6697,1383,3},{6698,1388,3}, {6700,1395,3},{6698,1397,3},{6695,1388,3},{6692,1392,3},{6692,1395,3},{6693,1393,3}, {6698,1405,3},{6702,1402,3},{6705,1403,3},{6705,1405,3},{6705,1408,3},{6700,1410,3}, {6697,1415,3},{6695,1413,3},{6697,1415,3},{6698,1423,3},{6702,1427,3},{6705,1425,3}, {6707,1440,3},{6705,1453,3},{6702,1455,3},{6702,1457,3},{6703,1460,3},{6705,1457,3}, {6708,1427,3},{6715,1435,3},{6717,1445,3},{6712,1442,3},{6710,1443,3},{6715,1447,3}, {6715,1470,3},{6712,1473,3},{6713,1475,3},{6717,1472,3},{6718,1452,3},{6718,1468,3}, {6720,1477,3},{6722,1498,3},{6720,1493,3},{6715,1488,3},{6708,1498,3},{6712,1500,3}, {6715,1493,3},{6720,1502,3},{6722,1508,3},{6718,1515,3},{6718,1523,3},{6717,1528,3}, {6717,1538,3},{6708,1540,3},{6707,1550,3},{6710,1543,3},{6715,1548,3},{6718,1538,3}, {6720,1538,3},{6720,1548,3},{6717,1573,3},{6722,1570,3},{6720,1558,3},{6723,1540,3}, {6720,1530,3},{6722,1527,3},{6722,1532,3},{6723,1533,3},{6723,1520,3},{6725,1507,3}, {6727,1515,3},{6732,1515,3},{6730,1503,3},{6727,1497,3},{6727,1487,3},{6727,1478,3}, {6725,1483,3},{6723,1477,3},{6722,1470,3},{6722,1462,3},{6723,1470,3},{6728,1470,3}, {6725,1455,3},{6723,1433,3},{6733,1455,3},{6738,1462,3},{6740,1457,3},{6742,1463,3}, {6742,1480,3},{6737,1482,3},{6742,1488,3},{6743,1505,3},{6743,1483,3},{6745,1483,3}, {6747,1477,3},{6747,1478,3},{6750,1473,3},{6755,1492,3},{6757,1507,3},{6755,1515,3}, {6753,1515,3},{6753,1510,3},{6755,1500,3},{6755,1498,3},{6750,1505,3},{6748,1498,3}, {6747,1483,3},{6747,1498,3},{6752,1518,3},{6748,1522,3},{6748,1515,3},{6747,1517,3}, {6742,1515,3},{6747,1523,3},{6748,1532,3},{6747,1545,3},{6740,1553,3},{6735,1553,3}, {6730,1565,3},{6728,1560,3},{6727,1563,3},{6730,1570,3},{6733,1562,3},{6738,1560,3}, {6743,1552,3},{6745,1558,3},{6747,1553,3},{6748,1555,3},{6753,1570,3},{6755,1588,3}, {6757,1590,3},{6755,1572,3},{6752,1557,3},{6752,1537,3},{6753,1523,3},{6758,1525,3}, {6760,1530,3},{6758,1542,3},{6755,1545,3},{6762,1543,3},{6763,1540,3},{6762,1538,3}, {6760,1537,3},{6762,1518,3},{6767,1525,3},{6768,1533,3},{6768,1527,3},{6772,1532,3}, {6768,1550,3},{6767,1553,3},{6768,1553,3},{6767,1565,3},{6770,1558,3},{6770,1547,3}, {6773,1540,3},{6775,1560,3},{6767,1583,3},{6773,1578,3},{6777,1563,3},{6778,1570,3}, {6777,1558,3},{6778,1542,3},{6783,1545,3},{6785,1542,3},{6782,1540,3},{6785,1537,3}, {6780,1537,3},{6773,1520,3},{6772,1518,3},{6767,1500,3},{6763,1482,3},{6765,1473,3}, {6770,1488,3},{6770,1482,3},{6772,1478,3},{6773,1512,3},{6775,1502,3},{6775,1498,3}, {6778,1503,3},{6778,1498,3},{6775,1483,3},{6778,1483,3},{6778,1477,3},{6780,1475,3}, {6782,1480,3},{6782,1488,3},{6783,1497,3},{6783,1508,3},{6785,1510,3},{6785,1507,3}, {6783,1485,3},{6787,1488,3},{6790,1500,3},{6787,1523,3},{6783,1520,3},{6790,1533,3}, {6788,1533,3},{6792,1555,3},{6787,1550,3},{6785,1553,3},{6788,1553,3},{6792,1560,3}, {6793,1560,3},{6795,1577,3},{6790,1587,3},{6793,1588,3},{6797,1595,3},{6800,1597,3}, {6800,1605,3},{6802,1605,3},{6802,1587,3},{6803,1585,3},{6805,1590,3},{6807,1587,3}, {6803,1580,3},{6803,1560,3},{6808,1553,3},{6805,1550,3},{6802,1538,3},{6800,1543,3}, {6798,1540,3},{6800,1532,3},{6803,1528,3},{6805,1535,3},{6807,1535,3},{6812,1543,3}, {6813,1550,3},{6808,1553,3},{6812,1555,3},{6813,1563,3},{6817,1565,3},{6815,1567,3}, {6813,1573,3},{6812,1570,3},{6810,1573,3},{6810,1562,3},{6805,1562,3},{6805,1565,3}, {6807,1567,3},{6807,1573,3},{6808,1575,3},{6808,1585,3},{6813,1592,3},{6818,1587,3}, {6818,1595,3},{6825,1597,3},{6823,1605,3},{6817,1603,3},{6815,1605,3},{6817,1610,3}, {6810,1607,3},{6807,1610,3},{6803,1603,3},{6797,1620,3},{6788,1622,3},{6780,1652,3}, {6782,1643,3},{6785,1645,3},{6788,1625,3},{6797,1628,3},{6800,1620,3},{6800,1627,3}, {6792,1640,3},{6790,1645,3},{6793,1647,3},{6795,1642,3},{6798,1633,3},{6800,1633,3}, {6800,1640,3},{6797,1645,3},{6797,1653,3},{6798,1647,3},{6802,1650,3},{6803,1637,3}, {6807,1640,3},{6810,1647,3},{6807,1653,3},{6805,1667,3},{6807,1667,3},{6807,1672,3}, {6808,1657,3},{6812,1648,3},{6807,1635,3},{6808,1630,3},{6810,1630,3},{6813,1625,3}, {6812,1632,3},{6815,1637,3},{6813,1640,3},{6815,1640,3},{6815,1647,3},{6817,1647,3}, {6818,1642,3},{6817,1658,3},{6820,1647,3},{6822,1645,3},{6820,1642,3},{6820,1617,3}, {6822,1617,3},{6823,1637,3},{6825,1632,3},{6825,1627,3},{6827,1610,3},{6830,1615,3}, {6832,1618,3},{6830,1622,3},{6830,1630,3},{6828,1632,3},{6828,1637,3},{6827,1642,3}, {6825,1652,3},{6820,1657,3},{6813,1673,3},{6813,1680,3},{6820,1663,3},{6827,1658,3}, {6830,1648,3},{6832,1625,3},{6835,1628,3},{6835,1623,3},{6838,1647,3},{6840,1670,3}, {6837,1688,3},{6832,1683,3},{6837,1703,3},{6837,1713,3},{6830,1720,3},{6825,1733,3}, {6817,1733,3},{6818,1737,3},{6823,1735,3},{6823,1742,3},{6825,1742,3},{6833,1722,3}, {6837,1720,3},{6838,1725,3},{6840,1725,3},{6840,1733,3},{6835,1757,3},{6837,1757,3}, {6842,1737,3},{6842,1758,3},{6838,1778,3},{6837,1782,3},{6838,1787,3},{6840,1778,3}, {6845,1763,3},{6845,1747,3},{6850,1755,3},{6853,1753,3},{6850,1735,3},{6845,1722,3}, {6843,1702,3},{6845,1702,3},{6845,1708,3},{6847,1710,3},{6850,1700,3},{6845,1685,3}, {6843,1653,3},{6843,1650,3},{6850,1647,3},{6853,1652,3},{6853,1663,3},{6860,1657,3}, {6865,1665,3},{6870,1698,3},{6863,1710,3},{6863,1717,3},{6865,1718,3},{6865,1713,3}, {6868,1710,3},{6872,1725,3},{6872,1737,3},{6867,1747,3},{6867,1758,3},{6865,1768,3}, {6868,1762,3},{6868,1747,3},{6873,1742,3},{6873,1730,3},{6875,1723,3},{6882,1745,3}, {6875,1778,3},{6878,1777,3},{6878,1767,3},{6883,1747,3},{6888,1765,3},{6888,1773,3}, {6887,1775,3},{6887,1783,3},{6888,1783,3},{6890,1773,3},{6893,1770,3},{6892,1752,3}, {6890,1743,3},{6895,1748,3},{6895,1753,3},{6898,1753,3},{6898,1748,3},{6908,1767,3}, {6910,1763,3},{6912,1785,3},{6915,1800,3},{6915,1815,3},{6917,1807,3},{6923,1810,3}, {6923,1798,3},{6930,1802,3},{6932,1810,3},{6938,1817,3},{6945,1815,3},{6948,1828,3}, {6945,1837,3},{6938,1837,3},{6940,1842,3},{6937,1850,3},{6928,1850,3},{6923,1852,3}, {6935,1855,3},{6928,1863,3},{6925,1868,3},{6928,1870,3},{6932,1867,3},{6932,1877,3}, {6932,1888,3},{6930,1892,3},{6928,1900,3},{6932,1895,3},{6937,1863,3},{6943,1857,3}, {6945,1845,3},{6952,1847,3},{6955,1862,3},{6953,1877,3},{6955,1885,3},{6950,1885,3}, {6942,1900,3},{6940,1902,3},{6935,1912,3},{6935,1930,3},{6932,1937,3},{6928,1935,3}, {6928,1920,3},{6925,1917,3},{6927,1925,3},{6927,1928,3},{6923,1925,3},{6923,1928,3}, {6922,1935,3},{6923,1940,3},{6922,1950,3},{6925,1945,3},{6932,1945,3},{6935,1942,3}, {6938,1930,3},{6938,1912,3},{6942,1908,3},{6945,1900,3},{6952,1900,3},{6955,1918,3}, {6952,1927,3},{6957,1923,3},{6955,1908,3},{6953,1902,3},{6957,1895,3},{6962,1895,3}, {6968,1908,3},{6973,1910,3},{6975,1918,3},{6978,1927,3},{6977,1942,3},{6980,1957,3}, {6980,1977,3},{6967,1968,3},{6963,1973,3},{6950,1962,3},{6947,1965,3},{6942,1955,3}, {6940,1955,3},{6943,1963,3},{6943,1968,3},{6958,1975,3},{6960,1975,3},{6962,1980,3}, {6958,1997,3},{6958,2012,3},{6962,1987,3},{6968,1982,3},{6977,1988,3},{6983,2002,3}, {6977,1997,3},{6977,1998,3},{6978,2003,3},{6992,2015,3},{6993,2017,3},{6988,2017,3}, {6985,2022,3},{6992,2020,3},{6997,2028,3},{6988,2042,3},{6967,2032,3},{6960,2038,3}, {6958,2037,3},{6957,2028,3},{6953,2030,3},{6945,2025,3},{6947,2022,3},{6940,2018,3}, {6933,1998,3},{6932,2000,3},{6928,1992,3},{6925,1995,3},{6932,2003,3},{6938,2020,3}, {6938,2028,3},{6948,2038,3},{6958,2048,3},{6953,2062,3},{6948,2085,3},{6953,2072,3}, {6958,2065,3},{6963,2048,3},{6970,2055,3},{6977,2048,3},{6977,2062,3},{6980,2080,3}, {6983,2083,3},{6987,2078,3},{6992,2092,3},{6995,2108,3},{6985,2090,3},{6983,2097,3}, {6982,2095,3},{6978,2102,3},{6980,2105,3},{6982,2100,3},{6983,2105,3},{6987,2107,3}, {6987,2118,3},{6982,2113,3},{6982,2117,3},{6985,2123,3},{6990,2122,3},{6990,2133,3}, {6993,2120,3},{7000,2125,3},{7002,2132,3},{7002,2142,3},{6998,2155,3},{6995,2160,3}, {6992,2158,3},{6988,2168,3},{6988,2178,3},{6983,2188,3},{6977,2195,3},{6975,2205,3}, {6973,2198,3},{6973,2210,3},{6980,2205,3},{6983,2192,3},{6983,2200,3},{6985,2202,3}, {6987,2193,3},{6993,2190,3},{6998,2193,3},{6998,2200,3},{6997,2203,3},{6995,2203,3}, {6993,2207,3},{7002,2205,3},{7003,2212,3},{7002,2192,3},{7003,2180,3},{7005,2185,3}, {7007,2202,3},{7012,2210,3},{7008,2200,3},{7008,2188,3},{7008,2183,3},{7007,2182,3}, {7005,2173,3},{7010,2162,3},{7008,2155,3},{7010,2147,3},{7015,2143,3},{7017,2148,3}, {7017,2132,3},{7020,2125,3},{7020,2120,3},{7025,2130,3},{7027,2142,3},{7023,2145,3}, {7022,2150,3},{7030,2152,3},{7032,2157,3},{7027,2162,3},{7020,2180,3},{7015,2187,3}, {7018,2185,3},{7020,2188,3},{7022,2182,3},{7025,2180,3},{7032,2200,3},{7032,2203,3}, {7028,2198,3},{7030,2210,3},{7023,2213,3},{7028,2215,3},{7028,2232,3},{7023,2227,3}, {7020,2228,3},{7017,2230,3},{7013,2223,3},{7015,2237,3},{7012,2255,3},{7013,2252,3}, {7017,2233,3},{7020,2235,3},{7025,2240,3},{7023,2258,3},{7022,2260,3},{7022,2270,3}, {7020,2297,3},{7012,2282,3},{7008,2245,3},{7003,2230,3},{7010,2287,3},{7015,2300,3}, {7003,2302,3},{7002,2305,3},{7003,2313,3},{6998,2312,3},{6997,2315,3},{6995,2310,3}, {6993,2313,3},{7000,2332,3},{6997,2335,3},{6993,2332,3},{6998,2347,3},{7002,2353,3}, {7003,2333,3},{7008,2318,3},{7010,2337,3},{7013,2340,3},{7017,2330,3},{7018,2342,3}, {7018,2332,3},{7022,2325,3},{7023,2353,3},{7025,2343,3},{7023,2332,3},{7025,2330,3}, {7028,2343,3},{7030,2362,3},{7030,2353,3},{7032,2353,3},{7032,2347,3},{7037,2352,3}, {7045,2377,3},{7048,2382,3},{7052,2398,3},{7048,2425,3},{7045,2435,3},{7052,2425,3}, {7053,2410,3},{7060,2427,3},{7062,2427,3},{7067,2428,3},{7068,2437,3},{7068,2438,3}, {7067,2448,3},{7062,2462,3},{7062,2468,3},{7062,2473,3},{7065,2473,3},{7073,2457,3}, {7077,2425,3},{7083,2427,3},{7087,2440,3},{7082,2447,3},{7078,2463,3},{7085,2460,3}, {7087,2473,3},{7090,2462,3},{7090,2463,3},{7093,2457,3},{7095,2465,3},{7097,2460,3}, {7097,2478,3},{7093,2487,3},{7090,2483,3},{7092,2498,3},{7097,2498,3},{7093,2507,3}, {7087,2492,3},{7085,2507,3},{7088,2508,3},{7092,2517,3},{7085,2525,3},{7078,2525,3}, {7080,2528,3},{7082,2535,3},{7085,2538,3},{7090,2540,3},{7095,2533,3},{7097,2537,3}, {7090,2553,3},{7087,2545,3},{7085,2543,3},{7083,2547,3},{7087,2552,3},{7085,2553,3}, {7088,2563,3},{7088,2572,3},{7085,2577,3},{7090,2585,3},{7088,2590,3},{7087,2593,3}, {7078,2575,3},{7075,2563,3},{7073,2565,3},{7072,2563,3},{7067,2545,3},{7057,2525,3}, {7050,2507,3},{7052,2527,3},{7048,2527,3},{7048,2510,3},{7048,2505,3},{7047,2528,3}, {7043,2525,3},{7040,2527,3},{7038,2525,3},{7040,2518,3},{7037,2508,3},{7035,2513,3}, {7032,2512,3},{7033,2518,3},{7030,2520,3},{7022,2498,3},{7010,2493,3},{7007,2500,3}, {7007,2505,3},{7012,2500,3},{7015,2508,3},{7012,2507,3},{7013,2513,3},{7012,2508,3}, {7008,2508,3},{7008,2515,3},{7008,2523,3},{7018,2532,3},{7020,2538,3},{7028,2553,3}, {7030,2553,3},{7032,2542,3},{7035,2545,3},{7060,2600,3},{7072,2607,3},{7072,2613,3}, {7077,2617,3},{7087,2637,3},{7093,2655,3},{7095,2670,3},{7090,2673,3},{7085,2667,3}, {7083,2667,3},{7083,2675,3},{7073,2668,3},{7070,2663,3},{7063,2635,3},{7065,2655,3}, {7063,2665,3},{7053,2660,3},{7052,2657,3},{7047,2657,3},{7043,2652,3},{7037,2650,3}, {7035,2655,3},{7037,2658,3},{7038,2665,3},{7040,2663,3},{7042,2665,3},{7042,2675,3}, {7047,2680,3},{7048,2685,3},{7048,2695,3},{7047,2693,3},{7045,2695,3},{7047,2710,3}, {7053,2697,3},{7055,2700,3},{7057,2697,3},{7062,2707,3},{7058,2727,3},{7063,2710,3}, {7068,2715,3},{7070,2708,3},{7073,2713,3},{7075,2725,3},{7073,2732,3},{7075,2735,3}, {7077,2728,3},{7080,2730,3},{7082,2733,3},{7080,2763,3},{7082,2748,3},{7083,2753,3}, {7087,2752,3},{7087,2738,3},{7090,2740,3},{7092,2740,3},{7088,2735,3},{7088,2730,3}, {7090,2717,3},{7092,2712,3},{7095,2713,3},{7097,2717,3},{7093,2735,3},{7100,2722,3}, {7103,2727,3},{7100,2748,3},{7095,2752,3},{7095,2757,3},{7102,2758,3},{7102,2753,3}, {7108,2752,3},{7108,2765,3},{7112,2765,3},{7110,2773,3},{7107,2770,3},{7105,2775,3}, {7105,2777,3},{7103,2788,3},{7107,2803,3},{7103,2808,3},{7107,2813,3},{7108,2820,3}, {7105,2827,3},{7102,2820,3},{7100,2818,3},{7100,2823,3},{7097,2822,3},{7100,2835,3}, {7098,2848,3},{7097,2855,3},{7088,2847,3},{7088,2837,3},{7087,2845,3},{7085,2843,3}, {7085,2835,3},{7083,2837,3},{7083,2822,3},{7080,2830,3},{7078,2827,3},{7078,2813,3}, {7078,2802,3},{7082,2800,3},{7078,2793,3},{7078,2777,3},{7077,2783,3},{7073,2777,3}, {7077,2788,3},{7073,2813,3},{7070,2807,3},{7067,2788,3},{7065,2787,3},{7060,2765,3}, {7062,2783,3},{7067,2813,3},{7072,2830,3},{7065,2828,3},{7062,2822,3},{7048,2785,3}, {7043,2788,3},{7048,2797,3},{7047,2795,3},{7050,2818,3},{7045,2803,3},{7043,2807,3}, {7047,2813,3},{7043,2812,3},{7050,2823,3},{7050,2833,3},{7037,2815,3},{7015,2818,3}, {7008,2810,3},{7007,2802,3},{7008,2813,3},{7017,2823,3},{7028,2818,3},{7042,2825,3}, {7043,2832,3},{7047,2833,3},{7048,2845,3},{7045,2847,3},{7045,2852,3},{7048,2850,3}, {7050,2855,3},{7052,2847,3},{7055,2840,3},{7067,2850,3},{7067,2862,3},{7070,2853,3}, {7073,2855,3},{7078,2865,3},{7087,2875,3},{7087,2882,3},{7088,2890,3},{7087,2910,3}, {7085,2907,3},{7085,2925,3},{7080,2928,3},{7078,2940,3},{7073,2930,3},{7073,2942,3}, {7072,2933,3},{7070,2937,3},{7068,2930,3},{7065,2928,3},{7067,2933,3},{7070,2940,3}, {7070,2955,3},{7075,2970,3},{7073,2978,3},{7070,2978,3},{7067,2977,3},{7062,2968,3}, {7062,2970,3},{7063,2985,3},{7070,2995,3},{7072,3010,3},{7067,3020,3},{7063,3010,3}, {7063,3022,3},{7060,3035,3},{7055,3023,3},{7055,3012,3},{7053,3017,3},{7053,3000,3}, {7052,3015,3},{7053,3032,3},{7055,3045,3},{7053,3058,3},{7053,3060,3},{7050,3057,3}, {7047,3072,3},{7045,3075,3},{7042,3080,3},{7043,3083,3},{7045,3095,3},{7037,3105,3}, {7033,3102,3},{7028,3107,3},{7027,3092,3},{7027,3077,3},{7023,3052,3},{7020,3050,3}, {7018,3037,3},{7015,3038,3},{7013,3035,3},{7010,3023,3},{7008,3012,3},{7007,3015,3}, {7007,2980,3},{7013,2915,3},{7013,2902,3},{7018,2870,3},{7017,2860,3},{7017,2875,3}, {7010,2862,3},{7010,2885,3},{7008,2875,3},{7008,2877,3},{7005,2913,3},{7003,2913,3}, {7003,2918,3},{7000,2913,3},{7002,2933,3},{6997,2968,3},{6990,2943,3},{6985,2937,3}, {6985,2943,3},{6992,2953,3},{6990,2965,3},{6992,2972,3},{6983,2977,3},{6978,2970,3}, {6977,2963,3},{6972,2958,3},{6970,2952,3},{6970,2955,3},{6965,2948,3},{6973,2967,3}, {6973,2980,3},{6973,2990,3},{6975,2995,3},{6977,3005,3},{6973,3003,3},{6970,2993,3}, {6968,2993,3},{6973,3007,3},{6970,3012,3},{6968,3018,3},{6975,3012,3},{6977,3022,3}, {6980,3015,3},{6987,3017,3},{6988,3030,3},{6987,3033,3},{6983,3028,3},{6983,3038,3}, {6983,3040,3},{6970,3042,3},{6968,3040,3},{6967,3033,3},{6967,3042,3},{6968,3045,3}, {6978,3045,3},{6982,3045,3},{6982,3055,3},{6980,3072,3},{6978,3070,3},{6977,3072,3}, {6978,3080,3},{6970,3090,3},{6968,3095,3},{6958,3095,3},{6955,3092,3},{6953,3080,3}, {6955,3052,3},{6963,3030,3},{6967,3015,3},{6965,3007,3},{6963,3007,3},{6963,3015,3}, {6958,3018,3},{6955,3013,3},{6950,3010,3},{6943,2995,3},{6943,2982,3},{6938,2968,3}, {6932,2932,3},{6925,2932,3},{6912,2925,3},{6903,2912,3},{6903,2900,3},{6912,2878,3}, {6923,2882,3},{6937,2912,3},{6948,2930,3},{6968,2913,3},{6970,2910,3},{6983,2838,3}, {6988,2832,3},{6992,2817,3},{6993,2810,3},{7000,2798,3},{7008,2795,3},{7008,2790,3}, {7007,2775,3},{7007,2757,3},{7003,2753,3},{6998,2730,3},{6995,2730,3},{6993,2720,3}, {6990,2705,3},{6993,2687,3},{6995,2685,3},{6995,2680,3},{6993,2672,3},{6995,2662,3}, {6993,2647,3},{6985,2638,3},{6980,2625,3},{6975,2615,3},{6970,2598,3},{6967,2595,3}, {6963,2598,3},{6958,2595,3},{6957,2593,3},{6955,2585,3},{6948,2587,3},{6943,2583,3}, {6938,2583,3},{6935,2575,3},{6925,2572,3},{6912,2573,3},{6902,2582,3},{6898,2575,3}, {6888,2562,3},{6888,2542,3},{6882,2522,3},{6877,2515,3},{6863,2510,3},{6860,2495,3}, {6855,2490,3},{6867,2475,3},{6870,2452,3},{6872,2433,3},{6875,2420,3},{6877,2418,3}, {6878,2412,3},{6882,2405,3},{6883,2393,3},{6883,2383,3},{6872,2368,3},{6868,2345,3}, {6863,2320,3},{6870,2307,3},{6868,2280,3},{6873,2255,3},{6872,2240,3},{6885,2235,3}, {6928,2168,3},{6933,2132,3},{6922,2103,3},{6913,2105,3},{6910,2112,3},{6905,2108,3}, {6903,2103,3},{6910,2073,3},{6905,2058,3},{6905,2010,3},{6893,2032,3},{6878,2035,3}, {6867,2020,3},{6855,1995,3},{6850,2008,3},{6848,2022,3},{6845,2018,3},{6840,2005,3}, {6833,1993,3},{6848,1895,3},{6847,1862,3},{6853,1835,3},{6850,1808,3},{6842,1805,3}, {6833,1808,3},{6817,1815,3},{6795,1788,3},{6803,1760,3},{6808,1727,3},{6803,1718,3}, {6790,1673,3},{6763,1655,3},{6752,1638,3},{6750,1620,3},{6742,1608,3},{6723,1637,3}, {6717,1640,3},{6702,1635,3},{6688,1602,3},{6660,1563,3},{6648,1537,3},{6628,1547,3}, {6615,1503,3},{6613,1450,3},{6583,1463,3},{6570,1453,3},{6558,1450,3},{6532,1450,3}, {6525,1437,3},{6507,1427,3},{6497,1410,3},{6458,1367,3},{6452,1387,3},{6447,1412,3}, {6433,1415,3},{6417,1415,3},{6402,1398,3},{6410,1323,3},{6405,1293,3},{6395,1265,3}, {6385,1248,3},{6367,1228,3},{6358,1213,3},{6348,1220,3},{6327,1193,3},{6302,1217,3}, {6290,1203,3},{6275,1208,3},{6260,1202,3},{6258,1205,3},{6250,1210,3},{6247,1215,3}, {6242,1220,3},{6237,1222,3},{6232,1227,3},{6227,1230,3},{6222,1228,3},{6217,1227,3}, {6212,1225,3},{6205,1223,3},{6200,1222,3},{6195,1220,3},{6190,1218,3},{6185,1217,3}, {6178,1215,3},{6173,1212,3},{6170,1218,3},{6165,1227,3},{6162,1235,3},{6157,1240,3}, {6157,1253,3},{6137,1285,3},{6120,1277,3},{6115,1270,3},{6107,1265,3},{6105,1257,3}, {6105,1240,3},{6100,1222,3},{6088,1232,3},{6078,1237,3},{6065,1250,3},{6060,1250,3}, {6053,1258,3},{6048,1260,3},{6040,1258,3},{6030,1248,3},{6018,1252,3},{6008,1248,3}, {5998,1232,3},{5988,1213,3},{5990,1197,3},{5988,1193,3},{5985,1182,3},{5980,1188,3}, {5970,1190,3},{5968,1183,3},{5965,1183,3},{5960,1167,3},{5927,1180,3},{5917,1175,3}, {5908,1175,3},{5902,1168,3},{5890,1162,3},{5888,1147,3},{5890,1142,3},{5898,1143,3}, {5890,1142,3},{5888,1147,3},{5890,1162,3},{5902,1168,3},{5908,1175,3},{5917,1175,3}, {5927,1180,3},{5960,1167,3},{5965,1183,3},{5968,1183,3},{5970,1190,3},{5980,1188,3}, {5985,1182,3},{5988,1193,3},{5990,1197,3},{5988,1213,3},{5998,1232,3},{6008,1248,3}, {6018,1252,3},{6030,1248,3},{6040,1258,3},{6048,1260,3},{6053,1258,3},{6060,1250,3}, {6065,1250,3},{6078,1237,3},{6088,1232,3},{6100,1222,3},{6105,1240,3},{6105,1257,3}, {6107,1265,3},{6115,1270,3},{6120,1277,3},{6137,1285,3},{6157,1253,3},{6157,1240,3}, {6162,1235,3},{6165,1227,3},{6170,1218,3},{6173,1212,3},{6178,1215,3},{6185,1217,3}, {6190,1218,3},{6195,1220,3},{6200,1222,3},{6205,1223,3},{6212,1225,3},{6217,1227,3}, {6222,1228,3},{6227,1230,3},{6232,1227,3},{6237,1222,3},{6242,1220,3},{6247,1215,3}, {6250,1210,3},{6258,1205,3},{6260,1202,3},{6275,1208,3},{6290,1203,3},{6302,1217,3}, {6327,1193,3},{6348,1220,3},{6358,1213,3},{6367,1228,3},{6385,1248,3},{6395,1265,3}, {6405,1293,3},{6410,1323,3},{6402,1398,3},{6417,1415,3},{6433,1415,3},{6447,1412,3}, {6452,1387,3},{6458,1367,3},{6497,1410,3},{6507,1427,3},{6525,1437,3},{6532,1450,3}, {6558,1450,3},{6570,1453,3},{6583,1463,3},{6613,1450,3},{6615,1503,3},{6628,1547,3}, {6648,1537,3},{6660,1563,3},{6688,1602,3},{6702,1635,3},{6717,1640,3},{6723,1637,3}, {6742,1608,3},{6750,1620,3},{6752,1638,3},{6763,1655,3},{6790,1673,3},{6803,1718,3}, {6808,1727,3},{6803,1760,3},{6795,1788,3},{6817,1815,3},{6833,1808,3},{6842,1805,3}, {6850,1808,3},{6853,1835,3},{6847,1862,3},{6848,1895,3},{6833,1993,3},{6840,2005,3}, {6845,2018,3},{6848,2022,3},{6850,2008,3},{6855,1995,3},{6867,2020,3},{6878,2035,3}, {6893,2032,3},{6905,2010,3},{6905,2058,3},{6900,2087,3},{6895,2093,3},{6893,2088,3}, {6888,2090,3},{6887,2108,3},{6882,2122,3},{6875,2130,3},{6875,2140,3},{6868,2147,3}, {6865,2162,3},{6858,2175,3},{6857,2190,3},{6848,2205,3},{6847,2217,3},{6847,2232,3}, {6847,2237,3},{6845,2238,3},{6845,2247,3},{6842,2263,3},{6842,2267,3},{6838,2277,3}, {6838,2282,3},{6833,2290,3},{6828,2307,3},{6823,2315,3},{6812,2315,3},{6815,2328,3}, {6812,2333,3},{6805,2340,3},{6800,2352,3},{6798,2355,3},{6795,2365,3},{6792,2365,3}, {6788,2352,3},{6787,2348,3},{6773,2348,3},{6758,2355,3},{6755,2347,3},{6747,2343,3}, {6743,2348,3},{6745,2355,3},{6743,2363,3},{6742,2377,3},{6737,2375,3},{6732,2377,3}, {6728,2375,3},{6727,2360,3},{6722,2358,3},{6720,2362,3},{6715,2357,3},{6710,2367,3}, {6700,2373,3},{6697,2383,3},{6688,2393,3},{6680,2400,3},{6678,2393,3},{6675,2388,3}, {6655,2388,3},{6653,2380,3},{6652,2380,3},{6650,2373,3},{6648,2373,3},{6645,2365,3}, {6637,2368,3},{6632,2367,3},{6620,2373,3},{6613,2393,3},{6582,2417,3},{6580,2403,3}, {6578,2405,3},{6580,2398,3},{6575,2393,3},{6578,2387,3},{6580,2377,3},{6582,2373,3}, {6582,2368,3},{6578,2362,3},{6580,2360,3},{6580,2350,3},{6583,2348,3},{6580,2342,3}, {6577,2343,3},{6578,2338,3},{6582,2337,3},{6582,2333,3},{6578,2332,3},{6583,2320,3}, {6578,2318,3},{6577,2323,3},{6575,2315,3},{6572,2313,3},{6570,2308,3},{6575,2305,3}, {6575,2302,3},{6580,2290,3},{6578,2288,3},{6580,2283,3},{6585,2278,3},{6590,2268,3}, {6590,2263,3},{6587,2268,3},{6580,2270,3},{6577,2268,3},{6575,2265,3},{6577,2265,3}, {6580,2260,3},{6577,2250,3},{6582,2253,3},{6583,2247,3},{6585,2248,3},{6587,2237,3}, {6583,2237,3},{6583,2233,3},{6580,2237,3},{6580,2232,3},{6575,2235,3},{6573,2232,3}, {6575,2222,3},{6572,2225,3},{6572,2237,3},{6567,2238,3},{6567,2235,3},{6570,2228,3}, {6568,2225,3},{6562,2228,3},{6562,2218,3},{6560,2228,3},{6563,2232,3},{6567,2228,3}, {6567,2232,3},{6563,2233,3},{6563,2238,3},{6560,2233,3},{6557,2242,3},{6553,2240,3}, {6557,2235,3},{6557,2232,3},{6558,2225,3},{6555,2223,3},{6565,2193,3},{6567,2187,3}, {6572,2177,3},{6570,2177,3},{6565,2185,3},{6560,2202,3},{6558,2212,3},{6555,2217,3}, {6555,2220,3},{6553,2213,3},{6553,2208,3},{6552,2207,3},{6552,2205,3},{6552,2200,3}, {6553,2185,3},{6548,2192,3},{6548,2195,3},{6552,2193,3},{6547,2203,3},{6542,2200,3}, {6545,2195,3},{6540,2193,3},{6542,2187,3},{6540,2185,3},{6540,2175,3},{6542,2172,3}, {6540,2170,3},{6538,2167,3},{6542,2158,3},{6540,2155,3},{6538,2160,3},{6538,2147,3}, {6537,2148,3},{6535,2145,3},{6532,2153,3},{6532,2158,3},{6533,2158,3},{6528,2170,3}, {6525,2167,3},{6523,2157,3},{6532,2148,3},{6532,2142,3},{6537,2132,3},{6535,2133,3}, {6533,2127,3},{6532,2140,3},{6515,2162,3},{6513,2155,3},{6512,2157,3},{6508,2153,3}, {6507,2158,3},{6505,2147,3},{6502,2150,3},{6502,2142,3},{6498,2137,3},{6497,2138,3}, {6495,2125,3},{6492,2125,3},{6488,2120,3},{6487,2122,3},{6485,2117,3},{6483,2118,3}, {6482,2112,3},{6485,2107,3},{6483,2103,3},{6478,2110,3},{6478,2122,3},{6477,2130,3}, {6475,2130,3},{6475,2123,3},{6468,2132,3},{6468,2128,3},{6467,2128,3},{6473,2113,3}, {6472,2110,3},{6468,2112,3},{6465,2125,3},{6463,2123,3},{6460,2130,3},{6458,2132,3}, {6457,2137,3},{6460,2137,3},{6455,2145,3},{6458,2148,3},{6453,2150,3},{6453,2155,3}, {6452,2150,3},{6455,2145,3},{6452,2140,3},{6453,2135,3},{6452,2138,3},{6452,2148,3}, {6445,2148,3},{6447,2158,3},{6448,2158,3},{6445,2160,3},{6442,2152,3},{6437,2145,3}, {6433,2135,3},{6437,2132,3},{6432,2133,3},{6430,2127,3},{6432,2125,3},{6427,2120,3}, {6423,2113,3},{6422,2110,3},{6422,2107,3},{6413,2095,3},{6410,2097,3},{6405,2090,3}, {6398,2090,3},{6395,2082,3},{6387,2078,3},{6383,2067,3},{6382,2072,3},{6380,2068,3}, {6378,2065,3},{6382,2062,3},{6377,2055,3},{6382,2050,3},{6377,2045,3},{6377,2042,3}, {6370,2042,3},{6367,2038,3},{6368,2035,3},{6372,2037,3},{6375,2032,3},{6365,2030,3}, {6367,2027,3},{6373,2028,3},{6365,2023,3},{6363,2013,3},{6367,2005,3},{6365,2002,3}, {6362,2002,3},{6360,2003,3},{6360,2000,3},{6362,1993,3},{6360,1992,3},{6362,1990,3}, {6355,1983,3},{6352,1975,3},{6345,1977,3},{6343,1967,3},{6352,1958,3},{6357,1945,3}, {6355,1942,3},{6353,1947,3},{6350,1945,3},{6348,1952,3},{6347,1947,3},{6340,1952,3}, {6342,1947,3},{6345,1942,3},{6348,1935,3},{6345,1937,3},{6343,1935,3},{6347,1930,3}, {6333,1927,3},{6332,1925,3},{6333,1923,3},{6332,1920,3},{6332,1913,3},{6330,1915,3}, {6325,1912,3},{6325,1913,3},{6323,1910,3},{6325,1905,3},{6322,1905,3},{6320,1912,3}, {6320,1907,3},{6318,1907,3},{6318,1903,3},{6322,1897,3},{6325,1895,3},{6325,1892,3}, {6327,1888,3},{6327,1887,3},{6325,1887,3},{6325,1883,3},{6325,1875,3},{6325,1873,3}, {6322,1890,3},{6318,1890,3},{6318,1880,3},{6317,1878,3},{6320,1875,3},{6322,1882,3}, {6322,1870,3},{6315,1875,3},{6317,1857,3},{6313,1865,3},{6312,1865,3},{6310,1863,3}, {6312,1857,3},{6307,1853,3},{6307,1855,3},{6305,1850,3},{6302,1848,3},{6305,1843,3}, {6305,1838,3},{6302,1843,3},{6302,1838,3},{6303,1835,3},{6302,1833,3},{6300,1823,3}, {6298,1855,3},{6295,1858,3},{6297,1853,3},{6295,1853,3},{6295,1845,3},{6297,1843,3}, {6295,1838,3},{6292,1845,3},{6292,1853,3},{6290,1850,3},{6290,1848,3},{6290,1840,3}, {6288,1847,3},{6285,1847,3},{6283,1837,3},{6287,1828,3},{6288,1828,3},{6288,1825,3}, {6287,1825,3},{6287,1820,3},{6283,1822,3},{6282,1823,3},{6283,1828,3},{6282,1827,3}, {6278,1820,3},{6282,1818,3},{6277,1813,3},{6277,1808,3},{6278,1808,3},{6280,1800,3}, {6280,1813,3},{6282,1815,3},{6283,1807,3},{6285,1807,3},{6282,1798,3},{6280,1797,3}, {6282,1792,3},{6290,1793,3},{6292,1788,3},{6298,1782,3},{6300,1783,3},{6298,1778,3}, {6297,1777,3},{6300,1770,3},{6293,1783,3},{6285,1790,3},{6282,1788,3},{6278,1795,3}, {6277,1795,3},{6273,1800,3},{6265,1800,3},{6267,1788,3},{6262,1805,3},{6260,1807,3}, {6255,1797,3},{6260,1795,3},{6262,1793,3},{6255,1792,3},{6253,1788,3},{6252,1788,3}, {6248,1785,3},{6250,1770,3},{6247,1765,3},{6243,1770,3},{6243,1762,3},{6245,1755,3}, {6253,1742,3},{6250,1738,3},{6248,1733,3},{6243,1738,3},{6240,1737,3},{6240,1733,3}, {6232,1738,3},{6233,1742,3},{6232,1745,3},{6228,1748,3},{6228,1747,3},{6227,1747,3}, {6223,1765,3},{6220,1755,3},{6220,1753,3},{6223,1757,3},{6223,1752,3},{6208,1748,3}, {6207,1745,3},{6205,1747,3},{6203,1743,3},{6200,1747,3},{6198,1740,3},{6195,1738,3}, {6195,1735,3},{6190,1735,3},{6188,1737,3},{6187,1733,3},{6185,1735,3},{6182,1733,3}, {6182,1740,3},{6180,1737,3},{6172,1740,3},{6173,1748,3},{6170,1752,3},{6163,1750,3}, {6163,1743,3},{6168,1738,3},{6172,1733,3},{6167,1733,3},{6168,1730,3},{6170,1730,3}, {6172,1727,3},{6172,1715,3},{6170,1717,3},{6168,1727,3},{6165,1717,3},{6163,1718,3}, {6165,1713,3},{6163,1710,3},{6160,1725,3},{6160,1720,3},{6162,1710,3},{6160,1715,3}, {6158,1705,3},{6155,1718,3},{6155,1708,3},{6152,1717,3},{6152,1712,3},{6148,1718,3}, {6145,1717,3},{6143,1722,3},{6142,1722,3},{6142,1717,3},{6143,1713,3},{6140,1710,3}, {6133,1720,3},{6132,1727,3},{6130,1723,3},{6132,1715,3},{6130,1717,3},{6128,1725,3}, {6128,1720,3},{6132,1713,3},{6132,1710,3},{6123,1722,3},{6122,1715,3},{6118,1718,3}, {6117,1718,3},{6115,1717,3},{6113,1718,3},{6112,1715,3},{6110,1720,3},{6105,1717,3}, {6103,1718,3},{6102,1717,3},{6102,1725,3},{6100,1717,3},{6095,1715,3},{6093,1720,3}, {6090,1720,3},{6090,1723,3},{6083,1728,3},{6082,1725,3},{6080,1728,3},{6078,1728,3}, {6077,1733,3},{6073,1730,3},{6070,1718,3},{6070,1727,3},{6068,1728,3},{6065,1737,3}, {6063,1732,3},{6062,1733,3},{6063,1740,3},{6065,1755,3},{6063,1762,3},{6060,1765,3}, {6058,1760,3},{6052,1763,3},{6048,1773,3},{6053,1773,3},{6057,1777,3},{6060,1787,3}, {6060,1797,3},{6055,1800,3},{6050,1797,3},{6048,1803,3},{6038,1817,3},{6038,1827,3}, {6035,1820,3},{6033,1823,3},{6035,1827,3},{6035,1832,3},{6035,1843,3},{6028,1848,3}, {6028,1843,3},{6023,1860,3},{6022,1855,3},{6023,1847,3},{6030,1832,3},{6025,1837,3}, {6022,1845,3},{6020,1843,3},{6023,1840,3},{6018,1842,3},{6015,1852,3},{6018,1855,3}, {6007,1858,3},{6012,1858,3},{6013,1858,3},{6015,1863,3},{6012,1868,3},{6012,1873,3}, {6005,1875,3},{6000,1880,3},{6010,1875,3},{6010,1877,3},{6012,1882,3},{6007,1882,3}, {5993,1890,3},{5992,1893,3},{5992,1900,3},{5988,1902,3},{5988,1903,3},{5988,1907,3}, {5982,1905,3},{5993,1888,3},{5985,1893,3},{5980,1887,3},{5978,1873,3},{5977,1873,3}, {5978,1897,3},{5977,1907,3},{5973,1908,3},{5972,1903,3},{5972,1898,3},{5973,1893,3}, {5975,1892,3},{5972,1887,3},{5968,1875,3},{5967,1875,3},{5967,1872,3},{5965,1870,3}, {5965,1873,3},{5963,1873,3},{5962,1870,3},{5963,1865,3},{5962,1868,3},{5958,1867,3}, {5953,1847,3},{5947,1840,3},{5947,1827,3},{5945,1830,3},{5945,1825,3},{5943,1828,3}, {5942,1828,3},{5940,1833,3},{5938,1832,3},{5940,1817,3},{5942,1817,3},{5942,1822,3}, {5945,1818,3},{5943,1815,3},{5945,1812,3},{5943,1808,3},{5940,1810,3},{5938,1805,3}, {5940,1802,3},{5937,1808,3},{5933,1813,3},{5935,1798,3},{5933,1793,3},{5937,1782,3}, {5942,1775,3},{5950,1778,3},{5953,1785,3},{5957,1782,3},{5958,1782,3},{5962,1775,3}, {5965,1775,3},{5970,1772,3},{5965,1772,3},{5962,1772,3},{5965,1760,3},{5967,1765,3}, {5972,1765,3},{5973,1768,3},{5975,1763,3},{5978,1763,3},{5980,1760,3},{5975,1753,3}, {5975,1737,3},{5973,1750,3},{5968,1745,3},{5967,1748,3},{5957,1753,3},{5965,1750,3}, {5970,1752,3},{5972,1755,3},{5973,1753,3},{5973,1762,3},{5970,1762,3},{5965,1757,3}, {5958,1775,3},{5953,1778,3},{5948,1775,3},{5945,1772,3},{5945,1768,3},{5948,1767,3}, {5950,1758,3},{5948,1755,3},{5952,1752,3},{5955,1755,3},{5953,1750,3},{5957,1743,3}, {5962,1737,3},{5965,1738,3},{5962,1733,3},{5955,1740,3},{5952,1738,3},{5948,1742,3}, {5947,1740,3},{5950,1735,3},{5947,1737,3},{5947,1735,3},{5955,1722,3},{5955,1712,3}, {5960,1707,3},{5958,1702,3},{5953,1707,3},{5955,1695,3},{5958,1690,3},{5958,1682,3}, {5952,1673,3},{5953,1668,3},{5958,1662,3},{5962,1655,3},{5960,1650,3},{5955,1655,3}, {5953,1653,3},{5952,1645,3},{5952,1648,3},{5950,1648,3},{5950,1642,3},{5952,1638,3}, {5948,1635,3},{5948,1633,3},{5945,1632,3},{5947,1628,3},{5950,1627,3},{5950,1623,3}, {5948,1622,3},{5948,1623,3},{5947,1618,3},{5950,1602,3},{5945,1608,3},{5943,1618,3}, {5947,1645,3},{5945,1660,3},{5947,1667,3},{5938,1682,3},{5938,1687,3},{5938,1688,3}, {5940,1688,3},{5947,1670,3},{5947,1682,3},{5948,1683,3},{5945,1692,3},{5937,1703,3}, {5937,1717,3},{5935,1732,3},{5932,1730,3},{5932,1725,3},{5927,1728,3},{5925,1722,3}, {5925,1740,3},{5928,1737,3},{5932,1737,3},{5927,1755,3},{5922,1760,3},{5928,1758,3}, {5928,1763,3},{5927,1770,3},{5925,1773,3},{5925,1772,3},{5923,1773,3},{5925,1778,3}, {5927,1775,3},{5927,1787,3},{5922,1787,3},{5928,1788,3},{5933,1797,3},{5932,1815,3}, {5933,1820,3},{5932,1822,3},{5937,1827,3},{5937,1835,3},{5935,1843,3},{5933,1843,3}, {5933,1847,3},{5940,1845,3},{5940,1850,3},{5943,1843,3},{5943,1848,3},{5937,1862,3}, {5937,1855,3},{5935,1863,3},{5932,1865,3},{5930,1852,3},{5930,1835,3},{5932,1833,3}, {5933,1835,3},{5933,1832,3},{5932,1828,3},{5928,1832,3},{5927,1827,3},{5927,1828,3}, {5920,1842,3},{5923,1832,3},{5922,1832,3},{5920,1838,3},{5918,1837,3},{5918,1840,3}, {5917,1838,3},{5917,1843,3},{5913,1842,3},{5913,1830,3},{5912,1828,3},{5910,1832,3}, {5907,1820,3},{5910,1825,3},{5912,1825,3},{5912,1822,3},{5908,1813,3},{5907,1812,3}, {5905,1805,3},{5903,1805,3},{5903,1800,3},{5902,1802,3},{5897,1797,3},{5893,1798,3}, {5892,1793,3},{5892,1790,3},{5887,1790,3},{5892,1787,3},{5892,1782,3},{5897,1778,3}, {5890,1780,3},{5888,1778,3},{5892,1778,3},{5892,1775,3},{5912,1777,3},{5913,1777,3}, {5912,1773,3},{5905,1772,3},{5905,1770,3},{5908,1767,3},{5912,1768,3},{5917,1767,3}, {5912,1767,3},{5908,1762,3},{5897,1762,3},{5895,1758,3},{5893,1762,3},{5892,1760,3}, {5892,1763,3},{5890,1763,3},{5890,1753,3},{5887,1758,3},{5885,1758,3},{5890,1745,3}, {5887,1747,3},{5882,1745,3},{5880,1748,3},{5880,1733,3},{5878,1738,3},{5875,1737,3}, {5875,1730,3},{5872,1725,3},{5873,1715,3},{5875,1712,3},{5877,1708,3},{5875,1703,3}, {5873,1708,3},{5870,1707,3},{5870,1715,3},{5868,1712,3},{5865,1708,3},{5867,1705,3}, {5867,1695,3},{5867,1702,3},{5863,1703,3},{5863,1695,3},{5862,1690,3},{5867,1625,3}, {5863,1627,3},{5863,1618,3},{5862,1628,3},{5863,1633,3},{5858,1640,3},{5863,1643,3}, {5862,1652,3},{5863,1657,3},{5860,1668,3},{5860,1675,3},{5860,1673,3},{5860,1678,3}, {5858,1678,3},{5855,1683,3},{5855,1682,3},{5853,1685,3},{5852,1683,3},{5848,1693,3}, {5848,1685,3},{5845,1683,3},{5842,1675,3},{5848,1650,3},{5847,1642,3},{5840,1672,3}, {5837,1670,3},{5835,1675,3},{5837,1677,3},{5835,1677,3},{5833,1673,3},{5835,1663,3}, {5832,1670,3},{5828,1672,3},{5832,1673,3},{5832,1680,3},{5828,1675,3},{5827,1670,3}, {5825,1680,3},{5823,1678,3},{5823,1682,3},{5820,1682,3},{5818,1683,3},{5817,1678,3}, {5813,1680,3},{5812,1677,3},{5818,1665,3},{5820,1663,3},{5820,1662,3},{5815,1668,3}, {5813,1667,3},{5810,1670,3},{5808,1675,3},{5805,1672,3},{5805,1668,3},{5805,1673,3}, {5802,1675,3},{5802,1668,3},{5800,1670,3},{5800,1668,3},{5805,1665,3},{5802,1663,3}, {5798,1667,3},{5798,1662,3},{5798,1668,3},{5797,1672,3},{5797,1673,3},{5792,1678,3}, {5792,1673,3},{5788,1677,3},{5787,1673,3},{5792,1670,3},{5790,1668,3},{5790,1662,3}, {5792,1660,3},{5792,1665,3},{5798,1655,3},{5800,1652,3},{5798,1650,3},{5795,1652,3}, {5793,1658,3},{5790,1658,3},{5788,1657,3},{5792,1648,3},{5790,1648,3},{5790,1647,3}, {5777,1668,3},{5773,1670,3},{5790,1642,3},{5785,1645,3},{5780,1657,3},{5778,1658,3}, {5773,1667,3},{5773,1665,3},{5770,1672,3},{5770,1670,3},{5768,1672,3},{5768,1665,3}, {5770,1657,3},{5767,1663,3},{5765,1663,3},{5765,1658,3},{5763,1663,3},{5758,1657,3}, {5762,1655,3},{5762,1652,3},{5760,1653,3},{5758,1652,3},{5757,1655,3},{5757,1652,3}, {5755,1663,3},{5747,1670,3},{5747,1667,3},{5745,1667,3},{5745,1663,3},{5742,1663,3}, {5742,1667,3},{5740,1663,3},{5738,1663,3},{5738,1655,3},{5733,1657,3},{5733,1653,3}, {5732,1657,3},{5730,1648,3},{5728,1647,3},{5723,1650,3},{5723,1647,3},{5717,1647,3}, {5712,1652,3},{5712,1655,3},{5708,1657,3},{5707,1655,3},{5705,1658,3},{5705,1653,3}, {5707,1653,3},{5705,1652,3},{5705,1645,3},{5702,1647,3},{5702,1643,3},{5698,1643,3}, {5695,1647,3},{5692,1643,3},{5687,1645,3},{5680,1640,3},{5678,1643,3},{5680,1647,3}, {5677,1648,3},{5677,1645,3},{5677,1642,3},{5675,1635,3},{5667,1638,3},{5665,1627,3}, {5660,1622,3},{5653,1622,3},{5653,1618,3},{5642,1610,3},{5625,1605,3},{5620,1600,3}, {5620,1595,3},{5608,1585,3},{5610,1578,3},{5613,1582,3},{5615,1582,3},{5617,1580,3}, {5615,1577,3},{5618,1565,3},{5617,1558,3},{5620,1560,3},{5617,1550,3},{5617,1548,3}, {5615,1547,3},{5618,1542,3},{5613,1537,3},{5613,1530,3},{5617,1532,3},{5618,1530,3}, {5615,1523,3},{5617,1515,3},{5615,1512,3},{5618,1507,3},{5618,1503,3},{5615,1505,3}, {5617,1485,3},{5613,1483,3},{5617,1480,3},{5617,1470,3},{5612,1468,3},{5603,1477,3}, {5600,1473,3},{5602,1470,3},{5600,1468,3},{5600,1462,3},{5603,1460,3},{5605,1460,3}, {5603,1457,3},{5605,1457,3},{5603,1448,3},{5600,1445,3},{5593,1433,3},{5590,1432,3}, {5588,1427,3},{5583,1422,3},{5572,1420,3},{5567,1427,3},{5562,1428,3},{5553,1437,3}, {5538,1420,3},{5538,1407,3},{5543,1393,3},{5543,1388,3},{5542,1385,3},{5542,1365,3}, {5537,1358,3},{5538,1352,3},{5533,1338,3},{5533,1330,3},{5535,1317,3},{5535,1307,3}, {5538,1302,3},{5540,1295,3},{5538,1293,3},{5538,1288,3},{5538,1283,3},{5540,1283,3}, {5543,1287,3},{5542,1293,3},{5543,1295,3},{5545,1297,3},{5543,1298,3},{5557,1292,3}, {5558,1293,3},{5562,1303,3},{5567,1307,3},{5572,1302,3},{5572,1297,3},{5573,1297,3}, {5575,1292,3},{5578,1293,3},{5582,1293,3},{5585,1288,3},{5587,1282,3},{5600,1270,3}, {5603,1270,3},{5613,1257,3},{5623,1253,3},{5630,1245,3},{5627,1263,3},{5623,1267,3}, {5622,1272,3},{5623,1282,3},{5627,1283,3},{5630,1277,3},{5637,1273,3},{5638,1263,3}, {5642,1262,3},{5645,1267,3},{5647,1273,3},{5643,1285,3},{5645,1290,3},{5653,1293,3}, {5663,1288,3},{5665,1282,3},{5665,1278,3},{5665,1272,3},{5667,1270,3},{5668,1267,3}, {5672,1267,3},{5675,1262,3},{5683,1257,3},{5685,1253,3},{5688,1248,3},{5692,1235,3}, {5702,1233,3},{5707,1223,3},{5708,1222,3},{5712,1223,3},{5713,1222,3},{5718,1220,3}, {5718,1215,3},{5722,1220,3},{5722,1213,3},{5723,1210,3},{5723,1215,3},{5725,1210,3}, {5728,1215,3},{5732,1215,3},{5733,1212,3},{5733,1205,3},{5738,1210,3},{5740,1207,3}, {5740,1210,3},{5743,1210,3},{5745,1203,3},{5743,1202,3},{5735,1198,3},{5737,1197,3}, {5735,1193,3},{5738,1195,3},{5738,1190,3},{5747,1192,3},{5748,1195,3},{5750,1192,3}, {5750,1193,3},{5752,1190,3},{5762,1192,3},{5762,1190,3},{5760,1188,3},{5760,1187,3}, {5763,1187,3},{5767,1183,3},{5768,1187,3},{5770,1180,3},{5772,1175,3},{5770,1175,3}, {5770,1170,3},{5773,1172,3},{5778,1182,3},{5778,1173,3},{5783,1170,3},{5783,1167,3}, {5787,1170,3},{5788,1168,3},{5790,1175,3},{5792,1177,3},{5793,1173,3},{5800,1180,3}, {5805,1180,3},{5807,1178,3},{5812,1183,3},{5818,1183,3},{5818,1187,3},{5822,1188,3}, {5822,1185,3},{5830,1180,3},{5833,1188,3},{5833,1172,3},{5830,1172,3},{5830,1165,3}, {5825,1158,3},{5825,1153,3},{5823,1153,3},{5823,1150,3},{5830,1152,3},{5838,1162,3}, {5840,1162,3},{5842,1167,3},{5843,1163,3},{5840,1160,3},{5847,1155,3},{5842,1157,3}, {5833,1153,3},{5828,1148,3},{5827,1140,3},{5832,1145,3},{5830,1140,3},{5833,1138,3}, {5833,1145,3},{5835,1145,3},{5835,1142,3},{5838,1142,3},{5835,1138,3},{5833,1135,3}, {5835,1135,3},{5843,1143,3},{5835,1132,3},{5837,1127,3},{5833,1122,3},{5840,1120,3}, {5842,1125,3},{5845,1125,3},{5847,1128,3},{5850,1123,3},{5855,1125,3},{5857,1128,3}, {5860,1125,3},{5865,1125,3},{5867,1122,3},{5870,1122,3},{5872,1118,3},{5875,1118,3}, {5875,1122,3},{5877,1120,3},{5880,1123,3},{5885,1123,3},{5887,1120,3},{5892,1120,3}, {5895,1110,3},{5898,1118,3},{5900,1112,3},{5907,1118,3},{5910,1132,3},{5898,1143,3}, {5788,2435,131},{5797,2437,3},{5807,2445,3},{5825,2447,3},{5828,2455,3}, {5832,2457,3},{5838,2447,3},{5838,2433,3},{5828,2425,3},{5827,2415,3},{5823,2412,3}, {5832,2397,3},{5832,2388,3},{5833,2385,3},{5835,2383,3},{5833,2373,3},{5840,2372,3}, {5843,2367,3},{5853,2368,3},{5852,2363,3},{5857,2357,3},{5858,2355,3},{5857,2350,3}, {5860,2352,3},{5870,2350,3},{5870,2355,3},{5873,2352,3},{5875,2353,3},{5873,2360,3}, {5875,2368,3},{5872,2378,3},{5873,2380,3},{5877,2378,3},{5878,2378,3},{5877,2388,3}, {5880,2378,3},{5878,2375,3},{5878,2360,3},{5877,2343,3},{5880,2347,3},{5882,2353,3}, {5885,2348,3},{5890,2342,3},{5893,2343,3},{5895,2358,3},{5897,2363,3},{5902,2362,3}, {5905,2357,3},{5902,2362,3},{5900,2357,3},{5897,2355,3},{5898,2345,3},{5902,2340,3}, {5902,2343,3},{5907,2343,3},{5908,2350,3},{5907,2352,3},{5913,2352,3},{5918,2347,3}, {5922,2347,3},{5922,2357,3},{5925,2365,3},{5923,2373,3},{5923,2375,3},{5927,2372,3}, {5928,2383,3},{5927,2390,3},{5928,2403,3},{5927,2408,3},{5930,2410,3},{5935,2402,3}, {5938,2403,3},{5940,2408,3},{5935,2422,3},{5937,2422,3},{5940,2417,3},{5940,2425,3}, {5942,2430,3},{5943,2432,3},{5947,2433,3},{5947,2440,3},{5943,2450,3},{5947,2457,3}, {5943,2463,3},{5945,2467,3},{5947,2462,3},{5947,2467,3},{5950,2468,3},{5945,2473,3}, {5945,2477,3},{5948,2482,3},{5952,2478,3},{5957,2478,3},{5955,2487,3},{5950,2492,3}, {5952,2503,3},{5950,2510,3},{5953,2510,3},{5953,2512,3},{5948,2540,3},{5953,2542,3}, {5952,2552,3},{5953,2555,3},{5957,2548,3},{5967,2548,3},{5957,2563,3},{5957,2567,3}, {5958,2572,3},{5965,2567,3},{5967,2570,3},{5963,2577,3},{5958,2578,3},{5957,2582,3}, {5958,2585,3},{5963,2588,3},{5958,2597,3},{5963,2598,3},{5962,2605,3},{5958,2610,3}, {5958,2625,3},{5955,2643,3},{5953,2650,3},{5955,2665,3},{5948,2682,3},{5945,2697,3}, {5945,2743,3},{5940,2785,3},{5942,2795,3},{5947,2805,3},{5943,2813,3},{5940,2822,3}, {5933,2818,3},{5932,2818,3},{5928,2807,3},{5927,2797,3},{5923,2790,3},{5918,2788,3}, {5915,2783,3},{5910,2778,3},{5903,2777,3},{5898,2773,3},{5902,2752,3},{5898,2727,3}, {5895,2707,3},{5888,2698,3},{5883,2695,3},{5878,2695,3},{5872,2712,3},{5862,2720,3}, {5842,2723,3},{5840,2727,3},{5840,2733,3},{5837,2742,3},{5828,2742,3},{5825,2747,3}, {5820,2747,3},{5810,2755,3},{5808,2760,3},{5803,2758,3},{5797,2762,3},{5800,2765,3}, {5800,2770,3},{5795,2768,3},{5792,2775,3},{5792,2780,3},{5787,2783,3},{5783,2775,3}, {5783,2765,3},{5782,2755,3},{5780,2750,3},{5775,2753,3},{5772,2753,3},{5770,2742,3}, {5765,2738,3},{5760,2737,3},{5755,2732,3},{5755,2723,3},{5757,2712,3},{5760,2702,3}, {5763,2693,3},{5763,2692,3},{5760,2683,3},{5757,2668,3},{5752,2660,3},{5752,2650,3}, {5757,2645,3},{5758,2635,3},{5762,2625,3},{5767,2622,3},{5773,2618,3},{5775,2610,3}, {5778,2602,3},{5783,2605,3},{5785,2605,3},{5785,2593,3},{5787,2583,3},{5792,2577,3}, {5792,2575,3},{5790,2572,3},{5790,2568,3},{5795,2560,3},{5797,2557,3},{5798,2547,3}, {5802,2545,3},{5803,2537,3},{5808,2530,3},{5807,2527,3},{5800,2530,3},{5800,2527,3}, {5805,2522,3},{5807,2522,3},{5808,2512,3},{5803,2505,3},{5800,2495,3},{5798,2487,3}, {5798,2475,3},{5795,2470,3},{5795,2463,3},{5795,2460,3},{5793,2452,3},{5792,2447,3}, {5788,2445,3},{5788,2435,3},{5150,2362,131},{5152,2360,3},{5155,2357,3}, {5165,2353,3},{5167,2355,3},{5175,2355,3},{5178,2362,3},{5180,2363,3},{5183,2360,3}, {5190,2363,3},{5192,2362,3},{5195,2363,3},{5198,2367,3},{5208,2363,3},{5212,2360,3}, {5212,2352,3},{5215,2348,3},{5217,2350,3},{5218,2345,3},{5217,2343,3},{5218,2338,3}, {5220,2338,3},{5222,2330,3},{5223,2330,3},{5223,2320,3},{5228,2318,3},{5228,2317,3}, {5252,2340,3},{5260,2360,3},{5262,2368,3},{5262,2375,3},{5268,2390,3},{5273,2393,3}, {5288,2393,3},{5292,2392,3},{5297,2393,3},{5302,2393,3},{5308,2388,3},{5317,2392,3}, {5320,2387,3},{5323,2385,3},{5325,2382,3},{5340,2375,3},{5348,2367,3},{5363,2362,3}, {5375,2358,3},{5378,2355,3},{5397,2350,3},{5395,2355,3},{5392,2363,3},{5393,2375,3}, {5390,2380,3},{5392,2383,3},{5393,2380,3},{5395,2385,3},{5395,2390,3},{5397,2393,3}, {5393,2403,3},{5397,2413,3},{5393,2422,3},{5392,2432,3},{5392,2443,3},{5397,2452,3}, {5400,2463,3},{5400,2472,3},{5395,2470,3},{5397,2473,3},{5398,2482,3},{5403,2483,3}, {5408,2480,3},{5413,2485,3},{5415,2493,3},{5413,2502,3},{5413,2508,3},{5418,2515,3}, {5427,2523,3},{5427,2533,3},{5430,2543,3},{5432,2552,3},{5430,2552,3},{5428,2555,3}, {5420,2558,3},{5417,2553,3},{5415,2560,3},{5415,2570,3},{5418,2580,3},{5423,2578,3}, {5423,2580,3},{5428,2575,3},{5432,2568,3},{5432,2567,3},{5433,2557,3},{5435,2555,3}, {5437,2558,3},{5442,2563,3},{5448,2565,3},{5455,2572,3},{5460,2577,3},{5465,2573,3}, {5472,2575,3},{5477,2573,3},{5483,2578,3},{5488,2585,3},{5493,2590,3},{5495,2600,3}, {5493,2603,3},{5495,2608,3},{5497,2610,3},{5498,2618,3},{5503,2625,3},{5512,2627,3}, {5515,2637,3},{5513,2647,3},{5517,2652,3},{5515,2655,3},{5515,2665,3},{5520,2668,3}, {5522,2673,3},{5527,2677,3},{5528,2685,3},{5532,2685,3},{5533,2675,3},{5533,2667,3}, {5533,2657,3},{5533,2648,3},{5537,2648,3},{5538,2657,3},{5545,2655,3},{5552,2652,3}, {5557,2660,3},{5562,2663,3},{5567,2662,3},{5570,2667,3},{5570,2670,3},{5570,2682,3}, {5573,2688,3},{5580,2693,3},{5583,2702,3},{5583,2708,3},{5585,2718,3},{5583,2720,3}, {5580,2728,3},{5582,2737,3},{5578,2747,3},{5578,2760,3},{5583,2763,3},{5588,2763,3}, {5595,2770,3},{5598,2780,3},{5603,2782,3},{5607,2793,3},{5612,2797,3},{5613,2805,3}, {5617,2815,3},{5613,2823,3},{5608,2828,3},{5605,2832,3},{5605,2837,3},{5608,2845,3}, {5612,2855,3},{5610,2867,3},{5603,2870,3},{5598,2872,3},{5597,2880,3},{5595,2885,3}, {5600,2892,3},{5603,2900,3},{5605,2910,3},{5602,2917,3},{5598,2927,3},{5597,2938,3}, {5593,2947,3},{5588,2942,3},{5583,2940,3},{5578,2937,3},{5575,2937,3},{5573,2945,3}, {5570,2948,3},{5572,2957,3},{5578,2962,3},{5580,2972,3},{5580,2975,3},{5578,2977,3}, {5578,2978,3},{5582,2983,3},{5585,2990,3},{5585,3000,3},{5583,3010,3},{5587,3020,3}, {5585,3028,3},{5582,3037,3},{5582,3047,3},{5577,3052,3},{5573,3062,3},{5570,3065,3}, {5565,3068,3},{5565,3072,3},{5560,3077,3},{5563,3085,3},{5562,3093,3},{5557,3097,3}, {5550,3095,3},{5545,3090,3},{5540,3093,3},{5535,3088,3},{5533,3083,3},{5528,3085,3}, {5525,3092,3},{5520,3095,3},{5518,3098,3},{5517,3098,3},{5515,3102,3},{5510,3100,3}, {5503,3102,3},{5503,3093,3},{5500,3097,3},{5497,3095,3},{5495,3087,3},{5488,3083,3}, {5483,3077,3},{5480,3077,3},{5478,3085,3},{5473,3093,3},{5470,3102,3},{5468,3100,3}, {5467,3108,3},{5467,3118,3},{5467,3120,3},{5458,3118,3},{5455,3113,3},{5450,3110,3}, {5448,3120,3},{5447,3123,3},{5442,3128,3},{5437,3130,3},{5432,3132,3},{5425,3132,3}, {5423,3140,3},{5420,3148,3},{5417,3150,3},{5413,3157,3},{5413,3167,3},{5412,3168,3}, {5412,3178,3},{5407,3182,3},{5403,3190,3},{5398,3187,3},{5393,3185,3},{5388,3182,3}, {5383,3178,3},{5382,3178,3},{5380,3177,3},{5380,3180,3},{5378,3187,3},{5380,3197,3}, {5380,3205,3},{5380,3215,3},{5378,3222,3},{5377,3230,3},{5373,3237,3},{5373,3247,3}, {5368,3250,3},{5365,3242,3},{5365,3245,3},{5358,3245,3},{5355,3252,3},{5352,3260,3}, {5348,3260,3},{5350,3263,3},{5347,3265,3},{5347,3277,3},{5340,3277,3},{5335,3273,3}, {5333,3273,3},{5333,3265,3},{5330,3257,3},{5328,3253,3},{5323,3248,3},{5318,3242,3}, {5318,3237,3},{5313,3230,3},{5310,3223,3},{5310,3218,3},{5308,3215,3},{5308,3207,3}, {5308,3197,3},{5312,3190,3},{5312,3185,3},{5317,3178,3},{5322,3168,3},{5322,3163,3}, {5318,3158,3},{5320,3150,3},{5320,3147,3},{5320,3143,3},{5315,3138,3},{5310,3138,3}, {5308,3135,3},{5303,3132,3},{5303,3130,3},{5303,3125,3},{5300,3132,3},{5295,3138,3}, {5287,3147,3},{5285,3155,3},{5280,3158,3},{5273,3162,3},{5270,3153,3},{5263,3157,3}, {5258,3158,3},{5257,3167,3},{5253,3167,3},{5253,3163,3},{5252,3160,3},{5247,3162,3}, {5242,3162,3},{5237,3163,3},{5230,3162,3},{5227,3168,3},{5227,3170,3},{5222,3172,3}, {5220,3172,3},{5218,3178,3},{5212,3180,3},{5210,3180,3},{5210,3170,3},{5212,3162,3}, {5212,3150,3},{5213,3142,3},{5210,3135,3},{5207,3132,3},{5205,3130,3},{5207,3120,3}, {5210,3112,3},{5208,3100,3},{5207,3093,3},{5202,3093,3},{5200,3090,3},{5198,3090,3}, {5195,3083,3},{5190,3080,3},{5190,3077,3},{5185,3070,3},{5183,3068,3},{5178,3067,3}, {5178,3063,3},{5177,3065,3},{5172,3063,3},{5172,3058,3},{5167,3058,3},{5162,3055,3}, {5160,3052,3},{5158,3057,3},{5155,3055,3},{5155,3058,3},{5150,3060,3},{5148,3062,3}, {5143,3060,3},{5142,3063,3},{5137,3067,3},{5133,3065,3},{5132,3058,3},{5125,3057,3}, {5128,3050,3},{5128,3047,3},{5130,3047,3},{5133,3038,3},{5135,3035,3},{5140,3037,3}, {5145,3030,3},{5148,3023,3},{5152,3017,3},{5150,3007,3},{5148,2995,3},{5148,2990,3}, {5147,2988,3},{5145,2980,3},{5150,2973,3},{5152,2973,3},{5150,2963,3},{5147,2958,3}, {5147,2955,3},{5142,2953,3},{5140,2950,3},{5142,2943,3},{5138,2937,3},{5140,2932,3}, {5147,2928,3},{5152,2927,3},{5158,2925,3},{5158,2922,3},{5163,2923,3},{5165,2913,3}, {5158,2902,3},{5157,2900,3},{5158,2900,3},{5158,2892,3},{5155,2883,3},{5150,2878,3}, {5145,2880,3},{5143,2880,3},{5142,2878,3},{5147,2873,3},{5145,2870,3},{5143,2868,3}, {5152,2865,3},{5157,2868,3},{5157,2860,3},{5158,2852,3},{5157,2843,3},{5155,2840,3}, {5160,2835,3},{5163,2827,3},{5168,2828,3},{5165,2818,3},{5162,2813,3},{5157,2805,3}, {5157,2795,3},{5157,2792,3},{5162,2792,3},{5163,2788,3},{5158,2783,3},{5153,2780,3}, {5147,2775,3},{5150,2768,3},{5155,2768,3},{5158,2773,3},{5160,2773,3},{5163,2765,3}, {5165,2757,3},{5165,2753,3},{5167,2753,3},{5162,2750,3},{5163,2740,3},{5162,2728,3}, {5160,2727,3},{5160,2725,3},{5165,2727,3},{5167,2727,3},{5167,2723,3},{5167,2720,3}, {5177,2720,3},{5178,2720,3},{5178,2712,3},{5178,2703,3},{5175,2695,3},{5178,2685,3}, {5180,2677,3},{5182,2667,3},{5183,2663,3},{5182,2655,3},{5180,2652,3},{5183,2645,3}, {5187,2642,3},{5187,2633,3},{5188,2622,3},{5190,2615,3},{5192,2607,3},{5192,2598,3}, {5192,2590,3},{5195,2582,3},{5192,2572,3},{5192,2560,3},{5193,2550,3},{5193,2542,3}, {5197,2533,3},{5198,2528,3},{5197,2518,3},{5195,2510,3},{5192,2503,3},{5192,2495,3}, {5193,2483,3},{5190,2475,3},{5192,2467,3},{5193,2453,3},{5193,2442,3},{5192,2438,3}, {5183,2438,3},{5178,2437,3},{5173,2432,3},{5165,2418,3},{5160,2410,3},{5158,2405,3}, {5158,2397,3},{5158,2395,3},{5165,2390,3},{5163,2382,3},{5167,2373,3},{5163,2365,3}, {5157,2363,3},{5152,2368,3},{5150,2362,3},{5607,2107,131},{5613,2103,3}, {5623,2098,3},{5630,2098,3},{5637,2097,3},{5643,2100,3},{5650,2100,3},{5652,2102,3}, {5645,2105,3},{5640,2103,3},{5638,2107,3},{5640,2108,3},{5650,2107,3},{5653,2098,3}, {5668,2105,3},{5683,2105,3},{5692,2127,3},{5698,2137,3},{5707,2142,3},{5720,2142,3}, {5728,2142,3},{5757,2172,3},{5760,2187,3},{5760,2200,3},{5773,2247,3},{5775,2260,3}, {5768,2258,3},{5758,2263,3},{5750,2285,3},{5742,2295,3},{5737,2313,3},{5723,2320,3}, {5717,2323,3},{5710,2327,3},{5705,2335,3},{5703,2350,3},{5698,2358,3},{5697,2368,3}, {5697,2378,3},{5702,2398,3},{5707,2403,3},{5712,2422,3},{5723,2440,3},{5733,2442,3}, {5753,2437,3},{5762,2438,3},{5768,2435,3},{5773,2430,3},{5782,2428,3},{5788,2435,3}, {5788,2445,3},{5792,2447,3},{5793,2452,3},{5795,2460,3},{5795,2463,3},{5795,2470,3}, {5798,2475,3},{5798,2487,3},{5800,2495,3},{5803,2505,3},{5808,2512,3},{5807,2522,3}, {5805,2522,3},{5800,2527,3},{5800,2530,3},{5807,2527,3},{5808,2530,3},{5803,2537,3}, {5802,2545,3},{5798,2547,3},{5797,2557,3},{5795,2560,3},{5790,2568,3},{5790,2572,3}, {5792,2575,3},{5792,2577,3},{5787,2583,3},{5785,2593,3},{5785,2605,3},{5783,2605,3}, {5778,2602,3},{5775,2610,3},{5773,2618,3},{5767,2622,3},{5762,2625,3},{5758,2635,3}, {5757,2645,3},{5752,2650,3},{5752,2660,3},{5757,2668,3},{5760,2683,3},{5763,2692,3}, {5763,2693,3},{5760,2702,3},{5757,2712,3},{5755,2723,3},{5755,2732,3},{5753,2742,3}, {5753,2753,3},{5748,2755,3},{5747,2752,3},{5743,2752,3},{5742,2762,3},{5738,2768,3}, {5735,2777,3},{5732,2783,3},{5727,2787,3},{5722,2785,3},{5717,2782,3},{5712,2775,3}, {5710,2772,3},{5708,2775,3},{5703,2773,3},{5698,2773,3},{5692,2772,3},{5692,2768,3}, {5687,2768,3},{5685,2767,3},{5687,2777,3},{5687,2785,3},{5683,2792,3},{5683,2795,3}, {5682,2798,3},{5677,2793,3},{5672,2797,3},{5667,2802,3},{5662,2803,3},{5658,2813,3}, {5652,2810,3},{5647,2815,3},{5640,2818,3},{5638,2817,3},{5632,2822,3},{5623,2820,3}, {5617,2818,3},{5617,2815,3},{5613,2805,3},{5612,2797,3},{5607,2793,3},{5603,2782,3}, {5598,2780,3},{5595,2770,3},{5588,2763,3},{5583,2763,3},{5578,2760,3},{5578,2747,3}, {5582,2737,3},{5580,2728,3},{5583,2720,3},{5585,2718,3},{5583,2708,3},{5583,2702,3}, {5580,2693,3},{5573,2688,3},{5570,2682,3},{5570,2670,3},{5570,2667,3},{5567,2662,3}, {5567,2653,3},{5570,2642,3},{5570,2638,3},{5573,2635,3},{5578,2625,3},{5583,2623,3}, {5590,2610,3},{5595,2605,3},{5598,2598,3},{5600,2590,3},{5600,2587,3},{5605,2582,3}, {5608,2573,3},{5610,2570,3},{5615,2568,3},{5613,2557,3},{5617,2555,3},{5615,2547,3}, {5615,2537,3},{5615,2532,3},{5618,2523,3},{5618,2515,3},{5618,2510,3},{5623,2507,3}, {5628,2503,3},{5632,2497,3},{5637,2495,3},{5642,2490,3},{5643,2492,3},{5645,2488,3}, {5640,2483,3},{5640,2473,3},{5637,2465,3},{5633,2460,3},{5630,2458,3},{5627,2450,3}, {5625,2445,3},{5628,2437,3},{5630,2430,3},{5627,2420,3},{5627,2412,3},{5632,2403,3}, {5633,2395,3},{5633,2383,3},{5633,2380,3},{5632,2378,3},{5635,2377,3},{5637,2367,3}, {5633,2357,3},{5635,2347,3},{5638,2337,3},{5637,2325,3},{5637,2317,3},{5632,2313,3}, {5632,2303,3},{5640,2302,3},{5640,2298,3},{5642,2297,3},{5637,2288,3},{5637,2277,3}, {5637,2267,3},{5638,2258,3},{5640,2247,3},{5640,2237,3},{5640,2227,3},{5643,2215,3}, {5642,2205,3},{5642,2200,3},{5637,2193,3},{5637,2183,3},{5633,2175,3},{5632,2167,3}, {5630,2157,3},{5628,2147,3},{5623,2142,3},{5622,2133,3},{5617,2127,3},{5617,2123,3}, {5608,2122,3},{5608,2112,3},{5607,2107,3},{5525,2128,131},{5528,2127,3}, {5528,2128,3},{5533,2127,3},{5537,2125,3},{5533,2118,3},{5542,2125,3},{5547,2125,3}, {5568,2115,3},{5573,2108,3},{5578,2107,3},{5592,2105,3},{5607,2107,3},{5608,2112,3}, {5608,2122,3},{5617,2123,3},{5617,2127,3},{5622,2133,3},{5623,2142,3},{5628,2147,3}, {5630,2157,3},{5632,2167,3},{5633,2175,3},{5637,2183,3},{5637,2193,3},{5642,2200,3}, {5642,2205,3},{5643,2215,3},{5640,2227,3},{5640,2237,3},{5640,2247,3},{5638,2258,3}, {5637,2267,3},{5637,2277,3},{5637,2288,3},{5642,2297,3},{5640,2298,3},{5640,2302,3}, {5632,2303,3},{5632,2313,3},{5637,2317,3},{5637,2325,3},{5638,2337,3},{5635,2347,3}, {5633,2357,3},{5637,2367,3},{5635,2377,3},{5632,2378,3},{5633,2380,3},{5633,2383,3}, {5633,2395,3},{5632,2403,3},{5627,2412,3},{5627,2420,3},{5630,2430,3},{5628,2437,3}, {5625,2445,3},{5627,2450,3},{5630,2458,3},{5633,2460,3},{5637,2465,3},{5640,2473,3}, {5640,2483,3},{5645,2488,3},{5643,2492,3},{5642,2490,3},{5637,2495,3},{5632,2497,3}, {5628,2503,3},{5623,2507,3},{5618,2510,3},{5618,2515,3},{5618,2523,3},{5615,2532,3}, {5615,2537,3},{5615,2547,3},{5617,2555,3},{5613,2557,3},{5615,2568,3},{5610,2570,3}, {5608,2573,3},{5605,2582,3},{5600,2587,3},{5600,2590,3},{5598,2598,3},{5595,2605,3}, {5590,2610,3},{5583,2623,3},{5578,2625,3},{5573,2635,3},{5570,2638,3},{5570,2642,3}, {5567,2653,3},{5567,2662,3},{5562,2663,3},{5557,2660,3},{5552,2652,3},{5545,2655,3}, {5538,2657,3},{5537,2648,3},{5533,2648,3},{5533,2657,3},{5533,2667,3},{5533,2675,3}, {5532,2685,3},{5528,2685,3},{5527,2677,3},{5522,2673,3},{5520,2668,3},{5515,2665,3}, {5515,2655,3},{5517,2652,3},{5513,2647,3},{5515,2637,3},{5512,2627,3},{5503,2625,3}, {5498,2618,3},{5497,2610,3},{5495,2608,3},{5493,2603,3},{5495,2600,3},{5493,2590,3}, {5488,2585,3},{5483,2578,3},{5477,2573,3},{5472,2575,3},{5465,2573,3},{5460,2577,3}, {5455,2572,3},{5448,2565,3},{5442,2563,3},{5437,2558,3},{5435,2555,3},{5433,2557,3}, {5432,2567,3},{5432,2568,3},{5428,2575,3},{5423,2580,3},{5423,2578,3},{5418,2580,3}, {5415,2570,3},{5415,2560,3},{5417,2553,3},{5420,2558,3},{5428,2555,3},{5430,2552,3}, {5432,2552,3},{5430,2543,3},{5427,2533,3},{5427,2523,3},{5418,2515,3},{5413,2508,3}, {5413,2502,3},{5415,2493,3},{5413,2485,3},{5408,2480,3},{5403,2483,3},{5398,2482,3}, {5397,2473,3},{5395,2470,3},{5400,2472,3},{5400,2463,3},{5397,2452,3},{5392,2443,3}, {5392,2432,3},{5393,2422,3},{5397,2413,3},{5393,2403,3},{5397,2393,3},{5395,2390,3}, {5395,2385,3},{5393,2380,3},{5392,2383,3},{5390,2380,3},{5393,2375,3},{5392,2363,3}, {5395,2355,3},{5397,2350,3},{5400,2347,3},{5402,2352,3},{5405,2352,3},{5418,2345,3}, {5418,2342,3},{5425,2333,3},{5425,2323,3},{5428,2320,3},{5430,2315,3},{5430,2307,3}, {5432,2305,3},{5435,2307,3},{5435,2302,3},{5438,2300,3},{5440,2287,3},{5440,2282,3}, {5437,2278,3},{5440,2275,3},{5447,2270,3},{5453,2268,3},{5460,2268,3},{5462,2272,3}, {5467,2273,3},{5472,2273,3},{5477,2282,3},{5480,2288,3},{5485,2287,3},{5490,2285,3}, {5492,2280,3},{5495,2273,3},{5498,2267,3},{5497,2267,3},{5502,2262,3},{5507,2257,3}, {5507,2255,3},{5505,2247,3},{5507,2238,3},{5507,2228,3},{5505,2217,3},{5503,2207,3}, {5503,2205,3},{5508,2203,3},{5508,2200,3},{5508,2190,3},{5512,2182,3},{5515,2172,3}, {5518,2163,3},{5518,2152,3},{5523,2145,3},{5528,2138,3},{5528,2135,3},{5525,2128,3}, {5528,2093,131},{5542,2105,3},{5553,2110,3},{5572,2108,3},{5568,2113,3}, {5557,2113,3},{5543,2108,3},{5542,2110,3},{5537,2105,3},{5533,2105,3},{5528,2098,3}, {5528,2093,3},{5447,1960,131},{5455,1977,3},{5467,1990,3},{5470,1990,3}, {5472,1993,3},{5477,1997,3},{5487,1992,3},{5495,1997,3},{5495,2003,3},{5497,2027,3}, {5495,2030,3},{5495,2042,3},{5503,2063,3},{5517,2082,3},{5528,2093,3},{5528,2098,3}, {5527,2098,3},{5523,2090,3},{5515,2083,3},{5497,2053,3},{5493,2057,3},{5493,2078,3}, {5490,2087,3},{5490,2098,3},{5490,2107,3},{5490,2108,3},{5495,2125,3},{5520,2118,3}, {5520,2127,3},{5525,2128,3},{5528,2135,3},{5528,2138,3},{5523,2145,3},{5518,2152,3}, {5518,2163,3},{5515,2172,3},{5512,2182,3},{5508,2190,3},{5508,2200,3},{5508,2203,3}, {5503,2205,3},{5503,2207,3},{5505,2217,3},{5507,2228,3},{5507,2238,3},{5505,2247,3}, {5507,2255,3},{5507,2257,3},{5502,2262,3},{5497,2267,3},{5498,2267,3},{5495,2273,3}, {5492,2280,3},{5490,2285,3},{5485,2287,3},{5480,2288,3},{5477,2282,3},{5472,2273,3}, {5467,2273,3},{5462,2272,3},{5460,2268,3},{5453,2268,3},{5447,2270,3},{5440,2275,3}, {5437,2278,3},{5435,2263,3},{5435,2252,3},{5435,2243,3},{5435,2233,3},{5433,2225,3}, {5433,2215,3},{5433,2207,3},{5433,2198,3},{5433,2188,3},{5433,2180,3},{5433,2170,3}, {5433,2162,3},{5433,2153,3},{5433,2142,3},{5435,2073,3},{5442,2018,3},{5442,2005,3}, {5445,1968,3},{5447,1960,3},{4545,2822,131},{4552,2825,3},{4555,2832,3}, {4552,2840,3},{4548,2845,3},{4552,2852,3},{4557,2852,3},{4558,2855,3},{4562,2853,3}, {4567,2852,3},{4568,2850,3},{4572,2853,3},{4575,2860,3},{4577,2860,3},{4577,2863,3}, {4580,2872,3},{4582,2872,3},{4585,2878,3},{4590,2878,3},{4595,2877,3},{4598,2882,3}, {4600,2890,3},{4602,2898,3},{4607,2900,3},{4612,2897,3},{4615,2902,3},{4620,2905,3}, {4622,2903,3},{4628,2895,3},{4633,2898,3},{4638,2897,3},{4647,2895,3},{4650,2902,3}, {4652,2908,3},{4653,2918,3},{4655,2917,3},{4657,2925,3},{4652,2923,3},{4650,2927,3}, {4645,2923,3},{4640,2922,3},{4638,2925,3},{4638,2927,3},{4643,2932,3},{4645,2932,3}, {4650,2933,3},{4650,2935,3},{4648,2937,3},{4645,2942,3},{4647,2940,3},{4648,2947,3}, {4645,2950,3},{4642,2957,3},{4637,2960,3},{4637,2970,3},{4640,2968,3},{4645,2968,3}, {4645,2975,3},{4648,2975,3},{4647,2978,3},{4645,2980,3},{4643,2980,3},{4638,2982,3}, {4637,2990,3},{4640,2993,3},{4638,3000,3},{4640,3007,3},{4638,3010,3},{4643,3015,3}, {4642,3015,3},{4643,3007,3},{4647,3003,3},{4652,2997,3},{4650,2993,3},{4657,2992,3}, {4657,2995,3},{4660,2997,3},{4665,2995,3},{4670,2997,3},{4677,2998,3},{4682,2995,3}, {4683,2997,3},{4683,2993,3},{4683,2992,3},{4683,2990,3},{4688,2988,3},{4688,2987,3}, {4687,2982,3},{4687,2975,3},{4692,2973,3},{4693,2965,3},{4698,2960,3},{4703,2962,3}, {4705,2963,3},{4710,2962,3},{4708,2955,3},{4713,2952,3},{4715,2958,3},{4717,2958,3}, {4727,2957,3},{4727,2960,3},{4732,2960,3},{4738,2957,3},{4735,2950,3},{4733,2950,3}, {4730,2943,3},{4732,2940,3},{4738,2940,3},{4738,2937,3},{4738,2933,3},{4745,2932,3}, {4743,2925,3},{4745,2923,3},{4745,2918,3},{4747,2917,3},{4752,2918,3},{4750,2917,3}, {4757,2915,3},{4757,2917,3},{4760,2923,3},{4767,2922,3},{4772,2922,3},{4775,2927,3}, {4782,2928,3},{4780,2925,3},{4780,2923,3},{4785,2923,3},{4790,2928,3},{4790,2925,3}, {4788,2923,3},{4788,2922,3},{4795,2920,3},{4800,2918,3},{4798,2910,3},{4795,2908,3}, {4795,2905,3},{4797,2897,3},{4795,2893,3},{4800,2890,3},{4803,2885,3},{4807,2885,3}, {4812,2885,3},{4813,2878,3},{4813,2870,3},{4817,2863,3},{4817,2855,3},{4812,2852,3}, {4807,2850,3},{4810,2845,3},{4817,2843,3},{4818,2842,3},{4818,2838,3},{4813,2833,3}, {4813,2832,3},{4815,2832,3},{4820,2837,3},{4825,2835,3},{4823,2827,3},{4822,2820,3}, {4827,2817,3},{4823,2810,3},{4825,2808,3},{4830,2810,3},{4833,2802,3},{4833,2793,3}, {4838,2788,3},{4842,2783,3},{4847,2777,3},{4845,2768,3},{4847,2760,3},{4848,2760,3}, {4848,2758,3},{4847,2752,3},{4842,2745,3},{4842,2738,3},{4845,2735,3},{4843,2732,3}, {4838,2728,3},{4837,2723,3},{4840,2720,3},{4840,2712,3},{4843,2707,3},{4843,2705,3}, {4838,2705,3},{4837,2702,3},{4837,2693,3},{4843,2687,3},{4842,2682,3},{4840,2675,3}, {4838,2675,3},{4833,2683,3},{4832,2683,3},{4827,2678,3},{4828,2677,3},{4830,2677,3}, {4832,2675,3},{4835,2670,3},{4833,2668,3},{4830,2668,3},{4830,2665,3},{4825,2662,3}, {4825,2658,3},{4820,2653,3},{4822,2647,3},{4818,2640,3},{4818,2632,3},{4817,2632,3}, {4808,2627,3},{4807,2623,3},{4800,2620,3},{4798,2617,3},{4797,2585,3},{4793,2577,3}, {4793,2555,3},{4792,2533,3},{4788,2523,3},{4775,2512,3},{4772,2492,3},{4772,2490,3}, {4782,2482,3},{4785,2468,3},{4790,2467,3},{4793,2460,3},{4795,2442,3},{4793,2437,3}, {4793,2432,3},{4790,2423,3},{4792,2413,3},{4795,2405,3},{4797,2397,3},{4793,2387,3}, {4797,2383,3},{4798,2378,3},{4798,2367,3},{4802,2355,3},{4798,2348,3},{4800,2338,3}, {4805,2330,3},{4808,2327,3},{4812,2317,3},{4808,2312,3},{4802,2308,3},{4798,2303,3}, {4802,2295,3},{4797,2293,3},{4795,2290,3},{4798,2285,3},{4805,2288,3},{4812,2280,3}, {4810,2262,3},{4818,2257,3},{4820,2258,3},{4820,2255,3},{4825,2250,3},{4825,2238,3}, {4832,2232,3},{4837,2232,3},{4837,2227,3},{4840,2227,3},{4842,2215,3},{4848,2215,3}, {4852,2217,3},{4858,2217,3},{4862,2223,3},{4865,2225,3},{4868,2233,3},{4877,2235,3}, {4880,2238,3},{4885,2238,3},{4890,2243,3},{4898,2247,3},{4900,2253,3},{4908,2255,3}, {4910,2260,3},{4905,2265,3},{4905,2268,3},{4905,2277,3},{4900,2285,3},{4900,2288,3}, {4905,2287,3},{4908,2288,3},{4913,2278,3},{4915,2278,3},{4917,2270,3},{4928,2277,3}, {4938,2273,3},{4943,2268,3},{4948,2268,3},{4952,2265,3},{4957,2268,3},{4963,2275,3}, {4968,2278,3},{4970,2283,3},{4973,2288,3},{4977,2290,3},{4980,2295,3},{4983,2297,3}, {4985,2300,3},{4998,2315,3},{5020,2345,3},{5032,2368,3},{5038,2370,3},{5040,2382,3}, {5040,2400,3},{5047,2403,3},{5050,2403,3},{5055,2413,3},{5058,2410,3},{5063,2410,3}, {5068,2407,3},{5070,2408,3},{5072,2403,3},{5077,2402,3},{5077,2398,3},{5080,2395,3}, {5083,2397,3},{5083,2412,3},{5085,2415,3},{5090,2403,3},{5095,2397,3},{5098,2397,3}, {5100,2392,3},{5107,2390,3},{5110,2387,3},{5115,2387,3},{5122,2373,3},{5128,2370,3}, {5130,2363,3},{5133,2363,3},{5137,2368,3},{5140,2370,3},{5145,2363,3},{5148,2367,3}, {5150,2362,3},{5152,2368,3},{5157,2363,3},{5163,2365,3},{5167,2373,3},{5163,2382,3}, {5165,2390,3},{5158,2395,3},{5158,2397,3},{5158,2405,3},{5160,2410,3},{5165,2418,3}, {5173,2432,3},{5178,2437,3},{5183,2438,3},{5192,2438,3},{5193,2442,3},{5193,2453,3}, {5192,2467,3},{5190,2475,3},{5193,2483,3},{5192,2495,3},{5192,2503,3},{5195,2510,3}, {5197,2518,3},{5198,2528,3},{5197,2533,3},{5193,2542,3},{5193,2550,3},{5192,2560,3}, {5192,2572,3},{5195,2582,3},{5192,2590,3},{5192,2598,3},{5192,2607,3},{5190,2615,3}, {5188,2622,3},{5187,2633,3},{5187,2642,3},{5183,2645,3},{5180,2652,3},{5182,2655,3}, {5183,2663,3},{5182,2667,3},{5180,2677,3},{5178,2685,3},{5175,2695,3},{5178,2703,3}, {5178,2712,3},{5178,2720,3},{5177,2720,3},{5167,2720,3},{5167,2723,3},{5167,2727,3}, {5165,2727,3},{5160,2725,3},{5160,2727,3},{5162,2728,3},{5163,2740,3},{5162,2750,3}, {5167,2753,3},{5165,2753,3},{5165,2757,3},{5163,2765,3},{5160,2773,3},{5158,2773,3}, {5155,2768,3},{5150,2768,3},{5147,2775,3},{5153,2780,3},{5158,2783,3},{5163,2788,3}, {5162,2792,3},{5157,2792,3},{5157,2795,3},{5157,2805,3},{5162,2813,3},{5165,2818,3}, {5168,2828,3},{5163,2827,3},{5160,2835,3},{5155,2840,3},{5157,2843,3},{5158,2852,3}, {5157,2860,3},{5157,2868,3},{5152,2865,3},{5143,2868,3},{5145,2870,3},{5147,2873,3}, {5142,2878,3},{5143,2880,3},{5145,2880,3},{5150,2878,3},{5155,2883,3},{5158,2892,3}, {5158,2900,3},{5157,2900,3},{5158,2902,3},{5165,2913,3},{5163,2923,3},{5158,2922,3}, {5158,2925,3},{5152,2927,3},{5147,2928,3},{5140,2932,3},{5138,2937,3},{5142,2943,3}, {5140,2950,3},{5142,2953,3},{5147,2955,3},{5147,2958,3},{5150,2963,3},{5152,2973,3}, {5150,2973,3},{5145,2980,3},{5147,2988,3},{5148,2990,3},{5148,2995,3},{5150,3007,3}, {5152,3017,3},{5148,3023,3},{5145,3030,3},{5140,3037,3},{5135,3035,3},{5133,3038,3}, {5130,3047,3},{5128,3047,3},{5128,3050,3},{5125,3057,3},{5132,3058,3},{5133,3065,3}, {5137,3067,3},{5142,3063,3},{5143,3060,3},{5148,3062,3},{5150,3060,3},{5155,3058,3}, {5155,3055,3},{5158,3057,3},{5160,3052,3},{5162,3055,3},{5167,3058,3},{5172,3058,3}, {5172,3063,3},{5177,3065,3},{5178,3063,3},{5178,3067,3},{5183,3068,3},{5185,3070,3}, {5190,3077,3},{5190,3080,3},{5195,3083,3},{5198,3090,3},{5200,3090,3},{5202,3093,3}, {5207,3093,3},{5208,3100,3},{5210,3112,3},{5207,3120,3},{5205,3130,3},{5207,3132,3}, {5210,3135,3},{5213,3142,3},{5212,3150,3},{5212,3162,3},{5210,3170,3},{5210,3180,3}, {5210,3190,3},{5208,3193,3},{5203,3195,3},{5203,3197,3},{5205,3205,3},{5205,3213,3}, {5208,3223,3},{5210,3230,3},{5213,3237,3},{5218,3235,3},{5225,3238,3},{5230,3237,3}, {5233,3237,3},{5232,3247,3},{5232,3258,3},{5227,3268,3},{5225,3270,3},{5225,3280,3}, {5228,3283,3},{5225,3290,3},{5227,3298,3},{5230,3305,3},{5233,3313,3},{5238,3320,3}, {5235,3330,3},{5237,3338,3},{5235,3345,3},{5235,3350,3},{5235,3352,3},{5230,3355,3}, {5233,3362,3},{5235,3370,3},{5237,3382,3},{5230,3387,3},{5230,3392,3},{5225,3393,3}, {5222,3400,3},{5218,3407,3},{5215,3408,3},{5213,3413,3},{5208,3412,3},{5208,3408,3}, {5202,3410,3},{5197,3413,3},{5192,3422,3},{5192,3425,3},{5185,3427,3},{5185,3438,3}, {5183,3443,3},{5177,3445,3},{5173,3445,3},{5172,3433,3},{5170,3425,3},{5168,3413,3}, {5163,3413,3},{5160,3420,3},{5157,3427,3},{5152,3430,3},{5145,3427,3},{5140,3422,3}, {5137,3428,3},{5138,3432,3},{5132,3432,3},{5125,3427,3},{5125,3430,3},{5127,3438,3}, {5123,3445,3},{5125,3455,3},{5125,3463,3},{5125,3465,3},{5120,3468,3},{5118,3475,3}, {5118,3482,3},{5120,3490,3},{5123,3497,3},{5122,3505,3},{5122,3513,3},{5115,3513,3}, {5110,3518,3},{5105,3522,3},{5105,3528,3},{5107,3530,3},{5107,3542,3},{5103,3542,3}, {5102,3533,3},{5095,3535,3},{5093,3540,3},{5088,3538,3},{5082,3542,3},{5078,3548,3}, {5072,3548,3},{5067,3550,3},{5065,3542,3},{5060,3543,3},{5060,3542,3},{5052,3547,3}, {5048,3553,3},{5045,3560,3},{5038,3562,3},{5037,3570,3},{5040,3580,3},{5043,3582,3}, {5045,3598,3},{5045,3607,3},{5043,3618,3},{5042,3622,3},{5037,3627,3},{5035,3630,3}, {5030,3632,3},{5033,3643,3},{5030,3652,3},{5030,3660,3},{5028,3657,3},{5023,3662,3}, {5027,3668,3},{5032,3680,3},{5035,3693,3},{5035,3700,3},{5035,3710,3},{5035,3717,3}, {5038,3728,3},{5043,3735,3},{5043,3743,3},{5043,3747,3},{5038,3747,3},{5033,3753,3}, {5030,3762,3},{5030,3763,3},{5025,3763,3},{5018,3765,3},{5013,3772,3},{5008,3780,3}, {5005,3787,3},{5005,3792,3},{5000,3795,3},{4997,3802,3},{4995,3802,3},{4992,3805,3}, {4993,3812,3},{4993,3815,3},{4997,3822,3},{5005,3820,3},{5007,3820,3},{5008,3828,3}, {5008,3830,3},{5008,3833,3},{5003,3837,3},{5000,3837,3},{5000,3847,3},{4997,3853,3}, {4998,3862,3},{4997,3865,3},{4998,3868,3},{4998,3870,3},{4993,3870,3},{4990,3878,3}, {4987,3885,3},{4987,3893,3},{4982,3895,3},{4982,3903,3},{4983,3910,3},{4988,3917,3}, {4985,3922,3},{4977,3927,3},{4975,3935,3},{4977,3947,3},{4975,3958,3},{4973,3962,3}, {4967,3963,3},{4962,3968,3},{4957,3980,3},{4957,3990,3},{4960,3997,3},{4962,4005,3}, {4962,4015,3},{4957,4022,3},{4950,4022,3},{4945,4017,3},{4940,4017,3},{4932,4018,3}, {4925,4020,3},{4923,4013,3},{4918,4008,3},{4918,4003,3},{4912,3998,3},{4908,3995,3}, {4907,3993,3},{4907,3987,3},{4905,3978,3},{4907,3970,3},{4905,3967,3},{4900,3972,3}, {4893,3978,3},{4890,3983,3},{4883,3980,3},{4878,3977,3},{4873,3972,3},{4868,3972,3}, {4863,3968,3},{4860,3968,3},{4858,3977,3},{4858,3983,3},{4852,3987,3},{4850,3985,3}, {4847,3985,3},{4843,3990,3},{4838,3992,3},{4835,3992,3},{4832,3985,3},{4830,3993,3}, {4832,3998,3},{4827,4002,3},{4823,4002,3},{4822,3995,3},{4818,3995,3},{4813,3990,3}, {4808,3988,3},{4805,3982,3},{4800,3982,3},{4793,3980,3},{4788,3978,3},{4783,3975,3}, {4783,3965,3},{4783,3957,3},{4783,3953,3},{4787,3947,3},{4785,3943,3},{4788,3937,3}, {4787,3928,3},{4785,3920,3},{4783,3912,3},{4787,3903,3},{4787,3895,3},{4787,3887,3}, {4787,3883,3},{4782,3883,3},{4782,3880,3},{4775,3878,3},{4770,3878,3},{4768,3877,3}, {4770,3868,3},{4765,3863,3},{4763,3853,3},{4763,3845,3},{4762,3847,3},{4762,3838,3}, {4757,3833,3},{4753,3830,3},{4747,3830,3},{4742,3832,3},{4738,3830,3},{4737,3827,3}, {4732,3823,3},{4730,3823,3},{4730,3832,3},{4725,3833,3},{4723,3827,3},{4718,3823,3}, {4713,3823,3},{4712,3823,3},{4687,3703,3},{4680,3687,3},{4677,3687,3},{4663,3677,3}, {4665,3675,3},{4663,3677,3},{4668,3680,3},{4673,3680,3},{4677,3673,3},{4677,3662,3}, {4675,3658,3},{4675,3652,3},{4672,3638,3},{4662,3628,3},{4660,3627,3},{4662,3627,3}, {4660,3623,3},{4663,3623,3},{4667,3620,3},{4665,3612,3},{4667,3607,3},{4665,3590,3}, {4662,3582,3},{4658,3573,3},{4648,3563,3},{4645,3548,3},{4635,3537,3},{4613,3518,3}, {4607,3498,3},{4608,3498,3},{4612,3505,3},{4613,3505,3},{4618,3520,3},{4635,3535,3}, {4633,3530,3},{4635,3527,3},{4640,3527,3},{4643,3528,3},{4645,3523,3},{4650,3518,3}, {4647,3517,3},{4640,3522,3},{4630,3512,3},{4625,3505,3},{4623,3493,3},{4625,3490,3}, {4622,3488,3},{4618,3482,3},{4603,3483,3},{4593,3487,3},{4578,3495,3},{4565,3507,3}, {4542,3528,3},{4535,3537,3},{4528,3550,3},{4533,3572,3},{4542,3580,3},{4547,3582,3}, {4547,3585,3},{4545,3587,3},{4543,3585,3},{4540,3587,3},{4537,3595,3},{4535,3600,3}, {4537,3603,3},{4542,3607,3},{4547,3613,3},{4547,3630,3},{4543,3630,3},{4545,3635,3}, {4543,3640,3},{4543,3648,3},{4542,3652,3},{4540,3653,3},{4542,3660,3},{4538,3663,3}, {4535,3663,3},{4533,3660,3},{4533,3650,3},{4533,3648,3},{4528,3650,3},{4528,3643,3}, {4515,3640,3},{4508,3645,3},{4503,3637,3},{4503,3627,3},{4500,3622,3},{4503,3605,3}, {4500,3598,3},{4500,3593,3},{4498,3585,3},{4500,3583,3},{4505,3578,3},{4508,3572,3}, {4512,3563,3},{4512,3552,3},{4505,3540,3},{4502,3540,3},{4500,3543,3},{4498,3537,3}, {4495,3537,3},{4495,3525,3},{4492,3523,3},{4488,3515,3},{4478,3508,3},{4478,3505,3}, {4483,3500,3},{4483,3497,3},{4483,3492,3},{4482,3490,3},{4482,3487,3},{4482,3483,3}, {4482,3473,3},{4477,3465,3},{4475,3453,3},{4472,3445,3},{4463,3438,3},{4455,3433,3}, {4455,3427,3},{4450,3423,3},{4448,3418,3},{4443,3412,3},{4438,3393,3},{4438,3372,3}, {4443,3363,3},{4448,3358,3},{4448,3353,3},{4452,3347,3},{4458,3337,3},{4458,3340,3}, {4460,3343,3},{4462,3357,3},{4463,3352,3},{4470,3355,3},{4478,3352,3},{4483,3355,3}, {4485,3360,3},{4492,3362,3},{4510,3355,3},{4515,3345,3},{4518,3338,3},{4515,3325,3}, {4518,3322,3},{4520,3317,3},{4527,3307,3},{4535,3293,3},{4535,3288,3},{4535,3273,3}, {4532,3267,3},{4532,3258,3},{4533,3250,3},{4540,3248,3},{4547,3253,3},{4552,3263,3}, {4553,3270,3},{4555,3275,3},{4557,3283,3},{4560,3282,3},{4565,3290,3},{4573,3318,3}, {4577,3317,3},{4578,3317,3},{4575,3322,3},{4575,3325,3},{4585,3348,3},{4583,3355,3}, {4587,3357,3},{4588,3362,3},{4585,3368,3},{4590,3368,3},{4592,3377,3},{4593,3377,3}, {4595,3367,3},{4593,3362,3},{4597,3365,3},{4600,3363,3},{4602,3365,3},{4603,3363,3}, {4608,3365,3},{4615,3360,3},{4612,3353,3},{4610,3352,3},{4608,3355,3},{4607,3350,3}, {4605,3352,3},{4605,3343,3},{4608,3338,3},{4610,3333,3},{4608,3330,3},{4610,3332,3}, {4612,3332,3},{4613,3325,3},{4613,3322,3},{4615,3323,3},{4622,3323,3},{4617,3320,3}, {4613,3312,3},{4617,3303,3},{4613,3303,3},{4612,3302,3},{4612,3290,3},{4613,3277,3}, {4607,3252,3},{4613,3227,3},{4617,3225,3},{4620,3227,3},{4618,3223,3},{4620,3213,3}, {4625,3205,3},{4627,3197,3},{4630,3195,3},{4632,3188,3},{4628,3190,3},{4628,3180,3}, {4632,3177,3},{4635,3183,3},{4635,3198,3},{4638,3202,3},{4638,3207,3},{4642,3205,3}, {4645,3200,3},{4645,3193,3},{4648,3178,3},{4650,3172,3},{4648,3170,3},{4643,3168,3}, {4647,3167,3},{4655,3153,3},{4658,3152,3},{4655,3158,3},{4655,3177,3},{4652,3187,3}, {4652,3210,3},{4647,3235,3},{4648,3242,3},{4650,3240,3},{4653,3242,3},{4658,3252,3}, {4660,3258,3},{4663,3263,3},{4665,3263,3},{4662,3255,3},{4657,3240,3},{4655,3232,3}, {4660,3223,3},{4657,3213,3},{4662,3212,3},{4663,3202,3},{4677,3193,3},{4682,3193,3}, {4685,3198,3},{4692,3202,3},{4693,3200,3},{4693,3195,3},{4695,3193,3},{4700,3198,3}, {4702,3187,3},{4710,3190,3},{4713,3185,3},{4718,3183,3},{4722,3175,3},{4725,3175,3}, {4725,3173,3},{4722,3173,3},{4718,3180,3},{4717,3182,3},{4712,3182,3},{4708,3187,3}, {4703,3183,3},{4700,3185,3},{4698,3188,3},{4700,3193,3},{4693,3190,3},{4692,3197,3}, {4685,3195,3},{4683,3188,3},{4680,3187,3},{4673,3192,3},{4665,3190,3},{4663,3187,3}, {4662,3182,3},{4665,3163,3},{4663,3158,3},{4660,3157,3},{4663,3148,3},{4665,3148,3}, {4667,3152,3},{4677,3157,3},{4682,3162,3},{4682,3160,3},{4678,3158,3},{4677,3153,3}, {4673,3152,3},{4675,3147,3},{4680,3145,3},{4675,3145,3},{4672,3150,3},{4662,3142,3}, {4660,3133,3},{4663,3118,3},{4662,3107,3},{4655,3085,3},{4655,3078,3},{4650,3075,3}, {4645,3080,3},{4638,3077,3},{4635,3072,3},{4633,3072,3},{4635,3065,3},{4632,3068,3}, {4625,3067,3},{4613,3052,3},{4608,3050,3},{4598,3033,3},{4587,3025,3},{4582,3013,3}, {4587,3013,3},{4590,3012,3},{4585,3010,3},{4582,3010,3},{4582,3008,3},{4580,3007,3}, {4583,3003,3},{4585,2997,3},{4580,2997,3},{4577,2995,3},{4582,2993,3},{4580,2992,3}, {4572,2993,3},{4577,2988,3},{4573,2980,3},{4572,2980,3},{4567,2987,3},{4565,2982,3}, {4565,2978,3},{4563,2978,3},{4562,2973,3},{4565,2973,3},{4570,2968,3},{4578,2970,3}, {4580,2968,3},{4582,2963,3},{4578,2965,3},{4573,2962,3},{4572,2963,3},{4568,2960,3}, {4557,2960,3},{4555,2960,3},{4553,2967,3},{4557,2970,3},{4547,2960,3},{4543,2965,3}, {4547,2967,3},{4545,2968,3},{4547,2970,3},{4543,2972,3},{4547,2973,3},{4542,2975,3}, {4542,2973,3},{4540,2975,3},{4532,2977,3},{4525,2973,3},{4523,2973,3},{4522,2972,3}, {4522,2970,3},{4522,2967,3},{4528,2967,3},{4535,2965,3},{4538,2958,3},{4543,2942,3}, {4543,2932,3},{4543,2930,3},{4543,2922,3},{4538,2917,3},{4537,2908,3},{4532,2902,3}, {4532,2897,3},{4528,2893,3},{4532,2880,3},{4528,2880,3},{4527,2875,3},{4523,2880,3}, {4522,2870,3},{4525,2857,3},{4532,2835,3},{4538,2828,3},{4543,2828,3},{4545,2822,3}, {5087,1483,131},{5088,1482,3},{5093,1490,3},{5105,1497,3},{5127,1503,3}, {5135,1497,3},{5143,1498,3},{5147,1495,3},{5153,1473,3},{5155,1472,3},{5160,1477,3}, {5167,1475,3},{5172,1467,3},{5178,1465,3},{5182,1460,3},{5185,1462,3},{5190,1470,3}, {5195,1472,3},{5200,1472,3},{5207,1477,3},{5212,1468,3},{5223,1472,3},{5228,1458,3}, {5238,1453,3},{5243,1455,3},{5243,1458,3},{5248,1463,3},{5253,1462,3},{5257,1463,3}, {5262,1460,3},{5265,1448,3},{5275,1435,3},{5277,1430,3},{5282,1422,3},{5283,1415,3}, {5285,1413,3},{5288,1417,3},{5297,1415,3},{5305,1435,3},{5313,1438,3},{5320,1438,3}, {5327,1445,3},{5330,1442,3},{5345,1438,3},{5355,1430,3},{5362,1432,3},{5367,1428,3}, {5373,1427,3},{5370,1422,3},{5370,1430,3},{5373,1428,3},{5373,1433,3},{5368,1442,3}, {5367,1453,3},{5360,1460,3},{5365,1462,3},{5367,1457,3},{5370,1453,3},{5375,1457,3}, {5377,1462,3},{5385,1463,3},{5380,1458,3},{5385,1457,3},{5387,1443,3},{5390,1443,3}, {5390,1438,3},{5388,1437,3},{5387,1442,3},{5385,1442,3},{5382,1433,3},{5380,1435,3}, {5387,1422,3},{5393,1423,3},{5392,1442,3},{5397,1452,3},{5403,1475,3},{5405,1493,3}, {5415,1532,3},{5420,1565,3},{5425,1585,3},{5427,1605,3},{5428,1613,3},{5427,1607,3}, {5427,1617,3},{5427,1622,3},{5428,1622,3},{5430,1620,3},{5428,1613,3},{5435,1627,3}, {5432,1623,3},{5432,1625,3},{5435,1633,3},{5438,1632,3},{5437,1628,3},{5448,1643,3}, {5447,1643,3},{5447,1647,3},{5450,1648,3},{5450,1645,3},{5455,1655,3},{5460,1692,3}, {5467,1707,3},{5473,1727,3},{5477,1758,3},{5483,1792,3},{5483,1833,3},{5470,1870,3}, {5463,1883,3},{5460,1882,3},{5470,1870,3},{5478,1843,3},{5473,1840,3},{5470,1848,3}, {5463,1847,3},{5463,1850,3},{5463,1852,3},{5455,1857,3},{5445,1857,3},{5443,1860,3}, {5442,1867,3},{5438,1872,3},{5435,1888,3},{5435,1905,3},{5438,1942,3},{5440,1952,3}, {5447,1960,3},{5445,1968,3},{5442,2005,3},{5442,2018,3},{5435,2073,3},{5433,2142,3}, {5433,2153,3},{5433,2162,3},{5433,2170,3},{5433,2180,3},{5433,2188,3},{5433,2198,3}, {5433,2207,3},{5433,2215,3},{5433,2225,3},{5435,2233,3},{5435,2243,3},{5435,2252,3}, {5435,2263,3},{5437,2278,3},{5440,2282,3},{5440,2287,3},{5438,2300,3},{5435,2302,3}, {5435,2307,3},{5432,2305,3},{5430,2307,3},{5430,2315,3},{5428,2320,3},{5425,2323,3}, {5425,2333,3},{5418,2342,3},{5418,2345,3},{5405,2352,3},{5402,2352,3},{5400,2347,3}, {5397,2350,3},{5378,2355,3},{5375,2358,3},{5363,2362,3},{5348,2367,3},{5340,2375,3}, {5325,2382,3},{5323,2385,3},{5320,2387,3},{5317,2392,3},{5308,2388,3},{5302,2393,3}, {5297,2393,3},{5292,2392,3},{5288,2393,3},{5273,2393,3},{5268,2390,3},{5262,2375,3}, {5262,2368,3},{5260,2360,3},{5252,2340,3},{5228,2317,3},{5228,2318,3},{5223,2320,3}, {5223,2330,3},{5222,2330,3},{5220,2338,3},{5218,2338,3},{5217,2343,3},{5218,2345,3}, {5217,2350,3},{5215,2348,3},{5212,2352,3},{5212,2360,3},{5208,2363,3},{5198,2367,3}, {5195,2363,3},{5192,2362,3},{5190,2363,3},{5183,2360,3},{5180,2363,3},{5178,2362,3}, {5175,2355,3},{5167,2355,3},{5165,2353,3},{5155,2357,3},{5152,2360,3},{5150,2362,3}, {5148,2367,3},{5145,2363,3},{5140,2370,3},{5137,2368,3},{5133,2363,3},{5130,2363,3}, {5128,2370,3},{5122,2373,3},{5115,2387,3},{5110,2387,3},{5107,2390,3},{5100,2392,3}, {5098,2397,3},{5095,2397,3},{5090,2403,3},{5085,2415,3},{5083,2412,3},{5083,2397,3}, {5080,2395,3},{5077,2398,3},{5077,2402,3},{5072,2403,3},{5070,2408,3},{5068,2407,3}, {5063,2410,3},{5058,2410,3},{5055,2413,3},{5050,2403,3},{5047,2403,3},{5040,2400,3}, {5040,2382,3},{5038,2370,3},{5032,2368,3},{5020,2345,3},{4998,2315,3},{4985,2300,3}, {4983,2297,3},{4980,2295,3},{4977,2290,3},{4973,2288,3},{4970,2283,3},{4968,2278,3}, {4963,2275,3},{4957,2268,3},{4952,2265,3},{4948,2268,3},{4943,2268,3},{4938,2273,3}, {4928,2277,3},{4917,2270,3},{4915,2278,3},{4913,2278,3},{4908,2288,3},{4905,2287,3}, {4900,2288,3},{4900,2285,3},{4905,2277,3},{4905,2268,3},{4905,2265,3},{4910,2260,3}, {4908,2255,3},{4910,2242,3},{4913,2235,3},{4915,2223,3},{4918,2223,3},{4922,2203,3}, {4928,2202,3},{4933,2197,3},{4933,2193,3},{4938,2183,3},{4938,2180,3},{4935,2178,3}, {4938,2175,3},{4942,2170,3},{4943,2162,3},{4942,2143,3},{4945,2128,3},{4940,2120,3}, {4943,2113,3},{4942,2107,3},{4940,2105,3},{4937,2110,3},{4937,2103,3},{4930,2098,3}, {4930,2092,3},{4933,2087,3},{4933,2082,3},{4942,2070,3},{4940,2065,3},{4942,2062,3}, {4938,2057,3},{4942,2045,3},{4938,2043,3},{4938,2040,3},{4940,2038,3},{4940,2033,3}, {4935,2032,3},{4933,2020,3},{4930,2017,3},{4932,2015,3},{4917,2008,3},{4922,2000,3}, {4923,1995,3},{4923,1992,3},{4920,1985,3},{4920,1978,3},{4922,1977,3},{4923,1977,3}, {4928,1983,3},{4930,1980,3},{4935,1980,3},{4940,1978,3},{4938,1973,3},{4940,1963,3}, {4945,1965,3},{4945,1958,3},{4957,1953,3},{4962,1947,3},{4957,1938,3},{4953,1937,3}, {4953,1928,3},{4952,1925,3},{4945,1923,3},{4943,1920,3},{4942,1920,3},{4940,1912,3}, {4942,1908,3},{4942,1907,3},{4940,1903,3},{4940,1897,3},{4950,1898,3},{4952,1885,3}, {4955,1887,3},{4962,1883,3},{4967,1882,3},{4968,1878,3},{4968,1875,3},{4970,1872,3}, {4972,1863,3},{4982,1857,3},{4987,1862,3},{4987,1858,3},{4992,1858,3},{4990,1853,3}, {4992,1847,3},{4993,1845,3},{4993,1835,3},{4992,1832,3},{4997,1827,3},{4997,1822,3}, {4998,1820,3},{5000,1812,3},{5003,1810,3},{5007,1805,3},{5005,1802,3},{5003,1802,3}, {5003,1805,3},{5000,1805,3},{5000,1797,3},{4998,1792,3},{4998,1783,3},{5008,1773,3}, {5010,1775,3},{5012,1768,3},{5010,1768,3},{5010,1765,3},{5015,1760,3},{5017,1762,3}, {5018,1770,3},{5020,1772,3},{5020,1777,3},{5023,1777,3},{5027,1773,3},{5030,1775,3}, {5032,1772,3},{5032,1770,3},{5030,1770,3},{5027,1765,3},{5027,1748,3},{5025,1745,3}, {5028,1740,3},{5028,1738,3},{5027,1737,3},{5027,1735,3},{5032,1733,3},{5032,1735,3}, {5032,1728,3},{5035,1722,3},{5038,1720,3},{5038,1715,3},{5040,1712,3},{5040,1705,3}, {5043,1690,3},{5042,1687,3},{5037,1692,3},{5032,1695,3},{5028,1702,3},{5022,1702,3}, {5023,1698,3},{5022,1697,3},{5022,1690,3},{5020,1688,3},{5020,1685,3},{5013,1678,3}, {5010,1672,3},{5012,1662,3},{5017,1657,3},{5023,1655,3},{5023,1652,3},{5032,1645,3}, {5032,1640,3},{5038,1637,3},{5037,1628,3},{5038,1627,3},{5042,1625,3},{5042,1622,3}, {5043,1620,3},{5045,1622,3},{5048,1630,3},{5050,1632,3},{5050,1637,3},{5053,1640,3}, {5057,1642,3},{5057,1645,3},{5060,1643,3},{5067,1633,3},{5067,1623,3},{5063,1622,3}, {5063,1618,3},{5067,1612,3},{5060,1605,3},{5060,1602,3},{5060,1600,3},{5063,1602,3}, {5068,1598,3},{5067,1587,3},{5075,1580,3},{5073,1575,3},{5073,1568,3},{5075,1568,3}, {5077,1560,3},{5078,1552,3},{5082,1543,3},{5078,1540,3},{5078,1538,3},{5083,1537,3}, {5085,1532,3},{5088,1528,3},{5093,1527,3},{5095,1530,3},{5100,1523,3},{5098,1518,3}, {5102,1517,3},{5102,1515,3},{5098,1513,3},{5102,1507,3},{5102,1505,3},{5103,1502,3}, {5100,1498,3},{5098,1498,3},{5098,1502,3},{5097,1502,3},{5092,1500,3},{5087,1500,3}, {5087,1483,3},{4800,1715,131},{4803,1715,3},{4803,1708,3},{4808,1708,3}, {4810,1710,3},{4815,1707,3},{4815,1703,3},{4817,1698,3},{4828,1695,3},{4828,1692,3}, {4833,1690,3},{4837,1683,3},{4847,1687,3},{4855,1695,3},{4860,1695,3},{4863,1700,3}, {4868,1702,3},{4873,1705,3},{4877,1710,3},{4882,1713,3},{4885,1720,3},{4887,1727,3}, {4885,1730,3},{4885,1733,3},{4883,1735,3},{4883,1738,3},{4885,1747,3},{4883,1753,3}, {4885,1762,3},{4887,1768,3},{4890,1775,3},{4892,1782,3},{4893,1790,3},{4898,1792,3}, {4902,1797,3},{4903,1805,3},{4907,1812,3},{4910,1817,3},{4915,1818,3},{4920,1818,3}, {4923,1818,3},{4927,1823,3},{4928,1832,3},{4932,1838,3},{4935,1843,3},{4937,1843,3}, {4940,1850,3},{4943,1855,3},{4948,1858,3},{4950,1867,3},{4950,1873,3},{4950,1882,3}, {4952,1885,3},{4950,1898,3},{4940,1897,3},{4940,1903,3},{4942,1907,3},{4942,1908,3}, {4940,1912,3},{4942,1920,3},{4943,1920,3},{4945,1923,3},{4952,1925,3},{4953,1928,3}, {4953,1937,3},{4957,1938,3},{4962,1947,3},{4957,1953,3},{4945,1958,3},{4945,1965,3}, {4940,1963,3},{4938,1973,3},{4940,1978,3},{4935,1980,3},{4930,1980,3},{4928,1983,3}, {4923,1977,3},{4922,1977,3},{4920,1978,3},{4920,1985,3},{4923,1992,3},{4923,1995,3}, {4922,2000,3},{4917,2008,3},{4932,2015,3},{4930,2017,3},{4933,2020,3},{4935,2032,3}, {4940,2033,3},{4940,2038,3},{4938,2040,3},{4938,2043,3},{4942,2045,3},{4938,2057,3}, {4942,2062,3},{4940,2065,3},{4942,2070,3},{4933,2082,3},{4933,2087,3},{4930,2092,3}, {4930,2098,3},{4937,2103,3},{4937,2110,3},{4940,2105,3},{4942,2107,3},{4943,2113,3}, {4940,2120,3},{4945,2128,3},{4942,2143,3},{4943,2162,3},{4942,2170,3},{4938,2175,3}, {4935,2178,3},{4938,2180,3},{4938,2183,3},{4933,2193,3},{4933,2197,3},{4928,2202,3}, {4922,2203,3},{4918,2223,3},{4915,2223,3},{4913,2235,3},{4910,2242,3},{4908,2255,3}, {4900,2253,3},{4898,2247,3},{4890,2243,3},{4885,2238,3},{4880,2238,3},{4877,2235,3}, {4868,2233,3},{4865,2225,3},{4862,2223,3},{4858,2217,3},{4852,2217,3},{4848,2215,3}, {4842,2215,3},{4838,2210,3},{4838,2193,3},{4837,2185,3},{4833,2182,3},{4833,2178,3}, {4837,2172,3},{4845,2163,3},{4850,2162,3},{4850,2155,3},{4855,2152,3},{4857,2145,3}, {4855,2132,3},{4852,2128,3},{4853,2123,3},{4852,2117,3},{4848,2112,3},{4852,2107,3}, {4852,2095,3},{4855,2092,3},{4855,2087,3},{4858,2082,3},{4853,2050,3},{4848,2050,3}, {4843,2043,3},{4835,2040,3},{4828,2033,3},{4827,2030,3},{4825,2028,3},{4828,2025,3}, {4827,2023,3},{4827,2015,3},{4822,2013,3},{4813,1992,3},{4815,1988,3},{4815,1978,3}, {4820,1978,3},{4820,1970,3},{4823,1967,3},{4823,1963,3},{4820,1952,3},{4808,1947,3}, {4808,1937,3},{4807,1927,3},{4805,1923,3},{4805,1907,3},{4807,1903,3},{4805,1895,3}, {4805,1885,3},{4800,1882,3},{4798,1875,3},{4797,1877,3},{4788,1877,3},{4783,1885,3}, {4782,1885,3},{4782,1875,3},{4777,1867,3},{4777,1855,3},{4775,1850,3},{4777,1845,3}, {4773,1830,3},{4777,1798,3},{4775,1778,3},{4777,1772,3},{4783,1762,3},{4783,1757,3}, {4787,1753,3},{4788,1747,3},{4800,1733,3},{4800,1727,3},{4803,1723,3},{4802,1718,3}, {4800,1715,3},{4877,1383,131},{4878,1382,3},{4880,1382,3},{4888,1373,3}, {4888,1368,3},{4890,1365,3},{4895,1363,3},{4898,1352,3},{4895,1348,3},{4898,1340,3}, {4905,1340,3},{4910,1332,3},{4913,1318,3},{4917,1318,3},{4920,1312,3},{4925,1308,3}, {4927,1303,3},{4930,1303,3},{4933,1297,3},{4935,1288,3},{4933,1288,3},{4933,1280,3}, {4940,1275,3},{4943,1267,3},{4947,1263,3},{4952,1263,3},{4953,1260,3},{4962,1257,3}, {4963,1252,3},{4968,1252,3},{4970,1245,3},{4973,1240,3},{4977,1240,3},{4978,1247,3}, {4983,1247,3},{4983,1250,3},{4992,1255,3},{4993,1248,3},{4997,1250,3},{4998,1247,3}, {4998,1243,3},{5003,1235,3},{5005,1227,3},{5008,1225,3},{5010,1220,3},{5013,1220,3}, {5017,1222,3},{5020,1218,3},{5023,1215,3},{5025,1210,3},{5028,1213,3},{5030,1212,3}, {5032,1210,3},{5032,1218,3},{5027,1220,3},{5027,1225,3},{5025,1225,3},{5022,1228,3}, {5018,1228,3},{5017,1232,3},{5023,1233,3},{5023,1235,3},{5028,1237,3},{5030,1240,3}, {5032,1240,3},{5035,1248,3},{5037,1248,3},{5040,1252,3},{5042,1262,3},{5042,1267,3}, {5040,1270,3},{5043,1275,3},{5045,1278,3},{5043,1282,3},{5045,1282,3},{5042,1293,3}, {5042,1298,3},{5045,1302,3},{5050,1303,3},{5052,1313,3},{5050,1318,3},{5058,1325,3}, {5057,1328,3},{5058,1332,3},{5063,1338,3},{5062,1342,3},{5060,1347,3},{5063,1352,3}, {5065,1352,3},{5067,1355,3},{5070,1353,3},{5070,1355,3},{5073,1377,3},{5072,1387,3}, {5075,1390,3},{5078,1390,3},{5078,1395,3},{5082,1398,3},{5080,1403,3},{5082,1407,3}, {5085,1420,3},{5088,1425,3},{5090,1440,3},{5093,1440,3},{5095,1432,3},{5097,1430,3}, {5098,1432,3},{5098,1425,3},{5105,1430,3},{5102,1442,3},{5103,1445,3},{5102,1448,3}, {5105,1450,3},{5102,1450,3},{5100,1457,3},{5098,1460,3},{5092,1457,3},{5093,1465,3}, {5085,1462,3},{5083,1472,3},{5082,1472,3},{5082,1480,3},{5087,1483,3},{5087,1500,3}, {5092,1500,3},{5097,1502,3},{5098,1502,3},{5098,1498,3},{5100,1498,3},{5103,1502,3}, {5102,1505,3},{5102,1507,3},{5098,1513,3},{5102,1515,3},{5102,1517,3},{5098,1518,3}, {5100,1523,3},{5095,1530,3},{5093,1527,3},{5088,1528,3},{5085,1532,3},{5083,1537,3}, {5078,1538,3},{5078,1540,3},{5082,1543,3},{5078,1552,3},{5077,1560,3},{5075,1568,3}, {5073,1568,3},{5073,1575,3},{5075,1580,3},{5067,1587,3},{5068,1598,3},{5063,1602,3}, {5060,1600,3},{5060,1602,3},{5060,1605,3},{5067,1612,3},{5063,1618,3},{5063,1622,3}, {5067,1623,3},{5067,1633,3},{5060,1643,3},{5057,1645,3},{5057,1642,3},{5053,1640,3}, {5050,1637,3},{5050,1632,3},{5048,1630,3},{5045,1622,3},{5043,1620,3},{5042,1622,3}, {5042,1625,3},{5038,1627,3},{5037,1628,3},{5038,1637,3},{5032,1640,3},{5032,1645,3}, {5023,1652,3},{5023,1655,3},{5017,1657,3},{5012,1662,3},{5010,1672,3},{5013,1678,3}, {5020,1685,3},{5020,1688,3},{5022,1690,3},{5022,1697,3},{5023,1698,3},{5022,1702,3}, {5028,1702,3},{5032,1695,3},{5037,1692,3},{5042,1687,3},{5043,1690,3},{5040,1705,3}, {5040,1712,3},{5038,1715,3},{5038,1720,3},{5035,1722,3},{5032,1728,3},{5032,1735,3}, {5032,1733,3},{5027,1735,3},{5027,1737,3},{5028,1738,3},{5028,1740,3},{5025,1745,3}, {5027,1748,3},{5027,1765,3},{5030,1770,3},{5032,1770,3},{5032,1772,3},{5030,1775,3}, {5027,1773,3},{5023,1777,3},{5020,1777,3},{5020,1772,3},{5018,1770,3},{5017,1762,3}, {5015,1760,3},{5010,1765,3},{5010,1768,3},{5012,1768,3},{5010,1775,3},{5008,1773,3}, {4998,1783,3},{4998,1792,3},{5000,1797,3},{5000,1805,3},{5003,1805,3},{5003,1802,3}, {5005,1802,3},{5007,1805,3},{5003,1810,3},{5000,1812,3},{4998,1820,3},{4997,1822,3}, {4997,1827,3},{4992,1832,3},{4993,1835,3},{4993,1845,3},{4992,1847,3},{4990,1853,3}, {4992,1858,3},{4987,1858,3},{4987,1862,3},{4982,1857,3},{4972,1863,3},{4970,1872,3}, {4968,1875,3},{4968,1878,3},{4967,1882,3},{4962,1883,3},{4955,1887,3},{4952,1885,3}, {4950,1882,3},{4950,1873,3},{4950,1867,3},{4948,1858,3},{4943,1855,3},{4940,1850,3}, {4937,1843,3},{4935,1843,3},{4932,1838,3},{4928,1832,3},{4927,1823,3},{4923,1818,3}, {4920,1818,3},{4915,1818,3},{4910,1817,3},{4907,1812,3},{4903,1805,3},{4902,1797,3}, {4898,1792,3},{4893,1790,3},{4892,1782,3},{4890,1775,3},{4887,1768,3},{4885,1762,3}, {4883,1753,3},{4885,1747,3},{4883,1738,3},{4883,1735,3},{4885,1733,3},{4885,1730,3}, {4887,1727,3},{4885,1720,3},{4882,1713,3},{4877,1710,3},{4873,1705,3},{4868,1702,3}, {4863,1700,3},{4860,1695,3},{4855,1695,3},{4870,1692,3},{4873,1688,3},{4872,1683,3}, {4875,1672,3},{4873,1670,3},{4878,1665,3},{4878,1660,3},{4882,1653,3},{4882,1647,3}, {4875,1642,3},{4873,1637,3},{4875,1633,3},{4873,1633,3},{4875,1610,3},{4880,1597,3}, {4883,1595,3},{4883,1590,3},{4885,1590,3},{4885,1588,3},{4887,1588,3},{4887,1585,3}, {4888,1583,3},{4887,1568,3},{4890,1562,3},{4892,1552,3},{4895,1547,3},{4895,1543,3}, {4898,1537,3},{4898,1532,3},{4900,1528,3},{4895,1527,3},{4895,1517,3},{4900,1515,3}, {4902,1503,3},{4902,1500,3},{4898,1498,3},{4892,1500,3},{4882,1495,3},{4877,1497,3}, {4878,1482,3},{4873,1480,3},{4868,1473,3},{4860,1472,3},{4858,1470,3},{4858,1467,3}, {4860,1467,3},{4860,1463,3},{4863,1462,3},{4862,1457,3},{4865,1447,3},{4860,1443,3}, {4860,1438,3},{4855,1433,3},{4857,1433,3},{4860,1420,3},{4860,1407,3},{4863,1402,3}, {4867,1405,3},{4872,1400,3},{4877,1383,3},{4545,2822,131},{4547,2818,3}, {4553,2817,3},{4555,2815,3},{4558,2807,3},{4562,2810,3},{4562,2817,3},{4567,2817,3}, {4577,2815,3},{4578,2812,3},{4582,2812,3},{4587,2813,3},{4600,2808,3},{4607,2808,3}, {4618,2815,3},{4622,2812,3},{4623,2812,3},{4623,2813,3},{4627,2813,3},{4628,2818,3}, {4630,2820,3},{4633,2818,3},{4643,2825,3},{4647,2825,3},{4650,2822,3},{4660,2825,3}, {4667,2823,3},{4683,2812,3},{4688,2812,3},{4690,2810,3},{4692,2810,3},{4698,2808,3}, {4703,2803,3},{4705,2795,3},{4707,2795,3},{4712,2785,3},{4713,2785,3},{4713,2780,3}, {4717,2782,3},{4728,2773,3},{4730,2763,3},{4737,2757,3},{4740,2758,3},{4742,2757,3}, {4745,2758,3},{4747,2755,3},{4748,2748,3},{4757,2743,3},{4758,2738,3},{4765,2730,3}, {4770,2727,3},{4772,2728,3},{4773,2730,3},{4782,2722,3},{4782,2725,3},{4783,2725,3}, {4785,2722,3},{4790,2722,3},{4792,2715,3},{4793,2717,3},{4795,2715,3},{4798,2717,3}, {4798,2713,3},{4800,2713,3},{4802,2708,3},{4803,2712,3},{4803,2707,3},{4808,2703,3}, {4812,2705,3},{4813,2697,3},{4815,2697,3},{4815,2700,3},{4817,2695,3},{4818,2695,3}, {4820,2693,3},{4818,2690,3},{4820,2690,3},{4822,2687,3},{4822,2683,3},{4825,2683,3}, {4825,2675,3},{4827,2673,3},{4825,2672,3},{4827,2670,3},{4825,2668,3},{4825,2662,3}, {4830,2665,3},{4830,2668,3},{4833,2668,3},{4835,2670,3},{4832,2675,3},{4830,2677,3}, {4828,2677,3},{4827,2678,3},{4832,2683,3},{4833,2683,3},{4838,2675,3},{4840,2675,3}, {4842,2682,3},{4843,2687,3},{4837,2693,3},{4837,2702,3},{4838,2705,3},{4843,2705,3}, {4843,2707,3},{4840,2712,3},{4840,2720,3},{4837,2723,3},{4838,2728,3},{4843,2732,3}, {4845,2735,3},{4842,2738,3},{4842,2745,3},{4847,2752,3},{4848,2758,3},{4848,2760,3}, {4847,2760,3},{4845,2768,3},{4847,2777,3},{4842,2783,3},{4838,2788,3},{4833,2793,3}, {4833,2802,3},{4830,2810,3},{4825,2808,3},{4823,2810,3},{4827,2817,3},{4822,2820,3}, {4823,2827,3},{4825,2835,3},{4820,2837,3},{4815,2832,3},{4813,2832,3},{4813,2833,3}, {4818,2838,3},{4818,2842,3},{4817,2843,3},{4810,2845,3},{4807,2850,3},{4812,2852,3}, {4817,2855,3},{4817,2863,3},{4813,2870,3},{4813,2878,3},{4812,2885,3},{4807,2885,3}, {4803,2885,3},{4800,2890,3},{4795,2893,3},{4797,2897,3},{4795,2905,3},{4795,2908,3}, {4798,2910,3},{4800,2918,3},{4795,2920,3},{4788,2922,3},{4788,2923,3},{4790,2925,3}, {4790,2928,3},{4785,2923,3},{4780,2923,3},{4780,2925,3},{4782,2928,3},{4775,2927,3}, {4772,2922,3},{4767,2922,3},{4760,2923,3},{4757,2917,3},{4757,2915,3},{4750,2917,3}, {4752,2918,3},{4747,2917,3},{4745,2918,3},{4745,2923,3},{4743,2925,3},{4745,2932,3}, {4738,2933,3},{4738,2937,3},{4738,2940,3},{4732,2940,3},{4730,2943,3},{4733,2950,3}, {4735,2950,3},{4738,2957,3},{4732,2960,3},{4727,2960,3},{4727,2957,3},{4717,2958,3}, {4715,2958,3},{4713,2952,3},{4708,2955,3},{4710,2962,3},{4705,2963,3},{4703,2962,3}, {4698,2960,3},{4693,2965,3},{4692,2973,3},{4687,2975,3},{4687,2982,3},{4688,2987,3}, {4688,2988,3},{4683,2990,3},{4683,2992,3},{4683,2993,3},{4683,2997,3},{4682,2995,3}, {4677,2998,3},{4670,2997,3},{4665,2995,3},{4660,2997,3},{4657,2995,3},{4657,2992,3}, {4650,2993,3},{4652,2997,3},{4647,3003,3},{4643,3007,3},{4642,3015,3},{4643,3015,3}, {4638,3010,3},{4640,3007,3},{4638,3000,3},{4640,2993,3},{4637,2990,3},{4638,2982,3}, {4643,2980,3},{4645,2980,3},{4647,2978,3},{4648,2975,3},{4645,2975,3},{4645,2968,3}, {4640,2968,3},{4637,2970,3},{4637,2960,3},{4642,2957,3},{4645,2950,3},{4648,2947,3}, {4647,2940,3},{4645,2942,3},{4648,2937,3},{4650,2935,3},{4650,2933,3},{4645,2932,3}, {4643,2932,3},{4638,2927,3},{4638,2925,3},{4640,2922,3},{4645,2923,3},{4650,2927,3}, {4652,2923,3},{4657,2925,3},{4655,2917,3},{4653,2918,3},{4652,2908,3},{4650,2902,3}, {4647,2895,3},{4638,2897,3},{4633,2898,3},{4628,2895,3},{4622,2903,3},{4620,2905,3}, {4615,2902,3},{4612,2897,3},{4607,2900,3},{4602,2898,3},{4600,2890,3},{4598,2882,3}, {4595,2877,3},{4590,2878,3},{4585,2878,3},{4582,2872,3},{4580,2872,3},{4577,2863,3}, {4577,2860,3},{4575,2860,3},{4572,2853,3},{4568,2850,3},{4567,2852,3},{4562,2853,3}, {4558,2855,3},{4557,2852,3},{4552,2852,3},{4548,2845,3},{4552,2840,3},{4555,2832,3}, {4552,2825,3},{4545,2822,3},{4422,2268,131},{4428,2268,3},{4430,2257,3}, {4432,2255,3},{4448,2245,3},{4448,2255,3},{4455,2258,3},{4455,2263,3},{4452,2270,3}, {4453,2275,3},{4457,2277,3},{4460,2272,3},{4463,2260,3},{4472,2248,3},{4472,2243,3}, {4468,2238,3},{4467,2232,3},{4448,2218,3},{4448,2215,3},{4450,2208,3},{4463,2200,3}, {4465,2185,3},{4467,2177,3},{4465,2172,3},{4467,2168,3},{4465,2165,3},{4468,2162,3}, {4477,2158,3},{4478,2153,3},{4478,2140,3},{4482,2137,3},{4487,2137,3},{4487,2148,3}, {4490,2157,3},{4493,2153,3},{4497,2148,3},{4497,2143,3},{4498,2140,3},{4500,2142,3}, {4500,2138,3},{4500,2137,3},{4502,2137,3},{4503,2145,3},{4510,2147,3},{4512,2152,3}, {4515,2152,3},{4518,2148,3},{4522,2142,3},{4523,2127,3},{4527,2120,3},{4532,2117,3}, {4530,2112,3},{4532,2105,3},{4543,2087,3},{4547,2085,3},{4548,2078,3},{4550,2078,3}, {4553,2082,3},{4560,2077,3},{4565,2080,3},{4577,2080,3},{4577,2078,3},{4575,2075,3}, {4575,2072,3},{4580,2067,3},{4583,2065,3},{4590,2058,3},{4592,2050,3},{4595,2045,3}, {4598,2038,3},{4607,2032,3},{4612,2027,3},{4615,2028,3},{4617,2035,3},{4615,2047,3}, {4618,2048,3},{4617,2055,3},{4613,2063,3},{4617,2072,3},{4620,2072,3},{4620,2077,3}, {4623,2075,3},{4627,2082,3},{4627,2087,3},{4625,2092,3},{4627,2095,3},{4625,2098,3}, {4627,2102,3},{4623,2105,3},{4625,2108,3},{4628,2112,3},{4630,2118,3},{4638,2120,3}, {4640,2122,3},{4642,2130,3},{4645,2130,3},{4650,2127,3},{4655,2132,3},{4662,2133,3}, {4662,2140,3},{4665,2145,3},{4668,2145,3},{4668,2148,3},{4672,2152,3},{4673,2153,3}, {4675,2148,3},{4682,2152,3},{4683,2155,3},{4685,2160,3},{4692,2160,3},{4695,2167,3}, {4698,2167,3},{4700,2170,3},{4703,2165,3},{4708,2172,3},{4712,2178,3},{4717,2180,3}, {4718,2185,3},{4723,2183,3},{4727,2187,3},{4730,2187,3},{4735,2193,3},{4738,2202,3}, {4752,2202,3},{4758,2212,3},{4760,2218,3},{4768,2223,3},{4773,2228,3},{4775,2233,3}, {4773,2238,3},{4775,2242,3},{4778,2243,3},{4780,2247,3},{4777,2255,3},{4778,2265,3}, {4783,2272,3},{4783,2277,3},{4788,2277,3},{4790,2285,3},{4795,2290,3},{4797,2293,3}, {4802,2295,3},{4798,2303,3},{4802,2308,3},{4808,2312,3},{4812,2317,3},{4808,2327,3}, {4805,2330,3},{4800,2338,3},{4798,2348,3},{4802,2355,3},{4798,2367,3},{4798,2378,3}, {4797,2383,3},{4793,2387,3},{4797,2397,3},{4795,2405,3},{4792,2413,3},{4790,2423,3}, {4793,2432,3},{4793,2437,3},{4795,2442,3},{4793,2460,3},{4790,2467,3},{4785,2468,3}, {4782,2482,3},{4772,2490,3},{4772,2492,3},{4775,2512,3},{4788,2523,3},{4792,2533,3}, {4793,2555,3},{4793,2577,3},{4797,2585,3},{4798,2617,3},{4800,2620,3},{4807,2623,3}, {4808,2627,3},{4817,2632,3},{4818,2632,3},{4818,2640,3},{4822,2647,3},{4820,2653,3}, {4825,2658,3},{4825,2662,3},{4825,2668,3},{4827,2670,3},{4825,2672,3},{4827,2673,3}, {4825,2675,3},{4825,2683,3},{4822,2683,3},{4822,2687,3},{4820,2690,3},{4818,2690,3}, {4820,2693,3},{4818,2695,3},{4817,2695,3},{4815,2700,3},{4815,2697,3},{4813,2697,3}, {4812,2705,3},{4808,2703,3},{4803,2707,3},{4803,2712,3},{4802,2708,3},{4800,2713,3}, {4798,2713,3},{4798,2717,3},{4795,2715,3},{4793,2717,3},{4792,2715,3},{4790,2722,3}, {4785,2722,3},{4783,2725,3},{4782,2725,3},{4782,2722,3},{4773,2730,3},{4772,2728,3}, {4770,2727,3},{4765,2730,3},{4758,2738,3},{4757,2743,3},{4748,2748,3},{4747,2755,3}, {4745,2758,3},{4742,2757,3},{4740,2758,3},{4737,2757,3},{4730,2763,3},{4728,2773,3}, {4717,2782,3},{4713,2780,3},{4713,2785,3},{4712,2785,3},{4707,2795,3},{4705,2795,3}, {4703,2803,3},{4698,2808,3},{4692,2810,3},{4690,2810,3},{4688,2812,3},{4683,2812,3}, {4667,2823,3},{4660,2825,3},{4650,2822,3},{4647,2825,3},{4643,2825,3},{4633,2818,3}, {4630,2820,3},{4628,2818,3},{4627,2813,3},{4623,2813,3},{4623,2812,3},{4622,2812,3}, {4618,2815,3},{4607,2808,3},{4600,2808,3},{4587,2813,3},{4582,2812,3},{4578,2812,3}, {4577,2815,3},{4567,2817,3},{4562,2817,3},{4562,2810,3},{4558,2807,3},{4555,2815,3}, {4553,2817,3},{4547,2818,3},{4545,2822,3},{4543,2828,3},{4538,2828,3},{4532,2835,3}, {4525,2857,3},{4522,2870,3},{4523,2880,3},{4527,2875,3},{4528,2880,3},{4532,2880,3}, {4528,2893,3},{4532,2897,3},{4532,2902,3},{4537,2908,3},{4538,2917,3},{4543,2922,3}, {4543,2930,3},{4543,2932,3},{4543,2942,3},{4538,2958,3},{4535,2965,3},{4528,2967,3}, {4522,2967,3},{4522,2962,3},{4517,2965,3},{4517,2970,3},{4512,2967,3},{4500,2965,3}, {4490,2963,3},{4488,2960,3},{4485,2962,3},{4482,2957,3},{4478,2917,3},{4473,2907,3}, {4468,2900,3},{4475,2898,3},{4475,2903,3},{4478,2912,3},{4480,2915,3},{4487,2910,3}, {4483,2910,3},{4482,2907,3},{4487,2905,3},{4492,2903,3},{4497,2912,3},{4500,2903,3}, {4500,2898,3},{4495,2887,3},{4492,2887,3},{4490,2888,3},{4488,2887,3},{4482,2895,3}, {4478,2892,3},{4477,2895,3},{4475,2887,3},{4472,2880,3},{4468,2878,3},{4468,2882,3}, {4467,2878,3},{4465,2878,3},{4465,2885,3},{4468,2892,3},{4472,2890,3},{4468,2900,3}, {4463,2895,3},{4468,2898,3},{4468,2897,3},{4467,2895,3},{4467,2892,3},{4460,2878,3}, {4463,2880,3},{4463,2877,3},{4460,2877,3},{4458,2878,3},{4457,2873,3},{4455,2877,3}, {4447,2875,3},{4452,2880,3},{4457,2885,3},{4458,2890,3},{4462,2893,3},{4448,2883,3}, {4442,2875,3},{4433,2868,3},{4435,2868,3},{4433,2865,3},{4432,2863,3},{4423,2863,3}, {4417,2867,3},{4415,2863,3},{4398,2867,3},{4382,2858,3},{4375,2858,3},{4373,2843,3}, {4377,2825,3},{4383,2805,3},{4387,2800,3},{4398,2795,3},{4400,2792,3},{4397,2782,3}, {4397,2773,3},{4405,2765,3},{4402,2760,3},{4402,2740,3},{4405,2737,3},{4408,2728,3}, {4413,2728,3},{4412,2722,3},{4415,2702,3},{4413,2690,3},{4408,2675,3},{4408,2670,3}, {4405,2660,3},{4405,2638,3},{4403,2630,3},{4398,2620,3},{4398,2615,3},{4395,2608,3}, {4392,2607,3},{4385,2595,3},{4378,2588,3},{4375,2582,3},{4372,2578,3},{4367,2563,3}, {4365,2557,3},{4365,2548,3},{4362,2538,3},{4368,2527,3},{4368,2508,3},{4373,2498,3}, {4372,2472,3},{4375,2460,3},{4377,2452,3},{4370,2435,3},{4368,2418,3},{4375,2400,3}, {4377,2387,3},{4380,2375,3},{4380,2362,3},{4383,2350,3},{4385,2328,3},{4380,2313,3}, {4380,2307,3},{4385,2288,3},{4388,2283,3},{4398,2288,3},{4402,2300,3},{4408,2305,3}, {4410,2300,3},{4412,2290,3},{4420,2277,3},{4422,2270,3},{4422,2268,3},{4133,2293,131}, {4137,2297,3},{4142,2295,3},{4145,2298,3},{4148,2297,3},{4153,2295,3},{4155,2297,3}, {4163,2295,3},{4165,2298,3},{4173,2303,3},{4177,2302,3},{4178,2297,3},{4185,2293,3}, {4188,2290,3},{4203,2287,3},{4203,2282,3},{4205,2280,3},{4205,2277,3},{4205,2273,3}, {4207,2272,3},{4207,2268,3},{4215,2252,3},{4220,2250,3},{4222,2247,3},{4232,2237,3}, {4233,2245,3},{4240,2248,3},{4240,2252,3},{4248,2255,3},{4252,2255,3},{4257,2243,3}, {4268,2247,3},{4270,2247,3},{4273,2250,3},{4282,2245,3},{4288,2253,3},{4287,2257,3}, {4290,2260,3},{4287,2267,3},{4290,2275,3},{4293,2277,3},{4298,2278,3},{4300,2285,3}, {4305,2290,3},{4308,2292,3},{4310,2297,3},{4320,2300,3},{4323,2290,3},{4328,2285,3}, {4333,2283,3},{4335,2280,3},{4338,2277,3},{4340,2268,3},{4343,2265,3},{4343,2263,3}, {4347,2258,3},{4347,2255,3},{4357,2250,3},{4365,2250,3},{4368,2243,3},{4377,2240,3}, {4382,2237,3},{4387,2240,3},{4400,2242,3},{4402,2245,3},{4403,2253,3},{4407,2255,3}, {4407,2262,3},{4412,2262,3},{4417,2263,3},{4417,2262,3},{4422,2268,3},{4422,2270,3}, {4420,2277,3},{4412,2290,3},{4410,2300,3},{4408,2305,3},{4402,2300,3},{4398,2288,3}, {4388,2283,3},{4385,2288,3},{4380,2307,3},{4380,2313,3},{4385,2328,3},{4383,2350,3}, {4380,2362,3},{4380,2375,3},{4377,2387,3},{4375,2400,3},{4368,2418,3},{4370,2435,3}, {4377,2452,3},{4375,2460,3},{4372,2472,3},{4373,2498,3},{4368,2508,3},{4368,2527,3}, {4362,2538,3},{4365,2548,3},{4365,2557,3},{4367,2563,3},{4372,2578,3},{4375,2582,3}, {4378,2588,3},{4385,2595,3},{4392,2607,3},{4395,2608,3},{4398,2615,3},{4398,2620,3}, {4403,2630,3},{4405,2638,3},{4405,2660,3},{4408,2670,3},{4408,2675,3},{4413,2690,3}, {4415,2702,3},{4412,2722,3},{4413,2728,3},{4408,2728,3},{4405,2737,3},{4402,2740,3}, {4402,2760,3},{4405,2765,3},{4397,2773,3},{4397,2782,3},{4400,2792,3},{4398,2795,3}, {4387,2800,3},{4383,2805,3},{4377,2825,3},{4373,2843,3},{4375,2858,3},{4360,2857,3}, {4353,2860,3},{4345,2855,3},{4340,2848,3},{4337,2847,3},{4338,2845,3},{4342,2833,3}, {4340,2825,3},{4340,2815,3},{4337,2808,3},{4323,2802,3},{4320,2790,3},{4317,2795,3}, {4307,2792,3},{4303,2788,3},{4295,2790,3},{4285,2790,3},{4285,2788,3},{4278,2790,3}, {4270,2790,3},{4272,2777,3},{4270,2772,3},{4267,2772,3},{4267,2773,3},{4262,2763,3}, {4255,2765,3},{4257,2762,3},{4255,2752,3},{4248,2748,3},{4248,2745,3},{4243,2747,3}, {4247,2748,3},{4243,2750,3},{4245,2753,3},{4245,2760,3},{4245,2762,3},{4242,2765,3}, {4243,2768,3},{4242,2770,3},{4242,2772,3},{4240,2770,3},{4238,2772,3},{4237,2770,3}, {4235,2772,3},{4233,2773,3},{4233,2778,3},{4230,2778,3},{4228,2775,3},{4227,2777,3}, {4225,2775,3},{4225,2778,3},{4212,2790,3},{4207,2798,3},{4200,2802,3},{4198,2802,3}, {4198,2798,3},{4198,2792,3},{4200,2788,3},{4200,2783,3},{4198,2782,3},{4195,2783,3}, {4198,2770,3},{4193,2758,3},{4192,2757,3},{4192,2758,3},{4190,2757,3},{4195,2752,3}, {4195,2748,3},{4200,2742,3},{4207,2737,3},{4208,2733,3},{4212,2723,3},{4208,2720,3}, {4207,2720,3},{4207,2713,3},{4208,2710,3},{4208,2705,3},{4208,2703,3},{4205,2702,3}, {4203,2698,3},{4200,2697,3},{4200,2693,3},{4198,2690,3},{4200,2687,3},{4197,2683,3}, {4198,2680,3},{4197,2675,3},{4198,2663,3},{4193,2657,3},{4190,2658,3},{4188,2658,3}, {4183,2655,3},{4182,2637,3},{4175,2633,3},{4172,2635,3},{4172,2628,3},{4175,2623,3}, {4175,2617,3},{4172,2607,3},{4167,2607,3},{4163,2610,3},{4163,2613,3},{4157,2615,3}, {4153,2618,3},{4148,2617,3},{4143,2620,3},{4142,2617,3},{4135,2613,3},{4135,2605,3}, {4132,2598,3},{4132,2593,3},{4132,2590,3},{4135,2583,3},{4132,2578,3},{4132,2572,3}, {4130,2572,3},{4132,2567,3},{4132,2557,3},{4128,2553,3},{4128,2548,3},{4125,2528,3}, {4125,2523,3},{4128,2522,3},{4135,2512,3},{4133,2508,3},{4137,2507,3},{4140,2493,3}, {4142,2492,3},{4140,2482,3},{4135,2482,3},{4137,2477,3},{4142,2472,3},{4143,2462,3}, {4147,2460,3},{4148,2457,3},{4155,2455,3},{4157,2453,3},{4155,2447,3},{4153,2447,3}, {4153,2440,3},{4152,2432,3},{4155,2430,3},{4157,2425,3},{4153,2420,3},{4152,2418,3}, {4153,2415,3},{4155,2410,3},{4152,2407,3},{4147,2408,3},{4145,2405,3},{4147,2402,3}, {4143,2397,3},{4145,2395,3},{4148,2392,3},{4145,2390,3},{4143,2380,3},{4140,2377,3}, {4142,2367,3},{4138,2363,3},{4140,2355,3},{4140,2353,3},{4142,2343,3},{4140,2340,3}, {4137,2335,3},{4140,2332,3},{4140,2330,3},{4137,2323,3},{4133,2322,3},{4132,2318,3}, {4132,2310,3},{4133,2293,3},{4073,2603,131},{4075,2612,3},{4082,2615,3}, {4083,2622,3},{4085,2620,3},{4088,2622,3},{4088,2623,3},{4090,2625,3},{4092,2627,3}, {4090,2630,3},{4093,2630,3},{4095,2637,3},{4098,2633,3},{4100,2637,3},{4103,2638,3}, {4105,2633,3},{4108,2632,3},{4112,2633,3},{4112,2632,3},{4115,2633,3},{4117,2632,3}, {4120,2633,3},{4125,2633,3},{4127,2642,3},{4135,2653,3},{4133,2658,3},{4135,2663,3}, {4142,2663,3},{4153,2660,3},{4160,2660,3},{4165,2648,3},{4167,2650,3},{4172,2635,3}, {4175,2633,3},{4182,2637,3},{4183,2655,3},{4188,2658,3},{4190,2658,3},{4193,2657,3}, {4198,2663,3},{4197,2675,3},{4198,2680,3},{4197,2683,3},{4200,2687,3},{4198,2690,3}, {4200,2693,3},{4200,2697,3},{4203,2698,3},{4205,2702,3},{4208,2703,3},{4208,2705,3}, {4208,2710,3},{4207,2713,3},{4207,2720,3},{4208,2720,3},{4212,2723,3},{4208,2733,3}, {4207,2737,3},{4200,2742,3},{4195,2748,3},{4195,2752,3},{4190,2757,3},{4192,2758,3}, {4192,2757,3},{4193,2758,3},{4198,2770,3},{4195,2783,3},{4198,2782,3},{4200,2783,3}, {4200,2788,3},{4198,2792,3},{4198,2798,3},{4198,2802,3},{4188,2805,3},{4188,2798,3}, {4182,2797,3},{4175,2803,3},{4173,2803,3},{4167,2808,3},{4165,2808,3},{4158,2813,3}, {4157,2817,3},{4153,2820,3},{4142,2847,3},{4135,2863,3},{4135,2868,3},{4128,2883,3}, {4125,2900,3},{4125,2905,3},{4123,2910,3},{4120,2910,3},{4115,2903,3},{4112,2907,3}, {4108,2905,3},{4105,2903,3},{4103,2898,3},{4100,2898,3},{4100,2893,3},{4095,2882,3}, {4098,2875,3},{4097,2860,3},{4100,2860,3},{4102,2858,3},{4105,2858,3},{4107,2857,3}, {4108,2853,3},{4107,2853,3},{4105,2857,3},{4102,2857,3},{4098,2855,3},{4100,2850,3}, {4105,2842,3},{4108,2823,3},{4108,2815,3},{4103,2802,3},{4097,2795,3},{4097,2787,3}, {4100,2782,3},{4102,2773,3},{4098,2750,3},{4092,2747,3},{4085,2745,3},{4077,2733,3}, {4070,2730,3},{4063,2718,3},{4060,2705,3},{4055,2698,3},{4055,2690,3},{4045,2668,3}, {4042,2668,3},{4038,2662,3},{4037,2662,3},{4033,2658,3},{4028,2648,3},{4027,2647,3}, {4022,2642,3},{4020,2635,3},{4015,2637,3},{4005,2622,3},{4005,2618,3},{4005,2617,3}, {4007,2617,3},{4018,2625,3},{4025,2627,3},{4028,2622,3},{4032,2623,3},{4032,2622,3}, {4037,2632,3},{4043,2643,3},{4050,2660,3},{4052,2668,3},{4055,2672,3},{4055,2678,3}, {4060,2683,3},{4065,2680,3},{4067,2677,3},{4063,2668,3},{4063,2658,3},{4060,2652,3}, {4062,2645,3},{4060,2632,3},{4060,2612,3},{4062,2607,3},{4072,2605,3},{4073,2603,3}, {3822,2217,131},{3817,2233,3},{3813,2242,3},{3813,2250,3},{3808,2265,3}, {3805,2272,3},{3797,2280,3},{3793,2287,3},{3795,2295,3},{3798,2298,3},{3803,2288,3}, {3803,2285,3},{3808,2295,3},{3805,2305,3},{3807,2317,3},{3810,2322,3},{3815,2318,3}, {3815,2323,3},{3817,2318,3},{3817,2313,3},{3818,2315,3},{3822,2312,3},{3817,2307,3}, {3818,2303,3},{3820,2305,3},{3822,2303,3},{3822,2293,3},{3820,2292,3},{3820,2297,3}, {3818,2297,3},{3818,2295,3},{3818,2292,3},{3823,2290,3},{3823,2288,3},{3823,2278,3}, {3825,2277,3},{3828,2280,3},{3832,2270,3},{3837,2268,3},{3838,2265,3},{3837,2263,3}, {3837,2265,3},{3835,2265,3},{3835,2262,3},{3833,2260,3},{3833,2258,3},{3832,2260,3}, {3828,2258,3},{3828,2255,3},{3833,2252,3},{3835,2253,3},{3842,2247,3},{3843,2243,3}, {3845,2240,3},{3842,2242,3},{3838,2238,3},{3837,2240,3},{3833,2238,3},{3835,2230,3}, {3833,2230,3},{3837,2225,3},{3833,2220,3},{3832,2218,3},{3833,2217,3},{3837,2213,3}, {3840,2205,3},{3842,2195,3},{3837,2188,3},{3840,2183,3},{3837,2178,3},{3833,2177,3}, {3835,2172,3},{3835,2165,3},{3833,2157,3},{3830,2152,3},{3833,2143,3},{3832,2147,3}, {3830,2148,3},{3833,2148,3},{3835,2148,3},{3837,2147,3},{3837,2143,3},{3838,2142,3}, {3840,2137,3},{3847,2137,3},{3850,2133,3},{3848,2130,3},{3845,2135,3},{3838,2133,3}, {3838,2130,3},{3837,2130,3},{3837,2127,3},{3833,2127,3},{3832,2123,3},{3833,2120,3}, {3832,2118,3},{3832,2120,3},{3830,2117,3},{3830,2118,3},{3830,2115,3},{3833,2113,3}, {3833,2108,3},{3835,2112,3},{3837,2110,3},{3838,2110,3},{3837,2110,3},{3840,2113,3}, {3842,2112,3},{3840,2110,3},{3842,2108,3},{3843,2108,3},{3842,2110,3},{3843,2112,3}, {3843,2110,3},{3848,2110,3},{3848,2108,3},{3848,2110,3},{3853,2110,3},{3850,2103,3}, {3853,2102,3},{3860,2103,3},{3865,2098,3},{3867,2098,3},{3867,2092,3},{3880,2087,3}, {3880,2085,3},{3877,2082,3},{3877,2080,3},{3875,2078,3},{3877,2077,3},{3878,2077,3}, {3880,2073,3},{3885,2073,3},{3887,2080,3},{3892,2075,3},{3895,2077,3},{3893,2078,3}, {3892,2082,3},{3893,2085,3},{3897,2087,3},{3893,2088,3},{3892,2087,3},{3892,2090,3}, {3895,2092,3},{3893,2095,3},{3895,2098,3},{3893,2100,3},{3893,2103,3},{3890,2102,3}, {3887,2108,3},{3892,2110,3},{3890,2115,3},{3887,2117,3},{3887,2118,3},{3890,2117,3}, {3892,2113,3},{3897,2113,3},{3898,2117,3},{3905,2108,3},{3903,2108,3},{3902,2103,3}, {3900,2107,3},{3900,2098,3},{3902,2100,3},{3903,2098,3},{3903,2095,3},{3905,2093,3}, {3903,2093,3},{3907,2095,3},{3907,2090,3},{3903,2087,3},{3903,2090,3},{3905,2083,3}, {3903,2083,3},{3903,2085,3},{3907,2087,3},{3907,2082,3},{3908,2085,3},{3912,2082,3}, {3908,2077,3},{3908,2080,3},{3902,2075,3},{3902,2073,3},{3897,2082,3},{3895,2083,3}, {3898,2077,3},{3895,2075,3},{3895,2073,3},{3898,2070,3},{3902,2072,3},{3907,2068,3}, {3912,2060,3},{3918,2055,3},{3922,2048,3},{3928,2048,3},{3928,2038,3},{3928,2035,3}, {3932,2030,3},{3938,2028,3},{3940,2023,3},{3943,2022,3},{3945,2027,3},{3948,2022,3}, {3950,2025,3},{3952,2025,3},{3952,2023,3},{3950,2022,3},{3952,2018,3},{3952,2017,3}, {3952,2020,3},{3953,2018,3},{3953,2013,3},{3957,2015,3},{3957,2017,3},{3962,2018,3}, {3965,2012,3},{3965,2010,3},{3968,2007,3},{3968,2002,3},{3968,2007,3},{3965,2013,3}, {3965,2020,3},{3965,2022,3},{3968,2023,3},{3967,2027,3},{3970,2027,3},{3973,2032,3}, {3977,2030,3},{3980,2028,3},{3980,2035,3},{3978,2038,3},{3980,2042,3},{3982,2042,3}, {3992,2037,3},{3992,2033,3},{3995,2033,3},{4000,2032,3},{4000,2040,3},{4005,2042,3}, {4007,2045,3},{4008,2052,3},{4007,2055,3},{4007,2058,3},{4010,2067,3},{4015,2068,3}, {4018,2068,3},{4022,2072,3},{4028,2072,3},{4030,2073,3},{4032,2077,3},{4033,2075,3}, {4037,2078,3},{4043,2078,3},{4045,2083,3},{4048,2085,3},{4047,2092,3},{4047,2095,3}, {4052,2098,3},{4057,2105,3},{4068,2105,3},{4077,2097,3},{4080,2098,3},{4085,2098,3}, {4087,2135,3},{4092,2142,3},{4092,2153,3},{4087,2157,3},{4087,2160,3},{4090,2165,3}, {4090,2168,3},{4093,2168,3},{4093,2180,3},{4098,2180,3},{4105,2192,3},{4110,2192,3}, {4113,2198,3},{4113,2202,3},{4115,2207,3},{4113,2208,3},{4112,2213,3},{4115,2217,3}, {4117,2225,3},{4115,2232,3},{4113,2233,3},{4113,2240,3},{4112,2243,3},{4113,2253,3}, {4112,2258,3},{4115,2263,3},{4118,2265,3},{4118,2267,3},{4115,2273,3},{4117,2275,3}, {4132,2277,3},{4133,2280,3},{4133,2293,3},{4132,2310,3},{4132,2318,3},{4133,2322,3}, {4137,2323,3},{4140,2330,3},{4140,2332,3},{4137,2335,3},{4140,2340,3},{4142,2343,3}, {4140,2353,3},{4140,2355,3},{4138,2363,3},{4142,2367,3},{4140,2377,3},{4143,2380,3}, {4145,2390,3},{4148,2392,3},{4145,2395,3},{4143,2397,3},{4147,2402,3},{4145,2405,3}, {4147,2408,3},{4152,2407,3},{4155,2410,3},{4153,2415,3},{4152,2418,3},{4153,2420,3}, {4157,2425,3},{4155,2430,3},{4152,2432,3},{4153,2440,3},{4153,2447,3},{4155,2447,3}, {4157,2453,3},{4155,2455,3},{4148,2457,3},{4147,2460,3},{4143,2462,3},{4142,2472,3}, {4137,2477,3},{4135,2482,3},{4140,2482,3},{4142,2492,3},{4140,2493,3},{4137,2507,3}, {4133,2508,3},{4135,2512,3},{4128,2522,3},{4125,2523,3},{4125,2528,3},{4128,2548,3}, {4128,2553,3},{4132,2557,3},{4132,2567,3},{4130,2572,3},{4132,2572,3},{4132,2578,3}, {4135,2583,3},{4132,2590,3},{4132,2593,3},{4132,2598,3},{4135,2605,3},{4135,2613,3}, {4142,2617,3},{4143,2620,3},{4148,2617,3},{4153,2618,3},{4157,2615,3},{4163,2613,3}, {4163,2610,3},{4167,2607,3},{4172,2607,3},{4175,2617,3},{4175,2623,3},{4172,2628,3}, {4172,2635,3},{4167,2650,3},{4165,2648,3},{4160,2660,3},{4153,2660,3},{4142,2663,3}, {4135,2663,3},{4133,2658,3},{4135,2653,3},{4127,2642,3},{4125,2633,3},{4120,2633,3}, {4117,2632,3},{4115,2633,3},{4112,2632,3},{4112,2633,3},{4108,2632,3},{4105,2633,3}, {4103,2638,3},{4100,2637,3},{4098,2633,3},{4095,2637,3},{4093,2630,3},{4090,2630,3}, {4092,2627,3},{4090,2625,3},{4088,2623,3},{4088,2622,3},{4085,2620,3},{4083,2622,3}, {4082,2615,3},{4075,2612,3},{4073,2603,3},{4073,2605,3},{4078,2603,3},{4080,2602,3}, {4082,2607,3},{4083,2605,3},{4082,2602,3},{4083,2600,3},{4082,2600,3},{4085,2592,3}, {4085,2572,3},{4087,2563,3},{4087,2555,3},{4092,2537,3},{4093,2535,3},{4093,2530,3}, {4093,2527,3},{4095,2513,3},{4098,2513,3},{4098,2517,3},{4102,2513,3},{4100,2503,3}, {4098,2503,3},{4097,2500,3},{4093,2498,3},{4092,2488,3},{4085,2480,3},{4085,2470,3}, {4087,2467,3},{4085,2463,3},{4095,2457,3},{4093,2440,3},{4088,2432,3},{4085,2433,3}, {4083,2430,3},{4083,2433,3},{4072,2410,3},{4073,2398,3},{4078,2385,3},{4075,2373,3}, {4072,2370,3},{4067,2368,3},{4063,2377,3},{4058,2380,3},{4053,2392,3},{4052,2390,3}, {4052,2383,3},{4050,2382,3},{4047,2382,3},{4040,2387,3},{4038,2397,3},{4038,2400,3}, {4040,2400,3},{4045,2400,3},{4040,2403,3},{4037,2407,3},{4035,2418,3},{4032,2418,3}, {4032,2423,3},{4025,2428,3},{4015,2440,3},{4013,2438,3},{4012,2430,3},{4015,2428,3}, {4020,2422,3},{4022,2422,3},{4028,2417,3},{4030,2405,3},{4037,2393,3},{4037,2385,3}, {4033,2378,3},{4035,2373,3},{4032,2370,3},{4028,2370,3},{4020,2377,3},{4017,2390,3}, {4012,2398,3},{4008,2398,3},{4007,2400,3},{4003,2398,3},{4003,2402,3},{4002,2402,3}, {3998,2398,3},{3997,2400,3},{3997,2397,3},{3995,2398,3},{3995,2393,3},{3995,2392,3}, {3997,2393,3},{3997,2390,3},{4002,2385,3},{4002,2382,3},{4012,2377,3},{4023,2365,3}, {4025,2353,3},{4028,2340,3},{4023,2333,3},{4020,2333,3},{4015,2337,3},{4013,2340,3}, {4003,2350,3},{3998,2367,3},{3993,2370,3},{3993,2375,3},{3992,2372,3},{3992,2360,3}, {3997,2345,3},{3997,2337,3},{4000,2338,3},{4007,2333,3},{4008,2332,3},{4018,2332,3}, {4023,2332,3},{4033,2302,3},{4035,2302,3},{4038,2295,3},{4038,2288,3},{4040,2290,3}, {4050,2282,3},{4052,2292,3},{4053,2298,3},{4057,2298,3},{4058,2293,3},{4063,2293,3}, {4065,2290,3},{4063,2285,3},{4060,2285,3},{4057,2282,3},{4057,2275,3},{4052,2275,3}, {4052,2272,3},{4050,2272,3},{4053,2268,3},{4052,2265,3},{4050,2267,3},{4047,2265,3}, {4048,2262,3},{4047,2258,3},{4040,2262,3},{4037,2267,3},{4015,2255,3},{4010,2257,3}, {4005,2257,3},{4002,2260,3},{3995,2272,3},{3987,2273,3},{3980,2285,3},{3958,2293,3}, {3953,2302,3},{3950,2308,3},{3947,2312,3},{3932,2327,3},{3918,2335,3},{3915,2332,3}, {3913,2323,3},{3913,2322,3},{3912,2323,3},{3910,2320,3},{3908,2312,3},{3910,2305,3}, {3915,2308,3},{3913,2312,3},{3910,2310,3},{3913,2317,3},{3917,2318,3},{3915,2322,3}, {3918,2322,3},{3922,2318,3},{3925,2318,3},{3930,2312,3},{3932,2302,3},{3935,2300,3}, {3937,2295,3},{3932,2293,3},{3930,2293,3},{3928,2285,3},{3927,2282,3},{3918,2285,3}, {3915,2285,3},{3917,2288,3},{3918,2287,3},{3918,2288,3},{3917,2292,3},{3912,2292,3}, {3910,2297,3},{3905,2300,3},{3903,2297,3},{3900,2297,3},{3903,2303,3},{3903,2307,3}, {3900,2302,3},{3895,2300,3},{3895,2293,3},{3893,2293,3},{3892,2290,3},{3893,2285,3}, {3888,2283,3},{3887,2275,3},{3888,2272,3},{3888,2267,3},{3890,2265,3},{3892,2262,3}, {3888,2258,3},{3888,2253,3},{3885,2252,3},{3885,2257,3},{3883,2255,3},{3882,2260,3}, {3885,2270,3},{3878,2275,3},{3878,2282,3},{3875,2287,3},{3877,2290,3},{3875,2298,3}, {3875,2303,3},{3872,2307,3},{3863,2308,3},{3863,2312,3},{3865,2318,3},{3868,2317,3}, {3868,2320,3},{3865,2325,3},{3865,2332,3},{3860,2333,3},{3858,2330,3},{3855,2328,3}, {3853,2338,3},{3852,2333,3},{3850,2333,3},{3850,2337,3},{3850,2347,3},{3848,2353,3}, {3850,2355,3},{3850,2358,3},{3847,2360,3},{3845,2357,3},{3845,2360,3},{3842,2360,3}, {3842,2363,3},{3835,2368,3},{3833,2370,3},{3833,2377,3},{3832,2380,3},{3830,2393,3}, {3820,2407,3},{3813,2407,3},{3815,2405,3},{3813,2402,3},{3810,2398,3},{3800,2403,3}, {3797,2402,3},{3793,2402,3},{3790,2405,3},{3788,2402,3},{3787,2407,3},{3782,2405,3}, {3780,2408,3},{3778,2408,3},{3775,2408,3},{3773,2407,3},{3768,2407,3},{3765,2403,3}, {3767,2395,3},{3772,2395,3},{3773,2392,3},{3777,2390,3},{3782,2383,3},{3782,2382,3}, {3780,2380,3},{3782,2378,3},{3780,2378,3},{3782,2377,3},{3783,2377,3},{3785,2375,3}, {3793,2368,3},{3793,2363,3},{3795,2365,3},{3795,2362,3},{3797,2362,3},{3797,2357,3}, {3798,2355,3},{3802,2360,3},{3805,2357,3},{3802,2347,3},{3798,2340,3},{3798,2343,3}, {3797,2342,3},{3797,2322,3},{3792,2313,3},{3792,2302,3},{3790,2302,3},{3788,2298,3}, {3785,2302,3},{3785,2312,3},{3780,2318,3},{3777,2318,3},{3777,2312,3},{3773,2312,3}, {3772,2317,3},{3768,2315,3},{3765,2317,3},{3762,2317,3},{3753,2333,3},{3755,2337,3}, {3762,2332,3},{3763,2338,3},{3762,2342,3},{3757,2338,3},{3755,2337,3},{3753,2342,3}, {3752,2340,3},{3750,2345,3},{3747,2352,3},{3743,2352,3},{3742,2342,3},{3742,2335,3}, {3740,2330,3},{3740,2327,3},{3738,2325,3},{3738,2327,3},{3738,2323,3},{3737,2323,3}, {3737,2325,3},{3735,2325,3},{3733,2327,3},{3733,2318,3},{3730,2320,3},{3728,2318,3}, {3730,2315,3},{3733,2315,3},{3732,2312,3},{3733,2313,3},{3735,2312,3},{3737,2307,3}, {3740,2307,3},{3740,2312,3},{3742,2312,3},{3742,2313,3},{3745,2313,3},{3745,2305,3}, {3747,2307,3},{3748,2305,3},{3745,2300,3},{3752,2298,3},{3752,2293,3},{3753,2293,3}, {3753,2290,3},{3752,2292,3},{3752,2285,3},{3753,2282,3},{3758,2278,3},{3757,2272,3}, {3752,2273,3},{3748,2273,3},{3742,2277,3},{3740,2275,3},{3733,2283,3},{3725,2287,3}, {3720,2292,3},{3712,2290,3},{3712,2295,3},{3708,2297,3},{3708,2298,3},{3707,2298,3}, {3708,2297,3},{3702,2300,3},{3698,2302,3},{3698,2300,3},{3695,2302,3},{3687,2305,3}, {3685,2305,3},{3682,2308,3},{3680,2310,3},{3678,2308,3},{3677,2312,3},{3675,2308,3}, {3673,2308,3},{3673,2307,3},{3673,2303,3},{3668,2303,3},{3668,2307,3},{3667,2303,3}, {3663,2303,3},{3658,2308,3},{3657,2313,3},{3653,2315,3},{3650,2313,3},{3647,2320,3}, {3643,2320,3},{3643,2308,3},{3652,2305,3},{3652,2297,3},{3658,2295,3},{3663,2288,3}, {3665,2288,3},{3667,2287,3},{3668,2283,3},{3665,2282,3},{3667,2282,3},{3672,2282,3}, {3680,2278,3},{3680,2273,3},{3680,2263,3},{3678,2260,3},{3677,2257,3},{3673,2258,3}, {3672,2253,3},{3668,2253,3},{3668,2255,3},{3665,2255,3},{3667,2252,3},{3665,2252,3}, {3662,2253,3},{3660,2252,3},{3662,2248,3},{3660,2248,3},{3653,2248,3},{3645,2252,3}, {3643,2248,3},{3640,2250,3},{3638,2248,3},{3645,2247,3},{3648,2240,3},{3648,2238,3}, {3652,2235,3},{3655,2237,3},{3653,2238,3},{3658,2238,3},{3660,2238,3},{3660,2237,3}, {3663,2237,3},{3665,2238,3},{3667,2237,3},{3670,2238,3},{3670,2235,3},{3672,2233,3}, {3682,2230,3},{3688,2223,3},{3690,2220,3},{3688,2217,3},{3692,2213,3},{3693,2215,3}, {3700,2217,3},{3702,2215,3},{3702,2203,3},{3698,2193,3},{3687,2192,3},{3682,2193,3}, {3680,2197,3},{3672,2188,3},{3680,2182,3},{3678,2177,3},{3682,2170,3},{3688,2168,3}, {3695,2172,3},{3695,2167,3},{3697,2168,3},{3695,2165,3},{3700,2165,3},{3707,2158,3}, {3715,2157,3},{3720,2158,3},{3727,2167,3},{3730,2170,3},{3745,2165,3},{3753,2157,3}, {3762,2145,3},{3765,2140,3},{3767,2133,3},{3765,2132,3},{3763,2132,3},{3767,2130,3}, {3772,2132,3},{3778,2130,3},{3782,2122,3},{3783,2112,3},{3785,2110,3},{3793,2113,3}, {3793,2117,3},{3793,2120,3},{3800,2128,3},{3800,2130,3},{3802,2132,3},{3802,2128,3}, {3812,2137,3},{3822,2137,3},{3818,2140,3},{3822,2140,3},{3820,2142,3},{3820,2147,3}, {3817,2153,3},{3815,2160,3},{3817,2167,3},{3822,2172,3},{3827,2173,3},{3830,2177,3}, {3833,2185,3},{3832,2202,3},{3827,2205,3},{3822,2217,3},{4085,2098,131}, {4090,2098,3},{4092,2095,3},{4093,2085,3},{4092,2083,3},{4090,2080,3},{4092,2073,3}, {4108,2067,3},{4110,2060,3},{4112,2058,3},{4113,2060,3},{4123,2052,3},{4133,2050,3}, {4135,2050,3},{4135,2052,3},{4137,2055,3},{4140,2057,3},{4143,2052,3},{4148,2050,3}, {4153,2045,3},{4155,2047,3},{4158,2055,3},{4165,2053,3},{4170,2053,3},{4173,2052,3}, {4178,2053,3},{4178,2057,3},{4178,2065,3},{4183,2067,3},{4187,2073,3},{4188,2073,3}, {4192,2075,3},{4192,2073,3},{4197,2073,3},{4202,2073,3},{4203,2072,3},{4205,2078,3}, {4207,2082,3},{4208,2088,3},{4212,2093,3},{4213,2100,3},{4217,2107,3},{4218,2113,3}, {4213,2117,3},{4210,2120,3},{4207,2127,3},{4207,2128,3},{4207,2130,3},{4207,2132,3}, {4212,2128,3},{4213,2128,3},{4217,2133,3},{4222,2137,3},{4222,2143,3},{4220,2152,3}, {4222,2158,3},{4222,2165,3},{4223,2172,3},{4227,2175,3},{4232,2178,3},{4230,2185,3}, {4230,2192,3},{4230,2198,3},{4228,2200,3},{4228,2202,3},{4228,2203,3},{4230,2210,3}, {4228,2212,3},{4230,2218,3},{4233,2225,3},{4235,2230,3},{4232,2237,3},{4222,2247,3}, {4220,2250,3},{4215,2252,3},{4207,2268,3},{4207,2272,3},{4205,2273,3},{4205,2277,3}, {4205,2280,3},{4203,2282,3},{4203,2287,3},{4188,2290,3},{4185,2293,3},{4178,2297,3}, {4177,2302,3},{4173,2303,3},{4165,2298,3},{4163,2295,3},{4155,2297,3},{4153,2295,3}, {4148,2297,3},{4145,2298,3},{4142,2295,3},{4137,2297,3},{4133,2293,3},{4133,2280,3}, {4132,2277,3},{4117,2275,3},{4115,2273,3},{4118,2267,3},{4118,2265,3},{4115,2263,3}, {4112,2258,3},{4113,2253,3},{4112,2243,3},{4113,2240,3},{4113,2233,3},{4115,2232,3}, {4117,2225,3},{4115,2217,3},{4112,2213,3},{4113,2208,3},{4115,2207,3},{4113,2202,3}, {4113,2198,3},{4110,2192,3},{4105,2192,3},{4098,2180,3},{4093,2180,3},{4093,2168,3}, {4090,2168,3},{4090,2165,3},{4087,2160,3},{4087,2157,3},{4092,2153,3},{4092,2142,3}, {4087,2135,3},{4085,2098,3},{4245,1852,131},{4248,1857,3},{4252,1857,3}, {4257,1858,3},{4262,1860,3},{4267,1860,3},{4272,1858,3},{4272,1857,3},{4275,1852,3}, {4278,1847,3},{4282,1847,3},{4287,1850,3},{4288,1855,3},{4293,1850,3},{4298,1853,3}, {4300,1860,3},{4300,1867,3},{4302,1875,3},{4307,1873,3},{4312,1870,3},{4315,1873,3}, {4320,1875,3},{4322,1873,3},{4327,1873,3},{4330,1880,3},{4332,1887,3},{4333,1887,3}, {4335,1888,3},{4335,1892,3},{4333,1893,3},{4332,1895,3},{4328,1895,3},{4327,1897,3}, {4323,1902,3},{4322,1903,3},{4322,1905,3},{4323,1907,3},{4327,1912,3},{4332,1917,3}, {4333,1917,3},{4335,1915,3},{4335,1913,3},{4340,1910,3},{4343,1905,3},{4347,1900,3}, {4352,1897,3},{4352,1898,3},{4352,1900,3},{4352,1907,3},{4348,1913,3},{4350,1917,3}, {4352,1923,3},{4350,1930,3},{4352,1932,3},{4352,1930,3},{4353,1928,3},{4358,1932,3}, {4358,1935,3},{4360,1942,3},{4358,1942,3},{4357,1942,3},{4355,1942,3},{4353,1943,3}, {4353,1945,3},{4355,1945,3},{4357,1952,3},{4362,1953,3},{4367,1953,3},{4372,1953,3}, {4375,1948,3},{4380,1945,3},{4383,1940,3},{4388,1937,3},{4392,1932,3},{4397,1927,3}, {4402,1927,3},{4398,1933,3},{4397,1938,3},{4395,1945,3},{4393,1953,3},{4395,1955,3}, {4398,1960,3},{4403,1963,3},{4408,1962,3},{4407,1960,3},{4407,1957,3},{4408,1955,3}, {4412,1950,3},{4415,1948,3},{4415,1947,3},{4415,1945,3},{4417,1940,3},{4422,1938,3}, {4427,1933,3},{4428,1932,3},{4428,1923,3},{4430,1917,3},{4433,1915,3},{4438,1913,3}, {4443,1915,3},{4448,1913,3},{4452,1918,3},{4455,1918,3},{4457,1920,3},{4460,1925,3}, {4465,1928,3},{4468,1932,3},{4473,1935,3},{4478,1937,3},{4483,1937,3},{4488,1937,3}, {4490,1935,3},{4492,1928,3},{4492,1922,3},{4493,1918,3},{4490,1913,3},{4487,1907,3}, {4485,1898,3},{4490,1903,3},{4493,1908,3},{4495,1910,3},{4497,1908,3},{4497,1907,3}, {4495,1907,3},{4495,1905,3},{4500,1908,3},{4505,1912,3},{4510,1910,3},{4512,1910,3}, {4510,1917,3},{4512,1920,3},{4512,1922,3},{4517,1922,3},{4518,1920,3},{4517,1928,3}, {4517,1930,3},{4518,1933,3},{4518,1940,3},{4522,1947,3},{4527,1943,3},{4523,1937,3}, {4523,1928,3},{4528,1927,3},{4528,1925,3},{4528,1923,3},{4528,1915,3},{4532,1910,3}, {4535,1903,3},{4538,1898,3},{4543,1902,3},{4547,1900,3},{4548,1900,3},{4550,1907,3}, {4550,1908,3},{4550,1910,3},{4552,1912,3},{4553,1905,3},{4555,1900,3},{4553,1893,3}, {4553,1892,3},{4558,1892,3},{4563,1895,3},{4568,1897,3},{4572,1892,3},{4575,1887,3}, {4577,1885,3},{4582,1883,3},{4587,1883,3},{4588,1880,3},{4592,1882,3},{4592,1883,3}, {4592,1888,3},{4593,1892,3},{4593,1900,3},{4595,1900,3},{4597,1902,3},{4597,1907,3}, {4602,1907,3},{4603,1910,3},{4602,1913,3},{4598,1915,3},{4598,1928,3},{4603,1930,3}, {4603,1940,3},{4607,1942,3},{4607,1947,3},{4610,1948,3},{4612,1952,3},{4615,1952,3}, {4617,1957,3},{4617,1972,3},{4613,1980,3},{4615,1985,3},{4617,1997,3},{4617,2002,3}, {4615,2005,3},{4617,2012,3},{4615,2015,3},{4615,2020,3},{4612,2027,3},{4607,2032,3}, {4598,2038,3},{4595,2045,3},{4592,2050,3},{4590,2058,3},{4583,2065,3},{4580,2067,3}, {4575,2072,3},{4575,2075,3},{4577,2078,3},{4577,2080,3},{4565,2080,3},{4560,2077,3}, {4553,2082,3},{4550,2078,3},{4548,2078,3},{4547,2085,3},{4543,2087,3},{4532,2105,3}, {4530,2112,3},{4532,2117,3},{4527,2120,3},{4523,2127,3},{4522,2142,3},{4518,2148,3}, {4515,2152,3},{4512,2152,3},{4510,2147,3},{4503,2145,3},{4502,2137,3},{4500,2137,3}, {4500,2138,3},{4500,2142,3},{4498,2140,3},{4497,2143,3},{4497,2148,3},{4493,2153,3}, {4490,2157,3},{4487,2148,3},{4487,2137,3},{4482,2137,3},{4478,2140,3},{4478,2153,3}, {4477,2158,3},{4468,2162,3},{4465,2165,3},{4467,2168,3},{4465,2172,3},{4467,2177,3}, {4465,2185,3},{4463,2200,3},{4450,2208,3},{4448,2215,3},{4448,2218,3},{4467,2232,3}, {4468,2238,3},{4472,2243,3},{4472,2248,3},{4463,2260,3},{4460,2272,3},{4457,2277,3}, {4453,2275,3},{4452,2270,3},{4455,2263,3},{4455,2258,3},{4448,2255,3},{4448,2245,3}, {4432,2255,3},{4430,2257,3},{4428,2268,3},{4422,2268,3},{4417,2262,3},{4417,2263,3}, {4412,2262,3},{4407,2262,3},{4407,2255,3},{4403,2253,3},{4402,2245,3},{4400,2242,3}, {4387,2240,3},{4382,2237,3},{4377,2240,3},{4368,2243,3},{4365,2250,3},{4357,2250,3}, {4347,2255,3},{4347,2258,3},{4343,2263,3},{4343,2265,3},{4340,2268,3},{4338,2277,3}, {4335,2280,3},{4333,2283,3},{4328,2285,3},{4323,2290,3},{4320,2300,3},{4310,2297,3}, {4308,2292,3},{4305,2290,3},{4300,2285,3},{4298,2278,3},{4293,2277,3},{4290,2275,3}, {4287,2267,3},{4290,2260,3},{4287,2257,3},{4288,2253,3},{4282,2245,3},{4273,2250,3}, {4270,2247,3},{4268,2247,3},{4257,2243,3},{4252,2255,3},{4248,2255,3},{4240,2252,3}, {4240,2248,3},{4233,2245,3},{4232,2237,3},{4235,2230,3},{4233,2225,3},{4230,2218,3}, {4228,2212,3},{4230,2210,3},{4228,2203,3},{4228,2202,3},{4228,2200,3},{4230,2198,3}, {4230,2192,3},{4230,2185,3},{4232,2178,3},{4227,2175,3},{4223,2172,3},{4222,2165,3}, {4222,2158,3},{4220,2152,3},{4222,2143,3},{4222,2137,3},{4217,2133,3},{4213,2128,3}, {4212,2128,3},{4207,2132,3},{4207,2130,3},{4207,2128,3},{4207,2127,3},{4210,2120,3}, {4213,2117,3},{4218,2113,3},{4217,2107,3},{4213,2100,3},{4212,2093,3},{4208,2088,3}, {4207,2082,3},{4205,2078,3},{4203,2072,3},{4202,2073,3},{4197,2073,3},{4192,2073,3}, {4192,2075,3},{4188,2073,3},{4187,2073,3},{4183,2067,3},{4178,2065,3},{4178,2057,3}, {4187,2057,3},{4188,2060,3},{4192,2058,3},{4193,2062,3},{4197,2062,3},{4205,2060,3}, {4207,2057,3},{4213,2057,3},{4222,2052,3},{4227,2045,3},{4232,2035,3},{4233,2035,3}, {4233,2025,3},{4238,2023,3},{4240,2022,3},{4243,2022,3},{4252,2017,3},{4257,2005,3}, {4255,2002,3},{4252,2000,3},{4252,1993,3},{4248,1990,3},{4247,1983,3},{4252,1977,3}, {4258,1975,3},{4260,1977,3},{4263,1975,3},{4267,1972,3},{4262,1965,3},{4257,1962,3}, {4255,1962,3},{4252,1957,3},{4247,1955,3},{4240,1947,3},{4238,1943,3},{4233,1942,3}, {4218,1928,3},{4210,1940,3},{4208,1938,3},{4203,1937,3},{4197,1938,3},{4195,1935,3}, {4193,1937,3},{4190,1933,3},{4188,1937,3},{4185,1937,3},{4190,1928,3},{4192,1922,3}, {4195,1915,3},{4198,1913,3},{4198,1915,3},{4205,1913,3},{4208,1907,3},{4210,1908,3}, {4213,1905,3},{4213,1900,3},{4217,1900,3},{4222,1890,3},{4228,1888,3},{4227,1878,3}, {4228,1877,3},{4232,1872,3},{4238,1868,3},{4237,1862,3},{4238,1858,3},{4242,1855,3}, {4243,1857,3},{4240,1870,3},{4248,1868,3},{4243,1862,3},{4245,1852,3},{3968,2002,131}, {3970,1998,3},{3975,2000,3},{3975,1998,3},{3977,2000,3},{3987,2002,3},{3990,1992,3}, {3993,1993,3},{4003,1987,3},{4005,1983,3},{4005,1980,3},{4007,1978,3},{4007,1977,3}, {4010,1975,3},{4013,1965,3},{4022,1947,3},{4030,1938,3},{4037,1935,3},{4042,1928,3}, {4043,1932,3},{4042,1935,3},{4038,1940,3},{4033,1942,3},{4035,1948,3},{4043,1948,3}, {4053,1938,3},{4050,1943,3},{4053,1945,3},{4057,1945,3},{4058,1940,3},{4057,1938,3}, {4055,1938,3},{4057,1938,3},{4065,1930,3},{4070,1935,3},{4080,1937,3},{4082,1940,3}, {4085,1940,3},{4087,1942,3},{4090,1938,3},{4095,1945,3},{4093,1942,3},{4090,1943,3}, {4087,1943,3},{4088,1943,3},{4087,1943,3},{4092,1952,3},{4100,1950,3},{4092,1945,3}, {4098,1947,3},{4100,1947,3},{4102,1943,3},{4110,1945,3},{4113,1943,3},{4115,1947,3}, {4125,1952,3},{4130,1950,3},{4130,1943,3},{4133,1942,3},{4138,1942,3},{4140,1938,3}, {4140,1940,3},{4140,1945,3},{4143,1945,3},{4145,1948,3},{4150,1952,3},{4153,1952,3}, {4155,1947,3},{4158,1945,3},{4157,1950,3},{4158,1957,3},{4162,1958,3},{4160,1960,3}, {4160,1962,3},{4163,1960,3},{4165,1957,3},{4170,1958,3},{4175,1957,3},{4177,1960,3}, {4182,1960,3},{4187,1943,3},{4185,1937,3},{4188,1937,3},{4190,1933,3},{4193,1937,3}, {4195,1935,3},{4197,1938,3},{4203,1937,3},{4208,1938,3},{4210,1940,3},{4218,1928,3}, {4233,1942,3},{4238,1943,3},{4240,1947,3},{4247,1955,3},{4252,1957,3},{4255,1962,3}, {4257,1962,3},{4262,1965,3},{4267,1972,3},{4263,1975,3},{4260,1977,3},{4258,1975,3}, {4252,1977,3},{4247,1983,3},{4248,1990,3},{4252,1993,3},{4252,2000,3},{4255,2002,3}, {4257,2005,3},{4252,2017,3},{4243,2022,3},{4240,2022,3},{4238,2023,3},{4233,2025,3}, {4233,2035,3},{4232,2035,3},{4227,2045,3},{4222,2052,3},{4213,2057,3},{4207,2057,3}, {4205,2060,3},{4197,2062,3},{4193,2062,3},{4192,2058,3},{4188,2060,3},{4187,2057,3}, {4178,2057,3},{4178,2053,3},{4173,2052,3},{4170,2053,3},{4165,2053,3},{4158,2055,3}, {4155,2047,3},{4153,2045,3},{4148,2050,3},{4143,2052,3},{4140,2057,3},{4137,2055,3}, {4135,2052,3},{4135,2050,3},{4133,2050,3},{4123,2052,3},{4113,2060,3},{4112,2058,3}, {4110,2060,3},{4108,2067,3},{4092,2073,3},{4090,2080,3},{4092,2083,3},{4093,2085,3}, {4092,2095,3},{4090,2098,3},{4085,2098,3},{4080,2098,3},{4077,2097,3},{4068,2105,3}, {4057,2105,3},{4052,2098,3},{4047,2095,3},{4047,2092,3},{4048,2085,3},{4045,2083,3}, {4043,2078,3},{4037,2078,3},{4033,2075,3},{4032,2077,3},{4030,2073,3},{4028,2072,3}, {4022,2072,3},{4018,2068,3},{4015,2068,3},{4010,2067,3},{4007,2058,3},{4007,2055,3}, {4008,2052,3},{4007,2045,3},{4005,2042,3},{4000,2040,3},{4000,2032,3},{3995,2033,3}, {3992,2033,3},{3992,2037,3},{3982,2042,3},{3980,2042,3},{3978,2038,3},{3980,2035,3}, {3980,2028,3},{3977,2030,3},{3973,2032,3},{3970,2027,3},{3967,2027,3},{3968,2023,3}, {3965,2022,3},{3965,2020,3},{3965,2013,3},{3968,2007,3},{3968,2002,3},{4295,1752,131}, {4295,1763,3},{4297,1770,3},{4302,1768,3},{4307,1765,3},{4308,1765,3},{4310,1763,3}, {4312,1762,3},{4310,1758,3},{4310,1755,3},{4313,1750,3},{4317,1745,3},{4320,1740,3}, {4323,1735,3},{4327,1728,3},{4332,1727,3},{4337,1727,3},{4342,1727,3},{4347,1727,3}, {4348,1722,3},{4355,1722,3},{4357,1722,3},{4358,1722,3},{4357,1715,3},{4357,1708,3}, {4357,1707,3},{4360,1702,3},{4363,1697,3},{4363,1695,3},{4368,1692,3},{4372,1687,3}, {4377,1682,3},{4380,1678,3},{4385,1675,3},{4388,1672,3},{4392,1665,3},{4395,1660,3}, {4400,1658,3},{4403,1653,3},{4407,1647,3},{4408,1645,3},{4410,1638,3},{4412,1632,3}, {4417,1628,3},{4422,1625,3},{4427,1623,3},{4432,1620,3},{4433,1620,3},{4437,1615,3}, {4438,1613,3},{4443,1615,3},{4448,1615,3},{4453,1613,3},{4453,1612,3},{4455,1612,3}, {4455,1610,3},{4453,1603,3},{4457,1598,3},{4462,1595,3},{4465,1590,3},{4467,1585,3}, {4470,1580,3},{4475,1582,3},{4480,1582,3},{4483,1577,3},{4487,1570,3},{4492,1568,3}, {4497,1572,3},{4500,1575,3},{4505,1575,3},{4510,1577,3},{4515,1577,3},{4520,1573,3}, {4522,1572,3},{4523,1572,3},{4522,1578,3},{4523,1585,3},{4523,1588,3},{4520,1595,3}, {4520,1600,3},{4515,1603,3},{4510,1607,3},{4507,1608,3},{4505,1613,3},{4503,1620,3}, {4500,1627,3},{4500,1630,3},{4502,1637,3},{4507,1640,3},{4512,1643,3},{4515,1648,3}, {4520,1652,3},{4520,1658,3},{4520,1662,3},{4518,1667,3},{4518,1675,3},{4517,1682,3}, {4520,1688,3},{4525,1692,3},{4523,1693,3},{4523,1692,3},{4522,1693,3},{4523,1697,3}, {4522,1700,3},{4518,1705,3},{4515,1710,3},{4513,1717,3},{4512,1720,3},{4512,1722,3}, {4517,1728,3},{4513,1733,3},{4512,1733,3},{4512,1735,3},{4512,1742,3},{4512,1743,3}, {4510,1743,3},{4510,1748,3},{4510,1755,3},{4510,1762,3},{4512,1765,3},{4508,1772,3}, {4505,1777,3},{4502,1783,3},{4505,1790,3},{4508,1795,3},{4513,1800,3},{4513,1802,3}, {4513,1803,3},{4512,1805,3},{4510,1805,3},{4508,1812,3},{4508,1818,3},{4512,1823,3}, {4512,1825,3},{4510,1832,3},{4508,1838,3},{4510,1840,3},{4510,1842,3},{4505,1845,3}, {4503,1852,3},{4507,1855,3},{4508,1858,3},{4508,1860,3},{4507,1862,3},{4507,1860,3}, {4505,1862,3},{4505,1863,3},{4505,1865,3},{4507,1865,3},{4507,1867,3},{4508,1867,3}, {4503,1870,3},{4502,1872,3},{4500,1875,3},{4500,1877,3},{4495,1878,3},{4493,1877,3}, {4493,1875,3},{4490,1875,3},{4487,1882,3},{4485,1887,3},{4485,1895,3},{4485,1898,3}, {4487,1907,3},{4490,1913,3},{4493,1918,3},{4492,1922,3},{4492,1928,3},{4490,1935,3}, {4488,1937,3},{4483,1937,3},{4478,1937,3},{4473,1935,3},{4468,1932,3},{4465,1928,3}, {4460,1925,3},{4457,1920,3},{4455,1918,3},{4452,1918,3},{4448,1913,3},{4443,1915,3}, {4438,1913,3},{4433,1915,3},{4430,1917,3},{4428,1923,3},{4428,1932,3},{4427,1933,3}, {4422,1938,3},{4417,1940,3},{4415,1945,3},{4415,1947,3},{4415,1948,3},{4412,1950,3}, {4408,1955,3},{4407,1957,3},{4407,1960,3},{4408,1962,3},{4403,1963,3},{4398,1960,3}, {4395,1955,3},{4393,1953,3},{4395,1945,3},{4397,1938,3},{4398,1933,3},{4402,1927,3}, {4397,1927,3},{4392,1932,3},{4388,1937,3},{4383,1940,3},{4380,1945,3},{4375,1948,3}, {4372,1953,3},{4367,1953,3},{4362,1953,3},{4357,1952,3},{4355,1945,3},{4353,1945,3}, {4353,1943,3},{4355,1942,3},{4357,1942,3},{4358,1942,3},{4360,1942,3},{4358,1935,3}, {4358,1932,3},{4353,1928,3},{4352,1930,3},{4352,1932,3},{4350,1930,3},{4352,1923,3}, {4350,1917,3},{4348,1913,3},{4352,1907,3},{4352,1900,3},{4352,1898,3},{4352,1897,3}, {4347,1900,3},{4343,1905,3},{4340,1910,3},{4335,1913,3},{4335,1915,3},{4333,1917,3}, {4332,1917,3},{4327,1912,3},{4323,1907,3},{4322,1905,3},{4322,1903,3},{4323,1902,3}, {4327,1897,3},{4328,1895,3},{4332,1895,3},{4333,1893,3},{4335,1892,3},{4335,1888,3}, {4333,1887,3},{4332,1887,3},{4330,1880,3},{4327,1873,3},{4322,1873,3},{4320,1875,3}, {4315,1873,3},{4312,1870,3},{4307,1873,3},{4302,1875,3},{4300,1867,3},{4300,1860,3}, {4298,1853,3},{4293,1850,3},{4288,1855,3},{4287,1850,3},{4282,1847,3},{4278,1847,3}, {4275,1852,3},{4272,1857,3},{4272,1858,3},{4267,1860,3},{4262,1860,3},{4257,1858,3}, {4252,1857,3},{4248,1857,3},{4245,1852,3},{4243,1852,3},{4245,1848,3},{4250,1843,3}, {4255,1842,3},{4260,1838,3},{4262,1833,3},{4262,1825,3},{4265,1820,3},{4267,1815,3}, {4272,1812,3},{4275,1807,3},{4278,1802,3},{4282,1795,3},{4285,1790,3},{4290,1788,3}, {4292,1788,3},{4292,1785,3},{4292,1783,3},{4290,1780,3},{4292,1773,3},{4290,1767,3}, {4288,1767,3},{4293,1755,3},{4292,1762,3},{4293,1760,3},{4295,1752,3},{4288,1767,131}, {4290,1767,3},{4292,1773,3},{4290,1780,3},{4292,1783,3},{4292,1785,3},{4292,1788,3}, {4290,1788,3},{4285,1790,3},{4282,1795,3},{4278,1802,3},{4275,1807,3},{4272,1812,3}, {4267,1815,3},{4265,1820,3},{4262,1825,3},{4262,1833,3},{4260,1838,3},{4255,1842,3}, {4250,1843,3},{4245,1848,3},{4243,1852,3},{4245,1852,3},{4240,1852,3},{4245,1847,3}, {4245,1842,3},{4248,1838,3},{4257,1823,3},{4258,1822,3},{4260,1823,3},{4262,1820,3}, {4265,1807,3},{4267,1805,3},{4267,1807,3},{4270,1805,3},{4268,1803,3},{4270,1800,3}, {4277,1788,3},{4278,1788,3},{4282,1780,3},{4280,1777,3},{4282,1772,3},{4278,1775,3}, {4287,1745,3},{4288,1745,3},{4292,1742,3},{4292,1737,3},{4298,1722,3},{4298,1712,3}, {4300,1702,3},{4302,1703,3},{4305,1700,3},{4305,1702,3},{4302,1707,3},{4302,1723,3}, {4300,1730,3},{4295,1743,3},{4292,1747,3},{4290,1757,3},{4283,1773,3},{4285,1770,3}, {4288,1772,3},{4287,1770,3},{4288,1767,3},{4295,1752,131},{4300,1747,3}, {4303,1750,3},{4302,1743,3},{4303,1745,3},{4303,1743,3},{4307,1742,3},{4303,1740,3}, {4312,1733,3},{4317,1717,3},{4323,1710,3},{4323,1707,3},{4340,1688,3},{4342,1675,3}, {4345,1668,3},{4343,1663,3},{4350,1653,3},{4352,1640,3},{4353,1647,3},{4355,1643,3}, {4355,1632,3},{4352,1618,3},{4352,1613,3},{4352,1612,3},{4350,1617,3},{4348,1617,3}, {4348,1612,3},{4348,1610,3},{4350,1595,3},{4352,1595,3},{4352,1598,3},{4355,1598,3}, {4355,1593,3},{4357,1595,3},{4357,1592,3},{4358,1593,3},{4363,1592,3},{4363,1597,3}, {4365,1590,3},{4365,1595,3},{4367,1593,3},{4368,1595,3},{4367,1593,3},{4370,1588,3}, {4375,1578,3},{4377,1570,3},{4380,1567,3},{4382,1562,3},{4380,1568,3},{4393,1545,3}, {4403,1533,3},{4407,1528,3},{4410,1527,3},{4413,1520,3},{4415,1520,3},{4418,1515,3}, {4423,1517,3},{4427,1512,3},{4428,1512,3},{4428,1515,3},{4425,1518,3},{4425,1520,3}, {4428,1518,3},{4428,1520,3},{4430,1520,3},{4425,1528,3},{4428,1528,3},{4428,1530,3}, {4433,1527,3},{4427,1542,3},{4427,1543,3},{4425,1552,3},{4427,1553,3},{4428,1552,3}, {4428,1545,3},{4432,1542,3},{4437,1528,3},{4452,1510,3},{4458,1498,3},{4472,1488,3}, {4485,1488,3},{4497,1492,3},{4512,1485,3},{4515,1472,3},{4523,1462,3},{4527,1457,3}, {4528,1458,3},{4530,1457,3},{4530,1453,3},{4528,1455,3},{4530,1450,3},{4532,1448,3}, {4535,1433,3},{4530,1428,3},{4515,1423,3},{4512,1420,3},{4513,1418,3},{4510,1420,3}, {4508,1415,3},{4505,1415,3},{4498,1417,3},{4497,1415,3},{4497,1410,3},{4495,1407,3}, {4498,1408,3},{4503,1405,3},{4500,1403,3},{4498,1407,3},{4495,1405,3},{4495,1403,3}, {4492,1403,3},{4492,1402,3},{4490,1402,3},{4490,1398,3},{4488,1400,3},{4482,1397,3}, {4480,1400,3},{4482,1393,3},{4483,1392,3},{4482,1388,3},{4482,1392,3},{4477,1392,3}, {4477,1390,3},{4482,1390,3},{4482,1385,3},{4485,1385,3},{4487,1380,3},{4487,1383,3}, {4488,1385,3},{4490,1380,3},{4492,1380,3},{4497,1378,3},{4503,1368,3},{4505,1368,3}, {4507,1363,3},{4510,1363,3},{4512,1360,3},{4513,1362,3},{4513,1373,3},{4513,1360,3}, {4520,1358,3},{4525,1360,3},{4527,1358,3},{4528,1360,3},{4530,1358,3},{4532,1360,3}, {4533,1353,3},{4537,1355,3},{4548,1350,3},{4550,1350,3},{4548,1358,3},{4548,1360,3}, {4545,1365,3},{4545,1367,3},{4543,1368,3},{4543,1370,3},{4545,1377,3},{4547,1383,3}, {4547,1385,3},{4545,1392,3},{4545,1395,3},{4545,1397,3},{4545,1398,3},{4545,1400,3}, {4550,1402,3},{4552,1402,3},{4552,1403,3},{4553,1405,3},{4548,1410,3},{4548,1417,3}, {4547,1423,3},{4548,1428,3},{4548,1430,3},{4547,1430,3},{4547,1432,3},{4548,1437,3}, {4550,1445,3},{4553,1450,3},{4557,1457,3},{4560,1458,3},{4562,1458,3},{4563,1458,3}, {4558,1465,3},{4555,1470,3},{4552,1473,3},{4548,1478,3},{4547,1482,3},{4547,1488,3}, {4548,1492,3},{4550,1492,3},{4548,1498,3},{4547,1503,3},{4543,1508,3},{4542,1515,3}, {4543,1522,3},{4545,1528,3},{4547,1537,3},{4552,1533,3},{4555,1530,3},{4562,1530,3}, {4563,1530,3},{4563,1538,3},{4563,1540,3},{4565,1542,3},{4568,1537,3},{4570,1537,3}, {4572,1535,3},{4570,1533,3},{4568,1532,3},{4570,1525,3},{4570,1523,3},{4573,1523,3}, {4575,1528,3},{4578,1535,3},{4582,1542,3},{4583,1548,3},{4583,1555,3},{4583,1563,3}, {4583,1565,3},{4583,1567,3},{4583,1568,3},{4588,1568,3},{4592,1572,3},{4598,1572,3}, {4603,1572,3},{4605,1572,3},{4608,1567,3},{4612,1560,3},{4615,1563,3},{4620,1567,3}, {4622,1567,3},{4622,1575,3},{4622,1578,3},{4625,1583,3},{4628,1590,3},{4630,1597,3}, {4633,1602,3},{4635,1608,3},{4638,1613,3},{4637,1620,3},{4637,1628,3},{4637,1630,3}, {4642,1630,3},{4647,1630,3},{4652,1630,3},{4653,1630,3},{4653,1637,3},{4653,1640,3}, {4652,1645,3},{4653,1652,3},{4650,1653,3},{4647,1667,3},{4640,1672,3},{4640,1675,3}, {4638,1675,3},{4640,1680,3},{4637,1682,3},{4638,1683,3},{4633,1688,3},{4628,1688,3}, {4625,1693,3},{4618,1710,3},{4618,1715,3},{4615,1718,3},{4612,1718,3},{4610,1723,3}, {4608,1720,3},{4608,1723,3},{4607,1723,3},{4607,1727,3},{4603,1725,3},{4603,1730,3}, {4602,1725,3},{4602,1730,3},{4598,1730,3},{4598,1732,3},{4597,1732,3},{4600,1733,3}, {4598,1735,3},{4600,1737,3},{4597,1737,3},{4597,1738,3},{4597,1735,3},{4595,1737,3}, {4595,1738,3},{4593,1738,3},{4593,1743,3},{4595,1743,3},{4595,1745,3},{4593,1758,3}, {4590,1763,3},{4583,1767,3},{4582,1783,3},{4577,1787,3},{4578,1790,3},{4578,1800,3}, {4577,1808,3},{4578,1815,3},{4578,1820,3},{4577,1828,3},{4577,1837,3},{4575,1840,3}, {4577,1847,3},{4580,1848,3},{4580,1857,3},{4585,1862,3},{4592,1867,3},{4592,1872,3}, {4588,1880,3},{4587,1883,3},{4582,1883,3},{4577,1885,3},{4575,1887,3},{4572,1892,3}, {4568,1897,3},{4563,1895,3},{4558,1892,3},{4553,1892,3},{4553,1893,3},{4555,1900,3}, {4553,1905,3},{4552,1912,3},{4550,1910,3},{4550,1908,3},{4550,1907,3},{4548,1900,3}, {4547,1900,3},{4543,1902,3},{4538,1898,3},{4535,1903,3},{4532,1910,3},{4528,1915,3}, {4528,1923,3},{4528,1925,3},{4528,1927,3},{4523,1928,3},{4523,1937,3},{4527,1943,3}, {4522,1947,3},{4518,1940,3},{4518,1933,3},{4517,1930,3},{4517,1928,3},{4518,1920,3}, {4517,1922,3},{4512,1922,3},{4512,1920,3},{4510,1917,3},{4512,1910,3},{4510,1910,3}, {4505,1912,3},{4500,1908,3},{4495,1905,3},{4495,1907,3},{4497,1907,3},{4497,1908,3}, {4495,1910,3},{4493,1908,3},{4490,1903,3},{4485,1898,3},{4485,1895,3},{4485,1887,3}, {4487,1882,3},{4490,1875,3},{4493,1875,3},{4493,1877,3},{4495,1878,3},{4500,1877,3}, {4500,1875,3},{4502,1872,3},{4503,1870,3},{4508,1867,3},{4507,1867,3},{4507,1865,3}, {4505,1865,3},{4505,1863,3},{4505,1862,3},{4507,1860,3},{4507,1862,3},{4508,1860,3}, {4508,1858,3},{4507,1855,3},{4503,1852,3},{4505,1845,3},{4510,1842,3},{4510,1840,3}, {4508,1838,3},{4510,1832,3},{4512,1825,3},{4512,1823,3},{4508,1818,3},{4508,1812,3}, {4510,1805,3},{4512,1805,3},{4513,1803,3},{4513,1802,3},{4513,1800,3},{4508,1795,3}, {4505,1790,3},{4502,1783,3},{4505,1777,3},{4508,1772,3},{4512,1765,3},{4510,1762,3}, {4510,1755,3},{4510,1748,3},{4510,1743,3},{4512,1743,3},{4512,1742,3},{4512,1735,3}, {4512,1733,3},{4513,1733,3},{4517,1728,3},{4512,1722,3},{4512,1720,3},{4513,1717,3}, {4515,1710,3},{4518,1705,3},{4522,1700,3},{4523,1697,3},{4522,1693,3},{4523,1692,3}, {4523,1693,3},{4525,1692,3},{4520,1688,3},{4517,1682,3},{4518,1675,3},{4518,1667,3}, {4520,1662,3},{4520,1658,3},{4520,1652,3},{4515,1648,3},{4512,1643,3},{4507,1640,3}, {4502,1637,3},{4500,1630,3},{4500,1627,3},{4503,1620,3},{4505,1613,3},{4507,1608,3}, {4510,1607,3},{4515,1603,3},{4520,1600,3},{4520,1595,3},{4523,1588,3},{4523,1585,3}, {4522,1578,3},{4523,1572,3},{4522,1572,3},{4520,1573,3},{4515,1577,3},{4510,1577,3}, {4505,1575,3},{4500,1575,3},{4497,1572,3},{4492,1568,3},{4487,1570,3},{4483,1577,3}, {4480,1582,3},{4475,1582,3},{4470,1580,3},{4467,1585,3},{4465,1590,3},{4462,1595,3}, {4457,1598,3},{4453,1603,3},{4455,1610,3},{4455,1612,3},{4453,1612,3},{4453,1613,3}, {4448,1615,3},{4443,1615,3},{4438,1613,3},{4437,1615,3},{4433,1620,3},{4432,1620,3}, {4427,1623,3},{4422,1625,3},{4417,1628,3},{4412,1632,3},{4410,1638,3},{4408,1645,3}, {4407,1647,3},{4403,1653,3},{4400,1658,3},{4395,1660,3},{4392,1665,3},{4388,1672,3}, {4385,1675,3},{4380,1678,3},{4377,1682,3},{4372,1687,3},{4368,1692,3},{4363,1695,3}, {4363,1697,3},{4360,1702,3},{4357,1707,3},{4357,1708,3},{4357,1715,3},{4358,1722,3}, {4357,1722,3},{4355,1722,3},{4348,1722,3},{4347,1727,3},{4342,1727,3},{4337,1727,3}, {4332,1727,3},{4327,1728,3},{4323,1735,3},{4320,1740,3},{4317,1745,3},{4313,1750,3}, {4310,1755,3},{4310,1758,3},{4312,1762,3},{4310,1763,3},{4308,1765,3},{4307,1765,3}, {4302,1768,3},{4297,1770,3},{4295,1763,3},{4295,1752,3},{4687,1610,131}, {4693,1620,3},{4695,1625,3},{4700,1628,3},{4702,1630,3},{4700,1630,3},{4702,1640,3}, {4700,1643,3},{4700,1652,3},{4703,1648,3},{4703,1645,3},{4705,1652,3},{4710,1647,3}, {4713,1653,3},{4715,1653,3},{4715,1645,3},{4718,1647,3},{4722,1642,3},{4725,1643,3}, {4727,1647,3},{4728,1650,3},{4733,1647,3},{4735,1645,3},{4742,1645,3},{4742,1648,3}, {4740,1650,3},{4742,1652,3},{4742,1658,3},{4743,1662,3},{4747,1667,3},{4750,1665,3}, {4752,1670,3},{4755,1672,3},{4757,1667,3},{4762,1667,3},{4763,1665,3},{4763,1658,3}, {4767,1643,3},{4770,1645,3},{4768,1648,3},{4772,1655,3},{4775,1655,3},{4777,1663,3}, {4773,1672,3},{4772,1673,3},{4768,1677,3},{4768,1682,3},{4772,1685,3},{4772,1687,3}, {4768,1688,3},{4768,1690,3},{4772,1710,3},{4773,1707,3},{4778,1707,3},{4780,1705,3}, {4782,1707,3},{4787,1702,3},{4788,1708,3},{4793,1710,3},{4797,1712,3},{4798,1710,3}, {4800,1715,3},{4802,1718,3},{4803,1723,3},{4800,1727,3},{4800,1733,3},{4788,1747,3}, {4787,1753,3},{4783,1757,3},{4783,1762,3},{4777,1772,3},{4775,1778,3},{4777,1798,3}, {4773,1830,3},{4777,1845,3},{4775,1850,3},{4777,1855,3},{4777,1867,3},{4782,1875,3}, {4782,1885,3},{4783,1885,3},{4788,1877,3},{4797,1877,3},{4798,1875,3},{4800,1882,3}, {4805,1885,3},{4805,1895,3},{4807,1903,3},{4805,1907,3},{4805,1923,3},{4807,1927,3}, {4808,1937,3},{4808,1947,3},{4820,1952,3},{4823,1963,3},{4823,1967,3},{4820,1970,3}, {4820,1978,3},{4815,1978,3},{4815,1988,3},{4813,1992,3},{4822,2013,3},{4827,2015,3}, {4827,2023,3},{4828,2025,3},{4825,2028,3},{4827,2030,3},{4828,2033,3},{4835,2040,3}, {4843,2043,3},{4848,2050,3},{4853,2050,3},{4858,2082,3},{4855,2087,3},{4855,2092,3}, {4852,2095,3},{4852,2107,3},{4848,2112,3},{4852,2117,3},{4853,2123,3},{4852,2128,3}, {4855,2132,3},{4857,2145,3},{4855,2152,3},{4850,2155,3},{4850,2162,3},{4845,2163,3}, {4837,2172,3},{4833,2178,3},{4833,2182,3},{4837,2185,3},{4838,2193,3},{4838,2210,3}, {4842,2215,3},{4840,2227,3},{4837,2227,3},{4837,2232,3},{4832,2232,3},{4825,2238,3}, {4825,2250,3},{4820,2255,3},{4820,2258,3},{4818,2257,3},{4810,2262,3},{4812,2280,3}, {4805,2288,3},{4798,2285,3},{4795,2290,3},{4790,2285,3},{4788,2277,3},{4783,2277,3}, {4783,2272,3},{4778,2265,3},{4777,2255,3},{4780,2247,3},{4778,2243,3},{4775,2242,3}, {4773,2238,3},{4775,2233,3},{4773,2228,3},{4768,2223,3},{4760,2218,3},{4758,2212,3}, {4752,2202,3},{4738,2202,3},{4735,2193,3},{4730,2187,3},{4727,2187,3},{4723,2183,3}, {4718,2185,3},{4717,2180,3},{4712,2178,3},{4708,2172,3},{4703,2165,3},{4700,2170,3}, {4698,2167,3},{4695,2167,3},{4692,2160,3},{4685,2160,3},{4683,2155,3},{4682,2152,3}, {4675,2148,3},{4673,2153,3},{4672,2152,3},{4668,2148,3},{4668,2145,3},{4665,2145,3}, {4662,2140,3},{4662,2133,3},{4655,2132,3},{4650,2127,3},{4645,2130,3},{4642,2130,3}, {4640,2122,3},{4638,2120,3},{4630,2118,3},{4628,2112,3},{4625,2108,3},{4623,2105,3}, {4627,2102,3},{4625,2098,3},{4627,2095,3},{4625,2092,3},{4627,2087,3},{4627,2082,3}, {4623,2075,3},{4620,2077,3},{4620,2072,3},{4617,2072,3},{4613,2063,3},{4617,2055,3}, {4618,2048,3},{4615,2047,3},{4617,2035,3},{4615,2028,3},{4612,2027,3},{4615,2020,3}, {4615,2015,3},{4617,2012,3},{4615,2005,3},{4617,2002,3},{4617,1997,3},{4615,1985,3}, {4613,1980,3},{4617,1972,3},{4617,1957,3},{4615,1952,3},{4612,1952,3},{4610,1948,3}, {4607,1947,3},{4607,1942,3},{4603,1940,3},{4603,1930,3},{4598,1928,3},{4598,1915,3}, {4602,1913,3},{4603,1910,3},{4602,1907,3},{4597,1907,3},{4597,1902,3},{4595,1900,3}, {4593,1900,3},{4593,1892,3},{4592,1888,3},{4592,1883,3},{4592,1882,3},{4588,1880,3}, {4592,1872,3},{4592,1867,3},{4585,1862,3},{4580,1857,3},{4580,1848,3},{4577,1847,3}, {4575,1840,3},{4577,1837,3},{4577,1828,3},{4578,1820,3},{4578,1815,3},{4577,1808,3}, {4578,1800,3},{4578,1790,3},{4577,1787,3},{4582,1783,3},{4583,1767,3},{4590,1763,3}, {4593,1758,3},{4595,1745,3},{4595,1743,3},{4593,1743,3},{4593,1738,3},{4595,1738,3}, {4595,1737,3},{4597,1735,3},{4597,1738,3},{4597,1737,3},{4600,1737,3},{4598,1735,3}, {4600,1733,3},{4597,1732,3},{4598,1732,3},{4598,1730,3},{4602,1730,3},{4602,1725,3}, {4603,1730,3},{4603,1725,3},{4607,1727,3},{4607,1723,3},{4608,1723,3},{4608,1720,3}, {4610,1723,3},{4612,1718,3},{4615,1718,3},{4618,1715,3},{4618,1710,3},{4625,1693,3}, {4628,1688,3},{4633,1688,3},{4638,1683,3},{4637,1682,3},{4640,1680,3},{4638,1675,3}, {4640,1675,3},{4640,1672,3},{4647,1667,3},{4650,1653,3},{4653,1652,3},{4657,1652,3}, {4657,1648,3},{4662,1645,3},{4665,1638,3},{4667,1638,3},{4667,1642,3},{4668,1643,3}, {4670,1638,3},{4672,1638,3},{4672,1637,3},{4675,1632,3},{4680,1632,3},{4680,1633,3}, {4685,1635,3},{4687,1630,3},{4688,1623,3},{4687,1610,3},{4707,958,131}, {4710,963,3},{4713,963,3},{4715,962,3},{4717,957,3},{4722,958,3},{4727,953,3}, {4737,962,3},{4738,967,3},{4742,965,3},{4745,965,3},{4747,960,3},{4750,957,3}, {4753,957,3},{4758,975,3},{4760,978,3},{4758,982,3},{4755,982,3},{4753,985,3}, {4755,988,3},{4753,992,3},{4755,997,3},{4753,997,3},{4748,1000,3},{4750,1005,3}, {4743,1010,3},{4742,1007,3},{4737,1010,3},{4737,1012,3},{4737,1015,3},{4738,1018,3}, {4738,1023,3},{4733,1020,3},{4732,1022,3},{4730,1018,3},{4727,1017,3},{4728,1023,3}, {4732,1033,3},{4737,1038,3},{4738,1043,3},{4743,1047,3},{4748,1047,3},{4750,1043,3}, {4755,1045,3},{4758,1043,3},{4758,1047,3},{4758,1048,3},{4755,1047,3},{4753,1050,3}, {4753,1057,3},{4757,1060,3},{4755,1075,3},{4752,1077,3},{4753,1088,3},{4752,1092,3}, {4748,1087,3},{4748,1092,3},{4743,1098,3},{4742,1097,3},{4740,1098,3},{4740,1112,3}, {4743,1122,3},{4743,1123,3},{4740,1123,3},{4740,1128,3},{4745,1133,3},{4745,1140,3}, {4747,1140,3},{4748,1138,3},{4752,1143,3},{4752,1150,3},{4752,1157,3},{4758,1160,3}, {4760,1163,3},{4758,1168,3},{4758,1183,3},{4760,1185,3},{4762,1200,3},{4762,1220,3}, {4763,1220,3},{4770,1218,3},{4775,1225,3},{4770,1223,3},{4768,1225,3},{4770,1233,3}, {4768,1237,3},{4770,1245,3},{4768,1245,3},{4767,1245,3},{4763,1252,3},{4765,1258,3}, {4767,1260,3},{4768,1267,3},{4767,1278,3},{4765,1277,3},{4762,1283,3},{4762,1280,3}, {4758,1278,3},{4755,1282,3},{4755,1285,3},{4748,1295,3},{4748,1302,3},{4750,1305,3}, {4753,1303,3},{4757,1307,3},{4758,1305,3},{4760,1307,3},{4763,1310,3},{4768,1308,3}, {4772,1302,3},{4772,1298,3},{4772,1292,3},{4778,1293,3},{4785,1302,3},{4793,1293,3}, {4797,1288,3},{4802,1285,3},{4808,1277,3},{4812,1277,3},{4817,1283,3},{4820,1287,3}, {4822,1297,3},{4827,1302,3},{4830,1317,3},{4830,1328,3},{4837,1340,3},{4843,1343,3}, {4847,1343,3},{4852,1345,3},{4857,1343,3},{4857,1345,3},{4857,1347,3},{4857,1350,3}, {4858,1352,3},{4857,1357,3},{4857,1360,3},{4852,1373,3},{4857,1375,3},{4858,1380,3}, {4862,1382,3},{4870,1382,3},{4870,1383,3},{4873,1380,3},{4877,1383,3},{4872,1400,3}, {4867,1405,3},{4863,1402,3},{4860,1407,3},{4860,1420,3},{4857,1433,3},{4855,1433,3}, {4860,1438,3},{4860,1443,3},{4865,1447,3},{4862,1457,3},{4863,1462,3},{4860,1463,3}, {4860,1467,3},{4858,1467,3},{4858,1470,3},{4860,1472,3},{4868,1473,3},{4873,1480,3}, {4878,1482,3},{4877,1497,3},{4882,1495,3},{4892,1500,3},{4898,1498,3},{4902,1500,3}, {4902,1503,3},{4900,1515,3},{4895,1517,3},{4895,1527,3},{4900,1528,3},{4898,1532,3}, {4898,1537,3},{4895,1543,3},{4895,1547,3},{4892,1552,3},{4890,1562,3},{4887,1568,3}, {4888,1583,3},{4887,1585,3},{4887,1588,3},{4885,1588,3},{4885,1590,3},{4883,1590,3}, {4883,1595,3},{4880,1597,3},{4875,1610,3},{4873,1633,3},{4875,1633,3},{4873,1637,3}, {4875,1642,3},{4882,1647,3},{4882,1653,3},{4878,1660,3},{4878,1665,3},{4873,1670,3}, {4875,1672,3},{4872,1683,3},{4873,1688,3},{4870,1692,3},{4855,1695,3},{4847,1687,3}, {4837,1683,3},{4833,1690,3},{4828,1692,3},{4828,1695,3},{4817,1698,3},{4815,1703,3}, {4815,1707,3},{4810,1710,3},{4808,1708,3},{4803,1708,3},{4803,1715,3},{4800,1715,3}, {4798,1710,3},{4797,1712,3},{4793,1710,3},{4788,1708,3},{4787,1702,3},{4782,1707,3}, {4780,1705,3},{4778,1707,3},{4773,1707,3},{4772,1710,3},{4768,1690,3},{4768,1688,3}, {4772,1687,3},{4772,1685,3},{4768,1682,3},{4768,1677,3},{4772,1673,3},{4773,1672,3}, {4777,1663,3},{4775,1655,3},{4772,1655,3},{4768,1648,3},{4770,1645,3},{4767,1643,3}, {4763,1658,3},{4763,1665,3},{4762,1667,3},{4757,1667,3},{4755,1672,3},{4752,1670,3}, {4750,1665,3},{4747,1667,3},{4743,1662,3},{4742,1658,3},{4742,1652,3},{4740,1650,3}, {4742,1648,3},{4742,1645,3},{4735,1645,3},{4733,1647,3},{4728,1650,3},{4727,1647,3}, {4725,1643,3},{4722,1642,3},{4718,1647,3},{4715,1645,3},{4715,1653,3},{4713,1653,3}, {4710,1647,3},{4705,1652,3},{4703,1645,3},{4703,1648,3},{4700,1652,3},{4700,1643,3}, {4702,1640,3},{4700,1630,3},{4702,1630,3},{4700,1628,3},{4695,1625,3},{4693,1620,3}, {4687,1610,3},{4683,1598,3},{4675,1598,3},{4670,1603,3},{4667,1603,3},{4668,1600,3}, {4672,1587,3},{4672,1580,3},{4670,1577,3},{4672,1565,3},{4668,1565,3},{4668,1563,3}, {4667,1555,3},{4663,1553,3},{4662,1550,3},{4662,1547,3},{4665,1542,3},{4665,1527,3}, {4665,1513,3},{4665,1503,3},{4662,1498,3},{4663,1495,3},{4662,1492,3},{4660,1487,3}, {4652,1482,3},{4650,1472,3},{4645,1468,3},{4643,1458,3},{4638,1457,3},{4643,1452,3}, {4643,1445,3},{4645,1443,3},{4643,1432,3},{4645,1415,3},{4648,1412,3},{4650,1405,3}, {4648,1400,3},{4652,1392,3},{4653,1372,3},{4655,1355,3},{4657,1343,3},{4658,1338,3}, {4655,1332,3},{4655,1325,3},{4660,1315,3},{4662,1285,3},{4665,1277,3},{4663,1273,3}, {4667,1270,3},{4667,1257,3},{4670,1240,3},{4678,1235,3},{4678,1228,3},{4685,1230,3}, {4688,1227,3},{4688,1222,3},{4690,1218,3},{4692,1215,3},{4693,1217,3},{4697,1213,3}, {4702,1213,3},{4703,1220,3},{4707,1223,3},{4708,1223,3},{4710,1218,3},{4708,1210,3}, {4707,1208,3},{4705,1202,3},{4703,1192,3},{4698,1175,3},{4702,1163,3},{4700,1153,3}, {4702,1148,3},{4697,1142,3},{4700,1135,3},{4697,1118,3},{4692,1110,3},{4687,1108,3}, {4682,1107,3},{4677,1102,3},{4678,1095,3},{4677,1088,3},{4678,1085,3},{4680,1073,3}, {4683,1077,3},{4685,1072,3},{4687,1070,3},{4687,1067,3},{4685,1057,3},{4687,1047,3}, {4693,1048,3},{4700,1038,3},{4700,1035,3},{4695,1030,3},{4693,1032,3},{4693,1025,3}, {4688,1023,3},{4685,1013,3},{4687,1007,3},{4690,1002,3},{4692,997,3},{4692,993,3}, {4693,988,3},{4700,990,3},{4700,987,3},{4702,988,3},{4707,968,3},{4707,958,3}, {4548,1360,131},{4552,1360,3},{4553,1357,3},{4555,1375,3},{4557,1373,3}, {4558,1370,3},{4560,1372,3},{4558,1385,3},{4563,1392,3},{4567,1387,3},{4575,1380,3}, {4578,1372,3},{4580,1368,3},{4582,1360,3},{4585,1358,3},{4595,1363,3},{4598,1363,3}, {4600,1358,3},{4597,1355,3},{4602,1348,3},{4603,1352,3},{4607,1350,3},{4610,1360,3}, {4618,1367,3},{4618,1365,3},{4618,1357,3},{4622,1355,3},{4623,1343,3},{4622,1345,3}, {4622,1342,3},{4630,1338,3},{4633,1343,3},{4637,1343,3},{4640,1357,3},{4643,1360,3}, {4645,1368,3},{4653,1372,3},{4652,1392,3},{4648,1400,3},{4650,1405,3},{4648,1412,3}, {4645,1415,3},{4643,1432,3},{4645,1443,3},{4643,1445,3},{4643,1452,3},{4638,1457,3}, {4643,1458,3},{4645,1468,3},{4650,1472,3},{4652,1482,3},{4660,1487,3},{4662,1492,3}, {4663,1495,3},{4662,1498,3},{4665,1503,3},{4665,1513,3},{4665,1527,3},{4665,1542,3}, {4662,1547,3},{4662,1550,3},{4663,1553,3},{4667,1555,3},{4668,1563,3},{4668,1565,3}, {4672,1565,3},{4670,1577,3},{4672,1580,3},{4672,1587,3},{4668,1600,3},{4667,1603,3}, {4670,1603,3},{4675,1598,3},{4683,1598,3},{4687,1610,3},{4688,1623,3},{4687,1630,3}, {4685,1635,3},{4680,1633,3},{4680,1632,3},{4675,1632,3},{4672,1637,3},{4672,1638,3}, {4670,1638,3},{4668,1643,3},{4667,1642,3},{4667,1638,3},{4665,1638,3},{4662,1645,3}, {4657,1648,3},{4657,1652,3},{4653,1652,3},{4652,1645,3},{4653,1640,3},{4653,1637,3}, {4653,1630,3},{4652,1630,3},{4647,1630,3},{4642,1630,3},{4637,1630,3},{4637,1628,3}, {4637,1620,3},{4638,1613,3},{4635,1608,3},{4633,1602,3},{4630,1597,3},{4628,1590,3}, {4625,1583,3},{4622,1578,3},{4622,1575,3},{4622,1567,3},{4620,1567,3},{4615,1563,3}, {4612,1560,3},{4608,1567,3},{4605,1572,3},{4603,1572,3},{4598,1572,3},{4592,1572,3}, {4588,1568,3},{4583,1568,3},{4583,1567,3},{4583,1565,3},{4583,1563,3},{4583,1555,3}, {4583,1548,3},{4582,1542,3},{4578,1535,3},{4575,1528,3},{4573,1523,3},{4570,1523,3}, {4570,1525,3},{4568,1532,3},{4570,1533,3},{4572,1535,3},{4570,1537,3},{4568,1537,3}, {4565,1542,3},{4563,1540,3},{4563,1538,3},{4563,1530,3},{4562,1530,3},{4555,1530,3}, {4552,1533,3},{4547,1537,3},{4545,1528,3},{4543,1522,3},{4542,1515,3},{4543,1508,3}, {4547,1503,3},{4548,1498,3},{4550,1492,3},{4548,1492,3},{4547,1488,3},{4547,1482,3}, {4548,1478,3},{4552,1473,3},{4555,1470,3},{4558,1465,3},{4563,1458,3},{4562,1458,3}, {4560,1458,3},{4557,1457,3},{4553,1450,3},{4550,1445,3},{4548,1437,3},{4547,1432,3}, {4547,1430,3},{4548,1430,3},{4548,1428,3},{4547,1423,3},{4548,1417,3},{4548,1410,3}, {4553,1405,3},{4552,1403,3},{4552,1402,3},{4550,1402,3},{4545,1400,3},{4545,1398,3}, {4545,1397,3},{4545,1395,3},{4545,1392,3},{4547,1385,3},{4547,1383,3},{4545,1377,3}, {4543,1370,3},{4543,1368,3},{4545,1367,3},{4545,1365,3},{4548,1360,3},{4378,753,131}, {4388,750,3},{4390,755,3},{4395,757,3},{4400,765,3},{4405,767,3},{4408,770,3}, {4410,770,3},{4413,765,3},{4418,767,3},{4418,762,3},{4417,762,3},{4417,755,3}, {4413,742,3},{4413,735,3},{4415,733,3},{4415,727,3},{4418,723,3},{4418,722,3}, {4422,715,3},{4422,712,3},{4425,705,3},{4425,698,3},{4428,697,3},{4432,693,3}, {4433,693,3},{4438,688,3},{4443,688,3},{4445,693,3},{4448,687,3},{4453,685,3}, {4458,693,3},{4463,697,3},{4467,695,3},{4468,698,3},{4468,707,3},{4472,707,3}, {4475,703,3},{4480,702,3},{4483,703,3},{4487,695,3},{4487,690,3},{4487,685,3}, {4492,675,3},{4502,675,3},{4503,667,3},{4508,665,3},{4512,662,3},{4515,668,3}, {4515,673,3},{4517,677,3},{4513,685,3},{4513,688,3},{4515,690,3},{4517,688,3}, {4518,693,3},{4522,697,3},{4523,705,3},{4522,707,3},{4525,710,3},{4525,713,3}, {4533,712,3},{4533,713,3},{4542,718,3},{4543,712,3},{4548,708,3},{4552,700,3}, {4560,697,3},{4565,698,3},{4567,695,3},{4567,692,3},{4568,690,3},{4570,683,3}, {4573,682,3},{4578,680,3},{4583,682,3},{4583,687,3},{4585,687,3},{4587,697,3}, {4593,703,3},{4588,710,3},{4588,718,3},{4592,730,3},{4593,743,3},{4597,748,3}, {4597,753,3},{4598,755,3},{4598,757,3},{4598,765,3},{4595,772,3},{4593,772,3}, {4593,777,3},{4592,778,3},{4592,787,3},{4593,787,3},{4598,788,3},{4600,792,3}, {4600,802,3},{4605,803,3},{4607,803,3},{4610,805,3},{4612,810,3},{4615,815,3}, {4618,817,3},{4623,813,3},{4625,808,3},{4628,810,3},{4630,813,3},{4632,820,3}, {4637,827,3},{4638,830,3},{4640,832,3},{4642,830,3},{4645,837,3},{4647,843,3}, {4645,847,3},{4640,847,3},{4628,843,3},{4625,845,3},{4622,853,3},{4617,860,3}, {4612,862,3},{4610,870,3},{4612,875,3},{4610,877,3},{4610,882,3},{4608,885,3}, {4605,885,3},{4602,880,3},{4598,878,3},{4595,890,3},{4588,893,3},{4583,892,3}, {4585,895,3},{4583,900,3},{4582,902,3},{4583,903,3},{4592,908,3},{4593,903,3}, {4597,900,3},{4600,903,3},{4603,902,3},{4607,907,3},{4612,908,3},{4618,918,3}, {4622,920,3},{4623,925,3},{4635,930,3},{4637,928,3},{4642,928,3},{4643,925,3}, {4650,928,3},{4650,937,3},{4647,940,3},{4650,945,3},{4650,947,3},{4638,947,3}, {4637,950,3},{4632,952,3},{4630,958,3},{4630,970,3},{4637,973,3},{4635,977,3}, {4637,983,3},{4638,995,3},{4635,1000,3},{4628,1000,3},{4627,1005,3},{4623,1005,3}, {4622,1007,3},{4623,1013,3},{4627,1018,3},{4633,1010,3},{4642,1017,3},{4643,1013,3}, {4642,1008,3},{4645,1005,3},{4647,1007,3},{4648,1005,3},{4653,1005,3},{4657,1008,3}, {4662,1010,3},{4663,1023,3},{4662,1025,3},{4658,1025,3},{4658,1028,3},{4655,1030,3}, {4655,1043,3},{4653,1045,3},{4655,1047,3},{4662,1048,3},{4663,1047,3},{4665,1040,3}, {4668,1038,3},{4672,1042,3},{4673,1042,3},{4677,1045,3},{4680,1043,3},{4682,1047,3}, {4687,1047,3},{4685,1057,3},{4687,1067,3},{4687,1070,3},{4685,1072,3},{4683,1077,3}, {4680,1073,3},{4678,1085,3},{4677,1088,3},{4678,1095,3},{4677,1102,3},{4682,1107,3}, {4687,1108,3},{4692,1110,3},{4697,1118,3},{4700,1135,3},{4697,1142,3},{4702,1148,3}, {4700,1153,3},{4702,1163,3},{4698,1175,3},{4703,1192,3},{4705,1202,3},{4707,1208,3}, {4708,1210,3},{4710,1218,3},{4708,1223,3},{4707,1223,3},{4703,1220,3},{4702,1213,3}, {4697,1213,3},{4693,1217,3},{4692,1215,3},{4690,1218,3},{4688,1222,3},{4688,1227,3}, {4685,1230,3},{4678,1228,3},{4678,1235,3},{4670,1240,3},{4667,1257,3},{4667,1270,3}, {4663,1273,3},{4665,1277,3},{4662,1285,3},{4660,1315,3},{4655,1325,3},{4655,1332,3}, {4658,1338,3},{4657,1343,3},{4655,1355,3},{4653,1372,3},{4645,1368,3},{4643,1360,3}, {4640,1357,3},{4637,1343,3},{4633,1343,3},{4630,1338,3},{4622,1342,3},{4622,1345,3}, {4623,1343,3},{4622,1355,3},{4618,1357,3},{4618,1365,3},{4618,1367,3},{4610,1360,3}, {4607,1350,3},{4603,1352,3},{4602,1348,3},{4597,1355,3},{4600,1358,3},{4598,1363,3}, {4595,1363,3},{4585,1358,3},{4582,1360,3},{4580,1368,3},{4578,1372,3},{4575,1380,3}, {4567,1387,3},{4563,1392,3},{4558,1385,3},{4560,1372,3},{4562,1373,3},{4562,1380,3}, {4563,1377,3},{4563,1375,3},{4567,1375,3},{4570,1373,3},{4577,1363,3},{4578,1355,3}, {4577,1353,3},{4575,1352,3},{4573,1355,3},{4567,1340,3},{4568,1338,3},{4570,1343,3}, {4573,1340,3},{4575,1325,3},{4578,1322,3},{4577,1318,3},{4575,1315,3},{4577,1313,3}, {4577,1312,3},{4573,1312,3},{4572,1307,3},{4570,1307,3},{4568,1310,3},{4570,1315,3}, {4563,1308,3},{4563,1298,3},{4562,1290,3},{4555,1275,3},{4543,1242,3},{4548,1243,3}, {4548,1247,3},{4550,1247,3},{4550,1250,3},{4548,1250,3},{4548,1252,3},{4552,1253,3}, {4555,1258,3},{4553,1255,3},{4555,1252,3},{4557,1250,3},{4557,1248,3},{4553,1243,3}, {4552,1245,3},{4553,1238,3},{4552,1238,3},{4550,1242,3},{4550,1238,3},{4550,1237,3}, {4548,1233,3},{4545,1227,3},{4537,1225,3},{4535,1222,3},{4530,1222,3},{4532,1215,3}, {4527,1217,3},{4527,1220,3},{4530,1220,3},{4528,1223,3},{4527,1222,3},{4522,1222,3}, {4520,1225,3},{4520,1227,3},{4520,1228,3},{4523,1230,3},{4520,1230,3},{4515,1233,3}, {4510,1233,3},{4512,1232,3},{4510,1230,3},{4508,1230,3},{4508,1235,3},{4503,1238,3}, {4502,1237,3},{4502,1238,3},{4503,1238,3},{4507,1237,3},{4502,1243,3},{4503,1243,3}, {4497,1248,3},{4497,1250,3},{4498,1248,3},{4498,1252,3},{4497,1253,3},{4495,1252,3}, {4492,1252,3},{4492,1250,3},{4487,1248,3},{4482,1245,3},{4485,1243,3},{4490,1243,3}, {4490,1242,3},{4487,1238,3},{4483,1242,3},{4482,1240,3},{4482,1243,3},{4480,1242,3}, {4480,1235,3},{4485,1230,3},{4483,1228,3},{4472,1225,3},{4465,1225,3},{4460,1228,3}, {4447,1228,3},{4440,1232,3},{4435,1232,3},{4422,1238,3},{4398,1268,3},{4397,1282,3}, {4383,1305,3},{4367,1330,3},{4362,1347,3},{4363,1352,3},{4357,1357,3},{4355,1362,3}, {4350,1363,3},{4310,1385,3},{4295,1388,3},{4268,1402,3},{4253,1413,3},{4243,1427,3}, {4238,1438,3},{4225,1452,3},{4222,1457,3},{4217,1472,3},{4210,1472,3},{4208,1473,3}, {4202,1488,3},{4200,1500,3},{4195,1507,3},{4192,1517,3},{4192,1528,3},{4190,1540,3}, {4193,1563,3},{4192,1568,3},{4192,1583,3},{4195,1602,3},{4192,1615,3},{4188,1618,3}, {4178,1618,3},{4168,1603,3},{4163,1593,3},{4162,1590,3},{4152,1590,3},{4143,1598,3}, {4123,1653,3},{4120,1658,3},{4108,1705,3},{4103,1718,3},{4097,1728,3},{4090,1735,3}, {4088,1740,3},{4083,1748,3},{4077,1770,3},{4070,1783,3},{4068,1793,3},{4067,1797,3}, {4065,1795,3},{4065,1802,3},{4060,1805,3},{4055,1803,3},{4050,1813,3},{4045,1825,3}, {4028,1843,3},{4013,1852,3},{4010,1852,3},{4005,1848,3},{4003,1843,3},{4000,1842,3}, {3992,1840,3},{3982,1838,3},{3980,1837,3},{3980,1833,3},{3983,1827,3},{3983,1820,3}, {3993,1805,3},{4000,1800,3},{4000,1802,3},{4003,1802,3},{4005,1797,3},{4008,1800,3}, {4010,1802,3},{4013,1798,3},{4017,1793,3},{4025,1792,3},{4028,1787,3},{4030,1767,3}, {4030,1752,3},{4033,1743,3},{4033,1740,3},{4042,1720,3},{4045,1725,3},{4047,1723,3}, {4047,1732,3},{4050,1732,3},{4048,1727,3},{4050,1725,3},{4050,1723,3},{4048,1720,3}, {4050,1718,3},{4052,1708,3},{4050,1700,3},{4045,1692,3},{4032,1680,3},{4015,1670,3}, {4010,1662,3},{4005,1660,3},{3997,1663,3},{3987,1653,3},{3980,1648,3},{3975,1650,3}, {3972,1653,3},{3967,1653,3},{3965,1655,3},{3962,1663,3},{3962,1677,3},{3953,1688,3}, {3950,1697,3},{3948,1702,3},{3943,1705,3},{3940,1717,3},{3932,1712,3},{3927,1712,3}, {3920,1715,3},{3910,1712,3},{3905,1715,3},{3902,1720,3},{3900,1717,3},{3895,1717,3}, {3890,1710,3},{3892,1708,3},{3890,1702,3},{3892,1700,3},{3893,1697,3},{3892,1683,3}, {3890,1678,3},{3880,1660,3},{3870,1653,3},{3868,1655,3},{3857,1657,3},{3843,1657,3}, {3835,1648,3},{3830,1633,3},{3813,1617,3},{3798,1612,3},{3792,1607,3},{3792,1575,3}, {3795,1567,3},{3800,1563,3},{3803,1565,3},{3808,1563,3},{3815,1565,3},{3820,1563,3}, {3823,1563,3},{3827,1575,3},{3830,1582,3},{3852,1592,3},{3855,1592,3},{3862,1583,3}, {3863,1583,3},{3867,1585,3},{3872,1598,3},{3872,1610,3},{3872,1613,3},{3875,1618,3}, {3883,1622,3},{3892,1622,3},{3893,1622,3},{3895,1615,3},{3902,1610,3},{3913,1607,3}, {3935,1603,3},{3952,1593,3},{3955,1587,3},{3970,1580,3},{3980,1578,3},{3983,1577,3}, {3987,1578,3},{4003,1567,3},{4005,1563,3},{4007,1563,3},{4008,1557,3},{4007,1550,3}, {3998,1542,3},{4000,1537,3},{4003,1532,3},{4003,1527,3},{4005,1528,3},{4007,1527,3}, {4017,1513,3},{4017,1503,3},{4022,1498,3},{4023,1492,3},{4027,1490,3},{4028,1493,3}, {4033,1493,3},{4035,1498,3},{4040,1500,3},{4057,1490,3},{4067,1478,3},{4067,1473,3}, {4063,1468,3},{4065,1463,3},{4062,1458,3},{4062,1452,3},{4063,1448,3},{4062,1445,3}, {4057,1435,3},{4058,1432,3},{4062,1433,3},{4063,1438,3},{4067,1443,3},{4070,1448,3}, {4075,1445,3},{4077,1440,3},{4082,1432,3},{4083,1427,3},{4082,1422,3},{4080,1418,3}, {4083,1410,3},{4082,1407,3},{4078,1408,3},{4080,1405,3},{4087,1405,3},{4097,1398,3}, {4102,1392,3},{4108,1390,3},{4118,1380,3},{4125,1372,3},{4125,1360,3},{4123,1357,3}, {4122,1358,3},{4120,1357,3},{4128,1335,3},{4130,1330,3},{4127,1317,3},{4122,1310,3}, {4122,1305,3},{4130,1300,3},{4138,1292,3},{4142,1283,3},{4140,1277,3},{4147,1267,3}, {4145,1262,3},{4162,1247,3},{4168,1235,3},{4173,1223,3},{4187,1218,3},{4193,1212,3}, {4195,1203,3},{4198,1202,3},{4203,1192,3},{4203,1183,3},{4213,1175,3},{4222,1170,3}, {4230,1162,3},{4240,1138,3},{4240,1140,3},{4240,1137,3},{4240,1128,3},{4242,1127,3}, {4240,1120,3},{4237,1118,3},{4237,1115,3},{4240,1110,3},{4243,1108,3},{4245,1110,3}, {4245,1117,3},{4252,1118,3},{4257,1115,3},{4257,1112,3},{4263,1108,3},{4265,1100,3}, {4270,1098,3},{4275,1093,3},{4278,1078,3},{4280,1073,3},{4282,1077,3},{4288,1078,3}, {4292,1075,3},{4295,1067,3},{4295,1058,3},{4295,1055,3},{4292,1053,3},{4293,1050,3}, {4298,1048,3},{4300,1052,3},{4307,1053,3},{4315,1055,3},{4323,1053,3},{4340,1042,3}, {4345,1037,3},{4347,1032,3},{4355,1030,3},{4383,1025,3},{4390,1022,3},{4402,1010,3}, {4405,1000,3},{4403,997,3},{4410,983,3},{4408,982,3},{4407,985,3},{4405,983,3}, {4403,985,3},{4403,983,3},{4405,982,3},{4410,973,3},{4413,967,3},{4413,962,3}, {4417,960,3},{4422,950,3},{4423,948,3},{4423,943,3},{4425,942,3},{4425,940,3}, {4430,933,3},{4435,923,3},{4433,922,3},{4430,922,3},{4432,915,3},{4437,913,3}, {4438,895,3},{4442,892,3},{4443,877,3},{4432,850,3},{4428,843,3},{4425,845,3}, {4422,842,3},{4418,842,3},{4413,827,3},{4410,823,3},{4405,823,3},{4400,815,3}, {4395,817,3},{4390,807,3},{4385,795,3},{4382,777,3},{4378,768,3},{4378,760,3}, {4378,753,3},{4392,1240,131},{4395,1242,3},{4398,1245,3},{4398,1252,3}, {4395,1252,3},{4390,1247,3},{4392,1240,3},{4758,758,131},{4763,757,3},{4767,752,3}, {4770,752,3},{4773,755,3},{4778,753,3},{4785,757,3},{4788,755,3},{4790,758,3}, {4793,758,3},{4798,762,3},{4805,757,3},{4812,758,3},{4825,768,3},{4830,770,3}, {4833,775,3},{4840,773,3},{4848,777,3},{4852,780,3},{4858,780,3},{4865,783,3}, {4870,795,3},{4875,797,3},{4875,802,3},{4878,803,3},{4880,810,3},{4890,813,3}, {4895,818,3},{4897,823,3},{4898,808,3},{4905,795,3},{4903,787,3},{4905,780,3}, {4905,777,3},{4905,765,3},{4908,760,3},{4908,753,3},{4913,748,3},{4915,750,3}, {4917,748,3},{4917,738,3},{4915,737,3},{4913,732,3},{4912,730,3},{4913,723,3}, {4912,720,3},{4913,712,3},{4915,710,3},{4915,708,3},{4913,708,3},{4912,705,3}, {4918,703,3},{4920,695,3},{4922,693,3},{4922,685,3},{4918,687,3},{4917,685,3}, {4915,683,3},{4917,673,3},{4918,672,3},{4922,673,3},{4922,670,3},{4928,667,3}, {4933,657,3},{4935,657,3},{4937,660,3},{4940,653,3},{4943,653,3},{4947,647,3}, {4948,642,3},{4947,637,3},{4953,635,3},{4955,637,3},{4957,637,3},{4963,643,3}, {4967,642,3},{4970,652,3},{4973,650,3},{4982,652,3},{4982,640,3},{4985,637,3}, {4983,632,3},{4987,630,3},{4988,625,3},{4995,622,3},{4997,618,3},{4995,618,3}, {5002,613,3},{5005,613,3},{5007,612,3},{5013,613,3},{5013,615,3},{5017,613,3}, {5018,618,3},{5023,617,3},{5027,628,3},{5032,632,3},{5030,637,3},{5033,640,3}, {5038,635,3},{5043,637,3},{5047,633,3},{5048,635,3},{5050,622,3},{5055,617,3}, {5058,623,3},{5058,625,3},{5062,627,3},{5062,617,3},{5065,618,3},{5072,612,3}, {5072,603,3},{5075,602,3},{5077,602,3},{5080,598,3},{5080,602,3},{5085,602,3}, {5085,607,3},{5092,608,3},{5093,602,3},{5097,602,3},{5097,603,3},{5098,595,3}, {5097,588,3},{5100,590,3},{5105,587,3},{5107,590,3},{5103,593,3},{5103,595,3}, {5108,600,3},{5115,617,3},{5117,615,3},{5118,617,3},{5120,617,3},{5117,608,3}, {5122,607,3},{5123,608,3},{5137,622,3},{5140,622,3},{5140,620,3},{5147,622,3}, {5152,620,3},{5160,610,3},{5165,612,3},{5167,603,3},{5172,603,3},{5173,595,3}, {5177,598,3},{5182,595,3},{5183,602,3},{5187,605,3},{5183,617,3},{5185,617,3}, {5190,612,3},{5190,617,3},{5187,620,3},{5187,628,3},{5185,632,3},{5185,637,3}, {5183,637,3},{5183,640,3},{5187,640,3},{5185,647,3},{5190,660,3},{5192,668,3}, {5190,672,3},{5197,683,3},{5202,680,3},{5203,668,3},{5207,670,3},{5208,675,3}, {5212,677,3},{5212,687,3},{5217,690,3},{5218,695,3},{5222,698,3},{5223,705,3}, {5228,703,3},{5235,707,3},{5238,707,3},{5247,698,3},{5243,695,3},{5247,685,3}, {5247,675,3},{5248,670,3},{5255,668,3},{5257,677,3},{5258,672,3},{5263,672,3}, {5263,673,3},{5265,678,3},{5263,705,3},{5282,707,3},{5287,710,3},{5293,718,3}, {5302,722,3},{5313,718,3},{5320,722,3},{5323,720,3},{5325,723,3},{5330,723,3}, {5332,728,3},{5330,737,3},{5332,733,3},{5333,705,3},{5340,702,3},{5350,705,3}, {5352,710,3},{5353,715,3},{5357,708,3},{5358,710,3},{5367,723,3},{5368,730,3}, {5368,747,3},{5367,752,3},{5370,768,3},{5372,797,3},{5370,803,3},{5363,805,3}, {5358,812,3},{5357,812,3},{5357,815,3},{5353,817,3},{5352,817,3},{5350,807,3}, {5347,807,3},{5343,810,3},{5345,815,3},{5340,820,3},{5340,823,3},{5343,830,3}, {5352,832,3},{5352,823,3},{5353,823,3},{5360,825,3},{5362,832,3},{5362,835,3}, {5357,838,3},{5353,855,3},{5347,848,3},{5335,850,3},{5347,850,3},{5353,857,3}, {5365,848,3},{5370,848,3},{5385,858,3},{5388,860,3},{5390,867,3},{5385,873,3}, {5383,880,3},{5383,890,3},{5383,902,3},{5385,902,3},{5385,908,3},{5387,928,3}, {5358,957,3},{5355,968,3},{5353,983,3},{5355,982,3},{5357,968,3},{5362,957,3}, {5370,953,3},{5373,943,3},{5382,940,3},{5385,933,3},{5388,922,3},{5390,903,3}, {5388,898,3},{5395,890,3},{5398,888,3},{5403,883,3},{5405,888,3},{5402,898,3}, {5403,900,3},{5408,902,3},{5412,898,3},{5415,898,3},{5415,895,3},{5412,887,3}, {5418,882,3},{5425,885,3},{5427,892,3},{5432,897,3},{5428,890,3},{5430,873,3}, {5427,868,3},{5428,863,3},{5433,860,3},{5435,862,3},{5435,870,3},{5437,863,3}, {5440,863,3},{5440,887,3},{5445,895,3},{5445,900,3},{5450,902,3},{5460,890,3}, {5460,882,3},{5462,885,3},{5468,882,3},{5473,868,3},{5475,870,3},{5483,863,3}, {5490,867,3},{5488,872,3},{5492,882,3},{5490,892,3},{5488,903,3},{5487,917,3}, {5485,922,3},{5482,925,3},{5480,935,3},{5483,940,3},{5482,945,3},{5480,945,3}, {5483,952,3},{5483,955,3},{5487,958,3},{5482,958,3},{5480,972,3},{5477,982,3}, {5475,987,3},{5477,990,3},{5480,990,3},{5477,997,3},{5470,1002,3},{5470,998,3}, {5467,993,3},{5467,1003,3},{5455,1003,3},{5452,998,3},{5448,985,3},{5445,987,3}, {5448,1012,3},{5447,1020,3},{5443,1017,3},{5440,1020,3},{5437,1013,3},{5432,1015,3}, {5433,1018,3},{5442,1023,3},{5442,1028,3},{5443,1033,3},{5437,1062,3},{5432,1068,3}, {5430,1077,3},{5438,1093,3},{5437,1105,3},{5438,1113,3},{5437,1112,3},{5435,1107,3}, {5420,1110,3},{5410,1088,3},{5410,1080,3},{5405,1075,3},{5400,1078,3},{5398,1087,3}, {5395,1090,3},{5400,1105,3},{5402,1118,3},{5398,1120,3},{5398,1125,3},{5393,1125,3}, {5393,1130,3},{5395,1133,3},{5390,1145,3},{5393,1148,3},{5397,1147,3},{5402,1153,3}, {5403,1152,3},{5403,1158,3},{5410,1163,3},{5410,1162,3},{5415,1168,3},{5415,1182,3}, {5418,1208,3},{5412,1208,3},{5410,1212,3},{5415,1210,3},{5417,1213,3},{5418,1210,3}, {5425,1220,3},{5430,1235,3},{5448,1253,3},{5445,1255,3},{5445,1265,3},{5445,1290,3}, {5442,1292,3},{5442,1280,3},{5443,1270,3},{5442,1267,3},{5442,1263,3},{5440,1258,3}, {5438,1260,3},{5438,1255,3},{5437,1253,3},{5440,1247,3},{5430,1237,3},{5425,1238,3}, {5425,1245,3},{5427,1242,3},{5428,1242,3},{5430,1248,3},{5433,1248,3},{5435,1255,3}, {5438,1257,3},{5437,1260,3},{5442,1272,3},{5437,1268,3},{5440,1272,3},{5437,1273,3}, {5437,1277,3},{5438,1278,3},{5435,1282,3},{5437,1288,3},{5440,1290,3},{5443,1303,3}, {5440,1303,3},{5437,1310,3},{5433,1307,3},{5428,1312,3},{5427,1317,3},{5425,1315,3}, {5427,1318,3},{5423,1322,3},{5423,1328,3},{5420,1330,3},{5418,1335,3},{5417,1332,3}, {5417,1340,3},{5415,1338,3},{5415,1342,3},{5410,1345,3},{5408,1350,3},{5412,1348,3}, {5413,1363,3},{5417,1372,3},{5415,1370,3},{5410,1380,3},{5405,1378,3},{5403,1375,3}, {5392,1392,3},{5388,1382,3},{5385,1382,3},{5383,1385,3},{5377,1397,3},{5373,1408,3}, {5373,1418,3},{5377,1423,3},{5373,1427,3},{5367,1428,3},{5362,1432,3},{5355,1430,3}, {5345,1438,3},{5330,1442,3},{5327,1445,3},{5320,1438,3},{5313,1438,3},{5305,1435,3}, {5297,1415,3},{5288,1417,3},{5285,1413,3},{5283,1415,3},{5282,1422,3},{5277,1430,3}, {5275,1435,3},{5265,1448,3},{5262,1460,3},{5257,1463,3},{5253,1462,3},{5248,1463,3}, {5243,1458,3},{5243,1455,3},{5238,1453,3},{5228,1458,3},{5223,1472,3},{5212,1468,3}, {5207,1477,3},{5200,1472,3},{5195,1472,3},{5190,1470,3},{5185,1462,3},{5182,1460,3}, {5178,1465,3},{5172,1467,3},{5167,1475,3},{5160,1477,3},{5155,1472,3},{5153,1473,3}, {5147,1495,3},{5143,1498,3},{5135,1497,3},{5127,1503,3},{5105,1497,3},{5093,1490,3}, {5088,1482,3},{5087,1483,3},{5082,1480,3},{5082,1472,3},{5083,1472,3},{5085,1462,3}, {5093,1465,3},{5092,1457,3},{5098,1460,3},{5100,1457,3},{5102,1450,3},{5105,1450,3}, {5102,1448,3},{5103,1445,3},{5102,1442,3},{5105,1430,3},{5098,1425,3},{5098,1432,3}, {5097,1430,3},{5095,1432,3},{5093,1440,3},{5090,1440,3},{5088,1425,3},{5085,1420,3}, {5082,1407,3},{5080,1403,3},{5082,1398,3},{5078,1395,3},{5078,1390,3},{5075,1390,3}, {5072,1387,3},{5073,1377,3},{5070,1355,3},{5070,1353,3},{5067,1355,3},{5065,1352,3}, {5063,1352,3},{5060,1347,3},{5062,1342,3},{5063,1338,3},{5058,1332,3},{5057,1328,3}, {5058,1325,3},{5050,1318,3},{5052,1313,3},{5050,1303,3},{5045,1302,3},{5042,1298,3}, {5042,1293,3},{5045,1282,3},{5043,1282,3},{5045,1278,3},{5043,1275,3},{5040,1270,3}, {5042,1267,3},{5042,1262,3},{5040,1252,3},{5037,1248,3},{5035,1248,3},{5032,1240,3}, {5030,1240,3},{5028,1237,3},{5023,1235,3},{5023,1233,3},{5017,1232,3},{5018,1228,3}, {5022,1228,3},{5025,1225,3},{5027,1225,3},{5027,1220,3},{5032,1218,3},{5032,1210,3}, {5030,1212,3},{5028,1213,3},{5025,1210,3},{5023,1215,3},{5020,1218,3},{5017,1222,3}, {5013,1220,3},{5010,1220,3},{5008,1225,3},{5005,1227,3},{5003,1235,3},{4998,1243,3}, {4998,1247,3},{4997,1250,3},{4993,1248,3},{4992,1255,3},{4983,1250,3},{4983,1247,3}, {4978,1247,3},{4977,1240,3},{4973,1240,3},{4970,1245,3},{4968,1252,3},{4963,1252,3}, {4962,1257,3},{4953,1260,3},{4952,1263,3},{4947,1263,3},{4943,1267,3},{4940,1275,3}, {4933,1280,3},{4933,1288,3},{4935,1288,3},{4933,1297,3},{4930,1303,3},{4927,1303,3}, {4925,1308,3},{4920,1312,3},{4917,1318,3},{4913,1318,3},{4910,1332,3},{4905,1340,3}, {4898,1340,3},{4895,1348,3},{4898,1352,3},{4895,1363,3},{4890,1365,3},{4888,1368,3}, {4888,1373,3},{4880,1382,3},{4878,1382,3},{4877,1383,3},{4873,1380,3},{4870,1383,3}, {4870,1382,3},{4862,1382,3},{4858,1380,3},{4857,1375,3},{4852,1373,3},{4857,1360,3}, {4857,1357,3},{4858,1352,3},{4857,1350,3},{4857,1347,3},{4857,1345,3},{4857,1343,3}, {4852,1345,3},{4847,1343,3},{4843,1343,3},{4837,1340,3},{4830,1328,3},{4830,1317,3}, {4827,1302,3},{4822,1297,3},{4820,1287,3},{4817,1283,3},{4812,1277,3},{4808,1277,3}, {4802,1285,3},{4797,1288,3},{4793,1293,3},{4785,1302,3},{4778,1293,3},{4772,1292,3}, {4772,1298,3},{4772,1302,3},{4768,1308,3},{4763,1310,3},{4760,1307,3},{4758,1305,3}, {4757,1307,3},{4753,1303,3},{4750,1305,3},{4748,1302,3},{4748,1295,3},{4755,1285,3}, {4755,1282,3},{4758,1278,3},{4762,1280,3},{4762,1283,3},{4765,1277,3},{4767,1278,3}, {4768,1267,3},{4767,1260,3},{4765,1258,3},{4763,1252,3},{4767,1245,3},{4768,1245,3}, {4770,1245,3},{4768,1237,3},{4770,1233,3},{4768,1225,3},{4770,1223,3},{4775,1225,3}, {4770,1218,3},{4763,1220,3},{4762,1220,3},{4762,1200,3},{4760,1185,3},{4758,1183,3}, {4758,1168,3},{4760,1163,3},{4758,1160,3},{4752,1157,3},{4752,1150,3},{4752,1143,3}, {4748,1138,3},{4747,1140,3},{4745,1140,3},{4745,1133,3},{4740,1128,3},{4740,1123,3}, {4743,1123,3},{4743,1122,3},{4740,1112,3},{4740,1098,3},{4742,1097,3},{4743,1098,3}, {4748,1092,3},{4748,1087,3},{4752,1092,3},{4753,1088,3},{4752,1077,3},{4755,1075,3}, {4757,1060,3},{4753,1057,3},{4753,1050,3},{4755,1047,3},{4758,1048,3},{4758,1047,3}, {4758,1043,3},{4755,1045,3},{4750,1043,3},{4748,1047,3},{4743,1047,3},{4738,1043,3}, {4737,1038,3},{4732,1033,3},{4728,1023,3},{4727,1017,3},{4730,1018,3},{4732,1022,3}, {4733,1020,3},{4738,1023,3},{4738,1018,3},{4737,1015,3},{4737,1012,3},{4737,1010,3}, {4742,1007,3},{4743,1010,3},{4750,1005,3},{4748,1000,3},{4753,997,3},{4755,997,3}, {4753,992,3},{4755,988,3},{4753,985,3},{4755,982,3},{4758,982,3},{4760,978,3}, {4758,975,3},{4753,957,3},{4765,930,3},{4765,917,3},{4767,913,3},{4768,905,3}, {4765,888,3},{4768,885,3},{4770,887,3},{4772,882,3},{4773,882,3},{4772,877,3}, {4770,880,3},{4768,880,3},{4770,872,3},{4772,873,3},{4773,872,3},{4777,873,3}, {4777,868,3},{4778,868,3},{4780,865,3},{4777,863,3},{4780,862,3},{4780,857,3}, {4778,857,3},{4777,848,3},{4772,845,3},{4770,840,3},{4767,842,3},{4767,845,3}, {4765,847,3},{4767,853,3},{4767,858,3},{4767,862,3},{4765,863,3},{4765,860,3}, {4762,860,3},{4760,858,3},{4762,857,3},{4763,852,3},{4760,847,3},{4758,850,3}, {4757,833,3},{4762,828,3},{4762,820,3},{4757,808,3},{4755,792,3},{4758,790,3}, {4758,782,3},{4755,778,3},{4755,767,3},{4757,762,3},{4758,767,3},{4760,767,3}, {4758,758,3},{5387,1422,131},{5387,1408,3},{5387,1403,3},{5385,1400,3}, {5383,1390,3},{5385,1382,3},{5387,1383,3},{5388,1390,3},{5392,1393,3},{5398,1390,3}, {5398,1397,3},{5393,1397,3},{5397,1398,3},{5397,1402,3},{5395,1402,3},{5393,1405,3}, {5398,1405,3},{5405,1398,3},{5407,1392,3},{5402,1390,3},{5400,1385,3},{5403,1388,3}, {5405,1387,3},{5402,1380,3},{5402,1378,3},{5410,1382,3},{5415,1375,3},{5417,1377,3}, {5417,1382,3},{5410,1388,3},{5407,1400,3},{5393,1423,3},{5392,1420,3},{5387,1422,3}, {5490,867,131},{5495,868,3},{5502,863,3},{5513,868,3},{5513,857,3},{5513,855,3}, {5508,857,3},{5507,850,3},{5507,847,3},{5512,845,3},{5518,848,3},{5520,850,3}, {5518,860,3},{5515,857,3},{5513,865,3},{5513,868,3},{5528,865,3},{5533,867,3}, {5543,862,3},{5545,858,3},{5545,843,3},{5555,830,3},{5558,832,3},{5558,827,3}, {5555,823,3},{5553,827,3},{5552,825,3},{5550,830,3},{5547,832,3},{5552,820,3}, {5555,808,3},{5572,818,3},{5597,815,3},{5587,820,3},{5582,818,3},{5583,830,3}, {5590,840,3},{5603,830,3},{5608,823,3},{5610,813,3},{5608,813,3},{5598,815,3}, {5598,812,3},{5607,810,3},{5622,813,3},{5635,812,3},{5632,815,3},{5632,825,3}, {5628,825,3},{5632,832,3},{5632,828,3},{5637,818,3},{5640,818,3},{5638,825,3}, {5640,823,3},{5642,818,3},{5642,813,3},{5637,812,3},{5658,813,3},{5667,818,3}, {5668,823,3},{5662,820,3},{5658,823,3},{5658,830,3},{5655,830,3},{5657,833,3}, {5657,842,3},{5653,852,3},{5657,855,3},{5655,858,3},{5648,860,3},{5647,867,3}, {5648,875,3},{5652,873,3},{5655,875,3},{5658,870,3},{5660,868,3},{5662,868,3}, {5662,875,3},{5667,882,3},{5668,890,3},{5670,892,3},{5672,885,3},{5678,892,3}, {5678,897,3},{5680,905,3},{5678,908,3},{5672,915,3},{5665,912,3},{5662,905,3}, {5655,907,3},{5655,910,3},{5660,912,3},{5660,915,3},{5662,913,3},{5663,915,3}, {5662,917,3},{5660,928,3},{5657,925,3},{5652,930,3},{5653,938,3},{5657,937,3}, {5655,932,3},{5657,928,3},{5663,932,3},{5668,930,3},{5668,922,3},{5665,920,3}, {5667,917,3},{5675,925,3},{5677,918,3},{5680,917,3},{5685,920,3},{5687,917,3}, {5690,918,3},{5698,932,3},{5700,942,3},{5698,958,3},{5695,953,3},{5692,957,3}, {5695,957,3},{5698,965,3},{5703,970,3},{5703,985,3},{5705,995,3},{5705,993,3}, {5705,988,3},{5710,978,3},{5705,973,3},{5705,962,3},{5703,955,3},{5703,952,3}, {5705,952,3},{5698,923,3},{5705,910,3},{5712,903,3},{5710,902,3},{5703,912,3}, {5702,912,3},{5698,892,3},{5702,887,3},{5698,885,3},{5700,880,3},{5697,882,3}, {5693,875,3},{5693,868,3},{5688,862,3},{5685,862,3},{5678,848,3},{5675,850,3}, {5670,848,3},{5670,852,3},{5668,852,3},{5667,843,3},{5667,848,3},{5665,852,3}, {5667,858,3},{5660,858,3},{5657,855,3},{5658,852,3},{5663,848,3},{5668,833,3}, {5675,830,3},{5677,827,3},{5675,825,3},{5672,827,3},{5670,825,3},{5675,823,3}, {5682,825,3},{5693,837,3},{5710,858,3},{5708,875,3},{5710,883,3},{5715,902,3}, {5713,918,3},{5715,940,3},{5723,958,3},{5745,977,3},{5757,995,3},{5758,1012,3}, {5760,1027,3},{5772,1048,3},{5773,1055,3},{5772,1063,3},{5765,1047,3},{5758,1042,3}, {5752,1043,3},{5747,1050,3},{5743,1055,3},{5737,1052,3},{5722,1053,3},{5713,1043,3}, {5698,1033,3},{5698,1025,3},{5698,1020,3},{5708,1002,3},{5708,998,3},{5705,995,3}, {5707,998,3},{5705,1002,3},{5698,1017,3},{5697,1028,3},{5682,1025,3},{5670,1033,3}, {5668,1030,3},{5670,1025,3},{5670,1015,3},{5668,1018,3},{5668,1025,3},{5665,1033,3}, {5662,1035,3},{5655,1022,3},{5650,1022,3},{5647,1018,3},{5647,1023,3},{5655,1023,3}, {5658,1032,3},{5653,1038,3},{5650,1047,3},{5653,1077,3},{5652,1083,3},{5643,1095,3}, {5638,1090,3},{5633,1090,3},{5620,1072,3},{5613,1070,3},{5613,1068,3},{5617,1063,3}, {5620,1067,3},{5622,1062,3},{5622,1057,3},{5617,1052,3},{5612,1055,3},{5610,1053,3}, {5610,1050,3},{5613,1047,3},{5613,1050,3},{5617,1050,3},{5615,1038,3},{5620,1033,3}, {5622,1040,3},{5620,1043,3},{5623,1043,3},{5627,1048,3},{5628,1040,3},{5627,1037,3}, {5625,1033,3},{5617,1023,3},{5610,1023,3},{5605,1027,3},{5602,1023,3},{5602,1028,3}, {5598,1025,3},{5592,1025,3},{5588,1018,3},{5583,1018,3},{5583,1015,3},{5587,1013,3}, {5588,1010,3},{5587,998,3},{5585,995,3},{5585,987,3},{5583,990,3},{5582,1005,3}, {5575,1002,3},{5575,1007,3},{5573,1000,3},{5570,1002,3},{5567,982,3},{5568,973,3}, {5572,967,3},{5570,955,3},{5570,957,3},{5570,963,3},{5565,972,3},{5562,975,3}, {5562,985,3},{5557,975,3},{5555,972,3},{5553,970,3},{5552,962,3},{5552,957,3}, {5550,955,3},{5550,950,3},{5548,952,3},{5548,962,3},{5547,967,3},{5545,965,3}, {5543,960,3},{5542,958,3},{5540,962,3},{5537,960,3},{5535,962,3},{5532,962,3}, {5530,963,3},{5528,962,3},{5523,970,3},{5517,962,3},{5518,958,3},{5515,948,3}, {5513,952,3},{5513,947,3},{5512,947,3},{5510,950,3},{5507,952,3},{5503,943,3}, {5503,953,3},{5505,957,3},{5503,958,3},{5500,962,3},{5498,972,3},{5488,977,3}, {5488,970,3},{5487,975,3},{5483,973,3},{5485,968,3},{5485,962,3},{5488,963,3}, {5490,960,3},{5492,965,3},{5493,962,3},{5492,958,3},{5488,955,3},{5487,950,3}, {5482,945,3},{5483,940,3},{5480,935,3},{5482,925,3},{5485,922,3},{5487,917,3}, {5488,903,3},{5490,892,3},{5492,882,3},{5488,872,3},{5490,867,3},{4707,958,131}, {4707,947,3},{4710,952,3},{4720,948,3},{4727,953,3},{4722,958,3},{4717,957,3}, {4715,962,3},{4713,963,3},{4710,963,3},{4707,958,3},{4593,703,131},{4597,703,3}, {4597,700,3},{4600,702,3},{4607,693,3},{4605,687,3},{4613,688,3},{4615,678,3}, {4622,680,3},{4627,685,3},{4635,677,3},{4638,680,3},{4642,682,3},{4643,678,3}, {4647,663,3},{4645,650,3},{4643,645,3},{4642,642,3},{4640,632,3},{4635,625,3}, {4632,623,3},{4632,625,3},{4630,625,3},{4627,627,3},{4627,630,3},{4625,630,3}, {4620,620,3},{4617,618,3},{4615,615,3},{4613,597,3},{4615,598,3},{4618,600,3}, {4622,597,3},{4627,612,3},{4630,610,3},{4637,617,3},{4643,607,3},{4645,608,3}, {4648,608,3},{4655,617,3},{4660,613,3},{4668,628,3},{4672,637,3},{4678,645,3}, {4682,643,3},{4687,647,3},{4693,643,3},{4697,648,3},{4700,663,3},{4703,670,3}, {4708,670,3},{4717,685,3},{4717,683,3},{4723,693,3},{4725,695,3},{4728,695,3}, {4730,702,3},{4732,702,3},{4735,707,3},{4737,705,3},{4737,702,3},{4735,688,3}, {4738,688,3},{4740,693,3},{4743,695,3},{4745,700,3},{4750,698,3},{4750,703,3}, {4750,708,3},{4750,713,3},{4750,720,3},{4745,718,3},{4743,723,3},{4742,725,3}, {4743,732,3},{4743,738,3},{4747,745,3},{4750,743,3},{4748,748,3},{4750,750,3}, {4752,750,3},{4753,752,3},{4755,750,3},{4758,758,3},{4760,767,3},{4758,767,3}, {4757,762,3},{4755,767,3},{4755,778,3},{4758,782,3},{4758,790,3},{4755,792,3}, {4757,808,3},{4762,820,3},{4762,828,3},{4757,833,3},{4758,850,3},{4760,847,3}, {4763,852,3},{4762,857,3},{4760,858,3},{4762,860,3},{4765,860,3},{4765,863,3}, {4767,862,3},{4767,858,3},{4767,853,3},{4765,847,3},{4767,845,3},{4767,842,3}, {4770,840,3},{4772,845,3},{4777,848,3},{4778,857,3},{4780,857,3},{4780,862,3}, {4777,863,3},{4780,865,3},{4778,868,3},{4777,868,3},{4777,873,3},{4773,872,3}, {4772,873,3},{4770,872,3},{4768,880,3},{4770,880,3},{4772,877,3},{4773,882,3}, {4772,882,3},{4770,887,3},{4768,885,3},{4765,888,3},{4768,905,3},{4767,913,3}, {4765,917,3},{4765,930,3},{4753,957,3},{4750,957,3},{4747,960,3},{4745,965,3}, {4742,965,3},{4738,967,3},{4737,962,3},{4727,953,3},{4720,948,3},{4710,952,3}, {4707,947,3},{4707,958,3},{4707,968,3},{4702,988,3},{4700,987,3},{4700,990,3}, {4693,988,3},{4692,993,3},{4692,997,3},{4690,1002,3},{4687,1007,3},{4685,1013,3}, {4688,1023,3},{4693,1025,3},{4693,1032,3},{4695,1030,3},{4700,1035,3},{4700,1038,3}, {4693,1048,3},{4687,1047,3},{4682,1047,3},{4680,1043,3},{4677,1045,3},{4673,1042,3}, {4672,1042,3},{4668,1038,3},{4665,1040,3},{4663,1047,3},{4662,1048,3},{4655,1047,3}, {4653,1045,3},{4655,1043,3},{4655,1030,3},{4658,1028,3},{4658,1025,3},{4662,1025,3}, {4663,1023,3},{4662,1010,3},{4657,1008,3},{4653,1005,3},{4648,1005,3},{4647,1007,3}, {4645,1005,3},{4642,1008,3},{4643,1013,3},{4642,1017,3},{4633,1010,3},{4627,1018,3}, {4623,1013,3},{4622,1007,3},{4623,1005,3},{4627,1005,3},{4628,1000,3},{4635,1000,3}, {4638,995,3},{4637,983,3},{4635,977,3},{4637,973,3},{4630,970,3},{4630,958,3}, {4632,952,3},{4637,950,3},{4638,947,3},{4650,947,3},{4650,945,3},{4647,940,3}, {4650,937,3},{4650,928,3},{4643,925,3},{4642,928,3},{4637,928,3},{4635,930,3}, {4623,925,3},{4622,920,3},{4618,918,3},{4612,908,3},{4607,907,3},{4603,902,3}, {4600,903,3},{4597,900,3},{4593,903,3},{4592,908,3},{4583,903,3},{4582,902,3}, {4583,900,3},{4585,895,3},{4583,892,3},{4588,893,3},{4595,890,3},{4598,878,3}, {4602,880,3},{4605,885,3},{4608,885,3},{4610,882,3},{4610,877,3},{4612,875,3}, {4610,870,3},{4612,862,3},{4617,860,3},{4622,853,3},{4625,845,3},{4628,843,3}, {4640,847,3},{4645,847,3},{4647,843,3},{4645,837,3},{4642,830,3},{4640,832,3}, {4638,830,3},{4637,827,3},{4632,820,3},{4630,813,3},{4628,810,3},{4625,808,3}, {4623,813,3},{4618,817,3},{4615,815,3},{4612,810,3},{4610,805,3},{4607,803,3}, {4605,803,3},{4600,802,3},{4600,792,3},{4598,788,3},{4593,787,3},{4592,787,3}, {4592,778,3},{4593,777,3},{4593,772,3},{4595,772,3},{4598,765,3},{4598,757,3}, {4598,755,3},{4597,753,3},{4597,748,3},{4593,743,3},{4592,730,3},{4588,718,3}, {4588,710,3},{4593,703,3},{5137,337,131},{5142,353,3},{5138,368,3},{5135,373,3}, {5133,387,3},{5137,397,3},{5140,398,3},{5140,403,3},{5137,407,3},{5135,412,3}, {5137,422,3},{5130,427,3},{5128,432,3},{5127,430,3},{5128,433,3},{5132,428,3}, {5142,425,3},{5140,415,3},{5142,408,3},{5145,398,3},{5145,393,3},{5140,390,3}, {5140,380,3},{5142,375,3},{5147,368,3},{5145,362,3},{5145,353,3},{5153,343,3}, {5160,357,3},{5160,383,3},{5160,387,3},{5157,390,3},{5155,387,3},{5153,397,3}, {5150,405,3},{5145,410,3},{5143,415,3},{5145,428,3},{5148,428,3},{5152,423,3}, {5153,408,3},{5158,400,3},{5162,408,3},{5160,417,3},{5158,422,3},{5162,420,3}, {5162,413,3},{5165,412,3},{5162,398,3},{5163,390,3},{5167,388,3},{5170,382,3}, {5167,372,3},{5168,368,3},{5172,368,3},{5173,372,3},{5175,383,3},{5178,387,3}, {5182,388,3},{5185,398,3},{5183,405,3},{5183,408,3},{5188,403,3},{5192,405,3}, {5198,402,3},{5198,412,3},{5200,415,3},{5223,443,3},{5245,457,3},{5247,460,3}, {5248,458,3},{5275,465,3},{5297,473,3},{5297,482,3},{5292,482,3},{5290,488,3}, {5297,510,3},{5307,528,3},{5308,538,3},{5322,545,3},{5328,558,3},{5340,598,3}, {5342,625,3},{5340,632,3},{5347,675,3},{5343,687,3},{5340,688,3},{5335,690,3}, {5332,695,3},{5330,705,3},{5330,708,3},{5327,707,3},{5325,710,3},{5323,718,3}, {5323,720,3},{5320,722,3},{5313,718,3},{5302,722,3},{5293,718,3},{5287,710,3}, {5282,707,3},{5263,705,3},{5265,678,3},{5263,673,3},{5263,672,3},{5258,672,3}, {5257,677,3},{5255,668,3},{5248,670,3},{5247,675,3},{5247,685,3},{5243,695,3}, {5247,698,3},{5238,707,3},{5235,707,3},{5228,703,3},{5223,705,3},{5222,698,3}, {5218,695,3},{5217,690,3},{5212,687,3},{5212,677,3},{5208,675,3},{5207,670,3}, {5203,668,3},{5202,680,3},{5197,683,3},{5190,672,3},{5192,668,3},{5190,660,3}, {5185,647,3},{5187,640,3},{5183,640,3},{5183,637,3},{5185,637,3},{5185,632,3}, {5187,628,3},{5187,620,3},{5190,617,3},{5190,612,3},{5185,617,3},{5183,617,3}, {5187,605,3},{5183,602,3},{5182,595,3},{5177,598,3},{5173,595,3},{5172,603,3}, {5167,603,3},{5165,612,3},{5160,610,3},{5152,620,3},{5147,622,3},{5140,620,3}, {5140,622,3},{5137,622,3},{5123,608,3},{5122,607,3},{5117,608,3},{5120,617,3}, {5118,617,3},{5117,615,3},{5115,617,3},{5108,600,3},{5103,595,3},{5103,593,3}, {5107,590,3},{5105,587,3},{5100,590,3},{5097,588,3},{5098,595,3},{5097,603,3}, {5097,602,3},{5093,602,3},{5092,608,3},{5085,607,3},{5085,602,3},{5080,602,3}, {5080,598,3},{5077,602,3},{5075,602,3},{5075,590,3},{5077,588,3},{5075,582,3}, {5078,577,3},{5077,575,3},{5075,570,3},{5080,570,3},{5082,565,3},{5085,563,3}, {5088,565,3},{5088,568,3},{5095,577,3},{5097,572,3},{5098,577,3},{5103,577,3}, {5107,578,3},{5105,580,3},{5110,580,3},{5110,585,3},{5112,582,3},{5115,585,3}, {5117,583,3},{5117,580,3},{5120,573,3},{5118,567,3},{5122,557,3},{5127,555,3}, {5130,552,3},{5127,540,3},{5127,523,3},{5130,523,3},{5132,513,3},{5140,508,3}, {5143,510,3},{5148,503,3},{5148,502,3},{5145,500,3},{5140,493,3},{5142,488,3}, {5142,478,3},{5143,478,3},{5142,483,3},{5148,485,3},{5150,480,3},{5150,477,3}, {5145,467,3},{5143,467,3},{5142,465,3},{5143,458,3},{5143,455,3},{5148,455,3}, {5148,448,3},{5145,440,3},{5143,442,3},{5142,440,3},{5138,443,3},{5137,443,3}, {5137,435,3},{5138,430,3},{5137,423,3},{5128,413,3},{5120,390,3},{5122,388,3}, {5122,380,3},{5127,378,3},{5130,360,3},{5128,352,3},{5125,352,3},{5125,343,3}, {5127,338,3},{5132,337,3},{5133,338,3},{5137,337,3},{4953,580,131},{4957,587,3}, {4958,587,3},{4960,585,3},{4963,590,3},{4967,590,3},{4968,585,3},{4972,587,3}, {4972,582,3},{4980,578,3},{4980,575,3},{4983,573,3},{4985,575,3},{4987,575,3}, {4987,578,3},{4990,573,3},{4995,577,3},{4998,583,3},{5002,582,3},{5003,585,3}, {5007,585,3},{5012,590,3},{5013,595,3},{5017,597,3},{5018,602,3},{5017,603,3}, {5015,607,3},{5017,610,3},{5013,613,3},{5007,612,3},{5005,613,3},{5002,613,3}, {4995,618,3},{4997,618,3},{4995,622,3},{4988,625,3},{4987,630,3},{4983,632,3}, {4985,637,3},{4982,640,3},{4982,652,3},{4973,650,3},{4970,652,3},{4967,642,3}, {4963,643,3},{4957,637,3},{4955,637,3},{4953,635,3},{4947,637,3},{4950,623,3}, {4950,615,3},{4950,617,3},{4948,612,3},{4945,608,3},{4947,607,3},{4945,603,3}, {4945,598,3},{4947,598,3},{4948,597,3},{4950,587,3},{4953,580,3},{5108,255,131}, {5132,310,3},{5137,337,3},{5133,338,3},{5132,337,3},{5127,338,3},{5125,343,3}, {5125,352,3},{5128,352,3},{5130,360,3},{5127,378,3},{5122,380,3},{5122,388,3}, {5120,390,3},{5128,413,3},{5137,423,3},{5138,430,3},{5137,435,3},{5137,443,3}, {5138,443,3},{5142,440,3},{5143,442,3},{5145,440,3},{5148,448,3},{5148,455,3}, {5143,455,3},{5143,458,3},{5142,465,3},{5143,467,3},{5145,467,3},{5150,477,3}, {5150,480,3},{5148,485,3},{5142,483,3},{5143,478,3},{5142,478,3},{5142,488,3}, {5140,493,3},{5145,500,3},{5148,502,3},{5148,503,3},{5143,510,3},{5140,508,3}, {5132,513,3},{5130,523,3},{5127,523,3},{5127,540,3},{5130,552,3},{5127,555,3}, {5122,557,3},{5118,567,3},{5120,573,3},{5117,580,3},{5117,583,3},{5115,585,3}, {5112,582,3},{5110,585,3},{5110,580,3},{5105,580,3},{5107,578,3},{5103,577,3}, {5098,577,3},{5097,572,3},{5095,577,3},{5088,568,3},{5088,565,3},{5085,563,3}, {5082,565,3},{5080,570,3},{5075,570,3},{5077,575,3},{5078,577,3},{5075,582,3}, {5077,588,3},{5075,590,3},{5075,602,3},{5072,603,3},{5072,612,3},{5065,618,3}, {5062,617,3},{5062,627,3},{5058,625,3},{5058,623,3},{5055,617,3},{5050,622,3}, {5048,635,3},{5047,633,3},{5043,637,3},{5038,635,3},{5033,640,3},{5030,637,3}, {5032,632,3},{5027,628,3},{5023,617,3},{5018,618,3},{5017,613,3},{5013,615,3}, {5013,613,3},{5017,610,3},{5015,607,3},{5017,603,3},{5018,602,3},{5017,597,3}, {5013,595,3},{5012,590,3},{5007,585,3},{5003,585,3},{5002,582,3},{4998,583,3}, {4995,577,3},{4990,573,3},{4987,578,3},{4987,575,3},{4985,575,3},{4983,573,3}, {4980,575,3},{4980,578,3},{4972,582,3},{4972,587,3},{4968,585,3},{4967,590,3}, {4963,590,3},{4960,585,3},{4958,587,3},{4957,587,3},{4953,580,3},{4955,578,3}, {4955,577,3},{4953,573,3},{4955,567,3},{4952,562,3},{4953,557,3},{4952,553,3}, {4950,547,3},{4953,548,3},{4960,543,3},{4962,540,3},{4963,535,3},{4962,532,3}, {4967,533,3},{4970,528,3},{4968,523,3},{4970,517,3},{4972,517,3},{4972,513,3}, {4977,510,3},{4977,507,3},{4980,500,3},{4980,498,3},{4980,487,3},{4983,487,3}, {4987,485,3},{4992,488,3},{4995,485,3},{4995,480,3},{4998,480,3},{5005,485,3}, {5007,483,3},{5008,485,3},{5010,487,3},{5008,488,3},{5013,490,3},{5015,488,3}, {5015,485,3},{5017,483,3},{5008,470,3},{5000,467,3},{4998,460,3},{4993,445,3}, {4997,433,3},{4997,432,3},{4997,422,3},{4998,415,3},{5003,415,3},{5007,423,3}, {5013,420,3},{5013,413,3},{5022,417,3},{5025,422,3},{5027,422,3},{5028,417,3}, {5027,417,3},{5025,415,3},{5030,412,3},{5035,403,3},{5033,390,3},{5035,385,3}, {5035,377,3},{5030,370,3},{5037,367,3},{5045,367,3},{5048,362,3},{5048,352,3}, {5052,352,3},{5053,348,3},{5052,345,3},{5050,337,3},{5053,328,3},{5060,328,3}, {5067,325,3},{5068,327,3},{5072,323,3},{5072,320,3},{5078,317,3},{5080,312,3}, {5078,308,3},{5075,295,3},{5073,293,3},{5070,290,3},{5073,285,3},{5073,280,3}, {5082,272,3},{5082,263,3},{5085,260,3},{5088,262,3},{5092,260,3},{5095,263,3}, {5100,260,3},{5100,258,3},{5108,255,3},{4340,-177,131},{4343,-160,3},{4353,-150,3}, {4390,-138,3},{4427,-128,3},{4450,-125,3},{4455,-127,3},{4467,-120,3},{4465,-113,3}, {4467,-105,3},{4467,-103,3},{4472,-107,3},{4477,-117,3},{4468,-123,3},{4463,-125,3}, {4467,-127,3},{4512,-120,3},{4523,-117,3},{4548,-115,3},{4555,-108,3},{4557,-107,3}, {4555,-105,3},{4552,-105,3},{4548,-100,3},{4545,-93,3},{4535,-80,3},{4523,-73,3}, {4510,-70,3},{4505,-65,3},{4498,-57,3},{4490,-55,3},{4498,-53,3},{4502,-60,3}, {4502,-55,3},{4500,-50,3},{4503,-52,3},{4505,-60,3},{4508,-65,3},{4513,-67,3}, {4535,-72,3},{4547,-78,3},{4555,-92,3},{4558,-98,3},{4562,-100,3},{4568,-115,3}, {4570,-118,3},{4570,-125,3},{4580,-123,3},{4580,-115,3},{4575,-110,3},{4572,-98,3}, {4578,-110,3},{4587,-115,3},{4587,-112,3},{4590,-112,3},{4590,-107,3},{4595,-108,3}, {4597,-107,3},{4602,-112,3},{4600,-108,3},{4602,-105,3},{4603,-105,3},{4605,-108,3}, {4610,-110,3},{4612,-113,3},{4612,-112,3},{4615,-115,3},{4615,-120,3},{4617,-122,3}, {4622,-118,3},{4627,-110,3},{4632,-112,3},{4633,-117,3},{4632,-120,3},{4627,-122,3}, {4633,-130,3},{4632,-130,3},{4635,-135,3},{4633,-145,3},{4640,-147,3},{4642,-150,3}, {4642,-163,3},{4645,-163,3},{4645,-168,3},{4648,-175,3},{4652,-178,3},{4650,-178,3}, {4648,-180,3},{4660,-182,3},{4660,-185,3},{4663,-187,3},{4670,-192,3},{4670,-197,3}, {4677,-200,3},{4683,-213,3},{4690,-213,3},{4692,-210,3},{4693,-208,3},{4695,-205,3}, {4700,-203,3},{4703,-198,3},{4710,-205,3},{4713,-223,3},{4717,-217,3},{4727,-217,3}, {4730,-202,3},{4727,-195,3},{4728,-193,3},{4727,-190,3},{4727,-192,3},{4725,-190,3}, {4722,-180,3},{4722,-173,3},{4723,-180,3},{4728,-188,3},{4732,-202,3},{4732,-217,3}, {4728,-218,3},{4723,-228,3},{4728,-237,3},{4728,-242,3},{4727,-243,3},{4728,-248,3}, {4730,-253,3},{4728,-247,3},{4730,-243,3},{4733,-248,3},{4732,-250,3},{4735,-250,3}, {4738,-255,3},{4742,-247,3},{4740,-243,3},{4742,-243,3},{4742,-238,3},{4742,-245,3}, {4745,-245,3},{4745,-248,3},{4750,-248,3},{4750,-237,3},{4750,-243,3},{4753,-252,3}, {4752,-263,3},{4755,-257,3},{4753,-263,3},{4752,-262,3},{4753,-267,3},{4750,-268,3}, {4750,-285,3},{4753,-287,3},{4755,-292,3},{4757,-292,3},{4757,-287,3},{4755,-285,3}, {4755,-282,3},{4757,-282,3},{4755,-280,3},{4755,-273,3},{4757,-272,3},{4760,-268,3}, {4763,-270,3},{4760,-270,3},{4762,-277,3},{4762,-273,3},{4763,-275,3},{4765,-278,3}, {4763,-278,3},{4762,-285,3},{4760,-285,3},{4760,-288,3},{4758,-288,3},{4758,-292,3}, {4760,-292,3},{4760,-293,3},{4763,-293,3},{4765,-298,3},{4763,-297,3},{4757,-293,3}, {4757,-297,3},{4760,-300,3},{4757,-300,3},{4760,-302,3},{4757,-302,3},{4757,-310,3}, {4758,-308,3},{4760,-312,3},{4750,-312,3},{4747,-308,3},{4747,-313,3},{4752,-315,3}, {4758,-313,3},{4762,-315,3},{4763,-320,3},{4768,-318,3},{4770,-312,3},{4773,-312,3}, {4772,-313,3},{4775,-313,3},{4773,-315,3},{4775,-318,3},{4773,-317,3},{4772,-317,3}, {4770,-320,3},{4768,-320,3},{4765,-322,3},{4770,-332,3},{4770,-335,3},{4768,-328,3}, {4770,-332,3},{4772,-335,3},{4778,-328,3},{4773,-335,3},{4773,-340,3},{4773,-337,3}, {4772,-337,3},{4770,-345,3},{4777,-353,3},{4778,-368,3},{4782,-372,3},{4780,-377,3}, {4780,-385,3},{4790,-395,3},{4790,-398,3},{4787,-398,3},{4785,-403,3},{4787,-400,3}, {4787,-408,3},{4792,-413,3},{4790,-415,3},{4787,-412,3},{4785,-415,3},{4787,-417,3}, {4788,-418,3},{4787,-418,3},{4783,-418,3},{4783,-415,3},{4780,-418,3},{4780,-425,3}, {4780,-437,3},{4783,-437,3},{4783,-435,3},{4787,-435,3},{4797,-443,3},{4802,-453,3}, {4800,-457,3},{4803,-463,3},{4803,-473,3},{4807,-470,3},{4808,-455,3},{4812,-437,3}, {4810,-430,3},{4812,-428,3},{4815,-428,3},{4820,-432,3},{4820,-437,3},{4823,-443,3}, {4823,-450,3},{4820,-452,3},{4817,-455,3},{4820,-455,3},{4823,-457,3},{4825,-455,3}, {4827,-462,3},{4828,-462,3},{4828,-458,3},{4832,-458,3},{4833,-457,3},{4833,-453,3}, {4830,-455,3},{4828,-450,3},{4830,-430,3},{4828,-425,3},{4830,-418,3},{4830,-423,3}, {4832,-423,3},{4830,-425,3},{4832,-428,3},{4832,-432,3},{4835,-427,3},{4835,-432,3}, {4833,-438,3},{4833,-440,3},{4835,-440,3},{4833,-445,3},{4837,-443,3},{4843,-430,3}, {4835,-460,3},{4833,-477,3},{4837,-478,3},{4838,-477,3},{4843,-478,3},{4847,-477,3}, {4847,-475,3},{4852,-478,3},{4857,-470,3},{4857,-458,3},{4858,-460,3},{4860,-460,3}, {4860,-453,3},{4862,-457,3},{4863,-453,3},{4863,-450,3},{4863,-442,3},{4865,-442,3}, {4868,-433,3},{4867,-430,3},{4863,-430,3},{4865,-423,3},{4865,-420,3},{4867,-422,3}, {4868,-418,3},{4870,-410,3},{4868,-407,3},{4868,-405,3},{4872,-405,3},{4873,-398,3}, {4865,-395,3},{4868,-392,3},{4867,-390,3},{4865,-390,3},{4863,-385,3},{4868,-387,3}, {4867,-385,3},{4868,-383,3},{4870,-385,3},{4873,-382,3},{4870,-367,3},{4870,-365,3}, {4868,-363,3},{4868,-358,3},{4873,-358,3},{4873,-353,3},{4877,-358,3},{4880,-357,3}, {4880,-353,3},{4883,-353,3},{4883,-347,3},{4882,-345,3},{4882,-342,3},{4880,-343,3}, {4883,-332,3},{4883,-328,3},{4887,-322,3},{4883,-320,3},{4880,-322,3},{4885,-318,3}, {4887,-310,3},{4887,-308,3},{4882,-308,3},{4875,-312,3},{4882,-307,3},{4882,-302,3}, {4880,-300,3},{4878,-305,3},{4877,-297,3},{4877,-295,3},{4875,-293,3},{4873,-293,3}, {4865,-282,3},{4860,-282,3},{4855,-272,3},{4853,-273,3},{4850,-268,3},{4853,-267,3}, {4853,-263,3},{4860,-255,3},{4862,-247,3},{4863,-247,3},{4865,-248,3},{4865,-242,3}, {4863,-242,3},{4865,-238,3},{4867,-233,3},{4870,-232,3},{4867,-228,3},{4862,-233,3}, {4865,-225,3},{4863,-223,3},{4858,-222,3},{4862,-220,3},{4858,-218,3},{4862,-215,3}, {4862,-213,3},{4863,-215,3},{4865,-210,3},{4865,-205,3},{4853,-197,3},{4852,-198,3}, {4853,-193,3},{4853,-197,3},{4858,-198,3},{4858,-195,3},{4860,-200,3},{4865,-203,3}, {4867,-200,3},{4868,-198,3},{4868,-193,3},{4870,-193,3},{4872,-185,3},{4870,-185,3}, {4865,-187,3},{4863,-185,3},{4860,-177,3},{4862,-163,3},{4863,-158,3},{4863,-150,3}, {4865,-142,3},{4863,-135,3},{4867,-140,3},{4868,-150,3},{4872,-152,3},{4875,-157,3}, {4883,-157,3},{4883,-160,3},{4887,-158,3},{4893,-155,3},{4895,-157,3},{4902,-155,3}, {4902,-150,3},{4903,-153,3},{4902,-157,3},{4900,-158,3},{4903,-160,3},{4908,-158,3}, {4910,-162,3},{4913,-160,3},{4913,-157,3},{4915,-160,3},{4922,-162,3},{4922,-155,3}, {4923,-162,3},{4922,-162,3},{4922,-163,3},{4928,-167,3},{4932,-170,3},{4933,-168,3}, {4935,-170,3},{4933,-172,3},{4938,-177,3},{4938,-182,3},{4945,-182,3},{4950,-185,3}, {4953,-188,3},{4958,-183,3},{4963,-185,3},{4965,-187,3},{4968,-195,3},{4973,-193,3}, {4970,-188,3},{4972,-185,3},{4968,-182,3},{4967,-168,3},{4967,-167,3},{4965,-160,3}, {4967,-152,3},{4970,-147,3},{4970,-125,3},{4962,-123,3},{4962,-125,3},{4958,-127,3}, {4958,-130,3},{4955,-130,3},{4940,-117,3},{4935,-118,3},{4935,-113,3},{4933,-113,3}, {4935,-110,3},{4937,-112,3},{4940,-107,3},{4940,-98,3},{4940,-92,3},{4937,-83,3}, {4933,-40,3},{4928,-25,3},{4927,-23,3},{4928,-20,3},{4930,-10,3},{4933,0,3}, {4937,8,3},{4942,15,3},{4943,22,3},{4945,42,3},{4948,50,3},{4945,35,3}, {4947,25,3},{4948,18,3},{4947,18,3},{4947,17,3},{4952,8,3},{4968,17,3}, {4972,22,3},{4975,35,3},{4987,63,3},{4987,78,3},{4992,97,3},{4993,107,3}, {4998,123,3},{5010,143,3},{5020,152,3},{5022,155,3},{5020,158,3},{5018,167,3}, {5020,165,3},{5022,167,3},{5022,163,3},{5028,153,3},{5037,155,3},{5037,162,3}, {5040,155,3},{5053,158,3},{5055,160,3},{5058,158,3},{5068,157,3},{5078,160,3}, {5087,158,3},{5088,165,3},{5095,173,3},{5098,185,3},{5102,212,3},{5105,232,3}, {5105,242,3},{5108,255,3},{5100,258,3},{5100,260,3},{5095,263,3},{5092,260,3}, {5088,262,3},{5085,260,3},{5082,263,3},{5082,272,3},{5073,280,3},{5073,285,3}, {5070,290,3},{5073,293,3},{5075,295,3},{5078,308,3},{5080,312,3},{5078,317,3}, {5072,320,3},{5072,323,3},{5068,327,3},{5067,325,3},{5060,328,3},{5053,328,3}, {5050,337,3},{5052,345,3},{5053,348,3},{5052,352,3},{5048,352,3},{5048,362,3}, {5045,367,3},{5037,367,3},{5030,370,3},{5035,377,3},{5035,385,3},{5033,390,3}, {5035,403,3},{5030,412,3},{5025,415,3},{5027,417,3},{5028,417,3},{5027,422,3}, {5025,422,3},{5022,417,3},{5013,413,3},{5013,420,3},{5007,423,3},{5003,415,3}, {4998,415,3},{4997,422,3},{4997,432,3},{4997,433,3},{4993,445,3},{4998,460,3}, {5000,467,3},{5008,470,3},{5017,483,3},{5015,485,3},{5015,488,3},{5013,490,3}, {5008,488,3},{5010,487,3},{5008,485,3},{5007,483,3},{5005,485,3},{4998,480,3}, {4995,480,3},{4995,485,3},{4992,488,3},{4987,485,3},{4983,487,3},{4980,487,3}, {4980,498,3},{4980,500,3},{4977,507,3},{4977,510,3},{4972,513,3},{4972,517,3}, {4970,517,3},{4968,523,3},{4970,528,3},{4967,533,3},{4962,532,3},{4963,535,3}, {4962,540,3},{4960,543,3},{4953,548,3},{4950,547,3},{4952,553,3},{4953,557,3}, {4952,562,3},{4955,567,3},{4953,573,3},{4955,577,3},{4955,578,3},{4953,580,3}, {4950,587,3},{4948,597,3},{4947,598,3},{4945,598,3},{4945,603,3},{4947,607,3}, {4945,608,3},{4948,612,3},{4950,617,3},{4950,615,3},{4950,623,3},{4947,637,3}, {4948,642,3},{4947,647,3},{4943,653,3},{4940,653,3},{4937,660,3},{4935,657,3}, {4933,657,3},{4928,667,3},{4922,670,3},{4922,673,3},{4918,672,3},{4917,673,3}, {4915,683,3},{4917,685,3},{4918,687,3},{4922,685,3},{4922,693,3},{4920,695,3}, {4918,703,3},{4912,705,3},{4913,708,3},{4915,708,3},{4915,710,3},{4913,712,3}, {4912,720,3},{4913,723,3},{4912,730,3},{4913,732,3},{4915,737,3},{4917,738,3}, {4917,748,3},{4915,750,3},{4913,748,3},{4908,753,3},{4908,760,3},{4905,765,3}, {4905,777,3},{4905,780,3},{4903,787,3},{4905,795,3},{4898,808,3},{4897,823,3}, {4895,818,3},{4890,813,3},{4880,810,3},{4878,803,3},{4875,802,3},{4875,797,3}, {4870,795,3},{4865,783,3},{4858,780,3},{4852,780,3},{4848,777,3},{4840,773,3}, {4833,775,3},{4830,770,3},{4825,768,3},{4812,758,3},{4805,757,3},{4798,762,3}, {4793,758,3},{4790,758,3},{4788,755,3},{4785,757,3},{4778,753,3},{4773,755,3}, {4770,752,3},{4767,752,3},{4763,757,3},{4758,758,3},{4755,750,3},{4753,752,3}, {4752,750,3},{4750,750,3},{4748,748,3},{4750,743,3},{4747,745,3},{4743,738,3}, {4743,732,3},{4742,725,3},{4743,723,3},{4745,718,3},{4750,720,3},{4750,713,3}, {4750,708,3},{4750,703,3},{4750,698,3},{4745,700,3},{4743,695,3},{4740,693,3}, {4738,688,3},{4735,688,3},{4737,702,3},{4737,705,3},{4735,707,3},{4732,702,3}, {4730,702,3},{4728,695,3},{4725,695,3},{4723,693,3},{4717,683,3},{4717,685,3}, {4708,670,3},{4703,670,3},{4700,663,3},{4697,648,3},{4693,643,3},{4687,647,3}, {4682,643,3},{4678,645,3},{4672,637,3},{4668,628,3},{4660,613,3},{4655,617,3}, {4648,608,3},{4645,608,3},{4643,607,3},{4637,617,3},{4630,610,3},{4627,612,3}, {4622,597,3},{4618,600,3},{4615,598,3},{4613,597,3},{4615,615,3},{4617,618,3}, {4620,620,3},{4625,630,3},{4627,630,3},{4627,627,3},{4630,625,3},{4632,625,3}, {4632,623,3},{4635,625,3},{4640,632,3},{4642,642,3},{4643,645,3},{4645,650,3}, {4647,663,3},{4643,678,3},{4642,682,3},{4638,680,3},{4635,677,3},{4627,685,3}, {4622,680,3},{4615,678,3},{4613,688,3},{4605,687,3},{4607,693,3},{4600,702,3}, {4597,700,3},{4597,703,3},{4593,703,3},{4587,697,3},{4585,687,3},{4583,687,3}, {4583,682,3},{4578,680,3},{4573,682,3},{4570,683,3},{4568,690,3},{4567,692,3}, {4567,695,3},{4565,698,3},{4560,697,3},{4552,700,3},{4548,708,3},{4543,712,3}, {4542,718,3},{4533,713,3},{4533,712,3},{4525,713,3},{4525,710,3},{4522,707,3}, {4523,705,3},{4522,697,3},{4518,693,3},{4517,688,3},{4515,690,3},{4513,688,3}, {4513,685,3},{4517,677,3},{4515,673,3},{4515,668,3},{4512,662,3},{4508,665,3}, {4503,667,3},{4502,675,3},{4492,675,3},{4487,685,3},{4487,690,3},{4487,695,3}, {4483,703,3},{4480,702,3},{4475,703,3},{4472,707,3},{4468,707,3},{4468,698,3}, {4467,695,3},{4463,697,3},{4458,693,3},{4453,685,3},{4448,687,3},{4445,693,3}, {4443,688,3},{4438,688,3},{4433,693,3},{4432,693,3},{4428,697,3},{4425,698,3}, {4425,705,3},{4422,712,3},{4422,715,3},{4418,722,3},{4418,723,3},{4415,727,3}, {4415,733,3},{4413,735,3},{4413,742,3},{4417,755,3},{4417,762,3},{4418,762,3}, {4418,767,3},{4413,765,3},{4410,770,3},{4408,770,3},{4405,767,3},{4400,765,3}, {4395,757,3},{4390,755,3},{4388,750,3},{4378,753,3},{4378,750,3},{4378,748,3}, {4375,747,3},{4375,743,3},{4372,738,3},{4375,738,3},{4377,742,3},{4375,743,3}, {4373,738,3},{4372,733,3},{4368,733,3},{4372,732,3},{4370,723,3},{4367,722,3}, {4367,715,3},{4363,713,3},{4357,713,3},{4358,710,3},{4357,702,3},{4355,697,3}, {4352,695,3},{4350,695,3},{4343,688,3},{4342,685,3},{4343,675,3},{4337,672,3}, {4335,667,3},{4332,667,3},{4328,658,3},{4328,670,3},{4323,667,3},{4322,668,3}, {4320,663,3},{4318,663,3},{4317,662,3},{4318,660,3},{4320,660,3},{4320,657,3}, {4317,650,3},{4317,640,3},{4313,637,3},{4308,637,3},{4313,627,3},{4313,618,3}, {4310,617,3},{4307,615,3},{4307,618,3},{4305,617,3},{4305,608,3},{4307,612,3}, {4310,612,3},{4310,603,3},{4312,602,3},{4312,593,3},{4313,593,3},{4312,588,3}, {4308,593,3},{4308,590,3},{4305,587,3},{4307,583,3},{4308,577,3},{4312,582,3}, {4312,578,3},{4315,577,3},{4315,570,3},{4318,568,3},{4318,562,3},{4318,560,3}, {4318,558,3},{4322,553,3},{4320,550,3},{4322,547,3},{4322,537,3},{4323,535,3}, {4327,537,3},{4328,535,3},{4333,537,3},{4337,532,3},{4333,522,3},{4335,503,3}, {4338,502,3},{4340,502,3},{4342,507,3},{4342,515,3},{4347,523,3},{4350,522,3}, {4348,517,3},{4350,512,3},{4353,512,3},{4353,505,3},{4355,503,3},{4350,500,3}, {4348,502,3},{4347,505,3},{4343,507,3},{4342,498,3},{4343,492,3},{4342,487,3}, {4340,485,3},{4338,487,3},{4337,487,3},{4343,475,3},{4352,475,3},{4357,472,3}, {4357,470,3},{4355,470,3},{4352,473,3},{4342,473,3},{4338,482,3},{4337,482,3}, {4335,480,3},{4337,460,3},{4338,457,3},{4343,460,3},{4345,453,3},{4345,437,3}, {4348,418,3},{4350,415,3},{4353,415,3},{4357,412,3},{4357,395,3},{4358,408,3}, {4362,410,3},{4355,388,3},{4353,387,3},{4352,382,3},{4348,380,3},{4343,370,3}, {4345,377,3},{4353,388,3},{4355,393,3},{4342,370,3},{4338,362,3},{4328,352,3}, {4328,340,3},{4322,327,3},{4308,315,3},{4310,312,3},{4312,313,3},{4312,310,3}, {4308,310,3},{4307,313,3},{4305,313,3},{4295,308,3},{4295,307,3},{4298,308,3}, {4298,307,3},{4297,305,3},{4293,310,3},{4290,310,3},{4290,305,3},{4287,305,3}, {4283,300,3},{4282,302,3},{4280,308,3},{4268,308,3},{4270,305,3},{4268,305,3}, {4265,308,3},{4255,310,3},{4252,315,3},{4243,322,3},{4245,315,3},{4243,312,3}, {4248,307,3},{4248,302,3},{4248,297,3},{4247,295,3},{4247,288,3},{4242,282,3}, {4243,275,3},{4242,272,3},{4238,268,3},{4235,270,3},{4233,270,3},{4237,260,3}, {4235,258,3},{4235,252,3},{4242,238,3},{4243,228,3},{4242,218,3},{4238,210,3}, {4237,207,3},{4238,202,3},{4243,200,3},{4247,197,3},{4250,175,3},{4257,178,3}, {4258,182,3},{4260,178,3},{4262,178,3},{4263,165,3},{4267,160,3},{4267,153,3}, {4262,152,3},{4260,148,3},{4267,147,3},{4273,137,3},{4273,122,3},{4273,118,3}, {4277,118,3},{4280,110,3},{4280,97,3},{4283,90,3},{4285,82,3},{4288,77,3}, {4285,70,3},{4278,70,3},{4273,72,3},{4272,72,3},{4272,47,3},{4275,40,3}, {4270,37,3},{4270,32,3},{4273,30,3},{4275,22,3},{4272,10,3},{4272,0,3}, {4273,-7,3},{4283,-15,3},{4283,-18,3},{4287,-28,3},{4285,-33,3},{4282,-37,3}, {4283,-48,3},{4280,-53,3},{4283,-53,3},{4283,-57,3},{4290,-63,3},{4292,-70,3}, {4297,-70,3},{4298,-73,3},{4297,-90,3},{4298,-95,3},{4303,-107,3},{4307,-123,3}, {4308,-127,3},{4313,-127,3},{4312,-132,3},{4307,-133,3},{4307,-140,3},{4310,-143,3}, {4320,-135,3},{4328,-137,3},{4332,-152,3},{4328,-153,3},{4328,-157,3},{4333,-162,3}, {4332,-170,3},{4335,-172,3},{4340,-177,3},{4250,175,131},{4250,172,3},{4248,170,3}, {4247,160,3},{4245,160,3},{4245,157,3},{4245,148,3},{4248,145,3},{4250,147,3}, {4252,150,3},{4253,148,3},{4255,145,3},{4260,148,3},{4262,152,3},{4267,153,3}, {4267,160,3},{4263,165,3},{4262,178,3},{4260,178,3},{4258,182,3},{4257,178,3}, {4250,175,3},{4373,738,131},{4375,738,3},{4377,742,3},{4375,743,3},{4373,738,3}, {3718,-742,131},{3745,-747,3},{3748,-748,3},{3752,-752,3},{3757,-752,3}, {3765,-747,3},{3775,-743,3},{3782,-733,3},{3787,-728,3},{3793,-727,3},{3798,-727,3}, {3800,-722,3},{3800,-715,3},{3803,-713,3},{3805,-712,3},{3803,-708,3},{3802,-707,3}, {3803,-703,3},{3807,-703,3},{3812,-700,3},{3818,-700,3},{3822,-695,3},{3818,-705,3}, {3818,-712,3},{3823,-713,3},{3828,-720,3},{3843,-730,3},{3843,-737,3},{3847,-733,3}, {3848,-735,3},{3855,-732,3},{3862,-727,3},{3863,-730,3},{3872,-728,3},{3882,-715,3}, {3883,-710,3},{3887,-703,3},{3890,-707,3},{3895,-705,3},{3900,-700,3},{3905,-698,3}, {3908,-700,3},{3910,-703,3},{3912,-707,3},{3910,-717,3},{3917,-717,3},{3918,-725,3}, {3923,-727,3},{3928,-727,3},{3933,-733,3},{3940,-735,3},{3942,-732,3},{3947,-732,3}, {3960,-752,3},{3968,-755,3},{3967,-735,3},{3968,-728,3},{3967,-718,3},{3968,-700,3}, {3978,-697,3},{3982,-697,3},{3987,-690,3},{4002,-687,3},{4012,-693,3},{4013,-702,3}, {4022,-702,3},{4028,-693,3},{4028,-685,3},{4032,-685,3},{4035,-678,3},{4037,-678,3}, {4042,-683,3},{4045,-685,3},{4053,-678,3},{4058,-683,3},{4067,-680,3},{4075,-683,3}, {4085,-682,3},{4087,-680,3},{4088,-683,3},{4103,-693,3},{4105,-680,3},{4110,-675,3}, {4115,-675,3},{4118,-672,3},{4125,-665,3},{4125,-657,3},{4128,-650,3},{4135,-640,3}, {4137,-637,3},{4140,-637,3},{4140,-632,3},{4148,-628,3},{4158,-618,3},{4162,-623,3}, {4165,-627,3},{4168,-635,3},{4168,-645,3},{4167,-650,3},{4168,-653,3},{4175,-655,3}, {4187,-652,3},{4188,-652,3},{4188,-658,3},{4195,-655,3},{4197,-658,3},{4195,-663,3}, {4195,-673,3},{4198,-677,3},{4200,-682,3},{4195,-682,3},{4195,-690,3},{4195,-693,3}, {4198,-697,3},{4197,-702,3},{4197,-705,3},{4198,-710,3},{4198,-718,3},{4192,-717,3}, {4187,-728,3},{4185,-738,3},{4183,-742,3},{4187,-747,3},{4188,-752,3},{4187,-753,3}, {4183,-763,3},{4190,-760,3},{4190,-768,3},{4192,-772,3},{4190,-783,3},{4187,-788,3}, {4193,-790,3},{4195,-792,3},{4190,-795,3},{4188,-800,3},{4183,-807,3},{4183,-815,3}, {4183,-817,3},{4190,-818,3},{4190,-822,3},{4192,-825,3},{4202,-818,3},{4203,-810,3}, {4208,-810,3},{4210,-812,3},{4210,-820,3},{4215,-820,3},{4210,-833,3},{4210,-847,3}, {4207,-853,3},{4205,-862,3},{4200,-867,3},{4197,-875,3},{4188,-887,3},{4197,-888,3}, {4212,-890,3},{4213,-885,3},{4212,-882,3},{4213,-882,3},{4217,-885,3},{4217,-882,3}, {4223,-877,3},{4230,-863,3},{4235,-862,3},{4233,-865,3},{4230,-867,3},{4225,-878,3}, {4227,-887,3},{4230,-885,3},{4228,-882,3},{4233,-883,3},{4233,-877,3},{4243,-865,3}, {4243,-870,3},{4240,-877,3},{4240,-883,3},{4242,-887,3},{4243,-888,3},{4247,-890,3}, {4247,-893,3},{4248,-893,3},{4250,-888,3},{4248,-887,3},{4247,-887,3},{4247,-882,3}, {4247,-883,3},{4250,-882,3},{4257,-883,3},{4260,-877,3},{4268,-873,3},{4265,-875,3}, {4263,-880,3},{4268,-885,3},{4262,-887,3},{4262,-888,3},{4263,-890,3},{4262,-892,3}, {4258,-892,3},{4258,-897,3},{4255,-898,3},{4253,-900,3},{4253,-903,3},{4258,-903,3}, {4260,-907,3},{4268,-903,3},{4273,-902,3},{4275,-895,3},{4278,-893,3},{4280,-890,3}, {4283,-888,3},{4283,-892,3},{4282,-892,3},{4280,-895,3},{4280,-905,3},{4278,-905,3}, {4275,-908,3},{4277,-910,3},{4282,-913,3},{4283,-910,3},{4287,-915,3},{4292,-913,3}, {4295,-918,3},{4292,-920,3},{4295,-923,3},{4292,-925,3},{4290,-927,3},{4293,-928,3}, {4302,-925,3},{4307,-928,3},{4307,-925,3},{4310,-925,3},{4310,-922,3},{4312,-922,3}, {4310,-918,3},{4312,-917,3},{4313,-915,3},{4315,-910,3},{4313,-920,3},{4315,-922,3}, {4318,-918,3},{4320,-907,3},{4325,-902,3},{4323,-898,3},{4323,-893,3},{4328,-898,3}, {4330,-898,3},{4332,-892,3},{4335,-885,3},{4332,-878,3},{4330,-872,3},{4332,-865,3}, {4333,-858,3},{4333,-850,3},{4337,-845,3},{4340,-840,3},{4337,-835,3},{4342,-833,3}, {4340,-827,3},{4335,-823,3},{4333,-822,3},{4338,-822,3},{4340,-822,3},{4343,-820,3}, {4345,-827,3},{4347,-830,3},{4347,-822,3},{4350,-817,3},{4348,-823,3},{4350,-825,3}, {4348,-832,3},{4353,-832,3},{4357,-832,3},{4358,-823,3},{4362,-818,3},{4365,-813,3}, {4367,-810,3},{4365,-808,3},{4365,-807,3},{4370,-807,3},{4372,-800,3},{4375,-795,3}, {4378,-790,3},{4377,-787,3},{4372,-785,3},{4373,-787,3},{4368,-787,3},{4368,-790,3}, {4367,-787,3},{4368,-785,3},{4372,-787,3},{4372,-782,3},{4373,-782,3},{4377,-773,3}, {4380,-768,3},{4378,-767,3},{4373,-770,3},{4377,-765,3},{4373,-762,3},{4370,-762,3}, {4373,-757,3},{4373,-748,3},{4372,-748,3},{4368,-737,3},{4362,-730,3},{4360,-727,3}, {4357,-727,3},{4358,-703,3},{4357,-703,3},{4353,-705,3},{4350,-705,3},{4355,-702,3}, {4357,-702,3},{4358,-695,3},{4357,-672,3},{4358,-665,3},{4358,-660,3},{4357,-650,3}, {4357,-647,3},{4358,-647,3},{4357,-642,3},{4358,-632,3},{4362,-623,3},{4358,-618,3}, {4358,-607,3},{4360,-602,3},{4360,-592,3},{4365,-590,3},{4365,-587,3},{4368,-585,3}, {4365,-578,3},{4358,-570,3},{4360,-570,3},{4357,-567,3},{4357,-540,3},{4355,-538,3}, {4352,-542,3},{4355,-537,3},{4355,-530,3},{4350,-520,3},{4350,-508,3},{4348,-505,3}, {4348,-497,3},{4348,-495,3},{4343,-473,3},{4342,-453,3},{4342,-450,3},{4340,-448,3}, {4342,-443,3},{4340,-438,3},{4342,-435,3},{4340,-432,3},{4342,-423,3},{4345,-408,3}, {4345,-403,3},{4347,-402,3},{4345,-397,3},{4347,-397,3},{4350,-393,3},{4352,-382,3}, {4350,-377,3},{4347,-383,3},{4343,-382,3},{4347,-377,3},{4345,-373,3},{4348,-375,3}, {4348,-373,3},{4350,-372,3},{4350,-368,3},{4353,-358,3},{4350,-350,3},{4348,-343,3}, {4347,-343,3},{4345,-350,3},{4342,-347,3},{4345,-345,3},{4342,-325,3},{4338,-317,3}, {4337,-307,3},{4333,-302,3},{4340,-303,3},{4343,-295,3},{4345,-293,3},{4345,-282,3}, {4347,-275,3},{4343,-270,3},{4338,-268,3},{4342,-267,3},{4340,-252,3},{4332,-235,3}, {4332,-218,3},{4332,-215,3},{4330,-213,3},{4335,-197,3},{4333,-190,3},{4335,-192,3}, {4342,-180,3},{4340,-177,3},{4335,-172,3},{4332,-170,3},{4333,-162,3},{4328,-157,3}, {4328,-153,3},{4332,-152,3},{4328,-137,3},{4320,-135,3},{4310,-143,3},{4307,-140,3}, {4307,-133,3},{4312,-132,3},{4313,-127,3},{4308,-127,3},{4307,-123,3},{4303,-107,3}, {4298,-95,3},{4297,-90,3},{4298,-73,3},{4297,-70,3},{4292,-70,3},{4290,-63,3}, {4283,-57,3},{4283,-53,3},{4280,-53,3},{4283,-48,3},{4282,-37,3},{4285,-33,3}, {4287,-28,3},{4283,-18,3},{4283,-15,3},{4273,-7,3},{4272,0,3},{4272,10,3}, {4275,22,3},{4273,30,3},{4270,32,3},{4270,37,3},{4275,40,3},{4272,47,3}, {4272,72,3},{4273,72,3},{4278,70,3},{4285,70,3},{4288,77,3},{4285,82,3}, {4283,90,3},{4280,97,3},{4280,110,3},{4277,118,3},{4273,118,3},{4273,122,3}, {4273,137,3},{4267,147,3},{4260,148,3},{4255,145,3},{4253,148,3},{4252,150,3}, {4250,147,3},{4248,145,3},{4245,148,3},{4245,157,3},{4245,160,3},{4247,160,3}, {4248,170,3},{4250,172,3},{4250,175,3},{4247,197,3},{4243,200,3},{4238,202,3}, {4237,207,3},{4238,210,3},{4242,218,3},{4243,228,3},{4242,238,3},{4235,252,3}, {4235,258,3},{4237,260,3},{4233,270,3},{4235,270,3},{4238,268,3},{4242,272,3}, {4243,275,3},{4242,282,3},{4247,288,3},{4247,295,3},{4248,297,3},{4248,302,3}, {4248,307,3},{4243,312,3},{4245,315,3},{4243,322,3},{4238,320,3},{4235,323,3}, {4235,325,3},{4233,332,3},{4232,335,3},{4225,330,3},{4225,322,3},{4227,320,3}, {4225,317,3},{4222,315,3},{4215,315,3},{4208,323,3},{4202,323,3},{4197,327,3}, {4188,322,3},{4185,313,3},{4180,308,3},{4173,297,3},{4172,287,3},{4163,275,3}, {4145,228,3},{4132,215,3},{4127,207,3},{4125,193,3},{4120,168,3},{4118,152,3}, {4113,140,3},{4112,123,3},{4107,118,3},{4108,113,3},{4107,105,3},{4103,98,3}, {4097,88,3},{4080,72,3},{4077,78,3},{4080,77,3},{4080,80,3},{4072,90,3}, {4068,87,3},{4067,77,3},{4057,67,3},{4060,62,3},{4060,70,3},{4065,73,3}, {4063,62,3},{4060,58,3},{4030,37,3},{4025,30,3},{4022,28,3},{4017,20,3}, {4007,13,3},{4003,5,3},{3995,0,3},{3992,-2,3},{3980,-13,3},{3970,-20,3}, {3965,-22,3},{3955,-32,3},{3950,-33,3},{3938,-33,3},{3918,-23,3},{3917,-25,3}, {3912,-25,3},{3893,-12,3},{3887,0,3},{3885,10,3},{3882,17,3},{3880,18,3}, {3880,17,3},{3877,22,3},{3873,22,3},{3872,17,3},{3868,13,3},{3867,8,3}, {3863,7,3},{3862,0,3},{3860,-7,3},{3858,-7,3},{3855,-7,3},{3853,-10,3}, {3853,-17,3},{3845,-38,3},{3840,-42,3},{3835,-42,3},{3835,-47,3},{3833,-48,3}, {3833,-52,3},{3820,-53,3},{3818,-62,3},{3815,-67,3},{3805,-67,3},{3798,-65,3}, {3795,-70,3},{3790,-75,3},{3783,-77,3},{3780,-75,3},{3782,-78,3},{3780,-80,3}, {3777,-82,3},{3775,-85,3},{3773,-87,3},{3767,-82,3},{3763,-75,3},{3765,-72,3}, {3763,-70,3},{3762,-72,3},{3755,-92,3},{3758,-98,3},{3758,-107,3},{3757,-112,3}, {3753,-112,3},{3757,-122,3},{3755,-135,3},{3748,-147,3},{3743,-150,3},{3743,-153,3}, {3742,-157,3},{3738,-165,3},{3720,-182,3},{3698,-192,3},{3695,-190,3},{3693,-195,3}, {3690,-200,3},{3685,-202,3},{3673,-213,3},{3673,-218,3},{3673,-222,3},{3680,-228,3}, {3683,-237,3},{3682,-243,3},{3682,-258,3},{3673,-265,3},{3670,-272,3},{3670,-277,3}, {3672,-282,3},{3670,-285,3},{3675,-292,3},{3677,-310,3},{3675,-333,3},{3670,-345,3}, {3675,-363,3},{3673,-373,3},{3675,-385,3},{3673,-395,3},{3675,-408,3},{3673,-412,3}, {3672,-423,3},{3672,-442,3},{3662,-450,3},{3657,-460,3},{3650,-465,3},{3648,-475,3}, {3652,-487,3},{3650,-493,3},{3647,-500,3},{3642,-518,3},{3635,-525,3},{3630,-527,3}, {3627,-532,3},{3615,-537,3},{3615,-538,3},{3615,-537,3},{3615,-538,3},{3617,-543,3}, {3615,-547,3},{3607,-545,3},{3605,-547,3},{3600,-562,3},{3605,-568,3},{3607,-577,3}, {3608,-582,3},{3618,-593,3},{3618,-605,3},{3628,-612,3},{3632,-617,3},{3637,-618,3}, {3645,-623,3},{3653,-632,3},{3655,-630,3},{3653,-628,3},{3648,-623,3},{3652,-618,3}, {3652,-622,3},{3652,-625,3},{3657,-623,3},{3662,-630,3},{3663,-638,3},{3673,-643,3}, {3675,-643,3},{3680,-633,3},{3687,-635,3},{3690,-633,3},{3690,-630,3},{3690,-622,3}, {3693,-620,3},{3692,-623,3},{3690,-633,3},{3682,-635,3},{3680,-637,3},{3682,-640,3}, {3693,-647,3},{3703,-660,3},{3718,-690,3},{3722,-692,3},{3728,-685,3},{3722,-693,3}, {3723,-697,3},{3717,-693,3},{3722,-708,3},{3722,-713,3},{3720,-710,3},{3720,-733,3}, {3718,-738,3},{3718,-742,3},{3717,-742,3},{3718,-745,3},{3717,-753,3},{3698,-783,3}, {3702,-790,3},{3700,-797,3},{3700,-800,3},{3698,-797,3},{3705,-807,3},{3707,-815,3}, {3707,-830,3},{3710,-837,3},{3708,-845,3},{3712,-853,3},{3712,-860,3},{3712,-865,3}, {3708,-868,3},{3705,-885,3},{3700,-895,3},{3703,-900,3},{3715,-892,3},{3718,-892,3}, {3725,-888,3},{3732,-888,3},{3743,-882,3},{3753,-880,3},{3760,-883,3},{3768,-882,3}, {3770,-878,3},{3770,-875,3},{3773,-873,3},{3772,-880,3},{3773,-882,3},{3788,-882,3}, {3792,-883,3},{3795,-890,3},{3813,-880,3},{3825,-880,3},{3840,-883,3},{3848,-895,3}, {3848,-890,3},{3845,-885,3},{3843,-880,3},{3842,-878,3},{3843,-877,3},{3840,-870,3}, {3842,-860,3},{3842,-868,3},{3845,-873,3},{3850,-875,3},{3852,-873,3},{3857,-877,3}, {3853,-878,3},{3852,-882,3},{3852,-878,3},{3848,-880,3},{3848,-883,3},{3852,-892,3}, {3847,-900,3},{3845,-907,3},{3842,-923,3},{3847,-920,3},{3872,-950,3},{3875,-948,3}, {3880,-950,3},{3893,-943,3},{3908,-943,3},{3923,-935,3},{3932,-935,3},{3937,-942,3}, {3938,-933,3},{3943,-925,3},{3940,-923,3},{3942,-920,3},{3945,-923,3},{3955,-913,3}, {3972,-907,3},{3983,-900,3},{4013,-887,3},{4012,-882,3},{4012,-878,3},{4015,-882,3}, {4015,-888,3},{4018,-892,3},{4040,-882,3},{4062,-877,3},{4063,-875,3},{4062,-875,3}, {4065,-872,3},{4065,-868,3},{4067,-868,3},{4067,-867,3},{4070,-865,3},{4070,-867,3}, {4072,-867,3},{4073,-862,3},{4075,-857,3},{4073,-863,3},{4073,-867,3},{4075,-868,3}, {4078,-868,3},{4082,-863,3},{4083,-865,3},{4080,-867,3},{4082,-868,3},{4075,-870,3}, {4067,-873,3},{4067,-875,3},{4097,-865,3},{4113,-867,3},{4115,-865,3},{4117,-870,3}, {4120,-872,3},{4133,-875,3},{4133,-877,3},{4140,-878,3},{4152,-880,3},{4153,-878,3}, {4155,-880,3},{4167,-883,3},{4170,-873,3},{4172,-870,3},{4168,-882,3},{4170,-885,3}, {4172,-888,3},{4175,-890,3},{4180,-888,3},{4183,-888,3},{4192,-877,3},{4197,-875,3}, {4200,-867,3},{4205,-862,3},{4207,-853,3},{4210,-847,3},{4210,-833,3},{4215,-820,3}, {4210,-820,3},{4210,-812,3},{4208,-810,3},{4203,-810,3},{4202,-818,3},{4192,-825,3}, {4190,-822,3},{4190,-818,3},{4183,-817,3},{4183,-815,3},{4183,-807,3},{4188,-800,3}, {4190,-795,3},{4195,-792,3},{4193,-790,3},{4187,-788,3},{4190,-783,3},{4192,-772,3}, {4190,-768,3},{4190,-760,3},{4183,-763,3},{4187,-753,3},{4188,-752,3},{4187,-747,3}, {4183,-742,3},{4185,-738,3},{4187,-728,3},{4192,-717,3},{4198,-718,3},{4198,-710,3}, {4197,-705,3},{4197,-702,3},{4198,-697,3},{4195,-693,3},{4195,-690,3},{4195,-682,3}, {4200,-682,3},{4198,-677,3},{4195,-673,3},{4195,-663,3},{4197,-658,3},{4195,-655,3}, {4188,-658,3},{4188,-652,3},{4187,-652,3},{4175,-655,3},{4168,-653,3},{4167,-650,3}, {4168,-645,3},{4168,-635,3},{4165,-627,3},{4162,-623,3},{4158,-618,3},{4148,-628,3}, {4140,-632,3},{4140,-637,3},{4137,-637,3},{4135,-640,3},{4128,-650,3},{4125,-657,3}, {4125,-665,3},{4118,-672,3},{4115,-675,3},{4110,-675,3},{4105,-680,3},{4103,-693,3}, {4088,-683,3},{4087,-680,3},{4085,-682,3},{4075,-683,3},{4067,-680,3},{4058,-683,3}, {4053,-678,3},{4045,-685,3},{4042,-683,3},{4037,-678,3},{4035,-678,3},{4032,-685,3}, {4028,-685,3},{4028,-693,3},{4022,-702,3},{4013,-702,3},{4012,-693,3},{4002,-687,3}, {3987,-690,3},{3982,-697,3},{3978,-697,3},{3968,-700,3},{3967,-718,3},{3968,-728,3}, {3967,-735,3},{3968,-755,3},{3960,-752,3},{3947,-732,3},{3942,-732,3},{3940,-735,3}, {3933,-733,3},{3928,-727,3},{3923,-727,3},{3918,-725,3},{3917,-717,3},{3910,-717,3}, {3912,-707,3},{3910,-703,3},{3908,-700,3},{3905,-698,3},{3900,-700,3},{3895,-705,3}, {3890,-707,3},{3887,-703,3},{3883,-710,3},{3882,-715,3},{3872,-728,3},{3863,-730,3}, {3862,-727,3},{3855,-732,3},{3848,-735,3},{3847,-733,3},{3843,-737,3},{3843,-730,3}, {3828,-720,3},{3823,-713,3},{3818,-712,3},{3818,-705,3},{3822,-695,3},{3818,-700,3}, {3812,-700,3},{3807,-703,3},{3803,-703,3},{3802,-707,3},{3803,-708,3},{3805,-712,3}, {3803,-713,3},{3800,-715,3},{3800,-722,3},{3798,-727,3},{3793,-727,3},{3787,-728,3}, {3782,-733,3},{3775,-743,3},{3765,-747,3},{3757,-752,3},{3752,-752,3},{3748,-748,3}, {3745,-747,3},{3718,-742,3},{3615,-538,131},{3615,-537,3},{3610,-537,3}, {3615,-538,3},{5162,-267,131},{5167,-268,3},{5167,-267,3},{5173,-268,3}, {5178,-268,3},{5183,-267,3},{5185,-275,3},{5188,-280,3},{5192,-287,3},{5193,-287,3}, {5192,-295,3},{5195,-302,3},{5198,-308,3},{5203,-308,3},{5208,-313,3},{5213,-313,3}, {5215,-310,3},{5217,-312,3},{5222,-308,3},{5227,-302,3},{5227,-298,3},{5227,-302,3}, {5232,-302,3},{5235,-298,3},{5235,-307,3},{5238,-313,3},{5242,-322,3},{5247,-322,3}, {5250,-313,3},{5250,-303,3},{5252,-300,3},{5257,-300,3},{5255,-310,3},{5253,-313,3}, {5258,-313,3},{5263,-308,3},{5268,-305,3},{5272,-303,3},{5272,-300,3},{5272,-298,3}, {5277,-303,3},{5280,-312,3},{5278,-315,3},{5285,-315,3},{5290,-315,3},{5293,-310,3}, {5293,-305,3},{5297,-298,3},{5293,-293,3},{5295,-290,3},{5292,-282,3},{5290,-282,3}, {5293,-273,3},{5298,-272,3},{5300,-282,3},{5303,-287,3},{5308,-288,3},{5312,-290,3}, {5313,-297,3},{5318,-293,3},{5323,-298,3},{5325,-308,3},{5327,-307,3},{5338,-320,3}, {5340,-317,3},{5343,-305,3},{5340,-302,3},{5332,-293,3},{5328,-283,3},{5330,-275,3}, {5333,-273,3},{5333,-278,3},{5333,-288,3},{5338,-297,3},{5355,-310,3},{5368,-298,3}, {5373,-283,3},{5373,-303,3},{5380,-307,3},{5392,-305,3},{5395,-292,3},{5393,-288,3}, {5397,-283,3},{5397,-287,3},{5400,-285,3},{5400,-290,3},{5403,-292,3},{5407,-287,3}, {5410,-282,3},{5412,-280,3},{5418,-285,3},{5420,-282,3},{5420,-288,3},{5415,-293,3}, {5415,-297,3},{5420,-303,3},{5412,-308,3},{5408,-315,3},{5407,-313,3},{5412,-323,3}, {5415,-323,3},{5417,-325,3},{5417,-322,3},{5427,-320,3},{5420,-325,3},{5420,-332,3}, {5428,-342,3},{5435,-342,3},{5452,-363,3},{5458,-358,3},{5465,-357,3},{5472,-352,3}, {5477,-343,3},{5480,-343,3},{5487,-338,3},{5490,-332,3},{5488,-332,3},{5487,-327,3}, {5490,-325,3},{5490,-328,3},{5492,-328,3},{5495,-322,3},{5492,-310,3},{5493,-303,3}, {5495,-303,3},{5495,-308,3},{5497,-307,3},{5497,-302,3},{5498,-302,3},{5498,-307,3}, {5500,-305,3},{5505,-305,3},{5507,-295,3},{5510,-288,3},{5513,-280,3},{5518,-270,3}, {5523,-265,3},{5528,-262,3},{5532,-255,3},{5535,-248,3},{5535,-238,3},{5542,-232,3}, {5545,-220,3},{5548,-218,3},{5550,-222,3},{5555,-223,3},{5558,-230,3},{5563,-233,3}, {5565,-225,3},{5570,-218,3},{5573,-212,3},{5580,-208,3},{5582,-203,3},{5575,-198,3}, {5563,-182,3},{5565,-178,3},{5563,-177,3},{5562,-175,3},{5560,-177,3},{5560,-168,3}, {5558,-163,3},{5553,-163,3},{5548,-158,3},{5542,-157,3},{5538,-160,3},{5532,-155,3}, {5528,-157,3},{5518,-150,3},{5515,-152,3},{5500,-142,3},{5497,-135,3},{5492,-137,3}, {5477,-130,3},{5472,-125,3},{5470,-117,3},{5468,-120,3},{5465,-117,3},{5460,-118,3}, {5460,-117,3},{5460,-113,3},{5463,-113,3},{5458,-97,3},{5455,-78,3},{5450,-63,3}, {5448,-57,3},{5445,-52,3},{5442,-52,3},{5437,-45,3},{5425,-37,3},{5422,-27,3}, {5417,-25,3},{5412,-8,3},{5408,-17,3},{5402,-22,3},{5387,-12,3},{5377,0,3}, {5363,13,3},{5358,13,3},{5357,12,3},{5360,13,3},{5362,12,3},{5363,5,3}, {5363,0,3},{5362,-7,3},{5363,-12,3},{5372,-25,3},{5373,-28,3},{5370,-42,3}, {5370,-55,3},{5372,-63,3},{5370,-72,3},{5368,-70,3},{5370,-62,3},{5367,-53,3}, {5368,-47,3},{5370,-30,3},{5368,-25,3},{5363,-20,3},{5357,-10,3},{5357,-5,3}, {5353,0,3},{5348,8,3},{5347,15,3},{5343,18,3},{5340,23,3},{5323,33,3},{5317,35,3}, {5308,33,3},{5302,17,3},{5292,7,3},{5292,3,3},{5288,0,3},{5288,8,3},{5288,12,3}, {5287,17,3},{5280,23,3},{5280,33,3},{5277,38,3},{5278,38,3},{5283,43,3}, {5293,48,3},{5297,55,3},{5295,60,3},{5297,67,3},{5295,85,3},{5297,88,3}, {5295,90,3},{5295,97,3},{5295,102,3},{5297,97,3},{5297,98,3},{5297,103,3}, {5295,110,3},{5293,128,3},{5287,143,3},{5277,165,3},{5273,168,3},{5262,175,3}, {5255,175,3},{5248,177,3},{5245,173,3},{5238,173,3},{5227,163,3},{5218,163,3}, {5208,158,3},{5205,147,3},{5193,133,3},{5200,125,3},{5195,127,3},{5197,117,3}, {5195,112,3},{5195,128,3},{5187,120,3},{5187,125,3},{5188,127,3},{5187,130,3}, {5185,128,3},{5180,120,3},{5177,113,3},{5178,103,3},{5180,100,3},{5180,93,3}, {5177,88,3},{5175,85,3},{5173,72,3},{5170,78,3},{5172,80,3},{5175,92,3}, {5173,95,3},{5168,97,3},{5163,93,3},{5163,90,3},{5163,82,3},{5162,87,3}, {5160,87,3},{5162,90,3},{5162,95,3},{5160,95,3},{5153,80,3},{5153,65,3}, {5150,57,3},{5150,47,3},{5147,43,3},{5145,38,3},{5145,45,3},{5148,48,3}, {5148,55,3},{5147,70,3},{5145,73,3},{5143,72,3},{5143,65,3},{5142,60,3}, {5142,55,3},{5138,62,3},{5138,65,3},{5138,68,3},{5138,70,3},{5142,70,3}, {5140,73,3},{5142,73,3},{5145,75,3},{5142,90,3},{5137,95,3},{5135,90,3}, {5137,80,3},{5133,92,3},{5138,122,3},{5140,145,3},{5135,143,3},{5132,138,3}, {5122,142,3},{5115,138,3},{5113,135,3},{5110,122,3},{5108,118,3},{5107,110,3}, {5103,103,3},{5098,97,3},{5092,98,3},{5093,80,3},{5092,73,3},{5087,67,3}, {5082,37,3},{5075,27,3},{5073,23,3},{5078,0,3},{5083,-20,3},{5077,-70,3}, {5075,-73,3},{5077,-75,3},{5073,-75,3},{5073,-82,3},{5077,-92,3},{5080,-87,3}, {5083,-90,3},{5082,-92,3},{5083,-93,3},{5083,-97,3},{5082,-95,3},{5077,-95,3}, {5078,-102,3},{5080,-98,3},{5083,-98,3},{5083,-103,3},{5080,-103,3},{5078,-108,3}, {5080,-110,3},{5083,-107,3},{5085,-108,3},{5083,-117,3},{5082,-112,3},{5078,-115,3}, {5083,-130,3},{5088,-137,3},{5092,-147,3},{5090,-147,3},{5088,-140,3},{5082,-130,3}, {5078,-135,3},{5077,-147,3},{5072,-155,3},{5073,-168,3},{5073,-175,3},{5072,-173,3}, {5072,-182,3},{5072,-187,3},{5068,-193,3},{5072,-195,3},{5072,-205,3},{5068,-207,3}, {5070,-203,3},{5067,-203,3},{5067,-193,3},{5065,-195,3},{5063,-190,3},{5062,-193,3}, {5058,-195,3},{5058,-205,3},{5058,-207,3},{5062,-220,3},{5063,-240,3},{5062,-243,3}, {5058,-245,3},{5055,-242,3},{5050,-245,3},{5057,-245,3},{5065,-262,3},{5070,-278,3}, {5073,-290,3},{5070,-297,3},{5068,-310,3},{5068,-322,3},{5060,-337,3},{5062,-342,3}, {5067,-347,3},{5060,-343,3},{5052,-350,3},{5047,-348,3},{5043,-355,3},{5040,-353,3}, {5038,-348,3},{5037,-350,3},{5035,-352,3},{5033,-357,3},{5032,-357,3},{5030,-363,3}, {5027,-365,3},{5022,-365,3},{5020,-372,3},{5022,-377,3},{5022,-378,3},{5022,-382,3}, {5027,-387,3},{5030,-395,3},{5030,-403,3},{5032,-412,3},{5035,-413,3},{5037,-420,3}, {5035,-422,3},{5035,-417,3},{5032,-418,3},{5032,-422,3},{5035,-427,3},{5035,-432,3}, {5035,-442,3},{5033,-447,3},{5032,-465,3},{5032,-467,3},{5033,-468,3},{5033,-475,3}, {5023,-480,3},{5022,-487,3},{5020,-490,3},{5020,-495,3},{5015,-498,3},{5013,-502,3}, {5015,-500,3},{5015,-502,3},{5022,-502,3},{5022,-503,3},{5020,-507,3},{5017,-505,3}, {5015,-507,3},{5015,-505,3},{5013,-508,3},{5010,-508,3},{5010,-512,3},{5008,-507,3}, {5005,-507,3},{5000,-510,3},{5000,-517,3},{4995,-520,3},{5000,-525,3},{5007,-528,3}, {5008,-533,3},{5013,-548,3},{5012,-553,3},{5008,-553,3},{5005,-557,3},{5003,-567,3}, {5007,-572,3},{5008,-570,3},{5013,-572,3},{5015,-568,3},{5022,-552,3},{5020,-543,3}, {5023,-538,3},{5023,-533,3},{5027,-527,3},{5032,-522,3},{5035,-515,3},{5040,-515,3}, {5042,-505,3},{5047,-502,3},{5050,-503,3},{5053,-502,3},{5053,-498,3},{5057,-495,3}, {5055,-493,3},{5058,-492,3},{5060,-478,3},{5067,-475,3},{5070,-468,3},{5073,-465,3}, {5078,-455,3},{5090,-455,3},{5102,-452,3},{5102,-447,3},{5098,-435,3},{5098,-432,3}, {5103,-423,3},{5107,-420,3},{5113,-425,3},{5115,-422,3},{5118,-422,3},{5118,-420,3}, {5123,-378,3},{5122,-360,3},{5122,-357,3},{5120,-343,3},{5118,-340,3},{5117,-328,3}, {5120,-320,3},{5120,-307,3},{5122,-300,3},{5123,-300,3},{5132,-302,3},{5132,-298,3}, {5138,-297,3},{5140,-292,3},{5148,-278,3},{5150,-272,3},{5172,-247,3},{5175,-238,3}, {5178,-240,3},{5175,-240,3},{5173,-248,3},{5162,-267,3},{5498,-307,131}, {5497,-313,3},{5497,-325,3},{5498,-343,3},{5498,-345,3},{5498,-352,3},{5497,-353,3}, {5498,-357,3},{5488,-357,3},{5487,-360,3},{5487,-372,3},{5485,-375,3},{5487,-380,3}, {5485,-382,3},{5487,-382,3},{5487,-380,3},{5485,-385,3},{5482,-382,3},{5477,-397,3}, {5477,-405,3},{5483,-405,3},{5477,-408,3},{5477,-413,3},{5483,-422,3},{5487,-420,3}, {5483,-427,3},{5487,-435,3},{5490,-437,3},{5492,-440,3},{5488,-440,3},{5487,-443,3}, {5483,-442,3},{5480,-433,3},{5478,-437,3},{5470,-435,3},{5468,-438,3},{5470,-450,3}, {5478,-460,3},{5483,-478,3},{5487,-480,3},{5487,-483,3},{5483,-493,3},{5480,-497,3}, {5470,-490,3},{5468,-487,3},{5465,-488,3},{5463,-485,3},{5463,-487,3},{5465,-495,3}, {5472,-495,3},{5485,-513,3},{5493,-518,3},{5500,-517,3},{5502,-512,3},{5500,-508,3}, {5493,-507,3},{5490,-500,3},{5492,-498,3},{5500,-505,3},{5503,-507,3},{5513,-502,3}, {5522,-487,3},{5532,-483,3},{5535,-478,3},{5542,-475,3},{5545,-463,3},{5548,-462,3}, {5553,-465,3},{5553,-468,3},{5555,-465,3},{5560,-470,3},{5563,-482,3},{5565,-482,3}, {5570,-492,3},{5575,-485,3},{5582,-490,3},{5588,-490,3},{5593,-488,3},{5597,-478,3}, {5593,-472,3},{5592,-448,3},{5595,-465,3},{5602,-478,3},{5607,-483,3},{5602,-482,3}, {5598,-477,3},{5598,-480,3},{5598,-485,3},{5605,-488,3},{5612,-482,3},{5608,-487,3}, {5612,-488,3},{5615,-490,3},{5610,-492,3},{5607,-488,3},{5598,-490,3},{5598,-495,3}, {5597,-492,3},{5587,-498,3},{5587,-505,3},{5593,-507,3},{5597,-510,3},{5590,-508,3}, {5593,-517,3},{5597,-518,3},{5597,-520,3},{5592,-520,3},{5588,-523,3},{5583,-520,3}, {5585,-532,3},{5592,-535,3},{5598,-535,3},{5605,-530,3},{5610,-522,3},{5612,-520,3}, {5615,-508,3},{5620,-505,3},{5627,-493,3},{5623,-502,3},{5623,-507,3},{5617,-512,3}, {5612,-525,3},{5600,-538,3},{5600,-543,3},{5602,-545,3},{5595,-545,3},{5593,-543,3}, {5587,-540,3},{5578,-532,3},{5577,-533,3},{5575,-538,3},{5572,-545,3},{5565,-548,3}, {5560,-548,3},{5558,-545,3},{5557,-548,3},{5553,-548,3},{5543,-555,3},{5542,-558,3}, {5542,-555,3},{5537,-552,3},{5532,-558,3},{5528,-572,3},{5530,-582,3},{5540,-580,3}, {5543,-572,3},{5553,-570,3},{5557,-572,3},{5562,-568,3},{5567,-568,3},{5583,-545,3}, {5577,-560,3},{5580,-567,3},{5583,-567,3},{5593,-557,3},{5588,-568,3},{5593,-568,3}, {5603,-557,3},{5602,-562,3},{5593,-568,3},{5593,-572,3},{5598,-570,3},{5602,-565,3}, {5605,-563,3},{5608,-558,3},{5608,-553,3},{5612,-557,3},{5618,-552,3},{5612,-560,3}, {5613,-562,3},{5622,-555,3},{5623,-560,3},{5633,-558,3},{5635,-553,3},{5645,-545,3}, {5643,-525,3},{5647,-535,3},{5645,-540,3},{5650,-543,3},{5647,-545,3},{5648,-547,3}, {5652,-543,3},{5650,-538,3},{5652,-532,3},{5655,-525,3},{5652,-537,3},{5655,-542,3}, {5662,-535,3},{5663,-530,3},{5665,-532,3},{5668,-522,3},{5668,-512,3},{5670,-507,3}, {5668,-513,3},{5670,-525,3},{5682,-512,3},{5677,-520,3},{5677,-523,3},{5670,-528,3}, {5668,-535,3},{5667,-537,3},{5662,-548,3},{5653,-557,3},{5648,-570,3},{5650,-572,3}, {5652,-578,3},{5653,-577,3},{5655,-590,3},{5658,-597,3},{5663,-602,3},{5665,-595,3}, {5665,-588,3},{5670,-575,3},{5667,-563,3},{5668,-557,3},{5668,-568,3},{5670,-577,3}, {5667,-583,3},{5667,-588,3},{5668,-620,3},{5672,-623,3},{5675,-615,3},{5675,-603,3}, {5677,-597,3},{5675,-592,3},{5675,-587,3},{5678,-588,3},{5677,-587,3},{5678,-578,3}, {5682,-585,3},{5683,-587,3},{5685,-577,3},{5683,-573,3},{5687,-567,3},{5687,-572,3}, {5685,-573,3},{5687,-578,3},{5688,-573,3},{5688,-593,3},{5690,-590,3},{5690,-585,3}, {5692,-588,3},{5700,-583,3},{5702,-573,3},{5700,-573,3},{5697,-565,3},{5700,-552,3}, {5698,-562,3},{5700,-567,3},{5702,-568,3},{5703,-568,3},{5705,-578,3},{5708,-578,3}, {5712,-572,3},{5712,-565,3},{5708,-553,3},{5710,-543,3},{5710,-555,3},{5713,-557,3}, {5715,-567,3},{5717,-568,3},{5720,-563,3},{5722,-563,3},{5723,-565,3},{5725,-563,3}, {5727,-555,3},{5725,-552,3},{5722,-542,3},{5723,-538,3},{5723,-547,3},{5727,-553,3}, {5728,-570,3},{5728,-573,3},{5733,-567,3},{5737,-552,3},{5742,-545,3},{5737,-555,3}, {5735,-560,3},{5737,-563,3},{5738,-560,3},{5740,-562,3},{5735,-575,3},{5735,-582,3}, {5738,-582,3},{5740,-580,3},{5742,-582,3},{5743,-580,3},{5745,-587,3},{5748,-587,3}, {5757,-583,3},{5757,-578,3},{5753,-575,3},{5755,-572,3},{5750,-565,3},{5753,-565,3}, {5752,-562,3},{5753,-552,3},{5755,-558,3},{5755,-567,3},{5757,-570,3},{5757,-568,3}, {5758,-573,3},{5762,-575,3},{5763,-582,3},{5770,-578,3},{5770,-568,3},{5772,-570,3}, {5772,-575,3},{5775,-582,3},{5778,-580,3},{5785,-583,3},{5787,-570,3},{5785,-568,3}, {5778,-567,3},{5777,-562,3},{5778,-562,3},{5778,-558,3},{5783,-558,3},{5788,-565,3}, {5792,-562,3},{5790,-558,3},{5792,-555,3},{5787,-555,3},{5785,-547,3},{5790,-542,3}, {5785,-522,3},{5787,-525,3},{5792,-538,3},{5793,-540,3},{5793,-537,3},{5790,-530,3}, {5792,-523,3},{5787,-513,3},{5783,-508,3},{5785,-508,3},{5792,-522,3},{5793,-518,3}, {5795,-520,3},{5798,-530,3},{5802,-537,3},{5803,-543,3},{5805,-543,3},{5807,-547,3}, {5810,-543,3},{5807,-537,3},{5808,-535,3},{5807,-527,3},{5808,-525,3},{5812,-527,3}, {5812,-523,3},{5813,-528,3},{5813,-523,3},{5815,-528,3},{5817,-528,3},{5818,-533,3}, {5820,-533,3},{5823,-540,3},{5825,-538,3},{5822,-528,3},{5825,-520,3},{5823,-517,3}, {5827,-510,3},{5823,-495,3},{5825,-498,3},{5825,-493,3},{5825,-505,3},{5828,-513,3}, {5832,-512,3},{5832,-515,3},{5833,-517,3},{5840,-513,3},{5838,-503,3},{5840,-505,3}, {5842,-510,3},{5842,-507,3},{5843,-508,3},{5845,-505,3},{5843,-498,3},{5847,-502,3}, {5848,-510,3},{5852,-512,3},{5855,-503,3},{5863,-500,3},{5862,-497,3},{5862,-488,3}, {5858,-483,3},{5857,-482,3},{5858,-477,3},{5860,-480,3},{5860,-478,3},{5857,-475,3}, {5855,-467,3},{5853,-467,3},{5845,-477,3},{5848,-468,3},{5852,-467,3},{5853,-460,3}, {5858,-460,3},{5857,-452,3},{5855,-443,3},{5852,-443,3},{5845,-448,3},{5853,-437,3}, {5853,-428,3},{5852,-423,3},{5853,-423,3},{5855,-422,3},{5853,-418,3},{5857,-413,3}, {5855,-407,3},{5860,-402,3},{5857,-402,3},{5857,-390,3},{5857,-378,3},{5862,-367,3}, {5862,-355,3},{5860,-355,3},{5860,-352,3},{5862,-347,3},{5860,-337,3},{5862,-335,3}, {5865,-342,3},{5867,-337,3},{5865,-335,3},{5865,-317,3},{5863,-315,3},{5865,-303,3}, {5863,-302,3},{5850,-313,3},{5847,-310,3},{5847,-302,3},{5837,-312,3},{5835,-315,3}, {5830,-320,3},{5827,-337,3},{5817,-352,3},{5807,-375,3},{5803,-382,3},{5800,-385,3}, {5795,-398,3},{5787,-402,3},{5787,-408,3},{5785,-412,3},{5785,-420,3},{5783,-418,3}, {5782,-405,3},{5783,-397,3},{5783,-393,3},{5780,-395,3},{5782,-385,3},{5787,-380,3}, {5785,-377,3},{5777,-387,3},{5768,-398,3},{5768,-402,3},{5773,-403,3},{5772,-410,3}, {5768,-417,3},{5768,-430,3},{5765,-430,3},{5760,-442,3},{5757,-443,3},{5767,-423,3}, {5767,-408,3},{5768,-405,3},{5767,-400,3},{5760,-410,3},{5758,-412,3},{5757,-410,3}, {5757,-417,3},{5755,-418,3},{5755,-427,3},{5753,-422,3},{5750,-425,3},{5748,-420,3}, {5750,-417,3},{5752,-415,3},{5755,-403,3},{5757,-403,3},{5758,-408,3},{5758,-385,3}, {5765,-368,3},{5767,-355,3},{5770,-348,3},{5772,-333,3},{5767,-302,3},{5770,-285,3}, {5768,-283,3},{5768,-273,3},{5767,-238,3},{5767,-233,3},{5768,-228,3},{5767,-218,3}, {5768,-212,3},{5768,-200,3},{5767,-198,3},{5767,-192,3},{5762,-187,3},{5760,-182,3}, {5757,-182,3},{5750,-177,3},{5750,-178,3},{5747,-178,3},{5747,-175,3},{5727,-202,3}, {5715,-207,3},{5712,-205,3},{5697,-218,3},{5692,-218,3},{5682,-227,3},{5677,-237,3}, {5677,-240,3},{5670,-243,3},{5668,-242,3},{5665,-250,3},{5662,-247,3},{5657,-253,3}, {5650,-272,3},{5647,-273,3},{5647,-280,3},{5645,-287,3},{5647,-293,3},{5645,-297,3}, {5645,-305,3},{5637,-323,3},{5637,-332,3},{5635,-327,3},{5637,-318,3},{5645,-290,3}, {5643,-280,3},{5638,-282,3},{5637,-283,3},{5637,-282,3},{5633,-277,3},{5632,-263,3}, {5627,-258,3},{5622,-268,3},{5618,-280,3},{5620,-292,3},{5620,-297,3},{5612,-313,3}, {5605,-317,3},{5605,-327,3},{5602,-340,3},{5605,-358,3},{5605,-368,3},{5602,-368,3}, {5600,-365,3},{5600,-352,3},{5598,-337,3},{5600,-333,3},{5598,-328,3},{5597,-313,3}, {5595,-308,3},{5595,-300,3},{5597,-295,3},{5597,-290,3},{5602,-285,3},{5603,-285,3}, {5607,-280,3},{5607,-265,3},{5602,-257,3},{5600,-257,3},{5598,-247,3},{5593,-232,3}, {5590,-213,3},{5588,-213,3},{5587,-208,3},{5582,-203,3},{5580,-208,3},{5573,-212,3}, {5570,-218,3},{5565,-225,3},{5563,-233,3},{5558,-230,3},{5555,-223,3},{5550,-222,3}, {5548,-218,3},{5545,-220,3},{5542,-232,3},{5535,-238,3},{5535,-248,3},{5532,-255,3}, {5528,-262,3},{5523,-265,3},{5518,-270,3},{5513,-280,3},{5510,-288,3},{5507,-295,3}, {5505,-305,3},{5500,-305,3},{5498,-307,3},{5162,-267,131},{5158,-272,3}, {5153,-288,3},{5153,-297,3},{5155,-297,3},{5155,-298,3},{5153,-302,3},{5148,-312,3}, {5145,-313,3},{5145,-317,3},{5140,-318,3},{5138,-327,3},{5138,-342,3},{5140,-355,3}, {5147,-365,3},{5147,-372,3},{5155,-377,3},{5162,-383,3},{5160,-398,3},{5158,-400,3}, {5155,-398,3},{5155,-415,3},{5153,-415,3},{5153,-422,3},{5155,-430,3},{5158,-428,3}, {5162,-428,3},{5163,-423,3},{5162,-422,3},{5163,-412,3},{5165,-408,3},{5167,-407,3}, {5165,-413,3},{5168,-418,3},{5167,-430,3},{5172,-438,3},{5173,-438,3},{5172,-432,3}, {5175,-437,3},{5178,-437,3},{5175,-440,3},{5177,-445,3},{5173,-443,3},{5172,-467,3}, {5165,-470,3},{5165,-475,3},{5163,-478,3},{5163,-487,3},{5160,-493,3},{5162,-505,3}, {5165,-505,3},{5167,-510,3},{5168,-512,3},{5167,-507,3},{5168,-503,3},{5168,-497,3}, {5172,-488,3},{5170,-498,3},{5172,-517,3},{5168,-517,3},{5172,-523,3},{5173,-525,3}, {5173,-520,3},{5177,-517,3},{5177,-510,3},{5185,-512,3},{5187,-518,3},{5187,-532,3}, {5192,-530,3},{5192,-523,3},{5195,-518,3},{5197,-510,3},{5202,-508,3},{5202,-498,3}, {5200,-497,3},{5202,-492,3},{5203,-492,3},{5202,-488,3},{5202,-483,3},{5205,-483,3}, {5207,-477,3},{5210,-473,3},{5210,-470,3},{5213,-470,3},{5213,-450,3},{5222,-438,3}, {5222,-433,3},{5225,-423,3},{5232,-415,3},{5238,-410,3},{5252,-405,3},{5253,-400,3}, {5255,-395,3},{5255,-407,3},{5260,-413,3},{5270,-407,3},{5273,-398,3},{5272,-403,3}, {5273,-407,3},{5278,-413,3},{5280,-415,3},{5285,-412,3},{5290,-417,3},{5288,-438,3}, {5287,-445,3},{5282,-448,3},{5280,-447,3},{5277,-452,3},{5282,-460,3},{5280,-463,3}, {5280,-472,3},{5278,-475,3},{5280,-475,3},{5285,-472,3},{5292,-462,3},{5293,-453,3}, {5303,-437,3},{5312,-435,3},{5310,-432,3},{5312,-430,3},{5322,-418,3},{5323,-413,3}, {5323,-407,3},{5328,-388,3},{5328,-383,3},{5333,-387,3},{5332,-378,3},{5328,-373,3}, {5328,-362,3},{5335,-338,3},{5335,-330,3},{5333,-328,3},{5323,-308,3},{5325,-308,3}, {5323,-298,3},{5318,-293,3},{5313,-297,3},{5312,-290,3},{5308,-288,3},{5303,-287,3}, {5300,-282,3},{5298,-272,3},{5293,-273,3},{5290,-282,3},{5292,-282,3},{5295,-290,3}, {5293,-293,3},{5297,-298,3},{5293,-305,3},{5293,-310,3},{5290,-315,3},{5285,-315,3}, {5278,-315,3},{5280,-312,3},{5277,-303,3},{5272,-298,3},{5272,-300,3},{5272,-303,3}, {5268,-305,3},{5263,-308,3},{5258,-313,3},{5253,-313,3},{5255,-310,3},{5257,-300,3}, {5252,-300,3},{5250,-303,3},{5250,-313,3},{5247,-322,3},{5242,-322,3},{5238,-313,3}, {5235,-307,3},{5235,-298,3},{5232,-302,3},{5227,-302,3},{5227,-298,3},{5227,-302,3}, {5222,-308,3},{5217,-312,3},{5215,-310,3},{5213,-313,3},{5208,-313,3},{5203,-308,3}, {5198,-308,3},{5195,-302,3},{5192,-295,3},{5193,-287,3},{5192,-287,3},{5188,-280,3}, {5185,-275,3},{5183,-267,3},{5178,-268,3},{5173,-268,3},{5167,-267,3},{5167,-268,3}, {5162,-267,3},{5408,-625,131},{5410,-628,3},{5408,-635,3},{5407,-635,3}, {5407,-640,3},{5408,-647,3},{5405,-650,3},{5403,-660,3},{5408,-665,3},{5415,-663,3}, {5418,-665,3},{5420,-670,3},{5418,-673,3},{5422,-680,3},{5433,-688,3},{5440,-695,3}, {5442,-703,3},{5430,-722,3},{5425,-715,3},{5422,-715,3},{5422,-722,3},{5412,-728,3}, {5413,-742,3},{5417,-742,3},{5412,-748,3},{5413,-758,3},{5420,-770,3},{5422,-785,3}, {5428,-788,3},{5430,-793,3},{5435,-798,3},{5437,-805,3},{5443,-815,3},{5445,-817,3}, {5448,-805,3},{5452,-805,3},{5453,-798,3},{5453,-797,3},{5453,-787,3},{5455,-783,3}, {5460,-770,3},{5462,-772,3},{5462,-773,3},{5463,-787,3},{5467,-792,3},{5473,-787,3}, {5473,-782,3},{5470,-775,3},{5473,-765,3},{5473,-755,3},{5482,-752,3},{5483,-748,3}, {5488,-745,3},{5493,-745,3},{5498,-740,3},{5498,-742,3},{5503,-737,3},{5505,-725,3}, {5503,-710,3},{5507,-702,3},{5515,-697,3},{5518,-697,3},{5517,-687,3},{5517,-675,3}, {5518,-670,3},{5522,-655,3},{5525,-648,3},{5523,-642,3},{5523,-635,3},{5520,-623,3}, {5522,-615,3},{5522,-610,3},{5515,-603,3},{5505,-605,3},{5505,-600,3},{5503,-597,3}, {5498,-600,3},{5497,-593,3},{5490,-585,3},{5487,-582,3},{5482,-582,3},{5482,-577,3}, {5478,-572,3},{5483,-580,3},{5485,-578,3},{5485,-573,3},{5483,-570,3},{5480,-568,3}, {5475,-570,3},{5472,-573,3},{5470,-587,3},{5463,-592,3},{5460,-590,3},{5463,-585,3}, {5468,-575,3},{5468,-563,3},{5468,-557,3},{5463,-553,3},{5457,-548,3},{5452,-548,3}, {5448,-543,3},{5442,-547,3},{5438,-547,3},{5437,-548,3},{5435,-547,3},{5433,-552,3}, {5435,-553,3},{5440,-557,3},{5445,-553,3},{5450,-555,3},{5452,-557,3},{5457,-567,3}, {5457,-570,3},{5453,-572,3},{5452,-567,3},{5450,-568,3},{5448,-565,3},{5442,-563,3}, {5435,-572,3},{5438,-558,3},{5435,-555,3},{5432,-553,3},{5428,-557,3},{5423,-565,3}, {5425,-568,3},{5425,-575,3},{5422,-587,3},{5417,-587,3},{5410,-590,3},{5403,-605,3}, {5403,-610,3},{5405,-608,3},{5407,-618,3},{5408,-620,3},{5408,-627,3},{5408,-625,3}, {5407,-620,3},{5403,-618,3},{5403,-613,3},{5400,-612,3},{5398,-618,3},{5402,-633,3}, {5402,-637,3},{5400,-635,3},{5398,-637,3},{5392,-638,3},{5387,-633,3},{5387,-625,3}, {5380,-625,3},{5378,-622,3},{5375,-625,3},{5368,-623,3},{5363,-622,3},{5357,-608,3}, {5352,-608,3},{5345,-615,3},{5340,-612,3},{5338,-605,3},{5337,-605,3},{5338,-613,3}, {5337,-618,3},{5335,-622,3},{5330,-617,3},{5327,-610,3},{5322,-610,3},{5310,-603,3}, {5300,-605,3},{5297,-600,3},{5285,-607,3},{5283,-612,3},{5273,-615,3},{5267,-622,3}, {5255,-620,3},{5242,-635,3},{5235,-637,3},{5237,-642,3},{5235,-643,3},{5232,-643,3}, {5230,-640,3},{5233,-638,3},{5227,-638,3},{5225,-632,3},{5218,-637,3},{5218,-640,3}, {5220,-638,3},{5218,-647,3},{5220,-645,3},{5220,-648,3},{5217,-658,3},{5222,-670,3}, {5220,-680,3},{5225,-677,3},{5223,-680,3},{5223,-683,3},{5222,-683,3},{5220,-682,3}, {5217,-683,3},{5215,-688,3},{5212,-693,3},{5213,-693,3},{5215,-690,3},{5218,-690,3}, {5222,-692,3},{5225,-697,3},{5228,-700,3},{5222,-697,3},{5218,-698,3},{5218,-695,3}, {5213,-700,3},{5213,-710,3},{5217,-707,3},{5217,-710,3},{5217,-712,3},{5215,-710,3}, {5215,-717,3},{5213,-718,3},{5213,-743,3},{5210,-755,3},{5208,-755,3},{5210,-760,3}, {5208,-762,3},{5207,-760,3},{5205,-753,3},{5203,-758,3},{5200,-758,3},{5198,-772,3}, {5195,-773,3},{5195,-778,3},{5195,-783,3},{5197,-787,3},{5192,-790,3},{5192,-792,3}, {5188,-788,3},{5187,-800,3},{5183,-803,3},{5182,-802,3},{5180,-817,3},{5180,-825,3}, {5182,-827,3},{5185,-818,3},{5188,-817,3},{5187,-830,3},{5188,-838,3},{5187,-840,3}, {5187,-833,3},{5182,-828,3},{5178,-832,3},{5177,-830,3},{5172,-835,3},{5170,-843,3}, {5168,-845,3},{5170,-853,3},{5168,-852,3},{5165,-855,3},{5160,-853,3},{5163,-858,3}, {5163,-868,3},{5157,-870,3},{5157,-875,3},{5158,-877,3},{5158,-887,3},{5155,-888,3}, {5155,-893,3},{5153,-893,3},{5157,-900,3},{5155,-907,3},{5157,-913,3},{5153,-912,3}, {5152,-917,3},{5153,-918,3},{5150,-918,3},{5148,-922,3},{5148,-927,3},{5150,-927,3}, {5150,-930,3},{5148,-930,3},{5147,-935,3},{5147,-938,3},{5150,-942,3},{5155,-940,3}, {5157,-945,3},{5153,-945,3},{5152,-952,3},{5153,-955,3},{5150,-955,3},{5150,-958,3}, {5148,-960,3},{5148,-963,3},{5152,-965,3},{5148,-972,3},{5147,-970,3},{5145,-977,3}, {5147,-977,3},{5145,-982,3},{5147,-982,3},{5148,-983,3},{5153,-973,3},{5155,-965,3}, {5162,-955,3},{5162,-958,3},{5155,-980,3},{5155,-985,3},{5157,-978,3},{5160,-975,3}, {5168,-947,3},{5168,-945,3},{5172,-945,3},{5172,-948,3},{5173,-952,3},{5175,-955,3}, {5173,-955,3},{5168,-960,3},{5165,-992,3},{5162,-995,3},{5160,-1003,3}, {5160,-1007,3},{5160,-1013,3},{5158,-1015,3},{5162,-1015,3},{5163,-1007,3}, {5165,-1007,3},{5167,-1010,3},{5167,-1008,3},{5168,-998,3},{5172,-995,3}, {5172,-1000,3},{5173,-998,3},{5177,-990,3},{5173,-988,3},{5177,-985,3}, {5177,-978,3},{5178,-982,3},{5183,-973,3},{5185,-965,3},{5187,-958,3},{5185,-972,3}, {5182,-980,3},{5182,-983,3},{5180,-987,3},{5182,-988,3},{5173,-1013,3}, {5175,-1013,3},{5177,-1022,3},{5178,-1018,3},{5182,-1017,3},{5185,-1020,3}, {5183,-1025,3},{5178,-1033,3},{5185,-1033,3},{5185,-1038,3},{5188,-1040,3}, {5190,-1028,3},{5190,-1025,3},{5193,-1027,3},{5195,-1030,3},{5197,-1027,3}, {5198,-1027,3},{5205,-1000,3},{5208,-997,3},{5207,-997,3},{5205,-993,3}, {5213,-990,3},{5212,-987,3},{5213,-977,3},{5215,-988,3},{5215,-997,3},{5210,-995,3}, {5213,-1000,3},{5210,-1018,3},{5213,-1022,3},{5213,-1027,3},{5212,-1030,3}, {5212,-1027,3},{5210,-1028,3},{5212,-1037,3},{5210,-1035,3},{5210,-1043,3}, {5210,-1047,3},{5212,-1047,3},{5215,-1047,3},{5217,-1045,3},{5218,-1047,3}, {5220,-1042,3},{5217,-1042,3},{5218,-1037,3},{5223,-1037,3},{5223,-1032,3}, {5227,-1027,3},{5228,-1017,3},{5223,-1017,3},{5225,-1008,3},{5228,-1003,3}, {5230,-1005,3},{5230,-1002,3},{5227,-1002,3},{5223,-995,3},{5223,-987,3}, {5225,-982,3},{5223,-982,3},{5225,-973,3},{5227,-975,3},{5227,-988,3},{5230,-988,3}, {5230,-985,3},{5232,-983,3},{5238,-983,3},{5240,-995,3},{5242,-993,3},{5245,-977,3}, {5248,-970,3},{5247,-963,3},{5248,-965,3},{5248,-968,3},{5252,-968,3},{5255,-967,3}, {5257,-963,3},{5255,-947,3},{5258,-943,3},{5257,-928,3},{5263,-907,3},{5262,-905,3}, {5262,-900,3},{5265,-895,3},{5267,-883,3},{5265,-880,3},{5267,-873,3},{5270,-887,3}, {5268,-895,3},{5272,-893,3},{5277,-897,3},{5275,-903,3},{5272,-903,3},{5262,-915,3}, {5262,-925,3},{5258,-928,3},{5260,-933,3},{5263,-927,3},{5260,-940,3},{5263,-953,3}, {5267,-955,3},{5265,-958,3},{5263,-957,3},{5260,-970,3},{5258,-970,3},{5255,-988,3}, {5257,-993,3},{5260,-982,3},{5268,-967,3},{5273,-960,3},{5275,-950,3},{5280,-948,3}, {5283,-943,3},{5288,-943,3},{5293,-935,3},{5293,-937,3},{5293,-947,3},{5297,-943,3}, {5315,-927,3},{5312,-915,3},{5313,-908,3},{5315,-912,3},{5315,-898,3},{5317,-907,3}, {5317,-897,3},{5315,-897,3},{5313,-893,3},{5315,-893,3},{5318,-893,3},{5322,-890,3}, {5320,-895,3},{5322,-900,3},{5323,-897,3},{5325,-897,3},{5325,-893,3},{5327,-893,3}, {5327,-903,3},{5323,-918,3},{5322,-948,3},{5323,-955,3},{5328,-955,3},{5327,-957,3}, {5323,-958,3},{5323,-962,3},{5325,-963,3},{5328,-960,3},{5332,-962,3},{5332,-958,3}, {5333,-957,3},{5335,-960,3},{5333,-960,3},{5333,-965,3},{5333,-967,3},{5337,-962,3}, {5335,-968,3},{5332,-973,3},{5330,-977,3},{5332,-985,3},{5332,-990,3},{5335,-988,3}, {5335,-990,3},{5338,-978,3},{5340,-978,3},{5340,-982,3},{5342,-980,3},{5340,-987,3}, {5342,-988,3},{5342,-987,3},{5342,-990,3},{5338,-993,3},{5337,-997,3},{5338,-1003,3}, {5342,-1007,3},{5340,-1012,3},{5342,-1015,3},{5340,-1018,3},{5345,-1015,3}, {5345,-1005,3},{5350,-1012,3},{5352,-1012,3},{5353,-1015,3},{5355,-1020,3}, {5355,-1010,3},{5357,-1010,3},{5357,-1000,3},{5360,-1005,3},{5362,-988,3}, {5368,-992,3},{5375,-990,3},{5378,-978,3},{5377,-960,3},{5380,-955,3},{5382,-962,3}, {5383,-960,3},{5383,-962,3},{5387,-957,3},{5387,-958,3},{5390,-957,3},{5390,-977,3}, {5387,-983,3},{5385,-992,3},{5387,-993,3},{5395,-990,3},{5393,-982,3},{5392,-980,3}, {5392,-978,3},{5397,-980,3},{5397,-982,3},{5395,-982,3},{5397,-983,3},{5400,-985,3}, {5402,-990,3},{5405,-990,3},{5407,-987,3},{5408,-988,3},{5412,-983,3},{5412,-988,3}, {5408,-990,3},{5407,-993,3},{5407,-997,3},{5410,-998,3},{5412,-992,3},{5413,-997,3}, {5415,-993,3},{5417,-997,3},{5418,-995,3},{5418,-993,3},{5422,-1002,3}, {5418,-1002,3},{5418,-1005,3},{5417,-1003,3},{5415,-1008,3},{5413,-1007,3}, {5412,-1008,3},{5408,-1007,3},{5410,-1012,3},{5420,-1010,3},{5422,-1007,3}, {5423,-1012,3},{5423,-1008,3},{5425,-1008,3},{5430,-1000,3},{5427,-997,3}, {5425,-990,3},{5422,-992,3},{5423,-998,3},{5422,-997,3},{5420,-990,3},{5427,-985,3}, {5425,-977,3},{5428,-980,3},{5430,-987,3},{5433,-980,3},{5432,-968,3},{5432,-948,3}, {5428,-938,3},{5432,-933,3},{5430,-927,3},{5427,-925,3},{5427,-920,3},{5425,-922,3}, {5423,-920,3},{5422,-922,3},{5420,-917,3},{5417,-913,3},{5428,-905,3},{5428,-893,3}, {5425,-883,3},{5427,-877,3},{5427,-873,3},{5427,-868,3},{5420,-858,3},{5420,-852,3}, {5425,-858,3},{5425,-862,3},{5428,-858,3},{5427,-847,3},{5432,-857,3},{5430,-850,3}, {5432,-850,3},{5433,-857,3},{5432,-865,3},{5435,-867,3},{5438,-857,3},{5440,-857,3}, {5440,-853,3},{5443,-847,3},{5445,-848,3},{5447,-847,3},{5445,-843,3},{5447,-828,3}, {5452,-825,3},{5455,-822,3},{5462,-815,3},{5460,-813,3},{5462,-810,3},{5463,-813,3}, {5460,-827,3},{5460,-830,3},{5463,-828,3},{5463,-830,3},{5462,-835,3},{5455,-845,3}, {5458,-845,3},{5462,-838,3},{5460,-847,3},{5462,-848,3},{5460,-858,3},{5462,-867,3}, {5465,-880,3},{5468,-878,3},{5468,-880,3},{5470,-875,3},{5473,-875,3},{5477,-867,3}, {5475,-845,3},{5477,-847,3},{5478,-853,3},{5478,-847,3},{5475,-840,3},{5482,-855,3}, {5483,-848,3},{5483,-832,3},{5485,-838,3},{5487,-838,3},{5487,-832,3},{5488,-830,3}, {5490,-833,3},{5490,-838,3},{5488,-838,3},{5490,-845,3},{5493,-845,3},{5495,-837,3}, {5495,-840,3},{5500,-845,3},{5500,-840,3},{5503,-840,3},{5503,-835,3},{5505,-835,3}, {5505,-832,3},{5507,-833,3},{5508,-830,3},{5510,-832,3},{5515,-828,3},{5515,-817,3}, {5515,-815,3},{5515,-813,3},{5512,-817,3},{5515,-808,3},{5517,-802,3},{5520,-802,3}, {5522,-798,3},{5520,-795,3},{5518,-795,3},{5518,-790,3},{5517,-788,3},{5515,-790,3}, {5515,-785,3},{5513,-790,3},{5513,-785,3},{5515,-785,3},{5518,-783,3},{5518,-787,3}, {5522,-788,3},{5522,-783,3},{5525,-780,3},{5517,-782,3},{5517,-775,3},{5515,-770,3}, {5510,-770,3},{5513,-767,3},{5522,-770,3},{5517,-772,3},{5518,-773,3},{5520,-773,3}, {5520,-780,3},{5525,-775,3},{5525,-770,3},{5528,-765,3},{5523,-760,3},{5518,-762,3}, {5515,-755,3},{5512,-753,3},{5508,-753,3},{5503,-763,3},{5503,-758,3},{5503,-757,3}, {5500,-763,3},{5497,-765,3},{5502,-757,3},{5505,-747,3},{5508,-748,3},{5513,-748,3}, {5520,-755,3},{5525,-752,3},{5527,-753,3},{5527,-748,3},{5528,-748,3},{5527,-745,3}, {5530,-737,3},{5530,-733,3},{5528,-735,3},{5527,-727,3},{5530,-733,3},{5533,-737,3}, {5533,-733,3},{5535,-738,3},{5537,-740,3},{5535,-725,3},{5533,-718,3},{5528,-713,3}, {5523,-693,3},{5522,-695,3},{5513,-717,3},{5505,-725,3},{5503,-737,3},{5498,-742,3}, {5498,-740,3},{5493,-745,3},{5488,-745,3},{5483,-748,3},{5482,-752,3},{5473,-755,3}, {5473,-765,3},{5470,-775,3},{5473,-782,3},{5473,-787,3},{5467,-792,3},{5463,-787,3}, {5462,-773,3},{5462,-772,3},{5460,-770,3},{5455,-783,3},{5453,-787,3},{5453,-797,3}, {5453,-798,3},{5452,-805,3},{5448,-805,3},{5445,-817,3},{5443,-815,3},{5437,-805,3}, {5435,-798,3},{5430,-793,3},{5428,-788,3},{5422,-785,3},{5420,-770,3},{5413,-758,3}, {5412,-748,3},{5417,-742,3},{5413,-742,3},{5412,-728,3},{5422,-722,3},{5422,-715,3}, {5425,-715,3},{5430,-722,3},{5442,-703,3},{5440,-695,3},{5433,-688,3},{5422,-680,3}, {5418,-673,3},{5420,-670,3},{5418,-665,3},{5415,-663,3},{5408,-665,3},{5403,-660,3}, {5405,-650,3},{5408,-647,3},{5407,-640,3},{5407,-635,3},{5408,-635,3},{5410,-628,3}, {5408,-625,3},{3737,5390,130},{3727,5392,2},{3718,5395,2},{3710,5397,2}, {3702,5402,2},{3698,5398,2},{3697,5403,2},{3695,5403,2},{3682,5403,2},{3680,5395,2}, {3680,5388,2},{3682,5368,2},{3685,5363,2},{3685,5367,2},{3687,5360,2},{3687,5382,2}, {3690,5398,2},{3690,5400,2},{3695,5402,2},{3692,5393,2},{3688,5348,2},{3685,5322,2}, {3675,5282,2},{3672,5267,2},{3670,5255,2},{3668,5243,2},{3660,5210,2},{3658,5197,2}, {3658,5187,2},{3668,5142,2},{3673,5110,2},{3677,5100,2},{3683,5088,2},{3703,5048,2}, {3707,5045,2},{3712,5035,2},{3715,5032,2},{3728,5023,2},{3737,5022,2},{3738,5018,2}, {3745,4995,2},{3745,4993,2},{3747,4995,2},{3745,4997,2},{3748,4993,2},{3745,4983,2}, {3755,4927,2},{3748,4943,2},{3763,4912,2},{3775,4900,2},{3780,4898,2},{3783,4898,2}, {3790,4895,2},{3797,4895,2},{3805,4892,2},{3830,4887,2},{3845,4888,2},{3843,4888,2}, {3875,4887,2},{3882,4883,2},{3887,4883,2},{3888,4888,2},{3895,4893,2},{3902,4895,2}, {3905,4893,2},{3912,4893,2},{3917,4897,2},{3918,4900,2},{3917,4905,2},{3915,4907,2}, {3910,4907,2},{3910,4915,2},{3903,4912,2},{3900,4905,2},{3897,4907,2},{3898,4913,2}, {3902,4920,2},{3908,4920,2},{3915,4923,2},{3928,4923,2},{3933,4927,2},{3935,4930,2}, {3933,4933,2},{3930,4937,2},{3928,4940,2},{3935,4937,2},{3932,4940,2},{3935,4940,2}, {3938,4942,2},{3947,4930,2},{3950,4928,2},{3962,4932,2},{3968,4938,2},{3970,4942,2}, {3978,4940,2},{3982,4942,2},{3983,4942,2},{3987,4945,2},{3992,4942,2},{3995,4943,2}, {3998,4948,2},{4005,4942,2},{4008,4950,2},{4015,4948,2},{4022,4957,2},{4023,4967,2}, {4027,4970,2},{4028,4982,2},{4032,4985,2},{4033,4983,2},{4037,4988,2},{4035,4997,2}, {4032,4998,2},{4033,5002,2},{4035,5003,2},{4035,5010,2},{4035,5012,2},{4033,5027,2}, {4028,5035,2},{4022,5038,2},{4023,5040,2},{4028,5037,2},{4037,5037,2},{4040,5033,2}, {4043,5028,2},{4050,5023,2},{4052,5012,2},{4057,5007,2},{4058,5007,2},{4058,4992,2}, {4057,4983,2},{4058,4970,2},{4062,4965,2},{4062,4958,2},{4067,4953,2},{4070,4952,2}, {4078,4953,2},{4082,4948,2},{4085,4940,2},{4103,4922,2},{4115,4915,2},{4127,4913,2}, {4142,4903,2},{4145,4898,2},{4150,4895,2},{4153,4890,2},{4160,4885,2},{4163,4880,2}, {4168,4878,2},{4178,4868,2},{4183,4858,2},{4188,4855,2},{4190,4843,2},{4193,4838,2}, {4210,4830,2},{4217,4823,2},{4233,4812,2},{4238,4802,2},{4247,4795,2},{4260,4787,2}, {4263,4773,2},{4272,4770,2},{4277,4772,2},{4287,4770,2},{4290,4762,2},{4295,4758,2}, {4295,4755,2},{4302,4747,2},{4308,4745,2},{4312,4748,2},{4320,4748,2},{4330,4758,2}, {4333,4757,2},{4328,4750,2},{4330,4748,2},{4345,4748,2},{4352,4753,2},{4357,4753,2}, {4372,4758,2},{4383,4765,2},{4387,4770,2},{4390,4763,2},{4387,4753,2},{4380,4753,2}, {4372,4750,2},{4368,4750,2},{4363,4747,2},{4353,4747,2},{4350,4743,2},{4350,4740,2}, {4353,4740,2},{4355,4738,2},{4362,4737,2},{4360,4738,2},{4362,4740,2},{4368,4745,2}, {4373,4743,2},{4377,4750,2},{4382,4748,2},{4382,4743,2},{4387,4747,2},{4388,4743,2}, {4392,4742,2},{4403,4735,2},{4408,4728,2},{4422,4723,2},{4422,4720,2},{4420,4718,2}, {4423,4710,2},{4433,4705,2},{4437,4702,2},{4440,4683,2},{4438,4680,2},{4440,4677,2}, {4445,4670,2},{4452,4668,2},{4455,4672,2},{4457,4670,2},{4465,4672,2},{4465,4675,2}, {4470,4678,2},{4470,4683,2},{4473,4687,2},{4477,4693,2},{4477,4697,2},{4482,4702,2}, {4492,4700,2},{4490,4702,2},{4485,4702,2},{4478,4708,2},{4487,4712,2},{4495,4710,2}, {4493,4715,2},{4497,4717,2},{4497,4720,2},{4518,4730,2},{4518,4738,2},{4530,4738,2}, {4537,4742,2},{4538,4747,2},{4540,4745,2},{4540,4740,2},{4542,4738,2},{4542,4748,2}, {4548,4750,2},{4550,4755,2},{4557,4748,2},{4558,4750,2},{4553,4755,2},{4557,4757,2}, {4563,4755,2},{4567,4742,2},{4575,4738,2},{4572,4748,2},{4572,4750,2},{4572,4745,2}, {4568,4743,2},{4565,4755,2},{4557,4762,2},{4555,4763,2},{4557,4765,2},{4558,4763,2}, {4562,4765,2},{4563,4760,2},{4567,4760,2},{4567,4763,2},{4572,4763,2},{4572,4758,2}, {4575,4758,2},{4573,4755,2},{4577,4755,2},{4575,4762,2},{4573,4765,2},{4570,4767,2}, {4568,4777,2},{4560,4782,2},{4563,4785,2},{4565,4783,2},{4572,4785,2},{4572,4788,2}, {4568,4790,2},{4572,4793,2},{4572,4798,2},{4570,4800,2},{4572,4803,2},{4575,4807,2}, {4572,4813,2},{4573,4815,2},{4573,4820,2},{4572,4823,2},{4572,4825,2},{4577,4822,2}, {4577,4825,2},{4583,4828,2},{4583,4840,2},{4585,4840,2},{4585,4837,2},{4588,4837,2}, {4587,4840,2},{4593,4845,2},{4593,4850,2},{4597,4857,2},{4595,4860,2},{4588,4867,2}, {4588,4870,2},{4587,4868,2},{4582,4872,2},{4583,4872,2},{4585,4877,2},{4583,4878,2}, {4585,4878,2},{4587,4878,2},{4588,4875,2},{4592,4873,2},{4593,4877,2},{4597,4873,2}, {4597,4865,2},{4598,4872,2},{4602,4873,2},{4607,4870,2},{4608,4863,2},{4608,4867,2}, {4612,4867,2},{4612,4870,2},{4613,4870,2},{4608,4878,2},{4605,4882,2},{4610,4882,2}, {4613,4878,2},{4612,4883,2},{4607,4885,2},{4608,4888,2},{4613,4883,2},{4613,4887,2}, {4610,4888,2},{4615,4888,2},{4608,4895,2},{4610,4895,2},{4613,4893,2},{4617,4898,2}, {4617,4902,2},{4620,4903,2},{4618,4907,2},{4615,4910,2},{4615,4912,2},{4623,4912,2}, {4625,4905,2},{4633,4913,2},{4633,4917,2},{4632,4915,2},{4628,4915,2},{4627,4925,2}, {4625,4928,2},{4625,4930,2},{4630,4923,2},{4637,4922,2},{4635,4922,2},{4638,4922,2}, {4638,4918,2},{4642,4917,2},{4638,4925,2},{4640,4928,2},{4642,4925,2},{4645,4925,2}, {4647,4922,2},{4647,4927,2},{4643,4928,2},{4640,4933,2},{4638,4937,2},{4640,4937,2}, {4643,4935,2},{4648,4928,2},{4650,4930,2},{4652,4928,2},{4652,4930,2},{4648,4932,2}, {4648,4940,2},{4658,4930,2},{4653,4942,2},{4655,4943,2},{4653,4947,2},{4650,4947,2}, {4650,4950,2},{4658,4947,2},{4657,4947,2},{4653,4957,2},{4650,4958,2},{4652,4960,2}, {4652,4963,2},{4658,4962,2},{4655,4968,2},{4652,4970,2},{4655,4970,2},{4653,4975,2}, {4657,4977,2},{4653,4980,2},{4655,4982,2},{4657,4983,2},{4658,4988,2},{4663,4997,2}, {4663,5003,2},{4668,5007,2},{4675,5020,2},{4677,5023,2},{4672,5022,2},{4672,5023,2}, {4680,5030,2},{4680,5033,2},{4685,5037,2},{4680,5037,2},{4690,5043,2},{4687,5050,2}, {4688,5058,2},{4682,5055,2},{4685,5060,2},{4693,5062,2},{4693,5068,2},{4697,5075,2}, {4693,5073,2},{4692,5073,2},{4690,5077,2},{4700,5085,2},{4703,5085,2},{4702,5088,2}, {4705,5097,2},{4707,5112,2},{4712,5120,2},{4705,5153,2},{4698,5160,2},{4705,5163,2}, {4705,5165,2},{4705,5168,2},{4695,5168,2},{4690,5177,2},{4693,5188,2},{4690,5187,2}, {4688,5187,2},{4687,5193,2},{4693,5200,2},{4693,5202,2},{4690,5200,2},{4688,5200,2}, {4685,5203,2},{4685,5207,2},{4682,5207,2},{4680,5220,2},{4682,5225,2},{4687,5218,2}, {4688,5235,2},{4700,5245,2},{4698,5253,2},{4695,5257,2},{4695,5262,2},{4695,5283,2}, {4697,5290,2},{4690,5300,2},{4690,5305,2},{4685,5308,2},{4675,5310,2},{4672,5313,2}, {4672,5320,2},{4668,5320,2},{4663,5320,2},{4663,5315,2},{4660,5312,2},{4662,5310,2}, {4655,5308,2},{4655,5303,2},{4657,5303,2},{4648,5300,2},{4648,5305,2},{4652,5307,2}, {4648,5307,2},{4645,5310,2},{4647,5303,2},{4637,5315,2},{4628,5317,2},{4610,5312,2}, {4605,5308,2},{4600,5308,2},{4580,5293,2},{4577,5287,2},{4565,5278,2},{4565,5275,2}, {4555,5273,2},{4552,5275,2},{4548,5285,2},{4547,5288,2},{4547,5292,2},{4540,5307,2}, {4540,5310,2},{4538,5315,2},{4537,5325,2},{4533,5325,2},{4533,5320,2},{4530,5310,2}, {4532,5298,2},{4532,5290,2},{4533,5283,2},{4540,5248,2},{4540,5245,2},{4538,5215,2}, {4538,5200,2},{4537,5193,2},{4540,5188,2},{4540,5178,2},{4543,5178,2},{4545,5175,2}, {4543,5173,2},{4540,5172,2},{4538,5165,2},{4533,5158,2},{4533,5147,2},{4538,5142,2}, {4535,5142,2},{4532,5138,2},{4517,5125,2},{4510,5125,2},{4502,5128,2},{4502,5125,2}, {4507,5120,2},{4503,5110,2},{4498,5107,2},{4498,5097,2},{4495,5095,2},{4493,5100,2}, {4487,5095,2},{4482,5102,2},{4480,5110,2},{4473,5122,2},{4460,5130,2},{4462,5142,2}, {4458,5147,2},{4453,5157,2},{4452,5157,2},{4452,5150,2},{4453,5145,2},{4452,5143,2}, {4452,5140,2},{4452,5138,2},{4453,5137,2},{4455,5138,2},{4455,5137,2},{4455,5128,2}, {4452,5127,2},{4448,5120,2},{4448,5112,2},{4452,5103,2},{4453,5098,2},{4457,5100,2}, {4457,5095,2},{4463,5087,2},{4463,5078,2},{4460,5075,2},{4462,5072,2},{4462,5063,2}, {4463,5058,2},{4463,5055,2},{4463,5043,2},{4465,5032,2},{4457,5027,2},{4458,5023,2}, {4457,5022,2},{4437,5023,2},{4433,5028,2},{4428,5042,2},{4427,5068,2},{4420,5083,2}, {4408,5087,2},{4403,5085,2},{4400,5092,2},{4392,5098,2},{4380,5102,2},{4367,5112,2}, {4362,5115,2},{4362,5122,2},{4358,5122,2},{4355,5127,2},{4345,5132,2},{4330,5132,2}, {4320,5127,2},{4315,5127,2},{4317,5140,2},{4315,5152,2},{4317,5153,2},{4318,5165,2}, {4315,5168,2},{4310,5167,2},{4308,5172,2},{4303,5177,2},{4292,5183,2},{4283,5192,2}, {4283,5195,2},{4288,5208,2},{4288,5217,2},{4287,5220,2},{4283,5223,2},{4278,5228,2}, {4282,5233,2},{4283,5243,2},{4280,5258,2},{4277,5263,2},{4275,5262,2},{4275,5268,2}, {4272,5273,2},{4265,5275,2},{4258,5272,2},{4265,5267,2},{4272,5258,2},{4275,5258,2}, {4272,5257,2},{4262,5265,2},{4253,5268,2},{4242,5263,2},{4240,5260,2},{4233,5260,2}, {4218,5248,2},{4218,5243,2},{4210,5240,2},{4205,5243,2},{4200,5243,2},{4197,5247,2}, {4190,5250,2},{4175,5243,2},{4168,5253,2},{4168,5257,2},{4165,5258,2},{4157,5258,2}, {4152,5255,2},{4148,5263,2},{4145,5265,2},{4143,5270,2},{4142,5272,2},{4138,5272,2}, {4137,5277,2},{4132,5278,2},{4123,5282,2},{4115,5285,2},{4107,5285,2},{4105,5288,2}, {4112,5292,2},{4123,5285,2},{4138,5282,2},{4157,5290,2},{4163,5290,2},{4167,5292,2}, {4170,5287,2},{4170,5283,2},{4170,5285,2},{4170,5282,2},{4167,5278,2},{4167,5277,2}, {4172,5278,2},{4178,5283,2},{4197,5295,2},{4200,5297,2},{4203,5307,2},{4207,5308,2}, {4210,5315,2},{4207,5328,2},{4210,5337,2},{4210,5347,2},{4215,5367,2},{4212,5382,2}, {4207,5390,2},{4200,5392,2},{4197,5390,2},{4190,5390,2},{4188,5393,2},{4180,5398,2}, {4170,5402,2},{4160,5402,2},{4148,5407,2},{4145,5415,2},{4140,5420,2},{4133,5430,2}, {4125,5452,2},{4115,5463,2},{4112,5465,2},{4110,5473,2},{4108,5472,2},{4103,5477,2}, {4107,5468,2},{4097,5477,2},{4088,5472,2},{4087,5467,2},{4083,5463,2},{4080,5448,2}, {4082,5443,2},{4083,5445,2},{4087,5447,2},{4087,5442,2},{4090,5440,2},{4093,5433,2}, {4088,5425,2},{4087,5427,2},{4083,5427,2},{4072,5432,2},{4072,5443,2},{4068,5437,2}, {4067,5440,2},{4067,5427,2},{4068,5422,2},{4072,5423,2},{4073,5423,2},{4072,5407,2}, {4068,5410,2},{4065,5403,2},{4067,5395,2},{4065,5390,2},{4063,5387,2},{4063,5377,2}, {4062,5375,2},{4063,5370,2},{4068,5373,2},{4072,5368,2},{4078,5365,2},{4080,5367,2}, {4083,5365,2},{4085,5365,2},{4088,5363,2},{4090,5360,2},{4088,5358,2},{4085,5355,2}, {4077,5355,2},{4073,5347,2},{4078,5338,2},{4083,5338,2},{4082,5335,2},{4078,5333,2}, {4077,5332,2},{4077,5323,2},{4082,5325,2},{4077,5318,2},{4077,5312,2},{4083,5307,2}, {4087,5312,2},{4087,5307,2},{4090,5303,2},{4093,5302,2},{4102,5295,2},{4103,5297,2}, {4107,5295,2},{4108,5292,2},{4107,5292,2},{4102,5292,2},{4095,5293,2},{4087,5288,2}, {4078,5287,2},{4077,5287,2},{4075,5283,2},{4072,5283,2},{4068,5287,2},{4052,5275,2}, {4045,5272,2},{4037,5273,2},{4027,5268,2},{4022,5273,2},{4018,5273,2},{4017,5277,2}, {4005,5273,2},{3997,5283,2},{3995,5288,2},{3987,5290,2},{3983,5297,2},{3977,5300,2}, {3973,5303,2},{3978,5300,2},{3975,5305,2},{3990,5292,2},{4002,5290,2},{4002,5293,2}, {3998,5293,2},{3997,5300,2},{4000,5308,2},{3997,5305,2},{3997,5307,2},{3997,5312,2}, {4000,5317,2},{3993,5328,2},{4000,5338,2},{4000,5342,2},{3997,5348,2},{3997,5358,2}, {3992,5352,2},{3990,5353,2},{3988,5348,2},{3987,5350,2},{3977,5342,2},{3977,5338,2}, {3975,5343,2},{3967,5342,2},{3963,5345,2},{3968,5343,2},{3967,5345,2},{3968,5345,2}, {3970,5345,2},{3963,5353,2},{3967,5353,2},{3967,5355,2},{3962,5357,2},{3962,5360,2}, {3962,5363,2},{3960,5365,2},{3957,5365,2},{3957,5363,2},{3955,5365,2},{3955,5370,2}, {3952,5373,2},{3950,5372,2},{3952,5370,2},{3952,5365,2},{3948,5363,2},{3952,5358,2}, {3950,5357,2},{3948,5358,2},{3947,5357,2},{3947,5355,2},{3948,5348,2},{3953,5342,2}, {3952,5325,2},{3952,5320,2},{3962,5327,2},{3965,5332,2},{3967,5330,2},{3965,5327,2}, {3962,5323,2},{3952,5318,2},{3940,5308,2},{3932,5315,2},{3918,5317,2},{3918,5318,2}, {3927,5317,2},{3932,5320,2},{3933,5315,2},{3937,5323,2},{3935,5330,2},{3932,5328,2}, {3933,5340,2},{3930,5338,2},{3933,5343,2},{3932,5345,2},{3933,5350,2},{3933,5353,2}, {3935,5357,2},{3932,5355,2},{3932,5358,2},{3928,5357,2},{3928,5358,2},{3920,5357,2}, {3920,5358,2},{3923,5360,2},{3918,5360,2},{3918,5362,2},{3912,5363,2},{3908,5368,2}, {3918,5368,2},{3920,5367,2},{3923,5372,2},{3920,5370,2},{3917,5370,2},{3917,5373,2}, {3913,5370,2},{3907,5370,2},{3907,5373,2},{3912,5372,2},{3903,5377,2},{3905,5380,2}, {3903,5382,2},{3903,5387,2},{3898,5388,2},{3893,5393,2},{3893,5397,2},{3892,5397,2}, {3892,5398,2},{3880,5392,2},{3877,5392,2},{3867,5385,2},{3852,5382,2},{3842,5383,2}, {3835,5387,2},{3822,5385,2},{3803,5382,2},{3788,5380,2},{3773,5382,2},{3755,5387,2}, {3750,5388,2},{3735,5390,2},{3253,-11712,128},{3265,-11717,0},{3268,-11722,0}, {3270,-11720,0},{3268,-11718,0},{3262,-11715,0},{3262,-11712,0},{3265,-11712,0}, {3268,-11715,0},{3273,-11722,0},{3270,-11723,0},{3267,-11725,0},{3268,-11727,0}, {3277,-11725,0},{3283,-11728,0},{3288,-11725,0},{3300,-11728,0},{3312,-11733,0}, {3325,-11742,0},{3335,-11750,0},{3345,-11765,0},{3348,-11772,0},{3355,-11778,0}, {3360,-11785,0},{3363,-11795,0},{3377,-11812,0},{3377,-11820,0},{3378,-11822,0}, {3377,-11827,0},{3373,-11827,0},{3372,-11828,0},{3375,-11835,0},{3375,-11840,0}, {3378,-11842,0},{3383,-11838,0},{3385,-11838,0},{3393,-11843,0},{3405,-11853,0}, {3403,-11875,0},{3403,-11878,0},{3402,-11880,0},{3405,-11892,0},{3408,-11902,0}, {3412,-11912,0},{3412,-11913,0},{3412,-11910,0},{3412,-11912,0},{3417,-11922,0}, {3428,-11927,0},{3428,-11932,0},{3435,-11942,0},{3442,-11953,0},{3442,-11962,0}, {3442,-11968,0},{3440,-11972,0},{3442,-11978,0},{3442,-11987,0},{3447,-12000,0}, {3448,-12012,0},{3447,-12030,0},{3445,-12045,0},{3453,-12050,0},{3457,-12055,0}, {3457,-12062,0},{3462,-12063,0},{3470,-12058,0},{3477,-12062,0},{3485,-12060,0}, {3493,-12065,0},{3505,-12060,0},{3510,-12060,0},{3513,-12062,0},{3518,-12070,0}, {3517,-12075,0},{3522,-12085,0},{3525,-12087,0},{3530,-12087,0},{3537,-12083,0}, {3533,-12083,0},{3535,-12080,0},{3537,-12083,0},{3543,-12085,0},{3547,-12100,0}, {3565,-12115,0},{3567,-12127,0},{3573,-12130,0},{3577,-12130,0},{3588,-12143,0}, {3600,-12147,0},{3603,-12155,0},{3618,-12165,0},{3625,-12180,0},{3628,-12182,0}, {3630,-12187,0},{3640,-12187,0},{3652,-12192,0},{3653,-12190,0},{3657,-12192,0}, {3658,-12195,0},{3660,-12195,0},{3665,-12190,0},{3662,-12185,0},{3663,-12182,0}, {3675,-12178,0},{3673,-12173,0},{3675,-12175,0},{3677,-12177,0},{3682,-12175,0}, {3697,-12187,0},{3698,-12190,0},{3695,-12195,0},{3697,-12198,0},{3695,-12203,0}, {3697,-12208,0},{3702,-12218,0},{3712,-12228,0},{3712,-12230,0},{3722,-12238,0}, {3733,-12237,0},{3748,-12242,0},{3750,-12243,0},{3752,-12248,0},{3758,-12250,0}, {3765,-12247,0},{3778,-12248,0},{3782,-12245,0},{3782,-12238,0},{3778,-12235,0}, {3775,-12237,0},{3773,-12233,0},{3772,-12237,0},{3765,-12237,0},{3762,-12235,0}, {3760,-12230,0},{3758,-12228,0},{3758,-12223,0},{3755,-12223,0},{3753,-12218,0}, {3752,-12218,0},{3750,-12212,0},{3747,-12208,0},{3747,-12200,0},{3748,-12203,0}, {3750,-12203,0},{3752,-12208,0},{3770,-12215,0},{3772,-12217,0},{3772,-12222,0}, {3773,-12223,0},{3775,-12220,0},{3778,-12230,0},{3783,-12230,0},{3783,-12228,0}, {3790,-12230,0},{3792,-12235,0},{3797,-12240,0},{3797,-12237,0},{3802,-12235,0}, {3802,-12228,0},{3807,-12222,0},{3803,-12213,0},{3807,-12202,0},{3802,-12168,0}, {3802,-12167,0},{3803,-12170,0},{3805,-12167,0},{3808,-12165,0},{3810,-12160,0}, {3805,-12152,0},{3805,-12148,0},{3800,-12143,0},{3802,-12142,0},{3812,-12158,0}, {3810,-12165,0},{3807,-12168,0},{3805,-12172,0},{3805,-12175,0},{3807,-12177,0}, {3810,-12170,0},{3815,-12167,0},{3808,-12175,0},{3808,-12185,0},{3807,-12190,0}, {3808,-12188,0},{3810,-12198,0},{3815,-12197,0},{3815,-12200,0},{3813,-12203,0}, {3810,-12205,0},{3805,-12213,0},{3807,-12217,0},{3808,-12223,0},{3812,-12228,0}, {3817,-12238,0},{3813,-12240,0},{3812,-12248,0},{3808,-12247,0},{3802,-12248,0}, {3800,-12243,0},{3798,-12243,0},{3797,-12247,0},{3795,-12247,0},{3793,-12248,0}, {3788,-12242,0},{3788,-12245,0},{3790,-12247,0},{3788,-12247,0},{3783,-12245,0}, {3783,-12248,0},{3792,-12263,0},{3793,-12265,0},{3792,-12265,0},{3790,-12268,0}, {3797,-12275,0},{3800,-12278,0},{3805,-12290,0},{3808,-12292,0},{3807,-12293,0}, {3805,-12292,0},{3802,-12295,0},{3800,-12295,0},{3800,-12300,0},{3805,-12295,0}, {3815,-12293,0},{3820,-12293,0},{3823,-12297,0},{3818,-12290,0},{3810,-12283,0}, {3808,-12280,0},{3812,-12283,0},{3825,-12293,0},{3830,-12297,0},{3833,-12303,0}, {3832,-12303,0},{3832,-12305,0},{3837,-12305,0},{3847,-12310,0},{3857,-12332,0}, {3865,-12340,0},{3873,-12345,0},{3875,-12350,0},{3893,-12370,0},{3897,-12372,0}, {3902,-12367,0},{3912,-12368,0},{3918,-12372,0},{3922,-12375,0},{3937,-12380,0}, {3948,-12378,0},{3957,-12373,0},{3962,-12377,0},{3970,-12377,0},{3977,-12382,0}, {3983,-12382,0},{3998,-12395,0},{4002,-12402,0},{4003,-12405,0},{4010,-12407,0}, {4025,-12432,0},{4033,-12432,0},{4045,-12438,0},{4058,-12433,0},{4065,-12428,0}, {4072,-12427,0},{4077,-12422,0},{4072,-12425,0},{4070,-12422,0},{4072,-12418,0}, {4075,-12420,0},{4080,-12417,0},{4082,-12408,0},{4085,-12407,0},{4085,-12413,0}, {4078,-12418,0},{4078,-12420,0},{4087,-12415,0},{4098,-12410,0},{4103,-12410,0}, {4108,-12413,0},{4115,-12413,0},{4122,-12410,0},{4142,-12403,0},{4153,-12407,0}, {4155,-12405,0},{4157,-12408,0},{4170,-12412,0},{4175,-12415,0},{4178,-12425,0}, {4187,-12418,0},{4195,-12417,0},{4200,-12418,0},{4212,-12433,0},{4222,-12437,0}, {4227,-12440,0},{4230,-12440,0},{4233,-12443,0},{4238,-12440,0},{4248,-12442,0}, {4255,-12438,0},{4267,-12438,0},{4270,-12443,0},{4275,-12447,0},{4275,-12450,0}, {4282,-12450,0},{4285,-12455,0},{4303,-12443,0},{4335,-12437,0},{4335,-12432,0}, {4332,-12432,0},{4330,-12430,0},{4333,-12430,0},{4335,-12427,0},{4337,-12430,0}, {4342,-12425,0},{4343,-12422,0},{4338,-12420,0},{4337,-12413,0},{4345,-12420,0}, {4348,-12418,0},{4338,-12432,0},{4357,-12422,0},{4367,-12418,0},{4370,-12415,0}, {4373,-12412,0},{4372,-12410,0},{4372,-12407,0},{4375,-12412,0},{4375,-12415,0}, {4370,-12415,0},{4370,-12418,0},{4400,-12412,0},{4400,-12410,0},{4407,-12412,0}, {4418,-12410,0},{4433,-12410,0},{4443,-12407,0},{4442,-12400,0},{4445,-12402,0}, {4447,-12407,0},{4462,-12405,0},{4462,-12400,0},{4465,-12400,0},{4465,-12403,0}, {4468,-12405,0},{4473,-12403,0},{4483,-12405,0},{4492,-12402,0},{4492,-12400,0}, {4507,-12400,0},{4518,-12395,0},{4522,-12395,0},{4528,-12393,0},{4533,-12395,0}, {4535,-12398,0},{4537,-12395,0},{4543,-12393,0},{4540,-12393,0},{4542,-12390,0}, {4547,-12395,0},{4550,-12395,0},{4552,-12393,0},{4552,-12390,0},{4548,-12387,0}, {4552,-12383,0},{4553,-12387,0},{4558,-12388,0},{4558,-12392,0},{4560,-12393,0}, {4568,-12390,0},{4572,-12385,0},{4572,-12390,0},{4568,-12392,0},{4572,-12392,0}, {4577,-12395,0},{4578,-12397,0},{4582,-12395,0},{4588,-12393,0},{4595,-12397,0}, {4598,-12392,0},{4603,-12392,0},{4613,-12393,0},{4623,-12398,0},{4617,-12385,0}, {4617,-12380,0},{4613,-12380,0},{4612,-12378,0},{4615,-12377,0},{4620,-12383,0}, {4622,-12377,0},{4618,-12372,0},{4620,-12358,0},{4622,-12360,0},{4622,-12355,0}, {4625,-12350,0},{4625,-12347,0},{4622,-12343,0},{4617,-12340,0},{4615,-12327,0}, {4617,-12320,0},{4620,-12317,0},{4617,-12327,0},{4620,-12332,0},{4623,-12338,0}, {4628,-12343,0},{4627,-12357,0},{4628,-12365,0},{4632,-12368,0},{4630,-12370,0}, {4628,-12375,0},{4630,-12378,0},{4627,-12385,0},{4627,-12390,0},{4633,-12398,0}, {4632,-12402,0},{4628,-12402,0},{4628,-12407,0},{4635,-12403,0},{4665,-12405,0}, {4665,-12402,0},{4663,-12403,0},{4658,-12400,0},{4650,-12402,0},{4640,-12398,0}, {4640,-12393,0},{4645,-12392,0},{4642,-12383,0},{4643,-12383,0},{4645,-12388,0}, {4650,-12392,0},{4653,-12388,0},{4657,-12388,0},{4663,-12393,0},{4662,-12388,0}, {4665,-12392,0},{4668,-12390,0},{4672,-12383,0},{4667,-12378,0},{4670,-12375,0}, {4670,-12378,0},{4675,-12387,0},{4673,-12392,0},{4675,-12395,0},{4672,-12395,0}, {4675,-12407,0},{4692,-12412,0},{4693,-12410,0},{4692,-12408,0},{4687,-12407,0}, {4685,-12402,0},{4685,-12400,0},{4688,-12402,0},{4688,-12403,0},{4690,-12403,0}, {4698,-12380,0},{4698,-12392,0},{4700,-12392,0},{4698,-12397,0},{4705,-12402,0}, {4707,-12407,0},{4707,-12410,0},{4703,-12413,0},{4697,-12412,0},{4693,-12415,0}, {4698,-12415,0},{4707,-12415,0},{4722,-12418,0},{4732,-12423,0},{4733,-12427,0}, {4737,-12425,0},{4737,-12430,0},{4767,-12435,0},{4775,-12440,0},{4777,-12443,0}, {4783,-12447,0},{4785,-12450,0},{4788,-12455,0},{4788,-12458,0},{4800,-12465,0}, {4812,-12468,0},{4817,-12472,0},{4822,-12467,0},{4825,-12468,0},{4833,-12465,0}, {4837,-12470,0},{4840,-12472,0},{4838,-12457,0},{4830,-12440,0},{4825,-12415,0}, {4820,-12403,0},{4818,-12393,0},{4817,-12378,0},{4817,-12370,0},{4815,-12362,0}, {4815,-12348,0},{4815,-12342,0},{4813,-12342,0},{4813,-12335,0},{4813,-12323,0}, {4820,-12310,0},{4817,-12315,0},{4815,-12308,0},{4812,-12303,0},{4807,-12302,0}, {4805,-12300,0},{4807,-12298,0},{4810,-12300,0},{4812,-12295,0},{4810,-12292,0}, {4808,-12290,0},{4807,-12287,0},{4803,-12283,0},{4802,-12287,0},{4800,-12285,0}, {4805,-12282,0},{4810,-12287,0},{4812,-12287,0},{4815,-12283,0},{4817,-12275,0}, {4813,-12273,0},{4812,-12278,0},{4808,-12278,0},{4798,-12267,0},{4795,-12267,0}, {4790,-12260,0},{4788,-12267,0},{4785,-12267,0},{4782,-12272,0},{4770,-12278,0}, {4772,-12282,0},{4782,-12278,0},{4787,-12280,0},{4780,-12282,0},{4783,-12285,0}, {4777,-12283,0},{4773,-12287,0},{4767,-12290,0},{4762,-12297,0},{4752,-12305,0}, {4747,-12310,0},{4737,-12315,0},{4735,-12310,0},{4737,-12300,0},{4745,-12283,0}, {4745,-12287,0},{4738,-12302,0},{4740,-12310,0},{4752,-12302,0},{4762,-12293,0}, {4763,-12290,0},{4768,-12275,0},{4775,-12272,0},{4787,-12262,0},{4785,-12258,0}, {4783,-12257,0},{4783,-12255,0},{4793,-12257,0},{4795,-12260,0},{4792,-12252,0}, {4782,-12248,0},{4780,-12248,0},{4777,-12245,0},{4775,-12248,0},{4777,-12253,0}, {4772,-12258,0},{4775,-12265,0},{4770,-12260,0},{4758,-12258,0},{4767,-12267,0}, {4765,-12268,0},{4760,-12267,0},{4758,-12262,0},{4755,-12267,0},{4757,-12260,0}, {4760,-12253,0},{4755,-12253,0},{4753,-12248,0},{4743,-12255,0},{4737,-12253,0}, {4735,-12257,0},{4730,-12253,0},{4728,-12257,0},{4732,-12267,0},{4733,-12267,0}, {4738,-12262,0},{4742,-12262,0},{4740,-12263,0},{4735,-12272,0},{4730,-12275,0}, {4725,-12272,0},{4723,-12273,0},{4722,-12273,0},{4718,-12275,0},{4722,-12278,0}, {4727,-12282,0},{4732,-12277,0},{4742,-12280,0},{4733,-12283,0},{4730,-12292,0}, {4720,-12293,0},{4718,-12297,0},{4715,-12307,0},{4715,-12300,0},{4712,-12307,0}, {4713,-12302,0},{4720,-12292,0},{4718,-12292,0},{4712,-12295,0},{4710,-12298,0}, {4712,-12295,0},{4715,-12292,0},{4707,-12290,0},{4707,-12288,0},{4710,-12288,0}, {4715,-12288,0},{4718,-12283,0},{4715,-12285,0},{4715,-12280,0},{4718,-12280,0}, {4710,-12272,0},{4712,-12268,0},{4720,-12257,0},{4728,-12252,0},{4733,-12252,0}, {4728,-12242,0},{4730,-12238,0},{4733,-12242,0},{4737,-12232,0},{4740,-12232,0}, {4747,-12235,0},{4750,-12235,0},{4760,-12240,0},{4762,-12237,0},{4758,-12233,0}, {4762,-12233,0},{4767,-12242,0},{4773,-12235,0},{4778,-12238,0},{4783,-12237,0}, {4788,-12232,0},{4797,-12228,0},{4798,-12222,0},{4802,-12218,0},{4803,-12220,0}, {4803,-12223,0},{4803,-12227,0},{4808,-12233,0},{4822,-12238,0},{4823,-12243,0}, {4822,-12245,0},{4817,-12247,0},{4813,-12245,0},{4810,-12238,0},{4805,-12235,0}, {4805,-12238,0},{4812,-12245,0},{4812,-12250,0},{4818,-12253,0},{4823,-12252,0}, {4825,-12250,0},{4825,-12243,0},{4823,-12238,0},{4830,-12238,0},{4837,-12250,0}, {4837,-12253,0},{4840,-12257,0},{4843,-12257,0},{4840,-12263,0},{4842,-12268,0}, {4847,-12267,0},{4850,-12270,0},{4852,-12262,0},{4845,-12258,0},{4848,-12257,0}, {4845,-12253,0},{4845,-12248,0},{4853,-12248,0},{4858,-12257,0},{4858,-12252,0}, {4855,-12247,0},{4855,-12245,0},{4860,-12243,0},{4870,-12252,0},{4873,-12250,0}, {4875,-12252,0},{4878,-12258,0},{4875,-12260,0},{4872,-12263,0},{4872,-12267,0}, {4877,-12265,0},{4880,-12268,0},{4878,-12270,0},{4882,-12270,0},{4887,-12277,0}, {4892,-12275,0},{4893,-12277,0},{4893,-12280,0},{4893,-12282,0},{4897,-12277,0}, {4895,-12273,0},{4898,-12275,128},{4902,-12277,0},{4900,-12283,0},{4903,-12288,0}, {4908,-12287,0},{4908,-12290,0},{4905,-12303,0},{4898,-12303,0},{4898,-12308,0}, {4903,-12312,0},{4907,-12315,0},{4908,-12310,0},{4915,-12303,0},{4910,-12312,0}, {4913,-12322,0},{4920,-12320,0},{4920,-12313,0},{4918,-12313,0},{4920,-12313,0}, {4925,-12323,0},{4928,-12325,0},{4928,-12315,0},{4930,-12317,0},{4930,-12315,0}, {4928,-12312,0},{4928,-12292,0},{4933,-12288,0},{4943,-12285,0},{4945,-12287,0}, {4943,-12288,0},{4937,-12290,0},{4932,-12293,0},{4930,-12302,0},{4933,-12323,0}, {4933,-12327,0},{4937,-12328,0},{4938,-12325,0},{4943,-12323,0},{4952,-12325,0}, {4962,-12320,0},{4965,-12320,0},{4968,-12315,0},{4970,-12317,0},{4967,-12323,0}, {4958,-12325,0},{4958,-12332,0},{4955,-12335,0},{4955,-12338,0},{4952,-12350,0}, {4942,-12348,0},{4938,-12352,0},{4943,-12372,0},{4947,-12375,0},{4947,-12385,0}, {4947,-12388,0},{4950,-12392,0},{4952,-12397,0},{4963,-12407,0},{4972,-12403,0}, {4973,-12400,0},{4973,-12393,0},{4968,-12388,0},{4963,-12383,0},{4950,-12378,0}, {4953,-12375,0},{4958,-12377,0},{4960,-12377,0},{4963,-12368,0},{4963,-12362,0}, {4970,-12353,0},{4965,-12367,0},{4963,-12378,0},{4965,-12382,0},{4970,-12383,0}, {4977,-12393,0},{4983,-12388,0},{4988,-12387,0},{4992,-12388,0},{4993,-12395,0}, {4998,-12397,0},{5003,-12387,0},{5005,-12380,0},{5008,-12375,0},{5015,-12383,0}, {5022,-12398,0},{5017,-12395,0},{5015,-12387,0},{5010,-12382,0},{5005,-12385,0}, {5000,-12400,0},{4992,-12398,0},{4987,-12392,0},{4983,-12393,0},{4983,-12397,0}, {4980,-12398,0},{4982,-12400,0},{4992,-12403,0},{4987,-12407,0},{4983,-12405,0}, {4982,-12408,0},{4980,-12408,0},{4977,-12417,0},{4978,-12425,0},{4975,-12427,0}, {4977,-12435,0},{4977,-12440,0},{4977,-12445,0},{4980,-12452,0},{4983,-12453,0}, {4987,-12457,0},{4993,-12470,0},{4998,-12477,0},{5007,-12483,0},{4998,-12470,0}, {5003,-12470,0},{5007,-12467,0},{5010,-12470,0},{5012,-12467,0},{5013,-12467,0}, {5017,-12462,0},{5023,-12460,0},{5028,-12463,0},{5033,-12472,0},{5035,-12468,0}, {5038,-12465,0},{5040,-12460,0},{5040,-12453,0},{5045,-12442,0},{5050,-12435,0}, {5050,-12438,0},{5047,-12443,0},{5042,-12457,0},{5043,-12467,0},{5035,-12473,0}, {5032,-12483,0},{5033,-12497,0},{5037,-12495,0},{5043,-12500,0},{5035,-12500,0}, {5035,-12503,0},{5032,-12505,0},{5032,-12508,0},{5035,-12508,0},{5037,-12507,0}, {5048,-12505,0},{5050,-12497,0},{5055,-12493,0},{5055,-12488,0},{5058,-12487,0}, {5060,-12488,0},{5068,-12487,0},{5072,-12482,0},{5080,-12492,0},{5088,-12478,0}, {5092,-12482,0},{5093,-12485,0},{5092,-12487,0},{5088,-12487,0},{5083,-12492,0}, {5080,-12498,0},{5080,-12495,0},{5075,-12495,0},{5075,-12490,0},{5073,-12490,0}, {5067,-12492,0},{5062,-12490,0},{5060,-12493,0},{5060,-12495,0},{5057,-12498,0}, {5055,-12502,0},{5053,-12503,0},{5050,-12510,0},{5043,-12512,0},{5042,-12518,0}, {5047,-12525,0},{5050,-12525,0},{5045,-12530,0},{5048,-12533,0},{5050,-12535,0}, {5053,-12533,0},{5053,-12537,0},{5048,-12540,0},{5047,-12542,0},{5047,-12557,0}, {5053,-12553,0},{5058,-12555,0},{5063,-12553,0},{5067,-12550,0},{5068,-12545,0}, {5072,-12543,0},{5072,-12547,0},{5067,-12555,0},{5055,-12557,0},{5050,-12562,0}, {5047,-12562,0},{5043,-12570,0},{5043,-12572,0},{5050,-12580,0},{5052,-12573,0}, {5053,-12582,0},{5050,-12587,0},{5047,-12597,0},{5048,-12600,0},{5047,-12607,0}, {5050,-12608,0},{5048,-12613,0},{5050,-12622,0},{5052,-12628,0},{5053,-12623,0}, {5052,-12618,0},{5057,-12618,0},{5057,-12617,0},{5062,-12597,0},{5063,-12593,0}, {5065,-12598,0},{5063,-12607,0},{5058,-12620,0},{5060,-12625,0},{5063,-12627,0}, {5065,-12610,0},{5067,-12603,0},{5065,-12592,0},{5067,-12583,0},{5068,-12575,0}, {5067,-12572,0},{5068,-12570,0},{5073,-12568,0},{5075,-12562,0},{5078,-12560,0}, {5085,-12565,0},{5087,-12560,0},{5085,-12557,0},{5087,-12555,0},{5093,-12550,0}, {5105,-12555,0},{5110,-12563,0},{5107,-12563,0},{5095,-12558,0},{5093,-12555,0}, {5090,-12557,0},{5090,-12562,0},{5087,-12568,0},{5082,-12568,0},{5080,-12563,0}, {5078,-12565,0},{5077,-12570,0},{5070,-12575,0},{5070,-12585,0},{5068,-12593,0}, {5070,-12597,0},{5070,-12600,0},{5068,-12605,0},{5067,-12620,0},{5067,-12622,0}, {5070,-12622,0},{5072,-12617,0},{5080,-12602,0},{5077,-12615,0},{5080,-12620,0}, {5087,-12618,0},{5085,-12622,0},{5085,-12623,0},{5087,-12623,0},{5085,-12638,0}, {5082,-12643,0},{5082,-12650,0},{5083,-12655,0},{5088,-12655,0},{5092,-12650,0}, {5090,-12623,0},{5092,-12618,0},{5093,-12617,0},{5095,-12618,0},{5092,-12625,0}, {5095,-12647,0},{5098,-12650,0},{5107,-12652,0},{5102,-12655,0},{5093,-12652,0}, {5090,-12657,0},{5088,-12665,0},{5087,-12667,0},{5088,-12672,0},{5093,-12685,0}, {5090,-12690,0},{5090,-12703,0},{5093,-12712,0},{5093,-12718,0},{5092,-12717,0}, {5088,-12707,0},{5088,-12692,0},{5082,-12702,0},{5087,-12713,0},{5088,-12722,0}, {5092,-12725,0},{5093,-12740,0},{5095,-12743,0},{5097,-12742,0},{5098,-12742,0}, {5098,-12748,0},{5100,-12753,0},{5110,-12750,0},{5110,-12748,0},{5112,-12750,0}, {5108,-12763,0},{5110,-12768,0},{5112,-12767,0},{5113,-12770,0},{5113,-12775,0}, {5117,-12778,0},{5123,-12778,0},{5125,-12775,0},{5130,-12757,0},{5128,-12743,0}, {5127,-12737,0},{5128,-12723,0},{5133,-12713,0},{5138,-12712,0},{5132,-12718,0}, {5130,-12728,0},{5132,-12752,0},{5135,-12745,0},{5135,-12747,0},{5133,-12757,0}, {5133,-12778,0},{5137,-12778,0},{5138,-12773,0},{5138,-12767,0},{5147,-12760,0}, {5147,-12755,0},{5150,-12755,0},{5152,-12752,0},{5158,-12752,0},{5162,-12750,0}, {5165,-12738,0},{5167,-12710,0},{5165,-12692,0},{5163,-12670,0},{5165,-12665,0}, {5167,-12665,0},{5168,-12662,0},{5172,-12660,0},{5180,-12667,0},{5172,-12663,0}, {5167,-12670,0},{5168,-12700,0},{5170,-12705,0},{5168,-12720,0},{5168,-12727,0}, {5172,-12733,0},{5168,-12737,0},{5167,-12742,0},{5167,-12743,0},{5175,-12743,0}, {5177,-12737,0},{5187,-12735,0},{5178,-12740,0},{5177,-12745,0},{5170,-12747,0}, {5170,-12765,0},{5168,-12758,0},{5167,-12747,0},{5165,-12750,0},{5163,-12753,0}, {5157,-12758,0},{5153,-12757,0},{5147,-12763,0},{5145,-12770,0},{5150,-12777,0}, {5152,-12765,0},{5153,-12768,0},{5153,-12780,0},{5160,-12780,0},{5160,-12783,0}, {5163,-12783,0},{5167,-12788,0},{5173,-12787,0},{5180,-12788,0},{5190,-12787,0}, {5193,-12778,0},{5195,-12767,0},{5205,-12765,0},{5213,-12758,0},{5215,-12750,0}, {5215,-12747,0},{5213,-12747,0},{5212,-12747,0},{5210,-12750,0},{5210,-12758,0}, {5203,-12762,0},{5203,-12758,0},{5208,-12755,0},{5208,-12742,0},{5218,-12745,0}, {5218,-12740,0},{5222,-12737,0},{5223,-12728,0},{5225,-12725,0},{5232,-12717,0}, {5230,-12700,0},{5225,-12693,0},{5220,-12693,0},{5208,-12675,0},{5198,-12667,0}, {5203,-12667,0},{5212,-12675,0},{5220,-12690,0},{5225,-12690,0},{5230,-12693,0}, {5233,-12693,0},{5235,-12687,0},{5237,-12673,0},{5240,-12680,0},{5237,-12692,0}, {5233,-12698,0},{5235,-12713,0},{5238,-12718,0},{5242,-12718,0},{5245,-12723,0}, {5252,-12723,0},{5262,-12707,0},{5263,-12698,0},{5272,-12692,0},{5283,-12697,0}, {5288,-12707,0},{5282,-12700,0},{5270,-12698,0},{5265,-12705,0},{5263,-12708,0}, {5255,-12725,0},{5250,-12728,0},{5247,-12727,0},{5240,-12745,0},{5233,-12753,0}, {5232,-12760,0},{5230,-12762,0},{5230,-12768,0},{5227,-12773,0},{5228,-12775,0}, {5230,-12775,0},{5235,-12772,0},{5230,-12778,0},{5225,-12780,0},{5220,-12785,0}, {5227,-12788,0},{5230,-12793,0},{5235,-12792,0},{5237,-12783,0},{5245,-12792,0}, {5250,-12787,0},{5252,-12788,0},{5248,-12792,0},{5243,-12793,0},{5238,-12788,0}, {5232,-12797,0},{5233,-12802,0},{5240,-12805,0},{5247,-12807,0},{5252,-12797,0}, {5250,-12793,0},{5253,-12793,0},{5255,-12788,0},{5258,-12788,0},{5255,-12793,0}, {5253,-12803,0},{5250,-12810,0},{5243,-12815,0},{5242,-12815,0},{5238,-12820,0}, {5227,-12828,0},{5228,-12840,0},{5233,-12833,0},{5237,-12833,0},{5240,-12830,0}, {5240,-12825,0},{5247,-12822,0},{5257,-12823,0},{5267,-12818,0},{5275,-12812,0}, {5288,-12813,0},{5292,-12803,0},{5292,-12813,0},{5285,-12817,0},{5283,-12822,0}, {5282,-12823,0},{5280,-12827,0},{5282,-12837,0},{5283,-12838,0},{5282,-12843,0}, {5287,-12848,0},{5292,-12850,0},{5307,-12853,0},{5310,-12850,0},{5310,-12853,0}, {5312,-12855,0},{5313,-12848,0},{5315,-12857,0},{5323,-12867,0},{5318,-12867,0}, {5328,-12887,0},{5333,-12888,0},{5337,-12885,0},{5337,-12888,0},{5340,-12887,0}, {5343,-12888,0},{5348,-12883,0},{5348,-12885,0},{5348,-12888,0},{5345,-12892,0}, {5348,-12893,0},{5355,-12897,0},{5353,-12887,0},{5357,-12882,0},{5355,-12878,0}, {5350,-12875,0},{5348,-12872,0},{5345,-12867,0},{5348,-12870,0},{5347,-12865,0}, {5338,-12850,0},{5335,-12850,0},{5333,-12848,0},{5338,-12847,0},{5340,-12850,0}, {5343,-12848,0},{5345,-12837,0},{5348,-12835,0},{5345,-12823,0},{5347,-12818,0}, {5345,-12815,0},{5343,-12810,0},{5340,-12807,0},{5333,-12810,0},{5337,-12805,0}, {5333,-12795,0},{5325,-12795,0},{5322,-12787,0},{5323,-12787,0},{5328,-12793,0}, {5333,-12792,0},{5340,-12805,0},{5347,-12812,0},{5348,-12812,0},{5347,-12825,0}, {5350,-12837,0},{5348,-12838,0},{5347,-12838,0},{5343,-12852,0},{5347,-12858,0}, {5348,-12860,0},{5350,-12863,0},{5352,-12868,0},{5355,-12870,0},{5357,-12875,0}, {5362,-12882,0},{5365,-12882,0},{5372,-12877,0},{5377,-12880,0},{5380,-12877,0}, {5382,-12872,0},{5382,-12868,0},{5385,-12868,0},{5387,-12865,0},{5383,-12860,0}, {5383,-12847,0},{5385,-12848,0},{5387,-12862,0},{5388,-12868,0},{5403,-12860,0}, {5400,-12868,0},{5393,-12872,0},{5392,-12875,0},{5392,-12878,0},{5388,-12880,0}, {5387,-12883,0},{5383,-12885,0},{5377,-12893,0},{5385,-12890,0},{5382,-12893,0}, {5388,-12895,0},{5390,-12900,0},{5387,-12897,0},{5378,-12897,0},{5377,-12900,0}, {5378,-12903,0},{5382,-12905,0},{5378,-12907,0},{5377,-12903,0},{5375,-12903,0}, {5372,-12912,0},{5367,-12915,0},{5363,-12923,0},{5353,-12923,0},{5352,-12927,0}, {5350,-12923,0},{5343,-12923,0},{5340,-12927,0},{5338,-12927,0},{5340,-12935,0}, {5357,-12960,0},{5368,-12973,0},{5368,-12970,0},{5370,-12972,0},{5372,-12978,0}, {5375,-12982,0},{5375,-12985,0},{5385,-12998,0},{5388,-12997,0},{5387,-13000,0}, {5388,-13005,0},{5395,-13010,0},{5402,-13008,0},{5407,-13008,0},{5415,-13005,0}, {5415,-12995,0},{5403,-12983,0},{5400,-12975,0},{5395,-12972,0},{5400,-12973,0}, {5402,-12978,0},{5405,-12983,0},{5415,-12992,0},{5418,-12993,0},{5422,-12983,0}, {5418,-12963,0},{5418,-12960,0},{5422,-12955,0},{5423,-12947,0},{5423,-12953,0}, {5420,-12962,0},{5422,-12968,0},{5423,-12987,0},{5418,-13002,0},{5418,-13008,0}, {5415,-13012,0},{5420,-13018,0},{5420,-13027,0},{5423,-13028,0},{5427,-13020,0}, {5428,-13023,0},{5433,-13027,0},{5440,-13025,0},{5435,-13028,0},{5433,-13035,0}, {5433,-13047,0},{5437,-13048,0},{5443,-13047,0},{5445,-13038,0},{5450,-13043,0}, {5457,-13043,0},{5457,-13038,0},{5462,-13043,0},{5463,-13043,0},{5460,-13035,0}, {5433,-13005,0},{5432,-12998,0},{5433,-12997,0},{5435,-13003,0},{5440,-13008,0}, {5448,-13007,0},{5448,-13000,0},{5452,-12998,0},{5450,-13007,0},{5443,-13008,0}, {5443,-13012,0},{5452,-13023,0},{5458,-13028,0},{5463,-13037,0},{5467,-13037,0}, {5468,-13033,0},{5472,-13023,0},{5470,-13017,0},{5467,-13012,0},{5467,-13008,0}, {5463,-13005,0},{5462,-12998,0},{5462,-12988,0},{5463,-12987,0},{5463,-13000,0}, {5470,-13008,0},{5473,-13020,0},{5482,-13015,0},{5483,-13010,0},{5488,-13005,0}, {5488,-13008,0},{5485,-13013,0},{5485,-13017,0},{5497,-13003,0},{5497,-12995,0}, {5492,-12998,0},{5498,-12982,0},{5497,-12977,0},{5498,-12965,0},{5500,-12962,0}, {5500,-12978,0},{5500,-12997,0},{5502,-13000,0},{5510,-12997,0},{5517,-12987,0}, {5525,-12982,0},{5528,-12975,0},{5532,-12973,0},{5537,-12968,0},{5543,-12965,0}, {5545,-12960,0},{5543,-12952,0},{5547,-12947,0},{5548,-12948,0},{5545,-12953,0}, {5545,-12963,0},{5540,-12970,0},{5547,-12972,0},{5563,-12982,0},{5553,-12980,0}, {5548,-12977,0},{5542,-12978,0},{5538,-12983,0},{5537,-12983,0},{5540,-12980,0}, {5537,-12982,0},{5537,-12978,0},{5532,-12983,0},{5528,-12982,0},{5523,-12988,0}, {5517,-12992,0},{5508,-13002,0},{5505,-13002,0},{5500,-13007,0},{5500,-13012,0}, {5507,-13017,0},{5518,-13008,0},{5528,-12995,0},{5535,-13000,0},{5547,-13002,0}, {5555,-13010,0},{5567,-13007,0},{5572,-13013,0},{5578,-13010,0},{5592,-12997,0}, {5593,-12997,0},{5592,-13000,0},{5575,-13017,0},{5565,-13012,0},{5553,-13015,0}, {5543,-13007,0},{5535,-13005,0},{5528,-12998,0},{5523,-13007,0},{5523,-13010,0}, {5520,-13010,0},{5517,-13015,0},{5503,-13023,0},{5490,-13037,0},{5480,-13058,0}, {5480,-13060,0},{5485,-13057,0},{5485,-13058,0},{5477,-13068,0},{5478,-13073,0}, {5482,-13068,0},{5490,-13073,0},{5497,-13073,0},{5495,-13075,0},{5488,-13075,0}, {5483,-13073,0},{5482,-13075,0},{5482,-13078,0},{5478,-13078,0},{5477,-13082,0}, {5478,-13090,0},{5480,-13092,0},{5488,-13093,0},{5492,-13097,0},{5493,-13093,0}, {5497,-13093,0},{5497,-13097,0},{5500,-13100,0},{5507,-13097,0},{5510,-13083,0}, {5510,-13082,0},{5507,-13080,0},{5508,-13072,0},{5513,-13068,0},{5522,-13055,0}, {5533,-13047,0},{5533,-13048,0},{5528,-13055,0},{5522,-13060,0},{5510,-13075,0}, {5510,-13078,0},{5515,-13082,0},{5508,-13092,0},{5510,-13102,0},{5513,-13107,0}, {5518,-13107,0},{5528,-13092,0},{5530,-13062,0},{5532,-13067,0},{5535,-13065,0}, {5535,-13068,0},{5530,-13072,0},{5530,-13087,0},{5547,-13088,0},{5558,-13087,0}, {5568,-13090,0},{5570,-13088,0},{5578,-13095,0},{5582,-13092,0},{5580,-13098,0}, {5582,-13102,0},{5587,-13105,0},{5590,-13112,0},{5593,-13113,0},{5593,-13115,0}, {5597,-13117,0},{5597,-13120,0},{5600,-13117,0},{5605,-13105,0},{5605,-13108,0}, {5610,-13102,0},{5610,-13107,0},{5600,-13122,0},{5597,-13132,0},{5597,-13138,0}, {5600,-13142,0},{5597,-13148,0},{5598,-13150,0},{5597,-13152,0},{5593,-13162,0}, {5588,-13175,0},{5585,-13192,0},{5580,-13175,0},{5572,-13182,0},{5572,-13187,0}, {5567,-13182,0},{5563,-13183,0},{5562,-13188,0},{5560,-13188,0},{5567,-13200,0}, {5558,-13193,0},{5558,-13195,0},{5553,-13192,0},{5550,-13197,0},{5558,-13218,0}, {5568,-13220,0},{5575,-13227,0},{5575,-13223,0},{5572,-13217,0},{5577,-13217,0}, {5580,-13217,0},{5580,-13205,0},{5585,-13208,0},{5588,-13203,0},{5593,-13207,0}, {5595,-13203,0},{5597,-13195,0},{5617,-13197,0},{5618,-13187,0},{5620,-13187,0}, {5620,-13177,0},{5617,-13160,0},{5622,-13148,0},{5620,-13163,0},{5623,-13190,0}, {5630,-13197,0},{5635,-13197,0},{5638,-13207,0},{5637,-13210,0},{5638,-13215,0}, {5647,-13218,0},{5648,-13225,0},{5648,-13228,0},{5653,-13235,0},{5660,-13233,0}, {5663,-13232,0},{5660,-13243,0},{5663,-13255,0},{5667,-13252,0},{5667,-13245,0}, {5672,-13252,0},{5675,-13247,0},{5677,-13247,0},{5677,-13242,0},{5680,-13240,0}, {5682,-13237,0},{5682,-13240,0},{5678,-13243,0},{5678,-13248,0},{5675,-13250,0}, {5678,-13265,0},{5685,-13277,0},{5688,-13278,0},{5690,-13287,0},{5693,-13285,0}, {5698,-13292,0},{5695,-13278,0},{5698,-13277,0},{5705,-13282,0},{5708,-13278,0}, {5707,-13285,0},{5702,-13288,0},{5705,-13295,0},{5703,-13297,0},{5707,-13307,0}, {5708,-13315,0},{5713,-13315,0},{5715,-13312,0},{5717,-13315,0},{5715,-13318,0}, {5713,-13318,0},{5713,-13322,0},{5717,-13322,0},{5717,-13325,0},{5712,-13325,0}, {5710,-13330,0},{5718,-13355,0},{5722,-13348,0},{5725,-13350,0},{5728,-13347,0}, {5728,-13323,0},{5732,-13317,0},{5732,-13308,0},{5735,-13303,0},{5737,-13305,0}, {5733,-13312,0},{5732,-13322,0},{5733,-13330,0},{5733,-13338,0},{5735,-13343,0}, {5738,-13345,0},{5740,-13335,0},{5743,-13333,0},{5742,-13343,0},{5743,-13347,0}, {5750,-13352,0},{5753,-13350,0},{5757,-13343,0},{5757,-13333,0},{5758,-13332,0}, {5758,-13343,0},{5757,-13353,0},{5757,-13358,0},{5758,-13362,0},{5763,-13367,0}, {5770,-13363,0},{5770,-13355,0},{5767,-13350,0},{5758,-13318,0},{5750,-13305,0}, {5752,-13300,0},{5753,-13308,0},{5760,-13317,0},{5762,-13315,0},{5762,-13322,0}, {5765,-13327,0},{5767,-13333,0},{5772,-13340,0},{5772,-13347,0},{5775,-13353,0}, {5790,-13355,0},{5792,-13353,0},{5790,-13340,0},{5788,-13333,0},{5785,-13312,0}, {5790,-13318,0},{5790,-13328,0},{5790,-13333,0},{5792,-13340,0},{5792,-13355,0}, {5790,-13360,0},{5787,-13358,0},{5788,-13363,0},{5785,-13363,0},{5782,-13362,0}, {5778,-13365,0},{5778,-13370,0},{5785,-13375,0},{5795,-13385,0},{5798,-13378,0}, {5793,-13370,0},{5795,-13368,0},{5798,-13370,0},{5802,-13367,0},{5802,-13373,0}, {5805,-13377,0},{5810,-13370,0},{5813,-13372,0},{5815,-13367,0},{5813,-13375,0}, {5810,-13373,0},{5805,-13380,0},{5802,-13380,0},{5798,-13388,0},{5802,-13398,0}, {5807,-13402,0},{5807,-13405,0},{5810,-13407,0},{5812,-13403,0},{5818,-13408,0}, {5825,-13405,0},{5828,-13407,0},{5828,-13402,0},{5832,-13398,0},{5840,-13402,0}, {5843,-13395,0},{5850,-13392,0},{5852,-13388,0},{5850,-13380,0},{5852,-13377,0}, {5852,-13390,0},{5850,-13398,0},{5843,-13398,0},{5842,-13407,0},{5840,-13405,0}, {5833,-13407,0},{5830,-13415,0},{5825,-13410,0},{5820,-13415,0},{5822,-13425,0}, {5835,-13452,0},{5835,-13463,0},{5838,-13465,0},{5838,-13477,0},{5848,-13478,0}, {5857,-13488,0},{5867,-13498,0},{5865,-13492,0},{5867,-13492,0},{5870,-13493,0}, {5882,-13495,0},{5882,-13500,0},{5878,-13500,0},{5878,-13503,0},{5873,-13502,0}, {5883,-13515,0},{5888,-13513,0},{5893,-13517,0},{5900,-13517,0},{5902,-13520,0}, {5920,-13528,0},{5927,-13537,0},{5943,-13532,0},{5947,-13533,0},{5945,-13537,0}, {5930,-13540,0},{5932,-13555,0},{5928,-13545,0},{5923,-13543,0},{5920,-13535,0}, {5908,-13530,0},{5912,-13538,0},{5920,-13542,0},{5922,-13548,0},{5923,-13555,0}, {5918,-13547,0},{5913,-13545,0},{5908,-13538,0},{5897,-13538,0},{5892,-13535,0}, {5892,-13532,0},{5887,-13533,0},{5878,-13523,0},{5872,-13525,0},{5863,-13517,0}, {5862,-13522,0},{5860,-13522,0},{5853,-13517,0},{5833,-13505,0},{5830,-13505,0}, {5830,-13508,0},{5823,-13508,0},{5820,-13515,0},{5825,-13533,0},{5848,-13548,0}, {5847,-13552,0},{5842,-13547,0},{5837,-13547,0},{5842,-13563,0},{5840,-13570,0}, {5838,-13592,0},{5847,-13587,0},{5845,-13595,0},{5847,-13592,0},{5847,-13585,0}, {5848,-13587,0},{5855,-13583,0},{5858,-13588,0},{5860,-13582,0},{5860,-13587,0}, {5862,-13590,0},{5870,-13593,0},{5870,-13598,0},{5872,-13597,0},{5882,-13607,0}, {5887,-13593,0},{5885,-13592,0},{5888,-13575,0},{5890,-13580,0},{5892,-13597,0}, {5890,-13593,0},{5888,-13595,0},{5885,-13603,0},{5888,-13605,0},{5892,-13603,0}, {5895,-13610,0},{5902,-13610,0},{5903,-13615,0},{5895,-13613,0},{5892,-13622,0}, {5893,-13610,0},{5890,-13612,0},{5887,-13610,0},{5877,-13613,0},{5875,-13617,0}, {5875,-13625,0},{5880,-13638,0},{5882,-13627,0},{5883,-13647,0},{5890,-13650,0}, {5897,-13648,0},{5897,-13653,0},{5892,-13657,0},{5897,-13663,0},{5902,-13670,0}, {5897,-13667,0},{5890,-13660,0},{5890,-13662,0},{5888,-13665,0},{5892,-13670,0}, {5897,-13685,0},{5907,-13705,0},{5905,-13707,0},{5897,-13692,0},{5893,-13690,0}, {5892,-13692,0},{5892,-13703,0},{5882,-13713,0},{5890,-13698,0},{5888,-13685,0}, {5883,-13680,0},{5887,-13678,0},{5887,-13673,0},{5883,-13665,0},{5883,-13657,0}, {5882,-13653,0},{5880,-13648,0},{5877,-13652,0},{5878,-13653,0},{5877,-13653,0}, {5880,-13658,0},{5882,-13663,0},{5882,-13665,0},{5878,-13658,0},{5877,-13660,0}, {5873,-13652,0},{5870,-13652,0},{5867,-13643,0},{5872,-13650,0},{5875,-13648,0}, {5873,-13647,0},{5872,-13638,0},{5868,-13633,0},{5862,-13647,0},{5862,-13652,0}, {5858,-13648,0},{5862,-13640,0},{5860,-13633,0},{5862,-13633,0},{5865,-13633,0}, {5862,-13628,0},{5867,-13630,0},{5862,-13618,0},{5860,-13620,0},{5858,-13618,0}, {5855,-13612,0},{5855,-13615,0},{5852,-13617,0},{5852,-13622,0},{5850,-13617,0}, {5852,-13613,0},{5852,-13608,0},{5838,-13603,0},{5833,-13608,0},{5830,-13625,0}, {5832,-13628,0},{5833,-13628,0},{5835,-13627,0},{5840,-13632,0},{5837,-13635,0}, {5840,-13645,0},{5843,-13650,0},{5838,-13648,0},{5837,-13652,0},{5837,-13655,0}, {5833,-13648,0},{5838,-13647,0},{5837,-13638,0},{5833,-13635,0},{5830,-13637,0}, {5832,-13643,0},{5830,-13648,0},{5837,-13660,0},{5833,-13665,0},{5827,-13655,0}, {5823,-13658,0},{5822,-13665,0},{5825,-13672,0},{5827,-13670,0},{5828,-13667,0}, {5830,-13668,0},{5830,-13673,0},{5830,-13675,0},{5830,-13678,0},{5833,-13677,0}, {5832,-13682,0},{5832,-13685,0},{5835,-13683,0},{5838,-13687,0},{5833,-13690,0}, {5838,-13693,0},{5840,-13700,0},{5838,-13708,0},{5840,-13712,0},{5858,-13755,0}, {5860,-13762,0},{5862,-13762,0},{5862,-13757,0},{5867,-13743,0},{5868,-13748,0}, {5865,-13758,0},{5862,-13765,0},{5867,-13768,0},{5880,-13793,0},{5885,-13792,0}, {5890,-13797,0},{5903,-13820,0},{5907,-13830,0},{5907,-13828,0},{5908,-13842,0}, {5910,-13842,0},{5908,-13838,0},{5910,-13840,0},{5912,-13860,0},{5913,-13860,0}, {5912,-13850,0},{5915,-13850,0},{5918,-13843,0},{5918,-13845,0},{5917,-13865,0}, {5913,-13863,0},{5920,-13875,0},{5927,-13895,0},{5932,-13920,0},{5930,-13912,0}, {5933,-13917,0},{5933,-13923,0},{5938,-13922,0},{5937,-13928,0},{5935,-13928,0}, {5938,-13943,0},{5942,-13950,0},{5938,-13938,0},{5940,-13932,0},{5942,-13938,0}, {5940,-13945,0},{5943,-13952,0},{5943,-13957,0},{5953,-13985,0},{5955,-13983,0}, {5955,-13973,0},{5958,-13968,0},{5957,-13963,0},{5962,-13957,0},{5962,-13958,0}, {5965,-13958,0},{5970,-13947,0},{5980,-13958,0},{5988,-13962,0},{5998,-13948,0}, {5993,-13937,0},{5985,-13930,0},{5982,-13933,0},{5972,-13933,0},{5962,-13927,0}, {5960,-13932,0},{5960,-13933,0},{5957,-13928,0},{5957,-13925,0},{5962,-13922,0}, {5967,-13927,0},{5973,-13927,0},{5973,-13930,0},{5978,-13925,0},{5983,-13928,0}, {5985,-13913,0},{5983,-13900,0},{5980,-13897,0},{5980,-13890,0},{5982,-13895,0}, {5985,-13902,0},{5987,-13923,0},{6000,-13940,0},{6002,-13948,0},{6005,-13950,0}, {6005,-13953,0},{6000,-13958,0},{5995,-13958,0},{5993,-13968,0},{5982,-13983,0}, {5972,-14023,0},{5970,-14038,0},{5975,-14087,0},{5988,-14145,0},{5992,-14145,0}, {5992,-14140,0},{5992,-14143,0},{5988,-14143,0},{5993,-14128,0},{5998,-14127,0}, {6002,-14127,0},{6007,-14130,0},{6007,-14128,0},{6010,-14137,0},{6013,-14138,0}, {6012,-14148,0},{6008,-14145,0},{6003,-14138,0},{5997,-14162,0},{5995,-14172,0}, {6002,-14193,0},{6012,-14272,0},{6007,-14317,0},{6003,-14367,0},{5998,-14388,0}, {6003,-14402,0},{6003,-14425,0},{6003,-14400,0},{6005,-14400,0},{6015,-14420,0}, {6015,-14425,0},{6020,-14418,0},{6018,-14425,0},{6020,-14437,0},{6018,-14437,0}, {6017,-14443,0},{6018,-14448,0},{6020,-14447,0},{6022,-14450,0},{6018,-14455,0}, {6020,-14463,0},{6022,-14468,0},{6022,-14463,0},{6028,-14470,0},{6030,-14478,0}, {6028,-14480,0},{6030,-14483,0},{6030,-14488,0},{6028,-14490,0},{6030,-14493,0}, {6035,-14488,0},{6038,-14492,0},{6040,-14490,0},{6040,-14483,0},{6043,-14485,0}, {6045,-14480,0},{6050,-14478,0},{6047,-14485,0},{6047,-14488,0},{6048,-14488,0}, {6052,-14483,0},{6060,-14480,0},{6063,-14475,0},{6067,-14477,0},{6067,-14463,0}, {6072,-14462,0},{6068,-14475,0},{6065,-14478,0},{6062,-14485,0},{6055,-14490,0}, {6052,-14502,0},{6043,-14510,0},{6037,-14523,0},{6035,-14530,0},{6035,-14538,0}, {6040,-14548,0},{6042,-14550,0},{6047,-14565,0},{6045,-14588,0},{6047,-14593,0}, {6048,-14590,0},{6048,-14587,0},{6055,-14573,0},{6065,-14562,0},{6067,-14563,0}, {6062,-14585,0},{6062,-14588,0},{6065,-14580,0},{6067,-14588,0},{6070,-14585,0}, {6063,-14595,0},{6063,-14600,0},{6070,-14592,0},{6065,-14608,0},{6063,-14620,0}, {6063,-14625,0},{6065,-14627,0},{6072,-14608,0},{6075,-14605,0},{6075,-14602,0}, {6080,-14603,0},{6075,-14612,0},{6075,-14618,0},{6077,-14617,0},{6075,-14623,0}, {6072,-14627,0},{6073,-14632,0},{6077,-14628,0},{6077,-14630,0},{6070,-14642,0}, {6068,-14648,0},{6070,-14650,0},{6070,-14665,0},{6075,-14668,0},{6073,-14663,0}, {6077,-14660,0},{6075,-14657,0},{6075,-14648,0},{6077,-14653,0},{6077,-14643,0}, {6082,-14620,0},{6083,-14625,0},{6085,-14620,0},{6083,-14608,0},{6090,-14623,0}, {6083,-14630,0},{6082,-14640,0},{6085,-14640,0},{6082,-14648,0},{6082,-14655,0}, {6085,-14657,0},{6082,-14662,0},{6087,-14662,0},{6088,-14663,0},{6087,-14667,0}, {6088,-14670,0},{6097,-14675,0},{6095,-14672,0},{6093,-14668,0},{6095,-14658,0}, {6097,-14670,0},{6103,-14667,0},{6103,-14657,0},{6105,-14663,0},{6107,-14663,0}, {6108,-14660,0},{6108,-14623,0},{6113,-14630,0},{6113,-14642,0},{6113,-14660,0}, {6093,-14697,0},{6095,-14703,0},{6098,-14698,0},{6100,-14698,0},{6100,-14702,0}, {6098,-14702,0},{6097,-14705,0},{6100,-14703,0},{6100,-14712,0},{6098,-14715,0}, {6095,-14715,0},{6097,-14720,0},{6102,-14720,0},{6098,-14725,0},{6100,-14727,0}, {6098,-14728,0},{6093,-14725,0},{6093,-14732,0},{6092,-14730,0},{6088,-14737,0}, {6092,-14738,0},{6090,-14745,0},{6098,-14738,0},{6095,-14745,0},{6098,-14745,0}, {6102,-14743,0},{6098,-14748,0},{6092,-14750,0},{6090,-14753,0},{6092,-14755,0}, {6105,-14753,0},{6107,-14748,0},{6113,-14753,0},{6115,-14752,0},{6115,-14757,0}, {6113,-14758,0},{6110,-14755,0},{6102,-14760,0},{6102,-14767,0},{6100,-14762,0}, {6097,-14763,0},{6095,-14760,0},{6087,-14760,0},{6085,-14765,0},{6087,-14768,0}, {6090,-14767,0},{6088,-14773,0},{6095,-14770,0},{6092,-14778,0},{6088,-14777,0}, {6087,-14782,0},{6087,-14777,0},{6083,-14775,0},{6082,-14778,0},{6083,-14785,0}, {6085,-14790,0},{6090,-14793,0},{6095,-14805,0},{6102,-14795,0},{6107,-14792,0}, {6108,-14793,0},{6117,-14778,0},{6120,-14770,0},{6123,-14770,0},{6122,-14777,0}, {6128,-14772,0},{6112,-14795,0},{6105,-14800,0},{6102,-14805,0},{6105,-14812,0}, {6112,-14815,0},{6108,-14820,0},{6108,-14827,0},{6107,-14830,0},{6105,-14840,0}, {6105,-14835,0},{6102,-14838,0},{6100,-14845,0},{6098,-14843,0},{6098,-14840,0}, {6107,-14825,0},{6107,-14815,0},{6095,-14825,0},{6097,-14833,0},{6092,-14827,0}, {6083,-14832,0},{6085,-14840,0},{6083,-14833,0},{6082,-14833,0},{6082,-14840,0}, {6083,-14845,0},{6083,-14860,0},{6078,-14870,0},{6080,-14857,0},{6080,-14855,0}, {6080,-14845,0},{6075,-14863,0},{6068,-14870,0},{6067,-14867,0},{6070,-14860,0}, {6073,-14858,0},{6077,-14852,0},{6077,-14837,0},{6077,-14838,0},{6075,-14835,0}, {6073,-14840,0},{6068,-14840,0},{6067,-14845,0},{6063,-14842,0},{6067,-14835,0}, {6070,-14835,0},{6075,-14828,0},{6077,-14823,0},{6072,-14825,0},{6063,-14820,0}, {6053,-14833,0},{6055,-14835,0},{6057,-14835,0},{6057,-14842,0},{6058,-14843,0}, {6058,-14848,0},{6050,-14865,0},{6045,-14868,0},{6053,-14845,0},{6052,-14837,0}, {6050,-14838,0},{6050,-14833,0},{6048,-14835,0},{6048,-14827,0},{6045,-14827,0}, {6045,-14823,0},{6048,-14822,0},{6052,-14823,0},{6055,-14818,0},{6050,-14818,0}, {6052,-14815,0},{6058,-14813,0},{6060,-14808,0},{6057,-14803,0},{6053,-14807,0}, {6055,-14802,0},{6053,-14800,0},{6052,-14797,0},{6047,-14800,0},{6045,-14798,0}, {6047,-14793,0},{6043,-14795,0},{6043,-14800,0},{6042,-14798,0},{6040,-14805,0}, {6042,-14808,0},{6038,-14808,0},{6042,-14818,0},{6037,-14812,0},{6035,-14813,0}, {6035,-14820,0},{6037,-14822,0},{6038,-14823,0},{6035,-14827,0},{6035,-14822,0}, {6032,-14822,0},{6025,-14832,0},{6028,-14837,0},{6028,-14838,0},{6023,-14835,0}, {6018,-14843,0},{6020,-14833,0},{6025,-14822,0},{6023,-14818,0},{6022,-14827,0}, {6020,-14818,0},{6015,-14820,0},{6023,-14813,0},{6022,-14810,0},{6015,-14815,0}, {6012,-14827,0},{6013,-14830,0},{6017,-14828,0},{6017,-14832,0},{6015,-14833,0}, {6013,-14837,0},{6007,-14838,0},{6003,-14843,0},{6002,-14840,0},{5995,-14843,0}, {5995,-14847,0},{6003,-14853,0},{5998,-14853,0},{5998,-14857,0},{5995,-14855,0}, {5992,-14865,0},{5995,-14867,0},{5995,-14880,0},{5993,-14887,0},{5997,-14893,0}, {5995,-14902,0},{5998,-14902,0},{5997,-14907,0},{5998,-14912,0},{6005,-14903,0}, {6005,-14913,0},{6000,-14920,0},{5995,-14922,0},{5992,-14925,0},{5990,-14923,0}, {5987,-14927,0},{5997,-14930,0},{5998,-14933,0},{6002,-14930,0},{6002,-14935,0}, {6012,-14937,0},{6012,-14942,0},{6003,-14943,0},{6000,-14938,0},{5998,-14943,0}, {5993,-14947,0},{5993,-14953,0},{5992,-14955,0},{5982,-14963,0},{5978,-14958,0}, {5978,-14953,0},{5975,-14955,0},{5973,-14952,0},{5972,-14953,0},{5975,-14963,0}, {5977,-14960,0},{5978,-14965,0},{5980,-14963,0},{5982,-14967,0},{5985,-14965,0}, {5990,-14965,0},{5997,-14972,0},{5995,-14973,0},{5988,-14973,0},{5983,-14977,0}, {5985,-14983,0},{5985,-14987,0},{5978,-14977,0},{5965,-14975,0},{5968,-14980,0}, {5972,-14982,0},{5973,-14987,0},{5977,-14992,0},{5980,-15003,0},{5977,-15003,0}, {5973,-14997,0},{5972,-14992,0},{5970,-14993,0},{5963,-15002,0},{5967,-15005,0}, {5970,-15013,0},{5967,-15010,0},{5962,-15010,0},{5958,-15008,0},{5957,-15015,0}, {5958,-15018,0},{5953,-15018,0},{5953,-15025,0},{5950,-15025,0},{5950,-15028,0}, {5948,-15030,0},{5947,-15038,0},{5948,-15035,0},{5950,-15038,0},{5950,-15033,0}, {5955,-15035,0},{5958,-15028,0},{5960,-15030,0},{5972,-15022,0},{5957,-15040,0}, {5947,-15047,0},{5947,-15050,0},{5950,-15050,0},{5952,-15055,0},{5960,-15050,0}, {5955,-15065,0},{5948,-15057,0},{5947,-15063,0},{5943,-15060,0},{5942,-15065,0}, {5942,-15072,0},{5937,-15078,0},{5932,-15092,0},{5925,-15088,0},{5923,-15097,0}, {5920,-15095,0},{5923,-15100,0},{5927,-15100,0},{5930,-15105,0},{5928,-15107,0}, {5932,-15125,0},{5932,-15127,0},{5930,-15127,0},{5928,-15118,0},{5925,-15110,0}, {5922,-15112,0},{5922,-15130,0},{5927,-15140,0},{5923,-15152,0},{5922,-15147,0}, {5920,-15148,0},{5920,-15160,0},{5918,-15162,0},{5918,-15157,0},{5917,-15158,0}, {5917,-15172,0},{5917,-15175,0},{5922,-15175,0},{5922,-15185,0},{5922,-15190,0}, {5925,-15188,0},{5928,-15198,0},{5932,-15198,0},{5935,-15193,0},{5935,-15182,0}, {5940,-15190,0},{5945,-15177,0},{5945,-15172,0},{5948,-15168,0},{5947,-15147,0}, {5943,-15140,0},{5943,-15137,0},{5947,-15138,0},{5950,-15145,0},{5953,-15145,0}, {5957,-15135,0},{5957,-15127,0},{5960,-15125,0},{5960,-15117,0},{5965,-15120,0}, {5967,-15113,0},{5972,-15110,0},{5978,-15100,0},{5980,-15103,0},{5977,-15112,0}, {5965,-15145,0},{5963,-15147,0},{5960,-15142,0},{5963,-15148,0},{5968,-15175,0}, {5973,-15185,0},{5977,-15188,0},{6002,-15172,0},{6020,-15143,0},{6027,-15138,0}, {6037,-15138,0},{6038,-15130,0},{6053,-15127,0},{6058,-15133,0},{6072,-15142,0}, {6075,-15130,0},{6077,-15125,0},{6078,-15105,0},{6097,-15067,0},{6103,-15040,0}, {6103,-15033,0},{6098,-15030,0},{6093,-15023,0},{6090,-15005,0},{6097,-14983,0}, {6097,-14972,0},{6093,-14963,0},{6093,-14952,0},{6090,-14942,0},{6088,-14917,0}, {6085,-14903,0},{6088,-14905,0},{6095,-14917,0},{6093,-14933,0},{6095,-14938,0}, {6098,-14950,0},{6098,-14962,0},{6115,-15007,0},{6120,-15003,0},{6120,-14995,0}, {6123,-14990,0},{6132,-14983,0},{6133,-14978,0},{6133,-14973,0},{6140,-14968,0}, {6148,-14927,0},{6150,-14925,0},{6150,-14942,0},{6152,-14942,0},{6150,-14953,0}, {6147,-14970,0},{6138,-14988,0},{6127,-14993,0},{6123,-15000,0},{6125,-15017,0}, {6125,-15027,0},{6128,-15030,0},{6125,-15033,0},{6125,-15048,0},{6128,-15055,0}, {6137,-15053,0},{6137,-15057,0},{6128,-15058,0},{6128,-15063,0},{6130,-15065,0}, {6128,-15067,0},{6125,-15072,0},{6120,-15088,0},{6122,-15095,0},{6117,-15107,0}, {6105,-15117,0},{6103,-15128,0},{6102,-15135,0},{6102,-15150,0},{6093,-15167,0}, {6092,-15175,0},{6083,-15180,0},{6072,-15172,0},{6072,-15178,0},{6075,-15185,0}, {6073,-15187,0},{6072,-15192,0},{6067,-15205,0},{6060,-15210,0},{6055,-15223,0}, {6050,-15232,0},{6043,-15233,0},{6040,-15225,0},{6035,-15238,0},{6028,-15242,0}, {6028,-15250,0},{6023,-15257,0},{6022,-15262,0},{6025,-15268,0},{6023,-15275,0}, {6023,-15285,0},{6025,-15283,0},{6025,-15278,0},{6027,-15283,0},{6025,-15288,0}, {6030,-15288,0},{6030,-15292,0},{6030,-15303,0},{6028,-15310,0},{6027,-15310,0}, {6028,-15305,0},{6028,-15295,0},{6023,-15292,0},{6017,-15268,0},{6013,-15268,0}, {6008,-15258,0},{6005,-15258,0},{5997,-15268,0},{5992,-15270,0},{5988,-15283,0}, {5988,-15307,0},{5987,-15323,0},{5982,-15328,0},{5983,-15320,0},{5982,-15313,0}, {5983,-15305,0},{5983,-15300,0},{5982,-15300,0},{5980,-15300,0},{5970,-15305,0}, {5968,-15313,0},{5965,-15320,0},{5965,-15325,0},{5968,-15328,0},{5967,-15332,0}, {5963,-15332,0},{5965,-15343,0},{5967,-15338,0},{5972,-15337,0},{5972,-15332,0}, {5975,-15342,0},{5978,-15345,0},{5972,-15343,0},{5965,-15348,0},{5963,-15355,0}, {5965,-15357,0},{5968,-15360,0},{5970,-15358,0},{5968,-15363,0},{5965,-15363,0}, {5963,-15370,0},{5963,-15363,0},{5960,-15357,0},{5955,-15358,0},{5955,-15372,0}, {5953,-15378,0},{5955,-15382,0},{5955,-15387,0},{5952,-15377,0},{5947,-15372,0}, {5943,-15373,0},{5942,-15380,0},{5943,-15388,0},{5938,-15395,0},{5940,-15398,0}, {5938,-15402,0},{5938,-15415,0},{5935,-15408,0},{5937,-15398,0},{5937,-15395,0}, {5930,-15412,0},{5925,-15415,0},{5920,-15413,0},{5920,-15418,0},{5917,-15418,0}, {5917,-15423,0},{5915,-15422,0},{5915,-15427,0},{5912,-15425,0},{5912,-15417,0}, {5907,-15420,0},{5903,-15418,0},{5903,-15413,0},{5908,-15403,0},{5905,-15387,0}, {5907,-15382,0},{5907,-15377,0},{5907,-15372,0},{5900,-15358,0},{5898,-15355,0}, {5900,-15347,0},{5898,-15347,0},{5898,-15342,0},{5893,-15337,0},{5893,-15333,0}, {5890,-15333,0},{5888,-15328,0},{5887,-15337,0},{5887,-15325,0},{5883,-15328,0}, {5885,-15333,0},{5885,-15337,0},{5872,-15345,0},{5868,-15357,0},{5863,-15360,0}, {5862,-15377,0},{5862,-15390,0},{5860,-15392,0},{5858,-15388,0},{5853,-15393,0}, {5853,-15397,0},{5852,-15392,0},{5850,-15393,0},{5848,-15397,0},{5848,-15410,0}, {5840,-15407,0},{5840,-15400,0},{5838,-15400,0},{5835,-15407,0},{5835,-15420,0}, {5833,-15418,0},{5832,-15428,0},{5828,-15437,0},{5825,-15435,0},{5827,-15427,0}, {5830,-15427,0},{5830,-15422,0},{5832,-15418,0},{5828,-15412,0},{5827,-15415,0}, {5825,-15425,0},{5825,-15418,0},{5822,-15415,0},{5818,-15420,0},{5818,-15430,0}, {5813,-15422,0},{5813,-15427,0},{5813,-15430,0},{5815,-15433,0},{5813,-15435,0}, {5808,-15433,0},{5808,-15437,0},{5815,-15445,0},{5818,-15445,0},{5820,-15448,0}, {5808,-15447,0},{5812,-15458,0},{5810,-15460,0},{5808,-15455,0},{5807,-15453,0}, {5802,-15458,0},{5803,-15463,0},{5807,-15467,0},{5805,-15472,0},{5802,-15473,0}, {5800,-15478,0},{5803,-15488,0},{5802,-15503,0},{5795,-15505,0},{5795,-15512,0}, {5788,-15507,0},{5787,-15518,0},{5787,-15520,0},{5788,-15525,0},{5783,-15522,0}, {5783,-15527,0},{5783,-15533,0},{5780,-15530,0},{5780,-15535,0},{5775,-15530,0}, {5773,-15530,0},{5772,-15538,0},{5773,-15542,0},{5780,-15558,0},{5778,-15562,0}, {5773,-15563,0},{5772,-15563,0},{5768,-15558,0},{5767,-15558,0},{5763,-15572,0}, {5765,-15577,0},{5762,-15573,0},{5755,-15573,0},{5755,-15580,0},{5758,-15582,0}, {5755,-15587,0},{5755,-15590,0},{5753,-15592,0},{5757,-15602,0},{5757,-15603,0}, {5753,-15602,0},{5753,-15610,0},{5752,-15610,0},{5752,-15603,0},{5743,-15603,0}, {5743,-15612,0},{5748,-15618,0},{5743,-15623,0},{5743,-15627,0},{5740,-15635,0}, {5733,-15647,0},{5732,-15655,0},{5727,-15655,0},{5732,-15637,0},{5728,-15633,0}, {5725,-15635,0},{5722,-15645,0},{5722,-15642,0},{5718,-15635,0},{5715,-15637,0}, {5712,-15647,0},{5710,-15648,0},{5708,-15645,0},{5710,-15648,0},{5708,-15650,0}, {5705,-15650,0},{5705,-15658,0},{5707,-15663,0},{5705,-15662,0},{5705,-15665,0}, {5698,-15655,0},{5700,-15668,0},{5703,-15672,0},{5705,-15677,0},{5703,-15680,0}, {5700,-15677,0},{5697,-15678,0},{5692,-15680,0},{5690,-15683,0},{5695,-15688,0}, {5697,-15697,0},{5690,-15695,0},{5690,-15702,0},{5682,-15708,0},{5685,-15718,0}, {5682,-15715,0},{5678,-15715,0},{5677,-15720,0},{5680,-15730,0},{5685,-15737,0}, {5685,-15743,0},{5682,-15747,0},{5680,-15742,0},{5677,-15740,0},{5677,-15745,0}, {5675,-15747,0},{5677,-15750,0},{5672,-15757,0},{5672,-15760,0},{5668,-15755,0}, {5667,-15748,0},{5663,-15745,0},{5662,-15747,0},{5660,-15767,0},{5662,-15770,0}, {5667,-15775,0},{5668,-15778,0},{5665,-15785,0},{5665,-15792,0},{5662,-15795,0}, {5660,-15798,0},{5660,-15802,0},{5657,-15805,0},{5657,-15812,0},{5653,-15812,0}, {5657,-15792,0},{5655,-15785,0},{5652,-15783,0},{5647,-15788,0},{5652,-15813,0}, {5650,-15817,0},{5648,-15815,0},{5648,-15812,0},{5647,-15813,0},{5647,-15827,0}, {5648,-15833,0},{5647,-15837,0},{5645,-15842,0},{5640,-15847,0},{5637,-15852,0}, {5635,-15850,0},{5632,-15860,0},{5628,-15865,0},{5627,-15865,0},{5625,-15855,0}, {5627,-15855,0},{5630,-15857,0},{5633,-15845,0},{5630,-15843,0},{5632,-15840,0}, {5630,-15840,0},{5632,-15833,0},{5630,-15830,0},{5630,-15823,0},{5628,-15820,0}, {5627,-15822,0},{5623,-15835,0},{5623,-15840,0},{5620,-15842,0},{5622,-15837,0}, {5620,-15832,0},{5617,-15833,0},{5623,-15818,0},{5623,-15812,0},{5622,-15817,0}, {5618,-15820,0},{5618,-15827,0},{5617,-15827,0},{5615,-15835,0},{5612,-15835,0}, {5613,-15838,0},{5617,-15838,0},{5617,-15842,0},{5613,-15842,0},{5613,-15843,0}, {5608,-15840,0},{5607,-15842,0},{5610,-15845,0},{5610,-15850,0},{5607,-15847,0}, {5605,-15848,0},{5603,-15847,0},{5605,-15847,0},{5603,-15842,0},{5600,-15843,0}, {5603,-15850,0},{5603,-15852,0},{5598,-15850,0},{5602,-15857,0},{5605,-15852,0}, {5603,-15858,0},{5605,-15860,0},{5607,-15857,0},{5610,-15860,0},{5612,-15855,0}, {5613,-15855,0},{5615,-15852,0},{5617,-15850,0},{5617,-15847,0},{5620,-15850,0}, {5618,-15863,0},{5617,-15857,0},{5612,-15865,0},{5612,-15867,0},{5615,-15867,0}, {5615,-15870,0},{5610,-15870,0},{5610,-15867,0},{5607,-15867,0},{5603,-15873,0}, {5602,-15865,0},{5598,-15865,0},{5598,-15868,0},{5597,-15867,0},{5595,-15868,0}, {5595,-15875,0},{5597,-15873,0},{5600,-15873,0},{5602,-15877,0},{5598,-15880,0}, {5602,-15883,0},{5600,-15887,0},{5592,-15893,0},{5593,-15897,0},{5592,-15902,0}, {5588,-15902,0},{5592,-15908,0},{5590,-15917,0},{5588,-15918,0},{5588,-15925,0}, {5585,-15932,0},{5588,-15935,0},{5585,-15940,0},{5580,-15942,0},{5578,-15943,0}, {5583,-15948,0},{5590,-15947,0},{5588,-15955,0},{5587,-15955,0},{5585,-15953,0}, {5577,-15950,0},{5572,-15955,0},{5565,-15955,0},{5562,-15962,0},{5557,-15962,0}, {5557,-15973,0},{5560,-15970,0},{5560,-15975,0},{5562,-15968,0},{5560,-15965,0}, {5563,-15962,0},{5567,-15970,0},{5570,-15963,0},{5573,-15968,0},{5582,-15962,0}, {5585,-15973,0},{5585,-15985,0},{5578,-15985,0},{5578,-15987,0},{5578,-15992,0}, {5582,-15997,0},{5578,-15997,0},{5578,-16003,0},{5577,-16005,0},{5572,-16002,0}, {5572,-16010,0},{5570,-16007,0},{5570,-16012,0},{5573,-16015,0},{5567,-16013,0}, {5567,-16015,0},{5565,-16025,0},{5563,-16028,0},{5565,-16043,0},{5563,-16043,0}, {5560,-16037,0},{5557,-16045,0},{5550,-16047,0},{5548,-16052,0},{5548,-16055,0}, {5555,-16058,0},{5560,-16060,0},{5555,-16067,0},{5553,-16077,0},{5552,-16075,0}, {5552,-16067,0},{5545,-16068,0},{5545,-16078,0},{5545,-16082,0},{5547,-16085,0}, {5552,-16083,0},{5552,-16088,0},{5550,-16095,0},{5547,-16098,0},{5543,-16103,0}, {5535,-16125,0},{5535,-16132,0},{5538,-16135,0},{5537,-16150,0},{5548,-16148,0}, {5558,-16137,0},{5553,-16128,0},{5553,-16113,0},{5555,-16125,0},{5558,-16130,0}, {5563,-16142,0},{5562,-16157,0},{5560,-16162,0},{5558,-16162,0},{5552,-16172,0}, {5548,-16168,0},{5543,-16172,0},{5540,-16170,0},{5527,-16187,0},{5522,-16190,0}, {5522,-16195,0},{5522,-16192,0},{5523,-16193,0},{5523,-16205,0},{5518,-16202,0}, {5517,-16203,0},{5515,-16198,0},{5512,-16195,0},{5510,-16197,0},{5507,-16207,0}, {5510,-16213,0},{5517,-16210,0},{5515,-16217,0},{5510,-16222,0},{5505,-16220,0}, {5502,-16227,0},{5507,-16232,0},{5503,-16235,0},{5503,-16245,0},{5510,-16253,0}, {5512,-16248,0},{5508,-16242,0},{5510,-16237,0},{5517,-16248,0},{5525,-16253,0}, {5527,-16260,0},{5528,-16255,0},{5530,-16257,0},{5530,-16262,0},{5528,-16268,0}, {5522,-16272,0},{5517,-16260,0},{5513,-16260,0},{5513,-16263,0},{5507,-16265,0}, {5508,-16262,0},{5507,-16262,0},{5495,-16257,0},{5500,-16265,0},{5502,-16262,0}, {5505,-16265,0},{5493,-16275,0},{5493,-16287,0},{5495,-16290,0},{5495,-16292,0}, {5500,-16298,0},{5500,-16292,0},{5502,-16292,0},{5503,-16297,0},{5508,-16302,0}, {5510,-16310,0},{5510,-16317,0},{5512,-16312,0},{5513,-16317,0},{5512,-16320,0}, {5508,-16318,0},{5510,-16323,0},{5507,-16323,0},{5507,-16320,0},{5503,-16322,0}, {5502,-16320,0},{5497,-16307,0},{5495,-16305,0},{5490,-16313,0},{5483,-16323,0}, {5483,-16328,0},{5480,-16333,0},{5482,-16337,0},{5485,-16338,0},{5488,-16333,0}, {5490,-16332,0},{5492,-16327,0},{5492,-16330,0},{5492,-16335,0},{5495,-16333,0}, {5495,-16325,0},{5495,-16323,0},{5500,-16328,0},{5512,-16332,0},{5518,-16312,0}, {5525,-16302,0},{5523,-16300,0},{5520,-16305,0},{5517,-16307,0},{5518,-16288,0}, {5523,-16283,0},{5525,-16287,0},{5523,-16288,0},{5527,-16288,0},{5527,-16283,0}, {5530,-16278,0},{5532,-16272,0},{5538,-16263,0},{5535,-16263,0},{5535,-16255,0}, {5537,-16248,0},{5545,-16250,0},{5543,-16260,0},{5540,-16262,0},{5543,-16260,0}, {5547,-16253,0},{5568,-16225,0},{5572,-16213,0},{5577,-16208,0},{5580,-16197,0}, {5588,-16180,0},{5590,-16168,0},{5602,-16115,0},{5595,-16137,0},{5595,-16123,0}, {5595,-16112,0},{5593,-16107,0},{5595,-16102,0},{5600,-16088,0},{5597,-16087,0}, {5595,-16087,0},{5593,-16087,0},{5593,-16093,0},{5593,-16098,0},{5590,-16102,0}, {5587,-16100,0},{5588,-16093,0},{5582,-16095,0},{5572,-16080,0},{5575,-16078,0}, {5573,-16072,0},{5570,-16068,0},{5573,-16067,0},{5578,-16075,0},{5588,-16080,0}, {5585,-16067,0},{5587,-16050,0},{5583,-16047,0},{5580,-16047,0},{5582,-16042,0}, {5578,-16037,0},{5577,-16025,0},{5582,-16032,0},{5583,-16023,0},{5585,-16023,0}, {5590,-16045,0},{5593,-16052,0},{5593,-16057,0},{5598,-16053,0},{5598,-16055,0}, {5598,-16057,0},{5600,-16057,0},{5610,-16047,0},{5617,-16045,0},{5628,-16035,0}, {5633,-16025,0},{5640,-16015,0},{5647,-15997,0},{5653,-15983,0},{5665,-15948,0}, {5660,-15955,0},{5663,-15942,0},{5668,-15930,0},{5668,-15922,0},{5670,-15927,0}, {5673,-15923,0},{5680,-15903,0},{5690,-15887,0},{5682,-15902,0},{5680,-15903,0}, {5678,-15898,0},{5680,-15898,0},{5683,-15895,0},{5678,-15887,0},{5678,-15877,0}, {5678,-15868,0},{5677,-15863,0},{5683,-15865,0},{5688,-15870,0},{5700,-15868,0}, {5708,-15862,0},{5732,-15828,0},{5737,-15817,0},{5737,-15805,0},{5738,-15810,0}, {5748,-15795,0},{5757,-15773,0},{5757,-15768,0},{5755,-15770,0},{5752,-15765,0}, {5747,-15765,0},{5748,-15763,0},{5748,-15752,0},{5747,-15752,0},{5747,-15748,0}, {5750,-15740,0},{5753,-15742,0},{5757,-15740,0},{5755,-15745,0},{5750,-15742,0}, {5750,-15752,0},{5748,-15757,0},{5750,-15760,0},{5762,-15760,0},{5763,-15763,0}, {5762,-15763,0},{5762,-15770,0},{5765,-15770,0},{5773,-15772,0},{5787,-15763,0}, {5808,-15762,0},{5817,-15753,0},{5817,-15742,0},{5820,-15740,0},{5820,-15720,0}, {5817,-15713,0},{5820,-15717,0},{5822,-15730,0},{5823,-15733,0},{5822,-15747,0}, {5827,-15753,0},{5828,-15753,0},{5830,-15757,0},{5838,-15755,0},{5850,-15747,0}, {5855,-15735,0},{5863,-15722,0},{5870,-15710,0},{5872,-15702,0},{5873,-15693,0}, {5872,-15705,0},{5873,-15707,0},{5877,-15707,0},{5883,-15700,0},{5887,-15703,0}, {5890,-15698,0},{5893,-15698,0},{5900,-15685,0},{5908,-15685,0},{5915,-15678,0}, {5910,-15687,0},{5902,-15688,0},{5898,-15692,0},{5897,-15703,0},{5890,-15705,0}, {5887,-15712,0},{5883,-15735,0},{5863,-15805,0},{5860,-15818,0},{5865,-15832,0}, {5872,-15835,0},{5875,-15838,0},{5880,-15857,0},{5883,-15857,0},{5885,-15852,0}, {5887,-15852,0},{5895,-15850,0},{5897,-15842,0},{5900,-15845,0},{5898,-15847,0}, {5900,-15850,0},{5903,-15837,0},{5900,-15813,0},{5895,-15807,0},{5892,-15808,0}, {5887,-15803,0},{5890,-15800,0},{5892,-15805,0},{5895,-15803,0},{5903,-15813,0}, {5908,-15842,0},{5917,-15853,0},{5913,-15855,0},{5907,-15845,0},{5903,-15853,0}, {5892,-15862,0},{5887,-15873,0},{5888,-15875,0},{5893,-15873,0},{5893,-15877,0}, {5897,-15878,0},{5897,-15873,0},{5900,-15875,0},{5897,-15882,0},{5892,-15877,0}, {5882,-15880,0},{5877,-15878,0},{5873,-15885,0},{5873,-15888,0},{5877,-15888,0}, {5878,-15882,0},{5880,-15882,0},{5880,-15888,0},{5878,-15885,0},{5877,-15892,0}, {5872,-15890,0},{5857,-15880,0},{5857,-15878,0},{5850,-15877,0},{5850,-15870,0}, {5843,-15877,0},{5842,-15882,0},{5842,-15880,0},{5840,-15888,0},{5843,-15907,0}, {5845,-15903,0},{5845,-15908,0},{5848,-15908,0},{5848,-15912,0},{5872,-15935,0}, {5880,-15945,0},{5885,-15955,0},{5883,-15965,0},{5890,-15960,0},{5895,-15963,0}, {5893,-15977,0},{5892,-15975,0},{5888,-15978,0},{5885,-15977,0},{5885,-15982,0}, {5880,-15982,0},{5877,-15992,0},{5888,-16002,0},{5888,-16008,0},{5887,-16010,0}, {5887,-16015,0},{5888,-16015,0},{5892,-16017,0},{5890,-16025,0},{5892,-16025,0}, {5895,-16027,0},{5893,-16028,0},{5895,-16032,0},{5898,-16030,0},{5898,-16025,0}, {5907,-16033,0},{5905,-16040,0},{5892,-16073,0},{5882,-16083,0},{5887,-16083,0}, {5888,-16088,0},{5887,-16097,0},{5880,-16118,0},{5880,-16127,0},{5882,-16127,0}, {5882,-16130,0},{5880,-16132,0},{5878,-16128,0},{5878,-16122,0},{5877,-16128,0}, {5872,-16137,0},{5867,-16138,0},{5868,-16132,0},{5863,-16153,0},{5860,-16158,0}, {5860,-16162,0},{5857,-16170,0},{5855,-16177,0},{5860,-16172,0},{5862,-16172,0}, {5865,-16175,0},{5862,-16177,0},{5858,-16175,0},{5862,-16178,0},{5863,-16182,0}, {5863,-16210,0},{5865,-16217,0},{5867,-16207,0},{5868,-16205,0},{5868,-16200,0}, {5867,-16195,0},{5865,-16193,0},{5865,-16188,0},{5868,-16183,0},{5872,-16185,0}, {5875,-16180,0},{5877,-16170,0},{5880,-16165,0},{5882,-16170,0},{5880,-16175,0}, {5878,-16177,0},{5880,-16177,0},{5887,-16180,0},{5897,-16178,0},{5903,-16185,0}, {5905,-16182,0},{5902,-16182,0},{5903,-16172,0},{5910,-16157,0},{5912,-16162,128}, {5913,-16162,0},{5912,-16170,0},{5910,-16188,0},{5908,-16188,0},{5907,-16185,0}, {5907,-16188,0},{5910,-16195,0},{5915,-16200,0},{5927,-16205,0},{5930,-16200,0}, {5927,-16205,0},{5923,-16202,0},{5925,-16198,0},{5928,-16197,0},{5938,-16195,0}, {5938,-16190,0},{5942,-16187,0},{5942,-16185,0},{5947,-16180,0},{5947,-16173,0}, {5950,-16170,0},{5962,-16187,0},{5970,-16188,0},{5982,-16200,0},{5988,-16208,0}, {5995,-16210,0},{6000,-16218,0},{6007,-16223,0},{6015,-16220,0},{6020,-16225,0}, {6020,-16217,0},{6025,-16215,0},{6023,-16220,0},{6022,-16218,0},{6022,-16222,0}, {6022,-16227,0},{6023,-16228,0},{6022,-16230,0},{6020,-16228,0},{6018,-16230,0}, {6017,-16227,0},{6013,-16232,0},{6018,-16237,0},{6022,-16233,0},{6030,-16247,0}, {6033,-16238,0},{6047,-16230,0},{6052,-16222,0},{6058,-16222,0},{6063,-16208,0}, {6065,-16197,0},{6065,-16193,0},{6068,-16197,0},{6070,-16188,0},{6070,-16195,0}, {6065,-16208,0},{6070,-16210,0},{6073,-16217,0},{6073,-16218,0},{6072,-16217,0}, {6068,-16212,0},{6065,-16212,0},{6062,-16227,0},{6053,-16230,0},{6047,-16237,0}, {6043,-16238,0},{6043,-16243,0},{6038,-16242,0},{6037,-16245,0},{6038,-16245,0}, {6038,-16250,0},{6035,-16250,0},{6033,-16260,0},{6032,-16257,0},{6030,-16260,0}, {6028,-16255,0},{6025,-16255,0},{6027,-16270,0},{6022,-16250,0},{6018,-16245,0}, {6012,-16250,0},{6005,-16247,0},{6000,-16252,0},{5998,-16262,0},{6000,-16275,0}, {5997,-16273,0},{5995,-16278,0},{5985,-16313,0},{5982,-16337,0},{5980,-16367,0}, {5982,-16400,0},{5985,-16415,0},{5995,-16422,0},{5997,-16420,0},{5997,-16410,0}, {5998,-16410,0},{5998,-16413,0},{6000,-16412,0},{6000,-16415,0},{6008,-16442,0}, {6015,-16448,0},{6018,-16448,0},{6027,-16467,0},{6028,-16465,0},{6030,-16468,0}, {6033,-16465,0},{6028,-16475,0},{6033,-16495,0},{6037,-16503,0},{6043,-16515,0}, {6047,-16503,0},{6050,-16500,0},{6052,-16497,0},{6055,-16498,0},{6055,-16507,0}, {6050,-16520,0},{6052,-16538,0},{6055,-16543,0},{6058,-16538,0},{6058,-16528,0}, {6062,-16525,0},{6063,-16518,0},{6065,-16515,0},{6072,-16498,0},{6078,-16503,0}, {6083,-16488,0},{6087,-16488,0},{6090,-16495,0},{6092,-16495,0},{6093,-16493,0}, {6087,-16483,0},{6090,-16473,0},{6092,-16465,0},{6090,-16463,0},{6085,-16470,0}, {6082,-16465,0},{6082,-16447,0},{6080,-16442,0},{6078,-16427,0},{6073,-16427,0}, {6073,-16422,0},{6068,-16422,0},{6065,-16432,0},{6062,-16433,0},{6062,-16438,0}, {6057,-16443,0},{6055,-16443,0},{6057,-16438,0},{6065,-16427,0},{6067,-16413,0}, {6072,-16410,0},{6077,-16403,0},{6078,-16395,0},{6077,-16387,0},{6075,-16380,0}, {6068,-16383,0},{6067,-16380,0},{6063,-16383,0},{6058,-16380,0},{6058,-16367,0}, {6063,-16353,0},{6068,-16343,0},{6072,-16343,0},{6075,-16347,0},{6075,-16342,0}, {6077,-16342,0},{6080,-16353,0},{6085,-16373,0},{6085,-16393,0},{6088,-16378,0}, {6087,-16373,0},{6087,-16367,0},{6088,-16355,0},{6090,-16355,0},{6093,-16375,0}, {6095,-16375,0},{6097,-16368,0},{6100,-16368,0},{6098,-16375,0},{6097,-16380,0}, {6095,-16380,0},{6092,-16388,0},{6085,-16395,0},{6087,-16418,0},{6085,-16428,0}, {6087,-16440,0},{6085,-16457,0},{6087,-16460,0},{6090,-16458,0},{6092,-16462,0}, {6093,-16472,0},{6092,-16475,0},{6090,-16480,0},{6092,-16483,0},{6095,-16485,0}, {6095,-16490,0},{6095,-16497,0},{6090,-16507,0},{6093,-16515,0},{6097,-16520,0}, {6100,-16515,0},{6102,-16497,0},{6102,-16495,0},{6108,-16493,0},{6107,-16487,0}, {6108,-16485,0},{6112,-16477,0},{6112,-16500,0},{6107,-16500,0},{6105,-16503,0}, {6108,-16512,0},{6110,-16512,0},{6112,-16517,0},{6113,-16518,0},{6115,-16512,0}, {6118,-16512,0},{6122,-16507,0},{6125,-16513,0},{6123,-16512,0},{6122,-16508,0}, {6120,-16515,0},{6115,-16515,0},{6115,-16525,0},{6120,-16537,0},{6125,-16530,0}, {6127,-16520,0},{6132,-16520,0},{6133,-16525,0},{6137,-16515,0},{6140,-16518,0}, {6142,-16515,0},{6142,-16505,0},{6145,-16502,128},{6148,-16498,0},{6150,-16485,0}, {6152,-16483,0},{6155,-16475,0},{6158,-16475,0},{6160,-16470,0},{6163,-16472,0}, {6162,-16477,0},{6160,-16475,0},{6158,-16480,0},{6152,-16488,0},{6150,-16502,0}, {6147,-16502,0},{6147,-16508,0},{6143,-16508,0},{6143,-16517,0},{6140,-16520,0}, {6137,-16520,0},{6133,-16528,0},{6132,-16527,0},{6132,-16522,0},{6128,-16523,0}, {6127,-16522,0},{6127,-16530,0},{6120,-16540,0},{6115,-16533,0},{6113,-16537,0}, {6108,-16535,0},{6107,-16538,0},{6108,-16552,0},{6112,-16560,0},{6123,-16565,0}, {6125,-16560,0},{6127,-16563,0},{6128,-16562,0},{6130,-16573,0},{6130,-16583,0}, {6133,-16587,0},{6140,-16592,0},{6143,-16588,0},{6145,-16578,0},{6148,-16577,0}, {6153,-16582,0},{6155,-16590,0},{6153,-16608,0},{6152,-16608,0},{6150,-16605,0}, {6148,-16610,0},{6153,-16615,0},{6158,-16620,0},{6172,-16615,0},{6163,-16613,0}, {6168,-16577,0},{6168,-16585,0},{6173,-16600,0},{6182,-16610,0},{6183,-16598,0}, {6182,-16593,0},{6183,-16582,0},{6182,-16580,0},{6185,-16575,0},{6185,-16558,0}, {6192,-16570,0},{6200,-16575,0},{6212,-16570,0},{6218,-16557,0},{6235,-16537,0}, {6237,-16533,0},{6243,-16527,0},{6252,-16513,0},{6253,-16503,0},{6253,-16487,0}, {6252,-16487,0},{6247,-16485,0},{6247,-16475,0},{6243,-16468,0},{6243,-16460,0}, {6243,-16465,0},{6237,-16475,0},{6238,-16470,0},{6242,-16463,0},{6243,-16457,0}, {6245,-16458,0},{6247,-16468,0},{6252,-16463,0},{6250,-16467,0},{6248,-16470,0}, {6250,-16475,0},{6248,-16483,0},{6253,-16478,0},{6257,-16485,0},{6263,-16465,0}, {6275,-16448,0},{6275,-16452,0},{6263,-16473,0},{6262,-16480,0},{6275,-16487,0}, {6278,-16487,0},{6280,-16477,0},{6282,-16485,0},{6283,-16488,0},{6293,-16482,0}, {6302,-16468,0},{6303,-16457,0},{6302,-16450,0},{6302,-16447,0},{6303,-16445,0}, {6302,-16438,0},{6300,-16432,0},{6305,-16433,0},{6307,-16437,0},{6308,-16452,0}, {6313,-16458,0},{6322,-16442,0},{6327,-16415,0},{6325,-16398,0},{6322,-16383,0}, {6322,-16372,0},{6315,-16363,0},{6312,-16367,0},{6312,-16362,0},{6313,-16358,0}, {6312,-16353,0},{6310,-16362,0},{6305,-16367,0},{6302,-16380,0},{6298,-16380,0}, {6302,-16375,0},{6305,-16362,0},{6310,-16353,0},{6310,-16343,0},{6302,-16333,0}, {6303,-16330,0},{6307,-16307,0},{6315,-16285,0},{6320,-16282,0},{6323,-16268,0}, {6333,-16250,0},{6342,-16242,0},{6348,-16227,0},{6353,-16232,0},{6352,-16208,0}, {6348,-16202,0},{6343,-16217,0},{6343,-16215,0},{6345,-16203,0},{6343,-16198,0}, {6345,-16197,0},{6345,-16182,0},{6347,-16167,0},{6345,-16157,0},{6347,-16148,0}, {6345,-16145,0},{6348,-16127,0},{6352,-16115,0},{6362,-16102,0},{6363,-16097,0}, {6373,-16080,0},{6378,-16077,0},{6387,-16078,0},{6407,-16093,0},{6422,-16095,0}, {6437,-16120,0},{6438,-16118,0},{6440,-16125,0},{6442,-16118,0},{6442,-16135,0}, {6443,-16142,0},{6442,-16150,0},{6438,-16153,0},{6442,-16153,0},{6445,-16147,0}, {6450,-16147,0},{6453,-16140,0},{6450,-16112,0},{6452,-16102,0},{6452,-16100,0}, {6453,-16103,0},{6453,-16108,0},{6455,-16108,0},{6455,-16097,0},{6462,-16082,0}, {6472,-16078,0},{6482,-16088,0},{6487,-16105,0},{6492,-16115,0},{6492,-16107,0}, {6492,-16103,0},{6493,-16098,0},{6493,-16105,0},{6492,-16108,0},{6493,-16120,0}, {6490,-16122,0},{6487,-16132,0},{6478,-16137,0},{6475,-16155,0},{6477,-16157,0}, {6478,-16167,0},{6482,-16172,0},{6482,-16180,0},{6478,-16172,0},{6477,-16183,0}, {6473,-16193,0},{6472,-16193,0},{6475,-16180,0},{6472,-16188,0},{6470,-16202,0}, {6472,-16212,0},{6470,-16207,0},{6468,-16218,0},{6462,-16225,0},{6452,-16258,0}, {6448,-16262,0},{6438,-16263,0},{6437,-16272,0},{6433,-16278,0},{6442,-16282,0}, {6445,-16287,0},{6448,-16287,0},{6450,-16283,0},{6455,-16295,0},{6455,-16305,0}, {6458,-16303,0},{6462,-16313,0},{6465,-16315,0},{6465,-16322,0},{6460,-16338,0}, {6455,-16328,0},{6455,-16320,0},{6452,-16315,0},{6452,-16303,0},{6448,-16305,0}, {6447,-16312,0},{6442,-16313,0},{6440,-16318,0},{6448,-16328,0},{6450,-16335,0}, {6455,-16348,0},{6458,-16382,0},{6457,-16400,0},{6458,-16423,0},{6457,-16438,0}, {6458,-16427,0},{6458,-16435,0},{6448,-16473,0},{6452,-16467,0},{6452,-16482,0}, {6448,-16488,0},{6453,-16493,0},{6452,-16493,0},{6450,-16497,0},{6447,-16490,0}, {6445,-16492,0},{6447,-16477,0},{6445,-16487,0},{6445,-16502,0},{6452,-16548,0}, {6457,-16612,0},{6463,-16635,0},{6470,-16645,0},{6473,-16648,0},{6478,-16648,0}, {6482,-16645,0},{6482,-16638,0},{6483,-16638,0},{6483,-16642,0},{6488,-16638,0}, {6492,-16642,0},{6495,-16652,0},{6493,-16652,0},{6490,-16643,0},{6495,-16653,0}, {6500,-16670,0},{6505,-16672,0},{6508,-16683,0},{6513,-16692,0},{6518,-16697,0}, {6523,-16695,0},{6528,-16688,0},{6527,-16685,0},{6520,-16693,0},{6515,-16692,0}, {6512,-16675,0},{6513,-16655,0},{6518,-16647,0},{6523,-16648,0},{6527,-16637,0}, {6523,-16612,0},{6523,-16605,0},{6525,-16607,0},{6530,-16620,0},{6532,-16632,0}, {6530,-16637,0},{6530,-16638,0},{6537,-16663,0},{6538,-16693,0},{6535,-16683,0}, {6533,-16665,0},{6535,-16683,0},{6538,-16707,0},{6542,-16745,0},{6545,-16760,0}, {6552,-16770,0},{6557,-16792,0},{6558,-16807,0},{6565,-16813,0},{6570,-16808,0}, {6575,-16790,0},{6577,-16785,0},{6573,-16787,0},{6568,-16803,0},{6565,-16807,0}, {6563,-16803,0},{6568,-16785,0},{6572,-16782,0},{6572,-16760,0},{6573,-16752,0}, {6577,-16750,0},{6577,-16755,0},{6580,-16757,0},{6580,-16745,0},{6583,-16752,0}, {6590,-16728,0},{6585,-16718,0},{6588,-16705,0},{6593,-16687,0},{6597,-16697,0}, {6602,-16683,0},{6598,-16687,0},{6598,-16680,0},{6600,-16682,0},{6607,-16670,0}, {6618,-16627,0},{6617,-16613,0},{6615,-16608,0},{6613,-16615,0},{6612,-16608,0}, {6612,-16588,0},{6610,-16580,0},{6610,-16572,0},{6615,-16555,0},{6615,-16550,0}, {6617,-16552,0},{6622,-16572,0},{6622,-16588,0},{6625,-16587,0},{6632,-16577,0}, {6640,-16545,0},{6645,-16517,0},{6643,-16508,0},{6640,-16503,0},{6647,-16495,0}, {6652,-16473,0},{6655,-16472,0},{6660,-16428,0},{6660,-16393,0},{6660,-16375,0}, {6657,-16362,0},{6658,-16385,0},{6657,-16393,0},{6657,-16378,0},{6652,-16375,0}, {6648,-16377,0},{6643,-16385,0},{6640,-16390,0},{6628,-16385,0},{6623,-16395,0}, {6622,-16408,0},{6620,-16410,0},{6620,-16418,0},{6618,-16418,0},{6620,-16398,0}, {6618,-16398,0},{6618,-16395,0},{6622,-16393,0},{6618,-16390,0},{6612,-16383,0}, {6607,-16365,0},{6608,-16350,0},{6608,-16337,0},{6607,-16325,0},{6607,-16310,0}, {6610,-16295,0},{6610,-16275,0},{6607,-16268,0},{6600,-16267,0},{6603,-16265,0}, {6607,-16248,0},{6603,-16237,0},{6608,-16217,0},{6607,-16203,0},{6603,-16192,0}, {6602,-16197,0},{6602,-16190,0},{6598,-16192,0},{6598,-16180,0},{6598,-16178,0}, {6600,-16183,0},{6602,-16183,0},{6605,-16178,0},{6607,-16173,0},{6608,-16173,0}, {6608,-16178,0},{6615,-16167,0},{6625,-16157,0},{6627,-16148,0},{6627,-16135,0}, {6625,-16137,0},{6623,-16133,0},{6622,-16127,0},{6623,-16108,0},{6613,-16110,0}, {6613,-16118,0},{6612,-16115,0},{6613,-16105,0},{6620,-16100,0},{6625,-16100,0}, {6633,-16113,0},{6640,-16155,0},{6640,-16173,0},{6638,-16180,0},{6637,-16192,0}, {6632,-16192,0},{6632,-16188,0},{6628,-16185,0},{6627,-16192,0},{6633,-16197,0}, {6643,-16187,0},{6650,-16187,0},{6653,-16190,0},{6662,-16208,0},{6672,-16222,0}, {6673,-16250,0},{6680,-16253,0},{6687,-16263,0},{6690,-16263,0},{6692,-16252,0}, {6695,-16248,0},{6692,-16242,0},{6695,-16233,0},{6695,-16232,0},{6682,-16213,0}, {6678,-16202,0},{6670,-16207,0},{6665,-16208,0},{6653,-16188,0},{6645,-16160,0}, {6648,-16135,0},{6653,-16120,0},{6650,-16115,0},{6648,-16108,0},{6643,-16098,0}, {6637,-16078,0},{6637,-16055,0},{6638,-16050,0},{6640,-16023,0},{6652,-16022,0}, {6660,-16032,0},{6663,-16032,0},{6665,-16025,0},{6665,-16035,0},{6662,-16037,0}, {6663,-16048,0},{6658,-16055,0},{6660,-16070,0},{6665,-16078,0},{6667,-16085,0}, {6665,-16117,0},{6655,-16127,0},{6653,-16150,0},{6657,-16157,0},{6658,-16155,0}, {6662,-16170,0},{6673,-16190,0},{6677,-16187,0},{6680,-16188,0},{6683,-16180,0}, {6690,-16180,0},{6692,-16172,0},{6695,-16173,0},{6697,-16165,0},{6695,-16150,0}, {6698,-16150,0},{6702,-16168,0},{6700,-16172,0},{6705,-16185,0},{6703,-16210,0}, {6700,-16223,0},{6705,-16225,0},{6707,-16230,0},{6700,-16230,0},{6698,-16245,0}, {6702,-16247,0},{6715,-16233,0},{6717,-16235,0},{6715,-16243,0},{6713,-16237,0}, {6702,-16255,0},{6702,-16265,0},{6705,-16275,0},{6703,-16283,0},{6705,-16295,0}, {6703,-16295,0},{6700,-16285,0},{6700,-16288,0},{6705,-16315,0},{6712,-16373,0}, {6713,-16377,0},{6737,-16383,0},{6752,-16398,0},{6762,-16412,0},{6772,-16448,0}, {6775,-16450,0},{6777,-16460,0},{6783,-16470,0},{6783,-16477,0},{6780,-16472,0}, {6803,-16537,0},{6808,-16558,0},{6810,-16582,0},{6813,-16592,0},{6822,-16607,0}, {6830,-16628,0},{6832,-16643,0},{6835,-16683,0},{6842,-16645,0},{6837,-16675,0}, {6835,-16662,0},{6837,-16653,0},{6840,-16645,0},{6838,-16638,0},{6842,-16642,0}, {6840,-16632,0},{6843,-16637,0},{6847,-16632,0},{6852,-16630,0},{6857,-16623,0}, {6875,-16618,0},{6887,-16623,0},{6888,-16622,0},{6885,-16573,0},{6888,-16508,0}, {6892,-16463,0},{6893,-16432,0},{6900,-16393,0},{6908,-16370,0},{6913,-16358,0}, {6932,-16327,0},{6942,-16318,0},{6942,-16315,0},{6930,-16327,0},{6935,-16315,0}, {6938,-16312,0},{6948,-16312,0},{6952,-16307,0},{6957,-16307,0},{6960,-16315,0}, {6962,-16303,0},{6965,-16307,0},{6965,-16303,0},{6967,-16307,0},{6968,-16305,0}, {6967,-16298,0},{6968,-16295,0},{6970,-16293,0},{6972,-16295,0},{6973,-16303,0}, {6978,-16295,0},{6997,-16252,0},{7005,-16248,0},{7005,-16237,0},{7010,-16235,0}, {7015,-16222,0},{7030,-16198,0},{7032,-16188,0},{7030,-16183,0},{7028,-16183,0}, {7027,-16172,0},{7025,-16170,0},{7025,-16190,0},{7025,-16188,0},{7023,-16175,0}, {7022,-16185,0},{7018,-16185,0},{7017,-16190,0},{7020,-16200,0},{7018,-16205,0}, {7015,-16212,0},{7017,-16185,0},{7018,-16180,0},{7020,-16173,0},{7020,-16170,0}, {7022,-16173,0},{7025,-16162,0},{7025,-16130,0},{7032,-16103,0},{7030,-16103,0}, {7028,-16095,0},{7032,-16098,0},{7038,-16075,0},{7043,-16060,0},{7038,-16082,0}, {7048,-16047,0},{7060,-16015,0},{7058,-16017,0},{7057,-16012,0},{7060,-15993,0}, {7055,-15995,0},{7053,-15992,0},{7052,-15995,0},{7052,-16003,0},{7048,-16007,0}, {7047,-16020,0},{7048,-15992,0},{7032,-16013,0},{7037,-15997,0},{7033,-15992,0}, {7032,-15992,0},{7020,-15977,0},{7038,-15988,0},{7050,-15982,0},{7047,-15970,0}, {7052,-15950,0},{7050,-15942,0},{7053,-15928,0},{7052,-15943,0},{7052,-15957,0}, {7050,-15972,0},{7053,-15980,0},{7063,-15993,0},{7063,-16003,0},{7060,-16012,0}, {7063,-16010,0},{7070,-15992,0},{7070,-15982,0},{7072,-15985,0},{7080,-15967,0}, {7088,-15918,0},{7085,-15937,0},{7083,-15915,0},{7082,-15915,0},{7080,-15932,0}, {7078,-15945,0},{7075,-15937,0},{7077,-15930,0},{7073,-15932,0},{7068,-15922,0}, {7075,-15928,0},{7077,-15925,0},{7075,-15915,0},{7077,-15900,0},{7078,-15900,0}, {7082,-15908,0},{7078,-15870,0},{7082,-15838,0},{7082,-15833,0},{7083,-15850,0}, {7085,-15850,0},{7082,-15823,0},{7083,-15805,0},{7085,-15787,0},{7095,-15752,0}, {7105,-15727,0},{7130,-15682,0},{7140,-15647,0},{7137,-15638,0},{7140,-15647,0}, {7137,-15652,0},{7135,-15660,0},{7130,-15653,0},{7128,-15643,0},{7127,-15645,0}, {7127,-15623,0},{7125,-15612,0},{7122,-15610,0},{7122,-15605,0},{7117,-15612,0}, {7118,-15600,0},{7122,-15595,0},{7120,-15592,0},{7118,-15565,0},{7117,-15560,0}, {7112,-15555,0},{7108,-15555,0},{7103,-15572,0},{7100,-15573,0},{7097,-15588,0}, {7097,-15610,0},{7095,-15602,0},{7093,-15602,0},{7092,-15618,0},{7092,-15605,0}, {7090,-15608,0},{7090,-15607,0},{7090,-15598,0},{7085,-15593,0},{7082,-15598,0}, {7075,-15597,0},{7077,-15590,0},{7082,-15592,0},{7083,-15590,0},{7083,-15572,0}, {7083,-15565,0},{7087,-15565,0},{7083,-15558,0},{7087,-15553,0},{7093,-15553,0}, {7100,-15538,0},{7103,-15528,0},{7100,-15525,0},{7098,-15520,0},{7103,-15518,0}, {7108,-15528,0},{7112,-15517,0},{7108,-15510,0},{7113,-15512,0},{7115,-15508,0}, {7113,-15503,0},{7105,-15503,0},{7102,-15508,0},{7102,-15502,0},{7112,-15502,0}, {7112,-15497,0},{7108,-15490,0},{7110,-15482,0},{7102,-15460,0},{7092,-15465,0}, {7088,-15480,0},{7088,-15468,0},{7088,-15467,0},{7083,-15462,0},{7082,-15432,0}, {7080,-15425,0},{7078,-15425,0},{7078,-15420,0},{7083,-15403,0},{7088,-15392,0}, {7090,-15338,0},{7093,-15320,0},{7090,-15308,0},{7092,-15303,0},{7090,-15295,0}, {7087,-15292,0},{7085,-15287,0},{7088,-15282,0},{7082,-15270,0},{7085,-15267,0}, {7088,-15275,0},{7088,-15265,0},{7087,-15240,0},{7083,-15225,0},{7082,-15222,0}, {7073,-15243,0},{7072,-15242,0},{7070,-15250,0},{7065,-15250,0},{7060,-15238,0}, {7060,-15210,0},{7057,-15208,0},{7058,-15250,0},{7057,-15257,0},{7057,-15263,0}, {7055,-15262,0},{7055,-15252,0},{7055,-15243,0},{7055,-15225,0},{7055,-15210,0}, {7057,-15202,0},{7055,-15173,0},{7052,-15180,0},{7052,-15187,0},{7050,-15177,0}, {7047,-15197,0},{7045,-15197,0},{7043,-15148,0},{7042,-15133,0},{7037,-15122,0}, {7038,-15117,0},{7042,-15122,0},{7045,-15118,0},{7045,-15098,0},{7047,-15093,0}, {7047,-15087,0},{7048,-15083,0},{7047,-15073,0},{7050,-15078,0},{7050,-15052,0}, {7047,-15048,0},{7048,-15042,0},{7048,-15037,0},{7042,-15040,0},{7045,-15025,0}, {7043,-15012,0},{7052,-14988,0},{7048,-14980,0},{7052,-14970,0},{7052,-14950,0}, {7050,-14947,0},{7050,-14948,0},{7048,-14938,0},{7048,-14935,0},{7050,-14935,0}, {7048,-14917,0},{7047,-14905,0},{7042,-14897,0},{7043,-14892,0},{7042,-14882,0}, {7040,-14860,0},{7037,-14852,0},{7032,-14850,0},{7032,-14837,0},{7037,-14822,0}, {7035,-14810,0},{7030,-14805,0},{7032,-14800,0},{7030,-14798,0},{7032,-14787,0}, {7030,-14780,0},{7023,-14780,0},{7018,-14740,0},{7020,-14727,0},{7017,-14717,0}, {7017,-14698,0},{7018,-14693,0},{7017,-14690,0},{7018,-14688,0},{7020,-14653,0}, {7018,-14628,0},{7015,-14608,0},{7015,-14595,0},{7017,-14593,0},{7013,-14588,0}, {7017,-14588,0},{7017,-14583,0},{7008,-14560,0},{7007,-14560,0},{7010,-14555,0}, {7005,-14547,0},{7003,-14533,0},{7003,-14522,0},{7000,-14530,0},{6998,-14503,0}, {6997,-14497,0},{6998,-14488,0},{7000,-14488,0},{6997,-14477,0},{6997,-14463,0}, {7003,-14440,0},{7003,-14417,0},{7007,-14412,0},{7005,-14407,0},{6998,-14407,0}, {7005,-14402,0},{7008,-14405,0},{7007,-14393,0},{7008,-14388,0},{7008,-14383,0}, {7010,-14375,0},{7008,-14368,0},{7008,-14362,0},{7010,-14357,0},{7012,-14357,0}, {7010,-14352,0},{7012,-14335,0},{7005,-14328,0},{7012,-14328,0},{7008,-14313,0}, {7008,-14302,0},{7007,-14298,0},{7008,-14290,0},{7002,-14263,0},{7000,-14258,0}, {6997,-14260,0},{6998,-14255,0},{6997,-14248,0},{6997,-14252,0},{6995,-14252,0}, {6993,-14242,0},{6992,-14242,0},{6992,-14237,0},{6988,-14237,0},{6988,-14232,0}, {6985,-14227,0},{6985,-14210,0},{6980,-14202,0},{6978,-14197,0},{6980,-14195,0}, {6982,-14192,0},{6980,-14188,0},{6978,-14173,0},{6972,-14153,0},{6963,-14138,0}, {6963,-14125,0},{6967,-14122,0},{6968,-14130,0},{6965,-14102,0},{6963,-14090,0}, {6962,-14090,0},{6962,-14083,0},{6963,-14083,0},{6962,-14075,0},{6960,-14040,0}, {6960,-14027,0},{6962,-14010,0},{6962,-13988,0},{6957,-13958,0},{6960,-13977,0}, {6958,-13975,0},{6957,-13960,0},{6955,-13942,0},{6950,-13927,0},{6950,-13913,0}, {6942,-13897,0},{6935,-13877,0},{6928,-13865,0},{6923,-13860,0},{6925,-13852,0}, {6923,-13852,0},{6923,-13845,0},{6925,-13840,0},{6930,-13840,0},{6928,-13845,0}, {6930,-13840,0},{6930,-13835,0},{6923,-13833,0},{6917,-13822,0},{6913,-13807,0}, {6903,-13763,0},{6900,-13738,0},{6900,-13743,0},{6898,-13742,0},{6897,-13728,0}, {6895,-13725,0},{6895,-13702,0},{6892,-13697,0},{6892,-13688,0},{6887,-13675,0}, {6887,-13667,0},{6890,-13660,0},{6888,-13653,0},{6890,-13653,0},{6892,-13648,0}, {6888,-13620,0},{6888,-13612,0},{6883,-13582,0},{6877,-13572,0},{6875,-13553,0}, {6870,-13542,0},{6867,-13540,0},{6867,-13532,0},{6868,-13530,0},{6865,-13517,0}, {6868,-13522,0},{6868,-13518,0},{6873,-13533,0},{6877,-13535,0},{6880,-13547,0}, {6883,-13550,0},{6883,-13533,0},{6887,-13557,0},{6888,-13562,0},{6893,-13523,0}, {6888,-13517,0},{6890,-13510,0},{6888,-13498,0},{6888,-13495,0},{6893,-13485,0}, {6888,-13468,0},{6885,-13463,0},{6880,-13463,0},{6875,-13450,0},{6872,-13447,0}, {6868,-13432,0},{6870,-13422,0},{6877,-13430,0},{6880,-13440,0},{6888,-13448,0}, {6902,-13462,0},{6910,-13453,0},{6910,-13433,0},{6915,-13432,0},{6917,-13423,0}, {6922,-13422,0},{6927,-13415,0},{6928,-13390,0},{6933,-13387,0},{6935,-13375,0}, {6933,-13375,0},{6933,-13370,0},{6935,-13367,0},{6937,-13368,0},{6938,-13368,0}, {6940,-13355,0},{6940,-13322,0},{6942,-13318,0},{6945,-13308,0},{6943,-13305,0}, {6947,-13305,0},{6952,-13297,0},{6957,-13295,0},{6960,-13298,0},{6965,-13290,0}, {6965,-13278,0},{6963,-13278,0},{6965,-13263,0},{6963,-13253,0},{6963,-13242,0}, {6965,-13235,0},{6968,-13233,0},{6968,-13237,0},{6965,-13245,0},{6968,-13242,0}, {6970,-13245,0},{6967,-13257,0},{6968,-13262,0},{6973,-13253,0},{6977,-13227,0}, {6973,-13248,0},{6972,-13242,0},{6973,-13228,0},{6972,-13232,0},{6968,-13213,0}, {6972,-13210,0},{6973,-13198,0},{6977,-13192,0},{6977,-13183,0},{6980,-13177,0}, {6983,-13177,0},{6987,-13163,0},{6990,-13142,0},{6992,-13145,0},{6995,-13142,0}, {6993,-13123,0},{6988,-13120,0},{6985,-13122,0},{6982,-13118,0},{6985,-13115,0}, {6987,-13118,0},{6988,-13117,0},{6990,-13113,0},{6988,-13108,0},{7000,-13100,0}, {7002,-13093,0},{7003,-13093,0},{7003,-13102,0},{7010,-13090,0},{7007,-13090,0}, {7010,-13080,0},{7010,-13077,0},{7013,-13075,0},{7012,-13070,0},{7008,-13073,0}, {7010,-13065,0},{7013,-13065,0},{7013,-13058,0},{7017,-13055,0},{7017,-13047,0}, {7017,-13052,0},{7010,-13053,0},{7012,-13048,0},{7013,-13050,0},{7013,-13042,0}, {7017,-13040,0},{7013,-13037,0},{7013,-13032,0},{7010,-13033,0},{7010,-13028,0}, {7008,-13033,0},{7008,-13022,0},{7010,-13017,0},{7005,-13018,0},{7012,-13010,0}, {7010,-13007,0},{7007,-13008,0},{7010,-12993,0},{7007,-12998,0},{7008,-12990,0}, {7010,-12985,0},{7015,-12985,0},{7018,-12978,0},{7020,-12983,0},{7022,-12978,0}, {7022,-12973,0},{7025,-12973,0},{7027,-12967,0},{7018,-12958,0},{7017,-12963,0}, {7015,-12947,0},{7012,-12950,0},{7010,-12947,0},{7013,-12943,0},{7012,-12940,0}, {7005,-12947,0},{7005,-12955,0},{7002,-12950,0},{6990,-13000,0},{6985,-13020,0}, {6983,-13025,0},{6985,-13030,0},{6977,-13048,0},{6978,-13052,0},{6970,-13058,0}, {6968,-13078,0},{6960,-13085,0},{6960,-13088,0},{6957,-13093,0},{6960,-13103,0}, {6963,-13103,0},{6963,-13118,0},{6960,-13125,0},{6960,-13133,0},{6957,-13133,0}, {6958,-13142,0},{6957,-13152,0},{6958,-13165,0},{6953,-13165,0},{6957,-13173,0}, {6953,-13188,0},{6953,-13200,0},{6948,-13208,0},{6945,-13205,0},{6945,-13210,0}, {6942,-13210,0},{6942,-13213,0},{6938,-13208,0},{6937,-13210,0},{6932,-13233,0}, {6925,-13232,0},{6930,-13238,0},{6930,-13245,0},{6925,-13243,0},{6923,-13248,0}, {6917,-13248,0},{6928,-13255,0},{6928,-13262,0},{6925,-13267,0},{6927,-13272,0}, {6923,-13278,0},{6922,-13283,0},{6918,-13283,0},{6912,-13290,0},{6910,-13288,0}, {6910,-13283,0},{6907,-13290,0},{6898,-13288,0},{6900,-13293,0},{6908,-13293,0}, {6905,-13300,0},{6907,-13308,0},{6905,-13312,0},{6903,-13320,0},{6898,-13320,0}, {6897,-13325,0},{6895,-13322,0},{6892,-13323,0},{6887,-13332,0},{6888,-13340,0}, {6892,-13337,0},{6888,-13347,0},{6885,-13343,0},{6885,-13348,0},{6880,-13347,0}, {6875,-13332,0},{6873,-13323,0},{6872,-13320,0},{6868,-13303,0},{6868,-13292,0}, {6872,-13293,0},{6872,-13315,0},{6873,-13317,0},{6875,-13325,0},{6878,-13327,0}, {6875,-13317,0},{6877,-13313,0},{6880,-13325,0},{6878,-13333,0},{6885,-13338,0}, {6887,-13323,0},{6885,-13318,0},{6880,-13310,0},{6880,-13307,0},{6882,-13305,0}, {6880,-13293,0},{6885,-13297,0},{6885,-13285,0},{6878,-13272,0},{6880,-13270,0}, {6883,-13273,0},{6880,-13248,0},{6883,-13247,0},{6883,-13242,0},{6887,-13240,0}, {6892,-13255,0},{6890,-13257,0},{6888,-13250,0},{6890,-13260,0},{6887,-13265,0}, {6885,-13263,0},{6883,-13268,0},{6885,-13278,0},{6887,-13278,0},{6888,-13270,0}, {6890,-13280,0},{6892,-13283,0},{6893,-13278,0},{6893,-13268,0},{6898,-13285,0}, {6903,-13287,0},{6903,-13283,0},{6907,-13287,0},{6908,-13280,0},{6908,-13267,0}, {6913,-13257,0},{6913,-13250,0},{6923,-13242,0},{6915,-13242,0},{6910,-13247,0}, {6913,-13238,0},{6923,-13232,0},{6922,-13228,0},{6918,-13235,0},{6918,-13232,0}, {6922,-13220,0},{6913,-13222,0},{6923,-13217,0},{6923,-13208,0},{6925,-13197,0}, {6932,-13192,0},{6932,-13188,0},{6928,-13192,0},{6928,-13187,0},{6940,-13172,0}, {6938,-13180,0},{6937,-13185,0},{6940,-13188,0},{6940,-13195,0},{6940,-13197,0}, {6943,-13187,0},{6942,-13183,0},{6943,-13177,0},{6942,-13165,0},{6945,-13168,0}, {6947,-13165,0},{6943,-13142,0},{6940,-13148,0},{6935,-13148,0},{6933,-13153,0}, {6937,-13142,0},{6942,-13140,0},{6942,-13135,0},{6945,-13137,0},{6945,-13133,0}, {6950,-13132,0},{6940,-13125,0},{6950,-13127,0},{6950,-13123,0},{6947,-13123,0}, {6938,-13122,0},{6937,-13132,0},{6930,-13142,0},{6932,-13132,0},{6937,-13125,0}, {6937,-13120,0},{6938,-13117,0},{6950,-13117,0},{6958,-13125,0},{6952,-13115,0}, {6952,-13112,0},{6937,-13113,0},{6948,-13107,0},{6952,-13107,0},{6958,-13120,0}, {6962,-13113,0},{6960,-13108,0},{6957,-13110,0},{6947,-13103,0},{6932,-13112,0}, {6937,-13103,0},{6947,-13097,0},{6955,-13098,0},{6953,-13095,0},{6942,-13093,0}, {6935,-13105,0},{6932,-13103,0},{6940,-13093,0},{6938,-13090,0},{6932,-13092,0}, {6927,-13100,0},{6913,-13102,0},{6913,-13092,0},{6917,-13095,0},{6927,-13095,0}, {6935,-13080,0},{6937,-13082,0},{6940,-13077,0},{6940,-13068,0},{6945,-13065,0}, {6945,-13075,0},{6958,-13045,0},{6962,-13045,0},{6968,-13033,0},{6970,-13037,0}, {6972,-13015,0},{6975,-12995,0},{6978,-12968,0},{6982,-12960,0},{6987,-12910,0}, {6988,-12903,0},{6995,-12897,0},{6997,-12892,0},{6995,-12885,0},{6995,-12890,0}, {6992,-12890,0},{6988,-12895,0},{6985,-12893,0},{6985,-12913,0},{6982,-12917,0}, {6975,-12913,0},{6970,-12915,0},{6967,-12898,0},{6968,-12892,0},{6972,-12897,0}, {6973,-12897,0},{6975,-12880,0},{6987,-12860,0},{6993,-12840,0},{6995,-12832,0}, {7000,-12830,0},{7010,-12837,0},{7012,-12835,0},{7018,-12812,0},{7018,-12797,0}, {7020,-12787,0},{7022,-12772,0},{7023,-12762,0},{7022,-12752,0},{7025,-12760,0}, {7028,-12803,0},{7037,-12812,0},{7035,-12797,0},{7037,-12793,0},{7040,-12792,0}, {7037,-12803,0},{7037,-12817,0},{7038,-12820,0},{7052,-12813,0},{7058,-12800,0}, {7042,-12747,0},{7027,-12717,0},{7007,-12692,0},{7002,-12690,0},{6997,-12677,0}, {6995,-12680,0},{6993,-12677,0},{6990,-12682,0},{6977,-12670,0},{6953,-12625,0}, {6940,-12590,0},{6938,-12577,0},{6938,-12567,0},{6935,-12558,0},{6932,-12543,0}, {6935,-12537,0},{6937,-12538,0},{6938,-12545,0},{6942,-12545,0},{6940,-12545,0}, {6938,-12520,0},{6938,-12513,0},{6942,-12512,0},{6943,-12513,0},{6945,-12508,0}, {6945,-12515,0},{6947,-12512,0},{6947,-12523,0},{6945,-12527,0},{6945,-12530,0}, {6947,-12530,0},{6945,-12535,0},{6947,-12543,0},{6942,-12562,0},{6947,-12558,0}, {6948,-12555,0},{6947,-12550,0},{6950,-12552,0},{6952,-12547,0},{6950,-12533,0}, {6952,-12533,0},{6952,-12528,0},{6948,-12512,0},{6953,-12527,0},{6955,-12530,0}, {6958,-12522,0},{6962,-12543,0},{6962,-12537,0},{6963,-12542,0},{6968,-12537,0}, {6970,-12522,0},{6975,-12507,0},{6973,-12497,0},{6965,-12493,0},{6968,-12487,0}, {6972,-12487,0},{6972,-12482,0},{6975,-12490,0},{6975,-12502,0},{6978,-12515,0}, {6977,-12523,0},{6980,-12528,0},{6985,-12518,0},{6980,-12517,0},{6980,-12505,0}, {6987,-12502,0},{6993,-12490,0},{6997,-12472,0},{6998,-12470,0},{6997,-12467,0}, {6998,-12463,0},{7002,-12468,0},{6997,-12475,0},{6998,-12485,0},{7002,-12480,0}, {7002,-12483,0},{7002,-12492,0},{7000,-12492,0},{7000,-12498,0},{6998,-12505,0}, {6997,-12505,0},{6997,-12512,0},{6993,-12512,0},{6993,-12518,0},{6993,-12522,0}, {6997,-12518,0},{7000,-12520,0},{7008,-12500,0},{7007,-12497,0},{7003,-12500,0}, {7003,-12505,0},{7002,-12502,0},{7003,-12487,0},{7003,-12495,0},{7007,-12483,0}, {7005,-12480,0},{7007,-12463,0},{7002,-12458,0},{7002,-12453,0},{7003,-12455,0}, {7005,-12453,0},{7003,-12443,0},{7008,-12445,0},{7008,-12457,0},{7010,-12450,0}, {7012,-12455,0},{7008,-12473,0},{7010,-12468,0},{7012,-12475,0},{7015,-12470,0}, {7015,-12455,0},{7015,-12452,0},{7015,-12440,0},{7012,-12445,0},{7007,-12435,0}, {7002,-12438,0},{7000,-12450,0},{7000,-12442,0},{6998,-12443,0},{6997,-12453,0}, {6995,-12443,0},{6992,-12443,0},{6992,-12450,0},{6990,-12450,0},{6988,-12445,0}, {6987,-12445,0},{6985,-12440,0},{6978,-12450,0},{6973,-12450,0},{6970,-12430,0}, {6973,-12420,0},{6972,-12410,0},{6972,-12407,0},{6970,-12403,0},{6967,-12405,0}, {6962,-12420,0},{6955,-12423,0},{6947,-12442,0},{6942,-12442,0},{6940,-12452,0}, {6937,-12447,0},{6935,-12433,0},{6935,-12410,0},{6938,-12405,0},{6935,-12403,0}, {6935,-12398,0},{6938,-12402,0},{6940,-12398,0},{6937,-12388,0},{6938,-12383,0}, {6937,-12380,0},{6938,-12375,0},{6937,-12370,0},{6935,-12368,0},{6938,-12348,0}, {6942,-12338,0},{6945,-12345,0},{6948,-12340,0},{6950,-12327,0},{6950,-12325,0}, {6950,-12317,0},{6957,-12313,0},{6962,-12317,0},{6967,-12310,0},{6975,-12312,0}, {6977,-12315,0},{6983,-12297,0},{6980,-12280,0},{6980,-12275,0},{6983,-12275,0}, {6982,-12270,0},{6980,-12245,0},{6982,-12233,0},{6980,-12218,0},{6982,-12207,0}, {6982,-12193,0},{6980,-12168,0},{6977,-12158,0},{6977,-12145,0},{6967,-12108,0}, {6962,-12083,0},{6952,-12062,0},{6938,-12023,0},{6935,-11997,0},{6933,-11978,0}, {6932,-11963,0},{6930,-11923,0},{6927,-11907,0},{6925,-11883,0},{6922,-11865,0}, {6912,-11845,0},{6908,-11827,0},{6902,-11803,0},{6898,-11787,0},{6895,-11738,0}, {6888,-11715,0},{6890,-11705,0},{6890,-11697,0},{6893,-11700,0},{6893,-11698,0}, {6893,-11693,0},{6888,-11683,0},{6885,-11650,0},{6887,-11642,0},{6888,-11638,0}, {6883,-11622,0},{6880,-11597,0},{6882,-11595,0},{6887,-11612,0},{6888,-11608,0}, {6893,-11628,0},{6897,-11633,0},{6898,-11623,0},{6897,-11607,0},{6892,-11587,0}, {6893,-11583,0},{6893,-11577,0},{6897,-11585,0},{6900,-11593,0},{6897,-11570,0}, {6897,-11560,0},{6890,-11532,0},{6890,-11523,0},{6885,-11508,0},{6887,-11507,0}, {6887,-11498,0},{6880,-11480,0},{6875,-11473,0},{6873,-11458,0},{6868,-11445,0}, {6867,-11447,0},{6862,-11440,0},{6857,-11418,0},{6853,-11417,0},{6852,-11410,0}, {6847,-11407,0},{6843,-11405,0},{6842,-11413,0},{6840,-11410,0},{6838,-11405,0}, {6840,-11400,0},{6843,-11397,0},{6840,-11390,0},{6838,-11395,0},{6832,-11405,0}, {6823,-11402,0},{6825,-11420,0},{6823,-11427,0},{6823,-11437,0},{6827,-11445,0}, {6825,-11470,0},{6825,-11482,0},{6828,-11497,0},{6823,-11487,0},{6818,-11475,0}, {6818,-11483,0},{6815,-11490,0},{6818,-11523,0},{6813,-11517,0},{6808,-11523,0}, {6803,-11523,0},{6802,-11512,0},{6798,-11520,0},{6793,-11553,0},{6790,-11553,0}, {6788,-11552,0},{6788,-11540,0},{6788,-11525,0},{6787,-11528,0},{6782,-11518,0}, {6782,-11512,0},{6780,-11510,0},{6778,-11502,0},{6780,-11492,0},{6782,-11475,0}, {6780,-11467,0},{6777,-11458,0},{6778,-11453,0},{6775,-11445,0},{6772,-11428,0}, {6773,-11418,0},{6772,-11397,0},{6768,-11385,0},{6770,-11322,0},{6767,-11305,0}, {6768,-11285,0},{6767,-11272,0},{6768,-11238,0},{6770,-11233,0},{6773,-11237,0}, {6773,-11233,0},{6773,-11220,0},{6773,-11200,0},{6770,-11198,0},{6768,-11190,0}, {6770,-11187,0},{6772,-11193,0},{6773,-11190,0},{6775,-11192,0},{6775,-11180,0}, {6772,-11153,0},{6775,-11157,0},{6777,-11153,0},{6777,-11147,0},{6773,-11147,0}, {6775,-11140,0},{6780,-11132,0},{6783,-11118,0},{6783,-11115,0},{6780,-11120,0}, {6778,-11117,0},{6775,-11120,0},{6778,-11108,0},{6777,-11103,0},{6780,-11083,0}, {6787,-11073,0},{6788,-11065,0},{6788,-11057,0},{6795,-11040,0},{6795,-11033,0}, {6797,-11033,0},{6795,-11023,0},{6792,-11018,0},{6792,-11013,0},{6797,-11020,0}, {6800,-11017,0},{6800,-11008,0},{6795,-10997,0},{6787,-11000,0},{6783,-10998,0}, {6783,-10992,0},{6788,-10993,0},{6787,-10982,0},{6780,-10970,0},{6778,-10975,0}, {6773,-10962,0},{6773,-10975,0},{6772,-10973,0},{6768,-10953,0},{6770,-10948,0}, {6772,-10950,0},{6773,-10950,0},{6777,-10940,0},{6773,-10940,0},{6773,-10935,0}, {6772,-10907,0},{6767,-10900,0},{6757,-10897,0},{6753,-10892,0},{6750,-10902,0}, {6747,-10902,0},{6743,-10898,0},{6743,-10893,0},{6740,-10893,0},{6742,-10887,0}, {6735,-10882,0},{6737,-10878,0},{6745,-10875,0},{6760,-10873,0},{6763,-10868,0}, {6762,-10862,0},{6760,-10858,0},{6758,-10858,0},{6748,-10852,0},{6735,-10848,0}, {6735,-10843,0},{6743,-10843,0},{6745,-10840,0},{6743,-10835,0},{6740,-10830,0}, {6730,-10802,0},{6713,-10787,0},{6713,-10792,0},{6705,-10788,0},{6708,-10803,0}, {6707,-10808,0},{6708,-10815,0},{6702,-10822,0},{6705,-10833,0},{6708,-10847,0}, {6715,-10860,0},{6705,-10853,0},{6703,-10850,0},{6703,-10848,0},{6707,-10847,0}, {6703,-10842,0},{6698,-10833,0},{6695,-10815,0},{6692,-10812,0},{6687,-10812,0}, {6685,-10823,0},{6683,-10817,0},{6685,-10807,0},{6683,-10798,0},{6678,-10793,0}, {6672,-10795,0},{6667,-10788,0},{6673,-10785,0},{6677,-10788,0},{6675,-10783,0}, {6665,-10768,0},{6663,-10772,0},{6657,-10765,0},{6653,-10755,0},{6655,-10753,0}, {6655,-10752,0},{6647,-10745,0},{6643,-10735,0},{6635,-10725,0},{6637,-10720,0}, {6640,-10723,0},{6650,-10742,0},{6655,-10745,0},{6658,-10757,0},{6670,-10765,0}, {6677,-10780,0},{6675,-10772,0},{6677,-10768,0},{6695,-10777,0},{6702,-10775,0}, {6697,-10763,0},{6697,-10760,0},{6708,-10765,0},{6702,-10752,0},{6692,-10748,0}, {6693,-10760,0},{6695,-10767,0},{6693,-10770,0},{6688,-10763,0},{6687,-10760,0}, {6690,-10758,0},{6687,-10753,0},{6683,-10757,0},{6682,-10752,0},{6685,-10748,0}, {6683,-10747,0},{6680,-10743,0},{6682,-10742,0},{6688,-10748,0},{6688,-10740,0}, {6697,-10745,0},{6697,-10742,0},{6688,-10722,0},{6682,-10713,0},{6682,-10708,0}, {6697,-10723,0},{6703,-10740,0},{6707,-10735,0},{6707,-10725,0},{6710,-10725,0}, {6712,-10720,0},{6712,-10730,0},{6715,-10738,0},{6720,-10750,0},{6732,-10760,0}, {6742,-10772,0},{6743,-10772,0},{6740,-10765,0},{6742,-10763,0},{6750,-10758,0}, {6770,-10800,0},{6777,-10802,0},{6785,-10793,0},{6790,-10770,0},{6793,-10765,0}, {6797,-10777,0},{6795,-10780,0},{6798,-10783,0},{6798,-10792,0},{6808,-10788,0}, {6810,-10785,0},{6808,-10780,0},{6807,-10770,0},{6805,-10773,0},{6805,-10782,0}, {6803,-10780,0},{6803,-10773,0},{6802,-10783,0},{6798,-10778,0},{6798,-10773,0}, {6802,-10773,0},{6805,-10768,0},{6807,-10758,0},{6805,-10735,0},{6813,-10715,0}, {6813,-10712,0},{6808,-10712,0},{6810,-10702,0},{6808,-10697,0},{6812,-10695,0}, {6810,-10677,0},{6815,-10675,0},{6822,-10680,0},{6822,-10678,0},{6822,-10675,0}, {6822,-10668,0},{6820,-10670,0},{6817,-10665,0},{6822,-10663,0},{6825,-10662,0}, {6818,-10647,0},{6815,-10643,0},{6818,-10640,0},{6818,-10635,0},{6823,-10650,0}, {6830,-10642,0},{6833,-10647,0},{6835,-10643,0},{6835,-10633,0},{6840,-10622,0}, {6837,-10612,0},{6840,-10605,0},{6840,-10598,0},{6842,-10597,0},{6840,-10592,0}, {6842,-10585,0},{6845,-10582,0},{6842,-10578,0},{6842,-10573,0},{6848,-10570,0}, {6855,-10577,0},{6863,-10565,0},{6863,-10573,0},{6862,-10578,0},{6863,-10588,0}, {6862,-10603,0},{6860,-10607,0},{6852,-10655,0},{6852,-10642,0},{6850,-10655,0}, {6847,-10650,0},{6845,-10653,0},{6847,-10658,0},{6847,-10663,0},{6842,-10660,0}, {6842,-10650,0},{6840,-10648,0},{6835,-10657,0},{6830,-10653,0},{6828,-10655,0}, {6830,-10660,0},{6835,-10665,0},{6835,-10672,0},{6837,-10672,0},{6842,-10680,0}, {6837,-10680,0},{6838,-10693,0},{6837,-10702,0},{6833,-10703,0},{6830,-10713,0}, {6827,-10713,0},{6827,-10727,0},{6832,-10733,0},{6832,-10748,0},{6835,-10757,0}, {6833,-10773,0},{6833,-10783,0},{6827,-10788,0},{6823,-10775,0},{6820,-10773,0}, {6818,-10762,0},{6817,-10760,0},{6818,-10778,0},{6817,-10787,0},{6815,-10790,0}, {6815,-10802,0},{6817,-10798,0},{6817,-10800,0},{6817,-10820,0},{6812,-10837,0}, {6813,-10843,0},{6817,-10840,0},{6817,-10837,0},{6813,-10837,0},{6817,-10833,0}, {6823,-10835,0},{6822,-10840,0},{6818,-10840,0},{6818,-10845,0},{6828,-10840,0}, {6830,-10845,0},{6830,-10850,0},{6825,-10858,0},{6825,-10870,0},{6823,-10872,0}, {6827,-10882,0},{6830,-10873,0},{6835,-10873,0},{6840,-10858,0},{6860,-10835,0}, {6862,-10828,0},{6865,-10775,0},{6868,-10753,0},{6870,-10730,0},{6873,-10718,0}, {6882,-10682,0},{6882,-10665,0},{6885,-10658,0},{6890,-10627,0},{6893,-10622,0}, {6888,-10595,0},{6888,-10580,0},{6872,-10547,0},{6865,-10555,0},{6852,-10540,0}, {6852,-10533,0},{6847,-10532,0},{6850,-10542,0},{6847,-10547,0},{6845,-10553,0}, {6842,-10553,0},{6842,-10533,0},{6837,-10535,0},{6833,-10530,0},{6825,-10505,0}, {6827,-10500,0},{6830,-10508,0},{6832,-10500,0},{6832,-10493,0},{6835,-10490,0}, {6830,-10483,0},{6827,-10487,0},{6825,-10495,0},{6823,-10493,0},{6822,-10490,0}, {6823,-10485,0},{6827,-10482,0},{6825,-10480,0},{6823,-10460,0},{6813,-10467,0}, {6813,-10460,0},{6808,-10460,0},{6807,-10450,0},{6803,-10450,0},{6803,-10437,0}, {6805,-10430,0},{6802,-10417,0},{6805,-10400,0},{6802,-10387,0},{6803,-10375,0}, {6807,-10370,0},{6805,-10360,0},{6807,-10355,0},{6812,-10355,0},{6817,-10342,0}, {6812,-10333,0},{6808,-10338,0},{6803,-10337,0},{6800,-10337,0},{6800,-10330,0}, {6797,-10325,0},{6795,-10313,0},{6792,-10310,0},{6793,-10297,0},{6782,-10280,0}, {6778,-10247,0},{6773,-10233,0},{6772,-10232,0},{6773,-10225,0},{6768,-10223,0}, {6770,-10220,0},{6773,-10222,0},{6777,-10215,0},{6775,-10205,0},{6777,-10198,0}, {6778,-10198,0},{6778,-10193,0},{6775,-10192,0},{6775,-10185,0},{6770,-10182,0}, {6773,-10175,0},{6768,-10167,0},{6768,-10155,0},{6770,-10148,0},{6770,-10140,0}, {6772,-10145,0},{6773,-10145,0},{6772,-10138,0},{6773,-10133,0},{6772,-10125,0}, {6777,-10123,0},{6775,-10118,0},{6778,-10110,0},{6778,-10108,0},{6773,-10110,0}, {6775,-10090,0},{6777,-10090,0},{6782,-10092,0},{6782,-10087,0},{6778,-10083,0}, {6782,-10078,0},{6782,-10072,0},{6785,-10070,0},{6783,-10063,0},{6783,-10058,0}, {6780,-10058,0},{6785,-10040,0},{6785,-10018,0},{6782,-10008,0},{6782,-9992,0}, {6780,-9982,0},{6782,-9978,0},{6782,-9968,0},{6778,-9963,0},{6780,-9958,0}, {6780,-9950,0},{6777,-9948,0},{6780,-9945,0},{6777,-9938,0},{6777,-9930,0}, {6770,-9922,0},{6773,-9912,0},{6772,-9898,0},{6770,-9893,0},{6775,-9890,0}, {6775,-9873,0},{6780,-9870,0},{6778,-9860,0},{6780,-9835,0},{6787,-9845,0}, {6787,-9853,0},{6795,-9872,0},{6807,-9873,0},{6807,-9863,0},{6810,-9858,0}, {6790,-9823,0},{6775,-9808,0},{6775,-9798,0},{6770,-9793,0},{6768,-9780,0}, {6765,-9773,0},{6763,-9765,0},{6760,-9757,0},{6762,-9740,0},{6767,-9728,0}, {6762,-9720,0},{6767,-9718,0},{6767,-9707,0},{6772,-9715,0},{6772,-9722,0}, {6778,-9712,0},{6793,-9723,0},{6788,-9728,0},{6787,-9737,0},{6788,-9742,0}, {6793,-9747,0},{6802,-9768,0},{6797,-9772,0},{6798,-9777,0},{6797,-9785,0}, {6795,-9792,0},{6792,-9795,0},{6795,-9802,0},{6792,-9805,0},{6783,-9807,0}, {6787,-9818,0},{6792,-9822,0},{6800,-9840,0},{6807,-9845,0},{6813,-9858,0}, {6815,-9858,0},{6813,-9853,0},{6818,-9847,0},{6813,-9843,0},{6810,-9843,0}, {6808,-9840,0},{6810,-9833,0},{6817,-9832,0},{6818,-9838,0},{6820,-9850,0}, {6823,-9855,0},{6823,-9848,0},{6825,-9848,0},{6830,-9860,0},{6837,-9872,0}, {6837,-9860,0},{6833,-9852,0},{6837,-9853,0},{6835,-9848,0},{6837,-9847,0}, {6840,-9853,0},{6842,-9853,0},{6837,-9842,0},{6837,-9837,0},{6830,-9820,0}, {6833,-9815,0},{6832,-9807,0},{6837,-9810,0},{6833,-9792,0},{6838,-9790,0}, {6837,-9777,0},{6837,-9775,0},{6840,-9778,0},{6842,-9790,0},{6845,-9790,0}, {6850,-9802,0},{6853,-9800,0},{6853,-9790,0},{6855,-9785,0},{6852,-9770,0}, {6845,-9763,0},{6842,-9753,0},{6842,-9750,0},{6845,-9752,0},{6845,-9762,0}, {6850,-9757,0},{6850,-9738,0},{6847,-9728,0},{6843,-9722,0},{6838,-9710,0}, {6838,-9717,0},{6837,-9717,0},{6835,-9700,0},{6828,-9700,0},{6830,-9705,0}, {6828,-9708,0},{6827,-9708,0},{6827,-9702,0},{6823,-9692,0},{6827,-9680,0}, {6828,-9680,0},{6828,-9667,0},{6827,-9667,0},{6825,-9662,0},{6822,-9670,0}, {6818,-9663,0},{6825,-9662,0},{6832,-9642,0},{6827,-9647,0},{6820,-9652,0}, {6813,-9663,0},{6812,-9662,0},{6810,-9668,0},{6808,-9668,0},{6807,-9680,0}, {6803,-9682,0},{6802,-9677,0},{6802,-9668,0},{6805,-9665,0},{6807,-9662,0}, {6803,-9653,0},{6803,-9645,0},{6808,-9648,0},{6808,-9655,0},{6815,-9647,0}, {6820,-9630,0},{6825,-9600,0},{6830,-9590,0},{6815,-9608,0},{6810,-9602,0}, {6782,-9622,0},{6773,-9618,0},{6770,-9622,0},{6768,-9620,0},{6770,-9617,0}, {6762,-9618,0},{6763,-9627,0},{6770,-9632,0},{6760,-9633,0},{6757,-9638,0}, {6755,-9647,0},{6753,-9643,0},{6747,-9647,0},{6750,-9642,0},{6747,-9637,0}, {6745,-9638,0},{6743,-9633,0},{6745,-9630,0},{6742,-9620,0},{6743,-9617,0}, {6747,-9610,0},{6743,-9607,0},{6733,-9617,0},{6732,-9623,0},{6725,-9625,0}, {6725,-9615,0},{6725,-9613,0},{6722,-9612,0},{6725,-9602,0},{6728,-9593,0}, {6728,-9590,0},{6738,-9573,0},{6733,-9568,0},{6733,-9563,0},{6738,-9560,0}, {6735,-9552,0},{6730,-9557,0},{6717,-9583,0},{6718,-9575,0},{6723,-9565,0}, {6720,-9565,0},{6722,-9555,0},{6720,-9548,0},{6713,-9547,0},{6715,-9543,0}, {6720,-9543,0},{6715,-9538,0},{6712,-9537,0},{6707,-9542,0},{6703,-9533,0}, {6697,-9535,0},{6693,-9553,0},{6695,-9563,0},{6698,-9560,0},{6698,-9562,0}, {6695,-9583,0},{6695,-9593,0},{6700,-9595,0},{6702,-9600,0},{6707,-9595,0}, {6702,-9605,0},{6697,-9602,0},{6695,-9612,0},{6697,-9615,0},{6698,-9612,0}, {6698,-9613,0},{6698,-9618,0},{6700,-9628,0},{6705,-9627,0},{6707,-9630,0}, {6707,-9637,0},{6708,-9638,0},{6707,-9645,0},{6703,-9642,0},{6700,-9640,0}, {6697,-9628,0},{6692,-9623,0},{6690,-9615,0},{6683,-9610,0},{6675,-9585,0}, {6665,-9578,0},{6658,-9582,0},{6665,-9572,0},{6668,-9563,0},{6673,-9565,0}, {6673,-9568,0},{6670,-9567,0},{6667,-9572,0},{6668,-9577,0},{6673,-9578,0}, {6682,-9590,0},{6685,-9600,0},{6690,-9608,0},{6693,-9608,0},{6695,-9602,0}, {6692,-9588,0},{6693,-9583,0},{6693,-9577,0},{6690,-9572,0},{6692,-9560,0}, {6690,-9552,0},{6693,-9543,0},{6693,-9542,0},{6688,-9532,0},{6693,-9525,0}, {6697,-9522,0},{6698,-9523,0},{6700,-9530,0},{6703,-9528,0},{6707,-9535,0}, {6710,-9532,0},{6715,-9535,0},{6722,-9527,0},{6727,-9525,0},{6727,-9518,0}, {6728,-9517,0},{6735,-9533,0},{6743,-9538,0},{6745,-9542,0},{6750,-9533,0}, {6753,-9532,0},{6763,-9547,0},{6765,-9555,0},{6768,-9558,0},{6770,-9570,0}, {6773,-9572,0},{6778,-9563,0},{6778,-9558,0},{6782,-9553,0},{6787,-9553,0}, {6790,-9558,0},{6802,-9542,0},{6805,-9543,0},{6807,-9547,0},{6807,-9535,0}, {6807,-9528,0},{6808,-9525,0},{6808,-9522,0},{6805,-9523,0},{6803,-9527,0}, {6807,-9518,0},{6808,-9510,0},{6805,-9502,0},{6803,-9487,0},{6807,-9472,0}, {6810,-9470,0},{6815,-9458,0},{6827,-9420,0},{6837,-9422,0},{6842,-9412,0}, {6847,-9397,0},{6852,-9367,0},{6855,-9360,0},{6855,-9355,0},{6860,-9353,0}, {6863,-9337,0},{6862,-9357,0},{6863,-9365,0},{6862,-9375,0},{6872,-9367,0}, {6875,-9370,0},{6877,-9363,0},{6880,-9363,0},{6885,-9357,0},{6890,-9365,0}, {6897,-9365,0},{6897,-9373,0},{6897,-9387,0},{6900,-9383,0},{6900,-9390,0}, {6907,-9380,0},{6903,-9393,0},{6903,-9390,0},{6900,-9395,0},{6897,-9393,0}, {6890,-9407,0},{6887,-9407,0},{6887,-9403,0},{6885,-9408,0},{6883,-9403,0}, {6885,-9398,0},{6888,-9393,0},{6885,-9393,0},{6888,-9382,0},{6877,-9408,0}, {6875,-9422,0},{6875,-9425,0},{6872,-9442,0},{6873,-9447,0},{6872,-9452,0}, {6875,-9457,0},{6875,-9463,0},{6888,-9455,0},{6890,-9458,0},{6892,-9457,0}, {6897,-9460,0},{6897,-9453,0},{6897,-9448,0},{6893,-9447,0},{6897,-9440,0}, {6902,-9435,0},{6903,-9430,0},{6903,-9422,0},{6905,-9415,0},{6908,-9418,0}, {6910,-9417,0},{6915,-9400,0},{6912,-9423,0},{6915,-9433,0},{6925,-9430,0}, {6927,-9427,0},{6930,-9432,0},{6932,-9428,0},{6937,-9402,0},{6935,-9390,0}, {6935,-9388,0},{6935,-9380,0},{6940,-9375,0},{6945,-9357,0},{6943,-9353,0}, {6932,-9375,0},{6932,-9380,0},{6925,-9388,0},{6927,-9382,0},{6922,-9388,0}, {6922,-9387,0},{6922,-9382,0},{6918,-9385,0},{6917,-9383,0},{6925,-9363,0}, {6928,-9360,0},{6932,-9347,0},{6935,-9343,0},{6938,-9337,0},{6935,-9350,0}, {6937,-9353,0},{6937,-9358,0},{6948,-9343,0},{6953,-9358,0},{6952,-9372,0}, {6948,-9378,0},{6948,-9382,0},{6948,-9385,0},{6943,-9390,0},{6943,-9415,0}, {6945,-9430,0},{6948,-9437,0},{6955,-9450,0},{6965,-9457,0},{6963,-9463,0}, {6968,-9463,0},{6967,-9475,0},{6962,-9473,0},{6957,-9483,0},{6958,-9495,0}, {6960,-9497,0},{6960,-9500,0},{6962,-9502,0},{6962,-9510,0},{6962,-9515,0}, {6968,-9535,0},{6968,-9540,0},{6973,-9558,0},{6978,-9565,0},{6978,-9573,0}, {6973,-9578,0},{6977,-9583,0},{6978,-9582,0},{6978,-9578,0},{6980,-9580,0}, {6980,-9585,0},{6977,-9587,0},{6980,-9593,0},{6978,-9597,0},{6980,-9600,0}, {6983,-9607,0},{6987,-9620,0},{6988,-9615,0},{6987,-9612,0},{6987,-9608,0}, {6990,-9612,0},{6992,-9608,0},{6992,-9612,0},{6995,-9610,0},{6997,-9618,0}, {6997,-9625,0},{7013,-9653,0},{7023,-9657,0},{7032,-9655,0},{7042,-9643,0}, {7042,-9633,0},{7048,-9632,0},{7057,-9625,0},{7053,-9618,0},{7053,-9615,0}, {7057,-9613,0},{7058,-9607,0},{7055,-9592,0},{7053,-9580,0},{7053,-9578,0}, {7055,-9580,0},{7058,-9598,0},{7062,-9607,0},{7065,-9605,0},{7072,-9582,0}, {7070,-9590,0},{7065,-9612,0},{7062,-9617,0},{7068,-9638,0},{7072,-9642,0}, {7073,-9643,0},{7080,-9662,0},{7095,-9652,0},{7103,-9650,0},{7105,-9642,0}, {7108,-9637,0},{7112,-9642,0},{7108,-9642,0},{7108,-9648,0},{7113,-9657,0}, {7117,-9645,0},{7115,-9638,0},{7120,-9647,0},{7125,-9643,0},{7128,-9650,0}, {7130,-9643,0},{7130,-9630,0},{7138,-9620,0},{7142,-9605,0},{7138,-9590,0}, {7135,-9587,0},{7128,-9567,0},{7128,-9553,0},{7132,-9552,0},{7135,-9558,0}, {7135,-9548,0},{7137,-9543,0},{7143,-9555,0},{7152,-9538,0},{7148,-9550,0}, {7152,-9582,0},{7155,-9595,0},{7158,-9588,0},{7162,-9590,0},{7163,-9572,0}, {7167,-9567,0},{7167,-9562,0},{7172,-9550,0},{7172,-9527,0},{7177,-9528,0}, {7183,-9523,0},{7185,-9488,0},{7183,-9472,0},{7187,-9462,0},{7183,-9475,0}, {7185,-9487,0},{7183,-9520,0},{7187,-9525,0},{7195,-9522,0},{7198,-9495,0}, {7200,-9457,0},{7198,-9448,0},{7195,-9448,0},{7195,-9440,0},{7192,-9438,0}, {7190,-9450,0},{7188,-9445,0},{7185,-9447,0},{7185,-9457,0},{7182,-9465,0}, {7178,-9460,0},{7175,-9462,0},{7175,-9453,0},{7182,-9448,0},{7178,-9445,0}, {7182,-9440,0},{7180,-9435,0},{7175,-9440,0},{7167,-9442,0},{7178,-9420,0}, {7175,-9415,0},{7178,-9403,0},{7175,-9397,0},{7175,-9388,0},{7178,-9380,0}, {7177,-9373,0},{7175,-9370,0},{7172,-9370,0},{7165,-9382,0},{7157,-9362,0}, {7153,-9342,0},{7150,-9337,0},{7147,-9323,0},{7137,-9315,0},{7137,-9305,0}, {7133,-9297,0},{7132,-9300,0},{7128,-9293,0},{7122,-9293,0},{7115,-9285,0}, {7107,-9288,0},{7103,-9285,0},{7090,-9290,0},{7085,-9285,0},{7083,-9295,0}, {7085,-9297,0},{7088,-9303,0},{7087,-9303,0},{7082,-9295,0},{7080,-9282,0}, {7077,-9268,0},{7075,-9268,0},{7073,-9265,0},{7072,-9272,0},{7072,-9263,0}, {7067,-9268,0},{7067,-9243,0},{7063,-9233,0},{7062,-9230,0},{7058,-9233,0}, {7057,-9230,0},{7062,-9225,0},{7058,-9217,0},{7057,-9217,0},{7057,-9225,0}, {7055,-9227,0},{7050,-9218,0},{7048,-9228,0},{7047,-9215,0},{7047,-9212,0}, {7043,-9213,0},{7043,-9207,0},{7040,-9203,0},{7038,-9200,0},{7032,-9200,0}, {7030,-9208,0},{7030,-9200,0},{7028,-9200,0},{7025,-9195,0},{7030,-9192,0}, {7030,-9187,0},{7035,-9190,0},{7037,-9185,0},{7033,-9178,0},{7037,-9173,0}, {7035,-9170,0},{7032,-9168,0},{7030,-9173,0},{7020,-9170,0},{7023,-9163,0}, {7017,-9152,0},{7015,-9152,0},{7013,-9160,0},{7013,-9182,0},{7012,-9195,0}, {7013,-9203,0},{7017,-9213,0},{7018,-9223,0},{7025,-9228,0},{7023,-9230,0}, {7023,-9237,0},{7022,-9227,0},{7018,-9228,0},{7017,-9248,0},{7017,-9242,0}, {7015,-9238,0},{7013,-9243,0},{7008,-9248,0},{7008,-9258,0},{7007,-9252,0}, {7005,-9248,0},{7008,-9243,0},{7008,-9227,0},{7008,-9208,0},{7005,-9200,0}, {7002,-9193,0},{6998,-9203,0},{6998,-9207,0},{6990,-9222,0},{6990,-9227,0}, {6988,-9225,0},{6983,-9243,0},{6982,-9247,0},{6980,-9255,0},{6977,-9257,0}, {6977,-9262,0},{6978,-9265,0},{6977,-9265,0},{6970,-9287,0},{6970,-9253,0}, {6970,-9267,0},{6967,-9273,0},{6968,-9285,0},{6968,-9292,0},{6967,-9292,0}, {6965,-9267,0},{6967,-9263,0},{6970,-9250,0},{6968,-9240,0},{6970,-9237,0}, {6970,-9233,0},{6967,-9237,0},{6967,-9228,0},{6963,-9218,0},{6962,-9208,0}, {6963,-9230,0},{6955,-9212,0},{6953,-9200,0},{6948,-9180,0},{6952,-9180,0}, {6953,-9172,0},{6955,-9173,0},{6955,-9165,0},{6958,-9158,0},{6962,-9160,0}, {6965,-9150,0},{6967,-9148,0},{6967,-9137,0},{6965,-9133,0},{6965,-9128,0}, {6963,-9125,0},{6965,-9120,0},{6965,-9117,0},{6963,-9117,0},{6963,-9110,0}, {6962,-9110,0},{6962,-9122,0},{6955,-9133,0},{6953,-9152,0},{6952,-9157,0}, {6950,-9155,0},{6953,-9147,0},{6952,-9133,0},{6953,-9132,0},{6957,-9120,0}, {6952,-9110,0},{6953,-9100,0},{6952,-9097,0},{6953,-9088,0},{6948,-9088,0}, {6948,-9075,0},{6953,-9072,0},{6950,-9048,0},{6945,-9037,0},{6945,-9030,0}, {6943,-9040,0},{6945,-9047,0},{6942,-9055,0},{6943,-9062,0},{6945,-9062,0}, {6945,-9070,0},{6942,-9063,0},{6942,-9058,0},{6938,-9070,0},{6940,-9073,0}, {6937,-9080,0},{6925,-9082,0},{6925,-9093,0},{6927,-9090,0},{6927,-9097,0}, {6930,-9092,0},{6927,-9107,0},{6928,-9110,0},{6930,-9100,0},{6935,-9095,0}, {6930,-9108,0},{6928,-9120,0},{6935,-9145,0},{6923,-9110,0},{6922,-9102,0}, {6915,-9090,0},{6908,-9067,0},{6900,-9072,0},{6898,-9060,0},{6893,-9058,0}, {6892,-9063,0},{6892,-9053,0},{6887,-9043,0},{6885,-9048,0},{6885,-9042,0}, {6883,-9043,0},{6883,-9053,0},{6880,-9060,0},{6882,-9043,0},{6880,-9047,0}, {6878,-9045,0},{6878,-9052,0},{6875,-9053,0},{6870,-9048,0},{6867,-9050,0}, {6862,-9057,0},{6860,-9050,0},{6857,-9053,0},{6853,-9047,0},{6845,-9060,0}, {6842,-9055,0},{6837,-9032,0},{6833,-9048,0},{6835,-9035,0},{6833,-9032,0}, {6830,-9032,0},{6823,-9025,0},{6823,-9020,0},{6825,-9012,0},{6832,-9017,0}, {6835,-9003,0},{6840,-8998,0},{6843,-9000,0},{6845,-8990,0},{6847,-8992,0}, {6848,-8987,0},{6853,-8983,0},{6853,-8980,0},{6855,-8992,0},{6860,-8995,0}, {6867,-8990,0},{6867,-8983,0},{6872,-8980,0},{6867,-8975,0},{6862,-8977,0}, {6865,-8972,0},{6870,-8973,0},{6882,-8968,0},{6883,-8973,0},{6885,-8972,0}, {6895,-8975,0},{6902,-8970,0},{6912,-8948,0},{6918,-8940,0},{6922,-8938,0}, {6925,-8932,0},{6928,-8913,0},{6923,-8895,0},{6915,-8887,0},{6910,-8878,0}, {6892,-8820,0},{6877,-8797,0},{6865,-8792,0},{6860,-8795,0},{6848,-8788,0}, {6847,-8783,0},{6843,-8783,0},{6840,-8778,0},{6833,-8778,0},{6825,-8785,0}, {6820,-8793,0},{6823,-8800,0},{6823,-8817,0},{6837,-8820,0},{6832,-8830,0}, {6828,-8840,0},{6812,-8828,0},{6807,-8833,0},{6805,-8833,0},{6803,-8838,0}, {6780,-8827,0},{6773,-8817,0},{6768,-8817,0},{6765,-8812,0},{6762,-8797,0}, {6740,-8760,0},{6737,-8748,0},{6727,-8745,0},{6727,-8735,0},{6725,-8737,0}, {6718,-8750,0},{6712,-8752,0},{6717,-8743,0},{6718,-8737,0},{6717,-8732,0}, {6710,-8730,0},{6712,-8728,0},{6722,-8723,0},{6722,-8718,0},{6723,-8717,0}, {6722,-8712,0},{6718,-8712,0},{6722,-8707,0},{6725,-8705,0},{6723,-8700,0}, {6725,-8697,0},{6728,-8700,0},{6730,-8700,0},{6732,-8705,0},{6735,-8708,0}, {6735,-8702,0},{6732,-8697,0},{6735,-8697,0},{6740,-8687,0},{6742,-8680,0}, {6742,-8677,0},{6735,-8665,0},{6740,-8662,0},{6740,-8660,0},{6735,-8660,0}, {6735,-8652,0},{6743,-8653,0},{6747,-8647,0},{6750,-8650,0},{6760,-8645,0}, {6768,-8652,0},{6783,-8637,0},{6795,-8613,0},{6802,-8613,0},{6802,-8610,0}, {6798,-8610,0},{6805,-8590,0},{6810,-8592,0},{6813,-8585,0},{6818,-8588,0}, {6818,-8583,0},{6822,-8578,0},{6823,-8585,0},{6830,-8580,0},{6832,-8585,0}, {6833,-8578,0},{6840,-8572,0},{6843,-8575,0},{6845,-8567,0},{6847,-8575,0}, {6850,-8572,0},{6862,-8575,0},{6873,-8567,0},{6875,-8563,0},{6873,-8555,0}, {6873,-8548,0},{6877,-8547,0},{6878,-8557,0},{6878,-8552,0},{6877,-8537,0}, {6873,-8538,0},{6872,-8523,0},{6872,-8522,0},{6875,-8527,0},{6875,-8523,0}, {6875,-8513,0},{6875,-8495,0},{6873,-8478,0},{6877,-8475,0},{6882,-8483,0}, {6880,-8500,0},{6882,-8508,0},{6883,-8517,0},{6887,-8518,0},{6888,-8500,0}, {6890,-8507,0},{6893,-8500,0},{6893,-8512,0},{6895,-8513,0},{6895,-8497,0}, {6893,-8482,0},{6895,-8480,0},{6898,-8493,0},{6900,-8498,0},{6902,-8495,0}, {6900,-8485,0},{6902,-8485,0},{6903,-8482,0},{6902,-8477,0},{6900,-8458,0}, {6902,-8453,0},{6903,-8473,0},{6908,-8477,0},{6907,-8488,0},{6908,-8495,0}, {6912,-8497,0},{6912,-8502,0},{6913,-8497,0},{6915,-8500,0},{6912,-8512,0}, {6915,-8510,0},{6917,-8500,0},{6917,-8517,0},{6915,-8518,0},{6913,-8522,0}, {6915,-8530,0},{6917,-8530,0},{6918,-8520,0},{6920,-8538,0},{6922,-8538,0}, {6927,-8547,0},{6932,-8550,0},{6930,-8540,0},{6932,-8533,0},{6933,-8545,0}, {6937,-8543,0},{6940,-8550,0},{6942,-8547,0},{6942,-8538,0},{6945,-8542,0}, {6943,-8533,0},{6947,-8540,0},{6947,-8543,0},{6943,-8548,0},{6945,-8553,0}, {6952,-8553,0},{6955,-8547,0},{6957,-8548,0},{6957,-8538,0},{6963,-8553,0}, {6965,-8555,0},{6970,-8543,0},{6973,-8543,0},{6977,-8552,0},{6978,-8542,0}, {6978,-8538,0},{6975,-8540,0},{6978,-8533,0},{6982,-8537,0},{6983,-8558,0}, {6987,-8557,0},{6985,-8537,0},{6977,-8507,0},{6980,-8505,0},{6982,-8487,0}, {6985,-8488,0},{6983,-8475,0},{6987,-8455,0},{6985,-8435,0},{6983,-8428,0}, {6982,-8413,0},{6978,-8410,0},{6975,-8397,0},{6970,-8373,0},{6968,-8335,0}, {6970,-8325,0},{6968,-8300,0},{6968,-8293,0},{6968,-8267,0},{6970,-8268,0}, {6968,-8258,0},{6965,-8250,0},{6963,-8227,0},{6962,-8240,0},{6963,-8247,0}, {6965,-8258,0},{6963,-8262,0},{6962,-8260,0},{6962,-8265,0},{6958,-8255,0}, {6958,-8275,0},{6957,-8262,0},{6950,-8248,0},{6952,-8263,0},{6952,-8298,0}, {6955,-8323,0},{6953,-8330,0},{6950,-8278,0},{6940,-8223,0},{6938,-8223,0}, {6938,-8230,0},{6940,-8238,0},{6930,-8215,0},{6928,-8215,0},{6928,-8225,0}, {6927,-8223,0},{6925,-8228,0},{6923,-8225,0},{6925,-8203,0},{6927,-8205,0}, {6927,-8200,0},{6927,-8170,0},{6923,-8160,0},{6920,-8150,0},{6920,-8142,0}, {6920,-8137,0},{6918,-8133,0},{6908,-8127,0},{6907,-8147,0},{6900,-8157,0}, {6898,-8162,0},{6898,-8168,0},{6895,-8172,0},{6890,-8198,0},{6887,-8205,0}, {6892,-8182,0},{6890,-8178,0},{6890,-8167,0},{6887,-8160,0},{6883,-8157,0}, {6887,-8148,0},{6888,-8142,0},{6887,-8138,0},{6877,-8123,0},{6875,-8127,0}, {6863,-8127,0},{6850,-8163,0},{6852,-8182,0},{6847,-8183,0},{6845,-8192,0}, {6842,-8197,0},{6843,-8202,0},{6850,-8208,0},{6853,-8225,0},{6852,-8225,0}, {6848,-8218,0},{6845,-8222,0},{6848,-8245,0},{6853,-8255,0},{6852,-8262,0}, {6850,-8263,0},{6848,-8258,0},{6845,-8248,0},{6843,-8255,0},{6843,-8265,0}, {6840,-8263,0},{6840,-8250,0},{6835,-8235,0},{6832,-8235,0},{6832,-8248,0}, {6830,-8248,0},{6827,-8238,0},{6828,-8227,0},{6823,-8227,0},{6817,-8235,0}, {6815,-8232,0},{6812,-8218,0},{6815,-8210,0},{6822,-8205,0},{6820,-8198,0}, {6812,-8203,0},{6810,-8212,0},{6808,-8208,0},{6800,-8217,0},{6790,-8210,0}, {6785,-8197,0},{6782,-8193,0},{6780,-8180,0},{6778,-8183,0},{6777,-8183,0}, {6773,-8170,0},{6767,-8160,0},{6762,-8143,0},{6747,-8125,0},{6743,-8123,0}, {6738,-8130,0},{6730,-8135,0},{6708,-8142,0},{6707,-8143,0},{6705,-8150,0}, {6700,-8150,0},{6698,-8153,0},{6700,-8162,0},{6700,-8165,0},{6697,-8172,0}, {6700,-8183,0},{6697,-8198,0},{6692,-8205,0},{6690,-8202,0},{6685,-8208,0}, {6683,-8208,0},{6677,-8218,0},{6672,-8215,0},{6673,-8235,0},{6672,-8238,0}, {6670,-8238,0},{6667,-8247,0},{6665,-8248,0},{6662,-8255,0},{6657,-8260,0}, {6655,-8302,0},{6650,-8302,0},{6647,-8305,0},{6647,-8312,0},{6640,-8323,0}, {6635,-8340,0},{6635,-8350,0},{6635,-8358,0},{6637,-8357,0},{6640,-8365,0}, {6643,-8363,0},{6643,-8360,0},{6638,-8355,0},{6640,-8353,0},{6648,-8365,0}, {6652,-8367,0},{6655,-8385,0},{6660,-8390,0},{6657,-8395,0},{6658,-8398,0}, {6670,-8402,0},{6670,-8398,0},{6670,-8392,0},{6665,-8390,0},{6668,-8385,0}, {6672,-8395,0},{6677,-8395,0},{6677,-8392,0},{6682,-8388,0},{6688,-8392,0}, {6682,-8395,0},{6678,-8405,0},{6677,-8403,0},{6675,-8410,0},{6672,-8410,0}, {6670,-8413,0},{6673,-8430,0},{6675,-8432,0},{6678,-8427,0},{6680,-8440,0}, {6682,-8443,0},{6683,-8423,0},{6687,-8438,0},{6690,-8442,0},{6692,-8438,0}, {6693,-8448,0},{6698,-8458,0},{6697,-8442,0},{6697,-8437,0},{6703,-8483,0}, {6707,-8492,0},{6705,-8493,0},{6703,-8490,0},{6703,-8493,0},{6700,-8483,0}, {6698,-8487,0},{6700,-8478,0},{6698,-8463,0},{6697,-8505,0},{6692,-8522,0}, {6690,-8515,0},{6687,-8523,0},{6683,-8512,0},{6685,-8507,0},{6685,-8495,0}, {6690,-8490,0},{6692,-8500,0},{6692,-8488,0},{6695,-8485,0},{6695,-8473,0}, {6693,-8473,0},{6693,-8462,0},{6692,-8462,0},{6690,-8457,0},{6690,-8475,0}, {6687,-8458,0},{6682,-8450,0},{6685,-8467,0},{6683,-8468,0},{6682,-8462,0}, {6682,-8452,0},{6678,-8445,0},{6677,-8432,0},{6672,-8445,0},{6670,-8435,0}, {6668,-8432,0},{6670,-8425,0},{6668,-8415,0},{6665,-8415,0},{6658,-8422,0}, {6643,-8390,0},{6632,-8387,0},{6630,-8378,0},{6627,-8377,0},{6622,-8368,0}, {6618,-8370,0},{6615,-8385,0},{6620,-8378,0},{6622,-8380,0},{6620,-8397,0}, {6622,-8398,0},{6627,-8413,0},{6630,-8415,0},{6632,-8420,0},{6630,-8432,0}, {6628,-8432,0},{6628,-8437,0},{6637,-8443,0},{6638,-8447,0},{6638,-8452,0}, {6640,-8452,0},{6633,-8463,0},{6622,-8440,0},{6615,-8437,0},{6617,-8447,0}, {6620,-8455,0},{6622,-8463,0},{6620,-8473,0},{6627,-8487,0},{6625,-8498,0}, {6627,-8503,0},{6628,-8508,0},{6632,-8512,0},{6627,-8518,0},{6627,-8523,0}, {6632,-8530,0},{6648,-8535,0},{6658,-8548,0},{6657,-8558,0},{6650,-8585,0}, {6652,-8588,0},{6650,-8613,0},{6652,-8622,0},{6652,-8628,0},{6655,-8633,0}, {6652,-8638,0},{6655,-8657,0},{6655,-8660,0},{6652,-8658,0},{6650,-8662,0}, {6653,-8677,0},{6652,-8678,0},{6643,-8663,0},{6645,-8680,0},{6643,-8682,0}, {6632,-8663,0},{6628,-8633,0},{6618,-8592,0},{6615,-8590,0},{6610,-8602,0}, {6608,-8598,0},{6603,-8597,0},{6598,-8612,0},{6598,-8620,0},{6593,-8623,0}, {6590,-8633,0},{6590,-8642,0},{6580,-8650,0},{6578,-8645,0},{6575,-8645,0}, {6567,-8655,0},{6567,-8663,0},{6565,-8668,0},{6555,-8683,0},{6553,-8698,0}, {6552,-8698,0},{6548,-8702,0},{6548,-8708,0},{6545,-8712,0},{6543,-8712,0}, {6542,-8707,0},{6540,-8708,0},{6540,-8717,0},{6537,-8722,0},{6532,-8740,0}, {6533,-8770,0},{6532,-8787,0},{6535,-8805,0},{6540,-8822,0},{6550,-8833,0}, {6558,-8857,0},{6560,-8865,0},{6563,-8883,0},{6563,-8858,0},{6562,-8845,0}, {6563,-8842,0},{6568,-8878,0},{6570,-8885,0},{6570,-8890,0},{6568,-8893,0}, {6568,-8898,0},{6573,-8912,0},{6578,-8917,0},{6582,-8932,0},{6583,-8933,0}, {6587,-8943,0},{6587,-8947,0},{6585,-8948,0},{6585,-8952,0},{6588,-8952,0}, {6593,-8967,0},{6595,-9000,0},{6592,-8988,0},{6587,-8973,0},{6583,-8973,0}, {6582,-8977,0},{6588,-9007,0},{6587,-9027,0},{6587,-9042,0},{6588,-9043,0}, {6590,-9040,0},{6590,-9023,0},{6592,-9023,0},{6590,-9057,0},{6592,-9088,0}, {6595,-9112,0},{6595,-9118,0},{6597,-9132,0},{6595,-9150,0},{6588,-9133,0}, {6588,-9127,0},{6580,-9102,0},{6582,-9100,0},{6590,-9112,0},{6592,-9108,0}, {6588,-9073,0},{6588,-9055,0},{6578,-8997,0},{6572,-8975,0},{6563,-8958,0}, {6560,-8947,0},{6550,-8940,0},{6543,-8917,0},{6533,-8905,0},{6530,-8873,0}, {6532,-8865,0},{6530,-8857,0},{6527,-8837,0},{6528,-8812,0},{6527,-8807,0}, {6528,-8795,0},{6527,-8777,0},{6527,-8773,0},{6528,-8773,0},{6528,-8760,0}, {6527,-8757,0},{6527,-8735,0},{6523,-8703,0},{6520,-8705,0},{6515,-8693,0}, {6510,-8700,0},{6505,-8697,0},{6500,-8712,0},{6497,-8708,0},{6488,-8723,0}, {6480,-8730,0},{6477,-8730,0},{6475,-8737,0},{6470,-8745,0},{6475,-8748,0}, {6472,-8752,0},{6463,-8752,0},{6457,-8758,0},{6452,-8770,0},{6452,-8780,0}, {6445,-8785,0},{6435,-8788,0},{6425,-8805,0},{6423,-8805,0},{6422,-8800,0}, {6418,-8798,0},{6417,-8805,0},{6413,-8812,0},{6413,-8823,0},{6405,-8847,0}, {6405,-8855,0},{6402,-8855,0},{6400,-8868,0},{6398,-8867,0},{6397,-8873,0}, {6398,-8883,0},{6398,-8885,0},{6402,-8890,0},{6398,-8892,0},{6398,-8900,0}, {6400,-8900,0},{6407,-8915,0},{6417,-8927,0},{6413,-8928,0},{6397,-8910,0}, {6397,-8903,0},{6395,-8903,0},{6395,-8915,0},{6397,-8913,0},{6397,-8918,0}, {6402,-8927,0},{6397,-8925,0},{6403,-8937,0},{6402,-8943,0},{6403,-8947,0}, {6407,-8950,0},{6408,-8955,0},{6402,-8957,0},{6395,-8948,0},{6408,-8970,0}, {6403,-8972,0},{6410,-8982,0},{6413,-8982,0},{6415,-8973,0},{6423,-8975,0}, {6425,-8978,0},{6420,-8982,0},{6420,-8988,0},{6417,-8982,0},{6415,-8982,0}, {6415,-8988,0},{6417,-8992,0},{6415,-9000,0},{6413,-9012,0},{6410,-9003,0}, {6412,-9002,0},{6412,-8998,0},{6410,-8992,0},{6408,-8995,0},{6405,-8995,0}, {6405,-8990,0},{6402,-8985,0},{6402,-8992,0},{6400,-8992,0},{6398,-8983,0}, {6393,-8982,0},{6392,-8983,0},{6393,-8988,0},{6392,-8993,0},{6393,-9000,0}, {6393,-8995,0},{6397,-8995,0},{6398,-9002,0},{6398,-9003,0},{6397,-9002,0}, {6395,-9010,0},{6400,-9017,0},{6400,-9027,0},{6398,-9022,0},{6392,-9008,0}, {6392,-9012,0},{6388,-9010,0},{6382,-8997,0},{6377,-8998,0},{6378,-9012,0}, {6375,-9005,0},{6372,-9010,0},{6370,-9010,0},{6370,-9013,0},{6365,-9017,0}, {6363,-9015,0},{6360,-9025,0},{6362,-9028,0},{6363,-9022,0},{6365,-9028,0}, {6362,-9035,0},{6362,-9045,0},{6363,-9048,0},{6365,-9045,0},{6367,-9055,0}, {6367,-9048,0},{6370,-9062,0},{6368,-9063,0},{6365,-9070,0},{6365,-9062,0}, {6368,-9060,0},{6365,-9055,0},{6363,-9055,0},{6360,-9057,0},{6362,-9060,0}, {6360,-9067,0},{6358,-9072,0},{6357,-9085,0},{6358,-9098,0},{6362,-9107,0}, {6362,-9108,0},{6363,-9115,0},{6363,-9123,0},{6365,-9130,0},{6367,-9138,0}, {6368,-9140,0},{6368,-9133,0},{6368,-9135,0},{6373,-9153,0},{6372,-9158,0}, {6372,-9167,0},{6373,-9168,0},{6375,-9165,0},{6377,-9168,0},{6377,-9172,0}, {6373,-9175,0},{6375,-9192,0},{6378,-9198,0},{6380,-9188,0},{6382,-9197,0}, {6382,-9200,0},{6378,-9200,0},{6377,-9205,0},{6375,-9205,0},{6375,-9213,0}, {6377,-9223,0},{6378,-9238,0},{6383,-9250,0},{6385,-9270,0},{6387,-9275,0}, {6388,-9277,0},{6390,-9292,0},{6393,-9297,0},{6393,-9308,0},{6398,-9322,0}, {6398,-9328,0},{6402,-9343,0},{6407,-9352,0},{6410,-9362,0},{6412,-9363,0}, {6415,-9362,0},{6417,-9370,0},{6418,-9378,0},{6413,-9367,0},{6408,-9367,0}, {6402,-9355,0},{6400,-9360,0},{6400,-9355,0},{6398,-9358,0},{6398,-9377,0}, {6395,-9377,0},{6395,-9370,0},{6388,-9365,0},{6383,-9352,0},{6383,-9343,0}, {6380,-9333,0},{6385,-9338,0},{6383,-9330,0},{6383,-9322,0},{6385,-9322,0}, {6387,-9333,0},{6393,-9345,0},{6393,-9342,0},{6397,-9345,0},{6397,-9342,0}, {6388,-9310,0},{6387,-9300,0},{6383,-9292,0},{6383,-9275,0},{6377,-9262,0}, {6382,-9253,0},{6380,-9243,0},{6373,-9240,0},{6373,-9223,0},{6372,-9215,0}, {6370,-9210,0},{6368,-9220,0},{6365,-9220,0},{6365,-9217,0},{6362,-9227,0}, {6363,-9230,0},{6365,-9233,0},{6358,-9240,0},{6355,-9253,0},{6352,-9247,0}, {6355,-9243,0},{6355,-9235,0},{6357,-9232,0},{6353,-9223,0},{6362,-9220,0}, {6362,-9212,0},{6365,-9207,0},{6363,-9203,0},{6368,-9197,0},{6372,-9183,0}, {6372,-9177,0},{6365,-9162,0},{6358,-9160,0},{6358,-9152,0},{6355,-9148,0}, {6352,-9138,0},{6348,-9138,0},{6348,-9130,0},{6350,-9127,0},{6348,-9115,0}, {6345,-9107,0},{6347,-9102,0},{6340,-9078,0},{6340,-9088,0},{6342,-9095,0}, {6342,-9097,0},{6338,-9093,0},{6335,-9078,0},{6335,-9068,0},{6333,-9068,0}, {6332,-9075,0},{6328,-9073,0},{6328,-9070,0},{6325,-9072,0},{6322,-9068,0}, {6318,-9070,0},{6318,-9073,0},{6315,-9067,0},{6312,-9068,0},{6308,-9065,0}, {6308,-9068,0},{6307,-9063,0},{6303,-9065,0},{6303,-9070,0},{6302,-9072,0}, {6300,-9068,0},{6300,-9075,0},{6297,-9072,0},{6297,-9078,0},{6293,-9078,0}, {6293,-9107,0},{6292,-9117,0},{6285,-9122,0},{6283,-9132,0},{6282,-9142,0}, {6280,-9135,0},{6278,-9135,0},{6278,-9150,0},{6282,-9172,0},{6283,-9187,0}, {6287,-9212,0},{6285,-9213,0},{6282,-9208,0},{6280,-9210,0},{6285,-9233,0}, {6282,-9245,0},{6278,-9245,0},{6272,-9233,0},{6268,-9222,0},{6268,-9228,0}, {6265,-9218,0},{6265,-9195,0},{6262,-9188,0},{6258,-9190,0},{6255,-9197,0}, {6253,-9195,0},{6253,-9205,0},{6255,-9208,0},{6255,-9217,0},{6257,-9218,0}, {6258,-9215,0},{6260,-9217,0},{6260,-9227,0},{6257,-9225,0},{6257,-9233,0}, {6253,-9233,0},{6253,-9238,0},{6255,-9248,0},{6258,-9245,0},{6260,-9248,0}, {6257,-9250,0},{6262,-9258,0},{6262,-9262,0},{6253,-9253,0},{6250,-9257,0}, {6250,-9250,0},{6248,-9250,0},{6248,-9253,0},{6245,-9253,0},{6247,-9262,0}, {6247,-9272,0},{6245,-9273,0},{6238,-9272,0},{6237,-9268,0},{6235,-9282,0}, {6235,-9272,0},{6232,-9260,0},{6227,-9260,0},{6225,-9263,0},{6222,-9258,0}, {6218,-9257,0},{6215,-9248,0},{6217,-9257,0},{6215,-9260,0},{6222,-9262,0}, {6223,-9268,0},{6227,-9270,0},{6228,-9275,0},{6235,-9318,0},{6237,-9325,0}, {6235,-9318,0},{6233,-9307,0},{6228,-9297,0},{6228,-9292,0},{6227,-9290,0}, {6225,-9283,0},{6222,-9277,0},{6218,-9278,0},{6218,-9287,0},{6220,-9290,0}, {6218,-9293,0},{6220,-9300,0},{6217,-9298,0},{6217,-9307,0},{6215,-9312,0}, {6213,-9312,0},{6210,-9308,0},{6213,-9302,0},{6210,-9293,0},{6207,-9298,0}, {6208,-9307,0},{6203,-9308,0},{6205,-9315,0},{6202,-9313,0},{6198,-9317,0}, {6203,-9325,0},{6205,-9330,0},{6205,-9333,0},{6202,-9330,0},{6203,-9342,0}, {6195,-9322,0},{6195,-9338,0},{6192,-9330,0},{6190,-9328,0},{6188,-9330,0}, {6193,-9352,0},{6195,-9362,0},{6188,-9348,0},{6188,-9360,0},{6185,-9362,0}, {6185,-9350,0},{6183,-9348,0},{6182,-9335,0},{6180,-9343,0},{6178,-9338,0}, {6178,-9325,0},{6175,-9325,0},{6175,-9337,0},{6177,-9345,0},{6175,-9345,0}, {6172,-9342,0},{6172,-9332,0},{6168,-9345,0},{6168,-9352,0},{6163,-9365,0}, {6155,-9378,0},{6157,-9383,0},{6152,-9387,0},{6145,-9398,0},{6142,-9393,0}, {6140,-9397,0},{6138,-9387,0},{6135,-9382,0},{6132,-9385,0},{6130,-9393,0}, {6132,-9412,0},{6127,-9402,0},{6122,-9400,0},{6122,-9402,0},{6120,-9402,0}, {6117,-9410,0},{6115,-9403,0},{6112,-9407,0},{6112,-9400,0},{6110,-9398,0}, {6107,-9413,0},{6090,-9423,0},{6087,-9435,0},{6077,-9442,0},{6072,-9440,0}, {6063,-9450,0},{6055,-9452,0},{6052,-9458,0},{6053,-9467,0},{6053,-9473,0}, {6052,-9465,0},{6050,-9465,0},{6050,-9480,0},{6047,-9468,0},{6038,-9462,0}, {6027,-9470,0},{6018,-9467,0},{6013,-9472,0},{6008,-9470,0},{6007,-9477,0}, {6002,-9475,0},{6002,-9480,0},{5998,-9478,0},{5995,-9482,0},{5993,-9480,0}, {5978,-9477,0},{5963,-9482,0},{5957,-9478,0},{5957,-9477,0},{5955,-9480,0}, {5952,-9478,0},{5950,-9475,0},{5945,-9473,0},{5940,-9473,0},{5937,-9472,0}, {5933,-9473,0},{5935,-9468,0},{5935,-9465,0},{5930,-9477,0},{5908,-9480,0}, {5908,-9493,0},{5905,-9500,0},{5907,-9483,0},{5905,-9480,0},{5902,-9480,0}, {5900,-9472,0},{5898,-9468,0},{5893,-9468,0},{5888,-9473,0},{5883,-9475,0}, {5888,-9465,0},{5887,-9458,0},{5883,-9452,0},{5880,-9448,0},{5872,-9442,0}, {5872,-9433,0},{5875,-9428,0},{5878,-9428,0},{5880,-9420,0},{5873,-9423,0}, {5868,-9420,0},{5860,-9428,0},{5848,-9430,0},{5843,-9428,0},{5840,-9433,0}, {5832,-9433,0},{5822,-9437,0},{5840,-9423,0},{5858,-9425,0},{5867,-9417,0}, {5872,-9417,0},{5873,-9413,0},{5877,-9417,0},{5877,-9412,0},{5877,-9392,0}, {5875,-9387,0},{5877,-9383,0},{5877,-9375,0},{5878,-9372,0},{5877,-9357,0}, {5877,-9350,0},{5875,-9347,0},{5872,-9347,0},{5870,-9340,0},{5875,-9333,0}, {5877,-9323,0},{5875,-9320,0},{5873,-9315,0},{5872,-9317,0},{5868,-9313,0}, {5853,-9313,0},{5842,-9305,0},{5822,-9293,0},{5817,-9285,0},{5815,-9287,0}, {5805,-9280,0},{5800,-9280,0},{5787,-9275,0},{5783,-9278,0},{5782,-9273,0}, {5772,-9267,0},{5763,-9260,0},{5755,-9255,0},{5752,-9250,0},{5745,-9245,0}, {5733,-9242,0},{5723,-9243,0},{5705,-9258,0},{5695,-9272,0},{5690,-9288,0}, {5693,-9268,0},{5703,-9247,0},{5707,-9225,0},{5705,-9222,0},{5698,-9235,0}, {5693,-9247,0},{5695,-9242,0},{5697,-9230,0},{5702,-9223,0},{5703,-9215,0}, {5707,-9195,0},{5722,-9123,0},{5727,-9100,0},{5725,-9082,0},{5723,-9072,0}, {5723,-9060,0},{5718,-9050,0},{5720,-9045,0},{5718,-9038,0},{5717,-9040,0}, {5705,-9007,0},{5700,-8995,0},{5692,-8950,0},{5692,-8937,0},{5687,-8920,0}, {5687,-8908,0},{5683,-8905,0},{5687,-8888,0},{5683,-8887,0},{5683,-8883,0}, {5683,-8882,0},{5680,-8883,0},{5675,-8872,0},{5670,-8865,0},{5665,-8848,0}, {5655,-8835,0},{5643,-8798,0},{5638,-8795,0},{5632,-8785,0},{5620,-8772,0}, {5615,-8770,0},{5608,-8758,0},{5603,-8762,0},{5600,-8762,0},{5605,-8755,0}, {5603,-8748,0},{5602,-8748,0},{5600,-8745,0},{5600,-8735,0},{5595,-8737,0}, {5597,-8732,0},{5593,-8708,0},{5593,-8698,0},{5592,-8695,0},{5590,-8697,0}, {5590,-8687,0},{5585,-8668,0},{5582,-8648,0},{5573,-8628,0},{5570,-8608,0}, {5570,-8595,0},{5563,-8582,0},{5563,-8572,0},{5560,-8568,0},{5557,-8557,0}, {5547,-8550,0},{5542,-8540,0},{5535,-8513,0},{5530,-8512,0},{5527,-8522,0}, {5525,-8522,0},{5522,-8527,0},{5515,-8533,0},{5510,-8540,0},{5507,-8538,0}, {5498,-8542,0},{5502,-8537,0},{5513,-8532,0},{5525,-8520,0},{5528,-8512,0}, {5530,-8500,0},{5528,-8485,0},{5525,-8472,0},{5523,-8460,0},{5528,-8432,0}, {5528,-8418,0},{5527,-8410,0},{5532,-8393,0},{5528,-8383,0},{5525,-8372,0}, {5522,-8373,0},{5525,-8368,0},{5523,-8365,0},{5522,-8360,0},{5518,-8357,0}, {5515,-8358,0},{5513,-8357,0},{5515,-8358,0},{5518,-8355,0},{5523,-8358,0}, {5525,-8368,0},{5528,-8370,0},{5527,-8355,0},{5523,-8348,0},{5522,-8335,0}, {5522,-8323,0},{5520,-8318,0},{5523,-8303,0},{5523,-8297,0},{5522,-8293,0}, {5517,-8290,0},{5510,-8295,0},{5515,-8288,0},{5513,-8278,0},{5515,-8272,0}, {5517,-8267,0},{5513,-8255,0},{5517,-8253,0},{5515,-8245,0},{5512,-8242,0}, {5508,-8240,0},{5507,-8232,0},{5510,-8233,0},{5513,-8232,0},{5517,-8235,0}, {5515,-8230,0},{5510,-8225,0},{5503,-8228,0},{5497,-8225,0},{5493,-8227,0}, {5488,-8225,0},{5488,-8222,0},{5485,-8220,0},{5437,-8243,0},{5422,-8243,0}, {5415,-8237,0},{5412,-8238,0},{5412,-8232,0},{5407,-8225,0},{5382,-8213,0}, {5375,-8213,0},{5360,-8222,0},{5358,-8220,0},{5352,-8222,0},{5342,-8215,0}, {5328,-8212,0},{5323,-8220,0},{5322,-8225,0},{5307,-8230,0},{5298,-8228,0}, {5297,-8230,0},{5295,-8227,0},{5293,-8225,0},{5288,-8210,0},{5278,-8197,0}, {5277,-8198,0},{5275,-8197,0},{5268,-8192,0},{5263,-8182,0},{5252,-8170,0}, {5245,-8155,0},{5242,-8157,0},{5235,-8155,0},{5230,-8148,0},{5232,-8155,0}, {5230,-8163,0},{5227,-8173,0},{5225,-8173,0},{5227,-8178,0},{5225,-8182,0}, {5223,-8187,0},{5223,-8182,0},{5218,-8188,0},{5223,-8173,0},{5223,-8150,0}, {5218,-8143,0},{5215,-8142,0},{5210,-8135,0},{5208,-8127,0},{5203,-8115,0}, {5205,-8110,0},{5203,-8107,0},{5200,-8098,0},{5190,-8092,0},{5188,-8088,0}, {5188,-8082,0},{5185,-8082,0},{5180,-8070,0},{5170,-8058,0},{5152,-8052,0}, {5147,-8043,0},{5137,-8043,0},{5128,-8065,0},{5118,-8075,0},{5115,-8085,0}, {5108,-8090,0},{5107,-8097,0},{5103,-8102,0},{5105,-8093,0},{5103,-8093,0}, {5100,-8095,0},{5103,-8092,0},{5112,-8087,0},{5115,-8070,0},{5128,-8053,0}, {5133,-8040,0},{5130,-8022,0},{5130,-8012,0},{5127,-8008,0},{5125,-8000,0}, {5118,-7988,0},{5112,-7973,0},{5105,-7968,0},{5102,-7963,0},{5087,-7943,0}, {5077,-7935,0},{5072,-7933,0},{5078,-7933,0},{5088,-7942,0},{5098,-7953,0}, {5105,-7968,0},{5112,-7972,0},{5118,-7975,0},{5130,-7968,0},{5140,-7970,0}, {5142,-7962,0},{5145,-7958,0},{5147,-7952,0},{5155,-7955,0},{5157,-7948,0}, {5167,-7933,0},{5163,-7923,0},{5157,-7928,0},{5152,-7927,0},{5152,-7917,0}, {5153,-7913,0},{5152,-7910,0},{5147,-7902,0},{5128,-7893,0},{5123,-7897,0}, {5118,-7890,0},{5117,-7885,0},{5123,-7892,0},{5130,-7890,0},{5135,-7885,0}, {5135,-7882,0},{5137,-7888,0},{5140,-7888,0},{5148,-7877,0},{5148,-7868,0}, {5150,-7872,0},{5152,-7882,0},{5160,-7882,0},{5160,-7878,0},{5162,-7883,0}, {5165,-7888,0},{5167,-7895,0},{5170,-7893,0},{5177,-7903,0},{5180,-7900,0}, {5180,-7892,0},{5183,-7883,0},{5193,-7890,0},{5197,-7875,0},{5202,-7872,0}, {5200,-7870,0},{5205,-7870,0},{5205,-7863,0},{5208,-7865,0},{5208,-7862,0}, {5212,-7858,0},{5215,-7857,0},{5218,-7853,0},{5223,-7855,0},{5225,-7850,0}, {5223,-7840,0},{5227,-7847,0},{5227,-7855,0},{5230,-7855,0},{5235,-7850,0}, {5237,-7850,0},{5238,-7853,0},{5242,-7852,0},{5243,-7855,0},{5247,-7850,0}, {5248,-7853,0},{5248,-7857,0},{5250,-7853,0},{5253,-7858,0},{5252,-7865,0}, {5253,-7865,0},{5255,-7868,0},{5253,-7870,0},{5255,-7872,0},{5257,-7877,0}, {5260,-7868,0},{5262,-7873,0},{5262,-7872,0},{5265,-7872,0},{5265,-7878,0}, {5270,-7875,0},{5270,-7882,0},{5272,-7877,0},{5273,-7878,0},{5275,-7885,0}, {5278,-7883,0},{5278,-7872,0},{5282,-7873,0},{5282,-7877,0},{5282,-7878,0}, {5288,-7868,0},{5287,-7880,0},{5288,-7887,0},{5292,-7890,0},{5293,-7887,0}, {5297,-7887,0},{5297,-7880,0},{5298,-7878,0},{5298,-7883,0},{5302,-7885,0}, {5300,-7887,0},{5302,-7898,0},{5305,-7892,0},{5307,-7892,0},{5307,-7897,0}, {5317,-7892,0},{5318,-7895,0},{5320,-7890,0},{5322,-7893,0},{5322,-7888,0}, {5325,-7890,0},{5325,-7892,0},{5327,-7890,0},{5328,-7895,0},{5332,-7893,0}, {5335,-7897,0},{5338,-7893,0},{5345,-7898,0},{5345,-7902,0},{5345,-7907,0}, {5345,-7905,0},{5347,-7908,0},{5350,-7912,0},{5353,-7903,0},{5353,-7902,0}, {5352,-7905,0},{5348,-7902,0},{5352,-7897,0},{5357,-7903,0},{5355,-7895,0}, {5357,-7892,0},{5362,-7898,0},{5360,-7907,0},{5363,-7905,0},{5363,-7900,0}, {5367,-7905,0},{5367,-7902,0},{5368,-7902,0},{5372,-7915,0},{5372,-7905,0}, {5373,-7903,0},{5375,-7907,0},{5378,-7905,0},{5380,-7907,0},{5382,-7902,0}, {5383,-7905,0},{5383,-7897,0},{5382,-7893,0},{5382,-7890,0},{5385,-7898,0}, {5385,-7907,0},{5388,-7907,0},{5392,-7910,0},{5392,-7900,0},{5393,-7903,0}, {5395,-7913,0},{5395,-7903,0},{5397,-7910,0},{5397,-7903,0},{5397,-7905,0}, {5398,-7910,0},{5398,-7907,0},{5400,-7907,0},{5400,-7903,0},{5400,-7897,0}, {5402,-7898,0},{5405,-7903,0},{5403,-7908,0},{5407,-7910,0},{5408,-7913,0}, {5408,-7928,0},{5408,-7917,0},{5412,-7917,0},{5410,-7912,0},{5412,-7910,0}, {5412,-7913,0},{5413,-7910,0},{5415,-7913,0},{5417,-7907,0},{5418,-7905,0}, {5417,-7918,0},{5415,-7920,0},{5417,-7925,0},{5418,-7923,0},{5420,-7935,0}, {5420,-7938,0},{5422,-7933,0},{5425,-7933,0},{5425,-7928,0},{5427,-7940,0}, {5428,-7943,0},{5430,-7942,0},{5430,-7947,0},{5437,-7947,0},{5437,-7950,0}, {5440,-7950,0},{5442,-7945,0},{5442,-7950,0},{5445,-7948,0},{5450,-7952,0}, {5450,-7955,0},{5452,-7952,0},{5455,-7960,0},{5457,-7953,0},{5458,-7952,0}, {5462,-7957,0},{5457,-7962,0},{5458,-7963,0},{5463,-7958,0},{5463,-7960,0}, {5462,-7962,0},{5463,-7968,0},{5465,-7965,0},{5467,-7967,0},{5467,-7968,0}, {5465,-7968,0},{5465,-7977,0},{5470,-7963,0},{5473,-7963,0},{5472,-7963,0}, {5473,-7950,0},{5477,-7947,0},{5475,-7945,0},{5477,-7933,0},{5482,-7923,0}, {5485,-7898,0},{5492,-7887,0},{5492,-7877,0},{5498,-7857,0},{5500,-7853,0}, {5503,-7833,0},{5515,-7813,0},{5525,-7785,0},{5527,-7778,0},{5537,-7767,0}, {5540,-7755,0},{5558,-7723,0},{5565,-7713,0},{5570,-7708,0},{5567,-7718,0}, {5568,-7718,0},{5575,-7707,0},{5585,-7697,0},{5593,-7683,0},{5598,-7680,0}, {5600,-7672,0},{5603,-7668,0},{5612,-7663,0},{5625,-7658,0},{5630,-7653,0}, {5680,-7650,0},{5700,-7655,0},{5710,-7653,0},{5717,-7657,0},{5723,-7658,0}, {5740,-7665,0},{5762,-7682,0},{5767,-7680,0},{5787,-7702,0},{5795,-7707,0}, {5797,-7712,0},{5802,-7715,0},{5807,-7725,0},{5810,-7735,0},{5813,-7738,0}, {5817,-7748,0},{5817,-7745,0},{5820,-7745,0},{5827,-7762,0},{5838,-7802,0}, {5842,-7802,0},{5845,-7807,0},{5845,-7813,0},{5850,-7820,0},{5852,-7827,0}, {5862,-7838,0},{5862,-7843,0},{5860,-7843,0},{5855,-7832,0},{5853,-7835,0}, {5857,-7845,0},{5862,-7847,0},{5862,-7857,0},{5867,-7855,0},{5867,-7857,0}, {5868,-7852,0},{5870,-7850,0},{5870,-7847,0},{5877,-7855,0},{5878,-7853,0}, {5878,-7850,0},{5882,-7848,0},{5892,-7855,0},{5893,-7853,0},{5893,-7857,0}, {5897,-7857,0},{5895,-7852,0},{5892,-7845,0},{5895,-7843,0},{5897,-7842,0}, {5895,-7835,0},{5892,-7835,0},{5893,-7830,0},{5895,-7832,0},{5897,-7828,0}, {5900,-7825,0},{5898,-7832,0},{5902,-7827,0},{5905,-7828,0},{5907,-7825,0}, {5905,-7820,0},{5910,-7822,0},{5908,-7818,0},{5910,-7813,0},{5915,-7815,0}, {5915,-7808,0},{5922,-7810,0},{5923,-7800,0},{5927,-7795,0},{5928,-7783,0}, {5930,-7783,0},{5932,-7788,0},{5932,-7778,0},{5935,-7777,0},{5937,-7780,0}, {5940,-7768,0},{5942,-7772,0},{5940,-7775,0},{5943,-7778,0},{5940,-7788,0}, {5940,-7792,0},{5943,-7790,0},{5945,-7785,0},{5947,-7788,0},{5950,-7787,0}, {5953,-7772,0},{5962,-7772,0},{5963,-7777,0},{5967,-7780,0},{5968,-7773,0}, {5972,-7777,0},{5970,-7770,0},{5967,-7767,0},{5968,-7760,0},{5970,-7757,0}, {5967,-7757,0},{5963,-7747,0},{5958,-7745,0},{5957,-7732,0},{5960,-7743,0}, {5967,-7745,0},{5968,-7753,0},{5972,-7748,0},{5975,-7753,0},{5975,-7745,0}, {5977,-7745,0},{5978,-7742,0},{5980,-7730,0},{5988,-7737,0},{5992,-7743,0}, {5992,-7737,0},{5995,-7738,0},{5997,-7730,0},{5998,-7732,0},{6000,-7723,0}, {6002,-7730,0},{6005,-7718,0},{6003,-7732,0},{6007,-7735,0},{6005,-7740,0}, {6003,-7743,0},{6005,-7747,0},{6005,-7748,0},{6007,-7763,0},{6008,-7758,0}, {6012,-7760,0},{6013,-7755,0},{6013,-7740,0},{6015,-7750,0},{6020,-7755,0}, {6022,-7747,0},{6025,-7752,0},{6027,-7757,0},{6028,-7755,0},{6027,-7762,0}, {6033,-7760,0},{6033,-7763,0},{6037,-7763,0},{6040,-7775,0},{6042,-7775,0}, {6047,-7768,0},{6050,-7757,0},{6055,-7755,0},{6055,-7742,0},{6057,-7755,0}, {6055,-7767,0},{6060,-7778,0},{6063,-7783,0},{6075,-7760,0},{6077,-7765,0}, {6077,-7775,0},{6083,-7752,0},{6078,-7778,0},{6075,-7788,0},{6080,-7785,0}, {6078,-7797,0},{6082,-7788,0},{6083,-7790,0},{6078,-7820,0},{6085,-7817,0}, {6088,-7810,0},{6092,-7810,0},{6103,-7788,0},{6105,-7782,0},{6115,-7778,0}, {6120,-7770,0},{6122,-7770,0},{6123,-7775,0},{6127,-7772,0},{6145,-7780,0}, {6145,-7773,0},{6143,-7770,0},{6147,-7768,0},{6147,-7757,0},{6148,-7755,0}, {6152,-7767,0},{6157,-7762,0},{6153,-7747,0},{6157,-7753,0},{6158,-7763,0}, {6158,-7758,0},{6160,-7758,0},{6160,-7772,0},{6170,-7778,0},{6168,-7782,0}, {6168,-7790,0},{6172,-7800,0},{6178,-7800,0},{6187,-7808,0},{6195,-7808,0}, {6203,-7815,0},{6227,-7817,0},{6233,-7810,0},{6240,-7802,0},{6240,-7795,0}, {6247,-7777,0},{6247,-7770,0},{6252,-7765,0},{6253,-7755,0},{6260,-7747,0}, {6258,-7740,0},{6255,-7737,0},{6255,-7718,0},{6252,-7713,0},{6253,-7710,0}, {6252,-7705,0},{6253,-7695,0},{6252,-7690,0},{6250,-7675,0},{6248,-7667,0}, {6245,-7662,0},{6245,-7653,0},{6238,-7615,0},{6233,-7610,0},{6235,-7603,0}, {6233,-7602,0},{6235,-7597,0},{6233,-7592,0},{6232,-7582,0},{6228,-7563,0}, {6227,-7560,0},{6223,-7570,0},{6215,-7590,0},{6217,-7583,0},{6218,-7578,0}, {6223,-7560,0},{6230,-7548,0},{6232,-7532,0},{6228,-7515,0},{6223,-7515,0}, {6227,-7507,0},{6225,-7493,0},{6223,-7487,0},{6220,-7485,0},{6217,-7477,0}, {6215,-7477,0},{6210,-7460,0},{6212,-7455,0},{6215,-7468,0},{6220,-7477,0}, {6225,-7473,0},{6225,-7442,0},{6230,-7428,0},{6232,-7428,0},{6233,-7423,0}, {6232,-7415,0},{6235,-7408,0},{6235,-7400,0},{6245,-7387,0},{6248,-7368,0}, {6247,-7365,0},{6238,-7357,0},{6238,-7352,0},{6238,-7347,0},{6237,-7345,0}, {6237,-7338,0},{6233,-7332,0},{6232,-7322,0},{6225,-7318,0},{6220,-7307,0}, {6218,-7307,0},{6215,-7292,0},{6213,-7290,0},{6212,-7295,0},{6212,-7292,0}, {6212,-7285,0},{6212,-7278,0},{6213,-7282,0},{6215,-7273,0},{6212,-7262,0}, {6205,-7267,0},{6205,-7260,0},{6203,-7262,0},{6202,-7260,0},{6197,-7260,0}, {6195,-7268,0},{6190,-7268,0},{6183,-7280,0},{6183,-7273,0},{6188,-7267,0}, {6185,-7267,0},{6180,-7262,0},{6183,-7260,0},{6190,-7263,0},{6195,-7260,0}, {6188,-7240,0},{6187,-7220,0},{6183,-7218,0},{6180,-7213,0},{6178,-7220,0}, {6178,-7218,0},{6177,-7222,0},{6173,-7222,0},{6175,-7213,0},{6173,-7208,0}, {6168,-7198,0},{6162,-7203,0},{6160,-7212,0},{6162,-7223,0},{6162,-7227,0}, {6157,-7230,0},{6160,-7222,0},{6158,-7210,0},{6160,-7198,0},{6167,-7193,0}, {6170,-7197,0},{6170,-7195,0},{6167,-7167,0},{6160,-7157,0},{6160,-7158,0}, {6157,-7155,0},{6153,-7185,0},{6152,-7185,0},{6152,-7178,0},{6150,-7177,0}, {6148,-7180,0},{6147,-7175,0},{6143,-7188,0},{6142,-7185,0},{6142,-7180,0}, {6140,-7170,0},{6140,-7158,0},{6137,-7170,0},{6137,-7182,0},{6135,-7180,0}, {6135,-7182,0},{6135,-7172,0},{6133,-7167,0},{6128,-7173,0},{6125,-7160,0}, {6120,-7163,0},{6122,-7158,0},{6120,-7157,0},{6115,-7158,0},{6117,-7150,0}, {6120,-7153,0},{6122,-7152,0},{6122,-7145,0},{6118,-7145,0},{6115,-7140,0}, {6112,-7137,0},{6115,-7137,0},{6117,-7122,0},{6112,-7120,0},{6113,-7117,0}, {6112,-7112,0},{6112,-7098,0},{6110,-7092,0},{6107,-7093,0},{6107,-7085,0}, {6105,-7077,0},{6108,-7078,0},{6107,-7072,0},{6105,-7065,0},{6102,-7068,0}, {6103,-7062,0},{6102,-7058,0},{6100,-7055,0},{6103,-7057,0},{6105,-7053,0}, {6107,-7053,0},{6102,-7043,0},{6105,-7045,0},{6105,-7042,0},{6108,-7042,0}, {6107,-7035,0},{6110,-7033,0},{6108,-7027,0},{6107,-7025,0},{6108,-7015,0}, {6107,-7015,0},{6107,-7010,0},{6102,-7017,0},{6102,-7010,0},{6098,-7012,0}, {6095,-7008,0},{6090,-7008,0},{6088,-7015,0},{6087,-7007,0},{6085,-7007,0}, {6085,-7000,0},{6080,-6993,0},{6085,-6985,0},{6083,-6992,0},{6085,-6993,0}, {6092,-6975,0},{6088,-6973,0},{6087,-6968,0},{6088,-6965,0},{6090,-6965,0}, {6095,-6968,0},{6102,-6968,0},{6108,-6960,0},{6107,-6952,0},{6093,-6942,0}, {6092,-6943,0},{6090,-6937,0},{6087,-6938,0},{6080,-6938,0},{6073,-6958,0}, {6070,-6965,0},{6068,-6972,0},{6065,-6968,0},{6060,-6970,0},{6060,-6965,0}, {6057,-6965,0},{6055,-6970,0},{6053,-6983,0},{6047,-6975,0},{6042,-6978,0}, {6040,-6973,0},{6037,-6972,0},{6032,-6977,0},{6028,-6970,0},{6023,-6965,0}, {6023,-6960,0},{6020,-6962,0},{6018,-6965,0},{6018,-6960,0},{6007,-6962,0}, {6007,-6970,0},{6003,-6972,0},{6007,-6978,0},{6007,-6983,0},{6002,-6983,0}, {6000,-6977,0},{5998,-6980,0},{6002,-6995,0},{6000,-7022,0},{6003,-7033,0}, {6000,-7032,0},{6000,-7055,0},{6007,-7098,0},{6007,-7103,0},{5997,-7057,0}, {5998,-7023,0},{5997,-7018,0},{5995,-7007,0},{5997,-6973,0},{5992,-6972,0}, {5990,-6977,0},{5987,-6957,0},{5983,-6960,0},{5978,-6962,0},{5977,-6955,0}, {5968,-6965,0},{5970,-6960,0},{5967,-6952,0},{5960,-6955,0},{5957,-6968,0}, {5950,-6975,0},{5948,-6975,0},{5948,-6970,0},{5945,-6967,0},{5942,-6965,0}, {5938,-6967,0},{5937,-6963,0},{5937,-6965,0},{5935,-6975,0},{5932,-6975,0}, {5930,-6973,0},{5930,-6965,0},{5932,-6960,0},{5935,-6942,0},{5933,-6937,0}, {5930,-6937,0},{5933,-6930,0},{5932,-6925,0},{5928,-6927,0},{5927,-6923,0}, {5922,-6925,0},{5920,-6928,0},{5923,-6933,0},{5925,-6935,0},{5922,-6937,0}, {5918,-6937,0},{5920,-6942,0},{5922,-6942,0},{5922,-6943,0},{5917,-6953,0}, {5910,-6953,0},{5913,-6947,0},{5910,-6943,0},{5912,-6937,0},{5908,-6935,0}, {5907,-6942,0},{5902,-6943,0},{5907,-6948,0},{5907,-6950,0},{5890,-6945,0}, {5887,-6947,0},{5888,-6952,0},{5880,-6955,0},{5878,-6965,0},{5880,-6968,0}, {5887,-6972,0},{5888,-6967,0},{5893,-6967,0},{5892,-6970,0},{5892,-6972,0}, {5897,-6972,0},{5898,-6975,0},{5897,-6978,0},{5905,-6987,0},{5898,-6987,0}, {5895,-6990,0},{5895,-6983,0},{5893,-6980,0},{5882,-6980,0},{5887,-6988,0}, {5887,-6990,0},{5883,-6990,0},{5880,-6997,0},{5882,-7003,0},{5878,-7010,0}, {5877,-7025,0},{5875,-7007,0},{5873,-7003,0},{5877,-6992,0},{5870,-6992,0}, {5870,-6988,0},{5872,-6985,0},{5870,-6980,0},{5868,-6982,0},{5865,-6988,0}, {5858,-6982,0},{5870,-6970,0},{5870,-6965,0},{5875,-6960,0},{5877,-6950,0}, {5885,-6940,0},{5888,-6928,0},{5890,-6925,0},{5888,-6920,0},{5890,-6915,0}, {5890,-6898,0},{5888,-6900,0},{5887,-6897,0},{5888,-6887,0},{5892,-6877,0}, {5890,-6873,0},{5890,-6863,0},{5883,-6850,0},{5882,-6840,0},{5878,-6840,0}, {5878,-6835,0},{5875,-6837,0},{5870,-6838,0},{5867,-6833,0},{5860,-6835,0}, {5858,-6833,0},{5860,-6828,0},{5858,-6827,0},{5853,-6830,0},{5855,-6820,0}, {5848,-6822,0},{5843,-6820,0},{5833,-6825,0},{5823,-6832,0},{5813,-6835,0}, {5805,-6845,0},{5803,-6850,0},{5802,-6870,0},{5797,-6887,0},{5797,-6897,0}, {5792,-6902,0},{5790,-6913,0},{5787,-6922,0},{5777,-6937,0},{5783,-6922,0}, {5788,-6913,0},{5793,-6895,0},{5800,-6868,0},{5800,-6855,0},{5803,-6840,0}, {5807,-6838,0},{5810,-6832,0},{5820,-6830,0},{5825,-6823,0},{5830,-6823,0}, {5842,-6817,0},{5848,-6817,0},{5853,-6813,0},{5852,-6803,0},{5858,-6800,0}, {5855,-6797,0},{5852,-6797,0},{5850,-6790,0},{5840,-6792,0},{5835,-6790,0}, {5832,-6785,0},{5825,-6790,0},{5813,-6810,0},{5807,-6813,0},{5813,-6800,0}, {5820,-6797,0},{5823,-6787,0},{5827,-6787,0},{5830,-6780,0},{5835,-6783,0}, {5847,-6777,0},{5843,-6767,0},{5838,-6770,0},{5835,-6770,0},{5832,-6773,0}, {5830,-6772,0},{5828,-6773,0},{5828,-6768,0},{5825,-6765,0},{5817,-6770,0}, {5807,-6767,0},{5797,-6773,0},{5792,-6772,0},{5798,-6770,0},{5805,-6763,0}, {5812,-6765,0},{5822,-6758,0},{5823,-6752,0},{5827,-6748,0},{5828,-6742,0}, {5828,-6738,0},{5832,-6733,0},{5833,-6727,0},{5833,-6722,0},{5838,-6717,0}, {5835,-6708,0},{5838,-6705,0},{5842,-6708,0},{5842,-6702,0},{5850,-6695,0}, {5848,-6688,0},{5845,-6690,0},{5843,-6685,0},{5845,-6683,0},{5847,-6680,0}, {5850,-6680,0},{5848,-6662,0},{5853,-6667,0},{5855,-6662,0},{5860,-6662,0}, {5863,-6658,0},{5867,-6660,0},{5867,-6657,0},{5872,-6655,0},{5872,-6647,0}, {5873,-6645,0},{5875,-6648,0},{5880,-6645,0},{5882,-6647,0},{5885,-6638,0}, {5872,-6612,0},{5865,-6607,0},{5867,-6602,0},{5865,-6600,0},{5863,-6600,0}, {5862,-6593,0},{5850,-6602,0},{5840,-6598,0},{5837,-6608,0},{5832,-6607,0}, {5837,-6603,0},{5838,-6597,0},{5843,-6595,0},{5845,-6592,0},{5848,-6598,0}, {5853,-6590,0},{5858,-6588,0},{5857,-6583,0},{5862,-6587,0},{5865,-6593,0}, {5868,-6595,0},{5868,-6603,0},{5875,-6605,0},{5877,-6610,0},{5887,-6602,0}, {5883,-6598,0},{5883,-6595,0},{5883,-6585,0},{5885,-6580,0},{5887,-6580,0}, {5888,-6595,0},{5890,-6598,0},{5895,-6585,0},{5902,-6588,0},{5893,-6568,0}, {5897,-6568,0},{5900,-6580,0},{5902,-6573,0},{5903,-6578,0},{5905,-6567,0}, {5903,-6562,0},{5900,-6557,0},{5898,-6550,0},{5900,-6552,0},{5902,-6557,0}, {5905,-6558,0},{5907,-6552,0},{5903,-6545,0},{5903,-6532,0},{5907,-6535,0}, {5907,-6543,0},{5910,-6555,0},{5908,-6557,0},{5907,-6563,0},{5915,-6572,0}, {5918,-6572,0},{5920,-6568,0},{5922,-6573,0},{5927,-6575,0},{5927,-6568,0}, {5918,-6558,0},{5925,-6562,0},{5923,-6557,0},{5927,-6555,0},{5925,-6552,0}, {5925,-6550,0},{5930,-6557,0},{5938,-6558,0},{5935,-6548,0},{5932,-6545,0}, {5928,-6535,0},{5933,-6540,0},{5935,-6545,0},{5940,-6543,0},{5940,-6538,0}, {5943,-6550,0},{5945,-6547,0},{5945,-6548,0},{5948,-6557,0},{5947,-6543,0}, {5948,-6537,0},{5947,-6518,0},{5940,-6513,0},{5937,-6502,0},{5938,-6498,0}, {5942,-6512,0},{5947,-6517,0},{5948,-6522,0},{5948,-6527,0},{5952,-6530,0}, {5952,-6542,0},{5973,-6555,0},{5977,-6547,0},{5980,-6548,0},{5978,-6543,0}, {5982,-6542,0},{5980,-6537,0},{5982,-6538,0},{5985,-6533,0},{5982,-6520,0}, {5978,-6515,0},{5977,-6498,0},{5980,-6513,0},{5983,-6522,0},{5985,-6520,0}, {5988,-6523,0},{5987,-6515,0},{5988,-6513,0},{5992,-6522,0},{5992,-6515,0}, {5995,-6513,0},{5993,-6507,0},{5997,-6512,0},{5998,-6507,0},{6002,-6513,0}, {6005,-6512,0},{6005,-6505,0},{6007,-6503,0},{6010,-6507,0},{6012,-6498,0}, {6015,-6500,0},{6015,-6497,0},{6018,-6495,0},{6020,-6488,0},{6025,-6495,0}, {6027,-6490,0},{6030,-6485,0},{6033,-6483,0},{6037,-6485,0},{6037,-6483,0}, {6033,-6470,0},{6033,-6467,0},{6035,-6470,0},{6035,-6463,0},{6025,-6438,0}, {6028,-6462,0},{6027,-6472,0},{6023,-6477,0},{6027,-6463,0},{6027,-6455,0}, {6023,-6447,0},{6017,-6457,0},{6017,-6450,0},{6022,-6440,0},{6020,-6443,0}, {6020,-6440,0},{6017,-6438,0},{6012,-6448,0},{6008,-6448,0},{6007,-6463,0}, {6000,-6482,0},{5998,-6482,0},{6005,-6460,0},{6007,-6445,0},{6013,-6438,0}, {6012,-6437,0},{6007,-6437,0},{6007,-6442,0},{6005,-6437,0},{6002,-6438,0}, {6000,-6443,0},{6000,-6458,0},{6000,-6448,0},{5997,-6440,0},{5993,-6440,0}, {5990,-6452,0},{5992,-6437,0},{5995,-6437,0},{5998,-6433,0},{6000,-6422,0}, {6002,-6432,0},{6005,-6432,0},{6005,-6430,0},{6003,-6422,0},{6002,-6420,0}, {6002,-6417,0},{5998,-6415,0},{5995,-6430,0},{5995,-6422,0},{5992,-6418,0}, {5990,-6420,0},{5987,-6427,0},{5988,-6417,0},{5992,-6415,0},{5990,-6413,0}, {5983,-6417,0},{5978,-6418,0},{5977,-6422,0},{5978,-6427,0},{5977,-6427,0}, {5968,-6417,0},{5968,-6395,0},{5967,-6397,0},{5965,-6392,0},{5963,-6395,0}, {5963,-6405,0},{5952,-6412,0},{5955,-6403,0},{5963,-6400,0},{5960,-6393,0}, {5962,-6388,0},{5960,-6387,0},{5958,-6387,0},{5957,-6393,0},{5950,-6398,0}, {5957,-6387,0},{5952,-6373,0},{5942,-6380,0},{5942,-6398,0},{5940,-6405,0}, {5938,-6407,0},{5938,-6383,0},{5937,-6380,0},{5938,-6377,0},{5938,-6375,0}, {5935,-6375,0},{5937,-6372,0},{5927,-6377,0},{5925,-6382,0},{5923,-6380,0}, {5925,-6373,0},{5933,-6370,0},{5937,-6365,0},{5935,-6362,0},{5935,-6355,0}, {5932,-6352,0},{5927,-6353,0},{5923,-6358,0},{5922,-6363,0},{5922,-6360,0}, {5923,-6352,0},{5928,-6345,0},{5928,-6338,0},{5925,-6342,0},{5923,-6345,0}, {5922,-6343,0},{5920,-6347,0},{5922,-6338,0},{5920,-6335,0},{5913,-6342,0}, {5910,-6348,0},{5910,-6353,0},{5907,-6358,0},{5905,-6377,0},{5908,-6393,0}, {5907,-6398,0},{5902,-6405,0},{5903,-6398,0},{5907,-6393,0},{5905,-6390,0}, {5902,-6392,0},{5895,-6387,0},{5903,-6387,0},{5903,-6378,0},{5902,-6375,0}, {5903,-6365,0},{5903,-6353,0},{5907,-6347,0},{5907,-6342,0},{5910,-6337,0}, {5908,-6330,0},{5907,-6328,0},{5905,-6312,0},{5903,-6313,0},{5903,-6317,0}, {5902,-6333,0},{5900,-6322,0},{5895,-6330,0},{5898,-6320,0},{5898,-6317,0}, {5895,-6317,0},{5893,-6323,0},{5893,-6317,0},{5888,-6323,0},{5885,-6332,0}, {5885,-6318,0},{5887,-6317,0},{5885,-6317,0},{5882,-6317,0},{5885,-6312,0}, {5888,-6312,0},{5890,-6307,0},{5888,-6298,0},{5887,-6305,0},{5885,-6302,0}, {5880,-6290,0},{5875,-6292,0},{5870,-6303,0},{5870,-6297,0},{5872,-6290,0}, {5870,-6287,0},{5867,-6285,0},{5863,-6292,0},{5860,-6292,0},{5855,-6310,0}, {5850,-6317,0},{5850,-6330,0},{5850,-6332,0},{5850,-6342,0},{5852,-6343,0}, {5850,-6345,0},{5847,-6352,0},{5848,-6342,0},{5847,-6333,0},{5845,-6335,0}, {5840,-6342,0},{5835,-6353,0},{5830,-6358,0},{5837,-6342,0},{5847,-6327,0}, {5845,-6308,0},{5837,-6317,0},{5845,-6305,0},{5843,-6302,0},{5847,-6293,0}, {5847,-6282,0},{5850,-6278,0},{5845,-6277,0},{5848,-6275,0},{5850,-6262,0}, {5848,-6255,0},{5842,-6265,0},{5838,-6262,0},{5830,-6262,0},{5828,-6270,0}, {5827,-6272,0},{5827,-6285,0},{5822,-6290,0},{5820,-6288,0},{5822,-6287,0}, {5825,-6283,0},{5825,-6268,0},{5827,-6265,0},{5825,-6260,0},{5822,-6258,0}, {5822,-6262,0},{5818,-6263,0},{5817,-6267,0},{5815,-6307,0},{5813,-6302,0}, {5812,-6302,0},{5807,-6322,0},{5805,-6318,0},{5807,-6313,0},{5803,-6315,0}, {5798,-6333,0},{5800,-6313,0},{5802,-6310,0},{5807,-6308,0},{5808,-6297,0}, {5813,-6293,0},{5815,-6283,0},{5812,-6285,0},{5813,-6278,0},{5812,-6275,0}, {5815,-6272,0},{5812,-6267,0},{5813,-6263,0},{5817,-6257,0},{5812,-6257,0}, {5813,-6253,0},{5817,-6253,0},{5818,-6247,0},{5817,-6245,0},{5810,-6253,0}, {5805,-6252,0},{5807,-6248,0},{5810,-6248,0},{5810,-6245,0},{5810,-6237,0}, {5808,-6243,0},{5807,-6238,0},{5805,-6238,0},{5807,-6233,0},{5803,-6230,0}, {5800,-6238,0},{5800,-6253,0},{5797,-6258,0},{5795,-6265,0},{5793,-6267,0}, {5797,-6252,0},{5795,-6242,0},{5793,-6243,0},{5787,-6242,0},{5795,-6238,0}, {5798,-6235,0},{5790,-6233,0},{5795,-6228,0},{5790,-6220,0},{5793,-6220,0}, {5797,-6215,0},{5797,-6213,0},{5795,-6208,0},{5790,-6207,0},{5783,-6213,0}, {5780,-6212,0},{5778,-6208,0},{5777,-6200,0},{5772,-6195,0},{5768,-6197,0}, {5767,-6193,0},{5767,-6190,0},{5762,-6188,0},{5758,-6205,0},{5757,-6208,0}, {5755,-6207,0},{5753,-6213,0},{5753,-6227,0},{5745,-6233,0},{5750,-6253,0}, {5750,-6255,0},{5742,-6237,0},{5747,-6217,0},{5745,-6205,0},{5742,-6188,0}, {5737,-6180,0},{5737,-6192,0},{5733,-6187,0},{5728,-6187,0},{5725,-6195,0}, {5725,-6203,0},{5723,-6202,0},{5722,-6190,0},{5717,-6185,0},{5720,-6177,0}, {5715,-6178,0},{5723,-6163,0},{5722,-6162,0},{5720,-6167,0},{5715,-6170,0}, {5715,-6165,0},{5717,-6148,0},{5715,-6145,0},{5710,-6137,0},{5705,-6138,0}, {5702,-6135,0},{5700,-6137,0},{5698,-6135,0},{5695,-6135,0},{5698,-6138,0}, {5697,-6143,0},{5698,-6148,0},{5695,-6155,0},{5692,-6157,0},{5688,-6165,0}, {5682,-6165,0},{5680,-6168,0},{5678,-6182,0},{5680,-6190,0},{5670,-6188,0}, {5675,-6185,0},{5675,-6177,0},{5673,-6170,0},{5672,-6170,0},{5670,-6173,0}, {5670,-6182,0},{5668,-6180,0},{5665,-6167,0},{5662,-6167,0},{5665,-6192,0}, {5668,-6190,0},{5667,-6200,0},{5668,-6207,0},{5672,-6220,0},{5677,-6248,0}, {5678,-6250,0},{5683,-6228,0},{5682,-6213,0},{5682,-6207,0},{5683,-6205,0}, {5685,-6230,0},{5683,-6243,0},{5685,-6250,0},{5683,-6255,0},{5680,-6258,0}, {5677,-6252,0},{5677,-6250,0},{5675,-6240,0},{5670,-6233,0},{5667,-6215,0}, {5663,-6205,0},{5662,-6192,0},{5662,-6193,0},{5662,-6223,0},{5662,-6222,0}, {5660,-6203,0},{5658,-6200,0},{5658,-6187,0},{5657,-6178,0},{5657,-6172,0}, {5653,-6165,0},{5652,-6165,0},{5650,-6168,0},{5650,-6193,0},{5650,-6207,0}, {5648,-6208,0},{5648,-6195,0},{5647,-6195,0},{5645,-6200,0},{5645,-6213,0}, {5642,-6207,0},{5642,-6197,0},{5643,-6193,0},{5642,-6190,0},{5640,-6178,0}, {5638,-6185,0},{5637,-6178,0},{5633,-6177,0},{5633,-6172,0},{5633,-6173,0}, {5632,-6172,0},{5632,-6165,0},{5628,-6158,0},{5630,-6177,0},{5630,-6182,0}, {5630,-6180,0},{5627,-6167,0},{5625,-6178,0},{5627,-6183,0},{5627,-6177,0}, {5628,-6175,0},{5630,-6188,0},{5628,-6195,0},{5630,-6202,0},{5628,-6208,0}, {5625,-6200,0},{5623,-6202,0},{5622,-6192,0},{5623,-6187,0},{5622,-6183,0}, {5622,-6177,0},{5620,-6177,0},{5622,-6165,0},{5622,-6157,0},{5620,-6157,0}, {5622,-6135,0},{5618,-6133,0},{5617,-6138,0},{5612,-6142,0},{5615,-6135,0}, {5613,-6135,0},{5610,-6133,0},{5608,-6140,0},{5605,-6145,0},{5603,-6142,0}, {5607,-6132,0},{5605,-6123,0},{5603,-6132,0},{5602,-6127,0},{5602,-6148,0}, {5600,-6150,0},{5600,-6138,0},{5598,-6138,0},{5597,-6140,0},{5600,-6142,0}, {5600,-6147,0},{5597,-6140,0},{5597,-6112,0},{5593,-6107,0},{5590,-6108,0}, {5588,-6120,0},{5587,-6120,0},{5585,-6110,0},{5587,-6093,0},{5585,-6073,0}, {5580,-6073,0},{5577,-6077,0},{5575,-6080,0},{5577,-6082,0},{5575,-6088,0}, {5575,-6097,0},{5573,-6095,0},{5573,-6087,0},{5573,-6075,0},{5582,-6065,0}, {5582,-6060,0},{5578,-6062,0},{5570,-6060,0},{5567,-6065,0},{5563,-6063,0}, {5557,-6068,0},{5563,-6060,0},{5580,-6050,0},{5580,-6045,0},{5577,-6043,0}, {5578,-6040,0},{5577,-6037,0},{5578,-6035,0},{5578,-6033,0},{5575,-6033,0}, {5572,-6038,0},{5568,-6037,0},{5567,-6048,0},{5560,-6053,0},{5563,-6047,0}, {5560,-6038,0},{5550,-6045,0},{5558,-6033,0},{5557,-6032,0},{5553,-6033,0}, {5552,-6030,0},{5552,-6032,0},{5552,-6033,0},{5545,-6042,0},{5545,-6045,0}, {5540,-6043,0},{5535,-6048,0},{5538,-6042,0},{5543,-6042,0},{5548,-6032,0}, {5548,-6030,0},{5543,-6037,0},{5545,-6032,0},{5543,-6032,0},{5543,-6028,0}, {5548,-6028,0},{5550,-6027,0},{5548,-6020,0},{5543,-6022,0},{5543,-6020,0}, {5540,-6035,0},{5532,-6042,0},{5528,-6040,0},{5528,-6043,0},{5528,-6047,0}, {5520,-6053,0},{5517,-6062,0},{5518,-6055,0},{5523,-6048,0},{5522,-6043,0}, {5523,-6042,0},{5527,-6037,0},{5525,-6035,0},{5518,-6047,0},{5512,-6052,0}, {5505,-6067,0},{5503,-6067,0},{5500,-6068,0},{5503,-6062,0},{5507,-6058,0}, {5510,-6048,0},{5515,-6045,0},{5517,-6040,0},{5515,-6040,0},{5517,-6037,0}, {5523,-6027,0},{5525,-6020,0},{5528,-6017,0},{5528,-6013,0},{5520,-6020,0}, {5523,-6013,0},{5527,-6005,0},{5527,-6002,0},{5510,-6018,0},{5510,-6022,0}, {5510,-6023,0},{5505,-6028,0},{5502,-6030,0},{5513,-6010,0},{5523,-6002,0}, {5523,-5992,0},{5527,-5992,0},{5533,-5978,0},{5528,-5975,0},{5527,-5972,0}, {5522,-5975,0},{5520,-5973,0},{5520,-5977,0},{5515,-5987,0},{5517,-5997,0}, {5512,-5997,0},{5513,-5992,0},{5513,-5987,0},{5512,-5987,0},{5510,-5980,0}, {5513,-5977,0},{5515,-5973,0},{5513,-5963,0},{5517,-5953,0},{5520,-5953,0}, {5522,-5950,0},{5518,-5948,0},{5513,-5950,0},{5513,-5943,0},{5510,-5948,0}, {5505,-5952,0},{5505,-5957,0},{5500,-5963,0},{5500,-5968,0},{5498,-5968,0}, {5497,-5973,0},{5495,-5972,0},{5488,-5983,0},{5485,-5987,0},{5485,-5982,0}, {5482,-5983,0},{5478,-5988,0},{5475,-5995,0},{5475,-5993,0},{5475,-5988,0}, {5478,-5978,0},{5483,-5980,0},{5490,-5975,0},{5495,-5960,0},{5507,-5943,0}, {5503,-5940,0},{5518,-5928,0},{5522,-5922,0},{5517,-5922,0},{5518,-5918,0}, {5523,-5917,0},{5520,-5913,0},{5515,-5913,0},{5510,-5925,0},{5505,-5928,0}, {5500,-5937,0},{5497,-5938,0},{5502,-5933,0},{5502,-5930,0},{5503,-5925,0}, {5508,-5923,0},{5510,-5918,0},{5507,-5915,0},{5512,-5913,0},{5512,-5910,0}, {5508,-5912,0},{5508,-5908,0},{5515,-5907,0},{5515,-5903,0},{5515,-5902,0}, {5512,-5900,0},{5513,-5897,0},{5510,-5895,0},{5500,-5905,0},{5502,-5898,0}, {5500,-5897,0},{5495,-5890,0},{5490,-5902,0},{5490,-5893,0},{5492,-5893,0}, {5492,-5890,0},{5492,-5888,0},{5490,-5888,0},{5485,-5892,0},{5485,-5890,0}, {5483,-5883,0},{5485,-5882,0},{5485,-5877,0},{5480,-5875,0},{5485,-5873,0}, {5485,-5868,0},{5482,-5868,0},{5480,-5860,0},{5480,-5852,0},{5477,-5857,0}, {5478,-5850,0},{5477,-5843,0},{5473,-5842,0},{5475,-5838,0},{5478,-5838,0}, {5480,-5825,0},{5480,-5818,0},{5477,-5820,0},{5475,-5817,0},{5473,-5802,0}, {5472,-5800,0},{5473,-5795,0},{5473,-5785,0},{5470,-5780,0},{5468,-5778,0}, {5468,-5773,0},{5465,-5772,0},{5463,-5770,0},{5463,-5758,0},{5467,-5753,0}, {5465,-5745,0},{5463,-5743,0},{5462,-5742,0},{5458,-5742,0},{5458,-5735,0}, {5457,-5735,0},{5455,-5743,0},{5455,-5738,0},{5450,-5738,0},{5448,-5742,0}, {5447,-5770,0},{5447,-5747,0},{5445,-5742,0},{5445,-5745,0},{5447,-5747,0}, {5445,-5753,0},{5442,-5752,0},{5438,-5762,0},{5437,-5783,0},{5438,-5787,0}, {5438,-5793,0},{5437,-5815,0},{5435,-5818,0},{5433,-5818,0},{5432,-5827,0}, {5433,-5810,0},{5428,-5825,0},{5425,-5823,0},{5423,-5845,0},{5415,-5870,0}, {5413,-5892,0},{5405,-5938,0},{5407,-5952,0},{5405,-5957,0},{5403,-5958,0}, {5402,-5952,0},{5400,-5952,0},{5402,-5943,0},{5402,-5932,0},{5407,-5902,0}, {5410,-5882,0},{5413,-5875,0},{5412,-5868,0},{5418,-5857,0},{5420,-5847,0}, {5423,-5842,0},{5423,-5837,0},{5415,-5845,0},{5412,-5853,0},{5410,-5853,0}, {5403,-5863,0},{5403,-5903,0},{5402,-5892,0},{5397,-5898,0},{5393,-5920,0}, {5383,-5947,0},{5382,-5960,0},{5383,-5968,0},{5385,-5980,0},{5383,-5988,0}, {5382,-5987,0},{5380,-5980,0},{5378,-5982,0},{5378,-5992,0},{5377,-6005,0}, {5378,-6013,0},{5370,-6002,0},{5370,-6007,0},{5368,-6010,0},{5362,-6012,0}, {5357,-6007,0},{5353,-6013,0},{5355,-6015,0},{5357,-6020,0},{5363,-6035,0}, {5367,-6038,0},{5370,-6052,0},{5373,-6068,0},{5377,-6080,0},{5383,-6087,0}, {5380,-6085,0},{5375,-6088,0},{5373,-6093,0},{5372,-6092,0},{5372,-6082,0}, {5372,-6075,0},{5368,-6053,0},{5355,-6027,0},{5355,-6018,0},{5350,-6010,0}, {5350,-6005,0},{5343,-6003,0},{5347,-6008,0},{5343,-6018,0},{5338,-6030,0}, {5338,-6033,0},{5335,-6037,0},{5337,-6040,0},{5335,-6042,0},{5333,-6038,0}, {5335,-6018,0},{5332,-6020,0},{5327,-6042,0},{5327,-6025,0},{5332,-6017,0}, {5327,-6012,0},{5330,-6008,0},{5332,-6013,0},{5333,-6015,0},{5335,-6003,0}, {5347,-5990,0},{5345,-5987,0},{5348,-5987,0},{5347,-5982,0},{5348,-5978,0}, {5352,-5990,0},{5353,-5988,0},{5352,-5975,0},{5353,-5958,0},{5358,-5947,0}, {5362,-5938,0},{5365,-5937,0},{5365,-5933,0},{5368,-5930,0},{5367,-5928,0}, {5368,-5922,0},{5367,-5917,0},{5368,-5908,0},{5372,-5907,0},{5372,-5902,0}, {5375,-5902,0},{5375,-5905,0},{5380,-5907,0},{5388,-5888,0},{5395,-5883,0}, {5397,-5870,0},{5398,-5860,0},{5402,-5855,0},{5403,-5842,0},{5405,-5832,0}, {5407,-5822,0},{5410,-5813,0},{5407,-5795,0},{5407,-5778,0},{5410,-5785,0}, {5410,-5797,0},{5413,-5803,0},{5413,-5817,0},{5408,-5832,0},{5413,-5842,0}, {5420,-5835,0},{5420,-5823,0},{5423,-5823,0},{5423,-5818,0},{5423,-5803,0}, {5420,-5792,0},{5422,-5788,0},{5420,-5785,0},{5422,-5778,0},{5418,-5778,0}, {5420,-5765,0},{5418,-5760,0},{5417,-5762,0},{5418,-5757,0},{5417,-5753,0}, {5420,-5747,0},{5418,-5743,0},{5415,-5738,0},{5413,-5740,0},{5413,-5737,0}, {5410,-5737,0},{5400,-5730,0},{5397,-5723,0},{5393,-5715,0},{5393,-5722,0}, {5388,-5722,0},{5385,-5715,0},{5382,-5708,0},{5382,-5713,0},{5380,-5710,0}, {5378,-5715,0},{5377,-5717,0},{5373,-5712,0},{5363,-5748,0},{5358,-5755,0}, {5362,-5745,0},{5360,-5745,0},{5358,-5732,0},{5355,-5735,0},{5353,-5730,0}, {5350,-5730,0},{5343,-5737,0},{5343,-5728,0},{5348,-5728,0},{5353,-5715,0}, {5357,-5713,0},{5357,-5717,0},{5358,-5713,0},{5362,-5713,0},{5363,-5708,0}, {5367,-5707,0},{5372,-5702,0},{5373,-5697,0},{5372,-5688,0},{5373,-5683,0}, {5372,-5680,0},{5373,-5678,0},{5373,-5675,0},{5375,-5675,0},{5375,-5670,0}, {5372,-5667,0},{5373,-5662,0},{5375,-5663,0},{5377,-5662,0},{5378,-5648,0}, {5377,-5643,0},{5373,-5643,0},{5373,-5642,0},{5372,-5643,0},{5370,-5655,0}, {5367,-5660,0},{5368,-5670,0},{5367,-5673,0},{5362,-5648,0},{5363,-5633,0}, {5360,-5627,0},{5360,-5633,0},{5358,-5635,0},{5358,-5632,0},{5357,-5603,0}, {5355,-5598,0},{5350,-5600,0},{5352,-5607,0},{5353,-5605,0},{5353,-5607,0}, {5357,-5625,0},{5355,-5627,0},{5353,-5627,0},{5347,-5603,0},{5343,-5603,0}, {5342,-5597,0},{5337,-5603,0},{5337,-5598,0},{5340,-5592,0},{5337,-5587,0}, {5335,-5588,0},{5333,-5580,0},{5332,-5583,0},{5330,-5592,0},{5328,-5582,0}, {5327,-5582,0},{5325,-5587,0},{5323,-5583,0},{5323,-5578,0},{5327,-5577,0}, {5325,-5575,0},{5320,-5578,0},{5320,-5583,0},{5318,-5580,0},{5318,-5577,0}, {5317,-5577,0},{5313,-5575,0},{5310,-5583,0},{5312,-5595,0},{5308,-5588,0}, {5303,-5592,0},{5303,-5605,0},{5303,-5617,0},{5302,-5608,0},{5298,-5613,0}, {5297,-5612,0},{5300,-5603,0},{5300,-5595,0},{5297,-5588,0},{5295,-5592,0}, {5292,-5583,0},{5290,-5583,0},{5288,-5580,0},{5283,-5580,0},{5282,-5588,0}, {5282,-5590,0},{5282,-5597,0},{5280,-5600,0},{5278,-5592,0},{5277,-5600,0}, {5280,-5605,0},{5282,-5617,0},{5278,-5615,0},{5277,-5605,0},{5272,-5602,0}, {5272,-5600,0},{5268,-5597,0},{5268,-5578,0},{5265,-5573,0},{5263,-5578,0}, {5262,-5575,0},{5260,-5580,0},{5262,-5583,0},{5262,-5590,0},{5263,-5593,0}, {5265,-5605,0},{5265,-5610,0},{5265,-5612,0},{5265,-5605,0},{5262,-5597,0}, {5258,-5605,0},{5257,-5598,0},{5255,-5600,0},{5257,-5608,0},{5253,-5622,0}, {5258,-5633,0},{5260,-5650,0},{5257,-5645,0},{5257,-5635,0},{5253,-5625,0}, {5253,-5617,0},{5255,-5612,0},{5253,-5603,0},{5250,-5597,0},{5252,-5583,0}, {5248,-5585,0},{5250,-5575,0},{5247,-5573,0},{5245,-5577,0},{5243,-5565,0}, {5240,-5567,0},{5237,-5563,0},{5235,-5565,0},{5238,-5573,0},{5238,-5580,0}, {5237,-5582,0},{5237,-5578,0},{5235,-5577,0},{5233,-5578,0},{5243,-5620,0}, {5240,-5613,0},{5237,-5597,0},{5235,-5595,0},{5232,-5582,0},{5230,-5585,0}, {5230,-5578,0},{5228,-5577,0},{5230,-5570,0},{5227,-5572,0},{5225,-5578,0}, {5223,-5578,0},{5225,-5573,0},{5223,-5567,0},{5222,-5562,0},{5222,-5578,0}, {5218,-5575,0},{5218,-5568,0},{5213,-5572,0},{5210,-5568,0},{5208,-5570,0}, {5208,-5580,0},{5205,-5577,0},{5200,-5585,0},{5202,-5597,0},{5197,-5590,0}, {5193,-5592,0},{5187,-5612,0},{5182,-5620,0},{5178,-5622,0},{5178,-5635,0}, {5175,-5635,0},{5173,-5640,0},{5175,-5643,0},{5168,-5648,0},{5165,-5658,0}, {5165,-5668,0},{5160,-5668,0},{5157,-5675,0},{5153,-5677,0},{5153,-5680,0}, {5148,-5682,0},{5147,-5685,0},{5148,-5693,0},{5142,-5695,0},{5142,-5708,0}, {5142,-5715,0},{5142,-5717,0},{5142,-5722,0},{5150,-5725,0},{5148,-5738,0}, {5147,-5740,0},{5148,-5743,0},{5147,-5745,0},{5145,-5745,0},{5145,-5747,0}, {5147,-5748,0},{5143,-5752,0},{5143,-5760,0},{5147,-5758,0},{5143,-5762,0}, {5143,-5768,0},{5148,-5768,0},{5147,-5775,0},{5140,-5777,0},{5142,-5780,0}, {5143,-5780,0},{5142,-5782,0},{5132,-5802,0},{5128,-5813,0},{5130,-5815,0}, {5127,-5822,0},{5128,-5827,0},{5133,-5825,0},{5133,-5828,0},{5132,-5827,0}, {5130,-5828,0},{5128,-5830,0},{5127,-5830,0},{5130,-5842,0},{5130,-5848,0}, {5125,-5858,0},{5127,-5860,0},{5128,-5863,0},{5123,-5863,0},{5123,-5865,0}, {5125,-5867,0},{5122,-5867,0},{5118,-5860,0},{5115,-5862,0},{5113,-5867,0}, {5110,-5873,0},{5108,-5878,0},{5107,-5882,0},{5108,-5883,0},{5105,-5885,0}, {5103,-5883,0},{5100,-5888,0},{5100,-5892,0},{5103,-5888,0},{5105,-5890,0}, {5102,-5897,0},{5102,-5900,0},{5100,-5900,0},{5100,-5895,0},{5095,-5897,0}, {5093,-5895,0},{5090,-5897,0},{5088,-5893,0},{5087,-5898,0},{5083,-5895,0}, {5078,-5903,0},{5075,-5902,0},{5077,-5907,0},{5078,-5910,0},{5082,-5910,0}, {5087,-5905,0},{5088,-5907,0},{5088,-5910,0},{5080,-5912,0},{5075,-5920,0}, {5073,-5920,0},{5073,-5922,0},{5075,-5923,0},{5075,-5927,0},{5072,-5927,0}, {5070,-5932,0},{5067,-5935,0},{5067,-5942,0},{5063,-5942,0},{5062,-5947,0}, {5057,-5948,0},{5057,-5952,0},{5053,-5952,0},{5052,-5955,0},{5048,-5958,0}, {5047,-5972,0},{5043,-5975,0},{5043,-5982,0},{5037,-5988,0},{5037,-5985,0}, {5033,-5985,0},{5035,-5982,0},{5032,-5983,0},{5028,-5992,0},{5025,-5995,0}, {5023,-6003,0},{5025,-6007,0},{5023,-6012,0},{5020,-6013,0},{5023,-6013,0}, {5023,-6017,0},{5025,-6015,0},{5028,-6015,0},{5028,-6018,0},{5023,-6025,0}, {5023,-6027,0},{5027,-6023,0},{5027,-6027,0},{5028,-6028,0},{5025,-6028,0}, {5025,-6037,0},{5022,-6037,0},{5025,-6040,0},{5023,-6043,0},{5027,-6045,0}, {5020,-6058,0},{5022,-6062,0},{5025,-6062,0},{5022,-6067,0},{5023,-6067,0}, {5023,-6075,0},{5020,-6078,0},{5022,-6082,0},{5022,-6083,0},{5027,-6078,0}, {5022,-6092,0},{5020,-6093,0},{5022,-6095,0},{5023,-6103,0},{5020,-6105,0}, {5022,-6110,0},{5018,-6112,0},{5020,-6115,0},{5018,-6117,0},{5020,-6120,0}, {5020,-6130,0},{5008,-6172,0},{5010,-6178,0},{5015,-6160,0},{5018,-6158,0}, {5013,-6175,0},{5013,-6180,0},{5018,-6182,0},{5020,-6185,0},{5023,-6187,0}, {5023,-6222,0},{5027,-6228,0},{5027,-6230,0},{5028,-6232,0},{5027,-6238,0}, {5030,-6240,0},{5025,-6245,0},{5028,-6253,0},{5027,-6257,0},{5028,-6273,0}, {5028,-6275,0},{5032,-6272,0},{5030,-6278,0},{5028,-6280,0},{5028,-6297,0}, {5032,-6300,0},{5028,-6307,0},{5030,-6315,0},{5028,-6318,0},{5025,-6317,0}, {5023,-6323,0},{5023,-6338,0},{5022,-6340,0},{5022,-6343,0},{5027,-6348,0}, {5025,-6362,0},{5027,-6363,0},{5027,-6367,0},{5030,-6370,0},{5030,-6378,0}, {5032,-6382,0},{5028,-6408,0},{5027,-6417,0},{5027,-6427,0},{5032,-6447,0}, {5028,-6453,0},{5028,-6463,0},{5027,-6487,0},{5027,-6490,0},{5030,-6492,0}, {5028,-6498,0},{5030,-6512,0},{5028,-6518,0},{5032,-6525,0},{5030,-6527,0}, {5030,-6547,0},{5025,-6572,0},{5027,-6585,0},{5028,-6590,0},{5028,-6595,0}, {5027,-6600,0},{5022,-6605,0},{5022,-6608,0},{5025,-6610,0},{5022,-6610,0}, {5018,-6608,0},{5022,-6623,0},{5020,-6637,0},{5022,-6640,0},{5027,-6642,0}, {5027,-6647,0},{5022,-6653,0},{5018,-6655,0},{5017,-6652,0},{5017,-6643,0}, {5013,-6647,0},{5015,-6655,0},{5015,-6658,0},{5018,-6663,0},{5015,-6662,0}, {5013,-6667,0},{5005,-6673,0},{5002,-6688,0},{4997,-6697,0},{4995,-6698,0}, {4992,-6697,0},{4982,-6703,0},{4985,-6707,0},{4982,-6715,0},{4975,-6718,0}, {4968,-6717,0},{4958,-6723,0},{4948,-6723,0},{4933,-6737,0},{4933,-6758,0}, {4930,-6767,0},{4932,-6772,0},{4930,-6777,0},{4927,-6782,0},{4930,-6795,0}, {4928,-6800,0},{4928,-6805,0},{4925,-6808,0},{4927,-6812,0},{4920,-6815,0}, {4918,-6823,0},{4920,-6830,0},{4917,-6825,0},{4917,-6820,0},{4912,-6818,0}, {4910,-6825,0},{4910,-6833,0},{4905,-6840,0},{4907,-6845,0},{4910,-6838,0}, {4913,-6837,0},{4915,-6840,0},{4918,-6842,0},{4918,-6845,0},{4918,-6842,0}, {4912,-6840,0},{4908,-6845,0},{4905,-6860,0},{4900,-6863,0},{4895,-6865,0}, {4893,-6870,0},{4892,-6865,0},{4890,-6878,0},{4888,-6882,0},{4882,-6895,0}, {4878,-6897,0},{4877,-6907,0},{4860,-6915,0},{4858,-6917,0},{4858,-6923,0}, {4845,-6930,0},{4835,-6940,0},{4830,-6943,0},{4825,-6953,0},{4823,-6958,0}, {4813,-6968,0},{4815,-6982,0},{4822,-6988,0},{4825,-6995,0},{4827,-6997,0}, {4827,-7013,0},{4837,-7037,0},{4837,-7043,0},{4838,-7060,0},{4838,-7068,0}, {4843,-7077,0},{4843,-7083,0},{4847,-7098,0},{4843,-7107,0},{4845,-7098,0}, {4843,-7095,0},{4840,-7078,0},{4837,-7080,0},{4835,-7088,0},{4832,-7087,0}, {4835,-7077,0},{4835,-7055,0},{4832,-7033,0},{4830,-7032,0},{4830,-7027,0}, {4827,-7022,0},{4823,-7018,0},{4823,-7010,0},{4825,-7003,0},{4823,-7000,0}, {4822,-6992,0},{4815,-6987,0},{4812,-6973,0},{4807,-6978,0},{4800,-6978,0}, {4797,-6982,0},{4792,-6983,0},{4785,-6990,0},{4777,-6993,0},{4775,-6997,0}, {4770,-7002,0},{4767,-7013,0},{4763,-7013,0},{4758,-7020,0},{4750,-7023,0}, {4743,-7045,0},{4743,-7050,0},{4738,-7050,0},{4727,-7057,0},{4710,-7072,0}, {4707,-7082,0},{4705,-7090,0},{4700,-7097,0},{4687,-7118,0},{4682,-7122,0}, {4675,-7130,0},{4678,-7122,0},{4685,-7115,0},{4685,-7100,0},{4690,-7092,0}, {4690,-7085,0},{4692,-7082,0},{4692,-7077,0},{4695,-7073,0},{4702,-7050,0}, {4718,-7032,0},{4732,-7020,0},{4733,-7012,0},{4738,-7005,0},{4745,-7003,0}, {4748,-7002,0},{4753,-6990,0},{4782,-6960,0},{4783,-6955,0},{4787,-6955,0}, {4800,-6943,0},{4802,-6933,0},{4810,-6923,0},{4815,-6913,0},{4825,-6903,0}, {4833,-6885,0},{4837,-6882,0},{4837,-6873,0},{4843,-6862,0},{4845,-6853,0}, {4853,-6845,0},{4855,-6835,0},{4863,-6823,0},{4865,-6812,0},{4868,-6805,0}, {4870,-6797,0},{4885,-6755,0},{4887,-6743,0},{4892,-6733,0},{4897,-6708,0}, {4912,-6663,0},{4913,-6648,0},{4917,-6642,0},{4922,-6608,0},{4922,-6590,0}, {4923,-6577,0},{4923,-6573,0},{4927,-6560,0},{4927,-6545,0},{4923,-6523,0}, {4922,-6497,0},{4918,-6480,0},{4915,-6473,0},{4912,-6458,0},{4897,-6430,0}, {4888,-6422,0},{4882,-6422,0},{4875,-6415,0},{4882,-6430,0},{4888,-6455,0}, {4883,-6447,0},{4882,-6453,0},{4882,-6440,0},{4878,-6437,0},{4878,-6442,0}, {4877,-6443,0},{4877,-6438,0},{4875,-6433,0},{4863,-6417,0},{4862,-6425,0}, {4860,-6427,0},{4855,-6428,0},{4852,-6418,0},{4850,-6422,0},{4847,-6432,0}, {4842,-6432,0},{4840,-6450,0},{4835,-6465,0},{4833,-6472,0},{4832,-6470,0}, {4820,-6477,0},{4817,-6493,0},{4818,-6497,0},{4815,-6495,0},{4803,-6520,0}, {4800,-6530,0},{4800,-6547,0},{4805,-6550,0},{4812,-6582,0},{4817,-6588,0}, {4822,-6590,0},{4818,-6592,0},{4818,-6595,0},{4817,-6600,0},{4812,-6603,0}, {4810,-6608,0},{4812,-6623,0},{4812,-6630,0},{4810,-6627,0},{4807,-6628,0}, {4810,-6635,0},{4812,-6642,0},{4812,-6648,0},{4810,-6652,0},{4805,-6653,0}, {4805,-6663,0},{4803,-6667,0},{4800,-6685,0},{4798,-6675,0},{4802,-6667,0}, {4802,-6662,0},{4807,-6643,0},{4807,-6635,0},{4802,-6635,0},{4800,-6625,0}, {4797,-6615,0},{4793,-6608,0},{4792,-6583,0},{4787,-6575,0},{4782,-6572,0}, {4772,-6568,0},{4767,-6563,0},{4765,-6567,0},{4762,-6563,0},{4767,-6560,0}, {4768,-6548,0},{4775,-6535,0},{4780,-6523,0},{4785,-6505,0},{4783,-6498,0}, {4780,-6505,0},{4778,-6507,0},{4782,-6483,0},{4780,-6480,0},{4778,-6478,0}, {4775,-6480,0},{4775,-6487,0},{4773,-6483,0},{4775,-6478,0},{4770,-6477,0}, {4772,-6475,0},{4775,-6477,0},{4777,-6473,0},{4773,-6468,0},{4772,-6467,0}, {4770,-6475,0},{4768,-6477,0},{4767,-6482,0},{4762,-6482,0},{4755,-6490,0}, {4752,-6490,0},{4752,-6487,0},{4748,-6490,0},{4747,-6492,0},{4745,-6493,0}, {4748,-6490,0},{4748,-6487,0},{4745,-6488,0},{4743,-6488,0},{4735,-6492,0}, {4740,-6490,0},{4737,-6493,0},{4728,-6497,0},{4727,-6503,0},{4713,-6523,0}, {4708,-6537,0},{4707,-6528,0},{4708,-6527,0},{4708,-6520,0},{4705,-6522,0}, {4705,-6517,0},{4708,-6510,0},{4708,-6502,0},{4705,-6498,0},{4708,-6493,0}, {4708,-6480,0},{4705,-6483,0},{4698,-6480,0},{4692,-6490,0},{4683,-6490,0}, {4678,-6487,0},{4672,-6478,0},{4670,-6485,0},{4667,-6485,0},{4670,-6482,0}, {4667,-6475,0},{4670,-6475,0},{4668,-6472,0},{4658,-6472,0},{4650,-6467,0}, {4648,-6472,0},{4645,-6468,0},{4647,-6465,0},{4642,-6462,0},{4633,-6463,0}, {4632,-6470,0},{4633,-6460,0},{4633,-6458,0},{4637,-6457,0},{4632,-6452,0}, {4628,-6457,0},{4622,-6457,0},{4623,-6452,0},{4625,-6452,0},{4622,-6437,0}, {4623,-6425,0},{4622,-6422,0},{4620,-6415,0},{4618,-6417,0},{4615,-6415,0}, {4618,-6412,0},{4615,-6408,0},{4618,-6405,0},{4618,-6395,0},{4612,-6378,0}, {4610,-6377,0},{4608,-6380,0},{4608,-6385,0},{4605,-6392,0},{4607,-6407,0}, {4602,-6410,0},{4598,-6403,0},{4600,-6402,0},{4598,-6393,0},{4597,-6387,0}, {4593,-6387,0},{4592,-6382,0},{4588,-6380,0},{4587,-6372,0},{4587,-6373,0}, {4583,-6375,0},{4585,-6368,0},{4583,-6367,0},{4582,-6367,0},{4583,-6365,0}, {4587,-6365,0},{4587,-6363,0},{4587,-6358,0},{4588,-6348,0},{4587,-6342,0}, {4585,-6342,0},{4585,-6348,0},{4582,-6343,0},{4582,-6352,0},{4580,-6350,0}, {4580,-6323,0},{4577,-6332,0},{4577,-6338,0},{4575,-6337,0},{4572,-6328,0}, {4575,-6325,0},{4573,-6325,0},{4577,-6318,0},{4573,-6318,0},{4577,-6312,0}, {4575,-6307,0},{4578,-6308,0},{4580,-6312,0},{4582,-6310,0},{4577,-6278,0}, {4577,-6267,0},{4575,-6272,0},{4575,-6275,0},{4573,-6273,0},{4573,-6267,0}, {4572,-6263,0},{4567,-6277,0},{4563,-6278,0},{4565,-6275,0},{4563,-6273,0}, {4562,-6275,0},{4565,-6270,0},{4563,-6265,0},{4567,-6267,0},{4568,-6262,0}, {4567,-6255,0},{4565,-6253,0},{4565,-6247,0},{4562,-6252,0},{4560,-6248,0}, {4562,-6247,0},{4567,-6235,0},{4565,-6243,0},{4567,-6242,0},{4570,-6225,0}, {4578,-6208,0},{4587,-6197,0},{4588,-6192,0},{4587,-6190,0},{4583,-6192,0}, {4568,-6188,0},{4567,-6182,0},{4563,-6180,0},{4562,-6172,0},{4562,-6167,0}, {4563,-6163,0},{4562,-6165,0},{4562,-6162,0},{4567,-6157,0},{4568,-6147,0}, {4560,-6137,0},{4558,-6137,0},{4553,-6133,0},{4550,-6123,0},{4545,-6123,0}, {4540,-6137,0},{4542,-6137,0},{4538,-6147,0},{4537,-6148,0},{4535,-6147,0}, {4533,-6125,0},{4535,-6112,0},{4533,-6103,0},{4532,-6097,0},{4527,-6097,0}, {4530,-6103,0},{4527,-6102,0},{4523,-6105,0},{4520,-6112,0},{4523,-6115,0}, {4527,-6112,0},{4525,-6117,0},{4520,-6117,0},{4525,-6120,0},{4525,-6127,0}, {4522,-6137,0},{4518,-6137,0},{4518,-6133,0},{4517,-6135,0},{4515,-6140,0}, {4517,-6143,0},{4515,-6145,0},{4515,-6152,0},{4513,-6155,0},{4515,-6162,0}, {4517,-6163,0},{4515,-6165,0},{4518,-6170,0},{4512,-6163,0},{4512,-6167,0}, {4508,-6165,0},{4508,-6170,0},{4510,-6170,0},{4508,-6172,0},{4510,-6175,0}, {4508,-6175,0},{4510,-6182,0},{4507,-6182,0},{4508,-6185,0},{4505,-6183,0}, {4505,-6188,0},{4502,-6188,0},{4505,-6193,0},{4502,-6195,0},{4502,-6200,0}, {4502,-6202,0},{4500,-6205,0},{4498,-6198,0},{4498,-6207,0},{4497,-6207,0}, {4498,-6215,0},{4495,-6218,0},{4495,-6223,0},{4493,-6227,0},{4492,-6232,0}, {4492,-6233,0},{4488,-6233,0},{4492,-6237,0},{4490,-6240,0},{4488,-6240,0}, {4485,-6245,0},{4483,-6245,0},{4490,-6248,0},{4485,-6252,0},{4487,-6255,0}, {4483,-6257,0},{4480,-6253,0},{4480,-6257,0},{4483,-6258,0},{4483,-6262,0}, {4482,-6262,0},{4480,-6267,0},{4478,-6265,0},{4480,-6268,0},{4478,-6275,0}, {4478,-6280,0},{4475,-6283,0},{4472,-6280,0},{4472,-6283,0},{4473,-6287,0}, {4472,-6287,0},{4473,-6293,0},{4470,-6298,0},{4472,-6300,0},{4477,-6300,0}, {4477,-6302,0},{4477,-6303,0},{4477,-6307,0},{4470,-6302,0},{4467,-6305,0}, {4472,-6305,0},{4473,-6310,0},{4478,-6312,0},{4473,-6312,0},{4468,-6315,0}, {4470,-6317,0},{4473,-6315,0},{4467,-6320,0},{4473,-6323,0},{4472,-6325,0}, {4468,-6323,0},{4465,-6328,0},{4463,-6328,0},{4463,-6340,0},{4465,-6342,0}, {4467,-6338,0},{4468,-6340,0},{4467,-6345,0},{4463,-6342,0},{4458,-6343,0}, {4468,-6360,0},{4470,-6362,0},{4472,-6365,0},{4467,-6363,0},{4467,-6358,0}, {4463,-6357,0},{4458,-6353,0},{4455,-6355,0},{4452,-6352,0},{4448,-6353,0}, {4447,-6357,0},{4447,-6358,0},{4448,-6358,0},{4448,-6360,0},{4443,-6363,0}, {4447,-6363,0},{4447,-6370,0},{4445,-6370,0},{4447,-6375,0},{4450,-6377,0}, {4447,-6378,0},{4447,-6380,0},{4448,-6382,0},{4453,-6378,0},{4450,-6380,0}, {4452,-6383,0},{4450,-6385,0},{4448,-6387,0},{4452,-6393,0},{4453,-6395,0}, {4458,-6392,0},{4462,-6393,0},{4463,-6392,0},{4465,-6393,0},{4468,-6388,0}, {4465,-6398,0},{4463,-6407,0},{4458,-6407,0},{4452,-6402,0},{4452,-6405,0}, {4447,-6408,0},{4448,-6412,0},{4455,-6412,0},{4458,-6417,0},{4457,-6420,0}, {4453,-6422,0},{4457,-6430,0},{4450,-6430,0},{4447,-6432,0},{4447,-6430,0}, {4445,-6435,0},{4442,-6433,0},{4440,-6425,0},{4440,-6430,0},{4438,-6430,0}, {4437,-6422,0},{4435,-6435,0},{4433,-6433,0},{4432,-6430,0},{4435,-6430,0}, {4432,-6427,0},{4430,-6428,0},{4428,-6428,0},{4430,-6423,0},{4427,-6425,0}, {4425,-6428,0},{4427,-6433,0},{4430,-6433,0},{4433,-6442,0},{4428,-6435,0}, {4425,-6437,0},{4425,-6440,0},{4413,-6450,0},{4415,-6453,0},{4415,-6457,0}, {4415,-6460,0},{4413,-6462,0},{4412,-6458,0},{4413,-6457,0},{4412,-6455,0}, {4408,-6455,0},{4407,-6458,0},{4407,-6462,0},{4405,-6465,0},{4405,-6472,0}, {4403,-6467,0},{4398,-6467,0},{4398,-6470,0},{4395,-6473,0},{4395,-6482,0}, {4392,-6485,0},{4388,-6480,0},{4387,-6478,0},{4387,-6482,0},{4382,-6483,0}, {4382,-6485,0},{4387,-6487,0},{4388,-6490,0},{4383,-6488,0},{4380,-6488,0}, {4380,-6492,0},{4387,-6497,0},{4385,-6497,0},{4382,-6495,0},{4380,-6493,0}, {4375,-6497,0},{4383,-6503,0},{4375,-6500,0},{4370,-6503,0},{4372,-6505,0}, {4370,-6507,0},{4370,-6508,0},{4375,-6508,0},{4367,-6512,0},{4368,-6515,0}, {4375,-6513,0},{4372,-6517,0},{4370,-6518,0},{4380,-6523,0},{4378,-6523,0}, {4378,-6525,0},{4372,-6522,0},{4368,-6525,0},{4367,-6527,0},{4368,-6530,0}, {4370,-6533,0},{4375,-6532,0},{4377,-6533,0},{4373,-6533,0},{4373,-6537,0}, {4367,-6533,0},{4362,-6535,0},{4360,-6537,0},{4355,-6533,0},{4357,-6537,0}, {4357,-6540,0},{4360,-6545,0},{4357,-6545,0},{4353,-6540,0},{4350,-6542,0}, {4355,-6543,0},{4355,-6545,0},{4352,-6547,0},{4352,-6548,0},{4347,-6547,0}, {4353,-6555,0},{4355,-6555,0},{4357,-6557,0},{4348,-6565,0},{4350,-6567,0}, {4350,-6573,0},{4357,-6573,0},{4357,-6575,0},{4355,-6575,0},{4357,-6578,0}, {4368,-6578,0},{4365,-6580,0},{4362,-6580,0},{4363,-6582,0},{4370,-6582,0}, {4373,-6585,0},{4380,-6587,0},{4377,-6587,0},{4383,-6592,0},{4382,-6593,0}, {4380,-6593,0},{4378,-6595,0},{4378,-6598,0},{4385,-6598,0},{4383,-6600,0}, {4380,-6600,0},{4373,-6597,0},{4370,-6598,0},{4373,-6600,0},{4368,-6602,0}, {4375,-6605,0},{4372,-6605,0},{4373,-6607,0},{4377,-6608,0},{4373,-6612,0}, {4380,-6613,0},{4383,-6610,0},{4383,-6613,0},{4382,-6613,0},{4383,-6615,0}, {4385,-6617,0},{4402,-6615,0},{4408,-6618,0},{4410,-6622,0},{4417,-6618,0}, {4423,-6613,0},{4433,-6612,0},{4448,-6598,0},{4453,-6587,0},{4458,-6585,0}, {4458,-6595,0},{4445,-6612,0},{4438,-6618,0},{4442,-6618,0},{4460,-6595,0}, {4462,-6590,0},{4468,-6578,0},{4467,-6577,0},{4460,-6575,0},{4462,-6568,0}, {4468,-6560,0},{4478,-6543,0},{4468,-6565,0},{4470,-6568,0},{4467,-6572,0}, {4468,-6575,0},{4470,-6575,0},{4490,-6538,0},{4492,-6530,0},{4500,-6517,0}, {4505,-6503,0},{4515,-6482,0},{4522,-6457,0},{4525,-6443,0},{4528,-6440,0}, {4530,-6440,0},{4533,-6448,0},{4530,-6433,0},{4527,-6432,0},{4523,-6435,0}, {4520,-6437,0},{4517,-6435,0},{4515,-6438,0},{4513,-6438,0},{4510,-6437,0}, {4513,-6432,0},{4510,-6422,0},{4505,-6415,0},{4498,-6415,0},{4500,-6415,0}, {4500,-6410,0},{4502,-6412,0},{4505,-6410,0},{4505,-6412,0},{4512,-6420,0}, {4515,-6420,0},{4517,-6417,0},{4520,-6415,0},{4528,-6388,0},{4527,-6385,0}, {4528,-6380,0},{4532,-6378,0},{4530,-6373,0},{4532,-6372,0},{4532,-6358,0}, {4533,-6353,0},{4532,-6348,0},{4528,-6347,0},{4533,-6347,0},{4537,-6337,0}, {4537,-6352,0},{4540,-6360,0},{4538,-6363,0},{4540,-6375,0},{4538,-6385,0}, {4535,-6388,0},{4537,-6392,0},{4538,-6392,0},{4540,-6397,0},{4538,-6400,0}, {4538,-6405,0},{4540,-6403,0},{4542,-6407,0},{4540,-6422,0},{4538,-6425,0}, {4540,-6432,0},{4537,-6432,0},{4537,-6438,0},{4540,-6445,0},{4542,-6457,0}, {4538,-6467,0},{4535,-6472,0},{4533,-6470,0},{4532,-6475,0},{4528,-6477,0}, {4532,-6477,0},{4533,-6477,0},{4535,-6482,0},{4535,-6487,0},{4532,-6493,0}, {4535,-6493,0},{4542,-6492,0},{4545,-6485,0},{4547,-6480,0},{4548,-6483,0}, {4553,-6468,0},{4558,-6463,0},{4560,-6457,0},{4567,-6448,0},{4568,-6445,0}, {4572,-6443,0},{4573,-6443,0},{4575,-6440,0},{4580,-6437,0},{4582,-6430,0}, {4580,-6430,0},{4577,-6433,0},{4573,-6433,0},{4577,-6427,0},{4577,-6430,0}, {4580,-6428,0},{4583,-6427,0},{4588,-6433,0},{4588,-6437,0},{4587,-6433,0}, {4577,-6447,0},{4572,-6448,0},{4573,-6455,0},{4577,-6452,0},{4582,-6448,0}, {4585,-6453,0},{4590,-6453,0},{4587,-6455,0},{4590,-6458,0},{4595,-6462,0}, {4600,-6468,0},{4605,-6468,0},{4608,-6475,0},{4608,-6477,0},{4603,-6470,0}, {4600,-6470,0},{4593,-6462,0},{4585,-6457,0},{4580,-6460,0},{4575,-6467,0}, {4572,-6465,0},{4572,-6470,0},{4562,-6475,0},{4560,-6478,0},{4563,-6482,0}, {4562,-6492,0},{4555,-6502,0},{4545,-6533,0},{4537,-6552,0},{4532,-6555,0}, {4532,-6562,0},{4527,-6572,0},{4525,-6573,0},{4527,-6578,0},{4525,-6582,0}, {4520,-6590,0},{4522,-6598,0},{4528,-6603,0},{4528,-6610,0},{4530,-6613,0}, {4532,-6613,0},{4538,-6602,0},{4542,-6600,0},{4547,-6600,0},{4542,-6605,0}, {4535,-6608,0},{4535,-6613,0},{4533,-6620,0},{4528,-6615,0},{4528,-6608,0}, {4525,-6605,0},{4522,-6613,0},{4520,-6615,0},{4517,-6622,0},{4522,-6625,0}, {4520,-6632,0},{4518,-6630,0},{4518,-6625,0},{4517,-6625,0},{4513,-6632,0}, {4515,-6635,0},{4512,-6635,0},{4510,-6640,0},{4507,-6643,0},{4508,-6647,0}, {4512,-6647,0},{4515,-6648,0},{4513,-6652,0},{4515,-6653,0},{4508,-6665,0}, {4507,-6670,0},{4508,-6672,0},{4505,-6675,0},{4507,-6680,0},{4508,-6678,0}, {4510,-6678,0},{4508,-6680,0},{4508,-6685,0},{4505,-6688,0},{4507,-6690,0}, {4512,-6690,0},{4513,-6685,0},{4515,-6693,0},{4518,-6695,0},{4515,-6698,0}, {4517,-6703,0},{4512,-6705,0},{4508,-6703,0},{4515,-6712,0},{4522,-6713,0}, {4522,-6715,0},{4525,-6718,0},{4522,-6718,0},{4518,-6717,0},{4518,-6720,0}, {4517,-6720,0},{4517,-6717,0},{4508,-6710,0},{4507,-6710,0},{4498,-6703,0}, {4493,-6707,0},{4497,-6710,0},{4495,-6712,0},{4492,-6710,0},{4490,-6712,0}, {4493,-6718,0},{4492,-6720,0},{4488,-6715,0},{4483,-6713,0},{4488,-6713,0}, {4487,-6710,0},{4490,-6710,0},{4487,-6705,0},{4483,-6707,0},{4485,-6703,0}, {4492,-6705,0},{4487,-6700,0},{4487,-6698,0},{4483,-6697,0},{4478,-6703,0}, {4478,-6707,0},{4477,-6707,0},{4475,-6710,0},{4472,-6710,0},{4467,-6720,0}, {4467,-6718,0},{4467,-6723,0},{4468,-6725,0},{4467,-6727,0},{4465,-6725,0}, {4465,-6727,0},{4467,-6732,0},{4472,-6730,0},{4472,-6735,0},{4470,-6735,0}, {4472,-6738,0},{4470,-6738,0},{4468,-6737,0},{4465,-6737,0},{4463,-6735,0}, {4463,-6738,0},{4462,-6740,0},{4468,-6743,0},{4468,-6745,0},{4462,-6743,0}, {4462,-6750,0},{4465,-6750,0},{4463,-6752,0},{4467,-6753,0},{4467,-6755,0}, {4465,-6755,0},{4463,-6758,0},{4463,-6755,0},{4455,-6757,0},{4455,-6763,0}, {4457,-6763,0},{4458,-6765,0},{4455,-6768,0},{4452,-6770,0},{4452,-6773,0}, {4462,-6773,0},{4455,-6777,0},{4455,-6780,0},{4460,-6777,0},{4462,-6778,0}, {4458,-6780,0},{4460,-6783,0},{4455,-6785,0},{4457,-6787,0},{4450,-6783,0}, {4450,-6788,0},{4442,-6790,0},{4443,-6792,0},{4450,-6790,0},{4450,-6792,0}, {4443,-6793,0},{4443,-6795,0},{4452,-6797,0},{4448,-6798,0},{4448,-6802,0}, {4447,-6802,0},{4445,-6798,0},{4442,-6797,0},{4440,-6798,0},{4442,-6802,0}, {4440,-6802,0},{4435,-6805,0},{4437,-6807,0},{4438,-6807,0},{4440,-6808,0}, {4442,-6810,0},{4447,-6810,0},{4448,-6810,0},{4452,-6815,0},{4447,-6815,0}, {4448,-6818,0},{4453,-6818,0},{4453,-6820,0},{4448,-6822,0},{4450,-6825,0}, {4453,-6825,0},{4453,-6830,0},{4452,-6830,0},{4452,-6827,0},{4447,-6827,0}, {4447,-6835,0},{4443,-6838,0},{4442,-6838,0},{4442,-6842,0},{4450,-6842,0}, {4450,-6847,0},{4448,-6845,0},{4440,-6845,0},{4440,-6847,0},{4445,-6847,0}, {4442,-6852,0},{4443,-6857,0},{4438,-6853,0},{4432,-6855,0},{4432,-6852,0}, {4428,-6852,0},{4428,-6853,0},{4427,-6852,0},{4425,-6852,0},{4430,-6862,0}, {4432,-6868,0},{4437,-6873,0},{4433,-6878,0},{4433,-6882,0},{4438,-6878,0}, {4438,-6875,0},{4440,-6875,0},{4442,-6875,0},{4442,-6868,0},{4445,-6872,0}, {4445,-6875,0},{4440,-6880,0},{4443,-6880,0},{4457,-6873,0},{4458,-6880,0}, {4448,-6882,0},{4447,-6883,0},{4447,-6885,0},{4450,-6885,0},{4448,-6888,0}, {4445,-6892,0},{4443,-6898,0},{4435,-6893,0},{4430,-6900,0},{4422,-6905,0}, {4410,-6908,0},{4410,-6905,0},{4407,-6907,0},{4405,-6912,0},{4402,-6912,0}, {4400,-6918,0},{4398,-6920,0},{4397,-6918,0},{4393,-6925,0},{4397,-6927,0}, {4402,-6922,0},{4402,-6923,0},{4395,-6930,0},{4400,-6930,0},{4398,-6937,0}, {4402,-6933,0},{4403,-6937,0},{4407,-6935,0},{4407,-6937,0},{4405,-6937,0}, {4405,-6940,0},{4402,-6938,0},{4400,-6940,0},{4400,-6942,0},{4385,-6950,0}, {4392,-6953,0},{4385,-6955,0},{4390,-6957,0},{4393,-6955,0},{4397,-6957,0}, {4402,-6952,0},{4403,-6953,0},{4402,-6955,0},{4397,-6958,0},{4390,-6958,0}, {4385,-6957,0},{4383,-6958,0},{4387,-6958,0},{4385,-6960,0},{4388,-6967,0}, {4393,-6965,0},{4393,-6962,0},{4395,-6965,0},{4400,-6963,0},{4403,-6960,0}, {4403,-6963,0},{4402,-6967,0},{4392,-6975,0},{4388,-6975,0},{4388,-6972,0}, {4383,-6973,0},{4387,-6970,0},{4385,-6970,0},{4378,-6972,0},{4377,-6975,0}, {4398,-6980,0},{4403,-6978,0},{4407,-6977,0},{4408,-6977,0},{4407,-6978,0}, {4400,-6987,0},{4397,-6987,0},{4398,-6982,0},{4375,-6977,0},{4372,-6982,0}, {4375,-6983,0},{4377,-6985,0},{4380,-6985,0},{4385,-6983,0},{4385,-6985,0}, {4388,-6985,0},{4388,-6987,0},{4387,-6990,0},{4385,-6987,0},{4380,-6988,0}, {4380,-6990,0},{4382,-6990,0},{4380,-6992,0},{4373,-6998,0},{4385,-6992,0}, {4387,-6993,0},{4385,-6993,0},{4375,-7000,0},{4377,-7002,0},{4387,-6995,0}, {4385,-6998,0},{4383,-7000,0},{4387,-6998,0},{4388,-6998,0},{4383,-7003,0}, {4383,-7008,0},{4378,-7017,0},{4375,-7018,0},{4372,-7023,0},{4367,-7023,0}, {4367,-7028,0},{4365,-7027,0},{4365,-7020,0},{4358,-7018,0},{4357,-7025,0}, {4358,-7025,0},{4357,-7027,0},{4353,-7030,0},{4357,-7030,0},{4357,-7033,0}, {4350,-7037,0},{4347,-7035,0},{4348,-7032,0},{4347,-7032,0},{4337,-7045,0}, {4335,-7052,0},{4327,-7058,0},{4322,-7057,0},{4320,-7060,0},{4318,-7058,0}, {4317,-7062,0},{4308,-7067,0},{4312,-7073,0},{4307,-7075,0},{4308,-7073,128}, {4305,-7075,0},{4305,-7070,0},{4293,-7078,0},{4287,-7082,0},{4142,-7047,129}, {4138,-7038,1},{4137,-7035,1},{4135,-7040,1},{4133,-7053,1},{4133,-7070,1}, {4132,-7078,1},{4135,-7083,1},{4145,-7072,1},{4142,-7047,1},{4288,-7082,128}, {4287,-7082,0},{4285,-7082,0},{4272,-7078,0},{4267,-7072,0},{4267,-7068,0}, {4268,-7065,0},{4268,-7062,0},{4267,-7062,0},{4263,-7060,0},{4262,-7053,0}, {4262,-7052,0},{4258,-7052,0},{4258,-7065,0},{4257,-7075,0},{4252,-7078,0}, {4248,-7078,0},{4245,-7085,0},{4242,-7092,0},{4237,-7092,0},{4233,-7088,0}, {4230,-7088,0},{4227,-7087,0},{4223,-7077,0},{4222,-7067,0},{4217,-7062,0}, {4212,-7060,0},{4203,-7060,0},{4198,-7063,0},{4197,-7063,0},{4193,-7057,0}, {4192,-7048,0},{4183,-7052,0},{4177,-7048,0},{4173,-7035,0},{4173,-7020,0}, {4177,-7008,0},{4182,-6998,0},{4190,-7002,0},{4193,-7003,0},{4190,-7007,0}, {4195,-7007,0},{4200,-7008,0},{4205,-7012,0},{4205,-7017,0},{4202,-7018,0}, {4208,-7023,0},{4208,-7015,0},{4207,-7008,0},{4203,-7003,0},{4197,-6998,0}, {4190,-6995,0},{4183,-6993,0},{4173,-6993,0},{4167,-6993,0},{4155,-7002,0}, {4167,-6997,0},{4167,-7012,0},{4162,-7027,0},{4163,-7042,0},{4157,-7048,0}, {4153,-7068,0},{4173,-7063,0},{4175,-7070,0},{4158,-7085,0},{4163,-7090,0}, {4155,-7093,0},{4153,-7097,0},{4150,-7105,0},{4152,-7107,0},{4153,-7103,0}, {4157,-7105,0},{4153,-7107,0},{4155,-7110,0},{4153,-7110,0},{4152,-7110,0}, {4150,-7113,0},{4132,-7183,128},{4132,-7188,0},{4133,-7187,0},{4133,-7188,0}, {4135,-7197,0},{4132,-7200,0},{4132,-7203,0},{4135,-7208,0},{4130,-7212,0}, {4132,-7220,0},{4130,-7220,0},{4132,-7222,0},{4128,-7225,0},{4128,-7230,0}, {4130,-7235,0},{4132,-7235,0},{4135,-7233,0},{4137,-7238,0},{4135,-7238,0}, {4132,-7235,0},{4128,-7235,0},{4128,-7247,0},{4125,-7252,0},{4127,-7253,0}, {4125,-7253,0},{4127,-7257,0},{4128,-7262,0},{4125,-7268,0},{4127,-7277,0}, {4125,-7280,0},{4125,-7288,0},{4130,-7292,0},{4122,-7300,0},{4122,-7305,0}, {4117,-7310,0},{4115,-7315,0},{4117,-7315,0},{4118,-7317,0},{4117,-7318,0}, {4117,-7322,0},{4113,-7325,0},{4112,-7337,0},{4105,-7347,0},{4105,-7350,0}, {4103,-7352,0},{4102,-7358,0},{4102,-7360,0},{4100,-7365,0},{4102,-7363,128}, {4095,-7367,0},{4095,-7372,0},{4087,-7378,0},{4087,-7382,0},{4082,-7380,0}, {4080,-7392,0},{4072,-7398,0},{4072,-7400,0},{4075,-7400,0},{4087,-7392,0}, {4102,-7388,0},{4107,-7387,0},{4118,-7388,0},{4125,-7395,0},{4130,-7393,0}, {4132,-7395,0},{4127,-7398,0},{4120,-7397,0},{4117,-7392,0},{4102,-7390,0}, {4097,-7390,0},{4087,-7395,0},{4078,-7400,0},{4072,-7402,0},{4067,-7412,0}, {4067,-7413,0},{4072,-7410,0},{4070,-7413,0},{4065,-7420,0},{4058,-7422,0}, {4055,-7425,0},{4052,-7425,0},{4050,-7425,128},{4047,-7427,0},{4045,-7425,0}, {4043,-7420,0},{4045,-7410,0},{4040,-7398,0},{4047,-7400,0},{4045,-7398,0}, {4040,-7395,0},{4028,-7395,0},{4008,-7403,0},{4008,-7402,0},{4005,-7402,0}, {3978,-7408,0},{3988,-7408,0},{3997,-7405,0},{4005,-7405,0},{4005,-7408,0}, {4003,-7405,0},{4002,-7407,0},{4000,-7412,0},{3997,-7410,0},{3993,-7413,0}, {3992,-7408,0},{3988,-7413,0},{3985,-7412,0},{3982,-7415,0},{3977,-7418,0}, {3970,-7415,0},{3957,-7432,0},{3952,-7428,0},{3952,-7432,0},{3953,-7433,0}, {3953,-7438,0},{3955,-7440,0},{3952,-7440,0},{3948,-7438,0},{3943,-7440,0}, {3947,-7442,0},{3943,-7445,0},{3940,-7447,0},{3940,-7443,0},{3935,-7442,0}, {3930,-7453,0},{3937,-7448,0},{3935,-7452,0},{3933,-7455,0},{3930,-7455,0}, {3930,-7465,0},{3928,-7465,0},{3927,-7462,0},{3928,-7455,0},{3922,-7465,0}, {3912,-7470,0},{3912,-7473,0},{3912,-7470,0},{3908,-7472,0},{3903,-7477,0}, {3903,-7478,0},{3900,-7478,0},{3895,-7485,0},{3892,-7493,0},{3893,-7497,0}, {3895,-7497,0},{3902,-7495,0},{3913,-7488,0},{3918,-7490,0},{3920,-7495,0}, {3918,-7502,0},{3922,-7503,0},{3918,-7515,0},{3920,-7517,0},{3923,-7517,0}, {3927,-7523,0},{3928,-7525,0},{3930,-7530,0},{3935,-7533,0},{3933,-7537,0}, {3943,-7547,0},{3947,-7552,0},{3950,-7555,0},{3948,-7553,0},{3950,-7552,0}, {3957,-7552,0},{3962,-7555,0},{3965,-7552,0},{3968,-7550,0},{3972,-7547,0}, {3973,-7547,0},{3975,-7545,0},{3983,-7533,0},{3988,-7513,0},{3990,-7510,0}, {3992,-7512,0},{3995,-7512,0},{3997,-7507,0},{4002,-7503,0},{4000,-7503,128}, {3997,-7512,0},{3990,-7515,0},{3990,-7518,0},{3987,-7525,0},{3985,-7537,0}, {3980,-7543,0},{3982,-7542,128},{3978,-7547,0},{3972,-7548,0},{3967,-7555,0}, {3965,-7558,0},{3962,-7560,0},{3955,-7555,0},{3947,-7558,0},{3942,-7552,0}, {3935,-7550,0},{3932,-7543,0},{3925,-7540,0},{3917,-7540,0},{3908,-7538,0}, {3897,-7530,0},{3892,-7530,0},{3880,-7517,0},{3878,-7512,0},{3880,-7508,0}, {3863,-7507,0},{3870,-7508,0},{3870,-7513,0},{3865,-7512,0},{3865,-7515,0}, {3863,-7510,0},{3860,-7520,0},{3858,-7520,0},{3858,-7518,0},{3857,-7520,0}, {3858,-7513,0},{3857,-7508,0},{3858,-7507,0},{3862,-7507,0},{3860,-7505,0}, {3857,-7505,0},{3845,-7503,0},{3833,-7507,0},{3845,-7507,0},{3845,-7508,0}, {3843,-7508,0},{3843,-7512,0},{3840,-7510,0},{3842,-7515,0},{3842,-7518,0}, {3840,-7513,0},{3835,-7513,0},{3835,-7510,0},{3833,-7510,0},{3823,-7517,0}, {3823,-7520,0},{3827,-7518,0},{3823,-7523,0},{3812,-7528,0},{3812,-7532,0}, {3808,-7535,0},{3802,-7537,0},{3803,-7537,128},{3797,-7543,0},{3793,-7543,0}, {3792,-7542,0},{3790,-7543,0},{3787,-7543,0},{3780,-7550,0},{3768,-7557,0}, {3758,-7562,0},{3757,-7558,0},{3750,-7565,0},{3755,-7572,0},{3752,-7573,0}, {3750,-7570,0},{3748,-7578,0},{3745,-7580,0},{3740,-7580,0},{3737,-7583,0}, {3723,-7587,0},{3718,-7587,0},{3718,-7590,0},{3722,-7588,0},{3715,-7592,0}, {3713,-7595,0},{3727,-7602,0},{3732,-7598,0},{3732,-7600,0},{3738,-7598,0}, {3738,-7597,0},{3742,-7595,0},{3742,-7598,0},{3743,-7597,0},{3747,-7595,0}, {3748,-7592,0},{3750,-7593,0},{3748,-7595,0},{3750,-7595,0},{3755,-7592,0}, {3755,-7590,0},{3757,-7593,0},{3758,-7590,0},{3760,-7592,0},{3762,-7590,0}, {3762,-7587,0},{3765,-7588,0},{3767,-7582,0},{3770,-7583,0},{3772,-7578,0}, {3773,-7582,0},{3777,-7577,0},{3780,-7580,0},{3778,-7575,0},{3780,-7570,0}, {3782,-7572,0},{3783,-7570,0},{3783,-7567,0},{3790,-7568,0},{3790,-7573,0}, {3795,-7563,0},{3797,-7565,0},{3798,-7575,0},{3797,-7580,0},{3793,-7585,0}, {3795,-7588,0},{3797,-7585,0},{3798,-7585,0},{3798,-7588,0},{3803,-7585,0}, {3803,-7582,0},{3810,-7575,0},{3808,-7580,0},{3808,-7585,0},{3810,-7583,0}, {3813,-7582,0},{3813,-7578,0},{3815,-7578,0},{3815,-7590,0},{3812,-7592,0}, {3813,-7593,0},{3820,-7593,0},{3823,-7582,0},{3825,-7588,0},{3828,-7590,0}, {3840,-7583,0},{3840,-7585,0},{3832,-7592,0},{3825,-7595,0},{3832,-7600,0}, {3833,-7597,0},{3837,-7597,0},{3837,-7598,0},{3832,-7603,0},{3828,-7602,0}, {3823,-7603,0},{3828,-7608,0},{3830,-7612,0},{3833,-7615,0},{3838,-7622,0}, {3833,-7620,0},{3832,-7622,0},{3848,-7633,0},{3850,-7628,0},{3848,-7628,0}, {3845,-7627,0},{3852,-7623,0},{3853,-7618,0},{3855,-7618,0},{3857,-7617,0}, {3858,-7620,0},{3855,-7623,0},{3857,-7628,0},{3860,-7625,0},{3862,-7627,0}, {3862,-7622,0},{3863,-7617,0},{3860,-7617,0},{3860,-7613,0},{3857,-7605,0}, {3858,-7600,0},{3860,-7597,0},{3865,-7597,0},{3860,-7602,0},{3862,-7608,0}, {3863,-7610,0},{3865,-7610,0},{3865,-7615,0},{3868,-7610,0},{3868,-7617,0}, {3872,-7617,0},{3868,-7620,0},{3872,-7623,0},{3875,-7620,0},{3877,-7622,0}, {3877,-7623,0},{3872,-7627,0},{3872,-7628,0},{3878,-7627,0},{3875,-7630,0}, {3868,-7632,0},{3868,-7633,0},{3877,-7633,0},{3883,-7627,0},{3882,-7622,0}, {3880,-7622,0},{3877,-7617,0},{3880,-7610,0},{3878,-7615,0},{3880,-7618,0}, {3885,-7617,0},{3887,-7610,0},{3888,-7615,0},{3892,-7615,0},{3888,-7618,0}, {3893,-7618,0},{3897,-7622,0},{3893,-7627,0},{3892,-7627,0},{3892,-7630,0}, {3892,-7633,0},{3888,-7632,0},{3885,-7635,0},{3890,-7635,0},{3903,-7630,0}, {3898,-7623,0},{3900,-7617,0},{3902,-7615,0},{3903,-7615,0},{3907,-7617,0}, {3907,-7613,0},{3908,-7613,0},{3913,-7607,0},{3912,-7613,0},{3912,-7615,0}, {3913,-7615,0},{3912,-7617,0},{3912,-7618,0},{3908,-7618,0},{3903,-7620,0}, {3903,-7623,0},{3912,-7623,0},{3915,-7627,0},{3932,-7617,0},{3933,-7612,0}, {3937,-7612,0},{3937,-7610,0},{3937,-7583,0},{3940,-7602,0},{3947,-7592,0}, {3947,-7583,0},{3950,-7590,0},{3953,-7585,0},{3958,-7583,0},{3957,-7585,0}, {3947,-7600,0},{3948,-7600,0},{3955,-7595,0},{3960,-7593,0},{3955,-7598,0}, {3957,-7602,0},{3957,-7607,0},{3948,-7612,0},{3945,-7607,0},{3937,-7620,0}, {3938,-7623,0},{3947,-7622,0},{3947,-7623,0},{3945,-7625,0},{3938,-7627,0}, {3933,-7625,0},{3932,-7628,0},{3940,-7632,0},{3938,-7640,0},{3937,-7638,0}, {3937,-7635,0},{3935,-7633,0},{3933,-7633,0},{3933,-7637,0},{3930,-7637,0}, {3933,-7642,0},{3932,-7643,0},{3927,-7638,0},{3927,-7642,0},{3930,-7645,0}, {3930,-7648,0},{3925,-7643,0},{3923,-7638,0},{3922,-7642,0},{3922,-7648,0}, {3923,-7648,0},{3927,-7657,0},{3925,-7662,0},{3923,-7658,0},{3922,-7657,0}, {3922,-7652,0},{3918,-7652,0},{3917,-7648,0},{3917,-7645,0},{3910,-7642,0}, {3907,-7642,0},{3908,-7645,0},{3910,-7652,0},{3908,-7652,0},{3905,-7642,0}, {3902,-7640,0},{3900,-7640,0},{3900,-7643,0},{3898,-7645,0},{3902,-7650,0}, {3907,-7655,0},{3907,-7657,0},{3893,-7645,0},{3892,-7645,0},{3897,-7652,0}, {3895,-7653,0},{3893,-7653,0},{3890,-7648,0},{3888,-7650,0},{3888,-7653,0}, {3887,-7652,0},{3883,-7653,0},{3885,-7648,0},{3883,-7648,0},{3877,-7655,0}, {3873,-7655,0},{3872,-7652,0},{3853,-7650,0},{3842,-7640,0},{3837,-7637,0}, {3833,-7642,0},{3835,-7645,0},{3837,-7647,0},{3838,-7648,0},{3842,-7657,0}, {3848,-7663,0},{3868,-7668,0},{3848,-7667,0},{3840,-7658,0},{3837,-7650,0}, {3832,-7648,0},{3830,-7645,0},{3830,-7637,0},{3823,-7638,0},{3817,-7632,0}, {3813,-7632,0},{3810,-7633,0},{3805,-7632,0},{3812,-7642,0},{3818,-7643,0}, {3820,-7643,0},{3820,-7645,0},{3817,-7645,0},{3813,-7647,0},{3817,-7650,0}, {3813,-7650,0},{3813,-7652,0},{3820,-7657,0},{3823,-7662,0},{3823,-7675,0}, {3825,-7678,0},{3837,-7682,0},{3840,-7687,0},{3828,-7683,0},{3827,-7683,0}, {3827,-7687,0},{3835,-7697,0},{3848,-7702,0},{3843,-7703,0},{3842,-7708,0}, {3843,-7710,0},{3845,-7710,0},{3845,-7713,0},{3840,-7712,0},{3837,-7718,0}, {3837,-7720,0},{3840,-7725,0},{3848,-7727,0},{3855,-7723,0},{3857,-7717,0}, {3858,-7720,0},{3860,-7718,0},{3862,-7712,0},{3868,-7710,0},{3870,-7702,0}, {3875,-7700,0},{3880,-7702,0},{3887,-7702,0},{3890,-7707,0},{3890,-7705,128}, {3890,-7707,0},{3885,-7703,0},{3873,-7703,0},{3870,-7712,0},{3868,-7713,0}, {3870,-7713,0},{3870,-7715,0},{3868,-7717,0},{3865,-7713,0},{3863,-7717,0}, {3863,-7720,0},{3865,-7720,0},{3865,-7723,0},{3858,-7727,0},{3857,-7725,0}, {3855,-7728,0},{3853,-7728,0},{3850,-7730,0},{3840,-7730,0},{3843,-7733,0}, {3843,-7735,0},{3837,-7728,0},{3835,-7733,0},{3833,-7725,0},{3835,-7715,0}, {3840,-7703,0},{3838,-7700,0},{3835,-7700,0},{3833,-7700,0},{3832,-7705,0}, {3825,-7695,0},{3820,-7695,0},{3817,-7685,0},{3817,-7677,0},{3813,-7673,0}, {3815,-7668,0},{3813,-7663,0},{3815,-7660,0},{3812,-7658,0},{3807,-7652,0}, {3803,-7653,0},{3802,-7653,0},{3802,-7647,0},{3800,-7645,0},{3798,-7647,0}, {3798,-7642,0},{3790,-7623,0},{3788,-7623,0},{3782,-7625,0},{3785,-7630,0}, {3785,-7632,0},{3778,-7628,0},{3775,-7630,0},{3773,-7632,0},{3770,-7628,0}, {3770,-7632,0},{3767,-7632,0},{3767,-7633,0},{3763,-7632,0},{3763,-7630,0}, {3762,-7632,0},{3762,-7637,0},{3765,-7642,0},{3767,-7642,0},{3765,-7643,0}, {3770,-7647,0},{3765,-7648,0},{3767,-7652,0},{3770,-7652,0},{3775,-7657,0}, {3778,-7658,0},{3778,-7662,0},{3782,-7662,0},{3782,-7665,0},{3783,-7667,0}, {3783,-7672,0},{3792,-7677,0},{3795,-7683,0},{3798,-7683,0},{3800,-7688,0}, {3808,-7693,0},{3812,-7703,0},{3817,-7705,0},{3817,-7713,0},{3813,-7710,0}, {3815,-7705,0},{3810,-7703,0},{3807,-7693,0},{3805,-7692,0},{3798,-7690,0}, {3797,-7687,0},{3792,-7683,0},{3790,-7678,0},{3780,-7672,0},{3778,-7668,0}, {3777,-7667,0},{3775,-7662,0},{3763,-7653,0},{3762,-7643,0},{3758,-7640,0}, {3757,-7628,0},{3755,-7632,0},{3755,-7638,0},{3753,-7640,0},{3748,-7630,0}, {3750,-7628,0},{3752,-7628,0},{3750,-7625,0},{3748,-7625,0},{3747,-7628,0}, {3743,-7623,0},{3738,-7623,0},{3732,-7627,0},{3735,-7630,0},{3738,-7632,0}, {3737,-7635,0},{3738,-7637,0},{3743,-7640,0},{3742,-7643,0},{3738,-7640,0}, {3738,-7645,0},{3737,-7645,0},{3733,-7640,0},{3732,-7643,0},{3732,-7638,0}, {3728,-7637,0},{3727,-7645,0},{3732,-7658,0},{3740,-7665,0},{3743,-7668,0}, {3753,-7677,0},{3753,-7678,0},{3750,-7680,0},{3748,-7675,0},{3730,-7660,0}, {3723,-7645,0},{3723,-7637,0},{3717,-7638,0},{3717,-7632,0},{3713,-7628,0}, {3710,-7633,0},{3710,-7627,0},{3708,-7627,0},{3700,-7628,0},{3700,-7637,0}, {3697,-7640,0},{3705,-7647,0},{3707,-7652,0},{3710,-7653,0},{3708,-7655,0}, {3713,-7662,0},{3718,-7662,0},{3722,-7663,0},{3722,-7673,0},{3720,-7675,0}, {3722,-7677,0},{3725,-7683,0},{3727,-7685,0},{3732,-7687,0},{3727,-7687,0}, {3723,-7692,0},{3732,-7700,0},{3728,-7705,0},{3733,-7708,0},{3732,-7713,0}, {3733,-7723,0},{3735,-7725,0},{3732,-7727,0},{3732,-7728,0},{3728,-7718,0}, {3728,-7710,0},{3727,-7707,0},{3728,-7700,0},{3723,-7697,0},{3720,-7690,0}, {3720,-7680,0},{3715,-7673,0},{3718,-7667,0},{3705,-7665,0},{3703,-7658,0}, {3702,-7657,0},{3700,-7658,0},{3697,-7648,0},{3693,-7650,0},{3690,-7648,0}, {3687,-7652,0},{3685,-7652,0},{3690,-7642,0},{3688,-7635,0},{3687,-7632,0}, {3685,-7630,0},{3688,-7632,0},{3692,-7630,0},{3693,-7632,0},{3697,-7627,0}, {3692,-7617,0},{3692,-7610,0},{3690,-7607,0},{3692,-7600,0},{3655,-7585,0}, {3627,-7578,0},{3612,-7572,0},{3590,-7557,0},{3578,-7552,0},{3585,-7558,0}, {3590,-7560,0},{3600,-7567,0},{3600,-7572,0},{3602,-7572,0},{3600,-7570,0}, {3602,-7568,0},{3603,-7568,0},{3605,-7568,0},{3607,-7573,0},{3618,-7575,0}, {3628,-7582,0},{3640,-7583,0},{3653,-7588,0},{3660,-7588,0},{3672,-7593,0}, {3670,-7597,0},{3658,-7598,0},{3653,-7595,0},{3657,-7595,0},{3657,-7592,0}, {3648,-7590,0},{3650,-7597,0},{3652,-7597,0},{3658,-7605,0},{3653,-7602,0}, {3650,-7603,0},{3643,-7597,0},{3643,-7598,0},{3642,-7598,0},{3635,-7593,0}, {3640,-7595,0},{3640,-7593,0},{3642,-7593,0},{3643,-7592,0},{3635,-7592,0}, {3627,-7587,0},{3607,-7578,0},{3610,-7585,0},{3617,-7587,0},{3622,-7592,0}, {3623,-7590,0},{3625,-7595,0},{3628,-7593,0},{3632,-7597,0},{3632,-7600,0}, {3627,-7595,0},{3623,-7597,0},{3622,-7595,0},{3620,-7597,0},{3617,-7590,0}, {3618,-7602,0},{3622,-7605,0},{3625,-7610,0},{3628,-7613,0},{3630,-7620,0}, {3632,-7618,0},{3632,-7620,0},{3628,-7622,0},{3625,-7615,0},{3622,-7612,0}, {3617,-7605,0},{3615,-7607,0},{3612,-7617,0},{3615,-7622,0},{3622,-7628,0}, {3620,-7628,0},{3615,-7625,0},{3613,-7623,0},{3610,-7620,0},{3610,-7622,0}, {3615,-7637,0},{3618,-7640,0},{3618,-7642,0},{3620,-7647,0},{3617,-7643,0}, {3612,-7638,0},{3610,-7632,0},{3608,-7637,0},{3608,-7642,0},{3607,-7643,0}, {3605,-7642,0},{3600,-7652,0},{3602,-7658,0},{3605,-7662,0},{3603,-7665,0}, {3605,-7668,0},{3610,-7670,0},{3612,-7672,0},{3617,-7673,0},{3623,-7672,0}, {3628,-7667,0},{3632,-7672,0},{3628,-7670,0},{3622,-7675,0},{3613,-7677,0}, {3600,-7670,0},{3600,-7668,0},{3595,-7673,0},{3593,-7665,0},{3595,-7653,0}, {3598,-7640,0},{3597,-7638,0},{3593,-7638,0},{3595,-7635,0},{3592,-7628,0}, {3593,-7627,0},{3593,-7630,0},{3597,-7628,0},{3600,-7617,0},{3598,-7605,0}, {3595,-7602,0},{3595,-7607,0},{3592,-7607,0},{3593,-7602,0},{3587,-7605,0}, {3587,-7608,0},{3585,-7605,0},{3578,-7605,0},{3580,-7612,0},{3578,-7612,0}, {3575,-7605,0},{3572,-7605,0},{3568,-7603,0},{3568,-7610,0},{3570,-7613,0}, {3568,-7613,0},{3567,-7610,0},{3565,-7603,0},{3572,-7600,0},{3588,-7598,0}, {3592,-7593,0},{3588,-7590,0},{3587,-7587,0},{3588,-7585,0},{3593,-7590,0}, {3592,-7585,0},{3593,-7582,0},{3595,-7587,0},{3597,-7585,0},{3597,-7582,0}, {3593,-7582,0},{3588,-7575,0},{3582,-7572,0},{3577,-7573,0},{3573,-7572,0}, {3568,-7572,0},{3570,-7577,0},{3568,-7577,0},{3563,-7573,0},{3562,-7575,0}, {3560,-7578,0},{3557,-7578,0},{3557,-7582,0},{3557,-7583,0},{3558,-7582,0}, {3558,-7587,0},{3563,-7588,0},{3562,-7590,0},{3558,-7590,0},{3555,-7592,0}, {3552,-7598,0},{3550,-7597,0},{3548,-7600,0},{3547,-7600,0},{3542,-7603,0}, {3543,-7605,0},{3542,-7607,0},{3538,-7607,0},{3537,-7613,0},{3533,-7615,0}, {3535,-7617,0},{3535,-7623,0},{3537,-7625,0},{3535,-7627,0},{3535,-7628,0}, {3542,-7635,0},{3538,-7637,0},{3535,-7635,0},{3533,-7637,0},{3535,-7638,0}, {3537,-7642,0},{3537,-7638,0},{3538,-7640,0},{3542,-7638,0},{3547,-7640,0}, {3545,-7643,0},{3540,-7643,0},{3540,-7648,0},{3537,-7645,0},{3538,-7650,0}, {3542,-7652,0},{3543,-7650,0},{3543,-7655,0},{3547,-7655,0},{3550,-7658,0}, {3550,-7648,0},{3553,-7647,0},{3555,-7658,0},{3553,-7662,0},{3552,-7665,0}, {3550,-7662,0},{3547,-7662,0},{3540,-7658,0},{3538,-7658,0},{3540,-7665,0}, {3543,-7665,0},{3542,-7675,0},{3543,-7680,0},{3545,-7682,0},{3547,-7692,0}, {3553,-7705,0},{3548,-7702,0},{3547,-7698,0},{3543,-7698,0},{3542,-7685,0}, {3540,-7683,0},{3537,-7672,0},{3535,-7670,0},{3530,-7653,0},{3530,-7650,0}, {3527,-7647,0},{3522,-7648,0},{3523,-7657,0},{3522,-7652,0},{3520,-7653,0}, {3522,-7658,0},{3520,-7660,0},{3517,-7667,0},{3515,-7658,0},{3515,-7657,0}, {3517,-7658,0},{3517,-7657,0},{3515,-7655,0},{3513,-7655,0},{3510,-7658,0}, {3508,-7662,0},{3508,-7660,0},{3507,-7660,0},{3498,-7678,0},{3500,-7685,0}, {3507,-7695,0},{3507,-7698,0},{3515,-7708,0},{3498,-7695,0},{3495,-7690,0}, {3493,-7680,0},{3490,-7675,0},{3498,-7663,0},{3498,-7660,0},{3495,-7660,0}, {3493,-7655,0},{3493,-7653,0},{3497,-7657,0},{3498,-7657,0},{3500,-7653,0}, {3497,-7650,0},{3498,-7648,0},{3502,-7648,0},{3507,-7645,0},{3505,-7643,0}, {3502,-7643,0},{3498,-7642,0},{3497,-7647,0},{3493,-7645,0},{3495,-7642,0}, {3493,-7638,0},{3497,-7638,0},{3497,-7632,0},{3502,-7635,0},{3502,-7632,0}, {3498,-7628,0},{3497,-7627,0},{3493,-7630,0},{3493,-7635,0},{3488,-7633,0}, {3487,-7638,0},{3488,-7640,0},{3483,-7642,0},{3477,-7650,0},{3473,-7650,0}, {3473,-7658,0},{3477,-7658,0},{3478,-7657,0},{3482,-7662,0},{3472,-7662,0}, {3472,-7667,0},{3475,-7667,0},{3480,-7668,0},{3475,-7677,0},{3475,-7672,0}, {3472,-7670,0},{3473,-7687,0},{3472,-7692,0},{3468,-7710,0},{3472,-7708,0}, {3473,-7712,0},{3475,-7712,0},{3475,-7713,0},{3472,-7712,0},{3468,-7713,0}, {3468,-7717,0},{3465,-7717,0},{3455,-7733,0},{3458,-7740,0},{3465,-7733,0}, {3470,-7738,0},{3473,-7737,0},{3473,-7742,0},{3475,-7743,0},{3468,-7743,0}, {3468,-7740,0},{3463,-7737,0},{3462,-7738,0},{3460,-7745,0},{3458,-7742,0}, {3455,-7737,0},{3453,-7738,0},{3452,-7737,0},{3450,-7747,0},{3438,-7767,0}, {3433,-7772,0},{3422,-7782,0},{3415,-7787,0},{3405,-7788,0},{3393,-7792,0}, {3393,-7793,0},{3398,-7792,0},{3410,-7792,0},{3418,-7795,0},{3402,-7795,0}, {3388,-7802,0},{3392,-7823,0},{3390,-7835,0},{3395,-7837,0},{3390,-7840,0}, {3387,-7855,0},{3388,-7855,0},{3387,-7860,0},{3385,-7857,0},{3383,-7865,0}, {3378,-7875,0},{3370,-7887,0},{3363,-7893,0},{3342,-7913,0},{3322,-7918,0}, {3330,-7920,0},{3332,-7927,0},{3337,-7925,0},{3343,-7918,0},{3337,-7927,0}, {3328,-7930,0},{3323,-7922,0},{3318,-7922,0},{3318,-7918,0},{3313,-7923,0}, {3317,-7925,0},{3317,-7927,0},{3313,-7925,0},{3312,-7927,0},{3313,-7928,0}, {3315,-7933,0},{3313,-7930,0},{3312,-7928,0},{3305,-7938,0},{3302,-7938,0}, {3298,-7950,0},{3302,-7950,0},{3303,-7953,0},{3300,-7958,0},{3295,-7963,0}, {3292,-7962,0},{3293,-7958,0},{3292,-7958,0},{3285,-7970,0},{3280,-7973,0}, {3277,-7983,0},{3277,-7987,0},{3278,-7988,0},{3278,-7990,0},{3285,-7988,0}, {3285,-7990,0},{3283,-7990,0},{3285,-7995,0},{3278,-7993,0},{3280,-7997,0}, {3278,-7997,0},{3277,-7995,0},{3275,-7990,0},{3273,-7988,0},{3273,-7987,0}, {3272,-7987,0},{3268,-7988,0},{3265,-7995,0},{3265,-8002,0},{3263,-8002,0}, {3262,-7998,0},{3260,-8000,0},{3260,-8008,0},{3255,-8017,0},{3262,-8023,0}, {3262,-8027,0},{3260,-8025,0},{3257,-8020,0},{3248,-8033,0},{3253,-8037,0}, {3250,-8037,0},{3247,-8040,0},{3250,-8043,0},{3250,-8048,0},{3255,-8055,0}, {3252,-8053,0},{3252,-8067,0},{3250,-8068,0},{3248,-8055,0},{3250,-8053,0}, {3247,-8048,0},{3245,-8058,0},{3245,-8048,0},{3242,-8045,0},{3240,-8047,0}, {3238,-8050,0},{3237,-8055,0},{3235,-8055,0},{3237,-8047,0},{3240,-8043,0}, {3235,-8045,0},{3235,-8047,0},{3233,-8045,0},{3232,-8047,0},{3225,-8063,0}, {3227,-8065,0},{3232,-8063,0},{3238,-8063,0},{3235,-8065,0},{3237,-8067,0}, {3245,-8065,0},{3247,-8065,0},{3245,-8068,0},{3245,-8067,0},{3237,-8068,0}, {3230,-8067,0},{3232,-8070,0},{3238,-8077,0},{3247,-8080,0},{3250,-8078,0}, {3250,-8080,0},{3253,-8083,0},{3253,-8085,0},{3248,-8082,0},{3240,-8080,0}, {3238,-8078,0},{3232,-8080,0},{3225,-8075,0},{3225,-8070,0},{3222,-8067,0}, {3215,-8072,0},{3210,-8082,0},{3218,-8078,0},{3225,-8078,0},{3222,-8078,0}, {3220,-8078,0},{3215,-8083,0},{3212,-8083,0},{3205,-8090,0},{3202,-8088,0}, {3203,-8090,128},{3202,-8085,0},{3200,-8083,0},{3197,-8087,0},{3195,-8090,0}, {3198,-8093,0},{3192,-8097,0},{3190,-8093,0},{3187,-8098,0},{3188,-8105,0}, {3192,-8110,0},{3188,-8112,0},{3188,-8108,0},{3187,-8108,0},{3187,-8113,0}, {3185,-8113,0},{3182,-8103,0},{3177,-8108,0},{3173,-8112,0},{3177,-8127,0}, {3175,-8127,0},{3173,-8122,0},{3170,-8118,0},{3167,-8123,0},{3167,-8115,0}, {3168,-8117,0},{3170,-8113,0},{3160,-8113,0},{3157,-8117,0},{3157,-8118,0}, {3162,-8120,0},{3163,-8123,0},{3160,-8120,0},{3157,-8122,0},{3155,-8125,0}, {3157,-8130,0},{3155,-8133,0},{3153,-8130,0},{3153,-8127,0},{3148,-8128,0}, {3153,-8123,0},{3153,-8117,0},{3143,-8125,0},{3138,-8127,0},{3140,-8128,0}, {3143,-8130,0},{3143,-8133,0},{3135,-8128,0},{3133,-8128,0},{3135,-8143,0}, {3137,-8147,0},{3137,-8148,0},{3133,-8142,0},{3132,-8133,0},{3128,-8128,0}, {3127,-8127,0},{3122,-8128,0},{3122,-8130,0},{3122,-8132,0},{3113,-8138,0}, {3115,-8142,0},{3120,-8140,0},{3122,-8143,0},{3118,-8147,0},{3112,-8145,0}, {3113,-8150,0},{3107,-8143,0},{3110,-8143,0},{3112,-8140,0},{3108,-8140,0}, {3102,-8143,0},{3108,-8148,0},{3108,-8152,0},{3102,-8145,0},{3098,-8147,0}, {3098,-8152,0},{3097,-8150,0},{3097,-8145,0},{3088,-8150,0},{3085,-8148,0}, {3085,-8153,0},{3083,-8152,0},{3080,-8152,0},{3077,-8148,0},{3072,-8150,0}, {3068,-8148,0},{3070,-8145,0},{3068,-8143,0},{3057,-8145,0},{3052,-8143,0}, {3055,-8147,0},{3062,-8148,0},{3062,-8150,0},{3055,-8150,0},{3047,-8142,0}, {3040,-8142,0},{3038,-8138,0},{3027,-8138,0},{3012,-8133,0},{2990,-8128,0}, {2987,-8127,0},{2980,-8125,0},{2958,-8117,0},{2925,-8102,0},{2908,-8092,0}, {2907,-8092,0},{2905,-8090,0},{2872,-8068,0},{2865,-8063,0},{2857,-8057,0}, {2847,-8053,0},{2845,-8053,0},{2840,-8060,0},{2820,-8058,0},{2808,-8057,0}, {2792,-8047,0},{2787,-8045,0},{2793,-8050,0},{2800,-8053,0},{2805,-8057,0}, {2822,-8062,0},{2840,-8062,0},{2852,-8058,0},{2860,-8060,0},{2860,-8067,0}, {2858,-8068,0},{2862,-8077,0},{2865,-8078,0},{2868,-8078,0},{2870,-8075,0}, {2873,-8075,0},{2878,-8085,0},{2865,-8082,0},{2860,-8080,0},{2842,-8075,0}, {2805,-8058,0},{2770,-8040,0},{2742,-8030,0},{2718,-8018,0},{2722,-8022,0}, {2722,-8027,0},{2723,-8028,0},{2723,-8032,0},{2718,-8027,0},{2720,-8022,0}, {2715,-8017,0},{2713,-8015,0},{2695,-8007,0},{2693,-8012,0},{2692,-8007,0}, {2678,-8003,0},{2677,-8005,0},{2668,-8003,0},{2657,-8003,0},{2653,-8005,0}, {2652,-8005,0},{2628,-8008,0},{2612,-8010,0},{2610,-8012,0},{2607,-8010,0}, {2595,-8012,0},{2582,-8012,0},{2577,-8013,0},{2582,-8013,0},{2590,-8013,0}, {2582,-8018,0},{2575,-8018,0},{2573,-8025,0},{2565,-8027,0},{2562,-8032,0}, {2553,-8032,0},{2548,-8035,0},{2543,-8033,0},{2540,-8033,0},{2538,-8032,0}, {2533,-8035,0},{2533,-8037,0},{2523,-8043,0},{2520,-8042,0},{2518,-8040,0}, {2520,-8042,0},{2525,-8045,0},{2522,-8050,0},{2522,-8047,0},{2517,-8045,0}, {2518,-8045,0},{2522,-8048,0},{2520,-8052,0},{2522,-8052,0},{2523,-8050,0}, {2525,-8053,0},{2523,-8058,0},{2518,-8060,0},{2518,-8065,0},{2517,-8065,0}, {2517,-8068,0},{2513,-8072,0},{2515,-8077,0},{2515,-8080,0},{2517,-8082,0}, {2518,-8085,0},{2513,-8092,0},{2512,-8108,0},{2517,-8115,0},{2523,-8118,0}, {2533,-8113,0},{2527,-8107,0},{2523,-8098,0},{2522,-8100,0},{2520,-8098,0}, {2522,-8092,0},{2525,-8092,0},{2532,-8098,0},{2533,-8103,0},{2538,-8115,0}, {2547,-8117,0},{2550,-8120,0},{2555,-8118,0},{2557,-8123,0},{2563,-8125,0}, {2565,-8127,0},{2570,-8128,0},{2570,-8132,0},{2572,-8133,0},{2577,-8135,0}, {2578,-8132,0},{2582,-8135,0},{2585,-8140,0},{2587,-8147,0},{2588,-8147,0}, {2588,-8152,0},{2592,-8155,0},{2590,-8158,0},{2592,-8158,0},{2595,-8162,0}, {2592,-8165,0},{2590,-8173,0},{2595,-8173,0},{2593,-8170,0},{2595,-8167,0}, {2598,-8167,0},{2597,-8172,0},{2600,-8173,0},{2602,-8173,0},{2607,-8177,0}, {2613,-8178,0},{2610,-8180,0},{2627,-8183,0},{2628,-8182,0},{2635,-8185,0}, {2635,-8183,0},{2643,-8185,0},{2648,-8188,0},{2645,-8187,0},{2643,-8188,0}, {2647,-8195,0},{2648,-8202,0},{2652,-8200,0},{2650,-8198,0},{2653,-8193,0}, {2663,-8188,0},{2668,-8182,0},{2668,-8180,0},{2672,-8178,0},{2667,-8190,0}, {2655,-8195,0},{2653,-8198,0},{2653,-8200,0},{2652,-8203,0},{2655,-8207,0}, {2660,-8205,0},{2670,-8208,0},{2678,-8205,0},{2687,-8205,0},{2690,-8210,0}, {2693,-8205,0},{2695,-8200,0},{2700,-8198,0},{2697,-8202,0},{2697,-8205,0}, {2695,-8207,0},{2697,-8212,0},{2692,-8215,0},{2697,-8218,0},{2695,-8220,0}, {2697,-8223,0},{2700,-8223,0},{2702,-8227,0},{2700,-8227,0},{2700,-8225,0}, {2695,-8223,0},{2693,-8218,0},{2687,-8217,0},{2678,-8215,0},{2678,-8217,0}, {2682,-8217,0},{2680,-8220,0},{2683,-8230,0},{2687,-8232,0},{2688,-8232,0}, {2693,-8235,0},{2695,-8237,0},{2690,-8235,0},{2705,-8243,0},{2718,-8250,0}, {2720,-8250,0},{2718,-8248,0},{2722,-8250,0},{2722,-8252,0},{2727,-8257,0}, {2730,-8255,0},{2728,-8255,0},{2728,-8253,0},{2740,-8258,0},{2745,-8267,0}, {2745,-8268,0},{2752,-8273,0},{2748,-8270,0},{2747,-8265,0},{2748,-8263,0}, {2748,-8267,0},{2752,-8267,0},{2750,-8260,0},{2752,-8263,0},{2752,-8260,0}, {2755,-8257,0},{2755,-8262,0},{2755,-8258,0},{2763,-8255,0},{2767,-8252,0}, {2773,-8247,0},{2778,-8240,0},{2782,-8238,0},{2792,-8242,0},{2793,-8245,0}, {2790,-8248,0},{2782,-8248,0},{2783,-8253,0},{2785,-8255,0},{2787,-8253,0}, {2793,-8253,0},{2795,-8257,0},{2797,-8262,0},{2798,-8260,0},{2802,-8265,0}, {2800,-8265,0},{2803,-8268,0},{2800,-8268,0},{2797,-8268,0},{2795,-8263,0}, {2795,-8270,0},{2793,-8272,0},{2790,-8265,0},{2788,-8263,0},{2788,-8257,0}, {2785,-8260,0},{2782,-8260,0},{2778,-8262,0},{2770,-8263,0},{2768,-8267,0}, {2770,-8268,0},{2773,-8268,0},{2773,-8272,0},{2778,-8275,0},{2783,-8282,0}, {2782,-8282,0},{2772,-8273,0},{2765,-8272,0},{2770,-8275,0},{2773,-8275,0}, {2780,-8283,0},{2787,-8285,0},{2793,-8283,0},{2795,-8282,0},{2788,-8283,0}, {2793,-8282,0},{2807,-8277,0},{2810,-8277,0},{2815,-8280,0},{2818,-8280,0}, {2820,-8277,0},{2828,-8273,0},{2830,-8272,0},{2830,-8273,0},{2832,-8273,0}, {2843,-8267,0},{2850,-8267,0},{2853,-8263,0},{2863,-8265,0},{2865,-8263,0}, {2867,-8265,0},{2870,-8263,0},{2875,-8263,0},{2875,-8265,0},{2880,-8268,0}, {2882,-8267,0},{2880,-8265,0},{2878,-8263,0},{2880,-8263,0},{2888,-8263,0}, {2892,-8268,0},{2897,-8273,0},{2900,-8273,0},{2900,-8275,0},{2907,-8275,0}, {2910,-8280,0},{2912,-8278,0},{2913,-8280,0},{2917,-8280,0},{2917,-8283,0}, {2918,-8285,0},{2917,-8287,0},{2917,-8290,0},{2918,-8297,0},{2917,-8300,0}, {2918,-8305,0},{2920,-8305,0},{2922,-8307,0},{2923,-8307,0},{2927,-8308,0}, {2930,-8315,0},{2933,-8315,0},{2942,-8322,0},{2943,-8328,0},{2950,-8335,0}, {2952,-8340,0},{2958,-8340,0},{2960,-8338,0},{2965,-8340,0},{2968,-8347,0}, {2975,-8358,0},{2982,-8358,0},{2992,-8368,0},{2997,-8377,0},{2998,-8378,0}, {2997,-8380,0},{2998,-8383,0},{3002,-8388,0},{3010,-8402,0},{3010,-8413,0}, {3007,-8417,0},{3010,-8420,0},{3008,-8423,0},{3010,-8425,0},{3010,-8427,0}, {3007,-8428,0},{3007,-8433,0},{3005,-8437,0},{3002,-8437,0},{3002,-8438,0}, {2998,-8438,0},{2998,-8435,0},{2997,-8435,0},{2998,-8442,0},{3002,-8445,0}, {2998,-8447,0},{2998,-8445,0},{2997,-8443,0},{2993,-8433,0},{2988,-8435,0}, {2988,-8438,0},{2990,-8437,0},{2992,-8438,0},{2992,-8445,0},{2990,-8448,0}, {2992,-8452,0},{2988,-8457,0},{2978,-8475,0},{2973,-8488,0},{2973,-8490,0}, {2978,-8487,0},{2980,-8487,0},{2978,-8492,0},{2975,-8495,0},{2975,-8497,0}, {2970,-8502,0},{2972,-8508,0},{2970,-8518,0},{2968,-8533,0},{2968,-8537,0}, {2972,-8538,0},{2978,-8542,0},{2985,-8542,0},{2987,-8540,0},{2985,-8540,0}, {2975,-8538,0},{2968,-8535,0},{2970,-8530,0},{2982,-8530,0},{2992,-8538,0}, {2995,-8543,0},{2997,-8552,0},{3003,-8557,0},{3000,-8552,0},{2998,-8548,0}, {3012,-8568,0},{3013,-8567,0},{3012,-8562,0},{3010,-8562,0},{3008,-8553,0}, {3007,-8552,0},{3002,-8545,0},{3003,-8540,0},{3005,-8540,0},{3005,-8542,0}, {3007,-8543,0},{3003,-8545,0},{3005,-8548,0},{3010,-8548,0},{3010,-8552,0}, {3013,-8550,0},{3012,-8553,0},{3013,-8557,0},{3012,-8557,0},{3015,-8563,0}, {3013,-8563,0},{3018,-8572,0},{3020,-8570,0},{3025,-8567,0},{3025,-8560,0}, {3028,-8558,0},{3028,-8555,0},{3032,-8557,0},{3027,-8562,0},{3028,-8565,0}, {3027,-8568,0},{3023,-8572,0},{3028,-8572,0},{3028,-8575,0},{3032,-8575,0}, {3028,-8577,0},{3028,-8583,0},{3025,-8585,0},{3023,-8583,0},{3025,-8580,0}, {3023,-8577,0},{3023,-8575,0},{3022,-8573,0},{3017,-8575,0},{3015,-8570,0}, {3013,-8572,0},{3015,-8573,0},{3013,-8573,0},{3022,-8587,0},{3030,-8608,0}, {3037,-8632,0},{3040,-8652,0},{3042,-8648,0},{3040,-8640,0},{3040,-8633,0}, {3043,-8632,0},{3040,-8628,0},{3040,-8623,0},{3042,-8627,0},{3043,-8625,0}, {3037,-8610,0},{3040,-8612,0},{3043,-8612,0},{3045,-8615,0},{3047,-8613,0}, {3048,-8613,0},{3047,-8617,0},{3047,-8620,0},{3050,-8620,0},{3048,-8623,0}, {3050,-8627,0},{3048,-8635,0},{3045,-8642,0},{3048,-8643,0},{3052,-8642,0}, {3052,-8645,0},{3050,-8647,0},{3052,-8648,0},{3050,-8648,0},{3047,-8650,0}, {3043,-8655,0},{3045,-8660,0},{3042,-8658,0},{3042,-8678,0},{3035,-8718,0}, {3038,-8718,0},{3042,-8700,0},{3045,-8693,0},{3043,-8688,0},{3047,-8690,0}, {3050,-8702,0},{3055,-8700,0},{3057,-8697,0},{3057,-8700,0},{3058,-8700,0}, {3060,-8702,0},{3057,-8702,0},{3055,-8703,0},{3045,-8708,0},{3045,-8710,0}, {3053,-8710,0},{3053,-8713,0},{3055,-8712,0},{3058,-8717,0},{3058,-8718,0}, {3053,-8718,0},{3050,-8715,0},{3047,-8715,0},{3042,-8720,0},{3040,-8725,0}, {3035,-8727,0},{3035,-8730,0},{3032,-8730,0},{3028,-8752,0},{3028,-8750,128}, {3028,-8753,0},{3030,-8750,0},{3032,-8745,0},{3033,-8748,0},{3033,-8743,0}, {3035,-8742,0},{3037,-8742,0},{3040,-8742,0},{3043,-8733,0},{3045,-8735,0}, {3048,-8742,0},{3043,-8740,0},{3040,-8743,0},{3035,-8747,0},{3035,-8752,0}, {3033,-8752,0},{3032,-8753,0},{3032,-8758,0},{3033,-8758,0},{3035,-8762,0}, {3030,-8760,0},{3030,-8757,0},{3028,-8757,0},{3023,-8773,0},{3023,-8795,0}, {3022,-8800,0},{3023,-8802,0},{3023,-8797,0},{3027,-8793,0},{3023,-8787,0}, {3027,-8778,0},{3028,-8775,0},{3035,-8783,0},{3040,-8782,0},{3042,-8782,0}, {3040,-8783,0},{3038,-8785,0},{3042,-8792,0},{3047,-8792,0},{3048,-8795,0}, {3055,-8790,0},{3060,-8792,0},{3067,-8795,0},{3068,-8800,0},{3073,-8802,0}, {3070,-8802,0},{3065,-8805,0},{3060,-8805,0},{3058,-8808,0},{3052,-8810,0}, {3037,-8812,0},{3032,-8813,0},{3033,-8815,0},{3033,-8820,0},{3037,-8820,0}, {3040,-8830,0},{3038,-8830,0},{3040,-8835,0},{3038,-8840,0},{3035,-8840,0}, {3035,-8843,0},{3032,-8847,0},{3035,-8850,0},{3035,-8857,0},{3040,-8860,0}, {3037,-8862,0},{3035,-8868,0},{3035,-8873,0},{3038,-8878,0},{3043,-8885,0}, {3043,-8892,0},{3042,-8898,0},{3040,-8887,0},{3037,-8905,0},{3035,-8908,0}, {3032,-8925,0},{3032,-8927,0},{3035,-8925,0},{3037,-8930,0},{3037,-8933,0}, {3035,-8935,0},{3035,-8932,0},{3030,-8932,0},{3025,-8942,0},{3018,-8945,0}, {3020,-8947,0},{3018,-8952,0},{3015,-8958,0},{3015,-8962,0},{3017,-8958,0}, {3018,-8960,0},{3017,-8963,0},{3018,-8975,0},{3023,-8975,0},{3022,-8980,0}, {3023,-8985,0},{3025,-8987,0},{3027,-8998,0},{3032,-9000,0},{3035,-9005,0}, {3038,-9020,0},{3037,-9023,0},{3025,-9035,0},{3020,-9042,0},{3015,-9043,0}, {3010,-9042,0},{3007,-9035,0},{3007,-9030,0},{3002,-9013,0},{3003,-9002,0}, {3007,-8997,0},{3012,-8990,0},{3015,-8988,0},{3015,-8985,0},{3012,-8983,0}, {3008,-8978,0},{3017,-8975,0},{3017,-8973,0},{3012,-8975,0},{3010,-8973,0}, {3012,-8972,0},{3013,-8968,0},{3015,-8968,0},{3015,-8970,0},{3017,-8967,0}, {3015,-8967,0},{3013,-8965,0},{3012,-8967,0},{3007,-8968,0},{3005,-8972,0}, {3003,-8972,0},{3005,-8978,0},{3003,-8983,0},{3002,-8985,0},{2995,-8982,0}, {2995,-8975,0},{2995,-8972,0},{2992,-8973,0},{2988,-8968,0},{2987,-8965,0}, {2988,-8960,0},{2997,-8957,0},{3000,-8957,0},{3003,-8950,0},{3008,-8948,0}, {3005,-8943,0},{3003,-8943,0},{3005,-8937,0},{3003,-8937,0},{3002,-8943,0}, {3000,-8945,0},{3000,-8943,0},{2997,-8945,0},{2997,-8943,0},{2997,-8937,0}, {2993,-8937,0},{2993,-8940,0},{2995,-8942,0},{2993,-8943,0},{2990,-8942,0}, {2992,-8937,0},{2987,-8938,0},{2988,-8937,0},{2988,-8933,0},{2983,-8938,0}, {2978,-8935,0},{2978,-8938,0},{2977,-8940,0},{2978,-8940,0},{2978,-8943,0}, {2980,-8943,0},{2983,-8947,0},{2980,-8948,0},{2978,-8950,0},{2975,-8952,0}, {2975,-8957,0},{2973,-8960,0},{2968,-8960,0},{2968,-8955,0},{2968,-8953,0}, {2968,-8952,0},{2967,-8950,0},{2967,-8953,0},{2963,-8948,0},{2967,-8955,0}, {2967,-8962,0},{2968,-8963,0},{2970,-8970,0},{2968,-8965,0},{2967,-8967,0}, {2962,-8962,0},{2963,-8975,0},{2962,-8972,0},{2960,-8973,0},{2958,-8970,0}, {2952,-8968,0},{2950,-8962,0},{2950,-8958,0},{2948,-8958,0},{2947,-8952,0}, {2943,-8953,0},{2942,-8953,0},{2943,-8952,0},{2942,-8952,0},{2940,-8955,0}, {2940,-8942,0},{2938,-8942,0},{2938,-8933,0},{2938,-8937,0},{2937,-8938,0}, {2935,-8935,0},{2935,-8927,0},{2932,-8925,0},{2935,-8920,0},{2932,-8918,0}, {2928,-8913,0},{2927,-8913,0},{2925,-8912,0},{2923,-8915,0},{2920,-8907,0}, {2922,-8907,0},{2922,-8903,0},{2920,-8900,0},{2918,-8903,0},{2918,-8900,0}, {2918,-8903,0},{2917,-8905,0},{2918,-8905,0},{2918,-8907,0},{2917,-8910,0}, {2913,-8910,0},{2915,-8907,0},{2913,-8902,0},{2908,-8905,0},{2912,-8908,0}, {2912,-8910,0},{2908,-8908,0},{2910,-8910,0},{2907,-8913,0},{2903,-8915,0}, {2898,-8913,0},{2902,-8918,0},{2910,-8923,0},{2907,-8925,0},{2905,-8930,0}, {2895,-8937,0},{2893,-8942,0},{2897,-8940,0},{2903,-8935,0},{2907,-8935,0}, {2908,-8930,0},{2915,-8927,0},{2915,-8928,0},{2912,-8930,0},{2918,-8932,0}, {2915,-8933,0},{2912,-8932,0},{2908,-8937,0},{2910,-8940,0},{2915,-8940,0}, {2915,-8943,0},{2923,-8948,0},{2923,-8947,0},{2925,-8947,0},{2925,-8950,0}, {2922,-8950,0},{2923,-8953,0},{2925,-8962,0},{2928,-8962,0},{2930,-8963,0}, {2932,-8962,0},{2933,-8962,0},{2933,-8965,0},{2930,-8970,0},{2932,-8973,0}, {2932,-8982,0},{2933,-8977,0},{2937,-8975,0},{2938,-8977,0},{2938,-8978,0}, {2942,-8977,0},{2940,-8982,0},{2943,-8983,0},{2945,-8980,0},{2947,-8982,0}, {2948,-8985,0},{2947,-8985,0},{2945,-8985,0},{2943,-8987,0},{2947,-8990,0}, {2947,-8995,0},{2947,-8997,0},{2948,-8998,0},{2952,-9007,0},{2953,-9007,0}, {2953,-9013,0},{2957,-9018,0},{2953,-9020,0},{2953,-9018,0},{2952,-9022,0}, {2952,-9018,0},{2948,-9017,0},{2948,-9015,0},{2947,-9013,0},{2947,-9005,0}, {2943,-9003,0},{2940,-9005,0},{2938,-9003,0},{2933,-9003,0},{2935,-9005,0}, {2930,-9002,0},{2930,-9005,0},{2932,-9005,0},{2930,-9008,0},{2928,-9007,0}, {2927,-9010,0},{2922,-9008,0},{2922,-9005,0},{2918,-9007,0},{2913,-9013,0}, {2908,-9023,0},{2908,-9025,0},{2910,-9023,0},{2912,-9023,0},{2917,-9027,0}, {2918,-9025,0},{2920,-9027,0},{2922,-9025,0},{2925,-9025,0},{2927,-9027,0}, {2923,-9028,0},{2925,-9030,0},{2928,-9033,0},{2932,-9035,0},{2925,-9038,0}, {2925,-9040,0},{2932,-9038,0},{2933,-9042,0},{2935,-9043,0},{2932,-9045,0}, {2928,-9048,0},{2930,-9050,0},{2928,-9052,0},{2930,-9055,0},{2932,-9057,0}, {2930,-9060,0},{2928,-9060,0},{2928,-9057,0},{2923,-9060,0},{2922,-9058,0}, {2923,-9062,0},{2922,-9063,0},{2913,-9063,0},{2917,-9065,0},{2917,-9067,0}, {2913,-9068,0},{2912,-9070,0},{2913,-9072,0},{2912,-9075,0},{2913,-9080,0}, {2913,-9077,0},{2917,-9077,0},{2917,-9082,0},{2918,-9085,0},{2915,-9083,0}, {2913,-9088,0},{2918,-9095,0},{2918,-9102,0},{2922,-9098,0},{2922,-9100,0}, {2922,-9103,0},{2918,-9105,0},{2922,-9113,0},{2923,-9120,0},{2925,-9127,0}, {2927,-9130,0},{2933,-9133,0},{2932,-9132,0},{2933,-9128,0},{2937,-9127,0}, {2938,-9123,0},{2932,-9120,0},{2933,-9117,0},{2928,-9117,0},{2925,-9115,0}, {2927,-9112,0},{2935,-9112,0},{2940,-9122,0},{2943,-9123,0},{2947,-9127,0}, {2953,-9127,0},{2957,-9122,0},{2960,-9122,0},{2962,-9125,0},{2960,-9125,0}, {2957,-9125,0},{2955,-9128,0},{2952,-9128,0},{2948,-9130,0},{2952,-9143,0}, {2955,-9142,0},{2953,-9155,0},{2955,-9153,0},{2963,-9155,0},{2963,-9165,0}, {2973,-9162,0},{2975,-9163,0},{2973,-9180,0},{2972,-9185,0},{2972,-9187,0}, {2975,-9187,0},{2977,-9188,0},{2980,-9187,0},{2978,-9182,0},{2983,-9183,0}, {2983,-9192,0},{2982,-9193,0},{2983,-9197,0},{2983,-9198,0},{2980,-9198,0}, {2977,-9208,0},{2973,-9213,0},{2977,-9213,0},{2977,-9217,0},{2975,-9217,0}, {2977,-9220,0},{2970,-9218,0},{2972,-9210,0},{2968,-9213,0},{2962,-9210,0}, {2963,-9203,0},{2962,-9202,0},{2962,-9207,0},{2960,-9205,0},{2958,-9205,0}, {2958,-9218,0},{2953,-9228,0},{2960,-9268,0},{2973,-9303,0},{2978,-9323,0}, {2977,-9372,0},{2970,-9383,0},{2975,-9388,0},{2980,-9390,0},{2983,-9387,0}, {2983,-9380,0},{2990,-9377,0},{2997,-9377,0},{3000,-9380,0},{2998,-9378,128}, {2998,-9385,0},{2993,-9388,0},{2983,-9395,0},{2980,-9395,0},{2973,-9388,0}, {2968,-9385,0},{2968,-9405,0},{2965,-9413,0},{2945,-9465,0},{2937,-9477,0}, {2937,-9478,0},{2940,-9478,0},{2943,-9472,0},{2947,-9470,0},{2948,-9463,0}, {2953,-9457,0},{2952,-9450,0},{2957,-9448,0},{2955,-9452,0},{2957,-9457,0}, {2957,-9463,0},{2953,-9478,0},{2953,-9480,0},{2955,-9480,0},{2955,-9477,0}, {2965,-9472,0},{2975,-9470,0},{2978,-9475,0},{2977,-9483,0},{2968,-9488,0}, {2967,-9490,0},{2967,-9493,0},{2970,-9495,0},{2972,-9500,0},{2972,-9507,0}, {2968,-9503,0},{2968,-9500,0},{2963,-9503,0},{2960,-9498,0},{2957,-9502,0}, {2953,-9502,0},{2952,-9500,0},{2950,-9492,0},{2948,-9493,0},{2947,-9497,0}, {2942,-9495,0},{2942,-9492,0},{2943,-9492,0},{2942,-9490,0},{2940,-9488,0}, {2937,-9482,0},{2937,-9490,0},{2932,-9490,0},{2930,-9493,0},{2932,-9495,0}, {2928,-9500,0},{2927,-9500,0},{2922,-9503,0},{2918,-9510,0},{2918,-9512,0}, {2920,-9512,0},{2920,-9517,0},{2917,-9515,0},{2907,-9515,0},{2905,-9513,0}, {2888,-9537,0},{2887,-9542,0},{2873,-9568,0},{2873,-9575,0},{2873,-9582,0}, {2870,-9593,0},{2868,-9595,0},{2862,-9595,0},{2872,-9572,0},{2865,-9583,0}, {2860,-9598,0},{2848,-9622,0},{2853,-9615,0},{2860,-9600,0},{2863,-9598,0}, {2865,-9598,0},{2858,-9622,0},{2860,-9622,0},{2860,-9618,0},{2863,-9613,0}, {2863,-9622,0},{2867,-9618,0},{2870,-9618,0},{2867,-9627,0},{2868,-9627,0}, {2865,-9630,0},{2863,-9635,0},{2865,-9635,0},{2867,-9638,0},{2872,-9638,0}, {2873,-9640,0},{2873,-9642,0},{2877,-9643,0},{2870,-9643,0},{2872,-9640,0}, {2868,-9642,0},{2863,-9642,0},{2862,-9637,0},{2857,-9648,0},{2860,-9648,0}, {2860,-9643,0},{2863,-9645,0},{2862,-9648,0},{2862,-9650,0},{2865,-9650,0}, {2865,-9655,0},{2870,-9657,0},{2872,-9658,0},{2872,-9665,0},{2868,-9665,0}, {2863,-9660,0},{2857,-9660,0},{2855,-9652,0},{2852,-9648,0},{2848,-9655,0}, {2847,-9655,0},{2848,-9650,0},{2850,-9648,0},{2847,-9643,0},{2845,-9640,0}, {2843,-9640,0},{2832,-9665,0},{2833,-9670,0},{2840,-9670,0},{2842,-9673,0}, {2843,-9675,0},{2848,-9678,0},{2845,-9682,0},{2842,-9677,0},{2840,-9677,0}, {2842,-9683,0},{2840,-9683,0},{2835,-9678,0},{2828,-9680,0},{2823,-9678,0}, {2817,-9687,0},{2813,-9688,0},{2813,-9693,0},{2820,-9692,0},{2822,-9693,0}, {2825,-9690,0},{2827,-9692,0},{2822,-9695,0},{2818,-9693,0},{2812,-9697,0}, {2813,-9702,0},{2818,-9700,0},{2820,-9702,0},{2818,-9703,0},{2815,-9712,0}, {2817,-9715,0},{2815,-9718,0},{2812,-9715,0},{2807,-9722,0},{2803,-9715,0}, {2800,-9715,0},{2807,-9710,0},{2808,-9705,0},{2812,-9703,0},{2810,-9702,0}, {2807,-9703,0},{2803,-9702,0},{2797,-9710,0},{2782,-9720,0},{2782,-9723,0}, {2783,-9722,0},{2787,-9725,0},{2788,-9727,0},{2785,-9735,0},{2787,-9735,0}, {2787,-9745,0},{2785,-9747,0},{2788,-9750,0},{2787,-9752,0},{2782,-9748,0}, {2783,-9738,0},{2778,-9740,0},{2775,-9737,0},{2772,-9732,0},{2770,-9725,0}, {2757,-9732,0},{2733,-9740,0},{2730,-9748,0},{2728,-9752,0},{2728,-9753,0}, {2730,-9750,0},{2733,-9750,0},{2733,-9745,0},{2735,-9748,0},{2740,-9748,0}, {2738,-9752,0},{2733,-9757,0},{2733,-9758,0},{2730,-9760,0},{2730,-9763,0}, {2733,-9765,0},{2738,-9768,0},{2747,-9777,0},{2745,-9777,0},{2740,-9772,0}, {2738,-9773,0},{2737,-9770,0},{2735,-9770,0},{2733,-9768,0},{2732,-9772,0}, {2732,-9767,0},{2730,-9767,0},{2728,-9770,0},{2728,-9777,0},{2727,-9773,0}, {2727,-9765,0},{2725,-9763,0},{2723,-9753,0},{2727,-9742,0},{2717,-9745,0}, {2712,-9745,0},{2710,-9750,0},{2707,-9748,0},{2705,-9748,0},{2702,-9747,0}, {2700,-9750,0},{2702,-9755,0},{2700,-9757,0},{2692,-9755,0},{2690,-9752,0}, {2688,-9748,0},{2687,-9748,0},{2685,-9750,0},{2687,-9752,0},{2690,-9755,0}, {2687,-9755,0},{2683,-9757,0},{2682,-9755,0},{2680,-9750,0},{2655,-9742,0}, {2650,-9742,0},{2652,-9743,0},{2650,-9743,0},{2648,-9747,0},{2648,-9743,0}, {2642,-9745,0},{2642,-9742,0},{2637,-9740,0},{2637,-9737,0},{2633,-9737,0}, {2635,-9735,0},{2628,-9737,0},{2627,-9735,0},{2628,-9732,0},{2625,-9732,0}, {2623,-9733,0},{2620,-9732,0},{2617,-9732,0},{2612,-9730,0},{2610,-9728,0}, {2608,-9722,0},{2607,-9722,0},{2607,-9725,0},{2603,-9727,0},{2598,-9725,0}, {2602,-9718,0},{2608,-9717,0},{2597,-9713,0},{2570,-9717,0},{2543,-9728,0}, {2513,-9748,0},{2503,-9752,0},{2478,-9758,0},{2432,-9768,0},{2407,-9772,0}, {2378,-9773,0},{2378,-9775,0},{2378,-9782,0},{2377,-9775,0},{2365,-9775,0}, {2375,-9773,0},{2375,-9772,0},{2330,-9777,0},{2290,-9773,0},{2285,-9775,0}, {2292,-9775,0},{2290,-9777,0},{2277,-9780,0},{2277,-9783,0},{2273,-9783,0}, {2273,-9787,0},{2270,-9785,0},{2260,-9788,0},{2258,-9787,0},{2260,-9785,0}, {2262,-9785,0},{2267,-9783,0},{2265,-9783,0},{2260,-9783,0},{2252,-9785,0}, {2233,-9780,0},{2227,-9778,0},{2215,-9778,0},{2197,-9770,0},{2177,-9755,0}, {2168,-9745,0},{2160,-9733,0},{2157,-9732,0},{2148,-9732,0},{2133,-9740,0}, {2127,-9742,0},{2137,-9743,0},{2138,-9747,0},{2142,-9745,0},{2143,-9748,0}, {2148,-9740,0},{2147,-9738,0},{2150,-9737,0},{2153,-9737,0},{2163,-9748,0}, {2178,-9762,0},{2190,-9765,0},{2192,-9768,0},{2208,-9778,0},{2193,-9772,0}, {2182,-9772,0},{2167,-9767,0},{2148,-9757,0},{2147,-9753,0},{2148,-9748,0}, {2143,-9750,0},{2137,-9748,0},{2128,-9743,0},{2125,-9743,0},{2125,-9740,0}, {2113,-9738,0},{2097,-9730,0},{2080,-9720,0},{2075,-9718,0},{2073,-9720,0}, {2068,-9717,0},{2053,-9705,0},{2047,-9695,0},{2030,-9683,0},{2015,-9668,0}, {2008,-9665,0},{1987,-9645,0},{1973,-9640,0},{1967,-9640,0},{1953,-9637,0}, {1947,-9630,0},{1943,-9632,0},{1938,-9630,0},{1933,-9630,0},{1923,-9617,0}, {1922,-9612,0},{1912,-9610,0},{1907,-9605,0},{1905,-9597,0},{1895,-9595,0}, {1887,-9590,0},{1883,-9583,0},{1880,-9575,0},{1877,-9575,0},{1880,-9582,0}, {1882,-9588,0},{1887,-9593,0},{1887,-9595,0},{1885,-9595,0},{1883,-9593,0}, {1882,-9587,0},{1880,-9587,0},{1875,-9582,0},{1875,-9588,0},{1872,-9587,0}, {1872,-9582,0},{1875,-9578,0},{1872,-9568,0},{1870,-9562,0},{1867,-9558,0}, {1868,-9557,0},{1870,-9558,0},{1875,-9573,0},{1880,-9573,0},{1873,-9565,0}, {1872,-9557,0},{1870,-9540,0},{1872,-9528,0},{1870,-9518,0},{1862,-9505,0}, {1855,-9502,0},{1853,-9495,0},{1853,-9482,0},{1852,-9478,0},{1840,-9473,0}, {1828,-9462,0},{1818,-9458,0},{1815,-9453,0},{1815,-9447,0},{1820,-9417,0}, {1830,-9387,0},{1825,-9388,0},{1827,-9380,0},{1828,-9377,0},{1832,-9377,0}, {1833,-9373,0},{1835,-9368,0},{1833,-9368,0},{1833,-9365,0},{1835,-9358,0}, {1837,-9357,0},{1840,-9357,0},{1840,-9362,0},{1837,-9370,0},{1835,-9372,0}, {1835,-9377,0},{1830,-9380,0},{1832,-9385,0},{1835,-9378,0},{1842,-9358,0}, {1843,-9343,0},{1843,-9315,0},{1842,-9317,0},{1840,-9318,0},{1837,-9317,0}, {1837,-9313,0},{1838,-9312,0},{1837,-9312,0},{1835,-9313,0},{1833,-9313,0}, {1837,-9312,0},{1838,-9308,0},{1840,-9308,0},{1842,-9313,0},{1843,-9313,0}, {1845,-9310,0},{1843,-9297,0},{1845,-9292,0},{1850,-9280,0},{1858,-9272,0}, {1858,-9270,0},{1853,-9268,0},{1843,-9267,0},{1855,-9267,0},{1862,-9268,0}, {1862,-9258,0},{1868,-9240,0},{1868,-9222,0},{1873,-9198,0},{1872,-9195,0}, {1868,-9193,0},{1862,-9185,0},{1858,-9187,0},{1860,-9188,0},{1858,-9193,0}, {1863,-9195,0},{1860,-9197,0},{1862,-9202,0},{1858,-9198,0},{1858,-9203,0}, {1855,-9205,0},{1853,-9200,0},{1855,-9195,0},{1850,-9190,0},{1855,-9193,0}, {1857,-9197,0},{1860,-9197,0},{1857,-9195,0},{1857,-9190,0},{1855,-9192,0}, {1855,-9188,0},{1852,-9187,0},{1852,-9188,0},{1850,-9183,0},{1843,-9185,0}, {1838,-9180,0},{1840,-9178,0},{1845,-9182,0},{1843,-9178,0},{1843,-9177,0}, {1847,-9180,0},{1848,-9180,0},{1843,-9162,0},{1845,-9153,0},{1847,-9150,0}, {1843,-9150,0},{1843,-9147,0},{1848,-9148,0},{1848,-9150,0},{1845,-9153,0}, {1848,-9153,0},{1852,-9148,0},{1857,-9133,0},{1862,-9130,0},{1862,-9125,0}, {1865,-9118,0},{1867,-9118,0},{1863,-9130,0},{1867,-9128,0},{1870,-9127,0}, {1873,-9127,0},{1878,-9132,0},{1877,-9135,0},{1878,-9138,0},{1882,-9140,0}, {1887,-9137,128},{1890,-9130,0},{1895,-9123,0},{1890,-9132,0},{1888,-9137,0}, {1883,-9142,0},{1882,-9142,0},{1880,-9148,0},{1882,-9152,0},{1890,-9143,0}, {1900,-9117,0},{1908,-9107,0},{1912,-9100,0},{1917,-9092,0},{1925,-9085,0}, {1932,-9077,0},{1935,-9073,0},{1963,-9070,0},{1968,-9072,0},{1977,-9068,0}, {1982,-9063,0},{1988,-9053,0},{1997,-9045,0},{2008,-9050,0},{2012,-9048,0}, {2018,-9050,0},{2023,-9048,0},{2030,-9048,0},{2040,-9047,0},{2052,-9048,0}, {2063,-9047,0},{2073,-9045,0},{2082,-9038,0},{2097,-9033,0},{2083,-9038,0}, {2078,-9042,0},{2078,-9043,0},{2103,-9033,0},{2108,-9023,0},{2113,-9013,0}, {2117,-9010,0},{2118,-9000,0},{2123,-8993,0},{2127,-8982,0},{2130,-8970,0}, {2130,-8958,0},{2133,-8942,0},{2137,-8910,0},{2142,-8885,0},{2143,-8882,0}, {2145,-8870,0},{2153,-8860,0},{2155,-8852,0},{2157,-8845,0},{2155,-8827,0}, {2157,-8820,0},{2158,-8808,0},{2160,-8813,0},{2158,-8820,0},{2157,-8825,0}, {2162,-8812,0},{2160,-8805,0},{2160,-8800,0},{2157,-8788,0},{2153,-8770,0}, {2152,-8773,0},{2155,-8785,0},{2150,-8775,0},{2150,-8762,0},{2152,-8768,0}, {2153,-8768,0},{2150,-8757,0},{2150,-8750,0},{2148,-8748,0},{2148,-8750,0}, {2147,-8748,0},{2147,-8740,0},{2145,-8735,0},{2143,-8725,0},{2148,-8715,0}, {2152,-8713,0},{2153,-8713,0},{2155,-8713,0},{2157,-8715,0},{2157,-8720,0}, {2153,-8725,0},{2153,-8733,0},{2155,-8733,0},{2152,-8740,0},{2150,-8740,0}, {2153,-8742,0},{2158,-8737,0},{2157,-8728,0},{2158,-8722,0},{2162,-8712,0}, {2158,-8700,0},{2143,-8690,0},{2145,-8687,0},{2143,-8683,0},{2137,-8682,0}, {2130,-8683,0},{2118,-8682,0},{2115,-8677,0},{2115,-8673,0},{2112,-8677,0}, {2103,-8678,0},{2102,-8682,0},{2083,-8688,0},{2073,-8698,0},{2062,-8707,0}, {2057,-8717,0},{2050,-8723,0},{2030,-8737,0},{2028,-8737,0},{2028,-8738,0}, {2027,-8738,0},{2022,-8743,0},{2010,-8747,0},{1998,-8747,0},{1990,-8743,0}, {1985,-8743,0},{1983,-8747,0},{1978,-8747,0},{1983,-8748,0},{1985,-8745,0}, {1992,-8743,0},{1993,-8747,0},{1997,-8748,0},{1995,-8748,0},{1987,-8747,0}, {1988,-8745,0},{1988,-8747,0},{1980,-8752,0},{1980,-8753,0},{1982,-8753,0}, {1980,-8755,0},{1980,-8758,0},{1963,-8767,0},{1963,-8768,0},{1968,-8765,0}, {1967,-8773,0},{1960,-8773,0},{1958,-8770,0},{1957,-8768,0},{1957,-8767,0}, {1950,-8767,0},{1952,-8765,0},{1955,-8760,0},{1957,-8757,0},{1955,-8752,0}, {1953,-8750,0},{1957,-8748,0},{1957,-8747,0},{1955,-8747,0},{1955,-8745,0}, {1958,-8742,0},{1960,-8743,0},{1960,-8745,0},{1957,-8743,0},{1958,-8753,0}, {1958,-8745,0},{1963,-8743,0},{1958,-8742,0},{1950,-8743,0},{1945,-8747,0}, {1940,-8753,0},{1940,-8757,0},{1940,-8753,0},{1943,-8755,0},{1940,-8763,0}, {1935,-8767,0},{1933,-8767,0},{1935,-8765,0},{1932,-8765,0},{1932,-8768,0}, {1930,-8767,0},{1925,-8768,0},{1922,-8763,0},{1925,-8760,0},{1928,-8758,0}, {1932,-8757,0},{1933,-8750,0},{1932,-8750,0},{1928,-8752,0},{1932,-8748,0}, {1932,-8747,0},{1922,-8753,0},{1910,-8755,0},{1905,-8760,0},{1905,-8758,0}, {1895,-8762,0},{1877,-8765,0},{1867,-8773,0},{1855,-8773,0},{1852,-8775,0}, {1842,-8777,0},{1832,-8783,0},{1818,-8785,0},{1823,-8785,0},{1822,-8788,0}, {1823,-8788,0},{1825,-8787,0},{1832,-8785,0},{1828,-8788,0},{1830,-8788,0}, {1833,-8788,0},{1835,-8790,0},{1837,-8790,0},{1840,-8793,0},{1843,-8792,0}, {1850,-8807,0},{1853,-8808,0},{1855,-8805,0},{1860,-8805,0},{1868,-8800,0}, {1870,-8802,0},{1878,-8800,0},{1882,-8803,0},{1887,-8803,0},{1885,-8807,0}, {1878,-8810,0},{1872,-8812,0},{1873,-8815,0},{1878,-8813,0},{1873,-8815,0}, {1873,-8820,0},{1868,-8825,0},{1867,-8825,0},{1870,-8820,0},{1873,-8818,0}, {1872,-8818,0},{1867,-8820,0},{1870,-8817,0},{1870,-8815,0},{1867,-8818,0}, {1848,-8828,0},{1848,-8830,0},{1848,-8828,128},{1848,-8830,0},{1845,-8828,0}, {1843,-8830,0},{1838,-8838,0},{1835,-8838,0},{1837,-8832,0},{1830,-8837,0}, {1835,-8827,0},{1837,-8822,0},{1835,-8822,0},{1835,-8820,0},{1833,-8818,0}, {1835,-8815,0},{1837,-8810,0},{1835,-8810,0},{1832,-8815,0},{1833,-8810,0}, {1832,-8808,0},{1830,-8808,0},{1822,-8808,0},{1812,-8808,0},{1797,-8815,0}, {1788,-8820,0},{1772,-8823,0},{1762,-8828,0},{1757,-8827,0},{1755,-8823,0}, {1753,-8822,0},{1750,-8817,0},{1748,-8818,0},{1748,-8823,0},{1748,-8825,0}, {1723,-8830,0},{1712,-8828,0},{1708,-8827,0},{1707,-8823,0},{1697,-8820,0}, {1693,-8825,0},{1690,-8828,0},{1687,-8828,0},{1682,-8825,0},{1680,-8828,0}, {1677,-8830,0},{1665,-8830,0},{1660,-8833,0},{1650,-8835,0},{1650,-8837,0}, {1660,-8835,0},{1667,-8832,0},{1662,-8835,0},{1658,-8837,0},{1655,-8838,0}, {1655,-8837,0},{1655,-8840,0},{1653,-8837,0},{1647,-8842,0},{1643,-8842,0}, {1642,-8845,0},{1640,-8843,0},{1638,-8847,0},{1627,-8853,0},{1627,-8857,0}, {1625,-8858,0},{1628,-8858,0},{1625,-8860,0},{1628,-8863,0},{1627,-8865,0}, {1625,-8865,0},{1623,-8873,0},{1622,-8875,0},{1617,-8873,0},{1613,-8875,0}, {1612,-8878,0},{1608,-8882,0},{1607,-8885,0},{1603,-8885,0},{1598,-8892,0}, {1595,-8893,0},{1592,-8890,0},{1590,-8892,0},{1587,-8887,0},{1587,-8882,0}, {1587,-8880,0},{1583,-8875,0},{1582,-8875,0},{1575,-8862,0},{1572,-8863,0}, {1570,-8863,0},{1572,-8860,0},{1573,-8860,0},{1575,-8858,0},{1577,-8857,0}, {1578,-8855,0},{1585,-8855,0},{1583,-8855,0},{1585,-8848,0},{1593,-8860,0}, {1595,-8862,0},{1597,-8860,0},{1595,-8855,0},{1585,-8843,0},{1580,-8833,0}, {1573,-8825,0},{1572,-8822,0},{1568,-8815,0},{1568,-8812,0},{1573,-8808,0}, {1577,-8803,0},{1578,-8803,0},{1578,-8798,0},{1582,-8793,0},{1583,-8792,0}, {1585,-8795,0},{1587,-8795,0},{1587,-8790,0},{1588,-8787,0},{1590,-8782,0}, {1590,-8775,0},{1592,-8772,0},{1588,-8763,0},{1590,-8763,0},{1593,-8758,0}, {1590,-8762,0},{1587,-8760,0},{1580,-8753,0},{1578,-8747,0},{1578,-8745,0}, {1582,-8742,0},{1582,-8738,0},{1585,-8735,0},{1575,-8695,0},{1577,-8683,0}, {1580,-8677,0},{1578,-8668,0},{1580,-8648,0},{1577,-8642,0},{1577,-8635,0}, {1582,-8627,0},{1585,-8623,0},{1588,-8618,0},{1590,-8612,0},{1590,-8600,0}, {1592,-8595,0},{1597,-8590,0},{1600,-8590,0},{1600,-8597,0},{1602,-8602,0}, {1603,-8600,0},{1602,-8590,0},{1602,-8587,0},{1600,-8577,0},{1597,-8568,0}, {1593,-8568,0},{1595,-8567,0},{1592,-8560,0},{1588,-8550,0},{1590,-8518,0}, {1593,-8510,0},{1598,-8503,0},{1598,-8497,0},{1588,-8468,0},{1587,-8462,0}, {1582,-8463,0},{1577,-8460,0},{1578,-8457,0},{1582,-8457,0},{1582,-8455,0}, {1578,-8455,0},{1578,-8452,0},{1578,-8448,0},{1582,-8447,0},{1582,-8440,0}, {1585,-8457,0},{1587,-8458,0},{1583,-8440,0},{1583,-8427,0},{1572,-8415,0}, {1568,-8410,0},{1545,-8385,0},{1540,-8372,0},{1538,-8373,0},{1543,-8385,0}, {1545,-8390,0},{1547,-8390,0},{1552,-8393,0},{1553,-8400,0},{1553,-8403,0}, {1552,-8405,0},{1552,-8408,0},{1553,-8408,0},{1553,-8407,0},{1555,-8407,0}, {1553,-8410,0},{1548,-8408,0},{1555,-8413,0},{1555,-8422,0},{1552,-8420,0}, {1552,-8418,0},{1548,-8418,0},{1550,-8417,0},{1550,-8415,0},{1553,-8415,0}, {1553,-8413,0},{1545,-8408,0},{1543,-8412,0},{1540,-8412,0},{1535,-8408,0}, {1533,-8403,0},{1535,-8402,0},{1537,-8403,0},{1535,-8400,0},{1532,-8402,0}, {1530,-8400,0},{1530,-8393,0},{1528,-8395,0},{1523,-8392,0},{1525,-8383,0}, {1527,-8383,0},{1532,-8390,0},{1535,-8398,0},{1540,-8403,0},{1542,-8400,0}, {1540,-8395,0},{1533,-8387,0},{1532,-8382,0},{1530,-8380,0},{1527,-8382,0}, {1528,-8378,0},{1527,-8377,0},{1520,-8375,0},{1522,-8375,0},{1520,-8372,0}, {1522,-8372,0},{1523,-8370,0},{1525,-8363,0},{1528,-8362,0},{1528,-8353,0}, {1525,-8352,0},{1520,-8355,0},{1523,-8358,0},{1520,-8362,0},{1517,-8362,0}, {1520,-8360,0},{1517,-8360,0},{1515,-8357,0},{1520,-8352,0},{1522,-8348,0}, {1523,-8350,0},{1528,-8350,0},{1530,-8353,0},{1532,-8358,0},{1530,-8362,0}, {1532,-8362,0},{1537,-8372,0},{1540,-8370,0},{1535,-8362,0},{1525,-8338,0}, {1522,-8335,0},{1510,-8332,0},{1507,-8328,0},{1503,-8323,0},{1500,-8313,0}, {1497,-8317,0},{1498,-8320,0},{1480,-8330,0},{1480,-8333,0},{1482,-8330,0}, {1482,-8332,0},{1483,-8332,0},{1483,-8328,0},{1490,-8330,0},{1492,-8332,0}, {1488,-8337,0},{1480,-8342,0},{1480,-8338,0},{1475,-8338,0},{1473,-8335,0}, {1473,-8333,0},{1475,-8332,0},{1477,-8335,0},{1477,-8333,0},{1475,-8332,0}, {1478,-8332,0},{1477,-8330,0},{1463,-8328,0},{1445,-8320,0},{1433,-8318,0}, {1427,-8320,0},{1417,-8327,0},{1405,-8333,0},{1400,-8340,0},{1395,-8343,0}, {1363,-8352,0},{1353,-8352,0},{1345,-8355,0},{1322,-8357,0},{1290,-8350,0}, {1282,-8352,0},{1262,-8353,0},{1253,-8352,0},{1247,-8348,0},{1240,-8348,0}, {1238,-8350,0},{1238,-8358,0},{1237,-8362,0},{1238,-8363,0},{1242,-8360,0}, {1248,-8363,0},{1257,-8363,0},{1257,-8357,0},{1258,-8357,0},{1267,-8357,0}, {1272,-8355,0},{1275,-8357,0},{1277,-8353,0},{1280,-8355,0},{1282,-8360,0}, {1280,-8363,0},{1280,-8365,0},{1277,-8363,0},{1275,-8365,0},{1273,-8362,0}, {1272,-8362,0},{1268,-8360,0},{1262,-8358,0},{1255,-8370,0},{1255,-8375,0}, {1252,-8377,0},{1247,-8378,0},{1248,-8373,0},{1247,-8373,0},{1233,-8372,0}, {1233,-8370,0},{1235,-8368,0},{1233,-8367,0},{1228,-8367,0},{1235,-8365,0}, {1235,-8363,0},{1233,-8362,0},{1223,-8367,0},{1215,-8368,0},{1198,-8367,0}, {1207,-8372,0},{1208,-8372,0},{1210,-8368,0},{1217,-8372,0},{1217,-8378,0}, {1215,-8377,0},{1215,-8373,0},{1212,-8370,0},{1205,-8373,0},{1205,-8380,0}, {1202,-8375,0},{1193,-8377,0},{1187,-8383,0},{1180,-8377,0},{1180,-8373,0}, {1183,-8375,0},{1187,-8373,0},{1185,-8370,0},{1162,-8365,0},{1160,-8365,0}, {1160,-8368,0},{1157,-8372,0},{1155,-8377,0},{1145,-8378,0},{1143,-8382,0}, {1142,-8383,0},{1132,-8387,0},{1117,-8385,0},{1107,-8380,0},{1092,-8372,0}, {1092,-8370,0},{1093,-8370,0},{1092,-8365,0},{1087,-8360,0},{1078,-8358,0}, {1078,-8360,0},{1085,-8362,0},{1078,-8362,0},{1075,-8360,0},{1072,-8363,0}, {1075,-8360,0},{1072,-8358,0},{1077,-8357,0},{1072,-8357,0},{1048,-8347,0}, {1013,-8322,0},{1000,-8310,0},{998,-8307,0},{1000,-8307,0},{1000,-8302,0}, {995,-8302,0},{975,-8285,0},{973,-8283,0},{973,-8280,0},{970,-8280,0},{967,-8277,0}, {963,-8270,0},{963,-8263,0},{957,-8257,0},{942,-8237,0},{942,-8233,0},{938,-8235,0}, {933,-8238,0},{930,-8235,0},{928,-8237,0},{928,-8238,0},{927,-8240,0},{925,-8237,0}, {922,-8237,0},{920,-8235,0},{918,-8230,0},{920,-8230,0},{920,-8228,0},{922,-8228,0}, {920,-8227,0},{918,-8227,0},{918,-8225,0},{922,-8225,0},{918,-8223,0},{922,-8220,0}, {918,-8218,0},{920,-8217,0},{915,-8217,0},{917,-8220,0},{917,-8225,0},{915,-8227,0}, {910,-8225,0},{910,-8227,0},{908,-8223,0},{902,-8225,0},{900,-8225,0},{898,-8220,0}, {898,-8213,0},{893,-8210,0},{892,-8207,0},{895,-8200,0},{893,-8197,0},{893,-8195,0}, {897,-8190,0},{895,-8187,0},{895,-8182,0},{893,-8178,0},{897,-8177,0},{900,-8178,0}, {902,-8182,0},{910,-8188,0},{913,-8193,0},{913,-8187,0},{915,-8190,0},{917,-8190,0}, {912,-8182,0},{910,-8182,0},{910,-8185,0},{905,-8182,0},{907,-8180,0},{905,-8175,0}, {900,-8170,0},{888,-8162,0},{878,-8150,0},{878,-8138,0},{877,-8133,0},{878,-8113,0}, {883,-8097,0},{888,-8088,0},{888,-8083,0},{898,-8075,0},{907,-8060,0},{913,-8040,0}, {915,-8030,0},{920,-8013,0},{922,-8010,0},{928,-8003,0},{888,-7960,128}, {888,-7965,0},{885,-7967,0},{887,-7970,0},{885,-7970,0},{883,-7973,0},{880,-7975,0}, {877,-7977,0},{870,-7973,0},{868,-7975,0},{863,-7983,0},{860,-7978,0},{860,-7975,0}, {858,-7975,0},{853,-7987,0},{852,-7987,0},{848,-7993,0},{845,-7995,0},{840,-8002,0}, {830,-8023,0},{830,-8038,0},{832,-8038,0},{828,-8038,0},{822,-8047,0},{808,-8048,0}, {802,-8045,0},{798,-8035,0},{795,-8032,0},{790,-8032,0},{773,-8013,0},{770,-8012,0}, {763,-8005,0},{752,-7998,0},{747,-8000,0},{745,-8002,0},{742,-8017,0},{743,-8018,0}, {743,-8027,0},{742,-8030,0},{742,-8027,0},{738,-8035,0},{737,-8037,0},{732,-8033,0}, {730,-8038,0},{725,-8043,0},{725,-8050,0},{723,-8052,0},{725,-8057,0},{722,-8072,0}, {720,-8087,0},{725,-8090,0},{725,-8093,0},{732,-8092,0},{733,-8088,0},{735,-8088,0}, {740,-8092,0},{745,-8092,0},{750,-8097,0},{755,-8095,0},{762,-8098,0},{767,-8105,0}, {768,-8103,0},{768,-8100,0},{770,-8100,0},{772,-8105,0},{772,-8103,0},{775,-8103,0}, {777,-8108,0},{780,-8107,0},{782,-8102,0},{783,-8102,0},{783,-8105,0},{790,-8105,0}, {785,-8108,0},{787,-8112,0},{785,-8108,0},{783,-8110,0},{785,-8118,0},{787,-8120,0}, {788,-8120,0},{790,-8122,0},{788,-8120,0},{788,-8122,0},{787,-8122,0},{785,-8118,0}, {777,-8117,0},{775,-8118,0},{773,-8122,0},{775,-8122,0},{775,-8125,0},{772,-8122,0}, {772,-8123,0},{770,-8123,0},{770,-8120,0},{767,-8120,0},{763,-8118,0},{760,-8122,0}, {765,-8130,0},{765,-8135,0},{768,-8138,0},{767,-8142,0},{770,-8145,0},{770,-8153,0}, {775,-8148,0},{775,-8157,0},{777,-8157,0},{780,-8158,0},{785,-8157,0},{785,-8160,0}, {788,-8160,0},{788,-8162,0},{792,-8162,0},{793,-8160,0},{795,-8162,0},{798,-8160,0}, {798,-8163,0},{793,-8162,0},{795,-8163,0},{805,-8168,0},{802,-8170,0},{803,-8172,0}, {805,-8170,0},{807,-8173,0},{807,-8167,0},{818,-8175,0},{817,-8177,0},{815,-8175,0}, {812,-8177,0},{813,-8180,0},{818,-8195,0},{820,-8195,0},{823,-8193,0},{818,-8197,0}, {822,-8200,0},{820,-8202,0},{823,-8212,0},{815,-8213,0},{817,-8217,0},{818,-8215,0}, {822,-8215,0},{820,-8218,0},{822,-8222,0},{823,-8220,0},{827,-8222,0},{830,-8222,0}, {830,-8220,0},{833,-8222,0},{833,-8218,0},{833,-8222,0},{830,-8225,0},{832,-8228,0}, {833,-8228,0},{833,-8235,0},{830,-8235,0},{828,-8240,0},{830,-8243,0},{832,-8242,0}, {835,-8243,0},{835,-8245,0},{832,-8243,0},{832,-8245,0},{832,-8247,0},{828,-8245,0}, {827,-8250,0},{832,-8267,0},{828,-8282,0},{827,-8285,0},{823,-8287,0},{812,-8287,0}, {807,-8285,0},{802,-8287,0},{803,-8290,0},{805,-8292,0},{810,-8290,0},{823,-8297,0}, {835,-8315,0},{838,-8313,0},{840,-8312,0},{845,-8310,0},{853,-8315,0},{855,-8310,0}, {855,-8315,0},{857,-8317,0},{860,-8318,0},{862,-8317,0},{860,-8315,0},{857,-8315,0}, {858,-8312,0},{863,-8317,0},{862,-8318,0},{863,-8323,0},{862,-8323,0},{865,-8325,0}, {865,-8330,0},{867,-8333,0},{872,-8333,0},{873,-8338,0},{870,-8342,0},{872,-8348,0}, {868,-8348,0},{865,-8343,0},{862,-8343,0},{858,-8340,0},{853,-8328,0},{850,-8328,0}, {847,-8327,0},{843,-8328,0},{842,-8327,0},{838,-8328,0},{837,-8328,0},{840,-8338,0}, {842,-8340,0},{842,-8337,0},{843,-8340,0},{842,-8340,0},{845,-8348,0},{843,-8357,0}, {858,-8370,0},{858,-8373,0},{862,-8373,0},{868,-8370,0},{868,-8365,0},{873,-8363,0}, {875,-8363,0},{878,-8357,0},{878,-8362,0},{877,-8363,0},{878,-8365,0},{883,-8358,0}, {888,-8362,0},{888,-8357,0},{890,-8360,0},{890,-8363,0},{892,-8362,0},{893,-8363,0}, {897,-8360,0},{903,-8363,0},{907,-8367,0},{913,-8373,0},{915,-8377,0},{918,-8377,0}, {922,-8383,0},{930,-8393,0},{940,-8417,0},{943,-8417,0},{947,-8420,0},{947,-8423,0}, {945,-8420,0},{948,-8427,0},{953,-8448,0},{952,-8453,0},{955,-8455,0},{953,-8455,0}, {957,-8462,0},{960,-8463,0},{962,-8467,0},{965,-8465,0},{965,-8468,0},{968,-8467,0}, {975,-8463,0},{977,-8463,0},{987,-8470,0},{988,-8472,0},{992,-8470,0},{995,-8473,0}, {997,-8473,0},{997,-8485,0},{998,-8478,0},{1000,-8488,0},{1005,-8495,0}, {1007,-8497,0},{1010,-8500,0},{1012,-8502,0},{1013,-8507,0},{1015,-8507,0}, {1017,-8508,0},{1015,-8513,0},{1017,-8520,0},{1020,-8523,0},{1023,-8523,0}, {1028,-8528,0},{1027,-8528,0},{1023,-8525,0},{1010,-8523,0},{1008,-8520,0}, {1005,-8517,0},{1005,-8515,0},{1003,-8515,0},{1003,-8518,0},{998,-8510,0}, {997,-8505,0},{993,-8500,0},{993,-8492,0},{990,-8492,0},{988,-8493,0},{985,-8490,0}, {983,-8493,0},{982,-8487,0},{978,-8492,0},{977,-8493,0},{975,-8495,0},{973,-8495,0}, {973,-8500,0},{972,-8502,0},{970,-8500,0},{967,-8507,0},{957,-8510,0},{955,-8512,0}, {973,-8523,0},{975,-8527,0},{978,-8527,0},{983,-8535,0},{985,-8543,0},{985,-8547,0}, {987,-8552,0},{987,-8557,0},{990,-8563,0},{990,-8567,0},{992,-8567,0},{997,-8568,0}, {1002,-8573,0},{1010,-8580,0},{1025,-8585,0},{1028,-8585,0},{1032,-8583,0}, {1035,-8587,0},{1040,-8583,0},{1042,-8580,0},{1043,-8580,0},{1045,-8578,0}, {1052,-8580,0},{1053,-8578,0},{1055,-8570,0},{1057,-8570,0},{1057,-8568,0}, {1058,-8568,0},{1058,-8565,0},{1062,-8563,0},{1063,-8565,0},{1060,-8568,0}, {1062,-8570,0},{1063,-8567,0},{1063,-8568,0},{1067,-8568,0},{1067,-8565,0}, {1077,-8567,0},{1080,-8568,0},{1082,-8573,0},{1080,-8577,0},{1082,-8578,0}, {1082,-8580,0},{1085,-8578,0},{1085,-8585,0},{1088,-8590,0},{1088,-8595,0}, {1092,-8587,0},{1095,-8587,0},{1095,-8582,0},{1092,-8582,0},{1090,-8580,0}, {1092,-8578,0},{1093,-8578,0},{1093,-8573,0},{1092,-8572,0},{1095,-8572,0}, {1097,-8568,0},{1102,-8575,0},{1105,-8572,0},{1103,-8568,0},{1103,-8567,0}, {1105,-8567,0},{1107,-8568,0},{1112,-8578,0},{1118,-8582,0},{1130,-8592,0}, {1135,-8600,0},{1145,-8610,0},{1147,-8615,0},{1152,-8618,0},{1162,-8635,0}, {1168,-8638,0},{1177,-8650,0},{1185,-8655,0},{1190,-8660,0},{1195,-8663,0}, {1205,-8670,0},{1220,-8678,0},{1245,-8717,0},{1247,-8718,0},{1243,-8710,0}, {1248,-8715,0},{1252,-8718,0},{1248,-8717,0},{1248,-8718,0},{1253,-8723,0}, {1260,-8733,0},{1263,-8733,0},{1262,-8733,0},{1263,-8735,0},{1275,-8747,0}, {1275,-8745,0},{1278,-8745,0},{1282,-8752,0},{1280,-8752,0},{1278,-8748,0}, {1278,-8750,0},{1290,-8768,0},{1298,-8767,0},{1302,-8762,0},{1308,-8758,0}, {1305,-8758,0},{1305,-8755,0},{1302,-8750,0},{1298,-8747,0},{1293,-8747,0}, {1292,-8742,0},{1290,-8737,0},{1292,-8730,0},{1293,-8737,0},{1295,-8737,0}, {1297,-8733,0},{1298,-8730,128},{1303,-8727,0},{1303,-8732,0},{1307,-8735,0}, {1310,-8730,0},{1312,-8740,0},{1310,-8742,0},{1313,-8742,0},{1323,-8747,0}, {1327,-8748,0},{1327,-8752,0},{1335,-8745,0},{1337,-8738,0},{1340,-8738,0}, {1342,-8740,0},{1340,-8743,0},{1342,-8745,0},{1340,-8748,0},{1335,-8747,0}, {1335,-8753,0},{1335,-8755,0},{1337,-8755,0},{1338,-8758,0},{1337,-8762,0}, {1340,-8760,0},{1342,-8762,0},{1343,-8762,0},{1347,-8763,0},{1343,-8765,0}, {1338,-8767,0},{1335,-8772,0},{1335,-8775,0},{1340,-8778,0},{1340,-8783,0}, {1343,-8783,0},{1338,-8787,0},{1337,-8787,0},{1328,-8778,0},{1323,-8783,0}, {1320,-8792,0},{1317,-8790,0},{1315,-8790,0},{1317,-8805,0},{1315,-8822,0}, {1317,-8833,0},{1317,-8835,0},{1318,-8832,0},{1320,-8833,0},{1323,-8835,0}, {1320,-8833,0},{1318,-8840,0},{1317,-8837,0},{1317,-8843,0},{1320,-8843,0}, {1320,-8842,0},{1322,-8842,0},{1325,-8845,0},{1325,-8847,0},{1322,-8845,0}, {1322,-8850,0},{1325,-8853,0},{1327,-8855,0},{1328,-8860,0},{1327,-8865,0}, {1327,-8872,0},{1325,-8865,0},{1327,-8858,0},{1322,-8853,0},{1323,-8860,0}, {1320,-8848,0},{1317,-8845,0},{1318,-8852,0},{1323,-8877,0},{1325,-8883,0}, {1328,-8888,0},{1337,-8905,0},{1343,-8917,0},{1348,-8930,0},{1350,-8950,0}, {1350,-8952,0},{1353,-8968,0},{1353,-8982,0},{1362,-8985,0},{1375,-9010,0}, {1388,-9045,0},{1393,-9060,0},{1392,-9103,0},{1393,-9118,0},{1398,-9138,0}, {1410,-9162,0},{1422,-9182,0},{1455,-9225,0},{1508,-9278,128},{1455,-9225,0}, {1510,-9278,0},{1517,-9285,0},{1515,-9277,0},{1508,-9275,0},{1513,-9275,0}, {1517,-9277,0},{1518,-9282,0},{1518,-9283,0},{1522,-9285,0},{1520,-9287,0}, {1518,-9285,0},{1527,-9298,0},{1530,-9302,0},{1535,-9308,0},{1548,-9320,0}, {1553,-9327,0},{1577,-9355,0},{1592,-9378,0},{1600,-9393,0},{1602,-9393,0}, {1600,-9388,0},{1602,-9385,0},{1608,-9390,0},{1612,-9402,0},{1613,-9407,0}, {1617,-9410,0},{1623,-9413,0},{1620,-9420,0},{1622,-9430,0},{1630,-9437,0}, {1630,-9440,0},{1628,-9442,0},{1625,-9442,0},{1623,-9443,0},{1623,-9442,0}, {1622,-9443,0},{1620,-9442,0},{1615,-9433,0},{1613,-9427,0},{1615,-9427,0}, {1618,-9433,0},{1617,-9422,0},{1613,-9417,0},{1612,-9418,0},{1608,-9407,0}, {1603,-9403,0},{1600,-9397,0},{1617,-9440,0},{1618,-9448,0},{1620,-9472,0}, {1620,-9473,0},{1622,-9473,0},{1625,-9463,0},{1628,-9458,0},{1632,-9458,0}, {1637,-9467,0},{1632,-9472,0},{1630,-9472,0},{1630,-9475,0},{1625,-9478,0}, {1628,-9480,0},{1632,-9477,0},{1633,-9477,0},{1637,-9480,0},{1638,-9480,0}, {1643,-9487,0},{1640,-9492,0},{1632,-9497,0},{1632,-9503,0},{1630,-9503,0}, {1628,-9507,0},{1627,-9507,0},{1625,-9497,0},{1625,-9487,0},{1628,-9483,0}, {1627,-9482,0},{1625,-9485,0},{1623,-9493,0},{1622,-9478,0},{1620,-9475,0}, {1622,-9485,0},{1618,-9508,0},{1620,-9513,0},{1618,-9515,0},{1617,-9515,0}, {1615,-9522,0},{1613,-9525,0},{1610,-9527,0},{1605,-9537,0},{1602,-9537,0}, {1598,-9542,0},{1590,-9573,0},{1587,-9577,0},{1582,-9595,0},{1575,-9605,0}, {1575,-9608,0},{1568,-9618,0},{1567,-9628,0},{1568,-9643,0},{1565,-9648,0}, {1565,-9657,0},{1572,-9673,0},{1573,-9683,0},{1582,-9702,0},{1590,-9713,0}, {1592,-9720,0},{1597,-9763,0},{1595,-9767,0},{1597,-9778,0},{1602,-9787,0}, {1603,-9785,0},{1607,-9787,0},{1605,-9788,0},{1615,-9807,0},{1620,-9817,0}, {1622,-9817,0},{1618,-9807,0},{1620,-9807,0},{1622,-9810,0},{1622,-9815,0}, {1623,-9817,0},{1622,-9818,0},{1625,-9832,0},{1627,-9840,0},{1632,-9855,0}, {1635,-9857,0},{1642,-9867,0},{1653,-9873,0},{1655,-9877,0},{1655,-9885,0}, {1652,-9885,0},{1655,-9892,0},{1658,-9900,0},{1660,-9910,0},{1663,-9920,0}, {1663,-9930,0},{1667,-9935,0},{1670,-9970,0},{1678,-9985,0},{1682,-9983,0}, {1687,-9988,0},{1687,-9990,0},{1683,-9988,0},{1682,-9990,0},{1688,-9993,0}, {1693,-10008,0},{1695,-10018,0},{1700,-10028,0},{1710,-10053,0},{1722,-10088,0}, {1727,-10102,0},{1727,-10105,0},{1730,-10105,0},{1737,-10110,0},{1747,-10127,0}, {1752,-10142,0},{1753,-10145,0},{1758,-10145,0},{1762,-10150,0},{1763,-10157,0}, {1767,-10163,0},{1772,-10165,0},{1780,-10175,0},{1788,-10178,0},{1798,-10195,0}, {1798,-10203,0},{1798,-10208,0},{1792,-10215,0},{1798,-10235,0},{1805,-10257,0}, {1807,-10272,0},{1818,-10303,0},{1820,-10312,0},{1827,-10335,0},{1833,-10348,0}, {1850,-10358,0},{1858,-10370,0},{1862,-10368,0},{1867,-10372,0},{1888,-10397,0}, {1900,-10432,0},{1903,-10433,0},{1907,-10432,0},{1910,-10433,0},{1912,-10437,0}, {1908,-10440,0},{1910,-10442,0},{1910,-10445,0},{1913,-10450,0},{1917,-10467,0}, {1920,-10470,0},{1922,-10472,0},{1923,-10473,0},{1922,-10482,0},{1928,-10480,0}, {1930,-10482,0},{1928,-10488,0},{1928,-10490,0},{1935,-10500,0},{1937,-10502,0}, {1942,-10503,0},{1945,-10507,0},{1948,-10507,0},{1957,-10510,0},{1962,-10522,0}, {1972,-10530,0},{1978,-10533,0},{1992,-10545,0},{2008,-10555,0},{2022,-10557,0}, {2025,-10560,0},{2040,-10568,0},{2042,-10568,0},{2048,-10558,0},{2052,-10535,0}, {2055,-10530,0},{2057,-10525,0},{2065,-10523,0},{2077,-10532,0},{2075,-10542,0}, {2077,-10547,0},{2078,-10550,0},{2078,-10555,0},{2082,-10550,0},{2082,-10547,0}, {2088,-10543,0},{2090,-10542,0},{2093,-10540,0},{2098,-10533,0},{2102,-10532,0}, {2103,-10530,0},{2103,-10525,0},{2107,-10523,0},{2123,-10522,0},{2135,-10523,0}, {2140,-10522,0},{2145,-10518,0},{2150,-10520,0},{2152,-10522,0},{2152,-10528,0}, {2160,-10543,0},{2167,-10545,0},{2177,-10550,0},{2188,-10557,0},{2198,-10565,0}, {2228,-10563,0},{2237,-10565,0},{2250,-10573,0},{2252,-10573,0},{2252,-10572,0}, {2253,-10572,0},{2255,-10573,0},{2253,-10575,0},{2257,-10577,0},{2267,-10582,0}, {2270,-10587,0},{2278,-10595,0},{2282,-10600,0},{2285,-10598,0},{2285,-10602,0}, {2283,-10603,0},{2285,-10605,0},{2305,-10622,0},{2308,-10628,0},{2318,-10638,0}, {2318,-10642,0},{2323,-10643,0},{2330,-10648,0},{2333,-10648,0},{2340,-10652,0}, {2347,-10662,0},{2360,-10672,0},{2365,-10680,0},{2370,-10682,0},{2373,-10685,0}, {2387,-10692,0},{2398,-10705,0},{2413,-10725,0},{2420,-10737,0},{2425,-10740,0}, {2428,-10748,0},{2435,-10757,0},{2448,-10780,0},{2452,-10780,0},{2452,-10777,0}, {2448,-10777,0},{2438,-10760,0},{2437,-10752,0},{2433,-10750,0},{2438,-10755,0}, {2438,-10752,0},{2435,-10750,0},{2437,-10748,0},{2437,-10750,0},{2438,-10748,0}, {2452,-10752,0},{2452,-10758,0},{2450,-10760,0},{2452,-10757,0},{2450,-10755,0}, {2447,-10758,0},{2445,-10763,0},{2450,-10767,0},{2448,-10770,0},{2450,-10773,0}, {2452,-10775,0},{2458,-10780,0},{2458,-10785,0},{2462,-10787,0},{2463,-10793,0}, {2457,-10787,0},{2453,-10780,0},{2452,-10782,0},{2463,-10798,0},{2473,-10802,0}, {2478,-10807,0},{2478,-10803,0},{2475,-10798,0},{2478,-10797,0},{2483,-10802,0}, {2485,-10800,0},{2490,-10800,0},{2497,-10798,0},{2500,-10805,0},{2497,-10805,0}, {2492,-10803,0},{2482,-10805,0},{2483,-10812,0},{2503,-10823,0},{2510,-10833,0}, {2510,-10828,0},{2505,-10823,0},{2498,-10818,0},{2497,-10813,0},{2502,-10813,0}, {2502,-10817,0},{2503,-10817,0},{2503,-10815,0},{2505,-10815,0},{2502,-10810,0}, {2500,-10800,0},{2503,-10802,0},{2508,-10805,0},{2512,-10813,0},{2510,-10813,0}, {2510,-10817,0},{2517,-10822,0},{2515,-10828,0},{2517,-10835,0},{2520,-10835,0}, {2518,-10832,0},{2523,-10832,0},{2527,-10837,0},{2520,-10837,0},{2515,-10840,0}, {2520,-10840,0},{2527,-10843,0},{2533,-10862,0},{2535,-10873,0},{2537,-10872,0}, {2535,-10858,0},{2540,-10865,0},{2538,-10877,0},{2540,-10877,0},{2540,-10873,0}, {2545,-10875,0},{2543,-10878,0},{2555,-10877,0},{2553,-10880,0},{2555,-10882,0}, {2557,-10883,0},{2557,-10888,0},{2555,-10890,0},{2552,-10888,0},{2550,-10888,0}, {2545,-10892,0},{2547,-10895,0},{2550,-10893,0},{2550,-10895,0},{2550,-10902,0}, {2547,-10900,0},{2547,-10903,0},{2553,-10912,0},{2558,-10905,0},{2557,-10900,0}, {2553,-10898,0},{2558,-10897,0},{2563,-10892,0},{2568,-10890,0},{2567,-10888,0}, {2572,-10888,0},{2577,-10883,0},{2580,-10883,0},{2580,-10885,0},{2577,-10885,0}, {2570,-10890,0},{2565,-10900,0},{2560,-10903,0},{2558,-10907,0},{2558,-10912,0}, {2558,-10915,0},{2565,-10917,0},{2568,-10925,0},{2565,-10923,0},{2558,-10915,0}, {2555,-10915,0},{2563,-10925,0},{2563,-10940,0},{2567,-10937,0},{2567,-10930,0}, {2572,-10928,0},{2573,-10930,0},{2577,-10937,0},{2575,-10940,0},{2568,-10938,0}, {2568,-10940,0},{2570,-10940,0},{2577,-10940,0},{2578,-10943,0},{2585,-10942,0}, {2585,-10940,0},{2585,-10942,0},{2592,-10942,0},{2593,-10945,0},{2603,-10942,0}, {2612,-10935,0},{2630,-10925,0},{2627,-10925,0},{2627,-10927,0},{2623,-10928,0}, {2617,-10928,0},{2615,-10928,0},{2627,-10922,0},{2632,-10923,0},{2633,-10922,0}, {2632,-10917,0},{2628,-10915,0},{2627,-10917,0},{2625,-10915,0},{2622,-10910,0}, {2625,-10910,0},{2628,-10908,0},{2628,-10912,0},{2630,-10913,0},{2638,-10915,0}, {2638,-10918,0},{2635,-10917,0},{2635,-10922,0},{2633,-10925,0},{2643,-10923,0}, {2653,-10928,0},{2658,-10933,0},{2667,-10942,0},{2668,-10947,0},{2670,-10947,0}, {2670,-10943,0},{2673,-10948,0},{2673,-10950,0},{2677,-10952,0},{2673,-10957,0}, {2672,-10952,0},{2670,-10953,0},{2670,-10950,0},{2668,-10952,0},{2670,-10963,0}, {2667,-10967,0},{2668,-10972,0},{2673,-10980,0},{2682,-10987,0},{2692,-10988,0}, {2698,-10995,0},{2700,-10995,0},{2693,-10988,0},{2705,-10992,0},{2710,-10997,0}, {2712,-11002,0},{2710,-11005,0},{2710,-11008,0},{2713,-11022,0},{2717,-11028,0}, {2715,-11032,0},{2727,-11042,0},{2730,-11052,0},{2732,-11045,0},{2738,-11048,0}, {2737,-11055,0},{2743,-11055,0},{2747,-11058,0},{2753,-11058,0},{2760,-11062,0}, {2765,-11063,0},{2767,-11063,0},{2765,-11060,0},{2768,-11057,0},{2770,-11058,0}, {2768,-11060,0},{2772,-11058,0},{2773,-11055,0},{2775,-11060,0},{2778,-11058,0}, {2778,-11060,0},{2782,-11062,0},{2782,-11060,0},{2783,-11058,0},{2783,-11052,0}, {2787,-11052,0},{2788,-11060,0},{2788,-11062,0},{2787,-11060,0},{2787,-11062,0}, {2790,-11068,0},{2792,-11078,0},{2790,-11085,0},{2792,-11082,0},{2795,-11083,0}, {2798,-11082,0},{2798,-11085,0},{2793,-11085,0},{2790,-11088,0},{2790,-11087,0}, {2783,-11088,0},{2785,-11090,0},{2787,-11092,0},{2788,-11093,0},{2790,-11097,0}, {2792,-11093,0},{2797,-11100,0},{2793,-11110,0},{2797,-11110,0},{2797,-11113,0}, {2805,-11123,0},{2820,-11133,0},{2822,-11137,0},{2827,-11138,0},{2833,-11147,0}, {2838,-11143,0},{2838,-11148,0},{2847,-11170,0},{2858,-11177,0},{2877,-11195,0}, {2878,-11192,0},{2875,-11187,0},{2877,-11185,0},{2880,-11185,0},{2880,-11192,0}, {2883,-11197,0},{2888,-11203,0},{2890,-11203,0},{2897,-11212,0},{2897,-11217,0}, {2900,-11215,0},{2905,-11218,0},{2913,-11217,0},{2917,-11218,0},{2918,-11222,0}, {2925,-11220,0},{2930,-11220,0},{2933,-11225,0},{2933,-11233,0},{2930,-11233,0}, {2933,-11238,0},{2938,-11242,0},{2945,-11238,0},{2950,-11238,0},{2952,-11242,0}, {2955,-11243,0},{2962,-11250,0},{2968,-11253,0},{2972,-11258,0},{2977,-11260,0}, {2983,-11265,0},{2990,-11267,0},{2992,-11270,0},{2992,-11273,0},{2992,-11275,0}, {3000,-11273,0},{3005,-11275,0},{3022,-11275,0},{3028,-11282,0},{3028,-11287,0}, {3035,-11285,0},{3043,-11287,0},{3058,-11300,0},{3070,-11308,0},{3082,-11312,0}, {3095,-11308,0},{3107,-11312,0},{3108,-11312,0},{3107,-11310,0},{3100,-11307,0}, {3107,-11305,0},{3115,-11303,0},{3123,-11308,0},{3123,-11315,0},{3120,-11310,0}, {3120,-11312,0},{3123,-11318,0},{3128,-11325,0},{3127,-11327,0},{3125,-11322,0}, {3123,-11323,0},{3128,-11343,0},{3128,-11348,0},{3133,-11362,0},{3135,-11363,0}, {3135,-11362,0},{3150,-11363,0},{3158,-11383,0},{3158,-11387,0},{3162,-11388,0}, {3160,-11395,0},{3167,-11397,0},{3165,-11398,0},{3157,-11398,0},{3157,-11395,0}, {3152,-11398,0},{3152,-11402,0},{3150,-11402,0},{3150,-11415,0},{3152,-11420,0}, {3157,-11432,0},{3160,-11433,0},{3165,-11443,0},{3177,-11458,0},{3177,-11470,0}, {3180,-11473,0},{3182,-11480,0},{3190,-11492,0},{3192,-11500,0},{3197,-11502,0}, {3195,-11503,0},{3190,-11502,0},{3190,-11495,0},{3180,-11487,0},{3180,-11482,0}, {3172,-11482,0},{3165,-11478,0},{3158,-11483,0},{3153,-11485,0},{3115,-11488,0}, {3110,-11487,0},{3107,-11482,0},{3100,-11483,0},{3095,-11473,0},{3092,-11470,0}, {3080,-11468,0},{3065,-11470,0},{3057,-11465,0},{3048,-11462,0},{3028,-11465,0}, {3027,-11463,0},{3020,-11467,0},{3013,-11463,0},{3012,-11460,0},{3000,-11455,0}, {2998,-11448,0},{2992,-11445,0},{2992,-11442,0},{2987,-11440,0},{2983,-11440,0}, {2980,-11437,0},{2978,-11433,0},{2977,-11430,0},{2978,-11427,0},{2977,-11425,0}, {2975,-11420,0},{2960,-11405,0},{2947,-11385,0},{2943,-11382,0},{2935,-11373,0}, {2927,-11365,0},{2922,-11365,0},{2918,-11363,0},{2917,-11360,0},{2912,-11355,0}, {2905,-11353,0},{2903,-11355,0},{2897,-11353,0},{2895,-11355,0},{2888,-11350,0}, {2890,-11345,0},{2893,-11347,0},{2897,-11342,0},{2893,-11340,0},{2895,-11337,0}, {2893,-11337,0},{2892,-11335,0},{2888,-11335,0},{2888,-11333,0},{2885,-11335,0}, {2880,-11335,0},{2880,-11330,0},{2883,-11323,0},{2882,-11320,0},{2878,-11318,0}, {2873,-11318,0},{2870,-11315,0},{2865,-11317,0},{2862,-11313,0},{2848,-11312,0}, {2843,-11302,0},{2845,-11292,0},{2843,-11290,0},{2843,-11288,0},{2843,-11287,0}, {2828,-11287,0},{2820,-11278,0},{2813,-11280,0},{2807,-11277,0},{2803,-11278,0}, {2800,-11272,0},{2783,-11275,0},{2780,-11270,0},{2772,-11267,0},{2772,-11263,0}, {2763,-11257,0},{2763,-11250,0},{2757,-11242,0},{2753,-11235,0},{2750,-11232,0}, {2733,-11230,0},{2723,-11220,0},{2722,-11220,0},{2723,-11222,0},{2723,-11223,0}, {2720,-11222,0},{2713,-11210,0},{2710,-11195,0},{2708,-11195,0},{2705,-11200,0}, {2700,-11203,0},{2692,-11197,0},{2690,-11197,0},{2688,-11193,0},{2683,-11190,0}, {2677,-11190,0},{2673,-11192,0},{2672,-11188,0},{2667,-11185,0},{2663,-11182,0}, {2655,-11175,0},{2657,-11172,0},{2660,-11168,0},{2665,-11172,0},{2670,-11180,0}, {2687,-11187,0},{2690,-11185,0},{2690,-11182,0},{2682,-11172,0},{2680,-11168,0}, {2675,-11163,0},{2672,-11157,0},{2657,-11155,0},{2652,-11145,0},{2647,-11147,0}, {2642,-11148,0},{2638,-11143,0},{2637,-11143,0},{2635,-11140,0},{2630,-11138,0}, {2628,-11142,0},{2623,-11140,0},{2613,-11135,0},{2610,-11132,0},{2603,-11135,0}, {2600,-11133,0},{2595,-11137,0},{2585,-11132,0},{2583,-11130,0},{2578,-11130,0}, {2572,-11123,0},{2558,-11117,0},{2555,-11112,0},{2555,-11105,0},{2553,-11105,0}, {2553,-11102,0},{2542,-11102,0},{2532,-11095,0},{2525,-11095,0},{2520,-11092,0}, {2517,-11092,0},{2508,-11085,0},{2502,-11075,0},{2498,-11075,0},{2490,-11068,0}, {2480,-11067,0},{2467,-11073,0},{2458,-11073,0},{2447,-11070,0},{2438,-11068,0}, {2428,-11062,0},{2428,-11058,0},{2422,-11052,0},{2418,-11030,0},{2417,-11033,0}, {2418,-11037,0},{2418,-11040,0},{2413,-11038,0},{2412,-11037,0},{2413,-11032,0}, {2415,-11032,0},{2418,-11027,0},{2425,-11028,0},{2428,-11030,0},{2433,-11030,0}, {2435,-11022,0},{2425,-11013,0},{2417,-11000,0},{2405,-10997,0},{2402,-10992,0}, {2405,-10982,0},{2402,-10980,0},{2392,-10982,0},{2390,-10982,0},{2380,-10970,0}, {2373,-10970,0},{2367,-10968,0},{2358,-10948,0},{2355,-10947,0},{2345,-10940,0}, {2342,-10942,0},{2340,-10940,0},{2337,-10942,0},{2323,-10943,0},{2313,-10952,0}, {2307,-10963,0},{2303,-10970,0},{2298,-10970,0},{2292,-10983,0},{2288,-10990,0}, {2287,-10992,0},{2287,-10995,0},{2290,-11002,0},{2298,-11007,0},{2313,-11012,0}, {2333,-11017,0},{2342,-11025,0},{2357,-11032,0},{2363,-11040,0},{2368,-11057,0}, {2373,-11063,0},{2387,-11077,0},{2392,-11083,0},{2395,-11090,0},{2402,-11093,0}, {2412,-11103,0},{2417,-11115,0},{2418,-11115,0},{2420,-11122,0},{2433,-11147,0}, {2435,-11147,0},{2430,-11137,0},{2433,-11143,0},{2443,-11153,0},{2443,-11157,0}, {2447,-11160,0},{2453,-11165,0},{2458,-11165,0},{2460,-11168,0},{2458,-11170,0}, {2457,-11168,0},{2455,-11170,0},{2457,-11180,0},{2452,-11177,0},{2452,-11180,0}, {2465,-11183,0},{2470,-11187,0},{2475,-11193,0},{2477,-11193,0},{2475,-11192,0}, {2480,-11197,0},{2488,-11200,0},{2488,-11202,0},{2487,-11200,0},{2483,-11202,0}, {2478,-11197,0},{2478,-11200,0},{2475,-11197,0},{2477,-11200,0},{2475,-11202,0}, {2477,-11203,0},{2485,-11203,0},{2483,-11207,0},{2477,-11205,0},{2473,-11210,0}, {2477,-11207,0},{2480,-11210,0},{2487,-11210,0},{2488,-11213,0},{2492,-11208,0}, {2492,-11212,0},{2493,-11212,0},{2495,-11208,0},{2497,-11210,0},{2503,-11210,0}, {2502,-11212,0},{2490,-11215,0},{2490,-11218,0},{2493,-11217,0},{2497,-11217,0}, {2497,-11215,0},{2505,-11212,0},{2517,-11213,0},{2522,-11210,0},{2523,-11208,0}, {2527,-11207,0},{2537,-11207,0},{2542,-11208,0},{2543,-11207,0},{2545,-11208,0}, {2548,-11205,0},{2557,-11207,0},{2572,-11207,0},{2568,-11208,0},{2557,-11208,0}, {2552,-11210,0},{2552,-11212,0},{2572,-11210,0},{2577,-11212,0},{2595,-11220,0}, {2603,-11225,0},{2607,-11230,0},{2610,-11232,0},{2608,-11233,0},{2622,-11237,0}, {2627,-11240,0},{2628,-11243,0},{2627,-11247,0},{2627,-11250,0},{2630,-11253,0}, {2633,-11253,0},{2633,-11263,0},{2633,-11267,0},{2642,-11278,0},{2643,-11277,0}, {2643,-11282,0},{2652,-11290,0},{2655,-11298,0},{2665,-11310,0},{2668,-11308,0}, {2667,-11312,0},{2668,-11317,0},{2672,-11323,0},{2678,-11323,0},{2688,-11313,0}, {2697,-11313,0},{2697,-11317,0},{2695,-11318,0},{2688,-11318,0},{2683,-11320,0}, {2682,-11323,0},{2682,-11320,0},{2680,-11325,0},{2673,-11325,0},{2680,-11337,0}, {2682,-11345,0},{2682,-11340,0},{2685,-11343,0},{2683,-11347,0},{2682,-11347,0}, {2677,-11353,0},{2675,-11353,0},{2675,-11360,0},{2680,-11368,0},{2682,-11372,0}, {2690,-11375,0},{2698,-11385,0},{2700,-11392,0},{2698,-11400,0},{2702,-11405,0}, {2710,-11408,0},{2715,-11417,0},{2717,-11425,0},{2715,-11430,0},{2718,-11438,0}, {2718,-11442,0},{2723,-11443,0},{2725,-11448,0},{2735,-11448,0},{2742,-11452,0}, {2745,-11457,0},{2748,-11460,0},{2753,-11473,0},{2762,-11480,0},{2765,-11487,0}, {2765,-11485,0},{2770,-11487,0},{2770,-11488,0},{2767,-11490,0},{2772,-11495,0}, {2773,-11502,0},{2780,-11503,0},{2783,-11507,0},{2787,-11505,0},{2783,-11500,0}, {2783,-11490,0},{2783,-11485,0},{2782,-11480,0},{2782,-11475,0},{2778,-11470,0}, {2777,-11462,0},{2777,-11448,0},{2788,-11435,0},{2787,-11433,0},{2778,-11433,0}, {2773,-11428,0},{2770,-11417,0},{2772,-11410,0},{2772,-11403,0},{2768,-11402,0}, {2772,-11397,0},{2777,-11403,0},{2775,-11403,0},{2775,-11407,0},{2772,-11415,0}, {2773,-11417,0},{2777,-11423,0},{2780,-11422,0},{2783,-11423,0},{2785,-11430,0}, {2787,-11432,0},{2788,-11428,0},{2795,-11428,0},{2797,-11423,0},{2805,-11415,0}, {2803,-11415,0},{2797,-11417,0},{2800,-11415,0},{2802,-11413,0},{2807,-11413,0}, {2818,-11412,0},{2822,-11413,0},{2823,-11417,0},{2827,-11418,0},{2840,-11410,0}, {2852,-11407,0},{2858,-11410,0},{2860,-11415,0},{2867,-11417,0},{2868,-11427,0}, {2872,-11427,0},{2875,-11433,0},{2882,-11435,0},{2883,-11440,0},{2888,-11442,0}, {2888,-11443,0},{2892,-11445,0},{2893,-11448,0},{2893,-11453,0},{2893,-11455,0}, {2898,-11457,0},{2898,-11458,0},{2902,-11462,0},{2905,-11460,0},{2912,-11465,0}, {2913,-11472,0},{2920,-11475,0},{2928,-11487,0},{2938,-11495,0},{2942,-11510,0}, {2943,-11518,0},{2948,-11523,0},{2957,-11540,0},{2963,-11547,0},{2963,-11553,0}, {2970,-11557,0},{2972,-11563,0},{2977,-11570,0},{2987,-11570,0},{2993,-11573,0}, {2995,-11575,0},{2995,-11582,0},{3005,-11578,0},{3010,-11578,0},{3015,-11580,0}, {3023,-11580,0},{3033,-11583,0},{3038,-11587,0},{3040,-11597,0},{3045,-11593,0}, {3050,-11598,0},{3045,-11595,0},{3043,-11602,0},{3037,-11598,0},{3038,-11602,0}, {3045,-11603,0},{3062,-11603,0},{3080,-11605,0},{3090,-11620,0},{3095,-11625,0}, {3097,-11633,0},{3108,-11630,0},{3117,-11632,0},{3122,-11633,0},{3135,-11645,0}, {3142,-11650,0},{3145,-11653,0},{3147,-11660,0},{3152,-11662,0},{3155,-11668,0}, {3158,-11667,0},{3158,-11663,0},{3162,-11665,0},{3167,-11663,0},{3172,-11667,0}, {3175,-11672,0},{3173,-11667,0},{3175,-11662,0},{3183,-11660,0},{3192,-11675,0}, {3198,-11678,0},{3200,-11685,0},{3205,-11687,0},{3213,-11688,0},{3223,-11692,0}, {3228,-11702,0},{3230,-11703,0},{3245,-11712,0},{3253,-11712,0},{3255,-11713,0}, {3232,-6475,128},{3230,-6478,0},{3228,-6478,0},{3227,-6485,0},{3227,-6480,0}, {3228,-6477,0},{3233,-6470,0},{3235,-6470,0},{3238,-6467,0},{3238,-6468,0}, {3232,-6475,0},{1838,-6727,128},{1840,-6718,0},{1843,-6717,0},{1848,-6718,0}, {1850,-6715,0},{1852,-6707,0},{1848,-6697,0},{1848,-6678,0},{1848,-6673,0}, {1850,-6663,0},{1847,-6647,0},{1848,-6640,0},{1848,-6633,0},{1847,-6630,0}, {1847,-6618,0},{1845,-6617,0},{1848,-6613,0},{1842,-6610,0},{1843,-6605,0}, {1845,-6612,0},{1847,-6612,0},{1845,-6603,0},{1847,-6600,0},{1845,-6590,0}, {1842,-6582,0},{1843,-6580,0},{1842,-6580,0},{1840,-6577,0},{1837,-6567,0}, {1838,-6563,0},{1837,-6562,0},{1828,-6563,0},{1823,-6560,0},{1818,-6570,0}, {1818,-6573,0},{1813,-6578,0},{1807,-6580,0},{1805,-6583,0},{1802,-6583,0}, {1798,-6588,0},{1797,-6595,0},{1798,-6602,0},{1795,-6605,0},{1795,-6610,0}, {1792,-6620,0},{1793,-6620,0},{1795,-6620,0},{1793,-6623,0},{1795,-6628,0}, {1798,-6633,0},{1793,-6640,0},{1798,-6647,0},{1797,-6658,0},{1797,-6662,0}, {1798,-6663,0},{1797,-6667,0},{1798,-6672,0},{1798,-6677,0},{1798,-6675,0}, {1800,-6678,0},{1798,-6680,0},{1797,-6678,0},{1795,-6682,0},{1795,-6692,0}, {1793,-6693,0},{1793,-6695,0},{1797,-6700,0},{1798,-6705,0},{1797,-6707,0}, {1795,-6710,0},{1795,-6717,0},{1793,-6718,0},{1795,-6720,0},{1798,-6720,0}, {1802,-6717,0},{1803,-6720,0},{1807,-6718,0},{1808,-6718,0},{1810,-6717,0}, {1817,-6718,0},{1820,-6715,0},{1828,-6718,0},{1832,-6725,0},{1837,-6727,0}, {1838,-6727,0},{1970,-7177,128},{1970,-7172,0},{1977,-7173,0},{1977,-7177,0}, {1978,-7178,0},{1982,-7175,0},{1983,-7168,0},{1985,-7167,0},{1990,-7167,0}, {1990,-7153,0},{1990,-7147,0},{1985,-7135,0},{1985,-7130,0},{1982,-7127,0}, {1983,-7122,0},{1987,-7120,0},{1983,-7117,0},{1985,-7115,0},{1985,-7117,0}, {1987,-7117,0},{1987,-7110,0},{1992,-7107,0},{1993,-7100,0},{1992,-7097,0}, {1988,-7095,0},{1988,-7093,0},{1990,-7093,0},{1990,-7083,0},{1987,-7080,0}, {1983,-7078,0},{1983,-7073,0},{1975,-7063,0},{1977,-7052,0},{1978,-7045,0}, {1965,-7028,0},{1962,-7012,0},{1963,-7010,0},{1965,-7008,0},{1968,-7003,0}, {1968,-6995,0},{1962,-6988,0},{1953,-6990,0},{1952,-6987,0},{1943,-6987,0}, {1935,-6982,0},{1928,-6975,0},{1930,-6958,0},{1933,-6953,0},{1932,-6950,0}, {1933,-6945,0},{1932,-6943,0},{1930,-6933,0},{1937,-6923,0},{1935,-6922,0}, {1928,-6923,0},{1930,-6915,0},{1918,-6923,0},{1920,-6932,0},{1918,-6942,0}, {1920,-6947,0},{1922,-6962,0},{1922,-6963,0},{1917,-6962,0},{1912,-6963,0}, {1908,-6962,0},{1910,-6953,0},{1908,-6948,0},{1908,-6945,0},{1910,-6947,0}, {1910,-6945,0},{1908,-6938,0},{1907,-6937,0},{1905,-6935,0},{1905,-6932,0}, {1902,-6925,0},{1902,-6918,0},{1902,-6913,0},{1903,-6915,0},{1905,-6913,0}, {1900,-6910,0},{1898,-6905,0},{1898,-6902,0},{1902,-6902,0},{1903,-6898,0}, {1903,-6892,0},{1898,-6887,0},{1898,-6878,0},{1892,-6868,0},{1878,-6853,0}, {1875,-6847,0},{1867,-6840,0},{1865,-6835,0},{1860,-6832,0},{1850,-6837,0}, {1842,-6845,0},{1835,-6845,0},{1835,-6853,0},{1838,-6858,0},{1837,-6860,0}, {1833,-6860,0},{1828,-6862,0},{1820,-6865,0},{1820,-6875,0},{1827,-6877,0}, {1835,-6883,0},{1838,-6887,0},{1842,-6897,0},{1840,-6897,0},{1838,-6907,0}, {1840,-6917,0},{1845,-6922,0},{1843,-6928,0},{1845,-6932,0},{1843,-6933,0}, {1843,-6943,0},{1840,-6952,0},{1842,-6955,0},{1845,-6962,0},{1840,-6963,0}, {1842,-6967,0},{1845,-6968,0},{1847,-6988,0},{1842,-6997,0},{1842,-7002,0}, {1833,-7007,0},{1823,-7015,0},{1822,-7023,0},{1823,-7028,0},{1823,-7040,0}, {1820,-7052,0},{1822,-7057,0},{1823,-7055,0},{1828,-7060,0},{1832,-7057,0}, {1837,-7057,0},{1840,-7058,0},{1842,-7062,0},{1843,-7068,0},{1842,-7072,0}, {1838,-7070,0},{1835,-7073,0},{1835,-7075,0},{1835,-7080,0},{1833,-7083,0}, {1835,-7085,0},{1830,-7087,0},{1825,-7093,0},{1825,-7097,0},{1830,-7098,0}, {1832,-7105,0},{1830,-7108,0},{1825,-7110,0},{1815,-7105,0},{1792,-7120,0}, {1782,-7130,0},{1767,-7137,0},{1762,-7140,0},{1760,-7142,0},{1775,-7152,0}, {1777,-7158,0},{1777,-7168,0},{1783,-7163,0},{1790,-7167,0},{1792,-7165,0}, {1797,-7167,0},{1802,-7173,0},{1805,-7178,0},{1803,-7177,128},{1805,-7180,0}, {1812,-7183,0},{1817,-7190,0},{1820,-7202,0},{1823,-7207,0},{1822,-7223,0}, {1823,-7235,0},{1822,-7252,0},{1822,-7255,0},{1817,-7255,0},{1818,-7263,0}, {1817,-7275,0},{1815,-7275,0},{1813,-7282,0},{1813,-7288,0},{1818,-7300,0}, {1818,-7312,0},{1822,-7318,0},{1823,-7328,0},{1822,-7335,0},{1823,-7335,0}, {1825,-7332,0},{1827,-7338,0},{1825,-7348,0},{1823,-7353,0},{1825,-7355,0}, {1825,-7357,0},{1823,-7357,0},{1822,-7358,0},{1822,-7360,0},{1822,-7362,0}, {1825,-7362,0},{1825,-7363,0},{1822,-7365,0},{1825,-7365,0},{1823,-7367,0}, {1823,-7368,0},{1820,-7372,0},{1817,-7378,0},{1813,-7383,0},{1810,-7383,0}, {1803,-7378,0},{1803,-7388,0},{1813,-7395,0},{1825,-7410,0},{1827,-7415,0}, {1830,-7418,0},{1830,-7423,0},{1830,-7428,0},{1828,-7432,0},{1830,-7437,0}, {1833,-7445,0},{1838,-7445,0},{1843,-7448,0},{1857,-7442,0},{1862,-7442,0}, {1863,-7438,0},{1865,-7432,0},{1865,-7428,0},{1867,-7427,0},{1867,-7417,0}, {1860,-7403,0},{1860,-7397,0},{1857,-7392,0},{1857,-7385,0},{1853,-7378,0}, {1855,-7378,0},{1855,-7373,0},{1857,-7370,0},{1858,-7358,0},{1857,-7358,0}, {1855,-7360,0},{1855,-7372,0},{1853,-7367,0},{1850,-7365,0},{1850,-7360,0}, {1853,-7350,0},{1850,-7337,0},{1847,-7325,0},{1848,-7320,0},{1848,-7313,0}, {1845,-7310,0},{1847,-7298,0},{1845,-7290,0},{1843,-7288,0},{1845,-7285,0}, {1843,-7273,0},{1847,-7268,0},{1855,-7263,0},{1857,-7260,0},{1855,-7253,0}, {1853,-7243,0},{1855,-7242,0},{1853,-7237,0},{1853,-7235,0},{1863,-7235,0}, {1867,-7232,0},{1868,-7233,0},{1872,-7243,0},{1877,-7248,0},{1878,-7255,0}, {1890,-7263,0},{1895,-7272,0},{1900,-7275,0},{1905,-7282,0},{1908,-7282,0}, {1910,-7273,0},{1912,-7272,0},{1913,-7272,0},{1915,-7275,0},{1922,-7280,0}, {1928,-7277,0},{1930,-7272,0},{1932,-7273,0},{1933,-7277,0},{1937,-7277,0}, {1938,-7277,0},{1937,-7273,0},{1938,-7272,0},{1942,-7273,0},{1940,-7270,0}, {1940,-7268,0},{1945,-7270,0},{1945,-7277,0},{1950,-7280,0},{1957,-7297,0}, {1960,-7300,0},{1963,-7310,0},{1962,-7315,0},{1965,-7322,0},{1962,-7323,0}, {1963,-7340,0},{1968,-7347,0},{1975,-7345,0},{1978,-7342,0},{1980,-7338,0}, {1982,-7337,0},{1982,-7342,0},{1983,-7340,0},{1983,-7335,0},{1985,-7328,0}, {1990,-7318,0},{1993,-7317,0},{1992,-7315,0},{1990,-7305,0},{1992,-7298,0}, {1990,-7297,0},{1992,-7293,0},{1995,-7280,0},{1988,-7258,0},{1982,-7250,0}, {1980,-7240,0},{1982,-7238,0},{1975,-7233,0},{1975,-7235,0},{1972,-7232,0}, {1973,-7230,0},{1977,-7232,0},{1975,-7227,0},{1977,-7225,0},{1978,-7225,0}, {1978,-7220,0},{1975,-7220,0},{1975,-7213,0},{1973,-7212,0},{1972,-7205,0}, {1970,-7202,0},{1973,-7197,0},{1972,-7187,0},{1968,-7187,0},{1968,-7190,0}, {1967,-7188,0},{1967,-7185,0},{1965,-7182,0},{1967,-7180,0},{1968,-7185,0}, {1972,-7183,0},{1970,-7175,0},{1827,-7837,128},{1828,-7835,0},{1837,-7833,0}, {1837,-7832,0},{1838,-7828,0},{1838,-7827,0},{1840,-7827,0},{1845,-7822,0}, {1845,-7818,0},{1843,-7817,0},{1845,-7815,0},{1843,-7812,0},{1845,-7802,0}, {1843,-7797,0},{1845,-7795,0},{1852,-7792,0},{1852,-7787,0},{1848,-7765,0}, {1848,-7757,0},{1848,-7748,0},{1845,-7740,0},{1845,-7725,0},{1843,-7722,0}, {1843,-7717,0},{1840,-7712,0},{1842,-7705,0},{1840,-7695,0},{1840,-7692,0}, {1837,-7690,0},{1832,-7682,0},{1827,-7678,0},{1827,-7670,0},{1825,-7668,0}, {1822,-7663,0},{1822,-7658,0},{1820,-7653,0},{1820,-7648,0},{1818,-7645,0}, {1815,-7633,0},{1813,-7633,0},{1805,-7628,0},{1793,-7623,0},{1792,-7618,0}, {1790,-7620,0},{1790,-7623,0},{1787,-7630,0},{1787,-7632,0},{1788,-7630,0}, {1788,-7632,0},{1785,-7635,0},{1787,-7642,0},{1785,-7652,0},{1787,-7658,0}, {1793,-7665,0},{1793,-7672,0},{1792,-7678,0},{1793,-7683,0},{1795,-7673,0}, {1797,-7678,0},{1798,-7683,0},{1797,-7687,0},{1792,-7688,0},{1785,-7692,0}, {1783,-7695,0},{1785,-7698,0},{1785,-7703,0},{1787,-7702,0},{1788,-7703,0}, {1790,-7708,0},{1787,-7713,0},{1780,-7715,0},{1780,-7718,0},{1778,-7717,0}, {1777,-7722,0},{1775,-7717,0},{1775,-7713,0},{1772,-7713,0},{1770,-7717,0}, {1772,-7723,0},{1780,-7732,0},{1787,-7742,0},{1783,-7750,0},{1787,-7757,0}, {1785,-7772,0},{1785,-7775,0},{1788,-7780,0},{1790,-7780,0},{1795,-7783,0}, {1800,-7785,0},{1802,-7787,0},{1803,-7795,0},{1808,-7798,0},{1813,-7803,0}, {1817,-7803,0},{1820,-7805,0},{1820,-7825,0},{1822,-7833,0},{1823,-7837,0}, {1827,-7837,0},{2192,-8492,128},{2188,-8488,0},{2192,-8485,0},{2193,-8487,0}, {2193,-8482,0},{2190,-8482,0},{2192,-8480,0},{2195,-8475,0},{2200,-8458,0}, {2205,-8452,0},{2205,-8448,0},{2203,-8448,0},{2202,-8445,0},{2205,-8438,0}, {2203,-8437,0},{2200,-8432,0},{2202,-8430,0},{2202,-8428,0},{2207,-8427,0}, {2203,-8432,0},{2207,-8432,0},{2210,-8435,0},{2212,-8433,0},{2215,-8442,0}, {2220,-8442,0},{2220,-8445,0},{2225,-8442,0},{2235,-8438,0},{2247,-8428,0}, {2248,-8430,0},{2252,-8422,0},{2257,-8420,0},{2258,-8422,0},{2258,-8413,0}, {2262,-8413,0},{2262,-8408,0},{2265,-8410,0},{2267,-8408,0},{2265,-8405,0}, {2268,-8403,0},{2270,-8407,0},{2272,-8405,0},{2272,-8402,0},{2268,-8400,0}, {2273,-8392,0},{2272,-8390,0},{2275,-8387,0},{2275,-8380,0},{2280,-8370,0}, {2278,-8367,0},{2280,-8363,0},{2282,-8365,0},{2283,-8362,0},{2282,-8358,0}, {2283,-8355,0},{2287,-8355,0},{2288,-8352,0},{2287,-8348,0},{2285,-8350,0}, {2287,-8347,0},{2290,-8345,0},{2290,-8342,0},{2287,-8338,0},{2295,-8332,0}, {2300,-8323,0},{2298,-8318,0},{2295,-8318,0},{2293,-8317,0},{2295,-8315,0}, {2298,-8317,0},{2302,-8305,0},{2300,-8298,0},{2298,-8300,0},{2297,-8298,0}, {2298,-8293,0},{2302,-8293,0},{2303,-8290,0},{2303,-8272,0},{2305,-8258,0}, {2308,-8252,0},{2315,-8240,0},{2317,-8233,0},{2318,-8223,0},{2320,-8203,0}, {2317,-8197,0},{2315,-8187,0},{2315,-8158,0},{2312,-8153,0},{2305,-8155,0}, {2305,-8152,0},{2310,-8148,0},{2310,-8142,0},{2313,-8130,0},{2322,-8113,0}, {2318,-8113,0},{2317,-8123,0},{2312,-8128,0},{2310,-8122,0},{2303,-8117,0}, {2303,-8112,0},{2310,-8108,0},{2310,-8103,0},{2310,-8100,0},{2310,-8098,0}, {2307,-8098,0},{2305,-8095,0},{2310,-8075,0},{2308,-8067,0},{2310,-8062,0}, {2313,-8062,0},{2315,-8063,0},{2315,-8062,0},{2315,-8058,0},{2308,-8062,0}, {2298,-8055,0},{2298,-8048,0},{2295,-8043,0},{2293,-8040,0},{2293,-8033,0}, {2290,-8025,0},{2293,-8015,0},{2297,-8015,0},{2295,-8012,0},{2293,-8008,0}, {2293,-8005,0},{2295,-8003,0},{2293,-8002,0},{2288,-7998,0},{2285,-7990,0}, {2288,-7987,0},{2290,-7980,0},{2288,-7978,0},{2287,-7982,0},{2287,-7985,0}, {2280,-7985,0},{2280,-7978,0},{2277,-7972,0},{2275,-7970,0},{2277,-7965,0}, {2265,-7962,0},{2262,-7955,0},{2257,-7955,0},{2253,-7952,0},{2253,-7947,0}, {2247,-7942,0},{2240,-7933,0},{2240,-7928,0},{2237,-7925,0},{2238,-7922,0}, {2237,-7915,0},{2240,-7913,0},{2238,-7908,0},{2240,-7900,0},{2238,-7893,0}, {2240,-7888,0},{2238,-7882,0},{2240,-7878,0},{2237,-7877,0},{2233,-7877,0}, {2232,-7873,0},{2235,-7872,0},{2238,-7873,0},{2238,-7870,0},{2235,-7868,0}, {2232,-7857,0},{2227,-7850,0},{2225,-7838,0},{2222,-7838,0},{2222,-7835,0}, {2218,-7835,0},{2217,-7832,0},{2215,-7827,0},{2213,-7822,0},{2213,-7817,0}, {2210,-7815,0},{2210,-7812,0},{2208,-7805,0},{2203,-7802,0},{2198,-7800,0}, {2190,-7792,0},{2187,-7788,0},{2188,-7787,0},{2197,-7785,0},{2197,-7780,0}, {2195,-7785,0},{2192,-7785,0},{2187,-7782,0},{2187,-7778,0},{2180,-7775,0}, {2178,-7767,0},{2178,-7758,0},{2175,-7753,0},{2177,-7752,0},{2178,-7745,0}, {2173,-7742,0},{2175,-7745,0},{2173,-7745,0},{2165,-7743,0},{2163,-7735,0}, {2163,-7733,0},{2167,-7733,0},{2170,-7738,0},{2175,-7740,0},{2177,-7743,0}, {2180,-7745,0},{2180,-7752,0},{2185,-7757,0},{2188,-7758,0},{2188,-7762,0}, {2193,-7757,0},{2190,-7752,0},{2188,-7752,0},{2185,-7750,0},{2183,-7747,0}, {2175,-7730,0},{2165,-7717,0},{2167,-7713,0},{2163,-7713,0},{2160,-7712,0}, {2155,-7715,0},{2158,-7718,0},{2162,-7727,0},{2160,-7730,0},{2162,-7735,0}, {2160,-7737,0},{2157,-7730,0},{2157,-7725,0},{2153,-7725,0},{2152,-7728,0}, {2148,-7727,0},{2147,-7725,0},{2148,-7722,0},{2145,-7722,0},{2148,-7715,0}, {2155,-7713,0},{2160,-7710,0},{2160,-7708,0},{2145,-7695,0},{2142,-7688,0}, {2142,-7683,0},{2138,-7683,0},{2140,-7682,0},{2137,-7682,0},{2135,-7683,0}, {2137,-7685,0},{2135,-7688,0},{2133,-7690,0},{2130,-7690,0},{2130,-7687,0}, {2133,-7683,0},{2130,-7683,0},{2138,-7680,0},{2135,-7665,0},{2132,-7663,0}, {2130,-7665,0},{2128,-7672,0},{2130,-7672,0},{2130,-7673,0},{2128,-7673,0}, {2125,-7667,0},{2125,-7662,0},{2125,-7665,0},{2130,-7665,0},{2130,-7660,0}, {2127,-7655,0},{2128,-7655,0},{2123,-7655,0},{2122,-7662,0},{2122,-7658,0}, {2122,-7660,0},{2120,-7660,0},{2120,-7657,0},{2118,-7653,0},{2122,-7645,0}, {2123,-7653,0},{2127,-7653,0},{2128,-7652,0},{2127,-7637,0},{2122,-7627,0}, {2118,-7617,0},{2115,-7613,0},{2110,-7612,0},{2110,-7610,0},{2112,-7608,0}, {2108,-7603,0},{2107,-7603,0},{2108,-7602,0},{2107,-7602,0},{2107,-7600,0}, {2108,-7600,0},{2110,-7595,0},{2112,-7592,0},{2110,-7588,0},{2108,-7588,0}, {2108,-7587,0},{2110,-7587,0},{2113,-7582,0},{2112,-7578,0},{2112,-7570,0}, {2107,-7567,0},{2107,-7562,0},{2100,-7558,0},{2095,-7562,0},{2092,-7562,0}, {2088,-7567,0},{2088,-7568,0},{2092,-7570,0},{2092,-7573,0},{2090,-7572,0}, {2090,-7573,0},{2088,-7575,0},{2087,-7573,0},{2085,-7572,0},{2087,-7572,0}, {2087,-7568,0},{2087,-7562,0},{2082,-7555,0},{2078,-7557,0},{2082,-7562,0}, {2083,-7562,0},{2085,-7563,0},{2083,-7565,0},{2082,-7570,0},{2083,-7577,0}, {2082,-7577,0},{2075,-7578,0},{2072,-7577,0},{2070,-7573,0},{2070,-7570,0}, {2077,-7563,0},{2075,-7560,0},{2072,-7562,0},{2072,-7558,0},{2070,-7558,0}, {2068,-7555,0},{2070,-7555,0},{2068,-7550,0},{2070,-7548,0},{2068,-7545,0}, {2072,-7545,0},{2072,-7547,0},{2073,-7543,0},{2072,-7535,0},{2070,-7537,0}, {2067,-7533,0},{2067,-7525,0},{2072,-7533,0},{2072,-7525,0},{2070,-7518,0}, {2068,-7518,0},{2068,-7517,0},{2067,-7515,0},{2068,-7512,0},{2067,-7510,0}, {2068,-7510,0},{2067,-7508,0},{2068,-7507,0},{2070,-7503,0},{2068,-7495,0}, {2067,-7493,0},{2067,-7490,0},{2063,-7487,0},{2062,-7475,0},{2060,-7473,0}, {2060,-7475,0},{2055,-7473,0},{2053,-7468,0},{2052,-7467,0},{2052,-7463,0}, {2050,-7463,0},{2048,-7460,0},{2042,-7457,0},{2042,-7455,0},{2035,-7450,0}, {2033,-7443,0},{2030,-7440,0},{2028,-7438,0},{2030,-7437,0},{2030,-7430,0}, {2032,-7428,0},{2032,-7422,0},{2025,-7413,0},{2022,-7413,0},{2018,-7413,0}, {2013,-7422,0},{2008,-7423,0},{2005,-7428,0},{2008,-7432,0},{2005,-7458,0}, {2005,-7477,0},{2003,-7483,0},{1998,-7488,0},{1997,-7497,0},{1993,-7497,0}, {1990,-7502,0},{1988,-7512,0},{1988,-7515,0},{1990,-7517,0},{1993,-7513,0}, {1993,-7510,0},{1997,-7513,0},{2002,-7508,0},{2005,-7510,0},{2003,-7512,0}, {2000,-7513,0},{2002,-7515,0},{2000,-7518,0},{2000,-7515,0},{1998,-7515,0}, {1997,-7515,0},{1993,-7517,0},{1992,-7520,0},{1990,-7522,0},{1988,-7535,0}, {1988,-7542,0},{1990,-7543,0},{1988,-7547,0},{1988,-7560,0},{1995,-7572,0}, {1997,-7590,0},{1995,-7597,0},{1995,-7602,0},{1997,-7610,0},{1998,-7613,0}, {1998,-7617,0},{1998,-7625,0},{1995,-7635,0},{1997,-7642,0},{1995,-7647,0}, {1993,-7657,0},{1995,-7665,0},{1993,-7673,0},{1993,-7687,0},{1990,-7693,0}, {1988,-7700,0},{1988,-7703,0},{1988,-7713,0},{1992,-7718,0},{1990,-7720,0}, {1990,-7723,0},{1990,-7730,0},{1988,-7733,0},{1987,-7732,0},{1985,-7735,0}, {1985,-7747,0},{1983,-7753,0},{1985,-7760,0},{1982,-7768,0},{1983,-7772,0}, {1987,-7775,0},{1992,-7770,0},{1992,-7768,0},{2005,-7760,0},{2005,-7757,0}, {2008,-7758,0},{2008,-7753,0},{2015,-7747,0},{2022,-7738,0},{2025,-7727,0}, {2030,-7725,0},{2030,-7722,0},{2028,-7722,0},{2030,-7717,0},{2033,-7715,0}, {2037,-7712,0},{2042,-7710,0},{2047,-7708,0},{2048,-7712,0},{2052,-7712,0}, {2055,-7717,0},{2055,-7720,0},{2053,-7720,0},{2055,-7723,0},{2058,-7723,0}, {2060,-7720,0},{2063,-7720,0},{2067,-7723,0},{2065,-7727,0},{2072,-7733,0}, {2072,-7737,0},{2067,-7748,0},{2068,-7757,0},{2068,-7760,0},{2067,-7760,0}, {2068,-7763,0},{2068,-7773,0},{2073,-7787,0},{2073,-7790,0},{2068,-7793,0}, {2070,-7797,0},{2070,-7805,0},{2072,-7805,0},{2072,-7807,0},{2075,-7810,0}, {2077,-7815,0},{2080,-7817,0},{2083,-7822,0},{2083,-7823,0},{2090,-7827,0}, {2092,-7830,0},{2095,-7833,0},{2095,-7840,0},{2100,-7842,0},{2105,-7848,0}, {2103,-7850,0},{2112,-7850,0},{2120,-7853,0},{2125,-7853,0},{2125,-7850,0}, {2127,-7850,0},{2128,-7852,0},{2130,-7853,0},{2138,-7857,0},{2152,-7862,0}, {2155,-7868,0},{2157,-7875,0},{2158,-7873,0},{2158,-7868,0},{2160,-7870,0}, {2163,-7873,0},{2162,-7885,0},{2160,-7890,0},{2158,-7907,0},{2155,-7913,0}, {2153,-7922,0},{2155,-7930,0},{2160,-7937,0},{2158,-7942,0},{2160,-7947,0}, {2165,-7952,0},{2162,-7953,0},{2163,-7957,0},{2163,-7960,0},{2167,-7963,0}, {2170,-7967,0},{2168,-7972,0},{2170,-7977,0},{2170,-7983,0},{2167,-7985,0}, {2168,-7987,0},{2170,-7990,0},{2172,-7988,0},{2175,-7990,0},{2173,-7993,0}, {2175,-8000,0},{2173,-8002,0},{2172,-7998,0},{2172,-8000,0},{2175,-8005,0}, {2180,-8005,0},{2185,-8020,0},{2190,-8030,0},{2200,-8040,0},{2203,-8042,0}, {2205,-8045,0},{2207,-8045,0},{2207,-8040,0},{2208,-8040,0},{2208,-8042,0}, {2210,-8040,0},{2212,-8045,0},{2215,-8045,0},{2217,-8048,0},{2218,-8048,0}, {2217,-8050,0},{2218,-8053,0},{2217,-8053,0},{2208,-8047,0},{2203,-8047,0}, {2207,-8055,0},{2205,-8060,0},{2205,-8080,0},{2203,-8088,0},{2205,-8102,0}, {2210,-8110,0},{2217,-8113,0},{2222,-8113,0},{2228,-8118,0},{2227,-8122,0}, {2220,-8120,0},{2210,-8120,0},{2205,-8122,0},{2208,-8120,0},{2215,-8125,0}, {2213,-8125,0},{2213,-8127,0},{2210,-8127,0},{2210,-8132,0},{2208,-8132,0}, {2208,-8135,0},{2212,-8138,0},{2215,-8138,0},{2218,-8140,0},{2218,-8148,0}, {2220,-8153,0},{2218,-8157,0},{2222,-8165,0},{2220,-8167,0},{2220,-8168,0}, {2218,-8170,0},{2220,-8173,0},{2218,-8173,0},{2220,-8175,0},{2217,-8175,0}, {2218,-8182,0},{2220,-8185,0},{2225,-8188,0},{2235,-8210,0},{2237,-8210,0}, {2237,-8213,0},{2240,-8217,0},{2242,-8215,0},{2243,-8212,0},{2243,-8180,0}, {2245,-8175,0},{2245,-8170,0},{2248,-8165,0},{2258,-8165,0},{2265,-8178,0}, {2268,-8188,0},{2267,-8208,0},{2268,-8227,0},{2268,-8233,0},{2268,-8240,0}, {2268,-8252,0},{2267,-8257,0},{2268,-8258,0},{2268,-8265,0},{2270,-8275,0}, {2268,-8278,0},{2262,-8280,0},{2258,-8287,0},{2255,-8292,0},{2255,-8295,0}, {2248,-8307,0},{2237,-8313,0},{2233,-8317,0},{2235,-8325,0},{2232,-8327,0}, {2232,-8328,0},{2230,-8330,0},{2227,-8335,0},{2223,-8335,0},{2222,-8337,0}, {2223,-8337,0},{2220,-8337,0},{2222,-8340,0},{2218,-8340,0},{2217,-8348,0}, {2220,-8357,0},{2222,-8355,0},{2225,-8357,0},{2220,-8360,0},{2217,-8367,0}, {2218,-8367,0},{2217,-8378,0},{2218,-8380,0},{2217,-8382,0},{2217,-8392,0}, {2213,-8397,0},{2207,-8397,0},{2205,-8400,0},{2202,-8398,0},{2203,-8397,0}, {2202,-8395,0},{2197,-8400,0},{2195,-8398,0},{2192,-8403,0},{2193,-8410,0}, {2192,-8423,0},{2188,-8430,0},{2177,-8445,0},{2177,-8453,0},{2187,-8447,0}, {2192,-8447,0},{2193,-8450,0},{2192,-8465,0},{2187,-8473,0},{2182,-8482,0}, {2185,-8493,0},{2187,-8495,0},{2192,-8492,0},{6613,-3582,128},{6612,-3572,0}, {6613,-3570,0},{6617,-3570,0},{6618,-3577,0},{6620,-3575,0},{6618,-3568,0}, {6610,-3562,0},{6613,-3558,0},{6620,-3562,0},{6620,-3570,0},{6625,-3555,0}, {6627,-3567,0},{6627,-3575,0},{6630,-3568,0},{6633,-3567,0},{6642,-3588,0}, {6643,-3585,0},{6643,-3573,0},{6640,-3578,0},{6638,-3573,0},{6628,-3560,0}, {6628,-3550,0},{6630,-3550,0},{6633,-3545,0},{6628,-3545,0},{6628,-3538,0}, {6623,-3520,0},{6623,-3507,0},{6625,-3503,0},{6627,-3505,0},{6632,-3523,0}, {6637,-3523,0},{6642,-3512,0},{6633,-3512,0},{6628,-3497,0},{6632,-3490,0}, {6633,-3493,0},{6635,-3485,0},{6633,-3482,0},{6632,-3485,0},{6632,-3482,0}, {6632,-3478,0},{6633,-3477,0},{6633,-3472,0},{6640,-3473,0},{6637,-3468,0}, {6637,-3463,0},{6642,-3463,0},{6642,-3470,0},{6643,-3467,0},{6645,-3457,0}, {6650,-3453,0},{6650,-3447,0},{6653,-3440,0},{6658,-3452,0},{6662,-3447,0}, {6663,-3448,0},{6663,-3453,0},{6667,-3443,0},{6673,-3443,0},{6673,-3440,0}, {6662,-3440,0},{6660,-3437,0},{6663,-3430,0},{6668,-3430,0},{6668,-3427,0}, {6657,-3430,0},{6658,-3427,0},{6665,-3420,0},{6667,-3415,0},{6672,-3417,0}, {6670,-3410,0},{6672,-3408,0},{6675,-3410,0},{6673,-3405,0},{6680,-3408,0}, {6677,-3398,0},{6673,-3398,0},{6675,-3397,0},{6677,-3393,0},{6678,-3400,0}, {6685,-3402,0},{6692,-3395,0},{6695,-3400,0},{6695,-3387,0},{6698,-3397,0}, {6698,-3373,0},{6702,-3377,0},{6700,-3385,0},{6702,-3387,0},{6705,-3370,0}, {6708,-3367,0},{6708,-3353,0},{6712,-3355,0},{6715,-3352,0},{6715,-3355,0}, {6720,-3352,0},{6722,-3358,0},{6722,-3367,0},{6725,-3360,0},{6723,-3355,0}, {6723,-3342,0},{6725,-3337,0},{6727,-3343,0},{6732,-3343,0},{6732,-3348,0}, {6733,-3343,0},{6735,-3350,0},{6733,-3357,0},{6737,-3360,0},{6737,-3350,0}, {6738,-3350,0},{6737,-3345,0},{6738,-3345,0},{6737,-3340,0},{6735,-3338,0}, {6737,-3332,0},{6740,-3328,0},{6743,-3335,0},{6748,-3327,0},{6748,-3330,0}, {6748,-3335,0},{6750,-3332,0},{6755,-3337,0},{6757,-3333,0},{6753,-3327,0}, {6755,-3320,0},{6763,-3305,0},{6765,-3318,0},{6768,-3320,0},{6768,-3302,0}, {6768,-3292,0},{6772,-3278,0},{6777,-3267,0},{6780,-3268,0},{6782,-3253,0}, {6787,-3252,0},{6788,-3235,0},{6787,-3230,0},{6785,-3220,0},{6785,-3213,0}, {6788,-3218,0},{6792,-3218,0},{6790,-3212,0},{6793,-3212,0},{6793,-3203,0}, {6795,-3210,0},{6800,-3207,0},{6800,-3213,0},{6802,-3208,0},{6803,-3215,0}, {6807,-3208,0},{6805,-3200,0},{6810,-3200,0},{6815,-3205,0},{6815,-3220,0}, {6817,-3218,0},{6820,-3235,0},{6820,-3243,0},{6820,-3245,0},{6823,-3245,0}, {6822,-3222,0},{6820,-3220,0},{6818,-3210,0},{6820,-3207,0},{6835,-3220,0}, {6835,-3232,0},{6838,-3243,0},{6845,-3252,0},{6850,-3257,0},{6850,-3250,0}, {6850,-3242,0},{6853,-3240,0},{6855,-3245,0},{6858,-3250,0},{6862,-3248,0}, {6862,-3242,0},{6857,-3237,0},{6850,-3230,0},{6843,-3232,0},{6842,-3227,0}, {6843,-3220,0},{6848,-3218,0},{6848,-3213,0},{6840,-3217,0},{6837,-3207,0}, {6832,-3208,0},{6827,-3200,0},{6825,-3163,0},{6823,-3153,0},{6822,-3158,0}, {6823,-3170,0},{6822,-3172,0},{6822,-3175,0},{6818,-3168,0},{6815,-3172,0}, {6810,-3170,0},{6810,-3163,0},{6810,-3162,0},{6807,-3157,0},{6808,-3145,0}, {6810,-3142,0},{6812,-3150,0},{6815,-3145,0},{6815,-3133,0},{6813,-3145,0}, {6812,-3143,0},{6805,-3112,0},{6807,-3108,0},{6803,-3102,0},{6805,-3098,0}, {6803,-3092,0},{6807,-3092,0},{6808,-3075,0},{6807,-3068,0},{6808,-3055,0}, {6805,-3052,0},{6807,-3042,0},{6808,-3045,0},{6817,-3047,0},{6825,-3082,0}, {6827,-3073,0},{6822,-3040,0},{6815,-3042,0},{6810,-3035,0},{6810,-3027,0}, {6812,-3022,0},{6810,-3015,0},{6812,-3010,0},{6812,-3003,0},{6813,-3002,0}, {6818,-3012,0},{6822,-3012,0},{6825,-3020,0},{6825,-3030,0},{6827,-3027,0}, {6827,-3015,0},{6823,-3007,0},{6825,-2998,0},{6832,-3007,0},{6833,-3002,0}, {6837,-3000,0},{6840,-2988,0},{6842,-2987,0},{6837,-2978,0},{6830,-2977,0}, {6828,-2968,0},{6830,-2962,0},{6823,-2962,0},{6820,-2938,0},{6822,-2938,0}, {6825,-2947,0},{6825,-2935,0},{6830,-2933,0},{6830,-2923,0},{6827,-2920,0}, {6828,-2912,0},{6832,-2910,0},{6835,-2918,0},{6838,-2922,0},{6838,-2918,0}, {6840,-2913,0},{6837,-2910,0},{6833,-2898,0},{6837,-2898,0},{6835,-2893,0}, {6832,-2885,0},{6837,-2883,0},{6835,-2863,0},{6837,-2862,0},{6838,-2863,0}, {6840,-2860,0},{6840,-2850,0},{6845,-2850,0},{6842,-2828,0},{6845,-2827,0}, {6850,-2837,0},{6850,-2830,0},{6850,-2825,0},{6843,-2810,0},{6847,-2805,0}, {6845,-2802,0},{6855,-2803,0},{6857,-2797,0},{6852,-2792,0},{6847,-2778,0}, {6848,-2760,0},{6850,-2762,0},{6853,-2777,0},{6853,-2763,0},{6858,-2757,0}, {6857,-2748,0},{6855,-2752,0},{6853,-2750,0},{6853,-2733,0},{6853,-2722,0}, {6858,-2733,0},{6860,-2732,0},{6860,-2717,0},{6858,-2705,0},{6860,-2700,0}, {6863,-2700,0},{6865,-2692,0},{6863,-2683,0},{6870,-2672,0},{6867,-2672,0}, {6865,-2670,0},{6865,-2658,0},{6868,-2650,0},{6865,-2647,0},{6867,-2640,0}, {6870,-2627,0},{6878,-2627,0},{6878,-2595,0},{6883,-2585,0},{6885,-2585,0}, {6885,-2578,0},{6888,-2582,0},{6887,-2563,0},{6892,-2558,0},{6893,-2570,0}, {6895,-2570,0},{6897,-2560,0},{6895,-2547,0},{6898,-2543,0},{6900,-2548,0}, {6900,-2565,0},{6903,-2553,0},{6908,-2565,0},{6910,-2560,0},{6908,-2558,0}, {6905,-2547,0},{6907,-2535,0},{6903,-2537,0},{6902,-2530,0},{6903,-2528,0}, {6903,-2523,0},{6907,-2522,0},{6913,-2532,0},{6915,-2525,0},{6913,-2525,0}, {6910,-2518,0},{6912,-2503,0},{6915,-2512,0},{6917,-2500,0},{6920,-2498,0}, {6923,-2507,0},{6923,-2528,0},{6925,-2527,0},{6925,-2520,0},{6927,-2522,0}, {6930,-2510,0},{6927,-2495,0},{6925,-2478,0},{6923,-2480,0},{6925,-2462,0}, {6928,-2463,0},{6928,-2477,0},{6930,-2475,0},{6932,-2462,0},{6937,-2465,0}, {6940,-2475,0},{6943,-2473,0},{6940,-2465,0},{6938,-2447,0},{6937,-2452,0}, {6935,-2445,0},{6942,-2435,0},{6945,-2437,0},{6945,-2427,0},{6942,-2410,0}, {6947,-2415,0},{6947,-2408,0},{6953,-2410,0},{6958,-2432,0},{6960,-2435,0}, {6955,-2405,0},{6958,-2403,0},{6958,-2398,0},{6953,-2393,0},{6950,-2382,0}, {6955,-2367,0},{6958,-2362,0},{6960,-2372,0},{6962,-2358,0},{6972,-2368,0}, {6973,-2392,0},{6975,-2393,0},{6972,-2365,0},{6975,-2348,0},{6975,-2325,0}, {6983,-2332,0},{6985,-2340,0},{6985,-2337,0},{6983,-2325,0},{6978,-2320,0}, {6975,-2300,0},{6980,-2292,0},{6982,-2293,0},{6985,-2307,0},{6985,-2328,0}, {6988,-2322,0},{6987,-2303,0},{6992,-2310,0},{6993,-2307,0},{6993,-2300,0}, {6990,-2293,0},{6988,-2280,0},{6990,-2278,0},{6992,-2292,0},{6995,-2292,0}, {6995,-2278,0},{6993,-2278,0},{6995,-2275,0},{6993,-2258,0},{6997,-2257,0}, {6998,-2248,0},{7002,-2247,0},{6997,-2240,0},{7000,-2230,0},{7010,-2210,0}, {7015,-2210,0},{7015,-2222,0},{7010,-2250,0},{7008,-2278,0},{7010,-2357,0}, {7013,-2375,0},{7013,-2383,0},{7013,-2387,0},{7013,-2390,0},{7015,-2398,0}, {7018,-2403,0},{7020,-2422,0},{7022,-2437,0},{7022,-2447,0},{7023,-2448,0}, {7032,-2482,0},{7030,-2488,0},{7033,-2492,0},{7037,-2503,0},{7033,-2512,0}, {7027,-2523,0},{7027,-2533,0},{7032,-2535,0},{7035,-2527,0},{7037,-2540,0}, {7038,-2523,0},{7040,-2520,0},{7042,-2523,0},{7035,-2563,0},{7020,-2630,0}, {7022,-2652,0},{7025,-2670,0},{7025,-2690,0},{7020,-2700,0},{7020,-2710,0}, {7017,-2717,0},{7010,-2718,0},{6998,-2728,0},{6995,-2743,0},{6997,-2753,0}, {7005,-2755,0},{7000,-2797,0},{7007,-2813,0},{7005,-2837,0},{7005,-2855,0}, {7010,-2858,0},{7008,-2847,0},{7010,-2842,0},{7013,-2827,0},{7015,-2817,0}, {7013,-2808,0},{7010,-2793,0},{7010,-2782,0},{7012,-2772,0},{7017,-2743,0}, {7025,-2730,0},{7027,-2713,0},{7030,-2708,0},{7032,-2695,0},{7028,-2672,0}, {7032,-2645,0},{7035,-2645,0},{7037,-2632,0},{7047,-2650,0},{7048,-2672,0}, {7047,-2683,0},{7043,-2702,0},{7045,-2722,0},{7037,-2822,0},{7042,-2835,0}, {7050,-2830,0},{7050,-2848,0},{7047,-2857,0},{7047,-2877,0},{7038,-2912,0}, {7040,-2920,0},{7042,-2917,0},{7043,-2923,0},{7047,-2920,0},{7047,-2905,0}, {7052,-2875,0},{7052,-2863,0},{7053,-2853,0},{7053,-2843,0},{7057,-2830,0}, {7058,-2823,0},{7060,-2832,0},{7062,-2832,0},{7063,-2815,0},{7072,-2802,0}, {7087,-2792,0},{7090,-2798,0},{7088,-2805,0},{7092,-2807,0},{7093,-2813,0}, {7097,-2838,0},{7097,-2842,0},{7100,-2830,0},{7097,-2820,0},{7100,-2803,0}, {7098,-2798,0},{7097,-2785,0},{7093,-2767,0},{7095,-2762,0},{7097,-2763,0}, {7103,-2780,0},{7113,-2792,0},{7115,-2780,0},{7113,-2777,0},{7093,-2750,0}, {7093,-2718,0},{7095,-2708,0},{7093,-2675,0},{7097,-2648,0},{7100,-2630,0}, {7103,-2627,0},{7105,-2602,0},{7110,-2593,0},{7117,-2558,0},{7125,-2577,0}, {7122,-2552,0},{7127,-2542,0},{7137,-2543,0},{7138,-2553,0},{7147,-2572,0}, {7150,-2588,0},{7148,-2612,0},{7150,-2625,0},{7150,-2648,0},{7148,-2667,0}, {7150,-2673,0},{7153,-2702,0},{7150,-2717,0},{7147,-2722,0},{7150,-2727,0}, {7152,-2732,0},{7152,-2725,0},{7157,-2712,0},{7157,-2725,0},{7160,-2737,0}, {7162,-2760,0},{7155,-2803,0},{7153,-2840,0},{7155,-2847,0},{7158,-2848,0}, {7157,-2835,0},{7158,-2797,0},{7160,-2793,0},{7162,-2800,0},{7163,-2798,0}, {7160,-2787,0},{7165,-2763,0},{7163,-2740,0},{7172,-2732,0},{7187,-2803,0}, {7190,-2802,0},{7187,-2780,0},{7190,-2785,0},{7193,-2847,0},{7198,-2848,0}, {7200,-2837,0},{7202,-2835,0},{7208,-2855,0},{7208,-2870,0},{7213,-2860,0}, {7208,-2847,0},{7205,-2832,0},{7200,-2822,0},{7197,-2807,0},{7198,-2797,0}, {7200,-2795,0},{7200,-2792,0},{7197,-2787,0},{7193,-2770,0},{7190,-2760,0}, {7187,-2760,0},{7173,-2722,0},{7168,-2718,0},{7160,-2700,0},{7155,-2682,0}, {7155,-2652,0},{7163,-2642,0},{7157,-2630,0},{7157,-2615,0},{7158,-2612,0}, {7157,-2603,0},{7155,-2595,0},{7157,-2585,0},{7153,-2573,0},{7153,-2563,0}, {7145,-2547,0},{7145,-2538,0},{7137,-2525,0},{7130,-2508,0},{7132,-2493,0}, {7130,-2487,0},{7133,-2480,0},{7135,-2463,0},{7127,-2468,0},{7127,-2458,0}, {7122,-2457,0},{7108,-2428,0},{7102,-2420,0},{7093,-2423,0},{7080,-2418,0}, {7065,-2402,0},{7057,-2383,0},{7055,-2372,0},{7043,-2335,0},{7042,-2312,0}, {7043,-2272,0},{7045,-2262,0},{7058,-2257,0},{7065,-2265,0},{7072,-2265,0}, {7073,-2258,0},{7077,-2262,0},{7082,-2258,0},{7085,-2248,0},{7083,-2243,0}, {7067,-2247,0},{7060,-2242,0},{7050,-2242,0},{7043,-2238,0},{7045,-2222,0}, {7050,-2207,0},{7047,-2193,0},{7042,-2200,0},{7038,-2197,0},{7043,-2182,0}, {7042,-2175,0},{7043,-2167,0},{7047,-2157,0},{7055,-2148,0},{7057,-2167,0}, {7058,-2162,0},{7060,-2168,0},{7057,-2173,0},{7058,-2178,0},{7062,-2173,0}, {7063,-2175,0},{7063,-2163,0},{7067,-2165,0},{7067,-2158,0},{7068,-2163,0}, {7070,-2177,0},{7070,-2155,0},{7073,-2162,0},{7073,-2178,0},{7077,-2163,0}, {7078,-2163,0},{7077,-2178,0},{7078,-2188,0},{7080,-2193,0},{7080,-2183,0}, {7080,-2172,0},{7083,-2170,0},{7087,-2175,0},{7095,-2157,0},{7093,-2168,0}, {7095,-2167,0},{7095,-2172,0},{7093,-2180,0},{7095,-2178,0},{7098,-2170,0}, {7098,-2172,0},{7097,-2188,0},{7097,-2198,0},{7102,-2167,0},{7107,-2168,0}, {7108,-2177,0},{7107,-2187,0},{7105,-2188,0},{7107,-2202,0},{7103,-2217,0}, {7105,-2232,0},{7105,-2233,0},{7107,-2205,0},{7112,-2172,0},{7115,-2183,0}, {7118,-2185,0},{7118,-2178,0},{7113,-2173,0},{7115,-2168,0},{7118,-2167,0}, {7123,-2175,0},{7125,-2172,0},{7127,-2180,0},{7123,-2190,0},{7125,-2190,0}, {7127,-2197,0},{7128,-2182,0},{7132,-2160,0},{7132,-2180,0},{7135,-2173,0}, {7135,-2187,0},{7137,-2185,0},{7140,-2167,0},{7142,-2170,0},{7142,-2182,0}, {7145,-2173,0},{7145,-2187,0},{7148,-2175,0},{7152,-2177,0},{7152,-2180,0}, {7148,-2182,0},{7152,-2188,0},{7148,-2188,0},{7150,-2195,0},{7147,-2193,0}, {7150,-2208,0},{7143,-2228,0},{7135,-2237,0},{7132,-2233,0},{7127,-2235,0}, {7125,-2243,0},{7127,-2247,0},{7133,-2245,0},{7137,-2250,0},{7148,-2253,0}, {7155,-2252,0},{7157,-2245,0},{7160,-2212,0},{7162,-2212,0},{7163,-2222,0}, {7168,-2200,0},{7170,-2202,0},{7170,-2195,0},{7173,-2190,0},{7173,-2198,0}, {7170,-2213,0},{7175,-2218,0},{7173,-2230,0},{7168,-2230,0},{7165,-2240,0}, {7163,-2240,0},{7163,-2248,0},{7162,-2253,0},{7160,-2260,0},{7157,-2260,0}, {7158,-2263,0},{7165,-2267,0},{7175,-2243,0},{7178,-2240,0},{7170,-2283,0}, {7163,-2298,0},{7163,-2308,0},{7163,-2313,0},{7167,-2313,0},{7173,-2298,0}, {7180,-2277,0},{7185,-2272,0},{7187,-2253,0},{7190,-2250,0},{7195,-2272,0}, {7202,-2303,0},{7200,-2313,0},{7202,-2320,0},{7203,-2310,0},{7207,-2312,0}, {7215,-2357,0},{7215,-2367,0},{7210,-2378,0},{7212,-2382,0},{7213,-2382,0}, {7218,-2370,0},{7225,-2375,0},{7222,-2382,0},{7222,-2387,0},{7223,-2390,0}, {7223,-2382,0},{7225,-2382,0},{7228,-2410,0},{7233,-2423,0},{7232,-2425,0}, {7235,-2442,0},{7242,-2452,0},{7242,-2458,0},{7240,-2475,0},{7243,-2482,0}, {7242,-2487,0},{7240,-2493,0},{7235,-2520,0},{7227,-2537,0},{7220,-2540,0}, {7215,-2538,0},{7213,-2543,0},{7212,-2553,0},{7215,-2547,0},{7223,-2548,0}, {7238,-2528,0},{7240,-2535,0},{7240,-2555,0},{7238,-2575,0},{7240,-2590,0}, {7242,-2590,0},{7242,-2572,0},{7243,-2548,0},{7243,-2512,0},{7247,-2488,0}, {7248,-2478,0},{7250,-2470,0},{7253,-2465,0},{7252,-2462,0},{7255,-2460,0}, {7253,-2468,0},{7257,-2467,0},{7258,-2472,0},{7265,-2473,0},{7267,-2470,0}, {7272,-2485,0},{7275,-2517,0},{7280,-2523,0},{7280,-2537,0},{7283,-2547,0}, {7283,-2557,0},{7273,-2590,0},{7272,-2608,0},{7272,-2618,0},{7262,-2632,0}, {7257,-2647,0},{7263,-2637,0},{7273,-2632,0},{7270,-2672,0},{7272,-2678,0}, {7277,-2640,0},{7283,-2673,0},{7280,-2715,0},{7282,-2737,0},{7285,-2738,0}, {7285,-2732,0},{7282,-2710,0},{7287,-2670,0},{7278,-2627,0},{7278,-2603,0}, {7290,-2572,0},{7288,-2532,0},{7292,-2527,0},{7293,-2517,0},{7300,-2498,0}, {7308,-2505,0},{7308,-2537,0},{7312,-2563,0},{7313,-2577,0},{7318,-2585,0}, {7320,-2598,0},{7320,-2645,0},{7310,-2667,0},{7312,-2695,0},{7315,-2715,0}, {7312,-2727,0},{7310,-2732,0},{7297,-2732,0},{7293,-2745,0},{7293,-2752,0}, {7298,-2737,0},{7312,-2740,0},{7313,-2747,0},{7312,-2770,0},{7313,-2772,0}, {7315,-2763,0},{7315,-2740,0},{7318,-2728,0},{7318,-2712,0},{7313,-2672,0}, {7322,-2658,0},{7323,-2638,0},{7328,-2648,0},{7330,-2683,0},{7335,-2708,0}, {7343,-2733,0},{7343,-2745,0},{7345,-2745,0},{7350,-2733,0},{7348,-2725,0}, {7343,-2712,0},{7333,-2682,0},{7332,-2657,0},{7333,-2645,0},{7330,-2627,0}, {7325,-2618,0},{7325,-2602,0},{7325,-2577,0},{7335,-2545,0},{7340,-2542,0}, {7340,-2550,0},{7347,-2532,0},{7350,-2470,0},{7352,-2468,0},{7358,-2502,0}, {7362,-2508,0},{7368,-2508,0},{7375,-2535,0},{7380,-2555,0},{7387,-2558,0}, {7392,-2573,0},{7395,-2568,0},{7390,-2550,0},{7382,-2542,0},{7382,-2535,0}, {7375,-2518,0},{7370,-2498,0},{7362,-2497,0},{7357,-2473,0},{7357,-2458,0}, {7353,-2447,0},{7355,-2438,0},{7367,-2447,0},{7372,-2442,0},{7375,-2432,0}, {7377,-2433,0},{7382,-2403,0},{7373,-2387,0},{7373,-2350,0},{7357,-2277,0}, {7358,-2252,0},{7362,-2242,0},{7363,-2218,0},{7355,-2270,0},{7355,-2285,0}, {7370,-2353,0},{7372,-2398,0},{7370,-2403,0},{7360,-2398,0},{7352,-2377,0}, {7348,-2355,0},{7343,-2348,0},{7342,-2338,0},{7340,-2322,0},{7335,-2312,0}, {7332,-2290,0},{7332,-2273,0},{7325,-2240,0},{7325,-2218,0},{7333,-2193,0}, {7340,-2155,0},{7345,-2162,0},{7348,-2152,0},{7348,-2143,0},{7345,-2130,0}, {7345,-2050,0},{7347,-2043,0},{7353,-2037,0},{7355,-2052,0},{7363,-2045,0}, {7372,-2053,0},{7373,-2043,0},{7375,-2048,0},{7377,-2045,0},{7378,-2028,0}, {7383,-2025,0},{7388,-2028,0},{7390,-2042,0},{7388,-2063,0},{7388,-2073,0}, {7397,-2122,0},{7405,-2155,0},{7407,-2173,0},{7402,-2192,0},{7393,-2188,0}, {7390,-2180,0},{7387,-2177,0},{7375,-2175,0},{7370,-2170,0},{7365,-2177,0}, {7365,-2182,0},{7377,-2185,0},{7385,-2182,0},{7390,-2187,0},{7393,-2198,0}, {7400,-2198,0},{7402,-2207,0},{7403,-2225,0},{7407,-2248,0},{7410,-2243,0}, {7410,-2225,0},{7410,-2218,0},{7417,-2220,0},{7417,-2233,0},{7422,-2210,0}, {7425,-2203,0},{7430,-2210,0},{7428,-2232,0},{7432,-2248,0},{7430,-2232,0}, {7432,-2220,0},{7432,-2200,0},{7437,-2183,0},{7442,-2177,0},{7453,-2195,0}, {7458,-2212,0},{7460,-2205,0},{7457,-2195,0},{7448,-2182,0},{7445,-2163,0}, {7447,-2127,0},{7445,-2080,0},{7447,-2065,0},{7445,-2047,0},{7443,-2045,0}, {7445,-2037,0},{7437,-2023,0},{7428,-2020,0},{7423,-1968,0},{7423,-1958,0}, {7427,-1938,0},{7435,-1918,0},{7440,-1917,0},{7442,-1908,0},{7448,-1898,0}, {7450,-1902,0},{7452,-1925,0},{7455,-1930,0},{7455,-1938,0},{7457,-1930,0}, {7465,-1927,0},{7468,-1937,0},{7468,-1945,0},{7458,-1972,0},{7458,-1980,0}, {7462,-1987,0},{7462,-2000,0},{7465,-2005,0},{7467,-2020,0},{7467,-2027,0}, {7467,-2055,0},{7463,-2085,0},{7465,-2110,0},{7468,-2112,0},{7465,-2098,0}, {7467,-2078,0},{7473,-2060,0},{7485,-2077,0},{7488,-2068,0},{7497,-2072,0}, {7502,-2065,0},{7507,-2063,0},{7507,-2090,0},{7508,-2113,0},{7497,-2152,0}, {7495,-2175,0},{7502,-2202,0},{7503,-2195,0},{7505,-2195,0},{7517,-2243,0}, {7513,-2215,0},{7508,-2193,0},{7500,-2185,0},{7498,-2173,0},{7503,-2147,0}, {7512,-2123,0},{7515,-2092,0},{7512,-2067,0},{7513,-2052,0},{7520,-2058,0}, {7525,-2085,0},{7532,-2100,0},{7537,-2132,0},{7542,-2142,0},{7547,-2183,0}, {7547,-2208,0},{7552,-2248,0},{7553,-2252,0},{7555,-2248,0},{7552,-2242,0}, {7547,-2208,0},{7545,-2140,0},{7552,-2162,0},{7565,-2227,0},{7567,-2225,0}, {7565,-2208,0},{7555,-2150,0},{7547,-2123,0},{7540,-2117,0},{7530,-2068,0}, {7530,-2048,0},{7533,-2030,0},{7533,-2012,0},{7528,-1995,0},{7522,-2005,0}, {7515,-1988,0},{7513,-1962,0},{7520,-1947,0},{7527,-1938,0},{7540,-1933,0}, {7557,-1940,0},{7562,-1952,0},{7563,-1952,0},{7567,-1962,0},{7573,-1955,0}, {7572,-1937,0},{7573,-1935,0},{7577,-1957,0},{7592,-1982,0},{7593,-1995,0}, {7592,-2033,0},{7595,-2052,0},{7597,-2073,0},{7597,-2113,0},{7595,-2187,0}, {7598,-2197,0},{7605,-2193,0},{7600,-2183,0},{7597,-2168,0},{7600,-2092,0}, {7598,-2033,0},{7605,-1998,0},{7605,-1973,0},{7613,-1967,0},{7623,-1980,0}, {7625,-1993,0},{7625,-2018,0},{7622,-2040,0},{7623,-2057,0},{7630,-2088,0}, {7630,-2107,0},{7630,-2108,0},{7625,-2100,0},{7627,-2090,0},{7622,-2087,0}, {7613,-2042,0},{7612,-2065,0},{7613,-2067,0},{7615,-2057,0},{7617,-2070,0}, {7628,-2112,0},{7625,-2133,0},{7627,-2140,0},{7628,-2133,0},{7628,-2140,0}, {7627,-2145,0},{7625,-2142,0},{7623,-2147,0},{7622,-2150,0},{7623,-2168,0}, {7633,-2165,0},{7638,-2155,0},{7643,-2158,0},{7642,-2218,0},{7643,-2230,0}, {7642,-2240,0},{7645,-2250,0},{7645,-2237,0},{7650,-2243,0},{7650,-2235,0}, {7643,-2218,0},{7643,-2190,0},{7643,-2175,0},{7648,-2167,0},{7650,-2172,0}, {7647,-2190,0},{7647,-2203,0},{7648,-2200,0},{7652,-2168,0},{7655,-2180,0}, {7655,-2193,0},{7653,-2198,0},{7653,-2205,0},{7655,-2207,0},{7655,-2198,0}, {7658,-2180,0},{7662,-2193,0},{7662,-2208,0},{7663,-2207,0},{7663,-2212,0}, {7663,-2220,0},{7658,-2233,0},{7652,-2228,0},{7652,-2233,0},{7655,-2243,0}, {7660,-2252,0},{7665,-2247,0},{7667,-2268,0},{7670,-2275,0},{7675,-2262,0}, {7675,-2230,0},{7682,-2238,0},{7683,-2247,0},{7687,-2227,0},{7685,-2217,0}, {7680,-2210,0},{7677,-2193,0},{7667,-2175,0},{7665,-2162,0},{7668,-2167,0}, {7668,-2152,0},{7677,-2130,0},{7678,-2120,0},{7678,-2130,0},{7680,-2128,0}, {7680,-2120,0},{7678,-2107,0},{7682,-2097,0},{7683,-2078,0},{7685,-2093,0}, {7687,-2103,0},{7685,-2147,0},{7688,-2173,0},{7690,-2158,0},{7688,-2138,0}, {7690,-2112,0},{7687,-2078,0},{7693,-2058,0},{7695,-2075,0},{7695,-2103,0}, {7698,-2098,0},{7697,-2087,0},{7698,-2070,0},{7693,-2015,0},{7697,-1987,0}, {7692,-1965,0},{7690,-1953,0},{7687,-1937,0},{7687,-1925,0},{7685,-1912,0}, {7685,-1892,0},{7683,-1878,0},{7680,-1868,0},{7682,-1855,0},{7673,-1845,0}, {7682,-1852,0},{7682,-1845,0},{7680,-1840,0},{7680,-1830,0},{7685,-1835,0}, {7688,-1818,0},{7695,-1812,0},{7728,-1823,0},{7730,-1828,0},{7732,-1842,0}, {7735,-1840,0},{7735,-1870,0},{7738,-1897,0},{7732,-1908,0},{7723,-1902,0}, {7727,-1930,0},{7723,-1942,0},{7725,-1947,0},{7732,-1942,0},{7738,-1970,0}, {7740,-1987,0},{7738,-2030,0},{7742,-2053,0},{7742,-2077,0},{7743,-2053,0}, {7742,-2023,0},{7743,-2007,0},{7745,-2002,0},{7748,-2067,0},{7755,-2105,0}, {7755,-2093,0},{7750,-2043,0},{7752,-2035,0},{7755,-2042,0},{7755,-2065,0}, {7757,-2045,0},{7755,-2025,0},{7762,-2038,0},{7763,-2067,0},{7767,-2080,0}, {7767,-2092,0},{7772,-2060,0},{7770,-2043,0},{7773,-2025,0},{7772,-2003,0}, {7762,-1955,0},{7758,-1930,0},{7762,-1917,0},{7763,-1895,0},{7777,-1927,0}, {7782,-1993,0},{7787,-2032,0},{7793,-2060,0},{7797,-2060,0},{7802,-2087,0}, {7795,-2108,0},{7780,-2137,0},{7768,-2140,0},{7765,-2125,0},{7763,-2142,0}, {7752,-2173,0},{7755,-2172,0},{7765,-2143,0},{7768,-2143,0},{7768,-2182,0}, {7768,-2188,0},{7768,-2203,0},{7773,-2195,0},{7783,-2192,0},{7785,-2178,0}, {7797,-2158,0},{7798,-2163,0},{7792,-2175,0},{7792,-2183,0},{7800,-2173,0}, {7807,-2147,0},{7812,-2140,0},{7812,-2157,0},{7813,-2163,0},{7813,-2175,0}, {7815,-2167,0},{7813,-2148,0},{7822,-2128,0},{7830,-2138,0},{7850,-2113,0}, {7853,-2117,0},{7855,-2108,0},{7862,-2090,0},{7865,-2097,0},{7862,-2133,0}, {7865,-2143,0},{7867,-2127,0},{7867,-2110,0},{7868,-2093,0},{7872,-2103,0}, {7870,-2120,0},{7873,-2107,0},{7875,-2107,0},{7877,-2113,0},{7878,-2102,0}, {7882,-2118,0},{7883,-2098,0},{7883,-2080,0},{7888,-2067,0},{7887,-2027,0}, {7888,-2002,0},{7893,-1990,0},{7907,-2008,0},{7913,-1992,0},{7912,-1982,0}, {7913,-1970,0},{7912,-1963,0},{7912,-1957,0},{7915,-1952,0},{7920,-1957,0}, {7928,-1935,0},{7928,-1917,0},{7925,-1930,0},{7922,-1925,0},{7917,-1930,0}, {7918,-1910,0},{7920,-1908,0},{7922,-1912,0},{7920,-1918,0},{7925,-1920,0}, {7930,-1903,0},{7930,-1918,0},{7932,-1922,0},{7933,-1957,0},{7925,-1970,0}, {7923,-1968,0},{7920,-1975,0},{7920,-1982,0},{7915,-1980,0},{7915,-1987,0}, {7920,-1987,0},{7935,-1965,0},{7943,-1965,0},{7943,-1973,0},{7945,-1980,0}, {7953,-1972,0},{7957,-1960,0},{7967,-1963,0},{7973,-1945,0},{7978,-1923,0}, {7978,-1887,0},{7973,-1843,0},{7975,-1822,0},{7982,-1798,0},{8005,-1745,0}, {8012,-1768,0},{8013,-1793,0},{8013,-1840,0},{8008,-1897,0},{8010,-1928,0}, {8005,-1953,0},{8002,-1990,0},{7998,-2005,0},{7990,-2015,0},{7988,-2025,0}, {7987,-2018,0},{7982,-2022,0},{7983,-1988,0},{7980,-2013,0},{7977,-2023,0}, {7977,-2033,0},{7980,-2030,0},{7987,-2043,0},{7985,-2052,0},{7987,-2075,0}, {7998,-2047,0},{8003,-2060,0},{8005,-2043,0},{8008,-2037,0},{8010,-2055,0}, {8015,-2022,0},{8025,-2000,0},{8028,-1970,0},{8027,-1935,0},{8023,-1908,0}, {8023,-1878,0},{8022,-1842,0},{8023,-1797,0},{8023,-1743,0},{8023,-1712,0}, {8027,-1687,0},{8033,-1658,0},{8037,-1672,0},{8040,-1677,0},{8040,-1663,0}, {8037,-1668,0},{8038,-1657,0},{8050,-1612,0},{8053,-1622,0},{8057,-1650,0}, {8057,-1707,0},{8058,-1708,0},{8063,-1743,0},{8057,-1787,0},{8055,-1817,0}, {8055,-1855,0},{8057,-1870,0},{8057,-1883,0},{8058,-1888,0},{8060,-1947,0}, {8063,-1955,0},{8065,-1997,0},{8063,-2013,0},{8058,-2030,0},{8055,-2065,0}, {8050,-2075,0},{8050,-2083,0},{8055,-2082,0},{8055,-2118,0},{8057,-2125,0}, {8058,-2118,0},{8058,-2082,0},{8058,-2055,0},{8068,-2008,0},{8067,-1962,0}, {8063,-1937,0},{8063,-1897,0},{8062,-1878,0},{8062,-1858,0},{8068,-1827,0}, {8072,-1802,0},{8078,-1810,0},{8080,-1798,0},{8082,-1793,0},{8075,-1767,0}, {8075,-1713,0},{8070,-1667,0},{8073,-1632,0},{8073,-1600,0},{8082,-1592,0}, {8085,-1560,0},{8087,-1495,0},{8092,-1468,0},{8095,-1465,0},{8100,-1493,0}, {8108,-1513,0},{8113,-1495,0},{8113,-1427,0},{8113,-1403,0},{8123,-1365,0}, {8128,-1365,0},{8130,-1352,0},{8132,-1322,0},{8135,-1325,0},{8140,-1313,0}, {8148,-1258,0},{8160,-1215,0},{8165,-1257,0},{8172,-1278,0},{8178,-1317,0}, {8182,-1372,0},{8182,-1392,0},{8192,-1477,0},{8193,-1502,0},{8190,-1567,0}, {8192,-1598,0},{8193,-1600,0},{8192,-1645,0},{8193,-1670,0},{8190,-1692,0}, {8187,-1683,0},{8185,-1690,0},{8187,-1725,0},{8183,-1732,0},{8187,-1750,0}, {8175,-1753,0},{8170,-1727,0},{8168,-1745,0},{8172,-1760,0},{8173,-1785,0}, {8163,-1788,0},{8160,-1760,0},{8160,-1780,0},{8155,-1780,0},{8158,-1818,0}, {8155,-1803,0},{8150,-1807,0},{8147,-1797,0},{8147,-1815,0},{8143,-1825,0}, {8145,-1832,0},{8147,-1848,0},{8153,-1870,0},{8147,-1888,0},{8155,-1900,0}, {8155,-1923,0},{8155,-1927,0},{8157,-1947,0},{8150,-1992,0},{8143,-2008,0}, {8142,-2025,0},{8162,-2025,0},{8163,-2018,0},{8162,-2010,0},{8168,-1993,0}, {8165,-2010,0},{8158,-2077,0},{8147,-2117,0},{8142,-2145,0},{8133,-2148,0}, {8130,-2175,0},{8125,-2177,0},{8120,-2208,0},{8113,-2237,0},{8103,-2275,0}, {8098,-2278,0},{8090,-2327,0},{8088,-2357,0},{8082,-2350,0},{8077,-2372,0}, {8072,-2367,0},{8063,-2395,0},{8053,-2447,0},{8055,-2453,0},{8057,-2452,0}, {8060,-2432,0},{8063,-2432,0},{8068,-2407,0},{8068,-2417,0},{8067,-2440,0}, {8068,-2442,0},{8073,-2398,0},{8080,-2380,0},{8082,-2388,0},{8088,-2390,0}, {8103,-2338,0},{8110,-2332,0},{8118,-2295,0},{8120,-2300,0},{8127,-2277,0}, {8130,-2297,0},{8130,-2272,0},{8132,-2257,0},{8148,-2220,0},{8177,-2197,0}, {8195,-2203,0},{8208,-2230,0},{8205,-2362,0},{8202,-2382,0},{8198,-2392,0}, {8202,-2392,0},{8202,-2400,0},{8195,-2412,0},{8177,-2410,0},{8170,-2422,0}, {8172,-2458,0},{8168,-2475,0},{8170,-2492,0},{8160,-2542,0},{8150,-2652,0}, {8142,-2688,0},{8138,-2733,0},{8138,-2757,0},{8140,-2722,0},{8145,-2723,0}, {8145,-2752,0},{8147,-2762,0},{8150,-2760,0},{8157,-2683,0},{8173,-2550,0}, {8178,-2532,0},{8200,-2523,0},{8202,-2742,0},{8200,-2875,0},{8200,-2892,0}, {8195,-2948,0},{8192,-2943,0},{8187,-2963,0},{8187,-2975,0},{8193,-2972,0}, {8187,-3072,0},{8183,-3163,0},{8175,-3235,0},{8168,-3255,0},{8168,-3265,0}, {8167,-3303,0},{8175,-3297,0},{8177,-3310,0},{8183,-3300,0},{8192,-3218,0}, {8193,-3182,0},{8195,-3178,0},{8197,-3140,0},{8197,-3120,0},{8200,-3110,0}, {8205,-3020,0},{8210,-2990,0},{8213,-3003,0},{8218,-3045,0},{8218,-3143,0}, {8220,-3162,0},{8218,-3037,0},{8217,-3025,0},{8217,-2995,0},{8213,-2978,0}, {8215,-2957,0},{8213,-2923,0},{8218,-2857,0},{8217,-2827,0},{8218,-2792,0}, {8215,-2617,0},{8215,-2548,0},{8215,-2503,0},{8220,-2450,0},{8228,-2377,0}, {8228,-2305,0},{8233,-2248,0},{8238,-2220,0},{8242,-2230,0},{8245,-2222,0}, {8247,-2195,0},{8255,-2143,0},{8260,-2132,0},{8262,-2133,0},{8267,-2162,0}, {8267,-2175,0},{8270,-2180,0},{8272,-2207,0},{8280,-2265,0},{8277,-2267,0}, {8275,-2283,0},{8278,-2295,0},{8280,-2317,0},{8283,-2320,0},{8285,-2338,0}, {8283,-2368,0},{8278,-2377,0},{8275,-2402,0},{8280,-2388,0},{8287,-2403,0}, {8290,-2383,0},{8292,-2400,0},{8288,-2420,0},{8290,-2458,0},{8283,-2500,0}, {8278,-2548,0},{8277,-2590,0},{8278,-2560,0},{8285,-2513,0},{8290,-2512,0}, {8298,-2477,0},{8307,-2498,0},{8312,-2485,0},{8315,-2498,0},{8317,-2515,0}, {8312,-2607,0},{8307,-2667,0},{8307,-2727,0},{8308,-2793,0},{8305,-2818,0}, {8308,-2827,0},{8310,-2855,0},{8313,-2943,0},{8313,-3002,0},{8308,-3035,0}, {8308,-3082,0},{8300,-3147,0},{8293,-3165,0},{8298,-3177,0},{8300,-3198,0}, {8297,-3300,0},{8295,-3353,0},{8292,-3373,0},{8283,-3368,0},{8278,-3388,0}, {8285,-3380,0},{8290,-3392,0},{8290,-3488,0},{8285,-3530,0},{8282,-3527,0}, {8278,-3543,0},{8275,-3537,0},{8275,-3548,0},{8277,-3555,0},{8282,-3540,0}, {8287,-3542,0},{8288,-3530,0},{8290,-3560,0},{8293,-3413,0},{8298,-3357,0}, {8300,-3302,0},{8302,-3293,0},{8303,-3250,0},{8308,-3265,0},{8312,-3302,0}, {8312,-3325,0},{8315,-3347,0},{8313,-3307,0},{8305,-3197,0},{8305,-3167,0}, {8310,-3132,0},{8312,-3083,0},{8315,-3047,0},{8317,-3005,0},{8317,-2882,0}, {8313,-2770,0},{8315,-2692,0},{8320,-2603,0},{8328,-2567,0},{8332,-2578,0}, {8337,-2610,0},{8347,-2738,0},{8348,-2792,0},{8347,-2843,0},{8343,-2815,0}, {8342,-2860,0},{8347,-2892,0},{8348,-2857,0},{8350,-2857,0},{8350,-2902,0}, {8348,-2905,0},{8348,-2915,0},{8353,-2925,0},{8360,-3022,0},{8360,-3060,0}, {8358,-3080,0},{8357,-3115,0},{8360,-3182,0},{8357,-3228,0},{8362,-3223,0}, {8362,-3302,0},{8360,-3368,0},{8358,-3403,0},{8353,-3403,0},{8348,-3375,0}, {8345,-3388,0},{8352,-3420,0},{8360,-3437,0},{8353,-3452,0},{8360,-3473,0}, {8353,-3520,0},{8355,-3608,0},{8353,-3667,0},{8352,-3682,0},{8350,-3675,0}, {8348,-3690,0},{8343,-3650,0},{8342,-3670,0},{8337,-3643,0},{8338,-3672,0}, {8343,-3683,0},{8345,-3722,0},{8350,-3763,0},{8348,-3795,0},{8345,-3792,0}, {8343,-3805,0},{8338,-3778,0},{8337,-3780,0},{8340,-3808,0},{8343,-3885,0}, {8338,-3873,0},{8333,-3882,0},{8332,-3870,0},{8325,-3885,0},{8320,-3868,0}, {8320,-3798,0},{8318,-3800,0},{8317,-3755,0},{8315,-3763,0},{8315,-3688,0}, {8313,-3728,0},{8312,-3818,0},{8307,-3880,0},{8303,-3867,0},{8303,-3833,0}, {8305,-3772,0},{8300,-3727,0},{8303,-3772,0},{8302,-3813,0},{8302,-3892,0}, {8300,-3912,0},{8297,-3913,0},{8292,-3882,0},{8283,-3873,0},{8282,-3862,0}, {8283,-3848,0},{8275,-3857,0},{8283,-3895,0},{8290,-3900,0},{8292,-3920,0}, {8295,-3945,0},{8295,-4007,0},{8297,-4060,0},{8310,-4132,0},{8313,-4163,0}, {8308,-4193,0},{8317,-4172,0},{8318,-4175,0},{8323,-4208,0},{8323,-4247,0}, {8327,-4270,0},{8327,-4318,0},{8323,-4332,0},{8323,-4298,0},{8322,-4308,0}, {8320,-4293,0},{8322,-4358,0},{8320,-4400,0},{8317,-4358,0},{8317,-4330,0}, {8310,-4288,0},{8313,-4327,0},{8313,-4358,0},{8312,-4368,0},{8317,-4427,0}, {8317,-4472,0},{8310,-4470,0},{8317,-4512,0},{8313,-4528,0},{8313,-4540,0}, {8315,-4538,0},{8313,-4552,0},{8303,-4513,0},{8300,-4487,0},{8292,-4398,0}, {8293,-4343,0},{8292,-4338,0},{8292,-4398,0},{8297,-4475,0},{8293,-4510,0}, {8298,-4512,0},{8308,-4602,0},{8307,-4608,0},{8305,-4643,0},{8302,-4650,0}, {8302,-4668,0},{8300,-4663,0},{8297,-4620,0},{8292,-4598,0},{8297,-4647,0}, {8297,-4688,0},{8292,-4653,0},{8288,-4652,0},{8285,-4605,0},{8285,-4568,0}, {8287,-4562,0},{8285,-4543,0},{8285,-4497,0},{8287,-4487,0},{8290,-4507,0}, {8285,-4458,0},{8283,-4380,0},{8285,-4213,0},{8277,-4102,0},{8272,-4060,0}, {8272,-4013,0},{8267,-3990,0},{8262,-3987,0},{8257,-4002,0},{8250,-3977,0}, {8247,-3987,0},{8240,-3975,0},{8237,-3985,0},{8242,-4008,0},{8248,-4002,0}, {8253,-4022,0},{8257,-4020,0},{8258,-4065,0},{8265,-4098,0},{8267,-4118,0}, {8270,-4123,0},{8273,-4155,0},{8275,-4178,0},{8273,-4190,0},{8263,-4162,0}, {8258,-4168,0},{8253,-4155,0},{8248,-4158,0},{8248,-4168,0},{8255,-4188,0}, {8265,-4185,0},{8270,-4217,0},{8275,-4208,0},{8278,-4268,0},{8278,-4348,0}, {8277,-4422,0},{8277,-4492,0},{8278,-4508,0},{8277,-4575,0},{8272,-4567,0}, {8265,-4513,0},{8262,-4502,0},{8255,-4460,0},{8248,-4443,0},{8240,-4373,0}, {8238,-4388,0},{8233,-4383,0},{8228,-4330,0},{8227,-4275,0},{8222,-4230,0}, {8222,-4268,0},{8225,-4273,0},{8225,-4343,0},{8232,-4413,0},{8230,-4438,0}, {8228,-4462,0},{8218,-4480,0},{8210,-4440,0},{8205,-4467,0},{8203,-4493,0}, {8198,-4492,0},{8197,-4447,0},{8193,-4450,0},{8193,-4470,0},{8193,-4472,0}, {8192,-4455,0},{8188,-4458,0},{8188,-4438,0},{8187,-4433,0},{8185,-4442,0}, {8183,-4417,0},{8182,-4428,0},{8178,-4467,0},{8175,-4463,0},{8178,-4482,0}, {8178,-4513,0},{8190,-4557,0},{8193,-4575,0},{8195,-4603,0},{8197,-4595,0}, {8202,-4598,0},{8210,-4640,0},{8212,-4680,0},{8217,-4720,0},{8217,-4760,0}, {8222,-4757,0},{8228,-4793,0},{8233,-4862,0},{8245,-4900,0},{8252,-4980,0}, {8252,-5037,0},{8250,-5108,0},{8248,-5112,0},{8237,-5085,0},{8218,-5070,0}, {8203,-5012,0},{8195,-4953,0},{8192,-4943,0},{8187,-4982,0},{8190,-5020,0}, {8192,-5068,0},{8195,-5097,0},{8193,-5107,0},{8187,-5090,0},{8185,-5063,0}, {8178,-5050,0},{8173,-5002,0},{8167,-4988,0},{8165,-4962,0},{8162,-4987,0}, {8163,-5018,0},{8172,-5028,0},{8175,-5055,0},{8190,-5138,0},{8192,-5192,0}, {8197,-5213,0},{8197,-5233,0},{8203,-5277,0},{8203,-5290,0},{8202,-5303,0}, {8185,-5293,0},{8178,-5313,0},{8168,-5353,0},{8155,-5347,0},{8153,-5365,0}, {8150,-5347,0},{8152,-5363,0},{8155,-5380,0},{8170,-5382,0},{8180,-5358,0}, {8190,-5350,0},{8202,-5362,0},{8212,-5357,0},{8232,-5408,0},{8237,-5445,0}, {8228,-5560,0},{8228,-5528,0},{8215,-5512,0},{8220,-5532,0},{8225,-5527,0}, {8223,-5558,0},{8227,-5590,0},{8225,-5612,0},{8217,-5628,0},{8220,-5633,0}, {8223,-5655,0},{8218,-5727,0},{8217,-5772,0},{8212,-5830,0},{8210,-5837,0}, {8210,-5858,0},{8202,-5928,0},{8198,-5947,0},{8192,-5877,0},{8188,-5850,0}, {8183,-5847,0},{8167,-5813,0},{8165,-5775,0},{8153,-5718,0},{8143,-5707,0}, {8140,-5662,0},{8133,-5645,0},{8133,-5658,0},{8138,-5673,0},{8143,-5720,0}, {8145,-5728,0},{8147,-5718,0},{8153,-5752,0},{8158,-5765,0},{8158,-5792,0}, {8168,-5865,0},{8173,-5877,0},{8177,-5867,0},{8187,-5887,0},{8188,-5908,0}, {8190,-5960,0},{8193,-5998,0},{8193,-6013,0},{8187,-6087,0},{8182,-6127,0}, {8175,-6145,0},{8155,-6103,0},{8150,-6077,0},{8147,-6082,0},{8135,-6132,0}, {8132,-6117,0},{8128,-6120,0},{8122,-6108,0},{8117,-6088,0},{8112,-6105,0}, {8110,-6150,0},{8107,-6155,0},{8120,-6223,0},{8120,-6273,0},{8123,-6283,0}, {8122,-6307,0},{8115,-6337,0},{8098,-6323,0},{8088,-6298,0},{8080,-6287,0}, {8078,-6273,0},{8075,-6278,0},{8095,-6330,0},{8112,-6348,0},{8115,-6357,0}, {8115,-6368,0},{8105,-6395,0},{8103,-6423,0},{8102,-6443,0},{8100,-6455,0}, {8098,-6478,0},{8092,-6473,0},{8088,-6503,0},{8083,-6498,0},{8078,-6507,0}, {8070,-6572,0},{8067,-6550,0},{8067,-6600,0},{8062,-6612,0},{8057,-6645,0}, {8055,-6672,0},{8053,-6680,0},{8052,-6670,0},{8045,-6678,0},{8045,-6692,0}, {8042,-6700,0},{8033,-6748,0},{8027,-6752,0},{8023,-6743,0},{8020,-6750,0}, {8017,-6737,0},{8017,-6720,0},{8013,-6708,0},{8012,-6713,0},{8005,-6705,0}, {8007,-6655,0},{8012,-6642,0},{8007,-6617,0},{8002,-6608,0},{8000,-6590,0}, {8005,-6553,0},{8010,-6528,0},{8008,-6518,0},{8007,-6490,0},{8008,-6473,0}, {8008,-6453,0},{8013,-6435,0},{8025,-6420,0},{8017,-6417,0},{8015,-6378,0}, {8013,-6392,0},{8013,-6415,0},{8007,-6438,0},{8002,-6507,0},{7995,-6495,0}, {7990,-6505,0},{7987,-6500,0},{7985,-6513,0},{7982,-6500,0},{7980,-6505,0}, {7978,-6495,0},{7975,-6503,0},{7970,-6490,0},{7965,-6502,0},{7962,-6483,0}, {7953,-6482,0},{7950,-6488,0},{7945,-6508,0},{7943,-6505,0},{7940,-6515,0}, {7937,-6515,0},{7933,-6542,0},{7928,-6555,0},{7925,-6553,0},{7925,-6568,0}, {7922,-6567,0},{7917,-6590,0},{7913,-6588,0},{7913,-6580,0},{7913,-6607,0}, {7910,-6598,0},{7910,-6602,0},{7912,-6612,0},{7910,-6632,0},{7913,-6635,0}, {7913,-6645,0},{7912,-6652,0},{7915,-6663,0},{7912,-6678,0},{7913,-6678,0}, {7910,-6692,0},{7915,-6695,0},{7912,-6703,0},{7915,-6710,0},{7915,-6718,0}, {7912,-6722,0},{7912,-6727,0},{7912,-6740,0},{7913,-6748,0},{7910,-6748,0}, {7910,-6758,0},{7908,-6773,0},{7907,-6773,0},{7905,-6767,0},{7903,-6772,0}, {7907,-6803,0},{7907,-6830,0},{7905,-6855,0},{7897,-6910,0},{7892,-6917,0}, {7890,-6890,0},{7883,-6878,0},{7887,-6907,0},{7888,-6913,0},{7880,-6935,0}, {7880,-6942,0},{7880,-6988,0},{7878,-7002,0},{7875,-6997,0},{7868,-7075,0}, {7867,-7080,0},{7858,-7080,0},{7862,-7090,0},{7865,-7127,0},{7863,-7155,0}, {7855,-7190,0},{7853,-7213,0},{7855,-7235,0},{7852,-7255,0},{7850,-7263,0}, {7847,-7257,0},{7843,-7267,0},{7840,-7258,0},{7835,-7280,0},{7832,-7285,0}, {7828,-7245,0},{7828,-7267,0},{7825,-7268,0},{7825,-7280,0},{7823,-7275,0}, {7822,-7282,0},{7818,-7273,0},{7817,-7285,0},{7817,-7300,0},{7815,-7305,0}, {7815,-7287,0},{7810,-7278,0},{7805,-7258,0},{7805,-7230,0},{7802,-7235,0}, {7797,-7225,0},{7793,-7223,0},{7793,-7208,0},{7788,-7193,0},{7792,-7163,0}, {7785,-7160,0},{7788,-7123,0},{7785,-7123,0},{7780,-7143,0},{7777,-7132,0}, {7778,-7067,0},{7783,-7052,0},{7785,-7038,0},{7783,-6998,0},{7782,-7002,0}, {7782,-7023,0},{7770,-7070,0},{7768,-7068,0},{7765,-7032,0},{7767,-7017,0}, {7767,-7010,0},{7768,-7002,0},{7770,-6970,0},{7775,-6948,0},{7768,-6950,0}, {7758,-7025,0},{7757,-7028,0},{7755,-7025,0},{7753,-7007,0},{7755,-6993,0}, {7753,-6990,0},{7753,-6980,0},{7745,-6918,0},{7752,-6862,0},{7755,-6860,0}, {7765,-6882,0},{7767,-6870,0},{7757,-6838,0},{7750,-6837,0},{7752,-6792,0}, {7752,-6777,0},{7755,-6738,0},{7758,-6722,0},{7767,-6715,0},{7768,-6683,0}, {7772,-6667,0},{7768,-6672,0},{7767,-6660,0},{7763,-6650,0},{7762,-6628,0}, {7760,-6623,0},{7757,-6630,0},{7757,-6617,0},{7753,-6622,0},{7750,-6607,0}, {7745,-6607,0},{7742,-6617,0},{7743,-6652,0},{7742,-6667,0},{7730,-6648,0}, {7728,-6640,0},{7727,-6622,0},{7725,-6623,0},{7728,-6655,0},{7735,-6677,0}, {7738,-6755,0},{7737,-6827,0},{7737,-6840,0},{7727,-6910,0},{7725,-6898,0}, {7722,-6858,0},{7720,-6817,0},{7722,-6798,0},{7722,-6775,0},{7715,-6690,0}, {7715,-6665,0},{7720,-6620,0},{7717,-6620,0},{7713,-6645,0},{7712,-6637,0}, {7710,-6640,0},{7713,-6653,0},{7712,-6693,0},{7715,-6718,0},{7715,-6733,0}, {7720,-6783,0},{7717,-6820,0},{7717,-6853,0},{7723,-6952,0},{7722,-6965,0}, {7723,-6973,0},{7723,-6982,0},{7723,-7015,0},{7718,-7092,0},{7717,-7092,0}, {7715,-7070,0},{7715,-7098,0},{7713,-7120,0},{7707,-7123,0},{7705,-7137,0}, {7700,-7135,0},{7693,-7112,0},{7695,-7113,0},{7697,-7107,0},{7693,-7080,0}, {7693,-7068,0},{7690,-7083,0},{7690,-7098,0},{7687,-7092,0},{7687,-7082,0}, {7683,-7083,0},{7680,-7067,0},{7680,-7060,0},{7678,-7050,0},{7680,-7037,0}, {7698,-6978,0},{7702,-6975,0},{7702,-6967,0},{7700,-6955,0},{7698,-6955,0}, {7697,-6975,0},{7690,-6990,0},{7687,-6990,0},{7682,-7008,0},{7680,-7010,0}, {7677,-7000,0},{7667,-6923,0},{7668,-6915,0},{7665,-6878,0},{7665,-6857,0}, {7668,-6828,0},{7670,-6810,0},{7668,-6798,0},{7665,-6810,0},{7662,-6798,0}, {7658,-6803,0},{7657,-6840,0},{7658,-6873,0},{7655,-6890,0},{7655,-6882,0}, {7648,-6907,0},{7645,-6932,0},{7643,-6957,0},{7642,-6962,0},{7637,-6962,0}, {7630,-6933,0},{7625,-6892,0},{7622,-6892,0},{7618,-6875,0},{7617,-6880,0}, {7617,-6853,0},{7615,-6843,0},{7612,-6857,0},{7608,-6850,0},{7602,-6735,0}, {7592,-6645,0},{7595,-6648,0},{7600,-6672,0},{7607,-6705,0},{7610,-6702,0}, {7613,-6705,0},{7617,-6730,0},{7620,-6727,0},{7620,-6710,0},{7623,-6715,0}, {7627,-6703,0},{7623,-6682,0},{7622,-6680,0},{7622,-6667,0},{7617,-6675,0}, {7608,-6647,0},{7610,-6637,0},{7615,-6640,0},{7615,-6632,0},{7620,-6635,0}, {7622,-6622,0},{7628,-6620,0},{7625,-6602,0},{7628,-6577,0},{7627,-6568,0}, {7623,-6555,0},{7620,-6577,0},{7618,-6568,0},{7618,-6575,0},{7613,-6577,0}, {7610,-6588,0},{7605,-6570,0},{7605,-6563,0},{7603,-6563,0},{7602,-6548,0}, {7602,-6535,0},{7607,-6530,0},{7613,-6537,0},{7615,-6532,0},{7617,-6535,0}, {7618,-6522,0},{7613,-6523,0},{7612,-6517,0},{7613,-6503,0},{7610,-6500,0}, {7618,-6500,0},{7617,-6485,0},{7612,-6470,0},{7613,-6460,0},{7617,-6470,0}, {7618,-6467,0},{7617,-6462,0},{7617,-6457,0},{7622,-6467,0},{7627,-6468,0}, {7627,-6462,0},{7623,-6457,0},{7623,-6443,0},{7628,-6437,0},{7635,-6443,0}, {7635,-6435,0},{7632,-6417,0},{7630,-6422,0},{7625,-6422,0},{7615,-6412,0}, {7613,-6402,0},{7615,-6378,0},{7632,-6348,0},{7637,-6350,0},{7637,-6338,0}, {7635,-6327,0},{7635,-6317,0},{7633,-6313,0},{7630,-6288,0},{7620,-6278,0}, {7625,-6273,0},{7627,-6260,0},{7625,-6238,0},{7628,-6232,0},{7628,-6223,0}, {7627,-6215,0},{7622,-6217,0},{7623,-6195,0},{7620,-6185,0},{7620,-6175,0}, {7618,-6167,0},{7617,-6148,0},{7618,-6138,0},{7617,-6122,0},{7615,-6113,0}, {7615,-6085,0},{7612,-6083,0},{7608,-6090,0},{7608,-6082,0},{7603,-6083,0}, {7600,-6073,0},{7607,-6050,0},{7603,-6045,0},{7603,-6038,0},{7602,-6008,0}, {7598,-6013,0},{7597,-6007,0},{7597,-6000,0},{7593,-6000,0},{7592,-5992,0}, {7593,-5992,0},{7597,-5977,0},{7595,-5968,0},{7592,-5960,0},{7587,-5975,0}, {7582,-5982,0},{7580,-5978,0},{7580,-5972,0},{7582,-5967,0},{7582,-5962,0}, {7587,-5952,0},{7587,-5922,0},{7583,-5913,0},{7582,-5930,0},{7580,-5923,0}, {7578,-5922,0},{7577,-5928,0},{7577,-5908,0},{7570,-5907,0},{7572,-5882,0}, {7573,-5868,0},{7572,-5840,0},{7570,-5843,0},{7570,-5857,0},{7567,-5860,0}, {7565,-5850,0},{7565,-5832,0},{7557,-5843,0},{7555,-5832,0},{7552,-5817,0}, {7545,-5822,0},{7543,-5837,0},{7540,-5843,0},{7538,-5862,0},{7535,-5870,0}, {7533,-5852,0},{7540,-5842,0},{7540,-5825,0},{7537,-5837,0},{7533,-5830,0}, {7532,-5835,0},{7532,-5843,0},{7530,-5843,0},{7520,-5822,0},{7520,-5802,0}, {7517,-5792,0},{7515,-5795,0},{7510,-5813,0},{7508,-5807,0},{7508,-5815,0}, {7505,-5813,0},{7507,-5805,0},{7505,-5790,0},{7502,-5783,0},{7502,-5765,0}, {7498,-5755,0},{7495,-5740,0},{7493,-5738,0},{7493,-5733,0},{7490,-5730,0}, {7492,-5703,0},{7485,-5700,0},{7483,-5685,0},{7482,-5680,0},{7480,-5687,0}, {7477,-5698,0},{7480,-5710,0},{7477,-5718,0},{7475,-5713,0},{7473,-5715,0}, {7473,-5703,0},{7470,-5708,0},{7470,-5702,0},{7467,-5702,0},{7470,-5687,0}, {7468,-5683,0},{7468,-5677,0},{7465,-5677,0},{7465,-5647,0},{7462,-5650,0}, {7460,-5660,0},{7455,-5642,0},{7455,-5620,0},{7452,-5627,0},{7450,-5623,0}, {7448,-5615,0},{7448,-5627,0},{7445,-5657,0},{7445,-5680,0},{7440,-5658,0}, {7442,-5628,0},{7440,-5617,0},{7437,-5615,0},{7435,-5672,0},{7432,-5663,0}, {7433,-5653,0},{7428,-5657,0},{7430,-5638,0},{7430,-5630,0},{7428,-5632,0}, {7425,-5657,0},{7423,-5658,0},{7420,-5670,0},{7420,-5690,0},{7417,-5703,0}, {7417,-5715,0},{7413,-5710,0},{7415,-5727,0},{7410,-5732,0},{7410,-5715,0}, {7415,-5660,0},{7423,-5627,0},{7427,-5618,0},{7428,-5613,0},{7420,-5617,0}, {7417,-5625,0},{7415,-5623,0},{7412,-5632,0},{7410,-5630,0},{7412,-5620,0}, {7408,-5627,0},{7408,-5637,0},{7407,-5642,0},{7407,-5637,0},{7405,-5635,0}, {7403,-5597,0},{7400,-5598,0},{7402,-5612,0},{7397,-5610,0},{7395,-5597,0}, {7392,-5593,0},{7392,-5582,0},{7387,-5565,0},{7385,-5565,0},{7383,-5570,0}, {7385,-5595,0},{7377,-5582,0},{7375,-5583,0},{7372,-5573,0},{7373,-5563,0}, {7372,-5560,0},{7370,-5563,0},{7370,-5575,0},{7377,-5595,0},{7372,-5592,0}, {7370,-5602,0},{7368,-5603,0},{7368,-5600,0},{7368,-5588,0},{7368,-5585,0}, {7365,-5597,0},{7367,-5607,0},{7365,-5608,0},{7362,-5595,0},{7362,-5577,0}, {7358,-5578,0},{7357,-5572,0},{7358,-5570,0},{7357,-5563,0},{7350,-5552,0}, {7347,-5553,0},{7343,-5532,0},{7342,-5517,0},{7337,-5508,0},{7335,-5510,0}, {7335,-5513,0},{7338,-5527,0},{7333,-5537,0},{7332,-5532,0},{7330,-5533,0}, {7330,-5540,0},{7325,-5547,0},{7323,-5532,0},{7323,-5522,0},{7322,-5522,0}, {7322,-5513,0},{7318,-5515,0},{7318,-5543,0},{7317,-5542,0},{7318,-5533,0}, {7312,-5545,0},{7310,-5552,0},{7312,-5565,0},{7310,-5572,0},{7307,-5570,0}, {7305,-5565,0},{7307,-5545,0},{7303,-5533,0},{7305,-5527,0},{7302,-5517,0}, {7307,-5503,0},{7300,-5505,0},{7300,-5495,0},{7302,-5488,0},{7300,-5478,0}, {7297,-5485,0},{7295,-5478,0},{7293,-5482,0},{7290,-5470,0},{7285,-5467,0}, {7282,-5460,0},{7280,-5470,0},{7280,-5482,0},{7278,-5493,0},{7275,-5475,0}, {7277,-5463,0},{7280,-5458,0},{7278,-5453,0},{7275,-5465,0},{7275,-5475,0}, {7268,-5458,0},{7270,-5473,0},{7265,-5478,0},{7267,-5488,0},{7263,-5485,0}, {7262,-5470,0},{7263,-5467,0},{7262,-5463,0},{7260,-5473,0},{7260,-5490,0}, {7258,-5492,0},{7257,-5500,0},{7252,-5502,0},{7250,-5498,0},{7252,-5488,0}, {7255,-5480,0},{7252,-5480,0},{7250,-5475,0},{7248,-5460,0},{7250,-5443,0}, {7248,-5430,0},{7247,-5432,0},{7248,-5435,0},{7250,-5443,0},{7247,-5457,0}, {7248,-5478,0},{7247,-5490,0},{7252,-5547,0},{7245,-5563,0},{7242,-5563,0}, {7238,-5548,0},{7240,-5542,0},{7242,-5540,0},{7240,-5535,0},{7247,-5532,0}, {7240,-5528,0},{7238,-5525,0},{7237,-5528,0},{7237,-5523,0},{7240,-5512,0}, {7240,-5503,0},{7242,-5502,0},{7243,-5490,0},{7240,-5497,0},{7238,-5493,0}, {7237,-5478,0},{7237,-5468,0},{7235,-5478,0},{7237,-5495,0},{7232,-5490,0}, {7227,-5495,0},{7225,-5488,0},{7220,-5505,0},{7215,-5520,0},{7210,-5540,0}, {7208,-5540,0},{7207,-5528,0},{7207,-5542,0},{7203,-5553,0},{7198,-5560,0}, {7198,-5553,0},{7192,-5525,0},{7193,-5488,0},{7200,-5472,0},{7202,-5463,0}, {7207,-5465,0},{7213,-5453,0},{7218,-5453,0},{7222,-5442,0},{7222,-5438,0}, {7210,-5452,0},{7203,-5453,0},{7192,-5483,0},{7188,-5502,0},{7188,-5532,0}, {7183,-5538,0},{7177,-5525,0},{7180,-5545,0},{7177,-5557,0},{7173,-5557,0}, {7175,-5568,0},{7173,-5577,0},{7168,-5590,0},{7165,-5557,0},{7162,-5560,0}, {7162,-5568,0},{7147,-5555,0},{7138,-5532,0},{7138,-5517,0},{7138,-5512,0}, {7148,-5525,0},{7143,-5512,0},{7143,-5497,0},{7138,-5493,0},{7135,-5480,0}, {7137,-5440,0},{7145,-5392,0},{7155,-5385,0},{7163,-5410,0},{7168,-5403,0}, {7170,-5410,0},{7172,-5407,0},{7170,-5402,0},{7163,-5392,0},{7163,-5378,0}, {7167,-5372,0},{7170,-5373,0},{7173,-5392,0},{7173,-5363,0},{7180,-5348,0}, {7185,-5340,0},{7190,-5348,0},{7205,-5358,0},{7215,-5383,0},{7225,-5383,0}, {7232,-5395,0},{7235,-5387,0},{7235,-5357,0},{7235,-5358,0},{7233,-5382,0}, {7232,-5385,0},{7225,-5375,0},{7212,-5370,0},{7207,-5347,0},{7203,-5340,0}, {7197,-5342,0},{7183,-5332,0},{7177,-5337,0},{7177,-5333,0},{7182,-5320,0}, {7185,-5298,0},{7192,-5302,0},{7202,-5278,0},{7202,-5272,0},{7200,-5268,0}, {7197,-5280,0},{7192,-5283,0},{7192,-5290,0},{7187,-5290,0},{7187,-5285,0}, {7182,-5292,0},{7175,-5317,0},{7170,-5325,0},{7168,-5290,0},{7168,-5258,0}, {7163,-5257,0},{7162,-5217,0},{7165,-5187,0},{7172,-5178,0},{7173,-5167,0}, {7172,-5163,0},{7162,-5173,0},{7160,-5180,0},{7155,-5248,0},{7152,-5270,0}, {7142,-5298,0},{7138,-5267,0},{7138,-5245,0},{7138,-5230,0},{7145,-5203,0}, {7150,-5172,0},{7150,-5153,0},{7148,-5135,0},{7143,-5138,0},{7145,-5160,0}, {7143,-5198,0},{7140,-5202,0},{7135,-5227,0},{7127,-5227,0},{7123,-5233,0}, {7122,-5252,0},{7118,-5255,0},{7115,-5253,0},{7115,-5243,0},{7118,-5233,0}, {7118,-5225,0},{7133,-5183,0},{7137,-5165,0},{7133,-5168,0},{7130,-5153,0}, {7127,-5153,0},{7125,-5162,0},{7125,-5188,0},{7122,-5203,0},{7117,-5208,0}, {7113,-5223,0},{7112,-5225,0},{7110,-5207,0},{7113,-5185,0},{7113,-5173,0}, {7112,-5170,0},{7110,-5160,0},{7113,-5123,0},{7110,-5140,0},{7108,-5137,0}, {7108,-5128,0},{7108,-5143,0},{7105,-5148,0},{7102,-5122,0},{7102,-5092,0}, {7097,-5097,0},{7095,-5123,0},{7107,-5183,0},{7105,-5190,0},{7102,-5195,0}, {7097,-5167,0},{7093,-5160,0},{7088,-5118,0},{7087,-5120,0},{7085,-5115,0}, {7085,-5102,0},{7088,-5085,0},{7083,-5092,0},{7080,-5090,0},{7078,-5075,0}, {7075,-5073,0},{7073,-5063,0},{7072,-5065,0},{7072,-5078,0},{7078,-5102,0}, {7082,-5123,0},{7075,-5128,0},{7075,-5143,0},{7070,-5142,0},{7068,-5120,0}, {7077,-5105,0},{7065,-5110,0},{7068,-5093,0},{7068,-5085,0},{7063,-5062,0}, {7062,-5065,0},{7065,-5078,0},{7065,-5093,0},{7062,-5098,0},{7060,-5092,0}, {7062,-5083,0},{7058,-5087,0},{7055,-5073,0},{7053,-5078,0},{7057,-5092,0}, {7053,-5087,0},{7050,-5088,0},{7053,-5090,0},{7058,-5117,0},{7062,-5120,0}, {7058,-5133,0},{7055,-5133,0},{7052,-5122,0},{7050,-5122,0},{7052,-5108,0}, {7048,-5095,0},{7047,-5095,0},{7047,-5110,0},{7043,-5103,0},{7042,-5077,0}, {7045,-5070,0},{7047,-5065,0},{7052,-5058,0},{7053,-5053,0},{7052,-5048,0}, {7040,-5068,0},{7038,-5067,0},{7040,-5062,0},{7038,-5057,0},{7035,-5055,0}, {7032,-5060,0},{7032,-5068,0},{7035,-5082,0},{7037,-5100,0},{7035,-5105,0}, {7040,-5120,0},{7043,-5138,0},{7043,-5153,0},{7050,-5182,0},{7070,-5245,0}, {7073,-5267,0},{7078,-5305,0},{7075,-5347,0},{7080,-5368,0},{7078,-5380,0}, {7082,-5400,0},{7083,-5415,0},{7073,-5455,0},{7065,-5463,0},{7065,-5455,0}, {7058,-5435,0},{7052,-5420,0},{7047,-5418,0},{7038,-5392,0},{7035,-5342,0}, {7035,-5322,0},{7028,-5288,0},{7020,-5260,0},{7005,-5232,0},{7005,-5228,0}, {7003,-5217,0},{7005,-5207,0},{7000,-5195,0},{7002,-5183,0},{7000,-5162,0}, {7003,-5155,0},{6997,-5157,0},{6998,-5147,0},{6997,-5145,0},{7007,-5125,0}, {7007,-5107,0},{7005,-5100,0},{7003,-5100,0},{7003,-5092,0},{7002,-5087,0}, {7000,-5098,0},{7003,-5102,0},{7003,-5108,0},{7000,-5113,0},{6997,-5128,0}, {6997,-5093,0},{7003,-5050,0},{7005,-5047,0},{7003,-5042,0},{7003,-5025,0}, {7002,-5022,0},{6997,-5032,0},{6997,-5058,0},{6992,-5058,0},{6990,-5052,0}, {6990,-5038,0},{6987,-5032,0},{6983,-5032,0},{6978,-5027,0},{6975,-5018,0}, {6978,-5060,0},{6973,-5065,0},{6972,-5082,0},{6968,-5082,0},{6967,-5077,0}, {6967,-5060,0},{6963,-5052,0},{6965,-5043,0},{6963,-5047,0},{6960,-5040,0}, {6963,-5065,0},{6965,-5080,0},{6962,-5085,0},{6955,-5078,0},{6948,-5088,0}, {6948,-5085,0},{6952,-5070,0},{6952,-5067,0},{6952,-5072,0},{6950,-5070,0}, {6950,-5057,0},{6955,-5043,0},{6955,-5038,0},{6952,-5033,0},{6952,-5020,0}, {6948,-5028,0},{6952,-5042,0},{6948,-5052,0},{6945,-5048,0},{6948,-5070,0}, {6945,-5087,0},{6943,-5083,0},{6938,-5090,0},{6933,-5083,0},{6935,-5090,0}, {6933,-5090,0},{6933,-5097,0},{6932,-5100,0},{6930,-5097,0},{6928,-5087,0}, {6927,-5093,0},{6927,-5100,0},{6923,-5105,0},{6923,-5110,0},{6920,-5112,0}, {6920,-5103,0},{6918,-5102,0},{6917,-5088,0},{6920,-5075,0},{6923,-5065,0}, {6922,-5065,0},{6922,-5060,0},{6925,-5053,0},{6927,-5058,0},{6932,-5050,0}, {6933,-5040,0},{6932,-5038,0},{6930,-5047,0},{6920,-5047,0},{6920,-5027,0}, {6922,-5013,0},{6917,-5017,0},{6913,-5027,0},{6912,-5028,0},{6912,-5068,0}, {6910,-5068,0},{6905,-5043,0},{6908,-5025,0},{6907,-5022,0},{6902,-5018,0}, {6902,-5022,0},{6895,-5022,0},{6898,-5030,0},{6905,-5027,0},{6905,-5035,0}, {6900,-5035,0},{6902,-5040,0},{6902,-5050,0},{6897,-5045,0},{6897,-5037,0}, {6892,-5032,0},{6890,-5035,0},{6895,-5052,0},{6902,-5053,0},{6905,-5058,0}, {6905,-5063,0},{6908,-5067,0},{6905,-5090,0},{6902,-5090,0},{6903,-5098,0}, {6907,-5090,0},{6910,-5073,0},{6912,-5077,0},{6912,-5092,0},{6913,-5107,0}, {6910,-5107,0},{6910,-5112,0},{6905,-5108,0},{6903,-5113,0},{6895,-5108,0}, {6892,-5118,0},{6888,-5118,0},{6888,-5108,0},{6892,-5107,0},{6893,-5097,0}, {6887,-5108,0},{6883,-5122,0},{6882,-5118,0},{6875,-5130,0},{6873,-5112,0}, {6875,-5102,0},{6883,-5078,0},{6883,-5067,0},{6882,-5067,0},{6880,-5077,0}, {6877,-5078,0},{6877,-5087,0},{6873,-5098,0},{6870,-5097,0},{6870,-5092,0}, {6867,-5092,0},{6867,-5080,0},{6867,-5088,0},{6862,-5085,0},{6862,-5090,0}, {6867,-5097,0},{6870,-5107,0},{6865,-5100,0},{6858,-5103,0},{6857,-5108,0}, {6858,-5107,0},{6860,-5110,0},{6855,-5117,0},{6857,-5130,0},{6858,-5128,0}, {6858,-5133,0},{6857,-5140,0},{6855,-5133,0},{6853,-5137,0},{6855,-5143,0}, {6853,-5150,0},{6855,-5147,0},{6857,-5150,0},{6853,-5155,0},{6852,-5162,0}, {6853,-5178,0},{6852,-5185,0},{6853,-5195,0},{6855,-5192,0},{6855,-5197,0}, {6857,-5182,0},{6858,-5187,0},{6857,-5205,0},{6853,-5212,0},{6857,-5220,0}, {6855,-5248,0},{6852,-5263,0},{6850,-5258,0},{6852,-5240,0},{6848,-5248,0}, {6845,-5243,0},{6845,-5262,0},{6842,-5272,0},{6842,-5278,0},{6840,-5282,0}, {6838,-5278,0},{6835,-5300,0},{6830,-5310,0},{6835,-5323,0},{6833,-5338,0}, {6830,-5333,0},{6828,-5337,0},{6827,-5335,0},{6830,-5320,0},{6828,-5308,0}, {6835,-5260,0},{6833,-5260,0},{6833,-5263,0},{6832,-5265,0},{6830,-5283,0}, {6825,-5293,0},{6825,-5285,0},{6822,-5290,0},{6823,-5283,0},{6822,-5280,0}, {6822,-5272,0},{6823,-5263,0},{6825,-5263,0},{6827,-5282,0},{6828,-5275,0}, {6827,-5265,0},{6828,-5252,0},{6827,-5257,0},{6823,-5245,0},{6818,-5250,0}, {6818,-5242,0},{6822,-5222,0},{6822,-5210,0},{6823,-5205,0},{6823,-5178,0}, {6828,-5167,0},{6828,-5123,0},{6833,-5123,0},{6835,-5130,0},{6837,-5133,0}, {6835,-5138,0},{6835,-5148,0},{6840,-5157,0},{6842,-5163,0},{6843,-5158,0}, {6840,-5145,0},{6842,-5122,0},{6850,-5082,0},{6848,-5077,0},{6847,-5087,0}, {6848,-5082,0},{6848,-5088,0},{6845,-5093,0},{6843,-5110,0},{6840,-5118,0}, {6838,-5118,0},{6837,-5113,0},{6828,-5115,0},{6825,-5138,0},{6825,-5120,0}, {6822,-5112,0},{6822,-5105,0},{6818,-5095,0},{6818,-5110,0},{6822,-5130,0}, {6820,-5143,0},{6817,-5137,0},{6813,-5112,0},{6810,-5108,0},{6812,-5093,0}, {6808,-5105,0},{6807,-5097,0},{6805,-5092,0},{6805,-5085,0},{6803,-5080,0}, {6803,-5068,0},{6802,-5067,0},{6800,-5072,0},{6800,-5057,0},{6797,-5057,0}, {6795,-5038,0},{6793,-5032,0},{6793,-5015,0},{6790,-5022,0},{6793,-5043,0}, {6790,-5060,0},{6795,-5070,0},{6795,-5078,0},{6800,-5100,0},{6807,-5118,0}, {6805,-5168,0},{6803,-5185,0},{6805,-5195,0},{6808,-5210,0},{6808,-5218,0}, {6812,-5225,0},{6813,-5235,0},{6818,-5258,0},{6820,-5275,0},{6817,-5280,0}, {6817,-5270,0},{6815,-5270,0},{6815,-5263,0},{6812,-5263,0},{6813,-5252,0}, {6810,-5253,0},{6807,-5238,0},{6807,-5242,0},{6812,-5263,0},{6812,-5273,0}, {6815,-5288,0},{6815,-5295,0},{6820,-5315,0},{6818,-5332,0},{6815,-5345,0}, {6815,-5335,0},{6817,-5327,0},{6813,-5328,0},{6815,-5322,0},{6815,-5315,0}, {6817,-5315,0},{6817,-5310,0},{6815,-5308,0},{6813,-5315,0},{6812,-5315,0}, {6800,-5282,0},{6797,-5268,0},{6795,-5220,0},{6797,-5207,0},{6795,-5210,0}, {6792,-5218,0},{6793,-5225,0},{6795,-5250,0},{6793,-5258,0},{6795,-5263,0}, {6798,-5280,0},{6805,-5302,0},{6807,-5310,0},{6805,-5318,0},{6802,-5325,0}, {6798,-5327,0},{6800,-5308,0},{6798,-5305,0},{6800,-5298,0},{6798,-5288,0}, {6797,-5302,0},{6797,-5325,0},{6795,-5325,0},{6793,-5318,0},{6792,-5332,0}, {6788,-5325,0},{6792,-5313,0},{6790,-5308,0},{6788,-5305,0},{6788,-5313,0}, {6785,-5327,0},{6785,-5328,0},{6783,-5320,0},{6783,-5330,0},{6788,-5330,0}, {6788,-5335,0},{6790,-5338,0},{6788,-5347,0},{6787,-5347,0},{6787,-5338,0}, {6783,-5342,0},{6782,-5325,0},{6780,-5327,0},{6780,-5343,0},{6782,-5342,0}, {6780,-5348,0},{6782,-5350,0},{6782,-5345,0},{6785,-5348,0},{6783,-5350,0}, {6785,-5355,0},{6780,-5370,0},{6777,-5355,0},{6772,-5353,0},{6768,-5355,0}, {6765,-5370,0},{6765,-5357,0},{6760,-5375,0},{6755,-5372,0},{6753,-5373,0}, {6752,-5368,0},{6750,-5368,0},{6752,-5358,0},{6758,-5332,0},{6777,-5298,0}, {6777,-5292,0},{6778,-5283,0},{6778,-5263,0},{6782,-5247,0},{6787,-5240,0}, {6790,-5222,0},{6790,-5193,0},{6793,-5182,0},{6797,-5162,0},{6797,-5158,0}, {6793,-5160,0},{6792,-5178,0},{6788,-5192,0},{6787,-5213,0},{6788,-5217,0}, {6782,-5235,0},{6777,-5225,0},{6777,-5205,0},{6775,-5193,0},{6775,-5185,0}, {6778,-5182,0},{6780,-5168,0},{6777,-5163,0},{6775,-5180,0},{6773,-5185,0}, {6772,-5180,0},{6770,-5182,0},{6770,-5172,0},{6775,-5158,0},{6775,-5147,0}, {6772,-5152,0},{6775,-5138,0},{6778,-5140,0},{6782,-5132,0},{6785,-5135,0}, {6787,-5147,0},{6793,-5157,0},{6795,-5152,0},{6792,-5135,0},{6797,-5123,0}, {6798,-5103,0},{6793,-5105,0},{6792,-5097,0},{6790,-5097,0},{6788,-5102,0}, {6790,-5108,0},{6790,-5120,0},{6788,-5137,0},{6785,-5127,0},{6782,-5125,0}, {6780,-5118,0},{6778,-5123,0},{6777,-5118,0},{6777,-5105,0},{6777,-5100,0}, {6780,-5097,0},{6780,-5085,0},{6780,-5082,0},{6782,-5087,0},{6782,-5072,0}, {6785,-5065,0},{6787,-5075,0},{6785,-5083,0},{6785,-5088,0},{6788,-5082,0}, {6790,-5083,0},{6790,-5078,0},{6787,-5053,0},{6787,-5048,0},{6788,-5052,0}, {6788,-5048,0},{6785,-5043,0},{6783,-5027,0},{6782,-5028,0},{6780,-5035,0}, {6782,-5040,0},{6782,-5063,0},{6777,-5078,0},{6773,-5098,0},{6772,-5100,0}, {6772,-5123,0},{6773,-5128,0},{6772,-5132,0},{6765,-5107,0},{6767,-5092,0}, {6763,-5102,0},{6762,-5095,0},{6765,-5065,0},{6775,-5028,0},{6773,-5007,0}, {6770,-4995,0},{6768,-4995,0},{6768,-5008,0},{6772,-5008,0},{6773,-5027,0}, {6765,-5060,0},{6760,-5088,0},{6753,-5072,0},{6750,-5057,0},{6752,-5038,0}, {6748,-5025,0},{6752,-5007,0},{6748,-5020,0},{6747,-5020,0},{6750,-5045,0}, {6748,-5055,0},{6750,-5065,0},{6748,-5070,0},{6758,-5095,0},{6763,-5123,0}, {6768,-5133,0},{6767,-5142,0},{6767,-5138,0},{6765,-5140,0},{6767,-5153,0}, {6763,-5172,0},{6763,-5188,0},{6767,-5188,0},{6772,-5205,0},{6770,-5212,0}, {6773,-5233,0},{6777,-5242,0},{6777,-5250,0},{6775,-5263,0},{6773,-5283,0}, {6772,-5272,0},{6773,-5253,0},{6772,-5262,0},{6770,-5272,0},{6772,-5285,0}, {6770,-5303,0},{6765,-5308,0},{6768,-5292,0},{6758,-5323,0},{6760,-5312,0}, {6760,-5310,0},{6755,-5333,0},{6752,-5340,0},{6745,-5372,0},{6740,-5382,0}, {6738,-5380,0},{6735,-5387,0},{6733,-5383,0},{6732,-5387,0},{6728,-5385,0}, {6725,-5388,0},{6725,-5383,0},{6723,-5387,0},{6723,-5378,0},{6720,-5380,0}, {6725,-5358,0},{6727,-5343,0},{6727,-5337,0},{6735,-5318,0},{6730,-5323,0}, {6728,-5313,0},{6735,-5257,0},{6735,-5250,0},{6738,-5243,0},{6737,-5238,0}, {6740,-5215,0},{6735,-5195,0},{6737,-5183,0},{6735,-5162,0},{6742,-5115,0}, {6742,-5112,0},{6740,-5115,0},{6737,-5148,0},{6735,-5153,0},{6732,-5143,0}, {6725,-5138,0},{6713,-5117,0},{6715,-5108,0},{6720,-5080,0},{6722,-5053,0}, {6722,-5048,0},{6718,-5045,0},{6720,-5037,0},{6717,-5037,0},{6717,-5047,0}, {6718,-5060,0},{6718,-5077,0},{6713,-5107,0},{6712,-5118,0},{6717,-5130,0}, {6730,-5145,0},{6732,-5152,0},{6735,-5173,0},{6733,-5203,0},{6737,-5215,0}, {6733,-5242,0},{6730,-5248,0},{6732,-5260,0},{6730,-5282,0},{6727,-5292,0}, {6727,-5302,0},{6725,-5308,0},{6725,-5322,0},{6723,-5342,0},{6723,-5352,0}, {6722,-5358,0},{6720,-5338,0},{6718,-5382,0},{6715,-5387,0},{6713,-5392,0}, {6713,-5388,0},{6712,-5393,0},{6712,-5390,0},{6710,-5397,0},{6708,-5393,0}, {6707,-5397,0},{6708,-5375,0},{6708,-5353,0},{6712,-5340,0},{6707,-5355,0}, {6707,-5383,0},{6702,-5380,0},{6702,-5368,0},{6700,-5363,0},{6702,-5347,0}, {6700,-5335,0},{6700,-5322,0},{6698,-5330,0},{6700,-5343,0},{6698,-5362,0}, {6700,-5382,0},{6697,-5382,0},{6693,-5365,0},{6692,-5368,0},{6692,-5365,0}, {6693,-5308,0},{6690,-5305,0},{6690,-5288,0},{6690,-5285,0},{6688,-5275,0}, {6692,-5257,0},{6697,-5252,0},{6698,-5247,0},{6697,-5245,0},{6695,-5250,0}, {6690,-5248,0},{6692,-5228,0},{6688,-5230,0},{6690,-5235,0},{6687,-5247,0}, {6687,-5238,0},{6683,-5235,0},{6683,-5223,0},{6682,-5225,0},{6682,-5233,0}, {6687,-5257,0},{6685,-5287,0},{6683,-5288,0},{6685,-5298,0},{6682,-5308,0}, {6680,-5305,0},{6678,-5310,0},{6677,-5310,0},{6682,-5290,0},{6680,-5282,0}, {6682,-5273,0},{6683,-5268,0},{6682,-5265,0},{6678,-5267,0},{6675,-5285,0}, {6675,-5297,0},{6673,-5312,0},{6675,-5320,0},{6672,-5313,0},{6670,-5297,0}, {6675,-5277,0},{6673,-5270,0},{6673,-5260,0},{6670,-5258,0},{6670,-5263,0}, {6668,-5263,0},{6670,-5277,0},{6668,-5283,0},{6667,-5300,0},{6670,-5327,0}, {6663,-5345,0},{6662,-5343,0},{6660,-5347,0},{6662,-5333,0},{6660,-5333,0}, {6660,-5338,0},{6657,-5343,0},{6655,-5322,0},{6655,-5308,0},{6658,-5295,0}, {6655,-5258,0},{6655,-5242,0},{6652,-5245,0},{6652,-5248,0},{6652,-5272,0}, {6655,-5292,0},{6648,-5317,0},{6652,-5333,0},{6652,-5335,0},{6652,-5322,0}, {6653,-5337,0},{6652,-5348,0},{6653,-5352,0},{6650,-5357,0},{6650,-5362,0}, {6647,-5358,0},{6645,-5365,0},{6643,-5365,0},{6643,-5362,0},{6648,-5353,0}, {6647,-5350,0},{6645,-5357,0},{6640,-5362,0},{6640,-5367,0},{6637,-5368,0}, {6633,-5370,0},{6632,-5363,0},{6628,-5365,0},{6625,-5362,0},{6627,-5337,0}, {6628,-5330,0},{6628,-5323,0},{6628,-5312,0},{6625,-5335,0},{6623,-5350,0}, {6622,-5358,0},{6618,-5357,0},{6613,-5367,0},{6615,-5348,0},{6612,-5365,0}, {6610,-5348,0},{6612,-5330,0},{6620,-5300,0},{6627,-5285,0},{6635,-5272,0}, {6643,-5247,0},{6652,-5213,0},{6665,-5198,0},{6672,-5173,0},{6682,-5152,0}, {6692,-5118,0},{6692,-5108,0},{6698,-5095,0},{6707,-5032,0},{6707,-5028,0}, {6703,-5043,0},{6703,-5055,0},{6702,-5063,0},{6700,-5048,0},{6702,-5032,0}, {6698,-5022,0},{6700,-5008,0},{6698,-5007,0},{6698,-5000,0},{6697,-5003,0}, {6697,-5020,0},{6700,-5033,0},{6698,-5047,0},{6700,-5067,0},{6693,-5095,0}, {6690,-5100,0},{6685,-5083,0},{6685,-5075,0},{6687,-5067,0},{6685,-5052,0}, {6685,-5042,0},{6683,-5033,0},{6683,-5053,0},{6685,-5067,0},{6682,-5080,0}, {6683,-5093,0},{6688,-5112,0},{6687,-5115,0},{6683,-5110,0},{6685,-5120,0}, {6685,-5127,0},{6678,-5137,0},{6675,-5152,0},{6673,-5152,0},{6672,-5143,0}, {6670,-5145,0},{6670,-5158,0},{6663,-5190,0},{6652,-5203,0},{6648,-5197,0}, {6643,-5237,0},{6632,-5270,0},{6627,-5273,0},{6623,-5280,0},{6605,-5342,0}, {6603,-5347,0},{6602,-5343,0},{6603,-5332,0},{6602,-5328,0},{6600,-5330,0}, {6602,-5317,0},{6602,-5310,0},{6600,-5330,0},{6600,-5338,0},{6598,-5347,0}, {6595,-5347,0},{6593,-5338,0},{6593,-5333,0},{6595,-5330,0},{6595,-5325,0}, {6593,-5327,0},{6602,-5297,0},{6602,-5288,0},{6592,-5327,0},{6588,-5315,0}, {6588,-5322,0},{6587,-5323,0},{6585,-5317,0},{6595,-5278,0},{6598,-5280,0}, {6595,-5270,0},{6598,-5262,0},{6602,-5257,0},{6600,-5252,0},{6595,-5260,0}, {6590,-5252,0},{6590,-5232,0},{6600,-5217,0},{6600,-5212,0},{6607,-5178,0}, {6607,-5173,0},{6602,-5187,0},{6597,-5175,0},{6593,-5172,0},{6592,-5173,0}, {6600,-5188,0},{6600,-5197,0},{6593,-5223,0},{6590,-5227,0},{6588,-5222,0}, {6583,-5230,0},{6587,-5233,0},{6588,-5250,0},{6593,-5268,0},{6590,-5283,0}, {6588,-5282,0},{6588,-5288,0},{6585,-5303,0},{6582,-5308,0},{6582,-5302,0}, {6578,-5315,0},{6575,-5322,0},{6575,-5327,0},{6573,-5322,0},{6575,-5312,0}, {6580,-5292,0},{6580,-5287,0},{6575,-5300,0},{6572,-5317,0},{6568,-5323,0}, {6565,-5307,0},{6567,-5293,0},{6568,-5288,0},{6567,-5282,0},{6580,-5268,0}, {6572,-5268,0},{6570,-5265,0},{6570,-5272,0},{6563,-5277,0},{6568,-5257,0}, {6567,-5255,0},{6560,-5280,0},{6562,-5267,0},{6558,-5273,0},{6557,-5275,0}, {6557,-5280,0},{6553,-5280,0},{6552,-5273,0},{6550,-5272,0},{6550,-5268,0}, {6567,-5247,0},{6558,-5252,0},{6553,-5260,0},{6550,-5257,0},{6548,-5262,0}, {6547,-5258,0},{6552,-5245,0},{6543,-5255,0},{6538,-5250,0},{6545,-5238,0}, {6545,-5227,0},{6550,-5218,0},{6550,-5208,0},{6555,-5193,0},{6557,-5192,0}, {6567,-5198,0},{6565,-5192,0},{6577,-5145,0},{6580,-5123,0},{6577,-5107,0}, {6578,-5095,0},{6573,-5083,0},{6575,-5083,0},{6575,-5068,0},{6572,-5067,0}, {6572,-5078,0},{6568,-5075,0},{6572,-5055,0},{6568,-5053,0},{6568,-5072,0}, {6575,-5095,0},{6577,-5125,0},{6575,-5138,0},{6570,-5168,0},{6562,-5190,0}, {6560,-5188,0},{6560,-5177,0},{6558,-5172,0},{6558,-5183,0},{6555,-5185,0}, {6548,-5198,0},{6547,-5215,0},{6542,-5223,0},{6540,-5240,0},{6532,-5257,0}, {6528,-5250,0},{6530,-5248,0},{6530,-5245,0},{6527,-5245,0},{6520,-5253,0}, {6518,-5252,0},{6522,-5243,0},{6533,-5233,0},{6528,-5232,0},{6533,-5222,0}, {6532,-5218,0},{6530,-5222,0},{6528,-5218,0},{6520,-5232,0},{6520,-5230,0}, {6522,-5218,0},{6532,-5200,0},{6517,-5222,0},{6512,-5217,0},{6512,-5210,0}, {6510,-5217,0},{6510,-5223,0},{6508,-5228,0},{6505,-5222,0},{6505,-5217,0}, {6503,-5218,0},{6500,-5217,0},{6502,-5208,0},{6498,-5210,0},{6498,-5202,0}, {6497,-5202,0},{6492,-5222,0},{6488,-5222,0},{6487,-5215,0},{6483,-5218,0}, {6483,-5222,0},{6480,-5222,0},{6480,-5218,0},{6485,-5205,0},{6492,-5205,0}, {6488,-5202,0},{6488,-5195,0},{6483,-5198,0},{6482,-5208,0},{6478,-5208,0}, {6480,-5202,0},{6480,-5198,0},{6483,-5188,0},{6488,-5185,0},{6487,-5178,0}, {6485,-5180,0},{6487,-5175,0},{6490,-5180,0},{6490,-5183,0},{6493,-5182,0}, {6495,-5173,0},{6502,-5170,0},{6502,-5163,0},{6500,-5162,0},{6498,-5155,0}, {6497,-5158,0},{6497,-5165,0},{6492,-5168,0},{6490,-5167,0},{6488,-5170,0}, {6488,-5168,0},{6498,-5138,0},{6500,-5143,0},{6500,-5132,0},{6503,-5127,0}, {6502,-5125,0},{6495,-5142,0},{6485,-5153,0},{6488,-5162,0},{6485,-5165,0}, {6485,-5175,0},{6482,-5188,0},{6480,-5192,0},{6478,-5188,0},{6478,-5193,0}, {6473,-5197,0},{6475,-5205,0},{6472,-5212,0},{6468,-5215,0},{6465,-5213,0}, {6463,-5205,0},{6460,-5205,0},{6460,-5202,0},{6455,-5210,0},{6452,-5210,0}, {6452,-5205,0},{6450,-5203,0},{6448,-5208,0},{6445,-5212,0},{6443,-5208,0}, {6438,-5210,0},{6440,-5203,0},{6435,-5203,0},{6432,-5207,0},{6430,-5202,0}, {6427,-5200,0},{6423,-5203,0},{6420,-5200,0},{6420,-5193,0},{6422,-5193,0}, {6422,-5190,0},{6422,-5182,0},{6425,-5175,0},{6430,-5172,0},{6430,-5167,0}, {6432,-5168,0},{6435,-5167,0},{6437,-5172,0},{6440,-5160,0},{6445,-5155,0}, {6452,-5145,0},{6462,-5142,0},{6465,-5138,0},{6465,-5133,0},{6473,-5130,0}, {6477,-5122,0},{6478,-5115,0},{6478,-5107,0},{6475,-5102,0},{6475,-5110,0}, {6473,-5110,0},{6472,-5115,0},{6463,-5122,0},{6462,-5115,0},{6462,-5103,0}, {6463,-5100,0},{6463,-5107,0},{6467,-5107,0},{6468,-5090,0},{6477,-5072,0}, {6473,-5070,0},{6475,-5063,0},{6478,-5065,0},{6478,-5072,0},{6483,-5065,0}, {6487,-5077,0},{6488,-5072,0},{6490,-5070,0},{6493,-5073,0},{6500,-5073,0}, {6500,-5078,0},{6497,-5085,0},{6498,-5088,0},{6505,-5087,0},{6507,-5088,0}, {6508,-5095,0},{6510,-5088,0},{6513,-5095,0},{6522,-5098,0},{6515,-5088,0}, {6520,-5068,0},{6512,-5083,0},{6510,-5080,0},{6503,-5078,0},{6502,-5068,0}, {6497,-5072,0},{6490,-5068,0},{6487,-5060,0},{6477,-5057,0},{6475,-5038,0}, {6477,-5035,0},{6475,-5030,0},{6483,-5018,0},{6487,-5000,0},{6480,-5013,0}, {6478,-5013,0},{6477,-5018,0},{6473,-5022,0},{6470,-5015,0},{6472,-5008,0}, {6470,-4998,0},{6467,-5005,0},{6467,-5010,0},{6463,-5012,0},{6453,-5007,0}, {6445,-4985,0},{6443,-4982,0},{6443,-4968,0},{6438,-4968,0},{6433,-4958,0}, {6433,-4965,0},{6433,-4970,0},{6438,-4980,0},{6440,-4990,0},{6447,-5013,0}, {6453,-5022,0},{6467,-5028,0},{6472,-5050,0},{6468,-5067,0},{6465,-5060,0}, {6468,-5050,0},{6467,-5045,0},{6465,-5047,0},{6467,-5052,0},{6463,-5057,0}, {6463,-5062,0},{6465,-5080,0},{6463,-5088,0},{6460,-5092,0},{6458,-5085,0}, {6460,-5078,0},{6458,-5072,0},{6458,-5062,0},{6455,-5068,0},{6452,-5063,0}, {6455,-5043,0},{6447,-5065,0},{6442,-5040,0},{6448,-5020,0},{6445,-5017,0}, {6443,-5023,0},{6440,-5025,0},{6440,-5030,0},{6440,-5033,0},{6438,-5037,0}, {6443,-5063,0},{6445,-5070,0},{6440,-5068,0},{6438,-5060,0},{6438,-5058,0}, {6438,-5067,0},{6443,-5078,0},{6440,-5090,0},{6435,-5097,0},{6433,-5095,0}, {6428,-5103,0},{6425,-5098,0},{6427,-5087,0},{6425,-5085,0},{6422,-5095,0}, {6425,-5103,0},{6420,-5113,0},{6417,-5127,0},{6418,-5133,0},{6422,-5145,0}, {6422,-5162,0},{6418,-5177,0},{6418,-5175,0},{6418,-5170,0},{6413,-5168,0}, {6420,-5152,0},{6417,-5140,0},{6413,-5135,0},{6417,-5153,0},{6412,-5165,0}, {6408,-5155,0},{6408,-5147,0},{6408,-5145,0},{6412,-5107,0},{6417,-5083,0}, {6422,-5075,0},{6423,-5060,0},{6427,-5057,0},{6430,-5047,0},{6433,-5043,0}, {6435,-5037,0},{6435,-5033,0},{6425,-5048,0},{6418,-5055,0},{6423,-5015,0}, {6423,-5012,0},{6422,-5013,0},{6420,-5005,0},{6415,-5008,0},{6410,-5005,0}, {6408,-5007,0},{6418,-5010,0},{6420,-5020,0},{6417,-5033,0},{6417,-5040,0}, {6413,-5045,0},{6415,-5050,0},{6417,-5067,0},{6410,-5087,0},{6410,-5098,0}, {6407,-5103,0},{6408,-5112,0},{6405,-5138,0},{6402,-5130,0},{6400,-5132,0}, {6403,-5143,0},{6405,-5157,0},{6402,-5165,0},{6397,-5150,0},{6398,-5142,0}, {6397,-5137,0},{6395,-5145,0},{6390,-5137,0},{6388,-5140,0},{6383,-5140,0}, {6385,-5145,0},{6385,-5148,0},{6380,-5143,0},{6382,-5130,0},{6390,-5115,0}, {6393,-5098,0},{6393,-5092,0},{6383,-5122,0},{6380,-5122,0},{6378,-5140,0}, {6377,-5153,0},{6370,-5155,0},{6373,-5145,0},{6372,-5135,0},{6368,-5153,0}, {6362,-5138,0},{6362,-5130,0},{6358,-5138,0},{6353,-5142,0},{6353,-5138,0}, {6355,-5138,0},{6355,-5128,0},{6350,-5117,0},{6352,-5113,0},{6362,-5118,0}, {6367,-5108,0},{6363,-5088,0},{6365,-5072,0},{6367,-5050,0},{6360,-5055,0}, {6363,-5057,0},{6365,-5058,0},{6360,-5090,0},{6365,-5105,0},{6362,-5110,0}, {6362,-5113,0},{6358,-5115,0},{6352,-5110,0},{6355,-5080,0},{6355,-5075,0}, {6353,-5077,0},{6348,-5115,0},{6343,-5122,0},{6342,-5120,0},{6343,-5118,0}, {6343,-5113,0},{6338,-5117,0},{6337,-5113,0},{6338,-5110,0},{6348,-5103,0}, {6347,-5100,0},{6337,-5108,0},{6338,-5095,0},{6337,-5087,0},{6340,-5080,0}, {6338,-5078,0},{6338,-5058,0},{6342,-5038,0},{6340,-5028,0},{6340,-5038,0}, {6338,-5047,0},{6337,-5058,0},{6337,-5067,0},{6335,-5083,0},{6335,-5105,0}, {6333,-5110,0},{6330,-5110,0},{6328,-5108,0},{6328,-5100,0},{6327,-5107,0}, {6323,-5107,0},{6327,-5100,0},{6325,-5095,0},{6323,-5097,0},{6323,-5100,0}, {6322,-5105,0},{6318,-5107,0},{6315,-5100,0},{6323,-5083,0},{6325,-5078,0}, {6317,-5093,0},{6313,-5090,0},{6320,-5078,0},{6320,-5073,0},{6322,-5068,0}, {6320,-5062,0},{6323,-5055,0},{6320,-5050,0},{6318,-5052,0},{6318,-5047,0}, {6322,-5037,0},{6323,-5037,0},{6322,-5028,0},{6323,-5023,0},{6322,-5005,0}, {6318,-5038,0},{6317,-5045,0},{6315,-5042,0},{6313,-5043,0},{6312,-5053,0}, {6310,-5053,0},{6310,-5057,0},{6310,-5060,0},{6307,-5058,0},{6303,-5062,0}, {6302,-5055,0},{6305,-5055,0},{6305,-5052,0},{6302,-5050,0},{6297,-5062,0}, {6297,-5055,0},{6295,-5053,0},{6298,-5050,0},{6295,-5047,0},{6293,-5042,0}, {6297,-5028,0},{6305,-5025,0},{6302,-5015,0},{6300,-5017,0},{6298,-5023,0}, {6295,-5027,0},{6293,-5032,0},{6285,-5040,0},{6282,-5035,0},{6278,-5038,0}, {6278,-5035,0},{6283,-5032,0},{6285,-5028,0},{6287,-5027,0},{6295,-5017,0}, {6298,-4997,0},{6307,-4980,0},{6305,-4970,0},{6300,-4983,0},{6293,-5013,0}, {6287,-5020,0},{6285,-5025,0},{6275,-5032,0},{6270,-5027,0},{6277,-5017,0}, {6280,-5018,0},{6280,-5015,0},{6278,-5015,0},{6288,-4992,0},{6288,-4988,0}, {6287,-4992,0},{6285,-4990,0},{6278,-5005,0},{6275,-5007,0},{6270,-5012,0}, {6270,-5017,0},{6267,-5022,0},{6263,-5022,0},{6258,-5027,0},{6248,-5032,0}, {6245,-5023,0},{6240,-5020,0},{6235,-5003,0},{6230,-5000,0},{6230,-4997,0}, {6237,-4992,0},{6228,-4988,0},{6228,-4982,0},{6230,-4980,0},{6227,-4980,0}, {6227,-4987,0},{6225,-4985,0},{6225,-4988,0},{6223,-4983,0},{6225,-4980,0}, {6227,-4972,0},{6225,-4962,0},{6230,-4955,0},{6225,-4957,0},{6227,-4945,0}, {6225,-4935,0},{6227,-4928,0},{6223,-4935,0},{6225,-4947,0},{6223,-4952,0}, {6223,-4957,0},{6218,-4960,0},{6215,-4968,0},{6215,-4947,0},{6220,-4940,0}, {6222,-4937,0},{6220,-4935,0},{6217,-4937,0},{6218,-4930,0},{6213,-4928,0}, {6212,-4943,0},{6208,-4933,0},{6212,-4958,0},{6212,-4970,0},{6208,-4968,0}, {6210,-4963,0},{6207,-4960,0},{6208,-4952,0},{6208,-4947,0},{6205,-4962,0}, {6202,-4953,0},{6203,-4967,0},{6202,-4970,0},{6200,-4967,0},{6198,-4960,0}, {6198,-4955,0},{6202,-4947,0},{6207,-4940,0},{6205,-4938,0},{6202,-4942,0}, {6202,-4935,0},{6200,-4943,0},{6198,-4942,0},{6198,-4933,0},{6202,-4925,0}, {6202,-4917,0},{6210,-4915,0},{6217,-4910,0},{6222,-4903,0},{6220,-4902,0}, {6208,-4910,0},{6208,-4907,0},{6213,-4897,0},{6212,-4897,0},{6208,-4902,0}, {6207,-4893,0},{6207,-4883,0},{6205,-4890,0},{6205,-4898,0},{6197,-4915,0}, {6197,-4927,0},{6193,-4940,0},{6193,-4933,0},{6192,-4938,0},{6188,-4940,0}, {6187,-4938,0},{6185,-4943,0},{6183,-4942,0},{6182,-4943,0},{6180,-4938,0}, {6182,-4933,0},{6188,-4928,0},{6190,-4922,0},{6190,-4918,0},{6188,-4922,0}, {6177,-4935,0},{6172,-4925,0},{6172,-4923,0},{6175,-4918,0},{6183,-4918,0}, {6195,-4900,0},{6198,-4888,0},{6198,-4880,0},{6198,-4875,0},{6195,-4875,0}, {6193,-4890,0},{6188,-4895,0},{6187,-4902,0},{6185,-4900,0},{6183,-4910,0}, {6180,-4912,0},{6177,-4910,0},{6172,-4915,0},{6173,-4902,0},{6178,-4888,0}, {6175,-4892,0},{6172,-4888,0},{6173,-4893,0},{6168,-4907,0},{6162,-4905,0}, {6165,-4893,0},{6160,-4898,0},{6160,-4895,0},{6163,-4873,0},{6165,-4867,0}, {6163,-4858,0},{6160,-4868,0},{6158,-4892,0},{6160,-4908,0},{6160,-4925,0}, {6158,-4927,0},{6158,-4922,0},{6155,-4930,0},{6153,-4923,0},{6155,-4912,0}, {6153,-4905,0},{6152,-4910,0},{6150,-4912,0},{6148,-4910,0},{6148,-4900,0}, {6148,-4898,0},{6145,-4902,0},{6155,-4853,0},{6160,-4835,0},{6158,-4832,0}, {6157,-4833,0},{6153,-4848,0},{6155,-4828,0},{6155,-4823,0},{6153,-4823,0}, {6150,-4857,0},{6145,-4873,0},{6147,-4883,0},{6140,-4907,0},{6140,-4893,0}, {6135,-4898,0},{6140,-4890,0},{6140,-4885,0},{6137,-4887,0},{6138,-4880,0}, {6143,-4865,0},{6140,-4867,0},{6138,-4860,0},{6140,-4857,0},{6138,-4855,0}, {6137,-4838,0},{6137,-4833,0},{6135,-4835,0},{6135,-4848,0},{6130,-4850,0}, {6132,-4843,0},{6130,-4838,0},{6128,-4850,0},{6128,-4858,0},{6123,-4863,0}, {6120,-4863,0},{6125,-4857,0},{6127,-4850,0},{6125,-4855,0},{6122,-4857,0}, {6123,-4852,0},{6118,-4853,0},{6118,-4848,0},{6117,-4847,0},{6120,-4837,0}, {6118,-4837,0},{6122,-4830,0},{6117,-4832,0},{6115,-4843,0},{6113,-4842,0}, {6112,-4832,0},{6113,-4822,0},{6117,-4828,0},{6123,-4825,0},{6125,-4818,0}, {6132,-4815,0},{6130,-4812,0},{6133,-4800,0},{6132,-4792,0},{6130,-4808,0}, {6127,-4812,0},{6127,-4810,0},{6123,-4812,0},{6120,-4822,0},{6113,-4815,0}, {6118,-4805,0},{6115,-4805,0},{6112,-4812,0},{6108,-4808,0},{6110,-4802,0}, {6110,-4797,0},{6113,-4788,0},{6118,-4782,0},{6118,-4777,0},{6108,-4793,0}, {6105,-4792,0},{6108,-4785,0},{6105,-4783,0},{6103,-4785,0},{6105,-4802,0}, {6100,-4815,0},{6102,-4823,0},{6100,-4840,0},{6098,-4837,0},{6100,-4827,0}, {6098,-4817,0},{6097,-4815,0},{6098,-4810,0},{6097,-4807,0},{6098,-4803,0}, {6098,-4797,0},{6102,-4792,0},{6100,-4785,0},{6100,-4768,0},{6098,-4773,0}, {6097,-4773,0},{6095,-4788,0},{6090,-4798,0},{6092,-4802,0},{6087,-4817,0}, {6083,-4823,0},{6082,-4823,0},{6082,-4820,0},{6082,-4807,0},{6088,-4793,0}, {6087,-4792,0},{6085,-4795,0},{6083,-4793,0},{6083,-4787,0},{6082,-4780,0}, {6083,-4777,0},{6082,-4765,0},{6083,-4753,0},{6082,-4745,0},{6087,-4733,0}, {6088,-4735,0},{6088,-4748,0},{6087,-4753,0},{6088,-4762,0},{6085,-4775,0}, {6088,-4773,0},{6087,-4785,0},{6092,-4775,0},{6090,-4773,0},{6090,-4765,0}, {6088,-4753,0},{6090,-4750,0},{6090,-4755,0},{6093,-4747,0},{6093,-4737,0}, {6095,-4730,0},{6090,-4727,0},{6090,-4725,0},{6093,-4717,0},{6098,-4702,0}, {6097,-4700,0},{6093,-4708,0},{6095,-4695,0},{6093,-4692,0},{6087,-4705,0}, {6083,-4703,0},{6083,-4700,0},{6087,-4697,0},{6088,-4685,0},{6082,-4698,0}, {6082,-4697,0},{6083,-4690,0},{6082,-4688,0},{6080,-4693,0},{6080,-4685,0}, {6085,-4672,0},{6088,-4670,0},{6093,-4688,0},{6093,-4678,0},{6090,-4670,0}, {6095,-4675,0},{6090,-4665,0},{6093,-4663,0},{6090,-4658,0},{6098,-4665,0}, {6098,-4660,0},{6095,-4655,0},{6098,-4655,0},{6100,-4658,0},{6103,-4655,0}, {6100,-4647,0},{6100,-4642,0},{6105,-4647,0},{6103,-4642,0},{6103,-4638,0}, {6108,-4640,0},{6107,-4635,0},{6105,-4632,0},{6105,-4627,0},{6098,-4625,0}, {6097,-4623,0},{6100,-4613,0},{6102,-4612,0},{6105,-4618,0},{6108,-4630,0}, {6108,-4618,0},{6105,-4615,0},{6105,-4607,0},{6108,-4592,0},{6113,-4595,0}, {6113,-4585,0},{6117,-4585,0},{6120,-4592,0},{6118,-4595,0},{6122,-4598,0}, {6125,-4612,0},{6127,-4605,0},{6123,-4600,0},{6123,-4593,0},{6130,-4587,0}, {6133,-4580,0},{6132,-4572,0},{6127,-4582,0},{6122,-4587,0},{6118,-4578,0}, {6113,-4577,0},{6117,-4572,0},{6115,-4563,0},{6113,-4562,0},{6113,-4573,0}, {6112,-4568,0},{6108,-4578,0},{6108,-4568,0},{6107,-4570,0},{6105,-4588,0}, {6097,-4610,0},{6095,-4608,0},{6093,-4603,0},{6092,-4607,0},{6092,-4603,0}, {6097,-4583,0},{6095,-4580,0},{6102,-4560,0},{6110,-4548,0},{6117,-4552,0}, {6120,-4550,0},{6125,-4552,0},{6120,-4543,0},{6117,-4545,0},{6108,-4537,0}, {6120,-4522,0},{6118,-4520,0},{6115,-4525,0},{6110,-4525,0},{6105,-4543,0}, {6098,-4548,0},{6093,-4572,0},{6093,-4587,0},{6090,-4598,0},{6082,-4620,0}, {6080,-4617,0},{6083,-4605,0},{6088,-4600,0},{6087,-4595,0},{6090,-4587,0}, {6087,-4587,0},{6083,-4598,0},{6080,-4605,0},{6078,-4620,0},{6077,-4622,0}, {6072,-4615,0},{6072,-4605,0},{6073,-4600,0},{6078,-4600,0},{6083,-4597,0}, {6083,-4593,0},{6083,-4592,0},{6085,-4588,0},{6083,-4575,0},{6077,-4588,0}, {6075,-4588,0},{6075,-4582,0},{6077,-4577,0},{6077,-4570,0},{6088,-4548,0}, {6092,-4548,0},{6095,-4538,0},{6100,-4542,0},{6100,-4538,0},{6098,-4533,0}, {6092,-4537,0},{6093,-4528,0},{6090,-4525,0},{6088,-4540,0},{6080,-4553,0}, {6078,-4562,0},{6077,-4562,0},{6077,-4558,0},{6073,-4570,0},{6070,-4580,0}, {6070,-4585,0},{6067,-4573,0},{6070,-4560,0},{6070,-4558,0},{6058,-4598,0}, {6057,-4590,0},{6052,-4587,0},{6057,-4585,0},{6055,-4582,0},{6055,-4580,0}, {6060,-4580,0},{6062,-4578,0},{6065,-4562,0},{6058,-4573,0},{6057,-4568,0}, {6058,-4562,0},{6060,-4563,0},{6060,-4562,0},{6057,-4558,0},{6053,-4568,0}, {6052,-4567,0},{6053,-4560,0},{6052,-4562,0},{6047,-4557,0},{6053,-4552,0}, {6058,-4552,0},{6057,-4547,0},{6062,-4547,0},{6065,-4537,0},{6072,-4537,0}, {6072,-4532,0},{6067,-4530,0},{6068,-4520,0},{6072,-4512,0},{6067,-4517,0}, {6060,-4537,0},{6055,-4540,0},{6050,-4550,0},{6055,-4528,0},{6060,-4527,0}, {6058,-4522,0},{6060,-4520,0},{6063,-4523,0},{6062,-4517,0},{6065,-4507,0}, {6055,-4522,0},{6050,-4527,0},{6048,-4525,0},{6045,-4528,0},{6043,-4522,0}, {6047,-4515,0},{6048,-4502,0},{6060,-4483,0},{6067,-4482,0},{6070,-4473,0}, {6072,-4472,0},{6073,-4463,0},{6072,-4463,0},{6070,-4470,0},{6067,-4477,0}, {6058,-4477,0},{6047,-4495,0},{6045,-4492,0},{6047,-4485,0},{6037,-4493,0}, {6033,-4495,0},{6033,-4492,0},{6025,-4512,0},{6018,-4520,0},{6017,-4520,0}, {6018,-4517,0},{6013,-4520,0},{6013,-4517,0},{6020,-4508,0},{6018,-4495,0}, {6022,-4488,0},{6027,-4485,0},{6028,-4480,0},{6035,-4475,0},{6038,-4465,0}, {6047,-4460,0},{6050,-4452,0},{6055,-4448,0},{6057,-4447,0},{6052,-4447,0}, {6048,-4450,0},{6047,-4453,0},{6045,-4453,0},{6042,-4460,0},{6038,-4462,0}, {6032,-4473,0},{6027,-4473,0},{6023,-4482,0},{6020,-4483,0},{6022,-4477,0}, {6020,-4477,0},{6017,-4508,0},{6013,-4507,0},{6008,-4517,0},{6007,-4512,0}, {6007,-4510,0},{6010,-4512,0},{6008,-4507,0},{6010,-4505,0},{6010,-4502,0}, {6008,-4495,0},{6007,-4497,0},{6005,-4495,0},{6003,-4497,0},{6003,-4487,0}, {6002,-4483,0},{6010,-4493,0},{6015,-4490,0},{6015,-4487,0},{6015,-4485,0}, {6012,-4488,0},{6002,-4480,0},{6000,-4477,0},{6000,-4472,0},{6008,-4470,0}, {6010,-4467,0},{6000,-4467,0},{5998,-4460,0},{6003,-4452,0},{6015,-4445,0}, {6015,-4432,0},{6018,-4427,0},{6020,-4427,0},{6023,-4432,0},{6022,-4425,0}, {6023,-4422,0},{6033,-4427,0},{6032,-4423,0},{6025,-4417,0},{6028,-4408,0}, {6038,-4410,0},{6037,-4407,0},{6032,-4405,0},{6030,-4400,0},{6023,-4415,0}, {6017,-4417,0},{6018,-4413,0},{6018,-4407,0},{6017,-4383,0},{6017,-4373,0}, {6015,-4367,0},{6018,-4363,0},{6013,-4358,0},{6008,-4327,0},{6008,-4313,0}, {6010,-4310,0},{6012,-4308,0},{6013,-4312,0},{6012,-4315,0},{6013,-4322,0}, {6017,-4320,0},{6015,-4312,0},{6017,-4313,0},{6018,-4312,0},{6018,-4317,0}, {6020,-4312,0},{6020,-4313,0},{6022,-4333,0},{6025,-4323,0},{6023,-4312,0}, {6025,-4308,0},{6027,-4318,0},{6028,-4312,0},{6032,-4310,0},{6033,-4313,0}, {6032,-4318,0},{6035,-4328,0},{6035,-4332,0},{6037,-4335,0},{6035,-4317,0}, {6037,-4315,0},{6038,-4322,0},{6040,-4317,0},{6040,-4323,0},{6038,-4337,0}, {6037,-4340,0},{6033,-4335,0},{6035,-4343,0},{6030,-4360,0},{6037,-4347,0}, {6038,-4348,0},{6042,-4333,0},{6043,-4332,0},{6045,-4333,0},{6048,-4350,0}, {6052,-4377,0},{6050,-4380,0},{6045,-4377,0},{6045,-4382,0},{6047,-4380,0}, {6053,-4385,0},{6058,-4418,0},{6060,-4420,0},{6060,-4415,0},{6063,-4420,0}, {6063,-4413,0},{6060,-4412,0},{6058,-4405,0},{6058,-4393,0},{6055,-4363,0}, {6057,-4362,0},{6068,-4370,0},{6072,-4370,0},{6063,-4365,0},{6053,-4355,0}, {6047,-4320,0},{6048,-4315,0},{6052,-4328,0},{6055,-4332,0},{6053,-4323,0}, {6055,-4320,0},{6053,-4317,0},{6050,-4308,0},{6052,-4303,0},{6053,-4313,0}, {6053,-4298,0},{6057,-4292,0},{6057,-4283,0},{6058,-4285,0},{6058,-4310,0}, {6060,-4315,0},{6060,-4283,0},{6063,-4282,0},{6068,-4275,0},{6068,-4282,0}, {6063,-4292,0},{6062,-4290,0},{6062,-4292,0},{6065,-4323,0},{6067,-4327,0}, {6065,-4295,0},{6072,-4277,0},{6075,-4278,0},{6075,-4292,0},{6078,-4297,0}, {6080,-4312,0},{6078,-4320,0},{6078,-4327,0},{6080,-4327,0},{6082,-4350,0}, {6083,-4353,0},{6085,-4350,0},{6082,-4312,0},{6078,-4292,0},{6080,-4278,0}, {6082,-4278,0},{6082,-4285,0},{6083,-4288,0},{6085,-4305,0},{6085,-4312,0}, {6087,-4310,0},{6090,-4328,0},{6090,-4348,0},{6093,-4348,0},{6095,-4347,0}, {6088,-4298,0},{6090,-4297,0},{6093,-4273,0},{6095,-4280,0},{6100,-4282,0}, {6102,-4278,0},{6098,-4270,0},{6098,-4267,0},{6100,-4267,0},{6100,-4268,0}, {6103,-4267,0},{6103,-4277,0},{6105,-4270,0},{6107,-4278,0},{6105,-4282,0}, {6107,-4285,0},{6107,-4293,0},{6105,-4300,0},{6107,-4298,0},{6108,-4303,0}, {6108,-4313,0},{6110,-4317,0},{6110,-4335,0},{6113,-4362,0},{6113,-4353,0}, {6112,-4330,0},{6113,-4315,0},{6110,-4293,0},{6112,-4288,0},{6110,-4282,0}, {6110,-4263,0},{6115,-4270,0},{6115,-4277,0},{6117,-4288,0},{6122,-4318,0}, {6120,-4297,0},{6122,-4293,0},{6120,-4285,0},{6118,-4282,0},{6118,-4277,0}, {6120,-4265,0},{6120,-4258,0},{6122,-4258,0},{6122,-4263,0},{6125,-4267,0}, {6127,-4272,0},{6125,-4278,0},{6125,-4290,0},{6127,-4288,0},{6127,-4278,0}, {6128,-4278,0},{6130,-4290,0},{6133,-4322,0},{6133,-4325,0},{6135,-4315,0}, {6133,-4297,0},{6135,-4288,0},{6130,-4275,0},{6128,-4267,0},{6128,-4263,0}, {6132,-4268,0},{6132,-4258,0},{6135,-4260,0},{6135,-4252,0},{6140,-4247,0}, {6142,-4240,0},{6143,-4243,0},{6143,-4247,0},{6143,-4253,0},{6148,-4255,0}, {6153,-4252,0},{6153,-4287,0},{6152,-4293,0},{6155,-4295,0},{6160,-4308,0}, {6155,-4263,0},{6157,-4250,0},{6155,-4245,0},{6157,-4243,0},{6162,-4247,0}, {6160,-4237,0},{6163,-4245,0},{6162,-4233,0},{6163,-4232,0},{6165,-4240,0}, {6168,-4240,0},{6172,-4225,0},{6172,-4232,0},{6168,-4242,0},{6170,-4248,0}, {6170,-4260,0},{6178,-4278,0},{6177,-4285,0},{6177,-4287,0},{6182,-4277,0}, {6173,-4258,0},{6173,-4247,0},{6175,-4235,0},{6177,-4230,0},{6187,-4218,0}, {6187,-4225,0},{6188,-4223,0},{6188,-4233,0},{6192,-4242,0},{6192,-4220,0}, {6200,-4212,0},{6202,-4215,0},{6202,-4233,0},{6195,-4248,0},{6195,-4255,0}, {6202,-4242,0},{6203,-4252,0},{6205,-4248,0},{6205,-4242,0},{6207,-4238,0}, {6208,-4240,0},{6210,-4230,0},{6215,-4233,0},{6222,-4225,0},{6225,-4227,0}, {6227,-4233,0},{6230,-4227,0},{6232,-4235,0},{6233,-4242,0},{6233,-4263,0}, {6237,-4263,0},{6242,-4273,0},{6247,-4292,0},{6247,-4297,0},{6252,-4298,0}, {6250,-4283,0},{6248,-4278,0},{6250,-4275,0},{6250,-4272,0},{6247,-4268,0}, {6245,-4260,0},{6242,-4253,0},{6242,-4248,0},{6240,-4247,0},{6237,-4232,0}, {6237,-4228,0},{6237,-4225,0},{6238,-4217,0},{6238,-4228,0},{6240,-4223,0}, {6243,-4225,0},{6243,-4235,0},{6242,-4238,0},{6247,-4255,0},{6248,-4255,0}, {6248,-4248,0},{6253,-4255,0},{6247,-4242,0},{6247,-4237,0},{6248,-4233,0}, {6257,-4237,0},{6257,-4243,0},{6263,-4260,0},{6262,-4268,0},{6258,-4268,0}, {6262,-4273,0},{6263,-4273,0},{6265,-4278,0},{6268,-4298,0},{6268,-4312,0}, {6272,-4312,0},{6275,-4315,0},{6277,-4312,0},{6272,-4303,0},{6270,-4288,0}, {6270,-4280,0},{6268,-4270,0},{6278,-4270,0},{6272,-4265,0},{6268,-4265,0}, {6270,-4257,0},{6273,-4262,0},{6277,-4260,0},{6270,-4248,0},{6282,-4258,0}, {6282,-4253,0},{6277,-4248,0},{6282,-4242,0},{6283,-4242,0},{6283,-4258,0}, {6287,-4260,0},{6287,-4245,0},{6292,-4243,0},{6292,-4240,0},{6293,-4230,0}, {6293,-4228,0},{6288,-4237,0},{6288,-4235,0},{6288,-4225,0},{6285,-4235,0}, {6280,-4232,0},{6282,-4222,0},{6278,-4203,0},{6287,-4202,0},{6285,-4198,0}, {6283,-4188,0},{6282,-4185,0},{6283,-4175,0},{6287,-4175,0},{6287,-4182,0}, {6288,-4177,0},{6293,-4178,0},{6292,-4173,0},{6292,-4165,0},{6293,-4162,0}, {6298,-4162,0},{6298,-4168,0},{6302,-4177,0},{6302,-4200,0},{6305,-4200,0}, {6308,-4208,0},{6310,-4220,0},{6313,-4213,0},{6320,-4217,0},{6320,-4213,0}, {6318,-4208,0},{6310,-4203,0},{6307,-4197,0},{6307,-4193,0},{6310,-4197,0}, {6310,-4190,0},{6305,-4183,0},{6303,-4173,0},{6303,-4170,0},{6305,-4177,0}, {6307,-4175,0},{6303,-4167,0},{6303,-4155,0},{6305,-4155,0},{6312,-4165,0}, {6325,-4202,0},{6320,-4180,0},{6313,-4162,0},{6308,-4155,0},{6313,-4143,0}, {6315,-4148,0},{6322,-4147,0},{6325,-4157,0},{6328,-4160,0},{6332,-4165,0}, {6330,-4177,0},{6332,-4175,0},{6333,-4180,0},{6335,-4180,0},{6333,-4170,0}, {6335,-4168,0},{6338,-4175,0},{6340,-4185,0},{6347,-4190,0},{6352,-4175,0}, {6355,-4175,0},{6355,-4172,0},{6343,-4157,0},{6342,-4142,0},{6337,-4137,0}, {6337,-4128,0},{6330,-4112,0},{6335,-4117,0},{6337,-4127,0},{6343,-4138,0}, {6348,-4158,0},{6348,-4150,0},{6353,-4150,0},{6347,-4143,0},{6340,-4123,0}, {6357,-4142,0},{6345,-4120,0},{6338,-4118,0},{6338,-4112,0},{6340,-4100,0}, {6342,-4102,0},{6343,-4112,0},{6345,-4117,0},{6350,-4122,0},{6353,-4128,0}, {6357,-4128,0},{6353,-4120,0},{6347,-4112,0},{6345,-4107,0},{6345,-4100,0}, {6350,-4105,0},{6352,-4113,0},{6350,-4105,0},{6352,-4100,0},{6355,-4102,0}, {6352,-4095,0},{6353,-4093,0},{6350,-4087,0},{6353,-4085,0},{6350,-4082,0}, {6352,-4075,0},{6358,-4073,0},{6358,-4078,0},{6357,-4082,0},{6358,-4088,0}, {6360,-4085,0},{6365,-4090,0},{6368,-4110,0},{6370,-4123,0},{6377,-4143,0}, {6377,-4152,0},{6375,-4157,0},{6377,-4162,0},{6378,-4163,0},{6382,-4152,0}, {6387,-4148,0},{6385,-4143,0},{6378,-4135,0},{6370,-4095,0},{6367,-4072,0}, {6370,-4068,0},{6370,-4063,0},{6368,-4063,0},{6368,-4055,0},{6370,-4052,0}, {6375,-4053,0},{6375,-4058,0},{6378,-4058,0},{6380,-4062,0},{6383,-4057,0}, {6387,-4060,0},{6392,-4062,0},{6393,-4067,0},{6393,-4080,0},{6395,-4083,0}, {6397,-4073,0},{6398,-4072,0},{6397,-4067,0},{6397,-4060,0},{6400,-4065,0}, {6407,-4053,0},{6412,-4057,0},{6413,-4067,0},{6415,-4070,0},{6417,-4088,0}, {6415,-4097,0},{6410,-4093,0},{6408,-4098,0},{6413,-4105,0},{6417,-4138,0}, {6422,-4145,0},{6425,-4145,0},{6425,-4148,0},{6425,-4153,0},{6427,-4157,0}, {6432,-4152,0},{6435,-4133,0},{6432,-4133,0},{6433,-4125,0},{6430,-4108,0}, {6433,-4093,0},{6438,-4080,0},{6437,-4077,0},{6438,-4072,0},{6437,-4067,0}, {6438,-4065,0},{6438,-4062,0},{6437,-4062,0},{6435,-4053,0},{6432,-4053,0}, {6435,-4047,0},{6433,-4042,0},{6435,-4037,0},{6440,-4038,0},{6447,-4063,0}, {6450,-4057,0},{6468,-4060,0},{6468,-4068,0},{6473,-4070,0},{6477,-4083,0}, {6482,-4090,0},{6482,-4098,0},{6483,-4098,0},{6483,-4092,0},{6485,-4088,0}, {6485,-4098,0},{6488,-4107,0},{6495,-4115,0},{6498,-4113,0},{6495,-4100,0}, {6497,-4098,0},{6505,-4105,0},{6508,-4113,0},{6512,-4112,0},{6513,-4108,0}, {6508,-4102,0},{6508,-4092,0},{6505,-4085,0},{6510,-4087,0},{6508,-4078,0}, {6502,-4070,0},{6513,-4067,0},{6515,-4062,0},{6512,-4060,0},{6503,-4042,0}, {6503,-4037,0},{6508,-4042,0},{6508,-4038,0},{6500,-4027,0},{6503,-4023,0}, {6502,-4015,0},{6507,-4017,0},{6508,-4015,0},{6508,-3995,0},{6510,-3997,0}, {6510,-4005,0},{6513,-4007,0},{6513,-4012,0},{6517,-4012,0},{6517,-4008,0}, {6515,-4002,0},{6515,-3995,0},{6517,-3992,0},{6518,-4003,0},{6518,-3993,0}, {6525,-3992,0},{6523,-3987,0},{6525,-3975,0},{6530,-3983,0},{6527,-3983,0}, {6527,-3988,0},{6532,-3987,0},{6535,-3995,0},{6537,-3988,0},{6542,-3988,0}, {6540,-3982,0},{6540,-3978,0},{6542,-3980,0},{6542,-3985,0},{6545,-3990,0}, {6543,-3998,0},{6545,-4012,0},{6548,-4020,0},{6550,-4022,0},{6552,-4013,0}, {6548,-4005,0},{6555,-4012,0},{6557,-4008,0},{6558,-4003,0},{6555,-3998,0}, {6550,-3982,0},{6555,-3982,0},{6553,-3973,0},{6553,-3970,0},{6557,-3973,0}, {6558,-3983,0},{6558,-3975,0},{6562,-3978,0},{6563,-3973,0},{6562,-3963,0}, {6565,-3972,0},{6568,-3967,0},{6565,-3958,0},{6567,-3952,0},{6562,-3955,0}, {6560,-3950,0},{6555,-3947,0},{6553,-3942,0},{6555,-3937,0},{6558,-3938,0}, {6563,-3935,0},{6553,-3933,0},{6562,-3930,0},{6558,-3925,0},{6557,-3922,0}, {6560,-3920,0},{6568,-3928,0},{6570,-3937,0},{6575,-3935,0},{6570,-3932,0}, {6570,-3923,0},{6565,-3913,0},{6555,-3907,0},{6558,-3895,0},{6557,-3897,0}, {6557,-3890,0},{6562,-3883,0},{6558,-3877,0},{6558,-3865,0},{6557,-3862,0}, {6563,-3863,0},{6563,-3872,0},{6567,-3878,0},{6568,-3878,0},{6570,-3875,0}, {6565,-3867,0},{6567,-3863,0},{6568,-3865,0},{6568,-3860,0},{6563,-3860,0}, {6563,-3857,0},{6570,-3853,0},{6567,-3850,0},{6568,-3845,0},{6567,-3845,0}, {6565,-3850,0},{6558,-3850,0},{6562,-3843,0},{6567,-3842,0},{6565,-3840,0}, {6565,-3833,0},{6563,-3823,0},{6567,-3820,0},{6570,-3825,0},{6568,-3818,0}, {6573,-3815,0},{6577,-3818,0},{6577,-3812,0},{6580,-3810,0},{6583,-3817,0}, {6583,-3828,0},{6585,-3828,0},{6592,-3845,0},{6602,-3848,0},{6602,-3845,0}, {6602,-3840,0},{6597,-3833,0},{6593,-3835,0},{6590,-3828,0},{6590,-3815,0}, {6593,-3815,0},{6595,-3820,0},{6597,-3818,0},{6597,-3813,0},{6595,-3812,0}, {6597,-3807,0},{6592,-3807,0},{6593,-3800,0},{6597,-3797,0},{6603,-3800,0}, {6605,-3795,0},{6608,-3795,0},{6608,-3808,0},{6610,-3812,0},{6612,-3810,0}, {6610,-3807,0},{6612,-3798,0},{6615,-3793,0},{6617,-3787,0},{6620,-3785,0}, {6620,-3790,0},{6623,-3800,0},{6625,-3795,0},{6623,-3792,0},{6625,-3780,0}, {6622,-3782,0},{6622,-3778,0},{6627,-3770,0},{6630,-3778,0},{6633,-3813,0}, {6635,-3815,0},{6638,-3810,0},{6638,-3797,0},{6637,-3793,0},{6637,-3787,0}, {6645,-3785,0},{6638,-3782,0},{6632,-3760,0},{6632,-3755,0},{6635,-3748,0}, {6632,-3740,0},{6633,-3718,0},{6632,-3718,0},{6628,-3730,0},{6617,-3755,0}, {6612,-3755,0},{6610,-3763,0},{6607,-3765,0},{6607,-3773,0},{6605,-3780,0}, {6600,-3780,0},{6597,-3773,0},{6588,-3785,0},{6588,-3782,0},{6592,-3777,0}, {6592,-3772,0},{6593,-3768,0},{6583,-3740,0},{6577,-3720,0},{6578,-3717,0}, {6582,-3727,0},{6583,-3725,0},{6580,-3715,0},{6582,-3712,0},{6585,-3708,0}, {6590,-3723,0},{6590,-3712,0},{6595,-3717,0},{6597,-3713,0},{6600,-3717,0}, {6602,-3715,0},{6598,-3710,0},{6602,-3710,0},{6607,-3708,0},{6605,-3703,0}, {6593,-3710,0},{6588,-3702,0},{6585,-3703,0},{6583,-3698,0},{6588,-3685,0}, {6592,-3683,0},{6592,-3687,0},{6592,-3690,0},{6593,-3690,0},{6593,-3675,0}, {6598,-3652,0},{6605,-3648,0},{6605,-3657,0},{6607,-3657,0},{6608,-3653,0}, {6607,-3643,0},{6608,-3638,0},{6608,-3635,0},{6602,-3640,0},{6592,-3637,0}, {6592,-3633,0},{6597,-3632,0},{6598,-3635,0},{6598,-3630,0},{6600,-3627,0}, {6595,-3627,0},{6597,-3620,0},{6593,-3622,0},{6593,-3618,0},{6595,-3613,0}, {6593,-3612,0},{6593,-3607,0},{6597,-3603,0},{6602,-3590,0},{6603,-3592,0}, {6605,-3587,0},{6607,-3593,0},{6607,-3588,0},{6608,-3592,0},{6607,-3582,0}, {6608,-3572,0},{6612,-3585,0},{6610,-3593,0},{6612,-3593,0},{6615,-3587,0}, {6613,-3582,0},{6385,-2137,128},{6382,-2163,0},{6387,-2173,0},{6387,-2180,0}, {6385,-2185,0},{6383,-2200,0},{6383,-2218,0},{6387,-2233,0},{6383,-2240,0}, {6385,-2243,0},{6382,-2252,0},{6382,-2265,0},{6380,-2268,0},{6383,-2272,0}, {6387,-2270,0},{6388,-2273,0},{6393,-2268,0},{6395,-2263,0},{6395,-2270,0}, {6398,-2273,0},{6408,-2270,0},{6408,-2267,0},{6405,-2258,0},{6398,-2255,0}, {6397,-2240,0},{6402,-2237,0},{6403,-2225,0},{6402,-2220,0},{6405,-2210,0}, {6405,-2202,0},{6408,-2197,0},{6410,-2205,0},{6412,-2200,0},{6412,-2197,0}, {6410,-2198,0},{6410,-2192,0},{6412,-2193,0},{6412,-2192,0},{6415,-2203,0}, {6415,-2187,0},{6413,-2182,0},{6413,-2178,0},{6413,-2182,0},{6415,-2180,0}, {6417,-2182,0},{6418,-2170,0},{6418,-2177,0},{6422,-2172,0},{6422,-2182,0}, {6423,-2182,0},{6423,-2193,0},{6435,-2175,0},{6435,-2165,0},{6435,-2168,0}, {6438,-2158,0},{6437,-2157,0},{6435,-2147,0},{6438,-2137,0},{6437,-2145,0}, {6437,-2148,0},{6440,-2145,0},{6440,-2163,0},{6438,-2173,0},{6433,-2180,0}, {6430,-2195,0},{6432,-2210,0},{6435,-2200,0},{6437,-2198,0},{6437,-2188,0}, {6438,-2187,0},{6440,-2203,0},{6450,-2198,0},{6453,-2188,0},{6453,-2178,0}, {6455,-2182,0},{6460,-2170,0},{6460,-2165,0},{6458,-2165,0},{6458,-2160,0}, {6457,-2158,0},{6457,-2150,0},{6460,-2162,0},{6462,-2158,0},{6462,-2168,0}, {6465,-2162,0},{6465,-2150,0},{6465,-2160,0},{6465,-2163,0},{6463,-2170,0}, {6465,-2167,0},{6465,-2170,0},{6458,-2177,0},{6458,-2183,0},{6457,-2185,0}, {6455,-2195,0},{6452,-2200,0},{6453,-2203,0},{6457,-2203,0},{6447,-2208,0}, {6445,-2217,0},{6450,-2222,0},{6448,-2225,0},{6452,-2222,0},{6455,-2222,0}, {6455,-2227,0},{6457,-2225,0},{6455,-2233,0},{6457,-2235,0},{6462,-2235,0}, {6467,-2243,0},{6463,-2237,0},{6465,-2233,0},{6467,-2235,0},{6468,-2233,0}, {6473,-2218,0},{6467,-2240,0},{6468,-2242,0},{6472,-2235,0},{6475,-2232,0}, {6477,-2243,0},{6482,-2242,0},{6480,-2243,0},{6480,-2247,0},{6480,-2253,0}, {6478,-2258,0},{6477,-2257,0},{6477,-2265,0},{6477,-2268,0},{6478,-2263,0}, {6480,-2268,0},{6480,-2278,0},{6477,-2272,0},{6480,-2287,0},{6480,-2317,0}, {6483,-2328,0},{6482,-2338,0},{6478,-2345,0},{6480,-2357,0},{6482,-2353,0}, {6482,-2357,0},{6478,-2363,0},{6475,-2363,0},{6473,-2367,0},{6473,-2383,0}, {6473,-2388,0},{6475,-2395,0},{6487,-2405,0},{6488,-2407,0},{6488,-2400,0}, {6492,-2397,0},{6492,-2382,0},{6488,-2367,0},{6492,-2355,0},{6495,-2350,0}, {6495,-2338,0},{6497,-2340,0},{6497,-2335,0},{6493,-2333,0},{6492,-2325,0}, {6495,-2322,0},{6498,-2323,0},{6502,-2318,0},{6500,-2308,0},{6495,-2317,0}, {6492,-2312,0},{6497,-2312,0},{6497,-2307,0},{6500,-2303,0},{6500,-2297,0}, {6498,-2295,0},{6502,-2283,0},{6503,-2278,0},{6503,-2287,0},{6508,-2272,0}, {6505,-2270,0},{6502,-2275,0},{6502,-2268,0},{6500,-2267,0},{6497,-2258,0}, {6500,-2262,0},{6502,-2262,0},{6505,-2253,0},{6507,-2235,0},{6505,-2228,0}, {6503,-2215,0},{6503,-2212,0},{6503,-2195,0},{6503,-2180,0},{6505,-2178,0}, {6507,-2185,0},{6515,-2173,0},{6520,-2175,0},{6520,-2182,0},{6515,-2187,0}, {6510,-2207,0},{6512,-2225,0},{6517,-2240,0},{6515,-2247,0},{6515,-2255,0}, {6517,-2257,0},{6518,-2245,0},{6518,-2255,0},{6523,-2250,0},{6523,-2242,0}, {6527,-2242,0},{6527,-2237,0},{6530,-2233,0},{6533,-2217,0},{6540,-2198,0}, {6538,-2193,0},{6540,-2195,0},{6542,-2192,0},{6543,-2178,0},{6545,-2170,0}, {6543,-2182,0},{6545,-2187,0},{6543,-2197,0},{6545,-2195,0},{6547,-2193,0}, {6550,-2200,0},{6550,-2203,0},{6548,-2205,0},{6550,-2208,0},{6552,-2210,0}, {6548,-2212,0},{6543,-2220,0},{6545,-2230,0},{6548,-2238,0},{6550,-2238,0}, {6552,-2220,0},{6560,-2210,0},{6553,-2225,0},{6553,-2235,0},{6557,-2230,0}, {6553,-2237,0},{6555,-2242,0},{6552,-2240,0},{6550,-2247,0},{6552,-2250,0}, {6557,-2250,0},{6563,-2255,0},{6557,-2253,0},{6555,-2255,0},{6553,-2258,0}, {6555,-2260,0},{6557,-2262,0},{6555,-2263,0},{6552,-2265,0},{6553,-2268,0}, {6557,-2272,0},{6563,-2268,0},{6562,-2272,0},{6563,-2277,0},{6550,-2273,0}, {6550,-2278,0},{6553,-2280,0},{6553,-2288,0},{6560,-2280,0},{6562,-2285,0}, {6558,-2287,0},{6557,-2292,0},{6560,-2295,0},{6555,-2297,0},{6553,-2302,0}, {6555,-2315,0},{6558,-2315,0},{6558,-2318,0},{6553,-2320,0},{6552,-2318,0}, {6548,-2323,0},{6550,-2337,0},{6552,-2340,0},{6550,-2340,0},{6547,-2350,0}, {6547,-2365,0},{6542,-2372,0},{6540,-2387,0},{6542,-2398,0},{6545,-2400,0}, {6545,-2397,0},{6547,-2397,0},{6547,-2403,0},{6550,-2420,0},{6548,-2447,0}, {6550,-2453,0},{6553,-2447,0},{6557,-2438,0},{6560,-2437,0},{6563,-2432,0}, {6560,-2415,0},{6552,-2390,0},{6553,-2380,0},{6553,-2388,0},{6563,-2407,0}, {6565,-2407,0},{6565,-2397,0},{6560,-2380,0},{6570,-2407,0},{6578,-2413,0}, {6580,-2410,0},{6570,-2362,0},{6567,-2355,0},{6560,-2357,0},{6563,-2350,0}, {6563,-2340,0},{6565,-2340,0},{6567,-2328,0},{6567,-2345,0},{6570,-2352,0}, {6572,-2353,0},{6573,-2347,0},{6573,-2335,0},{6575,-2333,0},{6573,-2323,0}, {6575,-2325,0},{6578,-2320,0},{6575,-2352,0},{6577,-2373,0},{6587,-2387,0}, {6592,-2382,0},{6590,-2363,0},{6587,-2360,0},{6588,-2350,0},{6587,-2347,0}, {6583,-2322,0},{6590,-2358,0},{6602,-2382,0},{6605,-2380,0},{6607,-2377,0}, {6602,-2343,0},{6598,-2338,0},{6600,-2340,0},{6603,-2343,0},{6605,-2353,0}, {6612,-2367,0},{6613,-2355,0},{6612,-2345,0},{6610,-2340,0},{6613,-2347,0}, {6615,-2360,0},{6618,-2353,0},{6618,-2348,0},{6620,-2347,0},{6618,-2335,0}, {6615,-2317,0},{6612,-2312,0},{6608,-2310,0},{6610,-2303,0},{6608,-2298,0}, {6603,-2298,0},{6597,-2307,0},{6605,-2293,0},{6600,-2290,0},{6602,-2287,0}, {6602,-2285,0},{6593,-2293,0},{6595,-2287,0},{6600,-2283,0},{6597,-2280,0}, {6592,-2282,0},{6605,-2277,0},{6605,-2268,0},{6603,-2267,0},{6597,-2257,0}, {6583,-2265,0},{6597,-2252,0},{6593,-2248,0},{6593,-2245,0},{6590,-2245,0}, {6592,-2242,0},{6583,-2247,0},{6583,-2243,0},{6590,-2240,0},{6590,-2235,0}, {6598,-2242,0},{6603,-2248,0},{6607,-2247,0},{6608,-2238,0},{6608,-2248,0}, {6608,-2257,0},{6612,-2260,0},{6615,-2283,0},{6623,-2298,0},{6627,-2280,0}, {6625,-2268,0},{6625,-2260,0},{6622,-2258,0},{6623,-2255,0},{6625,-2255,0}, {6627,-2240,0},{6627,-2237,0},{6627,-2250,0},{6627,-2257,0},{6632,-2247,0}, {6633,-2250,0},{6632,-2250,0},{6628,-2260,0},{6630,-2270,0},{6635,-2267,0}, {6637,-2262,0},{6637,-2268,0},{6632,-2282,0},{6633,-2283,0},{6637,-2280,0}, {6630,-2293,0},{6632,-2307,0},{6635,-2318,0},{6637,-2303,0},{6638,-2302,0}, {6642,-2312,0},{6643,-2312,0},{6642,-2302,0},{6643,-2302,0},{6643,-2290,0}, {6642,-2287,0},{6643,-2287,0},{6647,-2295,0},{6647,-2292,0},{6643,-2273,0}, {6642,-2268,0},{6647,-2260,0},{6647,-2255,0},{6642,-2247,0},{6643,-2242,0}, {6647,-2245,0},{6643,-2238,0},{6640,-2235,0},{6638,-2227,0},{6633,-2225,0}, {6633,-2220,0},{6632,-2223,0},{6630,-2222,0},{6627,-2223,0},{6627,-2212,0}, {6628,-2210,0},{6627,-2208,0},{6627,-2197,0},{6623,-2192,0},{6620,-2198,0}, {6622,-2193,0},{6618,-2187,0},{6618,-2175,0},{6607,-2172,0},{6607,-2165,0}, {6605,-2163,0},{6602,-2167,0},{6605,-2162,0},{6608,-2163,0},{6610,-2155,0}, {6605,-2152,0},{6605,-2155,0},{6602,-2153,0},{6602,-2133,0},{6598,-2132,0}, {6595,-2160,0},{6593,-2158,0},{6597,-2147,0},{6595,-2138,0},{6593,-2143,0}, {6592,-2128,0},{6588,-2128,0},{6587,-2132,0},{6587,-2128,0},{6583,-2130,0}, {6578,-2135,0},{6577,-2148,0},{6577,-2140,0},{6573,-2133,0},{6568,-2145,0}, {6568,-2158,0},{6577,-2167,0},{6577,-2172,0},{6577,-2178,0},{6575,-2170,0}, {6572,-2167,0},{6568,-2168,0},{6565,-2165,0},{6563,-2158,0},{6563,-2140,0}, {6555,-2148,0},{6558,-2138,0},{6560,-2132,0},{6552,-2130,0},{6543,-2148,0}, {6548,-2130,0},{6543,-2120,0},{6530,-2120,0},{6517,-2108,0},{6518,-2107,0}, {6527,-2112,0},{6533,-2107,0},{6545,-2110,0},{6545,-2105,0},{6535,-2097,0}, {6533,-2092,0},{6545,-2098,0},{6552,-2098,0},{6558,-2093,0},{6567,-2073,0}, {6568,-2068,0},{6567,-2062,0},{6555,-2065,0},{6555,-2062,0},{6558,-2062,0}, {6558,-2057,0},{6553,-2058,0},{6548,-2050,0},{6550,-2045,0},{6555,-2043,0}, {6557,-2052,0},{6560,-2042,0},{6557,-2040,0},{6552,-2040,0},{6557,-2038,0}, {6565,-2032,0},{6567,-2027,0},{6568,-2032,0},{6572,-2027,0},{6577,-2027,0}, {6582,-2033,0},{6585,-2030,0},{6593,-2040,0},{6602,-2042,0},{6602,-2045,0}, {6608,-2042,0},{6610,-2025,0},{6613,-2018,0},{6612,-2012,0},{6612,-2010,0}, {6608,-2007,0},{6608,-2003,0},{6590,-1987,0},{6588,-1975,0},{6587,-1970,0}, {6575,-1963,0},{6573,-1957,0},{6575,-1955,0},{6577,-1953,0},{6575,-1950,0}, {6575,-1943,0},{6573,-1947,0},{6573,-1942,0},{6583,-1938,0},{6592,-1945,0}, {6595,-1952,0},{6598,-1948,0},{6600,-1942,0},{6607,-1945,0},{6608,-1938,0}, {6608,-1923,0},{6607,-1917,0},{6610,-1913,0},{6607,-1905,0},{6610,-1910,0}, {6617,-1907,0},{6618,-1893,0},{6618,-1892,0},{6615,-1892,0},{6617,-1888,0}, {6620,-1885,0},{6618,-1878,0},{6613,-1880,0},{6617,-1870,0},{6613,-1863,0}, {6612,-1862,0},{6608,-1867,0},{6610,-1860,0},{6608,-1855,0},{6607,-1855,0}, {6602,-1852,0},{6597,-1853,0},{6595,-1833,0},{6587,-1827,0},{6587,-1820,0}, {6573,-1818,0},{6570,-1810,0},{6565,-1807,0},{6567,-1805,0},{6573,-1812,0}, {6585,-1807,0},{6592,-1815,0},{6592,-1817,0},{6593,-1822,0},{6597,-1822,0}, {6602,-1830,0},{6615,-1833,0},{6617,-1830,0},{6617,-1810,0},{6615,-1808,0}, {6615,-1790,0},{6612,-1788,0},{6612,-1782,0},{6603,-1768,0},{6602,-1768,0}, {6592,-1755,0},{6597,-1757,0},{6598,-1750,0},{6598,-1762,0},{6600,-1743,0}, {6598,-1743,0},{6595,-1742,0},{6598,-1742,0},{6605,-1735,0},{6610,-1735,0}, {6613,-1727,0},{6617,-1727,0},{6618,-1723,0},{6620,-1715,0},{6622,-1715,0}, {6620,-1703,0},{6618,-1697,0},{6612,-1693,0},{6612,-1690,0},{6613,-1690,0}, {6615,-1672,0},{6613,-1678,0},{6612,-1675,0},{6613,-1672,0},{6608,-1660,0}, {6617,-1668,0},{6620,-1650,0},{6617,-1663,0},{6618,-1652,0},{6617,-1648,0}, {6613,-1643,0},{6617,-1645,0},{6618,-1648,0},{6627,-1642,0},{6637,-1652,0}, {6642,-1650,0},{6647,-1658,0},{6650,-1657,0},{6650,-1653,0},{6648,-1652,0}, {6650,-1650,0},{6652,-1648,0},{6652,-1643,0},{6648,-1642,0},{6652,-1638,0}, {6648,-1630,0},{6648,-1632,0},{6648,-1625,0},{6652,-1623,0},{6650,-1622,0}, {6653,-1617,0},{6652,-1608,0},{6653,-1602,0},{6648,-1590,0},{6648,-1593,0}, {6642,-1593,0},{6642,-1583,0},{6640,-1583,0},{6640,-1572,0},{6633,-1568,0}, {6628,-1577,0},{6627,-1577,0},{6627,-1568,0},{6622,-1568,0},{6622,-1553,0}, {6615,-1538,0},{6618,-1533,0},{6625,-1533,0},{6628,-1510,0},{6630,-1510,0}, {6633,-1502,0},{6638,-1495,0},{6638,-1488,0},{6637,-1473,0},{6638,-1455,0}, {6627,-1500,0},{6622,-1493,0},{6618,-1495,0},{6615,-1502,0},{6613,-1515,0}, {6612,-1518,0},{6610,-1515,0},{6610,-1507,0},{6607,-1505,0},{6605,-1508,0}, {6605,-1493,0},{6603,-1488,0},{6607,-1478,0},{6607,-1472,0},{6605,-1467,0}, {6600,-1465,0},{6600,-1462,0},{6595,-1460,0},{6588,-1465,0},{6583,-1480,0}, {6580,-1482,0},{6575,-1488,0},{6578,-1478,0},{6575,-1482,0},{6573,-1485,0}, {6572,-1482,0},{6578,-1435,0},{6575,-1435,0},{6572,-1440,0},{6567,-1427,0}, {6565,-1435,0},{6553,-1453,0},{6550,-1457,0},{6565,-1430,0},{6563,-1418,0}, {6565,-1425,0},{6560,-1400,0},{6562,-1387,0},{6558,-1385,0},{6557,-1387,0}, {6557,-1382,0},{6552,-1382,0},{6555,-1370,0},{6552,-1363,0},{6550,-1360,0}, {6547,-1363,0},{6537,-1368,0},{6537,-1383,0},{6533,-1373,0},{6532,-1373,0}, {6532,-1385,0},{6527,-1400,0},{6530,-1370,0},{6530,-1363,0},{6527,-1357,0}, {6522,-1363,0},{6522,-1370,0},{6520,-1403,0},{6520,-1362,0},{6515,-1363,0}, {6513,-1375,0},{6513,-1365,0},{6512,-1368,0},{6512,-1363,0},{6510,-1362,0}, {6517,-1353,0},{6517,-1352,0},{6513,-1352,0},{6507,-1350,0},{6503,-1355,0}, {6503,-1360,0},{6500,-1358,0},{6498,-1367,0},{6498,-1380,0},{6503,-1385,0}, {6508,-1403,0},{6503,-1400,0},{6503,-1423,0},{6502,-1420,0},{6502,-1392,0}, {6497,-1387,0},{6495,-1380,0},{6493,-1370,0},{6492,-1370,0},{6493,-1405,0}, {6492,-1403,0},{6490,-1385,0},{6487,-1377,0},{6482,-1383,0},{6483,-1397,0}, {6480,-1383,0},{6478,-1403,0},{6473,-1398,0},{6472,-1408,0},{6468,-1425,0}, {6470,-1433,0},{6478,-1442,0},{6480,-1452,0},{6478,-1445,0},{6475,-1447,0}, {6473,-1438,0},{6468,-1433,0},{6467,-1427,0},{6465,-1430,0},{6467,-1438,0}, {6467,-1448,0},{6463,-1447,0},{6463,-1440,0},{6460,-1442,0},{6458,-1458,0}, {6457,-1457,0},{6455,-1450,0},{6460,-1435,0},{6460,-1433,0},{6453,-1447,0}, {6440,-1455,0},{6438,-1475,0},{6442,-1457,0},{6443,-1465,0},{6443,-1472,0}, {6440,-1472,0},{6432,-1490,0},{6435,-1490,0},{6430,-1495,0},{6430,-1488,0}, {6428,-1488,0},{6425,-1497,0},{6427,-1502,0},{6430,-1510,0},{6427,-1522,0}, {6430,-1520,0},{6428,-1523,0},{6430,-1525,0},{6433,-1528,0},{6430,-1528,0}, {6430,-1532,0},{6435,-1535,0},{6438,-1540,0},{6440,-1547,0},{6438,-1540,0}, {6435,-1538,0},{6433,-1537,0},{6433,-1540,0},{6432,-1537,0},{6428,-1538,0}, {6427,-1543,0},{6427,-1550,0},{6425,-1543,0},{6423,-1550,0},{6422,-1568,0}, {6418,-1580,0},{6420,-1572,0},{6418,-1572,0},{6413,-1602,0},{6413,-1603,0}, {6412,-1598,0},{6405,-1615,0},{6407,-1617,0},{6405,-1620,0},{6403,-1618,0}, {6402,-1625,0},{6403,-1627,0},{6400,-1635,0},{6398,-1635,0},{6400,-1630,0}, {6390,-1648,0},{6390,-1650,0},{6392,-1647,0},{6387,-1662,0},{6385,-1672,0}, {6387,-1678,0},{6385,-1675,0},{6383,-1678,0},{6380,-1680,0},{6383,-1680,0}, {6387,-1688,0},{6380,-1690,0},{6387,-1693,0},{6378,-1693,0},{6378,-1697,0}, {6380,-1697,0},{6388,-1693,0},{6392,-1697,0},{6387,-1697,0},{6385,-1703,0}, {6378,-1700,0},{6378,-1713,0},{6380,-1717,0},{6380,-1720,0},{6382,-1720,0}, {6378,-1728,0},{6375,-1755,0},{6378,-1755,0},{6375,-1757,0},{6375,-1760,0}, {6373,-1758,0},{6370,-1772,0},{6372,-1772,0},{6375,-1762,0},{6377,-1772,0}, {6375,-1772,0},{6375,-1782,0},{6373,-1780,0},{6373,-1787,0},{6368,-1790,0}, {6367,-1797,0},{6365,-1795,0},{6367,-1788,0},{6365,-1785,0},{6367,-1780,0}, {6363,-1783,0},{6362,-1797,0},{6360,-1795,0},{6360,-1785,0},{6353,-1793,0}, {6347,-1820,0},{6347,-1822,0},{6350,-1822,0},{6353,-1812,0},{6352,-1820,0}, {6353,-1828,0},{6355,-1832,0},{6345,-1827,0},{6347,-1817,0},{6343,-1843,0}, {6338,-1873,0},{6342,-1898,0},{6342,-1907,0},{6343,-1912,0},{6342,-1915,0}, {6343,-1925,0},{6347,-1938,0},{6353,-1973,0},{6355,-1972,0},{6353,-1977,0}, {6355,-1987,0},{6353,-1977,0},{6353,-2005,0},{6355,-2008,0},{6353,-2007,0}, {6353,-2017,0},{6360,-2035,0},{6360,-2030,0},{6362,-2033,0},{6363,-2033,0}, {6362,-2037,0},{6362,-2040,0},{6363,-2037,0},{6367,-2045,0},{6370,-2047,0}, {6370,-2050,0},{6363,-2043,0},{6370,-2055,0},{6375,-2055,0},{6377,-2048,0}, {6373,-2032,0},{6378,-2045,0},{6382,-2040,0},{6383,-2042,0},{6380,-2045,0}, {6375,-2057,0},{6370,-2057,0},{6377,-2077,0},{6375,-2065,0},{6377,-2060,0}, {6377,-2063,0},{6378,-2063,0},{6377,-2068,0},{6378,-2072,0},{6382,-2067,0}, {6387,-2070,0},{6387,-2072,0},{6383,-2068,0},{6380,-2075,0},{6380,-2083,0}, {6378,-2082,0},{6382,-2090,0},{6383,-2107,0},{6387,-2117,0},{6393,-2118,0}, {6395,-2105,0},{6395,-2118,0},{6393,-2127,0},{6392,-2130,0},{6388,-2120,0}, {6388,-2133,0},{6387,-2137,0},{6385,-2137,0},{5305,-9843,130},{5300,-9853,2}, {5297,-9873,2},{5293,-9887,2},{5290,-9892,2},{5287,-9890,2},{5278,-9882,2}, {5275,-9883,2},{5268,-9878,2},{5267,-9873,2},{5263,-9872,2},{5262,-9865,2}, {5257,-9862,2},{5250,-9847,2},{5242,-9847,2},{5237,-9842,2},{5232,-9833,2}, {5230,-9822,2},{5228,-9818,2},{5218,-9813,2},{5213,-9813,2},{5210,-9805,2}, {5197,-9805,2},{5193,-9798,2},{5193,-9792,2},{5190,-9793,2},{5188,-9790,2}, {5185,-9777,2},{5188,-9777,2},{5192,-9782,2},{5197,-9778,2},{5208,-9772,2}, {5208,-9777,2},{5212,-9777,2},{5215,-9768,2},{5210,-9767,2},{5210,-9765,2}, {5213,-9755,2},{5213,-9748,2},{5207,-9752,2},{5200,-9762,2},{5197,-9757,2}, {5192,-9758,2},{5192,-9753,2},{5200,-9752,2},{5203,-9742,2},{5203,-9733,2}, {5195,-9730,2},{5185,-9723,2},{5180,-9722,2},{5162,-9730,2},{5153,-9727,2}, {5147,-9728,2},{5143,-9725,2},{5145,-9720,2},{5152,-9712,2},{5158,-9713,2}, {5163,-9708,2},{5167,-9708,2},{5167,-9700,2},{5172,-9690,2},{5173,-9685,2}, {5173,-9682,2},{5168,-9683,2},{5167,-9677,2},{5160,-9680,2},{5160,-9672,2}, {5155,-9673,2},{5145,-9682,2},{5143,-9682,2},{5142,-9687,2},{5135,-9692,2}, {5132,-9690,2},{5127,-9698,2},{5118,-9698,2},{5118,-9695,2},{5122,-9688,2}, {5132,-9677,2},{5135,-9677,2},{5137,-9672,2},{5133,-9670,2},{5135,-9665,2}, {5133,-9660,2},{5125,-9668,2},{5123,-9675,2},{5117,-9683,2},{5110,-9683,2}, {5108,-9692,2},{5105,-9695,2},{5098,-9690,2},{5088,-9698,2},{5082,-9693,2}, {5078,-9697,2},{5070,-9698,2},{5063,-9697,2},{5060,-9693,2},{5057,-9697,2}, {5042,-9692,2},{5038,-9677,2},{5042,-9662,2},{5047,-9655,2},{5055,-9662,2}, {5058,-9658,2},{5065,-9660,2},{5067,-9655,2},{5070,-9657,2},{5073,-9653,2}, {5072,-9652,2},{5067,-9650,2},{5063,-9642,2},{5062,-9630,2},{5067,-9635,2}, {5072,-9638,2},{5075,-9635,2},{5102,-9638,2},{5108,-9642,2},{5112,-9640,2}, {5112,-9632,2},{5117,-9635,2},{5120,-9633,2},{5120,-9627,2},{5122,-9625,2}, {5133,-9637,2},{5133,-9642,2},{5138,-9645,2},{5138,-9648,2},{5150,-9658,2}, {5155,-9655,2},{5175,-9678,2},{5178,-9668,2},{5182,-9670,2},{5185,-9678,2}, {5187,-9685,2},{5187,-9687,2},{5193,-9682,2},{5197,-9683,2},{5202,-9687,2}, {5207,-9697,2},{5210,-9697,2},{5215,-9702,2},{5218,-9703,2},{5223,-9708,2}, {5223,-9702,2},{5227,-9700,2},{5232,-9703,2},{5233,-9707,2},{5235,-9702,2}, {5238,-9705,2},{5242,-9703,2},{5243,-9707,2},{5243,-9710,2},{5248,-9710,2}, {5263,-9720,2},{5268,-9720,2},{5277,-9732,2},{5287,-9740,2},{5290,-9738,2}, {5295,-9743,2},{5297,-9743,2},{5295,-9738,2},{5298,-9738,2},{5302,-9733,2}, {5305,-9742,2},{5312,-9742,2},{5315,-9745,2},{5317,-9742,2},{5327,-9757,2}, {5330,-9758,2},{5337,-9760,2},{5342,-9768,2},{5347,-9767,2},{5355,-9773,2}, {5362,-9783,2},{5365,-9782,2},{5372,-9782,2},{5377,-9788,2},{5383,-9790,2}, {5385,-9795,2},{5390,-9793,2},{5392,-9797,2},{5397,-9798,2},{5398,-9793,2}, {5400,-9778,2},{5403,-9773,2},{5408,-9773,2},{5402,-9783,2},{5403,-9790,2}, {5402,-9795,2},{5398,-9803,2},{5397,-9805,2},{5393,-9803,2},{5392,-9808,2}, {5392,-9810,2},{5397,-9813,2},{5400,-9823,2},{5403,-9820,2},{5405,-9815,2}, {5408,-9818,2},{5418,-9815,2},{5420,-9807,2},{5420,-9800,2},{5423,-9795,2}, {5425,-9787,2},{5432,-9780,2},{5432,-9785,2},{5430,-9792,2},{5432,-9798,2}, {5435,-9790,2},{5440,-9797,2},{5442,-9802,2},{5440,-9803,2},{5435,-9803,2}, {5430,-9810,2},{5425,-9815,2},{5422,-9815,2},{5418,-9822,2},{5408,-9823,2}, {5405,-9828,2},{5398,-9832,2},{5397,-9827,2},{5390,-9825,2},{5387,-9817,2}, {5385,-9810,2},{5378,-9803,2},{5373,-9788,2},{5370,-9790,2},{5368,-9797,2}, {5370,-9802,2},{5377,-9807,2},{5383,-9825,2},{5387,-9843,2},{5383,-9868,2}, {5388,-9872,2},{5390,-9878,2},{5388,-9885,2},{5387,-9895,2},{5385,-9897,2}, {5382,-9895,2},{5377,-9900,2},{5370,-9897,2},{5360,-9905,2},{5358,-9902,2}, {5348,-9908,2},{5347,-9907,2},{5343,-9908,2},{5338,-9918,2},{5328,-9922,2}, {5327,-9920,2},{5323,-9923,2},{5318,-9925,2},{5318,-9920,2},{5313,-9913,2}, {5312,-9908,2},{5310,-9907,2},{5307,-9907,2},{5303,-9902,2},{5307,-9893,2}, {5303,-9885,2},{5303,-9882,2},{5308,-9880,2},{5308,-9878,2},{5307,-9868,2}, {5305,-9853,2},{5305,-9847,2},{5305,-9843,2},{5303,-9845,2},{5425,-10013,130}, {5422,-10010,2},{5420,-10000,2},{5417,-10000,2},{5417,-9995,2},{5418,-9995,2}, {5420,-9992,2},{5420,-9983,2},{5418,-9980,2},{5412,-9998,2},{5410,-10010,2}, {5405,-10017,2},{5407,-10020,2},{5405,-10022,2},{5403,-10025,2},{5400,-10025,2}, {5398,-10020,2},{5400,-10013,2},{5398,-10012,2},{5397,-10013,2},{5395,-10005,2}, {5395,-10003,2},{5392,-10007,2},{5390,-10012,2},{5387,-10018,2},{5380,-10012,2}, {5380,-10008,2},{5383,-10008,2},{5387,-10003,2},{5387,-9995,2},{5392,-9987,2}, {5392,-9980,2},{5402,-9973,2},{5405,-9965,2},{5405,-9960,2},{5402,-9962,2}, {5400,-9958,2},{5395,-9963,2},{5393,-9970,2},{5387,-9972,2},{5385,-9970,2}, {5378,-9973,2},{5378,-9980,2},{5385,-9987,2},{5382,-9993,2},{5378,-9993,2}, {5377,-9990,2},{5373,-9993,2},{5375,-9998,2},{5373,-10002,2},{5370,-10002,2}, {5367,-10013,2},{5368,-10020,2},{5365,-10018,2},{5363,-10025,2},{5362,-10027,2}, {5358,-10020,2},{5358,-10018,2},{5362,-10018,2},{5362,-10017,2},{5357,-10007,2}, {5355,-10005,2},{5355,-10002,2},{5350,-9997,2},{5343,-9997,2},{5342,-9988,2}, {5335,-9992,2},{5335,-9998,2},{5333,-9998,2},{5332,-9992,2},{5327,-9993,2}, {5322,-9985,2},{5325,-9977,2},{5330,-9977,2},{5332,-9975,2},{5330,-9968,2}, {5330,-9953,2},{5332,-9950,2},{5337,-9943,2},{5335,-9937,2},{5320,-9942,2}, {5318,-9937,2},{5315,-9933,2},{5315,-9942,2},{5313,-9945,2},{5310,-9942,2}, {5305,-9938,2},{5303,-9953,2},{5305,-9955,2},{5308,-9957,2},{5308,-9952,2}, {5310,-9950,2},{5310,-9958,2},{5313,-9957,2},{5318,-9960,2},{5320,-9963,2}, {5320,-9965,2},{5317,-9967,2},{5315,-9962,2},{5313,-9963,2},{5313,-9968,2}, {5312,-9973,2},{5313,-9973,2},{5317,-9975,2},{5313,-9978,2},{5312,-9980,2}, {5308,-9992,2},{5310,-10003,2},{5313,-10008,2},{5315,-10030,2},{5323,-10038,2}, {5327,-10038,2},{5330,-10042,2},{5330,-10043,2},{5327,-10048,2},{5330,-10055,2}, {5333,-10062,2},{5335,-10062,2},{5335,-10070,2},{5340,-10080,2},{5340,-10085,2}, {5343,-10088,2},{5345,-10093,2},{5348,-10092,2},{5350,-10085,2},{5353,-10082,2}, {5352,-10078,2},{5353,-10073,2},{5348,-10068,2},{5350,-10065,2},{5347,-10062,2}, {5347,-10060,2},{5353,-10057,2},{5353,-10063,2},{5355,-10067,2},{5357,-10067,2}, {5358,-10065,2},{5360,-10058,2},{5358,-10058,2},{5355,-10050,2},{5357,-10047,2}, {5360,-10045,2},{5362,-10040,2},{5360,-10038,2},{5362,-10033,2},{5358,-10032,2}, {5360,-10028,2},{5365,-10028,2},{5372,-10033,2},{5377,-10038,2},{5378,-10045,2}, {5382,-10047,2},{5388,-10022,2},{5393,-10017,2},{5390,-10023,2},{5390,-10028,2}, {5388,-10032,2},{5390,-10037,2},{5387,-10043,2},{5390,-10047,2},{5390,-10052,2}, {5393,-10052,2},{5397,-10048,2},{5397,-10043,2},{5393,-10035,2},{5392,-10033,2}, {5395,-10025,2},{5397,-10025,2},{5397,-10028,2},{5398,-10032,2},{5402,-10033,2}, {5408,-10027,2},{5420,-10038,2},{5423,-10033,2},{5420,-10027,2},{5418,-10023,2}, {5420,-10023,2},{5425,-10018,2},{5425,-10013,2},{6088,-11503,130},{6093,-11480,2}, {6092,-11475,2},{6090,-11472,2},{6092,-11458,2},{6093,-11455,2},{6095,-11440,2}, {6102,-11422,2},{6100,-11417,2},{6098,-11407,2},{6097,-11403,2},{6098,-11383,2}, {6100,-11373,2},{6110,-11362,2},{6115,-11365,2},{6117,-11368,2},{6117,-11375,2}, {6120,-11367,2},{6127,-11372,2},{6132,-11367,2},{6135,-11358,2},{6133,-11353,2}, {6137,-11352,2},{6140,-11340,2},{6142,-11342,2},{6145,-11332,2},{6147,-11323,2}, {6145,-11310,2},{6148,-11313,2},{6148,-11312,2},{6147,-11302,2},{6145,-11302,2}, {6143,-11298,2},{6140,-11302,2},{6138,-11293,2},{6142,-11287,2},{6143,-11288,2}, {6145,-11268,2},{6145,-11265,2},{6147,-11268,2},{6147,-11267,2},{6148,-11257,2}, {6162,-11220,2},{6165,-11222,2},{6167,-11215,2},{6170,-11215,2},{6187,-11182,2}, {6188,-11182,2},{6188,-11183,2},{6195,-11160,2},{6197,-11160,2},{6205,-11148,2}, {6207,-11147,2},{6208,-11148,2},{6203,-11172,2},{6205,-11172,2},{6212,-11150,2}, {6213,-11150,2},{6212,-11158,2},{6213,-11158,2},{6217,-11143,2},{6223,-11127,2}, {6227,-11122,2},{6225,-11133,2},{6227,-11132,2},{6228,-11127,2},{6232,-11110,2}, {6233,-11110,2},{6233,-11113,2},{6238,-11107,2},{6240,-11090,2},{6238,-11088,2}, {6237,-11078,2},{6240,-11070,2},{6240,-11063,2},{6238,-11063,2},{6235,-11065,2}, {6235,-11063,2},{6237,-11053,2},{6237,-11032,2},{6238,-11022,2},{6240,-11023,2}, {6238,-11048,2},{6238,-11047,2},{6243,-11032,2},{6243,-11035,2},{6245,-11032,2}, {6245,-11017,2},{6257,-10985,2},{6257,-10992,2},{6248,-11017,2},{6250,-11023,2}, {6252,-11022,2},{6252,-11023,2},{6250,-11035,2},{6243,-11065,2},{6243,-11068,2}, {6247,-11065,2},{6253,-11032,2},{6253,-11042,2},{6250,-11052,2},{6248,-11063,2}, {6252,-11068,2},{6253,-11078,2},{6255,-11072,2},{6253,-11047,2},{6257,-11037,2}, {6257,-11022,2},{6253,-11018,2},{6257,-11012,2},{6255,-11002,2},{6260,-10982,2}, {6265,-10977,2},{6265,-10970,2},{6267,-10970,2},{6268,-11043,2},{6275,-11037,2}, {6275,-11028,2},{6273,-11025,2},{6273,-11018,2},{6273,-11008,2},{6275,-11000,2}, {6272,-10975,2},{6275,-10983,2},{6277,-10988,2},{6278,-11012,2},{6277,-11040,2}, {6280,-11047,2},{6277,-11050,2},{6275,-11043,2},{6268,-11052,2},{6267,-11048,2}, {6265,-11050,2},{6267,-11065,2},{6267,-11073,2},{6267,-11080,2},{6265,-11083,2}, {6265,-11095,2},{6262,-11112,2},{6262,-11128,2},{6260,-11130,2},{6257,-11128,2}, {6248,-11153,2},{6238,-11162,2},{6237,-11167,2},{6238,-11167,2},{6248,-11158,2}, {6255,-11148,2},{6260,-11147,2},{6263,-11138,2},{6275,-11095,2},{6277,-11060,2}, {6277,-11057,2},{6280,-11062,2},{6280,-11075,2},{6282,-11072,2},{6283,-11063,2}, {6282,-11052,2},{6283,-11047,2},{6282,-11027,2},{6282,-10995,2},{6280,-10987,2}, {6280,-10977,2},{6275,-10962,2},{6273,-10932,2},{6268,-10928,2},{6270,-10920,2}, {6263,-10928,2},{6265,-10917,2},{6262,-10928,2},{6258,-10932,2},{6258,-10928,2}, {6270,-10898,2},{6273,-10900,2},{6277,-10890,2},{6280,-10890,2},{6272,-10910,2}, {6272,-10917,2},{6280,-10897,2},{6283,-10908,2},{6283,-10922,2},{6287,-10927,2}, {6285,-10937,2},{6287,-10950,2},{6288,-10963,2},{6290,-10962,2},{6292,-10970,2}, {6292,-10995,2},{6295,-10992,2},{6295,-10995,2},{6293,-11010,2},{6295,-11045,2}, {6292,-11070,2},{6285,-11103,2},{6275,-11133,2},{6272,-11137,2},{6270,-11143,2}, {6267,-11147,2},{6257,-11152,2},{6252,-11162,2},{6238,-11172,2},{6232,-11193,2}, {6228,-11197,2},{6222,-11212,2},{6217,-11220,2},{6215,-11227,2},{6207,-11242,2}, {6205,-11260,2},{6207,-11273,2},{6203,-11290,2},{6203,-11292,2},{6207,-11290,2}, {6207,-11293,2},{6203,-11302,2},{6202,-11302,2},{6203,-11312,2},{6203,-11317,2}, {6200,-11320,2},{6198,-11332,2},{6203,-11342,2},{6203,-11345,2},{6202,-11348,2}, {6200,-11355,2},{6203,-11360,2},{6203,-11355,2},{6205,-11355,2},{6208,-11373,2}, {6210,-11375,2},{6213,-11380,2},{6215,-11375,2},{6217,-11385,2},{6220,-11388,2}, {6228,-11407,2},{6227,-11412,2},{6228,-11415,2},{6228,-11413,2},{6232,-11420,2}, {6232,-11425,2},{6235,-11423,2},{6237,-11425,2},{6237,-11422,2},{6242,-11427,2}, {6242,-11433,2},{6238,-11437,2},{6237,-11443,2},{6237,-11457,2},{6235,-11462,2}, {6237,-11465,2},{6237,-11472,2},{6238,-11472,2},{6242,-11477,2},{6243,-11480,2}, {6243,-11487,2},{6247,-11488,2},{6248,-11505,2},{6252,-11515,2},{6253,-11520,2}, {6255,-11518,2},{6258,-11523,2},{6262,-11530,2},{6263,-11545,2},{6263,-11560,2}, {6267,-11568,2},{6265,-11577,2},{6267,-11577,2},{6268,-11570,2},{6270,-11568,2}, {6270,-11575,2},{6272,-11577,2},{6278,-11593,2},{6277,-11600,2},{6270,-11605,2}, {6267,-11595,2},{6263,-11593,2},{6262,-11582,2},{6255,-11582,2},{6257,-11575,2}, {6255,-11570,2},{6253,-11570,2},{6253,-11577,2},{6247,-11568,2},{6248,-11560,2}, {6247,-11552,2},{6248,-11537,2},{6248,-11525,2},{6242,-11532,2},{6233,-11530,2}, {6232,-11523,2},{6225,-11533,2},{6223,-11533,2},{6225,-11517,2},{6222,-11517,2}, {6218,-11507,2},{6217,-11503,2},{6215,-11507,2},{6215,-11503,2},{6212,-11507,2}, {6208,-11505,2},{6200,-11478,2},{6193,-11475,2},{6193,-11465,2},{6188,-11468,2}, {6187,-11463,2},{6185,-11462,2},{6183,-11473,2},{6183,-11472,2},{6183,-11468,2}, {6180,-11475,2},{6178,-11480,2},{6177,-11482,2},{6178,-11485,2},{6175,-11493,2}, {6175,-11505,2},{6173,-11507,2},{6173,-11522,2},{6177,-11520,2},{6178,-11533,2}, {6175,-11555,2},{6172,-11558,2},{6170,-11552,2},{6167,-11555,2},{6167,-11560,2}, {6165,-11567,2},{6160,-11565,2},{6160,-11570,2},{6155,-11570,2},{6152,-11577,2}, {6150,-11573,2},{6147,-11575,2},{6145,-11572,2},{6143,-11572,2},{6140,-11587,2}, {6140,-11590,2},{6143,-11593,2},{6140,-11595,2},{6140,-11602,2},{6137,-11607,2}, {6137,-11602,2},{6135,-11600,2},{6135,-11592,2},{6132,-11590,2},{6132,-11585,2}, {6127,-11588,2},{6127,-11595,2},{6123,-11602,2},{6122,-11597,2},{6118,-11593,2}, {6117,-11597,2},{6123,-11610,2},{6125,-11618,2},{6127,-11620,2},{6127,-11643,2}, {6132,-11653,2},{6133,-11660,2},{6132,-11675,2},{6130,-11680,2},{6122,-11670,2}, {6122,-11678,2},{6118,-11692,2},{6115,-11708,2},{6122,-11735,2},{6128,-11752,2}, {6130,-11762,2},{6130,-11768,2},{6125,-11748,2},{6120,-11745,2},{6117,-11737,2}, {6107,-11723,2},{6105,-11707,2},{6103,-11675,2},{6102,-11670,2},{6102,-11663,2}, {6103,-11653,2},{6100,-11648,2},{6098,-11650,2},{6097,-11643,2},{6093,-11638,2}, {6088,-11617,2},{6088,-11610,2},{6083,-11595,2},{6087,-11573,2},{6083,-11553,2}, {6083,-11528,2},{6087,-11517,2},{6088,-11502,2},{5870,-11128,130},{5873,-11128,2}, {5875,-11133,2},{5878,-11127,2},{5880,-11118,2},{5880,-11117,2},{5877,-11113,2}, {5872,-11118,2},{5870,-11115,2},{5873,-11105,2},{5878,-11098,2},{5880,-11092,2}, {5883,-11083,2},{5888,-11082,2},{5895,-11070,2},{5902,-11067,2},{5910,-11055,2}, {5912,-11038,2},{5922,-11017,2},{5925,-11013,2},{5928,-11005,2},{5933,-10997,2}, {5935,-10983,2},{5940,-10987,2},{5942,-10975,2},{5942,-10982,2},{5943,-10983,2}, {5950,-10973,2},{5953,-10962,2},{5960,-10950,2},{5960,-10915,2},{5955,-10913,2}, {5952,-10907,2},{5948,-10907,2},{5947,-10903,2},{5948,-10900,2},{5952,-10893,2}, {5952,-10882,2},{5948,-10875,2},{5943,-10887,2},{5940,-10888,2},{5938,-10895,2}, {5937,-10893,2},{5938,-10872,2},{5942,-10858,2},{5943,-10858,2},{5947,-10845,2}, {5943,-10838,2},{5943,-10835,2},{5948,-10828,2},{5945,-10823,2},{5947,-10813,2}, {5945,-10812,2},{5943,-10795,2},{5940,-10783,2},{5942,-10755,2},{5935,-10738,2}, {5932,-10722,2},{5933,-10695,2},{5935,-10690,2},{5932,-10690,2},{5932,-10688,2}, {5932,-10682,2},{5932,-10663,2},{5930,-10667,2},{5928,-10663,2},{5927,-10635,2}, {5930,-10608,2},{5927,-10602,2},{5925,-10645,2},{5925,-10680,2},{5927,-10680,2}, {5927,-10690,2},{5928,-10692,2},{5928,-10712,2},{5930,-10715,2},{5928,-10745,2}, {5932,-10748,2},{5930,-10753,2},{5928,-10753,2},{5928,-10757,2},{5930,-10763,2}, {5932,-10760,2},{5933,-10763,2},{5933,-10775,2},{5925,-10778,2},{5923,-10783,2}, {5920,-10782,2},{5922,-10792,2},{5920,-10803,2},{5915,-10818,2},{5913,-10860,2}, {5912,-10863,2},{5912,-10875,2},{5910,-10882,2},{5910,-10888,2},{5913,-10892,2}, {5908,-10902,2},{5908,-10910,2},{5908,-10918,2},{5913,-10923,2},{5913,-10928,2}, {5908,-10938,2},{5905,-10962,2},{5905,-10975,2},{5902,-10988,2},{5895,-11005,2}, {5890,-11022,2},{5885,-11030,2},{5883,-11032,2},{5880,-11040,2},{5873,-11045,2}, {5868,-11048,2},{5867,-11047,2},{5870,-11042,2},{5868,-11033,2},{5865,-11038,2}, {5862,-11037,2},{5860,-11042,2},{5865,-11058,2},{5860,-11063,2},{5863,-11077,2}, {5862,-11078,2},{5855,-11075,2},{5847,-11083,2},{5863,-11083,2},{5863,-11090,2}, {5865,-11092,2},{5863,-11095,2},{5860,-11097,2},{5858,-11102,2},{5850,-11107,2}, {5855,-11112,2},{5857,-11110,2},{5860,-11112,2},{5862,-11108,2},{5862,-11115,2}, {5865,-11117,2},{5867,-11115,2},{5870,-11128,2},{4327,-7905,130},{4327,-7915,2}, {4318,-7935,2},{4320,-7942,2},{4320,-7957,2},{4325,-7970,2},{4327,-7975,2}, {4332,-7978,2},{4335,-7977,2},{4348,-7962,2},{4357,-7958,2},{4360,-7952,2}, {4365,-7947,2},{4365,-7937,2},{4367,-7933,2},{4378,-7913,2},{4383,-7910,2}, {4383,-7903,2},{4387,-7895,2},{4387,-7873,2},{4392,-7860,2},{4390,-7848,2}, {4395,-7827,2},{4398,-7792,2},{4402,-7780,2},{4400,-7768,2},{4402,-7768,2}, {4402,-7773,2},{4403,-7770,2},{4403,-7767,2},{4403,-7760,2},{4402,-7753,2}, {4400,-7753,2},{4400,-7758,2},{4395,-7748,2},{4397,-7733,2},{4395,-7728,2}, {4397,-7725,2},{4395,-7727,2},{4395,-7733,2},{4392,-7728,2},{4395,-7717,2}, {4388,-7723,2},{4385,-7713,2},{4393,-7692,2},{4395,-7685,2},{4395,-7687,2}, {4395,-7693,2},{4395,-7700,2},{4393,-7703,2},{4395,-7705,2},{4398,-7700,2}, {4400,-7702,2},{4403,-7692,2},{4412,-7685,2},{4405,-7698,2},{4405,-7710,2}, {4403,-7713,2},{4412,-7708,2},{4418,-7707,2},{4415,-7718,2},{4415,-7725,2}, {4412,-7730,2},{4410,-7727,2},{4408,-7732,2},{4410,-7733,2},{4413,-7732,2}, {4413,-7733,2},{4415,-7730,2},{4415,-7732,2},{4415,-7742,2},{4408,-7757,2}, {4408,-7758,2},{4412,-7755,2},{4413,-7748,2},{4418,-7733,2},{4417,-7732,2}, {4418,-7723,2},{4417,-7718,2},{4418,-7713,2},{4422,-7702,2},{4420,-7700,2}, {4417,-7705,2},{4413,-7705,2},{4420,-7693,2},{4418,-7688,2},{4413,-7700,2}, {4410,-7707,2},{4408,-7703,2},{4407,-7705,2},{4408,-7697,2},{4412,-7690,2}, {4422,-7668,2},{4423,-7663,2},{4422,-7662,2},{4423,-7650,2},{4425,-7648,2}, {4423,-7647,2},{4425,-7642,2},{4432,-7630,2},{4433,-7618,2},{4437,-7608,2}, {4437,-7603,2},{4440,-7595,2},{4450,-7582,2},{4257,-8263,130},{4255,-8265,2}, {4252,-8260,2},{4250,-8248,2},{4248,-8247,2},{4250,-8242,2},{4245,-8243,2}, {4238,-8240,2},{4233,-8243,2},{4232,-8248,2},{4230,-8263,2},{4232,-8278,2}, {4235,-8295,2},{4232,-8300,2},{4232,-8305,2},{4225,-8310,2},{4207,-8312,2}, {4205,-8308,2},{4198,-8290,2},{4198,-8283,2},{4203,-8270,2},{4203,-8263,2}, {4198,-8255,2},{4192,-8250,2},{4203,-8248,2},{4210,-8242,2},{4225,-8207,2}, {4227,-8192,2},{4228,-8192,2},{4232,-8185,2},{4230,-8187,2},{4225,-8190,2}, {4227,-8185,2},{4235,-8182,2},{4240,-8178,2},{4257,-8153,2},{4265,-8133,2}, {4267,-8113,2},{4267,-8092,2},{4265,-8083,2},{4257,-8052,2},{4257,-8035,2}, {4253,-8012,2},{4255,-8005,2},{4257,-8013,2},{4258,-8030,2},{4260,-8035,2}, {4260,-8043,2},{4262,-8045,2},{4265,-8043,2},{4268,-8037,2},{4267,-8033,2}, {4272,-8032,2},{4278,-8020,2},{4282,-7983,2},{4287,-7972,2},{4285,-7963,2}, {4287,-7958,2},{4285,-7948,2},{4288,-7945,2},{4287,-7935,2},{4288,-7928,2}, {4288,-7917,2},{4287,-7912,2},{4283,-7910,2},{4287,-7908,2},{4288,-7895,2}, {4292,-7892,2},{4295,-7893,2},{4297,-7898,2},{4300,-7903,2},{4305,-7903,2}, {4308,-7908,2},{4310,-7907,2},{4308,-7905,2},{4310,-7907,2},{4307,-7892,2}, {4305,-7888,2},{4303,-7888,2},{4300,-7893,2},{4298,-7893,2},{4295,-7890,2}, {4283,-7887,2},{4278,-7887,2},{4272,-7903,2},{4257,-7915,2},{4257,-7920,2}, {4248,-7937,2},{4237,-7953,2},{4227,-7977,2},{4213,-8012,2},{4212,-8013,2}, {4215,-8012,2},{4215,-8007,2},{4217,-8010,2},{4208,-8022,2},{4197,-8053,2}, {4198,-8052,2},{4183,-8103,2},{4173,-8133,2},{4158,-8157,2},{4150,-8172,2}, {4150,-8183,2},{4148,-8185,2},{4150,-8195,2},{4152,-8202,2},{4150,-8212,2}, {4145,-8225,2},{4143,-8237,2},{4138,-8247,2},{4143,-8258,2},{4150,-8268,2}, {4147,-8267,2},{4143,-8262,2},{4147,-8270,2},{4145,-8277,2},{4147,-8278,2}, {4148,-8280,2},{4143,-8292,2},{4145,-8297,2},{4143,-8298,2},{4145,-8300,2}, {4147,-8305,2},{4147,-8297,2},{4148,-8295,2},{4152,-8270,2},{4155,-8270,2}, {4155,-8280,2},{4158,-8283,2},{4155,-8285,2},{4153,-8288,2},{4153,-8297,2}, {4155,-8300,2},{4160,-8307,2},{4165,-8323,2},{4172,-8332,2},{4170,-8333,2}, {4172,-8345,2},{4175,-8347,2},{4173,-8347,2},{4177,-8345,2},{4177,-8342,2}, {4182,-8342,2},{4188,-8335,2},{4188,-8333,2},{4193,-8332,2},{4195,-8330,2}, {4193,-8325,2},{4198,-8327,2},{4198,-8322,2},{4203,-8320,2},{4202,-8318,2}, {4208,-8320,2},{4223,-8315,2},{4228,-8312,2},{4235,-8302,2},{4237,-8293,2}, {4240,-8288,2},{4245,-8287,2},{4250,-8288,2},{4253,-8287,2},{4257,-8283,2}, {4257,-8278,2},{4260,-8278,2},{4262,-8282,2},{4265,-8282,2},{4265,-8277,2}, {4270,-8270,2},{4268,-8263,2},{4265,-8263,2},{4262,-8262,2},{4260,-8263,2}, {4257,-8262,2},{4255,-8265,2},{4802,-8958,130},{4803,-8952,2},{4805,-8950,2}, {4807,-8942,2},{4808,-8942,2},{4808,-8945,2},{4810,-8943,2},{4812,-8933,2}, {4813,-8933,2},{4815,-8932,2},{4818,-8928,2},{4820,-8930,2},{4820,-8927,2}, {4825,-8927,2},{4830,-8923,2},{4832,-8920,2},{4838,-8925,2},{4845,-8920,2}, {4848,-8913,2},{4858,-8877,2},{4855,-8875,2},{4848,-8883,2},{4838,-8887,2}, {4838,-8890,2},{4832,-8893,2},{4833,-8890,2},{4837,-8873,2},{4850,-8870,2}, {4852,-8863,2},{4862,-8862,2},{4865,-8853,2},{4870,-8855,2},{4872,-8852,2}, {4873,-8855,2},{4877,-8855,2},{4885,-8848,2},{4883,-8837,2},{4877,-8832,2}, {4868,-8835,2},{4855,-8852,2},{4855,-8855,2},{4848,-8858,2},{4848,-8857,2}, {4843,-8857,2},{4843,-8852,2},{4847,-8852,2},{4847,-8848,2},{4852,-8848,2}, {4853,-8847,2},{4857,-8843,2},{4853,-8840,2},{4857,-8835,2},{4858,-8832,2}, {4865,-8833,2},{4860,-8828,2},{4863,-8823,2},{4860,-8825,2},{4860,-8820,2}, {4872,-8810,2},{4877,-8812,2},{4880,-8810,2},{4883,-8817,2},{4887,-8825,2}, {4888,-8825,2},{4893,-8823,2},{4898,-8827,2},{4900,-8825,2},{4897,-8823,2}, {4897,-8818,2},{4900,-8812,2},{4900,-8807,2},{4902,-8803,2},{4898,-8803,2}, {4895,-8795,2},{4892,-8785,2},{4893,-8778,2},{4890,-8778,2},{4890,-8768,2}, {4887,-8765,2},{4888,-8758,2},{4883,-8755,2},{4885,-8745,2},{4883,-8742,2}, {4880,-8738,2},{4880,-8730,2},{4877,-8728,2},{4877,-8720,2},{4878,-8718,2}, {4877,-8712,2},{4878,-8705,2},{4877,-8700,2},{4880,-8700,2},{4882,-8698,2}, {4875,-8685,2},{4882,-8670,2},{4880,-8668,2},{4878,-8662,2},{4875,-8663,2}, {4873,-8655,2},{4875,-8653,2},{4878,-8643,2},{4875,-8643,2},{4873,-8638,2}, {4872,-8640,2},{4867,-8635,2},{4865,-8632,2},{4862,-8633,2},{4858,-8627,2}, {4843,-8622,2},{4840,-8618,2},{4833,-8618,2},{4817,-8608,2},{4808,-8600,2}, {4807,-8593,2},{4803,-8593,2},{4803,-8590,2},{4800,-8587,2},{4797,-8582,2}, {4793,-8567,2},{4792,-8543,2},{4797,-8527,2},{4797,-8500,2},{4795,-8492,2}, {4795,-8490,2},{4797,-8487,2},{4793,-8483,2},{4792,-8485,2},{4785,-8493,2}, {4783,-8493,2},{4780,-8488,2},{4773,-8493,2},{4772,-8498,2},{4768,-8497,2}, {4765,-8500,2},{4762,-8500,2},{4762,-8503,2},{4757,-8495,2},{4753,-8495,2}, {4752,-8492,2},{4748,-8482,2},{4743,-8472,2},{4738,-8470,2},{4737,-8467,2}, {4737,-8463,2},{4730,-8458,2},{4725,-8463,2},{4718,-8470,2},{4717,-8468,2}, {4715,-8472,2},{4710,-8470,2},{4705,-8477,2},{4698,-8478,2},{4695,-8472,2}, {4697,-8467,2},{4690,-8462,2},{4690,-8458,2},{4693,-8458,2},{4695,-8457,2}, {4693,-8452,2},{4693,-8443,2},{4688,-8435,2},{4683,-8440,2},{4685,-8445,2}, {4682,-8455,2},{4675,-8455,2},{4673,-8457,2},{4670,-8455,2},{4670,-8453,2}, {4670,-8452,2},{4675,-8447,2},{4675,-8445,2},{4670,-8442,2},{4667,-8447,2}, {4657,-8458,2},{4655,-8458,2},{4652,-8453,2},{4648,-8452,2},{4648,-8447,2}, {4650,-8447,2},{4653,-8442,2},{4652,-8430,2},{4653,-8425,2},{4655,-8418,2}, {4653,-8410,2},{4650,-8407,2},{4648,-8408,2},{4637,-8412,2},{4633,-8405,2}, {4632,-8388,2},{4630,-8387,2},{4630,-8377,2},{4627,-8370,2},{4628,-8360,2}, {4625,-8355,2},{4625,-8347,2},{4620,-8320,2},{4620,-8317,2},{4618,-8313,2}, {4617,-8298,2},{4618,-8295,2},{4618,-8288,2},{4618,-8282,2},{4620,-8270,2}, {4622,-8263,2},{4618,-8268,2},{4617,-8267,2},{4618,-8252,2},{4620,-8245,2}, {4618,-8243,2},{4618,-8240,2},{4618,-8232,2},{4618,-8238,2},{4617,-8237,2}, {4615,-8230,2},{4615,-8228,2},{4615,-8222,2},{4612,-8213,2},{4613,-8210,2}, {4610,-8197,2},{4610,-8172,2},{4607,-8178,2},{4602,-8177,2},{4607,-8175,2}, {4608,-8167,2},{4612,-8165,2},{4612,-8162,2},{4610,-8160,2},{4608,-8153,2}, {4607,-8155,2},{4602,-8170,2},{4603,-8158,2},{4603,-8150,2},{4602,-8165,2}, {4600,-8157,2},{4595,-8167,2},{4602,-8148,2},{4598,-8150,2},{4600,-8145,2}, {4595,-8127,2},{4597,-8120,2},{4600,-8117,2},{4600,-8118,2},{4598,-8125,2}, {4602,-8122,2},{4602,-8117,2},{4598,-8115,2},{4593,-8118,2},{4593,-8115,2}, {4595,-8112,2},{4595,-8105,2},{4593,-8093,2},{4595,-8090,2},{4593,-8087,2}, {4595,-8080,2},{4590,-8080,2},{4593,-8077,2},{4590,-8075,2},{4587,-8073,2}, {4585,-8067,2},{4583,-8072,2},{4582,-8072,2},{4582,-8067,2},{4578,-8063,2}, {4573,-8063,2},{4570,-8058,2},{4568,-8060,2},{4568,-8058,2},{4565,-8058,2}, {4563,-8052,2},{4560,-8052,2},{4557,-8050,2},{4558,-8042,2},{4563,-8043,2}, {4560,-8040,2},{4557,-8038,2},{4547,-8040,2},{4543,-8035,2},{4540,-8037,2}, {4538,-8035,2},{4540,-8033,2},{4543,-8033,2},{4543,-8030,2},{4538,-8032,2}, {4537,-8028,2},{4537,-8023,2},{4533,-8023,2},{4535,-8017,2},{4537,-8020,2}, {4540,-8017,2},{4540,-8008,2},{4532,-8003,2},{4523,-8013,2},{4518,-8012,2}, {4522,-8007,2},{4518,-8002,2},{4515,-7998,2},{4512,-8002,2},{4512,-8010,2}, {4508,-8005,2},{4507,-8000,2},{4503,-8000,2},{4502,-7993,2},{4498,-7993,2}, {4495,-7992,2},{4495,-7988,2},{4493,-7983,2},{4490,-7983,2},{4490,-7980,2}, {4487,-7982,2},{4485,-7977,2},{4482,-7978,2},{4480,-7975,2},{4482,-7973,2}, {4483,-7970,2},{4487,-7973,2},{4488,-7968,2},{4483,-7968,2},{4478,-7972,2}, {4477,-7967,2},{4475,-7967,2},{4477,-7988,2},{4480,-7988,2},{4482,-7990,2}, {4482,-7993,2},{4485,-7992,2},{4487,-7997,2},{4485,-8002,2},{4482,-8007,2}, {4482,-8010,2},{4475,-8012,2},{4473,-8005,2},{4468,-7998,2},{4463,-8000,2}, {4455,-8000,2},{4447,-8008,2},{4452,-8023,2},{4455,-8043,2},{4460,-8048,2}, {4462,-8058,2},{4473,-8065,2},{4472,-8075,2},{4470,-8080,2},{4460,-8095,2}, {4475,-8088,2},{4478,-8090,2},{4482,-8098,2},{4478,-8105,2},{4475,-8112,2}, {4475,-8113,2},{4480,-8112,2},{4483,-8102,2},{4487,-8100,2},{4492,-8100,2}, {4497,-8095,2},{4497,-8103,2},{4495,-8105,2},{4493,-8103,2},{4490,-8107,2}, {4493,-8110,2},{4492,-8115,2},{4497,-8112,2},{4497,-8120,2},{4500,-8118,2}, {4502,-8120,2},{4502,-8122,2},{4500,-8123,2},{4500,-8125,2},{4510,-8127,2}, {4513,-8132,2},{4517,-8133,2},{4522,-8128,2},{4525,-8128,2},{4523,-8143,2}, {4525,-8162,2},{4527,-8163,2},{4527,-8170,2},{4525,-8170,2},{4522,-8172,2}, {4520,-8170,2},{4520,-8165,2},{4518,-8160,2},{4520,-8158,2},{4515,-8158,2}, {4515,-8157,2},{4505,-8147,2},{4498,-8143,2},{4500,-8142,2},{4498,-8140,2}, {4500,-8137,2},{4498,-8137,2},{4497,-8135,2},{4492,-8137,2},{4488,-8135,2}, {4487,-8133,2},{4483,-8132,2},{4482,-8128,2},{4478,-8130,2},{4478,-8128,2}, {4472,-8127,2},{4470,-8130,2},{4465,-8127,2},{4462,-8127,2},{4452,-8138,2}, {4443,-8140,2},{4442,-8148,2},{4435,-8155,2},{4435,-8158,2},{4422,-8162,2}, {4415,-8167,2},{4408,-8175,2},{4393,-8172,2},{4368,-8173,2},{4350,-8170,2}, {4335,-8175,2},{4325,-8188,2},{4322,-8200,2},{4313,-8207,2},{4307,-8218,2}, {4302,-8242,2},{4312,-8248,2},{4327,-8253,2},{4347,-8255,2},{4358,-8260,2}, {4380,-8263,2},{4393,-8270,2},{4402,-8280,2},{4407,-8295,2},{4405,-8302,2}, {4402,-8305,2},{4400,-8307,2},{4398,-8325,2},{4393,-8330,2},{4392,-8340,2}, {4392,-8335,2},{4390,-8333,2},{4385,-8338,2},{4372,-8347,2},{4370,-8350,2}, {4373,-8352,2},{4372,-8355,2},{4367,-8358,2},{4360,-8367,2},{4365,-8385,2}, {4370,-8392,2},{4375,-8395,2},{4383,-8393,2},{4385,-8390,2},{4388,-8392,2}, {4392,-8392,2},{4395,-8388,2},{4400,-8383,2},{4398,-8377,2},{4402,-8375,2}, {4400,-8368,2},{4405,-8367,2},{4405,-8360,2},{4425,-8353,2},{4428,-8352,2}, {4428,-8347,2},{4428,-8345,2},{4427,-8347,2},{4425,-8345,2},{4432,-8340,2}, {4433,-8333,2},{4458,-8332,2},{4468,-8328,2},{4482,-8330,2},{4488,-8333,2}, {4493,-8343,2},{4500,-8347,2},{4502,-8345,2},{4505,-8345,2},{4507,-8342,2}, {4508,-8337,2},{4503,-8332,2},{4503,-8327,2},{4505,-8328,2},{4507,-8332,2}, {4508,-8332,2},{4510,-8330,2},{4515,-8332,2},{4517,-8335,2},{4523,-8340,2}, {4527,-8342,2},{4528,-8338,2},{4535,-8348,2},{4535,-8358,2},{4538,-8367,2}, {4542,-8370,2},{4543,-8383,2},{4550,-8392,2},{4550,-8410,2},{4552,-8413,2}, {4560,-8417,2},{4563,-8422,2},{4567,-8433,2},{4567,-8448,2},{4573,-8457,2}, {4577,-8468,2},{4580,-8475,2},{4577,-8482,2},{4577,-8498,2},{4572,-8493,2}, {4563,-8507,2},{4560,-8510,2},{4553,-8510,2},{4547,-8507,2},{4543,-8500,2}, {4542,-8492,2},{4540,-8492,2},{4537,-8505,2},{4538,-8513,2},{4532,-8532,2}, {4527,-8538,2},{4520,-8540,2},{4510,-8538,2},{4500,-8540,2},{4492,-8542,2}, {4477,-8553,2},{4477,-8557,2},{4483,-8555,2},{4488,-8550,2},{4497,-8548,2}, {4500,-8550,2},{4498,-8553,2},{4493,-8553,2},{4490,-8557,2},{4490,-8555,2}, {4487,-8558,2},{4478,-8560,2},{4482,-8565,2},{4485,-8565,2},{4497,-8560,2}, {4498,-8560,2},{4498,-8565,2},{4503,-8560,2},{4505,-8557,2},{4515,-8562,2}, {4515,-8557,2},{4520,-8553,2},{4522,-8555,2},{4518,-8565,2},{4510,-8570,2}, {4507,-8577,2},{4495,-8583,2},{4495,-8588,2},{4498,-8593,2},{4495,-8597,2}, {4492,-8600,2},{4492,-8607,2},{4475,-8608,2},{4475,-8617,2},{4470,-8627,2}, {4458,-8623,2},{4448,-8627,2},{4437,-8627,2},{4417,-8640,2},{4407,-8652,2}, {4400,-8650,2},{4395,-8645,2},{4392,-8647,2},{4380,-8643,2},{4377,-8645,2}, {4368,-8653,2},{4363,-8655,2},{4360,-8653,2},{4323,-8635,2},{4327,-8627,2}, {4327,-8625,2},{4322,-8633,2},{4300,-8623,2},{4275,-8622,2},{4257,-8623,2}, {4245,-8628,2},{4228,-8635,2},{4213,-8650,2},{4193,-8660,2},{4185,-8668,2}, {4175,-8685,2},{4177,-8683,2},{4168,-8703,2},{4163,-8718,2},{4162,-8727,2}, {4163,-8740,2},{4165,-8743,2},{4168,-8742,2},{4167,-8745,2},{4168,-8747,2}, {4172,-8752,2},{4183,-8760,2},{4195,-8765,2},{4207,-8767,2},{4212,-8775,2}, {4223,-8782,2},{4235,-8783,2},{4240,-8780,2},{4250,-8780,2},{4248,-8780,2}, {4263,-8782,2},{4272,-8777,2},{4278,-8777,2},{4287,-8783,2},{4298,-8785,2}, {4302,-8790,2},{4308,-8787,2},{4312,-8790,2},{4317,-8788,2},{4325,-8790,2}, {4335,-8787,2},{4348,-8780,2},{4357,-8780,2},{4368,-8770,2},{4377,-8770,2}, {4383,-8773,2},{4392,-8773,2},{4410,-8763,2},{4415,-8755,2},{4418,-8750,2}, {4423,-8750,2},{4428,-8753,2},{4433,-8755,2},{4437,-8752,2},{4453,-8748,2}, {4468,-8737,2},{4480,-8733,2},{4488,-8733,2},{4492,-8733,2},{4493,-8733,2}, {4495,-8720,2},{4498,-8718,2},{4507,-8712,2},{4507,-8708,2},{4510,-8710,2}, {4510,-8705,2},{4515,-8710,2},{4515,-8703,2},{4523,-8705,2},{4522,-8700,2}, {4528,-8698,2},{4530,-8698,2},{4528,-8703,2},{4530,-8707,2},{4527,-8708,2}, {4525,-8712,2},{4520,-8713,2},{4517,-8718,2},{4517,-8725,2},{4505,-8728,2}, {4503,-8733,2},{4492,-8742,2},{4483,-8742,2},{4488,-8745,2},{4485,-8750,2}, {4487,-8753,2},{4483,-8755,2},{4485,-8757,2},{4485,-8760,2},{4480,-8767,2}, {4465,-8777,2},{4462,-8787,2},{4458,-8790,2},{4455,-8793,2},{4455,-8800,2}, {4458,-8805,2},{4465,-8802,2},{4467,-8798,2},{4472,-8798,2},{4488,-8783,2}, {4493,-8783,2},{4498,-8765,2},{4507,-8763,2},{4512,-8760,2},{4510,-8760,2}, {4517,-8760,2},{4523,-8752,2},{4542,-8733,2},{4553,-8728,2},{4567,-8717,2}, {4570,-8710,2},{4582,-8705,2},{4592,-8698,2},{4590,-8697,2},{4583,-8700,2}, {4568,-8697,2},{4572,-8695,2},{4573,-8685,2},{4582,-8678,2},{4587,-8677,2}, {4583,-8668,2},{4590,-8658,2},{4588,-8655,2},{4585,-8653,2},{4580,-8658,2}, {4578,-8657,2},{4578,-8663,2},{4570,-8667,2},{4568,-8672,2},{4563,-8668,2}, {4560,-8662,2},{4562,-8660,2},{4567,-8662,2},{4567,-8660,2},{4572,-8658,2}, {4572,-8653,2},{4575,-8652,2},{4582,-8635,2},{4590,-8632,2},{4593,-8628,2}, {4597,-8622,2},{4597,-8610,2},{4597,-8602,2},{4593,-8592,2},{4595,-8593,2}, {4597,-8590,2},{4598,-8580,2},{4597,-8567,2},{4610,-8553,2},{4610,-8532,2}, {4607,-8527,2},{4607,-8518,2},{4602,-8502,2},{4593,-8492,2},{4592,-8485,2}, {4588,-8483,2},{4585,-8475,2},{4587,-8470,2},{4588,-8473,2},{4592,-8473,2}, {4593,-8472,2},{4597,-8473,2},{4598,-8468,2},{4603,-8468,2},{4605,-8465,2}, {4603,-8455,2},{4598,-8453,2},{4600,-8450,2},{4598,-8447,2},{4602,-8445,2}, {4600,-8438,2},{4598,-8437,2},{4600,-8435,2},{4598,-8417,2},{4598,-8415,2}, {4595,-8400,2},{4597,-8390,2},{4602,-8390,2},{4603,-8395,2},{4603,-8398,2}, {4610,-8405,2},{4615,-8403,2},{4618,-8415,2},{4618,-8423,2},{4620,-8427,2}, {4625,-8418,2},{4628,-8422,2},{4635,-8422,2},{4643,-8427,2},{4650,-8432,2}, {4650,-8437,2},{4650,-8442,2},{4645,-8447,2},{4642,-8457,2},{4643,-8460,2}, {4645,-8458,2},{4648,-8462,2},{4650,-8465,2},{4645,-8482,2},{4648,-8492,2}, {4650,-8493,2},{4648,-8500,2},{4650,-8503,2},{4653,-8505,2},{4657,-8502,2}, {4672,-8502,2},{4678,-8495,2},{4677,-8505,2},{4678,-8515,2},{4677,-8527,2}, {4668,-8550,2},{4670,-8590,2},{4667,-8610,2},{4668,-8615,2},{4655,-8643,2}, {4657,-8647,2},{4643,-8665,2},{4645,-8667,2},{4645,-8670,2},{4650,-8677,2}, {4648,-8678,2},{4645,-8683,2},{4645,-8687,2},{4650,-8693,2},{4653,-8697,2}, {4655,-8702,2},{4653,-8708,2},{4650,-8713,2},{4652,-8735,2},{4653,-8738,2}, {4660,-8738,2},{4663,-8747,2},{4665,-8747,2},{4675,-8758,2},{4680,-8760,2}, {4682,-8763,2},{4682,-8767,2},{4685,-8768,2},{4683,-8772,2},{4688,-8775,2}, {4688,-8777,2},{4690,-8782,2},{4693,-8807,2},{4690,-8820,2},{4683,-8828,2}, {4690,-8825,2},{4697,-8813,2},{4697,-8818,2},{4690,-8830,2},{4687,-8835,2}, {4687,-8840,2},{4683,-8840,2},{4677,-8848,2},{4680,-8845,2},{4685,-8848,2}, {4698,-8845,2},{4698,-8842,2},{4702,-8838,2},{4708,-8835,2},{4712,-8830,2}, {4715,-8827,2},{4715,-8823,2},{4717,-8825,2},{4720,-8822,2},{4722,-8817,2}, {4730,-8805,2},{4733,-8797,2},{4737,-8795,2},{4738,-8803,2},{4742,-8787,2}, {4740,-8778,2},{4742,-8772,2},{4745,-8775,2},{4748,-8782,2},{4747,-8788,2}, {4748,-8803,2},{4747,-8805,2},{4747,-8820,2},{4743,-8823,2},{4743,-8828,2}, {4740,-8837,2},{4737,-8845,2},{4730,-8850,2},{4723,-8860,2},{4717,-8863,2}, {4723,-8865,2},{4712,-8888,2},{4702,-8895,2},{4700,-8907,2},{4700,-8913,2}, {4693,-8922,2},{4688,-8932,2},{4685,-8942,2},{4685,-8955,2},{4683,-8962,2}, {4683,-8980,2},{4668,-9003,2},{4662,-9030,2},{4662,-9035,2},{4658,-9042,2}, {4657,-9045,2},{4660,-9050,2},{4660,-9057,2},{4663,-9067,2},{4670,-9075,2}, {4668,-9073,2},{4667,-9077,2},{4667,-9073,2},{4663,-9078,2},{4660,-9092,2}, {4660,-9095,2},{4662,-9095,2},{4667,-9092,2},{4670,-9085,2},{4675,-9088,2}, {4678,-9087,2},{4682,-9082,2},{4688,-9078,2},{4690,-9077,2},{4695,-9080,2}, {4695,-9083,2},{4697,-9087,2},{4693,-9093,2},{4695,-9098,2},{4692,-9103,2}, {4688,-9105,2},{4688,-9110,2},{4687,-9112,2},{4687,-9113,2},{4688,-9115,2}, {4685,-9118,2},{4687,-9120,2},{4688,-9120,2},{4687,-9125,2},{4678,-9138,2}, {4675,-9160,2},{4670,-9177,2},{4668,-9195,2},{4670,-9203,2},{4677,-9210,2}, {4678,-9210,2},{4682,-9207,2},{4693,-9182,2},{4700,-9172,2},{4702,-9167,2}, {4710,-9157,2},{4720,-9137,2},{4743,-9110,2},{4762,-9078,2},{4772,-9052,2}, {4778,-9020,2},{4788,-8983,2},{4795,-8970,2},{4797,-8968,2},{4797,-8967,2}, {4800,-8963,2},{4798,-8958,2},{4802,-8958,2},{4450,-7582,130},{4448,-7578,2}, {4445,-7577,2},{4442,-7580,2},{4442,-7583,2},{4438,-7585,2},{4435,-7593,2}, {4427,-7605,2},{4422,-7618,2},{4412,-7637,2},{4408,-7635,2},{4407,-7630,2}, {4403,-7630,2},{4407,-7627,2},{4408,-7622,2},{4407,-7620,2},{4407,-7615,2}, {4405,-7617,2},{4405,-7612,2},{4400,-7622,2},{4398,-7622,2},{4397,-7617,2}, {4398,-7613,2},{4400,-7608,2},{4400,-7605,2},{4398,-7607,2},{4395,-7613,2}, {4390,-7615,2},{4387,-7622,2},{4387,-7623,2},{4390,-7623,2},{4387,-7630,2}, {4382,-7623,2},{4373,-7620,2},{4365,-7622,2},{4367,-7620,2},{4367,-7617,2}, {4363,-7622,2},{4360,-7622,2},{4358,-7618,2},{4353,-7627,2},{4352,-7630,2}, {4353,-7642,2},{4348,-7650,2},{4347,-7657,2},{4342,-7663,2},{4338,-7668,2}, {4333,-7672,2},{4335,-7673,2},{4333,-7677,2},{4330,-7693,2},{4327,-7693,2}, {4325,-7695,2},{4328,-7698,2},{4330,-7715,2},{4328,-7738,2},{4325,-7753,2}, {4325,-7758,2},{4333,-7775,2},{4338,-7810,2},{4338,-7855,2},{4333,-7875,2}, {4332,-7888,2},{4327,-7905,2},{6517,-12348,130},{6518,-12350,2},{6520,-12343,2}, {6523,-12318,2},{6522,-12298,2},{6527,-12287,2},{6535,-12273,2},{6543,-12280,2}, {6548,-12293,2},{6548,-12282,2},{6555,-12278,2},{6557,-12258,2},{6560,-12255,2}, {6563,-12235,2},{6578,-12213,2},{6585,-12218,2},{6590,-12250,2},{6592,-12255,2}, {6595,-12253,2},{6597,-12262,2},{6597,-12278,2},{6598,-12248,2},{6602,-12238,2}, {6600,-12223,2},{6598,-12217,2},{6598,-12205,2},{6593,-12187,2},{6592,-12180,2}, {6593,-12147,2},{6597,-12135,2},{6600,-12125,2},{6608,-12123,2},{6612,-12137,2}, {6610,-12157,2},{6615,-12160,2},{6620,-12172,2},{6625,-12193,2},{6627,-12268,2}, {6625,-12305,2},{6618,-12293,2},{6610,-12305,2},{6610,-12312,2},{6607,-12308,2}, {6603,-12310,2},{6605,-12317,2},{6615,-12323,2},{6617,-12327,2},{6613,-12377,2}, {6610,-12387,2},{6612,-12407,2},{6618,-12420,2},{6615,-12460,2},{6613,-12462,2}, {6610,-12455,2},{6607,-12458,2},{6600,-12455,2},{6598,-12460,2},{6602,-12468,2}, {6603,-12470,2},{6603,-12463,2},{6605,-12470,2},{6602,-12480,2},{6592,-12478,2}, {6593,-12487,2},{6597,-12488,2},{6603,-12502,2},{6612,-12510,2},{6617,-12512,2}, {6625,-12508,2},{6630,-12498,2},{6630,-12495,2},{6628,-12493,2},{6627,-12488,2}, {6630,-12472,2},{6628,-12467,2},{6625,-12448,2},{6630,-12443,2},{6630,-12440,2}, {6635,-12435,2},{6637,-12428,2},{6632,-12408,2},{6632,-12400,2},{6638,-12380,2}, {6638,-12370,2},{6640,-12367,2},{6647,-12325,2},{6653,-12315,2},{6653,-12312,2}, {6652,-12317,2},{6650,-12313,2},{6648,-12315,2},{6647,-12310,2},{6648,-12303,2}, {6647,-12300,2},{6648,-12297,2},{6655,-12290,2},{6655,-12248,2},{6657,-12247,2}, {6657,-12257,2},{6660,-12250,2},{6657,-12247,2},{6662,-12237,2},{6660,-12233,2}, {6657,-12232,2},{6657,-12238,2},{6655,-12235,2},{6660,-12223,2},{6662,-12200,2}, {6668,-12175,2},{6673,-12145,2},{6677,-12148,2},{6678,-12135,2},{6680,-12130,2}, {6680,-12127,2},{6682,-12127,2},{6687,-12117,2},{6685,-12100,2},{6687,-12088,2}, {6688,-12085,2},{6690,-12065,2},{6695,-12055,2},{6695,-12028,2},{6698,-12017,2}, {6700,-12005,2},{6703,-11992,2},{6703,-11985,2},{6705,-11980,2},{6702,-11973,2}, {6700,-11982,2},{6698,-11978,2},{6700,-11962,2},{6697,-11963,2},{6700,-11945,2}, {6697,-11950,2},{6695,-11952,2},{6693,-11942,2},{6695,-11920,2},{6690,-11922,2}, {6690,-11913,2},{6690,-11900,2},{6687,-11895,2},{6683,-11932,2},{6680,-11935,2}, {6678,-11945,2},{6675,-11947,2},{6677,-11957,2},{6675,-11958,2},{6675,-11952,2}, {6673,-11953,2},{6673,-11957,2},{6673,-11963,2},{6672,-11965,2},{6673,-11970,2}, {6668,-11978,2},{6668,-11988,2},{6665,-12003,2},{6667,-12010,2},{6667,-12013,2}, {6663,-12005,2},{6660,-12010,2},{6660,-12015,2},{6655,-12018,2},{6655,-12032,2}, {6652,-12033,2},{6652,-12038,2},{6648,-12032,2},{6648,-12037,2},{6647,-12035,2}, {6647,-12023,2},{6645,-12035,2},{6647,-12042,2},{6647,-12045,2},{6642,-12050,2}, {6638,-12045,2},{6640,-12037,2},{6637,-12028,2},{6638,-12022,2},{6640,-12015,2}, {6638,-11997,2},{6635,-11998,2},{6632,-11987,2},{6637,-11977,2},{6637,-11965,2}, {6635,-11960,2},{6633,-11962,2},{6633,-11980,2},{6632,-11980,2},{6630,-11962,2}, {6630,-11952,2},{6632,-11950,2},{6633,-11953,2},{6635,-11940,2},{6632,-11923,2}, {6632,-11885,2},{6630,-11882,2},{6635,-11868,2},{6635,-11862,2},{6633,-11860,2}, {6635,-11853,2},{6637,-11847,2},{6635,-11847,2},{6637,-11840,2},{6647,-11812,2}, {6650,-11813,2},{6647,-11817,2},{6643,-11828,2},{6650,-11822,2},{6658,-11807,2}, {6662,-11782,2},{6667,-11773,2},{6668,-11762,2},{6663,-11765,2},{6663,-11773,2}, {6660,-11772,2},{6663,-11760,2},{6662,-11760,2},{6657,-11773,2},{6655,-11772,2}, {6652,-11775,2},{6648,-11785,2},{6647,-11788,2},{6643,-11783,2},{6642,-11790,2}, {6642,-11783,2},{6643,-11778,2},{6642,-11775,2},{6648,-11755,2},{6648,-11752,2}, {6645,-11755,2},{6647,-11747,2},{6645,-11747,2},{6642,-11750,2},{6643,-11758,2}, {6637,-11765,2},{6635,-11757,2},{6635,-11765,2},{6632,-11772,2},{6628,-11770,2}, {6628,-11767,2},{6630,-11768,2},{6627,-11762,2},{6627,-11765,2},{6623,-11765,2}, {6622,-11773,2},{6623,-11772,2},{6623,-11773,2},{6620,-11780,2},{6617,-11782,2}, {6618,-11770,2},{6618,-11768,2},{6615,-11775,2},{6617,-11782,2},{6613,-11782,2}, {6615,-11787,2},{6615,-11792,2},{6610,-11803,2},{6608,-11798,2},{6607,-11798,2}, {6607,-11778,2},{6603,-11778,2},{6605,-11788,2},{6603,-11795,2},{6605,-11793,2}, {6602,-11813,2},{6600,-11810,2},{6595,-11817,2},{6592,-11815,2},{6592,-11822,2}, {6587,-11827,2},{6583,-11825,2},{6585,-11820,2},{6583,-11820,2},{6582,-11818,2}, {6580,-11808,2},{6583,-11792,2},{6587,-11785,2},{6585,-11778,2},{6578,-11800,2}, {6575,-11795,2},{6577,-11780,2},{6573,-11783,2},{6572,-11780,2},{6573,-11788,2}, {6572,-11792,2},{6573,-11800,2},{6572,-11800,2},{6568,-11803,2},{6567,-11810,2}, {6568,-11818,2},{6567,-11828,2},{6565,-11838,2},{6568,-11837,2},{6568,-11853,2}, {6565,-11858,2},{6563,-11850,2},{6562,-11852,2},{6565,-11860,2},{6563,-11865,2}, {6567,-11870,2},{6568,-11870,2},{6570,-11865,2},{6572,-11870,2},{6573,-11887,2}, {6575,-11878,2},{6578,-11890,2},{6580,-11920,2},{6578,-11930,2},{6580,-11968,2}, {6573,-11977,2},{6573,-11970,2},{6572,-11970,2},{6572,-11960,2},{6570,-11960,2}, {6568,-11970,2},{6567,-11985,2},{6565,-11985,2},{6565,-11988,2},{6562,-11993,2}, {6562,-11992,2},{6563,-12010,2},{6557,-12002,2},{6550,-11983,2},{6548,-11982,2}, {6547,-11975,2},{6547,-11965,2},{6543,-11955,2},{6532,-11947,2},{6535,-11975,2}, {6533,-11978,2},{6535,-11983,2},{6533,-11985,2},{6533,-11988,2},{6532,-11988,2}, {6525,-12002,2},{6518,-12005,2},{6518,-12015,2},{6515,-12027,2},{6505,-12045,2}, {6498,-12068,2},{6497,-12082,2},{6493,-12092,2},{6493,-12102,2},{6492,-12105,2}, {6490,-12103,2},{6488,-12110,2},{6485,-12110,2},{6485,-12118,2},{6482,-12118,2}, {6482,-12130,2},{6482,-12137,2},{6485,-12138,2},{6488,-12150,2},{6493,-12150,2}, {6500,-12138,2},{6498,-12138,2},{6495,-12128,2},{6498,-12132,2},{6500,-12123,2}, {6498,-12117,2},{6498,-12108,2},{6503,-12095,2},{6507,-12102,2},{6512,-12098,2}, {6518,-12072,2},{6527,-12055,2},{6543,-12035,2},{6550,-12033,2},{6553,-12040,2}, {6555,-12037,2},{6558,-12040,2},{6562,-12068,2},{6560,-12080,2},{6557,-12093,2}, {6553,-12103,2},{6552,-12113,2},{6548,-12117,2},{6538,-12153,2},{6535,-12157,2}, {6535,-12152,2},{6532,-12152,2},{6527,-12162,2},{6523,-12162,2},{6522,-12158,2}, {6515,-12160,2},{6512,-12167,2},{6507,-12158,2},{6507,-12167,2},{6507,-12172,2}, {6505,-12172,2},{6503,-12180,2},{6502,-12182,2},{6500,-12193,2},{6498,-12200,2}, {6498,-12207,2},{6495,-12202,2},{6493,-12203,2},{6497,-12215,2},{6498,-12218,2}, {6502,-12232,2},{6502,-12257,2},{6508,-12323,2},{6512,-12333,2},{6517,-12348,2}, {6043,-13320,130},{6030,-13297,2},{6022,-13287,2},{6015,-13268,2},{6012,-13262,2}, {6010,-13250,2},{6008,-13253,2},{6003,-13240,2},{5993,-13233,2},{5985,-13222,2}, {5983,-13225,2},{5970,-13215,2},{5963,-13213,2},{5960,-13208,2},{5960,-13215,2}, {5958,-13218,2},{5960,-13217,2},{5963,-13217,2},{5973,-13225,2},{5977,-13223,2}, {5988,-13237,2},{6000,-13245,2},{6008,-13260,2},{6020,-13293,2},{6037,-13315,2}, {6037,-13318,2},{6045,-13325,2},{6043,-13320,2},{5672,-12477,130},{5667,-12468,2}, {5660,-12462,2},{5653,-12448,2},{5650,-12448,2},{5643,-12442,2},{5638,-12442,2}, {5638,-12437,2},{5633,-12438,2},{5633,-12433,2},{5632,-12433,2},{5623,-12422,2}, {5622,-12415,2},{5623,-12410,2},{5628,-12403,2},{5630,-12400,2},{5615,-12410,2}, {5612,-12407,2},{5603,-12395,2},{5605,-12367,2},{5603,-12353,2},{5598,-12322,2}, {5600,-12315,2},{5603,-12310,2},{5610,-12312,2},{5608,-12308,2},{5610,-12282,2}, {5612,-12278,2},{5610,-12273,2},{5615,-12263,2},{5617,-12255,2},{5613,-12247,2}, {5613,-12235,2},{5612,-12233,2},{5610,-12225,2},{5603,-12217,2},{5600,-12218,2}, {5608,-12235,2},{5610,-12250,2},{5612,-12257,2},{5607,-12273,2},{5603,-12273,2}, {5607,-12280,2},{5607,-12302,2},{5598,-12310,2},{5597,-12318,2},{5598,-12328,2}, {5602,-12350,2},{5603,-12370,2},{5602,-12377,2},{5597,-12382,2},{5592,-12378,2}, {5588,-12378,2},{5587,-12375,2},{5585,-12377,2},{5583,-12375,2},{5585,-12372,2}, {5582,-12368,2},{5580,-12370,2},{5573,-12365,2},{5572,-12358,2},{5570,-12358,2}, {5562,-12345,2},{5560,-12343,2},{5560,-12340,2},{5555,-12340,2},{5553,-12335,2}, {5548,-12333,2},{5542,-12322,2},{5540,-12323,2},{5535,-12322,2},{5540,-12318,2}, {5542,-12317,2},{5538,-12318,2},{5533,-12315,2},{5533,-12318,2},{5525,-12315,2}, {5522,-12317,2},{5517,-12312,2},{5518,-12318,2},{5538,-12327,2},{5548,-12338,2}, {5558,-12345,2},{5568,-12363,2},{5568,-12370,2},{5587,-12388,2},{5587,-12392,2}, {5575,-12383,2},{5572,-12383,2},{5582,-12390,2},{5583,-12393,2},{5585,-12393,2}, {5587,-12398,2},{5590,-12398,2},{5590,-12405,2},{5592,-12403,2},{5592,-12407,2}, {5597,-12402,2},{5602,-12403,2},{5602,-12405,2},{5600,-12418,2},{5600,-12422,2}, {5598,-12425,2},{5602,-12428,2},{5607,-12442,2},{5612,-12447,2},{5610,-12452,2}, {5613,-12447,2},{5610,-12443,2},{5602,-12423,2},{5603,-12417,2},{5607,-12413,2}, {5610,-12422,2},{5613,-12422,2},{5622,-12433,2},{5622,-12438,2},{5625,-12438,2}, {5632,-12447,2},{5643,-12452,2},{5655,-12462,2},{5663,-12472,2},{5667,-12475,2}, {5670,-12480,2},{5675,-12483,2},{5672,-12480,2},{5672,-12477,2},{6135,-11768,130}, {6142,-11792,2},{6140,-11800,2},{6137,-11798,2},{6137,-11800,2},{6142,-11807,2}, {6140,-11827,2},{6140,-11832,2},{6135,-11833,2},{6132,-11845,2},{6128,-11855,2}, {6128,-11867,2},{6123,-11887,2},{6122,-11915,2},{6120,-11948,2},{6125,-11958,2}, {6127,-11972,2},{6130,-11982,2},{6132,-11993,2},{6135,-12000,2},{6132,-11978,2}, {6123,-11948,2},{6123,-11942,2},{6125,-11903,2},{6133,-11850,2},{6137,-11840,2}, {6150,-11838,2},{6153,-11835,2},{6157,-11825,2},{6157,-11812,2},{6153,-11812,2}, {6150,-11805,2},{6148,-11798,2},{6145,-11793,2},{6145,-11787,2},{6140,-11777,2}, {6140,-11770,2},{6135,-11765,2},{6135,-11768,2},{4450,-7582,130},{4448,-7578,2}, {4445,-7577,2},{4442,-7580,2},{4442,-7583,2},{4438,-7585,2},{4435,-7593,2}, {4427,-7605,2},{4422,-7618,2},{4412,-7637,2},{4408,-7635,2},{4407,-7630,2}, {4403,-7630,2},{4407,-7627,2},{4408,-7622,2},{4407,-7620,2},{4407,-7615,2}, {4405,-7617,2},{4405,-7612,2},{4400,-7622,2},{4398,-7622,2},{4397,-7617,2}, {4398,-7613,2},{4400,-7608,2},{4400,-7605,2},{4398,-7607,2},{4395,-7613,2}, {4390,-7615,2},{4387,-7622,2},{4387,-7623,2},{4390,-7623,2},{4387,-7630,2}, {4382,-7623,2},{4373,-7620,2},{4365,-7622,2},{4367,-7620,2},{4367,-7617,2}, {4363,-7622,2},{4360,-7622,2},{4358,-7618,2},{4353,-7627,2},{4352,-7630,2}, {4353,-7642,2},{4348,-7650,2},{4347,-7657,2},{4342,-7663,2},{4338,-7668,2}, {4333,-7672,2},{4335,-7673,2},{4333,-7677,2},{4330,-7693,2},{4327,-7693,2}, {4325,-7695,2},{4328,-7698,2},{4330,-7715,2},{4328,-7738,2},{4325,-7753,2}, {4325,-7758,2},{4333,-7775,2},{4338,-7810,2},{4338,-7855,2},{4333,-7875,2}, {4332,-7888,2},{4327,-7905,2},{4167,-11277,130},{4162,-11278,2},{4153,-11275,2}, {4147,-11270,2},{4143,-11263,2},{4143,-11257,2},{4140,-11255,2},{4133,-11250,2}, {4128,-11250,2},{4122,-11248,2},{4122,-11242,2},{4122,-11240,2},{4123,-11235,2}, {4122,-11228,2},{4115,-11225,2},{4113,-11220,2},{4110,-11218,2},{4107,-11213,2}, {4103,-11210,2},{4100,-11210,2},{4098,-11207,2},{4093,-11205,2},{4093,-11200,2}, {4092,-11205,2},{4093,-11208,2},{4105,-11217,2},{4108,-11223,2},{4105,-11227,2}, {4093,-11222,2},{4088,-11220,2},{4085,-11217,2},{4080,-11217,2},{4075,-11220,2}, {4068,-11235,2},{4070,-11237,2},{4078,-11238,2},{4083,-11243,2},{4088,-11245,2}, {4095,-11248,2},{4095,-11253,2},{4102,-11253,2},{4108,-11257,2},{4108,-11262,2}, {4097,-11268,2},{4105,-11275,2},{4118,-11278,2},{4130,-11287,2},{4133,-11292,2}, {4137,-11290,2},{4143,-11295,2},{4147,-11293,2},{4150,-11295,2},{4157,-11295,2}, {4158,-11292,2},{4163,-11292,2},{4167,-11288,2},{4168,-11278,2},{4167,-11277,2}, {2718,-8075,130},{2712,-8067,2},{2695,-8062,2},{2687,-8063,2},{2680,-8070,2}, {2675,-8070,2},{2673,-8072,2},{2677,-8072,2},{2675,-8075,2},{2675,-8073,2}, {2668,-8073,2},{2670,-8082,2},{2675,-8090,2},{2685,-8097,2},{2685,-8098,2}, {2688,-8098,2},{2688,-8105,2},{2688,-8107,2},{2695,-8107,2},{2695,-8110,2}, {2697,-8110,2},{2702,-8098,2},{2705,-8095,2},{2707,-8097,2},{2707,-8092,2}, {2710,-8092,2},{2718,-8083,2},{2720,-8080,2},{2718,-8075,2},{4760,-10815,130}, {4762,-10803,2},{4760,-10797,2},{4758,-10792,2},{4747,-10787,2},{4748,-10785,2}, {4755,-10785,2},{4758,-10773,2},{4765,-10765,2},{4767,-10772,2},{4768,-10773,2}, {4767,-10757,2},{4763,-10745,2},{4765,-10743,2},{4768,-10742,2},{4775,-10733,2}, {4772,-10735,2},{4768,-10722,2},{4770,-10710,2},{4768,-10707,2},{4770,-10692,2}, {4770,-10690,2},{4773,-10690,2},{4775,-10698,2},{4777,-10698,2},{4778,-10695,2}, {4775,-10690,2},{4777,-10688,2},{4778,-10688,2},{4777,-10683,2},{4778,-10680,2}, {4777,-10677,2},{4780,-10678,2},{4782,-10670,2},{4783,-10672,2},{4782,-10667,2}, {4783,-10665,2},{4785,-10662,2},{4787,-10657,2},{4788,-10658,2},{4788,-10657,2}, {4793,-10655,2},{4793,-10663,2},{4795,-10663,2},{4797,-10657,2},{4798,-10652,2}, {4798,-10648,2},{4803,-10635,2},{4802,-10633,2},{4800,-10635,2},{4795,-10628,2}, {4797,-10635,2},{4795,-10637,2},{4787,-10635,2},{4785,-10632,2},{4782,-10630,2}, {4783,-10622,2},{4780,-10627,2},{4777,-10627,2},{4775,-10623,2},{4773,-10623,2}, {4773,-10625,2},{4765,-10620,2},{4762,-10622,2},{4758,-10620,2},{4750,-10630,2}, {4755,-10628,2},{4758,-10623,2},{4762,-10625,2},{4765,-10623,2},{4768,-10630,2}, {4770,-10628,2},{4773,-10630,2},{4775,-10633,2},{4777,-10630,2},{4778,-10632,2}, {4778,-10637,2},{4782,-10637,2},{4787,-10643,2},{4788,-10642,2},{4790,-10643,2}, {4792,-10647,2},{4785,-10648,2},{4783,-10648,2},{4782,-10652,2},{4782,-10655,2}, {4777,-10657,2},{4772,-10655,2},{4778,-10662,2},{4773,-10670,2},{4770,-10670,2}, {4768,-10675,2},{4773,-10677,2},{4773,-10683,2},{4772,-10685,2},{4765,-10683,2}, {4760,-10687,2},{4767,-10685,2},{4768,-10687,2},{4767,-10695,2},{4763,-10697,2}, {4762,-10703,2},{4765,-10700,2},{4767,-10702,2},{4767,-10723,2},{4770,-10738,2}, {4762,-10742,2},{4765,-10753,2},{4763,-10765,2},{4757,-10772,2},{4752,-10782,2}, {4747,-10783,2},{4745,-10788,2},{4740,-10788,2},{4735,-10795,2},{4750,-10790,2}, {4757,-10792,2},{4758,-10795,2},{4760,-10805,2},{4758,-10815,2},{4760,-10820,2}, {4760,-10815,2},{4818,-10298,130},{4813,-10270,2},{4803,-10257,2},{4803,-10252,2}, {4793,-10260,2},{4790,-10260,2},{4787,-10263,2},{4783,-10262,2},{4782,-10258,2}, {4778,-10243,2},{4782,-10237,2},{4787,-10242,2},{4797,-10243,2},{4797,-10237,2}, {4793,-10232,2},{4798,-10228,2},{4798,-10223,2},{4795,-10228,2},{4793,-10227,2}, {4792,-10230,2},{4782,-10225,2},{4775,-10225,2},{4775,-10220,2},{4773,-10218,2}, {4773,-10210,2},{4772,-10212,2},{4772,-10222,2},{4767,-10220,2},{4765,-10223,2}, {4762,-10222,2},{4762,-10215,2},{4755,-10195,2},{4757,-10192,2},{4755,-10187,2}, {4757,-10180,2},{4755,-10165,2},{4757,-10158,2},{4760,-10160,2},{4760,-10157,2}, {4760,-10138,2},{4762,-10135,2},{4762,-10127,2},{4765,-10120,2},{4765,-10115,2}, {4763,-10117,2},{4758,-10110,2},{4757,-10112,2},{4758,-10123,2},{4757,-10125,2}, {4755,-10125,2},{4753,-10128,2},{4753,-10135,2},{4750,-10138,2},{4753,-10150,2}, {4748,-10168,2},{4750,-10175,2},{4747,-10182,2},{4748,-10188,2},{4745,-10190,2}, {4747,-10195,2},{4750,-10195,2},{4753,-10207,2},{4753,-10210,2},{4755,-10208,2}, {4757,-10215,2},{4760,-10225,2},{4760,-10232,2},{4758,-10233,2},{4758,-10237,2}, {4758,-10240,2},{4753,-10243,2},{4762,-10242,2},{4762,-10230,2},{4772,-10228,2}, {4777,-10233,2},{4775,-10240,2},{4777,-10248,2},{4778,-10260,2},{4782,-10265,2}, {4787,-10267,2},{4795,-10265,2},{4798,-10257,2},{4800,-10257,2},{4800,-10262,2}, {4807,-10270,2},{4812,-10280,2},{4813,-10300,2},{4815,-10305,2},{4812,-10318,2}, {4805,-10323,2},{4803,-10337,2},{4800,-10347,2},{4800,-10350,2},{4807,-10357,2}, {4812,-10357,2},{4812,-10362,2},{4802,-10377,2},{4805,-10377,2},{4808,-10382,2}, {4810,-10372,2},{4815,-10363,2},{4815,-10358,2},{4817,-10357,2},{4815,-10353,2}, {4807,-10352,2},{4803,-10347,2},{4808,-10335,2},{4808,-10325,2},{4817,-10318,2}, {4818,-10312,2},{4818,-10300,2},{4668,-10068,130},{4667,-10063,2},{4662,-10060,2}, {4662,-10055,2},{4658,-10055,2},{4648,-10055,2},{4645,-10057,2},{4633,-10053,2}, {4627,-10057,2},{4623,-10055,2},{4615,-10060,2},{4612,-10055,2},{4608,-10058,2}, {4600,-10053,2},{4588,-10040,2},{4592,-10033,2},{4590,-10032,2},{4583,-10037,2}, {4573,-10030,2},{4570,-10030,2},{4563,-10042,2},{4555,-10045,2},{4552,-10042,2}, {4548,-10032,2},{4543,-10030,2},{4538,-10025,2},{4532,-10030,2},{4528,-10027,2}, {4523,-10025,2},{4517,-10027,2},{4508,-10032,2},{4507,-10030,2},{4507,-10025,2}, {4500,-10028,2},{4502,-10035,2},{4500,-10040,2},{4495,-10040,2},{4488,-10038,2}, {4477,-10050,2},{4473,-10057,2},{4477,-10062,2},{4480,-10067,2},{4478,-10068,2}, {4470,-10060,2},{4462,-10062,2},{4458,-10060,2},{4457,-10055,2},{4458,-10052,2}, {4462,-10047,2},{4457,-10048,2},{4455,-10047,2},{4448,-10055,2},{4448,-10045,2}, {4450,-10042,2},{4448,-10040,2},{4447,-10038,2},{4443,-10040,2},{4445,-10045,2}, {4443,-10057,2},{4447,-10062,2},{4452,-10065,2},{4452,-10062,2},{4455,-10057,2}, {4455,-10063,2},{4458,-10068,2},{4467,-10067,2},{4467,-10068,2},{4470,-10067,2}, {4473,-10070,2},{4473,-10075,2},{4473,-10077,2},{4475,-10078,2},{4477,-10085,2}, {4475,-10093,2},{4475,-10095,2},{4472,-10102,2},{4473,-10113,2},{4470,-10120,2}, {4470,-10122,2},{4477,-10115,2},{4477,-10100,2},{4478,-10097,2},{4482,-10098,2}, {4483,-10092,2},{4480,-10090,2},{4480,-10085,2},{4485,-10087,2},{4480,-10080,2}, {4482,-10077,2},{4483,-10075,2},{4488,-10078,2},{4488,-10077,2},{4488,-10070,2}, {4485,-10067,2},{4485,-10063,2},{4478,-10058,2},{4478,-10055,2},{4482,-10053,2}, {4490,-10055,2},{4485,-10047,2},{4488,-10043,2},{4505,-10048,2},{4503,-10043,2}, {4505,-10038,2},{4505,-10033,2},{4512,-10035,2},{4518,-10032,2},{4520,-10033,2}, {4522,-10030,2},{4525,-10030,2},{4530,-10033,2},{4532,-10037,2},{4535,-10038,2}, {4537,-10050,2},{4533,-10062,2},{4533,-10072,2},{4540,-10045,2},{4535,-10035,2}, {4538,-10030,2},{4548,-10038,2},{4550,-10048,2},{4565,-10062,2},{4565,-10067,2}, {4568,-10062,2},{4565,-10057,2},{4560,-10048,2},{4562,-10045,2},{4568,-10042,2}, {4568,-10033,2},{4587,-10042,2},{4587,-10043,2},{4588,-10048,2},{4592,-10055,2}, {4600,-10058,2},{4603,-10062,2},{4607,-10062,2},{4610,-10067,2},{4613,-10065,2}, {4617,-10068,2},{4622,-10058,2},{4628,-10058,2},{4633,-10057,2},{4640,-10058,2}, {4642,-10062,2},{4645,-10060,2},{4657,-10060,2},{4662,-10063,2},{4667,-10078,2}, {4672,-10082,2},{4668,-10073,2},{4668,-10068,2},{4395,-9935,130},{4392,-9935,2}, {4385,-9930,2},{4380,-9937,2},{4377,-9942,2},{4372,-9940,2},{4368,-9945,2}, {4367,-9938,2},{4365,-9935,2},{4358,-9933,2},{4352,-9927,2},{4348,-9930,2}, {4348,-9928,2},{4345,-9923,2},{4343,-9915,2},{4332,-9905,2},{4328,-9898,2}, {4325,-9888,2},{4318,-9885,2},{4317,-9877,2},{4317,-9873,2},{4310,-9870,2}, {4308,-9857,2},{4305,-9855,2},{4307,-9872,2},{4310,-9875,2},{4313,-9878,2}, {4315,-9888,2},{4318,-9892,2},{4322,-9890,2},{4323,-9890,2},{4328,-9902,2}, {4342,-9918,2},{4343,-9927,2},{4347,-9932,2},{4350,-9933,2},{4353,-9930,2}, {4357,-9935,2},{4363,-9937,2},{4365,-9940,2},{4365,-9947,2},{4368,-9948,2}, {4370,-9947,2},{4372,-9942,2},{4378,-9943,2},{4380,-9937,2},{4385,-9932,2}, {4392,-9938,2},{4398,-9937,2},{4398,-9933,2},{4395,-9935,2},{3657,-11432,130}, {3647,-11433,2},{3642,-11432,2},{3633,-11437,2},{3620,-11438,2},{3617,-11437,2}, {3612,-11430,2},{3607,-11428,2},{3607,-11425,2},{3605,-11425,2},{3603,-11422,2}, {3603,-11415,2},{3607,-11415,2},{3617,-11410,2},{3620,-11405,2},{3622,-11402,2}, {3627,-11400,2},{3615,-11395,2},{3613,-11392,2},{3610,-11390,2},{3607,-11385,2}, {3607,-11380,2},{3603,-11375,2},{3598,-11375,2},{3595,-11370,2},{3590,-11368,2}, {3585,-11363,2},{3583,-11363,2},{3585,-11367,2},{3587,-11367,2},{3588,-11372,2}, {3593,-11372,2},{3597,-11377,2},{3603,-11378,2},{3605,-11387,2},{3613,-11393,2}, {3612,-11395,2},{3612,-11398,2},{3620,-11400,2},{3618,-11405,2},{3602,-11412,2}, {3600,-11423,2},{3602,-11425,2},{3605,-11433,2},{3610,-11432,2},{3613,-11435,2}, {3610,-11437,2},{3612,-11440,2},{3608,-11440,2},{3605,-11445,2},{3608,-11447,2}, {3610,-11448,2},{3615,-11455,2},{3613,-11457,2},{3613,-11462,2},{3610,-11467,2}, {3608,-11470,2},{3607,-11472,2},{3603,-11470,2},{3602,-11473,2},{3603,-11473,2}, {3603,-11475,2},{3605,-11482,2},{3608,-11480,2},{3613,-11485,2},{3613,-11472,2}, {3615,-11472,2},{3615,-11468,2},{3617,-11457,2},{3617,-11445,2},{3627,-11442,2}, {3633,-11443,2},{3643,-11437,2},{3647,-11437,2},{3647,-11440,2},{3650,-11442,2}, {3648,-11435,2},{3652,-11435,2},{3658,-11433,2},{3657,-11432,2},{3788,-11038,130}, {3785,-11040,2},{3780,-11038,2},{3780,-11042,2},{3780,-11043,2},{3778,-11042,2}, {3772,-11042,2},{3770,-11045,2},{3765,-11045,2},{3762,-11055,2},{3757,-11058,2}, {3752,-11063,2},{3748,-11063,2},{3747,-11070,2},{3745,-11070,2},{3743,-11065,2}, {3738,-11070,2},{3735,-11070,2},{3732,-11073,2},{3728,-11082,2},{3723,-11083,2}, {3720,-11087,2},{3718,-11080,2},{3718,-11068,2},{3722,-11065,2},{3720,-11063,2}, {3718,-11067,2},{3717,-11073,2},{3718,-11088,2},{3712,-11097,2},{3710,-11107,2}, {3708,-11110,2},{3710,-11112,2},{3708,-11113,2},{3708,-11117,2},{3705,-11117,2}, {3703,-11113,2},{3700,-11113,2},{3703,-11120,2},{3702,-11122,2},{3698,-11122,2}, {3703,-11127,2},{3700,-11128,2},{3700,-11138,2},{3697,-11137,2},{3695,-11138,2}, {3693,-11147,2},{3700,-11150,2},{3705,-11155,2},{3703,-11143,2},{3705,-11142,2}, {3710,-11145,2},{3703,-11137,2},{3703,-11132,2},{3705,-11132,2},{3707,-11133,2}, {3710,-11133,2},{3712,-11127,2},{3717,-11130,2},{3715,-11125,2},{3708,-11120,2}, {3713,-11117,2},{3718,-11118,2},{3715,-11112,2},{3712,-11112,2},{3713,-11095,2}, {3727,-11087,2},{3732,-11090,2},{3730,-11083,2},{3732,-11083,2},{3733,-11085,2}, {3735,-11087,2},{3733,-11078,2},{3737,-11073,2},{3740,-11073,2},{3743,-11070,2}, {3752,-11077,2},{3750,-11073,2},{3757,-11077,2},{3757,-11075,2},{3750,-11068,2}, {3750,-11065,2},{3757,-11063,2},{3765,-11055,2},{3767,-11050,2},{3770,-11048,2}, {3777,-11045,2},{3778,-11047,2},{3782,-11047,2},{3785,-11043,2},{3788,-11042,2}, {3790,-11042,2},{3790,-11037,2},{3788,-11038,2},{3697,-8822,130},{3687,-8813,2}, {3662,-8803,2},{3652,-8800,2},{3643,-8803,2},{3632,-8795,2},{3618,-8793,2}, {3617,-8790,2},{3610,-8792,2},{3603,-8798,2},{3600,-8800,2},{3595,-8800,2}, {3593,-8797,2},{3593,-8802,2},{3597,-8803,2},{3600,-8800,2},{3605,-8803,2}, {3607,-8798,2},{3613,-8793,2},{3632,-8798,2},{3640,-8805,2},{3635,-8808,2}, {3625,-8808,2},{3625,-8810,2},{3630,-8810,2},{3630,-8815,2},{3633,-8813,2}, {3638,-8810,2},{3640,-8812,2},{3643,-8808,2},{3653,-8805,2},{3660,-8807,2}, {3662,-8810,2},{3665,-8808,2},{3668,-8808,2},{3672,-8812,2},{3693,-8822,2}, {3698,-8828,2},{3702,-8828,2},{3697,-8822,2},{3485,-8752,130},{3482,-8743,2}, {3482,-8732,2},{3477,-8728,2},{3477,-8720,2},{3470,-8710,2},{3468,-8700,2}, {3463,-8697,2},{3462,-8693,2},{3457,-8690,2},{3468,-8715,2},{3472,-8715,2}, {3473,-8717,2},{3475,-8723,2},{3473,-8727,2},{3480,-8738,2},{3480,-8745,2}, {3482,-8755,2},{3480,-8758,2},{3477,-8770,2},{3478,-8768,2},{3485,-8752,2}, {1212,-8577,130},{1208,-8572,2},{1203,-8563,2},{1205,-8560,2},{1205,-8558,2}, {1187,-8543,2},{1188,-8542,2},{1187,-8535,2},{1183,-8530,2},{1180,-8527,2}, {1175,-8518,2},{1157,-8505,2},{1143,-8493,2},{1143,-8490,2},{1137,-8488,2}, {1133,-8485,2},{1132,-8487,2},{1130,-8482,2},{1127,-8478,2},{1122,-8478,2}, {1113,-8478,2},{1110,-8477,2},{1105,-8482,2},{1102,-8488,2},{1103,-8492,2}, {1105,-8493,2},{1105,-8498,2},{1107,-8498,2},{1108,-8512,2},{1110,-8517,2}, {1108,-8520,2},{1110,-8525,2},{1115,-8533,2},{1117,-8543,2},{1120,-8552,2}, {1123,-8555,2},{1125,-8562,2},{1135,-8573,2},{1145,-8578,2},{1150,-8578,2}, {1158,-8585,2},{1160,-8587,2},{1162,-8587,2},{1160,-8585,2},{1168,-8587,2}, {1165,-8587,2},{1172,-8592,2},{1173,-8592,2},{1175,-8588,2},{1180,-8588,2}, {1188,-8593,2},{1190,-8592,2},{1188,-8590,2},{1190,-8590,2},{1192,-8593,2}, {1198,-8593,2},{1208,-8587,2},{1208,-8582,2},{1212,-8578,2},{1212,-8577,2}, {888,-7960,131},{893,-7963,3},{900,-7972,3},{903,-7973,3},{903,-7978,3}, {905,-7982,3},{903,-7982,3},{903,-7983,3},{905,-7987,3},{907,-7987,3},{907,-7983,3}, {910,-7987,3},{910,-7990,3},{910,-7992,3},{908,-7990,3},{907,-7992,3},{908,-7993,3}, {907,-7993,3},{908,-7995,3},{902,-7995,3},{900,-7995,3},{903,-7997,3},{902,-7998,3}, {907,-8000,3},{905,-8003,3},{902,-8000,3},{903,-8003,3},{902,-8002,3},{900,-8003,3}, {903,-8005,3},{902,-8008,3},{905,-8005,3},{907,-8005,3},{910,-8002,3},{910,-8000,3}, {912,-7998,3},{912,-7997,3},{913,-7995,3},{917,-7998,3},{927,-7998,3},{927,-8003,3}, {935,-7997,3},{935,-7993,3},{930,-7993,3},{930,-7992,3},{935,-7990,3},{935,-7987,3}, {937,-7988,3},{937,-7987,3},{938,-7987,3},{937,-7983,3},{932,-7983,3},{933,-7982,3}, {932,-7980,3},{928,-7982,3},{925,-7982,3},{925,-7977,3},{923,-7982,3},{922,-7977,3}, {918,-7973,3},{918,-7968,3},{918,-7965,3},{922,-7965,3},{922,-7958,3},{925,-7958,3}, {923,-7960,3},{925,-7958,3},{932,-7958,3},{933,-7955,3},{928,-7957,3},{925,-7957,3}, {922,-7953,3},{922,-7955,3},{918,-7957,3},{918,-7962,3},{915,-7963,3},{912,-7962,3}, {902,-7952,3},{900,-7953,3},{893,-7953,3},{890,-7952,3},{895,-7957,3},{890,-7955,3}, {888,-7958,3},{888,-7960,3},{803,-8290,131},{805,-8292,3},{810,-8290,3}, {823,-8297,3},{835,-8315,3},{838,-8313,3},{840,-8312,3},{845,-8310,3},{853,-8315,3}, {855,-8310,3},{855,-8315,3},{857,-8317,3},{860,-8318,3},{862,-8317,3},{860,-8315,3}, {857,-8315,3},{858,-8312,3},{863,-8317,3},{862,-8318,3},{863,-8323,3},{862,-8323,3}, {865,-8325,3},{865,-8330,3},{867,-8333,3},{872,-8333,3},{873,-8338,3},{870,-8342,3}, {872,-8348,3},{868,-8348,3},{865,-8343,3},{862,-8343,3},{858,-8340,3},{853,-8328,3}, {850,-8328,3},{847,-8327,3},{843,-8328,3},{842,-8327,3},{838,-8328,3},{837,-8328,3}, {840,-8338,3},{842,-8340,3},{842,-8337,3},{843,-8340,3},{842,-8340,3},{845,-8348,3}, {843,-8357,3},{858,-8370,3},{858,-8373,3},{862,-8373,3},{868,-8370,3},{868,-8365,3}, {873,-8363,3},{875,-8363,3},{878,-8357,3},{878,-8362,3},{877,-8363,3},{878,-8365,3}, {883,-8358,3},{888,-8362,3},{888,-8357,3},{890,-8360,3},{890,-8363,3},{892,-8362,3}, {893,-8363,3},{897,-8360,3},{903,-8363,3},{907,-8367,3},{913,-8373,3},{915,-8377,3}, {918,-8377,3},{922,-8383,3},{930,-8393,3},{940,-8417,3},{943,-8417,3},{947,-8420,3}, {947,-8423,3},{945,-8420,3},{948,-8427,3},{953,-8448,3},{952,-8453,3},{955,-8455,3}, {953,-8455,3},{957,-8462,3},{960,-8463,3},{962,-8467,3},{965,-8465,3},{965,-8468,3}, {968,-8467,3},{975,-8463,3},{977,-8463,3},{987,-8470,3},{988,-8472,3},{992,-8470,3}, {995,-8473,3},{997,-8473,3},{997,-8485,3},{998,-8478,3},{1000,-8488,3}, {1005,-8495,3},{1007,-8497,3},{1010,-8500,3},{1012,-8502,3},{1013,-8507,3}, {1015,-8507,3},{1017,-8508,3},{1015,-8513,3},{1017,-8520,3},{1020,-8523,3}, {1023,-8523,3},{1028,-8528,3},{1027,-8528,3},{1023,-8525,3},{1010,-8523,3}, {1008,-8520,3},{1005,-8517,3},{1005,-8515,3},{1003,-8515,3},{1003,-8518,3}, {998,-8510,3},{997,-8505,3},{993,-8500,3},{993,-8492,3},{990,-8492,3},{988,-8493,3}, {985,-8490,3},{983,-8493,3},{982,-8487,3},{978,-8492,3},{977,-8493,3},{975,-8495,3}, {973,-8495,3},{973,-8500,3},{972,-8502,3},{970,-8500,3},{967,-8507,3},{957,-8510,3}, {955,-8512,3},{973,-8523,3},{975,-8527,3},{978,-8527,3},{983,-8535,3},{985,-8543,3}, {985,-8547,3},{987,-8552,3},{987,-8557,3},{990,-8563,3},{990,-8567,3},{992,-8567,3}, {997,-8568,3},{1002,-8573,3},{1010,-8580,3},{1025,-8585,3},{1028,-8585,3}, {1032,-8583,3},{1035,-8587,3},{1040,-8583,3},{1042,-8580,3},{1043,-8580,3}, {1045,-8578,3},{1052,-8580,3},{1053,-8578,3},{1055,-8570,3},{1057,-8570,3}, {1057,-8568,3},{1058,-8568,3},{1058,-8565,3},{1062,-8563,3},{1063,-8565,3}, {1060,-8568,3},{1062,-8570,3},{1063,-8567,3},{1063,-8568,3},{1067,-8568,3}, {1067,-8565,3},{1077,-8567,3},{1080,-8568,3},{1082,-8573,3},{1080,-8577,3}, {1082,-8578,3},{1082,-8580,3},{1085,-8578,3},{1085,-8585,3},{1088,-8590,3}, {1088,-8595,3},{1092,-8587,3},{1095,-8587,3},{1095,-8582,3},{1092,-8582,3}, {1090,-8580,3},{1092,-8578,3},{1093,-8578,3},{1093,-8573,3},{1092,-8572,3}, {1095,-8572,3},{1097,-8568,3},{1102,-8575,3},{1105,-8572,3},{1103,-8568,3}, {1103,-8567,3},{1105,-8567,3},{1107,-8568,3},{1122,-8562,3},{1122,-8557,3}, {1117,-8553,3},{1113,-8542,3},{1112,-8535,3},{1093,-8490,3},{1107,-8467,3}, {1103,-8460,3},{1105,-8457,3},{1103,-8455,3},{1100,-8448,3},{1097,-8445,3}, {1097,-8438,3},{1100,-8435,3},{1098,-8433,3},{1095,-8435,3},{1092,-8432,3}, {1087,-8422,3},{1083,-8420,3},{1082,-8423,3},{1078,-8420,3},{1078,-8413,3}, {1077,-8412,3},{1077,-8407,3},{1078,-8405,3},{1078,-8400,3},{1077,-8400,3}, {1070,-8392,3},{1072,-8388,3},{1072,-8385,3},{1077,-8378,3},{1080,-8367,3}, {1082,-8365,3},{1092,-8367,3},{1092,-8365,3},{1087,-8360,3},{1078,-8358,3}, {1078,-8360,3},{1085,-8362,3},{1078,-8362,3},{1075,-8360,3},{1072,-8363,3}, {1075,-8360,3},{1072,-8358,3},{1077,-8357,3},{1072,-8357,3},{1048,-8347,3}, {1013,-8322,3},{1000,-8310,3},{998,-8307,3},{1000,-8307,3},{1000,-8302,3}, {995,-8302,3},{975,-8285,3},{973,-8283,3},{973,-8280,3},{970,-8280,3},{967,-8277,3}, {963,-8270,3},{963,-8263,3},{957,-8257,3},{953,-8255,3},{955,-8258,3},{953,-8260,3}, {948,-8260,3},{948,-8263,3},{952,-8268,3},{955,-8270,3},{957,-8273,3},{958,-8275,3}, {960,-8282,3},{960,-8285,3},{957,-8287,3},{955,-8287,3},{955,-8285,3},{952,-8287,3}, {950,-8283,3},{947,-8293,3},{907,-8293,3},{908,-8290,3},{907,-8288,3},{900,-8280,3}, {898,-8275,3},{893,-8272,3},{888,-8275,3},{883,-8287,3},{882,-8288,3},{882,-8287,3}, {880,-8287,3},{877,-8292,3},{873,-8292,3},{863,-8283,3},{847,-8283,3},{843,-8287,3}, {842,-8293,3},{837,-8297,3},{832,-8305,3},{827,-8298,3},{827,-8295,3},{825,-8293,3}, {820,-8293,3},{810,-8288,3},{803,-8290,3},{1107,-8568,131},{1112,-8578,3}, {1118,-8582,3},{1130,-8592,3},{1135,-8600,3},{1145,-8610,3},{1147,-8615,3}, {1152,-8618,3},{1162,-8635,3},{1168,-8638,3},{1177,-8650,3},{1185,-8655,3}, {1190,-8660,3},{1195,-8663,3},{1205,-8670,3},{1220,-8678,3},{1245,-8717,3}, {1247,-8718,3},{1243,-8710,3},{1248,-8715,3},{1252,-8718,3},{1248,-8717,3}, {1248,-8718,3},{1253,-8723,3},{1260,-8733,3},{1263,-8733,3},{1262,-8733,3}, {1263,-8735,3},{1275,-8747,3},{1275,-8745,3},{1278,-8745,3},{1282,-8752,3}, {1280,-8752,3},{1278,-8748,3},{1278,-8750,3},{1290,-8768,3},{1298,-8767,3}, {1302,-8762,3},{1308,-8758,3},{1305,-8758,3},{1305,-8755,3},{1302,-8750,3}, {1298,-8747,3},{1293,-8747,3},{1292,-8742,3},{1290,-8737,3},{1292,-8730,3}, {1293,-8737,3},{1295,-8737,3},{1297,-8730,3},{1300,-8707,3},{1298,-8705,3}, {1298,-8702,3},{1300,-8702,3},{1303,-8695,3},{1307,-8695,3},{1310,-8690,3}, {1313,-8693,3},{1315,-8692,3},{1318,-8693,3},{1325,-8690,3},{1330,-8682,3}, {1327,-8675,3},{1330,-8670,3},{1335,-8670,3},{1338,-8673,3},{1343,-8672,3}, {1358,-8675,3},{1363,-8675,3},{1367,-8677,3},{1375,-8677,3},{1378,-8670,3}, {1377,-8665,3},{1378,-8657,3},{1380,-8653,3},{1377,-8648,3},{1378,-8645,3}, {1375,-8640,3},{1377,-8633,3},{1380,-8628,3},{1383,-8628,3},{1390,-8622,3}, {1397,-8617,3},{1398,-8613,3},{1403,-8612,3},{1407,-8602,3},{1405,-8600,3}, {1402,-8602,3},{1400,-8602,3},{1392,-8592,3},{1392,-8585,3},{1387,-8583,3}, {1383,-8580,3},{1383,-8573,3},{1387,-8572,3},{1388,-8575,3},{1397,-8573,3}, {1397,-8567,3},{1398,-8567,3},{1398,-8565,3},{1400,-8565,3},{1405,-8553,3}, {1410,-8552,3},{1410,-8548,3},{1413,-8542,3},{1423,-8538,3},{1425,-8533,3}, {1427,-8533,3},{1428,-8532,3},{1430,-8527,3},{1430,-8522,3},{1433,-8517,3}, {1435,-8515,3},{1440,-8520,3},{1448,-8515,3},{1453,-8513,3},{1457,-8515,3}, {1457,-8512,3},{1455,-8508,3},{1457,-8503,3},{1460,-8502,3},{1460,-8505,3}, {1463,-8502,3},{1467,-8505,3},{1467,-8503,3},{1470,-8502,3},{1473,-8498,3}, {1477,-8493,3},{1480,-8490,3},{1483,-8483,3},{1480,-8480,3},{1477,-8475,3}, {1475,-8477,3},{1475,-8475,3},{1472,-8475,3},{1468,-8470,3},{1468,-8468,3}, {1465,-8458,3},{1465,-8453,3},{1463,-8453,3},{1462,-8448,3},{1463,-8442,3}, {1472,-8437,3},{1467,-8433,3},{1467,-8427,3},{1468,-8427,3},{1473,-8427,3}, {1477,-8423,3},{1472,-8418,3},{1473,-8410,3},{1478,-8412,3},{1478,-8410,3}, {1478,-8408,3},{1477,-8408,3},{1477,-8405,3},{1475,-8403,3},{1477,-8395,3}, {1475,-8393,3},{1477,-8393,3},{1480,-8392,3},{1477,-8390,3},{1478,-8388,3}, {1478,-8387,3},{1480,-8383,3},{1480,-8380,3},{1482,-8382,3},{1483,-8375,3}, {1485,-8375,3},{1483,-8370,3},{1487,-8372,3},{1488,-8368,3},{1488,-8363,3}, {1487,-8362,3},{1490,-8360,3},{1492,-8357,3},{1493,-8355,3},{1493,-8353,3}, {1495,-8355,3},{1495,-8353,3},{1497,-8353,3},{1497,-8352,3},{1502,-8350,3}, {1498,-8345,3},{1500,-8342,3},{1502,-8338,3},{1500,-8335,3},{1500,-8328,3}, {1498,-8328,3},{1500,-8313,3},{1497,-8317,3},{1498,-8320,3},{1480,-8330,3}, {1480,-8333,3},{1482,-8330,3},{1482,-8332,3},{1483,-8332,3},{1483,-8328,3}, {1490,-8330,3},{1492,-8332,3},{1488,-8337,3},{1480,-8342,3},{1480,-8338,3}, {1475,-8338,3},{1473,-8335,3},{1473,-8333,3},{1475,-8332,3},{1477,-8335,3}, {1477,-8333,3},{1475,-8332,3},{1478,-8332,3},{1477,-8330,3},{1463,-8328,3}, {1445,-8320,3},{1433,-8318,3},{1427,-8320,3},{1417,-8327,3},{1405,-8333,3}, {1400,-8340,3},{1395,-8343,3},{1363,-8352,3},{1353,-8352,3},{1345,-8355,3}, {1322,-8357,3},{1290,-8350,3},{1282,-8352,3},{1262,-8353,3},{1253,-8352,3}, {1247,-8348,3},{1240,-8348,3},{1238,-8350,3},{1238,-8358,3},{1237,-8362,3}, {1238,-8363,3},{1242,-8360,3},{1248,-8363,3},{1257,-8363,3},{1257,-8357,3}, {1258,-8357,3},{1267,-8357,3},{1272,-8355,3},{1275,-8357,3},{1277,-8353,3}, {1280,-8355,3},{1282,-8360,3},{1280,-8363,3},{1280,-8365,3},{1277,-8363,3}, {1275,-8365,3},{1273,-8362,3},{1272,-8362,3},{1268,-8360,3},{1262,-8358,3}, {1255,-8370,3},{1255,-8375,3},{1252,-8377,3},{1247,-8378,3},{1248,-8373,3}, {1247,-8373,3},{1233,-8372,3},{1233,-8370,3},{1235,-8368,3},{1233,-8367,3}, {1228,-8367,3},{1235,-8365,3},{1235,-8363,3},{1233,-8362,3},{1223,-8367,3}, {1215,-8368,3},{1198,-8367,3},{1207,-8372,3},{1208,-8372,3},{1210,-8368,3}, {1217,-8372,3},{1217,-8378,3},{1215,-8377,3},{1215,-8373,3},{1212,-8370,3}, {1205,-8373,3},{1205,-8380,3},{1202,-8375,3},{1193,-8377,3},{1187,-8383,3}, {1180,-8377,3},{1180,-8373,3},{1183,-8375,3},{1187,-8373,3},{1185,-8370,3}, {1162,-8365,3},{1160,-8365,3},{1160,-8368,3},{1157,-8372,3},{1155,-8377,3}, {1145,-8378,3},{1143,-8382,3},{1142,-8383,3},{1132,-8387,3},{1117,-8385,3}, {1107,-8380,3},{1092,-8372,3},{1092,-8370,3},{1093,-8370,3},{1092,-8365,3}, {1092,-8367,3},{1082,-8365,3},{1080,-8367,3},{1077,-8378,3},{1072,-8385,3}, {1072,-8388,3},{1070,-8392,3},{1077,-8400,3},{1078,-8400,3},{1078,-8405,3}, {1077,-8407,3},{1077,-8412,3},{1078,-8413,3},{1078,-8420,3},{1082,-8423,3}, {1083,-8420,3},{1087,-8422,3},{1092,-8432,3},{1095,-8435,3},{1098,-8433,3}, {1100,-8435,3},{1097,-8438,3},{1097,-8445,3},{1100,-8448,3},{1103,-8455,3}, {1105,-8457,3},{1103,-8460,3},{1107,-8467,3},{1093,-8490,3},{1112,-8535,3}, {1113,-8542,3},{1117,-8553,3},{1122,-8557,3},{1122,-8562,3},{1107,-8568,3}, {1297,-8730,131},{1303,-8727,3},{1303,-8732,3},{1307,-8735,3},{1310,-8730,3}, {1312,-8740,3},{1310,-8742,3},{1313,-8742,3},{1323,-8747,3},{1327,-8748,3}, {1327,-8752,3},{1335,-8745,3},{1337,-8738,3},{1340,-8738,3},{1342,-8740,3}, {1340,-8743,3},{1342,-8745,3},{1340,-8748,3},{1335,-8747,3},{1335,-8753,3}, {1335,-8755,3},{1337,-8755,3},{1338,-8758,3},{1337,-8762,3},{1340,-8760,3}, {1342,-8762,3},{1343,-8762,3},{1347,-8763,3},{1343,-8765,3},{1338,-8767,3}, {1335,-8772,3},{1335,-8775,3},{1340,-8778,3},{1340,-8783,3},{1343,-8783,3}, {1345,-8780,3},{1345,-8777,3},{1343,-8775,3},{1345,-8772,3},{1350,-8772,3}, {1352,-8775,3},{1350,-8777,3},{1353,-8778,3},{1362,-8775,3},{1368,-8775,3}, {1372,-8772,3},{1375,-8773,3},{1382,-8770,3},{1390,-8778,3},{1390,-8787,3}, {1390,-8790,3},{1388,-8792,3},{1390,-8795,3},{1387,-8800,3},{1393,-8803,3}, {1393,-8805,3},{1397,-8807,3},{1398,-8812,3},{1398,-8817,3},{1398,-8820,3}, {1393,-8823,3},{1393,-8825,3},{1390,-8827,3},{1388,-8832,3},{1390,-8833,3}, {1387,-8835,3},{1388,-8838,3},{1388,-8842,3},{1385,-8847,3},{1387,-8848,3}, {1398,-8850,3},{1398,-8857,3},{1403,-8870,3},{1410,-8873,3},{1412,-8880,3}, {1418,-8887,3},{1420,-8895,3},{1425,-8898,3},{1428,-8902,3},{1433,-8902,3}, {1443,-8935,3},{1448,-8935,3},{1450,-8930,3},{1458,-8925,3},{1458,-8920,3}, {1457,-8917,3},{1460,-8915,3},{1467,-8915,3},{1472,-8913,3},{1473,-8917,3}, {1478,-8917,3},{1485,-8922,3},{1488,-8922,3},{1492,-8918,3},{1498,-8915,3}, {1500,-8918,3},{1507,-8915,3},{1513,-8898,3},{1525,-8883,3},{1535,-8867,3}, {1542,-8860,3},{1543,-8855,3},{1563,-8833,3},{1567,-8832,3},{1568,-8823,3}, {1572,-8823,3},{1572,-8822,3},{1568,-8815,3},{1568,-8812,3},{1573,-8808,3}, {1577,-8803,3},{1578,-8803,3},{1578,-8798,3},{1582,-8793,3},{1583,-8792,3}, {1585,-8795,3},{1587,-8795,3},{1587,-8790,3},{1588,-8787,3},{1590,-8782,3}, {1590,-8775,3},{1592,-8772,3},{1588,-8763,3},{1590,-8763,3},{1593,-8758,3}, {1590,-8762,3},{1587,-8760,3},{1580,-8753,3},{1578,-8747,3},{1578,-8745,3}, {1582,-8742,3},{1582,-8738,3},{1585,-8735,3},{1575,-8695,3},{1577,-8683,3}, {1580,-8677,3},{1578,-8668,3},{1580,-8648,3},{1577,-8642,3},{1577,-8635,3}, {1582,-8627,3},{1585,-8623,3},{1588,-8618,3},{1590,-8612,3},{1590,-8600,3}, {1592,-8595,3},{1597,-8590,3},{1600,-8590,3},{1600,-8597,3},{1602,-8602,3}, {1603,-8600,3},{1602,-8590,3},{1602,-8587,3},{1600,-8577,3},{1597,-8568,3}, {1593,-8568,3},{1595,-8567,3},{1592,-8560,3},{1588,-8550,3},{1590,-8518,3}, {1593,-8510,3},{1598,-8503,3},{1598,-8497,3},{1588,-8468,3},{1587,-8462,3}, {1582,-8463,3},{1577,-8460,3},{1578,-8457,3},{1582,-8457,3},{1582,-8455,3}, {1578,-8455,3},{1578,-8452,3},{1578,-8448,3},{1582,-8447,3},{1582,-8440,3}, {1585,-8457,3},{1587,-8458,3},{1583,-8440,3},{1583,-8427,3},{1572,-8415,3}, {1568,-8410,3},{1545,-8385,3},{1540,-8372,3},{1538,-8373,3},{1543,-8385,3}, {1545,-8390,3},{1547,-8390,3},{1552,-8393,3},{1553,-8400,3},{1553,-8403,3}, {1552,-8405,3},{1552,-8408,3},{1553,-8408,3},{1553,-8407,3},{1555,-8407,3}, {1553,-8410,3},{1548,-8408,3},{1555,-8413,3},{1555,-8422,3},{1552,-8420,3}, {1552,-8418,3},{1548,-8418,3},{1550,-8417,3},{1550,-8415,3},{1553,-8415,3}, {1553,-8413,3},{1545,-8408,3},{1543,-8412,3},{1540,-8412,3},{1535,-8408,3}, {1533,-8403,3},{1535,-8402,3},{1537,-8403,3},{1535,-8400,3},{1532,-8402,3}, {1530,-8400,3},{1530,-8393,3},{1528,-8395,3},{1523,-8392,3},{1525,-8383,3}, {1527,-8383,3},{1532,-8390,3},{1535,-8398,3},{1540,-8403,3},{1542,-8400,3}, {1540,-8395,3},{1533,-8387,3},{1532,-8382,3},{1530,-8380,3},{1527,-8382,3}, {1528,-8378,3},{1527,-8377,3},{1520,-8375,3},{1522,-8375,3},{1520,-8372,3}, {1522,-8372,3},{1523,-8370,3},{1525,-8363,3},{1528,-8362,3},{1528,-8353,3}, {1525,-8352,3},{1520,-8355,3},{1523,-8358,3},{1520,-8362,3},{1517,-8362,3}, {1520,-8360,3},{1517,-8360,3},{1515,-8357,3},{1520,-8352,3},{1522,-8348,3}, {1523,-8350,3},{1528,-8350,3},{1530,-8353,3},{1532,-8358,3},{1530,-8362,3}, {1532,-8362,3},{1537,-8372,3},{1540,-8370,3},{1535,-8362,3},{1525,-8338,3}, {1522,-8335,3},{1510,-8332,3},{1507,-8328,3},{1503,-8323,3},{1500,-8313,3}, {1498,-8328,3},{1500,-8328,3},{1500,-8335,3},{1502,-8338,3},{1500,-8342,3}, {1498,-8345,3},{1502,-8350,3},{1497,-8352,3},{1497,-8353,3},{1495,-8353,3}, {1495,-8355,3},{1493,-8353,3},{1493,-8355,3},{1492,-8357,3},{1490,-8360,3}, {1487,-8362,3},{1488,-8363,3},{1488,-8368,3},{1487,-8372,3},{1483,-8370,3}, {1485,-8375,3},{1483,-8375,3},{1482,-8382,3},{1480,-8380,3},{1480,-8383,3}, {1478,-8387,3},{1478,-8388,3},{1477,-8390,3},{1480,-8392,3},{1477,-8393,3}, {1475,-8393,3},{1477,-8395,3},{1475,-8403,3},{1477,-8405,3},{1477,-8408,3}, {1478,-8408,3},{1478,-8410,3},{1478,-8412,3},{1473,-8410,3},{1472,-8418,3}, {1477,-8423,3},{1473,-8427,3},{1468,-8427,3},{1467,-8427,3},{1467,-8433,3}, {1472,-8437,3},{1463,-8442,3},{1462,-8448,3},{1463,-8453,3},{1465,-8453,3}, {1465,-8458,3},{1468,-8468,3},{1468,-8470,3},{1472,-8475,3},{1475,-8475,3}, {1475,-8477,3},{1477,-8475,3},{1480,-8480,3},{1483,-8483,3},{1480,-8490,3}, {1477,-8493,3},{1473,-8498,3},{1470,-8502,3},{1467,-8503,3},{1467,-8505,3}, {1463,-8502,3},{1460,-8505,3},{1460,-8502,3},{1457,-8503,3},{1455,-8508,3}, {1457,-8512,3},{1457,-8515,3},{1453,-8513,3},{1448,-8515,3},{1440,-8520,3}, {1435,-8515,3},{1433,-8517,3},{1430,-8522,3},{1430,-8527,3},{1428,-8532,3}, {1427,-8533,3},{1425,-8533,3},{1423,-8538,3},{1413,-8542,3},{1410,-8548,3}, {1410,-8552,3},{1405,-8553,3},{1400,-8565,3},{1398,-8565,3},{1398,-8567,3}, {1397,-8567,3},{1397,-8573,3},{1388,-8575,3},{1387,-8572,3},{1383,-8573,3}, {1383,-8580,3},{1387,-8583,3},{1392,-8585,3},{1392,-8592,3},{1400,-8602,3}, {1402,-8602,3},{1405,-8600,3},{1407,-8602,3},{1403,-8612,3},{1398,-8613,3}, {1397,-8617,3},{1390,-8622,3},{1383,-8628,3},{1380,-8628,3},{1377,-8633,3}, {1375,-8640,3},{1378,-8645,3},{1377,-8648,3},{1380,-8653,3},{1378,-8657,3}, {1377,-8665,3},{1378,-8670,3},{1375,-8677,3},{1367,-8677,3},{1363,-8675,3}, {1358,-8675,3},{1343,-8672,3},{1338,-8673,3},{1335,-8670,3},{1330,-8670,3}, {1327,-8675,3},{1330,-8682,3},{1325,-8690,3},{1318,-8693,3},{1315,-8692,3}, {1313,-8693,3},{1310,-8690,3},{1307,-8695,3},{1303,-8695,3},{1300,-8702,3}, {1298,-8702,3},{1298,-8705,3},{1300,-8707,3},{1297,-8730,3},{1343,-8783,131}, {1338,-8787,3},{1337,-8787,3},{1328,-8778,3},{1323,-8783,3},{1320,-8792,3}, {1317,-8790,3},{1315,-8790,3},{1317,-8805,3},{1315,-8822,3},{1317,-8833,3}, {1317,-8835,3},{1318,-8832,3},{1320,-8833,3},{1323,-8835,3},{1320,-8833,3}, {1318,-8840,3},{1317,-8837,3},{1317,-8843,3},{1320,-8843,3},{1320,-8842,3}, {1322,-8842,3},{1325,-8845,3},{1325,-8847,3},{1322,-8845,3},{1322,-8850,3}, {1325,-8853,3},{1327,-8855,3},{1328,-8860,3},{1327,-8865,3},{1327,-8872,3}, {1325,-8865,3},{1327,-8858,3},{1322,-8853,3},{1323,-8860,3},{1320,-8848,3}, {1317,-8845,3},{1318,-8852,3},{1323,-8877,3},{1325,-8883,3},{1328,-8888,3}, {1337,-8905,3},{1343,-8917,3},{1348,-8930,3},{1350,-8950,3},{1350,-8952,3}, {1353,-8968,3},{1353,-8982,3},{1362,-8985,3},{1375,-9010,3},{1383,-9010,3}, {1388,-9008,3},{1390,-9003,3},{1393,-9002,3},{1398,-8993,3},{1403,-8990,3}, {1407,-8982,3},{1403,-8977,3},{1403,-8973,3},{1408,-8975,3},{1417,-8968,3}, {1422,-8962,3},{1420,-8958,3},{1423,-8952,3},{1425,-8952,3},{1427,-8953,3}, {1430,-8955,3},{1432,-8958,3},{1435,-8957,3},{1438,-8958,3},{1442,-8957,3}, {1442,-8953,3},{1438,-8953,3},{1443,-8948,3},{1443,-8947,3},{1442,-8943,3}, {1445,-8940,3},{1443,-8935,3},{1433,-8902,3},{1428,-8902,3},{1425,-8898,3}, {1420,-8895,3},{1418,-8887,3},{1412,-8880,3},{1410,-8873,3},{1403,-8870,3}, {1398,-8857,3},{1398,-8850,3},{1387,-8848,3},{1385,-8847,3},{1388,-8842,3}, {1388,-8838,3},{1387,-8835,3},{1390,-8833,3},{1388,-8832,3},{1390,-8827,3}, {1393,-8825,3},{1393,-8823,3},{1398,-8820,3},{1398,-8817,3},{1398,-8812,3}, {1397,-8807,3},{1393,-8805,3},{1393,-8803,3},{1387,-8800,3},{1390,-8795,3}, {1388,-8792,3},{1390,-8790,3},{1390,-8787,3},{1390,-8778,3},{1382,-8770,3}, {1375,-8773,3},{1372,-8772,3},{1368,-8775,3},{1362,-8775,3},{1353,-8778,3}, {1350,-8777,3},{1352,-8775,3},{1350,-8772,3},{1345,-8772,3},{1343,-8775,3}, {1345,-8777,3},{1345,-8780,3},{1343,-8783,3},{1590,-8892,131},{1590,-8900,3}, {1592,-8905,3},{1590,-8912,3},{1592,-8917,3},{1590,-8918,3},{1590,-8922,3}, {1702,-8915,3},{1782,-8915,3},{1795,-8915,3},{1800,-8903,3},{1800,-8902,3}, {1797,-8898,3},{1797,-8893,3},{1788,-8885,3},{1793,-8883,3},{1798,-8877,3}, {1803,-8875,3},{1807,-8872,3},{1812,-8870,3},{1817,-8868,3},{1818,-8868,3}, {1823,-8860,3},{1830,-8858,3},{1833,-8855,3},{1840,-8853,3},{1848,-8848,3}, {1848,-8847,3},{1848,-8843,3},{1848,-8840,3},{1848,-8828,3},{1848,-8830,3}, {1845,-8828,3},{1843,-8830,3},{1838,-8838,3},{1835,-8838,3},{1837,-8832,3}, {1830,-8837,3},{1835,-8827,3},{1837,-8822,3},{1835,-8822,3},{1835,-8820,3}, {1833,-8818,3},{1835,-8815,3},{1837,-8810,3},{1835,-8810,3},{1832,-8815,3}, {1833,-8810,3},{1832,-8808,3},{1830,-8808,3},{1822,-8808,3},{1812,-8808,3}, {1797,-8815,3},{1788,-8820,3},{1772,-8823,3},{1762,-8828,3},{1757,-8827,3}, {1755,-8823,3},{1753,-8822,3},{1750,-8817,3},{1748,-8818,3},{1748,-8823,3}, {1748,-8825,3},{1723,-8830,3},{1712,-8828,3},{1708,-8827,3},{1707,-8823,3}, {1697,-8820,3},{1693,-8825,3},{1690,-8828,3},{1687,-8828,3},{1682,-8825,3}, {1680,-8828,3},{1677,-8830,3},{1665,-8830,3},{1660,-8833,3},{1650,-8835,3}, {1650,-8837,3},{1660,-8835,3},{1667,-8832,3},{1662,-8835,3},{1658,-8837,3}, {1655,-8838,3},{1655,-8837,3},{1655,-8840,3},{1653,-8837,3},{1647,-8842,3}, {1643,-8842,3},{1642,-8845,3},{1640,-8843,3},{1638,-8847,3},{1627,-8853,3}, {1627,-8857,3},{1625,-8858,3},{1628,-8858,3},{1625,-8860,3},{1628,-8863,3}, {1627,-8865,3},{1625,-8865,3},{1623,-8873,3},{1622,-8875,3},{1617,-8873,3}, {1613,-8875,3},{1612,-8878,3},{1608,-8882,3},{1607,-8885,3},{1603,-8885,3}, {1598,-8892,3},{1595,-8893,3},{1592,-8890,3},{1590,-8892,3},{1455,-9225,131}, {1455,-9222,3},{1458,-9218,3},{1468,-9215,3},{1485,-9218,3},{1490,-9213,3}, {1500,-9215,3},{1502,-9213,3},{1503,-9208,3},{1508,-9207,3},{1512,-9210,3}, {1515,-9213,3},{1520,-9217,3},{1523,-9220,3},{1527,-9222,3},{1530,-9218,3}, {1535,-9215,3},{1540,-9213,3},{1545,-9210,3},{1548,-9208,3},{1553,-9205,3}, {1558,-9202,3},{1563,-9200,3},{1567,-9197,3},{1572,-9195,3},{1577,-9192,3}, {1580,-9188,3},{1585,-9187,3},{1590,-9183,3},{1595,-9180,3},{1598,-9178,3}, {1603,-9175,3},{1608,-9173,3},{1608,-9167,3},{1608,-9162,3},{1608,-9157,3}, {1608,-9150,3},{1608,-9145,3},{1608,-9140,3},{1608,-9135,3},{1608,-9130,3}, {1608,-9123,3},{1608,-9118,3},{1608,-9113,3},{1608,-9108,3},{1608,-9103,3}, {1608,-9097,3},{1608,-9092,3},{1608,-9087,3},{1608,-9082,3},{1608,-9075,3}, {1608,-9070,3},{1608,-9065,3},{1608,-9060,3},{1608,-9055,3},{1608,-9048,3}, {1608,-9045,3},{1610,-9043,3},{1610,-9045,3},{1612,-9047,3},{1613,-9043,3}, {1615,-9045,3},{1617,-9043,3},{1618,-9047,3},{1622,-9047,3},{1623,-9043,3}, {1625,-9047,3},{1627,-9045,3},{1627,-9043,3},{1628,-9043,3},{1628,-9042,3}, {1630,-9045,3},{1633,-9038,3},{1637,-9042,3},{1637,-9038,3},{1638,-9040,3}, {1642,-9040,3},{1643,-9048,3},{1645,-9048,3},{1647,-9050,3},{1647,-9053,3}, {1648,-9055,3},{1648,-9058,3},{1648,-9062,3},{1648,-9063,3},{1652,-9062,3}, {1652,-9065,3},{1655,-9065,3},{1658,-9063,3},{1660,-9063,3},{1658,-9067,3}, {1660,-9065,3},{1665,-9065,3},{1673,-9072,3},{1678,-9080,3},{1680,-9080,3}, {1680,-9085,3},{1682,-9088,3},{1683,-9092,3},{1685,-9093,3},{1687,-9097,3}, {1688,-9095,3},{1690,-9095,3},{1690,-9098,3},{1687,-9098,3},{1690,-9102,3}, {1690,-9107,3},{1693,-9107,3},{1698,-9112,3},{1702,-9112,3},{1703,-9118,3}, {1712,-9123,3},{1713,-9127,3},{1718,-9128,3},{1718,-9135,3},{1722,-9138,3}, {1722,-9142,3},{1723,-9143,3},{1725,-9143,3},{1725,-9138,3},{1725,-9133,3}, {1725,-9127,3},{1725,-9122,3},{1725,-9117,3},{1725,-9112,3},{1725,-9105,3}, {1725,-9100,3},{1725,-9098,3},{1730,-9098,3},{1737,-9098,3},{1742,-9098,3}, {1747,-9098,3},{1752,-9098,3},{1757,-9098,3},{1762,-9098,3},{1767,-9098,3}, {1772,-9098,3},{1777,-9098,3},{1782,-9098,3},{1782,-9093,3},{1782,-9087,3}, {1782,-9082,3},{1782,-9077,3},{1782,-9072,3},{1782,-9067,3},{1782,-9060,3}, {1782,-9055,3},{1782,-9050,3},{1782,-9045,3},{1782,-9038,3},{1782,-9033,3}, {1782,-9028,3},{1782,-9023,3},{1782,-9017,3},{1782,-9012,3},{1782,-9007,3}, {1782,-9002,3},{1782,-8995,3},{1782,-8990,3},{1782,-8985,3},{1782,-8980,3}, {1782,-8975,3},{1782,-8968,3},{1782,-8963,3},{1782,-8958,3},{1782,-8953,3}, {1782,-8947,3},{1782,-8942,3},{1782,-8937,3},{1782,-8932,3},{1782,-8925,3}, {1782,-8920,3},{1782,-8915,3},{1702,-8915,3},{1590,-8922,3},{1590,-8918,3}, {1592,-8917,3},{1590,-8912,3},{1592,-8905,3},{1590,-8900,3},{1590,-8892,3}, {1587,-8887,3},{1587,-8882,3},{1587,-8880,3},{1583,-8875,3},{1582,-8875,3}, {1575,-8862,3},{1572,-8863,3},{1570,-8863,3},{1572,-8860,3},{1573,-8860,3}, {1575,-8858,3},{1577,-8857,3},{1578,-8855,3},{1585,-8855,3},{1583,-8855,3}, {1585,-8848,3},{1593,-8860,3},{1595,-8862,3},{1597,-8860,3},{1595,-8855,3}, {1585,-8843,3},{1580,-8833,3},{1573,-8825,3},{1572,-8822,3},{1572,-8823,3}, {1568,-8823,3},{1567,-8832,3},{1563,-8833,3},{1543,-8855,3},{1542,-8860,3}, {1535,-8867,3},{1525,-8883,3},{1513,-8898,3},{1507,-8915,3},{1500,-8918,3}, {1498,-8915,3},{1492,-8918,3},{1488,-8922,3},{1485,-8922,3},{1478,-8917,3}, {1473,-8917,3},{1472,-8913,3},{1467,-8915,3},{1460,-8915,3},{1457,-8917,3}, {1458,-8920,3},{1458,-8925,3},{1450,-8930,3},{1448,-8935,3},{1443,-8935,3}, {1445,-8940,3},{1442,-8943,3},{1443,-8947,3},{1443,-8948,3},{1438,-8953,3}, {1442,-8953,3},{1442,-8957,3},{1438,-8958,3},{1435,-8957,3},{1432,-8958,3}, {1430,-8955,3},{1427,-8953,3},{1425,-8952,3},{1423,-8952,3},{1420,-8958,3}, {1422,-8962,3},{1417,-8968,3},{1408,-8975,3},{1403,-8973,3},{1403,-8977,3}, {1407,-8982,3},{1403,-8990,3},{1398,-8993,3},{1393,-9002,3},{1390,-9003,3}, {1388,-9008,3},{1383,-9010,3},{1375,-9010,3},{1377,-9015,3},{1378,-9020,3}, {1380,-9025,3},{1382,-9030,3},{1385,-9033,3},{1387,-9038,3},{1388,-9045,3}, {1390,-9048,3},{1392,-9053,3},{1393,-9060,3},{1393,-9065,3},{1393,-9070,3}, {1393,-9075,3},{1393,-9080,3},{1392,-9087,3},{1392,-9092,3},{1392,-9097,3}, {1392,-9103,3},{1392,-9108,3},{1392,-9113,3},{1393,-9118,3},{1393,-9123,3}, {1395,-9128,3},{1397,-9133,3},{1398,-9138,3},{1402,-9143,3},{1403,-9148,3}, {1405,-9153,3},{1407,-9158,3},{1410,-9162,3},{1413,-9167,3},{1415,-9172,3}, {1418,-9175,3},{1422,-9182,3},{1423,-9185,3},{1427,-9188,3},{1430,-9193,3}, {1433,-9197,3},{1437,-9200,3},{1440,-9205,3},{1443,-9208,3},{1447,-9213,3}, {1448,-9218,3},{1452,-9222,3},{1455,-9225,3},{1803,-7177,131},{1807,-7175,3}, {1813,-7175,3},{1820,-7177,3},{1832,-7170,3},{1837,-7180,3},{1842,-7185,3}, {1843,-7190,3},{1848,-7188,3},{1860,-7200,3},{1862,-7197,3},{1863,-7193,3}, {1860,-7190,3},{1862,-7183,3},{1870,-7177,3},{1872,-7173,3},{1877,-7172,3}, {1888,-7172,3},{1892,-7175,3},{1895,-7177,3},{1897,-7182,3},{1895,-7185,3}, {1897,-7185,3},{1898,-7183,3},{1900,-7178,3},{1902,-7175,3},{1910,-7170,3}, {1913,-7165,3},{1915,-7163,3},{1922,-7163,3},{1923,-7170,3},{1928,-7175,3}, {1933,-7177,3},{1935,-7173,3},{1940,-7170,3},{1948,-7168,3},{1962,-7173,3}, {1968,-7173,3},{1970,-7175,3},{1970,-7172,3},{1977,-7173,3},{1977,-7177,3}, {1978,-7178,3},{1982,-7175,3},{1983,-7168,3},{1985,-7167,3},{1990,-7167,3}, {1990,-7153,3},{1990,-7147,3},{1985,-7135,3},{1985,-7130,3},{1982,-7127,3}, {1983,-7122,3},{1987,-7120,3},{1983,-7117,3},{1985,-7115,3},{1985,-7117,3}, {1987,-7117,3},{1987,-7110,3},{1992,-7107,3},{1993,-7100,3},{1992,-7097,3}, {1988,-7095,3},{1988,-7093,3},{1990,-7093,3},{1990,-7083,3},{1987,-7080,3}, {1983,-7078,3},{1983,-7073,3},{1975,-7063,3},{1977,-7052,3},{1978,-7045,3}, {1965,-7028,3},{1962,-7012,3},{1963,-7010,3},{1965,-7008,3},{1968,-7003,3}, {1968,-6995,3},{1962,-6988,3},{1953,-6990,3},{1952,-6987,3},{1943,-6987,3}, {1935,-6982,3},{1928,-6975,3},{1930,-6958,3},{1933,-6953,3},{1932,-6950,3}, {1933,-6945,3},{1932,-6943,3},{1930,-6933,3},{1937,-6923,3},{1935,-6922,3}, {1928,-6923,3},{1930,-6915,3},{1918,-6923,3},{1920,-6932,3},{1918,-6942,3}, {1920,-6947,3},{1922,-6962,3},{1922,-6963,3},{1917,-6962,3},{1912,-6963,3}, {1908,-6962,3},{1910,-6953,3},{1908,-6948,3},{1908,-6945,3},{1910,-6947,3}, {1910,-6945,3},{1908,-6938,3},{1907,-6937,3},{1905,-6935,3},{1905,-6932,3}, {1902,-6925,3},{1902,-6918,3},{1902,-6913,3},{1903,-6915,3},{1905,-6913,3}, {1900,-6910,3},{1898,-6905,3},{1898,-6902,3},{1902,-6902,3},{1903,-6898,3}, {1903,-6892,3},{1898,-6887,3},{1898,-6878,3},{1892,-6868,3},{1878,-6853,3}, {1875,-6847,3},{1867,-6840,3},{1865,-6835,3},{1860,-6832,3},{1850,-6837,3}, {1842,-6845,3},{1835,-6845,3},{1835,-6853,3},{1838,-6858,3},{1837,-6860,3}, {1833,-6860,3},{1828,-6862,3},{1820,-6865,3},{1820,-6875,3},{1827,-6877,3}, {1835,-6883,3},{1838,-6887,3},{1842,-6897,3},{1840,-6897,3},{1838,-6907,3}, {1840,-6917,3},{1845,-6922,3},{1843,-6928,3},{1845,-6932,3},{1843,-6933,3}, {1843,-6943,3},{1840,-6952,3},{1842,-6955,3},{1845,-6962,3},{1840,-6963,3}, {1842,-6967,3},{1845,-6968,3},{1847,-6988,3},{1842,-6997,3},{1842,-7002,3}, {1833,-7007,3},{1823,-7015,3},{1822,-7023,3},{1823,-7028,3},{1823,-7040,3}, {1820,-7052,3},{1822,-7057,3},{1823,-7055,3},{1828,-7060,3},{1832,-7057,3}, {1837,-7057,3},{1840,-7058,3},{1842,-7062,3},{1843,-7068,3},{1842,-7072,3}, {1838,-7070,3},{1835,-7073,3},{1835,-7075,3},{1835,-7080,3},{1833,-7083,3}, {1835,-7085,3},{1830,-7087,3},{1825,-7093,3},{1825,-7097,3},{1830,-7098,3}, {1832,-7105,3},{1830,-7108,3},{1825,-7110,3},{1815,-7105,3},{1792,-7120,3}, {1782,-7130,3},{1767,-7137,3},{1762,-7140,3},{1760,-7142,3},{1775,-7152,3}, {1777,-7158,3},{1777,-7168,3},{1783,-7163,3},{1790,-7167,3},{1792,-7165,3}, {1797,-7167,3},{1802,-7173,3},{1803,-7177,3},{1805,-7180,3},{1812,-7183,3}, {1817,-7190,3},{1820,-7202,3},{1823,-7207,3},{1822,-7223,3},{1823,-7235,3}, {1822,-7252,3},{1822,-7255,3},{1817,-7255,3},{1818,-7263,3},{1817,-7275,3}, {1815,-7275,3},{1813,-7282,3},{1813,-7288,3},{1818,-7300,3},{1818,-7312,3}, {1822,-7318,3},{1823,-7328,3},{1822,-7335,3},{1823,-7335,3},{1825,-7332,3}, {1827,-7338,3},{1825,-7348,3},{1823,-7353,3},{1825,-7355,3},{1825,-7357,3}, {1823,-7357,3},{1822,-7358,3},{1822,-7360,3},{1822,-7362,3},{1825,-7362,3}, {1825,-7363,3},{1822,-7365,3},{1825,-7365,3},{1823,-7367,3},{1823,-7368,3}, {1820,-7372,3},{1817,-7378,3},{1813,-7383,3},{1810,-7383,3},{1803,-7378,3}, {1803,-7388,3},{1813,-7395,3},{1825,-7410,3},{1827,-7415,3},{1830,-7418,3}, {1830,-7423,3},{1830,-7428,3},{1828,-7432,3},{1830,-7437,3},{1833,-7445,3}, {1838,-7445,3},{1843,-7448,3},{1857,-7442,3},{1862,-7442,3},{1863,-7438,3}, {1865,-7432,3},{1865,-7428,3},{1867,-7427,3},{1867,-7417,3},{1860,-7403,3}, {1860,-7397,3},{1857,-7392,3},{1857,-7385,3},{1853,-7378,3},{1855,-7378,3}, {1855,-7373,3},{1857,-7370,3},{1858,-7358,3},{1857,-7358,3},{1855,-7360,3}, {1855,-7372,3},{1853,-7367,3},{1850,-7365,3},{1850,-7360,3},{1853,-7350,3}, {1850,-7337,3},{1847,-7325,3},{1848,-7320,3},{1848,-7313,3},{1845,-7310,3}, {1847,-7298,3},{1845,-7290,3},{1843,-7288,3},{1845,-7285,3},{1843,-7273,3}, {1847,-7268,3},{1855,-7263,3},{1857,-7260,3},{1855,-7253,3},{1853,-7243,3}, {1855,-7242,3},{1853,-7237,3},{1853,-7235,3},{1863,-7235,3},{1867,-7232,3}, {1868,-7233,3},{1872,-7243,3},{1877,-7248,3},{1878,-7255,3},{1890,-7263,3}, {1895,-7272,3},{1900,-7275,3},{1905,-7282,3},{1908,-7282,3},{1910,-7273,3}, {1912,-7272,3},{1913,-7272,3},{1915,-7275,3},{1922,-7280,3},{1928,-7277,3}, {1930,-7272,3},{1932,-7273,3},{1933,-7277,3},{1937,-7277,3},{1938,-7277,3}, {1937,-7273,3},{1938,-7272,3},{1942,-7273,3},{1940,-7270,3},{1940,-7268,3}, {1945,-7270,3},{1945,-7277,3},{1950,-7280,3},{1957,-7297,3},{1960,-7300,3}, {1963,-7310,3},{1962,-7315,3},{1965,-7322,3},{1962,-7323,3},{1963,-7340,3}, {1968,-7347,3},{1975,-7345,3},{1978,-7342,3},{1980,-7338,3},{1982,-7337,3}, {1982,-7342,3},{1983,-7340,3},{1983,-7335,3},{1985,-7328,3},{1990,-7318,3}, {1993,-7317,3},{1992,-7315,3},{1990,-7305,3},{1992,-7298,3},{1990,-7297,3}, {1992,-7293,3},{1995,-7280,3},{1988,-7258,3},{1982,-7250,3},{1980,-7240,3}, {1982,-7238,3},{1975,-7233,3},{1975,-7235,3},{1972,-7232,3},{1973,-7230,3}, {1977,-7232,3},{1975,-7227,3},{1977,-7225,3},{1978,-7225,3},{1978,-7220,3}, {1975,-7220,3},{1975,-7213,3},{1973,-7212,3},{1972,-7205,3},{1970,-7202,3}, {1973,-7197,3},{1972,-7187,3},{1968,-7187,3},{1968,-7190,3},{1967,-7188,3}, {1967,-7185,3},{1965,-7182,3},{1967,-7180,3},{1968,-7185,3},{1972,-7183,3}, {1970,-7175,3},{1968,-7173,3},{1962,-7173,3},{1948,-7168,3},{1940,-7170,3}, {1935,-7173,3},{1933,-7177,3},{1928,-7175,3},{1923,-7170,3},{1922,-7163,3}, {1915,-7163,3},{1913,-7165,3},{1910,-7170,3},{1902,-7175,3},{1900,-7178,3}, {1898,-7183,3},{1897,-7185,3},{1895,-7185,3},{1897,-7182,3},{1895,-7177,3}, {1892,-7175,3},{1888,-7172,3},{1877,-7172,3},{1872,-7173,3},{1870,-7177,3}, {1862,-7183,3},{1860,-7190,3},{1863,-7193,3},{1862,-7197,3},{1860,-7200,3}, {1848,-7188,3},{1843,-7190,3},{1842,-7185,3},{1837,-7180,3},{1832,-7170,3}, {1820,-7177,3},{1813,-7175,3},{1807,-7175,3},{1803,-7177,3},{1455,-9225,131}, {1458,-9228,3},{1462,-9232,3},{1465,-9235,3},{1470,-9240,3},{1473,-9243,3}, {1477,-9247,3},{1480,-9250,3},{1485,-9255,3},{1488,-9258,3},{1492,-9262,3}, {1495,-9265,3},{1498,-9268,3},{1503,-9273,3},{1507,-9277,3},{1510,-9278,3}, {1517,-9285,3},{1515,-9277,3},{1508,-9275,3},{1513,-9275,3},{1517,-9277,3}, {1518,-9282,3},{1518,-9283,3},{1522,-9285,3},{1520,-9287,3},{1518,-9285,3}, {1527,-9298,3},{1530,-9302,3},{1535,-9308,3},{1548,-9320,3},{1553,-9327,3}, {1577,-9355,3},{1592,-9378,3},{1600,-9393,3},{1602,-9393,3},{1600,-9388,3}, {1602,-9385,3},{1608,-9390,3},{1612,-9402,3},{1613,-9405,3},{1613,-9407,3}, {1617,-9410,3},{1623,-9413,3},{1620,-9420,3},{1622,-9430,3},{1630,-9437,3}, {1630,-9440,3},{1628,-9442,3},{1625,-9442,3},{1623,-9443,3},{1623,-9442,3}, {1622,-9443,3},{1620,-9442,3},{1615,-9433,3},{1613,-9427,3},{1615,-9427,3}, {1618,-9433,3},{1617,-9422,3},{1613,-9417,3},{1612,-9418,3},{1608,-9407,3}, {1603,-9403,3},{1600,-9397,3},{1603,-9407,3},{1617,-9440,3},{1618,-9448,3}, {1620,-9472,3},{1620,-9473,3},{1622,-9473,3},{1625,-9463,3},{1628,-9458,3}, {1632,-9458,3},{1637,-9467,3},{1632,-9472,3},{1630,-9472,3},{1630,-9475,3}, {1625,-9478,3},{1628,-9480,3},{1632,-9477,3},{1633,-9477,3},{1637,-9480,3}, {1638,-9480,3},{1643,-9487,3},{1640,-9492,3},{1632,-9497,3},{1632,-9503,3}, {1630,-9503,3},{1628,-9507,3},{1627,-9507,3},{1625,-9497,3},{1625,-9487,3}, {1628,-9483,3},{1627,-9482,3},{1625,-9485,3},{1623,-9493,3},{1622,-9478,3}, {1620,-9475,3},{1622,-9485,3},{1618,-9508,3},{1620,-9513,3},{1618,-9515,3}, {1617,-9515,3},{1615,-9522,3},{1613,-9525,3},{1610,-9527,3},{1605,-9537,3}, {1602,-9537,3},{1598,-9542,3},{1590,-9573,3},{1587,-9577,3},{1582,-9595,3}, {1575,-9605,3},{1575,-9608,3},{1568,-9618,3},{1567,-9628,3},{1568,-9643,3}, {1565,-9648,3},{1565,-9657,3},{1572,-9673,3},{1573,-9683,3},{1582,-9702,3}, {1590,-9713,3},{1592,-9720,3},{1597,-9763,3},{1595,-9767,3},{1597,-9778,3}, {1602,-9787,3},{1603,-9785,3},{1607,-9787,3},{1605,-9788,3},{1615,-9807,3}, {1620,-9817,3},{1622,-9817,3},{1618,-9807,3},{1620,-9807,3},{1622,-9810,3}, {1622,-9815,3},{1623,-9817,3},{1622,-9818,3},{1625,-9832,3},{1627,-9840,3}, {1632,-9855,3},{1635,-9857,3},{1642,-9867,3},{1653,-9873,3},{1655,-9877,3}, {1655,-9885,3},{1652,-9885,3},{1655,-9892,3},{1658,-9900,3},{1660,-9910,3}, {1663,-9920,3},{1663,-9930,3},{1667,-9935,3},{1670,-9970,3},{1678,-9985,3}, {1682,-9983,3},{1687,-9988,3},{1687,-9990,3},{1683,-9988,3},{1682,-9990,3}, {1688,-9993,3},{1693,-10008,3},{1695,-10018,3},{1700,-10028,3},{1710,-10053,3}, {1722,-10088,3},{1727,-10102,3},{1727,-10105,3},{1730,-10105,3},{1737,-10110,3}, {1747,-10127,3},{1752,-10142,3},{1753,-10145,3},{1758,-10145,3},{1762,-10150,3}, {1763,-10157,3},{1767,-10163,3},{1772,-10165,3},{1780,-10175,3},{1788,-10178,3}, {1798,-10195,3},{1798,-10203,3},{1798,-10208,3},{1792,-10215,3},{1798,-10235,3}, {1805,-10257,3},{1807,-10272,3},{1818,-10303,3},{1820,-10312,3},{1827,-10335,3}, {1833,-10348,3},{1850,-10358,3},{1858,-10370,3},{1862,-10368,3},{1867,-10372,3}, {1888,-10397,3},{1900,-10432,3},{1903,-10433,3},{1907,-10432,3},{1910,-10433,3}, {1912,-10437,3},{1908,-10440,3},{1910,-10442,3},{1910,-10445,3},{1913,-10450,3}, {1917,-10467,3},{1920,-10470,3},{1922,-10472,3},{1923,-10473,3},{1922,-10482,3}, {1928,-10480,3},{1930,-10482,3},{1928,-10488,3},{1928,-10490,3},{1935,-10500,3}, {1937,-10502,3},{1942,-10503,3},{1945,-10507,3},{1948,-10507,3},{1957,-10510,3}, {1962,-10522,3},{1972,-10530,3},{1978,-10533,3},{1992,-10545,3},{2008,-10555,3}, {2022,-10557,3},{2025,-10560,3},{2040,-10568,3},{2042,-10568,3},{2048,-10558,3}, {2052,-10535,3},{2055,-10530,3},{2057,-10525,3},{2065,-10523,3},{2077,-10532,3}, {2075,-10542,3},{2077,-10547,3},{2078,-10550,3},{2078,-10555,3},{2082,-10550,3}, {2082,-10547,3},{2088,-10543,3},{2090,-10542,3},{2093,-10540,3},{2098,-10533,3}, {2102,-10532,3},{2103,-10530,3},{2103,-10525,3},{2107,-10523,3},{2123,-10522,3}, {2135,-10523,3},{2140,-10522,3},{2145,-10518,3},{2150,-10520,3},{2152,-10522,3}, {2152,-10528,3},{2160,-10543,3},{2167,-10545,3},{2177,-10550,3},{2188,-10557,3}, {2198,-10565,3},{2228,-10563,3},{2237,-10565,3},{2250,-10573,3},{2252,-10573,3}, {2252,-10572,3},{2253,-10572,3},{2255,-10573,3},{2253,-10575,3},{2257,-10577,3}, {2267,-10582,3},{2270,-10587,3},{2278,-10595,3},{2282,-10600,3},{2285,-10598,3}, {2285,-10602,3},{2283,-10603,3},{2285,-10605,3},{2305,-10622,3},{2308,-10628,3}, {2318,-10638,3},{2318,-10642,3},{2323,-10643,3},{2330,-10648,3},{2333,-10648,3}, {2340,-10652,3},{2347,-10662,3},{2360,-10672,3},{2365,-10680,3},{2370,-10682,3}, {2373,-10685,3},{2387,-10692,3},{2398,-10705,3},{2413,-10725,3},{2420,-10737,3}, {2425,-10740,3},{2428,-10748,3},{2435,-10757,3},{2448,-10780,3},{2452,-10780,3}, {2452,-10777,3},{2448,-10777,3},{2438,-10760,3},{2437,-10752,3},{2433,-10750,3}, {2438,-10755,3},{2438,-10752,3},{2435,-10750,3},{2437,-10748,3},{2437,-10750,3}, {2438,-10748,3},{2452,-10752,3},{2452,-10758,3},{2450,-10760,3},{2452,-10757,3}, {2450,-10755,3},{2447,-10758,3},{2445,-10763,3},{2450,-10767,3},{2448,-10770,3}, {2450,-10773,3},{2452,-10775,3},{2458,-10780,3},{2458,-10785,3},{2462,-10787,3}, {2463,-10793,3},{2457,-10787,3},{2453,-10780,3},{2452,-10782,3},{2463,-10798,3}, {2473,-10802,3},{2478,-10807,3},{2478,-10803,3},{2475,-10798,3},{2478,-10797,3}, {2483,-10802,3},{2485,-10800,3},{2490,-10800,3},{2497,-10798,3},{2500,-10805,3}, {2497,-10805,3},{2492,-10803,3},{2482,-10805,3},{2483,-10812,3},{2503,-10823,3}, {2510,-10833,3},{2510,-10828,3},{2505,-10823,3},{2498,-10818,3},{2497,-10813,3}, {2502,-10813,3},{2502,-10817,3},{2503,-10817,3},{2503,-10815,3},{2505,-10815,3}, {2502,-10810,3},{2500,-10800,3},{2503,-10802,3},{2508,-10805,3},{2512,-10813,3}, {2510,-10813,3},{2510,-10817,3},{2517,-10822,3},{2515,-10828,3},{2517,-10835,3}, {2520,-10835,3},{2518,-10832,3},{2523,-10832,3},{2527,-10837,3},{2520,-10837,3}, {2515,-10840,3},{2520,-10840,3},{2527,-10843,3},{2533,-10862,3},{2535,-10873,3}, {2537,-10872,3},{2535,-10858,3},{2540,-10865,3},{2538,-10877,3},{2540,-10877,3}, {2540,-10873,3},{2545,-10875,3},{2543,-10878,3},{2555,-10877,3},{2553,-10880,3}, {2555,-10882,3},{2557,-10883,3},{2557,-10888,3},{2555,-10890,3},{2552,-10888,3}, {2550,-10888,3},{2545,-10892,3},{2547,-10895,3},{2550,-10893,3},{2550,-10895,3}, {2550,-10902,3},{2547,-10900,3},{2547,-10903,3},{2553,-10912,3},{2558,-10905,3}, {2557,-10900,3},{2553,-10898,3},{2558,-10897,3},{2563,-10892,3},{2568,-10890,3}, {2567,-10888,3},{2572,-10888,3},{2577,-10883,3},{2580,-10883,3},{2580,-10885,3}, {2577,-10885,3},{2570,-10890,3},{2565,-10900,3},{2560,-10903,3},{2558,-10907,3}, {2558,-10912,3},{2558,-10915,3},{2565,-10917,3},{2568,-10925,3},{2565,-10923,3}, {2558,-10915,3},{2555,-10915,3},{2563,-10925,3},{2563,-10940,3},{2567,-10937,3}, {2567,-10930,3},{2572,-10928,3},{2573,-10930,3},{2577,-10937,3},{2575,-10940,3}, {2568,-10938,3},{2568,-10940,3},{2570,-10940,3},{2577,-10940,3},{2578,-10943,3}, {2585,-10942,3},{2585,-10940,3},{2585,-10942,3},{2592,-10942,3},{2593,-10945,3}, {2603,-10942,3},{2612,-10935,3},{2630,-10925,3},{2627,-10925,3},{2627,-10927,3}, {2623,-10928,3},{2617,-10928,3},{2615,-10928,3},{2627,-10922,3},{2632,-10923,3}, {2633,-10922,3},{2632,-10917,3},{2628,-10915,3},{2627,-10917,3},{2625,-10915,3}, {2622,-10910,3},{2625,-10910,3},{2628,-10908,3},{2628,-10912,3},{2630,-10913,3}, {2633,-10913,3},{2638,-10915,3},{2638,-10918,3},{2635,-10917,3},{2635,-10922,3}, {2633,-10925,3},{2643,-10923,3},{2653,-10928,3},{2658,-10933,3},{2667,-10942,3}, {2668,-10947,3},{2670,-10947,3},{2670,-10943,3},{2673,-10948,3},{2673,-10950,3}, {2677,-10952,3},{2673,-10957,3},{2672,-10952,3},{2670,-10953,3},{2670,-10950,3}, {2668,-10952,3},{2670,-10963,3},{2667,-10967,3},{2668,-10972,3},{2673,-10980,3}, {2682,-10987,3},{2692,-10988,3},{2698,-10995,3},{2700,-10995,3},{2693,-10988,3}, {2705,-10992,3},{2710,-10997,3},{2712,-11002,3},{2710,-11005,3},{2710,-11008,3}, {2713,-11022,3},{2717,-11028,3},{2715,-11032,3},{2727,-11042,3},{2730,-11052,3}, {2732,-11045,3},{2738,-11048,3},{2737,-11055,3},{2743,-11055,3},{2747,-11058,3}, {2753,-11058,3},{2760,-11062,3},{2765,-11063,3},{2767,-11063,3},{2765,-11060,3}, {2768,-11057,3},{2770,-11058,3},{2768,-11060,3},{2772,-11058,3},{2773,-11055,3}, {2775,-11060,3},{2778,-11058,3},{2778,-11060,3},{2782,-11062,3},{2782,-11060,3}, {2783,-11058,3},{2783,-11052,3},{2787,-11052,3},{2788,-11060,3},{2788,-11062,3}, {2787,-11060,3},{2787,-11062,3},{2790,-11068,3},{2792,-11078,3},{2790,-11085,3}, {2792,-11082,3},{2795,-11083,3},{2798,-11082,3},{2798,-11085,3},{2793,-11085,3}, {2790,-11088,3},{2790,-11087,3},{2783,-11088,3},{2785,-11090,3},{2787,-11092,3}, {2788,-11093,3},{2790,-11097,3},{2792,-11093,3},{2797,-11100,3},{2793,-11110,3}, {2797,-11110,3},{2797,-11113,3},{2805,-11123,3},{2820,-11133,3},{2822,-11137,3}, {2827,-11138,3},{2833,-11147,3},{2838,-11143,3},{2838,-11148,3},{2847,-11170,3}, {2858,-11177,3},{2877,-11195,3},{2878,-11192,3},{2875,-11187,3},{2877,-11185,3}, {2880,-11185,3},{2880,-11192,3},{2883,-11197,3},{2888,-11203,3},{2890,-11203,3}, {2897,-11212,3},{2897,-11217,3},{2900,-11215,3},{2905,-11218,3},{2913,-11217,3}, {2917,-11218,3},{2918,-11222,3},{2925,-11220,3},{2930,-11220,3},{2933,-11225,3}, {2933,-11233,3},{2930,-11233,3},{2933,-11238,3},{2938,-11242,3},{2945,-11238,3}, {2950,-11238,3},{2952,-11242,3},{2955,-11243,3},{2962,-11250,3},{2968,-11253,3}, {2972,-11258,3},{2977,-11260,3},{2983,-11265,3},{2990,-11267,3},{2992,-11270,3}, {2992,-11273,3},{2992,-11275,3},{3000,-11273,3},{3005,-11275,3},{3022,-11275,3}, {3028,-11282,3},{3028,-11287,3},{3035,-11285,3},{3043,-11287,3},{3058,-11300,3}, {3070,-11308,3},{3082,-11312,3},{3095,-11308,3},{3107,-11312,3},{3108,-11312,3}, {3107,-11310,3},{3100,-11307,3},{3107,-11305,3},{3115,-11303,3},{3123,-11308,3}, {3123,-11315,3},{3120,-11310,3},{3120,-11312,3},{3123,-11318,3},{3128,-11325,3}, {3127,-11327,3},{3125,-11322,3},{3123,-11323,3},{3128,-11343,3},{3128,-11348,3}, {3133,-11362,3},{3135,-11363,3},{3135,-11362,3},{3150,-11363,3},{3158,-11383,3}, {3158,-11387,3},{3162,-11388,3},{3160,-11395,3},{3167,-11397,3},{3165,-11398,3}, {3157,-11398,3},{3157,-11395,3},{3152,-11398,3},{3152,-11402,3},{3150,-11402,3}, {3150,-11415,3},{3152,-11420,3},{3157,-11432,3},{3160,-11433,3},{3165,-11443,3}, {3177,-11458,3},{3177,-11470,3},{3180,-11473,3},{3182,-11480,3},{3190,-11492,3}, {3192,-11500,3},{3197,-11502,3},{3195,-11503,3},{3190,-11502,3},{3190,-11495,3}, {3180,-11487,3},{3180,-11482,3},{3172,-11482,3},{3165,-11478,3},{3158,-11483,3}, {3153,-11485,3},{3115,-11488,3},{3110,-11487,3},{3107,-11482,3},{3100,-11483,3}, {3095,-11473,3},{3092,-11470,3},{3080,-11468,3},{3065,-11470,3},{3057,-11465,3}, {3048,-11462,3},{3028,-11465,3},{3027,-11463,3},{3020,-11467,3},{3013,-11463,3}, {3012,-11460,3},{3000,-11455,3},{2998,-11448,3},{2992,-11445,3},{2992,-11442,3}, {2987,-11440,3},{2983,-11440,3},{2980,-11437,3},{2978,-11433,3},{2977,-11430,3}, {2978,-11427,3},{2977,-11425,3},{2975,-11420,3},{2960,-11405,3},{2947,-11385,3}, {2943,-11382,3},{2935,-11373,3},{2927,-11365,3},{2922,-11365,3},{2918,-11363,3}, {2917,-11360,3},{2912,-11355,3},{2905,-11353,3},{2903,-11355,3},{2897,-11353,3}, {2895,-11355,3},{2888,-11350,3},{2890,-11345,3},{2893,-11347,3},{2897,-11342,3}, {2893,-11340,3},{2895,-11337,3},{2893,-11337,3},{2892,-11335,3},{2888,-11335,3}, {2888,-11333,3},{2885,-11335,3},{2880,-11335,3},{2880,-11330,3},{2883,-11323,3}, {2882,-11320,3},{2878,-11318,3},{2873,-11318,3},{2870,-11315,3},{2865,-11317,3}, {2862,-11313,3},{2848,-11312,3},{2843,-11302,3},{2845,-11292,3},{2843,-11290,3}, {2843,-11288,3},{2843,-11287,3},{2828,-11287,3},{2820,-11278,3},{2813,-11280,3}, {2807,-11277,3},{2803,-11278,3},{2800,-11272,3},{2783,-11275,3},{2780,-11270,3}, {2772,-11267,3},{2772,-11263,3},{2763,-11257,3},{2763,-11250,3},{2757,-11242,3}, {2753,-11235,3},{2750,-11232,3},{2733,-11230,3},{2723,-11220,3},{2722,-11220,3}, {2723,-11222,3},{2723,-11223,3},{2720,-11222,3},{2713,-11210,3},{2710,-11195,3}, {2708,-11195,3},{2705,-11200,3},{2700,-11203,3},{2692,-11197,3},{2690,-11197,3}, {2688,-11193,3},{2683,-11190,3},{2677,-11190,3},{2673,-11192,3},{2672,-11188,3}, {2667,-11185,3},{2663,-11182,3},{2655,-11175,3},{2657,-11172,3},{2660,-11168,3}, {2665,-11172,3},{2670,-11180,3},{2687,-11187,3},{2690,-11185,3},{2690,-11182,3}, {2682,-11172,3},{2680,-11168,3},{2675,-11163,3},{2672,-11157,3},{2657,-11155,3}, {2652,-11145,3},{2647,-11147,3},{2642,-11148,3},{2638,-11143,3},{2637,-11143,3}, {2635,-11140,3},{2630,-11138,3},{2628,-11142,3},{2623,-11140,3},{2613,-11135,3}, {2610,-11132,3},{2603,-11135,3},{2600,-11133,3},{2595,-11137,3},{2585,-11132,3}, {2583,-11130,3},{2578,-11130,3},{2572,-11123,3},{2558,-11117,3},{2555,-11112,3}, {2555,-11105,3},{2553,-11105,3},{2553,-11102,3},{2542,-11102,3},{2532,-11095,3}, {2525,-11095,3},{2520,-11092,3},{2517,-11092,3},{2508,-11085,3},{2502,-11075,3}, {2498,-11075,3},{2490,-11068,3},{2480,-11067,3},{2467,-11073,3},{2458,-11073,3}, {2447,-11070,3},{2438,-11068,3},{2428,-11062,3},{2428,-11058,3},{2422,-11052,3}, {2418,-11030,3},{2417,-11033,3},{2418,-11037,3},{2418,-11040,3},{2413,-11038,3}, {2412,-11037,3},{2413,-11032,3},{2415,-11032,3},{2418,-11027,3},{2425,-11028,3}, {2428,-11030,3},{2433,-11030,3},{2435,-11022,3},{2425,-11013,3},{2417,-11000,3}, {2405,-10997,3},{2402,-10992,3},{2405,-10982,3},{2402,-10980,3},{2392,-10982,3}, {2390,-10982,3},{2380,-10970,3},{2373,-10970,3},{2367,-10968,3},{2358,-10948,3}, {2355,-10947,3},{2345,-10940,3},{2342,-10942,3},{2340,-10940,3},{2337,-10942,3}, {2323,-10943,3},{2313,-10952,3},{2307,-10963,3},{2303,-10970,3},{2298,-10970,3}, {2292,-10983,3},{2288,-10990,3},{2287,-10992,3},{2287,-10995,3},{2290,-11002,3}, {2298,-11007,3},{2313,-11012,3},{2333,-11017,3},{2342,-11025,3},{2357,-11032,3}, {2363,-11040,3},{2368,-11057,3},{2373,-11063,3},{2387,-11077,3},{2392,-11083,3}, {2395,-11090,3},{2402,-11093,3},{2412,-11103,3},{2417,-11115,3},{2418,-11115,3}, {2420,-11122,3},{2433,-11147,3},{2435,-11147,3},{2430,-11137,3},{2433,-11143,3}, {2443,-11153,3},{2443,-11157,3},{2447,-11160,3},{2453,-11165,3},{2458,-11165,3}, {2460,-11168,3},{2458,-11170,3},{2457,-11168,3},{2455,-11170,3},{2457,-11180,3}, {2452,-11177,3},{2452,-11180,3},{2465,-11183,3},{2470,-11187,3},{2475,-11193,3}, {2477,-11193,3},{2475,-11192,3},{2480,-11197,3},{2488,-11200,3},{2488,-11202,3}, {2487,-11200,3},{2483,-11202,3},{2478,-11197,3},{2478,-11200,3},{2475,-11197,3}, {2477,-11200,3},{2475,-11202,3},{2477,-11203,3},{2485,-11203,3},{2483,-11207,3}, {2477,-11205,3},{2473,-11210,3},{2477,-11207,3},{2480,-11210,3},{2487,-11210,3}, {2488,-11213,3},{2492,-11208,3},{2492,-11212,3},{2493,-11212,3},{2495,-11208,3}, {2497,-11210,3},{2503,-11210,3},{2502,-11212,3},{2490,-11215,3},{2490,-11218,3}, {2493,-11217,3},{2497,-11217,3},{2497,-11215,3},{2505,-11212,3},{2517,-11213,3}, {2522,-11210,3},{2523,-11208,3},{2527,-11207,3},{2537,-11207,3},{2542,-11208,3}, {2543,-11207,3},{2545,-11208,3},{2548,-11205,3},{2557,-11207,3},{2572,-11207,3}, {2568,-11208,3},{2557,-11208,3},{2552,-11210,3},{2552,-11212,3},{2572,-11210,3}, {2577,-11212,3},{2595,-11220,3},{2603,-11225,3},{2607,-11230,3},{2610,-11232,3}, {2608,-11233,3},{2622,-11237,3},{2627,-11240,3},{2628,-11243,3},{2627,-11247,3}, {2627,-11250,3},{2630,-11253,3},{2633,-11253,3},{2633,-11263,3},{2633,-11267,3}, {2642,-11278,3},{2643,-11277,3},{2643,-11282,3},{2652,-11290,3},{2655,-11298,3}, {2665,-11310,3},{2668,-11308,3},{2667,-11312,3},{2668,-11317,3},{2672,-11323,3}, {2678,-11323,3},{2688,-11313,3},{2697,-11313,3},{2697,-11317,3},{2695,-11318,3}, {2688,-11318,3},{2683,-11320,3},{2682,-11323,3},{2682,-11320,3},{2680,-11325,3}, {2673,-11325,3},{2680,-11337,3},{2682,-11345,3},{2682,-11340,3},{2685,-11343,3}, {2683,-11347,3},{2682,-11347,3},{2677,-11353,3},{2675,-11353,3},{2675,-11360,3}, {2680,-11368,3},{2682,-11372,3},{2690,-11375,3},{2698,-11385,3},{2700,-11392,3}, {2698,-11400,3},{2702,-11405,3},{2710,-11408,3},{2715,-11417,3},{2717,-11425,3}, {2715,-11430,3},{2718,-11438,3},{2718,-11442,3},{2723,-11443,3},{2725,-11448,3}, {2735,-11448,3},{2742,-11452,3},{2745,-11457,3},{2748,-11460,3},{2753,-11473,3}, {2762,-11480,3},{2765,-11487,3},{2765,-11485,3},{2770,-11487,3},{2770,-11488,3}, {2767,-11490,3},{2772,-11495,3},{2773,-11502,3},{2780,-11503,3},{2783,-11507,3}, {2787,-11505,3},{2783,-11500,3},{2783,-11490,3},{2783,-11485,3},{2782,-11480,3}, {2782,-11475,3},{2778,-11470,3},{2777,-11462,3},{2777,-11448,3},{2788,-11435,3}, {2787,-11433,3},{2778,-11433,3},{2773,-11428,3},{2770,-11417,3},{2772,-11410,3}, {2772,-11403,3},{2768,-11402,3},{2772,-11397,3},{2777,-11403,3},{2775,-11403,3}, {2775,-11407,3},{2772,-11415,3},{2773,-11417,3},{2777,-11423,3},{2780,-11422,3}, {2783,-11423,3},{2785,-11430,3},{2787,-11432,3},{2788,-11428,3},{2795,-11428,3}, {2797,-11423,3},{2805,-11415,3},{2803,-11415,3},{2800,-11417,3},{2797,-11417,3}, {2800,-11415,3},{2802,-11413,3},{2807,-11413,3},{2818,-11412,3},{2822,-11413,3}, {2823,-11417,3},{2827,-11418,3},{2840,-11410,3},{2852,-11407,3},{2858,-11410,3}, {2860,-11415,3},{2867,-11417,3},{2868,-11427,3},{2872,-11427,3},{2875,-11433,3}, {2882,-11435,3},{2883,-11440,3},{2888,-11442,3},{2888,-11443,3},{2892,-11445,3}, {2893,-11448,3},{2893,-11453,3},{2893,-11455,3},{2898,-11457,3},{2898,-11458,3}, {2902,-11462,3},{2905,-11460,3},{2912,-11465,3},{2913,-11472,3},{2920,-11475,3}, {2928,-11487,3},{2938,-11495,3},{2942,-11510,3},{2943,-11518,3},{2948,-11523,3}, {2957,-11540,3},{2963,-11547,3},{2963,-11553,3},{2970,-11557,3},{2972,-11563,3}, {2977,-11570,3},{2987,-11570,3},{2993,-11573,3},{2995,-11575,3},{2995,-11582,3}, {3005,-11578,3},{3010,-11578,3},{3015,-11580,3},{3023,-11580,3},{3033,-11583,3}, {3038,-11587,3},{3040,-11597,3},{3045,-11593,3},{3050,-11598,3},{3045,-11595,3}, {3043,-11602,3},{3037,-11598,3},{3038,-11602,3},{3045,-11603,3},{3062,-11603,3}, {3080,-11605,3},{3090,-11620,3},{3095,-11625,3},{3097,-11633,3},{3108,-11630,3}, {3117,-11632,3},{3122,-11633,3},{3135,-11645,3},{3142,-11650,3},{3145,-11653,3}, {3147,-11660,3},{3152,-11662,3},{3155,-11668,3},{3158,-11667,3},{3158,-11663,3}, {3162,-11665,3},{3167,-11663,3},{3172,-11667,3},{3175,-11672,3},{3173,-11667,3}, {3175,-11662,3},{3183,-11660,3},{3192,-11675,3},{3198,-11678,3},{3200,-11685,3}, {3205,-11687,3},{3213,-11688,3},{3223,-11692,3},{3228,-11702,3},{3230,-11703,3}, {3245,-11712,3},{3253,-11712,3},{3253,-11705,3},{3255,-11700,3},{3255,-11693,3}, {3255,-11687,3},{3257,-11682,3},{3257,-11675,3},{3257,-11670,3},{3258,-11663,3}, {3258,-11657,3},{3258,-11652,3},{3258,-11645,3},{3260,-11638,3},{3260,-11633,3}, {3260,-11627,3},{3262,-11622,3},{3262,-11615,3},{3262,-11608,3},{3262,-11603,3}, {3263,-11597,3},{3263,-11590,3},{3263,-11585,3},{3263,-11578,3},{3265,-11573,3}, {3265,-11567,3},{3265,-11560,3},{3267,-11555,3},{3267,-11548,3},{3267,-11542,3}, {3267,-11537,3},{3268,-11530,3},{3268,-11525,3},{3268,-11518,3},{3268,-11512,3}, {3270,-11507,3},{3270,-11500,3},{3270,-11493,3},{3270,-11488,3},{3272,-11482,3}, {3272,-11477,3},{3272,-11472,3},{3265,-11475,3},{3262,-11480,3},{3255,-11478,3}, {3250,-11482,3},{3248,-11475,3},{3247,-11468,3},{3245,-11463,3},{3243,-11457,3}, {3242,-11452,3},{3240,-11445,3},{3238,-11440,3},{3237,-11433,3},{3235,-11427,3}, {3233,-11422,3},{3230,-11415,3},{3228,-11410,3},{3227,-11403,3},{3225,-11398,3}, {3223,-11392,3},{3222,-11385,3},{3220,-11380,3},{3218,-11373,3},{3217,-11368,3}, {3215,-11362,3},{3213,-11357,3},{3212,-11350,3},{3208,-11345,3},{3207,-11338,3}, {3205,-11332,3},{3203,-11327,3},{3202,-11320,3},{3200,-11315,3},{3198,-11308,3}, {3197,-11303,3},{3195,-11297,3},{3193,-11292,3},{3190,-11285,3},{3188,-11278,3}, {3187,-11273,3},{3185,-11267,3},{3183,-11262,3},{3182,-11255,3},{3180,-11250,3}, {3178,-11243,3},{3177,-11238,3},{3175,-11232,3},{3172,-11227,3},{3170,-11220,3}, {3168,-11215,3},{3167,-11208,3},{3165,-11202,3},{3163,-11197,3},{3162,-11190,3}, {3160,-11185,3},{3157,-11178,3},{3155,-11173,3},{3153,-11167,3},{3152,-11162,3}, {3150,-11155,3},{3148,-11150,3},{3147,-11143,3},{3143,-11138,3},{3142,-11132,3}, {3140,-11127,3},{3138,-11120,3},{3137,-11115,3},{3135,-11108,3},{3133,-11105,3}, {3133,-11098,3},{3133,-11092,3},{3133,-11085,3},{3133,-11078,3},{3133,-11072,3}, {3133,-11065,3},{3133,-11058,3},{3133,-11052,3},{3133,-11045,3},{3133,-11038,3}, {3133,-11032,3},{3133,-11025,3},{3133,-11018,3},{3133,-11012,3},{3133,-11005,3}, {3133,-10998,3},{3133,-10992,3},{3133,-10985,3},{3133,-10978,3},{3133,-10972,3}, {3133,-10965,3},{3133,-10958,3},{3133,-10952,3},{3133,-10945,3},{3133,-10938,3}, {3133,-10932,3},{3133,-10925,3},{3133,-10918,3},{3133,-10912,3},{3133,-10905,3}, {3133,-10898,3},{3133,-10892,3},{3133,-10885,3},{3133,-10883,3},{3133,-10878,3}, {3133,-10872,3},{3133,-10865,3},{3133,-10858,3},{3133,-10852,3},{3133,-10845,3}, {3133,-10838,3},{3133,-10832,3},{3133,-10825,3},{3133,-10820,3},{3138,-10820,3}, {3143,-10820,3},{3150,-10820,3},{3157,-10820,3},{3163,-10820,3},{3170,-10820,3}, {3177,-10820,3},{3178,-10820,3},{3178,-10813,3},{3178,-10807,3},{3178,-10800,3}, {3178,-10795,3},{3178,-10787,3},{3178,-10780,3},{3178,-10775,3},{3178,-10768,3}, {3178,-10760,3},{3178,-10753,3},{3178,-10747,3},{3178,-10742,3},{3178,-10733,3}, {3178,-10727,3},{3178,-10720,3},{3178,-10715,3},{3178,-10708,3},{3178,-10700,3}, {3178,-10693,3},{3178,-10687,3},{3178,-10682,3},{3178,-10675,3},{3178,-10667,3}, {3178,-10660,3},{3178,-10655,3},{3178,-10652,3},{3175,-10648,3},{3175,-10638,3}, {3168,-10633,3},{3148,-10622,3},{3143,-10615,3},{3140,-10600,3},{3137,-10595,3}, {3133,-10593,3},{3125,-10583,3},{3118,-10577,3},{3108,-10560,3},{3102,-10557,3}, {3097,-10550,3},{3095,-10548,3},{3090,-10540,3},{3087,-10538,3},{3082,-10528,3}, {3080,-10527,3},{3080,-10520,3},{3070,-10507,3},{3068,-10500,3},{3062,-10498,3}, {3062,-10493,3},{3057,-10490,3},{3050,-10487,3},{3040,-10485,3},{3038,-10482,3}, {3035,-10482,3},{3032,-10477,3},{3028,-10477,3},{3023,-10470,3},{3018,-10468,3}, {3012,-10468,3},{3005,-10470,3},{2997,-10467,3},{2995,-10468,3},{2982,-10462,3}, {2980,-10457,3},{2972,-10455,3},{2963,-10450,3},{2957,-10442,3},{2953,-10433,3}, {2952,-10428,3},{2948,-10420,3},{2947,-10420,3},{2942,-10417,3},{2933,-10405,3}, {2928,-10388,3},{2927,-10378,3},{2925,-10377,3},{2923,-10378,3},{2920,-10373,3}, {2915,-10363,3},{2915,-10355,3},{2907,-10348,3},{2907,-10345,3},{2902,-10337,3}, {2903,-10335,3},{2902,-10333,3},{2902,-10332,3},{2900,-10332,3},{2900,-10330,3}, {2898,-10315,3},{2900,-10310,3},{2907,-10310,3},{2905,-10308,3},{2908,-10308,3}, {2910,-10303,3},{2918,-10298,3},{2920,-10293,3},{2922,-10290,3},{2922,-10287,3}, {2925,-10290,3},{2932,-10288,3},{2935,-10288,3},{2935,-10285,3},{2940,-10282,3}, {2945,-10282,3},{2952,-10280,3},{2955,-10277,3},{2960,-10277,3},{2960,-10273,3}, {2963,-10273,3},{2967,-10268,3},{2975,-10267,3},{2975,-10258,3},{2977,-10257,3}, {2975,-10253,3},{2978,-10250,3},{2977,-10238,3},{2980,-10237,3},{2985,-10235,3}, {2988,-10230,3},{2987,-10225,3},{2985,-10223,3},{2985,-10218,3},{2982,-10215,3}, {2980,-10208,3},{2980,-10198,3},{2982,-10197,3},{2980,-10192,3},{2980,-10188,3}, {2980,-10183,3},{2982,-10182,3},{2978,-10180,3},{2980,-10177,3},{2977,-10163,3}, {2977,-10157,3},{2982,-10153,3},{2980,-10153,3},{2977,-10153,3},{2978,-10147,3}, {2977,-10143,3},{2977,-10140,3},{2975,-10142,3},{2967,-10135,3},{2965,-10130,3}, {2962,-10132,3},{2958,-10130,3},{2962,-10123,3},{2962,-10122,3},{2958,-10122,3}, {2953,-10122,3},{2953,-10118,3},{2950,-10113,3},{2947,-10105,3},{2938,-10100,3}, {2935,-10093,3},{2928,-10087,3},{2928,-10083,3},{2923,-10077,3},{2917,-10077,3}, {2912,-10067,3},{2900,-10063,3},{2892,-10062,3},{2887,-10057,3},{2883,-10057,3}, {2883,-10053,3},{2868,-10048,3},{2863,-10043,3},{2862,-10043,3},{2860,-10040,3}, {2857,-10040,3},{2853,-10038,3},{2850,-10032,3},{2848,-10035,3},{2843,-10033,3}, {2840,-10033,3},{2832,-10028,3},{2828,-10028,3},{2825,-10023,3},{2823,-10020,3}, {2820,-10018,3},{2815,-10007,3},{2808,-10005,3},{2807,-10002,3},{2800,-10000,3}, {2798,-9993,3},{2793,-9993,3},{2790,-9988,3},{2787,-9988,3},{2785,-9987,3}, {2780,-9987,3},{2778,-9983,3},{2777,-9980,3},{2773,-9978,3},{2772,-9975,3}, {2767,-9970,3},{2765,-9965,3},{2763,-9963,3},{2763,-9958,3},{2757,-9950,3}, {2750,-9952,3},{2748,-9947,3},{2740,-9947,3},{2730,-9952,3},{2730,-9948,3}, {2727,-9948,3},{2727,-9945,3},{2722,-9943,3},{2713,-9945,3},{2710,-9943,3}, {2705,-9947,3},{2700,-9938,3},{2693,-9938,3},{2692,-9935,3},{2688,-9935,3}, {2685,-9927,3},{2662,-9917,3},{2655,-9917,3},{2650,-9908,3},{2642,-9910,3}, {2640,-9908,3},{2640,-9902,3},{2638,-9900,3},{2640,-9898,3},{2640,-9897,3}, {2638,-9895,3},{2640,-9893,3},{2637,-9888,3},{2637,-9880,3},{2632,-9873,3}, {2630,-9875,3},{2630,-9870,3},{2627,-9870,3},{2623,-9865,3},{2625,-9858,3}, {2623,-9855,3},{2625,-9853,3},{2620,-9847,3},{2623,-9845,3},{2620,-9840,3}, {2620,-9837,3},{2615,-9838,3},{2615,-9835,3},{2612,-9830,3},{2608,-9820,3}, {2605,-9820,3},{2607,-9817,3},{2607,-9813,3},{2607,-9812,3},{2607,-9808,3}, {2605,-9808,3},{2603,-9807,3},{2607,-9802,3},{2605,-9800,3},{2605,-9780,3}, {2605,-9778,3},{2603,-9777,3},{2603,-9765,3},{2600,-9762,3},{2597,-9758,3}, {2595,-9757,3},{2590,-9752,3},{2588,-9745,3},{2585,-9743,3},{2585,-9742,3}, {2587,-9740,3},{2583,-9737,3},{2585,-9735,3},{2592,-9735,3},{2593,-9733,3}, {2593,-9728,3},{2597,-9727,3},{2595,-9722,3},{2597,-9713,3},{2570,-9717,3}, {2543,-9728,3},{2513,-9748,3},{2503,-9752,3},{2478,-9758,3},{2432,-9768,3}, {2407,-9772,3},{2378,-9773,3},{2378,-9775,3},{2378,-9782,3},{2377,-9775,3}, {2365,-9775,3},{2375,-9773,3},{2375,-9772,3},{2330,-9777,3},{2290,-9773,3}, {2285,-9775,3},{2292,-9775,3},{2290,-9777,3},{2277,-9780,3},{2277,-9783,3}, {2273,-9783,3},{2273,-9787,3},{2270,-9785,3},{2260,-9788,3},{2258,-9787,3}, {2260,-9785,3},{2262,-9785,3},{2267,-9783,3},{2265,-9783,3},{2260,-9783,3}, {2252,-9785,3},{2233,-9780,3},{2227,-9778,3},{2215,-9778,3},{2197,-9770,3}, {2177,-9755,3},{2168,-9745,3},{2160,-9733,3},{2157,-9732,3},{2148,-9732,3}, {2133,-9740,3},{2127,-9742,3},{2137,-9743,3},{2138,-9747,3},{2142,-9745,3}, {2143,-9748,3},{2148,-9740,3},{2147,-9738,3},{2150,-9737,3},{2153,-9737,3}, {2163,-9748,3},{2178,-9762,3},{2190,-9765,3},{2192,-9768,3},{2208,-9778,3}, {2193,-9772,3},{2182,-9772,3},{2167,-9767,3},{2148,-9757,3},{2147,-9753,3}, {2148,-9748,3},{2143,-9750,3},{2137,-9748,3},{2128,-9743,3},{2125,-9743,3}, {2125,-9740,3},{2113,-9738,3},{2097,-9730,3},{2080,-9720,3},{2075,-9718,3}, {2073,-9720,3},{2068,-9717,3},{2053,-9705,3},{2047,-9695,3},{2030,-9683,3}, {2015,-9668,3},{2008,-9665,3},{1987,-9645,3},{1973,-9640,3},{1967,-9640,3}, {1953,-9637,3},{1947,-9630,3},{1943,-9632,3},{1938,-9630,3},{1933,-9630,3}, {1923,-9617,3},{1922,-9612,3},{1912,-9610,3},{1907,-9605,3},{1905,-9597,3}, {1895,-9595,3},{1887,-9590,3},{1883,-9583,3},{1880,-9575,3},{1877,-9575,3}, {1880,-9582,3},{1882,-9588,3},{1887,-9593,3},{1887,-9595,3},{1885,-9595,3}, {1883,-9593,3},{1882,-9587,3},{1880,-9587,3},{1875,-9582,3},{1875,-9588,3}, {1872,-9587,3},{1872,-9582,3},{1875,-9578,3},{1872,-9568,3},{1870,-9562,3}, {1867,-9558,3},{1868,-9557,3},{1870,-9558,3},{1875,-9573,3},{1880,-9573,3}, {1873,-9565,3},{1872,-9557,3},{1870,-9540,3},{1872,-9528,3},{1870,-9518,3}, {1862,-9505,3},{1855,-9502,3},{1853,-9495,3},{1853,-9482,3},{1852,-9478,3}, {1840,-9473,3},{1828,-9462,3},{1818,-9458,3},{1815,-9453,3},{1815,-9447,3}, {1820,-9417,3},{1830,-9387,3},{1825,-9388,3},{1827,-9380,3},{1828,-9377,3}, {1832,-9377,3},{1833,-9373,3},{1835,-9368,3},{1833,-9368,3},{1833,-9365,3}, {1835,-9358,3},{1837,-9357,3},{1840,-9357,3},{1840,-9362,3},{1837,-9370,3}, {1835,-9372,3},{1835,-9377,3},{1830,-9380,3},{1832,-9385,3},{1835,-9378,3}, {1842,-9358,3},{1843,-9343,3},{1843,-9315,3},{1842,-9317,3},{1840,-9318,3}, {1837,-9317,3},{1837,-9313,3},{1838,-9312,3},{1837,-9312,3},{1835,-9313,3}, {1833,-9313,3},{1837,-9312,3},{1838,-9308,3},{1840,-9308,3},{1842,-9313,3}, {1843,-9313,3},{1845,-9310,3},{1843,-9297,3},{1845,-9292,3},{1850,-9280,3}, {1858,-9272,3},{1858,-9270,3},{1853,-9268,3},{1843,-9267,3},{1855,-9267,3}, {1862,-9268,3},{1862,-9258,3},{1868,-9240,3},{1868,-9222,3},{1873,-9198,3}, {1872,-9195,3},{1868,-9193,3},{1862,-9185,3},{1858,-9187,3},{1860,-9188,3}, {1858,-9193,3},{1863,-9195,3},{1860,-9197,3},{1862,-9202,3},{1858,-9198,3}, {1858,-9203,3},{1855,-9205,3},{1853,-9200,3},{1855,-9195,3},{1850,-9190,3}, {1855,-9193,3},{1857,-9197,3},{1860,-9197,3},{1857,-9195,3},{1857,-9190,3}, {1855,-9192,3},{1855,-9188,3},{1852,-9187,3},{1852,-9188,3},{1850,-9183,3}, {1843,-9185,3},{1838,-9180,3},{1840,-9178,3},{1845,-9182,3},{1843,-9178,3}, {1843,-9177,3},{1847,-9180,3},{1848,-9180,3},{1843,-9162,3},{1845,-9153,3}, {1847,-9150,3},{1843,-9150,3},{1843,-9147,3},{1848,-9148,3},{1848,-9150,3}, {1845,-9153,3},{1848,-9153,3},{1852,-9148,3},{1857,-9133,3},{1862,-9130,3}, {1862,-9125,3},{1865,-9118,3},{1867,-9118,3},{1863,-9130,3},{1867,-9128,3}, {1870,-9127,3},{1873,-9127,3},{1878,-9132,3},{1877,-9135,3},{1878,-9138,3}, {1883,-9138,3},{1890,-9130,3},{1895,-9123,3},{1890,-9132,3},{1888,-9137,3}, {1883,-9142,3},{1882,-9142,3},{1880,-9148,3},{1882,-9152,3},{1890,-9143,3}, {1900,-9117,3},{1908,-9107,3},{1912,-9100,3},{1917,-9092,3},{1925,-9085,3}, {1932,-9077,3},{1935,-9073,3},{1963,-9070,3},{1968,-9072,3},{1977,-9068,3}, {1982,-9063,3},{1988,-9053,3},{1997,-9045,3},{2008,-9050,3},{2012,-9048,3}, {2018,-9050,3},{2023,-9048,3},{2030,-9048,3},{2040,-9047,3},{2052,-9048,3}, {2063,-9047,3},{2073,-9045,3},{2082,-9038,3},{2087,-9037,3},{2097,-9033,3}, {2087,-9037,3},{2083,-9038,3},{2078,-9042,3},{2078,-9043,3},{2103,-9033,3}, {2108,-9023,3},{2113,-9013,3},{2117,-9010,3},{2118,-9000,3},{2123,-8993,3}, {2127,-8982,3},{2130,-8970,3},{2130,-8958,3},{2133,-8942,3},{2137,-8910,3}, {2142,-8885,3},{2143,-8882,3},{2145,-8870,3},{2153,-8860,3},{2155,-8852,3}, {2157,-8845,3},{2155,-8827,3},{2157,-8820,3},{2158,-8808,3},{2160,-8813,3}, {2158,-8820,3},{2157,-8825,3},{2162,-8812,3},{2160,-8805,3},{2160,-8800,3}, {2157,-8788,3},{2153,-8770,3},{2152,-8773,3},{2155,-8785,3},{2150,-8775,3}, {2150,-8762,3},{2152,-8768,3},{2153,-8768,3},{2150,-8757,3},{2150,-8750,3}, {2148,-8748,3},{2148,-8750,3},{2147,-8748,3},{2147,-8740,3},{2145,-8735,3}, {2143,-8725,3},{2148,-8715,3},{2152,-8713,3},{2153,-8713,3},{2155,-8713,3}, {2157,-8715,3},{2157,-8720,3},{2153,-8725,3},{2153,-8733,3},{2155,-8733,3}, {2152,-8740,3},{2150,-8740,3},{2153,-8742,3},{2158,-8737,3},{2157,-8728,3}, {2158,-8722,3},{2162,-8712,3},{2158,-8700,3},{2143,-8690,3},{2145,-8687,3}, {2143,-8683,3},{2137,-8682,3},{2130,-8683,3},{2118,-8682,3},{2115,-8677,3}, {2115,-8673,3},{2112,-8677,3},{2103,-8678,3},{2102,-8682,3},{2083,-8688,3}, {2073,-8698,3},{2062,-8707,3},{2057,-8717,3},{2050,-8723,3},{2030,-8737,3}, {2028,-8737,3},{2028,-8738,3},{2027,-8738,3},{2022,-8743,3},{2010,-8747,3}, {1998,-8747,3},{1990,-8743,3},{1985,-8743,3},{1983,-8747,3},{1978,-8747,3}, {1983,-8748,3},{1985,-8745,3},{1992,-8743,3},{1993,-8747,3},{1997,-8748,3}, {1995,-8748,3},{1987,-8747,3},{1988,-8745,3},{1988,-8747,3},{1980,-8752,3}, {1980,-8753,3},{1982,-8753,3},{1980,-8755,3},{1980,-8758,3},{1963,-8767,3}, {1963,-8768,3},{1968,-8765,3},{1967,-8773,3},{1960,-8773,3},{1958,-8770,3}, {1957,-8768,3},{1957,-8767,3},{1950,-8767,3},{1952,-8765,3},{1955,-8760,3}, {1957,-8757,3},{1955,-8752,3},{1953,-8750,3},{1957,-8748,3},{1957,-8747,3}, {1955,-8747,3},{1955,-8745,3},{1958,-8742,3},{1960,-8743,3},{1960,-8745,3}, {1957,-8743,3},{1958,-8753,3},{1958,-8745,3},{1963,-8743,3},{1958,-8742,3}, {1950,-8743,3},{1945,-8747,3},{1940,-8753,3},{1940,-8757,3},{1940,-8753,3}, {1943,-8755,3},{1940,-8763,3},{1935,-8767,3},{1933,-8767,3},{1935,-8765,3}, {1932,-8765,3},{1932,-8768,3},{1930,-8767,3},{1925,-8768,3},{1922,-8763,3}, {1925,-8760,3},{1928,-8758,3},{1932,-8757,3},{1933,-8750,3},{1932,-8750,3}, {1928,-8752,3},{1932,-8748,3},{1932,-8747,3},{1922,-8753,3},{1910,-8755,3}, {1905,-8760,3},{1905,-8758,3},{1895,-8762,3},{1877,-8765,3},{1867,-8773,3}, {1855,-8773,3},{1852,-8775,3},{1842,-8777,3},{1832,-8783,3},{1818,-8785,3}, {1823,-8785,3},{1822,-8788,3},{1823,-8788,3},{1825,-8787,3},{1832,-8785,3}, {1828,-8788,3},{1830,-8788,3},{1833,-8788,3},{1835,-8790,3},{1837,-8790,3}, {1840,-8793,3},{1843,-8792,3},{1850,-8807,3},{1853,-8808,3},{1855,-8805,3}, {1860,-8805,3},{1868,-8800,3},{1870,-8802,3},{1878,-8800,3},{1882,-8803,3}, {1887,-8803,3},{1885,-8807,3},{1878,-8810,3},{1872,-8812,3},{1873,-8815,3}, {1878,-8813,3},{1873,-8815,3},{1873,-8820,3},{1868,-8825,3},{1867,-8825,3}, {1870,-8820,3},{1873,-8818,3},{1872,-8818,3},{1867,-8820,3},{1870,-8817,3}, {1870,-8815,3},{1867,-8818,3},{1848,-8828,3},{1848,-8840,3},{1848,-8843,3}, {1848,-8847,3},{1848,-8848,3},{1840,-8853,3},{1833,-8855,3},{1830,-8858,3}, {1823,-8860,3},{1818,-8868,3},{1817,-8868,3},{1812,-8870,3},{1807,-8872,3}, {1803,-8875,3},{1798,-8877,3},{1793,-8883,3},{1788,-8885,3},{1797,-8893,3}, {1797,-8898,3},{1800,-8902,3},{1800,-8903,3},{1795,-8915,3},{1782,-8915,3}, {1782,-8920,3},{1782,-8925,3},{1782,-8932,3},{1782,-8937,3},{1782,-8942,3}, {1782,-8947,3},{1782,-8953,3},{1782,-8958,3},{1782,-8963,3},{1782,-8968,3}, {1782,-8975,3},{1782,-8980,3},{1782,-8985,3},{1782,-8990,3},{1782,-8995,3}, {1782,-9002,3},{1782,-9007,3},{1782,-9012,3},{1782,-9017,3},{1782,-9023,3}, {1782,-9028,3},{1782,-9033,3},{1782,-9038,3},{1782,-9045,3},{1782,-9050,3}, {1782,-9055,3},{1782,-9060,3},{1782,-9067,3},{1782,-9072,3},{1782,-9077,3}, {1782,-9082,3},{1782,-9087,3},{1782,-9093,3},{1782,-9098,3},{1777,-9098,3}, {1772,-9098,3},{1767,-9098,3},{1762,-9098,3},{1757,-9098,3},{1752,-9098,3}, {1747,-9098,3},{1742,-9098,3},{1737,-9098,3},{1730,-9098,3},{1725,-9098,3}, {1725,-9100,3},{1725,-9105,3},{1725,-9112,3},{1725,-9117,3},{1725,-9122,3}, {1725,-9127,3},{1725,-9133,3},{1725,-9138,3},{1725,-9143,3},{1723,-9143,3}, {1722,-9142,3},{1722,-9138,3},{1718,-9135,3},{1718,-9128,3},{1713,-9127,3}, {1712,-9123,3},{1703,-9118,3},{1702,-9112,3},{1698,-9112,3},{1693,-9107,3}, {1690,-9107,3},{1690,-9102,3},{1687,-9098,3},{1690,-9098,3},{1690,-9095,3}, {1688,-9095,3},{1687,-9097,3},{1685,-9093,3},{1683,-9092,3},{1682,-9088,3}, {1680,-9085,3},{1680,-9080,3},{1678,-9080,3},{1673,-9072,3},{1665,-9065,3}, {1660,-9065,3},{1658,-9067,3},{1660,-9063,3},{1658,-9063,3},{1655,-9065,3}, {1652,-9065,3},{1652,-9062,3},{1648,-9063,3},{1648,-9062,3},{1648,-9058,3}, {1648,-9055,3},{1647,-9053,3},{1647,-9050,3},{1645,-9048,3},{1643,-9048,3}, {1642,-9040,3},{1638,-9040,3},{1637,-9038,3},{1637,-9042,3},{1633,-9038,3}, {1630,-9045,3},{1628,-9042,3},{1628,-9043,3},{1627,-9043,3},{1627,-9045,3}, {1625,-9047,3},{1623,-9043,3},{1622,-9047,3},{1618,-9047,3},{1617,-9043,3}, {1615,-9045,3},{1613,-9043,3},{1612,-9047,3},{1610,-9045,3},{1610,-9043,3}, {1608,-9045,3},{1608,-9048,3},{1608,-9055,3},{1608,-9060,3},{1608,-9065,3}, {1608,-9070,3},{1608,-9075,3},{1608,-9082,3},{1608,-9087,3},{1608,-9092,3}, {1608,-9097,3},{1608,-9103,3},{1608,-9108,3},{1608,-9113,3},{1608,-9118,3}, {1608,-9123,3},{1608,-9130,3},{1608,-9135,3},{1608,-9140,3},{1608,-9145,3}, {1608,-9150,3},{1608,-9157,3},{1608,-9162,3},{1608,-9167,3},{1608,-9173,3}, {1603,-9175,3},{1598,-9178,3},{1595,-9180,3},{1590,-9183,3},{1585,-9187,3}, {1580,-9188,3},{1577,-9192,3},{1572,-9195,3},{1567,-9197,3},{1563,-9200,3}, {1558,-9202,3},{1553,-9205,3},{1548,-9208,3},{1545,-9210,3},{1540,-9213,3}, {1535,-9215,3},{1530,-9218,3},{1527,-9222,3},{1523,-9220,3},{1520,-9217,3}, {1515,-9213,3},{1512,-9210,3},{1508,-9207,3},{1503,-9208,3},{1502,-9213,3}, {1500,-9215,3},{1490,-9213,3},{1485,-9218,3},{1468,-9215,3},{1458,-9218,3}, {1455,-9222,3},{1455,-9225,3},{3253,-11712,131},{3265,-11717,3},{3268,-11722,3}, {3270,-11720,3},{3268,-11718,3},{3262,-11715,3},{3262,-11712,3},{3265,-11712,3}, {3268,-11715,3},{3273,-11722,3},{3270,-11723,3},{3267,-11725,3},{3268,-11727,3}, {3277,-11725,3},{3283,-11728,3},{3288,-11725,3},{3300,-11728,3},{3312,-11733,3}, {3325,-11742,3},{3335,-11750,3},{3345,-11765,3},{3348,-11772,3},{3355,-11778,3}, {3360,-11785,3},{3363,-11795,3},{3377,-11812,3},{3377,-11820,3},{3378,-11822,3}, {3377,-11827,3},{3373,-11827,3},{3372,-11828,3},{3375,-11835,3},{3375,-11840,3}, {3378,-11842,3},{3383,-11838,3},{3385,-11838,3},{3393,-11843,3},{3405,-11853,3}, {3403,-11875,3},{3403,-11878,3},{3402,-11880,3},{3405,-11892,3},{3408,-11902,3}, {3412,-11912,3},{3412,-11913,3},{3412,-11910,3},{3412,-11912,3},{3417,-11922,3}, {3428,-11927,3},{3428,-11932,3},{3435,-11942,3},{3442,-11953,3},{3442,-11962,3}, {3442,-11968,3},{3440,-11972,3},{3442,-11978,3},{3442,-11987,3},{3447,-12000,3}, {3448,-12012,3},{3447,-12030,3},{3445,-12045,3},{3453,-12050,3},{3457,-12055,3}, {3457,-12062,3},{3462,-12063,3},{3470,-12058,3},{3477,-12062,3},{3485,-12060,3}, {3493,-12065,3},{3505,-12060,3},{3510,-12060,3},{3513,-12062,3},{3518,-12070,3}, {3517,-12075,3},{3522,-12085,3},{3525,-12087,3},{3530,-12087,3},{3537,-12083,3}, {3533,-12083,3},{3535,-12080,3},{3537,-12083,3},{3543,-12085,3},{3547,-12100,3}, {3565,-12115,3},{3567,-12127,3},{3573,-12130,3},{3577,-12130,3},{3588,-12143,3}, {3600,-12147,3},{3603,-12155,3},{3618,-12165,3},{3625,-12180,3},{3628,-12182,3}, {3630,-12187,3},{3640,-12187,3},{3652,-12192,3},{3653,-12190,3},{3657,-12192,3}, {3658,-12195,3},{3660,-12195,3},{3665,-12190,3},{3662,-12185,3},{3663,-12182,3}, {3675,-12178,3},{3673,-12173,3},{3675,-12175,3},{3677,-12177,3},{3682,-12175,3}, {3697,-12187,3},{3698,-12190,3},{3695,-12195,3},{3697,-12198,3},{3695,-12203,3}, {3697,-12208,3},{3702,-12218,3},{3712,-12228,3},{3712,-12230,3},{3722,-12238,3}, {3733,-12237,3},{3748,-12242,3},{3750,-12243,3},{3752,-12248,3},{3758,-12250,3}, {3765,-12247,3},{3778,-12248,3},{3782,-12245,3},{3782,-12238,3},{3778,-12235,3}, {3775,-12237,3},{3773,-12233,3},{3772,-12237,3},{3765,-12237,3},{3762,-12235,3}, {3760,-12230,3},{3758,-12228,3},{3758,-12223,3},{3755,-12223,3},{3753,-12218,3}, {3752,-12218,3},{3750,-12212,3},{3747,-12208,3},{3747,-12200,3},{3748,-12203,3}, {3750,-12203,3},{3752,-12208,3},{3770,-12215,3},{3772,-12217,3},{3772,-12222,3}, {3773,-12223,3},{3775,-12220,3},{3778,-12230,3},{3783,-12230,3},{3783,-12228,3}, {3790,-12230,3},{3792,-12235,3},{3797,-12240,3},{3797,-12237,3},{3802,-12235,3}, {3802,-12228,3},{3807,-12222,3},{3803,-12213,3},{3807,-12202,3},{3802,-12168,3}, {3802,-12167,3},{3803,-12170,3},{3805,-12167,3},{3808,-12165,3},{3810,-12160,3}, {3805,-12152,3},{3805,-12148,3},{3800,-12143,3},{3802,-12142,3},{3812,-12158,3}, {3810,-12165,3},{3807,-12168,3},{3805,-12172,3},{3805,-12175,3},{3807,-12177,3}, {3810,-12170,3},{3815,-12167,3},{3808,-12175,3},{3808,-12185,3},{3807,-12190,3}, {3808,-12188,3},{3810,-12198,3},{3815,-12197,3},{3815,-12200,3},{3813,-12203,3}, {3810,-12205,3},{3805,-12213,3},{3807,-12217,3},{3808,-12223,3},{3812,-12228,3}, {3817,-12238,3},{3813,-12240,3},{3812,-12248,3},{3808,-12247,3},{3802,-12248,3}, {3800,-12243,3},{3798,-12243,3},{3797,-12247,3},{3795,-12247,3},{3793,-12248,3}, {3788,-12242,3},{3788,-12245,3},{3790,-12247,3},{3788,-12247,3},{3783,-12245,3}, {3783,-12248,3},{3792,-12263,3},{3793,-12265,3},{3792,-12265,3},{3790,-12268,3}, {3797,-12275,3},{3800,-12278,3},{3805,-12290,3},{3808,-12292,3},{3807,-12293,3}, {3805,-12292,3},{3802,-12295,3},{3800,-12295,3},{3800,-12300,3},{3805,-12295,3}, {3815,-12293,3},{3820,-12293,3},{3823,-12297,3},{3818,-12290,3},{3810,-12283,3}, {3808,-12280,3},{3812,-12283,3},{3825,-12293,3},{3830,-12297,3},{3833,-12303,3}, {3832,-12303,3},{3832,-12305,3},{3837,-12305,3},{3847,-12310,3},{3857,-12332,3}, {3865,-12340,3},{3873,-12345,3},{3875,-12350,3},{3893,-12370,3},{3897,-12372,3}, {3902,-12367,3},{3912,-12368,3},{3918,-12372,3},{3922,-12375,3},{3937,-12380,3}, {3948,-12378,3},{3957,-12373,3},{3962,-12377,3},{3970,-12377,3},{3977,-12382,3}, {3983,-12382,3},{3998,-12395,3},{4002,-12402,3},{4003,-12405,3},{4010,-12407,3}, {4025,-12432,3},{4033,-12432,3},{4045,-12438,3},{4058,-12433,3},{4065,-12428,3}, {4072,-12427,3},{4077,-12422,3},{4072,-12425,3},{4070,-12422,3},{4072,-12418,3}, {4075,-12420,3},{4080,-12417,3},{4082,-12408,3},{4085,-12407,3},{4085,-12413,3}, {4078,-12418,3},{4078,-12420,3},{4087,-12415,3},{4098,-12410,3},{4103,-12410,3}, {4108,-12413,3},{4115,-12413,3},{4122,-12410,3},{4142,-12403,3},{4153,-12407,3}, {4155,-12405,3},{4157,-12408,3},{4170,-12412,3},{4175,-12415,3},{4178,-12425,3}, {4187,-12418,3},{4195,-12417,3},{4200,-12418,3},{4212,-12433,3},{4222,-12437,3}, {4227,-12440,3},{4230,-12440,3},{4233,-12443,3},{4238,-12440,3},{4248,-12442,3}, {4255,-12438,3},{4267,-12438,3},{4270,-12443,3},{4275,-12447,3},{4275,-12450,3}, {4282,-12450,3},{4285,-12455,3},{4303,-12443,3},{4335,-12437,3},{4335,-12432,3}, {4332,-12432,3},{4330,-12430,3},{4333,-12430,3},{4335,-12427,3},{4337,-12430,3}, {4342,-12425,3},{4343,-12422,3},{4338,-12420,3},{4337,-12413,3},{4345,-12420,3}, {4348,-12418,3},{4338,-12432,3},{4357,-12422,3},{4367,-12418,3},{4370,-12415,3}, {4373,-12412,3},{4372,-12410,3},{4372,-12407,3},{4375,-12412,3},{4375,-12415,3}, {4370,-12415,3},{4370,-12418,3},{4400,-12412,3},{4400,-12410,3},{4407,-12412,3}, {4418,-12410,3},{4433,-12410,3},{4443,-12407,3},{4442,-12400,3},{4445,-12402,3}, {4447,-12407,3},{4462,-12405,3},{4462,-12400,3},{4465,-12400,3},{4465,-12403,3}, {4468,-12405,3},{4473,-12403,3},{4483,-12405,3},{4492,-12402,3},{4492,-12400,3}, {4507,-12400,3},{4518,-12395,3},{4522,-12395,3},{4528,-12393,3},{4533,-12395,3}, {4535,-12398,3},{4537,-12395,3},{4543,-12393,3},{4540,-12393,3},{4542,-12390,3}, {4547,-12395,3},{4550,-12395,3},{4552,-12393,3},{4552,-12390,3},{4548,-12387,3}, {4552,-12383,3},{4553,-12387,3},{4558,-12388,3},{4558,-12392,3},{4560,-12393,3}, {4568,-12390,3},{4572,-12385,3},{4572,-12390,3},{4568,-12392,3},{4572,-12392,3}, {4577,-12395,3},{4578,-12397,3},{4582,-12395,3},{4588,-12393,3},{4595,-12397,3}, {4598,-12392,3},{4603,-12392,3},{4613,-12393,3},{4623,-12398,3},{4617,-12385,3}, {4617,-12380,3},{4613,-12380,3},{4612,-12378,3},{4615,-12377,3},{4620,-12383,3}, {4622,-12377,3},{4618,-12372,3},{4620,-12358,3},{4622,-12360,3},{4622,-12355,3}, {4625,-12350,3},{4625,-12347,3},{4622,-12343,3},{4617,-12340,3},{4615,-12327,3}, {4617,-12320,3},{4620,-12317,3},{4617,-12327,3},{4620,-12332,3},{4623,-12338,3}, {4628,-12343,3},{4627,-12357,3},{4628,-12365,3},{4632,-12368,3},{4630,-12370,3}, {4628,-12375,3},{4630,-12378,3},{4627,-12385,3},{4627,-12390,3},{4633,-12398,3}, {4632,-12402,3},{4628,-12402,3},{4628,-12407,3},{4635,-12403,3},{4665,-12405,3}, {4665,-12402,3},{4663,-12403,3},{4658,-12400,3},{4650,-12402,3},{4640,-12398,3}, {4640,-12393,3},{4645,-12392,3},{4642,-12383,3},{4643,-12383,3},{4645,-12388,3}, {4650,-12392,3},{4653,-12388,3},{4657,-12388,3},{4663,-12393,3},{4662,-12388,3}, {4665,-12392,3},{4668,-12390,3},{4672,-12383,3},{4667,-12378,3},{4670,-12375,3}, {4670,-12378,3},{4675,-12387,3},{4673,-12392,3},{4675,-12395,3},{4672,-12395,3}, {4675,-12407,3},{4692,-12412,3},{4693,-12410,3},{4692,-12408,3},{4687,-12407,3}, {4685,-12402,3},{4685,-12400,3},{4688,-12402,3},{4688,-12403,3},{4690,-12403,3}, {4698,-12380,3},{4698,-12392,3},{4700,-12392,3},{4698,-12397,3},{4705,-12402,3}, {4707,-12407,3},{4707,-12410,3},{4703,-12413,3},{4697,-12412,3},{4693,-12415,3}, {4698,-12415,3},{4707,-12415,3},{4722,-12418,3},{4732,-12423,3},{4733,-12427,3}, {4737,-12425,3},{4737,-12430,3},{4767,-12435,3},{4775,-12440,3},{4777,-12443,3}, {4783,-12447,3},{4785,-12450,3},{4788,-12455,3},{4788,-12458,3},{4800,-12465,3}, {4812,-12468,3},{4817,-12472,3},{4822,-12467,3},{4825,-12468,3},{4833,-12465,3}, {4837,-12470,3},{4840,-12472,3},{4838,-12457,3},{4830,-12440,3},{4825,-12415,3}, {4820,-12403,3},{4818,-12393,3},{4817,-12378,3},{4817,-12370,3},{4815,-12362,3}, {4815,-12348,3},{4815,-12342,3},{4813,-12342,3},{4813,-12335,3},{4813,-12323,3}, {4820,-12310,3},{4817,-12315,3},{4815,-12308,3},{4812,-12303,3},{4807,-12302,3}, {4805,-12300,3},{4807,-12298,3},{4810,-12300,3},{4812,-12295,3},{4810,-12292,3}, {4808,-12290,3},{4807,-12287,3},{4803,-12283,3},{4802,-12287,3},{4800,-12285,3}, {4805,-12282,3},{4810,-12287,3},{4812,-12287,3},{4815,-12283,3},{4817,-12275,3}, {4813,-12273,3},{4812,-12278,3},{4808,-12278,3},{4798,-12267,3},{4795,-12267,3}, {4790,-12260,3},{4788,-12267,3},{4785,-12267,3},{4782,-12272,3},{4770,-12278,3}, {4772,-12282,3},{4782,-12278,3},{4787,-12280,3},{4780,-12282,3},{4783,-12285,3}, {4777,-12283,3},{4773,-12287,3},{4767,-12290,3},{4762,-12297,3},{4752,-12305,3}, {4747,-12310,3},{4737,-12315,3},{4735,-12310,3},{4737,-12300,3},{4745,-12283,3}, {4745,-12287,3},{4738,-12302,3},{4740,-12310,3},{4752,-12302,3},{4762,-12293,3}, {4763,-12290,3},{4768,-12275,3},{4775,-12272,3},{4787,-12262,3},{4785,-12258,3}, {4783,-12257,3},{4783,-12255,3},{4793,-12257,3},{4795,-12260,3},{4792,-12252,3}, {4782,-12248,3},{4780,-12248,3},{4777,-12245,3},{4775,-12248,3},{4777,-12253,3}, {4772,-12258,3},{4775,-12265,3},{4770,-12260,3},{4758,-12258,3},{4767,-12267,3}, {4765,-12268,3},{4760,-12267,3},{4758,-12262,3},{4755,-12267,3},{4757,-12260,3}, {4760,-12253,3},{4755,-12253,3},{4753,-12248,3},{4743,-12255,3},{4737,-12253,3}, {4735,-12257,3},{4730,-12253,3},{4728,-12257,3},{4732,-12267,3},{4733,-12267,3}, {4738,-12262,3},{4742,-12262,3},{4740,-12263,3},{4735,-12272,3},{4730,-12275,3}, {4725,-12272,3},{4723,-12273,3},{4722,-12273,3},{4718,-12275,3},{4722,-12278,3}, {4727,-12282,3},{4732,-12277,3},{4742,-12280,3},{4733,-12283,3},{4730,-12292,3}, {4720,-12293,3},{4718,-12297,3},{4715,-12307,3},{4715,-12300,3},{4712,-12307,3}, {4713,-12302,3},{4720,-12292,3},{4718,-12292,3},{4712,-12295,3},{4710,-12298,3}, {4712,-12295,3},{4715,-12292,3},{4707,-12290,3},{4707,-12288,3},{4710,-12288,3}, {4715,-12288,3},{4718,-12283,3},{4715,-12285,3},{4715,-12280,3},{4718,-12280,3}, {4710,-12272,3},{4712,-12268,3},{4720,-12257,3},{4728,-12252,3},{4733,-12252,3}, {4728,-12242,3},{4730,-12238,3},{4733,-12242,3},{4737,-12232,3},{4740,-12232,3}, {4747,-12235,3},{4750,-12235,3},{4760,-12240,3},{4762,-12237,3},{4758,-12233,3}, {4762,-12233,3},{4767,-12242,3},{4773,-12235,3},{4778,-12238,3},{4783,-12237,3}, {4788,-12232,3},{4797,-12228,3},{4798,-12222,3},{4802,-12218,3},{4803,-12220,3}, {4803,-12223,3},{4803,-12227,3},{4808,-12233,3},{4822,-12238,3},{4823,-12243,3}, {4822,-12245,3},{4817,-12247,3},{4813,-12245,3},{4810,-12238,3},{4805,-12235,3}, {4805,-12238,3},{4812,-12245,3},{4812,-12250,3},{4818,-12253,3},{4823,-12252,3}, {4825,-12250,3},{4825,-12243,3},{4823,-12238,3},{4830,-12238,3},{4837,-12250,3}, {4837,-12253,3},{4840,-12257,3},{4843,-12257,3},{4840,-12263,3},{4842,-12268,3}, {4847,-12267,3},{4850,-12270,3},{4852,-12262,3},{4845,-12258,3},{4848,-12257,3}, {4845,-12253,3},{4845,-12248,3},{4853,-12248,3},{4858,-12257,3},{4858,-12252,3}, {4855,-12247,3},{4855,-12245,3},{4860,-12243,3},{4870,-12252,3},{4873,-12250,3}, {4875,-12252,3},{4878,-12258,3},{4875,-12260,3},{4872,-12263,3},{4872,-12267,3}, {4877,-12265,3},{4880,-12268,3},{4878,-12270,3},{4882,-12270,3},{4887,-12277,3}, {4892,-12275,3},{4893,-12277,3},{4893,-12282,3},{4895,-12282,3},{4897,-12277,3}, {4895,-12273,3},{4898,-12275,3},{4900,-12277,3},{4900,-12270,3},{4900,-12260,3}, {4900,-12250,3},{4900,-12240,3},{4900,-12230,3},{4900,-12220,3},{4900,-12210,3}, {4900,-12200,3},{4900,-12190,3},{4900,-12180,3},{4900,-12170,3},{4900,-12160,3}, {4900,-12150,3},{4900,-12137,3},{4900,-12130,3},{4900,-12120,3},{4900,-12110,3}, {4900,-12100,3},{4900,-12090,3},{4900,-12080,3},{4900,-12070,3},{4900,-12060,3}, {4900,-12050,3},{4900,-12040,3},{4900,-12030,3},{4900,-12020,3},{4900,-12010,3}, {4900,-12000,3},{4900,-11993,3},{4900,-11980,3},{4900,-11970,3},{4900,-11960,3}, {4900,-11950,3},{4900,-11940,3},{4900,-11930,3},{4900,-11920,3},{4900,-11910,3}, {4900,-11900,3},{4900,-11890,3},{4900,-11880,3},{4900,-11870,3},{4900,-11860,3}, {4900,-11850,3},{4900,-11840,3},{4900,-11830,3},{4900,-11820,3},{4900,-11810,3}, {4900,-11800,3},{4900,-11790,3},{4900,-11780,3},{4900,-11770,3},{4900,-11760,3}, {4900,-11750,3},{4900,-11740,3},{4900,-11730,3},{4900,-11720,3},{4900,-11710,3}, {4900,-11703,3},{4900,-11693,3},{4900,-11683,3},{4900,-11673,3},{4900,-11663,3}, {4900,-11653,3},{4900,-11643,3},{4900,-11633,3},{4900,-11623,3},{4900,-11613,3}, {4900,-11605,3},{4900,-11600,3},{4900,-11590,3},{4900,-11580,3},{4900,-11570,3}, {4900,-11560,3},{4900,-11550,3},{4900,-11540,3},{4900,-11530,3},{4900,-11520,3}, {4900,-11510,3},{4900,-11500,3},{4900,-11490,3},{4900,-11480,3},{4900,-11470,3}, {4900,-11460,3},{4900,-11450,3},{4900,-11440,3},{4900,-11430,3},{4900,-11420,3}, {4900,-11407,3},{4900,-11400,3},{4900,-11390,3},{4900,-11380,3},{4900,-11370,3}, {4900,-11360,3},{4900,-11350,3},{4900,-11340,3},{4900,-11330,3},{4900,-11320,3}, {4900,-11313,3},{4900,-11300,3},{4900,-11290,3},{4900,-11280,3},{4900,-11270,3}, {4900,-11260,3},{4900,-11250,3},{4900,-11240,3},{4900,-11230,3},{4900,-11220,3}, {4900,-11210,3},{4900,-11200,3},{4900,-11190,3},{4900,-11180,3},{4900,-11170,3}, {4900,-11160,3},{4900,-11150,3},{4900,-11140,3},{4900,-11130,3},{4900,-11120,3}, {4900,-11110,3},{4900,-11100,3},{4900,-11090,3},{4900,-11080,3},{4900,-11070,3}, {4900,-11060,3},{4900,-11050,3},{4900,-11040,3},{4900,-11030,3},{4900,-11020,3}, {4900,-11010,3},{4900,-11000,3},{4900,-10990,3},{4900,-10980,3},{4900,-10970,3}, {4900,-10960,3},{4900,-10950,3},{4900,-10940,3},{4900,-10930,3},{4900,-10920,3}, {4900,-10910,3},{4900,-10900,3},{4900,-10890,3},{4900,-10880,3},{4900,-10870,3}, {4900,-10860,3},{4900,-10853,3},{4900,-10840,3},{4900,-10830,3},{4900,-10820,3}, {4900,-10810,3},{4900,-10800,3},{4900,-10790,3},{4900,-10780,3},{4900,-10770,3}, {4900,-10760,3},{4900,-10750,3},{4900,-10740,3},{4900,-10730,3},{4900,-10720,3}, {4900,-10710,3},{4900,-10700,3},{4900,-10693,3},{4900,-10680,3},{4900,-10670,3}, {4900,-10660,3},{4900,-10650,3},{4900,-10640,3},{4900,-10630,3},{4900,-10620,3}, {4900,-10610,3},{4900,-10600,3},{4900,-10590,3},{4900,-10580,3},{4900,-10570,3}, {4900,-10557,3},{4900,-10550,3},{4900,-10540,3},{4900,-10530,3},{4900,-10520,3}, {4900,-10510,3},{4900,-10500,3},{4900,-10490,3},{4900,-10480,3},{4900,-10470,3}, {4900,-10460,3},{4900,-10450,3},{4900,-10440,3},{4900,-10430,3},{4900,-10420,3}, {4900,-10412,3},{4900,-10403,3},{4900,-10392,3},{4900,-10380,3},{4900,-10370,3}, {4900,-10360,3},{4900,-10350,3},{4900,-10340,3},{4900,-10330,3},{4900,-10320,3}, {4900,-10310,3},{4900,-10300,3},{4900,-10290,3},{4900,-10280,3},{4900,-10270,3}, {4900,-10260,3},{4900,-10250,3},{4900,-10240,3},{4900,-10230,3},{4900,-10220,3}, {4900,-10210,3},{4900,-10200,3},{4900,-10190,3},{4900,-10180,3},{4900,-10170,3}, {4900,-10160,3},{4900,-10150,3},{4900,-10137,3},{4900,-10130,3},{4900,-10120,3}, {4900,-10110,3},{4900,-10100,3},{4900,-10090,3},{4900,-10080,3},{4900,-10070,3}, {4900,-10060,3},{4900,-10050,3},{4900,-10040,3},{4900,-10030,3},{4900,-10020,3}, {4900,-10010,3},{4900,-10000,3},{4900,-9990,3},{4900,-9980,3},{4900,-9970,3}, {4900,-9960,3},{4900,-9950,3},{4900,-9940,3},{4900,-9930,3},{4900,-9920,3}, {4900,-9910,3},{4900,-9900,3},{4900,-9890,3},{4900,-9880,3},{4900,-9870,3}, {4900,-9860,3},{4900,-9850,3},{4900,-9840,3},{4900,-9830,3},{4900,-9820,3}, {4900,-9810,3},{4900,-9800,3},{4900,-9790,3},{4900,-9780,3},{4900,-9770,3}, {4900,-9760,3},{4900,-9750,3},{4900,-9740,3},{4900,-9730,3},{4900,-9720,3}, {4900,-9710,3},{4900,-9700,3},{4900,-9690,3},{4900,-9680,3},{4900,-9670,3}, {4900,-9660,3},{4900,-9650,3},{4900,-9640,3},{4900,-9630,3},{4900,-9620,3}, {4900,-9610,3},{4900,-9600,3},{4900,-9590,3},{4900,-9580,3},{4900,-9570,3}, {4900,-9560,3},{4900,-9550,3},{4900,-9540,3},{4900,-9530,3},{4900,-9520,3}, {4900,-9515,3},{4907,-9515,3},{4913,-9515,3},{4920,-9515,3},{4927,-9515,3}, {4933,-9515,3},{4938,-9515,3},{4937,-9508,3},{4937,-9493,3},{4932,-9482,3}, {4917,-9480,3},{4897,-9472,3},{4888,-9470,3},{4878,-9470,3},{4875,-9465,3}, {4872,-9458,3},{4870,-9448,3},{4872,-9440,3},{4870,-9430,3},{4870,-9427,3}, {4865,-9423,3},{4863,-9385,3},{4862,-9383,3},{4852,-9380,3},{4852,-9378,3}, {4852,-9365,3},{4853,-9348,3},{4857,-9345,3},{4860,-9345,3},{4863,-9325,3}, {4862,-9312,3},{4862,-9295,3},{4858,-9287,3},{4853,-9272,3},{4853,-9263,3}, {4850,-9262,3},{4848,-9270,3},{4845,-9270,3},{4843,-9265,3},{4845,-9250,3}, {4840,-9245,3},{4832,-9245,3},{4823,-9235,3},{4825,-9228,3},{4830,-9230,3}, {4833,-9227,3},{4835,-9213,3},{4835,-9205,3},{4825,-9198,3},{4823,-9193,3}, {4823,-9188,3},{4820,-9185,3},{4820,-9173,3},{4815,-9168,3},{4812,-9170,3}, {4810,-9170,3},{4810,-9158,3},{4805,-9158,3},{4805,-9157,3},{4805,-9145,3}, {4803,-9142,3},{4805,-9140,3},{4808,-9125,3},{4815,-9113,3},{4823,-9093,3}, {4823,-9087,3},{4823,-9083,3},{4818,-9083,3},{4817,-9078,3},{4812,-9078,3}, {4808,-9075,3},{4812,-9058,3},{4808,-9055,3},{4810,-9048,3},{4810,-9047,3}, {4810,-9040,3},{4812,-9015,3},{4810,-9007,3},{4808,-9005,3},{4802,-9000,3}, {4798,-8990,3},{4803,-8977,3},{4802,-8970,3},{4800,-8958,3},{4798,-8958,3}, {4800,-8963,3},{4797,-8967,3},{4797,-8968,3},{4795,-8970,3},{4788,-8983,3}, {4778,-9020,3},{4772,-9052,3},{4762,-9078,3},{4743,-9110,3},{4720,-9137,3}, {4710,-9157,3},{4702,-9167,3},{4700,-9172,3},{4693,-9182,3},{4682,-9207,3}, {4678,-9210,3},{4677,-9210,3},{4670,-9203,3},{4668,-9195,3},{4670,-9177,3}, {4675,-9160,3},{4678,-9138,3},{4687,-9125,3},{4688,-9120,3},{4687,-9120,3}, {4685,-9118,3},{4688,-9115,3},{4687,-9113,3},{4687,-9112,3},{4688,-9110,3}, {4688,-9105,3},{4692,-9103,3},{4695,-9098,3},{4693,-9093,3},{4697,-9087,3}, {4695,-9083,3},{4695,-9080,3},{4690,-9077,3},{4688,-9078,3},{4682,-9082,3}, {4678,-9087,3},{4675,-9088,3},{4670,-9085,3},{4667,-9092,3},{4662,-9095,3}, {4660,-9095,3},{4660,-9092,3},{4663,-9078,3},{4667,-9073,3},{4667,-9077,3}, {4668,-9073,3},{4670,-9075,3},{4663,-9067,3},{4660,-9057,3},{4660,-9050,3}, {4657,-9045,3},{4658,-9042,3},{4662,-9035,3},{4662,-9030,3},{4668,-9003,3}, {4683,-8980,3},{4683,-8962,3},{4685,-8955,3},{4685,-8942,3},{4688,-8932,3}, {4693,-8922,3},{4700,-8913,3},{4700,-8907,3},{4702,-8895,3},{4712,-8888,3}, {4723,-8865,3},{4722,-8862,3},{4713,-8863,3},{4712,-8852,3},{4708,-8850,3}, {4703,-8852,3},{4705,-8850,3},{4698,-8845,3},{4685,-8848,3},{4680,-8845,3}, {4677,-8848,3},{4683,-8840,3},{4687,-8840,3},{4687,-8835,3},{4690,-8830,3}, {4697,-8818,3},{4697,-8813,3},{4690,-8825,3},{4683,-8828,3},{4690,-8820,3}, {4693,-8807,3},{4690,-8782,3},{4688,-8777,3},{4688,-8775,3},{4683,-8772,3}, {4685,-8768,3},{4682,-8767,3},{4682,-8763,3},{4680,-8760,3},{4675,-8758,3}, {4665,-8747,3},{4663,-8747,3},{4660,-8738,3},{4653,-8738,3},{4652,-8735,3}, {4650,-8713,3},{4653,-8708,3},{4655,-8702,3},{4653,-8697,3},{4650,-8693,3}, {4645,-8687,3},{4645,-8683,3},{4648,-8678,3},{4650,-8677,3},{4645,-8670,3}, {4645,-8667,3},{4643,-8665,3},{4657,-8647,3},{4655,-8643,3},{4668,-8615,3}, {4667,-8610,3},{4670,-8590,3},{4668,-8550,3},{4677,-8527,3},{4678,-8515,3}, {4677,-8505,3},{4678,-8495,3},{4672,-8502,3},{4657,-8502,3},{4653,-8505,3}, {4650,-8503,3},{4648,-8500,3},{4650,-8493,3},{4648,-8492,3},{4645,-8482,3}, {4650,-8465,3},{4648,-8462,3},{4645,-8458,3},{4643,-8460,3},{4642,-8457,3}, {4645,-8447,3},{4650,-8442,3},{4650,-8437,3},{4650,-8432,3},{4643,-8427,3}, {4635,-8422,3},{4628,-8422,3},{4625,-8418,3},{4620,-8427,3},{4618,-8423,3}, {4618,-8415,3},{4615,-8403,3},{4610,-8405,3},{4603,-8398,3},{4603,-8395,3}, {4602,-8390,3},{4597,-8390,3},{4595,-8400,3},{4598,-8415,3},{4598,-8417,3}, {4600,-8435,3},{4598,-8437,3},{4600,-8438,3},{4602,-8445,3},{4598,-8447,3}, {4600,-8450,3},{4598,-8453,3},{4603,-8455,3},{4605,-8465,3},{4603,-8468,3}, {4598,-8468,3},{4597,-8473,3},{4593,-8472,3},{4592,-8473,3},{4588,-8473,3}, {4587,-8470,3},{4585,-8475,3},{4588,-8483,3},{4592,-8485,3},{4593,-8492,3}, {4602,-8502,3},{4607,-8518,3},{4607,-8527,3},{4610,-8532,3},{4610,-8553,3}, {4597,-8567,3},{4598,-8580,3},{4597,-8590,3},{4595,-8593,3},{4593,-8592,3}, {4597,-8602,3},{4597,-8610,3},{4597,-8622,3},{4593,-8628,3},{4590,-8632,3}, {4582,-8635,3},{4575,-8652,3},{4572,-8653,3},{4572,-8658,3},{4567,-8660,3}, {4567,-8662,3},{4562,-8660,3},{4560,-8662,3},{4563,-8668,3},{4568,-8672,3}, {4570,-8667,3},{4578,-8663,3},{4578,-8657,3},{4580,-8658,3},{4585,-8653,3}, {4588,-8655,3},{4590,-8658,3},{4583,-8668,3},{4587,-8677,3},{4582,-8678,3}, {4573,-8685,3},{4572,-8695,3},{4568,-8697,3},{4583,-8700,3},{4590,-8697,3}, {4592,-8698,3},{4582,-8705,3},{4570,-8710,3},{4567,-8717,3},{4553,-8728,3}, {4542,-8733,3},{4523,-8752,3},{4517,-8760,3},{4510,-8760,3},{4507,-8763,3}, {4498,-8765,3},{4493,-8783,3},{4488,-8783,3},{4472,-8798,3},{4467,-8798,3}, {4465,-8802,3},{4458,-8805,3},{4455,-8800,3},{4455,-8793,3},{4458,-8790,3}, {4462,-8787,3},{4465,-8777,3},{4480,-8767,3},{4485,-8760,3},{4485,-8757,3}, {4483,-8755,3},{4487,-8753,3},{4485,-8750,3},{4488,-8745,3},{4483,-8742,3}, {4480,-8733,3},{4468,-8737,3},{4453,-8748,3},{4437,-8752,3},{4433,-8755,3}, {4428,-8753,3},{4423,-8750,3},{4418,-8750,3},{4415,-8755,3},{4410,-8763,3}, {4392,-8773,3},{4383,-8773,3},{4377,-8770,3},{4368,-8770,3},{4357,-8780,3}, {4348,-8780,3},{4335,-8787,3},{4325,-8790,3},{4317,-8788,3},{4312,-8790,3}, {4308,-8787,3},{4302,-8790,3},{4298,-8785,3},{4287,-8783,3},{4278,-8777,3}, {4272,-8777,3},{4263,-8782,3},{4250,-8780,3},{4240,-8780,3},{4235,-8783,3}, {4223,-8782,3},{4212,-8775,3},{4207,-8767,3},{4195,-8765,3},{4183,-8760,3}, {4172,-8752,3},{4168,-8747,3},{4167,-8745,3},{4168,-8742,3},{4165,-8743,3}, {4163,-8740,3},{4162,-8727,3},{4163,-8718,3},{4168,-8703,3},{4177,-8683,3}, {4185,-8668,3},{4193,-8660,3},{4213,-8650,3},{4228,-8635,3},{4245,-8628,3}, {4257,-8623,3},{4275,-8622,3},{4300,-8623,3},{4322,-8633,3},{4327,-8625,3}, {4327,-8627,3},{4323,-8635,3},{4360,-8653,3},{4363,-8655,3},{4368,-8653,3}, {4377,-8645,3},{4380,-8643,3},{4392,-8647,3},{4395,-8645,3},{4400,-8650,3}, {4407,-8652,3},{4417,-8640,3},{4437,-8627,3},{4448,-8627,3},{4458,-8623,3}, {4470,-8627,3},{4475,-8617,3},{4475,-8608,3},{4492,-8607,3},{4492,-8600,3}, {4495,-8597,3},{4498,-8593,3},{4495,-8588,3},{4495,-8583,3},{4507,-8577,3}, {4510,-8570,3},{4518,-8565,3},{4522,-8555,3},{4520,-8553,3},{4515,-8557,3}, {4515,-8562,3},{4505,-8557,3},{4503,-8560,3},{4498,-8565,3},{4498,-8560,3}, {4497,-8560,3},{4485,-8565,3},{4482,-8565,3},{4478,-8560,3},{4487,-8558,3}, {4490,-8555,3},{4490,-8557,3},{4493,-8553,3},{4498,-8553,3},{4500,-8550,3}, {4497,-8548,3},{4488,-8550,3},{4483,-8555,3},{4477,-8557,3},{4477,-8553,3}, {4492,-8542,3},{4500,-8540,3},{4510,-8538,3},{4520,-8540,3},{4527,-8538,3}, {4532,-8532,3},{4538,-8513,3},{4537,-8505,3},{4540,-8492,3},{4542,-8492,3}, {4543,-8500,3},{4547,-8507,3},{4553,-8510,3},{4560,-8510,3},{4563,-8507,3}, {4572,-8493,3},{4577,-8498,3},{4577,-8482,3},{4580,-8475,3},{4577,-8468,3}, {4573,-8457,3},{4567,-8448,3},{4567,-8433,3},{4563,-8422,3},{4560,-8417,3}, {4552,-8413,3},{4550,-8410,3},{4550,-8392,3},{4543,-8383,3},{4542,-8370,3}, {4538,-8367,3},{4535,-8358,3},{4535,-8348,3},{4528,-8338,3},{4527,-8342,3}, {4523,-8340,3},{4517,-8335,3},{4515,-8332,3},{4510,-8330,3},{4508,-8332,3}, {4507,-8332,3},{4505,-8328,3},{4503,-8327,3},{4503,-8332,3},{4508,-8337,3}, {4507,-8342,3},{4505,-8345,3},{4502,-8345,3},{4500,-8347,3},{4493,-8343,3}, {4488,-8333,3},{4482,-8330,3},{4468,-8328,3},{4458,-8332,3},{4433,-8333,3}, {4432,-8340,3},{4425,-8345,3},{4427,-8347,3},{4428,-8345,3},{4428,-8347,3}, {4428,-8352,3},{4425,-8353,3},{4405,-8360,3},{4405,-8367,3},{4400,-8368,3}, {4402,-8375,3},{4398,-8377,3},{4400,-8383,3},{4395,-8388,3},{4392,-8392,3}, {4388,-8392,3},{4385,-8390,3},{4383,-8393,3},{4375,-8395,3},{4370,-8392,3}, {4365,-8385,3},{4360,-8367,3},{4367,-8358,3},{4372,-8355,3},{4373,-8352,3}, {4370,-8350,3},{4372,-8347,3},{4385,-8338,3},{4390,-8333,3},{4392,-8335,3}, {4392,-8340,3},{4393,-8330,3},{4398,-8325,3},{4400,-8307,3},{4402,-8305,3}, {4405,-8302,3},{4407,-8295,3},{4402,-8280,3},{4393,-8270,3},{4380,-8263,3}, {4358,-8260,3},{4347,-8255,3},{4327,-8253,3},{4312,-8248,3},{4302,-8242,3}, {4297,-8242,3},{4290,-8247,3},{4282,-8248,3},{4277,-8247,3},{4262,-8252,3}, {4257,-8258,3},{4255,-8263,3},{4257,-8262,3},{4260,-8263,3},{4262,-8262,3}, {4265,-8263,3},{4268,-8263,3},{4270,-8270,3},{4265,-8277,3},{4265,-8282,3}, {4262,-8282,3},{4260,-8278,3},{4257,-8278,3},{4257,-8283,3},{4253,-8287,3}, {4250,-8288,3},{4245,-8287,3},{4240,-8288,3},{4237,-8293,3},{4235,-8302,3}, {4228,-8312,3},{4223,-8315,3},{4208,-8320,3},{4202,-8318,3},{4203,-8320,3}, {4198,-8322,3},{4198,-8327,3},{4193,-8325,3},{4195,-8330,3},{4193,-8332,3}, {4188,-8333,3},{4188,-8335,3},{4182,-8342,3},{4177,-8342,3},{4177,-8345,3}, {4173,-8347,3},{4172,-8345,3},{4170,-8333,3},{4172,-8332,3},{4165,-8323,3}, {4160,-8307,3},{4155,-8300,3},{4153,-8297,3},{4153,-8288,3},{4155,-8285,3}, {4158,-8283,3},{4155,-8280,3},{4155,-8270,3},{4152,-8270,3},{4148,-8295,3}, {4147,-8297,3},{4147,-8305,3},{4145,-8300,3},{4143,-8298,3},{4145,-8297,3}, {4143,-8292,3},{4148,-8280,3},{4147,-8278,3},{4145,-8277,3},{4147,-8270,3}, {4143,-8262,3},{4147,-8267,3},{4150,-8268,3},{4143,-8258,3},{4138,-8247,3}, {4143,-8237,3},{4145,-8225,3},{4150,-8212,3},{4152,-8202,3},{4150,-8195,3}, {4148,-8185,3},{4150,-8183,3},{4150,-8172,3},{4158,-8157,3},{4173,-8133,3}, {4183,-8103,3},{4197,-8052,3},{4208,-8022,3},{4217,-8010,3},{4215,-8007,3}, {4215,-8012,3},{4212,-8013,3},{4213,-8012,3},{4227,-7977,3},{4237,-7953,3}, {4248,-7937,3},{4257,-7920,3},{4257,-7915,3},{4272,-7903,3},{4278,-7887,3}, {4283,-7887,3},{4295,-7890,3},{4298,-7893,3},{4300,-7893,3},{4303,-7888,3}, {4305,-7888,3},{4307,-7892,3},{4308,-7905,3},{4317,-7905,3},{4327,-7905,3}, {4332,-7888,3},{4333,-7875,3},{4338,-7855,3},{4338,-7810,3},{4333,-7775,3}, {4325,-7758,3},{4325,-7753,3},{4328,-7738,3},{4330,-7715,3},{4328,-7698,3}, {4325,-7695,3},{4327,-7693,3},{4330,-7693,3},{4333,-7677,3},{4335,-7673,3}, {4333,-7672,3},{4338,-7668,3},{4342,-7663,3},{4347,-7657,3},{4348,-7650,3}, {4353,-7642,3},{4352,-7630,3},{4353,-7627,3},{4358,-7618,3},{4360,-7622,3}, {4363,-7622,3},{4367,-7617,3},{4367,-7620,3},{4365,-7622,3},{4373,-7620,3}, {4382,-7623,3},{4387,-7630,3},{4390,-7623,3},{4387,-7623,3},{4387,-7622,3}, {4390,-7615,3},{4395,-7613,3},{4398,-7607,3},{4400,-7605,3},{4400,-7608,3}, {4398,-7613,3},{4397,-7617,3},{4398,-7622,3},{4400,-7622,3},{4405,-7612,3}, {4405,-7617,3},{4407,-7615,3},{4407,-7620,3},{4408,-7622,3},{4407,-7627,3}, {4403,-7630,3},{4407,-7630,3},{4408,-7635,3},{4412,-7637,3},{4422,-7618,3}, {4427,-7605,3},{4435,-7593,3},{4438,-7585,3},{4442,-7583,3},{4442,-7580,3}, {4445,-7577,3},{4448,-7578,3},{4448,-7580,3},{4462,-7563,3},{4483,-7532,3}, {4493,-7507,3},{4498,-7498,3},{4498,-7492,3},{4502,-7483,3},{4500,-7475,3}, {4500,-7468,3},{4500,-7425,3},{4502,-7335,3},{4502,-7327,3},{4502,-7320,3}, {4502,-7313,3},{4502,-7307,3},{4502,-7298,3},{4502,-7292,3},{4502,-7285,3}, {4502,-7277,3},{4502,-7270,3},{4502,-7263,3},{4502,-7255,3},{4502,-7248,3}, {4502,-7240,3},{4502,-7233,3},{4502,-7227,3},{4502,-7220,3},{4502,-7212,3}, {4502,-7205,3},{4502,-7197,3},{4502,-7190,3},{4502,-7183,3},{4502,-7177,3}, {4502,-7168,3},{4502,-7162,3},{4502,-7155,3},{4502,-7150,3},{4508,-7150,3}, {4512,-7143,3},{4520,-7140,3},{4525,-7143,3},{4525,-7138,3},{4528,-7135,3}, {4530,-7128,3},{4525,-7118,3},{4525,-7113,3},{4528,-7112,3},{4530,-7108,3}, {4532,-7103,3},{4535,-7102,3},{4535,-7097,3},{4530,-7092,3},{4523,-7088,3}, {4530,-7083,3},{4532,-7082,3},{4542,-7082,3},{4543,-7080,3},{4543,-7073,3}, {4540,-7068,3},{4540,-7065,3},{4543,-7063,3},{4550,-7072,3},{4557,-7070,3}, {4567,-7057,3},{4572,-7047,3},{4572,-7042,3},{4575,-7038,3},{4582,-7040,3}, {4592,-7025,3},{4595,-7023,3},{4598,-7032,3},{4603,-7030,3},{4607,-7028,3}, {4608,-7030,3},{4610,-7025,3},{4615,-7023,3},{4620,-7028,3},{4628,-7023,3}, {4632,-7020,3},{4635,-7020,3},{4637,-7015,3},{4643,-7005,3},{4670,-7002,3}, {4747,-6923,3},{4743,-6905,3},{4730,-6905,3},{4727,-6905,3},{4718,-6890,3}, {4723,-6875,3},{4725,-6865,3},{4728,-6857,3},{4730,-6850,3},{4728,-6843,3}, {4730,-6838,3},{4733,-6838,3},{4737,-6832,3},{4733,-6818,3},{4730,-6815,3}, {4720,-6797,3},{4712,-6788,3},{4707,-6780,3},{4595,-6777,3},{4593,-6775,3}, {4588,-6778,3},{4583,-6775,3},{4578,-6780,3},{4570,-6780,3},{4567,-6773,3}, {4568,-6772,3},{4563,-6765,3},{4560,-6752,3},{4562,-6747,3},{4558,-6742,3}, {4553,-6742,3},{4550,-6748,3},{4543,-6747,3},{4540,-6742,3},{4527,-6747,3}, {4520,-6740,3},{4515,-6733,3},{4517,-6730,3},{4520,-6727,3},{4518,-6720,3}, {4517,-6720,3},{4517,-6717,3},{4508,-6710,3},{4507,-6710,3},{4498,-6703,3}, {4493,-6707,3},{4497,-6710,3},{4495,-6712,3},{4492,-6710,3},{4490,-6712,3}, {4493,-6718,3},{4492,-6720,3},{4488,-6715,3},{4483,-6713,3},{4488,-6713,3}, {4487,-6710,3},{4490,-6710,3},{4487,-6705,3},{4483,-6707,3},{4485,-6703,3}, {4492,-6705,3},{4487,-6700,3},{4487,-6698,3},{4483,-6697,3},{4478,-6703,3}, {4478,-6707,3},{4477,-6707,3},{4475,-6710,3},{4472,-6710,3},{4467,-6720,3}, {4467,-6718,3},{4467,-6723,3},{4468,-6725,3},{4467,-6727,3},{4465,-6725,3}, {4465,-6727,3},{4467,-6732,3},{4472,-6730,3},{4472,-6735,3},{4470,-6735,3}, {4472,-6738,3},{4470,-6738,3},{4468,-6737,3},{4465,-6737,3},{4463,-6735,3}, {4463,-6738,3},{4462,-6740,3},{4468,-6743,3},{4468,-6745,3},{4462,-6743,3}, {4462,-6750,3},{4465,-6750,3},{4463,-6752,3},{4467,-6753,3},{4467,-6755,3}, {4465,-6755,3},{4463,-6758,3},{4463,-6755,3},{4455,-6757,3},{4455,-6763,3}, {4457,-6763,3},{4458,-6765,3},{4455,-6768,3},{4452,-6770,3},{4452,-6773,3}, {4462,-6773,3},{4455,-6777,3},{4455,-6780,3},{4460,-6777,3},{4462,-6778,3}, {4458,-6780,3},{4460,-6783,3},{4455,-6785,3},{4457,-6787,3},{4450,-6783,3}, {4450,-6788,3},{4442,-6790,3},{4443,-6792,3},{4450,-6790,3},{4450,-6792,3}, {4443,-6793,3},{4443,-6795,3},{4452,-6797,3},{4448,-6798,3},{4448,-6802,3}, {4447,-6802,3},{4445,-6798,3},{4442,-6797,3},{4440,-6798,3},{4442,-6802,3}, {4440,-6802,3},{4435,-6805,3},{4437,-6807,3},{4438,-6807,3},{4440,-6808,3}, {4442,-6810,3},{4447,-6810,3},{4448,-6810,3},{4452,-6815,3},{4447,-6815,3}, {4448,-6818,3},{4453,-6818,3},{4453,-6820,3},{4448,-6822,3},{4450,-6825,3}, {4453,-6825,3},{4453,-6830,3},{4452,-6830,3},{4452,-6827,3},{4447,-6827,3}, {4447,-6835,3},{4443,-6838,3},{4442,-6838,3},{4442,-6842,3},{4450,-6842,3}, {4450,-6847,3},{4448,-6845,3},{4440,-6845,3},{4440,-6847,3},{4445,-6847,3}, {4442,-6852,3},{4443,-6857,3},{4438,-6853,3},{4432,-6855,3},{4432,-6852,3}, {4428,-6852,3},{4428,-6853,3},{4427,-6852,3},{4425,-6852,3},{4430,-6862,3}, {4432,-6868,3},{4437,-6873,3},{4433,-6878,3},{4433,-6882,3},{4438,-6878,3}, {4438,-6875,3},{4440,-6875,3},{4442,-6875,3},{4442,-6868,3},{4445,-6872,3}, {4445,-6875,3},{4440,-6880,3},{4443,-6880,3},{4457,-6873,3},{4458,-6880,3}, {4448,-6882,3},{4447,-6883,3},{4447,-6885,3},{4450,-6885,3},{4448,-6888,3}, {4445,-6892,3},{4443,-6898,3},{4435,-6893,3},{4430,-6900,3},{4422,-6905,3}, {4410,-6908,3},{4410,-6905,3},{4407,-6907,3},{4405,-6912,3},{4402,-6912,3}, {4400,-6918,3},{4398,-6920,3},{4397,-6918,3},{4393,-6925,3},{4397,-6927,3}, {4402,-6922,3},{4402,-6923,3},{4395,-6930,3},{4400,-6930,3},{4398,-6937,3}, {4402,-6933,3},{4403,-6937,3},{4407,-6935,3},{4407,-6937,3},{4405,-6937,3}, {4405,-6940,3},{4402,-6938,3},{4400,-6940,3},{4400,-6942,3},{4385,-6950,3}, {4392,-6953,3},{4385,-6955,3},{4390,-6957,3},{4393,-6955,3},{4397,-6957,3}, {4402,-6952,3},{4403,-6953,3},{4402,-6955,3},{4397,-6958,3},{4390,-6958,3}, {4385,-6957,3},{4383,-6958,3},{4387,-6958,3},{4385,-6960,3},{4388,-6967,3}, {4393,-6965,3},{4393,-6962,3},{4395,-6965,3},{4400,-6963,3},{4403,-6960,3}, {4403,-6963,3},{4402,-6967,3},{4392,-6975,3},{4388,-6975,3},{4388,-6972,3}, {4383,-6973,3},{4387,-6970,3},{4385,-6970,3},{4378,-6972,3},{4377,-6975,3}, {4398,-6980,3},{4403,-6978,3},{4407,-6977,3},{4408,-6977,3},{4407,-6978,3}, {4400,-6987,3},{4397,-6987,3},{4398,-6982,3},{4375,-6977,3},{4372,-6982,3}, {4375,-6983,3},{4377,-6985,3},{4380,-6985,3},{4385,-6983,3},{4385,-6985,3}, {4388,-6985,3},{4388,-6987,3},{4387,-6990,3},{4385,-6987,3},{4380,-6988,3}, {4380,-6990,3},{4382,-6990,3},{4380,-6992,3},{4373,-6998,3},{4385,-6992,3}, {4387,-6993,3},{4385,-6993,3},{4375,-7000,3},{4377,-7002,3},{4387,-6995,3}, {4385,-6998,3},{4383,-7000,3},{4387,-6998,3},{4388,-6998,3},{4383,-7003,3}, {4383,-7008,3},{4378,-7017,3},{4375,-7018,3},{4372,-7023,3},{4367,-7023,3}, {4367,-7028,3},{4365,-7027,3},{4365,-7020,3},{4358,-7018,3},{4357,-7025,3}, {4358,-7025,3},{4357,-7027,3},{4353,-7030,3},{4357,-7030,3},{4357,-7033,3}, {4350,-7037,3},{4347,-7035,3},{4348,-7032,3},{4347,-7032,3},{4337,-7045,3}, {4335,-7052,3},{4327,-7058,3},{4322,-7057,3},{4320,-7060,3},{4318,-7058,3}, {4317,-7062,3},{4308,-7067,3},{4312,-7073,3},{4307,-7073,3},{4305,-7075,3}, {4305,-7070,3},{4293,-7078,3},{4288,-7082,3},{4287,-7082,3},{4285,-7082,3}, {4272,-7078,3},{4267,-7072,3},{4267,-7068,3},{4268,-7065,3},{4268,-7062,3}, {4267,-7062,3},{4263,-7060,3},{4262,-7053,3},{4262,-7052,3},{4258,-7052,3}, {4258,-7065,3},{4257,-7075,3},{4252,-7078,3},{4248,-7078,3},{4245,-7085,3}, {4242,-7092,3},{4237,-7092,3},{4233,-7088,3},{4230,-7088,3},{4227,-7087,3}, {4223,-7077,3},{4222,-7067,3},{4217,-7062,3},{4212,-7060,3},{4203,-7060,3}, {4198,-7063,3},{4197,-7063,3},{4193,-7057,3},{4192,-7048,3},{4183,-7052,3}, {4177,-7048,3},{4173,-7035,3},{4173,-7020,3},{4177,-7008,3},{4182,-6998,3}, {4190,-7002,3},{4193,-7003,3},{4190,-7007,3},{4195,-7007,3},{4200,-7008,3}, {4205,-7012,3},{4205,-7017,3},{4202,-7018,3},{4208,-7023,3},{4208,-7015,3}, {4207,-7008,3},{4203,-7003,3},{4197,-6998,3},{4190,-6995,3},{4183,-6993,3}, {4173,-6993,3},{4167,-6993,3},{4155,-7002,3},{4167,-6997,3},{4167,-7012,3}, {4162,-7027,3},{4163,-7042,3},{4157,-7048,3},{4153,-7068,3},{4173,-7063,3}, {4175,-7070,3},{4158,-7085,3},{4163,-7090,3},{4155,-7093,3},{4153,-7097,3}, {4150,-7105,3},{4152,-7107,3},{4153,-7103,3},{4157,-7105,3},{4153,-7107,3}, {4155,-7110,3},{4153,-7110,3},{4152,-7110,3},{4150,-7112,3},{4147,-7118,3}, {4150,-7120,3},{4163,-7120,3},{4180,-7112,3},{4172,-7118,3},{4172,-7122,3}, {4170,-7123,3},{4167,-7123,3},{4165,-7127,3},{4167,-7132,3},{4175,-7128,3}, {4172,-7130,3},{4175,-7135,3},{4182,-7138,3},{4180,-7140,3},{4173,-7138,3}, {4170,-7137,3},{4167,-7138,3},{4170,-7140,3},{4168,-7145,3},{4165,-7142,3}, {4160,-7142,3},{4157,-7145,3},{4153,-7142,3},{4148,-7142,3},{4137,-7148,3}, {4138,-7155,3},{4135,-7165,3},{4133,-7172,3},{4132,-7183,3},{4132,-7188,3}, {4133,-7187,3},{4133,-7188,3},{4135,-7197,3},{4132,-7200,3},{4132,-7203,3}, {4135,-7208,3},{4130,-7212,3},{4132,-7220,3},{4130,-7220,3},{4132,-7222,3}, {4128,-7225,3},{4128,-7230,3},{4130,-7235,3},{4132,-7235,3},{4135,-7233,3}, {4137,-7238,3},{4135,-7238,3},{4132,-7235,3},{4128,-7235,3},{4128,-7247,3}, {4125,-7252,3},{4127,-7253,3},{4125,-7253,3},{4127,-7257,3},{4128,-7262,3}, {4125,-7268,3},{4127,-7277,3},{4125,-7280,3},{4125,-7288,3},{4130,-7292,3}, {4122,-7300,3},{4122,-7305,3},{4117,-7310,3},{4115,-7315,3},{4117,-7315,3}, {4118,-7317,3},{4117,-7318,3},{4117,-7322,3},{4113,-7325,3},{4112,-7337,3}, {4105,-7347,3},{4105,-7350,3},{4103,-7352,3},{4102,-7358,3},{4102,-7360,3}, {4100,-7363,3},{4095,-7367,3},{4095,-7372,3},{4087,-7378,3},{4087,-7382,3}, {4082,-7380,3},{4080,-7392,3},{4072,-7398,3},{4072,-7400,3},{4075,-7400,3}, {4087,-7392,3},{4102,-7388,3},{4107,-7387,3},{4118,-7388,3},{4125,-7395,3}, {4130,-7393,3},{4132,-7395,3},{4127,-7398,3},{4120,-7397,3},{4117,-7392,3}, {4102,-7390,3},{4097,-7390,3},{4087,-7395,3},{4078,-7400,3},{4072,-7402,3}, {4067,-7412,3},{4067,-7413,3},{4072,-7410,3},{4070,-7413,3},{4065,-7420,3}, {4058,-7422,3},{4055,-7425,3},{4050,-7425,3},{4047,-7427,3},{4045,-7425,3}, {4043,-7420,3},{4045,-7410,3},{4040,-7398,3},{4047,-7400,3},{4045,-7398,3}, {4040,-7395,3},{4028,-7395,3},{4008,-7403,3},{4008,-7402,3},{4005,-7402,3}, {3978,-7408,3},{3988,-7408,3},{3997,-7405,3},{4005,-7405,3},{4005,-7408,3}, {4003,-7405,3},{4002,-7407,3},{4000,-7412,3},{3997,-7410,3},{3993,-7413,3}, {3992,-7408,3},{3988,-7413,3},{3985,-7412,3},{3982,-7415,3},{3977,-7418,3}, {3970,-7415,3},{3957,-7432,3},{3952,-7428,3},{3952,-7432,3},{3953,-7433,3}, {3953,-7438,3},{3955,-7440,3},{3952,-7440,3},{3948,-7438,3},{3943,-7440,3}, {3947,-7442,3},{3943,-7445,3},{3940,-7447,3},{3940,-7443,3},{3935,-7442,3}, {3930,-7453,3},{3937,-7448,3},{3935,-7452,3},{3933,-7455,3},{3930,-7455,3}, {3930,-7465,3},{3928,-7465,3},{3927,-7462,3},{3928,-7455,3},{3922,-7465,3}, {3912,-7470,3},{3912,-7473,3},{3912,-7470,3},{3908,-7472,3},{3903,-7477,3}, {3903,-7478,3},{3900,-7478,3},{3895,-7485,3},{3892,-7493,3},{3893,-7497,3}, {3895,-7497,3},{3902,-7495,3},{3913,-7488,3},{3918,-7490,3},{3920,-7495,3}, {3918,-7502,3},{3922,-7503,3},{3918,-7515,3},{3920,-7517,3},{3923,-7517,3}, {3927,-7523,3},{3928,-7525,3},{3930,-7530,3},{3935,-7533,3},{3933,-7537,3}, {3943,-7547,3},{3947,-7552,3},{3950,-7555,3},{3948,-7553,3},{3950,-7552,3}, {3957,-7552,3},{3962,-7555,3},{3965,-7552,3},{3968,-7550,3},{3972,-7547,3}, {3973,-7547,3},{3975,-7545,3},{3983,-7533,3},{3988,-7513,3},{3990,-7510,3}, {3992,-7512,3},{3995,-7512,3},{3997,-7507,3},{4000,-7503,3},{3997,-7512,3}, {3990,-7515,3},{3990,-7518,3},{3987,-7525,3},{3985,-7537,3},{3980,-7542,3}, {3978,-7547,3},{3972,-7548,3},{3967,-7555,3},{3965,-7558,3},{3962,-7560,3}, {3955,-7555,3},{3947,-7558,3},{3942,-7552,3},{3935,-7550,3},{3932,-7543,3}, {3925,-7540,3},{3917,-7540,3},{3908,-7538,3},{3897,-7530,3},{3892,-7530,3}, {3880,-7517,3},{3878,-7512,3},{3880,-7508,3},{3863,-7507,3},{3870,-7508,3}, {3870,-7513,3},{3865,-7512,3},{3865,-7515,3},{3863,-7510,3},{3860,-7520,3}, {3858,-7520,3},{3858,-7518,3},{3857,-7520,3},{3858,-7513,3},{3857,-7508,3}, {3858,-7507,3},{3862,-7507,3},{3860,-7505,3},{3857,-7505,3},{3845,-7503,3}, {3833,-7507,3},{3845,-7507,3},{3845,-7508,3},{3843,-7508,3},{3843,-7512,3}, {3840,-7510,3},{3842,-7515,3},{3842,-7518,3},{3840,-7513,3},{3835,-7513,3}, {3835,-7510,3},{3833,-7510,3},{3823,-7517,3},{3823,-7520,3},{3827,-7518,3}, {3823,-7523,3},{3812,-7528,3},{3812,-7532,3},{3808,-7535,3},{3802,-7537,3}, {3797,-7543,3},{3793,-7543,3},{3792,-7542,3},{3790,-7543,3},{3787,-7543,3}, {3780,-7550,3},{3768,-7557,3},{3758,-7562,3},{3757,-7558,3},{3750,-7565,3}, {3755,-7572,3},{3752,-7573,3},{3750,-7570,3},{3748,-7578,3},{3745,-7580,3}, {3740,-7580,3},{3737,-7583,3},{3723,-7587,3},{3718,-7587,3},{3718,-7590,3}, {3722,-7588,3},{3715,-7592,3},{3713,-7595,3},{3727,-7602,3},{3732,-7598,3}, {3732,-7600,3},{3738,-7598,3},{3738,-7597,3},{3742,-7595,3},{3742,-7598,3}, {3743,-7597,3},{3747,-7595,3},{3748,-7592,3},{3750,-7593,3},{3748,-7595,3}, {3750,-7595,3},{3755,-7592,3},{3755,-7590,3},{3757,-7593,3},{3758,-7590,3}, {3760,-7592,3},{3762,-7590,3},{3762,-7587,3},{3765,-7588,3},{3767,-7582,3}, {3770,-7583,3},{3772,-7578,3},{3773,-7582,3},{3777,-7577,3},{3780,-7580,3}, {3778,-7575,3},{3780,-7570,3},{3782,-7572,3},{3783,-7570,3},{3783,-7567,3}, {3790,-7568,3},{3790,-7573,3},{3795,-7563,3},{3797,-7565,3},{3798,-7575,3}, {3797,-7580,3},{3793,-7585,3},{3795,-7588,3},{3797,-7585,3},{3798,-7585,3}, {3798,-7588,3},{3803,-7585,3},{3803,-7582,3},{3810,-7575,3},{3808,-7580,3}, {3808,-7585,3},{3810,-7583,3},{3813,-7582,3},{3813,-7578,3},{3815,-7578,3}, {3815,-7590,3},{3812,-7592,3},{3813,-7593,3},{3820,-7593,3},{3823,-7582,3}, {3825,-7588,3},{3828,-7590,3},{3840,-7583,3},{3840,-7585,3},{3832,-7592,3}, {3825,-7595,3},{3832,-7600,3},{3833,-7597,3},{3837,-7597,3},{3837,-7598,3}, {3832,-7603,3},{3828,-7602,3},{3823,-7603,3},{3828,-7608,3},{3830,-7612,3}, {3833,-7615,3},{3838,-7622,3},{3833,-7620,3},{3832,-7622,3},{3848,-7633,3}, {3850,-7628,3},{3848,-7628,3},{3848,-7625,3},{3853,-7618,3},{3855,-7618,3}, {3857,-7617,3},{3858,-7620,3},{3855,-7623,3},{3857,-7628,3},{3860,-7625,3}, {3862,-7627,3},{3862,-7622,3},{3863,-7617,3},{3860,-7617,3},{3860,-7613,3}, {3857,-7605,3},{3858,-7600,3},{3860,-7597,3},{3865,-7597,3},{3860,-7602,3}, {3862,-7608,3},{3863,-7610,3},{3865,-7610,3},{3865,-7615,3},{3868,-7610,3}, {3868,-7617,3},{3872,-7617,3},{3868,-7620,3},{3872,-7623,3},{3875,-7620,3}, {3877,-7622,3},{3877,-7623,3},{3872,-7627,3},{3872,-7628,3},{3878,-7627,3}, {3875,-7630,3},{3868,-7632,3},{3868,-7633,3},{3877,-7633,3},{3883,-7627,3}, {3882,-7622,3},{3880,-7622,3},{3877,-7617,3},{3880,-7610,3},{3878,-7615,3}, {3880,-7618,3},{3885,-7617,3},{3887,-7610,3},{3888,-7615,3},{3892,-7615,3}, {3888,-7618,3},{3893,-7618,3},{3897,-7622,3},{3893,-7627,3},{3892,-7627,3}, {3892,-7630,3},{3892,-7633,3},{3888,-7632,3},{3885,-7635,3},{3890,-7635,3}, {3903,-7630,3},{3898,-7623,3},{3900,-7617,3},{3902,-7615,3},{3903,-7615,3}, {3907,-7617,3},{3907,-7613,3},{3908,-7613,3},{3913,-7607,3},{3912,-7613,3}, {3912,-7615,3},{3913,-7615,3},{3912,-7617,3},{3912,-7618,3},{3908,-7618,3}, {3903,-7620,3},{3903,-7623,3},{3912,-7623,3},{3915,-7627,3},{3932,-7617,3}, {3933,-7612,3},{3937,-7612,3},{3937,-7610,3},{3937,-7583,3},{3940,-7602,3}, {3947,-7592,3},{3947,-7583,3},{3950,-7590,3},{3953,-7585,3},{3958,-7583,3}, {3957,-7585,3},{3947,-7600,3},{3948,-7600,3},{3955,-7595,3},{3960,-7593,3}, {3955,-7598,3},{3957,-7602,3},{3957,-7607,3},{3948,-7612,3},{3945,-7607,3}, {3937,-7620,3},{3938,-7623,3},{3947,-7622,3},{3947,-7623,3},{3945,-7625,3}, {3938,-7627,3},{3933,-7625,3},{3932,-7628,3},{3940,-7632,3},{3938,-7640,3}, {3937,-7638,3},{3937,-7635,3},{3935,-7633,3},{3933,-7633,3},{3933,-7637,3}, {3930,-7637,3},{3933,-7642,3},{3932,-7643,3},{3927,-7638,3},{3927,-7642,3}, {3930,-7645,3},{3930,-7648,3},{3925,-7643,3},{3923,-7638,3},{3922,-7642,3}, {3922,-7648,3},{3923,-7648,3},{3927,-7657,3},{3925,-7662,3},{3923,-7658,3}, {3922,-7657,3},{3922,-7652,3},{3918,-7652,3},{3917,-7648,3},{3917,-7645,3}, {3910,-7642,3},{3907,-7642,3},{3908,-7645,3},{3910,-7652,3},{3908,-7652,3}, {3905,-7642,3},{3902,-7640,3},{3900,-7640,3},{3900,-7643,3},{3898,-7645,3}, {3902,-7650,3},{3907,-7655,3},{3907,-7657,3},{3893,-7645,3},{3892,-7645,3}, {3897,-7652,3},{3895,-7653,3},{3893,-7653,3},{3890,-7648,3},{3888,-7650,3}, {3888,-7653,3},{3887,-7652,3},{3883,-7653,3},{3885,-7648,3},{3883,-7648,3}, {3877,-7655,3},{3873,-7655,3},{3872,-7652,3},{3853,-7650,3},{3842,-7640,3}, {3837,-7637,3},{3833,-7642,3},{3835,-7645,3},{3837,-7647,3},{3838,-7648,3}, {3842,-7657,3},{3848,-7663,3},{3868,-7668,3},{3848,-7667,3},{3840,-7658,3}, {3837,-7650,3},{3832,-7648,3},{3830,-7645,3},{3830,-7637,3},{3823,-7638,3}, {3817,-7632,3},{3813,-7632,3},{3810,-7633,3},{3805,-7632,3},{3812,-7642,3}, {3818,-7643,3},{3820,-7643,3},{3820,-7645,3},{3817,-7645,3},{3813,-7647,3}, {3817,-7650,3},{3813,-7650,3},{3813,-7652,3},{3820,-7657,3},{3823,-7662,3}, {3823,-7675,3},{3825,-7678,3},{3837,-7682,3},{3840,-7687,3},{3828,-7683,3}, {3827,-7683,3},{3827,-7687,3},{3835,-7697,3},{3848,-7702,3},{3843,-7703,3}, {3842,-7708,3},{3843,-7710,3},{3845,-7710,3},{3845,-7713,3},{3840,-7712,3}, {3837,-7718,3},{3837,-7720,3},{3840,-7725,3},{3848,-7727,3},{3855,-7723,3}, {3857,-7717,3},{3858,-7720,3},{3860,-7718,3},{3862,-7712,3},{3868,-7710,3}, {3870,-7702,3},{3875,-7700,3},{3878,-7702,3},{3887,-7702,3},{3890,-7705,3}, {3890,-7707,3},{3885,-7703,3},{3873,-7703,3},{3870,-7712,3},{3868,-7713,3}, {3870,-7713,3},{3870,-7715,3},{3868,-7717,3},{3865,-7713,3},{3863,-7717,3}, {3863,-7720,3},{3865,-7720,3},{3865,-7723,3},{3858,-7727,3},{3857,-7725,3}, {3855,-7728,3},{3853,-7728,3},{3850,-7730,3},{3840,-7730,3},{3843,-7733,3}, {3843,-7735,3},{3837,-7728,3},{3835,-7733,3},{3833,-7725,3},{3835,-7715,3}, {3840,-7703,3},{3838,-7700,3},{3835,-7700,3},{3833,-7700,3},{3832,-7705,3}, {3825,-7695,3},{3820,-7695,3},{3817,-7685,3},{3817,-7677,3},{3813,-7673,3}, {3815,-7668,3},{3813,-7663,3},{3815,-7660,3},{3812,-7658,3},{3807,-7652,3}, {3803,-7653,3},{3802,-7653,3},{3802,-7647,3},{3800,-7645,3},{3798,-7647,3}, {3798,-7642,3},{3790,-7623,3},{3788,-7623,3},{3782,-7625,3},{3785,-7630,3}, {3785,-7632,3},{3778,-7628,3},{3775,-7630,3},{3773,-7632,3},{3770,-7628,3}, {3770,-7632,3},{3767,-7632,3},{3767,-7633,3},{3763,-7632,3},{3763,-7630,3}, {3762,-7632,3},{3762,-7637,3},{3765,-7642,3},{3767,-7642,3},{3765,-7643,3}, {3770,-7647,3},{3765,-7648,3},{3767,-7652,3},{3770,-7652,3},{3775,-7657,3}, {3778,-7658,3},{3778,-7662,3},{3782,-7662,3},{3782,-7665,3},{3783,-7667,3}, {3783,-7672,3},{3792,-7677,3},{3795,-7683,3},{3798,-7683,3},{3800,-7688,3}, {3808,-7693,3},{3812,-7703,3},{3817,-7705,3},{3817,-7713,3},{3813,-7710,3}, {3815,-7705,3},{3810,-7703,3},{3807,-7693,3},{3805,-7692,3},{3798,-7690,3}, {3797,-7687,3},{3792,-7683,3},{3790,-7678,3},{3780,-7672,3},{3778,-7668,3}, {3777,-7667,3},{3775,-7662,3},{3763,-7653,3},{3762,-7643,3},{3758,-7640,3}, {3757,-7628,3},{3755,-7632,3},{3755,-7638,3},{3753,-7640,3},{3748,-7630,3}, {3750,-7628,3},{3752,-7628,3},{3750,-7625,3},{3748,-7625,3},{3747,-7628,3}, {3743,-7623,3},{3738,-7623,3},{3732,-7627,3},{3735,-7630,3},{3738,-7632,3}, {3737,-7635,3},{3738,-7637,3},{3743,-7640,3},{3742,-7643,3},{3738,-7640,3}, {3738,-7645,3},{3737,-7645,3},{3733,-7640,3},{3732,-7643,3},{3732,-7638,3}, {3728,-7637,3},{3727,-7645,3},{3732,-7658,3},{3740,-7665,3},{3743,-7668,3}, {3753,-7677,3},{3753,-7678,3},{3750,-7680,3},{3748,-7675,3},{3730,-7660,3}, {3723,-7645,3},{3723,-7637,3},{3717,-7638,3},{3717,-7632,3},{3713,-7628,3}, {3710,-7633,3},{3710,-7627,3},{3708,-7627,3},{3700,-7628,3},{3700,-7637,3}, {3697,-7640,3},{3705,-7647,3},{3707,-7652,3},{3710,-7653,3},{3708,-7655,3}, {3713,-7662,3},{3718,-7662,3},{3722,-7663,3},{3722,-7673,3},{3720,-7675,3}, {3722,-7677,3},{3725,-7683,3},{3727,-7685,3},{3732,-7687,3},{3727,-7687,3}, {3723,-7692,3},{3732,-7700,3},{3728,-7705,3},{3733,-7708,3},{3732,-7713,3}, {3733,-7723,3},{3735,-7725,3},{3732,-7727,3},{3732,-7728,3},{3728,-7718,3}, {3728,-7710,3},{3727,-7707,3},{3728,-7700,3},{3723,-7697,3},{3720,-7690,3}, {3720,-7680,3},{3715,-7673,3},{3718,-7667,3},{3705,-7665,3},{3703,-7658,3}, {3702,-7657,3},{3700,-7658,3},{3697,-7648,3},{3693,-7650,3},{3690,-7648,3}, {3687,-7652,3},{3685,-7652,3},{3690,-7642,3},{3688,-7635,3},{3687,-7632,3}, {3685,-7630,3},{3688,-7632,3},{3692,-7630,3},{3693,-7632,3},{3697,-7627,3}, {3692,-7617,3},{3692,-7610,3},{3690,-7607,3},{3692,-7600,3},{3655,-7583,3}, {3627,-7578,3},{3612,-7572,3},{3590,-7557,3},{3578,-7552,3},{3585,-7558,3}, {3590,-7560,3},{3600,-7567,3},{3600,-7572,3},{3602,-7572,3},{3600,-7570,3}, {3602,-7568,3},{3603,-7568,3},{3605,-7568,3},{3607,-7573,3},{3618,-7575,3}, {3628,-7582,3},{3640,-7583,3},{3653,-7588,3},{3660,-7588,3},{3672,-7593,3}, {3670,-7597,3},{3658,-7598,3},{3653,-7595,3},{3657,-7595,3},{3657,-7592,3}, {3648,-7590,3},{3650,-7597,3},{3652,-7597,3},{3658,-7605,3},{3653,-7602,3}, {3650,-7603,3},{3643,-7597,3},{3643,-7598,3},{3642,-7598,3},{3635,-7593,3}, {3640,-7595,3},{3640,-7593,3},{3642,-7593,3},{3643,-7592,3},{3635,-7592,3}, {3627,-7587,3},{3607,-7578,3},{3610,-7585,3},{3617,-7587,3},{3622,-7592,3}, {3623,-7590,3},{3625,-7595,3},{3628,-7593,3},{3632,-7597,3},{3632,-7600,3}, {3627,-7595,3},{3623,-7597,3},{3622,-7595,3},{3620,-7597,3},{3617,-7590,3}, {3618,-7602,3},{3622,-7605,3},{3625,-7610,3},{3628,-7613,3},{3630,-7620,3}, {3632,-7618,3},{3632,-7620,3},{3628,-7622,3},{3625,-7615,3},{3622,-7612,3}, {3617,-7605,3},{3615,-7607,3},{3612,-7617,3},{3615,-7622,3},{3622,-7628,3}, {3620,-7628,3},{3615,-7625,3},{3613,-7623,3},{3610,-7620,3},{3610,-7622,3}, {3615,-7637,3},{3618,-7640,3},{3618,-7642,3},{3620,-7647,3},{3617,-7643,3}, {3612,-7638,3},{3610,-7632,3},{3608,-7637,3},{3608,-7642,3},{3607,-7643,3}, {3605,-7642,3},{3600,-7652,3},{3602,-7658,3},{3605,-7662,3},{3603,-7665,3}, {3605,-7668,3},{3610,-7670,3},{3612,-7672,3},{3617,-7673,3},{3623,-7672,3}, {3628,-7667,3},{3632,-7672,3},{3628,-7670,3},{3622,-7675,3},{3613,-7677,3}, {3600,-7670,3},{3600,-7668,3},{3595,-7673,3},{3593,-7665,3},{3595,-7653,3}, {3598,-7640,3},{3597,-7638,3},{3593,-7638,3},{3595,-7635,3},{3592,-7628,3}, {3593,-7627,3},{3593,-7630,3},{3597,-7628,3},{3600,-7617,3},{3598,-7605,3}, {3595,-7602,3},{3595,-7607,3},{3592,-7607,3},{3593,-7602,3},{3587,-7605,3}, {3587,-7608,3},{3585,-7605,3},{3578,-7605,3},{3580,-7612,3},{3578,-7612,3}, {3575,-7605,3},{3572,-7605,3},{3568,-7603,3},{3568,-7610,3},{3570,-7613,3}, {3568,-7613,3},{3567,-7610,3},{3565,-7603,3},{3572,-7600,3},{3588,-7598,3}, {3592,-7593,3},{3588,-7590,3},{3587,-7587,3},{3588,-7585,3},{3593,-7590,3}, {3592,-7585,3},{3593,-7582,3},{3595,-7587,3},{3597,-7585,3},{3597,-7582,3}, {3593,-7582,3},{3588,-7575,3},{3582,-7572,3},{3577,-7573,3},{3573,-7572,3}, {3568,-7572,3},{3570,-7577,3},{3568,-7577,3},{3563,-7573,3},{3562,-7575,3}, {3560,-7578,3},{3557,-7578,3},{3557,-7582,3},{3557,-7583,3},{3558,-7582,3}, {3558,-7587,3},{3563,-7588,3},{3562,-7590,3},{3558,-7590,3},{3555,-7592,3}, {3552,-7598,3},{3550,-7597,3},{3548,-7600,3},{3547,-7600,3},{3542,-7603,3}, {3543,-7605,3},{3542,-7607,3},{3538,-7607,3},{3537,-7613,3},{3533,-7615,3}, {3535,-7617,3},{3535,-7623,3},{3537,-7625,3},{3535,-7627,3},{3535,-7628,3}, {3542,-7635,3},{3538,-7637,3},{3535,-7635,3},{3533,-7637,3},{3535,-7638,3}, {3537,-7642,3},{3537,-7638,3},{3538,-7640,3},{3542,-7638,3},{3547,-7640,3}, {3545,-7643,3},{3540,-7643,3},{3540,-7648,3},{3537,-7645,3},{3538,-7650,3}, {3542,-7652,3},{3543,-7650,3},{3543,-7655,3},{3547,-7655,3},{3550,-7658,3}, {3550,-7648,3},{3553,-7647,3},{3555,-7658,3},{3553,-7662,3},{3552,-7665,3}, {3550,-7662,3},{3547,-7662,3},{3540,-7658,3},{3538,-7658,3},{3540,-7665,3}, {3543,-7665,3},{3542,-7675,3},{3543,-7680,3},{3545,-7682,3},{3547,-7692,3}, {3553,-7705,3},{3548,-7702,3},{3547,-7698,3},{3543,-7698,3},{3542,-7685,3}, {3540,-7683,3},{3537,-7672,3},{3535,-7670,3},{3530,-7653,3},{3530,-7650,3}, {3527,-7647,3},{3522,-7648,3},{3523,-7657,3},{3522,-7652,3},{3520,-7653,3}, {3522,-7658,3},{3520,-7660,3},{3517,-7667,3},{3515,-7658,3},{3515,-7657,3}, {3517,-7658,3},{3517,-7657,3},{3515,-7655,3},{3513,-7655,3},{3510,-7658,3}, {3508,-7662,3},{3508,-7660,3},{3507,-7660,3},{3498,-7678,3},{3500,-7685,3}, {3507,-7695,3},{3507,-7698,3},{3515,-7708,3},{3498,-7695,3},{3495,-7690,3}, {3493,-7680,3},{3490,-7675,3},{3498,-7663,3},{3498,-7660,3},{3495,-7660,3}, {3493,-7655,3},{3493,-7653,3},{3497,-7657,3},{3498,-7657,3},{3500,-7653,3}, {3497,-7650,3},{3498,-7648,3},{3502,-7648,3},{3507,-7645,3},{3505,-7643,3}, {3502,-7643,3},{3498,-7642,3},{3497,-7647,3},{3493,-7645,3},{3495,-7642,3}, {3493,-7638,3},{3497,-7638,3},{3497,-7632,3},{3502,-7635,3},{3502,-7632,3}, {3498,-7628,3},{3497,-7627,3},{3493,-7630,3},{3493,-7635,3},{3488,-7633,3}, {3487,-7638,3},{3488,-7640,3},{3483,-7642,3},{3477,-7650,3},{3473,-7650,3}, {3473,-7658,3},{3477,-7658,3},{3478,-7657,3},{3482,-7662,3},{3472,-7662,3}, {3472,-7667,3},{3475,-7667,3},{3480,-7668,3},{3475,-7677,3},{3475,-7672,3}, {3472,-7670,3},{3473,-7687,3},{3472,-7692,3},{3468,-7710,3},{3472,-7708,3}, {3473,-7712,3},{3475,-7712,3},{3475,-7713,3},{3472,-7712,3},{3468,-7713,3}, {3468,-7717,3},{3465,-7717,3},{3455,-7733,3},{3458,-7740,3},{3465,-7733,3}, {3470,-7738,3},{3473,-7737,3},{3473,-7742,3},{3475,-7743,3},{3468,-7743,3}, {3468,-7740,3},{3463,-7737,3},{3462,-7738,3},{3460,-7745,3},{3458,-7742,3}, {3455,-7737,3},{3453,-7738,3},{3452,-7737,3},{3450,-7747,3},{3438,-7767,3}, {3433,-7772,3},{3422,-7782,3},{3415,-7787,3},{3405,-7788,3},{3393,-7792,3}, {3393,-7793,3},{3398,-7792,3},{3410,-7792,3},{3418,-7795,3},{3402,-7795,3}, {3388,-7802,3},{3392,-7823,3},{3390,-7835,3},{3395,-7837,3},{3390,-7840,3}, {3385,-7855,3},{3387,-7855,3},{3388,-7855,3},{3387,-7860,3},{3385,-7857,3}, {3383,-7865,3},{3378,-7875,3},{3370,-7887,3},{3363,-7893,3},{3342,-7913,3}, {3322,-7918,3},{3330,-7920,3},{3332,-7927,3},{3337,-7925,3},{3343,-7918,3}, {3337,-7927,3},{3328,-7930,3},{3323,-7922,3},{3318,-7922,3},{3318,-7918,3}, {3313,-7923,3},{3317,-7925,3},{3317,-7927,3},{3313,-7925,3},{3312,-7927,3}, {3313,-7928,3},{3315,-7933,3},{3313,-7930,3},{3312,-7928,3},{3305,-7938,3}, {3302,-7938,3},{3298,-7950,3},{3302,-7950,3},{3303,-7953,3},{3300,-7958,3}, {3295,-7963,3},{3292,-7962,3},{3293,-7958,3},{3292,-7958,3},{3285,-7970,3}, {3280,-7973,3},{3277,-7983,3},{3277,-7987,3},{3278,-7988,3},{3278,-7990,3}, {3285,-7988,3},{3285,-7990,3},{3283,-7990,3},{3285,-7995,3},{3278,-7993,3}, {3280,-7997,3},{3278,-7997,3},{3277,-7995,3},{3275,-7990,3},{3273,-7988,3}, {3273,-7987,3},{3272,-7987,3},{3268,-7988,3},{3265,-7995,3},{3265,-8002,3}, {3263,-8002,3},{3262,-7998,3},{3260,-8000,3},{3260,-8008,3},{3255,-8017,3}, {3262,-8023,3},{3262,-8027,3},{3260,-8025,3},{3257,-8020,3},{3248,-8033,3}, {3253,-8037,3},{3250,-8037,3},{3247,-8040,3},{3250,-8043,3},{3250,-8048,3}, {3255,-8055,3},{3252,-8053,3},{3252,-8067,3},{3250,-8068,3},{3248,-8055,3}, {3250,-8053,3},{3247,-8048,3},{3245,-8058,3},{3245,-8048,3},{3242,-8045,3}, {3240,-8047,3},{3238,-8050,3},{3237,-8055,3},{3235,-8055,3},{3237,-8047,3}, {3240,-8043,3},{3235,-8045,3},{3235,-8047,3},{3233,-8045,3},{3232,-8047,3}, {3225,-8063,3},{3227,-8065,3},{3232,-8063,3},{3238,-8063,3},{3235,-8065,3}, {3237,-8067,3},{3245,-8065,3},{3247,-8065,3},{3245,-8068,3},{3245,-8067,3}, {3237,-8068,3},{3230,-8067,3},{3232,-8070,3},{3238,-8077,3},{3247,-8080,3}, {3250,-8078,3},{3250,-8080,3},{3253,-8083,3},{3253,-8085,3},{3248,-8082,3}, {3240,-8080,3},{3238,-8078,3},{3232,-8080,3},{3225,-8075,3},{3225,-8070,3}, {3222,-8067,3},{3215,-8072,3},{3210,-8082,3},{3218,-8078,3},{3225,-8078,3}, {3222,-8078,3},{3220,-8078,3},{3215,-8083,3},{3212,-8083,3},{3205,-8090,3}, {3202,-8088,3},{3202,-8085,3},{3200,-8083,3},{3197,-8087,3},{3195,-8090,3}, {3198,-8093,3},{3192,-8097,3},{3190,-8093,3},{3187,-8098,3},{3188,-8105,3}, {3192,-8110,3},{3188,-8112,3},{3188,-8108,3},{3187,-8108,3},{3187,-8113,3}, {3185,-8113,3},{3182,-8103,3},{3177,-8108,3},{3173,-8112,3},{3177,-8127,3}, {3175,-8127,3},{3173,-8122,3},{3170,-8118,3},{3167,-8123,3},{3167,-8115,3}, {3168,-8117,3},{3170,-8113,3},{3160,-8113,3},{3157,-8117,3},{3157,-8118,3}, {3162,-8120,3},{3163,-8123,3},{3160,-8120,3},{3157,-8122,3},{3155,-8125,3}, {3157,-8130,3},{3155,-8133,3},{3153,-8130,3},{3153,-8127,3},{3148,-8128,3}, {3153,-8123,3},{3153,-8117,3},{3143,-8125,3},{3138,-8127,3},{3140,-8128,3}, {3143,-8130,3},{3143,-8133,3},{3135,-8128,3},{3133,-8128,3},{3135,-8143,3}, {3137,-8147,3},{3137,-8148,3},{3133,-8142,3},{3132,-8133,3},{3128,-8128,3}, {3127,-8127,3},{3122,-8128,3},{3122,-8130,3},{3122,-8132,3},{3113,-8138,3}, {3115,-8142,3},{3120,-8140,3},{3122,-8143,3},{3118,-8147,3},{3112,-8145,3}, {3113,-8150,3},{3107,-8143,3},{3110,-8143,3},{3112,-8140,3},{3108,-8140,3}, {3102,-8143,3},{3108,-8148,3},{3108,-8152,3},{3102,-8145,3},{3098,-8147,3}, {3098,-8152,3},{3097,-8150,3},{3097,-8145,3},{3088,-8150,3},{3085,-8148,3}, {3085,-8153,3},{3083,-8152,3},{3080,-8152,3},{3077,-8148,3},{3072,-8150,3}, {3068,-8148,3},{3070,-8145,3},{3068,-8143,3},{3057,-8145,3},{3052,-8143,3}, {3055,-8147,3},{3062,-8148,3},{3062,-8150,3},{3055,-8150,3},{3047,-8142,3}, {3040,-8142,3},{3038,-8138,3},{3027,-8138,3},{3012,-8133,3},{2990,-8128,3}, {2987,-8127,3},{2980,-8125,3},{2958,-8117,3},{2925,-8102,3},{2908,-8092,3}, {2907,-8092,3},{2905,-8090,3},{2872,-8068,3},{2865,-8063,3},{2857,-8057,3}, {2847,-8053,3},{2845,-8053,3},{2840,-8060,3},{2820,-8058,3},{2808,-8057,3}, {2792,-8047,3},{2787,-8045,3},{2793,-8050,3},{2800,-8053,3},{2805,-8057,3}, {2822,-8062,3},{2840,-8062,3},{2852,-8058,3},{2860,-8060,3},{2860,-8067,3}, {2858,-8068,3},{2862,-8077,3},{2865,-8078,3},{2868,-8078,3},{2870,-8075,3}, {2873,-8075,3},{2878,-8085,3},{2865,-8082,3},{2860,-8080,3},{2842,-8075,3}, {2805,-8058,3},{2770,-8040,3},{2742,-8030,3},{2718,-8018,3},{2722,-8022,3}, {2722,-8027,3},{2723,-8028,3},{2723,-8032,3},{2718,-8027,3},{2720,-8022,3}, {2715,-8017,3},{2713,-8015,3},{2695,-8007,3},{2693,-8012,3},{2692,-8007,3}, {2678,-8003,3},{2677,-8005,3},{2668,-8003,3},{2657,-8003,3},{2653,-8005,3}, {2652,-8005,3},{2628,-8008,3},{2612,-8010,3},{2610,-8012,3},{2607,-8010,3}, {2595,-8012,3},{2582,-8012,3},{2577,-8013,3},{2582,-8013,3},{2590,-8013,3}, {2582,-8018,3},{2575,-8018,3},{2573,-8025,3},{2565,-8027,3},{2562,-8032,3}, {2553,-8032,3},{2548,-8035,3},{2543,-8033,3},{2540,-8033,3},{2538,-8032,3}, {2533,-8035,3},{2533,-8037,3},{2523,-8043,3},{2520,-8042,3},{2518,-8040,3}, {2520,-8042,3},{2525,-8045,3},{2522,-8050,3},{2522,-8047,3},{2517,-8045,3}, {2518,-8045,3},{2522,-8048,3},{2520,-8052,3},{2522,-8052,3},{2523,-8050,3}, {2525,-8053,3},{2523,-8058,3},{2518,-8060,3},{2518,-8065,3},{2517,-8065,3}, {2517,-8068,3},{2513,-8072,3},{2515,-8077,3},{2515,-8080,3},{2517,-8082,3}, {2518,-8085,3},{2513,-8092,3},{2512,-8108,3},{2517,-8115,3},{2523,-8118,3}, {2533,-8113,3},{2527,-8107,3},{2523,-8098,3},{2522,-8100,3},{2520,-8098,3}, {2522,-8092,3},{2525,-8092,3},{2532,-8098,3},{2533,-8103,3},{2538,-8115,3}, {2547,-8117,3},{2550,-8120,3},{2555,-8118,3},{2557,-8123,3},{2563,-8125,3}, {2565,-8127,3},{2570,-8128,3},{2570,-8132,3},{2572,-8133,3},{2577,-8135,3}, {2578,-8132,3},{2582,-8135,3},{2585,-8140,3},{2587,-8147,3},{2588,-8147,3}, {2588,-8152,3},{2592,-8155,3},{2590,-8158,3},{2592,-8158,3},{2595,-8162,3}, {2592,-8165,3},{2590,-8173,3},{2595,-8173,3},{2593,-8170,3},{2595,-8167,3}, {2598,-8167,3},{2597,-8172,3},{2600,-8173,3},{2602,-8173,3},{2607,-8177,3}, {2613,-8178,3},{2610,-8180,3},{2627,-8183,3},{2628,-8182,3},{2635,-8185,3}, {2635,-8183,3},{2643,-8185,3},{2648,-8188,3},{2645,-8187,3},{2643,-8188,3}, {2647,-8195,3},{2648,-8202,3},{2652,-8200,3},{2650,-8198,3},{2653,-8193,3}, {2663,-8188,3},{2668,-8182,3},{2668,-8180,3},{2672,-8178,3},{2667,-8190,3}, {2655,-8195,3},{2653,-8198,3},{2653,-8200,3},{2652,-8203,3},{2655,-8207,3}, {2660,-8205,3},{2670,-8208,3},{2678,-8205,3},{2687,-8205,3},{2690,-8210,3}, {2693,-8205,3},{2695,-8200,3},{2700,-8198,3},{2697,-8202,3},{2697,-8205,3}, {2695,-8207,3},{2697,-8212,3},{2692,-8215,3},{2697,-8218,3},{2695,-8220,3}, {2697,-8223,3},{2700,-8223,3},{2702,-8227,3},{2700,-8227,3},{2700,-8225,3}, {2695,-8223,3},{2693,-8218,3},{2687,-8217,3},{2678,-8215,3},{2678,-8217,3}, {2682,-8217,3},{2680,-8220,3},{2683,-8230,3},{2687,-8232,3},{2688,-8232,3}, {2693,-8235,3},{2695,-8237,3},{2690,-8235,3},{2705,-8243,3},{2718,-8250,3}, {2720,-8250,3},{2718,-8248,3},{2722,-8250,3},{2722,-8252,3},{2727,-8257,3}, {2730,-8255,3},{2728,-8255,3},{2728,-8253,3},{2740,-8258,3},{2745,-8267,3}, {2745,-8268,3},{2752,-8273,3},{2748,-8270,3},{2747,-8265,3},{2748,-8263,3}, {2748,-8267,3},{2752,-8267,3},{2750,-8260,3},{2752,-8263,3},{2752,-8260,3}, {2755,-8257,3},{2755,-8262,3},{2755,-8258,3},{2763,-8255,3},{2767,-8252,3}, {2773,-8247,3},{2778,-8240,3},{2782,-8238,3},{2792,-8242,3},{2793,-8245,3}, {2790,-8248,3},{2782,-8248,3},{2783,-8253,3},{2785,-8255,3},{2787,-8253,3}, {2793,-8253,3},{2795,-8257,3},{2797,-8262,3},{2798,-8260,3},{2802,-8265,3}, {2800,-8265,3},{2803,-8268,3},{2800,-8268,3},{2797,-8268,3},{2795,-8263,3}, {2795,-8270,3},{2793,-8272,3},{2790,-8265,3},{2788,-8263,3},{2788,-8257,3}, {2785,-8260,3},{2782,-8260,3},{2778,-8262,3},{2770,-8263,3},{2768,-8267,3}, {2770,-8268,3},{2773,-8268,3},{2773,-8272,3},{2778,-8275,3},{2783,-8282,3}, {2782,-8282,3},{2772,-8273,3},{2765,-8272,3},{2770,-8275,3},{2773,-8275,3}, {2780,-8283,3},{2787,-8285,3},{2793,-8283,3},{2795,-8282,3},{2788,-8283,3}, {2793,-8282,3},{2807,-8277,3},{2810,-8277,3},{2815,-8280,3},{2818,-8280,3}, {2820,-8277,3},{2828,-8273,3},{2830,-8272,3},{2830,-8273,3},{2832,-8273,3}, {2843,-8267,3},{2850,-8267,3},{2853,-8263,3},{2863,-8265,3},{2865,-8263,3}, {2867,-8265,3},{2870,-8263,3},{2875,-8263,3},{2875,-8265,3},{2880,-8268,3}, {2882,-8267,3},{2880,-8265,3},{2878,-8263,3},{2880,-8263,3},{2888,-8263,3}, {2892,-8268,3},{2897,-8273,3},{2900,-8273,3},{2900,-8275,3},{2907,-8275,3}, {2910,-8280,3},{2912,-8278,3},{2913,-8280,3},{2917,-8280,3},{2917,-8283,3}, {2918,-8285,3},{2917,-8287,3},{2917,-8290,3},{2918,-8297,3},{2917,-8300,3}, {2918,-8305,3},{2920,-8305,3},{2922,-8307,3},{2923,-8307,3},{2927,-8308,3}, {2930,-8315,3},{2933,-8315,3},{2942,-8322,3},{2943,-8328,3},{2950,-8335,3}, {2952,-8340,3},{2958,-8340,3},{2960,-8338,3},{2965,-8340,3},{2968,-8347,3}, {2975,-8358,3},{2982,-8358,3},{2992,-8368,3},{2997,-8377,3},{2998,-8378,3}, {2997,-8380,3},{2998,-8383,3},{3002,-8388,3},{3010,-8402,3},{3010,-8413,3}, {3007,-8417,3},{3010,-8420,3},{3008,-8423,3},{3010,-8425,3},{3010,-8427,3}, {3007,-8428,3},{3007,-8433,3},{3005,-8437,3},{3002,-8437,3},{3002,-8438,3}, {2998,-8438,3},{2998,-8435,3},{2997,-8435,3},{2998,-8442,3},{3002,-8445,3}, {2998,-8447,3},{2998,-8445,3},{2997,-8443,3},{2993,-8433,3},{2988,-8435,3}, {2988,-8438,3},{2990,-8437,3},{2992,-8438,3},{2992,-8445,3},{2990,-8448,3}, {2992,-8452,3},{2988,-8457,3},{2978,-8475,3},{2973,-8488,3},{2973,-8490,3}, {2978,-8487,3},{2980,-8487,3},{2978,-8492,3},{2975,-8495,3},{2975,-8497,3}, {2970,-8502,3},{2972,-8508,3},{2970,-8518,3},{2968,-8533,3},{2968,-8537,3}, {2972,-8538,3},{2978,-8542,3},{2985,-8542,3},{2987,-8540,3},{2985,-8540,3}, {2975,-8538,3},{2968,-8535,3},{2970,-8530,3},{2982,-8530,3},{2992,-8538,3}, {2995,-8543,3},{2997,-8552,3},{3003,-8557,3},{3000,-8552,3},{2998,-8548,3}, {3012,-8568,3},{3013,-8567,3},{3012,-8562,3},{3010,-8562,3},{3008,-8553,3}, {3007,-8552,3},{3002,-8545,3},{3003,-8540,3},{3005,-8540,3},{3005,-8542,3}, {3007,-8543,3},{3003,-8545,3},{3005,-8548,3},{3010,-8548,3},{3010,-8552,3}, {3013,-8550,3},{3012,-8553,3},{3013,-8557,3},{3012,-8557,3},{3015,-8563,3}, {3013,-8563,3},{3018,-8572,3},{3020,-8570,3},{3025,-8567,3},{3025,-8560,3}, {3028,-8558,3},{3028,-8555,3},{3032,-8557,3},{3027,-8562,3},{3028,-8565,3}, {3027,-8568,3},{3023,-8572,3},{3028,-8572,3},{3028,-8575,3},{3032,-8575,3}, {3028,-8577,3},{3028,-8583,3},{3025,-8585,3},{3023,-8583,3},{3025,-8580,3}, {3023,-8577,3},{3023,-8575,3},{3022,-8573,3},{3017,-8575,3},{3015,-8570,3}, {3013,-8572,3},{3015,-8573,3},{3013,-8573,3},{3022,-8587,3},{3030,-8608,3}, {3037,-8632,3},{3040,-8652,3},{3042,-8648,3},{3040,-8640,3},{3040,-8633,3}, {3043,-8632,3},{3040,-8628,3},{3040,-8623,3},{3042,-8627,3},{3043,-8625,3}, {3037,-8610,3},{3040,-8612,3},{3043,-8612,3},{3045,-8615,3},{3047,-8613,3}, {3048,-8613,3},{3047,-8617,3},{3047,-8620,3},{3050,-8620,3},{3048,-8623,3}, {3050,-8627,3},{3048,-8635,3},{3045,-8642,3},{3048,-8643,3},{3052,-8642,3}, {3052,-8645,3},{3050,-8647,3},{3052,-8648,3},{3050,-8648,3},{3047,-8650,3}, {3043,-8655,3},{3045,-8660,3},{3042,-8658,3},{3042,-8678,3},{3035,-8718,3}, {3038,-8718,3},{3042,-8700,3},{3045,-8693,3},{3043,-8688,3},{3047,-8690,3}, {3050,-8702,3},{3055,-8700,3},{3057,-8697,3},{3057,-8700,3},{3058,-8700,3}, {3060,-8702,3},{3057,-8702,3},{3055,-8703,3},{3045,-8708,3},{3045,-8710,3}, {3053,-8710,3},{3053,-8713,3},{3055,-8712,3},{3058,-8717,3},{3058,-8718,3}, {3053,-8718,3},{3050,-8715,3},{3047,-8715,3},{3042,-8720,3},{3040,-8725,3}, {3035,-8727,3},{3035,-8730,3},{3032,-8730,3},{3027,-8750,3},{3028,-8753,3}, {3030,-8750,3},{3032,-8745,3},{3033,-8748,3},{3033,-8743,3},{3035,-8742,3}, {3037,-8742,3},{3040,-8742,3},{3043,-8733,3},{3045,-8735,3},{3048,-8742,3}, {3043,-8740,3},{3040,-8743,3},{3035,-8747,3},{3035,-8752,3},{3033,-8752,3}, {3032,-8753,3},{3032,-8758,3},{3033,-8758,3},{3035,-8762,3},{3030,-8760,3}, {3030,-8757,3},{3028,-8757,3},{3023,-8773,3},{3023,-8795,3},{3022,-8800,3}, {3023,-8802,3},{3023,-8797,3},{3027,-8793,3},{3023,-8787,3},{3027,-8778,3}, {3028,-8775,3},{3035,-8783,3},{3040,-8782,3},{3042,-8782,3},{3040,-8783,3}, {3038,-8785,3},{3042,-8792,3},{3047,-8792,3},{3048,-8795,3},{3055,-8790,3}, {3060,-8792,3},{3067,-8795,3},{3068,-8800,3},{3073,-8802,3},{3070,-8802,3}, {3065,-8805,3},{3060,-8805,3},{3058,-8808,3},{3052,-8810,3},{3037,-8812,3}, {3032,-8813,3},{3033,-8815,3},{3033,-8820,3},{3037,-8820,3},{3040,-8830,3}, {3038,-8830,3},{3040,-8835,3},{3038,-8840,3},{3035,-8840,3},{3035,-8843,3}, {3032,-8847,3},{3035,-8850,3},{3035,-8857,3},{3040,-8860,3},{3037,-8862,3}, {3035,-8868,3},{3035,-8873,3},{3038,-8878,3},{3043,-8885,3},{3043,-8892,3}, {3042,-8898,3},{3040,-8887,3},{3037,-8905,3},{3035,-8908,3},{3032,-8925,3}, {3032,-8927,3},{3035,-8925,3},{3037,-8930,3},{3037,-8933,3},{3035,-8935,3}, {3035,-8932,3},{3030,-8932,3},{3025,-8942,3},{3018,-8945,3},{3020,-8947,3}, {3018,-8952,3},{3015,-8958,3},{3015,-8962,3},{3017,-8958,3},{3018,-8960,3}, {3017,-8963,3},{3018,-8975,3},{3023,-8975,3},{3022,-8980,3},{3023,-8985,3}, {3025,-8987,3},{3027,-8998,3},{3032,-9000,3},{3035,-9005,3},{3038,-9020,3}, {3037,-9023,3},{3025,-9035,3},{3020,-9042,3},{3015,-9043,3},{3010,-9042,3}, {3007,-9035,3},{3007,-9030,3},{3002,-9013,3},{3003,-9002,3},{3007,-8997,3}, {3012,-8990,3},{3015,-8988,3},{3015,-8985,3},{3012,-8983,3},{3008,-8978,3}, {3017,-8975,3},{3017,-8973,3},{3012,-8975,3},{3010,-8973,3},{3012,-8972,3}, {3013,-8968,3},{3015,-8968,3},{3015,-8970,3},{3017,-8967,3},{3015,-8967,3}, {3013,-8965,3},{3012,-8967,3},{3007,-8968,3},{3005,-8972,3},{3003,-8972,3}, {3005,-8978,3},{3003,-8983,3},{3002,-8985,3},{2995,-8982,3},{2995,-8975,3}, {2995,-8972,3},{2992,-8973,3},{2988,-8968,3},{2987,-8965,3},{2988,-8960,3}, {2997,-8957,3},{3000,-8957,3},{3003,-8950,3},{3008,-8948,3},{3005,-8943,3}, {3003,-8943,3},{3005,-8937,3},{3003,-8937,3},{3002,-8943,3},{3000,-8945,3}, {3000,-8943,3},{2997,-8945,3},{2997,-8943,3},{2997,-8937,3},{2993,-8937,3}, {2993,-8940,3},{2995,-8942,3},{2993,-8943,3},{2990,-8942,3},{2992,-8937,3}, {2987,-8938,3},{2988,-8937,3},{2988,-8933,3},{2983,-8938,3},{2978,-8935,3}, {2978,-8938,3},{2977,-8940,3},{2978,-8940,3},{2978,-8943,3},{2980,-8943,3}, {2983,-8947,3},{2980,-8948,3},{2978,-8950,3},{2975,-8952,3},{2975,-8957,3}, {2973,-8960,3},{2968,-8960,3},{2968,-8955,3},{2968,-8953,3},{2968,-8952,3}, {2967,-8950,3},{2967,-8953,3},{2963,-8948,3},{2967,-8955,3},{2967,-8962,3}, {2968,-8963,3},{2970,-8970,3},{2968,-8965,3},{2967,-8967,3},{2962,-8962,3}, {2963,-8975,3},{2962,-8972,3},{2960,-8973,3},{2958,-8970,3},{2952,-8968,3}, {2950,-8962,3},{2950,-8958,3},{2948,-8958,3},{2947,-8952,3},{2943,-8953,3}, {2942,-8953,3},{2943,-8952,3},{2942,-8952,3},{2940,-8955,3},{2940,-8942,3}, {2938,-8942,3},{2938,-8933,3},{2938,-8937,3},{2937,-8938,3},{2935,-8935,3}, {2935,-8927,3},{2932,-8925,3},{2935,-8920,3},{2932,-8918,3},{2928,-8913,3}, {2927,-8913,3},{2925,-8912,3},{2923,-8915,3},{2920,-8907,3},{2922,-8907,3}, {2922,-8903,3},{2920,-8900,3},{2918,-8903,3},{2918,-8900,3},{2918,-8903,3}, {2917,-8905,3},{2918,-8905,3},{2918,-8907,3},{2917,-8910,3},{2913,-8910,3}, {2915,-8907,3},{2913,-8902,3},{2908,-8905,3},{2912,-8908,3},{2912,-8910,3}, {2908,-8908,3},{2910,-8910,3},{2907,-8913,3},{2903,-8915,3},{2898,-8913,3}, {2902,-8918,3},{2910,-8923,3},{2907,-8925,3},{2905,-8930,3},{2895,-8937,3}, {2893,-8942,3},{2897,-8940,3},{2903,-8935,3},{2907,-8935,3},{2908,-8930,3}, {2915,-8927,3},{2915,-8928,3},{2912,-8930,3},{2918,-8932,3},{2915,-8933,3}, {2912,-8932,3},{2908,-8937,3},{2910,-8940,3},{2915,-8940,3},{2915,-8943,3}, {2923,-8948,3},{2923,-8947,3},{2925,-8947,3},{2925,-8950,3},{2922,-8950,3}, {2923,-8953,3},{2925,-8962,3},{2928,-8962,3},{2930,-8963,3},{2932,-8962,3}, {2933,-8962,3},{2933,-8965,3},{2930,-8970,3},{2932,-8973,3},{2932,-8982,3}, {2933,-8977,3},{2937,-8975,3},{2938,-8977,3},{2938,-8978,3},{2942,-8977,3}, {2940,-8982,3},{2943,-8983,3},{2945,-8980,3},{2947,-8982,3},{2948,-8985,3}, {2947,-8985,3},{2945,-8985,3},{2943,-8987,3},{2947,-8990,3},{2947,-8995,3}, {2947,-8997,3},{2948,-8998,3},{2952,-9007,3},{2953,-9007,3},{2953,-9013,3}, {2957,-9018,3},{2953,-9020,3},{2953,-9018,3},{2952,-9022,3},{2952,-9018,3}, {2948,-9017,3},{2948,-9015,3},{2947,-9013,3},{2947,-9005,3},{2943,-9003,3}, {2940,-9005,3},{2938,-9003,3},{2933,-9003,3},{2935,-9005,3},{2930,-9002,3}, {2930,-9005,3},{2932,-9005,3},{2930,-9008,3},{2928,-9007,3},{2927,-9010,3}, {2922,-9008,3},{2922,-9005,3},{2918,-9007,3},{2913,-9013,3},{2908,-9023,3}, {2908,-9025,3},{2910,-9023,3},{2912,-9023,3},{2917,-9027,3},{2918,-9025,3}, {2920,-9027,3},{2922,-9025,3},{2925,-9025,3},{2927,-9027,3},{2923,-9028,3}, {2925,-9030,3},{2928,-9033,3},{2932,-9035,3},{2925,-9038,3},{2925,-9040,3}, {2932,-9038,3},{2933,-9042,3},{2935,-9043,3},{2932,-9045,3},{2928,-9048,3}, {2930,-9050,3},{2928,-9052,3},{2930,-9055,3},{2932,-9057,3},{2930,-9060,3}, {2928,-9060,3},{2928,-9057,3},{2923,-9060,3},{2922,-9058,3},{2923,-9062,3}, {2922,-9063,3},{2913,-9063,3},{2917,-9065,3},{2917,-9067,3},{2913,-9068,3}, {2912,-9070,3},{2913,-9072,3},{2912,-9075,3},{2913,-9080,3},{2913,-9077,3}, {2917,-9077,3},{2917,-9082,3},{2918,-9085,3},{2915,-9083,3},{2913,-9088,3}, {2918,-9095,3},{2918,-9102,3},{2922,-9098,3},{2922,-9100,3},{2922,-9103,3}, {2918,-9105,3},{2922,-9113,3},{2923,-9120,3},{2925,-9127,3},{2927,-9130,3}, {2933,-9133,3},{2932,-9132,3},{2933,-9128,3},{2937,-9127,3},{2938,-9123,3}, {2932,-9120,3},{2933,-9117,3},{2928,-9117,3},{2925,-9115,3},{2927,-9112,3}, {2935,-9112,3},{2940,-9122,3},{2943,-9123,3},{2947,-9127,3},{2953,-9127,3}, {2957,-9122,3},{2960,-9122,3},{2962,-9125,3},{2960,-9125,3},{2957,-9125,3}, {2955,-9128,3},{2952,-9128,3},{2948,-9130,3},{2952,-9143,3},{2955,-9142,3}, {2953,-9155,3},{2955,-9153,3},{2963,-9155,3},{2963,-9165,3},{2973,-9162,3}, {2975,-9163,3},{2973,-9180,3},{2972,-9185,3},{2972,-9187,3},{2975,-9187,3}, {2977,-9188,3},{2980,-9187,3},{2978,-9182,3},{2983,-9183,3},{2983,-9192,3}, {2982,-9193,3},{2983,-9197,3},{2983,-9198,3},{2980,-9198,3},{2977,-9208,3}, {2973,-9213,3},{2977,-9213,3},{2977,-9217,3},{2975,-9217,3},{2977,-9220,3}, {2970,-9218,3},{2972,-9210,3},{2968,-9213,3},{2962,-9210,3},{2963,-9203,3}, {2962,-9202,3},{2962,-9207,3},{2960,-9205,3},{2958,-9205,3},{2958,-9218,3}, {2953,-9228,3},{2960,-9268,3},{2973,-9303,3},{2978,-9323,3},{2977,-9372,3}, {2970,-9383,3},{2975,-9388,3},{2980,-9390,3},{2983,-9387,3},{2983,-9380,3}, {2990,-9377,3},{2997,-9377,3},{2998,-9378,3},{2998,-9385,3},{2993,-9388,3}, {2983,-9395,3},{2980,-9395,3},{2973,-9388,3},{2968,-9385,3},{2968,-9405,3}, {2965,-9413,3},{2945,-9465,3},{2937,-9477,3},{2937,-9478,3},{2940,-9478,3}, {2943,-9472,3},{2947,-9470,3},{2948,-9463,3},{2953,-9457,3},{2952,-9450,3}, {2957,-9448,3},{2955,-9452,3},{2957,-9457,3},{2957,-9463,3},{2953,-9478,3}, {2953,-9480,3},{2955,-9480,3},{2955,-9477,3},{2965,-9472,3},{2975,-9470,3}, {2978,-9475,3},{2977,-9483,3},{2968,-9488,3},{2967,-9490,3},{2967,-9493,3}, {2970,-9495,3},{2972,-9500,3},{2972,-9507,3},{2968,-9503,3},{2968,-9500,3}, {2963,-9503,3},{2960,-9498,3},{2957,-9502,3},{2953,-9502,3},{2952,-9500,3}, {2950,-9492,3},{2948,-9493,3},{2947,-9497,3},{2942,-9495,3},{2942,-9492,3}, {2943,-9492,3},{2942,-9490,3},{2940,-9488,3},{2937,-9482,3},{2937,-9490,3}, {2932,-9490,3},{2930,-9493,3},{2932,-9495,3},{2928,-9500,3},{2927,-9500,3}, {2922,-9503,3},{2918,-9510,3},{2918,-9512,3},{2920,-9512,3},{2920,-9517,3}, {2917,-9515,3},{2907,-9515,3},{2905,-9513,3},{2888,-9537,3},{2887,-9542,3}, {2873,-9568,3},{2873,-9575,3},{2873,-9582,3},{2870,-9593,3},{2868,-9595,3}, {2862,-9595,3},{2872,-9572,3},{2865,-9583,3},{2860,-9598,3},{2848,-9622,3}, {2853,-9615,3},{2860,-9600,3},{2863,-9598,3},{2865,-9598,3},{2858,-9622,3}, {2860,-9622,3},{2860,-9618,3},{2863,-9613,3},{2863,-9622,3},{2867,-9618,3}, {2870,-9618,3},{2867,-9627,3},{2868,-9627,3},{2865,-9630,3},{2863,-9635,3}, {2865,-9635,3},{2867,-9638,3},{2872,-9638,3},{2873,-9640,3},{2873,-9642,3}, {2877,-9643,3},{2870,-9643,3},{2872,-9640,3},{2868,-9642,3},{2863,-9642,3}, {2862,-9637,3},{2857,-9648,3},{2860,-9648,3},{2860,-9643,3},{2863,-9645,3}, {2862,-9648,3},{2862,-9650,3},{2865,-9650,3},{2865,-9655,3},{2870,-9657,3}, {2872,-9658,3},{2872,-9665,3},{2868,-9665,3},{2863,-9660,3},{2857,-9660,3}, {2855,-9652,3},{2852,-9648,3},{2848,-9655,3},{2847,-9655,3},{2848,-9650,3}, {2850,-9648,3},{2847,-9643,3},{2845,-9640,3},{2843,-9640,3},{2832,-9665,3}, {2833,-9670,3},{2840,-9670,3},{2842,-9673,3},{2843,-9675,3},{2848,-9678,3}, {2845,-9682,3},{2842,-9677,3},{2840,-9677,3},{2842,-9683,3},{2840,-9683,3}, {2835,-9678,3},{2828,-9680,3},{2823,-9678,3},{2817,-9687,3},{2813,-9688,3}, {2813,-9693,3},{2820,-9692,3},{2822,-9693,3},{2825,-9690,3},{2827,-9692,3}, {2822,-9695,3},{2818,-9693,3},{2812,-9697,3},{2813,-9702,3},{2818,-9700,3}, {2820,-9702,3},{2818,-9703,3},{2815,-9712,3},{2817,-9715,3},{2815,-9718,3}, {2812,-9715,3},{2807,-9722,3},{2803,-9715,3},{2800,-9715,3},{2807,-9710,3}, {2808,-9705,3},{2812,-9703,3},{2810,-9702,3},{2807,-9703,3},{2803,-9702,3}, {2797,-9710,3},{2782,-9720,3},{2782,-9723,3},{2783,-9722,3},{2787,-9725,3}, {2788,-9727,3},{2785,-9735,3},{2787,-9735,3},{2787,-9745,3},{2785,-9747,3}, {2788,-9750,3},{2787,-9752,3},{2782,-9748,3},{2783,-9738,3},{2778,-9740,3}, {2775,-9737,3},{2772,-9732,3},{2770,-9725,3},{2757,-9732,3},{2733,-9740,3}, {2730,-9748,3},{2728,-9752,3},{2728,-9753,3},{2730,-9750,3},{2733,-9750,3}, {2733,-9745,3},{2735,-9748,3},{2740,-9748,3},{2738,-9752,3},{2733,-9757,3}, {2733,-9758,3},{2730,-9760,3},{2730,-9763,3},{2733,-9765,3},{2738,-9768,3}, {2747,-9777,3},{2745,-9777,3},{2740,-9772,3},{2738,-9773,3},{2737,-9770,3}, {2735,-9770,3},{2733,-9768,3},{2732,-9772,3},{2732,-9767,3},{2730,-9767,3}, {2728,-9770,3},{2728,-9777,3},{2727,-9773,3},{2727,-9765,3},{2725,-9763,3}, {2723,-9753,3},{2727,-9742,3},{2717,-9745,3},{2712,-9745,3},{2710,-9750,3}, {2707,-9748,3},{2705,-9748,3},{2702,-9747,3},{2700,-9750,3},{2702,-9755,3}, {2700,-9757,3},{2692,-9755,3},{2690,-9752,3},{2688,-9748,3},{2687,-9748,3}, {2685,-9750,3},{2687,-9752,3},{2690,-9755,3},{2687,-9755,3},{2683,-9757,3}, {2682,-9755,3},{2680,-9750,3},{2655,-9742,3},{2650,-9742,3},{2652,-9743,3}, {2650,-9743,3},{2648,-9747,3},{2648,-9743,3},{2642,-9745,3},{2642,-9742,3}, {2637,-9740,3},{2637,-9737,3},{2633,-9737,3},{2635,-9735,3},{2628,-9737,3}, {2627,-9735,3},{2628,-9732,3},{2625,-9732,3},{2623,-9733,3},{2620,-9732,3}, {2617,-9732,3},{2612,-9730,3},{2610,-9728,3},{2608,-9722,3},{2607,-9722,3}, {2607,-9725,3},{2603,-9727,3},{2598,-9725,3},{2602,-9718,3},{2608,-9717,3}, {2597,-9713,3},{2595,-9722,3},{2597,-9727,3},{2593,-9728,3},{2593,-9733,3}, {2592,-9735,3},{2585,-9735,3},{2583,-9737,3},{2587,-9740,3},{2585,-9742,3}, {2585,-9743,3},{2588,-9745,3},{2590,-9752,3},{2595,-9757,3},{2597,-9758,3}, {2600,-9762,3},{2603,-9765,3},{2603,-9777,3},{2605,-9778,3},{2605,-9780,3}, {2605,-9800,3},{2607,-9802,3},{2603,-9807,3},{2605,-9808,3},{2607,-9808,3}, {2607,-9812,3},{2607,-9813,3},{2607,-9817,3},{2605,-9820,3},{2608,-9820,3}, {2612,-9830,3},{2615,-9835,3},{2615,-9838,3},{2620,-9837,3},{2620,-9840,3}, {2623,-9845,3},{2620,-9847,3},{2625,-9853,3},{2623,-9855,3},{2625,-9858,3}, {2623,-9865,3},{2627,-9870,3},{2630,-9870,3},{2630,-9875,3},{2632,-9873,3}, {2637,-9880,3},{2637,-9888,3},{2640,-9893,3},{2638,-9895,3},{2640,-9897,3}, {2640,-9898,3},{2638,-9900,3},{2640,-9902,3},{2640,-9908,3},{2642,-9910,3}, {2650,-9908,3},{2655,-9917,3},{2662,-9917,3},{2685,-9927,3},{2688,-9935,3}, {2692,-9935,3},{2693,-9938,3},{2700,-9938,3},{2705,-9947,3},{2710,-9943,3}, {2713,-9945,3},{2722,-9943,3},{2727,-9945,3},{2727,-9948,3},{2730,-9948,3}, {2730,-9952,3},{2740,-9947,3},{2748,-9947,3},{2750,-9952,3},{2757,-9950,3}, {2763,-9958,3},{2763,-9963,3},{2765,-9965,3},{2767,-9970,3},{2772,-9975,3}, {2773,-9978,3},{2777,-9980,3},{2778,-9983,3},{2780,-9987,3},{2785,-9987,3}, {2787,-9988,3},{2790,-9988,3},{2793,-9993,3},{2798,-9993,3},{2800,-10000,3}, {2807,-10002,3},{2808,-10005,3},{2815,-10007,3},{2820,-10018,3},{2823,-10020,3}, {2825,-10023,3},{2828,-10028,3},{2832,-10028,3},{2840,-10033,3},{2843,-10033,3}, {2848,-10035,3},{2850,-10032,3},{2853,-10038,3},{2857,-10040,3},{2860,-10040,3}, {2862,-10043,3},{2863,-10043,3},{2868,-10048,3},{2883,-10053,3},{2883,-10057,3}, {2887,-10057,3},{2892,-10062,3},{2900,-10063,3},{2912,-10067,3},{2917,-10077,3}, {2923,-10077,3},{2928,-10083,3},{2928,-10087,3},{2935,-10093,3},{2938,-10100,3}, {2947,-10105,3},{2950,-10113,3},{2953,-10118,3},{2953,-10122,3},{2958,-10122,3}, {2962,-10122,3},{2962,-10123,3},{2958,-10130,3},{2962,-10132,3},{2965,-10130,3}, {2967,-10135,3},{2975,-10142,3},{2977,-10140,3},{2977,-10143,3},{2978,-10147,3}, {2977,-10153,3},{2980,-10153,3},{2982,-10153,3},{2977,-10157,3},{2977,-10163,3}, {2980,-10177,3},{2978,-10180,3},{2982,-10182,3},{2980,-10183,3},{2980,-10188,3}, {2980,-10192,3},{2982,-10197,3},{2980,-10198,3},{2980,-10208,3},{2982,-10215,3}, {2985,-10218,3},{2985,-10223,3},{2987,-10225,3},{2988,-10230,3},{2985,-10235,3}, {2980,-10237,3},{2977,-10238,3},{2978,-10250,3},{2975,-10253,3},{2977,-10257,3}, {2975,-10258,3},{2975,-10267,3},{2967,-10268,3},{2963,-10273,3},{2960,-10273,3}, {2960,-10277,3},{2955,-10277,3},{2952,-10280,3},{2945,-10282,3},{2940,-10282,3}, {2935,-10285,3},{2935,-10288,3},{2932,-10288,3},{2925,-10290,3},{2922,-10287,3}, {2922,-10290,3},{2920,-10293,3},{2918,-10298,3},{2910,-10303,3},{2908,-10308,3}, {2905,-10308,3},{2907,-10310,3},{2900,-10310,3},{2898,-10315,3},{2900,-10330,3}, {2900,-10332,3},{2902,-10332,3},{2902,-10333,3},{2903,-10335,3},{2902,-10337,3}, {2907,-10345,3},{2907,-10348,3},{2915,-10355,3},{2915,-10363,3},{2920,-10373,3}, {2923,-10378,3},{2925,-10377,3},{2927,-10378,3},{2928,-10388,3},{2933,-10405,3}, {2942,-10417,3},{2947,-10420,3},{2948,-10420,3},{2952,-10428,3},{2953,-10433,3}, {2957,-10442,3},{2963,-10450,3},{2972,-10455,3},{2980,-10457,3},{2982,-10462,3}, {2995,-10468,3},{2997,-10467,3},{3005,-10470,3},{3012,-10468,3},{3018,-10468,3}, {3023,-10470,3},{3028,-10477,3},{3032,-10477,3},{3035,-10482,3},{3038,-10482,3}, {3040,-10485,3},{3050,-10487,3},{3057,-10490,3},{3062,-10493,3},{3062,-10498,3}, {3068,-10500,3},{3070,-10507,3},{3080,-10520,3},{3080,-10527,3},{3082,-10528,3}, {3087,-10538,3},{3090,-10540,3},{3095,-10548,3},{3097,-10550,3},{3102,-10557,3}, {3108,-10560,3},{3118,-10577,3},{3125,-10583,3},{3133,-10593,3},{3137,-10595,3}, {3140,-10600,3},{3143,-10615,3},{3148,-10622,3},{3168,-10633,3},{3175,-10638,3}, {3175,-10648,3},{3178,-10652,3},{3178,-10655,3},{3178,-10660,3},{3178,-10667,3}, {3178,-10675,3},{3178,-10682,3},{3178,-10687,3},{3178,-10693,3},{3178,-10700,3}, {3178,-10708,3},{3178,-10715,3},{3178,-10720,3},{3178,-10727,3},{3178,-10733,3}, {3178,-10742,3},{3178,-10747,3},{3178,-10753,3},{3178,-10760,3},{3178,-10768,3}, {3178,-10775,3},{3178,-10780,3},{3178,-10787,3},{3178,-10795,3},{3178,-10800,3}, {3178,-10807,3},{3178,-10813,3},{3178,-10820,3},{3177,-10820,3},{3170,-10820,3}, {3163,-10820,3},{3157,-10820,3},{3150,-10820,3},{3143,-10820,3},{3138,-10820,3}, {3133,-10820,3},{3133,-10825,3},{3133,-10832,3},{3133,-10838,3},{3133,-10845,3}, {3133,-10852,3},{3133,-10858,3},{3133,-10865,3},{3133,-10872,3},{3133,-10878,3}, {3133,-10883,3},{3133,-10885,3},{3133,-10892,3},{3133,-10898,3},{3133,-10905,3}, {3133,-10912,3},{3133,-10918,3},{3133,-10925,3},{3133,-10932,3},{3133,-10938,3}, {3133,-10945,3},{3133,-10952,3},{3133,-10958,3},{3133,-10965,3},{3133,-10972,3}, {3133,-10978,3},{3133,-10985,3},{3133,-10992,3},{3133,-10998,3},{3133,-11005,3}, {3133,-11012,3},{3133,-11018,3},{3133,-11025,3},{3133,-11032,3},{3133,-11038,3}, {3133,-11045,3},{3133,-11052,3},{3133,-11058,3},{3133,-11065,3},{3133,-11072,3}, {3133,-11078,3},{3133,-11085,3},{3133,-11092,3},{3133,-11098,3},{3133,-11105,3}, {3135,-11108,3},{3137,-11115,3},{3138,-11120,3},{3140,-11127,3},{3142,-11132,3}, {3143,-11138,3},{3147,-11143,3},{3148,-11150,3},{3150,-11155,3},{3152,-11162,3}, {3153,-11167,3},{3155,-11173,3},{3157,-11178,3},{3160,-11185,3},{3162,-11190,3}, {3163,-11197,3},{3165,-11202,3},{3167,-11208,3},{3168,-11215,3},{3170,-11220,3}, {3172,-11227,3},{3175,-11232,3},{3177,-11238,3},{3178,-11243,3},{3180,-11250,3}, {3182,-11255,3},{3183,-11262,3},{3185,-11267,3},{3187,-11273,3},{3188,-11278,3}, {3190,-11285,3},{3193,-11292,3},{3195,-11297,3},{3197,-11303,3},{3198,-11308,3}, {3200,-11315,3},{3202,-11320,3},{3203,-11327,3},{3205,-11332,3},{3207,-11338,3}, {3208,-11345,3},{3212,-11350,3},{3213,-11357,3},{3215,-11362,3},{3217,-11368,3}, {3218,-11373,3},{3220,-11380,3},{3222,-11385,3},{3223,-11392,3},{3225,-11398,3}, {3227,-11403,3},{3228,-11410,3},{3230,-11415,3},{3233,-11422,3},{3235,-11427,3}, {3237,-11433,3},{3238,-11440,3},{3240,-11445,3},{3242,-11452,3},{3243,-11457,3}, {3245,-11463,3},{3247,-11468,3},{3248,-11475,3},{3250,-11482,3},{3255,-11478,3}, {3262,-11480,3},{3265,-11475,3},{3272,-11472,3},{3272,-11477,3},{3272,-11482,3}, {3270,-11488,3},{3270,-11493,3},{3270,-11500,3},{3270,-11507,3},{3268,-11512,3}, {3268,-11518,3},{3268,-11525,3},{3268,-11530,3},{3267,-11537,3},{3267,-11542,3}, {3267,-11548,3},{3267,-11555,3},{3265,-11560,3},{3265,-11567,3},{3265,-11573,3}, {3263,-11578,3},{3263,-11585,3},{3263,-11590,3},{3263,-11597,3},{3262,-11603,3}, {3262,-11608,3},{3262,-11615,3},{3262,-11622,3},{3260,-11627,3},{3260,-11633,3}, {3260,-11638,3},{3258,-11645,3},{3258,-11652,3},{3258,-11657,3},{3258,-11663,3}, {3257,-11670,3},{3257,-11675,3},{3257,-11682,3},{3255,-11687,3},{3255,-11693,3}, {3255,-11700,3},{3253,-11705,3},{3253,-11712,3},{4900,-12310,131},{4903,-12312,3}, {4907,-12315,3},{4908,-12310,3},{4915,-12303,3},{4910,-12312,3},{4913,-12322,3}, {4920,-12320,3},{4920,-12313,3},{4918,-12313,3},{4920,-12313,3},{4925,-12323,3}, {4928,-12325,3},{4928,-12315,3},{4930,-12317,3},{4930,-12315,3},{4928,-12312,3}, {4928,-12292,3},{4933,-12288,3},{4943,-12285,3},{4945,-12287,3},{4943,-12288,3}, {4937,-12290,3},{4932,-12293,3},{4930,-12302,3},{4933,-12323,3},{4933,-12327,3}, {4937,-12328,3},{4938,-12325,3},{4943,-12323,3},{4952,-12325,3},{4962,-12320,3}, {4965,-12320,3},{4968,-12315,3},{4970,-12317,3},{4967,-12323,3},{4958,-12325,3}, {4958,-12332,3},{4955,-12335,3},{4955,-12338,3},{4952,-12350,3},{4942,-12348,3}, {4938,-12352,3},{4943,-12372,3},{4947,-12375,3},{4947,-12385,3},{4947,-12388,3}, {4950,-12392,3},{4952,-12397,3},{4963,-12407,3},{4972,-12403,3},{4973,-12400,3}, {4973,-12393,3},{4968,-12388,3},{4963,-12383,3},{4950,-12378,3},{4953,-12375,3}, {4958,-12377,3},{4960,-12377,3},{4963,-12368,3},{4963,-12362,3},{4970,-12353,3}, {4965,-12367,3},{4963,-12378,3},{4965,-12382,3},{4970,-12383,3},{4977,-12393,3}, {4983,-12388,3},{4988,-12387,3},{4992,-12388,3},{4993,-12395,3},{4998,-12397,3}, {5003,-12387,3},{5005,-12380,3},{5008,-12375,3},{5015,-12383,3},{5022,-12398,3}, {5017,-12395,3},{5015,-12387,3},{5010,-12382,3},{5005,-12385,3},{5000,-12400,3}, {4992,-12398,3},{4987,-12392,3},{4983,-12393,3},{4983,-12397,3},{4980,-12398,3}, {4982,-12400,3},{4992,-12403,3},{4987,-12407,3},{4983,-12405,3},{4982,-12408,3}, {4980,-12408,3},{4977,-12417,3},{4978,-12425,3},{4975,-12427,3},{4977,-12435,3}, {4977,-12440,3},{4977,-12445,3},{4980,-12452,3},{4983,-12453,3},{4987,-12457,3}, {4993,-12470,3},{4998,-12477,3},{5007,-12483,3},{4998,-12470,3},{5003,-12470,3}, {5007,-12467,3},{5010,-12470,3},{5012,-12467,3},{5013,-12467,3},{5017,-12462,3}, {5023,-12460,3},{5028,-12463,3},{5033,-12472,3},{5035,-12468,3},{5038,-12465,3}, {5040,-12460,3},{5040,-12453,3},{5045,-12442,3},{5050,-12435,3},{5050,-12438,3}, {5047,-12443,3},{5042,-12457,3},{5043,-12467,3},{5035,-12473,3},{5032,-12483,3}, {5033,-12497,3},{5037,-12495,3},{5043,-12500,3},{5035,-12500,3},{5035,-12503,3}, {5032,-12505,3},{5032,-12508,3},{5035,-12508,3},{5037,-12507,3},{5048,-12505,3}, {5050,-12497,3},{5055,-12493,3},{5055,-12488,3},{5058,-12487,3},{5060,-12488,3}, {5068,-12487,3},{5072,-12482,3},{5080,-12492,3},{5088,-12478,3},{5092,-12482,3}, {5093,-12485,3},{5092,-12487,3},{5088,-12487,3},{5083,-12492,3},{5080,-12498,3}, {5080,-12495,3},{5075,-12495,3},{5075,-12490,3},{5073,-12490,3},{5067,-12492,3}, {5062,-12490,3},{5060,-12493,3},{5060,-12495,3},{5057,-12498,3},{5055,-12502,3}, {5053,-12503,3},{5050,-12510,3},{5043,-12512,3},{5042,-12518,3},{5047,-12525,3}, {5050,-12525,3},{5045,-12530,3},{5048,-12533,3},{5050,-12535,3},{5053,-12533,3}, {5053,-12537,3},{5048,-12540,3},{5047,-12542,3},{5047,-12557,3},{5053,-12553,3}, {5058,-12555,3},{5063,-12553,3},{5067,-12550,3},{5068,-12545,3},{5072,-12543,3}, {5072,-12547,3},{5067,-12555,3},{5055,-12557,3},{5050,-12562,3},{5047,-12562,3}, {5043,-12570,3},{5043,-12572,3},{5050,-12580,3},{5052,-12573,3},{5053,-12582,3}, {5050,-12587,3},{5047,-12597,3},{5048,-12600,3},{5047,-12607,3},{5050,-12608,3}, {5048,-12613,3},{5050,-12622,3},{5052,-12628,3},{5053,-12623,3},{5052,-12618,3}, {5057,-12618,3},{5057,-12617,3},{5062,-12597,3},{5063,-12593,3},{5065,-12598,3}, {5063,-12607,3},{5058,-12620,3},{5060,-12625,3},{5063,-12627,3},{5065,-12610,3}, {5067,-12603,3},{5065,-12592,3},{5067,-12583,3},{5068,-12575,3},{5067,-12572,3}, {5068,-12570,3},{5073,-12568,3},{5075,-12562,3},{5078,-12560,3},{5085,-12565,3}, {5087,-12560,3},{5085,-12557,3},{5087,-12555,3},{5093,-12550,3},{5105,-12555,3}, {5110,-12563,3},{5107,-12563,3},{5095,-12558,3},{5093,-12555,3},{5090,-12557,3}, {5090,-12562,3},{5087,-12568,3},{5082,-12568,3},{5080,-12563,3},{5078,-12565,3}, {5077,-12570,3},{5070,-12575,3},{5070,-12585,3},{5068,-12593,3},{5070,-12597,3}, {5070,-12600,3},{5068,-12605,3},{5067,-12620,3},{5067,-12622,3},{5070,-12622,3}, {5072,-12617,3},{5080,-12602,3},{5077,-12615,3},{5080,-12620,3},{5087,-12618,3}, {5085,-12622,3},{5085,-12623,3},{5087,-12623,3},{5085,-12638,3},{5082,-12643,3}, {5082,-12650,3},{5083,-12655,3},{5088,-12655,3},{5092,-12650,3},{5090,-12623,3}, {5092,-12618,3},{5093,-12617,3},{5095,-12618,3},{5092,-12625,3},{5095,-12647,3}, {5098,-12650,3},{5107,-12652,3},{5102,-12655,3},{5093,-12652,3},{5090,-12657,3}, {5088,-12665,3},{5087,-12667,3},{5088,-12672,3},{5093,-12685,3},{5090,-12690,3}, {5090,-12703,3},{5093,-12712,3},{5093,-12718,3},{5092,-12717,3},{5088,-12707,3}, {5088,-12692,3},{5082,-12702,3},{5087,-12713,3},{5088,-12722,3},{5092,-12725,3}, {5093,-12740,3},{5095,-12743,3},{5097,-12742,3},{5098,-12742,3},{5098,-12748,3}, {5100,-12753,3},{5110,-12750,3},{5110,-12748,3},{5112,-12750,3},{5108,-12763,3}, {5110,-12768,3},{5112,-12767,3},{5113,-12770,3},{5113,-12775,3},{5117,-12778,3}, {5123,-12778,3},{5125,-12775,3},{5130,-12757,3},{5128,-12743,3},{5127,-12737,3}, {5128,-12723,3},{5133,-12713,3},{5138,-12712,3},{5132,-12718,3},{5130,-12728,3}, {5132,-12752,3},{5135,-12745,3},{5135,-12747,3},{5133,-12757,3},{5133,-12778,3}, {5137,-12778,3},{5138,-12773,3},{5138,-12767,3},{5147,-12760,3},{5147,-12755,3}, {5150,-12755,3},{5152,-12752,3},{5158,-12752,3},{5162,-12750,3},{5165,-12738,3}, {5167,-12710,3},{5165,-12692,3},{5163,-12670,3},{5165,-12665,3},{5167,-12665,3}, {5168,-12662,3},{5172,-12660,3},{5180,-12667,3},{5172,-12663,3},{5167,-12670,3}, {5168,-12700,3},{5170,-12705,3},{5168,-12720,3},{5168,-12727,3},{5172,-12733,3}, {5168,-12737,3},{5167,-12742,3},{5167,-12743,3},{5175,-12743,3},{5177,-12737,3}, {5187,-12735,3},{5178,-12740,3},{5177,-12745,3},{5170,-12747,3},{5170,-12765,3}, {5168,-12758,3},{5167,-12747,3},{5165,-12750,3},{5163,-12753,3},{5157,-12758,3}, {5153,-12757,3},{5147,-12763,3},{5145,-12770,3},{5150,-12777,3},{5152,-12765,3}, {5153,-12768,3},{5153,-12780,3},{5160,-12780,3},{5160,-12783,3},{5163,-12783,3}, {5167,-12788,3},{5173,-12787,3},{5180,-12788,3},{5190,-12787,3},{5193,-12778,3}, {5195,-12767,3},{5205,-12765,3},{5213,-12758,3},{5215,-12750,3},{5215,-12747,3}, {5213,-12747,3},{5212,-12747,3},{5210,-12750,3},{5210,-12758,3},{5203,-12762,3}, {5203,-12758,3},{5208,-12755,3},{5208,-12742,3},{5218,-12745,3},{5218,-12740,3}, {5222,-12737,3},{5223,-12728,3},{5225,-12725,3},{5232,-12717,3},{5230,-12700,3}, {5225,-12693,3},{5220,-12693,3},{5208,-12675,3},{5198,-12667,3},{5203,-12667,3}, {5212,-12675,3},{5220,-12690,3},{5225,-12690,3},{5230,-12693,3},{5233,-12693,3}, {5235,-12687,3},{5237,-12673,3},{5240,-12680,3},{5237,-12692,3},{5233,-12698,3}, {5235,-12713,3},{5238,-12718,3},{5242,-12718,3},{5245,-12723,3},{5252,-12723,3}, {5262,-12707,3},{5263,-12698,3},{5272,-12692,3},{5283,-12697,3},{5288,-12707,3}, {5282,-12700,3},{5270,-12698,3},{5265,-12705,3},{5263,-12708,3},{5255,-12725,3}, {5250,-12728,3},{5247,-12727,3},{5240,-12745,3},{5233,-12753,3},{5232,-12760,3}, {5230,-12762,3},{5230,-12768,3},{5227,-12773,3},{5228,-12775,3},{5230,-12775,3}, {5235,-12772,3},{5230,-12778,3},{5225,-12780,3},{5220,-12785,3},{5227,-12788,3}, {5230,-12793,3},{5235,-12792,3},{5237,-12783,3},{5245,-12792,3},{5250,-12787,3}, {5252,-12788,3},{5248,-12792,3},{5243,-12793,3},{5238,-12788,3},{5232,-12797,3}, {5233,-12802,3},{5240,-12805,3},{5247,-12807,3},{5252,-12797,3},{5250,-12793,3}, {5253,-12793,3},{5255,-12788,3},{5258,-12788,3},{5255,-12793,3},{5253,-12803,3}, {5250,-12810,3},{5243,-12815,3},{5242,-12815,3},{5238,-12820,3},{5227,-12828,3}, {5228,-12840,3},{5233,-12833,3},{5237,-12833,3},{5240,-12830,3},{5240,-12825,3}, {5247,-12822,3},{5257,-12823,3},{5267,-12818,3},{5275,-12812,3},{5288,-12813,3}, {5292,-12803,3},{5292,-12813,3},{5285,-12817,3},{5283,-12822,3},{5282,-12823,3}, {5280,-12827,3},{5282,-12837,3},{5283,-12838,3},{5282,-12843,3},{5287,-12848,3}, {5292,-12850,3},{5307,-12853,3},{5310,-12850,3},{5310,-12853,3},{5312,-12855,3}, {5313,-12848,3},{5315,-12857,3},{5323,-12867,3},{5318,-12867,3},{5328,-12887,3}, {5333,-12888,3},{5337,-12885,3},{5337,-12888,3},{5340,-12887,3},{5343,-12888,3}, {5348,-12883,3},{5348,-12885,3},{5348,-12888,3},{5345,-12892,3},{5348,-12893,3}, {5355,-12897,3},{5353,-12887,3},{5357,-12882,3},{5355,-12878,3},{5350,-12875,3}, {5348,-12872,3},{5345,-12867,3},{5348,-12870,3},{5347,-12865,3},{5338,-12850,3}, {5335,-12850,3},{5333,-12848,3},{5338,-12847,3},{5340,-12850,3},{5343,-12848,3}, {5345,-12837,3},{5348,-12835,3},{5345,-12823,3},{5347,-12818,3},{5345,-12815,3}, {5343,-12810,3},{5340,-12807,3},{5333,-12810,3},{5337,-12805,3},{5333,-12795,3}, {5325,-12795,3},{5322,-12787,3},{5323,-12787,3},{5328,-12793,3},{5333,-12792,3}, {5340,-12805,3},{5347,-12812,3},{5348,-12812,3},{5347,-12825,3},{5350,-12837,3}, {5348,-12838,3},{5347,-12838,3},{5343,-12852,3},{5347,-12858,3},{5348,-12860,3}, {5350,-12863,3},{5352,-12868,3},{5355,-12870,3},{5357,-12875,3},{5362,-12882,3}, {5365,-12882,3},{5372,-12877,3},{5377,-12880,3},{5380,-12877,3},{5382,-12872,3}, {5382,-12868,3},{5385,-12868,3},{5387,-12865,3},{5383,-12860,3},{5383,-12847,3}, {5385,-12848,3},{5387,-12862,3},{5388,-12868,3},{5403,-12860,3},{5400,-12868,3}, {5393,-12872,3},{5392,-12875,3},{5392,-12878,3},{5388,-12880,3},{5387,-12883,3}, {5383,-12885,3},{5377,-12893,3},{5385,-12890,3},{5382,-12893,3},{5388,-12895,3}, {5390,-12900,3},{5387,-12897,3},{5378,-12897,3},{5377,-12900,3},{5378,-12903,3}, {5382,-12905,3},{5378,-12907,3},{5377,-12903,3},{5375,-12903,3},{5372,-12912,3}, {5367,-12915,3},{5363,-12923,3},{5353,-12923,3},{5352,-12927,3},{5350,-12923,3}, {5343,-12923,3},{5340,-12927,3},{5338,-12927,3},{5340,-12935,3},{5357,-12960,3}, {5368,-12973,3},{5368,-12970,3},{5370,-12972,3},{5372,-12978,3},{5375,-12982,3}, {5375,-12985,3},{5385,-12998,3},{5388,-12997,3},{5387,-13000,3},{5388,-13005,3}, {5395,-13010,3},{5402,-13008,3},{5407,-13008,3},{5415,-13005,3},{5415,-12995,3}, {5403,-12983,3},{5400,-12975,3},{5395,-12972,3},{5400,-12973,3},{5402,-12978,3}, {5405,-12983,3},{5415,-12992,3},{5418,-12993,3},{5422,-12983,3},{5418,-12963,3}, {5418,-12960,3},{5422,-12955,3},{5423,-12947,3},{5423,-12953,3},{5420,-12962,3}, {5422,-12968,3},{5423,-12987,3},{5418,-13002,3},{5418,-13008,3},{5415,-13012,3}, {5420,-13018,3},{5420,-13027,3},{5423,-13028,3},{5427,-13020,3},{5428,-13023,3}, {5433,-13027,3},{5440,-13025,3},{5435,-13028,3},{5433,-13035,3},{5433,-13047,3}, {5437,-13048,3},{5443,-13047,3},{5445,-13038,3},{5450,-13043,3},{5457,-13043,3}, {5457,-13038,3},{5462,-13043,3},{5463,-13043,3},{5460,-13035,3},{5433,-13005,3}, {5432,-12998,3},{5433,-12997,3},{5435,-13003,3},{5440,-13008,3},{5448,-13007,3}, {5448,-13000,3},{5452,-12998,3},{5450,-13007,3},{5443,-13008,3},{5443,-13012,3}, {5452,-13023,3},{5458,-13028,3},{5463,-13037,3},{5467,-13037,3},{5468,-13033,3}, {5472,-13023,3},{5470,-13017,3},{5467,-13012,3},{5467,-13008,3},{5463,-13005,3}, {5462,-12998,3},{5462,-12988,3},{5463,-12987,3},{5463,-13000,3},{5470,-13008,3}, {5473,-13020,3},{5482,-13015,3},{5483,-13010,3},{5488,-13005,3},{5488,-13008,3}, {5485,-13013,3},{5485,-13017,3},{5497,-13003,3},{5497,-12995,3},{5492,-12998,3}, {5498,-12982,3},{5497,-12977,3},{5498,-12965,3},{5500,-12962,3},{5500,-12978,3}, {5500,-12997,3},{5502,-13000,3},{5510,-12997,3},{5517,-12987,3},{5525,-12982,3}, {5528,-12975,3},{5532,-12973,3},{5537,-12968,3},{5543,-12965,3},{5545,-12960,3}, {5543,-12952,3},{5547,-12947,3},{5548,-12948,3},{5545,-12953,3},{5545,-12963,3}, {5540,-12970,3},{5547,-12972,3},{5563,-12982,3},{5553,-12980,3},{5548,-12977,3}, {5542,-12978,3},{5538,-12983,3},{5537,-12983,3},{5540,-12980,3},{5537,-12982,3}, {5537,-12978,3},{5532,-12983,3},{5528,-12982,3},{5523,-12988,3},{5517,-12992,3}, {5508,-13002,3},{5505,-13002,3},{5500,-13007,3},{5500,-13012,3},{5507,-13017,3}, {5518,-13008,3},{5528,-12995,3},{5535,-13000,3},{5547,-13002,3},{5555,-13010,3}, {5567,-13007,3},{5572,-13013,3},{5578,-13010,3},{5592,-12997,3},{5593,-12997,3}, {5592,-13000,3},{5603,-13002,3},{5612,-13008,3},{5608,-13023,3},{5612,-13028,3}, {5613,-13042,3},{5623,-13047,3},{5625,-13063,3},{5637,-13077,3},{5640,-13105,3}, {5660,-13155,3},{5660,-13182,3},{5668,-13183,3},{5675,-13188,3},{5680,-13187,3}, {5687,-13210,3},{5703,-13203,3},{5708,-13233,3},{5720,-13223,3},{5738,-13238,3}, {5752,-13257,3},{5787,-13288,3},{5800,-13305,3},{5813,-13313,3},{5828,-13337,3}, {5838,-13345,3},{5842,-13337,3},{5860,-13368,3},{5873,-13383,3},{5885,-13425,3}, {5893,-13433,3},{5897,-13432,3},{5898,-13440,3},{5905,-13438,3},{5913,-13447,3}, {5913,-13457,3},{5920,-13467,3},{5925,-13468,3},{5928,-13495,3},{5935,-13502,3}, {5938,-13498,3},{5943,-13508,3},{5945,-13507,3},{5947,-13502,3},{5957,-13502,3}, {5962,-13510,3},{5963,-13518,3},{5970,-13523,3},{5973,-13533,3},{5980,-13547,3}, {5967,-13595,3},{5963,-13620,3},{5960,-13635,3},{5957,-13623,3},{5953,-13623,3}, {5947,-13630,3},{5945,-13637,3},{5947,-13647,3},{5928,-13647,3},{5917,-13658,3}, {5915,-13683,3},{5898,-13730,3},{5890,-13745,3},{5893,-13750,3},{5900,-13748,3}, {5923,-13758,3},{5977,-13862,3},{5990,-13868,3},{6000,-13905,3},{6008,-13918,3}, {6032,-13907,3},{6035,-13907,3},{6033,-13968,3},{6018,-13998,3},{6032,-14045,3}, {6022,-14052,3},{6030,-14100,3},{6037,-14100,3},{6043,-14100,3},{6050,-14100,3}, {6055,-14100,3},{6062,-14100,3},{6067,-14100,3},{6073,-14100,3},{6080,-14100,3}, {6087,-14100,3},{6093,-14100,3},{6098,-14100,3},{6103,-14100,3},{6110,-14100,3}, {6117,-14100,3},{6123,-14100,3},{6128,-14100,3},{6137,-14100,3},{6143,-14100,3}, {6148,-14100,3},{6153,-14100,3},{6160,-14100,3},{6165,-14100,3},{6172,-14100,3}, {6177,-14100,3},{6183,-14100,3},{6190,-14100,3},{6197,-14100,3},{6203,-14100,3}, {6210,-14100,3},{6217,-14100,3},{6223,-14100,3},{6228,-14100,3},{6233,-14100,3}, {6240,-14100,3},{6247,-14100,3},{6253,-14100,3},{6260,-14100,3},{6267,-14100,3}, {6273,-14100,3},{6280,-14100,3},{6287,-14100,3},{6293,-14100,3},{6298,-14100,3}, {6305,-14100,3},{6310,-14100,3},{6317,-14100,3},{6323,-14100,3},{6330,-14100,3}, {6337,-14100,3},{6343,-14100,3},{6348,-14100,3},{6355,-14100,3},{6362,-14100,3}, {6367,-14100,3},{6373,-14100,3},{6380,-14100,3},{6387,-14100,3},{6393,-14100,3}, {6400,-14100,3},{6407,-14100,3},{6412,-14100,3},{6417,-14100,3},{6423,-14100,3}, {6430,-14100,3},{6437,-14100,3},{6443,-14100,3},{6448,-14100,3},{6455,-14100,3}, {6460,-14100,3},{6467,-14100,3},{6473,-14100,3},{6480,-14100,3},{6487,-14100,3}, {6493,-14100,3},{6500,-14100,3},{6507,-14100,3},{6513,-14100,3},{6520,-14100,3}, {6527,-14100,3},{6533,-14100,3},{6540,-14100,3},{6547,-14100,3},{6553,-14100,3}, {6558,-14100,3},{6565,-14100,3},{6570,-14100,3},{6577,-14100,3},{6583,-14100,3}, {6590,-14100,3},{6595,-14100,3},{6603,-14100,3},{6610,-14100,3},{6617,-14100,3}, {6623,-14100,3},{6630,-14100,3},{6637,-14100,3},{6642,-14100,3},{6647,-14100,3}, {6653,-14100,3},{6660,-14100,3},{6667,-14100,3},{6673,-14100,3},{6680,-14100,3}, {6687,-14100,3},{6693,-14100,3},{6700,-14100,3},{6705,-14100,3},{6710,-14100,3}, {6717,-14100,3},{6723,-14100,3},{6730,-14100,3},{6737,-14100,3},{6742,-14100,3}, {6747,-14100,3},{6753,-14100,3},{6760,-14100,3},{6767,-14100,3},{6772,-14100,3}, {6780,-14100,3},{6787,-14100,3},{6793,-14100,3},{6800,-14100,3},{6807,-14100,3}, {6813,-14100,3},{6820,-14100,3},{6827,-14100,3},{6833,-14100,3},{6840,-14100,3}, {6847,-14100,3},{6853,-14100,3},{6860,-14100,3},{6867,-14100,3},{6873,-14100,3}, {6880,-14100,3},{6887,-14100,3},{6892,-14100,3},{6900,-14100,3},{6907,-14100,3}, {6913,-14100,3},{6920,-14100,3},{6925,-14100,3},{6930,-14100,3},{6937,-14100,3}, {6943,-14100,3},{6950,-14100,3},{6957,-14100,3},{6962,-14100,3},{6965,-14100,3}, {6963,-14090,3},{6962,-14090,3},{6962,-14083,3},{6963,-14083,3},{6962,-14075,3}, {6960,-14040,3},{6960,-14027,3},{6962,-14010,3},{6962,-13988,3},{6957,-13958,3}, {6960,-13977,3},{6958,-13975,3},{6957,-13960,3},{6955,-13942,3},{6950,-13927,3}, {6950,-13913,3},{6942,-13897,3},{6935,-13877,3},{6928,-13865,3},{6923,-13860,3}, {6925,-13852,3},{6923,-13852,3},{6923,-13845,3},{6925,-13840,3},{6930,-13840,3}, {6928,-13845,3},{6930,-13840,3},{6930,-13835,3},{6923,-13833,3},{6917,-13822,3}, {6913,-13807,3},{6903,-13763,3},{6900,-13738,3},{6900,-13743,3},{6898,-13742,3}, {6897,-13728,3},{6895,-13725,3},{6895,-13702,3},{6892,-13697,3},{6892,-13688,3}, {6887,-13675,3},{6887,-13667,3},{6890,-13660,3},{6888,-13653,3},{6890,-13653,3}, {6892,-13648,3},{6890,-13642,3},{6888,-13620,3},{6888,-13612,3},{6883,-13582,3}, {6877,-13572,3},{6875,-13553,3},{6870,-13542,3},{6867,-13540,3},{6867,-13532,3}, {6868,-13530,3},{6865,-13517,3},{6868,-13522,3},{6868,-13518,3},{6873,-13533,3}, {6877,-13535,3},{6880,-13547,3},{6883,-13550,3},{6883,-13533,3},{6887,-13557,3}, {6888,-13562,3},{6893,-13523,3},{6888,-13517,3},{6890,-13510,3},{6888,-13498,3}, {6888,-13495,3},{6893,-13485,3},{6888,-13468,3},{6885,-13463,3},{6880,-13463,3}, {6875,-13450,3},{6872,-13447,3},{6868,-13432,3},{6870,-13422,3},{6877,-13430,3}, {6880,-13440,3},{6888,-13448,3},{6902,-13462,3},{6910,-13453,3},{6910,-13433,3}, {6915,-13432,3},{6917,-13423,3},{6922,-13422,3},{6927,-13415,3},{6928,-13390,3}, {6933,-13387,3},{6935,-13375,3},{6933,-13375,3},{6933,-13370,3},{6935,-13367,3}, {6937,-13368,3},{6938,-13368,3},{6940,-13355,3},{6940,-13322,3},{6942,-13318,3}, {6945,-13308,3},{6943,-13305,3},{6947,-13305,3},{6952,-13297,3},{6957,-13295,3}, {6960,-13298,3},{6965,-13290,3},{6965,-13278,3},{6963,-13278,3},{6965,-13263,3}, {6963,-13253,3},{6963,-13242,3},{6965,-13235,3},{6968,-13233,3},{6968,-13237,3}, {6965,-13245,3},{6968,-13242,3},{6970,-13245,3},{6967,-13257,3},{6968,-13262,3}, {6973,-13253,3},{6977,-13227,3},{6973,-13248,3},{6972,-13242,3},{6973,-13228,3}, {6972,-13232,3},{6968,-13213,3},{6972,-13210,3},{6973,-13198,3},{6977,-13192,3}, {6977,-13183,3},{6980,-13177,3},{6983,-13177,3},{6987,-13163,3},{6990,-13142,3}, {6992,-13145,3},{6995,-13142,3},{6993,-13123,3},{6988,-13120,3},{6985,-13122,3}, {6982,-13118,3},{6985,-13115,3},{6987,-13118,3},{6988,-13117,3},{6990,-13113,3}, {6988,-13108,3},{7000,-13100,3},{7002,-13093,3},{7003,-13093,3},{7003,-13102,3}, {7010,-13090,3},{7007,-13090,3},{7010,-13080,3},{7010,-13077,3},{7013,-13075,3}, {7012,-13070,3},{7008,-13073,3},{7010,-13065,3},{7013,-13065,3},{7013,-13058,3}, {7017,-13055,3},{7017,-13047,3},{7017,-13052,3},{7010,-13053,3},{7012,-13048,3}, {7013,-13050,3},{7013,-13042,3},{7017,-13040,3},{7013,-13037,3},{7013,-13032,3}, {7010,-13033,3},{7010,-13028,3},{7008,-13033,3},{7008,-13022,3},{7010,-13017,3}, {7005,-13018,3},{7012,-13010,3},{7010,-13007,3},{7007,-13008,3},{7010,-12993,3}, {7007,-12998,3},{7008,-12990,3},{7010,-12985,3},{7015,-12985,3},{7018,-12978,3}, {7020,-12983,3},{7022,-12978,3},{7022,-12973,3},{7025,-12973,3},{7027,-12967,3}, {7018,-12958,3},{7017,-12963,3},{7015,-12947,3},{7012,-12950,3},{7010,-12947,3}, {7013,-12943,3},{7012,-12940,3},{7005,-12947,3},{7005,-12955,3},{7002,-12950,3}, {6990,-13000,3},{6985,-13020,3},{6983,-13025,3},{6985,-13030,3},{6977,-13048,3}, {6978,-13052,3},{6970,-13058,3},{6968,-13078,3},{6960,-13085,3},{6960,-13088,3}, {6957,-13093,3},{6960,-13103,3},{6963,-13103,3},{6963,-13118,3},{6960,-13125,3}, {6960,-13133,3},{6957,-13133,3},{6958,-13142,3},{6957,-13152,3},{6958,-13165,3}, {6953,-13165,3},{6957,-13173,3},{6953,-13188,3},{6953,-13200,3},{6948,-13208,3}, {6945,-13205,3},{6945,-13210,3},{6942,-13210,3},{6942,-13213,3},{6938,-13208,3}, {6937,-13210,3},{6932,-13233,3},{6925,-13232,3},{6930,-13238,3},{6930,-13245,3}, {6925,-13243,3},{6923,-13248,3},{6917,-13248,3},{6928,-13255,3},{6928,-13262,3}, {6925,-13267,3},{6927,-13272,3},{6923,-13278,3},{6922,-13283,3},{6918,-13283,3}, {6912,-13290,3},{6910,-13288,3},{6910,-13283,3},{6907,-13290,3},{6898,-13288,3}, {6900,-13293,3},{6908,-13293,3},{6905,-13300,3},{6907,-13308,3},{6905,-13312,3}, {6903,-13320,3},{6898,-13320,3},{6897,-13325,3},{6895,-13322,3},{6892,-13323,3}, {6887,-13332,3},{6888,-13340,3},{6892,-13337,3},{6888,-13347,3},{6885,-13343,3}, {6885,-13348,3},{6880,-13347,3},{6875,-13332,3},{6873,-13323,3},{6872,-13320,3}, {6868,-13303,3},{6868,-13292,3},{6872,-13293,3},{6872,-13315,3},{6873,-13317,3}, {6875,-13325,3},{6878,-13327,3},{6875,-13317,3},{6877,-13313,3},{6880,-13325,3}, {6878,-13333,3},{6885,-13338,3},{6887,-13323,3},{6885,-13318,3},{6880,-13310,3}, {6880,-13307,3},{6882,-13305,3},{6880,-13293,3},{6885,-13297,3},{6885,-13285,3}, {6878,-13272,3},{6880,-13270,3},{6883,-13273,3},{6880,-13248,3},{6883,-13247,3}, {6883,-13242,3},{6887,-13240,3},{6892,-13255,3},{6890,-13257,3},{6888,-13250,3}, {6890,-13260,3},{6887,-13265,3},{6885,-13263,3},{6883,-13268,3},{6885,-13278,3}, {6887,-13278,3},{6888,-13270,3},{6890,-13280,3},{6892,-13283,3},{6893,-13278,3}, {6893,-13268,3},{6898,-13285,3},{6903,-13287,3},{6903,-13283,3},{6907,-13287,3}, {6908,-13280,3},{6908,-13267,3},{6913,-13257,3},{6913,-13250,3},{6923,-13242,3}, {6915,-13242,3},{6910,-13247,3},{6913,-13238,3},{6923,-13232,3},{6922,-13228,3}, {6918,-13235,3},{6918,-13232,3},{6922,-13220,3},{6913,-13222,3},{6923,-13217,3}, {6923,-13208,3},{6925,-13197,3},{6932,-13192,3},{6932,-13188,3},{6928,-13192,3}, {6928,-13187,3},{6940,-13172,3},{6938,-13180,3},{6937,-13185,3},{6940,-13188,3}, {6940,-13195,3},{6940,-13197,3},{6943,-13187,3},{6942,-13183,3},{6943,-13177,3}, {6942,-13165,3},{6945,-13168,3},{6947,-13165,3},{6943,-13142,3},{6940,-13148,3}, {6935,-13148,3},{6933,-13153,3},{6937,-13142,3},{6942,-13140,3},{6942,-13135,3}, {6945,-13137,3},{6945,-13133,3},{6950,-13132,3},{6940,-13125,3},{6950,-13127,3}, {6950,-13123,3},{6947,-13123,3},{6938,-13122,3},{6937,-13132,3},{6930,-13142,3}, {6932,-13132,3},{6937,-13125,3},{6937,-13120,3},{6938,-13117,3},{6950,-13117,3}, {6958,-13125,3},{6952,-13115,3},{6952,-13112,3},{6937,-13113,3},{6948,-13107,3}, {6952,-13107,3},{6958,-13120,3},{6962,-13113,3},{6960,-13108,3},{6957,-13110,3}, {6947,-13103,3},{6932,-13112,3},{6937,-13103,3},{6947,-13097,3},{6955,-13098,3}, {6953,-13095,3},{6942,-13093,3},{6935,-13105,3},{6932,-13103,3},{6940,-13093,3}, {6938,-13090,3},{6932,-13092,3},{6927,-13100,3},{6913,-13102,3},{6913,-13092,3}, {6917,-13095,3},{6927,-13095,3},{6935,-13080,3},{6937,-13082,3},{6940,-13077,3}, {6940,-13068,3},{6945,-13065,3},{6945,-13075,3},{6958,-13045,3},{6962,-13045,3}, {6968,-13033,3},{6970,-13037,3},{6972,-13015,3},{6975,-12995,3},{6978,-12968,3}, {6982,-12960,3},{6987,-12910,3},{6988,-12903,3},{6995,-12897,3},{6997,-12892,3}, {6995,-12885,3},{6995,-12890,3},{6992,-12890,3},{6988,-12895,3},{6985,-12893,3}, {6985,-12913,3},{6982,-12917,3},{6975,-12913,3},{6970,-12915,3},{6967,-12898,3}, {6968,-12892,3},{6972,-12897,3},{6973,-12897,3},{6975,-12880,3},{6987,-12860,3}, {6993,-12840,3},{6995,-12832,3},{7000,-12830,3},{7010,-12837,3},{7012,-12835,3}, {7018,-12812,3},{7018,-12797,3},{7020,-12787,3},{7022,-12772,3},{7023,-12762,3}, {7022,-12752,3},{7025,-12760,3},{7028,-12803,3},{7037,-12812,3},{7035,-12797,3}, {7037,-12793,3},{7040,-12792,3},{7037,-12803,3},{7037,-12817,3},{7038,-12820,3}, {7052,-12813,3},{7058,-12800,3},{7042,-12747,3},{7027,-12717,3},{7007,-12692,3}, {7002,-12690,3},{6997,-12677,3},{6995,-12680,3},{6993,-12677,3},{6990,-12682,3}, {6977,-12670,3},{6953,-12625,3},{6940,-12590,3},{6938,-12577,3},{6938,-12567,3}, {6935,-12558,3},{6932,-12543,3},{6935,-12537,3},{6937,-12538,3},{6938,-12545,3}, {6942,-12545,3},{6940,-12545,3},{6938,-12520,3},{6938,-12513,3},{6942,-12512,3}, {6943,-12513,3},{6945,-12508,3},{6945,-12515,3},{6947,-12512,3},{6947,-12523,3}, {6945,-12527,3},{6945,-12530,3},{6947,-12530,3},{6945,-12535,3},{6947,-12543,3}, {6942,-12562,3},{6947,-12558,3},{6948,-12555,3},{6947,-12550,3},{6950,-12552,3}, {6952,-12547,3},{6950,-12533,3},{6952,-12533,3},{6952,-12528,3},{6948,-12512,3}, {6953,-12527,3},{6955,-12530,3},{6958,-12522,3},{6962,-12543,3},{6962,-12537,3}, {6963,-12542,3},{6968,-12537,3},{6970,-12522,3},{6975,-12507,3},{6973,-12497,3}, {6965,-12493,3},{6968,-12487,3},{6972,-12487,3},{6972,-12482,3},{6975,-12490,3}, {6975,-12502,3},{6978,-12515,3},{6977,-12523,3},{6980,-12528,3},{6985,-12518,3}, {6980,-12517,3},{6980,-12505,3},{6987,-12502,3},{6993,-12490,3},{6997,-12472,3}, {6998,-12470,3},{6997,-12467,3},{6998,-12463,3},{7002,-12468,3},{6997,-12475,3}, {6998,-12485,3},{7002,-12480,3},{7002,-12483,3},{7002,-12492,3},{7000,-12492,3}, {7000,-12498,3},{6998,-12505,3},{6997,-12505,3},{6997,-12512,3},{6993,-12512,3}, {6993,-12518,3},{6993,-12522,3},{6997,-12518,3},{7000,-12520,3},{7008,-12500,3}, {7007,-12497,3},{7003,-12500,3},{7003,-12505,3},{7002,-12502,3},{7003,-12487,3}, {7003,-12495,3},{7007,-12483,3},{7005,-12480,3},{7007,-12463,3},{7002,-12458,3}, {7002,-12453,3},{7003,-12455,3},{7005,-12453,3},{7003,-12443,3},{7008,-12445,3}, {7008,-12457,3},{7010,-12450,3},{7012,-12455,3},{7008,-12473,3},{7010,-12468,3}, {7012,-12475,3},{7015,-12470,3},{7015,-12455,3},{7015,-12452,3},{7015,-12440,3}, {7012,-12445,3},{7007,-12435,3},{7002,-12438,3},{7000,-12450,3},{7000,-12442,3}, {6998,-12443,3},{6997,-12453,3},{6995,-12443,3},{6992,-12443,3},{6992,-12450,3}, {6990,-12450,3},{6988,-12445,3},{6987,-12445,3},{6985,-12440,3},{6978,-12450,3}, {6973,-12450,3},{6970,-12430,3},{6973,-12420,3},{6972,-12410,3},{6972,-12407,3}, {6970,-12403,3},{6967,-12405,3},{6962,-12420,3},{6955,-12423,3},{6947,-12442,3}, {6942,-12442,3},{6940,-12452,3},{6937,-12447,3},{6935,-12433,3},{6935,-12410,3}, {6938,-12405,3},{6935,-12403,3},{6935,-12398,3},{6938,-12402,3},{6940,-12398,3}, {6937,-12388,3},{6938,-12383,3},{6937,-12380,3},{6938,-12375,3},{6937,-12370,3}, {6935,-12368,3},{6938,-12348,3},{6942,-12338,3},{6945,-12345,3},{6948,-12340,3}, {6950,-12327,3},{6950,-12325,3},{6950,-12317,3},{6957,-12313,3},{6962,-12317,3}, {6967,-12310,3},{6975,-12312,3},{6977,-12315,3},{6983,-12297,3},{6980,-12280,3}, {6980,-12275,3},{6983,-12275,3},{6982,-12270,3},{6980,-12245,3},{6982,-12233,3}, {6980,-12218,3},{6982,-12207,3},{6982,-12193,3},{6980,-12168,3},{6977,-12158,3}, {6977,-12145,3},{6967,-12108,3},{6962,-12083,3},{6952,-12062,3},{6938,-12023,3}, {6935,-11997,3},{6933,-11978,3},{6932,-11963,3},{6930,-11923,3},{6927,-11907,3}, {6925,-11883,3},{6922,-11865,3},{6912,-11845,3},{6908,-11827,3},{6902,-11803,3}, {6898,-11787,3},{6895,-11738,3},{6888,-11715,3},{6890,-11705,3},{6890,-11697,3}, {6893,-11700,3},{6893,-11698,3},{6893,-11693,3},{6888,-11683,3},{6885,-11650,3}, {6887,-11642,3},{6888,-11638,3},{6883,-11622,3},{6880,-11597,3},{6882,-11595,3}, {6887,-11612,3},{6888,-11608,3},{6893,-11628,3},{6897,-11633,3},{6898,-11623,3}, {6897,-11607,3},{6892,-11587,3},{6893,-11583,3},{6893,-11577,3},{6897,-11585,3}, {6900,-11593,3},{6897,-11570,3},{6897,-11560,3},{6890,-11532,3},{6890,-11523,3}, {6885,-11508,3},{6887,-11507,3},{6887,-11498,3},{6880,-11480,3},{6875,-11473,3}, {6873,-11458,3},{6868,-11445,3},{6867,-11447,3},{6862,-11440,3},{6857,-11418,3}, {6853,-11417,3},{6852,-11410,3},{6847,-11407,3},{6843,-11405,3},{6842,-11413,3}, {6840,-11410,3},{6838,-11405,3},{6840,-11400,3},{6843,-11397,3},{6840,-11390,3}, {6838,-11395,3},{6832,-11405,3},{6823,-11402,3},{6825,-11420,3},{6823,-11427,3}, {6823,-11437,3},{6827,-11445,3},{6825,-11470,3},{6825,-11482,3},{6828,-11497,3}, {6823,-11487,3},{6818,-11475,3},{6818,-11483,3},{6815,-11490,3},{6818,-11523,3}, {6813,-11517,3},{6808,-11523,3},{6803,-11523,3},{6802,-11512,3},{6798,-11520,3}, {6793,-11553,3},{6790,-11553,3},{6788,-11552,3},{6788,-11540,3},{6788,-11525,3}, {6787,-11528,3},{6782,-11518,3},{6782,-11512,3},{6780,-11510,3},{6778,-11502,3}, {6780,-11492,3},{6782,-11475,3},{6780,-11467,3},{6777,-11458,3},{6778,-11453,3}, {6775,-11445,3},{6772,-11428,3},{6773,-11418,3},{6772,-11397,3},{6768,-11385,3}, {6770,-11322,3},{6767,-11305,3},{6768,-11285,3},{6767,-11272,3},{6768,-11238,3}, {6770,-11233,3},{6773,-11237,3},{6773,-11233,3},{6773,-11220,3},{6773,-11200,3}, {6770,-11198,3},{6768,-11190,3},{6770,-11187,3},{6772,-11193,3},{6773,-11190,3}, {6775,-11192,3},{6775,-11180,3},{6772,-11153,3},{6775,-11157,3},{6777,-11153,3}, {6777,-11147,3},{6773,-11147,3},{6775,-11140,3},{6780,-11132,3},{6783,-11118,3}, {6783,-11115,3},{6780,-11120,3},{6778,-11117,3},{6775,-11120,3},{6778,-11108,3}, {6777,-11103,3},{6780,-11083,3},{6787,-11073,3},{6788,-11065,3},{6788,-11057,3}, {6795,-11040,3},{6795,-11033,3},{6797,-11033,3},{6795,-11023,3},{6792,-11018,3}, {6792,-11013,3},{6797,-11020,3},{6800,-11017,3},{6800,-11008,3},{6795,-10997,3}, {6787,-11000,3},{6783,-10998,3},{6783,-10992,3},{6788,-10993,3},{6787,-10982,3}, {6780,-10970,3},{6778,-10975,3},{6773,-10962,3},{6773,-10975,3},{6772,-10973,3}, {6768,-10953,3},{6770,-10948,3},{6772,-10950,3},{6773,-10950,3},{6777,-10940,3}, {6773,-10940,3},{6773,-10935,3},{6772,-10907,3},{6767,-10900,3},{6757,-10897,3}, {6753,-10892,3},{6750,-10902,3},{6747,-10902,3},{6743,-10898,3},{6743,-10893,3}, {6740,-10893,3},{6742,-10887,3},{6735,-10882,3},{6737,-10878,3},{6745,-10875,3}, {6760,-10873,3},{6763,-10868,3},{6762,-10862,3},{6760,-10858,3},{6758,-10858,3}, {6748,-10852,3},{6735,-10848,3},{6735,-10843,3},{6743,-10843,3},{6745,-10840,3}, {6743,-10835,3},{6740,-10830,3},{6730,-10802,3},{6713,-10787,3},{6713,-10792,3}, {6705,-10788,3},{6708,-10803,3},{6707,-10808,3},{6708,-10815,3},{6702,-10822,3}, {6705,-10833,3},{6708,-10847,3},{6715,-10860,3},{6705,-10853,3},{6703,-10850,3}, {6703,-10848,3},{6707,-10847,3},{6703,-10842,3},{6698,-10833,3},{6695,-10815,3}, {6692,-10812,3},{6687,-10812,3},{6685,-10823,3},{6683,-10817,3},{6685,-10807,3}, {6683,-10798,3},{6678,-10793,3},{6672,-10795,3},{6667,-10788,3},{6673,-10785,3}, {6677,-10788,3},{6675,-10783,3},{6665,-10768,3},{6663,-10772,3},{6657,-10765,3}, {6653,-10755,3},{6655,-10753,3},{6655,-10752,3},{6647,-10745,3},{6643,-10735,3}, {6635,-10725,3},{6637,-10720,3},{6640,-10723,3},{6650,-10742,3},{6655,-10745,3}, {6658,-10757,3},{6670,-10765,3},{6677,-10780,3},{6675,-10772,3},{6677,-10768,3}, {6695,-10777,3},{6702,-10775,3},{6697,-10763,3},{6697,-10760,3},{6708,-10765,3}, {6702,-10752,3},{6692,-10748,3},{6693,-10760,3},{6695,-10767,3},{6693,-10770,3}, {6688,-10763,3},{6687,-10760,3},{6690,-10758,3},{6687,-10753,3},{6683,-10757,3}, {6682,-10752,3},{6685,-10748,3},{6683,-10747,3},{6680,-10743,3},{6682,-10742,3}, {6688,-10748,3},{6688,-10740,3},{6697,-10745,3},{6697,-10742,3},{6688,-10722,3}, {6682,-10713,3},{6682,-10708,3},{6697,-10723,3},{6703,-10740,3},{6707,-10735,3}, {6707,-10725,3},{6710,-10725,3},{6712,-10720,3},{6712,-10730,3},{6715,-10738,3}, {6720,-10750,3},{6732,-10760,3},{6742,-10772,3},{6743,-10772,3},{6740,-10765,3}, {6742,-10763,3},{6750,-10758,3},{6770,-10800,3},{6777,-10802,3},{6785,-10793,3}, {6790,-10770,3},{6793,-10765,3},{6797,-10777,3},{6795,-10780,3},{6798,-10783,3}, {6798,-10792,3},{6808,-10788,3},{6810,-10785,3},{6808,-10780,3},{6807,-10770,3}, {6805,-10773,3},{6805,-10782,3},{6803,-10780,3},{6803,-10773,3},{6802,-10783,3}, {6798,-10778,3},{6798,-10773,3},{6802,-10773,3},{6805,-10768,3},{6807,-10758,3}, {6805,-10735,3},{6813,-10715,3},{6813,-10712,3},{6808,-10712,3},{6810,-10702,3}, {6808,-10697,3},{6812,-10695,3},{6810,-10677,3},{6815,-10675,3},{6822,-10680,3}, {6822,-10678,3},{6822,-10675,3},{6822,-10668,3},{6820,-10670,3},{6817,-10665,3}, {6822,-10663,3},{6825,-10662,3},{6818,-10647,3},{6815,-10643,3},{6818,-10640,3}, {6818,-10635,3},{6823,-10650,3},{6830,-10642,3},{6833,-10647,3},{6835,-10643,3}, {6835,-10633,3},{6840,-10622,3},{6837,-10612,3},{6840,-10605,3},{6840,-10598,3}, {6842,-10597,3},{6840,-10592,3},{6842,-10585,3},{6845,-10582,3},{6842,-10578,3}, {6842,-10573,3},{6848,-10570,3},{6855,-10577,3},{6863,-10565,3},{6863,-10573,3}, {6862,-10578,3},{6863,-10588,3},{6862,-10603,3},{6860,-10607,3},{6852,-10655,3}, {6852,-10642,3},{6850,-10655,3},{6847,-10650,3},{6845,-10653,3},{6847,-10658,3}, {6847,-10663,3},{6842,-10660,3},{6842,-10650,3},{6840,-10648,3},{6835,-10657,3}, {6830,-10653,3},{6828,-10655,3},{6830,-10660,3},{6835,-10665,3},{6835,-10672,3}, {6837,-10672,3},{6842,-10680,3},{6837,-10680,3},{6838,-10693,3},{6837,-10702,3}, {6833,-10703,3},{6830,-10713,3},{6827,-10713,3},{6827,-10727,3},{6832,-10733,3}, {6832,-10748,3},{6835,-10757,3},{6833,-10773,3},{6833,-10783,3},{6827,-10788,3}, {6823,-10775,3},{6820,-10773,3},{6818,-10762,3},{6817,-10760,3},{6818,-10778,3}, {6817,-10787,3},{6815,-10790,3},{6815,-10802,3},{6817,-10798,3},{6817,-10800,3}, {6817,-10820,3},{6812,-10837,3},{6813,-10843,3},{6817,-10840,3},{6817,-10837,3}, {6813,-10837,3},{6817,-10833,3},{6823,-10835,3},{6822,-10840,3},{6818,-10840,3}, {6818,-10845,3},{6828,-10840,3},{6830,-10845,3},{6830,-10850,3},{6825,-10858,3}, {6825,-10870,3},{6823,-10872,3},{6827,-10882,3},{6830,-10873,3},{6835,-10873,3}, {6840,-10858,3},{6860,-10835,3},{6862,-10828,3},{6865,-10775,3},{6868,-10753,3}, {6870,-10730,3},{6873,-10718,3},{6882,-10682,3},{6882,-10665,3},{6885,-10658,3}, {6890,-10627,3},{6893,-10622,3},{6888,-10595,3},{6888,-10580,3},{6872,-10547,3}, {6865,-10555,3},{6852,-10540,3},{6852,-10533,3},{6847,-10532,3},{6850,-10542,3}, {6847,-10547,3},{6845,-10553,3},{6842,-10553,3},{6842,-10533,3},{6837,-10535,3}, {6833,-10530,3},{6825,-10505,3},{6827,-10500,3},{6830,-10508,3},{6832,-10500,3}, {6832,-10493,3},{6835,-10490,3},{6830,-10483,3},{6827,-10487,3},{6825,-10495,3}, {6823,-10493,3},{6822,-10490,3},{6823,-10485,3},{6827,-10482,3},{6825,-10480,3}, {6823,-10460,3},{6813,-10467,3},{6813,-10460,3},{6808,-10460,3},{6807,-10450,3}, {6803,-10450,3},{6803,-10437,3},{6805,-10430,3},{6802,-10417,3},{6805,-10400,3}, {6802,-10387,3},{6803,-10375,3},{6807,-10370,3},{6805,-10360,3},{6807,-10355,3}, {6812,-10355,3},{6817,-10342,3},{6812,-10333,3},{6808,-10338,3},{6803,-10337,3}, {6800,-10337,3},{6800,-10330,3},{6797,-10325,3},{6795,-10313,3},{6792,-10310,3}, {6793,-10297,3},{6782,-10280,3},{6778,-10247,3},{6773,-10233,3},{6772,-10232,3}, {6773,-10225,3},{6768,-10223,3},{6770,-10220,3},{6773,-10222,3},{6777,-10215,3}, {6775,-10205,3},{6777,-10198,3},{6778,-10198,3},{6778,-10193,3},{6775,-10192,3}, {6775,-10185,3},{6770,-10182,3},{6773,-10175,3},{6768,-10167,3},{6768,-10155,3}, {6770,-10148,3},{6770,-10140,3},{6772,-10145,3},{6773,-10145,3},{6772,-10138,3}, {6773,-10133,3},{6772,-10125,3},{6777,-10123,3},{6775,-10118,3},{6778,-10110,3}, {6778,-10108,3},{6773,-10110,3},{6775,-10090,3},{6777,-10090,3},{6782,-10092,3}, {6782,-10087,3},{6778,-10083,3},{6782,-10078,3},{6782,-10072,3},{6785,-10070,3}, {6783,-10063,3},{6783,-10058,3},{6780,-10058,3},{6785,-10040,3},{6785,-10018,3}, {6782,-10008,3},{6782,-9992,3},{6780,-9982,3},{6782,-9978,3},{6782,-9968,3}, {6778,-9963,3},{6780,-9958,3},{6780,-9950,3},{6777,-9948,3},{6780,-9945,3}, {6777,-9938,3},{6777,-9930,3},{6770,-9922,3},{6773,-9912,3},{6772,-9898,3}, {6770,-9893,3},{6775,-9890,3},{6775,-9873,3},{6780,-9870,3},{6778,-9860,3}, {6780,-9835,3},{6787,-9845,3},{6787,-9853,3},{6795,-9872,3},{6807,-9873,3}, {6807,-9863,3},{6810,-9858,3},{6790,-9823,3},{6775,-9808,3},{6775,-9798,3}, {6770,-9793,3},{6768,-9780,3},{6765,-9773,3},{6763,-9765,3},{6760,-9757,3}, {6762,-9740,3},{6767,-9728,3},{6762,-9720,3},{6767,-9718,3},{6767,-9707,3}, {6772,-9715,3},{6772,-9722,3},{6778,-9712,3},{6793,-9723,3},{6788,-9728,3}, {6787,-9737,3},{6788,-9742,3},{6793,-9747,3},{6802,-9768,3},{6797,-9772,3}, {6798,-9777,3},{6797,-9785,3},{6795,-9792,3},{6792,-9795,3},{6795,-9802,3}, {6792,-9805,3},{6783,-9807,3},{6787,-9818,3},{6792,-9822,3},{6800,-9840,3}, {6807,-9845,3},{6813,-9858,3},{6815,-9858,3},{6813,-9853,3},{6818,-9847,3}, {6813,-9843,3},{6810,-9843,3},{6808,-9840,3},{6810,-9833,3},{6817,-9832,3}, {6818,-9838,3},{6820,-9850,3},{6823,-9855,3},{6823,-9848,3},{6825,-9848,3}, {6830,-9860,3},{6837,-9872,3},{6837,-9860,3},{6833,-9852,3},{6837,-9853,3}, {6835,-9848,3},{6837,-9847,3},{6840,-9853,3},{6842,-9853,3},{6837,-9842,3}, {6837,-9837,3},{6830,-9820,3},{6833,-9815,3},{6832,-9807,3},{6837,-9810,3}, {6833,-9792,3},{6838,-9790,3},{6837,-9777,3},{6837,-9775,3},{6840,-9778,3}, {6842,-9790,3},{6845,-9790,3},{6850,-9802,3},{6853,-9800,3},{6853,-9790,3}, {6855,-9785,3},{6852,-9770,3},{6845,-9763,3},{6842,-9753,3},{6842,-9750,3}, {6845,-9752,3},{6845,-9762,3},{6850,-9757,3},{6850,-9738,3},{6847,-9728,3}, {6843,-9722,3},{6838,-9710,3},{6838,-9717,3},{6837,-9717,3},{6835,-9700,3}, {6828,-9700,3},{6830,-9705,3},{6828,-9708,3},{6827,-9708,3},{6827,-9702,3}, {6823,-9692,3},{6827,-9680,3},{6828,-9680,3},{6828,-9667,3},{6827,-9667,3}, {6825,-9662,3},{6822,-9670,3},{6818,-9663,3},{6825,-9662,3},{6832,-9642,3}, {6827,-9647,3},{6820,-9652,3},{6813,-9663,3},{6812,-9662,3},{6810,-9668,3}, {6808,-9668,3},{6807,-9680,3},{6803,-9682,3},{6802,-9677,3},{6802,-9668,3}, {6805,-9665,3},{6807,-9662,3},{6803,-9653,3},{6803,-9645,3},{6808,-9648,3}, {6808,-9655,3},{6815,-9647,3},{6820,-9630,3},{6825,-9600,3},{6830,-9590,3}, {6815,-9608,3},{6810,-9602,3},{6782,-9622,3},{6773,-9618,3},{6770,-9622,3}, {6768,-9620,3},{6770,-9617,3},{6762,-9618,3},{6763,-9627,3},{6770,-9632,3}, {6760,-9633,3},{6757,-9638,3},{6755,-9647,3},{6753,-9643,3},{6747,-9647,3}, {6750,-9642,3},{6747,-9637,3},{6745,-9638,3},{6743,-9633,3},{6745,-9630,3}, {6742,-9620,3},{6743,-9617,3},{6747,-9610,3},{6743,-9607,3},{6733,-9617,3}, {6732,-9623,3},{6725,-9625,3},{6725,-9615,3},{6725,-9613,3},{6722,-9612,3}, {6725,-9602,3},{6728,-9593,3},{6728,-9590,3},{6738,-9573,3},{6733,-9568,3}, {6733,-9563,3},{6738,-9560,3},{6735,-9552,3},{6730,-9557,3},{6717,-9583,3}, {6718,-9575,3},{6723,-9565,3},{6720,-9565,3},{6722,-9555,3},{6720,-9548,3}, {6713,-9547,3},{6715,-9543,3},{6720,-9543,3},{6715,-9538,3},{6712,-9537,3}, {6707,-9542,3},{6703,-9533,3},{6697,-9535,3},{6693,-9553,3},{6695,-9563,3}, {6698,-9560,3},{6698,-9562,3},{6695,-9583,3},{6695,-9593,3},{6700,-9595,3}, {6702,-9600,3},{6707,-9595,3},{6702,-9605,3},{6697,-9602,3},{6695,-9612,3}, {6697,-9615,3},{6698,-9612,3},{6698,-9613,3},{6698,-9618,3},{6700,-9628,3}, {6705,-9627,3},{6707,-9630,3},{6707,-9637,3},{6708,-9638,3},{6707,-9645,3}, {6703,-9642,3},{6700,-9640,3},{6697,-9628,3},{6692,-9623,3},{6690,-9615,3}, {6683,-9610,3},{6675,-9585,3},{6665,-9578,3},{6658,-9582,3},{6665,-9572,3}, {6668,-9563,3},{6673,-9565,3},{6673,-9568,3},{6670,-9567,3},{6667,-9572,3}, {6668,-9577,3},{6673,-9578,3},{6682,-9590,3},{6685,-9600,3},{6690,-9608,3}, {6693,-9608,3},{6695,-9602,3},{6692,-9588,3},{6693,-9583,3},{6693,-9577,3}, {6690,-9572,3},{6692,-9560,3},{6690,-9552,3},{6693,-9543,3},{6693,-9542,3}, {6688,-9532,3},{6693,-9525,3},{6697,-9522,3},{6698,-9523,3},{6700,-9530,3}, {6703,-9528,3},{6707,-9535,3},{6710,-9532,3},{6715,-9535,3},{6722,-9527,3}, {6727,-9525,3},{6727,-9518,3},{6728,-9517,3},{6735,-9533,3},{6743,-9538,3}, {6745,-9542,3},{6750,-9533,3},{6753,-9532,3},{6763,-9547,3},{6765,-9555,3}, {6768,-9558,3},{6770,-9570,3},{6773,-9572,3},{6778,-9563,3},{6778,-9558,3}, {6782,-9553,3},{6787,-9553,3},{6790,-9558,3},{6802,-9542,3},{6805,-9543,3}, {6807,-9547,3},{6807,-9535,3},{6807,-9528,3},{6808,-9525,3},{6808,-9522,3}, {6805,-9523,3},{6803,-9527,3},{6807,-9518,3},{6808,-9510,3},{6805,-9502,3}, {6803,-9487,3},{6807,-9472,3},{6810,-9470,3},{6815,-9458,3},{6827,-9420,3}, {6837,-9422,3},{6842,-9412,3},{6847,-9397,3},{6852,-9367,3},{6855,-9360,3}, {6855,-9355,3},{6860,-9353,3},{6863,-9337,3},{6862,-9357,3},{6863,-9365,3}, {6862,-9375,3},{6872,-9367,3},{6875,-9370,3},{6877,-9363,3},{6880,-9363,3}, {6885,-9357,3},{6890,-9365,3},{6897,-9365,3},{6897,-9373,3},{6897,-9387,3}, {6900,-9383,3},{6900,-9390,3},{6907,-9380,3},{6903,-9393,3},{6903,-9390,3}, {6900,-9395,3},{6897,-9393,3},{6890,-9407,3},{6887,-9407,3},{6887,-9403,3}, {6885,-9408,3},{6883,-9403,3},{6885,-9398,3},{6888,-9393,3},{6885,-9393,3}, {6888,-9382,3},{6877,-9408,3},{6875,-9422,3},{6875,-9425,3},{6872,-9442,3}, {6873,-9447,3},{6872,-9452,3},{6875,-9457,3},{6875,-9463,3},{6888,-9455,3}, {6890,-9458,3},{6892,-9457,3},{6897,-9460,3},{6897,-9453,3},{6897,-9448,3}, {6893,-9447,3},{6897,-9440,3},{6902,-9435,3},{6903,-9430,3},{6903,-9422,3}, {6905,-9415,3},{6908,-9418,3},{6910,-9417,3},{6915,-9400,3},{6912,-9423,3}, {6915,-9433,3},{6925,-9430,3},{6927,-9427,3},{6930,-9432,3},{6932,-9428,3}, {6937,-9402,3},{6935,-9390,3},{6935,-9388,3},{6935,-9380,3},{6940,-9375,3}, {6945,-9357,3},{6943,-9353,3},{6932,-9375,3},{6932,-9380,3},{6925,-9388,3}, {6927,-9382,3},{6922,-9388,3},{6922,-9387,3},{6922,-9382,3},{6918,-9385,3}, {6917,-9383,3},{6925,-9363,3},{6928,-9360,3},{6932,-9347,3},{6935,-9343,3}, {6938,-9337,3},{6935,-9350,3},{6937,-9353,3},{6937,-9358,3},{6948,-9343,3}, {6953,-9358,3},{6952,-9372,3},{6948,-9378,3},{6948,-9382,3},{6948,-9385,3}, {6943,-9390,3},{6943,-9415,3},{6945,-9430,3},{6948,-9437,3},{6955,-9450,3}, {6965,-9457,3},{6963,-9463,3},{6968,-9463,3},{6967,-9475,3},{6962,-9473,3}, {6957,-9483,3},{6958,-9495,3},{6960,-9497,3},{6960,-9500,3},{6962,-9502,3}, {6962,-9510,3},{6962,-9515,3},{6968,-9535,3},{6968,-9540,3},{6973,-9558,3}, {6978,-9565,3},{6978,-9573,3},{6973,-9578,3},{6977,-9583,3},{6978,-9582,3}, {6978,-9578,3},{6980,-9580,3},{6980,-9585,3},{6977,-9587,3},{6980,-9593,3}, {6978,-9597,3},{6980,-9600,3},{6983,-9607,3},{6987,-9620,3},{6988,-9615,3}, {6987,-9612,3},{6987,-9608,3},{6990,-9612,3},{6992,-9608,3},{6992,-9612,3}, {6995,-9610,3},{6997,-9618,3},{6997,-9625,3},{7013,-9653,3},{7023,-9657,3}, {7032,-9655,3},{7042,-9643,3},{7042,-9633,3},{7048,-9632,3},{7057,-9625,3}, {7053,-9618,3},{7053,-9615,3},{7057,-9613,3},{7058,-9607,3},{7055,-9592,3}, {7053,-9580,3},{7053,-9578,3},{7055,-9580,3},{7058,-9598,3},{7062,-9607,3}, {7065,-9605,3},{7072,-9582,3},{7070,-9590,3},{7065,-9612,3},{7062,-9617,3}, {7068,-9638,3},{7072,-9642,3},{7073,-9643,3},{7080,-9662,3},{7095,-9652,3}, {7103,-9650,3},{7105,-9642,3},{7108,-9637,3},{7112,-9642,3},{7108,-9642,3}, {7108,-9648,3},{7113,-9657,3},{7117,-9645,3},{7115,-9638,3},{7120,-9647,3}, {7125,-9643,3},{7128,-9650,3},{7130,-9643,3},{7130,-9630,3},{7138,-9620,3}, {7142,-9605,3},{7138,-9590,3},{7135,-9587,3},{7128,-9567,3},{7128,-9553,3}, {7132,-9552,3},{7135,-9558,3},{7135,-9548,3},{7137,-9543,3},{7143,-9555,3}, {7152,-9538,3},{7148,-9550,3},{7152,-9582,3},{7155,-9595,3},{7158,-9588,3}, {7162,-9590,3},{7163,-9572,3},{7167,-9567,3},{7167,-9562,3},{7172,-9550,3}, {7172,-9527,3},{7177,-9528,3},{7183,-9523,3},{7185,-9488,3},{7183,-9472,3}, {7187,-9462,3},{7183,-9475,3},{7185,-9487,3},{7183,-9520,3},{7187,-9525,3}, {7195,-9522,3},{7198,-9495,3},{7200,-9457,3},{7198,-9448,3},{7195,-9448,3}, {7195,-9440,3},{7192,-9438,3},{7190,-9450,3},{7188,-9445,3},{7185,-9447,3}, {7185,-9457,3},{7182,-9465,3},{7178,-9460,3},{7175,-9462,3},{7175,-9453,3}, {7182,-9448,3},{7178,-9445,3},{7182,-9440,3},{7180,-9435,3},{7175,-9440,3}, {7167,-9442,3},{7178,-9420,3},{7175,-9415,3},{7178,-9403,3},{7175,-9397,3}, {7175,-9388,3},{7178,-9380,3},{7177,-9373,3},{7175,-9370,3},{7172,-9370,3}, {7165,-9382,3},{7157,-9362,3},{7153,-9342,3},{7150,-9337,3},{7147,-9323,3}, {7137,-9315,3},{7137,-9305,3},{7133,-9297,3},{7132,-9300,3},{7128,-9293,3}, {7122,-9293,3},{7115,-9285,3},{7107,-9288,3},{7103,-9285,3},{7090,-9290,3}, {7085,-9285,3},{7083,-9295,3},{7085,-9297,3},{7088,-9303,3},{7087,-9303,3}, {7082,-9295,3},{7080,-9282,3},{7077,-9268,3},{7075,-9268,3},{7073,-9265,3}, {7072,-9272,3},{7072,-9263,3},{7067,-9268,3},{7067,-9243,3},{7063,-9233,3}, {7062,-9230,3},{7058,-9233,3},{7057,-9230,3},{7062,-9225,3},{7058,-9217,3}, {7057,-9217,3},{7057,-9225,3},{7055,-9227,3},{7050,-9218,3},{7048,-9228,3}, {7047,-9215,3},{7047,-9212,3},{7043,-9213,3},{7043,-9207,3},{7040,-9203,3}, {7038,-9200,3},{7032,-9200,3},{7030,-9208,3},{7030,-9200,3},{7028,-9200,3}, {7025,-9195,3},{7030,-9192,3},{7030,-9187,3},{7035,-9190,3},{7037,-9185,3}, {7033,-9178,3},{7037,-9173,3},{7035,-9170,3},{7032,-9168,3},{7030,-9173,3}, {7020,-9170,3},{7023,-9163,3},{7017,-9152,3},{7015,-9152,3},{7013,-9160,3}, {7013,-9182,3},{7012,-9195,3},{7013,-9203,3},{7017,-9213,3},{7018,-9223,3}, {7025,-9228,3},{7023,-9230,3},{7023,-9237,3},{7022,-9227,3},{7018,-9228,3}, {7017,-9248,3},{7017,-9242,3},{7015,-9238,3},{7013,-9243,3},{7008,-9248,3}, {7008,-9258,3},{7007,-9252,3},{7005,-9248,3},{7008,-9243,3},{7008,-9227,3}, {7008,-9208,3},{7005,-9200,3},{7002,-9193,3},{6998,-9203,3},{6998,-9207,3}, {6990,-9222,3},{6990,-9227,3},{6988,-9225,3},{6983,-9243,3},{6982,-9247,3}, {6980,-9255,3},{6977,-9257,3},{6977,-9262,3},{6978,-9265,3},{6977,-9265,3}, {6970,-9287,3},{6970,-9253,3},{6970,-9267,3},{6967,-9273,3},{6968,-9285,3}, {6968,-9292,3},{6967,-9292,3},{6965,-9267,3},{6967,-9263,3},{6970,-9250,3}, {6968,-9240,3},{6970,-9237,3},{6970,-9233,3},{6967,-9237,3},{6967,-9228,3}, {6963,-9218,3},{6962,-9208,3},{6963,-9230,3},{6955,-9212,3},{6953,-9200,3}, {6948,-9180,3},{6952,-9180,3},{6953,-9172,3},{6955,-9173,3},{6955,-9165,3}, {6958,-9158,3},{6962,-9160,3},{6965,-9150,3},{6967,-9148,3},{6967,-9137,3}, {6965,-9133,3},{6965,-9128,3},{6963,-9125,3},{6965,-9120,3},{6965,-9117,3}, {6963,-9117,3},{6963,-9110,3},{6962,-9110,3},{6962,-9122,3},{6955,-9133,3}, {6953,-9152,3},{6952,-9157,3},{6950,-9155,3},{6953,-9147,3},{6952,-9133,3}, {6953,-9132,3},{6957,-9120,3},{6952,-9110,3},{6953,-9100,3},{6952,-9097,3}, {6953,-9088,3},{6948,-9088,3},{6948,-9075,3},{6953,-9072,3},{6950,-9048,3}, {6945,-9037,3},{6945,-9030,3},{6943,-9040,3},{6945,-9047,3},{6942,-9055,3}, {6943,-9062,3},{6945,-9062,3},{6945,-9070,3},{6942,-9063,3},{6942,-9058,3}, {6938,-9070,3},{6940,-9073,3},{6937,-9080,3},{6925,-9082,3},{6925,-9093,3}, {6927,-9090,3},{6927,-9097,3},{6930,-9092,3},{6927,-9107,3},{6928,-9110,3}, {6930,-9100,3},{6935,-9095,3},{6930,-9108,3},{6928,-9120,3},{6935,-9145,3}, {6923,-9110,3},{6922,-9102,3},{6915,-9090,3},{6908,-9067,3},{6900,-9072,3}, {6898,-9060,3},{6893,-9058,3},{6892,-9063,3},{6892,-9053,3},{6887,-9043,3}, {6885,-9048,3},{6885,-9042,3},{6883,-9043,3},{6883,-9053,3},{6880,-9060,3}, {6882,-9043,3},{6880,-9047,3},{6878,-9045,3},{6878,-9052,3},{6875,-9053,3}, {6870,-9048,3},{6867,-9050,3},{6862,-9057,3},{6860,-9050,3},{6857,-9053,3}, {6853,-9047,3},{6845,-9060,3},{6842,-9055,3},{6837,-9032,3},{6833,-9048,3}, {6835,-9035,3},{6833,-9032,3},{6830,-9032,3},{6823,-9025,3},{6823,-9020,3}, {6825,-9012,3},{6832,-9017,3},{6835,-9003,3},{6840,-8998,3},{6843,-9000,3}, {6845,-8990,3},{6847,-8992,3},{6848,-8987,3},{6853,-8983,3},{6853,-8980,3}, {6855,-8992,3},{6860,-8995,3},{6867,-8990,3},{6867,-8983,3},{6872,-8980,3}, {6867,-8975,3},{6862,-8977,3},{6865,-8972,3},{6870,-8973,3},{6882,-8968,3}, {6883,-8973,3},{6885,-8972,3},{6895,-8975,3},{6902,-8970,3},{6912,-8948,3}, {6918,-8940,3},{6922,-8938,3},{6925,-8932,3},{6928,-8913,3},{6923,-8895,3}, {6915,-8887,3},{6910,-8878,3},{6892,-8820,3},{6877,-8797,3},{6865,-8792,3}, {6860,-8795,3},{6848,-8788,3},{6847,-8783,3},{6843,-8783,3},{6840,-8778,3}, {6833,-8778,3},{6825,-8785,3},{6820,-8793,3},{6823,-8800,3},{6823,-8817,3}, {6837,-8820,3},{6832,-8830,3},{6828,-8840,3},{6812,-8828,3},{6807,-8833,3}, {6805,-8833,3},{6803,-8838,3},{6780,-8827,3},{6773,-8817,3},{6768,-8817,3}, {6765,-8812,3},{6762,-8797,3},{6740,-8760,3},{6737,-8748,3},{6727,-8745,3}, {6727,-8735,3},{6725,-8737,3},{6718,-8750,3},{6712,-8752,3},{6717,-8743,3}, {6718,-8737,3},{6717,-8732,3},{6710,-8730,3},{6712,-8728,3},{6722,-8723,3}, {6722,-8718,3},{6723,-8717,3},{6722,-8712,3},{6718,-8712,3},{6722,-8707,3}, {6725,-8705,3},{6723,-8700,3},{6725,-8697,3},{6728,-8700,3},{6730,-8700,3}, {6732,-8705,3},{6735,-8708,3},{6735,-8702,3},{6732,-8697,3},{6735,-8697,3}, {6740,-8687,3},{6742,-8680,3},{6742,-8677,3},{6735,-8665,3},{6740,-8662,3}, {6740,-8660,3},{6735,-8660,3},{6735,-8652,3},{6743,-8653,3},{6747,-8647,3}, {6750,-8650,3},{6760,-8645,3},{6768,-8652,3},{6783,-8637,3},{6795,-8613,3}, {6802,-8613,3},{6802,-8610,3},{6798,-8610,3},{6805,-8590,3},{6810,-8592,3}, {6813,-8585,3},{6818,-8588,3},{6818,-8583,3},{6822,-8578,3},{6823,-8585,3}, {6830,-8580,3},{6832,-8585,3},{6833,-8578,3},{6840,-8572,3},{6843,-8575,3}, {6845,-8567,3},{6847,-8575,3},{6850,-8572,3},{6862,-8575,3},{6873,-8567,3}, {6875,-8563,3},{6873,-8555,3},{6873,-8548,3},{6877,-8547,3},{6878,-8557,3}, {6878,-8552,3},{6877,-8537,3},{6873,-8538,3},{6872,-8523,3},{6872,-8522,3}, {6875,-8527,3},{6875,-8523,3},{6875,-8513,3},{6875,-8495,3},{6873,-8478,3}, {6877,-8475,3},{6882,-8483,3},{6880,-8500,3},{6882,-8508,3},{6883,-8517,3}, {6887,-8518,3},{6888,-8500,3},{6890,-8507,3},{6893,-8500,3},{6893,-8512,3}, {6895,-8513,3},{6895,-8497,3},{6893,-8482,3},{6895,-8480,3},{6898,-8493,3}, {6900,-8498,3},{6902,-8495,3},{6900,-8485,3},{6902,-8485,3},{6903,-8482,3}, {6902,-8477,3},{6900,-8458,3},{6902,-8453,3},{6903,-8473,3},{6908,-8477,3}, {6907,-8488,3},{6908,-8495,3},{6912,-8497,3},{6912,-8502,3},{6913,-8497,3}, {6915,-8500,3},{6912,-8512,3},{6915,-8510,3},{6917,-8500,3},{6917,-8517,3}, {6915,-8518,3},{6913,-8522,3},{6915,-8530,3},{6917,-8530,3},{6918,-8520,3}, {6920,-8538,3},{6922,-8538,3},{6927,-8547,3},{6932,-8550,3},{6930,-8540,3}, {6932,-8533,3},{6933,-8545,3},{6937,-8543,3},{6940,-8550,3},{6942,-8547,3}, {6942,-8538,3},{6945,-8542,3},{6943,-8533,3},{6947,-8540,3},{6947,-8543,3}, {6943,-8548,3},{6945,-8553,3},{6952,-8553,3},{6955,-8547,3},{6957,-8548,3}, {6957,-8538,3},{6963,-8553,3},{6965,-8555,3},{6970,-8543,3},{6973,-8543,3}, {6977,-8552,3},{6978,-8542,3},{6978,-8538,3},{6975,-8540,3},{6978,-8533,3}, {6982,-8537,3},{6983,-8558,3},{6987,-8557,3},{6985,-8537,3},{6977,-8507,3}, {6980,-8505,3},{6982,-8487,3},{6985,-8488,3},{6983,-8475,3},{6987,-8455,3}, {6985,-8435,3},{6983,-8428,3},{6982,-8413,3},{6978,-8410,3},{6975,-8397,3}, {6970,-8373,3},{6968,-8335,3},{6970,-8325,3},{6968,-8300,3},{6968,-8293,3}, {6968,-8267,3},{6970,-8268,3},{6968,-8258,3},{6965,-8250,3},{6963,-8227,3}, {6962,-8240,3},{6963,-8247,3},{6965,-8258,3},{6963,-8262,3},{6962,-8260,3}, {6962,-8265,3},{6958,-8255,3},{6958,-8275,3},{6957,-8262,3},{6950,-8248,3}, {6952,-8263,3},{6952,-8298,3},{6955,-8323,3},{6953,-8330,3},{6950,-8278,3}, {6940,-8223,3},{6938,-8223,3},{6938,-8230,3},{6940,-8238,3},{6930,-8215,3}, {6928,-8215,3},{6928,-8225,3},{6927,-8223,3},{6925,-8228,3},{6923,-8225,3}, {6925,-8203,3},{6927,-8205,3},{6927,-8200,3},{6927,-8170,3},{6923,-8160,3}, {6920,-8150,3},{6920,-8142,3},{6920,-8137,3},{6918,-8133,3},{6908,-8127,3}, {6907,-8147,3},{6900,-8157,3},{6898,-8162,3},{6898,-8168,3},{6895,-8172,3}, {6890,-8198,3},{6887,-8205,3},{6892,-8182,3},{6890,-8178,3},{6890,-8167,3}, {6887,-8160,3},{6883,-8157,3},{6887,-8148,3},{6888,-8142,3},{6887,-8138,3}, {6877,-8123,3},{6875,-8127,3},{6863,-8127,3},{6850,-8163,3},{6852,-8182,3}, {6847,-8183,3},{6845,-8192,3},{6842,-8197,3},{6843,-8202,3},{6850,-8208,3}, {6853,-8225,3},{6852,-8225,3},{6848,-8218,3},{6845,-8222,3},{6848,-8245,3}, {6853,-8255,3},{6852,-8262,3},{6850,-8263,3},{6848,-8258,3},{6845,-8248,3}, {6843,-8255,3},{6843,-8265,3},{6840,-8263,3},{6840,-8250,3},{6835,-8235,3}, {6832,-8235,3},{6832,-8248,3},{6830,-8248,3},{6827,-8238,3},{6828,-8227,3}, {6823,-8227,3},{6817,-8235,3},{6815,-8232,3},{6812,-8218,3},{6815,-8210,3}, {6822,-8205,3},{6820,-8198,3},{6812,-8203,3},{6810,-8212,3},{6808,-8208,3}, {6800,-8217,3},{6790,-8210,3},{6785,-8197,3},{6782,-8193,3},{6780,-8180,3}, {6778,-8183,3},{6777,-8183,3},{6773,-8170,3},{6767,-8160,3},{6762,-8143,3}, {6747,-8125,3},{6743,-8123,3},{6738,-8130,3},{6730,-8135,3},{6708,-8142,3}, {6707,-8143,3},{6705,-8150,3},{6700,-8150,3},{6698,-8153,3},{6700,-8162,3}, {6700,-8165,3},{6697,-8172,3},{6700,-8183,3},{6697,-8198,3},{6692,-8205,3}, {6690,-8202,3},{6685,-8208,3},{6683,-8208,3},{6677,-8218,3},{6672,-8215,3}, {6673,-8235,3},{6672,-8238,3},{6670,-8238,3},{6667,-8247,3},{6665,-8248,3}, {6662,-8255,3},{6657,-8260,3},{6655,-8302,3},{6650,-8302,3},{6647,-8305,3}, {6647,-8312,3},{6640,-8323,3},{6635,-8340,3},{6635,-8350,3},{6635,-8358,3}, {6637,-8357,3},{6640,-8365,3},{6643,-8363,3},{6643,-8360,3},{6638,-8355,3}, {6640,-8353,3},{6648,-8365,3},{6652,-8367,3},{6655,-8385,3},{6660,-8390,3}, {6657,-8395,3},{6658,-8398,3},{6670,-8402,3},{6670,-8398,3},{6670,-8392,3}, {6665,-8390,3},{6668,-8385,3},{6672,-8395,3},{6677,-8395,3},{6677,-8392,3}, {6682,-8388,3},{6688,-8392,3},{6682,-8395,3},{6678,-8405,3},{6677,-8403,3}, {6675,-8410,3},{6672,-8410,3},{6670,-8413,3},{6673,-8430,3},{6675,-8432,3}, {6678,-8427,3},{6680,-8440,3},{6682,-8443,3},{6683,-8423,3},{6687,-8438,3}, {6690,-8442,3},{6692,-8438,3},{6693,-8448,3},{6698,-8458,3},{6697,-8442,3}, {6697,-8437,3},{6703,-8483,3},{6707,-8492,3},{6705,-8493,3},{6703,-8490,3}, {6703,-8493,3},{6700,-8483,3},{6698,-8487,3},{6700,-8478,3},{6698,-8463,3}, {6697,-8505,3},{6692,-8522,3},{6690,-8515,3},{6687,-8523,3},{6683,-8512,3}, {6685,-8507,3},{6685,-8495,3},{6690,-8490,3},{6692,-8500,3},{6692,-8488,3}, {6695,-8485,3},{6695,-8473,3},{6693,-8473,3},{6693,-8462,3},{6692,-8462,3}, {6690,-8457,3},{6690,-8475,3},{6687,-8458,3},{6682,-8450,3},{6685,-8467,3}, {6683,-8468,3},{6682,-8462,3},{6682,-8452,3},{6678,-8445,3},{6677,-8432,3}, {6672,-8445,3},{6670,-8435,3},{6668,-8432,3},{6670,-8425,3},{6668,-8415,3}, {6665,-8415,3},{6658,-8422,3},{6643,-8390,3},{6632,-8387,3},{6630,-8378,3}, {6627,-8377,3},{6622,-8368,3},{6618,-8370,3},{6615,-8385,3},{6620,-8378,3}, {6622,-8380,3},{6620,-8397,3},{6622,-8398,3},{6627,-8413,3},{6630,-8415,3}, {6632,-8420,3},{6630,-8432,3},{6628,-8432,3},{6628,-8437,3},{6637,-8443,3}, {6638,-8447,3},{6638,-8452,3},{6640,-8452,3},{6633,-8463,3},{6622,-8440,3}, {6615,-8437,3},{6617,-8447,3},{6620,-8455,3},{6622,-8463,3},{6620,-8473,3}, {6627,-8487,3},{6625,-8498,3},{6627,-8503,3},{6628,-8508,3},{6632,-8512,3}, {6627,-8518,3},{6627,-8523,3},{6632,-8530,3},{6648,-8535,3},{6658,-8548,3}, {6657,-8558,3},{6650,-8585,3},{6652,-8588,3},{6650,-8613,3},{6652,-8622,3}, {6652,-8628,3},{6655,-8633,3},{6652,-8638,3},{6655,-8657,3},{6655,-8660,3}, {6652,-8658,3},{6650,-8662,3},{6653,-8677,3},{6652,-8678,3},{6643,-8663,3}, {6645,-8680,3},{6643,-8682,3},{6632,-8663,3},{6628,-8633,3},{6618,-8592,3}, {6615,-8590,3},{6610,-8602,3},{6608,-8598,3},{6603,-8597,3},{6598,-8612,3}, {6598,-8620,3},{6593,-8623,3},{6590,-8633,3},{6590,-8642,3},{6580,-8650,3}, {6578,-8645,3},{6575,-8645,3},{6567,-8655,3},{6567,-8663,3},{6565,-8668,3}, {6555,-8683,3},{6553,-8698,3},{6552,-8698,3},{6548,-8702,3},{6548,-8708,3}, {6545,-8712,3},{6543,-8712,3},{6542,-8707,3},{6540,-8708,3},{6540,-8717,3}, {6537,-8722,3},{6532,-8740,3},{6533,-8770,3},{6532,-8787,3},{6535,-8805,3}, {6540,-8822,3},{6550,-8833,3},{6558,-8857,3},{6560,-8865,3},{6563,-8883,3}, {6563,-8858,3},{6562,-8845,3},{6563,-8842,3},{6568,-8878,3},{6570,-8885,3}, {6570,-8890,3},{6568,-8893,3},{6568,-8898,3},{6573,-8912,3},{6578,-8917,3}, {6582,-8932,3},{6583,-8933,3},{6587,-8943,3},{6587,-8947,3},{6585,-8948,3}, {6585,-8952,3},{6588,-8952,3},{6593,-8967,3},{6595,-9000,3},{6592,-8988,3}, {6587,-8973,3},{6583,-8973,3},{6582,-8977,3},{6588,-9007,3},{6587,-9027,3}, {6587,-9042,3},{6588,-9043,3},{6590,-9040,3},{6590,-9023,3},{6592,-9023,3}, {6590,-9057,3},{6592,-9088,3},{6595,-9112,3},{6595,-9118,3},{6597,-9132,3}, {6595,-9150,3},{6588,-9133,3},{6588,-9127,3},{6580,-9102,3},{6582,-9100,3}, {6590,-9112,3},{6592,-9108,3},{6588,-9073,3},{6588,-9055,3},{6578,-8997,3}, {6572,-8975,3},{6563,-8958,3},{6560,-8947,3},{6550,-8940,3},{6543,-8917,3}, {6533,-8905,3},{6530,-8873,3},{6532,-8865,3},{6530,-8857,3},{6527,-8837,3}, {6528,-8812,3},{6527,-8807,3},{6528,-8795,3},{6527,-8777,3},{6527,-8773,3}, {6528,-8773,3},{6528,-8760,3},{6527,-8757,3},{6527,-8735,3},{6523,-8703,3}, {6520,-8705,3},{6515,-8693,3},{6510,-8700,3},{6505,-8697,3},{6500,-8712,3}, {6497,-8708,3},{6488,-8723,3},{6480,-8730,3},{6477,-8730,3},{6475,-8737,3}, {6470,-8745,3},{6475,-8748,3},{6472,-8752,3},{6463,-8752,3},{6457,-8758,3}, {6452,-8770,3},{6452,-8780,3},{6445,-8785,3},{6435,-8788,3},{6425,-8805,3}, {6423,-8805,3},{6422,-8800,3},{6418,-8798,3},{6417,-8805,3},{6413,-8812,3}, {6413,-8823,3},{6405,-8847,3},{6405,-8855,3},{6402,-8855,3},{6400,-8868,3}, {6398,-8867,3},{6397,-8873,3},{6398,-8883,3},{6398,-8885,3},{6402,-8890,3}, {6398,-8892,3},{6398,-8900,3},{6400,-8900,3},{6407,-8915,3},{6417,-8927,3}, {6413,-8928,3},{6397,-8910,3},{6397,-8903,3},{6395,-8903,3},{6395,-8915,3}, {6397,-8913,3},{6397,-8918,3},{6402,-8927,3},{6397,-8925,3},{6403,-8937,3}, {6402,-8943,3},{6403,-8947,3},{6407,-8950,3},{6408,-8955,3},{6402,-8957,3}, {6395,-8948,3},{6408,-8970,3},{6403,-8972,3},{6410,-8982,3},{6413,-8982,3}, {6415,-8973,3},{6423,-8975,3},{6425,-8978,3},{6420,-8982,3},{6420,-8988,3}, {6417,-8982,3},{6415,-8982,3},{6415,-8988,3},{6417,-8992,3},{6415,-9000,3}, {6413,-9012,3},{6410,-9003,3},{6412,-9002,3},{6412,-8998,3},{6410,-8992,3}, {6408,-8995,3},{6405,-8995,3},{6405,-8990,3},{6402,-8985,3},{6402,-8992,3}, {6400,-8992,3},{6398,-8983,3},{6393,-8982,3},{6392,-8983,3},{6393,-8988,3}, {6392,-8993,3},{6393,-9000,3},{6393,-8995,3},{6397,-8995,3},{6398,-9002,3}, {6398,-9003,3},{6397,-9002,3},{6395,-9010,3},{6400,-9017,3},{6400,-9027,3}, {6398,-9022,3},{6392,-9008,3},{6392,-9012,3},{6388,-9010,3},{6382,-8997,3}, {6377,-8998,3},{6378,-9012,3},{6375,-9005,3},{6372,-9010,3},{6370,-9010,3}, {6370,-9013,3},{6365,-9017,3},{6363,-9015,3},{6360,-9025,3},{6362,-9028,3}, {6363,-9022,3},{6365,-9028,3},{6362,-9035,3},{6362,-9045,3},{6363,-9048,3}, {6365,-9045,3},{6367,-9055,3},{6367,-9048,3},{6370,-9062,3},{6368,-9063,3}, {6365,-9070,3},{6365,-9062,3},{6368,-9060,3},{6365,-9055,3},{6363,-9055,3}, {6360,-9057,3},{6362,-9060,3},{6360,-9067,3},{6358,-9072,3},{6357,-9085,3}, {6358,-9098,3},{6362,-9107,3},{6362,-9108,3},{6363,-9115,3},{6363,-9123,3}, {6365,-9130,3},{6367,-9138,3},{6368,-9140,3},{6368,-9133,3},{6368,-9135,3}, {6373,-9153,3},{6372,-9158,3},{6372,-9167,3},{6373,-9168,3},{6375,-9165,3}, {6377,-9168,3},{6377,-9172,3},{6373,-9175,3},{6375,-9192,3},{6378,-9198,3}, {6380,-9188,3},{6382,-9197,3},{6382,-9200,3},{6378,-9200,3},{6377,-9205,3}, {6375,-9205,3},{6375,-9213,3},{6377,-9223,3},{6378,-9238,3},{6383,-9250,3}, {6385,-9270,3},{6387,-9275,3},{6388,-9277,3},{6390,-9292,3},{6393,-9297,3}, {6393,-9308,3},{6398,-9322,3},{6398,-9328,3},{6402,-9343,3},{6407,-9352,3}, {6410,-9362,3},{6412,-9363,3},{6415,-9362,3},{6417,-9370,3},{6418,-9378,3}, {6413,-9367,3},{6408,-9367,3},{6402,-9355,3},{6400,-9360,3},{6400,-9355,3}, {6398,-9358,3},{6398,-9377,3},{6395,-9377,3},{6395,-9370,3},{6388,-9365,3}, {6383,-9352,3},{6383,-9343,3},{6380,-9333,3},{6385,-9338,3},{6383,-9330,3}, {6383,-9322,3},{6385,-9322,3},{6387,-9333,3},{6393,-9345,3},{6393,-9342,3}, {6397,-9345,3},{6397,-9342,3},{6388,-9310,3},{6387,-9300,3},{6383,-9292,3}, {6383,-9275,3},{6377,-9262,3},{6382,-9253,3},{6380,-9243,3},{6373,-9240,3}, {6373,-9223,3},{6372,-9215,3},{6370,-9210,3},{6368,-9220,3},{6365,-9220,3}, {6365,-9217,3},{6362,-9227,3},{6363,-9230,3},{6365,-9233,3},{6358,-9240,3}, {6355,-9253,3},{6352,-9247,3},{6355,-9243,3},{6355,-9235,3},{6357,-9232,3}, {6353,-9223,3},{6362,-9220,3},{6362,-9212,3},{6365,-9207,3},{6363,-9203,3}, {6368,-9197,3},{6372,-9183,3},{6372,-9177,3},{6365,-9162,3},{6358,-9160,3}, {6358,-9152,3},{6355,-9148,3},{6352,-9138,3},{6348,-9138,3},{6348,-9130,3}, {6350,-9127,3},{6348,-9115,3},{6345,-9107,3},{6347,-9102,3},{6340,-9078,3}, {6340,-9088,3},{6342,-9095,3},{6342,-9097,3},{6338,-9093,3},{6335,-9078,3}, {6335,-9068,3},{6333,-9068,3},{6332,-9075,3},{6328,-9073,3},{6328,-9070,3}, {6325,-9072,3},{6322,-9068,3},{6318,-9070,3},{6318,-9073,3},{6315,-9067,3}, {6312,-9068,3},{6308,-9065,3},{6308,-9068,3},{6307,-9063,3},{6303,-9065,3}, {6303,-9070,3},{6302,-9072,3},{6300,-9068,3},{6300,-9075,3},{6297,-9072,3}, {6297,-9078,3},{6293,-9078,3},{6293,-9107,3},{6292,-9117,3},{6285,-9122,3}, {6283,-9132,3},{6282,-9142,3},{6280,-9135,3},{6278,-9135,3},{6278,-9150,3}, {6282,-9172,3},{6283,-9187,3},{6287,-9212,3},{6285,-9213,3},{6282,-9208,3}, {6280,-9210,3},{6285,-9233,3},{6282,-9245,3},{6278,-9245,3},{6272,-9233,3}, {6268,-9222,3},{6268,-9228,3},{6265,-9218,3},{6265,-9195,3},{6262,-9188,3}, {6258,-9190,3},{6255,-9197,3},{6253,-9195,3},{6253,-9205,3},{6255,-9208,3}, {6255,-9217,3},{6257,-9218,3},{6258,-9215,3},{6260,-9217,3},{6260,-9227,3}, {6257,-9225,3},{6257,-9233,3},{6253,-9233,3},{6253,-9238,3},{6255,-9248,3}, {6258,-9245,3},{6260,-9248,3},{6257,-9250,3},{6262,-9258,3},{6262,-9262,3}, {6253,-9253,3},{6250,-9257,3},{6250,-9250,3},{6248,-9250,3},{6248,-9253,3}, {6245,-9253,3},{6247,-9262,3},{6247,-9272,3},{6245,-9273,3},{6238,-9272,3}, {6237,-9268,3},{6235,-9282,3},{6235,-9272,3},{6232,-9260,3},{6227,-9260,3}, {6225,-9263,3},{6222,-9258,3},{6218,-9257,3},{6215,-9248,3},{6217,-9257,3}, {6215,-9260,3},{6222,-9262,3},{6223,-9268,3},{6227,-9270,3},{6228,-9275,3}, {6235,-9318,3},{6237,-9325,3},{6235,-9318,3},{6233,-9307,3},{6228,-9297,3}, {6228,-9292,3},{6227,-9290,3},{6225,-9283,3},{6222,-9277,3},{6218,-9278,3}, {6218,-9287,3},{6220,-9290,3},{6218,-9293,3},{6220,-9300,3},{6217,-9298,3}, {6217,-9307,3},{6215,-9312,3},{6213,-9312,3},{6210,-9308,3},{6213,-9302,3}, {6210,-9293,3},{6207,-9298,3},{6208,-9307,3},{6203,-9308,3},{6205,-9315,3}, {6202,-9313,3},{6198,-9317,3},{6203,-9325,3},{6205,-9330,3},{6205,-9333,3}, {6202,-9330,3},{6203,-9342,3},{6195,-9322,3},{6195,-9338,3},{6192,-9330,3}, {6190,-9328,3},{6188,-9330,3},{6193,-9352,3},{6195,-9362,3},{6188,-9348,3}, {6188,-9360,3},{6185,-9362,3},{6185,-9350,3},{6183,-9348,3},{6182,-9335,3}, {6180,-9343,3},{6178,-9338,3},{6178,-9325,3},{6175,-9325,3},{6175,-9337,3}, {6177,-9345,3},{6175,-9345,3},{6172,-9342,3},{6172,-9332,3},{6168,-9345,3}, {6168,-9352,3},{6163,-9365,3},{6155,-9378,3},{6157,-9383,3},{6152,-9387,3}, {6145,-9398,3},{6142,-9393,3},{6140,-9397,3},{6138,-9387,3},{6135,-9382,3}, {6132,-9385,3},{6130,-9393,3},{6132,-9412,3},{6127,-9402,3},{6122,-9400,3}, {6122,-9402,3},{6120,-9402,3},{6117,-9410,3},{6115,-9403,3},{6112,-9407,3}, {6112,-9400,3},{6110,-9398,3},{6107,-9413,3},{6090,-9423,3},{6087,-9435,3}, {6077,-9442,3},{6072,-9440,3},{6063,-9450,3},{6055,-9452,3},{6052,-9458,3}, {6053,-9467,3},{6053,-9473,3},{6052,-9465,3},{6050,-9465,3},{6050,-9480,3}, {6047,-9468,3},{6038,-9462,3},{6027,-9470,3},{6018,-9467,3},{6013,-9472,3}, {6008,-9470,3},{6007,-9477,3},{6002,-9475,3},{6002,-9480,3},{6000,-9480,3}, {5998,-9478,3},{5995,-9482,3},{5993,-9480,3},{5978,-9477,3},{5963,-9482,3}, {5957,-9478,3},{5957,-9477,3},{5955,-9480,3},{5952,-9478,3},{5950,-9475,3}, {5945,-9473,3},{5940,-9473,3},{5937,-9472,3},{5933,-9473,3},{5935,-9468,3}, {5935,-9465,3},{5930,-9477,3},{5908,-9480,3},{5908,-9493,3},{5905,-9500,3}, {5907,-9483,3},{5905,-9480,3},{5902,-9480,3},{5900,-9472,3},{5898,-9468,3}, {5893,-9468,3},{5888,-9473,3},{5883,-9475,3},{5888,-9465,3},{5887,-9458,3}, {5883,-9452,3},{5880,-9448,3},{5872,-9442,3},{5872,-9433,3},{5875,-9428,3}, {5878,-9428,3},{5880,-9420,3},{5873,-9423,3},{5868,-9420,3},{5860,-9428,3}, {5848,-9430,3},{5843,-9428,3},{5840,-9433,3},{5832,-9433,3},{5822,-9437,3}, {5840,-9423,3},{5858,-9425,3},{5867,-9417,3},{5872,-9417,3},{5873,-9413,3}, {5877,-9417,3},{5877,-9412,3},{5877,-9392,3},{5875,-9387,3},{5877,-9383,3}, {5877,-9375,3},{5878,-9372,3},{5877,-9357,3},{5877,-9350,3},{5875,-9347,3}, {5872,-9347,3},{5870,-9340,3},{5875,-9333,3},{5877,-9323,3},{5875,-9320,3}, {5873,-9315,3},{5872,-9317,3},{5868,-9313,3},{5853,-9313,3},{5842,-9305,3}, {5822,-9293,3},{5817,-9285,3},{5815,-9287,3},{5805,-9280,3},{5800,-9280,3}, {5787,-9275,3},{5783,-9278,3},{5782,-9273,3},{5772,-9267,3},{5763,-9260,3}, {5755,-9255,3},{5752,-9250,3},{5745,-9245,3},{5733,-9242,3},{5723,-9243,3}, {5705,-9258,3},{5695,-9272,3},{5690,-9288,3},{5693,-9268,3},{5703,-9247,3}, {5707,-9225,3},{5705,-9222,3},{5698,-9235,3},{5693,-9247,3},{5695,-9242,3}, {5697,-9230,3},{5702,-9223,3},{5703,-9215,3},{5707,-9195,3},{5722,-9123,3}, {5727,-9100,3},{5725,-9082,3},{5723,-9072,3},{5723,-9060,3},{5718,-9050,3}, {5720,-9045,3},{5718,-9038,3},{5717,-9040,3},{5705,-9007,3},{5700,-8995,3}, {5692,-8950,3},{5692,-8937,3},{5687,-8920,3},{5687,-8908,3},{5683,-8905,3}, {5685,-8895,3},{5687,-8888,3},{5683,-8887,3},{5683,-8883,3},{5683,-8882,3}, {5680,-8883,3},{5675,-8872,3},{5670,-8865,3},{5665,-8848,3},{5655,-8835,3}, {5643,-8798,3},{5638,-8795,3},{5632,-8785,3},{5620,-8772,3},{5615,-8770,3}, {5608,-8758,3},{5603,-8762,3},{5600,-8762,3},{5605,-8755,3},{5603,-8748,3}, {5602,-8748,3},{5600,-8745,3},{5600,-8735,3},{5595,-8737,3},{5597,-8732,3}, {5593,-8708,3},{5593,-8698,3},{5592,-8695,3},{5590,-8697,3},{5590,-8687,3}, {5585,-8668,3},{5582,-8648,3},{5573,-8628,3},{5570,-8608,3},{5570,-8595,3}, {5563,-8582,3},{5563,-8572,3},{5560,-8568,3},{5557,-8557,3},{5547,-8550,3}, {5542,-8540,3},{5535,-8513,3},{5530,-8512,3},{5527,-8522,3},{5525,-8522,3}, {5522,-8527,3},{5515,-8533,3},{5510,-8540,3},{5507,-8538,3},{5498,-8542,3}, {5502,-8537,3},{5513,-8532,3},{5525,-8520,3},{5528,-8512,3},{5530,-8500,3}, {5528,-8485,3},{5525,-8472,3},{5523,-8460,3},{5528,-8432,3},{5528,-8418,3}, {5527,-8410,3},{5532,-8393,3},{5528,-8383,3},{5525,-8372,3},{5522,-8373,3}, {5525,-8368,3},{5523,-8365,3},{5522,-8360,3},{5518,-8357,3},{5515,-8358,3}, {5513,-8357,3},{5515,-8358,3},{5518,-8355,3},{5523,-8358,3},{5525,-8368,3}, {5528,-8370,3},{5527,-8355,3},{5523,-8348,3},{5522,-8335,3},{5522,-8323,3}, {5520,-8318,3},{5523,-8303,3},{5523,-8297,3},{5522,-8293,3},{5517,-8290,3}, {5510,-8295,3},{5515,-8288,3},{5513,-8278,3},{5515,-8272,3},{5517,-8267,3}, {5513,-8255,3},{5517,-8253,3},{5515,-8245,3},{5512,-8242,3},{5508,-8240,3}, {5507,-8232,3},{5510,-8233,3},{5513,-8232,3},{5517,-8235,3},{5515,-8230,3}, {5510,-8225,3},{5503,-8228,3},{5497,-8225,3},{5493,-8227,3},{5488,-8225,3}, {5488,-8222,3},{5485,-8220,3},{5437,-8243,3},{5422,-8243,3},{5415,-8237,3}, {5412,-8238,3},{5412,-8232,3},{5407,-8225,3},{5382,-8213,3},{5375,-8213,3}, {5360,-8222,3},{5358,-8220,3},{5352,-8222,3},{5342,-8215,3},{5328,-8212,3}, {5323,-8220,3},{5322,-8225,3},{5307,-8230,3},{5298,-8228,3},{5297,-8230,3}, {5295,-8227,3},{5293,-8225,3},{5288,-8210,3},{5278,-8197,3},{5277,-8198,3}, {5275,-8197,3},{5268,-8192,3},{5263,-8182,3},{5252,-8170,3},{5245,-8155,3}, {5242,-8157,3},{5235,-8155,3},{5230,-8148,3},{5232,-8155,3},{5230,-8163,3}, {5227,-8173,3},{5225,-8173,3},{5227,-8178,3},{5225,-8182,3},{5223,-8187,3}, {5223,-8182,3},{5218,-8188,3},{5223,-8173,3},{5223,-8150,3},{5218,-8143,3}, {5215,-8142,3},{5210,-8135,3},{5208,-8127,3},{5203,-8115,3},{5205,-8110,3}, {5203,-8107,3},{5200,-8098,3},{5190,-8092,3},{5188,-8088,3},{5188,-8082,3}, {5185,-8082,3},{5180,-8070,3},{5170,-8058,3},{5152,-8052,3},{5147,-8043,3}, {5137,-8043,3},{5128,-8065,3},{5118,-8075,3},{5115,-8085,3},{5108,-8090,3}, {5107,-8097,3},{5103,-8102,3},{5105,-8093,3},{5103,-8093,3},{5100,-8095,3}, {5103,-8092,3},{5112,-8087,3},{5115,-8070,3},{5128,-8053,3},{5133,-8040,3}, {5130,-8022,3},{5130,-8012,3},{5127,-8008,3},{5125,-8000,3},{5118,-7988,3}, {5112,-7973,3},{5105,-7968,3},{5102,-7963,3},{5087,-7943,3},{5077,-7935,3}, {5072,-7933,3},{5078,-7933,3},{5088,-7942,3},{5098,-7953,3},{5105,-7968,3}, {5112,-7972,3},{5118,-7975,3},{5130,-7968,3},{5140,-7970,3},{5142,-7962,3}, {5145,-7958,3},{5147,-7955,3},{5147,-7952,3},{5155,-7955,3},{5157,-7948,3}, {5167,-7933,3},{5163,-7923,3},{5157,-7928,3},{5152,-7927,3},{5152,-7917,3}, {5153,-7913,3},{5152,-7910,3},{5147,-7902,3},{5128,-7893,3},{5123,-7897,3}, {5118,-7890,3},{5117,-7885,3},{5123,-7892,3},{5130,-7890,3},{5135,-7885,3}, {5135,-7882,3},{5137,-7888,3},{5140,-7888,3},{5148,-7877,3},{5148,-7868,3}, {5150,-7872,3},{5152,-7882,3},{5160,-7882,3},{5160,-7878,3},{5162,-7883,3}, {5165,-7888,3},{5167,-7895,3},{5170,-7893,3},{5177,-7903,3},{5180,-7900,3}, {5180,-7892,3},{5183,-7883,3},{5193,-7890,3},{5197,-7875,3},{5202,-7872,3}, {5200,-7870,3},{5205,-7870,3},{5205,-7863,3},{5208,-7865,3},{5208,-7862,3}, {5212,-7858,3},{5215,-7857,3},{5218,-7853,3},{5223,-7855,3},{5225,-7850,3}, {5223,-7840,3},{5227,-7847,3},{5227,-7855,3},{5230,-7855,3},{5235,-7850,3}, {5237,-7850,3},{5238,-7853,3},{5242,-7852,3},{5243,-7855,3},{5247,-7850,3}, {5248,-7853,3},{5248,-7857,3},{5250,-7853,3},{5253,-7858,3},{5252,-7865,3}, {5253,-7865,3},{5255,-7868,3},{5253,-7870,3},{5255,-7872,3},{5257,-7877,3}, {5260,-7868,3},{5262,-7873,3},{5262,-7872,3},{5265,-7872,3},{5265,-7878,3}, {5270,-7875,3},{5270,-7882,3},{5272,-7877,3},{5273,-7878,3},{5275,-7885,3}, {5278,-7883,3},{5278,-7872,3},{5282,-7873,3},{5282,-7877,3},{5282,-7878,3}, {5288,-7868,3},{5287,-7880,3},{5288,-7887,3},{5292,-7890,3},{5293,-7887,3}, {5297,-7887,3},{5297,-7880,3},{5298,-7878,3},{5298,-7883,3},{5302,-7885,3}, {5300,-7887,3},{5302,-7898,3},{5305,-7892,3},{5307,-7892,3},{5307,-7897,3}, {5317,-7892,3},{5318,-7895,3},{5320,-7890,3},{5322,-7893,3},{5322,-7888,3}, {5325,-7890,3},{5325,-7892,3},{5327,-7890,3},{5328,-7895,3},{5332,-7893,3}, {5335,-7897,3},{5338,-7893,3},{5345,-7898,3},{5345,-7902,3},{5345,-7907,3}, {5345,-7905,3},{5347,-7908,3},{5350,-7912,3},{5353,-7903,3},{5353,-7902,3}, {5352,-7905,3},{5348,-7902,3},{5352,-7897,3},{5357,-7903,3},{5355,-7895,3}, {5357,-7892,3},{5362,-7898,3},{5360,-7907,3},{5363,-7905,3},{5363,-7900,3}, {5367,-7905,3},{5367,-7902,3},{5368,-7902,3},{5372,-7915,3},{5372,-7905,3}, {5373,-7903,3},{5375,-7907,3},{5378,-7905,3},{5380,-7907,3},{5382,-7902,3}, {5383,-7905,3},{5383,-7897,3},{5382,-7893,3},{5382,-7890,3},{5385,-7898,3}, {5385,-7907,3},{5388,-7907,3},{5392,-7910,3},{5392,-7900,3},{5393,-7903,3}, {5395,-7913,3},{5395,-7903,3},{5397,-7910,3},{5397,-7903,3},{5397,-7905,3}, {5398,-7910,3},{5398,-7907,3},{5400,-7907,3},{5400,-7903,3},{5400,-7897,3}, {5402,-7898,3},{5405,-7903,3},{5403,-7908,3},{5407,-7910,3},{5408,-7913,3}, {5408,-7928,3},{5408,-7917,3},{5412,-7917,3},{5410,-7912,3},{5412,-7910,3}, {5412,-7913,3},{5413,-7910,3},{5415,-7913,3},{5417,-7907,3},{5418,-7905,3}, {5417,-7918,3},{5415,-7920,3},{5417,-7925,3},{5418,-7923,3},{5420,-7935,3}, {5420,-7938,3},{5422,-7933,3},{5425,-7933,3},{5425,-7928,3},{5427,-7940,3}, {5428,-7943,3},{5430,-7942,3},{5430,-7947,3},{5437,-7947,3},{5437,-7950,3}, {5440,-7950,3},{5442,-7945,3},{5442,-7950,3},{5445,-7948,3},{5450,-7952,3}, {5450,-7955,3},{5452,-7952,3},{5455,-7960,3},{5457,-7953,3},{5458,-7952,3}, {5462,-7957,3},{5457,-7962,3},{5458,-7963,3},{5463,-7958,3},{5463,-7960,3}, {5462,-7962,3},{5463,-7968,3},{5465,-7965,3},{5467,-7967,3},{5467,-7968,3}, {5465,-7968,3},{5465,-7977,3},{5470,-7963,3},{5473,-7963,3},{5472,-7963,3}, {5473,-7950,3},{5477,-7947,3},{5475,-7945,3},{5477,-7933,3},{5482,-7923,3}, {5485,-7898,3},{5492,-7887,3},{5492,-7877,3},{5498,-7857,3},{5500,-7853,3}, {5503,-7833,3},{5515,-7813,3},{5525,-7785,3},{5527,-7778,3},{5537,-7767,3}, {5540,-7755,3},{5558,-7723,3},{5565,-7713,3},{5570,-7708,3},{5567,-7718,3}, {5568,-7718,3},{5575,-7707,3},{5585,-7697,3},{5593,-7683,3},{5598,-7680,3}, {5600,-7672,3},{5603,-7668,3},{5612,-7663,3},{5625,-7658,3},{5630,-7653,3}, {5680,-7650,3},{5700,-7655,3},{5710,-7653,3},{5717,-7657,3},{5723,-7658,3}, {5740,-7665,3},{5762,-7682,3},{5767,-7680,3},{5787,-7702,3},{5795,-7707,3}, {5797,-7712,3},{5802,-7715,3},{5807,-7725,3},{5810,-7735,3},{5813,-7738,3}, {5817,-7748,3},{5817,-7745,3},{5820,-7745,3},{5827,-7762,3},{5838,-7802,3}, {5842,-7802,3},{5845,-7807,3},{5845,-7813,3},{5850,-7820,3},{5852,-7827,3}, {5862,-7838,3},{5862,-7843,3},{5860,-7843,3},{5855,-7832,3},{5853,-7835,3}, {5857,-7845,3},{5862,-7847,3},{5862,-7857,3},{5867,-7855,3},{5867,-7857,3}, {5868,-7852,3},{5870,-7850,3},{5870,-7847,3},{5877,-7855,3},{5878,-7853,3}, {5878,-7850,3},{5882,-7848,3},{5892,-7855,3},{5893,-7853,3},{5893,-7857,3}, {5897,-7857,3},{5895,-7852,3},{5892,-7845,3},{5895,-7843,3},{5897,-7842,3}, {5895,-7835,3},{5892,-7835,3},{5893,-7830,3},{5895,-7832,3},{5897,-7828,3}, {5900,-7825,3},{5898,-7832,3},{5902,-7827,3},{5905,-7828,3},{5907,-7825,3}, {5905,-7820,3},{5910,-7822,3},{5908,-7818,3},{5910,-7813,3},{5915,-7815,3}, {5915,-7808,3},{5922,-7810,3},{5923,-7800,3},{5927,-7795,3},{5928,-7783,3}, {5930,-7783,3},{5932,-7788,3},{5932,-7778,3},{5935,-7777,3},{5937,-7780,3}, {5940,-7768,3},{5942,-7772,3},{5940,-7775,3},{5943,-7778,3},{5940,-7788,3}, {5940,-7792,3},{5943,-7790,3},{5945,-7785,3},{5947,-7788,3},{5950,-7787,3}, {5953,-7772,3},{5962,-7772,3},{5963,-7777,3},{5967,-7780,3},{5968,-7773,3}, {5972,-7777,3},{5970,-7770,3},{5967,-7767,3},{5968,-7760,3},{5970,-7757,3}, {5967,-7757,3},{5963,-7747,3},{5958,-7745,3},{5957,-7732,3},{5960,-7743,3}, {5967,-7745,3},{5968,-7753,3},{5972,-7748,3},{5975,-7753,3},{5975,-7745,3}, {5977,-7745,3},{5978,-7742,3},{5980,-7730,3},{5988,-7737,3},{5992,-7743,3}, {5992,-7737,3},{5995,-7738,3},{5997,-7730,3},{5998,-7732,3},{6000,-7723,3}, {6002,-7730,3},{6005,-7718,3},{6003,-7732,3},{6007,-7735,3},{6005,-7740,3}, {6003,-7743,3},{6005,-7747,3},{6005,-7748,3},{6007,-7763,3},{6008,-7758,3}, {6012,-7760,3},{6013,-7755,3},{6013,-7740,3},{6015,-7750,3},{6020,-7755,3}, {6022,-7747,3},{6025,-7752,3},{6027,-7757,3},{6028,-7755,3},{6027,-7762,3}, {6033,-7760,3},{6033,-7763,3},{6037,-7763,3},{6040,-7775,3},{6042,-7775,3}, {6047,-7768,3},{6050,-7757,3},{6055,-7755,3},{6055,-7742,3},{6057,-7755,3}, {6055,-7767,3},{6060,-7778,3},{6063,-7783,3},{6075,-7760,3},{6077,-7765,3}, {6077,-7775,3},{6083,-7752,3},{6078,-7778,3},{6075,-7788,3},{6080,-7785,3}, {6078,-7797,3},{6082,-7788,3},{6083,-7790,3},{6078,-7820,3},{6085,-7817,3}, {6088,-7810,3},{6092,-7810,3},{6103,-7788,3},{6105,-7782,3},{6115,-7778,3}, {6120,-7770,3},{6122,-7770,3},{6123,-7775,3},{6127,-7772,3},{6145,-7780,3}, {6145,-7773,3},{6143,-7770,3},{6147,-7768,3},{6147,-7757,3},{6148,-7755,3}, {6152,-7767,3},{6157,-7762,3},{6153,-7747,3},{6157,-7753,3},{6158,-7763,3}, {6158,-7758,3},{6160,-7758,3},{6160,-7772,3},{6170,-7778,3},{6168,-7782,3}, {6168,-7790,3},{6172,-7800,3},{6178,-7800,3},{6187,-7808,3},{6195,-7808,3}, {6203,-7815,3},{6227,-7817,3},{6233,-7810,3},{6240,-7802,3},{6240,-7795,3}, {6247,-7777,3},{6247,-7770,3},{6252,-7765,3},{6253,-7755,3},{6260,-7747,3}, {6258,-7740,3},{6255,-7737,3},{6255,-7718,3},{6252,-7713,3},{6253,-7710,3}, {6252,-7705,3},{6253,-7695,3},{6252,-7690,3},{6250,-7675,3},{6248,-7667,3}, {6245,-7662,3},{6245,-7653,3},{6238,-7615,3},{6233,-7610,3},{6235,-7603,3}, {6233,-7602,3},{6235,-7597,3},{6233,-7592,3},{6232,-7582,3},{6228,-7563,3}, {6227,-7560,3},{6223,-7570,3},{6215,-7590,3},{6217,-7583,3},{6218,-7578,3}, {6223,-7560,3},{6230,-7548,3},{6232,-7532,3},{6228,-7515,3},{6223,-7515,3}, {6227,-7507,3},{6225,-7493,3},{6223,-7487,3},{6220,-7485,3},{6217,-7477,3}, {6215,-7477,3},{6210,-7460,3},{6212,-7455,3},{6215,-7468,3},{6220,-7477,3}, {6225,-7473,3},{6225,-7442,3},{6230,-7428,3},{6232,-7428,3},{6233,-7423,3}, {6232,-7415,3},{6235,-7408,3},{6235,-7400,3},{6245,-7387,3},{6248,-7368,3}, {6247,-7365,3},{6238,-7357,3},{6238,-7352,3},{6238,-7347,3},{6237,-7345,3}, {6237,-7338,3},{6233,-7332,3},{6232,-7322,3},{6225,-7318,3},{6220,-7307,3}, {6218,-7307,3},{6215,-7292,3},{6213,-7290,3},{6212,-7295,3},{6212,-7292,3}, {6212,-7285,3},{6212,-7278,3},{6213,-7282,3},{6215,-7273,3},{6212,-7262,3}, {6205,-7267,3},{6205,-7260,3},{6203,-7262,3},{6202,-7260,3},{6197,-7260,3}, {6195,-7268,3},{6190,-7268,3},{6183,-7280,3},{6183,-7273,3},{6188,-7267,3}, {6185,-7267,3},{6180,-7262,3},{6183,-7260,3},{6190,-7263,3},{6195,-7260,3}, {6188,-7240,3},{6187,-7220,3},{6183,-7218,3},{6180,-7213,3},{6178,-7220,3}, {6178,-7218,3},{6177,-7222,3},{6173,-7222,3},{6175,-7213,3},{6173,-7208,3}, {6168,-7198,3},{6162,-7203,3},{6160,-7212,3},{6162,-7223,3},{6162,-7227,3}, {6157,-7230,3},{6160,-7222,3},{6158,-7210,3},{6160,-7198,3},{6167,-7193,3}, {6170,-7197,3},{6170,-7195,3},{6167,-7167,3},{6160,-7157,3},{6160,-7158,3}, {6157,-7155,3},{6153,-7185,3},{6152,-7185,3},{6152,-7178,3},{6150,-7177,3}, {6148,-7180,3},{6147,-7175,3},{6143,-7188,3},{6142,-7185,3},{6142,-7180,3}, {6140,-7170,3},{6140,-7158,3},{6137,-7170,3},{6137,-7182,3},{6135,-7180,3}, {6135,-7182,3},{6135,-7172,3},{6133,-7167,3},{6128,-7173,3},{6125,-7160,3}, {6120,-7163,3},{6122,-7158,3},{6120,-7157,3},{6115,-7158,3},{6117,-7150,3}, {6120,-7153,3},{6122,-7152,3},{6122,-7145,3},{6118,-7145,3},{6115,-7140,3}, {6112,-7137,3},{6115,-7137,3},{6117,-7122,3},{6112,-7120,3},{6113,-7117,3}, {6112,-7112,3},{6112,-7098,3},{6110,-7092,3},{6107,-7093,3},{6107,-7085,3}, {6105,-7077,3},{6108,-7078,3},{6107,-7072,3},{6105,-7065,3},{6102,-7068,3}, {6103,-7062,3},{6102,-7058,3},{6100,-7055,3},{6103,-7057,3},{6105,-7053,3}, {6107,-7053,3},{6102,-7043,3},{6105,-7045,3},{6105,-7042,3},{6108,-7042,3}, {6107,-7035,3},{6110,-7033,3},{6108,-7027,3},{6107,-7025,3},{6108,-7015,3}, {6107,-7015,3},{6107,-7010,3},{6102,-7017,3},{6102,-7010,3},{6098,-7012,3}, {6095,-7008,3},{6090,-7008,3},{6088,-7015,3},{6087,-7007,3},{6085,-7007,3}, {6085,-7000,3},{6080,-6993,3},{6085,-6985,3},{6083,-6992,3},{6085,-6993,3}, {6092,-6975,3},{6088,-6973,3},{6087,-6968,3},{6088,-6965,3},{6090,-6965,3}, {6095,-6968,3},{6102,-6968,3},{6108,-6960,3},{6107,-6952,3},{6093,-6942,3}, {6092,-6943,3},{6090,-6937,3},{6087,-6938,3},{6080,-6938,3},{6073,-6958,3}, {6070,-6965,3},{6068,-6972,3},{6065,-6968,3},{6060,-6970,3},{6060,-6965,3}, {6057,-6965,3},{6055,-6970,3},{6053,-6983,3},{6047,-6975,3},{6042,-6978,3}, {6040,-6973,3},{6037,-6972,3},{6032,-6977,3},{6028,-6970,3},{6023,-6965,3}, {6023,-6960,3},{6020,-6962,3},{6018,-6965,3},{6018,-6960,3},{6007,-6962,3}, {6007,-6970,3},{6003,-6972,3},{6007,-6978,3},{6007,-6983,3},{6002,-6983,3}, {6000,-6977,3},{5998,-6980,3},{6002,-6995,3},{6000,-7022,3},{6003,-7033,3}, {6000,-7032,3},{6000,-7055,3},{6007,-7098,3},{6007,-7103,3},{5997,-7057,3}, {5998,-7023,3},{5997,-7018,3},{5995,-7007,3},{5997,-6973,3},{5992,-6972,3}, {5990,-6977,3},{5987,-6957,3},{5983,-6960,3},{5978,-6962,3},{5977,-6955,3}, {5968,-6965,3},{5970,-6960,3},{5967,-6952,3},{5960,-6955,3},{5957,-6968,3}, {5950,-6975,3},{5948,-6975,3},{5948,-6970,3},{5945,-6967,3},{5942,-6965,3}, {5938,-6967,3},{5937,-6963,3},{5937,-6965,3},{5935,-6975,3},{5932,-6975,3}, {5930,-6973,3},{5930,-6965,3},{5932,-6960,3},{5935,-6942,3},{5933,-6937,3}, {5930,-6937,3},{5933,-6930,3},{5932,-6925,3},{5928,-6927,3},{5927,-6923,3}, {5922,-6925,3},{5920,-6928,3},{5923,-6933,3},{5925,-6935,3},{5922,-6937,3}, {5918,-6937,3},{5920,-6942,3},{5922,-6942,3},{5922,-6943,3},{5917,-6953,3}, {5910,-6953,3},{5913,-6947,3},{5910,-6943,3},{5912,-6937,3},{5908,-6935,3}, {5907,-6942,3},{5902,-6943,3},{5907,-6948,3},{5907,-6950,3},{5890,-6945,3}, {5887,-6947,3},{5888,-6952,3},{5880,-6955,3},{5878,-6965,3},{5880,-6968,3}, {5887,-6972,3},{5888,-6967,3},{5893,-6967,3},{5892,-6970,3},{5892,-6972,3}, {5897,-6972,3},{5898,-6975,3},{5897,-6978,3},{5905,-6987,3},{5898,-6987,3}, {5895,-6990,3},{5895,-6983,3},{5893,-6980,3},{5882,-6980,3},{5887,-6988,3}, {5887,-6990,3},{5883,-6990,3},{5880,-6997,3},{5882,-7003,3},{5878,-7010,3}, {5877,-7025,3},{5875,-7007,3},{5873,-7003,3},{5877,-6992,3},{5870,-6992,3}, {5870,-6988,3},{5872,-6985,3},{5870,-6980,3},{5868,-6982,3},{5865,-6988,3}, {5858,-6982,3},{5870,-6970,3},{5870,-6965,3},{5875,-6960,3},{5877,-6950,3}, {5885,-6940,3},{5888,-6928,3},{5890,-6925,3},{5888,-6920,3},{5890,-6915,3}, {5890,-6898,3},{5888,-6900,3},{5887,-6897,3},{5888,-6887,3},{5892,-6877,3}, {5890,-6873,3},{5890,-6863,3},{5883,-6850,3},{5882,-6840,3},{5878,-6840,3}, {5878,-6835,3},{5875,-6837,3},{5870,-6838,3},{5867,-6833,3},{5860,-6835,3}, {5858,-6833,3},{5860,-6828,3},{5858,-6827,3},{5853,-6830,3},{5855,-6820,3}, {5848,-6822,3},{5843,-6820,3},{5833,-6825,3},{5823,-6832,3},{5813,-6835,3}, {5805,-6845,3},{5803,-6850,3},{5802,-6870,3},{5797,-6887,3},{5797,-6897,3}, {5792,-6902,3},{5790,-6913,3},{5787,-6922,3},{5777,-6937,3},{5783,-6922,3}, {5788,-6913,3},{5793,-6895,3},{5800,-6868,3},{5800,-6855,3},{5803,-6840,3}, {5807,-6838,3},{5810,-6832,3},{5820,-6830,3},{5825,-6823,3},{5830,-6823,3}, {5842,-6817,3},{5848,-6817,3},{5853,-6813,3},{5852,-6803,3},{5858,-6800,3}, {5855,-6797,3},{5852,-6797,3},{5850,-6790,3},{5840,-6792,3},{5835,-6790,3}, {5832,-6785,3},{5825,-6790,3},{5813,-6810,3},{5807,-6813,3},{5813,-6800,3}, {5820,-6797,3},{5823,-6787,3},{5827,-6787,3},{5830,-6780,3},{5835,-6783,3}, {5847,-6777,3},{5843,-6767,3},{5838,-6770,3},{5835,-6770,3},{5832,-6773,3}, {5830,-6772,3},{5828,-6773,3},{5828,-6768,3},{5825,-6765,3},{5817,-6770,3}, {5807,-6767,3},{5797,-6773,3},{5792,-6772,3},{5798,-6770,3},{5805,-6763,3}, {5812,-6765,3},{5822,-6758,3},{5823,-6752,3},{5827,-6748,3},{5828,-6742,3}, {5828,-6738,3},{5832,-6733,3},{5833,-6727,3},{5833,-6722,3},{5838,-6717,3}, {5835,-6708,3},{5838,-6705,3},{5842,-6708,3},{5842,-6702,3},{5850,-6695,3}, {5848,-6688,3},{5845,-6690,3},{5843,-6685,3},{5845,-6683,3},{5847,-6680,3}, {5850,-6680,3},{5848,-6662,3},{5853,-6667,3},{5855,-6662,3},{5860,-6662,3}, {5863,-6658,3},{5867,-6660,3},{5867,-6657,3},{5872,-6655,3},{5872,-6647,3}, {5873,-6645,3},{5875,-6648,3},{5880,-6645,3},{5882,-6647,3},{5885,-6638,3}, {5872,-6612,3},{5865,-6607,3},{5867,-6602,3},{5865,-6600,3},{5863,-6600,3}, {5862,-6593,3},{5850,-6602,3},{5840,-6598,3},{5837,-6608,3},{5832,-6607,3}, {5837,-6603,3},{5838,-6597,3},{5843,-6595,3},{5845,-6592,3},{5848,-6598,3}, {5853,-6590,3},{5858,-6588,3},{5857,-6583,3},{5862,-6587,3},{5865,-6593,3}, {5868,-6595,3},{5868,-6603,3},{5875,-6605,3},{5877,-6610,3},{5887,-6602,3}, {5883,-6598,3},{5883,-6595,3},{5883,-6585,3},{5885,-6580,3},{5887,-6580,3}, {5888,-6595,3},{5890,-6598,3},{5895,-6585,3},{5902,-6588,3},{5893,-6568,3}, {5897,-6568,3},{5900,-6580,3},{5902,-6573,3},{5903,-6578,3},{5905,-6567,3}, {5903,-6562,3},{5900,-6557,3},{5898,-6550,3},{5900,-6552,3},{5902,-6557,3}, {5905,-6558,3},{5907,-6552,3},{5903,-6545,3},{5903,-6532,3},{5907,-6535,3}, {5907,-6543,3},{5910,-6555,3},{5908,-6557,3},{5907,-6563,3},{5915,-6572,3}, {5918,-6572,3},{5920,-6568,3},{5922,-6573,3},{5927,-6575,3},{5927,-6568,3}, {5918,-6558,3},{5925,-6562,3},{5923,-6557,3},{5927,-6555,3},{5925,-6552,3}, {5925,-6550,3},{5930,-6557,3},{5938,-6558,3},{5935,-6548,3},{5932,-6545,3}, {5928,-6535,3},{5933,-6540,3},{5935,-6545,3},{5940,-6543,3},{5940,-6538,3}, {5943,-6550,3},{5945,-6547,3},{5945,-6548,3},{5948,-6557,3},{5947,-6543,3}, {5948,-6537,3},{5947,-6518,3},{5940,-6513,3},{5937,-6502,3},{5938,-6498,3}, {5942,-6512,3},{5947,-6517,3},{5948,-6522,3},{5948,-6527,3},{5952,-6530,3}, {5952,-6542,3},{5973,-6555,3},{5977,-6547,3},{5980,-6548,3},{5978,-6543,3}, {5982,-6542,3},{5980,-6537,3},{5982,-6538,3},{5985,-6533,3},{5982,-6520,3}, {5978,-6515,3},{5977,-6498,3},{5980,-6513,3},{5983,-6522,3},{5985,-6520,3}, {5988,-6523,3},{5987,-6515,3},{5988,-6513,3},{5992,-6522,3},{5992,-6515,3}, {5995,-6513,3},{5993,-6507,3},{5997,-6512,3},{5998,-6507,3},{6002,-6513,3}, {6005,-6512,3},{6005,-6505,3},{6007,-6503,3},{6010,-6507,3},{6012,-6498,3}, {6015,-6500,3},{6015,-6497,3},{6018,-6495,3},{6020,-6488,3},{6025,-6495,3}, {6027,-6490,3},{6030,-6485,3},{6033,-6483,3},{6037,-6485,3},{6037,-6483,3}, {6033,-6470,3},{6033,-6467,3},{6035,-6470,3},{6035,-6463,3},{6030,-6457,3}, {6025,-6438,3},{6028,-6462,3},{6027,-6472,3},{6023,-6477,3},{6027,-6463,3}, {6027,-6455,3},{6023,-6447,3},{6017,-6457,3},{6017,-6450,3},{6022,-6440,3}, {6020,-6443,3},{6020,-6440,3},{6017,-6438,3},{6012,-6448,3},{6008,-6448,3}, {6007,-6463,3},{6000,-6482,3},{5998,-6482,3},{6005,-6460,3},{6007,-6445,3}, {6013,-6438,3},{6012,-6437,3},{6007,-6437,3},{6007,-6442,3},{6005,-6437,3}, {6002,-6438,3},{6000,-6443,3},{6000,-6458,3},{6000,-6448,3},{5997,-6440,3}, {5993,-6440,3},{5990,-6452,3},{5992,-6437,3},{5995,-6437,3},{5998,-6433,3}, {6000,-6422,3},{6002,-6432,3},{6005,-6432,3},{6005,-6430,3},{6003,-6422,3}, {6002,-6420,3},{6002,-6417,3},{5998,-6415,3},{5995,-6430,3},{5995,-6422,3}, {5992,-6418,3},{5990,-6420,3},{5987,-6427,3},{5988,-6417,3},{5992,-6415,3}, {5990,-6413,3},{5983,-6417,3},{5978,-6418,3},{5977,-6422,3},{5978,-6427,3}, {5977,-6427,3},{5968,-6417,3},{5968,-6395,3},{5967,-6397,3},{5965,-6392,3}, {5963,-6395,3},{5963,-6405,3},{5952,-6412,3},{5955,-6403,3},{5963,-6400,3}, {5960,-6393,3},{5962,-6388,3},{5960,-6387,3},{5958,-6387,3},{5957,-6393,3}, {5950,-6398,3},{5957,-6387,3},{5952,-6373,3},{5942,-6380,3},{5942,-6398,3}, {5940,-6405,3},{5938,-6407,3},{5938,-6383,3},{5937,-6380,3},{5938,-6377,3}, {5938,-6375,3},{5935,-6375,3},{5937,-6372,3},{5927,-6377,3},{5925,-6382,3}, {5923,-6380,3},{5925,-6373,3},{5933,-6370,3},{5937,-6365,3},{5935,-6362,3}, {5935,-6355,3},{5932,-6352,3},{5927,-6353,3},{5923,-6358,3},{5922,-6363,3}, {5922,-6360,3},{5923,-6352,3},{5928,-6345,3},{5928,-6338,3},{5925,-6342,3}, {5923,-6345,3},{5922,-6343,3},{5920,-6347,3},{5922,-6338,3},{5920,-6335,3}, {5913,-6342,3},{5910,-6348,3},{5910,-6353,3},{5907,-6358,3},{5905,-6377,3}, {5908,-6393,3},{5907,-6398,3},{5902,-6405,3},{5903,-6398,3},{5907,-6393,3}, {5905,-6390,3},{5902,-6392,3},{5895,-6387,3},{5903,-6387,3},{5903,-6378,3}, {5902,-6375,3},{5903,-6365,3},{5903,-6353,3},{5907,-6347,3},{5907,-6342,3}, {5910,-6337,3},{5908,-6330,3},{5907,-6328,3},{5905,-6312,3},{5903,-6313,3}, {5903,-6317,3},{5902,-6333,3},{5900,-6322,3},{5895,-6330,3},{5898,-6320,3}, {5898,-6317,3},{5895,-6317,3},{5893,-6323,3},{5893,-6317,3},{5888,-6323,3}, {5885,-6332,3},{5885,-6318,3},{5887,-6317,3},{5885,-6317,3},{5882,-6317,3}, {5885,-6312,3},{5888,-6312,3},{5890,-6307,3},{5888,-6298,3},{5887,-6305,3}, {5885,-6302,3},{5880,-6290,3},{5875,-6292,3},{5870,-6303,3},{5870,-6297,3}, {5872,-6290,3},{5870,-6287,3},{5867,-6285,3},{5863,-6292,3},{5860,-6292,3}, {5855,-6310,3},{5850,-6317,3},{5850,-6330,3},{5850,-6332,3},{5850,-6342,3}, {5852,-6343,3},{5850,-6345,3},{5847,-6352,3},{5848,-6342,3},{5847,-6333,3}, {5845,-6335,3},{5840,-6342,3},{5835,-6353,3},{5830,-6358,3},{5837,-6342,3}, {5847,-6327,3},{5845,-6308,3},{5837,-6317,3},{5845,-6305,3},{5843,-6302,3}, {5847,-6293,3},{5847,-6282,3},{5850,-6278,3},{5845,-6277,3},{5848,-6275,3}, {5850,-6262,3},{5848,-6255,3},{5842,-6265,3},{5838,-6262,3},{5830,-6262,3}, {5828,-6270,3},{5827,-6272,3},{5827,-6285,3},{5822,-6290,3},{5820,-6288,3}, {5822,-6287,3},{5825,-6283,3},{5825,-6268,3},{5827,-6265,3},{5825,-6260,3}, {5822,-6258,3},{5822,-6262,3},{5818,-6263,3},{5817,-6267,3},{5815,-6307,3}, {5813,-6302,3},{5812,-6302,3},{5807,-6322,3},{5805,-6318,3},{5807,-6313,3}, {5803,-6315,3},{5798,-6333,3},{5800,-6313,3},{5802,-6310,3},{5807,-6308,3}, {5808,-6297,3},{5813,-6293,3},{5815,-6283,3},{5812,-6285,3},{5813,-6278,3}, {5812,-6275,3},{5815,-6272,3},{5812,-6267,3},{5813,-6263,3},{5817,-6257,3}, {5812,-6257,3},{5813,-6253,3},{5817,-6253,3},{5818,-6247,3},{5817,-6245,3}, {5810,-6253,3},{5805,-6252,3},{5807,-6248,3},{5810,-6248,3},{5810,-6245,3}, {5810,-6237,3},{5808,-6243,3},{5807,-6238,3},{5805,-6238,3},{5807,-6233,3}, {5803,-6230,3},{5800,-6238,3},{5800,-6253,3},{5797,-6258,3},{5795,-6265,3}, {5793,-6267,3},{5797,-6252,3},{5795,-6242,3},{5793,-6243,3},{5787,-6242,3}, {5795,-6238,3},{5798,-6235,3},{5790,-6233,3},{5795,-6228,3},{5790,-6220,3}, {5793,-6220,3},{5797,-6215,3},{5797,-6213,3},{5795,-6208,3},{5790,-6207,3}, {5783,-6213,3},{5780,-6212,3},{5778,-6208,3},{5777,-6200,3},{5772,-6195,3}, {5768,-6197,3},{5767,-6193,3},{5767,-6190,3},{5762,-6188,3},{5758,-6205,3}, {5757,-6208,3},{5755,-6207,3},{5753,-6213,3},{5753,-6227,3},{5745,-6233,3}, {5750,-6253,3},{5750,-6255,3},{5742,-6237,3},{5747,-6217,3},{5745,-6205,3}, {5742,-6188,3},{5737,-6180,3},{5737,-6192,3},{5733,-6187,3},{5728,-6187,3}, {5725,-6195,3},{5725,-6203,3},{5723,-6202,3},{5722,-6190,3},{5717,-6185,3}, {5720,-6177,3},{5715,-6178,3},{5723,-6163,3},{5722,-6162,3},{5720,-6167,3}, {5715,-6170,3},{5715,-6165,3},{5717,-6148,3},{5715,-6145,3},{5710,-6137,3}, {5705,-6138,3},{5702,-6135,3},{5700,-6137,3},{5698,-6135,3},{5695,-6135,3}, {5698,-6138,3},{5697,-6143,3},{5698,-6148,3},{5695,-6155,3},{5692,-6157,3}, {5688,-6165,3},{5682,-6165,3},{5680,-6168,3},{5678,-6182,3},{5680,-6190,3}, {5670,-6188,3},{5675,-6185,3},{5675,-6177,3},{5673,-6170,3},{5672,-6170,3}, {5670,-6173,3},{5670,-6182,3},{5668,-6180,3},{5665,-6167,3},{5662,-6167,3}, {5665,-6192,3},{5668,-6190,3},{5667,-6200,3},{5668,-6207,3},{5672,-6220,3}, {5677,-6248,3},{5678,-6250,3},{5683,-6228,3},{5682,-6213,3},{5682,-6207,3}, {5683,-6205,3},{5685,-6230,3},{5683,-6243,3},{5685,-6250,3},{5683,-6255,3}, {5680,-6258,3},{5677,-6252,3},{5677,-6250,3},{5675,-6240,3},{5670,-6233,3}, {5667,-6215,3},{5663,-6205,3},{5662,-6192,3},{5662,-6193,3},{5662,-6223,3}, {5662,-6222,3},{5660,-6203,3},{5658,-6200,3},{5658,-6187,3},{5657,-6178,3}, {5657,-6172,3},{5653,-6165,3},{5652,-6165,3},{5650,-6168,3},{5650,-6193,3}, {5650,-6207,3},{5648,-6208,3},{5648,-6195,3},{5647,-6195,3},{5645,-6200,3}, {5645,-6213,3},{5642,-6207,3},{5642,-6197,3},{5643,-6193,3},{5642,-6190,3}, {5640,-6178,3},{5638,-6185,3},{5637,-6178,3},{5633,-6177,3},{5633,-6172,3}, {5633,-6173,3},{5632,-6172,3},{5632,-6165,3},{5628,-6158,3},{5630,-6177,3}, {5630,-6182,3},{5630,-6180,3},{5627,-6167,3},{5625,-6178,3},{5627,-6183,3}, {5627,-6177,3},{5628,-6175,3},{5630,-6188,3},{5628,-6195,3},{5630,-6202,3}, {5628,-6208,3},{5625,-6200,3},{5623,-6202,3},{5622,-6192,3},{5623,-6187,3}, {5622,-6183,3},{5622,-6177,3},{5620,-6177,3},{5622,-6165,3},{5622,-6157,3}, {5620,-6157,3},{5622,-6135,3},{5618,-6133,3},{5617,-6138,3},{5612,-6142,3}, {5615,-6135,3},{5613,-6135,3},{5610,-6133,3},{5608,-6140,3},{5605,-6145,3}, {5603,-6142,3},{5607,-6132,3},{5605,-6123,3},{5603,-6132,3},{5602,-6127,3}, {5602,-6148,3},{5600,-6150,3},{5600,-6138,3},{5598,-6138,3},{5597,-6140,3}, {5600,-6142,3},{5600,-6147,3},{5597,-6140,3},{5597,-6112,3},{5593,-6107,3}, {5590,-6108,3},{5588,-6120,3},{5587,-6120,3},{5585,-6110,3},{5587,-6093,3}, {5585,-6073,3},{5580,-6073,3},{5577,-6077,3},{5575,-6080,3},{5577,-6082,3}, {5575,-6088,3},{5575,-6097,3},{5573,-6095,3},{5573,-6087,3},{5573,-6075,3}, {5582,-6065,3},{5582,-6060,3},{5578,-6062,3},{5570,-6060,3},{5567,-6065,3}, {5563,-6063,3},{5557,-6068,3},{5563,-6060,3},{5580,-6050,3},{5580,-6045,3}, {5577,-6043,3},{5578,-6040,3},{5577,-6037,3},{5578,-6035,3},{5578,-6033,3}, {5575,-6033,3},{5572,-6038,3},{5568,-6037,3},{5567,-6048,3},{5560,-6053,3}, {5563,-6047,3},{5560,-6038,3},{5550,-6045,3},{5558,-6033,3},{5557,-6032,3}, {5553,-6033,3},{5552,-6030,3},{5552,-6032,3},{5552,-6033,3},{5545,-6042,3}, {5545,-6045,3},{5540,-6043,3},{5535,-6048,3},{5538,-6042,3},{5543,-6042,3}, {5548,-6032,3},{5548,-6030,3},{5543,-6037,3},{5545,-6032,3},{5543,-6032,3}, {5543,-6028,3},{5548,-6028,3},{5550,-6027,3},{5548,-6020,3},{5543,-6022,3}, {5543,-6020,3},{5540,-6035,3},{5532,-6042,3},{5528,-6040,3},{5528,-6043,3}, {5528,-6047,3},{5520,-6053,3},{5517,-6062,3},{5518,-6055,3},{5523,-6048,3}, {5522,-6043,3},{5523,-6042,3},{5527,-6037,3},{5525,-6035,3},{5518,-6047,3}, {5512,-6052,3},{5505,-6067,3},{5503,-6067,3},{5500,-6068,3},{5503,-6062,3}, {5507,-6058,3},{5510,-6048,3},{5515,-6045,3},{5517,-6040,3},{5515,-6040,3}, {5517,-6037,3},{5523,-6027,3},{5525,-6020,3},{5528,-6017,3},{5528,-6013,3}, {5520,-6020,3},{5523,-6013,3},{5527,-6005,3},{5527,-6002,3},{5510,-6018,3}, {5510,-6022,3},{5510,-6023,3},{5505,-6028,3},{5502,-6030,3},{5513,-6010,3}, {5523,-6002,3},{5523,-5992,3},{5527,-5992,3},{5533,-5978,3},{5528,-5975,3}, {5527,-5972,3},{5522,-5975,3},{5520,-5973,3},{5520,-5977,3},{5515,-5987,3}, {5517,-5997,3},{5512,-5997,3},{5513,-5992,3},{5513,-5987,3},{5512,-5987,3}, {5510,-5980,3},{5513,-5977,3},{5515,-5973,3},{5513,-5963,3},{5517,-5953,3}, {5520,-5953,3},{5522,-5950,3},{5518,-5948,3},{5513,-5950,3},{5513,-5943,3}, {5510,-5948,3},{5505,-5952,3},{5505,-5957,3},{5500,-5963,3},{5500,-5968,3}, {5498,-5968,3},{5497,-5973,3},{5495,-5972,3},{5488,-5983,3},{5485,-5987,3}, {5485,-5982,3},{5482,-5983,3},{5478,-5988,3},{5475,-5995,3},{5475,-5993,3}, {5475,-5988,3},{5478,-5978,3},{5483,-5980,3},{5490,-5975,3},{5495,-5960,3}, {5507,-5943,3},{5503,-5940,3},{5518,-5928,3},{5522,-5922,3},{5517,-5922,3}, {5518,-5918,3},{5523,-5917,3},{5520,-5913,3},{5515,-5913,3},{5510,-5925,3}, {5505,-5928,3},{5500,-5937,3},{5497,-5938,3},{5502,-5933,3},{5502,-5930,3}, {5503,-5925,3},{5508,-5923,3},{5510,-5918,3},{5507,-5915,3},{5512,-5913,3}, {5512,-5910,3},{5508,-5912,3},{5508,-5908,3},{5515,-5907,3},{5515,-5903,3}, {5515,-5902,3},{5512,-5900,3},{5513,-5897,3},{5510,-5895,3},{5500,-5905,3}, {5502,-5898,3},{5500,-5897,3},{5495,-5890,3},{5490,-5902,3},{5490,-5893,3}, {5492,-5893,3},{5492,-5890,3},{5492,-5888,3},{5490,-5888,3},{5485,-5892,3}, {5485,-5890,3},{5483,-5883,3},{5485,-5882,3},{5485,-5877,3},{5480,-5875,3}, {5485,-5873,3},{5485,-5868,3},{5482,-5868,3},{5480,-5860,3},{5480,-5852,3}, {5477,-5857,3},{5478,-5850,3},{5477,-5843,3},{5473,-5842,3},{5475,-5838,3}, {5478,-5838,3},{5480,-5825,3},{5480,-5818,3},{5477,-5820,3},{5475,-5817,3}, {5473,-5802,3},{5472,-5800,3},{5473,-5795,3},{5473,-5785,3},{5470,-5780,3}, {5468,-5778,3},{5468,-5773,3},{5465,-5772,3},{5463,-5770,3},{5463,-5758,3}, {5467,-5753,3},{5465,-5745,3},{5463,-5743,3},{5462,-5742,3},{5458,-5742,3}, {5458,-5735,3},{5457,-5735,3},{5455,-5743,3},{5455,-5738,3},{5450,-5738,3}, {5448,-5742,3},{5447,-5770,3},{5447,-5747,3},{5445,-5742,3},{5445,-5745,3}, {5447,-5747,3},{5445,-5753,3},{5442,-5752,3},{5438,-5762,3},{5437,-5783,3}, {5438,-5787,3},{5438,-5793,3},{5437,-5815,3},{5435,-5818,3},{5433,-5818,3}, {5432,-5827,3},{5433,-5810,3},{5428,-5825,3},{5425,-5823,3},{5423,-5845,3}, {5415,-5870,3},{5413,-5892,3},{5405,-5938,3},{5407,-5952,3},{5405,-5957,3}, {5403,-5958,3},{5402,-5952,3},{5400,-5952,3},{5402,-5943,3},{5402,-5932,3}, {5407,-5902,3},{5410,-5882,3},{5413,-5875,3},{5412,-5868,3},{5418,-5857,3}, {5420,-5847,3},{5423,-5842,3},{5423,-5837,3},{5415,-5845,3},{5412,-5853,3}, {5410,-5853,3},{5403,-5863,3},{5403,-5903,3},{5402,-5892,3},{5397,-5898,3}, {5393,-5920,3},{5383,-5947,3},{5382,-5960,3},{5383,-5968,3},{5385,-5980,3}, {5383,-5988,3},{5382,-5987,3},{5380,-5980,3},{5378,-5982,3},{5378,-5992,3}, {5377,-6005,3},{5378,-6013,3},{5370,-6002,3},{5370,-6007,3},{5368,-6010,3}, {5362,-6012,3},{5357,-6007,3},{5353,-6013,3},{5355,-6015,3},{5357,-6020,3}, {5363,-6035,3},{5367,-6038,3},{5370,-6052,3},{5373,-6068,3},{5377,-6080,3}, {5383,-6087,3},{5380,-6085,3},{5375,-6088,3},{5373,-6093,3},{5372,-6092,3}, {5372,-6082,3},{5372,-6075,3},{5368,-6053,3},{5355,-6027,3},{5355,-6018,3}, {5350,-6010,3},{5350,-6005,3},{5343,-6003,3},{5347,-6008,3},{5343,-6018,3}, {5338,-6030,3},{5338,-6033,3},{5335,-6037,3},{5337,-6040,3},{5335,-6042,3}, {5333,-6038,3},{5335,-6018,3},{5332,-6020,3},{5327,-6042,3},{5327,-6025,3}, {5332,-6017,3},{5327,-6012,3},{5330,-6008,3},{5332,-6013,3},{5333,-6015,3}, {5335,-6003,3},{5347,-5990,3},{5345,-5987,3},{5348,-5987,3},{5347,-5982,3}, {5348,-5978,3},{5352,-5990,3},{5353,-5988,3},{5352,-5975,3},{5353,-5958,3}, {5358,-5947,3},{5362,-5938,3},{5365,-5937,3},{5365,-5933,3},{5368,-5930,3}, {5367,-5928,3},{5368,-5922,3},{5367,-5917,3},{5368,-5908,3},{5372,-5907,3}, {5372,-5902,3},{5375,-5902,3},{5375,-5905,3},{5380,-5907,3},{5388,-5888,3}, {5395,-5883,3},{5397,-5870,3},{5398,-5860,3},{5402,-5855,3},{5403,-5842,3}, {5405,-5832,3},{5407,-5822,3},{5410,-5813,3},{5407,-5795,3},{5407,-5778,3}, {5410,-5785,3},{5410,-5797,3},{5413,-5803,3},{5413,-5817,3},{5408,-5832,3}, {5413,-5842,3},{5420,-5835,3},{5420,-5823,3},{5423,-5823,3},{5423,-5818,3}, {5423,-5803,3},{5420,-5792,3},{5422,-5788,3},{5420,-5785,3},{5422,-5778,3}, {5418,-5778,3},{5420,-5765,3},{5418,-5760,3},{5417,-5762,3},{5418,-5757,3}, {5417,-5753,3},{5420,-5747,3},{5418,-5743,3},{5415,-5738,3},{5413,-5740,3}, {5413,-5737,3},{5410,-5737,3},{5400,-5730,3},{5397,-5723,3},{5393,-5715,3}, {5393,-5722,3},{5388,-5722,3},{5385,-5715,3},{5382,-5708,3},{5382,-5713,3}, {5380,-5710,3},{5378,-5715,3},{5377,-5717,3},{5373,-5712,3},{5363,-5748,3}, {5358,-5755,3},{5362,-5745,3},{5360,-5745,3},{5358,-5732,3},{5355,-5735,3}, {5353,-5730,3},{5350,-5730,3},{5343,-5737,3},{5343,-5728,3},{5348,-5728,3}, {5353,-5715,3},{5357,-5713,3},{5357,-5717,3},{5358,-5713,3},{5362,-5713,3}, {5363,-5708,3},{5367,-5707,3},{5372,-5702,3},{5373,-5697,3},{5372,-5688,3}, {5373,-5683,3},{5372,-5680,3},{5373,-5678,3},{5373,-5675,3},{5375,-5675,3}, {5375,-5670,3},{5372,-5667,3},{5373,-5662,3},{5375,-5663,3},{5377,-5662,3}, {5378,-5648,3},{5377,-5643,3},{5373,-5643,3},{5373,-5642,3},{5372,-5643,3}, {5370,-5655,3},{5367,-5660,3},{5368,-5670,3},{5367,-5673,3},{5362,-5648,3}, {5363,-5633,3},{5360,-5627,3},{5360,-5633,3},{5358,-5635,3},{5358,-5632,3}, {5357,-5603,3},{5355,-5598,3},{5350,-5600,3},{5352,-5607,3},{5353,-5605,3}, {5353,-5607,3},{5357,-5625,3},{5355,-5627,3},{5353,-5627,3},{5347,-5603,3}, {5343,-5603,3},{5342,-5597,3},{5337,-5603,3},{5337,-5598,3},{5340,-5592,3}, {5337,-5587,3},{5335,-5588,3},{5333,-5580,3},{5332,-5583,3},{5330,-5592,3}, {5328,-5582,3},{5327,-5582,3},{5325,-5587,3},{5323,-5583,3},{5323,-5578,3}, {5327,-5577,3},{5325,-5575,3},{5320,-5578,3},{5320,-5583,3},{5318,-5580,3}, {5318,-5577,3},{5317,-5577,3},{5313,-5575,3},{5310,-5583,3},{5312,-5595,3}, {5308,-5588,3},{5303,-5592,3},{5303,-5605,3},{5303,-5617,3},{5302,-5608,3}, {5298,-5613,3},{5297,-5612,3},{5300,-5603,3},{5300,-5595,3},{5297,-5588,3}, {5295,-5592,3},{5292,-5583,3},{5290,-5583,3},{5288,-5580,3},{5283,-5580,3}, {5282,-5588,3},{5282,-5590,3},{5282,-5597,3},{5280,-5600,3},{5278,-5592,3}, {5277,-5600,3},{5280,-5605,3},{5282,-5617,3},{5278,-5615,3},{5277,-5605,3}, {5272,-5602,3},{5272,-5600,3},{5268,-5597,3},{5268,-5578,3},{5265,-5573,3}, {5263,-5578,3},{5262,-5575,3},{5260,-5580,3},{5262,-5583,3},{5262,-5590,3}, {5263,-5593,3},{5265,-5605,3},{5265,-5610,3},{5265,-5612,3},{5265,-5605,3}, {5262,-5597,3},{5258,-5605,3},{5257,-5598,3},{5255,-5600,3},{5257,-5608,3}, {5253,-5622,3},{5258,-5633,3},{5260,-5650,3},{5257,-5645,3},{5257,-5635,3}, {5253,-5625,3},{5253,-5617,3},{5255,-5612,3},{5253,-5603,3},{5250,-5597,3}, {5252,-5583,3},{5248,-5585,3},{5250,-5575,3},{5247,-5573,3},{5245,-5577,3}, {5243,-5565,3},{5240,-5567,3},{5237,-5563,3},{5235,-5565,3},{5238,-5573,3}, {5238,-5580,3},{5237,-5582,3},{5237,-5578,3},{5235,-5577,3},{5233,-5578,3}, {5243,-5620,3},{5240,-5613,3},{5237,-5597,3},{5235,-5595,3},{5232,-5582,3}, {5230,-5585,3},{5230,-5578,3},{5228,-5577,3},{5230,-5570,3},{5227,-5572,3}, {5225,-5578,3},{5223,-5578,3},{5225,-5573,3},{5223,-5567,3},{5222,-5562,3}, {5222,-5578,3},{5218,-5575,3},{5218,-5568,3},{5213,-5572,3},{5210,-5568,3}, {5208,-5570,3},{5208,-5580,3},{5205,-5577,3},{5200,-5585,3},{5202,-5597,3}, {5197,-5590,3},{5193,-5592,3},{5187,-5612,3},{5182,-5620,3},{5178,-5622,3}, {5178,-5635,3},{5175,-5635,3},{5173,-5640,3},{5175,-5643,3},{5168,-5648,3}, {5165,-5658,3},{5165,-5668,3},{5160,-5668,3},{5157,-5675,3},{5153,-5677,3}, {5153,-5680,3},{5148,-5682,3},{5147,-5685,3},{5148,-5693,3},{5142,-5695,3}, {5142,-5708,3},{5142,-5710,3},{5142,-5715,3},{5142,-5717,3},{5142,-5722,3}, {5150,-5725,3},{5148,-5738,3},{5147,-5740,3},{5148,-5743,3},{5147,-5745,3}, {5145,-5745,3},{5145,-5747,3},{5147,-5748,3},{5143,-5752,3},{5143,-5760,3}, {5147,-5758,3},{5143,-5762,3},{5143,-5768,3},{5148,-5768,3},{5147,-5775,3}, {5140,-5777,3},{5142,-5780,3},{5143,-5780,3},{5142,-5782,3},{5132,-5802,3}, {5128,-5813,3},{5130,-5815,3},{5127,-5822,3},{5128,-5827,3},{5133,-5825,3}, {5133,-5828,3},{5132,-5827,3},{5130,-5828,3},{5128,-5830,3},{5127,-5830,3}, {5130,-5842,3},{5130,-5848,3},{5125,-5858,3},{5127,-5860,3},{5128,-5863,3}, {5123,-5863,3},{5123,-5865,3},{5125,-5867,3},{5122,-5867,3},{5118,-5860,3}, {5115,-5862,3},{5113,-5867,3},{5110,-5873,3},{5108,-5878,3},{5107,-5882,3}, {5108,-5883,3},{5105,-5885,3},{5103,-5883,3},{5100,-5888,3},{5100,-5892,3}, {5103,-5888,3},{5105,-5890,3},{5102,-5897,3},{5102,-5900,3},{5100,-5900,3}, {5100,-5895,3},{5095,-5897,3},{5093,-5895,3},{5090,-5897,3},{5088,-5893,3}, {5087,-5898,3},{5083,-5895,3},{5078,-5903,3},{5075,-5902,3},{5077,-5907,3}, {5078,-5910,3},{5082,-5910,3},{5087,-5905,3},{5088,-5907,3},{5088,-5910,3}, {5080,-5912,3},{5075,-5920,3},{5073,-5920,3},{5073,-5922,3},{5075,-5923,3}, {5075,-5927,3},{5072,-5927,3},{5070,-5932,3},{5067,-5935,3},{5067,-5942,3}, {5063,-5942,3},{5062,-5947,3},{5057,-5948,3},{5057,-5952,3},{5053,-5952,3}, {5052,-5955,3},{5048,-5958,3},{5047,-5972,3},{5043,-5975,3},{5043,-5982,3}, {5037,-5988,3},{5037,-5985,3},{5033,-5985,3},{5035,-5982,3},{5032,-5983,3}, {5028,-5992,3},{5025,-5995,3},{5023,-6003,3},{5025,-6007,3},{5023,-6012,3}, {5020,-6013,3},{5023,-6013,3},{5023,-6017,3},{5025,-6015,3},{5028,-6015,3}, {5028,-6018,3},{5023,-6025,3},{5023,-6027,3},{5027,-6023,3},{5027,-6027,3}, {5028,-6028,3},{5025,-6028,3},{5025,-6037,3},{5022,-6037,3},{5025,-6040,3}, {5023,-6043,3},{5027,-6045,3},{5020,-6058,3},{5022,-6062,3},{5025,-6062,3}, {5022,-6067,3},{5023,-6067,3},{5023,-6075,3},{5020,-6078,3},{5022,-6082,3}, {5022,-6083,3},{5027,-6078,3},{5022,-6092,3},{5020,-6093,3},{5022,-6095,3}, {5023,-6103,3},{5020,-6105,3},{5022,-6110,3},{5018,-6112,3},{5020,-6115,3}, {5018,-6117,3},{5020,-6120,3},{5020,-6130,3},{5008,-6172,3},{5010,-6178,3}, {5015,-6160,3},{5018,-6158,3},{5013,-6175,3},{5013,-6180,3},{5018,-6182,3}, {5020,-6185,3},{5023,-6187,3},{5023,-6222,3},{5027,-6228,3},{5027,-6230,3}, {5028,-6232,3},{5027,-6238,3},{5030,-6240,3},{5025,-6245,3},{5028,-6253,3}, {5027,-6257,3},{5028,-6273,3},{5028,-6275,3},{5032,-6272,3},{5030,-6278,3}, {5028,-6280,3},{5028,-6297,3},{5032,-6300,3},{5028,-6307,3},{5030,-6315,3}, {5028,-6318,3},{5025,-6317,3},{5023,-6323,3},{5023,-6338,3},{5022,-6340,3}, {5022,-6343,3},{5027,-6348,3},{5025,-6362,3},{5027,-6363,3},{5027,-6367,3}, {5030,-6370,3},{5030,-6378,3},{5032,-6382,3},{5028,-6408,3},{5027,-6417,3}, {5027,-6427,3},{5032,-6447,3},{5028,-6453,3},{5028,-6463,3},{5027,-6487,3}, {5027,-6490,3},{5030,-6492,3},{5028,-6498,3},{5030,-6512,3},{5028,-6518,3}, {5032,-6525,3},{5030,-6527,3},{5030,-6547,3},{5025,-6572,3},{5027,-6585,3}, {5028,-6590,3},{5028,-6595,3},{5027,-6600,3},{5022,-6605,3},{5022,-6608,3}, {5025,-6610,3},{5022,-6610,3},{5018,-6608,3},{5022,-6623,3},{5020,-6637,3}, {5022,-6640,3},{5027,-6642,3},{5027,-6647,3},{5022,-6653,3},{5018,-6655,3}, {5017,-6652,3},{5017,-6643,3},{5013,-6647,3},{5015,-6655,3},{5015,-6658,3}, {5018,-6663,3},{5015,-6662,3},{5013,-6667,3},{5005,-6673,3},{5002,-6688,3}, {4997,-6697,3},{4995,-6698,3},{4992,-6697,3},{4982,-6703,3},{4985,-6707,3}, {4982,-6715,3},{4975,-6718,3},{4968,-6717,3},{4958,-6723,3},{4948,-6723,3}, {4933,-6737,3},{4933,-6758,3},{4930,-6767,3},{4932,-6772,3},{4930,-6777,3}, {4927,-6782,3},{4930,-6795,3},{4928,-6800,3},{4928,-6805,3},{4925,-6808,3}, {4927,-6812,3},{4920,-6815,3},{4918,-6823,3},{4920,-6830,3},{4917,-6825,3}, {4917,-6820,3},{4912,-6818,3},{4910,-6825,3},{4910,-6833,3},{4905,-6840,3}, {4907,-6845,3},{4910,-6838,3},{4913,-6837,3},{4915,-6840,3},{4918,-6842,3}, {4918,-6845,3},{4918,-6842,3},{4912,-6840,3},{4908,-6845,3},{4905,-6860,3}, {4900,-6863,3},{4895,-6865,3},{4893,-6870,3},{4892,-6865,3},{4890,-6878,3}, {4888,-6882,3},{4882,-6895,3},{4878,-6897,3},{4877,-6907,3},{4860,-6915,3}, {4858,-6917,3},{4858,-6923,3},{4845,-6930,3},{4835,-6940,3},{4830,-6943,3}, {4825,-6953,3},{4823,-6958,3},{4813,-6968,3},{4815,-6982,3},{4822,-6988,3}, {4825,-6995,3},{4827,-6997,3},{4827,-7013,3},{4837,-7037,3},{4837,-7043,3}, {4838,-7060,3},{4838,-7068,3},{4843,-7077,3},{4843,-7083,3},{4847,-7098,3}, {4843,-7107,3},{4845,-7098,3},{4843,-7095,3},{4840,-7078,3},{4837,-7080,3}, {4835,-7088,3},{4832,-7087,3},{4835,-7077,3},{4835,-7055,3},{4832,-7033,3}, {4830,-7032,3},{4830,-7027,3},{4827,-7022,3},{4823,-7018,3},{4823,-7010,3}, {4825,-7003,3},{4823,-7000,3},{4822,-6992,3},{4815,-6987,3},{4812,-6973,3}, {4807,-6978,3},{4800,-6978,3},{4797,-6982,3},{4792,-6983,3},{4785,-6990,3}, {4777,-6993,3},{4775,-6997,3},{4770,-7002,3},{4767,-7013,3},{4763,-7013,3}, {4758,-7020,3},{4750,-7023,3},{4743,-7045,3},{4743,-7050,3},{4738,-7050,3}, {4727,-7057,3},{4710,-7072,3},{4707,-7082,3},{4705,-7090,3},{4700,-7097,3}, {4687,-7118,3},{4682,-7122,3},{4675,-7130,3},{4678,-7122,3},{4685,-7115,3}, {4685,-7100,3},{4690,-7092,3},{4690,-7085,3},{4692,-7082,3},{4692,-7077,3}, {4695,-7073,3},{4702,-7050,3},{4718,-7032,3},{4732,-7020,3},{4733,-7012,3}, {4738,-7005,3},{4745,-7003,3},{4748,-7002,3},{4753,-6990,3},{4782,-6960,3}, {4783,-6955,3},{4787,-6955,3},{4800,-6943,3},{4802,-6933,3},{4810,-6923,3}, {4815,-6913,3},{4825,-6903,3},{4833,-6885,3},{4837,-6882,3},{4837,-6873,3}, {4843,-6862,3},{4845,-6853,3},{4853,-6845,3},{4855,-6835,3},{4863,-6823,3}, {4865,-6812,3},{4868,-6805,3},{4870,-6797,3},{4885,-6755,3},{4887,-6743,3}, {4892,-6733,3},{4897,-6708,3},{4912,-6663,3},{4913,-6648,3},{4917,-6642,3}, {4922,-6608,3},{4922,-6590,3},{4923,-6577,3},{4923,-6573,3},{4927,-6560,3}, {4927,-6545,3},{4923,-6523,3},{4922,-6497,3},{4918,-6480,3},{4915,-6473,3}, {4912,-6458,3},{4897,-6430,3},{4888,-6422,3},{4882,-6422,3},{4875,-6415,3}, {4882,-6430,3},{4888,-6455,3},{4883,-6447,3},{4882,-6453,3},{4882,-6440,3}, {4878,-6437,3},{4878,-6442,3},{4877,-6443,3},{4877,-6438,3},{4875,-6433,3}, {4863,-6417,3},{4862,-6425,3},{4860,-6427,3},{4855,-6428,3},{4852,-6418,3}, {4850,-6422,3},{4847,-6432,3},{4842,-6432,3},{4840,-6450,3},{4835,-6465,3}, {4833,-6472,3},{4832,-6470,3},{4820,-6477,3},{4817,-6493,3},{4818,-6497,3}, {4815,-6495,3},{4803,-6520,3},{4800,-6530,3},{4800,-6547,3},{4805,-6550,3}, {4812,-6582,3},{4817,-6588,3},{4822,-6590,3},{4818,-6592,3},{4818,-6595,3}, {4817,-6600,3},{4812,-6603,3},{4810,-6608,3},{4812,-6623,3},{4812,-6630,3}, {4810,-6627,3},{4807,-6628,3},{4810,-6635,3},{4812,-6642,3},{4812,-6648,3}, {4810,-6652,3},{4805,-6653,3},{4805,-6663,3},{4803,-6667,3},{4800,-6685,3}, {4798,-6675,3},{4802,-6667,3},{4802,-6662,3},{4807,-6643,3},{4807,-6635,3}, {4802,-6635,3},{4800,-6625,3},{4797,-6615,3},{4793,-6608,3},{4792,-6583,3}, {4787,-6575,3},{4782,-6572,3},{4772,-6568,3},{4767,-6563,3},{4765,-6567,3}, {4762,-6563,3},{4767,-6560,3},{4768,-6548,3},{4775,-6535,3},{4780,-6523,3}, {4785,-6505,3},{4783,-6498,3},{4780,-6505,3},{4778,-6507,3},{4782,-6483,3}, {4780,-6480,3},{4778,-6478,3},{4775,-6480,3},{4775,-6487,3},{4773,-6483,3}, {4775,-6478,3},{4770,-6477,3},{4772,-6475,3},{4775,-6477,3},{4777,-6473,3}, {4773,-6468,3},{4772,-6467,3},{4770,-6475,3},{4768,-6477,3},{4767,-6482,3}, {4762,-6482,3},{4755,-6490,3},{4752,-6490,3},{4752,-6487,3},{4748,-6490,3}, {4747,-6492,3},{4745,-6493,3},{4748,-6490,3},{4748,-6487,3},{4745,-6488,3}, {4743,-6488,3},{4735,-6492,3},{4740,-6490,3},{4737,-6493,3},{4728,-6497,3}, {4727,-6503,3},{4713,-6523,3},{4708,-6537,3},{4707,-6528,3},{4708,-6527,3}, {4708,-6520,3},{4705,-6522,3},{4705,-6517,3},{4708,-6510,3},{4708,-6502,3}, {4705,-6498,3},{4708,-6493,3},{4708,-6480,3},{4705,-6483,3},{4698,-6480,3}, {4692,-6490,3},{4683,-6490,3},{4678,-6487,3},{4672,-6478,3},{4670,-6485,3}, {4667,-6485,3},{4670,-6482,3},{4667,-6475,3},{4670,-6475,3},{4668,-6472,3}, {4658,-6472,3},{4650,-6467,3},{4648,-6472,3},{4645,-6468,3},{4647,-6465,3}, {4642,-6462,3},{4633,-6463,3},{4632,-6470,3},{4633,-6460,3},{4633,-6458,3}, {4637,-6457,3},{4632,-6452,3},{4628,-6457,3},{4622,-6457,3},{4623,-6452,3}, {4625,-6452,3},{4622,-6437,3},{4623,-6425,3},{4622,-6422,3},{4620,-6415,3}, {4618,-6417,3},{4615,-6415,3},{4618,-6412,3},{4615,-6408,3},{4618,-6405,3}, {4618,-6395,3},{4612,-6378,3},{4610,-6377,3},{4608,-6380,3},{4608,-6385,3}, {4605,-6392,3},{4607,-6407,3},{4602,-6410,3},{4598,-6405,3},{4598,-6403,3}, {4600,-6402,3},{4598,-6393,3},{4597,-6387,3},{4593,-6387,3},{4592,-6382,3}, {4588,-6380,3},{4587,-6372,3},{4587,-6373,3},{4583,-6375,3},{4585,-6368,3}, {4583,-6367,3},{4582,-6367,3},{4583,-6365,3},{4587,-6365,3},{4587,-6363,3}, {4587,-6358,3},{4588,-6348,3},{4587,-6342,3},{4585,-6342,3},{4585,-6348,3}, {4582,-6343,3},{4582,-6352,3},{4580,-6350,3},{4580,-6323,3},{4577,-6332,3}, {4577,-6338,3},{4575,-6337,3},{4572,-6328,3},{4575,-6325,3},{4573,-6325,3}, {4577,-6318,3},{4573,-6318,3},{4577,-6312,3},{4575,-6307,3},{4578,-6308,3}, {4580,-6312,3},{4582,-6310,3},{4577,-6278,3},{4577,-6267,3},{4575,-6272,3}, {4575,-6275,3},{4573,-6273,3},{4573,-6267,3},{4572,-6263,3},{4567,-6277,3}, {4563,-6278,3},{4565,-6275,3},{4563,-6273,3},{4562,-6275,3},{4565,-6270,3}, {4563,-6265,3},{4567,-6267,3},{4568,-6262,3},{4567,-6255,3},{4565,-6253,3}, {4565,-6247,3},{4562,-6252,3},{4560,-6248,3},{4562,-6247,3},{4567,-6235,3}, {4565,-6243,3},{4567,-6242,3},{4570,-6225,3},{4578,-6208,3},{4587,-6197,3}, {4588,-6192,3},{4587,-6190,3},{4583,-6192,3},{4568,-6188,3},{4567,-6182,3}, {4563,-6180,3},{4562,-6172,3},{4562,-6167,3},{4563,-6163,3},{4562,-6165,3}, {4562,-6162,3},{4567,-6157,3},{4568,-6147,3},{4560,-6137,3},{4558,-6137,3}, {4553,-6133,3},{4550,-6123,3},{4545,-6123,3},{4540,-6137,3},{4542,-6137,3}, {4538,-6147,3},{4537,-6148,3},{4535,-6147,3},{4533,-6125,3},{4535,-6112,3}, {4533,-6103,3},{4532,-6097,3},{4527,-6097,3},{4530,-6103,3},{4527,-6102,3}, {4523,-6105,3},{4520,-6112,3},{4523,-6115,3},{4527,-6112,3},{4525,-6117,3}, {4520,-6117,3},{4525,-6120,3},{4525,-6127,3},{4522,-6137,3},{4518,-6137,3}, {4518,-6133,3},{4517,-6135,3},{4515,-6140,3},{4517,-6143,3},{4515,-6145,3}, {4515,-6152,3},{4513,-6155,3},{4515,-6162,3},{4517,-6163,3},{4515,-6165,3}, {4518,-6170,3},{4512,-6163,3},{4512,-6167,3},{4508,-6165,3},{4508,-6170,3}, {4510,-6170,3},{4508,-6172,3},{4510,-6175,3},{4508,-6175,3},{4510,-6182,3}, {4507,-6182,3},{4508,-6185,3},{4505,-6183,3},{4505,-6188,3},{4502,-6188,3}, {4505,-6193,3},{4502,-6195,3},{4502,-6200,3},{4502,-6202,3},{4500,-6205,3}, {4498,-6198,3},{4498,-6207,3},{4497,-6207,3},{4498,-6215,3},{4495,-6218,3}, {4495,-6223,3},{4493,-6227,3},{4492,-6232,3},{4492,-6233,3},{4488,-6233,3}, {4492,-6237,3},{4490,-6240,3},{4488,-6240,3},{4485,-6245,3},{4483,-6245,3}, {4490,-6248,3},{4485,-6252,3},{4487,-6255,3},{4483,-6257,3},{4480,-6253,3}, {4480,-6257,3},{4483,-6258,3},{4483,-6262,3},{4482,-6262,3},{4480,-6267,3}, {4478,-6265,3},{4480,-6268,3},{4478,-6275,3},{4478,-6280,3},{4475,-6283,3}, {4472,-6280,3},{4472,-6283,3},{4473,-6287,3},{4472,-6287,3},{4473,-6293,3}, {4470,-6298,3},{4472,-6300,3},{4477,-6300,3},{4477,-6302,3},{4477,-6303,3}, {4477,-6307,3},{4470,-6302,3},{4467,-6305,3},{4472,-6305,3},{4473,-6310,3}, {4478,-6312,3},{4473,-6312,3},{4468,-6315,3},{4470,-6317,3},{4473,-6315,3}, {4467,-6320,3},{4473,-6323,3},{4472,-6325,3},{4468,-6323,3},{4465,-6328,3}, {4463,-6328,3},{4463,-6340,3},{4465,-6342,3},{4467,-6338,3},{4468,-6340,3}, {4467,-6345,3},{4463,-6342,3},{4458,-6343,3},{4468,-6360,3},{4470,-6362,3}, {4472,-6365,3},{4467,-6363,3},{4467,-6358,3},{4463,-6357,3},{4458,-6353,3}, {4455,-6355,3},{4452,-6352,3},{4448,-6353,3},{4447,-6357,3},{4447,-6358,3}, {4448,-6358,3},{4448,-6360,3},{4443,-6363,3},{4447,-6363,3},{4447,-6370,3}, {4445,-6370,3},{4447,-6375,3},{4450,-6377,3},{4447,-6378,3},{4447,-6380,3}, {4448,-6382,3},{4453,-6378,3},{4450,-6380,3},{4452,-6383,3},{4450,-6385,3}, {4448,-6387,3},{4452,-6393,3},{4453,-6395,3},{4458,-6392,3},{4462,-6393,3}, {4463,-6392,3},{4465,-6393,3},{4468,-6388,3},{4465,-6398,3},{4463,-6407,3}, {4458,-6407,3},{4452,-6402,3},{4452,-6405,3},{4447,-6408,3},{4448,-6412,3}, {4455,-6412,3},{4458,-6417,3},{4457,-6420,3},{4453,-6422,3},{4457,-6430,3}, {4450,-6430,3},{4447,-6432,3},{4447,-6430,3},{4445,-6435,3},{4442,-6433,3}, {4440,-6425,3},{4440,-6430,3},{4438,-6430,3},{4437,-6422,3},{4435,-6435,3}, {4433,-6433,3},{4432,-6430,3},{4435,-6430,3},{4432,-6427,3},{4430,-6428,3}, {4428,-6428,3},{4430,-6423,3},{4427,-6425,3},{4425,-6428,3},{4427,-6433,3}, {4430,-6433,3},{4433,-6442,3},{4428,-6435,3},{4425,-6437,3},{4425,-6440,3}, {4413,-6450,3},{4415,-6453,3},{4415,-6457,3},{4415,-6460,3},{4413,-6462,3}, {4412,-6458,3},{4413,-6457,3},{4412,-6455,3},{4408,-6455,3},{4407,-6458,3}, {4407,-6462,3},{4405,-6465,3},{4405,-6472,3},{4403,-6467,3},{4398,-6467,3}, {4398,-6470,3},{4395,-6473,3},{4395,-6482,3},{4392,-6485,3},{4388,-6480,3}, {4387,-6478,3},{4387,-6482,3},{4382,-6483,3},{4382,-6485,3},{4387,-6487,3}, {4388,-6490,3},{4383,-6488,3},{4380,-6488,3},{4380,-6492,3},{4387,-6497,3}, {4385,-6497,3},{4382,-6495,3},{4380,-6493,3},{4375,-6497,3},{4383,-6503,3}, {4375,-6500,3},{4370,-6503,3},{4372,-6505,3},{4370,-6507,3},{4370,-6508,3}, {4375,-6508,3},{4367,-6512,3},{4368,-6515,3},{4375,-6513,3},{4372,-6517,3}, {4370,-6518,3},{4380,-6523,3},{4378,-6523,3},{4378,-6525,3},{4372,-6522,3}, {4368,-6525,3},{4367,-6527,3},{4368,-6530,3},{4370,-6533,3},{4375,-6532,3}, {4377,-6533,3},{4373,-6533,3},{4373,-6537,3},{4367,-6533,3},{4362,-6535,3}, {4360,-6537,3},{4355,-6533,3},{4357,-6537,3},{4357,-6540,3},{4360,-6545,3}, {4357,-6545,3},{4353,-6540,3},{4350,-6542,3},{4355,-6543,3},{4355,-6545,3}, {4352,-6547,3},{4352,-6548,3},{4347,-6547,3},{4353,-6555,3},{4355,-6555,3}, {4357,-6557,3},{4348,-6565,3},{4350,-6567,3},{4350,-6573,3},{4357,-6573,3}, {4357,-6575,3},{4355,-6575,3},{4357,-6578,3},{4368,-6578,3},{4365,-6580,3}, {4362,-6580,3},{4363,-6582,3},{4370,-6582,3},{4373,-6585,3},{4380,-6587,3}, {4377,-6587,3},{4383,-6592,3},{4382,-6593,3},{4380,-6593,3},{4378,-6595,3}, {4378,-6598,3},{4385,-6598,3},{4383,-6600,3},{4380,-6600,3},{4373,-6597,3}, {4370,-6598,3},{4373,-6600,3},{4368,-6602,3},{4375,-6605,3},{4372,-6605,3}, {4373,-6607,3},{4377,-6608,3},{4373,-6612,3},{4380,-6613,3},{4383,-6610,3}, {4383,-6613,3},{4382,-6613,3},{4383,-6615,3},{4385,-6617,3},{4402,-6615,3}, {4408,-6618,3},{4410,-6622,3},{4417,-6618,3},{4423,-6613,3},{4433,-6612,3}, {4448,-6598,3},{4453,-6587,3},{4458,-6585,3},{4458,-6595,3},{4445,-6612,3}, {4438,-6618,3},{4442,-6618,3},{4460,-6595,3},{4462,-6590,3},{4468,-6578,3}, {4467,-6577,3},{4460,-6575,3},{4462,-6568,3},{4468,-6560,3},{4478,-6543,3}, {4468,-6565,3},{4470,-6568,3},{4467,-6572,3},{4468,-6575,3},{4470,-6575,3}, {4490,-6538,3},{4492,-6530,3},{4500,-6517,3},{4505,-6503,3},{4515,-6482,3}, {4522,-6457,3},{4525,-6443,3},{4528,-6440,3},{4530,-6440,3},{4533,-6448,3}, {4530,-6433,3},{4527,-6432,3},{4523,-6435,3},{4520,-6437,3},{4517,-6435,3}, {4515,-6438,3},{4513,-6438,3},{4510,-6437,3},{4513,-6432,3},{4510,-6422,3}, {4505,-6415,3},{4498,-6415,3},{4500,-6415,3},{4500,-6410,3},{4502,-6412,3}, {4505,-6410,3},{4505,-6412,3},{4512,-6420,3},{4515,-6420,3},{4517,-6417,3}, {4520,-6415,3},{4528,-6388,3},{4527,-6385,3},{4528,-6380,3},{4532,-6378,3}, {4530,-6373,3},{4532,-6372,3},{4532,-6358,3},{4533,-6353,3},{4532,-6348,3}, {4528,-6347,3},{4533,-6347,3},{4537,-6337,3},{4537,-6352,3},{4540,-6360,3}, {4538,-6363,3},{4540,-6375,3},{4538,-6385,3},{4535,-6388,3},{4537,-6392,3}, {4538,-6392,3},{4540,-6397,3},{4538,-6400,3},{4538,-6405,3},{4540,-6403,3}, {4542,-6407,3},{4540,-6422,3},{4538,-6425,3},{4540,-6432,3},{4537,-6432,3}, {4537,-6438,3},{4540,-6445,3},{4542,-6457,3},{4538,-6467,3},{4535,-6472,3}, {4533,-6470,3},{4532,-6475,3},{4528,-6477,3},{4532,-6477,3},{4533,-6477,3}, {4535,-6482,3},{4535,-6487,3},{4532,-6493,3},{4535,-6493,3},{4542,-6492,3}, {4545,-6485,3},{4547,-6480,3},{4548,-6483,3},{4553,-6468,3},{4558,-6463,3}, {4560,-6457,3},{4567,-6448,3},{4568,-6445,3},{4572,-6443,3},{4573,-6443,3}, {4575,-6440,3},{4580,-6437,3},{4582,-6430,3},{4580,-6430,3},{4577,-6433,3}, {4573,-6433,3},{4577,-6427,3},{4577,-6430,3},{4580,-6428,3},{4583,-6427,3}, {4588,-6433,3},{4588,-6437,3},{4587,-6433,3},{4577,-6447,3},{4572,-6448,3}, {4573,-6455,3},{4577,-6452,3},{4582,-6448,3},{4585,-6453,3},{4590,-6453,3}, {4587,-6455,3},{4590,-6458,3},{4595,-6462,3},{4600,-6468,3},{4605,-6468,3}, {4608,-6475,3},{4608,-6477,3},{4603,-6470,3},{4600,-6470,3},{4593,-6462,3}, {4585,-6457,3},{4580,-6460,3},{4575,-6467,3},{4572,-6465,3},{4572,-6470,3}, {4562,-6475,3},{4560,-6478,3},{4563,-6482,3},{4562,-6492,3},{4555,-6502,3}, {4545,-6533,3},{4537,-6552,3},{4532,-6555,3},{4532,-6562,3},{4527,-6572,3}, {4525,-6573,3},{4527,-6578,3},{4525,-6582,3},{4520,-6590,3},{4522,-6598,3}, {4528,-6603,3},{4528,-6610,3},{4530,-6613,3},{4532,-6613,3},{4538,-6602,3}, {4542,-6600,3},{4547,-6600,3},{4542,-6605,3},{4535,-6608,3},{4535,-6613,3}, {4533,-6620,3},{4528,-6615,3},{4528,-6608,3},{4525,-6605,3},{4522,-6613,3}, {4520,-6615,3},{4517,-6622,3},{4522,-6625,3},{4520,-6632,3},{4518,-6630,3}, {4518,-6625,3},{4517,-6625,3},{4513,-6632,3},{4515,-6635,3},{4512,-6635,3}, {4510,-6640,3},{4507,-6643,3},{4508,-6647,3},{4512,-6647,3},{4515,-6648,3}, {4513,-6652,3},{4515,-6653,3},{4508,-6665,3},{4507,-6670,3},{4508,-6672,3}, {4505,-6675,3},{4507,-6680,3},{4508,-6678,3},{4510,-6678,3},{4508,-6680,3}, {4508,-6685,3},{4505,-6688,3},{4507,-6690,3},{4512,-6690,3},{4513,-6685,3}, {4515,-6693,3},{4518,-6695,3},{4515,-6698,3},{4517,-6703,3},{4512,-6705,3}, {4508,-6703,3},{4515,-6712,3},{4522,-6713,3},{4522,-6715,3},{4525,-6718,3}, {4522,-6718,3},{4518,-6717,3},{4518,-6720,3},{4520,-6727,3},{4517,-6730,3}, {4515,-6733,3},{4520,-6740,3},{4527,-6747,3},{4540,-6742,3},{4543,-6747,3}, {4550,-6748,3},{4553,-6742,3},{4558,-6742,3},{4562,-6747,3},{4560,-6752,3}, {4563,-6765,3},{4568,-6772,3},{4567,-6773,3},{4570,-6780,3},{4578,-6780,3}, {4583,-6775,3},{4588,-6778,3},{4593,-6775,3},{4595,-6777,3},{4707,-6780,3}, {4712,-6788,3},{4720,-6797,3},{4730,-6815,3},{4733,-6818,3},{4737,-6832,3}, {4733,-6838,3},{4730,-6838,3},{4728,-6843,3},{4730,-6850,3},{4728,-6857,3}, {4725,-6865,3},{4723,-6875,3},{4718,-6890,3},{4727,-6905,3},{4730,-6905,3}, {4743,-6905,3},{4747,-6923,3},{4670,-7002,3},{4643,-7005,3},{4637,-7015,3}, {4635,-7020,3},{4632,-7020,3},{4628,-7023,3},{4620,-7028,3},{4615,-7023,3}, {4610,-7025,3},{4608,-7030,3},{4607,-7028,3},{4603,-7030,3},{4598,-7032,3}, {4595,-7023,3},{4592,-7025,3},{4582,-7040,3},{4575,-7038,3},{4572,-7042,3}, {4572,-7047,3},{4567,-7057,3},{4557,-7070,3},{4550,-7072,3},{4543,-7063,3}, {4540,-7065,3},{4540,-7068,3},{4543,-7073,3},{4543,-7080,3},{4542,-7082,3}, {4532,-7082,3},{4530,-7083,3},{4523,-7088,3},{4530,-7092,3},{4535,-7097,3}, {4535,-7102,3},{4532,-7103,3},{4530,-7108,3},{4528,-7112,3},{4525,-7113,3}, {4525,-7118,3},{4530,-7128,3},{4528,-7135,3},{4525,-7138,3},{4525,-7143,3}, {4520,-7140,3},{4512,-7143,3},{4508,-7150,3},{4502,-7150,3},{4502,-7155,3}, {4502,-7162,3},{4502,-7168,3},{4502,-7177,3},{4502,-7183,3},{4502,-7190,3}, {4502,-7197,3},{4502,-7205,3},{4502,-7212,3},{4502,-7220,3},{4502,-7227,3}, {4502,-7233,3},{4502,-7240,3},{4502,-7248,3},{4502,-7255,3},{4502,-7263,3}, {4502,-7270,3},{4502,-7277,3},{4502,-7285,3},{4502,-7292,3},{4502,-7298,3}, {4502,-7307,3},{4502,-7313,3},{4502,-7320,3},{4502,-7327,3},{4502,-7335,3}, {4500,-7425,3},{4500,-7468,3},{4500,-7475,3},{4502,-7483,3},{4498,-7492,3}, {4498,-7498,3},{4493,-7507,3},{4483,-7532,3},{4462,-7563,3},{4448,-7580,3}, {4440,-7595,3},{4437,-7603,3},{4437,-7608,3},{4433,-7618,3},{4432,-7630,3}, {4425,-7642,3},{4423,-7647,3},{4425,-7648,3},{4423,-7650,3},{4422,-7662,3}, {4423,-7663,3},{4422,-7668,3},{4412,-7690,3},{4408,-7697,3},{4407,-7705,3}, {4408,-7703,3},{4410,-7707,3},{4413,-7700,3},{4418,-7688,3},{4420,-7693,3}, {4413,-7705,3},{4417,-7705,3},{4420,-7700,3},{4422,-7702,3},{4418,-7713,3}, {4417,-7718,3},{4418,-7723,3},{4417,-7732,3},{4418,-7733,3},{4413,-7748,3}, {4412,-7755,3},{4408,-7758,3},{4408,-7757,3},{4415,-7742,3},{4415,-7732,3}, {4415,-7730,3},{4413,-7733,3},{4413,-7732,3},{4410,-7733,3},{4408,-7732,3}, {4410,-7727,3},{4412,-7730,3},{4415,-7725,3},{4415,-7718,3},{4418,-7707,3}, {4412,-7708,3},{4403,-7713,3},{4405,-7710,3},{4405,-7698,3},{4412,-7685,3}, {4403,-7692,3},{4400,-7702,3},{4398,-7700,3},{4395,-7705,3},{4393,-7703,3}, {4395,-7700,3},{4395,-7693,3},{4395,-7687,3},{4395,-7685,3},{4393,-7692,3}, {4385,-7713,3},{4388,-7723,3},{4395,-7717,3},{4392,-7728,3},{4395,-7733,3}, {4395,-7727,3},{4397,-7725,3},{4395,-7728,3},{4397,-7733,3},{4395,-7748,3}, {4400,-7758,3},{4400,-7753,3},{4402,-7753,3},{4403,-7760,3},{4403,-7767,3}, {4403,-7770,3},{4402,-7773,3},{4402,-7768,3},{4400,-7768,3},{4402,-7780,3}, {4398,-7792,3},{4395,-7827,3},{4390,-7848,3},{4392,-7860,3},{4387,-7873,3}, {4387,-7895,3},{4383,-7903,3},{4383,-7910,3},{4378,-7913,3},{4367,-7933,3}, {4365,-7937,3},{4365,-7947,3},{4360,-7952,3},{4357,-7958,3},{4348,-7962,3}, {4335,-7977,3},{4332,-7978,3},{4327,-7975,3},{4325,-7970,3},{4320,-7957,3}, {4320,-7942,3},{4318,-7935,3},{4327,-7915,3},{4327,-7905,3},{4317,-7905,3}, {4308,-7905,3},{4310,-7907,3},{4308,-7908,3},{4305,-7903,3},{4300,-7903,3}, {4297,-7898,3},{4295,-7893,3},{4292,-7892,3},{4288,-7895,3},{4287,-7908,3}, {4283,-7910,3},{4287,-7912,3},{4288,-7917,3},{4288,-7928,3},{4287,-7935,3}, {4288,-7945,3},{4285,-7948,3},{4287,-7958,3},{4285,-7963,3},{4287,-7972,3}, {4282,-7983,3},{4278,-8020,3},{4272,-8032,3},{4267,-8033,3},{4268,-8037,3}, {4265,-8043,3},{4262,-8045,3},{4260,-8043,3},{4260,-8035,3},{4258,-8030,3}, {4257,-8013,3},{4255,-8005,3},{4253,-8012,3},{4257,-8035,3},{4257,-8052,3}, {4265,-8083,3},{4267,-8092,3},{4267,-8113,3},{4265,-8133,3},{4257,-8153,3}, {4240,-8178,3},{4235,-8182,3},{4227,-8185,3},{4225,-8190,3},{4230,-8187,3}, {4232,-8185,3},{4228,-8192,3},{4227,-8192,3},{4225,-8207,3},{4210,-8242,3}, {4203,-8248,3},{4192,-8250,3},{4198,-8255,3},{4203,-8263,3},{4203,-8270,3}, {4198,-8283,3},{4198,-8290,3},{4205,-8308,3},{4207,-8312,3},{4225,-8310,3}, {4232,-8305,3},{4232,-8300,3},{4235,-8295,3},{4232,-8278,3},{4230,-8263,3}, {4232,-8248,3},{4233,-8243,3},{4238,-8240,3},{4245,-8243,3},{4250,-8242,3}, {4248,-8247,3},{4250,-8248,3},{4252,-8260,3},{4255,-8265,3},{4255,-8263,3}, {4257,-8258,3},{4262,-8252,3},{4277,-8247,3},{4282,-8248,3},{4290,-8247,3}, {4297,-8242,3},{4302,-8242,3},{4307,-8218,3},{4313,-8207,3},{4322,-8200,3}, {4325,-8188,3},{4335,-8175,3},{4350,-8170,3},{4368,-8173,3},{4393,-8172,3}, {4408,-8175,3},{4415,-8167,3},{4422,-8162,3},{4435,-8158,3},{4435,-8155,3}, {4442,-8148,3},{4443,-8140,3},{4452,-8138,3},{4462,-8127,3},{4465,-8127,3}, {4470,-8130,3},{4472,-8127,3},{4478,-8128,3},{4478,-8130,3},{4482,-8128,3}, {4483,-8132,3},{4487,-8133,3},{4488,-8135,3},{4492,-8137,3},{4497,-8135,3}, {4498,-8137,3},{4500,-8137,3},{4498,-8140,3},{4500,-8142,3},{4498,-8143,3}, {4505,-8147,3},{4515,-8157,3},{4515,-8158,3},{4520,-8158,3},{4518,-8160,3}, {4520,-8165,3},{4520,-8170,3},{4522,-8172,3},{4525,-8170,3},{4527,-8170,3}, {4527,-8163,3},{4525,-8162,3},{4523,-8143,3},{4525,-8128,3},{4522,-8128,3}, {4517,-8133,3},{4513,-8132,3},{4510,-8127,3},{4500,-8125,3},{4500,-8123,3}, {4502,-8122,3},{4502,-8120,3},{4500,-8118,3},{4497,-8120,3},{4497,-8112,3}, {4492,-8115,3},{4493,-8110,3},{4490,-8107,3},{4493,-8103,3},{4495,-8105,3}, {4497,-8103,3},{4497,-8095,3},{4492,-8100,3},{4487,-8100,3},{4483,-8102,3}, {4480,-8112,3},{4475,-8113,3},{4475,-8112,3},{4478,-8105,3},{4482,-8098,3}, {4478,-8090,3},{4475,-8088,3},{4460,-8095,3},{4470,-8080,3},{4472,-8075,3}, {4473,-8065,3},{4462,-8058,3},{4460,-8048,3},{4455,-8043,3},{4452,-8023,3}, {4447,-8008,3},{4455,-8000,3},{4463,-8000,3},{4468,-7998,3},{4473,-8005,3}, {4475,-8012,3},{4482,-8010,3},{4482,-8007,3},{4485,-8002,3},{4487,-7997,3}, {4485,-7992,3},{4482,-7993,3},{4482,-7990,3},{4480,-7988,3},{4477,-7988,3}, {4475,-7967,3},{4477,-7967,3},{4478,-7972,3},{4483,-7968,3},{4488,-7968,3}, {4487,-7973,3},{4483,-7970,3},{4482,-7973,3},{4480,-7975,3},{4482,-7978,3}, {4485,-7977,3},{4487,-7982,3},{4490,-7980,3},{4490,-7983,3},{4493,-7983,3}, {4495,-7988,3},{4495,-7992,3},{4498,-7993,3},{4502,-7993,3},{4503,-8000,3}, {4507,-8000,3},{4508,-8005,3},{4512,-8010,3},{4512,-8002,3},{4515,-7998,3}, {4518,-8002,3},{4522,-8007,3},{4518,-8012,3},{4523,-8013,3},{4532,-8003,3}, {4540,-8008,3},{4540,-8017,3},{4537,-8020,3},{4535,-8017,3},{4533,-8023,3}, {4537,-8023,3},{4537,-8028,3},{4538,-8032,3},{4543,-8030,3},{4543,-8033,3}, {4540,-8033,3},{4538,-8035,3},{4540,-8037,3},{4543,-8035,3},{4547,-8040,3}, {4557,-8038,3},{4560,-8040,3},{4563,-8043,3},{4558,-8042,3},{4557,-8050,3}, {4560,-8052,3},{4563,-8052,3},{4565,-8058,3},{4568,-8058,3},{4568,-8060,3}, {4570,-8058,3},{4573,-8063,3},{4578,-8063,3},{4582,-8067,3},{4582,-8072,3}, {4583,-8072,3},{4585,-8067,3},{4587,-8073,3},{4590,-8075,3},{4593,-8077,3}, {4590,-8080,3},{4595,-8080,3},{4593,-8087,3},{4595,-8090,3},{4593,-8093,3}, {4595,-8105,3},{4595,-8112,3},{4593,-8115,3},{4593,-8118,3},{4598,-8115,3}, {4602,-8117,3},{4602,-8122,3},{4598,-8125,3},{4600,-8118,3},{4600,-8117,3}, {4597,-8120,3},{4595,-8127,3},{4600,-8145,3},{4598,-8150,3},{4602,-8148,3}, {4595,-8167,3},{4600,-8157,3},{4602,-8165,3},{4603,-8150,3},{4603,-8158,3}, {4602,-8170,3},{4607,-8155,3},{4608,-8153,3},{4610,-8160,3},{4612,-8162,3}, {4612,-8165,3},{4608,-8167,3},{4607,-8175,3},{4602,-8177,3},{4607,-8178,3}, {4610,-8172,3},{4610,-8197,3},{4613,-8210,3},{4612,-8213,3},{4615,-8222,3}, {4615,-8228,3},{4615,-8230,3},{4617,-8237,3},{4618,-8238,3},{4618,-8232,3}, {4618,-8240,3},{4618,-8243,3},{4620,-8245,3},{4618,-8252,3},{4617,-8267,3}, {4618,-8268,3},{4622,-8263,3},{4620,-8270,3},{4618,-8282,3},{4618,-8288,3}, {4618,-8295,3},{4617,-8298,3},{4618,-8313,3},{4620,-8317,3},{4620,-8320,3}, {4625,-8347,3},{4625,-8355,3},{4628,-8360,3},{4627,-8370,3},{4630,-8377,3}, {4630,-8387,3},{4632,-8388,3},{4633,-8405,3},{4637,-8412,3},{4648,-8408,3}, {4650,-8407,3},{4653,-8410,3},{4655,-8418,3},{4653,-8425,3},{4652,-8430,3}, {4653,-8442,3},{4650,-8447,3},{4648,-8447,3},{4648,-8452,3},{4652,-8453,3}, {4655,-8458,3},{4657,-8458,3},{4667,-8447,3},{4670,-8442,3},{4675,-8445,3}, {4675,-8447,3},{4670,-8452,3},{4670,-8453,3},{4670,-8455,3},{4673,-8457,3}, {4675,-8455,3},{4682,-8455,3},{4685,-8445,3},{4683,-8440,3},{4688,-8435,3}, {4693,-8443,3},{4693,-8452,3},{4695,-8457,3},{4693,-8458,3},{4690,-8458,3}, {4690,-8462,3},{4697,-8467,3},{4695,-8472,3},{4698,-8478,3},{4705,-8477,3}, {4710,-8470,3},{4715,-8472,3},{4717,-8468,3},{4718,-8470,3},{4725,-8463,3}, {4730,-8458,3},{4737,-8463,3},{4737,-8467,3},{4738,-8470,3},{4743,-8472,3}, {4748,-8482,3},{4752,-8492,3},{4753,-8495,3},{4757,-8495,3},{4762,-8503,3}, {4762,-8500,3},{4765,-8500,3},{4768,-8497,3},{4772,-8498,3},{4773,-8493,3}, {4780,-8488,3},{4783,-8493,3},{4785,-8493,3},{4792,-8485,3},{4793,-8483,3}, {4797,-8487,3},{4795,-8490,3},{4795,-8492,3},{4797,-8500,3},{4797,-8527,3}, {4792,-8543,3},{4793,-8567,3},{4797,-8582,3},{4800,-8587,3},{4803,-8590,3}, {4803,-8593,3},{4807,-8593,3},{4808,-8600,3},{4817,-8608,3},{4833,-8618,3}, {4840,-8618,3},{4843,-8622,3},{4858,-8627,3},{4862,-8633,3},{4865,-8632,3}, {4867,-8635,3},{4872,-8640,3},{4873,-8638,3},{4875,-8643,3},{4878,-8643,3}, {4875,-8653,3},{4873,-8655,3},{4875,-8663,3},{4878,-8662,3},{4880,-8668,3}, {4882,-8670,3},{4875,-8685,3},{4882,-8698,3},{4880,-8700,3},{4877,-8700,3}, {4878,-8705,3},{4877,-8712,3},{4878,-8718,3},{4877,-8720,3},{4877,-8728,3}, {4880,-8730,3},{4880,-8738,3},{4883,-8742,3},{4885,-8745,3},{4883,-8755,3}, {4888,-8758,3},{4887,-8765,3},{4890,-8768,3},{4890,-8778,3},{4893,-8778,3}, {4892,-8785,3},{4895,-8795,3},{4898,-8803,3},{4902,-8803,3},{4900,-8807,3}, {4900,-8812,3},{4897,-8818,3},{4897,-8823,3},{4900,-8825,3},{4898,-8827,3}, {4893,-8823,3},{4888,-8825,3},{4887,-8825,3},{4883,-8817,3},{4880,-8810,3}, {4877,-8812,3},{4872,-8810,3},{4860,-8820,3},{4860,-8825,3},{4863,-8823,3}, {4860,-8828,3},{4865,-8833,3},{4858,-8832,3},{4857,-8835,3},{4853,-8840,3}, {4857,-8843,3},{4853,-8847,3},{4852,-8848,3},{4847,-8848,3},{4847,-8852,3}, {4843,-8852,3},{4843,-8857,3},{4848,-8857,3},{4848,-8858,3},{4855,-8855,3}, {4855,-8852,3},{4868,-8835,3},{4877,-8832,3},{4883,-8837,3},{4885,-8848,3}, {4877,-8855,3},{4873,-8855,3},{4872,-8852,3},{4870,-8855,3},{4865,-8853,3}, {4862,-8862,3},{4852,-8863,3},{4850,-8870,3},{4837,-8873,3},{4833,-8890,3}, {4832,-8893,3},{4838,-8890,3},{4838,-8887,3},{4848,-8883,3},{4855,-8875,3}, {4858,-8877,3},{4848,-8913,3},{4845,-8920,3},{4838,-8925,3},{4832,-8920,3}, {4830,-8923,3},{4825,-8927,3},{4820,-8927,3},{4820,-8930,3},{4818,-8928,3}, {4815,-8932,3},{4813,-8933,3},{4812,-8933,3},{4810,-8943,3},{4808,-8945,3}, {4808,-8942,3},{4807,-8942,3},{4805,-8950,3},{4803,-8952,3},{4800,-8958,3}, {4802,-8970,3},{4803,-8977,3},{4798,-8990,3},{4802,-9000,3},{4808,-9005,3}, {4810,-9007,3},{4812,-9015,3},{4810,-9040,3},{4810,-9047,3},{4810,-9048,3}, {4808,-9055,3},{4812,-9058,3},{4808,-9075,3},{4812,-9078,3},{4817,-9078,3}, {4818,-9083,3},{4823,-9083,3},{4823,-9087,3},{4823,-9093,3},{4815,-9113,3}, {4808,-9125,3},{4805,-9140,3},{4803,-9142,3},{4805,-9145,3},{4805,-9157,3}, {4805,-9158,3},{4810,-9158,3},{4810,-9170,3},{4812,-9170,3},{4815,-9168,3}, {4820,-9173,3},{4820,-9185,3},{4823,-9188,3},{4823,-9193,3},{4825,-9198,3}, {4835,-9205,3},{4835,-9213,3},{4833,-9227,3},{4830,-9230,3},{4825,-9228,3}, {4823,-9235,3},{4832,-9245,3},{4840,-9245,3},{4845,-9250,3},{4843,-9265,3}, {4845,-9270,3},{4848,-9270,3},{4850,-9262,3},{4853,-9263,3},{4853,-9272,3}, {4858,-9287,3},{4862,-9295,3},{4862,-9312,3},{4863,-9325,3},{4860,-9345,3}, {4857,-9345,3},{4853,-9348,3},{4852,-9365,3},{4852,-9378,3},{4852,-9380,3}, {4862,-9383,3},{4863,-9385,3},{4865,-9423,3},{4870,-9427,3},{4870,-9430,3}, {4872,-9440,3},{4870,-9448,3},{4872,-9458,3},{4875,-9465,3},{4878,-9470,3}, {4888,-9470,3},{4897,-9472,3},{4917,-9480,3},{4932,-9482,3},{4937,-9493,3}, {4937,-9508,3},{4938,-9515,3},{4933,-9515,3},{4927,-9515,3},{4920,-9515,3}, {4913,-9515,3},{4907,-9515,3},{4900,-9515,3},{4900,-9520,3},{4900,-9530,3}, {4900,-9540,3},{4900,-9550,3},{4900,-9560,3},{4900,-9570,3},{4900,-9580,3}, {4900,-9590,3},{4900,-9600,3},{4900,-9610,3},{4900,-9620,3},{4900,-9630,3}, {4900,-9640,3},{4900,-9650,3},{4900,-9660,3},{4900,-9670,3},{4900,-9680,3}, {4900,-9690,3},{4900,-9700,3},{4900,-9710,3},{4900,-9720,3},{4900,-9730,3}, {4900,-9740,3},{4900,-9750,3},{4900,-9760,3},{4900,-9770,3},{4900,-9780,3}, {4900,-9790,3},{4900,-9800,3},{4900,-9810,3},{4900,-9820,3},{4900,-9830,3}, {4900,-9840,3},{4900,-9850,3},{4900,-9860,3},{4900,-9870,3},{4900,-9880,3}, {4900,-9890,3},{4900,-9900,3},{4900,-9910,3},{4900,-9920,3},{4900,-9930,3}, {4900,-9940,3},{4900,-9950,3},{4900,-9960,3},{4900,-9970,3},{4900,-9980,3}, {4900,-9990,3},{4900,-10000,3},{4900,-10010,3},{4900,-10020,3},{4900,-10030,3}, {4900,-10040,3},{4900,-10050,3},{4900,-10060,3},{4900,-10070,3},{4900,-10080,3}, {4900,-10090,3},{4900,-10100,3},{4900,-10110,3},{4900,-10120,3},{4900,-10130,3}, {4900,-10137,3},{4900,-10150,3},{4900,-10160,3},{4900,-10170,3},{4900,-10180,3}, {4900,-10190,3},{4900,-10200,3},{4900,-10210,3},{4900,-10220,3},{4900,-10230,3}, {4900,-10240,3},{4900,-10250,3},{4900,-10260,3},{4900,-10270,3},{4900,-10280,3}, {4900,-10290,3},{4900,-10300,3},{4900,-10310,3},{4900,-10320,3},{4900,-10330,3}, {4900,-10340,3},{4900,-10350,3},{4900,-10360,3},{4900,-10370,3},{4900,-10380,3}, {4900,-10392,3},{4900,-10403,3},{4900,-10412,3},{4900,-10420,3},{4900,-10430,3}, {4900,-10440,3},{4900,-10450,3},{4900,-10460,3},{4900,-10470,3},{4900,-10480,3}, {4900,-10490,3},{4900,-10500,3},{4900,-10510,3},{4900,-10520,3},{4900,-10530,3}, {4900,-10540,3},{4900,-10550,3},{4900,-10557,3},{4900,-10570,3},{4900,-10580,3}, {4900,-10590,3},{4900,-10600,3},{4900,-10610,3},{4900,-10620,3},{4900,-10630,3}, {4900,-10640,3},{4900,-10650,3},{4900,-10660,3},{4900,-10670,3},{4900,-10680,3}, {4900,-10693,3},{4900,-10700,3},{4900,-10710,3},{4900,-10720,3},{4900,-10730,3}, {4900,-10740,3},{4900,-10750,3},{4900,-10760,3},{4900,-10770,3},{4900,-10780,3}, {4900,-10790,3},{4900,-10800,3},{4900,-10810,3},{4900,-10820,3},{4900,-10830,3}, {4900,-10840,3},{4900,-10853,3},{4900,-10860,3},{4900,-10870,3},{4900,-10880,3}, {4900,-10890,3},{4900,-10900,3},{4900,-10910,3},{4900,-10920,3},{4900,-10930,3}, {4900,-10940,3},{4900,-10950,3},{4900,-10960,3},{4900,-10970,3},{4900,-10980,3}, {4900,-10990,3},{4900,-11000,3},{4900,-11010,3},{4900,-11020,3},{4900,-11030,3}, {4900,-11040,3},{4900,-11050,3},{4900,-11060,3},{4900,-11070,3},{4900,-11080,3}, {4900,-11090,3},{4900,-11100,3},{4900,-11110,3},{4900,-11120,3},{4900,-11130,3}, {4900,-11140,3},{4900,-11150,3},{4900,-11160,3},{4900,-11170,3},{4900,-11180,3}, {4900,-11190,3},{4900,-11200,3},{4900,-11210,3},{4900,-11220,3},{4900,-11230,3}, {4900,-11240,3},{4900,-11250,3},{4900,-11260,3},{4900,-11270,3},{4900,-11280,3}, {4900,-11290,3},{4900,-11300,3},{4900,-11313,3},{4900,-11320,3},{4900,-11330,3}, {4900,-11340,3},{4900,-11350,3},{4900,-11360,3},{4900,-11370,3},{4900,-11380,3}, {4900,-11390,3},{4900,-11400,3},{4900,-11407,3},{4900,-11420,3},{4900,-11430,3}, {4900,-11440,3},{4900,-11450,3},{4900,-11460,3},{4900,-11470,3},{4900,-11480,3}, {4900,-11490,3},{4900,-11500,3},{4900,-11510,3},{4900,-11520,3},{4900,-11530,3}, {4900,-11540,3},{4900,-11550,3},{4900,-11560,3},{4900,-11570,3},{4900,-11580,3}, {4900,-11590,3},{4900,-11600,3},{4900,-11605,3},{4900,-11613,3},{4900,-11623,3}, {4900,-11633,3},{4900,-11643,3},{4900,-11653,3},{4900,-11663,3},{4900,-11673,3}, {4900,-11683,3},{4900,-11693,3},{4900,-11703,3},{4900,-11710,3},{4900,-11720,3}, {4900,-11730,3},{4900,-11740,3},{4900,-11750,3},{4900,-11760,3},{4900,-11770,3}, {4900,-11780,3},{4900,-11790,3},{4900,-11800,3},{4900,-11810,3},{4900,-11820,3}, {4900,-11830,3},{4900,-11840,3},{4900,-11850,3},{4900,-11860,3},{4900,-11870,3}, {4900,-11880,3},{4900,-11890,3},{4900,-11900,3},{4900,-11910,3},{4900,-11920,3}, {4900,-11930,3},{4900,-11940,3},{4900,-11950,3},{4900,-11960,3},{4900,-11970,3}, {4900,-11980,3},{4900,-11993,3},{4900,-12000,3},{4900,-12010,3},{4900,-12020,3}, {4900,-12030,3},{4900,-12040,3},{4900,-12050,3},{4900,-12060,3},{4900,-12070,3}, {4900,-12080,3},{4900,-12090,3},{4900,-12100,3},{4900,-12110,3},{4900,-12120,3}, {4900,-12130,3},{4900,-12137,3},{4900,-12150,3},{4900,-12160,3},{4900,-12170,3}, {4900,-12180,3},{4900,-12190,3},{4900,-12200,3},{4900,-12210,3},{4900,-12220,3}, {4900,-12230,3},{4900,-12240,3},{4900,-12250,3},{4900,-12260,3},{4900,-12270,3}, {4900,-12277,3},{4902,-12285,3},{4903,-12288,3},{4908,-12287,3},{4908,-12293,3}, {4903,-12305,3},{4900,-12303,3},{4900,-12310,3},{5592,-13000,131},{5575,-13017,3}, {5565,-13012,3},{5553,-13015,3},{5543,-13007,3},{5535,-13005,3},{5528,-12998,3}, {5523,-13007,3},{5523,-13010,3},{5520,-13010,3},{5517,-13015,3},{5503,-13023,3}, {5490,-13037,3},{5480,-13058,3},{5480,-13060,3},{5485,-13057,3},{5485,-13058,3}, {5477,-13068,3},{5478,-13073,3},{5482,-13068,3},{5490,-13073,3},{5497,-13073,3}, {5495,-13075,3},{5488,-13075,3},{5483,-13073,3},{5482,-13075,3},{5482,-13078,3}, {5478,-13078,3},{5477,-13082,3},{5478,-13090,3},{5480,-13092,3},{5488,-13093,3}, {5492,-13097,3},{5493,-13093,3},{5497,-13093,3},{5497,-13097,3},{5500,-13100,3}, {5507,-13097,3},{5510,-13083,3},{5510,-13082,3},{5507,-13080,3},{5508,-13072,3}, {5513,-13068,3},{5522,-13055,3},{5533,-13047,3},{5533,-13048,3},{5528,-13055,3}, {5522,-13060,3},{5510,-13075,3},{5510,-13078,3},{5515,-13082,3},{5508,-13092,3}, {5510,-13102,3},{5513,-13107,3},{5518,-13107,3},{5528,-13092,3},{5530,-13062,3}, {5532,-13067,3},{5535,-13065,3},{5535,-13068,3},{5530,-13072,3},{5530,-13087,3}, {5547,-13088,3},{5558,-13087,3},{5568,-13090,3},{5570,-13088,3},{5578,-13095,3}, {5582,-13092,3},{5580,-13098,3},{5582,-13102,3},{5587,-13105,3},{5590,-13112,3}, {5593,-13113,3},{5593,-13115,3},{5597,-13117,3},{5597,-13120,3},{5600,-13117,3}, {5605,-13105,3},{5605,-13108,3},{5610,-13102,3},{5610,-13107,3},{5600,-13122,3}, {5597,-13132,3},{5597,-13138,3},{5600,-13142,3},{5597,-13148,3},{5598,-13150,3}, {5597,-13152,3},{5593,-13162,3},{5588,-13175,3},{5585,-13192,3},{5580,-13175,3}, {5572,-13182,3},{5572,-13187,3},{5567,-13182,3},{5563,-13183,3},{5562,-13188,3}, {5560,-13188,3},{5567,-13200,3},{5558,-13193,3},{5558,-13195,3},{5553,-13192,3}, {5550,-13197,3},{5558,-13218,3},{5568,-13220,3},{5575,-13227,3},{5575,-13223,3}, {5572,-13217,3},{5577,-13217,3},{5580,-13217,3},{5580,-13205,3},{5585,-13208,3}, {5588,-13203,3},{5593,-13207,3},{5595,-13203,3},{5597,-13195,3},{5617,-13197,3}, {5618,-13187,3},{5620,-13187,3},{5620,-13177,3},{5617,-13160,3},{5622,-13148,3}, {5620,-13163,3},{5623,-13190,3},{5630,-13197,3},{5635,-13197,3},{5638,-13207,3}, {5637,-13210,3},{5638,-13215,3},{5647,-13218,3},{5648,-13225,3},{5648,-13228,3}, {5653,-13235,3},{5660,-13233,3},{5663,-13232,3},{5660,-13243,3},{5663,-13255,3}, {5667,-13252,3},{5667,-13245,3},{5672,-13252,3},{5675,-13247,3},{5677,-13247,3}, {5677,-13242,3},{5680,-13240,3},{5682,-13237,3},{5682,-13240,3},{5678,-13243,3}, {5678,-13248,3},{5675,-13250,3},{5678,-13265,3},{5685,-13277,3},{5688,-13278,3}, {5690,-13287,3},{5693,-13285,3},{5698,-13292,3},{5695,-13278,3},{5698,-13277,3}, {5705,-13282,3},{5708,-13278,3},{5707,-13285,3},{5702,-13288,3},{5705,-13295,3}, {5703,-13297,3},{5707,-13307,3},{5708,-13315,3},{5713,-13315,3},{5715,-13312,3}, {5717,-13315,3},{5715,-13318,3},{5713,-13318,3},{5713,-13322,3},{5717,-13322,3}, {5717,-13325,3},{5712,-13325,3},{5710,-13330,3},{5718,-13355,3},{5722,-13348,3}, {5725,-13350,3},{5728,-13347,3},{5728,-13323,3},{5732,-13317,3},{5732,-13308,3}, {5735,-13303,3},{5737,-13305,3},{5733,-13312,3},{5732,-13322,3},{5733,-13330,3}, {5733,-13338,3},{5735,-13343,3},{5738,-13345,3},{5740,-13335,3},{5743,-13333,3}, {5742,-13343,3},{5743,-13347,3},{5750,-13352,3},{5753,-13350,3},{5757,-13343,3}, {5757,-13333,3},{5758,-13332,3},{5758,-13343,3},{5757,-13353,3},{5757,-13358,3}, {5758,-13362,3},{5763,-13367,3},{5770,-13363,3},{5770,-13355,3},{5767,-13350,3}, {5758,-13318,3},{5750,-13305,3},{5752,-13300,3},{5753,-13308,3},{5760,-13317,3}, {5762,-13315,3},{5762,-13322,3},{5765,-13327,3},{5767,-13333,3},{5772,-13340,3}, {5772,-13347,3},{5775,-13353,3},{5790,-13355,3},{5792,-13353,3},{5790,-13340,3}, {5788,-13333,3},{5785,-13312,3},{5790,-13318,3},{5790,-13328,3},{5790,-13333,3}, {5792,-13340,3},{5792,-13355,3},{5790,-13360,3},{5787,-13358,3},{5788,-13363,3}, {5785,-13363,3},{5782,-13362,3},{5778,-13365,3},{5778,-13370,3},{5785,-13375,3}, {5795,-13385,3},{5798,-13378,3},{5793,-13370,3},{5795,-13368,3},{5798,-13370,3}, {5802,-13367,3},{5802,-13373,3},{5805,-13377,3},{5810,-13370,3},{5813,-13372,3}, {5815,-13367,3},{5813,-13375,3},{5810,-13373,3},{5805,-13380,3},{5802,-13380,3}, {5798,-13388,3},{5802,-13398,3},{5807,-13402,3},{5807,-13405,3},{5810,-13407,3}, {5812,-13403,3},{5818,-13408,3},{5825,-13405,3},{5828,-13407,3},{5828,-13402,3}, {5832,-13398,3},{5840,-13402,3},{5843,-13395,3},{5850,-13392,3},{5852,-13388,3}, {5850,-13380,3},{5852,-13377,3},{5852,-13390,3},{5850,-13398,3},{5843,-13398,3}, {5842,-13407,3},{5840,-13405,3},{5833,-13407,3},{5830,-13415,3},{5825,-13410,3}, {5820,-13415,3},{5822,-13425,3},{5835,-13452,3},{5835,-13463,3},{5838,-13465,3}, {5838,-13477,3},{5848,-13478,3},{5857,-13488,3},{5867,-13498,3},{5865,-13492,3}, {5867,-13492,3},{5870,-13493,3},{5882,-13495,3},{5882,-13500,3},{5878,-13500,3}, {5878,-13503,3},{5873,-13502,3},{5883,-13515,3},{5888,-13513,3},{5893,-13517,3}, {5900,-13517,3},{5902,-13520,3},{5920,-13528,3},{5927,-13537,3},{5943,-13532,3}, {5947,-13533,3},{5945,-13537,3},{5930,-13540,3},{5932,-13555,3},{5928,-13545,3}, {5923,-13543,3},{5920,-13535,3},{5908,-13530,3},{5912,-13538,3},{5920,-13542,3}, {5922,-13548,3},{5923,-13555,3},{5918,-13547,3},{5913,-13545,3},{5908,-13538,3}, {5897,-13538,3},{5892,-13535,3},{5892,-13532,3},{5887,-13533,3},{5878,-13523,3}, {5872,-13525,3},{5863,-13517,3},{5862,-13522,3},{5860,-13522,3},{5853,-13517,3}, {5833,-13505,3},{5830,-13505,3},{5830,-13508,3},{5823,-13508,3},{5820,-13515,3}, {5825,-13533,3},{5848,-13548,3},{5847,-13552,3},{5842,-13547,3},{5837,-13547,3}, {5842,-13563,3},{5840,-13570,3},{5838,-13592,3},{5847,-13587,3},{5845,-13595,3}, {5847,-13592,3},{5847,-13585,3},{5848,-13587,3},{5855,-13583,3},{5858,-13588,3}, {5860,-13582,3},{5860,-13587,3},{5862,-13590,3},{5870,-13593,3},{5870,-13598,3}, {5872,-13597,3},{5882,-13607,3},{5887,-13593,3},{5885,-13592,3},{5888,-13575,3}, {5890,-13580,3},{5892,-13597,3},{5890,-13593,3},{5888,-13595,3},{5885,-13603,3}, {5888,-13605,3},{5892,-13603,3},{5895,-13610,3},{5902,-13610,3},{5903,-13615,3}, {5895,-13613,3},{5892,-13622,3},{5893,-13610,3},{5890,-13612,3},{5887,-13610,3}, {5877,-13613,3},{5875,-13617,3},{5875,-13625,3},{5880,-13638,3},{5882,-13627,3}, {5883,-13647,3},{5890,-13650,3},{5897,-13648,3},{5897,-13653,3},{5892,-13657,3}, {5897,-13663,3},{5902,-13670,3},{5897,-13667,3},{5890,-13660,3},{5890,-13662,3}, {5888,-13665,3},{5892,-13670,3},{5897,-13685,3},{5907,-13705,3},{5905,-13707,3}, {5897,-13692,3},{5893,-13690,3},{5892,-13692,3},{5892,-13703,3},{5882,-13713,3}, {5890,-13698,3},{5888,-13685,3},{5883,-13680,3},{5887,-13678,3},{5887,-13673,3}, {5883,-13665,3},{5883,-13657,3},{5882,-13653,3},{5880,-13648,3},{5877,-13652,3}, {5878,-13653,3},{5877,-13653,3},{5880,-13658,3},{5882,-13663,3},{5882,-13665,3}, {5878,-13658,3},{5877,-13660,3},{5873,-13652,3},{5870,-13652,3},{5867,-13643,3}, {5872,-13650,3},{5875,-13648,3},{5873,-13647,3},{5872,-13638,3},{5868,-13633,3}, {5862,-13647,3},{5862,-13652,3},{5858,-13648,3},{5862,-13640,3},{5860,-13633,3}, {5862,-13633,3},{5865,-13633,3},{5862,-13628,3},{5867,-13630,3},{5862,-13618,3}, {5860,-13620,3},{5858,-13618,3},{5855,-13612,3},{5855,-13615,3},{5852,-13617,3}, {5852,-13622,3},{5850,-13617,3},{5852,-13613,3},{5852,-13608,3},{5838,-13603,3}, {5833,-13608,3},{5830,-13625,3},{5832,-13628,3},{5833,-13628,3},{5835,-13627,3}, {5840,-13632,3},{5837,-13635,3},{5840,-13645,3},{5843,-13650,3},{5838,-13648,3}, {5837,-13652,3},{5837,-13655,3},{5833,-13648,3},{5838,-13647,3},{5837,-13638,3}, {5833,-13635,3},{5830,-13637,3},{5832,-13643,3},{5830,-13648,3},{5837,-13660,3}, {5833,-13665,3},{5827,-13655,3},{5823,-13658,3},{5822,-13665,3},{5825,-13672,3}, {5827,-13670,3},{5828,-13667,3},{5830,-13668,3},{5830,-13673,3},{5830,-13675,3}, {5830,-13678,3},{5833,-13677,3},{5832,-13682,3},{5832,-13685,3},{5835,-13683,3}, {5838,-13687,3},{5833,-13690,3},{5838,-13693,3},{5840,-13700,3},{5838,-13708,3}, {5840,-13712,3},{5858,-13755,3},{5860,-13762,3},{5862,-13762,3},{5862,-13757,3}, {5867,-13743,3},{5868,-13748,3},{5865,-13758,3},{5862,-13765,3},{5867,-13768,3}, {5880,-13793,3},{5885,-13792,3},{5890,-13797,3},{5903,-13820,3},{5907,-13830,3}, {5907,-13828,3},{5908,-13842,3},{5910,-13842,3},{5908,-13838,3},{5910,-13840,3}, {5912,-13860,3},{5913,-13860,3},{5912,-13850,3},{5915,-13850,3},{5918,-13843,3}, {5918,-13845,3},{5917,-13865,3},{5913,-13863,3},{5920,-13875,3},{5927,-13895,3}, {5932,-13920,3},{5930,-13912,3},{5933,-13917,3},{5933,-13923,3},{5938,-13922,3}, {5937,-13928,3},{5935,-13928,3},{5938,-13943,3},{5942,-13950,3},{5938,-13938,3}, {5940,-13932,3},{5942,-13938,3},{5940,-13945,3},{5943,-13952,3},{5943,-13957,3}, {5953,-13985,3},{5955,-13983,3},{5955,-13973,3},{5958,-13968,3},{5957,-13963,3}, {5962,-13957,3},{5962,-13958,3},{5965,-13958,3},{5970,-13947,3},{5980,-13958,3}, {5988,-13962,3},{5998,-13948,3},{5993,-13937,3},{5985,-13930,3},{5982,-13933,3}, {5972,-13933,3},{5962,-13927,3},{5960,-13932,3},{5960,-13933,3},{5957,-13928,3}, {5957,-13925,3},{5962,-13922,3},{5967,-13927,3},{5973,-13927,3},{5973,-13930,3}, {5978,-13925,3},{5983,-13928,3},{5985,-13913,3},{5983,-13900,3},{5980,-13897,3}, {5980,-13890,3},{5982,-13895,3},{5985,-13902,3},{5987,-13923,3},{6000,-13940,3}, {6002,-13948,3},{6005,-13950,3},{6005,-13953,3},{6000,-13958,3},{5995,-13958,3}, {5993,-13968,3},{5982,-13983,3},{5972,-14023,3},{5970,-14038,3},{5975,-14087,3}, {5988,-14145,3},{5992,-14145,3},{5992,-14140,3},{5992,-14143,3},{5988,-14143,3}, {5993,-14128,3},{5998,-14127,3},{6002,-14127,3},{6007,-14130,3},{6007,-14128,3}, {6010,-14137,3},{6013,-14138,3},{6012,-14148,3},{6008,-14145,3},{6003,-14138,3}, {5997,-14162,3},{5995,-14172,3},{6002,-14193,3},{6012,-14272,3},{6007,-14317,3}, {6003,-14367,3},{5998,-14388,3},{6003,-14402,3},{6003,-14425,3},{6003,-14400,3}, {6005,-14400,3},{6015,-14420,3},{6015,-14425,3},{6020,-14418,3},{6018,-14425,3}, {6020,-14437,3},{6018,-14437,3},{6017,-14443,3},{6018,-14448,3},{6020,-14447,3}, {6022,-14450,3},{6018,-14455,3},{6020,-14463,3},{6022,-14468,3},{6022,-14463,3}, {6028,-14470,3},{6030,-14478,3},{6028,-14480,3},{6030,-14483,3},{6030,-14488,3}, {6028,-14490,3},{6030,-14493,3},{6035,-14488,3},{6038,-14492,3},{6040,-14490,3}, {6040,-14483,3},{6043,-14485,3},{6045,-14480,3},{6050,-14478,3},{6047,-14485,3}, {6047,-14488,3},{6048,-14488,3},{6052,-14483,3},{6060,-14480,3},{6063,-14475,3}, {6067,-14477,3},{6067,-14463,3},{6072,-14462,3},{6068,-14475,3},{6065,-14478,3}, {6062,-14485,3},{6055,-14490,3},{6052,-14502,3},{6043,-14510,3},{6037,-14523,3}, {6035,-14530,3},{6035,-14538,3},{6040,-14548,3},{6042,-14550,3},{6047,-14565,3}, {6045,-14588,3},{6047,-14593,3},{6048,-14590,3},{6048,-14587,3},{6055,-14573,3}, {6065,-14562,3},{6067,-14563,3},{6062,-14585,3},{6062,-14588,3},{6065,-14580,3}, {6067,-14588,3},{6070,-14585,3},{6063,-14595,3},{6063,-14600,3},{6070,-14592,3}, {6065,-14608,3},{6063,-14620,3},{6063,-14625,3},{6065,-14627,3},{6072,-14608,3}, {6075,-14605,3},{6075,-14602,3},{6080,-14603,3},{6075,-14612,3},{6075,-14618,3}, {6077,-14617,3},{6075,-14623,3},{6072,-14627,3},{6073,-14632,3},{6077,-14628,3}, {6077,-14630,3},{6070,-14642,3},{6068,-14648,3},{6070,-14650,3},{6070,-14665,3}, {6075,-14668,3},{6073,-14663,3},{6077,-14660,3},{6075,-14657,3},{6075,-14648,3}, {6077,-14653,3},{6077,-14643,3},{6082,-14620,3},{6083,-14625,3},{6085,-14620,3}, {6083,-14608,3},{6090,-14623,3},{6083,-14630,3},{6082,-14640,3},{6085,-14640,3}, {6082,-14648,3},{6082,-14655,3},{6085,-14657,3},{6082,-14662,3},{6087,-14662,3}, {6088,-14663,3},{6087,-14667,3},{6088,-14670,3},{6097,-14675,3},{6095,-14672,3}, {6093,-14668,3},{6095,-14658,3},{6097,-14670,3},{6103,-14667,3},{6103,-14657,3}, {6105,-14663,3},{6107,-14663,3},{6108,-14660,3},{6108,-14623,3},{6113,-14630,3}, {6113,-14642,3},{6113,-14660,3},{6093,-14697,3},{6095,-14703,3},{6098,-14698,3}, {6100,-14698,3},{6100,-14702,3},{6098,-14702,3},{6097,-14705,3},{6100,-14703,3}, {6100,-14712,3},{6098,-14715,3},{6095,-14715,3},{6097,-14720,3},{6102,-14720,3}, {6098,-14725,3},{6100,-14727,3},{6098,-14728,3},{6093,-14725,3},{6093,-14732,3}, {6092,-14730,3},{6088,-14737,3},{6092,-14738,3},{6090,-14745,3},{6098,-14738,3}, {6095,-14745,3},{6098,-14745,3},{6102,-14743,3},{6098,-14748,3},{6092,-14750,3}, {6090,-14753,3},{6092,-14755,3},{6105,-14753,3},{6107,-14748,3},{6113,-14753,3}, {6115,-14752,3},{6115,-14757,3},{6113,-14758,3},{6110,-14755,3},{6102,-14760,3}, {6102,-14767,3},{6100,-14762,3},{6097,-14763,3},{6095,-14760,3},{6087,-14760,3}, {6085,-14765,3},{6087,-14768,3},{6090,-14767,3},{6088,-14773,3},{6095,-14770,3}, {6092,-14778,3},{6088,-14777,3},{6087,-14782,3},{6087,-14777,3},{6083,-14775,3}, {6082,-14778,3},{6083,-14785,3},{6085,-14790,3},{6090,-14793,3},{6095,-14805,3}, {6102,-14795,3},{6107,-14792,3},{6108,-14793,3},{6117,-14778,3},{6120,-14770,3}, {6123,-14770,3},{6122,-14777,3},{6128,-14772,3},{6112,-14795,3},{6105,-14800,3}, {6102,-14805,3},{6105,-14812,3},{6112,-14815,3},{6108,-14820,3},{6108,-14827,3}, {6107,-14830,3},{6105,-14840,3},{6105,-14835,3},{6102,-14838,3},{6100,-14845,3}, {6098,-14843,3},{6098,-14840,3},{6107,-14825,3},{6107,-14815,3},{6095,-14825,3}, {6097,-14833,3},{6092,-14827,3},{6083,-14832,3},{6085,-14840,3},{6083,-14833,3}, {6082,-14833,3},{6082,-14840,3},{6083,-14845,3},{6083,-14860,3},{6078,-14870,3}, {6080,-14857,3},{6080,-14855,3},{6080,-14845,3},{6075,-14863,3},{6068,-14870,3}, {6067,-14867,3},{6070,-14860,3},{6073,-14858,3},{6077,-14852,3},{6077,-14837,3}, {6077,-14838,3},{6075,-14835,3},{6073,-14840,3},{6068,-14840,3},{6067,-14845,3}, {6063,-14842,3},{6067,-14835,3},{6070,-14835,3},{6075,-14828,3},{6077,-14823,3}, {6072,-14825,3},{6063,-14820,3},{6053,-14833,3},{6055,-14835,3},{6057,-14835,3}, {6057,-14842,3},{6058,-14843,3},{6058,-14848,3},{6050,-14865,3},{6045,-14868,3}, {6053,-14845,3},{6052,-14837,3},{6050,-14838,3},{6050,-14833,3},{6048,-14835,3}, {6048,-14827,3},{6045,-14827,3},{6045,-14823,3},{6048,-14822,3},{6052,-14823,3}, {6055,-14818,3},{6050,-14818,3},{6052,-14815,3},{6058,-14813,3},{6060,-14808,3}, {6057,-14803,3},{6053,-14807,3},{6055,-14802,3},{6053,-14800,3},{6052,-14797,3}, {6047,-14800,3},{6045,-14798,3},{6047,-14793,3},{6043,-14795,3},{6043,-14800,3}, {6042,-14798,3},{6040,-14805,3},{6042,-14808,3},{6038,-14808,3},{6042,-14818,3}, {6037,-14812,3},{6035,-14813,3},{6035,-14820,3},{6037,-14822,3},{6038,-14823,3}, {6035,-14827,3},{6035,-14822,3},{6032,-14822,3},{6025,-14832,3},{6028,-14837,3}, {6028,-14838,3},{6023,-14835,3},{6018,-14843,3},{6020,-14833,3},{6025,-14822,3}, {6023,-14818,3},{6022,-14827,3},{6020,-14818,3},{6015,-14820,3},{6023,-14813,3}, {6022,-14810,3},{6015,-14815,3},{6012,-14827,3},{6013,-14830,3},{6017,-14828,3}, {6017,-14832,3},{6015,-14833,3},{6013,-14837,3},{6007,-14838,3},{6003,-14843,3}, {6002,-14840,3},{5995,-14843,3},{5995,-14847,3},{6003,-14853,3},{5998,-14853,3}, {5998,-14857,3},{5995,-14855,3},{5992,-14865,3},{5995,-14867,3},{5995,-14880,3}, {5993,-14887,3},{5997,-14893,3},{5995,-14902,3},{5998,-14902,3},{5997,-14907,3}, {5998,-14912,3},{6005,-14903,3},{6005,-14913,3},{6000,-14920,3},{5995,-14922,3}, {5992,-14925,3},{5990,-14923,3},{5987,-14927,3},{5997,-14930,3},{5998,-14933,3}, {6002,-14930,3},{6002,-14935,3},{6012,-14937,3},{6012,-14942,3},{6003,-14943,3}, {6000,-14938,3},{5998,-14943,3},{5993,-14947,3},{5993,-14953,3},{5992,-14955,3}, {5982,-14963,3},{5978,-14958,3},{5978,-14953,3},{5975,-14955,3},{5973,-14952,3}, {5972,-14953,3},{5975,-14963,3},{5977,-14960,3},{5978,-14965,3},{5980,-14963,3}, {5982,-14967,3},{5985,-14965,3},{5990,-14965,3},{5997,-14972,3},{5995,-14973,3}, {5988,-14973,3},{5983,-14977,3},{5985,-14983,3},{5985,-14987,3},{5978,-14977,3}, {5965,-14975,3},{5968,-14980,3},{5972,-14982,3},{5973,-14987,3},{5977,-14992,3}, {5980,-15003,3},{5977,-15003,3},{5973,-14997,3},{5972,-14992,3},{5970,-14993,3}, {5963,-15002,3},{5967,-15005,3},{5970,-15013,3},{5967,-15010,3},{5962,-15010,3}, {5958,-15008,3},{5957,-15015,3},{5958,-15018,3},{5953,-15018,3},{5953,-15025,3}, {5950,-15025,3},{5950,-15028,3},{5948,-15030,3},{5947,-15038,3},{5948,-15035,3}, {5950,-15038,3},{5950,-15033,3},{5955,-15035,3},{5958,-15028,3},{5960,-15030,3}, {5972,-15022,3},{5957,-15040,3},{5947,-15047,3},{5947,-15050,3},{5950,-15050,3}, {5952,-15055,3},{5960,-15050,3},{5955,-15065,3},{5948,-15057,3},{5947,-15063,3}, {5943,-15060,3},{5942,-15065,3},{5942,-15072,3},{5937,-15078,3},{5932,-15092,3}, {5925,-15088,3},{5923,-15097,3},{5920,-15095,3},{5923,-15100,3},{5927,-15100,3}, {5930,-15105,3},{5928,-15107,3},{5932,-15125,3},{5932,-15127,3},{5930,-15127,3}, {5928,-15118,3},{5925,-15110,3},{5922,-15112,3},{5922,-15130,3},{5927,-15140,3}, {5923,-15152,3},{5922,-15147,3},{5920,-15148,3},{5920,-15160,3},{5918,-15162,3}, {5918,-15157,3},{5917,-15158,3},{5917,-15172,3},{5917,-15175,3},{5922,-15175,3}, {5922,-15185,3},{5922,-15190,3},{5925,-15188,3},{5928,-15198,3},{5932,-15198,3}, {5935,-15193,3},{5935,-15182,3},{5940,-15190,3},{5945,-15177,3},{5945,-15172,3}, {5948,-15168,3},{5947,-15147,3},{5943,-15140,3},{5943,-15137,3},{5947,-15138,3}, {5950,-15145,3},{5953,-15145,3},{5957,-15135,3},{5957,-15127,3},{5960,-15125,3}, {5960,-15117,3},{5965,-15120,3},{5967,-15113,3},{5972,-15110,3},{5978,-15100,3}, {5980,-15103,3},{5977,-15112,3},{5965,-15145,3},{5963,-15147,3},{5960,-15142,3}, {5963,-15148,3},{5968,-15175,3},{5973,-15185,3},{5977,-15188,3},{6002,-15172,3}, {6020,-15143,3},{6027,-15138,3},{6037,-15138,3},{6038,-15130,3},{6053,-15127,3}, {6058,-15133,3},{6072,-15142,3},{6075,-15130,3},{6077,-15125,3},{6078,-15105,3}, {6097,-15067,3},{6103,-15040,3},{6103,-15033,3},{6098,-15030,3},{6093,-15023,3}, {6090,-15005,3},{6097,-14983,3},{6097,-14972,3},{6093,-14963,3},{6093,-14952,3}, {6090,-14942,3},{6088,-14917,3},{6085,-14903,3},{6088,-14905,3},{6095,-14917,3}, {6093,-14933,3},{6095,-14938,3},{6098,-14950,3},{6098,-14962,3},{6115,-15007,3}, {6120,-15003,3},{6120,-14995,3},{6123,-14990,3},{6132,-14983,3},{6133,-14978,3}, {6133,-14973,3},{6140,-14968,3},{6148,-14927,3},{6150,-14925,3},{6150,-14942,3}, {6152,-14942,3},{6150,-14953,3},{6147,-14970,3},{6138,-14988,3},{6127,-14993,3}, {6123,-15000,3},{6125,-15017,3},{6125,-15027,3},{6128,-15030,3},{6125,-15033,3}, {6125,-15048,3},{6128,-15055,3},{6137,-15053,3},{6137,-15057,3},{6128,-15058,3}, {6128,-15063,3},{6130,-15065,3},{6128,-15067,3},{6125,-15072,3},{6120,-15088,3}, {6122,-15095,3},{6117,-15107,3},{6105,-15117,3},{6103,-15128,3},{6102,-15135,3}, {6102,-15150,3},{6093,-15167,3},{6092,-15175,3},{6083,-15180,3},{6072,-15172,3}, {6072,-15178,3},{6075,-15185,3},{6073,-15187,3},{6072,-15192,3},{6067,-15205,3}, {6060,-15210,3},{6055,-15223,3},{6050,-15232,3},{6043,-15233,3},{6040,-15225,3}, {6035,-15238,3},{6028,-15242,3},{6028,-15250,3},{6023,-15257,3},{6022,-15262,3}, {6025,-15268,3},{6023,-15275,3},{6023,-15285,3},{6025,-15283,3},{6025,-15278,3}, {6027,-15283,3},{6025,-15288,3},{6030,-15288,3},{6030,-15292,3},{6030,-15303,3}, {6028,-15310,3},{6027,-15310,3},{6028,-15305,3},{6028,-15295,3},{6023,-15292,3}, {6017,-15268,3},{6013,-15268,3},{6008,-15258,3},{6005,-15258,3},{5997,-15268,3}, {5992,-15270,3},{5988,-15283,3},{5988,-15307,3},{5987,-15323,3},{5982,-15328,3}, {5983,-15320,3},{5982,-15313,3},{5983,-15305,3},{5983,-15300,3},{5982,-15300,3}, {5980,-15300,3},{5970,-15305,3},{5968,-15313,3},{5965,-15320,3},{5965,-15325,3}, {5968,-15328,3},{5967,-15332,3},{5963,-15332,3},{5965,-15343,3},{5967,-15338,3}, {5972,-15337,3},{5972,-15332,3},{5975,-15342,3},{5978,-15345,3},{5972,-15343,3}, {5965,-15348,3},{5963,-15355,3},{5965,-15357,3},{5968,-15360,3},{5970,-15358,3}, {5968,-15363,3},{5965,-15363,3},{5963,-15370,3},{5963,-15363,3},{5960,-15357,3}, {5955,-15358,3},{5955,-15372,3},{5953,-15378,3},{5955,-15382,3},{5955,-15387,3}, {5952,-15377,3},{5947,-15372,3},{5943,-15373,3},{5942,-15380,3},{5943,-15388,3}, {5938,-15395,3},{5940,-15398,3},{5938,-15402,3},{5938,-15415,3},{5935,-15408,3}, {5937,-15398,3},{5937,-15395,3},{5930,-15412,3},{5925,-15415,3},{5920,-15413,3}, {5920,-15418,3},{5917,-15418,3},{5917,-15423,3},{5915,-15422,3},{5915,-15427,3}, {5912,-15425,3},{5912,-15417,3},{5907,-15420,3},{5903,-15418,3},{5903,-15413,3}, {5908,-15403,3},{5905,-15387,3},{5907,-15382,3},{5907,-15377,3},{5907,-15372,3}, {5900,-15358,3},{5898,-15355,3},{5900,-15347,3},{5898,-15347,3},{5898,-15342,3}, {5893,-15337,3},{5893,-15333,3},{5890,-15333,3},{5888,-15328,3},{5887,-15337,3}, {5887,-15325,3},{5883,-15328,3},{5885,-15333,3},{5885,-15337,3},{5872,-15345,3}, {5868,-15357,3},{5863,-15360,3},{5862,-15377,3},{5862,-15390,3},{5860,-15392,3}, {5858,-15388,3},{5853,-15393,3},{5853,-15397,3},{5852,-15392,3},{5850,-15393,3}, {5848,-15397,3},{5848,-15410,3},{5840,-15407,3},{5840,-15400,3},{5838,-15400,3}, {5835,-15407,3},{5835,-15420,3},{5833,-15418,3},{5832,-15428,3},{5828,-15437,3}, {5825,-15435,3},{5827,-15427,3},{5830,-15427,3},{5830,-15422,3},{5832,-15418,3}, {5828,-15412,3},{5827,-15415,3},{5825,-15425,3},{5825,-15418,3},{5822,-15415,3}, {5818,-15420,3},{5818,-15430,3},{5813,-15422,3},{5813,-15427,3},{5813,-15430,3}, {5815,-15433,3},{5813,-15435,3},{5808,-15433,3},{5808,-15437,3},{5815,-15445,3}, {5818,-15445,3},{5820,-15448,3},{5808,-15447,3},{5812,-15458,3},{5810,-15460,3}, {5808,-15455,3},{5807,-15453,3},{5802,-15458,3},{5803,-15463,3},{5807,-15467,3}, {5805,-15472,3},{5802,-15473,3},{5800,-15478,3},{5803,-15488,3},{5802,-15503,3}, {5795,-15505,3},{5795,-15512,3},{5788,-15507,3},{5787,-15518,3},{5787,-15520,3}, {5788,-15525,3},{5783,-15522,3},{5783,-15527,3},{5783,-15533,3},{5780,-15530,3}, {5780,-15535,3},{5775,-15530,3},{5773,-15530,3},{5772,-15538,3},{5773,-15542,3}, {5780,-15558,3},{5778,-15562,3},{5773,-15563,3},{5772,-15563,3},{5768,-15558,3}, {5767,-15558,3},{5763,-15572,3},{5765,-15577,3},{5762,-15573,3},{5755,-15573,3}, {5755,-15580,3},{5758,-15582,3},{5755,-15587,3},{5755,-15590,3},{5753,-15592,3}, {5757,-15602,3},{5757,-15603,3},{5753,-15602,3},{5753,-15610,3},{5752,-15610,3}, {5752,-15603,3},{5743,-15603,3},{5743,-15612,3},{5748,-15618,3},{5743,-15623,3}, {5743,-15627,3},{5740,-15635,3},{5733,-15647,3},{5732,-15655,3},{5727,-15655,3}, {5732,-15637,3},{5728,-15633,3},{5725,-15635,3},{5722,-15645,3},{5722,-15642,3}, {5718,-15635,3},{5715,-15637,3},{5712,-15647,3},{5710,-15648,3},{5708,-15645,3}, {5710,-15648,3},{5708,-15650,3},{5705,-15650,3},{5705,-15658,3},{5707,-15663,3}, {5705,-15662,3},{5705,-15665,3},{5698,-15655,3},{5700,-15668,3},{5703,-15672,3}, {5705,-15677,3},{5703,-15680,3},{5700,-15677,3},{5697,-15678,3},{5692,-15680,3}, {5690,-15683,3},{5695,-15688,3},{5697,-15697,3},{5690,-15695,3},{5690,-15702,3}, {5682,-15708,3},{5685,-15718,3},{5682,-15715,3},{5678,-15715,3},{5677,-15720,3}, {5680,-15730,3},{5685,-15737,3},{5685,-15743,3},{5682,-15747,3},{5680,-15742,3}, {5677,-15740,3},{5677,-15745,3},{5675,-15747,3},{5677,-15750,3},{5672,-15757,3}, {5672,-15760,3},{5668,-15755,3},{5667,-15748,3},{5663,-15745,3},{5662,-15747,3}, {5660,-15767,3},{5662,-15770,3},{5667,-15775,3},{5668,-15778,3},{5665,-15785,3}, {5665,-15792,3},{5662,-15795,3},{5660,-15798,3},{5660,-15802,3},{5657,-15805,3}, {5657,-15812,3},{5653,-15812,3},{5657,-15792,3},{5655,-15785,3},{5652,-15783,3}, {5647,-15788,3},{5652,-15813,3},{5650,-15817,3},{5648,-15815,3},{5648,-15812,3}, {5647,-15813,3},{5647,-15827,3},{5648,-15833,3},{5647,-15837,3},{5645,-15842,3}, {5640,-15847,3},{5637,-15852,3},{5635,-15850,3},{5632,-15860,3},{5628,-15865,3}, {5627,-15865,3},{5625,-15855,3},{5627,-15855,3},{5630,-15857,3},{5633,-15845,3}, {5630,-15843,3},{5632,-15840,3},{5630,-15840,3},{5632,-15833,3},{5630,-15830,3}, {5630,-15823,3},{5628,-15820,3},{5627,-15822,3},{5623,-15835,3},{5623,-15840,3}, {5620,-15842,3},{5622,-15837,3},{5620,-15832,3},{5617,-15833,3},{5623,-15818,3}, {5623,-15812,3},{5622,-15817,3},{5618,-15820,3},{5618,-15827,3},{5617,-15827,3}, {5615,-15835,3},{5612,-15835,3},{5613,-15838,3},{5617,-15838,3},{5617,-15842,3}, {5613,-15842,3},{5613,-15843,3},{5608,-15840,3},{5607,-15842,3},{5610,-15845,3}, {5610,-15850,3},{5607,-15847,3},{5605,-15848,3},{5603,-15847,3},{5605,-15847,3}, {5603,-15842,3},{5600,-15843,3},{5603,-15850,3},{5603,-15852,3},{5598,-15850,3}, {5602,-15857,3},{5605,-15852,3},{5603,-15858,3},{5605,-15860,3},{5607,-15857,3}, {5610,-15860,3},{5612,-15855,3},{5613,-15855,3},{5615,-15852,3},{5617,-15850,3}, {5617,-15847,3},{5620,-15850,3},{5618,-15863,3},{5617,-15857,3},{5612,-15865,3}, {5612,-15867,3},{5615,-15867,3},{5615,-15870,3},{5610,-15870,3},{5610,-15867,3}, {5607,-15867,3},{5603,-15873,3},{5602,-15865,3},{5598,-15865,3},{5598,-15868,3}, {5597,-15867,3},{5595,-15868,3},{5595,-15875,3},{5597,-15873,3},{5600,-15873,3}, {5602,-15877,3},{5598,-15880,3},{5602,-15883,3},{5600,-15887,3},{5592,-15893,3}, {5593,-15897,3},{5592,-15902,3},{5588,-15902,3},{5592,-15908,3},{5590,-15917,3}, {5588,-15918,3},{5588,-15925,3},{5585,-15932,3},{5588,-15935,3},{5585,-15940,3}, {5580,-15942,3},{5578,-15943,3},{5583,-15948,3},{5590,-15947,3},{5588,-15955,3}, {5587,-15955,3},{5585,-15953,3},{5577,-15950,3},{5572,-15955,3},{5565,-15955,3}, {5562,-15962,3},{5557,-15962,3},{5557,-15973,3},{5560,-15970,3},{5560,-15975,3}, {5562,-15968,3},{5560,-15965,3},{5563,-15962,3},{5567,-15970,3},{5570,-15963,3}, {5573,-15968,3},{5582,-15962,3},{5585,-15973,3},{5585,-15985,3},{5578,-15985,3}, {5578,-15987,3},{5578,-15992,3},{5582,-15997,3},{5578,-15997,3},{5578,-16003,3}, {5577,-16005,3},{5572,-16002,3},{5572,-16010,3},{5570,-16007,3},{5570,-16012,3}, {5573,-16015,3},{5567,-16013,3},{5567,-16015,3},{5565,-16025,3},{5563,-16028,3}, {5565,-16043,3},{5563,-16043,3},{5560,-16037,3},{5557,-16045,3},{5550,-16047,3}, {5548,-16052,3},{5548,-16055,3},{5555,-16058,3},{5560,-16060,3},{5555,-16067,3}, {5553,-16077,3},{5552,-16075,3},{5552,-16067,3},{5545,-16068,3},{5545,-16078,3}, {5545,-16082,3},{5547,-16085,3},{5552,-16083,3},{5552,-16088,3},{5550,-16095,3}, {5547,-16098,3},{5543,-16103,3},{5535,-16125,3},{5535,-16132,3},{5538,-16135,3}, {5537,-16150,3},{5548,-16148,3},{5558,-16137,3},{5553,-16128,3},{5553,-16113,3}, {5555,-16125,3},{5558,-16130,3},{5563,-16142,3},{5562,-16157,3},{5560,-16162,3}, {5558,-16162,3},{5552,-16172,3},{5548,-16168,3},{5543,-16172,3},{5540,-16170,3}, {5527,-16187,3},{5522,-16190,3},{5522,-16195,3},{5522,-16192,3},{5523,-16193,3}, {5523,-16205,3},{5518,-16202,3},{5517,-16203,3},{5515,-16198,3},{5512,-16195,3}, {5510,-16197,3},{5507,-16207,3},{5510,-16213,3},{5517,-16210,3},{5515,-16217,3}, {5510,-16222,3},{5505,-16220,3},{5502,-16227,3},{5507,-16232,3},{5503,-16235,3}, {5503,-16245,3},{5510,-16253,3},{5512,-16248,3},{5508,-16242,3},{5510,-16237,3}, {5517,-16248,3},{5525,-16253,3},{5527,-16260,3},{5528,-16255,3},{5530,-16257,3}, {5530,-16262,3},{5528,-16268,3},{5522,-16272,3},{5517,-16260,3},{5513,-16260,3}, {5513,-16263,3},{5507,-16265,3},{5508,-16262,3},{5507,-16262,3},{5495,-16257,3}, {5500,-16265,3},{5502,-16262,3},{5505,-16265,3},{5493,-16275,3},{5493,-16287,3}, {5495,-16290,3},{5495,-16292,3},{5500,-16298,3},{5500,-16292,3},{5502,-16292,3}, {5503,-16297,3},{5508,-16302,3},{5510,-16310,3},{5510,-16317,3},{5512,-16312,3}, {5513,-16317,3},{5512,-16320,3},{5508,-16318,3},{5510,-16323,3},{5507,-16323,3}, {5507,-16320,3},{5503,-16322,3},{5502,-16320,3},{5497,-16307,3},{5495,-16305,3}, {5490,-16313,3},{5483,-16323,3},{5483,-16328,3},{5480,-16333,3},{5482,-16337,3}, {5485,-16338,3},{5488,-16333,3},{5490,-16332,3},{5492,-16327,3},{5492,-16330,3}, {5492,-16335,3},{5495,-16333,3},{5495,-16325,3},{5495,-16323,3},{5500,-16328,3}, {5512,-16332,3},{5518,-16312,3},{5525,-16302,3},{5523,-16300,3},{5520,-16305,3}, {5517,-16307,3},{5518,-16288,3},{5523,-16283,3},{5525,-16287,3},{5523,-16288,3}, {5527,-16288,3},{5527,-16283,3},{5530,-16278,3},{5532,-16272,3},{5538,-16263,3}, {5535,-16263,3},{5535,-16255,3},{5537,-16248,3},{5545,-16250,3},{5543,-16260,3}, {5540,-16262,3},{5543,-16260,3},{5547,-16253,3},{5568,-16225,3},{5572,-16213,3}, {5577,-16208,3},{5580,-16197,3},{5588,-16180,3},{5590,-16168,3},{5602,-16115,3}, {5595,-16137,3},{5595,-16123,3},{5595,-16112,3},{5593,-16107,3},{5595,-16102,3}, {5600,-16088,3},{5597,-16087,3},{5595,-16087,3},{5593,-16087,3},{5593,-16093,3}, {5593,-16098,3},{5590,-16102,3},{5587,-16100,3},{5588,-16093,3},{5582,-16095,3}, {5572,-16080,3},{5575,-16078,3},{5573,-16072,3},{5570,-16068,3},{5573,-16067,3}, {5578,-16075,3},{5588,-16080,3},{5585,-16067,3},{5587,-16050,3},{5583,-16047,3}, {5580,-16047,3},{5582,-16042,3},{5578,-16037,3},{5577,-16025,3},{5582,-16032,3}, {5583,-16023,3},{5585,-16023,3},{5590,-16045,3},{5593,-16052,3},{5593,-16057,3}, {5598,-16053,3},{5598,-16055,3},{5598,-16057,3},{5600,-16057,3},{5610,-16047,3}, {5617,-16045,3},{5628,-16035,3},{5633,-16025,3},{5640,-16015,3},{5647,-15997,3}, {5653,-15983,3},{5665,-15948,3},{5660,-15955,3},{5663,-15942,3},{5668,-15930,3}, {5668,-15922,3},{5670,-15927,3},{5673,-15923,3},{5680,-15903,3},{5690,-15887,3}, {5682,-15902,3},{5680,-15903,3},{5678,-15898,3},{5680,-15898,3},{5683,-15895,3}, {5678,-15887,3},{5678,-15877,3},{5678,-15868,3},{5677,-15863,3},{5683,-15865,3}, {5688,-15870,3},{5700,-15868,3},{5708,-15862,3},{5732,-15828,3},{5737,-15817,3}, {5737,-15805,3},{5738,-15810,3},{5748,-15795,3},{5757,-15773,3},{5757,-15768,3}, {5755,-15770,3},{5752,-15765,3},{5747,-15765,3},{5748,-15763,3},{5748,-15752,3}, {5747,-15752,3},{5747,-15748,3},{5750,-15740,3},{5753,-15742,3},{5757,-15740,3}, {5755,-15745,3},{5750,-15742,3},{5750,-15752,3},{5748,-15757,3},{5750,-15760,3}, {5762,-15760,3},{5763,-15763,3},{5762,-15763,3},{5762,-15770,3},{5765,-15770,3}, {5773,-15772,3},{5787,-15763,3},{5808,-15762,3},{5817,-15753,3},{5817,-15742,3}, {5820,-15740,3},{5820,-15720,3},{5817,-15713,3},{5820,-15717,3},{5822,-15730,3}, {5823,-15733,3},{5822,-15747,3},{5827,-15753,3},{5828,-15753,3},{5830,-15757,3}, {5838,-15755,3},{5850,-15747,3},{5855,-15735,3},{5863,-15722,3},{5870,-15710,3}, {5872,-15702,3},{5873,-15693,3},{5872,-15705,3},{5873,-15707,3},{5877,-15707,3}, {5883,-15700,3},{5887,-15703,3},{5890,-15698,3},{5893,-15698,3},{5900,-15685,3}, {5908,-15685,3},{5915,-15678,3},{5910,-15687,3},{5902,-15688,3},{5898,-15692,3}, {5897,-15703,3},{5890,-15705,3},{5887,-15712,3},{5883,-15735,3},{5863,-15805,3}, {5860,-15818,3},{5865,-15832,3},{5872,-15835,3},{5875,-15838,3},{5880,-15857,3}, {5883,-15857,3},{5885,-15852,3},{5887,-15852,3},{5895,-15850,3},{5897,-15842,3}, {5900,-15845,3},{5898,-15847,3},{5900,-15850,3},{5903,-15837,3},{5900,-15813,3}, {5895,-15807,3},{5892,-15808,3},{5887,-15803,3},{5890,-15800,3},{5892,-15805,3}, {5895,-15803,3},{5903,-15813,3},{5908,-15842,3},{5917,-15853,3},{5913,-15855,3}, {5907,-15845,3},{5903,-15853,3},{5892,-15862,3},{5887,-15873,3},{5888,-15875,3}, {5893,-15873,3},{5893,-15877,3},{5897,-15878,3},{5897,-15873,3},{5900,-15875,3}, {5897,-15882,3},{5892,-15877,3},{5882,-15880,3},{5877,-15878,3},{5873,-15885,3}, {5873,-15888,3},{5877,-15888,3},{5878,-15882,3},{5880,-15882,3},{5880,-15888,3}, {5878,-15885,3},{5877,-15892,3},{5872,-15890,3},{5857,-15880,3},{5857,-15878,3}, {5850,-15877,3},{5850,-15870,3},{5843,-15877,3},{5842,-15882,3},{5842,-15880,3}, {5840,-15888,3},{5843,-15907,3},{5845,-15903,3},{5845,-15908,3},{5848,-15908,3}, {5848,-15912,3},{5872,-15935,3},{5880,-15945,3},{5885,-15955,3},{5883,-15965,3}, {5890,-15960,3},{5895,-15963,3},{5893,-15977,3},{5892,-15975,3},{5888,-15978,3}, {5885,-15977,3},{5885,-15982,3},{5880,-15982,3},{5877,-15992,3},{5888,-16002,3}, {5888,-16008,3},{5887,-16010,3},{5887,-16015,3},{5888,-16015,3},{5892,-16017,3}, {5890,-16025,3},{5892,-16025,3},{5895,-16027,3},{5893,-16028,3},{5895,-16032,3}, {5898,-16030,3},{5898,-16025,3},{5907,-16033,3},{5905,-16040,3},{5892,-16073,3}, {5882,-16083,3},{5887,-16083,3},{5888,-16088,3},{5887,-16097,3},{5880,-16118,3}, {5880,-16127,3},{5882,-16127,3},{5882,-16130,3},{5880,-16132,3},{5878,-16128,3}, {5878,-16122,3},{5877,-16128,3},{5872,-16137,3},{5867,-16138,3},{5868,-16132,3}, {5863,-16153,3},{5860,-16158,3},{5860,-16162,3},{5857,-16170,3},{5855,-16177,3}, {5860,-16172,3},{5862,-16172,3},{5865,-16175,3},{5862,-16177,3},{5858,-16175,3}, {5862,-16178,3},{5863,-16182,3},{5863,-16210,3},{5865,-16217,3},{5867,-16207,3}, {5868,-16205,3},{5868,-16200,3},{5867,-16195,3},{5865,-16193,3},{5865,-16188,3}, {5868,-16183,3},{5872,-16185,3},{5875,-16180,3},{5877,-16170,3},{5880,-16165,3}, {5882,-16170,3},{5880,-16175,3},{5878,-16177,3},{5880,-16177,3},{5887,-16180,3}, {5897,-16178,3},{5903,-16185,3},{5905,-16182,3},{5902,-16182,3},{5903,-16172,3}, {5910,-16157,3},{5912,-16162,3},{5913,-16162,3},{5912,-16170,3},{5910,-16188,3}, {5908,-16188,3},{5907,-16185,3},{5907,-16188,3},{5910,-16195,3},{5915,-16200,3}, {5927,-16205,3},{5930,-16200,3},{5927,-16205,3},{5923,-16202,3},{5925,-16198,3}, {5928,-16197,3},{5938,-16195,3},{5938,-16190,3},{5942,-16187,3},{5942,-16185,3}, {5947,-16180,3},{5947,-16173,3},{5950,-16170,3},{5962,-16187,3},{5970,-16188,3}, {5982,-16200,3},{5988,-16208,3},{5995,-16210,3},{6000,-16218,3},{6007,-16223,3}, {6015,-16220,3},{6020,-16225,3},{6020,-16217,3},{6025,-16215,3},{6023,-16220,3}, {6022,-16218,3},{6022,-16222,3},{6022,-16227,3},{6023,-16228,3},{6022,-16230,3}, {6020,-16228,3},{6018,-16230,3},{6017,-16227,3},{6013,-16232,3},{6018,-16237,3}, {6022,-16233,3},{6030,-16247,3},{6033,-16238,3},{6047,-16230,3},{6052,-16222,3}, {6058,-16222,3},{6063,-16208,3},{6065,-16197,3},{6065,-16193,3},{6068,-16197,3}, {6070,-16188,3},{6070,-16195,3},{6065,-16208,3},{6070,-16210,3},{6073,-16217,3}, {6073,-16218,3},{6072,-16217,3},{6068,-16212,3},{6065,-16212,3},{6062,-16227,3}, {6053,-16230,3},{6047,-16237,3},{6043,-16238,3},{6043,-16243,3},{6038,-16242,3}, {6037,-16245,3},{6038,-16245,3},{6038,-16250,3},{6035,-16250,3},{6033,-16260,3}, {6032,-16257,3},{6030,-16260,3},{6028,-16255,3},{6025,-16255,3},{6027,-16270,3}, {6022,-16250,3},{6018,-16245,3},{6012,-16250,3},{6005,-16247,3},{6000,-16252,3}, {5998,-16262,3},{6000,-16275,3},{5997,-16273,3},{5995,-16278,3},{5985,-16313,3}, {5982,-16337,3},{5980,-16367,3},{5982,-16400,3},{5985,-16415,3},{5995,-16422,3}, {5997,-16420,3},{5997,-16410,3},{5998,-16410,3},{5998,-16413,3},{6000,-16412,3}, {6000,-16415,3},{6008,-16442,3},{6015,-16448,3},{6018,-16448,3},{6027,-16467,3}, {6028,-16465,3},{6030,-16468,3},{6033,-16465,3},{6028,-16475,3},{6033,-16495,3}, {6037,-16503,3},{6043,-16515,3},{6047,-16503,3},{6050,-16500,3},{6052,-16497,3}, {6055,-16498,3},{6055,-16507,3},{6050,-16520,3},{6052,-16538,3},{6055,-16543,3}, {6058,-16538,3},{6058,-16528,3},{6062,-16525,3},{6063,-16518,3},{6065,-16515,3}, {6072,-16498,3},{6078,-16503,3},{6083,-16488,3},{6087,-16488,3},{6090,-16495,3}, {6092,-16495,3},{6093,-16493,3},{6087,-16483,3},{6090,-16473,3},{6092,-16465,3}, {6090,-16463,3},{6085,-16470,3},{6082,-16465,3},{6082,-16447,3},{6080,-16442,3}, {6078,-16427,3},{6073,-16427,3},{6073,-16422,3},{6068,-16422,3},{6065,-16432,3}, {6062,-16433,3},{6062,-16438,3},{6057,-16443,3},{6055,-16443,3},{6057,-16438,3}, {6065,-16427,3},{6067,-16413,3},{6072,-16410,3},{6077,-16403,3},{6078,-16395,3}, {6077,-16387,3},{6075,-16380,3},{6068,-16383,3},{6067,-16380,3},{6063,-16383,3}, {6058,-16380,3},{6058,-16367,3},{6063,-16353,3},{6068,-16343,3},{6072,-16343,3}, {6075,-16347,3},{6075,-16342,3},{6077,-16342,3},{6080,-16353,3},{6085,-16373,3}, {6085,-16393,3},{6088,-16378,3},{6087,-16373,3},{6087,-16367,3},{6088,-16355,3}, {6090,-16355,3},{6093,-16375,3},{6095,-16375,3},{6097,-16368,3},{6100,-16368,3}, {6098,-16375,3},{6097,-16380,3},{6095,-16380,3},{6092,-16388,3},{6085,-16395,3}, {6087,-16418,3},{6085,-16428,3},{6087,-16440,3},{6085,-16457,3},{6087,-16460,3}, {6090,-16458,3},{6092,-16462,3},{6093,-16472,3},{6092,-16475,3},{6090,-16480,3}, {6092,-16483,3},{6095,-16485,3},{6095,-16490,3},{6095,-16497,3},{6090,-16507,3}, {6093,-16515,3},{6097,-16520,3},{6100,-16515,3},{6102,-16497,3},{6102,-16495,3}, {6108,-16493,3},{6107,-16487,3},{6108,-16485,3},{6112,-16477,3},{6112,-16500,3}, {6107,-16500,3},{6105,-16503,3},{6108,-16512,3},{6110,-16512,3},{6112,-16517,3}, {6113,-16518,3},{6115,-16512,3},{6118,-16512,3},{6122,-16507,3},{6125,-16513,3}, {6123,-16512,3},{6122,-16508,3},{6120,-16515,3},{6115,-16515,3},{6115,-16525,3}, {6120,-16537,3},{6125,-16530,3},{6127,-16520,3},{6132,-16520,3},{6133,-16525,3}, {6137,-16515,3},{6140,-16518,3},{6142,-16515,3},{6143,-16503,3},{6148,-16498,3}, {6150,-16485,3},{6152,-16483,3},{6155,-16475,3},{6158,-16475,3},{6160,-16470,3}, {6163,-16472,3},{6162,-16477,3},{6160,-16475,3},{6158,-16480,3},{6152,-16488,3}, {6150,-16502,3},{6147,-16502,3},{6147,-16508,3},{6143,-16508,3},{6143,-16517,3}, {6140,-16520,3},{6137,-16520,3},{6133,-16528,3},{6132,-16527,3},{6132,-16522,3}, {6128,-16523,3},{6127,-16522,3},{6127,-16530,3},{6120,-16540,3},{6115,-16533,3}, {6113,-16537,3},{6108,-16535,3},{6107,-16538,3},{6108,-16552,3},{6112,-16560,3}, {6123,-16565,3},{6125,-16560,3},{6127,-16563,3},{6128,-16562,3},{6130,-16573,3}, {6130,-16583,3},{6133,-16587,3},{6140,-16592,3},{6143,-16588,3},{6145,-16578,3}, {6148,-16577,3},{6153,-16582,3},{6155,-16590,3},{6153,-16608,3},{6152,-16608,3}, {6150,-16605,3},{6148,-16610,3},{6153,-16615,3},{6158,-16620,3},{6172,-16615,3}, {6163,-16613,3},{6168,-16577,3},{6168,-16585,3},{6173,-16600,3},{6182,-16610,3}, {6183,-16598,3},{6182,-16593,3},{6183,-16582,3},{6182,-16580,3},{6185,-16575,3}, {6185,-16558,3},{6192,-16570,3},{6200,-16575,3},{6212,-16570,3},{6218,-16557,3}, {6235,-16537,3},{6237,-16533,3},{6243,-16527,3},{6252,-16513,3},{6253,-16503,3}, {6253,-16487,3},{6252,-16487,3},{6247,-16485,3},{6247,-16475,3},{6243,-16468,3}, {6243,-16460,3},{6243,-16465,3},{6237,-16475,3},{6238,-16470,3},{6242,-16463,3}, {6243,-16457,3},{6245,-16458,3},{6247,-16468,3},{6252,-16463,3},{6250,-16467,3}, {6248,-16470,3},{6250,-16475,3},{6248,-16483,3},{6253,-16478,3},{6257,-16485,3}, {6263,-16465,3},{6275,-16448,3},{6275,-16452,3},{6263,-16473,3},{6262,-16480,3}, {6275,-16487,3},{6278,-16487,3},{6280,-16477,3},{6282,-16485,3},{6283,-16488,3}, {6293,-16482,3},{6302,-16468,3},{6303,-16457,3},{6302,-16450,3},{6302,-16447,3}, {6303,-16445,3},{6302,-16438,3},{6300,-16432,3},{6305,-16433,3},{6307,-16437,3}, {6308,-16452,3},{6313,-16458,3},{6322,-16442,3},{6327,-16415,3},{6325,-16398,3}, {6322,-16383,3},{6322,-16372,3},{6315,-16363,3},{6312,-16367,3},{6312,-16362,3}, {6313,-16358,3},{6312,-16353,3},{6310,-16362,3},{6305,-16367,3},{6302,-16380,3}, {6298,-16380,3},{6302,-16375,3},{6305,-16362,3},{6310,-16353,3},{6310,-16343,3}, {6302,-16333,3},{6303,-16330,3},{6307,-16307,3},{6315,-16285,3},{6320,-16282,3}, {6323,-16268,3},{6333,-16250,3},{6342,-16242,3},{6348,-16227,3},{6353,-16232,3}, {6352,-16208,3},{6348,-16202,3},{6343,-16217,3},{6343,-16215,3},{6345,-16203,3}, {6343,-16198,3},{6345,-16197,3},{6345,-16182,3},{6347,-16167,3},{6345,-16157,3}, {6347,-16148,3},{6345,-16145,3},{6348,-16127,3},{6352,-16115,3},{6362,-16102,3}, {6363,-16097,3},{6373,-16080,3},{6378,-16077,3},{6387,-16078,3},{6407,-16093,3}, {6422,-16095,3},{6437,-16120,3},{6438,-16118,3},{6440,-16125,3},{6442,-16118,3}, {6442,-16135,3},{6443,-16142,3},{6442,-16150,3},{6438,-16153,3},{6442,-16153,3}, {6445,-16147,3},{6450,-16147,3},{6453,-16140,3},{6450,-16112,3},{6452,-16102,3}, {6452,-16100,3},{6453,-16103,3},{6453,-16108,3},{6455,-16108,3},{6455,-16097,3}, {6462,-16082,3},{6472,-16078,3},{6482,-16088,3},{6487,-16105,3},{6492,-16115,3}, {6492,-16107,3},{6492,-16103,3},{6493,-16098,3},{6493,-16105,3},{6492,-16108,3}, {6493,-16120,3},{6490,-16122,3},{6487,-16132,3},{6478,-16137,3},{6475,-16155,3}, {6477,-16157,3},{6478,-16167,3},{6482,-16172,3},{6482,-16180,3},{6478,-16172,3}, {6477,-16183,3},{6473,-16193,3},{6472,-16193,3},{6475,-16180,3},{6472,-16188,3}, {6470,-16202,3},{6472,-16212,3},{6470,-16207,3},{6468,-16218,3},{6462,-16225,3}, {6452,-16258,3},{6448,-16262,3},{6438,-16263,3},{6437,-16272,3},{6433,-16278,3}, {6442,-16282,3},{6445,-16287,3},{6448,-16287,3},{6450,-16283,3},{6455,-16295,3}, {6455,-16305,3},{6458,-16303,3},{6462,-16313,3},{6465,-16315,3},{6465,-16322,3}, {6460,-16338,3},{6455,-16328,3},{6455,-16320,3},{6452,-16315,3},{6452,-16303,3}, {6448,-16305,3},{6447,-16312,3},{6442,-16313,3},{6440,-16318,3},{6448,-16328,3}, {6450,-16335,3},{6455,-16348,3},{6458,-16382,3},{6457,-16400,3},{6458,-16423,3}, {6457,-16438,3},{6458,-16427,3},{6458,-16435,3},{6448,-16473,3},{6452,-16467,3}, {6452,-16482,3},{6448,-16488,3},{6453,-16493,3},{6452,-16493,3},{6450,-16497,3}, {6447,-16490,3},{6445,-16492,3},{6447,-16477,3},{6445,-16487,3},{6445,-16502,3}, {6452,-16548,3},{6457,-16612,3},{6463,-16635,3},{6470,-16645,3},{6473,-16648,3}, {6478,-16648,3},{6482,-16645,3},{6482,-16638,3},{6483,-16638,3},{6483,-16642,3}, {6488,-16638,3},{6492,-16642,3},{6495,-16652,3},{6493,-16652,3},{6490,-16643,3}, {6495,-16653,3},{6500,-16670,3},{6505,-16672,3},{6508,-16683,3},{6513,-16692,3}, {6518,-16697,3},{6523,-16695,3},{6528,-16688,3},{6527,-16685,3},{6520,-16693,3}, {6515,-16692,3},{6512,-16675,3},{6513,-16655,3},{6518,-16647,3},{6523,-16648,3}, {6527,-16637,3},{6523,-16612,3},{6523,-16605,3},{6525,-16607,3},{6530,-16620,3}, {6532,-16632,3},{6530,-16637,3},{6530,-16638,3},{6537,-16663,3},{6538,-16693,3}, {6535,-16683,3},{6533,-16665,3},{6535,-16683,3},{6538,-16707,3},{6542,-16745,3}, {6545,-16760,3},{6552,-16770,3},{6557,-16792,3},{6558,-16807,3},{6565,-16813,3}, {6570,-16808,3},{6575,-16790,3},{6577,-16785,3},{6573,-16787,3},{6568,-16803,3}, {6565,-16807,3},{6563,-16803,3},{6568,-16785,3},{6572,-16782,3},{6572,-16760,3}, {6573,-16752,3},{6577,-16750,3},{6577,-16755,3},{6580,-16757,3},{6580,-16745,3}, {6583,-16752,3},{6590,-16728,3},{6585,-16718,3},{6588,-16705,3},{6593,-16687,3}, {6597,-16697,3},{6602,-16683,3},{6598,-16687,3},{6598,-16680,3},{6600,-16682,3}, {6607,-16670,3},{6618,-16627,3},{6617,-16613,3},{6615,-16608,3},{6613,-16615,3}, {6612,-16608,3},{6612,-16588,3},{6610,-16580,3},{6610,-16572,3},{6615,-16555,3}, {6615,-16550,3},{6617,-16552,3},{6622,-16572,3},{6622,-16588,3},{6625,-16587,3}, {6632,-16577,3},{6640,-16545,3},{6645,-16517,3},{6643,-16508,3},{6640,-16503,3}, {6647,-16495,3},{6652,-16473,3},{6655,-16472,3},{6660,-16428,3},{6660,-16393,3}, {6660,-16375,3},{6657,-16362,3},{6658,-16385,3},{6657,-16393,3},{6657,-16378,3}, {6652,-16375,3},{6648,-16377,3},{6643,-16385,3},{6640,-16390,3},{6628,-16385,3}, {6623,-16395,3},{6622,-16408,3},{6620,-16410,3},{6620,-16418,3},{6618,-16418,3}, {6620,-16398,3},{6618,-16398,3},{6618,-16395,3},{6622,-16393,3},{6618,-16390,3}, {6612,-16383,3},{6607,-16365,3},{6608,-16350,3},{6608,-16337,3},{6607,-16325,3}, {6607,-16310,3},{6610,-16295,3},{6610,-16275,3},{6607,-16268,3},{6600,-16267,3}, {6603,-16265,3},{6607,-16248,3},{6603,-16237,3},{6608,-16217,3},{6607,-16203,3}, {6603,-16192,3},{6602,-16197,3},{6602,-16190,3},{6598,-16192,3},{6598,-16180,3}, {6598,-16178,3},{6600,-16183,3},{6602,-16183,3},{6605,-16178,3},{6607,-16173,3}, {6608,-16173,3},{6608,-16178,3},{6615,-16167,3},{6625,-16157,3},{6627,-16148,3}, {6627,-16135,3},{6625,-16137,3},{6623,-16133,3},{6622,-16127,3},{6623,-16108,3}, {6613,-16110,3},{6613,-16118,3},{6612,-16115,3},{6613,-16105,3},{6620,-16100,3}, {6625,-16100,3},{6633,-16113,3},{6640,-16155,3},{6640,-16173,3},{6638,-16180,3}, {6637,-16192,3},{6632,-16192,3},{6632,-16188,3},{6628,-16185,3},{6627,-16192,3}, {6633,-16197,3},{6643,-16187,3},{6650,-16187,3},{6653,-16190,3},{6662,-16208,3}, {6672,-16222,3},{6673,-16250,3},{6680,-16253,3},{6687,-16263,3},{6690,-16263,3}, {6692,-16252,3},{6695,-16248,3},{6692,-16242,3},{6695,-16233,3},{6695,-16232,3}, {6682,-16213,3},{6678,-16202,3},{6670,-16207,3},{6665,-16208,3},{6653,-16188,3}, {6645,-16160,3},{6648,-16135,3},{6653,-16120,3},{6650,-16115,3},{6648,-16108,3}, {6643,-16098,3},{6637,-16078,3},{6637,-16055,3},{6638,-16050,3},{6640,-16023,3}, {6652,-16022,3},{6660,-16032,3},{6663,-16032,3},{6665,-16025,3},{6665,-16035,3}, {6662,-16037,3},{6663,-16048,3},{6658,-16055,3},{6660,-16070,3},{6665,-16078,3}, {6667,-16085,3},{6665,-16117,3},{6655,-16127,3},{6653,-16150,3},{6657,-16157,3}, {6658,-16155,3},{6662,-16170,3},{6673,-16190,3},{6677,-16187,3},{6680,-16188,3}, {6683,-16180,3},{6690,-16180,3},{6692,-16172,3},{6695,-16173,3},{6697,-16165,3}, {6695,-16150,3},{6698,-16150,3},{6702,-16168,3},{6700,-16172,3},{6705,-16185,3}, {6703,-16210,3},{6700,-16223,3},{6705,-16225,3},{6707,-16230,3},{6700,-16230,3}, {6698,-16245,3},{6702,-16247,3},{6715,-16233,3},{6717,-16235,3},{6715,-16243,3}, {6713,-16237,3},{6702,-16255,3},{6702,-16265,3},{6705,-16275,3},{6703,-16283,3}, {6705,-16295,3},{6703,-16295,3},{6700,-16285,3},{6700,-16288,3},{6705,-16315,3}, {6712,-16373,3},{6713,-16377,3},{6737,-16383,3},{6752,-16398,3},{6762,-16412,3}, {6772,-16448,3},{6775,-16450,3},{6777,-16460,3},{6783,-16470,3},{6783,-16477,3}, {6780,-16472,3},{6803,-16537,3},{6808,-16558,3},{6810,-16582,3},{6813,-16592,3}, {6822,-16607,3},{6830,-16628,3},{6832,-16643,3},{6835,-16683,3},{6842,-16645,3}, {6837,-16675,3},{6835,-16662,3},{6837,-16653,3},{6840,-16645,3},{6838,-16638,3}, {6842,-16642,3},{6840,-16632,3},{6843,-16637,3},{6847,-16632,3},{6852,-16630,3}, {6857,-16623,3},{6875,-16618,3},{6887,-16623,3},{6888,-16622,3},{6885,-16573,3}, {6888,-16508,3},{6892,-16463,3},{6893,-16432,3},{6900,-16393,3},{6908,-16370,3}, {6913,-16358,3},{6932,-16327,3},{6942,-16318,3},{6942,-16315,3},{6930,-16327,3}, {6935,-16315,3},{6938,-16312,3},{6948,-16312,3},{6952,-16307,3},{6957,-16307,3}, {6960,-16315,3},{6962,-16303,3},{6965,-16307,3},{6965,-16303,3},{6967,-16307,3}, {6968,-16305,3},{6967,-16298,3},{6968,-16295,3},{6970,-16293,3},{6972,-16295,3}, {6973,-16303,3},{6978,-16295,3},{6997,-16252,3},{7005,-16248,3},{7005,-16237,3}, {7010,-16235,3},{7015,-16222,3},{7030,-16198,3},{7032,-16188,3},{7030,-16183,3}, {7028,-16183,3},{7027,-16172,3},{7025,-16170,3},{7025,-16190,3},{7025,-16188,3}, {7023,-16175,3},{7022,-16185,3},{7018,-16185,3},{7017,-16190,3},{7020,-16200,3}, {7018,-16205,3},{7015,-16212,3},{7017,-16185,3},{7018,-16180,3},{7020,-16173,3}, {7020,-16170,3},{7022,-16173,3},{7025,-16162,3},{7025,-16130,3},{7032,-16103,3}, {7030,-16103,3},{7028,-16095,3},{7032,-16098,3},{7038,-16075,3},{7043,-16060,3}, {7038,-16082,3},{7048,-16047,3},{7060,-16015,3},{7058,-16017,3},{7057,-16012,3}, {7060,-15993,3},{7055,-15995,3},{7053,-15992,3},{7052,-15995,3},{7052,-16003,3}, {7048,-16007,3},{7047,-16020,3},{7048,-15992,3},{7032,-16013,3},{7037,-15997,3}, {7033,-15992,3},{7032,-15992,3},{7020,-15977,3},{7038,-15988,3},{7050,-15982,3}, {7047,-15970,3},{7052,-15950,3},{7050,-15942,3},{7053,-15928,3},{7052,-15943,3}, {7052,-15957,3},{7050,-15972,3},{7053,-15980,3},{7063,-15993,3},{7063,-16003,3}, {7060,-16012,3},{7063,-16010,3},{7070,-15992,3},{7070,-15982,3},{7072,-15985,3}, {7080,-15967,3},{7088,-15918,3},{7085,-15937,3},{7083,-15915,3},{7082,-15915,3}, {7080,-15932,3},{7078,-15945,3},{7075,-15937,3},{7077,-15930,3},{7073,-15932,3}, {7068,-15922,3},{7075,-15928,3},{7077,-15925,3},{7075,-15915,3},{7077,-15900,3}, {7078,-15900,3},{7082,-15908,3},{7078,-15870,3},{7082,-15838,3},{7082,-15833,3}, {7083,-15850,3},{7085,-15850,3},{7082,-15823,3},{7083,-15805,3},{7085,-15787,3}, {7095,-15752,3},{7105,-15727,3},{7130,-15682,3},{7140,-15647,3},{7137,-15638,3}, {7140,-15647,3},{7137,-15652,3},{7135,-15660,3},{7130,-15653,3},{7128,-15643,3}, {7127,-15645,3},{7127,-15623,3},{7125,-15612,3},{7122,-15610,3},{7122,-15605,3}, {7117,-15612,3},{7118,-15600,3},{7122,-15595,3},{7120,-15592,3},{7118,-15565,3}, {7117,-15560,3},{7112,-15555,3},{7108,-15555,3},{7103,-15572,3},{7100,-15573,3}, {7097,-15588,3},{7097,-15610,3},{7095,-15602,3},{7093,-15602,3},{7092,-15618,3}, {7092,-15605,3},{7090,-15608,3},{7090,-15607,3},{7090,-15598,3},{7085,-15593,3}, {7082,-15598,3},{7075,-15597,3},{7077,-15590,3},{7082,-15592,3},{7083,-15590,3}, {7083,-15572,3},{7083,-15565,3},{7087,-15565,3},{7083,-15558,3},{7087,-15553,3}, {7093,-15553,3},{7100,-15538,3},{7103,-15528,3},{7100,-15525,3},{7098,-15520,3}, {7103,-15518,3},{7108,-15528,3},{7112,-15517,3},{7108,-15510,3},{7113,-15512,3}, {7115,-15508,3},{7113,-15503,3},{7105,-15503,3},{7102,-15508,3},{7102,-15502,3}, {7112,-15502,3},{7112,-15497,3},{7108,-15490,3},{7110,-15482,3},{7102,-15460,3}, {7092,-15465,3},{7088,-15480,3},{7088,-15468,3},{7088,-15467,3},{7083,-15462,3}, {7082,-15432,3},{7080,-15425,3},{7078,-15425,3},{7078,-15420,3},{7083,-15403,3}, {7088,-15392,3},{7090,-15338,3},{7093,-15320,3},{7090,-15308,3},{7092,-15303,3}, {7090,-15295,3},{7087,-15292,3},{7085,-15287,3},{7088,-15282,3},{7082,-15270,3}, {7085,-15267,3},{7088,-15275,3},{7088,-15265,3},{7087,-15240,3},{7083,-15225,3}, {7082,-15222,3},{7073,-15243,3},{7072,-15242,3},{7070,-15250,3},{7065,-15250,3}, {7060,-15238,3},{7060,-15210,3},{7057,-15208,3},{7058,-15250,3},{7057,-15257,3}, {7057,-15263,3},{7055,-15262,3},{7055,-15252,3},{7055,-15243,3},{7055,-15225,3}, {7055,-15210,3},{7057,-15202,3},{7055,-15173,3},{7052,-15180,3},{7052,-15187,3}, {7050,-15177,3},{7047,-15197,3},{7045,-15197,3},{7043,-15148,3},{7042,-15133,3}, {7037,-15122,3},{7038,-15117,3},{7042,-15122,3},{7045,-15118,3},{7045,-15098,3}, {7047,-15093,3},{7047,-15087,3},{7048,-15083,3},{7047,-15073,3},{7050,-15078,3}, {7050,-15052,3},{7047,-15048,3},{7048,-15042,3},{7048,-15037,3},{7042,-15040,3}, {7045,-15025,3},{7043,-15012,3},{7052,-14988,3},{7048,-14980,3},{7052,-14970,3}, {7052,-14950,3},{7050,-14947,3},{7050,-14948,3},{7048,-14938,3},{7048,-14935,3}, {7050,-14935,3},{7048,-14917,3},{7047,-14905,3},{7042,-14897,3},{7043,-14892,3}, {7042,-14882,3},{7040,-14860,3},{7037,-14852,3},{7032,-14850,3},{7032,-14837,3}, {7037,-14822,3},{7035,-14810,3},{7030,-14805,3},{7032,-14800,3},{7030,-14798,3}, {7032,-14787,3},{7030,-14780,3},{7023,-14780,3},{7018,-14740,3},{7020,-14727,3}, {7017,-14717,3},{7017,-14698,3},{7018,-14693,3},{7017,-14690,3},{7018,-14688,3}, {7020,-14653,3},{7018,-14628,3},{7015,-14608,3},{7015,-14595,3},{7017,-14593,3}, {7013,-14588,3},{7017,-14588,3},{7017,-14583,3},{7008,-14560,3},{7007,-14560,3}, {7010,-14555,3},{7005,-14547,3},{7003,-14533,3},{7003,-14522,3},{7000,-14530,3}, {6998,-14503,3},{6997,-14497,3},{6998,-14488,3},{7000,-14488,3},{6997,-14477,3}, {6997,-14463,3},{7003,-14440,3},{7003,-14417,3},{7007,-14412,3},{7005,-14407,3}, {6998,-14407,3},{7005,-14402,3},{7008,-14405,3},{7007,-14393,3},{7008,-14388,3}, {7008,-14383,3},{7010,-14375,3},{7008,-14368,3},{7008,-14362,3},{7010,-14357,3}, {7012,-14357,3},{7010,-14352,3},{7012,-14335,3},{7005,-14328,3},{7012,-14328,3}, {7008,-14313,3},{7008,-14302,3},{7007,-14298,3},{7008,-14290,3},{7002,-14263,3}, {7000,-14258,3},{6997,-14260,3},{6998,-14255,3},{6997,-14248,3},{6997,-14252,3}, {6995,-14252,3},{6993,-14242,3},{6992,-14242,3},{6992,-14237,3},{6988,-14237,3}, {6988,-14232,3},{6985,-14227,3},{6985,-14210,3},{6980,-14202,3},{6978,-14197,3}, {6980,-14195,3},{6982,-14192,3},{6980,-14188,3},{6978,-14173,3},{6972,-14153,3}, {6963,-14138,3},{6963,-14125,3},{6967,-14122,3},{6968,-14130,3},{6965,-14100,3}, {6962,-14100,3},{6957,-14100,3},{6950,-14100,3},{6943,-14100,3},{6937,-14100,3}, {6930,-14100,3},{6925,-14100,3},{6920,-14100,3},{6913,-14100,3},{6907,-14100,3}, {6900,-14100,3},{6892,-14100,3},{6887,-14100,3},{6880,-14100,3},{6873,-14100,3}, {6867,-14100,3},{6860,-14100,3},{6853,-14100,3},{6847,-14100,3},{6840,-14100,3}, {6833,-14100,3},{6827,-14100,3},{6820,-14100,3},{6813,-14100,3},{6807,-14100,3}, {6800,-14100,3},{6793,-14100,3},{6787,-14100,3},{6780,-14100,3},{6772,-14100,3}, {6767,-14100,3},{6760,-14100,3},{6753,-14100,3},{6747,-14100,3},{6742,-14100,3}, {6737,-14100,3},{6730,-14100,3},{6723,-14100,3},{6717,-14100,3},{6710,-14100,3}, {6705,-14100,3},{6700,-14100,3},{6693,-14100,3},{6687,-14100,3},{6680,-14100,3}, {6673,-14100,3},{6667,-14100,3},{6660,-14100,3},{6653,-14100,3},{6647,-14100,3}, {6642,-14100,3},{6637,-14100,3},{6630,-14100,3},{6623,-14100,3},{6617,-14100,3}, {6610,-14100,3},{6603,-14100,3},{6595,-14100,3},{6590,-14100,3},{6583,-14100,3}, {6577,-14100,3},{6570,-14100,3},{6565,-14100,3},{6558,-14100,3},{6553,-14100,3}, {6547,-14100,3},{6540,-14100,3},{6533,-14100,3},{6527,-14100,3},{6520,-14100,3}, {6513,-14100,3},{6507,-14100,3},{6500,-14100,3},{6493,-14100,3},{6487,-14100,3}, {6480,-14100,3},{6473,-14100,3},{6467,-14100,3},{6460,-14100,3},{6455,-14100,3}, {6448,-14100,3},{6443,-14100,3},{6437,-14100,3},{6430,-14100,3},{6423,-14100,3}, {6417,-14100,3},{6412,-14100,3},{6407,-14100,3},{6400,-14100,3},{6393,-14100,3}, {6387,-14100,3},{6380,-14100,3},{6373,-14100,3},{6367,-14100,3},{6362,-14100,3}, {6355,-14100,3},{6348,-14100,3},{6343,-14100,3},{6337,-14100,3},{6330,-14100,3}, {6323,-14100,3},{6317,-14100,3},{6310,-14100,3},{6305,-14100,3},{6298,-14100,3}, {6293,-14100,3},{6287,-14100,3},{6280,-14100,3},{6273,-14100,3},{6267,-14100,3}, {6260,-14100,3},{6253,-14100,3},{6247,-14100,3},{6240,-14100,3},{6233,-14100,3}, {6228,-14100,3},{6223,-14100,3},{6217,-14100,3},{6210,-14100,3},{6203,-14100,3}, {6197,-14100,3},{6190,-14100,3},{6183,-14100,3},{6177,-14100,3},{6172,-14100,3}, {6165,-14100,3},{6160,-14100,3},{6153,-14100,3},{6148,-14100,3},{6143,-14100,3}, {6137,-14100,3},{6128,-14100,3},{6123,-14100,3},{6117,-14100,3},{6110,-14100,3}, {6103,-14100,3},{6098,-14100,3},{6093,-14100,3},{6087,-14100,3},{6080,-14100,3}, {6073,-14100,3},{6067,-14100,3},{6062,-14100,3},{6055,-14100,3},{6050,-14100,3}, {6043,-14100,3},{6037,-14100,3},{6030,-14100,3},{6022,-14052,3},{6032,-14045,3}, {6018,-13998,3},{6033,-13968,3},{6035,-13907,3},{6032,-13907,3},{6008,-13918,3}, {6000,-13905,3},{5990,-13868,3},{5977,-13862,3},{5923,-13758,3},{5900,-13748,3}, {5893,-13750,3},{5890,-13745,3},{5898,-13730,3},{5915,-13683,3},{5917,-13658,3}, {5928,-13647,3},{5947,-13647,3},{5945,-13637,3},{5947,-13630,3},{5953,-13623,3}, {5957,-13623,3},{5960,-13635,3},{5963,-13620,3},{5967,-13595,3},{5980,-13547,3}, {5973,-13533,3},{5970,-13523,3},{5963,-13518,3},{5962,-13510,3},{5957,-13502,3}, {5947,-13502,3},{5945,-13507,3},{5943,-13508,3},{5938,-13498,3},{5935,-13502,3}, {5928,-13495,3},{5925,-13468,3},{5920,-13467,3},{5913,-13457,3},{5913,-13447,3}, {5905,-13438,3},{5898,-13440,3},{5897,-13432,3},{5893,-13433,3},{5885,-13425,3}, {5873,-13383,3},{5860,-13368,3},{5842,-13337,3},{5838,-13345,3},{5828,-13337,3}, {5813,-13313,3},{5800,-13305,3},{5787,-13288,3},{5752,-13257,3},{5738,-13238,3}, {5720,-13223,3},{5708,-13233,3},{5703,-13203,3},{5687,-13210,3},{5680,-13187,3}, {5675,-13188,3},{5668,-13183,3},{5660,-13182,3},{5660,-13155,3},{5640,-13105,3}, {5637,-13077,3},{5625,-13063,3},{5623,-13047,3},{5613,-13042,3},{5612,-13028,3}, {5608,-13023,3},{5612,-13008,3},{5603,-13002,3},{5592,-13000,3},{5895,-268,129}, {5892,-270,1},{5892,-277,1},{5888,-283,1},{5890,-287,1},{5888,-292,1},{5897,-297,1}, {5893,-308,1},{5893,-307,1},{5893,-312,1},{5892,-312,1},{5892,-320,1},{5897,-323,1}, {5900,-320,1},{5903,-322,1},{5902,-325,1},{5900,-323,1},{5902,-328,1},{5898,-325,1}, {5895,-330,1},{5897,-335,1},{5902,-337,1},{5905,-333,1},{5912,-335,1},{5913,-332,1}, {5915,-322,1},{5912,-310,1},{5912,-308,1},{5910,-305,1},{5910,-307,1},{5907,-300,1}, {5903,-302,1},{5905,-307,1},{5900,-313,1},{5898,-307,1},{5900,-305,1},{5902,-302,1}, {7097,-847,129},{7097,-862,1},{7082,-898,1},{7082,-908,1},{7087,-912,1}, {7087,-905,1},{7092,-893,1},{7093,-882,1},{7097,-873,1},{7102,-852,1},{7113,-833,1}, {3700,-2520,129},{3698,-2520,1},{3695,-2517,1},{3693,-2502,1},{3697,-2502,1}, {3700,-2503,1},{3702,-2508,1},{3700,-2520,1},{3790,-2585,129},{3785,-2587,1}, {3783,-2585,1},{3775,-2573,1},{3773,-2568,1},{3775,-2562,1},{3770,-2550,1}, {3772,-2537,1},{3773,-2528,1},{3775,-2517,1},{3782,-2513,1},{3785,-2515,1}, {3787,-2518,1},{3787,-2533,1},{3785,-2537,1},{3783,-2545,1},{3785,-2550,1}, {3783,-2555,1},{3785,-2570,1},{3788,-2570,1},{3790,-2573,1},{3792,-2578,1}, {3790,-2585,1},{3872,-2738,129},{3868,-2735,1},{3863,-2723,1},{3865,-2705,1}, {3867,-2705,1},{3870,-2702,1},{3872,-2703,1},{3873,-2703,1},{3877,-2707,1}, {3878,-2713,1},{3880,-2728,1},{3878,-2737,1},{3877,-2738,1},{3872,-2738,1}, {3853,-2855,129},{3845,-2853,1},{3840,-2847,1},{3840,-2828,1},{3837,-2825,1}, {3840,-2820,1},{3838,-2810,1},{3840,-2803,1},{3843,-2805,1},{3845,-2807,1}, {3847,-2820,1},{3850,-2825,1},{3855,-2840,1},{3855,-2850,1},{3853,-2855,1}, {3863,-2872,129},{3860,-2877,1},{3860,-2885,1},{3857,-2883,1},{3857,-2878,1}, {3852,-2875,1},{3852,-2862,1},{3853,-2863,1},{3855,-2863,1},{3855,-2860,1}, {3860,-2862,1},{3863,-2872,1},{2367,-7530,129},{2368,-7533,1},{2367,-7533,1}, {2362,-7535,1},{2365,-7532,1},{2362,-7533,1},{2362,-7530,1},{2357,-7532,1}, {2358,-7528,1},{2348,-7525,1},{2347,-7522,1},{2343,-7523,1},{2343,-7520,1}, {2340,-7520,1},{2337,-7515,1},{2335,-7517,1},{2335,-7513,1},{2327,-7510,1}, {2323,-7513,1},{2320,-7513,1},{2312,-7507,1},{2312,-7510,1},{2313,-7515,1}, {2317,-7518,1},{2317,-7515,1},{2318,-7517,1},{2320,-7520,1},{2317,-7523,1}, {2310,-7510,1},{2307,-7497,1},{2300,-7493,1},{2288,-7488,1},{2288,-7487,1}, {2285,-7485,1},{2287,-7483,1},{2300,-7485,1},{2303,-7490,1},{2308,-7492,1}, {2310,-7497,1},{2310,-7502,1},{2315,-7507,1},{2333,-7510,1},{2345,-7518,1}, {2353,-7520,1},{2358,-7527,1},{2363,-7527,1},{2367,-7530,1},{2465,-7563,129}, {2470,-7572,1},{2470,-7573,1},{2467,-7575,1},{2458,-7565,1},{2452,-7565,1}, {2452,-7558,1},{2437,-7552,1},{2428,-7547,1},{2428,-7542,1},{2425,-7540,1}, {2420,-7542,1},{2417,-7552,1},{2415,-7552,1},{2413,-7550,1},{2412,-7547,1}, {2415,-7543,1},{2417,-7535,1},{2415,-7528,1},{2422,-7532,1},{2427,-7537,1}, {2432,-7540,1},{2437,-7548,1},{2455,-7560,1},{2465,-7563,1},{2428,-7770,129}, {2430,-7768,1},{2428,-7767,1},{2427,-7765,1},{2425,-7763,1},{2423,-7763,1}, {2418,-7770,1},{2417,-7775,1},{2415,-7773,1},{2413,-7775,1},{2412,-7770,1}, {2405,-7772,1},{2403,-7773,1},{2403,-7770,1},{2410,-7768,1},{2413,-7765,1}, {2420,-7763,1},{2422,-7762,1},{2413,-7755,1},{2403,-7753,1},{2400,-7755,1}, {2398,-7753,1},{2395,-7753,1},{2392,-7760,1},{2390,-7760,1},{2393,-7755,1}, {2392,-7752,1},{2382,-7753,1},{2382,-7757,1},{2380,-7755,1},{2375,-7755,1}, {2373,-7760,1},{2375,-7765,1},{2375,-7767,1},{2373,-7765,1},{2372,-7767,1}, {2373,-7768,1},{2375,-7777,1},{2375,-7775,1},{2378,-7775,1},{2377,-7768,1}, {2378,-7767,1},{2382,-7760,1},{2385,-7757,1},{2383,-7762,1},{2378,-7770,1}, {2378,-7773,1},{2382,-7773,1},{2382,-7777,1},{2385,-7767,1},{2388,-7765,1}, {2387,-7768,1},{2385,-7780,1},{2393,-7783,1},{2398,-7782,1},{2398,-7783,1}, {2402,-7783,1},{2405,-7787,1},{2407,-7787,1},{2410,-7793,1},{2410,-7790,1}, {2415,-7792,1},{2415,-7787,1},{2417,-7785,1},{2420,-7783,1},{2422,-7778,1}, {2425,-7777,1},{2428,-7770,1},{2520,-7820,129},{2518,-7813,1},{2515,-7810,1}, {2518,-7805,1},{2515,-7798,1},{2510,-7800,1},{2507,-7797,1},{2500,-7798,1}, {2500,-7795,1},{2497,-7793,1},{2485,-7788,1},{2478,-7783,1},{2472,-7773,1}, {2463,-7773,1},{2460,-7775,1},{2452,-7772,1},{2447,-7772,1},{2445,-7775,1}, {2445,-7780,1},{2442,-7783,1},{2442,-7785,1},{2437,-7787,1},{2433,-7793,1}, {2435,-7797,1},{2430,-7802,1},{2428,-7800,1},{2427,-7803,1},{2428,-7805,1}, {2437,-7808,1},{2440,-7813,1},{2450,-7813,1},{2445,-7820,1},{2450,-7830,1}, {2453,-7837,1},{2462,-7843,1},{2465,-7838,1},{2467,-7838,1},{2467,-7833,1}, {2472,-7832,1},{2470,-7830,1},{2465,-7828,1},{2460,-7833,1},{2458,-7833,1}, {2460,-7827,1},{2463,-7827,1},{2462,-7825,1},{2457,-7827,1},{2457,-7825,1}, {2457,-7822,1},{2460,-7823,1},{2460,-7820,1},{2462,-7820,1},{2463,-7822,1}, {2473,-7827,1},{2467,-7827,1},{2472,-7830,1},{2478,-7828,1},{2482,-7823,1}, {2485,-7823,1},{2487,-7820,1},{2492,-7818,1},{2495,-7818,1},{2498,-7817,1}, {2503,-7815,1},{2517,-7822,1},{2520,-7820,1},{2557,-7673,129},{2555,-7668,1}, {2548,-7668,1},{2550,-7667,1},{2548,-7665,1},{2547,-7663,1},{2537,-7648,1}, {2533,-7640,1},{2535,-7635,1},{2530,-7632,1},{2522,-7623,1},{2513,-7612,1}, {2505,-7612,1},{2500,-7613,1},{2497,-7615,1},{2490,-7613,1},{2485,-7613,1}, {2475,-7618,1},{2465,-7617,1},{2465,-7618,1},{2468,-7622,1},{2475,-7623,1}, {2478,-7632,1},{2482,-7633,1},{2480,-7622,1},{2482,-7622,1},{2485,-7618,1}, {2488,-7617,1},{2488,-7618,1},{2487,-7620,1},{2488,-7622,1},{2497,-7620,1}, {2502,-7615,1},{2508,-7615,1},{2513,-7617,1},{2515,-7618,1},{2518,-7625,1}, {2532,-7635,1},{2535,-7652,1},{2543,-7662,1},{2543,-7672,1},{2543,-7675,1}, {2542,-7678,1},{2547,-7675,1},{2557,-7673,1},{2690,-7795,129},{2692,-7790,1}, {2693,-7783,1},{2690,-7767,1},{2692,-7760,1},{2690,-7753,1},{2668,-7730,1}, {2668,-7725,1},{2667,-7730,1},{2662,-7727,1},{2660,-7718,1},{2652,-7705,1}, {2648,-7703,1},{2647,-7707,1},{2642,-7705,1},{2638,-7702,1},{2633,-7703,1}, {2630,-7700,1},{2628,-7705,1},{2632,-7705,1},{2630,-7708,1},{2623,-7717,1}, {2613,-7718,1},{2593,-7718,1},{2588,-7720,1},{2588,-7725,1},{2598,-7730,1}, {2600,-7737,1},{2602,-7740,1},{2603,-7738,1},{2607,-7733,1},{2608,-7730,1}, {2613,-7725,1},{2615,-7722,1},{2620,-7725,1},{2625,-7723,1},{2628,-7723,1}, {2632,-7725,1},{2635,-7722,1},{2642,-7723,1},{2643,-7723,1},{2645,-7720,1}, {2650,-7718,1},{2652,-7715,1},{2655,-7715,1},{2658,-7722,1},{2660,-7735,1}, {2668,-7737,1},{2668,-7743,1},{2675,-7743,1},{2687,-7753,1},{2687,-7767,1}, {2688,-7772,1},{2688,-7777,1},{2690,-7778,1},{2692,-7783,1},{2688,-7795,1}, {2690,-7797,1},{2690,-7795,1},{2668,-7897,129},{2665,-7888,1},{2662,-7887,1}, {2662,-7883,1},{2658,-7880,1},{2658,-7870,1},{2662,-7865,1},{2668,-7860,1}, {2670,-7860,1},{2672,-7863,1},{2675,-7860,1},{2680,-7858,1},{2678,-7855,1}, {2673,-7853,1},{2673,-7850,1},{2668,-7835,1},{2670,-7832,1},{2672,-7828,1}, {2672,-7815,1},{2670,-7812,1},{2673,-7803,1},{2672,-7798,1},{2677,-7792,1}, {2672,-7792,1},{2667,-7790,1},{2663,-7792,1},{2667,-7802,1},{2663,-7815,1}, {2662,-7830,1},{2657,-7850,1},{2648,-7870,1},{2650,-7875,1},{2655,-7883,1}, {2668,-7898,1},{2670,-7898,1},{2668,-7897,1},{2103,-7370,129},{2103,-7367,1}, {2105,-7365,1},{2108,-7365,1},{2110,-7368,1},{2112,-7363,1},{2113,-7357,1}, {2118,-7353,1},{2120,-7342,1},{2123,-7340,1},{2117,-7333,1},{2113,-7327,1}, {2118,-7315,1},{2127,-7308,1},{2132,-7307,1},{2133,-7302,1},{2132,-7300,1}, {2117,-7302,1},{2097,-7315,1},{2097,-7328,1},{2093,-7332,1},{2095,-7330,1}, {2092,-7345,1},{2095,-7360,1},{2092,-7367,1},{2093,-7368,1},{2097,-7368,1}, {2102,-7372,1},{2103,-7370,1},{1777,-6487,129},{1777,-6483,1},{1777,-6482,1}, {1780,-6478,1},{1775,-6470,1},{1777,-6465,1},{1777,-6458,1},{1775,-6457,1}, {1775,-6460,1},{1772,-6467,1},{1770,-6473,1},{1768,-6483,1},{1768,-6487,1}, {1768,-6490,1},{1772,-6488,1},{1775,-6488,1},{1777,-6487,1},{1640,-6152,129}, {1645,-6153,1},{1652,-6147,1},{1647,-6140,1},{1642,-6138,1},{1638,-6140,1}, {1635,-6137,1},{1632,-6127,1},{1627,-6120,1},{1625,-6117,1},{1623,-6118,1}, {1625,-6123,1},{1623,-6135,1},{1620,-6145,1},{1622,-6152,1},{1625,-6155,1}, {1627,-6155,1},{1633,-6152,1},{1635,-6150,1},{1638,-6150,1},{1640,-6152,1}, {1605,-6175,129},{1627,-6180,1},{1633,-6178,1},{1637,-6175,1},{1630,-6160,1}, {1627,-6160,1},{1628,-6155,1},{1623,-6153,1},{1623,-6157,1},{1620,-6158,1}, {1605,-6155,1},{1598,-6162,1},{1595,-6168,1},{1598,-6170,1},{1605,-6175,1}, {1563,-6147,129},{1563,-6142,1},{1558,-6138,1},{1558,-6132,1},{1555,-6130,1}, {1552,-6127,1},{1545,-6125,1},{1543,-6127,1},{1532,-6125,1},{1525,-6127,1}, {1523,-6128,1},{1525,-6132,1},{1520,-6137,1},{1520,-6138,1},{1525,-6138,1}, {1527,-6137,1},{1530,-6140,1},{1535,-6140,1},{1548,-6147,1},{1553,-6148,1}, {1557,-6147,1},{1558,-6148,1},{1563,-6147,1},{1487,-6120,129},{1488,-6117,1}, {1487,-6110,1},{1480,-6100,1},{1475,-6095,1},{1477,-6093,1},{1477,-6088,1}, {1477,-6090,1},{1473,-6090,1},{1475,-6092,1},{1473,-6093,1},{1472,-6093,1}, {1470,-6092,1},{1468,-6093,1},{1467,-6093,1},{1467,-6088,1},{1465,-6090,1}, {1463,-6090,1},{1462,-6087,1},{1460,-6087,1},{1457,-6083,1},{1455,-6083,1}, {1453,-6083,1},{1452,-6083,1},{1447,-6082,1},{1440,-6087,1},{1440,-6088,1}, {1443,-6088,1},{1443,-6087,1},{1447,-6087,1},{1445,-6090,1},{1447,-6092,1}, {1447,-6103,1},{1445,-6105,1},{1447,-6108,1},{1450,-6108,1},{1452,-6110,1}, {1453,-6108,1},{1457,-6105,1},{1453,-6102,1},{1455,-6100,1},{1460,-6102,1}, {1460,-6105,1},{1460,-6110,1},{1467,-6115,1},{1470,-6118,1},{1475,-6118,1}, {1482,-6123,1},{1487,-6120,1},{2183,-8307,129},{2190,-8302,1},{2192,-8297,1}, {2193,-8300,1},{2195,-8298,1},{2190,-8275,1},{2188,-8268,1},{2183,-8270,1}, {2180,-8268,1},{2180,-8267,1},{2177,-8263,1},{2177,-8260,1},{2175,-8260,1}, {2172,-8258,1},{2167,-8262,1},{2165,-8257,1},{2160,-8257,1},{2160,-8255,1}, {2157,-8255,1},{2148,-8270,1},{2143,-8290,1},{2145,-8293,1},{2147,-8307,1}, {2150,-8310,1},{2153,-8315,1},{2157,-8317,1},{2163,-8318,1},{2157,-8310,1}, {2153,-8307,1},{2155,-8302,1},{2157,-8300,1},{2157,-8298,1},{2160,-8297,1}, {2158,-8295,1},{2157,-8297,1},{2158,-8293,1},{2160,-8295,1},{2162,-8298,1}, {2167,-8302,1},{2178,-8308,1},{2183,-8307,1},{2253,-7850,129},{2253,-7847,1}, {2255,-7843,1},{2257,-7840,1},{2253,-7833,1},{2253,-7835,1},{2252,-7835,1}, {2245,-7828,1},{2243,-7828,1},{2243,-7830,1},{2245,-7830,1},{2243,-7835,1}, {2243,-7840,1},{2242,-7842,1},{2243,-7842,1},{2243,-7840,1},{2247,-7840,1}, {2245,-7847,1},{2245,-7850,1},{2245,-7853,1},{2247,-7855,1},{2248,-7857,1}, {2248,-7865,1},{2250,-7865,1},{2252,-7865,1},{2253,-7865,1},{2250,-7868,1}, {2250,-7870,1},{2253,-7870,1},{2255,-7867,1},{2255,-7860,1},{2253,-7857,1}, {2253,-7850,1},{2240,-7832,129},{2243,-7827,1},{2243,-7820,1},{2242,-7818,1}, {2243,-7817,1},{2240,-7810,1},{2230,-7807,1},{2228,-7805,1},{2228,-7802,1}, {2227,-7802,1},{2227,-7805,1},{2230,-7810,1},{2230,-7817,1},{2232,-7818,1}, {2232,-7820,1},{2233,-7817,1},{2237,-7820,1},{2237,-7822,1},{2233,-7822,1}, {2233,-7823,1},{2237,-7825,1},{2237,-7822,1},{2238,-7823,1},{2240,-7827,1}, {2240,-7828,1},{2240,-7832,1},{2232,-7802,129},{2230,-7798,1},{2228,-7797,1}, {2227,-7797,1},{2227,-7798,1},{2223,-7798,1},{2223,-7795,1},{2223,-7793,1}, {2220,-7792,1},{2222,-7792,1},{2223,-7790,1},{2222,-7788,1},{2222,-7787,1}, {2220,-7787,1},{2218,-7790,1},{2217,-7787,1},{2217,-7783,1},{2215,-7783,1}, {2212,-7785,1},{2210,-7787,1},{2210,-7788,1},{2210,-7790,1},{2215,-7792,1}, {2215,-7795,1},{2212,-7795,1},{2218,-7803,1},{2220,-7805,1},{2223,-7800,1}, {2228,-7800,1},{2232,-7802,1},{2210,-7795,129},{2210,-7792,1},{2207,-7787,1}, {2210,-7780,1},{2207,-7777,1},{2208,-7773,1},{2207,-7772,1},{2205,-7768,1}, {2207,-7767,1},{2203,-7762,1},{2197,-7765,1},{2193,-7763,1},{2192,-7768,1}, {2195,-7768,1},{2195,-7770,1},{2192,-7770,1},{2190,-7770,1},{2195,-7773,1}, {2198,-7782,1},{2203,-7782,1},{2203,-7785,1},{2200,-7785,1},{2202,-7785,1}, {2200,-7788,1},{2205,-7793,1},{2210,-7795,1},{1082,-6108,129},{1083,-6102,1}, {1083,-6098,1},{1083,-6093,1},{1082,-6090,1},{1075,-6095,1},{1070,-6100,1}, {1070,-6102,1},{1067,-6103,1},{1053,-6102,1},{1052,-6103,1},{1048,-6105,1}, {1038,-6102,1},{1035,-6100,1},{1033,-6097,1},{1030,-6100,1},{1013,-6100,1}, {1013,-6103,1},{1008,-6112,1},{1007,-6120,1},{1008,-6127,1},{1007,-6133,1}, {1007,-6155,1},{1005,-6163,1},{1008,-6168,1},{1007,-6183,1},{1003,-6192,1}, {1005,-6192,1},{1007,-6192,1},{1010,-6183,1},{1013,-6182,1},{1017,-6170,1}, {1020,-6163,1},{1025,-6163,1},{1023,-6153,1},{1025,-6150,1},{1028,-6145,1}, {1033,-6147,1},{1042,-6148,1},{1053,-6145,1},{1060,-6147,1},{1063,-6148,1}, {1067,-6155,1},{1068,-6160,1},{1068,-6165,1},{1072,-6167,1},{1073,-6160,1}, {1075,-6148,1},{1077,-6147,1},{1075,-6145,1},{1077,-6143,1},{1075,-6143,1}, {1077,-6142,1},{1077,-6140,1},{1080,-6137,1},{1080,-6135,1},{1078,-6120,1}, {1080,-6117,1},{1082,-6108,1},{1135,-6053,129},{1127,-6053,1},{1125,-6058,1}, {1120,-6063,1},{1120,-6068,1},{1118,-6072,1},{1118,-6073,1},{1113,-6080,1}, {1115,-6085,1},{1118,-6085,1},{1118,-6082,1},{1130,-6068,1},{1133,-6058,1}, {1132,-6057,1},{1133,-6055,1},{1135,-6053,1},{10,-9150,129},{5,-9150,1}, {0,-9160,1},{-2,-9160,1},{-5,-9157,1},{-2,-9148,1},{-3,-9142,1},{-15,-9140,1}, {-18,-9138,1},{-20,-9140,1},{-23,-9142,1},{-25,-9138,1},{-30,-9137,1},{-33,-9133,1}, {-38,-9123,1},{-45,-9123,1},{-55,-9115,1},{-55,-9112,1},{-58,-9108,1},{-62,-9108,1}, {-62,-9112,1},{-63,-9113,1},{-65,-9113,1},{-68,-9115,1},{-67,-9123,1},{-68,-9132,1}, {-70,-9132,1},{-78,-9142,1},{-83,-9148,1},{-87,-9150,1},{-92,-9148,1},{-95,-9145,1}, {-100,-9143,1},{-102,-9142,1},{-103,-9138,1},{-102,-9132,1},{-103,-9120,1}, {-102,-9115,1},{-102,-9108,1},{-97,-9100,1},{-97,-9093,1},{-92,-9088,1}, {-92,-9085,1},{-87,-9087,1},{-78,-9083,1},{-77,-9080,1},{-75,-9078,1},{-70,-9085,1}, {-67,-9085,1},{-65,-9088,1},{-62,-9092,1},{-62,-9097,1},{-57,-9095,1},{-58,-9098,1}, {-52,-9095,1},{-47,-9097,1},{-43,-9095,1},{-35,-9105,1},{-30,-9113,1},{-28,-9112,1}, {-23,-9117,1},{-15,-9120,1},{-2,-9120,1},{2,-9128,1},{5,-9128,1},{8,-9132,1}, {13,-9132,1},{15,-9137,1},{13,-9138,1},{10,-9143,1},{10,-9150,1},{-28,-9167,129}, {-38,-9165,1},{-47,-9162,1},{-47,-9157,1},{-50,-9150,1},{-47,-9140,1},{-45,-9140,1}, {-40,-9140,1},{-33,-9140,1},{-28,-9142,1},{-25,-9147,1},{-28,-9157,1},{-28,-9167,1}, {5192,-17792,129},{5188,-17788,1},{5185,-17790,1},{5185,-17783,1},{5183,-17783,1}, {5185,-17778,1},{5183,-17772,1},{5185,-17762,1},{5183,-17762,1},{5182,-17765,1}, {5182,-17772,1},{5178,-17780,1},{5177,-17777,1},{5173,-17782,1},{5170,-17780,1}, {5167,-17785,1},{5168,-17788,1},{5167,-17792,1},{5160,-17790,1},{5160,-17795,1}, {5163,-17797,1},{5165,-17803,1},{5167,-17803,1},{5167,-17810,1},{5170,-17808,1}, {5170,-17802,1},{5172,-17795,1},{5177,-17797,1},{5178,-17802,1},{5178,-17805,1}, {5182,-17807,1},{5187,-17822,1},{5192,-17815,1},{5192,-17792,1},{5197,-17655,129}, {5192,-17655,1},{5190,-17660,1},{5185,-17665,1},{5185,-17658,1},{5183,-17660,1}, {5183,-17653,1},{5182,-17650,1},{5183,-17650,1},{5183,-17643,1},{5173,-17643,1}, {5172,-17647,1},{5173,-17647,1},{5175,-17650,1},{5173,-17653,1},{5168,-17657,1}, {5170,-17662,1},{5167,-17667,1},{5168,-17670,1},{5167,-17672,1},{5162,-17672,1}, {5163,-17675,1},{5160,-17680,1},{5163,-17682,1},{5163,-17680,1},{5167,-17683,1}, {5172,-17683,1},{5158,-17692,1},{5160,-17698,1},{5165,-17697,1},{5170,-17690,1}, {5175,-17688,1},{5177,-17682,1},{5177,-17690,1},{5180,-17690,1},{5182,-17687,1}, {5180,-17685,1},{5178,-17683,1},{5178,-17680,1},{5178,-17670,1},{5180,-17675,1}, {5182,-17678,1},{5185,-17677,1},{5185,-17670,1},{5190,-17677,1},{5193,-17678,1}, {5195,-17672,1},{5195,-17663,1},{5198,-17660,1},{5198,-17655,1},{5197,-17655,1}, {5242,-17417,129},{5240,-17412,1},{5238,-17408,1},{5237,-17407,1},{5235,-17400,1}, {5232,-17398,1},{5230,-17398,1},{5227,-17405,1},{5222,-17407,1},{5222,-17420,1}, {5220,-17420,1},{5213,-17408,1},{5210,-17410,1},{5212,-17415,1},{5212,-17417,1}, {5212,-17422,1},{5208,-17422,1},{5210,-17427,1},{5212,-17432,1},{5210,-17443,1}, {5210,-17437,1},{5210,-17440,1},{5207,-17440,1},{5203,-17442,1},{5203,-17445,1}, {5208,-17445,1},{5207,-17447,1},{5207,-17450,1},{5208,-17452,1},{5203,-17448,1}, {5205,-17455,1},{5203,-17455,1},{5203,-17457,1},{5203,-17467,1},{5205,-17470,1}, {5203,-17470,1},{5200,-17472,1},{5202,-17477,1},{5203,-17490,1},{5203,-17497,1}, {5200,-17502,1},{5200,-17508,1},{5202,-17528,1},{5200,-17532,1},{5202,-17533,1}, {5205,-17512,1},{5203,-17510,1},{5202,-17512,1},{5203,-17505,1},{5202,-17502,1}, {5207,-17502,1},{5205,-17498,1},{5208,-17495,1},{5207,-17492,1},{5212,-17490,1}, {5208,-17490,1},{5210,-17487,1},{5208,-17483,1},{5210,-17480,1},{5208,-17478,1}, {5212,-17472,1},{5210,-17472,1},{5210,-17458,1},{5213,-17460,1},{5213,-17450,1}, {5215,-17455,1},{5218,-17455,1},{5217,-17442,1},{5217,-17440,1},{5220,-17445,1}, {5222,-17443,1},{5222,-17438,1},{5218,-17433,1},{5220,-17433,1},{5222,-17430,1}, {5222,-17428,1},{5223,-17427,1},{5225,-17423,1},{5227,-17423,1},{5228,-17430,1}, {5232,-17433,1},{5230,-17435,1},{5228,-17433,1},{5228,-17437,1},{5230,-17443,1}, {5232,-17445,1},{5232,-17437,1},{5233,-17433,1},{5237,-17433,1},{5237,-17428,1}, {5238,-17428,1},{5242,-17417,1},{5212,-17402,129},{5213,-17388,1},{5212,-17388,1}, {5212,-17390,1},{5210,-17387,1},{5212,-17385,1},{5208,-17380,1},{5212,-17375,1}, {5213,-17368,1},{5215,-17363,1},{5215,-17358,1},{5213,-17358,1},{5215,-17353,1}, {5212,-17353,1},{5210,-17350,1},{5212,-17347,1},{5210,-17343,1},{5212,-17342,1}, {5210,-17340,1},{5210,-17337,1},{5208,-17335,1},{5208,-17330,1},{5210,-17330,1}, {5210,-17322,1},{5210,-17313,1},{5208,-17295,1},{5205,-17315,1},{5207,-17323,1}, {5207,-17325,1},{5207,-17328,1},{5203,-17338,1},{5203,-17348,1},{5202,-17350,1}, {5203,-17352,1},{5203,-17357,1},{5205,-17357,1},{5205,-17368,1},{5207,-17368,1}, {5205,-17373,1},{5203,-17383,1},{5205,-17392,1},{5208,-17392,1},{5210,-17402,1}, {5212,-17405,1},{5213,-17405,1},{5212,-17402,1},{5350,-16780,129},{5343,-16787,1}, {5338,-16785,1},{5327,-16812,1},{5323,-16828,1},{5320,-16833,1},{5315,-16835,1}, {5317,-16837,1},{5313,-16837,1},{5312,-16842,1},{5305,-16847,1},{5302,-16858,1}, {5297,-16868,1},{5295,-16868,1},{5297,-16877,1},{5295,-16878,1},{5292,-16875,1}, {5290,-16877,1},{5293,-16880,1},{5290,-16887,1},{5288,-16888,1},{5285,-16903,1}, {5283,-16903,1},{5282,-16910,1},{5283,-16905,1},{5287,-16905,1},{5288,-16897,1}, {5293,-16897,1},{5293,-16888,1},{5300,-16887,1},{5302,-16882,1},{5307,-16877,1}, {5308,-16877,1},{5310,-16880,1},{5315,-16880,1},{5318,-16877,1},{5325,-16863,1}, {5327,-16862,1},{5325,-16853,1},{5327,-16847,1},{5325,-16843,1},{5327,-16837,1}, {5330,-16835,1},{5333,-16843,1},{5338,-16838,1},{5342,-16842,1},{5348,-16835,1}, {5348,-16830,1},{5353,-16823,1},{5357,-16800,1},{5352,-16793,1},{5352,-16780,1}, {5350,-16780,1},{5397,-16625,129},{5393,-16625,1},{5392,-16627,1},{5393,-16622,1}, {5392,-16622,1},{5388,-16625,1},{5387,-16628,1},{5388,-16635,1},{5385,-16635,1}, {5383,-16643,1},{5380,-16642,1},{5378,-16653,1},{5377,-16648,1},{5375,-16655,1}, {5372,-16657,1},{5370,-16655,1},{5368,-16655,1},{5372,-16652,1},{5368,-16648,1}, {5372,-16647,1},{5373,-16647,1},{5375,-16642,1},{5372,-16637,1},{5375,-16637,1}, {5378,-16635,1},{5377,-16632,1},{5372,-16632,1},{5372,-16627,1},{5368,-16628,1}, {5367,-16637,1},{5367,-16642,1},{5365,-16642,1},{5362,-16655,1},{5358,-16652,1}, {5360,-16657,1},{5358,-16658,1},{5353,-16658,1},{5360,-16667,1},{5352,-16663,1}, {5353,-16672,1},{5350,-16665,1},{5348,-16667,1},{5352,-16673,1},{5357,-16678,1}, {5355,-16680,1},{5347,-16675,1},{5345,-16675,1},{5347,-16680,1},{5343,-16682,1}, {5345,-16683,1},{5348,-16688,1},{5343,-16692,1},{5347,-16695,1},{5342,-16697,1}, {5345,-16700,1},{5342,-16708,1},{5342,-16713,1},{5340,-16718,1},{5337,-16728,1}, {5333,-16732,1},{5333,-16740,1},{5333,-16742,1},{5332,-16745,1},{5325,-16750,1}, {5328,-16760,1},{5325,-16762,1},{5323,-16767,1},{5327,-16767,1},{5327,-16777,1}, {5330,-16785,1},{5338,-16768,1},{5338,-16765,1},{5337,-16763,1},{5338,-16762,1}, {5337,-16760,1},{5340,-16758,1},{5337,-16748,1},{5340,-16752,1},{5343,-16748,1}, {5342,-16740,1},{5343,-16740,1},{5343,-16738,1},{5340,-16732,1},{5345,-16733,1}, {5345,-16728,1},{5347,-16730,1},{5345,-16722,1},{5347,-16717,1},{5352,-16718,1}, {5350,-16708,1},{5353,-16697,1},{5355,-16698,1},{5353,-16708,1},{5355,-16715,1}, {5357,-16713,1},{5360,-16717,1},{5362,-16717,1},{5363,-16712,1},{5362,-16707,1}, {5360,-16705,1},{5363,-16705,1},{5362,-16700,1},{5363,-16700,1},{5367,-16707,1}, {5368,-16707,1},{5370,-16703,1},{5372,-16692,1},{5370,-16688,1},{5363,-16687,1}, {5365,-16683,1},{5363,-16680,1},{5370,-16683,1},{5368,-16677,1},{5370,-16675,1}, {5372,-16678,1},{5372,-16670,1},{5373,-16687,1},{5375,-16688,1},{5377,-16697,1}, {5375,-16703,1},{5380,-16710,1},{5382,-16710,1},{5383,-16715,1},{5385,-16717,1}, {5387,-16712,1},{5392,-16710,1},{5395,-16702,1},{5395,-16697,1},{5398,-16688,1}, {5397,-16685,1},{5402,-16675,1},{5398,-16675,1},{5397,-16673,1},{5402,-16668,1}, {5398,-16662,1},{5395,-16660,1},{5395,-16662,1},{5392,-16663,1},{5387,-16663,1}, {5388,-16658,1},{5383,-16660,1},{5390,-16648,1},{5388,-16645,1},{5393,-16645,1}, {5393,-16642,1},{5400,-16637,1},{5400,-16635,1},{5395,-16637,1},{5395,-16633,1}, {5397,-16627,1},{5397,-16625,1},{6042,-16612,129},{6033,-16607,1},{6032,-16593,1}, {6033,-16592,1},{6035,-16585,1},{6033,-16577,1},{6030,-16568,1},{6027,-16568,1}, {6023,-16572,1},{6020,-16568,1},{6017,-16573,1},{6015,-16568,1},{6010,-16567,1}, {6007,-16573,1},{6007,-16567,1},{6003,-16567,1},{6002,-16562,1},{6000,-16563,1}, {5997,-16562,1},{5998,-16553,1},{5995,-16558,1},{5995,-16555,1},{5992,-16557,1}, {5990,-16562,1},{5990,-16572,1},{5992,-16575,1},{5990,-16575,1},{5990,-16578,1}, {5987,-16588,1},{5990,-16598,1},{5990,-16600,1},{5987,-16597,1},{5983,-16612,1}, {5985,-16612,1},{5987,-16618,1},{5985,-16627,1},{5982,-16622,1},{5982,-16612,1}, {5978,-16608,1},{5975,-16610,1},{5975,-16620,1},{5978,-16622,1},{5982,-16628,1}, {5985,-16642,1},{5985,-16648,1},{5987,-16652,1},{5985,-16660,1},{5988,-16667,1}, {5990,-16675,1},{5995,-16688,1},{5998,-16702,1},{6000,-16700,1},{6000,-16705,1}, {6002,-16707,1},{5998,-16708,1},{6000,-16713,1},{6008,-16725,1},{6007,-16727,1}, {6007,-16732,1},{6013,-16733,1},{6020,-16745,1},{6020,-16740,1},{6023,-16730,1}, {6022,-16725,1},{6023,-16710,1},{6022,-16703,1},{6020,-16683,1},{6023,-16680,1}, {6028,-16680,1},{6033,-16667,1},{6032,-16658,1},{6035,-16657,1},{6038,-16650,1}, {6038,-16642,1},{6037,-16638,1},{6033,-16640,1},{6038,-16627,1},{6038,-16615,1}, {6043,-16615,1},{6042,-16612,1},{6295,-16967,129},{6297,-16975,1},{6302,-16975,1}, {6302,-16972,1},{6305,-16970,1},{6307,-16975,1},{6312,-16980,1},{6315,-16990,1}, {6315,-16997,1},{6303,-16978,1},{6312,-16990,1},{6320,-17008,1},{6318,-17015,1}, {6320,-17027,1},{6322,-17022,1},{6328,-17023,1},{6330,-17033,1},{6338,-17053,1}, {6340,-17065,1},{6342,-17068,1},{6342,-17078,1},{6347,-17085,1},{6343,-17108,1}, {6342,-17083,1},{6337,-17055,1},{6332,-17042,1},{6323,-17030,1},{6330,-17040,1}, {6335,-17053,1},{6342,-17088,1},{6343,-17103,1},{6343,-17110,1},{6342,-17113,1}, {6338,-17127,1},{6333,-17133,1},{6332,-17145,1},{6333,-17155,1},{6335,-17157,1}, {6337,-17173,1},{6342,-17180,1},{6352,-17185,1},{6358,-17183,1},{6360,-17180,1}, {6363,-17180,1},{6367,-17173,1},{6380,-17173,1},{6380,-17167,1},{6377,-17163,1}, {6370,-17163,1},{6365,-17140,1},{6363,-17152,1},{6362,-17155,1},{6362,-17150,1}, {6360,-17148,1},{6360,-17135,1},{6362,-17130,1},{6363,-17138,1},{6363,-17132,1}, {6360,-17107,1},{6360,-17117,1},{6358,-17110,1},{6358,-17108,1},{6358,-17102,1}, {6358,-17097,1},{6357,-17097,1},{6358,-17090,1},{6360,-17083,1},{6368,-17065,1}, {6367,-17062,1},{6368,-17055,1},{6370,-17045,1},{6368,-17037,1},{6370,-17030,1}, {6363,-17020,1},{6362,-17010,1},{6358,-17007,1},{6353,-17003,1},{6348,-17008,1}, {6348,-16992,1},{6345,-16985,1},{6345,-16975,1},{6345,-16983,1},{6343,-16978,1}, {6343,-16965,1},{6342,-16957,1},{6337,-16957,1},{6335,-16952,1},{6335,-16942,1}, {6338,-16953,1},{6335,-16927,1},{6330,-16920,1},{6330,-16917,1},{6330,-16910,1}, {6332,-16907,1},{6335,-16922,1},{6335,-16900,1},{6330,-16868,1},{6328,-16873,1}, {6323,-16872,1},{6315,-16885,1},{6318,-16910,1},{6318,-16927,1},{6317,-16933,1}, {6318,-16928,1},{6318,-16915,1},{6320,-16920,1},{6318,-16932,1},{6315,-16940,1}, {6313,-16940,1},{6312,-16943,1},{6310,-16952,1},{6303,-16958,1},{6298,-16955,1}, {6298,-16960,1},{6295,-16967,1},{2027,-15582,129},{2023,-15573,1},{2020,-15572,1}, {2013,-15558,1},{2013,-15552,1},{2010,-15543,1},{1998,-15518,1},{1988,-15508,1}, {1973,-15507,1},{1975,-15500,1},{1973,-15498,1},{1965,-15497,1},{1963,-15493,1}, {1962,-15493,1},{1953,-15480,1},{1945,-15483,1},{1942,-15492,1},{1933,-15500,1}, {1932,-15507,1},{1928,-15517,1},{1927,-15530,1},{1915,-15545,1},{1913,-15550,1}, {1910,-15553,1},{1905,-15555,1},{1898,-15558,1},{1892,-15567,1},{1897,-15568,1}, {1903,-15578,1},{1903,-15587,1},{1908,-15590,1},{1918,-15590,1},{1937,-15588,1}, {1942,-15590,1},{1948,-15592,1},{1950,-15593,1},{1953,-15595,1},{1963,-15598,1}, {1967,-15602,1},{1973,-15605,1},{1980,-15603,1},{1982,-15598,1},{1985,-15597,1}, {1987,-15592,1},{1995,-15588,1},{2000,-15582,1},{2005,-15582,1},{2010,-15587,1}, {2018,-15590,1},{2027,-15587,1},{2028,-15585,1},{2027,-15582,1},{2093,-15627,129}, {2093,-15623,1},{2088,-15618,1},{2087,-15613,1},{2085,-15612,1},{2083,-15608,1}, {2080,-15600,1},{2077,-15598,1},{2072,-15600,1},{2067,-15607,1},{2063,-15613,1}, {2063,-15622,1},{2058,-15630,1},{2058,-15637,1},{2058,-15642,1},{2062,-15645,1}, {2070,-15645,1},{2080,-15648,1},{2078,-15653,1},{2080,-15657,1},{2083,-15663,1}, {2088,-15668,1},{2093,-15670,1},{2102,-15667,1},{2102,-15665,1},{2103,-15663,1}, {2105,-15660,1},{2098,-15652,1},{2090,-15647,1},{2092,-15642,1},{2092,-15638,1}, {2095,-15633,1},{2093,-15627,1},{2120,-15717,129},{2118,-15698,1},{2122,-15697,1}, {2120,-15695,1},{2117,-15693,1},{2117,-15690,1},{2117,-15682,1},{2118,-15678,1}, {2117,-15675,1},{2115,-15670,1},{2108,-15677,1},{2105,-15687,1},{2112,-15707,1}, {2108,-15730,1},{2110,-15730,1},{2115,-15730,1},{2118,-15725,1},{2122,-15727,1}, {2122,-15720,1},{2120,-15717,1},{2170,-15797,129},{2167,-15792,1},{2162,-15792,1}, {2157,-15787,1},{2155,-15785,1},{2152,-15783,1},{2150,-15785,1},{2147,-15785,1}, {2143,-15778,1},{2143,-15775,1},{2145,-15778,1},{2147,-15777,1},{2145,-15773,1}, {2147,-15772,1},{2143,-15773,1},{2142,-15773,1},{2140,-15770,1},{2137,-15770,1}, {2132,-15763,1},{2128,-15767,1},{2128,-15770,1},{2127,-15770,1},{2128,-15773,1}, {2127,-15782,1},{2128,-15785,1},{2130,-15787,1},{2132,-15787,1},{2133,-15790,1}, {2132,-15793,1},{2132,-15795,1},{2135,-15797,1},{2137,-15793,1},{2138,-15793,1}, {2140,-15798,1},{2135,-15797,1},{2137,-15803,1},{2135,-15798,1},{2130,-15798,1}, {2132,-15802,1},{2130,-15810,1},{2138,-15813,1},{2138,-15817,1},{2145,-15818,1}, {2148,-15823,1},{2153,-15823,1},{2158,-15827,1},{2160,-15820,1},{2158,-15812,1}, {2168,-15803,1},{2170,-15798,1},{2170,-15797,1},{2218,-15932,129},{2213,-15928,1}, {2205,-15933,1},{2197,-15933,1},{2197,-15935,1},{2195,-15935,1},{2190,-15938,1}, {2187,-15945,1},{2190,-15950,1},{2190,-15960,1},{2195,-15965,1},{2195,-15970,1}, {2198,-15975,1},{2203,-15978,1},{2215,-15972,1},{2223,-15955,1},{2222,-15950,1}, {2222,-15948,1},{2223,-15940,1},{2222,-15935,1},{2218,-15932,1},{5525,-13310,129}, {5522,-13310,1},{5520,-13307,1},{5517,-13305,1},{5515,-13307,1},{5513,-13300,1}, {5507,-13295,1},{5510,-13305,1},{5510,-13307,1},{5508,-13308,1},{5505,-13300,1}, {5505,-13305,1},{5502,-13293,1},{5495,-13295,1},{5495,-13290,1},{5492,-13290,1}, {5488,-13283,1},{5487,-13283,1},{5487,-13282,1},{5483,-13282,1},{5482,-13275,1}, {5480,-13277,1},{5477,-13272,1},{5473,-13275,1},{5472,-13268,1},{5470,-13270,1}, {5468,-13267,1},{5467,-13267,1},{5467,-13275,1},{5468,-13275,1},{5470,-13280,1}, {5468,-13283,1},{5473,-13287,1},{5473,-13283,1},{5480,-13295,1},{5483,-13290,1}, {5483,-13297,1},{5483,-13298,1},{5487,-13300,1},{5490,-13307,1},{5492,-13305,1}, {5492,-13310,1},{5493,-13305,1},{5495,-13315,1},{5502,-13315,1},{5505,-13320,1}, {5510,-13322,1},{5510,-13312,1},{5512,-13315,1},{5512,-13320,1},{5513,-13318,1}, {5515,-13322,1},{5515,-13317,1},{5517,-13318,1},{5517,-13322,1},{5520,-13315,1}, {5520,-13320,1},{5523,-13320,1},{5525,-13310,1},{5635,-13358,129},{5632,-13342,1}, {5633,-13332,1},{5627,-13332,1},{5627,-13328,1},{5630,-13330,1},{5633,-13327,1}, {5632,-13317,1},{5628,-13313,1},{5627,-13313,1},{5623,-13307,1},{5620,-13305,1}, {5618,-13302,1},{5610,-13308,1},{5612,-13313,1},{5605,-13308,1},{5605,-13295,1}, {5607,-13293,1},{5605,-13290,1},{5602,-13290,1},{5603,-13283,1},{5602,-13282,1}, {5598,-13273,1},{5582,-13250,1},{5572,-13243,1},{5567,-13245,1},{5562,-13243,1}, {5567,-13238,1},{5563,-13235,1},{5560,-13235,1},{5553,-13228,1},{5553,-13223,1}, {5548,-13215,1},{5545,-13215,1},{5550,-13227,1},{5555,-13243,1},{5560,-13248,1}, {5562,-13253,1},{5560,-13253,1},{5557,-13257,1},{5557,-13252,1},{5555,-13252,1}, {5548,-13258,1},{5547,-13265,1},{5545,-13268,1},{5543,-13265,1},{5542,-13265,1}, {5545,-13262,1},{5547,-13255,1},{5552,-13250,1},{5550,-13247,1},{5550,-13238,1}, {5547,-13237,1},{5545,-13227,1},{5543,-13227,1},{5545,-13233,1},{5542,-13237,1}, {5542,-13245,1},{5540,-13248,1},{5538,-13245,1},{5540,-13243,1},{5540,-13238,1}, {5538,-13237,1},{5540,-13233,1},{5540,-13223,1},{5537,-13220,1},{5537,-13215,1}, {5532,-13215,1},{5527,-13208,1},{5523,-13213,1},{5525,-13223,1},{5522,-13225,1}, {5518,-13223,1},{5522,-13220,1},{5520,-13212,1},{5520,-13208,1},{5527,-13202,1}, {5527,-13198,1},{5518,-13197,1},{5512,-13203,1},{5512,-13200,1},{5510,-13200,1}, {5508,-13205,1},{5510,-13210,1},{5507,-13208,1},{5507,-13212,1},{5503,-13207,1}, {5500,-13222,1},{5498,-13215,1},{5497,-13213,1},{5498,-13210,1},{5500,-13207,1}, {5502,-13202,1},{5503,-13198,1},{5503,-13197,1},{5498,-13197,1},{5497,-13202,1}, {5495,-13195,1},{5490,-13197,1},{5488,-13205,1},{5485,-13197,1},{5483,-13195,1}, {5483,-13197,1},{5482,-13195,1},{5478,-13195,1},{5478,-13200,1},{5473,-13198,1}, {5468,-13200,1},{5470,-13208,1},{5472,-13210,1},{5468,-13210,1},{5468,-13215,1}, {5473,-13223,1},{5472,-13228,1},{5477,-13230,1},{5480,-13222,1},{5482,-13223,1}, {5482,-13227,1},{5478,-13230,1},{5480,-13235,1},{5482,-13233,1},{5483,-13227,1}, {5485,-13227,1},{5487,-13232,1},{5487,-13228,1},{5488,-13233,1},{5492,-13235,1}, {5492,-13238,1},{5493,-13237,1},{5497,-13238,1},{5502,-13238,1},{5500,-13242,1}, {5492,-13242,1},{5490,-13247,1},{5492,-13250,1},{5495,-13245,1},{5498,-13245,1}, {5500,-13248,1},{5498,-13248,1},{5493,-13253,1},{5497,-13260,1},{5498,-13260,1}, {5497,-13257,1},{5498,-13255,1},{5502,-13253,1},{5502,-13257,1},{5503,-13257,1}, {5505,-13247,1},{5507,-13255,1},{5510,-13252,1},{5512,-13255,1},{5507,-13262,1}, {5513,-13260,1},{5517,-13257,1},{5525,-13263,1},{5522,-13265,1},{5517,-13262,1}, {5513,-13265,1},{5518,-13277,1},{5522,-13280,1},{5527,-13280,1},{5527,-13285,1}, {5522,-13287,1},{5520,-13300,1},{5520,-13303,1},{5522,-13303,1},{5523,-13298,1}, {5528,-13290,1},{5527,-13308,1},{5528,-13313,1},{5527,-13318,1},{5528,-13322,1}, {5530,-13322,1},{5533,-13327,1},{5538,-13320,1},{5537,-13315,1},{5538,-13312,1}, {5535,-13302,1},{5535,-13285,1},{5538,-13300,1},{5540,-13303,1},{5542,-13302,1}, {5543,-13307,1},{5545,-13298,1},{5545,-13308,1},{5550,-13313,1},{5553,-13308,1}, {5557,-13307,1},{5562,-13298,1},{5563,-13290,1},{5563,-13297,1},{5562,-13302,1}, {5562,-13305,1},{5558,-13318,1},{5557,-13325,1},{5563,-13338,1},{5567,-13338,1}, {5568,-13333,1},{5570,-13338,1},{5573,-13337,1},{5570,-13333,1},{5573,-13332,1}, {5577,-13330,1},{5575,-13327,1},{5575,-13323,1},{5580,-13318,1},{5582,-13315,1}, {5588,-13313,1},{5588,-13315,1},{5588,-13317,1},{5587,-13315,1},{5587,-13318,1}, {5588,-13322,1},{5590,-13323,1},{5595,-13325,1},{5595,-13323,1},{5603,-13325,1}, {5608,-13328,1},{5615,-13325,1},{5617,-13337,1},{5617,-13345,1},{5618,-13350,1}, {5618,-13357,1},{5620,-13362,1},{5623,-13360,1},{5628,-13363,1},{5628,-13357,1}, {5630,-13357,1},{5635,-13362,1},{5635,-13358,1},{5595,-13123,129},{5582,-13107,1}, {5577,-13105,1},{5570,-13097,1},{5563,-13093,1},{5558,-13097,1},{5558,-13093,1}, {5557,-13093,1},{5557,-13098,1},{5553,-13098,1},{5538,-13097,1},{5542,-13102,1}, {5538,-13102,1},{5535,-13100,1},{5532,-13103,1},{5525,-13105,1},{5523,-13113,1}, {5520,-13115,1},{5518,-13120,1},{5523,-13130,1},{5530,-13122,1},{5537,-13118,1}, {5540,-13123,1},{5538,-13122,1},{5538,-13127,1},{5532,-13125,1},{5527,-13130,1}, {5525,-13135,1},{5527,-13142,1},{5528,-13147,1},{5530,-13145,1},{5533,-13137,1}, {5537,-13137,1},{5537,-13132,1},{5543,-13127,1},{5565,-13135,1},{5562,-13137,1}, {5545,-13132,1},{5538,-13138,1},{5535,-13140,1},{5533,-13145,1},{5538,-13142,1}, {5543,-13147,1},{5548,-13147,1},{5552,-13142,1},{5550,-13150,1},{5547,-13152,1}, {5545,-13150,1},{5537,-13147,1},{5530,-13152,1},{5530,-13155,1},{5537,-13170,1}, {5540,-13172,1},{5545,-13182,1},{5555,-13168,1},{5555,-13165,1},{5560,-13162,1}, {5562,-13170,1},{5568,-13168,1},{5568,-13163,1},{5572,-13162,1},{5573,-13152,1}, {5573,-13165,1},{5570,-13170,1},{5573,-13172,1},{5577,-13167,1},{5577,-13153,1}, {5578,-13148,1},{5582,-13153,1},{5580,-13155,1},{5578,-13162,1},{5578,-13168,1}, {5583,-13168,1},{5582,-13145,1},{5583,-13145,1},{5585,-13143,1},{5585,-13155,1}, {5590,-13157,1},{5590,-13150,1},{5593,-13145,1},{5592,-13138,1},{5597,-13128,1}, {5595,-13123,1},{5698,-13305,129},{5693,-13298,1},{5685,-13292,1},{5682,-13298,1}, {5667,-13292,1},{5662,-13295,1},{5660,-13302,1},{5662,-13303,1},{5667,-13312,1}, {5672,-13318,1},{5677,-13320,1},{5680,-13323,1},{5680,-13325,1},{5680,-13328,1}, {5683,-13335,1},{5673,-13330,1},{5673,-13325,1},{5673,-13322,1},{5672,-13322,1}, {5663,-13323,1},{5665,-13322,1},{5662,-13310,1},{5660,-13310,1},{5660,-13317,1}, {5658,-13310,1},{5653,-13308,1},{5652,-13313,1},{5648,-13312,1},{5645,-13315,1}, {5647,-13323,1},{5648,-13325,1},{5648,-13330,1},{5647,-13333,1},{5650,-13337,1}, {5650,-13343,1},{5647,-13340,1},{5647,-13343,1},{5645,-13342,1},{5643,-13352,1}, {5643,-13363,1},{5645,-13365,1},{5657,-13365,1},{5657,-13368,1},{5660,-13363,1}, {5668,-13370,1},{5677,-13367,1},{5678,-13370,1},{5680,-13367,1},{5687,-13367,1}, {5680,-13375,1},{5682,-13375,1},{5683,-13380,1},{5687,-13382,1},{5687,-13387,1}, {5690,-13388,1},{5687,-13380,1},{5687,-13375,1},{5690,-13373,1},{5690,-13382,1}, {5702,-13402,1},{5705,-13400,1},{5707,-13393,1},{5708,-13388,1},{5705,-13360,1}, {5700,-13338,1},{5700,-13332,1},{5692,-13327,1},{5693,-13323,1},{5700,-13330,1}, {5700,-13308,1},{5698,-13305,1},{5690,-13408,129},{5687,-13398,1},{5683,-13398,1}, {5683,-13395,1},{5680,-13395,1},{5680,-13393,1},{5675,-13390,1},{5665,-13397,1}, {5665,-13402,1},{5663,-13397,1},{5665,-13395,1},{5667,-13392,1},{5670,-13392,1}, {5670,-13387,1},{5675,-13385,1},{5680,-13387,1},{5678,-13380,1},{5677,-13372,1}, {5668,-13378,1},{5665,-13373,1},{5662,-13372,1},{5660,-13368,1},{5655,-13375,1}, {5655,-13377,1},{5660,-13382,1},{5660,-13392,1},{5657,-13385,1},{5652,-13388,1}, {5650,-13392,1},{5648,-13387,1},{5643,-13383,1},{5643,-13392,1},{5640,-13387,1}, {5640,-13390,1},{5637,-13392,1},{5635,-13385,1},{5628,-13385,1},{5628,-13387,1}, {5630,-13388,1},{5637,-13397,1},{5628,-13398,1},{5627,-13398,1},{5628,-13395,1}, {5627,-13392,1},{5622,-13388,1},{5620,-13395,1},{5615,-13392,1},{5608,-13395,1}, {5610,-13403,1},{5618,-13400,1},{5623,-13405,1},{5628,-13403,1},{5632,-13405,1}, {5630,-13407,1},{5623,-13407,1},{5623,-13410,1},{5622,-13408,1},{5617,-13410,1}, {5618,-13418,1},{5613,-13415,1},{5615,-13413,1},{5613,-13410,1},{5608,-13408,1}, {5607,-13412,1},{5602,-13410,1},{5600,-13412,1},{5602,-13417,1},{5605,-13413,1}, {5607,-13422,1},{5610,-13420,1},{5612,-13423,1},{5615,-13420,1},{5617,-13425,1}, {5625,-13427,1},{5627,-13425,1},{5625,-13422,1},{5628,-13422,1},{5630,-13420,1}, {5630,-13417,1},{5632,-13417,1},{5628,-13427,1},{5630,-13428,1},{5632,-13425,1}, {5635,-13428,1},{5637,-13427,1},{5637,-13423,1},{5642,-13423,1},{5640,-13418,1}, {5642,-13417,1},{5643,-13418,1},{5640,-13415,1},{5637,-13417,1},{5638,-13412,1}, {5640,-13410,1},{5637,-13405,1},{5642,-13403,1},{5648,-13407,1},{5648,-13403,1}, {5655,-13407,1},{5648,-13412,1},{5655,-13418,1},{5657,-13425,1},{5657,-13430,1}, {5662,-13422,1},{5663,-13415,1},{5663,-13410,1},{5665,-13408,1},{5663,-13417,1}, {5662,-13425,1},{5665,-13428,1},{5665,-13423,1},{5667,-13422,1},{5670,-13422,1}, {5667,-13425,1},{5667,-13433,1},{5672,-13438,1},{5683,-13442,1},{5685,-13440,1}, {5687,-13437,1},{5683,-13433,1},{5678,-13428,1},{5683,-13428,1},{5687,-13433,1}, {5690,-13430,1},{5685,-13410,1},{5688,-13413,1},{5690,-13422,1},{5692,-13422,1}, {5693,-13427,1},{5690,-13408,1},{5743,-13510,129},{5740,-13500,1},{5733,-13492,1}, {5733,-13490,1},{5733,-13500,1},{5732,-13495,1},{5730,-13498,1},{5730,-13493,1}, {5725,-13492,1},{5725,-13483,1},{5722,-13483,1},{5722,-13485,1},{5717,-13480,1}, {5713,-13483,1},{5712,-13478,1},{5708,-13478,1},{5707,-13475,1},{5703,-13475,1}, {5702,-13473,1},{5692,-13472,1},{5690,-13468,1},{5683,-13468,1},{5673,-13462,1}, {5657,-13462,1},{5653,-13462,1},{5658,-13465,1},{5657,-13467,1},{5653,-13467,1}, {5647,-13462,1},{5638,-13462,1},{5633,-13465,1},{5633,-13462,1},{5625,-13467,1}, {5627,-13462,1},{5625,-13462,1},{5617,-13465,1},{5618,-13468,1},{5620,-13467,1}, {5623,-13468,1},{5622,-13472,1},{5622,-13475,1},{5623,-13475,1},{5623,-13478,1}, {5632,-13483,1},{5632,-13488,1},{5642,-13493,1},{5653,-13505,1},{5655,-13502,1}, {5657,-13503,1},{5658,-13493,1},{5660,-13493,1},{5668,-13485,1},{5668,-13488,1}, {5662,-13495,1},{5665,-13498,1},{5670,-13497,1},{5672,-13493,1},{5672,-13498,1}, {5668,-13500,1},{5662,-13503,1},{5660,-13510,1},{5667,-13512,1},{5675,-13500,1}, {5677,-13503,1},{5675,-13505,1},{5668,-13517,1},{5668,-13520,1},{5672,-13517,1}, {5673,-13518,1},{5675,-13515,1},{5680,-13515,1},{5683,-13512,1},{5678,-13527,1}, {5680,-13532,1},{5682,-13530,1},{5683,-13537,1},{5688,-13537,1},{5688,-13528,1}, {5693,-13538,1},{5697,-13535,1},{5700,-13525,1},{5702,-13518,1},{5700,-13517,1}, {5703,-13517,1},{5703,-13530,1},{5708,-13537,1},{5713,-13537,1},{5717,-13527,1}, {5718,-13533,1},{5715,-13537,1},{5717,-13542,1},{5720,-13537,1},{5725,-13533,1}, {5725,-13548,1},{5723,-13552,1},{5725,-13555,1},{5728,-13557,1},{5735,-13567,1}, {5737,-13563,1},{5735,-13547,1},{5740,-13557,1},{5738,-13560,1},{5742,-13555,1}, {5743,-13553,1},{5745,-13550,1},{5750,-13552,1},{5755,-13540,1},{5755,-13535,1}, {5752,-13528,1},{5747,-13538,1},{5743,-13540,1},{5748,-13530,1},{5747,-13527,1}, {5748,-13520,1},{5745,-13515,1},{5742,-13520,1},{5743,-13510,1},{5825,-13573,129}, {5822,-13570,1},{5822,-13562,1},{5815,-13548,1},{5810,-13552,1},{5808,-13557,1}, {5805,-13560,1},{5805,-13570,1},{5805,-13578,1},{5802,-13573,1},{5803,-13572,1}, {5803,-13567,1},{5800,-13562,1},{5800,-13575,1},{5797,-13578,1},{5797,-13567,1}, {5795,-13565,1},{5795,-13562,1},{5798,-13563,1},{5798,-13558,1},{5807,-13550,1}, {5808,-13542,1},{5812,-13545,1},{5813,-13540,1},{5812,-13532,1},{5810,-13533,1}, {5810,-13530,1},{5810,-13510,1},{5808,-13508,1},{5807,-13510,1},{5805,-13497,1}, {5803,-13493,1},{5793,-13490,1},{5788,-13497,1},{5783,-13492,1},{5788,-13502,1}, {5795,-13520,1},{5788,-13513,1},{5787,-13505,1},{5783,-13502,1},{5783,-13498,1}, {5782,-13497,1},{5782,-13493,1},{5778,-13502,1},{5778,-13523,1},{5790,-13552,1}, {5795,-13577,1},{5798,-13585,1},{5798,-13588,1},{5795,-13580,1},{5793,-13580,1}, {5792,-13567,1},{5787,-13553,1},{5783,-13552,1},{5780,-13537,1},{5775,-13532,1}, {5773,-13537,1},{5772,-13535,1},{5773,-13527,1},{5772,-13523,1},{5770,-13520,1}, {5773,-13517,1},{5773,-13512,1},{5775,-13508,1},{5775,-13492,1},{5748,-13482,1}, {5750,-13487,1},{5748,-13487,1},{5747,-13485,1},{5745,-13485,1},{5745,-13498,1}, {5747,-13507,1},{5748,-13508,1},{5758,-13533,1},{5765,-13553,1},{5773,-13570,1}, {5777,-13580,1},{5773,-13578,1},{5772,-13572,1},{5770,-13573,1},{5767,-13570,1}, {5767,-13577,1},{5763,-13580,1},{5763,-13568,1},{5762,-13567,1},{5758,-13557,1}, {5757,-13557,1},{5757,-13563,1},{5755,-13565,1},{5753,-13555,1},{5752,-13558,1}, {5750,-13555,1},{5747,-13555,1},{5745,-13562,1},{5742,-13558,1},{5740,-13567,1}, {5738,-13565,1},{5737,-13568,1},{5738,-13583,1},{5742,-13585,1},{5745,-13595,1}, {5748,-13597,1},{5752,-13602,1},{5752,-13600,1},{5750,-13590,1},{5743,-13578,1}, {5747,-13580,1},{5760,-13607,1},{5762,-13607,1},{5762,-13602,1},{5758,-13600,1}, {5760,-13600,1},{5762,-13595,1},{5763,-13598,1},{5763,-13605,1},{5765,-13607,1}, {5762,-13612,1},{5765,-13613,1},{5768,-13608,1},{5775,-13622,1},{5778,-13623,1}, {5777,-13628,1},{5778,-13630,1},{5783,-13637,1},{5782,-13642,1},{5788,-13640,1}, {5792,-13635,1},{5797,-13635,1},{5798,-13633,1},{5785,-13605,1},{5785,-13603,1}, {5808,-13642,1},{5812,-13643,1},{5813,-13637,1},{5810,-13627,1},{5818,-13635,1}, {5822,-13635,1},{5820,-13632,1},{5822,-13627,1},{5815,-13623,1},{5813,-13618,1}, {5808,-13620,1},{5805,-13612,1},{5810,-13617,1},{5813,-13615,1},{5817,-13618,1}, {5820,-13613,1},{5822,-13613,1},{5817,-13597,1},{5820,-13595,1},{5827,-13582,1}, {5827,-13577,1},{5825,-13573,1},{5837,-13487,129},{5833,-13480,1},{5830,-13480,1}, {5822,-13470,1},{5817,-13468,1},{5817,-13455,1},{5818,-13455,1},{5817,-13450,1}, {5818,-13445,1},{5815,-13435,1},{5817,-13417,1},{5812,-13417,1},{5812,-13420,1}, {5808,-13418,1},{5802,-13408,1},{5798,-13408,1},{5793,-13400,1},{5787,-13398,1}, {5780,-13388,1},{5767,-13388,1},{5760,-13380,1},{5758,-13380,1},{5758,-13383,1}, {5763,-13385,1},{5768,-13397,1},{5780,-13400,1},{5785,-13410,1},{5795,-13413,1}, {5803,-13423,1},{5798,-13415,1},{5807,-13423,1},{5807,-13428,1},{5810,-13430,1}, {5808,-13430,1},{5802,-13427,1},{5803,-13432,1},{5797,-13422,1},{5800,-13432,1}, {5798,-13432,1},{5790,-13427,1},{5783,-13428,1},{5785,-13425,1},{5782,-13418,1}, {5767,-13403,1},{5765,-13407,1},{5765,-13398,1},{5762,-13393,1},{5753,-13393,1}, {5745,-13385,1},{5750,-13390,1},{5747,-13392,1},{5750,-13407,1},{5748,-13408,1}, {5748,-13403,1},{5747,-13410,1},{5745,-13398,1},{5740,-13400,1},{5743,-13390,1}, {5735,-13387,1},{5733,-13393,1},{5730,-13393,1},{5730,-13395,1},{5732,-13403,1}, {5737,-13407,1},{5732,-13408,1},{5735,-13412,1},{5738,-13417,1},{5735,-13413,1}, {5730,-13415,1},{5730,-13410,1},{5727,-13407,1},{5725,-13410,1},{5725,-13413,1}, {5720,-13415,1},{5717,-13420,1},{5717,-13427,1},{5713,-13428,1},{5712,-13432,1}, {5713,-13435,1},{5710,-13438,1},{5708,-13435,1},{5703,-13448,1},{5703,-13458,1}, {5700,-13460,1},{5703,-13460,1},{5712,-13462,1},{5715,-13458,1},{5717,-13462,1}, {5722,-13463,1},{5722,-13462,1},{5722,-13455,1},{5722,-13452,1},{5723,-13452,1}, {5723,-13455,1},{5727,-13458,1},{5730,-13455,1},{5732,-13445,1},{5733,-13450,1}, {5735,-13455,1},{5740,-13453,1},{5740,-13452,1},{5737,-13447,1},{5737,-13440,1}, {5733,-13435,1},{5733,-13432,1},{5737,-13437,1},{5740,-13430,1},{5738,-13438,1}, {5740,-13447,1},{5748,-13457,1},{5748,-13450,1},{5752,-13445,1},{5755,-13435,1}, {5753,-13445,1},{5750,-13457,1},{5755,-13460,1},{5760,-13467,1},{5773,-13472,1}, {5778,-13470,1},{5788,-13472,1},{5797,-13477,1},{5800,-13475,1},{5805,-13480,1}, {5810,-13475,1},{5815,-13475,1},{5818,-13473,1},{5817,-13477,1},{5810,-13478,1}, {5818,-13485,1},{5818,-13488,1},{5822,-13492,1},{5825,-13488,1},{5825,-13493,1}, {5830,-13495,1},{5837,-13497,1},{5840,-13495,1},{5837,-13490,1},{5837,-13487,1}, {5837,-15208,129},{5830,-15213,1},{5823,-15215,1},{5830,-15210,1},{5830,-15207,1}, {5828,-15207,1},{5832,-15203,1},{5835,-15200,1},{5833,-15197,1},{5828,-15198,1}, {5828,-15197,1},{5825,-15198,1},{5823,-15197,1},{5822,-15200,1},{5820,-15203,1}, {5815,-15208,1},{5817,-15213,1},{5818,-15217,1},{5817,-15218,1},{5827,-15225,1}, {5823,-15232,1},{5818,-15230,1},{5820,-15237,1},{5818,-15233,1},{5815,-15233,1}, {5815,-15228,1},{5813,-15227,1},{5813,-15232,1},{5810,-15233,1},{5812,-15235,1}, {5812,-15242,1},{5813,-15245,1},{5808,-15255,1},{5810,-15257,1},{5820,-15257,1}, {5818,-15260,1},{5815,-15260,1},{5808,-15263,1},{5805,-15272,1},{5805,-15275,1}, {5807,-15277,1},{5800,-15277,1},{5798,-15285,1},{5805,-15303,1},{5808,-15307,1}, {5812,-15305,1},{5810,-15315,1},{5817,-15323,1},{5822,-15318,1},{5820,-15303,1}, {5817,-15300,1},{5818,-15298,1},{5817,-15290,1},{5827,-15310,1},{5830,-15305,1}, {5828,-15290,1},{5828,-15287,1},{5828,-15280,1},{5825,-15277,1},{5833,-15277,1}, {5835,-15280,1},{5837,-15277,1},{5840,-15288,1},{5842,-15278,1},{5845,-15273,1}, {5842,-15268,1},{5847,-15267,1},{5848,-15263,1},{5847,-15260,1},{5845,-15260,1}, {5847,-15250,1},{5842,-15253,1},{5840,-15247,1},{5835,-15247,1},{5838,-15243,1}, {5835,-15240,1},{5832,-15240,1},{5842,-15235,1},{5842,-15227,1},{5838,-15225,1}, {5838,-15227,1},{5835,-15220,1},{5840,-15212,1},{5837,-15208,1},{5800,-15327,129}, {5792,-15300,1},{5795,-15300,1},{5792,-15282,1},{5790,-15283,1},{5788,-15288,1}, {5787,-15288,1},{5787,-15285,1},{5783,-15292,1},{5778,-15290,1},{5777,-15292,1}, {5773,-15288,1},{5773,-15285,1},{5783,-15285,1},{5787,-15280,1},{5782,-15273,1}, {5783,-15272,1},{5788,-15268,1},{5785,-15262,1},{5793,-15262,1},{5793,-15258,1}, {5790,-15257,1},{5792,-15252,1},{5790,-15247,1},{5787,-15245,1},{5785,-15242,1}, {5783,-15243,1},{5782,-15242,1},{5783,-15237,1},{5782,-15233,1},{5780,-15233,1}, {5777,-15245,1},{5770,-15255,1},{5772,-15245,1},{5770,-15247,1},{5768,-15247,1}, {5765,-15248,1},{5768,-15240,1},{5765,-15243,1},{5760,-15243,1},{5763,-15233,1}, {5763,-15217,1},{5762,-15215,1},{5755,-15222,1},{5750,-15232,1},{5743,-15233,1}, {5742,-15248,1},{5745,-15245,1},{5747,-15247,1},{5743,-15252,1},{5745,-15258,1}, {5748,-15262,1},{5747,-15267,1},{5748,-15272,1},{5752,-15275,1},{5752,-15292,1}, {5752,-15295,1},{5750,-15297,1},{5750,-15292,1},{5748,-15292,1},{5747,-15302,1}, {5743,-15303,1},{5747,-15297,1},{5747,-15285,1},{5747,-15280,1},{5742,-15272,1}, {5740,-15263,1},{5737,-15260,1},{5728,-15268,1},{5728,-15272,1},{5730,-15272,1}, {5730,-15275,1},{5727,-15282,1},{5727,-15285,1},{5728,-15287,1},{5730,-15285,1}, {5732,-15290,1},{5735,-15288,1},{5733,-15293,1},{5733,-15305,1},{5732,-15312,1}, {5732,-15315,1},{5735,-15317,1},{5730,-15317,1},{5728,-15308,1},{5730,-15302,1}, {5725,-15295,1},{5722,-15310,1},{5723,-15325,1},{5722,-15328,1},{5718,-15333,1}, {5720,-15338,1},{5717,-15337,1},{5712,-15347,1},{5717,-15348,1},{5717,-15353,1}, {5715,-15355,1},{5717,-15350,1},{5712,-15352,1},{5707,-15350,1},{5708,-15360,1}, {5707,-15372,1},{5705,-15377,1},{5705,-15358,1},{5702,-15360,1},{5702,-15367,1}, {5700,-15357,1},{5698,-15355,1},{5693,-15362,1},{5693,-15368,1},{5697,-15368,1}, {5690,-15372,1},{5688,-15377,1},{5687,-15377,1},{5688,-15370,1},{5687,-15370,1}, {5683,-15378,1},{5685,-15382,1},{5677,-15392,1},{5673,-15400,1},{5677,-15405,1}, {5673,-15410,1},{5675,-15415,1},{5685,-15407,1},{5687,-15400,1},{5690,-15395,1}, {5693,-15385,1},{5698,-15377,1},{5697,-15385,1},{5698,-15383,1},{5702,-15383,1}, {5702,-15385,1},{5697,-15388,1},{5697,-15397,1},{5707,-15390,1},{5713,-15373,1}, {5715,-15378,1},{5712,-15388,1},{5705,-15400,1},{5698,-15405,1},{5697,-15410,1}, {5700,-15413,1},{5705,-15412,1},{5712,-15397,1},{5712,-15408,1},{5713,-15412,1}, {5715,-15423,1},{5713,-15427,1},{5715,-15435,1},{5712,-15440,1},{5712,-15447,1}, {5707,-15447,1},{5705,-15438,1},{5712,-15427,1},{5712,-15410,1},{5703,-15413,1}, {5702,-15415,1},{5695,-15417,1},{5693,-15418,1},{5693,-15425,1},{5692,-15422,1}, {5690,-15427,1},{5688,-15428,1},{5690,-15428,1},{5690,-15430,1},{5687,-15428,1}, {5688,-15423,1},{5685,-15430,1},{5690,-15430,1},{5693,-15433,1},{5697,-15440,1}, {5698,-15453,1},{5715,-15453,1},{5727,-15460,1},{5727,-15468,1},{5728,-15470,1}, {5727,-15478,1},{5728,-15480,1},{5728,-15477,1},{5730,-15475,1},{5735,-15480,1}, {5737,-15478,1},{5733,-15472,1},{5735,-15470,1},{5735,-15473,1},{5738,-15470,1}, {5742,-15473,1},{5745,-15463,1},{5748,-15465,1},{5753,-15460,1},{5755,-15455,1}, {5752,-15452,1},{5752,-15450,1},{5758,-15452,1},{5757,-15442,1},{5758,-15445,1}, {5763,-15435,1},{5765,-15435,1},{5765,-15428,1},{5767,-15422,1},{5763,-15400,1}, {5757,-15398,1},{5753,-15410,1},{5753,-15395,1},{5742,-15388,1},{5730,-15375,1}, {5727,-15363,1},{5732,-15373,1},{5735,-15377,1},{5737,-15377,1},{5740,-15380,1}, {5752,-15380,1},{5758,-15385,1},{5755,-15377,1},{5753,-15368,1},{5758,-15380,1}, {5765,-15388,1},{5763,-15367,1},{5760,-15363,1},{5760,-15358,1},{5763,-15362,1}, {5768,-15370,1},{5770,-15390,1},{5773,-15393,1},{5782,-15393,1},{5785,-15387,1}, {5787,-15385,1},{5788,-15378,1},{5790,-15373,1},{5788,-15370,1},{5788,-15363,1}, {5785,-15363,1},{5783,-15358,1},{5780,-15355,1},{5773,-15357,1},{5763,-15350,1}, {5772,-15353,1},{5768,-15347,1},{5770,-15343,1},{5775,-15352,1},{5777,-15350,1}, {5777,-15342,1},{5770,-15337,1},{5773,-15332,1},{5780,-15342,1},{5780,-15347,1}, {5783,-15348,1},{5778,-15322,1},{5773,-15322,1},{5770,-15318,1},{5773,-15320,1}, {5785,-15320,1},{5790,-15323,1},{5788,-15317,1},{5787,-15315,1},{5783,-15305,1}, {5793,-15320,1},{5795,-15327,1},{5800,-15330,1},{5800,-15327,1},{5498,-16350,129}, {5492,-16342,1},{5487,-16342,1},{5478,-16337,1},{5475,-16330,1},{5477,-16322,1}, {5478,-16320,1},{5477,-16315,1},{5468,-16310,1},{5467,-16305,1},{5467,-16317,1}, {5468,-16312,1},{5470,-16313,1},{5470,-16320,1},{5468,-16322,1},{5470,-16327,1}, {5470,-16330,1},{5475,-16335,1},{5473,-16343,1},{5465,-16343,1},{5465,-16350,1}, {5463,-16352,1},{5462,-16360,1},{5463,-16382,1},{5462,-16412,1},{5460,-16422,1}, {5455,-16430,1},{5452,-16433,1},{5448,-16433,1},{5445,-16438,1},{5442,-16447,1}, {5438,-16465,1},{5440,-16478,1},{5442,-16485,1},{5447,-16488,1},{5447,-16490,1}, {5450,-16490,1},{5453,-16493,1},{5458,-16495,1},{5463,-16475,1},{5467,-16470,1}, {5483,-16455,1},{5488,-16455,1},{5492,-16448,1},{5493,-16443,1},{5492,-16437,1}, {5488,-16432,1},{5488,-16422,1},{5492,-16422,1},{5497,-16413,1},{5497,-16405,1}, {5498,-16400,1},{5503,-16393,1},{5503,-16383,1},{5505,-16378,1},{5503,-16368,1}, {5505,-16353,1},{5503,-16352,1},{5503,-16355,1},{5498,-16350,1},{2468,-8155,129}, {2465,-8152,1},{2462,-8152,1},{2458,-8158,1},{2458,-8163,1},{2462,-8155,1}, {2465,-8158,1},{2462,-8153,1},{2465,-8152,1},{2465,-8155,1},{2467,-8155,1}, {2467,-8157,1},{2468,-8155,1},{4105,-7192,129},{4085,-7245,1},{4087,-7247,1}, {4088,-7243,1},{4088,-7250,1},{4085,-7248,1},{4083,-7250,1},{4078,-7272,1}, {4078,-7273,1},{4078,-7272,1},{4080,-7265,1},{4082,-7267,1},{4082,-7272,1}, {4080,-7275,1},{4080,-7282,1},{4078,-7282,1},{4075,-7287,1},{4077,-7290,1}, {4075,-7293,1},{4075,-7302,1},{4073,-7303,1},{4073,-7313,1},{4070,-7315,1}, {4072,-7323,1},{4070,-7325,1},{4067,-7338,1},{4065,-7355,1},{4062,-7365,1}, {4063,-7368,1},{4062,-7370,1},{4060,-7370,1},{4060,-7360,1},{4060,-7358,1}, {4060,-7377,1},{4057,-7392,1},{4057,-7393,1},{4060,-7383,1},{4062,-7377,1}, {4063,-7377,1},{4067,-7385,1},{4063,-7390,1},{4062,-7387,1},{4060,-7388,1}, {4058,-7400,1},{4060,-7400,1},{4063,-7403,1},{4065,-7403,1},{4078,-7392,1}, {4080,-7385,1},{4080,-7383,1},{4078,-7377,1},{4083,-7375,1},{4082,-7372,1}, {4083,-7368,1},{4085,-7373,1},{4087,-7372,1},{4087,-7368,1},{4082,-7365,1}, {4090,-7363,1},{4092,-7357,1},{4090,-7347,1},{4093,-7348,1},{4095,-7348,1}, {4093,-7343,1},{4092,-7343,1},{4090,-7342,1},{4092,-7335,1},{4093,-7337,1}, {4093,-7340,1},{4095,-7340,1},{4092,-7323,1},{4093,-7315,1},{4097,-7315,1}, {4098,-7310,1},{4095,-7310,1},{4097,-7307,1},{4098,-7265,1},{4105,-7248,1}, {4108,-7245,1},{4110,-7238,1},{4113,-7235,1},{4117,-7228,1},{4117,-7223,1}, {4113,-7225,1},{4112,-7228,1},{4113,-7228,1},{4113,-7232,1},{4110,-7238,1}, {4107,-7242,1},{4103,-7238,1},{4103,-7243,1},{4098,-7243,1},{4102,-7245,1}, {4100,-7248,1},{4098,-7252,1},{4095,-7255,1},{4092,-7262,1},{4092,-7243,1}, {4095,-7243,1},{4097,-7240,1},{4100,-7237,1},{4100,-7233,1},{4103,-7233,1}, {4103,-7230,1},{4102,-7230,1},{4102,-7225,1},{4105,-7225,1},{4102,-7220,1}, {4105,-7218,1},{4105,-7217,1},{4103,-7213,1},{4100,-7210,1},{4103,-7202,1}, {4105,-7200,1},{4105,-7197,1},{4107,-7195,1},{4107,-7192,1},{4108,-7192,1}, {4107,-7185,1},{4105,-7192,1},{4817,-8847,129},{4810,-8860,1},{4805,-8860,1}, {4802,-8867,1},{4795,-8890,1},{4790,-8900,1},{4790,-8892,1},{4783,-8915,1}, {4785,-8922,1},{4788,-8920,1},{4790,-8915,1},{4792,-8922,1},{4797,-8912,1}, {4807,-8880,1},{4815,-8863,1},{4815,-8857,1},{4818,-8848,1},{4817,-8852,1}, {4818,-8845,1},{4817,-8847,1},{3348,-11852,129},{3345,-11848,1},{3342,-11835,1}, {3338,-11835,1},{3335,-11830,1},{3332,-11830,1},{3333,-11837,1},{3333,-11845,1}, {3337,-11847,1},{3343,-11848,1},{3345,-11855,1},{3348,-11858,1},{3348,-11852,1}, {3408,-11987,129},{3407,-11980,1},{3407,-11975,1},{3403,-11965,1},{3403,-11962,1}, {3405,-11960,1},{3407,-11957,1},{3405,-11952,1},{3402,-11953,1},{3400,-11958,1}, {3400,-11965,1},{3397,-11970,1},{3397,-11978,1},{3398,-11987,1},{3402,-11988,1}, {3403,-11987,1},{3408,-11992,1},{3408,-11987,1},{3403,-12012,129},{3403,-12005,1}, {3405,-12003,1},{3403,-12003,1},{3402,-12003,1},{3400,-12000,1},{3400,-11997,1}, {3397,-11997,1},{3392,-12003,1},{3392,-12008,1},{3390,-12010,1},{3393,-12017,1}, {3402,-12025,1},{3402,-12015,1},{3403,-12012,1},{5323,-13178,129},{5318,-13177,1}, {5317,-13178,1},{5315,-13170,1},{5312,-13168,1},{5312,-13163,1},{5303,-13160,1}, {5307,-13180,1},{5305,-13193,1},{5307,-13200,1},{5305,-13200,1},{5303,-13195,1}, {5298,-13192,1},{5302,-13190,1},{5305,-13185,1},{5300,-13165,1},{5297,-13160,1}, {5295,-13163,1},{5293,-13162,1},{5287,-13168,1},{5287,-13182,1},{5293,-13190,1}, {5293,-13195,1},{5292,-13188,1},{5288,-13198,1},{5290,-13190,1},{5288,-13187,1}, {5287,-13185,1},{5283,-13188,1},{5283,-13185,1},{5280,-13182,1},{5280,-13165,1}, {5278,-13168,1},{5278,-13177,1},{5277,-13180,1},{5277,-13185,1},{5275,-13180,1}, {5272,-13183,1},{5272,-13177,1},{5270,-13173,1},{5263,-13168,1},{5262,-13168,1}, {5262,-13170,1},{5258,-13167,1},{5257,-13162,1},{5253,-13167,1},{5253,-13162,1}, {5252,-13160,1},{5253,-13157,1},{5252,-13153,1},{5250,-13153,1},{5252,-13150,1}, {5250,-13147,1},{5248,-13148,1},{5245,-13142,1},{5238,-13145,1},{5238,-13138,1}, {5235,-13140,1},{5237,-13135,1},{5242,-13135,1},{5243,-13123,1},{5237,-13130,1}, {5235,-13130,1},{5237,-13125,1},{5235,-13127,1},{5233,-13130,1},{5233,-13132,1}, {5235,-13133,1},{5235,-13137,1},{5228,-13132,1},{5230,-13130,1},{5228,-13128,1}, {5225,-13123,1},{5227,-13122,1},{5228,-13125,1},{5230,-13125,1},{5232,-13117,1}, {5232,-13113,1},{5228,-13113,1},{5228,-13108,1},{5225,-13108,1},{5225,-13115,1}, {5223,-13118,1},{5223,-13102,1},{5218,-13102,1},{5217,-13107,1},{5217,-13112,1}, {5218,-13112,1},{5222,-13113,1},{5218,-13113,1},{5213,-13115,1},{5212,-13118,1}, {5213,-13120,1},{5218,-13122,1},{5223,-13127,1},{5217,-13123,1},{5213,-13123,1}, {5213,-13127,1},{5215,-13130,1},{5223,-13135,1},{5218,-13137,1},{5220,-13138,1}, {5232,-13150,1},{5232,-13155,1},{5235,-13153,1},{5235,-13157,1},{5240,-13158,1}, {5240,-13150,1},{5242,-13152,1},{5243,-13155,1},{5242,-13162,1},{5248,-13167,1}, {5252,-13178,1},{5253,-13178,1},{5258,-13190,1},{5265,-13193,1},{5265,-13197,1}, {5268,-13202,1},{5273,-13208,1},{5277,-13203,1},{5273,-13197,1},{5277,-13202,1}, {5278,-13200,1},{5273,-13192,1},{5278,-13195,1},{5280,-13202,1},{5285,-13208,1}, {5280,-13205,1},{5278,-13208,1},{5275,-13210,1},{5278,-13217,1},{5282,-13223,1}, {5287,-13223,1},{5287,-13228,1},{5290,-13232,1},{5295,-13235,1},{5295,-13225,1}, {5295,-13222,1},{5292,-13218,1},{5293,-13217,1},{5297,-13220,1},{5293,-13213,1}, {5297,-13215,1},{5300,-13212,1},{5300,-13220,1},{5303,-13227,1},{5303,-13235,1}, {5303,-13233,1},{5303,-13248,1},{5305,-13252,1},{5307,-13250,1},{5308,-13255,1}, {5310,-13253,1},{5313,-13257,1},{5315,-13255,1},{5313,-13248,1},{5313,-13242,1}, {5315,-13228,1},{5313,-13222,1},{5315,-13213,1},{5315,-13207,1},{5322,-13198,1}, {5322,-13195,1},{5323,-13192,1},{5323,-13183,1},{5325,-13182,1},{5323,-13178,1}, {5412,-13167,129},{5397,-13170,1},{5378,-13187,1},{5372,-13187,1},{5362,-13193,1}, {5357,-13192,1},{5352,-13193,1},{5343,-13190,1},{5335,-13190,1},{5325,-13198,1}, {5325,-13208,1},{5323,-13222,1},{5320,-13223,1},{5320,-13227,1},{5318,-13223,1}, {5320,-13220,1},{5320,-13212,1},{5317,-13217,1},{5315,-13223,1},{5317,-13230,1}, {5318,-13232,1},{5317,-13232,1},{5315,-13240,1},{5315,-13247,1},{5318,-13247,1}, {5317,-13250,1},{5318,-13253,1},{5320,-13252,1},{5320,-13258,1},{5323,-13255,1}, {5325,-13262,1},{5325,-13270,1},{5328,-13270,1},{5328,-13263,1},{5332,-13262,1}, {5332,-13253,1},{5333,-13257,1},{5332,-13275,1},{5338,-13270,1},{5335,-13252,1}, {5330,-13242,1},{5333,-13240,1},{5337,-13248,1},{5342,-13252,1},{5343,-13267,1}, {5348,-13267,1},{5345,-13270,1},{5345,-13275,1},{5348,-13272,1},{5352,-13275,1}, {5348,-13278,1},{5347,-13285,1},{5347,-13287,1},{5348,-13287,1},{5352,-13282,1}, {5352,-13292,1},{5357,-13290,1},{5355,-13297,1},{5358,-13298,1},{5360,-13295,1}, {5358,-13290,1},{5360,-13288,1},{5365,-13293,1},{5367,-13298,1},{5368,-13300,1}, {5368,-13297,1},{5368,-13293,1},{5370,-13293,1},{5372,-13298,1},{5377,-13297,1}, {5375,-13302,1},{5377,-13307,1},{5378,-13310,1},{5382,-13307,1},{5388,-13313,1}, {5392,-13313,1},{5395,-13308,1},{5400,-13310,1},{5400,-13307,1},{5403,-13303,1}, {5408,-13305,1},{5410,-13308,1},{5417,-13303,1},{5417,-13307,1},{5417,-13293,1}, {5413,-13290,1},{5412,-13280,1},{5415,-13265,1},{5412,-13257,1},{5408,-13255,1}, {5403,-13257,1},{5398,-13267,1},{5395,-13268,1},{5393,-13267,1},{5400,-13255,1}, {5403,-13253,1},{5407,-13245,1},{5410,-13240,1},{5412,-13230,1},{5410,-13228,1}, {5407,-13223,1},{5402,-13223,1},{5400,-13217,1},{5397,-13213,1},{5393,-13215,1}, {5388,-13212,1},{5385,-13213,1},{5382,-13220,1},{5378,-13222,1},{5377,-13230,1}, {5375,-13237,1},{5370,-13248,1},{5370,-13262,1},{5368,-13267,1},{5367,-13260,1}, {5363,-13260,1},{5367,-13253,1},{5365,-13253,1},{5365,-13250,1},{5367,-13235,1}, {5362,-13247,1},{5357,-13247,1},{5360,-13242,1},{5362,-13228,1},{5363,-13228,1}, {5365,-13233,1},{5367,-13232,1},{5365,-13222,1},{5367,-13220,1},{5370,-13215,1}, {5375,-13218,1},{5378,-13220,1},{5385,-13210,1},{5388,-13208,1},{5393,-13212,1}, {5402,-13213,1},{5403,-13218,1},{5402,-13202,1},{5403,-13192,1},{5410,-13173,1}, {5417,-13165,1},{5412,-13167,1},{6910,-13593,129},{6922,-13597,1},{6925,-13592,1}, {6915,-13565,1},{6910,-13542,1},{6912,-13543,1},{6915,-13563,1},{6927,-13583,1}, {6928,-13585,1},{6933,-13572,1},{6930,-13563,1},{6922,-13557,1},{6923,-13555,1}, {6932,-13562,1},{6933,-13558,1},{6933,-13545,1},{6930,-13537,1},{6927,-13518,1}, {6928,-13517,1},{6930,-13523,1},{6942,-13528,1},{6948,-13515,1},{6945,-13510,1}, {6948,-13505,1},{6947,-13495,1},{6948,-13490,1},{6948,-13483,1},{6950,-13478,1}, {6948,-13477,1},{6947,-13463,1},{6945,-13453,1},{6945,-13443,1},{6948,-13440,1}, {6950,-13443,1},{6950,-13453,1},{6947,-13453,1},{6952,-13460,1},{6955,-13458,1}, {6953,-13452,1},{6955,-13447,1},{6957,-13450,1},{6963,-13440,1},{6972,-13448,1}, {6972,-13440,1},{6972,-13438,1},{6972,-13432,1},{6967,-13435,1},{6968,-13427,1}, {6967,-13420,1},{6963,-13415,1},{6962,-13420,1},{6957,-13425,1},{6958,-13418,1}, {6957,-13417,1},{6953,-13412,1},{6957,-13402,1},{6955,-13400,1},{6953,-13405,1}, {6952,-13397,1},{6950,-13395,1},{6952,-13387,1},{6953,-13387,1},{6953,-13380,1}, {6957,-13383,1},{6958,-13378,1},{6955,-13375,1},{6953,-13378,1},{6948,-13378,1}, {6943,-13385,1},{6938,-13403,1},{6933,-13410,1},{6930,-13410,1},{6928,-13417,1}, {6928,-13422,1},{6923,-13428,1},{6918,-13428,1},{6912,-13438,1},{6910,-13457,1}, {6905,-13460,1},{6902,-13467,1},{6895,-13467,1},{6888,-13450,1},{6878,-13442,1}, {6875,-13428,1},{6870,-13422,1},{6872,-13445,1},{6877,-13447,1},{6880,-13457,1}, {6887,-13460,1},{6895,-13475,1},{6897,-13475,1},{6897,-13482,1},{6898,-13483,1}, {6897,-13492,1},{6892,-13492,1},{6888,-13497,1},{6890,-13515,1},{6893,-13520,1}, {6893,-13542,1},{6895,-13547,1},{6898,-13545,1},{6895,-13553,1},{6890,-13552,1}, {6890,-13573,1},{6890,-13580,1},{6890,-13588,1},{6895,-13600,1},{6897,-13598,1}, {6895,-13592,1},{6902,-13598,1},{6905,-13597,1},{6898,-13578,1},{6900,-13563,1}, {6902,-13552,1},{6902,-13567,1},{6902,-13572,1},{6907,-13575,1},{6910,-13593,1}, {5070,-12747,129},{5077,-12750,1},{5087,-12792,1},{5085,-12802,1},{5087,-12807,1}, {5083,-12813,1},{5083,-12818,1},{5080,-12827,1},{5080,-12835,1},{5077,-12842,1}, {5072,-12838,1},{5068,-12837,1},{5067,-12835,1},{5067,-12827,1},{5063,-12833,1}, {5060,-12832,1},{5058,-12823,1},{5053,-12822,1},{5052,-12817,1},{5047,-12813,1}, {5045,-12805,1},{5045,-12803,1},{5048,-12807,1},{5048,-12805,1},{5047,-12800,1}, {5048,-12788,1},{5050,-12785,1},{5048,-12783,1},{5048,-12780,1},{5053,-12767,1}, {5053,-12760,1},{5055,-12758,1},{5058,-12763,1},{5058,-12778,1},{5062,-12787,1}, {5060,-12760,1},{5057,-12755,1},{5058,-12750,1},{5060,-12743,1},{5058,-12742,1}, {5057,-12742,1},{5057,-12750,1},{5052,-12757,1},{5043,-12748,1},{5037,-12745,1}, {5040,-12750,1},{5048,-12758,1},{5048,-12775,1},{5047,-12780,1},{5047,-12792,1}, {5042,-12792,1},{5040,-12795,1},{5035,-12798,1},{5032,-12793,1},{5033,-12787,1}, {5032,-12785,1},{5032,-12780,1},{5030,-12780,1},{5028,-12785,1},{5025,-12780,1}, {5023,-12775,1},{5013,-12790,1},{5012,-12790,1},{5008,-12780,1},{5012,-12775,1}, {5018,-12765,1},{5018,-12762,1},{5013,-12763,1},{5012,-12760,1},{5018,-12747,1}, {5018,-12743,1},{5013,-12748,1},{5012,-12742,1},{5012,-12747,1},{5008,-12747,1}, {5005,-12742,1},{5003,-12738,1},{5005,-12728,1},{5010,-12727,1},{5015,-12730,1}, {5010,-12722,1},{5008,-12717,1},{5012,-12712,1},{5015,-12710,1},{5010,-12708,1}, {5007,-12717,1},{5002,-12718,1},{4997,-12723,1},{4985,-12713,1},{4987,-12693,1}, {4997,-12692,1},{4988,-12688,1},{4988,-12685,1},{4992,-12680,1},{4997,-12685,1}, {4995,-12680,1},{4988,-12673,1},{4988,-12668,1},{4990,-12665,1},{4985,-12663,1}, {4982,-12663,1},{4970,-12658,1},{4972,-12650,1},{4973,-12647,1},{4978,-12647,1}, {4977,-12642,1},{4970,-12648,1},{4967,-12643,1},{4967,-12637,1},{4965,-12633,1}, {4968,-12610,1},{4965,-12608,1},{4965,-12613,1},{4963,-12633,1},{4963,-12647,1}, {4962,-12648,1},{4958,-12657,1},{4943,-12655,1},{4940,-12658,1},{4937,-12653,1}, {4938,-12647,1},{4940,-12647,1},{4945,-12648,1},{4947,-12642,1},{4945,-12642,1}, {4943,-12640,1},{4942,-12640,1},{4935,-12630,1},{4940,-12627,1},{4945,-12625,1}, {4945,-12623,1},{4942,-12623,1},{4940,-12618,1},{4945,-12605,1},{4940,-12607,1}, {4935,-12607,1},{4932,-12602,1},{4935,-12597,1},{4938,-12597,1},{4943,-12590,1}, {4940,-12590,1},{4932,-12595,1},{4928,-12602,1},{4922,-12597,1},{4927,-12590,1}, {4927,-12585,1},{4937,-12578,1},{4925,-12580,1},{4923,-12578,1},{4925,-12573,1}, {4915,-12575,1},{4922,-12562,1},{4920,-12562,1},{4910,-12573,1},{4912,-12582,1}, {4910,-12587,1},{4908,-12588,1},{4905,-12582,1},{4905,-12573,1},{4900,-12563,1}, {4897,-12562,1},{4897,-12557,1},{4892,-12550,1},{4892,-12545,1},{4898,-12537,1}, {4903,-12533,1},{4902,-12525,1},{4897,-12533,1},{4895,-12523,1},{4895,-12522,1}, {4900,-12515,1},{4897,-12510,1},{4900,-12503,1},{4898,-12495,1},{4900,-12490,1}, {4912,-12483,1},{4922,-12482,1},{4923,-12482,1},{4913,-12478,1},{4902,-12485,1}, {4897,-12490,1},{4895,-12498,1},{4893,-12502,1},{4888,-12502,1},{4888,-12507,1}, {4883,-12512,1},{4880,-12518,1},{4877,-12513,1},{4873,-12512,1},{4865,-12482,1}, {4860,-12477,1},{4858,-12468,1},{4853,-12452,1},{4855,-12447,1},{4857,-12445,1}, {4857,-12440,1},{4853,-12443,1},{4852,-12442,1},{4850,-12430,1},{4847,-12427,1}, {4837,-12392,1},{4835,-12382,1},{4837,-12377,1},{4830,-12365,1},{4832,-12360,1}, {4830,-12358,1},{4830,-12355,1},{4833,-12355,1},{4835,-12352,1},{4837,-12352,1}, {4840,-12347,1},{4845,-12345,1},{4840,-12337,1},{4840,-12332,1},{4842,-12328,1}, {4845,-12328,1},{4848,-12330,1},{4852,-12333,1},{4858,-12337,1},{4860,-12338,1}, {4868,-12340,1},{4868,-12347,1},{4865,-12343,1},{4863,-12348,1},{4857,-12347,1}, {4853,-12353,1},{4855,-12353,1},{4858,-12352,1},{4865,-12355,1},{4867,-12353,1}, {4868,-12353,1},{4875,-12365,1},{4877,-12363,1},{4875,-12357,1},{4878,-12357,1}, {4880,-12360,1},{4883,-12358,1},{4900,-12383,1},{4898,-12377,1},{4900,-12375,1}, {4902,-12377,1},{4903,-12375,1},{4907,-12378,1},{4912,-12382,1},{4913,-12388,1}, {4912,-12390,1},{4913,-12392,1},{4920,-12397,1},{4922,-12395,1},{4923,-12395,1}, {4925,-12412,1},{4925,-12417,1},{4927,-12415,1},{4927,-12412,1},{4932,-12417,1}, {4930,-12420,1},{4932,-12422,1},{4932,-12425,1},{4935,-12435,1},{4937,-12453,1}, {4942,-12463,1},{4947,-12472,1},{4945,-12475,1},{4947,-12478,1},{4950,-12480,1}, {4950,-12483,1},{4953,-12485,1},{4963,-12492,1},{4967,-12498,1},{4968,-12497,1}, {4967,-12488,1},{4972,-12487,1},{4992,-12517,1},{5007,-12527,1},{5010,-12530,1}, {5012,-12537,1},{5015,-12535,1},{5032,-12543,1},{5037,-12557,1},{5035,-12573,1}, {5037,-12577,1},{5038,-12587,1},{5038,-12595,1},{5043,-12603,1},{5047,-12615,1}, {5047,-12627,1},{5048,-12635,1},{5048,-12645,1},{5050,-12655,1},{5048,-12660,1}, {5050,-12663,1},{5055,-12678,1},{5055,-12683,1},{5052,-12685,1},{5055,-12685,1}, {5057,-12697,1},{5058,-12700,1},{5058,-12708,1},{5062,-12712,1},{5062,-12720,1}, {5063,-12723,1},{5070,-12740,1},{5075,-12742,1},{5075,-12743,1},{5070,-12748,1}, {6158,-6467,129},{6155,-6473,1},{6153,-6468,1},{6152,-6472,1},{6150,-6467,1}, {6147,-6468,1},{6143,-6472,1},{6142,-6480,1},{6138,-6478,1},{6132,-6487,1}, {6135,-6492,1},{6135,-6498,1},{6138,-6498,1},{6140,-6493,1},{6140,-6507,1}, {6143,-6512,1},{6145,-6508,1},{6145,-6517,1},{6150,-6520,1},{6153,-6537,1}, {6158,-6547,1},{6163,-6547,1},{6167,-6537,1},{6170,-6503,1},{6167,-6482,1}, {6165,-6472,1},{6163,-6475,1},{6162,-6478,1},{6163,-6473,1},{6162,-6473,1}, {6162,-6467,1},{6158,-6467,1},{6815,-7502,129},{6803,-7505,1},{6795,-7517,1}, {6785,-7510,1},{6782,-7505,1},{6770,-7507,1},{6762,-7502,1},{6755,-7507,1}, {6747,-7517,1},{6743,-7522,1},{6742,-7532,1},{6735,-7538,1},{6735,-7553,1}, {6730,-7560,1},{6730,-7570,1},{6725,-7590,1},{6727,-7625,1},{6725,-7633,1}, {6723,-7642,1},{6725,-7653,1},{6722,-7667,1},{6725,-7700,1},{6730,-7708,1}, {6742,-7717,1},{6745,-7725,1},{6752,-7725,1},{6755,-7723,1},{6770,-7732,1}, {6787,-7722,1},{6815,-7687,1},{6823,-7673,1},{6828,-7660,1},{6830,-7642,1}, {6833,-7628,1},{6830,-7623,1},{6830,-7607,1},{6833,-7597,1},{6833,-7588,1}, {6832,-7567,1},{6828,-7548,1},{6823,-7513,1},{6815,-7502,1},{6298,-8218,129}, {6295,-8207,1},{6295,-8192,1},{6292,-8187,1},{6288,-8192,1},{6285,-8190,1}, {6283,-8195,1},{6272,-8193,1},{6260,-8213,1},{6258,-8228,1},{6255,-8237,1}, {6245,-8245,1},{6238,-8263,1},{6228,-8277,1},{6217,-8312,1},{6222,-8317,1}, {6225,-8330,1},{6222,-8347,1},{6213,-8367,1},{6215,-8372,1},{6217,-8372,1}, {6230,-8373,1},{6233,-8380,1},{6240,-8393,1},{6247,-8393,1},{6257,-8370,1}, {6263,-8365,1},{6268,-8357,1},{6282,-8353,1},{6292,-8333,1},{6292,-8322,1}, {6287,-8315,1},{6283,-8307,1},{6285,-8300,1},{6293,-8270,1},{6292,-8243,1}, {6293,-8238,1},{6295,-8238,1},{6298,-8227,1},{6298,-8218,1},{6242,-7953,129}, {6238,-7945,1},{6230,-7937,1},{6225,-7927,1},{6217,-7927,1},{6205,-7933,1}, {6198,-7932,1},{6200,-7937,1},{6198,-7938,1},{6188,-7947,1},{6185,-7952,1}, {6180,-7953,1},{6177,-7960,1},{6167,-7963,1},{6158,-7977,1},{6157,-7983,1}, {6158,-7985,1},{6168,-7997,1},{6170,-8002,1},{6172,-8007,1},{6175,-8007,1}, {6175,-8018,1},{6178,-8020,1},{6180,-8028,1},{6187,-8030,1},{6188,-8025,1}, {6198,-8030,1},{6207,-8025,1},{6210,-8027,1},{6222,-8018,1},{6228,-8007,1}, {6237,-8002,1},{6240,-7983,1},{6240,-7980,1},{6240,-7972,1},{6237,-7970,1}, {6242,-7960,1},{6242,-7953,1},{5652,-7913,129},{5647,-7912,1},{5643,-7905,1}, {5643,-7893,1},{5635,-7893,1},{5635,-7890,1},{5633,-7895,1},{5632,-7895,1}, {5632,-7888,1},{5627,-7897,1},{5585,-7920,1},{5587,-7922,1},{5595,-7918,1}, {5627,-7898,1},{5633,-7897,1},{5635,-7900,1},{5637,-7897,1},{5638,-7898,1}, {5635,-7905,1},{5622,-7910,1},{5622,-7905,1},{5618,-7907,1},{5587,-7928,1}, {5613,-7913,1},{5623,-7915,1},{5615,-7925,1},{5597,-7937,1},{5587,-7948,1}, {5587,-7957,1},{5590,-7963,1},{5587,-7967,1},{5578,-7978,1},{5610,-7947,1}, {5612,-7947,1},{5613,-7950,1},{5613,-7953,1},{5608,-7960,1},{5597,-7973,1}, {5590,-7983,1},{5583,-7988,1},{5583,-7990,1},{5588,-7995,1},{5590,-8002,1}, {5593,-8000,1},{5610,-7978,1},{5615,-7975,1},{5623,-7958,1},{5628,-7953,1}, {5638,-7948,1},{5655,-7947,1},{5655,-7943,1},{5645,-7942,1},{5635,-7948,1}, {5627,-7948,1},{5620,-7953,1},{5617,-7960,1},{5612,-7960,1},{5618,-7953,1}, {5622,-7942,1},{5645,-7930,1},{5662,-7927,1},{5655,-7925,1},{5655,-7918,1}, {5653,-7917,1},{5655,-7913,1},{5652,-7913,1},{6057,-6795,129},{6050,-6788,1}, {6045,-6780,1},{6042,-6780,1},{6037,-6785,1},{6032,-6795,1},{6028,-6810,1}, {6025,-6818,1},{6022,-6832,1},{6023,-6837,1},{6025,-6840,1},{6030,-6838,1}, {6038,-6832,1},{6047,-6822,1},{6052,-6818,1},{6057,-6813,1},{6058,-6808,1}, {6057,-6795,1},{7403,-11973,129},{7408,-11975,1},{7413,-11962,1},{7422,-11948,1}, {7422,-11918,1},{7420,-11912,1},{7415,-11908,1},{7413,-11913,1},{7410,-11907,1}, {7407,-11908,1},{7407,-11915,1},{7398,-11918,1},{7402,-11907,1},{7400,-11897,1}, {7408,-11880,1},{7413,-11880,1},{7415,-11887,1},{7418,-11887,1},{7423,-11860,1}, {7428,-11808,1},{7423,-11752,1},{7422,-11738,1},{7407,-11683,1},{7400,-11665,1}, {7387,-11633,1},{7385,-11623,1},{7380,-11605,1},{7372,-11590,1},{7367,-11562,1}, {7363,-11558,1},{7357,-11538,1},{7348,-11532,1},{7345,-11542,1},{7342,-11547,1}, {7342,-11558,1},{7333,-11585,1},{7327,-11628,1},{7325,-11645,1},{7323,-11652,1}, {7322,-11667,1},{7312,-11698,1},{7310,-11713,1},{7305,-11725,1},{7305,-11743,1}, {7290,-11797,1},{7282,-11837,1},{7277,-11850,1},{7273,-11875,1},{7263,-11913,1}, {7260,-11918,1},{7255,-11917,1},{7243,-11932,1},{7235,-11930,1},{7228,-11963,1}, {7223,-11977,1},{7222,-11983,1},{7223,-12017,1},{7225,-12018,1},{7225,-12013,1}, {7227,-12013,1},{7227,-12025,1},{7223,-12025,1},{7220,-12018,1},{7215,-12015,1}, {7208,-12020,1},{7195,-12045,1},{7192,-12045,1},{7188,-12038,1},{7175,-12043,1}, {7168,-12038,1},{7155,-12050,1},{7150,-12060,1},{7143,-12088,1},{7138,-12143,1}, {7140,-12160,1},{7142,-12153,1},{7145,-12158,1},{7145,-12175,1},{7127,-12212,1}, {7117,-12260,1},{7108,-12280,1},{7108,-12313,1},{7112,-12322,1},{7122,-12342,1}, {7150,-12367,1},{7153,-12380,1},{7165,-12395,1},{7170,-12407,1},{7180,-12468,1}, {7190,-12498,1},{7195,-12523,1},{7195,-12525,1},{7195,-12503,1},{7193,-12495,1}, {7197,-12495,1},{7198,-12525,1},{7195,-12577,1},{7197,-12595,1},{7197,-12600,1}, {7197,-12590,1},{7198,-12582,1},{7200,-12577,1},{7208,-12572,1},{7212,-12573,1}, {7212,-12580,1},{7217,-12570,1},{7217,-12557,1},{7218,-12565,1},{7222,-12568,1}, {7225,-12565,1},{7225,-12555,1},{7228,-12548,1},{7230,-12548,1},{7230,-12553,1}, {7238,-12540,1},{7242,-12543,1},{7242,-12535,1},{7245,-12535,1},{7248,-12530,1}, {7252,-12517,1},{7255,-12508,1},{7257,-12495,1},{7260,-12497,1},{7260,-12505,1}, {7263,-12510,1},{7265,-12503,1},{7267,-12505,1},{7267,-12498,1},{7270,-12493,1}, {7270,-12502,1},{7275,-12497,1},{7282,-12503,1},{7285,-12512,1},{7287,-12510,1}, {7285,-12495,1},{7288,-12480,1},{7288,-12467,1},{7293,-12448,1},{7295,-12452,1}, {7298,-12450,1},{7298,-12455,1},{7302,-12463,1},{7302,-12470,1},{7300,-12473,1}, {7308,-12487,1},{7313,-12478,1},{7315,-12465,1},{7320,-12467,1},{7335,-12448,1}, {7337,-12440,1},{7342,-12443,1},{7345,-12437,1},{7345,-12430,1},{7348,-12430,1}, {7348,-12417,1},{7352,-12417,1},{7353,-12407,1},{7365,-12407,1},{7370,-12392,1}, {7370,-12385,1},{7375,-12383,1},{7377,-12377,1},{7382,-12385,1},{7383,-12393,1}, {7383,-12408,1},{7387,-12422,1},{7392,-12420,1},{7397,-12428,1},{7398,-12435,1}, {7403,-12438,1},{7407,-12447,1},{7410,-12447,1},{7412,-12443,1},{7420,-12453,1}, {7425,-12452,1},{7427,-12457,1},{7427,-12470,1},{7432,-12460,1},{7432,-12467,1}, {7432,-12477,1},{7433,-12478,1},{7438,-12420,1},{7437,-12412,1},{7440,-12408,1}, {7440,-12385,1},{7445,-12325,1},{7447,-12238,1},{7453,-12177,1},{7455,-12157,1}, {7452,-12143,1},{7453,-12125,1},{7452,-12123,1},{7452,-12115,1},{7447,-12100,1}, {7442,-12097,1},{7428,-12025,1},{7427,-12012,1},{7427,-11997,1},{7423,-11985,1}, {7423,-11952,1},{7422,-11955,1},{7422,-11967,1},{7418,-11965,1},{7410,-11982,1}, {7407,-11983,1},{7403,-11975,1},{7260,-11460,129},{7258,-11455,1},{7257,-11455,1}, {7257,-11433,1},{7258,-11432,1},{7260,-11423,1},{7263,-11407,1},{7267,-11390,1}, {7263,-11388,1},{7263,-11378,1},{7270,-11352,1},{7262,-11373,1},{7260,-11372,1}, {7262,-11365,1},{7265,-11358,1},{7267,-11345,1},{7273,-11342,1},{7275,-11345,1}, {7275,-11360,1},{7278,-11360,1},{7295,-11330,1},{7300,-11315,1},{7302,-11303,1}, {7300,-11282,1},{7297,-11277,1},{7295,-11255,1},{7290,-11235,1},{7290,-11208,1}, {7280,-11153,1},{7275,-11145,1},{7272,-11123,1},{7267,-11120,1},{7257,-11128,1}, {7250,-11148,1},{7248,-11143,1},{7243,-11157,1},{7238,-11182,1},{7235,-11190,1}, {7232,-11182,1},{7233,-11175,1},{7235,-11168,1},{7235,-11165,1},{7223,-11178,1}, {7220,-11177,1},{7230,-11165,1},{7230,-11160,1},{7233,-11142,1},{7235,-11143,1}, {7233,-11158,1},{7237,-11162,1},{7242,-11142,1},{7247,-11132,1},{7247,-11120,1}, {7243,-11123,1},{7240,-11137,1},{7240,-11128,1},{7237,-11137,1},{7235,-11137,1}, {7237,-11128,1},{7237,-11122,1},{7233,-11120,1},{7233,-11112,1},{7228,-11103,1}, {7240,-11108,1},{7243,-11098,1},{7248,-11100,1},{7247,-11080,1},{7252,-11083,1}, {7257,-11072,1},{7255,-11053,1},{7255,-11048,1},{7250,-11060,1},{7243,-11033,1}, {7243,-11032,1},{7250,-11053,1},{7252,-11043,1},{7255,-11038,1},{7255,-11032,1}, {7243,-11005,1},{7247,-10997,1},{7243,-10978,1},{7255,-11025,1},{7257,-11025,1}, {7255,-11008,1},{7248,-10988,1},{7250,-10978,1},{7255,-10988,1},{7262,-10997,1}, {7265,-11010,1},{7265,-11022,1},{7265,-11027,1},{7267,-11028,1},{7268,-11018,1}, {7273,-11018,1},{7273,-11008,1},{7267,-10985,1},{7267,-10982,1},{7270,-10985,1}, {7272,-10977,1},{7273,-10990,1},{7275,-11007,1},{7273,-11027,1},{7277,-11017,1}, {7282,-11022,1},{7285,-11053,1},{7295,-11075,1},{7300,-11070,1},{7302,-11043,1}, {7297,-10990,1},{7292,-10985,1},{7293,-10973,1},{7292,-10965,1},{7290,-10962,1}, {7288,-10975,1},{7277,-10938,1},{7275,-10940,1},{7277,-10920,1},{7275,-10915,1}, {7273,-10912,1},{7272,-10917,1},{7270,-10910,1},{7267,-10893,1},{7265,-10903,1}, {7257,-10905,1},{7258,-10893,1},{7257,-10885,1},{7260,-10887,1},{7257,-10865,1}, {7252,-10860,1},{7235,-10867,1},{7220,-10852,1},{7215,-10853,1},{7213,-10845,1}, {7217,-10845,1},{7213,-10840,1},{7213,-10843,1},{7212,-10840,1},{7198,-10842,1}, {7198,-10830,1},{7193,-10833,1},{7197,-10825,1},{7195,-10818,1},{7192,-10820,1}, {7188,-10830,1},{7183,-10823,1},{7178,-10828,1},{7175,-10817,1},{7173,-10818,1}, {7172,-10825,1},{7170,-10820,1},{7172,-10807,1},{7167,-10797,1},{7163,-10798,1}, {7160,-10785,1},{7162,-10772,1},{7168,-10783,1},{7172,-10782,1},{7172,-10773,1}, {7170,-10770,1},{7173,-10763,1},{7178,-10753,1},{7180,-10727,1},{7187,-10747,1}, {7188,-10743,1},{7187,-10730,1},{7190,-10725,1},{7193,-10742,1},{7197,-10742,1}, {7202,-10762,1},{7207,-10765,1},{7208,-10762,1},{7212,-10767,1},{7212,-10763,1}, {7213,-10770,1},{7213,-10778,1},{7225,-10780,1},{7230,-10787,1},{7228,-10777,1}, {7230,-10772,1},{7235,-10785,1},{7238,-10780,1},{7242,-10788,1},{7245,-10778,1}, {7247,-10790,1},{7252,-10798,1},{7252,-10788,1},{7258,-10788,1},{7262,-10802,1}, {7263,-10795,1},{7267,-10802,1},{7270,-10800,1},{7275,-10808,1},{7278,-10805,1}, {7288,-10815,1},{7292,-10810,1},{7297,-10817,1},{7298,-10813,1},{7303,-10823,1}, {7305,-10815,1},{7308,-10827,1},{7313,-10830,1},{7317,-10827,1},{7320,-10817,1}, {7318,-10787,1},{7327,-10812,1},{7330,-10815,1},{7332,-10802,1},{7335,-10808,1}, {7335,-10795,1},{7332,-10782,1},{7332,-10763,1},{7328,-10742,1},{7320,-10718,1}, {7317,-10707,1},{7318,-10702,1},{7323,-10712,1},{7328,-10708,1},{7332,-10687,1}, {7328,-10675,1},{7322,-10665,1},{7322,-10648,1},{7318,-10647,1},{7312,-10628,1}, {7308,-10623,1},{7307,-10613,1},{7305,-10605,1},{7307,-10593,1},{7305,-10585,1}, {7300,-10583,1},{7297,-10573,1},{7295,-10560,1},{7293,-10563,1},{7292,-10557,1}, {7287,-10552,1},{7287,-10555,1},{7285,-10545,1},{7278,-10537,1},{7277,-10540,1}, {7275,-10533,1},{7273,-10533,1},{7278,-10547,1},{7278,-10552,1},{7273,-10543,1}, {7270,-10545,1},{7265,-10528,1},{7262,-10535,1},{7255,-10532,1},{7255,-10523,1}, {7248,-10525,1},{7248,-10520,1},{7245,-10522,1},{7247,-10528,1},{7245,-10530,1}, {7238,-10520,1},{7218,-10495,1},{7212,-10503,1},{7207,-10502,1},{7205,-10495,1}, {7198,-10487,1},{7183,-10478,1},{7182,-10467,1},{7157,-10435,1},{7150,-10440,1}, {7147,-10432,1},{7142,-10435,1},{7135,-10428,1},{7137,-10440,1},{7135,-10448,1}, {7122,-10445,1},{7112,-10465,1},{7102,-10448,1},{7097,-10432,1},{7097,-10422,1}, {7092,-10412,1},{7075,-10400,1},{7075,-10383,1},{7060,-10353,1},{7060,-10332,1}, {7050,-10310,1},{7050,-10292,1},{7057,-10313,1},{7067,-10315,1},{7067,-10303,1}, {7060,-10285,1},{7050,-10285,1},{7048,-10268,1},{7042,-10238,1},{7038,-10227,1}, {7032,-10220,1},{7035,-10213,1},{7032,-10205,1},{7027,-10193,1},{7027,-10183,1}, {7030,-10180,1},{7030,-10168,1},{7027,-10158,1},{7022,-10165,1},{7012,-10155,1}, {7013,-10148,1},{7012,-10142,1},{7018,-10138,1},{7013,-10123,1},{7017,-10113,1}, {7020,-10112,1},{7015,-10097,1},{7008,-10100,1},{7002,-10093,1},{6997,-10092,1}, {6993,-10097,1},{6992,-10095,1},{6992,-10090,1},{6982,-10087,1},{6977,-10088,1}, {6973,-10095,1},{6970,-10092,1},{6967,-10097,1},{6967,-10102,1},{6965,-10107,1}, {6967,-10110,1},{6968,-10115,1},{6967,-10122,1},{6967,-10133,1},{6983,-10147,1}, {6988,-10142,1},{6992,-10145,1},{6965,-10167,1},{6972,-10177,1},{6975,-10185,1}, {6973,-10192,1},{6973,-10195,1},{6980,-10203,1},{6985,-10205,1},{6982,-10213,1}, {6985,-10218,1},{6990,-10218,1},{6992,-10222,1},{6990,-10225,1},{6985,-10223,1}, {6983,-10233,1},{6980,-10230,1},{6975,-10235,1},{6977,-10238,1},{6982,-10238,1}, {6977,-10240,1},{6978,-10245,1},{6977,-10250,1},{6973,-10258,1},{6977,-10268,1}, {6970,-10260,1},{6970,-10248,1},{6968,-10248,1},{6957,-10250,1},{6953,-10260,1}, {6955,-10270,1},{6953,-10280,1},{6953,-10283,1},{6955,-10287,1},{6957,-10297,1}, {6965,-10322,1},{6970,-10330,1},{6968,-10337,1},{6970,-10342,1},{6968,-10348,1}, {6962,-10350,1},{6955,-10322,1},{6943,-10313,1},{6945,-10310,1},{6952,-10308,1}, {6952,-10305,1},{6950,-10302,1},{6942,-10298,1},{6937,-10303,1},{6927,-10302,1}, {6923,-10307,1},{6920,-10320,1},{6912,-10320,1},{6912,-10317,1},{6915,-10313,1}, {6922,-10302,1},{6938,-10283,1},{6937,-10277,1},{6938,-10272,1},{6942,-10262,1}, {6942,-10253,1},{6948,-10247,1},{6948,-10235,1},{6950,-10232,1},{6948,-10205,1}, {6942,-10193,1},{6935,-10202,1},{6935,-10217,1},{6932,-10217,1},{6933,-10210,1}, {6932,-10210,1},{6928,-10203,1},{6923,-10208,1},{6927,-10215,1},{6928,-10222,1}, {6922,-10222,1},{6918,-10210,1},{6923,-10203,1},{6927,-10195,1},{6922,-10185,1}, {6918,-10175,1},{6912,-10177,1},{6905,-10187,1},{6900,-10182,1},{6897,-10198,1}, {6900,-10203,1},{6898,-10208,1},{6895,-10215,1},{6895,-10240,1},{6892,-10240,1}, {6887,-10253,1},{6887,-10263,1},{6888,-10270,1},{6890,-10275,1},{6888,-10277,1}, {6883,-10270,1},{6883,-10275,1},{6883,-10283,1},{6880,-10290,1},{6880,-10303,1}, {6885,-10320,1},{6883,-10333,1},{6878,-10337,1},{6880,-10350,1},{6883,-10355,1}, {6882,-10363,1},{6883,-10375,1},{6887,-10395,1},{6885,-10410,1},{6890,-10423,1}, {6895,-10427,1},{6893,-10430,1},{6890,-10427,1},{6893,-10445,1},{6888,-10450,1}, {6887,-10458,1},{6887,-10485,1},{6890,-10515,1},{6895,-10527,1},{6897,-10520,1}, {6900,-10517,1},{6898,-10503,1},{6902,-10503,1},{6902,-10497,1},{6903,-10493,1}, {6907,-10492,1},{6910,-10508,1},{6908,-10512,1},{6905,-10503,1},{6908,-10528,1}, {6910,-10545,1},{6915,-10555,1},{6917,-10565,1},{6917,-10593,1},{6915,-10597,1}, {6915,-10603,1},{6915,-10620,1},{6918,-10640,1},{6923,-10640,1},{6927,-10628,1}, {6930,-10627,1},{6933,-10632,1},{6940,-10632,1},{6950,-10658,1},{6943,-10673,1}, {6938,-10675,1},{6935,-10698,1},{6922,-10693,1},{6918,-10703,1},{6915,-10703,1}, {6915,-10713,1},{6902,-10735,1},{6898,-10755,1},{6895,-10785,1},{6893,-10797,1}, {6895,-10853,1},{6893,-10857,1},{6888,-10853,1},{6883,-10867,1},{6878,-10887,1}, {6873,-10893,1},{6870,-10918,1},{6870,-10940,1},{6863,-10968,1},{6862,-11003,1}, {6863,-11022,1},{6857,-11038,1},{6860,-11043,1},{6862,-11057,1},{6858,-11068,1}, {6855,-11095,1},{6855,-11103,1},{6857,-11103,1},{6858,-11087,1},{6860,-11087,1}, {6858,-11113,1},{6858,-11138,1},{6857,-11140,1},{6855,-11122,1},{6852,-11123,1}, {6855,-11157,1},{6852,-11200,1},{6853,-11212,1},{6852,-11223,1},{6852,-11228,1}, {6850,-11240,1},{6850,-11262,1},{6847,-11265,1},{6847,-11273,1},{6847,-11332,1}, {6850,-11325,1},{6850,-11303,1},{6855,-11312,1},{6860,-11337,1},{6865,-11345,1}, {6870,-11345,1},{6882,-11368,1},{6885,-11362,1},{6890,-11368,1},{6895,-11357,1}, {6902,-11357,1},{6903,-11363,1},{6905,-11355,1},{6908,-11365,1},{6912,-11368,1}, {6913,-11363,1},{6915,-11370,1},{6918,-11370,1},{6917,-11352,1},{6918,-11352,1}, {6922,-11370,1},{6922,-11387,1},{6925,-11393,1},{6925,-11415,1},{6928,-11432,1}, {6925,-11477,1},{6925,-11488,1},{6928,-11492,1},{6928,-11498,1},{6925,-11508,1}, {6923,-11517,1},{6927,-11533,1},{6925,-11550,1},{6930,-11595,1},{6933,-11603,1}, {6940,-11653,1},{6947,-11663,1},{6948,-11657,1},{6952,-11662,1},{6957,-11658,1}, {6958,-11673,1},{6957,-11677,1},{6957,-11673,1},{6953,-11672,1},{6957,-11678,1}, {6958,-11692,1},{6960,-11692,1},{6962,-11685,1},{6965,-11685,1},{6970,-11708,1}, {6975,-11725,1},{7000,-11743,1},{7005,-11733,1},{7012,-11708,1},{7022,-11595,1}, {7028,-11520,1},{7028,-11483,1},{7032,-11455,1},{7032,-11428,1},{7032,-11417,1}, {7028,-11407,1},{7027,-11388,1},{7027,-11327,1},{7025,-11305,1},{7023,-11300,1}, {7023,-11297,1},{7025,-11298,1},{7022,-11278,1},{7020,-11257,1},{7020,-11252,1}, {7022,-11258,1},{7023,-11255,1},{7023,-11238,1},{7023,-11233,1},{7025,-11238,1}, {7027,-11213,1},{7028,-11230,1},{7030,-11228,1},{7025,-11193,1},{7027,-11188,1}, {7028,-11145,1},{7030,-11145,1},{7030,-11158,1},{7032,-11152,1},{7033,-11148,1}, {7035,-11163,1},{7037,-11198,1},{7040,-11207,1},{7047,-11212,1},{7050,-11220,1}, {7050,-11230,1},{7052,-11235,1},{7050,-11240,1},{7053,-11245,1},{7052,-11253,1}, {7057,-11272,1},{7057,-11285,1},{7055,-11287,1},{7053,-11290,1},{7057,-11293,1}, {7062,-11308,1},{7060,-11318,1},{7065,-11320,1},{7065,-11340,1},{7068,-11352,1}, {7065,-11353,1},{7065,-11358,1},{7068,-11373,1},{7072,-11393,1},{7072,-11400,1}, {7067,-11415,1},{7068,-11437,1},{7067,-11443,1},{7062,-11463,1},{7062,-11487,1}, {7060,-11512,1},{7060,-11540,1},{7057,-11558,1},{7060,-11570,1},{7060,-11592,1}, {7057,-11605,1},{7060,-11622,1},{7063,-11617,1},{7063,-11637,1},{7063,-11657,1}, {7060,-11672,1},{7062,-11723,1},{7060,-11735,1},{7063,-11738,1},{7062,-11750,1}, {7060,-11752,1},{7060,-11757,1},{7063,-11772,1},{7072,-11773,1},{7080,-11810,1}, {7087,-11827,1},{7097,-11840,1},{7100,-11840,1},{7117,-11780,1},{7118,-11742,1}, {7123,-11710,1},{7125,-11685,1},{7128,-11680,1},{7137,-11622,1},{7137,-11608,1}, {7135,-11617,1},{7133,-11615,1},{7135,-11605,1},{7137,-11577,1},{7138,-11573,1}, {7140,-11578,1},{7138,-11592,1},{7140,-11595,1},{7142,-11622,1},{7143,-11605,1}, {7150,-11573,1},{7148,-11575,1},{7150,-11562,1},{7148,-11560,1},{7145,-11542,1}, {7147,-11532,1},{7148,-11520,1},{7153,-11507,1},{7148,-11545,1},{7150,-11557,1}, {7153,-11545,1},{7155,-11563,1},{7152,-11595,1},{7145,-11672,1},{7142,-11687,1}, {7143,-11710,1},{7140,-11722,1},{7138,-11738,1},{7138,-11742,1},{7145,-11738,1}, {7145,-11747,1},{7147,-11745,1},{7150,-11757,1},{7148,-11755,1},{7145,-11763,1}, {7143,-11748,1},{7138,-11752,1},{7138,-11768,1},{7140,-11772,1},{7137,-11780,1}, {7138,-11790,1},{7137,-11803,1},{7140,-11825,1},{7143,-11832,1},{7150,-11825,1}, {7155,-11805,1},{7153,-11785,1},{7152,-11777,1},{7155,-11783,1},{7155,-11767,1}, {7157,-11765,1},{7158,-11777,1},{7162,-11788,1},{7160,-11795,1},{7162,-11797,1}, {7163,-11795,1},{7167,-11770,1},{7167,-11803,1},{7163,-11817,1},{7160,-11818,1}, {7158,-11830,1},{7158,-11837,1},{7158,-11842,1},{7162,-11838,1},{7163,-11845,1}, {7165,-11845,1},{7167,-11883,1},{7162,-11890,1},{7158,-11887,1},{7158,-11890,1}, {7163,-11905,1},{7168,-11910,1},{7178,-11913,1},{7188,-11910,1},{7198,-11895,1}, {7205,-11873,1},{7212,-11872,1},{7218,-11858,1},{7218,-11838,1},{7222,-11813,1}, {7223,-11810,1},{7233,-11817,1},{7235,-11845,1},{7238,-11857,1},{7243,-11858,1}, {7250,-11853,1},{7260,-11823,1},{7263,-11817,1},{7270,-11788,1},{7283,-11752,1}, {7292,-11735,1},{7292,-11717,1},{7295,-11707,1},{7295,-11693,1},{7305,-11657,1}, {7307,-11643,1},{7312,-11620,1},{7313,-11597,1},{7318,-11582,1},{7320,-11562,1}, {7323,-11540,1},{7327,-11532,1},{7327,-11520,1},{7328,-11515,1},{7332,-11488,1}, {7337,-11470,1},{7338,-11457,1},{7332,-11423,1},{7323,-11405,1},{7315,-11397,1}, {7288,-11405,1},{7280,-11398,1},{7278,-11423,1},{7273,-11435,1},{7268,-11433,1}, {7268,-11425,1},{7265,-11440,1},{7262,-11445,1},{7260,-11460,1},{6492,-8302,129}, {6488,-8295,1},{6487,-8285,1},{6482,-8280,1},{6478,-8272,1},{6477,-8260,1}, {6473,-8255,1},{6477,-8238,1},{6472,-8220,1},{6468,-8222,1},{6468,-8210,1}, {6463,-8203,1},{6450,-8177,1},{6443,-8178,1},{6435,-8175,1},{6432,-8178,1}, {6425,-8173,1},{6420,-8160,1},{6413,-8160,1},{6408,-8175,1},{6408,-8188,1}, {6405,-8193,1},{6407,-8195,1},{6400,-8198,1},{6400,-8185,1},{6403,-8147,1}, {6405,-8143,1},{6408,-8145,1},{6410,-8138,1},{6407,-8140,1},{6407,-8127,1}, {6405,-8125,1},{6398,-8093,1},{6402,-8092,1},{6405,-8098,1},{6410,-8093,1}, {6413,-8095,1},{6408,-8078,1},{6402,-8070,1},{6398,-8055,1},{6397,-8052,1}, {6393,-8055,1},{6390,-8050,1},{6388,-8057,1},{6390,-8070,1},{6388,-8067,1}, {6385,-8040,1},{6380,-8027,1},{6380,-8020,1},{6375,-8018,1},{6373,-8035,1}, {6373,-8045,1},{6363,-8058,1},{6362,-8067,1},{6353,-8083,1},{6352,-8092,1}, {6348,-8093,1},{6345,-8097,1},{6345,-8110,1},{6348,-8120,1},{6353,-8138,1}, {6358,-8153,1},{6357,-8165,1},{6363,-8177,1},{6363,-8192,1},{6368,-8205,1}, {6368,-8222,1},{6367,-8227,1},{6367,-8225,1},{6368,-8228,1},{6365,-8233,1}, {6368,-8247,1},{6372,-8250,1},{6373,-8255,1},{6377,-8255,1},{6380,-8247,1}, {6382,-8238,1},{6390,-8237,1},{6397,-8255,1},{6398,-8287,1},{6395,-8307,1}, {6397,-8310,1},{6400,-8315,1},{6413,-8297,1},{6418,-8302,1},{6418,-8313,1}, {6412,-8318,1},{6413,-8330,1},{6413,-8335,1},{6410,-8340,1},{6412,-8347,1}, {6410,-8353,1},{6405,-8360,1},{6400,-8368,1},{6393,-8360,1},{6387,-8365,1}, {6383,-8360,1},{6377,-8363,1},{6378,-8373,1},{6377,-8377,1},{6375,-8382,1}, {6368,-8392,1},{6367,-8400,1},{6360,-8410,1},{6363,-8428,1},{6360,-8430,1}, {6355,-8440,1},{6338,-8448,1},{6330,-8458,1},{6330,-8467,1},{6320,-8488,1}, {6312,-8523,1},{6312,-8550,1},{6318,-8560,1},{6325,-8563,1},{6342,-8565,1}, {6350,-8560,1},{6355,-8563,1},{6363,-8560,1},{6367,-8562,1},{6370,-8572,1}, {6377,-8572,1},{6370,-8582,1},{6370,-8597,1},{6363,-8625,1},{6367,-8660,1}, {6365,-8668,1},{6358,-8678,1},{6355,-8688,1},{6355,-8712,1},{6358,-8718,1}, {6363,-8723,1},{6370,-8720,1},{6390,-8693,1},{6397,-8677,1},{6402,-8647,1}, {6407,-8637,1},{6408,-8623,1},{6410,-8618,1},{6413,-8618,1},{6418,-8622,1}, {6423,-8632,1},{6425,-8628,1},{6428,-8635,1},{6437,-8638,1},{6440,-8635,1}, {6443,-8640,1},{6455,-8638,1},{6460,-8642,1},{6480,-8623,1},{6482,-8617,1}, {6483,-8620,1},{6487,-8618,1},{6488,-8622,1},{6492,-8615,1},{6497,-8622,1}, {6500,-8623,1},{6507,-8618,1},{6510,-8613,1},{6520,-8613,1},{6528,-8617,1}, {6537,-8610,1},{6538,-8615,1},{6553,-8610,1},{6562,-8602,1},{6572,-8602,1}, {6585,-8582,1},{6592,-8562,1},{6593,-8550,1},{6592,-8547,1},{6585,-8552,1}, {6580,-8550,1},{6580,-8543,1},{6583,-8538,1},{6582,-8527,1},{6578,-8515,1}, {6573,-8515,1},{6572,-8518,1},{6562,-8505,1},{6557,-8512,1},{6555,-8523,1}, {6555,-8528,1},{6553,-8532,1},{6542,-8502,1},{6532,-8502,1},{6525,-8493,1}, {6522,-8492,1},{6522,-8482,1},{6523,-8480,1},{6530,-8475,1},{6533,-8475,1}, {6548,-8458,1},{6545,-8443,1},{6542,-8445,1},{6538,-8438,1},{6533,-8415,1}, {6527,-8423,1},{6522,-8413,1},{6520,-8408,1},{6518,-8388,1},{6517,-8392,1}, {6517,-8388,1},{6517,-8377,1},{6517,-8353,1},{6513,-8340,1},{6507,-8333,1}, {6502,-8333,1},{6495,-8320,1},{6492,-8302,1},{7353,-10448,129},{7345,-10458,1}, {7333,-10457,1},{7320,-10477,1},{7318,-10473,1},{7315,-10483,1},{7308,-10498,1}, {7302,-10498,1},{7298,-10513,1},{7293,-10520,1},{7295,-10535,1},{7292,-10530,1}, {7292,-10533,1},{7287,-10520,1},{7285,-10528,1},{7287,-10532,1},{7287,-10538,1}, {7293,-10547,1},{7303,-10570,1},{7313,-10590,1},{7317,-10590,1},{7318,-10610,1}, {7322,-10605,1},{7327,-10618,1},{7328,-10620,1},{7328,-10612,1},{7330,-10613,1}, {7333,-10632,1},{7340,-10647,1},{7342,-10663,1},{7347,-10680,1},{7347,-10698,1}, {7348,-10703,1},{7370,-10662,1},{7373,-10620,1},{7373,-10573,1},{7377,-10553,1}, {7375,-10515,1},{7367,-10487,1},{7363,-10482,1},{7363,-10468,1},{7360,-10457,1}, {7357,-10450,1},{7353,-10448,1},{6988,-9787,129},{6985,-9770,1},{6982,-9768,1}, {6978,-9762,1},{6977,-9747,1},{6973,-9742,1},{6970,-9733,1},{6968,-9735,1}, {6967,-9748,1},{6960,-9738,1},{6970,-9730,1},{6967,-9720,1},{6962,-9710,1}, {6958,-9708,1},{6948,-9688,1},{6948,-9678,1},{6945,-9670,1},{6943,-9655,1}, {6930,-9622,1},{6927,-9617,1},{6915,-9625,1},{6912,-9622,1},{6905,-9622,1}, {6902,-9613,1},{6905,-9612,1},{6908,-9615,1},{6917,-9615,1},{6923,-9607,1}, {6923,-9605,1},{6908,-9592,1},{6905,-9598,1},{6900,-9593,1},{6897,-9585,1}, {6887,-9583,1},{6888,-9575,1},{6887,-9567,1},{6883,-9565,1},{6883,-9555,1}, {6890,-9537,1},{6885,-9522,1},{6880,-9527,1},{6875,-9543,1},{6867,-9553,1}, {6867,-9557,1},{6873,-9555,1},{6875,-9560,1},{6872,-9573,1},{6873,-9580,1}, {6870,-9580,1},{6867,-9585,1},{6860,-9585,1},{6862,-9597,1},{6860,-9602,1}, {6847,-9628,1},{6845,-9653,1},{6852,-9692,1},{6855,-9702,1},{6858,-9710,1}, {6858,-9715,1},{6853,-9710,1},{6852,-9715,1},{6853,-9733,1},{6855,-9738,1}, {6853,-9748,1},{6865,-9777,1},{6865,-9785,1},{6870,-9803,1},{6867,-9810,1}, {6875,-9828,1},{6882,-9825,1},{6885,-9837,1},{6883,-9842,1},{6877,-9840,1}, {6875,-9848,1},{6875,-9855,1},{6878,-9858,1},{6880,-9865,1},{6878,-9872,1}, {6883,-9887,1},{6885,-9888,1},{6892,-9882,1},{6893,-9885,1},{6895,-9898,1}, {6893,-9900,1},{6890,-9903,1},{6892,-9912,1},{6887,-9905,1},{6885,-9913,1}, {6882,-9918,1},{6887,-9927,1},{6888,-9943,1},{6895,-9947,1},{6902,-9960,1}, {6913,-9947,1},{6912,-9933,1},{6913,-9933,1},{6917,-9932,1},{6913,-9918,1}, {6913,-9900,1},{6917,-9893,1},{6917,-9878,1},{6920,-9872,1},{6927,-9870,1}, {6930,-9865,1},{6927,-9857,1},{6930,-9852,1},{6930,-9840,1},{6933,-9840,1}, {6940,-9855,1},{6945,-9862,1},{6948,-9858,1},{6947,-9850,1},{6947,-9842,1}, {6952,-9860,1},{6958,-9855,1},{6958,-9847,1},{6957,-9835,1},{6947,-9822,1}, {6947,-9810,1},{6942,-9810,1},{6943,-9800,1},{6945,-9800,1},{6950,-9817,1}, {6958,-9827,1},{6960,-9837,1},{6972,-9832,1},{6978,-9823,1},{6982,-9810,1}, {6988,-9802,1},{6988,-9787,1},{5162,-5562,129},{5158,-5565,1},{5157,-5562,1}, {5157,-5557,1},{5157,-5558,1},{5160,-5552,1},{5160,-5548,1},{5157,-5548,1}, {5160,-5545,1},{5157,-5540,1},{5155,-5542,1},{5157,-5547,1},{5153,-5543,1}, {5150,-5545,1},{5152,-5548,1},{5150,-5553,1},{5147,-5548,1},{5148,-5545,1}, {5145,-5545,1},{5137,-5550,1},{5138,-5555,1},{5137,-5558,1},{5135,-5557,1}, {5135,-5562,1},{5130,-5560,1},{5135,-5577,1},{5133,-5588,1},{5135,-5590,1}, {5137,-5595,1},{5135,-5593,1},{5135,-5598,1},{5138,-5603,1},{5135,-5603,1}, {5137,-5608,1},{5132,-5610,1},{5132,-5602,1},{5127,-5602,1},{5127,-5605,1}, {5125,-5602,1},{5123,-5607,1},{5122,-5602,1},{5120,-5602,1},{5115,-5595,1}, {5117,-5593,1},{5120,-5597,1},{5120,-5592,1},{5123,-5583,1},{5122,-5582,1}, {5122,-5577,1},{5117,-5572,1},{5115,-5575,1},{5112,-5572,1},{5108,-5573,1}, {5105,-5575,1},{5107,-5580,1},{5103,-5578,1},{5097,-5583,1},{5092,-5582,1}, {5093,-5583,1},{5095,-5585,1},{5095,-5587,1},{5090,-5587,1},{5090,-5585,1}, {5087,-5588,1},{5090,-5590,1},{5085,-5595,1},{5072,-5607,1},{5072,-5610,1}, {5077,-5608,1},{5075,-5610,1},{5077,-5613,1},{5090,-5610,1},{5088,-5615,1}, {5085,-5617,1},{5085,-5615,1},{5078,-5615,1},{5078,-5617,1},{5068,-5615,1}, {5068,-5610,1},{5067,-5610,1},{5057,-5623,1},{5052,-5623,1},{5052,-5632,1}, {5050,-5625,1},{5042,-5638,1},{5037,-5640,1},{5037,-5643,1},{5038,-5645,1}, {5038,-5650,1},{5035,-5642,1},{5027,-5647,1},{5015,-5657,1},{5013,-5660,1}, {5013,-5667,1},{5010,-5663,1},{5002,-5675,1},{4993,-5678,1},{4992,-5678,1}, {4995,-5673,1},{4995,-5672,1},{4987,-5673,1},{4985,-5677,1},{4983,-5677,1}, {4975,-5690,1},{4975,-5683,1},{4973,-5678,1},{4960,-5682,1},{4955,-5685,1}, {4985,-5657,1},{4990,-5647,1},{4985,-5643,1},{4985,-5642,1},{4988,-5643,1}, {4992,-5640,1},{4990,-5637,1},{4995,-5638,1},{5002,-5633,1},{5005,-5627,1}, {5012,-5622,1},{5015,-5612,1},{5013,-5612,1},{5013,-5608,1},{5012,-5610,1}, {5010,-5607,1},{5007,-5607,1},{5007,-5608,1},{4997,-5613,1},{4992,-5618,1}, {4993,-5615,1},{5000,-5607,1},{5003,-5600,1},{5000,-5600,1},{4997,-5603,1}, {4997,-5600,1},{5003,-5595,1},{5002,-5588,1},{4997,-5583,1},{4995,-5577,1}, {4992,-5575,1},{4995,-5570,1},{4997,-5567,1},{4997,-5560,1},{4997,-5557,1}, {5000,-5548,1},{4995,-5547,1},{4992,-5548,1},{4990,-5555,1},{4985,-5565,1}, {4985,-5568,1},{4983,-5568,1},{4980,-5583,1},{4977,-5588,1},{4973,-5595,1}, {4975,-5600,1},{4972,-5600,1},{4970,-5607,1},{4968,-5605,1},{4962,-5617,1}, {4957,-5617,1},{4967,-5605,1},{4970,-5597,1},{4972,-5588,1},{4967,-5595,1}, {4970,-5590,1},{4968,-5590,1},{4968,-5583,1},{4963,-5588,1},{4960,-5593,1}, {4958,-5588,1},{4955,-5592,1},{4948,-5608,1},{4942,-5612,1},{4943,-5607,1}, {4950,-5598,1},{4952,-5583,1},{4950,-5577,1},{4948,-5578,1},{4948,-5572,1}, {4947,-5577,1},{4945,-5578,1},{4947,-5567,1},{4943,-5570,1},{4942,-5567,1}, {4938,-5567,1},{4940,-5563,1},{4942,-5563,1},{4948,-5555,1},{4948,-5552,1}, {4942,-5557,1},{4937,-5557,1},{4947,-5548,1},{4945,-5547,1},{4947,-5545,1}, {4950,-5543,1},{4950,-5535,1},{4943,-5543,1},{4943,-5540,1},{4945,-5533,1}, {4945,-5532,1},{4942,-5535,1},{4935,-5545,1},{4937,-5538,1},{4935,-5537,1}, {4933,-5538,1},{4935,-5537,1},{4940,-5532,1},{4938,-5532,1},{4940,-5528,1}, {4935,-5530,1},{4935,-5533,1},{4932,-5532,1},{4935,-5530,1},{4935,-5527,1}, {4938,-5523,1},{4942,-5527,1},{4948,-5527,1},{4953,-5532,1},{4953,-5527,1}, {4953,-5522,1},{4952,-5523,1},{4950,-5520,1},{4953,-5520,1},{4953,-5513,1}, {4953,-5515,1},{4947,-5512,1},{4943,-5517,1},{4942,-5515,1},{4938,-5518,1}, {4940,-5520,1},{4935,-5523,1},{4927,-5522,1},{4922,-5532,1},{4917,-5537,1}, {4915,-5537,1},{4915,-5532,1},{4912,-5533,1},{4912,-5532,1},{4910,-5530,1}, {4903,-5538,1},{4908,-5527,1},{4912,-5518,1},{4912,-5522,1},{4910,-5527,1}, {4912,-5528,1},{4917,-5528,1},{4918,-5525,1},{4918,-5528,1},{4925,-5517,1}, {4928,-5505,1},{4935,-5508,1},{4932,-5503,1},{4933,-5500,1},{4928,-5498,1}, {4922,-5503,1},{4925,-5498,1},{4930,-5497,1},{4930,-5492,1},{4928,-5492,1}, {4928,-5488,1},{4933,-5487,1},{4935,-5488,1},{4942,-5485,1},{4940,-5482,1}, {4927,-5483,1},{4928,-5478,1},{4935,-5477,1},{4932,-5475,1},{4933,-5473,1}, {4937,-5472,1},{4938,-5468,1},{4942,-5463,1},{4943,-5465,1},{4953,-5453,1}, {4953,-5443,1},{4950,-5450,1},{4945,-5453,1},{4947,-5445,1},{4947,-5443,1}, {4945,-5447,1},{4942,-5445,1},{4937,-5448,1},{4933,-5445,1},{4927,-5448,1}, {4930,-5445,1},{4932,-5440,1},{4937,-5440,1},{4943,-5435,1},{4943,-5430,1}, {4940,-5430,1},{4942,-5427,1},{4940,-5425,1},{4942,-5422,1},{4937,-5423,1}, {4940,-5420,1},{4940,-5418,1},{4937,-5418,1},{4938,-5417,1},{4945,-5413,1}, {4947,-5408,1},{4945,-5407,1},{4948,-5403,1},{4947,-5403,1},{4947,-5398,1}, {4943,-5403,1},{4945,-5395,1},{4943,-5387,1},{4940,-5385,1},{4938,-5373,1}, {4937,-5372,1},{4937,-5367,1},{4933,-5367,1},{4932,-5362,1},{4933,-5358,1}, {4930,-5358,1},{4928,-5355,1},{4928,-5348,1},{4925,-5345,1},{4923,-5345,1}, {4918,-5353,1},{4915,-5353,1},{4912,-5357,1},{4912,-5362,1},{4910,-5358,1}, {4903,-5360,1},{4902,-5377,1},{4903,-5383,1},{4902,-5383,1},{4902,-5382,1}, {4902,-5372,1},{4898,-5380,1},{4898,-5388,1},{4897,-5388,1},{4895,-5383,1}, {4892,-5382,1},{4890,-5397,1},{4888,-5397,1},{4890,-5390,1},{4888,-5388,1}, {4885,-5397,1},{4883,-5397,1},{4883,-5405,1},{4882,-5410,1},{4882,-5413,1}, {4880,-5418,1},{4878,-5417,1},{4877,-5420,1},{4877,-5415,1},{4878,-5412,1}, {4882,-5400,1},{4880,-5398,1},{4877,-5400,1},{4877,-5397,1},{4878,-5398,1}, {4882,-5395,1},{4883,-5390,1},{4883,-5383,1},{4882,-5380,1},{4878,-5387,1}, {4880,-5392,1},{4877,-5390,1},{4878,-5385,1},{4877,-5385,1},{4873,-5390,1}, {4875,-5397,1},{4873,-5402,1},{4872,-5393,1},{4870,-5393,1},{4867,-5395,1}, {4865,-5390,1},{4862,-5393,1},{4863,-5388,1},{4868,-5378,1},{4867,-5390,1}, {4868,-5393,1},{4875,-5383,1},{4870,-5385,1},{4872,-5377,1},{4870,-5373,1}, {4870,-5375,1},{4868,-5370,1},{4865,-5373,1},{4867,-5370,1},{4870,-5362,1}, {4868,-5360,1},{4867,-5360,1},{4863,-5365,1},{4862,-5378,1},{4858,-5382,1}, {4857,-5393,1},{4853,-5395,1},{4857,-5390,1},{4857,-5372,1},{4855,-5378,1}, {4853,-5378,1},{4853,-5375,1},{4850,-5375,1},{4848,-5390,1},{4842,-5400,1}, {4843,-5408,1},{4838,-5417,1},{4835,-5413,1},{4840,-5408,1},{4840,-5400,1}, {4847,-5388,1},{4847,-5383,1},{4847,-5382,1},{4838,-5388,1},{4837,-5387,1}, {4837,-5383,1},{4838,-5385,1},{4845,-5378,1},{4848,-5377,1},{4853,-5368,1}, {4853,-5363,1},{4853,-5362,1},{4852,-5367,1},{4850,-5362,1},{4843,-5372,1}, {4845,-5365,1},{4843,-5363,1},{4852,-5358,1},{4850,-5357,1},{4848,-5358,1}, {4848,-5355,1},{4840,-5362,1},{4847,-5355,1},{4845,-5352,1},{4850,-5350,1}, {4850,-5347,1},{4858,-5347,1},{4862,-5343,1},{4862,-5333,1},{4858,-5330,1}, {4855,-5332,1},{4855,-5328,1},{4852,-5325,1},{4857,-5322,1},{4858,-5317,1}, {4863,-5315,1},{4865,-5310,1},{4870,-5307,1},{4868,-5307,1},{4867,-5302,1}, {4863,-5302,1},{4860,-5298,1},{4857,-5300,1},{4855,-5298,1},{4853,-5303,1}, {4843,-5307,1},{4840,-5310,1},{4837,-5317,1},{4835,-5318,1},{4835,-5323,1}, {4838,-5328,1},{4838,-5332,1},{4837,-5333,1},{4838,-5335,1},{4835,-5335,1}, {4830,-5338,1},{4828,-5338,1},{4827,-5345,1},{4817,-5363,1},{4817,-5370,1}, {4820,-5375,1},{4818,-5383,1},{4822,-5388,1},{4823,-5393,1},{4817,-5395,1}, {4812,-5392,1},{4808,-5392,1},{4808,-5368,1},{4807,-5367,1},{4805,-5368,1}, {4802,-5378,1},{4803,-5392,1},{4802,-5392,1},{4800,-5378,1},{4802,-5368,1}, {4805,-5360,1},{4800,-5362,1},{4790,-5370,1},{4790,-5378,1},{4788,-5372,1}, {4785,-5372,1},{4777,-5380,1},{4785,-5388,1},{4785,-5393,1},{4783,-5388,1}, {4780,-5385,1},{4772,-5383,1},{4772,-5385,1},{4765,-5378,1},{4762,-5377,1}, {4762,-5373,1},{4768,-5370,1},{4767,-5367,1},{4760,-5372,1},{4758,-5370,1}, {4760,-5367,1},{4757,-5367,1},{4757,-5363,1},{4752,-5367,1},{4755,-5362,1}, {4753,-5360,1},{4753,-5355,1},{4758,-5357,1},{4758,-5353,1},{4762,-5357,1}, {4763,-5353,1},{4762,-5352,1},{4767,-5352,1},{4768,-5348,1},{4773,-5350,1}, {4777,-5345,1},{4780,-5347,1},{4782,-5343,1},{4787,-5340,1},{4787,-5335,1}, {4790,-5337,1},{4802,-5327,1},{4803,-5318,1},{4807,-5315,1},{4803,-5310,1}, {4805,-5305,1},{4808,-5300,1},{4815,-5295,1},{4817,-5292,1},{4810,-5283,1}, {4808,-5293,1},{4805,-5295,1},{4800,-5295,1},{4792,-5305,1},{4787,-5305,1}, {4780,-5313,1},{4775,-5317,1},{4773,-5320,1},{4772,-5317,1},{4768,-5318,1}, {4768,-5315,1},{4765,-5318,1},{4760,-5327,1},{4762,-5320,1},{4758,-5325,1}, {4757,-5323,1},{4760,-5317,1},{4755,-5327,1},{4755,-5318,1},{4747,-5320,1}, {4750,-5317,1},{4747,-5315,1},{4743,-5320,1},{4743,-5313,1},{4742,-5313,1}, {4747,-5307,1},{4755,-5290,1},{4763,-5285,1},{4768,-5283,1},{4780,-5278,1}, {4777,-5275,1},{4775,-5270,1},{4770,-5270,1},{4767,-5272,1},{4765,-5265,1}, {4760,-5265,1},{4755,-5268,1},{4752,-5262,1},{4748,-5263,1},{4747,-5268,1}, {4743,-5265,1},{4740,-5270,1},{4732,-5275,1},{4730,-5280,1},{4730,-5277,1}, {4727,-5282,1},{4725,-5280,1},{4725,-5282,1},{4710,-5287,1},{4708,-5293,1}, {4707,-5285,1},{4705,-5285,1},{4705,-5287,1},{4702,-5285,1},{4700,-5290,1}, {4698,-5288,1},{4697,-5290,1},{4693,-5288,1},{4692,-5292,1},{4678,-5293,1}, {4673,-5302,1},{4665,-5308,1},{4662,-5317,1},{4665,-5323,1},{4672,-5327,1}, {4673,-5327,1},{4668,-5332,1},{4672,-5335,1},{4668,-5338,1},{4673,-5337,1}, {4662,-5353,1},{4662,-5357,1},{4665,-5362,1},{4672,-5365,1},{4675,-5360,1}, {4678,-5360,1},{4687,-5355,1},{4690,-5348,1},{4688,-5355,1},{4680,-5363,1}, {4680,-5365,1},{4682,-5365,1},{4690,-5360,1},{4692,-5355,1},{4695,-5352,1}, {4693,-5355,1},{4695,-5357,1},{4698,-5357,1},{4693,-5360,1},{4695,-5362,1}, {4698,-5360,1},{4698,-5363,1},{4707,-5357,1},{4708,-5358,1},{4713,-5350,1}, {4713,-5352,1},{4717,-5352,1},{4715,-5357,1},{4720,-5357,1},{4713,-5360,1}, {4710,-5363,1},{4715,-5363,1},{4713,-5365,1},{4708,-5368,1},{4708,-5370,1}, {4705,-5370,1},{4703,-5377,1},{4695,-5382,1},{4693,-5387,1},{4692,-5388,1}, {4687,-5393,1},{4685,-5395,1},{4683,-5402,1},{4680,-5405,1},{4682,-5418,1}, {4688,-5420,1},{4695,-5418,1},{4708,-5408,1},{4723,-5402,1},{4722,-5393,1}, {4727,-5400,1},{4732,-5400,1},{4732,-5398,1},{4732,-5397,1},{4730,-5397,1}, {4732,-5392,1},{4735,-5388,1},{4735,-5392,1},{4737,-5392,1},{4743,-5380,1}, {4743,-5385,1},{4745,-5385,1},{4743,-5392,1},{4745,-5392,1},{4752,-5388,1}, {4753,-5390,1},{4758,-5388,1},{4762,-5390,1},{4760,-5393,1},{4775,-5397,1}, {4777,-5400,1},{4782,-5400,1},{4780,-5405,1},{4780,-5407,1},{4782,-5407,1}, {4787,-5408,1},{4782,-5410,1},{4783,-5412,1},{4788,-5418,1},{4790,-5425,1}, {4788,-5425,1},{4785,-5420,1},{4778,-5422,1},{4770,-5428,1},{4770,-5433,1}, {4763,-5432,1},{4752,-5442,1},{4750,-5447,1},{4748,-5445,1},{4748,-5443,1}, {4745,-5440,1},{4742,-5443,1},{4745,-5443,1},{4745,-5447,1},{4740,-5450,1}, {4740,-5447,1},{4737,-5452,1},{4738,-5453,1},{4737,-5457,1},{4735,-5460,1}, {4737,-5462,1},{4748,-5448,1},{4758,-5442,1},{4760,-5442,1},{4738,-5462,1}, {4738,-5465,1},{4737,-5467,1},{4740,-5468,1},{4738,-5470,1},{4737,-5472,1}, {4737,-5470,1},{4735,-5473,1},{4737,-5473,1},{4737,-5475,1},{4738,-5477,1}, {4737,-5482,1},{4742,-5478,1},{4737,-5483,1},{4738,-5485,1},{4742,-5483,1}, {4735,-5488,1},{4733,-5492,1},{4730,-5493,1},{4728,-5497,1},{4728,-5498,1}, {4722,-5505,1},{4717,-5502,1},{4715,-5507,1},{4717,-5507,1},{4720,-5508,1}, {4717,-5513,1},{4717,-5508,1},{4708,-5507,1},{4708,-5510,1},{4707,-5510,1}, {4705,-5513,1},{4700,-5515,1},{4702,-5518,1},{4707,-5517,1},{4707,-5520,1}, {4700,-5518,1},{4695,-5523,1},{4693,-5523,1},{4690,-5528,1},{4690,-5537,1}, {4688,-5535,1},{4687,-5538,1},{4688,-5547,1},{4693,-5547,1},{4692,-5552,1}, {4693,-5552,1},{4693,-5553,1},{4690,-5555,1},{4692,-5557,1},{4688,-5560,1}, {4687,-5563,1},{4687,-5573,1},{4685,-5573,1},{4687,-5575,1},{4687,-5583,1}, {4692,-5597,1},{4693,-5598,1},{4698,-5597,1},{4707,-5587,1},{4708,-5582,1}, {4710,-5577,1},{4708,-5567,1},{4710,-5563,1},{4713,-5550,1},{4718,-5545,1}, {4727,-5530,1},{4740,-5527,1},{4745,-5520,1},{4748,-5510,1},{4750,-5495,1}, {4753,-5495,1},{4753,-5490,1},{4755,-5485,1},{4758,-5483,1},{4757,-5488,1}, {4760,-5485,1},{4767,-5470,1},{4767,-5477,1},{4768,-5477,1},{4767,-5478,1}, {4760,-5495,1},{4758,-5507,1},{4760,-5508,1},{4767,-5503,1},{4778,-5493,1}, {4772,-5502,1},{4768,-5503,1},{4762,-5510,1},{4758,-5512,1},{4760,-5515,1}, {4767,-5513,1},{4763,-5518,1},{4767,-5532,1},{4765,-5537,1},{4768,-5538,1}, {4770,-5535,1},{4773,-5535,1},{4772,-5538,1},{4768,-5540,1},{4772,-5543,1}, {4767,-5543,1},{4765,-5547,1},{4762,-5547,1},{4763,-5542,1},{4762,-5540,1}, {4758,-5543,1},{4758,-5538,1},{4753,-5542,1},{4752,-5540,1},{4748,-5542,1}, {4747,-5543,1},{4747,-5552,1},{4740,-5558,1},{4740,-5560,1},{4745,-5558,1}, {4743,-5567,1},{4752,-5558,1},{4753,-5563,1},{4752,-5565,1},{4752,-5563,1}, {4750,-5565,1},{4750,-5572,1},{4747,-5570,1},{4745,-5577,1},{4753,-5577,1}, {4747,-5580,1},{4747,-5583,1},{4747,-5585,1},{4747,-5588,1},{4743,-5593,1}, {4758,-5575,1},{4755,-5582,1},{4757,-5582,1},{4753,-5587,1},{4750,-5602,1}, {4747,-5610,1},{4750,-5617,1},{4752,-5617,1},{4757,-5592,1},{4767,-5563,1}, {4767,-5568,1},{4762,-5583,1},{4765,-5592,1},{4768,-5592,1},{4773,-5583,1}, {4775,-5583,1},{4780,-5580,1},{4783,-5582,1},{4787,-5577,1},{4788,-5580,1}, {4792,-5573,1},{4795,-5577,1},{4793,-5577,1},{4790,-5582,1},{4788,-5582,1}, {4787,-5583,1},{4780,-5585,1},{4777,-5590,1},{4775,-5598,1},{4770,-5605,1}, {4770,-5610,1},{4772,-5612,1},{4777,-5605,1},{4775,-5610,1},{4777,-5612,1}, {4782,-5613,1},{4783,-5615,1},{4775,-5612,1},{4772,-5617,1},{4772,-5615,1}, {4768,-5613,1},{4768,-5618,1},{4763,-5617,1},{4763,-5620,1},{4765,-5622,1}, {4763,-5623,1},{4763,-5630,1},{4770,-5628,1},{4775,-5632,1},{4770,-5633,1}, {4768,-5632,1},{4763,-5632,1},{4760,-5635,1},{4762,-5668,1},{4762,-5670,1}, {4760,-5667,1},{4758,-5663,1},{4757,-5667,1},{4760,-5673,1},{4763,-5675,1}, {4758,-5675,1},{4757,-5670,1},{4753,-5678,1},{4753,-5680,1},{4752,-5683,1}, {4753,-5685,1},{4755,-5685,1},{4753,-5687,1},{4755,-5690,1},{4758,-5700,1}, {4757,-5713,1},{4758,-5717,1},{4760,-5713,1},{4763,-5717,1},{4760,-5718,1}, {4760,-5725,1},{4758,-5730,1},{4760,-5733,1},{4763,-5733,1},{4762,-5740,1}, {4763,-5742,1},{4763,-5752,1},{4765,-5753,1},{4763,-5755,1},{4760,-5765,1}, {4763,-5767,1},{4765,-5773,1},{4762,-5777,1},{4765,-5785,1},{4765,-5792,1}, {4770,-5788,1},{4770,-5792,1},{4767,-5795,1},{4770,-5803,1},{4767,-5807,1}, {4770,-5807,1},{4767,-5820,1},{4765,-5822,1},{4767,-5828,1},{4765,-5835,1}, {4772,-5833,1},{4775,-5827,1},{4775,-5833,1},{4772,-5837,1},{4767,-5838,1}, {4763,-5843,1},{4765,-5847,1},{4765,-5850,1},{4767,-5853,1},{4763,-5853,1}, {4763,-5858,1},{4762,-5860,1},{4762,-5863,1},{4763,-5863,1},{4760,-5868,1}, {4760,-5890,1},{4757,-5897,1},{4758,-5898,1},{4757,-5912,1},{4755,-5912,1}, {4758,-5920,1},{4757,-5923,1},{4760,-5925,1},{4762,-5930,1},{4772,-5930,1}, {4775,-5928,1},{4777,-5932,1},{4782,-5933,1},{4792,-5940,129},{4793,-5932,1}, {4797,-5930,1},{4803,-5922,1},{4810,-5905,1},{4812,-5898,1},{4818,-5892,1}, {4832,-5870,1},{4837,-5867,1},{4840,-5863,1},{4843,-5858,1},{4845,-5850,1}, {4840,-5860,1},{4843,-5847,1},{4848,-5842,1},{4852,-5827,1},{4853,-5830,1}, {4852,-5838,1},{4850,-5843,1},{4852,-5847,1},{4850,-5852,1},{4852,-5855,1}, {4853,-5857,1},{4855,-5868,1},{4852,-5883,1},{4852,-5903,1},{4847,-5925,1}, {4848,-5927,1},{4852,-5923,1},{4855,-5922,1},{4860,-5913,1},{4870,-5890,1}, {4878,-5877,1},{4865,-5893,1},{4862,-5895,1},{4858,-5890,1},{4855,-5890,1}, {4858,-5885,1},{4863,-5885,1},{4857,-5882,1},{4857,-5875,1},{4857,-5872,1}, {4863,-5867,1},{4868,-5868,1},{4875,-5865,1},{4877,-5862,1},{4882,-5860,1}, {4887,-5855,1},{4893,-5850,1},{4900,-5850,1},{4903,-5845,1},{4912,-5842,1}, {4915,-5835,1},{4912,-5835,1},{4910,-5837,1},{4910,-5835,1},{4908,-5837,1}, {4905,-5837,1},{4907,-5828,1},{4905,-5815,1},{4900,-5812,1},{4898,-5807,1}, {4895,-5797,1},{4897,-5788,1},{4898,-5790,1},{4898,-5797,1},{4898,-5803,1}, {4900,-5805,1},{4903,-5810,1},{4912,-5815,1},{4913,-5812,1},{4912,-5805,1}, {4913,-5798,1},{4912,-5793,1},{4918,-5785,1},{4915,-5793,1},{4917,-5797,1}, {4918,-5792,1},{4915,-5805,1},{4915,-5810,1},{4918,-5810,1},{4918,-5798,1}, {4923,-5793,1},{4922,-5803,1},{4923,-5820,1},{4930,-5823,1},{4940,-5822,1}, {4947,-5815,1},{4955,-5802,1},{4955,-5797,1},{4953,-5793,1},{4950,-5792,1}, {4947,-5792,1},{4943,-5788,1},{4945,-5788,1},{4948,-5790,1},{4950,-5787,1}, {4945,-5775,1},{4947,-5770,1},{4950,-5778,1},{4957,-5782,1},{4953,-5785,1}, {4952,-5787,1},{4960,-5792,1},{4960,-5795,1},{4972,-5793,1},{4983,-5783,1}, {5017,-5760,1},{5022,-5760,1},{5033,-5752,1},{5037,-5753,1},{5048,-5745,1}, {5053,-5738,1},{5058,-5737,1},{5062,-5732,1},{5060,-5723,1},{5062,-5715,1}, {5063,-5717,1},{5062,-5727,1},{5063,-5728,1},{5063,-5723,1},{5063,-5730,1}, {5068,-5733,1},{5070,-5740,1},{5072,-5735,1},{5072,-5732,1},{5073,-5723,1}, {5075,-5720,1},{5075,-5715,1},{5078,-5708,1},{5087,-5698,1},{5092,-5697,1}, {5092,-5693,1},{5093,-5695,1},{5093,-5698,1},{5095,-5698,1},{5095,-5697,1}, {5097,-5697,1},{5097,-5703,1},{5100,-5705,1},{5102,-5708,1},{5102,-5700,1}, {5100,-5700,1},{5098,-5698,1},{5102,-5690,1},{5105,-5698,1},{5107,-5690,1}, {5112,-5687,1},{5113,-5678,1},{5118,-5680,1},{5120,-5675,1},{5123,-5680,1}, {5127,-5675,1},{5132,-5672,1},{5137,-5662,1},{5142,-5647,1},{5142,-5642,1}, {5152,-5617,1},{5152,-5612,1},{5163,-5590,1},{5162,-5587,1},{5162,-5582,1}, {5157,-5588,1},{5155,-5588,1},{5155,-5583,1},{5150,-5588,1},{5150,-5573,1}, {5147,-5562,1},{5148,-5560,1},{5150,-5568,1},{5153,-5568,1},{5153,-5572,1}, {5155,-5573,1},{5158,-5572,1},{5155,-5572,1},{5158,-5568,1},{5160,-5562,1}, {5318,-8108,129},{5312,-8097,1},{5307,-8095,1},{5302,-8085,1},{5293,-8077,1}, {5277,-8067,1},{5270,-8070,1},{5275,-8102,1},{5283,-8127,1},{5287,-8138,1}, {5287,-8150,1},{5293,-8177,1},{5297,-8193,1},{5302,-8207,1},{5312,-8197,1}, {5318,-8185,1},{5318,-8175,1},{5320,-8167,1},{5322,-8137,1},{5320,-8125,1}, {5320,-8110,1},{5318,-8108,1},{4983,-6350,129},{4978,-6313,1},{4973,-6295,1}, {4970,-6290,1},{4970,-6285,1},{4967,-6275,1},{4967,-6270,1},{4963,-6263,1}, {4958,-6252,1},{4950,-6240,1},{4945,-6225,1},{4942,-6220,1},{4938,-6208,1}, {4938,-6202,1},{4935,-6193,1},{4935,-6188,1},{4932,-6182,1},{4928,-6182,1}, {4928,-6178,1},{4925,-6178,1},{4915,-6167,1},{4912,-6170,1},{4908,-6170,1}, {4908,-6177,1},{4907,-6182,1},{4908,-6190,1},{4907,-6195,1},{4908,-6213,1}, {4907,-6223,1},{4907,-6227,1},{4913,-6245,1},{4915,-6272,1},{4923,-6308,1}, {4928,-6323,1},{4932,-6328,1},{4938,-6358,1},{4940,-6357,1},{4945,-6362,1}, {4950,-6362,1},{4955,-6368,1},{4963,-6383,1},{4972,-6403,1},{4975,-6423,1}, {4978,-6432,1},{4982,-6437,1},{4982,-6438,1},{4980,-6438,1},{4978,-6438,1}, {4987,-6452,1},{4990,-6445,1},{4993,-6425,1},{4995,-6420,1},{4992,-6403,1}, {4988,-6393,1},{4983,-6350,1},{4685,-6032,129},{4672,-6033,1},{4668,-6035,1}, {4667,-6040,1},{4665,-6035,1},{4663,-6038,1},{4660,-6035,1},{4655,-6040,1}, {4640,-6047,1},{4637,-6052,1},{4628,-6055,1},{4625,-6058,1},{4620,-6062,1}, {4620,-6058,1},{4627,-6055,1},{4632,-6047,1},{4633,-6042,1},{4632,-6042,1}, {4628,-6042,1},{4610,-6065,1},{4608,-6070,1},{4610,-6072,1},{4608,-6075,1}, {4605,-6087,1},{4608,-6085,1},{4608,-6088,1},{4598,-6097,1},{4595,-6108,1}, {4595,-6112,1},{4592,-6112,1},{4593,-6100,1},{4597,-6098,1},{4602,-6090,1}, {4603,-6087,1},{4603,-6082,1},{4607,-6075,1},{4605,-6073,1},{4598,-6080,1}, {4593,-6080,1},{4590,-6088,1},{4590,-6107,1},{4588,-6105,1},{4587,-6108,1}, {4585,-6108,1},{4588,-6097,1},{4585,-6092,1},{4585,-6097,1},{4582,-6093,1}, {4582,-6100,1},{4582,-6102,1},{4577,-6112,1},{4575,-6113,1},{4573,-6112,1}, {4570,-6115,1},{4568,-6108,1},{4570,-6105,1},{4575,-6092,1},{4572,-6082,1}, {4570,-6080,1},{4565,-6085,1},{4563,-6083,1},{4565,-6083,1},{4567,-6077,1}, {4568,-6077,1},{4567,-6073,1},{4570,-6073,1},{4572,-6073,1},{4575,-6075,1}, {4578,-6072,1},{4580,-6067,1},{4587,-6060,1},{4592,-6052,1},{4593,-6047,1}, {4600,-6040,1},{4595,-6052,1},{4595,-6055,1},{4593,-6057,1},{4592,-6062,1}, {4588,-6068,1},{4590,-6072,1},{4592,-6075,1},{4593,-6078,1},{4595,-6078,1}, {4610,-6048,1},{4618,-6038,1},{4622,-6030,1},{4623,-6030,1},{4622,-6033,1}, {4622,-6040,1},{4610,-6055,1},{4607,-6063,1},{4607,-6065,1},{4623,-6047,1}, {4632,-6035,1},{4632,-6028,1},{4627,-6025,1},{4623,-6020,1},{4615,-6028,1}, {4617,-6023,1},{4613,-6022,1},{4615,-6020,1},{4620,-6020,1},{4625,-6013,1}, {4623,-6003,1},{4620,-6008,1},{4620,-5995,1},{4615,-5993,1},{4618,-5988,1}, {4617,-5982,1},{4615,-5985,1},{4610,-5988,1},{4608,-5988,1},{4610,-5982,1}, {4603,-5990,1},{4603,-5995,1},{4602,-5997,1},{4600,-5992,1},{4600,-5982,1}, {4598,-5983,1},{4595,-5980,1},{4593,-5980,1},{4593,-5988,1},{4590,-5993,1}, {4590,-5997,1},{4587,-6000,1},{4587,-6013,1},{4583,-6017,1},{4582,-6007,1}, {4580,-6007,1},{4577,-6017,1},{4570,-6023,1},{4568,-6032,1},{4563,-6040,1}, {4563,-6047,1},{4563,-6048,1},{4562,-6050,1},{4560,-6060,1},{4557,-6067,1}, {4557,-6073,1},{4558,-6075,1},{4560,-6085,1},{4562,-6085,1},{4563,-6087,1}, {4562,-6090,1},{4562,-6095,1},{4560,-6097,1},{4562,-6102,1},{4558,-6102,1}, {4555,-6117,1},{4558,-6115,1},{4558,-6120,1},{4560,-6122,1},{4558,-6122,1}, {4557,-6127,1},{4553,-6128,1},{4555,-6132,1},{4567,-6143,1},{4583,-6150,1}, {4588,-6148,1},{4593,-6152,1},{4603,-6155,1},{4607,-6148,1},{4615,-6145,1}, {4620,-6137,1},{4623,-6128,1},{4642,-6115,1},{4645,-6110,1},{4652,-6107,1}, {4657,-6103,1},{4660,-6105,1},{4663,-6103,1},{4663,-6102,1},{4658,-6102,1}, {4665,-6097,1},{4680,-6087,1},{4682,-6080,1},{4688,-6070,1},{4702,-6062,1}, {4703,-6058,1},{4702,-6053,1},{4700,-6048,1},{4702,-6042,1},{4702,-6038,1}, {4700,-6038,1},{4690,-6050,1},{4690,-6045,1},{4687,-6045,1},{4687,-6032,1}, {4685,-6032,1},{4763,-6140,129},{4763,-6138,1},{4762,-6138,1},{4760,-6143,1}, {4755,-6150,1},{4755,-6155,1},{4762,-6147,1},{4762,-6155,1},{4742,-6185,1}, {4743,-6178,1},{4747,-6175,1},{4748,-6172,1},{4753,-6167,1},{4755,-6160,1}, {4748,-6170,1},{4740,-6177,1},{4740,-6183,1},{4735,-6187,1},{4733,-6193,1}, {4727,-6195,1},{4727,-6192,1},{4727,-6190,1},{4723,-6182,1},{4727,-6178,1}, {4723,-6180,1},{4722,-6185,1},{4723,-6188,1},{4722,-6195,1},{4723,-6202,1}, {4732,-6195,1},{4740,-6193,1},{4743,-6185,1},{4763,-6153,1},{4763,-6140,1}, {4703,-6398,129},{4695,-6400,1},{4688,-6397,1},{4685,-6402,1},{4682,-6403,1}, {4680,-6405,1},{4682,-6407,1},{4678,-6408,1},{4675,-6407,1},{4675,-6397,1}, {4672,-6398,1},{4665,-6388,1},{4662,-6388,1},{4662,-6392,1},{4660,-6390,1}, {4660,-6387,1},{4663,-6387,1},{4662,-6383,1},{4658,-6383,1},{4657,-6385,1}, {4652,-6388,1},{4650,-6393,1},{4648,-6393,1},{4650,-6388,1},{4650,-6385,1}, {4652,-6383,1},{4650,-6382,1},{4647,-6383,1},{4645,-6383,1},{4643,-6372,1}, {4645,-6370,1},{4648,-6372,1},{4650,-6373,1},{4652,-6370,1},{4653,-6373,1}, {4655,-6372,1},{4657,-6365,1},{4652,-6348,1},{4648,-6350,1},{4647,-6345,1}, {4650,-6342,1},{4652,-6345,1},{4650,-6332,1},{4645,-6330,1},{4642,-6323,1}, {4640,-6323,1},{4643,-6322,1},{4642,-6307,1},{4643,-6285,1},{4642,-6283,1}, {4643,-6282,1},{4645,-6275,1},{4643,-6258,1},{4645,-6270,1},{4648,-6247,1}, {4648,-6210,1},{4645,-6197,1},{4635,-6217,1},{4635,-6223,1},{4638,-6228,1}, {4633,-6227,1},{4635,-6235,1},{4632,-6233,1},{4630,-6240,1},{4628,-6237,1}, {4627,-6237,1},{4627,-6250,1},{4625,-6243,1},{4622,-6242,1},{4622,-6252,1}, {4623,-6258,1},{4620,-6252,1},{4618,-6250,1},{4620,-6258,1},{4618,-6257,1}, {4618,-6260,1},{4617,-6253,1},{4612,-6255,1},{4612,-6248,1},{4613,-6248,1}, {4615,-6252,1},{4615,-6247,1},{4608,-6245,1},{4605,-6247,1},{4605,-6253,1}, {4603,-6257,1},{4602,-6250,1},{4602,-6247,1},{4600,-6247,1},{4597,-6253,1}, {4597,-6273,1},{4595,-6275,1},{4597,-6283,1},{4600,-6288,1},{4600,-6287,1}, {4605,-6293,1},{4605,-6288,1},{4607,-6290,1},{4607,-6303,1},{4610,-6292,1}, {4613,-6287,1},{4615,-6288,1},{4613,-6295,1},{4615,-6295,1},{4618,-6293,1}, {4620,-6295,1},{4618,-6298,1},{4617,-6298,1},{4622,-6312,1},{4625,-6307,1}, {4627,-6307,1},{4627,-6305,1},{4628,-6303,1},{4630,-6300,1},{4632,-6297,1}, {4630,-6305,1},{4623,-6312,1},{4627,-6320,1},{4622,-6317,1},{4620,-6327,1}, {4618,-6323,1},{4620,-6318,1},{4622,-6317,1},{4620,-6313,1},{4617,-6322,1}, {4613,-6323,1},{4618,-6342,1},{4622,-6348,1},{4620,-6352,1},{4622,-6362,1}, {4625,-6370,1},{4628,-6370,1},{4633,-6382,1},{4635,-6380,1},{4633,-6378,1}, {4637,-6380,1},{4635,-6372,1},{4638,-6377,1},{4638,-6373,1},{4640,-6375,1}, {4640,-6388,1},{4642,-6393,1},{4640,-6398,1},{4640,-6412,1},{4643,-6413,1}, {4645,-6412,1},{4645,-6410,1},{4653,-6412,1},{4655,-6407,1},{4657,-6408,1}, {4657,-6405,1},{4658,-6408,1},{4663,-6407,1},{4658,-6413,1},{4663,-6422,1}, {4663,-6440,1},{4670,-6442,1},{4675,-6438,1},{4682,-6427,1},{4690,-6423,1}, {4695,-6418,1},{4702,-6405,1},{4707,-6400,1},{4703,-6398,1},{4588,-8165,129}, {4587,-8165,1},{4580,-8170,1},{4580,-8160,1},{4580,-8158,1},{4577,-8160,1}, {4572,-8165,1},{4570,-8165,1},{4565,-8170,1},{4560,-8172,1},{4560,-8175,1}, {4555,-8180,1},{4552,-8185,1},{4553,-8192,1},{4557,-8193,1},{4555,-8195,1}, {4557,-8200,1},{4560,-8192,1},{4558,-8192,1},{4558,-8190,1},{4562,-8187,1}, {4568,-8175,1},{4570,-8177,1},{4568,-8185,1},{4562,-8193,1},{4560,-8198,1}, {4557,-8202,1},{4558,-8210,1},{4560,-8210,1},{4562,-8218,1},{4565,-8227,1}, {4567,-8228,1},{4567,-8232,1},{4570,-8237,1},{4570,-8247,1},{4575,-8253,1}, {4577,-8263,1},{4580,-8268,1},{4578,-8272,1},{4580,-8275,1},{4578,-8277,1}, {4580,-8282,1},{4580,-8283,1},{4580,-8287,1},{4582,-8295,1},{4583,-8295,1}, {4583,-8302,1},{4585,-8303,1},{4585,-8305,1},{4587,-8310,1},{4587,-8320,1}, {4588,-8323,1},{4593,-8322,1},{4597,-8318,1},{4595,-8312,1},{4592,-8308,1}, {4597,-8305,1},{4595,-8302,1},{4593,-8298,1},{4595,-8295,1},{4597,-8295,1}, {4597,-8287,1},{4600,-8285,1},{4598,-8280,1},{4597,-8282,1},{4592,-8285,1}, {4590,-8282,1},{4588,-8278,1},{4585,-8275,1},{4587,-8267,1},{4583,-8263,1}, {4585,-8262,1},{4585,-8258,1},{4578,-8253,1},{4585,-8252,1},{4587,-8253,1}, {4585,-8257,1},{4587,-8255,1},{4588,-8260,1},{4590,-8258,1},{4592,-8253,1}, {4595,-8250,1},{4593,-8247,1},{4592,-8247,1},{4597,-8243,1},{4598,-8230,1}, {4593,-8228,1},{4595,-8222,1},{4583,-8217,1},{4585,-8213,1},{4593,-8210,1}, {4597,-8203,1},{4598,-8198,1},{4598,-8193,1},{4595,-8188,1},{4590,-8190,1}, {4588,-8183,1},{4587,-8182,1},{4578,-8185,1},{4573,-8178,1},{4582,-8178,1}, {4590,-8170,1},{4590,-8167,1},{4588,-8165,1},{6828,-6723,129},{6825,-6733,1}, {6818,-6733,1},{6815,-6738,1},{6817,-6757,1},{6817,-6760,1},{6812,-6740,1}, {6817,-6730,1},{6825,-6727,1},{6828,-6713,1},{6830,-6702,1},{6827,-6695,1}, {6823,-6677,1},{6817,-6685,1},{6813,-6682,1},{6807,-6697,1},{6802,-6695,1}, {6810,-6683,1},{6813,-6672,1},{6813,-6667,1},{6805,-6668,1},{6798,-6673,1}, {6802,-6665,1},{6815,-6660,1},{6813,-6632,1},{6808,-6637,1},{6808,-6648,1}, {6808,-6627,1},{6808,-6625,1},{6803,-6622,1},{6802,-6618,1},{6798,-6632,1}, {6790,-6640,1},{6787,-6640,1},{6785,-6647,1},{6788,-6667,1},{6787,-6675,1}, {6782,-6650,1},{6783,-6640,1},{6777,-6638,1},{6790,-6633,1},{6795,-6628,1}, {6798,-6618,1},{6798,-6613,1},{6803,-6595,1},{6815,-6597,1},{6817,-6592,1}, {6810,-6585,1},{6808,-6590,1},{6807,-6585,1},{6795,-6603,1},{6788,-6593,1}, {6780,-6602,1},{6763,-6600,1},{6777,-6593,1},{6782,-6595,1},{6787,-6580,1}, {6792,-6577,1},{6795,-6582,1},{6797,-6580,1},{6797,-6577,1},{6797,-6573,1}, {6800,-6567,1},{6800,-6547,1},{6797,-6545,1},{6785,-6552,1},{6778,-6562,1}, {6775,-6557,1},{6770,-6543,1},{6760,-6535,1},{6760,-6532,1},{6770,-6537,1}, {6778,-6555,1},{6782,-6548,1},{6792,-6542,1},{6795,-6518,1},{6798,-6513,1}, {6803,-6517,1},{6802,-6512,1},{6803,-6508,1},{6805,-6502,1},{6798,-6472,1}, {6797,-6473,1},{6793,-6485,1},{6793,-6507,1},{6792,-6495,1},{6783,-6505,1}, {6785,-6512,1},{6778,-6513,1},{6783,-6505,1},{6782,-6502,1},{6778,-6500,1}, {6775,-6505,1},{6775,-6513,1},{6772,-6517,1},{6765,-6520,1},{6763,-6518,1}, {6765,-6517,1},{6772,-6513,1},{6773,-6502,1},{6777,-6502,1},{6778,-6492,1}, {6778,-6482,1},{6772,-6482,1},{6768,-6487,1},{6770,-6478,1},{6782,-6475,1}, {6783,-6465,1},{6780,-6448,1},{6775,-6445,1},{6777,-6438,1},{6777,-6437,1}, {6770,-6440,1},{6770,-6458,1},{6767,-6463,1},{6770,-6437,1},{6773,-6432,1}, {6767,-6420,1},{6763,-6422,1},{6762,-6428,1},{6760,-6422,1},{6762,-6408,1}, {6760,-6407,1},{6755,-6410,1},{6753,-6403,1},{6752,-6405,1},{6752,-6410,1}, {6748,-6413,1},{6747,-6423,1},{6747,-6443,1},{6745,-6430,1},{6747,-6412,1}, {6747,-6402,1},{6742,-6395,1},{6737,-6393,1},{6733,-6395,1},{6733,-6400,1}, {6730,-6390,1},{6732,-6437,1},{6737,-6477,1},{6735,-6480,1},{6733,-6472,1}, {6730,-6442,1},{6730,-6423,1},{6725,-6435,1},{6725,-6460,1},{6722,-6478,1}, {6720,-6482,1},{6718,-6478,1},{6723,-6458,1},{6723,-6428,1},{6727,-6417,1}, {6727,-6397,1},{6722,-6402,1},{6720,-6418,1},{6713,-6462,1},{6708,-6468,1}, {6700,-6468,1},{6702,-6463,1},{6708,-6462,1},{6712,-6455,1},{6715,-6432,1}, {6718,-6415,1},{6718,-6397,1},{6720,-6390,1},{6723,-6388,1},{6723,-6380,1}, {6722,-6375,1},{6723,-6368,1},{6723,-6358,1},{6722,-6345,1},{6717,-6345,1}, {6710,-6353,1},{6703,-6375,1},{6700,-6380,1},{6697,-6377,1},{6700,-6377,1}, {6705,-6368,1},{6708,-6350,1},{6715,-6340,1},{6720,-6342,1},{6728,-6333,1}, {6732,-6327,1},{6730,-6322,1},{6728,-6322,1},{6725,-6328,1},{6728,-6317,1}, {6732,-6320,1},{6733,-6313,1},{6730,-6302,1},{6722,-6297,1},{6717,-6305,1}, {6713,-6322,1},{6710,-6328,1},{6702,-6322,1},{6697,-6323,1},{6690,-6355,1}, {6685,-6355,1},{6683,-6360,1},{6683,-6380,1},{6682,-6382,1},{6680,-6362,1}, {6682,-6353,1},{6683,-6348,1},{6688,-6350,1},{6692,-6345,1},{6690,-6343,1}, {6682,-6340,1},{6672,-6345,1},{6670,-6342,1},{6682,-6332,1},{6687,-6335,1}, {6690,-6333,1},{6690,-6322,1},{6693,-6313,1},{6693,-6302,1},{6697,-6295,1}, {6697,-6285,1},{6682,-6282,1},{6663,-6290,1},{6667,-6283,1},{6672,-6283,1}, {6678,-6273,1},{6683,-6277,1},{6693,-6277,1},{6695,-6273,1},{6695,-6257,1}, {6690,-6250,1},{6685,-6250,1},{6682,-6242,1},{6678,-6240,1},{6673,-6232,1}, {6677,-6230,1},{6685,-6242,1},{6688,-6245,1},{6693,-6242,1},{6695,-6227,1}, {6703,-6228,1},{6705,-6212,1},{6703,-6200,1},{6692,-6210,1},{6690,-6207,1}, {6690,-6202,1},{6697,-6195,1},{6697,-6185,1},{6693,-6185,1},{6695,-6178,1}, {6693,-6173,1},{6690,-6175,1},{6690,-6180,1},{6690,-6197,1},{6687,-6200,1}, {6688,-6182,1},{6687,-6177,1},{6688,-6172,1},{6687,-6160,1},{6683,-6165,1}, {6682,-6173,1},{6682,-6155,1},{6678,-6148,1},{6675,-6147,1},{6673,-6138,1}, {6663,-6127,1},{6660,-6128,1},{6657,-6135,1},{6658,-6140,1},{6653,-6145,1}, {6655,-6160,1},{6665,-6173,1},{6665,-6188,1},{6670,-6200,1},{6665,-6202,1}, {6663,-6212,1},{6663,-6218,1},{6660,-6212,1},{6665,-6198,1},{6660,-6178,1}, {6648,-6158,1},{6645,-6172,1},{6643,-6178,1},{6645,-6187,1},{6642,-6198,1}, {6640,-6193,1},{6642,-6183,1},{6640,-6172,1},{6642,-6155,1},{6638,-6152,1}, {6637,-6147,1},{6637,-6152,1},{6633,-6155,1},{6635,-6160,1},{6632,-6168,1}, {6633,-6178,1},{6630,-6182,1},{6628,-6190,1},{6633,-6208,1},{6632,-6212,1}, {6632,-6220,1},{6633,-6222,1},{6640,-6223,1},{6642,-6255,1},{6645,-6260,1}, {6643,-6263,1},{6640,-6260,1},{6642,-6270,1},{6640,-6272,1},{6638,-6263,1}, {6640,-6248,1},{6637,-6248,1},{6633,-6240,1},{6630,-6232,1},{6622,-6267,1}, {6623,-6268,1},{6625,-6275,1},{6630,-6278,1},{6633,-6287,1},{6633,-6290,1}, {6628,-6282,1},{6623,-6282,1},{6620,-6272,1},{6620,-6262,1},{6622,-6253,1}, {6620,-6248,1},{6618,-6237,1},{6617,-6237,1},{6615,-6230,1},{6615,-6212,1}, {6613,-6212,1},{6613,-6217,1},{6610,-6217,1},{6610,-6205,1},{6608,-6208,1}, {6607,-6202,1},{6607,-6208,1},{6605,-6210,1},{6605,-6198,1},{6602,-6195,1}, {6602,-6198,1},{6602,-6205,1},{6600,-6208,1},{6602,-6220,1},{6597,-6230,1}, {6602,-6238,1},{6602,-6247,1},{6603,-6252,1},{6602,-6260,1},{6605,-6270,1}, {6603,-6278,1},{6607,-6285,1},{6613,-6290,1},{6613,-6302,1},{6612,-6307,1}, {6612,-6295,1},{6612,-6292,1},{6605,-6288,1},{6602,-6280,1},{6602,-6258,1}, {6600,-6252,1},{6598,-6248,1},{6597,-6242,1},{6593,-6238,1},{6592,-6245,1}, {6590,-6243,1},{6590,-6237,1},{6587,-6238,1},{6582,-6228,1},{6578,-6248,1}, {6580,-6253,1},{6582,-6253,1},{6580,-6258,1},{6582,-6267,1},{6587,-6280,1}, {6592,-6285,1},{6588,-6287,1},{6585,-6282,1},{6583,-6282,1},{6582,-6275,1}, {6582,-6270,1},{6575,-6257,1},{6572,-6258,1},{6577,-6285,1},{6572,-6280,1}, {6570,-6268,1},{6568,-6265,1},{6567,-6260,1},{6558,-6265,1},{6560,-6267,1}, {6563,-6267,1},{6563,-6272,1},{6558,-6273,1},{6560,-6280,1},{6563,-6287,1}, {6573,-6288,1},{6575,-6293,1},{6575,-6297,1},{6572,-6292,1},{6563,-6288,1}, {6558,-6297,1},{6558,-6300,1},{6563,-6303,1},{6565,-6317,1},{6563,-6317,1}, {6563,-6320,1},{6585,-6343,1},{6593,-6347,1},{6593,-6350,1},{6588,-6353,1}, {6573,-6337,1},{6572,-6338,1},{6567,-6335,1},{6568,-6347,1},{6567,-6360,1}, {6568,-6370,1},{6567,-6373,1},{6565,-6367,1},{6563,-6337,1},{6560,-6332,1}, {6553,-6335,1},{6552,-6347,1},{6553,-6350,1},{6560,-6358,1},{6558,-6362,1}, {6555,-6357,1},{6553,-6362,1},{6552,-6353,1},{6548,-6353,1},{6548,-6345,1}, {6548,-6342,1},{6543,-6328,1},{6543,-6343,1},{6547,-6357,1},{6547,-6365,1}, {6540,-6347,1},{6540,-6338,1},{6538,-6352,1},{6538,-6347,1},{6537,-6348,1}, {6532,-6337,1},{6530,-6338,1},{6530,-6333,1},{6528,-6338,1},{6530,-6345,1}, {6527,-6345,1},{6527,-6335,1},{6525,-6333,1},{6523,-6345,1},{6522,-6332,1}, {6518,-6333,1},{6520,-6337,1},{6518,-6352,1},{6517,-6343,1},{6515,-6348,1}, {6513,-6333,1},{6512,-6337,1},{6510,-6343,1},{6507,-6337,1},{6505,-6347,1}, {6505,-6338,1},{6503,-6340,1},{6503,-6347,1},{6500,-6345,1},{6497,-6353,1}, {6495,-6350,1},{6488,-6355,1},{6492,-6365,1},{6493,-6363,1},{6495,-6365,1}, {6497,-6360,1},{6500,-6362,1},{6497,-6373,1},{6498,-6382,1},{6502,-6382,1}, {6502,-6377,1},{6503,-6375,1},{6503,-6365,1},{6505,-6370,1},{6503,-6382,1}, {6503,-6387,1},{6510,-6388,1},{6517,-6380,1},{6518,-6380,1},{6518,-6387,1}, {6510,-6395,1},{6510,-6402,1},{6512,-6407,1},{6507,-6408,1},{6505,-6412,1}, {6510,-6420,1},{6510,-6428,1},{6515,-6422,1},{6520,-6408,1},{6520,-6423,1}, {6515,-6432,1},{6520,-6440,1},{6525,-6438,1},{6528,-6433,1},{6530,-6435,1}, {6528,-6438,1},{6527,-6440,1},{6528,-6440,1},{6538,-6425,1},{6543,-6423,1}, {6542,-6428,1},{6535,-6435,1},{6533,-6442,1},{6530,-6447,1},{6518,-6447,1}, {6510,-6455,1},{6513,-6458,1},{6512,-6463,1},{6515,-6462,1},{6515,-6465,1}, {6520,-6462,1},{6517,-6465,1},{6515,-6473,1},{6520,-6468,1},{6523,-6472,1}, {6525,-6465,1},{6525,-6472,1},{6527,-6473,1},{6523,-6480,1},{6525,-6485,1}, {6528,-6490,1},{6528,-6485,1},{6530,-6492,1},{6532,-6482,1},{6532,-6477,1}, {6533,-6468,1},{6533,-6492,1},{6538,-6477,1},{6540,-6467,1},{6543,-6458,1}, {6542,-6445,1},{6548,-6442,1},{6545,-6447,1},{6545,-6452,1},{6547,-6452,1}, {6545,-6462,1},{6547,-6465,1},{6545,-6467,1},{6543,-6470,1},{6542,-6482,1}, {6542,-6487,1},{6540,-6497,1},{6537,-6500,1},{6538,-6507,1},{6542,-6513,1}, {6547,-6513,1},{6548,-6517,1},{6552,-6493,1},{6558,-6487,1},{6558,-6478,1}, {6560,-6483,1},{6563,-6482,1},{6565,-6472,1},{6567,-6480,1},{6565,-6487,1}, {6555,-6497,1},{6553,-6515,1},{6555,-6522,1},{6560,-6520,1},{6555,-6532,1}, {6558,-6533,1},{6560,-6530,1},{6563,-6530,1},{6563,-6513,1},{6567,-6510,1}, {6570,-6497,1},{6572,-6480,1},{6573,-6480,1},{6572,-6502,1},{6565,-6517,1}, {6567,-6537,1},{6567,-6545,1},{6578,-6538,1},{6573,-6547,1},{6575,-6550,1}, {6583,-6545,1},{6592,-6535,1},{6600,-6493,1},{6597,-6480,1},{6597,-6473,1}, {6603,-6485,1},{6610,-6478,1},{6622,-6472,1},{6628,-6455,1},{6632,-6440,1}, {6635,-6435,1},{6633,-6440,1},{6635,-6447,1},{6632,-6453,1},{6630,-6458,1}, {6627,-6472,1},{6620,-6483,1},{6612,-6485,1},{6608,-6493,1},{6607,-6503,1}, {6602,-6523,1},{6603,-6528,1},{6602,-6530,1},{6598,-6538,1},{6597,-6577,1}, {6595,-6588,1},{6597,-6593,1},{6605,-6597,1},{6610,-6590,1},{6610,-6583,1}, {6617,-6563,1},{6630,-6552,1},{6632,-6547,1},{6632,-6553,1},{6635,-6547,1}, {6638,-6548,1},{6633,-6555,1},{6627,-6557,1},{6618,-6570,1},{6617,-6578,1}, {6613,-6585,1},{6610,-6597,1},{6613,-6615,1},{6617,-6620,1},{6620,-6620,1}, {6622,-6627,1},{6625,-6623,1},{6623,-6618,1},{6628,-6615,1},{6623,-6627,1}, {6625,-6632,1},{6627,-6632,1},{6625,-6635,1},{6627,-6643,1},{6620,-6637,1}, {6622,-6650,1},{6628,-6655,1},{6627,-6647,1},{6632,-6652,1},{6635,-6647,1}, {6635,-6657,1},{6637,-6658,1},{6642,-6643,1},{6638,-6660,1},{6637,-6663,1}, {6638,-6677,1},{6638,-6672,1},{6642,-6670,1},{6645,-6668,1},{6645,-6672,1}, {6643,-6673,1},{6645,-6682,1},{6650,-6678,1},{6653,-6680,1},{6653,-6685,1}, {6658,-6672,1},{6660,-6675,1},{6658,-6687,1},{6665,-6702,1},{6665,-6707,1}, {6663,-6705,1},{6657,-6688,1},{6653,-6700,1},{6653,-6703,1},{6652,-6705,1}, {6653,-6715,1},{6652,-6715,1},{6652,-6708,1},{6648,-6710,1},{6650,-6720,1}, {6653,-6718,1},{6657,-6733,1},{6660,-6733,1},{6657,-6743,1},{6660,-6750,1}, {6662,-6752,1},{6662,-6755,1},{6660,-6752,1},{6657,-6752,1},{6660,-6763,1}, {6658,-6763,1},{6657,-6775,1},{6655,-6770,1},{6655,-6737,1},{6652,-6728,1}, {6647,-6727,1},{6645,-6715,1},{6638,-6713,1},{6637,-6717,1},{6640,-6723,1}, {6640,-6735,1},{6643,-6735,1},{6642,-6742,1},{6638,-6732,1},{6635,-6720,1}, {6630,-6712,1},{6630,-6725,1},{6628,-6727,1},{6628,-6733,1},{6632,-6737,1}, {6630,-6740,1},{6630,-6742,1},{6632,-6745,1},{6635,-6745,1},{6635,-6750,1}, {6638,-6750,1},{6642,-6763,1},{6645,-6763,1},{6643,-6768,1},{6645,-6773,1}, {6647,-6782,1},{6652,-6785,1},{6648,-6788,1},{6652,-6792,1},{6650,-6800,1}, {6645,-6787,1},{6642,-6785,1},{6635,-6777,1},{6632,-6773,1},{6628,-6770,1}, {6625,-6773,1},{6623,-6767,1},{6618,-6755,1},{6618,-6748,1},{6615,-6747,1}, {6612,-6730,1},{6605,-6725,1},{6603,-6717,1},{6600,-6722,1},{6600,-6732,1}, {6598,-6725,1},{6595,-6723,1},{6593,-6717,1},{6592,-6720,1},{6593,-6728,1}, {6592,-6735,1},{6595,-6742,1},{6592,-6742,1},{6590,-6747,1},{6590,-6760,1}, {6593,-6768,1},{6597,-6775,1},{6593,-6773,1},{6588,-6770,1},{6588,-6780,1}, {6590,-6793,1},{6598,-6798,1},{6600,-6803,1},{6607,-6803,1},{6608,-6797,1}, {6615,-6823,1},{6622,-6828,1},{6622,-6835,1},{6617,-6833,1},{6618,-6838,1}, {6627,-6845,1},{6630,-6850,1},{6630,-6853,1},{6622,-6848,1},{6620,-6853,1}, {6618,-6885,1},{6617,-6858,1},{6618,-6853,1},{6618,-6845,1},{6613,-6838,1}, {6607,-6825,1},{6608,-6822,1},{6612,-6827,1},{6612,-6822,1},{6613,-6822,1}, {6612,-6813,1},{6608,-6810,1},{6608,-6803,1},{6598,-6807,1},{6598,-6810,1}, {6602,-6810,1},{6602,-6813,1},{6602,-6820,1},{6598,-6812,1},{6597,-6812,1}, {6597,-6820,1},{6603,-6835,1},{6600,-6832,1},{6595,-6818,1},{6597,-6830,1}, {6595,-6832,1},{6592,-6833,1},{6590,-6828,1},{6592,-6820,1},{6590,-6818,1}, {6592,-6817,1},{6593,-6815,1},{6592,-6813,1},{6587,-6815,1},{6585,-6818,1}, {6583,-6808,1},{6580,-6820,1},{6578,-6810,1},{6578,-6802,1},{6580,-6795,1}, {6578,-6788,1},{6582,-6787,1},{6582,-6782,1},{6577,-6782,1},{6575,-6795,1}, {6570,-6798,1},{6570,-6787,1},{6563,-6787,1},{6562,-6792,1},{6563,-6798,1}, {6562,-6798,1},{6560,-6792,1},{6558,-6795,1},{6560,-6798,1},{6557,-6807,1}, {6555,-6802,1},{6557,-6797,1},{6557,-6795,1},{6548,-6803,1},{6558,-6787,1}, {6558,-6780,1},{6563,-6773,1},{6567,-6757,1},{6565,-6748,1},{6567,-6747,1}, {6567,-6733,1},{6562,-6725,1},{6558,-6733,1},{6557,-6728,1},{6553,-6727,1}, {6555,-6735,1},{6553,-6738,1},{6553,-6742,1},{6552,-6740,1},{6552,-6733,1}, {6550,-6733,1},{6550,-6747,1},{6547,-6737,1},{6545,-6735,1},{6547,-6728,1}, {6545,-6723,1},{6547,-6715,1},{6547,-6708,1},{6545,-6705,1},{6543,-6712,1}, {6543,-6705,1},{6537,-6712,1},{6537,-6732,1},{6535,-6733,1},{6535,-6742,1}, {6533,-6742,1},{6532,-6733,1},{6533,-6730,1},{6535,-6727,1},{6533,-6720,1}, {6532,-6712,1},{6527,-6717,1},{6525,-6708,1},{6523,-6715,1},{6522,-6717,1}, {6522,-6712,1},{6520,-6712,1},{6522,-6703,1},{6520,-6698,1},{6523,-6693,1}, {6510,-6697,1},{6510,-6705,1},{6507,-6710,1},{6508,-6698,1},{6508,-6695,1}, {6505,-6697,1},{6507,-6690,1},{6510,-6688,1},{6515,-6683,1},{6518,-6673,1}, {6512,-6675,1},{6510,-6683,1},{6508,-6680,1},{6505,-6680,1},{6505,-6692,1}, {6503,-6685,1},{6507,-6677,1},{6505,-6677,1},{6500,-6678,1},{6500,-6673,1}, {6497,-6675,1},{6493,-6683,1},{6493,-6677,1},{6492,-6673,1},{6487,-6677,1}, {6485,-6673,1},{6477,-6670,1},{6478,-6663,1},{6482,-6668,1},{6495,-6665,1}, {6503,-6668,1},{6502,-6653,1},{6495,-6653,1},{6498,-6648,1},{6493,-6648,1}, {6492,-6638,1},{6493,-6637,1},{6493,-6633,1},{6487,-6632,1},{6490,-6627,1}, {6487,-6615,1},{6477,-6620,1},{6477,-6633,1},{6475,-6620,1},{6468,-6622,1}, {6468,-6615,1},{6478,-6612,1},{6485,-6602,1},{6478,-6602,1},{6475,-6603,1}, {6470,-6603,1},{6472,-6600,1},{6477,-6600,1},{6475,-6595,1},{6467,-6590,1}, {6463,-6582,1},{6465,-6580,1},{6473,-6590,1},{6475,-6585,1},{6480,-6593,1}, {6483,-6588,1},{6483,-6592,1},{6488,-6595,1},{6488,-6590,1},{6487,-6587,1}, {6488,-6585,1},{6487,-6578,1},{6480,-6578,1},{6485,-6573,1},{6482,-6567,1}, {6480,-6567,1},{6473,-6575,1},{6468,-6570,1},{6473,-6572,1},{6477,-6565,1}, {6472,-6555,1},{6470,-6558,1},{6463,-6558,1},{6460,-6567,1},{6458,-6575,1}, {6457,-6572,1},{6450,-6573,1},{6448,-6570,1},{6450,-6555,1},{6448,-6550,1}, {6447,-6550,1},{6448,-6547,1},{6453,-6537,1},{6450,-6533,1},{6448,-6537,1}, {6447,-6542,1},{6443,-6540,1},{6448,-6533,1},{6447,-6528,1},{6448,-6528,1}, {6452,-6527,1},{6453,-6522,1},{6448,-6523,1},{6452,-6513,1},{6450,-6512,1}, {6448,-6518,1},{6448,-6508,1},{6442,-6508,1},{6438,-6518,1},{6440,-6525,1}, {6438,-6527,1},{6437,-6520,1},{6435,-6518,1},{6430,-6522,1},{6428,-6530,1}, {6430,-6538,1},{6432,-6552,1},{6430,-6567,1},{6430,-6562,1},{6430,-6543,1}, {6428,-6542,1},{6428,-6547,1},{6427,-6543,1},{6427,-6553,1},{6425,-6555,1}, {6425,-6533,1},{6422,-6537,1},{6420,-6525,1},{6420,-6532,1},{6415,-6538,1}, {6415,-6533,1},{6418,-6527,1},{6415,-6520,1},{6413,-6520,1},{6413,-6517,1}, {6412,-6518,1},{6410,-6512,1},{6407,-6520,1},{6407,-6505,1},{6403,-6513,1}, {6403,-6522,1},{6402,-6512,1},{6402,-6510,1},{6402,-6503,1},{6402,-6495,1}, {6400,-6492,1},{6397,-6495,1},{6398,-6488,1},{6402,-6482,1},{6402,-6477,1}, {6400,-6475,1},{6403,-6470,1},{6403,-6467,1},{6397,-6463,1},{6397,-6470,1}, {6390,-6488,1},{6387,-6488,1},{6385,-6493,1},{6385,-6497,1},{6382,-6498,1}, {6377,-6495,1},{6375,-6475,1},{6375,-6470,1},{6367,-6452,1},{6362,-6452,1}, {6360,-6458,1},{6358,-6453,1},{6357,-6455,1},{6350,-6452,1},{6347,-6455,1}, {6345,-6450,1},{6342,-6450,1},{6340,-6455,1},{6342,-6460,1},{6342,-6463,1}, {6338,-6458,1},{6337,-6452,1},{6330,-6452,1},{6332,-6462,1},{6330,-6457,1}, {6328,-6448,1},{6325,-6453,1},{6327,-6458,1},{6325,-6462,1},{6323,-6463,1}, {6325,-6465,1},{6328,-6472,1},{6330,-6472,1},{6332,-6477,1},{6337,-6478,1}, {6338,-6475,1},{6340,-6480,1},{6350,-6483,1},{6357,-6493,1},{6363,-6495,1}, {6367,-6507,1},{6373,-6512,1},{6377,-6520,1},{6378,-6520,1},{6377,-6515,1}, {6380,-6520,1},{6380,-6530,1},{6373,-6518,1},{6372,-6513,1},{6365,-6508,1}, {6360,-6498,1},{6355,-6510,1},{6345,-6505,1},{6343,-6515,1},{6343,-6505,1}, {6340,-6512,1},{6340,-6503,1},{6335,-6495,1},{6323,-6490,1},{6325,-6495,1}, {6332,-6505,1},{6330,-6507,1},{6327,-6500,1},{6325,-6502,1},{6325,-6507,1}, {6328,-6512,1},{6328,-6515,1},{6323,-6508,1},{6323,-6500,1},{6322,-6497,1}, {6320,-6500,1},{6322,-6505,1},{6322,-6508,1},{6317,-6505,1},{6318,-6492,1}, {6317,-6492,1},{6317,-6487,1},{6313,-6490,1},{6313,-6482,1},{6312,-6478,1}, {6308,-6477,1},{6308,-6487,1},{6307,-6477,1},{6303,-6477,1},{6303,-6482,1}, {6302,-6478,1},{6298,-6477,1},{6297,-6485,1},{6295,-6477,1},{6292,-6473,1}, {6295,-6470,1},{6290,-6463,1},{6290,-6472,1},{6287,-6477,1},{6287,-6488,1}, {6290,-6497,1},{6293,-6508,1},{6300,-6513,1},{6297,-6515,1},{6292,-6512,1}, {6295,-6518,1},{6297,-6525,1},{6300,-6527,1},{6297,-6528,1},{6292,-6518,1}, {6290,-6520,1},{6272,-6498,1},{6263,-6493,1},{6265,-6498,1},{6263,-6498,1}, {6262,-6498,1},{6258,-6507,1},{6257,-6518,1},{6267,-6530,1},{6270,-6527,1}, {6268,-6533,1},{6267,-6533,1},{6268,-6535,1},{6275,-6532,1},{6278,-6525,1}, {6277,-6533,1},{6278,-6537,1},{6282,-6537,1},{6283,-6525,1},{6283,-6533,1}, {6293,-6533,1},{6282,-6540,1},{6282,-6543,1},{6283,-6545,1},{6282,-6547,1}, {6282,-6557,1},{6283,-6563,1},{6290,-6567,1},{6288,-6570,1},{6290,-6573,1}, {6293,-6575,1},{6298,-6568,1},{6305,-6573,1},{6297,-6575,1},{6295,-6582,1}, {6293,-6582,1},{6287,-6578,1},{6292,-6588,1},{6292,-6595,1},{6293,-6597,1}, {6303,-6583,1},{6300,-6593,1},{6297,-6597,1},{6300,-6605,1},{6302,-6607,1}, {6305,-6605,1},{6303,-6613,1},{6308,-6617,1},{6313,-6628,1},{6312,-6628,1}, {6308,-6622,1},{6303,-6620,1},{6298,-6608,1},{6295,-6610,1},{6293,-6617,1}, {6297,-6622,1},{6297,-6627,1},{6300,-6630,1},{6300,-6640,1},{6303,-6647,1}, {6307,-6647,1},{6307,-6652,1},{6308,-6653,1},{6308,-6650,1},{6315,-6657,1}, {6320,-6655,1},{6328,-6668,1},{6333,-6663,1},{6337,-6665,1},{6328,-6673,1}, {6320,-6660,1},{6317,-6662,1},{6307,-6657,1},{6307,-6660,1},{6307,-6663,1}, {6310,-6668,1},{6305,-6663,1},{6300,-6655,1},{6298,-6655,1},{6303,-6665,1}, {6302,-6665,1},{6303,-6668,1},{6308,-6677,1},{6318,-6675,1},{6327,-6680,1}, {6325,-6685,1},{6317,-6680,1},{6315,-6685,1},{6315,-6688,1},{6325,-6702,1}, {6328,-6695,1},{6333,-6702,1},{6340,-6698,1},{6340,-6702,1},{6333,-6703,1}, {6328,-6702,1},{6327,-6705,1},{6328,-6712,1},{6332,-6717,1},{6328,-6715,1}, {6328,-6720,1},{6337,-6735,1},{6347,-6742,1},{6342,-6742,1},{6343,-6748,1}, {6353,-6755,1},{6355,-6762,1},{6358,-6763,1},{6362,-6768,1},{6365,-6767,1}, {6363,-6777,1},{6365,-6778,1},{6368,-6780,1},{6368,-6783,1},{6373,-6783,1}, {6377,-6792,1},{6373,-6792,1},{6372,-6787,1},{6368,-6785,1},{6363,-6780,1}, {6358,-6782,1},{6355,-6780,1},{6340,-6767,1},{6337,-6768,1},{6337,-6772,1}, {6340,-6782,1},{6345,-6785,1},{6350,-6795,1},{6355,-6803,1},{6355,-6808,1}, {6360,-6813,1},{6358,-6813,1},{6360,-6818,1},{6360,-6825,1},{6363,-6822,1}, {6368,-6827,1},{6368,-6832,1},{6363,-6827,1},{6363,-6828,1},{6365,-6837,1}, {6372,-6843,1},{6375,-6853,1},{6373,-6855,1},{6377,-6875,1},{6373,-6872,1}, {6373,-6880,1},{6377,-6892,1},{6375,-6900,1},{6363,-6882,1},{6362,-6882,1}, {6362,-6885,1},{6360,-6885,1},{6358,-6880,1},{6355,-6875,1},{6345,-6855,1}, {6343,-6845,1},{6342,-6850,1},{6337,-6838,1},{6328,-6827,1},{6327,-6828,1}, {6325,-6823,1},{6322,-6820,1},{6320,-6823,1},{6318,-6818,1},{6315,-6815,1}, {6317,-6808,1},{6313,-6792,1},{6307,-6798,1},{6307,-6792,1},{6312,-6790,1}, {6312,-6785,1},{6308,-6778,1},{6310,-6762,1},{6307,-6762,1},{6305,-6772,1}, {6302,-6778,1},{6298,-6773,1},{6295,-6777,1},{6297,-6772,1},{6300,-6773,1}, {6303,-6768,1},{6303,-6760,1},{6305,-6757,1},{6300,-6750,1},{6297,-6765,1}, {6292,-6767,1},{6297,-6757,1},{6297,-6752,1},{6298,-6747,1},{6295,-6740,1}, {6293,-6742,1},{6295,-6737,1},{6293,-6735,1},{6288,-6728,1},{6288,-6725,1}, {6285,-6737,1},{6285,-6728,1},{6287,-6722,1},{6285,-6718,1},{6283,-6718,1}, {6282,-6723,1},{6282,-6718,1},{6282,-6717,1},{6282,-6712,1},{6282,-6710,1}, {6280,-6708,1},{6275,-6712,1},{6277,-6705,1},{6275,-6705,1},{6273,-6702,1}, {6268,-6705,1},{6270,-6692,1},{6265,-6700,1},{6268,-6682,1},{6267,-6673,1}, {6263,-6677,1},{6265,-6668,1},{6262,-6672,1},{6262,-6662,1},{6258,-6662,1}, {6257,-6657,1},{6252,-6653,1},{6250,-6648,1},{6242,-6652,1},{6245,-6643,1}, {6245,-6635,1},{6242,-6640,1},{6238,-6633,1},{6237,-6640,1},{6235,-6643,1}, {6235,-6647,1},{6233,-6647,1},{6227,-6632,1},{6232,-6637,1},{6233,-6635,1}, {6235,-6632,1},{6233,-6627,1},{6232,-6625,1},{6233,-6623,1},{6235,-6623,1}, {6233,-6620,1},{6230,-6615,1},{6225,-6615,1},{6227,-6625,1},{6222,-6605,1}, {6225,-6602,1},{6222,-6593,1},{6220,-6593,1},{6213,-6605,1},{6207,-6603,1}, {6208,-6613,1},{6213,-6617,1},{6212,-6620,1},{6210,-6620,1},{6212,-6617,1}, {6203,-6610,1},{6200,-6613,1},{6200,-6607,1},{6195,-6603,1},{6197,-6600,1}, {6192,-6595,1},{6188,-6597,1},{6188,-6605,1},{6187,-6607,1},{6185,-6628,1}, {6187,-6640,1},{6190,-6648,1},{6190,-6655,1},{6193,-6658,1},{6192,-6662,1}, {6193,-6667,1},{6197,-6662,1},{6197,-6670,1},{6202,-6675,1},{6202,-6683,1}, {6205,-6693,1},{6202,-6692,1},{6202,-6697,1},{6205,-6702,1},{6203,-6710,1}, {6210,-6723,1},{6207,-6727,1},{6207,-6732,1},{6212,-6735,1},{6213,-6733,1}, {6215,-6738,1},{6213,-6748,1},{6215,-6753,1},{6217,-6758,1},{6215,-6765,1}, {6217,-6775,1},{6217,-6783,1},{6220,-6780,1},{6222,-6783,1},{6218,-6787,1}, {6222,-6798,1},{6220,-6802,1},{6222,-6808,1},{6222,-6812,1},{6222,-6825,1}, {6227,-6862,1},{6230,-6872,1},{6233,-6872,1},{6233,-6882,1},{6237,-6882,1}, {6238,-6885,1},{6237,-6888,1},{6238,-6897,1},{6237,-6900,1},{6238,-6903,1}, {6245,-6923,1},{6252,-6932,1},{6262,-6928,1},{6262,-6930,1},{6253,-6938,1}, {6260,-6940,1},{6262,-6945,1},{6255,-6943,1},{6255,-6945,1},{6267,-6960,1}, {6268,-6953,1},{6267,-6948,1},{6270,-6948,1},{6270,-6943,1},{6272,-6947,1}, {6270,-6955,1},{6273,-6955,1},{6275,-6940,1},{6277,-6938,1},{6277,-6947,1}, {6277,-6950,1},{6277,-6957,1},{6278,-6962,1},{6275,-6967,1},{6275,-6970,1}, {6277,-6968,1},{6278,-6973,1},{6282,-6983,1},{6278,-6983,1},{6277,-6977,1}, {6273,-6977,1},{6277,-6982,1},{6275,-6990,1},{6280,-6993,1},{6277,-6997,1}, {6275,-7003,1},{6275,-7025,1},{6278,-7037,1},{6287,-7050,1},{6290,-7088,1}, {6292,-7087,1},{6293,-7077,1},{6295,-7085,1},{6295,-7103,1},{6297,-7103,1}, {6297,-7093,1},{6300,-7097,1},{6303,-7093,1},{6302,-7100,1},{6298,-7102,1}, {6298,-7107,1},{6298,-7115,1},{6303,-7113,1},{6303,-7102,1},{6310,-7093,1}, {6313,-7082,1},{6313,-7083,1},{6312,-7092,1},{6313,-7093,1},{6317,-7092,1}, {6315,-7098,1},{6310,-7098,1},{6307,-7103,1},{6307,-7113,1},{6310,-7115,1}, {6300,-7123,1},{6302,-7128,1},{6303,-7125,1},{6303,-7127,1},{6305,-7140,1}, {6307,-7142,1},{6312,-7140,1},{6310,-7145,1},{6313,-7160,1},{6318,-7172,1}, {6320,-7167,1},{6323,-7175,1},{6325,-7165,1},{6327,-7165,1},{6327,-7167,1}, {6325,-7175,1},{6327,-7177,1},{6327,-7173,1},{6328,-7177,1},{6332,-7175,1}, {6335,-7182,1},{6335,-7173,1},{6342,-7177,1},{6338,-7180,1},{6338,-7193,1}, {6343,-7198,1},{6340,-7200,1},{6340,-7208,1},{6342,-7208,1},{6342,-7207,1}, {6345,-7215,1},{6343,-7205,1},{6345,-7203,1},{6342,-7168,1},{6342,-7162,1}, {6345,-7157,1},{6347,-7157,1},{6348,-7142,1},{6352,-7140,1},{6353,-7130,1}, {6357,-7127,1},{6358,-7128,1},{6360,-7123,1},{6360,-7132,1},{6357,-7133,1}, {6357,-7142,1},{6360,-7137,1},{6363,-7138,1},{6363,-7142,1},{6362,-7140,1}, {6360,-7145,1},{6358,-7145,1},{6358,-7158,1},{6360,-7158,1},{6362,-7155,1}, {6363,-7148,1},{6365,-7158,1},{6372,-7153,1},{6370,-7158,1},{6372,-7158,1}, {6372,-7162,1},{6370,-7167,1},{6365,-7160,1},{6365,-7163,1},{6368,-7172,1}, {6370,-7168,1},{6375,-7168,1},{6375,-7172,1},{6368,-7175,1},{6372,-7177,1}, {6375,-7177,1},{6378,-7183,1},{6378,-7190,1},{6382,-7190,1},{6380,-7197,1}, {6375,-7200,1},{6377,-7193,1},{6375,-7193,1},{6375,-7185,1},{6365,-7192,1}, {6365,-7197,1},{6368,-7193,1},{6372,-7195,1},{6372,-7197,1},{6367,-7203,1}, {6373,-7207,1},{6372,-7210,1},{6373,-7215,1},{6377,-7220,1},{6368,-7222,1}, {6368,-7232,1},{6373,-7232,1},{6377,-7237,1},{6378,-7232,1},{6377,-7225,1}, {6380,-7227,1},{6387,-7222,1},{6388,-7218,1},{6388,-7213,1},{6390,-7210,1}, {6390,-7218,1},{6390,-7223,1},{6395,-7223,1},{6392,-7228,1},{6388,-7225,1}, {6390,-7232,1},{6387,-7233,1},{6383,-7240,1},{6380,-7237,1},{6378,-7237,1}, {6378,-7253,1},{6380,-7253,1},{6382,-7245,1},{6385,-7258,1},{6387,-7260,1}, {6385,-7267,1},{6390,-7265,1},{6392,-7267,1},{6395,-7260,1},{6402,-7260,1}, {6402,-7268,1},{6408,-7267,1},{6402,-7270,1},{6398,-7265,1},{6397,-7270,1}, {6397,-7273,1},{6400,-7275,1},{6403,-7288,1},{6403,-7287,1},{6405,-7288,1}, {6407,-7293,1},{6408,-7292,1},{6410,-7287,1},{6415,-7290,1},{6418,-7297,1}, {6418,-7308,1},{6422,-7305,1},{6427,-7313,1},{6428,-7310,1},{6430,-7322,1}, {6433,-7323,1},{6430,-7327,1},{6432,-7332,1},{6428,-7327,1},{6427,-7328,1}, {6427,-7338,1},{6433,-7338,1},{6435,-7335,1},{6438,-7333,1},{6435,-7328,1}, {6437,-7327,1},{6440,-7335,1},{6437,-7338,1},{6437,-7342,1},{6442,-7347,1}, {6445,-7343,1},{6445,-7335,1},{6447,-7330,1},{6445,-7340,1},{6447,-7342,1}, {6448,-7342,1},{6452,-7330,1},{6455,-7325,1},{6458,-7317,1},{6462,-7317,1}, {6458,-7322,1},{6460,-7327,1},{6467,-7330,1},{6463,-7335,1},{6458,-7330,1}, {6453,-7330,1},{6450,-7347,1},{6457,-7348,1},{6455,-7342,1},{6457,-7340,1}, {6458,-7345,1},{6460,-7343,1},{6458,-7357,1},{6460,-7358,1},{6467,-7365,1}, {6465,-7367,1},{6462,-7365,1},{6458,-7368,1},{6457,-7365,1},{6457,-7372,1}, {6453,-7375,1},{6460,-7388,1},{6460,-7393,1},{6450,-7385,1},{6448,-7378,1}, {6447,-7382,1},{6448,-7385,1},{6448,-7388,1},{6447,-7387,1},{6445,-7390,1}, {6448,-7397,1},{6443,-7397,1},{6440,-7393,1},{6438,-7398,1},{6433,-7400,1}, {6433,-7410,1},{6435,-7412,1},{6437,-7417,1},{6437,-7410,1},{6440,-7410,1}, {6442,-7408,1},{6447,-7417,1},{6447,-7410,1},{6443,-7405,1},{6445,-7405,1}, {6453,-7413,1},{6452,-7395,1},{6455,-7402,1},{6457,-7417,1},{6458,-7412,1}, {6458,-7400,1},{6463,-7408,1},{6473,-7405,1},{6475,-7410,1},{6473,-7413,1}, {6470,-7410,1},{6468,-7412,1},{6467,-7418,1},{6467,-7422,1},{6462,-7422,1}, {6458,-7423,1},{6463,-7430,1},{6465,-7427,1},{6468,-7430,1},{6468,-7433,1}, {6463,-7433,1},{6467,-7442,1},{6458,-7435,1},{6457,-7438,1},{6460,-7443,1}, {6462,-7442,1},{6463,-7453,1},{6467,-7455,1},{6473,-7468,1},{6475,-7468,1}, {6485,-7457,1},{6483,-7448,1},{6487,-7452,1},{6487,-7457,1},{6490,-7455,1}, {6490,-7462,1},{6490,-7467,1},{6487,-7463,1},{6487,-7472,1},{6485,-7473,1}, {6480,-7470,1},{6477,-7472,1},{6480,-7482,1},{6478,-7483,1},{6480,-7495,1}, {6478,-7498,1},{6477,-7495,1},{6475,-7485,1},{6470,-7482,1},{6467,-7467,1}, {6455,-7447,1},{6453,-7452,1},{6455,-7460,1},{6453,-7465,1},{6452,-7453,1}, {6450,-7457,1},{6452,-7458,1},{6452,-7462,1},{6448,-7460,1},{6447,-7450,1}, {6445,-7455,1},{6442,-7455,1},{6442,-7462,1},{6440,-7462,1},{6440,-7467,1}, {6437,-7468,1},{6440,-7475,1},{6438,-7480,1},{6443,-7493,1},{6442,-7497,1}, {6442,-7500,1},{6450,-7517,1},{6447,-7518,1},{6445,-7515,1},{6445,-7520,1}, {6443,-7520,1},{6447,-7525,1},{6447,-7530,1},{6452,-7542,1},{6453,-7553,1}, {6457,-7557,1},{6457,-7570,1},{6462,-7580,1},{6460,-7585,1},{6457,-7578,1}, {6457,-7583,1},{6453,-7582,1},{6447,-7565,1},{6445,-7563,1},{6447,-7573,1}, {6443,-7570,1},{6445,-7573,1},{6448,-7587,1},{6448,-7592,1},{6447,-7587,1}, {6443,-7580,1},{6443,-7582,1},{6438,-7573,1},{6437,-7573,1},{6438,-7582,1}, {6437,-7583,1},{6438,-7592,1},{6438,-7595,1},{6440,-7597,1},{6437,-7607,1}, {6438,-7612,1},{6437,-7617,1},{6437,-7613,1},{6435,-7617,1},{6435,-7637,1}, {6432,-7632,1},{6430,-7618,1},{6428,-7632,1},{6432,-7643,1},{6432,-7648,1}, {6430,-7648,1},{6430,-7643,1},{6428,-7638,1},{6427,-7648,1},{6430,-7650,1}, {6430,-7653,1},{6430,-7660,1},{6428,-7665,1},{6428,-7668,1},{6430,-7670,1}, {6428,-7673,1},{6423,-7672,1},{6422,-7667,1},{6418,-7667,1},{6420,-7677,1}, {6420,-7683,1},{6423,-7683,1},{6427,-7697,1},{6425,-7698,1},{6430,-7712,1}, {6428,-7715,1},{6425,-7738,1},{6428,-7737,1},{6430,-7745,1},{6430,-7738,1}, {6432,-7740,1},{6430,-7745,1},{6432,-7755,1},{6435,-7748,1},{6435,-7755,1}, {6438,-7765,1},{6432,-7765,1},{6435,-7777,1},{6437,-7778,1},{6438,-7788,1}, {6440,-7790,1},{6440,-7783,1},{6443,-7785,1},{6440,-7795,1},{6442,-7800,1}, {6445,-7802,1},{6447,-7797,1},{6450,-7807,1},{6453,-7807,1},{6457,-7818,1}, {6458,-7817,1},{6458,-7813,1},{6462,-7817,1},{6465,-7817,1},{6465,-7820,1}, {6470,-7817,1},{6470,-7830,1},{6472,-7818,1},{6475,-7818,1},{6478,-7812,1}, {6480,-7812,1},{6482,-7807,1},{6485,-7807,1},{6490,-7813,1},{6497,-7813,1}, {6502,-7798,1},{6505,-7797,1},{6510,-7775,1},{6515,-7763,1},{6515,-7747,1}, {6518,-7732,1},{6520,-7732,1},{6525,-7738,1},{6532,-7752,1},{6538,-7747,1}, {6535,-7733,1},{6537,-7728,1},{6547,-7743,1},{6547,-7733,1},{6547,-7723,1}, {6545,-7727,1},{6545,-7720,1},{6543,-7712,1},{6540,-7708,1},{6540,-7697,1}, {6542,-7695,1},{6543,-7690,1},{6542,-7682,1},{6540,-7677,1},{6542,-7667,1}, {6528,-7610,1},{6528,-7603,1},{6527,-7602,1},{6522,-7578,1},{6515,-7573,1}, {6512,-7555,1},{6505,-7542,1},{6497,-7543,1},{6493,-7552,1},{6493,-7567,1}, {6492,-7560,1},{6485,-7558,1},{6483,-7545,1},{6482,-7547,1},{6480,-7552,1}, {6478,-7553,1},{6477,-7545,1},{6472,-7538,1},{6472,-7530,1},{6473,-7528,1}, {6477,-7535,1},{6483,-7537,1},{6492,-7535,1},{6492,-7540,1},{6487,-7547,1}, {6488,-7548,1},{6488,-7557,1},{6490,-7548,1},{6493,-7547,1},{6495,-7538,1}, {6498,-7538,1},{6498,-7535,1},{6495,-7527,1},{6498,-7530,1},{6500,-7525,1}, {6505,-7523,1},{6507,-7520,1},{6510,-7518,1},{6510,-7527,1},{6505,-7527,1}, {6500,-7535,1},{6510,-7547,1},{6518,-7560,1},{6518,-7572,1},{6523,-7573,1}, {6525,-7583,1},{6525,-7590,1},{6527,-7588,1},{6530,-7595,1},{6532,-7595,1}, {6530,-7572,1},{6532,-7567,1},{6535,-7563,1},{6532,-7560,1},{6530,-7560,1}, {6527,-7557,1},{6525,-7522,1},{6527,-7510,1},{6532,-7508,1},{6540,-7510,1}, {6537,-7497,1},{6540,-7487,1},{6538,-7482,1},{6538,-7475,1},{6543,-7473,1}, {6542,-7467,1},{6540,-7470,1},{6538,-7467,1},{6537,-7468,1},{6535,-7467,1}, {6533,-7452,1},{6540,-7435,1},{6547,-7430,1},{6548,-7417,1},{6552,-7418,1}, {6553,-7410,1},{6553,-7403,1},{6550,-7400,1},{6553,-7385,1},{6552,-7373,1}, {6548,-7373,1},{6545,-7367,1},{6547,-7358,1},{6545,-7348,1},{6558,-7357,1}, {6560,-7363,1},{6565,-7362,1},{6567,-7368,1},{6568,-7370,1},{6572,-7370,1}, {6572,-7365,1},{6577,-7372,1},{6582,-7382,1},{6583,-7395,1},{6588,-7405,1}, {6598,-7422,1},{6610,-7445,1},{6613,-7447,1},{6622,-7435,1},{6630,-7408,1}, {6635,-7397,1},{6635,-7390,1},{6638,-7390,1},{6652,-7353,1},{6655,-7343,1}, {6665,-7335,1},{6672,-7310,1},{6668,-7263,1},{6668,-7210,1},{6660,-7170,1}, {6655,-7135,1},{6662,-7135,129},{6670,-7205,1},{6670,-7218,1},{6672,-7230,1}, {6672,-7273,1},{6675,-7298,1},{6682,-7300,1},{6693,-7288,1},{6703,-7282,1}, {6708,-7267,1},{6708,-7247,1},{6712,-7237,1},{6717,-7228,1},{6725,-7225,1}, {6727,-7220,1},{6733,-7237,1},{6737,-7235,1},{6747,-7243,1},{6750,-7250,1}, {6753,-7242,1},{6757,-7247,1},{6762,-7248,1},{6763,-7250,1},{6763,-7260,1}, {6770,-7268,1},{6775,-7258,1},{6778,-7262,1},{6782,-7268,1},{6788,-7277,1}, {6785,-7285,1},{6790,-7290,1},{6793,-7288,1},{6792,-7295,1},{6802,-7290,1}, {6813,-7298,1},{6823,-7300,1},{6823,-7303,1},{6820,-7305,1},{6822,-7310,1}, {6822,-7315,1},{6823,-7317,1},{6823,-7322,1},{6825,-7318,1},{6827,-7322,1}, {6828,-7328,1},{6827,-7333,1},{6825,-7332,1},{6825,-7337,1},{6827,-7342,1}, {6828,-7350,1},{6832,-7338,1},{6832,-7330,1},{6835,-7328,1},{6837,-7332,1}, {6838,-7322,1},{6840,-7328,1},{6837,-7335,1},{6833,-7335,1},{6833,-7348,1}, {6832,-7347,1},{6828,-7353,1},{6827,-7362,1},{6827,-7358,1},{6825,-7362,1}, {6827,-7365,1},{6827,-7368,1},{6830,-7365,1},{6828,-7360,1},{6830,-7360,1}, {6832,-7373,1},{6835,-7385,1},{6838,-7388,1},{6842,-7395,1},{6845,-7388,1}, {6850,-7387,1},{6853,-7373,1},{6857,-7382,1},{6858,-7375,1},{6862,-7372,1}, {6862,-7377,1},{6862,-7382,1},{6865,-7370,1},{6867,-7380,1},{6868,-7377,1}, {6872,-7388,1},{6870,-7398,1},{6872,-7400,1},{6873,-7412,1},{6872,-7418,1}, {6868,-7417,1},{6868,-7410,1},{6867,-7405,1},{6863,-7402,1},{6855,-7388,1}, {6852,-7392,1},{6850,-7398,1},{6850,-7403,1},{6853,-7400,1},{6852,-7417,1}, {6852,-7418,1},{6853,-7423,1},{6853,-7435,1},{6858,-7442,1},{6860,-7450,1}, {6867,-7453,1},{6873,-7473,1},{6877,-7472,1},{6880,-7458,1},{6883,-7455,1}, {6885,-7465,1},{6883,-7468,1},{6882,-7473,1},{6882,-7467,1},{6880,-7463,1}, {6877,-7478,1},{6880,-7485,1},{6882,-7498,1},{6882,-7485,1},{6883,-7483,1}, {6887,-7468,1},{6890,-7470,1},{6892,-7467,1},{6893,-7470,1},{6890,-7503,1}, {6893,-7483,1},{6893,-7503,1},{6897,-7487,1},{6895,-7500,1},{6897,-7500,1}, {6900,-7493,1},{6902,-7475,1},{6900,-7480,1},{6902,-7465,1},{6905,-7467,1}, {6908,-7482,1},{6900,-7505,1},{6892,-7507,1},{6888,-7513,1},{6893,-7528,1}, {6902,-7545,1},{6898,-7558,1},{6893,-7550,1},{6888,-7560,1},{6882,-7593,1}, {6878,-7600,1},{6868,-7642,1},{6868,-7660,1},{6870,-7665,1},{6875,-7668,1}, {6882,-7657,1},{6887,-7652,1},{6888,-7655,1},{6888,-7660,1},{6892,-7665,1}, {6902,-7663,1},{6905,-7637,1},{6903,-7613,1},{6900,-7607,1},{6900,-7600,1}, {6902,-7597,1},{6905,-7582,1},{6908,-7582,1},{6908,-7577,1},{6908,-7562,1}, {6915,-7557,1},{6923,-7560,1},{6937,-7595,1},{6942,-7617,1},{6940,-7638,1}, {6945,-7642,1},{6955,-7663,1},{6958,-7662,1},{6965,-7648,1},{6962,-7622,1}, {6963,-7623,1},{6967,-7618,1},{6967,-7638,1},{6970,-7640,1},{6968,-7647,1}, {6970,-7655,1},{6968,-7663,1},{6967,-7663,1},{6967,-7652,1},{6965,-7652,1}, {6962,-7657,1},{6962,-7665,1},{6957,-7670,1},{6958,-7688,1},{6960,-7688,1}, {6963,-7682,1},{6958,-7697,1},{6960,-7703,1},{6963,-7705,1},{6963,-7718,1}, {6968,-7715,1},{6968,-7705,1},{6970,-7702,1},{6972,-7690,1},{6968,-7693,1}, {6968,-7688,1},{6972,-7680,1},{6975,-7678,1},{6977,-7683,1},{6975,-7688,1}, {6978,-7692,1},{6982,-7677,1},{6983,-7678,1},{6982,-7683,1},{6982,-7693,1}, {6982,-7707,1},{6985,-7700,1},{6985,-7708,1},{6982,-7713,1},{6983,-7723,1}, {6983,-7732,1},{6988,-7725,1},{6993,-7698,1},{6993,-7712,1},{6985,-7742,1}, {6987,-7748,1},{6985,-7750,1},{6982,-7763,1},{6982,-7750,1},{6978,-7745,1}, {6978,-7752,1},{6975,-7757,1},{6975,-7763,1},{6982,-7768,1},{7018,-7768,1}, {7025,-7780,1},{7023,-7785,1},{7027,-7788,1},{7022,-7805,1},{7025,-7813,1}, {7025,-7820,1},{7022,-7813,1},{7018,-7817,1},{7020,-7823,1},{7023,-7825,1}, {7020,-7833,1},{7022,-7840,1},{7027,-7843,1},{7030,-7853,1},{7033,-7847,1}, {7033,-7840,1},{7035,-7843,1},{7035,-7850,1},{7035,-7857,1},{7032,-7858,1}, {7035,-7867,1},{7037,-7863,1},{7037,-7870,1},{7045,-7875,1},{7043,-7882,1}, {7045,-7885,1},{7048,-7888,1},{7045,-7890,1},{7040,-7887,1},{7045,-7895,1}, {7047,-7907,1},{7048,-7905,1},{7050,-7910,1},{7052,-7903,1},{7053,-7908,1}, {7055,-7888,1},{7055,-7900,1},{7060,-7888,1},{7060,-7883,1},{7055,-7878,1}, {7055,-7872,1},{7063,-7883,1},{7062,-7888,1},{7063,-7898,1},{7068,-7902,1}, {7062,-7915,1},{7062,-7913,1},{7063,-7902,1},{7062,-7900,1},{7052,-7913,1}, {7052,-7917,1},{7050,-7913,1},{7043,-7917,1},{7045,-7935,1},{7045,-7928,1}, {7048,-7930,1},{7052,-7923,1},{7055,-7923,1},{7053,-7932,1},{7052,-7928,1}, {7047,-7932,1},{7050,-7938,1},{7048,-7942,1},{7047,-7938,1},{7043,-7940,1}, {7045,-7950,1},{7043,-7957,1},{7040,-7958,1},{7035,-7945,1},{7037,-7938,1}, {7037,-7933,1},{7032,-7922,1},{7032,-7908,1},{7033,-7905,1},{7030,-7892,1}, {7018,-7877,1},{7007,-7875,1},{7005,-7868,1},{7000,-7867,1},{6993,-7868,1}, {6990,-7878,1},{6988,-7880,1},{6988,-7888,1},{6988,-7910,1},{6988,-7938,1}, {6987,-7950,1},{6985,-7963,1},{6985,-7970,1},{6987,-7975,1},{6997,-7988,1}, {6995,-8003,1},{7000,-8005,1},{7000,-8020,1},{7000,-8028,1},{6998,-8032,1}, {7000,-8038,1},{7005,-8057,1},{7005,-8082,1},{7007,-8088,1},{7005,-8098,1}, {7007,-8105,1},{7010,-8107,1},{7008,-8113,1},{7010,-8123,1},{7010,-8148,1}, {7013,-8173,1},{7012,-8177,1},{7007,-8170,1},{7005,-8153,1},{7000,-8143,1}, {7003,-8132,1},{6998,-8117,1},{6993,-8113,1},{6987,-8093,1},{6977,-8077,1}, {6973,-8083,1},{6972,-8095,1},{6973,-8095,1},{6977,-8110,1},{6982,-8117,1}, {6985,-8130,1},{6993,-8148,1},{6993,-8155,1},{6995,-8160,1},{6997,-8158,1}, {6997,-8175,1},{7015,-8223,1},{7015,-8232,1},{7018,-8257,1},{7030,-8300,1}, {7030,-8305,1},{7020,-8282,1},{7020,-8273,1},{7012,-8225,1},{7007,-8208,1}, {6997,-8190,1},{6993,-8172,1},{6990,-8177,1},{6987,-8173,1},{6988,-8180,1}, {6988,-8185,1},{6987,-8185,1},{6985,-8185,1},{6985,-8197,1},{6987,-8202,1}, {6983,-8208,1},{6982,-8215,1},{6982,-8212,1},{6978,-8215,1},{6980,-8225,1}, {6980,-8230,1},{6982,-8227,1},{6983,-8232,1},{6983,-8220,1},{6985,-8230,1}, {6985,-8242,1},{6983,-8245,1},{6985,-8252,1},{6988,-8263,1},{6993,-8273,1}, {6992,-8275,1},{6995,-8290,1},{7002,-8307,1},{7000,-8323,1},{7002,-8328,1}, {6998,-8335,1},{6995,-8365,1},{6998,-8408,1},{6998,-8435,1},{7000,-8452,1}, {7000,-8467,1},{7003,-8483,1},{7007,-8487,1},{7008,-8480,1},{7010,-8480,1}, {7007,-8492,1},{7007,-8498,1},{7010,-8518,1},{7010,-8567,1},{7008,-8587,1}, {7003,-8585,1},{7007,-8575,1},{7007,-8563,1},{7003,-8540,1},{6998,-8523,1}, {7002,-8558,1},{6998,-8572,1},{7000,-8582,1},{7010,-8625,1},{7023,-8655,1}, {7035,-8655,1},{7035,-8658,1},{7042,-8652,1},{7047,-8630,1},{7050,-8630,1}, {7052,-8637,1},{7048,-8633,1},{7042,-8658,1},{7038,-8663,1},{7037,-8668,1}, {7032,-8665,1},{7033,-8672,1},{7033,-8688,1},{7035,-8688,1},{7038,-8673,1}, {7040,-8678,1},{7038,-8687,1},{7038,-8693,1},{7042,-8687,1},{7042,-8698,1}, {7043,-8698,1},{7045,-8692,1},{7047,-8697,1},{7045,-8708,1},{7043,-8713,1}, {7040,-8715,1},{7038,-8725,1},{7037,-8702,1},{7035,-8697,1},{7028,-8698,1}, {7032,-8728,1},{7033,-8752,1},{7032,-8767,1},{7033,-8775,1},{7030,-8778,1}, {7030,-8765,1},{7028,-8762,1},{7023,-8780,1},{7023,-8792,1},{7030,-8800,1}, {7030,-8813,1},{7033,-8827,1},{7035,-8820,1},{7033,-8818,1},{7033,-8807,1}, {7030,-8800,1},{7030,-8788,1},{7033,-8792,1},{7035,-8802,1},{7038,-8812,1}, {7042,-8835,1},{7045,-8840,1},{7043,-8845,1},{7045,-8870,1},{7053,-8888,1}, {7062,-8900,1},{7065,-8900,1},{7080,-8933,1},{7090,-8945,1},{7093,-8937,1}, {7093,-8922,1},{7097,-8920,1},{7100,-8935,1},{7108,-8957,1},{7107,-8923,1}, {7103,-8920,1},{7103,-8913,1},{7105,-8890,1},{7103,-8882,1},{7105,-8863,1}, {7102,-8838,1},{7095,-8832,1},{7093,-8802,1},{7095,-8770,1},{7095,-8735,1}, {7100,-8730,1},{7102,-8725,1},{7098,-8703,1},{7100,-8700,1},{7103,-8732,1}, {7105,-8733,1},{7105,-8740,1},{7107,-8740,1},{7113,-8772,1},{7118,-8785,1}, {7125,-8782,1},{7127,-8785,1},{7125,-8795,1},{7120,-8808,1},{7123,-8817,1}, {7123,-8843,1},{7123,-8852,1},{7123,-8862,1},{7128,-8913,1},{7128,-8940,1}, {7132,-8982,1},{7135,-8990,1},{7138,-8992,1},{7142,-8997,1},{7152,-9002,1}, {7152,-8995,1},{7160,-9005,1},{7162,-8998,1},{7163,-9000,1},{7168,-8988,1}, {7177,-8980,1},{7178,-8992,1},{7182,-8988,1},{7182,-8995,1},{7188,-9002,1}, {7193,-9012,1},{7198,-9000,1},{7203,-8997,1},{7207,-9000,1},{7212,-8973,1}, {7212,-8967,1},{7217,-8957,1},{7218,-8962,1},{7215,-8977,1},{7217,-8980,1}, {7218,-8990,1},{7225,-8997,1},{7227,-8993,1},{7232,-8995,1},{7240,-8983,1}, {7242,-8990,1},{7243,-8990,1},{7243,-8978,1},{7243,-8990,1},{7247,-8980,1}, {7257,-8978,1},{7262,-8973,1},{7263,-8965,1},{7262,-8957,1},{7267,-8955,1}, {7267,-8947,1},{7270,-8957,1},{7278,-8957,1},{7278,-8945,1},{7275,-8940,1}, {7275,-8928,1},{7277,-8928,1},{7278,-8925,1},{7280,-8938,1},{7283,-8942,1}, {7288,-8932,1},{7292,-8930,1},{7298,-8937,1},{7302,-8927,1},{7300,-8923,1}, {7302,-8920,1},{7305,-8932,1},{7313,-8923,1},{7315,-8913,1},{7315,-8918,1}, {7318,-8915,1},{7322,-8907,1},{7322,-8888,1},{7323,-8902,1},{7325,-8905,1}, {7328,-8900,1},{7330,-8888,1},{7328,-8862,1},{7332,-8880,1},{7333,-8885,1}, {7345,-8860,1},{7347,-8848,1},{7352,-8843,1},{7357,-8828,1},{7370,-8777,1}, {7382,-8700,1},{7385,-8655,1},{7385,-8620,1},{7387,-8615,1},{7382,-8555,1}, {7382,-8523,1},{7380,-8507,1},{7373,-8483,1},{7367,-8495,1},{7353,-8543,1}, {7350,-8557,1},{7337,-8592,1},{7325,-8612,1},{7303,-8633,1},{7287,-8665,1}, {7273,-8673,1},{7268,-8668,1},{7265,-8670,1},{7253,-8640,1},{7242,-8623,1}, {7227,-8643,1},{7220,-8647,1},{7202,-8642,1},{7198,-8633,1},{7195,-8633,1}, {7178,-8612,1},{7177,-8602,1},{7167,-8585,1},{7165,-8575,1},{7160,-8570,1}, {7153,-8552,1},{7152,-8550,1},{7152,-8542,1},{7148,-8537,1},{7148,-8532,1}, {7147,-8530,1},{7147,-8523,1},{7145,-8520,1},{7143,-8505,1},{7142,-8493,1}, {7133,-8495,1},{7133,-8487,1},{7127,-8483,1},{7127,-8498,1},{7130,-8513,1}, {7128,-8525,1},{7127,-8527,1},{7127,-8525,1},{7127,-8517,1},{7125,-8525,1}, {7123,-8547,1},{7122,-8547,1},{7122,-8540,1},{7120,-8538,1},{7122,-8547,1}, {7120,-8548,1},{7118,-8550,1},{7120,-8573,1},{7118,-8577,1},{7118,-8593,1}, {7115,-8602,1},{7110,-8622,1},{7107,-8625,1},{7105,-8640,1},{7103,-8642,1}, {7100,-8675,1},{7098,-8680,1},{7097,-8662,1},{7098,-8648,1},{7100,-8627,1}, {7113,-8580,1},{7115,-8553,1},{7117,-8548,1},{7117,-8538,1},{7113,-8517,1}, {7115,-8515,1},{7115,-8508,1},{7118,-8512,1},{7117,-8500,1},{7118,-8505,1}, {7118,-8497,1},{7115,-8485,1},{7107,-8488,1},{7110,-8498,1},{7108,-8515,1}, {7107,-8497,1},{7103,-8500,1},{7100,-8493,1},{7092,-8495,1},{7092,-8480,1}, {7098,-8475,1},{7103,-8477,1},{7107,-8483,1},{7118,-8480,1},{7122,-8467,1}, {7128,-8480,1},{7138,-8473,1},{7140,-8477,1},{7143,-8470,1},{7145,-8455,1}, {7147,-8453,1},{7155,-8457,1},{7158,-8465,1},{7165,-8460,1},{7167,-8462,1}, {7168,-8478,1},{7167,-8487,1},{7163,-8483,1},{7163,-8488,1},{7167,-8528,1}, {7175,-8545,1},{7178,-8558,1},{7180,-8543,1},{7190,-8557,1},{7197,-8585,1}, {7198,-8602,1},{7202,-8605,1},{7198,-8597,1},{7203,-8598,1},{7202,-8572,1}, {7202,-8578,1},{7205,-8577,1},{7207,-8570,1},{7207,-8552,1},{7212,-8553,1}, {7213,-8540,1},{7218,-8552,1},{7222,-8550,1},{7223,-8553,1},{7222,-8543,1}, {7222,-8542,1},{7225,-8550,1},{7227,-8547,1},{7225,-8532,1},{7227,-8528,1}, {7225,-8523,1},{7223,-8522,1},{7225,-8518,1},{7225,-8510,1},{7222,-8510,1}, {7225,-8503,1},{7222,-8487,1},{7218,-8482,1},{7215,-8470,1},{7213,-8460,1}, {7210,-8447,1},{7207,-8442,1},{7202,-8427,1},{7193,-8420,1},{7202,-8417,1}, {7207,-8435,1},{7212,-8442,1},{7213,-8438,1},{7218,-8465,1},{7222,-8475,1}, {7223,-8467,1},{7223,-8477,1},{7228,-8493,1},{7235,-8482,1},{7235,-8450,1}, {7238,-8443,1},{7237,-8455,1},{7237,-8467,1},{7237,-8487,1},{7238,-8487,1}, {7240,-8485,1},{7242,-8478,1},{7245,-8478,1},{7240,-8502,1},{7237,-8500,1}, {7237,-8510,1},{7235,-8512,1},{7235,-8515,1},{7238,-8512,1},{7238,-8523,1}, {7242,-8535,1},{7247,-8552,1},{7255,-8562,1},{7257,-8548,1},{7258,-8562,1}, {7263,-8570,1},{7275,-8570,1},{7287,-8565,1},{7290,-8568,1},{7297,-8558,1}, {7297,-8550,1},{7297,-8528,1},{7288,-8487,1},{7285,-8450,1},{7278,-8425,1}, {7277,-8407,1},{7275,-8398,1},{7275,-8395,1},{7278,-8403,1},{7280,-8425,1}, {7285,-8438,1},{7290,-8458,1},{7292,-8477,1},{7297,-8495,1},{7298,-8508,1}, {7300,-8507,1},{7303,-8513,1},{7300,-8518,1},{7302,-8537,1},{7302,-8553,1}, {7313,-8540,1},{7307,-8527,1},{7305,-8513,1},{7312,-8523,1},{7313,-8518,1}, {7313,-8508,1},{7308,-8483,1},{7303,-8413,1},{7303,-8387,1},{7298,-8372,1}, {7298,-8363,1},{7303,-8378,1},{7307,-8393,1},{7305,-8410,1},{7312,-8447,1}, {7312,-8457,1},{7320,-8502,1},{7322,-8517,1},{7330,-8513,1},{7335,-8502,1}, {7338,-8480,1},{7338,-8473,1},{7330,-8465,1},{7328,-8453,1},{7323,-8442,1}, {7323,-8433,1},{7330,-8448,1},{7332,-8458,1},{7340,-8465,1},{7347,-8417,1}, {7342,-8375,1},{7332,-8368,1},{7330,-8365,1},{7330,-8360,1},{7337,-8365,1}, {7345,-8365,1},{7350,-8398,1},{7352,-8400,1},{7358,-8365,1},{7363,-8327,1}, {7367,-8320,1},{7367,-8310,1},{7365,-8305,1},{7373,-8283,1},{7372,-8242,1}, {7373,-8197,1},{7372,-8157,1},{7368,-8145,1},{7365,-8145,1},{7360,-8132,1}, {7352,-8122,1},{7342,-8118,1},{7327,-8120,1},{7315,-8060,1},{7308,-8055,1}, {7302,-8058,1},{7298,-8065,1},{7292,-8063,1},{7283,-8048,1},{7280,-8032,1}, {7273,-8025,1},{7270,-8037,1},{7263,-8053,1},{7257,-8053,1},{7255,-8068,1}, {7245,-8095,1},{7235,-8110,1},{7233,-8118,1},{7228,-8120,1},{7223,-8138,1}, {7225,-8123,1},{7243,-8088,1},{7245,-8077,1},{7252,-8058,1},{7250,-8050,1}, {7238,-8052,1},{7235,-8065,1},{7228,-8080,1},{7222,-8087,1},{7220,-8083,1}, {7220,-8097,1},{7210,-8058,1},{7208,-8057,1},{7207,-8063,1},{7208,-8070,1}, {7210,-8077,1},{7208,-8093,1},{7208,-8103,1},{7208,-8100,1},{7207,-8100,1}, {7205,-8108,1},{7203,-8098,1},{7205,-8083,1},{7203,-8080,1},{7195,-8083,1}, {7190,-8097,1},{7188,-8097,1},{7190,-8087,1},{7193,-8075,1},{7198,-8075,1}, {7200,-8063,1},{7200,-8055,1},{7205,-8038,1},{7208,-8035,1},{7218,-8048,1}, {7218,-8040,1},{7217,-8038,1},{7218,-8032,1},{7220,-8030,1},{7220,-8023,1}, {7225,-8030,1},{7230,-8027,1},{7227,-8015,1},{7218,-7998,1},{7213,-7967,1}, {7220,-7993,1},{7232,-8017,1},{7238,-8007,1},{7243,-7987,1},{7248,-7987,1}, {7250,-7982,1},{7250,-7977,1},{7248,-7978,1},{7247,-7970,1},{7242,-7977,1}, {7233,-7960,1},{7228,-7963,1},{7225,-7977,1},{7222,-7975,1},{7222,-7970,1}, {7223,-7970,1},{7228,-7958,1},{7225,-7952,1},{7220,-7948,1},{7222,-7945,1}, {7227,-7948,1},{7228,-7955,1},{7237,-7937,1},{7240,-7935,1},{7235,-7915,1}, {7228,-7903,1},{7228,-7895,1},{7223,-7898,1},{7220,-7895,1},{7207,-7903,1}, {7200,-7915,1},{7198,-7923,1},{7197,-7920,1},{7197,-7907,1},{7197,-7898,1}, {7192,-7872,1},{7187,-7855,1},{7187,-7850,1},{7190,-7860,1},{7193,-7860,1}, {7198,-7885,1},{7202,-7892,1},{7217,-7885,1},{7208,-7848,1},{7193,-7838,1}, {7182,-7818,1},{7177,-7790,1},{7183,-7813,1},{7192,-7832,1},{7195,-7830,1}, {7197,-7815,1},{7193,-7813,1},{7187,-7798,1},{7183,-7797,1},{7180,-7780,1}, {7175,-7777,1},{7182,-7770,1},{7185,-7790,1},{7195,-7810,1},{7198,-7812,1}, {7198,-7832,1},{7212,-7842,1},{7217,-7870,1},{7222,-7885,1},{7223,-7887,1}, {7228,-7875,1},{7232,-7882,1},{7233,-7880,1},{7233,-7872,1},{7237,-7860,1}, {7232,-7852,1},{7223,-7853,1},{7222,-7847,1},{7217,-7840,1},{7222,-7842,1}, {7225,-7847,1},{7233,-7843,1},{7228,-7818,1},{7228,-7803,1},{7225,-7802,1}, {7227,-7795,1},{7225,-7780,1},{7220,-7767,1},{7213,-7762,1},{7210,-7765,1}, {7213,-7758,1},{7217,-7762,1},{7218,-7758,1},{7218,-7727,1},{7213,-7700,1}, {7215,-7707,1},{7220,-7728,1},{7220,-7755,1},{7228,-7787,1},{7238,-7840,1}, {7245,-7857,1},{7250,-7855,1},{7255,-7845,1},{7258,-7845,1},{7265,-7815,1}, {7267,-7803,1},{7270,-7798,1},{7270,-7778,1},{7275,-7758,1},{7275,-7707,1}, {7272,-7675,1},{7267,-7665,1},{7265,-7668,1},{7258,-7617,1},{7247,-7610,1}, {7248,-7603,1},{7255,-7607,1},{7258,-7600,1},{7258,-7593,1},{7255,-7557,1}, {7253,-7547,1},{7250,-7520,1},{7240,-7513,1},{7227,-7495,1},{7218,-7505,1}, {7212,-7523,1},{7215,-7552,1},{7212,-7585,1},{7207,-7605,1},{7200,-7615,1}, {7187,-7640,1},{7185,-7637,1},{7193,-7623,1},{7198,-7608,1},{7205,-7602,1}, {7210,-7580,1},{7212,-7558,1},{7210,-7538,1},{7208,-7532,1},{7208,-7523,1}, {7207,-7522,1},{7203,-7528,1},{7202,-7550,1},{7200,-7558,1},{7183,-7568,1}, {7175,-7580,1},{7172,-7590,1},{7170,-7607,1},{7170,-7610,1},{7170,-7588,1}, {7173,-7580,1},{7183,-7565,1},{7198,-7555,1},{7200,-7550,1},{7200,-7533,1}, {7202,-7520,1},{7210,-7512,1},{7213,-7503,1},{7210,-7477,1},{7208,-7427,1}, {7198,-7413,1},{7195,-7412,1},{7192,-7422,1},{7187,-7417,1},{7182,-7425,1}, {7180,-7443,1},{7183,-7452,1},{7182,-7457,1},{7180,-7455,1},{7177,-7465,1}, {7173,-7472,1},{7172,-7485,1},{7170,-7492,1},{7172,-7508,1},{7170,-7532,1}, {7168,-7538,1},{7170,-7508,1},{7168,-7497,1},{7167,-7493,1},{7163,-7502,1}, {7158,-7520,1},{7157,-7523,1},{7152,-7540,1},{7153,-7532,1},{7155,-7520,1}, {7158,-7513,1},{7162,-7490,1},{7168,-7478,1},{7170,-7470,1},{7168,-7467,1}, {7167,-7463,1},{7158,-7473,1},{7155,-7482,1},{7153,-7503,1},{7147,-7515,1}, {7152,-7503,1},{7152,-7488,1},{7150,-7482,1},{7147,-7487,1},{7145,-7493,1}, {7143,-7473,1},{7138,-7470,1},{7127,-7492,1},{7120,-7508,1},{7118,-7508,1}, {7125,-7487,1},{7138,-7463,1},{7143,-7463,1},{7147,-7473,1},{7153,-7472,1}, {7155,-7462,1},{7167,-7452,1},{7168,-7438,1},{7173,-7427,1},{7173,-7410,1}, {7167,-7413,1},{7163,-7423,1},{7162,-7425,1},{7157,-7425,1},{7153,-7415,1}, {7162,-7422,1},{7165,-7410,1},{7177,-7398,1},{7178,-7373,1},{7177,-7368,1}, {7172,-7368,1},{7177,-7363,1},{7175,-7358,1},{7170,-7363,1},{7167,-7378,1}, {7163,-7380,1},{7162,-7388,1},{7158,-7388,1},{7153,-7398,1},{7147,-7398,1}, {7147,-7410,1},{7142,-7432,1},{7143,-7412,1},{7143,-7403,1},{7133,-7407,1}, {7130,-7418,1},{7130,-7410,1},{7128,-7408,1},{7120,-7423,1},{7125,-7412,1}, {7132,-7400,1},{7137,-7400,1},{7142,-7397,1},{7145,-7390,1},{7153,-7387,1}, {7158,-7375,1},{7158,-7362,1},{7155,-7357,1},{7143,-7365,1},{7138,-7358,1}, {7137,-7363,1},{7138,-7352,1},{7142,-7350,1},{7143,-7345,1},{7138,-7338,1}, {7137,-7348,1},{7133,-7352,1},{7130,-7362,1},{7125,-7368,1},{7110,-7373,1}, {7107,-7387,1},{7105,-7390,1},{7107,-7373,1},{7108,-7367,1},{7117,-7367,1}, {7123,-7362,1},{7128,-7353,1},{7130,-7343,1},{7133,-7343,1},{7133,-7332,1}, {7130,-7317,1},{7128,-7317,1},{7128,-7310,1},{7127,-7305,1},{7122,-7327,1}, {7117,-7323,1},{7110,-7330,1},{7103,-7345,1},{7098,-7338,1},{7103,-7340,1}, {7108,-7327,1},{7113,-7320,1},{7122,-7318,1},{7123,-7310,1},{7123,-7303,1}, {7125,-7300,1},{7132,-7295,1},{7140,-7298,1},{7143,-7277,1},{7150,-7283,1}, {7153,-7265,1},{7165,-7257,1},{7160,-7217,1},{7157,-7192,1},{7153,-7180,1}, {7150,-7157,1},{7148,-7152,1},{7147,-7145,1},{7143,-7143,1},{7138,-7130,1}, {7125,-7112,1},{7117,-7133,1},{7107,-7147,1},{7107,-7160,1},{7112,-7188,1}, {7105,-7210,1},{7102,-7210,1},{7097,-7218,1},{7095,-7228,1},{7088,-7233,1}, {7082,-7277,1},{7083,-7252,1},{7087,-7230,1},{7087,-7225,1},{7083,-7217,1}, {7075,-7233,1},{7072,-7232,1},{7068,-7238,1},{7063,-7262,1},{7063,-7255,1}, {7060,-7255,1},{7063,-7250,1},{7067,-7235,1},{7077,-7217,1},{7078,-7197,1}, {7087,-7163,1},{7087,-7142,1},{7088,-7133,1},{7085,-7118,1},{7087,-7118,1}, {7092,-7128,1},{7100,-7120,1},{7112,-7082,1},{7112,-7075,1},{7107,-7062,1}, {7093,-7052,1},{7088,-7058,1},{7083,-7073,1},{7075,-7075,1},{7065,-7110,1}, {7058,-7115,1},{7062,-7155,1},{7060,-7160,1},{7058,-7160,1},{7055,-7158,1}, {7048,-7173,1},{7045,-7175,1},{7042,-7197,1},{7042,-7173,1},{7033,-7175,1}, {7028,-7183,1},{7032,-7173,1},{7042,-7165,1},{7047,-7165,1},{7052,-7152,1}, {7057,-7152,1},{7058,-7148,1},{7057,-7140,1},{7055,-7142,1},{7057,-7137,1}, {7053,-7117,1},{7042,-7123,1},{7033,-7127,1},{7032,-7132,1},{7025,-7128,1}, {7002,-7153,1},{7013,-7133,1},{7020,-7130,1},{7027,-7122,1},{7030,-7123,1}, {7052,-7107,1},{7052,-7098,1},{7055,-7105,1},{7063,-7100,1},{7063,-7085,1}, {7073,-7060,1},{7075,-7048,1},{7078,-7040,1},{7080,-7023,1},{7088,-6987,1}, {7085,-6977,1},{7075,-6992,1},{7063,-7023,1},{7063,-7040,1},{7062,-7047,1}, {7052,-7040,1},{7048,-7048,1},{7050,-7030,1},{7062,-7040,1},{7062,-7008,1}, {7063,-7005,1},{7062,-7005,1},{7058,-7003,1},{7062,-7002,1},{7065,-6998,1}, {7068,-6987,1},{7068,-6978,1},{7070,-6980,1},{7072,-6978,1},{7068,-6967,1}, {7075,-6962,1},{7078,-6945,1},{7077,-6940,1},{7078,-6923,1},{7072,-6912,1}, {7057,-6832,1},{7053,-6828,1},{7050,-6828,1},{7042,-6845,1},{7037,-6845,1}, {7040,-6858,1},{7047,-6857,1},{7043,-6867,1},{7035,-6865,1},{7033,-6868,1}, {7030,-6890,1},{7030,-6903,1},{7025,-6942,1},{7022,-6950,1},{7020,-6963,1}, {7015,-6983,1},{7012,-6985,1},{7008,-6992,1},{7007,-7008,1},{7003,-7018,1}, {7002,-7017,1},{7003,-7010,1},{7007,-7003,1},{7005,-6990,1},{7002,-6985,1}, {6998,-6982,1},{6998,-7005,1},{6997,-7017,1},{6993,-7022,1},{6992,-7023,1}, {6985,-7047,1},{6985,-7035,1},{6995,-7008,1},{6995,-6980,1},{6997,-6975,1}, {7000,-6973,1},{7005,-6980,1},{7008,-6978,1},{7013,-6968,1},{7018,-6925,1}, {7017,-6903,1},{7018,-6902,1},{7022,-6913,1},{7020,-6893,1},{7020,-6868,1}, {7015,-6865,1},{7010,-6875,1},{7007,-6873,1},{7005,-6878,1},{7000,-6900,1}, {6997,-6910,1},{6982,-6943,1},{6983,-6970,1},{6982,-6980,1},{6978,-6987,1}, {6973,-6988,1},{6967,-7000,1},{6962,-6998,1},{6967,-6993,1},{6973,-6982,1}, {6977,-6982,1},{6980,-6973,1},{6980,-6957,1},{6978,-6945,1},{6978,-6940,1}, {6980,-6935,1},{6988,-6920,1},{6995,-6895,1},{6995,-6877,1},{6993,-6870,1}, {6995,-6868,1},{6993,-6863,1},{6998,-6867,1},{6998,-6862,1},{7002,-6853,1}, {7005,-6857,1},{7005,-6845,1},{7007,-6843,1},{7007,-6833,1},{7012,-6820,1}, {7013,-6823,1},{7013,-6833,1},{7017,-6828,1},{7017,-6835,1},{7018,-6835,1}, {7018,-6828,1},{7022,-6832,1},{7028,-6817,1},{7032,-6815,1},{7032,-6805,1}, {7030,-6802,1},{7027,-6780,1},{7022,-6773,1},{7013,-6753,1},{7005,-6738,1}, {7000,-6733,1},{6995,-6722,1},{6987,-6722,1},{6982,-6715,1},{6978,-6717,1}, {6973,-6712,1},{6972,-6738,1},{6973,-6748,1},{6978,-6778,1},{6977,-6800,1}, {6972,-6817,1},{6972,-6820,1},{6963,-6832,1},{6963,-6853,1},{6965,-6868,1}, {6963,-6878,1},{6953,-6922,1},{6953,-6935,1},{6957,-6968,1},{6957,-6983,1}, {6953,-6995,1},{6953,-7003,1},{6952,-7000,1},{6950,-6990,1},{6953,-6978,1}, {6955,-6968,1},{6950,-6932,1},{6953,-6902,1},{6957,-6893,1},{6958,-6867,1}, {6958,-6853,1},{6945,-6798,1},{6945,-6787,1},{6948,-6780,1},{6947,-6748,1}, {6947,-6725,1},{6933,-6677,1},{6922,-6665,1},{6918,-6667,1},{6913,-6675,1}, {6918,-6700,1},{6918,-6718,1},{6915,-6720,1},{6918,-6735,1},{6915,-6750,1}, {6917,-6768,1},{6932,-6822,1},{6930,-6835,1},{6932,-6855,1},{6935,-6898,1}, {6932,-6917,1},{6927,-6925,1},{6927,-6923,1},{6930,-6915,1},{6933,-6893,1}, {6927,-6845,1},{6927,-6817,1},{6922,-6808,1},{6920,-6813,1},{6923,-6865,1}, {6922,-6873,1},{6922,-6893,1},{6922,-6900,1},{6920,-6850,1},{6913,-6870,1}, {6910,-6908,1},{6908,-6907,1},{6910,-6902,1},{6910,-6893,1},{6900,-6897,1}, {6897,-6903,1},{6897,-6897,1},{6900,-6893,1},{6908,-6887,1},{6912,-6868,1}, {6918,-6842,1},{6915,-6818,1},{6903,-6772,1},{6902,-6770,1},{6900,-6775,1}, {6900,-6797,1},{6897,-6797,1},{6902,-6832,1},{6898,-6848,1},{6898,-6855,1}, {6897,-6855,1},{6898,-6833,1},{6895,-6818,1},{6895,-6805,1},{6892,-6805,1}, {6890,-6808,1},{6888,-6802,1},{6885,-6798,1},{6887,-6810,1},{6890,-6828,1}, {6888,-6848,1},{6887,-6830,1},{6883,-6813,1},{6880,-6787,1},{6878,-6785,1}, {6878,-6777,1},{6877,-6785,1},{6878,-6797,1},{6882,-6820,1},{6885,-6857,1}, {6883,-6862,1},{6882,-6850,1},{6880,-6848,1},{6878,-6860,1},{6880,-6872,1}, {6882,-6897,1},{6885,-6905,1},{6887,-6927,1},{6887,-6937,1},{6887,-6940,1}, {6885,-6925,1},{6883,-6915,1},{6883,-6937,1},{6882,-6937,1},{6878,-6895,1}, {6875,-6897,1},{6875,-6900,1},{6873,-6897,1},{6877,-6887,1},{6875,-6872,1}, {6873,-6867,1},{6873,-6837,1},{6868,-6805,1},{6867,-6808,1},{6867,-6817,1}, {6865,-6808,1},{6863,-6810,1},{6865,-6822,1},{6863,-6837,1},{6865,-6857,1}, {6865,-6870,1},{6863,-6878,1},{6862,-6880,1},{6860,-6890,1},{6858,-6883,1}, {6860,-6873,1},{6863,-6868,1},{6863,-6863,1},{6860,-6847,1},{6858,-6855,1}, {6858,-6873,1},{6857,-6875,1},{6857,-6872,1},{6857,-6845,1},{6860,-6840,1}, {6858,-6822,1},{6857,-6818,1},{6857,-6813,1},{6853,-6813,1},{6855,-6807,1}, {6853,-6802,1},{6853,-6797,1},{6855,-6797,1},{6855,-6792,1},{6845,-6790,1}, {6840,-6795,1},{6842,-6790,1},{6855,-6787,1},{6853,-6780,1},{6857,-6767,1}, {6855,-6760,1},{6855,-6753,1},{6853,-6750,1},{6852,-6752,1},{6850,-6763,1}, {6838,-6762,1},{6842,-6755,1},{6848,-6755,1},{6848,-6740,1},{6847,-6738,1}, {6850,-6737,1},{6848,-6730,1},{6845,-6727,1},{6848,-6723,1},{6843,-6718,1}, {6842,-6733,1},{6840,-6732,1},{6842,-6710,1},{6848,-6712,1},{6843,-6697,1}, {6847,-6680,1},{6845,-6668,1},{6843,-6668,1},{6842,-6680,1},{6840,-6680,1}, {6842,-6690,1},{6837,-6693,1},{6835,-6702,1},{6840,-6725,1},{6840,-6740,1}, {6838,-6742,1},{6837,-6750,1},{6833,-6782,1},{6830,-6787,1},{6825,-6787,1}, {6832,-6775,1},{6832,-6762,1},{6833,-6753,1},{6830,-6758,1},{6827,-6758,1}, {6825,-6768,1},{6823,-6768,1},{6825,-6755,1},{6830,-6753,1},{6835,-6740,1}, {6835,-6733,1},{6832,-6732,1},{6835,-6725,1},{6832,-6702,1},{6830,-6723,1}, {6828,-6723,1},{7375,-8077,129},{7377,-8057,1},{7375,-8030,1},{7370,-8010,1}, {7373,-8002,1},{7370,-7990,1},{7367,-7963,1},{7363,-7945,1},{7363,-7897,1}, {7365,-7887,1},{7367,-7817,1},{7360,-7782,1},{7355,-7742,1},{7352,-7733,1}, {7350,-7720,1},{7345,-7715,1},{7340,-7703,1},{7337,-7705,1},{7332,-7690,1}, {7332,-7670,1},{7328,-7675,1},{7322,-7658,1},{7317,-7663,1},{7315,-7658,1}, {7312,-7650,1},{7310,-7623,1},{7307,-7632,1},{7305,-7628,1},{7302,-7632,1}, {7300,-7627,1},{7297,-7633,1},{7295,-7627,1},{7293,-7612,1},{7290,-7607,1}, {7285,-7612,1},{7282,-7633,1},{7282,-7660,1},{7283,-7672,1},{7285,-7720,1}, {7288,-7745,1},{7290,-7772,1},{7288,-7827,1},{7285,-7862,1},{7275,-7917,1}, {7273,-7937,1},{7275,-7960,1},{7278,-7972,1},{7283,-7980,1},{7287,-8000,1}, {7298,-8012,1},{7305,-8018,1},{7312,-8012,1},{7315,-8018,1},{7318,-8012,1}, {7322,-8015,1},{7325,-8022,1},{7325,-8057,1},{7327,-8067,1},{7328,-8080,1}, {7333,-8088,1},{7348,-8085,1},{7348,-8082,1},{7348,-8070,1},{7355,-8087,1}, {7360,-8090,1},{7367,-8080,1},{7372,-8080,1},{7375,-8087,1},{7375,-8077,1}, {7402,-9508,129},{7407,-9480,1},{7410,-9473,1},{7410,-9443,1},{7412,-9440,1}, {7413,-9418,1},{7413,-9390,1},{7408,-9382,1},{7408,-9377,1},{7408,-9372,1}, {7410,-9375,1},{7415,-9375,1},{7417,-9367,1},{7417,-9352,1},{7417,-9328,1}, {7412,-9280,1},{7412,-9275,1},{7408,-9275,1},{7410,-9263,1},{7402,-9230,1}, {7393,-9232,1},{7395,-9213,1},{7398,-9210,1},{7402,-9193,1},{7403,-9157,1}, {7400,-9107,1},{7397,-9080,1},{7397,-9070,1},{7392,-9040,1},{7393,-9033,1}, {7392,-9025,1},{7390,-9020,1},{7383,-9027,1},{7387,-9032,1},{7385,-9038,1}, {7378,-9037,1},{7357,-9077,1},{7353,-9085,1},{7355,-9098,1},{7348,-9093,1}, {7335,-9118,1},{7327,-9127,1},{7323,-9163,1},{7322,-9142,1},{7320,-9137,1}, {7310,-9148,1},{7302,-9165,1},{7298,-9165,1},{7290,-9180,1},{7287,-9182,1}, {7280,-9202,1},{7275,-9210,1},{7270,-9233,1},{7273,-9283,1},{7277,-9307,1}, {7278,-9315,1},{7278,-9322,1},{7282,-9332,1},{7280,-9342,1},{7280,-9350,1}, {7277,-9360,1},{7277,-9410,1},{7277,-9427,1},{7277,-9432,1},{7273,-9433,1}, {7272,-9430,1},{7273,-9423,1},{7273,-9413,1},{7270,-9400,1},{7272,-9387,1}, {7273,-9378,1},{7265,-9382,1},{7262,-9367,1},{7257,-9357,1},{7247,-9347,1}, {7243,-9348,1},{7242,-9357,1},{7235,-9363,1},{7233,-9377,1},{7230,-9382,1}, {7217,-9402,1},{7207,-9408,1},{7203,-9423,1},{7202,-9422,1},{7202,-9413,1}, {7207,-9403,1},{7203,-9405,1},{7200,-9403,1},{7198,-9407,1},{7200,-9422,1}, {7202,-9442,1},{7202,-9475,1},{7197,-9512,1},{7197,-9518,1},{7200,-9510,1}, {7198,-9520,1},{7205,-9520,1},{7210,-9508,1},{7210,-9520,1},{7213,-9498,1}, {7215,-9475,1},{7215,-9497,1},{7213,-9513,1},{7215,-9517,1},{7218,-9520,1}, {7235,-9517,1},{7243,-9523,1},{7243,-9515,1},{7245,-9520,1},{7247,-9513,1}, {7252,-9520,1},{7253,-9532,1},{7258,-9535,1},{7260,-9532,1},{7265,-9537,1}, {7267,-9545,1},{7268,-9545,1},{7268,-9555,1},{7270,-9560,1},{7273,-9560,1}, {7273,-9552,1},{7277,-9557,1},{7278,-9555,1},{7278,-9565,1},{7282,-9567,1}, {7293,-9562,1},{7300,-9572,1},{7305,-9565,1},{7308,-9568,1},{7312,-9563,1}, {7313,-9550,1},{7317,-9558,1},{7330,-9558,1},{7332,-9565,1},{7338,-9560,1}, {7345,-9568,1},{7353,-9563,1},{7355,-9570,1},{7357,-9563,1},{7358,-9567,1}, {7357,-9557,1},{7358,-9555,1},{7363,-9563,1},{7363,-9572,1},{7367,-9568,1}, {7368,-9572,1},{7370,-9565,1},{7373,-9567,1},{7373,-9558,1},{7377,-9543,1}, {7375,-9535,1},{7377,-9528,1},{7370,-9513,1},{7365,-9488,1},{7365,-9462,1}, {7368,-9468,1},{7368,-9487,1},{7377,-9508,1},{7380,-9512,1},{7383,-9503,1}, {7383,-9495,1},{7385,-9500,1},{7385,-9510,1},{7382,-9513,1},{7385,-9523,1}, {7388,-9532,1},{7398,-9528,1},{7402,-9523,1},{7402,-9508,1},{7563,-9483,129}, {7560,-9447,1},{7558,-9435,1},{7543,-9398,1},{7535,-9368,1},{7532,-9365,1}, {7530,-9380,1},{7530,-9365,1},{7525,-9348,1},{7520,-9358,1},{7512,-9345,1}, {7508,-9352,1},{7507,-9348,1},{7503,-9365,1},{7503,-9352,1},{7497,-9343,1}, {7488,-9340,1},{7475,-9343,1},{7475,-9347,1},{7475,-9357,1},{7473,-9347,1}, {7468,-9350,1},{7463,-9372,1},{7463,-9423,1},{7465,-9428,1},{7462,-9455,1}, {7463,-9472,1},{7468,-9485,1},{7467,-9492,1},{7468,-9508,1},{7473,-9507,1}, {7475,-9515,1},{7480,-9528,1},{7480,-9535,1},{7477,-9545,1},{7480,-9538,1}, {7480,-9547,1},{7473,-9547,1},{7475,-9555,1},{7482,-9552,1},{7482,-9563,1}, {7485,-9572,1},{7482,-9573,1},{7482,-9592,1},{7485,-9587,1},{7487,-9597,1}, {7492,-9613,1},{7493,-9613,1},{7495,-9603,1},{7497,-9605,1},{7495,-9610,1}, {7495,-9613,1},{7502,-9607,1},{7502,-9615,1},{7492,-9622,1},{7490,-9627,1}, {7490,-9635,1},{7493,-9640,1},{7498,-9640,1},{7498,-9632,1},{7500,-9633,1}, {7500,-9650,1},{7498,-9662,1},{7507,-9660,1},{7520,-9645,1},{7517,-9638,1}, {7520,-9637,1},{7522,-9638,1},{7523,-9625,1},{7525,-9600,1},{7525,-9608,1}, {7527,-9608,1},{7530,-9592,1},{7530,-9617,1},{7532,-9605,1},{7538,-9595,1}, {7537,-9588,1},{7535,-9592,1},{7537,-9578,1},{7540,-9590,1},{7540,-9603,1}, {7537,-9615,1},{7540,-9613,1},{7542,-9607,1},{7542,-9602,1},{7543,-9595,1}, {7542,-9587,1},{7538,-9583,1},{7540,-9568,1},{7543,-9568,1},{7543,-9578,1}, {7545,-9583,1},{7552,-9575,1},{7557,-9547,1},{7555,-9537,1},{7560,-9527,1}, {7558,-9522,1},{7562,-9505,1},{7563,-9492,1},{7563,-9483,1},{7737,-11865,129}, {7735,-11813,1},{7738,-11810,1},{7738,-11787,1},{7737,-11795,1},{7735,-11777,1}, {7733,-11772,1},{7733,-11762,1},{7733,-11748,1},{7732,-11745,1},{7730,-11733,1}, {7728,-11725,1},{7730,-11715,1},{7730,-11700,1},{7733,-11710,1},{7733,-11718,1}, {7737,-11715,1},{7732,-11685,1},{7732,-11678,1},{7733,-11682,1},{7735,-11675,1}, {7737,-11667,1},{7738,-11667,1},{7738,-11682,1},{7740,-11687,1},{7740,-11700,1}, {7745,-11715,1},{7748,-11707,1},{7745,-11705,1},{7747,-11690,1},{7750,-11678,1}, {7752,-11677,1},{7752,-11690,1},{7753,-11690,1},{7755,-11642,1},{7753,-11635,1}, {7752,-11620,1},{7748,-11607,1},{7747,-11610,1},{7742,-11575,1},{7735,-11545,1}, {7730,-11538,1},{7730,-11548,1},{7727,-11555,1},{7725,-11577,1},{7722,-11590,1}, {7718,-11627,1},{7715,-11628,1},{7713,-11640,1},{7712,-11630,1},{7705,-11625,1}, {7695,-11573,1},{7692,-11575,1},{7690,-11590,1},{7693,-11628,1},{7693,-11637,1}, {7690,-11635,1},{7685,-11618,1},{7682,-11600,1},{7668,-11590,1},{7668,-11602,1}, {7662,-11610,1},{7658,-11632,1},{7657,-11653,1},{7657,-11673,1},{7653,-11683,1}, {7655,-11695,1},{7653,-11705,1},{7650,-11707,1},{7645,-11698,1},{7635,-11693,1}, {7630,-11710,1},{7625,-11735,1},{7627,-11760,1},{7632,-11767,1},{7632,-11782,1}, {7637,-11790,1},{7642,-11807,1},{7647,-11798,1},{7650,-11802,1},{7653,-11790,1}, {7657,-11795,1},{7658,-11790,1},{7660,-11797,1},{7663,-11790,1},{7668,-11792,1}, {7673,-11780,1},{7678,-11773,1},{7682,-11780,1},{7682,-11790,1},{7677,-11797,1}, {7675,-11803,1},{7677,-11832,1},{7670,-11832,1},{7672,-11845,1},{7670,-11848,1}, {7668,-11847,1},{7665,-11833,1},{7655,-11830,1},{7655,-11843,1},{7650,-11857,1}, {7652,-11868,1},{7655,-11873,1},{7655,-11885,1},{7653,-11877,1},{7652,-11893,1}, {7650,-11898,1},{7648,-11895,1},{7648,-11883,1},{7645,-11882,1},{7645,-11868,1}, {7635,-11857,1},{7628,-11863,1},{7628,-11885,1},{7627,-11892,1},{7622,-11895,1}, {7617,-11888,1},{7617,-11897,1},{7613,-11897,1},{7612,-11907,1},{7608,-11908,1}, {7613,-11928,1},{7618,-11930,1},{7625,-11945,1},{7637,-11950,1},{7632,-11957,1}, {7633,-11972,1},{7630,-11965,1},{7627,-11965,1},{7627,-11970,1},{7617,-11957,1}, {7617,-11958,1},{7615,-11970,1},{7612,-11955,1},{7610,-11960,1},{7612,-11980,1}, {7603,-11948,1},{7597,-11948,1},{7600,-11962,1},{7597,-11967,1},{7595,-11970,1}, {7592,-11960,1},{7592,-11968,1},{7592,-11972,1},{7588,-11977,1},{7585,-11998,1}, {7585,-12008,1},{7590,-12015,1},{7580,-12033,1},{7582,-12045,1},{7585,-12048,1}, {7592,-12047,1},{7597,-12038,1},{7598,-12045,1},{7602,-12047,1},{7600,-12058,1}, {7598,-12060,1},{7602,-12070,1},{7605,-12073,1},{7610,-12065,1},{7610,-12075,1}, {7615,-12067,1},{7620,-12085,1},{7618,-12095,1},{7613,-12102,1},{7607,-12102,1}, {7595,-12093,1},{7593,-12100,1},{7595,-12102,1},{7598,-12098,1},{7600,-12102,1}, {7598,-12112,1},{7595,-12127,1},{7590,-12130,1},{7593,-12142,1},{7598,-12150,1}, {7605,-12187,1},{7603,-12205,1},{7603,-12213,1},{7597,-12213,1},{7597,-12222,1}, {7593,-12242,1},{7593,-12257,1},{7595,-12270,1},{7597,-12273,1},{7598,-12265,1}, {7602,-12257,1},{7602,-12263,1},{7602,-12270,1},{7605,-12255,1},{7612,-12247,1}, {7612,-12257,1},{7612,-12270,1},{7613,-12248,1},{7615,-12257,1},{7617,-12262,1}, {7615,-12278,1},{7615,-12285,1},{7610,-12290,1},{7608,-12303,1},{7615,-12290,1}, {7618,-12295,1},{7618,-12285,1},{7623,-12283,1},{7623,-12270,1},{7627,-12263,1}, {7635,-12262,1},{7640,-12242,1},{7642,-12210,1},{7645,-12198,1},{7642,-12178,1}, {7643,-12153,1},{7650,-12142,1},{7655,-12142,1},{7657,-12132,1},{7660,-12132,1}, {7662,-12122,1},{7668,-12118,1},{7667,-12110,1},{7670,-12090,1},{7673,-12082,1}, {7675,-12058,1},{7680,-12040,1},{7683,-12037,1},{7687,-12042,1},{7692,-12018,1}, {7695,-12018,1},{7697,-12008,1},{7700,-12008,1},{7702,-11995,1},{7710,-11982,1}, {7712,-11965,1},{7715,-11962,1},{7718,-11938,1},{7728,-11930,1},{7732,-11920,1}, {7733,-11912,1},{7732,-11893,1},{7735,-11882,1},{7737,-11865,1},{7935,-10370,129}, {7930,-10340,1},{7928,-10310,1},{7923,-10300,1},{7923,-10288,1},{7922,-10293,1}, {7917,-10288,1},{7910,-10262,1},{7898,-10267,1},{7895,-10277,1},{7893,-10257,1}, {7890,-10263,1},{7887,-10257,1},{7893,-10238,1},{7902,-10242,1},{7905,-10210,1}, {7908,-10193,1},{7908,-10165,1},{7897,-10123,1},{7897,-10115,1},{7897,-10113,1}, {7897,-10108,1},{7893,-10098,1},{7880,-10118,1},{7880,-10100,1},{7877,-10093,1}, {7878,-10083,1},{7880,-10058,1},{7882,-10052,1},{7883,-10035,1},{7882,-10035,1}, {7880,-10032,1},{7877,-10028,1},{7873,-9998,1},{7870,-9990,1},{7863,-10007,1}, {7862,-10002,1},{7863,-9985,1},{7862,-9978,1},{7860,-9975,1},{7858,-9955,1}, {7857,-9955,1},{7855,-9965,1},{7853,-9960,1},{7848,-9967,1},{7843,-9987,1}, {7838,-9975,1},{7830,-9980,1},{7828,-9975,1},{7828,-9953,1},{7820,-9942,1}, {7807,-9895,1},{7800,-9897,1},{7797,-9910,1},{7788,-9902,1},{7783,-9918,1}, {7782,-9955,1},{7782,-9982,1},{7778,-9990,1},{7782,-10012,1},{7782,-10027,1}, {7787,-10060,1},{7788,-10060,1},{7802,-10083,1},{7808,-10075,1},{7813,-10100,1}, {7820,-10103,1},{7818,-10128,1},{7820,-10135,1},{7823,-10147,1},{7828,-10213,1}, {7823,-10262,1},{7828,-10282,1},{7832,-10280,1},{7835,-10267,1},{7838,-10278,1}, {7837,-10293,1},{7837,-10313,1},{7833,-10338,1},{7832,-10368,1},{7827,-10390,1}, {7825,-10390,1},{7823,-10398,1},{7827,-10447,1},{7835,-10482,1},{7848,-10505,1}, {7852,-10502,1},{7857,-10485,1},{7858,-10467,1},{7857,-10435,1},{7852,-10408,1}, {7852,-10372,1},{7850,-10352,1},{7853,-10345,1},{7857,-10350,1},{7858,-10338,1}, {7862,-10342,1},{7862,-10403,1},{7863,-10405,1},{7867,-10383,1},{7867,-10348,1}, {7872,-10352,1},{7872,-10335,1},{7873,-10332,1},{7878,-10347,1},{7875,-10358,1}, {7877,-10360,1},{7873,-10382,1},{7880,-10373,1},{7878,-10378,1},{7880,-10387,1}, {7880,-10390,1},{7877,-10390,1},{7877,-10398,1},{7877,-10408,1},{7878,-10410,1}, {7877,-10420,1},{7882,-10417,1},{7890,-10382,1},{7893,-10403,1},{7897,-10405,1}, {7898,-10420,1},{7898,-10427,1},{7895,-10430,1},{7895,-10445,1},{7887,-10457,1}, {7880,-10478,1},{7880,-10492,1},{7880,-10502,1},{7885,-10502,1},{7888,-10487,1}, {7902,-10468,1},{7905,-10493,1},{7902,-10515,1},{7902,-10555,1},{7903,-10558,1}, {7917,-10563,1},{7928,-10542,1},{7930,-10548,1},{7933,-10543,1},{7930,-10517,1}, {7933,-10462,1},{7937,-10398,1},{7935,-10370,1},{7882,-9795,129},{7880,-9752,1}, {7873,-9702,1},{7870,-9688,1},{7868,-9653,1},{7862,-9630,1},{7863,-9618,1}, {7862,-9615,1},{7853,-9627,1},{7848,-9593,1},{7852,-9572,1},{7852,-9548,1}, {7845,-9513,1},{7837,-9483,1},{7832,-9493,1},{7823,-9540,1},{7820,-9513,1}, {7815,-9508,1},{7812,-9488,1},{7808,-9493,1},{7807,-9488,1},{7795,-9510,1}, {7797,-9532,1},{7795,-9542,1},{7788,-9593,1},{7787,-9628,1},{7787,-9638,1}, {7790,-9643,1},{7790,-9653,1},{7787,-9663,1},{7787,-9673,1},{7785,-9667,1}, {7787,-9650,1},{7785,-9657,1},{7785,-9652,1},{7783,-9672,1},{7778,-9688,1}, {7780,-9710,1},{7787,-9712,1},{7792,-9700,1},{7795,-9732,1},{7800,-9750,1}, {7803,-9778,1},{7805,-9765,1},{7808,-9765,1},{7808,-9730,1},{7808,-9692,1}, {7813,-9687,1},{7817,-9717,1},{7820,-9732,1},{7822,-9793,1},{7825,-9792,1}, {7823,-9782,1},{7825,-9777,1},{7828,-9788,1},{7830,-9807,1},{7833,-9802,1}, {7837,-9808,1},{7840,-9803,1},{7842,-9820,1},{7847,-9838,1},{7850,-9842,1}, {7852,-9832,1},{7853,-9835,1},{7855,-9802,1},{7860,-9812,1},{7860,-9825,1}, {7865,-9833,1},{7877,-9837,1},{7882,-9815,1},{7882,-9795,1},{7663,-10038,129}, {7665,-10022,1},{7663,-10003,1},{7660,-9983,1},{7663,-9973,1},{7662,-9958,1}, {7660,-9955,1},{7660,-9968,1},{7658,-9968,1},{7658,-9952,1},{7650,-9928,1}, {7652,-9923,1},{7650,-9915,1},{7647,-9927,1},{7642,-9918,1},{7640,-9910,1}, {7640,-9907,1},{7647,-9912,1},{7645,-9903,1},{7647,-9902,1},{7647,-9895,1}, {7643,-9895,1},{7643,-9885,1},{7645,-9888,1},{7647,-9887,1},{7653,-9905,1}, {7660,-9903,1},{7662,-9887,1},{7660,-9878,1},{7658,-9875,1},{7660,-9873,1}, {7662,-9872,1},{7662,-9852,1},{7663,-9853,1},{7665,-9848,1},{7665,-9855,1}, {7665,-9867,1},{7665,-9883,1},{7667,-9885,1},{7668,-9875,1},{7667,-9843,1}, {7662,-9842,1},{7658,-9815,1},{7657,-9825,1},{7658,-9840,1},{7657,-9835,1}, {7655,-9820,1},{7655,-9815,1},{7653,-9808,1},{7652,-9777,1},{7648,-9767,1}, {7642,-9767,1},{7632,-9778,1},{7618,-9752,1},{7613,-9750,1},{7608,-9758,1}, {7597,-9765,1},{7587,-9755,1},{7580,-9767,1},{7573,-9793,1},{7568,-9738,1}, {7550,-9742,1},{7543,-9738,1},{7540,-9728,1},{7542,-9747,1},{7550,-9748,1}, {7557,-9773,1},{7553,-9775,1},{7555,-9785,1},{7550,-9777,1},{7547,-9775,1}, {7547,-9783,1},{7550,-9785,1},{7552,-9790,1},{7548,-9795,1},{7548,-9805,1}, {7547,-9795,1},{7545,-9805,1},{7545,-9792,1},{7542,-9777,1},{7542,-9780,1}, {7540,-9805,1},{7540,-9803,1},{7538,-9790,1},{7537,-9788,1},{7535,-9798,1}, {7537,-9802,1},{7535,-9807,1},{7537,-9807,1},{7537,-9813,1},{7533,-9817,1}, {7532,-9813,1},{7533,-9813,1},{7533,-9808,1},{7530,-9813,1},{7528,-9805,1}, {7532,-9800,1},{7533,-9790,1},{7528,-9800,1},{7527,-9793,1},{7528,-9792,1}, {7530,-9790,1},{7528,-9788,1},{7522,-9775,1},{7520,-9773,1},{7520,-9780,1}, {7520,-9770,1},{7517,-9768,1},{7515,-9760,1},{7517,-9762,1},{7517,-9758,1}, {7512,-9762,1},{7512,-9788,1},{7517,-9802,1},{7522,-9803,1},{7522,-9810,1}, {7520,-9807,1},{7518,-9815,1},{7517,-9815,1},{7512,-9805,1},{7512,-9798,1}, {7507,-9793,1},{7502,-9798,1},{7502,-9807,1},{7500,-9855,1},{7498,-9872,1}, {7500,-9878,1},{7502,-9875,1},{7502,-9885,1},{7507,-9887,1},{7505,-9897,1}, {7500,-9895,1},{7500,-9927,1},{7498,-9935,1},{7500,-9940,1},{7503,-9938,1}, {7512,-9927,1},{7512,-9933,1},{7503,-9950,1},{7498,-9943,1},{7497,-9960,1}, {7498,-10015,1},{7502,-10035,1},{7503,-10040,1},{7510,-10038,1},{7515,-10043,1}, {7517,-10040,1},{7518,-10053,1},{7520,-10053,1},{7523,-10043,1},{7523,-9998,1}, {7527,-10040,1},{7528,-10028,1},{7532,-10025,1},{7530,-10050,1},{7532,-10063,1}, {7533,-10067,1},{7535,-10077,1},{7538,-10068,1},{7537,-10060,1},{7535,-10070,1}, {7535,-10063,1},{7535,-10057,1},{7537,-10058,1},{7537,-10047,1},{7538,-10043,1}, {7538,-10052,1},{7543,-10058,1},{7543,-10072,1},{7545,-10003,1},{7547,-10002,1}, {7547,-10030,1},{7548,-10002,1},{7550,-9997,1},{7552,-10028,1},{7555,-9983,1}, {7555,-10003,1},{7558,-9972,1},{7560,-9967,1},{7562,-9987,1},{7565,-9982,1}, {7568,-9928,1},{7568,-9903,1},{7570,-9888,1},{7572,-9895,1},{7567,-9958,1}, {7567,-9967,1},{7568,-9955,1},{7570,-9962,1},{7565,-10028,1},{7565,-10040,1}, {7563,-10047,1},{7565,-10057,1},{7562,-10083,1},{7562,-10107,1},{7560,-10110,1}, {7558,-10123,1},{7560,-10128,1},{7557,-10137,1},{7560,-10138,1},{7560,-10150,1}, {7558,-10158,1},{7555,-10197,1},{7555,-10235,1},{7550,-10260,1},{7550,-10267,1}, {7553,-10267,1},{7555,-10278,1},{7557,-10273,1},{7560,-10285,1},{7562,-10288,1}, {7562,-10272,1},{7562,-10263,1},{7563,-10270,1},{7567,-10268,1},{7568,-10253,1}, {7572,-10257,1},{7573,-10238,1},{7572,-10222,1},{7568,-10210,1},{7570,-10202,1}, {7570,-10210,1},{7573,-10210,1},{7575,-10223,1},{7578,-10210,1},{7580,-10237,1}, {7585,-10230,1},{7588,-10217,1},{7590,-10187,1},{7588,-10178,1},{7585,-10173,1}, {7582,-10145,1},{7577,-10147,1},{7575,-10142,1},{7575,-10123,1},{7577,-10123,1}, {7580,-10092,1},{7577,-10133,1},{7580,-10132,1},{7585,-10138,1},{7587,-10153,1}, {7592,-10160,1},{7597,-10140,1},{7602,-10132,1},{7600,-10140,1},{7598,-10167,1}, {7602,-10185,1},{7608,-10190,1},{7612,-10188,1},{7617,-10177,1},{7622,-10150,1}, {7625,-10138,1},{7622,-10172,1},{7623,-10185,1},{7622,-10205,1},{7622,-10213,1}, {7625,-10217,1},{7627,-10205,1},{7628,-10208,1},{7628,-10220,1},{7632,-10203,1}, {7635,-10210,1},{7637,-10205,1},{7635,-10195,1},{7640,-10205,1},{7645,-10187,1}, {7643,-10145,1},{7642,-10132,1},{7637,-10123,1},{7633,-10105,1},{7623,-10113,1}, {7623,-10098,1},{7618,-10075,1},{7613,-10063,1},{7608,-10073,1},{7612,-10042,1}, {7608,-10062,1},{7605,-10032,1},{7597,-10017,1},{7595,-10007,1},{7590,-10015,1}, {7592,-10000,1},{7590,-9997,1},{7588,-9998,1},{7587,-9993,1},{7590,-9988,1}, {7590,-9975,1},{7595,-9958,1},{7597,-9945,1},{7597,-9965,1},{7593,-9987,1}, {7597,-9990,1},{7598,-9987,1},{7600,-10003,1},{7603,-10000,1},{7603,-10008,1}, {7610,-10012,1},{7613,-10022,1},{7613,-10013,1},{7615,-10007,1},{7613,-9982,1}, {7612,-9972,1},{7613,-9963,1},{7615,-9942,1},{7613,-9970,1},{7617,-9983,1}, {7620,-10000,1},{7622,-10043,1},{7625,-10052,1},{7627,-10047,1},{7627,-10007,1}, {7630,-10020,1},{7632,-10018,1},{7628,-10003,1},{7628,-9985,1},{7630,-10002,1}, {7632,-9992,1},{7632,-10003,1},{7635,-10015,1},{7638,-10015,1},{7637,-10025,1}, {7638,-10032,1},{7637,-10058,1},{7637,-10070,1},{7648,-10097,1},{7652,-10097,1}, {7653,-10072,1},{7657,-10072,1},{7663,-10038,1},{7107,-2568,129},{7100,-2568,1}, {7098,-2572,1},{7097,-2552,1},{7092,-2540,1},{7087,-2538,1},{7085,-2542,1}, {7080,-2533,1},{7078,-2547,1},{7077,-2548,1},{7077,-2532,1},{7068,-2528,1}, {7065,-2532,1},{7063,-2558,1},{7060,-2572,1},{7060,-2582,1},{7052,-2603,1}, {7053,-2613,1},{7057,-2615,1},{7058,-2622,1},{7055,-2647,1},{7052,-2657,1}, {7053,-2697,1},{7052,-2698,1},{7050,-2703,1},{7050,-2715,1},{7047,-2727,1}, {7047,-2753,1},{7043,-2783,1},{7043,-2807,1},{7045,-2813,1},{7052,-2798,1}, {7057,-2807,1},{7060,-2803,1},{7063,-2788,1},{7065,-2767,1},{7077,-2742,1}, {7080,-2727,1},{7088,-2713,1},{7088,-2703,1},{7088,-2663,1},{7090,-2647,1}, {7093,-2630,1},{7097,-2625,1},{7102,-2595,1},{7108,-2573,1},{7108,-2568,1}, {7107,-2568,1},{7282,-2312,129},{7275,-2303,1},{7272,-2297,1},{7270,-2285,1}, {7268,-2285,1},{7267,-2270,1},{7263,-2272,1},{7260,-2258,1},{7262,-2248,1}, {7260,-2245,1},{7253,-2217,1},{7248,-2220,1},{7250,-2207,1},{7250,-2198,1}, {7247,-2193,1},{7240,-2193,1},{7238,-2198,1},{7243,-2227,1},{7245,-2227,1}, {7243,-2235,1},{7247,-2265,1},{7243,-2277,1},{7238,-2273,1},{7237,-2268,1}, {7230,-2232,1},{7225,-2232,1},{7225,-2227,1},{7228,-2222,1},{7227,-2205,1}, {7220,-2220,1},{7217,-2213,1},{7213,-2215,1},{7212,-2232,1},{7213,-2257,1}, {7217,-2260,1},{7218,-2252,1},{7220,-2250,1},{7220,-2257,1},{7217,-2267,1}, {7220,-2280,1},{7223,-2297,1},{7230,-2307,1},{7235,-2327,1},{7243,-2383,1}, {7247,-2395,1},{7247,-2402,1},{7243,-2407,1},{7247,-2408,1},{7250,-2400,1}, {7253,-2407,1},{7255,-2415,1},{7255,-2417,1},{7253,-2415,1},{7255,-2423,1}, {7257,-2425,1},{7260,-2437,1},{7272,-2440,1},{7283,-2448,1},{7285,-2438,1}, {7287,-2400,1},{7285,-2372,1},{7283,-2357,1},{7285,-2337,1},{7283,-2327,1}, {7283,-2315,1},{7282,-2312,1},{7292,-2190,129},{7288,-2190,1},{7287,-2200,1}, {7283,-2198,1},{7282,-2215,1},{7280,-2218,1},{7280,-2213,1},{7280,-2210,1}, {7278,-2208,1},{7277,-2197,1},{7275,-2203,1},{7275,-2195,1},{7272,-2187,1}, {7268,-2192,1},{7268,-2200,1},{7270,-2203,1},{7268,-2208,1},{7272,-2207,1}, {7268,-2217,1},{7270,-2225,1},{7270,-2250,1},{7268,-2260,1},{7272,-2272,1}, {7272,-2260,1},{7275,-2275,1},{7280,-2278,1},{7287,-2312,1},{7287,-2362,1}, {7290,-2383,1},{7292,-2407,1},{7290,-2453,1},{7295,-2458,1},{7298,-2453,1}, {7302,-2380,1},{7307,-2320,1},{7303,-2298,1},{7303,-2280,1},{7302,-2272,1}, {7298,-2233,1},{7297,-2222,1},{7293,-2210,1},{7293,-2208,1},{7292,-2202,1}, {7293,-2197,1},{7292,-2190,1},{7342,-2442,129},{7333,-2368,1},{7325,-2327,1}, {7323,-2322,1},{7322,-2323,1},{7322,-2373,1},{7330,-2425,1},{7330,-2445,1}, {7332,-2487,1},{7332,-2500,1},{7330,-2498,1},{7332,-2492,1},{7327,-2463,1}, {7325,-2423,1},{7322,-2398,1},{7318,-2363,1},{7320,-2343,1},{7318,-2313,1}, {7315,-2297,1},{7315,-2287,1},{7310,-2302,1},{7308,-2333,1},{7305,-2378,1}, {7305,-2417,1},{7302,-2438,1},{7308,-2490,1},{7312,-2505,1},{7312,-2545,1}, {7318,-2572,1},{7323,-2557,1},{7330,-2545,1},{7333,-2528,1},{7338,-2530,1}, {7340,-2525,1},{7343,-2472,1},{7342,-2442,1},{7032,-5430,129},{7028,-5390,1}, {7025,-5368,1},{7023,-5352,1},{7020,-5327,1},{7012,-5303,1},{7003,-5292,1}, {6992,-5270,1},{6988,-5252,1},{6982,-5207,1},{6978,-5197,1},{6973,-5190,1}, {6968,-5197,1},{6967,-5203,1},{6963,-5183,1},{6952,-5202,1},{6945,-5225,1}, {6935,-5278,1},{6932,-5318,1},{6923,-5357,1},{6925,-5365,1},{6927,-5383,1}, {6930,-5388,1},{6932,-5393,1},{6933,-5415,1},{6938,-5427,1},{6942,-5427,1}, {6945,-5422,1},{6943,-5415,1},{6943,-5402,1},{6943,-5387,1},{6942,-5380,1}, {6945,-5365,1},{6943,-5338,1},{6945,-5355,1},{6947,-5358,1},{6955,-5350,1}, {6958,-5335,1},{6957,-5355,1},{6955,-5360,1},{6948,-5363,1},{6945,-5378,1}, {6947,-5385,1},{6952,-5373,1},{6952,-5375,1},{6948,-5395,1},{6948,-5398,1}, {6952,-5398,1},{6957,-5387,1},{6960,-5395,1},{6960,-5398,1},{6957,-5398,1}, {6955,-5407,1},{6957,-5427,1},{6958,-5470,1},{6962,-5482,1},{6963,-5482,1}, {6970,-5500,1},{6973,-5497,1},{6975,-5487,1},{6975,-5465,1},{6972,-5460,1}, {6967,-5442,1},{6968,-5438,1},{6977,-5463,1},{6980,-5485,1},{6985,-5493,1}, {6987,-5490,1},{6987,-5480,1},{6993,-5487,1},{6997,-5477,1},{6997,-5463,1}, {6992,-5423,1},{6993,-5428,1},{6997,-5450,1},{7002,-5473,1},{7008,-5483,1}, {7018,-5485,1},{7025,-5475,1},{7032,-5440,1},{7032,-5430,1},{7395,-10000,129}, {7393,-9980,1},{7390,-9983,1},{7387,-9978,1},{7380,-9940,1},{7373,-9920,1}, {7370,-9925,1},{7368,-9918,1},{7375,-9912,1},{7375,-9882,1},{7373,-9878,1}, {7375,-9877,1},{7378,-9863,1},{7382,-9813,1},{7385,-9797,1},{7390,-9790,1}, {7392,-9778,1},{7390,-9773,1},{7387,-9782,1},{7390,-9760,1},{7385,-9747,1}, {7385,-9722,1},{7377,-9705,1},{7373,-9697,1},{7370,-9693,1},{7362,-9698,1}, {7358,-9718,1},{7357,-9717,1},{7355,-9722,1},{7358,-9745,1},{7352,-9745,1}, {7353,-9762,1},{7352,-9763,1},{7348,-9767,1},{7345,-9760,1},{7350,-9742,1}, {7347,-9737,1},{7347,-9720,1},{7345,-9717,1},{7343,-9725,1},{7342,-9717,1}, {7335,-9717,1},{7337,-9727,1},{7335,-9735,1},{7332,-9765,1},{7330,-9765,1}, {7330,-9772,1},{7327,-9783,1},{7323,-9787,1},{7312,-9820,1},{7307,-9823,1}, {7300,-9852,1},{7298,-9845,1},{7295,-9847,1},{7295,-9843,1},{7285,-9843,1}, {7290,-9840,1},{7298,-9825,1},{7303,-9798,1},{7303,-9768,1},{7297,-9730,1}, {7293,-9722,1},{7288,-9725,1},{7287,-9742,1},{7285,-9723,1},{7278,-9717,1}, {7278,-9708,1},{7273,-9702,1},{7267,-9718,1},{7260,-9718,1},{7260,-9708,1}, {7268,-9692,1},{7272,-9665,1},{7275,-9660,1},{7275,-9653,1},{7272,-9652,1}, {7270,-9658,1},{7263,-9645,1},{7257,-9640,1},{7253,-9643,1},{7253,-9637,1}, {7242,-9630,1},{7240,-9640,1},{7237,-9645,1},{7232,-9667,1},{7232,-9687,1}, {7230,-9670,1},{7227,-9665,1},{7228,-9657,1},{7225,-9655,1},{7225,-9662,1}, {7223,-9658,1},{7223,-9653,1},{7208,-9650,1},{7207,-9655,1},{7203,-9687,1}, {7202,-9667,1},{7203,-9648,1},{7197,-9652,1},{7195,-9657,1},{7195,-9663,1}, {7192,-9677,1},{7190,-9673,1},{7193,-9652,1},{7192,-9650,1},{7182,-9658,1}, {7180,-9675,1},{7182,-9675,1},{7183,-9668,1},{7185,-9672,1},{7185,-9677,1}, {7180,-9687,1},{7180,-9693,1},{7170,-9708,1},{7162,-9748,1},{7162,-9765,1}, {7165,-9777,1},{7165,-9792,1},{7167,-9798,1},{7163,-9812,1},{7165,-9822,1}, {7173,-9837,1},{7180,-9832,1},{7188,-9822,1},{7190,-9825,1},{7190,-9828,1}, {7187,-9827,1},{7185,-9833,1},{7180,-9843,1},{7172,-9850,1},{7170,-9838,1}, {7165,-9838,1},{7163,-9832,1},{7160,-9828,1},{7158,-9818,1},{7153,-9815,1}, {7153,-9803,1},{7142,-9820,1},{7132,-9847,1},{7128,-9855,1},{7128,-9870,1}, {7127,-9872,1},{7130,-9883,1},{7138,-9897,1},{7138,-9903,1},{7135,-9908,1}, {7135,-9923,1},{7147,-9932,1},{7153,-9942,1},{7158,-9937,1},{7162,-9957,1}, {7177,-9968,1},{7178,-9978,1},{7185,-9987,1},{7187,-10007,1},{7193,-10017,1}, {7198,-10032,1},{7202,-10035,1},{7205,-10045,1},{7210,-10042,1},{7208,-10048,1}, {7210,-10050,1},{7213,-10048,1},{7213,-10057,1},{7218,-10065,1},{7220,-10082,1}, {7220,-10087,1},{7220,-10088,1},{7217,-10095,1},{7218,-10102,1},{7223,-10105,1}, {7225,-10102,1},{7227,-10108,1},{7228,-10103,1},{7228,-10115,1},{7233,-10123,1}, {7228,-10140,1},{7225,-10140,1},{7225,-10150,1},{7227,-10147,1},{7230,-10158,1}, {7230,-10167,1},{7228,-10168,1},{7232,-10172,1},{7230,-10178,1},{7237,-10188,1}, {7240,-10188,1},{7238,-10178,1},{7242,-10183,1},{7240,-10192,1},{7247,-10197,1}, {7247,-10192,1},{7253,-10215,1},{7252,-10215,1},{7258,-10240,1},{7260,-10242,1}, {7265,-10260,1},{7272,-10273,1},{7282,-10275,1},{7287,-10265,1},{7298,-10257,1}, {7303,-10250,1},{7305,-10235,1},{7307,-10240,1},{7307,-10237,1},{7307,-10228,1}, {7308,-10228,1},{7308,-10195,1},{7305,-10197,1},{7305,-10190,1},{7302,-10183,1}, {7302,-10177,1},{7298,-10178,1},{7297,-10173,1},{7297,-10182,1},{7292,-10173,1}, {7288,-10162,1},{7292,-10162,1},{7292,-10153,1},{7290,-10160,1},{7287,-10152,1}, {7280,-10147,1},{7278,-10138,1},{7278,-10132,1},{7280,-10135,1},{7278,-10130,1}, {7275,-10130,1},{7275,-10142,1},{7273,-10137,1},{7272,-10130,1},{7270,-10113,1}, {7268,-10105,1},{7270,-10100,1},{7268,-10088,1},{7270,-10083,1},{7272,-10082,1}, {7273,-10087,1},{7277,-10085,1},{7275,-10080,1},{7275,-10073,1},{7275,-10065,1}, {7275,-10053,1},{7273,-10045,1},{7277,-10035,1},{7283,-10032,1},{7287,-10042,1}, {7290,-10038,1},{7292,-10045,1},{7295,-10038,1},{7295,-10050,1},{7302,-10047,1}, {7303,-10042,1},{7302,-10038,1},{7305,-10035,1},{7303,-10032,1},{7302,-10040,1}, {7300,-10038,1},{7297,-10042,1},{7295,-10037,1},{7297,-10028,1},{7295,-10025,1}, {7292,-10027,1},{7292,-10032,1},{7288,-10033,1},{7288,-10007,1},{7292,-10008,1}, {7293,-10003,1},{7295,-10005,1},{7298,-10018,1},{7300,-10017,1},{7300,-10012,1}, {7303,-10012,1},{7305,-10013,1},{7305,-10022,1},{7308,-10017,1},{7310,-10022,1}, {7310,-10032,1},{7313,-10023,1},{7312,-10038,1},{7308,-10045,1},{7308,-10052,1}, {7312,-10052,1},{7313,-10058,1},{7317,-10058,1},{7320,-10047,1},{7322,-10055,1}, {7323,-10045,1},{7328,-10038,1},{7327,-10035,1},{7328,-10028,1},{7323,-10020,1}, {7323,-10010,1},{7322,-10013,1},{7318,-10003,1},{7318,-9983,1},{7320,-9977,1}, {7322,-9997,1},{7325,-10010,1},{7333,-10020,1},{7340,-10037,1},{7337,-10040,1}, {7332,-10035,1},{7332,-10050,1},{7328,-10058,1},{7327,-10088,1},{7330,-10103,1}, {7332,-10103,1},{7333,-10113,1},{7337,-10130,1},{7340,-10132,1},{7345,-10158,1}, {7347,-10155,1},{7348,-10162,1},{7348,-10152,1},{7355,-10143,1},{7355,-10128,1}, {7360,-10120,1},{7358,-10100,1},{7360,-10088,1},{7347,-10067,1},{7343,-10053,1}, {7342,-10050,1},{7342,-10042,1},{7343,-10043,1},{7348,-10060,1},{7360,-10055,1}, {7360,-10065,1},{7362,-10070,1},{7360,-10077,1},{7362,-10092,1},{7367,-10085,1}, {7367,-10105,1},{7372,-10102,1},{7373,-10112,1},{7377,-10098,1},{7377,-10103,1}, {7380,-10100,1},{7382,-10088,1},{7383,-10087,1},{7382,-10075,1},{7385,-10065,1}, {7385,-10055,1},{7385,-10042,1},{7380,-10025,1},{7380,-10015,1},{7373,-10003,1}, {7382,-9995,1},{7385,-9985,1},{7390,-9987,1},{7387,-9987,1},{7388,-9993,1}, {7387,-9997,1},{7383,-10005,1},{7383,-10025,1},{7387,-10030,1},{7390,-10025,1}, {7395,-10000,1},{7617,-11243,129},{7610,-11253,1},{7605,-11242,1},{7600,-11207,1}, {7595,-11188,1},{7595,-11177,1},{7592,-11173,1},{7590,-11178,1},{7587,-11207,1}, {7585,-11218,1},{7582,-11215,1},{7582,-11223,1},{7582,-11212,1},{7583,-11203,1}, {7583,-11198,1},{7582,-11203,1},{7580,-11195,1},{7583,-11183,1},{7583,-11150,1}, {7583,-11145,1},{7582,-11145,1},{7580,-11160,1},{7578,-11143,1},{7575,-11145,1}, {7572,-11135,1},{7562,-11140,1},{7557,-11135,1},{7557,-11130,1},{7555,-11132,1}, {7552,-11125,1},{7553,-11100,1},{7557,-11080,1},{7557,-11050,1},{7553,-11038,1}, {7553,-10967,1},{7552,-10950,1},{7552,-10925,1},{7548,-10892,1},{7550,-10892,1}, {7553,-10893,1},{7555,-10903,1},{7557,-10885,1},{7558,-10890,1},{7562,-10883,1}, {7567,-10893,1},{7568,-10883,1},{7570,-10895,1},{7572,-10897,1},{7572,-10905,1}, {7573,-10907,1},{7577,-10923,1},{7577,-10938,1},{7578,-10947,1},{7580,-10942,1}, {7580,-10968,1},{7583,-10963,1},{7583,-10970,1},{7587,-10967,1},{7587,-10985,1}, {7585,-10988,1},{7587,-11000,1},{7588,-11005,1},{7593,-10993,1},{7595,-10967,1}, {7598,-10960,1},{7602,-10940,1},{7603,-10940,1},{7603,-10928,1},{7605,-10927,1}, {7607,-10938,1},{7612,-10932,1},{7615,-10950,1},{7618,-10952,1},{7620,-10972,1}, {7622,-10970,1},{7623,-10983,1},{7622,-10990,1},{7620,-10990,1},{7622,-10997,1}, {7628,-11020,1},{7630,-11037,1},{7633,-11033,1},{7638,-11040,1},{7643,-11038,1}, {7645,-11015,1},{7648,-11000,1},{7648,-10982,1},{7652,-10972,1},{7653,-10972,1}, {7653,-10985,1},{7657,-10977,1},{7660,-10978,1},{7658,-10968,1},{7660,-10965,1}, {7662,-10965,1},{7663,-10955,1},{7672,-10950,1},{7675,-10935,1},{7680,-10930,1}, {7680,-10923,1},{7682,-10917,1},{7682,-10892,1},{7685,-10877,1},{7682,-10865,1}, {7677,-10868,1},{7675,-10850,1},{7670,-10843,1},{7665,-10855,1},{7663,-10873,1}, {7660,-10868,1},{7655,-10853,1},{7652,-10863,1},{7652,-10853,1},{7648,-10858,1}, {7645,-10848,1},{7643,-10860,1},{7642,-10860,1},{7640,-10832,1},{7635,-10823,1}, {7635,-10818,1},{7633,-10822,1},{7628,-10808,1},{7625,-10813,1},{7625,-10823,1}, {7623,-10820,1},{7623,-10810,1},{7622,-10810,1},{7617,-10838,1},{7610,-10845,1}, {7608,-10838,1},{7603,-10850,1},{7605,-10830,1},{7605,-10817,1},{7607,-10795,1}, {7607,-10783,1},{7603,-10773,1},{7598,-10763,1},{7593,-10778,1},{7590,-10775,1}, {7588,-10793,1},{7582,-10803,1},{7578,-10802,1},{7580,-10787,1},{7588,-10773,1}, {7592,-10737,1},{7588,-10705,1},{7582,-10710,1},{7580,-10695,1},{7577,-10703,1}, {7575,-10695,1},{7570,-10697,1},{7565,-10688,1},{7577,-10688,1},{7578,-10680,1}, {7580,-10662,1},{7583,-10688,1},{7593,-10690,1},{7597,-10687,1},{7605,-10660,1}, {7605,-10633,1},{7602,-10593,1},{7593,-10560,1},{7583,-10545,1},{7575,-10542,1}, {7573,-10547,1},{7563,-10538,1},{7562,-10547,1},{7555,-10550,1},{7553,-10563,1}, {7552,-10568,1},{7550,-10567,1},{7548,-10575,1},{7547,-10560,1},{7543,-10563,1}, {7542,-10572,1},{7537,-10565,1},{7532,-10573,1},{7528,-10587,1},{7522,-10593,1}, {7520,-10593,1},{7518,-10585,1},{7513,-10588,1},{7513,-10602,1},{7510,-10607,1}, {7505,-10602,1},{7502,-10627,1},{7500,-10677,1},{7493,-10693,1},{7492,-10717,1}, {7493,-10730,1},{7493,-10747,1},{7497,-10767,1},{7502,-10772,1},{7505,-10768,1}, {7510,-10773,1},{7510,-10778,1},{7503,-10775,1},{7500,-10790,1},{7502,-10793,1}, {7500,-10800,1},{7495,-10795,1},{7495,-10802,1},{7493,-10793,1},{7493,-10795,1}, {7492,-10837,1},{7493,-10853,1},{7497,-10857,1},{7498,-10880,1},{7498,-10852,1}, {7505,-10865,1},{7507,-10880,1},{7505,-10893,1},{7503,-10895,1},{7500,-10893,1}, {7500,-10903,1},{7498,-10900,1},{7498,-10910,1},{7495,-10935,1},{7490,-10938,1}, {7487,-10952,1},{7487,-10992,1},{7482,-11007,1},{7483,-11008,1},{7485,-11035,1}, {7483,-11035,1},{7482,-11042,1},{7480,-11032,1},{7478,-11058,1},{7480,-11063,1}, {7478,-11067,1},{7470,-11060,1},{7468,-11075,1},{7465,-11088,1},{7465,-11097,1}, {7462,-11100,1},{7458,-11113,1},{7458,-11123,1},{7457,-11132,1},{7457,-11143,1}, {7450,-11168,1},{7445,-11222,1},{7442,-11237,1},{7440,-11292,1},{7442,-11345,1}, {7443,-11363,1},{7453,-11405,1},{7462,-11433,1},{7467,-11445,1},{7468,-11443,1}, {7475,-11423,1},{7480,-11395,1},{7485,-11358,1},{7485,-11333,1},{7485,-11320,1}, {7487,-11323,1},{7488,-11332,1},{7490,-11317,1},{7492,-11315,1},{7497,-11288,1}, {7500,-11252,1},{7500,-11202,1},{7498,-11175,1},{7502,-11155,1},{7505,-11148,1}, {7505,-11157,1},{7507,-11157,1},{7507,-11140,1},{7508,-11130,1},{7508,-11128,1}, {7512,-11135,1},{7510,-11128,1},{7512,-11127,1},{7513,-11115,1},{7517,-11103,1}, {7518,-11107,1},{7522,-11102,1},{7522,-11092,1},{7523,-11092,1},{7527,-11105,1}, {7527,-11123,1},{7522,-11128,1},{7518,-11138,1},{7517,-11148,1},{7517,-11160,1}, {7515,-11158,1},{7515,-11170,1},{7518,-11177,1},{7513,-11190,1},{7515,-11205,1}, {7512,-11238,1},{7515,-11247,1},{7520,-11230,1},{7522,-11238,1},{7522,-11233,1}, {7523,-11240,1},{7522,-11247,1},{7518,-11245,1},{7518,-11262,1},{7520,-11263,1}, {7523,-11258,1},{7528,-11265,1},{7527,-11268,1},{7520,-11273,1},{7513,-11270,1}, {7512,-11280,1},{7510,-11302,1},{7512,-11308,1},{7515,-11313,1},{7512,-11315,1}, {7508,-11325,1},{7507,-11353,1},{7505,-11370,1},{7505,-11392,1},{7507,-11397,1}, {7513,-11393,1},{7518,-11365,1},{7517,-11387,1},{7518,-11393,1},{7525,-11387,1}, {7533,-11378,1},{7542,-11332,1},{7542,-11348,1},{7543,-11347,1},{7542,-11355,1}, {7537,-11390,1},{7542,-11397,1},{7547,-11407,1},{7542,-11410,1},{7537,-11403,1}, {7525,-11413,1},{7522,-11420,1},{7525,-11432,1},{7528,-11437,1},{7530,-11450,1}, {7532,-11452,1},{7527,-11462,1},{7527,-11450,1},{7525,-11442,1},{7517,-11430,1}, {7507,-11443,1},{7498,-11485,1},{7497,-11505,1},{7498,-11520,1},{7505,-11523,1}, {7510,-11517,1},{7518,-11525,1},{7513,-11528,1},{7510,-11540,1},{7513,-11562,1}, {7513,-11567,1},{7512,-11560,1},{7503,-11553,1},{7502,-11555,1},{7497,-11567,1}, {7505,-11625,1},{7510,-11610,1},{7512,-11603,1},{7510,-11630,1},{7512,-11633,1}, {7517,-11625,1},{7520,-11625,1},{7518,-11657,1},{7512,-11670,1},{7513,-11688,1}, {7515,-11695,1},{7515,-11702,1},{7515,-11715,1},{7518,-11742,1},{7525,-11768,1}, {7530,-11767,1},{7532,-11755,1},{7537,-11753,1},{7547,-11723,1},{7548,-11600,1}, {7558,-11562,1},{7560,-11540,1},{7560,-11527,1},{7563,-11527,1},{7568,-11510,1}, {7568,-11500,1},{7570,-11505,1},{7568,-11517,1},{7565,-11540,1},{7565,-11567,1}, {7560,-11603,1},{7557,-11610,1},{7555,-11637,1},{7557,-11720,1},{7560,-11725,1}, {7573,-11702,1},{7580,-11685,1},{7582,-11603,1},{7583,-11580,1},{7585,-11577,1}, {7583,-11560,1},{7583,-11538,1},{7585,-11532,1},{7585,-11498,1},{7588,-11482,1}, {7590,-11482,1},{7590,-11488,1},{7588,-11530,1},{7588,-11575,1},{7588,-11593,1}, {7587,-11608,1},{7587,-11650,1},{7588,-11665,1},{7590,-11672,1},{7595,-11672,1}, {7597,-11647,1},{7600,-11653,1},{7603,-11650,1},{7603,-11667,1},{7603,-11670,1}, {7612,-11663,1},{7615,-11652,1},{7618,-11635,1},{7620,-11608,1},{7618,-11525,1}, {7615,-11488,1},{7617,-11467,1},{7618,-11495,1},{7623,-11530,1},{7623,-11578,1}, {7625,-11587,1},{7628,-11592,1},{7632,-11585,1},{7635,-11590,1},{7645,-11550,1}, {7647,-11502,1},{7652,-11492,1},{7652,-11472,1},{7648,-11477,1},{7650,-11447,1}, {7648,-11440,1},{7645,-11415,1},{7638,-11408,1},{7635,-11410,1},{7635,-11418,1}, {7633,-11412,1},{7632,-11413,1},{7627,-11398,1},{7622,-11407,1},{7618,-11398,1}, {7620,-11368,1},{7627,-11335,1},{7627,-11300,1},{7625,-11290,1},{7622,-11283,1}, {7620,-11258,1},{7617,-11243,1},{7665,-9200,129},{7668,-9172,1},{7668,-9153,1}, {7668,-9138,1},{7665,-9098,1},{7660,-9082,1},{7657,-9057,1},{7647,-9047,1}, {7645,-9063,1},{7647,-9090,1},{7652,-9098,1},{7648,-9103,1},{7648,-9108,1}, {7652,-9142,1},{7650,-9157,1},{7645,-9140,1},{7645,-9098,1},{7643,-9093,1}, {7642,-9073,1},{7638,-9057,1},{7640,-9037,1},{7633,-8978,1},{7630,-8930,1}, {7627,-8923,1},{7622,-8920,1},{7618,-8938,1},{7617,-8983,1},{7617,-8998,1}, {7618,-9042,1},{7617,-9043,1},{7613,-9007,1},{7612,-9008,1},{7613,-9035,1}, {7617,-9055,1},{7617,-9088,1},{7620,-9115,1},{7625,-9142,1},{7627,-9162,1}, {7620,-9125,1},{7618,-9125,1},{7615,-9140,1},{7615,-9138,1},{7617,-9122,1}, {7615,-9093,1},{7612,-9068,1},{7608,-9075,1},{7607,-9085,1},{7607,-9068,1}, {7608,-9055,1},{7607,-9018,1},{7603,-9030,1},{7602,-9117,1},{7600,-9093,1}, {7598,-9107,1},{7595,-9093,1},{7593,-9097,1},{7590,-9113,1},{7583,-9113,1}, {7585,-9108,1},{7590,-9105,1},{7593,-9090,1},{7600,-9080,1},{7598,-9068,1}, {7595,-9072,1},{7598,-9057,1},{7597,-9043,1},{7593,-9053,1},{7590,-9052,1}, {7597,-9033,1},{7597,-9023,1},{7593,-9012,1},{7600,-9007,1},{7602,-9002,1}, {7600,-8993,1},{7597,-8995,1},{7597,-8983,1},{7593,-8980,1},{7590,-8968,1}, {7583,-8978,1},{7578,-8977,1},{7580,-8970,1},{7583,-8965,1},{7585,-8955,1}, {7585,-8962,1},{7583,-8942,1},{7577,-8917,1},{7563,-8925,1},{7560,-8953,1}, {7562,-8965,1},{7560,-8967,1},{7558,-8977,1},{7558,-8960,1},{7558,-8955,1}, {7557,-8957,1},{7555,-8970,1},{7555,-8963,1},{7555,-8953,1},{7558,-8940,1}, {7558,-8923,1},{7557,-8917,1},{7548,-8910,1},{7547,-8898,1},{7545,-8898,1}, {7543,-8893,1},{7543,-8877,1},{7547,-8875,1},{7560,-8890,1},{7563,-8877,1}, {7568,-8873,1},{7567,-8862,1},{7558,-8840,1},{7553,-8820,1},{7552,-8820,1}, {7550,-8830,1},{7547,-8823,1},{7552,-8807,1},{7558,-8775,1},{7557,-8767,1}, {7552,-8762,1},{7548,-8750,1},{7545,-8760,1},{7545,-8752,1},{7547,-8743,1}, {7557,-8752,1},{7557,-8743,1},{7562,-8738,1},{7562,-8727,1},{7558,-8710,1}, {7555,-8705,1},{7548,-8680,1},{7547,-8658,1},{7543,-8638,1},{7540,-8640,1}, {7538,-8658,1},{7537,-8660,1},{7538,-8638,1},{7542,-8617,1},{7540,-8552,1}, {7543,-8582,1},{7547,-8590,1},{7548,-8612,1},{7550,-8615,1},{7555,-8592,1}, {7555,-8577,1},{7560,-8553,1},{7557,-8553,1},{7555,-8523,1},{7557,-8532,1}, {7560,-8530,1},{7560,-8520,1},{7562,-8518,1},{7563,-8503,1},{7565,-8502,1}, {7565,-8507,1},{7565,-8503,1},{7565,-8480,1},{7563,-8460,1},{7563,-8450,1}, {7565,-8465,1},{7568,-8467,1},{7570,-8430,1},{7577,-8420,1},{7577,-8400,1}, {7580,-8392,1},{7582,-8400,1},{7582,-8397,1},{7582,-8383,1},{7582,-8372,1}, {7580,-8373,1},{7578,-8352,1},{7575,-8343,1},{7573,-8330,1},{7575,-8318,1}, {7573,-8310,1},{7582,-8267,1},{7583,-8233,1},{7582,-8192,1},{7582,-8153,1}, {7578,-8130,1},{7577,-8110,1},{7565,-8127,1},{7563,-8102,1},{7565,-8047,1}, {7563,-8042,1},{7562,-8025,1},{7558,-8007,1},{7555,-8008,1},{7553,-7995,1}, {7547,-8037,1},{7548,-7993,1},{7545,-7958,1},{7543,-7968,1},{7540,-7960,1}, {7538,-7948,1},{7537,-7948,1},{7535,-7953,1},{7532,-7953,1},{7532,-7960,1}, {7530,-7962,1},{7528,-7957,1},{7528,-7945,1},{7517,-7963,1},{7517,-7983,1}, {7515,-7985,1},{7513,-7995,1},{7508,-7997,1},{7507,-8015,1},{7507,-8028,1}, {7503,-8033,1},{7503,-8043,1},{7500,-8033,1},{7498,-8018,1},{7497,-8027,1}, {7495,-8027,1},{7497,-8012,1},{7495,-8003,1},{7500,-7997,1},{7503,-7980,1}, {7502,-7962,1},{7500,-7950,1},{7498,-7955,1},{7492,-7945,1},{7490,-7933,1}, {7487,-7938,1},{7487,-7963,1},{7482,-7988,1},{7487,-8017,1},{7490,-8015,1}, {7493,-8018,1},{7487,-8022,1},{7488,-8027,1},{7493,-8030,1},{7490,-8042,1}, {7487,-8035,1},{7482,-8010,1},{7478,-8010,1},{7475,-8025,1},{7472,-8013,1}, {7468,-8022,1},{7463,-8020,1},{7463,-8015,1},{7458,-8023,1},{7458,-8047,1}, {7457,-8055,1},{7457,-8083,1},{7458,-8107,1},{7457,-8122,1},{7445,-8182,1}, {7448,-8208,1},{7452,-8223,1},{7452,-8245,1},{7453,-8238,1},{7457,-8243,1}, {7453,-8248,1},{7452,-8260,1},{7452,-8278,1},{7457,-8293,1},{7463,-8308,1}, {7468,-8313,1},{7475,-8310,1},{7478,-8302,1},{7478,-8308,1},{7483,-8310,1}, {7483,-8327,1},{7490,-8352,1},{7488,-8357,1},{7483,-8352,1},{7477,-8332,1}, {7458,-8347,1},{7453,-8362,1},{7455,-8382,1},{7453,-8398,1},{7450,-8428,1}, {7452,-8445,1},{7450,-8463,1},{7452,-8470,1},{7450,-8490,1},{7457,-8498,1}, {7465,-8500,1},{7467,-8495,1},{7470,-8498,1},{7463,-8507,1},{7452,-8505,1}, {7450,-8510,1},{7448,-8522,1},{7450,-8537,1},{7455,-8537,1},{7468,-8553,1}, {7467,-8555,1},{7453,-8548,1},{7450,-8560,1},{7448,-8607,1},{7448,-8612,1}, {7450,-8612,1},{7455,-8608,1},{7458,-8617,1},{7462,-8618,1},{7460,-8623,1}, {7452,-8625,1},{7448,-8642,1},{7455,-8668,1},{7462,-8675,1},{7462,-8680,1}, {7453,-8680,1},{7447,-8662,1},{7447,-8695,1},{7450,-8700,1},{7447,-8703,1}, {7447,-8730,1},{7452,-8737,1},{7455,-8732,1},{7453,-8742,1},{7448,-8747,1}, {7447,-8757,1},{7447,-8772,1},{7452,-8777,1},{7447,-8790,1},{7448,-8810,1}, {7450,-8813,1},{7448,-8822,1},{7450,-8850,1},{7455,-8857,1},{7460,-8857,1}, {7470,-8843,1},{7477,-8843,1},{7477,-8830,1},{7478,-8848,1},{7483,-8845,1}, {7490,-8855,1},{7485,-8855,1},{7482,-8862,1},{7485,-8862,1},{7483,-8867,1}, {7467,-8882,1},{7467,-8888,1},{7478,-8892,1},{7483,-8908,1},{7478,-8902,1}, {7472,-8905,1},{7472,-8912,1},{7475,-8927,1},{7472,-8918,1},{7468,-8910,1}, {7460,-8913,1},{7457,-8925,1},{7458,-8938,1},{7455,-8943,1},{7455,-8948,1}, {7453,-8993,1},{7455,-8997,1},{7458,-9000,1},{7455,-9010,1},{7460,-9037,1}, {7463,-9032,1},{7460,-9045,1},{7462,-9058,1},{7467,-9073,1},{7472,-9077,1}, {7473,-9072,1},{7472,-9085,1},{7468,-9090,1},{7470,-9102,1},{7475,-9097,1}, {7477,-9088,1},{7483,-9075,1},{7488,-9077,1},{7488,-9085,1},{7483,-9088,1}, {7475,-9110,1},{7475,-9118,1},{7473,-9123,1},{7463,-9110,1},{7463,-9128,1}, {7472,-9132,1},{7470,-9137,1},{7467,-9133,1},{7465,-9137,1},{7465,-9155,1}, {7468,-9168,1},{7470,-9162,1},{7472,-9165,1},{7472,-9182,1},{7470,-9182,1}, {7472,-9187,1},{7473,-9182,1},{7480,-9205,1},{7492,-9202,1},{7493,-9208,1}, {7495,-9205,1},{7503,-9222,1},{7507,-9223,1},{7508,-9202,1},{7510,-9202,1}, {7513,-9212,1},{7515,-9205,1},{7513,-9227,1},{7515,-9233,1},{7517,-9232,1}, {7517,-9238,1},{7518,-9238,1},{7522,-9250,1},{7532,-9245,1},{7537,-9233,1}, {7537,-9245,1},{7543,-9240,1},{7555,-9222,1},{7558,-9202,1},{7562,-9208,1}, {7567,-9200,1},{7575,-9217,1},{7580,-9210,1},{7588,-9213,1},{7592,-9235,1}, {7597,-9253,1},{7600,-9257,1},{7602,-9263,1},{7612,-9263,1},{7617,-9277,1}, {7620,-9280,1},{7623,-9293,1},{7630,-9307,1},{7635,-9308,1},{7637,-9318,1}, {7635,-9335,1},{7630,-9358,1},{7630,-9365,1},{7632,-9362,1},{7633,-9363,1}, {7632,-9368,1},{7628,-9377,1},{7627,-9363,1},{7625,-9368,1},{7627,-9410,1}, {7628,-9422,1},{7628,-9463,1},{7632,-9467,1},{7632,-9475,1},{7628,-9480,1}, {7625,-9500,1},{7622,-9505,1},{7623,-9518,1},{7623,-9538,1},{7630,-9537,1}, {7628,-9528,1},{7630,-9512,1},{7633,-9498,1},{7632,-9485,1},{7630,-9485,1}, {7633,-9482,1},{7637,-9513,1},{7635,-9518,1},{7637,-9527,1},{7635,-9538,1}, {7637,-9545,1},{7638,-9537,1},{7640,-9540,1},{7638,-9552,1},{7640,-9583,1}, {7643,-9600,1},{7650,-9610,1},{7652,-9605,1},{7652,-9578,1},{7660,-9558,1}, {7660,-9567,1},{7655,-9578,1},{7657,-9580,1},{7655,-9600,1},{7658,-9600,1}, {7658,-9615,1},{7660,-9618,1},{7663,-9623,1},{7663,-9640,1},{7668,-9647,1}, {7670,-9663,1},{7670,-9683,1},{7673,-9697,1},{7677,-9683,1},{7678,-9690,1}, {7682,-9685,1},{7677,-9668,1},{7675,-9667,1},{7677,-9655,1},{7675,-9643,1}, {7675,-9630,1},{7678,-9647,1},{7677,-9658,1},{7678,-9650,1},{7680,-9652,1}, {7678,-9643,1},{7680,-9632,1},{7682,-9655,1},{7687,-9667,1},{7687,-9682,1}, {7692,-9685,1},{7693,-9680,1},{7693,-9670,1},{7695,-9667,1},{7697,-9682,1}, {7698,-9682,1},{7697,-9648,1},{7695,-9647,1},{7700,-9635,1},{7698,-9628,1}, {7700,-9625,1},{7700,-9630,1},{7703,-9638,1},{7707,-9575,1},{7705,-9558,1}, {7705,-9542,1},{7700,-9518,1},{7700,-9502,1},{7698,-9495,1},{7697,-9453,1}, {7692,-9445,1},{7692,-9430,1},{7688,-9423,1},{7688,-9408,1},{7693,-9395,1}, {7690,-9365,1},{7685,-9358,1},{7678,-9330,1},{7675,-9327,1},{7675,-9318,1}, {7668,-9317,1},{7655,-9330,1},{7648,-9348,1},{7643,-9365,1},{7638,-9355,1}, {7642,-9347,1},{7642,-9355,1},{7643,-9358,1},{7647,-9335,1},{7658,-9312,1}, {7662,-9312,1},{7662,-9283,1},{7660,-9268,1},{7662,-9253,1},{7660,-9238,1}, {7662,-9218,1},{7665,-9202,1},{8247,-7625,129},{8245,-7623,1},{8247,-7610,1}, {8258,-7565,1},{8262,-7540,1},{8268,-7597,1},{8268,-7608,1},{8272,-7623,1}, {8275,-7632,1},{8278,-7598,1},{8278,-7628,1},{8280,-7650,1},{8290,-7675,1}, {8298,-7738,1},{8303,-7722,1},{8302,-7713,1},{8300,-7660,1},{8303,-7627,1}, {8305,-7603,1},{8302,-7525,1},{8305,-7495,1},{8302,-7437,1},{8295,-7402,1}, {8285,-7382,1},{8277,-7325,1},{8273,-7283,1},{8270,-7263,1},{8272,-7250,1}, {8280,-7315,1},{8285,-7338,1},{8290,-7343,1},{8293,-7365,1},{8302,-7318,1}, {8305,-7290,1},{8307,-7300,1},{8310,-7265,1},{8308,-7248,1},{8310,-7217,1}, {8310,-7162,1},{8305,-7170,1},{8300,-7180,1},{8293,-7157,1},{8288,-7087,1}, {8290,-7085,1},{8300,-7147,1},{8302,-7147,1},{8307,-7110,1},{8310,-7112,1}, {8312,-7037,1},{8312,-6982,1},{8310,-6967,1},{8305,-6977,1},{8303,-6945,1}, {8300,-6965,1},{8302,-6923,1},{8303,-6902,1},{8298,-6898,1},{8298,-6863,1}, {8300,-6847,1},{8298,-6815,1},{8293,-6815,1},{8297,-6767,1},{8293,-6720,1}, {8297,-6703,1},{8295,-6693,1},{8293,-6695,1},{8293,-6683,1},{8295,-6678,1}, {8293,-6665,1},{8293,-6630,1},{8288,-6637,1},{8282,-6683,1},{8270,-6803,1}, {8268,-6835,1},{8265,-6863,1},{8263,-6865,1},{8265,-6793,1},{8265,-6747,1}, {8272,-6690,1},{8272,-6667,1},{8275,-6663,1},{8285,-6577,1},{8283,-6547,1}, {8278,-6552,1},{8277,-6517,1},{8280,-6535,1},{8285,-6520,1},{8285,-6510,1}, {8287,-6530,1},{8290,-6488,1},{8290,-6465,1},{8288,-6472,1},{8287,-6493,1}, {8285,-6472,1},{8282,-6473,1},{8277,-6445,1},{8283,-6410,1},{8283,-6358,1}, {8280,-6338,1},{8277,-6338,1},{8273,-6352,1},{8272,-6385,1},{8272,-6365,1}, {8267,-6355,1},{8265,-6325,1},{8260,-6335,1},{8260,-6303,1},{8258,-6293,1}, {8255,-6305,1},{8247,-6308,1},{8243,-6337,1},{8247,-6302,1},{8252,-6290,1}, {8248,-6277,1},{8252,-6273,1},{8253,-6225,1},{8252,-6217,1},{8252,-6232,1}, {8248,-6235,1},{8250,-6223,1},{8250,-6208,1},{8250,-6195,1},{8248,-6153,1}, {8243,-6130,1},{8232,-6108,1},{8222,-6120,1},{8217,-6147,1},{8213,-6202,1}, {8210,-6187,1},{8202,-6225,1},{8202,-6250,1},{8198,-6250,1},{8188,-6330,1}, {8185,-6362,1},{8180,-6385,1},{8178,-6402,1},{8180,-6415,1},{8182,-6432,1}, {8177,-6412,1},{8172,-6437,1},{8173,-6477,1},{8175,-6492,1},{8177,-6533,1}, {8173,-6535,1},{8172,-6552,1},{8170,-6563,1},{8170,-6603,1},{8167,-6568,1}, {8168,-6533,1},{8163,-6587,1},{8165,-6598,1},{8162,-6617,1},{8160,-6757,1}, {8157,-6815,1},{8157,-6832,1},{8170,-6908,1},{8172,-6930,1},{8155,-6837,1}, {8153,-6835,1},{8153,-6845,1},{8155,-6885,1},{8152,-6858,1},{8157,-6715,1}, {8153,-6678,1},{8152,-6660,1},{8128,-6865,1},{8127,-6903,1},{8127,-6943,1}, {8125,-6947,1},{8123,-6932,1},{8122,-6953,1},{8118,-6992,1},{8118,-7020,1}, {8117,-6997,1},{8118,-6963,1},{8112,-6998,1},{8110,-7000,1},{8113,-6963,1}, {8118,-6943,1},{8128,-6808,1},{8137,-6735,1},{8145,-6617,1},{8150,-6572,1}, {8155,-6462,1},{8153,-6452,1},{8147,-6445,1},{8137,-6478,1},{8125,-6547,1}, {8122,-6602,1},{8102,-6675,1},{8093,-6720,1},{8093,-6758,1},{8090,-6753,1}, {8085,-6765,1},{8085,-6783,1},{8082,-6783,1},{8075,-6828,1},{8063,-6878,1}, {8062,-6897,1},{8058,-6890,1},{8053,-6915,1},{8042,-6930,1},{8038,-6943,1}, {8035,-6965,1},{8035,-7007,1},{8035,-7028,1},{8038,-7025,1},{8042,-7022,1}, {8047,-7032,1},{8057,-7082,1},{8042,-7037,1},{8038,-7047,1},{8033,-7045,1}, {8025,-6997,1},{8020,-7015,1},{8020,-7075,1},{8020,-7085,1},{8017,-7118,1}, {8012,-7147,1},{8012,-7165,1},{8012,-7178,1},{8018,-7200,1},{8018,-7217,1}, {8022,-7230,1},{8022,-7238,1},{8020,-7242,1},{8012,-7190,1},{8008,-7208,1}, {8008,-7238,1},{8008,-7232,1},{8007,-7233,1},{8007,-7148,1},{8013,-7077,1}, {8013,-7063,1},{8010,-7050,1},{8005,-7050,1},{8003,-7065,1},{7998,-7072,1}, {7997,-7123,1},{7993,-7142,1},{7988,-7142,1},{7992,-7112,1},{7988,-7092,1}, {7982,-7100,1},{7982,-7110,1},{7978,-7113,1},{7977,-7138,1},{7973,-7148,1}, {7967,-7225,1},{7968,-7240,1},{7968,-7275,1},{7970,-7293,1},{7980,-7307,1}, {7980,-7292,1},{7982,-7293,1},{7983,-7343,1},{7983,-7385,1},{7985,-7375,1}, {7988,-7402,1},{7988,-7425,1},{7987,-7442,1},{7985,-7483,1},{7978,-7468,1}, {7980,-7432,1},{7978,-7397,1},{7975,-7355,1},{7977,-7337,1},{7972,-7337,1}, {7965,-7317,1},{7955,-7313,1},{7950,-7335,1},{7950,-7365,1},{7950,-7378,1}, {7955,-7388,1},{7955,-7398,1},{7947,-7397,1},{7943,-7417,1},{7943,-7465,1}, {7950,-7495,1},{7952,-7497,1},{7948,-7507,1},{7940,-7488,1},{7937,-7502,1}, {7940,-7553,1},{7943,-7565,1},{7940,-7570,1},{7942,-7580,1},{7945,-7582,1}, {7942,-7593,1},{7950,-7620,1},{7952,-7667,1},{7952,-7690,1},{7952,-7705,1}, {7955,-7715,1},{7952,-7718,1},{7948,-7713,1},{7948,-7687,1},{7948,-7668,1}, {7947,-7658,1},{7947,-7618,1},{7938,-7615,1},{7935,-7588,1},{7933,-7612,1}, {7935,-7625,1},{7935,-7687,1},{7940,-7708,1},{7947,-7713,1},{7945,-7725,1}, {7945,-7737,1},{7945,-7740,1},{7932,-7717,1},{7935,-7747,1},{7935,-7773,1}, {7937,-7792,1},{7935,-7805,1},{7932,-7788,1},{7930,-7750,1},{7927,-7732,1}, {7925,-7748,1},{7928,-7675,1},{7927,-7613,1},{7923,-7593,1},{7923,-7480,1}, {7922,-7450,1},{7920,-7452,1},{7917,-7483,1},{7915,-7462,1},{7913,-7467,1}, {7912,-7455,1},{7907,-7445,1},{7903,-7445,1},{7903,-7455,1},{7903,-7497,1}, {7907,-7565,1},{7908,-7577,1},{7910,-7578,1},{7910,-7588,1},{7915,-7585,1}, {7920,-7613,1},{7918,-7697,1},{7922,-7778,1},{7918,-7797,1},{7918,-7812,1}, {7917,-7825,1},{7917,-7818,1},{7918,-7792,1},{7915,-7697,1},{7915,-7663,1}, {7912,-7613,1},{7910,-7608,1},{7908,-7617,1},{7908,-7663,1},{7907,-7700,1}, {7905,-7733,1},{7902,-7750,1},{7903,-7772,1},{7907,-7780,1},{7907,-7813,1}, {7908,-7835,1},{7907,-7888,1},{7905,-7783,1},{7902,-7770,1},{7897,-7795,1}, {7880,-7828,1},{7877,-7825,1},{7878,-7817,1},{7887,-7805,1},{7897,-7772,1}, {7898,-7718,1},{7903,-7672,1},{7902,-7637,1},{7897,-7572,1},{7893,-7583,1}, {7890,-7632,1},{7887,-7645,1},{7883,-7643,1},{7888,-7623,1},{7888,-7587,1}, {7890,-7568,1},{7888,-7528,1},{7885,-7492,1},{7882,-7488,1},{7883,-7477,1}, {7880,-7477,1},{7878,-7490,1},{7877,-7477,1},{7875,-7483,1},{7870,-7472,1}, {7870,-7485,1},{7863,-7487,1},{7862,-7472,1},{7858,-7463,1},{7858,-7482,1}, {7853,-7505,1},{7852,-7548,1},{7852,-7597,1},{7853,-7612,1},{7855,-7643,1}, {7852,-7668,1},{7850,-7665,1},{7852,-7628,1},{7850,-7612,1},{7847,-7608,1}, {7843,-7545,1},{7837,-7508,1},{7833,-7503,1},{7830,-7508,1},{7830,-7535,1}, {7822,-7548,1},{7820,-7562,1},{7823,-7615,1},{7825,-7657,1},{7822,-7688,1}, {7820,-7690,1},{7817,-7667,1},{7815,-7638,1},{7813,-7617,1},{7813,-7605,1}, {7812,-7560,1},{7808,-7560,1},{7797,-7592,1},{7798,-7612,1},{7802,-7615,1}, {7802,-7625,1},{7798,-7647,1},{7795,-7653,1},{7793,-7675,1},{7790,-7687,1}, {7792,-7705,1},{7795,-7722,1},{7793,-7790,1},{7800,-7823,1},{7798,-7827,1}, {7797,-7818,1},{7793,-7837,1},{7790,-7842,1},{7787,-7832,1},{7785,-7813,1}, {7783,-7813,1},{7780,-7795,1},{7775,-7795,1},{7773,-7805,1},{7770,-7798,1}, {7767,-7808,1},{7767,-7792,1},{7760,-7772,1},{7755,-7798,1},{7750,-7795,1}, {7745,-7808,1},{7743,-7825,1},{7738,-7825,1},{7735,-7855,1},{7730,-7878,1}, {7732,-7883,1},{7737,-7873,1},{7738,-7877,1},{7737,-7888,1},{7732,-7900,1}, {7728,-7920,1},{7732,-7968,1},{7730,-7983,1},{7727,-7998,1},{7728,-8023,1}, {7730,-8045,1},{7733,-8075,1},{7738,-8100,1},{7742,-8108,1},{7742,-8128,1}, {7747,-8135,1},{7752,-8157,1},{7755,-8157,1},{7757,-8167,1},{7758,-8162,1}, {7763,-8183,1},{7767,-8185,1},{7768,-8193,1},{7762,-8192,1},{7758,-8180,1}, {7753,-8167,1},{7743,-8173,1},{7737,-8148,1},{7737,-8120,1},{7733,-8117,1}, {7732,-8117,1},{7728,-8183,1},{7732,-8208,1},{7730,-8220,1},{7725,-8190,1}, {7717,-8187,1},{7715,-8180,1},{7717,-8173,1},{7728,-8108,1},{7720,-8012,1}, {7708,-8040,1},{7707,-8037,1},{7712,-8017,1},{7718,-8002,1},{7725,-7967,1}, {7722,-7925,1},{7715,-7903,1},{7713,-7907,1},{7708,-7902,1},{7707,-7912,1}, {7693,-7940,1},{7692,-7935,1},{7692,-7907,1},{7693,-7900,1},{7693,-7888,1}, {7683,-7897,1},{7682,-7875,1},{7683,-7870,1},{7688,-7872,1},{7688,-7857,1}, {7693,-7855,1},{7697,-7840,1},{7700,-7838,1},{7702,-7825,1},{7702,-7807,1}, {7695,-7788,1},{7692,-7790,1},{7688,-7783,1},{7687,-7788,1},{7682,-7772,1}, {7678,-7778,1},{7673,-7777,1},{7668,-7782,1},{7665,-7777,1},{7663,-7787,1}, {7663,-7802,1},{7662,-7808,1},{7657,-7818,1},{7653,-7813,1},{7650,-7835,1}, {7647,-7837,1},{7645,-7847,1},{7648,-7862,1},{7655,-7862,1},{7657,-7857,1}, {7657,-7880,1},{7652,-7887,1},{7642,-7900,1},{7640,-7918,1},{7638,-7918,1}, {7635,-7927,1},{7630,-7930,1},{7632,-7952,1},{7630,-7963,1},{7622,-8008,1}, {7623,-8020,1},{7622,-8035,1},{7620,-8043,1},{7618,-8060,1},{7615,-8067,1}, {7617,-8087,1},{7617,-8090,1},{7613,-8105,1},{7615,-8108,1},{7618,-8095,1}, {7622,-8110,1},{7637,-8078,1},{7642,-8077,1},{7648,-8098,1},{7650,-8122,1}, {7655,-8120,1},{7648,-8135,1},{7647,-8150,1},{7647,-8178,1},{7652,-8203,1}, {7652,-8208,1},{7658,-8198,1},{7662,-8205,1},{7665,-8182,1},{7668,-8178,1}, {7663,-8215,1},{7663,-8233,1},{7668,-8245,1},{7678,-8258,1},{7682,-8272,1}, {7682,-8277,1},{7672,-8255,1},{7668,-8257,1},{7663,-8247,1},{7657,-8208,1}, {7653,-8222,1},{7643,-8213,1},{7642,-8218,1},{7640,-8230,1},{7638,-8277,1}, {7642,-8290,1},{7643,-8300,1},{7647,-8310,1},{7650,-8307,1},{7658,-8312,1}, {7667,-8338,1},{7675,-8335,1},{7677,-8340,1},{7670,-8352,1},{7658,-8325,1}, {7652,-8323,1},{7650,-8318,1},{7645,-8325,1},{7642,-8320,1},{7642,-8348,1}, {7643,-8372,1},{7647,-8375,1},{7648,-8390,1},{7653,-8403,1},{7662,-8408,1}, {7665,-8428,1},{7665,-8433,1},{7662,-8420,1},{7653,-8425,1},{7648,-8418,1}, {7645,-8423,1},{7643,-8452,1},{7645,-8467,1},{7647,-8478,1},{7650,-8480,1}, {7658,-8495,1},{7657,-8503,1},{7652,-8505,1},{7642,-8497,1},{7640,-8477,1}, {7632,-8438,1},{7630,-8443,1},{7630,-8478,1},{7628,-8493,1},{7628,-8523,1}, {7632,-8527,1},{7632,-8547,1},{7635,-8573,1},{7638,-8637,1},{7647,-8642,1}, {7652,-8622,1},{7653,-8622,1},{7663,-8662,1},{7652,-8630,1},{7647,-8665,1}, {7635,-8672,1},{7638,-8713,1},{7643,-8713,1},{7645,-8742,1},{7650,-8740,1}, {7653,-8750,1},{7658,-8747,1},{7662,-8753,1},{7662,-8758,1},{7653,-8760,1}, {7650,-8750,1},{7645,-8755,1},{7642,-8743,1},{7638,-8750,1},{7635,-8742,1}, {7637,-8755,1},{7633,-8758,1},{7635,-8777,1},{7642,-8782,1},{7640,-8787,1}, {7637,-8790,1},{7635,-8795,1},{7638,-8837,1},{7640,-8843,1},{7643,-8837,1}, {7647,-8843,1},{7648,-8835,1},{7652,-8835,1},{7662,-8852,1},{7665,-8848,1}, {7673,-8857,1},{7678,-8848,1},{7682,-8850,1},{7680,-8855,1},{7672,-8870,1}, {7663,-8858,1},{7660,-8867,1},{7658,-8855,1},{7655,-8850,1},{7650,-8848,1}, {7645,-8862,1},{7640,-8860,1},{7642,-8870,1},{7648,-8865,1},{7648,-8862,1}, {7653,-8868,1},{7657,-8865,1},{7660,-8872,1},{7650,-8883,1},{7647,-8878,1}, {7640,-8892,1},{7642,-8903,1},{7645,-8905,1},{7642,-8912,1},{7643,-8923,1}, {7647,-8927,1},{7650,-8943,1},{7657,-8943,1},{7653,-8952,1},{7657,-8968,1}, {7662,-8960,1},{7668,-8942,1},{7672,-8945,1},{7673,-8938,1},{7675,-8947,1}, {7685,-8953,1},{7688,-8942,1},{7695,-8898,1},{7698,-8900,1},{7700,-8873,1}, {7707,-8855,1},{7707,-8847,1},{7710,-8840,1},{7710,-8855,1},{7713,-8830,1}, {7713,-8813,1},{7710,-8815,1},{7713,-8793,1},{7712,-8777,1},{7713,-8768,1}, {7710,-8762,1},{7710,-8745,1},{7712,-8733,1},{7713,-8747,1},{7718,-8733,1}, {7718,-8703,1},{7713,-8695,1},{7713,-8680,1},{7717,-8688,1},{7718,-8660,1}, {7718,-8675,1},{7718,-8687,1},{7720,-8695,1},{7720,-8713,1},{7720,-8717,1}, {7720,-8722,1},{7723,-8717,1},{7727,-8692,1},{7727,-8698,1},{7727,-8720,1}, {7730,-8725,1},{7733,-8710,1},{7735,-8690,1},{7737,-8685,1},{7737,-8718,1}, {7733,-8738,1},{7737,-8772,1},{7738,-8770,1},{7743,-8778,1},{7748,-8765,1}, {7753,-8770,1},{7755,-8782,1},{7758,-8782,1},{7763,-8817,1},{7765,-8822,1}, {7773,-8815,1},{7775,-8817,1},{7777,-8823,1},{7782,-8810,1},{7785,-8822,1}, {7785,-8813,1},{7782,-8807,1},{7790,-8727,1},{7788,-8685,1},{7782,-8638,1}, {7780,-8622,1},{7770,-8597,1},{7750,-8580,1},{7747,-8572,1},{7742,-8580,1}, {7747,-8553,1},{7747,-8548,1},{7743,-8553,1},{7740,-8540,1},{7738,-8497,1}, {7732,-8472,1},{7730,-8450,1},{7732,-8448,1},{7733,-8455,1},{7738,-8462,1}, {7740,-8455,1},{7738,-8435,1},{7740,-8400,1},{7737,-8380,1},{7735,-8347,1}, {7738,-8350,1},{7738,-8345,1},{7740,-8372,1},{7745,-8383,1},{7750,-8343,1}, {7758,-8320,1},{7772,-8290,1},{7778,-8278,1},{7780,-8280,1},{7782,-8270,1}, {7790,-8263,1},{7792,-8255,1},{7795,-8258,1},{7795,-8252,1},{7802,-8258,1}, {7803,-8238,1},{7808,-8232,1},{7807,-8255,1},{7802,-8278,1},{7792,-8273,1}, {7787,-8295,1},{7782,-8298,1},{7778,-8312,1},{7772,-8320,1},{7762,-8338,1}, {7753,-8367,1},{7748,-8390,1},{7752,-8392,1},{7750,-8398,1},{7753,-8438,1}, {7752,-8458,1},{7752,-8477,1},{7755,-8487,1},{7757,-8487,1},{7763,-8463,1}, {7770,-8443,1},{7775,-8448,1},{7768,-8452,1},{7760,-8492,1},{7767,-8532,1}, {7770,-8527,1},{7773,-8535,1},{7775,-8520,1},{7780,-8518,1},{7780,-8505,1}, {7782,-8495,1},{7783,-8498,1},{7780,-8530,1},{7782,-8540,1},{7787,-8532,1}, {7788,-8520,1},{7790,-8490,1},{7788,-8483,1},{7787,-8487,1},{7783,-8490,1}, {7790,-8467,1},{7788,-8435,1},{7790,-8432,1},{7793,-8463,1},{7790,-8493,1}, {7790,-8527,1},{7787,-8547,1},{7790,-8552,1},{7792,-8548,1},{7792,-8560,1}, {7793,-8568,1},{7798,-8545,1},{7805,-8507,1},{7802,-8477,1},{7807,-8455,1}, {7808,-8428,1},{7808,-8443,1},{7807,-8460,1},{7805,-8480,1},{7807,-8500,1}, {7810,-8510,1},{7813,-8500,1},{7817,-8503,1},{7817,-8480,1},{7820,-8463,1}, {7818,-8438,1},{7815,-8420,1},{7818,-8403,1},{7818,-8420,1},{7822,-8450,1}, {7822,-8472,1},{7818,-8492,1},{7820,-8497,1},{7832,-8482,1},{7835,-8458,1}, {7837,-8460,1},{7833,-8473,1},{7837,-8487,1},{7850,-8478,1},{7860,-8463,1}, {7852,-8483,1},{7847,-8487,1},{7842,-8498,1},{7835,-8497,1},{7832,-8505,1}, {7828,-8502,1},{7827,-8512,1},{7818,-8525,1},{7810,-8550,1},{7812,-8550,1}, {7805,-8615,1},{7807,-8627,1},{7810,-8628,1},{7815,-8625,1},{7817,-8612,1}, {7823,-8593,1},{7838,-8583,1},{7830,-8605,1},{7825,-8607,1},{7820,-8628,1}, {7822,-8650,1},{7812,-8673,1},{7810,-8708,1},{7813,-8750,1},{7815,-8753,1}, {7818,-8740,1},{7820,-8708,1},{7823,-8727,1},{7822,-8745,1},{7822,-8752,1}, {7843,-8752,1},{7855,-8713,1},{7855,-8685,1},{7857,-8688,1},{7857,-8712,1}, {7858,-8712,1},{7865,-8698,1},{7872,-8693,1},{7880,-8663,1},{7882,-8607,1}, {7885,-8565,1},{7892,-8525,1},{7892,-8507,1},{7887,-8472,1},{7883,-8375,1}, {7878,-8353,1},{7878,-8340,1},{7872,-8308,1},{7870,-8282,1},{7867,-8268,1}, {7862,-8262,1},{7857,-8233,1},{7860,-8223,1},{7870,-8260,1},{7873,-8245,1}, {7872,-8223,1},{7873,-8223,1},{7875,-8233,1},{7875,-8248,1},{7873,-8263,1}, {7873,-8278,1},{7875,-8285,1},{7880,-8308,1},{7880,-8322,1},{7883,-8325,1}, {7885,-8302,1},{7883,-8247,1},{7883,-8228,1},{7887,-8192,1},{7887,-8177,1}, {7885,-8183,1},{7883,-8172,1},{7888,-8165,1},{7892,-8175,1},{7898,-8168,1}, {7903,-8148,1},{7907,-8150,1},{7900,-8192,1},{7892,-8212,1},{7888,-8250,1}, {7893,-8292,1},{7893,-8370,1},{7895,-8392,1},{7897,-8427,1},{7903,-8477,1}, {7907,-8478,1},{7915,-8450,1},{7912,-8413,1},{7903,-8392,1},{7902,-8350,1}, {7903,-8338,1},{7905,-8335,1},{7903,-8352,1},{7905,-8358,1},{7913,-8400,1}, {7915,-8403,1},{7918,-8393,1},{7922,-8395,1},{7918,-8412,1},{7918,-8433,1}, {7940,-8448,1},{7948,-8488,1},{7963,-8507,1},{7970,-8550,1},{7972,-8568,1}, {7970,-8590,1},{7977,-8648,1},{7982,-8648,1},{7982,-8638,1},{7988,-8647,1}, {7997,-8637,1},{7993,-8558,1},{7990,-8537,1},{7992,-8525,1},{7997,-8553,1}, {8000,-8648,1},{8012,-8665,1},{8030,-8652,1},{8033,-8612,1},{8033,-8590,1}, {8027,-8528,1},{8027,-8402,1},{8025,-8378,1},{8007,-8310,1},{7987,-8215,1}, {7975,-8197,1},{7972,-8198,1},{7968,-8180,1},{7968,-8167,1},{7965,-8168,1}, {7962,-8162,1},{7960,-8168,1},{7962,-8178,1},{7958,-8170,1},{7960,-8158,1}, {7963,-8145,1},{7957,-8063,1},{7958,-8062,1},{7960,-8062,1},{7962,-8050,1}, {7965,-8010,1},{7965,-7990,1},{7970,-7975,1},{7968,-8035,1},{7965,-8080,1}, {7965,-8093,1},{7967,-8098,1},{7972,-8123,1},{7972,-8152,1},{7975,-8152,1}, {7977,-8163,1},{7982,-8157,1},{7990,-8167,1},{7993,-8140,1},{8002,-8217,1}, {8032,-8320,1},{8040,-8203,1},{8042,-8133,1},{8047,-8060,1},{8047,-8037,1}, {8048,-8030,1},{8050,-8035,1},{8053,-8015,1},{8057,-7807,1},{8060,-7803,1}, {8060,-7842,1},{8060,-7963,1},{8060,-7990,1},{8062,-7997,1},{8070,-7928,1}, {8077,-7858,1},{8083,-7763,1},{8083,-7668,1},{8085,-7652,1},{8087,-7648,1}, {8090,-7662,1},{8088,-7680,1},{8088,-7720,1},{8092,-7755,1},{8090,-7788,1}, {8085,-7887,1},{8088,-7893,1},{8092,-7885,1},{8098,-7893,1},{8108,-7850,1}, {8115,-7840,1},{8117,-7847,1},{8118,-7822,1},{8132,-7762,1},{8135,-7720,1}, {8143,-7675,1},{8143,-7703,1},{8128,-7823,1},{8123,-7838,1},{8120,-7867,1}, {8113,-7875,1},{8112,-7868,1},{8110,-7882,1},{8110,-7897,1},{8113,-7925,1}, {8120,-7950,1},{8108,-7907,1},{8107,-7925,1},{8100,-7933,1},{8098,-7918,1}, {8097,-7917,1},{8092,-7927,1},{8092,-7942,1},{8088,-7943,1},{8082,-7962,1}, {8065,-8092,1},{8055,-8235,1},{8053,-8288,1},{8053,-8310,1},{8055,-8317,1}, {8060,-8315,1},{8065,-8308,1},{8065,-8290,1},{8068,-8277,1},{8072,-8222,1}, {8077,-8195,1},{8082,-8175,1},{8083,-8195,1},{8077,-8248,1},{8073,-8257,1}, {8068,-8335,1},{8070,-8353,1},{8073,-8357,1},{8078,-8327,1},{8082,-8312,1}, {8083,-8315,1},{8083,-8332,1},{8075,-8370,1},{8077,-8387,1},{8073,-8377,1}, {8072,-8383,1},{8063,-8372,1},{8057,-8380,1},{8053,-8393,1},{8052,-8432,1}, {8053,-8477,1},{8050,-8507,1},{8052,-8530,1},{8053,-8587,1},{8062,-8560,1}, {8060,-8575,1},{8053,-8608,1},{8055,-8638,1},{8060,-8675,1},{8073,-8652,1}, {8097,-8563,1},{8102,-8505,1},{8103,-8498,1},{8103,-8488,1},{8105,-8440,1}, {8110,-8327,1},{8112,-8312,1},{8113,-8278,1},{8115,-8268,1},{8115,-8247,1}, {8118,-8237,1},{8117,-8252,1},{8117,-8283,1},{8113,-8335,1},{8108,-8418,1}, {8108,-8458,1},{8105,-8525,1},{8105,-8557,1},{8103,-8575,1},{8093,-8635,1}, {8083,-8663,1},{8073,-8707,1},{8063,-8727,1},{8063,-8763,1},{8068,-8803,1}, {8068,-8822,1},{8085,-8932,1},{8092,-8945,1},{8100,-8858,1},{8100,-8775,1}, {8098,-8748,1},{8100,-8708,1},{8100,-8667,1},{8108,-8607,1},{8108,-8583,1}, {8112,-8588,1},{8122,-8530,1},{8127,-8480,1},{8128,-8475,1},{8130,-8493,1}, {8128,-8532,1},{8122,-8605,1},{8113,-8643,1},{8107,-8738,1},{8105,-8768,1}, {8107,-8833,1},{8102,-8963,1},{8102,-8987,1},{8107,-9022,1},{8117,-9035,1}, {8123,-9005,1},{8123,-8975,1},{8120,-8953,1},{8125,-8895,1},{8125,-8898,1}, {8125,-8935,1},{8128,-8957,1},{8130,-8987,1},{8133,-8995,1},{8135,-8963,1}, {8147,-8903,1},{8145,-8882,1},{8148,-8893,1},{8152,-8872,1},{8153,-8798,1}, {8152,-8792,1},{8152,-8748,1},{8148,-8728,1},{8150,-8730,1},{8157,-8803,1}, {8155,-8818,1},{8158,-8830,1},{8155,-8865,1},{8153,-8900,1},{8150,-8932,1}, {8137,-9045,1},{8138,-9055,1},{8140,-9048,1},{8143,-9085,1},{8150,-9062,1}, {8157,-9013,1},{8157,-8995,1},{8160,-8987,1},{8160,-8963,1},{8163,-8958,1}, {8162,-9008,1},{8165,-9003,1},{8170,-9030,1},{8168,-9037,1},{8163,-9030,1}, {8167,-9063,1},{8162,-9097,1},{8157,-9097,1},{8153,-9107,1},{8155,-9115,1}, {8152,-9145,1},{8158,-9145,1},{8162,-9190,1},{8163,-9195,1},{8165,-9187,1}, {8165,-9195,1},{8167,-9177,1},{8173,-9173,1},{8177,-9148,1},{8177,-9125,1}, {8177,-9103,1},{8180,-9115,1},{8183,-9105,1},{8183,-9073,1},{8187,-9062,1}, {8190,-9033,1},{8188,-8993,1},{8190,-9003,1},{8192,-8973,1},{8188,-8972,1}, {8178,-8932,1},{8182,-8935,1},{8188,-8915,1},{8192,-8940,1},{8193,-8940,1}, {8195,-8928,1},{8193,-8915,1},{8192,-8907,1},{8193,-8900,1},{8200,-8902,1}, {8207,-8863,1},{8208,-8815,1},{8210,-8808,1},{8207,-8780,1},{8208,-8763,1}, {8207,-8735,1},{8202,-8717,1},{8197,-8732,1},{8188,-8677,1},{8193,-8683,1}, {8197,-8713,1},{8198,-8702,1},{8198,-8685,1},{8203,-8702,1},{8205,-8678,1}, {8203,-8617,1},{8198,-8587,1},{8185,-8542,1},{8188,-8540,1},{8198,-8573,1}, {8200,-8560,1},{8200,-8518,1},{8192,-8502,1},{8188,-8480,1},{8198,-8507,1}, {8198,-8488,1},{8192,-8478,1},{8188,-8462,1},{8198,-8473,1},{8202,-8490,1}, {8207,-8575,1},{8210,-8607,1},{8212,-8663,1},{8220,-8687,1},{8223,-8667,1}, {8223,-8567,1},{8227,-8555,1},{8228,-8537,1},{8232,-8548,1},{8235,-8542,1}, {8235,-8553,1},{8240,-8552,1},{8243,-8592,1},{8247,-8580,1},{8248,-8505,1}, {8247,-8463,1},{8243,-8463,1},{8243,-8495,1},{8238,-8445,1},{8235,-8435,1}, {8237,-8405,1},{8235,-8377,1},{8232,-8352,1},{8228,-8337,1},{8223,-8335,1}, {8213,-8298,1},{8210,-8297,1},{8207,-8312,1},{8208,-8280,1},{8207,-8220,1}, {8203,-8188,1},{8208,-8202,1},{8210,-8265,1},{8215,-8273,1},{8222,-8302,1}, {8230,-8298,1},{8228,-8265,1},{8215,-8192,1},{8203,-8098,1},{8202,-8063,1}, {8198,-8057,1},{8197,-8008,1},{8182,-7957,1},{8182,-7923,1},{8190,-7948,1}, {8193,-7967,1},{8197,-7972,1},{8198,-7992,1},{8202,-7985,1},{8203,-8033,1}, {8208,-8082,1},{8212,-8098,1},{8215,-8087,1},{8217,-8125,1},{8220,-8162,1}, {8233,-8252,1},{8240,-8273,1},{8250,-8250,1},{8250,-8148,1},{8252,-8192,1}, {8258,-8232,1},{8263,-8238,1},{8267,-8222,1},{8267,-8197,1},{8263,-8143,1}, {8253,-8088,1},{8255,-8058,1},{8270,-8113,1},{8277,-8150,1},{8280,-8158,1}, {8282,-8147,1},{8282,-8102,1},{8278,-8038,1},{8272,-8013,1},{8268,-8017,1}, {8265,-7987,1},{8265,-7982,1},{8268,-7998,1},{8272,-7988,1},{8267,-7920,1}, {8268,-7852,1},{8270,-7928,1},{8273,-7962,1},{8277,-7988,1},{8280,-8000,1}, {8282,-7967,1},{8283,-8015,1},{8288,-8040,1},{8290,-8043,1},{8293,-8015,1}, {8297,-7945,1},{8295,-7918,1},{8293,-7922,1},{8287,-7905,1},{8295,-7875,1}, {8293,-7863,1},{8292,-7850,1},{8285,-7853,1},{8287,-7840,1},{8282,-7815,1}, {8287,-7823,1},{8285,-7803,1},{8287,-7802,1},{8290,-7810,1},{8292,-7782,1}, {8287,-7713,1},{8277,-7697,1},{8275,-7677,1},{8267,-7657,1},{8258,-7590,1}, {8247,-7627,1},{8112,-9433,129},{8110,-9413,1},{8110,-9375,1},{8107,-9352,1}, {8108,-9352,1},{8108,-9323,1},{8112,-9312,1},{8113,-9318,1},{8117,-9310,1}, {8118,-9312,1},{8118,-9325,1},{8122,-9322,1},{8122,-9342,1},{8120,-9385,1}, {8122,-9407,1},{8125,-9438,1},{8135,-9423,1},{8137,-9407,1},{8135,-9378,1}, {8130,-9357,1},{8132,-9348,1},{8135,-9353,1},{8138,-9352,1},{8123,-9212,1}, {8115,-9180,1},{8110,-9180,1},{8108,-9178,1},{8107,-9190,1},{8105,-9172,1}, {8098,-9153,1},{8093,-9152,1},{8082,-9115,1},{8075,-9112,1},{8072,-9075,1}, {8065,-9060,1},{8057,-9077,1},{8053,-9005,1},{8047,-8975,1},{8053,-8978,1}, {8053,-8962,1},{8055,-8955,1},{8052,-8927,1},{8047,-8907,1},{8040,-8925,1}, {8040,-8908,1},{8033,-8910,1},{8030,-8925,1},{8028,-8925,1},{8020,-8907,1}, {8010,-8853,1},{8010,-8842,1},{8015,-8845,1},{8010,-8815,1},{8018,-8842,1}, {8020,-8827,1},{8022,-8850,1},{8028,-8870,1},{8038,-8867,1},{8045,-8838,1}, {8042,-8768,1},{8018,-8757,1},{8015,-8768,1},{8015,-8793,1},{8012,-8807,1}, {8005,-8788,1},{8008,-8768,1},{8007,-8728,1},{8000,-8717,1},{7995,-8702,1}, {7993,-8703,1},{7992,-8723,1},{7987,-8732,1},{7985,-8747,1},{7983,-8748,1}, {7983,-8733,1},{7987,-8718,1},{7992,-8702,1},{7990,-8695,1},{7965,-8713,1}, {7957,-8743,1},{7953,-8745,1},{7950,-8732,1},{7953,-8722,1},{7957,-8717,1}, {7960,-8697,1},{7958,-8682,1},{7955,-8685,1},{7953,-8678,1},{7957,-8677,1}, {7957,-8670,1},{7962,-8680,1},{7965,-8657,1},{7963,-8628,1},{7957,-8605,1}, {7955,-8603,1},{7952,-8613,1},{7947,-8603,1},{7945,-8617,1},{7943,-8610,1}, {7945,-8597,1},{7962,-8578,1},{7960,-8562,1},{7952,-8550,1},{7945,-8538,1}, {7940,-8525,1},{7935,-8503,1},{7930,-8492,1},{7927,-8492,1},{7922,-8522,1}, {7918,-8530,1},{7918,-8540,1},{7913,-8578,1},{7910,-8627,1},{7907,-8647,1}, {7905,-8657,1},{7898,-8660,1},{7895,-8670,1},{7895,-8678,1},{7905,-8698,1}, {7890,-8695,1},{7880,-8733,1},{7865,-8762,1},{7865,-8768,1},{7870,-8787,1}, {7880,-8800,1},{7892,-8795,1},{7895,-8798,1},{7900,-8782,1},{7903,-8783,1}, {7908,-8772,1},{7905,-8785,1},{7902,-8790,1},{7898,-8817,1},{7880,-8823,1}, {7868,-8813,1},{7865,-8835,1},{7865,-8802,1},{7858,-8790,1},{7855,-8790,1}, {7848,-8802,1},{7845,-8820,1},{7860,-8857,1},{7862,-8880,1},{7855,-8875,1}, {7840,-8853,1},{7815,-8882,1},{7817,-8903,1},{7825,-8923,1},{7833,-8935,1}, {7837,-8950,1},{7850,-8982,1},{7862,-8998,1},{7860,-9008,1},{7855,-9010,1}, {7843,-8998,1},{7838,-8975,1},{7815,-8948,1},{7817,-8962,1},{7822,-8967,1}, {7822,-8993,1},{7830,-9002,1},{7833,-9025,1},{7832,-9075,1},{7828,-9060,1}, {7827,-9032,1},{7823,-9037,1},{7818,-9027,1},{7815,-9033,1},{7813,-9043,1}, {7815,-9097,1},{7817,-9118,1},{7818,-9148,1},{7823,-9185,1},{7822,-9200,1}, {7822,-9208,1},{7828,-9218,1},{7828,-9232,1},{7830,-9218,1},{7832,-9218,1}, {7830,-9240,1},{7832,-9258,1},{7835,-9262,1},{7842,-9292,1},{7848,-9298,1}, {7848,-9287,1},{7850,-9285,1},{7848,-9260,1},{7850,-9248,1},{7852,-9257,1}, {7853,-9202,1},{7855,-9185,1},{7853,-9167,1},{7857,-9165,1},{7860,-9258,1}, {7863,-9280,1},{7860,-9298,1},{7858,-9327,1},{7865,-9347,1},{7868,-9335,1}, {7868,-9355,1},{7877,-9382,1},{7878,-9365,1},{7877,-9340,1},{7873,-9317,1}, {7873,-9305,1},{7877,-9303,1},{7882,-9342,1},{7883,-9387,1},{7887,-9393,1}, {7897,-9427,1},{7898,-9428,1},{7903,-9400,1},{7905,-9360,1},{7915,-9347,1}, {7917,-9333,1},{7915,-9297,1},{7913,-9287,1},{7917,-9275,1},{7915,-9232,1}, {7917,-9183,1},{7922,-9050,1},{7923,-9038,1},{7925,-9040,1},{7923,-9067,1}, {7925,-9113,1},{7922,-9138,1},{7920,-9215,1},{7925,-9268,1},{7930,-9258,1}, {7930,-9213,1},{7932,-9217,1},{7930,-9202,1},{7930,-9187,1},{7933,-9173,1}, {7935,-9115,1},{7938,-9113,1},{7933,-9190,1},{7937,-9257,1},{7938,-9253,1}, {7943,-9225,1},{7945,-9223,1},{7945,-9242,1},{7943,-9267,1},{7940,-9285,1}, {7942,-9295,1},{7945,-9300,1},{7948,-9308,1},{7947,-9315,1},{7938,-9302,1}, {7933,-9337,1},{7938,-9328,1},{7943,-9323,1},{7945,-9332,1},{7938,-9345,1}, {7935,-9348,1},{7937,-9367,1},{7932,-9363,1},{7925,-9397,1},{7928,-9422,1}, {7935,-9412,1},{7940,-9385,1},{7938,-9403,1},{7940,-9420,1},{7942,-9438,1}, {7942,-9442,1},{7942,-9450,1},{7940,-9448,1},{7938,-9450,1},{7937,-9438,1}, {7933,-9450,1},{7933,-9467,1},{7927,-9502,1},{7928,-9523,1},{7932,-9518,1}, {7933,-9532,1},{7935,-9517,1},{7935,-9528,1},{7940,-9528,1},{7940,-9538,1}, {7937,-9542,1},{7938,-9563,1},{7942,-9577,1},{7943,-9578,1},{7943,-9567,1}, {7947,-9578,1},{7950,-9570,1},{7953,-9573,1},{7955,-9563,1},{7957,-9510,1}, {7960,-9498,1},{7962,-9470,1},{7968,-9433,1},{7973,-9435,1},{7977,-9428,1}, {7978,-9433,1},{7975,-9440,1},{7973,-9455,1},{7967,-9478,1},{7963,-9542,1}, {7965,-9585,1},{7973,-9615,1},{7973,-9623,1},{7975,-9625,1},{7980,-9628,1}, {7983,-9648,1},{7987,-9638,1},{7985,-9655,1},{7987,-9658,1},{7988,-9662,1}, {7992,-9645,1},{7992,-9638,1},{7988,-9638,1},{7990,-9628,1},{7990,-9613,1}, {7993,-9627,1},{7995,-9660,1},{8002,-9668,1},{8005,-9638,1},{8005,-9652,1}, {8003,-9663,1},{8005,-9670,1},{8008,-9680,1},{8013,-9675,1},{8015,-9668,1}, {8013,-9635,1},{8008,-9608,1},{8005,-9585,1},{8003,-9508,1},{8005,-9485,1}, {7998,-9442,1},{8002,-9445,1},{8010,-9480,1},{8017,-9448,1},{8018,-9408,1}, {8020,-9445,1},{8022,-9457,1},{8017,-9472,1},{8012,-9527,1},{8012,-9542,1}, {8017,-9568,1},{8020,-9558,1},{8022,-9530,1},{8025,-9525,1},{8022,-9550,1}, {8023,-9565,1},{8020,-9592,1},{8025,-9627,1},{8027,-9647,1},{8027,-9657,1}, {8032,-9647,1},{8035,-9668,1},{8037,-9660,1},{8035,-9648,1},{8035,-9643,1}, {8033,-9625,1},{8035,-9622,1},{8037,-9627,1},{8038,-9605,1},{8033,-9543,1}, {8038,-9547,1},{8038,-9562,1},{8045,-9580,1},{8048,-9610,1},{8052,-9593,1}, {8053,-9590,1},{8057,-9603,1},{8058,-9598,1},{8058,-9517,1},{8060,-9503,1}, {8058,-9487,1},{8055,-9470,1},{8055,-9398,1},{8053,-9395,1},{8053,-9378,1}, {8058,-9400,1},{8062,-9437,1},{8060,-9455,1},{8065,-9467,1},{8068,-9460,1}, {8070,-9420,1},{8070,-9408,1},{8072,-9410,1},{8072,-9430,1},{8075,-9435,1}, {8073,-9445,1},{8072,-9462,1},{8075,-9490,1},{8077,-9503,1},{8080,-9485,1}, {8082,-9488,1},{8078,-9528,1},{8082,-9553,1},{8083,-9550,1},{8088,-9515,1}, {8088,-9542,1},{8090,-9548,1},{8095,-9528,1},{8100,-9523,1},{8105,-9490,1}, {8103,-9457,1},{8102,-9445,1},{8098,-9450,1},{8097,-9443,1},{8097,-9435,1}, {8100,-9430,1},{8100,-9413,1},{8102,-9407,1},{8102,-9393,1},{8103,-9407,1}, {8103,-9390,1},{8105,-9415,1},{8110,-9435,1},{8112,-9433,1},{6000,-13905,131}, {6000,-13793,3},{6000,-13685,3},{6000,-13640,3},{6000,-13573,3},{6000,-13465,3}, {6000,-13377,3},{6000,-13357,3},{6000,-13243,3},{6000,-13133,3},{6000,-13112,3}, {6000,-13025,3},{6000,-12913,3},{6000,-12848,3},{6000,-12805,3},{6000,-12697,3}, {6000,-12583,3},{6000,-12463,3},{6000,-12383,3},{6002,-12382,3},{6048,-12440,3}, {6078,-12533,3},{6088,-12583,3},{6082,-12652,3},{6132,-12707,3},{6170,-12798,3}, {6185,-12820,3},{6213,-12920,3},{6267,-12952,3},{6295,-12970,3},{6318,-12990,3}, {6370,-13032,3},{6415,-13093,3},{6420,-13087,3},{6453,-13170,3},{6497,-13250,3}, {6552,-13228,3},{6580,-13243,3},{6602,-13290,3},{6645,-13373,3},{6695,-13408,3}, {6698,-13400,3},{6700,-13542,3},{6700,-13617,3},{6757,-13618,3},{6772,-13645,3}, {6828,-13645,3},{6883,-13645,3},{6890,-13642,3},{5380,-12000,131},{5337,-11943,3}, {5305,-11872,3},{5287,-11847,3},{5257,-11828,3},{5215,-11763,3},{5188,-11703,3}, {5178,-11697,3},{5142,-11630,3},{5102,-11568,3},{5093,-11560,3},{5058,-11515,3}, {5008,-11468,3},{4978,-11462,3},{4955,-11462,3},{4907,-11412,3},{4900,-11407,3}, {4938,-9515,131},{4998,-9515,3},{5058,-9515,3},{5072,-9515,3},{5115,-9515,3}, {5172,-9515,3},{5202,-9515,3},{5232,-9515,3},{5283,-9515,3},{5322,-9450,3}, {5362,-9383,3},{5377,-9358,3},{5403,-9323,3},{5447,-9263,3},{5480,-9213,3}, {5488,-9202,3},{5532,-9138,3},{5573,-9073,3},{5578,-9067,3},{5615,-9008,3}, {5657,-8940,3},{5677,-8907,3},{5685,-8895,3},{5582,-10200,131},{5642,-10200,3}, {5698,-10200,3},{5715,-10200,3},{5755,-10200,3},{5812,-10200,3},{5845,-10200,3}, {5868,-10200,3},{5927,-10200,3},{5975,-10200,3},{5987,-10200,3},{6000,-10200,3}, {5547,-10197,3},{5582,-10200,3},{5512,-10193,3},{5547,-10197,3},{5477,-10188,3}, {5512,-10193,3},{5477,-10188,3},{5442,-10185,3},{5407,-10182,3},{5442,-10185,3}, {5375,-10177,3},{5407,-10182,3},{5337,-10175,3},{5375,-10177,3},{5302,-10170,3}, {5337,-10175,3},{5267,-10167,3},{5302,-10170,3},{5232,-10163,3},{5267,-10167,3}, {5197,-10162,3},{5232,-10163,3},{5130,-10157,3},{5187,-10157,3},{5197,-10162,3}, {5095,-10155,3},{5130,-10157,3},{5060,-10152,3},{5095,-10155,3},{5025,-10148,3}, {5060,-10152,3},{4988,-10145,3},{5025,-10148,3},{4953,-10143,3},{4988,-10145,3}, {4918,-10140,3},{4953,-10143,3},{4900,-10137,3},{4918,-10140,3},{6000,-12383,131}, {6000,-12270,3},{6000,-12150,3},{6000,-12113,3},{6000,-12037,3},{6000,-11927,3}, {6000,-11852,3},{6000,-11808,3},{6000,-11697,3},{6000,-11590,3},{6000,-11577,3}, {6000,-11463,3},{6000,-11347,3},{6000,-11323,3},{6000,-11237,3},{6000,-11125,3}, {6000,-11060,3},{6000,-11017,3},{6000,-10900,3},{6000,-10800,3},{6000,-10788,3}, {6000,-10678,3},{6000,-10570,3},{6000,-10537,3},{6000,-10460,3},{6000,-10340,3}, {6000,-10273,3},{6000,-10228,3},{6000,-10120,3},{6000,-10010,3},{6000,-9895,3}, {6000,-9785,3},{6000,-9750,3},{6000,-9670,3},{6000,-9558,3},{6000,-9483,3}, {6000,-9480,3},{5380,-12000,131},{5437,-12000,3},{5493,-12000,3},{5510,-12000,3}, {5550,-12000,3},{5607,-12000,3},{5640,-12000,3},{5663,-12000,3},{5723,-12000,3}, {5773,-12000,3},{5780,-12000,3},{5840,-12000,3},{5897,-12000,3},{5903,-12000,3}, {5955,-12000,3},{6000,-12000,3},{4900,-11000,131},{4955,-11000,3},{5010,-11000,3}, {5033,-11000,3},{5068,-11000,3},{5127,-11000,3},{5167,-11000,3},{5187,-11000,3}, {5247,-11000,3},{5300,-11000,3},{5307,-11000,3},{5365,-11000,3},{5425,-11000,3}, {5430,-11000,3},{5483,-11000,3},{5538,-11000,3},{5563,-11000,3},{5597,-11000,3}, {5653,-11000,3},{5697,-11000,3},{5710,-11000,3},{5767,-11000,3},{5825,-11000,3}, {5830,-11000,3},{5883,-11000,3},{5943,-11000,3},{5962,-11000,3},{6000,-11000,3}, {5147,-7955,131},{5120,-7953,3},{5118,-7953,3},{5063,-7953,3},{5007,-7953,3}, {4987,-7953,3},{4952,-7953,3},{4897,-7952,3},{4857,-7952,3},{4842,-7952,3}, {4787,-7952,3},{4757,-7952,3},{4703,-7937,3},{4682,-7915,3},{4618,-7768,3}, {4582,-7708,3},{4552,-7645,3},{4552,-7612,3},{4547,-7562,3},{4563,-7485,3}, {4517,-7438,3},{4500,-7468,3},{4730,-6905,131},{4762,-6838,3},{4800,-6782,3}, {4790,-6733,3},{4790,-6698,3},{4800,-6685,3},{4682,-7915,131},{4635,-7872,3}, {4623,-7795,3},{4618,-7768,3},{5378,-6743,131},{5432,-6750,3},{5485,-6730,3}, {5508,-6742,3},{5532,-6683,3},{5495,-6612,3},{5472,-6527,3},{5473,-6430,3}, {5497,-6343,3},{5530,-6317,3},{5553,-6315,3},{5602,-6345,3},{5642,-6417,3}, {5697,-6390,3},{5732,-6385,3},{5750,-6377,3},{5802,-6422,3},{5852,-6385,3}, {5860,-6410,3},{5892,-6465,3},{5945,-6445,3},{5988,-6477,3},{5997,-6485,3}, {6030,-6457,3},{5378,-6743,131},{5332,-6690,3},{5278,-6707,3},{5263,-6643,3}, {5243,-6638,3},{5213,-6633,3},{5222,-6542,3},{5185,-6468,3},{5170,-6433,3}, {5230,-6413,3},{5285,-6418,3},{5297,-6393,3},{5290,-6355,3},{5277,-6360,3}, {5237,-6400,3},{5203,-6363,3},{5200,-6375,3},{5237,-6400,3},{5203,-6363,3}, {5200,-6375,3},{5200,-6283,3},{5200,-6192,3},{5200,-6158,3},{5200,-6100,3}, {5200,-6008,3},{5200,-5942,3},{5200,-5917,3},{5200,-5825,3},{5200,-5733,3}, {5200,-5725,3},{5200,-5710,3},{5142,-5710,3},{5197,-5710,3},{5200,-5710,3}, {4598,-6405,131},{4583,-6427,3},{4200,-12418,131},{4200,-12207,3},{4200,-12000,3}, {4600,-11688,131},{4603,-11690,3},{4610,-11697,3},{4617,-11692,3},{4622,-11695,3}, {4627,-11695,3},{4637,-11705,3},{4643,-11702,3},{4660,-11703,3},{4900,-11703,3}, {4200,-11702,131},{4382,-11703,3},{4388,-11697,3},{4402,-11693,3},{4405,-11693,3}, {4410,-11697,3},{4412,-11690,3},{4417,-11688,3},{4422,-11697,3},{4425,-11697,3}, {4427,-11698,3},{4425,-11705,3},{4427,-11707,3},{4428,-11710,3},{4427,-11713,3}, {4427,-11715,3},{4428,-11718,3},{4440,-11722,3},{4445,-11720,3},{4448,-11722,3}, {4455,-11713,3},{4475,-11703,3},{4478,-11693,3},{4483,-11690,3},{4492,-11683,3}, {4503,-11683,3},{4517,-11672,3},{4535,-11665,3},{4560,-11645,3},{4577,-11655,3}, {4578,-11662,3},{4583,-11670,3},{4583,-11675,3},{4592,-11683,3},{4602,-11690,3}, {4200,-12000,131},{4200,-11850,3},{4200,-11702,3},{3500,-11462,131},{3900,-12000,3}, {4200,-12000,3},{4450,-11105,131},{4450,-11110,3},{4457,-11117,3},{4458,-11120,3}, {4465,-11122,3},{4465,-11125,3},{4473,-11130,3},{4475,-11137,3},{4473,-11140,3}, {4473,-11143,3},{4472,-11147,3},{4467,-11145,3},{4465,-11150,3},{4460,-11152,3}, {4457,-11150,3},{4455,-11145,3},{4455,-11147,3},{4455,-11150,3},{4457,-11155,3}, {4457,-11167,3},{4453,-11180,3},{4457,-11187,3},{4455,-11197,3},{4455,-11200,3}, {4453,-11202,3},{4455,-11210,3},{4455,-11220,3},{4457,-11223,3},{4455,-11232,3}, {4447,-11237,3},{4445,-11240,3},{4448,-11245,3},{4450,-11268,3},{4448,-11275,3}, {4443,-11282,3},{4442,-11283,3},{4438,-11280,3},{4437,-11283,3},{4440,-11287,3}, {4442,-11292,3},{4445,-11297,3},{4447,-11300,3},{4448,-11300,3},{4450,-11302,3}, {4453,-11300,3},{4455,-11303,3},{4458,-11303,3},{4460,-11307,3},{4465,-11305,3}, {4478,-11313,3},{4482,-11318,3},{4482,-11325,3},{4478,-11333,3},{4483,-11335,3}, {4485,-11342,3},{4487,-11343,3},{4493,-11348,3},{4495,-11345,3},{4502,-11343,3}, {4512,-11350,3},{4512,-11355,3},{4522,-11360,3},{4525,-11367,3},{4528,-11367,3}, {4532,-11372,3},{4538,-11372,3},{4542,-11377,3},{4543,-11377,3},{4550,-11375,3}, {4553,-11382,3},{4558,-11378,3},{4560,-11380,3},{4563,-11388,3},{4568,-11392,3}, {4570,-11398,3},{4565,-11400,3},{4563,-11405,3},{4560,-11407,3},{4557,-11410,3}, {4555,-11418,3},{4555,-11422,3},{4550,-11425,3},{4548,-11432,3},{4552,-11440,3}, {4555,-11442,3},{4557,-11445,3},{4557,-11455,3},{4560,-11453,3},{4563,-11455,3}, {4567,-11450,3},{4572,-11448,3},{4578,-11455,3},{4585,-11450,3},{4585,-11442,3}, {4590,-11438,3},{4593,-11442,3},{4598,-11440,3},{4600,-11447,3},{4603,-11447,3}, {4605,-11448,3},{4612,-11445,3},{4617,-11450,3},{4618,-11443,3},{4627,-11445,3}, {4635,-11440,3},{4640,-11440,3},{4645,-11437,3},{4650,-11440,3},{4653,-11433,3}, {4655,-11435,3},{4667,-11432,3},{4668,-11435,3},{4667,-11442,3},{4665,-11448,3}, {4665,-11457,3},{4667,-11463,3},{4668,-11463,3},{4672,-11462,3},{4675,-11468,3}, {4672,-11475,3},{4672,-11477,3},{4678,-11477,3},{4678,-11483,3},{4683,-11490,3}, {4688,-11492,3},{4692,-11492,3},{4698,-11500,3},{4698,-11505,3},{4703,-11507,3}, {4708,-11515,3},{4713,-11518,3},{4720,-11528,3},{4725,-11532,3},{4728,-11542,3}, {4730,-11550,3},{4738,-11557,3},{4742,-11567,3},{4743,-11572,3},{4747,-11572,3}, {4747,-11565,3},{4748,-11563,3},{4750,-11567,3},{4753,-11568,3},{4755,-11573,3}, {4762,-11567,3},{4765,-11572,3},{4770,-11572,3},{4773,-11577,3},{4775,-11578,3}, {4777,-11582,3},{4785,-11585,3},{4788,-11593,3},{4797,-11600,3},{4800,-11605,3}, {4900,-11605,3},{4450,-11105,131},{4500,-11105,3},{4500,-10918,3},{4500,-10753,3}, {4500,-10582,3},{4500,-10400,3},{4200,-11105,131},{4450,-11105,3},{4200,-11702,131}, {4200,-11548,3},{4200,-11403,3},{4200,-11252,3},{4200,-11105,3},{3702,-11403,131}, {4200,-11403,3},{4100,-10905,131},{4100,-11105,3},{4200,-11105,3},{4100,-10905,131}, {4100,-10647,3},{4100,-10402,3},{3700,-10905,131},{4100,-10905,3},{3700,-11405,131}, {3700,-11148,3},{3700,-10903,3},{3700,-10755,3},{3700,-10602,3},{3700,-10448,3}, {3700,-10300,3},{3498,-11462,131},{3505,-11463,3},{3508,-11460,3},{3512,-11463,3}, {3513,-11462,3},{3515,-11458,3},{3522,-11457,3},{3533,-11458,3},{3550,-11467,3}, {3562,-11465,3},{3572,-11468,3},{3582,-11468,3},{3588,-11467,3},{3590,-11470,3}, {3598,-11473,3},{3603,-11472,3},{3608,-11473,3},{3612,-11468,3},{3617,-11455,3}, {3613,-11445,3},{3615,-11435,3},{3612,-11432,3},{3607,-11430,3},{3602,-11422,3}, {3603,-11413,3},{3608,-11412,3},{3613,-11410,3},{3620,-11403,3},{3702,-11403,3}, {3272,-11472,131},{3275,-11468,3},{3273,-11453,3},{3275,-11452,3},{3280,-11453,3}, {3287,-11445,3},{3293,-11447,3},{3297,-11447,3},{3302,-11452,3},{3303,-11467,3}, {3308,-11470,3},{3322,-11467,3},{3323,-11468,3},{3327,-11468,3},{3330,-11473,3}, {3337,-11470,3},{3340,-11473,3},{3342,-11463,3},{3352,-11458,3},{3357,-11453,3}, {3360,-11453,3},{3363,-11452,3},{3368,-11452,3},{3372,-11448,3},{3382,-11452,3}, {3387,-11452,3},{3390,-11448,3},{3395,-11452,3},{3403,-11442,3},{3412,-11438,3}, {3418,-11423,3},{3428,-11412,3},{3435,-11417,3},{3447,-11433,3},{3447,-11437,3}, {3453,-11437,3},{3458,-11442,3},{3463,-11442,3},{3470,-11445,3},{3475,-11450,3}, {3480,-11457,3},{3483,-11457,3},{3488,-11462,3},{3500,-11462,3},{3133,-10905,131}, {3700,-10905,3},{4593,-10402,131},{4900,-10403,3},{4500,-10400,131},{4595,-10402,3}, {4593,-10402,131},{4593,-10218,3},{4593,-10028,3},{4593,-9842,3},{4593,-9655,3}, {4300,-10403,131},{4500,-10403,3},{4100,-10402,131},{4302,-10403,3},{4300,-10403,131}, {4300,-10260,3},{4300,-10112,3},{4300,-9957,3},{4300,-9848,3},{4297,-9845,3}, {4292,-9837,3},{4283,-9813,3},{4280,-9808,3},{4278,-9800,3},{4278,-9793,3}, {4285,-9788,3},{4287,-9785,3},{4285,-9777,3},{4287,-9772,3},{4285,-9767,3}, {4287,-9762,3},{4285,-9753,3},{4288,-9732,3},{4287,-9725,3},{4282,-9720,3}, {4280,-9715,3},{4278,-9712,3},{4277,-9698,3},{4273,-9695,3},{4272,-9682,3}, {4268,-9680,3},{4267,-9670,3},{4263,-9670,3},{4258,-9663,3},{4253,-9662,3}, {4252,-9647,3},{4000,-10202,131},{4100,-10203,3},{4100,-10402,3},{4002,-10202,131}, {3700,-10202,3},{3650,-10300,131},{3700,-10300,3},{3178,-10652,131},{3183,-10660,3}, {3200,-10667,3},{3200,-10498,3},{3200,-10307,3},{3300,-10307,3},{3400,-10303,3}, {3650,-10303,3},{3650,-10300,3},{4000,-10202,131},{4000,-10038,3},{4000,-9867,3}, {4000,-9695,3},{4000,-9530,3},{3700,-10300,131},{3700,-10200,3},{3700,-10000,3}, {3700,-9828,3},{3700,-9640,3},{3700,-9462,3},{3650,-10300,131},{3650,-10167,3}, {3650,-10000,3},{3647,-10000,3},{3458,-10000,3},{3457,-9988,3},{3440,-9968,3}, {3438,-9963,3},{3438,-9958,3},{3442,-9953,3},{3437,-9943,3},{3438,-9940,3}, {3445,-9938,3},{3447,-9935,3},{3442,-9933,3},{3440,-9927,3},{3437,-9925,3}, {3433,-9920,3},{3425,-9920,3},{3422,-9918,3},{3420,-9902,3},{3422,-9897,3}, {3417,-9887,3},{3413,-9873,3},{3415,-9860,3},{3408,-9852,3},{3407,-9847,3}, {3408,-9840,3},{3412,-9838,3},{3413,-9835,3},{3415,-9810,3},{3413,-9808,3}, {3407,-9810,3},{3402,-9808,3},{3398,-9795,3},{3390,-9797,3},{3388,-9795,3}, {3387,-9787,3},{3388,-9780,3},{3397,-9770,3},{3398,-9765,3},{3397,-9758,3}, {3390,-9758,3},{3390,-9747,3},{3383,-9745,3},{3382,-9743,3},{3383,-9735,3}, {3388,-9732,3},{3385,-9727,3},{3390,-9722,3},{3390,-9720,3},{3387,-9718,3}, {3382,-9720,3},{3380,-9720,3},{3375,-9718,3},{3372,-9713,3},{3375,-9708,3}, {3380,-9708,3},{3382,-9705,3},{3385,-9708,3},{3385,-9703,3},{3385,-9702,3}, {3390,-9698,3},{3395,-9698,3},{3397,-9692,3},{3395,-9688,3},{3387,-9685,3}, {3387,-9678,3},{3385,-9673,3},{3385,-9668,3},{3392,-9665,3},{3392,-9660,3}, {3385,-9660,3},{3382,-9652,3},{3378,-9650,3},{3378,-9640,3},{3372,-9635,3}, {3370,-9632,3},{3372,-9630,3},{3377,-9628,3},{3377,-9620,3},{3383,-9615,3}, {3385,-9602,3},{3387,-9597,3},{3390,-9593,3},{3385,-9585,3},{3387,-9582,3}, {3385,-9578,3},{3390,-9577,3},{3390,-9572,3},{3393,-9563,3},{3392,-9563,3}, {3395,-9560,3},{3392,-9555,3},{3388,-9553,3},{3388,-9552,3},{3387,-9550,3}, {3387,-9535,3},{3388,-9533,3},{3390,-9528,3},{3392,-9528,3},{3390,-9527,3}, {3393,-9527,3},{3397,-9523,3},{3395,-9515,3},{3392,-9513,3},{3392,-9508,3}, {3387,-9503,3},{3385,-9500,3},{3387,-9498,3},{3382,-9495,3},{3382,-9492,3}, {3375,-9487,3},{3373,-9475,3},{3370,-9472,3},{3368,-9467,3},{3367,-9462,3}, {3368,-9458,3},{3367,-9458,3},{3365,-9448,3},{4593,-9657,131},{4603,-9658,3}, {4610,-9655,3},{4617,-9657,3},{4622,-9660,3},{4632,-9660,3},{4643,-9672,3}, {4647,-9672,3},{4650,-9673,3},{4658,-9675,3},{4665,-9680,3},{4673,-9678,3}, {4680,-9680,3},{4692,-9677,3},{4693,-9680,3},{4700,-9683,3},{4738,-9683,3}, {4742,-9687,3},{4748,-9685,3},{4752,-9687,3},{4760,-9685,3},{4777,-9693,3}, {4780,-9698,3},{4783,-9698,3},{4788,-9702,3},{4792,-9700,3},{4795,-9705,3}, {4803,-9707,3},{4815,-9713,3},{4828,-9712,3},{4838,-9715,3},{4843,-9712,3}, {4855,-9715,3},{4865,-9710,3},{4897,-9723,3},{4900,-9722,3},{4350,-9645,131}, {4530,-9645,3},{4537,-9653,3},{4542,-9670,3},{4560,-9687,3},{4565,-9683,3}, {4577,-9663,3},{4585,-9657,3},{4592,-9657,3},{4595,-9655,3},{4350,-9643,131}, {4350,-9387,3},{4350,-9252,3},{4350,-9122,3},{4252,-9648,131},{4257,-9648,3}, {4257,-9650,3},{4262,-9652,3},{4263,-9655,3},{4265,-9652,3},{4272,-9663,3}, {4273,-9663,3},{4283,-9660,3},{4285,-9655,3},{4287,-9657,3},{4290,-9653,3}, {4293,-9653,3},{4295,-9650,3},{4302,-9650,3},{4303,-9652,3},{4308,-9647,3}, {4312,-9645,3},{4322,-9648,3},{4323,-9657,3},{4325,-9655,3},{4327,-9658,3}, {4328,-9658,3},{4330,-9653,3},{4338,-9653,3},{4343,-9660,3},{4350,-9660,3}, {4350,-9645,3},{4060,-9577,131},{4067,-9578,3},{4068,-9583,3},{4073,-9587,3}, {4078,-9583,3},{4083,-9583,3},{4088,-9582,3},{4093,-9583,3},{4098,-9583,3}, {4100,-9587,3},{4105,-9587,3},{4107,-9588,3},{4110,-9587,3},{4117,-9587,3}, {4118,-9585,3},{4118,-9588,3},{4118,-9592,3},{4120,-9593,3},{4127,-9592,3}, {4128,-9588,3},{4130,-9587,3},{4133,-9595,3},{4145,-9592,3},{4148,-9600,3}, {4153,-9598,3},{4155,-9600,3},{4153,-9605,3},{4153,-9608,3},{4158,-9607,3}, {4162,-9610,3},{4168,-9610,3},{4172,-9607,3},{4175,-9608,3},{4180,-9607,3}, {4190,-9615,3},{4198,-9615,3},{4205,-9625,3},{4212,-9627,3},{4218,-9635,3}, {4222,-9635,3},{4228,-9633,3},{4237,-9642,3},{4247,-9638,3},{4248,-9638,3}, {4252,-9648,3},{4062,-9577,131},{4053,-9577,3},{4052,-9570,3},{4048,-9570,3}, {4045,-9567,3},{4042,-9567,3},{4033,-9563,3},{4032,-9565,3},{4030,-9558,3}, {4025,-9553,3},{4023,-9547,3},{4020,-9548,3},{4012,-9540,3},{4003,-9542,3}, {4003,-9535,3},{3998,-9530,3},{4060,-9577,131},{4058,-9493,3},{4058,-9375,3}, {4060,-9237,3},{4063,-9173,3},{4058,-9170,3},{4055,-9168,3},{4053,-9163,3}, {4050,-9162,3},{4045,-9153,3},{4042,-9152,3},{4038,-9143,3},{3700,-9462,131}, {3913,-9463,3},{3915,-9460,3},{3915,-9463,3},{3917,-9467,3},{3917,-9472,3}, {3920,-9482,3},{3927,-9483,3},{3930,-9490,3},{3935,-9492,3},{3938,-9490,3}, {3940,-9495,3},{3945,-9500,3},{3947,-9503,3},{3955,-9510,3},{3957,-9510,3}, {3958,-9507,3},{3962,-9505,3},{3967,-9503,3},{3968,-9498,3},{3973,-9497,3}, {3972,-9490,3},{3973,-9487,3},{3982,-9488,3},{3985,-9495,3},{3990,-9495,3}, {3990,-9502,3},{3987,-9503,3},{3987,-9508,3},{3990,-9515,3},{3990,-9520,3}, {3993,-9522,3},{4000,-9532,3},{3650,-9462,131},{3700,-9462,3},{3365,-9448,131}, {3538,-9443,3},{3555,-9445,3},{3650,-9462,3},{3365,-9450,131},{3363,-9447,3}, {3360,-9445,3},{3358,-9442,3},{3358,-9438,3},{3357,-9440,3},{3355,-9438,3}, {3355,-9432,3},{3358,-9430,3},{3358,-9425,3},{3357,-9423,3},{3358,-9418,3}, {3357,-9415,3},{3357,-9408,3},{3355,-9405,3},{3302,-9405,3},{3000,-9380,131}, {3007,-9372,3},{3010,-9372,3},{3015,-9370,3},{3022,-9372,3},{3028,-9372,3}, {3035,-9375,3},{3040,-9375,3},{3045,-9370,3},{3052,-9372,3},{3055,-9373,3}, {3058,-9372,3},{3060,-9368,3},{3065,-9368,3},{3070,-9362,3},{3077,-9360,3}, {3082,-9357,3},{3090,-9357,3},{3095,-9353,3},{3097,-9357,3},{3102,-9357,3}, {3103,-9352,3},{3110,-9357,3},{3118,-9353,3},{3120,-9360,3},{3127,-9362,3}, {3132,-9368,3},{3137,-9365,3},{3142,-9370,3},{3145,-9372,3},{3148,-9375,3}, {3152,-9372,3},{3155,-9378,3},{3160,-9383,3},{3170,-9382,3},{3173,-9383,3}, {3178,-9383,3},{3188,-9390,3},{3193,-9397,3},{3197,-9400,3},{3200,-9405,3}, {3302,-9405,3},{3302,-9257,3},{3302,-9118,3},{4350,-9122,131},{4357,-9125,3}, {4380,-9127,3},{4392,-9135,3},{4397,-9140,3},{4403,-9152,3},{4403,-9160,3}, {4415,-9180,3},{4418,-9185,3},{4433,-9193,3},{4435,-9198,3},{4442,-9210,3}, {4447,-9225,3},{4455,-9237,3},{4460,-9257,3},{4475,-9282,3},{4480,-9278,3}, {4490,-9278,3},{4493,-9275,3},{4503,-9277,3},{4507,-9280,3},{4512,-9275,3}, {4518,-9277,3},{4528,-9277,3},{4533,-9270,3},{4543,-9267,3},{4555,-9275,3}, {4557,-9287,3},{4558,-9290,3},{4572,-9288,3},{4577,-9278,3},{4583,-9277,3}, {4592,-9270,3},{4595,-9257,3},{4598,-9253,3},{4598,-9247,3},{4602,-9243,3}, {4603,-9237,3},{4608,-9230,3},{4667,-9230,3},{4667,-9222,3},{4672,-9220,3}, {4672,-9217,3},{4677,-9212,3},{4250,-9065,131},{4255,-9063,3},{4265,-9070,3}, {4270,-9095,3},{4272,-9103,3},{4275,-9107,3},{4287,-9108,3},{4292,-9113,3}, {4312,-9118,3},{4317,-9117,3},{4325,-9110,3},{4328,-9108,3},{4333,-9112,3}, {4337,-9120,3},{4345,-9123,3},{4337,-9120,3},{4345,-9123,3},{4352,-9122,3}, {4038,-9143,131},{4038,-9138,3},{4040,-9137,3},{4045,-9138,3},{4050,-9137,3}, {4055,-9142,3},{4057,-9142,3},{4062,-9132,3},{4067,-9115,3},{4075,-9110,3}, {4083,-9108,3},{4097,-9095,3},{4110,-9097,3},{4118,-9107,3},{4123,-9110,3}, {4142,-9103,3},{4143,-9100,3},{4143,-9087,3},{4145,-9082,3},{4145,-9068,3}, {4152,-9057,3},{4153,-9045,3},{4157,-9040,3},{4158,-9035,3},{4167,-9033,3}, {4175,-9030,3},{4182,-9020,3},{4200,-9013,3},{4212,-9017,3},{4225,-9040,3}, {4235,-9043,3},{4247,-9063,3},{4248,-9065,3},{4252,-9063,3},{4658,-9042,131}, {4655,-9040,3},{4657,-9033,3},{4655,-9033,3},{4653,-9032,3},{4650,-9022,3}, {4633,-9012,3},{4615,-8912,3},{4603,-8883,3},{4602,-8878,3},{4603,-8872,3}, {4600,-8865,3},{4602,-8860,3},{4602,-8852,3},{4600,-8850,3},{4600,-8837,3}, {4597,-8833,3},{4597,-8818,3},{4593,-8812,3},{4588,-8808,3},{4583,-8812,3}, {4580,-8812,3},{4578,-8805,3},{4578,-8800,3},{4577,-8790,131},{4568,-8780,3}, {4565,-8783,3},{4560,-8778,3},{4557,-8783,3},{4550,-8780,3},{4545,-8787,3}, {4537,-8788,3},{4535,-8787,3},{4537,-8775,3},{4538,-8768,3},{4537,-8765,3}, {4535,-8765,3},{4525,-8772,3},{4518,-8773,3},{4515,-8768,3},{4512,-8767,3}, {4510,-8760,3},{4248,-8780,131},{4250,-8923,3},{4252,-9063,3},{3697,-8912,131}, {3698,-8913,3},{3698,-8920,3},{3702,-8922,3},{3703,-8925,3},{3708,-8927,3}, {3708,-8930,3},{3707,-8932,3},{3702,-8927,3},{3700,-8928,3},{3705,-8938,3}, {3710,-8938,3},{3720,-8947,3},{3725,-8947,3},{3727,-8952,3},{3732,-8952,3}, {3735,-8945,3},{3742,-8943,3},{3755,-8953,3},{3768,-8953,3},{3773,-8967,3}, {3783,-8973,3},{3787,-8982,3},{3790,-8985,3},{3787,-8992,3},{3788,-8995,3}, {3790,-8997,3},{3795,-8995,3},{3797,-9002,3},{3802,-9012,3},{3807,-9015,3}, {3810,-9023,3},{3823,-9037,3},{3828,-9038,3},{3835,-9038,3},{3843,-9032,3}, {3855,-9025,3},{3863,-9018,3},{3872,-9020,3},{3880,-9013,3},{3883,-9013,3}, {3892,-9027,3},{3893,-9033,3},{3897,-9043,3},{3895,-9048,3},{3888,-9055,3}, {3888,-9062,3},{3897,-9070,3},{3907,-9072,3},{3910,-9070,3},{3913,-9073,3}, {3925,-9075,3},{3930,-9078,3},{3937,-9088,3},{3945,-9103,3},{3953,-9110,3}, {3955,-9115,3},{3972,-9138,3},{3980,-9140,3},{3987,-9145,3},{3993,-9143,3}, {4000,-9148,3},{4012,-9152,3},{4028,-9150,3},{4037,-9147,3},{4038,-9143,3}, {4172,-8752,131},{3935,-8753,3},{3933,-8758,3},{3930,-8763,3},{3920,-8758,3}, {3915,-8767,3},{3912,-8767,3},{3905,-8760,3},{3900,-8758,3},{3895,-8753,3}, {3887,-8755,3},{3880,-8752,3},{3875,-8752,3},{3868,-8753,3},{3865,-8762,3}, {3860,-8762,3},{3857,-8767,3},{3850,-8765,3},{3850,-8768,3},{3845,-8775,3}, {3843,-8775,3},{3838,-8777,3},{3837,-8782,3},{3828,-8785,3},{3832,-8788,3}, {3828,-8790,3},{3830,-8793,3},{3828,-8795,3},{3825,-8797,3},{3823,-8798,3}, {3820,-8798,3},{3817,-8793,3},{3815,-8793,3},{3810,-8803,3},{3808,-8798,3}, {3808,-8797,3},{3805,-8805,3},{3803,-8803,3},{3795,-8805,3},{3790,-8803,3}, {3788,-8812,3},{3783,-8803,3},{3782,-8810,3},{3780,-8805,3},{3782,-8803,131}, {3775,-8807,3},{3768,-8813,3},{3763,-8817,3},{3760,-8815,3},{3753,-8808,3}, {3748,-8808,3},{3747,-8812,3},{3745,-8827,3},{3743,-8833,3},{3740,-8837,3}, {3740,-8847,3},{3738,-8848,3},{3733,-8852,3},{3728,-8852,3},{3715,-8842,3}, {3707,-8848,3},{3707,-8852,3},{3707,-8857,3},{3712,-8865,3},{3722,-8890,3}, {3722,-8897,3},{3722,-8902,3},{3718,-8907,3},{3712,-8912,3},{3707,-8917,3}, {3702,-8917,3},{3698,-8913,3},{3695,-8912,3},{3688,-8912,3},{3683,-8918,3}, {3680,-8917,3},{3680,-8913,3},{3677,-8913,3},{3677,-8918,3},{3673,-8920,3}, {3667,-8917,3},{3658,-8922,3},{3657,-8925,3},{3658,-8930,3},{3663,-8937,3}, {3662,-8938,3},{3658,-8938,3},{3648,-8943,3},{3650,-8943,131},{3645,-8948,3}, {3647,-8950,3},{3650,-8950,3},{3655,-8950,3},{3657,-8953,3},{3655,-8957,3}, {3652,-8957,3},{3648,-8955,3},{3645,-8955,3},{3637,-8953,3},{3635,-8955,3}, {3635,-8962,3},{3632,-8963,3},{3627,-8955,3},{3625,-8958,3},{3623,-8968,3}, {3613,-8960,3},{3610,-8967,3},{3598,-8973,3},{3600,-8973,131},{3592,-8967,3}, {3590,-8967,3},{3592,-8973,3},{3590,-8977,3},{3587,-8978,3},{3585,-8973,3}, {3582,-8973,3},{3582,-8975,3},{3582,-8980,3},{3577,-8982,3},{3577,-8983,3}, {3573,-8997,3},{3572,-8997,3},{3567,-8992,3},{3565,-8985,3},{3563,-8987,3}, {3560,-8995,3},{3558,-8995,3},{3557,-8993,3},{3553,-8993,3},{3557,-9002,3}, {3555,-9005,3},{3552,-9005,3},{3543,-9000,3},{3542,-9005,3},{3543,-9007,3}, {3547,-9008,3},{3548,-9010,3},{3542,-9018,3},{3538,-9018,3},{3542,-9013,3}, {3538,-9010,3},{3535,-9012,3},{3532,-9010,3},{3528,-9018,3},{3527,-9017,3}, {3525,-9010,3},{3523,-9008,3},{3520,-9008,3},{3517,-9008,3},{3513,-9010,3}, {3512,-9010,3},{3513,-9017,3},{3505,-9022,3},{3505,-9030,3},{3500,-9030,3}, {3502,-9032,131},{3493,-9027,3},{3487,-9030,3},{3485,-9032,3},{3487,-9035,3}, {3483,-9043,3},{3488,-9043,3},{3488,-9047,3},{3487,-9047,3},{3483,-9047,3}, {3480,-9047,3},{3477,-9045,3},{3473,-9048,3},{3473,-9053,3},{3477,-9050,3}, {3480,-9052,3},{3480,-9055,3},{3472,-9055,3},{3470,-9048,3},{3468,-9047,3}, {3467,-9048,3},{3463,-9053,3},{3463,-9055,3},{3468,-9055,3},{3470,-9057,3}, {3467,-9058,3},{3462,-9060,3},{3458,-9053,3},{3455,-9053,3},{3452,-9058,3}, {3445,-9058,3},{3442,-9058,3},{3438,-9065,3},{3432,-9068,3},{3433,-9070,3}, {3437,-9068,3},{3437,-9077,3},{3433,-9075,3},{3430,-9077,3},{3428,-9078,3}, {3428,-9082,3},{3422,-9087,3},{3423,-9093,3},{3420,-9093,3},{3418,-9083,3}, {3417,-9082,3},{3415,-9083,3},{3417,-9092,3},{3415,-9097,3},{3412,-9095,3}, {3410,-9088,3},{3410,-9087,3},{3405,-9088,3},{3403,-9092,3},{3402,-9098,3}, {3397,-9098,3},{3402,-9108,3},{3402,-9110,3},{3393,-9103,3},{3385,-9107,3}, {3380,-9100,3},{3378,-9103,3},{3380,-9115,3},{3377,-9115,3},{3372,-9113,3}, {3372,-9107,3},{3368,-9105,3},{3367,-9110,3},{3368,-9115,3},{3373,-9118,3}, {3372,-9123,3},{3362,-9117,3},{3358,-9118,3},{3358,-9125,3},{3352,-9120,3}, {3345,-9125,3},{3345,-9122,3},{3345,-9120,3},{3352,-9117,3},{3348,-9113,3}, {3347,-9113,3},{3342,-9122,3},{3340,-9122,3},{3340,-9118,3},{3340,-9113,3}, {3347,-9110,3},{3345,-9107,3},{3343,-9107,3},{3335,-9115,3},{3327,-9112,3}, {3330,-9107,3},{3328,-9105,3},{3327,-9107,3},{3323,-9110,3},{3315,-9110,3}, {3315,-9120,3},{3312,-9120,3},{3307,-9113,3},{3300,-9118,3},{3302,-9118,131}, {3295,-9123,3},{3292,-9122,3},{3292,-9115,3},{3297,-9115,3},{3298,-9113,3}, {3298,-9110,3},{3297,-9110,3},{3288,-9110,3},{3285,-9115,3},{3278,-9118,3}, {3275,-9108,3},{3273,-9107,3},{3268,-9112,3},{3267,-9117,3},{3262,-9117,3}, {3260,-9113,3},{3265,-9105,3},{3263,-9102,3},{3260,-9103,3},{3257,-9108,3}, {3252,-9102,3},{3250,-9102,3},{3250,-9105,3},{3252,-9108,3},{3252,-9110,3}, {3250,-9112,3},{3247,-9112,3},{3245,-9107,3},{3245,-9098,3},{3243,-9098,3}, {3242,-9100,3},{3237,-9100,3},{3233,-9092,3},{3232,-9090,3},{3230,-9098,3}, {3225,-9098,3},{3223,-9098,3},{3225,-9105,3},{3223,-9108,3},{3222,-9115,3}, {3217,-9117,3},{3215,-9115,3},{3215,-9107,3},{3218,-9105,3},{3217,-9102,3}, {3213,-9102,3},{3210,-9107,3},{3207,-9108,3},{3208,-9117,3},{3207,-9115,3}, {3203,-9108,3},{3202,-9108,3},{3197,-9118,3},{3193,-9120,3},{3187,-9127,3}, {3182,-9127,3},{3187,-9132,3},{3183,-9135,3},{3178,-9137,3},{3177,-9128,3}, {3173,-9138,3},{3163,-9142,3},{3165,-9150,3},{3163,-9152,3},{3160,-9150,3}, {3160,-9143,3},{3158,-9142,3},{3153,-9152,3},{3148,-9152,3},{3142,-9148,3}, {3140,-9150,3},{3140,-9153,3},{3143,-9155,3},{3142,-9157,3},{3137,-9157,3}, {3132,-9152,3},{3130,-9152,3},{3128,-9153,3},{3127,-9165,3},{3125,-9165,3}, {3120,-9160,3},{3113,-9163,3},{3107,-9157,3},{3105,-9158,3},{3102,-9163,3}, {3100,-9165,3},{3100,-8973,3},{3098,-8972,3},{3082,-8978,3},{3078,-8982,3}, {3067,-8985,3},{3063,-8982,3},{3062,-8982,3},{3057,-8980,3},{3053,-8975,3}, {3047,-8968,3},{3042,-8967,3},{3033,-8962,3},{3030,-8963,3},{3020,-8958,3}, {3018,-8957,3},{3020,-8953,3},{3018,-8952,3},{4177,-8683,131},{4177,-8480,3}, {4173,-8480,3},{4168,-8480,3},{4173,-8347,131},{4170,-8480,3},{3910,-8482,3}, {3905,-8488,3},{3897,-8482,3},{3892,-8487,3},{3890,-8487,3},{3890,-8480,3}, {3888,-8478,3},{3883,-8482,3},{3878,-8480,3},{3880,-8485,3},{3878,-8498,3}, {3868,-8518,3},{3875,-8527,3},{3873,-8543,3},{3870,-8545,3},{3865,-8543,3}, {3853,-8542,3},{3852,-8547,3},{3847,-8552,3},{3845,-8560,3},{3833,-8565,3}, {3830,-8568,3},{3827,-8575,3},{3828,-8580,3},{3828,-8583,3},{3818,-8590,3}, {3803,-8592,3},{3800,-8595,3},{3800,-8602,3},{3797,-8605,3},{3802,-8612,3}, {3802,-8618,3},{3807,-8627,3},{3808,-8628,3},{3813,-8628,3},{3820,-8637,3}, {3818,-8638,3},{3815,-8633,3},{3813,-8633,3},{3810,-8640,3},{3813,-8647,3}, {3807,-8643,3},{3803,-8652,3},{3793,-8652,3},{3792,-8658,3},{3787,-8660,3}, {3785,-8663,3},{3785,-8667,3},{3790,-8665,3},{3790,-8672,3},{3790,-8675,3}, {3797,-8680,3},{3798,-8683,3},{3793,-8692,3},{3792,-8702,3},{3782,-8707,3}, {3778,-8712,3},{3780,-8715,3},{3783,-8717,3},{3785,-8720,3},{3793,-8740,3}, {3793,-8747,3},{3792,-8752,3},{3792,-8757,3},{3797,-8760,3},{3793,-8762,3}, {3787,-8758,3},{3783,-8763,3},{3783,-8768,3},{3788,-8767,3},{3790,-8768,3}, {3787,-8778,3},{3788,-8783,3},{3793,-8790,3},{3792,-8793,3},{3782,-8790,3}, {3778,-8795,3},{3782,-8803,3},{3780,-8805,3},{3842,-8260,131},{3847,-8262,3}, {3850,-8267,3},{3853,-8270,3},{3858,-8283,3},{3875,-8288,3},{3872,-8303,3}, {3868,-8305,3},{3867,-8312,3},{3862,-8315,3},{3862,-8327,3},{3860,-8330,3}, {3865,-8337,3},{3867,-8347,3},{3870,-8350,3},{3868,-8360,3},{3863,-8365,3}, {3865,-8377,3},{3868,-8378,3},{3872,-8383,3},{3877,-8387,3},{3878,-8395,3}, {3878,-8408,3},{3882,-8420,3},{3890,-8423,3},{3895,-8428,3},{3900,-8430,3}, {3905,-8440,3},{3912,-8445,3},{3907,-8460,3},{3908,-8465,3},{3913,-8473,3}, {3908,-8483,3},{3753,-8197,131},{3755,-8198,3},{3753,-8203,3},{3757,-8213,3}, {3760,-8213,3},{3763,-8218,3},{3768,-8228,3},{3777,-8232,3},{3782,-8240,3}, {3790,-8242,3},{3793,-8248,3},{3798,-8247,3},{3803,-8253,3},{3817,-8263,3}, {3820,-8260,3},{3823,-8260,3},{3825,-8257,3},{3833,-8257,3},{3837,-8260,3}, {3842,-8258,3},{3753,-8197,131},{3727,-8237,3},{3713,-8270,3},{3712,-8272,3}, {3705,-8272,3},{3698,-8285,3},{3690,-8287,3},{3687,-8297,3},{3685,-8307,3}, {3678,-8312,3},{3675,-8313,3},{3673,-8323,3},{3670,-8335,3},{3668,-8340,3}, {3667,-8352,3},{3663,-8362,3},{3660,-8367,3},{3650,-8942,131},{3650,-8805,3}, {3657,-8803,3},{3668,-8807,3},{3667,-8785,3},{3663,-8783,3},{3665,-8720,3}, {3665,-8658,3},{3663,-8657,3},{3667,-8652,3},{3662,-8552,3},{3663,-8515,3}, {3662,-8477,3},{3660,-8410,3},{3658,-8372,3},{3660,-8368,3},{3660,-8197,3}, {3660,-8195,3},{3662,-8192,3},{3660,-8165,3},{3662,-8165,131},{3653,-8172,3}, {3648,-8170,3},{3640,-8175,3},{3635,-8172,3},{3637,-8182,3},{3635,-8183,3}, {3630,-8190,3},{3613,-8203,3},{3613,-8205,3},{3610,-8207,3},{3610,-8210,3}, {3613,-8213,3},{3615,-8215,3},{3617,-8220,3},{3613,-8227,3},{3612,-8235,3}, {3607,-8243,3},{3600,-8248,3},{3597,-8257,3},{3598,-8260,3},{3603,-8258,3}, {3607,-8263,3},{3600,-8277,3},{3593,-8280,3},{3595,-8287,3},{3595,-8290,3}, {3592,-8292,3},{3588,-8290,3},{3578,-8298,3},{3580,-8307,3},{3578,-8308,3}, {3577,-8317,3},{3573,-8320,3},{3572,-8325,3},{3567,-8330,3},{3567,-8335,3}, {3563,-8337,3},{3562,-8345,3},{3557,-8350,3},{3555,-8357,3},{3558,-8360,3}, {3557,-8363,3},{3557,-8373,3},{3553,-8382,3},{3552,-8388,3},{3547,-8392,3}, {3545,-8397,3},{3542,-8402,3},{3528,-8405,3},{3527,-8408,3},{3525,-8418,3}, {3527,-8422,3},{3527,-8425,3},{3523,-8428,3},{3498,-8432,3},{3500,-9030,131}, {3500,-8818,3},{3500,-8562,131},{3500,-8683,3},{3502,-8818,3},{3500,-8818,3}, {3500,-8562,131},{3498,-8432,3},{3500,-8818,131},{3493,-8813,3},{3490,-8808,3}, {3190,-8848,3},{3038,-8840,3},{3027,-8750,131},{3030,-8750,3},{3030,-8747,3}, {3032,-8750,3},{3033,-8750,3},{3035,-8747,3},{3040,-8743,3},{3043,-8737,3}, {3047,-8742,3},{3053,-8745,3},{3065,-8740,3},{3068,-8742,3},{3073,-8752,3}, {3078,-8755,3},{3087,-8763,3},{3095,-8760,3},{3100,-8760,3},{3100,-8500,3}, {3098,-8500,131},{3102,-8500,3},{3107,-8500,3},{3117,-8507,3},{3118,-8510,3}, {3127,-8512,3},{3145,-8505,3},{3148,-8507,3},{3153,-8503,3},{3163,-8507,3}, {3168,-8512,3},{3183,-8513,3},{3190,-8512,3},{3200,-8507,3},{3213,-8505,3}, {3218,-8502,3},{3220,-8497,3},{3222,-8498,3},{3223,-8492,3},{3225,-8492,3}, {3227,-8490,3},{3233,-8500,3},{3235,-8500,3},{3238,-8497,3},{3238,-8498,3}, {3242,-8497,3},{3247,-8498,3},{3252,-8500,3},{3258,-8507,3},{3263,-8508,3}, {3265,-8510,3},{3273,-8512,3},{3275,-8513,3},{3278,-8513,3},{3282,-8517,3}, {3285,-8517,3},{3292,-8520,3},{3400,-8540,3},{3500,-8562,3},{3072,-8152,131}, {3070,-8155,3},{3072,-8162,3},{3073,-8163,3},{3073,-8165,3},{3073,-8168,3}, {3075,-8172,3},{3077,-8173,3},{3077,-8178,3},{3078,-8180,3},{3080,-8188,3}, {3082,-8192,3},{3082,-8197,3},{3078,-8198,3},{3078,-8202,3},{3072,-8203,3}, {3065,-8205,3},{3057,-8202,3},{3042,-8205,3},{3037,-8205,3},{3037,-8208,3}, {3037,-8220,3},{3043,-8222,3},{3048,-8220,3},{3053,-8225,3},{3057,-8223,3}, {3072,-8487,3},{3073,-8487,3},{3075,-8492,3},{3088,-8493,3},{3100,-8502,3}, {4063,-8052,131},{4198,-8052,3},{4065,-8052,131},{4062,-8057,3},{4062,-8063,3}, {4058,-8067,3},{4047,-8060,3},{4040,-8063,3},{4037,-8060,3},{4032,-8060,3}, {4028,-8062,3},{4025,-8065,3},{4012,-8072,3},{4008,-8073,3},{4000,-8073,3}, {3995,-8077,3},{3992,-8075,3},{3992,-8080,3},{3987,-8080,3},{3978,-8083,3}, {3977,-8087,3},{3972,-8083,3},{3962,-8088,3},{3960,-8093,3},{3955,-8102,3}, {3945,-8112,3},{3940,-8123,3},{3938,-8128,3},{3935,-8137,3},{3937,-8140,3}, {3940,-8143,3},{3940,-8147,3},{3938,-8148,3},{3933,-8155,3},{3928,-8157,3}, {3927,-8168,3},{3923,-8170,3},{3922,-8173,3},{3917,-8175,3},{3910,-8175,3}, {3907,-8182,3},{3902,-8177,3},{3897,-8178,3},{3893,-8177,3},{3895,-8182,3}, {3893,-8183,3},{3890,-8187,3},{3887,-8190,3},{3888,-8193,3},{3893,-8190,3}, {3898,-8193,3},{3902,-8202,3},{3893,-8212,3},{3883,-8215,3},{3877,-8222,3}, {3872,-8218,3},{3862,-8218,3},{3858,-8220,3},{3858,-8227,3},{3845,-8232,3}, {3840,-8255,3},{3842,-8260,3},{3500,-8310,131},{3493,-8313,3},{3493,-8315,3}, {3487,-8323,3},{3480,-8327,3},{3480,-8330,3},{3470,-8335,3},{3463,-8325,3}, {3460,-8318,3},{3462,-8317,3},{3458,-8317,3},{3453,-8308,3},{3448,-8303,3}, {3448,-8288,3},{3435,-8282,3},{3427,-8275,3},{3417,-8273,3},{3412,-8265,3}, {3403,-8260,3},{3395,-8257,3},{3395,-8252,3},{3388,-8245,3},{3382,-8230,3}, {3375,-8225,3},{3362,-8218,3},{3357,-8207,3},{3350,-8198,3},{3347,-8193,3}, {3342,-8192,3},{3342,-8193,3},{3338,-8192,3},{3337,-8193,3},{3332,-8188,3}, {3332,-8185,3},{3330,-8185,3},{3327,-8183,3},{3325,-8183,3},{3322,-8180,3}, {3322,-8177,3},{3315,-8177,3},{3312,-8170,3},{3310,-8162,3},{3305,-8155,3}, {3305,-8153,3},{3302,-8148,3},{3295,-8150,3},{3275,-8140,3},{3270,-8142,3}, {3267,-8140,3},{3262,-8140,3},{3258,-8135,3},{3257,-8128,3},{3253,-8127,3}, {3253,-8123,3},{3250,-8123,3},{3247,-8118,3},{3243,-8120,3},{3235,-8117,3}, {3232,-8113,3},{3228,-8113,3},{3225,-8115,3},{3223,-8113,3},{3220,-8115,3}, {3213,-8113,3},{3208,-8107,3},{3207,-8097,3},{3203,-8093,3},{3203,-8090,3}, {3498,-8433,131},{3500,-8310,3},{3508,-8278,3},{3507,-8275,3},{3510,-8270,3}, {3513,-8268,3},{3517,-8252,3},{3518,-8248,3},{3517,-8243,3},{3520,-8242,3}, {3522,-8238,3},{3520,-8237,3},{3520,-8233,3},{3520,-8228,3},{3520,-8197,3}, {3515,-8105,3},{3513,-8103,3},{3508,-8105,3},{3505,-8103,3},{3512,-8093,3}, {3505,-8088,3},{3497,-8078,3},{3483,-8080,3},{3480,-7967,3},{3385,-7855,3}, {3662,-8167,131},{3660,-8165,3},{3657,-8115,3},{3655,-8025,3},{3655,-7782,3}, {3655,-7583,3},{3933,-7773,131},{3915,-7783,3},{3945,-7833,3},{3942,-7835,3}, {3933,-7837,3},{3927,-7842,3},{3917,-7842,3},{3907,-7852,3},{3902,-7855,3}, {3897,-7860,3},{3897,-7863,3},{3893,-7867,3},{3892,-7870,3},{3893,-7875,3}, {3878,-7887,3},{3885,-7900,3},{3873,-7908,3},{3867,-7910,3},{3863,-7915,3}, {3852,-7920,3},{3842,-7928,3},{3848,-7952,3},{3850,-7950,3},{3857,-7955,3}, {3858,-7965,3},{3852,-7967,3},{3850,-7968,3},{3843,-7970,3},{3840,-7972,3}, {3837,-7973,3},{3837,-7977,3},{3832,-7980,3},{3827,-7980,3},{3817,-7992,3}, {3810,-7993,3},{3802,-7998,3},{3783,-8020,3},{3772,-8025,3},{3768,-8028,3}, {3767,-8028,3},{3763,-8022,3},{3757,-8030,3},{3755,-8030,3},{3753,-8027,3}, {3743,-8045,3},{3743,-8048,3},{3747,-8048,3},{3747,-8050,3},{3745,-8057,3}, {3738,-8075,3},{3740,-8078,3},{3742,-8080,3},{3743,-8085,3},{3738,-8088,3}, {3735,-8087,3},{3732,-8090,3},{3728,-8095,3},{3732,-8100,3},{3728,-8102,3}, {3728,-8115,3},{3725,-8122,3},{3733,-8137,3},{3727,-8142,3},{3727,-8148,3}, {3720,-8157,3},{3722,-8165,3},{3723,-8172,3},{3728,-8175,3},{3728,-8183,3}, {3733,-8187,3},{3737,-8193,3},{3743,-8193,3},{3747,-8198,3},{3752,-8195,3}, {3753,-8197,3},{3972,-7948,131},{3920,-7948,3},{3930,-7935,3},{3930,-7928,3}, {3935,-7925,3},{3942,-7913,3},{3947,-7910,3},{3948,-7905,3},{3945,-7898,3}, {3945,-7895,3},{3955,-7885,3},{3957,-7880,3},{3958,-7882,3},{3963,-7878,3}, {3962,-7873,3},{3960,-7875,3},{3957,-7875,3},{3953,-7867,3},{3952,-7858,3}, {3953,-7847,3},{3955,-7842,3},{3958,-7845,3},{3960,-7840,3},{3962,-7843,3}, {3965,-7835,3},{3963,-7828,3},{3968,-7822,3},{3970,-7818,3},{3970,-7813,3}, {3965,-7805,3},{3960,-7800,3},{3960,-7795,3},{3960,-7792,3},{3960,-7788,3}, {3962,-7787,3},{3960,-7783,3},{3957,-7783,3},{3955,-7788,3},{3952,-7785,3}, {3953,-7783,3},{3953,-7782,3},{3950,-7783,3},{3950,-7777,3},{3945,-7780,3}, {3942,-7773,3},{3935,-7775,3},{3933,-7773,3},{3972,-7948,131},{3972,-8052,3}, {4063,-8052,3},{4227,-7977,131},{4200,-7977,3},{4200,-7755,3},{4200,-7533,3}, {4198,-7533,3},{4195,-7527,3},{4187,-7525,3},{4187,-7517,3},{4183,-7508,3}, {4180,-7510,3},{4178,-7505,3},{4173,-7505,3},{4172,-7507,3},{4165,-7505,3}, {4162,-7507,3},{4148,-7498,3},{4148,-7492,3},{4145,-7488,3},{4143,-7475,3}, {4138,-7470,3},{4135,-7470,3},{4098,-7390,3},{4070,-7402,3},{4067,-7408,3}, {4063,-7418,3},{4058,-7420,3},{4055,-7423,3},{4050,-7425,3},{4205,-7348,131}, {4130,-7355,3},{4122,-7348,3},{4110,-7372,3},{4102,-7365,3},{4275,-7325,131}, {4208,-7352,3},{4205,-7348,3},{4203,-7282,3},{4200,-7280,3},{4200,-7278,3}, {4200,-7280,131},{4200,-7277,3},{4203,-7275,3},{4203,-7262,3},{4202,-7258,3}, {4203,-7257,3},{4203,-7180,3},{4200,-7180,3},{4142,-7178,3},{4140,-7183,3}, {4132,-7185,3},{4202,-7180,131},{4202,-7138,3},{4190,-7138,3},{4188,-7133,3}, {4178,-7133,3},{4175,-7127,3},{4168,-7120,3},{4165,-7113,3},{4152,-7113,3}, {4502,-7335,131},{4493,-7333,3},{4485,-7338,3},{4478,-7333,3},{4462,-7338,3}, {4445,-7328,3},{4437,-7333,3},{4425,-7332,3},{4420,-7338,3},{4405,-7343,3}, {4402,-7340,3},{4393,-7340,3},{4387,-7337,3},{4383,-7338,3},{4377,-7337,3}, {4365,-7342,3},{4360,-7343,3},{4357,-7340,3},{4360,-7337,3},{4362,-7335,3}, {4363,-7333,3},{4362,-7330,3},{4360,-7328,3},{4353,-7323,3},{4285,-7327,3}, {4282,-7328,3},{4275,-7325,3},{4273,-7245,131},{4275,-7325,3},{4288,-7082,131}, {4288,-7090,3},{4288,-7095,3},{4285,-7102,3},{4282,-7108,3},{4282,-7113,3}, {4280,-7117,3},{4275,-7118,3},{4275,-7123,3},{4270,-7130,3},{4273,-7247,3}, {4530,-7108,131},{4357,-7095,3},{4340,-7098,3},{4330,-7090,3},{4325,-7082,3}, {4315,-7083,3},{4308,-7073,3},{4502,-7150,131},{4502,-7152,3},{4498,-7153,3}, {4490,-7150,3},{4475,-7163,3},{4458,-7155,3},{4457,-7160,3},{4452,-7158,3}, {4443,-7168,3},{4440,-7180,3},{4435,-7185,3},{4435,-7197,3},{4430,-7203,3}, {4425,-7205,3},{4410,-7205,3},{4400,-7212,3},{4397,-7210,3},{4388,-7218,3}, {4378,-7222,3},{4372,-7230,3},{4360,-7233,3},{4358,-7238,3},{4355,-7240,3}, {4330,-7240,3},{4325,-7243,3},{4300,-7247,3},{4297,-7253,3},{4287,-7255,3}, {4283,-7255,3},{4278,-7252,3},{4277,-7248,3},{4273,-7247,3},{3972,-7948,131}, {3972,-7770,3},{3972,-7578,3},{3802,-7537,131},{3800,-7562,3},{3797,-7565,3}, {3797,-7567,3},{3972,-7578,131},{3980,-7572,3},{3985,-7563,3},{3985,-7548,3}, {3982,-7542,3},{3845,-7503,131},{3845,-7572,3},{3903,-7573,3},{3972,-7578,3}, {3933,-7773,131},{3932,-7767,3},{3930,-7762,3},{3930,-7755,3},{3927,-7753,3}, {3923,-7745,3},{3920,-7747,3},{3917,-7750,3},{3913,-7752,3},{3907,-7745,3}, {3907,-7733,3},{3905,-7727,3},{3898,-7722,3},{3897,-7713,3},{3893,-7712,3}, {4135,-7470,131},{4132,-7478,3},{4125,-7487,3},{4117,-7488,3},{4110,-7498,3}, {4108,-7498,3},{4103,-7503,3},{4100,-7512,3},{4098,-7513,3},{4088,-7505,3}, {4085,-7507,3},{4085,-7510,3},{4078,-7512,3},{4078,-7513,3},{4078,-7517,3}, {4075,-7518,3},{4073,-7518,3},{4070,-7520,3},{4067,-7518,3},{4065,-7520,3}, {4058,-7518,3},{4057,-7517,3},{4055,-7508,3},{4045,-7507,3},{4042,-7505,3}, {4040,-7502,3},{4040,-7497,3},{4033,-7493,3},{4017,-7472,3},{4013,-7475,3}, {4012,-7482,3},{4008,-7488,3},{4007,-7493,3},{4002,-7498,3},{4002,-7503,3}, {3878,-7703,131},{3890,-7690,3},{3900,-7703,3},{3895,-7712,3},{3890,-7707,3}, {-3833,14463,128},{-3830,14462,0},{-3837,14480,0},{-3832,14493,0},{-3830,14495,0}, {-3825,14497,0},{-3822,14502,0},{-3813,14508,0},{-3802,14503,0},{-3800,14498,0}, {-3793,14495,0},{-3788,14492,0},{-3787,14488,0},{-3788,14485,0},{-3787,14482,0}, {-3787,14478,0},{-3790,14475,0},{-3793,14475,0},{-3795,14470,0},{-3800,14462,0}, {-3800,14455,0},{-3807,14447,0},{-3810,14445,0},{-3810,14435,0},{-3813,14432,0}, {-3815,14433,0},{-3813,14438,0},{-3817,14442,0},{-3817,14445,0},{-3813,14458,0}, {-3813,14465,0},{-3818,14467,0},{-3822,14467,0},{-3822,14463,0},{-3820,14465,0}, {-3822,14462,0},{-3827,14457,0},{-3828,14462,0},{-3830,14457,0},{-3828,14443,0}, {-3832,14433,0},{-3842,14422,0},{-3852,14402,0},{-3870,14387,0},{-3872,14372,0}, {-3878,14368,0},{-3887,14355,0},{-3885,14352,0},{-3880,14347,0},{-3877,14338,0}, {-3877,14322,0},{-3868,14312,0},{-3860,14280,0},{-3840,14250,0},{-3840,14242,0}, {-3838,14233,0},{-3838,14228,0},{-3842,14222,0},{-3840,14210,0},{-3838,14203,0}, {-3830,14188,0},{-3830,14180,0},{-3828,14172,0},{-3830,14167,0},{-3832,14162,0}, {-3842,14162,0},{-3843,14155,0},{-3845,14152,0},{-3842,14147,0},{-3838,14142,0}, {-3840,14135,0},{-3837,14133,0},{-3832,14137,0},{-3825,14130,0},{-3812,14108,0}, {-3810,14103,0},{-3807,14095,0},{-3805,14057,0},{-3803,14048,0},{-3797,14043,0}, {-3795,14037,0},{-3772,14020,0},{-3760,14010,0},{-3753,14005,0},{-3750,13995,0}, {-3747,13990,0},{-3735,13980,0},{-3730,13973,0},{-3720,13968,0},{-3717,13972,0}, {-3712,13973,0},{-3708,13970,0},{-3705,13970,0},{-3702,13965,0},{-3698,13963,0}, {-3695,13965,0},{-3687,13980,0},{-3677,13980,0},{-3645,13970,0},{-3637,13968,0}, {-3618,13960,0},{-3602,13948,0},{-3583,13928,0},{-3558,13890,0},{-3555,13890,0}, {-3558,13897,0},{-3568,13912,0},{-3592,13943,0},{-3615,13960,0},{-3625,13965,0}, {-3638,13975,0},{-3637,13975,0},{-3615,13963,0},{-3592,13948,0},{-3590,13942,0}, {-3585,13938,0},{-3577,13928,0},{-3560,13903,0},{-3557,13903,0},{-3550,13890,0}, {-3553,13888,0},{-3553,13883,0},{-3557,13887,0},{-3553,13875,0},{-3557,13860,0}, {-3565,13852,0},{-3565,13828,0},{-3568,13815,0},{-3565,13810,0},{-3560,13810,0}, {-3553,13813,0},{-3548,13828,0},{-3540,13835,0},{-3533,13843,0},{-3512,13845,0}, {-3507,13847,0},{-3498,13848,0},{-3485,13847,0},{-3478,13850,0},{-3482,13852,0}, {-3478,13855,0},{-3475,13853,0},{-3448,13828,0},{-3447,13823,0},{-3430,13820,0}, {-3427,13813,0},{-3422,13813,0},{-3415,13808,0},{-3417,13805,0},{-3427,13800,0}, {-3437,13798,0},{-3452,13787,0},{-3458,13785,0},{-3468,13787,0},{-3507,13773,0}, {-3510,13775,0},{-3513,13773,0},{-3518,13767,0},{-3518,13762,0},{-3512,13745,0}, {-3513,13735,0},{-3518,13728,0},{-3518,13720,0},{-3527,13715,0},{-3523,13703,0}, {-3527,13695,0},{-3530,13687,0},{-3530,13683,0},{-3522,13680,0},{-3518,13687,0}, {-3512,13693,0},{-3508,13695,0},{-3503,13693,0},{-3497,13695,0},{-3492,13698,0}, {-3493,13707,0},{-3492,13713,0},{-3488,13718,0},{-3492,13722,0},{-3493,13735,0}, {-3493,13740,0},{-3490,13743,0},{-3460,13748,0},{-3453,13747,0},{-3443,13748,0}, {-3443,13745,0},{-3447,13742,0},{-3445,13740,0},{-3442,13742,0},{-3437,13747,0}, {-3428,13748,0},{-3422,13748,0},{-3417,13745,0},{-3413,13743,0},{-3413,13745,0}, {-3412,13752,0},{-3405,13753,0},{-3398,13753,0},{-3393,13758,0},{-3387,13760,0}, {-3378,13770,0},{-3370,13775,0},{-3368,13780,0},{-3362,13783,0},{-3363,13790,0}, {-3357,13790,0},{-3355,13795,0},{-3340,13787,0},{-3333,13785,0},{-3330,13782,0}, {-3323,13780,0},{-3318,13783,0},{-3315,13793,0},{-3310,13800,0},{-3307,13802,0}, {-3297,13793,0},{-3278,13788,0},{-3273,13790,0},{-3270,13785,0},{-3262,13783,0}, {-3260,13780,0},{-3255,13782,0},{-3252,13777,0},{-3252,13773,0},{-3258,13775,0}, {-3267,13773,0},{-3268,13773,0},{-3272,13778,0},{-3287,13778,0},{-3293,13773,0}, {-3298,13777,0},{-3300,13773,0},{-3298,13770,0},{-3295,13765,0},{-3298,13760,0}, {-3308,13753,0},{-3313,13745,0},{-3315,13742,0},{-3323,13742,0},{-3333,13735,0}, {-3343,13735,0},{-3348,13730,0},{-3363,13720,0},{-3370,13710,0},{-3372,13697,0}, {-3370,13697,0},{-3368,13695,0},{-3367,13692,0},{-3373,13687,0},{-3373,13693,0}, {-3377,13690,0},{-3380,13680,0},{-3383,13675,0},{-3385,13670,0},{-3392,13657,0}, {-3397,13652,0},{-3402,13642,0},{-3410,13633,0},{-3425,13625,0},{-3433,13617,0}, {-3435,13610,0},{-3445,13610,0},{-3452,13607,0},{-3453,13605,0},{-3450,13605,0}, {-3448,13603,0},{-3453,13597,0},{-3453,13593,0},{-3458,13592,0},{-3465,13590,0}, {-3465,13585,0},{-3475,13587,0},{-3480,13580,0},{-3482,13580,0},{-3482,13585,0}, {-3478,13595,0},{-3473,13597,0},{-3477,13600,0},{-3487,13595,0},{-3497,13597,0}, {-3498,13595,0},{-3498,13592,0},{-3493,13587,0},{-3493,13583,0},{-3488,13582,0}, {-3487,13577,0},{-3488,13570,0},{-3490,13567,0},{-3497,13567,0},{-3497,13560,0}, {-3485,13553,0},{-3470,13538,0},{-3470,13530,0},{-3467,13532,0},{-3463,13530,0}, {-3458,13523,0},{-3457,13518,0},{-3458,13515,0},{-3460,13513,0},{-3460,13510,0}, {-3452,13512,0},{-3450,13515,0},{-3445,13518,0},{-3450,13520,0},{-3452,13522,0}, {-3452,13528,0},{-3457,13528,0},{-3458,13533,0},{-3463,13537,0},{-3463,13548,0}, {-3462,13550,0},{-3460,13543,0},{-3455,13542,0},{-3453,13542,0},{-3460,13540,0}, {-3460,13538,0},{-3453,13537,0},{-3450,13537,0},{-3443,13533,0},{-3440,13535,0}, {-3420,13528,0},{-3417,13522,0},{-3412,13525,0},{-3410,13525,0},{-3393,13520,0}, {-3387,13513,0},{-3383,13512,0},{-3380,13505,0},{-3375,13500,0},{-3363,13480,0}, {-3357,13483,0},{-3350,13483,0},{-3333,13478,0},{-3323,13463,0},{-3323,13468,0}, {-3320,13468,0},{-3315,13457,0},{-3317,13455,0},{-3322,13460,0},{-3323,13460,0}, {-3322,13455,0},{-3315,13447,0},{-3315,13435,0},{-3310,13432,0},{-3308,13430,0}, {-3303,13428,0},{-3308,13425,0},{-3315,13432,0},{-3318,13432,0},{-3318,13428,0}, {-3313,13423,0},{-3305,13420,0},{-3305,13417,0},{-3303,13413,0},{-3300,13413,0}, {-3298,13415,0},{-3293,13415,0},{-3293,13410,0},{-3292,13408,0},{-3292,13405,0}, {-3285,13410,0},{-3282,13410,0},{-3278,13408,0},{-3275,13402,0},{-3272,13400,0}, {-3272,13412,0},{-3277,13418,0},{-3272,13422,0},{-3265,13425,0},{-3262,13420,0}, {-3257,13420,0},{-3253,13418,0},{-3245,13407,0},{-3247,13398,0},{-3250,13395,0}, {-3248,13390,0},{-3252,13387,0},{-3252,13382,0},{-3245,13380,0},{-3238,13383,0}, {-3238,13385,0},{-3238,13387,0},{-3240,13388,0},{-3238,13390,0},{-3228,13387,0}, {-3222,13378,0},{-3223,13373,0},{-3222,13372,0},{-3218,13372,0},{-3217,13363,0}, {-3213,13363,0},{-3212,13362,0},{-3207,13358,0},{-3208,13355,0},{-3212,13355,0}, {-3213,13353,0},{-3213,13348,0},{-3208,13343,0},{-3212,13338,0},{-3217,13345,0}, {-3218,13345,0},{-3217,13340,0},{-3218,13337,0},{-3215,13328,0},{-3218,13323,0}, {-3215,13313,0},{-3218,13310,0},{-3212,13308,0},{-3207,13302,0},{-3207,13297,0}, {-3203,13295,0},{-3193,13278,0},{-3192,13273,0},{-3192,13265,0},{-3190,13260,0}, {-3192,13245,0},{-3195,13243,0},{-3200,13245,0},{-3198,13233,0},{-3200,13223,0}, {-3200,13215,0},{-3197,13213,0},{-3190,13208,0},{-3185,13195,0},{-3175,13183,0}, {-3157,13148,0},{-3155,13137,0},{-3150,13128,0},{-3148,13120,0},{-3148,13115,0}, {-3155,13105,0},{-3163,13083,0},{-3162,13077,0},{-3160,13060,0},{-3162,13052,0}, {-3160,13040,0},{-3157,13025,0},{-3158,12997,0},{-3162,12980,0},{-3162,12970,0}, {-3165,12957,0},{-3165,12943,0},{-3167,12937,0},{-3168,12923,0},{-3167,12912,0}, {-3182,12870,0},{-3188,12865,0},{-3200,12827,0},{-3205,12818,0},{-3213,12785,0}, {-3218,12770,0},{-3220,12762,0},{-3225,12750,0},{-3225,12742,0},{-3230,12727,0}, {-3230,12715,0},{-3232,12710,0},{-3233,12698,0},{-3232,12680,0},{-3235,12672,0}, {-3235,12660,0},{-3235,12655,0},{-3232,12648,0},{-3232,12638,0},{-3230,12633,0}, {-3228,12623,0},{-3227,12618,0},{-3228,12612,0},{-3232,12605,0},{-3232,12598,0}, {-3242,12573,0},{-3245,12568,0},{-3252,12553,0},{-3255,12550,0},{-3258,12543,0}, {-3263,12538,0},{-3267,12525,0},{-3272,12512,0},{-3278,12493,0},{-3285,12483,0}, {-3288,12475,0},{-3293,12467,0},{-3295,12435,0},{-3305,12415,0},{-3313,12408,0}, {-3328,12405,0},{-3338,12398,0},{-3360,12393,0},{-3363,12385,0},{-3368,12383,0}, {-3373,12375,0},{-3380,12372,0},{-3383,12372,0},{-3383,12368,0},{-3390,12363,0}, {-3393,12357,0},{-3398,12350,0},{-3398,12348,0},{-3397,12347,0},{-3393,12345,0}, {-3392,12337,0},{-3393,12333,0},{-3398,12330,0},{-3403,12320,0},{-3403,12317,0}, {-3402,12315,0},{-3400,12312,0},{-3398,12312,0},{-3395,12313,0},{-3393,12312,0}, {-3390,12307,0},{-3388,12302,0},{-3392,12295,0},{-3393,12282,0},{-3393,12277,0}, {-3390,12273,0},{-3392,12272,0},{-3392,12260,0},{-3393,12258,0},{-3398,12258,0}, {-3398,12257,0},{-3395,12243,0},{-3395,12235,0},{-3398,12225,0},{-3403,12225,0}, {-3403,12223,0},{-3403,12220,0},{-3405,12217,0},{-3403,12213,0},{-3402,12210,0}, {-3398,12208,0},{-3387,12198,0},{-3387,12192,0},{-3390,12187,0},{-3392,12178,0}, {-3388,12168,0},{-3390,12165,0},{-3385,12153,0},{-3385,12135,0},{-3383,12130,0}, {-3385,12127,0},{-3387,12117,0},{-3388,12113,0},{-3388,12112,0},{-3383,12112,0}, {-3388,12102,0},{-3387,12090,0},{-3388,12085,0},{-3390,12083,0},{-3392,12067,0}, {-3390,12063,0},{-3390,12057,0},{-3400,12038,0},{-3395,12025,0},{-3395,12020,0}, {-3398,12012,0},{-3395,12008,0},{-3392,12008,0},{-3390,12007,0},{-3393,12002,0}, {-3398,11993,0},{-3398,11987,0},{-3400,11983,0},{-3408,11973,0},{-3412,11965,0}, {-3417,11960,0},{-3420,11958,0},{-3430,11950,0},{-3437,11950,0},{-3438,11955,0}, {-3440,11955,0},{-3443,11950,0},{-3443,11947,0},{-3440,11947,0},{-3440,11945,0}, {-3440,11940,0},{-3442,11938,0},{-3445,11940,0},{-3448,11940,0},{-3450,11937,0}, {-3448,11933,0},{-3448,11930,0},{-3450,11928,0},{-3453,11930,0},{-3457,11925,0}, {-3455,11923,0},{-3452,11920,0},{-3448,11900,0},{-3450,11890,0},{-3453,11890,0}, {-3453,11883,0},{-3457,11875,0},{-3460,11875,0},{-3463,11877,0},{-3467,11873,0}, {-3468,11872,0},{-3470,11867,0},{-3472,11865,0},{-3473,11853,0},{-3480,11843,0}, {-3487,11838,0},{-3492,11842,0},{-3493,11840,0},{-3493,11835,0},{-3497,11818,0}, {-3498,11817,0},{-3502,11820,0},{-3505,11818,0},{-3502,11810,0},{-3505,11803,0}, {-3505,11800,0},{-3503,11797,0},{-3498,11797,0},{-3498,11793,0},{-3503,11792,0}, {-3507,11785,0},{-3510,11788,0},{-3510,11793,0},{-3512,11797,0},{-3513,11797,0}, {-3515,11795,0},{-3515,11790,0},{-3510,11780,0},{-3507,11767,0},{-3507,11765,0}, {-3515,11760,0},{-3515,11758,0},{-3510,11753,0},{-3512,11747,0},{-3512,11745,0}, {-3508,11742,0},{-3507,11735,0},{-3503,11737,0},{-3505,11742,0},{-3503,11743,0}, {-3502,11743,0},{-3500,11740,0},{-3502,11733,0},{-3507,11730,0},{-3507,11717,0}, {-3510,11712,0},{-3507,11708,0},{-3507,11695,0},{-3503,11698,0},{-3502,11697,0}, {-3502,11692,0},{-3507,11690,0},{-3508,11687,0},{-3505,11677,0},{-3502,11675,0}, {-3503,11670,0},{-3507,11670,0},{-3508,11662,0},{-3503,11653,0},{-3503,11647,0}, {-3502,11643,0},{-3498,11638,0},{-3497,11648,0},{-3495,11648,0},{-3493,11647,0}, {-3492,11642,0},{-3490,11638,0},{-3490,11637,0},{-3495,11637,0},{-3497,11633,0}, {-3490,11615,0},{-3487,11600,0},{-3480,11598,0},{-3478,11593,0},{-3473,11593,0}, {-3467,11583,0},{-3460,11578,0},{-3453,11568,0},{-3448,11565,0},{-3443,11555,0}, {-3442,11545,0},{-3437,11538,0},{-3433,11527,0},{-3433,11517,0},{-3433,11515,0}, {-3438,11512,0},{-3433,11507,0},{-3428,11498,0},{-3417,11500,0},{-3410,11495,0}, {-3387,11495,0},{-3380,11498,0},{-3377,11495,0},{-3372,11495,0},{-3365,11498,0}, {-3353,11500,0},{-3357,11505,0},{-3363,11510,0},{-3363,11513,0},{-3365,11523,0}, {-3363,11538,0},{-3360,11543,0},{-3353,11547,0},{-3352,11548,0},{-3342,11558,0}, {-3333,11560,0},{-3333,11567,0},{-3330,11570,0},{-3327,11568,0},{-3330,11565,0}, {-3328,11563,0},{-3320,11565,0},{-3313,11567,0},{-3290,11560,0},{-3272,11560,0}, {-3267,11558,0},{-3262,11558,0},{-3255,11565,0},{-3255,11568,0},{-3257,11568,0}, {-3263,11563,0},{-3270,11565,0},{-3277,11570,0},{-3277,11572,0},{-3275,11572,0}, {-3263,11568,0},{-3262,11570,0},{-3263,11573,0},{-3262,11575,0},{-3258,11575,0}, {-3252,11570,0},{-3240,11572,0},{-3235,11570,0},{-3232,11572,0},{-3227,11568,0}, {-3223,11572,0},{-3217,11575,0},{-3205,11572,0},{-3190,11573,0},{-3172,11567,0}, {-3155,11558,0},{-3132,11540,0},{-3120,11538,0},{-3093,11525,0},{-3080,11515,0}, {-3067,11512,0},{-3055,11505,0},{-3052,11503,0},{-3040,11500,0},{-3028,11500,0}, {-3022,11495,0},{-3015,11497,0},{-3005,11492,0},{-2983,11493,0},{-2972,11492,0}, {-2950,11497,0},{-2942,11492,0},{-2935,11492,0},{-2932,11488,0},{-2927,11490,0}, {-2920,11487,0},{-2903,11475,0},{-2895,11465,0},{-2888,11460,0},{-2878,11457,0}, {-2873,11458,0},{-2862,11457,0},{-2852,11450,0},{-2825,11430,0},{-2820,11422,0}, {-2808,11413,0},{-2800,11413,0},{-2783,11407,0},{-2780,11408,0},{-2775,11413,0}, {-2768,11412,0},{-2750,11408,0},{-2730,11400,0},{-2715,11387,0},{-2700,11382,0}, {-2678,11365,0},{-2667,11357,0},{-2643,11332,0},{-2640,11328,0},{-2630,11327,0}, {-2615,11315,0},{-2613,11315,0},{-2615,11322,0},{-2620,11325,0},{-2618,11327,0}, {-2613,11325,0},{-2612,11327,0},{-2602,11327,0},{-2600,11328,0},{-2603,11332,0}, {-2615,11330,0},{-2625,11332,0},{-2630,11333,0},{-2620,11335,0},{-2617,11337,0}, {-2607,11337,0},{-2600,11335,0},{-2600,11337,0},{-2602,11338,0},{-2613,11342,0}, {-2615,11343,0},{-2642,11348,0},{-2633,11352,0},{-2625,11350,0},{-2627,11352,0}, {-2633,11355,0},{-2637,11353,0},{-2642,11355,0},{-2647,11353,0},{-2657,11355,0}, {-2658,11357,0},{-2657,11358,0},{-2648,11360,0},{-2647,11362,0},{-2648,11363,0}, {-2658,11363,0},{-2658,11365,0},{-2663,11367,0},{-2662,11370,0},{-2658,11372,0}, {-2660,11375,0},{-2657,11377,0},{-2655,11382,0},{-2652,11380,0},{-2648,11385,0}, {-2640,11383,0},{-2633,11385,0},{-2628,11383,0},{-2623,11378,0},{-2618,11367,0}, {-2605,11355,0},{-2595,11355,0},{-2590,11350,0},{-2583,11350,0},{-2578,11347,0}, {-2575,11348,0},{-2567,11347,0},{-2565,11345,0},{-2567,11343,0},{-2575,11343,0}, {-2572,11340,0},{-2567,11340,0},{-2558,11342,0},{-2550,11348,0},{-2552,11350,0}, {-2560,11352,0},{-2565,11358,0},{-2572,11362,0},{-2578,11372,0},{-2583,11372,0}, {-2588,11375,0},{-2592,11372,0},{-2597,11372,0},{-2605,11368,0},{-2613,11370,0}, {-2617,11372,0},{-2617,11378,0},{-2607,11385,0},{-2603,11387,0},{-2593,11385,0}, {-2595,11388,0},{-2608,11390,0},{-2612,11393,0},{-2617,11392,0},{-2620,11395,0}, {-2632,11397,0},{-2642,11405,0},{-2643,11407,0},{-2638,11413,0},{-2635,11418,0}, {-2630,11420,0},{-2615,11417,0},{-2613,11418,0},{-2615,11423,0},{-2613,11423,0}, {-2608,11422,0},{-2602,11422,0},{-2597,11418,0},{-2595,11420,0},{-2595,11422,0}, {-2587,11423,0},{-2578,11413,0},{-2572,11408,0},{-2558,11397,0},{-2540,11392,0}, {-2523,11382,0},{-2515,11380,0},{-2503,11367,0},{-2493,11365,0},{-2488,11367,0}, {-2480,11360,0},{-2478,11363,0},{-2473,11357,0},{-2462,11348,0},{-2448,11337,0}, {-2435,11337,0},{-2427,11335,0},{-2417,11340,0},{-2405,11338,0},{-2400,11343,0}, {-2388,11343,0},{-2385,11348,0},{-2378,11350,0},{-2370,11357,0},{-2363,11358,0}, {-2353,11373,0},{-2347,11377,0},{-2340,11377,0},{-2330,11377,0},{-2312,11375,0}, {-2305,11380,0},{-2300,11382,0},{-2277,11375,0},{-2270,11368,0},{-2255,11365,0}, {-2252,11370,0},{-2248,11370,0},{-2245,11373,0},{-2238,11375,0},{-2232,11380,0}, {-2227,11380,0},{-2220,11383,0},{-2198,11390,0},{-2182,11403,0},{-2180,11407,0}, {-2178,11408,0},{-2178,11413,0},{-2177,11415,0},{-2178,11417,0},{-2180,11418,0}, {-2185,11415,0},{-2217,11408,0},{-2223,11412,0},{-2230,11413,0},{-2228,11417,0}, {-2228,11418,0},{-2235,11418,0},{-2238,11413,0},{-2240,11413,0},{-2247,11413,0}, {-2248,11415,0},{-2248,11418,0},{-2243,11423,0},{-2242,11428,0},{-2243,11432,0}, {-2247,11435,0},{-2245,11438,0},{-2230,11442,0},{-2220,11443,0},{-2217,11448,0}, {-2213,11447,0},{-2212,11450,0},{-2210,11452,0},{-2198,11448,0},{-2197,11450,0}, {-2198,11453,0},{-2200,11455,0},{-2198,11457,0},{-2195,11458,0},{-2193,11462,0}, {-2183,11463,0},{-2178,11468,0},{-2177,11477,0},{-2172,11480,0},{-2172,11483,0}, {-2168,11487,0},{-2168,11490,0},{-2165,11495,0},{-2165,11502,0},{-2162,11508,0}, {-2162,11513,0},{-2158,11517,0},{-2157,11522,0},{-2155,11522,0},{-2157,11527,0}, {-2155,11530,0},{-2152,11537,0},{-2147,11543,0},{-2147,11548,0},{-2143,11548,0}, {-2137,11558,0},{-2130,11562,0},{-2128,11567,0},{-2123,11573,0},{-2125,11577,0}, {-2122,11580,0},{-2115,11582,0},{-2105,11588,0},{-2093,11615,0},{-2087,11617,0}, {-2085,11622,0},{-2085,11628,0},{-2080,11633,0},{-2080,11643,0},{-2070,11653,0}, {-2070,11663,0},{-2065,11665,0},{-2062,11672,0},{-2058,11673,0},{-2050,11682,0}, {-2050,11685,0},{-2052,11687,0},{-2063,11678,0},{-2068,11682,0},{-2068,11685,0}, {-2068,11688,0},{-2063,11695,0},{-2062,11708,0},{-2057,11712,0},{-2055,11715,0}, {-2057,11717,0},{-2067,11718,0},{-2067,11723,0},{-2072,11732,0},{-2068,11742,0}, {-2067,11753,0},{-2062,11758,0},{-2063,11762,0},{-2065,11760,0},{-2067,11762,0}, {-2065,11768,0},{-2062,11778,0},{-2053,11785,0},{-2052,11793,0},{-2050,11793,0}, {-2047,11792,0},{-2045,11793,0},{-2032,11817,0},{-2033,11822,0},{-2030,11830,0}, {-2030,11833,0},{-2033,11837,0},{-2030,11843,0},{-2030,11847,0},{-2028,11850,0}, {-2028,11855,0},{-2027,11860,0},{-2028,11868,0},{-2027,11875,0},{-2025,11878,0}, {-2025,11883,0},{-2025,11885,0},{-2020,11883,0},{-2018,11887,0},{-2013,11890,0}, {-2012,11893,0},{-2002,11897,0},{-1998,11907,0},{-1993,11913,0},{-1997,11918,0}, {-1992,11920,0},{-1993,11927,0},{-1998,11942,0},{-1997,11947,0},{-2002,11952,0}, {-2005,11957,0},{-2003,11962,0},{-1997,11968,0},{-1998,11973,0},{-1993,11977,0}, {-1993,11987,0},{-1990,12002,0},{-1987,12008,0},{-1988,12015,0},{-1982,12040,0}, {-1968,12070,0},{-1965,12082,0},{-1953,12103,0},{-1935,12127,0},{-1913,12143,0}, {-1907,12148,0},{-1898,12150,0},{-1893,12153,0},{-1890,12155,0},{-1887,12157,0}, {-1882,12158,0},{-1877,12162,0},{-1873,12162,0},{-1870,12160,0},{-1867,12158,0}, {-1867,12162,0},{-1867,12163,0},{-1868,12165,0},{-1867,12168,0},{-1865,12170,0}, {-1867,12173,0},{-1862,12177,0},{-1857,12177,0},{-1852,12173,0},{-1848,12177,0}, {-1850,12178,0},{-1848,12180,0},{-1843,12180,0},{-1840,12180,0},{-1840,12183,0}, {-1842,12187,0},{-1843,12188,0},{-1840,12192,0},{-1817,12222,0},{-1808,12237,0}, {-1803,12237,0},{-1797,12237,0},{-1792,12233,0},{-1793,12225,0},{-1797,12220,0}, {-1795,12217,0},{-1788,12220,0},{-1777,12218,0},{-1773,12220,0},{-1752,12212,0}, {-1722,12217,0},{-1713,12223,0},{-1710,12228,0},{-1707,12225,0},{-1705,12225,0}, {-1698,12233,0},{-1695,12235,0},{-1692,12242,0},{-1692,12243,0},{-1695,12243,0}, {-1693,12247,0},{-1687,12248,0},{-1688,12250,0},{-1692,12250,0},{-1690,12257,0}, {-1682,12255,0},{-1678,12255,0},{-1678,12257,0},{-1675,12257,0},{-1673,12258,0}, {-1673,12262,0},{-1677,12263,0},{-1672,12270,0},{-1673,12272,0},{-1675,12273,0}, {-1673,12278,0},{-1675,12283,0},{-1672,12283,0},{-1670,12280,0},{-1667,12278,0}, {-1665,12273,0},{-1662,12277,0},{-1655,12278,0},{-1648,12290,0},{-1642,12290,0}, {-1637,12293,0},{-1635,12303,0},{-1637,12305,0},{-1637,12303,0},{-1640,12303,0}, {-1640,12307,0},{-1643,12303,0},{-1643,12298,0},{-1647,12300,0},{-1648,12297,0}, {-1652,12298,0},{-1655,12295,0},{-1657,12298,0},{-1660,12298,0},{-1658,12303,0}, {-1658,12305,0},{-1665,12305,0},{-1668,12307,0},{-1667,12308,0},{-1663,12310,0}, {-1668,12313,0},{-1667,12318,0},{-1670,12317,0},{-1673,12313,0},{-1677,12313,0}, {-1675,12317,0},{-1677,12320,0},{-1680,12320,0},{-1688,12317,0},{-1692,12325,0}, {-1697,12327,0},{-1698,12330,0},{-1702,12332,0},{-1708,12330,0},{-1717,12340,0}, {-1727,12340,0},{-1732,12347,0},{-1735,12348,0},{-1737,12352,0},{-1743,12353,0}, {-1747,12357,0},{-1753,12358,0},{-1768,12358,0},{-1773,12360,0},{-1788,12377,0}, {-1780,12373,0},{-1760,12360,0},{-1750,12360,0},{-1740,12358,0},{-1727,12360,0}, {-1717,12363,0},{-1720,12367,0},{-1718,12367,0},{-1718,12370,0},{-1708,12360,0}, {-1698,12360,0},{-1697,12363,0},{-1697,12368,0},{-1700,12368,0},{-1705,12368,0}, {-1708,12372,0},{-1708,12373,0},{-1702,12373,0},{-1705,12378,0},{-1713,12382,0}, {-1710,12383,0},{-1698,12382,0},{-1697,12383,0},{-1698,12388,0},{-1692,12385,0}, {-1680,12395,0},{-1680,12390,0},{-1687,12382,0},{-1683,12378,0},{-1680,12377,0}, {-1672,12372,0},{-1670,12367,0},{-1662,12357,0},{-1658,12357,0},{-1657,12360,0}, {-1653,12360,0},{-1653,12365,0},{-1650,12363,0},{-1650,12360,0},{-1652,12358,0}, {-1655,12353,0},{-1648,12345,0},{-1647,12350,0},{-1643,12348,0},{-1648,12360,0}, {-1645,12365,0},{-1642,12362,0},{-1640,12353,0},{-1638,12353,0},{-1638,12355,0}, {-1637,12355,0},{-1640,12365,0},{-1638,12368,0},{-1635,12365,0},{-1635,12372,0}, {-1628,12368,0},{-1627,12365,0},{-1627,12360,0},{-1627,12358,0},{-1622,12362,0}, {-1617,12360,0},{-1618,12365,0},{-1613,12362,0},{-1615,12367,0},{-1613,12368,0}, {-1613,12375,0},{-1617,12380,0},{-1623,12380,0},{-1623,12377,0},{-1627,12382,0}, {-1630,12385,0},{-1640,12387,0},{-1640,12390,0},{-1635,12392,0},{-1628,12392,0}, {-1637,12398,0},{-1635,12400,0},{-1633,12403,0},{-1632,12402,0},{-1632,12398,0}, {-1630,12397,0},{-1627,12397,0},{-1625,12397,0},{-1620,12397,0},{-1623,12400,0}, {-1625,12410,0},{-1632,12417,0},{-1635,12417,0},{-1640,12420,0},{-1640,12428,0}, {-1643,12430,0},{-1643,12435,0},{-1652,12438,0},{-1647,12442,0},{-1647,12445,0}, {-1643,12440,0},{-1638,12438,0},{-1637,12433,0},{-1633,12437,0},{-1638,12442,0}, {-1638,12445,0},{-1637,12472,0},{-1637,12475,0},{-1640,12478,0},{-1638,12485,0}, {-1637,12488,0},{-1637,12482,0},{-1633,12475,0},{-1630,12458,0},{-1632,12447,0}, {-1632,12440,0},{-1632,12438,0},{-1628,12437,0},{-1618,12437,0},{-1612,12440,0}, {-1605,12442,0},{-1605,12445,0},{-1618,12448,0},{-1620,12452,0},{-1618,12453,0}, {-1613,12452,0},{-1610,12457,0},{-1608,12458,0},{-1607,12453,0},{-1597,12455,0}, {-1595,12458,0},{-1587,12458,0},{-1585,12460,0},{-1587,12463,0},{-1583,12465,0}, {-1582,12467,0},{-1580,12467,0},{-1580,12470,0},{-1577,12472,0},{-1572,12472,0}, {-1567,12475,0},{-1567,12470,0},{-1577,12467,0},{-1575,12465,0},{-1577,12462,0}, {-1583,12453,0},{-1597,12447,0},{-1585,12447,0},{-1578,12443,0},{-1577,12442,0}, {-1578,12440,0},{-1585,12438,0},{-1582,12437,0},{-1578,12437,0},{-1572,12435,0}, {-1568,12437,0},{-1565,12435,0},{-1563,12440,0},{-1560,12440,0},{-1558,12442,0}, {-1555,12440,0},{-1552,12440,0},{-1550,12445,0},{-1545,12448,0},{-1545,12452,0}, {-1548,12458,0},{-1548,12460,0},{-1545,12460,0},{-1545,12467,0},{-1537,12467,0}, {-1533,12470,0},{-1532,12465,0},{-1525,12467,0},{-1525,12470,0},{-1530,12473,0}, {-1528,12475,0},{-1530,12482,0},{-1533,12480,0},{-1535,12487,0},{-1537,12490,0}, {-1542,12492,0},{-1540,12495,0},{-1545,12497,0},{-1545,12507,0},{-1555,12517,0}, {-1558,12525,0},{-1557,12525,0},{-1552,12520,0},{-1550,12520,0},{-1542,12505,0}, {-1533,12507,0},{-1528,12507,0},{-1528,12502,0},{-1527,12500,0},{-1528,12497,0}, {-1532,12492,0},{-1532,12488,0},{-1525,12487,0},{-1525,12488,0},{-1525,12490,0}, {-1520,12490,0},{-1520,12497,0},{-1518,12502,0},{-1515,12503,0},{-1513,12502,0}, {-1513,12498,0},{-1515,12497,0},{-1513,12493,0},{-1517,12490,0},{-1520,12485,0}, {-1515,12485,0},{-1513,12482,0},{-1508,12488,0},{-1510,12493,0},{-1508,12498,0}, {-1505,12500,0},{-1497,12500,0},{-1497,12505,0},{-1498,12507,0},{-1502,12505,0}, {-1503,12507,0},{-1502,12510,0},{-1503,12512,0},{-1508,12510,0},{-1513,12513,0}, {-1510,12523,0},{-1510,12525,0},{-1515,12528,0},{-1515,12535,0},{-1513,12537,0}, {-1512,12543,0},{-1510,12542,0},{-1508,12532,0},{-1507,12532,0},{-1503,12535,0}, {-1502,12538,0},{-1500,12535,0},{-1498,12533,0},{-1500,12527,0},{-1493,12522,0}, {-1493,12520,0},{-1490,12522,0},{-1492,12527,0},{-1490,12528,0},{-1488,12530,0}, {-1485,12530,0},{-1483,12528,0},{-1483,12520,0},{-1482,12517,0},{-1477,12517,0}, {-1473,12512,0},{-1472,12518,0},{-1465,12520,0},{-1467,12523,0},{-1465,12525,0}, {-1463,12528,0},{-1460,12523,0},{-1457,12530,0},{-1452,12532,0},{-1452,12533,0}, {-1457,12535,0},{-1455,12537,0},{-1455,12540,0},{-1460,12538,0},{-1462,12540,0}, {-1453,12547,0},{-1450,12547,0},{-1450,12552,0},{-1455,12552,0},{-1455,12557,0}, {-1452,12555,0},{-1450,12558,0},{-1440,12560,0},{-1437,12557,0},{-1433,12558,0}, {-1430,12557,0},{-1425,12558,0},{-1423,12560,0},{-1423,12563,0},{-1428,12567,0}, {-1428,12570,0},{-1430,12572,0},{-1433,12570,0},{-1433,12565,0},{-1435,12565,0}, {-1443,12563,0},{-1445,12565,0},{-1452,12565,0},{-1455,12563,0},{-1460,12563,0}, {-1458,12567,0},{-1450,12570,0},{-1443,12577,0},{-1445,12580,0},{-1443,12582,0}, {-1445,12583,0},{-1448,12582,0},{-1453,12582,0},{-1458,12580,0},{-1460,12583,0}, {-1460,12587,0},{-1462,12588,0},{-1462,12590,0},{-1452,12590,0},{-1452,12592,0}, {-1453,12597,0},{-1450,12597,0},{-1448,12602,0},{-1438,12598,0},{-1432,12605,0}, {-1423,12605,0},{-1422,12612,0},{-1413,12613,0},{-1412,12612,0},{-1407,12607,0}, {-1407,12597,0},{-1405,12595,0},{-1402,12597,0},{-1400,12600,0},{-1397,12602,0}, {-1398,12603,0},{-1403,12605,0},{-1403,12607,0},{-1397,12607,0},{-1393,12602,0}, {-1390,12602,0},{-1392,12613,0},{-1398,12612,0},{-1397,12617,0},{-1397,12620,0}, {-1400,12615,0},{-1400,12618,0},{-1402,12620,0},{-1403,12620,0},{-1407,12617,0}, {-1410,12620,0},{-1415,12618,0},{-1418,12622,0},{-1422,12620,0},{-1423,12620,0}, {-1420,12625,0},{-1422,12627,0},{-1418,12632,0},{-1417,12632,0},{-1413,12628,0}, {-1408,12630,0},{-1403,12632,0},{-1403,12637,0},{-1398,12640,0},{-1398,12645,0}, {-1393,12652,0},{-1393,12653,0},{-1393,12655,0},{-1395,12655,0},{-1398,12648,0}, {-1407,12643,0},{-1407,12645,0},{-1405,12648,0},{-1407,12650,0},{-1412,12647,0}, {-1415,12650,0},{-1413,12655,0},{-1422,12655,0},{-1423,12657,0},{-1423,12658,0}, {-1418,12660,0},{-1417,12663,0},{-1407,12665,0},{-1408,12667,0},{-1413,12668,0}, {-1412,12670,0},{-1407,12672,0},{-1403,12673,0},{-1402,12673,0},{-1400,12670,0}, {-1398,12670,0},{-1397,12677,0},{-1398,12678,0},{-1400,12680,0},{-1398,12682,0}, {-1398,12688,0},{-1398,12692,0},{-1397,12692,0},{-1393,12688,0},{-1392,12680,0}, {-1385,12675,0},{-1382,12675,0},{-1380,12677,0},{-1375,12685,0},{-1377,12690,0}, {-1373,12692,0},{-1373,12695,0},{-1377,12697,0},{-1378,12700,0},{-1380,12700,0}, {-1382,12702,0},{-1385,12703,0},{-1385,12707,0},{-1388,12707,0},{-1390,12710,0}, {-1395,12712,0},{-1395,12713,0},{-1392,12717,0},{-1395,12720,0},{-1390,12725,0}, {-1393,12730,0},{-1390,12732,0},{-1395,12738,0},{-1395,12742,0},{-1398,12745,0}, {-1405,12743,0},{-1407,12752,0},{-1417,12763,0},{-1425,12767,0},{-1428,12775,0}, {-1435,12777,0},{-1437,12778,0},{-1438,12778,0},{-1442,12782,0},{-1443,12782,0}, {-1445,12785,0},{-1448,12785,0},{-1452,12793,0},{-1455,12792,0},{-1458,12793,0}, {-1457,12798,0},{-1458,12803,0},{-1463,12807,0},{-1465,12810,0},{-1470,12815,0}, {-1470,12820,0},{-1472,12820,0},{-1473,12820,0},{-1475,12817,0},{-1483,12815,0}, {-1483,12810,0},{-1485,12808,0},{-1490,12810,0},{-1503,12808,0},{-1508,12807,0}, {-1527,12808,0},{-1525,12797,0},{-1518,12790,0},{-1518,12788,0},{-1523,12792,0}, {-1530,12803,0},{-1538,12805,0},{-1542,12805,0},{-1545,12802,0},{-1548,12795,0}, {-1557,12782,0},{-1558,12782,0},{-1560,12783,0},{-1550,12803,0},{-1545,12807,0}, {-1533,12812,0},{-1528,12812,0},{-1522,12810,0},{-1518,12812,0},{-1520,12815,0}, {-1528,12823,0},{-1532,12827,0},{-1545,12828,0},{-1548,12830,0},{-1548,12833,0}, {-1547,12835,0},{-1542,12830,0},{-1533,12830,0},{-1527,12827,0},{-1520,12827,0}, {-1512,12820,0},{-1507,12818,0},{-1502,12820,0},{-1497,12825,0},{-1498,12827,0}, {-1503,12830,0},{-1508,12835,0},{-1507,12837,0},{-1502,12835,0},{-1498,12835,0}, {-1503,12842,0},{-1503,12843,0},{-1502,12845,0},{-1490,12840,0},{-1490,12843,0}, {-1495,12847,0},{-1490,12847,0},{-1482,12842,0},{-1480,12837,0},{-1478,12838,0}, {-1477,12848,0},{-1477,12855,0},{-1478,12858,0},{-1477,12862,0},{-1477,12867,0}, {-1478,12870,0},{-1483,12873,0},{-1483,12885,0},{-1487,12898,0},{-1490,12903,0}, {-1488,12907,0},{-1495,12908,0},{-1495,12912,0},{-1495,12913,0},{-1500,12917,0}, {-1507,12915,0},{-1512,12917,0},{-1520,12913,0},{-1520,12915,0},{-1518,12917,0}, {-1520,12918,0},{-1522,12920,0},{-1513,12922,0},{-1508,12923,0},{-1492,12922,0}, {-1490,12925,0},{-1485,12927,0},{-1485,12930,0},{-1488,12935,0},{-1495,12937,0}, {-1497,12942,0},{-1497,12943,0},{-1492,12938,0},{-1490,12940,0},{-1495,12948,0}, {-1503,12950,0},{-1503,12952,0},{-1503,12953,0},{-1508,12958,0},{-1518,12957,0}, {-1518,12958,0},{-1515,12962,0},{-1513,12965,0},{-1518,12965,0},{-1520,12967,0}, {-1518,12975,0},{-1518,12977,0},{-1532,12983,0},{-1542,12982,0},{-1542,12988,0}, {-1545,12993,0},{-1540,13002,0},{-1543,13010,0},{-1542,13015,0},{-1538,13020,0}, {-1538,13012,0},{-1538,13008,0},{-1537,13002,0},{-1540,12995,0},{-1537,12988,0}, {-1537,12987,0},{-1527,12985,0},{-1523,12982,0},{-1517,12980,0},{-1510,12967,0}, {-1507,12963,0},{-1502,12963,0},{-1498,12962,0},{-1492,12963,0},{-1490,12965,0}, {-1490,12967,0},{-1487,12963,0},{-1483,12965,0},{-1483,12980,0},{-1485,12982,0}, {-1492,12983,0},{-1487,12987,0},{-1482,12985,0},{-1482,12988,0},{-1480,12987,0}, {-1478,12993,0},{-1477,12997,0},{-1472,12998,0},{-1472,12997,0},{-1477,12992,0}, {-1477,12985,0},{-1482,12977,0},{-1480,12975,0},{-1475,12978,0},{-1475,12968,0}, {-1475,12967,0},{-1472,12968,0},{-1470,12967,0},{-1468,12963,0},{-1467,12963,0}, {-1460,12975,0},{-1457,12973,0},{-1453,12975,0},{-1457,12965,0},{-1453,12957,0}, {-1455,12952,0},{-1453,12950,0},{-1448,12948,0},{-1450,12943,0},{-1447,12943,0}, {-1442,12938,0},{-1440,12935,0},{-1435,12933,0},{-1430,12938,0},{-1423,12940,0}, {-1420,12945,0},{-1415,12950,0},{-1415,12955,0},{-1410,12955,0},{-1410,12958,0}, {-1403,12958,0},{-1403,12965,0},{-1403,12970,0},{-1400,12972,0},{-1395,12973,0}, {-1388,12970,0},{-1385,12972,0},{-1378,12980,0},{-1377,12980,0},{-1373,12977,0}, {-1367,12978,0},{-1357,12982,0},{-1350,12982,0},{-1350,12985,0},{-1347,12988,0}, {-1350,12990,0},{-1353,12992,0},{-1353,12995,0},{-1350,13005,0},{-1347,13008,0}, {-1343,13013,0},{-1337,13018,0},{-1333,13023,0},{-1335,13027,0},{-1338,13030,0}, {-1338,13032,0},{-1335,13032,0},{-1332,13030,0},{-1328,13023,0},{-1322,13018,0}, {-1315,13012,0},{-1303,13012,0},{-1295,13015,0},{-1293,13017,0},{-1295,13020,0}, {-1295,13025,0},{-1290,13032,0},{-1283,13035,0},{-1270,13033,0},{-1270,13035,0}, {-1270,13037,0},{-1273,13040,0},{-1270,13040,0},{-1268,13040,0},{-1265,13043,0}, {-1268,13048,0},{-1273,13050,0},{-1273,13058,0},{-1275,13063,0},{-1272,13065,0}, {-1270,13063,0},{-1270,13060,0},{-1265,13055,0},{-1263,13057,0},{-1262,13060,0}, {-1260,13057,0},{-1247,13058,0},{-1245,13062,0},{-1242,13060,0},{-1242,13063,0}, {-1247,13077,0},{-1260,13078,0},{-1260,13080,0},{-1257,13082,0},{-1260,13085,0}, {-1265,13087,0},{-1263,13090,0},{-1262,13093,0},{-1255,13087,0},{-1253,13092,0}, {-1248,13083,0},{-1243,13083,0},{-1238,13085,0},{-1237,13088,0},{-1237,13098,0}, {-1238,13100,0},{-1238,13103,0},{-1232,13102,0},{-1225,13102,0},{-1218,13098,0}, {-1217,13100,0},{-1218,13110,0},{-1222,13112,0},{-1220,13117,0},{-1228,13125,0}, {-1222,13125,0},{-1210,13132,0},{-1215,13133,0},{-1223,13133,0},{-1230,13140,0}, {-1232,13165,0},{-1228,13180,0},{-1225,13187,0},{-1230,13192,0},{-1232,13200,0}, {-1230,13205,0},{-1225,13215,0},{-1222,13222,0},{-1227,13225,0},{-1225,13232,0}, {-1227,13235,0},{-1235,13237,0},{-1240,13233,0},{-1240,13235,0},{-1238,13238,0}, {-1235,13240,0},{-1225,13238,0},{-1218,13242,0},{-1217,13248,0},{-1213,13252,0}, {-1217,13257,0},{-1217,13262,0},{-1218,13267,0},{-1218,13268,0},{-1217,13268,0}, {-1213,13262,0},{-1207,13260,0},{-1202,13260,0},{-1195,13263,0},{-1193,13268,0}, {-1190,13270,0},{-1190,13263,0},{-1187,13262,0},{-1183,13257,0},{-1173,13265,0}, {-1173,13272,0},{-1170,13270,0},{-1170,13265,0},{-1163,13268,0},{-1163,13267,0}, {-1167,13263,0},{-1168,13260,0},{-1163,13253,0},{-1162,13255,0},{-1160,13255,0}, {-1160,13257,0},{-1158,13252,0},{-1157,13253,0},{-1155,13250,0},{-1152,13252,0}, {-1150,13252,0},{-1152,13247,0},{-1150,13240,0},{-1152,13238,0},{-1152,13222,0}, {-1155,13215,0},{-1158,13212,0},{-1158,13203,0},{-1153,13202,0},{-1148,13203,0}, {-1148,13198,0},{-1143,13192,0},{-1140,13195,0},{-1140,13190,0},{-1137,13190,0}, {-1137,13188,0},{-1133,13185,0},{-1137,13180,0},{-1137,13175,0},{-1132,13178,0}, {-1132,13183,0},{-1127,13182,0},{-1125,13188,0},{-1127,13190,0},{-1128,13193,0}, {-1127,13197,0},{-1123,13195,0},{-1120,13198,0},{-1123,13203,0},{-1125,13207,0}, {-1128,13208,0},{-1128,13210,0},{-1140,13208,0},{-1137,13212,0},{-1140,13213,0}, {-1145,13213,0},{-1147,13215,0},{-1145,13218,0},{-1142,13218,0},{-1142,13222,0}, {-1138,13223,0},{-1137,13217,0},{-1127,13218,0},{-1123,13215,0},{-1118,13215,0}, {-1127,13223,0},{-1133,13227,0},{-1133,13228,0},{-1125,13227,0},{-1122,13233,0}, {-1123,13235,0},{-1130,13237,0},{-1135,13235,0},{-1133,13238,0},{-1128,13242,0}, {-1128,13243,0},{-1133,13250,0},{-1137,13248,0},{-1142,13248,0},{-1142,13253,0}, {-1148,13262,0},{-1153,13263,0},{-1155,13265,0},{-1155,13272,0},{-1150,13275,0}, {-1147,13282,0},{-1148,13288,0},{-1145,13288,0},{-1140,13287,0},{-1140,13290,0}, {-1143,13293,0},{-1147,13293,0},{-1148,13300,0},{-1155,13302,0},{-1157,13305,0}, {-1160,13307,0},{-1168,13310,0},{-1175,13315,0},{-1178,13322,0},{-1175,13332,0}, {-1177,13332,0},{-1178,13328,0},{-1180,13328,0},{-1182,13332,0},{-1180,13335,0}, {-1178,13337,0},{-1180,13338,0},{-1183,13338,0},{-1183,13352,0},{-1192,13350,0}, {-1190,13353,0},{-1185,13357,0},{-1188,13360,0},{-1188,13362,0},{-1185,13367,0}, {-1183,13367,0},{-1182,13375,0},{-1178,13377,0},{-1178,13382,0},{-1180,13385,0}, {-1178,13390,0},{-1182,13392,0},{-1183,13390,0},{-1185,13388,0},{-1187,13383,0}, {-1188,13382,0},{-1192,13383,0},{-1197,13390,0},{-1197,13395,0},{-1192,13400,0}, {-1192,13403,0},{-1197,13407,0},{-1195,13410,0},{-1202,13415,0},{-1203,13413,0}, {-1205,13417,0},{-1210,13417,0},{-1215,13413,0},{-1218,13417,0},{-1217,13418,0}, {-1210,13420,0},{-1205,13422,0},{-1203,13425,0},{-1205,13430,0},{-1210,13433,0}, {-1212,13455,0},{-1215,13458,0},{-1208,13460,0},{-1202,13467,0},{-1200,13470,0}, {-1202,13475,0},{-1203,13475,0},{-1208,13477,0},{-1212,13482,0},{-1215,13482,0}, {-1217,13483,0},{-1220,13488,0},{-1220,13495,0},{-1225,13500,0},{-1230,13505,0}, {-1230,13517,0},{-1228,13517,0},{-1227,13517,0},{-1230,13532,0},{-1223,13538,0}, {-1218,13555,0},{-1210,13562,0},{-1205,13575,0},{-1202,13587,0},{-1203,13588,0}, {-1203,13583,0},{-1207,13578,0},{-1213,13573,0},{-1220,13565,0},{-1223,13563,0}, {-1227,13565,0},{-1233,13570,0},{-1230,13572,0},{-1228,13575,0},{-1227,13577,0}, {-1225,13580,0},{-1223,13582,0},{-1223,13583,0},{-1220,13585,0},{-1222,13587,0}, {-1220,13592,0},{-1212,13602,0},{-1213,13602,0},{-1218,13598,0},{-1223,13597,0}, {-1225,13593,0},{-1227,13592,0},{-1230,13597,0},{-1228,13605,0},{-1230,13605,0}, {-1233,13600,0},{-1245,13597,0},{-1245,13600,0},{-1248,13600,0},{-1250,13602,0}, {-1247,13607,0},{-1250,13622,0},{-1247,13628,0},{-1243,13628,0},{-1238,13632,0}, {-1232,13633,0},{-1227,13632,0},{-1227,13622,0},{-1223,13618,0},{-1222,13618,0}, {-1212,13627,0},{-1210,13633,0},{-1202,13640,0},{-1197,13655,0},{-1197,13657,0}, {-1198,13657,0},{-1202,13647,0},{-1205,13645,0},{-1207,13647,0},{-1205,13652,0}, {-1210,13653,0},{-1215,13657,0},{-1222,13657,0},{-1232,13665,0},{-1232,13673,0}, {-1230,13673,0},{-1225,13668,0},{-1222,13675,0},{-1222,13678,0},{-1225,13682,0}, {-1227,13685,0},{-1235,13692,0},{-1240,13690,0},{-1240,13698,0},{-1243,13695,0}, {-1245,13688,0},{-1253,13682,0},{-1258,13677,0},{-1258,13675,0},{-1253,13677,0}, {-1253,13673,0},{-1260,13673,0},{-1263,13675,0},{-1263,13672,0},{-1270,13668,0}, {-1275,13667,0},{-1278,13658,0},{-1282,13660,0},{-1285,13660,0},{-1283,13657,0}, {-1280,13653,0},{-1280,13652,0},{-1283,13652,0},{-1283,13647,0},{-1288,13647,0}, {-1290,13648,0},{-1292,13650,0},{-1293,13653,0},{-1295,13653,0},{-1297,13660,0}, {-1303,13665,0},{-1305,13662,0},{-1302,13660,0},{-1303,13657,0},{-1305,13655,0}, {-1305,13653,0},{-1303,13653,0},{-1302,13652,0},{-1303,13645,0},{-1305,13647,0}, {-1307,13650,0},{-1308,13652,0},{-1310,13655,0},{-1318,13653,0},{-1318,13647,0}, {-1320,13647,0},{-1327,13645,0},{-1325,13642,0},{-1328,13638,0},{-1330,13638,0}, {-1335,13632,0},{-1328,13633,0},{-1327,13635,0},{-1313,13637,0},{-1310,13635,0}, {-1308,13632,0},{-1312,13630,0},{-1315,13630,0},{-1318,13630,0},{-1317,13622,0}, {-1318,13622,0},{-1323,13625,0},{-1327,13618,0},{-1330,13617,0},{-1330,13615,0}, {-1327,13613,0},{-1318,13613,0},{-1317,13612,0},{-1320,13610,0},{-1327,13607,0}, {-1327,13603,0},{-1330,13603,0},{-1333,13602,0},{-1327,13600,0},{-1325,13598,0}, {-1327,13597,0},{-1332,13593,0},{-1328,13593,0},{-1328,13592,0},{-1340,13588,0}, {-1345,13592,0},{-1347,13595,0},{-1350,13590,0},{-1347,13588,0},{-1347,13585,0}, {-1360,13585,0},{-1360,13583,0},{-1363,13585,0},{-1367,13587,0},{-1370,13590,0}, {-1373,13588,0},{-1377,13592,0},{-1375,13597,0},{-1368,13603,0},{-1368,13605,0}, {-1370,13605,0},{-1377,13602,0},{-1382,13598,0},{-1385,13600,0},{-1387,13597,0}, {-1390,13598,0},{-1393,13597,0},{-1400,13592,0},{-1417,13587,0},{-1420,13588,0}, {-1432,13572,0},{-1443,13567,0},{-1443,13563,0},{-1447,13560,0},{-1453,13555,0}, {-1462,13552,0},{-1467,13552,0},{-1468,13545,0},{-1473,13540,0},{-1475,13537,0}, {-1482,13538,0},{-1498,13545,0},{-1505,13557,0},{-1507,13563,0},{-1512,13565,0}, {-1513,13577,0},{-1517,13580,0},{-1520,13587,0},{-1528,13595,0},{-1537,13607,0}, {-1542,13620,0},{-1543,13622,0},{-1558,13627,0},{-1560,13630,0},{-1565,13642,0}, {-1573,13652,0},{-1573,13658,0},{-1578,13662,0},{-1585,13670,0},{-1592,13668,0}, {-1593,13670,0},{-1590,13678,0},{-1592,13690,0},{-1588,13692,0},{-1587,13697,0}, {-1593,13707,0},{-1598,13717,0},{-1615,13738,0},{-1617,13742,0},{-1618,13745,0}, {-1618,13752,0},{-1622,13755,0},{-1620,13757,0},{-1622,13760,0},{-1627,13770,0}, {-1628,13772,0},{-1635,13770,0},{-1632,13777,0},{-1635,13778,0},{-1647,13787,0}, {-1658,13798,0},{-1660,13805,0},{-1668,13812,0},{-1673,13830,0},{-1673,13837,0}, {-1677,13840,0},{-1677,13858,0},{-1677,13865,0},{-1682,13872,0},{-1683,13880,0}, {-1687,13883,0},{-1688,13888,0},{-1687,13893,0},{-1688,13897,0},{-1690,13903,0}, {-1697,13905,0},{-1700,13910,0},{-1703,13917,0},{-1713,13915,0},{-1727,13920,0}, {-1738,13930,0},{-1740,13937,0},{-1738,13945,0},{-1755,13970,0},{-1755,13975,0}, {-1762,13993,0},{-1768,13998,0},{-1772,14010,0},{-1768,14023,0},{-1767,14037,0}, {-1762,14045,0},{-1758,14060,0},{-1757,14063,0},{-1750,14068,0},{-1750,14073,0}, {-1745,14078,0},{-1745,14080,0},{-1738,14085,0},{-1718,14092,0},{-1697,14095,0}, {-1688,14103,0},{-1678,14107,0},{-1677,14112,0},{-1668,14118,0},{-1657,14122,0}, {-1653,14125,0},{-1648,14127,0},{-1635,14128,0},{-1623,14132,0},{-1610,14140,0}, {-1588,14138,0},{-1572,14140,0},{-1553,14143,0},{-1550,14148,0},{-1545,14145,0}, {-1540,14152,0},{-1522,14157,0},{-1522,14160,0},{-1527,14168,0},{-1523,14172,0}, {-1522,14167,0},{-1518,14167,0},{-1515,14165,0},{-1510,14167,0},{-1507,14165,0}, {-1502,14165,0},{-1473,14153,0},{-1458,14153,0},{-1447,14152,0},{-1433,14155,0}, {-1417,14158,0},{-1410,14157,0},{-1403,14153,0},{-1393,14147,0},{-1385,14145,0}, {-1358,14152,0},{-1355,14153,0},{-1358,14153,0},{-1357,14155,0},{-1350,14155,0}, {-1347,14158,0},{-1340,14162,0},{-1340,14167,0},{-1357,14167,0},{-1362,14167,0}, {-1363,14170,0},{-1355,14168,0},{-1340,14173,0},{-1335,14170,0},{-1332,14173,0}, {-1335,14167,0},{-1332,14167,0},{-1325,14168,0},{-1317,14162,0},{-1310,14160,0}, {-1305,14162,0},{-1300,14158,0},{-1283,14177,0},{-1272,14180,0},{-1272,14183,0}, {-1277,14187,0},{-1287,14188,0},{-1290,14192,0},{-1290,14193,0},{-1278,14192,0}, {-1275,14198,0},{-1275,14195,0},{-1275,14192,0},{-1272,14185,0},{-1268,14183,0}, {-1265,14188,0},{-1263,14200,0},{-1258,14203,0},{-1260,14197,0},{-1262,14180,0}, {-1258,14172,0},{-1255,14168,0},{-1250,14172,0},{-1250,14170,0},{-1252,14168,0}, {-1250,14167,0},{-1252,14165,0},{-1255,14165,0},{-1258,14167,0},{-1262,14162,0}, {-1262,14160,0},{-1258,14160,0},{-1245,14165,0},{-1228,14170,0},{-1227,14178,0}, {-1223,14172,0},{-1208,14178,0},{-1202,14187,0},{-1202,14188,0},{-1208,14190,0}, {-1215,14190,0},{-1218,14192,0},{-1215,14193,0},{-1210,14193,0},{-1213,14200,0}, {-1210,14203,0},{-1207,14205,0},{-1205,14205,0},{-1205,14200,0},{-1200,14195,0}, {-1197,14195,0},{-1185,14197,0},{-1180,14200,0},{-1177,14200,0},{-1172,14203,0}, {-1162,14203,0},{-1153,14207,0},{-1150,14212,0},{-1148,14212,0},{-1148,14208,0}, {-1125,14212,0},{-1125,14215,0},{-1117,14215,0},{-1110,14213,0},{-1103,14213,0}, {-1100,14217,0},{-1097,14232,0},{-1092,14238,0},{-1078,14243,0},{-1077,14253,0}, {-1085,14260,0},{-1103,14250,0},{-1102,14257,0},{-1097,14258,0},{-1097,14262,0}, {-1100,14262,0},{-1103,14267,0},{-1108,14267,0},{-1105,14270,0},{-1105,14273,0}, {-1122,14280,0},{-1132,14280,0},{-1135,14282,0},{-1135,14283,0},{-1143,14287,0}, {-1152,14283,0},{-1157,14285,0},{-1163,14283,0},{-1170,14287,0},{-1187,14285,0}, {-1192,14288,0},{-1198,14300,0},{-1198,14303,0},{-1197,14307,0},{-1197,14313,0}, {-1203,14317,0},{-1200,14322,0},{-1202,14325,0},{-1208,14317,0},{-1220,14310,0}, {-1220,14307,0},{-1222,14307,0},{-1227,14308,0},{-1238,14310,0},{-1238,14317,0}, {-1240,14320,0},{-1242,14323,0},{-1242,14325,0},{-1247,14327,0},{-1255,14327,0}, {-1258,14330,0},{-1260,14337,0},{-1265,14342,0},{-1272,14342,0},{-1278,14337,0}, {-1290,14335,0},{-1293,14337,0},{-1297,14340,0},{-1295,14343,0},{-1292,14342,0}, {-1290,14343,0},{-1290,14350,0},{-1287,14353,0},{-1288,14355,0},{-1297,14352,0}, {-1333,14353,0},{-1340,14360,0},{-1348,14360,0},{-1355,14360,0},{-1365,14357,0}, {-1373,14355,0},{-1380,14355,0},{-1403,14368,0},{-1407,14368,0},{-1410,14367,0}, {-1412,14370,0},{-1422,14370,0},{-1438,14378,0},{-1448,14387,0},{-1450,14390,0}, {-1448,14392,0},{-1450,14393,0},{-1448,14395,0},{-1447,14405,0},{-1443,14408,0}, {-1442,14410,0},{-1440,14413,0},{-1438,14415,0},{-1433,14418,0},{-1427,14420,0}, {-1427,14423,0},{-1430,14427,0},{-1430,14430,0},{-1430,14437,0},{-1427,14442,0}, {-1423,14445,0},{-1417,14448,0},{-1417,14452,0},{-1418,14453,0},{-1422,14455,0}, {-1427,14458,0},{-1437,14460,0},{-1437,14465,0},{-1438,14465,0},{-1445,14462,0}, {-1450,14463,0},{-1453,14467,0},{-1457,14470,0},{-1455,14477,0},{-1460,14480,0}, {-1462,14490,0},{-1477,14497,0},{-1482,14507,0},{-1482,14512,0},{-1485,14517,0}, {-1485,14522,0},{-1488,14522,0},{-1497,14528,0},{-1497,14532,0},{-1495,14533,0}, {-1497,14537,0},{-1500,14535,0},{-1510,14527,0},{-1518,14525,0},{-1525,14525,0}, {-1527,14530,0},{-1525,14535,0},{-1528,14535,0},{-1532,14528,0},{-1538,14528,0}, {-1542,14525,0},{-1547,14523,0},{-1552,14528,0},{-1555,14528,0},{-1557,14532,0}, {-1562,14533,0},{-1565,14532,0},{-1575,14537,0},{-1592,14537,0},{-1597,14542,0}, {-1608,14547,0},{-1618,14545,0},{-1628,14548,0},{-1628,14543,0},{-1645,14540,0}, {-1650,14547,0},{-1655,14550,0},{-1660,14555,0},{-1667,14557,0},{-1677,14570,0}, {-1690,14578,0},{-1690,14582,0},{-1687,14583,0},{-1690,14587,0},{-1690,14590,0}, {-1687,14592,0},{-1688,14593,0},{-1695,14593,0},{-1700,14590,0},{-1707,14588,0}, {-1718,14595,0},{-1732,14600,0},{-1737,14602,0},{-1740,14605,0},{-1753,14607,0}, {-1767,14613,0},{-1775,14610,0},{-1778,14610,0},{-1782,14608,0},{-1785,14610,0}, {-1797,14610,0},{-1808,14602,0},{-1820,14603,0},{-1823,14607,0},{-1822,14605,0}, {-1823,14603,0},{-1840,14613,0},{-1850,14620,0},{-1852,14627,0},{-1853,14628,0}, {-1852,14632,0},{-1853,14633,0},{-1862,14633,0},{-1870,14630,0},{-1878,14628,0}, {-1887,14627,0},{-1888,14628,0},{-1903,14642,0},{-1912,14653,0},{-1917,14667,0}, {-1917,14677,0},{-1925,14683,0},{-1928,14688,0},{-1930,14693,0},{-1928,14698,0}, {-1920,14705,0},{-1923,14707,0},{-1932,14707,0},{-1937,14712,0},{-1942,14713,0}, {-1940,14717,0},{-1942,14722,0},{-1943,14725,0},{-1940,14732,0},{-1942,14743,0}, {-1933,14743,0},{-1932,14745,0},{-1937,14748,0},{-1945,14750,0},{-1952,14755,0}, {-1953,14755,0},{-1955,14757,0},{-1960,14745,0},{-1962,14743,0},{-1963,14748,0}, {-1965,14752,0},{-1975,14760,0},{-1982,14773,0},{-1978,14775,0},{-1975,14773,0}, {-1970,14778,0},{-1972,14782,0},{-1975,14787,0},{-1985,14787,0},{-1988,14790,0}, {-1990,14797,0},{-1990,14800,0},{-1988,14802,0},{-1985,14802,0},{-1985,14803,0}, {-1985,14807,0},{-1988,14808,0},{-1990,14810,0},{-1993,14823,0},{-1997,14827,0}, {-2002,14823,0},{-2007,14827,0},{-2008,14830,0},{-2010,14832,0},{-2015,14842,0}, {-2015,14847,0},{-2013,14843,0},{-2010,14845,0},{-2008,14842,0},{-2005,14843,0}, {-2003,14853,0},{-2007,14857,0},{-2012,14855,0},{-2017,14858,0},{-2017,14860,0}, {-2020,14862,0},{-2017,14862,0},{-2017,14867,0},{-2018,14868,0},{-2022,14867,0}, {-2025,14868,0},{-2025,14878,0},{-2027,14878,0},{-2030,14877,0},{-2032,14880,0}, {-2043,14885,0},{-2045,14888,0},{-2052,14890,0},{-2053,14887,0},{-2052,14883,0}, {-2043,14877,0},{-2047,14873,0},{-2047,14868,0},{-2040,14863,0},{-2043,14862,0}, {-2052,14867,0},{-2055,14865,0},{-2063,14870,0},{-2067,14868,0},{-2068,14872,0}, {-2072,14870,0},{-2072,14873,0},{-2078,14880,0},{-2087,14883,0},{-2087,14888,0}, {-2090,14898,0},{-2088,14902,0},{-2090,14903,0},{-2092,14903,0},{-2095,14900,0}, {-2098,14902,0},{-2097,14907,0},{-2098,14913,0},{-2105,14920,0},{-2110,14922,0}, {-2118,14918,0},{-2123,14920,0},{-2127,14917,0},{-2125,14923,0},{-2127,14927,0}, {-2128,14928,0},{-2135,14928,0},{-2138,14932,0},{-2142,14928,0},{-2143,14932,0}, {-2147,14928,0},{-2150,14928,0},{-2150,14932,0},{-2152,14937,0},{-2157,14942,0}, {-2153,14947,0},{-2153,14950,0},{-2158,14948,0},{-2163,14945,0},{-2172,14945,0}, {-2172,14947,0},{-2175,14943,0},{-2183,14943,0},{-2187,14947,0},{-2192,14947,0}, {-2217,14957,0},{-2220,14953,0},{-2228,14958,0},{-2232,14957,0},{-2233,14962,0}, {-2235,14963,0},{-2238,14958,0},{-2240,14957,0},{-2238,14968,0},{-2248,14968,0}, {-2255,14963,0},{-2245,14977,0},{-2240,14980,0},{-2247,14988,0},{-2258,14997,0}, {-2265,15002,0},{-2263,15003,0},{-2255,15002,0},{-2237,14990,0},{-2233,14993,0}, {-2230,14990,0},{-2218,14997,0},{-2215,15003,0},{-2215,15008,0},{-2223,15010,0}, {-2227,15015,0},{-2237,15020,0},{-2242,15030,0},{-2253,15045,0},{-2255,15053,0}, {-2260,15055,0},{-2260,15058,0},{-2267,15063,0},{-2267,15065,0},{-2255,15058,0}, {-2253,15062,0},{-2252,15062,0},{-2248,15055,0},{-2242,15055,0},{-2235,15055,0}, {-2232,15057,0},{-2233,15063,0},{-2238,15062,0},{-2243,15065,0},{-2242,15067,0}, {-2238,15067,0},{-2237,15067,0},{-2243,15070,0},{-2247,15073,0},{-2252,15073,0}, {-2247,15067,0},{-2248,15065,0},{-2253,15068,0},{-2260,15067,0},{-2263,15070,0}, {-2263,15073,0},{-2255,15077,0},{-2253,15080,0},{-2257,15080,0},{-2262,15078,0}, {-2270,15083,0},{-2272,15083,0},{-2292,15078,0},{-2293,15075,0},{-2295,15075,0}, {-2298,15077,0},{-2300,15078,0},{-2313,15078,0},{-2322,15083,0},{-2330,15083,0}, {-2332,15080,0},{-2333,15080,0},{-2350,15087,0},{-2352,15085,0},{-2350,15073,0}, {-2350,15070,0},{-2350,15065,0},{-2352,15065,0},{-2355,15070,0},{-2353,15077,0}, {-2355,15085,0},{-2358,15088,0},{-2367,15092,0},{-2368,15093,0},{-2360,15100,0}, {-2373,15112,0},{-2383,15118,0},{-2387,15130,0},{-2388,15132,0},{-2398,15133,0}, {-2400,15140,0},{-2407,15145,0},{-2410,15155,0},{-2407,15158,0},{-2407,15162,0}, {-2412,15167,0},{-2413,15172,0},{-2417,15175,0},{-2417,15180,0},{-2418,15180,0}, {-2420,15183,0},{-2420,15188,0},{-2443,15200,0},{-2450,15207,0},{-2465,15217,0}, {-2467,15223,0},{-2470,15227,0},{-2473,15235,0},{-2477,15237,0},{-2477,15242,0}, {-2480,15245,0},{-2487,15248,0},{-2495,15248,0},{-2500,15253,0},{-2507,15255,0}, {-2513,15262,0},{-2517,15255,0},{-2520,15265,0},{-2523,15270,0},{-2525,15283,0}, {-2530,15292,0},{-2543,15292,0},{-2545,15293,0},{-2548,15288,0},{-2553,15290,0}, {-2570,15290,0},{-2577,15297,0},{-2580,15293,0},{-2582,15300,0},{-2585,15302,0}, {-2588,15303,0},{-2597,15302,0},{-2595,15305,0},{-2588,15308,0},{-2595,15312,0}, {-2595,15317,0},{-2597,15318,0},{-2612,15310,0},{-2633,15305,0},{-2638,15305,0}, {-2643,15310,0},{-2665,15310,0},{-2675,15313,0},{-2688,15308,0},{-2697,15305,0}, {-2712,15310,0},{-2717,15305,0},{-2722,15303,0},{-2723,15305,0},{-2723,15312,0}, {-2725,15312,0},{-2728,15308,0},{-2728,15305,0},{-2732,15302,0},{-2740,15313,0}, {-2745,15318,0},{-2755,15320,0},{-2753,15323,0},{-2752,15325,0},{-2755,15328,0}, {-2768,15333,0},{-2773,15330,0},{-2782,15337,0},{-2788,15337,0},{-2787,15340,0}, {-2780,15343,0},{-2795,15343,0},{-2800,15343,0},{-2808,15348,0},{-2817,15357,0}, {-2825,15360,0},{-2847,15357,0},{-2855,15358,0},{-2863,15362,0},{-2878,15362,0}, {-2883,15358,0},{-2892,15355,0},{-2898,15348,0},{-2903,15345,0},{-2913,15345,0}, {-2927,15335,0},{-2942,15337,0},{-2962,15333,0},{-2972,15330,0},{-2977,15330,0}, {-3003,15322,0},{-3015,15322,0},{-3025,15315,0},{-3043,15310,0},{-3050,15305,0}, {-3070,15302,0},{-3080,15302,0},{-3092,15300,0},{-3088,15305,0},{-3092,15308,0}, {-3100,15305,0},{-3107,15307,0},{-3117,15300,0},{-3133,15297,0},{-3140,15295,0}, {-3142,15290,0},{-3152,15293,0},{-3155,15290,0},{-3150,15287,0},{-3152,15285,0}, {-3165,15285,0},{-3170,15282,0},{-3175,15280,0},{-3180,15278,0},{-3187,15273,0}, {-3192,15267,0},{-3197,15260,0},{-3200,15260,0},{-3205,15255,0},{-3208,15255,0}, {-3217,15252,0},{-3227,15255,0},{-3230,15253,0},{-3237,15255,0},{-3243,15253,0}, {-3247,15253,0},{-3248,15252,0},{-3250,15243,0},{-3257,15233,0},{-3262,15230,0}, {-3267,15220,0},{-3272,15218,0},{-3268,15215,0},{-3270,15208,0},{-3268,15203,0}, {-3270,15200,0},{-3267,15198,0},{-3268,15195,0},{-3273,15195,0},{-3275,15192,0}, {-3277,15192,0},{-3275,15198,0},{-3277,15203,0},{-3275,15207,0},{-3275,15210,0}, {-3275,15215,0},{-3277,15217,0},{-3280,15210,0},{-3283,15208,0},{-3285,15192,0}, {-3293,15175,0},{-3300,15175,0},{-3305,15168,0},{-3317,15165,0},{-3322,15160,0}, {-3327,15158,0},{-3330,15153,0},{-3343,15145,0},{-3348,15145,0},{-3350,15138,0}, {-3353,15137,0},{-3352,15133,0},{-3353,15128,0},{-3352,15125,0},{-3355,15123,0}, {-3360,15120,0},{-3362,15118,0},{-3362,15122,0},{-3357,15128,0},{-3362,15130,0}, {-3357,15133,0},{-3357,15137,0},{-3380,15130,0},{-3378,15123,0},{-3383,15123,0}, {-3383,15118,0},{-3380,15115,0},{-3382,15113,0},{-3382,15107,0},{-3382,15105,0}, {-3383,15108,0},{-3385,15112,0},{-3387,15125,0},{-3388,15128,0},{-3393,15128,0}, {-3397,15125,0},{-3393,15118,0},{-3398,15117,0},{-3398,15112,0},{-3400,15113,0}, {-3400,15123,0},{-3402,15123,0},{-3403,15118,0},{-3412,15115,0},{-3422,15102,0}, {-3428,15097,0},{-3438,15092,0},{-3448,15093,0},{-3452,15088,0},{-3448,15085,0}, {-3452,15082,0},{-3453,15082,0},{-3453,15085,0},{-3458,15088,0},{-3475,15085,0}, {-3478,15080,0},{-3485,15077,0},{-3487,15065,0},{-3488,15072,0},{-3492,15073,0}, {-3492,15077,0},{-3492,15078,0},{-3495,15077,0},{-3502,15085,0},{-3505,15083,0}, {-3508,15078,0},{-3508,15077,0},{-3505,15077,0},{-3502,15078,0},{-3500,15075,0}, {-3502,15070,0},{-3505,15068,0},{-3513,15070,0},{-3515,15075,0},{-3517,15073,0}, {-3518,15070,0},{-3515,15063,0},{-3510,15065,0},{-3510,15057,0},{-3513,15060,0}, {-3518,15060,0},{-3530,15048,0},{-3537,15050,0},{-3547,15042,0},{-3553,15040,0}, {-3563,15032,0},{-3570,15030,0},{-3573,15022,0},{-3578,15023,0},{-3583,15022,0}, {-3587,15018,0},{-3590,15015,0},{-3602,15013,0},{-3607,15008,0},{-3610,15012,0}, {-3632,15013,0},{-3637,15005,0},{-3643,15007,0},{-3648,15003,0},{-3657,15003,0}, {-3668,14998,0},{-3677,14997,0},{-3680,14993,0},{-3688,14993,0},{-3693,14990,0}, {-3695,14990,0},{-3697,14992,0},{-3705,14993,0},{-3710,14988,0},{-3715,15000,0}, {-3725,15003,0},{-3727,15002,0},{-3727,14997,0},{-3730,14995,0},{-3733,14997,0}, {-3740,14993,0},{-3748,14997,0},{-3750,14995,0},{-3753,14992,0},{-3755,14980,0}, {-3753,14978,0},{-3750,14978,0},{-3750,14970,0},{-3757,14975,0},{-3767,14967,0}, {-3772,14962,0},{-3775,14952,0},{-3777,14948,0},{-3778,14928,0},{-3782,14925,0}, {-3778,14912,0},{-3780,14902,0},{-3777,14895,0},{-3780,14888,0},{-3778,14880,0}, {-3780,14873,0},{-3782,14872,0},{-3780,14852,0},{-3782,14830,0},{-3783,14818,0}, {-3790,14798,0},{-3788,14790,0},{-3788,14780,0},{-3785,14773,0},{-3785,14770,0}, {-3790,14770,0},{-3792,14773,0},{-3795,14768,0},{-3797,14773,0},{-3795,14775,0}, {-3792,14782,0},{-3790,14790,0},{-3792,14792,0},{-3797,14775,0},{-3808,14758,0}, {-3850,14705,0},{-3855,14695,0},{-3865,14687,0},{-3867,14683,0},{-3865,14683,0}, {-3862,14685,0},{-3862,14678,0},{-3867,14677,0},{-3867,14668,0},{-3868,14667,0}, {-3865,14663,0},{-3867,14662,0},{-3870,14652,0},{-3868,14648,0},{-3870,14642,0}, {-3872,14638,0},{-3870,14633,0},{-3870,14622,0},{-3875,14618,0},{-3880,14622,0}, {-3883,14625,0},{-3890,14630,0},{-3885,14638,0},{-3880,14642,0},{-3882,14645,0}, {-3892,14647,0},{-3900,14642,0},{-3902,14643,0},{-3903,14647,0},{-3905,14647,0}, {-3908,14642,0},{-3912,14642,0},{-3915,14637,0},{-3913,14633,0},{-3912,14630,0}, {-3905,14630,0},{-3898,14622,0},{-3895,14623,0},{-3888,14615,0},{-3880,14613,0}, {-3880,14608,0},{-3883,14612,0},{-3883,14603,0},{-3883,14600,0},{-3888,14597,0}, {-3892,14590,0},{-3880,14583,0},{-3868,14573,0},{-3870,14580,0},{-3868,14582,0}, {-3865,14580,0},{-3865,14573,0},{-3867,14567,0},{-3868,14557,0},{-3865,14552,0}, {-3857,14545,0},{-3857,14538,0},{-3853,14533,0},{-3852,14533,0},{-3850,14538,0}, {-3842,14540,0},{-3840,14547,0},{-3835,14550,0},{-3825,14543,0},{-3823,14522,0}, {-3825,14520,0},{-3830,14517,0},{-3838,14518,0},{-3840,14517,0},{-3840,14508,0}, {-3840,14505,0},{-3850,14498,0},{-3852,14490,0},{-3850,14485,0},{-3840,14477,0}, {-3833,14463,0},{172,-15718,128},{170,-15723,0},{172,-15725,0},{175,-15730,0}, {178,-15743,0},{185,-15752,0},{185,-15757,0},{190,-15758,0},{193,-15753,0}, {193,-15752,0},{192,-15752,0},{190,-15755,0},{187,-15755,0},{183,-15743,0}, {188,-15747,0},{187,-15745,0},{190,-15745,0},{187,-15742,0},{187,-15740,0}, {188,-15740,0},{193,-15743,0},{192,-15740,0},{193,-15740,0},{193,-15738,0}, {190,-15738,0},{193,-15735,0},{195,-15737,0},{195,-15740,0},{202,-15747,0}, {200,-15750,0},{202,-15752,0},{203,-15750,0},{203,-15743,0},{197,-15737,0}, {197,-15730,0},{192,-15735,0},{185,-15735,0},{180,-15727,0},{177,-15723,0}, {177,-15718,0},{173,-15717,0},{172,-15718,0},{-4168,17402,129},{-4167,17410,1}, {-4160,17418,1},{-4158,17418,1},{-4150,17410,1},{-4155,17412,1},{-4157,17408,1}, {-4153,17408,1},{-4152,17405,1},{-4142,17405,1},{-4140,17410,1},{-4133,17412,1}, {-4132,17415,1},{-4133,17415,1},{-4132,17420,1},{-4135,17418,1},{-4133,17422,1}, {-4132,17425,1},{-4122,17433,1},{-4125,17428,1},{-4125,17422,1},{-4127,17420,1}, {-4125,17415,1},{-4125,17405,1},{-4128,17403,1},{-4127,17393,1},{-4125,17398,1}, {-4125,17400,1},{-4123,17400,1},{-4123,17417,1},{-4120,17418,1},{-4120,17422,1}, {-4117,17420,1},{-4115,17418,1},{-4112,17417,1},{-4112,17418,1},{-4110,17418,1}, {-4112,17420,1},{-4115,17420,1},{-4115,17422,1},{-4113,17423,1},{-4112,17425,1}, {-4110,17425,1},{-4100,17432,1},{-4100,17430,1},{-4107,17422,1},{-4105,17418,1}, {-4103,17418,1},{-4105,17422,1},{-4102,17422,1},{-4097,17418,1},{-4102,17415,1}, {-4102,17410,1},{-4100,17403,1},{-4097,17400,1},{-4098,17400,1},{-4100,17397,1}, {-4102,17398,1},{-4102,17395,1},{-4105,17398,1},{-4102,17402,1},{-4103,17403,1}, {-4107,17402,1},{-4110,17405,1},{-4110,17400,1},{-4115,17398,1},{-4112,17397,1}, {-4108,17398,1},{-4110,17393,1},{-4115,17388,1},{-4120,17390,1},{-4118,17395,1}, {-4118,17397,1},{-4120,17397,1},{-4120,17400,1},{-4118,17402,1},{-4118,17408,1}, {-4118,17413,1},{-4120,17407,1},{-4120,17403,1},{-4122,17403,1},{-4122,17390,1}, {-4123,17388,1},{-4123,17393,1},{-4128,17378,1},{-4127,17377,1},{-4125,17385,1}, {-4120,17387,1},{-4117,17385,1},{-4115,17382,1},{-4113,17385,1},{-4112,17387,1}, {-4112,17388,1},{-4108,17388,1},{-4108,17392,1},{-4107,17395,1},{-4105,17393,1}, {-4107,17382,1},{-4108,17382,1},{-4108,17380,1},{-4110,17380,1},{-4112,17378,1}, {-4107,17378,1},{-4105,17378,1},{-4103,17380,1},{-4102,17378,1},{-4100,17382,1}, {-4102,17385,1},{-4100,17393,1},{-4098,17392,1},{-4097,17395,1},{-4093,17397,1}, {-4095,17402,1},{-4095,17403,1},{-4093,17403,1},{-4090,17400,1},{-4092,17395,1}, {-4092,17392,1},{-4095,17392,1},{-4098,17385,1},{-4093,17385,1},{-4093,17383,1}, {-4097,17380,1},{-4100,17370,1},{-4102,17367,1},{-4103,17368,1},{-4102,17373,1}, {-4103,17375,1},{-4107,17372,1},{-4107,17367,1},{-4110,17368,1},{-4110,17365,1}, {-4107,17363,1},{-4105,17360,1},{-4108,17355,1},{-4110,17357,1},{-4110,17353,1}, {-4115,17350,1},{-4113,17343,1},{-4120,17335,1},{-4127,17327,1},{-4132,17317,1}, {-4132,17310,1},{-4128,17308,1},{-4127,17310,1},{-4118,17308,1},{-4118,17305,1}, {-4115,17303,1},{-4112,17303,1},{-4113,17307,1},{-4103,17303,1},{-4102,17300,1}, {-4100,17302,1},{-4097,17307,1},{-4093,17305,1},{-4088,17307,1},{-4087,17305,1}, {-4087,17302,1},{-4085,17303,1},{-4078,17300,1},{-4080,17295,1},{-4080,17293,1}, {-4083,17293,1},{-4085,17285,1},{-4078,17277,1},{-4073,17272,1},{-4075,17268,1}, {-4070,17270,1},{-4068,17267,1},{-4065,17265,1},{-4065,17270,1},{-4063,17268,1}, {-4052,17273,1},{-4053,17298,1},{-4050,17272,1},{-4052,17263,1},{-4055,17257,1}, {-4058,17257,1},{-4057,17263,1},{-4058,17262,1},{-4058,17260,1},{-4060,17260,1}, {-4062,17257,1},{-4062,17255,1},{-4063,17253,1},{-4058,17253,1},{-4060,17250,1}, {-4072,17235,1},{-4080,17218,1},{-4088,17213,1},{-4088,17212,1},{-4125,17210,1}, {-4130,17213,1},{-4132,17208,1},{-4142,17207,1},{-4147,17198,1},{-4155,17195,1}, {-4167,17185,1},{-4167,17182,1},{-4170,17178,1},{-4177,17165,1},{-4175,17163,1}, {-4177,17162,1},{-4177,17155,1},{-4175,17147,1},{-4182,17147,1},{-4183,17150,1}, {-4187,17147,1},{-4202,17142,1},{-4207,17137,1},{-4228,17132,1},{-4240,17123,1}, {-4243,17123,1},{-4243,17137,1},{-4235,17148,1},{-4228,17162,1},{-4228,17170,1}, {-4237,17147,1},{-4245,17138,1},{-4247,17120,1},{-4257,17115,1},{-4272,17100,1}, {-4275,17105,1},{-4283,17105,1},{-4288,17110,1},{-4283,17103,1},{-4283,17100,1}, {-4288,17102,1},{-4293,17103,1},{-4298,17102,1},{-4292,17102,1},{-4283,17098,1}, {-4282,17103,1},{-4278,17103,1},{-4275,17102,1},{-4272,17098,1},{-4273,17095,1}, {-4290,17080,1},{-4295,17070,1},{-4307,17075,1},{-4300,17070,1},{-4298,17070,1}, {-4295,17067,1},{-4303,17047,1},{-4308,17060,1},{-4312,17062,1},{-4305,17053,1}, {-4303,17045,1},{-4305,17045,1},{-4305,17042,1},{-4308,17038,1},{-4310,17042,1}, {-4312,17040,1},{-4310,17028,1},{-4313,17037,1},{-4318,17042,1},{-4323,17043,1}, {-4327,17042,1},{-4317,17038,1},{-4313,17033,1},{-4313,17027,1},{-4322,17020,1}, {-4317,17027,1},{-4317,17030,1},{-4325,17023,1},{-4323,17018,1},{-4325,17013,1}, {-4327,17010,1},{-4328,17008,1},{-4333,17013,1},{-4337,17013,1},{-4330,17007,1}, {-4335,17002,1},{-4340,16988,1},{-4345,16985,1},{-4347,16988,1},{-4347,16998,1}, {-4348,16993,1},{-4347,16983,1},{-4348,16980,1},{-4350,16978,1},{-4353,16985,1}, {-4358,16985,1},{-4352,16980,1},{-4352,16977,1},{-4357,16973,1},{-4362,16965,1}, {-4360,16958,1},{-4365,16948,1},{-4372,16952,1},{-4372,16950,1},{-4370,16948,1}, {-4365,16947,1},{-4365,16942,1},{-4370,16937,1},{-4375,16922,1},{-4382,16908,1}, {-4392,16915,1},{-4395,16925,1},{-4397,16925,1},{-4392,16912,1},{-4385,16907,1}, {-4392,16893,1},{-4397,16887,1},{-4402,16877,1},{-4400,16868,1},{-4397,16865,1}, {-4398,16862,1},{-4398,16858,1},{-4400,16855,1},{-4403,16850,1},{-4403,16838,1}, {-4405,16840,1},{-4408,16833,1},{-4412,16833,1},{-4417,16828,1},{-4422,16820,1}, {-4425,16817,1},{-4427,16810,1},{-4428,16813,1},{-4430,16815,1},{-4432,16812,1}, {-4432,16803,1},{-4435,16803,1},{-4438,16802,1},{-4440,16795,1},{-4450,16783,1}, {-4460,16785,1},{-4462,16790,1},{-4463,16790,1},{-4463,16793,1},{-4470,16793,1}, {-4458,16780,1},{-4463,16770,1},{-4467,16767,1},{-4467,16763,1},{-4470,16758,1}, {-4475,16763,1},{-4477,16767,1},{-4477,16763,1},{-4472,16758,1},{-4475,16755,1}, {-4480,16760,1},{-4488,16757,1},{-4485,16753,1},{-4480,16757,1},{-4478,16753,1}, {-4478,16747,1},{-4485,16745,1},{-4500,16750,1},{-4500,16747,1},{-4497,16747,1}, {-4493,16743,1},{-4488,16745,1},{-4483,16742,1},{-4487,16732,1},{-4490,16732,1}, {-4490,16727,1},{-4495,16720,1},{-4497,16720,1},{-4503,16735,1},{-4498,16718,1}, {-4500,16715,1},{-4503,16715,1},{-4507,16718,1},{-4510,16727,1},{-4510,16720,1}, {-4513,16718,1},{-4510,16718,1},{-4503,16712,1},{-4510,16707,1},{-4518,16718,1}, {-4518,16713,1},{-4513,16708,1},{-4512,16705,1},{-4515,16700,1},{-4520,16700,1}, {-4522,16703,1},{-4528,16705,1},{-4528,16713,1},{-4525,16725,1},{-4528,16722,1}, {-4532,16725,1},{-4532,16730,1},{-4533,16727,1},{-4532,16722,1},{-4528,16718,1}, {-4532,16707,1},{-4533,16705,1},{-4540,16715,1},{-4548,16722,1},{-4547,16717,1}, {-4540,16713,1},{-4538,16708,1},{-4543,16707,1},{-4543,16702,1},{-4542,16702,1}, {-4540,16705,1},{-4537,16705,1},{-4533,16700,1},{-4537,16693,1},{-4535,16693,1}, {-4533,16697,1},{-4530,16690,1},{-4528,16688,1},{-4532,16682,1},{-4537,16680,1}, {-4540,16690,1},{-4538,16692,1},{-4543,16695,1},{-4540,16682,1},{-4542,16677,1}, {-4543,16675,1},{-4547,16673,1},{-4555,16670,1},{-4558,16673,1},{-4555,16690,1}, {-4550,16705,1},{-4552,16705,1},{-4555,16695,1},{-4557,16702,1},{-4558,16700,1}, {-4557,16690,1},{-4558,16685,1},{-4560,16677,1},{-4567,16678,1},{-4565,16688,1}, {-4568,16680,1},{-4573,16678,1},{-4570,16685,1},{-4570,16702,1},{-4572,16700,1}, {-4578,16688,1},{-4580,16667,1},{-4582,16662,1},{-4580,16662,1},{-4580,16653,1}, {-4582,16648,1},{-4582,16647,1},{-4592,16645,1},{-4602,16648,1},{-4598,16652,1}, {-4598,16657,1},{-4597,16663,1},{-4588,16670,1},{-4587,16673,1},{-4588,16675,1}, {-4593,16668,1},{-4595,16673,1},{-4593,16682,1},{-4597,16678,1},{-4597,16673,1}, {-4600,16667,1},{-4608,16662,1},{-4608,16668,1},{-4603,16673,1},{-4608,16675,1}, {-4605,16677,1},{-4605,16678,1},{-4600,16678,1},{-4595,16695,1},{-4598,16688,1}, {-4600,16683,1},{-4612,16675,1},{-4615,16667,1},{-4622,16673,1},{-4623,16682,1}, {-4622,16697,1},{-4625,16710,1},{-4627,16717,1},{-4627,16728,1},{-4625,16733,1}, {-4625,16740,1},{-4622,16742,1},{-4617,16745,1},{-4615,16748,1},{-4618,16770,1}, {-4622,16770,1},{-4628,16778,1},{-4632,16778,1},{-4633,16775,1},{-4635,16778,1}, {-4640,16783,1},{-4638,16788,1},{-4640,16792,1},{-4637,16795,1},{-4638,16807,1}, {-4635,16807,1},{-4633,16818,1},{-4635,16822,1},{-4640,16825,1},{-4648,16832,1}, {-4645,16835,1},{-4642,16835,1},{-4642,16837,1},{-4650,16840,1},{-4652,16835,1}, {-4653,16833,1},{-4653,16832,1},{-4652,16832,1},{-4653,16827,1},{-4655,16828,1}, {-4657,16832,1},{-4658,16832,1},{-4662,16837,1},{-4662,16840,1},{-4655,16835,1}, {-4653,16838,1},{-4657,16842,1},{-4657,16855,1},{-4658,16857,1},{-4660,16855,1}, {-4658,16850,1},{-4657,16850,1},{-4658,16843,1},{-4660,16842,1},{-4662,16850,1}, {-4660,16863,1},{-4655,16862,1},{-4657,16872,1},{-4658,16867,1},{-4658,16868,1}, {-4657,16883,1},{-4667,16888,1},{-4665,16893,1},{-4667,16897,1},{-4668,16900,1}, {-4668,16907,1},{-4663,16907,1},{-4667,16910,1},{-4667,16913,1},{-4665,16917,1}, {-4662,16917,1},{-4663,16920,1},{-4667,16920,1},{-4665,16927,1},{-4663,16933,1}, {-4665,16938,1},{-4662,16942,1},{-4663,16948,1},{-4662,16950,1},{-4660,16948,1}, {-4658,16952,1},{-4657,16958,1},{-4658,16963,1},{-4655,16970,1},{-4650,16975,1}, {-4650,16965,1},{-4648,16970,1},{-4650,16978,1},{-4647,16985,1},{-4638,16985,1}, {-4627,17005,1},{-4622,17010,1},{-4617,17023,1},{-4605,17027,1},{-4597,17035,1}, {-4593,17045,1},{-4592,17070,1},{-4588,17072,1},{-4588,17078,1},{-4580,17078,1}, {-4578,17077,1},{-4585,17070,1},{-4590,17058,1},{-4588,17055,1},{-4582,17067,1}, {-4580,17068,1},{-4577,17077,1},{-4573,17070,1},{-4573,17063,1},{-4572,17062,1}, {-4568,17070,1},{-4565,17072,1},{-4563,17068,1},{-4563,17075,1},{-4560,17077,1}, {-4557,17075,1},{-4558,17078,1},{-4557,17080,1},{-4553,17082,1},{-4550,17085,1}, {-4545,17085,1},{-4540,17092,1},{-4537,17090,1},{-4537,17088,1},{-4535,17087,1}, {-4517,17097,1},{-4497,17117,1},{-4490,17092,1},{-4488,17073,1},{-4485,17067,1}, {-4483,17060,1},{-4480,17053,1},{-4475,17048,1},{-4482,17058,1},{-4483,17068,1}, {-4488,17080,1},{-4493,17118,1},{-4492,17120,1},{-4480,17122,1},{-4478,17117,1}, {-4477,17120,1},{-4473,17122,1},{-4467,17120,1},{-4457,17120,1},{-4455,17117,1}, {-4453,17122,1},{-4448,17125,1},{-4443,17128,1},{-4438,17127,1},{-4430,17135,1}, {-4427,17127,1},{-4427,17120,1},{-4423,17113,1},{-4427,17105,1},{-4425,17107,1}, {-4423,17112,1},{-4420,17107,1},{-4418,17098,1},{-4415,17102,1},{-4412,17102,1}, {-4418,17105,1},{-4425,17122,1},{-4425,17128,1},{-4428,17135,1},{-4427,17140,1}, {-4420,17152,1},{-4417,17147,1},{-4408,17142,1},{-4403,17135,1},{-4402,17135,1}, {-4408,17148,1},{-4417,17155,1},{-4410,17170,1},{-4407,17180,1},{-4395,17178,1}, {-4402,17180,1},{-4407,17185,1},{-4407,17188,1},{-4400,17195,1},{-4390,17220,1}, {-4377,17208,1},{-4372,17195,1},{-4357,17175,1},{-4353,17167,1},{-4342,17158,1}, {-4338,17153,1},{-4338,17148,1},{-4335,17145,1},{-4332,17135,1},{-4332,17118,1}, {-4333,17115,1},{-4330,17105,1},{-4330,17095,1},{-4328,17098,1},{-4330,17108,1}, {-4330,17113,1},{-4328,17120,1},{-4322,17115,1},{-4328,17125,1},{-4328,17135,1}, {-4328,17138,1},{-4333,17145,1},{-4330,17143,1},{-4327,17140,1},{-4320,17143,1}, {-4318,17137,1},{-4303,17132,1},{-4305,17135,1},{-4315,17140,1},{-4317,17143,1}, {-4322,17145,1},{-4318,17152,1},{-4315,17148,1},{-4313,17150,1},{-4318,17155,1}, {-4323,17152,1},{-4325,17142,1},{-4330,17145,1},{-4335,17148,1},{-4338,17155,1}, {-4343,17163,1},{-4352,17167,1},{-4355,17175,1},{-4368,17193,1},{-4378,17217,1}, {-4388,17227,1},{-4387,17240,1},{-4377,17238,1},{-4373,17243,1},{-4372,17248,1}, {-4373,17252,1},{-4377,17255,1},{-4377,17262,1},{-4378,17265,1},{-4382,17248,1}, {-4383,17242,1},{-4385,17242,1},{-4382,17270,1},{-4380,17275,1},{-4383,17273,1}, {-4385,17277,1},{-4390,17287,1},{-4392,17297,1},{-4383,17292,1},{-4378,17293,1}, {-4377,17292,1},{-4375,17295,1},{-4377,17297,1},{-4388,17300,1},{-4388,17302,1}, {-4388,17303,1},{-4387,17303,1},{-4387,17307,1},{-4383,17308,1},{-4385,17310,1}, {-4383,17312,1},{-4370,17310,1},{-4365,17307,1},{-4368,17303,1},{-4365,17298,1}, {-4365,17297,1},{-4370,17293,1},{-4363,17293,1},{-4362,17290,1},{-4367,17287,1}, {-4367,17285,1},{-4363,17283,1},{-4363,17277,1},{-4367,17270,1},{-4365,17268,1}, {-4363,17268,1},{-4362,17273,1},{-4360,17283,1},{-4358,17273,1},{-4357,17275,1}, {-4357,17278,1},{-4343,17273,1},{-4347,17262,1},{-4348,17243,1},{-4348,17225,1}, {-4342,17212,1},{-4330,17197,1},{-4330,17200,1},{-4337,17207,1},{-4338,17212,1}, {-4345,17222,1},{-4345,17238,1},{-4345,17262,1},{-4340,17270,1},{-4340,17273,1}, {-4330,17275,1},{-4330,17268,1},{-4330,17253,1},{-4327,17245,1},{-4328,17240,1}, {-4325,17230,1},{-4327,17240,1},{-4325,17247,1},{-4320,17247,1},{-4320,17248,1}, {-4325,17248,1},{-4327,17250,1},{-4328,17263,1},{-4327,17275,1},{-4318,17280,1}, {-4315,17283,1},{-4310,17293,1},{-4307,17310,1},{-4300,17317,1},{-4298,17323,1}, {-4295,17328,1},{-4293,17330,1},{-4292,17333,1},{-4287,17332,1},{-4282,17337,1}, {-4265,17347,1},{-4263,17345,1},{-4257,17353,1},{-4252,17353,1},{-4248,17357,1}, {-4242,17365,1},{-4243,17372,1},{-4240,17370,1},{-4237,17372,1},{-4233,17373,1}, {-4233,17378,1},{-4230,17380,1},{-4220,17393,1},{-4215,17387,1},{-4210,17387,1}, {-4210,17388,1},{-4215,17388,1},{-4217,17395,1},{-4210,17397,1},{-4203,17402,1}, {-4183,17423,1},{-4173,17428,1},{-4173,17425,1},{-4172,17422,1},{-4168,17420,1}, {-4163,17418,1},{-4168,17410,1},{-4168,17402,1},{-4672,16800,129},{-4680,16805,1}, {-4683,16813,1},{-4687,16815,1},{-4687,16818,1},{-4690,16817,1},{-4690,16820,1}, {-4690,16807,1},{-4690,16808,1},{-4688,16802,1},{-4690,16802,1},{-4693,16802,1}, {-4697,16797,1},{-4697,16800,1},{-4693,16805,1},{-4697,16815,1},{-4700,16813,1}, {-4697,16823,1},{-4700,16827,1},{-4705,16823,1},{-4705,16820,1},{-4708,16825,1}, {-4707,16822,1},{-4708,16818,1},{-4712,16818,1},{-4710,16815,1},{-4712,16815,1}, {-4712,16800,1},{-4718,16788,1},{-4717,16785,1},{-4717,16778,1},{-4713,16777,1}, {-4717,16772,1},{-4718,16772,1},{-4717,16770,1},{-4718,16768,1},{-4722,16762,1}, {-4720,16772,1},{-4722,16772,1},{-4725,16770,1},{-4727,16768,1},{-4725,16767,1}, {-4723,16767,1},{-4725,16763,1},{-4727,16760,1},{-4727,16752,1},{-4720,16753,1}, {-4715,16763,1},{-4715,16762,1},{-4707,16763,1},{-4703,16768,1},{-4705,16773,1}, {-4697,16773,1},{-4695,16778,1},{-4692,16782,1},{-4687,16780,1},{-4682,16775,1}, {-4678,16777,1},{-4675,16775,1},{-4670,16777,1},{-4668,16780,1},{-4670,16787,1}, {-4668,16792,1},{-4670,16797,1},{-4673,16802,1},{-3968,17693,129},{-3962,17697,1}, {-3967,17703,1},{-3967,17712,1},{-3973,17707,1},{-3977,17702,1},{-3982,17700,1}, {-3985,17702,1},{-3988,17697,1},{-4003,17690,1},{-4008,17690,1},{-4010,17687,1}, {-4013,17687,1},{-4023,17680,1},{-4027,17675,1},{-4025,17672,1},{-4027,17668,1}, {-4030,17667,1},{-4028,17668,1},{-4030,17670,1},{-4040,17663,1},{-4048,17662,1}, {-4050,17660,1},{-4048,17653,1},{-4050,17653,1},{-4060,17645,1},{-4060,17642,1}, {-4067,17638,1},{-4070,17635,1},{-4080,17628,1},{-4092,17623,1},{-4098,17613,1}, {-4115,17607,1},{-4125,17595,1},{-4140,17575,1},{-4145,17562,1},{-4147,17560,1}, {-4157,17543,1},{-4157,17537,1},{-4162,17532,1},{-4162,17523,1},{-4153,17518,1}, {-4143,17518,1},{-4138,17505,1},{-4140,17500,1},{-4145,17492,1},{-4142,17487,1}, {-4138,17488,1},{-4135,17487,1},{-4128,17490,1},{-4123,17490,1},{-4123,17482,1}, {-4125,17478,1},{-4128,17477,1},{-4128,17482,1},{-4132,17483,1},{-4133,17482,1}, {-4133,17477,1},{-4135,17475,1},{-4133,17465,1},{-4127,17460,1},{-4123,17462,1}, {-4123,17467,1},{-4120,17472,1},{-4108,17482,1},{-4108,17485,1},{-4112,17485,1}, {-4110,17487,1},{-4103,17485,1},{-4098,17493,1},{-4090,17497,1},{-4072,17513,1}, {-4062,17517,1},{-4047,17520,1},{-4047,17522,1},{-4043,17522,1},{-4030,17523,1}, {-4030,17528,1},{-4028,17532,1},{-4025,17535,1},{-4020,17535,1},{-4027,17532,1}, {-4028,17527,1},{-4027,17522,1},{-4020,17520,1},{-4010,17515,1},{-4002,17507,1}, {-4000,17507,1},{-4002,17508,1},{-3998,17505,1},{-3992,17495,1},{-3987,17483,1}, {-3985,17478,1},{-3987,17475,1},{-3987,17472,1},{-3983,17468,1},{-3982,17455,1}, {-3973,17442,1},{-3963,17435,1},{-3962,17432,1},{-3958,17422,1},{-3957,17408,1}, {-3955,17397,1},{-3942,17380,1},{-3935,17377,1},{-3927,17375,1},{-3918,17378,1}, {-3915,17383,1},{-3910,17395,1},{-3898,17422,1},{-3897,17440,1},{-3893,17445,1}, {-3883,17458,1},{-3872,17462,1},{-3870,17463,1},{-3842,17465,1},{-3838,17468,1}, {-3830,17472,1},{-3818,17472,1},{-3812,17470,1},{-3812,17477,1},{-3815,17483,1}, {-3815,17487,1},{-3813,17483,1},{-3812,17485,1},{-3812,17492,1},{-3810,17493,1}, {-3810,17490,1},{-3808,17490,1},{-3807,17487,1},{-3807,17483,1},{-3810,17480,1}, {-3807,17478,1},{-3803,17480,1},{-3803,17485,1},{-3797,17490,1},{-3793,17487,1}, {-3797,17483,1},{-3800,17482,1},{-3800,17478,1},{-3797,17478,1},{-3785,17478,1}, {-3780,17487,1},{-3780,17498,1},{-3778,17495,1},{-3777,17497,1},{-3773,17497,1}, {-3775,17493,1},{-3778,17492,1},{-3777,17485,1},{-3762,17480,1},{-3743,17472,1}, {-3740,17472,1},{-3738,17477,1},{-3733,17480,1},{-3728,17483,1},{-3732,17477,1}, {-3737,17472,1},{-3728,17467,1},{-3707,17455,1},{-3707,17457,1},{-3707,17467,1}, {-3710,17465,1},{-3717,17470,1},{-3723,17472,1},{-3725,17473,1},{-3723,17475,1}, {-3718,17473,1},{-3717,17480,1},{-3715,17472,1},{-3713,17475,1},{-3712,17478,1}, {-3713,17478,1},{-3712,17482,1},{-3707,17487,1},{-3712,17493,1},{-3707,17495,1}, {-3703,17485,1},{-3700,17482,1},{-3702,17478,1},{-3698,17478,1},{-3695,17483,1}, {-3693,17477,1},{-3695,17467,1},{-3698,17462,1},{-3703,17462,1},{-3700,17458,1}, {-3705,17452,1},{-3703,17450,1},{-3677,17440,1},{-3663,17430,1},{-3653,17422,1}, {-3647,17418,1},{-3643,17420,1},{-3648,17420,1},{-3645,17422,1},{-3643,17425,1}, {-3647,17427,1},{-3652,17430,1},{-3655,17435,1},{-3657,17433,1},{-3658,17438,1}, {-3660,17438,1},{-3660,17435,1},{-3662,17437,1},{-3663,17435,1},{-3665,17440,1}, {-3662,17440,1},{-3663,17442,1},{-3665,17442,1},{-3667,17443,1},{-3665,17445,1}, {-3660,17447,1},{-3658,17448,1},{-3658,17447,1},{-3652,17447,1},{-3652,17445,1}, {-3650,17443,1},{-3647,17445,1},{-3643,17447,1},{-3640,17443,1},{-3638,17447,1}, {-3635,17443,1},{-3640,17438,1},{-3638,17430,1},{-3635,17427,1},{-3633,17428,1}, {-3632,17430,1},{-3633,17433,1},{-3633,17438,1},{-3628,17443,1},{-3625,17452,1}, {-3623,17450,1},{-3628,17442,1},{-3627,17442,1},{-3630,17433,1},{-3628,17430,1}, {-3627,17430,1},{-3627,17433,1},{-3628,17435,1},{-3627,17437,1},{-3625,17437,1}, {-3620,17442,1},{-3615,17442,1},{-3617,17445,1},{-3615,17445,1},{-3613,17440,1}, {-3617,17440,1},{-3622,17437,1},{-3623,17433,1},{-3620,17435,1},{-3620,17432,1}, {-3618,17430,1},{-3618,17427,1},{-3612,17428,1},{-3612,17427,1},{-3615,17423,1}, {-3612,17423,1},{-3612,17422,1},{-3615,17418,1},{-3615,17420,1},{-3618,17418,1}, {-3618,17425,1},{-3623,17425,1},{-3622,17428,1},{-3623,17432,1},{-3627,17427,1}, {-3623,17418,1},{-3618,17415,1},{-3617,17412,1},{-3617,17407,1},{-3617,17405,1}, {-3612,17400,1},{-3605,17398,1},{-3597,17390,1},{-3592,17395,1},{-3587,17392,1}, {-3588,17390,1},{-3592,17393,1},{-3595,17388,1},{-3597,17387,1},{-3607,17397,1}, {-3613,17400,1},{-3620,17408,1},{-3627,17413,1},{-3628,17418,1},{-3630,17415,1}, {-3632,17418,1},{-3635,17420,1},{-3638,17418,1},{-3642,17408,1},{-3640,17407,1}, {-3635,17405,1},{-3627,17402,1},{-3615,17392,1},{-3605,17383,1},{-3572,17355,1}, {-3557,17340,1},{-3548,17345,1},{-3543,17345,1},{-3542,17350,1},{-3547,17353,1}, {-3543,17353,1},{-3540,17355,1},{-3543,17357,1},{-3540,17357,1},{-3537,17360,1}, {-3538,17362,1},{-3532,17365,1},{-3533,17362,1},{-3530,17360,1},{-3532,17358,1}, {-3533,17358,1},{-3532,17357,1},{-3528,17357,1},{-3532,17355,1},{-3535,17357,1}, {-3537,17357,1},{-3535,17348,1},{-3537,17350,1},{-3538,17350,1},{-3540,17347,1}, {-3538,17343,1},{-3538,17342,1},{-3542,17342,1},{-3543,17338,1},{-3545,17340,1}, {-3553,17338,1},{-3538,17327,1},{-3535,17332,1},{-3535,17328,1},{-3530,17332,1}, {-3533,17327,1},{-3537,17325,1},{-3533,17320,1},{-3530,17325,1},{-3528,17325,1}, {-3530,17320,1},{-3528,17315,1},{-3522,17308,1},{-3518,17310,1},{-3518,17315,1}, {-3515,17318,1},{-3505,17320,1},{-3498,17318,1},{-3485,17307,1},{-3480,17303,1}, {-3458,17283,1},{-3452,17273,1},{-3450,17272,1},{-3448,17267,1},{-3447,17270,1}, {-3442,17268,1},{-3442,17270,1},{-3443,17273,1},{-3445,17283,1},{-3442,17290,1}, {-3442,17302,1},{-3440,17305,1},{-3442,17307,1},{-3445,17303,1},{-3452,17303,1}, {-3452,17300,1},{-3450,17300,1},{-3450,17298,1},{-3447,17298,1},{-3447,17297,1}, {-3452,17295,1},{-3452,17293,1},{-3455,17292,1},{-3457,17295,1},{-3455,17295,1}, {-3455,17297,1},{-3458,17297,1},{-3457,17300,1},{-3465,17300,1},{-3465,17302,1}, {-3458,17303,1},{-3453,17302,1},{-3455,17303,1},{-3470,17307,1},{-3477,17315,1}, {-3482,17318,1},{-3483,17318,1},{-3478,17312,1},{-3482,17313,1},{-3492,17330,1}, {-3497,17327,1},{-3502,17327,1},{-3502,17328,1},{-3502,17333,1},{-3498,17333,1}, {-3498,17337,1},{-3487,17335,1},{-3485,17342,1},{-3483,17343,1},{-3482,17342,1}, {-3480,17343,1},{-3482,17345,1},{-3485,17345,1},{-3483,17348,1},{-3487,17350,1}, {-3490,17340,1},{-3495,17343,1},{-3498,17347,1},{-3498,17355,1},{-3502,17358,1}, {-3498,17360,1},{-3497,17357,1},{-3493,17358,1},{-3495,17362,1},{-3495,17365,1}, {-3498,17367,1},{-3497,17373,1},{-3498,17373,1},{-3502,17378,1},{-3502,17377,1}, {-3505,17375,1},{-3507,17372,1},{-3510,17375,1},{-3510,17378,1},{-3507,17378,1}, {-3505,17380,1},{-3502,17380,1},{-3500,17388,1},{-3502,17390,1},{-3503,17388,1}, {-3507,17395,1},{-3512,17398,1},{-3513,17403,1},{-3512,17410,1},{-3517,17415,1}, {-3518,17415,1},{-3520,17410,1},{-3515,17408,1},{-3517,17408,1},{-3515,17405,1}, {-3517,17402,1},{-3520,17405,1},{-3522,17400,1},{-3523,17402,1},{-3523,17410,1}, {-3528,17408,1},{-3532,17413,1},{-3537,17413,1},{-3537,17415,1},{-3533,17417,1}, {-3535,17420,1},{-3532,17420,1},{-3533,17423,1},{-3533,17425,1},{-3530,17423,1}, {-3530,17417,1},{-3528,17415,1},{-3527,17418,1},{-3528,17425,1},{-3527,17425,1}, {-3527,17428,1},{-3523,17430,1},{-3520,17437,1},{-3530,17433,1},{-3533,17435,1}, {-3533,17440,1},{-3535,17438,1},{-3537,17442,1},{-3538,17440,1},{-3537,17438,1}, {-3535,17437,1},{-3533,17433,1},{-3543,17440,1},{-3543,17447,1},{-3550,17450,1}, {-3550,17447,1},{-3552,17447,1},{-3553,17450,1},{-3560,17458,1},{-3565,17457,1}, {-3565,17447,1},{-3567,17450,1},{-3567,17452,1},{-3568,17452,1},{-3568,17455,1}, {-3572,17455,1},{-3572,17452,1},{-3575,17455,1},{-3575,17458,1},{-3580,17458,1}, {-3585,17460,1},{-3585,17455,1},{-3582,17455,1},{-3582,17452,1},{-3578,17452,1}, {-3578,17448,1},{-3577,17448,1},{-3578,17445,1},{-3577,17442,1},{-3580,17438,1}, {-3575,17438,1},{-3572,17435,1},{-3583,17435,1},{-3585,17437,1},{-3585,17438,1}, {-3582,17440,1},{-3582,17448,1},{-3585,17453,1},{-3590,17448,1},{-3600,17450,1}, {-3603,17457,1},{-3605,17462,1},{-3607,17463,1},{-3610,17462,1},{-3613,17463,1}, {-3612,17465,1},{-3613,17465,1},{-3625,17475,1},{-3628,17482,1},{-3632,17482,1}, {-3630,17480,1},{-3633,17480,1},{-3635,17488,1},{-3637,17485,1},{-3635,17477,1}, {-3635,17475,1},{-3643,17478,1},{-3648,17478,1},{-3643,17475,1},{-3642,17472,1}, {-3647,17473,1},{-3648,17472,1},{-3650,17473,1},{-3653,17472,1},{-3657,17472,1}, {-3660,17472,1},{-3662,17478,1},{-3662,17487,1},{-3665,17477,1},{-3663,17472,1}, {-3668,17477,1},{-3682,17482,1},{-3680,17478,1},{-3682,17473,1},{-3680,17473,1}, {-3678,17472,1},{-3677,17470,1},{-3678,17462,1},{-3682,17462,1},{-3680,17465,1}, {-3680,17468,1},{-3683,17465,1},{-3685,17468,1},{-3690,17468,1},{-3690,17470,1}, {-3688,17470,1},{-3685,17477,1},{-3685,17482,1},{-3685,17485,1},{-3687,17490,1}, {-3690,17488,1},{-3692,17487,1},{-3697,17488,1},{-3683,17493,1},{-3690,17497,1}, {-3693,17497,1},{-3693,17502,1},{-3688,17500,1},{-3687,17502,1},{-3690,17508,1}, {-3697,17508,1},{-3697,17510,1},{-3695,17517,1},{-3695,17520,1},{-3693,17523,1}, {-3697,17528,1},{-3702,17532,1},{-3715,17532,1},{-3722,17537,1},{-3723,17540,1}, {-3722,17548,1},{-3718,17555,1},{-3718,17557,1},{-3722,17557,1},{-3725,17558,1}, {-3725,17560,1},{-3725,17562,1},{-3723,17560,1},{-3715,17558,1},{-3712,17555,1}, {-3700,17555,1},{-3693,17550,1},{-3692,17547,1},{-3687,17543,1},{-3687,17552,1}, {-3685,17552,1},{-3683,17545,1},{-3683,17550,1},{-3682,17547,1},{-3678,17553,1}, {-3677,17553,1},{-3677,17550,1},{-3673,17550,1},{-3672,17547,1},{-3663,17550,1}, {-3663,17547,1},{-3660,17543,1},{-3657,17537,1},{-3648,17537,1},{-3648,17543,1}, {-3652,17547,1},{-3653,17550,1},{-3652,17552,1},{-3652,17553,1},{-3657,17557,1}, {-3660,17555,1},{-3662,17560,1},{-3667,17562,1},{-3667,17557,1},{-3670,17558,1}, {-3670,17562,1},{-3677,17562,1},{-3675,17568,1},{-3673,17567,1},{-3673,17575,1}, {-3670,17580,1},{-3673,17582,1},{-3672,17585,1},{-3675,17585,1},{-3675,17580,1}, {-3678,17578,1},{-3680,17573,1},{-3685,17570,1},{-3687,17572,1},{-3688,17572,1}, {-3690,17575,1},{-3687,17577,1},{-3683,17575,1},{-3683,17580,1},{-3682,17580,1}, {-3683,17583,1},{-3685,17585,1},{-3690,17587,1},{-3700,17590,1},{-3707,17587,1}, {-3703,17590,1},{-3707,17592,1},{-3713,17588,1},{-3715,17592,1},{-3720,17592,1}, {-3717,17588,1},{-3722,17588,1},{-3723,17590,1},{-3725,17588,1},{-3727,17593,1}, {-3742,17597,1},{-3745,17600,1},{-3747,17600,1},{-3745,17598,1},{-3747,17597,1}, {-3748,17603,1},{-3752,17607,1},{-3762,17617,1},{-3760,17607,1},{-3758,17607,1}, {-3758,17610,1},{-3752,17602,1},{-3753,17593,1},{-3755,17595,1},{-3758,17595,1}, {-3758,17600,1},{-3763,17600,1},{-3763,17607,1},{-3767,17608,1},{-3768,17612,1}, {-3770,17613,1},{-3767,17615,1},{-3767,17618,1},{-3772,17620,1},{-3772,17625,1}, {-3763,17620,1},{-3763,17623,1},{-3770,17630,1},{-3773,17640,1},{-3775,17645,1}, {-3777,17652,1},{-3787,17668,1},{-3797,17712,1},{-3798,17713,1},{-3800,17707,1}, {-3802,17713,1},{-3802,17717,1},{-3798,17715,1},{-3800,17720,1},{-3800,17725,1}, {-3802,17728,1},{-3798,17730,1},{-3798,17742,1},{-3797,17747,1},{-3788,17760,1}, {-3782,17762,1},{-3780,17765,1},{-3777,17768,1},{-3773,17768,1},{-3768,17773,1}, {-3765,17787,1},{-3762,17790,1},{-3760,17800,1},{-3758,17802,1},{-3755,17798,1}, {-3755,17815,1},{-3755,17818,1},{-3757,17828,1},{-3757,17830,1},{-3760,17830,1}, {-3763,17835,1},{-3765,17850,1},{-3770,17855,1},{-3772,17857,1},{-3778,17852,1}, {-3778,17848,1},{-3783,17848,1},{-3788,17842,1},{-3795,17840,1},{-3802,17835,1}, {-3810,17838,1},{-3813,17833,1},{-3820,17835,1},{-3827,17832,1},{-3832,17837,1}, {-3840,17832,1},{-3842,17835,1},{-3843,17835,1},{-3847,17830,1},{-3853,17830,1}, {-3858,17822,1},{-3862,17820,1},{-3872,17807,1},{-3872,17805,1},{-3868,17803,1}, {-3868,17798,1},{-3870,17793,1},{-3877,17797,1},{-3883,17793,1},{-3905,17792,1}, {-3907,17788,1},{-3908,17788,1},{-3910,17797,1},{-3913,17800,1},{-3917,17795,1}, {-3925,17792,1},{-3928,17787,1},{-3925,17785,1},{-3920,17782,1},{-3912,17787,1}, {-3908,17785,1},{-3910,17782,1},{-3908,17777,1},{-3907,17763,1},{-3908,17743,1}, {-3907,17742,1},{-3920,17705,1},{-3925,17703,1},{-3935,17693,1},{-3942,17690,1}, {-3945,17690,1},{-3950,17695,1},{-3960,17695,1},{-3965,17693,1},{-3968,17695,1}, {-3980,14800,129},{-3987,14805,1},{-3992,14813,1},{-3998,14817,1},{-4002,14822,1}, {-4002,14827,1},{-4003,14830,1},{-4012,14830,1},{-4015,14823,1},{-4017,14822,1}, {-4015,14830,1},{-4017,14830,1},{-4020,14830,1},{-4018,14827,1},{-4020,14827,1}, {-4025,14832,1},{-4027,14830,1},{-4027,14820,1},{-4028,14818,1},{-4030,14812,1}, {-4030,14805,1},{-4027,14802,1},{-4025,14802,1},{-4022,14803,1},{-4017,14800,1}, {-4013,14795,1},{-4008,14792,1},{-4008,14788,1},{-4008,14787,1},{-4000,14790,1}, {-3995,14790,1},{-3993,14782,1},{-3990,14775,1},{-3983,14783,1},{-3978,14787,1}, {-3978,14790,1},{-3977,14793,1},{-3980,14800,1},{-4317,14577,129},{-4307,14567,1}, {-4302,14567,1},{-4295,14558,1},{-4297,14548,1},{-4293,14548,1},{-4290,14545,1}, {-4283,14545,1},{-4282,14542,1},{-4277,14542,1},{-4265,14535,1},{-4265,14533,1}, {-4262,14532,1},{-4262,14525,1},{-4260,14525,1},{-4257,14528,1},{-4253,14525,1}, {-4248,14525,1},{-4247,14522,1},{-4238,14523,1},{-4220,14518,1},{-4227,14527,1}, {-4228,14532,1},{-4233,14533,1},{-4238,14545,1},{-4247,14545,1},{-4250,14547,1}, {-4248,14548,1},{-4243,14550,1},{-4243,14555,1},{-4238,14553,1},{-4237,14557,1}, {-4237,14553,1},{-4232,14552,1},{-4232,14548,1},{-4235,14547,1},{-4232,14542,1}, {-4217,14535,1},{-4217,14532,1},{-4222,14527,1},{-4220,14523,1},{-4213,14527,1}, {-4205,14525,1},{-4195,14517,1},{-4177,14498,1},{-4173,14493,1},{-4173,14490,1}, {-4167,14492,1},{-4153,14485,1},{-4145,14475,1},{-4142,14475,1},{-4140,14477,1}, {-4137,14477,1},{-4130,14470,1},{-4123,14467,1},{-4107,14465,1},{-4103,14460,1}, {-4095,14460,1},{-4093,14463,1},{-4092,14467,1},{-4090,14468,1},{-4078,14468,1}, {-4077,14465,1},{-4068,14470,1},{-4068,14473,1},{-4075,14473,1},{-4075,14478,1}, {-4075,14482,1},{-4078,14483,1},{-4078,14497,1},{-4083,14510,1},{-4080,14512,1}, {-4082,14517,1},{-4082,14522,1},{-4080,14525,1},{-4075,14525,1},{-4073,14527,1}, {-4078,14530,1},{-4083,14528,1},{-4085,14532,1},{-4087,14542,1},{-4088,14545,1}, {-4087,14552,1},{-4093,14557,1},{-4097,14570,1},{-4103,14580,1},{-4105,14590,1}, {-4105,14598,1},{-4112,14607,1},{-4117,14623,1},{-4118,14637,1},{-4115,14655,1}, {-4117,14655,1},{-4122,14658,1},{-4125,14662,1},{-4117,14660,1},{-4115,14663,1}, {-4112,14665,1},{-4112,14672,1},{-4110,14673,1},{-4113,14680,1},{-4117,14680,1}, {-4120,14682,1},{-4118,14687,1},{-4118,14690,1},{-4123,14690,1},{-4127,14695,1}, {-4130,14697,1},{-4135,14702,1},{-4137,14707,1},{-4140,14710,1},{-4142,14712,1}, {-4140,14713,1},{-4138,14712,1},{-4135,14710,1},{-4130,14700,1},{-4127,14700,1}, {-4123,14695,1},{-4118,14695,1},{-4115,14690,1},{-4115,14683,1},{-4107,14680,1}, {-4103,14693,1},{-4100,14702,1},{-4103,14717,1},{-4097,14730,1},{-4097,14735,1}, {-4102,14742,1},{-4102,14745,1},{-4098,14752,1},{-4090,14757,1},{-4085,14767,1}, {-4087,14772,1},{-4087,14775,1},{-4090,14782,1},{-4090,14790,1},{-4082,14795,1}, {-4077,14793,1},{-4075,14802,1},{-4080,14812,1},{-4082,14813,1},{-4085,14813,1}, {-4087,14818,1},{-4085,14823,1},{-4090,14825,1},{-4097,14835,1},{-4098,14837,1}, {-4102,14835,1},{-4107,14828,1},{-4108,14830,1},{-4120,14830,1},{-4128,14833,1}, {-4130,14830,1},{-4133,14830,1},{-4132,14838,1},{-4147,14830,1},{-4153,14832,1}, {-4160,14837,1},{-4165,14833,1},{-4173,14833,1},{-4183,14830,1},{-4190,14835,1}, {-4203,14832,1},{-4208,14837,1},{-4217,14835,1},{-4218,14838,1},{-4225,14833,1}, {-4227,14832,1},{-4227,14828,1},{-4218,14828,1},{-4217,14827,1},{-4212,14827,1}, {-4205,14822,1},{-4200,14823,1},{-4202,14818,1},{-4205,14817,1},{-4208,14815,1}, {-4210,14820,1},{-4212,14812,1},{-4218,14810,1},{-4230,14802,1},{-4233,14805,1}, {-4238,14802,1},{-4243,14802,1},{-4250,14802,1},{-4253,14795,1},{-4253,14792,1}, {-4253,14790,1},{-4255,14790,1},{-4260,14795,1},{-4268,14797,1},{-4273,14795,1}, {-4277,14788,1},{-4287,14783,1},{-4287,14790,1},{-4283,14788,1},{-4282,14792,1}, {-4283,14795,1},{-4283,14798,1},{-4287,14800,1},{-4293,14800,1},{-4298,14797,1}, {-4308,14800,1},{-4308,14798,1},{-4310,14800,1},{-4313,14798,1},{-4318,14798,1}, {-4317,14792,1},{-4310,14788,1},{-4315,14787,1},{-4320,14780,1},{-4318,14775,1}, {-4313,14770,1},{-4308,14775,1},{-4307,14763,1},{-4298,14765,1},{-4295,14768,1}, {-4293,14767,1},{-4292,14768,1},{-4295,14777,1},{-4297,14773,1},{-4302,14778,1}, {-4300,14788,1},{-4295,14782,1},{-4290,14782,1},{-4288,14780,1},{-4287,14775,1}, {-4288,14767,1},{-4285,14768,1},{-4285,14762,1},{-4283,14760,1},{-4285,14755,1}, {-4288,14753,1},{-4290,14755,1},{-4293,14753,1},{-4295,14757,1},{-4298,14752,1}, {-4302,14745,1},{-4300,14742,1},{-4295,14740,1},{-4295,14742,1},{-4295,14743,1}, {-4300,14745,1},{-4297,14748,1},{-4293,14747,1},{-4290,14748,1},{-4288,14740,1}, {-4280,14735,1},{-4278,14730,1},{-4280,14730,1},{-4283,14735,1},{-4292,14738,1}, {-4293,14735,1},{-4300,14735,1},{-4305,14728,1},{-4308,14730,1},{-4313,14727,1}, {-4322,14727,1},{-4325,14722,1},{-4322,14713,1},{-4327,14710,1},{-4330,14703,1}, {-4332,14708,1},{-4335,14708,1},{-4340,14703,1},{-4340,14698,1},{-4342,14698,1}, {-4343,14700,1},{-4348,14697,1},{-4350,14690,1},{-4352,14690,1},{-4355,14693,1}, {-4360,14685,1},{-4357,14683,1},{-4357,14678,1},{-4360,14672,1},{-4352,14662,1}, {-4345,14658,1},{-4350,14657,1},{-4352,14652,1},{-4352,14642,1},{-4348,14637,1}, {-4352,14630,1},{-4347,14628,1},{-4347,14625,1},{-4347,14623,1},{-4352,14622,1}, {-4348,14617,1},{-4352,14613,1},{-4353,14605,1},{-4343,14603,1},{-4333,14592,1}, {-4333,14598,1},{-4332,14597,1},{-4332,14598,1},{-4332,14605,1},{-4333,14607,1}, {-4333,14613,1},{-4335,14612,1},{-4335,14613,1},{-4333,14618,1},{-4335,14622,1}, {-4333,14623,1},{-4328,14623,1},{-4328,14615,1},{-4330,14612,1},{-4328,14608,1}, {-4330,14603,1},{-4328,14597,1},{-4315,14592,1},{-4315,14588,1},{-4322,14588,1}, {-4323,14585,1},{-4325,14590,1},{-4327,14590,1},{-4328,14587,1},{-4328,14583,1}, {-4315,14577,1},{-3967,14398,129},{-3968,14405,1},{-3973,14410,1},{-3985,14413,1}, {-3993,14412,1},{-4000,14413,1},{-4008,14408,1},{-4010,14405,1},{-4013,14402,1}, {-4017,14393,1},{-4018,14390,1},{-4013,14385,1},{-4005,14387,1},{-3995,14382,1}, {-3988,14383,1},{-3977,14383,1},{-3972,14388,1},{-3963,14392,1},{-3967,14398,1}, {-3560,13738,129},{-3562,13745,1},{-3560,13750,1},{-3558,13758,1},{-3560,13760,1}, {-3565,13757,1},{-3565,13762,1},{-3567,13762,1},{-3573,13757,1},{-3575,13765,1}, {-3575,13777,1},{-3577,13778,1},{-3582,13773,1},{-3585,13775,1},{-3585,13778,1}, {-3582,13777,1},{-3578,13783,1},{-3573,13790,1},{-3575,13803,1},{-3578,13807,1}, {-3580,13812,1},{-3582,13812,1},{-3590,13805,1},{-3590,13802,1},{-3590,13798,1}, {-3587,13790,1},{-3588,13785,1},{-3588,13777,1},{-3590,13770,1},{-3593,13760,1}, {-3603,13758,1},{-3608,13745,1},{-3608,13740,1},{-3602,13732,1},{-3602,13723,1}, {-3600,13717,1},{-3605,13710,1},{-3605,13695,1},{-3607,13687,1},{-3605,13683,1}, {-3607,13682,1},{-3607,13670,1},{-3598,13667,1},{-3598,13657,1},{-3590,13652,1}, {-3582,13655,1},{-3577,13655,1},{-3575,13675,1},{-3570,13688,1},{-3570,13697,1}, {-3560,13732,1},{-3560,13738,1},{-260,14100,129},{-258,14103,1},{-262,14117,1}, {-262,14122,1},{-265,14127,1},{-267,14128,1},{-267,14132,1},{-270,14132,1}, {-270,14135,1},{-273,14143,1},{-283,14163,1},{-290,14183,1},{-293,14183,1}, {-297,14190,1},{-295,14200,1},{-302,14208,1},{-305,14207,1},{-307,14207,1}, {-305,14213,1},{-307,14215,1},{-310,14220,1},{-310,14223,1},{-312,14228,1}, {-312,14233,1},{-320,14250,1},{-323,14263,1},{-327,14272,1},{-328,14282,1}, {-337,14303,1},{-335,14310,1},{-337,14320,1},{-338,14325,1},{-340,14340,1}, {-343,14352,1},{-347,14357,1},{-355,14362,1},{-358,14368,1},{-355,14372,1}, {-360,14373,1},{-362,14380,1},{-365,14385,1},{-368,14385,1},{-373,14395,1}, {-378,14398,1},{-382,14402,1},{-380,14415,1},{-380,14417,1},{-382,14415,1}, {-382,14413,1},{-383,14413,1},{-385,14418,1},{-383,14420,1},{-385,14422,1}, {-387,14422,1},{-387,14425,1},{-380,14428,1},{-382,14452,1},{-388,14455,1}, {-395,14455,1},{-400,14457,1},{-402,14460,1},{-402,14467,1},{-403,14473,1}, {-410,14487,1},{-412,14488,1},{-415,14485,1},{-418,14488,1},{-418,14492,1}, {-422,14497,1},{-422,14498,1},{-425,14500,1},{-428,14500,1},{-428,14502,1}, {-433,14503,1},{-437,14508,1},{-440,14520,1},{-438,14530,1},{-440,14533,1}, {-443,14538,1},{-450,14545,1},{-458,14552,1},{-458,14555,1},{-470,14562,1}, {-477,14568,1},{-483,14580,1},{-487,14582,1},{-493,14578,1},{-502,14578,1}, {-507,14582,1},{-508,14580,1},{-510,14580,1},{-520,14578,1},{-522,14580,1}, {-530,14573,1},{-535,14575,1},{-542,14572,1},{-548,14577,1},{-548,14587,1}, {-552,14588,1},{-548,14593,1},{-548,14598,1},{-550,14598,1},{-553,14615,1}, {-555,14618,1},{-557,14625,1},{-558,14628,1},{-557,14633,1},{-560,14638,1}, {-560,14647,1},{-563,14648,1},{-567,14655,1},{-575,14665,1},{-580,14678,1}, {-583,14680,1},{-585,14682,1},{-583,14688,1},{-583,14692,1},{-590,14697,1}, {-595,14705,1},{-593,14708,1},{-597,14710,1},{-597,14725,1},{-593,14727,1}, {-595,14732,1},{-593,14733,1},{-597,14740,1},{-598,14748,1},{-603,14753,1}, {-607,14758,1},{-618,14768,1},{-627,14772,1},{-630,14778,1},{-633,14783,1}, {-638,14783,1},{-640,14785,1},{-647,14787,1},{-653,14785,1},{-658,14785,1}, {-660,14783,1},{-662,14785,1},{-662,14787,1},{-667,14787,1},{-672,14782,1}, {-673,14760,1},{-675,14757,1},{-673,14742,1},{-675,14733,1},{-673,14725,1}, {-675,14720,1},{-672,14715,1},{-672,14708,1},{-673,14705,1},{-675,14697,1}, {-683,14695,1},{-697,14695,1},{-705,14703,1},{-702,14707,1},{-707,14705,1}, {-708,14707,1},{-715,14707,1},{-718,14712,1},{-723,14715,1},{-730,14713,1}, {-730,14715,1},{-733,14713,1},{-733,14715,1},{-738,14715,1},{-742,14717,1}, {-743,14720,1},{-747,14718,1},{-747,14722,1},{-750,14722,1},{-747,14725,1}, {-748,14727,1},{-750,14727,1},{-750,14733,1},{-757,14738,1},{-757,14742,1}, {-760,14743,1},{-760,14747,1},{-763,14750,1},{-768,14750,1},{-770,14758,1}, {-772,14760,1},{-777,14758,1},{-780,14762,1},{-782,14760,1},{-782,14765,1}, {-777,14763,1},{-780,14767,1},{-783,14770,1},{-792,14770,1},{-793,14773,1}, {-795,14775,1},{-793,14778,1},{-795,14782,1},{-793,14785,1},{-793,14788,1}, {-800,14797,1},{-805,14798,1},{-807,14800,1},{-805,14813,1},{-815,14815,1}, {-825,14820,1},{-838,14820,1},{-845,14823,1},{-852,14822,1},{-857,14823,1}, {-862,14830,1},{-862,14835,1},{-865,14840,1},{-867,14845,1},{-873,14848,1}, {-890,14848,1},{-890,14852,1},{-892,14853,1},{-893,14852,1},{-900,14853,1}, {-908,14860,1},{-910,14872,1},{-908,14887,1},{-907,14888,1},{-905,14888,1}, {-903,14890,1},{-907,14902,1},{-905,14903,1},{-903,14907,1},{-902,14908,1}, {-898,14913,1},{-900,14913,1},{-900,14927,1},{-902,14927,1},{-903,14930,1}, {-902,14932,1},{-907,14932,1},{-908,14932,1},{-910,14930,1},{-910,14932,1}, {-912,14928,1},{-912,14933,1},{-915,14933,1},{-918,14928,1},{-918,14927,1}, {-922,14925,1},{-932,14922,1},{-935,14918,1},{-938,14918,1},{-950,14923,1}, {-952,14927,1},{-952,14935,1},{-955,14938,1},{-955,14942,1},{-958,14942,1}, {-957,14945,1},{-960,14943,1},{-960,14945,1},{-960,14952,1},{-958,14953,1}, {-960,14957,1},{-963,14962,1},{-960,14965,1},{-960,14975,1},{-962,14978,1}, {-962,14985,1},{-965,14988,1},{-963,15002,1},{-967,15002,1},{-968,15005,1}, {-972,15005,1},{-973,15002,1},{-975,14998,1},{-977,14992,1},{-978,14977,1}, {-983,14972,1},{-990,14977,1},{-992,14980,1},{-997,14983,1},{-1000,14987,1}, {-1002,14985,1},{-1002,14990,1},{-1005,14992,1},{-1008,14998,1},{-1007,15002,1}, {-1008,15010,1},{-1012,15013,1},{-1010,15018,1},{-1020,15030,1},{-1022,15043,1}, {-1020,15047,1},{-1023,15052,1},{-1020,15055,1},{-1022,15060,1},{-1023,15058,1}, {-1028,15063,1},{-1027,15072,1},{-1027,15078,1},{-1022,15085,1},{-1023,15088,1}, {-1035,15063,1},{-1030,15042,1},{-1032,15037,1},{-1040,15035,1},{-1042,15050,1}, {-1048,15062,1},{-1048,15065,1},{-1057,15068,1},{-1058,15068,1},{-1058,15062,1}, {-1062,15057,1},{-1062,15048,1},{-1065,15047,1},{-1067,15043,1},{-1068,15042,1}, {-1068,15037,1},{-1065,15033,1},{-1070,15025,1},{-1067,15025,1},{-1070,15023,1}, {-1070,15022,1},{-1068,15018,1},{-1065,15018,1},{-1065,15013,1},{-1067,15012,1}, {-1063,15008,1},{-1065,15008,1},{-1062,15005,1},{-1062,15002,1},{-1060,15003,1}, {-1057,15002,1},{-1057,15000,1},{-1060,14998,1},{-1058,14997,1},{-1057,14997,1}, {-1057,14995,1},{-1057,14992,1},{-1055,14990,1},{-1057,14990,1},{-1055,14985,1}, {-1053,14990,1},{-1052,14990,1},{-1052,14987,1},{-1050,14988,1},{-1050,14997,1}, {-1052,14998,1},{-1050,15003,1},{-1047,15005,1},{-1047,15008,1},{-1045,15002,1}, {-1043,14995,1},{-1043,14993,1},{-1048,14993,1},{-1048,14992,1},{-1047,14990,1}, {-1040,14988,1},{-1035,14975,1},{-1035,14958,1},{-1035,14953,1},{-1037,14953,1}, {-1037,14952,1},{-1037,14950,1},{-1033,14950,1},{-1035,14947,1},{-1035,14945,1}, {-1033,14945,1},{-1033,14942,1},{-1030,14940,1},{-1028,14937,1},{-1032,14933,1}, {-1023,14910,1},{-1027,14900,1},{-1028,14897,1},{-1023,14887,1},{-1023,14873,1}, {-1020,14873,1},{-1018,14872,1},{-1017,14877,1},{-1015,14877,1},{-1013,14875,1}, {-1017,14873,1},{-1015,14870,1},{-1010,14868,1},{-1013,14868,1},{-1015,14868,1}, {-1018,14865,1},{-1018,14855,1},{-1018,14852,1},{-1020,14847,1},{-1020,14840,1}, {-1018,14833,1},{-1013,14830,1},{-1013,14827,1},{-1013,14825,1},{-1010,14823,1}, {-1010,14820,1},{-1010,14817,1},{-1008,14817,1},{-1010,14815,1},{-1013,14810,1}, {-1015,14805,1},{-1013,14802,1},{-1017,14798,1},{-1017,14797,1},{-1017,14795,1}, {-1010,14792,1},{-1010,14785,1},{-1008,14788,1},{-1005,14787,1},{-1008,14785,1}, {-1005,14780,1},{-1005,14777,1},{-1010,14772,1},{-1002,14770,1},{-998,14762,1}, {-988,14752,1},{-977,14748,1},{-960,14735,1},{-958,14735,1},{-957,14732,1}, {-953,14730,1},{-950,14725,1},{-952,14723,1},{-953,14725,1},{-955,14723,1}, {-952,14717,1},{-950,14715,1},{-948,14715,1},{-943,14712,1},{-943,14708,1}, {-945,14710,1},{-948,14710,1},{-950,14708,1},{-947,14705,1},{-940,14700,1}, {-930,14698,1},{-927,14695,1},{-928,14692,1},{-928,14690,1},{-925,14692,1}, {-923,14690,1},{-918,14688,1},{-917,14690,1},{-913,14688,1},{-913,14692,1}, {-908,14697,1},{-905,14698,1},{-903,14697,1},{-905,14695,1},{-908,14695,1}, {-910,14692,1},{-912,14688,1},{-905,14677,1},{-903,14663,1},{-900,14658,1}, {-895,14657,1},{-892,14657,1},{-890,14655,1},{-887,14655,1},{-885,14658,1}, {-882,14660,1},{-883,14658,1},{-882,14657,1},{-877,14653,1},{-877,14652,1}, {-872,14652,1},{-862,14643,1},{-858,14638,1},{-853,14633,1},{-843,14627,1}, {-837,14627,1},{-833,14623,1},{-830,14625,1},{-828,14623,1},{-822,14615,1}, {-822,14612,1},{-817,14610,1},{-817,14612,1},{-813,14612,1},{-812,14608,1}, {-808,14610,1},{-805,14598,1},{-805,14588,1},{-800,14580,1},{-797,14577,1}, {-797,14578,1},{-795,14578,1},{-792,14578,1},{-793,14577,1},{-792,14575,1}, {-793,14573,1},{-795,14573,1},{-797,14572,1},{-797,14565,1},{-793,14562,1}, {-795,14543,1},{-792,14538,1},{-787,14532,1},{-787,14523,1},{-782,14518,1}, {-782,14517,1},{-785,14517,1},{-785,14515,1},{-782,14510,1},{-778,14508,1}, {-778,14507,1},{-782,14507,1},{-782,14505,1},{-782,14500,1},{-778,14495,1}, {-780,14493,1},{-778,14490,1},{-778,14488,1},{-775,14483,1},{-770,14487,1}, {-758,14485,1},{-768,14483,1},{-768,14482,1},{-768,14478,1},{-767,14475,1}, {-757,14465,1},{-765,14465,1},{-765,14458,1},{-760,14455,1},{-752,14453,1}, {-750,14452,1},{-752,14452,1},{-757,14452,1},{-762,14450,1},{-767,14453,1}, {-767,14452,1},{-763,14447,1},{-753,14442,1},{-752,14440,1},{-768,14443,1}, {-775,14447,1},{-778,14452,1},{-780,14448,1},{-772,14442,1},{-775,14440,1}, {-775,14437,1},{-768,14437,1},{-762,14432,1},{-763,14430,1},{-768,14433,1}, {-770,14433,1},{-770,14430,1},{-763,14427,1},{-767,14423,1},{-768,14427,1}, {-773,14423,1},{-773,14427,1},{-777,14427,1},{-780,14422,1},{-777,14418,1}, {-777,14412,1},{-772,14402,1},{-770,14392,1},{-763,14382,1},{-750,14377,1}, {-750,14372,1},{-745,14365,1},{-747,14365,1},{-750,14368,1},{-753,14375,1}, {-757,14375,1},{-772,14383,1},{-782,14385,1},{-795,14395,1},{-798,14395,1}, {-800,14393,1},{-798,14390,1},{-793,14387,1},{-793,14382,1},{-797,14383,1}, {-797,14388,1},{-800,14390,1},{-803,14390,1},{-805,14385,1},{-803,14375,1}, {-802,14372,1},{-798,14363,1},{-800,14357,1},{-800,14350,1},{-798,14347,1}, {-792,14343,1},{-792,14337,1},{-793,14343,1},{-800,14347,1},{-803,14355,1}, {-813,14358,1},{-820,14363,1},{-825,14362,1},{-825,14333,1},{-828,14328,1}, {-828,14322,1},{-832,14307,1},{-835,14298,1},{-828,14283,1},{-827,14270,1}, {-830,14258,1},{-833,14250,1},{-833,14243,1},{-830,14240,1},{-820,14238,1}, {-817,14233,1},{-817,14222,1},{-823,14213,1},{-823,14215,1},{-820,14223,1}, {-818,14232,1},{-820,14235,1},{-823,14237,1},{-832,14238,1},{-837,14245,1}, {-837,14252,1},{-832,14263,1},{-833,14277,1},{-837,14283,1},{-842,14290,1}, {-847,14312,1},{-858,14325,1},{-877,14340,1},{-897,14340,1},{-902,14337,1}, {-903,14333,1},{-902,14328,1},{-903,14323,1},{-908,14313,1},{-908,14305,1}, {-918,14293,1},{-933,14263,1},{-933,14257,1},{-927,14250,1},{-923,14243,1}, {-920,14230,1},{-917,14222,1},{-920,14208,1},{-918,14198,1},{-922,14190,1}, {-920,14177,1},{-923,14162,1},{-922,14158,1},{-922,14152,1},{-917,14145,1}, {-915,14138,1},{-915,14130,1},{-922,14122,1},{-923,14117,1},{-923,14112,1}, {-913,14100,1},{-1132,15320,129},{-1135,15325,1},{-1135,15330,1},{-1140,15335,1}, {-1142,15340,1},{-1143,15343,1},{-1145,15348,1},{-1147,15350,1},{-1153,15370,1}, {-1155,15372,1},{-1157,15375,1},{-1160,15378,1},{-1162,15377,1},{-1162,15368,1}, {-1163,15368,1},{-1162,15360,1},{-1165,15357,1},{-1163,15355,1},{-1162,15357,1}, {-1160,15357,1},{-1160,15348,1},{-1155,15347,1},{-1158,15343,1},{-1157,15342,1}, {-1157,15338,1},{-1155,15337,1},{-1150,15338,1},{-1150,15337,1},{-1150,15335,1}, {-1150,15333,1},{-1152,15328,1},{-1150,15328,1},{-1148,15333,1},{-1147,15327,1}, {-1142,15325,1},{-1143,15323,1},{-1140,15323,1},{-1137,15318,1},{-1132,15320,1}, {-933,15050,129},{-938,15060,1},{-943,15067,1},{-942,15075,1},{-940,15075,1}, {-943,15080,1},{-945,15083,1},{-950,15083,1},{-953,15088,1},{-957,15088,1}, {-958,15087,1},{-960,15090,1},{-963,15090,1},{-965,15093,1},{-968,15090,1}, {-967,15088,1},{-968,15087,1},{-972,15085,1},{-970,15083,1},{-967,15085,1}, {-965,15083,1},{-965,15080,1},{-967,15080,1},{-967,15078,1},{-965,15075,1}, {-965,15063,1},{-963,15058,1},{-962,15053,1},{-965,15047,1},{-963,15043,1}, {-962,15043,1},{-957,15052,1},{-955,15052,1},{-952,15050,1},{-948,15047,1}, {-950,15045,1},{-947,15045,1},{-943,15042,1},{-938,15042,1},{-935,15043,1}, {-933,15048,1},{-933,15050,1},{-898,15257,129},{-897,15263,1},{-898,15275,1}, {-897,15280,1},{-898,15282,1},{-903,15285,1},{-905,15290,1},{-905,15293,1}, {-907,15295,1},{-910,15297,1},{-910,15300,1},{-913,15302,1},{-918,15300,1}, {-915,15295,1},{-917,15292,1},{-918,15295,1},{-922,15297,1},{-920,15293,1}, {-922,15290,1},{-923,15283,1},{-917,15275,1},{-917,15273,1},{-920,15275,1}, {-922,15273,1},{-920,15272,1},{-918,15268,1},{-915,15272,1},{-913,15270,1}, {-907,15263,1},{-903,15262,1},{-903,15260,1},{-902,15257,1},{-903,15250,1}, {-898,15253,1},{-898,15257,1},{-415,15218,129},{-417,15222,1},{-423,15225,1}, {-425,15223,1},{-423,15220,1},{-422,15218,1},{-423,15217,1},{-430,15217,1}, {-432,15218,1},{-432,15223,1},{-433,15225,1},{-433,15228,1},{-433,15242,1}, {-442,15240,1},{-445,15237,1},{-452,15235,1},{-462,15240,1},{-468,15240,1}, {-480,15238,1},{-488,15233,1},{-498,15223,1},{-500,15217,1},{-498,15205,1}, {-498,15202,1},{-497,15198,1},{-500,15197,1},{-515,15197,1},{-523,15205,1}, {-523,15207,1},{-530,15213,1},{-537,15215,1},{-542,15212,1},{-545,15210,1}, {-547,15205,1},{-553,15197,1},{-557,15188,1},{-560,15183,1},{-558,15177,1}, {-553,15175,1},{-553,15170,1},{-553,15165,1},{-558,15162,1},{-553,15158,1}, {-553,15147,1},{-560,15145,1},{-562,15147,1},{-563,15152,1},{-568,15152,1}, {-572,15143,1},{-575,15140,1},{-578,15140,1},{-583,15135,1},{-587,15128,1}, {-592,15122,1},{-597,15118,1},{-597,15115,1},{-598,15108,1},{-605,15103,1}, {-602,15098,1},{-603,15092,1},{-607,15088,1},{-603,15085,1},{-602,15082,1}, {-605,15082,1},{-608,15082,1},{-615,15077,1},{-617,15067,1},{-615,15065,1}, {-615,15063,1},{-623,15052,1},{-627,15047,1},{-630,15040,1},{-630,15022,1}, {-628,15022,1},{-625,15018,1},{-630,15010,1},{-628,15008,1},{-627,15005,1}, {-630,15003,1},{-632,15002,1},{-630,15002,1},{-627,14998,1},{-632,14992,1}, {-630,14990,1},{-628,14978,1},{-628,14973,1},{-632,14970,1},{-630,14963,1}, {-627,14957,1},{-622,14957,1},{-622,14955,1},{-612,14948,1},{-607,14933,1}, {-607,14928,1},{-610,14925,1},{-608,14917,1},{-610,14917,1},{-615,14913,1}, {-617,14905,1},{-613,14905,1},{-613,14908,1},{-612,14908,1},{-608,14907,1}, {-607,14903,1},{-605,14905,1},{-602,14905,1},{-603,14903,1},{-602,14902,1}, {-602,14898,1},{-598,14888,1},{-600,14887,1},{-598,14885,1},{-595,14888,1}, {-592,14882,1},{-593,14877,1},{-590,14878,1},{-587,14877,1},{-585,14865,1}, {-582,14863,1},{-582,14860,1},{-585,14858,1},{-583,14855,1},{-580,14852,1}, {-578,14838,1},{-572,14833,1},{-563,14832,1},{-548,14837,1},{-545,14843,1}, {-548,14852,1},{-553,14853,1},{-555,14857,1},{-548,14865,1},{-550,14870,1}, {-550,14873,1},{-553,14878,1},{-555,14885,1},{-553,14885,1},{-550,14888,1}, {-550,14892,1},{-547,14897,1},{-548,14902,1},{-555,14918,1},{-557,14922,1}, {-560,14922,1},{-558,14937,1},{-558,14940,1},{-557,14943,1},{-558,14945,1}, {-557,14947,1},{-558,14950,1},{-555,14952,1},{-553,14957,1},{-552,14967,1}, {-550,14968,1},{-548,14967,1},{-550,14968,1},{-557,14968,1},{-557,14973,1}, {-555,14973,1},{-553,14978,1},{-552,14980,1},{-553,14987,1},{-552,14992,1}, {-548,14995,1},{-542,14998,1},{-540,14995,1},{-535,14992,1},{-530,14993,1}, {-527,14997,1},{-527,15000,1},{-522,15003,1},{-517,15000,1},{-513,15002,1}, {-510,15002,1},{-505,15002,1},{-503,15003,1},{-500,15008,1},{-502,15015,1}, {-505,15020,1},{-507,15020,1},{-512,15017,1},{-515,15007,1},{-517,15007,1}, {-522,15008,1},{-527,15008,1},{-530,15003,1},{-532,15005,1},{-543,15010,1}, {-552,15012,1},{-555,15017,1},{-555,15025,1},{-557,15028,1},{-555,15032,1}, {-547,15042,1},{-545,15048,1},{-548,15058,1},{-555,15062,1},{-553,15073,1}, {-550,15075,1},{-547,15075,1},{-545,15077,1},{-545,15085,1},{-550,15088,1}, {-548,15093,1},{-542,15102,1},{-527,15103,1},{-515,15108,1},{-510,15117,1}, {-498,15127,1},{-495,15135,1},{-490,15137,1},{-495,15148,1},{-492,15153,1}, {-493,15155,1},{-493,15158,1},{-497,15162,1},{-495,15165,1},{-490,15168,1}, {-483,15170,1},{-477,15167,1},{-462,15167,1},{-457,15162,1},{-450,15163,1}, {-447,15162,1},{-443,15160,1},{-440,15155,1},{-437,15155,1},{-432,15152,1}, {-428,15152,1},{-423,15150,1},{-420,15152,1},{-418,15153,1},{-420,15158,1}, {-420,15172,1},{-422,15172,1},{-420,15178,1},{-423,15185,1},{-432,15188,1}, {-433,15197,1},{-433,15200,1},{-427,15203,1},{-425,15203,1},{-422,15200,1}, {-420,15200,1},{-422,15207,1},{-420,15210,1},{-422,15213,1},{-420,15215,1}, {-415,15215,1},{-415,15218,1},{-257,15082,129},{-262,15087,1},{-265,15095,1}, {-268,15097,1},{-270,15103,1},{-275,15107,1},{-275,15108,1},{-280,15118,1}, {-285,15120,1},{-287,15122,1},{-288,15127,1},{-287,15128,1},{-287,15132,1}, {-290,15137,1},{-290,15142,1},{-298,15150,1},{-298,15153,1},{-303,15160,1}, {-305,15167,1},{-313,15173,1},{-315,15175,1},{-313,15178,1},{-317,15178,1}, {-320,15182,1},{-318,15185,1},{-320,15190,1},{-320,15192,1},{-322,15195,1}, {-323,15197,1},{-325,15205,1},{-328,15205,1},{-333,15212,1},{-345,15220,1}, {-355,15237,1},{-358,15237,1},{-360,15240,1},{-367,15243,1},{-367,15247,1}, {-365,15250,1},{-375,15255,1},{-380,15255,1},{-382,15257,1},{-383,15265,1}, {-388,15270,1},{-390,15273,1},{-390,15278,1},{-387,15280,1},{-387,15283,1}, {-397,15285,1},{-398,15287,1},{-400,15290,1},{-400,15295,1},{-405,15297,1}, {-417,15305,1},{-420,15307,1},{-423,15312,1},{-427,15313,1},{-435,15312,1}, {-438,15313,1},{-445,15307,1},{-448,15303,1},{-452,15305,1},{-455,15308,1}, {-460,15308,1},{-463,15303,1},{-468,15303,1},{-472,15300,1},{-477,15298,1}, {-480,15293,1},{-480,15292,1},{-485,15290,1},{-480,15287,1},{-477,15283,1}, {-475,15282,1},{-473,15282,1},{-470,15280,1},{-468,15275,1},{-467,15273,1}, {-458,15272,1},{-457,15270,1},{-445,15267,1},{-443,15268,1},{-437,15270,1}, {-425,15270,1},{-422,15268,1},{-418,15270,1},{-410,15263,1},{-405,15263,1}, {-387,15252,1},{-385,15248,1},{-373,15238,1},{-370,15237,1},{-365,15235,1}, {-363,15232,1},{-357,15228,1},{-357,15225,1},{-348,15215,1},{-347,15195,1}, {-330,15173,1},{-317,15162,1},{-312,15147,1},{-307,15143,1},{-295,15127,1}, {-295,15122,1},{-290,15118,1},{-290,15115,1},{-285,15112,1},{-282,15103,1}, {-278,15100,1},{-277,15093,1},{-278,15083,1},{-277,15075,1},{-273,15073,1}, {-272,15075,1},{-273,15080,1},{-270,15083,1},{-270,15090,1},{-268,15090,1}, {-267,15087,1},{-265,15088,1},{-263,15088,1},{-263,15082,1},{-262,15080,1}, {-258,15082,1},{-257,15080,1},{-257,15082,1},{-247,14995,129},{-248,14998,1}, {-247,15000,1},{-242,15007,1},{-242,15015,1},{-240,15015,1},{-237,15020,1}, {-240,15025,1},{-242,15028,1},{-243,15033,1},{-247,15037,1},{-247,15042,1}, {-248,15045,1},{-255,15045,1},{-255,15047,1},{-260,15045,1},{-265,15047,1}, {-267,15045,1},{-267,15040,1},{-268,15037,1},{-267,15033,1},{-268,15032,1}, {-267,15027,1},{-268,15018,1},{-267,15017,1},{-263,15012,1},{-257,15008,1}, {-252,15005,1},{-250,14997,1},{-248,14995,1},{-247,14995,1},{-543,15470,129}, {-542,15472,1},{-543,15475,1},{-548,15480,1},{-550,15482,1},{-552,15482,1}, {-552,15485,1},{-555,15488,1},{-555,15490,1},{-555,15492,1},{-553,15492,1}, {-555,15502,1},{-557,15503,1},{-555,15505,1},{-555,15507,1},{-558,15507,1}, {-560,15508,1},{-563,15510,1},{-565,15512,1},{-572,15515,1},{-575,15518,1}, {-582,15518,1},{-587,15520,1},{-588,15528,1},{-595,15533,1},{-595,15537,1}, {-600,15540,1},{-612,15543,1},{-618,15550,1},{-618,15555,1},{-622,15557,1}, {-622,15558,1},{-622,15562,1},{-620,15562,1},{-618,15563,1},{-622,15563,1}, {-625,15567,1},{-627,15567,1},{-628,15572,1},{-635,15577,1},{-637,15582,1}, {-648,15588,1},{-652,15592,1},{-663,15592,1},{-672,15597,1},{-678,15595,1}, {-680,15592,1},{-673,15593,1},{-673,15592,1},{-680,15588,1},{-677,15585,1}, {-678,15582,1},{-680,15580,1},{-682,15577,1},{-688,15570,1},{-683,15548,1}, {-682,15545,1},{-675,15538,1},{-673,15533,1},{-667,15530,1},{-653,15517,1}, {-653,15518,1},{-653,15522,1},{-645,15523,1},{-637,15523,1},{-632,15522,1}, {-628,15518,1},{-628,15510,1},{-622,15498,1},{-613,15495,1},{-603,15482,1}, {-600,15482,1},{-595,15475,1},{-588,15475,1},{-585,15475,1},{-577,15470,1}, {-560,15475,1},{-557,15473,1},{-558,15475,1},{-557,15477,1},{-555,15477,1}, {-550,15475,1},{-545,15468,1},{-543,15470,1},{-197,14740,129},{-202,14745,1}, {-207,14743,1},{-207,14733,1},{-205,14735,1},{-205,14732,1},{-208,14730,1}, {-207,14728,1},{-208,14727,1},{-212,14728,1},{-218,14720,1},{-217,14712,1}, {-220,14707,1},{-220,14705,1},{-218,14705,1},{-220,14698,1},{-218,14683,1}, {-217,14682,1},{-217,14680,1},{-212,14675,1},{-212,14672,1},{-213,14668,1}, {-217,14673,1},{-218,14672,1},{-218,14660,1},{-223,14657,1},{-220,14653,1}, {-215,14652,1},{-212,14653,1},{-212,14662,1},{-210,14662,1},{-202,14658,1}, {-200,14658,1},{-202,14662,1},{-197,14665,1},{-198,14668,1},{-197,14672,1}, {-198,14677,1},{-195,14685,1},{-197,14692,1},{-197,14705,1},{-198,14707,1}, {-197,14710,1},{-197,14712,1},{-202,14715,1},{-198,14717,1},{-200,14720,1}, {-203,14740,1},{-205,14742,1},{-200,14742,1},{-197,14738,1},{-197,14740,1}, {1840,12228,129},{1837,12232,1},{1827,12232,1},{1817,12225,1},{1812,12218,1}, {1808,12217,1},{1800,12218,1},{1790,12217,1},{1780,12213,1},{1773,12213,1}, {1770,12215,1},{1760,12217,1},{1735,12225,1},{1735,12228,1},{1733,12232,1}, {1735,12237,1},{1733,12238,1},{1730,12240,1},{1733,12240,1},{1727,12245,1}, {1728,12242,1},{1727,12242,1},{1722,12242,1},{1713,12242,1},{1712,12245,1}, {1713,12252,1},{1710,12253,1},{1698,12247,1},{1688,12245,1},{1680,12243,1}, {1653,12228,1},{1650,12223,1},{1645,12223,1},{1643,12220,1},{1640,12222,1}, {1642,12223,1},{1640,12223,1},{1630,12218,1},{1632,12223,1},{1627,12220,1}, {1623,12220,1},{1613,12208,1},{1608,12207,1},{1603,12200,1},{1610,12202,1}, {1615,12208,1},{1620,12210,1},{1622,12212,1},{1627,12215,1},{1625,12208,1}, {1618,12205,1},{1613,12193,1},{1613,12188,1},{1607,12178,1},{1608,12175,1}, {1602,12168,1},{1597,12165,1},{1593,12158,1},{1587,12155,1},{1582,12155,1}, {1577,12158,1},{1575,12165,1},{1567,12160,1},{1565,12162,1},{1563,12158,1}, {1555,12153,1},{1552,12148,1},{1542,12147,1},{1537,12143,1},{1538,12140,1}, {1538,12138,1},{1533,12138,1},{1528,12138,1},{1522,12142,1},{1518,12148,1}, {1507,12150,1},{1498,12157,1},{1490,12158,1},{1487,12162,1},{1485,12160,1}, {1482,12162,1},{1475,12172,1},{1472,12173,1},{1470,12162,1},{1465,12160,1}, {1440,12167,1},{1433,12173,1},{1428,12173,1},{1423,12175,1},{1418,12173,1}, {1412,12178,1},{1398,12195,1},{1393,12208,1},{1390,12222,1},{1392,12223,1}, {1395,12223,1},{1397,12220,1},{1400,12218,1},{1397,12228,1},{1398,12230,1}, {1400,12230,1},{1402,12232,1},{1402,12230,1},{1403,12228,1},{1410,12220,1}, {1417,12217,1},{1415,12218,1},{1417,12218,1},{1418,12220,1},{1418,12225,1}, {1425,12225,1},{1413,12227,1},{1413,12230,1},{1408,12230,1},{1413,12235,1}, {1417,12233,1},{1420,12233,1},{1420,12235,1},{1422,12235,1},{1422,12237,1}, {1425,12237,1},{1430,12238,1},{1430,12240,1},{1432,12242,1},{1433,12245,1}, {1433,12247,1},{1432,12252,1},{1435,12252,1},{1432,12260,1},{1430,12260,1}, {1432,12262,1},{1430,12262,1},{1428,12265,1},{1430,12267,1},{1428,12268,1}, {1433,12267,1},{1435,12268,1},{1433,12270,1},{1432,12272,1},{1433,12275,1}, {1432,12278,1},{1427,12280,1},{1428,12283,1},{1427,12287,1},{1423,12290,1}, {1420,12290,1},{1420,12293,1},{1410,12302,1},{1410,12303,1},{1407,12305,1}, {1403,12303,1},{1400,12305,1},{1398,12308,1},{1390,12308,1},{1388,12308,1}, {1387,12305,1},{1378,12303,1},{1375,12307,1},{1372,12312,1},{1373,12315,1}, {1372,12322,1},{1375,12327,1},{1380,12330,1},{1385,12330,1},{1390,12328,1}, {1393,12332,1},{1397,12333,1},{1392,12330,1},{1397,12322,1},{1400,12322,1}, {1400,12325,1},{1402,12323,1},{1403,12327,1},{1407,12325,1},{1405,12332,1}, {1407,12330,1},{1407,12333,1},{1410,12333,1},{1408,12335,1},{1405,12337,1}, {1403,12333,1},{1400,12335,1},{1403,12338,1},{1402,12338,1},{1402,12340,1}, {1398,12338,1},{1397,12340,1},{1390,12342,1},{1392,12345,1},{1395,12345,1}, {1395,12348,1},{1392,12348,1},{1392,12355,1},{1388,12363,1},{1388,12370,1}, {1393,12370,1},{1390,12373,1},{1385,12377,1},{1383,12378,1},{1383,12382,1}, {1382,12382,1},{1382,12387,1},{1380,12388,1},{1378,12393,1},{1377,12393,1}, {1375,12397,1},{1372,12397,1},{1373,12393,1},{1373,12392,1},{1373,12387,1}, {1372,12383,1},{1368,12382,1},{1368,12380,1},{1370,12375,1},{1372,12367,1}, {1370,12365,1},{1370,12363,1},{1372,12357,1},{1368,12355,1},{1360,12353,1}, {1357,12353,1},{1357,12357,1},{1350,12362,1},{1348,12367,1},{1338,12373,1}, {1337,12372,1},{1333,12375,1},{1328,12380,1},{1323,12382,1},{1327,12382,1}, {1323,12385,1},{1322,12377,1},{1315,12375,1},{1310,12377,1},{1308,12375,1}, {1307,12375,1},{1305,12378,1},{1307,12380,1},{1315,12388,1},{1310,12395,1}, {1310,12398,1},{1300,12408,1},{1307,12412,1},{1307,12415,1},{1305,12418,1}, {1302,12418,1},{1302,12415,1},{1298,12413,1},{1295,12413,1},{1290,12412,1}, {1288,12413,1},{1282,12415,1},{1267,12413,1},{1263,12408,1},{1260,12410,1}, {1258,12408,1},{1255,12408,1},{1253,12405,1},{1255,12402,1},{1253,12402,1}, {1255,12397,1},{1262,12393,1},{1262,12392,1},{1263,12390,1},{1265,12387,1}, {1272,12383,1},{1278,12385,1},{1282,12383,1},{1283,12380,1},{1283,12383,1}, {1287,12387,1},{1283,12392,1},{1285,12393,1},{1287,12395,1},{1287,12400,1}, {1292,12403,1},{1297,12402,1},{1295,12393,1},{1297,12390,1},{1297,12388,1}, {1292,12387,1},{1290,12385,1},{1290,12383,1},{1288,12383,1},{1287,12378,1}, {1287,12375,1},{1285,12373,1},{1287,12372,1},{1288,12373,1},{1288,12368,1}, {1287,12370,1},{1290,12367,1},{1293,12372,1},{1292,12367,1},{1288,12365,1}, {1290,12360,1},{1293,12355,1},{1295,12352,1},{1303,12343,1},{1305,12340,1}, {1303,12337,1},{1302,12330,1},{1305,12328,1},{1308,12328,1},{1313,12328,1}, {1320,12332,1},{1325,12330,1},{1328,12323,1},{1332,12323,1},{1333,12320,1}, {1342,12318,1},{1345,12315,1},{1345,12313,1},{1350,12305,1},{1352,12297,1}, {1358,12288,1},{1365,12282,1},{1368,12287,1},{1373,12283,1},{1378,12275,1}, {1378,12277,1},{1382,12273,1},{1383,12268,1},{1382,12267,1},{1383,12265,1}, {1387,12265,1},{1390,12258,1},{1393,12257,1},{1392,12255,1},{1393,12257,1}, {1397,12253,1},{1393,12252,1},{1393,12250,1},{1395,12243,1},{1397,12242,1}, {1395,12242,1},{1383,12250,1},{1382,12252,1},{1373,12252,1},{1373,12248,1}, {1372,12248,1},{1365,12250,1},{1358,12255,1},{1353,12263,1},{1352,12263,1}, {1355,12257,1},{1343,12265,1},{1323,12268,1},{1322,12267,1},{1317,12260,1}, {1323,12250,1},{1332,12252,1},{1335,12252,1},{1342,12247,1},{1348,12240,1}, {1353,12238,1},{1355,12233,1},{1358,12232,1},{1360,12228,1},{1358,12227,1}, {1358,12225,1},{1362,12225,1},{1362,12220,1},{1375,12212,1},{1380,12207,1}, {1378,12205,1},{1380,12202,1},{1380,12198,1},{1383,12197,1},{1385,12190,1}, {1388,12187,1},{1390,12183,1},{1393,12180,1},{1395,12175,1},{1395,12172,1}, {1392,12170,1},{1390,12163,1},{1388,12162,1},{1385,12148,1},{1380,12143,1}, {1372,12145,1},{1370,12143,1},{1370,12145,1},{1368,12145,1},{1365,12142,1}, {1367,12138,1},{1365,12137,1},{1360,12128,1},{1363,12115,1},{1362,12108,1}, {1363,12103,1},{1372,12105,1},{1375,12105,1},{1378,12100,1},{1377,12097,1}, {1368,12088,1},{1372,12088,1},{1377,12093,1},{1382,12090,1},{1388,12092,1}, {1390,12088,1},{1393,12073,1},{1392,12070,1},{1390,12070,1},{1385,12072,1}, {1385,12065,1},{1380,12067,1},{1377,12067,1},{1380,12063,1},{1385,12062,1}, {1392,12062,1},{1397,12060,1},{1398,12063,1},{1402,12062,1},{1410,12062,1}, {1413,12058,1},{1415,12060,1},{1417,12058,1},{1418,12060,1},{1420,12058,1}, {1422,12058,1},{1423,12062,1},{1425,12062,1},{1428,12065,1},{1428,12070,1}, {1445,12088,1},{1447,12092,1},{1448,12095,1},{1452,12098,1},{1455,12098,1}, {1460,12095,1},{1463,12095,1},{1472,12090,1},{1473,12085,1},{1477,12083,1}, {1478,12065,1},{1480,12063,1},{1487,12062,1},{1482,12062,1},{1482,12058,1}, {1490,12060,1},{1488,12058,1},{1483,12057,1},{1483,12055,1},{1472,12053,1}, {1467,12058,1},{1453,12060,1},{1448,12060,1},{1443,12055,1},{1443,12048,1}, {1442,12048,1},{1447,12038,1},{1452,12037,1},{1455,12038,1},{1462,12037,1}, {1463,12033,1},{1465,12030,1},{1470,12025,1},{1473,12025,1},{1475,12027,1}, {1477,12025,1},{1480,12028,1},{1483,12028,1},{1483,12027,1},{1485,12025,1}, {1485,12023,1},{1488,12020,1},{1482,12020,1},{1477,12018,1},{1475,12017,1}, {1480,12008,1},{1482,12010,1},{1482,12008,1},{1492,12005,1},{1505,12005,1}, {1518,12002,1},{1523,12000,1},{1527,12002,1},{1542,11988,1},{1545,11990,1}, {1548,11990,1},{1547,11992,1},{1548,11995,1},{1552,11997,1},{1557,11993,1}, {1557,11992,1},{1560,11990,1},{1568,11993,1},{1573,11987,1},{1575,11990,1}, {1580,11988,1},{1583,11990,1},{1585,11990,1},{1595,11983,1},{1595,11982,1}, {1592,11980,1},{1592,11977,1},{1595,11975,1},{1602,11977,1},{1608,11977,1}, {1613,11978,1},{1618,11975,1},{1632,11978,1},{1637,11982,1},{1638,11987,1}, {1638,11992,1},{1633,11992,1},{1623,11990,1},{1622,11997,1},{1618,12002,1}, {1618,12003,1},{1618,12005,1},{1615,12010,1},{1607,12010,1},{1603,12013,1}, {1603,12018,1},{1605,12028,1},{1603,12030,1},{1602,12030,1},{1603,12032,1}, {1605,12032,1},{1607,12037,1},{1607,12032,1},{1615,12040,1},{1623,12038,1}, {1628,12037,1},{1627,12035,1},{1628,12033,1},{1633,12033,1},{1638,12032,1}, {1643,12032,1},{1650,12030,1},{1655,12030,1},{1662,12027,1},{1662,12030,1}, {1665,12030,1},{1672,12032,1},{1678,12032,1},{1683,12032,1},{1685,12037,1}, {1697,12043,1},{1715,12042,1},{1722,12040,1},{1723,12042,1},{1733,12042,1}, {1737,12045,1},{1742,12043,1},{1750,12040,1},{1752,12040,1},{1753,12035,1}, {1757,12033,1},{1768,12035,1},{1770,12040,1},{1773,12042,1},{1778,12038,1}, {1782,12043,1},{1792,12042,1},{1795,12045,1},{1800,12048,1},{1808,12047,1}, {1820,12053,1},{1822,12052,1},{1832,12058,1},{1842,12058,1},{1848,12055,1}, {1853,12060,1},{1855,12062,1},{1853,12067,1},{1855,12073,1},{1857,12077,1}, {1863,12078,1},{1865,12083,1},{1857,12090,1},{1857,12095,1},{1862,12102,1}, {1862,12108,1},{1863,12110,1},{1862,12117,1},{1853,12130,1},{1838,12158,1}, {1832,12165,1},{1835,12163,1},{1837,12163,1},{1828,12185,1},{1827,12193,1}, {1828,12197,1},{1832,12203,1},{1838,12210,1},{1840,12212,1},{1850,12213,1}, {1852,12217,1},{1852,12223,1},{1845,12225,1},{1840,12230,1},{1405,12423,129}, {1403,12425,1},{1395,12427,1},{1393,12430,1},{1390,12430,1},{1393,12433,1}, {1390,12438,1},{1387,12442,1},{1385,12438,1},{1380,12442,1},{1378,12438,1}, {1377,12440,1},{1372,12438,1},{1367,12442,1},{1365,12435,1},{1360,12435,1}, {1355,12433,1},{1360,12428,1},{1358,12422,1},{1353,12420,1},{1352,12418,1}, {1360,12408,1},{1360,12405,1},{1365,12405,1},{1367,12402,1},{1370,12405,1}, {1370,12408,1},{1377,12412,1},{1392,12413,1},{1398,12412,1},{1402,12413,1}, {1407,12413,1},{1407,12418,1},{1410,12420,1},{1405,12423,1},{1258,12327,129}, {1255,12337,1},{1253,12333,1},{1250,12335,1},{1247,12332,1},{1243,12332,1}, {1243,12333,1},{1247,12335,1},{1247,12337,1},{1250,12337,1},{1252,12342,1}, {1245,12350,1},{1245,12355,1},{1243,12357,1},{1238,12360,1},{1237,12358,1}, {1235,12358,1},{1235,12362,1},{1237,12362,1},{1235,12365,1},{1233,12370,1}, {1218,12378,1},{1218,12380,1},{1222,12378,1},{1223,12378,1},{1223,12382,1}, {1220,12385,1},{1220,12387,1},{1220,12388,1},{1197,12405,1},{1195,12405,1}, {1197,12403,1},{1200,12400,1},{1197,12402,1},{1195,12400,1},{1193,12403,1}, {1185,12407,1},{1180,12405,1},{1173,12407,1},{1172,12407,1},{1173,12405,1}, {1180,12400,1},{1187,12392,1},{1187,12388,1},{1192,12385,1},{1190,12383,1}, {1192,12380,1},{1192,12373,1},{1195,12372,1},{1198,12375,1},{1200,12373,1}, {1200,12372,1},{1200,12370,1},{1205,12365,1},{1208,12367,1},{1207,12360,1}, {1210,12360,1},{1215,12358,1},{1220,12353,1},{1220,12350,1},{1220,12343,1}, {1210,12337,1},{1208,12333,1},{1203,12330,1},{1197,12323,1},{1197,12320,1}, {1192,12318,1},{1192,12315,1},{1195,12315,1},{1198,12317,1},{1202,12318,1}, {1213,12322,1},{1212,12323,1},{1213,12323,1},{1215,12325,1},{1217,12327,1}, {1220,12327,1},{1222,12330,1},{1223,12328,1},{1223,12327,1},{1223,12322,1}, {1227,12322,1},{1232,12325,1},{1238,12327,1},{1240,12328,1},{1243,12328,1}, {1245,12323,1},{1258,12323,1},{1258,12327,1},{1352,12037,129},{1352,12045,1}, {1350,12047,1},{1352,12057,1},{1348,12062,1},{1348,12072,1},{1347,12075,1}, {1352,12092,1},{1350,12093,1},{1352,12095,1},{1352,12097,1},{1353,12095,1}, {1352,12098,1},{1350,12095,1},{1343,12102,1},{1340,12105,1},{1342,12112,1}, {1340,12113,1},{1337,12112,1},{1342,12113,1},{1343,12120,1},{1332,12133,1}, {1325,12138,1},{1322,12143,1},{1313,12143,1},{1313,12152,1},{1312,12155,1}, {1308,12155,1},{1303,12148,1},{1293,12150,1},{1287,12148,1},{1280,12148,1}, {1275,12148,1},{1270,12152,1},{1262,12155,1},{1258,12152,1},{1253,12148,1}, {1252,12143,1},{1248,12143,1},{1247,12143,1},{1243,12142,1},{1235,12143,1}, {1237,12140,1},{1235,12138,1},{1228,12140,1},{1232,12135,1},{1228,12128,1}, {1225,12125,1},{1222,12123,1},{1225,12118,1},{1223,12112,1},{1227,12110,1}, {1233,12110,1},{1230,12112,1},{1230,12113,1},{1232,12113,1},{1232,12112,1}, {1235,12110,1},{1232,12108,1},{1242,12098,1},{1252,12092,1},{1258,12093,1}, {1262,12092,1},{1272,12085,1},{1272,12078,1},{1282,12078,1},{1283,12077,1}, {1290,12078,1},{1298,12075,1},{1313,12067,1},{1318,12063,1},{1320,12060,1}, {1322,12058,1},{1323,12055,1},{1322,12052,1},{1325,12052,1},{1328,12048,1}, {1340,12047,1},{1342,12043,1},{1342,12038,1},{1338,12038,1},{1338,12037,1}, {1338,12033,1},{1343,12030,1},{1348,12032,1},{1352,12038,1},{1258,12430,129}, {1253,12437,1},{1255,12440,1},{1253,12445,1},{1253,12457,1},{1250,12465,1}, {1252,12475,1},{1253,12482,1},{1253,12487,1},{1255,12490,1},{1258,12488,1}, {1255,12493,1},{1258,12497,1},{1255,12498,1},{1255,12502,1},{1252,12503,1}, {1255,12508,1},{1258,12510,1},{1257,12513,1},{1257,12517,1},{1250,12527,1}, {1247,12528,1},{1245,12532,1},{1242,12532,1},{1240,12535,1},{1237,12530,1}, {1233,12530,1},{1232,12532,1},{1230,12532,1},{1232,12535,1},{1228,12535,1}, {1230,12538,1},{1228,12538,1},{1228,12543,1},{1225,12548,1},{1223,12548,1}, {1223,12550,1},{1218,12553,1},{1217,12553,1},{1217,12548,1},{1215,12548,1}, {1215,12550,1},{1213,12547,1},{1212,12545,1},{1210,12547,1},{1210,12550,1}, {1208,12550,1},{1205,12552,1},{1195,12545,1},{1190,12543,1},{1183,12547,1}, {1178,12548,1},{1175,12543,1},{1175,12548,1},{1168,12550,1},{1165,12547,1}, {1165,12548,1},{1160,12547,1},{1158,12550,1},{1153,12550,1},{1148,12553,1}, {1145,12552,1},{1145,12555,1},{1142,12555,1},{1140,12560,1},{1135,12563,1}, {1130,12562,1},{1125,12555,1},{1120,12555,1},{1118,12558,1},{1120,12562,1}, {1123,12562,1},{1120,12570,1},{1115,12572,1},{1105,12578,1},{1103,12577,1}, {1103,12572,1},{1107,12572,1},{1108,12570,1},{1112,12572,1},{1113,12567,1}, {1112,12560,1},{1113,12558,1},{1115,12557,1},{1113,12553,1},{1108,12553,1}, {1113,12547,1},{1108,12542,1},{1112,12542,1},{1110,12540,1},{1112,12537,1}, {1113,12535,1},{1115,12532,1},{1112,12527,1},{1110,12525,1},{1108,12523,1}, {1112,12522,1},{1122,12520,1},{1127,12517,1},{1128,12507,1},{1128,12500,1}, {1132,12498,1},{1135,12500,1},{1142,12500,1},{1145,12497,1},{1147,12493,1}, {1150,12492,1},{1147,12488,1},{1147,12485,1},{1150,12483,1},{1153,12487,1}, {1153,12490,1},{1157,12490,1},{1157,12495,1},{1158,12497,1},{1162,12500,1}, {1167,12500,1},{1172,12503,1},{1172,12505,1},{1175,12505,1},{1177,12500,1}, {1173,12493,1},{1175,12490,1},{1183,12485,1},{1185,12478,1},{1187,12480,1}, {1188,12480,1},{1190,12480,1},{1188,12482,1},{1192,12482,1},{1190,12475,1}, {1192,12477,1},{1193,12473,1},{1197,12473,1},{1203,12467,1},{1205,12460,1}, {1205,12455,1},{1210,12448,1},{1215,12445,1},{1217,12443,1},{1218,12440,1}, {1230,12435,1},{1237,12435,1},{1237,12433,1},{1243,12432,1},{1247,12430,1}, {1250,12430,1},{1253,12428,1},{1255,12428,1},{1258,12430,1},{1153,12435,129}, {1147,12442,1},{1138,12448,1},{1145,12448,1},{1142,12453,1},{1133,12457,1}, {1130,12460,1},{1132,12473,1},{1137,12480,1},{1143,12483,1},{1142,12488,1}, {1143,12490,1},{1142,12492,1},{1142,12495,1},{1138,12498,1},{1130,12497,1}, {1125,12498,1},{1125,12502,1},{1122,12502,1},{1125,12503,1},{1117,12503,1}, {1103,12505,1},{1097,12505,1},{1087,12502,1},{1075,12502,1},{1072,12505,1}, {1070,12512,1},{1065,12513,1},{1058,12520,1},{1053,12518,1},{1048,12520,1}, {1043,12520,1},{1038,12523,1},{1037,12527,1},{1028,12528,1},{1025,12523,1}, {1028,12513,1},{1018,12513,1},{1023,12508,1},{1037,12502,1},{1037,12498,1}, {1028,12498,1},{1022,12500,1},{1010,12503,1},{1002,12503,1},{1008,12495,1}, {1010,12492,1},{1013,12488,1},{1013,12482,1},{1017,12477,1},{1020,12477,1}, {1028,12480,1},{1035,12478,1},{1042,12473,1},{1048,12473,1},{1053,12477,1}, {1060,12477,1},{1067,12480,1},{1080,12478,1},{1087,12472,1},{1093,12470,1}, {1100,12462,1},{1100,12455,1},{1097,12455,1},{1092,12455,1},{1087,12452,1}, {1087,12450,1},{1090,12447,1},{1090,12445,1},{1093,12443,1},{1092,12440,1}, {1098,12442,1},{1102,12442,1},{1103,12440,1},{1107,12438,1},{1113,12442,1}, {1122,12440,1},{1125,12440,1},{1127,12440,1},{1130,12440,1},{1132,12435,1}, {1135,12435,1},{1137,12437,1},{1138,12433,1},{1140,12435,1},{1142,12433,1}, {1150,12430,1},{1153,12430,1},{1155,12432,1},{1153,12435,1},{980,12545,129}, {975,12558,1},{963,12562,1},{960,12565,1},{958,12570,1},{957,12572,1},{957,12575,1}, {955,12578,1},{952,12588,1},{948,12590,1},{950,12593,1},{945,12595,1},{948,12597,1}, {943,12597,1},{942,12592,1},{940,12590,1},{937,12595,1},{940,12600,1},{937,12598,1}, {930,12600,1},{923,12607,1},{925,12610,1},{930,12620,1},{930,12622,1},{920,12618,1}, {908,12618,1},{907,12622,1},{903,12623,1},{895,12632,1},{883,12635,1},{877,12632,1}, {875,12627,1},{873,12625,1},{873,12623,1},{872,12623,1},{868,12627,1},{868,12620,1}, {865,12613,1},{860,12610,1},{852,12617,1},{852,12623,1},{855,12622,1},{855,12627,1}, {852,12635,1},{853,12637,1},{850,12640,1},{847,12640,1},{845,12637,1},{842,12637,1}, {842,12638,1},{837,12637,1},{835,12633,1},{832,12635,1},{828,12640,1},{820,12633,1}, {818,12637,1},{820,12642,1},{823,12645,1},{820,12647,1},{812,12645,1},{810,12647,1}, {808,12645,1},{803,12643,1},{800,12643,1},{797,12645,1},{792,12638,1},{788,12638,1}, {783,12640,1},{780,12643,1},{780,12645,1},{773,12650,1},{772,12658,1},{762,12657,1}, {758,12658,1},{747,12662,1},{745,12660,1},{742,12657,1},{738,12658,1},{730,12657,1}, {727,12662,1},{720,12658,1},{718,12655,1},{712,12653,1},{708,12648,1},{703,12647,1}, {698,12647,1},{700,12635,1},{698,12633,1},{693,12632,1},{692,12630,1},{688,12632,1}, {683,12635,1},{678,12633,1},{680,12630,1},{685,12628,1},{693,12623,1},{693,12620,1}, {692,12618,1},{688,12618,1},{690,12617,1},{683,12618,1},{675,12625,1},{667,12623,1}, {650,12622,1},{645,12622,1},{640,12620,1},{627,12620,1},{628,12618,1},{637,12617,1}, {638,12613,1},{643,12613,1},{652,12610,1},{665,12608,1},{673,12610,1},{683,12608,1}, {688,12600,1},{693,12598,1},{702,12598,1},{712,12588,1},{715,12590,1},{722,12585,1}, {735,12585,1},{735,12582,1},{735,12580,1},{728,12568,1},{725,12567,1},{720,12565,1}, {712,12565,1},{705,12560,1},{703,12557,1},{703,12555,1},{698,12548,1},{692,12548,1}, {678,12540,1},{668,12538,1},{660,12540,1},{658,12543,1},{660,12543,1},{662,12543,1}, {660,12547,1},{652,12552,1},{652,12557,1},{650,12558,1},{643,12558,1},{635,12563,1}, {630,12565,1},{623,12567,1},{610,12572,1},{593,12567,1},{573,12550,1},{558,12540,1}, {557,12538,1},{557,12530,1},{563,12530,1},{572,12528,1},{573,12523,1},{577,12522,1}, {578,12518,1},{582,12518,1},{583,12520,1},{588,12522,1},{592,12525,1},{598,12528,1}, {607,12527,1},{610,12525,1},{610,12520,1},{610,12517,1},{610,12515,1},{588,12508,1}, {585,12507,1},{587,12502,1},{587,12495,1},{593,12478,1},{593,12473,1},{598,12465,1}, {598,12460,1},{602,12458,1},{608,12445,1},{620,12422,1},{623,12418,1},{628,12418,1}, {633,12412,1},{640,12408,1},{640,12407,1},{645,12403,1},{653,12403,1},{655,12405,1}, {658,12405,1},{665,12405,1},{673,12403,1},{678,12403,1},{680,12403,1},{678,12400,1}, {682,12397,1},{687,12397,1},{695,12397,1},{712,12403,1},{718,12415,1},{728,12422,1}, {735,12422,1},{740,12423,1},{742,12422,1},{740,12418,1},{745,12415,1},{755,12410,1}, {762,12405,1},{763,12398,1},{768,12395,1},{770,12378,1},{773,12375,1},{778,12375,1}, {782,12368,1},{782,12363,1},{785,12358,1},{780,12345,1},{777,12345,1},{772,12350,1}, {768,12350,1},{763,12345,1},{762,12340,1},{757,12340,1},{758,12337,1},{757,12335,1}, {752,12338,1},{748,12340,1},{747,12343,1},{745,12345,1},{738,12345,1},{737,12343,1}, {740,12338,1},{742,12333,1},{748,12328,1},{752,12328,1},{752,12323,1},{747,12318,1}, {753,12312,1},{757,12312,1},{758,12317,1},{762,12318,1},{767,12313,1},{775,12312,1}, {765,12305,1},{762,12305,1},{760,12303,1},{757,12303,1},{752,12302,1},{747,12302,1}, {748,12295,1},{755,12292,1},{750,12287,1},{747,12288,1},{745,12285,1},{745,12282,1}, {748,12282,1},{748,12278,1},{753,12280,1},{752,12282,1},{753,12283,1},{762,12280,1}, {775,12282,1},{775,12273,1},{778,12270,1},{778,12265,1},{773,12257,1},{770,12253,1}, {768,12248,1},{758,12243,1},{757,12243,1},{758,12248,1},{755,12248,1},{750,12245,1}, {753,12245,1},{747,12235,1},{743,12235,1},{738,12238,1},{732,12233,1},{732,12230,1}, {730,12228,1},{718,12225,1},{710,12225,1},{705,12220,1},{697,12217,1},{690,12213,1}, {688,12210,1},{690,12207,1},{697,12195,1},{703,12190,1},{710,12188,1},{717,12190,1}, {723,12195,1},{730,12205,1},{735,12203,1},{753,12207,1},{755,12212,1},{758,12215,1}, {760,12212,1},{768,12212,1},{775,12210,1},{797,12223,1},{805,12237,1},{807,12247,1}, {807,12248,1},{807,12250,1},{808,12257,1},{810,12263,1},{817,12268,1},{812,12270,1}, {812,12272,1},{812,12283,1},{815,12293,1},{822,12302,1},{825,12300,1},{827,12297,1}, {830,12295,1},{833,12300,1},{840,12298,1},{848,12303,1},{852,12307,1},{853,12320,1}, {852,12323,1},{853,12332,1},{857,12335,1},{862,12335,1},{863,12342,1},{865,12343,1}, {870,12340,1},{872,12340,1},{872,12347,1},{868,12347,1},{870,12352,1},{865,12350,1}, {862,12352,1},{862,12357,1},{858,12358,1},{865,12362,1},{867,12360,1},{867,12362,1}, {867,12363,1},{865,12363,1},{863,12367,1},{863,12372,1},{860,12373,1},{860,12377,1}, {857,12377,1},{853,12380,1},{850,12380,1},{847,12383,1},{843,12385,1},{817,12388,1}, {807,12378,1},{803,12368,1},{798,12367,1},{797,12368,1},{800,12375,1},{810,12387,1}, {812,12392,1},{817,12397,1},{818,12405,1},{818,12417,1},{820,12423,1},{827,12427,1}, {832,12425,1},{837,12427,1},{838,12428,1},{853,12432,1},{862,12443,1},{862,12448,1}, {858,12447,1},{857,12452,1},{852,12458,1},{852,12465,1},{845,12463,1},{843,12463,1}, {848,12467,1},{848,12472,1},{850,12475,1},{855,12475,1},{860,12477,1},{867,12475,1}, {870,12475,1},{873,12478,1},{877,12478,1},{880,12478,1},{897,12478,1},{898,12478,1}, {902,12482,1},{900,12490,1},{895,12495,1},{892,12503,1},{882,12510,1},{885,12517,1}, {887,12518,1},{893,12520,1},{902,12517,1},{907,12520,1},{908,12522,1},{902,12527,1}, {900,12530,1},{897,12543,1},{900,12548,1},{900,12552,1},{907,12553,1},{920,12553,1}, {923,12552,1},{928,12552,1},{942,12547,1},{945,12547,1},{965,12540,1},{972,12540,1}, {982,12545,1},{672,12208,129},{672,12210,1},{672,12215,1},{667,12217,1}, {667,12223,1},{663,12227,1},{662,12233,1},{658,12230,1},{657,12223,1},{652,12220,1}, {647,12220,1},{645,12218,1},{640,12202,1},{640,12197,1},{645,12193,1},{650,12188,1}, {657,12188,1},{658,12183,1},{660,12180,1},{665,12182,1},{667,12183,1},{667,12188,1}, {667,12193,1},{673,12202,1},{673,12208,1},{672,12208,1},{1010,12443,129}, {1005,12450,1},{1007,12452,1},{1005,12453,1},{1002,12458,1},{997,12458,1}, {997,12457,1},{993,12457,1},{993,12455,1},{988,12458,1},{985,12455,1},{980,12462,1}, {977,12462,1},{973,12458,1},{973,12453,1},{977,12450,1},{972,12443,1},{965,12442,1}, {963,12437,1},{960,12427,1},{962,12420,1},{960,12405,1},{962,12390,1},{967,12387,1}, {972,12388,1},{973,12387,1},{973,12382,1},{975,12380,1},{978,12380,1},{983,12382,1}, {992,12388,1},{992,12392,1},{993,12393,1},{998,12405,1},{1007,12408,1}, {1007,12412,1},{1008,12412,1},{1013,12417,1},{1015,12423,1},{1015,12430,1}, {1017,12430,1},{1015,12435,1},{1013,12435,1},{1010,12437,1},{1015,12438,1}, {1013,12440,1},{1010,12442,1},{1010,12445,1},{1122,12407,129},{1113,12403,1}, {1108,12400,1},{1105,12402,1},{1105,12405,1},{1097,12407,1},{1093,12405,1}, {1088,12407,1},{1075,12402,1},{1060,12405,1},{1057,12403,1},{1055,12405,1}, {1048,12405,1},{1040,12400,1},{1038,12402,1},{1035,12398,1},{1037,12398,1}, {1033,12397,1},{1028,12390,1},{1023,12387,1},{1022,12378,1},{1018,12377,1}, {1013,12372,1},{1008,12370,1},{1008,12367,1},{1002,12363,1},{988,12363,1}, {985,12360,1},{980,12355,1},{957,12348,1},{940,12335,1},{942,12332,1},{950,12332,1}, {978,12337,1},{988,12342,1},{992,12340,1},{995,12338,1},{998,12338,1},{997,12342,1}, {998,12342,1},{1007,12343,1},{1013,12352,1},{1018,12353,1},{1027,12360,1}, {1032,12360,1},{1048,12372,1},{1055,12372,1},{1060,12375,1},{1063,12377,1}, {1072,12382,1},{1073,12385,1},{1098,12393,1},{1102,12392,1},{1105,12393,1}, {1110,12395,1},{1108,12397,1},{1115,12395,1},{1118,12397,1},{1123,12400,1}, {1127,12402,1},{1127,12407,1},{1125,12408,1},{1122,12407,1},{1088,12353,129}, {1083,12355,1},{1083,12358,1},{1078,12357,1},{1070,12352,1},{1052,12348,1}, {1043,12338,1},{1033,12335,1},{1025,12333,1},{1018,12330,1},{1010,12330,1}, {997,12322,1},{993,12320,1},{992,12317,1},{985,12315,1},{963,12317,1},{963,12313,1}, {958,12318,1},{955,12317,1},{958,12317,1},{958,12315,1},{955,12313,1},{953,12320,1}, {948,12320,1},{945,12323,1},{932,12333,1},{920,12330,1},{910,12322,1},{907,12317,1}, {905,12315,1},{907,12310,1},{905,12305,1},{903,12303,1},{907,12297,1},{910,12295,1}, {920,12290,1},{930,12288,1},{933,12285,1},{937,12280,1},{937,12272,1},{943,12260,1}, {955,12252,1},{957,12248,1},{962,12248,1},{963,12247,1},{965,12247,1},{967,12245,1}, {967,12242,1},{970,12243,1},{970,12240,1},{982,12242,1},{983,12240,1},{997,12247,1}, {998,12255,1},{997,12262,1},{997,12268,1},{1000,12273,1},{1007,12280,1}, {1007,12287,1},{1012,12287,1},{1022,12285,1},{1037,12287,1},{1052,12282,1}, {1053,12283,1},{1055,12288,1},{1062,12293,1},{1072,12297,1},{1078,12298,1}, {1083,12295,1},{1088,12298,1},{1092,12300,1},{1092,12308,1},{1098,12320,1}, {1100,12323,1},{1095,12333,1},{1095,12340,1},{1092,12340,1},{1093,12343,1}, {1093,12347,1},{1092,12350,1},{1093,12352,1},{1088,12353,1},{1190,12203,129}, {1182,12210,1},{1180,12222,1},{1173,12233,1},{1173,12238,1},{1168,12242,1}, {1158,12252,1},{1157,12258,1},{1152,12260,1},{1150,12262,1},{1153,12265,1}, {1155,12265,1},{1157,12265,1},{1153,12270,1},{1157,12268,1},{1157,12272,1}, {1160,12273,1},{1162,12273,1},{1160,12283,1},{1158,12287,1},{1155,12287,1}, {1152,12293,1},{1147,12287,1},{1143,12290,1},{1143,12292,1},{1147,12295,1}, {1148,12300,1},{1153,12310,1},{1160,12317,1},{1152,12317,1},{1152,12313,1}, {1150,12312,1},{1148,12315,1},{1147,12315,1},{1147,12317,1},{1143,12315,1}, {1138,12317,1},{1135,12315,1},{1133,12312,1},{1132,12313,1},{1123,12312,1}, {1120,12313,1},{1118,12313,1},{1117,12312,1},{1115,12310,1},{1117,12308,1}, {1117,12305,1},{1108,12302,1},{1107,12298,1},{1105,12298,1},{1103,12295,1}, {1107,12293,1},{1102,12292,1},{1103,12290,1},{1102,12287,1},{1102,12285,1}, {1098,12280,1},{1095,12278,1},{1087,12280,1},{1080,12273,1},{1078,12263,1}, {1075,12260,1},{1072,12260,1},{1072,12258,1},{1070,12260,1},{1068,12253,1}, {1067,12237,1},{1063,12222,1},{1058,12217,1},{1058,12212,1},{1048,12205,1}, {1045,12202,1},{1042,12198,1},{1043,12193,1},{1050,12193,1},{1057,12197,1}, {1067,12198,1},{1072,12197,1},{1075,12193,1},{1077,12193,1},{1092,12198,1}, {1103,12205,1},{1118,12205,1},{1125,12205,1},{1130,12203,1},{1135,12207,1}, {1147,12207,1},{1148,12208,1},{1165,12210,1},{1170,12210,1},{1173,12208,1}, {1173,12202,1},{1177,12195,1},{1175,12187,1},{1177,12185,1},{1182,12188,1}, {1190,12190,1},{1193,12197,1},{1190,12203,1},{1232,11990,129},{1232,11992,1}, {1227,11993,1},{1225,12002,1},{1220,12008,1},{1220,12010,1},{1220,12012,1}, {1217,12008,1},{1217,12012,1},{1212,12018,1},{1212,12022,1},{1222,12022,1}, {1220,12025,1},{1213,12025,1},{1213,12028,1},{1208,12033,1},{1205,12035,1}, {1203,12032,1},{1202,12032,1},{1203,12033,1},{1202,12035,1},{1200,12035,1}, {1198,12030,1},{1200,12028,1},{1198,12025,1},{1200,12018,1},{1202,12018,1}, {1202,12013,1},{1200,12013,1},{1197,12013,1},{1197,12010,1},{1200,12008,1}, {1200,12003,1},{1200,12002,1},{1202,11998,1},{1205,11997,1},{1205,11995,1}, {1210,11993,1},{1213,11993,1},{1220,11990,1},{1220,11988,1},{1217,11985,1}, {1222,11987,1},{1225,11987,1},{1227,11992,1},{1227,11987,1},{1230,11987,1}, {1232,11988,1},{1232,11992,1},{1142,11952,129},{1133,11952,1},{1132,11953,1}, {1133,11955,1},{1130,11957,1},{1118,11955,1},{1113,11952,1},{1110,11952,1}, {1107,11953,1},{1108,11955,1},{1102,11957,1},{1100,11957,1},{1100,11950,1}, {1087,11950,1},{1082,11953,1},{1083,11960,1},{1072,11960,1},{1067,11958,1}, {1067,11963,1},{1068,11965,1},{1065,11967,1},{1065,11963,1},{1062,11965,1}, {1055,11967,1},{1053,11972,1},{1050,11972,1},{1048,11968,1},{1040,11960,1}, {1037,11957,1},{1037,11952,1},{1037,11945,1},{1033,11938,1},{1030,11932,1}, {1020,11925,1},{1008,11922,1},{1003,11918,1},{1000,11903,1},{998,11900,1}, {997,11893,1},{998,11890,1},{993,11882,1},{995,11878,1},{992,11878,1},{992,11875,1}, {985,11875,1},{978,11878,1},{973,11878,1},{973,11873,1},{978,11873,1},{978,11870,1}, {977,11870,1},{972,11870,1},{970,11872,1},{968,11877,1},{967,11877,1},{967,11873,1}, {965,11873,1},{958,11870,1},{957,11867,1},{952,11865,1},{940,11855,1},{937,11855,1}, {930,11850,1},{928,11843,1},{918,11835,1},{918,11830,1},{915,11825,1},{913,11813,1}, {905,11812,1},{903,11810,1},{902,11808,1},{888,11802,1},{882,11788,1},{878,11785,1}, {877,11783,1},{868,11775,1},{868,11770,1},{865,11765,1},{867,11758,1},{863,11755,1}, {857,11755,1},{853,11752,1},{850,11750,1},{852,11747,1},{848,11740,1},{850,11738,1}, {848,11737,1},{842,11727,1},{837,11722,1},{833,11720,1},{833,11718,1},{838,11718,1}, {843,11722,1},{850,11722,1},{858,11727,1},{860,11727,1},{860,11728,1},{865,11730,1}, {867,11733,1},{870,11735,1},{870,11733,1},{873,11737,1},{877,11743,1},{892,11753,1}, {898,11763,1},{905,11765,1},{908,11770,1},{907,11772,1},{907,11777,1},{913,11778,1}, {915,11778,1},{920,11788,1},{925,11790,1},{925,11798,1},{923,11800,1},{923,11802,1}, {927,11803,1},{933,11813,1},{938,11813,1},{942,11818,1},{948,11822,1},{953,11828,1}, {958,11833,1},{965,11835,1},{967,11842,1},{973,11847,1},{975,11850,1},{978,11853,1}, {988,11862,1},{992,11862,1},{993,11865,1},{997,11867,1},{1000,11865,1}, {1003,11870,1},{1003,11872,1},{1012,11877,1},{1008,11878,1},{1007,11877,1}, {1005,11880,1},{1010,11883,1},{1012,11882,1},{1018,11882,1},{1018,11885,1}, {1022,11888,1},{1020,11893,1},{1023,11895,1},{1028,11895,1},{1032,11902,1}, {1033,11903,1},{1035,11903,1},{1033,11898,1},{1035,11897,1},{1040,11900,1}, {1040,11908,1},{1042,11908,1},{1042,11910,1},{1045,11908,1},{1047,11908,1}, {1048,11912,1},{1040,11912,1},{1038,11913,1},{1040,11917,1},{1048,11923,1}, {1050,11927,1},{1052,11927,1},{1055,11923,1},{1057,11930,1},{1063,11933,1}, {1073,11935,1},{1077,11932,1},{1075,11928,1},{1077,11927,1},{1082,11927,1}, {1085,11923,1},{1090,11927,1},{1090,11923,1},{1095,11922,1},{1095,11925,1}, {1092,11925,1},{1093,11927,1},{1092,11927,1},{1093,11928,1},{1090,11928,1}, {1088,11928,1},{1087,11927,1},{1087,11932,1},{1085,11930,1},{1082,11933,1}, {1082,11935,1},{1080,11935,1},{1078,11938,1},{1077,11940,1},{1077,11943,1}, {1073,11943,1},{1073,11947,1},{1080,11943,1},{1083,11945,1},{1087,11942,1}, {1087,11937,1},{1090,11935,1},{1093,11937,1},{1093,11932,1},{1098,11932,1}, {1102,11933,1},{1100,11937,1},{1107,11933,1},{1110,11933,1},{1105,11937,1}, {1105,11942,1},{1113,11943,1},{1113,11940,1},{1118,11938,1},{1118,11940,1}, {1123,11943,1},{1130,11942,1},{1133,11943,1},{1133,11947,1},{1142,11948,1}, {1140,11952,1},{-1673,13927,129},{-1673,13923,1},{-1670,13923,1},{-1670,13920,1}, {-1665,13915,1},{-1662,13917,1},{-1658,13920,1},{-1653,13922,1},{-1648,13925,1}, {-1647,13932,1},{-1645,13938,1},{-1645,13943,1},{-1642,13948,1},{-1640,13957,1}, {-1647,13965,1},{-1650,13967,1},{-1653,13957,1},{-1648,13955,1},{-1650,13948,1}, {-1652,13947,1},{-1653,13950,1},{-1655,13947,1},{-1658,13947,1},{-1665,13943,1}, {-1665,13942,1},{-1662,13940,1},{-1665,13938,1},{-1668,13937,1},{-1673,13930,1}, {-1673,13925,1},{-2577,15303,129},{-2573,15298,1},{-2565,15297,1},{-2563,15293,1}, {-2558,15293,1},{-2537,15305,1},{-2530,15303,1},{-2522,15307,1},{-2520,15302,1}, {-2518,15300,1},{-2517,15302,1},{-2512,15308,1},{-2500,15323,1},{-2490,15325,1}, {-2488,15322,1},{-2482,15320,1},{-2480,15315,1},{-2478,15313,1},{-2470,15322,1}, {-2470,15327,1},{-2473,15327,1},{-2488,15328,1},{-2493,15330,1},{-2495,15335,1}, {-2500,15335,1},{-2513,15332,1},{-2560,15308,1},{-2577,15308,1},{-2577,15303,1}, {-1193,13093,129},{-1190,13090,1},{-1182,13070,1},{-1175,13067,1},{-1165,13048,1}, {-1158,13048,1},{-1155,13045,1},{-1145,13042,1},{-1133,13040,1},{-1130,13037,1}, {-1120,13038,1},{-1122,13043,1},{-1130,13048,1},{-1133,13060,1},{-1135,13060,1}, {-1140,13058,1},{-1142,13058,1},{-1142,13065,1},{-1137,13065,1},{-1137,13067,1}, {-1152,13072,1},{-1152,13075,1},{-1153,13080,1},{-1147,13077,1},{-1142,13072,1}, {-1138,13087,1},{-1135,13090,1},{-1135,13095,1},{-1140,13098,1},{-1140,13105,1}, {-1137,13107,1},{-1135,13110,1},{-1130,13113,1},{-1130,13117,1},{-1137,13118,1}, {-1137,13122,1},{-1135,13122,1},{-1127,13122,1},{-1123,13127,1},{-1127,13132,1}, {-1130,13130,1},{-1128,13135,1},{-1130,13137,1},{-1133,13140,1},{-1130,13142,1}, {-1130,13143,1},{-1135,13143,1},{-1135,13147,1},{-1138,13147,1},{-1142,13148,1}, {-1142,13153,1},{-1145,13157,1},{-1150,13155,1},{-1150,13150,1},{-1153,13148,1}, {-1157,13147,1},{-1163,13147,1},{-1162,13140,1},{-1163,13138,1},{-1177,13128,1}, {-1177,13125,1},{-1180,13122,1},{-1185,13110,1},{-1197,13098,1},{-1195,13095,1}, {-1193,13093,1},{-1185,13060,129},{-1187,13050,1},{-1185,13045,1},{-1182,13042,1}, {-1180,13033,1},{-1187,13008,1},{-1185,13005,1},{-1182,13003,1},{-1177,13007,1}, {-1170,13008,1},{-1170,13010,1},{-1173,13013,1},{-1170,13018,1},{-1170,13023,1}, {-1168,13023,1},{-1167,13020,1},{-1153,13020,1},{-1150,13015,1},{-1145,13018,1}, {-1143,13022,1},{-1137,13027,1},{-1137,13033,1},{-1147,13038,1},{-1155,13038,1}, {-1157,13040,1},{-1160,13043,1},{-1170,13047,1},{-1172,13055,1},{-1178,13065,1}, {-1183,13063,1},{-1185,13060,1},{-1430,13685,129},{-1428,13675,1},{-1428,13670,1}, {-1432,13667,1},{-1432,13663,1},{-1430,13662,1},{-1422,13640,1},{-1425,13632,1}, {-1423,13632,1},{-1417,13640,1},{-1413,13642,1},{-1403,13638,1},{-1385,13640,1}, {-1385,13647,1},{-1385,13648,1},{-1382,13653,1},{-1383,13658,1},{-1380,13663,1}, {-1378,13660,1},{-1377,13660,1},{-1373,13658,1},{-1372,13658,1},{-1372,13667,1}, {-1368,13670,1},{-1368,13672,1},{-1372,13672,1},{-1377,13668,1},{-1380,13672,1}, {-1382,13670,1},{-1387,13672,1},{-1388,13682,1},{-1387,13682,1},{-1383,13683,1}, {-1383,13680,1},{-1378,13685,1},{-1380,13690,1},{-1383,13692,1},{-1387,13688,1}, {-1393,13685,1},{-1393,13678,1},{-1397,13675,1},{-1397,13672,1},{-1398,13672,1}, {-1400,13672,1},{-1400,13675,1},{-1407,13678,1},{-1410,13675,1},{-1410,13673,1}, {-1413,13670,1},{-1420,13672,1},{-1423,13675,1},{-1420,13678,1},{-1418,13677,1}, {-1417,13678,1},{-1423,13685,1},{-1423,13687,1},{-1418,13692,1},{-1418,13695,1}, {-1423,13693,1},{-1432,13693,1},{-1430,13690,1},{-1433,13687,1},{-1430,13685,1}, {-660,15648,129},{-662,15653,1},{-665,15658,1},{-665,15665,1},{-670,15670,1}, {-673,15670,1},{-677,15675,1},{-685,15690,1},{-687,15698,1},{-690,15702,1}, {-690,15705,1},{-698,15712,1},{-712,15715,1},{-718,15718,1},{-717,15722,1}, {-718,15722,1},{-722,15725,1},{-720,15728,1},{-727,15730,1},{-728,15732,1}, {-730,15737,1},{-733,15738,1},{-730,15738,1},{-730,15740,1},{-733,15743,1}, {-730,15750,1},{-732,15753,1},{-735,15753,1},{-738,15752,1},{-738,15748,1}, {-743,15745,1},{-742,15745,1},{-742,15742,1},{-740,15732,1},{-733,15732,1}, {-737,15730,1},{-735,15727,1},{-737,15727,1},{-735,15725,1},{-733,15715,1}, {-735,15710,1},{-730,15710,1},{-727,15707,1},{-728,15702,1},{-725,15702,1}, {-722,15693,1},{-718,15688,1},{-690,15668,1},{-683,15657,1},{-673,15645,1}, {-668,15645,1},{-665,15643,1},{-660,15648,1},{-797,15752,129},{-802,15760,1}, {-817,15762,1},{-820,15763,1},{-823,15763,1},{-822,15772,1},{-825,15777,1}, {-825,15778,1},{-828,15778,1},{-833,15783,1},{-838,15783,1},{-840,15787,1}, {-847,15788,1},{-848,15790,1},{-853,15787,1},{-858,15788,1},{-855,15780,1}, {-857,15780,1},{-858,15782,1},{-862,15782,1},{-860,15780,1},{-858,15778,1}, {-852,15773,1},{-852,15768,1},{-848,15762,1},{-840,15757,1},{-833,15757,1}, {-840,15758,1},{-840,15760,1},{-842,15762,1},{-838,15763,1},{-837,15760,1}, {-830,15758,1},{-825,15753,1},{-827,15750,1},{-825,15748,1},{-827,15748,1}, {-828,15737,1},{-827,15735,1},{-832,15733,1},{-833,15730,1},{-833,15727,1}, {-832,15725,1},{-832,15723,1},{-823,15722,1},{-820,15723,1},{-818,15728,1}, {-820,15732,1},{-813,15732,1},{-812,15733,1},{-803,15738,1},{-798,15743,1}, {-797,15748,1},{-797,15752,1},{-753,15847,129},{-755,15848,1},{-758,15860,1}, {-757,15863,1},{-762,15872,1},{-760,15875,1},{-763,15877,1},{-773,15887,1}, {-775,15892,1},{-780,15898,1},{-783,15897,1},{-785,15900,1},{-787,15907,1}, {-790,15908,1},{-792,15913,1},{-792,15920,1},{-793,15920,1},{-793,15923,1}, {-797,15925,1},{-795,15928,1},{-800,15930,1},{-798,15935,1},{-800,15942,1}, {-802,15942,1},{-803,15943,1},{-808,15950,1},{-813,15955,1},{-823,15973,1}, {-833,15985,1},{-838,15982,1},{-838,15977,1},{-840,15975,1},{-843,15978,1}, {-842,15982,1},{-848,15987,1},{-852,15987,1},{-855,15990,1},{-857,15990,1}, {-855,15982,1},{-850,15978,1},{-850,15977,1},{-848,15975,1},{-845,15972,1}, {-842,15970,1},{-837,15962,1},{-835,15957,1},{-828,15943,1},{-827,15933,1}, {-823,15932,1},{-822,15928,1},{-820,15928,1},{-820,15923,1},{-815,15918,1}, {-812,15912,1},{-812,15908,1},{-810,15908,1},{-808,15902,1},{-803,15897,1}, {-805,15895,1},{-802,15893,1},{-798,15885,1},{-793,15883,1},{-792,15877,1}, {-788,15877,1},{-788,15873,1},{-785,15872,1},{-780,15868,1},{-780,15865,1}, {-778,15865,1},{-777,15858,1},{-775,15857,1},{-767,15858,1},{-763,15853,1}, {-760,15852,1},{-757,15845,1},{-755,15843,1},{-753,15845,1},{-753,15847,1}, {-925,15970,129},{-928,15978,1},{-937,15987,1},{-942,15992,1},{-943,15993,1}, {-943,16002,1},{-942,16003,1},{-943,16013,1},{-942,16017,1},{-943,16022,1}, {-942,16028,1},{-943,16038,1},{-947,16042,1},{-948,16047,1},{-953,16050,1}, {-955,16057,1},{-960,16063,1},{-970,16067,1},{-970,16072,1},{-973,16078,1}, {-975,16078,1},{-977,16080,1},{-982,16080,1},{-985,16083,1},{-990,16078,1}, {-992,16068,1},{-993,16063,1},{-988,16048,1},{-990,16043,1},{-987,16042,1}, {-982,16032,1},{-982,16000,1},{-980,15998,1},{-980,15992,1},{-978,15988,1}, {-980,15983,1},{-975,15978,1},{-972,15972,1},{-965,15970,1},{-965,15967,1}, {-960,15967,1},{-957,15965,1},{-953,15960,1},{-952,15960,1},{-950,15962,1}, {-943,15960,1},{-940,15962,1},{-937,15960,1},{-932,15960,1},{-925,15970,1}, {-832,16072,129},{-832,16075,1},{-837,16082,1},{-842,16082,1},{-847,16087,1}, {-850,16090,1},{-855,16093,1},{-858,16098,1},{-863,16102,1},{-867,16100,1}, {-868,16095,1},{-873,16095,1},{-877,16093,1},{-882,16093,1},{-885,16098,1}, {-883,16102,1},{-888,16107,1},{-890,16105,1},{-892,16107,1},{-892,16110,1}, {-897,16117,1},{-898,16117,1},{-900,16113,1},{-903,16118,1},{-908,16120,1}, {-910,16122,1},{-912,16123,1},{-915,16120,1},{-915,16125,1},{-918,16127,1}, {-920,16128,1},{-922,16125,1},{-925,16127,1},{-930,16127,1},{-928,16123,1}, {-935,16128,1},{-947,16135,1},{-948,16137,1},{-955,16138,1},{-963,16138,1}, {-958,16130,1},{-943,16122,1},{-940,16118,1},{-935,16112,1},{-932,16108,1}, {-932,16103,1},{-930,16103,1},{-927,16102,1},{-925,16097,1},{-922,16097,1}, {-918,16093,1},{-918,16088,1},{-912,16085,1},{-907,16082,1},{-895,16077,1}, {-890,16077,1},{-888,16075,1},{-880,16072,1},{-875,16068,1},{-868,16070,1}, {-862,16065,1},{-860,16065,1},{-857,16072,1},{-852,16072,1},{-843,16065,1}, {-842,16062,1},{-835,16057,1},{-833,16058,1},{-832,16062,1},{-837,16070,1}, {-837,16072,1},{-835,16072,1},{-832,16070,1},{-832,16072,1},{-1020,16132,129}, {-1022,16145,1},{-1030,16158,1},{-1037,16167,1},{-1037,16168,1},{-1040,16173,1}, {-1042,16180,1},{-1045,16183,1},{-1043,16188,1},{-1045,16193,1},{-1045,16197,1}, {-1048,16202,1},{-1048,16207,1},{-1045,16208,1},{-1045,16212,1},{-1055,16218,1}, {-1057,16218,1},{-1060,16222,1},{-1067,16223,1},{-1068,16228,1},{-1077,16230,1}, {-1078,16227,1},{-1082,16225,1},{-1083,16230,1},{-1083,16238,1},{-1085,16238,1}, {-1085,16230,1},{-1080,16220,1},{-1083,16217,1},{-1083,16210,1},{-1077,16202,1}, {-1078,16197,1},{-1077,16192,1},{-1077,16190,1},{-1075,16187,1},{-1073,16185,1}, {-1075,16183,1},{-1073,16182,1},{-1072,16177,1},{-1068,16175,1},{-1068,16170,1}, {-1065,16170,1},{-1065,16167,1},{-1062,16165,1},{-1063,16162,1},{-1060,16162,1}, {-1060,16158,1},{-1057,16158,1},{-1057,16155,1},{-1057,16152,1},{-1050,16153,1}, {-1047,16152,1},{-1047,16148,1},{-1043,16152,1},{-1042,16148,1},{-1037,16152,1}, {-1035,16147,1},{-1035,16142,1},{-1033,16137,1},{-1035,16135,1},{-1033,16128,1}, {-1022,16128,1},{-1020,16132,1},{-2070,16500,129},{-2068,16497,1},{-2068,16495,1}, {-2065,16492,1},{-2062,16485,1},{-2057,16482,1},{-2048,16473,1},{-2040,16458,1}, {-2037,16457,1},{-2030,16450,1},{-2023,16432,1},{-2023,16430,1},{-2025,16430,1}, {-2033,16433,1},{-2032,16430,1},{-2028,16430,1},{-2030,16425,1},{-2025,16417,1}, {-2017,16412,1},{-2015,16408,1},{-2008,16402,1},{-2008,16400,1},{-2012,16398,1}, {-2012,16400,1},{-2015,16400,1},{-2013,16402,1},{-2017,16405,1},{-2020,16403,1}, {-2023,16405,1},{-2025,16405,1},{-2023,16400,1},{-2025,16398,1},{-2030,16402,1}, {-2028,16407,1},{-2027,16407,1},{-2027,16408,1},{-2030,16408,1},{-2032,16415,1}, {-2035,16417,1},{-2038,16417,1},{-2040,16415,1},{-2038,16412,1},{-2040,16412,1}, {-2043,16415,1},{-2050,16417,1},{-2057,16423,1},{-2057,16427,1},{-2058,16427,1}, {-2058,16428,1},{-2072,16435,1},{-2073,16440,1},{-2077,16440,1},{-2077,16437,1}, {-2085,16447,1},{-2087,16450,1},{-2090,16452,1},{-2090,16457,1},{-2092,16457,1}, {-2093,16460,1},{-2092,16462,1},{-2093,16462,1},{-2095,16465,1},{-2097,16467,1}, {-2098,16463,1},{-2100,16468,1},{-2102,16467,1},{-2105,16470,1},{-2108,16470,1}, {-2108,16472,1},{-2107,16472,1},{-2105,16473,1},{-2108,16475,1},{-2107,16480,1}, {-2108,16478,1},{-2108,16480,1},{-2112,16480,1},{-2112,16482,1},{-2113,16483,1}, {-2120,16483,1},{-2122,16485,1},{-2123,16487,1},{-2128,16492,1},{-2130,16495,1}, {-2135,16493,1},{-2135,16498,1},{-2130,16498,1},{-2132,16502,1},{-2135,16500,1}, {-2135,16505,1},{-2140,16503,1},{-2138,16505,1},{-2140,16507,1},{-2137,16510,1}, {-2138,16512,1},{-2142,16512,1},{-2145,16513,1},{-2152,16523,1},{-2152,16527,1}, {-2155,16527,1},{-2162,16542,1},{-2162,16547,1},{-2163,16545,1},{-2163,16548,1}, {-2165,16547,1},{-2170,16552,1},{-2172,16562,1},{-2175,16565,1},{-2173,16565,1}, {-2173,16568,1},{-2177,16568,1},{-2175,16570,1},{-2172,16573,1},{-2175,16573,1}, {-2178,16575,1},{-2182,16577,1},{-2180,16578,1},{-2180,16580,1},{-2182,16578,1}, {-2185,16583,1},{-2185,16580,1},{-2187,16582,1},{-2187,16588,1},{-2190,16592,1}, {-2193,16593,1},{-2193,16597,1},{-2197,16598,1},{-2197,16602,1},{-2193,16600,1}, {-2195,16603,1},{-2192,16603,1},{-2190,16607,1},{-2192,16608,1},{-2195,16607,1}, {-2197,16613,1},{-2200,16613,1},{-2203,16617,1},{-2203,16612,1},{-2205,16615,1}, {-2208,16615,1},{-2207,16612,1},{-2210,16612,1},{-2208,16615,1},{-2210,16617,1}, {-2213,16622,1},{-2215,16622,1},{-2217,16627,1},{-2217,16628,1},{-2215,16628,1}, {-2215,16633,1},{-2217,16632,1},{-2220,16635,1},{-2223,16633,1},{-2220,16638,1}, {-2218,16638,1},{-2218,16643,1},{-2220,16643,1},{-2223,16645,1},{-2223,16640,1}, {-2225,16642,1},{-2225,16645,1},{-2232,16643,1},{-2232,16647,1},{-2228,16645,1}, {-2228,16648,1},{-2225,16650,1},{-2223,16653,1},{-2225,16657,1},{-2227,16657,1}, {-2230,16660,1},{-2228,16663,1},{-2233,16668,1},{-2232,16670,1},{-2235,16672,1}, {-2235,16677,1},{-2237,16673,1},{-2238,16673,1},{-2240,16678,1},{-2238,16680,1}, {-2238,16683,1},{-2235,16682,1},{-2230,16683,1},{-2232,16685,1},{-2233,16683,1}, {-2235,16685,1},{-2235,16687,1},{-2233,16687,1},{-2237,16690,1},{-2238,16688,1}, {-2237,16692,1},{-2238,16692,1},{-2240,16688,1},{-2240,16692,1},{-2237,16697,1}, {-2235,16697,1},{-2233,16698,1},{-2233,16700,1},{-2232,16702,1},{-2228,16702,1}, {-2225,16702,1},{-2225,16703,1},{-2223,16703,1},{-2218,16697,1},{-2217,16693,1}, {-2215,16695,1},{-2210,16695,1},{-2203,16685,1},{-2202,16677,1},{-2200,16677,1}, {-2198,16673,1},{-2198,16668,1},{-2195,16672,1},{-2193,16667,1},{-2195,16667,1}, {-2193,16665,1},{-2190,16662,1},{-2188,16657,1},{-2180,16650,1},{-2178,16648,1}, {-2177,16648,1},{-2172,16642,1},{-2170,16635,1},{-2167,16633,1},{-2167,16637,1}, {-2162,16623,1},{-2152,16612,1},{-2153,16608,1},{-2150,16607,1},{-2148,16605,1}, {-2147,16607,1},{-2145,16602,1},{-2142,16598,1},{-2142,16595,1},{-2150,16600,1}, {-2150,16597,1},{-2147,16592,1},{-2147,16595,1},{-2145,16595,1},{-2137,16588,1}, {-2140,16588,1},{-2138,16587,1},{-2138,16583,1},{-2142,16585,1},{-2140,16582,1}, {-2137,16583,1},{-2137,16580,1},{-2130,16577,1},{-2130,16572,1},{-2128,16563,1}, {-2123,16560,1},{-2120,16555,1},{-2122,16560,1},{-2120,16560,1},{-2118,16560,1}, {-2118,16558,1},{-2115,16557,1},{-2115,16553,1},{-2113,16555,1},{-2113,16550,1}, {-2105,16540,1},{-2102,16540,1},{-2095,16542,1},{-2093,16533,1},{-2088,16528,1}, {-2087,16527,1},{-2082,16527,1},{-2078,16523,1},{-2077,16522,1},{-2073,16507,1}, {-2070,16500,1},{-1767,16853,129},{-1765,16850,1},{-1760,16850,1},{-1753,16843,1}, {-1755,16835,1},{-1753,16832,1},{-1755,16828,1},{-1757,16828,1},{-1758,16823,1}, {-1762,16822,1},{-1765,16818,1},{-1772,16815,1},{-1772,16817,1},{-1775,16817,1}, {-1770,16823,1},{-1772,16828,1},{-1773,16828,1},{-1773,16830,1},{-1775,16830,1}, {-1777,16825,1},{-1780,16825,1},{-1777,16832,1},{-1780,16830,1},{-1778,16833,1}, {-1782,16835,1},{-1780,16837,1},{-1783,16837,1},{-1783,16838,1},{-1782,16845,1}, {-1782,16848,1},{-1780,16853,1},{-1773,16855,1},{-1770,16858,1},{-1768,16853,1}, {-1767,16853,1},{-1500,16677,129},{-1490,16677,1},{-1483,16673,1},{-1482,16673,1}, {-1482,16672,1},{-1477,16668,1},{-1473,16667,1},{-1472,16663,1},{-1462,16660,1}, {-1467,16655,1},{-1482,16652,1},{-1490,16653,1},{-1497,16657,1},{-1502,16658,1}, {-1503,16660,1},{-1505,16660,1},{-1513,16662,1},{-1523,16665,1},{-1538,16662,1}, {-1553,16670,1},{-1557,16677,1},{-1565,16677,1},{-1567,16682,1},{-1565,16683,1}, {-1562,16685,1},{-1563,16688,1},{-1560,16688,1},{-1558,16692,1},{-1558,16702,1}, {-1560,16708,1},{-1552,16715,1},{-1552,16723,1},{-1548,16723,1},{-1547,16720,1}, {-1535,16717,1},{-1533,16717,1},{-1535,16718,1},{-1530,16718,1},{-1527,16717,1}, {-1525,16713,1},{-1523,16715,1},{-1522,16715,1},{-1513,16713,1},{-1512,16712,1}, {-1515,16710,1},{-1513,16708,1},{-1505,16707,1},{-1503,16705,1},{-1503,16703,1}, {-1500,16707,1},{-1497,16705,1},{-1493,16708,1},{-1492,16700,1},{-1493,16698,1}, {-1495,16697,1},{-1508,16697,1},{-1517,16692,1},{-1515,16680,1},{-1505,16678,1}, {-1500,16677,1},{-1645,16742,129},{-1643,16740,1},{-1638,16740,1},{-1637,16738,1}, {-1635,16737,1},{-1628,16738,1},{-1618,16738,1},{-1618,16737,1},{-1612,16732,1}, {-1617,16722,1},{-1615,16718,1},{-1608,16715,1},{-1605,16715,1},{-1598,16718,1}, {-1590,16718,1},{-1587,16722,1},{-1592,16733,1},{-1593,16732,1},{-1602,16738,1}, {-1605,16738,1},{-1607,16740,1},{-1608,16740,1},{-1612,16742,1},{-1613,16747,1}, {-1610,16747,1},{-1612,16748,1},{-1613,16750,1},{-1617,16748,1},{-1618,16752,1}, {-1617,16753,1},{-1622,16757,1},{-1623,16760,1},{-1627,16763,1},{-1627,16768,1}, {-1628,16768,1},{-1633,16775,1},{-1633,16777,1},{-1640,16778,1},{-1645,16777,1}, {-1647,16778,1},{-1643,16780,1},{-1643,16783,1},{-1647,16783,1},{-1648,16780,1}, {-1655,16777,1},{-1655,16773,1},{-1652,16772,1},{-1650,16760,1},{-1653,16757,1}, {-1655,16758,1},{-1655,16755,1},{-1658,16752,1},{-1660,16750,1},{-1653,16742,1}, {-1650,16742,1},{-1652,16745,1},{-1645,16742,1},{1363,14488,129},{1360,14490,1}, {1360,14495,1},{1358,14495,1},{1350,14490,1},{1342,14478,1},{1328,14475,1}, {1325,14473,1},{1323,14472,1},{1325,14468,1},{1328,14465,1},{1333,14463,1}, {1340,14465,1},{1343,14462,1},{1343,14463,1},{1343,14467,1},{1347,14470,1}, {1350,14478,1},{1355,14482,1},{1363,14483,1},{1365,14488,1},{1363,14488,1}, {-1888,-15980,129},{-1885,-15980,1},{-1883,-15978,1},{-1888,-15978,1},{-1890,-15980,1}, {-1888,-15980,1},{-1690,-15145,129},{-1690,-15148,1},{-1678,-15150,1},{-1675,-15148,1}, {-1673,-15147,1},{-1675,-15143,1},{-1682,-15140,1},{-1685,-15135,1},{-1688,-15140,1}, {-1690,-15145,1},{-1787,-14925,129},{-1785,-14928,1},{-1778,-14930,1},{-1775,-14935,1}, {-1777,-14945,1},{-1773,-14958,1},{-1767,-14960,1},{-1763,-14963,1},{-1760,-14962,1}, {-1757,-14963,1},{-1753,-14958,1},{-1752,-14952,1},{-1752,-14943,1},{-1753,-14937,1}, {-1758,-14932,1},{-1763,-14932,1},{-1770,-14930,1},{-1773,-14922,1},{-1772,-14918,1}, {-1773,-14915,1},{-1778,-14913,1},{-1785,-14913,1},{-1787,-14918,1},{-1787,-14925,1}, {545,10030,129},{543,10032,1},{542,10035,1},{525,10028,1},{527,10025,1}, {527,10018,1},{530,10020,1},{547,10018,1},{543,10022,1},{547,10025,1},{545,10032,1}, {417,11758,129},{418,11762,1},{422,11760,1},{422,11762,1},{423,11762,1}, {425,11765,1},{428,11765,1},{430,11763,1},{435,11763,1},{438,11760,1},{442,11765,1}, {442,11767,1},{438,11768,1},{435,11772,1},{433,11780,1},{430,11782,1},{428,11787,1}, {425,11790,1},{422,11798,1},{430,11815,1},{430,11822,1},{433,11833,1},{435,11835,1}, {435,11838,1},{435,11855,1},{437,11855,1},{440,11860,1},{443,11860,1},{442,11862,1}, {443,11865,1},{445,11865,1},{450,11858,1},{452,11860,1},{452,11853,1},{450,11850,1}, {452,11848,1},{453,11847,1},{457,11848,1},{460,11848,1},{462,11843,1},{460,11842,1}, {463,11837,1},{468,11828,1},{478,11820,1},{483,11818,1},{485,11813,1},{488,11813,1}, {492,11817,1},{497,11822,1},{498,11825,1},{498,11828,1},{500,11830,1},{500,11832,1}, {503,11835,1},{502,11842,1},{495,11848,1},{493,11850,1},{497,11858,1},{493,11870,1}, {503,11892,1},{507,11907,1},{512,11918,1},{515,11922,1},{522,11927,1},{527,11927,1}, {535,11928,1},{540,11923,1},{545,11918,1},{543,11913,1},{540,11907,1},{543,11897,1}, {538,11897,1},{538,11893,1},{542,11893,1},{545,11892,1},{550,11883,1},{548,11882,1}, {552,11880,1},{555,11872,1},{563,11863,1},{562,11860,1},{557,11860,1},{552,11857,1}, {563,11857,1},{567,11860,1},{568,11858,1},{570,11855,1},{575,11847,1},{582,11837,1}, {578,11833,1},{583,11825,1},{580,11817,1},{578,11815,1},{575,11817,1},{573,11815,1}, {568,11813,1},{572,11810,1},{570,11807,1},{572,11805,1},{568,11797,1},{573,11795,1}, {575,11792,1},{580,11792,1},{582,11793,1},{580,11797,1},{582,11808,1},{587,11812,1}, {592,11808,1},{597,11807,1},{600,11805,1},{603,11805,1},{607,11802,1},{607,11798,1}, {595,11788,1},{595,11777,1},{592,11778,1},{590,11777,1},{592,11770,1},{590,11763,1}, {590,11755,1},{587,11747,1},{590,11750,1},{593,11763,1},{598,11768,1},{602,11767,1}, {602,11763,1},{605,11763,1},{607,11767,1},{608,11767,1},{618,11760,1},{622,11762,1}, {625,11765,1},{625,11772,1},{633,11773,1},{635,11772,1},{638,11773,1},{642,11773,1}, {645,11773,1},{647,11772,1},{645,11770,1},{648,11768,1},{652,11765,1},{652,11760,1}, {653,11757,1},{657,11757,1},{657,11753,1},{663,11753,1},{653,11747,1},{658,11740,1}, {662,11737,1},{663,11730,1},{667,11728,1},{673,11728,1},{682,11722,1},{687,11725,1}, {693,11725,1},{700,11715,1},{698,11713,1},{698,11708,1},{697,11707,1},{695,11708,1}, {693,11703,1},{692,11703,1},{683,11705,1},{675,11698,1},{672,11698,1},{663,11688,1}, {660,11687,1},{658,11680,1},{658,11678,1},{665,11678,1},{675,11685,1},{680,11687,1}, {685,11685,1},{685,11682,1},{690,11682,1},{690,11685,1},{697,11683,1},{702,11677,1}, {700,11673,1},{697,11672,1},{692,11672,1},{685,11665,1},{682,11667,1},{677,11665,1}, {670,11665,1},{655,11650,1},{648,11650,1},{637,11633,1},{630,11632,1},{630,11628,1}, {627,11623,1},{627,11627,1},{628,11628,1},{627,11628,1},{623,11628,1},{625,11625,1}, {623,11622,1},{613,11615,1},{612,11610,1},{610,11608,1},{610,11613,1},{607,11613,1}, {600,11612,1},{592,11605,1},{583,11605,1},{575,11592,1},{565,11590,1},{557,11585,1}, {553,11582,1},{552,11575,1},{553,11565,1},{557,11562,1},{552,11560,1},{553,11558,1}, {557,11558,1},{560,11562,1},{562,11562,1},{563,11560,1},{557,11557,1},{543,11543,1}, {540,11538,1},{530,11537,1},{533,11540,1},{532,11540,1},{528,11540,1},{520,11553,1}, {522,11560,1},{517,11557,1},{507,11555,1},{502,11548,1},{490,11535,1},{490,11532,1}, {493,11527,1},{493,11523,1},{497,11522,1},{492,11518,1},{490,11515,1},{482,11503,129}, {488,11502,1},{458,11408,129},{458,11397,1},{457,11397,1},{450,11398,1}, {443,11400,1},{437,11397,1},{432,11397,1},{425,11393,1},{417,11385,1},{398,11373,1}, {375,11343,1},{365,11340,1},{355,11330,1},{352,11330,1},{338,11318,1},{333,11315,1}, {328,11307,1},{327,11308,1},{323,11308,1},{317,11302,1},{310,11285,1},{297,11232,1}, {290,11210,1},{285,11167,1},{268,11145,1},{253,11142,1},{250,11147,1},{248,11152,1}, {247,11147,1},{248,11140,1},{242,11143,1},{235,11150,1},{237,11145,1},{233,11137,1}, {235,11135,1},{238,11132,1},{242,11125,1},{243,11125,1},{242,11122,1},{235,11120,1}, {225,11118,1},{223,11123,1},{222,11123,1},{222,11120,1},{215,11117,1},{215,11130,1}, {212,11133,1},{215,11133,1},{217,11135,1},{215,11137,1},{210,11133,1},{212,11125,1}, {212,11123,1},{208,11123,1},{207,11127,1},{207,11120,1},{195,11117,1},{183,11112,1}, {180,11112,1},{178,11113,1},{177,11110,1},{170,11112,1},{168,11115,1},{165,11118,1}, {165,11122,1},{162,11127,1},{162,11123,1},{163,11120,1},{162,11118,1},{168,11113,1}, {168,11110,1},{167,11103,1},{162,11102,1},{158,11100,1},{153,11102,1},{145,11107,1}, {140,11117,1},{142,11123,1},{142,11128,1},{140,11132,1},{137,11133,1},{135,11138,1}, {133,11133,1},{135,11130,1},{138,11125,1},{137,11115,1},{140,11107,1},{150,11097,1}, {157,11082,1},{157,11077,1},{150,11077,1},{147,11075,1},{145,11067,1},{150,11073,1}, {153,11073,1},{160,11058,1},{158,11053,1},{163,11052,1},{162,11047,1},{173,11052,1}, {172,11045,1},{168,11040,1},{170,11038,1},{173,11037,1},{175,11037,1},{180,11033,1}, {177,11030,1},{170,11030,1},{167,11028,1},{170,11025,1},{168,11022,1},{170,11018,1}, {170,11002,1},{168,10998,1},{168,10993,1},{175,10988,1},{178,10985,1},{187,10970,1}, {193,10965,1},{198,10967,1},{207,10965,1},{490,11515,129},{490,11512,1}, {487,11513,1},{483,11508,1},{480,11507,1},{480,11503,1},{482,11503,1},{488,11502,129}, {492,11502,1},{490,11498,1},{495,11503,1},{500,11505,1},{503,11510,1},{505,11510,1}, {505,11503,1},{500,11492,1},{485,11468,1},{470,11455,1},{468,11450,1},{465,11440,1}, {460,11428,1},{458,11420,1},{460,11417,1},{458,11408,1},{557,9523,129}, {557,9528,1},{560,9532,1},{562,9537,1},{565,9543,1},{565,9545,1},{560,9550,1}, {563,9560,1},{560,9567,1},{557,9577,1},{550,9588,1},{545,9590,1},{530,9607,1}, {527,9620,1},{527,9627,1},{523,9633,1},{522,9640,1},{522,9643,1},{523,9647,1}, {522,9652,1},{522,9665,1},{528,9682,1},{527,9690,1},{527,9698,1},{527,9705,1}, {522,9713,1},{517,9717,1},{515,9720,1},{522,9740,1},{525,9748,1},{525,9752,1}, {505,9768,1},{498,9778,1},{493,9783,1},{490,9790,1},{487,9792,1},{478,9797,1}, {468,9798,1},{462,9802,1},{453,9800,1},{455,9802,1},{453,9805,1},{455,9807,1}, {453,9808,1},{453,9813,1},{452,9817,1},{448,9818,1},{448,9822,1},{445,9823,1}, {442,9828,1},{435,9828,1},{430,9827,1},{420,9827,1},{417,9818,1},{410,9818,1}, {417,9827,1},{408,9830,1},{408,9838,1},{408,9840,1},{405,9847,1},{400,9850,1}, {400,9855,1},{393,9860,1},{392,9868,1},{378,9872,1},{372,9883,1},{363,9907,1}, {358,9913,1},{355,9920,1},{340,9937,1},{338,9943,1},{335,9948,1},{325,9955,1}, {318,9973,1},{310,9980,1},{307,9983,1},{300,9985,1},{302,9987,1},{300,9990,1}, {293,9998,1},{278,10000,1},{270,9995,1},{267,9998,1},{260,10000,1},{260,10002,1}, {262,10003,1},{263,10002,1},{268,10002,1},{270,9997,1},{273,10003,1},{273,10005,1}, {270,10007,1},{260,10008,1},{252,10012,1},{253,10013,1},{265,10012,1},{268,10013,1}, {270,10017,1},{270,10022,1},{267,10022,1},{265,10025,1},{258,10027,1},{257,10030,1}, {230,10042,1},{222,10048,1},{213,10060,1},{212,10063,1},{213,10067,1},{203,10082,1}, {195,10087,1},{188,10090,1},{183,10093,1},{183,10095,1},{187,10095,1},{195,10092,1}, {202,10090,1},{210,10082,1},{217,10080,1},{223,10080,1},{228,10083,1},{230,10093,1}, {228,10107,1},{225,10105,1},{220,10107,1},{207,10127,1},{202,10132,1},{192,10133,1}, {178,10137,1},{173,10140,1},{170,10143,1},{165,10157,1},{167,10168,1},{165,10175,1}, {145,10200,1},{138,10213,1},{133,10215,1},{125,10215,1},{120,10220,1},{110,10218,1}, {102,10222,1},{97,10225,1},{90,10235,1},{78,10243,1},{73,10255,1},{75,10267,1}, {73,10278,1},{73,10288,1},{70,10293,1},{52,10308,1},{47,10308,1},{45,10308,1}, {27,10275,1},{23,10262,1},{18,10258,1},{20,10253,1},{25,10248,1},{25,10243,1}, {23,10248,1},{18,10252,1},{15,10258,1},{15,10260,1},{22,10267,1},{22,10273,1}, {25,10280,1},{25,10288,1},{33,10302,1},{38,10307,1},{42,10318,1},{48,10322,1}, {50,10328,1},{53,10335,1},{50,10345,1},{42,10355,1},{37,10360,1},{32,10360,1}, {33,10363,1},{28,10373,1},{25,10375,1},{0,10382,1},{-2,10367,1},{-5,10367,1}, {-5,10363,1},{-2,10358,1},{-3,10357,1},{-5,10358,1},{-10,10358,1},{-12,10355,1}, {-12,10348,1},{-17,10348,1},{-22,10342,1},{-27,10327,1},{-25,10337,1},{-22,10348,1}, {-23,10350,1},{-25,10348,1},{-35,10342,1},{-37,10333,1},{-38,10338,1},{-38,10350,1}, {-42,10357,1},{-43,10360,1},{-50,10352,1},{-52,10342,1},{-52,10340,1},{-45,10337,1}, {-52,10338,1},{-57,10342,1},{-63,10340,1},{-65,10337,1},{-68,10338,1},{-70,10333,1}, {-73,10338,1},{-77,10347,1},{-78,10347,1},{-82,10343,1},{-80,10348,1},{-82,10352,1}, {-87,10355,1},{-88,10358,1},{-95,10365,1},{-95,10368,1},{-98,10373,1},{-102,10380,1}, {-108,10382,1},{-103,10383,1},{-102,10387,1},{-98,10395,1},{-102,10405,1}, {-103,10412,1},{-108,10420,1},{-103,10435,1},{-103,10438,1},{-113,10442,1}, {-122,10440,1},{-135,10445,1},{-147,10445,1},{-157,10447,1},{-177,10453,1}, {-180,10453,1},{-183,10450,1},{-187,10448,1},{-193,10448,1},{-193,10450,1}, {-192,10452,1},{-185,10455,1},{-193,10463,1},{-198,10462,1},{-202,10458,1}, {-202,10462,1},{-198,10465,1},{-198,10467,1},{-203,10467,1},{-205,10468,1}, {-200,10475,1},{-200,10482,1},{-207,10487,1},{-213,10488,1},{-220,10487,1}, {-235,10475,1},{-235,10467,1},{-240,10460,1},{-237,10470,1},{-238,10472,1}, {-240,10473,1},{-257,10472,1},{-265,10458,1},{-270,10455,1},{-277,10453,1}, {-275,10455,1},{-267,10460,1},{-260,10473,1},{-248,10477,1},{-242,10477,1}, {-237,10482,1},{-228,10487,1},{-230,10490,1},{-235,10490,1},{-238,10492,1}, {-233,10493,1},{-233,10497,1},{-233,10500,1},{-237,10503,1},{-238,10512,1}, {-235,10523,1},{-238,10535,1},{-240,10555,1},{-242,10553,1},{-240,10562,1}, {-243,10563,1},{-253,10560,1},{-260,10562,1},{-267,10568,1},{-270,10578,1}, {-285,10578,1},{-290,10582,1},{-293,10583,1},{-297,10590,1},{-295,10598,1}, {-300,10603,1},{-305,10605,1},{-315,10605,1},{-323,10608,1},{-327,10607,1}, {-332,10598,1},{-342,10590,1},{-368,10582,1},{-373,10582,1},{-380,10593,1}, {-385,10595,1},{-405,10585,1},{-425,10582,1},{-433,10582,1},{-438,10585,1}, {-440,10585,1},{-447,10590,1},{-457,10590,1},{-462,10588,1},{-467,10590,1}, {-468,10588,1},{-480,10587,1},{-487,10588,1},{-493,10592,1},{-507,10587,1}, {-525,10587,1},{-533,10583,1},{-548,10583,1},{-553,10582,1},{-560,10583,1}, {-572,10580,1},{-583,10578,1},{-590,10573,1},{-583,10572,1},{-580,10560,1}, {-577,10558,1},{-570,10558,1},{-567,10555,1},{-567,10553,1},{-568,10552,1}, {-567,10548,1},{-562,10543,1},{-545,10528,1},{-545,10527,1},{-547,10525,1}, {-552,10525,1},{-557,10523,1},{-558,10517,1},{-563,10520,1},{-568,10520,1}, {-570,10522,1},{-572,10517,1},{-573,10515,1},{-575,10522,1},{-577,10522,1}, {-580,10513,1},{-577,10510,1},{-575,10508,1},{-575,10505,1},{-570,10497,1}, {-568,10492,1},{-560,10478,1},{-552,10468,1},{-548,10462,1},{-550,10462,1}, {-550,10455,1},{-555,10453,1},{-560,10455,1},{-570,10463,1},{-583,10470,1}, {-592,10472,1},{-593,10467,1},{-592,10455,1},{-588,10455,1},{-583,10453,1}, {-578,10447,1},{-568,10437,1},{-565,10428,1},{-562,10428,1},{-562,10430,1}, {-560,10432,1},{-555,10427,1},{-553,10420,1},{-550,10418,1},{-545,10410,1}, {-532,10398,1},{-528,10400,1},{-525,10400,1},{-522,10390,1},{-517,10392,1}, {-512,10390,1},{-503,10378,1},{-502,10373,1},{-498,10373,1},{-497,10372,1}, {-497,10367,1},{-498,10365,1},{-497,10365,1},{-492,10362,1},{-492,10355,1}, {-487,10348,1},{-487,10342,1},{-480,10338,1},{-480,10337,1},{-480,10333,1}, {-475,10330,1},{-467,10323,1},{-455,10305,1},{-448,10290,1},{-443,10288,1}, {-437,10282,1},{-425,10267,1},{-400,10233,1},{-397,10228,1},{-392,10228,1}, {-388,10232,1},{-387,10232,1},{-380,10227,1},{-375,10227,1},{-373,10223,1}, {-370,10225,1},{-365,10222,1},{-347,10193,1},{-325,10163,1},{-322,10160,1}, {-303,10147,1},{-272,10132,1},{-265,10118,1},{-258,10110,1},{-232,10090,1}, {-217,10083,1},{-207,10088,1},{-193,10087,1},{-162,10065,1},{-150,10063,1}, {-150,10060,1},{-145,10057,1},{-142,10058,1},{-140,10057,1},{-138,10058,1}, {-132,10057,1},{-130,10050,1},{-127,10047,1},{-127,10042,1},{-125,10042,1}, {-123,10043,1},{-120,10043,1},{-120,10042,1},{-117,10042,1},{-115,10037,1}, {-112,10038,1},{-108,10037,1},{-107,10042,1},{-105,10042,1},{-103,10040,1}, {-103,10038,1},{-102,10038,1},{-100,10037,1},{-87,10033,1},{-83,10032,1}, {-65,10013,1},{-57,10008,1},{-47,10002,1},{-40,9992,1},{-37,9990,1},{-32,9982,1}, {-23,9980,1},{-15,9975,1},{-10,9977,1},{-7,9977,1},{8,9963,1},{15,9952,1}, {17,9940,1},{22,9937,1},{23,9933,1},{23,9930,1},{22,9925,1},{22,9922,1}, {25,9918,1},{23,9917,1},{27,9913,1},{32,9915,1},{35,9912,1},{42,9913,1}, {52,9912,1},{52,9908,1},{58,9910,1},{63,9908,1},{63,9903,1},{77,9903,1}, {85,9897,1},{90,9898,1},{110,9892,1},{128,9885,1},{135,9885,1},{143,9878,1}, {148,9877,1},{152,9873,1},{157,9870,1},{157,9873,1},{153,9877,1},{157,9878,1}, {160,9880,1},{162,9882,1},{167,9882,1},{168,9878,1},{175,9877,1},{178,9873,1}, {178,9870,1},{175,9872,1},{172,9872,1},{175,9867,1},{190,9857,1},{195,9852,1}, {200,9842,1},{200,9835,1},{203,9833,1},{203,9827,1},{208,9823,1},{218,9812,1}, {227,9795,1},{227,9792,1},{223,9787,1},{225,9783,1},{225,9782,1},{228,9780,1}, {227,9775,1},{242,9765,1},{265,9765,1},{277,9763,1},{287,9760,1},{288,9758,1}, {288,9753,1},{290,9750,1},{292,9743,1},{297,9738,1},{307,9732,1},{318,9728,1}, {322,9727,1},{325,9717,1},{352,9702,1},{360,9692,1},{368,9688,1},{375,9678,1}, {375,9670,1},{375,9653,1},{377,9648,1},{387,9638,1},{402,9628,1},{412,9618,1}, {413,9615,1},{413,9612,1},{422,9605,1},{422,9602,1},{428,9595,1},{440,9585,1}, {455,9570,1},{458,9565,1},{463,9560,1},{463,9557,1},{467,9557,1},{468,9553,1}, {475,9550,1},{482,9542,1},{485,9542,1},{502,9535,1},{503,9535,1},{508,9532,1}, {512,9530,1},{512,9528,1},{515,9530,1},{517,9530,1},{523,9525,1},{528,9523,1}, {528,9520,1},{533,9523,1},{537,9523,1},{540,9525,1},{545,9523,1},{547,9525,1}, {548,9522,1},{553,9520,1},{558,9522,1},{557,9523,1},{557,9528,1},{560,9532,1}, {562,9537,1},{565,9543,1},{565,9545,1},{560,9550,1},{563,9560,1},{560,9567,1}, {557,9577,1},{550,9588,1},{545,9590,1},{530,9607,1},{527,9620,1},{527,9627,1}, {523,9633,1},{522,9640,1},{522,9643,1},{523,9647,1},{522,9652,1},{522,9665,1}, {528,9682,1},{527,9690,1},{527,9698,1},{527,9705,1},{522,9713,1},{517,9717,1}, {515,9720,1},{522,9740,1},{525,9748,1},{525,9752,1},{505,9768,1},{498,9778,1}, {493,9783,1},{490,9790,1},{487,9792,1},{478,9797,1},{468,9798,1},{462,9802,1}, {453,9800,1},{455,9802,1},{453,9805,1},{455,9807,1},{453,9808,1},{453,9813,1}, {452,9817,1},{448,9818,1},{448,9822,1},{445,9823,1},{442,9828,1},{435,9828,1}, {430,9827,1},{420,9827,1},{417,9818,1},{410,9818,1},{417,9827,1},{408,9830,1}, {408,9838,1},{408,9840,1},{405,9847,1},{400,9850,1},{400,9855,1},{393,9860,1}, {392,9868,1},{378,9872,1},{372,9883,1},{363,9907,1},{358,9913,1},{355,9920,1}, {340,9937,1},{338,9943,1},{335,9948,1},{325,9955,1},{318,9973,1},{310,9980,1}, {307,9983,1},{300,9985,1},{302,9987,1},{300,9990,1},{293,9998,1},{278,10000,1}, {270,9995,1},{267,9998,1},{260,10000,1},{260,10002,1},{262,10003,1},{263,10002,1}, {268,10002,1},{270,9997,1},{273,10003,1},{273,10005,1},{270,10007,1},{260,10008,1}, {252,10012,1},{253,10013,1},{265,10012,1},{268,10013,1},{270,10017,1},{270,10022,1}, {267,10022,1},{265,10025,1},{258,10027,1},{257,10030,1},{230,10042,1},{222,10048,1}, {213,10060,1},{212,10063,1},{213,10067,1},{203,10082,1},{195,10087,1},{188,10090,1}, {183,10093,1},{183,10095,1},{187,10095,1},{195,10092,1},{202,10090,1},{210,10082,1}, {217,10080,1},{223,10080,1},{228,10083,1},{230,10093,1},{228,10107,1},{225,10105,1}, {220,10107,1},{207,10127,1},{202,10132,1},{192,10133,1},{178,10137,1},{173,10140,1}, {170,10143,1},{165,10157,1},{167,10168,1},{165,10175,1},{145,10200,1},{138,10213,1}, {133,10215,1},{125,10215,1},{120,10220,1},{110,10218,1},{102,10222,1},{97,10225,1}, {90,10235,1},{78,10243,1},{73,10255,1},{75,10267,1},{73,10278,1},{73,10288,1}, {70,10293,1},{52,10308,1},{47,10308,1},{45,10308,1},{27,10275,1},{23,10262,1}, {18,10258,1},{20,10253,1},{25,10248,1},{25,10243,1},{23,10248,1},{18,10252,1}, {15,10258,1},{15,10260,1},{22,10267,1},{22,10273,1},{25,10280,1},{25,10288,1}, {33,10302,1},{38,10307,1},{42,10318,1},{48,10322,1},{50,10328,1},{53,10335,1}, {50,10345,1},{42,10355,1},{37,10360,1},{32,10360,1},{33,10363,1},{28,10373,1}, {25,10375,1},{0,10382,1},{-2,10367,1},{-5,10367,1},{-5,10363,1},{-2,10358,1}, {-3,10357,1},{-5,10358,1},{-10,10358,1},{-12,10355,1},{-12,10348,1},{-17,10348,1}, {-22,10342,1},{-27,10327,1},{-25,10337,1},{-22,10348,1},{-23,10350,1},{-25,10348,1}, {-35,10342,1},{-37,10333,1},{-38,10338,1},{-38,10350,1},{-42,10357,1},{-43,10360,1}, {-50,10352,1},{-52,10342,1},{-52,10340,1},{-45,10337,1},{-52,10338,1},{-57,10342,1}, {-63,10340,1},{-65,10337,1},{-68,10338,1},{-70,10333,1},{-73,10338,1},{-77,10347,1}, {-78,10347,1},{-82,10343,1},{-80,10348,1},{-82,10352,1},{-87,10355,1},{-88,10358,1}, {-95,10365,1},{-95,10368,1},{-98,10373,1},{-102,10380,1},{-108,10382,1}, {-103,10383,1},{-102,10387,1},{-98,10395,1},{-102,10405,1},{-103,10412,1}, {-108,10420,1},{-103,10435,1},{-103,10438,1},{-113,10442,1},{-122,10440,1}, {-135,10445,1},{-147,10445,1},{-157,10447,1},{-177,10453,1},{-180,10453,1}, {-183,10450,1},{-187,10448,1},{-193,10448,1},{-193,10450,1},{-192,10452,1}, {-185,10455,1},{-193,10463,1},{-198,10462,1},{-202,10458,1},{-202,10462,1}, {-198,10465,1},{-198,10467,1},{-203,10467,1},{-205,10468,1},{-200,10475,1}, {-200,10482,1},{-207,10487,1},{-213,10488,1},{-220,10487,1},{-235,10475,1}, {-235,10467,1},{-240,10460,1},{-237,10470,1},{-238,10472,1},{-240,10473,1}, {-257,10472,1},{-265,10458,1},{-270,10455,1},{-277,10453,1},{-275,10455,1}, {-267,10460,1},{-260,10473,1},{-248,10477,1},{-242,10477,1},{-237,10482,1}, {-228,10487,1},{-230,10490,1},{-235,10490,1},{-238,10492,1},{-233,10493,1}, {-233,10497,1},{-233,10500,1},{-237,10503,1},{-238,10512,1},{-235,10523,1}, {-238,10535,1},{-240,10555,1},{-242,10553,1},{-240,10562,1},{-243,10563,1}, {-253,10560,1},{-260,10562,1},{-267,10568,1},{-270,10578,1},{-285,10578,1}, {-290,10582,1},{-293,10583,1},{-297,10590,1},{-295,10598,1},{-300,10603,1}, {-305,10605,1},{-315,10605,1},{-323,10608,1},{-327,10607,1},{-332,10598,1}, {-342,10590,1},{-368,10582,1},{-373,10582,1},{-380,10593,1},{-385,10595,1}, {-405,10585,1},{-425,10582,1},{-433,10582,1},{-438,10585,1},{-440,10585,1}, {-447,10590,1},{-457,10590,1},{-462,10588,1},{-467,10590,1},{-468,10588,1}, {-480,10587,1},{-487,10588,1},{-493,10592,1},{-507,10587,1},{-525,10587,1}, {-533,10583,1},{-548,10583,1},{-553,10582,1},{-560,10583,1},{-572,10580,1}, {-583,10578,1},{-590,10573,1},{-583,10572,1},{-580,10560,1},{-577,10558,1}, {-570,10558,1},{-567,10555,1},{-567,10553,1},{-568,10552,1},{-567,10548,1}, {-562,10543,1},{-545,10528,1},{-545,10527,1},{-547,10525,1},{-552,10525,1}, {-557,10523,1},{-558,10517,1},{-563,10520,1},{-568,10520,1},{-570,10522,1}, {-572,10517,1},{-573,10515,1},{-575,10522,1},{-577,10522,1},{-580,10513,1}, {-577,10510,1},{-575,10508,1},{-575,10505,1},{-570,10497,1},{-568,10492,1}, {-560,10478,1},{-552,10468,1},{-548,10462,1},{-550,10462,1},{-550,10455,1}, {-555,10453,1},{-560,10455,1},{-570,10463,1},{-583,10470,1},{-592,10472,1}, {-593,10467,1},{-592,10455,1},{-588,10455,1},{-583,10453,1},{-578,10447,1}, {-568,10437,1},{-565,10428,1},{-562,10428,1},{-562,10430,1},{-560,10432,1}, {-555,10427,1},{-553,10420,1},{-550,10418,1},{-545,10410,1},{-532,10398,1}, {-528,10400,1},{-525,10400,1},{-522,10390,1},{-517,10392,1},{-512,10390,1}, {-503,10378,1},{-502,10373,1},{-498,10373,1},{-497,10372,1},{-497,10367,1}, {-498,10365,1},{-497,10365,1},{-492,10362,1},{-492,10355,1},{-487,10348,1}, {-487,10342,1},{-480,10338,1},{-480,10337,1},{-480,10333,1},{-475,10330,1}, {-467,10323,1},{-455,10305,1},{-448,10290,1},{-443,10288,1},{-437,10282,1}, {-425,10267,1},{-400,10233,1},{-397,10228,1},{-392,10228,1},{-388,10232,1}, {-387,10232,1},{-380,10227,1},{-375,10227,1},{-373,10223,1},{-370,10225,1}, {-365,10222,1},{-347,10193,1},{-325,10163,1},{-322,10160,1},{-303,10147,1}, {-272,10132,1},{-265,10118,1},{-258,10110,1},{-232,10090,1},{-217,10083,1}, {-207,10088,1},{-193,10087,1},{-162,10065,1},{-150,10063,1},{-150,10060,1}, {-145,10057,1},{-142,10058,1},{-140,10057,1},{-138,10058,1},{-132,10057,1}, {-130,10050,1},{-127,10047,1},{-127,10042,1},{-125,10042,1},{-123,10043,1}, {-120,10043,1},{-120,10042,1},{-117,10042,1},{-115,10037,1},{-112,10038,1}, {-108,10037,1},{-107,10042,1},{-105,10042,1},{-103,10040,1},{-103,10038,1}, {-102,10038,1},{-100,10037,1},{-87,10033,1},{-83,10032,1},{-65,10013,1}, {-57,10008,1},{-47,10002,1},{-40,9992,1},{-37,9990,1},{-32,9982,1},{-23,9980,1}, {-15,9975,1},{-10,9977,1},{-7,9977,1},{8,9963,1},{15,9952,1},{17,9940,1}, {22,9937,1},{23,9933,1},{23,9930,1},{22,9925,1},{22,9922,1},{25,9918,1}, {23,9917,1},{27,9913,1},{32,9915,1},{35,9912,1},{42,9913,1},{52,9912,1}, {52,9908,1},{58,9910,1},{63,9908,1},{63,9903,1},{77,9903,1},{85,9897,1}, {90,9898,1},{110,9892,1},{128,9885,1},{135,9885,1},{143,9878,1},{148,9877,1}, {152,9873,1},{157,9870,1},{157,9873,1},{153,9877,1},{157,9878,1},{160,9880,1}, {162,9882,1},{167,9882,1},{168,9878,1},{175,9877,1},{178,9873,1},{178,9870,1}, {175,9872,1},{172,9872,1},{175,9867,1},{190,9857,1},{195,9852,1},{200,9842,1}, {200,9835,1},{203,9833,1},{203,9827,1},{208,9823,1},{218,9812,1},{227,9795,1}, {227,9792,1},{223,9787,1},{225,9783,1},{225,9782,1},{228,9780,1},{227,9775,1}, {242,9765,1},{265,9765,1},{277,9763,1},{287,9760,1},{288,9758,1},{288,9753,1}, {290,9750,1},{292,9743,1},{297,9738,1},{307,9732,1},{318,9728,1},{322,9727,1}, {325,9717,1},{352,9702,1},{360,9692,1},{368,9688,1},{375,9678,1},{375,9670,1}, {375,9653,1},{377,9648,1},{387,9638,1},{402,9628,1},{412,9618,1},{413,9615,1}, {413,9612,1},{422,9605,1},{422,9602,1},{428,9595,1},{440,9585,1},{455,9570,1}, {458,9565,1},{463,9560,1},{463,9557,1},{467,9557,1},{468,9553,1},{475,9550,1}, {482,9542,1},{485,9542,1},{502,9535,1},{503,9535,1},{508,9532,1},{512,9530,1}, {512,9528,1},{515,9530,1},{517,9530,1},{523,9525,1},{528,9523,1},{528,9520,1}, {533,9523,1},{537,9523,1},{540,9525,1},{545,9523,1},{547,9525,1},{548,9522,1}, {553,9520,1},{558,9522,1},{557,9523,1},{237,9647,129},{233,9642,1},{237,9637,1}, {235,9633,1},{237,9632,1},{238,9633,1},{240,9628,1},{242,9630,1},{247,9622,1}, {258,9607,1},{260,9602,1},{258,9600,1},{260,9597,1},{258,9593,1},{262,9590,1}, {262,9588,1},{263,9588,1},{265,9587,1},{265,9578,1},{270,9578,1},{275,9573,1}, {278,9573,1},{277,9570,1},{282,9570,1},{285,9572,1},{285,9578,1},{288,9577,1}, {293,9580,1},{292,9582,1},{292,9588,1},{288,9592,1},{288,9587,1},{285,9588,1}, {283,9595,1},{277,9602,1},{277,9608,1},{273,9612,1},{272,9613,1},{265,9610,1}, {265,9615,1},{265,9617,1},{268,9615,1},{265,9618,1},{260,9623,1},{255,9633,1}, {247,9638,1},{248,9640,1},{252,9640,1},{250,9642,1},{250,9643,1},{247,9647,1}, {238,9648,1},{237,9648,1},{235,9645,1},{-177,9920,129},{-180,9912,1},{-177,9903,1}, {-170,9893,1},{-168,9887,1},{-163,9885,1},{-162,9883,1},{-158,9883,1},{-152,9880,1}, {-130,9863,1},{-127,9863,1},{-122,9860,1},{-118,9860,1},{-108,9865,1},{-97,9867,1}, {-95,9870,1},{-97,9878,1},{-92,9888,1},{-93,9888,1},{-95,9892,1},{-97,9893,1}, {-100,9893,1},{-100,9890,1},{-107,9893,1},{-110,9898,1},{-115,9900,1},{-118,9903,1}, {-122,9903,1},{-123,9907,1},{-128,9905,1},{-128,9908,1},{-137,9912,1},{-142,9917,1}, {-145,9917,1},{-143,9913,1},{-145,9913,1},{-152,9920,1},{-155,9920,1},{-158,9922,1}, {-158,9925,1},{-162,9928,1},{-167,9928,1},{-170,9930,1},{-173,9928,1},{-162,9923,1}, {-163,9920,1},{-165,9922,1},{-177,9925,1},{-178,9923,1},{-177,9920,1},{93,9792,129}, {88,9790,1},{82,9790,1},{78,9788,1},{63,9788,1},{55,9782,1},{58,9778,1}, {57,9775,1},{57,9773,1},{58,9773,1},{57,9772,1},{58,9768,1},{60,9768,1}, {63,9768,1},{67,9765,1},{72,9765,1},{82,9762,1},{88,9753,1},{90,9748,1}, {93,9750,1},{93,9748,1},{95,9742,1},{93,9738,1},{100,9740,1},{117,9730,1}, {123,9725,1},{127,9725,1},{128,9720,1},{140,9710,1},{140,9707,1},{142,9707,1}, {143,9712,1},{143,9713,1},{140,9717,1},{142,9718,1},{140,9722,1},{142,9725,1}, {148,9733,1},{153,9733,1},{153,9735,1},{150,9738,1},{152,9742,1},{150,9743,1}, {147,9745,1},{147,9748,1},{140,9753,1},{133,9760,1},{118,9768,1},{115,9775,1}, {115,9778,1},{107,9783,1},{105,9788,1},{103,9792,1},{97,9793,1},{93,9792,1}, {-148,10588,129},{-150,10592,1},{-153,10593,1},{-155,10598,1},{-158,10603,1}, {-160,10605,1},{-163,10603,1},{-168,10603,1},{-175,10608,1},{-178,10610,1}, {-180,10613,1},{-185,10613,1},{-188,10618,1},{-200,10617,1},{-213,10618,1}, {-235,10625,1},{-243,10632,1},{-248,10638,1},{-248,10647,1},{-252,10657,1}, {-257,10682,1},{-258,10683,1},{-262,10675,1},{-268,10668,1},{-288,10660,1}, {-295,10662,1},{-297,10665,1},{-297,10668,1},{-300,10670,1},{-300,10675,1}, {-307,10673,1},{-308,10675,1},{-310,10672,1},{-310,10667,1},{-308,10665,1}, {-308,10658,1},{-310,10657,1},{-310,10652,1},{-303,10650,1},{-302,10647,1}, {-298,10643,1},{-297,10635,1},{-292,10628,1},{-287,10615,1},{-285,10610,1}, {-283,10598,1},{-282,10597,1},{-272,10592,1},{-265,10590,1},{-260,10590,1}, {-252,10593,1},{-248,10593,1},{-245,10592,1},{-243,10585,1},{-238,10582,1}, {-230,10583,1},{-223,10580,1},{-217,10580,1},{-215,10578,1},{-213,10575,1}, {-212,10560,1},{-207,10557,1},{-210,10548,1},{-213,10545,1},{-213,10532,1}, {-213,10528,1},{-207,10525,1},{-207,10513,1},{-202,10512,1},{-195,10513,1}, {-192,10518,1},{-188,10528,1},{-180,10540,1},{-175,10540,1},{-170,10533,1}, {-168,10535,1},{-165,10535,1},{-163,10538,1},{-160,10540,1},{-160,10543,1}, {-157,10547,1},{-157,10555,1},{-153,10558,1},{-153,10560,1},{-160,10562,1}, {-163,10565,1},{-167,10570,1},{-172,10565,1},{-177,10568,1},{-178,10572,1}, {-177,10575,1},{-180,10578,1},{-178,10582,1},{-172,10575,1},{-168,10575,1}, {-165,10575,1},{-163,10573,1},{-153,10570,1},{-153,10583,1},{-150,10587,1}, {-150,10590,1},{-255,10772,129},{-255,10778,1},{-253,10782,1},{-255,10783,1}, {-258,10790,1},{-257,10793,1},{-258,10800,1},{-265,10803,1},{-260,10805,1}, {-262,10810,1},{-268,10817,1},{-267,10818,1},{-268,10820,1},{-273,10823,1}, {-275,10827,1},{-285,10830,1},{-288,10828,1},{-300,10820,1},{-305,10822,1}, {-310,10818,1},{-313,10820,1},{-317,10808,1},{-318,10807,1},{-323,10808,1}, {-323,10803,1},{-325,10798,1},{-323,10797,1},{-315,10797,1},{-312,10792,1}, {-310,10788,1},{-308,10790,1},{-305,10787,1},{-308,10782,1},{-312,10785,1}, {-317,10783,1},{-323,10765,1},{-322,10762,1},{-318,10762,1},{-313,10763,1}, {-310,10760,1},{-300,10758,1},{-292,10762,1},{-292,10758,1},{-293,10757,1}, {-292,10755,1},{-290,10755,1},{-287,10760,1},{-285,10762,1},{-282,10762,1}, {-278,10760,1},{-275,10763,1},{-268,10763,1},{-263,10765,1},{-258,10765,1}, {-257,10767,1},{-255,10772,1},{102,10467,129},{98,10465,1},{92,10467,1}, {90,10462,1},{83,10460,1},{82,10458,1},{85,10448,1},{88,10448,1},{92,10445,1}, {92,10448,1},{93,10448,1},{95,10442,1},{97,10442,1},{98,10447,1},{100,10445,1}, {102,10448,1},{105,10445,1},{105,10442,1},{102,10438,1},{102,10433,1},{100,10432,1}, {100,10425,1},{103,10423,1},{108,10423,1},{113,10433,1},{117,10433,1},{117,10438,1}, {120,10440,1},{117,10448,1},{117,10452,1},{120,10457,1},{122,10457,1},{123,10458,1}, {122,10460,1},{118,10458,1},{113,10458,1},{110,10465,1},{102,10467,1},{113,10415,129}, {105,10413,1},{107,10410,1},{105,10410,1},{100,10410,1},{98,10408,1},{98,10402,1}, {100,10400,1},{100,10395,1},{103,10392,1},{108,10390,1},{108,10395,1},{113,10395,1}, {113,10402,1},{118,10403,1},{113,10408,1},{115,10410,1},{118,10408,1},{118,10412,1}, {117,10415,1},{113,10415,1},{87,10317,129},{83,10315,1},{83,10312,1},{87,10305,1}, {90,10297,1},{97,10290,1},{98,10283,1},{103,10278,1},{103,10272,1},{100,10265,1}, {102,10262,1},{108,10268,1},{115,10272,1},{117,10275,1},{117,10280,1},{113,10288,1}, {108,10297,1},{102,10305,1},{88,10317,1},{85,10317,1},{80,10305,129},{72,10305,1}, {70,10302,1},{70,10300,1},{77,10293,1},{80,10287,1},{80,10265,1},{77,10255,1}, {80,10248,1},{88,10240,1},{92,10243,1},{95,10250,1},{108,10247,1},{112,10248,1}, {113,10250,1},{113,10253,1},{108,10260,1},{105,10262,1},{102,10260,1},{100,10262,1}, {102,10272,1},{100,10278,1},{93,10288,1},{83,10303,1},{78,10305,1},{122,10248,129}, {110,10245,1},{97,10247,1},{95,10243,1},{92,10238,1},{92,10237,1},{102,10228,1}, {105,10225,1},{110,10223,1},{120,10225,1},{128,10220,1},{135,10222,1},{140,10220,1}, {140,10222,1},{140,10228,1},{135,10235,1},{125,10247,1},{120,10248,1},{145,10250,129}, {128,10250,1},{127,10250,1},{128,10247,1},{142,10232,1},{145,10215,1},{147,10210,1}, {152,10205,1},{160,10200,1},{162,10203,1},{160,10210,1},{157,10218,1},{155,10233,1}, {153,10243,1},{150,10248,1},{143,10250,1},{195,10177,129},{187,10173,1}, {180,10173,1},{178,10172,1},{172,10165,1},{172,10160,1},{172,10155,1},{173,10147,1}, {178,10145,1},{187,10142,1},{192,10140,1},{200,10140,1},{205,10142,1},{207,10147,1}, {205,10155,1},{210,10160,1},{212,10163,1},{208,10170,1},{200,10177,1},{193,10177,1}, {207,10965,129},{208,10963,1},{207,10963,1},{198,10957,1},{193,10933,1}, {183,10933,1},{178,10928,1},{178,10930,1},{182,10933,1},{182,10935,1},{177,10932,1}, {170,10928,1},{165,10923,1},{157,10912,1},{153,10907,1},{137,10907,1},{122,10898,1}, {122,10905,1},{127,10913,1},{140,10923,1},{140,10927,1},{135,10923,1},{127,10917,1}, {122,10910,1},{117,10892,1},{112,10893,1},{100,10898,1},{95,10898,1},{88,10893,1}, {87,10892,1},{87,10888,1},{82,10885,1},{75,10888,1},{70,10887,1},{67,10892,1}, {62,10893,1},{50,10890,1},{42,10895,1},{35,10892,1},{32,10892,1},{30,10893,1}, {28,10905,1},{22,10912,1},{10,10917,1},{0,10930,1},{3,10917,1},{2,10915,1}, {0,10915,1},{-7,10918,1},{-18,10918,1},{-23,10922,1},{-22,10918,1},{-20,10912,1}, {-22,10907,1},{-23,10905,1},{-28,10907,1},{-25,10907,1},{-27,10910,1},{-28,10908,1}, {-33,10910,1},{-37,10913,1},{-37,10910,1},{-50,10912,1},{-57,10917,1},{-55,10920,1}, {-57,10922,1},{-60,10927,1},{-58,10937,1},{-62,10942,1},{-62,10937,1},{-62,10935,1}, {-63,10937,1},{-65,10935,1},{-67,10940,1},{-72,10945,1},{-73,10952,1},{-75,10947,1}, {-73,10943,1},{-70,10938,1},{-70,10930,1},{-67,10927,1},{-73,10925,1},{-85,10927,1}, {-88,10928,1},{-92,10938,1},{-90,10942,1},{-87,10942,1},{-85,10943,1},{-88,10957,1}, {-92,10958,1},{-95,10960,1},{-95,10963,1},{-98,10967,1},{-95,10972,1},{-90,10972,1}, {-87,10975,1},{-88,10977,1},{-92,10973,1},{-95,10973,1},{-103,10978,1}, {-105,10980,1},{-108,10983,1},{-112,10995,1},{-120,10992,1},{-123,10995,1}, {-127,10995,1},{-128,11000,1},{-133,11005,1},{-138,11007,1},{-147,11007,1}, {-150,11005,1},{-165,11003,1},{-173,11000,1},{-178,10992,1},{-180,10990,1}, {-182,10992,1},{-183,10990,1},{-187,10995,1},{-195,11008,1},{-207,11013,1}, {-217,11010,1},{-223,11010,1},{-230,11013,1},{-245,11017,1},{-255,11023,1}, {-253,11028,1},{-257,11025,1},{-255,11020,1},{-263,11015,1},{-267,11022,1}, {-275,11022,1},{-280,11025,1},{-290,11020,1},{-298,11023,1},{-302,11028,1}, {-298,11032,1},{-288,11048,1},{-287,11053,1},{-288,11058,1},{-290,11060,1}, {-302,11065,1},{-305,11062,1},{-308,11067,1},{-305,11072,1},{-295,11078,1}, {-292,11088,1},{-288,11092,1},{-288,11097,1},{-290,11097,1},{-298,11078,1}, {-303,11075,1},{-303,11083,1},{-308,11090,1},{-310,11095,1},{-307,11107,1}, {-298,11118,1},{-292,11133,1},{-295,11148,1},{-302,11155,1},{-298,11163,1}, {-293,11170,1},{-290,11167,1},{-287,11172,1},{-278,11170,1},{-275,11175,1}, {-280,11173,1},{-283,11175,1},{-290,11175,1},{-298,11180,1},{-305,11183,1}, {-320,11182,1},{-340,11185,1},{-353,11180,1},{-357,11187,1},{-357,11192,1}, {-355,11195,1},{-335,11217,1},{-332,11225,1},{-332,11230,1},{-335,11242,1}, {-345,11255,1},{-342,11258,1},{-342,11265,1},{-332,11277,1},{-317,11302,1}, {-315,11302,1},{-315,11297,1},{-310,11295,1},{-305,11298,1},{-305,11302,1}, {-303,11302,1},{-293,11303,1},{-302,11308,1},{-307,11313,1},{-310,11320,1}, {-317,11323,1},{-322,11330,1},{-327,11335,1},{-317,11332,1},{-327,11337,1}, {-325,11343,1},{-320,11345,1},{-318,11348,1},{-317,11362,1},{-325,11365,1}, {-335,11363,1},{-343,11362,1},{-348,11367,1},{-345,11383,1},{-337,11403,1}, {-328,11410,1},{-320,11412,1},{-335,11410,1},{-337,11412,1},{-338,11422,1}, {-333,11428,1},{-325,11433,1},{-322,11437,1},{-325,11435,1},{-330,11432,1}, {-335,11430,1},{-337,11427,1},{-340,11427,1},{-350,11443,1},{-350,11448,1}, {-338,11450,1},{-335,11455,1},{-343,11453,1},{-353,11452,1},{-362,11458,1}, {-368,11460,1},{-387,11460,1},{-402,11463,1},{-413,11462,1},{-417,11462,1}, {-418,11463,1},{-417,11472,1},{-405,11492,1},{-392,11522,1},{-380,11555,1}, {-373,11567,1},{-372,11573,1},{-363,11583,1},{-362,11597,1},{-355,11600,1}, {-343,11600,1},{-327,11610,1},{-323,11612,1},{-323,11615,1},{-323,11617,1}, {-325,11617,1},{-327,11615,1},{-325,11613,1},{-328,11612,1},{-325,11618,1}, {-322,11618,1},{-318,11617,1},{-317,11617,1},{-313,11627,1},{-310,11625,1}, {-305,11618,1},{-300,11617,1},{-300,11610,1},{-297,11612,1},{-292,11612,1}, {-288,11613,1},{-282,11613,1},{-283,11615,1},{-290,11617,1},{-292,11620,1}, {-300,11622,1},{-302,11625,1},{-300,11627,1},{-292,11635,1},{-283,11637,1}, {-268,11637,1},{-257,11640,1},{-255,11635,1},{-257,11633,1},{-262,11630,1}, {-260,11630,1},{-257,11632,1},{-255,11632,1},{-252,11630,1},{-252,11635,1}, {-252,11640,1},{-250,11642,1},{-253,11647,1},{-257,11647,1},{-257,11648,1}, {-255,11652,1},{-252,11653,1},{-222,11660,1},{-218,11660,1},{-222,11655,1}, {-218,11653,1},{-217,11653,1},{-217,11652,1},{-222,11642,1},{-215,11638,1}, {-215,11633,1},{-217,11628,1},{-210,11635,1},{-208,11643,1},{-205,11645,1}, {-192,11647,1},{-185,11642,1},{-178,11645,1},{-177,11640,1},{-178,11637,1}, {-178,11633,1},{-182,11627,1},{-180,11623,1},{-178,11622,1},{-177,11627,1}, {-170,11633,1},{-162,11653,1},{-157,11657,1},{-153,11653,1},{-148,11653,1}, {-142,11662,1},{-137,11675,1},{-130,11677,1},{-125,11678,1},{-122,11673,1}, {-118,11677,1},{-113,11672,1},{-102,11675,1},{-103,11677,1},{-110,11673,1}, {-115,11678,1},{-122,11678,1},{-120,11682,1},{-120,11683,1},{-128,11682,1}, {-125,11692,1},{-120,11702,1},{-115,11703,1},{-108,11710,1},{-97,11718,1}, {-90,11725,1},{-83,11727,1},{-80,11728,1},{-85,11733,1},{-90,11735,1},{-85,11738,1}, {-88,11742,1},{-87,11745,1},{-82,11745,1},{-82,11748,1},{-83,11748,1},{-82,11748,1}, {-80,11748,1},{-82,11755,1},{-80,11757,1},{-78,11762,1},{-77,11762,1},{-73,11762,1}, {-72,11752,1},{-70,11748,1},{-68,11748,1},{-70,11753,1},{-67,11753,1},{-65,11757,1}, {-63,11757,1},{-62,11753,1},{-60,11758,1},{-53,11760,1},{-50,11755,1},{-47,11762,1}, {-45,11763,1},{-42,11763,1},{-43,11760,1},{-52,11743,1},{-48,11747,1},{-43,11745,1}, {-35,11750,1},{-33,11750,1},{-33,11747,1},{-25,11743,1},{-20,11747,1},{-15,11747,1}, {-10,11748,1},{-3,11753,1},{2,11752,1},{3,11748,1},{5,11750,1},{5,11747,1}, {12,11747,1},{13,11752,1},{17,11748,1},{23,11753,1},{28,11752,1},{33,11755,1}, {40,11757,1},{43,11762,1},{48,11762,1},{57,11767,1},{62,11770,1},{63,11772,1}, {70,11772,1},{73,11775,1},{82,11782,1},{82,11788,1},{83,11790,1},{83,11793,1}, {78,11798,1},{78,11802,1},{80,11803,1},{85,11803,1},{90,11800,1},{98,11797,1}, {108,11790,1},{112,11790,1},{110,11795,1},{107,11800,1},{97,11803,1},{92,11807,1}, {88,11817,1},{85,11833,1},{82,11835,1},{80,11838,1},{83,11843,1},{83,11850,1}, {80,11855,1},{85,11867,1},{80,11877,1},{80,11880,1},{87,11887,1},{90,11895,1}, {98,11902,1},{100,11900,1},{103,11900,1},{105,11900,1},{107,11892,1},{105,11887,1}, {105,11885,1},{115,11880,1},{117,11877,1},{118,11878,1},{120,11878,1},{130,11865,1}, {135,11860,1},{137,11853,1},{140,11848,1},{140,11845,1},{143,11843,1},{145,11840,1}, {148,11842,1},{165,11813,1},{173,11805,1},{178,11805,1},{182,11792,1},{188,11788,1}, {188,11787,1},{190,11785,1},{192,11787,1},{198,11787,1},{198,11785,1},{202,11783,1}, {203,11775,1},{205,11775,1},{203,11780,1},{205,11790,1},{207,11790,1},{208,11783,1}, {210,11783,1},{208,11790,1},{212,11792,1},{212,11793,1},{217,11793,1},{222,11807,1}, {228,11810,1},{232,11810,1},{238,11805,1},{237,11803,1},{237,11802,1},{245,11798,1}, {262,11782,1},{277,11778,1},{278,11773,1},{282,11762,1},{283,11762,1},{285,11765,1}, {287,11767,1},{288,11772,1},{290,11773,1},{292,11753,1},{297,11768,1},{300,11765,1}, {298,11757,1},{305,11763,1},{308,11762,1},{310,11755,1},{310,11748,1},{313,11745,1}, {317,11745,1},{318,11735,1},{322,11732,1},{322,11727,1},{325,11727,1},{327,11727,1}, {323,11733,1},{323,11735,1},{330,11737,1},{333,11740,1},{335,11740,1},{337,11743,1}, {343,11745,1},{345,11733,1},{343,11732,1},{347,11730,1},{348,11723,1},{353,11720,1}, {360,11722,1},{362,11720,1},{362,11710,1},{360,11703,1},{363,11707,1},{365,11718,1}, {363,11730,1},{363,11743,1},{360,11750,1},{365,11752,1},{370,11748,1},{375,11748,1}, {378,11747,1},{377,11750,1},{367,11753,1},{363,11762,1},{363,11775,1},{368,11778,1}, {370,11783,1},{372,11783,1},{377,11770,1},{378,11772,1},{377,11777,1},{378,11778,1}, {387,11770,1},{388,11762,1},{392,11757,1},{393,11752,1},{393,11753,1},{393,11758,1}, {390,11765,1},{390,11768,1},{392,11770,1},{395,11762,1},{405,11752,1},{403,11747,1}, {408,11747,1},{410,11740,1},{413,11740,1},{417,11737,1},{412,11752,1},{417,11758,1}, {-783,10990,129},{-790,11005,1},{-802,11028,1},{-803,11033,1},{-807,11038,1}, {-817,11068,1},{-820,11072,1},{-820,11083,1},{-825,11102,1},{-825,11108,1}, {-822,11110,1},{-825,11112,1},{-825,11115,1},{-828,11117,1},{-825,11127,1}, {-827,11130,1},{-825,11132,1},{-827,11133,1},{-827,11137,1},{-828,11138,1}, {-827,11143,1},{-832,11145,1},{-833,11152,1},{-832,11155,1},{-832,11157,1}, {-833,11158,1},{-833,11162,1},{-837,11163,1},{-837,11170,1},{-837,11172,1}, {-833,11170,1},{-830,11172,1},{-830,11173,1},{-833,11175,1},{-832,11177,1}, {-830,11177,1},{-827,11178,1},{-828,11183,1},{-827,11185,1},{-832,11192,1}, {-830,11193,1},{-828,11195,1},{-832,11203,1},{-832,11218,1},{-835,11225,1}, {-833,11228,1},{-833,11235,1},{-835,11238,1},{-838,11238,1},{-840,11245,1}, {-840,11257,1},{-845,11267,1},{-843,11270,1},{-842,11277,1},{-838,11278,1}, {-840,11282,1},{-837,11283,1},{-840,11285,1},{-840,11292,1},{-833,11297,1}, {-830,11303,1},{-828,11318,1},{-828,11323,1},{-833,11335,1},{-840,11340,1}, {-838,11345,1},{-840,11348,1},{-842,11348,1},{-843,11353,1},{-847,11363,1}, {-850,11367,1},{-850,11372,1},{-853,11372,1},{-853,11375,1},{-850,11380,1}, {-853,11382,1},{-855,11382,1},{-857,11387,1},{-858,11392,1},{-857,11397,1}, {-862,11397,1},{-860,11403,1},{-862,11405,1},{-863,11407,1},{-863,11412,1}, {-862,11413,1},{-865,11422,1},{-863,11423,1},{-862,11425,1},{-862,11428,1}, {-865,11437,1},{-867,11438,1},{-872,11438,1},{-873,11437,1},{-875,11438,1}, {-875,11447,1},{-878,11457,1},{-877,11462,1},{-870,11462,1},{-867,11458,1}, {-867,11455,1},{-862,11450,1},{-863,11447,1},{-855,11442,1},{-852,11443,1}, {-845,11442,1},{-845,11440,1},{-852,11440,1},{-853,11438,1},{-852,11437,1}, {-847,11437,1},{-843,11435,1},{-815,11440,1},{-803,11445,1},{-792,11443,1}, {-787,11447,1},{-783,11447,1},{-780,11443,1},{-777,11438,1},{-775,11432,1}, {-770,11425,1},{-772,11422,1},{-770,11415,1},{-762,11403,1},{-768,11393,1}, {-768,11383,1},{-773,11378,1},{-772,11372,1},{-772,11368,1},{-770,11350,1}, {-773,11342,1},{-780,11330,1},{-778,11328,1},{-775,11325,1},{-775,11318,1}, {-770,11310,1},{-767,11305,1},{-765,11298,1},{-760,11285,1},{-755,11278,1}, {-753,11275,1},{-745,11275,1},{-740,11282,1},{-735,11282,1},{-728,11283,1}, {-723,11280,1},{-720,11277,1},{-722,11273,1},{-725,11272,1},{-725,11270,1}, {-720,11260,1},{-720,11262,1},{-720,11267,1},{-717,11268,1},{-708,11260,1}, {-707,11262,1},{-705,11267,1},{-703,11265,1},{-705,11262,1},{-703,11260,1}, {-698,11258,1},{-692,11260,1},{-687,11257,1},{-687,11255,1},{-692,11257,1}, {-692,11253,1},{-688,11245,1},{-687,11235,1},{-688,11228,1},{-692,11210,1}, {-690,11207,1},{-687,11205,1},{-678,11198,1},{-678,11193,1},{-682,11188,1}, {-678,11173,1},{-675,11168,1},{-665,11158,1},{-663,11148,1},{-663,11147,1}, {-670,11143,1},{-672,11138,1},{-670,11120,1},{-670,11118,1},{-670,11115,1}, {-660,11108,1},{-647,11107,1},{-643,11102,1},{-643,11095,1},{-642,11092,1}, {-643,11078,1},{-645,11073,1},{-650,11070,1},{-650,11067,1},{-653,11068,1}, {-655,11067,1},{-667,11065,1},{-685,11057,1},{-695,11048,1},{-698,11038,1}, {-697,11033,1},{-695,11030,1},{-690,11020,1},{-687,11018,1},{-690,11013,1}, {-693,10998,1},{-692,10987,1},{-687,10972,1},{-685,10958,1},{-683,10952,1}, {-680,10948,1},{-687,10945,1},{-688,10930,1},{-685,10913,1},{-678,10902,1}, {-680,10898,1},{-685,10898,1},{-685,10897,1},{-685,10892,1},{-680,10888,1}, {-680,10883,1},{-682,10878,1},{-682,10872,1},{-678,10867,1},{-678,10863,1}, {-675,10860,1},{-667,10857,1},{-650,10855,1},{-640,10842,1},{-627,10832,1}, {-627,10822,1},{-630,10818,1},{-633,10818,1},{-635,10813,1},{-633,10807,1}, {-628,10798,1},{-623,10788,1},{-618,10783,1},{-618,10782,1},{-622,10782,1}, {-622,10777,1},{-625,10773,1},{-625,10765,1},{-618,10758,1},{-615,10748,1}, {-602,10738,1},{-597,10733,1},{-597,10725,1},{-598,10718,1},{-597,10712,1}, {-593,10710,1},{-592,10703,1},{-592,10702,1},{-597,10702,1},{-600,10700,1}, {-603,10702,1},{-608,10700,1},{-610,10683,1},{-610,10675,1},{-602,10670,1}, {-602,10653,1},{-605,10650,1},{-602,10643,1},{-600,10637,1},{-593,10627,1}, {-595,10623,1},{-602,10620,1},{-602,10617,1},{-598,10612,1},{-592,10610,1}, {-588,10608,1},{-588,10603,1},{-592,10600,1},{-598,10597,1},{-608,10588,1}, {-623,10583,1},{-642,10582,1},{-647,10580,1},{-650,10577,1},{-652,10572,1}, {-650,10568,1},{-645,10567,1},{-647,10563,1},{-650,10563,1},{-662,10563,1}, {-673,10552,1},{-682,10548,1},{-682,10547,1},{-682,10545,1},{-675,10540,1}, {-670,10540,1},{-667,10537,1},{-668,10533,1},{-672,10532,1},{-677,10527,1}, {-677,10522,1},{-685,10527,1},{-685,10528,1},{-682,10530,1},{-682,10538,1}, {-687,10542,1},{-685,10545,1},{-687,10548,1},{-687,10555,1},{-683,10570,1}, {-687,10578,1},{-685,10585,1},{-685,10587,1},{-683,10592,1},{-683,10600,1}, {-685,10607,1},{-692,10617,1},{-695,10625,1},{-697,10625,1},{-700,10632,1}, {-700,10638,1},{-697,10643,1},{-698,10652,1},{-700,10653,1},{-707,10655,1}, {-715,10647,1},{-718,10647,1},{-718,10642,1},{-723,10638,1},{-730,10638,1}, {-738,10642,1},{-735,10645,1},{-738,10650,1},{-742,10658,1},{-745,10712,1}, {-748,10725,1},{-750,10740,1},{-752,10742,1},{-750,10747,1},{-753,10748,1}, {-755,10755,1},{-758,10762,1},{-763,10768,1},{-765,10770,1},{-768,10782,1}, {-773,10787,1},{-772,10793,1},{-773,10798,1},{-778,10817,1},{-780,10845,1}, {-778,10850,1},{-772,10850,1},{-770,10853,1},{-768,10860,1},{-770,10865,1}, {-772,10867,1},{-772,10868,1},{-770,10868,1},{-767,10870,1},{-768,10875,1}, {-767,10880,1},{-762,10883,1},{-762,10887,1},{-770,10890,1},{-770,10897,1}, {-773,10902,1},{-770,10905,1},{-768,10913,1},{-770,10928,1},{-772,10940,1}, {-775,10940,1},{-778,10942,1},{-777,10948,1},{-778,10963,1},{-778,10965,1}, {-785,10988,1},{-783,10990,1},{-690,11293,129},{-688,11307,1},{-690,11320,1}, {-688,11345,1},{-690,11350,1},{-688,11372,1},{-688,11382,1},{-687,11393,1}, {-690,11402,1},{-692,11405,1},{-693,11410,1},{-695,11413,1},{-698,11413,1}, {-700,11407,1},{-702,11400,1},{-705,11395,1},{-705,11387,1},{-708,11385,1}, {-708,11388,1},{-712,11390,1},{-713,11388,1},{-710,11368,1},{-710,11367,1}, {-712,11368,1},{-712,11367,1},{-713,11362,1},{-715,11360,1},{-718,11358,1}, {-717,11357,1},{-718,11355,1},{-722,11355,1},{-725,11353,1},{-722,11348,1}, {-722,11330,1},{-722,11325,1},{-722,11318,1},{-717,11315,1},{-715,11315,1}, {-713,11312,1},{-718,11310,1},{-722,11315,1},{-723,11310,1},{-717,11285,1}, {-717,11275,1},{-715,11272,1},{-708,11272,1},{-708,11270,1},{-703,11268,1}, {-702,11277,1},{-693,11283,1},{-690,11283,1},{-690,11295,1},{-810,11448,129}, {-810,11452,1},{-813,11455,1},{-812,11460,1},{-813,11470,1},{-817,11477,1}, {-820,11487,1},{-818,11502,1},{-805,11517,1},{-810,11532,1},{-815,11547,1}, {-822,11555,1},{-830,11563,1},{-835,11570,1},{-840,11572,1},{-850,11560,1}, {-852,11552,1},{-855,11550,1},{-860,11538,1},{-863,11530,1},{-872,11527,1}, {-873,11520,1},{-878,11520,1},{-878,11522,1},{-875,11523,1},{-878,11525,1}, {-882,11523,1},{-885,11522,1},{-883,11510,1},{-882,11510,1},{-878,11517,1}, {-870,11517,1},{-867,11515,1},{-865,11512,1},{-860,11508,1},{-855,11502,1}, {-850,11497,1},{-845,11490,1},{-842,11480,1},{-840,11470,1},{-840,11462,1}, {-837,11457,1},{-827,11450,1},{-818,11447,1},{-810,11445,1},{-808,11448,1}, {-822,11633,129},{-820,11638,1},{-822,11645,1},{-828,11658,1},{-828,11665,1}, {-837,11673,1},{-840,11673,1},{-848,11668,1},{-857,11667,1},{-863,11662,1}, {-877,11657,1},{-882,11652,1},{-887,11652,1},{-883,11655,1},{-885,11657,1}, {-888,11660,1},{-890,11657,1},{-892,11647,1},{-890,11647,1},{-888,11648,1}, {-883,11648,1},{-883,11645,1},{-887,11642,1},{-888,11642,1},{-897,11640,1}, {-892,11638,1},{-890,11633,1},{-892,11627,1},{-890,11623,1},{-892,11620,1}, {-890,11618,1},{-888,11618,1},{-887,11612,1},{-890,11608,1},{-888,11607,1}, {-887,11608,1},{-887,11603,1},{-890,11603,1},{-892,11602,1},{-885,11597,1}, {-887,11593,1},{-885,11590,1},{-882,11585,1},{-875,11585,1},{-873,11588,1}, {-875,11588,1},{-878,11595,1},{-877,11598,1},{-875,11600,1},{-873,11605,1}, {-877,11607,1},{-875,11608,1},{-873,11608,1},{-872,11607,1},{-860,11608,1}, {-847,11605,1},{-842,11607,1},{-840,11610,1},{-838,11612,1},{-837,11615,1}, {-823,11628,1},{-822,11635,1},{-838,11722,129},{-840,11727,1},{-848,11743,1}, {-847,11743,1},{-842,11745,1},{-842,11748,1},{-842,11757,1},{-847,11757,1}, {-852,11758,1},{-850,11760,1},{-843,11760,1},{-847,11763,1},{-852,11763,1}, {-857,11765,1},{-858,11770,1},{-857,11773,1},{-858,11773,1},{-860,11777,1}, {-862,11777,1},{-863,11778,1},{-865,11775,1},{-872,11778,1},{-870,11790,1}, {-872,11790,1},{-873,11790,1},{-873,11795,1},{-875,11797,1},{-865,11807,1}, {-865,11813,1},{-867,11820,1},{-867,11827,1},{-863,11828,1},{-860,11828,1}, {-855,11823,1},{-857,11820,1},{-853,11818,1},{-848,11813,1},{-850,11812,1}, {-847,11808,1},{-848,11798,1},{-847,11797,1},{-837,11783,1},{-830,11778,1}, {-823,11770,1},{-815,11773,1},{-815,11777,1},{-812,11780,1},{-812,11785,1}, {-808,11793,1},{-808,11797,1},{-812,11798,1},{-810,11800,1},{-812,11810,1}, {-812,11812,1},{-815,11817,1},{-822,11817,1},{-835,11825,1},{-835,11828,1}, {-837,11832,1},{-835,11837,1},{-830,11840,1},{-825,11848,1},{-830,11865,1}, {-837,11868,1},{-845,11868,1},{-853,11865,1},{-855,11867,1},{-847,11872,1}, {-838,11872,1},{-835,11873,1},{-830,11878,1},{-828,11888,1},{-832,11900,1}, {-838,11900,1},{-847,11905,1},{-858,11902,1},{-860,11903,1},{-863,11903,1}, {-865,11907,1},{-863,11913,1},{-860,11913,1},{-860,11915,1},{-855,11917,1}, {-858,11920,1},{-863,11920,1},{-865,11918,1},{-870,11918,1},{-872,11918,1}, {-875,11915,1},{-873,11912,1},{-877,11910,1},{-875,11908,1},{-877,11897,1}, {-868,11890,1},{-873,11887,1},{-872,11882,1},{-872,11878,1},{-872,11875,1}, {-875,11870,1},{-878,11873,1},{-878,11890,1},{-882,11893,1},{-883,11895,1}, {-885,11893,1},{-885,11882,1},{-882,11878,1},{-880,11875,1},{-882,11865,1}, {-887,11848,1},{-887,11843,1},{-885,11842,1},{-878,11838,1},{-873,11843,1}, {-867,11843,1},{-858,11840,1},{-867,11840,1},{-868,11835,1},{-872,11833,1}, {-873,11830,1},{-878,11828,1},{-878,11827,1},{-887,11815,1},{-887,11812,1}, {-885,11810,1},{-887,11805,1},{-885,11803,1},{-887,11800,1},{-890,11798,1}, {-892,11792,1},{-895,11790,1},{-893,11785,1},{-890,11783,1},{-893,11778,1}, {-892,11772,1},{-893,11765,1},{-897,11763,1},{-902,11755,1},{-905,11740,1}, {-905,11735,1},{-903,11730,1},{-902,11728,1},{-902,11723,1},{-903,11720,1}, {-910,11715,1},{-912,11705,1},{-907,11697,1},{-905,11680,1},{-902,11677,1}, {-902,11675,1},{-898,11675,1},{-893,11677,1},{-892,11675,1},{-888,11675,1}, {-883,11680,1},{-883,11682,1},{-878,11682,1},{-873,11678,1},{-872,11680,1}, {-868,11680,1},{-867,11677,1},{-858,11680,1},{-857,11683,1},{-852,11683,1}, {-853,11687,1},{-852,11695,1},{-842,11712,1},{-838,11712,1},{-837,11715,1}, {-837,11720,1},{-838,11722,1},{-943,11903,129},{-942,11910,1},{-938,11917,1}, {-938,11922,1},{-937,11928,1},{-938,11938,1},{-937,11947,1},{-938,11953,1}, {-935,11960,1},{-935,11965,1},{-937,11967,1},{-938,11973,1},{-938,11982,1}, {-928,11995,1},{-945,12008,1},{-948,12013,1},{-947,12018,1},{-950,12023,1}, {-965,12027,1},{-965,12032,1},{-968,12033,1},{-963,12038,1},{-965,12048,1}, {-970,12050,1},{-972,12057,1},{-975,12060,1},{-983,12063,1},{-990,12067,1}, {-993,12077,1},{-998,12082,1},{-1005,12083,1},{-1008,12083,1},{-1015,12077,1}, {-1020,12072,1},{-1023,12062,1},{-1023,12055,1},{-1027,12050,1},{-1032,12047,1}, {-1025,12037,1},{-1025,12022,1},{-1023,12017,1},{-1018,12012,1},{-1017,12008,1}, {-1012,12005,1},{-1012,12003,1},{-1005,12002,1},{-998,11997,1},{-998,11992,1}, {-995,11992,1},{-995,11988,1},{-993,11987,1},{-992,11980,1},{-990,11978,1}, {-987,11970,1},{-980,11968,1},{-980,11963,1},{-977,11963,1},{-977,11953,1}, {-975,11947,1},{-977,11942,1},{-980,11940,1},{-977,11937,1},{-975,11928,1}, {-975,11920,1},{-970,11907,1},{-965,11902,1},{-962,11900,1},{-957,11893,1}, {-948,11898,1},{-943,11903,1},{-827,12027,129},{-828,12037,1},{-827,12040,1}, {-823,12043,1},{-828,12047,1},{-825,12052,1},{-828,12055,1},{-828,12060,1}, {-823,12060,1},{-825,12063,1},{-827,12065,1},{-833,12075,1},{-835,12092,1}, {-833,12097,1},{-840,12103,1},{-847,12127,1},{-858,12140,1},{-857,12145,1}, {-858,12148,1},{-860,12152,1},{-857,12157,1},{-853,12157,1},{-855,12160,1}, {-850,12160,1},{-847,12162,1},{-852,12168,1},{-848,12177,1},{-850,12180,1}, {-848,12183,1},{-850,12190,1},{-848,12193,1},{-845,12195,1},{-843,12203,1}, {-845,12203,1},{-848,12202,1},{-852,12203,1},{-852,12208,1},{-855,12215,1}, {-863,12223,1},{-865,12228,1},{-862,12235,1},{-860,12248,1},{-855,12252,1}, {-852,12248,1},{-850,12248,1},{-847,12250,1},{-847,12255,1},{-840,12260,1}, {-838,12268,1},{-835,12277,1},{-832,12280,1},{-828,12290,1},{-823,12292,1}, {-822,12295,1},{-818,12290,1},{-820,12283,1},{-823,12278,1},{-823,12273,1}, {-815,12278,1},{-812,12278,1},{-807,12285,1},{-808,12288,1},{-810,12290,1}, {-815,12298,1},{-820,12298,1},{-825,12300,1},{-830,12303,1},{-832,12303,1}, {-835,12298,1},{-833,12295,1},{-835,12292,1},{-838,12290,1},{-843,12290,1}, {-847,12290,1},{-843,12280,1},{-848,12280,1},{-855,12285,1},{-860,12285,1}, {-862,12278,1},{-862,12275,1},{-863,12273,1},{-867,12257,1},{-872,12252,1}, {-875,12238,1},{-873,12232,1},{-875,12223,1},{-873,12217,1},{-873,12212,1}, {-877,12207,1},{-880,12202,1},{-883,12187,1},{-888,12178,1},{-888,12175,1}, {-885,12168,1},{-890,12165,1},{-890,12163,1},{-885,12163,1},{-882,12157,1}, {-883,12150,1},{-882,12147,1},{-880,12138,1},{-883,12137,1},{-888,12137,1}, {-892,12132,1},{-890,12120,1},{-892,12110,1},{-895,12102,1},{-892,12092,1}, {-888,12087,1},{-883,12085,1},{-882,12083,1},{-882,12078,1},{-887,12077,1}, {-888,12075,1},{-885,12068,1},{-885,12065,1},{-880,12057,1},{-880,12048,1}, {-880,12045,1},{-880,12040,1},{-880,12038,1},{-883,12032,1},{-883,12025,1}, {-877,12015,1},{-880,12010,1},{-882,12002,1},{-882,11997,1},{-883,11993,1}, {-887,11993,1},{-887,11990,1},{-882,11988,1},{-880,11983,1},{-878,11982,1}, {-872,11980,1},{-868,11980,1},{-858,11980,1},{-850,11988,1},{-842,11987,1}, {-842,11988,1},{-845,11988,1},{-847,11992,1},{-843,11997,1},{-845,12000,1}, {-843,12002,1},{-842,12000,1},{-838,12003,1},{-838,12008,1},{-840,12008,1}, {-840,12012,1},{-835,12012,1},{-837,12013,1},{-835,12015,1},{-830,12020,1}, {-827,12028,1},{-827,12340,129},{-828,12345,1},{-827,12348,1},{-825,12353,1}, {-825,12357,1},{-827,12357,1},{-835,12352,1},{-838,12358,1},{-837,12360,1}, {-835,12360,1},{-830,12358,1},{-830,12363,1},{-827,12365,1},{-823,12362,1}, {-822,12365,1},{-823,12367,1},{-827,12368,1},{-825,12372,1},{-823,12370,1}, {-822,12375,1},{-818,12380,1},{-823,12387,1},{-823,12393,1},{-825,12395,1}, {-827,12393,1},{-828,12390,1},{-830,12378,1},{-843,12370,1},{-843,12367,1}, {-842,12365,1},{-843,12363,1},{-847,12357,1},{-848,12357,1},{-853,12360,1}, {-857,12358,1},{-857,12353,1},{-853,12350,1},{-853,12348,1},{-858,12345,1}, {-860,12340,1},{-853,12333,1},{-855,12328,1},{-855,12323,1},{-853,12322,1}, {-847,12332,1},{-842,12335,1},{-835,12348,1},{-833,12348,1},{-832,12347,1}, {-832,12337,1},{-827,12342,1},{-813,12447,129},{-813,12458,1},{-820,12458,1}, {-820,12460,1},{-818,12465,1},{-815,12477,1},{-818,12485,1},{-817,12492,1}, {-815,12495,1},{-817,12498,1},{-815,12508,1},{-823,12513,1},{-833,12513,1}, {-835,12513,1},{-837,12503,1},{-837,12493,1},{-842,12475,1},{-840,12465,1}, {-845,12455,1},{-843,12450,1},{-847,12442,1},{-845,12440,1},{-845,12435,1}, {-842,12433,1},{-838,12437,1},{-832,12440,1},{-823,12455,1},{-823,12453,1}, {-823,12448,1},{-828,12440,1},{-823,12440,1},{-813,12447,1},{-947,12510,129}, {-943,12513,1},{-942,12522,1},{-937,12527,1},{-930,12535,1},{-923,12555,1}, {-918,12560,1},{-920,12565,1},{-918,12570,1},{-915,12577,1},{-915,12582,1}, {-913,12585,1},{-913,12595,1},{-898,12615,1},{-898,12628,1},{-895,12647,1}, {-890,12652,1},{-885,12653,1},{-880,12658,1},{-880,12663,1},{-877,12667,1}, {-875,12678,1},{-877,12685,1},{-868,12695,1},{-868,12702,1},{-848,12723,1}, {-847,12727,1},{-843,12730,1},{-840,12730,1},{-837,12723,1},{-833,12720,1}, {-837,12710,1},{-837,12708,1},{-832,12698,1},{-832,12695,1},{-838,12687,1}, {-842,12678,1},{-842,12673,1},{-842,12670,1},{-848,12657,1},{-848,12653,1}, {-845,12650,1},{-843,12642,1},{-843,12635,1},{-850,12623,1},{-850,12617,1}, {-852,12608,1},{-852,12602,1},{-848,12593,1},{-848,12585,1},{-853,12572,1}, {-853,12562,1},{-855,12558,1},{-855,12553,1},{-858,12547,1},{-858,12538,1}, {-863,12515,1},{-868,12510,1},{-880,12510,1},{-883,12502,1},{-895,12497,1}, {-900,12487,1},{-902,12480,1},{-905,12475,1},{-907,12470,1},{-912,12467,1}, {-917,12460,1},{-918,12455,1},{-918,12442,1},{-920,12438,1},{-922,12428,1}, {-927,12418,1},{-930,12415,1},{-935,12398,1},{-948,12387,1},{-952,12378,1}, {-957,12377,1},{-963,12367,1},{-965,12367,1},{-973,12367,1},{-980,12363,1}, {-985,12367,1},{-990,12365,1},{-993,12358,1},{-1003,12358,1},{-1007,12360,1}, {-1003,12363,1},{-1003,12370,1},{-1005,12375,1},{-1008,12377,1},{-1010,12375,1}, {-1015,12367,1},{-1017,12360,1},{-1018,12357,1},{-1018,12353,1},{-1023,12352,1}, {-1023,12348,1},{-1028,12350,1},{-1037,12347,1},{-1033,12355,1},{-1037,12362,1}, {-1035,12365,1},{-1038,12370,1},{-1037,12375,1},{-1038,12382,1},{-1037,12383,1}, {-1030,12393,1},{-1028,12403,1},{-1025,12405,1},{-1023,12408,1},{-1018,12412,1}, {-1018,12438,1},{-1017,12443,1},{-1008,12452,1},{-1002,12457,1},{-990,12473,1}, {-983,12477,1},{-973,12485,1},{-965,12498,1},{-955,12500,1},{-947,12510,1}, {-767,12597,129},{-770,12608,1},{-772,12618,1},{-768,12625,1},{-770,12633,1}, {-767,12638,1},{-763,12642,1},{-763,12645,1},{-760,12648,1},{-757,12662,1}, {-758,12663,1},{-762,12663,1},{-765,12670,1},{-767,12672,1},{-767,12680,1}, {-773,12683,1},{-777,12683,1},{-775,12678,1},{-777,12668,1},{-778,12662,1}, {-787,12652,1},{-797,12647,1},{-793,12640,1},{-792,12628,1},{-792,12618,1}, {-788,12612,1},{-792,12593,1},{-793,12592,1},{-802,12578,1},{-800,12577,1}, {-793,12582,1},{-785,12582,1},{-780,12588,1},{-777,12587,1},{-773,12592,1}, {-768,12595,1},{-765,12597,1},{-712,13165,129},{-713,13167,1},{-717,13165,1}, {-717,13168,1},{-713,13170,1},{-717,13172,1},{-720,13175,1},{-723,13170,1}, {-722,13167,1},{-725,13163,1},{-730,13163,1},{-737,13168,1},{-738,13167,1}, {-742,13167,1},{-742,13170,1},{-745,13168,1},{-748,13168,1},{-748,13167,1}, {-752,13167,1},{-763,13163,1},{-765,13160,1},{-770,13157,1},{-772,13150,1}, {-777,13148,1},{-777,13147,1},{-780,13147,1},{-783,13140,1},{-788,13137,1}, {-790,13138,1},{-792,13135,1},{-793,13133,1},{-795,13137,1},{-802,13132,1}, {-802,13130,1},{-797,13130,1},{-793,13128,1},{-795,13127,1},{-800,13125,1}, {-802,13113,1},{-800,13110,1},{-792,13112,1},{-787,13108,1},{-782,13112,1}, {-782,13115,1},{-778,13113,1},{-777,13117,1},{-775,13115,1},{-773,13112,1}, {-770,13112,1},{-768,13113,1},{-772,13120,1},{-770,13125,1},{-768,13120,1}, {-765,13118,1},{-763,13118,1},{-760,13120,1},{-748,13123,1},{-742,13132,1}, {-742,13133,1},{-743,13133,1},{-743,13135,1},{-740,13137,1},{-738,13140,1}, {-737,13138,1},{-735,13140,1},{-733,13145,1},{-730,13145,1},{-723,13148,1}, {-722,13155,1},{-718,13152,1},{-715,13153,1},{-713,13157,1},{-712,13158,1}, {-713,13160,1},{-712,13165,1},{-558,12007,129},{-557,11993,1},{-560,11990,1}, {-563,11985,1},{-567,11983,1},{-572,11977,1},{-570,11967,1},{-567,11963,1}, {-563,11965,1},{-562,11958,1},{-565,11957,1},{-565,11955,1},{-560,11955,1}, {-555,11952,1},{-557,11945,1},{-560,11947,1},{-558,11942,1},{-552,11943,1}, {-540,11935,1},{-533,11935,1},{-528,11937,1},{-518,11938,1},{-512,11940,1}, {-507,11947,1},{-503,11947,1},{-492,11952,1},{-487,11952,1},{-473,11950,1}, {-470,11952,1},{-457,11960,1},{-430,11962,1},{-423,11960,1},{-418,11963,1}, {-410,11960,1},{-408,11962,1},{-405,11962,1},{-398,11965,1},{-398,11960,1}, {-403,11960,1},{-398,11958,1},{-375,11948,1},{-372,11945,1},{-362,11948,1}, {-357,11952,1},{-348,11948,1},{-348,11943,1},{-343,11935,1},{-343,11930,1}, {-345,11928,1},{-350,11922,1},{-348,11913,1},{-352,11912,1},{-352,11902,1}, {-353,11900,1},{-357,11900,1},{-355,11897,1},{-358,11893,1},{-357,11892,1}, {-348,11888,1},{-338,11885,1},{-333,11883,1},{-330,11885,1},{-325,11883,1}, {-320,11883,1},{-310,11877,1},{-307,11878,1},{-308,11882,1},{-307,11885,1}, {-298,11885,1},{-290,11888,1},{-287,11888,1},{-285,11887,1},{-287,11877,1}, {-277,11877,1},{-265,11878,1},{-262,11882,1},{-267,11887,1},{-265,11892,1}, {-258,11902,1},{-250,11905,1},{-247,11913,1},{-240,11915,1},{-233,11912,1}, {-230,11913,1},{-227,11912,1},{-223,11913,1},{-220,11913,1},{-210,11918,1}, {-202,11922,1},{-198,11923,1},{-195,11930,1},{-197,11933,1},{-193,11935,1}, {-183,11937,1},{-180,11933,1},{-168,11930,1},{-158,11933,1},{-148,11930,1}, {-140,11928,1},{-135,11933,1},{-128,11932,1},{-123,11932,1},{-118,11935,1}, {-112,11945,1},{-98,11947,1},{-87,11952,1},{-80,11960,1},{-75,11968,1}, {-70,11965,1},{-68,11970,1},{-63,11973,1},{-87,11982,1},{-88,11985,1},{-85,11987,1}, {-70,11985,1},{-63,11980,1},{-48,11975,1},{-35,11975,1},{-25,11978,1},{-18,11982,1}, {-15,11980,1},{-12,11980,1},{-12,11970,1},{-7,11965,1},{0,11962,1},{0,11967,1}, {2,11967,1},{2,11968,1},{0,11972,1},{-8,11978,1},{-10,11982,1},{0,11987,1}, {7,11988,1},{10,11988,1},{20,11978,1},{22,11978,1},{25,11980,1},{25,11983,1}, {28,11987,1},{30,11987,1},{35,11985,1},{40,11988,1},{47,11992,1},{48,11995,1}, {50,12000,1},{52,12003,1},{57,12003,1},{67,12002,1},{72,12003,1},{75,12007,1}, {75,12012,1},{80,12022,1},{83,12023,1},{97,12025,1},{98,12030,1},{98,12032,1}, {97,12035,1},{87,12033,1},{85,12037,1},{80,12042,1},{80,12053,1},{77,12057,1}, {80,12058,1},{83,12062,1},{83,12060,1},{88,12062,1},{98,12068,1},{97,12073,1}, {98,12073,1},{102,12075,1},{105,12080,1},{115,12080,1},{122,12083,1},{132,12082,1}, {133,12083,1},{132,12087,1},{135,12090,1},{132,12090,1},{132,12092,1},{135,12095,1}, {132,12112,1},{123,12125,1},{123,12127,1},{125,12133,1},{125,12138,1},{128,12143,1}, {128,12145,1},{125,12147,1},{123,12143,1},{120,12145,1},{118,12143,1},{108,12152,1}, {105,12157,1},{107,12170,1},{107,12172,1},{110,12193,1},{105,12195,1},{102,12198,1}, {107,12207,1},{103,12215,1},{105,12217,1},{100,12223,1},{102,12230,1},{103,12232,1}, {100,12240,1},{102,12245,1},{98,12248,1},{95,12265,1},{92,12268,1},{87,12275,1}, {87,12277,1},{85,12278,1},{82,12285,1},{85,12292,1},{92,12297,1},{95,12295,1}, {97,12298,1},{92,12310,1},{93,12313,1},{92,12317,1},{92,12318,1},{95,12317,1}, {97,12318,1},{95,12322,1},{97,12327,1},{92,12328,1},{92,12330,1},{92,12337,1}, {92,12343,1},{87,12357,1},{88,12360,1},{85,12370,1},{83,12383,1},{83,12395,1}, {87,12395,1},{93,12415,1},{98,12420,1},{102,12430,1},{117,12437,1},{120,12442,1}, {120,12452,1},{122,12453,1},{118,12457,1},{118,12458,1},{123,12462,1},{125,12462,1}, {128,12458,1},{128,12453,1},{133,12453,1},{137,12455,1},{142,12462,1},{140,12468,1}, {142,12473,1},{145,12478,1},{147,12483,1},{150,12485,1},{157,12482,1},{168,12495,1}, {167,12497,1},{172,12498,1},{173,12500,1},{173,12503,1},{167,12505,1},{168,12518,1}, {158,12517,1},{150,12525,1},{145,12523,1},{143,12515,1},{135,12510,1},{120,12505,1}, {110,12498,1},{102,12492,1},{97,12490,1},{93,12482,1},{90,12480,1},{87,12473,1}, {80,12467,1},{75,12463,1},{72,12463,1},{68,12460,1},{65,12457,1},{60,12458,1}, {58,12457,1},{58,12455,1},{53,12450,1},{50,12452,1},{48,12448,1},{45,12447,1}, {45,12442,1},{43,12435,1},{40,12432,1},{37,12425,1},{37,12415,1},{38,12410,1}, {37,12408,1},{35,12407,1},{35,12402,1},{33,12400,1},{33,12395,1},{32,12385,1}, {32,12382,1},{30,12378,1},{32,12373,1},{28,12365,1},{27,12363,1},{32,12357,1}, {30,12337,1},{32,12327,1},{33,12323,1},{37,12320,1},{40,12315,1},{45,12313,1}, {52,12307,1},{48,12303,1},{48,12297,1},{48,12280,1},{48,12270,1},{52,12267,1}, {52,12265,1},{48,12265,1},{47,12265,1},{48,12260,1},{50,12258,1},{48,12253,1}, {50,12237,1},{48,12227,1},{48,12218,1},{47,12215,1},{48,12212,1},{48,12205,1}, {45,12198,1},{42,12188,1},{42,12180,1},{52,12170,1},{52,12162,1},{55,12160,1}, {53,12158,1},{53,12153,1},{48,12150,1},{48,12142,1},{48,12140,1},{45,12133,1}, {48,12128,1},{48,12123,1},{45,12120,1},{45,12115,1},{40,12110,1},{42,12105,1}, {45,12100,1},{43,12097,1},{42,12088,1},{45,12085,1},{47,12082,1},{48,12080,1}, {48,12075,1},{53,12068,1},{53,12055,1},{48,12038,1},{35,12025,1},{17,12012,1}, {10,12010,1},{-3,12007,1},{-8,12002,1},{-12,12003,1},{-20,12000,1},{-27,12000,1}, {-38,12002,1},{-43,12005,1},{-48,12005,1},{-62,12007,1},{-75,12013,1},{-92,12027,1}, {-93,12032,1},{-90,12038,1},{-92,12042,1},{-97,12045,1},{-98,12050,1},{-100,12052,1}, {-113,12058,1},{-115,12057,1},{-123,12057,1},{-128,12062,1},{-140,12067,1}, {-135,12080,1},{-135,12083,1},{-137,12083,1},{-140,12085,1},{-140,12100,1}, {-143,12105,1},{-142,12108,1},{-140,12112,1},{-133,12117,1},{-120,12120,1}, {-115,12127,1},{-105,12133,1},{-102,12138,1},{-90,12147,1},{-85,12152,1}, {-85,12158,1},{-82,12158,1},{-80,12162,1},{-82,12167,1},{-88,12165,1},{-93,12172,1}, {-95,12175,1},{-93,12182,1},{-97,12192,1},{-92,12202,1},{-93,12210,1},{-88,12215,1}, {-80,12217,1},{-77,12222,1},{-77,12242,1},{-75,12247,1},{-78,12257,1},{-75,12262,1}, {-77,12265,1},{-78,12267,1},{-80,12273,1},{-77,12278,1},{-77,12292,1},{-75,12297,1}, {-73,12295,1},{-72,12290,1},{-70,12287,1},{-68,12275,1},{-67,12273,1},{-65,12273,1}, {-65,12278,1},{-62,12282,1},{-60,12303,1},{-57,12307,1},{-57,12322,1},{-60,12330,1}, {-65,12342,1},{-68,12340,1},{-72,12342,1},{-72,12343,1},{-73,12343,1},{-77,12345,1}, {-78,12343,1},{-83,12345,1},{-90,12340,1},{-102,12338,1},{-105,12333,1}, {-103,12325,1},{-95,12317,1},{-95,12315,1},{-88,12315,1},{-83,12310,1}, {-85,12308,1},{-88,12305,1},{-92,12282,1},{-112,12272,1},{-113,12268,1}, {-117,12265,1},{-122,12263,1},{-125,12257,1},{-130,12255,1},{-133,12250,1}, {-138,12248,1},{-142,12242,1},{-148,12238,1},{-152,12232,1},{-162,12218,1}, {-160,12215,1},{-162,12207,1},{-162,12202,1},{-167,12195,1},{-167,12192,1}, {-168,12190,1},{-167,12187,1},{-170,12187,1},{-168,12183,1},{-172,12180,1}, {-185,12175,1},{-192,12167,1},{-193,12160,1},{-193,12155,1},{-192,12153,1}, {-188,12150,1},{-185,12143,1},{-182,12143,1},{-180,12137,1},{-177,12133,1}, {-180,12130,1},{-185,12130,1},{-185,12135,1},{-192,12132,1},{-195,12133,1}, {-200,12133,1},{-197,12137,1},{-192,12140,1},{-200,12145,1},{-203,12148,1}, {-205,12153,1},{-213,12155,1},{-217,12157,1},{-218,12162,1},{-218,12172,1}, {-223,12175,1},{-232,12183,1},{-240,12188,1},{-258,12200,1},{-265,12202,1}, {-270,12202,1},{-272,12203,1},{-277,12208,1},{-278,12215,1},{-282,12218,1}, {-285,12218,1},{-288,12222,1},{-288,12227,1},{-290,12232,1},{-293,12232,1}, {-302,12227,1},{-303,12227,1},{-307,12232,1},{-313,12238,1},{-312,12242,1}, {-313,12243,1},{-315,12245,1},{-315,12248,1},{-318,12247,1},{-318,12243,1}, {-325,12243,1},{-323,12240,1},{-323,12238,1},{-322,12237,1},{-325,12233,1}, {-328,12230,1},{-335,12230,1},{-338,12238,1},{-343,12238,1},{-345,12237,1}, {-343,12237,1},{-342,12235,1},{-340,12233,1},{-337,12232,1},{-337,12228,1}, {-338,12227,1},{-338,12225,1},{-343,12227,1},{-345,12230,1},{-353,12227,1}, {-357,12220,1},{-358,12220,1},{-365,12225,1},{-368,12230,1},{-373,12233,1}, {-373,12242,1},{-375,12245,1},{-378,12247,1},{-388,12253,1},{-390,12267,1}, {-392,12267,1},{-395,12262,1},{-397,12255,1},{-398,12255,1},{-398,12262,1}, {-402,12267,1},{-408,12267,1},{-415,12268,1},{-413,12270,1},{-412,12272,1}, {-413,12277,1},{-413,12283,1},{-412,12283,1},{-408,12278,1},{-405,12277,1}, {-405,12282,1},{-408,12285,1},{-415,12290,1},{-423,12290,1},{-428,12288,1}, {-432,12290,1},{-440,12290,1},{-440,12287,1},{-443,12285,1},{-440,12278,1}, {-432,12268,1},{-433,12268,1},{-437,12272,1},{-440,12273,1},{-442,12277,1}, {-447,12278,1},{-448,12275,1},{-448,12273,1},{-445,12270,1},{-448,12270,1}, {-448,12268,1},{-443,12267,1},{-440,12260,1},{-445,12252,1},{-442,12243,1}, {-447,12232,1},{-447,12223,1},{-448,12220,1},{-453,12210,1},{-460,12207,1}, {-468,12203,1},{-477,12207,1},{-482,12213,1},{-482,12210,1},{-483,12208,1}, {-485,12197,1},{-485,12187,1},{-482,12182,1},{-482,12177,1},{-482,12175,1}, {-483,12170,1},{-480,12167,1},{-475,12155,1},{-467,12150,1},{-467,12148,1}, {-463,12148,1},{-450,12150,1},{-445,12152,1},{-440,12153,1},{-428,12152,1}, {-425,12153,1},{-423,12155,1},{-423,12157,1},{-425,12157,1},{-427,12157,1}, {-423,12158,1},{-415,12162,1},{-408,12162,1},{-405,12160,1},{-400,12148,1}, {-400,12143,1},{-398,12142,1},{-398,12137,1},{-388,12130,1},{-390,12125,1}, {-382,12125,1},{-380,12122,1},{-382,12117,1},{-370,12108,1},{-353,12088,1}, {-345,12087,1},{-340,12088,1},{-333,12095,1},{-327,12098,1},{-320,12107,1}, {-310,12107,1},{-307,12105,1},{-298,12108,1},{-287,12108,1},{-285,12107,1}, {-287,12105,1},{-282,12103,1},{-285,12102,1},{-285,12100,1},{-282,12098,1}, {-282,12102,1},{-278,12102,1},{-278,12105,1},{-277,12107,1},{-277,12108,1}, {-267,12103,1},{-265,12090,1},{-265,12085,1},{-262,12082,1},{-262,12077,1}, {-268,12063,1},{-268,12058,1},{-273,12055,1},{-280,12047,1},{-297,12020,1}, {-300,12023,1},{-303,12023,1},{-307,12027,1},{-312,12028,1},{-315,12027,1}, {-317,12027,1},{-322,12038,1},{-325,12040,1},{-327,12043,1},{-330,12040,1}, {-338,12040,1},{-342,12042,1},{-352,12040,1},{-358,12043,1},{-367,12042,1}, {-372,12045,1},{-385,12037,1},{-393,12035,1},{-403,12037,1},{-412,12035,1}, {-417,12038,1},{-427,12037,1},{-432,12040,1},{-438,12035,1},{-448,12040,1}, {-453,12040,1},{-458,12040,1},{-465,12045,1},{-470,12042,1},{-483,12038,1}, {-483,12033,1},{-485,12032,1},{-498,12030,1},{-515,12027,1},{-525,12032,1}, {-530,12033,1},{-535,12038,1},{-550,12043,1},{-555,12043,1},{-562,12047,1}, {-563,12045,1},{-562,12043,1},{-562,12040,1},{-552,12035,1},{-552,12033,1}, {-553,12027,1},{-555,12022,1},{-558,12012,1},{-558,12007,1},{448,12688,129}, {443,12688,1},{440,12687,1},{430,12693,1},{417,12683,1},{405,12683,1},{402,12682,1}, {400,12678,1},{400,12670,1},{402,12668,1},{405,12670,1},{415,12677,1},{425,12682,1}, {427,12675,1},{435,12670,1},{445,12673,1},{447,12675,1},{453,12673,1},{455,12677,1}, {455,12682,1},{453,12683,1},{450,12685,1},{450,12687,1},{447,12688,1},{-130,12355,129}, {-137,12353,1},{-143,12353,1},{-150,12345,1},{-152,12340,1},{-150,12338,1}, {-152,12337,1},{-147,12335,1},{-145,12333,1},{-142,12332,1},{-142,12330,1}, {-143,12327,1},{-152,12325,1},{-157,12325,1},{-162,12325,1},{-163,12325,1}, {-160,12322,1},{-163,12318,1},{-158,12312,1},{-155,12312,1},{-150,12318,1}, {-130,12317,1},{-135,12310,1},{-148,12302,1},{-160,12290,1},{-158,12287,1}, {-152,12285,1},{-145,12280,1},{-137,12280,1},{-128,12283,1},{-118,12290,1}, {-118,12292,1},{-120,12298,1},{-117,12303,1},{-117,12310,1},{-118,12313,1}, {-118,12317,1},{-115,12318,1},{-118,12322,1},{-122,12323,1},{-127,12320,1}, {-140,12323,1},{-138,12327,1},{-132,12328,1},{-130,12332,1},{-123,12337,1}, {-123,12342,1},{-125,12342,1},{-127,12343,1},{-123,12343,1},{-123,12345,1}, {-127,12348,1},{-128,12355,1},{-132,12355,1},{-165,12442,129},{-165,12450,1}, {-162,12452,1},{-165,12453,1},{-163,12455,1},{-163,12460,1},{-167,12477,1}, {-170,12490,1},{-172,12500,1},{-173,12502,1},{-175,12502,1},{-177,12505,1}, {-177,12510,1},{-175,12510,1},{-170,12512,1},{-168,12513,1},{-170,12515,1}, {-170,12518,1},{-172,12520,1},{-177,12518,1},{-178,12520,1},{-178,12522,1}, {-173,12525,1},{-173,12528,1},{-175,12530,1},{-178,12528,1},{-178,12532,1}, {-188,12532,1},{-188,12530,1},{-188,12513,1},{-190,12510,1},{-190,12505,1}, {-190,12502,1},{-193,12502,1},{-195,12500,1},{-192,12493,1},{-192,12488,1}, {-190,12487,1},{-190,12483,1},{-197,12468,1},{-202,12457,1},{-202,12442,1}, {-193,12437,1},{-188,12433,1},{-182,12433,1},{-177,12437,1},{-168,12437,1}, {-167,12440,1},{-165,12442,1},{-178,12542,129},{-180,12543,1},{-178,12548,1}, {-182,12550,1},{-180,12555,1},{-182,12563,1},{-182,12565,1},{-182,12572,1}, {-180,12575,1},{-180,12583,1},{-178,12598,1},{-180,12610,1},{-182,12635,1}, {-185,12633,1},{-188,12627,1},{-188,12620,1},{-188,12617,1},{-188,12608,1}, {-192,12597,1},{-193,12592,1},{-190,12585,1},{-192,12582,1},{-192,12560,1}, {-195,12543,1},{-190,12543,1},{-187,12538,1},{-188,12535,1},{-185,12533,1}, {-182,12535,1},{-180,12538,1},{-178,12537,1},{-178,12542,1},{-462,12272,129}, {-465,12273,1},{-485,12275,1},{-490,12278,1},{-495,12278,1},{-497,12273,1}, {-502,12272,1},{-507,12265,1},{-517,12260,1},{-520,12260,1},{-520,12263,1}, {-525,12260,1},{-525,12265,1},{-528,12265,1},{-535,12265,1},{-535,12263,1}, {-535,12262,1},{-542,12260,1},{-543,12255,1},{-540,12253,1},{-533,12255,1}, {-528,12252,1},{-532,12250,1},{-535,12250,1},{-540,12247,1},{-540,12243,1}, {-537,12242,1},{-535,12240,1},{-532,12245,1},{-532,12243,1},{-533,12238,1}, {-538,12237,1},{-538,12228,1},{-532,12227,1},{-525,12232,1},{-515,12232,1}, {-512,12233,1},{-508,12238,1},{-507,12240,1},{-498,12238,1},{-483,12233,1}, {-475,12238,1},{-473,12252,1},{-465,12262,1},{-462,12270,1},{-462,12272,1}, {-440,12308,129},{-443,12307,1},{-447,12308,1},{-450,12315,1},{-458,12320,1}, {-467,12318,1},{-468,12322,1},{-483,12322,1},{-485,12320,1},{-482,12318,1}, {-477,12318,1},{-470,12313,1},{-472,12312,1},{-477,12312,1},{-477,12310,1}, {-475,12308,1},{-475,12305,1},{-480,12305,1},{-483,12302,1},{-492,12302,1}, {-500,12297,1},{-503,12298,1},{-508,12298,1},{-518,12295,1},{-520,12297,1}, {-518,12298,1},{-513,12303,1},{-515,12307,1},{-518,12307,1},{-518,12310,1}, {-522,12310,1},{-522,12313,1},{-525,12318,1},{-527,12322,1},{-530,12322,1}, {-538,12313,1},{-543,12305,1},{-538,12298,1},{-547,12288,1},{-552,12287,1}, {-552,12292,1},{-553,12292,1},{-568,12282,1},{-568,12278,1},{-567,12278,1}, {-563,12277,1},{-568,12273,1},{-563,12273,1},{-567,12268,1},{-568,12265,1}, {-550,12257,1},{-548,12258,1},{-543,12265,1},{-542,12265,1},{-540,12263,1}, {-525,12273,1},{-522,12282,1},{-518,12280,1},{-522,12275,1},{-517,12275,1}, {-512,12278,1},{-510,12278,1},{-503,12280,1},{-502,12280,1},{-503,12275,1}, {-497,12282,1},{-490,12283,1},{-485,12282,1},{-482,12285,1},{-463,12285,1}, {-450,12290,1},{-447,12292,1},{-440,12302,1},{-438,12307,1},{-438,12308,1}, {-440,12307,1},{-312,12613,129},{-317,12617,1},{-318,12620,1},{-317,12622,1}, {-313,12625,1},{-310,12628,1},{-307,12642,1},{-307,12673,1},{-308,12683,1}, {-313,12688,1},{-312,12692,1},{-313,12693,1},{-315,12700,1},{-322,12710,1}, {-328,12712,1},{-327,12707,1},{-328,12705,1},{-333,12705,1},{-333,12707,1}, {-337,12708,1},{-337,12712,1},{-333,12715,1},{-337,12725,1},{-338,12727,1}, {-350,12723,1},{-360,12723,1},{-365,12722,1},{-367,12710,1},{-370,12702,1}, {-377,12695,1},{-380,12680,1},{-383,12670,1},{-377,12648,1},{-370,12637,1}, {-362,12625,1},{-360,12618,1},{-350,12613,1},{-342,12603,1},{-335,12602,1}, {-317,12602,1},{-310,12610,1},{-312,12613,1},{-287,12818,129},{-287,12840,1}, {-283,12852,1},{-285,12857,1},{-287,12890,1},{-280,12905,1},{-282,12907,1}, {-287,12907,1},{-290,12907,1},{-295,12910,1},{-297,12913,1},{-297,12918,1}, {-292,12918,1},{-295,12922,1},{-292,12923,1},{-285,12937,1},{-280,12937,1}, {-278,12942,1},{-278,12953,1},{-287,12973,1},{-288,12977,1},{-292,12980,1}, {-290,12987,1},{-292,12987,1},{-293,12988,1},{-293,12990,1},{-297,12995,1}, {-300,13002,1},{-300,13020,1},{-298,13025,1},{-298,13037,1},{-310,13048,1}, {-313,13058,1},{-325,13063,1},{-332,13063,1},{-338,13065,1},{-342,13067,1}, {-342,13080,1},{-345,13083,1},{-347,13082,1},{-350,13082,1},{-357,13087,1}, {-363,13087,1},{-368,13083,1},{-378,13083,1},{-383,13082,1},{-387,13085,1}, {-387,13083,1},{-383,13075,1},{-383,13072,1},{-378,13062,1},{-372,13055,1}, {-370,13048,1},{-363,13042,1},{-355,13013,1},{-352,13010,1},{-348,13000,1}, {-343,12997,1},{-338,12997,1},{-333,12988,1},{-333,12970,1},{-330,12952,1}, {-332,12950,1},{-333,12950,1},{-342,12957,1},{-347,12955,1},{-347,12952,1}, {-342,12938,1},{-342,12923,1},{-335,12910,1},{-335,12895,1},{-332,12893,1}, {-325,12898,1},{-323,12897,1},{-322,12890,1},{-322,12887,1},{-323,12885,1}, {-327,12878,1},{-333,12872,1},{-338,12867,1},{-342,12868,1},{-343,12868,1}, {-343,12857,1},{-347,12848,1},{-342,12840,1},{-322,12828,1},{-320,12818,1}, {-312,12820,1},{-308,12818,1},{-307,12817,1},{-308,12813,1},{-313,12810,1}, {-322,12807,1},{-333,12805,1},{-338,12802,1},{-338,12798,1},{-348,12793,1}, {-352,12795,1},{-357,12792,1},{-348,12790,1},{-342,12793,1},{-335,12793,1}, {-327,12788,1},{-320,12787,1},{-317,12783,1},{-315,12790,1},{-308,12800,1}, {-307,12810,1},{-303,12808,1},{-298,12812,1},{-298,12807,1},{-297,12807,1}, {-295,12813,1},{-293,12813,1},{-290,12813,1},{-290,12815,1},{-285,12817,1}, {-287,12818,1},{-617,13412,129},{-622,13417,1},{-623,13422,1},{-630,13430,1}, {-635,13428,1},{-638,13432,1},{-645,13445,1},{-652,13448,1},{-653,13447,1}, {-658,13448,1},{-658,13452,1},{-665,13450,1},{-667,13447,1},{-665,13442,1}, {-667,13440,1},{-668,13443,1},{-672,13438,1},{-675,13438,1},{-680,13435,1}, {-682,13437,1},{-685,13432,1},{-688,13425,1},{-692,13420,1},{-692,13418,1}, {-685,13415,1},{-683,13407,1},{-677,13405,1},{-665,13408,1},{-647,13410,1}, {-648,13413,1},{-648,13417,1},{-650,13418,1},{-650,13422,1},{-645,13418,1}, {-647,13415,1},{-645,13413,1},{-642,13412,1},{-628,13412,1},{-620,13408,1}, {-617,13410,1},{-617,13412,1},{-543,13452,129},{-545,13453,1},{-543,13457,1}, {-543,13458,1},{-545,13463,1},{-550,13465,1},{-553,13470,1},{-555,13467,1}, {-558,13468,1},{-558,13463,1},{-560,13468,1},{-563,13475,1},{-567,13475,1}, {-568,13473,1},{-573,13473,1},{-575,13470,1},{-575,13473,1},{-580,13473,1}, {-583,13470,1},{-587,13475,1},{-588,13477,1},{-592,13473,1},{-590,13472,1}, {-592,13470,1},{-593,13470,1},{-595,13473,1},{-595,13472,1},{-598,13473,1}, {-597,13468,1},{-593,13465,1},{-595,13460,1},{-595,13465,1},{-600,13467,1}, {-603,13473,1},{-608,13477,1},{-612,13477,1},{-615,13475,1},{-617,13470,1}, {-620,13468,1},{-617,13475,1},{-618,13475,1},{-623,13475,1},{-632,13470,1}, {-637,13460,1},{-635,13458,1},{-635,13455,1},{-627,13445,1},{-627,13440,1}, {-622,13437,1},{-623,13433,1},{-612,13427,1},{-605,13430,1},{-605,13435,1}, {-603,13438,1},{-603,13430,1},{-597,13432,1},{-593,13428,1},{-588,13432,1}, {-587,13432,1},{-585,13437,1},{-583,13435,1},{-580,13438,1},{-578,13437,1}, {-582,13433,1},{-580,13433,1},{-578,13432,1},{-577,13425,1},{-573,13420,1}, {-572,13420,1},{-568,13423,1},{-572,13433,1},{-572,13437,1},{-568,13435,1}, {-563,13440,1},{-555,13445,1},{-557,13447,1},{-555,13448,1},{-555,13450,1}, {-552,13450,1},{-550,13448,1},{-543,13450,1},{-543,13452,1},{-143,12747,129}, {-145,12748,1},{-143,12750,1},{-138,12755,1},{-133,12765,1},{-135,12767,1}, {-135,12772,1},{-143,12783,1},{-143,12788,1},{-143,12792,1},{-157,12805,1}, {-157,12810,1},{-157,12812,1},{-162,12815,1},{-168,12815,1},{-172,12808,1}, {-172,12800,1},{-168,12792,1},{-170,12783,1},{-168,12770,1},{-173,12765,1}, {-175,12755,1},{-168,12743,1},{-163,12738,1},{-158,12740,1},{-153,12738,1}, {-152,12740,1},{-148,12740,1},{-145,12743,1},{-142,12742,1},{-143,12747,1}, {-32,12753,129},{-32,12758,1},{-42,12763,1},{-42,12765,1},{-47,12768,1}, {-52,12767,1},{-57,12763,1},{-62,12760,1},{-63,12760,1},{-65,12765,1},{-72,12765,1}, {-72,12768,1},{-70,12772,1},{-68,12778,1},{-72,12783,1},{-78,12790,1},{-78,12788,1}, {-80,12790,1},{-87,12783,1},{-88,12775,1},{-87,12773,1},{-85,12768,1},{-83,12768,1}, {-83,12765,1},{-78,12765,1},{-75,12763,1},{-82,12748,1},{-82,12747,1},{-75,12743,1}, {-65,12747,1},{-62,12740,1},{-52,12730,1},{-47,12728,1},{-42,12732,1},{-35,12732,1}, {-33,12737,1},{-35,12738,1},{-42,12745,1},{-35,12748,1},{-32,12752,1},{-32,12753,1}, {202,12828,129},{205,12828,1},{208,12825,1},{223,12823,1},{227,12820,1}, {235,12827,1},{243,12830,1},{250,12835,1},{252,12840,1},{257,12843,1},{258,12847,1}, {257,12850,1},{257,12852,1},{262,12853,1},{263,12857,1},{263,12858,1},{257,12862,1}, {248,12868,1},{242,12870,1},{233,12865,1},{228,12865,1},{212,12857,1},{205,12850,1}, {203,12833,1},{198,12828,1},{200,12827,1},{202,12828,1},{20,12890,129}, {25,12883,1},{32,12855,1},{40,12847,1},{38,12840,1},{40,12837,1},{38,12828,1}, {40,12825,1},{42,12818,1},{45,12817,1},{48,12795,1},{45,12792,1},{38,12790,1}, {32,12788,1},{30,12788,1},{27,12792,1},{20,12792,1},{13,12792,1},{8,12788,1}, {0,12788,1},{-15,12795,1},{-27,12798,1},{-33,12802,1},{-43,12805,1},{-70,12822,1}, {-78,12828,1},{-92,12843,1},{-88,12832,1},{-87,12825,1},{-83,12823,1},{-83,12827,1}, {-80,12823,1},{-72,12803,1},{-38,12787,1},{-30,12772,1},{-27,12770,1},{-22,12767,1}, {-10,12768,1},{-2,12768,1},{7,12770,1},{12,12768,1},{30,12772,1},{33,12770,1}, {33,12765,1},{37,12762,1},{38,12762,1},{42,12757,1},{50,12757,1},{55,12753,1}, {60,12752,1},{72,12755,1},{77,12760,1},{85,12762,1},{90,12750,1},{97,12752,1}, {100,12748,1},{105,12748,1},{103,12740,1},{108,12740,1},{113,12743,1},{118,12740,1}, {122,12740,1},{143,12752,1},{150,12753,1},{153,12752,1},{158,12755,1},{165,12755,1}, {167,12758,1},{170,12755,1},{172,12757,1},{173,12757,1},{182,12762,1},{188,12765,1}, {210,12785,1},{213,12788,1},{217,12790,1},{217,12792,1},{220,12795,1},{218,12798,1}, {220,12805,1},{218,12807,1},{213,12803,1},{203,12795,1},{198,12795,1},{190,12785,1}, {182,12785,1},{180,12790,1},{180,12793,1},{175,12800,1},{170,12802,1},{162,12800,1}, {158,12803,1},{153,12803,1},{143,12802,1},{140,12802,1},{135,12798,1},{130,12802,1}, {130,12798,1},{122,12792,1},{115,12788,1},{113,12782,1},{108,12777,1},{102,12765,1}, {98,12763,1},{92,12763,1},{88,12767,1},{85,12772,1},{82,12773,1},{82,12777,1}, {80,12780,1},{80,12785,1},{85,12792,1},{92,12792,1},{97,12793,1},{100,12793,1}, {107,12798,1},{112,12803,1},{112,12815,1},{113,12817,1},{118,12820,1},{122,12818,1}, {123,12817,1},{123,12810,1},{127,12810,1},{128,12813,1},{138,12818,1},{143,12827,1}, {145,12833,1},{150,12837,1},{152,12840,1},{155,12847,1},{153,12850,1},{157,12855,1}, {158,12863,1},{157,12870,1},{155,12873,1},{153,12872,1},{152,12870,1},{147,12868,1}, {143,12868,1},{140,12875,1},{135,12875,1},{132,12873,1},{128,12872,1},{120,12870,1}, {107,12870,1},{107,12865,1},{98,12853,1},{97,12848,1},{93,12843,1},{90,12830,1}, {87,12828,1},{82,12830,1},{82,12823,1},{80,12822,1},{77,12822,1},{73,12823,1}, {65,12835,1},{63,12843,1},{60,12848,1},{58,12853,1},{57,12858,1},{55,12867,1}, {52,12868,1},{48,12867,1},{47,12868,1},{40,12870,1},{33,12868,1},{30,12883,1}, {27,12887,1},{20,12890,1},{-2,13082,129},{-3,13095,1},{-7,13097,1},{-3,13105,1}, {-5,13105,1},{-7,13105,1},{-8,13112,1},{-8,13113,1},{-13,13120,1},{-15,13127,1}, {-17,13130,1},{-20,13132,1},{-25,13130,1},{-30,13135,1},{-30,13132,1},{-35,13128,1}, {-35,13127,1},{-38,13125,1},{-38,13122,1},{-33,13117,1},{-33,13112,1},{-32,13110,1}, {-37,13103,1},{-35,13100,1},{-37,13098,1},{-37,13097,1},{-30,13090,1},{-25,13087,1}, {-23,13080,1},{-20,13080,1},{-17,13078,1},{-15,13075,1},{-10,13072,1},{-10,13068,1}, {-8,13070,1},{-8,13068,1},{-8,13062,1},{-10,13062,1},{-12,13065,1},{-12,13063,1}, {-13,13063,1},{-15,13062,1},{-15,13065,1},{-20,13070,1},{-23,13073,1},{-28,13073,1}, {-30,13078,1},{-33,13082,1},{-28,13082,1},{-30,13088,1},{-32,13090,1},{-32,13092,1}, {-37,13095,1},{-37,13093,1},{-38,13093,1},{-42,13092,1},{-45,13082,1},{-43,13072,1}, {-35,13068,1},{-33,13070,1},{-30,13068,1},{-32,13065,1},{-30,13062,1},{-33,13058,1}, {-35,13057,1},{-37,13057,1},{-38,13058,1},{-43,13055,1},{-40,13055,1},{-38,13053,1}, {-33,13053,1},{-30,13052,1},{-25,13052,1},{-27,13047,1},{-28,13043,1},{-27,13042,1}, {-28,13037,1},{-27,13035,1},{-27,13032,1},{-25,13032,1},{-23,13028,1},{-22,13022,1}, {-20,13022,1},{-22,13033,1},{-20,13035,1},{-22,13038,1},{-20,13043,1},{-18,13043,1}, {-18,13038,1},{-17,13042,1},{-13,13040,1},{-17,13038,1},{-13,13037,1},{-15,13037,1}, {-15,13033,1},{-20,13035,1},{-18,13030,1},{-12,13027,1},{-10,13030,1},{-10,13033,1}, {-8,13033,1},{-13,13035,1},{-12,13037,1},{-8,13037,1},{-7,13038,1},{-8,13038,1}, {-10,13040,1},{-10,13042,1},{-8,13042,1},{-8,13045,1},{-5,13052,1},{-7,13053,1}, {-7,13057,1},{-5,13057,1},{-7,13058,1},{-5,13060,1},{-5,13065,1},{-3,13072,1}, {-5,13072,1},{-5,13077,1},{-3,13078,1},{-3,13075,1},{-2,13082,1},{-168,13035,129}, {-173,13035,1},{-178,13040,1},{-185,13043,1},{-187,13042,1},{-188,13042,1}, {-192,13033,1},{-195,13037,1},{-197,13043,1},{-198,13043,1},{-198,13040,1}, {-202,13038,1},{-200,13033,1},{-195,13033,1},{-202,13030,1},{-202,13027,1}, {-205,13027,1},{-207,13020,1},{-207,13012,1},{-205,13010,1},{-203,13012,1}, {-202,13008,1},{-200,12992,1},{-197,12983,1},{-193,12980,1},{-192,12973,1}, {-188,12972,1},{-185,12975,1},{-183,12987,1},{-180,12988,1},{-178,12995,1}, {-173,13003,1},{-173,13013,1},{-173,13023,1},{-170,13027,1},{-168,13033,1}, {-168,13035,1},{-738,13855,129},{-737,13870,1},{-738,13880,1},{-755,13893,1}, {-758,13907,1},{-762,13903,1},{-768,13902,1},{-773,13898,1},{-785,13898,1}, {-790,13888,1},{-803,13888,1},{-808,13890,1},{-808,13883,1},{-813,13878,1}, {-817,13867,1},{-825,13860,1},{-832,13852,1},{-837,13847,1},{-840,13840,1}, {-843,13832,1},{-843,13828,1},{-840,13822,1},{-837,13787,1},{-840,13772,1}, {-843,13765,1},{-842,13763,1},{-838,13763,1},{-813,13773,1},{-807,13777,1}, {-805,13780,1},{-798,13782,1},{-783,13788,1},{-777,13793,1},{-773,13797,1}, {-772,13797,1},{-762,13803,1},{-755,13810,1},{-747,13823,1},{-742,13837,1}, {-738,13857,1},{-913,14100,129},{-905,14085,1},{-893,14075,1},{-880,14062,1}, {-863,14050,1},{-853,14038,1},{-850,14037,1},{-848,14032,1},{-840,14023,1}, {-827,14005,1},{-820,13998,1},{-813,13997,1},{-810,14000,1},{-808,14005,1}, {-805,14007,1},{-798,14005,1},{-795,14007,1},{-793,14008,1},{-795,14013,1}, {-788,14015,1},{-790,14012,1},{-792,14012,1},{-792,14005,1},{-800,14003,1}, {-805,14003,1},{-810,13997,1},{-812,13992,1},{-813,13962,1},{-818,13953,1}, {-820,13938,1},{-820,13933,1},{-813,13925,1},{-812,13923,1},{-808,13925,1}, {-802,13925,1},{-798,13922,1},{-800,13927,1},{-798,13928,1},{-795,13922,1}, {-798,13920,1},{-802,13923,1},{-808,13923,1},{-813,13908,1},{-822,13897,1}, {-830,13893,1},{-830,13892,1},{-817,13885,1},{-813,13883,1},{-810,13885,1}, {-810,13890,1},{-808,13892,1},{-803,13890,1},{-792,13892,1},{-787,13900,1}, {-775,13900,1},{-763,13905,1},{-760,13910,1},{-757,13910,1},{-753,13907,1}, {-752,13902,1},{-752,13895,1},{-740,13892,1},{-733,13887,1},{-725,13873,1}, {-723,13868,1},{-720,13867,1},{-720,13868,1},{-720,13893,1},{-725,13903,1}, {-723,13918,1},{-720,13920,1},{-715,13923,1},{-715,13920,1},{-722,13915,1}, {-722,13905,1},{-717,13893,1},{-715,13885,1},{-712,13875,1},{-700,13863,1}, {-695,13857,1},{-692,13857,1},{-688,13860,1},{-690,13873,1},{-688,13877,1}, {-685,13882,1},{-685,13890,1},{-687,13898,1},{-690,13902,1},{-698,13912,1}, {-697,13918,1},{-693,13910,1},{-687,13902,1},{-683,13897,1},{-682,13883,1}, {-675,13877,1},{-672,13868,1},{-665,13867,1},{-665,13870,1},{-670,13883,1}, {-662,13868,1},{-658,13867,1},{-640,13847,1},{-627,13840,1},{-618,13840,1}, {-610,13837,1},{-593,13827,1},{-590,13827,1},{-588,13828,1},{-585,13840,1}, {-583,13822,1},{-580,13818,1},{-578,13817,1},{-570,13828,1},{-568,13837,1}, {-567,13833,1},{-568,13822,1},{-572,13817,1},{-573,13808,1},{-573,13807,1}, {-568,13807,1},{-558,13805,1},{-555,13810,1},{-550,13807,1},{-543,13807,1}, {-540,13807,1},{-543,13805,1},{-543,13802,1},{-547,13803,1},{-548,13802,1}, {-548,13798,1},{-538,13790,1},{-533,13792,1},{-533,13790,1},{-537,13785,1}, {-537,13782,1},{-532,13778,1},{-525,13780,1},{-528,13775,1},{-525,13772,1}, {-522,13770,1},{-522,13767,1},{-520,13760,1},{-518,13757,1},{-515,13760,1}, {-515,13757,1},{-512,13757,1},{-515,13752,1},{-513,13750,1},{-512,13747,1}, {-510,13747,1},{-510,13740,1},{-507,13735,1},{-503,13737,1},{-503,13733,1}, {-500,13732,1},{-503,13730,1},{-502,13727,1},{-495,13728,1},{-493,13727,1}, {-497,13723,1},{-500,13723,1},{-502,13722,1},{-498,13715,1},{-495,13715,1}, {-498,13712,1},{-497,13708,1},{-495,13708,1},{-490,13710,1},{-493,13707,1}, {-495,13702,1},{-492,13695,1},{-488,13698,1},{-487,13697,1},{-488,13692,1}, {-492,13688,1},{-493,13682,1},{-492,13680,1},{-488,13680,1},{-488,13675,1}, {-490,13675,1},{-488,13673,1},{-485,13670,1},{-485,13667,1},{-480,13658,1}, {-475,13650,1},{-475,13647,1},{-472,13643,1},{-472,13642,1},{-468,13635,1}, {-467,13622,1},{-465,13615,1},{-463,13615,1},{-462,13612,1},{-460,13607,1}, {-460,13603,1},{-452,13597,1},{-450,13593,1},{-450,13567,1},{-443,13543,1}, {-445,13528,1},{-447,13525,1},{-445,13518,1},{-432,13497,1},{-427,13488,1}, {-425,13480,1},{-422,13473,1},{-413,13472,1},{-413,13467,1},{-412,13465,1}, {-410,13465,1},{-405,13470,1},{-403,13467,1},{-400,13467,1},{-393,13470,1}, {-395,13485,1},{-398,13493,1},{-395,13497,1},{-393,13497,1},{-395,13492,1}, {-392,13492,1},{-393,13485,1},{-392,13478,1},{-392,13468,1},{-393,13465,1}, {-395,13462,1},{-402,13460,1},{-403,13452,1},{-398,13447,1},{-397,13448,1}, {-392,13443,1},{-390,13438,1},{-387,13433,1},{-393,13437,1},{-395,13435,1}, {-395,13430,1},{-400,13433,1},{-402,13432,1},{-402,13430,1},{-397,13427,1}, {-397,13422,1},{-393,13418,1},{-390,13417,1},{-390,13413,1},{-383,13420,1}, {-378,13417,1},{-375,13413,1},{-377,13412,1},{-380,13413,1},{-382,13412,1}, {-383,13408,1},{-380,13405,1},{-382,13402,1},{-385,13398,1},{-385,13397,1}, {-375,13392,1},{-367,13385,1},{-358,13383,1},{-362,13380,1},{-373,13383,1}, {-372,13382,1},{-367,13375,1},{-368,13372,1},{-367,13370,1},{-362,13370,1}, {-348,13363,1},{-347,13363,1},{-342,13370,1},{-333,13368,1},{-323,13368,1}, {-323,13372,1},{-318,13372,1},{-320,13377,1},{-313,13378,1},{-312,13382,1}, {-308,13385,1},{-308,13387,1},{-313,13392,1},{-312,13392,1},{-308,13390,1}, {-305,13385,1},{-297,13388,1},{-293,13387,1},{-293,13382,1},{-297,13383,1}, {-302,13380,1},{-305,13373,1},{-313,13367,1},{-337,13367,1},{-342,13365,1}, {-343,13357,1},{-342,13353,1},{-338,13352,1},{-343,13352,1},{-345,13348,1}, {-347,13357,1},{-355,13358,1},{-358,13357,1},{-363,13350,1},{-375,13340,1}, {-380,13340,1},{-383,13345,1},{-387,13345,1},{-388,13340,1},{-402,13332,1}, {-408,13323,1},{-407,13312,1},{-407,13307,1},{-408,13302,1},{-412,13298,1}, {-408,13290,1},{-403,13288,1},{-400,13283,1},{-397,13282,1},{-395,13280,1}, {-392,13280,1},{-393,13282,1},{-392,13283,1},{-385,13278,1},{-378,13278,1}, {-367,13273,1},{-363,13273,1},{-363,13275,1},{-365,13287,1},{-363,13288,1}, {-358,13288,1},{-355,13293,1},{-353,13290,1},{-347,13288,1},{-347,13283,1}, {-345,13282,1},{-337,13280,1},{-333,13282,1},{-330,13282,1},{-328,13280,1}, {-327,13277,1},{-328,13273,1},{-330,13273,1},{-333,13273,1},{-335,13272,1}, {-332,13267,1},{-330,13265,1},{-327,13263,1},{-323,13260,1},{-322,13263,1}, {-320,13263,1},{-318,13258,1},{-312,13255,1},{-303,13245,1},{-298,13233,1}, {-295,13233,1},{-293,13222,1},{-292,13218,1},{-295,13218,1},{-295,13215,1}, {-293,13210,1},{-295,13210,1},{-297,13208,1},{-292,13205,1},{-293,13203,1}, {-292,13202,1},{-292,13198,1},{-293,13198,1},{-292,13197,1},{-288,13202,1}, {-287,13202,1},{-285,13198,1},{-282,13203,1},{-280,13205,1},{-280,13198,1}, {-278,13195,1},{-275,13202,1},{-277,13205,1},{-275,13207,1},{-277,13208,1}, {-273,13208,1},{-275,13210,1},{-273,13217,1},{-272,13217,1},{-273,13212,1}, {-272,13210,1},{-270,13213,1},{-268,13220,1},{-268,13232,1},{-270,13238,1}, {-270,13242,1},{-273,13243,1},{-275,13242,1},{-275,13245,1},{-273,13245,1}, {-273,13247,1},{-272,13247,1},{-270,13248,1},{-272,13257,1},{-282,13272,1}, {-282,13273,1},{-278,13277,1},{-273,13285,1},{-250,13302,1},{-245,13310,1}, {-243,13317,1},{-243,13320,1},{-242,13323,1},{-245,13332,1},{-252,13332,1}, {-250,13333,1},{-252,13338,1},{-265,13338,1},{-268,13338,1},{-268,13340,1}, {-257,13340,1},{-250,13345,1},{-252,13345,1},{-265,13345,1},{-263,13347,1}, {-252,13348,1},{-253,13350,1},{-260,13352,1},{-260,13353,1},{-257,13353,1}, {-257,13358,1},{-253,13360,1},{-255,13365,1},{-258,13368,1},{-268,13367,1}, {-272,13368,1},{-265,13368,1},{-262,13370,1},{-252,13370,1},{-252,13375,1}, {-267,13382,1},{-255,13382,1},{-250,13380,1},{-248,13382,1},{-248,13377,1}, {-245,13373,1},{-243,13375,1},{-242,13383,1},{-243,13387,1},{-248,13390,1}, {-247,13390,1},{-242,13387,1},{-240,13387,1},{-240,13400,1},{-238,13400,1}, {-238,13392,1},{-238,13390,1},{-237,13388,1},{-235,13393,1},{-235,13395,1}, {-233,13395,1},{-233,13387,1},{-230,13395,1},{-223,13395,1},{-220,13395,1}, {-227,13393,1},{-227,13390,1},{-227,13388,1},{-230,13383,1},{-227,13378,1}, {-225,13380,1},{-222,13387,1},{-220,13388,1},{-220,13392,1},{-217,13395,1}, {-218,13388,1},{-215,13393,1},{-210,13393,1},{-212,13385,1},{-215,13382,1}, {-217,13377,1},{-217,13372,1},{-220,13370,1},{-220,13367,1},{-223,13365,1}, {-223,13362,1},{-223,13360,1},{-218,13360,1},{-223,13357,1},{-225,13355,1}, {-225,13353,1},{-220,13352,1},{-223,13350,1},{-223,13345,1},{-222,13340,1}, {-223,13332,1},{-220,13330,1},{-223,13325,1},{-222,13322,1},{-225,13310,1}, {-225,13302,1},{-228,13297,1},{-228,13290,1},{-225,13282,1},{-232,13268,1}, {-227,13263,1},{-223,13262,1},{-218,13258,1},{-222,13245,1},{-227,13240,1}, {-227,13230,1},{-215,13218,1},{-213,13212,1},{-210,13207,1},{-207,13203,1}, {-202,13210,1},{-200,13212,1},{-202,13203,1},{-200,13202,1},{-197,13197,1}, {-192,13197,1},{-192,13195,1},{-187,13193,1},{-183,13195,1},{-182,13193,1}, {-173,13202,1},{-168,13202,1},{-168,13200,1},{-170,13195,1},{-172,13192,1}, {-168,13190,1},{-165,13188,1},{-160,13190,1},{-157,13197,1},{-153,13198,1}, {-158,13188,1},{-155,13188,1},{-160,13180,1},{-158,13178,1},{-153,13182,1}, {-150,13180,1},{-155,13178,1},{-158,13173,1},{-157,13170,1},{-152,13172,1}, {-153,13163,1},{-152,13162,1},{-148,13158,1},{-148,13152,1},{-147,13150,1}, {-148,13147,1},{-150,13147,1},{-150,13143,1},{-147,13138,1},{-143,13140,1}, {-140,13138,1},{-140,13132,1},{-138,13128,1},{-140,13127,1},{-143,13133,1}, {-147,13133,1},{-150,13128,1},{-150,13123,1},{-153,13120,1},{-148,13118,1}, {-145,13112,1},{-145,13097,1},{-143,13095,1},{-142,13095,1},{-138,13100,1}, {-128,13103,1},{-125,13105,1},{-122,13118,1},{-110,13125,1},{-103,13125,1}, {-97,13127,1},{-93,13127,1},{-92,13128,1},{-88,13125,1},{-82,13123,1},{-78,13137,1}, {-77,13142,1},{-73,13152,1},{-75,13153,1},{-78,13152,1},{-77,13158,1},{-70,13187,1}, {-68,13188,1},{-62,13192,1},{-55,13200,1},{-53,13207,1},{-48,13208,1},{-43,13215,1}, {-40,13225,1},{-38,13227,1},{-38,13232,1},{-35,13243,1},{-37,13268,1},{-37,13272,1}, {-45,13290,1},{-47,13293,1},{-45,13298,1},{-48,13300,1},{-48,13302,1},{-52,13305,1}, {-52,13308,1},{-53,13312,1},{-55,13317,1},{-70,13335,1},{-73,13343,1},{-75,13358,1}, {-73,13360,1},{-73,13362,1},{-75,13375,1},{-72,13377,1},{-73,13382,1},{-75,13383,1}, {-73,13390,1},{-73,13400,1},{-80,13405,1},{-82,13410,1},{-85,13413,1},{-87,13418,1}, {-88,13408,1},{-95,13407,1},{-97,13403,1},{-102,13407,1},{-115,13413,1}, {-122,13420,1},{-135,13428,1},{-143,13423,1},{-155,13422,1},{-165,13413,1}, {-168,13408,1},{-188,13412,1},{-193,13415,1},{-205,13415,1},{-207,13413,1}, {-213,13412,1},{-218,13415,1},{-222,13415,1},{-227,13417,1},{-232,13417,1}, {-242,13422,1},{-243,13425,1},{-250,13430,1},{-250,13432,1},{-275,13440,1}, {-287,13447,1},{-287,13450,1},{-283,13453,1},{-263,13447,1},{-257,13447,1}, {-253,13448,1},{-252,13450,1},{-250,13455,1},{-248,13453,1},{-247,13455,1}, {-252,13463,1},{-257,13465,1},{-285,13467,1},{-297,13470,1},{-300,13473,1}, {-297,13480,1},{-292,13482,1},{-290,13485,1},{-293,13487,1},{-297,13485,1}, {-302,13485,1},{-303,13482,1},{-312,13482,1},{-317,13487,1},{-325,13488,1}, {-328,13492,1},{-327,13493,1},{-323,13495,1},{-325,13497,1},{-328,13495,1}, {-333,13498,1},{-335,13508,1},{-337,13512,1},{-337,13528,1},{-340,13533,1}, {-337,13540,1},{-337,13547,1},{-333,13553,1},{-328,13557,1},{-325,13557,1}, {-320,13562,1},{-317,13572,1},{-312,13577,1},{-310,13577,1},{-308,13573,1}, {-305,13577,1},{-305,13582,1},{-302,13583,1},{-302,13588,1},{-298,13592,1}, {-293,13593,1},{-288,13592,1},{-283,13597,1},{-278,13595,1},{-275,13602,1}, {-270,13602,1},{-270,13605,1},{-267,13608,1},{-263,13618,1},{-258,13625,1}, {-252,13628,1},{-243,13628,1},{-237,13635,1},{-228,13633,1},{-222,13640,1}, {-220,13653,1},{-222,13653,1},{-223,13655,1},{-227,13668,1},{-225,13672,1}, {-225,13675,1},{-223,13680,1},{-222,13683,1},{-220,13683,1},{-218,13693,1}, {-213,13697,1},{-213,13700,1},{-212,13707,1},{-210,13718,1},{-208,13723,1}, {-207,13723,1},{-202,13718,1},{-198,13722,1},{-195,13720,1},{-190,13710,1}, {-182,13712,1},{-180,13713,1},{-178,13717,1},{-177,13718,1},{-177,13725,1}, {-172,13735,1},{-163,13748,1},{-160,13752,1},{-157,13758,1},{-147,13785,1}, {-148,13793,1},{-162,13807,1},{-163,13820,1},{-173,13842,1},{-178,13865,1}, {-185,13875,1},{-190,13877,1},{-195,13885,1},{-197,13893,1},{-200,13903,1}, {-207,13918,1},{-213,13928,1},{-215,13935,1},{-225,13953,1},{-230,13968,1}, {-235,13977,1},{-238,13987,1},{-235,14007,1},{-232,14012,1},{-235,14015,1}, {-232,14017,1},{-235,14017,1},{-240,14022,1},{-242,14025,1},{-247,14033,1}, {-245,14038,1},{-243,14038,1},{-240,14037,1},{-243,14050,1},{-245,14062,1}, {-250,14075,1},{-255,14075,1},{-260,14070,1},{-263,14073,1},{-260,14075,1}, {-262,14078,1},{-262,14082,1},{-260,14100,1},{-160,13550,129},{-162,13555,1}, {-163,13578,1},{-165,13585,1},{-165,13620,1},{-168,13625,1},{-168,13630,1}, {-172,13637,1},{-173,13657,1},{-175,13680,1},{-178,13690,1},{-180,13690,1}, {-182,13687,1},{-183,13673,1},{-185,13670,1},{-188,13663,1},{-187,13653,1}, {-190,13653,1},{-188,13650,1},{-190,13645,1},{-187,13633,1},{-188,13628,1}, {-192,13627,1},{-190,13625,1},{-190,13623,1},{-187,13622,1},{-187,13620,1}, {-185,13607,1},{-182,13602,1},{-182,13598,1},{-178,13595,1},{-175,13587,1}, {-175,13583,1},{-173,13578,1},{-172,13573,1},{-170,13572,1},{-170,13567,1}, {-170,13560,1},{-168,13555,1},{-168,13548,1},{-165,13547,1},{-165,13545,1}, {-162,13542,1},{-160,13548,1},{-160,13550,1},{-67,13545,129},{-68,13548,1}, {-67,13558,1},{-70,13560,1},{-68,13567,1},{-73,13570,1},{-73,13575,1},{-75,13577,1}, {-70,13582,1},{-70,13585,1},{-73,13590,1},{-80,13595,1},{-88,13607,1},{-90,13607,1}, {-92,13608,1},{-97,13612,1},{-102,13617,1},{-107,13618,1},{-105,13627,1}, {-107,13628,1},{-108,13632,1},{-110,13637,1},{-112,13638,1},{-115,13633,1}, {-120,13627,1},{-123,13613,1},{-122,13610,1},{-117,13603,1},{-118,13590,1}, {-113,13583,1},{-112,13583,1},{-105,13583,1},{-95,13578,1},{-90,13578,1}, {-83,13575,1},{-83,13572,1},{-90,13565,1},{-77,13550,1},{-78,13548,1},{-80,13548,1}, {-80,13547,1},{-75,13540,1},{-67,13537,1},{-63,13538,1},{-65,13542,1},{-67,13547,1}, {-1700,17870,129},{-1697,17868,1},{-1690,17867,1},{-1685,17862,1},{-1680,17863,1}, {-1678,17860,1},{-1682,17855,1},{-1680,17848,1},{-1677,17848,1},{-1677,17850,1}, {-1675,17850,1},{-1670,17853,1},{-1673,17853,1},{-1672,17855,1},{-1670,17855,1}, {-1670,17857,1},{-1667,17858,1},{-1667,17855,1},{-1663,17853,1},{-1662,17858,1}, {-1665,17860,1},{-1665,17863,1},{-1668,17870,1},{-1660,17878,1},{-1660,17880,1}, {-1663,17880,1},{-1663,17882,1},{-1660,17882,1},{-1657,17883,1},{-1655,17885,1}, {-1657,17887,1},{-1655,17887,1},{-1655,17888,1},{-1655,17890,1},{-1652,17893,1}, {-1648,17892,1},{-1647,17893,1},{-1647,17895,1},{-1648,17897,1},{-1647,17900,1}, {-1647,17905,1},{-1643,17915,1},{-1643,17917,1},{-1640,17922,1},{-1642,17930,1}, {-1640,17932,1},{-1642,17933,1},{-1640,17935,1},{-1640,17937,1},{-1642,17938,1}, {-1642,17940,1},{-1637,17938,1},{-1635,17940,1},{-1637,17942,1},{-1632,17943,1}, {-1632,17947,1},{-1627,17947,1},{-1627,17952,1},{-1627,17953,1},{-1625,17952,1}, {-1625,17953,1},{-1627,17955,1},{-1627,17957,1},{-1623,17957,1},{-1625,17958,1}, {-1625,17962,1},{-1627,17962,1},{-1622,17967,1},{-1623,17968,1},{-1622,17972,1}, {-1618,17977,1},{-1623,17977,1},{-1620,17983,1},{-1620,17985,1},{-1623,17983,1}, {-1615,17997,1},{-1615,18000,1},{-1613,-17998,1},{-1612,-17993,1},{-1617,-17997,1}, {-1618,17998,1},{-1627,17987,1},{-1635,17982,1},{-1638,17978,1},{-1640,17978,1}, {-1645,17975,1},{-1653,17960,1},{-1657,17958,1},{-1658,17958,1},{-1660,17957,1}, {-1662,17958,1},{-1663,17957,1},{-1663,17955,1},{-1668,17950,1},{-1670,17948,1}, {-1672,17948,1},{-1677,17948,1},{-1675,17953,1},{-1677,17953,1},{-1677,17957,1}, {-1673,17957,1},{-1670,17963,1},{-1668,17965,1},{-1668,17967,1},{-1663,17972,1}, {-1660,17972,1},{-1660,17975,1},{-1657,17975,1},{-1657,17978,1},{-1652,17985,1}, {-1650,17990,1},{-1647,17993,1},{-1652,17995,1},{-1658,17990,1},{-1663,17988,1}, {-1667,17985,1},{-1667,17988,1},{-1672,17990,1},{-1673,17995,1},{-1675,17993,1}, {-1675,17990,1},{-1677,17990,1},{-1677,17987,1},{-1675,17985,1},{-1673,17987,1}, {-1673,17982,1},{-1672,17980,1},{-1672,17972,1},{-1673,17970,1},{-1673,17967,1}, {-1675,17965,1},{-1680,17958,1},{-1678,17955,1},{-1682,17943,1},{-1680,17937,1}, {-1682,17930,1},{-1680,17930,1},{-1675,17935,1},{-1673,17935,1},{-1673,17930,1}, {-1668,17927,1},{-1670,17920,1},{-1673,17917,1},{-1675,17913,1},{-1680,17912,1}, {-1680,17905,1},{-1690,17902,1},{-1687,17903,1},{-1688,17907,1},{-1693,17902,1}, {-1690,17898,1},{-1690,17897,1},{-1688,17895,1},{-1687,17892,1},{-1685,17892,1}, {-1687,17890,1},{-1687,17887,1},{-1688,17885,1},{-1690,17882,1},{-1693,17882,1}, {-1695,17880,1},{-1697,17878,1},{-1698,17880,1},{-1698,17877,1},{-1702,17875,1}, {-1700,17870,1},{-1827,17800,129},{-1828,17790,1},{-1825,17788,1},{-1827,17785,1}, {-1823,17783,1},{-1822,17770,1},{-1818,17762,1},{-1815,17752,1},{-1817,17752,1}, {-1817,17747,1},{-1813,17742,1},{-1812,17733,1},{-1808,17732,1},{-1808,17730,1}, {-1802,17728,1},{-1800,17727,1},{-1798,17727,1},{-1797,17725,1},{-1792,17727,1}, {-1787,17727,1},{-1785,17730,1},{-1783,17737,1},{-1775,17737,1},{-1775,17743,1}, {-1768,17742,1},{-1767,17738,1},{-1763,17738,1},{-1763,17742,1},{-1758,17747,1}, {-1755,17747,1},{-1757,17750,1},{-1752,17752,1},{-1750,17757,1},{-1743,17765,1}, {-1748,17765,1},{-1750,17767,1},{-1745,17767,1},{-1742,17770,1},{-1743,17775,1}, {-1740,17777,1},{-1737,17783,1},{-1738,17783,1},{-1743,17783,1},{-1740,17787,1}, {-1740,17790,1},{-1742,17797,1},{-1738,17802,1},{-1735,17803,1},{-1735,17817,1}, {-1730,17820,1},{-1735,17827,1},{-1737,17827,1},{-1740,17828,1},{-1743,17825,1}, {-1745,17825,1},{-1748,17825,1},{-1743,17830,1},{-1743,17835,1},{-1748,17837,1}, {-1750,17837,1},{-1750,17838,1},{-1753,17840,1},{-1755,17845,1},{-1757,17848,1}, {-1758,17852,1},{-1760,17852,1},{-1762,17855,1},{-1765,17860,1},{-1770,17860,1}, {-1777,17857,1},{-1778,17860,1},{-1782,17860,1},{-1783,17863,1},{-1785,17862,1}, {-1785,17863,1},{-1787,17863,1},{-1787,17862,1},{-1790,17862,1},{-1790,17858,1}, {-1797,17862,1},{-1798,17865,1},{-1802,17867,1},{-1800,17870,1},{-1808,17868,1}, {-1810,17863,1},{-1813,17858,1},{-1812,17858,1},{-1813,17855,1},{-1810,17855,1}, {-1810,17853,1},{-1812,17848,1},{-1815,17847,1},{-1815,17843,1},{-1812,17845,1}, {-1810,17840,1},{-1813,17837,1},{-1812,17837,1},{-1812,17833,1},{-1815,17832,1}, {-1815,17828,1},{-1818,17825,1},{-1820,17822,1},{-1825,17817,1},{-1827,17800,1}, {207,10965,131},{197,10962,3},{190,10955,3},{187,10957,3},{185,10955,3}, {180,10958,3},{178,10967,3},{162,10967,3},{150,10980,3},{147,10980,3},{147,10985,3}, {143,10983,3},{142,10985,3},{140,10995,3},{130,10998,3},{127,11007,3},{122,11007,3}, {120,11012,3},{118,11020,3},{103,11028,3},{98,11030,3},{100,11033,3},{98,11040,3}, {90,11047,3},{85,11057,3},{87,11062,3},{90,11063,3},{87,11068,3},{88,11070,3}, {90,11073,3},{90,11077,3},{92,11078,3},{90,11080,3},{95,11082,3},{102,11090,3}, {102,11102,3},{107,11120,3},{108,11123,3},{107,11127,3},{102,11140,3},{102,11150,3}, {97,11153,3},{97,11155,3},{100,11157,3},{103,11167,3},{102,11172,3},{100,11173,3}, {100,11183,3},{102,11187,3},{107,11188,3},{113,11195,3},{115,11213,3},{130,11217,3}, {138,11222,3},{140,11222,3},{142,11218,3},{145,11220,3},{152,11235,3},{153,11243,3}, {155,11245,3},{157,11248,3},{155,11283,3},{158,11288,3},{157,11302,3},{155,11305,3}, {153,11307,3},{148,11303,3},{143,11298,3},{142,11298,3},{143,11308,3},{142,11315,3}, {138,11318,3},{137,11333,3},{128,11343,3},{132,11353,3},{132,11357,3},{123,11363,3}, {122,11365,3},{130,11380,3},{145,11393,3},{147,11408,3},{147,11413,3},{142,11420,3}, {145,11425,3},{152,11440,3},{148,11445,3},{143,11453,3},{143,11457,3},{147,11460,3}, {155,11460,3},{158,11465,3},{168,11468,3},{178,11472,3},{183,11470,3},{187,11473,3}, {187,11478,3},{190,11487,3},{197,11485,3},{200,11487,3},{205,11487,3},{207,11488,3}, {208,11490,3},{212,11488,3},{212,11485,3},{213,11482,3},{215,11478,3},{225,11482,3}, {228,11493,3},{230,11495,3},{233,11495,3},{237,11495,3},{237,11502,3},{242,11508,3}, {247,11512,3},{248,11515,3},{248,11522,3},{252,11523,3},{260,11518,3},{258,11512,3}, {260,11510,3},{263,11505,3},{267,11508,3},{275,11512,3},{282,11512,3},{285,11515,3}, {290,11515,3},{297,11523,3},{303,11528,3},{302,11530,3},{298,11532,3},{297,11535,3}, {298,11540,3},{302,11543,3},{302,11548,3},{305,11550,3},{312,11550,3},{317,11555,3}, {318,11552,3},{320,11552,3},{332,11553,3},{343,11558,3},{343,11563,3},{345,11563,3}, {350,11560,3},{355,11560,3},{362,11557,3},{372,11558,3},{387,11562,3},{390,11557,3}, {392,11557,3},{397,11563,3},{418,11568,3},{420,11573,3},{425,11577,3},{423,11582,3}, {427,11582,3},{428,11585,3},{432,11585,3},{437,11587,3},{433,11598,3},{428,11605,3}, {433,11613,3},{438,11618,3},{435,11630,3},{437,11637,3},{430,11643,3},{430,11647,3}, {433,11648,3},{432,11653,3},{433,11653,3},{437,11652,3},{438,11657,3},{433,11663,3}, {433,11668,3},{437,11675,3},{435,11678,3},{433,11683,3},{435,11692,3},{433,11700,3}, {433,11718,3},{437,11723,3},{432,11728,3},{425,11740,3},{420,11745,3},{418,11753,3}, {418,11757,3},{417,11760,3},{458,11408,131},{457,11417,3},{452,11425,3}, {442,11430,3},{432,11433,3},{427,11433,3},{425,11438,3},{425,11445,3},{415,11450,3}, {405,11460,3},{402,11462,3},{402,11467,3},{403,11470,3},{412,11480,3},{420,11482,3}, {427,11485,3},{427,11480,3},{433,11485,3},{438,11488,3},{442,11487,3},{443,11483,3}, {467,11482,3},{470,11478,3},{473,11478,3},{475,11482,3},{480,11487,3},{482,11497,3}, {488,11500,3},{487,11502,3},{482,11503,131},{473,11502,3},{467,11503,3}, {455,11507,3},{438,11510,3},{435,11518,3},{435,11523,3},{432,11532,3},{432,11535,3}, {433,11537,3},{443,11528,3},{455,11527,3},{462,11528,3},{477,11523,3},{480,11522,3}, {485,11518,3},{488,11515,3},{490,11515,3},{-260,14100,131},{-633,14100,3}, {-633,14097,3},{-637,14097,3},{-638,14095,3},{-640,14097,3},{-642,14095,3}, {-643,14095,3},{-643,14092,3},{-647,14095,3},{-650,14095,3},{-652,14092,3}, {-655,14092,3},{-657,14090,3},{-660,14090,3},{-662,14085,3},{-665,14087,3}, {-672,14085,3},{-675,14088,3},{-678,14087,3},{-682,14090,3},{-685,14090,3}, {-687,14093,3},{-690,14095,3},{-690,14102,3},{-913,14100,3},{-3170,12898,131}, {-3113,12900,3},{-3057,12900,3},{-3038,12900,3},{-3002,12900,3},{-2943,12900,3}, {-2905,12900,3},{-2887,12900,3},{-2830,12900,3},{-2773,12900,3},{-2715,12900,3}, {-2658,12900,3},{-2640,12900,3},{-2600,12900,3},{-2543,12900,3},{-2487,12900,3}, {-2467,12900,3},{-2430,12900,3},{-2375,12900,3},{-2333,12900,3},{-2317,12900,3}, {-2258,12900,3},{-2200,12900,3},{-2138,12900,3},{-2083,12900,3},{-2067,12900,3}, {-2025,12900,3},{-1967,12900,3},{-1933,12900,3},{-1910,12900,3},{-1852,12900,3}, {-1802,12900,3},{-1793,12900,3},{-1732,12900,3},{-1677,12900,3},{-1670,12900,3}, {-1615,12900,3},{-1553,12900,3},{-1538,12900,3},{-1493,12900,3},{-1487,12900,3}, {-2600,12900,131},{-2600,12963,3},{-2600,13025,3},{-2600,13047,3},{-2600,13088,3}, {-2600,13152,3},{-2600,13193,3},{-2600,13215,3},{-2600,13277,3},{-2600,13340,3}, {-2600,13403,3},{-2600,13467,3},{-2600,13487,3},{-2600,13528,3},{-2600,13592,3}, {-2600,13637,3},{-2600,13655,3},{-2600,13715,3},{-2600,13775,3},{-2600,13783,3}, {-2600,13800,3},{-2600,13863,3},{-2600,13927,3},{-2600,13945,3},{-2600,13992,3}, {-2600,14055,3},{-2600,14092,3},{-2600,14100,3},{-2657,14100,3},{-2713,14100,3}, {-2730,14100,3},{-2772,14100,3},{-2828,14100,3},{-2860,14100,3},{-2885,14100,3}, {-2900,14100,3},{-2958,14100,3},{-3017,14100,3},{-3032,14100,3},{-3072,14100,3}, {-3128,14100,3},{-3168,14100,3},{-3183,14100,3},{-3240,14100,3},{-3300,14100,3}, {-3360,14100,3},{-3403,14100,3},{-3458,14097,3},{-3515,14097,3},{-3535,14097,3}, {-3573,14097,3},{-3628,14097,3},{-3667,14097,3},{-3685,14097,3},{-3743,14097,3}, {-3798,14097,3},{-3807,14097,3},{-1655,13800,131},{-1710,13800,3},{-1765,13800,3}, {-1793,13800,3},{-1822,13800,3},{-1883,13800,3},{-1923,13800,3},{-1938,13800,3}, {-2000,13800,3},{-2057,13800,3},{-2112,13800,3},{-2168,13800,3},{-2187,13800,3}, {-2227,13800,3},{-2282,13800,3},{-2317,13800,3},{-2337,13800,3},{-2392,13800,3}, {-2447,13800,3},{-2508,13800,3},{-2570,13800,3},{-2577,13800,3},{-2600,13800,3}, {-2900,14100,131},{-2900,14162,3},{-2900,14225,3},{-2900,14253,3},{-2900,14290,3}, {-2900,14358,3},{-2900,14402,3},{-2900,14420,3},{-2900,14482,3},{-2900,14545,3}, {-2900,14553,3},{-2900,14608,3},{-2900,14675,3},{-2900,14708,3},{-2900,14743,3}, {-2900,14807,3},{-2900,14857,3},{-2900,14872,3},{-2875,14928,3},{-2862,14988,3}, {-2860,15000,3},{-2867,15055,3},{-2887,15115,3},{-2905,15128,3},{-2917,15132,3}, {-2918,15137,3},{-2892,15192,3},{-2857,15195,3},{-2828,15245,3},{-2825,15252,3}, {-2835,15312,3},{-2817,15355,3},{-3403,14100,131},{-3412,14167,3},{-3430,14230,3}, {-3458,14243,3},{-3480,14263,3},{-3463,14270,3},{-3480,14332,3},{-3533,14357,3}, {-3538,14370,3},{-3565,14413,3},{-3598,14452,3},{-3605,14462,3},{-3585,14527,3}, {-3597,14592,3},{-3603,14615,3},{-3598,14658,3},{-3605,14727,3},{-3597,14777,3}, {-3605,14793,3},{-3657,14813,3},{-3680,14812,3},{-3702,14872,3},{-3705,14883,3}, {-3730,14943,3},{-3750,14998,3},{-3533,14940,131},{-3538,14918,3},{-3592,14903,3}, {-3565,14877,3},{-3538,14882,3},{-3513,14912,3},{-3533,14940,3},{927,-8003,128}, {935,-7997,0},{935,-7993,0},{930,-7993,0},{930,-7992,0},{935,-7990,0},{935,-7987,0}, {937,-7988,0},{937,-7987,0},{938,-7987,0},{937,-7983,0},{935,-7978,0},{937,-7980,0}, {940,-7980,0},{943,-7977,0},{943,-7973,0},{947,-7972,0},{948,-7968,0},{953,-7967,0}, {955,-7965,0},{955,-7967,0},{958,-7965,0},{960,-7960,0},{960,-7958,0},{962,-7953,0}, {960,-7952,0},{958,-7953,0},{957,-7952,0},{958,-7950,0},{957,-7947,0},{958,-7945,0}, {957,-7938,0},{957,-7933,0},{953,-7922,0},{953,-7918,0},{955,-7915,0},{953,-7915,0}, {955,-7913,0},{955,-7897,0},{952,-7898,0},{952,-7903,0},{950,-7907,0},{943,-7905,0}, {943,-7900,0},{945,-7898,0},{945,-7895,0},{943,-7890,0},{942,-7890,0},{940,-7887,0}, {943,-7883,0},{942,-7882,0},{943,-7878,0},{943,-7877,0},{943,-7875,0},{943,-7872,0}, {943,-7870,0},{942,-7865,0},{942,-7863,0},{940,-7860,0},{943,-7855,0},{940,-7852,0}, {940,-7848,0},{938,-7847,0},{937,-7842,0},{927,-7820,0},{923,-7803,0},{918,-7798,0}, {915,-7793,0},{912,-7793,0},{905,-7787,0},{910,-7787,0},{905,-7780,0},{902,-7780,0}, {895,-7773,0},{893,-7775,0},{888,-7770,0},{888,-7768,0},{880,-7762,0},{883,-7763,0}, {883,-7762,0},{878,-7757,0},{877,-7757,0},{877,-7753,0},{873,-7753,0},{872,-7753,0}, {870,-7753,0},{865,-7743,0},{867,-7740,0},{867,-7737,0},{868,-7737,0},{723,-7788,128}, {723,-7792,0},{733,-7800,0},{738,-7802,0},{738,-7803,0},{742,-7803,0},{742,-7807,0}, {745,-7812,0},{753,-7815,0},{752,-7817,0},{757,-7817,0},{757,-7818,0},{755,-7820,0}, {757,-7820,0},{760,-7820,0},{768,-7828,0},{773,-7828,0},{787,-7835,0},{790,-7838,0}, {797,-7842,0},{802,-7842,0},{805,-7843,0},{808,-7843,0},{810,-7840,0},{807,-7840,0}, {805,-7833,0},{810,-7825,0},{815,-7823,0},{818,-7823,0},{825,-7830,0},{825,-7827,0}, {827,-7827,0},{828,-7827,0},{830,-7825,0},{827,-7823,0},{827,-7820,0},{830,-7818,0}, {833,-7818,0},{840,-7813,0},{838,-7812,0},{835,-7812,0},{832,-7805,0},{825,-7802,0}, {820,-7792,0},{822,-7792,0},{825,-7797,0},{823,-7788,0},{820,-7783,0},{817,-7783,0}, {815,-7778,0},{812,-7778,0},{810,-7775,0},{812,-7773,0},{813,-7773,0},{812,-7775,0}, {813,-7777,0},{815,-7778,0},{817,-7780,0},{817,-7783,0},{820,-7783,0},{823,-7787,0}, {827,-7802,0},{840,-7807,0},{842,-7805,0},{847,-7810,0},{848,-7810,0},{850,-7808,0}, {853,-7812,0},{855,-7812,0},{853,-7813,0},{852,-7812,0},{850,-7810,0},{847,-7812,0}, {842,-7808,0},{847,-7815,0},{843,-7818,0},{840,-7818,0},{838,-7823,0},{840,-7825,0}, {842,-7820,0},{843,-7820,0},{847,-7822,0},{850,-7820,0},{853,-7822,0},{852,-7823,0}, {848,-7822,0},{843,-7823,0},{845,-7827,0},{847,-7823,0},{850,-7825,0},{848,-7825,0}, {843,-7828,0},{843,-7830,0},{848,-7832,0},{845,-7833,0},{842,-7837,0},{853,-7838,0}, {855,-7840,0},{852,-7842,0},{847,-7838,0},{843,-7838,0},{840,-7837,0},{833,-7838,0}, {835,-7842,0},{838,-7845,0},{845,-7845,0},{842,-7847,0},{845,-7850,0},{850,-7848,0}, {855,-7852,0},{857,-7853,0},{857,-7848,0},{860,-7852,0},{863,-7850,0},{865,-7857,0}, {867,-7857,0},{867,-7860,0},{870,-7862,0},{873,-7860,0},{877,-7862,0},{875,-7862,0}, {872,-7862,0},{872,-7863,0},{870,-7865,0},{873,-7867,0},{877,-7873,0},{880,-7875,0}, {885,-7878,0},{883,-7878,0},{880,-7883,0},{890,-7890,0},{898,-7908,0},{905,-7908,0}, {908,-7910,0},{908,-7908,0},{912,-7905,0},{912,-7903,0},{912,-7902,0},{915,-7898,0}, {912,-7903,0},{913,-7905,0},{908,-7908,0},{908,-7912,0},{905,-7908,0},{902,-7908,0}, {898,-7912,0},{900,-7915,0},{902,-7917,0},{900,-7918,0},{902,-7928,0},{902,-7938,0}, {900,-7948,0},{897,-7950,0},{897,-7952,0},{893,-7953,0},{890,-7952,0},{895,-7957,0}, {890,-7955,0},{888,-7958,0},{888,-7960,0},{723,-7788,128},{715,-7782,0}, {715,-7778,0},{705,-7770,0},{707,-7770,0},{705,-7768,0},{697,-7765,0},{693,-7770,0}, {688,-7770,0},{685,-7768,0},{688,-7768,0},{682,-7758,0},{672,-7753,0},{667,-7753,0}, {667,-7752,0},{670,-7750,0},{672,-7747,0},{668,-7740,0},{663,-7742,0},{657,-7733,0}, {647,-7735,0},{643,-7738,0},{642,-7735,0},{638,-7735,0},{638,-7740,0},{635,-7737,0}, {625,-7740,0},{623,-7742,0},{625,-7742,0},{630,-7748,0},{623,-7748,0},{618,-7748,0}, {605,-7738,0},{600,-7737,0},{602,-7735,0},{590,-7730,0},{578,-7725,0},{573,-7725,0}, {568,-7727,0},{565,-7730,0},{565,-7732,0},{562,-7733,0},{560,-7737,0},{562,-7740,0}, {562,-7743,0},{560,-7745,0},{558,-7750,0},{552,-7753,0},{550,-7755,0},{548,-7755,0}, {548,-7752,0},{550,-7748,0},{550,-7747,0},{547,-7743,0},{545,-7740,0},{543,-7740,0}, {540,-7738,0},{540,-7740,0},{538,-7740,0},{537,-7740,0},{537,-7738,0},{530,-7737,0}, {525,-7737,0},{523,-7735,0},{517,-7737,0},{508,-7737,0},{487,-7735,0},{482,-7733,0}, {482,-7732,0},{480,-7732,0},{472,-7725,0},{475,-7732,0},{472,-7732,0},{467,-7728,0}, {465,-7730,0},{467,-7732,0},{455,-7732,0},{447,-7733,0},{447,-7732,0},{445,-7735,0}, {440,-7735,0},{433,-7738,0},{427,-7733,0},{427,-7727,0},{425,-7723,0},{420,-7730,0}, {420,-7732,0},{422,-7733,0},{418,-7738,0},{418,-7743,0},{413,-7743,0},{407,-7743,0}, {405,-7742,0},{403,-7743,0},{402,-7743,0},{398,-7742,0},{397,-7737,0},{395,-7738,0}, {392,-7737,0},{393,-7735,0},{398,-7732,0},{405,-7732,0},{407,-7727,0},{410,-7727,0}, {407,-7723,0},{407,-7718,0},{403,-7720,0},{398,-7723,0},{397,-7722,0},{397,-7727,0}, {398,-7727,0},{397,-7730,0},{395,-7730,0},{390,-7732,0},{388,-7727,0},{387,-7728,0}, {383,-7725,0},{385,-7718,0},{388,-7713,0},{390,-7712,0},{392,-7712,0},{392,-7708,0}, {390,-7708,0},{392,-7703,0},{385,-7707,0},{383,-7712,0},{382,-7710,0},{380,-7710,0}, {382,-7713,0},{380,-7715,0},{377,-7712,0},{375,-7717,0},{373,-7715,0},{373,-7713,0}, {373,-7717,0},{375,-7720,0},{370,-7718,0},{372,-7717,0},{372,-7713,0},{370,-7713,0}, {370,-7717,0},{367,-7717,0},{367,-7712,0},{367,-7715,0},{365,-7717,0},{365,-7718,0}, {362,-7720,0},{358,-7723,0},{357,-7722,0},{357,-7728,0},{355,-7730,0},{355,-7728,0}, {355,-7732,0},{353,-7732,0},{353,-7727,0},{352,-7730,0},{350,-7727,0},{350,-7728,0}, {348,-7727,0},{348,-7728,0},{348,-7732,0},{352,-7732,0},{347,-7733,0},{345,-7735,0}, {340,-7733,0},{342,-7735,0},{340,-7737,0},{335,-7735,0},{333,-7732,0},{332,-7732,0}, {333,-7735,0},{338,-7738,0},{335,-7742,0},{337,-7745,0},{333,-7747,0},{332,-7742,0}, {330,-7740,0},{325,-7742,0},{325,-7747,0},{322,-7747,0},{322,-7750,0},{318,-7752,0}, {317,-7753,0},{313,-7752,0},{305,-7755,0},{303,-7765,0},{305,-7770,0},{297,-7772,0}, {300,-7768,0},{298,-7768,0},{298,-7767,0},{300,-7765,0},{298,-7762,0},{297,-7763,0}, {295,-7763,0},{293,-7762,0},{288,-7765,0},{293,-7768,0},{292,-7770,0},{288,-7772,0}, {287,-7770,0},{287,-7768,0},{288,-7767,0},{287,-7763,0},{285,-7763,0},{287,-7765,0}, {283,-7768,0},{285,-7772,0},{282,-7773,0},{282,-7770,0},{278,-7768,0},{280,-7772,0}, {282,-7775,0},{280,-7778,0},{278,-7778,0},{278,-7773,0},{277,-7777,0},{275,-7778,0}, {277,-7782,0},{273,-7780,0},{268,-7780,0},{268,-7777,0},{267,-7780,0},{267,-7778,0}, {260,-7775,0},{257,-7780,0},{255,-7785,0},{258,-7790,0},{260,-7790,0},{263,-7788,0}, {263,-7792,0},{265,-7793,0},{265,-7795,0},{262,-7793,0},{260,-7797,0},{258,-7797,0}, {257,-7795,0},{252,-7798,0},{253,-7802,0},{255,-7805,0},{255,-7808,0},{252,-7808,0}, {248,-7812,0},{252,-7818,0},{253,-7820,0},{253,-7822,0},{252,-7822,0},{255,-7823,0}, {255,-7825,0},{243,-7835,0},{250,-7842,0},{250,-7845,0},{243,-7847,0},{243,-7853,0}, {238,-7855,0},{245,-7857,0},{235,-7860,0},{235,-7862,0},{228,-7865,0},{227,-7865,0}, {225,-7863,0},{220,-7868,0},{217,-7868,0},{217,-7867,0},{215,-7868,0},{213,-7867,0}, {215,-7865,0},{213,-7867,0},{208,-7867,0},{207,-7865,0},{200,-7867,0},{200,-7863,0}, {203,-7862,0},{202,-7860,0},{200,-7858,0},{198,-7858,0},{195,-7860,0},{192,-7855,0}, {177,-7858,0},{177,-7862,0},{182,-7863,0},{180,-7870,0},{182,-7875,0},{183,-7885,0}, {182,-7888,0},{178,-7892,0},{177,-7895,0},{163,-7905,0},{160,-7903,0},{158,-7893,0}, {155,-7888,0},{155,-7885,0},{148,-7887,0},{143,-7882,0},{1185,-7132,128}, {1192,-7130,0},{1198,-7117,0},{1202,-7112,0},{1210,-7112,0},{1227,-7122,0}, {1230,-7122,0},{1233,-7125,0},{1238,-7138,0},{1238,-7143,0},{1243,-7148,0}, {1245,-7157,0},{1243,-7158,0},{1247,-7165,0},{1245,-7172,0},{1242,-7173,0}, {1245,-7168,0},{1243,-7170,0},{1243,-7165,0},{1242,-7168,0},{1242,-7163,0}, {1240,-7170,0},{1237,-7168,0},{1237,-7170,0},{1238,-7172,0},{1240,-7172,0}, {1242,-7173,0},{1238,-7175,0},{1238,-7173,0},{1235,-7175,0},{1233,-7180,0}, {1232,-7182,0},{1235,-7183,0},{1237,-7182,0},{1237,-7187,0},{1228,-7197,0}, {1227,-7195,0},{1228,-7193,0},{1228,-7188,0},{1220,-7187,0},{1218,-7192,0}, {1217,-7193,0},{1215,-7195,0},{1215,-7200,0},{1218,-7200,0},{1218,-7202,0}, {1225,-7197,0},{1227,-7197,0},{1225,-7208,0},{1225,-7213,0},{1223,-7217,0}, {1222,-7217,0},{1220,-7215,0},{1210,-7213,0},{1192,-7223,0},{1188,-7225,0}, {1183,-7238,0},{1180,-7242,0},{1178,-7247,0},{1178,-7252,0},{1175,-7257,0}, {1175,-7260,0},{1173,-7263,0},{1170,-7277,0},{1163,-7283,0},{1157,-7290,0}, {1152,-7302,0},{1145,-7310,0},{1142,-7315,0},{1138,-7320,0},{1135,-7322,0}, {1130,-7328,0},{1127,-7338,0},{1127,-7367,0},{1127,-7377,0},{1127,-7380,0}, {1130,-7388,0},{1135,-7402,0},{1135,-7405,0},{1133,-7405,0},{1135,-7407,0}, {1133,-7408,0},{1135,-7410,0},{1132,-7413,0},{1135,-7415,0},{1132,-7415,0}, {1132,-7418,0},{1128,-7420,0},{1123,-7423,0},{1112,-7423,0},{1108,-7422,0}, {1097,-7428,0},{1093,-7428,0},{1085,-7433,0},{1083,-7433,0},{1075,-7438,0}, {1075,-7445,0},{1082,-7447,0},{1083,-7450,0},{1080,-7452,0},{1077,-7452,0}, {1078,-7450,0},{1075,-7450,0},{1075,-7453,0},{1080,-7455,0},{1083,-7457,0}, {1078,-7458,0},{1078,-7460,0},{1083,-7460,0},{1088,-7460,0},{1088,-7458,0}, {1087,-7453,0},{1088,-7452,0},{1085,-7448,0},{1088,-7448,0},{1090,-7452,0}, {1097,-7450,0},{1097,-7433,0},{1100,-7428,0},{1098,-7438,0},{1098,-7447,0}, {1100,-7452,0},{1108,-7475,0},{1110,-7483,0},{1113,-7487,0},{1110,-7487,0}, {1108,-7490,0},{1097,-7502,0},{1090,-7503,0},{1087,-7513,0},{1080,-7523,0}, {1080,-7527,0},{1075,-7527,0},{1075,-7525,0},{1077,-7523,0},{1075,-7523,0}, {1072,-7523,0},{1070,-7525,0},{1072,-7527,0},{1073,-7525,0},{1073,-7528,0}, {1072,-7528,0},{1068,-7540,0},{1063,-7542,0},{1063,-7545,0},{1060,-7545,0}, {1057,-7553,0},{1053,-7550,0},{1050,-7552,0},{1050,-7548,0},{1043,-7548,0}, {1043,-7552,0},{1048,-7550,0},{1043,-7557,0},{1040,-7557,0},{1042,-7555,0}, {1038,-7553,0},{1038,-7552,0},{1030,-7552,0},{1028,-7558,0},{1030,-7560,0}, {1027,-7560,0},{1025,-7562,0},{1022,-7563,0},{1015,-7572,0},{1013,-7570,0}, {1015,-7567,0},{1025,-7555,0},{1023,-7553,0},{1018,-7553,0},{1013,-7557,0}, {1013,-7558,0},{1003,-7558,0},{995,-7560,0},{988,-7563,0},{980,-7563,0}, {975,-7567,0},{970,-7572,0},{970,-7563,0},{967,-7560,0},{958,-7558,0},{945,-7563,0}, {942,-7568,0},{942,-7575,0},{942,-7577,0},{938,-7580,0},{940,-7582,0},{940,-7585,0}, {942,-7583,0},{942,-7580,0},{943,-7580,0},{942,-7592,0},{943,-7593,0},{937,-7602,0}, {933,-7608,0},{930,-7612,0},{927,-7612,0},{923,-7617,0},{912,-7620,0},{907,-7625,0}, {905,-7627,0},{900,-7627,0},{893,-7632,0},{890,-7643,0},{887,-7643,0},{883,-7650,0}, {878,-7653,0},{875,-7665,0},{868,-7667,0},{862,-7688,0},{855,-7695,0},{853,-7693,0}, {855,-7693,0},{848,-7682,0},{843,-7680,0},{840,-7677,0},{833,-7677,0},{828,-7678,0}, {818,-7675,0},{808,-7675,0},{810,-7675,0},{808,-7673,0},{798,-7673,0},{797,-7675,0}, {792,-7675,0},{790,-7682,0},{792,-7687,0},{793,-7692,0},{798,-7693,0},{803,-7692,0}, {803,-7683,0},{805,-7687,0},{805,-7683,0},{808,-7685,0},{810,-7683,0},{810,-7685,0}, {813,-7683,0},{813,-7690,0},{812,-7688,0},{810,-7690,0},{813,-7695,0},{817,-7695,0}, {817,-7693,0},{818,-7692,0},{818,-7693,0},{820,-7695,0},{818,-7695,0},{820,-7697,0}, {823,-7697,0},{823,-7695,0},{827,-7695,0},{825,-7698,0},{827,-7703,0},{837,-7712,0}, {842,-7713,0},{847,-7725,0},{852,-7728,0},{858,-7730,0},{863,-7735,0},{867,-7735,0}, {867,-7737,0},{143,-7882,128},{143,-7883,0},{138,-7883,0},{135,-7887,0}, {132,-7888,0},{130,-7887,0},{128,-7882,0},{128,-7887,0},{123,-7888,0},{123,-7892,0}, {123,-7893,0},{122,-7895,0},{115,-7895,0},{112,-7898,0},{118,-7902,0},{122,-7905,0}, {113,-7912,0},{108,-7918,0},{107,-7938,0},{107,-7945,0},{100,-7955,0},{98,-7963,0}, {90,-7965,0},{87,-7962,0},{83,-7962,0},{88,-7963,0},{90,-7967,0},{100,-7965,0}, {95,-7975,0},{87,-7987,0},{87,-7993,0},{83,-7997,0},{83,-8007,0},{77,-8010,0}, {68,-8012,0},{65,-8008,0},{63,-8005,0},{58,-8002,0},{53,-8002,0},{48,-8005,0}, {43,-8003,0},{37,-8000,0},{32,-8000,0},{35,-8002,0},{35,-8003,0},{17,-8003,0}, {7,-8007,0},{3,-8010,0},{0,-8010,0},{-3,-8015,0},{-7,-8020,0},{-15,-8025,0}, {-17,-8030,0},{-17,-8033,0},{-23,-8038,0},{-28,-8040,0},{-37,-8050,0},{-42,-8048,0}, {-43,-8047,0},{-62,-8038,0},{-63,-8027,0},{-63,-8033,0},{-63,-8040,0},{-58,-8042,0}, {-57,-8043,0},{-63,-8047,0},{-73,-8052,0},{-83,-8053,0},{-90,-8058,0},{-93,-8062,0}, {-92,-8067,0},{-93,-8070,0},{-92,-8077,0},{-93,-8080,0},{-93,-8083,0},{-100,-8088,0}, {-103,-8092,0},{-105,-8092,0},{-113,-8088,0},{-133,-8075,0},{-138,-8078,0}, {-147,-8078,0},{-148,-8082,0},{-153,-8082,0},{-155,-8085,0},{-160,-8085,0}, {-177,-8077,0},{-193,-8073,0},{-195,-8073,0},{-197,-8077,0},{-207,-8075,0}, {-213,-8078,0},{-220,-8092,0},{-217,-8102,0},{-220,-8100,0},{-225,-8095,0}, {-232,-8092,0},{-232,-8088,0},{-238,-8078,0},{-238,-8073,0},{-240,-8068,0}, {-245,-8062,0},{-263,-8047,0},{-265,-8040,0},{-272,-8032,0},{-273,-8025,0}, {-270,-8025,0},{-265,-8027,0},{-265,-8028,0},{-260,-8028,0},{-263,-8023,0}, {-260,-8020,0},{-258,-8017,0},{-252,-8010,0},{-235,-8003,0},{-233,-8002,0}, {-233,-7998,0},{-232,-7995,0},{-235,-7998,0},{-237,-8002,0},{-248,-8003,0}, {-245,-8000,0},{-248,-7995,0},{-247,-7993,0},{-248,-7993,0},{-250,-7995,0}, {-248,-7998,0},{-248,-8002,0},{-253,-8003,0},{-255,-8007,0},{-258,-8007,0}, {-260,-8005,0},{-258,-8002,0},{-262,-8000,0},{-257,-7990,0},{-242,-7987,0}, {-232,-7987,0},{-227,-7987,0},{-222,-7990,0},{-210,-7988,0},{-208,-7987,0}, {-208,-7983,0},{-203,-7983,0},{-202,-7977,0},{-203,-7978,0},{-205,-7982,0}, {-208,-7982,0},{-210,-7985,0},{-213,-7985,0},{-217,-7987,0},{-222,-7983,0}, {-227,-7985,0},{-232,-7983,0},{-238,-7985,0},{-242,-7982,0},{-248,-7978,0}, {-248,-7975,0},{-255,-7972,0},{-260,-7973,0},{-267,-7978,0},{-275,-7980,0}, {-278,-7983,0},{-292,-7987,0},{-297,-7988,0},{-303,-7988,0},{-308,-7992,0}, {-320,-7995,0},{-325,-8002,0},{-328,-8003,0},{-323,-8003,0},{-322,-8005,0}, {-320,-8005,0},{-330,-8010,0},{-333,-8015,0},{-335,-8027,0},{-333,-8028,0}, {-333,-8030,0},{-338,-8030,0},{-337,-8032,0},{-333,-8032,0},{-337,-8033,0}, {-342,-8035,0},{-348,-8038,0},{-350,-8053,0},{-362,-8060,0},{-375,-8082,0}, {-378,-8085,0},{-388,-8087,0},{-395,-8098,0},{-410,-8107,0},{-412,-8112,0}, {-422,-8120,0},{-425,-8125,0},{-430,-8128,0},{-438,-8128,0},{-445,-8130,0}, {-448,-8133,0},{-455,-8130,0},{-465,-8133,0},{-468,-8135,0},{-485,-8122,0}, {-490,-8118,0},{-495,-8112,0},{-502,-8108,0},{-507,-8110,0},{-507,-8118,0}, {-517,-8118,0},{-520,-8120,0},{-528,-8113,0},{-532,-8108,0},{-543,-8095,0}, {-565,-8087,0},{-577,-8088,0},{-585,-8092,0},{-587,-8098,0},{-585,-8105,0}, {-580,-8110,0},{-583,-8112,0},{-585,-8115,0},{-590,-8118,0},{-600,-8118,0}, {-608,-8113,0},{-612,-8110,0},{-620,-8093,0},{-632,-8078,0},{-643,-8052,0}, {-655,-8032,0},{-663,-8013,0},{-677,-7998,0},{-688,-7993,0},{-695,-7987,0}, {-698,-7982,0},{-708,-7973,0},{-712,-7972,0},{-718,-7972,0},{-727,-7963,0}, {-740,-7958,0},{-743,-7960,0},{-747,-7958,0},{-758,-7950,0},{-767,-7945,0}, {-770,-7945,0},{-772,-7947,0},{-775,-7943,0},{-792,-7932,0},{-803,-7917,0}, {-808,-7913,0},{-822,-7900,0},{-828,-7898,0},{-837,-7892,0},{-842,-7892,0}, {-843,-7895,0},{-850,-7885,0},{-858,-7877,0},{-868,-7875,0},{-875,-7877,0}, {-878,-7877,0},{-892,-7867,0},{-897,-7867,0},{-898,-7868,0},{-900,-7865,0}, {-907,-7865,0},{-908,-7860,0},{-912,-7857,0},{-915,-7858,0},{-917,-7862,0}, {-920,-7860,0},{-923,-7860,0},{-923,-7858,0},{-918,-7857,0},{-918,-7852,0}, {-923,-7852,0},{-927,-7853,0},{-933,-7850,0},{-933,-7845,0},{-942,-7843,0}, {-943,-7840,0},{-947,-7842,0},{-962,-7838,0},{-968,-7833,0},{-980,-7825,0}, {-987,-7827,0},{-990,-7823,0},{-995,-7825,0},{-998,-7822,0},{-1007,-7818,0}, {-1012,-7820,0},{-1023,-7812,0},{-1027,-7810,0},{-1028,-7807,0},{-1033,-7807,0}, {-1037,-7802,0},{-1048,-7797,0},{-1055,-7792,0},{-1065,-7787,0},{-1075,-7778,0}, {-1082,-7777,0},{-1085,-7772,0},{-1088,-7772,0},{-1093,-7768,0},{-1095,-7768,0}, {-1098,-7767,0},{-1102,-7768,0},{-1105,-7765,0},{-1110,-7765,0},{-1110,-7763,0}, {-1113,-7763,0},{-1118,-7762,0},{-1122,-7762,0},{-1122,-7765,0},{-1123,-7767,0}, {-1130,-7765,0},{-1145,-7737,0},{-1152,-7730,0},{-1155,-7728,0},{-1158,-7728,0}, {-1167,-7720,0},{-1173,-7717,0},{-1177,-7720,0},{-1183,-7718,0},{-1188,-7715,0}, {-1197,-7715,0},{-1203,-7715,0},{-1207,-7718,0},{-1208,-7712,0},{-1212,-7707,0}, {-1215,-7703,0},{-1218,-7705,0},{-1222,-7703,0},{-1227,-7692,0},{-1238,-7680,0}, {-1243,-7678,0},{-1248,-7680,0},{-1252,-7680,0},{-1253,-7675,0},{-1260,-7672,0}, {-1262,-7668,0},{-1267,-7668,0},{-1277,-7662,0},{-1285,-7653,0},{-1305,-7650,0}, {-1328,-7628,0},{-1343,-7620,0},{-1347,-7618,0},{-1363,-7620,0},{-1385,-7627,0}, {-1383,-7630,0},{-1380,-7630,0},{-1380,-7632,0},{-1382,-7637,0},{-1388,-7640,0}, {-1390,-7640,0},{-1392,-7637,0},{-1392,-7632,0},{-1390,-7630,0},{-1403,-7628,0}, {-1407,-7628,0},{-1410,-7630,0},{-1417,-7628,0},{-1418,-7627,0},{-1415,-7627,0}, {-1417,-7620,0},{-1422,-7618,0},{-1423,-7613,0},{-1432,-7612,0},{-1433,-7615,0}, {-1437,-7612,0},{-1438,-7608,0},{-1443,-7605,0},{-1447,-7598,0},{-1453,-7600,0}, {-1457,-7595,0},{-1467,-7593,0},{-1468,-7587,0},{-1472,-7585,0},{-1477,-7578,0}, {-1490,-7553,0},{-1493,-7550,0},{-1497,-7550,0},{-1502,-7543,0},{-1513,-7538,0}, {-1515,-7537,0},{-1515,-7530,0},{-1518,-7527,0},{-1523,-7522,0},{-1527,-7527,0}, {-1528,-7523,0},{-1530,-7518,0},{-1532,-7515,0},{-1533,-7517,0},{-1535,-7520,0}, {-1537,-7520,0},{-1540,-7515,0},{-1542,-7510,0},{-1547,-7505,0},{-1545,-7502,0}, {-1547,-7500,0},{-1550,-7498,0},{-1550,-7492,0},{-1557,-7485,0},{-1560,-7473,0}, {-1565,-7467,0},{-1572,-7448,0},{-1580,-7443,0},{-1585,-7435,0},{-1585,-7428,0}, {-1588,-7425,0},{-1590,-7417,0},{-1595,-7405,0},{-1602,-7403,0},{-1603,-7398,0}, {-1617,-7383,0},{-1618,-7375,0},{-1623,-7370,0},{-1623,-7362,0},{-1628,-7343,0}, {-1633,-7332,0},{-1640,-7330,0},{-1642,-7323,0},{-1640,-7320,0},{-1642,-7318,0}, {-1645,-7313,0},{-1653,-7297,0},{-1655,-7290,0},{-1663,-7278,0},{-1665,-7273,0}, {-1667,-7260,0},{-1668,-7250,0},{-1675,-7242,0},{-1677,-7237,0},{-1683,-7230,0}, {-1688,-7230,0},{-1690,-7223,0},{-1695,-7217,0},{-1698,-7213,0},{-1702,-7212,0}, {-1703,-7205,0},{-1705,-7198,0},{-1710,-7192,0},{-1715,-7188,0},{-1718,-7183,0}, {-1722,-7167,0},{-1728,-7158,0},{-1728,-7153,0},{-1730,-7150,0},{-1733,-7148,0}, {-1740,-7140,0},{-1763,-7135,0},{-1770,-7138,0},{-1772,-7130,0},{-1777,-7120,0}, {-1780,-7117,0},{-1785,-7110,0},{-1787,-7108,0},{-1788,-7102,0},{-1792,-7095,0}, {-1795,-7092,0},{-1803,-7087,0},{-1803,-7082,0},{-1810,-7073,0},{-1820,-7065,0}, {-1825,-7052,0},{-1835,-7040,0},{-1843,-7032,0},{-1845,-7033,0},{-1850,-7032,0}, {-1863,-7035,0},{-1867,-7033,0},{-1870,-7035,0},{-1873,-7033,0},{-1878,-7035,0}, {-1888,-7032,0},{-1902,-7032,0},{-1913,-7027,0},{-1930,-7028,0},{-1932,-7027,0}, {-1935,-7027,0},{-1940,-7022,0},{-1950,-7020,0},{-1953,-7020,0},{-1958,-7020,0}, {-1958,-7023,0},{-1963,-7018,0},{-1967,-7017,0},{-1968,-7017,0},{-1972,-7015,0}, {-1977,-7015,0},{-1980,-7017,0},{-1987,-7013,0},{-1988,-7015,0},{-1995,-7013,0}, {-1998,-7012,0},{-2005,-7013,0},{-2008,-7013,0},{-2015,-7015,0},{-2018,-7015,0}, {-2020,-7017,0},{-2027,-7013,0},{-2032,-7015,0},{-2037,-7018,0},{-2040,-7017,0}, {-2045,-7017,0},{-2048,-7017,0},{-2053,-7020,0},{-2065,-7018,0},{-2070,-7020,0}, {-2078,-7020,0},{-2080,-7022,0},{-2088,-7013,0},{-2093,-7013,0},{-2102,-7017,0}, {-2108,-7012,0},{-2112,-7013,0},{-2122,-7008,0},{-2130,-7007,0},{-2133,-7010,0}, {-2143,-7005,0},{-2148,-7008,0},{-2152,-7007,0},{-2153,-7008,0},{-2158,-7008,0}, {-2162,-7015,0},{-2167,-7015,0},{-2185,-7015,0},{-2188,-7017,0},{-2188,-7020,0}, {-2195,-7017,0},{-2200,-7020,0},{-2207,-7018,0},{-2208,-7020,0},{-2215,-7022,0}, {-2228,-7023,0},{-2233,-7025,0},{-2238,-7023,0},{-2245,-7027,0},{-2248,-7025,0}, {-2257,-7028,0},{-2262,-7027,0},{-2263,-7028,0},{-2270,-7028,0},{-2275,-7030,0}, {-2280,-7032,0},{-2290,-7028,0},{-2295,-7033,0},{-2302,-7033,0},{-2307,-7038,0}, {-2308,-7047,0},{-2307,-7050,0},{-2302,-7050,0},{-2302,-7052,0},{-2307,-7058,0}, {-2317,-7055,0},{-2322,-7060,0},{-2327,-7060,0},{-2330,-7058,0},{-2338,-7060,0}, {-2342,-7058,0},{-2345,-7062,0},{-2350,-7062,0},{-2348,-7060,0},{-2350,-7058,0}, {-2352,-7055,0},{-2350,-7053,0},{-2345,-7052,0},{-2345,-7048,0},{-2350,-7042,0}, {-2360,-7038,0},{-2370,-7043,0},{-2378,-7050,0},{-2383,-7048,0},{-2387,-7052,0}, {-2390,-7050,0},{-2400,-7052,0},{-2405,-7050,0},{-2417,-7050,0},{-2432,-7055,0}, {-2435,-7053,0},{-2438,-7055,0},{-2448,-7055,0},{-2453,-7058,0},{-2462,-7055,0}, {-2472,-7058,0},{-2477,-7055,0},{-2490,-7053,0},{-2500,-7047,0},{-2510,-7050,0}, {-2513,-7047,0},{-2520,-7043,0},{-2535,-7045,0},{-2538,-7048,0},{-2538,-7052,0}, {-2548,-7055,0},{-2550,-7058,0},{-2550,-7062,0},{-2553,-7065,0},{-2557,-7063,0}, {-2563,-7065,0},{-2567,-7068,0},{-2572,-7070,0},{-2575,-7070,0},{-2580,-7073,0}, {-2585,-7070,0},{-2588,-7070,0},{-2593,-7065,0},{-2600,-7063,0},{-2603,-7063,0}, {-2607,-7067,0},{-2617,-7067,0},{-2620,-7067,0},{-2625,-7065,0},{-2628,-7067,0}, {-2630,-7063,0},{-2632,-7063,0},{-2638,-7070,0},{-2643,-7068,0},{-2650,-7070,0}, {-2653,-7068,0},{-2658,-7070,0},{-2668,-7073,0},{-2672,-7075,0},{-2675,-7075,0}, {-2687,-7082,0},{-2700,-7078,0},{-2702,-7082,0},{-2705,-7082,0},{-2705,-7085,0}, {-2713,-7088,0},{-2713,-7090,0},{-2710,-7093,0},{-2713,-7095,0},{-2718,-7097,0}, {-2722,-7095,0},{-2725,-7095,0},{-2730,-7093,0},{-2733,-7093,0},{-2737,-7095,0}, {-2748,-7088,0},{-2755,-7092,0},{-2762,-7092,0},{-2767,-7095,0},{-2768,-7100,0}, {-2765,-7103,0},{-2767,-7103,0},{-2772,-7105,0},{-2778,-7108,0},{-2782,-7108,0}, {-2785,-7110,0},{-2787,-7110,0},{-2790,-7112,0},{-2795,-7113,0},{-2807,-7115,0}, {-2810,-7117,0},{-2822,-7115,0},{-2830,-7118,0},{-2835,-7117,0},{-2847,-7122,0}, {-2847,-7127,0},{-2853,-7127,0},{-2857,-7132,0},{-2862,-7128,0},{-2868,-7130,0}, {-2873,-7137,0},{-2880,-7138,0},{-2887,-7150,0},{-2897,-7152,0},{-2898,-7150,0}, {-2902,-7150,0},{-2905,-7148,0},{-2907,-7150,0},{-2910,-7147,0},{-2915,-7150,0}, {-2922,-7148,0},{-2930,-7135,0},{-2938,-7133,0},{-2942,-7130,0},{-2955,-7133,0}, {-2962,-7128,0},{-2965,-7132,0},{-2973,-7133,0},{-2980,-7132,0},{-2983,-7128,0}, {-2990,-7128,0},{-2993,-7130,0},{-2993,-7135,0},{-2997,-7135,0},{-3000,-7142,0}, {-3008,-7137,0},{-3013,-7138,0},{-3018,-7142,0},{-3018,-7143,0},{-3017,-7143,0}, {-3020,-7147,0},{-3023,-7148,0},{-3023,-7152,0},{-3027,-7150,0},{-3030,-7155,0}, {-3028,-7160,0},{-3025,-7162,0},{-3025,-7163,0},{-3035,-7168,0},{-3062,-7172,0}, {-3078,-7170,0},{-3093,-7168,0},{-3098,-7165,0},{-3115,-7167,0},{-3152,-7157,0}, {-3160,-7157,0},{-3178,-7152,0},{-3185,-7155,0},{-3188,-7150,0},{-3192,-7153,0}, {-3198,-7150,0},{-3220,-7153,0},{-3228,-7148,0},{-3233,-7147,0},{-3235,-7143,0}, {-3238,-7140,0},{-3242,-7143,0},{-3248,-7143,0},{-3252,-7147,0},{-3265,-7145,0}, {-3270,-7147,0},{-3272,-7152,0},{-3277,-7150,0},{-3278,-7155,0},{-3288,-7152,0}, {-3293,-7155,0},{-3302,-7157,0},{-3303,-7160,0},{-3302,-7165,0},{-3308,-7168,0}, {-3310,-7175,0},{-3317,-7172,0},{-3327,-7170,0},{-3330,-7167,0},{-3335,-7167,0}, {-3338,-7170,0},{-3343,-7172,0},{-3353,-7162,0},{-3357,-7165,0},{-3368,-7167,0}, {-3373,-7170,0},{-3378,-7182,0},{-3393,-7187,0},{-3397,-7190,0},{-3402,-7190,0}, {-3403,-7193,0},{-3415,-7202,0},{-3418,-7202,0},{-3422,-7198,0},{-3437,-7198,0}, {-3440,-7203,0},{-3442,-7205,0},{-3452,-7203,0},{-3453,-7205,0},{-3465,-7205,0}, {-3475,-7210,0},{-3478,-7213,0},{-3488,-7218,0},{-3510,-7222,0},{-3517,-7228,0}, {-3523,-7238,0},{-3535,-7243,0},{-3537,-7248,0},{-3548,-7250,0},{-3558,-7265,0}, {-3560,-7265,0},{-3573,-7258,0},{-3580,-7258,0},{-3582,-7260,0},{-3585,-7267,0}, {-3590,-7270,0},{-3598,-7280,0},{-3603,-7278,0},{-3610,-7282,0},{-3615,-7280,0}, {-3618,-7283,0},{-3632,-7283,0},{-3638,-7288,0},{-3643,-7288,0},{-3647,-7292,0}, {-3653,-7293,0},{-3652,-7297,0},{-3653,-7298,0},{-3657,-7300,0},{-3662,-7297,0}, {-3670,-7298,0},{-3672,-7303,0},{-3670,-7308,0},{-3662,-7308,0},{-3660,-7310,0}, {-3660,-7312,0},{-3668,-7313,0},{-3670,-7315,0},{-3672,-7312,0},{-3673,-7313,0}, {-3675,-7315,0},{-3673,-7317,0},{-3677,-7320,0},{-3682,-7315,0},{-3687,-7315,0}, {-3695,-7315,0},{-3700,-7318,0},{-3705,-7317,0},{-3715,-7320,0},{-3720,-7327,0}, {-3725,-7345,0},{-3722,-7347,0},{-3720,-7353,0},{-3715,-7358,0},{-3718,-7363,0}, {-3728,-7365,0},{-3733,-7368,0},{-3737,-7367,0},{-3742,-7360,0},{-3747,-7360,0}, {-3752,-7360,0},{-3760,-7368,0},{-3768,-7365,0},{-3773,-7367,0},{-3777,-7362,0}, {-3787,-7353,0},{-3805,-7345,0},{-3820,-7347,0},{-3827,-7352,0},{-3832,-7350,0}, {-3833,-7352,0},{-3838,-7353,0},{-3853,-7352,0},{-3878,-7343,0},{-3870,-7343,0}, {-3890,-7337,0},{-3915,-7325,0},{-3922,-7325,0},{-3922,-7322,0},{-3918,-7323,0}, {-3922,-7320,0},{-3925,-7323,0},{-3935,-7322,0},{-3938,-7325,0},{-3942,-7322,0}, {-3945,-7325,0},{-3948,-7325,0},{-3965,-7335,0},{-3967,-7335,0},{-3967,-7338,0}, {-3970,-7340,0},{-3973,-7338,0},{-3980,-7340,0},{-3987,-7337,0},{-3992,-7338,0}, {-3992,-7340,0},{-3983,-7342,0},{-3983,-7343,0},{-3983,-7347,0},{-3988,-7352,0}, {-3992,-7360,0},{-3993,-7360,0},{-3993,-7367,0},{-3998,-7372,0},{-4003,-7367,0}, {-4012,-7365,0},{-4012,-7367,0},{-4013,-7370,0},{-4018,-7373,0},{-4022,-7372,0}, {-4025,-7375,0},{-4042,-7377,0},{-4042,-7378,0},{-4052,-7375,0},{-4058,-7378,0}, {-4062,-7383,0},{-4063,-7385,0},{-4068,-7385,0},{-4075,-7390,0},{-4082,-7392,0}, {-4087,-7395,0},{-4088,-7390,0},{-4090,-7390,0},{-4093,-7395,0},{-4097,-7400,0}, {-4112,-7398,0},{-4130,-7387,0},{-4140,-7385,0},{-4147,-7387,0},{-4152,-7382,0}, {-4157,-7382,0},{-4157,-7377,0},{-4160,-7372,0},{-4160,-7360,0},{-4158,-7355,0}, {-4157,-7355,0},{-4152,-7350,0},{-4162,-7357,0},{-4162,-7368,0},{-4165,-7368,0}, {-4168,-7373,0},{-4175,-7375,0},{-4177,-7358,0},{-4180,-7352,0},{-4178,-7345,0}, {-4180,-7342,0},{-4178,-7342,0},{-4177,-7340,0},{-4180,-7320,0},{-4175,-7317,0}, {-4175,-7313,0},{-4170,-7310,0},{-4170,-7305,0},{-4158,-7310,0},{-4157,-7305,0}, {-4152,-7305,0},{-4148,-7295,0},{-4152,-7288,0},{-4150,-7283,0},{-4155,-7275,0}, {-4160,-7272,0},{-4162,-7268,0},{-4167,-7268,0},{-4170,-7263,0},{-4170,-7257,0}, {-4168,-7253,0},{-4168,-7248,0},{-4167,-7242,0},{-4162,-7238,0},{-4145,-7235,0}, {-4142,-7232,0},{-4138,-7235,0},{-4137,-7233,0},{-4138,-7230,0},{-4148,-7233,0}, {-4152,-7230,0},{-4155,-7232,0},{-4162,-7233,0},{-4165,-7230,0},{-4165,-7237,0}, {-4168,-7240,0},{-4172,-7248,0},{-4173,-7258,0},{-4173,-7267,0},{-4192,-7288,0}, {-4195,-7283,0},{-4198,-7282,0},{-4202,-7272,0},{-4200,-7268,0},{-4202,-7267,0}, {-4202,-7262,0},{-4203,-7260,0},{-4203,-7257,0},{-4197,-7253,0},{-4197,-7247,0}, {-4212,-7248,0},{-4215,-7248,0},{-4215,-7242,0},{-4217,-7247,0},{-4222,-7248,0}, {-4225,-7247,0},{-4225,-7242,0},{-4227,-7247,0},{-4230,-7248,0},{-4237,-7243,0}, {-4245,-7242,0},{-4247,-7243,0},{-4245,-7245,0},{-4227,-7255,0},{-4223,-7255,0}, {-4218,-7260,0},{-4222,-7270,0},{-4222,-7275,0},{-4230,-7285,0},{-4230,-7283,0}, {-4230,-7280,0},{-4238,-7277,0},{-4240,-7272,0},{-4243,-7272,0},{-4248,-7268,0}, {-4252,-7257,0},{-4257,-7253,0},{-4255,-7258,0},{-4250,-7268,0},{-4250,-7278,0}, {-4250,-7282,0},{-4257,-7285,0},{-4262,-7287,0},{-4268,-7282,0},{-4270,-7287,0}, {-4277,-7287,0},{-4285,-7283,0},{-4292,-7273,0},{-4302,-7277,0},{-4308,-7273,0}, {-4307,-7278,0},{-4302,-7280,0},{-4300,-7283,0},{-4303,-7287,0},{-4308,-7292,0}, {-4313,-7293,0},{-4323,-7290,0},{-4330,-7308,0},{-4340,-7308,0},{-4343,-7312,0}, {-4358,-7303,0},{-4360,-7297,0},{-4358,-7292,0},{-4362,-7290,0},{-4362,-7297,0}, {-4368,-7300,0},{-4370,-7305,0},{-4373,-7305,0},{-4373,-7300,0},{-4377,-7297,0}, {-4375,-7293,0},{-4375,-7288,0},{-4373,-7287,0},{-4368,-7285,0},{-4373,-7285,0}, {-4378,-7285,0},{-4382,-7282,0},{-4382,-7285,0},{-4378,-7288,0},{-4382,-7297,0}, {-4382,-7298,0},{-4377,-7300,0},{-4382,-7302,0},{-4388,-7307,0},{-4392,-7307,0}, {-4393,-7310,0},{-4398,-7313,0},{-4403,-7313,0},{-4410,-7312,0},{-4408,-7315,0}, {-4407,-7318,0},{-4407,-7322,0},{-4410,-7322,0},{-4413,-7322,0},{-4410,-7327,0}, {-4413,-7328,0},{-4418,-7328,0},{-4420,-7322,0},{-4418,-7317,0},{-4415,-7312,0}, {-4417,-7310,0},{-4422,-7313,0},{-4422,-7317,0},{-4425,-7318,0},{-4432,-7293,0}, {-4437,-7293,0},{-4440,-7285,0},{-4443,-7282,0},{-4445,-7275,0},{-4450,-7272,0}, {-4450,-7270,0},{-4442,-7267,0},{-4440,-7263,0},{-4435,-7258,0},{-4445,-7262,0}, {-4450,-7260,0},{-4455,-7268,0},{-4463,-7270,0},{-4467,-7273,0},{-4473,-7270,0}, {-4477,-7273,0},{-4477,-7278,0},{-4487,-7293,0},{-4487,-7300,0},{-4495,-7312,0}, {-4497,-7323,0},{-4495,-7333,0},{-4498,-7338,0},{-4503,-7340,0},{-4508,-7337,0}, {-4508,-7333,0},{-4512,-7333,0},{-4515,-7330,0},{-4520,-7335,0},{-4520,-7345,0}, {-4525,-7347,0},{-4528,-7345,0},{-4530,-7335,0},{-4528,-7332,0},{-4525,-7327,0}, {-4528,-7318,0},{-4538,-7305,0},{-4542,-7295,0},{-4538,-7288,0},{-4540,-7285,0}, {-4542,-7283,0},{-4543,-7285,0},{-4547,-7285,0},{-4547,-7287,0},{-4545,-7302,0}, {-4542,-7303,0},{-4542,-7308,0},{-4535,-7318,0},{-4532,-7318,0},{-4530,-7322,0}, {-4533,-7332,0},{-4540,-7332,0},{-4537,-7335,0},{-4538,-7340,0},{-4545,-7342,0}, {-4542,-7343,0},{-4545,-7352,0},{-4578,-7358,0},{-4572,-7347,0},{-4567,-7343,0}, {-4562,-7333,0},{-4565,-7330,0},{-4567,-7318,0},{-4568,-7323,0},{-4568,-7338,0}, {-4570,-7342,0},{-4583,-7357,0},{-4587,-7355,0},{-4588,-7352,0},{-4588,-7358,0}, {-4593,-7362,0},{-4595,-7360,0},{-4597,-7367,0},{-4602,-7365,0},{-4605,-7365,0}, {-4608,-7362,0},{-4620,-7365,0},{-4622,-7363,0},{-4622,-7365,0},{-4625,-7368,0}, {-4632,-7368,0},{-4628,-7363,0},{-4625,-7360,0},{-4622,-7362,0},{-4608,-7345,0}, {-4603,-7343,0},{-4602,-7338,0},{-4603,-7335,0},{-4607,-7342,0},{-4615,-7348,0}, {-4618,-7353,0},{-4628,-7357,0},{-4630,-7355,0},{-4630,-7348,0},{-4633,-7362,0}, {-4642,-7375,0},{-4647,-7377,0},{-4653,-7373,0},{-4650,-7378,0},{-4653,-7380,0}, {-4658,-7383,0},{-4660,-7388,0},{-4660,-7392,0},{-4655,-7400,0},{-4638,-7382,0}, {-4630,-7377,0},{-4623,-7377,0},{-4620,-7385,0},{-4613,-7388,0},{-4615,-7397,0}, {-4622,-7402,0},{-4622,-7397,0},{-4627,-7395,0},{-4632,-7387,0},{-4635,-7385,0}, {-4628,-7402,0},{-4632,-7407,0},{-4627,-7403,0},{-4625,-7403,0},{-4623,-7407,0}, {-4620,-7405,0},{-4625,-7418,0},{-4627,-7433,0},{-4618,-7450,0},{-4617,-7448,0}, {-4622,-7442,0},{-4625,-7433,0},{-4623,-7420,0},{-4618,-7408,0},{-4612,-7400,0}, {-4605,-7397,0},{-4598,-7405,0},{-4600,-7407,0},{-4610,-7407,0},{-4613,-7413,0}, {-4613,-7417,0},{-4610,-7412,0},{-4603,-7408,0},{-4602,-7410,0},{-4602,-7417,0}, {-4598,-7408,0},{-4595,-7405,0},{-4592,-7407,0},{-4593,-7415,0},{-4590,-7412,0}, {-4588,-7420,0},{-4585,-7410,0},{-4580,-7417,0},{-4582,-7427,0},{-4583,-7432,0}, {-4580,-7435,0},{-4582,-7442,0},{-4580,-7445,0},{-4585,-7443,0},{-4585,-7447,0}, {-4593,-7440,0},{-4603,-7447,0},{-4602,-7448,0},{-4593,-7445,0},{-4592,-7447,0}, {-4593,-7452,0},{-4590,-7452,0},{-4590,-7455,0},{-4585,-7453,0},{-4582,-7457,0}, {-4585,-7460,0},{-4583,-7463,0},{-4582,-7467,0},{-4592,-7472,0},{-4600,-7472,0}, {-4602,-7473,0},{-4603,-7470,0},{-4603,-7477,0},{-4612,-7482,0},{-4615,-7482,0}, {-4618,-7475,0},{-4618,-7478,0},{-4622,-7478,0},{-4615,-7487,0},{-4615,-7490,0}, {-4623,-7497,0},{-4628,-7493,0},{-4622,-7503,0},{-4622,-7510,0},{-4625,-7512,0}, {-4627,-7510,0},{-4628,-7512,0},{-4630,-7515,0},{-4633,-7512,0},{-4635,-7503,0}, {-4635,-7510,0},{-4630,-7520,0},{-4642,-7522,0},{-4637,-7525,0},{-4637,-7527,0}, {-4643,-7540,0},{-4648,-7538,0},{-4648,-7543,0},{-4652,-7547,0},{-4652,-7553,0}, {-4653,-7555,0},{-4655,-7552,0},{-4657,-7557,0},{-4657,-7563,0},{-4660,-7565,0}, {-4663,-7570,0},{-4678,-7572,0},{-4682,-7567,0},{-4687,-7565,0},{-4692,-7558,0}, {-4693,-7558,0},{-4695,-7550,0},{-4690,-7535,0},{-4687,-7535,0},{-4685,-7537,0}, {-4687,-7543,0},{-4683,-7540,0},{-4678,-7538,0},{-4678,-7540,0},{-4678,-7543,0}, {-4678,-7547,0},{-4675,-7545,0},{-4673,-7545,0},{-4673,-7542,0},{-4670,-7543,0}, {-4670,-7555,0},{-4675,-7558,0},{-4678,-7563,0},{-4678,-7565,0},{-4677,-7565,0}, {-4673,-7560,0},{-4670,-7560,0},{-4665,-7545,0},{-4663,-7542,0},{-4665,-7540,0}, {-4667,-7535,0},{-4663,-7533,0},{-4663,-7525,0},{-4660,-7522,0},{-4663,-7520,0}, {-4663,-7518,0},{-4657,-7508,0},{-4652,-7505,0},{-4650,-7498,0},{-4643,-7493,0}, {-4652,-7493,0},{-4655,-7500,0},{-4658,-7502,0},{-4660,-7507,0},{-4663,-7508,0}, {-4675,-7502,0},{-4678,-7490,0},{-4682,-7485,0},{-4677,-7483,0},{-4677,-7482,0}, {-4680,-7480,0},{-4685,-7472,0},{-4688,-7468,0},{-4688,-7460,0},{-4690,-7457,0}, {-4690,-7447,0},{-4687,-7443,0},{-4687,-7450,0},{-4683,-7455,0},{-4685,-7467,0}, {-4683,-7465,0},{-4680,-7465,0},{-4680,-7452,0},{-4678,-7448,0},{-4673,-7458,0}, {-4677,-7443,0},{-4678,-7427,0},{-4680,-7427,0},{-4682,-7428,0},{-4683,-7425,0}, {-4687,-7425,0},{-4683,-7413,0},{-4687,-7415,0},{-4688,-7420,0},{-4690,-7422,0}, {-4698,-7413,0},{-4697,-7405,0},{-4698,-7402,0},{-4703,-7393,0},{-4717,-7405,0}, {-4717,-7398,0},{-4725,-7397,0},{-4725,-7398,0},{-4718,-7403,0},{-4720,-7405,0}, {-4718,-7408,0},{-4720,-7412,0},{-4725,-7413,0},{-4735,-7410,0},{-4728,-7417,0}, {-4722,-7417,0},{-4722,-7423,0},{-4725,-7423,0},{-4722,-7428,0},{-4725,-7428,0}, {-4722,-7432,0},{-4725,-7433,0},{-4730,-7437,0},{-4732,-7442,0},{-4735,-7442,0}, {-4737,-7447,0},{-4743,-7453,0},{-4747,-7450,0},{-4745,-7447,0},{-4742,-7447,0}, {-4745,-7445,0},{-4745,-7438,0},{-4747,-7440,0},{-4747,-7445,0},{-4748,-7445,0}, {-4755,-7438,0},{-4753,-7433,0},{-4755,-7435,0},{-4760,-7432,0},{-4758,-7423,0}, {-4760,-7417,0},{-4753,-7405,0},{-4760,-7413,0},{-4762,-7403,0},{-4763,-7410,0}, {-4762,-7417,0},{-4763,-7427,0},{-4765,-7425,0},{-4767,-7413,0},{-4767,-7417,0}, {-4767,-7428,0},{-4768,-7430,0},{-4772,-7428,0},{-4775,-7422,0},{-4775,-7417,0}, {-4775,-7418,0},{-4775,-7425,0},{-4773,-7430,0},{-4767,-7433,0},{-4770,-7448,0}, {-4767,-7445,0},{-4765,-7435,0},{-4760,-7437,0},{-4760,-7438,0},{-4762,-7440,0}, {-4758,-7442,0},{-4757,-7442,0},{-4755,-7447,0},{-4755,-7448,0},{-4762,-7450,0}, {-4755,-7453,0},{-4757,-7460,0},{-4762,-7463,0},{-4767,-7455,0},{-4770,-7458,0}, {-4767,-7458,0},{-4765,-7463,0},{-4765,-7468,0},{-4772,-7473,0},{-4775,-7472,0}, {-4777,-7463,0},{-4777,-7453,0},{-4778,-7453,0},{-4775,-7438,0},{-4775,-7433,0}, {-4777,-7433,0},{-4777,-7440,0},{-4778,-7437,0},{-4778,-7432,0},{-4777,-7430,0}, {-4780,-7422,0},{-4777,-7407,0},{-4780,-7403,0},{-4783,-7403,0},{-4785,-7393,0}, {-4778,-7378,0},{-4772,-7378,0},{-4765,-7373,0},{-4762,-7373,0},{-4760,-7377,0}, {-4753,-7372,0},{-4755,-7372,0},{-4757,-7367,0},{-4758,-7370,0},{-4763,-7370,0}, {-4763,-7365,0},{-4772,-7373,0},{-4778,-7370,0},{-4780,-7355,0},{-4787,-7362,0}, {-4788,-7357,0},{-4787,-7353,0},{-4788,-7350,0},{-4793,-7353,0},{-4795,-7352,0}, {-4797,-7347,0},{-4797,-7333,0},{-4800,-7322,0},{-4798,-7335,0},{-4800,-7343,0}, {-4798,-7350,0},{-4795,-7355,0},{-4792,-7357,0},{-4790,-7363,0},{-4792,-7365,0}, {-4797,-7363,0},{-4798,-7365,0},{-4800,-7358,0},{-4805,-7358,0},{-4812,-7348,0}, {-4817,-7338,0},{-4813,-7330,0},{-4807,-7328,0},{-4808,-7327,0},{-4815,-7328,0}, {-4818,-7335,0},{-4822,-7335,0},{-4818,-7342,0},{-4818,-7347,0},{-4818,-7350,0}, {-4820,-7353,0},{-4825,-7355,0},{-4822,-7358,0},{-4822,-7360,0},{-4815,-7358,0}, {-4812,-7362,0},{-4808,-7377,0},{-4812,-7380,0},{-4805,-7375,0},{-4803,-7377,0}, {-4810,-7387,0},{-4805,-7385,0},{-4803,-7388,0},{-4805,-7395,0},{-4802,-7402,0}, {-4803,-7402,0},{-4803,-7403,0},{-4800,-7407,0},{-4800,-7432,0},{-4802,-7433,0}, {-4803,-7432,0},{-4812,-7425,0},{-4815,-7422,0},{-4817,-7423,0},{-4820,-7420,0}, {-4822,-7418,0},{-4822,-7415,0},{-4823,-7422,0},{-4818,-7425,0},{-4820,-7427,0}, {-4805,-7433,0},{-4798,-7442,0},{-4798,-7447,0},{-4795,-7452,0},{-4798,-7457,0}, {-4800,-7463,0},{-4802,-7465,0},{-4807,-7465,0},{-4808,-7460,0},{-4808,-7455,0}, {-4803,-7447,0},{-4805,-7447,0},{-4808,-7452,0},{-4813,-7448,0},{-4820,-7442,0}, {-4822,-7432,0},{-4823,-7432,0},{-4828,-7427,0},{-4833,-7427,0},{-4830,-7417,0}, {-4832,-7408,0},{-4833,-7420,0},{-4835,-7423,0},{-4837,-7415,0},{-4840,-7412,0}, {-4840,-7405,0},{-4842,-7402,0},{-4840,-7390,0},{-4842,-7390,0},{-4845,-7403,0}, {-4853,-7403,0},{-4857,-7397,0},{-4860,-7398,0},{-4860,-7402,0},{-4855,-7405,0}, {-4848,-7420,0},{-4852,-7427,0},{-4853,-7427,0},{-4855,-7432,0},{-4862,-7440,0}, {-4863,-7437,0},{-4868,-7437,0},{-4868,-7433,0},{-4867,-7432,0},{-4868,-7428,0}, {-4870,-7433,0},{-4873,-7432,0},{-4870,-7418,0},{-4872,-7408,0},{-4873,-7405,0}, {-4872,-7422,0},{-4875,-7430,0},{-4875,-7433,0},{-4877,-7433,0},{-4873,-7437,0}, {-4873,-7438,0},{-4877,-7440,0},{-4880,-7443,0},{-4885,-7445,0},{-4887,-7442,0}, {-4888,-7443,0},{-4890,-7443,0},{-4893,-7437,0},{-4893,-7442,0},{-4898,-7440,0}, {-4903,-7447,0},{-4908,-7445,0},{-4908,-7440,0},{-4913,-7442,0},{-4918,-7437,0}, {-4920,-7442,0},{-4932,-7438,0},{-4938,-7442,0},{-4942,-7440,0},{-4942,-7435,0}, {-4952,-7427,0},{-4953,-7423,0},{-4950,-7418,0},{-4942,-7418,0},{-4938,-7417,0}, {-4927,-7415,0},{-4922,-7418,0},{-4922,-7415,0},{-4923,-7412,0},{-4922,-7408,0}, {-4915,-7403,0},{-4912,-7405,0},{-4908,-7405,0},{-4903,-7407,0},{-4902,-7405,0}, {-4900,-7392,0},{-4903,-7383,0},{-4905,-7383,0},{-4902,-7392,0},{-4903,-7395,0}, {-4907,-7400,0},{-4908,-7403,0},{-4917,-7397,0},{-4923,-7400,0},{-4927,-7400,0}, {-4932,-7393,0},{-4935,-7385,0},{-4935,-7390,0},{-4933,-7397,0},{-4928,-7400,0}, {-4927,-7405,0},{-4928,-7408,0},{-4935,-7410,0},{-4942,-7412,0},{-4948,-7412,0}, {-4952,-7400,0},{-4952,-7388,0},{-4965,-7385,0},{-4967,-7377,0},{-4970,-7375,0}, {-4973,-7368,0},{-4978,-7372,0},{-4973,-7375,0},{-4968,-7382,0},{-4967,-7388,0}, {-4955,-7395,0},{-4957,-7400,0},{-4962,-7403,0},{-4957,-7402,0},{-4953,-7408,0}, {-4957,-7417,0},{-4957,-7425,0},{-4962,-7432,0},{-4965,-7433,0},{-4975,-7430,0}, {-4972,-7407,0},{-4975,-7407,0},{-4975,-7420,0},{-4977,-7425,0},{-4980,-7428,0}, {-4980,-7435,0},{-4988,-7430,0},{-4990,-7427,0},{-4990,-7418,0},{-4992,-7413,0}, {-4995,-7412,0},{-4997,-7407,0},{-4995,-7400,0},{-4992,-7398,0},{-4990,-7393,0}, {-4987,-7390,0},{-4992,-7392,0},{-4992,-7388,0},{-4993,-7397,0},{-5000,-7400,0}, {-5002,-7398,0},{-5002,-7390,0},{-5008,-7388,0},{-5007,-7390,0},{-5003,-7393,0}, {-5003,-7407,0},{-5000,-7410,0},{-5002,-7415,0},{-4997,-7418,0},{-4993,-7427,0}, {-4995,-7430,0},{-4993,-7433,0},{-4993,-7435,0},{-4998,-7437,0},{-5008,-7428,0}, {-5008,-7425,0},{-5012,-7422,0},{-5017,-7422,0},{-5020,-7418,0},{-5022,-7415,0}, {-5020,-7410,0},{-5022,-7405,0},{-5020,-7400,0},{-5022,-7400,0},{-5022,-7403,0}, {-5023,-7402,0},{-5028,-7387,0},{-5030,-7387,0},{-5028,-7397,0},{-5023,-7410,0}, {-5023,-7415,0},{-5027,-7418,0},{-5025,-7420,0},{-5022,-7420,0},{-5020,-7423,0}, {-5017,-7427,0},{-5017,-7433,0},{-5013,-7430,0},{-5008,-7435,0},{-5010,-7445,0}, {-5008,-7447,0},{-5008,-7450,0},{-5012,-7450,0},{-5015,-7452,0},{-5010,-7453,0}, {-5010,-7458,0},{-5017,-7468,0},{-5020,-7470,0},{-5022,-7467,0},{-5020,-7460,0}, {-5023,-7462,0},{-5025,-7460,0},{-5022,-7452,0},{-5027,-7455,0},{-5025,-7448,0}, {-5030,-7453,0},{-5032,-7450,0},{-5033,-7445,0},{-5035,-7447,0},{-5037,-7440,0}, {-5037,-7435,0},{-5027,-7432,0},{-5027,-7428,0},{-5032,-7427,0},{-5040,-7432,0}, {-5043,-7428,0},{-5043,-7423,0},{-5040,-7422,0},{-5040,-7410,0},{-5037,-7408,0}, {-5037,-7402,0},{-5038,-7407,0},{-5043,-7412,0},{-5048,-7407,0},{-5045,-7402,0}, {-5050,-7400,0},{-5053,-7388,0},{-5055,-7388,0},{-5053,-7403,0},{-5048,-7413,0}, {-5050,-7417,0},{-5052,-7413,0},{-5053,-7415,0},{-5058,-7410,0},{-5058,-7413,0}, {-5055,-7415,0},{-5047,-7422,0},{-5048,-7430,0},{-5053,-7425,0},{-5055,-7420,0}, {-5062,-7423,0},{-5073,-7415,0},{-5072,-7412,0},{-5068,-7412,0},{-5072,-7407,0}, {-5073,-7407,0},{-5075,-7410,0},{-5077,-7412,0},{-5083,-7405,0},{-5083,-7393,0}, {-5080,-7390,0},{-5077,-7382,0},{-5068,-7383,0},{-5065,-7380,0},{-5053,-7377,0}, {-5050,-7373,0},{-5048,-7365,0},{-5040,-7358,0},{-5040,-7357,0},{-5048,-7360,0}, {-5053,-7372,0},{-5057,-7372,0},{-5062,-7365,0},{-5063,-7357,0},{-5065,-7353,0}, {-5067,-7347,0},{-5067,-7353,0},{-5072,-7353,0},{-5070,-7357,0},{-5067,-7358,0}, {-5065,-7363,0},{-5067,-7375,0},{-5068,-7378,0},{-5073,-7377,0},{-5080,-7378,0}, {-5083,-7373,0},{-5082,-7378,0},{-5080,-7382,0},{-5083,-7388,0},{-5087,-7383,0}, {-5092,-7378,0},{-5097,-7380,0},{-5093,-7385,0},{-5092,-7385,0},{-5087,-7392,0}, {-5090,-7395,0},{-5087,-7415,0},{-5090,-7422,0},{-5093,-7425,0},{-5095,-7422,0}, {-5103,-7423,0},{-5105,-7420,0},{-5105,-7418,0},{-5097,-7412,0},{-5095,-7407,0}, {-5100,-7408,0},{-5107,-7415,0},{-5110,-7412,0},{-5118,-7413,0},{-5120,-7408,0}, {-5120,-7402,0},{-5110,-7402,0},{-5118,-7398,0},{-5125,-7390,0},{-5117,-7375,0}, {-5112,-7377,0},{-5115,-7373,0},{-5113,-7370,0},{-5118,-7372,0},{-5120,-7370,0}, {-5118,-7367,0},{-5122,-7370,0},{-5127,-7368,0},{-5120,-7373,0},{-5122,-7378,0}, {-5123,-7378,0},{-5128,-7372,0},{-5133,-7373,0},{-5142,-7368,0},{-5145,-7365,0}, {-5143,-7358,0},{-5145,-7360,0},{-5147,-7365,0},{-5148,-7367,0},{-5152,-7365,0}, {-5152,-7360,0},{-5153,-7363,0},{-5162,-7360,0},{-5163,-7362,0},{-5162,-7363,0}, {-5147,-7372,0},{-5145,-7377,0},{-5140,-7382,0},{-5140,-7385,0},{-5137,-7390,0}, {-5140,-7393,0},{-5148,-7390,0},{-5152,-7392,0},{-5153,-7388,0},{-5153,-7382,0}, {-5158,-7390,0},{-5162,-7390,0},{-5165,-7377,0},{-5163,-7372,0},{-5168,-7382,0}, {-5170,-7380,0},{-5172,-7377,0},{-5178,-7370,0},{-5168,-7365,0},{-5172,-7360,0}, {-5168,-7355,0},{-5172,-7355,0},{-5168,-7347,0},{-5173,-7352,0},{-5175,-7360,0}, {-5178,-7357,0},{-5180,-7352,0},{-5183,-7353,0},{-5185,-7348,0},{-5188,-7350,0}, {-5190,-7345,0},{-5192,-7348,0},{-5202,-7340,0},{-5202,-7343,0},{-5197,-7347,0}, {-5195,-7350,0},{-5190,-7353,0},{-5185,-7358,0},{-5182,-7360,0},{-5182,-7363,0}, {-5183,-7365,0},{-5193,-7358,0},{-5195,-7362,0},{-5197,-7357,0},{-5202,-7358,0}, {-5205,-7355,0},{-5210,-7342,0},{-5213,-7338,0},{-5217,-7332,0},{-5217,-7328,0}, {-5213,-7328,0},{-5205,-7330,0},{-5175,-7333,0},{-5165,-7338,0},{-5172,-7332,0}, {-5190,-7330,0},{-5198,-7327,0},{-5203,-7327,0},{-5208,-7323,0},{-5208,-7317,0}, {-5197,-7315,0},{-5193,-7313,0},{-5187,-7292,0},{-5182,-7297,0},{-5187,-7307,0}, {-5190,-7318,0},{-5187,-7320,0},{-5185,-7308,0},{-5183,-7305,0},{-5177,-7307,0}, {-5177,-7313,0},{-5175,-7312,0},{-5175,-7305,0},{-5178,-7302,0},{-5178,-7300,0}, {-5172,-7308,0},{-5173,-7313,0},{-5172,-7322,0},{-5165,-7323,0},{-5162,-7330,0}, {-5162,-7328,0},{-5162,-7323,0},{-5163,-7323,0},{-5163,-7318,0},{-5168,-7318,0}, {-5170,-7317,0},{-5170,-7305,0},{-5173,-7298,0},{-5177,-7298,0},{-5177,-7297,0}, {-5175,-7292,0},{-5178,-7288,0},{-5177,-7283,0},{-5182,-7278,0},{-5182,-7273,0}, {-5183,-7272,0},{-5183,-7263,0},{-5178,-7257,0},{-5173,-7255,0},{-5170,-7272,0}, {-5162,-7275,0},{-5160,-7280,0},{-5160,-7287,0},{-5153,-7298,0},{-5160,-7308,0}, {-5160,-7312,0},{-5153,-7303,0},{-5152,-7305,0},{-5148,-7315,0},{-5152,-7322,0}, {-5150,-7327,0},{-5148,-7327,0},{-5147,-7325,0},{-5145,-7313,0},{-5142,-7308,0}, {-5145,-7308,0},{-5148,-7305,0},{-5150,-7295,0},{-5155,-7292,0},{-5157,-7283,0}, {-5158,-7273,0},{-5162,-7267,0},{-5167,-7262,0},{-5173,-7250,0},{-5178,-7247,0}, {-5185,-7252,0},{-5192,-7245,0},{-5193,-7247,0},{-5195,-7252,0},{-5195,-7258,0}, {-5198,-7260,0},{-5195,-7263,0},{-5197,-7267,0},{-5205,-7265,0},{-5220,-7247,0}, {-5232,-7250,0},{-5240,-7263,0},{-5242,-7260,0},{-5243,-7250,0},{-5245,-7250,0}, {-5247,-7255,0},{-5243,-7260,0},{-5240,-7272,0},{-5247,-7290,0},{-5245,-7293,0}, {-5242,-7282,0},{-5238,-7282,0},{-5240,-7278,0},{-5237,-7278,0},{-5238,-7273,0}, {-5233,-7268,0},{-5235,-7263,0},{-5235,-7260,0},{-5232,-7257,0},{-5228,-7257,0}, {-5222,-7253,0},{-5210,-7260,0},{-5212,-7265,0},{-5207,-7272,0},{-5198,-7270,0}, {-5195,-7278,0},{-5197,-7287,0},{-5207,-7290,0},{-5205,-7293,0},{-5207,-7295,0}, {-5218,-7293,0},{-5220,-7288,0},{-5208,-7282,0},{-5205,-7277,0},{-5207,-7275,0}, {-5208,-7275,0},{-5213,-7280,0},{-5223,-7283,0},{-5227,-7287,0},{-5225,-7292,0}, {-5222,-7292,0},{-5218,-7298,0},{-5220,-7303,0},{-5223,-7307,0},{-5223,-7308,0}, {-5215,-7303,0},{-5215,-7298,0},{-5207,-7298,0},{-5208,-7310,0},{-5213,-7313,0}, {-5212,-7317,0},{-5212,-7322,0},{-5220,-7323,0},{-5222,-7332,0},{-5213,-7350,0}, {-5215,-7352,0},{-5217,-7347,0},{-5220,-7353,0},{-5215,-7357,0},{-5215,-7362,0}, {-5210,-7363,0},{-5203,-7368,0},{-5203,-7373,0},{-5210,-7372,0},{-5217,-7363,0}, {-5220,-7363,0},{-5220,-7358,0},{-5222,-7357,0},{-5228,-7362,0},{-5233,-7357,0}, {-5238,-7360,0},{-5237,-7363,0},{-5238,-7365,0},{-5242,-7367,0},{-5245,-7358,0}, {-5242,-7353,0},{-5242,-7352,0},{-5247,-7353,0},{-5248,-7350,0},{-5248,-7357,0}, {-5250,-7357,0},{-5252,-7362,0},{-5253,-7355,0},{-5257,-7355,0},{-5255,-7358,0}, {-5257,-7362,0},{-5257,-7363,0},{-5258,-7363,0},{-5260,-7368,0},{-5265,-7367,0}, {-5263,-7357,0},{-5267,-7360,0},{-5268,-7367,0},{-5273,-7368,0},{-5273,-7365,0}, {-5275,-7362,0},{-5273,-7362,0},{-5273,-7360,0},{-5268,-7355,0},{-5268,-7350,0}, {-5265,-7350,0},{-5267,-7347,0},{-5263,-7345,0},{-5263,-7340,0},{-5255,-7340,0}, {-5260,-7335,0},{-5258,-7330,0},{-5265,-7333,0},{-5267,-7332,0},{-5267,-7327,0}, {-5263,-7323,0},{-5257,-7317,0},{-5250,-7318,0},{-5248,-7323,0},{-5247,-7320,0}, {-5243,-7320,0},{-5250,-7313,0},{-5248,-7307,0},{-5250,-7292,0},{-5252,-7288,0}, {-5253,-7290,0},{-5252,-7293,0},{-5250,-7305,0},{-5252,-7310,0},{-5253,-7312,0}, {-5257,-7300,0},{-5257,-7313,0},{-5265,-7315,0},{-5265,-7322,0},{-5272,-7325,0}, {-5272,-7327,0},{-5272,-7330,0},{-5277,-7330,0},{-5277,-7325,0},{-5278,-7323,0}, {-5280,-7335,0},{-5282,-7338,0},{-5278,-7338,0},{-5278,-7342,0},{-5282,-7347,0}, {-5278,-7347,0},{-5280,-7357,0},{-5282,-7355,0},{-5283,-7348,0},{-5285,-7338,0}, {-5288,-7335,0},{-5287,-7330,0},{-5292,-7328,0},{-5288,-7322,0},{-5290,-7318,0}, {-5292,-7323,0},{-5293,-7323,0},{-5293,-7325,0},{-5297,-7323,0},{-5293,-7332,0}, {-5297,-7333,0},{-5297,-7337,0},{-5300,-7335,0},{-5298,-7340,0},{-5300,-7345,0}, {-5302,-7338,0},{-5305,-7337,0},{-5308,-7332,0},{-5308,-7325,0},{-5310,-7320,0}, {-5310,-7318,0},{-5307,-7322,0},{-5302,-7320,0},{-5303,-7315,0},{-5307,-7318,0}, {-5310,-7313,0},{-5307,-7303,0},{-5305,-7302,0},{-5307,-7298,0},{-5300,-7295,0}, {-5293,-7297,0},{-5290,-7295,0},{-5283,-7302,0},{-5283,-7297,0},{-5280,-7295,0}, {-5280,-7288,0},{-5277,-7283,0},{-5275,-7277,0},{-5265,-7267,0},{-5263,-7270,0}, {-5262,-7280,0},{-5258,-7282,0},{-5262,-7287,0},{-5272,-7297,0},{-5272,-7298,0}, {-5270,-7298,0},{-5263,-7290,0},{-5250,-7285,0},{-5252,-7282,0},{-5255,-7278,0}, {-5252,-7268,0},{-5253,-7263,0},{-5255,-7263,0},{-5257,-7257,0},{-5252,-7252,0}, {-5250,-7238,0},{-5253,-7240,0},{-5253,-7248,0},{-5258,-7255,0},{-5265,-7242,0}, {-5262,-7240,0},{-5262,-7243,0},{-5258,-7237,0},{-5253,-7233,0},{-5252,-7212,0}, {-5255,-7200,0},{-5253,-7192,0},{-5257,-7163,0},{-5257,-7153,0},{-5263,-7147,0}, {-5263,-7155,0},{-5268,-7165,0},{-5268,-7178,0},{-5268,-7190,0},{-5263,-7197,0}, {-5263,-7200,0},{-5267,-7202,0},{-5267,-7203,0},{-5265,-7207,0},{-5263,-7217,0}, {-5268,-7218,0},{-5270,-7225,0},{-5275,-7230,0},{-5278,-7238,0},{-5282,-7242,0}, {-5287,-7243,0},{-5285,-7245,0},{-5280,-7248,0},{-5283,-7260,0},{-5280,-7257,0}, {-5287,-7272,0},{-5283,-7272,0},{-5280,-7263,0},{-5277,-7260,0},{-5270,-7270,0}, {-5275,-7273,0},{-5285,-7298,0},{-5288,-7292,0},{-5292,-7295,0},{-5298,-7292,0}, {-5303,-7292,0},{-5302,-7287,0},{-5310,-7293,0},{-5315,-7285,0},{-5312,-7278,0}, {-5313,-7273,0},{-5310,-7272,0},{-5313,-7270,0},{-5315,-7265,0},{-5315,-7277,0}, {-5318,-7273,0},{-5318,-7280,0},{-5325,-7268,0},{-5327,-7272,0},{-5330,-7270,0}, {-5328,-7277,0},{-5323,-7275,0},{-5320,-7287,0},{-5320,-7292,0},{-5317,-7295,0}, {-5317,-7310,0},{-5320,-7313,0},{-5315,-7330,0},{-5317,-7330,0},{-5320,-7323,0}, {-5323,-7322,0},{-5327,-7313,0},{-5328,-7307,0},{-5337,-7293,0},{-5337,-7288,0}, {-5338,-7287,0},{-5338,-7280,0},{-5345,-7278,0},{-5340,-7277,0},{-5340,-7275,0}, {-5345,-7273,0},{-5347,-7265,0},{-5350,-7263,0},{-5353,-7253,0},{-5355,-7253,0}, {-5353,-7237,0},{-5342,-7248,0},{-5342,-7253,0},{-5342,-7255,0},{-5340,-7258,0}, {-5337,-7263,0},{-5332,-7265,0},{-5337,-7260,0},{-5337,-7255,0},{-5337,-7250,0}, {-5333,-7250,0},{-5327,-7253,0},{-5328,-7245,0},{-5327,-7242,0},{-5325,-7243,0}, {-5322,-7253,0},{-5320,-7253,0},{-5323,-7243,0},{-5322,-7243,0},{-5318,-7248,0}, {-5323,-7235,0},{-5322,-7232,0},{-5320,-7232,0},{-5318,-7237,0},{-5318,-7230,0}, {-5322,-7223,0},{-5318,-7218,0},{-5315,-7222,0},{-5315,-7232,0},{-5307,-7237,0}, {-5308,-7242,0},{-5308,-7248,0},{-5308,-7255,0},{-5307,-7255,0},{-5305,-7238,0}, {-5307,-7227,0},{-5303,-7230,0},{-5305,-7222,0},{-5307,-7218,0},{-5312,-7213,0}, {-5313,-7208,0},{-5312,-7202,0},{-5307,-7197,0},{-5300,-7190,0},{-5298,-7185,0}, {-5295,-7182,0},{-5283,-7148,0},{-5282,-7143,0},{-5278,-7140,0},{-5273,-7140,0}, {-5278,-7135,0},{-5280,-7118,0},{-5285,-7112,0},{-5288,-7113,0},{-5297,-7123,0}, {-5303,-7127,0},{-5310,-7133,0},{-5313,-7138,0},{-5313,-7148,0},{-5315,-7153,0}, {-5317,-7160,0},{-5320,-7162,0},{-5322,-7175,0},{-5333,-7177,0},{-5345,-7175,0}, {-5352,-7180,0},{-5355,-7193,0},{-5357,-7198,0},{-5357,-7200,0},{-5353,-7200,0}, {-5348,-7185,0},{-5345,-7178,0},{-5325,-7183,0},{-5322,-7185,0},{-5323,-7192,0}, {-5322,-7198,0},{-5323,-7200,0},{-5328,-7202,0},{-5338,-7200,0},{-5340,-7205,0}, {-5342,-7208,0},{-5345,-7218,0},{-5343,-7223,0},{-5342,-7215,0},{-5338,-7213,0}, {-5340,-7212,0},{-5338,-7208,0},{-5333,-7208,0},{-5325,-7212,0},{-5327,-7217,0}, {-5325,-7227,0},{-5325,-7230,0},{-5332,-7242,0},{-5337,-7240,0},{-5340,-7245,0}, {-5353,-7235,0},{-5353,-7230,0},{-5358,-7228,0},{-5362,-7220,0},{-5368,-7212,0}, {-5372,-7203,0},{-5367,-7202,0},{-5368,-7198,0},{-5373,-7193,0},{-5368,-7187,0}, {-5373,-7187,0},{-5380,-7170,0},{-5383,-7145,0},{-5388,-7128,0},{-5383,-7105,0}, {-5377,-7098,0},{-5368,-7098,0},{-5365,-7095,0},{-5360,-7093,0},{-5343,-7098,0}, {-5337,-7098,0},{-5330,-7095,0},{-5320,-7095,0},{-5313,-7088,0},{-5297,-7080,0}, {-5292,-7082,0},{-5290,-7088,0},{-5287,-7083,0},{-5282,-7082,0},{-5278,-7073,0}, {-5278,-7080,0},{-5275,-7080,0},{-5273,-7085,0},{-5272,-7085,0},{-5273,-7080,0}, {-5272,-7077,0},{-5270,-7072,0},{-5272,-7072,0},{-5272,-7068,0},{-5268,-7062,0}, {-5270,-7058,0},{-5267,-7058,0},{-5265,-7053,0},{-5265,-7050,0},{-5270,-7055,0}, {-5270,-7052,0},{-5263,-7033,0},{-5265,-7022,0},{-5258,-7017,0},{-5253,-6995,0}, {-5248,-6985,0},{-5248,-6982,0},{-5252,-6978,0},{-5253,-6967,0},{-5245,-6955,0}, {-5242,-6955,0},{-5238,-6950,0},{-5228,-6948,0},{-5225,-6943,0},{-5220,-6927,0}, {-5220,-6922,0},{-5222,-6912,0},{-5225,-6903,0},{-5228,-6893,0},{-5230,-6882,0}, {-5230,-6875,0},{-5233,-6858,0},{-5233,-6850,0},{-5233,-6847,0},{-5238,-6845,0}, {-5238,-6843,0},{-5233,-6838,0},{-5228,-6840,0},{-5217,-6852,0},{-5202,-6868,0}, {-5188,-6880,0},{-5173,-6888,0},{-5162,-6898,0},{-5163,-6905,0},{-5168,-6922,0}, {-5165,-6917,0},{-5160,-6925,0},{-5160,-6938,0},{-5160,-6952,0},{-5163,-6962,0}, {-5158,-6948,0},{-5155,-6937,0},{-5155,-6928,0},{-5162,-6913,0},{-5157,-6905,0}, {-5157,-6897,0},{-5150,-6897,0},{-5117,-6913,0},{-5105,-6915,0},{-5097,-6918,0}, {-5100,-6930,0},{-5108,-6942,0},{-5088,-6913,0},{-5075,-6915,0},{-5058,-6910,0}, {-5052,-6907,0},{-5038,-6893,0},{-5030,-6882,0},{-5020,-6842,0},{-5015,-6837,0}, {-5013,-6837,0},{-5007,-6852,0},{-5000,-6855,0},{-4998,-6858,0},{-5000,-6867,0}, {-4998,-6885,0},{-5000,-6892,0},{-5002,-6902,0},{-4998,-6897,0},{-4997,-6885,0}, {-4997,-6867,0},{-4995,-6860,0},{-4990,-6858,0},{-4982,-6865,0},{-4977,-6865,0}, {-4973,-6873,0},{-4977,-6865,0},{-4982,-6863,0},{-4992,-6853,0},{-4997,-6852,0}, {-5007,-6842,0},{-5012,-6833,0},{-5012,-6820,0},{-5007,-6807,0},{-4992,-6780,0}, {-4982,-6775,0},{-4958,-6772,0},{-4927,-6760,0},{-4925,-6763,0},{-4927,-6765,0}, {-4938,-6772,0},{-4940,-6782,0},{-4938,-6783,0},{-4937,-6780,0},{-4932,-6778,0}, {-4932,-6770,0},{-4928,-6773,0},{-4918,-6762,0},{-4912,-6763,0},{-4905,-6758,0}, {-4893,-6743,0},{-4888,-6740,0},{-4885,-6732,0},{-4882,-6723,0},{-4868,-6713,0}, {-4863,-6708,0},{-4858,-6693,0},{-4857,-6683,0},{-4845,-6667,0},{-4840,-6655,0}, {-4840,-6647,0},{-4835,-6645,0},{-4835,-6633,0},{-4828,-6633,0},{-4825,-6628,0}, {-4818,-6613,0},{-4815,-6612,0},{-4810,-6607,0},{-4810,-6590,0},{-4805,-6595,0}, {-4802,-6593,0},{-4797,-6597,0},{-4795,-6592,0},{-4797,-6583,0},{-4797,-6578,0}, {-4795,-6580,0},{-4793,-6578,0},{-4790,-6587,0},{-4782,-6588,0},{-4780,-6592,0}, {-4778,-6597,0},{-4780,-6603,0},{-4788,-6632,0},{-4787,-6638,0},{-4787,-6633,0}, {-4787,-6628,0},{-4783,-6618,0},{-4782,-6612,0},{-4777,-6602,0},{-4777,-6590,0}, {-4777,-6588,0},{-4755,-6575,0},{-4738,-6573,0},{-4733,-6573,0},{-4728,-6577,0}, {-4720,-6577,0},{-4715,-6585,0},{-4710,-6590,0},{-4707,-6600,0},{-4710,-6610,0}, {-4708,-6617,0},{-4710,-6622,0},{-4708,-6633,0},{-4707,-6637,0},{-4705,-6650,0}, {-4703,-6672,0},{-4698,-6682,0},{-4693,-6687,0},{-4683,-6700,0},{-4682,-6705,0}, {-4673,-6712,0},{-4670,-6722,0},{-4665,-6725,0},{-4662,-6735,0},{-4643,-6753,0}, {-4633,-6757,0},{-4617,-6762,0},{-4608,-6762,0},{-4600,-6758,0},{-4595,-6753,0}, {-4593,-6753,0},{-4582,-6742,0},{-4578,-6733,0},{-4573,-6735,0},{-4573,-6733,0}, {-4562,-6732,0},{-4553,-6718,0},{-4548,-6717,0},{-4528,-6700,0},{-4525,-6695,0}, {-4522,-6685,0},{-4520,-6668,0},{-4520,-6653,0},{-4518,-6652,0},{-4513,-6658,0}, {-4515,-6647,0},{-4512,-6653,0},{-4508,-6653,0},{-4503,-6635,0},{-4503,-6628,0}, {-4497,-6620,0},{-4497,-6602,0},{-4502,-6595,0},{-4502,-6587,0},{-4500,-6588,0}, {-4498,-6585,0},{-4502,-6582,0},{-4502,-6575,0},{-4505,-6568,0},{-4502,-6568,0}, {-4503,-6565,0},{-4502,-6560,0},{-4498,-6562,0},{-4498,-6558,0},{-4497,-6560,0}, {-4492,-6558,0},{-4492,-6555,0},{-4490,-6553,0},{-4483,-6572,0},{-4478,-6572,0}, {-4475,-6570,0},{-4470,-6568,0},{-4463,-6562,0},{-4458,-6552,0},{-4457,-6547,0}, {-4453,-6545,0},{-4455,-6538,0},{-4455,-6537,0},{-4452,-6538,0},{-4448,-6537,0}, {-4450,-6530,0},{-4448,-6528,0},{-4447,-6528,0},{-4447,-6533,0},{-4443,-6533,0}, {-4433,-6523,0},{-4432,-6523,0},{-4432,-6525,0},{-4428,-6527,0},{-4425,-6527,0}, {-4422,-6530,0},{-4418,-6532,0},{-4413,-6530,0},{-4410,-6522,0},{-4407,-6523,0}, {-4402,-6522,0},{-4400,-6523,0},{-4395,-6522,0},{-4397,-6525,0},{-4395,-6527,0}, {-4390,-6527,0},{-4382,-6532,0},{-4377,-6532,0},{-4375,-6533,0},{-4365,-6532,0}, {-4358,-6527,0},{-4353,-6520,0},{-4345,-6513,0},{-4340,-6505,0},{-4332,-6503,0}, {-4323,-6492,0},{-4315,-6478,0},{-4308,-6448,0},{-4300,-6430,0},{-4295,-6432,0}, {-4298,-6442,0},{-4297,-6447,0},{-4293,-6450,0},{-4293,-6460,0},{-4283,-6480,0}, {-4280,-6500,0},{-4275,-6502,0},{-4272,-6498,0},{-4267,-6497,0},{-4265,-6492,0}, {-4263,-6482,0},{-4255,-6473,0},{-4252,-6462,0},{-4250,-6445,0},{-4255,-6433,0}, {-4260,-6430,0},{-4260,-6425,0},{-4262,-6423,0},{-4263,-6420,0},{-4267,-6422,0}, {-4278,-6425,0},{-4282,-6420,0},{-4287,-6413,0},{-4288,-6408,0},{-4287,-6402,0}, {-4287,-6393,0},{-4282,-6370,0},{-4277,-6363,0},{-4272,-6363,0},{-4262,-6358,0}, {-4232,-6358,0},{-4208,-6375,0},{-4210,-6387,0},{-4215,-6398,0},{-4222,-6420,0}, {-4223,-6433,0},{-4227,-6430,0},{-4227,-6412,0},{-4228,-6407,0},{-4232,-6403,0}, {-4235,-6407,0},{-4237,-6405,0},{-4243,-6412,0},{-4243,-6425,0},{-4242,-6430,0}, {-4243,-6437,0},{-4245,-6445,0},{-4243,-6448,0},{-4243,-6458,0},{-4243,-6460,0}, {-4232,-6453,0},{-4227,-6447,0},{-4225,-6453,0},{-4225,-6460,0},{-4223,-6467,0}, {-4223,-6473,0},{-4220,-6480,0},{-4220,-6487,0},{-4210,-6502,0},{-4197,-6508,0}, {-4178,-6498,0},{-4168,-6503,0},{-4152,-6498,0},{-4143,-6507,0},{-4118,-6515,0}, {-4100,-6518,0},{-4085,-6513,0},{-4078,-6502,0},{-4077,-6490,0},{-4075,-6493,0}, {-4073,-6493,0},{-4073,-6498,0},{-4072,-6493,0},{-4073,-6478,0},{-4077,-6480,0}, {-4078,-6473,0},{-4080,-6475,0},{-4082,-6483,0},{-4080,-6485,0},{-4080,-6490,0}, {-4082,-6492,0},{-4083,-6488,0},{-4083,-6478,0},{-4083,-6468,0},{-4092,-6442,0}, {-4102,-6415,0},{-4100,-6405,0},{-4105,-6405,0},{-4107,-6397,0},{-4113,-6387,0}, {-4117,-6380,0},{-4117,-6340,0},{-4115,-6332,0},{-4117,-6323,0},{-4115,-6303,0}, {-4108,-6285,0},{-4105,-6280,0},{-4105,-6272,0},{-4103,-6272,0},{-4100,-6262,0}, {-4097,-6257,0},{-4090,-6240,0},{-4087,-6232,0},{-4082,-6230,0},{-4073,-6225,0}, {-4067,-6223,0},{-4063,-6218,0},{-4065,-6225,0},{-4068,-6233,0},{-4067,-6233,0}, {-4065,-6232,0},{-4063,-6233,0},{-4060,-6235,0},{-4060,-6233,0},{-4063,-6230,0}, {-4063,-6225,0},{-4057,-6227,0},{-4055,-6230,0},{-4050,-6233,0},{-4047,-6242,0}, {-4030,-6248,0},{-4023,-6243,0},{-4022,-6237,0},{-4018,-6235,0},{-4012,-6233,0}, {-4005,-6237,0},{-3990,-6230,0},{-3987,-6232,0},{-3985,-6228,0},{-3982,-6230,0}, {-3985,-6227,0},{-3987,-6218,0},{-3983,-6212,0},{-3962,-6208,0},{-3947,-6205,0}, {-3943,-6215,0},{-3935,-6223,0},{-3935,-6227,0},{-3932,-6228,0},{-3932,-6218,0}, {-3935,-6215,0},{-3942,-6207,0},{-3938,-6202,0},{-3932,-6208,0},{-3928,-6217,0}, {-3927,-6233,0},{-3925,-6230,0},{-3927,-6227,0},{-3920,-6233,0},{-3917,-6235,0}, {-3912,-6233,0},{-3910,-6235,0},{-3905,-6232,0},{-3902,-6233,0},{-3900,-6228,0}, {-3898,-6228,0},{-3897,-6227,0},{-3895,-6228,0},{-3897,-6232,0},{-3895,-6233,0}, {-3892,-6233,0},{-3888,-6235,0},{-3890,-6237,0},{-3883,-6238,0},{-3882,-6240,0}, {-3880,-6238,0},{-3882,-6217,0},{-3885,-6212,0},{-3892,-6208,0},{-3895,-6202,0}, {-3898,-6182,0},{-3897,-6173,0},{-3900,-6165,0},{-3902,-6155,0},{-3898,-6138,0}, {-3900,-6117,0},{-3900,-6108,0},{-3897,-6102,0},{-3897,-6083,0},{-3887,-6010,0}, {-3883,-5978,0},{-3878,-5962,0},{-3870,-5903,0},{-3858,-5872,0},{-3857,-5860,0}, {-3852,-5843,0},{-3848,-5832,0},{-3843,-5815,0},{-3832,-5793,0},{-3830,-5785,0}, {-3827,-5782,0},{-3820,-5767,0},{-3813,-5758,0},{-3808,-5753,0},{-3803,-5753,0}, {-3798,-5753,0},{-3783,-5748,0},{-3765,-5732,0},{-3757,-5718,0},{-3747,-5710,0}, {-3740,-5703,0},{-3733,-5702,0},{-3702,-5677,0},{-3690,-5667,0},{-3658,-5667,0}, {-3652,-5670,0},{-3642,-5670,0},{-3632,-5673,0},{-3630,-5677,0},{-3632,-5678,0}, {-3635,-5677,0},{-3635,-5687,0},{-3638,-5693,0},{-3635,-5693,0},{-3632,-5705,0}, {-3618,-5723,0},{-3613,-5727,0},{-3608,-5732,0},{-3602,-5733,0},{-3597,-5738,0}, {-3583,-5738,0},{-3578,-5738,0},{-3565,-5728,0},{-3547,-5713,0},{-3542,-5712,0}, {-3532,-5718,0},{-3515,-5733,0},{-3505,-5750,0},{-3500,-5758,0},{-3487,-5782,0}, {-3483,-5793,0},{-3480,-5800,0},{-3475,-5818,0},{-3467,-5832,0},{-3458,-5837,0}, {-3457,-5843,0},{-3455,-5847,0},{-3448,-5848,0},{-3445,-5852,0},{-3435,-5848,0}, {-3428,-5857,0},{-3427,-5853,0},{-3427,-5843,0},{-3418,-5838,0},{-3415,-5838,0}, {-3405,-5838,0},{-3402,-5845,0},{-3397,-5843,0},{-3395,-5845,0},{-3385,-5847,0}, {-3373,-5855,0},{-3352,-5853,0},{-3340,-5850,0},{-3330,-5842,0},{-3325,-5843,0}, {-3313,-5842,0},{-3310,-5843,0},{-3308,-5840,0},{-3310,-5820,0},{-3305,-5815,0}, {-3298,-5815,0},{-3290,-5813,0},{-3282,-5818,0},{-3257,-5822,0},{-3250,-5822,0}, {-3245,-5820,0},{-3260,-5815,0},{-3280,-5813,0},{-3287,-5807,0},{-3293,-5805,0}, {-3303,-5808,0},{-3310,-5815,0},{-3312,-5822,0},{-3312,-5833,0},{-3313,-5837,0}, {-3328,-5835,0},{-3333,-5837,0},{-3335,-5840,0},{-3340,-5842,0},{-3345,-5838,0}, {-3355,-5843,0},{-3363,-5842,0},{-3368,-5843,0},{-3383,-5843,0},{-3393,-5840,0}, {-3400,-5830,0},{-3412,-5822,0},{-3417,-5820,0},{-3418,-5808,0},{-3423,-5807,0}, {-3427,-5802,0},{-3437,-5790,0},{-3450,-5783,0},{-3443,-5757,0},{-3447,-5752,0}, {-3445,-5745,0},{-3445,-5742,0},{-3445,-5718,0},{-3447,-5710,0},{-3450,-5708,0}, {-3455,-5703,0},{-3463,-5692,0},{-3467,-5688,0},{-3472,-5675,0},{-3473,-5662,0}, {-3477,-5657,0},{-3477,-5645,0},{-3480,-5637,0},{-3485,-5643,0},{-3492,-5632,0}, {-3492,-5627,0},{-3488,-5622,0},{-3490,-5620,0},{-3492,-5620,0},{-3493,-5618,0}, {-3492,-5610,0},{-3488,-5602,0},{-3483,-5592,0},{-3478,-5578,0},{-3477,-5570,0}, {-3478,-5560,0},{-3480,-5553,0},{-3482,-5537,0},{-3485,-5530,0},{-3490,-5528,0}, {-3490,-5525,0},{-3488,-5507,0},{-3490,-5503,0},{-3492,-5503,0},{-3493,-5495,0}, {-3498,-5495,0},{-3495,-5490,0},{-3492,-5480,0},{-3487,-5468,0},{-3485,-5463,0}, {-3482,-5458,0},{-3470,-5428,0},{-3468,-5428,0},{-3465,-5430,0},{-3465,-5435,0}, {-3460,-5428,0},{-3457,-5432,0},{-3458,-5425,0},{-3462,-5425,0},{-3467,-5423,0}, {-3468,-5425,0},{-3467,-5415,0},{-3463,-5415,0},{-3460,-5410,0},{-3450,-5398,0}, {-3443,-5387,0},{-3438,-5377,0},{-3433,-5378,0},{-3425,-5375,0},{-3418,-5370,0}, {-3407,-5353,0},{-3385,-5348,0},{-3378,-5342,0},{-3375,-5337,0},{-3373,-5337,128}, {-3365,-5323,0},{-3353,-5310,0},{-3333,-5283,0},{-3325,-5273,0},{-3313,-5263,0}, {-3288,-5250,0},{-3250,-5237,0},{-3225,-5223,0},{-3217,-5208,0},{-3212,-5210,0}, {-3207,-5208,0},{-3213,-5215,0},{-3212,-5217,0},{-3207,-5213,0},{-3205,-5208,0}, {-3203,-5208,0},{-3203,-5212,0},{-3207,-5215,0},{-3210,-5222,0},{-3208,-5223,0}, {-3205,-5220,0},{-3205,-5225,0},{-3197,-5223,0},{-3193,-5213,0},{-3188,-5220,0}, {-3188,-5223,0},{-3185,-5225,0},{-3183,-5222,0},{-3182,-5222,0},{-3180,-5220,0}, {-3177,-5222,0},{-3173,-5222,0},{-3168,-5208,0},{-3163,-5203,0},{-3160,-5205,0}, {-3162,-5207,0},{-3160,-5210,0},{-3157,-5208,0},{-3157,-5203,0},{-3163,-5202,0}, {-3163,-5200,0},{-3158,-5198,0},{-3155,-5200,0},{-3142,-5200,0},{-3138,-5198,0}, {-3137,-5193,0},{-3133,-5197,0},{-3132,-5193,0},{-3132,-5192,0},{-3132,-5187,0}, {-3127,-5180,0},{-3127,-5163,0},{-3122,-5165,0},{-3113,-5162,0},{-3108,-5145,0}, {-3105,-5148,0},{-3095,-5148,0},{-3088,-5145,0},{-3088,-5135,0},{-3075,-5138,0}, {-3067,-5138,0},{-3065,-5137,0},{-3063,-5133,0},{-3065,-5132,0},{-3077,-5128,0}, {-3078,-5132,0},{-3080,-5128,0},{-3080,-5127,0},{-3075,-5127,0},{-3062,-5130,0}, {-3050,-5127,0},{-3040,-5120,0},{-3040,-5118,0},{-3040,-5115,0},{-3042,-5113,0}, {-3040,-5112,0},{-3037,-5108,0},{-3035,-5110,0},{-3037,-5117,0},{-3037,-5118,0}, {-3030,-5120,0},{-3032,-5123,0},{-3030,-5125,0},{-3030,-5128,0},{-3028,-5128,0}, {-3025,-5127,0},{-3023,-5128,0},{-3022,-5133,0},{-3018,-5130,0},{-3015,-5132,0}, {-3010,-5128,0},{-3008,-5130,0},{-3002,-5128,0},{-3002,-5127,0},{-3005,-5127,0}, {-3005,-5123,0},{-3010,-5125,0},{-3015,-5122,0},{-3018,-5123,0},{-3020,-5118,0}, {-3023,-5117,0},{-3023,-5115,0},{-3027,-5113,0},{-3023,-5107,0},{-3027,-5105,0}, {-3027,-5102,0},{-3030,-5102,0},{-3035,-5105,0},{-3038,-5103,0},{-3040,-5098,0}, {-3043,-5093,0},{-3043,-5092,0},{-3040,-5093,0},{-3032,-5092,0},{-3033,-5080,0}, {-3032,-5078,0},{-3028,-5077,0},{-3030,-5067,0},{-3025,-5065,0},{-3023,-5068,0}, {-3022,-5068,0},{-3022,-5067,0},{-3018,-5063,0},{-3018,-5062,0},{-3027,-5053,0}, {-3037,-5055,0},{-3040,-5057,0},{-3045,-5057,0},{-3048,-5060,0},{-3045,-5063,0}, {-3043,-5065,0},{-3040,-5063,0},{-3035,-5068,0},{-3038,-5073,0},{-3047,-5068,0}, {-3055,-5068,0},{-3060,-5067,0},{-3073,-5070,0},{-3078,-5073,0},{-3090,-5090,0}, {-3090,-5098,0},{-3093,-5095,0},{-3105,-5098,0},{-3107,-5098,0},{-3108,-5093,0}, {-3110,-5097,0},{-3113,-5098,0},{-3113,-5100,0},{-3107,-5102,0},{-3108,-5108,0}, {-3107,-5113,0},{-3108,-5117,0},{-3115,-5117,0},{-3128,-5115,0},{-3140,-5118,0}, {-3147,-5125,0},{-3152,-5132,0},{-3153,-5135,0},{-3152,-5142,0},{-3150,-5143,0}, {-3157,-5147,0},{-3162,-5145,0},{-3158,-5148,0},{-3162,-5152,0},{-3170,-5158,0}, {-3180,-5170,0},{-3180,-5183,0},{-3183,-5182,0},{-3187,-5185,0},{-3188,-5190,0}, {-3187,-5193,0},{-3183,-5197,0},{-3182,-5203,0},{-3183,-5208,0},{-3185,-5208,0}, {-3195,-5202,0},{-3198,-5205,0},{-3203,-5203,0},{-3213,-5208,0},{-3217,-5207,0}, {-3213,-5205,0},{-3208,-5198,0},{-3195,-5188,0},{-3172,-5147,0},{-3142,-5107,0}, {-3123,-5088,0},{-3100,-5068,0},{-3047,-5032,0},{-2983,-5005,0},{-2977,-5000,0}, {-2957,-4988,0},{-2937,-4975,0},{-2933,-4970,0},{-2912,-4955,0},{-2897,-4938,0}, {-2883,-4922,0},{-2867,-4897,0},{-2862,-4882,0},{-2858,-4880,0},{-2857,-4877,0}, {-2853,-4875,0},{-2852,-4875,0},{-2853,-4878,0},{-2852,-4880,0},{-2848,-4885,0}, {-2843,-4883,0},{-2842,-4887,0},{-2840,-4887,0},{-2835,-4887,0},{-2832,-4887,0}, {-2838,-4880,0},{-2843,-4882,0},{-2850,-4878,0},{-2848,-4875,0},{-2838,-4873,0}, {-2835,-4868,0},{-2828,-4868,0},{-2823,-4863,0},{-2823,-4865,0},{-2818,-4865,0}, {-2808,-4863,0},{-2803,-4860,0},{-2798,-4862,0},{-2787,-4857,0},{-2785,-4858,0}, {-2783,-4857,0},{-2777,-4863,0},{-2775,-4860,0},{-2772,-4863,0},{-2765,-4865,0}, {-2760,-4860,0},{-2762,-4858,0},{-2758,-4857,0},{-2757,-4860,0},{-2747,-4865,0}, {-2743,-4862,0},{-2742,-4858,0},{-2737,-4857,0},{-2738,-4855,0},{-2732,-4857,0}, {-2732,-4860,0},{-2725,-4862,0},{-2718,-4853,0},{-2720,-4852,0},{-2722,-4853,0}, {-2722,-4848,0},{-2718,-4850,0},{-2717,-4848,0},{-2712,-4852,0},{-2715,-4853,0}, {-2717,-4857,0},{-2712,-4862,0},{-2710,-4862,0},{-2708,-4858,0},{-2702,-4857,0}, {-2700,-4862,0},{-2692,-4862,0},{-2688,-4863,0},{-2683,-4862,0},{-2682,-4860,0}, {-2678,-4858,0},{-2677,-4858,0},{-2677,-4863,0},{-2673,-4867,0},{-2670,-4868,0}, {-2658,-4868,0},{-2643,-4860,0},{-2642,-4863,0},{-2638,-4865,0},{-2637,-4867,0}, {-2635,-4872,0},{-2632,-4875,0},{-2632,-4880,0},{-2630,-4878,0},{-2628,-4875,0}, {-2628,-4878,0},{-2625,-4875,0},{-2620,-4875,0},{-2613,-4880,0},{-2612,-4878,0}, {-2607,-4880,0},{-2607,-4878,0},{-2610,-4877,0},{-2622,-4873,0},{-2625,-4868,0}, {-2622,-4865,0},{-2620,-4863,0},{-2618,-4860,0},{-2617,-4858,0},{-2607,-4860,0}, {-2605,-4862,0},{-2592,-4857,0},{-2587,-4857,0},{-2588,-4863,0},{-2587,-4872,0}, {-2588,-4877,0},{-2587,-4877,0},{-2585,-4873,0},{-2585,-4868,0},{-2583,-4865,0}, {-2587,-4858,0},{-2583,-4860,0},{-2582,-4862,0},{-2580,-4860,0},{-2580,-4858,0}, {-2585,-4857,0},{-2585,-4853,0},{-2582,-4852,0},{-2578,-4852,0},{-2565,-4845,0}, {-2558,-4837,0},{-2555,-4838,0},{-2557,-4842,0},{-2555,-4845,0},{-2558,-4847,0}, {-2558,-4850,0},{-2555,-4847,0},{-2553,-4850,0},{-2552,-4852,0},{-2553,-4860,0}, {-2555,-4860,0},{-2553,-4862,0},{-2552,-4865,0},{-2552,-4862,0},{-2550,-4862,0}, {-2550,-4870,0},{-2547,-4873,0},{-2547,-4868,0},{-2542,-4872,0},{-2535,-4875,0}, {-2545,-4863,0},{-2547,-4850,0},{-2548,-4848,0},{-2547,-4845,0},{-2545,-4845,0}, {-2543,-4842,0},{-2538,-4843,0},{-2538,-4845,0},{-2537,-4843,0},{-2535,-4843,0}, {-2533,-4850,0},{-2532,-4843,0},{-2525,-4845,0},{-2525,-4843,0},{-2530,-4840,0}, {-2530,-4837,0},{-2530,-4835,0},{-2528,-4837,0},{-2525,-4835,0},{-2523,-4833,0}, {-2525,-4832,0},{-2527,-4833,0},{-2533,-4833,0},{-2533,-4832,0},{-2535,-4833,0}, {-2537,-4832,0},{-2533,-4828,0},{-2530,-4828,0},{-2532,-4825,0},{-2530,-4822,0}, {-2528,-4815,0},{-2527,-4813,0},{-2530,-4813,0},{-2530,-4818,0},{-2533,-4823,0}, {-2537,-4822,0},{-2543,-4825,0},{-2545,-4825,0},{-2547,-4823,0},{-2545,-4820,0}, {-2538,-4817,0},{-2535,-4812,0},{-2523,-4802,0},{-2522,-4798,0},{-2520,-4795,0}, {-2510,-4790,0},{-2505,-4790,0},{-2508,-4797,0},{-2507,-4805,0},{-2505,-4805,0}, {-2503,-4802,0},{-2502,-4803,0},{-2502,-4797,0},{-2503,-4800,0},{-2505,-4800,0}, {-2507,-4795,0},{-2502,-4792,0},{-2497,-4788,0},{-2493,-4785,0},{-2490,-4783,0}, {-2488,-4780,0},{-2487,-4780,0},{-2480,-4768,0},{-2475,-4762,0},{-2470,-4753,0}, {-2468,-4742,0},{-2465,-4740,0},{-2457,-4722,0},{-2445,-4707,0},{-2442,-4705,0}, {-2443,-4705,0},{-2442,-4700,0},{-2438,-4700,0},{-2432,-4698,0},{-2425,-4690,0}, {-2412,-4663,0},{-2403,-4648,0},{-2402,-4640,0},{-2403,-4638,0},{-2398,-4637,0}, {-2398,-4642,0},{-2397,-4642,0},{-2393,-4645,0},{-2393,-4640,0},{-2392,-4642,0}, {-2392,-4638,0},{-2387,-4638,0},{-2388,-4637,0},{-2390,-4637,0},{-2392,-4630,0}, {-2398,-4627,0},{-2402,-4632,0},{-2403,-4630,0},{-2403,-4627,0},{-2398,-4622,0}, {-2400,-4617,0},{-2393,-4617,0},{-2387,-4612,0},{-2387,-4613,0},{-2392,-4620,0}, {-2392,-4623,0},{-2388,-4617,0},{-2385,-4615,0},{-2382,-4605,0},{-2383,-4603,0}, {-2378,-4598,0},{-2377,-4588,0},{-2378,-4567,0},{-2378,-4563,0},{-2380,-4562,0}, {-2380,-4555,0},{-2385,-4550,0},{-2383,-4547,0},{-2383,-4542,0},{-2378,-4538,0}, {-2373,-4540,0},{-2370,-4543,0},{-2365,-4543,0},{-2362,-4542,0},{-2362,-4535,0}, {-2357,-4530,0},{-2360,-4525,0},{-2358,-4520,0},{-2353,-4522,0},{-2353,-4515,0}, {-2348,-4515,0},{-2352,-4510,0},{-2348,-4508,0},{-2352,-4507,0},{-2347,-4505,0}, {-2345,-4500,0},{-2343,-4505,0},{-2342,-4505,0},{-2340,-4498,0},{-2333,-4490,0}, {-2335,-4488,0},{-2337,-4490,0},{-2337,-4485,0},{-2338,-4483,0},{-2337,-4480,0}, {-2337,-4473,0},{-2335,-4472,0},{-2333,-4465,0},{-2335,-4458,0},{-2332,-4455,0}, {-2330,-4452,0},{-2330,-4450,0},{-2327,-4453,0},{-2327,-4457,0},{-2325,-4457,0}, {-2323,-4455,0},{-2323,-4457,0},{-2325,-4462,0},{-2330,-4465,0},{-2323,-4463,0}, {-2323,-4468,0},{-2320,-4462,0},{-2318,-4465,0},{-2320,-4467,0},{-2322,-4470,0}, {-2320,-4472,0},{-2313,-4470,0},{-2312,-4470,0},{-2307,-4468,0},{-2305,-4467,0}, {-2305,-4460,0},{-2307,-4460,0},{-2305,-4458,0},{-2300,-4447,0},{-2302,-4443,0}, {-2293,-4442,0},{-2297,-4437,0},{-2295,-4435,0},{-2292,-4435,0},{-2292,-4432,0}, {-2293,-4433,0},{-2297,-4430,0},{-2298,-4432,0},{-2298,-4435,0},{-2302,-4435,0}, {-2300,-4430,0},{-2302,-4430,0},{-2302,-4428,0},{-2300,-4427,0},{-2302,-4423,0}, {-2305,-4423,0},{-2305,-4418,0},{-2303,-4417,0},{-2303,-4413,0},{-2302,-4410,0}, {-2293,-4405,0},{-2295,-4403,0},{-2298,-4405,0},{-2298,-4403,0},{-2293,-4398,0}, {-2292,-4392,0},{-2290,-4387,0},{-2292,-4387,0},{-2292,-4380,0},{-2293,-4380,0}, {-2293,-4378,0},{-2293,-4375,0},{-2298,-4370,0},{-2298,-4367,0},{-2302,-4360,0}, {-2305,-4380,0},{-2303,-4390,0},{-2305,-4390,0},{-2303,-4397,0},{-2307,-4400,0}, {-2310,-4400,0},{-2307,-4392,0},{-2305,-4363,0},{-2305,-4358,0},{-2307,-4357,0}, {-2305,-4352,0},{-2302,-4342,0},{-2300,-4322,0},{-2297,-4315,0},{-2293,-4315,0}, {-2293,-4317,0},{-2288,-4317,0},{-2287,-4323,0},{-2285,-4320,0},{-2283,-4322,0}, {-2285,-4323,0},{-2280,-4327,0},{-2275,-4327,0},{-2273,-4323,0},{-2273,-4322,0}, {-2270,-4315,0},{-2270,-4310,0},{-2267,-4308,0},{-2268,-4302,0},{-2272,-4302,0}, {-2275,-4303,0},{-2277,-4307,0},{-2278,-4307,0},{-2278,-4303,0},{-2282,-4308,0}, {-2288,-4313,0},{-2290,-4310,0},{-2292,-4308,0},{-2293,-4313,0},{-2295,-4308,0}, {-2295,-4305,0},{-2298,-4303,0},{-2297,-4268,0},{-2295,-4267,0},{-2293,-4257,0}, {-2295,-4205,0},{-2298,-4202,0},{-2297,-4202,0},{-2295,-4200,0},{-2293,-4200,0}, {-2295,-4203,0},{-2292,-4203,0},{-2288,-4202,0},{-2287,-4200,0},{-2283,-4198,0}, {-2282,-4193,0},{-2278,-4192,0},{-2277,-4187,0},{-2273,-4187,0},{-2275,-4192,0}, {-2277,-4192,0},{-2277,-4195,0},{-2273,-4198,0},{-2268,-4200,0},{-2257,-4198,0}, {-2253,-4197,0},{-2253,-4193,0},{-2242,-4182,0},{-2238,-4178,0},{-2235,-4177,0}, {-2225,-4160,0},{-2213,-4120,0},{-2202,-4100,0},{-2198,-4097,0},{-2195,-4097,0}, {-2177,-4102,0},{-2162,-4102,0},{-2157,-4105,0},{-2152,-4107,0},{-2148,-4105,0}, {-2135,-4097,0},{-2123,-4097,0},{-2110,-4085,0},{-2102,-4082,0},{-2093,-4082,0}, {-2085,-4077,0},{-2082,-4065,0},{-2083,-4062,0},{-2075,-4057,0},{-2073,-4053,0}, {-2063,-4047,0},{-2062,-4045,0},{-2063,-4043,0},{-2060,-4040,0},{-2038,-4030,0}, {-2032,-4027,0},{-2032,-4030,0},{-2033,-4033,0},{-2032,-4033,0},{-2032,-4037,0}, {-2027,-4038,0},{-2025,-4035,0},{-2023,-4037,0},{-2023,-4030,0},{-2027,-4030,0}, {-2028,-4028,0},{-2027,-4027,0},{-2028,-4023,0},{-2023,-4022,0},{-2012,-4017,0}, {-2005,-4018,0},{-2003,-4015,0},{-1997,-4013,0},{-1995,-4015,0},{-1992,-4008,0}, {-1975,-4002,0},{-1968,-3992,0},{-1965,-3982,0},{-1963,-3980,0},{-1940,-3970,0}, {-1930,-3970,0},{-1892,-3973,0},{-1870,-3975,0},{-1860,-3972,0},{-1852,-3973,0}, {-1823,-3965,0},{-1818,-3962,0},{-1795,-3945,0},{-1792,-3942,0},{-1787,-3928,0}, {-1783,-3927,0},{-1768,-3913,0},{-1762,-3917,0},{-1758,-3918,0},{-1745,-3918,0}, {-1738,-3922,0},{-1728,-3922,0},{-1715,-3920,0},{-1710,-3917,0},{-1700,-3917,0}, {-1690,-3912,0},{-1685,-3913,0},{-1677,-3913,0},{-1668,-3910,0},{-1642,-3905,0}, {-1637,-3900,0},{-1628,-3902,0},{-1615,-3895,0},{-1612,-3895,0},{-1598,-3892,0}, {-1585,-3887,0},{-1570,-3893,0},{-1555,-3895,0},{-1553,-3897,0},{-1552,-3895,0}, {-1518,-3900,0},{-1498,-3900,0},{-1490,-3903,0},{-1482,-3902,0},{-1480,-3905,0}, {-1478,-3903,0},{-1477,-3905,0},{-1465,-3907,0},{-1442,-3900,0},{-1435,-3900,0}, {-1430,-3898,0},{-1425,-3900,0},{-1420,-3898,0},{-1417,-3897,0},{-1413,-3897,0}, {-1403,-3892,0},{-1392,-3892,0},{-1388,-3893,0},{-1392,-3898,0},{-1393,-3898,0}, {-1393,-3897,0},{-1395,-3898,0},{-1397,-3895,0},{-1398,-3897,0},{-1400,-3897,0}, {-1402,-3897,0},{-1405,-3895,0},{-1407,-3895,0},{-1412,-3907,0},{-1415,-3905,0}, {-1417,-3903,0},{-1418,-3903,0},{-1415,-3908,0},{-1410,-3907,0},{-1408,-3907,0}, {-1407,-3905,0},{-1408,-3902,0},{-1407,-3898,0},{-1402,-3900,0},{-1398,-3898,0}, {-1393,-3905,0},{-1395,-3907,0},{-1387,-3907,0},{-1390,-3902,0},{-1385,-3898,0}, {-1383,-3903,0},{-1378,-3907,0},{-1377,-3912,0},{-1373,-3912,0},{-1375,-3913,0}, {-1375,-3915,0},{-1372,-3913,0},{-1372,-3910,0},{-1375,-3908,0},{-1375,-3907,0}, {-1383,-3900,0},{-1383,-3898,0},{-1380,-3900,0},{-1372,-3898,128},{-1370,-3897,0}, {-1367,-3897,0},{-1360,-3900,0},{-1357,-3900,0},{-1353,-3900,0},{-1352,-3902,0}, {-1352,-3900,0},{-1348,-3903,0},{-1348,-3907,0},{-1353,-3908,0},{-1357,-3907,0}, {-1360,-3908,0},{-1360,-3912,0},{-1358,-3908,0},{-1353,-3908,0},{-1347,-3907,0}, {-1333,-3905,0},{-1337,-3903,0},{-1337,-3902,0},{-1338,-3895,0},{-1333,-3897,0}, {-1330,-3897,0},{-1323,-3893,0},{-1320,-3887,0},{-1317,-3885,0},{-1315,-3882,0}, {-1312,-3890,0},{-1308,-3890,0},{-1302,-3878,0},{-1298,-3877,0},{-1290,-3875,0}, {-1287,-3872,0},{-1287,-3877,0},{-1287,-3878,0},{-1285,-3880,0},{-1287,-3883,0}, {-1285,-3885,0},{-1280,-3887,0},{-1278,-3890,0},{-1273,-3892,0},{-1273,-3890,0}, {-1270,-3890,0},{-1268,-3887,0},{-1265,-3887,0},{-1268,-3885,0},{-1270,-3888,0}, {-1273,-3888,0},{-1283,-3885,0},{-1285,-3882,0},{-1282,-3878,0},{-1273,-3873,0}, {-1272,-3875,0},{-1268,-3872,0},{-1262,-3872,0},{-1258,-3870,0},{-1262,-3870,0}, {-1263,-3865,0},{-1268,-3863,0},{-1272,-3863,0},{-1272,-3862,0},{-1272,-3857,0}, {-1273,-3853,0},{-1272,-3850,0},{-1273,-3850,0},{-1280,-3850,0},{-1285,-3848,0}, {-1290,-3848,0},{-1293,-3848,0},{-1292,-3848,0},{-1293,-3852,0},{-1297,-3852,0}, {-1302,-3853,0},{-1302,-3848,0},{-1293,-3832,0},{-1273,-3815,0},{-1258,-3800,0}, {-1243,-3793,0},{-1238,-3788,0},{-1213,-3770,0},{-1198,-3762,0},{-1160,-3745,0}, {-1147,-3737,0},{-1147,-3738,0},{-1150,-3740,0},{-1152,-3748,0},{-1148,-3742,0}, {-1145,-3738,0},{-1140,-3745,0},{-1137,-3747,0},{-1138,-3745,0},{-1137,-3743,0}, {-1140,-3743,0},{-1142,-3742,0},{-1137,-3740,0},{-1133,-3740,0},{-1130,-3737,0}, {-1128,-3733,0},{-1125,-3735,0},{-1127,-3732,0},{-1125,-3732,0},{-1123,-3733,0}, {-1118,-3735,0},{-1118,-3733,0},{-1125,-3730,0},{-1120,-3730,0},{-1125,-3727,0}, {-1125,-3730,0},{-1130,-3733,0},{-1132,-3737,0},{-1135,-3737,0},{-1140,-3740,0}, {-1140,-3738,0},{-1142,-3738,0},{-1143,-3737,0},{-1143,-3733,0},{-1128,-3727,0}, {-1122,-3720,0},{-1120,-3715,0},{-1118,-3717,0},{-1112,-3717,0},{-1110,-3722,0}, {-1108,-3722,0},{-1110,-3720,0},{-1107,-3723,0},{-1107,-3727,0},{-1102,-3728,0}, {-1103,-3720,0},{-1108,-3718,0},{-1110,-3713,0},{-1112,-3715,0},{-1113,-3713,0}, {-1102,-3707,0},{-1097,-3703,0},{-1095,-3705,0},{-1092,-3700,0},{-1078,-3692,0}, {-1073,-3685,0},{-1055,-3657,0},{-1052,-3642,0},{-1048,-3638,0},{-1043,-3635,0}, {-1035,-3628,0},{-1028,-3628,0},{-1022,-3622,0},{-1015,-3613,0},{-1010,-3608,0}, {-1007,-3603,0},{-993,-3595,0},{-988,-3590,0},{-977,-3583,0},{-973,-3580,0}, {-975,-3585,0},{-977,-3587,0},{-973,-3588,0},{-967,-3590,0},{-963,-3595,0}, {-960,-3595,0},{-962,-3590,0},{-965,-3590,0},{-967,-3588,0},{-973,-3587,0}, {-968,-3578,0},{-960,-3580,0},{-960,-3578,0},{-965,-3573,0},{-970,-3578,0}, {-967,-3573,0},{-967,-3570,0},{-963,-3568,0},{-960,-3567,0},{-958,-3565,0}, {-953,-3558,0},{-935,-3547,0},{-933,-3543,0},{-932,-3540,0},{-918,-3530,0}, {-903,-3523,0},{-898,-3518,0},{-890,-3513,0},{-883,-3513,0},{-875,-3508,0}, {-872,-3508,0},{-863,-3507,0},{-855,-3500,0},{-850,-3500,0},{-843,-3497,0}, {-837,-3495,0},{-835,-3493,0},{-827,-3493,0},{-810,-3488,0},{-808,-3490,0}, {-805,-3490,0},{-803,-3493,0},{-805,-3490,0},{-807,-3488,0},{-807,-3485,0}, {-803,-3485,0},{-802,-3483,0},{-793,-3482,0},{-785,-3483,0},{-788,-3485,0}, {-783,-3483,0},{-782,-3490,0},{-773,-3488,0},{-773,-3485,0},{-773,-3490,0}, {-770,-3485,0},{-765,-3488,0},{-762,-3487,0},{-768,-3485,0},{-765,-3483,0}, {-768,-3483,0},{-763,-3480,0},{-758,-3482,0},{-758,-3485,0},{-755,-3483,0}, {-757,-3493,0},{-753,-3488,0},{-755,-3482,0},{-753,-3482,0},{-735,-3480,0}, {-723,-3480,0},{-717,-3478,0},{-715,-3482,0},{-710,-3483,0},{-707,-3483,0}, {-702,-3482,0},{-698,-3483,0},{-708,-3485,0},{-713,-3492,0},{-712,-3490,0}, {-708,-3492,0},{-710,-3490,0},{-708,-3490,0},{-707,-3490,0},{-703,-3487,0}, {-700,-3488,0},{-698,-3485,0},{-693,-3487,0},{-692,-3485,0},{-688,-3492,0}, {-680,-3493,0},{-678,-3495,0},{-670,-3493,0},{-663,-3497,0},{-653,-3497,0}, {-640,-3498,0},{-638,-3498,0},{-637,-3502,0},{-623,-3503,0},{-623,-3507,0}, {-620,-3508,0},{-623,-3513,0},{-622,-3515,0},{-618,-3512,0},{-617,-3512,0}, {-618,-3510,0},{-605,-3512,0},{-598,-3510,0},{-593,-3515,0},{-588,-3515,0}, {-587,-3517,0},{-583,-3517,0},{-580,-3517,0},{-575,-3520,0},{-570,-3520,0}, {-568,-3520,0},{-558,-3523,0},{-548,-3527,0},{-547,-3528,0},{-538,-3532,0}, {-535,-3535,0},{-528,-3537,0},{-522,-3542,0},{-520,-3545,0},{-517,-3548,0}, {-512,-3560,0},{-507,-3588,0},{-505,-3597,0},{-510,-3613,0},{-510,-3628,0}, {-510,-3625,0},{-512,-3628,0},{-508,-3642,0},{-508,-3658,0},{-512,-3653,0}, {-513,-3655,0},{-510,-3662,0},{-510,-3668,0},{-508,-3670,0},{-507,-3677,0}, {-495,-3688,0},{-493,-3695,0},{-495,-3703,0},{-492,-3708,0},{-493,-3717,0}, {-487,-3722,0},{-478,-3727,0},{-475,-3727,0},{-473,-3728,0},{-470,-3733,0}, {-465,-3747,0},{-463,-3748,0},{-463,-3755,0},{-463,-3758,0},{-458,-3765,0}, {-453,-3772,0},{-440,-3777,0},{-438,-3785,0},{-435,-3788,0},{-432,-3792,0}, {-422,-3805,0},{-410,-3817,0},{-405,-3818,0},{-403,-3820,0},{-395,-3825,0}, {-393,-3832,0},{-385,-3838,0},{-370,-3847,0},{-370,-3848,0},{-372,-3848,0}, {-368,-3865,0},{-365,-3870,0},{-360,-3875,0},{-355,-3880,0},{-355,-3885,0}, {-350,-3888,0},{-350,-3892,0},{-342,-3895,0},{-338,-3900,0},{-338,-3908,0}, {-333,-3912,0},{-333,-3917,0},{-328,-3922,0},{-323,-3927,0},{-323,-3930,0}, {-318,-3935,0},{-315,-3948,0},{-308,-3958,0},{-305,-3962,0},{-302,-3968,0}, {-302,-3970,0},{-305,-3970,0},{-303,-3973,0},{-303,-3972,0},{-302,-3972,0}, {-297,-3982,0},{-292,-3987,0},{-285,-4000,0},{-285,-4003,0},{-285,-4007,0}, {-283,-4012,0},{-285,-4013,0},{-285,-4015,0},{-282,-4018,0},{-280,-4032,0}, {-282,-4042,0},{-278,-4048,0},{-280,-4052,0},{-283,-4060,0},{-283,-4073,0}, {-287,-4082,0},{-288,-4083,0},{-285,-4085,0},{-288,-4090,0},{-288,-4110,0}, {-292,-4108,0},{-288,-4115,0},{-288,-4127,0},{-290,-4132,0},{-290,-4128,0}, {-293,-4127,0},{-298,-4123,0},{-302,-4123,0},{-302,-4127,0},{-297,-4128,0}, {-295,-4133,0},{-293,-4133,0},{-290,-4142,0},{-292,-4143,0},{-295,-4143,0}, {-293,-4145,0},{-290,-4145,0},{-290,-4147,0},{-292,-4152,0},{-290,-4160,0}, {-287,-4165,0},{-288,-4167,0},{-287,-4170,0},{-287,-4168,0},{-285,-4168,0}, {-287,-4167,0},{-285,-4167,0},{-280,-4175,0},{-275,-4182,0},{-277,-4183,0}, {-273,-4183,0},{-275,-4195,0},{-273,-4202,0},{-278,-4195,0},{-278,-4193,0}, {-285,-4195,0},{-282,-4200,0},{-283,-4203,0},{-282,-4207,0},{-283,-4208,0}, {-280,-4210,0},{-282,-4212,0},{-280,-4220,0},{-283,-4223,0},{-280,-4223,0}, {-282,-4227,0},{-278,-4225,0},{-275,-4227,0},{-277,-4235,0},{-275,-4242,0}, {-273,-4242,0},{-275,-4245,0},{-273,-4248,0},{-270,-4252,0},{-270,-4248,0}, {-267,-4248,0},{-270,-4253,0},{-267,-4258,0},{-263,-4265,0},{-257,-4270,0}, {-257,-4280,0},{-252,-4285,0},{-250,-4290,0},{-247,-4293,0},{-245,-4303,0}, {-240,-4317,0},{-237,-4335,0},{-238,-4337,0},{-238,-4343,0},{-237,-4343,0}, {-237,-4347,0},{-238,-4348,0},{-242,-4347,0},{-245,-4342,0},{-245,-4347,0}, {-250,-4342,0},{-250,-4345,0},{-253,-4345,0},{-255,-4343,0},{-255,-4345,0}, {-252,-4347,0},{-255,-4348,0},{-255,-4350,0},{-253,-4348,0},{-248,-4352,0}, {-243,-4352,0},{-243,-4353,0},{-247,-4355,0},{-247,-4353,0},{-248,-4353,0}, {-250,-4355,0},{-248,-4355,0},{-250,-4357,0},{-252,-4357,0},{-253,-4355,0}, {-252,-4360,0},{-253,-4362,0},{-250,-4363,0},{-252,-4367,0},{-248,-4365,0}, {-252,-4368,0},{-253,-4368,0},{-255,-4365,0},{-257,-4372,0},{-255,-4370,0}, {-248,-4372,0},{-250,-4373,0},{-255,-4375,0},{-252,-4375,0},{-255,-4380,0}, {-255,-4382,0},{-257,-4388,0},{-263,-4387,0},{-257,-4392,0},{-255,-4393,0}, {-260,-4397,0},{-263,-4395,0},{-262,-4397,0},{-263,-4400,0},{-270,-4405,0}, {-273,-4407,0},{-280,-4407,0},{-280,-4408,0},{-280,-4407,0},{-278,-4407,0}, {-278,-4408,0},{-275,-4408,0},{-277,-4410,0},{-275,-4410,0},{-280,-4413,0}, {-283,-4415,0},{-287,-4420,0},{-285,-4422,0},{-282,-4417,0},{-278,-4420,0}, {-277,-4418,0},{-277,-4423,0},{-280,-4423,0},{-277,-4425,0},{-282,-4427,0}, {-282,-4428,0},{-283,-4430,0},{-282,-4430,0},{-280,-4430,0},{-278,-4432,0}, {-283,-4433,0},{-278,-4433,0},{-272,-4425,0},{-272,-4422,0},{-270,-4420,0}, {-267,-4422,0},{-270,-4418,0},{-267,-4413,0},{-262,-4410,0},{-260,-4412,0}, {-255,-4407,0},{-255,-4405,0},{-252,-4403,0},{-247,-4405,0},{-250,-4405,0}, {-247,-4407,0},{-245,-4410,0},{-245,-4403,0},{-242,-4403,0},{-240,-4403,0}, {-240,-4407,0},{-242,-4408,0},{-242,-4412,0},{-247,-4422,0},{-248,-4428,0}, {-253,-4430,0},{-255,-4428,0},{-258,-4428,0},{-253,-4432,0},{-253,-4435,0}, {-255,-4437,0},{-267,-4435,0},{-263,-4437,0},{-268,-4438,0},{-273,-4438,0}, {-278,-4440,0},{-278,-4438,0},{-280,-4440,0},{-283,-4440,0},{-293,-4442,0}, {-298,-4445,0},{-303,-4453,0},{-310,-4457,0},{-312,-4462,0},{-318,-4465,0}, {-320,-4473,0},{-323,-4477,0},{-330,-4475,0},{-332,-4477,0},{-330,-4478,0}, {-328,-4477,0},{-327,-4478,0},{-320,-4478,0},{-318,-4472,0},{-315,-4470,0}, {-305,-4462,0},{-302,-4463,0},{-302,-4467,0},{-300,-4468,0},{-292,-4468,0}, {-285,-4465,0},{-278,-4465,0},{-272,-4463,0},{-268,-4463,0},{-255,-4453,0}, {-253,-4455,0},{-255,-4457,0},{-258,-4458,0},{-260,-4465,0},{-262,-4465,0}, {-260,-4467,0},{-257,-4460,0},{-252,-4457,0},{-252,-4453,0},{-248,-4452,0}, {-240,-4450,0},{-238,-4452,0},{-242,-4457,0},{-240,-4457,0},{-238,-4455,0}, {-237,-4452,0},{-238,-4448,0},{-242,-4443,0},{-240,-4438,0},{-238,-4437,0}, {-233,-4437,0},{-228,-4437,0},{-228,-4438,0},{-225,-4438,0},{-220,-4440,0}, {-218,-4442,0},{-217,-4442,0},{-215,-4445,0},{-215,-4452,0},{-220,-4455,0}, {-222,-4455,0},{-227,-4462,0},{-232,-4465,0},{-243,-4465,0},{-242,-4467,0}, {-237,-4467,0},{-238,-4470,0},{-240,-4472,0},{-237,-4470,0},{-235,-4468,0}, {-228,-4467,0},{-228,-4468,0},{-230,-4470,0},{-227,-4470,0},{-227,-4473,0}, {-230,-4478,0},{-230,-4482,0},{-228,-4482,0},{-228,-4478,0},{-225,-4475,0}, {-227,-4468,0},{-223,-4470,0},{-223,-4465,0},{-217,-4458,0},{-215,-4465,0}, {-215,-4462,0},{-213,-4458,0},{-208,-4455,0},{-205,-4450,0},{-203,-4452,0}, {-203,-4462,0},{-203,-4458,0},{-202,-4457,0},{-202,-4450,0},{-200,-4448,0}, {-190,-4452,0},{-190,-4460,0},{-188,-4455,0},{-187,-4453,0},{-183,-4453,0}, {-187,-4457,0},{-182,-4457,0},{-183,-4458,0},{-185,-4460,0},{-183,-4462,0}, {-183,-4467,0},{-183,-4463,0},{-178,-4463,0},{-175,-4460,0},{-172,-4465,0}, {-175,-4465,0},{-180,-4467,0},{-182,-4470,0},{-178,-4473,0},{-182,-4482,0}, {-177,-4472,0},{-172,-4470,0},{-172,-4477,0},{-173,-4477,0},{-177,-4480,0}, {-175,-4482,0},{-173,-4477,0},{-170,-4480,0},{-168,-4478,0},{-165,-4480,0}, {-163,-4478,0},{-162,-4480,0},{-163,-4482,0},{-162,-4480,0},{-158,-4482,0}, {-157,-4483,0},{-163,-4485,0},{-163,-4483,0},{-163,-4485,0},{-160,-4488,0}, {-162,-4492,0},{-165,-4490,0},{-165,-4493,0},{-165,-4492,0},{-160,-4495,0}, {-160,-4492,0},{-155,-4492,0},{-153,-4490,0},{-152,-4490,0},{-148,-4485,0}, {-145,-4485,0},{-142,-4487,0},{-145,-4488,0},{-148,-4493,0},{-148,-4492,0}, {-150,-4495,0},{-155,-4495,0},{-160,-4497,0},{-158,-4500,0},{-160,-4502,0}, {-158,-4502,0},{-155,-4497,0},{-153,-4498,0},{-152,-4502,0},{-152,-4498,0}, {-148,-4500,0},{-148,-4505,0},{-143,-4507,0},{-148,-4507,0},{-148,-4510,0}, {-148,-4508,0},{-147,-4507,0},{-147,-4510,0},{-148,-4513,0},{-152,-4513,0}, {-148,-4515,0},{-148,-4517,0},{-153,-4518,0},{-155,-4522,0},{-158,-4525,0}, {-162,-4525,0},{-168,-4522,0},{-170,-4527,0},{-173,-4528,0},{-173,-4535,0}, {-172,-4537,0},{-167,-4537,0},{-163,-4535,0},{-157,-4533,0},{-155,-4538,0}, {-157,-4538,0},{-158,-4538,0},{-157,-4540,0},{-155,-4540,0},{-153,-4537,0}, {-148,-4535,0},{-148,-4537,0},{-150,-4538,0},{-148,-4538,0},{-145,-4532,0}, {-142,-4530,0},{-137,-4530,0},{-132,-4533,0},{-132,-4537,0},{-135,-4535,0}, {-138,-4537,0},{-143,-4538,0},{-147,-4542,0},{-143,-4542,0},{-143,-4543,0}, {-147,-4545,0},{-148,-4547,0},{-153,-4545,0},{-155,-4545,0},{-153,-4547,0}, {-152,-4547,0},{-150,-4547,0},{-152,-4552,0},{-148,-4548,0},{-147,-4550,0}, {-150,-4553,0},{-147,-4552,0},{-147,-4548,0},{-137,-4547,0},{-135,-4542,0}, {-130,-4540,0},{-130,-4545,0},{-130,-4542,0},{-132,-4547,0},{-135,-4547,0}, {-142,-4553,0},{-140,-4553,0},{-137,-4550,0},{-133,-4552,0},{-135,-4555,0}, {-133,-4555,0},{-132,-4553,0},{-130,-4553,0},{-132,-4555,0},{-128,-4555,0}, {-128,-4553,0},{-127,-4553,0},{-128,-4557,0},{-133,-4558,0},{-130,-4560,0}, {-128,-4558,0},{-128,-4562,0},{-133,-4562,0},{-137,-4563,0},{-137,-4570,0}, {-133,-4568,0},{-132,-4570,0},{-132,-4572,0},{-130,-4570,0},{-127,-4570,0}, {-125,-4573,0},{-117,-4570,0},{-115,-4570,0},{-113,-4572,0},{-122,-4575,0}, {-122,-4577,0},{-123,-4577,0},{-127,-4577,0},{-127,-4580,0},{-128,-4582,0}, {-133,-4582,0},{-130,-4583,0},{-125,-4582,0},{-120,-4583,0},{-128,-4585,0}, {-128,-4588,0},{-123,-4587,0},{-127,-4590,0},{-120,-4587,0},{-117,-4588,0}, {-122,-4590,0},{-118,-4592,0},{-117,-4588,0},{-113,-4590,0},{-120,-4593,0}, {-125,-4593,0},{-125,-4595,0},{-120,-4597,0},{-120,-4600,0},{-117,-4600,0}, {-115,-4600,0},{-115,-4595,0},{-113,-4595,0},{-113,-4598,0},{-112,-4598,0}, {-112,-4597,0},{-110,-4598,0},{-108,-4597,0},{-112,-4600,0},{-110,-4602,0}, {-113,-4602,0},{-115,-4603,0},{-120,-4603,0},{-122,-4605,0},{-118,-4603,0}, {-117,-4605,0},{-122,-4608,0},{-120,-4610,0},{-118,-4610,0},{-113,-4607,0}, {-107,-4610,0},{-110,-4613,0},{-118,-4613,0},{-112,-4615,0},{-115,-4617,0}, {-115,-4623,0},{-118,-4627,0},{-110,-4622,0},{-108,-4620,0},{-107,-4620,0}, {-107,-4622,0},{-102,-4620,0},{-102,-4622,0},{-100,-4620,0},{-97,-4620,0}, {-95,-4617,0},{-92,-4617,0},{-92,-4625,0},{-95,-4625,0},{-95,-4622,0},{-98,-4627,0}, {-102,-4627,0},{-103,-4628,0},{-110,-4625,0},{-103,-4628,0},{-112,-4632,0}, {-105,-4632,0},{-102,-4633,0},{-105,-4635,0},{-108,-4635,0},{-107,-4637,0}, {-102,-4637,0},{-98,-4635,0},{-100,-4637,0},{-103,-4640,0},{-105,-4647,0}, {-103,-4647,0},{-102,-4647,0},{-103,-4650,0},{-103,-4653,0},{-102,-4655,0}, {-100,-4657,0},{-102,-4657,0},{-102,-4660,0},{-103,-4662,0},{-98,-4657,0}, {-95,-4658,0},{-98,-4662,0},{-98,-4663,0},{-97,-4670,0},{-102,-4675,0}, {-100,-4675,0},{-95,-4670,0},{-95,-4668,0},{-93,-4667,0},{-95,-4665,0}, {-93,-4662,0},{-92,-4660,0},{-90,-4662,0},{-90,-4660,0},{-87,-4660,0},{-82,-4663,0}, {-83,-4665,0},{-87,-4663,0},{-87,-4665,0},{-83,-4668,0},{-83,-4670,0},{-87,-4670,0}, {-88,-4670,0},{-95,-4673,0},{-93,-4675,0},{-88,-4672,0},{-83,-4675,0},{-87,-4677,0}, {-85,-4677,0},{-87,-4678,0},{-90,-4678,0},{-87,-4680,0},{-82,-4680,0},{-83,-4682,0}, {-82,-4682,0},{-80,-4683,0},{-80,-4682,0},{-78,-4682,0},{-77,-4680,0},{-75,-4682,0}, {-73,-4680,0},{-72,-4682,0},{-72,-4683,0},{-73,-4682,0},{-78,-4687,0},{-80,-4685,0}, {-82,-4687,0},{-80,-4688,0},{-80,-4690,0},{-85,-4688,0},{-85,-4690,0},{-87,-4690,0}, {-87,-4695,0},{-90,-4695,0},{-90,-4697,0},{-87,-4697,0},{-85,-4693,0},{-83,-4692,0}, {-83,-4693,0},{-80,-4693,0},{-80,-4695,0},{-78,-4695,0},{-78,-4697,0},{-70,-4695,0}, {-70,-4697,0},{-75,-4698,0},{-77,-4702,0},{-78,-4702,0},{-80,-4703,0},{-83,-4705,0}, {-87,-4705,0},{-85,-4708,0},{-82,-4708,0},{-80,-4705,0},{-80,-4707,0},{-75,-4707,0}, {-75,-4708,0},{-72,-4708,0},{-70,-4707,0},{-67,-4708,0},{-68,-4710,0},{-72,-4710,128}, {-72,-4712,0},{-75,-4712,0},{-73,-4713,0},{-80,-4713,0},{-77,-4715,0},{-77,-4720,0}, {-73,-4715,0},{-68,-4717,0},{-72,-4717,0},{-70,-4722,0},{-72,-4723,0},{-70,-4725,0}, {-67,-4722,0},{-68,-4720,0},{-67,-4720,0},{-63,-4720,0},{-63,-4725,0},{-65,-4723,0}, {-68,-4725,0},{-65,-4725,0},{-65,-4728,0},{-63,-4728,0},{-60,-4728,0},{-62,-4735,0}, {-65,-4732,0},{-63,-4735,0},{-65,-4738,0},{-67,-4738,0},{-68,-4737,0},{-65,-4740,0}, {-68,-4742,0},{-65,-4742,0},{-58,-4740,0},{-60,-4747,0},{-60,-4745,0},{-62,-4747,0}, {-73,-4747,0},{-70,-4745,0},{-70,-4743,0},{-75,-4742,0},{-75,-4738,0},{-78,-4738,0}, {-82,-4740,0},{-77,-4742,0},{-77,-4750,0},{-73,-4748,0},{-65,-4753,0},{-63,-4755,0}, {-65,-4758,0},{-63,-4758,0},{-70,-4762,0},{-73,-4767,0},{-77,-4773,0},{-75,-4773,0}, {-72,-4772,0},{-70,-4772,0},{-67,-4772,0},{-63,-4775,0},{-65,-4778,0},{-68,-4780,0}, {-68,-4783,0},{-68,-4785,0},{-67,-4787,0},{-70,-4787,0},{-75,-4795,0},{-78,-4797,0}, {-73,-4802,0},{-70,-4802,0},{-67,-4803,0},{-67,-4805,0},{-72,-4810,0},{-80,-4817,0}, {-85,-4813,0},{-90,-4815,0},{-103,-4818,0},{-105,-4823,0},{-105,-4830,0}, {-112,-4827,0},{-112,-4822,0},{-113,-4827,0},{-115,-4828,0},{-118,-4825,0}, {-117,-4828,0},{-118,-4830,0},{-132,-4833,0},{-132,-4840,0},{-128,-4845,0}, {-132,-4848,0},{-147,-4850,0},{-147,-4833,0},{-152,-4838,0},{-153,-4847,0}, {-152,-4848,0},{-160,-4843,0},{-167,-4842,0},{-163,-4845,0},{-163,-4850,0}, {-158,-4852,0},{-158,-4853,0},{-147,-4860,0},{-150,-4863,0},{-147,-4870,0}, {-148,-4870,0},{-150,-4873,0},{-158,-4877,0},{-162,-4882,0},{-163,-4882,0}, {-165,-4885,0},{-168,-4888,0},{-172,-4888,0},{-175,-4892,0},{-178,-4893,0}, {-185,-4898,0},{-185,-4910,0},{-188,-4912,0},{-188,-4917,0},{-190,-4918,0}, {-200,-4927,0},{-218,-4932,0},{-238,-4943,0},{-250,-4943,0},{-257,-4948,0}, {-258,-4952,0},{-262,-4952,0},{-265,-4953,0},{-267,-4962,0},{-268,-4968,0}, {-267,-4968,0},{-263,-4967,0},{-262,-4962,0},{-253,-4955,0},{-248,-4953,0}, {-242,-4955,0},{-232,-4950,0},{-227,-4950,0},{-218,-4945,0},{-212,-4942,0}, {-210,-4943,0},{-203,-4942,0},{-200,-4938,0},{-198,-4938,0},{-190,-4937,0}, {-188,-4943,0},{-185,-4947,0},{-182,-4943,0},{-178,-4942,0},{-182,-4947,0}, {-177,-4947,0},{-178,-4950,0},{-187,-4953,0},{-185,-4957,0},{-185,-4960,0}, {-187,-4963,0},{-192,-4965,0},{-192,-4963,0},{-198,-4958,0},{-200,-4957,0}, {-202,-4958,0},{-195,-4963,0},{-192,-4967,0},{-193,-4970,0},{-190,-4972,0}, {-192,-4973,0},{-193,-4973,0},{-190,-4977,0},{-190,-4982,0},{-192,-4982,0}, {-195,-4983,0},{-192,-4983,0},{-190,-4985,0},{-207,-4983,0},{-210,-4982,0}, {-205,-4985,0},{-208,-4988,0},{-202,-4985,0},{-193,-4985,0},{-197,-4990,0}, {-192,-4987,0},{-188,-4987,0},{-183,-4995,0},{-182,-4998,0},{-185,-5010,0}, {-187,-5015,0},{-192,-5017,0},{-190,-5025,0},{-195,-5032,0},{-202,-5033,0}, {-202,-5038,0},{-208,-5042,0},{-198,-5045,0},{-193,-5045,0},{-198,-5048,0}, {-193,-5047,0},{-193,-5052,0},{-183,-5062,0},{-180,-5068,0},{-178,-5072,0}, {-175,-5073,0},{-178,-5067,0},{-173,-5065,0},{-163,-5068,0},{-155,-5077,0}, {-143,-5082,0},{-140,-5080,0},{-137,-5083,0},{-133,-5083,0},{-123,-5082,0}, {-118,-5085,0},{-113,-5095,0},{-113,-5090,0},{-108,-5088,0},{-108,-5085,0}, {-105,-5082,0},{-97,-5083,0},{-93,-5082,0},{-92,-5085,0},{-92,-5095,0}, {-93,-5095,0},{-95,-5093,0},{-97,-5095,0},{-92,-5097,0},{-93,-5100,0},{-95,-5100,0}, {-100,-5100,0},{-103,-5103,0},{-112,-5118,0},{-113,-5118,0},{-113,-5120,0}, {-122,-5127,0},{-127,-5133,0},{-125,-5135,0},{-123,-5133,0},{-125,-5140,0}, {-133,-5145,0},{-138,-5157,0},{-140,-5167,0},{-155,-5188,0},{-158,-5193,0}, {-162,-5202,0},{-163,-5215,0},{-165,-5218,0},{-168,-5220,0},{-170,-5225,0}, {-168,-5227,0},{-162,-5223,0},{-152,-5227,0},{-157,-5238,0},{-157,-5253,0}, {-160,-5272,0},{-157,-5270,0},{-153,-5262,0},{-153,-5257,0},{-150,-5248,0}, {-143,-5243,0},{-138,-5228,0},{-135,-5223,0},{-135,-5220,0},{-138,-5213,0}, {-142,-5203,0},{-140,-5200,0},{-133,-5193,0},{-130,-5192,0},{-120,-5193,0}, {-117,-5192,0},{-113,-5183,0},{-105,-5175,0},{-103,-5172,0},{-87,-5172,0}, {-78,-5172,0},{-75,-5170,0},{-57,-5153,0},{-55,-5155,0},{-57,-5158,0},{-55,-5155,0}, {-53,-5158,0},{-55,-5153,0},{-53,-5150,0},{-48,-5145,0},{-47,-5143,0},{-43,-5145,0}, {-40,-5140,0},{-28,-5135,0},{-13,-5125,0},{-10,-5128,0},{-8,-5133,0},{-8,-5123,0}, {-5,-5120,0},{-3,-5108,0},{5,-5103,0},{15,-5095,0},{17,-5087,0},{17,-5080,0}, {18,-5077,0},{42,-5057,0},{67,-5045,0},{73,-5035,0},{80,-5032,0},{85,-5028,0}, {95,-5013,0},{98,-5010,0},{103,-5005,0},{110,-5003,0},{107,-5002,0},{110,-4993,0}, {117,-4988,0},{125,-4992,0},{143,-4988,0},{167,-4997,0},{173,-5007,0},{173,-5010,0}, {178,-5018,0},{178,-5025,0},{182,-5032,0},{180,-5038,0},{182,-5047,0},{185,-5052,0}, {193,-5053,0},{200,-5058,0},{208,-5060,0},{213,-5065,0},{212,-5073,0},{205,-5075,0}, {205,-5077,0},{208,-5078,0},{212,-5077,0},{215,-5080,0},{213,-5073,0},{213,-5070,0}, {215,-5068,0},{223,-5068,0},{228,-5072,0},{237,-5075,0},{243,-5073,0},{250,-5078,0}, {248,-5083,0},{257,-5082,0},{265,-5083,0},{268,-5085,0},{273,-5085,0},{278,-5088,0}, {280,-5092,0},{287,-5092,0},{313,-5102,0},{320,-5102,0},{327,-5105,0},{335,-5107,0}, {390,-5108,0},{392,-5110,0},{390,-5112,0},{387,-5113,0},{365,-5118,0},{368,-5118,0}, {378,-5117,0},{400,-5117,0},{407,-5120,0},{423,-5133,0},{435,-5150,0},{440,-5153,0}, {437,-5157,0},{428,-5155,0},{407,-5148,0},{398,-5143,0},{393,-5143,0},{407,-5150,0}, {423,-5157,0},{423,-5158,0},{407,-5163,0},{403,-5168,0},{408,-5167,0},{420,-5165,0}, {430,-5172,0},{435,-5172,0},{437,-5168,0},{438,-5168,0},{440,-5173,0},{442,-5173,0}, {445,-5173,0},{445,-5175,0},{455,-5177,0},{458,-5180,0},{460,-5180,0},{465,-5185,0}, {467,-5188,0},{465,-5192,0},{460,-5193,0},{440,-5193,0},{437,-5197,0},{433,-5203,0}, {435,-5203,0},{440,-5197,0},{442,-5195,0},{460,-5198,0},{468,-5202,0},{477,-5210,0}, {478,-5215,0},{487,-5220,0},{487,-5222,0},{483,-5228,0},{477,-5232,0},{472,-5233,0}, {475,-5235,0},{483,-5230,0},{487,-5227,0},{493,-5228,0},{495,-5233,0},{493,-5235,0}, {488,-5238,0},{493,-5238,0},{498,-5242,0},{500,-5242,0},{500,-5245,0},{505,-5248,0}, {505,-5253,0},{507,-5253,0},{513,-5262,0},{518,-5267,0},{527,-5277,0},{542,-5288,0}, {545,-5293,0},{547,-5300,0},{545,-5302,0},{545,-5305,0},{552,-5318,0},{552,-5320,0}, {550,-5322,0},{552,-5325,0},{553,-5327,0},{553,-5338,0},{557,-5348,0},{562,-5357,0}, {570,-5373,0},{575,-5380,0},{577,-5382,0},{578,-5388,0},{572,-5398,0},{562,-5402,0}, {555,-5400,0},{543,-5405,0},{540,-5408,0},{535,-5417,0},{552,-5405,0},{565,-5405,0}, {575,-5398,0},{578,-5402,0},{582,-5402,0},{583,-5410,0},{588,-5420,0},{588,-5427,0}, {590,-5435,0},{592,-5455,0},{598,-5477,0},{598,-5500,0},{600,-5505,0},{597,-5515,0}, {595,-5517,0},{593,-5513,0},{590,-5510,0},{590,-5505,0},{587,-5500,0},{587,-5493,0}, {588,-5490,0},{585,-5487,0},{587,-5490,0},{585,-5493,0},{587,-5498,0},{585,-5502,0}, {588,-5508,0},{585,-5510,0},{582,-5512,0},{582,-5513,0},{587,-5510,0},{588,-5512,0}, {590,-5518,0},{590,-5522,0},{592,-5527,0},{597,-5538,0},{598,-5567,0},{595,-5585,0}, {588,-5593,0},{585,-5590,0},{580,-5590,0},{572,-5588,0},{567,-5590,0},{577,-5590,0}, {582,-5602,0},{582,-5607,0},{595,-5648,0},{595,-5662,0},{597,-5667,0},{600,-5697,0}, {595,-5707,0},{588,-5708,0},{577,-5713,0},{555,-5717,0},{552,-5718,0},{548,-5725,0}, {560,-5718,0},{568,-5717,0},{577,-5718,0},{583,-5715,0},{595,-5713,0},{600,-5717,0}, {610,-5718,0},{615,-5720,0},{627,-5733,0},{633,-5747,0},{633,-5750,0},{628,-5750,0}, {627,-5752,0},{643,-5758,0},{648,-5763,0},{653,-5772,0},{663,-5783,0},{668,-5790,0}, {678,-5798,0},{682,-5805,0},{683,-5815,0},{682,-5817,0},{687,-5825,0},{690,-5832,0}, {687,-5842,0},{682,-5847,0},{673,-5850,0},{667,-5855,0},{660,-5857,0},{652,-5857,0}, {642,-5860,0},{642,-5863,0},{638,-5868,0},{650,-5862,0},{655,-5862,0},{670,-5862,0}, {672,-5860,0},{678,-5860,0},{693,-5855,0},{702,-5848,0},{713,-5847,0},{718,-5848,0}, {733,-5847,0},{737,-5848,0},{748,-5858,0},{762,-5867,0},{763,-5872,0},{760,-5872,0}, {762,-5873,0},{773,-5880,0},{798,-5908,0},{803,-5912,0},{842,-5975,0},{840,-5978,0}, {835,-5977,0},{825,-5960,0},{823,-5953,0},{817,-5947,0},{813,-5943,0},{822,-5953,0}, {823,-5960,0},{827,-5962,0},{828,-5968,0},{832,-5972,0},{837,-5983,0},{840,-5987,0}, {852,-5995,0},{853,-6000,0},{853,-5998,128},{862,-6020,0},{863,-6037,0}, {863,-6040,0},{858,-6042,0},{855,-6045,0},{853,-6047,0},{855,-6053,0},{855,-6063,0}, {860,-6068,0},{860,-6072,0},{858,-6077,0},{857,-6098,0},{853,-6098,0},{847,-6102,0}, {845,-6107,0},{840,-6107,0},{842,-6108,0},{845,-6108,0},{847,-6103,0},{850,-6103,0}, {850,-6117,0},{840,-6128,0},{843,-6133,0},{848,-6135,0},{848,-6143,0},{850,-6148,0}, {853,-6150,0},{857,-6162,0},{858,-6167,0},{863,-6165,0},{863,-6160,0},{858,-6153,0}, {862,-6138,0},{858,-6127,0},{860,-6122,0},{862,-6120,0},{873,-6118,0},{883,-6112,0}, {888,-6112,0},{897,-6110,0},{900,-6108,0},{905,-6100,0},{912,-6098,0},{917,-6095,0}, {917,-6098,0},{908,-6107,0},{903,-6110,0},{905,-6112,0},{910,-6108,0},{918,-6098,0}, {923,-6092,0},{927,-6082,0},{932,-6082,0},{930,-6080,0},{930,-6078,0},{938,-6080,0}, {943,-6085,0},{948,-6090,0},{948,-6097,0},{953,-6097,0},{952,-6095,0},{953,-6095,0}, {958,-6105,0},{958,-6115,0},{960,-6120,0},{958,-6120,0},{958,-6122,0},{963,-6133,0}, {967,-6135,0},{968,-6138,0},{972,-6142,0},{978,-6145,0},{982,-6148,0},{990,-6162,0}, {988,-6165,0},{987,-6162,0},{985,-6162,0},{980,-6157,0},{978,-6160,0},{983,-6177,0}, {983,-6182,0},{977,-6180,0},{977,-6177,0},{970,-6173,0},{960,-6173,0},{970,-6175,0}, {975,-6177,0},{975,-6180,0},{972,-6180,0},{965,-6183,0},{973,-6182,0},{980,-6183,0}, {995,-6202,0},{998,-6208,0},{1002,-6217,0},{1000,-6222,0},{995,-6223,0}, {993,-6220,0},{993,-6212,0},{990,-6208,0},{988,-6205,0},{987,-6202,0},{988,-6210,0}, {992,-6212,0},{993,-6218,0},{992,-6218,0},{987,-6217,0},{970,-6215,0},{965,-6218,0}, {963,-6222,0},{972,-6217,0},{977,-6218,0},{985,-6218,0},{992,-6222,0},{997,-6225,0}, {992,-6225,0},{985,-6223,0},{975,-6228,0},{970,-6232,0},{973,-6233,0},{977,-6232,0}, {987,-6237,0},{993,-6242,0},{993,-6245,0},{997,-6242,0},{1007,-6247,0}, {1017,-6250,0},{1023,-6258,0},{1022,-6262,0},{1020,-6262,0},{1013,-6260,0}, {1008,-6262,0},{1005,-6270,0},{1005,-6273,0},{1007,-6277,0},{1005,-6278,0}, {1002,-6278,0},{998,-6280,0},{1000,-6282,0},{1003,-6280,0},{1003,-6283,0}, {1005,-6285,0},{1005,-6292,0},{1008,-6292,0},{1005,-6293,0},{1000,-6292,0}, {1000,-6293,0},{1008,-6295,0},{1007,-6298,0},{1010,-6302,0},{1008,-6298,0}, {1010,-6297,0},{1008,-6293,0},{1010,-6292,0},{1010,-6290,0},{1007,-6288,0}, {1008,-6285,0},{1003,-6282,0},{1008,-6277,0},{1007,-6272,0},{1008,-6265,0}, {1012,-6262,0},{1020,-6267,0},{1028,-6267,0},{1035,-6273,0},{1037,-6273,0}, {1040,-6278,0},{1037,-6288,0},{1040,-6293,0},{1040,-6295,0},{1033,-6295,0}, {1030,-6293,0},{1028,-6293,0},{1027,-6300,0},{1030,-6297,0},{1032,-6300,0}, {1035,-6295,0},{1040,-6298,0},{1040,-6300,0},{1042,-6293,0},{1038,-6287,0}, {1040,-6283,0},{1050,-6283,0},{1052,-6285,0},{1052,-6292,0},{1048,-6293,0}, {1045,-6300,0},{1053,-6292,0},{1057,-6267,0},{1053,-6252,0},{1053,-6233,0}, {1063,-6225,0},{1063,-6208,0},{1065,-6207,0},{1063,-6203,0},{1065,-6202,0}, {1065,-6195,0},{1067,-6192,0},{1068,-6190,0},{1068,-6188,0},{1072,-6188,0}, {1073,-6185,0},{1075,-6185,0},{1072,-6193,0},{1073,-6195,0},{1072,-6197,0}, {1073,-6198,0},{1072,-6200,0},{1072,-6203,0},{1070,-6208,0},{1072,-6210,0}, {1068,-6217,0},{1070,-6222,0},{1075,-6268,0},{1077,-6270,0},{1073,-6275,0}, {1070,-6290,0},{1072,-6300,0},{1070,-6313,0},{1073,-6317,0},{1072,-6317,0}, {1068,-6325,0},{1067,-6328,0},{1068,-6332,0},{1068,-6335,0},{1070,-6338,0}, {1067,-6340,0},{1067,-6343,0},{1065,-6345,0},{1067,-6347,0},{1065,-6350,0}, {1063,-6350,0},{1063,-6353,0},{1067,-6377,0},{1072,-6382,0},{1065,-6385,0}, {1063,-6392,0},{1063,-6403,0},{1065,-6405,0},{1062,-6413,0},{1063,-6418,0}, {1063,-6423,0},{1067,-6427,0},{1062,-6430,0},{1052,-6423,0},{1057,-6417,0}, {1057,-6410,0},{1058,-6403,0},{1057,-6403,0},{1055,-6385,0},{1050,-6373,0}, {1048,-6370,0},{1050,-6365,0},{1048,-6367,0},{1043,-6382,0},{1043,-6388,0}, {1045,-6393,0},{1043,-6405,0},{1048,-6412,0},{1047,-6420,0},{1042,-6423,0}, {1038,-6433,0},{1033,-6435,0},{1033,-6437,0},{1037,-6437,0},{1038,-6437,0}, {1037,-6440,0},{1037,-6438,0},{1033,-6438,0},{1032,-6442,0},{1033,-6447,0}, {1032,-6445,0},{1032,-6438,0},{1030,-6437,0},{1028,-6440,0},{1027,-6445,0}, {1023,-6448,0},{1025,-6453,0},{1023,-6455,0},{1025,-6455,0},{1023,-6458,0}, {1027,-6458,0},{1023,-6463,0},{1020,-6467,0},{1018,-6465,0},{1018,-6467,0}, {1018,-6470,0},{1020,-6468,0},{1022,-6472,0},{1020,-6470,0},{1010,-6473,0}, {1008,-6483,0},{1010,-6495,0},{1003,-6508,0},{1007,-6517,0},{1008,-6517,0}, {1005,-6508,0},{1010,-6520,0},{1013,-6542,0},{1018,-6558,0},{1030,-6587,0}, {1028,-6587,0},{1022,-6572,0},{1023,-6582,0},{1025,-6587,0},{1028,-6588,0}, {1028,-6593,0},{1032,-6593,0},{1032,-6588,0},{1043,-6607,0},{1050,-6612,0}, {1053,-6612,0},{1055,-6607,0},{1058,-6605,0},{1058,-6610,0},{1065,-6623,0}, {1065,-6630,0},{1060,-6635,0},{1063,-6647,0},{1062,-6685,0},{1060,-6693,0}, {1062,-6702,0},{1055,-6718,0},{1053,-6755,0},{1052,-6758,0},{1050,-6767,0}, {1050,-6780,0},{1048,-6783,0},{1045,-6787,0},{1047,-6787,0},{1045,-6793,0}, {1048,-6800,0},{1048,-6812,0},{1050,-6817,0},{1058,-6825,0},{1068,-6830,0}, {1077,-6833,0},{1083,-6833,0},{1085,-6830,0},{1087,-6825,0},{1088,-6823,0}, {1092,-6832,0},{1092,-6837,0},{1093,-6837,0},{1093,-6833,0},{1093,-6830,0}, {1090,-6828,0},{1092,-6827,0},{1105,-6833,0},{1112,-6838,0},{1115,-6840,0}, {1118,-6838,0},{1120,-6840,0},{1118,-6842,0},{1120,-6848,0},{1125,-6852,0}, {1130,-6862,0},{1135,-6867,0},{1137,-6873,0},{1145,-6885,0},{1145,-6905,0}, {1148,-6912,0},{1153,-6928,0},{1148,-6937,0},{1150,-6952,0},{1148,-6955,0}, {1145,-6958,0},{1147,-6963,0},{1155,-6972,0},{1167,-6975,0},{1185,-6982,0}, {1193,-6982,0},{1198,-6982,0},{1207,-6987,0},{1217,-6993,0},{1218,-6998,0}, {1220,-7002,0},{1217,-7008,0},{1212,-7015,0},{1212,-7020,0},{1207,-7020,0}, {1198,-7025,0},{1185,-7030,0},{1185,-7028,0},{1177,-7023,0},{1178,-7023,0}, {1177,-7020,0},{1173,-7020,0},{1175,-7023,0},{1168,-7022,0},{1163,-7023,0}, {1160,-7022,0},{1160,-7017,0},{1167,-6995,0},{1165,-6995,0},{1165,-6993,0}, {1167,-6988,0},{1168,-6987,0},{1167,-6983,0},{1168,-6982,0},{1150,-6973,0}, {1143,-6980,0},{1143,-6988,0},{1148,-6997,0},{1152,-6998,0},{1152,-7003,0}, {1157,-7013,0},{1153,-7010,0},{1153,-7012,0},{1152,-7012,0},{1152,-7005,0}, {1148,-7003,0},{1148,-7002,0},{1148,-7005,0},{1147,-7003,0},{1143,-7003,0}, {1145,-7007,0},{1143,-7010,0},{1147,-7012,0},{1148,-7015,0},{1147,-7017,0}, {1147,-7013,0},{1143,-7013,0},{1142,-7015,0},{1142,-7017,0},{1137,-7018,0}, {1135,-7023,0},{1137,-7028,0},{1130,-7042,0},{1130,-7050,0},{1127,-7052,0}, {1128,-7048,0},{1125,-7052,0},{1123,-7070,0},{1120,-7085,0},{1100,-7125,0}, {1097,-7133,0},{1098,-7142,0},{1097,-7150,0},{1092,-7145,0},{1092,-7142,0}, {1088,-7145,0},{1080,-7143,0},{1080,-7158,0},{1077,-7155,0},{1077,-7153,0}, {1073,-7153,0},{1065,-7153,0},{1063,-7150,0},{1060,-7153,0},{1057,-7155,0}, {1053,-7152,0},{1050,-7147,0},{1047,-7145,0},{1042,-7148,0},{1037,-7143,0}, {1023,-7137,0},{1015,-7127,0},{998,-7120,0},{997,-7117,0},{990,-7110,0}, {985,-7107,0},{982,-7108,0},{972,-7103,0},{970,-7105,0},{960,-7107,0},{953,-7108,0}, {948,-7107,0},{940,-7107,0},{935,-7105,0},{932,-7107,0},{928,-7115,0},{922,-7122,0}, {917,-7123,0},{912,-7130,0},{905,-7150,0},{905,-7163,0},{907,-7170,0},{908,-7172,0}, {910,-7172,0},{912,-7177,0},{917,-7173,0},{920,-7175,0},{920,-7173,0},{922,-7175,0}, {923,-7175,0},{923,-7177,0},{923,-7180,0},{922,-7182,0},{925,-7180,0},{927,-7177,0}, {928,-7177,0},{928,-7173,0},{932,-7173,0},{933,-7175,0},{935,-7172,0},{937,-7173,0}, {938,-7173,0},{937,-7175,0},{938,-7178,0},{942,-7182,0},{942,-7188,0},{938,-7190,0}, {943,-7190,0},{943,-7183,0},{945,-7185,0},{947,-7190,0},{950,-7192,0},{947,-7192,0}, {950,-7193,0},{947,-7198,0},{948,-7202,0},{952,-7202,0},{948,-7198,0},{950,-7197,0}, {957,-7198,0},{957,-7202,0},{958,-7198,0},{960,-7198,0},{957,-7197,0},{953,-7195,0}, {955,-7195,0},{957,-7197,0},{962,-7198,0},{973,-7208,0},{982,-7213,0},{990,-7207,0}, {1000,-7202,0},{1008,-7198,0},{1012,-7195,0},{1013,-7190,0},{1022,-7183,0}, {1035,-7178,0},{1043,-7165,0},{1045,-7162,0},{1052,-7163,0},{1058,-7160,0}, {1063,-7160,0},{1067,-7158,0},{1072,-7158,0},{1078,-7167,0},{1090,-7172,0}, {1097,-7172,0},{1102,-7177,0},{1103,-7173,0},{1102,-7168,0},{1098,-7167,0}, {1100,-7163,0},{1102,-7162,0},{1105,-7167,0},{1108,-7175,0},{1120,-7185,0}, {1140,-7195,0},{1155,-7197,0},{1158,-7197,0},{1160,-7195,0},{1167,-7172,0}, {1172,-7148,0},{1175,-7142,0},{1175,-7138,0},{1177,-7137,0},{1178,-7133,0}, {1182,-7133,0},{1185,-7132,0},{2367,-7530,129},{2368,-7533,1},{2367,-7533,1}, {2362,-7535,1},{2365,-7532,1},{2362,-7533,1},{2362,-7530,1},{2357,-7532,1}, {2358,-7528,1},{2348,-7525,1},{2347,-7522,1},{2343,-7523,1},{2343,-7520,1}, {2340,-7520,1},{2337,-7515,1},{2335,-7517,1},{2335,-7513,1},{2327,-7510,1}, {2323,-7513,1},{2320,-7513,1},{2312,-7507,1},{2312,-7510,1},{2313,-7515,1}, {2317,-7518,1},{2317,-7515,1},{2318,-7517,1},{2320,-7520,1},{2317,-7523,1}, {2310,-7510,1},{2307,-7497,1},{2300,-7493,1},{2288,-7488,1},{2288,-7487,1}, {2285,-7485,1},{2287,-7483,1},{2300,-7485,1},{2303,-7490,1},{2308,-7492,1}, {2310,-7497,1},{2310,-7502,1},{2315,-7507,1},{2333,-7510,1},{2345,-7518,1}, {2353,-7520,1},{2358,-7527,1},{2363,-7527,1},{2367,-7530,1},{2465,-7563,129}, {2470,-7572,1},{2470,-7573,1},{2467,-7575,1},{2458,-7565,1},{2452,-7565,1}, {2452,-7558,1},{2437,-7552,1},{2428,-7547,1},{2428,-7542,1},{2425,-7540,1}, {2420,-7542,1},{2417,-7552,1},{2415,-7552,1},{2413,-7550,1},{2412,-7547,1}, {2415,-7543,1},{2417,-7535,1},{2415,-7528,1},{2422,-7532,1},{2427,-7537,1}, {2432,-7540,1},{2437,-7548,1},{2455,-7560,1},{2465,-7563,1},{2428,-7770,129}, {2430,-7768,1},{2428,-7767,1},{2427,-7765,1},{2425,-7763,1},{2423,-7763,1}, {2418,-7770,1},{2417,-7775,1},{2415,-7773,1},{2413,-7775,1},{2412,-7770,1}, {2405,-7772,1},{2403,-7773,1},{2403,-7770,1},{2410,-7768,1},{2413,-7765,1}, {2420,-7763,1},{2422,-7762,1},{2413,-7755,1},{2403,-7753,1},{2400,-7755,1}, {2398,-7753,1},{2395,-7753,1},{2392,-7760,1},{2390,-7760,1},{2393,-7755,1}, {2392,-7752,1},{2382,-7753,1},{2382,-7757,1},{2380,-7755,1},{2375,-7755,1}, {2373,-7760,1},{2375,-7765,1},{2375,-7767,1},{2373,-7765,1},{2372,-7767,1}, {2373,-7768,1},{2375,-7777,1},{2375,-7775,1},{2378,-7775,1},{2377,-7768,1}, {2378,-7767,1},{2382,-7760,1},{2385,-7757,1},{2383,-7762,1},{2378,-7770,1}, {2378,-7773,1},{2382,-7773,1},{2382,-7777,1},{2385,-7767,1},{2388,-7765,1}, {2387,-7768,1},{2385,-7780,1},{2393,-7783,1},{2398,-7782,1},{2398,-7783,1}, {2402,-7783,1},{2405,-7787,1},{2407,-7787,1},{2410,-7793,1},{2410,-7790,1}, {2415,-7792,1},{2415,-7787,1},{2417,-7785,1},{2420,-7783,1},{2422,-7778,1}, {2425,-7777,1},{2428,-7770,1},{2520,-7820,129},{2518,-7813,1},{2515,-7810,1}, {2518,-7805,1},{2515,-7798,1},{2510,-7800,1},{2507,-7797,1},{2500,-7798,1}, {2500,-7795,1},{2497,-7793,1},{2485,-7788,1},{2478,-7783,1},{2472,-7773,1}, {2463,-7773,1},{2460,-7775,1},{2452,-7772,1},{2447,-7772,1},{2445,-7775,1}, {2445,-7780,1},{2442,-7783,1},{2442,-7785,1},{2437,-7787,1},{2433,-7793,1}, {2435,-7797,1},{2430,-7802,1},{2428,-7800,1},{2427,-7803,1},{2428,-7805,1}, {2437,-7808,1},{2440,-7813,1},{2450,-7813,1},{2445,-7820,1},{2450,-7830,1}, {2453,-7837,1},{2462,-7843,1},{2465,-7838,1},{2467,-7838,1},{2467,-7833,1}, {2472,-7832,1},{2470,-7830,1},{2465,-7828,1},{2460,-7833,1},{2458,-7833,1}, {2460,-7827,1},{2463,-7827,1},{2462,-7825,1},{2457,-7827,1},{2457,-7825,1}, {2457,-7822,1},{2460,-7823,1},{2460,-7820,1},{2462,-7820,1},{2463,-7822,1}, {2473,-7827,1},{2467,-7827,1},{2472,-7830,1},{2478,-7828,1},{2482,-7823,1}, {2485,-7823,1},{2487,-7820,1},{2492,-7818,1},{2495,-7818,1},{2498,-7817,1}, {2503,-7815,1},{2517,-7822,1},{2520,-7820,1},{2557,-7673,129},{2555,-7668,1}, {2548,-7668,1},{2550,-7667,1},{2548,-7665,1},{2547,-7663,1},{2537,-7648,1}, {2533,-7640,1},{2535,-7635,1},{2530,-7632,1},{2522,-7623,1},{2513,-7612,1}, {2505,-7612,1},{2500,-7613,1},{2497,-7615,1},{2490,-7613,1},{2485,-7613,1}, {2475,-7618,1},{2465,-7617,1},{2465,-7618,1},{2468,-7622,1},{2475,-7623,1}, {2478,-7632,1},{2482,-7633,1},{2480,-7622,1},{2482,-7622,1},{2485,-7618,1}, {2488,-7617,1},{2488,-7618,1},{2487,-7620,1},{2488,-7622,1},{2497,-7620,1}, {2502,-7615,1},{2508,-7615,1},{2513,-7617,1},{2515,-7618,1},{2518,-7625,1}, {2532,-7635,1},{2535,-7652,1},{2543,-7662,1},{2543,-7672,1},{2543,-7675,1}, {2542,-7678,1},{2547,-7675,1},{2557,-7673,1},{2690,-7795,129},{2692,-7790,1}, {2693,-7783,1},{2690,-7767,1},{2692,-7760,1},{2690,-7753,1},{2668,-7730,1}, {2668,-7725,1},{2667,-7730,1},{2662,-7727,1},{2660,-7718,1},{2652,-7705,1}, {2648,-7703,1},{2647,-7707,1},{2642,-7705,1},{2638,-7702,1},{2633,-7703,1}, {2630,-7700,1},{2628,-7705,1},{2632,-7705,1},{2630,-7708,1},{2623,-7717,1}, {2613,-7718,1},{2593,-7718,1},{2588,-7720,1},{2588,-7725,1},{2598,-7730,1}, {2600,-7737,1},{2602,-7740,1},{2603,-7738,1},{2607,-7733,1},{2608,-7730,1}, {2613,-7725,1},{2615,-7722,1},{2620,-7725,1},{2625,-7723,1},{2628,-7723,1}, {2632,-7725,1},{2635,-7722,1},{2642,-7723,1},{2643,-7723,1},{2645,-7720,1}, {2650,-7718,1},{2652,-7715,1},{2655,-7715,1},{2658,-7722,1},{2660,-7735,1}, {2668,-7737,1},{2668,-7743,1},{2675,-7743,1},{2687,-7753,1},{2687,-7767,1}, {2688,-7772,1},{2688,-7777,1},{2690,-7778,1},{2692,-7783,1},{2688,-7795,1}, {2690,-7797,1},{2690,-7795,1},{2668,-7897,129},{2665,-7888,1},{2662,-7887,1}, {2662,-7883,1},{2658,-7880,1},{2658,-7870,1},{2662,-7865,1},{2668,-7860,1}, {2670,-7860,1},{2672,-7863,1},{2675,-7860,1},{2680,-7858,1},{2678,-7855,1}, {2673,-7853,1},{2673,-7850,1},{2668,-7835,1},{2670,-7832,1},{2672,-7828,1}, {2672,-7815,1},{2670,-7812,1},{2673,-7803,1},{2672,-7798,1},{2677,-7792,1}, {2672,-7792,1},{2667,-7790,1},{2663,-7792,1},{2667,-7802,1},{2663,-7815,1}, {2662,-7830,1},{2657,-7850,1},{2648,-7870,1},{2650,-7875,1},{2655,-7883,1}, {2668,-7898,1},{2670,-7898,1},{2668,-7897,1},{2103,-7370,129},{2103,-7367,1}, {2105,-7365,1},{2108,-7365,1},{2110,-7368,1},{2112,-7363,1},{2113,-7357,1}, {2118,-7353,1},{2120,-7342,1},{2123,-7340,1},{2117,-7333,1},{2113,-7327,1}, {2118,-7315,1},{2127,-7308,1},{2132,-7307,1},{2133,-7302,1},{2132,-7300,1}, {2117,-7302,1},{2097,-7315,1},{2097,-7328,1},{2093,-7332,1},{2095,-7330,1}, {2092,-7345,1},{2095,-7360,1},{2092,-7367,1},{2093,-7368,1},{2097,-7368,1}, {2102,-7372,1},{2103,-7370,1},{1777,-6487,129},{1777,-6483,1},{1777,-6482,1}, {1780,-6478,1},{1775,-6470,1},{1777,-6465,1},{1777,-6458,1},{1775,-6457,1}, {1775,-6460,1},{1772,-6467,1},{1770,-6473,1},{1768,-6483,1},{1768,-6487,1}, {1768,-6490,1},{1772,-6488,1},{1775,-6488,1},{1777,-6487,1},{1640,-6152,129}, {1645,-6153,1},{1652,-6147,1},{1647,-6140,1},{1642,-6138,1},{1638,-6140,1}, {1635,-6137,1},{1632,-6127,1},{1627,-6120,1},{1625,-6117,1},{1623,-6118,1}, {1625,-6123,1},{1623,-6135,1},{1620,-6145,1},{1622,-6152,1},{1625,-6155,1}, {1627,-6155,1},{1633,-6152,1},{1635,-6150,1},{1638,-6150,1},{1640,-6152,1}, {1605,-6175,129},{1627,-6180,1},{1633,-6178,1},{1637,-6175,1},{1630,-6160,1}, {1627,-6160,1},{1628,-6155,1},{1623,-6153,1},{1623,-6157,1},{1620,-6158,1}, {1605,-6155,1},{1598,-6162,1},{1595,-6168,1},{1598,-6170,1},{1605,-6175,1}, {1563,-6147,129},{1563,-6142,1},{1558,-6138,1},{1558,-6132,1},{1555,-6130,1}, {1552,-6127,1},{1545,-6125,1},{1543,-6127,1},{1532,-6125,1},{1525,-6127,1}, {1523,-6128,1},{1525,-6132,1},{1520,-6137,1},{1520,-6138,1},{1525,-6138,1}, {1527,-6137,1},{1530,-6140,1},{1535,-6140,1},{1548,-6147,1},{1553,-6148,1}, {1557,-6147,1},{1558,-6148,1},{1563,-6147,1},{1487,-6120,129},{1488,-6117,1}, {1487,-6110,1},{1480,-6100,1},{1475,-6095,1},{1477,-6093,1},{1477,-6088,1}, {1477,-6090,1},{1473,-6090,1},{1475,-6092,1},{1473,-6093,1},{1472,-6093,1}, {1470,-6092,1},{1468,-6093,1},{1467,-6093,1},{1467,-6088,1},{1465,-6090,1}, {1463,-6090,1},{1462,-6087,1},{1460,-6087,1},{1457,-6083,1},{1455,-6083,1}, {1453,-6083,1},{1452,-6083,1},{1447,-6082,1},{1440,-6087,1},{1440,-6088,1}, {1443,-6088,1},{1443,-6087,1},{1447,-6087,1},{1445,-6090,1},{1447,-6092,1}, {1447,-6103,1},{1445,-6105,1},{1447,-6108,1},{1450,-6108,1},{1452,-6110,1}, {1453,-6108,1},{1457,-6105,1},{1453,-6102,1},{1455,-6100,1},{1460,-6102,1}, {1460,-6105,1},{1460,-6110,1},{1467,-6115,1},{1470,-6118,1},{1475,-6118,1}, {1482,-6123,1},{1487,-6120,1},{2183,-8307,129},{2190,-8302,1},{2192,-8297,1}, {2193,-8300,1},{2195,-8298,1},{2190,-8275,1},{2188,-8268,1},{2183,-8270,1}, {2180,-8268,1},{2180,-8267,1},{2177,-8263,1},{2177,-8260,1},{2175,-8260,1}, {2172,-8258,1},{2167,-8262,1},{2165,-8257,1},{2160,-8257,1},{2160,-8255,1}, {2157,-8255,1},{2148,-8270,1},{2143,-8290,1},{2145,-8293,1},{2147,-8307,1}, {2150,-8310,1},{2153,-8315,1},{2157,-8317,1},{2163,-8318,1},{2157,-8310,1}, {2153,-8307,1},{2155,-8302,1},{2157,-8300,1},{2157,-8298,1},{2160,-8297,1}, {2158,-8295,1},{2157,-8297,1},{2158,-8293,1},{2160,-8295,1},{2162,-8298,1}, {2167,-8302,1},{2178,-8308,1},{2183,-8307,1},{2253,-7850,129},{2253,-7847,1}, {2255,-7843,1},{2257,-7840,1},{2253,-7833,1},{2253,-7835,1},{2252,-7835,1}, {2245,-7828,1},{2243,-7828,1},{2243,-7830,1},{2245,-7830,1},{2243,-7835,1}, {2243,-7840,1},{2242,-7842,1},{2243,-7842,1},{2243,-7840,1},{2247,-7840,1}, {2245,-7847,1},{2245,-7850,1},{2245,-7853,1},{2247,-7855,1},{2248,-7857,1}, {2248,-7865,1},{2250,-7865,1},{2252,-7865,1},{2253,-7865,1},{2250,-7868,1}, {2250,-7870,1},{2253,-7870,1},{2255,-7867,1},{2255,-7860,1},{2253,-7857,1}, {2253,-7850,1},{2240,-7832,1},{2243,-7827,1},{2243,-7820,1},{2242,-7818,1}, {2243,-7817,1},{2240,-7810,1},{2230,-7807,1},{2228,-7805,1},{2228,-7802,1}, {2227,-7802,1},{2227,-7805,1},{2230,-7810,1},{2230,-7817,1},{2232,-7818,1}, {2232,-7820,1},{2233,-7817,1},{2237,-7820,1},{2237,-7822,1},{2233,-7822,1}, {2233,-7823,1},{2237,-7825,1},{2237,-7822,1},{2238,-7823,1},{2240,-7827,1}, {2240,-7828,1},{2240,-7832,1},{2232,-7802,1},{2230,-7798,1},{2228,-7797,1}, {2227,-7797,1},{2227,-7798,1},{2223,-7798,1},{2223,-7795,1},{2223,-7793,1}, {2220,-7792,1},{2222,-7792,1},{2223,-7790,1},{2222,-7788,1},{2222,-7787,1}, {2220,-7787,1},{2218,-7790,1},{2217,-7787,1},{2217,-7783,1},{2215,-7783,1}, {2212,-7785,1},{2210,-7787,1},{2210,-7788,1},{2210,-7790,1},{2215,-7792,1}, {2215,-7795,1},{2212,-7795,1},{2218,-7803,1},{2220,-7805,1},{2223,-7800,1}, {2228,-7800,1},{2232,-7802,1},{2210,-7795,1},{2210,-7792,1},{2207,-7787,1}, {2210,-7780,1},{2207,-7777,1},{2208,-7773,1},{2207,-7772,1},{2205,-7768,1}, {2207,-7767,1},{2203,-7762,1},{2197,-7765,1},{2193,-7763,1},{2192,-7768,1}, {2195,-7768,1},{2195,-7770,1},{2192,-7770,1},{2190,-7770,1},{2195,-7773,1}, {2198,-7782,1},{2203,-7782,1},{2203,-7785,1},{2200,-7785,1},{2202,-7785,1}, {2200,-7788,1},{2205,-7793,1},{2210,-7795,1},{-5510,-6705,129},{-5513,-6705,1}, {-5520,-6710,1},{-5532,-6725,1},{-5532,-6732,1},{-5528,-6743,1},{-5525,-6747,1}, {-5520,-6742,1},{-5518,-6747,1},{-5517,-6753,1},{-5518,-6762,1},{-5527,-6765,1}, {-5525,-6773,1},{-5527,-6782,1},{-5525,-6788,1},{-5523,-6787,1},{-5525,-6780,1}, {-5523,-6773,1},{-5522,-6785,1},{-5517,-6790,1},{-5520,-6792,1},{-5518,-6793,1}, {-5520,-6795,1},{-5523,-6798,1},{-5523,-6812,1},{-5520,-6815,1},{-5518,-6812,1}, {-5517,-6815,1},{-5510,-6818,1},{-5505,-6817,1},{-5498,-6818,1},{-5500,-6832,1}, {-5498,-6833,1},{-5495,-6837,1},{-5492,-6833,1},{-5490,-6807,1},{-5492,-6780,1}, {-5495,-6773,1},{-5492,-6767,1},{-5492,-6757,1},{-5492,-6740,1},{-5493,-6727,1}, {-5497,-6717,1},{-5507,-6708,1},{-5507,-6705,1},{-5510,-6705,1},{-5497,-6840,129}, {-5500,-6833,1},{-5507,-6833,1},{-5507,-6840,1},{-5503,-6843,1},{-5507,-6843,1}, {-5508,-6843,1},{-5512,-6852,1},{-5508,-6857,1},{-5508,-6862,1},{-5510,-6858,1}, {-5512,-6857,1},{-5515,-6860,1},{-5513,-6878,1},{-5507,-6892,1},{-5505,-6900,1}, {-5502,-6903,1},{-5503,-6905,1},{-5505,-6907,1},{-5507,-6898,1},{-5512,-6897,1}, {-5515,-6885,1},{-5518,-6878,1},{-5518,-6862,1},{-5520,-6855,1},{-5518,-6838,1}, {-5522,-6835,1},{-5523,-6828,1},{-5523,-6832,1},{-5527,-6822,1},{-5530,-6822,1}, {-5530,-6840,1},{-5530,-6847,1},{-5532,-6852,1},{-5530,-6862,1},{-5525,-6867,1}, {-5527,-6875,1},{-5527,-6867,1},{-5530,-6868,1},{-5530,-6865,1},{-5533,-6865,1}, {-5533,-6857,1},{-5537,-6860,1},{-5533,-6848,1},{-5535,-6835,1},{-5540,-6833,1}, {-5538,-6828,1},{-5540,-6823,1},{-5540,-6817,1},{-5542,-6815,1},{-5547,-6817,1}, {-5547,-6807,1},{-5548,-6805,1},{-5553,-6810,1},{-5557,-6805,1},{-5558,-6805,1}, {-5560,-6797,1},{-5565,-6803,1},{-5567,-6798,1},{-5572,-6808,1},{-5568,-6813,1}, {-5560,-6815,1},{-5562,-6825,1},{-5562,-6828,1},{-5555,-6825,1},{-5552,-6825,1}, {-5548,-6838,1},{-5550,-6842,1},{-5550,-6848,1},{-5547,-6855,1},{-5542,-6857,1}, {-5543,-6858,1},{-5542,-6860,1},{-5542,-6862,1},{-5547,-6860,1},{-5545,-6865,1}, {-5547,-6873,1},{-5543,-6877,1},{-5543,-6880,1},{-5545,-6877,1},{-5547,-6880,1}, {-5550,-6877,1},{-5552,-6883,1},{-5548,-6890,1},{-5547,-6890,1},{-5547,-6893,1}, {-5542,-6897,1},{-5540,-6893,1},{-5538,-6875,1},{-5537,-6880,1},{-5533,-6877,1}, {-5538,-6898,1},{-5533,-6890,1},{-5528,-6890,1},{-5525,-6885,1},{-5523,-6887,1}, {-5518,-6880,1},{-5523,-6897,1},{-5527,-6898,1},{-5525,-6907,1},{-5520,-6912,1}, {-5515,-6912,1},{-5517,-6915,1},{-5520,-6915,1},{-5525,-6912,1},{-5523,-6918,1}, {-5515,-6925,1},{-5513,-6923,1},{-5515,-6927,1},{-5517,-6943,1},{-5517,-6928,1}, {-5523,-6927,1},{-5523,-6933,1},{-5525,-6937,1},{-5525,-6943,1},{-5523,-6945,1}, {-5523,-6948,1},{-5528,-6945,1},{-5530,-6945,1},{-5528,-6942,1},{-5530,-6935,1}, {-5532,-6935,1},{-5532,-6928,1},{-5533,-6932,1},{-5537,-6930,1},{-5537,-6925,1}, {-5538,-6923,1},{-5543,-6930,1},{-5543,-6925,1},{-5545,-6923,1},{-5543,-6920,1}, {-5545,-6913,1},{-5547,-6917,1},{-5548,-6915,1},{-5552,-6917,1},{-5547,-6923,1}, {-5548,-6930,1},{-5548,-6933,1},{-5538,-6937,1},{-5548,-6940,1},{-5550,-6943,1}, {-5542,-6943,1},{-5542,-6952,1},{-5540,-6952,1},{-5537,-6942,1},{-5535,-6940,1}, {-5535,-6948,1},{-5533,-6947,1},{-5533,-6948,1},{-5537,-6952,1},{-5538,-6957,1}, {-5535,-6962,1},{-5535,-6960,1},{-5533,-6962,1},{-5530,-6978,1},{-5530,-6970,1}, {-5528,-6973,1},{-5528,-6970,1},{-5527,-6958,1},{-5527,-6960,1},{-5527,-6967,1}, {-5525,-6967,1},{-5518,-6950,1},{-5518,-6955,1},{-5522,-6962,1},{-5520,-6967,1}, {-5523,-6968,1},{-5527,-6985,1},{-5523,-6987,1},{-5523,-6992,1},{-5522,-6983,1}, {-5520,-6992,1},{-5517,-6985,1},{-5517,-6990,1},{-5517,-7003,1},{-5513,-7002,1}, {-5512,-6998,1},{-5513,-6995,1},{-5508,-6995,1},{-5507,-6992,1},{-5507,-6982,1}, {-5505,-6977,1},{-5507,-6968,1},{-5505,-6965,1},{-5503,-6958,1},{-5513,-6957,1}, {-5515,-6958,1},{-5515,-6955,1},{-5515,-6953,1},{-5503,-6955,1},{-5502,-6943,1}, {-5505,-6943,1},{-5505,-6938,1},{-5505,-6933,1},{-5503,-6933,1},{-5502,-6938,1}, {-5498,-6930,1},{-5500,-6925,1},{-5502,-6918,1},{-5500,-6918,1},{-5500,-6922,1}, {-5498,-6920,1},{-5498,-6910,1},{-5500,-6905,1},{-5498,-6897,1},{-5498,-6883,1}, {-5495,-6873,1},{-5493,-6852,1},{-5495,-6842,1},{-5497,-6838,1},{-5488,-6863,129}, {-5488,-6867,1},{-5483,-6875,1},{-5478,-6893,1},{-5478,-6897,1},{-5480,-6897,1}, {-5480,-6890,1},{-5487,-6882,1},{-5490,-6873,1},{-5493,-6880,1},{-5495,-6907,1}, {-5493,-6918,1},{-5487,-6948,1},{-5482,-6967,1},{-5478,-6967,1},{-5477,-6962,1}, {-5470,-6963,1},{-5477,-6967,1},{-5470,-6972,1},{-5480,-6972,1},{-5480,-6977,1}, {-5473,-6975,1},{-5472,-6978,1},{-5482,-6980,1},{-5482,-6992,1},{-5475,-6997,1}, {-5468,-6997,1},{-5473,-7000,1},{-5482,-6997,1},{-5483,-6998,1},{-5485,-7008,1}, {-5483,-7010,1},{-5478,-7010,1},{-5482,-7012,1},{-5478,-7015,1},{-5483,-7013,1}, {-5485,-7018,1},{-5485,-7028,1},{-5483,-7032,1},{-5478,-7032,1},{-5475,-7025,1}, {-5468,-7023,1},{-5475,-7033,1},{-5483,-7037,1},{-5477,-7060,1},{-5480,-7062,1}, {-5482,-7072,1},{-5483,-7073,1},{-5483,-7077,1},{-5482,-7083,1},{-5478,-7082,1}, {-5475,-7065,1},{-5470,-7053,1},{-5465,-7047,1},{-5463,-7047,1},{-5463,-7055,1}, {-5467,-7063,1},{-5468,-7058,1},{-5470,-7060,1},{-5473,-7072,1},{-5472,-7075,1}, {-5475,-7082,1},{-5475,-7092,1},{-5472,-7092,1},{-5468,-7077,1},{-5467,-7093,1}, {-5468,-7095,1},{-5472,-7093,1},{-5478,-7103,1},{-5477,-7105,1},{-5470,-7100,1}, {-5467,-7100,1},{-5462,-7095,1},{-5462,-7100,1},{-5460,-7105,1},{-5460,-7107,1}, {-5462,-7105,1},{-5465,-7103,1},{-5467,-7108,1},{-5463,-7110,1},{-5468,-7113,1}, {-5470,-7118,1},{-5468,-7122,1},{-5467,-7130,1},{-5465,-7130,1},{-5463,-7120,1}, {-5462,-7125,1},{-5457,-7127,1},{-5453,-7123,1},{-5457,-7130,1},{-5452,-7133,1}, {-5453,-7137,1},{-5457,-7133,1},{-5455,-7140,1},{-5458,-7140,1},{-5462,-7133,1}, {-5460,-7138,1},{-5462,-7140,1},{-5465,-7142,1},{-5463,-7145,1},{-5465,-7145,1}, {-5465,-7148,1},{-5468,-7148,1},{-5467,-7152,1},{-5460,-7148,1},{-5460,-7152,1}, {-5465,-7155,1},{-5465,-7158,1},{-5458,-7157,1},{-5458,-7160,1},{-5467,-7165,1}, {-5463,-7168,1},{-5460,-7165,1},{-5460,-7175,1},{-5462,-7175,1},{-5463,-7182,1}, {-5465,-7180,1},{-5465,-7187,1},{-5465,-7190,1},{-5465,-7195,1},{-5462,-7197,1}, {-5460,-7190,1},{-5458,-7188,1},{-5458,-7193,1},{-5458,-7195,1},{-5455,-7193,1}, {-5457,-7200,1},{-5453,-7198,1},{-5452,-7202,1},{-5452,-7193,1},{-5448,-7200,1}, {-5445,-7200,1},{-5447,-7192,1},{-5448,-7192,1},{-5450,-7187,1},{-5455,-7183,1}, {-5458,-7167,1},{-5452,-7175,1},{-5455,-7163,1},{-5455,-7158,1},{-5452,-7165,1}, {-5450,-7168,1},{-5448,-7168,1},{-5447,-7172,1},{-5448,-7177,1},{-5447,-7183,1}, {-5445,-7185,1},{-5445,-7183,1},{-5442,-7185,1},{-5442,-7180,1},{-5440,-7180,1}, {-5440,-7177,1},{-5440,-7172,1},{-5443,-7173,1},{-5450,-7162,1},{-5450,-7150,1}, {-5448,-7150,1},{-5447,-7160,1},{-5442,-7162,1},{-5442,-7158,1},{-5445,-7152,1}, {-5442,-7153,1},{-5442,-7150,1},{-5443,-7145,1},{-5443,-7140,1},{-5447,-7138,1}, {-5443,-7133,1},{-5442,-7133,1},{-5442,-7138,1},{-5440,-7143,1},{-5437,-7135,1}, {-5443,-7117,1},{-5450,-7113,1},{-5450,-7108,1},{-5443,-7113,1},{-5445,-7102,1}, {-5447,-7097,1},{-5443,-7097,1},{-5442,-7093,1},{-5435,-7095,1},{-5432,-7082,1}, {-5433,-7077,1},{-5435,-7073,1},{-5435,-7068,1},{-5433,-7067,1},{-5435,-7062,1}, {-5443,-7072,1},{-5448,-7072,1},{-5457,-7078,1},{-5460,-7077,1},{-5455,-7073,1}, {-5460,-7068,1},{-5460,-7063,1},{-5452,-7070,1},{-5445,-7067,1},{-5438,-7058,1}, {-5448,-7045,1},{-5452,-7035,1},{-5457,-7028,1},{-5455,-7023,1},{-5453,-7028,1}, {-5450,-7030,1},{-5455,-7013,1},{-5450,-7023,1},{-5442,-7045,1},{-5438,-7047,1}, {-5437,-7052,1},{-5433,-7050,1},{-5428,-7057,1},{-5427,-7070,1},{-5427,-7082,1}, {-5425,-7087,1},{-5418,-7090,1},{-5420,-7082,1},{-5415,-7090,1},{-5412,-7093,1}, {-5425,-7060,1},{-5433,-7033,1},{-5435,-7028,1},{-5437,-7023,1},{-5440,-7022,1}, {-5443,-7015,1},{-5438,-7015,1},{-5438,-7008,1},{-5437,-7007,1},{-5435,-7017,1}, {-5432,-7020,1},{-5430,-7013,1},{-5428,-7013,1},{-5425,-7005,1},{-5430,-6997,1}, {-5433,-6998,1},{-5437,-6995,1},{-5438,-6997,1},{-5438,-6992,1},{-5442,-6990,1}, {-5443,-6987,1},{-5450,-6988,1},{-5447,-6982,1},{-5450,-6978,1},{-5453,-6980,1}, {-5455,-6977,1},{-5448,-6973,1},{-5442,-6982,1},{-5438,-6980,1},{-5437,-6985,1}, {-5433,-6985,1},{-5432,-6988,1},{-5428,-6987,1},{-5428,-6980,1},{-5432,-6968,1}, {-5445,-6955,1},{-5443,-6952,1},{-5437,-6957,1},{-5433,-6955,1},{-5437,-6945,1}, {-5445,-6923,1},{-5447,-6923,1},{-5453,-6930,1},{-5455,-6937,1},{-5462,-6942,1}, {-5468,-6938,1},{-5462,-6938,1},{-5460,-6932,1},{-5455,-6928,1},{-5453,-6923,1}, {-5455,-6920,1},{-5458,-6918,1},{-5455,-6915,1},{-5450,-6918,1},{-5445,-6915,1}, {-5445,-6907,1},{-5448,-6902,1},{-5447,-6900,1},{-5443,-6898,1},{-5442,-6900,1}, {-5438,-6908,1},{-5438,-6918,1},{-5430,-6933,1},{-5427,-6952,1},{-5422,-6958,1}, {-5417,-6988,1},{-5413,-6993,1},{-5408,-7007,1},{-5398,-7010,1},{-5393,-7015,1}, {-5388,-7015,1},{-5383,-7018,1},{-5378,-7018,1},{-5375,-7017,1},{-5372,-7003,1}, {-5365,-6992,1},{-5365,-6977,1},{-5350,-6935,1},{-5347,-6933,1},{-5337,-6935,1}, {-5333,-6938,1},{-5332,-6957,1},{-5337,-6993,1},{-5340,-7002,1},{-5343,-7005,1}, {-5345,-7013,1},{-5347,-7022,1},{-5343,-7030,1},{-5340,-7033,1},{-5337,-7043,1}, {-5335,-7045,1},{-5323,-7048,1},{-5315,-7045,1},{-5302,-7045,1},{-5295,-7035,1}, {-5300,-7035,1},{-5305,-7033,1},{-5302,-7018,1},{-5298,-7013,1},{-5290,-7010,1}, {-5288,-7010,1},{-5287,-7022,1},{-5290,-7030,1},{-5283,-7027,1},{-5280,-7027,1}, {-5278,-7032,1},{-5277,-7042,1},{-5273,-7037,1},{-5272,-7017,1},{-5273,-7012,1}, {-5277,-7008,1},{-5283,-7000,1},{-5283,-6997,1},{-5282,-6992,1},{-5278,-6985,1}, {-5277,-6977,1},{-5273,-6972,1},{-5263,-6962,1},{-5253,-6962,1},{-5250,-6957,1}, {-5250,-6952,1},{-5245,-6942,1},{-5265,-6923,1},{-5268,-6915,1},{-5268,-6908,1}, {-5265,-6903,1},{-5265,-6895,1},{-5258,-6882,1},{-5255,-6878,1},{-5265,-6862,1}, {-5378,-7218,129},{-5380,-7213,1},{-5383,-7223,1},{-5387,-7222,1},{-5388,-7225,1}, {-5387,-7230,1},{-5383,-7235,1},{-5385,-7238,1},{-5387,-7235,1},{-5393,-7235,1}, {-5390,-7238,1},{-5390,-7242,1},{-5395,-7237,1},{-5397,-7242,1},{-5400,-7232,1}, {-5405,-7232,1},{-5403,-7245,1},{-5400,-7245,1},{-5398,-7252,1},{-5402,-7253,1}, {-5403,-7252,1},{-5410,-7253,1},{-5410,-7258,1},{-5407,-7262,1},{-5402,-7263,1}, {-5405,-7265,1},{-5408,-7270,1},{-5410,-7272,1},{-5410,-7277,1},{-5410,-7280,1}, {-5413,-7283,1},{-5412,-7292,1},{-5410,-7288,1},{-5408,-7288,1},{-5410,-7292,1}, {-5408,-7293,1},{-5410,-7300,1},{-5408,-7303,1},{-5407,-7300,1},{-5407,-7280,1}, {-5403,-7288,1},{-5403,-7277,1},{-5400,-7282,1},{-5398,-7278,1},{-5395,-7285,1}, {-5393,-7278,1},{-5388,-7275,1},{-5388,-7268,1},{-5387,-7265,1},{-5388,-7275,1}, {-5387,-7277,1},{-5387,-7273,1},{-5383,-7273,1},{-5387,-7278,1},{-5385,-7280,1}, {-5383,-7278,1},{-5382,-7280,1},{-5387,-7292,1},{-5387,-7295,1},{-5385,-7295,1}, {-5387,-7300,1},{-5387,-7302,1},{-5382,-7302,1},{-5382,-7305,1},{-5385,-7307,1}, {-5393,-7310,1},{-5400,-7303,1},{-5403,-7310,1},{-5402,-7313,1},{-5398,-7322,1}, {-5398,-7328,1},{-5397,-7333,1},{-5393,-7325,1},{-5392,-7327,1},{-5390,-7323,1}, {-5388,-7328,1},{-5385,-7328,1},{-5383,-7332,1},{-5380,-7325,1},{-5377,-7327,1}, {-5375,-7332,1},{-5373,-7325,1},{-5370,-7325,1},{-5372,-7337,1},{-5375,-7345,1}, {-5377,-7358,1},{-5375,-7358,1},{-5372,-7350,1},{-5370,-7348,1},{-5367,-7350,1}, {-5367,-7360,1},{-5365,-7362,1},{-5360,-7360,1},{-5358,-7357,1},{-5360,-7350,1}, {-5358,-7347,1},{-5357,-7343,1},{-5358,-7335,1},{-5365,-7328,1},{-5368,-7317,1}, {-5367,-7295,1},{-5363,-7297,1},{-5365,-7302,1},{-5365,-7308,1},{-5358,-7303,1}, {-5360,-7308,1},{-5365,-7312,1},{-5363,-7327,1},{-5360,-7330,1},{-5357,-7327,1}, {-5355,-7335,1},{-5348,-7343,1},{-5347,-7342,1},{-5348,-7333,1},{-5352,-7327,1}, {-5350,-7323,1},{-5350,-7315,1},{-5353,-7308,1},{-5347,-7313,1},{-5345,-7313,1}, {-5343,-7317,1},{-5342,-7317,1},{-5340,-7307,1},{-5338,-7303,1},{-5340,-7303,1}, {-5343,-7305,1},{-5350,-7300,1},{-5345,-7298,1},{-5342,-7302,1},{-5342,-7297,1}, {-5345,-7293,1},{-5343,-7292,1},{-5353,-7293,1},{-5352,-7290,1},{-5353,-7287,1}, {-5363,-7292,1},{-5368,-7288,1},{-5353,-7280,1},{-5347,-7287,1},{-5345,-7285,1}, {-5352,-7273,1},{-5355,-7273,1},{-5360,-7267,1},{-5368,-7268,1},{-5368,-7263,1}, {-5367,-7263,1},{-5358,-7263,1},{-5353,-7267,1},{-5360,-7255,1},{-5357,-7248,1}, {-5358,-7243,1},{-5362,-7245,1},{-5363,-7240,1},{-5365,-7240,1},{-5367,-7245,1}, {-5368,-7248,1},{-5372,-7243,1},{-5375,-7243,1},{-5370,-7238,1},{-5372,-7232,1}, {-5373,-7223,1},{-5377,-7228,1},{-5378,-7218,1},{-4338,-7390,129},{-4337,-7392,1}, {-4335,-7397,1},{-4337,-7412,1},{-4333,-7417,1},{-4332,-7422,1},{-4332,-7428,1}, {-4328,-7432,1},{-4328,-7437,1},{-4325,-7440,1},{-4317,-7437,1},{-4313,-7432,1}, {-4312,-7433,1},{-4308,-7433,1},{-4303,-7423,1},{-4300,-7425,1},{-4297,-7422,1}, {-4292,-7423,1},{-4290,-7420,1},{-4288,-7418,1},{-4278,-7420,1},{-4272,-7418,1}, {-4267,-7415,1},{-4258,-7415,1},{-4252,-7417,1},{-4250,-7422,1},{-4235,-7417,1}, {-4223,-7417,1},{-4215,-7408,1},{-4207,-7405,1},{-4197,-7407,1},{-4193,-7405,1}, {-4192,-7402,1},{-4188,-7400,1},{-4187,-7403,1},{-4185,-7407,1},{-4182,-7407,1}, {-4177,-7403,1},{-4182,-7395,1},{-4178,-7392,1},{-4178,-7390,1},{-4182,-7388,1}, {-4185,-7390,1},{-4182,-7398,1},{-4183,-7402,1},{-4187,-7398,1},{-4190,-7387,1}, {-4187,-7382,1},{-4190,-7377,1},{-4185,-7378,1},{-4182,-7368,1},{-4183,-7365,1}, {-4180,-7362,1},{-4182,-7357,1},{-4183,-7353,1},{-4185,-7350,1},{-4187,-7355,1}, {-4193,-7353,1},{-4193,-7357,1},{-4195,-7358,1},{-4197,-7353,1},{-4205,-7345,1}, {-4208,-7345,1},{-4212,-7350,1},{-4213,-7350,1},{-4220,-7338,1},{-4222,-7340,1}, {-4225,-7337,1},{-4230,-7338,1},{-4232,-7340,1},{-4230,-7343,1},{-4232,-7347,1}, {-4233,-7348,1},{-4232,-7357,1},{-4237,-7367,1},{-4247,-7370,1},{-4252,-7362,1}, {-4255,-7372,1},{-4252,-7378,1},{-4247,-7377,1},{-4248,-7380,1},{-4252,-7382,1}, {-4255,-7380,1},{-4260,-7382,1},{-4262,-7380,1},{-4265,-7375,1},{-4267,-7370,1}, {-4268,-7370,1},{-4270,-7365,1},{-4273,-7363,1},{-4280,-7350,1},{-4288,-7350,1}, {-4287,-7370,1},{-4290,-7365,1},{-4293,-7365,1},{-4297,-7362,1},{-4297,-7357,1}, {-4302,-7357,1},{-4305,-7352,1},{-4303,-7360,1},{-4305,-7360,1},{-4308,-7350,1}, {-4312,-7348,1},{-4313,-7352,1},{-4312,-7357,1},{-4312,-7362,1},{-4313,-7365,1}, {-4315,-7373,1},{-4312,-7373,1},{-4312,-7377,1},{-4313,-7378,1},{-4320,-7377,1}, {-4325,-7372,1},{-4328,-7370,1},{-4330,-7370,1},{-4330,-7373,1},{-4333,-7370,1}, {-4337,-7372,1},{-4337,-7378,1},{-4335,-7380,1},{-4337,-7382,1},{-4338,-7382,1}, {-4340,-7387,1},{-4338,-7390,1},{-5265,-6862,129},{-5283,-6843,1},{-5293,-6830,1}, {-5312,-6822,1},{-5312,-6825,1},{-5302,-6828,1},{-5300,-6832,1},{-5302,-6840,1}, {-5308,-6847,1},{-5312,-6853,1},{-5317,-6857,1},{-5323,-6855,1},{-5327,-6850,1}, {-5330,-6842,1},{-5330,-6817,1},{-5338,-6810,1},{-5352,-6805,1},{-5360,-6798,1}, {-5375,-6773,1},{-5378,-6772,1},{-5378,-6767,1},{-5383,-6758,1},{-5392,-6757,1}, {-5403,-6737,1},{-5415,-6705,1},{-5422,-6692,1},{-5423,-6685,1},{-5428,-6673,1}, {-5442,-6655,1},{-5447,-6643,1},{-5447,-6638,1},{-5453,-6623,1},{-5463,-6588,1}, {-5465,-6583,1},{-5465,-6575,1},{-5467,-6570,1},{-5463,-6532,1},{-5463,-6522,1}, {-5465,-6513,1},{-5468,-6520,1},{-5477,-6522,1},{-5480,-6525,1},{-5482,-6523,1}, {-5487,-6532,1},{-5490,-6532,1},{-5493,-6535,1},{-5493,-6540,1},{-5490,-6540,1}, {-5488,-6547,1},{-5493,-6548,1},{-5493,-6562,1},{-5497,-6565,1},{-5497,-6570,1}, {-5492,-6572,1},{-5490,-6577,1},{-5490,-6597,1},{-5492,-6595,1},{-5493,-6597,1}, {-5495,-6602,1},{-5498,-6612,1},{-5498,-6637,1},{-5503,-6640,1},{-5505,-6645,1}, {-5503,-6665,1},{-5495,-6680,1},{-5493,-6692,1},{-5490,-6702,1},{-5488,-6745,1}, {-5487,-6753,1},{-5488,-6768,1},{-5488,-6785,1},{-5482,-6823,1},{-5480,-6830,1}, {-5485,-6832,1},{-5485,-6852,1},{-5485,-6857,1},{-5478,-6863,1},{-27,-4840,129}, {-30,-4837,1},{-37,-4837,1},{-38,-4838,1},{-43,-4842,1},{-53,-4847,1},{-60,-4847,1}, {-65,-4848,1},{-73,-4850,1},{-73,-4852,1},{-68,-4857,1},{-77,-4852,1},{-80,-4853,1}, {-83,-4852,1},{-88,-4853,1},{-92,-4855,1},{-95,-4862,1},{-98,-4863,1},{-100,-4867,1}, {-102,-4867,1},{-102,-4863,1},{-105,-4865,1},{-107,-4862,1},{-112,-4868,1}, {-113,-4873,1},{-120,-4882,1},{-120,-4885,1},{-113,-4892,1},{-118,-4890,1}, {-122,-4883,1},{-125,-4883,1},{-125,-4887,1},{-127,-4880,1},{-135,-4880,1}, {-142,-4883,1},{-140,-4887,1},{-130,-4893,1},{-130,-4898,1},{-130,-4895,1}, {-132,-4893,1},{-133,-4898,1},{-135,-4897,1},{-138,-4898,1},{-135,-4895,1}, {-138,-4892,1},{-145,-4883,1},{-147,-4890,1},{-150,-4892,1},{-152,-4902,1}, {-153,-4905,1},{-150,-4912,1},{-140,-4915,1},{-138,-4920,1},{-140,-4920,1}, {-142,-4918,1},{-145,-4918,1},{-153,-4922,1},{-157,-4918,1},{-158,-4923,1}, {-158,-4920,1},{-160,-4918,1},{-158,-4917,1},{-160,-4917,1},{-162,-4918,1}, {-162,-4923,1},{-162,-4927,1},{-157,-4930,1},{-155,-4933,1},{-155,-4935,1}, {-157,-4935,1},{-157,-4937,1},{-153,-4940,1},{-148,-4938,1},{-153,-4942,1}, {-157,-4948,1},{-150,-4950,1},{-150,-4953,1},{-153,-4950,1},{-158,-4950,1}, {-158,-4952,1},{-162,-4952,1},{-165,-4955,1},{-167,-4955,1},{-168,-4957,1}, {-168,-4955,1},{-172,-4955,1},{-173,-4962,1},{-178,-4968,1},{-175,-4972,1}, {-173,-4972,1},{-165,-4975,1},{-158,-4973,1},{-165,-4977,1},{-173,-4973,1}, {-177,-4973,1},{-180,-4977,1},{-182,-4982,1},{-175,-4997,1},{-175,-5002,1}, {-172,-5003,1},{-167,-5003,1},{-165,-5005,1},{-167,-5007,1},{-172,-5005,1}, {-177,-5010,1},{-178,-5015,1},{-175,-5018,1},{-173,-5023,1},{-163,-5023,1}, {-162,-5027,1},{-160,-5028,1},{-157,-5023,1},{-152,-5027,1},{-148,-5027,1}, {-152,-5028,1},{-157,-5025,1},{-158,-5028,1},{-160,-5028,1},{-163,-5025,1}, {-173,-5027,1},{-165,-5030,1},{-177,-5028,1},{-178,-5033,1},{-177,-5037,1}, {-180,-5030,1},{-182,-5030,1},{-183,-5038,1},{-183,-5045,1},{-180,-5058,1}, {-175,-5060,1},{-173,-5058,1},{-173,-5057,1},{-163,-5063,1},{-155,-5073,1}, {-143,-5080,1},{-138,-5078,1},{-137,-5080,1},{-133,-5082,1},{-120,-5077,1}, {-115,-5078,1},{-112,-5080,1},{-110,-5080,1},{-112,-5073,1},{-118,-5057,1}, {-117,-5057,1},{-113,-5062,1},{-110,-5057,1},{-110,-5052,1},{-107,-5055,1}, {-103,-5053,1},{-103,-5048,1},{-102,-5052,1},{-105,-5055,1},{-107,-5057,1}, {-107,-5062,1},{-110,-5065,1},{-110,-5072,1},{-108,-5075,1},{-105,-5078,1}, {-98,-5080,1},{-85,-5078,1},{-85,-5077,1},{-80,-5077,1},{-82,-5073,1},{-80,-5075,1}, {-78,-5078,1},{-77,-5078,1},{-72,-5077,1},{-70,-5078,1},{-67,-5078,1},{-57,-5073,1}, {-57,-5072,1},{-65,-5068,1},{-65,-5063,1},{-68,-5060,1},{-68,-5053,1},{-65,-5060,1}, {-63,-5068,1},{-50,-5073,1},{-38,-5070,1},{-28,-5067,1},{-20,-5058,1},{-20,-5053,1}, {-17,-5048,1},{-17,-5040,1},{-10,-5037,1},{-10,-5035,1},{-13,-5023,1},{-13,-5013,1}, {-20,-4983,1},{-20,-4977,1},{-25,-4965,1},{-23,-4958,1},{-25,-4952,1},{-22,-4943,1}, {-27,-4940,1},{-25,-4938,1},{-22,-4940,1},{-20,-4940,1},{-17,-4933,1},{-15,-4925,1}, {-13,-4920,1},{-15,-4917,1},{-15,-4915,1},{-17,-4912,1},{-17,-4902,1},{-15,-4900,1}, {-22,-4890,1},{-20,-4882,1},{-22,-4875,1},{-25,-4868,1},{-23,-4862,1},{-27,-4840,1}, {1082,-6108,129},{1083,-6102,1},{1083,-6098,1},{1083,-6093,1},{1082,-6090,1}, {1075,-6095,1},{1070,-6100,1},{1070,-6102,1},{1067,-6103,1},{1053,-6102,1}, {1052,-6103,1},{1048,-6105,1},{1038,-6102,1},{1035,-6100,1},{1033,-6097,1}, {1030,-6100,1},{1013,-6100,1},{1013,-6103,1},{1008,-6112,1},{1007,-6120,1}, {1008,-6127,1},{1007,-6133,1},{1007,-6155,1},{1005,-6163,1},{1008,-6168,1}, {1007,-6183,1},{1003,-6192,1},{1005,-6192,1},{1007,-6192,1},{1010,-6183,1}, {1013,-6182,1},{1017,-6170,1},{1020,-6163,1},{1025,-6163,1},{1023,-6153,1}, {1025,-6150,1},{1028,-6145,1},{1033,-6147,1},{1042,-6148,1},{1053,-6145,1}, {1060,-6147,1},{1063,-6148,1},{1067,-6155,1},{1068,-6160,1},{1068,-6165,1}, {1072,-6167,1},{1073,-6160,1},{1075,-6148,1},{1077,-6147,1},{1075,-6145,1}, {1077,-6143,1},{1075,-6143,1},{1077,-6142,1},{1077,-6140,1},{1080,-6137,1}, {1080,-6135,1},{1078,-6120,1},{1080,-6117,1},{1082,-6108,1},{1135,-6053,129}, {1127,-6053,1},{1125,-6058,1},{1120,-6063,1},{1120,-6068,1},{1118,-6072,1}, {1118,-6073,1},{1113,-6080,1},{1115,-6085,1},{1118,-6085,1},{1118,-6082,1}, {1130,-6068,1},{1133,-6058,1},{1132,-6057,1},{1133,-6055,1},{1135,-6053,1}, {-5202,-6103,129},{-5200,-6102,1},{-5203,-6097,1},{-5203,-6088,1},{-5207,-6088,1}, {-5207,-6087,1},{-5203,-6087,1},{-5202,-6075,1},{-5200,-6075,1},{-5200,-6082,1}, {-5195,-6083,1},{-5197,-6070,1},{-5198,-6068,1},{-5197,-6067,1},{-5198,-6065,1}, {-5197,-6063,1},{-5198,-6057,1},{-5200,-6055,1},{-5200,-6053,1},{-5198,-6053,1}, {-5197,-6045,1},{-5192,-6040,1},{-5195,-6052,1},{-5193,-6060,1},{-5193,-6052,1}, {-5192,-6047,1},{-5188,-6045,1},{-5182,-6045,1},{-5178,-6043,1},{-5177,-6038,1}, {-5178,-6038,1},{-5180,-6040,1},{-5180,-6037,1},{-5183,-6038,1},{-5187,-6035,1}, {-5183,-6033,1},{-5182,-6030,1},{-5180,-6032,1},{-5175,-6030,1},{-5175,-6027,1}, {-5178,-6025,1},{-5178,-6022,1},{-5177,-6018,1},{-5172,-6018,1},{-5170,-6023,1}, {-5172,-6028,1},{-5172,-6035,1},{-5175,-6037,1},{-5175,-6048,1},{-5177,-6052,1}, {-5180,-6055,1},{-5177,-6057,1},{-5172,-6065,1},{-5167,-6063,1},{-5170,-6048,1}, {-5167,-6035,1},{-5168,-6028,1},{-5165,-6023,1},{-5170,-6013,1},{-5170,-6007,1}, {-5167,-6010,1},{-5167,-6017,1},{-5160,-6028,1},{-5157,-6032,1},{-5153,-6050,1}, {-5150,-6052,1},{-5148,-6050,1},{-5150,-6038,1},{-5148,-6038,1},{-5145,-6045,1}, {-5143,-6055,1},{-5142,-6062,1},{-5135,-6065,1},{-5135,-6058,1},{-5138,-6047,1}, {-5148,-6025,1},{-5150,-6013,1},{-5147,-5998,1},{-5145,-6010,1},{-5138,-6002,1}, {-5142,-5998,1},{-5137,-5990,1},{-5138,-5987,1},{-5140,-5988,1},{-5142,-5977,1}, {-5143,-5983,1},{-5145,-5975,1},{-5143,-5958,1},{-5140,-5950,1},{-5143,-5953,1}, {-5145,-5958,1},{-5147,-5952,1},{-5145,-5945,1},{-5143,-5938,1},{-5140,-5945,1}, {-5135,-5945,1},{-5135,-5942,1},{-5133,-5942,1},{-5140,-5922,1},{-5142,-5928,1}, {-5145,-5928,1},{-5145,-5923,1},{-5150,-5932,1},{-5150,-5937,1},{-5153,-5938,1}, {-5153,-5935,1},{-5160,-5940,1},{-5162,-5945,1},{-5162,-5947,1},{-5160,-5945,1}, {-5160,-5947,1},{-5165,-5957,1},{-5167,-5955,1},{-5173,-5962,1},{-5180,-5973,1}, {-5195,-5987,1},{-5200,-5998,1},{-5197,-6000,1},{-5197,-6005,1},{-5193,-6007,1}, {-5195,-6008,1},{-5200,-6008,1},{-5200,-6022,1},{-5197,-6018,1},{-5200,-6027,1}, {-5202,-6028,1},{-5208,-6027,1},{-5217,-6037,1},{-5217,-6040,1},{-5213,-6042,1}, {-5213,-6043,1},{-5217,-6045,1},{-5217,-6047,1},{-5212,-6053,1},{-5212,-6055,1}, {-5220,-6050,1},{-5223,-6058,1},{-5223,-6063,1},{-5222,-6067,1},{-5220,-6068,1}, {-5220,-6063,1},{-5215,-6070,1},{-5212,-6068,1},{-5212,-6070,1},{-5212,-6083,1}, {-5213,-6077,1},{-5218,-6073,1},{-5217,-6080,1},{-5212,-6087,1},{-5212,-6092,1}, {-5207,-6098,1},{-5207,-6102,1},{-5202,-6103,1},{-5212,-5972,129},{-5210,-5972,1}, {-5212,-5965,1},{-5212,-5962,1},{-5208,-5963,1},{-5207,-5957,1},{-5202,-5963,1}, {-5202,-5958,1},{-5202,-5957,1},{-5198,-5958,1},{-5197,-5952,1},{-5195,-5958,1}, {-5193,-5960,1},{-5193,-5948,1},{-5193,-5947,1},{-5188,-5952,1},{-5187,-5947,1}, {-5183,-5948,1},{-5183,-5943,1},{-5182,-5940,1},{-5183,-5937,1},{-5178,-5935,1}, {-5180,-5932,1},{-5178,-5928,1},{-5175,-5930,1},{-5172,-5923,1},{-5168,-5907,1}, {-5172,-5905,1},{-5175,-5903,1},{-5182,-5905,1},{-5180,-5898,1},{-5172,-5900,1}, {-5170,-5903,1},{-5168,-5902,1},{-5165,-5898,1},{-5163,-5908,1},{-5158,-5917,1}, {-5153,-5912,1},{-5150,-5910,1},{-5158,-5905,1},{-5157,-5902,1},{-5152,-5905,1}, {-5150,-5898,1},{-5147,-5907,1},{-5147,-5912,1},{-5142,-5910,1},{-5142,-5903,1}, {-5142,-5900,1},{-5138,-5898,1},{-5138,-5887,1},{-5125,-5895,1},{-5128,-5888,1}, {-5133,-5870,1},{-5135,-5862,1},{-5133,-5862,1},{-5132,-5860,1},{-5130,-5855,1}, {-5130,-5847,1},{-5133,-5840,1},{-5137,-5835,1},{-5142,-5832,1},{-5145,-5837,1}, {-5145,-5843,1},{-5140,-5848,1},{-5142,-5853,1},{-5143,-5855,1},{-5145,-5850,1}, {-5150,-5852,1},{-5148,-5843,1},{-5150,-5842,1},{-5155,-5842,1},{-5153,-5840,1}, {-5157,-5837,1},{-5155,-5832,1},{-5157,-5828,1},{-5160,-5828,1},{-5165,-5823,1}, {-5165,-5822,1},{-5160,-5825,1},{-5160,-5817,1},{-5157,-5823,1},{-5153,-5822,1}, {-5153,-5828,1},{-5148,-5828,1},{-5152,-5833,1},{-5150,-5835,1},{-5142,-5828,1}, {-5140,-5822,1},{-5138,-5792,1},{-5140,-5787,1},{-5143,-5787,1},{-5147,-5783,1}, {-5150,-5777,1},{-5152,-5780,1},{-5155,-5777,1},{-5153,-5793,1},{-5150,-5803,1}, {-5153,-5803,1},{-5152,-5808,1},{-5153,-5812,1},{-5155,-5815,1},{-5160,-5802,1}, {-5162,-5778,1},{-5163,-5777,1},{-5165,-5777,1},{-5167,-5788,1},{-5168,-5790,1}, {-5170,-5785,1},{-5168,-5777,1},{-5170,-5773,1},{-5172,-5783,1},{-5173,-5797,1}, {-5173,-5795,1},{-5175,-5803,1},{-5175,-5827,1},{-5178,-5822,1},{-5178,-5815,1}, {-5180,-5825,1},{-5183,-5835,1},{-5183,-5828,1},{-5182,-5823,1},{-5182,-5818,1}, {-5190,-5842,1},{-5188,-5850,1},{-5190,-5860,1},{-5188,-5863,1},{-5188,-5878,1}, {-5187,-5880,1},{-5183,-5892,1},{-5180,-5893,1},{-5185,-5897,1},{-5192,-5880,1}, {-5193,-5880,1},{-5193,-5882,1},{-5195,-5880,1},{-5197,-5863,1},{-5200,-5863,1}, {-5200,-5860,1},{-5203,-5867,1},{-5212,-5863,1},{-5212,-5868,1},{-5210,-5868,1}, {-5205,-5873,1},{-5203,-5878,1},{-5205,-5882,1},{-5205,-5885,1},{-5207,-5885,1}, {-5210,-5893,1},{-5207,-5895,1},{-5207,-5897,1},{-5207,-5898,1},{-5203,-5900,1}, {-5202,-5902,1},{-5203,-5905,1},{-5202,-5907,1},{-5202,-5910,1},{-5198,-5915,1}, {-5202,-5920,1},{-5198,-5925,1},{-5200,-5930,1},{-5202,-5930,1},{-5203,-5920,1}, {-5207,-5918,1},{-5207,-5912,1},{-5208,-5915,1},{-5210,-5908,1},{-5215,-5915,1}, {-5215,-5913,1},{-5215,-5903,1},{-5218,-5910,1},{-5220,-5908,1},{-5220,-5905,1}, {-5223,-5907,1},{-5220,-5917,1},{-5222,-5923,1},{-5217,-5925,1},{-5212,-5938,1}, {-5215,-5940,1},{-5213,-5943,1},{-5215,-5945,1},{-5217,-5945,1},{-5218,-5942,1}, {-5222,-5943,1},{-5225,-5935,1},{-5230,-5937,1},{-5233,-5933,1},{-5235,-5933,1}, {-5233,-5937,1},{-5230,-5942,1},{-5230,-5948,1},{-5225,-5952,1},{-5223,-5958,1}, {-5220,-5957,1},{-5220,-5962,1},{-5217,-5963,1},{-5213,-5972,1},{-5210,-5972,1}, {10,-9150,129},{5,-9150,1},{0,-9160,1},{-2,-9160,1},{-5,-9157,1},{-2,-9148,1}, {-3,-9142,1},{-15,-9140,1},{-18,-9138,1},{-20,-9140,1},{-23,-9142,1},{-25,-9138,1}, {-30,-9137,1},{-33,-9133,1},{-38,-9123,1},{-45,-9123,1},{-55,-9115,1},{-55,-9112,1}, {-58,-9108,1},{-62,-9108,1},{-62,-9112,1},{-63,-9113,1},{-65,-9113,1},{-68,-9115,1}, {-67,-9123,1},{-68,-9132,1},{-70,-9132,1},{-78,-9142,1},{-83,-9148,1},{-87,-9150,1}, {-92,-9148,1},{-95,-9145,1},{-100,-9143,1},{-102,-9142,1},{-103,-9138,1}, {-102,-9132,1},{-103,-9120,1},{-102,-9115,1},{-102,-9108,1},{-97,-9100,1}, {-97,-9093,1},{-92,-9088,1},{-92,-9085,1},{-87,-9087,1},{-78,-9083,1},{-77,-9080,1}, {-75,-9078,1},{-70,-9085,1},{-67,-9085,1},{-65,-9088,1},{-62,-9092,1},{-62,-9097,1}, {-57,-9095,1},{-58,-9098,1},{-52,-9095,1},{-47,-9097,1},{-43,-9095,1},{-35,-9105,1}, {-30,-9113,1},{-28,-9112,1},{-23,-9117,1},{-15,-9120,1},{-2,-9120,1},{2,-9128,1}, {5,-9128,1},{8,-9132,1},{13,-9132,1},{15,-9137,1},{13,-9138,1},{10,-9143,1}, {10,-9150,1},{-28,-9167,129},{-38,-9165,1},{-47,-9162,1},{-47,-9157,1}, {-50,-9150,1},{-47,-9140,1},{-45,-9140,1},{-40,-9140,1},{-33,-9140,1},{-28,-9142,1}, {-25,-9147,1},{-28,-9157,1},{-28,-9167,1},{-2060,-4660,130},{-2058,-4660,2}, {-2050,-4670,2},{-2050,-4680,2},{-2047,-4682,2},{-2048,-4685,2},{-2052,-4683,2}, {-2052,-4685,2},{-2053,-4680,2},{-2055,-4680,2},{-2057,-4680,2},{-2055,-4682,2}, {-2055,-4687,2},{-2052,-4687,2},{-2052,-4685,2},{-2048,-4687,2},{-2050,-4688,2}, {-2048,-4687,2},{-2047,-4688,2},{-2045,-4683,2},{-2043,-4683,2},{-2042,-4687,2}, {-2043,-4687,2},{-2043,-4692,2},{-2040,-4693,2},{-2042,-4695,2},{-2037,-4693,2}, {-2038,-4695,2},{-2038,-4697,2},{-2042,-4697,2},{-2042,-4698,2},{-2035,-4700,2}, {-2037,-4702,2},{-2032,-4702,2},{-2032,-4705,2},{-2027,-4707,2},{-2025,-4707,2}, {-2027,-4705,2},{-2030,-4705,2},{-2032,-4702,2},{-2028,-4697,2},{-2027,-4697,2}, {-2027,-4695,2},{-2028,-4695,2},{-2032,-4698,2},{-2032,-4697,2},{-2032,-4693,2}, {-2028,-4690,2},{-2032,-4690,2},{-2033,-4697,2},{-2037,-4697,2},{-2033,-4693,2}, {-2035,-4693,2},{-2033,-4692,2},{-2037,-4692,2},{-2037,-4688,2},{-2033,-4687,2}, {-2037,-4687,2},{-2038,-4690,2},{-2040,-4690,2},{-2040,-4683,2},{-2037,-4682,2}, {-2040,-4682,2},{-2040,-4678,2},{-2042,-4680,2},{-2042,-4682,2},{-2047,-4680,2}, {-2048,-4673,2},{-2047,-4668,2},{-2050,-4668,2},{-2050,-4665,2},{-2053,-4665,2}, {-2055,-4660,2},{-2055,-4655,2},{-2057,-4658,2},{-2058,-4658,2},{-2062,-4660,2}, {-2060,-4660,2},{-2155,-4555,130},{-2153,-4553,2},{-2153,-4552,2},{-2147,-4560,2}, {-2145,-4565,2},{-2147,-4567,2},{-2152,-4568,2},{-2147,-4567,2},{-2145,-4568,2}, {-2145,-4573,2},{-2143,-4573,2},{-2143,-4575,2},{-2147,-4578,2},{-2142,-4578,2}, {-2142,-4582,2},{-2153,-4587,2},{-2148,-4587,2},{-2142,-4582,2},{-2138,-4588,2}, {-2138,-4585,2},{-2137,-4585,2},{-2135,-4583,2},{-2135,-4585,2},{-2133,-4583,2}, {-2130,-4585,2},{-2128,-4590,2},{-2130,-4592,2},{-2128,-4592,2},{-2127,-4593,2}, {-2128,-4595,2},{-2125,-4595,2},{-2127,-4597,2},{-2128,-4597,2},{-2128,-4598,2}, {-2135,-4597,2},{-2133,-4598,2},{-2137,-4600,2},{-2140,-4598,2},{-2140,-4602,2}, {-2143,-4600,2},{-2143,-4602,2},{-2142,-4603,2},{-2145,-4608,2},{-2142,-4607,2}, {-2142,-4608,2},{-2142,-4612,2},{-2145,-4620,2},{-2140,-4613,2},{-2138,-4607,2}, {-2140,-4605,2},{-2138,-4605,2},{-2138,-4602,2},{-2135,-4603,2},{-2133,-4600,2}, {-2132,-4607,2},{-2133,-4607,2},{-2132,-4608,2},{-2132,-4612,2},{-2130,-4617,2}, {-2127,-4617,2},{-2128,-4613,2},{-2132,-4610,2},{-2130,-4607,2},{-2132,-4603,2}, {-2130,-4602,2},{-2132,-4600,2},{-2128,-4600,2},{-2127,-4600,2},{-2125,-4607,2}, {-2123,-4597,2},{-2117,-4597,2},{-2115,-4597,2},{-2118,-4602,2},{-2117,-4602,2}, {-2115,-4598,2},{-2112,-4597,2},{-2108,-4598,2},{-2107,-4603,2},{-2108,-4607,2}, {-2110,-4607,2},{-2110,-4610,2},{-2108,-4608,2},{-2107,-4607,2},{-2102,-4618,2}, {-2100,-4617,2},{-2103,-4610,2},{-2102,-4607,2},{-2103,-4607,2},{-2103,-4605,2}, {-2100,-4602,2},{-2100,-4605,2},{-2098,-4603,2},{-2097,-4608,2},{-2093,-4610,2}, {-2095,-4613,2},{-2095,-4617,2},{-2095,-4613,2},{-2092,-4612,2},{-2092,-4608,2}, {-2088,-4608,2},{-2087,-4605,2},{-2083,-4607,2},{-2083,-4610,2},{-2085,-4608,2}, {-2085,-4610,2},{-2083,-4612,2},{-2085,-4613,2},{-2087,-4615,2},{-2087,-4618,2}, {-2083,-4618,2},{-2082,-4618,2},{-2083,-4620,2},{-2077,-4615,2},{-2077,-4617,2}, {-2075,-4617,2},{-2073,-4613,2},{-2072,-4615,2},{-2070,-4623,2},{-2072,-4623,2}, {-2072,-4625,2},{-2067,-4625,2},{-2067,-4632,2},{-2065,-4625,2},{-2067,-4623,2}, {-2065,-4622,2},{-2067,-4620,2},{-2068,-4618,2},{-2067,-4615,2},{-2070,-4612,2}, {-2068,-4610,2},{-2067,-4610,2},{-2065,-4608,2},{-2065,-4610,2},{-2063,-4607,2}, {-2068,-4608,2},{-2067,-4607,2},{-2068,-4603,2},{-2065,-4600,2},{-2063,-4598,2}, {-2065,-4597,2},{-2067,-4600,2},{-2067,-4598,2},{-2068,-4595,2},{-2070,-4597,2}, {-2072,-4597,2},{-2072,-4595,2},{-2072,-4590,2},{-2070,-4592,2},{-2070,-4588,2}, {-2067,-4585,2},{-2062,-4582,2},{-2058,-4580,2},{-2055,-4582,2},{-2053,-4580,2}, {-2050,-4580,2},{-2052,-4578,2},{-2058,-4578,2},{-2057,-4575,2},{-2058,-4575,2}, {-2058,-4578,2},{-2062,-4578,2},{-2060,-4575,2},{-2062,-4575,2},{-2063,-4575,2}, {-2063,-4572,2},{-2065,-4572,2},{-2063,-4578,2},{-2065,-4582,2},{-2067,-4580,2}, {-2067,-4577,2},{-2067,-4575,2},{-2070,-4575,2},{-2070,-4573,2},{-2072,-4572,2}, {-2072,-4570,2},{-2070,-4570,2},{-2072,-4567,2},{-2068,-4567,2},{-2070,-4567,2}, {-2067,-4565,2},{-2063,-4563,2},{-2057,-4565,2},{-2055,-4563,2},{-2053,-4560,2}, {-2055,-4562,2},{-2063,-4562,2},{-2057,-4557,2},{-2060,-4557,2},{-2058,-4553,2}, {-2067,-4562,2},{-2068,-4563,2},{-2067,-4557,2},{-2068,-4548,2},{-2070,-4550,2}, {-2070,-4563,2},{-2073,-4565,2},{-2075,-4572,2},{-2078,-4570,2},{-2077,-4568,2}, {-2077,-4563,2},{-2078,-4567,2},{-2080,-4567,2},{-2082,-4565,2},{-2082,-4567,2}, {-2085,-4568,2},{-2087,-4567,2},{-2087,-4565,2},{-2083,-4565,2},{-2082,-4560,2}, {-2080,-4557,2},{-2082,-4558,2},{-2082,-4562,2},{-2085,-4563,2},{-2085,-4560,2}, {-2093,-4558,2},{-2093,-4548,2},{-2092,-4547,2},{-2095,-4550,2},{-2095,-4552,2}, {-2097,-4552,2},{-2100,-4548,2},{-2102,-4540,2},{-2107,-4538,2},{-2103,-4527,2}, {-2100,-4527,2},{-2102,-4525,2},{-2102,-4522,2},{-2103,-4525,2},{-2105,-4527,2}, {-2108,-4525,2},{-2112,-4527,2},{-2113,-4522,2},{-2112,-4522,2},{-2108,-4523,2}, {-2107,-4522,2},{-2112,-4520,2},{-2115,-4525,2},{-2112,-4528,2},{-2108,-4527,2}, {-2105,-4528,2},{-2107,-4538,2},{-2110,-4540,2},{-2108,-4540,2},{-2107,-4540,2}, {-2105,-4542,2},{-2103,-4545,2},{-2103,-4547,2},{-2102,-4550,2},{-2102,-4548,2}, {-2100,-4552,2},{-2100,-4553,2},{-2103,-4552,2},{-2102,-4553,2},{-2103,-4553,2}, {-2107,-4555,2},{-2110,-4552,2},{-2108,-4557,2},{-2102,-4555,2},{-2102,-4558,2}, {-2100,-4553,2},{-2098,-4553,2},{-2095,-4553,2},{-2095,-4560,2},{-2090,-4562,2}, {-2088,-4565,2},{-2088,-4568,2},{-2090,-4570,2},{-2082,-4568,2},{-2082,-4572,2}, {-2077,-4573,2},{-2077,-4575,2},{-2073,-4577,2},{-2073,-4580,2},{-2067,-4583,2}, {-2068,-4585,2},{-2072,-4587,2},{-2072,-4585,2},{-2073,-4590,2},{-2075,-4583,2}, {-2078,-4587,2},{-2075,-4587,2},{-2075,-4588,2},{-2077,-4590,2},{-2075,-4593,2}, {-2080,-4592,2},{-2078,-4593,2},{-2073,-4595,2},{-2075,-4597,2},{-2078,-4597,2}, {-2075,-4598,2},{-2077,-4600,2},{-2075,-4600,2},{-2075,-4602,2},{-2070,-4598,2}, {-2067,-4600,2},{-2070,-4603,2},{-2070,-4608,2},{-2072,-4605,2},{-2072,-4610,2}, {-2073,-4608,2},{-2073,-4612,2},{-2077,-4608,2},{-2077,-4612,2},{-2078,-4610,2}, {-2078,-4612,2},{-2083,-4617,2},{-2080,-4610,2},{-2083,-4605,2},{-2088,-4605,2}, {-2090,-4602,2},{-2092,-4602,2},{-2092,-4598,2},{-2092,-4602,2},{-2090,-4605,2}, {-2092,-4608,2},{-2095,-4605,2},{-2093,-4603,2},{-2097,-4602,2},{-2095,-4600,2}, {-2100,-4598,2},{-2098,-4597,2},{-2102,-4600,2},{-2102,-4598,2},{-2103,-4602,2}, {-2105,-4602,2},{-2105,-4597,2},{-2105,-4595,2},{-2100,-4590,2},{-2105,-4577,2}, {-2107,-4577,2},{-2107,-4578,2},{-2107,-4575,2},{-2108,-4575,2},{-2107,-4573,2}, {-2108,-4573,2},{-2108,-4575,2},{-2107,-4578,2},{-2107,-4583,2},{-2108,-4582,2}, {-2110,-4583,2},{-2107,-4585,2},{-2107,-4587,2},{-2105,-4587,2},{-2105,-4593,2}, {-2107,-4593,2},{-2107,-4592,2},{-2108,-4590,2},{-2108,-4595,2},{-2113,-4597,2}, {-2115,-4595,2},{-2115,-4590,2},{-2118,-4590,2},{-2118,-4588,2},{-2117,-4593,2}, {-2118,-4593,2},{-2122,-4595,2},{-2123,-4590,2},{-2123,-4592,2},{-2128,-4583,2}, {-2132,-4582,2},{-2130,-4580,2},{-2132,-4578,2},{-2128,-4577,2},{-2130,-4575,2}, {-2132,-4577,2},{-2133,-4582,2},{-2138,-4583,2},{-2138,-4580,2},{-2140,-4580,2}, {-2142,-4575,2},{-2142,-4573,2},{-2143,-4572,2},{-2142,-4568,2},{-2145,-4567,2}, {-2143,-4565,2},{-2143,-4562,2},{-2145,-4560,2},{-2143,-4555,2},{-2147,-4558,2}, {-2150,-4553,2},{-2153,-4550,2},{-2153,-4553,2},{-2157,-4553,2},{-2155,-4555,2}, {-1905,-4512,130},{-1900,-4512,2},{-1898,-4513,2},{-1897,-4512,2},{-1893,-4513,2}, {-1892,-4512,2},{-1890,-4518,2},{-1895,-4517,2},{-1897,-4517,2},{-1893,-4518,2}, {-1898,-4522,2},{-1897,-4522,2},{-1893,-4522,2},{-1895,-4523,2},{-1892,-4525,2}, {-1897,-4530,2},{-1900,-4533,2},{-1900,-4535,2},{-1900,-4537,2},{-1903,-4542,2}, {-1902,-4543,2},{-1902,-4542,2},{-1897,-4537,2},{-1897,-4532,2},{-1895,-4537,2}, {-1895,-4542,2},{-1893,-4543,2},{-1895,-4540,2},{-1893,-4538,2},{-1892,-4538,2}, {-1893,-4535,2},{-1890,-4537,2},{-1893,-4533,2},{-1895,-4532,2},{-1895,-4530,2}, {-1892,-4528,2},{-1893,-4527,2},{-1890,-4527,2},{-1890,-4525,2},{-1893,-4520,2}, {-1890,-4522,2},{-1887,-4520,2},{-1887,-4518,2},{-1882,-4518,2},{-1878,-4522,2}, {-1873,-4520,2},{-1870,-4522,2},{-1872,-4525,2},{-1875,-4523,2},{-1875,-4525,2}, {-1877,-4525,2},{-1880,-4528,2},{-1880,-4527,2},{-1882,-4527,2},{-1885,-4522,2}, {-1885,-4525,2},{-1887,-4528,2},{-1883,-4527,2},{-1885,-4530,2},{-1887,-4532,2}, {-1885,-4532,2},{-1883,-4528,2},{-1882,-4528,2},{-1883,-4533,2},{-1885,-4537,2}, {-1882,-4538,2},{-1882,-4535,2},{-1878,-4535,2},{-1882,-4533,2},{-1882,-4530,2}, {-1877,-4528,2},{-1877,-4527,2},{-1875,-4528,2},{-1872,-4527,2},{-1868,-4523,2}, {-1865,-4525,2},{-1862,-4525,2},{-1862,-4527,2},{-1858,-4523,2},{-1860,-4528,2}, {-1863,-4530,2},{-1862,-4530,2},{-1872,-4535,2},{-1865,-4533,2},{-1865,-4538,2}, {-1863,-4540,2},{-1862,-4538,2},{-1863,-4537,2},{-1863,-4533,2},{-1860,-4530,2}, {-1862,-4533,2},{-1860,-4533,2},{-1858,-4533,2},{-1860,-4532,2},{-1857,-4530,2}, {-1855,-4530,2},{-1857,-4527,2},{-1853,-4522,2},{-1853,-4525,2},{-1853,-4528,2}, {-1850,-4528,2},{-1852,-4532,2},{-1850,-4530,2},{-1848,-4535,2},{-1852,-4537,2}, {-1850,-4540,2},{-1848,-4537,2},{-1847,-4537,2},{-1850,-4542,2},{-1852,-4540,2}, {-1855,-4538,2},{-1855,-4540,2},{-1858,-4540,2},{-1858,-4542,2},{-1858,-4543,2}, {-1855,-4542,2},{-1853,-4543,2},{-1857,-4545,2},{-1853,-4545,2},{-1865,-4553,2}, {-1862,-4553,2},{-1857,-4553,2},{-1853,-4548,2},{-1853,-4550,2},{-1852,-4552,2}, {-1852,-4548,2},{-1852,-4547,2},{-1850,-4547,2},{-1848,-4543,2},{-1847,-4545,2}, {-1848,-4548,2},{-1845,-4547,2},{-1845,-4545,2},{-1843,-4547,2},{-1840,-4545,2}, {-1843,-4543,2},{-1843,-4542,2},{-1845,-4540,2},{-1843,-4538,2},{-1842,-4540,2}, {-1843,-4537,2},{-1842,-4535,2},{-1840,-4532,2},{-1837,-4532,2},{-1835,-4528,2}, {-1833,-4532,2},{-1840,-4535,2},{-1837,-4535,2},{-1838,-4538,2},{-1837,-4538,2}, {-1835,-4537,2},{-1835,-4535,2},{-1832,-4535,2},{-1832,-4533,2},{-1828,-4533,2}, {-1825,-4528,2},{-1825,-4530,2},{-1823,-4528,2},{-1823,-4530,2},{-1832,-4542,2}, {-1830,-4542,2},{-1825,-4535,2},{-1823,-4537,2},{-1823,-4533,2},{-1820,-4528,2}, {-1822,-4525,2},{-1823,-4523,2},{-1825,-4522,2},{-1825,-4523,2},{-1827,-4523,2}, {-1828,-4527,2},{-1830,-4525,2},{-1830,-4518,2},{-1832,-4527,2},{-1835,-4527,2}, {-1837,-4527,2},{-1837,-4525,2},{-1838,-4528,2},{-1840,-4528,2},{-1842,-4530,2}, {-1843,-4527,2},{-1842,-4523,2},{-1843,-4522,2},{-1845,-4527,2},{-1843,-4533,2}, {-1843,-4535,2},{-1847,-4533,2},{-1847,-4528,2},{-1850,-4527,2},{-1848,-4523,2}, {-1847,-4523,2},{-1847,-4520,2},{-1847,-4522,2},{-1850,-4523,2},{-1850,-4525,2}, {-1850,-4518,2},{-1855,-4520,2},{-1853,-4517,2},{-1855,-4517,2},{-1857,-4518,2}, {-1858,-4522,2},{-1860,-4518,2},{-1860,-4520,2},{-1863,-4520,2},{-1865,-4517,2}, {-1863,-4515,2},{-1860,-4515,2},{-1857,-4512,2},{-1860,-4515,2},{-1862,-4515,2}, {-1860,-4513,2},{-1862,-4513,2},{-1868,-4513,2},{-1865,-4522,2},{-1867,-4520,2}, {-1870,-4515,2},{-1868,-4518,2},{-1872,-4517,2},{-1875,-4512,2},{-1877,-4518,2}, {-1880,-4517,2},{-1880,-4513,2},{-1882,-4513,2},{-1878,-4510,2},{-1880,-4510,2}, {-1883,-4508,2},{-1880,-4507,2},{-1878,-4503,2},{-1873,-4502,2},{-1868,-4502,2}, {-1872,-4500,2},{-1878,-4500,2},{-1878,-4498,2},{-1880,-4503,2},{-1880,-4497,2}, {-1878,-4492,2},{-1880,-4495,2},{-1883,-4497,2},{-1883,-4493,2},{-1887,-4492,2}, {-1883,-4487,2},{-1887,-4490,2},{-1890,-4490,2},{-1883,-4500,2},{-1882,-4503,2}, {-1883,-4505,2},{-1885,-4505,2},{-1885,-4502,2},{-1887,-4507,2},{-1885,-4510,2}, {-1882,-4512,2},{-1885,-4512,2},{-1882,-4515,2},{-1883,-4515,2},{-1887,-4515,2}, {-1888,-4512,2},{-1892,-4510,2},{-1893,-4507,2},{-1892,-4510,2},{-1895,-4510,2}, {-1897,-4508,2},{-1898,-4510,2},{-1903,-4510,2},{-1905,-4508,2},{-1905,-4512,2}, {-1655,-6902,130},{-1655,-6905,2},{-1648,-6910,2},{-1647,-6908,2},{-1642,-6903,2}, {-1638,-6903,2},{-1632,-6903,2},{-1627,-6908,2},{-1627,-6903,2},{-1627,-6900,2}, {-1627,-6898,2},{-1622,-6897,2},{-1622,-6895,2},{-1623,-6890,2},{-1627,-6890,2}, {-1627,-6885,2},{-1625,-6885,2},{-1620,-6890,2},{-1617,-6897,2},{-1610,-6902,2}, {-1608,-6912,2},{-1605,-6912,2},{-1607,-6913,2},{-1608,-6913,2},{-1612,-6908,2}, {-1615,-6908,2},{-1617,-6910,2},{-1618,-6913,2},{-1620,-6910,2},{-1622,-6910,2}, {-1625,-6912,2},{-1625,-6915,2},{-1627,-6923,2},{-1628,-6927,2},{-1625,-6930,2}, {-1625,-6937,2},{-1622,-6938,2},{-1620,-6938,2},{-1618,-6938,2},{-1620,-6940,2}, {-1618,-6942,2},{-1622,-6948,2},{-1620,-6950,2},{-1618,-6952,2},{-1615,-6948,2}, {-1608,-6942,2},{-1602,-6943,2},{-1602,-6950,2},{-1598,-6957,2},{-1598,-6967,2}, {-1593,-6970,2},{-1593,-6968,2},{-1592,-6968,2},{-1590,-6970,2},{-1592,-6972,2}, {-1590,-6977,2},{-1578,-6980,2},{-1578,-6983,2},{-1582,-6985,2},{-1587,-6987,2}, {-1590,-6980,2},{-1592,-6980,2},{-1592,-6988,2},{-1588,-6990,2},{-1588,-6993,2}, {-1585,-6998,2},{-1587,-7000,2},{-1585,-7002,2},{-1580,-7000,2},{-1578,-7003,2}, {-1572,-7003,2},{-1570,-7002,2},{-1570,-6997,2},{-1567,-6997,2},{-1562,-6992,2}, {-1560,-6992,2},{-1557,-6995,2},{-1558,-6992,2},{-1563,-6987,2},{-1570,-6985,2}, {-1573,-6980,2},{-1573,-6975,2},{-1568,-6980,2},{-1568,-6978,2},{-1567,-6978,2}, {-1565,-6982,2},{-1560,-6983,2},{-1557,-6987,2},{-1542,-6995,2},{-1538,-6995,2}, {-1538,-6990,2},{-1535,-6987,2},{-1537,-6982,2},{-1535,-6980,2},{-1532,-6988,2}, {-1530,-6988,2},{-1530,-6985,2},{-1532,-6978,2},{-1530,-6975,2},{-1530,-6972,2}, {-1528,-6972,2},{-1525,-6975,2},{-1525,-6973,2},{-1525,-6968,2},{-1530,-6965,2}, {-1535,-6963,2},{-1535,-6957,2},{-1543,-6948,2},{-1547,-6945,2},{-1550,-6943,2}, {-1547,-6938,2},{-1548,-6937,2},{-1550,-6937,2},{-1550,-6938,2},{-1557,-6932,2}, {-1557,-6928,2},{-1562,-6930,2},{-1568,-6927,2},{-1567,-6918,2},{-1568,-6915,2}, {-1570,-6918,2},{-1573,-6910,2},{-1577,-6907,2},{-1580,-6903,2},{-1587,-6900,2}, {-1593,-6902,2},{-1595,-6893,2},{-1593,-6888,2},{-1597,-6878,2},{-1600,-6877,2}, {-1602,-6883,2},{-1607,-6885,2},{-1607,-6892,2},{-1617,-6885,2},{-1622,-6885,2}, {-1622,-6883,2},{-1618,-6880,2},{-1623,-6868,2},{-1622,-6863,2},{-1622,-6860,2}, {-1625,-6860,2},{-1625,-6858,2},{-1627,-6858,2},{-1628,-6860,2},{-1633,-6858,2}, {-1635,-6863,2},{-1633,-6863,2},{-1630,-6868,2},{-1633,-6873,2},{-1635,-6868,2}, {-1638,-6873,2},{-1642,-6877,2},{-1642,-6882,2},{-1642,-6890,2},{-1643,-6895,2}, {-1647,-6895,2},{-1647,-6885,2},{-1660,-6887,2},{-1660,-6893,2},{-1655,-6902,2}, {-1657,-6903,2},{-3325,-6030,130},{-3320,-6035,2},{-3318,-6045,2},{-3313,-6052,2}, {-3285,-6070,2},{-3267,-6073,2},{-3258,-6078,2},{-3253,-6080,2},{-3250,-6080,2}, {-3248,-6075,2},{-3240,-6077,2},{-3230,-6075,2},{-3225,-6072,2},{-3217,-6073,2}, {-3215,-6073,2},{-3213,-6070,2},{-3210,-6068,2},{-3200,-6073,2},{-3188,-6075,2}, {-3185,-6075,2},{-3178,-6068,2},{-3168,-6067,2},{-3167,-6062,2},{-3170,-6052,2}, {-3168,-6045,2},{-3163,-6042,2},{-3160,-6033,2},{-3157,-6035,2},{-3153,-6033,2}, {-3152,-6030,2},{-3148,-6027,2},{-3147,-6020,2},{-3140,-6017,2},{-3137,-6012,2}, {-3133,-6012,2},{-3122,-6007,2},{-3118,-6000,2},{-3107,-5993,2},{-3103,-5988,2}, {-3098,-5987,2},{-3093,-5980,2},{-3087,-5978,2},{-3077,-5968,2},{-3070,-5967,2}, {-3063,-5970,2},{-3053,-5967,2},{-3042,-5972,2},{-3035,-5968,2},{-3030,-5972,2}, {-3023,-5965,2},{-3012,-5965,2},{-3005,-5962,2},{-3000,-5967,2},{-2995,-5968,2}, {-2993,-5967,2},{-2993,-5970,2},{-2988,-5972,2},{-2965,-5963,2},{-2960,-5963,2}, {-2953,-5963,2},{-2943,-5960,2},{-2925,-5960,2},{-2920,-5957,2},{-2910,-5945,2}, {-2907,-5930,2},{-2902,-5922,2},{-2890,-5920,2},{-2887,-5917,2},{-2882,-5918,2}, {-2873,-5917,2},{-2870,-5912,2},{-2865,-5910,2},{-2853,-5913,2},{-2840,-5908,2}, {-2842,-5910,2},{-2840,-5912,2},{-2817,-5910,2},{-2810,-5907,2},{-2810,-5903,2}, {-2812,-5897,2},{-2810,-5897,2},{-2803,-5890,2},{-2798,-5888,2},{-2795,-5887,2}, {-2788,-5887,2},{-2785,-5883,2},{-2780,-5885,2},{-2770,-5883,2},{-2765,-5885,2}, {-2760,-5890,2},{-2747,-5890,2},{-2745,-5885,2},{-2738,-5878,2},{-2737,-5872,2}, {-2730,-5863,2},{-2725,-5843,2},{-2725,-5838,2},{-2723,-5835,2},{-2725,-5827,2}, {-2723,-5807,2},{-2727,-5798,2},{-2728,-5780,2},{-2730,-5775,2},{-2730,-5770,2}, {-2737,-5760,2},{-2738,-5745,2},{-2737,-5742,2},{-2737,-5737,2},{-2742,-5730,2}, {-2747,-5713,2},{-2743,-5703,2},{-2743,-5700,2},{-2740,-5693,2},{-2740,-5685,2}, {-2737,-5673,2},{-2737,-5655,2},{-2733,-5645,2},{-2733,-5635,2},{-2725,-5618,2}, {-2728,-5607,2},{-2732,-5600,2},{-2730,-5592,2},{-2732,-5588,2},{-2733,-5585,2}, {-2738,-5585,2},{-2743,-5578,2},{-2743,-5585,2},{-2740,-5587,2},{-2735,-5588,2}, {-2735,-5598,2},{-2732,-5607,2},{-2733,-5615,2},{-2738,-5618,2},{-2740,-5627,2}, {-2743,-5625,2},{-2748,-5623,2},{-2752,-5630,2},{-2753,-5632,2},{-2757,-5632,2}, {-2762,-5637,2},{-2758,-5647,2},{-2747,-5653,2},{-2748,-5670,2},{-2750,-5670,2}, {-2753,-5667,2},{-2757,-5667,2},{-2762,-5672,2},{-2760,-5680,2},{-2762,-5687,2}, {-2752,-5703,2},{-2750,-5708,2},{-2752,-5718,2},{-2747,-5730,2},{-2743,-5732,2}, {-2743,-5742,2},{-2747,-5748,2},{-2747,-5752,2},{-2738,-5765,2},{-2737,-5778,2}, {-2728,-5800,2},{-2728,-5807,2},{-2728,-5825,2},{-2728,-5832,2},{-2730,-5835,2}, {-2730,-5845,2},{-2732,-5848,2},{-2730,-5853,2},{-2738,-5870,2},{-2743,-5875,2}, {-2747,-5883,2},{-2752,-5883,2},{-2762,-5880,2},{-2768,-5882,2},{-2773,-5880,2}, {-2797,-5882,2},{-2812,-5890,2},{-2815,-5895,2},{-2813,-5897,2},{-2813,-5898,2}, {-2820,-5903,2},{-2847,-5902,2},{-2853,-5905,2},{-2865,-5905,2},{-2872,-5910,2}, {-2880,-5910,2},{-2890,-5917,2},{-2900,-5917,2},{-2908,-5920,2},{-2908,-5923,2}, {-2917,-5933,2},{-2920,-5933,2},{-2922,-5945,2},{-2925,-5947,2},{-2937,-5953,2}, {-2935,-5950,2},{-2930,-5948,2},{-2933,-5947,2},{-2938,-5950,2},{-2940,-5953,2}, {-2943,-5953,2},{-2945,-5957,2},{-2950,-5953,2},{-2957,-5955,2},{-2968,-5953,2}, {-2967,-5957,2},{-2968,-5958,2},{-2975,-5958,2},{-2983,-5965,2},{-3000,-5955,2}, {-3015,-5962,2},{-3032,-5963,2},{-3035,-5963,2},{-3042,-5957,2},{-3050,-5957,2}, {-3057,-5955,2},{-3060,-5957,2},{-3065,-5957,2},{-3067,-5960,2},{-3088,-5972,2}, {-3105,-5987,2},{-3112,-5988,2},{-3127,-6002,2},{-3130,-6007,2},{-3143,-6012,2}, {-3152,-6022,2},{-3155,-6027,2},{-3168,-6040,2},{-3172,-6057,2},{-3175,-6060,2}, {-3182,-6060,2},{-3187,-6065,2},{-3193,-6065,2},{-3195,-6068,2},{-3205,-6063,2}, {-3208,-6065,2},{-3213,-6067,2},{-3215,-6070,2},{-3218,-6068,2},{-3222,-6068,2}, {-3223,-6067,2},{-3227,-6067,2},{-3232,-6067,2},{-3233,-6067,2},{-3235,-6072,2}, {-3240,-6070,2},{-3253,-6075,2},{-3265,-6072,2},{-3270,-6067,2},{-3273,-6068,2}, {-3283,-6068,2},{-3297,-6055,2},{-3308,-6053,2},{-3310,-6047,2},{-3313,-6042,2}, {-3313,-6035,2},{-3320,-6030,2},{-3373,-5337,131},{-3373,-5342,3},{-3368,-5343,3}, {-3368,-5350,3},{-3367,-5353,3},{-3342,-5350,3},{-3320,-5353,3},{-3315,-5352,3}, {-3307,-5347,3},{-3297,-5330,3},{-3288,-5328,3},{-3282,-5318,3},{-3272,-5310,3}, {-3263,-5318,3},{-3260,-5327,3},{-3260,-5330,3},{-3257,-5340,3},{-3250,-5347,3}, {-3243,-5357,3},{-3237,-5363,3},{-3230,-5365,3},{-3227,-5363,3},{-3220,-5367,3}, {-3218,-5370,3},{-3210,-5373,3},{-3205,-5375,3},{-3205,-5380,3},{-3202,-5387,3}, {-3197,-5388,3},{-3193,-5393,3},{-3193,-5400,3},{-3190,-5402,3},{-3187,-5407,3}, {-3192,-5412,3},{-3192,-5415,3},{-3178,-5432,3},{-3172,-5438,3},{-3167,-5447,3}, {-3158,-5447,3},{-3150,-5457,3},{-3147,-5458,3},{-3142,-5483,3},{-3138,-5488,3}, {-3137,-5493,3},{-3127,-5502,3},{-3128,-5505,3},{-3132,-5505,3},{-3133,-5508,3}, {-3127,-5515,3},{-3125,-5522,3},{-3123,-5525,3},{-3115,-5528,3},{-3113,-5533,3}, {-3108,-5533,3},{-3103,-5535,3},{-3100,-5540,3},{-3097,-5542,3},{-3095,-5547,3}, {-3085,-5558,3},{-3085,-5562,3},{-3087,-5563,3},{-3095,-5563,3},{-3095,-5572,3}, {-3102,-5575,3},{-3105,-5582,3},{-3107,-5583,3},{-3108,-5600,3},{-3093,-5600,3}, {-3087,-5598,3},{-3080,-5600,3},{-3073,-5608,3},{-3068,-5612,3},{-3065,-5617,3}, {-3060,-5618,3},{-3058,-5622,3},{-3057,-5622,3},{-3048,-5637,3},{-3042,-5642,3}, {-3038,-5648,3},{-3030,-5657,3},{-3030,-5662,3},{-3025,-5662,3},{-3023,-5663,3}, {-3017,-5677,3},{-3012,-5680,3},{-3010,-5687,3},{-3012,-5690,3},{-3010,-5693,3}, {-3012,-5708,3},{-3018,-5715,3},{-3023,-5715,3},{-3030,-5722,3},{-3030,-5723,3}, {-3028,-5725,3},{-3030,-5728,3},{-3027,-5733,3},{-3028,-5737,3},{-3030,-5740,3}, {-3027,-5743,3},{-3027,-5747,3},{-3028,-5750,3},{-3023,-5757,3},{-3023,-5763,3}, {-3018,-5763,3},{-3017,-5755,3},{-3013,-5750,3},{-3003,-5742,3},{-2998,-5733,3}, {-2987,-5732,3},{-2982,-5728,3},{-2978,-5723,3},{-2978,-5713,3},{-2977,-5710,3}, {-2963,-5697,3},{-2960,-5697,3},{-2948,-5683,3},{-2942,-5678,3},{-2938,-5677,3}, {-2935,-5670,3},{-2927,-5665,3},{-2920,-5665,3},{-2917,-5662,3},{-2910,-5652,3}, {-2907,-5643,3},{-2897,-5640,3},{-2892,-5633,3},{-2890,-5630,3},{-2878,-5628,3}, {-2877,-5620,3},{-2867,-5612,3},{-2860,-5602,3},{-2858,-5602,3},{-2853,-5603,3}, {-2850,-5602,3},{-2848,-5595,3},{-2847,-5590,3},{-2842,-5590,3},{-2837,-5588,3}, {-2835,-5583,3},{-2837,-5573,3},{-2840,-5572,3},{-2842,-5570,3},{-2835,-5567,3}, {-2832,-5567,3},{-2830,-5568,3},{-2827,-5577,3},{-2823,-5577,3},{-2820,-5568,3}, {-2817,-5563,3},{-2812,-5562,3},{-2812,-5558,3},{-2815,-5558,3},{-2815,-5557,3}, {-2808,-5550,3},{-2807,-5548,3},{-2808,-5548,3},{-2808,-5545,3},{-2803,-5538,3}, {-2798,-5538,3},{-2797,-5533,3},{-2792,-5532,3},{-2792,-5525,3},{-2785,-5518,3}, {-2785,-5517,3},{-2788,-5513,3},{-2785,-5510,3},{-2785,-5502,3},{-2778,-5508,3}, {-2777,-5507,3},{-2780,-5500,3},{-2773,-5492,3},{-2762,-5490,3},{-2762,-5485,3}, {-2753,-5482,3},{-2753,-5478,3},{-2755,-5478,3},{-2757,-5478,3},{-2755,-5468,3}, {-2753,-5467,3},{-2750,-5467,3},{-2753,-5465,3},{-2753,-5462,3},{-2745,-5458,3}, {-2748,-5453,3},{-2747,-5445,3},{-2745,-5445,3},{-2743,-5447,3},{-2742,-5447,3}, {-2740,-5440,3},{-2745,-5435,3},{-2740,-5433,3},{-2743,-5432,3},{-2743,-5428,3}, {-2740,-5427,3},{-2738,-5423,3},{-2735,-5423,3},{-2725,-5418,3},{-2725,-5417,3}, {-2728,-5415,3},{-2728,-5412,3},{-2725,-5405,3},{-2720,-5400,3},{-2720,-5397,3}, {-2715,-5395,3},{-2717,-5392,3},{-2712,-5388,3},{-2717,-5383,3},{-2713,-5380,3}, {-2712,-5382,3},{-2710,-5380,3},{-2705,-5378,3},{-2702,-5375,3},{-2688,-5370,3}, {-2678,-5372,3},{-2677,-5375,3},{-2675,-5373,3},{-2673,-5375,3},{-2672,-5377,3}, {-2668,-5373,3},{-2662,-5373,3},{-2657,-5372,3},{-2655,-5373,3},{-2650,-5370,3}, {-2637,-5372,3},{-2632,-5367,3},{-2625,-5365,3},{-2620,-5367,3},{-2612,-5373,3}, {-2603,-5375,3},{-2595,-5383,3},{-2592,-5382,3},{-2588,-5383,3},{-2580,-5382,3}, {-2572,-5388,3},{-2568,-5387,3},{-2565,-5388,3},{-2563,-5390,3},{-2565,-5392,3}, {-2565,-5395,3},{-2560,-5397,3},{-2555,-5402,3},{-2557,-5405,3},{-2555,-5407,3}, {-2558,-5407,3},{-2560,-5408,3},{-2557,-5412,3},{-2552,-5410,3},{-2550,-5410,3}, {-2553,-5415,3},{-2553,-5420,3},{-2558,-5418,3},{-2557,-5423,3},{-2560,-5425,3}, {-2555,-5428,3},{-2555,-5432,3},{-2558,-5433,3},{-2558,-5438,3},{-2563,-5440,3}, {-2565,-5442,3},{-2568,-5442,3},{-2568,-5443,3},{-2563,-5447,3},{-2560,-5450,3}, {-2560,-5453,3},{-2557,-5453,3},{-2557,-5460,3},{-2552,-5460,3},{-2543,-5462,3}, {-2537,-5458,3},{-2527,-5450,3},{-2520,-5447,3},{-2515,-5442,3},{-2508,-5445,3}, {-2502,-5445,3},{-2493,-5442,3},{-2480,-5440,3},{-2475,-5437,3},{-2462,-5432,3}, {-2450,-5433,3},{-2437,-5425,3},{-2428,-5427,3},{-2423,-5432,3},{-2413,-5433,3}, {-2408,-5428,3},{-2405,-5425,3},{-2398,-5435,3},{-2390,-5442,3},{-2380,-5463,3}, {-2383,-5467,3},{-2387,-5477,3},{-2392,-5488,3},{-2397,-5492,3},{-2398,-5502,3}, {-2398,-5510,3},{-2402,-5518,3},{-2398,-5535,3},{-2397,-5540,3},{-2393,-5542,3}, {-2370,-5543,3},{-2367,-5547,3},{-2360,-5552,3},{-2353,-5552,3},{-2347,-5553,3}, {-2338,-5550,3},{-2332,-5555,3},{-2325,-5552,3},{-2320,-5553,3},{-2315,-5553,3}, {-2312,-5558,3},{-2305,-5558,3},{-2300,-5563,3},{-2293,-5562,3},{-2282,-5565,3}, {-2273,-5560,3},{-2263,-5562,3},{-2257,-5572,3},{-2253,-5573,3},{-2240,-5575,3}, {-2228,-5585,3},{-2230,-5593,3},{-2227,-5598,3},{-2228,-5602,3},{-2228,-5605,3}, {-2230,-5608,3},{-2227,-5612,3},{-2228,-5617,3},{-2227,-5620,3},{-2217,-5635,3}, {-2208,-5638,3},{-2207,-5640,3},{-2210,-5650,3},{-2217,-5657,3},{-2218,-5657,3}, {-2220,-5658,3},{-2223,-5662,3},{-2223,-5665,3},{-2227,-5663,3},{-2222,-5670,3}, {-2225,-5672,3},{-2225,-5673,3},{-2225,-5680,3},{-2228,-5680,3},{-2230,-5683,3}, {-2228,-5688,3},{-2223,-5688,3},{-2225,-5690,3},{-2227,-5690,3},{-2225,-5695,3}, {-2223,-5695,3},{-2223,-5703,3},{-2223,-5705,3},{-2223,-5710,3},{-2223,-5712,3}, {-2222,-5710,3},{-2220,-5715,3},{-2222,-5718,3},{-2218,-5720,3},{-2222,-5725,3}, {-2222,-5728,3},{-2220,-5730,3},{-2222,-5733,3},{-2220,-5737,3},{-2222,-5737,3}, {-2218,-5742,3},{-2218,-5745,3},{-2218,-5750,3},{-2217,-5755,3},{-2218,-5755,3}, {-2218,-5760,3},{-2217,-5762,3},{-2210,-5765,3},{-2212,-5768,3},{-2210,-5773,3}, {-2210,-5777,3},{-2213,-5777,3},{-2212,-5780,3},{-2215,-5783,3},{-2212,-5785,3}, {-2213,-5790,3},{-2212,-5793,3},{-2208,-5795,3},{-2208,-5798,3},{-2202,-5798,3}, {-2190,-5792,3},{-2185,-5795,3},{-2180,-5793,3},{-2175,-5793,3},{-2168,-5788,3}, {-2165,-5793,3},{-2162,-5793,3},{-2158,-5792,3},{-2153,-5795,3},{-2152,-5795,3}, {-2143,-5792,3},{-2133,-5785,3},{-2132,-5785,3},{-2132,-5788,3},{-2128,-5790,3}, {-2122,-5783,3},{-2108,-5783,3},{-2105,-5785,3},{-2097,-5782,3},{-2095,-5783,3}, {-2097,-5785,3},{-2092,-5788,3},{-2090,-5792,3},{-2083,-5785,3},{-2082,-5788,3}, {-2080,-5795,3},{-2073,-5785,3},{-2068,-5790,3},{-2067,-5793,3},{-2072,-5797,3}, {-2072,-5798,3},{-2065,-5797,3},{-2062,-5800,3},{-2052,-5802,3},{-2043,-5798,3}, {-2037,-5808,3},{-2027,-5810,3},{-2027,-5812,3},{-2028,-5815,3},{-2027,-5815,3}, {-2023,-5817,3},{-2020,-5812,3},{-2018,-5815,3},{-2017,-5817,3},{-2015,-5810,3}, {-2010,-5805,3},{-2007,-5803,3},{-2005,-5798,3},{-2003,-5797,3},{-2003,-5790,3}, {-1998,-5785,3},{-1973,-5812,3},{-1972,-5812,3},{-1968,-5808,3},{-1963,-5807,3}, {-1958,-5803,3},{-1953,-5802,3},{-1948,-5800,3},{-1943,-5797,3},{-1938,-5795,3}, {-1933,-5792,3},{-1928,-5790,3},{-1923,-5787,3},{-1920,-5785,3},{-1915,-5782,3}, {-1910,-5780,3},{-1905,-5778,3},{-1905,-5770,3},{-1892,-5772,3},{-1892,-5777,3}, {-1887,-5775,3},{-1882,-5775,3},{-1877,-5773,3},{-1872,-5772,3},{-1867,-5770,3}, {-1863,-5768,3},{-1858,-5767,3},{-1853,-5765,3},{-1848,-5763,3},{-1843,-5762,3}, {-1838,-5760,3},{-1833,-5758,3},{-1828,-5757,3},{-1823,-5755,3},{-1823,-5745,3}, {-1820,-5745,3},{-1820,-5752,3},{-1813,-5757,3},{-1805,-5760,3},{-1785,-5772,3}, {-1783,-5768,3},{-1782,-5768,3},{-1777,-5772,3},{-1773,-5772,3},{-1768,-5777,3}, {-1765,-5778,3},{-1762,-5777,3},{-1760,-5773,3},{-1745,-5792,3},{-1738,-5805,3}, {-1735,-5820,3},{-1730,-5830,3},{-1728,-5837,3},{-1725,-5840,3},{-1700,-5843,3}, {-1692,-5847,3},{-1683,-5845,3},{-1670,-5848,3},{-1663,-5847,3},{-1658,-5842,3}, {-1650,-5835,3},{-1643,-5835,3},{-1640,-5832,3},{-1628,-5833,3},{-1628,-5838,3}, {-1632,-5842,3},{-1633,-5845,3},{-1633,-5850,3},{-1633,-5855,3},{-1632,-5862,3}, {-1632,-5867,3},{-1632,-5873,3},{-1632,-5878,3},{-1632,-5885,3},{-1632,-5890,3}, {-1632,-5897,3},{-1632,-5902,3},{-1630,-5907,3},{-1630,-5913,3},{-1630,-5918,3}, {-1630,-5925,3},{-1630,-5930,3},{-1630,-5937,3},{-1630,-5942,3},{-1628,-5948,3}, {-1628,-5953,3},{-1628,-5958,3},{-1628,-5965,3},{-1628,-5970,3},{-1628,-5977,3}, {-1628,-5982,3},{-1628,-5988,3},{-1627,-5993,3},{-1627,-5998,3},{-1627,-6005,3}, {-1627,-6010,3},{-1627,-6017,3},{-1620,-6017,3},{-1615,-6017,3},{-1610,-6017,3}, {-1605,-6018,3},{-1598,-6018,3},{-1593,-6018,3},{-1588,-6020,3},{-1582,-6020,3}, {-1577,-6020,3},{-1572,-6020,3},{-1565,-6022,3},{-1560,-6022,3},{-1555,-6022,3}, {-1548,-6023,3},{-1543,-6027,3},{-1540,-6030,3},{-1535,-6033,3},{-1532,-6038,3}, {-1527,-6042,3},{-1523,-6045,3},{-1518,-6048,3},{-1515,-6053,3},{-1510,-6057,3}, {-1510,-6038,3},{-1482,-6043,3},{-1468,-6040,3},{-1462,-6035,3},{-1458,-6035,3}, {-1455,-6037,3},{-1455,-6035,3},{-1452,-6033,3},{-1448,-6035,3},{-1442,-6038,3}, {-1437,-6040,3},{-1430,-6045,3},{-1422,-6045,3},{-1418,-6048,3},{-1410,-6047,3}, {-1407,-6042,3},{-1398,-6038,3},{-1397,-6042,3},{-1395,-6040,3},{-1387,-6047,3}, {-1380,-6047,3},{-1378,-6057,3},{-1375,-6060,3},{-1373,-6068,3},{-1370,-6073,3}, {-1368,-6073,3},{-1368,-6080,3},{-1365,-6082,3},{-1358,-6095,3},{-1355,-6098,3}, {-1355,-6103,3},{-1348,-6103,3},{-1347,-6107,3},{-1348,-6108,3},{-1348,-6112,3}, {-1353,-6117,3},{-1352,-6120,3},{-1353,-6125,3},{-1348,-6133,3},{-1355,-6145,3}, {-1355,-6153,3},{-1350,-6160,3},{-1352,-6167,3},{-1353,-6173,3},{-1355,-6183,3}, {-1352,-6185,3},{-1345,-6187,3},{-1335,-6202,3},{-1330,-6205,3},{-1327,-6212,3}, {-1315,-6212,3},{-1315,-6213,3},{-1312,-6217,3},{-1313,-6218,3},{-1312,-6222,3}, {-1315,-6228,3},{-1315,-6238,3},{-1313,-6242,3},{-1307,-6248,3},{-1307,-6255,3}, {-1303,-6265,3},{-1300,-6265,3},{-1297,-6270,3},{-1298,-6277,3},{-1302,-6278,3}, {-1298,-6282,3},{-1295,-6283,3},{-1295,-6287,3},{-1285,-6293,3},{-1287,-6295,3}, {-1283,-6300,3},{-1278,-6302,3},{-1275,-6305,3},{-1272,-6305,3},{-1270,-6307,3}, {-1265,-6307,3},{-1263,-6313,3},{-1270,-6323,3},{-1270,-6333,3},{-1267,-6337,3}, {-1265,-6342,3},{-1260,-6347,3},{-1257,-6348,3},{-1255,-6355,3},{-1252,-6357,3}, {-1250,-6363,3},{-1247,-6368,3},{-1247,-6380,3},{-1247,-6387,3},{-1253,-6390,3}, {-1255,-6393,3},{-1253,-6397,3},{-1253,-6402,3},{-1252,-6403,3},{-1250,-6408,3}, {-1252,-6410,3},{-1250,-6412,3},{-1252,-6413,3},{-1253,-6415,3},{-1248,-6418,3}, {-1248,-6422,3},{-1248,-6423,3},{-1250,-6427,3},{-1250,-6428,3},{-1247,-6430,3}, {-1247,-6440,3},{-1240,-6445,3},{-1237,-6450,3},{-1228,-6447,3},{-1223,-6448,3}, {-1225,-6452,3},{-1222,-6455,3},{-1220,-6463,3},{-1217,-6468,3},{-1212,-6468,3}, {-1210,-6470,3},{-1215,-6472,3},{-1215,-6473,3},{-1212,-6475,3},{-1203,-6480,3}, {-1200,-6498,3},{-1197,-6502,3},{-1192,-6500,3},{-1188,-6503,3},{-1182,-6503,3}, {-1175,-6507,3},{-1173,-6512,3},{-1170,-6512,3},{-1173,-6513,3},{-1177,-6515,3}, {-1178,-6515,3},{-1173,-6520,3},{-1172,-6522,3},{-1165,-6518,3},{-1163,-6520,3}, {-1162,-6517,3},{-1158,-6522,3},{-1153,-6522,3},{-1152,-6523,3},{-1150,-6530,3}, {-1148,-6532,3},{-1138,-6535,3},{-1133,-6533,3},{-1132,-6537,3},{-1127,-6540,3}, {-1125,-6538,3},{-1122,-6537,3},{-1120,-6540,3},{-1117,-6540,3},{-1113,-6538,3}, {-1110,-6533,3},{-1103,-6533,3},{-1098,-6530,3},{-1092,-6532,3},{-1085,-6533,3}, {-1080,-6542,3},{-1068,-6538,3},{-1065,-6538,3},{-1062,-6543,3},{-1057,-6543,3}, {-1048,-6545,3},{-1045,-6540,3},{-1037,-6538,3},{-1030,-6532,3},{-1022,-6528,3}, {-1010,-6530,3},{-1003,-6533,3},{-995,-6533,3},{-985,-6530,3},{-980,-6533,3}, {-977,-6533,3},{-972,-6537,3},{-968,-6543,3},{-972,-6550,3},{-973,-6552,3}, {-978,-6552,3},{-980,-6555,3},{-983,-6557,3},{-983,-6562,3},{-980,-6565,3}, {-980,-6570,3},{-977,-6570,3},{-975,-6572,3},{-977,-6577,3},{-973,-6578,3}, {-978,-6580,3},{-975,-6582,3},{-978,-6587,3},{-977,-6590,3},{-980,-6603,3}, {-978,-6608,3},{-980,-6610,3},{-980,-6617,3},{-983,-6623,3},{-983,-6635,3}, {-988,-6643,3},{-988,-6648,3},{-990,-6663,3},{-995,-6665,3},{-998,-6677,3}, {-1008,-6690,3},{-1027,-6708,3},{-1028,-6713,3},{-1032,-6717,3},{-1032,-6723,3}, {-1032,-6732,3},{-1037,-6732,3},{-1038,-6742,3},{-1042,-6742,3},{-1045,-6747,3}, {-1050,-6758,3},{-1053,-6760,3},{-1058,-6763,3},{-1062,-6767,3},{-1068,-6770,3}, {-1072,-6773,3},{-1068,-6780,3},{-1065,-6787,3},{-1065,-6802,3},{-1068,-6807,3}, {-1072,-6812,3},{-1077,-6813,3},{-1085,-6822,3},{-1090,-6822,3},{-1095,-6827,3}, {-1098,-6828,3},{-1100,-6833,3},{-1100,-6838,3},{-1105,-6842,3},{-1105,-6852,3}, {-1110,-6858,3},{-1113,-6875,3},{-1112,-6878,3},{-1105,-6878,3},{-1100,-6875,3}, {-1100,-6878,3},{-1100,-6882,3},{-1102,-6885,3},{-1102,-6890,3},{-1100,-6898,3}, {-1097,-6907,3},{-1097,-6910,3},{-1095,-6922,3},{-1095,-6930,3},{-1093,-6940,3}, {-1095,-6945,3},{-1095,-6957,3},{-1097,-6973,3},{-1092,-6978,3},{-1093,-6988,3}, {-1092,-6993,3},{-1103,-7017,3},{-1107,-7033,3},{-1103,-7043,3},{-1098,-7047,3}, {-1093,-7053,3},{-1102,-7063,3},{-983,-7063,3},{-978,-7060,3},{-978,-7057,3}, {-973,-7053,3},{-968,-7055,3},{-963,-7058,3},{-958,-7060,3},{-957,-7062,3}, {-957,-7057,3},{-953,-7058,3},{-952,-7055,3},{-950,-7057,3},{-950,-7053,3}, {-943,-7052,3},{-945,-7060,3},{-952,-7067,3},{-957,-7075,3},{-963,-7080,3}, {-967,-7088,3},{-972,-7090,3},{-977,-7097,3},{-982,-7100,3},{-982,-7105,3}, {-985,-7108,3},{-987,-7113,3},{-993,-7118,3},{-997,-7125,3},{-1000,-7130,3}, {-997,-7133,3},{-1000,-7137,3},{-1000,-7215,3},{-1000,-7218,3},{-997,-7217,3}, {-993,-7217,3},{-988,-7215,3},{-983,-7217,3},{-980,-7218,3},{-975,-7227,3}, {-967,-7225,3},{-960,-7230,3},{-953,-7230,3},{-953,-7233,3},{-950,-7237,3}, {-948,-7253,3},{-945,-7260,3},{-945,-7267,3},{-942,-7273,3},{-940,-7320,3}, {-937,-7318,3},{-933,-7313,3},{-925,-7308,3},{-922,-7302,3},{-917,-7302,3}, {-917,-7298,3},{-915,-7297,3},{-908,-7295,3},{-898,-7297,3},{-893,-7300,3}, {-890,-7307,3},{-872,-7317,3},{-868,-7322,3},{-868,-7327,3},{-862,-7332,3}, {-860,-7335,3},{-848,-7335,3},{-845,-7340,3},{-842,-7343,3},{-840,-7347,3}, {-837,-7353,3},{-827,-7355,3},{-820,-7360,3},{-813,-7360,3},{-805,-7363,3}, {-802,-7365,3},{-797,-7375,3},{-795,-7377,3},{-788,-7378,3},{-788,-7373,3}, {-787,-7372,3},{-783,-7370,3},{-778,-7370,3},{-773,-7383,3},{-767,-7387,3}, {-753,-7402,3},{-753,-7400,3},{-752,-7395,3},{-748,-7395,3},{-745,-7393,3}, {-735,-7397,3},{-738,-7390,3},{-733,-7383,3},{-733,-7375,3},{-730,-7370,3}, {-722,-7372,3},{-720,-7375,3},{-715,-7377,3},{-710,-7380,3},{-703,-7377,3}, {-688,-7375,3},{-685,-7370,3},{-680,-7368,3},{-678,-7362,3},{-673,-7358,3}, {-670,-7352,3},{-658,-7335,3},{-652,-7320,3},{-645,-7315,3},{-640,-7313,3}, {-620,-7317,3},{-617,-7318,3},{-605,-7318,3},{-598,-7313,3},{-587,-7313,3}, {-585,-7310,3},{-578,-7305,3},{-565,-7297,3},{-560,-7297,3},{-553,-7293,3}, {-547,-7297,3},{-535,-7292,3},{-532,-7292,3},{-525,-7288,3},{-523,-7290,3}, {-518,-7290,3},{-515,-7292,3},{-513,-7290,3},{-512,-7285,3},{-508,-7285,3}, {-508,-7277,3},{-505,-7275,3},{-507,-7268,3},{-505,-7262,3},{-500,-7260,3}, {-500,-7257,3},{-495,-7253,3},{-495,-7248,3},{-490,-7247,3},{-488,-7240,3}, {-478,-7237,3},{-478,-7233,3},{-477,-7233,3},{-475,-7232,3},{-475,-7223,3}, {-470,-7217,3},{-470,-7213,3},{-465,-7207,3},{-460,-7207,3},{-462,-7203,3}, {-458,-7200,3},{-458,-7197,3},{-452,-7190,3},{-450,-7178,3},{-448,-7178,3}, {-450,-7172,3},{-447,-7168,3},{-452,-7165,3},{-447,-7162,3},{-450,-7160,3}, {-447,-7153,3},{-448,-7152,3},{-445,-7150,3},{-443,-7148,3},{-443,-7138,3}, {-445,-7135,3},{-443,-7132,3},{-443,-7128,3},{-438,-7128,3},{-438,-7123,3}, {-442,-7120,3},{-437,-7118,3},{-435,-7117,3},{-438,-7115,3},{-440,-7112,3}, {-438,-7110,3},{-437,-7107,3},{-438,-7102,3},{-433,-7100,3},{-437,-7098,3}, {-438,-7095,3},{-428,-7087,3},{-425,-7087,3},{-423,-7083,3},{-422,-7083,3}, {-418,-7083,3},{-415,-7077,3},{-417,-7068,3},{-412,-7067,3},{-412,-7062,3}, {-417,-7063,3},{-417,-7060,3},{-420,-7058,3},{-413,-7055,3},{-415,-7052,3}, {-418,-7050,3},{-413,-7045,3},{-413,-7040,3},{-417,-7035,3},{-413,-7033,3}, {-418,-7030,3},{-423,-7032,3},{-430,-7025,3},{-430,-7022,3},{-433,-7020,3}, {-432,-7017,3},{-427,-7015,3},{-425,-7010,3},{-428,-7007,3},{-432,-7008,3}, {-433,-7003,3},{-435,-7003,3},{-433,-7003,3},{-433,-7000,3},{-430,-6997,3}, {-425,-6995,3},{-422,-6995,3},{-417,-6993,3},{-412,-6992,3},{-405,-6992,3}, {-400,-6990,3},{-395,-6988,3},{-390,-6988,3},{-383,-6987,3},{-378,-6985,3}, {-373,-6985,3},{-367,-6983,3},{-362,-6983,3},{-357,-6982,3},{-350,-6982,3}, {-345,-6980,3},{-340,-6978,3},{-335,-6978,3},{-328,-6977,3},{-323,-6977,3}, {-318,-6975,3},{-312,-6973,3},{-307,-6973,3},{-302,-6972,3},{-297,-6972,3}, {-290,-6970,3},{-285,-6968,3},{-280,-6968,3},{-273,-6967,3},{-268,-6967,3}, {-263,-6965,3},{-258,-6965,3},{-252,-6963,3},{-247,-6962,3},{-242,-6962,3}, {-237,-6960,3},{-230,-6960,3},{-225,-6958,3},{-220,-6957,3},{-213,-6957,3}, {-208,-6955,3},{-203,-6955,3},{-198,-6953,3},{-192,-6952,3},{-187,-6952,3}, {-182,-6950,3},{-175,-6950,3},{-170,-6948,3},{-165,-6947,3},{-160,-6947,3}, {-153,-6945,3},{-150,-6947,3},{-142,-6943,3},{-140,-6940,3},{-135,-6938,3}, {-125,-6938,3},{-118,-6938,3},{-108,-6943,3},{-100,-6943,3},{-98,-6947,3}, {-97,-6947,3},{-92,-6953,3},{-87,-6953,3},{-87,-6957,3},{-83,-6957,3},{-80,-6957,3}, {-75,-6962,3},{-73,-6962,3},{-63,-6957,3},{-60,-6960,3},{-52,-6960,3},{-50,-6963,3}, {-45,-6975,3},{-40,-6978,3},{-37,-6983,3},{-33,-6985,3},{-32,-6993,3},{-25,-6997,3}, {-23,-7000,3},{-15,-7005,3},{-8,-7005,3},{-3,-7005,3},{3,-7005,3},{8,-7005,3}, {13,-7005,3},{18,-7005,3},{25,-7005,3},{30,-7005,3},{35,-7005,3},{42,-7005,3}, {47,-7005,3},{52,-7005,3},{57,-7005,3},{58,-7005,3},{57,-7002,3},{60,-6998,3}, {58,-6993,3},{60,-6992,3},{60,-6980,3},{63,-6975,3},{63,-6973,3},{67,-6972,3}, {68,-6968,3},{65,-6960,3},{70,-6957,3},{70,-6955,3},{72,-6953,3},{73,-6947,3}, {63,-6935,3},{67,-6930,3},{62,-6928,3},{62,-6920,3},{65,-6918,3},{63,-6913,3}, {65,-6912,3},{70,-6915,3},{72,-6918,3},{77,-6915,3},{85,-6917,3},{87,-6913,3}, {90,-6920,3},{95,-6920,3},{95,-6922,3},{100,-6922,3},{103,-6927,3},{107,-6935,3}, {103,-6942,3},{103,-6943,3},{107,-6945,3},{107,-6957,3},{108,-6960,3},{107,-6972,3}, {108,-6972,3},{110,-6977,3},{107,-6982,3},{107,-6985,3},{172,-6985,3},{170,-6980,3}, {172,-6977,3},{175,-6972,3},{173,-6963,3},{178,-6955,3},{175,-6940,3},{173,-6938,3}, {172,-6815,3},{173,-6818,3},{177,-6818,3},{178,-6823,3},{182,-6823,3},{182,-6827,3}, {183,-6828,3},{187,-6825,3},{192,-6823,3},{197,-6820,3},{202,-6818,3},{197,-6817,3}, {197,-6812,3},{193,-6808,3},{187,-6807,3},{177,-6800,3},{175,-6797,3},{175,-6792,3}, {175,-6787,3},{180,-6778,3},{192,-6768,3},{200,-6765,3},{210,-6752,3},{212,-6747,3}, {215,-6742,3},{212,-6733,3},{195,-6727,3},{182,-6717,3},{172,-6710,3},{162,-6707,3}, {152,-6705,3},{128,-6708,3},{117,-6708,3},{122,-6687,3},{75,-6632,3},{77,-6620,3}, {75,-6617,3},{73,-6613,3},{75,-6610,3},{78,-6607,3},{80,-6597,3},{90,-6587,3}, {98,-6573,3},{98,-6558,3},{95,-6553,3},{90,-6552,3},{83,-6552,3},{73,-6558,3}, {67,-6557,3},{65,-6552,3},{70,-6543,3},{75,-6540,3},{83,-6538,3},{92,-6532,3}, {93,-6518,3},{97,-6517,3},{110,-6515,3},{113,-6513,3},{115,-6510,3},{113,-6502,3}, {117,-6500,3},{120,-6495,3},{122,-6488,3},{128,-6482,3},{125,-6477,3},{125,-6473,3}, {133,-6458,3},{143,-6453,3},{152,-6438,3},{150,-6435,3},{147,-6435,3},{143,-6438,3}, {140,-6438,3},{137,-6437,3},{137,-6435,3},{147,-6428,3},{150,-6422,3},{155,-6418,3}, {158,-6412,3},{168,-6407,3},{175,-6407,3},{180,-6405,3},{188,-6405,3},{195,-6400,3}, {198,-6393,3},{197,-6378,3},{207,-6363,3},{210,-6360,3},{213,-6353,3},{215,-6340,3}, {220,-6340,3},{227,-6335,3},{237,-6337,3},{240,-6335,3},{242,-6337,3},{245,-6367,3}, {242,-6382,3},{247,-6397,3},{247,-6403,3},{252,-6405,3},{262,-6400,3},{272,-6398,3}, {275,-6400,3},{280,-6402,3},{287,-6405,3},{292,-6408,3},{300,-6413,3},{307,-6417,3}, {312,-6422,3},{325,-6420,3},{343,-6423,3},{347,-6422,3},{352,-6418,3},{360,-6418,3}, {373,-6432,3},{378,-6445,3},{387,-6453,3},{392,-6457,3},{400,-6465,3},{415,-6472,3}, {420,-6480,3},{428,-6480,3},{428,-6472,3},{425,-6465,3},{413,-6460,3},{412,-6458,3}, {415,-6437,3},{415,-6425,3},{412,-6413,3},{403,-6408,3},{390,-6405,3},{388,-6402,3}, {390,-6395,3},{393,-6392,3},{397,-6383,3},{393,-6378,3},{395,-6365,3},{395,-6360,3}, {387,-6353,3},{385,-6350,3},{387,-6347,3},{388,-6345,3},{397,-6342,3},{397,-6335,3}, {390,-6325,3},{383,-6322,3},{377,-6313,3},{360,-6298,3},{357,-6292,3},{357,-6288,3}, {357,-6285,3},{360,-6282,3},{360,-6277,3},{368,-6273,3},{378,-6273,3},{390,-6278,3}, {397,-6275,3},{402,-6277,3},{403,-6275,3},{405,-6267,3},{403,-6257,3},{403,-6255,3}, {407,-6253,3},{412,-6253,3},{415,-6245,3},{418,-6245,3},{418,-6243,3},{418,-6238,3}, {410,-6215,3},{410,-6210,3},{415,-6205,3},{417,-6200,3},{415,-6192,3},{417,-6185,3}, {418,-6182,3},{425,-6175,3},{427,-6170,3},{425,-6165,3},{423,-6162,3},{425,-6158,3}, {425,-6155,3},{427,-6152,3},{432,-6152,3},{437,-6152,3},{440,-6150,3},{443,-6143,3}, {442,-6135,3},{445,-6128,3},{447,-6128,3},{452,-6132,3},{453,-6130,3},{452,-6122,3}, {450,-6115,3},{452,-6098,3},{458,-6093,3},{465,-6092,3},{472,-6088,3},{472,-6083,3}, {477,-6073,3},{483,-6065,3},{495,-6058,3},{498,-6058,3},{518,-6065,3},{520,-6073,3}, {522,-6068,3},{522,-6060,3},{518,-6055,3},{520,-6050,3},{520,-6045,3},{518,-6045,3}, {522,-6040,3},{520,-6037,3},{520,-6030,3},{525,-6025,3},{527,-6020,3},{527,-6018,3}, {523,-6017,3},{525,-6012,3},{520,-6010,3},{517,-6008,3},{513,-6005,3},{510,-5997,3}, {505,-5997,3},{490,-6000,3},{483,-6000,3},{480,-6002,3},{470,-6003,3},{467,-6007,3}, {460,-6008,3},{460,-6012,3},{458,-6013,3},{457,-6015,3},{452,-6015,3},{450,-6010,3}, {452,-6010,3},{453,-6008,3},{452,-6007,3},{450,-6005,3},{450,-5997,3},{452,-5997,3}, {450,-5993,3},{447,-5990,3},{448,-5987,3},{448,-5985,3},{447,-5985,3},{445,-5982,3}, {447,-5980,3},{440,-5970,3},{438,-5967,3},{435,-5968,3},{430,-5973,3},{427,-5972,3}, {423,-5973,3},{422,-5973,3},{417,-5970,3},{415,-5963,3},{408,-5965,3},{400,-5958,3}, {397,-5958,3},{395,-5952,3},{393,-5952,3},{390,-5958,3},{385,-5958,3},{382,-5958,3}, {378,-5960,3},{378,-5963,3},{377,-5967,3},{370,-5967,3},{363,-5977,3},{360,-5985,3}, {357,-5985,3},{348,-5982,3},{343,-5983,3},{343,-5982,3},{340,-5982,3},{337,-5982,3}, {335,-5983,3},{333,-5983,3},{325,-5988,3},{323,-5988,3},{320,-5990,3},{317,-5990,3}, {315,-5992,3},{313,-5990,3},{310,-5993,3},{303,-5997,3},{298,-5995,3},{282,-5998,3}, {268,-5998,3},{262,-5995,3},{260,-5997,3},{257,-5993,3},{255,-5993,3},{245,-5990,3}, {240,-5988,3},{238,-5990,3},{237,-5990,3},{230,-5980,3},{228,-5973,3},{218,-5973,3}, {212,-5972,3},{207,-5975,3},{203,-5973,3},{197,-5973,3},{192,-5975,3},{190,-5975,3}, {187,-5975,3},{185,-5973,3},{187,-5970,3},{185,-5963,3},{177,-5967,3},{173,-5963,3}, {173,-5955,3},{172,-5952,3},{165,-5948,3},{162,-5943,3},{157,-5942,3},{155,-5938,3}, {152,-5935,3},{153,-5933,3},{152,-5932,3},{148,-5932,3},{147,-5928,3},{142,-5928,3}, {138,-5925,3},{133,-5908,3},{133,-5900,3},{130,-5893,3},{127,-5890,3},{123,-5890,3}, {120,-5887,3},{118,-5882,3},{122,-5873,3},{128,-5870,3},{127,-5857,3},{128,-5855,3}, {127,-5852,3},{127,-5850,3},{135,-5847,3},{145,-5850,3},{148,-5838,3},{153,-5838,3}, {155,-5835,3},{160,-5832,3},{160,-5830,3},{158,-5830,3},{157,-5823,3},{157,-5817,3}, {152,-5813,3},{152,-5800,3},{160,-5797,3},{167,-5798,3},{163,-5792,3},{167,-5788,3}, {172,-5775,3},{170,-5763,3},{170,-5755,3},{173,-5750,3},{178,-5748,3},{182,-5745,3}, {192,-5742,3},{193,-5737,3},{197,-5733,3},{198,-5730,3},{198,-5727,3},{195,-5723,3}, {202,-5710,3},{202,-5707,3},{195,-5705,3},{193,-5702,3},{192,-5697,3},{193,-5690,3}, {190,-5688,3},{187,-5678,3},{192,-5672,3},{192,-5665,3},{193,-5663,3},{190,-5655,3}, {192,-5653,3},{195,-5647,3},{192,-5640,3},{193,-5635,3},{188,-5627,3},{188,-5618,3}, {183,-5602,3},{187,-5593,3},{190,-5590,3},{195,-5592,3},{205,-5590,3},{215,-5600,3}, {218,-5603,3},{222,-5603,3},{223,-5605,3},{225,-5608,3},{225,-5613,3},{227,-5613,3}, {235,-5608,3},{235,-5605,3},{235,-5603,3},{240,-5600,3},{245,-5600,3},{248,-5598,3}, {252,-5598,3},{253,-5597,3},{252,-5592,3},{247,-5587,3},{245,-5577,3},{242,-5573,3}, {240,-5572,3},{243,-5558,3},{243,-5538,3},{245,-5535,3},{248,-5535,3},{252,-5532,3}, {252,-5528,3},{250,-5525,3},{252,-5520,3},{255,-5518,3},{257,-5513,3},{253,-5512,3}, {258,-5502,3},{262,-5495,3},{260,-5493,3},{257,-5497,3},{253,-5495,3},{243,-5487,3}, {243,-5480,3},{247,-5475,3},{245,-5470,3},{240,-5468,3},{238,-5472,3},{233,-5470,3}, {232,-5465,3},{233,-5460,3},{232,-5453,3},{228,-5452,3},{228,-5453,3},{227,-5453,3}, {222,-5447,3},{220,-5440,3},{222,-5437,3},{217,-5433,3},{215,-5425,3},{217,-5418,3}, {212,-5415,3},{212,-5412,3},{213,-5408,3},{218,-5407,3},{218,-5402,3},{218,-5400,3}, {222,-5393,3},{223,-5393,3},{227,-5393,3},{227,-5388,3},{230,-5387,3},{232,-5382,3}, {235,-5380,3},{237,-5375,3},{235,-5372,3},{232,-5373,3},{227,-5355,3},{225,-5353,3}, {225,-5345,3},{232,-5335,3},{235,-5335,3},{235,-5333,3},{225,-5322,3},{220,-5327,3}, {220,-5323,3},{222,-5312,3},{222,-5308,3},{218,-5305,3},{217,-5297,3},{220,-5290,3}, {228,-5285,3},{230,-5280,3},{233,-5273,3},{238,-5267,3},{243,-5265,3},{247,-5260,3}, {257,-5255,3},{258,-5253,3},{263,-5257,3},{265,-5253,3},{288,-5243,3},{290,-5240,3}, {293,-5242,3},{307,-5233,3},{312,-5235,3},{315,-5235,3},{317,-5232,3},{323,-5228,3}, {325,-5225,3},{323,-5223,3},{328,-5220,3},{348,-5208,3},{352,-5208,3},{352,-5207,3}, {362,-5200,3},{370,-5198,3},{372,-5197,3},{373,-5193,3},{377,-5193,3},{380,-5188,3}, {387,-5182,3},{398,-5177,3},{403,-5168,3},{407,-5163,3},{423,-5158,3},{423,-5157,3}, {407,-5150,3},{393,-5143,3},{398,-5143,3},{407,-5148,3},{428,-5155,3},{437,-5157,3}, {440,-5153,3},{435,-5150,3},{423,-5133,3},{407,-5120,3},{400,-5117,3},{378,-5117,3}, {368,-5118,3},{365,-5118,3},{387,-5113,3},{390,-5112,3},{392,-5110,3},{390,-5108,3}, {388,-5108,3},{383,-5108,3},{378,-5108,3},{373,-5107,3},{368,-5107,3},{362,-5108,3}, {357,-5108,3},{352,-5107,3},{347,-5107,3},{342,-5107,3},{335,-5107,3},{327,-5105,3}, {320,-5102,3},{313,-5102,3},{287,-5092,3},{280,-5092,3},{278,-5088,3},{273,-5085,3}, {268,-5085,3},{265,-5083,3},{257,-5082,3},{248,-5083,3},{250,-5078,3},{243,-5073,3}, {237,-5075,3},{228,-5072,3},{223,-5068,3},{215,-5068,3},{213,-5070,3},{213,-5073,3}, {215,-5080,3},{212,-5077,3},{208,-5078,3},{205,-5077,3},{205,-5075,3},{212,-5073,3}, {213,-5065,3},{208,-5060,3},{200,-5058,3},{193,-5053,3},{185,-5052,3},{182,-5047,3}, {180,-5038,3},{182,-5032,3},{178,-5025,3},{178,-5018,3},{173,-5010,3},{173,-5007,3}, {167,-4997,3},{143,-4988,3},{125,-4992,3},{117,-4988,3},{110,-4993,3},{107,-5002,3}, {110,-5003,3},{103,-5005,3},{98,-5010,3},{95,-5013,3},{85,-5028,3},{80,-5032,3}, {73,-5035,3},{67,-5045,3},{42,-5057,3},{18,-5077,3},{17,-5080,3},{17,-5087,3}, {15,-5095,3},{5,-5103,3},{-3,-5108,3},{-5,-5120,3},{-8,-5123,3},{-8,-5133,3}, {-10,-5128,3},{-13,-5125,3},{-28,-5135,3},{-40,-5140,3},{-43,-5145,3},{-47,-5143,3}, {-48,-5145,3},{-53,-5150,3},{-55,-5153,3},{-53,-5158,3},{-55,-5155,3},{-57,-5158,3}, {-55,-5155,3},{-57,-5153,3},{-75,-5170,3},{-78,-5172,3},{-87,-5172,3},{-103,-5172,3}, {-105,-5175,3},{-113,-5183,3},{-117,-5192,3},{-120,-5193,3},{-130,-5192,3}, {-133,-5193,3},{-140,-5200,3},{-142,-5203,3},{-138,-5213,3},{-135,-5220,3}, {-135,-5223,3},{-138,-5228,3},{-143,-5243,3},{-150,-5248,3},{-153,-5257,3}, {-153,-5262,3},{-157,-5270,3},{-160,-5272,3},{-157,-5253,3},{-157,-5238,3}, {-152,-5227,3},{-162,-5223,3},{-168,-5227,3},{-170,-5225,3},{-168,-5220,3}, {-165,-5218,3},{-163,-5215,3},{-162,-5202,3},{-158,-5193,3},{-155,-5188,3}, {-140,-5167,3},{-138,-5157,3},{-133,-5145,3},{-125,-5140,3},{-123,-5133,3}, {-125,-5135,3},{-127,-5133,3},{-122,-5127,3},{-113,-5120,3},{-113,-5118,3}, {-112,-5118,3},{-103,-5103,3},{-100,-5100,3},{-95,-5100,3},{-93,-5100,3}, {-92,-5097,3},{-97,-5095,3},{-95,-5093,3},{-93,-5095,3},{-92,-5095,3},{-92,-5085,3}, {-93,-5082,3},{-97,-5083,3},{-105,-5082,3},{-108,-5085,3},{-108,-5088,3}, {-113,-5090,3},{-113,-5095,3},{-118,-5085,3},{-123,-5082,3},{-133,-5083,3}, {-137,-5083,3},{-140,-5080,3},{-143,-5082,3},{-155,-5077,3},{-163,-5068,3}, {-173,-5065,3},{-178,-5067,3},{-175,-5073,3},{-178,-5072,3},{-180,-5068,3}, {-183,-5062,3},{-193,-5052,3},{-193,-5047,3},{-198,-5048,3},{-193,-5045,3}, {-198,-5045,3},{-208,-5042,3},{-202,-5038,3},{-202,-5033,3},{-195,-5032,3}, {-190,-5025,3},{-192,-5017,3},{-187,-5015,3},{-185,-5010,3},{-182,-4998,3}, {-183,-4995,3},{-188,-4987,3},{-192,-4987,3},{-197,-4990,3},{-193,-4985,3}, {-202,-4985,3},{-208,-4988,3},{-205,-4985,3},{-210,-4982,3},{-207,-4983,3}, {-190,-4985,3},{-192,-4983,3},{-195,-4983,3},{-192,-4982,3},{-190,-4982,3}, {-190,-4977,3},{-193,-4973,3},{-192,-4973,3},{-190,-4972,3},{-193,-4970,3}, {-192,-4967,3},{-195,-4963,3},{-202,-4958,3},{-200,-4957,3},{-198,-4958,3}, {-192,-4963,3},{-192,-4965,3},{-187,-4963,3},{-185,-4960,3},{-185,-4957,3}, {-187,-4953,3},{-178,-4950,3},{-177,-4947,3},{-182,-4947,3},{-178,-4942,3}, {-182,-4943,3},{-185,-4947,3},{-188,-4943,3},{-190,-4937,3},{-198,-4938,3}, {-200,-4938,3},{-203,-4942,3},{-210,-4943,3},{-212,-4942,3},{-218,-4945,3}, {-227,-4950,3},{-232,-4950,3},{-242,-4955,3},{-248,-4953,3},{-253,-4955,3}, {-262,-4962,3},{-263,-4967,3},{-267,-4968,3},{-268,-4968,3},{-267,-4962,3}, {-265,-4953,3},{-262,-4952,3},{-258,-4952,3},{-257,-4948,3},{-250,-4943,3}, {-238,-4943,3},{-218,-4932,3},{-200,-4927,3},{-190,-4918,3},{-188,-4917,3}, {-188,-4912,3},{-185,-4910,3},{-185,-4898,3},{-178,-4893,3},{-175,-4892,3}, {-172,-4888,3},{-168,-4888,3},{-165,-4885,3},{-163,-4882,3},{-162,-4882,3}, {-158,-4877,3},{-150,-4873,3},{-148,-4870,3},{-147,-4870,3},{-150,-4863,3}, {-147,-4860,3},{-158,-4853,3},{-158,-4852,3},{-163,-4850,3},{-163,-4845,3}, {-167,-4842,3},{-160,-4843,3},{-152,-4848,3},{-153,-4847,3},{-152,-4838,3}, {-147,-4833,3},{-147,-4850,3},{-132,-4848,3},{-128,-4845,3},{-132,-4840,3}, {-132,-4833,3},{-118,-4830,3},{-117,-4828,3},{-118,-4825,3},{-115,-4828,3}, {-113,-4827,3},{-112,-4822,3},{-112,-4827,3},{-105,-4830,3},{-105,-4823,3}, {-103,-4818,3},{-90,-4815,3},{-85,-4813,3},{-80,-4817,3},{-72,-4810,3}, {-67,-4805,3},{-67,-4803,3},{-70,-4802,3},{-73,-4802,3},{-78,-4797,3},{-75,-4795,3}, {-70,-4787,3},{-67,-4787,3},{-68,-4785,3},{-68,-4783,3},{-68,-4780,3},{-65,-4778,3}, {-63,-4775,3},{-67,-4772,3},{-70,-4772,3},{-72,-4772,3},{-75,-4773,3},{-77,-4773,3}, {-73,-4767,3},{-70,-4762,3},{-63,-4758,3},{-65,-4758,3},{-63,-4755,3},{-65,-4753,3}, {-73,-4748,3},{-77,-4750,3},{-77,-4742,3},{-82,-4740,3},{-78,-4738,3},{-75,-4738,3}, {-75,-4742,3},{-70,-4743,3},{-70,-4745,3},{-73,-4747,3},{-62,-4747,3},{-60,-4745,3}, {-60,-4747,3},{-58,-4740,3},{-65,-4742,3},{-68,-4742,3},{-65,-4740,3},{-68,-4737,3}, {-67,-4738,3},{-65,-4738,3},{-63,-4735,3},{-65,-4732,3},{-62,-4735,3},{-60,-4728,3}, {-63,-4728,3},{-65,-4728,3},{-65,-4725,3},{-68,-4725,3},{-65,-4723,3},{-63,-4725,3}, {-63,-4720,3},{-67,-4720,3},{-68,-4720,3},{-67,-4722,3},{-70,-4725,3},{-72,-4723,3}, {-70,-4722,3},{-72,-4717,3},{-68,-4717,3},{-73,-4715,3},{-77,-4720,3},{-77,-4715,3}, {-80,-4713,3},{-73,-4713,3},{-75,-4712,3},{-72,-4712,3},{-72,-4710,3},{-68,-4710,3}, {-67,-4708,3},{-70,-4707,3},{-72,-4708,3},{-75,-4708,3},{-75,-4707,3},{-80,-4707,3}, {-80,-4705,3},{-82,-4708,3},{-85,-4708,3},{-87,-4705,3},{-83,-4705,3},{-80,-4703,3}, {-78,-4702,3},{-77,-4702,3},{-75,-4698,3},{-70,-4697,3},{-70,-4695,3},{-78,-4697,3}, {-78,-4695,3},{-80,-4695,3},{-80,-4693,3},{-83,-4693,3},{-83,-4692,3},{-85,-4693,3}, {-87,-4697,3},{-90,-4697,3},{-90,-4695,3},{-87,-4695,3},{-87,-4690,3},{-85,-4690,3}, {-85,-4688,3},{-80,-4690,3},{-80,-4688,3},{-82,-4687,3},{-80,-4685,3},{-78,-4687,3}, {-73,-4682,3},{-72,-4683,3},{-72,-4682,3},{-73,-4680,3},{-75,-4682,3},{-77,-4680,3}, {-78,-4682,3},{-80,-4682,3},{-80,-4683,3},{-82,-4682,3},{-83,-4682,3},{-82,-4680,3}, {-87,-4680,3},{-90,-4678,3},{-87,-4678,3},{-85,-4677,3},{-87,-4677,3},{-83,-4675,3}, {-88,-4672,3},{-93,-4675,3},{-95,-4673,3},{-88,-4670,3},{-87,-4670,3},{-83,-4670,3}, {-83,-4668,3},{-87,-4665,3},{-87,-4663,3},{-83,-4665,3},{-82,-4663,3},{-87,-4660,3}, {-90,-4660,3},{-90,-4662,3},{-92,-4660,3},{-93,-4662,3},{-95,-4665,3},{-93,-4667,3}, {-95,-4668,3},{-95,-4670,3},{-100,-4675,3},{-102,-4675,3},{-97,-4670,3}, {-98,-4663,3},{-98,-4662,3},{-95,-4658,3},{-98,-4657,3},{-103,-4662,3}, {-102,-4660,3},{-102,-4657,3},{-100,-4657,3},{-102,-4655,3},{-103,-4653,3}, {-103,-4650,3},{-102,-4647,3},{-103,-4647,3},{-105,-4647,3},{-103,-4640,3}, {-100,-4637,3},{-98,-4635,3},{-102,-4637,3},{-107,-4637,3},{-108,-4635,3}, {-105,-4635,3},{-102,-4633,3},{-105,-4632,3},{-112,-4632,3},{-103,-4628,3}, {-110,-4625,3},{-103,-4628,3},{-102,-4627,3},{-98,-4627,3},{-95,-4622,3}, {-95,-4625,3},{-92,-4625,3},{-92,-4617,3},{-95,-4617,3},{-97,-4620,3},{-100,-4620,3}, {-102,-4622,3},{-102,-4620,3},{-107,-4622,3},{-107,-4620,3},{-108,-4620,3}, {-110,-4622,3},{-118,-4627,3},{-115,-4623,3},{-115,-4617,3},{-112,-4615,3}, {-118,-4613,3},{-110,-4613,3},{-107,-4610,3},{-113,-4607,3},{-118,-4610,3}, {-120,-4610,3},{-122,-4608,3},{-117,-4605,3},{-118,-4603,3},{-122,-4605,3}, {-120,-4603,3},{-115,-4603,3},{-113,-4602,3},{-110,-4602,3},{-112,-4600,3}, {-108,-4597,3},{-110,-4598,3},{-112,-4597,3},{-112,-4598,3},{-113,-4598,3}, {-113,-4595,3},{-115,-4595,3},{-115,-4600,3},{-117,-4600,3},{-120,-4600,3}, {-120,-4597,3},{-125,-4595,3},{-125,-4593,3},{-120,-4593,3},{-113,-4590,3}, {-117,-4588,3},{-118,-4592,3},{-122,-4590,3},{-117,-4588,3},{-120,-4587,3}, {-127,-4590,3},{-123,-4587,3},{-128,-4588,3},{-128,-4585,3},{-120,-4583,3}, {-125,-4582,3},{-130,-4583,3},{-133,-4582,3},{-128,-4582,3},{-127,-4580,3}, {-127,-4577,3},{-123,-4577,3},{-122,-4577,3},{-122,-4575,3},{-113,-4572,3}, {-115,-4570,3},{-117,-4570,3},{-125,-4573,3},{-127,-4570,3},{-130,-4570,3}, {-132,-4572,3},{-132,-4570,3},{-133,-4568,3},{-137,-4570,3},{-137,-4563,3}, {-133,-4562,3},{-128,-4562,3},{-128,-4558,3},{-130,-4560,3},{-133,-4558,3}, {-128,-4557,3},{-127,-4553,3},{-128,-4553,3},{-128,-4555,3},{-132,-4555,3}, {-130,-4553,3},{-132,-4553,3},{-133,-4555,3},{-135,-4555,3},{-133,-4552,3}, {-137,-4550,3},{-140,-4553,3},{-142,-4553,3},{-135,-4547,3},{-132,-4547,3}, {-130,-4542,3},{-130,-4545,3},{-130,-4540,3},{-135,-4542,3},{-137,-4547,3}, {-147,-4548,3},{-147,-4552,3},{-150,-4553,3},{-147,-4550,3},{-148,-4548,3}, {-152,-4552,3},{-150,-4547,3},{-152,-4547,3},{-153,-4547,3},{-155,-4545,3}, {-153,-4545,3},{-148,-4547,3},{-147,-4545,3},{-143,-4543,3},{-143,-4542,3}, {-147,-4542,3},{-143,-4538,3},{-138,-4537,3},{-135,-4535,3},{-132,-4537,3}, {-132,-4533,3},{-137,-4530,3},{-142,-4530,3},{-145,-4532,3},{-148,-4538,3}, {-150,-4538,3},{-148,-4537,3},{-148,-4535,3},{-153,-4537,3},{-155,-4540,3}, {-157,-4540,3},{-158,-4538,3},{-157,-4538,3},{-155,-4538,3},{-157,-4533,3}, {-163,-4535,3},{-167,-4537,3},{-172,-4537,3},{-173,-4535,3},{-173,-4528,3}, {-170,-4527,3},{-168,-4522,3},{-162,-4525,3},{-158,-4525,3},{-155,-4522,3}, {-153,-4518,3},{-148,-4517,3},{-148,-4515,3},{-152,-4513,3},{-148,-4513,3}, {-147,-4510,3},{-147,-4507,3},{-148,-4508,3},{-148,-4510,3},{-148,-4507,3}, {-143,-4507,3},{-148,-4505,3},{-148,-4500,3},{-152,-4498,3},{-152,-4502,3}, {-153,-4498,3},{-155,-4497,3},{-158,-4502,3},{-160,-4502,3},{-158,-4500,3}, {-160,-4497,3},{-155,-4495,3},{-150,-4495,3},{-148,-4492,3},{-148,-4493,3}, {-145,-4488,3},{-142,-4487,3},{-145,-4485,3},{-148,-4485,3},{-152,-4490,3}, {-153,-4490,3},{-155,-4492,3},{-160,-4492,3},{-160,-4495,3},{-165,-4492,3}, {-165,-4493,3},{-165,-4490,3},{-162,-4492,3},{-160,-4488,3},{-163,-4485,3}, {-163,-4483,3},{-163,-4485,3},{-157,-4483,3},{-158,-4482,3},{-162,-4480,3}, {-163,-4482,3},{-162,-4480,3},{-163,-4478,3},{-165,-4480,3},{-168,-4478,3}, {-170,-4480,3},{-173,-4477,3},{-175,-4482,3},{-177,-4480,3},{-173,-4477,3}, {-172,-4477,3},{-172,-4470,3},{-177,-4472,3},{-182,-4482,3},{-178,-4473,3}, {-182,-4470,3},{-180,-4467,3},{-175,-4465,3},{-172,-4465,3},{-175,-4460,3}, {-178,-4463,3},{-183,-4463,3},{-183,-4467,3},{-183,-4462,3},{-185,-4460,3}, {-183,-4458,3},{-182,-4457,3},{-187,-4457,3},{-183,-4453,3},{-187,-4453,3}, {-188,-4455,3},{-190,-4460,3},{-190,-4452,3},{-200,-4448,3},{-202,-4450,3}, {-202,-4457,3},{-203,-4458,3},{-203,-4462,3},{-203,-4452,3},{-205,-4450,3}, {-208,-4455,3},{-213,-4458,3},{-215,-4462,3},{-215,-4465,3},{-217,-4458,3}, {-223,-4465,3},{-223,-4470,3},{-227,-4468,3},{-225,-4475,3},{-228,-4478,3}, {-228,-4482,3},{-230,-4482,3},{-230,-4478,3},{-227,-4473,3},{-227,-4470,3}, {-230,-4470,3},{-228,-4468,3},{-228,-4467,3},{-235,-4468,3},{-237,-4470,3}, {-240,-4472,3},{-238,-4470,3},{-237,-4467,3},{-242,-4467,3},{-243,-4465,3}, {-232,-4465,3},{-227,-4462,3},{-222,-4455,3},{-220,-4455,3},{-215,-4452,3}, {-215,-4445,3},{-217,-4442,3},{-218,-4442,3},{-220,-4440,3},{-225,-4438,3}, {-228,-4438,3},{-228,-4437,3},{-233,-4437,3},{-238,-4437,3},{-240,-4438,3}, {-242,-4443,3},{-238,-4448,3},{-237,-4452,3},{-238,-4455,3},{-240,-4457,3}, {-242,-4457,3},{-238,-4452,3},{-240,-4450,3},{-248,-4452,3},{-252,-4453,3}, {-252,-4457,3},{-257,-4460,3},{-260,-4467,3},{-262,-4465,3},{-260,-4465,3}, {-258,-4458,3},{-255,-4457,3},{-253,-4455,3},{-255,-4453,3},{-268,-4463,3}, {-272,-4463,3},{-278,-4465,3},{-285,-4465,3},{-292,-4468,3},{-300,-4468,3}, {-302,-4467,3},{-302,-4463,3},{-305,-4462,3},{-315,-4470,3},{-318,-4472,3}, {-320,-4478,3},{-327,-4478,3},{-328,-4477,3},{-330,-4478,3},{-332,-4477,3}, {-330,-4475,3},{-323,-4477,3},{-320,-4473,3},{-318,-4465,3},{-312,-4462,3}, {-310,-4457,3},{-303,-4453,3},{-298,-4445,3},{-293,-4442,3},{-283,-4440,3}, {-280,-4440,3},{-278,-4438,3},{-278,-4440,3},{-273,-4438,3},{-268,-4438,3}, {-263,-4437,3},{-267,-4435,3},{-255,-4437,3},{-253,-4435,3},{-253,-4432,3}, {-258,-4428,3},{-255,-4428,3},{-253,-4430,3},{-248,-4428,3},{-247,-4422,3}, {-242,-4412,3},{-242,-4408,3},{-240,-4407,3},{-240,-4403,3},{-242,-4403,3}, {-245,-4403,3},{-245,-4410,3},{-247,-4407,3},{-250,-4405,3},{-247,-4405,3}, {-252,-4403,3},{-255,-4405,3},{-255,-4407,3},{-260,-4412,3},{-262,-4410,3}, {-267,-4413,3},{-270,-4418,3},{-267,-4422,3},{-270,-4420,3},{-272,-4422,3}, {-272,-4425,3},{-278,-4433,3},{-283,-4433,3},{-278,-4432,3},{-280,-4430,3}, {-282,-4430,3},{-283,-4430,3},{-282,-4428,3},{-282,-4427,3},{-277,-4425,3}, {-280,-4423,3},{-277,-4423,3},{-277,-4418,3},{-278,-4420,3},{-282,-4417,3}, {-285,-4422,3},{-287,-4420,3},{-283,-4415,3},{-280,-4413,3},{-275,-4410,3}, {-277,-4410,3},{-275,-4408,3},{-278,-4408,3},{-278,-4407,3},{-280,-4407,3}, {-280,-4408,3},{-280,-4407,3},{-273,-4407,3},{-270,-4405,3},{-263,-4400,3}, {-262,-4397,3},{-263,-4395,3},{-260,-4397,3},{-255,-4393,3},{-257,-4392,3}, {-263,-4387,3},{-257,-4388,3},{-255,-4382,3},{-255,-4380,3},{-252,-4375,3}, {-255,-4375,3},{-250,-4373,3},{-248,-4372,3},{-255,-4370,3},{-257,-4372,3}, {-255,-4365,3},{-253,-4368,3},{-252,-4368,3},{-248,-4365,3},{-252,-4367,3}, {-250,-4363,3},{-253,-4362,3},{-252,-4360,3},{-253,-4355,3},{-252,-4357,3}, {-250,-4357,3},{-248,-4355,3},{-250,-4355,3},{-248,-4353,3},{-247,-4353,3}, {-247,-4355,3},{-243,-4353,3},{-243,-4352,3},{-248,-4352,3},{-253,-4348,3}, {-255,-4350,3},{-255,-4348,3},{-252,-4347,3},{-255,-4345,3},{-255,-4343,3}, {-253,-4345,3},{-250,-4345,3},{-250,-4342,3},{-245,-4347,3},{-245,-4342,3}, {-242,-4347,3},{-238,-4348,3},{-237,-4347,3},{-237,-4343,3},{-238,-4343,3}, {-238,-4337,3},{-237,-4335,3},{-240,-4317,3},{-245,-4303,3},{-247,-4293,3}, {-250,-4290,3},{-252,-4285,3},{-257,-4280,3},{-257,-4270,3},{-263,-4265,3}, {-267,-4258,3},{-270,-4253,3},{-267,-4248,3},{-270,-4248,3},{-270,-4252,3}, {-273,-4248,3},{-275,-4245,3},{-273,-4242,3},{-275,-4242,3},{-277,-4235,3}, {-275,-4227,3},{-278,-4225,3},{-282,-4227,3},{-280,-4223,3},{-283,-4223,3}, {-280,-4220,3},{-282,-4212,3},{-280,-4210,3},{-283,-4208,3},{-282,-4207,3}, {-283,-4203,3},{-282,-4200,3},{-285,-4195,3},{-278,-4193,3},{-278,-4195,3}, {-273,-4202,3},{-275,-4195,3},{-273,-4183,3},{-277,-4183,3},{-275,-4182,3}, {-280,-4175,3},{-285,-4167,3},{-287,-4167,3},{-285,-4168,3},{-287,-4168,3}, {-287,-4170,3},{-288,-4167,3},{-287,-4165,3},{-290,-4160,3},{-292,-4152,3}, {-290,-4147,3},{-290,-4145,3},{-293,-4145,3},{-295,-4143,3},{-292,-4143,3}, {-290,-4142,3},{-293,-4133,3},{-295,-4133,3},{-297,-4128,3},{-302,-4127,3}, {-302,-4123,3},{-298,-4123,3},{-293,-4127,3},{-290,-4128,3},{-290,-4132,3}, {-288,-4127,3},{-288,-4115,3},{-292,-4108,3},{-288,-4110,3},{-288,-4090,3}, {-285,-4085,3},{-288,-4083,3},{-287,-4082,3},{-283,-4073,3},{-283,-4060,3}, {-280,-4052,3},{-278,-4048,3},{-282,-4042,3},{-280,-4032,3},{-282,-4018,3}, {-285,-4015,3},{-285,-4013,3},{-283,-4012,3},{-285,-4007,3},{-285,-4003,3}, {-285,-4000,3},{-292,-3987,3},{-297,-3982,3},{-302,-3972,3},{-303,-3972,3}, {-303,-3973,3},{-305,-3970,3},{-302,-3970,3},{-302,-3968,3},{-305,-3962,3}, {-308,-3958,3},{-315,-3948,3},{-318,-3935,3},{-323,-3930,3},{-323,-3927,3}, {-328,-3922,3},{-333,-3917,3},{-333,-3912,3},{-338,-3908,3},{-338,-3900,3}, {-342,-3895,3},{-350,-3892,3},{-350,-3888,3},{-355,-3885,3},{-355,-3880,3}, {-360,-3875,3},{-365,-3870,3},{-368,-3865,3},{-372,-3848,3},{-370,-3848,3}, {-370,-3847,3},{-385,-3838,3},{-393,-3832,3},{-395,-3825,3},{-403,-3820,3}, {-405,-3818,3},{-410,-3817,3},{-422,-3805,3},{-432,-3792,3},{-435,-3788,3}, {-438,-3785,3},{-440,-3777,3},{-453,-3772,3},{-458,-3765,3},{-463,-3758,3}, {-463,-3755,3},{-463,-3748,3},{-465,-3747,3},{-470,-3733,3},{-473,-3728,3}, {-475,-3727,3},{-478,-3727,3},{-487,-3722,3},{-493,-3717,3},{-492,-3708,3}, {-495,-3703,3},{-493,-3695,3},{-495,-3688,3},{-507,-3677,3},{-508,-3670,3}, {-510,-3668,3},{-510,-3662,3},{-513,-3655,3},{-512,-3653,3},{-508,-3658,3}, {-508,-3642,3},{-512,-3628,3},{-510,-3625,3},{-510,-3628,3},{-510,-3613,3}, {-505,-3597,3},{-507,-3588,3},{-512,-3560,3},{-517,-3548,3},{-520,-3545,3}, {-522,-3542,3},{-528,-3537,3},{-535,-3535,3},{-538,-3532,3},{-547,-3528,3}, {-548,-3527,3},{-558,-3523,3},{-568,-3520,3},{-570,-3520,3},{-575,-3520,3}, {-580,-3517,3},{-583,-3517,3},{-587,-3517,3},{-588,-3515,3},{-593,-3515,3}, {-598,-3510,3},{-605,-3512,3},{-618,-3510,3},{-617,-3512,3},{-618,-3512,3}, {-622,-3515,3},{-623,-3513,3},{-620,-3508,3},{-623,-3507,3},{-623,-3503,3}, {-637,-3502,3},{-638,-3498,3},{-640,-3498,3},{-653,-3497,3},{-663,-3497,3}, {-670,-3493,3},{-678,-3495,3},{-680,-3493,3},{-688,-3492,3},{-692,-3485,3}, {-693,-3487,3},{-698,-3485,3},{-700,-3488,3},{-703,-3487,3},{-707,-3490,3}, {-708,-3490,3},{-710,-3490,3},{-708,-3492,3},{-712,-3490,3},{-713,-3492,3}, {-708,-3485,3},{-698,-3483,3},{-702,-3482,3},{-707,-3483,3},{-710,-3483,3}, {-715,-3482,3},{-717,-3478,3},{-723,-3480,3},{-735,-3480,3},{-753,-3482,3}, {-755,-3482,3},{-753,-3488,3},{-757,-3493,3},{-755,-3483,3},{-758,-3485,3}, {-758,-3482,3},{-763,-3480,3},{-768,-3483,3},{-765,-3483,3},{-768,-3485,3}, {-762,-3487,3},{-765,-3488,3},{-770,-3485,3},{-773,-3490,3},{-773,-3485,3}, {-773,-3488,3},{-782,-3490,3},{-783,-3483,3},{-788,-3485,3},{-785,-3483,3}, {-793,-3482,3},{-802,-3483,3},{-803,-3485,3},{-807,-3485,3},{-807,-3488,3}, {-805,-3490,3},{-803,-3493,3},{-805,-3490,3},{-808,-3490,3},{-810,-3488,3}, {-827,-3493,3},{-835,-3493,3},{-837,-3495,3},{-843,-3497,3},{-850,-3500,3}, {-855,-3500,3},{-863,-3507,3},{-872,-3508,3},{-875,-3508,3},{-883,-3513,3}, {-890,-3513,3},{-898,-3518,3},{-903,-3523,3},{-918,-3530,3},{-932,-3540,3}, {-933,-3543,3},{-935,-3547,3},{-953,-3558,3},{-958,-3565,3},{-960,-3567,3}, {-963,-3568,3},{-967,-3570,3},{-967,-3573,3},{-970,-3578,3},{-965,-3573,3}, {-960,-3578,3},{-960,-3580,3},{-968,-3578,3},{-973,-3587,3},{-967,-3588,3}, {-965,-3590,3},{-962,-3590,3},{-960,-3595,3},{-963,-3595,3},{-967,-3590,3}, {-973,-3588,3},{-977,-3587,3},{-975,-3585,3},{-973,-3580,3},{-977,-3583,3}, {-988,-3590,3},{-993,-3595,3},{-1007,-3603,3},{-1010,-3608,3},{-1015,-3613,3}, {-1022,-3622,3},{-1028,-3628,3},{-1035,-3628,3},{-1043,-3635,3},{-1048,-3638,3}, {-1052,-3642,3},{-1055,-3657,3},{-1073,-3685,3},{-1078,-3692,3},{-1092,-3700,3}, {-1095,-3705,3},{-1097,-3703,3},{-1102,-3707,3},{-1113,-3713,3},{-1112,-3715,3}, {-1110,-3713,3},{-1108,-3718,3},{-1103,-3720,3},{-1102,-3728,3},{-1107,-3727,3}, {-1107,-3723,3},{-1110,-3720,3},{-1108,-3722,3},{-1110,-3722,3},{-1112,-3717,3}, {-1118,-3717,3},{-1120,-3715,3},{-1122,-3720,3},{-1128,-3727,3},{-1143,-3733,3}, {-1143,-3737,3},{-1142,-3738,3},{-1140,-3738,3},{-1140,-3740,3},{-1135,-3737,3}, {-1132,-3737,3},{-1130,-3733,3},{-1125,-3730,3},{-1125,-3727,3},{-1120,-3730,3}, {-1125,-3730,3},{-1118,-3733,3},{-1118,-3735,3},{-1123,-3733,3},{-1125,-3732,3}, {-1127,-3732,3},{-1125,-3735,3},{-1128,-3733,3},{-1130,-3737,3},{-1133,-3740,3}, {-1137,-3740,3},{-1142,-3742,3},{-1140,-3743,3},{-1137,-3743,3},{-1138,-3745,3}, {-1137,-3747,3},{-1140,-3745,3},{-1145,-3738,3},{-1148,-3742,3},{-1152,-3748,3}, {-1150,-3740,3},{-1147,-3738,3},{-1147,-3737,3},{-1160,-3745,3},{-1198,-3762,3}, {-1213,-3770,3},{-1238,-3788,3},{-1243,-3793,3},{-1258,-3800,3},{-1273,-3815,3}, {-1293,-3832,3},{-1302,-3848,3},{-1302,-3853,3},{-1297,-3852,3},{-1293,-3852,3}, {-1292,-3848,3},{-1293,-3848,3},{-1290,-3848,3},{-1285,-3848,3},{-1280,-3850,3}, {-1273,-3850,3},{-1272,-3850,3},{-1273,-3853,3},{-1272,-3857,3},{-1272,-3862,3}, {-1272,-3863,3},{-1268,-3863,3},{-1263,-3865,3},{-1262,-3870,3},{-1258,-3870,3}, {-1262,-3872,3},{-1268,-3872,3},{-1272,-3875,3},{-1273,-3873,3},{-1282,-3878,3}, {-1285,-3882,3},{-1283,-3885,3},{-1273,-3888,3},{-1270,-3888,3},{-1268,-3885,3}, {-1265,-3887,3},{-1268,-3887,3},{-1270,-3890,3},{-1273,-3890,3},{-1273,-3892,3}, {-1278,-3890,3},{-1280,-3887,3},{-1285,-3885,3},{-1287,-3883,3},{-1285,-3880,3}, {-1287,-3878,3},{-1287,-3877,3},{-1287,-3872,3},{-1290,-3875,3},{-1298,-3877,3}, {-1302,-3878,3},{-1308,-3890,3},{-1312,-3890,3},{-1315,-3882,3},{-1317,-3885,3}, {-1320,-3887,3},{-1323,-3893,3},{-1330,-3897,3},{-1333,-3897,3},{-1338,-3895,3}, {-1337,-3902,3},{-1337,-3903,3},{-1333,-3905,3},{-1347,-3907,3},{-1353,-3908,3}, {-1358,-3908,3},{-1360,-3912,3},{-1360,-3908,3},{-1357,-3907,3},{-1353,-3908,3}, {-1348,-3907,3},{-1348,-3903,3},{-1352,-3900,3},{-1352,-3902,3},{-1353,-3900,3}, {-1357,-3900,3},{-1360,-3900,3},{-1367,-3897,3},{-1370,-3897,3},{-1375,-3898,3}, {-1383,-3898,3},{-1383,-3900,3},{-1375,-3907,3},{-1375,-3908,3},{-1372,-3910,3}, {-1372,-3913,3},{-1375,-3915,3},{-1375,-3913,3},{-1373,-3912,3},{-1377,-3912,3}, {-1378,-3907,3},{-1383,-3903,3},{-1385,-3898,3},{-1390,-3902,3},{-1387,-3907,3}, {-1395,-3907,3},{-1393,-3905,3},{-1398,-3898,3},{-1402,-3900,3},{-1407,-3898,3}, {-1408,-3902,3},{-1407,-3905,3},{-1408,-3907,3},{-1410,-3907,3},{-1415,-3908,3}, {-1418,-3903,3},{-1417,-3903,3},{-1415,-3905,3},{-1412,-3907,3},{-1407,-3895,3}, {-1405,-3895,3},{-1402,-3897,3},{-1400,-3897,3},{-1398,-3897,3},{-1397,-3895,3}, {-1395,-3898,3},{-1393,-3897,3},{-1393,-3898,3},{-1392,-3898,3},{-1388,-3893,3}, {-1392,-3892,3},{-1403,-3892,3},{-1413,-3897,3},{-1417,-3897,3},{-1420,-3898,3}, {-1425,-3900,3},{-1430,-3898,3},{-1435,-3900,3},{-1442,-3900,3},{-1465,-3907,3}, {-1477,-3905,3},{-1478,-3903,3},{-1480,-3905,3},{-1482,-3902,3},{-1490,-3903,3}, {-1498,-3900,3},{-1518,-3900,3},{-1552,-3895,3},{-1553,-3897,3},{-1555,-3895,3}, {-1570,-3893,3},{-1585,-3887,3},{-1598,-3892,3},{-1612,-3895,3},{-1615,-3895,3}, {-1628,-3902,3},{-1637,-3900,3},{-1642,-3905,3},{-1668,-3910,3},{-1677,-3913,3}, {-1685,-3913,3},{-1690,-3912,3},{-1700,-3917,3},{-1710,-3917,3},{-1715,-3920,3}, {-1728,-3922,3},{-1738,-3922,3},{-1745,-3918,3},{-1758,-3918,3},{-1762,-3917,3}, {-1768,-3913,3},{-1783,-3927,3},{-1787,-3928,3},{-1792,-3942,3},{-1795,-3945,3}, {-1818,-3962,3},{-1823,-3965,3},{-1852,-3973,3},{-1860,-3972,3},{-1870,-3975,3}, {-1892,-3973,3},{-1930,-3970,3},{-1940,-3970,3},{-1963,-3980,3},{-1965,-3982,3}, {-1968,-3992,3},{-1975,-4002,3},{-1992,-4008,3},{-1995,-4015,3},{-1997,-4013,3}, {-2003,-4015,3},{-2005,-4018,3},{-2012,-4017,3},{-2023,-4022,3},{-2028,-4023,3}, {-2027,-4027,3},{-2028,-4028,3},{-2027,-4030,3},{-2023,-4030,3},{-2023,-4037,3}, {-2025,-4035,3},{-2027,-4038,3},{-2032,-4037,3},{-2032,-4033,3},{-2033,-4033,3}, {-2032,-4030,3},{-2032,-4027,3},{-2038,-4030,3},{-2060,-4040,3},{-2063,-4043,3}, {-2062,-4045,3},{-2063,-4047,3},{-2073,-4053,3},{-2075,-4057,3},{-2083,-4062,3}, {-2082,-4065,3},{-2085,-4077,3},{-2093,-4082,3},{-2102,-4082,3},{-2110,-4085,3}, {-2123,-4097,3},{-2135,-4097,3},{-2148,-4105,3},{-2152,-4107,3},{-2157,-4105,3}, {-2162,-4102,3},{-2177,-4102,3},{-2195,-4097,3},{-2198,-4097,3},{-2202,-4100,3}, {-2213,-4120,3},{-2225,-4160,3},{-2235,-4177,3},{-2238,-4178,3},{-2242,-4182,3}, {-2253,-4193,3},{-2253,-4197,3},{-2257,-4198,3},{-2268,-4200,3},{-2273,-4198,3}, {-2277,-4195,3},{-2277,-4192,3},{-2275,-4192,3},{-2273,-4187,3},{-2277,-4187,3}, {-2278,-4192,3},{-2282,-4193,3},{-2283,-4198,3},{-2287,-4200,3},{-2288,-4202,3}, {-2292,-4203,3},{-2295,-4203,3},{-2293,-4200,3},{-2295,-4200,3},{-2297,-4202,3}, {-2298,-4202,3},{-2295,-4205,3},{-2293,-4257,3},{-2295,-4267,3},{-2297,-4268,3}, {-2298,-4303,3},{-2295,-4305,3},{-2295,-4308,3},{-2293,-4313,3},{-2292,-4308,3}, {-2290,-4310,3},{-2288,-4313,3},{-2282,-4308,3},{-2278,-4303,3},{-2278,-4307,3}, {-2277,-4307,3},{-2275,-4303,3},{-2272,-4302,3},{-2268,-4302,3},{-2267,-4308,3}, {-2270,-4310,3},{-2270,-4315,3},{-2273,-4322,3},{-2273,-4323,3},{-2275,-4327,3}, {-2280,-4327,3},{-2285,-4323,3},{-2283,-4322,3},{-2285,-4320,3},{-2287,-4323,3}, {-2288,-4317,3},{-2293,-4317,3},{-2293,-4315,3},{-2297,-4315,3},{-2300,-4322,3}, {-2302,-4342,3},{-2305,-4352,3},{-2307,-4357,3},{-2305,-4358,3},{-2305,-4363,3}, {-2307,-4392,3},{-2310,-4400,3},{-2307,-4400,3},{-2303,-4397,3},{-2305,-4390,3}, {-2303,-4390,3},{-2305,-4380,3},{-2302,-4360,3},{-2298,-4367,3},{-2298,-4370,3}, {-2293,-4375,3},{-2293,-4378,3},{-2293,-4380,3},{-2292,-4380,3},{-2292,-4387,3}, {-2290,-4387,3},{-2292,-4392,3},{-2293,-4398,3},{-2298,-4403,3},{-2298,-4405,3}, {-2295,-4403,3},{-2293,-4405,3},{-2302,-4410,3},{-2303,-4413,3},{-2303,-4417,3}, {-2305,-4418,3},{-2305,-4423,3},{-2302,-4423,3},{-2300,-4427,3},{-2302,-4428,3}, {-2302,-4430,3},{-2300,-4430,3},{-2302,-4435,3},{-2298,-4435,3},{-2298,-4432,3}, {-2297,-4430,3},{-2293,-4433,3},{-2292,-4432,3},{-2292,-4435,3},{-2295,-4435,3}, {-2297,-4437,3},{-2293,-4442,3},{-2302,-4443,3},{-2300,-4447,3},{-2305,-4458,3}, {-2307,-4460,3},{-2305,-4460,3},{-2305,-4467,3},{-2307,-4468,3},{-2312,-4470,3}, {-2313,-4470,3},{-2320,-4472,3},{-2322,-4470,3},{-2320,-4467,3},{-2318,-4465,3}, {-2320,-4462,3},{-2323,-4468,3},{-2323,-4463,3},{-2330,-4465,3},{-2325,-4462,3}, {-2323,-4457,3},{-2323,-4455,3},{-2325,-4457,3},{-2327,-4457,3},{-2327,-4453,3}, {-2330,-4450,3},{-2330,-4452,3},{-2332,-4455,3},{-2335,-4458,3},{-2333,-4465,3}, {-2335,-4472,3},{-2337,-4473,3},{-2337,-4480,3},{-2338,-4483,3},{-2337,-4485,3}, {-2337,-4490,3},{-2335,-4488,3},{-2333,-4490,3},{-2340,-4498,3},{-2342,-4505,3}, {-2343,-4505,3},{-2345,-4500,3},{-2347,-4505,3},{-2352,-4507,3},{-2348,-4508,3}, {-2352,-4510,3},{-2348,-4515,3},{-2353,-4515,3},{-2353,-4522,3},{-2358,-4520,3}, {-2360,-4525,3},{-2357,-4530,3},{-2362,-4535,3},{-2362,-4542,3},{-2365,-4543,3}, {-2370,-4543,3},{-2373,-4540,3},{-2378,-4538,3},{-2383,-4542,3},{-2383,-4547,3}, {-2385,-4550,3},{-2380,-4555,3},{-2380,-4562,3},{-2378,-4563,3},{-2378,-4567,3}, {-2377,-4588,3},{-2378,-4598,3},{-2383,-4603,3},{-2382,-4605,3},{-2385,-4615,3}, {-2388,-4617,3},{-2392,-4623,3},{-2392,-4620,3},{-2387,-4613,3},{-2387,-4612,3}, {-2393,-4617,3},{-2400,-4617,3},{-2398,-4622,3},{-2403,-4627,3},{-2403,-4630,3}, {-2402,-4632,3},{-2398,-4627,3},{-2392,-4630,3},{-2390,-4637,3},{-2388,-4637,3}, {-2387,-4638,3},{-2392,-4638,3},{-2392,-4642,3},{-2393,-4640,3},{-2393,-4645,3}, {-2397,-4642,3},{-2398,-4642,3},{-2398,-4637,3},{-2403,-4638,3},{-2402,-4640,3}, {-2403,-4648,3},{-2412,-4663,3},{-2425,-4690,3},{-2432,-4698,3},{-2438,-4700,3}, {-2442,-4700,3},{-2443,-4705,3},{-2442,-4705,3},{-2445,-4707,3},{-2457,-4722,3}, {-2465,-4740,3},{-2468,-4742,3},{-2470,-4753,3},{-2475,-4762,3},{-2480,-4768,3}, {-2487,-4780,3},{-2488,-4780,3},{-2490,-4783,3},{-2493,-4785,3},{-2497,-4788,3}, {-2502,-4792,3},{-2507,-4795,3},{-2505,-4800,3},{-2503,-4800,3},{-2502,-4797,3}, {-2502,-4803,3},{-2503,-4802,3},{-2505,-4805,3},{-2507,-4805,3},{-2508,-4797,3}, {-2505,-4790,3},{-2510,-4790,3},{-2520,-4795,3},{-2522,-4798,3},{-2523,-4802,3}, {-2535,-4812,3},{-2538,-4817,3},{-2545,-4820,3},{-2547,-4823,3},{-2545,-4825,3}, {-2543,-4825,3},{-2537,-4822,3},{-2533,-4823,3},{-2530,-4818,3},{-2530,-4813,3}, {-2527,-4813,3},{-2528,-4815,3},{-2530,-4822,3},{-2532,-4825,3},{-2530,-4828,3}, {-2533,-4828,3},{-2537,-4832,3},{-2535,-4833,3},{-2533,-4832,3},{-2533,-4833,3}, {-2527,-4833,3},{-2525,-4832,3},{-2523,-4833,3},{-2525,-4835,3},{-2528,-4837,3}, {-2530,-4835,3},{-2530,-4837,3},{-2530,-4840,3},{-2525,-4843,3},{-2525,-4845,3}, {-2532,-4843,3},{-2533,-4850,3},{-2535,-4843,3},{-2537,-4843,3},{-2538,-4845,3}, {-2538,-4843,3},{-2543,-4842,3},{-2545,-4845,3},{-2547,-4845,3},{-2548,-4848,3}, {-2547,-4850,3},{-2545,-4863,3},{-2535,-4875,3},{-2542,-4872,3},{-2547,-4868,3}, {-2547,-4873,3},{-2550,-4870,3},{-2550,-4862,3},{-2552,-4862,3},{-2552,-4865,3}, {-2553,-4862,3},{-2555,-4860,3},{-2553,-4860,3},{-2552,-4852,3},{-2553,-4850,3}, {-2555,-4847,3},{-2558,-4850,3},{-2558,-4847,3},{-2555,-4845,3},{-2557,-4842,3}, {-2555,-4838,3},{-2558,-4837,3},{-2565,-4845,3},{-2578,-4852,3},{-2582,-4852,3}, {-2585,-4853,3},{-2585,-4857,3},{-2580,-4858,3},{-2580,-4860,3},{-2582,-4862,3}, {-2583,-4860,3},{-2587,-4858,3},{-2583,-4865,3},{-2585,-4868,3},{-2585,-4873,3}, {-2587,-4877,3},{-2588,-4877,3},{-2587,-4872,3},{-2588,-4863,3},{-2587,-4857,3}, {-2592,-4857,3},{-2605,-4862,3},{-2607,-4860,3},{-2617,-4858,3},{-2618,-4860,3}, {-2620,-4863,3},{-2622,-4865,3},{-2625,-4868,3},{-2622,-4873,3},{-2610,-4877,3}, {-2607,-4878,3},{-2607,-4880,3},{-2612,-4878,3},{-2613,-4880,3},{-2620,-4875,3}, {-2625,-4875,3},{-2628,-4878,3},{-2628,-4875,3},{-2630,-4878,3},{-2632,-4880,3}, {-2632,-4875,3},{-2635,-4872,3},{-2637,-4867,3},{-2638,-4865,3},{-2642,-4863,3}, {-2643,-4860,3},{-2658,-4868,3},{-2670,-4868,3},{-2673,-4867,3},{-2677,-4863,3}, {-2677,-4858,3},{-2678,-4858,3},{-2682,-4860,3},{-2683,-4862,3},{-2688,-4863,3}, {-2692,-4862,3},{-2700,-4862,3},{-2702,-4857,3},{-2708,-4858,3},{-2710,-4862,3}, {-2712,-4862,3},{-2717,-4857,3},{-2715,-4853,3},{-2712,-4852,3},{-2717,-4848,3}, {-2718,-4850,3},{-2722,-4848,3},{-2722,-4853,3},{-2720,-4852,3},{-2718,-4853,3}, {-2725,-4862,3},{-2732,-4860,3},{-2732,-4857,3},{-2738,-4855,3},{-2737,-4857,3}, {-2742,-4858,3},{-2743,-4862,3},{-2747,-4865,3},{-2757,-4860,3},{-2758,-4857,3}, {-2762,-4858,3},{-2760,-4860,3},{-2765,-4865,3},{-2772,-4863,3},{-2775,-4860,3}, {-2777,-4863,3},{-2783,-4857,3},{-2785,-4858,3},{-2787,-4857,3},{-2798,-4862,3}, {-2803,-4860,3},{-2808,-4863,3},{-2818,-4865,3},{-2823,-4865,3},{-2823,-4863,3}, {-2828,-4868,3},{-2835,-4868,3},{-2838,-4873,3},{-2848,-4875,3},{-2850,-4878,3}, {-2843,-4882,3},{-2838,-4880,3},{-2832,-4887,3},{-2835,-4887,3},{-2840,-4887,3}, {-2842,-4887,3},{-2843,-4883,3},{-2848,-4885,3},{-2852,-4880,3},{-2853,-4878,3}, {-2852,-4875,3},{-2853,-4875,3},{-2857,-4877,3},{-2858,-4880,3},{-2862,-4882,3}, {-2867,-4897,3},{-2883,-4922,3},{-2897,-4938,3},{-2912,-4955,3},{-2933,-4970,3}, {-2937,-4975,3},{-2957,-4988,3},{-2977,-5000,3},{-2983,-5005,3},{-2992,-5008,3}, {-2997,-5010,3},{-3002,-5012,3},{-3007,-5015,3},{-3012,-5017,3},{-3017,-5018,3}, {-3022,-5022,3},{-3027,-5022,3},{-3032,-5023,3},{-3037,-5027,3},{-3040,-5028,3}, {-3047,-5032,3},{-3050,-5033,3},{-3055,-5037,3},{-3058,-5040,3},{-3063,-5043,3}, {-3068,-5047,3},{-3073,-5050,3},{-3077,-5053,3},{-3082,-5057,3},{-3087,-5058,3}, {-3090,-5062,3},{-3095,-5065,3},{-3100,-5068,3},{-3123,-5088,3},{-3142,-5107,3}, {-3172,-5147,3},{-3195,-5188,3},{-3208,-5198,3},{-3213,-5205,3},{-3217,-5207,3}, {-3213,-5208,3},{-3203,-5203,3},{-3198,-5205,3},{-3195,-5202,3},{-3185,-5208,3}, {-3183,-5208,3},{-3182,-5203,3},{-3183,-5197,3},{-3187,-5193,3},{-3188,-5190,3}, {-3187,-5185,3},{-3183,-5182,3},{-3180,-5183,3},{-3180,-5170,3},{-3170,-5158,3}, {-3162,-5152,3},{-3158,-5148,3},{-3162,-5145,3},{-3157,-5147,3},{-3150,-5143,3}, {-3152,-5142,3},{-3153,-5135,3},{-3152,-5132,3},{-3147,-5125,3},{-3140,-5118,3}, {-3128,-5115,3},{-3115,-5117,3},{-3108,-5117,3},{-3107,-5113,3},{-3108,-5108,3}, {-3107,-5102,3},{-3113,-5100,3},{-3113,-5098,3},{-3110,-5097,3},{-3108,-5093,3}, {-3107,-5098,3},{-3105,-5098,3},{-3093,-5095,3},{-3090,-5098,3},{-3090,-5090,3}, {-3078,-5073,3},{-3073,-5070,3},{-3060,-5067,3},{-3055,-5068,3},{-3047,-5068,3}, {-3038,-5073,3},{-3035,-5068,3},{-3040,-5063,3},{-3043,-5065,3},{-3045,-5063,3}, {-3048,-5060,3},{-3045,-5057,3},{-3040,-5057,3},{-3037,-5055,3},{-3027,-5053,3}, {-3018,-5062,3},{-3018,-5063,3},{-3022,-5067,3},{-3022,-5068,3},{-3023,-5068,3}, {-3025,-5065,3},{-3030,-5067,3},{-3028,-5077,3},{-3032,-5078,3},{-3033,-5080,3}, {-3032,-5092,3},{-3040,-5093,3},{-3043,-5092,3},{-3043,-5093,3},{-3040,-5098,3}, {-3038,-5103,3},{-3035,-5105,3},{-3030,-5102,3},{-3027,-5102,3},{-3027,-5105,3}, {-3023,-5107,3},{-3027,-5113,3},{-3023,-5115,3},{-3023,-5117,3},{-3020,-5118,3}, {-3018,-5123,3},{-3015,-5122,3},{-3010,-5125,3},{-3005,-5123,3},{-3005,-5127,3}, {-3002,-5127,3},{-3002,-5128,3},{-3008,-5130,3},{-3010,-5128,3},{-3015,-5132,3}, {-3018,-5130,3},{-3022,-5133,3},{-3023,-5128,3},{-3025,-5127,3},{-3028,-5128,3}, {-3030,-5128,3},{-3030,-5125,3},{-3032,-5123,3},{-3030,-5120,3},{-3037,-5118,3}, {-3037,-5117,3},{-3035,-5110,3},{-3037,-5108,3},{-3040,-5112,3},{-3042,-5113,3}, {-3040,-5115,3},{-3040,-5118,3},{-3040,-5120,3},{-3050,-5127,3},{-3062,-5130,3}, {-3075,-5127,3},{-3080,-5127,3},{-3080,-5128,3},{-3078,-5132,3},{-3077,-5128,3}, {-3065,-5132,3},{-3063,-5133,3},{-3065,-5137,3},{-3067,-5138,3},{-3075,-5138,3}, {-3088,-5135,3},{-3088,-5145,3},{-3095,-5148,3},{-3105,-5148,3},{-3108,-5145,3}, {-3113,-5162,3},{-3122,-5165,3},{-3127,-5163,3},{-3127,-5180,3},{-3132,-5187,3}, {-3132,-5192,3},{-3132,-5193,3},{-3133,-5197,3},{-3137,-5193,3},{-3138,-5198,3}, {-3142,-5200,3},{-3155,-5200,3},{-3158,-5198,3},{-3163,-5200,3},{-3163,-5202,3}, {-3157,-5203,3},{-3157,-5208,3},{-3160,-5210,3},{-3162,-5207,3},{-3160,-5205,3}, {-3163,-5203,3},{-3168,-5208,3},{-3173,-5222,3},{-3177,-5222,3},{-3180,-5220,3}, {-3182,-5222,3},{-3183,-5222,3},{-3185,-5225,3},{-3188,-5223,3},{-3188,-5220,3}, {-3193,-5213,3},{-3197,-5223,3},{-3205,-5225,3},{-3205,-5220,3},{-3208,-5223,3}, {-3210,-5222,3},{-3207,-5215,3},{-3203,-5212,3},{-3203,-5208,3},{-3205,-5208,3}, {-3207,-5213,3},{-3212,-5217,3},{-3213,-5215,3},{-3207,-5208,3},{-3212,-5210,3}, {-3217,-5208,3},{-3225,-5223,3},{-3250,-5237,3},{-3288,-5250,3},{-3313,-5263,3}, {-3325,-5273,3},{-3333,-5283,3},{-3353,-5310,3},{-3365,-5323,3},{-3373,-5337,3}, {-3245,-5820,131},{-3232,-5810,3},{-3225,-5810,3},{-3217,-5818,3},{-3210,-5815,3}, {-3200,-5815,3},{-3195,-5817,3},{-3188,-5820,3},{-3183,-5817,3},{-3182,-5807,3}, {-3178,-5803,3},{-3158,-5798,3},{-3153,-5800,3},{-3148,-5807,3},{-3147,-5808,3}, {-3140,-5798,3},{-3133,-5798,3},{-3128,-5793,3},{-3123,-5790,3},{-3115,-5792,3}, {-3107,-5785,3},{-3102,-5787,3},{-3093,-5792,3},{-3092,-5787,3},{-3092,-5782,3}, {-3088,-5780,3},{-3072,-5782,3},{-3063,-5785,3},{-3060,-5788,3},{-3053,-5788,3}, {-3050,-5787,3},{-3035,-5767,3},{-3028,-5763,3},{-3023,-5763,3},{-3023,-5757,3}, {-3028,-5750,3},{-3027,-5747,3},{-3027,-5743,3},{-3030,-5740,3},{-3028,-5737,3}, {-3027,-5733,3},{-3030,-5728,3},{-3028,-5725,3},{-3030,-5723,3},{-3030,-5722,3}, {-3023,-5715,3},{-3018,-5715,3},{-3012,-5708,3},{-3010,-5693,3},{-3012,-5690,3}, {-3010,-5687,3},{-3012,-5680,3},{-3017,-5677,3},{-3023,-5663,3},{-3025,-5662,3}, {-3030,-5662,3},{-3030,-5657,3},{-3038,-5648,3},{-3042,-5642,3},{-3048,-5637,3}, {-3057,-5622,3},{-3058,-5622,3},{-3060,-5618,3},{-3065,-5617,3},{-3068,-5612,3}, {-3073,-5608,3},{-3080,-5600,3},{-3087,-5598,3},{-3093,-5600,3},{-3108,-5600,3}, {-3107,-5583,3},{-3105,-5582,3},{-3102,-5575,3},{-3095,-5572,3},{-3095,-5563,3}, {-3087,-5563,3},{-3085,-5562,3},{-3085,-5558,3},{-3095,-5547,3},{-3097,-5542,3}, {-3100,-5540,3},{-3103,-5535,3},{-3108,-5533,3},{-3113,-5533,3},{-3115,-5528,3}, {-3123,-5525,3},{-3125,-5522,3},{-3127,-5515,3},{-3133,-5508,3},{-3132,-5505,3}, {-3128,-5505,3},{-3127,-5502,3},{-3137,-5493,3},{-3138,-5488,3},{-3142,-5483,3}, {-3147,-5458,3},{-3150,-5457,3},{-3158,-5447,3},{-3167,-5447,3},{-3172,-5438,3}, {-3178,-5432,3},{-3192,-5415,3},{-3192,-5412,3},{-3187,-5407,3},{-3190,-5402,3}, {-3193,-5400,3},{-3193,-5393,3},{-3197,-5388,3},{-3202,-5387,3},{-3205,-5380,3}, {-3205,-5375,3},{-3210,-5373,3},{-3218,-5370,3},{-3220,-5367,3},{-3227,-5363,3}, {-3230,-5365,3},{-3237,-5363,3},{-3243,-5357,3},{-3250,-5347,3},{-3257,-5340,3}, {-3260,-5330,3},{-3260,-5327,3},{-3263,-5318,3},{-3272,-5310,3},{-3282,-5318,3}, {-3288,-5328,3},{-3297,-5330,3},{-3307,-5347,3},{-3315,-5352,3},{-3320,-5353,3}, {-3342,-5350,3},{-3367,-5353,3},{-3368,-5350,3},{-3368,-5343,3},{-3373,-5342,3}, {-3373,-5337,3},{-3378,-5342,3},{-3385,-5348,3},{-3407,-5353,3},{-3418,-5370,3}, {-3425,-5375,3},{-3433,-5378,3},{-3438,-5377,3},{-3443,-5387,3},{-3450,-5398,3}, {-3460,-5410,3},{-3463,-5415,3},{-3467,-5415,3},{-3468,-5425,3},{-3467,-5423,3}, {-3462,-5425,3},{-3458,-5425,3},{-3457,-5432,3},{-3460,-5428,3},{-3465,-5435,3}, {-3465,-5430,3},{-3468,-5428,3},{-3470,-5428,3},{-3482,-5458,3},{-3485,-5463,3}, {-3487,-5468,3},{-3492,-5480,3},{-3495,-5490,3},{-3498,-5495,3},{-3493,-5495,3}, {-3492,-5503,3},{-3490,-5503,3},{-3488,-5507,3},{-3490,-5525,3},{-3490,-5528,3}, {-3485,-5530,3},{-3482,-5537,3},{-3480,-5553,3},{-3478,-5560,3},{-3477,-5570,3}, {-3478,-5578,3},{-3483,-5592,3},{-3488,-5602,3},{-3492,-5610,3},{-3493,-5618,3}, {-3492,-5620,3},{-3490,-5620,3},{-3488,-5622,3},{-3492,-5627,3},{-3492,-5632,3}, {-3485,-5643,3},{-3480,-5637,3},{-3477,-5645,3},{-3477,-5657,3},{-3473,-5662,3}, {-3472,-5675,3},{-3467,-5688,3},{-3463,-5692,3},{-3455,-5703,3},{-3450,-5708,3}, {-3447,-5710,3},{-3445,-5718,3},{-3445,-5742,3},{-3445,-5745,3},{-3447,-5752,3}, {-3443,-5757,3},{-3450,-5783,3},{-3437,-5790,3},{-3427,-5802,3},{-3423,-5807,3}, {-3418,-5808,3},{-3417,-5820,3},{-3412,-5822,3},{-3400,-5830,3},{-3393,-5840,3}, {-3383,-5843,3},{-3368,-5843,3},{-3363,-5842,3},{-3355,-5843,3},{-3345,-5838,3}, {-3340,-5842,3},{-3335,-5840,3},{-3333,-5837,3},{-3328,-5835,3},{-3313,-5837,3}, {-3312,-5833,3},{-3312,-5822,3},{-3310,-5815,3},{-3303,-5808,3},{-3293,-5805,3}, {-3287,-5807,3},{-3280,-5813,3},{-3260,-5815,3},{-3245,-5820,3},{-2223,-6263,131}, {-2105,-6225,3},{-2057,-6227,3},{-2008,-6192,3},{-1965,-6175,3},{-1947,-6062,3}, {-1930,-5998,3},{-1935,-5910,3},{-1962,-5855,3},{-1983,-5815,3},{-1992,-5815,3}, {-2000,-5813,3},{-2010,-5813,3},{-2017,-5817,3},{-2018,-5815,3},{-2020,-5812,3}, {-2023,-5817,3},{-2027,-5815,3},{-2028,-5815,3},{-2027,-5812,3},{-2027,-5810,3}, {-2037,-5808,3},{-2043,-5798,3},{-2052,-5802,3},{-2062,-5800,3},{-2065,-5797,3}, {-2072,-5798,3},{-2072,-5797,3},{-2067,-5793,3},{-2068,-5790,3},{-2073,-5785,3}, {-2080,-5795,3},{-2082,-5788,3},{-2083,-5785,3},{-2090,-5792,3},{-2092,-5788,3}, {-2097,-5785,3},{-2095,-5783,3},{-2097,-5782,3},{-2105,-5785,3},{-2108,-5783,3}, {-2122,-5783,3},{-2128,-5790,3},{-2132,-5788,3},{-2132,-5785,3},{-2133,-5785,3}, {-2143,-5792,3},{-2152,-5795,3},{-2153,-5795,3},{-2158,-5792,3},{-2162,-5793,3}, {-2165,-5793,3},{-2168,-5788,3},{-2175,-5793,3},{-2180,-5793,3},{-2185,-5795,3}, {-2190,-5792,3},{-2202,-5798,3},{-2208,-5798,3},{-2208,-5795,3},{-2212,-5793,3}, {-2213,-5790,3},{-2212,-5785,3},{-2215,-5783,3},{-2212,-5780,3},{-2213,-5777,3}, {-2210,-5777,3},{-2210,-5773,3},{-2212,-5768,3},{-2210,-5765,3},{-2217,-5762,3}, {-2218,-5760,3},{-2218,-5755,3},{-2217,-5755,3},{-2218,-5750,3},{-2218,-5745,3}, {-2218,-5742,3},{-2222,-5737,3},{-2220,-5737,3},{-2222,-5733,3},{-2220,-5730,3}, {-2222,-5728,3},{-2222,-5725,3},{-2218,-5720,3},{-2222,-5718,3},{-2220,-5715,3}, {-2222,-5710,3},{-2223,-5712,3},{-2223,-5710,3},{-2223,-5705,3},{-2223,-5703,3}, {-2223,-5695,3},{-2225,-5695,3},{-2227,-5690,3},{-2225,-5690,3},{-2223,-5688,3}, {-2228,-5688,3},{-2230,-5683,3},{-2228,-5680,3},{-2225,-5680,3},{-2225,-5673,3}, {-2225,-5672,3},{-2222,-5670,3},{-2227,-5663,3},{-2223,-5665,3},{-2223,-5662,3}, {-2220,-5658,3},{-2218,-5657,3},{-2217,-5657,3},{-2210,-5650,3},{-2207,-5640,3}, {-2208,-5638,3},{-2217,-5635,3},{-2227,-5620,3},{-2228,-5617,3},{-2227,-5612,3}, {-2230,-5608,3},{-2228,-5605,3},{-2228,-5602,3},{-2227,-5598,3},{-2230,-5593,3}, {-2228,-5585,3},{-2240,-5575,3},{-2253,-5573,3},{-2257,-5572,3},{-2263,-5562,3}, {-2273,-5560,3},{-2282,-5565,3},{-2293,-5562,3},{-2300,-5563,3},{-2305,-5558,3}, {-2312,-5558,3},{-2315,-5553,3},{-2320,-5553,3},{-2325,-5552,3},{-2332,-5555,3}, {-2338,-5550,3},{-2347,-5553,3},{-2353,-5552,3},{-2360,-5552,3},{-2367,-5547,3}, {-2370,-5543,3},{-2393,-5542,3},{-2397,-5540,3},{-2398,-5535,3},{-2402,-5518,3}, {-2398,-5510,3},{-2398,-5502,3},{-2397,-5492,3},{-2392,-5488,3},{-2387,-5477,3}, {-2383,-5467,3},{-2380,-5463,3},{-2390,-5442,3},{-2398,-5435,3},{-2405,-5425,3}, {-2408,-5428,3},{-2413,-5433,3},{-2423,-5432,3},{-2428,-5427,3},{-2437,-5425,3}, {-2450,-5433,3},{-2462,-5432,3},{-2475,-5437,3},{-2480,-5440,3},{-2493,-5442,3}, {-2502,-5445,3},{-2508,-5445,3},{-2515,-5442,3},{-2520,-5447,3},{-2527,-5450,3}, {-2537,-5458,3},{-2543,-5462,3},{-2552,-5460,3},{-2557,-5460,3},{-2558,-5460,3}, {-2563,-5458,3},{-2565,-5463,3},{-2567,-5465,3},{-2577,-5462,3},{-2582,-5458,3}, {-2590,-5462,3},{-2595,-5460,3},{-2598,-5467,3},{-2607,-5463,3},{-2617,-5467,3}, {-2620,-5463,3},{-2625,-5467,3},{-2628,-5465,3},{-2643,-5470,3},{-2652,-5480,3}, {-2660,-5478,3},{-2665,-5480,3},{-2667,-5482,3},{-2665,-5488,3},{-2668,-5492,3}, {-2678,-5495,3},{-2680,-5505,3},{-2687,-5513,3},{-2695,-5513,3},{-2697,-5520,3}, {-2693,-5527,3},{-2698,-5542,3},{-2703,-5545,3},{-2710,-5545,3},{-2710,-5553,3}, {-2717,-5555,3},{-2717,-5560,3},{-2725,-5557,3},{-2728,-5558,3},{-2732,-5558,3}, {-2735,-5560,3},{-2737,-5567,3},{-2743,-5573,3},{-2745,-5577,3},{-2740,-5585,3}, {-2735,-5587,3},{-2733,-5590,3},{-2733,-5597,3},{-2732,-5602,3},{-2730,-5605,3}, {-2732,-5615,3},{-2737,-5620,3},{-2738,-5627,3},{-2747,-5627,3},{-2758,-5637,3}, {-2755,-5645,3},{-2747,-5652,3},{-2745,-5657,3},{-2747,-5667,3},{-2750,-5675,3}, {-2750,-5678,3},{-2742,-5687,3},{-2742,-5690,3},{-2743,-5697,3},{-2748,-5707,3}, {-2748,-5712,3},{-2747,-5720,3},{-2743,-5730,3},{-2743,-5740,3},{-2738,-5752,3}, {-2737,-5762,3},{-2732,-5772,3},{-2730,-5778,3},{-2727,-5798,3},{-2728,-5807,3}, {-2727,-5823,3},{-2728,-5833,3},{-2728,-5850,3},{-2732,-5860,3},{-2725,-5860,3}, {-2718,-5865,3},{-2715,-5865,3},{-2713,-5862,3},{-2712,-5857,3},{-2707,-5855,3}, {-2705,-5853,3},{-2707,-5852,3},{-2702,-5850,3},{-2698,-5847,3},{-2697,-5848,3}, {-2693,-5848,3},{-2692,-5842,3},{-2688,-5837,3},{-2688,-5832,3},{-2687,-5832,3}, {-2685,-5835,3},{-2682,-5835,3},{-2682,-5833,3},{-2682,-5828,3},{-2677,-5828,3}, {-2677,-5825,3},{-2665,-5823,3},{-2665,-5818,3},{-2662,-5820,3},{-2660,-5817,3}, {-2653,-5822,3},{-2648,-5820,3},{-2645,-5818,3},{-2643,-5822,3},{-2632,-5817,3}, {-2627,-5817,3},{-2623,-5810,3},{-2618,-5815,3},{-2620,-5812,3},{-2615,-5810,3}, {-2612,-5808,3},{-2610,-5802,3},{-2607,-5797,3},{-2600,-5787,3},{-2598,-5785,3}, {-2597,-5790,3},{-2595,-5790,3},{-2592,-5785,3},{-2588,-5787,3},{-2583,-5780,3}, {-2578,-5782,3},{-2573,-5773,3},{-2570,-5777,3},{-2568,-5777,3},{-2567,-5773,3}, {-2565,-5768,3},{-2562,-5767,3},{-2560,-5765,3},{-2562,-5762,3},{-2558,-5760,3}, {-2557,-5757,3},{-2543,-5755,3},{-2538,-5763,3},{-2533,-5765,3},{-2528,-5768,3}, {-2523,-5773,3},{-2518,-5775,3},{-2513,-5783,3},{-2508,-5787,3},{-2508,-5798,3}, {-2505,-5800,3},{-2505,-5805,3},{-2502,-5808,3},{-2502,-5812,3},{-2493,-5822,3}, {-2495,-5825,3},{-2498,-5830,3},{-2500,-5833,3},{-2497,-5835,3},{-2485,-5845,3}, {-2483,-5853,3},{-2482,-5867,3},{-2478,-5872,3},{-2478,-5880,3},{-2468,-5893,3}, {-2463,-5903,3},{-2460,-5907,3},{-2460,-5912,3},{-2452,-5925,3},{-2448,-5933,3}, {-2435,-5947,3},{-2402,-6003,3},{-2403,-6013,3},{-2403,-6028,3},{-2398,-6037,3}, {-2398,-6045,3},{-2395,-6053,3},{-2395,-6057,3},{-2390,-6062,3},{-2388,-6065,3}, {-2390,-6068,3},{-2388,-6072,3},{-2387,-6085,3},{-2382,-6092,3},{-2382,-6100,3}, {-2375,-6103,3},{-2367,-6112,3},{-2365,-6110,3},{-2360,-6112,3},{-2355,-6118,3}, {-2355,-6122,3},{-2352,-6128,3},{-2348,-6130,3},{-2345,-6137,3},{-2345,-6140,3}, {-2342,-6145,3},{-2342,-6150,3},{-2337,-6153,3},{-2335,-6152,3},{-2335,-6155,3}, {-2330,-6160,3},{-2328,-6167,3},{-2325,-6173,3},{-2318,-6175,3},{-2317,-6178,3}, {-2315,-6178,3},{-2315,-6180,3},{-2308,-6185,3},{-2307,-6192,3},{-2302,-6198,3}, {-2290,-6203,3},{-2272,-6218,3},{-2268,-6218,3},{-2267,-6220,3},{-2263,-6218,3}, {-2263,-6222,3},{-2260,-6227,3},{-2257,-6223,3},{-2253,-6225,3},{-2252,-6228,3}, {-2248,-6228,3},{-2245,-6240,3},{-2240,-6247,3},{-2238,-6247,3},{-2238,-6252,3}, {-2235,-6253,3},{-2232,-6257,3},{-2230,-6262,3},{-2225,-6262,3},{-2223,-6263,3}, {-2282,-6718,131},{-2290,-6758,3},{-2288,-6780,3},{-2283,-6782,3},{-2285,-6783,3}, {-2283,-6788,3},{-2272,-6788,3},{-2255,-6785,3},{-2250,-6788,3},{-2243,-6788,3}, {-2233,-6795,3},{-2227,-6792,3},{-2222,-6793,3},{-2217,-6797,3},{-2210,-6795,3}, {-2207,-6797,3},{-2197,-6808,3},{-2175,-6810,3},{-2168,-6813,3},{-2160,-6818,3}, {-2130,-6818,3},{-2093,-6842,3},{-2093,-6850,3},{-2090,-6855,3},{-2073,-6857,3}, {-2068,-6852,3},{-2065,-6847,3},{-2063,-6847,3},{-2057,-6855,3},{-2050,-6870,3}, {-2045,-6875,3},{-2040,-6875,3},{-2037,-6875,3},{-2033,-6867,3},{-2023,-6873,3}, {-2015,-6872,3},{-2013,-6877,3},{-2010,-6878,3},{-2008,-6877,3},{-2007,-6867,3}, {-2005,-6857,3},{-1997,-6855,3},{-1992,-6852,3},{-1988,-6855,3},{-1983,-6855,3}, {-1982,-6860,3},{-1973,-6870,3},{-1970,-6868,3},{-1965,-6863,3},{-1945,-6848,3}, {-1943,-6843,3},{-1942,-6843,3},{-1932,-6855,3},{-1928,-6865,3},{-1920,-6868,3}, {-1917,-6875,3},{-1910,-6882,3},{-1907,-6890,3},{-1898,-6895,3},{-1895,-6898,3}, {-1888,-6893,3},{-1875,-6900,3},{-1870,-6900,3},{-1865,-6903,3},{-1848,-6902,3}, {-1838,-6907,3},{-1832,-6907,3},{-1828,-6908,3},{-1823,-6908,3},{-1815,-6915,3}, {-1812,-6913,3},{-1808,-6907,3},{-1802,-6907,3},{-1803,-6913,3},{-1798,-6923,3}, {-1797,-6925,3},{-1795,-6927,3},{-1797,-6927,3},{-1798,-6928,3},{-1797,-6930,3}, {-1790,-6932,3},{-1780,-6932,3},{-1775,-6935,3},{-1763,-6948,3},{-1750,-6950,3}, {-1738,-6950,3},{-1730,-6958,3},{-1728,-6965,3},{-1723,-6962,3},{-1718,-6962,3}, {-1718,-6958,3},{-1710,-6948,3},{-1710,-6945,3},{-1705,-6938,3},{-1703,-6938,3}, {-1702,-6942,3},{-1698,-6935,3},{-1692,-6932,3},{-1682,-6920,3},{-1672,-6917,3}, {-1670,-6910,3},{-1665,-6900,3},{-1660,-6903,3},{-1655,-6903,3},{-1655,-6902,3}, {-1660,-6893,3},{-1660,-6887,3},{-1647,-6885,3},{-1647,-6895,3},{-1643,-6895,3}, {-1642,-6890,3},{-1642,-6882,3},{-1642,-6877,3},{-1638,-6873,3},{-1635,-6868,3}, {-1633,-6873,3},{-1630,-6868,3},{-1633,-6863,3},{-1635,-6863,3},{-1633,-6858,3}, {-1628,-6860,3},{-1627,-6858,3},{-1625,-6858,3},{-1625,-6860,3},{-1622,-6860,3}, {-1622,-6863,3},{-1623,-6868,3},{-1618,-6880,3},{-1622,-6883,3},{-1622,-6885,3}, {-1617,-6885,3},{-1607,-6892,3},{-1607,-6885,3},{-1602,-6883,3},{-1600,-6877,3}, {-1597,-6878,3},{-1593,-6888,3},{-1595,-6893,3},{-1593,-6902,3},{-1587,-6900,3}, {-1580,-6903,3},{-1577,-6907,3},{-1573,-6910,3},{-1570,-6918,3},{-1568,-6915,3}, {-1567,-6918,3},{-1568,-6927,3},{-1562,-6930,3},{-1557,-6928,3},{-1557,-6932,3}, {-1553,-6937,3},{-1548,-6933,3},{-1543,-6933,3},{-1540,-6928,3},{-1537,-6928,3}, {-1533,-6927,3},{-1530,-6922,3},{-1527,-6920,3},{-1527,-6915,3},{-1525,-6913,3}, {-1523,-6913,3},{-1517,-6920,3},{-1512,-6928,3},{-1502,-6933,3},{-1497,-6938,3}, {-1493,-6938,3},{-1490,-6935,3},{-1487,-6937,3},{-1480,-6937,3},{-1478,-6933,3}, {-1475,-6927,3},{-1473,-6923,3},{-1465,-6925,3},{-1458,-6923,3},{-1457,-6915,3}, {-1450,-6915,3},{-1438,-6898,3},{-1435,-6898,3},{-1433,-6900,3},{-1425,-6900,3}, {-1420,-6885,3},{-1412,-6887,3},{-1403,-6890,3},{-1398,-6895,3},{-1397,-6898,3}, {-1387,-6898,3},{-1380,-6902,3},{-1375,-6900,3},{-1370,-6907,3},{-1365,-6908,3}, {-1363,-6907,3},{-1363,-6902,3},{-1360,-6902,3},{-1357,-6898,3},{-1352,-6897,3}, {-1325,-6895,3},{-1318,-6897,3},{-1307,-6895,3},{-1300,-6897,3},{-1287,-6897,3}, {-1285,-6895,3},{-1280,-6892,3},{-1280,-6890,3},{-1277,-6888,3},{-1275,-6885,3}, {-1273,-6885,3},{-1272,-6875,3},{-1267,-6873,3},{-1265,-6878,3},{-1262,-6878,3}, {-1260,-6877,3},{-1257,-6872,3},{-1253,-6870,3},{-1253,-6868,3},{-1250,-6868,3}, {-1250,-6867,3},{-1200,-6892,3},{-1095,-6957,3},{-1095,-6945,3},{-1093,-6940,3}, {-1095,-6930,3},{-1095,-6922,3},{-1097,-6910,3},{-1097,-6907,3},{-1100,-6898,3}, {-1102,-6890,3},{-1102,-6885,3},{-1100,-6882,3},{-1100,-6878,3},{-1100,-6875,3}, {-1105,-6878,3},{-1112,-6878,3},{-1113,-6875,3},{-1110,-6858,3},{-1105,-6852,3}, {-1105,-6842,3},{-1100,-6838,3},{-1100,-6833,3},{-1098,-6828,3},{-1095,-6827,3}, {-1090,-6822,3},{-1085,-6822,3},{-1077,-6813,3},{-1072,-6812,3},{-1068,-6807,3}, {-1065,-6802,3},{-1065,-6787,3},{-1068,-6780,3},{-1072,-6773,3},{-1068,-6770,3}, {-1062,-6767,3},{-1058,-6763,3},{-1053,-6760,3},{-1050,-6758,3},{-1045,-6747,3}, {-1042,-6742,3},{-1038,-6742,3},{-1037,-6732,3},{-1032,-6732,3},{-1032,-6723,3}, {-1032,-6717,3},{-1028,-6713,3},{-1027,-6708,3},{-1008,-6690,3},{-998,-6677,3}, {-995,-6665,3},{-990,-6663,3},{-988,-6648,3},{-988,-6643,3},{-983,-6635,3}, {-983,-6623,3},{-980,-6617,3},{-980,-6610,3},{-978,-6608,3},{-980,-6603,3}, {-977,-6590,3},{-978,-6587,3},{-975,-6582,3},{-978,-6580,3},{-973,-6578,3}, {-977,-6577,3},{-975,-6572,3},{-977,-6570,3},{-980,-6570,3},{-980,-6565,3}, {-983,-6562,3},{-983,-6557,3},{-980,-6555,3},{-978,-6552,3},{-973,-6552,3}, {-972,-6550,3},{-968,-6543,3},{-972,-6537,3},{-977,-6533,3},{-980,-6533,3}, {-985,-6530,3},{-995,-6533,3},{-1003,-6533,3},{-1010,-6530,3},{-1022,-6528,3}, {-1030,-6532,3},{-1037,-6538,3},{-1045,-6540,3},{-1048,-6545,3},{-1057,-6543,3}, {-1062,-6543,3},{-1065,-6538,3},{-1068,-6538,3},{-1080,-6542,3},{-1085,-6533,3}, {-1092,-6532,3},{-1098,-6530,3},{-1103,-6533,3},{-1110,-6533,3},{-1113,-6538,3}, {-1117,-6540,3},{-1120,-6540,3},{-1122,-6537,3},{-1125,-6538,3},{-1127,-6540,3}, {-1132,-6537,3},{-1133,-6533,3},{-1138,-6535,3},{-1148,-6532,3},{-1150,-6530,3}, {-1152,-6523,3},{-1153,-6522,3},{-1158,-6522,3},{-1162,-6517,3},{-1163,-6520,3}, {-1165,-6518,3},{-1172,-6522,3},{-1173,-6520,3},{-1178,-6515,3},{-1177,-6515,3}, {-1173,-6513,3},{-1170,-6512,3},{-1173,-6512,3},{-1175,-6507,3},{-1182,-6503,3}, {-1188,-6503,3},{-1192,-6500,3},{-1197,-6502,3},{-1200,-6498,3},{-1203,-6480,3}, {-1212,-6475,3},{-1215,-6473,3},{-1215,-6472,3},{-1210,-6470,3},{-1212,-6468,3}, {-1217,-6468,3},{-1220,-6463,3},{-1222,-6455,3},{-1225,-6452,3},{-1223,-6448,3}, {-1228,-6447,3},{-1237,-6450,3},{-1240,-6445,3},{-1247,-6440,3},{-1247,-6430,3}, {-1250,-6428,3},{-1250,-6427,3},{-1248,-6423,3},{-1248,-6422,3},{-1248,-6418,3}, {-1253,-6415,3},{-1252,-6413,3},{-1250,-6412,3},{-1252,-6410,3},{-1250,-6408,3}, {-1252,-6403,3},{-1253,-6402,3},{-1253,-6397,3},{-1255,-6393,3},{-1253,-6390,3}, {-1247,-6387,3},{-1247,-6380,3},{-1247,-6368,3},{-1250,-6363,3},{-1252,-6357,3}, {-1255,-6355,3},{-1257,-6348,3},{-1260,-6347,3},{-1265,-6342,3},{-1267,-6337,3}, {-1270,-6333,3},{-1270,-6323,3},{-1263,-6313,3},{-1265,-6307,3},{-1270,-6307,3}, {-1272,-6305,3},{-1275,-6305,3},{-1278,-6302,3},{-1283,-6300,3},{-1287,-6295,3}, {-1285,-6293,3},{-1295,-6287,3},{-1295,-6283,3},{-1298,-6282,3},{-1302,-6278,3}, {-1298,-6277,3},{-1297,-6270,3},{-1300,-6265,3},{-1303,-6265,3},{-1307,-6255,3}, {-1307,-6248,3},{-1313,-6242,3},{-1315,-6238,3},{-1315,-6228,3},{-1312,-6222,3}, {-1313,-6218,3},{-1312,-6217,3},{-1315,-6213,3},{-1315,-6212,3},{-1327,-6212,3}, {-1330,-6205,3},{-1335,-6202,3},{-1345,-6187,3},{-1352,-6185,3},{-1355,-6183,3}, {-1353,-6173,3},{-1352,-6167,3},{-1350,-6160,3},{-1355,-6153,3},{-1355,-6145,3}, {-1348,-6133,3},{-1353,-6125,3},{-1352,-6120,3},{-1353,-6117,3},{-1348,-6112,3}, {-1348,-6108,3},{-1347,-6107,3},{-1348,-6103,3},{-1355,-6103,3},{-1355,-6098,3}, {-1358,-6095,3},{-1365,-6082,3},{-1368,-6080,3},{-1368,-6073,3},{-1370,-6073,3}, {-1373,-6068,3},{-1375,-6060,3},{-1378,-6057,3},{-1380,-6047,3},{-1387,-6047,3}, {-1395,-6040,3},{-1397,-6042,3},{-1398,-6038,3},{-1407,-6042,3},{-1410,-6047,3}, {-1418,-6048,3},{-1422,-6045,3},{-1430,-6045,3},{-1437,-6040,3},{-1442,-6038,3}, {-1448,-6035,3},{-1452,-6033,3},{-1455,-6035,3},{-1455,-6037,3},{-1458,-6035,3}, {-1462,-6035,3},{-1468,-6040,3},{-1482,-6043,3},{-1510,-6038,3},{-1510,-6057,3}, {-1515,-6053,3},{-1518,-6048,3},{-1523,-6045,3},{-1527,-6042,3},{-1532,-6038,3}, {-1535,-6033,3},{-1540,-6030,3},{-1543,-6027,3},{-1548,-6023,3},{-1555,-6022,3}, {-1560,-6022,3},{-1565,-6022,3},{-1572,-6020,3},{-1577,-6020,3},{-1582,-6020,3}, {-1588,-6020,3},{-1593,-6018,3},{-1598,-6018,3},{-1605,-6018,3},{-1610,-6017,3}, {-1615,-6017,3},{-1620,-6017,3},{-1627,-6017,3},{-1627,-6010,3},{-1627,-6005,3}, {-1627,-5998,3},{-1627,-5993,3},{-1628,-5988,3},{-1628,-5982,3},{-1628,-5977,3}, {-1628,-5970,3},{-1628,-5965,3},{-1628,-5958,3},{-1628,-5953,3},{-1628,-5948,3}, {-1630,-5942,3},{-1630,-5937,3},{-1630,-5930,3},{-1630,-5925,3},{-1630,-5918,3}, {-1630,-5913,3},{-1630,-5907,3},{-1632,-5902,3},{-1632,-5897,3},{-1632,-5890,3}, {-1632,-5885,3},{-1632,-5878,3},{-1632,-5873,3},{-1632,-5867,3},{-1632,-5862,3}, {-1633,-5855,3},{-1633,-5850,3},{-1633,-5845,3},{-1632,-5842,3},{-1628,-5838,3}, {-1628,-5833,3},{-1640,-5832,3},{-1643,-5835,3},{-1650,-5835,3},{-1658,-5842,3}, {-1663,-5847,3},{-1670,-5848,3},{-1683,-5845,3},{-1692,-5847,3},{-1700,-5843,3}, {-1725,-5840,3},{-1728,-5837,3},{-1730,-5830,3},{-1735,-5820,3},{-1738,-5805,3}, {-1745,-5792,3},{-1760,-5773,3},{-1762,-5777,3},{-1765,-5778,3},{-1768,-5777,3}, {-1773,-5772,3},{-1777,-5772,3},{-1782,-5768,3},{-1783,-5768,3},{-1785,-5772,3}, {-1805,-5760,3},{-1813,-5757,3},{-1820,-5752,3},{-1820,-5745,3},{-1823,-5745,3}, {-1823,-5755,3},{-1828,-5757,3},{-1833,-5758,3},{-1838,-5760,3},{-1843,-5762,3}, {-1848,-5763,3},{-1853,-5765,3},{-1858,-5767,3},{-1863,-5768,3},{-1867,-5770,3}, {-1872,-5772,3},{-1877,-5773,3},{-1882,-5775,3},{-1887,-5775,3},{-1892,-5777,3}, {-1892,-5772,3},{-1905,-5770,3},{-1905,-5778,3},{-1910,-5780,3},{-1915,-5782,3}, {-1920,-5785,3},{-1923,-5787,3},{-1928,-5790,3},{-1933,-5792,3},{-1938,-5795,3}, {-1943,-5797,3},{-1948,-5800,3},{-1953,-5802,3},{-1958,-5803,3},{-1963,-5807,3}, {-1968,-5808,3},{-1972,-5812,3},{-1973,-5812,3},{-1998,-5785,3},{-2003,-5790,3}, {-2003,-5797,3},{-2005,-5798,3},{-2007,-5803,3},{-2010,-5805,3},{-2015,-5810,3}, {-2017,-5817,3},{-2010,-5813,3},{-2000,-5813,3},{-1992,-5815,3},{-1983,-5815,3}, {-1962,-5855,3},{-1935,-5910,3},{-1930,-5998,3},{-1947,-6062,3},{-1965,-6175,3}, {-2008,-6192,3},{-2057,-6227,3},{-2105,-6225,3},{-2223,-6263,3},{-2223,-6267,3}, {-2218,-6268,3},{-2215,-6277,3},{-2213,-6278,3},{-2200,-6282,3},{-2200,-6368,3}, {-2203,-6370,3},{-2200,-6373,3},{-2200,-6393,3},{-2207,-6395,3},{-2210,-6400,3}, {-2215,-6400,3},{-2217,-6402,3},{-2223,-6403,3},{-2225,-6407,3},{-2235,-6412,3}, {-2242,-6413,3},{-2252,-6422,3},{-2257,-6425,3},{-2262,-6425,3},{-2265,-6428,3}, {-2275,-6430,3},{-2277,-6428,3},{-2287,-6432,3},{-2287,-6435,3},{-2273,-6437,3}, {-2272,-6440,3},{-2265,-6445,3},{-2255,-6443,3},{-2243,-6453,3},{-2238,-6453,3}, {-2237,-6457,3},{-2228,-6453,3},{-2222,-6460,3},{-2217,-6467,3},{-2218,-6472,3}, {-2213,-6483,3},{-2212,-6495,3},{-2208,-6498,3},{-2210,-6547,3},{-2208,-6558,3}, {-2210,-6560,3},{-2212,-6575,3},{-2207,-6582,3},{-2193,-6593,3},{-2192,-6603,3}, {-2187,-6603,3},{-2183,-6608,3},{-2178,-6620,3},{-2178,-6623,3},{-2198,-6628,3}, {-2208,-6630,3},{-2208,-6632,3},{-2212,-6637,3},{-2220,-6662,3},{-2222,-6663,3}, {-2220,-6668,3},{-2223,-6673,3},{-2235,-6677,3},{-2238,-6678,3},{-2243,-6677,3}, {-2248,-6693,3},{-2252,-6697,3},{-2252,-6702,3},{-2265,-6702,3},{-2272,-6712,3}, {-2282,-6718,3},{-1622,-6910,131},{-1620,-6910,3},{-1618,-6913,3},{-1617,-6910,3}, {-1615,-6908,3},{-1612,-6908,3},{-1608,-6913,3},{-1607,-6913,3},{-1605,-6912,3}, {-1608,-6912,3},{-1610,-6902,3},{-1617,-6897,3},{-1620,-6890,3},{-1625,-6885,3}, {-1627,-6885,3},{-1627,-6890,3},{-1623,-6890,3},{-1622,-6897,3},{-1622,-6902,3}, {-1620,-6903,3},{-1622,-6907,3},{-1622,-6910,3},{-5238,-6843,131},{-5233,-6843,3}, {-5228,-6883,3},{-5220,-6898,3},{-5215,-6923,3},{-5215,-6947,3},{-5200,-7000,3}, {-5200,-7192,3},{-5198,-7193,3},{-5197,-7197,3},{-5190,-7193,3},{-5185,-7197,3}, {-5173,-7213,3},{-5170,-7228,3},{-5158,-7233,3},{-5158,-7242,3},{-5157,-7243,3}, {-5152,-7242,3},{-5148,-7233,3},{-5143,-7233,3},{-5140,-7232,3},{-5130,-7232,3}, {-5125,-7225,3},{-5122,-7227,3},{-5117,-7237,3},{-5112,-7240,3},{-5103,-7233,3}, {-5103,-7228,3},{-5102,-7227,3},{-5085,-7225,3},{-5075,-7233,3},{-5065,-7230,3}, {-5063,-7235,3},{-5062,-7237,3},{-5062,-7242,3},{-5060,-7250,3},{-5062,-7253,3}, {-5067,-7258,3},{-5067,-7263,3},{-5062,-7275,3},{-5067,-7290,3},{-5075,-7302,3}, {-5077,-7312,3},{-5075,-7317,3},{-5065,-7317,3},{-5057,-7325,3},{-5032,-7328,3}, {-5025,-7333,3},{-5013,-7353,3},{-5010,-7353,3},{-5000,-7347,3},{-4992,-7357,3}, {-4990,-7353,3},{-4985,-7353,3},{-4978,-7345,3},{-4968,-7353,3},{-4962,-7352,3}, {-4953,-7358,3},{-4950,-7353,3},{-4943,-7353,3},{-4938,-7345,3},{-4932,-7347,3}, {-4930,-7313,3},{-4928,-7313,3},{-4927,-7308,3},{-4925,-7317,3},{-4922,-7318,3}, {-4913,-7308,3},{-4907,-7308,3},{-4898,-7300,3},{-4895,-7292,3},{-4893,-7275,3}, {-4880,-7257,3},{-4872,-7255,3},{-4848,-7260,3},{-4845,-7257,3},{-4840,-7240,3}, {-4835,-7237,3},{-4835,-7228,3},{-4828,-7232,3},{-4820,-7230,3},{-4808,-7232,3}, {-4805,-7238,3},{-4802,-7240,3},{-4800,-7247,3},{-4793,-7253,3},{-4775,-7245,3}, {-4760,-7233,3},{-4750,-7230,3},{-4748,-7235,3},{-4747,-7237,3},{-4743,-7233,3}, {-4742,-7230,3},{-4742,-7217,3},{-4738,-7213,3},{-4735,-7208,3},{-4727,-7202,3}, {-4722,-7203,3},{-4720,-7203,3},{-4720,-7202,3},{-4722,-7195,3},{-4723,-7192,3}, {-4722,-7187,3},{-4715,-7187,3},{-4707,-7200,3},{-4705,-7200,3},{-4700,-7190,3}, {-4695,-7197,3},{-4685,-7192,3},{-4682,-7193,3},{-4680,-7192,3},{-4678,-7182,3}, {-4673,-7177,3},{-4672,-7170,3},{-4668,-7167,3},{-4658,-7168,3},{-4653,-7167,3}, {-4638,-7175,3},{-4625,-7175,3},{-4622,-7177,3},{-4620,-7183,3},{-4617,-7187,3}, {-4615,-7190,3},{-4613,-7188,3},{-4612,-7177,3},{-4602,-7167,3},{-4597,-7160,3}, {-4590,-7163,3},{-4585,-7177,3},{-4578,-7173,3},{-4573,-7178,3},{-4570,-7177,3}, {-4565,-7178,3},{-4560,-7173,3},{-4557,-7175,3},{-4555,-7173,3},{-4553,-7168,3}, {-4553,-7153,3},{-4550,-7148,3},{-4548,-7147,3},{-4542,-7150,3},{-4537,-7137,3}, {-4532,-7130,3},{-4530,-7130,3},{-4522,-7133,3},{-4518,-7140,3},{-4517,-7145,3}, {-4498,-7157,3},{-4498,-7168,3},{-4493,-7175,3},{-4493,-7180,3},{-4495,-7187,3}, {-4492,-7197,3},{-4490,-7207,3},{-4477,-7208,3},{-4475,-7205,3},{-4478,-7195,3}, {-4478,-7190,3},{-4480,-7183,3},{-4475,-7178,3},{-4478,-7165,3},{-4475,-7150,3}, {-4480,-7137,3},{-4480,-7128,3},{-4475,-7122,3},{-4465,-7123,3},{-4460,-7120,3}, {-4458,-7113,3},{-4453,-7110,3},{-4450,-7115,3},{-4445,-7115,3},{-4443,-7120,3}, {-4442,-7137,3},{-4440,-7142,3},{-4442,-7163,3},{-4438,-7172,3},{-4440,-7177,3}, {-4440,-7180,3},{-4437,-7185,3},{-4432,-7180,3},{-4427,-7182,3},{-4420,-7180,3}, {-4413,-7185,3},{-4410,-7185,3},{-4407,-7175,3},{-4397,-7165,3},{-4392,-7165,3}, {-4383,-7175,3},{-4377,-7173,3},{-4378,-7178,3},{-4377,-7182,3},{-4373,-7180,3}, {-4368,-7168,3},{-4360,-7170,3},{-4358,-7177,3},{-4355,-7178,3},{-4353,-7187,3}, {-4350,-7185,3},{-4347,-7185,3},{-4345,-7195,3},{-4342,-7192,3},{-4338,-7193,3}, {-4337,-7190,3},{-4332,-7190,3},{-4330,-7182,3},{-4330,-7175,3},{-4318,-7173,3}, {-4317,-7175,3},{-4313,-7183,3},{-4312,-7198,3},{-4310,-7205,3},{-4302,-7213,3}, {-4285,-7210,3},{-4272,-7212,3},{-4267,-7213,3},{-4262,-7212,3},{-4258,-7213,3}, {-4253,-7212,3},{-4248,-7203,3},{-4243,-7207,3},{-4235,-7205,3},{-4228,-7213,3}, {-4222,-7207,3},{-4217,-7205,3},{-4213,-7202,3},{-4213,-7197,3},{-4218,-7193,3}, {-4218,-7192,3},{-4213,-7187,3},{-4213,-7178,3},{-4210,-7173,3},{-4203,-7173,3}, {-4198,-7177,3},{-4195,-7177,3},{-4187,-7178,3},{-4178,-7185,3},{-4172,-7185,3}, {-4165,-7192,3},{-4162,-7190,3},{-4158,-7183,3},{-4152,-7188,3},{-4143,-7187,3}, {-4137,-7190,3},{-4125,-7187,3},{-4118,-7188,3},{-4115,-7185,3},{-4107,-7183,3}, {-4102,-7187,3},{-4095,-7183,3},{-4090,-7185,3},{-4085,-7190,3},{-4073,-7195,3}, {-4063,-7185,3},{-4058,-7183,3},{-4055,-7185,3},{-4042,-7178,3},{-4040,-7177,3}, {-4043,-7172,3},{-4033,-7167,3},{-4030,-7167,3},{-4028,-7170,3},{-4030,-7172,3}, {-4030,-7173,3},{-4020,-7182,3},{-4018,-7180,3},{-4012,-7178,3},{-4010,-7180,3}, {-4008,-7178,3},{-4008,-7175,3},{-4010,-7167,3},{-4002,-7167,3},{-3992,-7160,3}, {-3988,-7162,3},{-3985,-7167,3},{-3972,-7170,3},{-3968,-7168,3},{-3963,-7172,3}, {-3958,-7170,3},{-3957,-7167,3},{-3962,-7162,3},{-3962,-7155,3},{-3962,-7152,3}, {-3960,-7148,3},{-3955,-7148,3},{-3953,-7153,3},{-3948,-7148,3},{-3943,-7145,3}, {-3938,-7147,3},{-3933,-7140,3},{-3923,-7138,3},{-3903,-7142,3},{-3892,-7140,3}, {-3883,-7123,3},{-3880,-7123,3},{-3880,-7113,3},{-3877,-7110,3},{-3875,-7105,3}, {-3875,-7093,3},{-3870,-7090,3},{-3868,-7087,3},{-3863,-7088,3},{-3862,-7085,3}, {-3857,-7082,3},{-3852,-7083,3},{-3848,-7092,3},{-3842,-7097,3},{-3823,-7102,3}, {-3817,-7100,3},{-3812,-7102,3},{-3807,-7100,3},{-3803,-7103,3},{-3770,-7118,3}, {-3762,-7117,3},{-3758,-7112,3},{-3755,-7113,3},{-3747,-7110,3},{-3743,-7112,3}, {-3738,-7117,3},{-3730,-7120,3},{-3722,-7113,3},{-3715,-7113,3},{-3712,-7112,3}, {-3710,-7108,3},{-3708,-7112,3},{-3700,-7115,3},{-3698,-7120,3},{-3698,-7115,3}, {-3695,-7112,3},{-3692,-7115,3},{-3688,-7113,3},{-3687,-7118,3},{-3685,-7118,3}, {-3675,-7113,3},{-3668,-7113,3},{-3668,-7110,3},{-3670,-7107,3},{-3668,-7105,3}, {-3660,-7107,3},{-3648,-7103,3},{-3648,-7093,3},{-3647,-7092,3},{-3642,-7090,3}, {-3640,-7087,3},{-3643,-7080,3},{-3642,-7070,3},{-3638,-7070,3},{-3633,-7072,3}, {-3627,-7070,3},{-3625,-7065,3},{-3622,-7063,3},{-3620,-7058,3},{-3615,-7058,3}, {-3613,-7055,3},{-3615,-7052,3},{-3617,-7048,3},{-3615,-7043,3},{-3605,-7037,3}, {-3597,-7042,3},{-3592,-7037,3},{-3590,-7042,3},{-3583,-7038,3},{-3582,-7033,3}, {-3565,-7042,3},{-3560,-7040,3},{-3550,-7040,3},{-3547,-7043,3},{-3538,-7047,3}, {-3537,-7043,3},{-3535,-7042,3},{-3532,-7045,3},{-3530,-7053,3},{-3528,-7057,3}, {-3525,-7057,3},{-3520,-7053,3},{-3520,-7045,3},{-3515,-7037,3},{-3498,-7035,3}, {-3480,-7027,3},{-3478,-7027,3},{-3475,-7032,3},{-3472,-7025,3},{-3458,-7022,3}, {-3453,-7015,3},{-3445,-7010,3},{-3442,-7005,3},{-3428,-7005,3},{-3427,-6997,3}, {-3428,-6990,3},{-3427,-6988,3},{-3425,-6983,3},{-3423,-6982,3},{-3413,-6987,3}, {-3410,-6985,3},{-3397,-6985,3},{-3395,-6985,3},{-3397,-6988,3},{-3395,-6990,3}, {-3388,-6988,3},{-3378,-6990,3},{-3377,-6990,3},{-3372,-6985,3},{-3367,-6988,3}, {-3358,-6987,3},{-3355,-6987,3},{-3353,-6983,3},{-3345,-6982,3},{-3340,-6977,3}, {-3335,-6980,3},{-3328,-6980,3},{-3323,-6992,3},{-3325,-6995,3},{-3330,-6998,3}, {-3330,-7000,3},{-3323,-7003,3},{-3317,-7010,3},{-3308,-7008,3},{-3303,-7010,3}, {-3300,-7008,3},{-3300,-7003,3},{-3288,-6998,3},{-3285,-7005,3},{-3275,-7015,3}, {-3262,-7017,3},{-3258,-7017,3},{-3257,-7013,3},{-3255,-7015,3},{-3248,-7015,3}, {-3247,-7017,3},{-3242,-7023,3},{-3235,-7023,3},{-3232,-7025,3},{-3228,-7032,3}, {-3222,-7032,3},{-3218,-7033,3},{-3213,-7032,3},{-3212,-7035,3},{-3208,-7035,3}, {-3205,-7038,3},{-3203,-7037,3},{-3205,-7027,3},{-3195,-7023,3},{-3188,-7030,3}, {-3188,-7040,3},{-3187,-7043,3},{-3180,-7047,3},{-3173,-7048,3},{-3167,-7053,3}, {-3157,-7058,3},{-3142,-7057,3},{-3137,-7055,3},{-3132,-7057,3},{-3123,-7053,3}, {-3117,-7053,3},{-3110,-7047,3},{-3110,-7045,3},{-3115,-7042,3},{-3112,-7037,3}, {-3103,-7033,3},{-3103,-7025,3},{-3097,-7033,3},{-3088,-7033,3},{-3078,-7030,3}, {-3072,-7027,3},{-3065,-7027,3},{-3060,-7022,3},{-3050,-7020,3},{-3047,-7015,3}, {-3043,-7013,3},{-3037,-7017,3},{-3035,-7012,3},{-3038,-7007,3},{-3040,-7002,3}, {-3038,-6995,3},{-3032,-6990,3},{-3022,-6987,3},{-3018,-6983,3},{-3015,-6983,3}, {-3012,-6985,3},{-3008,-6990,3},{-3008,-6997,3},{-2997,-6992,3},{-2978,-6990,3}, {-2975,-6992,3},{-2972,-6992,3},{-2970,-6995,3},{-2967,-6997,3},{-2955,-6997,3}, {-2937,-7003,3},{-2930,-7003,3},{-2927,-7002,3},{-2925,-6997,3},{-2920,-6998,3}, {-2917,-6992,3},{-2913,-6990,3},{-2913,-6983,3},{-2910,-6980,3},{-2895,-6980,3}, {-2880,-6972,3},{-2872,-6975,3},{-2867,-6975,3},{-2863,-6972,3},{-2860,-6970,3}, {-2857,-6967,3},{-2840,-6965,3},{-2832,-6953,3},{-2825,-6948,3},{-2820,-6948,3}, {-2818,-6947,3},{-2822,-6940,3},{-2817,-6938,3},{-2812,-6935,3},{-2807,-6933,3}, {-2803,-6930,3},{-2800,-6930,3},{-2797,-6918,3},{-2790,-6915,3},{-2773,-6912,3}, {-2770,-6907,3},{-2765,-6908,3},{-2760,-6905,3},{-2753,-6902,3},{-2747,-6900,3}, {-2742,-6895,3},{-2737,-6890,3},{-2728,-6887,3},{-2723,-6888,3},{-2712,-6882,3}, {-2710,-6878,3},{-2710,-6870,3},{-2715,-6863,3},{-2717,-6858,3},{-2710,-6855,3}, {-2707,-6850,3},{-2707,-6843,3},{-2705,-6837,3},{-2705,-6832,3},{-2698,-6832,3}, {-2692,-6828,3},{-2688,-6830,3},{-2670,-6843,3},{-2658,-6853,3},{-2650,-6858,3}, {-2630,-6857,3},{-2618,-6842,3},{-2615,-6840,3},{-2573,-6850,3},{-2567,-6855,3}, {-2557,-6855,3},{-2552,-6860,3},{-2545,-6860,3},{-2533,-6857,3},{-2518,-6850,3}, {-2513,-6847,3},{-2515,-6842,3},{-2513,-6835,3},{-2512,-6835,3},{-2503,-6842,3}, {-2497,-6843,3},{-2493,-6847,3},{-2490,-6845,3},{-2490,-6850,3},{-2487,-6855,3}, {-2482,-6857,3},{-2477,-6857,3},{-2467,-6850,3},{-2460,-6848,3},{-2460,-6847,3}, {-2462,-6847,3},{-2462,-6843,3},{-2457,-6843,3},{-2450,-6838,3},{-2450,-6830,3}, {-2440,-6825,3},{-2402,-6733,3},{-2340,-6715,3},{-2300,-6700,3},{-2282,-6718,3}, {-2272,-6712,3},{-2265,-6702,3},{-2252,-6702,3},{-2252,-6697,3},{-2248,-6693,3}, {-2243,-6677,3},{-2238,-6678,3},{-2235,-6677,3},{-2223,-6673,3},{-2220,-6668,3}, {-2222,-6663,3},{-2220,-6662,3},{-2212,-6637,3},{-2208,-6632,3},{-2208,-6630,3}, {-2198,-6628,3},{-2178,-6623,3},{-2178,-6620,3},{-2183,-6608,3},{-2187,-6603,3}, {-2192,-6603,3},{-2193,-6593,3},{-2207,-6582,3},{-2212,-6575,3},{-2210,-6560,3}, {-2208,-6558,3},{-2210,-6547,3},{-2208,-6498,3},{-2212,-6495,3},{-2213,-6483,3}, {-2218,-6472,3},{-2217,-6467,3},{-2222,-6460,3},{-2228,-6453,3},{-2237,-6457,3}, {-2238,-6453,3},{-2243,-6453,3},{-2255,-6443,3},{-2265,-6445,3},{-2272,-6440,3}, {-2273,-6437,3},{-2287,-6435,3},{-2287,-6432,3},{-2277,-6428,3},{-2275,-6430,3}, {-2265,-6428,3},{-2262,-6425,3},{-2257,-6425,3},{-2252,-6422,3},{-2242,-6413,3}, {-2235,-6412,3},{-2225,-6407,3},{-2223,-6403,3},{-2217,-6402,3},{-2215,-6400,3}, {-2210,-6400,3},{-2207,-6395,3},{-2200,-6393,3},{-2200,-6373,3},{-2203,-6370,3}, {-2200,-6368,3},{-2200,-6282,3},{-2213,-6278,3},{-2215,-6277,3},{-2218,-6268,3}, {-2223,-6267,3},{-2223,-6263,3},{-2225,-6262,3},{-2230,-6262,3},{-2232,-6257,3}, {-2235,-6253,3},{-2238,-6252,3},{-2238,-6247,3},{-2240,-6247,3},{-2245,-6240,3}, {-2248,-6228,3},{-2252,-6228,3},{-2253,-6225,3},{-2257,-6223,3},{-2260,-6227,3}, {-2263,-6222,3},{-2263,-6218,3},{-2267,-6220,3},{-2268,-6218,3},{-2272,-6218,3}, {-2290,-6203,3},{-2302,-6198,3},{-2307,-6192,3},{-2308,-6185,3},{-2315,-6180,3}, {-2315,-6178,3},{-2317,-6178,3},{-2318,-6175,3},{-2325,-6173,3},{-2328,-6167,3}, {-2330,-6160,3},{-2335,-6155,3},{-2335,-6152,3},{-2337,-6153,3},{-2342,-6150,3}, {-2342,-6145,3},{-2345,-6140,3},{-2345,-6137,3},{-2348,-6130,3},{-2352,-6128,3}, {-2355,-6122,3},{-2355,-6118,3},{-2360,-6112,3},{-2365,-6110,3},{-2367,-6112,3}, {-2375,-6103,3},{-2382,-6100,3},{-2382,-6092,3},{-2387,-6085,3},{-2388,-6072,3}, {-2390,-6068,3},{-2388,-6065,3},{-2390,-6062,3},{-2395,-6057,3},{-2395,-6053,3}, {-2398,-6045,3},{-2398,-6037,3},{-2403,-6028,3},{-2403,-6013,3},{-2402,-6003,3}, {-2435,-5947,3},{-2448,-5933,3},{-2452,-5925,3},{-2460,-5912,3},{-2460,-5907,3}, {-2463,-5903,3},{-2468,-5893,3},{-2478,-5880,3},{-2478,-5872,3},{-2482,-5867,3}, {-2483,-5853,3},{-2485,-5845,3},{-2497,-5835,3},{-2500,-5833,3},{-2498,-5830,3}, {-2495,-5825,3},{-2493,-5822,3},{-2502,-5812,3},{-2502,-5808,3},{-2505,-5805,3}, {-2505,-5800,3},{-2508,-5798,3},{-2508,-5787,3},{-2513,-5783,3},{-2518,-5775,3}, {-2523,-5773,3},{-2528,-5768,3},{-2533,-5765,3},{-2538,-5763,3},{-2543,-5755,3}, {-2557,-5757,3},{-2558,-5760,3},{-2562,-5762,3},{-2560,-5765,3},{-2562,-5767,3}, {-2565,-5768,3},{-2567,-5773,3},{-2568,-5777,3},{-2570,-5777,3},{-2573,-5773,3}, {-2578,-5782,3},{-2583,-5780,3},{-2588,-5787,3},{-2592,-5785,3},{-2595,-5790,3}, {-2597,-5790,3},{-2598,-5785,3},{-2600,-5787,3},{-2607,-5797,3},{-2610,-5802,3}, {-2612,-5808,3},{-2615,-5810,3},{-2620,-5812,3},{-2618,-5815,3},{-2623,-5810,3}, {-2627,-5817,3},{-2632,-5817,3},{-2643,-5822,3},{-2645,-5818,3},{-2648,-5820,3}, {-2653,-5822,3},{-2660,-5817,3},{-2662,-5820,3},{-2665,-5818,3},{-2665,-5823,3}, {-2677,-5825,3},{-2677,-5828,3},{-2682,-5828,3},{-2682,-5833,3},{-2682,-5835,3}, {-2685,-5835,3},{-2687,-5832,3},{-2688,-5832,3},{-2688,-5837,3},{-2692,-5842,3}, {-2693,-5848,3},{-2697,-5848,3},{-2698,-5847,3},{-2702,-5850,3},{-2707,-5852,3}, {-2705,-5853,3},{-2707,-5855,3},{-2712,-5857,3},{-2713,-5862,3},{-2715,-5865,3}, {-2718,-5865,3},{-2725,-5860,3},{-2732,-5860,3},{-2728,-5850,3},{-2728,-5833,3}, {-2727,-5823,3},{-2728,-5807,3},{-2727,-5798,3},{-2730,-5778,3},{-2732,-5772,3}, {-2737,-5762,3},{-2738,-5752,3},{-2743,-5740,3},{-2743,-5730,3},{-2747,-5720,3}, {-2748,-5712,3},{-2748,-5707,3},{-2743,-5697,3},{-2742,-5690,3},{-2742,-5687,3}, {-2750,-5678,3},{-2750,-5675,3},{-2747,-5667,3},{-2745,-5657,3},{-2747,-5652,3}, {-2755,-5645,3},{-2758,-5637,3},{-2747,-5627,3},{-2738,-5627,3},{-2737,-5620,3}, {-2732,-5615,3},{-2730,-5605,3},{-2732,-5602,3},{-2733,-5597,3},{-2733,-5590,3}, {-2735,-5587,3},{-2740,-5585,3},{-2745,-5577,3},{-2743,-5573,3},{-2737,-5567,3}, {-2735,-5560,3},{-2732,-5558,3},{-2728,-5558,3},{-2725,-5557,3},{-2717,-5560,3}, {-2717,-5555,3},{-2710,-5553,3},{-2710,-5545,3},{-2703,-5545,3},{-2698,-5542,3}, {-2693,-5527,3},{-2697,-5520,3},{-2695,-5513,3},{-2687,-5513,3},{-2680,-5505,3}, {-2678,-5495,3},{-2668,-5492,3},{-2665,-5488,3},{-2667,-5482,3},{-2665,-5480,3}, {-2660,-5478,3},{-2652,-5480,3},{-2643,-5470,3},{-2628,-5465,3},{-2625,-5467,3}, {-2620,-5463,3},{-2617,-5467,3},{-2607,-5463,3},{-2598,-5467,3},{-2595,-5460,3}, {-2590,-5462,3},{-2582,-5458,3},{-2577,-5462,3},{-2567,-5465,3},{-2565,-5463,3}, {-2563,-5458,3},{-2558,-5460,3},{-2557,-5460,3},{-2557,-5453,3},{-2560,-5453,3}, {-2560,-5450,3},{-2563,-5447,3},{-2568,-5443,3},{-2568,-5442,3},{-2565,-5442,3}, {-2563,-5440,3},{-2558,-5438,3},{-2558,-5433,3},{-2555,-5432,3},{-2555,-5428,3}, {-2560,-5425,3},{-2557,-5423,3},{-2558,-5418,3},{-2553,-5420,3},{-2553,-5415,3}, {-2550,-5410,3},{-2552,-5410,3},{-2557,-5412,3},{-2560,-5408,3},{-2558,-5407,3}, {-2555,-5407,3},{-2557,-5405,3},{-2555,-5402,3},{-2560,-5397,3},{-2565,-5395,3}, {-2565,-5392,3},{-2563,-5390,3},{-2565,-5388,3},{-2568,-5387,3},{-2572,-5388,3}, {-2580,-5382,3},{-2588,-5383,3},{-2592,-5382,3},{-2595,-5383,3},{-2603,-5375,3}, {-2612,-5373,3},{-2620,-5367,3},{-2625,-5365,3},{-2632,-5367,3},{-2637,-5372,3}, {-2650,-5370,3},{-2655,-5373,3},{-2657,-5372,3},{-2662,-5373,3},{-2668,-5373,3}, {-2672,-5377,3},{-2673,-5375,3},{-2675,-5373,3},{-2677,-5375,3},{-2678,-5372,3}, {-2688,-5370,3},{-2702,-5375,3},{-2705,-5378,3},{-2710,-5380,3},{-2712,-5382,3}, {-2713,-5380,3},{-2717,-5383,3},{-2712,-5388,3},{-2717,-5392,3},{-2715,-5395,3}, {-2720,-5397,3},{-2720,-5400,3},{-2725,-5405,3},{-2728,-5412,3},{-2728,-5415,3}, {-2725,-5417,3},{-2725,-5418,3},{-2735,-5423,3},{-2738,-5423,3},{-2740,-5427,3}, {-2743,-5428,3},{-2743,-5432,3},{-2740,-5433,3},{-2745,-5435,3},{-2740,-5440,3}, {-2742,-5447,3},{-2743,-5447,3},{-2745,-5445,3},{-2747,-5445,3},{-2748,-5453,3}, {-2745,-5458,3},{-2753,-5462,3},{-2753,-5465,3},{-2750,-5467,3},{-2753,-5467,3}, {-2755,-5468,3},{-2757,-5478,3},{-2755,-5478,3},{-2753,-5478,3},{-2753,-5482,3}, {-2762,-5485,3},{-2762,-5490,3},{-2773,-5492,3},{-2780,-5500,3},{-2777,-5507,3}, {-2778,-5508,3},{-2785,-5502,3},{-2785,-5510,3},{-2788,-5513,3},{-2785,-5517,3}, {-2785,-5518,3},{-2792,-5525,3},{-2792,-5532,3},{-2797,-5533,3},{-2798,-5538,3}, {-2803,-5538,3},{-2808,-5545,3},{-2808,-5548,3},{-2807,-5548,3},{-2808,-5550,3}, {-2815,-5557,3},{-2815,-5558,3},{-2812,-5558,3},{-2812,-5562,3},{-2817,-5563,3}, {-2820,-5568,3},{-2823,-5577,3},{-2827,-5577,3},{-2830,-5568,3},{-2832,-5567,3}, {-2835,-5567,3},{-2842,-5570,3},{-2840,-5572,3},{-2837,-5573,3},{-2835,-5583,3}, {-2837,-5588,3},{-2842,-5590,3},{-2847,-5590,3},{-2848,-5595,3},{-2850,-5602,3}, {-2853,-5603,3},{-2858,-5602,3},{-2860,-5602,3},{-2867,-5612,3},{-2877,-5620,3}, {-2878,-5628,3},{-2890,-5630,3},{-2892,-5633,3},{-2897,-5640,3},{-2907,-5643,3}, {-2910,-5652,3},{-2917,-5662,3},{-2920,-5665,3},{-2927,-5665,3},{-2935,-5670,3}, {-2938,-5677,3},{-2942,-5678,3},{-2948,-5683,3},{-2960,-5697,3},{-2963,-5697,3}, {-2977,-5710,3},{-2978,-5713,3},{-2978,-5723,3},{-2982,-5728,3},{-2987,-5732,3}, {-2998,-5733,3},{-3003,-5742,3},{-3013,-5750,3},{-3017,-5755,3},{-3018,-5763,3}, {-3023,-5763,3},{-3028,-5763,3},{-3035,-5767,3},{-3050,-5787,3},{-3053,-5788,3}, {-3060,-5788,3},{-3063,-5785,3},{-3072,-5782,3},{-3088,-5780,3},{-3092,-5782,3}, {-3092,-5787,3},{-3093,-5792,3},{-3102,-5787,3},{-3107,-5785,3},{-3115,-5792,3}, {-3123,-5790,3},{-3128,-5793,3},{-3133,-5798,3},{-3140,-5798,3},{-3147,-5808,3}, {-3148,-5807,3},{-3153,-5800,3},{-3158,-5798,3},{-3178,-5803,3},{-3182,-5807,3}, {-3183,-5817,3},{-3188,-5820,3},{-3195,-5817,3},{-3200,-5815,3},{-3210,-5815,3}, {-3217,-5818,3},{-3225,-5810,3},{-3232,-5810,3},{-3245,-5820,3},{-3250,-5822,3}, {-3257,-5822,3},{-3282,-5818,3},{-3290,-5813,3},{-3298,-5815,3},{-3305,-5815,3}, {-3310,-5820,3},{-3308,-5840,3},{-3310,-5843,3},{-3313,-5842,3},{-3325,-5843,3}, {-3330,-5842,3},{-3340,-5850,3},{-3352,-5853,3},{-3373,-5855,3},{-3385,-5847,3}, {-3395,-5845,3},{-3397,-5843,3},{-3402,-5845,3},{-3405,-5838,3},{-3415,-5838,3}, {-3418,-5838,3},{-3427,-5843,3},{-3427,-5853,3},{-3428,-5857,3},{-3435,-5848,3}, {-3445,-5852,3},{-3448,-5848,3},{-3455,-5847,3},{-3457,-5843,3},{-3458,-5837,3}, {-3467,-5832,3},{-3475,-5818,3},{-3480,-5800,3},{-3483,-5793,3},{-3487,-5782,3}, {-3500,-5758,3},{-3505,-5750,3},{-3515,-5733,3},{-3532,-5718,3},{-3542,-5712,3}, {-3547,-5713,3},{-3565,-5728,3},{-3578,-5738,3},{-3583,-5738,3},{-3597,-5738,3}, {-3602,-5733,3},{-3608,-5732,3},{-3613,-5727,3},{-3618,-5723,3},{-3632,-5705,3}, {-3635,-5693,3},{-3638,-5693,3},{-3635,-5687,3},{-3635,-5677,3},{-3632,-5678,3}, {-3630,-5677,3},{-3632,-5673,3},{-3642,-5670,3},{-3652,-5670,3},{-3658,-5667,3}, {-3690,-5667,3},{-3702,-5677,3},{-3733,-5702,3},{-3740,-5703,3},{-3747,-5710,3}, {-3757,-5718,3},{-3765,-5732,3},{-3783,-5748,3},{-3798,-5753,3},{-3803,-5753,3}, {-3808,-5753,3},{-3813,-5758,3},{-3820,-5767,3},{-3827,-5782,3},{-3830,-5785,3}, {-3832,-5793,3},{-3843,-5815,3},{-3848,-5832,3},{-3852,-5843,3},{-3857,-5860,3}, {-3858,-5872,3},{-3860,-5878,3},{-3862,-5883,3},{-3863,-5890,3},{-3867,-5897,3}, {-3870,-5903,3},{-3870,-5910,3},{-3870,-5915,3},{-3872,-5923,3},{-3873,-5930,3}, {-3875,-5937,3},{-3875,-5943,3},{-3877,-5950,3},{-3877,-5957,3},{-3878,-5962,3}, {-3880,-5968,3},{-3882,-5975,3},{-3883,-5978,3},{-3885,-5988,3},{-3885,-5995,3}, {-3887,-6002,3},{-3887,-6010,3},{-3888,-6015,3},{-3888,-6022,3},{-3890,-6028,3}, {-3892,-6035,3},{-3892,-6040,3},{-3893,-6048,3},{-3893,-6055,3},{-3893,-6062,3}, {-3895,-6068,3},{-3897,-6075,3},{-3897,-6083,3},{-3897,-6102,3},{-3900,-6108,3}, {-3900,-6117,3},{-3898,-6138,3},{-3902,-6155,3},{-3900,-6165,3},{-3897,-6173,3}, {-3898,-6182,3},{-3895,-6202,3},{-3892,-6208,3},{-3885,-6212,3},{-3882,-6217,3}, {-3880,-6238,3},{-3882,-6240,3},{-3883,-6238,3},{-3890,-6237,3},{-3888,-6235,3}, {-3892,-6233,3},{-3895,-6233,3},{-3897,-6232,3},{-3895,-6228,3},{-3897,-6227,3}, {-3898,-6228,3},{-3900,-6228,3},{-3902,-6233,3},{-3905,-6232,3},{-3910,-6235,3}, {-3912,-6233,3},{-3917,-6235,3},{-3920,-6233,3},{-3927,-6227,3},{-3925,-6230,3}, {-3927,-6233,3},{-3928,-6217,3},{-3932,-6208,3},{-3938,-6202,3},{-3942,-6207,3}, {-3935,-6215,3},{-3932,-6218,3},{-3932,-6228,3},{-3935,-6227,3},{-3935,-6223,3}, {-3943,-6215,3},{-3947,-6205,3},{-3962,-6208,3},{-3983,-6212,3},{-3987,-6218,3}, {-3985,-6227,3},{-3982,-6230,3},{-3985,-6228,3},{-3987,-6232,3},{-3990,-6230,3}, {-4005,-6237,3},{-4012,-6233,3},{-4018,-6235,3},{-4022,-6237,3},{-4023,-6243,3}, {-4030,-6248,3},{-4047,-6242,3},{-4050,-6233,3},{-4055,-6230,3},{-4057,-6227,3}, {-4063,-6225,3},{-4063,-6230,3},{-4060,-6233,3},{-4060,-6235,3},{-4063,-6233,3}, {-4065,-6232,3},{-4067,-6233,3},{-4068,-6233,3},{-4065,-6225,3},{-4063,-6218,3}, {-4067,-6223,3},{-4073,-6225,3},{-4082,-6230,3},{-4087,-6232,3},{-4090,-6240,3}, {-4097,-6257,3},{-4100,-6262,3},{-4103,-6272,3},{-4105,-6272,3},{-4105,-6280,3}, {-4108,-6285,3},{-4115,-6303,3},{-4117,-6323,3},{-4115,-6332,3},{-4117,-6340,3}, {-4117,-6380,3},{-4113,-6387,3},{-4107,-6397,3},{-4105,-6405,3},{-4100,-6405,3}, {-4102,-6415,3},{-4092,-6442,3},{-4083,-6468,3},{-4083,-6478,3},{-4083,-6488,3}, {-4082,-6492,3},{-4080,-6490,3},{-4080,-6485,3},{-4082,-6483,3},{-4080,-6475,3}, {-4078,-6473,3},{-4077,-6480,3},{-4073,-6478,3},{-4072,-6493,3},{-4073,-6498,3}, {-4073,-6493,3},{-4075,-6493,3},{-4077,-6490,3},{-4078,-6502,3},{-4085,-6513,3}, {-4100,-6518,3},{-4118,-6515,3},{-4143,-6507,3},{-4152,-6498,3},{-4168,-6503,3}, {-4178,-6498,3},{-4197,-6508,3},{-4210,-6502,3},{-4220,-6487,3},{-4220,-6480,3}, {-4223,-6473,3},{-4223,-6467,3},{-4225,-6460,3},{-4225,-6453,3},{-4227,-6447,3}, {-4232,-6453,3},{-4243,-6460,3},{-4243,-6458,3},{-4243,-6448,3},{-4245,-6445,3}, {-4243,-6437,3},{-4242,-6430,3},{-4243,-6425,3},{-4243,-6412,3},{-4237,-6405,3}, {-4235,-6407,3},{-4232,-6403,3},{-4228,-6407,3},{-4227,-6412,3},{-4227,-6430,3}, {-4223,-6433,3},{-4222,-6420,3},{-4215,-6398,3},{-4210,-6387,3},{-4208,-6375,3}, {-4232,-6358,3},{-4262,-6358,3},{-4272,-6363,3},{-4277,-6363,3},{-4282,-6370,3}, {-4287,-6393,3},{-4287,-6402,3},{-4288,-6408,3},{-4287,-6413,3},{-4282,-6420,3}, {-4278,-6425,3},{-4267,-6422,3},{-4263,-6420,3},{-4262,-6423,3},{-4260,-6425,3}, {-4260,-6430,3},{-4255,-6433,3},{-4250,-6445,3},{-4252,-6462,3},{-4255,-6473,3}, {-4263,-6482,3},{-4265,-6492,3},{-4267,-6497,3},{-4272,-6498,3},{-4275,-6502,3}, {-4280,-6500,3},{-4283,-6480,3},{-4293,-6460,3},{-4293,-6450,3},{-4297,-6447,3}, {-4298,-6442,3},{-4295,-6432,3},{-4300,-6430,3},{-4308,-6448,3},{-4315,-6478,3}, {-4323,-6492,3},{-4332,-6503,3},{-4340,-6505,3},{-4345,-6513,3},{-4353,-6520,3}, {-4358,-6527,3},{-4365,-6532,3},{-4375,-6533,3},{-4377,-6532,3},{-4382,-6532,3}, {-4390,-6527,3},{-4395,-6527,3},{-4397,-6525,3},{-4395,-6522,3},{-4400,-6523,3}, {-4402,-6522,3},{-4407,-6523,3},{-4410,-6522,3},{-4413,-6530,3},{-4418,-6532,3}, {-4422,-6530,3},{-4425,-6527,3},{-4428,-6527,3},{-4432,-6525,3},{-4432,-6523,3}, {-4433,-6523,3},{-4443,-6533,3},{-4447,-6533,3},{-4447,-6528,3},{-4448,-6528,3}, {-4450,-6530,3},{-4448,-6537,3},{-4452,-6538,3},{-4455,-6537,3},{-4455,-6538,3}, {-4453,-6545,3},{-4457,-6547,3},{-4458,-6552,3},{-4463,-6562,3},{-4470,-6568,3}, {-4475,-6570,3},{-4478,-6572,3},{-4483,-6572,3},{-4490,-6553,3},{-4492,-6555,3}, {-4492,-6558,3},{-4497,-6560,3},{-4498,-6558,3},{-4498,-6562,3},{-4502,-6560,3}, {-4503,-6565,3},{-4502,-6568,3},{-4505,-6568,3},{-4502,-6575,3},{-4502,-6582,3}, {-4498,-6585,3},{-4500,-6588,3},{-4502,-6587,3},{-4502,-6595,3},{-4497,-6602,3}, {-4497,-6620,3},{-4503,-6628,3},{-4503,-6635,3},{-4508,-6653,3},{-4512,-6653,3}, {-4515,-6647,3},{-4513,-6658,3},{-4518,-6652,3},{-4520,-6653,3},{-4520,-6668,3}, {-4522,-6685,3},{-4525,-6695,3},{-4528,-6700,3},{-4548,-6717,3},{-4553,-6718,3}, {-4562,-6732,3},{-4573,-6733,3},{-4573,-6735,3},{-4578,-6733,3},{-4582,-6742,3}, {-4593,-6753,3},{-4595,-6753,3},{-4600,-6758,3},{-4608,-6762,3},{-4617,-6762,3}, {-4633,-6757,3},{-4643,-6753,3},{-4662,-6735,3},{-4665,-6725,3},{-4670,-6722,3}, {-4673,-6712,3},{-4682,-6705,3},{-4683,-6700,3},{-4693,-6687,3},{-4698,-6682,3}, {-4703,-6672,3},{-4705,-6650,3},{-4707,-6637,3},{-4708,-6633,3},{-4710,-6622,3}, {-4708,-6617,3},{-4710,-6610,3},{-4707,-6600,3},{-4710,-6590,3},{-4715,-6585,3}, {-4720,-6577,3},{-4728,-6577,3},{-4733,-6573,3},{-4738,-6573,3},{-4755,-6575,3}, {-4777,-6588,3},{-4777,-6590,3},{-4777,-6602,3},{-4782,-6612,3},{-4783,-6618,3}, {-4787,-6628,3},{-4787,-6633,3},{-4787,-6638,3},{-4788,-6632,3},{-4780,-6603,3}, {-4778,-6597,3},{-4780,-6592,3},{-4782,-6588,3},{-4790,-6587,3},{-4793,-6578,3}, {-4795,-6580,3},{-4797,-6578,3},{-4797,-6583,3},{-4795,-6592,3},{-4797,-6597,3}, {-4802,-6593,3},{-4805,-6595,3},{-4810,-6590,3},{-4810,-6607,3},{-4815,-6612,3}, {-4818,-6613,3},{-4825,-6628,3},{-4828,-6633,3},{-4835,-6633,3},{-4835,-6645,3}, {-4840,-6647,3},{-4840,-6655,3},{-4845,-6667,3},{-4857,-6683,3},{-4858,-6693,3}, {-4863,-6708,3},{-4868,-6713,3},{-4882,-6723,3},{-4885,-6732,3},{-4888,-6740,3}, {-4893,-6743,3},{-4905,-6758,3},{-4912,-6763,3},{-4918,-6762,3},{-4928,-6773,3}, {-4932,-6770,3},{-4932,-6778,3},{-4937,-6780,3},{-4938,-6783,3},{-4940,-6782,3}, {-4938,-6772,3},{-4927,-6765,3},{-4925,-6763,3},{-4927,-6760,3},{-4958,-6772,3}, {-4982,-6775,3},{-4992,-6780,3},{-5007,-6807,3},{-5012,-6820,3},{-5012,-6833,3}, {-5007,-6842,3},{-4997,-6852,3},{-4992,-6853,3},{-4982,-6863,3},{-4977,-6865,3}, {-4973,-6873,3},{-4977,-6865,3},{-4982,-6865,3},{-4990,-6858,3},{-4995,-6860,3}, {-4997,-6867,3},{-4997,-6885,3},{-4998,-6897,3},{-5002,-6902,3},{-5000,-6892,3}, {-4998,-6885,3},{-5000,-6867,3},{-4998,-6858,3},{-5000,-6855,3},{-5007,-6852,3}, {-5013,-6837,3},{-5015,-6837,3},{-5020,-6842,3},{-5030,-6882,3},{-5038,-6893,3}, {-5052,-6907,3},{-5058,-6910,3},{-5075,-6915,3},{-5088,-6913,3},{-5108,-6942,3}, {-5100,-6930,3},{-5097,-6918,3},{-5105,-6915,3},{-5117,-6913,3},{-5150,-6897,3}, {-5157,-6897,3},{-5157,-6905,3},{-5162,-6913,3},{-5155,-6928,3},{-5155,-6937,3}, {-5158,-6948,3},{-5163,-6962,3},{-5160,-6952,3},{-5160,-6938,3},{-5160,-6925,3}, {-5165,-6917,3},{-5168,-6922,3},{-5163,-6905,3},{-5162,-6898,3},{-5173,-6888,3}, {-5188,-6880,3},{-5202,-6868,3},{-5217,-6852,3},{-5228,-6840,3},{-5233,-6838,3}, {-5238,-6843,3},{-5488,-6863,131},{-5485,-6863,3},{-5478,-6863,3},{-5473,-6863,3}, {-5468,-6863,3},{-5462,-6863,3},{-5457,-6863,3},{-5452,-6863,3},{-5445,-6863,3}, {-5440,-6863,3},{-5435,-6863,3},{-5430,-6863,3},{-5423,-6863,3},{-5418,-6863,3}, {-5413,-6863,3},{-5407,-6863,3},{-5402,-6863,3},{-5397,-6863,3},{-5392,-6863,3}, {-5385,-6863,3},{-5380,-6863,3},{-5375,-6863,3},{-5368,-6863,3},{-5363,-6863,3}, {-5358,-6863,3},{-5352,-6862,3},{-5347,-6863,3},{-5342,-6862,3},{-5337,-6862,3}, {-5330,-6862,3},{-5325,-6862,3},{-5320,-6862,3},{-5313,-6862,3},{-5308,-6862,3}, {-5303,-6862,3},{-5297,-6862,3},{-5292,-6862,3},{-5287,-6862,3},{-5282,-6862,3}, {-5275,-6862,3},{-5270,-6862,3},{-5265,-6862,3},{-5283,-6843,3},{-5293,-6830,3}, {-5312,-6822,3},{-5312,-6825,3},{-5302,-6828,3},{-5300,-6832,3},{-5302,-6840,3}, {-5308,-6847,3},{-5312,-6853,3},{-5317,-6857,3},{-5323,-6855,3},{-5327,-6850,3}, {-5330,-6842,3},{-5330,-6817,3},{-5338,-6810,3},{-5352,-6805,3},{-5360,-6798,3}, {-5375,-6773,3},{-5378,-6772,3},{-5378,-6767,3},{-5383,-6758,3},{-5392,-6757,3}, {-5403,-6737,3},{-5415,-6705,3},{-5422,-6692,3},{-5423,-6685,3},{-5428,-6673,3}, {-5442,-6655,3},{-5447,-6643,3},{-5447,-6638,3},{-5453,-6623,3},{-5463,-6588,3}, {-5465,-6583,3},{-5465,-6575,3},{-5467,-6570,3},{-5463,-6532,3},{-5463,-6522,3}, {-5465,-6513,3},{-5468,-6520,3},{-5477,-6522,3},{-5480,-6525,3},{-5482,-6523,3}, {-5487,-6532,3},{-5490,-6532,3},{-5493,-6535,3},{-5493,-6540,3},{-5490,-6540,3}, {-5488,-6547,3},{-5493,-6548,3},{-5493,-6562,3},{-5497,-6565,3},{-5497,-6570,3}, {-5492,-6572,3},{-5490,-6577,3},{-5490,-6597,3},{-5492,-6595,3},{-5493,-6597,3}, {-5495,-6602,3},{-5498,-6612,3},{-5498,-6637,3},{-5503,-6640,3},{-5505,-6645,3}, {-5503,-6665,3},{-5495,-6680,3},{-5493,-6692,3},{-5490,-6702,3},{-5488,-6745,3}, {-5487,-6753,3},{-5488,-6768,3},{-5488,-6785,3},{-5482,-6823,3},{-5480,-6830,3}, {-5485,-6832,3},{-5485,-6852,3},{-5485,-6857,3},{-5488,-6863,3},{-5488,-6867,3}, {-5483,-6875,3},{-5478,-6893,3},{-5478,-6897,3},{-5480,-6897,3},{-5480,-6890,3}, {-5487,-6882,3},{-5490,-6873,3},{-5493,-6880,3},{-5495,-6907,3},{-5493,-6918,3}, {-5487,-6948,3},{-5482,-6967,3},{-5478,-6967,3},{-5477,-6962,3},{-5470,-6963,3}, {-5477,-6967,3},{-5470,-6972,3},{-5480,-6972,3},{-5480,-6977,3},{-5473,-6975,3}, {-5472,-6978,3},{-5482,-6980,3},{-5482,-6992,3},{-5475,-6997,3},{-5468,-6997,3}, {-5473,-7000,3},{-5482,-6997,3},{-5483,-6998,3},{-5485,-7008,3},{-5483,-7010,3}, {-5478,-7010,3},{-5482,-7012,3},{-5478,-7015,3},{-5483,-7013,3},{-5485,-7018,3}, {-5485,-7028,3},{-5483,-7032,3},{-5478,-7032,3},{-5475,-7025,3},{-5468,-7023,3}, {-5475,-7033,3},{-5483,-7037,3},{-5477,-7060,3},{-5480,-7062,3},{-5482,-7072,3}, {-5483,-7073,3},{-5483,-7077,3},{-5482,-7083,3},{-5478,-7082,3},{-5475,-7065,3}, {-5470,-7053,3},{-5465,-7047,3},{-5463,-7047,3},{-5463,-7055,3},{-5467,-7063,3}, {-5468,-7058,3},{-5470,-7060,3},{-5473,-7072,3},{-5472,-7075,3},{-5475,-7082,3}, {-5475,-7092,3},{-5472,-7092,3},{-5468,-7077,3},{-5467,-7093,3},{-5468,-7095,3}, {-5472,-7093,3},{-5478,-7103,3},{-5477,-7105,3},{-5470,-7100,3},{-5467,-7100,3}, {-5462,-7095,3},{-5462,-7100,3},{-5460,-7105,3},{-5460,-7107,3},{-5462,-7105,3}, {-5465,-7103,3},{-5467,-7108,3},{-5463,-7110,3},{-5468,-7113,3},{-5470,-7118,3}, {-5468,-7122,3},{-5467,-7130,3},{-5465,-7130,3},{-5463,-7120,3},{-5462,-7125,3}, {-5457,-7127,3},{-5453,-7123,3},{-5457,-7130,3},{-5452,-7133,3},{-5453,-7137,3}, {-5457,-7133,3},{-5455,-7140,3},{-5458,-7140,3},{-5462,-7133,3},{-5460,-7138,3}, {-5462,-7140,3},{-5465,-7142,3},{-5463,-7145,3},{-5465,-7145,3},{-5465,-7148,3}, {-5468,-7148,3},{-5467,-7152,3},{-5460,-7148,3},{-5460,-7152,3},{-5465,-7155,3}, {-5465,-7158,3},{-5458,-7157,3},{-5458,-7160,3},{-5467,-7165,3},{-5463,-7168,3}, {-5460,-7165,3},{-5460,-7175,3},{-5462,-7175,3},{-5463,-7182,3},{-5465,-7180,3}, {-5465,-7187,3},{-5465,-7190,3},{-5465,-7195,3},{-5462,-7197,3},{-5460,-7190,3}, {-5458,-7188,3},{-5458,-7193,3},{-5458,-7195,3},{-5455,-7193,3},{-5457,-7200,3}, {-5453,-7198,3},{-5452,-7202,3},{-5452,-7193,3},{-5448,-7200,3},{-5445,-7200,3}, {-5447,-7192,3},{-5448,-7192,3},{-5450,-7187,3},{-5455,-7183,3},{-5458,-7167,3}, {-5452,-7175,3},{-5455,-7163,3},{-5455,-7158,3},{-5452,-7165,3},{-5450,-7168,3}, {-5448,-7168,3},{-5447,-7172,3},{-5448,-7177,3},{-5447,-7183,3},{-5445,-7185,3}, {-5445,-7183,3},{-5442,-7185,3},{-5442,-7180,3},{-5440,-7180,3},{-5440,-7177,3}, {-5440,-7172,3},{-5443,-7173,3},{-5450,-7162,3},{-5450,-7150,3},{-5448,-7150,3}, {-5447,-7160,3},{-5442,-7162,3},{-5442,-7158,3},{-5445,-7152,3},{-5442,-7153,3}, {-5442,-7150,3},{-5443,-7145,3},{-5443,-7140,3},{-5447,-7138,3},{-5443,-7133,3}, {-5442,-7133,3},{-5442,-7138,3},{-5440,-7143,3},{-5437,-7135,3},{-5443,-7117,3}, {-5450,-7113,3},{-5450,-7108,3},{-5443,-7113,3},{-5445,-7102,3},{-5447,-7097,3}, {-5443,-7097,3},{-5442,-7093,3},{-5435,-7095,3},{-5432,-7082,3},{-5433,-7077,3}, {-5435,-7073,3},{-5435,-7068,3},{-5433,-7067,3},{-5435,-7062,3},{-5443,-7072,3}, {-5448,-7072,3},{-5457,-7078,3},{-5460,-7077,3},{-5455,-7073,3},{-5460,-7068,3}, {-5460,-7063,3},{-5452,-7070,3},{-5445,-7067,3},{-5438,-7058,3},{-5448,-7045,3}, {-5452,-7035,3},{-5457,-7028,3},{-5455,-7023,3},{-5453,-7028,3},{-5450,-7030,3}, {-5455,-7013,3},{-5450,-7023,3},{-5442,-7045,3},{-5438,-7047,3},{-5437,-7052,3}, {-5433,-7050,3},{-5428,-7057,3},{-5427,-7070,3},{-5427,-7082,3},{-5425,-7087,3}, {-5418,-7090,3},{-5420,-7082,3},{-5415,-7090,3},{-5412,-7093,3},{-5425,-7060,3}, {-5433,-7033,3},{-5435,-7028,3},{-5437,-7023,3},{-5440,-7022,3},{-5443,-7015,3}, {-5438,-7015,3},{-5438,-7008,3},{-5437,-7007,3},{-5435,-7017,3},{-5432,-7020,3}, {-5430,-7013,3},{-5428,-7013,3},{-5425,-7005,3},{-5430,-6997,3},{-5433,-6998,3}, {-5437,-6995,3},{-5438,-6997,3},{-5438,-6992,3},{-5442,-6990,3},{-5443,-6987,3}, {-5450,-6988,3},{-5447,-6982,3},{-5450,-6978,3},{-5453,-6980,3},{-5455,-6977,3}, {-5448,-6973,3},{-5442,-6982,3},{-5438,-6980,3},{-5437,-6985,3},{-5433,-6985,3}, {-5432,-6988,3},{-5428,-6987,3},{-5428,-6980,3},{-5432,-6968,3},{-5445,-6955,3}, {-5443,-6952,3},{-5437,-6957,3},{-5433,-6955,3},{-5437,-6945,3},{-5445,-6923,3}, {-5447,-6923,3},{-5453,-6930,3},{-5455,-6937,3},{-5462,-6942,3},{-5468,-6938,3}, {-5462,-6938,3},{-5460,-6932,3},{-5455,-6928,3},{-5453,-6923,3},{-5455,-6920,3}, {-5458,-6918,3},{-5455,-6915,3},{-5450,-6918,3},{-5445,-6915,3},{-5445,-6907,3}, {-5448,-6902,3},{-5447,-6900,3},{-5443,-6898,3},{-5442,-6900,3},{-5438,-6908,3}, {-5438,-6918,3},{-5430,-6933,3},{-5427,-6952,3},{-5422,-6958,3},{-5417,-6988,3}, {-5413,-6993,3},{-5408,-7007,3},{-5398,-7010,3},{-5393,-7015,3},{-5388,-7015,3}, {-5383,-7018,3},{-5378,-7018,3},{-5375,-7017,3},{-5372,-7003,3},{-5365,-6992,3}, {-5365,-6977,3},{-5350,-6935,3},{-5347,-6933,3},{-5337,-6935,3},{-5333,-6938,3}, {-5332,-6957,3},{-5337,-6993,3},{-5340,-7002,3},{-5343,-7005,3},{-5345,-7013,3}, {-5347,-7022,3},{-5343,-7030,3},{-5340,-7033,3},{-5337,-7043,3},{-5335,-7045,3}, {-5323,-7048,3},{-5315,-7045,3},{-5302,-7045,3},{-5295,-7035,3},{-5300,-7035,3}, {-5305,-7033,3},{-5302,-7018,3},{-5298,-7013,3},{-5290,-7010,3},{-5288,-7010,3}, {-5287,-7022,3},{-5290,-7030,3},{-5283,-7027,3},{-5280,-7027,3},{-5278,-7032,3}, {-5277,-7042,3},{-5273,-7037,3},{-5272,-7017,3},{-5273,-7012,3},{-5277,-7008,3}, {-5283,-7000,3},{-5283,-6997,3},{-5282,-6992,3},{-5278,-6985,3},{-5277,-6977,3}, {-5273,-6972,3},{-5263,-6962,3},{-5253,-6962,3},{-5250,-6957,3},{-5250,-6952,3}, {-5245,-6942,3},{-5265,-6923,3},{-5268,-6915,3},{-5268,-6908,3},{-5265,-6903,3}, {-5265,-6895,3},{-5258,-6882,3},{-5255,-6878,3},{-5265,-6862,3},{-5270,-6862,3}, {-5275,-6862,3},{-5282,-6862,3},{-5287,-6862,3},{-5292,-6862,3},{-5297,-6862,3}, {-5303,-6862,3},{-5308,-6862,3},{-5313,-6862,3},{-5320,-6862,3},{-5325,-6862,3}, {-5330,-6862,3},{-5337,-6862,3},{-5342,-6862,3},{-5347,-6863,3},{-5352,-6862,3}, {-5358,-6863,3},{-5363,-6863,3},{-5368,-6863,3},{-5375,-6863,3},{-5380,-6863,3}, {-5385,-6863,3},{-5392,-6863,3},{-5397,-6863,3},{-5402,-6863,3},{-5407,-6863,3}, {-5413,-6863,3},{-5418,-6863,3},{-5423,-6863,3},{-5430,-6863,3},{-5435,-6863,3}, {-5440,-6863,3},{-5445,-6863,3},{-5452,-6863,3},{-5457,-6863,3},{-5462,-6863,3}, {-5468,-6863,3},{-5473,-6863,3},{-5478,-6863,3},{-5485,-6863,3},{-5488,-6863,3}, {-5238,-6843,131},{-5238,-6845,3},{-5233,-6847,3},{-5233,-6850,3},{-5233,-6858,3}, {-5230,-6875,3},{-5230,-6882,3},{-5228,-6893,3},{-5225,-6903,3},{-5222,-6912,3}, {-5220,-6922,3},{-5220,-6927,3},{-5225,-6943,3},{-5228,-6948,3},{-5238,-6950,3}, {-5242,-6955,3},{-5245,-6955,3},{-5253,-6967,3},{-5252,-6978,3},{-5248,-6982,3}, {-5248,-6985,3},{-5253,-6995,3},{-5258,-7017,3},{-5265,-7022,3},{-5263,-7033,3}, {-5270,-7052,3},{-5270,-7055,3},{-5265,-7050,3},{-5265,-7053,3},{-5267,-7058,3}, {-5270,-7058,3},{-5268,-7062,3},{-5272,-7068,3},{-5272,-7072,3},{-5270,-7072,3}, {-5272,-7077,3},{-5273,-7080,3},{-5272,-7085,3},{-5273,-7085,3},{-5275,-7080,3}, {-5278,-7080,3},{-5278,-7073,3},{-5282,-7082,3},{-5287,-7083,3},{-5290,-7088,3}, {-5292,-7082,3},{-5297,-7080,3},{-5313,-7088,3},{-5320,-7095,3},{-5330,-7095,3}, {-5337,-7098,3},{-5343,-7098,3},{-5360,-7093,3},{-5365,-7095,3},{-5368,-7098,3}, {-5377,-7098,3},{-5383,-7105,3},{-5388,-7128,3},{-5383,-7145,3},{-5380,-7170,3}, {-5373,-7187,3},{-5368,-7187,3},{-5373,-7193,3},{-5368,-7198,3},{-5367,-7202,3}, {-5372,-7203,3},{-5368,-7212,3},{-5362,-7220,3},{-5358,-7228,3},{-5353,-7230,3}, {-5353,-7235,3},{-5340,-7245,3},{-5337,-7240,3},{-5332,-7242,3},{-5325,-7230,3}, {-5325,-7227,3},{-5327,-7217,3},{-5325,-7212,3},{-5333,-7208,3},{-5338,-7208,3}, {-5340,-7212,3},{-5338,-7213,3},{-5342,-7215,3},{-5343,-7223,3},{-5345,-7218,3}, {-5342,-7208,3},{-5340,-7205,3},{-5338,-7200,3},{-5328,-7202,3},{-5323,-7200,3}, {-5322,-7198,3},{-5323,-7192,3},{-5322,-7185,3},{-5325,-7183,3},{-5345,-7178,3}, {-5348,-7185,3},{-5353,-7200,3},{-5357,-7200,3},{-5357,-7198,3},{-5355,-7193,3}, {-5352,-7180,3},{-5345,-7175,3},{-5333,-7177,3},{-5322,-7175,3},{-5320,-7162,3}, {-5317,-7160,3},{-5315,-7153,3},{-5313,-7148,3},{-5313,-7138,3},{-5310,-7133,3}, {-5303,-7127,3},{-5297,-7123,3},{-5288,-7113,3},{-5285,-7112,3},{-5280,-7118,3}, {-5278,-7135,3},{-5273,-7140,3},{-5278,-7140,3},{-5282,-7143,3},{-5283,-7148,3}, {-5295,-7182,3},{-5298,-7185,3},{-5300,-7190,3},{-5307,-7197,3},{-5312,-7202,3}, {-5313,-7208,3},{-5312,-7213,3},{-5307,-7218,3},{-5305,-7222,3},{-5303,-7230,3}, {-5307,-7227,3},{-5305,-7238,3},{-5307,-7255,3},{-5308,-7255,3},{-5308,-7248,3}, {-5308,-7242,3},{-5307,-7237,3},{-5315,-7232,3},{-5315,-7222,3},{-5318,-7218,3}, {-5322,-7223,3},{-5318,-7230,3},{-5318,-7237,3},{-5320,-7232,3},{-5322,-7232,3}, {-5323,-7235,3},{-5318,-7248,3},{-5322,-7243,3},{-5323,-7243,3},{-5320,-7253,3}, {-5322,-7253,3},{-5325,-7243,3},{-5327,-7242,3},{-5328,-7245,3},{-5327,-7253,3}, {-5333,-7250,3},{-5337,-7250,3},{-5337,-7255,3},{-5337,-7260,3},{-5332,-7265,3}, {-5337,-7263,3},{-5340,-7258,3},{-5342,-7255,3},{-5342,-7253,3},{-5342,-7248,3}, {-5353,-7237,3},{-5355,-7253,3},{-5353,-7253,3},{-5350,-7263,3},{-5347,-7265,3}, {-5345,-7273,3},{-5340,-7275,3},{-5340,-7277,3},{-5345,-7278,3},{-5338,-7280,3}, {-5338,-7287,3},{-5337,-7288,3},{-5337,-7293,3},{-5328,-7307,3},{-5327,-7313,3}, {-5323,-7322,3},{-5320,-7323,3},{-5317,-7330,3},{-5315,-7330,3},{-5320,-7313,3}, {-5317,-7310,3},{-5317,-7295,3},{-5320,-7292,3},{-5320,-7287,3},{-5323,-7275,3}, {-5328,-7277,3},{-5330,-7270,3},{-5327,-7272,3},{-5325,-7268,3},{-5318,-7280,3}, {-5318,-7273,3},{-5315,-7277,3},{-5315,-7265,3},{-5313,-7270,3},{-5310,-7272,3}, {-5313,-7273,3},{-5312,-7278,3},{-5315,-7285,3},{-5310,-7293,3},{-5302,-7287,3}, {-5303,-7292,3},{-5298,-7292,3},{-5292,-7295,3},{-5288,-7292,3},{-5285,-7298,3}, {-5275,-7273,3},{-5270,-7270,3},{-5277,-7260,3},{-5280,-7263,3},{-5283,-7272,3}, {-5287,-7272,3},{-5280,-7257,3},{-5283,-7260,3},{-5280,-7248,3},{-5285,-7245,3}, {-5287,-7243,3},{-5282,-7242,3},{-5278,-7238,3},{-5275,-7230,3},{-5270,-7225,3}, {-5268,-7218,3},{-5263,-7217,3},{-5265,-7207,3},{-5267,-7203,3},{-5267,-7202,3}, {-5263,-7200,3},{-5263,-7197,3},{-5268,-7190,3},{-5268,-7178,3},{-5268,-7165,3}, {-5263,-7155,3},{-5263,-7147,3},{-5257,-7153,3},{-5257,-7163,3},{-5253,-7192,3}, {-5255,-7200,3},{-5252,-7212,3},{-5253,-7233,3},{-5258,-7237,3},{-5262,-7243,3}, {-5262,-7240,3},{-5265,-7242,3},{-5258,-7255,3},{-5253,-7248,3},{-5253,-7240,3}, {-5250,-7238,3},{-5252,-7252,3},{-5257,-7257,3},{-5255,-7263,3},{-5253,-7263,3}, {-5252,-7268,3},{-5255,-7278,3},{-5252,-7282,3},{-5250,-7285,3},{-5263,-7290,3}, {-5270,-7298,3},{-5272,-7298,3},{-5272,-7297,3},{-5262,-7287,3},{-5258,-7282,3}, {-5262,-7280,3},{-5263,-7270,3},{-5265,-7267,3},{-5275,-7277,3},{-5277,-7283,3}, {-5280,-7288,3},{-5280,-7295,3},{-5283,-7297,3},{-5283,-7302,3},{-5290,-7295,3}, {-5293,-7297,3},{-5300,-7295,3},{-5307,-7298,3},{-5305,-7302,3},{-5307,-7303,3}, {-5310,-7313,3},{-5307,-7318,3},{-5303,-7315,3},{-5302,-7320,3},{-5307,-7322,3}, {-5310,-7318,3},{-5310,-7320,3},{-5308,-7325,3},{-5308,-7332,3},{-5305,-7337,3}, {-5302,-7338,3},{-5300,-7345,3},{-5298,-7340,3},{-5300,-7335,3},{-5297,-7337,3}, {-5297,-7333,3},{-5293,-7332,3},{-5297,-7323,3},{-5293,-7325,3},{-5293,-7323,3}, {-5292,-7323,3},{-5290,-7318,3},{-5288,-7322,3},{-5292,-7328,3},{-5287,-7330,3}, {-5288,-7335,3},{-5285,-7338,3},{-5283,-7348,3},{-5282,-7355,3},{-5280,-7357,3}, {-5278,-7347,3},{-5282,-7347,3},{-5278,-7342,3},{-5278,-7338,3},{-5282,-7338,3}, {-5280,-7335,3},{-5278,-7323,3},{-5277,-7325,3},{-5277,-7330,3},{-5272,-7330,3}, {-5272,-7327,3},{-5272,-7325,3},{-5265,-7322,3},{-5265,-7315,3},{-5257,-7313,3}, {-5257,-7300,3},{-5253,-7312,3},{-5252,-7310,3},{-5250,-7305,3},{-5252,-7293,3}, {-5253,-7290,3},{-5252,-7288,3},{-5250,-7292,3},{-5248,-7307,3},{-5250,-7313,3}, {-5243,-7320,3},{-5247,-7320,3},{-5248,-7323,3},{-5250,-7318,3},{-5257,-7317,3}, {-5263,-7323,3},{-5267,-7327,3},{-5267,-7332,3},{-5265,-7333,3},{-5258,-7330,3}, {-5260,-7335,3},{-5255,-7340,3},{-5263,-7340,3},{-5263,-7345,3},{-5267,-7347,3}, {-5265,-7350,3},{-5268,-7350,3},{-5268,-7355,3},{-5273,-7360,3},{-5273,-7362,3}, {-5275,-7362,3},{-5273,-7365,3},{-5273,-7368,3},{-5268,-7367,3},{-5267,-7360,3}, {-5263,-7357,3},{-5265,-7367,3},{-5260,-7368,3},{-5258,-7363,3},{-5257,-7363,3}, {-5257,-7362,3},{-5255,-7358,3},{-5257,-7355,3},{-5253,-7355,3},{-5252,-7362,3}, {-5250,-7357,3},{-5248,-7357,3},{-5248,-7350,3},{-5247,-7353,3},{-5242,-7352,3}, {-5242,-7353,3},{-5245,-7358,3},{-5242,-7367,3},{-5238,-7365,3},{-5237,-7363,3}, {-5238,-7360,3},{-5233,-7357,3},{-5228,-7362,3},{-5222,-7357,3},{-5220,-7358,3}, {-5220,-7363,3},{-5217,-7363,3},{-5210,-7372,3},{-5203,-7373,3},{-5203,-7368,3}, {-5210,-7363,3},{-5215,-7362,3},{-5215,-7357,3},{-5220,-7353,3},{-5217,-7347,3}, {-5215,-7352,3},{-5213,-7350,3},{-5222,-7332,3},{-5220,-7323,3},{-5212,-7322,3}, {-5212,-7317,3},{-5213,-7313,3},{-5208,-7310,3},{-5207,-7298,3},{-5215,-7298,3}, {-5215,-7303,3},{-5223,-7308,3},{-5223,-7307,3},{-5220,-7303,3},{-5218,-7298,3}, {-5222,-7292,3},{-5225,-7292,3},{-5227,-7287,3},{-5223,-7283,3},{-5213,-7280,3}, {-5208,-7275,3},{-5207,-7275,3},{-5205,-7277,3},{-5208,-7282,3},{-5220,-7288,3}, {-5218,-7293,3},{-5207,-7295,3},{-5205,-7293,3},{-5207,-7290,3},{-5197,-7287,3}, {-5195,-7278,3},{-5198,-7270,3},{-5207,-7272,3},{-5212,-7265,3},{-5210,-7260,3}, {-5222,-7253,3},{-5228,-7257,3},{-5232,-7257,3},{-5235,-7260,3},{-5235,-7263,3}, {-5233,-7268,3},{-5238,-7273,3},{-5237,-7278,3},{-5240,-7278,3},{-5238,-7282,3}, {-5242,-7282,3},{-5245,-7293,3},{-5247,-7290,3},{-5240,-7272,3},{-5243,-7260,3}, {-5247,-7255,3},{-5245,-7250,3},{-5243,-7250,3},{-5242,-7260,3},{-5240,-7263,3}, {-5232,-7250,3},{-5220,-7247,3},{-5205,-7265,3},{-5197,-7267,3},{-5195,-7263,3}, {-5198,-7260,3},{-5195,-7258,3},{-5195,-7252,3},{-5193,-7247,3},{-5192,-7245,3}, {-5185,-7252,3},{-5178,-7247,3},{-5173,-7250,3},{-5167,-7262,3},{-5162,-7267,3}, {-5158,-7273,3},{-5157,-7283,3},{-5155,-7292,3},{-5150,-7295,3},{-5148,-7305,3}, {-5145,-7308,3},{-5142,-7308,3},{-5145,-7313,3},{-5147,-7325,3},{-5148,-7327,3}, {-5150,-7327,3},{-5152,-7322,3},{-5148,-7315,3},{-5152,-7305,3},{-5153,-7303,3}, {-5160,-7312,3},{-5160,-7308,3},{-5153,-7298,3},{-5160,-7287,3},{-5160,-7280,3}, {-5162,-7275,3},{-5170,-7272,3},{-5173,-7255,3},{-5178,-7257,3},{-5183,-7263,3}, {-5183,-7272,3},{-5182,-7273,3},{-5182,-7278,3},{-5177,-7283,3},{-5178,-7288,3}, {-5175,-7292,3},{-5177,-7297,3},{-5177,-7298,3},{-5173,-7298,3},{-5170,-7305,3}, {-5170,-7317,3},{-5168,-7318,3},{-5163,-7318,3},{-5163,-7323,3},{-5162,-7323,3}, {-5162,-7328,3},{-5162,-7330,3},{-5165,-7323,3},{-5172,-7322,3},{-5173,-7313,3}, {-5172,-7308,3},{-5178,-7300,3},{-5178,-7302,3},{-5175,-7305,3},{-5175,-7312,3}, {-5177,-7313,3},{-5177,-7307,3},{-5183,-7305,3},{-5185,-7308,3},{-5187,-7320,3}, {-5190,-7318,3},{-5187,-7307,3},{-5182,-7297,3},{-5187,-7292,3},{-5193,-7313,3}, {-5197,-7315,3},{-5208,-7317,3},{-5208,-7323,3},{-5203,-7327,3},{-5198,-7327,3}, {-5190,-7330,3},{-5172,-7332,3},{-5165,-7338,3},{-5175,-7333,3},{-5205,-7330,3}, {-5213,-7328,3},{-5217,-7328,3},{-5217,-7332,3},{-5213,-7338,3},{-5210,-7342,3}, {-5205,-7355,3},{-5202,-7358,3},{-5197,-7357,3},{-5195,-7362,3},{-5193,-7358,3}, {-5183,-7365,3},{-5182,-7363,3},{-5182,-7360,3},{-5185,-7358,3},{-5190,-7353,3}, {-5195,-7350,3},{-5197,-7347,3},{-5202,-7343,3},{-5202,-7340,3},{-5192,-7348,3}, {-5190,-7345,3},{-5188,-7350,3},{-5185,-7348,3},{-5183,-7353,3},{-5180,-7352,3}, {-5178,-7357,3},{-5175,-7360,3},{-5173,-7352,3},{-5168,-7347,3},{-5172,-7355,3}, {-5168,-7355,3},{-5172,-7360,3},{-5168,-7365,3},{-5178,-7370,3},{-5172,-7377,3}, {-5170,-7380,3},{-5168,-7382,3},{-5163,-7372,3},{-5165,-7377,3},{-5162,-7390,3}, {-5158,-7390,3},{-5153,-7382,3},{-5153,-7388,3},{-5152,-7392,3},{-5148,-7390,3}, {-5140,-7393,3},{-5137,-7390,3},{-5140,-7385,3},{-5140,-7382,3},{-5145,-7377,3}, {-5147,-7372,3},{-5162,-7363,3},{-5163,-7362,3},{-5162,-7360,3},{-5153,-7363,3}, {-5152,-7360,3},{-5152,-7365,3},{-5148,-7367,3},{-5147,-7365,3},{-5145,-7360,3}, {-5143,-7358,3},{-5145,-7365,3},{-5142,-7368,3},{-5133,-7373,3},{-5128,-7372,3}, {-5123,-7378,3},{-5122,-7378,3},{-5120,-7373,3},{-5127,-7368,3},{-5122,-7370,3}, {-5118,-7367,3},{-5120,-7370,3},{-5118,-7372,3},{-5113,-7370,3},{-5115,-7373,3}, {-5112,-7377,3},{-5117,-7375,3},{-5125,-7390,3},{-5118,-7398,3},{-5110,-7402,3}, {-5120,-7402,3},{-5120,-7408,3},{-5118,-7413,3},{-5110,-7412,3},{-5107,-7415,3}, {-5100,-7408,3},{-5095,-7407,3},{-5097,-7412,3},{-5105,-7418,3},{-5105,-7420,3}, {-5103,-7423,3},{-5095,-7422,3},{-5093,-7425,3},{-5090,-7422,3},{-5087,-7415,3}, {-5090,-7395,3},{-5087,-7392,3},{-5092,-7385,3},{-5093,-7385,3},{-5097,-7380,3}, {-5092,-7378,3},{-5087,-7383,3},{-5083,-7388,3},{-5080,-7382,3},{-5082,-7378,3}, {-5083,-7373,3},{-5080,-7378,3},{-5073,-7377,3},{-5068,-7378,3},{-5067,-7375,3}, {-5065,-7363,3},{-5067,-7358,3},{-5070,-7357,3},{-5072,-7353,3},{-5067,-7353,3}, {-5067,-7347,3},{-5065,-7353,3},{-5063,-7357,3},{-5062,-7365,3},{-5057,-7372,3}, {-5053,-7372,3},{-5048,-7360,3},{-5040,-7357,3},{-5040,-7358,3},{-5048,-7365,3}, {-5050,-7373,3},{-5053,-7377,3},{-5065,-7380,3},{-5068,-7383,3},{-5077,-7382,3}, {-5080,-7390,3},{-5083,-7393,3},{-5083,-7405,3},{-5077,-7412,3},{-5075,-7410,3}, {-5073,-7407,3},{-5072,-7407,3},{-5068,-7412,3},{-5072,-7412,3},{-5073,-7415,3}, {-5062,-7423,3},{-5055,-7420,3},{-5053,-7425,3},{-5048,-7430,3},{-5047,-7422,3}, {-5055,-7415,3},{-5058,-7413,3},{-5058,-7410,3},{-5053,-7415,3},{-5052,-7413,3}, {-5050,-7417,3},{-5048,-7413,3},{-5053,-7403,3},{-5055,-7388,3},{-5053,-7388,3}, {-5050,-7400,3},{-5045,-7402,3},{-5048,-7407,3},{-5043,-7412,3},{-5038,-7407,3}, {-5037,-7402,3},{-5037,-7408,3},{-5040,-7410,3},{-5040,-7422,3},{-5043,-7423,3}, {-5043,-7428,3},{-5040,-7432,3},{-5032,-7427,3},{-5027,-7428,3},{-5027,-7432,3}, {-5037,-7435,3},{-5037,-7440,3},{-5035,-7447,3},{-5033,-7445,3},{-5032,-7450,3}, {-5030,-7453,3},{-5025,-7448,3},{-5027,-7455,3},{-5022,-7452,3},{-5025,-7460,3}, {-5023,-7462,3},{-5020,-7460,3},{-5022,-7467,3},{-5020,-7470,3},{-5017,-7468,3}, {-5010,-7458,3},{-5010,-7453,3},{-5015,-7452,3},{-5012,-7450,3},{-5008,-7450,3}, {-5008,-7447,3},{-5010,-7445,3},{-5008,-7435,3},{-5013,-7430,3},{-5017,-7433,3}, {-5017,-7427,3},{-5020,-7423,3},{-5022,-7420,3},{-5025,-7420,3},{-5027,-7418,3}, {-5023,-7415,3},{-5023,-7410,3},{-5028,-7397,3},{-5030,-7387,3},{-5028,-7387,3}, {-5023,-7402,3},{-5022,-7403,3},{-5022,-7400,3},{-5020,-7400,3},{-5022,-7405,3}, {-5020,-7410,3},{-5022,-7415,3},{-5020,-7418,3},{-5017,-7422,3},{-5012,-7422,3}, {-5008,-7425,3},{-5008,-7428,3},{-4998,-7437,3},{-4993,-7435,3},{-4993,-7433,3}, {-4995,-7430,3},{-4993,-7427,3},{-4997,-7418,3},{-5002,-7415,3},{-5000,-7410,3}, {-5003,-7407,3},{-5003,-7393,3},{-5007,-7390,3},{-5008,-7388,3},{-5002,-7390,3}, {-5002,-7398,3},{-5000,-7400,3},{-4993,-7397,3},{-4992,-7388,3},{-4992,-7392,3}, {-4987,-7390,3},{-4990,-7393,3},{-4992,-7398,3},{-4995,-7400,3},{-4997,-7407,3}, {-4995,-7412,3},{-4992,-7413,3},{-4990,-7418,3},{-4990,-7427,3},{-4988,-7430,3}, {-4980,-7435,3},{-4980,-7428,3},{-4977,-7425,3},{-4975,-7420,3},{-4975,-7407,3}, {-4972,-7407,3},{-4975,-7430,3},{-4965,-7433,3},{-4962,-7432,3},{-4957,-7425,3}, {-4957,-7417,3},{-4953,-7408,3},{-4957,-7402,3},{-4962,-7403,3},{-4957,-7400,3}, {-4955,-7395,3},{-4967,-7388,3},{-4968,-7382,3},{-4973,-7375,3},{-4978,-7372,3}, {-4973,-7368,3},{-4970,-7375,3},{-4967,-7377,3},{-4965,-7385,3},{-4952,-7388,3}, {-4952,-7400,3},{-4948,-7412,3},{-4942,-7412,3},{-4935,-7410,3},{-4928,-7408,3}, {-4927,-7405,3},{-4928,-7400,3},{-4933,-7397,3},{-4935,-7390,3},{-4935,-7385,3}, {-4932,-7393,3},{-4927,-7400,3},{-4923,-7400,3},{-4917,-7397,3},{-4908,-7403,3}, {-4907,-7400,3},{-4903,-7395,3},{-4902,-7392,3},{-4905,-7383,3},{-4903,-7383,3}, {-4900,-7392,3},{-4902,-7405,3},{-4903,-7407,3},{-4908,-7405,3},{-4912,-7405,3}, {-4915,-7403,3},{-4922,-7408,3},{-4923,-7412,3},{-4922,-7415,3},{-4922,-7418,3}, {-4927,-7415,3},{-4938,-7417,3},{-4942,-7418,3},{-4950,-7418,3},{-4953,-7423,3}, {-4952,-7427,3},{-4942,-7435,3},{-4942,-7440,3},{-4938,-7442,3},{-4932,-7438,3}, {-4920,-7442,3},{-4918,-7437,3},{-4913,-7442,3},{-4908,-7440,3},{-4908,-7445,3}, {-4903,-7447,3},{-4898,-7440,3},{-4893,-7442,3},{-4893,-7437,3},{-4890,-7443,3}, {-4888,-7443,3},{-4887,-7442,3},{-4885,-7445,3},{-4880,-7443,3},{-4877,-7440,3}, {-4873,-7438,3},{-4873,-7437,3},{-4877,-7433,3},{-4875,-7433,3},{-4875,-7430,3}, {-4872,-7422,3},{-4873,-7405,3},{-4872,-7408,3},{-4870,-7418,3},{-4873,-7432,3}, {-4870,-7433,3},{-4868,-7428,3},{-4867,-7432,3},{-4868,-7433,3},{-4868,-7437,3}, {-4863,-7437,3},{-4862,-7440,3},{-4855,-7432,3},{-4853,-7427,3},{-4852,-7427,3}, {-4848,-7420,3},{-4855,-7405,3},{-4860,-7402,3},{-4860,-7398,3},{-4857,-7397,3}, {-4853,-7403,3},{-4845,-7403,3},{-4842,-7390,3},{-4840,-7390,3},{-4842,-7402,3}, {-4840,-7405,3},{-4840,-7412,3},{-4837,-7415,3},{-4835,-7423,3},{-4833,-7420,3}, {-4832,-7408,3},{-4830,-7417,3},{-4833,-7427,3},{-4828,-7427,3},{-4823,-7432,3}, {-4822,-7432,3},{-4820,-7442,3},{-4813,-7448,3},{-4808,-7452,3},{-4805,-7447,3}, {-4803,-7447,3},{-4808,-7455,3},{-4808,-7460,3},{-4807,-7465,3},{-4802,-7465,3}, {-4800,-7463,3},{-4798,-7457,3},{-4795,-7452,3},{-4798,-7447,3},{-4798,-7442,3}, {-4805,-7433,3},{-4820,-7427,3},{-4818,-7425,3},{-4823,-7422,3},{-4822,-7415,3}, {-4822,-7418,3},{-4820,-7420,3},{-4817,-7423,3},{-4815,-7422,3},{-4812,-7425,3}, {-4803,-7432,3},{-4802,-7433,3},{-4800,-7432,3},{-4800,-7407,3},{-4803,-7403,3}, {-4803,-7402,3},{-4802,-7402,3},{-4805,-7395,3},{-4803,-7388,3},{-4805,-7385,3}, {-4810,-7387,3},{-4803,-7377,3},{-4805,-7375,3},{-4812,-7380,3},{-4808,-7377,3}, {-4812,-7362,3},{-4815,-7358,3},{-4822,-7360,3},{-4822,-7358,3},{-4825,-7355,3}, {-4820,-7353,3},{-4818,-7350,3},{-4818,-7347,3},{-4818,-7342,3},{-4822,-7335,3}, {-4818,-7335,3},{-4815,-7328,3},{-4808,-7327,3},{-4807,-7328,3},{-4813,-7330,3}, {-4817,-7338,3},{-4812,-7348,3},{-4805,-7358,3},{-4800,-7358,3},{-4798,-7365,3}, {-4797,-7363,3},{-4792,-7365,3},{-4790,-7363,3},{-4792,-7357,3},{-4795,-7355,3}, {-4798,-7350,3},{-4800,-7343,3},{-4798,-7335,3},{-4800,-7322,3},{-4797,-7333,3}, {-4797,-7347,3},{-4795,-7352,3},{-4793,-7353,3},{-4788,-7350,3},{-4787,-7353,3}, {-4788,-7357,3},{-4787,-7362,3},{-4780,-7355,3},{-4778,-7370,3},{-4772,-7373,3}, {-4763,-7365,3},{-4763,-7370,3},{-4758,-7370,3},{-4757,-7367,3},{-4755,-7372,3}, {-4753,-7372,3},{-4760,-7377,3},{-4762,-7373,3},{-4765,-7373,3},{-4772,-7378,3}, {-4778,-7378,3},{-4785,-7393,3},{-4783,-7403,3},{-4780,-7403,3},{-4777,-7407,3}, {-4780,-7422,3},{-4777,-7430,3},{-4778,-7432,3},{-4778,-7437,3},{-4777,-7440,3}, {-4777,-7433,3},{-4775,-7433,3},{-4775,-7438,3},{-4778,-7453,3},{-4777,-7453,3}, {-4777,-7463,3},{-4775,-7472,3},{-4772,-7473,3},{-4765,-7468,3},{-4765,-7463,3}, {-4767,-7458,3},{-4770,-7458,3},{-4767,-7455,3},{-4762,-7463,3},{-4757,-7460,3}, {-4755,-7453,3},{-4762,-7450,3},{-4755,-7448,3},{-4755,-7447,3},{-4757,-7442,3}, {-4758,-7442,3},{-4762,-7440,3},{-4760,-7438,3},{-4760,-7437,3},{-4765,-7435,3}, {-4767,-7445,3},{-4770,-7448,3},{-4767,-7433,3},{-4773,-7430,3},{-4775,-7425,3}, {-4775,-7418,3},{-4775,-7417,3},{-4775,-7422,3},{-4772,-7428,3},{-4768,-7430,3}, {-4767,-7428,3},{-4767,-7417,3},{-4767,-7413,3},{-4765,-7425,3},{-4763,-7427,3}, {-4762,-7417,3},{-4763,-7410,3},{-4762,-7403,3},{-4760,-7413,3},{-4753,-7405,3}, {-4760,-7417,3},{-4758,-7423,3},{-4760,-7432,3},{-4755,-7435,3},{-4753,-7433,3}, {-4755,-7438,3},{-4748,-7445,3},{-4747,-7445,3},{-4747,-7440,3},{-4745,-7438,3}, {-4745,-7445,3},{-4742,-7447,3},{-4745,-7447,3},{-4747,-7450,3},{-4743,-7453,3}, {-4737,-7447,3},{-4735,-7442,3},{-4732,-7442,3},{-4730,-7437,3},{-4725,-7433,3}, {-4722,-7432,3},{-4725,-7428,3},{-4722,-7428,3},{-4725,-7423,3},{-4722,-7423,3}, {-4722,-7417,3},{-4728,-7417,3},{-4735,-7410,3},{-4725,-7413,3},{-4720,-7412,3}, {-4718,-7408,3},{-4720,-7405,3},{-4718,-7403,3},{-4725,-7398,3},{-4725,-7397,3}, {-4717,-7398,3},{-4717,-7405,3},{-4703,-7393,3},{-4698,-7402,3},{-4697,-7405,3}, {-4698,-7413,3},{-4690,-7422,3},{-4688,-7420,3},{-4687,-7415,3},{-4683,-7413,3}, {-4687,-7425,3},{-4683,-7425,3},{-4682,-7428,3},{-4680,-7427,3},{-4678,-7427,3}, {-4677,-7443,3},{-4673,-7458,3},{-4678,-7448,3},{-4680,-7452,3},{-4680,-7465,3}, {-4683,-7465,3},{-4685,-7467,3},{-4683,-7455,3},{-4687,-7450,3},{-4687,-7443,3}, {-4690,-7447,3},{-4690,-7457,3},{-4688,-7460,3},{-4688,-7468,3},{-4685,-7472,3}, {-4680,-7480,3},{-4677,-7482,3},{-4677,-7483,3},{-4682,-7485,3},{-4678,-7490,3}, {-4675,-7502,3},{-4663,-7508,3},{-4660,-7507,3},{-4658,-7502,3},{-4655,-7500,3}, {-4652,-7493,3},{-4643,-7493,3},{-4650,-7498,3},{-4652,-7505,3},{-4657,-7508,3}, {-4663,-7518,3},{-4663,-7520,3},{-4660,-7522,3},{-4663,-7525,3},{-4663,-7533,3}, {-4667,-7535,3},{-4665,-7540,3},{-4663,-7542,3},{-4665,-7545,3},{-4670,-7560,3}, {-4673,-7560,3},{-4677,-7565,3},{-4678,-7565,3},{-4678,-7563,3},{-4675,-7558,3}, {-4670,-7555,3},{-4670,-7543,3},{-4673,-7542,3},{-4673,-7545,3},{-4675,-7545,3}, {-4678,-7547,3},{-4678,-7543,3},{-4678,-7540,3},{-4678,-7538,3},{-4683,-7540,3}, {-4687,-7543,3},{-4685,-7537,3},{-4687,-7535,3},{-4690,-7535,3},{-4695,-7550,3}, {-4693,-7558,3},{-4692,-7558,3},{-4687,-7565,3},{-4682,-7567,3},{-4678,-7572,3}, {-4663,-7570,3},{-4660,-7565,3},{-4657,-7563,3},{-4657,-7557,3},{-4655,-7552,3}, {-4653,-7555,3},{-4652,-7553,3},{-4652,-7547,3},{-4648,-7543,3},{-4648,-7538,3}, {-4643,-7540,3},{-4637,-7527,3},{-4637,-7525,3},{-4642,-7522,3},{-4630,-7520,3}, {-4635,-7510,3},{-4635,-7503,3},{-4633,-7512,3},{-4630,-7515,3},{-4628,-7512,3}, {-4627,-7510,3},{-4625,-7512,3},{-4622,-7510,3},{-4622,-7503,3},{-4628,-7493,3}, {-4623,-7497,3},{-4615,-7490,3},{-4615,-7487,3},{-4622,-7478,3},{-4618,-7478,3}, {-4618,-7475,3},{-4615,-7482,3},{-4612,-7482,3},{-4603,-7477,3},{-4603,-7470,3}, {-4602,-7473,3},{-4600,-7472,3},{-4592,-7472,3},{-4582,-7467,3},{-4583,-7463,3}, {-4585,-7460,3},{-4582,-7457,3},{-4585,-7453,3},{-4590,-7455,3},{-4590,-7452,3}, {-4593,-7452,3},{-4592,-7447,3},{-4593,-7445,3},{-4602,-7448,3},{-4603,-7447,3}, {-4593,-7440,3},{-4585,-7447,3},{-4585,-7443,3},{-4580,-7445,3},{-4582,-7442,3}, {-4580,-7435,3},{-4583,-7432,3},{-4582,-7427,3},{-4580,-7417,3},{-4585,-7410,3}, {-4588,-7420,3},{-4590,-7412,3},{-4593,-7415,3},{-4592,-7407,3},{-4595,-7405,3}, {-4598,-7408,3},{-4602,-7417,3},{-4602,-7410,3},{-4603,-7408,3},{-4610,-7412,3}, {-4613,-7417,3},{-4613,-7413,3},{-4610,-7407,3},{-4600,-7407,3},{-4598,-7405,3}, {-4605,-7397,3},{-4612,-7400,3},{-4618,-7408,3},{-4623,-7420,3},{-4625,-7433,3}, {-4622,-7442,3},{-4617,-7448,3},{-4618,-7450,3},{-4627,-7433,3},{-4625,-7418,3}, {-4620,-7405,3},{-4623,-7407,3},{-4625,-7403,3},{-4627,-7403,3},{-4632,-7407,3}, {-4628,-7402,3},{-4635,-7385,3},{-4632,-7387,3},{-4627,-7395,3},{-4622,-7397,3}, {-4622,-7402,3},{-4615,-7397,3},{-4613,-7388,3},{-4620,-7385,3},{-4623,-7377,3}, {-4630,-7377,3},{-4638,-7382,3},{-4655,-7400,3},{-4660,-7392,3},{-4660,-7388,3}, {-4658,-7383,3},{-4653,-7380,3},{-4650,-7378,3},{-4653,-7373,3},{-4647,-7377,3}, {-4642,-7375,3},{-4633,-7362,3},{-4630,-7348,3},{-4630,-7355,3},{-4628,-7357,3}, {-4618,-7353,3},{-4615,-7348,3},{-4607,-7342,3},{-4603,-7335,3},{-4602,-7338,3}, {-4603,-7343,3},{-4608,-7345,3},{-4622,-7362,3},{-4625,-7360,3},{-4628,-7363,3}, {-4632,-7368,3},{-4625,-7368,3},{-4622,-7365,3},{-4622,-7363,3},{-4620,-7365,3}, {-4608,-7362,3},{-4605,-7365,3},{-4602,-7365,3},{-4597,-7367,3},{-4595,-7360,3}, {-4593,-7362,3},{-4588,-7358,3},{-4588,-7352,3},{-4587,-7355,3},{-4583,-7357,3}, {-4570,-7342,3},{-4568,-7338,3},{-4568,-7323,3},{-4567,-7318,3},{-4565,-7330,3}, {-4562,-7333,3},{-4567,-7343,3},{-4572,-7347,3},{-4578,-7358,3},{-4545,-7352,3}, {-4542,-7343,3},{-4545,-7342,3},{-4538,-7340,3},{-4537,-7335,3},{-4540,-7332,3}, {-4533,-7332,3},{-4530,-7322,3},{-4532,-7318,3},{-4535,-7318,3},{-4542,-7308,3}, {-4542,-7303,3},{-4545,-7302,3},{-4547,-7287,3},{-4547,-7285,3},{-4543,-7285,3}, {-4542,-7283,3},{-4540,-7285,3},{-4538,-7288,3},{-4542,-7295,3},{-4538,-7305,3}, {-4528,-7318,3},{-4525,-7327,3},{-4528,-7332,3},{-4530,-7335,3},{-4528,-7345,3}, {-4525,-7347,3},{-4520,-7345,3},{-4520,-7335,3},{-4515,-7330,3},{-4512,-7333,3}, {-4508,-7333,3},{-4508,-7337,3},{-4503,-7340,3},{-4498,-7338,3},{-4495,-7333,3}, {-4497,-7323,3},{-4495,-7312,3},{-4487,-7300,3},{-4487,-7293,3},{-4477,-7278,3}, {-4477,-7273,3},{-4473,-7270,3},{-4467,-7273,3},{-4463,-7270,3},{-4455,-7268,3}, {-4450,-7260,3},{-4445,-7262,3},{-4435,-7258,3},{-4440,-7263,3},{-4442,-7267,3}, {-4450,-7270,3},{-4450,-7272,3},{-4445,-7275,3},{-4443,-7282,3},{-4440,-7285,3}, {-4437,-7293,3},{-4432,-7293,3},{-4425,-7318,3},{-4422,-7317,3},{-4422,-7313,3}, {-4417,-7310,3},{-4415,-7312,3},{-4418,-7317,3},{-4420,-7322,3},{-4418,-7328,3}, {-4413,-7328,3},{-4410,-7327,3},{-4413,-7322,3},{-4410,-7322,3},{-4407,-7322,3}, {-4407,-7318,3},{-4408,-7315,3},{-4410,-7312,3},{-4403,-7313,3},{-4398,-7313,3}, {-4393,-7310,3},{-4392,-7307,3},{-4388,-7307,3},{-4382,-7302,3},{-4377,-7300,3}, {-4382,-7298,3},{-4382,-7297,3},{-4378,-7288,3},{-4382,-7285,3},{-4382,-7282,3}, {-4378,-7285,3},{-4373,-7285,3},{-4368,-7285,3},{-4373,-7287,3},{-4375,-7288,3}, {-4375,-7293,3},{-4377,-7297,3},{-4373,-7300,3},{-4373,-7305,3},{-4370,-7305,3}, {-4368,-7300,3},{-4362,-7297,3},{-4362,-7290,3},{-4358,-7292,3},{-4360,-7297,3}, {-4358,-7303,3},{-4343,-7312,3},{-4340,-7308,3},{-4330,-7308,3},{-4323,-7290,3}, {-4313,-7293,3},{-4308,-7292,3},{-4303,-7287,3},{-4300,-7283,3},{-4302,-7280,3}, {-4307,-7278,3},{-4308,-7273,3},{-4302,-7277,3},{-4292,-7273,3},{-4285,-7283,3}, {-4277,-7287,3},{-4270,-7287,3},{-4268,-7282,3},{-4262,-7287,3},{-4257,-7285,3}, {-4250,-7282,3},{-4250,-7278,3},{-4250,-7268,3},{-4255,-7258,3},{-4257,-7253,3}, {-4252,-7257,3},{-4248,-7268,3},{-4243,-7272,3},{-4240,-7272,3},{-4238,-7277,3}, {-4230,-7280,3},{-4230,-7283,3},{-4230,-7285,3},{-4222,-7275,3},{-4222,-7270,3}, {-4218,-7260,3},{-4223,-7255,3},{-4227,-7255,3},{-4245,-7245,3},{-4247,-7243,3}, {-4245,-7242,3},{-4237,-7243,3},{-4230,-7248,3},{-4227,-7247,3},{-4225,-7242,3}, {-4225,-7247,3},{-4222,-7248,3},{-4217,-7247,3},{-4215,-7242,3},{-4215,-7248,3}, {-4212,-7248,3},{-4197,-7247,3},{-4197,-7253,3},{-4203,-7257,3},{-4203,-7260,3}, {-4202,-7262,3},{-4202,-7267,3},{-4200,-7268,3},{-4202,-7272,3},{-4198,-7282,3}, {-4195,-7283,3},{-4192,-7288,3},{-4173,-7267,3},{-4173,-7258,3},{-4172,-7248,3}, {-4168,-7240,3},{-4165,-7237,3},{-4165,-7230,3},{-4162,-7233,3},{-4155,-7232,3}, {-4152,-7230,3},{-4148,-7233,3},{-4138,-7230,3},{-4137,-7233,3},{-4138,-7235,3}, {-4142,-7232,3},{-4145,-7235,3},{-4162,-7238,3},{-4167,-7242,3},{-4168,-7248,3}, {-4168,-7253,3},{-4170,-7257,3},{-4170,-7263,3},{-4167,-7268,3},{-4162,-7268,3}, {-4160,-7272,3},{-4155,-7275,3},{-4150,-7283,3},{-4152,-7288,3},{-4148,-7295,3}, {-4152,-7305,3},{-4157,-7305,3},{-4158,-7310,3},{-4170,-7305,3},{-4170,-7310,3}, {-4175,-7313,3},{-4175,-7317,3},{-4180,-7320,3},{-4177,-7340,3},{-4178,-7342,3}, {-4180,-7342,3},{-4178,-7345,3},{-4180,-7352,3},{-4177,-7358,3},{-4175,-7375,3}, {-4168,-7373,3},{-4165,-7368,3},{-4162,-7368,3},{-4162,-7357,3},{-4152,-7350,3}, {-4157,-7355,3},{-4158,-7355,3},{-4160,-7360,3},{-4160,-7372,3},{-4157,-7377,3}, {-4157,-7382,3},{-4152,-7382,3},{-4147,-7387,3},{-4140,-7385,3},{-4130,-7387,3}, {-4112,-7398,3},{-4097,-7400,3},{-4093,-7395,3},{-4090,-7390,3},{-4088,-7390,3}, {-4087,-7395,3},{-4082,-7392,3},{-4075,-7390,3},{-4068,-7385,3},{-4063,-7385,3}, {-4062,-7383,3},{-4058,-7378,3},{-4052,-7375,3},{-4042,-7378,3},{-4042,-7377,3}, {-4025,-7375,3},{-4022,-7372,3},{-4018,-7373,3},{-4013,-7370,3},{-4012,-7367,3}, {-4012,-7365,3},{-4003,-7367,3},{-3998,-7372,3},{-3993,-7367,3},{-3993,-7360,3}, {-3992,-7360,3},{-3988,-7352,3},{-3983,-7347,3},{-3983,-7343,3},{-3983,-7342,3}, {-3992,-7340,3},{-3992,-7338,3},{-3987,-7337,3},{-3980,-7340,3},{-3973,-7338,3}, {-3970,-7340,3},{-3967,-7338,3},{-3967,-7335,3},{-3965,-7335,3},{-3948,-7325,3}, {-3945,-7325,3},{-3942,-7322,3},{-3938,-7325,3},{-3935,-7322,3},{-3925,-7323,3}, {-3922,-7320,3},{-3918,-7323,3},{-3922,-7322,3},{-3922,-7325,3},{-3915,-7325,3}, {-3890,-7337,3},{-3870,-7343,3},{-3878,-7343,3},{-3853,-7352,3},{-3838,-7353,3}, {-3833,-7352,3},{-3832,-7350,3},{-3827,-7352,3},{-3820,-7347,3},{-3805,-7345,3}, {-3787,-7353,3},{-3777,-7362,3},{-3773,-7367,3},{-3768,-7365,3},{-3760,-7368,3}, {-3752,-7360,3},{-3747,-7360,3},{-3742,-7360,3},{-3737,-7367,3},{-3733,-7368,3}, {-3728,-7365,3},{-3718,-7363,3},{-3715,-7358,3},{-3720,-7353,3},{-3722,-7347,3}, {-3725,-7345,3},{-3720,-7327,3},{-3715,-7320,3},{-3705,-7317,3},{-3700,-7318,3}, {-3695,-7315,3},{-3687,-7315,3},{-3682,-7315,3},{-3677,-7320,3},{-3673,-7317,3}, {-3675,-7315,3},{-3673,-7313,3},{-3672,-7312,3},{-3670,-7315,3},{-3668,-7313,3}, {-3660,-7312,3},{-3660,-7310,3},{-3662,-7308,3},{-3670,-7308,3},{-3672,-7303,3}, {-3670,-7298,3},{-3662,-7297,3},{-3657,-7300,3},{-3653,-7298,3},{-3652,-7297,3}, {-3653,-7293,3},{-3647,-7292,3},{-3643,-7288,3},{-3638,-7288,3},{-3632,-7283,3}, {-3618,-7283,3},{-3615,-7280,3},{-3610,-7282,3},{-3603,-7278,3},{-3598,-7280,3}, {-3590,-7270,3},{-3585,-7267,3},{-3582,-7260,3},{-3580,-7258,3},{-3573,-7258,3}, {-3560,-7265,3},{-3558,-7265,3},{-3548,-7250,3},{-3537,-7248,3},{-3535,-7243,3}, {-3523,-7238,3},{-3517,-7228,3},{-3510,-7222,3},{-3488,-7218,3},{-3478,-7213,3}, {-3475,-7210,3},{-3465,-7205,3},{-3453,-7205,3},{-3452,-7203,3},{-3442,-7205,3}, {-3440,-7203,3},{-3437,-7198,3},{-3422,-7198,3},{-3418,-7202,3},{-3415,-7202,3}, {-3403,-7193,3},{-3402,-7190,3},{-3397,-7190,3},{-3393,-7187,3},{-3378,-7182,3}, {-3373,-7170,3},{-3368,-7167,3},{-3357,-7165,3},{-3353,-7162,3},{-3343,-7172,3}, {-3338,-7170,3},{-3335,-7167,3},{-3330,-7167,3},{-3327,-7170,3},{-3317,-7172,3}, {-3310,-7175,3},{-3308,-7168,3},{-3302,-7165,3},{-3303,-7160,3},{-3302,-7157,3}, {-3293,-7155,3},{-3288,-7152,3},{-3278,-7155,3},{-3277,-7150,3},{-3272,-7152,3}, {-3270,-7147,3},{-3265,-7145,3},{-3252,-7147,3},{-3248,-7143,3},{-3242,-7143,3}, {-3238,-7140,3},{-3235,-7143,3},{-3233,-7147,3},{-3228,-7148,3},{-3220,-7153,3}, {-3198,-7150,3},{-3192,-7153,3},{-3188,-7150,3},{-3185,-7155,3},{-3178,-7152,3}, {-3160,-7157,3},{-3152,-7157,3},{-3115,-7167,3},{-3098,-7165,3},{-3093,-7168,3}, {-3078,-7170,3},{-3062,-7172,3},{-3035,-7168,3},{-3025,-7163,3},{-3025,-7162,3}, {-3028,-7160,3},{-3030,-7155,3},{-3027,-7150,3},{-3023,-7152,3},{-3023,-7148,3}, {-3020,-7147,3},{-3017,-7143,3},{-3018,-7143,3},{-3018,-7142,3},{-3013,-7138,3}, {-3008,-7137,3},{-3000,-7142,3},{-2997,-7135,3},{-2993,-7135,3},{-2993,-7130,3}, {-2990,-7128,3},{-2983,-7128,3},{-2980,-7132,3},{-2973,-7133,3},{-2965,-7132,3}, {-2962,-7128,3},{-2955,-7133,3},{-2942,-7130,3},{-2938,-7133,3},{-2930,-7135,3}, {-2922,-7148,3},{-2915,-7150,3},{-2910,-7147,3},{-2907,-7150,3},{-2905,-7148,3}, {-2902,-7150,3},{-2898,-7150,3},{-2897,-7152,3},{-2887,-7150,3},{-2880,-7138,3}, {-2873,-7137,3},{-2868,-7130,3},{-2862,-7128,3},{-2857,-7132,3},{-2853,-7127,3}, {-2847,-7127,3},{-2847,-7122,3},{-2835,-7117,3},{-2830,-7118,3},{-2822,-7115,3}, {-2810,-7117,3},{-2807,-7115,3},{-2795,-7113,3},{-2790,-7112,3},{-2787,-7110,3}, {-2785,-7110,3},{-2782,-7108,3},{-2778,-7108,3},{-2772,-7105,3},{-2767,-7103,3}, {-2765,-7103,3},{-2768,-7100,3},{-2767,-7095,3},{-2762,-7092,3},{-2755,-7092,3}, {-2748,-7088,3},{-2737,-7095,3},{-2733,-7093,3},{-2730,-7093,3},{-2725,-7095,3}, {-2722,-7095,3},{-2718,-7097,3},{-2713,-7095,3},{-2710,-7093,3},{-2713,-7090,3}, {-2713,-7088,3},{-2705,-7085,3},{-2705,-7082,3},{-2702,-7082,3},{-2700,-7078,3}, {-2687,-7082,3},{-2675,-7075,3},{-2672,-7075,3},{-2668,-7073,3},{-2658,-7070,3}, {-2653,-7068,3},{-2650,-7070,3},{-2643,-7068,3},{-2638,-7070,3},{-2632,-7063,3}, {-2630,-7063,3},{-2628,-7067,3},{-2625,-7065,3},{-2620,-7067,3},{-2617,-7067,3}, {-2607,-7067,3},{-2603,-7063,3},{-2600,-7063,3},{-2593,-7065,3},{-2588,-7070,3}, {-2585,-7070,3},{-2580,-7073,3},{-2575,-7070,3},{-2572,-7070,3},{-2567,-7068,3}, {-2563,-7065,3},{-2557,-7063,3},{-2553,-7065,3},{-2550,-7062,3},{-2550,-7058,3}, {-2548,-7055,3},{-2538,-7052,3},{-2538,-7048,3},{-2535,-7045,3},{-2520,-7043,3}, {-2513,-7047,3},{-2510,-7050,3},{-2500,-7047,3},{-2490,-7053,3},{-2477,-7055,3}, {-2472,-7058,3},{-2462,-7055,3},{-2453,-7058,3},{-2448,-7055,3},{-2438,-7055,3}, {-2435,-7053,3},{-2432,-7055,3},{-2417,-7050,3},{-2405,-7050,3},{-2400,-7052,3}, {-2390,-7050,3},{-2387,-7052,3},{-2383,-7048,3},{-2378,-7050,3},{-2370,-7043,3}, {-2360,-7038,3},{-2350,-7042,3},{-2345,-7048,3},{-2345,-7052,3},{-2350,-7053,3}, {-2352,-7055,3},{-2350,-7058,3},{-2348,-7060,3},{-2350,-7062,3},{-2345,-7062,3}, {-2342,-7058,3},{-2338,-7060,3},{-2330,-7058,3},{-2327,-7060,3},{-2322,-7060,3}, {-2317,-7055,3},{-2307,-7058,3},{-2302,-7052,3},{-2302,-7050,3},{-2307,-7050,3}, {-2308,-7047,3},{-2307,-7038,3},{-2302,-7033,3},{-2295,-7033,3},{-2290,-7028,3}, {-2280,-7032,3},{-2275,-7030,3},{-2270,-7028,3},{-2263,-7028,3},{-2262,-7027,3}, {-2257,-7028,3},{-2248,-7025,3},{-2245,-7027,3},{-2238,-7023,3},{-2233,-7025,3}, {-2228,-7023,3},{-2215,-7022,3},{-2208,-7020,3},{-2207,-7018,3},{-2200,-7020,3}, {-2195,-7017,3},{-2188,-7020,3},{-2188,-7017,3},{-2185,-7015,3},{-2167,-7015,3}, {-2162,-7015,3},{-2158,-7008,3},{-2153,-7008,3},{-2152,-7007,3},{-2148,-7008,3}, {-2143,-7005,3},{-2133,-7010,3},{-2130,-7007,3},{-2122,-7008,3},{-2112,-7013,3}, {-2108,-7012,3},{-2102,-7017,3},{-2093,-7013,3},{-2088,-7013,3},{-2080,-7022,3}, {-2078,-7020,3},{-2070,-7020,3},{-2065,-7018,3},{-2053,-7020,3},{-2048,-7017,3}, {-2045,-7017,3},{-2040,-7017,3},{-2037,-7018,3},{-2032,-7015,3},{-2027,-7013,3}, {-2020,-7017,3},{-2018,-7015,3},{-2015,-7015,3},{-2008,-7013,3},{-2005,-7013,3}, {-1998,-7012,3},{-1995,-7013,3},{-1988,-7015,3},{-1987,-7013,3},{-1980,-7017,3}, {-1977,-7015,3},{-1972,-7015,3},{-1968,-7017,3},{-1967,-7017,3},{-1963,-7018,3}, {-1958,-7023,3},{-1958,-7020,3},{-1953,-7020,3},{-1950,-7020,3},{-1940,-7022,3}, {-1935,-7027,3},{-1932,-7027,3},{-1930,-7028,3},{-1913,-7027,3},{-1902,-7032,3}, {-1888,-7032,3},{-1878,-7035,3},{-1873,-7033,3},{-1870,-7035,3},{-1867,-7033,3}, {-1863,-7035,3},{-1850,-7032,3},{-1845,-7033,3},{-1843,-7032,3},{-1835,-7040,3}, {-1832,-7037,3},{-1833,-7020,3},{-1832,-7013,3},{-1828,-7005,3},{-1827,-7000,3}, {-1825,-6995,3},{-1820,-6992,3},{-1813,-6983,3},{-1797,-6977,3},{-1793,-6977,3}, {-1790,-6980,3},{-1780,-6982,3},{-1775,-6985,3},{-1768,-6983,3},{-1767,-6982,3}, {-1765,-6982,3},{-1767,-6968,3},{-1750,-6950,3},{-1763,-6948,3},{-1775,-6935,3}, {-1780,-6932,3},{-1790,-6932,3},{-1797,-6930,3},{-1798,-6928,3},{-1797,-6927,3}, {-1795,-6927,3},{-1797,-6925,3},{-1798,-6923,3},{-1803,-6913,3},{-1802,-6907,3}, {-1808,-6907,3},{-1812,-6913,3},{-1815,-6915,3},{-1823,-6908,3},{-1828,-6908,3}, {-1832,-6907,3},{-1838,-6907,3},{-1848,-6902,3},{-1865,-6903,3},{-1870,-6900,3}, {-1875,-6900,3},{-1888,-6893,3},{-1895,-6898,3},{-1898,-6895,3},{-1907,-6890,3}, {-1910,-6882,3},{-1917,-6875,3},{-1920,-6868,3},{-1928,-6865,3},{-1932,-6855,3}, {-1942,-6843,3},{-1943,-6843,3},{-1945,-6848,3},{-1965,-6863,3},{-1970,-6868,3}, {-1973,-6870,3},{-1982,-6860,3},{-1983,-6855,3},{-1988,-6855,3},{-1992,-6852,3}, {-1997,-6855,3},{-2005,-6857,3},{-2007,-6867,3},{-2008,-6877,3},{-2010,-6878,3}, {-2013,-6877,3},{-2015,-6872,3},{-2023,-6873,3},{-2033,-6867,3},{-2037,-6875,3}, {-2040,-6875,3},{-2045,-6875,3},{-2050,-6870,3},{-2057,-6855,3},{-2063,-6847,3}, {-2065,-6847,3},{-2068,-6852,3},{-2073,-6857,3},{-2090,-6855,3},{-2093,-6850,3}, {-2093,-6842,3},{-2130,-6818,3},{-2160,-6818,3},{-2168,-6813,3},{-2175,-6810,3}, {-2197,-6808,3},{-2207,-6797,3},{-2210,-6795,3},{-2217,-6797,3},{-2222,-6793,3}, {-2227,-6792,3},{-2233,-6795,3},{-2243,-6788,3},{-2250,-6788,3},{-2255,-6785,3}, {-2272,-6788,3},{-2283,-6788,3},{-2285,-6783,3},{-2283,-6782,3},{-2288,-6780,3}, {-2290,-6758,3},{-2282,-6718,3},{-2300,-6700,3},{-2340,-6715,3},{-2402,-6733,3}, {-2440,-6825,3},{-2450,-6830,3},{-2450,-6838,3},{-2457,-6843,3},{-2462,-6843,3}, {-2462,-6847,3},{-2460,-6847,3},{-2460,-6848,3},{-2467,-6850,3},{-2477,-6857,3}, {-2482,-6857,3},{-2487,-6855,3},{-2490,-6850,3},{-2490,-6845,3},{-2493,-6847,3}, {-2497,-6843,3},{-2503,-6842,3},{-2512,-6835,3},{-2513,-6835,3},{-2515,-6842,3}, {-2513,-6847,3},{-2518,-6850,3},{-2533,-6857,3},{-2545,-6860,3},{-2552,-6860,3}, {-2557,-6855,3},{-2567,-6855,3},{-2573,-6850,3},{-2615,-6840,3},{-2618,-6842,3}, {-2630,-6857,3},{-2650,-6858,3},{-2658,-6853,3},{-2670,-6843,3},{-2688,-6830,3}, {-2692,-6828,3},{-2698,-6832,3},{-2705,-6832,3},{-2705,-6837,3},{-2707,-6843,3}, {-2707,-6850,3},{-2710,-6855,3},{-2717,-6858,3},{-2715,-6863,3},{-2710,-6870,3}, {-2710,-6878,3},{-2712,-6882,3},{-2723,-6888,3},{-2728,-6887,3},{-2737,-6890,3}, {-2742,-6895,3},{-2747,-6900,3},{-2753,-6902,3},{-2760,-6905,3},{-2765,-6908,3}, {-2770,-6907,3},{-2773,-6912,3},{-2790,-6915,3},{-2797,-6918,3},{-2800,-6930,3}, {-2803,-6930,3},{-2807,-6933,3},{-2812,-6935,3},{-2817,-6938,3},{-2822,-6940,3}, {-2818,-6947,3},{-2820,-6948,3},{-2825,-6948,3},{-2832,-6953,3},{-2840,-6965,3}, {-2857,-6967,3},{-2860,-6970,3},{-2863,-6972,3},{-2867,-6975,3},{-2872,-6975,3}, {-2880,-6972,3},{-2895,-6980,3},{-2910,-6980,3},{-2913,-6983,3},{-2913,-6990,3}, {-2917,-6992,3},{-2920,-6998,3},{-2925,-6997,3},{-2927,-7002,3},{-2930,-7003,3}, {-2937,-7003,3},{-2955,-6997,3},{-2967,-6997,3},{-2970,-6995,3},{-2972,-6992,3}, {-2975,-6992,3},{-2978,-6990,3},{-2997,-6992,3},{-3008,-6997,3},{-3008,-6990,3}, {-3012,-6985,3},{-3015,-6983,3},{-3018,-6983,3},{-3022,-6987,3},{-3032,-6990,3}, {-3038,-6995,3},{-3040,-7002,3},{-3038,-7007,3},{-3035,-7012,3},{-3037,-7017,3}, {-3043,-7013,3},{-3047,-7015,3},{-3050,-7020,3},{-3060,-7022,3},{-3065,-7027,3}, {-3072,-7027,3},{-3078,-7030,3},{-3088,-7033,3},{-3097,-7033,3},{-3103,-7025,3}, {-3103,-7033,3},{-3112,-7037,3},{-3115,-7042,3},{-3110,-7045,3},{-3110,-7047,3}, {-3117,-7053,3},{-3123,-7053,3},{-3132,-7057,3},{-3137,-7055,3},{-3142,-7057,3}, {-3157,-7058,3},{-3167,-7053,3},{-3173,-7048,3},{-3180,-7047,3},{-3187,-7043,3}, {-3188,-7040,3},{-3188,-7030,3},{-3195,-7023,3},{-3205,-7027,3},{-3203,-7037,3}, {-3205,-7038,3},{-3208,-7035,3},{-3212,-7035,3},{-3213,-7032,3},{-3218,-7033,3}, {-3222,-7032,3},{-3228,-7032,3},{-3232,-7025,3},{-3235,-7023,3},{-3242,-7023,3}, {-3247,-7017,3},{-3248,-7015,3},{-3255,-7015,3},{-3257,-7013,3},{-3258,-7017,3}, {-3262,-7017,3},{-3275,-7015,3},{-3285,-7005,3},{-3288,-6998,3},{-3300,-7003,3}, {-3300,-7008,3},{-3303,-7010,3},{-3308,-7008,3},{-3317,-7010,3},{-3323,-7003,3}, {-3330,-7000,3},{-3330,-6998,3},{-3325,-6995,3},{-3323,-6992,3},{-3328,-6980,3}, {-3335,-6980,3},{-3340,-6977,3},{-3345,-6982,3},{-3353,-6983,3},{-3355,-6987,3}, {-3358,-6987,3},{-3367,-6988,3},{-3372,-6985,3},{-3377,-6990,3},{-3378,-6990,3}, {-3388,-6988,3},{-3395,-6990,3},{-3397,-6988,3},{-3395,-6985,3},{-3397,-6985,3}, {-3410,-6985,3},{-3413,-6987,3},{-3423,-6982,3},{-3425,-6983,3},{-3427,-6988,3}, {-3428,-6990,3},{-3427,-6997,3},{-3428,-7005,3},{-3442,-7005,3},{-3445,-7010,3}, {-3453,-7015,3},{-3458,-7022,3},{-3472,-7025,3},{-3475,-7032,3},{-3478,-7027,3}, {-3480,-7027,3},{-3498,-7035,3},{-3515,-7037,3},{-3520,-7045,3},{-3520,-7053,3}, {-3525,-7057,3},{-3528,-7057,3},{-3530,-7053,3},{-3532,-7045,3},{-3535,-7042,3}, {-3537,-7043,3},{-3538,-7047,3},{-3547,-7043,3},{-3550,-7040,3},{-3560,-7040,3}, {-3565,-7042,3},{-3582,-7033,3},{-3583,-7038,3},{-3590,-7042,3},{-3592,-7037,3}, {-3597,-7042,3},{-3605,-7037,3},{-3615,-7043,3},{-3617,-7048,3},{-3615,-7052,3}, {-3613,-7055,3},{-3615,-7058,3},{-3620,-7058,3},{-3622,-7063,3},{-3625,-7065,3}, {-3627,-7070,3},{-3633,-7072,3},{-3638,-7070,3},{-3642,-7070,3},{-3643,-7080,3}, {-3640,-7087,3},{-3642,-7090,3},{-3647,-7092,3},{-3648,-7093,3},{-3648,-7103,3}, {-3660,-7107,3},{-3668,-7105,3},{-3670,-7107,3},{-3668,-7110,3},{-3668,-7113,3}, {-3675,-7113,3},{-3685,-7118,3},{-3687,-7118,3},{-3688,-7113,3},{-3692,-7115,3}, {-3695,-7112,3},{-3698,-7115,3},{-3698,-7120,3},{-3700,-7115,3},{-3708,-7112,3}, {-3710,-7108,3},{-3712,-7112,3},{-3715,-7113,3},{-3722,-7113,3},{-3730,-7120,3}, {-3738,-7117,3},{-3743,-7112,3},{-3747,-7110,3},{-3755,-7113,3},{-3758,-7112,3}, {-3762,-7117,3},{-3770,-7118,3},{-3803,-7103,3},{-3807,-7100,3},{-3812,-7102,3}, {-3817,-7100,3},{-3823,-7102,3},{-3842,-7097,3},{-3848,-7092,3},{-3852,-7083,3}, {-3857,-7082,3},{-3862,-7085,3},{-3863,-7088,3},{-3868,-7087,3},{-3870,-7090,3}, {-3875,-7093,3},{-3875,-7105,3},{-3877,-7110,3},{-3880,-7113,3},{-3880,-7123,3}, {-3883,-7123,3},{-3892,-7140,3},{-3903,-7142,3},{-3923,-7138,3},{-3933,-7140,3}, {-3938,-7147,3},{-3943,-7145,3},{-3948,-7148,3},{-3953,-7153,3},{-3955,-7148,3}, {-3960,-7148,3},{-3962,-7152,3},{-3962,-7155,3},{-3962,-7162,3},{-3957,-7167,3}, {-3958,-7170,3},{-3963,-7172,3},{-3968,-7168,3},{-3972,-7170,3},{-3985,-7167,3}, {-3988,-7162,3},{-3992,-7160,3},{-4002,-7167,3},{-4010,-7167,3},{-4008,-7175,3}, {-4008,-7178,3},{-4010,-7180,3},{-4012,-7178,3},{-4018,-7180,3},{-4020,-7182,3}, {-4030,-7173,3},{-4030,-7172,3},{-4028,-7170,3},{-4030,-7167,3},{-4033,-7167,3}, {-4043,-7172,3},{-4040,-7177,3},{-4042,-7178,3},{-4055,-7185,3},{-4058,-7183,3}, {-4063,-7185,3},{-4073,-7195,3},{-4085,-7190,3},{-4090,-7185,3},{-4095,-7183,3}, {-4102,-7187,3},{-4107,-7183,3},{-4115,-7185,3},{-4118,-7188,3},{-4125,-7187,3}, {-4137,-7190,3},{-4143,-7187,3},{-4152,-7188,3},{-4158,-7183,3},{-4162,-7190,3}, {-4165,-7192,3},{-4172,-7185,3},{-4178,-7185,3},{-4187,-7178,3},{-4195,-7177,3}, {-4198,-7177,3},{-4203,-7173,3},{-4210,-7173,3},{-4213,-7178,3},{-4213,-7187,3}, {-4218,-7192,3},{-4218,-7193,3},{-4213,-7197,3},{-4213,-7202,3},{-4217,-7205,3}, {-4222,-7207,3},{-4228,-7213,3},{-4235,-7205,3},{-4243,-7207,3},{-4248,-7203,3}, {-4253,-7212,3},{-4258,-7213,3},{-4262,-7212,3},{-4267,-7213,3},{-4272,-7212,3}, {-4285,-7210,3},{-4302,-7213,3},{-4310,-7205,3},{-4312,-7198,3},{-4313,-7183,3}, {-4317,-7175,3},{-4318,-7173,3},{-4330,-7175,3},{-4330,-7182,3},{-4332,-7190,3}, {-4337,-7190,3},{-4338,-7193,3},{-4342,-7192,3},{-4345,-7195,3},{-4347,-7185,3}, {-4350,-7185,3},{-4353,-7187,3},{-4355,-7178,3},{-4358,-7177,3},{-4360,-7170,3}, {-4368,-7168,3},{-4373,-7180,3},{-4377,-7182,3},{-4378,-7178,3},{-4377,-7173,3}, {-4383,-7175,3},{-4392,-7165,3},{-4397,-7165,3},{-4407,-7175,3},{-4410,-7185,3}, {-4413,-7185,3},{-4420,-7180,3},{-4427,-7182,3},{-4432,-7180,3},{-4437,-7185,3}, {-4440,-7180,3},{-4440,-7177,3},{-4438,-7172,3},{-4442,-7163,3},{-4440,-7142,3}, {-4442,-7137,3},{-4443,-7120,3},{-4445,-7115,3},{-4450,-7115,3},{-4453,-7110,3}, {-4458,-7113,3},{-4460,-7120,3},{-4465,-7123,3},{-4475,-7122,3},{-4480,-7128,3}, {-4480,-7137,3},{-4475,-7150,3},{-4478,-7165,3},{-4475,-7178,3},{-4480,-7183,3}, {-4478,-7190,3},{-4478,-7195,3},{-4475,-7205,3},{-4477,-7208,3},{-4490,-7207,3}, {-4492,-7197,3},{-4495,-7187,3},{-4493,-7180,3},{-4493,-7175,3},{-4498,-7168,3}, {-4498,-7157,3},{-4517,-7145,3},{-4518,-7140,3},{-4522,-7133,3},{-4530,-7130,3}, {-4532,-7130,3},{-4537,-7137,3},{-4542,-7150,3},{-4548,-7147,3},{-4550,-7148,3}, {-4553,-7153,3},{-4553,-7168,3},{-4555,-7173,3},{-4557,-7175,3},{-4560,-7173,3}, {-4565,-7178,3},{-4570,-7177,3},{-4573,-7178,3},{-4578,-7173,3},{-4585,-7177,3}, {-4590,-7163,3},{-4597,-7160,3},{-4602,-7167,3},{-4612,-7177,3},{-4613,-7188,3}, {-4615,-7190,3},{-4617,-7187,3},{-4620,-7183,3},{-4622,-7177,3},{-4625,-7175,3}, {-4638,-7175,3},{-4653,-7167,3},{-4658,-7168,3},{-4668,-7167,3},{-4672,-7170,3}, {-4673,-7177,3},{-4678,-7182,3},{-4680,-7192,3},{-4682,-7193,3},{-4685,-7192,3}, {-4695,-7197,3},{-4700,-7190,3},{-4705,-7200,3},{-4707,-7200,3},{-4715,-7187,3}, {-4722,-7187,3},{-4723,-7192,3},{-4722,-7195,3},{-4720,-7202,3},{-4720,-7203,3}, {-4722,-7203,3},{-4727,-7202,3},{-4735,-7208,3},{-4738,-7213,3},{-4742,-7217,3}, {-4742,-7230,3},{-4743,-7233,3},{-4747,-7237,3},{-4748,-7235,3},{-4750,-7230,3}, {-4760,-7233,3},{-4775,-7245,3},{-4793,-7253,3},{-4800,-7247,3},{-4802,-7240,3}, {-4805,-7238,3},{-4808,-7232,3},{-4820,-7230,3},{-4828,-7232,3},{-4835,-7228,3}, {-4835,-7237,3},{-4840,-7240,3},{-4845,-7257,3},{-4848,-7260,3},{-4872,-7255,3}, {-4880,-7257,3},{-4893,-7275,3},{-4895,-7292,3},{-4898,-7300,3},{-4907,-7308,3}, {-4913,-7308,3},{-4922,-7318,3},{-4925,-7317,3},{-4927,-7308,3},{-4928,-7313,3}, {-4930,-7313,3},{-4932,-7347,3},{-4938,-7345,3},{-4943,-7353,3},{-4950,-7353,3}, {-4953,-7358,3},{-4962,-7352,3},{-4968,-7353,3},{-4978,-7345,3},{-4985,-7353,3}, {-4990,-7353,3},{-4992,-7357,3},{-5000,-7347,3},{-5010,-7353,3},{-5013,-7353,3}, {-5025,-7333,3},{-5032,-7328,3},{-5057,-7325,3},{-5065,-7317,3},{-5075,-7317,3}, {-5077,-7312,3},{-5075,-7302,3},{-5067,-7290,3},{-5062,-7275,3},{-5067,-7263,3}, {-5067,-7258,3},{-5062,-7253,3},{-5060,-7250,3},{-5062,-7242,3},{-5062,-7237,3}, {-5063,-7235,3},{-5065,-7230,3},{-5075,-7233,3},{-5085,-7225,3},{-5102,-7227,3}, {-5103,-7228,3},{-5103,-7233,3},{-5112,-7240,3},{-5117,-7237,3},{-5122,-7227,3}, {-5125,-7225,3},{-5130,-7232,3},{-5140,-7232,3},{-5143,-7233,3},{-5148,-7233,3}, {-5152,-7242,3},{-5157,-7243,3},{-5158,-7242,3},{-5158,-7233,3},{-5170,-7228,3}, {-5173,-7213,3},{-5185,-7197,3},{-5190,-7193,3},{-5197,-7197,3},{-5198,-7193,3}, {-5200,-7192,3},{-5200,-7000,3},{-5215,-6947,3},{-5215,-6923,3},{-5220,-6898,3}, {-5228,-6883,3},{-5233,-6843,3},{-5238,-6843,3},{233,-5460,131},{235,-5457,3}, {233,-5452,3},{243,-5448,3},{243,-5443,3},{248,-5437,3},{263,-5432,3},{278,-5420,3}, {282,-5420,3},{285,-5417,3},{288,-5420,3},{295,-5417,3},{297,-5418,3},{302,-5417,3}, {305,-5418,3},{308,-5417,3},{312,-5417,3},{313,-5418,3},{312,-5422,3},{315,-5420,3}, {320,-5418,3},{328,-5412,3},{330,-5407,3},{337,-5407,3},{345,-5400,3},{353,-5402,3}, {360,-5398,3},{362,-5400,3},{363,-5402,3},{363,-5405,3},{378,-5412,3},{382,-5420,3}, {385,-5420,3},{393,-5428,3},{400,-5432,3},{403,-5437,3},{415,-5433,3},{418,-5440,3}, {425,-5440,3},{430,-5440,3},{438,-5443,3},{452,-5445,3},{458,-5442,3},{465,-5443,3}, {470,-5443,3},{473,-5447,3},{475,-5448,3},{485,-5447,3},{490,-5448,3},{495,-5445,3}, {502,-5445,3},{513,-5438,3},{515,-5435,3},{525,-5428,3},{530,-5420,3},{535,-5417,3}, {540,-5408,3},{543,-5405,3},{555,-5400,3},{562,-5402,3},{572,-5398,3},{578,-5388,3}, {577,-5382,3},{575,-5380,3},{570,-5373,3},{562,-5357,3},{557,-5348,3},{553,-5338,3}, {553,-5327,3},{552,-5325,3},{550,-5322,3},{552,-5320,3},{552,-5318,3},{545,-5305,3}, {545,-5302,3},{547,-5300,3},{545,-5293,3},{542,-5288,3},{527,-5277,3},{518,-5267,3}, {513,-5262,3},{507,-5253,3},{505,-5253,3},{505,-5248,3},{500,-5245,3},{500,-5242,3}, {498,-5242,3},{493,-5238,3},{488,-5238,3},{493,-5235,3},{495,-5233,3},{493,-5228,3}, {487,-5227,3},{483,-5230,3},{475,-5235,3},{472,-5233,3},{477,-5232,3},{483,-5228,3}, {487,-5222,3},{487,-5220,3},{478,-5215,3},{477,-5210,3},{468,-5202,3},{460,-5198,3}, {442,-5195,3},{440,-5197,3},{435,-5203,3},{433,-5203,3},{437,-5197,3},{440,-5193,3}, {460,-5193,3},{465,-5192,3},{467,-5188,3},{465,-5185,3},{460,-5180,3},{458,-5180,3}, {455,-5177,3},{445,-5175,3},{445,-5173,3},{442,-5173,3},{440,-5173,3},{438,-5168,3}, {437,-5168,3},{435,-5172,3},{430,-5172,3},{420,-5165,3},{408,-5167,3},{403,-5168,3}, {398,-5177,3},{387,-5182,3},{380,-5188,3},{377,-5193,3},{373,-5193,3},{372,-5197,3}, {370,-5198,3},{362,-5200,3},{352,-5207,3},{352,-5208,3},{348,-5208,3},{328,-5220,3}, {323,-5223,3},{325,-5225,3},{323,-5228,3},{317,-5232,3},{315,-5235,3},{312,-5235,3}, {307,-5233,3},{293,-5242,3},{290,-5240,3},{288,-5243,3},{265,-5253,3},{263,-5257,3}, {258,-5253,3},{257,-5255,3},{247,-5260,3},{243,-5265,3},{238,-5267,3},{233,-5273,3}, {230,-5280,3},{228,-5285,3},{220,-5290,3},{217,-5297,3},{218,-5305,3},{222,-5308,3}, {222,-5312,3},{220,-5323,3},{220,-5327,3},{225,-5322,3},{235,-5333,3},{235,-5335,3}, {232,-5335,3},{225,-5345,3},{225,-5353,3},{227,-5355,3},{232,-5373,3},{235,-5372,3}, {237,-5375,3},{235,-5380,3},{232,-5382,3},{230,-5387,3},{227,-5388,3},{227,-5393,3}, {223,-5393,3},{222,-5393,3},{218,-5400,3},{218,-5402,3},{218,-5407,3},{213,-5408,3}, {212,-5412,3},{212,-5415,3},{217,-5418,3},{215,-5425,3},{217,-5433,3},{222,-5437,3}, {220,-5440,3},{222,-5447,3},{227,-5453,3},{228,-5453,3},{228,-5452,3},{232,-5453,3}, {233,-5460,3},{195,-5647,131},{197,-5648,3},{202,-5657,3},{203,-5668,3}, {220,-5682,3},{227,-5683,3},{230,-5688,3},{235,-5688,3},{240,-5693,3},{243,-5693,3}, {247,-5695,3},{252,-5695,3},{250,-5698,3},{252,-5700,3},{255,-5700,3},{260,-5703,3}, {263,-5702,3},{263,-5707,3},{268,-5707,3},{273,-5710,3},{277,-5708,3},{277,-5713,3}, {283,-5713,3},{282,-5718,3},{285,-5720,3},{290,-5722,3},{295,-5718,3},{297,-5723,3}, {302,-5723,3},{303,-5720,3},{307,-5722,3},{308,-5725,3},{313,-5723,3},{313,-5727,3}, {313,-5728,3},{317,-5727,3},{318,-5728,3},{325,-5728,3},{328,-5730,3},{332,-5728,3}, {338,-5730,3},{335,-5735,3},{338,-5742,3},{335,-5743,3},{333,-5747,3},{337,-5752,3}, {335,-5755,3},{335,-5760,3},{337,-5765,3},{338,-5767,3},{347,-5763,3},{352,-5765,3}, {357,-5772,3},{362,-5773,3},{367,-5783,3},{375,-5785,3},{382,-5788,3},{390,-5795,3}, {397,-5802,3},{400,-5805,3},{417,-5807,3},{422,-5803,3},{428,-5795,3},{440,-5795,3}, {445,-5792,3},{465,-5783,3},{477,-5788,3},{478,-5792,3},{483,-5792,3},{493,-5783,3}, {493,-5777,3},{497,-5775,3},{502,-5768,3},{500,-5760,3},{502,-5752,3},{498,-5748,3}, {498,-5742,3},{503,-5733,3},{502,-5728,3},{503,-5728,3},{507,-5732,3},{517,-5730,3}, {518,-5727,3},{517,-5725,3},{513,-5723,3},{517,-5718,3},{527,-5723,3},{527,-5727,3}, {522,-5725,3},{523,-5728,3},{532,-5728,3},{532,-5733,3},{535,-5732,3},{538,-5727,3}, {548,-5725,3},{552,-5718,3},{555,-5717,3},{577,-5713,3},{588,-5708,3},{595,-5707,3}, {600,-5697,3},{597,-5667,3},{595,-5662,3},{595,-5648,3},{582,-5607,3},{582,-5602,3}, {577,-5590,3},{567,-5590,3},{572,-5588,3},{580,-5590,3},{585,-5590,3},{588,-5593,3}, {595,-5585,3},{598,-5567,3},{597,-5538,3},{592,-5527,3},{590,-5522,3},{590,-5518,3}, {588,-5512,3},{587,-5510,3},{582,-5513,3},{582,-5512,3},{585,-5510,3},{588,-5508,3}, {585,-5502,3},{587,-5498,3},{585,-5493,3},{587,-5490,3},{585,-5487,3},{588,-5490,3}, {587,-5493,3},{587,-5500,3},{590,-5505,3},{590,-5510,3},{593,-5513,3},{595,-5517,3}, {597,-5515,3},{600,-5505,3},{598,-5500,3},{598,-5477,3},{592,-5455,3},{590,-5435,3}, {588,-5427,3},{588,-5420,3},{583,-5410,3},{582,-5402,3},{578,-5402,3},{575,-5398,3}, {565,-5405,3},{552,-5405,3},{535,-5417,3},{530,-5420,3},{525,-5428,3},{515,-5435,3}, {513,-5438,3},{502,-5445,3},{495,-5445,3},{490,-5448,3},{485,-5447,3},{475,-5448,3}, {473,-5447,3},{470,-5443,3},{465,-5443,3},{458,-5442,3},{452,-5445,3},{438,-5443,3}, {430,-5440,3},{425,-5440,3},{418,-5440,3},{415,-5433,3},{403,-5437,3},{400,-5432,3}, {393,-5428,3},{385,-5420,3},{382,-5420,3},{378,-5412,3},{363,-5405,3},{363,-5402,3}, {362,-5400,3},{360,-5398,3},{353,-5402,3},{345,-5400,3},{337,-5407,3},{330,-5407,3}, {328,-5412,3},{320,-5418,3},{315,-5420,3},{312,-5422,3},{313,-5418,3},{312,-5417,3}, {308,-5417,3},{305,-5418,3},{302,-5417,3},{297,-5418,3},{295,-5417,3},{288,-5420,3}, {285,-5417,3},{282,-5420,3},{278,-5420,3},{263,-5432,3},{248,-5437,3},{243,-5443,3}, {243,-5448,3},{233,-5452,3},{235,-5457,3},{233,-5460,3},{232,-5465,3},{233,-5470,3}, {238,-5472,3},{240,-5468,3},{245,-5470,3},{247,-5475,3},{243,-5480,3},{243,-5487,3}, {253,-5495,3},{257,-5497,3},{260,-5493,3},{262,-5495,3},{258,-5502,3},{253,-5512,3}, {257,-5513,3},{255,-5518,3},{252,-5520,3},{250,-5525,3},{252,-5528,3},{252,-5532,3}, {248,-5535,3},{245,-5535,3},{243,-5538,3},{243,-5558,3},{240,-5572,3},{242,-5573,3}, {245,-5577,3},{247,-5587,3},{252,-5592,3},{253,-5597,3},{252,-5598,3},{248,-5598,3}, {245,-5600,3},{240,-5600,3},{235,-5603,3},{235,-5605,3},{235,-5608,3},{227,-5613,3}, {225,-5613,3},{225,-5608,3},{223,-5605,3},{222,-5603,3},{218,-5603,3},{215,-5600,3}, {205,-5590,3},{195,-5592,3},{190,-5590,3},{187,-5593,3},{183,-5602,3},{188,-5618,3}, {188,-5627,3},{193,-5635,3},{192,-5640,3},{195,-5647,3},{520,-6073,131}, {595,-6138,3},{598,-6133,3},{612,-6127,3},{613,-6120,3},{618,-6117,3},{618,-6112,3}, {623,-6112,3},{627,-6110,3},{630,-6113,3},{633,-6115,3},{643,-6113,3},{652,-6117,3}, {653,-6120,3},{655,-6118,3},{657,-6120,3},{663,-6117,3},{667,-6117,3},{672,-6113,3}, {672,-6107,3},{673,-6107,3},{672,-6102,3},{673,-6100,3},{672,-6093,3},{677,-6090,3}, {680,-6092,3},{682,-6090,3},{678,-6085,3},{678,-6078,3},{677,-6070,3},{683,-6063,3}, {685,-6053,3},{693,-6043,3},{695,-6040,3},{693,-6037,3},{700,-6035,3},{705,-6028,3}, {712,-6028,3},{718,-6037,3},{717,-6040,3},{720,-6045,3},{718,-6050,3},{712,-6053,3}, {720,-6062,3},{725,-6063,3},{732,-6058,3},{733,-6058,3},{738,-6062,3},{740,-6065,3}, {743,-6065,3},{745,-6068,3},{753,-6072,3},{757,-6070,3},{757,-6065,3},{763,-6062,3}, {763,-6058,3},{770,-6057,3},{773,-6058,3},{782,-6052,3},{783,-6035,3},{787,-6033,3}, {793,-6025,3},{797,-6023,3},{798,-6015,3},{802,-6013,3},{803,-6010,3},{803,-6002,3}, {813,-5998,3},{817,-5998,3},{822,-5995,3},{823,-5983,3},{827,-5980,3},{832,-5982,3}, {853,-5998,3},{852,-5995,3},{840,-5987,3},{837,-5983,3},{832,-5972,3},{828,-5968,3}, {827,-5962,3},{823,-5960,3},{822,-5953,3},{813,-5943,3},{817,-5947,3},{823,-5953,3}, {825,-5960,3},{835,-5977,3},{840,-5978,3},{842,-5975,3},{837,-5968,3},{833,-5963,3}, {830,-5958,3},{828,-5955,3},{825,-5950,3},{823,-5945,3},{820,-5940,3},{818,-5937,3}, {815,-5932,3},{812,-5927,3},{810,-5922,3},{807,-5918,3},{803,-5912,3},{798,-5908,3}, {793,-5902,3},{788,-5898,3},{785,-5895,3},{782,-5890,3},{778,-5887,3},{773,-5880,3}, {770,-5878,3},{767,-5877,3},{762,-5873,3},{760,-5872,3},{763,-5872,3},{762,-5867,3}, {748,-5858,3},{737,-5848,3},{733,-5847,3},{718,-5848,3},{713,-5847,3},{702,-5848,3}, {693,-5855,3},{678,-5860,3},{672,-5860,3},{670,-5862,3},{655,-5862,3},{650,-5862,3}, {638,-5868,3},{642,-5863,3},{642,-5860,3},{652,-5857,3},{660,-5857,3},{667,-5855,3}, {673,-5850,3},{682,-5847,3},{687,-5842,3},{690,-5832,3},{687,-5825,3},{682,-5817,3}, {683,-5815,3},{682,-5805,3},{678,-5798,3},{668,-5790,3},{663,-5783,3},{653,-5772,3}, {648,-5763,3},{643,-5758,3},{627,-5752,3},{628,-5750,3},{633,-5750,3},{633,-5747,3}, {627,-5733,3},{615,-5720,3},{610,-5718,3},{600,-5717,3},{595,-5713,3},{583,-5715,3}, {577,-5718,3},{568,-5717,3},{560,-5718,3},{548,-5725,3},{538,-5727,3},{535,-5732,3}, {532,-5733,3},{532,-5728,3},{523,-5728,3},{522,-5725,3},{527,-5727,3},{527,-5723,3}, {517,-5718,3},{513,-5723,3},{517,-5725,3},{518,-5727,3},{517,-5730,3},{507,-5732,3}, {503,-5728,3},{502,-5728,3},{503,-5733,3},{498,-5742,3},{498,-5748,3},{502,-5752,3}, {500,-5760,3},{502,-5768,3},{497,-5775,3},{493,-5777,3},{493,-5783,3},{483,-5792,3}, {478,-5792,3},{477,-5788,3},{465,-5783,3},{445,-5792,3},{440,-5795,3},{428,-5795,3}, {422,-5803,3},{417,-5807,3},{400,-5805,3},{397,-5802,3},{390,-5795,3},{382,-5788,3}, {375,-5785,3},{367,-5783,3},{362,-5773,3},{357,-5772,3},{352,-5765,3},{347,-5763,3}, {338,-5767,3},{337,-5765,3},{335,-5760,3},{335,-5755,3},{337,-5752,3},{333,-5747,3}, {335,-5743,3},{338,-5742,3},{335,-5735,3},{338,-5730,3},{332,-5728,3},{328,-5730,3}, {325,-5728,3},{318,-5728,3},{317,-5727,3},{313,-5728,3},{313,-5727,3},{313,-5723,3}, {308,-5725,3},{307,-5722,3},{303,-5720,3},{302,-5723,3},{297,-5723,3},{295,-5718,3}, {290,-5722,3},{285,-5720,3},{282,-5718,3},{283,-5713,3},{277,-5713,3},{277,-5708,3}, {273,-5710,3},{268,-5707,3},{263,-5707,3},{263,-5702,3},{260,-5703,3},{255,-5700,3}, {252,-5700,3},{250,-5698,3},{252,-5695,3},{247,-5695,3},{243,-5693,3},{240,-5693,3}, {235,-5688,3},{230,-5688,3},{227,-5683,3},{220,-5682,3},{203,-5668,3},{202,-5657,3}, {197,-5648,3},{195,-5647,3},{192,-5653,3},{190,-5655,3},{193,-5663,3},{192,-5665,3}, {192,-5672,3},{187,-5678,3},{190,-5688,3},{193,-5690,3},{192,-5697,3},{193,-5702,3}, {195,-5705,3},{202,-5707,3},{202,-5710,3},{195,-5723,3},{198,-5727,3},{198,-5730,3}, {197,-5733,3},{193,-5737,3},{192,-5742,3},{182,-5745,3},{178,-5748,3},{173,-5750,3}, {170,-5755,3},{170,-5763,3},{172,-5775,3},{167,-5788,3},{163,-5792,3},{167,-5798,3}, {160,-5797,3},{152,-5800,3},{152,-5813,3},{157,-5817,3},{157,-5823,3},{158,-5830,3}, {160,-5830,3},{160,-5832,3},{155,-5835,3},{153,-5838,3},{148,-5838,3},{145,-5850,3}, {135,-5847,3},{127,-5850,3},{127,-5852,3},{128,-5855,3},{127,-5857,3},{128,-5870,3}, {122,-5873,3},{118,-5882,3},{120,-5887,3},{123,-5890,3},{127,-5890,3},{130,-5893,3}, {133,-5900,3},{133,-5908,3},{138,-5925,3},{142,-5928,3},{147,-5928,3},{148,-5932,3}, {152,-5932,3},{153,-5933,3},{152,-5935,3},{155,-5938,3},{157,-5942,3},{162,-5943,3}, {165,-5948,3},{172,-5952,3},{173,-5955,3},{173,-5963,3},{177,-5967,3},{185,-5963,3}, {187,-5970,3},{185,-5973,3},{187,-5975,3},{190,-5975,3},{192,-5975,3},{197,-5973,3}, {203,-5973,3},{207,-5975,3},{212,-5972,3},{218,-5973,3},{228,-5973,3},{230,-5980,3}, {237,-5990,3},{238,-5990,3},{240,-5988,3},{245,-5990,3},{255,-5993,3},{257,-5993,3}, {260,-5997,3},{262,-5995,3},{268,-5998,3},{282,-5998,3},{298,-5995,3},{303,-5997,3}, {310,-5993,3},{313,-5990,3},{315,-5992,3},{317,-5990,3},{320,-5990,3},{323,-5988,3}, {325,-5988,3},{333,-5983,3},{335,-5983,3},{337,-5982,3},{340,-5982,3},{343,-5982,3}, {343,-5983,3},{348,-5982,3},{357,-5985,3},{360,-5985,3},{363,-5977,3},{370,-5967,3}, {377,-5967,3},{378,-5963,3},{378,-5960,3},{382,-5958,3},{385,-5958,3},{390,-5958,3}, {393,-5952,3},{395,-5952,3},{397,-5958,3},{400,-5958,3},{408,-5965,3},{415,-5963,3}, {417,-5970,3},{422,-5973,3},{423,-5973,3},{427,-5972,3},{430,-5973,3},{435,-5968,3}, {438,-5967,3},{440,-5970,3},{447,-5980,3},{445,-5982,3},{447,-5985,3},{448,-5985,3}, {448,-5987,3},{447,-5990,3},{450,-5993,3},{452,-5997,3},{450,-5997,3},{450,-6005,3}, {452,-6007,3},{453,-6008,3},{452,-6010,3},{450,-6010,3},{452,-6015,3},{457,-6015,3}, {458,-6013,3},{460,-6012,3},{460,-6008,3},{467,-6007,3},{470,-6003,3},{480,-6002,3}, {483,-6000,3},{490,-6000,3},{505,-5997,3},{510,-5997,3},{513,-6005,3},{517,-6008,3}, {520,-6010,3},{525,-6012,3},{523,-6017,3},{527,-6018,3},{527,-6020,3},{525,-6025,3}, {520,-6030,3},{520,-6037,3},{522,-6040,3},{518,-6045,3},{520,-6045,3},{520,-6050,3}, {518,-6055,3},{522,-6060,3},{522,-6068,3},{520,-6073,3},{122,-6687,131}, {128,-6690,3},{133,-6688,3},{135,-6688,3},{143,-6693,3},{148,-6693,3},{158,-6698,3}, {170,-6698,3},{193,-6708,3},{198,-6713,3},{203,-6712,3},{210,-6712,3},{212,-6712,3}, {213,-6717,3},{223,-6722,3},{228,-6722,3},{233,-6717,3},{240,-6720,3},{247,-6732,3}, {252,-6733,3},{263,-6748,3},{268,-6750,3},{268,-6757,3},{278,-6760,3},{280,-6763,3}, {280,-6770,3},{283,-6775,3},{282,-6783,3},{278,-6785,3},{280,-6785,3},{287,-6785,3}, {325,-6743,3},{327,-6738,3},{330,-6737,3},{332,-6733,3},{340,-6728,3},{345,-6730,3}, {350,-6738,3},{365,-6743,3},{372,-6748,3},{373,-6750,3},{373,-6758,3},{377,-6762,3}, {380,-6763,3},{383,-6763,3},{393,-6768,3},{402,-6768,3},{413,-6775,3},{417,-6778,3}, {423,-6780,3},{430,-6780,3},{435,-6778,3},{440,-6780,3},{443,-6778,3},{445,-6782,3}, {448,-6782,3},{452,-6787,3},{455,-6788,3},{455,-6787,3},{467,-6785,3},{473,-6782,3}, {483,-6782,3},{488,-6783,3},{493,-6782,3},{497,-6780,3},{503,-6780,3},{505,-6778,3}, {512,-6783,3},{522,-6782,3},{530,-6785,3},{538,-6780,3},{548,-6765,3},{552,-6763,3}, {553,-6762,3},{558,-6763,3},{568,-6765,3},{578,-6762,3},{588,-6753,3},{600,-6742,3}, {603,-6743,3},{608,-6748,3},{612,-6748,3},{615,-6748,3},{620,-6745,3},{620,-6748,3}, {627,-6757,3},{628,-6763,3},{632,-6782,3},{627,-6790,3},{623,-6792,3},{622,-6797,3}, {620,-6803,3},{622,-6815,3},{618,-6825,3},{617,-6832,3},{618,-6845,3},{617,-6853,3}, {617,-6858,3},{613,-6863,3},{618,-6883,3},{618,-6888,3},{622,-6905,3},{620,-6910,3}, {610,-6918,3},{608,-6925,3},{612,-6930,3},{615,-6932,3},{612,-6943,3},{698,-7012,3}, {697,-7022,3},{695,-7027,3},{695,-7032,3},{702,-7043,3},{702,-7052,3},{705,-7055,3}, {708,-7057,3},{707,-7062,3},{708,-7068,3},{710,-7070,3},{710,-7075,3},{710,-7077,3}, {708,-7078,3},{708,-7088,3},{707,-7090,3},{705,-7090,3},{702,-7095,3},{700,-7100,3}, {698,-7103,3},{700,-7113,3},{697,-7118,3},{698,-7120,3},{698,-7127,3},{702,-7127,3}, {703,-7128,3},{702,-7133,3},{703,-7140,3},{702,-7145,3},{703,-7147,3},{703,-7148,3}, {703,-7150,3},{702,-7153,3},{705,-7155,3},{703,-7158,3},{705,-7160,3},{707,-7165,3}, {705,-7167,3},{703,-7167,3},{705,-7170,3},{703,-7177,3},{700,-7177,3},{702,-7180,3}, {698,-7182,3},{698,-7187,3},{702,-7193,3},{702,-7200,3},{705,-7203,3},{707,-7207,3}, {718,-7213,3},{727,-7217,3},{733,-7215,3},{737,-7218,3},{738,-7218,3},{740,-7222,3}, {738,-7227,3},{740,-7240,3},{748,-7247,3},{752,-7247,3},{757,-7245,3},{765,-7247,3}, {775,-7247,3},{783,-7245,3},{790,-7245,3},{795,-7248,3},{798,-7243,3},{803,-7240,3}, {805,-7233,3},{810,-7233,3},{825,-7238,3},{832,-7237,3},{837,-7238,3},{840,-7243,3}, {863,-7267,3},{907,-7278,3},{908,-7280,3},{912,-7277,3},{915,-7282,3},{913,-7288,3}, {912,-7288,3},{910,-7295,3},{915,-7297,3},{920,-7295,3},{923,-7298,3},{927,-7298,3}, {930,-7300,3},{918,-7320,3},{917,-7337,3},{918,-7338,3},{922,-7337,3},{923,-7333,3}, {928,-7330,3},{935,-7328,3},{940,-7325,3},{943,-7322,3},{953,-7317,3},{958,-7310,3}, {967,-7307,3},{973,-7302,3},{978,-7300,3},{983,-7297,3},{992,-7298,3},{995,-7297,3}, {1000,-7298,3},{1012,-7293,3},{1022,-7292,3},{1045,-7290,3},{1050,-7285,3}, {1055,-7283,3},{1065,-7277,3},{1087,-7267,3},{1090,-7262,3},{1095,-7257,3}, {1103,-7253,3},{1108,-7250,3},{1112,-7250,3},{1115,-7238,3},{1117,-7232,3}, {1115,-7227,3},{1167,-7198,3},{1170,-7177,3},{1175,-7167,3},{1182,-7140,3}, {1185,-7137,3},{1185,-7132,3},{1182,-7133,3},{1178,-7133,3},{1177,-7137,3}, {1175,-7138,3},{1175,-7142,3},{1172,-7148,3},{1167,-7172,3},{1160,-7195,3}, {1158,-7197,3},{1155,-7197,3},{1140,-7195,3},{1120,-7185,3},{1108,-7175,3}, {1105,-7167,3},{1102,-7162,3},{1100,-7163,3},{1098,-7167,3},{1102,-7168,3}, {1103,-7173,3},{1102,-7177,3},{1097,-7172,3},{1090,-7172,3},{1078,-7167,3}, {1072,-7158,3},{1067,-7158,3},{1063,-7160,3},{1058,-7160,3},{1052,-7163,3}, {1045,-7162,3},{1043,-7165,3},{1035,-7178,3},{1022,-7183,3},{1013,-7190,3}, {1012,-7195,3},{1008,-7198,3},{1000,-7202,3},{990,-7207,3},{982,-7213,3}, {973,-7208,3},{962,-7198,3},{957,-7197,3},{955,-7195,3},{953,-7195,3},{957,-7197,3}, {960,-7198,3},{958,-7198,3},{957,-7202,3},{957,-7198,3},{950,-7197,3},{948,-7198,3}, {952,-7202,3},{948,-7202,3},{947,-7198,3},{950,-7193,3},{947,-7192,3},{950,-7192,3}, {947,-7190,3},{945,-7185,3},{943,-7183,3},{943,-7190,3},{938,-7190,3},{942,-7188,3}, {942,-7182,3},{938,-7178,3},{937,-7175,3},{938,-7173,3},{937,-7173,3},{935,-7172,3}, {933,-7175,3},{932,-7173,3},{928,-7173,3},{928,-7177,3},{927,-7177,3},{925,-7180,3}, {922,-7182,3},{923,-7180,3},{923,-7177,3},{923,-7175,3},{922,-7175,3},{920,-7173,3}, {920,-7175,3},{917,-7173,3},{912,-7177,3},{910,-7172,3},{908,-7172,3},{907,-7170,3}, {905,-7163,3},{905,-7150,3},{912,-7130,3},{917,-7123,3},{922,-7122,3},{928,-7115,3}, {932,-7107,3},{935,-7105,3},{940,-7107,3},{948,-7107,3},{953,-7108,3},{960,-7107,3}, {970,-7105,3},{972,-7103,3},{982,-7108,3},{985,-7107,3},{990,-7110,3},{997,-7117,3}, {998,-7120,3},{1015,-7127,3},{1023,-7137,3},{1037,-7143,3},{1042,-7148,3}, {1047,-7145,3},{1050,-7147,3},{1053,-7152,3},{1057,-7155,3},{1060,-7153,3}, {1063,-7150,3},{1065,-7153,3},{1073,-7153,3},{1077,-7153,3},{1077,-7155,3}, {1080,-7158,3},{1080,-7143,3},{1088,-7145,3},{1092,-7142,3},{1092,-7145,3}, {1097,-7150,3},{1098,-7142,3},{1097,-7133,3},{1100,-7125,3},{1120,-7085,3}, {1123,-7070,3},{1125,-7052,3},{1128,-7048,3},{1127,-7052,3},{1130,-7050,3}, {1130,-7042,3},{1137,-7028,3},{1135,-7023,3},{1137,-7018,3},{1142,-7017,3}, {1142,-7015,3},{1143,-7013,3},{1147,-7013,3},{1147,-7017,3},{1148,-7015,3}, {1147,-7012,3},{1143,-7010,3},{1145,-7007,3},{1143,-7003,3},{1147,-7003,3}, {1148,-7005,3},{1148,-7002,3},{1148,-7003,3},{1152,-7005,3},{1152,-7012,3}, {1153,-7012,3},{1153,-7010,3},{1157,-7013,3},{1152,-7003,3},{1152,-6998,3}, {1148,-6997,3},{1143,-6988,3},{1143,-6980,3},{1150,-6973,3},{1168,-6982,3}, {1167,-6983,3},{1168,-6987,3},{1167,-6988,3},{1165,-6993,3},{1165,-6995,3}, {1167,-6995,3},{1160,-7017,3},{1160,-7022,3},{1163,-7023,3},{1168,-7022,3}, {1175,-7023,3},{1173,-7020,3},{1177,-7020,3},{1178,-7023,3},{1177,-7023,3}, {1185,-7028,3},{1185,-7030,3},{1198,-7025,3},{1207,-7020,3},{1212,-7020,3}, {1212,-7015,3},{1217,-7008,3},{1220,-7002,3},{1218,-6998,3},{1217,-6993,3}, {1207,-6987,3},{1198,-6982,3},{1193,-6982,3},{1185,-6982,3},{1167,-6975,3}, {1155,-6972,3},{1147,-6963,3},{1145,-6958,3},{1148,-6955,3},{1150,-6952,3}, {1148,-6937,3},{1153,-6928,3},{1148,-6912,3},{1145,-6905,3},{1145,-6885,3}, {1137,-6873,3},{1135,-6867,3},{1130,-6862,3},{1125,-6852,3},{1120,-6848,3}, {1118,-6842,3},{1120,-6840,3},{1118,-6838,3},{1115,-6840,3},{1112,-6838,3}, {1105,-6833,3},{1092,-6827,3},{1090,-6828,3},{1093,-6830,3},{1093,-6833,3}, {1093,-6837,3},{1092,-6837,3},{1092,-6832,3},{1088,-6823,3},{1087,-6825,3}, {1085,-6830,3},{1083,-6833,3},{1077,-6833,3},{1068,-6830,3},{1058,-6825,3}, {1050,-6817,3},{1048,-6812,3},{1048,-6800,3},{1045,-6793,3},{1047,-6787,3}, {1045,-6787,3},{1048,-6783,3},{1050,-6780,3},{1050,-6767,3},{1052,-6758,3}, {1053,-6755,3},{1055,-6718,3},{1062,-6702,3},{1060,-6693,3},{1062,-6685,3}, {1063,-6647,3},{1060,-6635,3},{1065,-6630,3},{1065,-6623,3},{1058,-6610,3}, {1058,-6605,3},{1055,-6607,3},{1053,-6612,3},{1050,-6612,3},{1043,-6607,3}, {1032,-6588,3},{1032,-6593,3},{1028,-6593,3},{1028,-6588,3},{1025,-6587,3}, {1023,-6582,3},{1022,-6572,3},{1028,-6587,3},{1030,-6587,3},{1018,-6558,3}, {1013,-6542,3},{1010,-6520,3},{1005,-6508,3},{1008,-6517,3},{1007,-6517,3}, {1003,-6508,3},{1010,-6495,3},{1008,-6483,3},{1010,-6473,3},{1020,-6470,3}, {1022,-6472,3},{1020,-6468,3},{1018,-6470,3},{1018,-6467,3},{1018,-6465,3}, {1020,-6467,3},{1023,-6463,3},{1027,-6458,3},{1023,-6458,3},{1025,-6455,3}, {1023,-6455,3},{1025,-6453,3},{1023,-6448,3},{1027,-6445,3},{1028,-6440,3}, {1030,-6437,3},{1032,-6438,3},{1032,-6445,3},{1033,-6447,3},{1032,-6442,3}, {1033,-6438,3},{1037,-6438,3},{1037,-6440,3},{1038,-6437,3},{1037,-6437,3}, {1033,-6437,3},{1033,-6435,3},{1038,-6433,3},{1042,-6423,3},{1047,-6420,3}, {1048,-6412,3},{1043,-6405,3},{1045,-6393,3},{1043,-6388,3},{1043,-6382,3}, {1048,-6367,3},{1050,-6365,3},{1048,-6370,3},{1050,-6373,3},{1055,-6385,3}, {1057,-6403,3},{1058,-6403,3},{1057,-6410,3},{1057,-6417,3},{1052,-6423,3}, {1062,-6430,3},{1067,-6427,3},{1063,-6423,3},{1063,-6418,3},{1062,-6413,3}, {1065,-6405,3},{1063,-6403,3},{1063,-6392,3},{1065,-6385,3},{1072,-6382,3}, {1067,-6377,3},{1063,-6353,3},{1063,-6350,3},{1065,-6350,3},{1067,-6347,3}, {1065,-6345,3},{1067,-6343,3},{1067,-6340,3},{1070,-6338,3},{1068,-6335,3}, {1068,-6332,3},{1067,-6328,3},{1068,-6325,3},{1072,-6317,3},{1073,-6317,3}, {1070,-6313,3},{1072,-6300,3},{1070,-6290,3},{1073,-6275,3},{1077,-6270,3}, {1075,-6268,3},{1070,-6222,3},{1068,-6217,3},{1072,-6210,3},{1070,-6208,3}, {1072,-6203,3},{1072,-6200,3},{1073,-6198,3},{1072,-6197,3},{1073,-6195,3}, {1072,-6193,3},{1075,-6185,3},{1073,-6185,3},{1072,-6188,3},{1068,-6188,3}, {1068,-6190,3},{1067,-6192,3},{1065,-6195,3},{1065,-6202,3},{1063,-6203,3}, {1065,-6207,3},{1063,-6208,3},{1063,-6225,3},{1053,-6233,3},{1053,-6252,3}, {1057,-6267,3},{1053,-6292,3},{1045,-6300,3},{1048,-6293,3},{1052,-6292,3}, {1052,-6285,3},{1050,-6283,3},{1040,-6283,3},{1038,-6287,3},{1042,-6293,3}, {1040,-6300,3},{1040,-6298,3},{1035,-6295,3},{1032,-6300,3},{1030,-6297,3}, {1027,-6300,3},{1028,-6293,3},{1030,-6293,3},{1033,-6295,3},{1040,-6295,3}, {1040,-6293,3},{1037,-6288,3},{1040,-6278,3},{1037,-6273,3},{1035,-6273,3}, {1028,-6267,3},{1020,-6267,3},{1012,-6262,3},{1008,-6265,3},{1007,-6272,3}, {1008,-6277,3},{1003,-6282,3},{1008,-6285,3},{1007,-6288,3},{1010,-6290,3}, {1010,-6292,3},{1008,-6293,3},{1010,-6297,3},{1008,-6298,3},{1010,-6302,3}, {1007,-6298,3},{1008,-6295,3},{1000,-6293,3},{1000,-6292,3},{1005,-6293,3}, {1008,-6292,3},{1005,-6292,3},{1005,-6285,3},{1003,-6283,3},{1003,-6280,3}, {1000,-6282,3},{998,-6280,3},{1002,-6278,3},{1005,-6278,3},{1007,-6277,3}, {1005,-6273,3},{1005,-6270,3},{1008,-6262,3},{1013,-6260,3},{1020,-6262,3}, {1022,-6262,3},{1023,-6258,3},{1017,-6250,3},{1007,-6247,3},{997,-6242,3}, {993,-6245,3},{993,-6242,3},{987,-6237,3},{977,-6232,3},{973,-6233,3},{970,-6232,3}, {975,-6228,3},{985,-6223,3},{992,-6225,3},{997,-6225,3},{992,-6222,3},{985,-6218,3}, {977,-6218,3},{972,-6217,3},{963,-6222,3},{965,-6218,3},{970,-6215,3},{987,-6217,3}, {992,-6218,3},{993,-6218,3},{992,-6212,3},{988,-6210,3},{987,-6202,3},{988,-6205,3}, {990,-6208,3},{993,-6212,3},{993,-6220,3},{995,-6223,3},{1000,-6222,3}, {1002,-6217,3},{998,-6208,3},{995,-6202,3},{980,-6183,3},{973,-6182,3}, {965,-6183,3},{972,-6180,3},{975,-6180,3},{975,-6177,3},{970,-6175,3},{960,-6173,3}, {970,-6173,3},{977,-6177,3},{977,-6180,3},{983,-6182,3},{983,-6177,3},{978,-6160,3}, {980,-6157,3},{985,-6162,3},{987,-6162,3},{988,-6165,3},{990,-6162,3},{982,-6148,3}, {978,-6145,3},{972,-6142,3},{968,-6138,3},{967,-6135,3},{963,-6133,3},{958,-6122,3}, {958,-6120,3},{960,-6120,3},{958,-6115,3},{958,-6105,3},{953,-6095,3},{952,-6095,3}, {953,-6097,3},{948,-6097,3},{948,-6090,3},{943,-6085,3},{938,-6080,3},{930,-6078,3}, {930,-6080,3},{932,-6082,3},{927,-6082,3},{923,-6092,3},{918,-6098,3},{910,-6108,3}, {905,-6112,3},{903,-6110,3},{908,-6107,3},{917,-6098,3},{917,-6095,3},{912,-6098,3}, {905,-6100,3},{900,-6108,3},{897,-6110,3},{888,-6112,3},{883,-6112,3},{873,-6118,3}, {862,-6120,3},{860,-6122,3},{858,-6127,3},{862,-6138,3},{858,-6153,3},{863,-6160,3}, {863,-6165,3},{858,-6167,3},{857,-6162,3},{853,-6150,3},{850,-6148,3},{848,-6143,3}, {848,-6135,3},{843,-6133,3},{840,-6128,3},{850,-6117,3},{850,-6103,3},{847,-6103,3}, {845,-6108,3},{842,-6108,3},{840,-6107,3},{845,-6107,3},{847,-6102,3},{853,-6098,3}, {857,-6098,3},{858,-6077,3},{860,-6072,3},{860,-6068,3},{855,-6063,3},{855,-6053,3}, {853,-6047,3},{855,-6045,3},{858,-6042,3},{863,-6040,3},{863,-6037,3},{862,-6020,3}, {853,-5998,3},{832,-5982,3},{827,-5980,3},{823,-5983,3},{822,-5995,3},{817,-5998,3}, {813,-5998,3},{803,-6002,3},{803,-6010,3},{802,-6013,3},{798,-6015,3},{797,-6023,3}, {793,-6025,3},{787,-6033,3},{783,-6035,3},{782,-6052,3},{773,-6058,3},{770,-6057,3}, {763,-6058,3},{763,-6062,3},{757,-6065,3},{757,-6070,3},{753,-6072,3},{745,-6068,3}, {743,-6065,3},{740,-6065,3},{738,-6062,3},{733,-6058,3},{732,-6058,3},{725,-6063,3}, {720,-6062,3},{712,-6053,3},{718,-6050,3},{720,-6045,3},{717,-6040,3},{718,-6037,3}, {712,-6028,3},{705,-6028,3},{700,-6035,3},{693,-6037,3},{695,-6040,3},{693,-6043,3}, {685,-6053,3},{683,-6063,3},{677,-6070,3},{678,-6078,3},{678,-6085,3},{682,-6090,3}, {680,-6092,3},{677,-6090,3},{672,-6093,3},{673,-6100,3},{672,-6102,3},{673,-6107,3}, {672,-6107,3},{672,-6113,3},{667,-6117,3},{663,-6117,3},{657,-6120,3},{655,-6118,3}, {653,-6120,3},{652,-6117,3},{643,-6113,3},{633,-6115,3},{630,-6113,3},{627,-6110,3}, {623,-6112,3},{618,-6112,3},{618,-6117,3},{613,-6120,3},{612,-6127,3},{598,-6133,3}, {595,-6138,3},{520,-6073,3},{518,-6065,3},{498,-6058,3},{495,-6058,3},{483,-6065,3}, {477,-6073,3},{472,-6083,3},{472,-6088,3},{465,-6092,3},{458,-6093,3},{452,-6098,3}, {450,-6115,3},{452,-6122,3},{453,-6130,3},{452,-6132,3},{447,-6128,3},{445,-6128,3}, {442,-6135,3},{443,-6143,3},{440,-6150,3},{437,-6152,3},{432,-6152,3},{427,-6152,3}, {425,-6155,3},{425,-6158,3},{423,-6162,3},{425,-6165,3},{427,-6170,3},{425,-6175,3}, {418,-6182,3},{417,-6185,3},{415,-6192,3},{417,-6200,3},{415,-6205,3},{410,-6210,3}, {410,-6215,3},{418,-6238,3},{418,-6243,3},{418,-6245,3},{415,-6245,3},{412,-6253,3}, {407,-6253,3},{403,-6255,3},{403,-6257,3},{405,-6267,3},{403,-6275,3},{402,-6277,3}, {397,-6275,3},{390,-6278,3},{378,-6273,3},{368,-6273,3},{360,-6277,3},{360,-6282,3}, {357,-6285,3},{357,-6288,3},{357,-6292,3},{360,-6298,3},{377,-6313,3},{383,-6322,3}, {390,-6325,3},{397,-6335,3},{397,-6342,3},{388,-6345,3},{387,-6347,3},{385,-6350,3}, {387,-6353,3},{395,-6360,3},{395,-6365,3},{393,-6378,3},{397,-6383,3},{393,-6392,3}, {390,-6395,3},{388,-6402,3},{390,-6405,3},{403,-6408,3},{412,-6413,3},{415,-6425,3}, {415,-6437,3},{412,-6458,3},{413,-6460,3},{425,-6465,3},{428,-6472,3},{428,-6480,3}, {420,-6480,3},{415,-6472,3},{400,-6465,3},{392,-6457,3},{387,-6453,3},{378,-6445,3}, {373,-6432,3},{360,-6418,3},{352,-6418,3},{347,-6422,3},{343,-6423,3},{325,-6420,3}, {312,-6422,3},{307,-6417,3},{300,-6413,3},{292,-6408,3},{287,-6405,3},{280,-6402,3}, {275,-6400,3},{272,-6398,3},{262,-6400,3},{252,-6405,3},{247,-6403,3},{247,-6397,3}, {242,-6382,3},{245,-6367,3},{242,-6337,3},{240,-6335,3},{237,-6337,3},{227,-6335,3}, {220,-6340,3},{215,-6340,3},{213,-6353,3},{210,-6360,3},{207,-6363,3},{197,-6378,3}, {198,-6393,3},{195,-6400,3},{188,-6405,3},{180,-6405,3},{175,-6407,3},{168,-6407,3}, {158,-6412,3},{155,-6418,3},{150,-6422,3},{147,-6428,3},{137,-6435,3},{137,-6437,3}, {140,-6438,3},{143,-6438,3},{147,-6435,3},{150,-6435,3},{152,-6438,3},{143,-6453,3}, {133,-6458,3},{125,-6473,3},{125,-6477,3},{128,-6482,3},{122,-6488,3},{120,-6495,3}, {117,-6500,3},{113,-6502,3},{115,-6510,3},{113,-6513,3},{110,-6515,3},{97,-6517,3}, {93,-6518,3},{92,-6532,3},{83,-6538,3},{75,-6540,3},{70,-6543,3},{65,-6552,3}, {67,-6557,3},{73,-6558,3},{83,-6552,3},{90,-6552,3},{95,-6553,3},{98,-6558,3}, {98,-6573,3},{90,-6587,3},{80,-6597,3},{78,-6607,3},{75,-6610,3},{73,-6613,3}, {75,-6617,3},{77,-6620,3},{75,-6632,3},{122,-6687,3},{143,-7882,131},{148,-7887,3}, {155,-7885,3},{155,-7888,3},{158,-7893,3},{160,-7903,3},{163,-7905,3},{177,-7895,3}, {178,-7892,3},{182,-7888,3},{183,-7885,3},{182,-7875,3},{180,-7870,3},{182,-7863,3}, {177,-7862,3},{177,-7858,3},{192,-7855,3},{195,-7860,3},{198,-7858,3},{200,-7858,3}, {202,-7860,3},{203,-7862,3},{200,-7863,3},{200,-7867,3},{207,-7865,3},{208,-7867,3}, {213,-7867,3},{215,-7865,3},{213,-7867,3},{215,-7868,3},{217,-7867,3},{217,-7868,3}, {220,-7868,3},{225,-7863,3},{227,-7865,3},{228,-7865,3},{235,-7862,3},{235,-7860,3}, {245,-7857,3},{238,-7855,3},{243,-7853,3},{243,-7847,3},{250,-7845,3},{250,-7842,3}, {243,-7835,3},{255,-7825,3},{255,-7823,3},{252,-7822,3},{253,-7822,3},{253,-7820,3}, {252,-7818,3},{248,-7812,3},{252,-7808,3},{255,-7808,3},{255,-7805,3},{253,-7802,3}, {252,-7798,3},{257,-7795,3},{258,-7797,3},{260,-7797,3},{262,-7793,3},{265,-7795,3}, {265,-7793,3},{263,-7792,3},{263,-7788,3},{260,-7790,3},{258,-7790,3},{255,-7785,3}, {257,-7780,3},{260,-7775,3},{267,-7778,3},{267,-7780,3},{268,-7777,3},{268,-7780,3}, {273,-7780,3},{277,-7782,3},{275,-7778,3},{277,-7777,3},{278,-7773,3},{278,-7778,3}, {280,-7778,3},{282,-7775,3},{280,-7772,3},{278,-7768,3},{282,-7770,3},{282,-7773,3}, {285,-7772,3},{283,-7768,3},{287,-7765,3},{285,-7763,3},{287,-7763,3},{288,-7767,3}, {287,-7768,3},{287,-7770,3},{288,-7772,3},{292,-7770,3},{293,-7768,3},{288,-7765,3}, {293,-7762,3},{295,-7763,3},{297,-7763,3},{298,-7762,3},{300,-7765,3},{298,-7767,3}, {298,-7768,3},{300,-7768,3},{297,-7772,3},{305,-7770,3},{303,-7765,3},{305,-7755,3}, {313,-7752,3},{317,-7753,3},{318,-7752,3},{322,-7750,3},{322,-7747,3},{325,-7747,3}, {325,-7742,3},{330,-7740,3},{332,-7742,3},{333,-7747,3},{337,-7745,3},{335,-7742,3}, {338,-7738,3},{333,-7735,3},{332,-7732,3},{333,-7732,3},{335,-7735,3},{340,-7737,3}, {342,-7735,3},{340,-7733,3},{345,-7735,3},{347,-7733,3},{352,-7732,3},{348,-7732,3}, {348,-7728,3},{348,-7727,3},{350,-7728,3},{350,-7727,3},{352,-7730,3},{353,-7727,3}, {353,-7732,3},{355,-7732,3},{355,-7728,3},{355,-7730,3},{357,-7728,3},{357,-7722,3}, {358,-7723,3},{362,-7720,3},{365,-7718,3},{365,-7717,3},{367,-7715,3},{367,-7712,3}, {367,-7717,3},{370,-7717,3},{370,-7713,3},{372,-7713,3},{372,-7717,3},{370,-7718,3}, {375,-7720,3},{373,-7717,3},{373,-7713,3},{373,-7715,3},{375,-7717,3},{377,-7712,3}, {380,-7715,3},{382,-7713,3},{380,-7710,3},{382,-7710,3},{383,-7712,3},{385,-7707,3}, {392,-7703,3},{390,-7708,3},{392,-7708,3},{392,-7712,3},{390,-7712,3},{388,-7713,3}, {385,-7718,3},{383,-7725,3},{387,-7728,3},{388,-7727,3},{390,-7732,3},{395,-7730,3}, {397,-7730,3},{398,-7727,3},{397,-7727,3},{397,-7722,3},{398,-7723,3},{403,-7720,3}, {407,-7718,3},{407,-7723,3},{410,-7727,3},{407,-7727,3},{405,-7732,3},{398,-7732,3}, {393,-7735,3},{392,-7737,3},{395,-7738,3},{397,-7737,3},{398,-7742,3},{402,-7743,3}, {403,-7743,3},{405,-7742,3},{407,-7743,3},{413,-7743,3},{418,-7743,3},{418,-7738,3}, {422,-7733,3},{420,-7732,3},{420,-7730,3},{425,-7723,3},{427,-7727,3},{427,-7733,3}, {433,-7738,3},{440,-7735,3},{445,-7735,3},{447,-7732,3},{447,-7733,3},{455,-7732,3}, {467,-7732,3},{465,-7730,3},{467,-7728,3},{472,-7732,3},{475,-7732,3},{472,-7725,3}, {480,-7732,3},{482,-7732,3},{482,-7733,3},{487,-7735,3},{508,-7737,3},{517,-7737,3}, {523,-7735,3},{525,-7737,3},{530,-7737,3},{537,-7738,3},{537,-7740,3},{538,-7740,3}, {540,-7740,3},{540,-7738,3},{543,-7740,3},{545,-7740,3},{547,-7743,3},{550,-7747,3}, {550,-7748,3},{548,-7752,3},{548,-7755,3},{550,-7755,3},{552,-7753,3},{558,-7750,3}, {560,-7745,3},{562,-7743,3},{562,-7740,3},{560,-7737,3},{562,-7733,3},{565,-7732,3}, {565,-7730,3},{568,-7727,3},{573,-7725,3},{578,-7725,3},{590,-7730,3},{602,-7735,3}, {600,-7737,3},{605,-7738,3},{618,-7748,3},{623,-7748,3},{630,-7748,3},{625,-7742,3}, {623,-7742,3},{625,-7740,3},{635,-7737,3},{638,-7740,3},{638,-7735,3},{642,-7735,3}, {643,-7738,3},{647,-7735,3},{657,-7733,3},{663,-7742,3},{668,-7740,3},{672,-7747,3}, {670,-7750,3},{667,-7752,3},{667,-7753,3},{672,-7753,3},{682,-7758,3},{688,-7768,3}, {685,-7768,3},{688,-7770,3},{693,-7770,3},{697,-7765,3},{705,-7768,3},{707,-7770,3}, {705,-7770,3},{715,-7778,3},{715,-7782,3},{723,-7788,3},{748,-7782,3},{748,-7775,3}, {752,-7772,3},{755,-7772,3},{763,-7777,3},{772,-7775,3},{768,-7767,3},{765,-7767,3}, {758,-7762,3},{753,-7760,3},{753,-7757,3},{760,-7750,3},{762,-7743,3},{767,-7738,3}, {770,-7733,3},{773,-7733,3},{778,-7737,3},{785,-7733,3},{790,-7730,3},{793,-7722,3}, {795,-7715,3},{798,-7718,3},{810,-7722,3},{820,-7727,3},{822,-7730,3},{827,-7730,3}, {827,-7735,3},{828,-7737,3},{840,-7737,3},{845,-7740,3},{847,-7742,3},{847,-7747,3}, {848,-7748,3},{853,-7747,3},{860,-7742,3},{863,-7743,3},{865,-7737,3},{867,-7737,3}, {867,-7735,3},{863,-7735,3},{858,-7730,3},{852,-7728,3},{847,-7725,3},{842,-7713,3}, {837,-7712,3},{827,-7703,3},{825,-7698,3},{827,-7695,3},{823,-7695,3},{823,-7697,3}, {820,-7697,3},{818,-7695,3},{820,-7695,3},{818,-7693,3},{818,-7692,3},{817,-7693,3}, {817,-7695,3},{813,-7695,3},{810,-7690,3},{812,-7688,3},{813,-7690,3},{813,-7683,3}, {810,-7685,3},{810,-7683,3},{808,-7685,3},{805,-7683,3},{805,-7687,3},{803,-7683,3}, {803,-7692,3},{798,-7693,3},{793,-7692,3},{792,-7687,3},{790,-7682,3},{792,-7675,3}, {797,-7675,3},{798,-7673,3},{808,-7673,3},{810,-7675,3},{808,-7675,3},{818,-7675,3}, {828,-7678,3},{833,-7677,3},{840,-7677,3},{843,-7680,3},{848,-7682,3},{855,-7693,3}, {853,-7693,3},{855,-7695,3},{862,-7688,3},{868,-7667,3},{875,-7665,3},{878,-7653,3}, {883,-7650,3},{887,-7643,3},{890,-7643,3},{893,-7632,3},{900,-7627,3},{905,-7627,3}, {907,-7625,3},{912,-7620,3},{923,-7617,3},{927,-7612,3},{930,-7612,3},{933,-7608,3}, {937,-7602,3},{943,-7593,3},{942,-7592,3},{943,-7580,3},{942,-7580,3},{942,-7583,3}, {940,-7585,3},{940,-7582,3},{938,-7580,3},{942,-7577,3},{942,-7575,3},{942,-7568,3}, {945,-7563,3},{958,-7558,3},{967,-7560,3},{970,-7563,3},{970,-7572,3},{975,-7567,3}, {980,-7563,3},{988,-7563,3},{995,-7560,3},{1003,-7558,3},{1013,-7558,3}, {1013,-7557,3},{1018,-7553,3},{1023,-7553,3},{1025,-7555,3},{1015,-7567,3}, {1013,-7570,3},{1015,-7572,3},{1022,-7563,3},{1025,-7562,3},{1027,-7560,3}, {1030,-7560,3},{1028,-7558,3},{1030,-7552,3},{1038,-7552,3},{1038,-7553,3}, {1042,-7555,3},{1040,-7557,3},{1043,-7557,3},{1048,-7550,3},{1043,-7552,3}, {1043,-7548,3},{1050,-7548,3},{1050,-7552,3},{1053,-7550,3},{1057,-7553,3}, {1060,-7545,3},{1063,-7545,3},{1063,-7542,3},{1068,-7540,3},{1072,-7528,3}, {1073,-7528,3},{1073,-7525,3},{1072,-7527,3},{1070,-7525,3},{1072,-7523,3}, {1075,-7523,3},{1077,-7523,3},{1075,-7525,3},{1075,-7527,3},{1080,-7527,3}, {1080,-7523,3},{1087,-7513,3},{1090,-7503,3},{1097,-7502,3},{1108,-7490,3}, {1110,-7487,3},{1113,-7487,3},{1110,-7483,3},{1108,-7475,3},{1100,-7452,3}, {1098,-7447,3},{1098,-7438,3},{1100,-7428,3},{1097,-7433,3},{1097,-7450,3}, {1090,-7452,3},{1088,-7448,3},{1085,-7448,3},{1088,-7452,3},{1087,-7453,3}, {1088,-7458,3},{1088,-7460,3},{1083,-7460,3},{1078,-7460,3},{1078,-7458,3}, {1083,-7457,3},{1080,-7455,3},{1075,-7453,3},{1075,-7450,3},{1078,-7450,3}, {1077,-7452,3},{1080,-7452,3},{1083,-7450,3},{1082,-7447,3},{1075,-7445,3}, {1075,-7438,3},{1083,-7433,3},{1085,-7433,3},{1093,-7428,3},{1097,-7428,3}, {1108,-7422,3},{1112,-7423,3},{1123,-7423,3},{1128,-7420,3},{1132,-7418,3}, {1132,-7415,3},{1135,-7415,3},{1132,-7413,3},{1135,-7410,3},{1133,-7408,3}, {1135,-7407,3},{1133,-7405,3},{1135,-7405,3},{1135,-7402,3},{1130,-7388,3}, {1127,-7380,3},{1127,-7377,3},{1127,-7367,3},{1127,-7338,3},{1130,-7328,3}, {1135,-7322,3},{1138,-7320,3},{1142,-7315,3},{1145,-7310,3},{1152,-7302,3}, {1157,-7290,3},{1163,-7283,3},{1170,-7277,3},{1173,-7263,3},{1175,-7260,3}, {1175,-7257,3},{1178,-7252,3},{1178,-7247,3},{1180,-7242,3},{1183,-7238,3}, {1188,-7225,3},{1192,-7223,3},{1210,-7213,3},{1220,-7215,3},{1222,-7217,3}, {1223,-7217,3},{1225,-7213,3},{1225,-7208,3},{1227,-7197,3},{1225,-7197,3}, {1218,-7202,3},{1218,-7200,3},{1215,-7200,3},{1215,-7195,3},{1217,-7193,3}, {1218,-7192,3},{1220,-7187,3},{1228,-7188,3},{1228,-7193,3},{1227,-7195,3}, {1228,-7197,3},{1237,-7187,3},{1237,-7182,3},{1235,-7183,3},{1232,-7182,3}, {1233,-7180,3},{1235,-7175,3},{1238,-7173,3},{1238,-7175,3},{1242,-7173,3}, {1240,-7172,3},{1238,-7172,3},{1237,-7170,3},{1237,-7168,3},{1240,-7170,3}, {1242,-7163,3},{1242,-7168,3},{1243,-7165,3},{1243,-7170,3},{1245,-7168,3}, {1242,-7173,3},{1245,-7172,3},{1247,-7165,3},{1243,-7158,3},{1245,-7157,3}, {1243,-7148,3},{1238,-7143,3},{1238,-7138,3},{1233,-7125,3},{1230,-7122,3}, {1227,-7122,3},{1210,-7112,3},{1202,-7112,3},{1198,-7117,3},{1192,-7130,3}, {1185,-7132,3},{1185,-7137,3},{1182,-7140,3},{1175,-7167,3},{1170,-7177,3}, {1167,-7198,3},{1115,-7227,3},{1117,-7232,3},{1115,-7238,3},{1112,-7250,3}, {1108,-7250,3},{1103,-7253,3},{1095,-7257,3},{1090,-7262,3},{1087,-7267,3}, {1065,-7277,3},{1055,-7283,3},{1050,-7285,3},{1045,-7290,3},{1022,-7292,3}, {1012,-7293,3},{1000,-7298,3},{995,-7297,3},{992,-7298,3},{983,-7297,3}, {978,-7300,3},{973,-7302,3},{967,-7307,3},{958,-7310,3},{953,-7317,3},{943,-7322,3}, {940,-7325,3},{935,-7328,3},{928,-7330,3},{923,-7333,3},{922,-7337,3},{918,-7338,3}, {917,-7337,3},{918,-7320,3},{930,-7300,3},{927,-7298,3},{923,-7298,3},{920,-7295,3}, {915,-7297,3},{910,-7295,3},{912,-7288,3},{913,-7288,3},{915,-7282,3},{912,-7277,3}, {908,-7280,3},{907,-7278,3},{863,-7267,3},{840,-7243,3},{837,-7238,3},{832,-7237,3}, {825,-7238,3},{810,-7233,3},{805,-7233,3},{803,-7240,3},{798,-7243,3},{795,-7248,3}, {790,-7245,3},{783,-7245,3},{775,-7247,3},{765,-7247,3},{757,-7245,3},{752,-7247,3}, {748,-7247,3},{740,-7240,3},{738,-7227,3},{740,-7222,3},{738,-7218,3},{737,-7218,3}, {733,-7215,3},{727,-7217,3},{718,-7213,3},{707,-7207,3},{705,-7203,3},{702,-7200,3}, {702,-7193,3},{698,-7187,3},{698,-7182,3},{702,-7180,3},{700,-7177,3},{703,-7177,3}, {705,-7170,3},{703,-7167,3},{705,-7167,3},{707,-7165,3},{705,-7160,3},{703,-7158,3}, {705,-7155,3},{702,-7153,3},{703,-7150,3},{703,-7148,3},{703,-7147,3},{702,-7145,3}, {703,-7140,3},{702,-7133,3},{703,-7128,3},{702,-7127,3},{698,-7127,3},{698,-7120,3}, {697,-7118,3},{700,-7113,3},{698,-7103,3},{700,-7100,3},{702,-7095,3},{705,-7090,3}, {707,-7090,3},{708,-7088,3},{708,-7078,3},{710,-7077,3},{710,-7075,3},{710,-7070,3}, {708,-7068,3},{707,-7062,3},{708,-7057,3},{705,-7055,3},{702,-7052,3},{702,-7043,3}, {695,-7032,3},{695,-7027,3},{697,-7022,3},{698,-7012,3},{612,-6943,3},{615,-6932,3}, {612,-6930,3},{608,-6925,3},{610,-6918,3},{620,-6910,3},{622,-6905,3},{618,-6888,3}, {618,-6883,3},{613,-6863,3},{617,-6858,3},{617,-6853,3},{618,-6845,3},{617,-6832,3}, {618,-6825,3},{622,-6815,3},{620,-6803,3},{622,-6797,3},{623,-6792,3},{627,-6790,3}, {632,-6782,3},{628,-6763,3},{627,-6757,3},{620,-6748,3},{620,-6745,3},{615,-6748,3}, {612,-6748,3},{608,-6748,3},{603,-6743,3},{600,-6742,3},{588,-6753,3},{578,-6762,3}, {568,-6765,3},{558,-6763,3},{553,-6762,3},{552,-6763,3},{548,-6765,3},{538,-6780,3}, {530,-6785,3},{522,-6782,3},{512,-6783,3},{505,-6778,3},{503,-6780,3},{497,-6780,3}, {493,-6782,3},{488,-6783,3},{483,-6782,3},{473,-6782,3},{467,-6785,3},{455,-6787,3}, {455,-6788,3},{452,-6787,3},{448,-6782,3},{445,-6782,3},{443,-6778,3},{440,-6780,3}, {435,-6778,3},{430,-6780,3},{423,-6780,3},{417,-6778,3},{413,-6775,3},{402,-6768,3}, {393,-6768,3},{383,-6763,3},{380,-6763,3},{377,-6762,3},{373,-6758,3},{373,-6750,3}, {372,-6748,3},{365,-6743,3},{350,-6738,3},{345,-6730,3},{340,-6728,3},{332,-6733,3}, {330,-6737,3},{327,-6738,3},{325,-6743,3},{287,-6785,3},{280,-6785,3},{278,-6785,3}, {282,-6783,3},{283,-6775,3},{280,-6770,3},{280,-6763,3},{278,-6760,3},{268,-6757,3}, {268,-6750,3},{263,-6748,3},{252,-6733,3},{247,-6732,3},{240,-6720,3},{233,-6717,3}, {228,-6722,3},{223,-6722,3},{213,-6717,3},{212,-6712,3},{210,-6712,3},{203,-6712,3}, {198,-6713,3},{193,-6708,3},{170,-6698,3},{158,-6698,3},{148,-6693,3},{143,-6693,3}, {135,-6688,3},{133,-6688,3},{128,-6690,3},{122,-6687,3},{117,-6708,3},{128,-6708,3}, {152,-6705,3},{162,-6707,3},{172,-6710,3},{182,-6717,3},{195,-6727,3},{212,-6733,3}, {215,-6742,3},{212,-6747,3},{210,-6752,3},{200,-6765,3},{192,-6768,3},{180,-6778,3}, {175,-6787,3},{175,-6792,3},{175,-6797,3},{177,-6800,3},{187,-6807,3},{193,-6808,3}, {197,-6812,3},{197,-6817,3},{202,-6818,3},{197,-6820,3},{192,-6823,3},{187,-6825,3}, {183,-6828,3},{182,-6827,3},{182,-6823,3},{178,-6823,3},{177,-6818,3},{173,-6818,3}, {172,-6815,3},{173,-6938,3},{175,-6940,3},{178,-6955,3},{173,-6963,3},{175,-6972,3}, {172,-6977,3},{170,-6980,3},{172,-6985,3},{107,-6985,3},{107,-6982,3},{110,-6977,3}, {108,-6972,3},{107,-6972,3},{108,-6960,3},{107,-6957,3},{107,-6945,3},{103,-6943,3}, {103,-6942,3},{107,-6935,3},{103,-6927,3},{100,-6922,3},{95,-6922,3},{95,-6920,3}, {90,-6920,3},{87,-6913,3},{85,-6917,3},{77,-6915,3},{72,-6918,3},{70,-6915,3}, {65,-6912,3},{63,-6913,3},{65,-6918,3},{62,-6920,3},{62,-6928,3},{67,-6930,3}, {63,-6935,3},{73,-6947,3},{72,-6953,3},{70,-6955,3},{70,-6957,3},{65,-6960,3}, {68,-6968,3},{67,-6972,3},{63,-6973,3},{63,-6975,3},{60,-6980,3},{60,-6992,3}, {58,-6993,3},{60,-6998,3},{57,-7002,3},{58,-7005,3},{57,-7005,3},{52,-7005,3}, {47,-7005,3},{42,-7005,3},{35,-7005,3},{30,-7005,3},{25,-7005,3},{18,-7005,3}, {13,-7005,3},{8,-7005,3},{3,-7005,3},{-3,-7005,3},{-8,-7005,3},{-15,-7005,3}, {-23,-7000,3},{-25,-6997,3},{-32,-6993,3},{-33,-6985,3},{-37,-6983,3},{-40,-6978,3}, {-45,-6975,3},{-50,-6963,3},{-52,-6960,3},{-60,-6960,3},{-63,-6957,3},{-73,-6962,3}, {-75,-6962,3},{-80,-6957,3},{-83,-6957,3},{-87,-6957,3},{-87,-6953,3},{-92,-6953,3}, {-97,-6947,3},{-98,-6947,3},{-100,-6943,3},{-108,-6943,3},{-118,-6938,3}, {-125,-6938,3},{-135,-6938,3},{-140,-6940,3},{-142,-6943,3},{-150,-6947,3}, {-153,-6945,3},{-160,-6947,3},{-165,-6947,3},{-170,-6948,3},{-175,-6950,3}, {-182,-6950,3},{-187,-6952,3},{-192,-6952,3},{-198,-6953,3},{-203,-6955,3}, {-208,-6955,3},{-213,-6957,3},{-220,-6957,3},{-225,-6958,3},{-230,-6960,3}, {-237,-6960,3},{-242,-6962,3},{-247,-6962,3},{-252,-6963,3},{-258,-6965,3}, {-263,-6965,3},{-268,-6967,3},{-273,-6967,3},{-280,-6968,3},{-285,-6968,3}, {-290,-6970,3},{-297,-6972,3},{-302,-6972,3},{-307,-6973,3},{-312,-6973,3}, {-318,-6975,3},{-323,-6977,3},{-328,-6977,3},{-335,-6978,3},{-340,-6978,3}, {-345,-6980,3},{-350,-6982,3},{-357,-6982,3},{-362,-6983,3},{-367,-6983,3}, {-373,-6985,3},{-378,-6985,3},{-383,-6987,3},{-390,-6988,3},{-395,-6988,3}, {-400,-6990,3},{-405,-6992,3},{-412,-6992,3},{-417,-6993,3},{-422,-6995,3}, {-410,-7008,3},{-407,-7013,3},{-393,-7018,3},{-387,-7023,3},{-380,-7032,3}, {-378,-7037,3},{-387,-7052,3},{-383,-7058,3},{-383,-7062,3},{-378,-7068,3}, {-378,-7072,3},{-272,-7005,3},{-270,-7008,3},{-263,-7010,3},{-263,-7012,3}, {-267,-7015,3},{-262,-7017,3},{-262,-7025,3},{-255,-7027,3},{-253,-7030,3}, {-255,-7033,3},{-257,-7037,3},{-253,-7037,3},{-250,-7035,3},{-248,-7035,3}, {-248,-7038,3},{-250,-7045,3},{-245,-7048,3},{-245,-7053,3},{-240,-7058,3}, {-245,-7060,3},{-245,-7065,3},{-240,-7067,3},{-238,-7070,3},{-233,-7070,3}, {-228,-7083,3},{-222,-7090,3},{-222,-7095,3},{-220,-7102,3},{-222,-7103,3}, {-227,-7102,3},{-227,-7103,3},{-225,-7107,3},{-225,-7113,3},{-227,-7115,3}, {-232,-7117,3},{-235,-7120,3},{-233,-7125,3},{-235,-7130,3},{-233,-7132,3}, {-238,-7142,3},{-237,-7143,3},{-233,-7142,3},{-227,-7145,3},{-225,-7148,3}, {-232,-7148,3},{-232,-7150,3},{-230,-7152,3},{-223,-7153,3},{-222,-7160,3}, {-218,-7163,3},{-217,-7168,3},{-218,-7173,3},{-213,-7173,3},{-218,-7183,3}, {-225,-7188,3},{-228,-7193,3},{-233,-7195,3},{-232,-7207,3},{-235,-7210,3}, {-242,-7217,3},{-240,-7227,3},{-242,-7228,3},{-243,-7228,3},{-245,-7238,3}, {-245,-7242,3},{-242,-7243,3},{-238,-7255,3},{-233,-7265,3},{-243,-7272,3}, {-237,-7273,3},{-240,-7277,3},{-238,-7280,3},{-242,-7290,3},{-243,-7293,3}, {-233,-7298,3},{-233,-7302,3},{-230,-7305,3},{-233,-7307,3},{-235,-7308,3}, {-232,-7310,3},{-232,-7315,3},{-227,-7317,3},{-222,-7320,3},{-218,-7320,3}, {-213,-7315,3},{-208,-7312,3},{-197,-7317,3},{-190,-7317,3},{-183,-7318,3}, {-178,-7320,3},{-175,-7325,3},{-178,-7327,3},{-177,-7332,3},{-180,-7335,3}, {-177,-7340,3},{-177,-7343,3},{-173,-7347,3},{-168,-7353,3},{-162,-7353,3}, {-157,-7348,3},{-148,-7350,3},{-142,-7358,3},{-138,-7357,3},{-135,-7358,3}, {-132,-7358,3},{-130,-7362,3},{-127,-7363,3},{-122,-7373,3},{-118,-7377,3}, {-122,-7378,3},{-123,-7380,3},{-122,-7385,3},{-118,-7390,3},{-112,-7393,3}, {-112,-7397,3},{-110,-7398,3},{-108,-7397,3},{-107,-7398,3},{-110,-7402,3}, {-108,-7403,3},{-100,-7407,3},{-103,-7410,3},{-100,-7418,3},{-100,-7423,3}, {-97,-7427,3},{-90,-7430,3},{-87,-7435,3},{-85,-7435,3},{-85,-7430,3},{-83,-7428,3}, {-82,-7430,3},{-78,-7432,3},{-77,-7435,3},{-73,-7438,3},{-70,-7438,3},{-68,-7437,3}, {-65,-7438,3},{-62,-7438,3},{-55,-7442,3},{-53,-7445,3},{-50,-7447,3},{-47,-7453,3}, {-35,-7463,3},{-37,-7468,3},{-33,-7472,3},{-32,-7478,3},{-27,-7475,3},{-17,-7482,3}, {-17,-7483,3},{-20,-7485,3},{-23,-7488,3},{-20,-7495,3},{-15,-7500,3},{-13,-7505,3}, {-7,-7512,3},{-3,-7522,3},{-10,-7525,3},{-10,-7528,3},{-7,-7543,3},{8,-7563,3}, {7,-7575,3},{8,-7580,3},{13,-7585,3},{18,-7593,3},{35,-7605,3},{37,-7607,3}, {35,-7612,3},{38,-7612,3},{40,-7615,3},{40,-7622,3},{45,-7630,3},{45,-7632,3}, {42,-7635,3},{40,-7640,3},{25,-7640,3},{23,-7652,3},{25,-7657,3},{23,-7662,3}, {27,-7668,3},{28,-7677,3},{25,-7678,3},{27,-7683,3},{23,-7688,3},{27,-7698,3}, {27,-7705,3},{28,-7710,3},{32,-7710,3},{38,-7715,3},{35,-7727,3},{38,-7737,3}, {42,-7743,3},{47,-7743,3},{53,-7745,3},{62,-7743,3},{65,-7745,3},{65,-7747,3}, {67,-7748,3},{65,-7753,3},{72,-7765,3},{75,-7767,3},{82,-7765,3},{85,-7768,3}, {85,-7772,3},{82,-7780,3},{82,-7785,3},{83,-7790,3},{88,-7792,3},{87,-7795,3}, {90,-7800,3},{92,-7810,3},{100,-7822,3},{103,-7823,3},{107,-7835,3},{120,-7847,3}, {122,-7853,3},{120,-7857,3},{123,-7857,3},{123,-7860,3},{127,-7860,3},{127,-7863,3}, {128,-7868,3},{133,-7870,3},{143,-7882,3},{-1835,-7040,131},{-1825,-7052,3}, {-1820,-7065,3},{-1810,-7073,3},{-1803,-7082,3},{-1803,-7087,3},{-1795,-7092,3}, {-1792,-7095,3},{-1788,-7102,3},{-1787,-7108,3},{-1785,-7110,3},{-1780,-7117,3}, {-1777,-7120,3},{-1772,-7130,3},{-1770,-7138,3},{-1763,-7135,3},{-1740,-7140,3}, {-1733,-7148,3},{-1730,-7150,3},{-1728,-7153,3},{-1728,-7158,3},{-1722,-7167,3}, {-1718,-7183,3},{-1715,-7188,3},{-1710,-7192,3},{-1705,-7198,3},{-1703,-7205,3}, {-1702,-7212,3},{-1698,-7213,3},{-1695,-7217,3},{-1690,-7223,3},{-1688,-7230,3}, {-1683,-7230,3},{-1677,-7237,3},{-1675,-7242,3},{-1668,-7250,3},{-1667,-7260,3}, {-1665,-7273,3},{-1663,-7278,3},{-1655,-7290,3},{-1653,-7297,3},{-1645,-7313,3}, {-1642,-7318,3},{-1640,-7320,3},{-1642,-7323,3},{-1640,-7330,3},{-1633,-7332,3}, {-1628,-7343,3},{-1623,-7362,3},{-1623,-7370,3},{-1618,-7375,3},{-1617,-7383,3}, {-1603,-7398,3},{-1602,-7403,3},{-1595,-7405,3},{-1590,-7417,3},{-1588,-7425,3}, {-1585,-7428,3},{-1585,-7435,3},{-1580,-7443,3},{-1572,-7448,3},{-1565,-7467,3}, {-1560,-7473,3},{-1557,-7485,3},{-1550,-7492,3},{-1550,-7498,3},{-1547,-7500,3}, {-1545,-7502,3},{-1547,-7505,3},{-1542,-7510,3},{-1540,-7515,3},{-1537,-7520,3}, {-1535,-7520,3},{-1533,-7517,3},{-1532,-7515,3},{-1530,-7518,3},{-1528,-7523,3}, {-1527,-7527,3},{-1523,-7522,3},{-1518,-7527,3},{-1515,-7530,3},{-1515,-7537,3}, {-1513,-7538,3},{-1502,-7543,3},{-1497,-7550,3},{-1493,-7550,3},{-1490,-7553,3}, {-1477,-7578,3},{-1472,-7585,3},{-1468,-7587,3},{-1467,-7593,3},{-1457,-7595,3}, {-1453,-7600,3},{-1447,-7598,3},{-1443,-7605,3},{-1438,-7608,3},{-1437,-7612,3}, {-1433,-7615,3},{-1432,-7612,3},{-1423,-7613,3},{-1422,-7618,3},{-1417,-7620,3}, {-1415,-7627,3},{-1418,-7627,3},{-1417,-7628,3},{-1410,-7630,3},{-1407,-7628,3}, {-1403,-7628,3},{-1390,-7630,3},{-1392,-7632,3},{-1392,-7637,3},{-1390,-7640,3}, {-1388,-7640,3},{-1382,-7637,3},{-1380,-7632,3},{-1380,-7630,3},{-1383,-7630,3}, {-1385,-7627,3},{-1363,-7620,3},{-1347,-7618,3},{-1343,-7620,3},{-1328,-7628,3}, {-1305,-7650,3},{-1285,-7653,3},{-1277,-7662,3},{-1267,-7668,3},{-1262,-7668,3}, {-1260,-7672,3},{-1253,-7675,3},{-1252,-7680,3},{-1248,-7680,3},{-1243,-7678,3}, {-1238,-7680,3},{-1227,-7692,3},{-1222,-7703,3},{-1218,-7705,3},{-1215,-7703,3}, {-1212,-7707,3},{-1208,-7712,3},{-1207,-7718,3},{-1203,-7715,3},{-1197,-7715,3}, {-1188,-7715,3},{-1183,-7718,3},{-1177,-7720,3},{-1173,-7717,3},{-1167,-7720,3}, {-1158,-7728,3},{-1155,-7728,3},{-1152,-7730,3},{-1145,-7737,3},{-1130,-7765,3}, {-1123,-7767,3},{-1122,-7765,3},{-1122,-7762,3},{-1118,-7762,3},{-1113,-7763,3}, {-1110,-7763,3},{-1110,-7765,3},{-1105,-7765,3},{-1102,-7768,3},{-1098,-7767,3}, {-1095,-7768,3},{-1093,-7768,3},{-1088,-7772,3},{-1085,-7772,3},{-1082,-7777,3}, {-1075,-7778,3},{-1065,-7787,3},{-1055,-7792,3},{-1048,-7797,3},{-1037,-7802,3}, {-1033,-7807,3},{-1028,-7807,3},{-1027,-7810,3},{-1023,-7812,3},{-1012,-7820,3}, {-1007,-7818,3},{-998,-7822,3},{-995,-7825,3},{-990,-7823,3},{-987,-7827,3}, {-980,-7825,3},{-968,-7833,3},{-962,-7838,3},{-947,-7842,3},{-943,-7840,3}, {-942,-7843,3},{-933,-7845,3},{-933,-7850,3},{-927,-7853,3},{-923,-7852,3}, {-918,-7852,3},{-918,-7857,3},{-923,-7858,3},{-923,-7860,3},{-920,-7860,3}, {-917,-7862,3},{-915,-7858,3},{-912,-7857,3},{-908,-7860,3},{-907,-7865,3}, {-900,-7865,3},{-898,-7868,3},{-897,-7867,3},{-892,-7867,3},{-878,-7877,3}, {-875,-7877,3},{-868,-7875,3},{-858,-7877,3},{-850,-7885,3},{-843,-7895,3}, {-842,-7892,3},{-837,-7892,3},{-828,-7898,3},{-822,-7900,3},{-808,-7913,3}, {-803,-7917,3},{-792,-7932,3},{-775,-7943,3},{-772,-7947,3},{-770,-7945,3}, {-767,-7945,3},{-758,-7950,3},{-747,-7958,3},{-743,-7960,3},{-740,-7958,3}, {-727,-7963,3},{-718,-7972,3},{-712,-7972,3},{-708,-7973,3},{-698,-7982,3}, {-695,-7987,3},{-688,-7993,3},{-677,-7998,3},{-663,-8013,3},{-655,-8032,3}, {-643,-8052,3},{-632,-8078,3},{-620,-8093,3},{-612,-8110,3},{-608,-8113,3}, {-600,-8118,3},{-590,-8118,3},{-585,-8115,3},{-583,-8112,3},{-580,-8110,3}, {-585,-8105,3},{-587,-8098,3},{-585,-8092,3},{-577,-8088,3},{-565,-8087,3}, {-543,-8095,3},{-532,-8108,3},{-528,-8113,3},{-520,-8120,3},{-517,-8118,3}, {-507,-8118,3},{-507,-8110,3},{-502,-8108,3},{-495,-8112,3},{-490,-8118,3}, {-485,-8122,3},{-468,-8135,3},{-465,-8133,3},{-455,-8130,3},{-448,-8133,3}, {-445,-8130,3},{-438,-8128,3},{-430,-8128,3},{-425,-8125,3},{-422,-8120,3}, {-412,-8112,3},{-410,-8107,3},{-395,-8098,3},{-388,-8087,3},{-378,-8085,3}, {-375,-8082,3},{-362,-8060,3},{-350,-8053,3},{-348,-8038,3},{-342,-8035,3}, {-337,-8033,3},{-340,-8032,3},{-342,-8025,3},{-347,-8027,3},{-350,-8023,3}, {-358,-8023,3},{-358,-8022,3},{-363,-8020,3},{-368,-8022,3},{-373,-8020,3}, {-377,-8022,3},{-380,-8018,3},{-385,-8018,3},{-388,-8015,3},{-393,-8022,3}, {-395,-8027,3},{-398,-8028,3},{-402,-8032,3},{-398,-8035,3},{-398,-8047,3}, {-405,-8050,3},{-408,-8050,3},{-413,-8048,3},{-420,-8047,3},{-422,-8043,3}, {-420,-8040,3},{-420,-8033,3},{-438,-8048,3},{-443,-8048,3},{-447,-8042,3}, {-448,-8038,3},{-447,-8037,3},{-445,-8033,3},{-440,-8028,3},{-440,-8027,3}, {-430,-8017,3},{-428,-8013,3},{-430,-8012,3},{-430,-8008,3},{-438,-7998,3}, {-440,-7997,3},{-440,-7990,3},{-443,-7987,3},{-448,-7982,3},{-448,-7978,3}, {-447,-7972,3},{-443,-7967,3},{-443,-7963,3},{-452,-7953,3},{-452,-7950,3}, {-455,-7950,3},{-460,-7952,3},{-480,-7945,3},{-483,-7938,3},{-488,-7937,3}, {-490,-7933,3},{-497,-7928,3},{-497,-7918,3},{-498,-7913,3},{-497,-7910,3}, {-500,-7907,3},{-500,-7905,3},{-500,-7903,3},{-495,-7900,3},{-488,-7898,3}, {-485,-7890,3},{-478,-7892,3},{-475,-7892,3},{-468,-7888,3},{-462,-7878,3}, {-458,-7868,3},{-455,-7867,3},{-448,-7867,3},{-443,-7862,3},{-442,-7867,3}, {-432,-7867,3},{-427,-7863,3},{-413,-7860,3},{-410,-7857,3},{-398,-7855,3}, {-392,-7853,3},{-378,-7842,3},{-373,-7840,3},{-363,-7837,3},{-352,-7837,3}, {-342,-7833,3},{-342,-7827,3},{-345,-7825,3},{-352,-7825,3},{-352,-7823,3}, {-345,-7817,3},{-342,-7818,3},{-338,-7822,3},{-335,-7822,3},{-327,-7812,3}, {-322,-7810,3},{-322,-7807,3},{-315,-7803,3},{-298,-7785,3},{-257,-7667,3}, {-213,-7607,3},{-155,-7558,3},{-155,-7557,3},{-97,-7542,3},{-92,-7540,3}, {-97,-7537,3},{-98,-7532,3},{-98,-7522,3},{-97,-7522,3},{-93,-7525,3},{-88,-7525,3}, {-83,-7527,3},{-80,-7527,3},{-73,-7530,3},{-70,-7527,3},{-65,-7528,3},{-63,-7525,3}, {-55,-7525,3},{-52,-7527,3},{-53,-7528,3},{-50,-7532,3},{-47,-7533,3},{-47,-7537,3}, {-43,-7542,3},{-35,-7545,3},{-23,-7548,3},{-18,-7557,3},{-18,-7562,3},{-12,-7563,3}, {-12,-7553,3},{-17,-7542,3},{-13,-7538,3},{-15,-7537,3},{-13,-7530,3},{-10,-7528,3}, {-10,-7525,3},{-3,-7522,3},{-7,-7512,3},{-13,-7505,3},{-15,-7500,3},{-20,-7495,3}, {-23,-7488,3},{-20,-7485,3},{-17,-7483,3},{-17,-7482,3},{-27,-7475,3},{-32,-7478,3}, {-33,-7472,3},{-37,-7468,3},{-35,-7463,3},{-47,-7453,3},{-50,-7447,3},{-53,-7445,3}, {-55,-7442,3},{-62,-7438,3},{-65,-7438,3},{-68,-7437,3},{-70,-7438,3},{-73,-7438,3}, {-77,-7435,3},{-78,-7432,3},{-82,-7430,3},{-83,-7428,3},{-85,-7430,3},{-85,-7435,3}, {-87,-7435,3},{-90,-7430,3},{-97,-7427,3},{-100,-7423,3},{-100,-7418,3}, {-103,-7410,3},{-100,-7407,3},{-108,-7403,3},{-110,-7402,3},{-107,-7398,3}, {-108,-7397,3},{-110,-7398,3},{-112,-7397,3},{-112,-7393,3},{-118,-7390,3}, {-122,-7385,3},{-123,-7380,3},{-122,-7378,3},{-118,-7377,3},{-122,-7373,3}, {-127,-7363,3},{-130,-7362,3},{-132,-7358,3},{-135,-7358,3},{-138,-7357,3}, {-142,-7358,3},{-148,-7350,3},{-157,-7348,3},{-162,-7353,3},{-168,-7353,3}, {-173,-7347,3},{-177,-7343,3},{-177,-7340,3},{-180,-7335,3},{-177,-7332,3}, {-178,-7327,3},{-175,-7325,3},{-178,-7320,3},{-183,-7318,3},{-190,-7317,3}, {-197,-7317,3},{-208,-7312,3},{-213,-7315,3},{-218,-7320,3},{-222,-7320,3}, {-227,-7317,3},{-232,-7315,3},{-232,-7310,3},{-235,-7308,3},{-233,-7307,3}, {-230,-7305,3},{-233,-7302,3},{-233,-7298,3},{-243,-7293,3},{-242,-7290,3}, {-238,-7280,3},{-240,-7277,3},{-237,-7273,3},{-243,-7272,3},{-233,-7265,3}, {-238,-7255,3},{-242,-7243,3},{-245,-7242,3},{-245,-7238,3},{-243,-7228,3}, {-242,-7228,3},{-240,-7227,3},{-242,-7217,3},{-235,-7210,3},{-232,-7207,3}, {-233,-7195,3},{-228,-7193,3},{-225,-7188,3},{-218,-7183,3},{-213,-7173,3}, {-218,-7173,3},{-217,-7168,3},{-218,-7163,3},{-222,-7160,3},{-223,-7153,3}, {-230,-7152,3},{-232,-7150,3},{-232,-7148,3},{-225,-7148,3},{-227,-7145,3}, {-233,-7142,3},{-237,-7143,3},{-238,-7142,3},{-233,-7132,3},{-235,-7130,3}, {-233,-7125,3},{-235,-7120,3},{-232,-7117,3},{-227,-7115,3},{-225,-7113,3}, {-225,-7107,3},{-227,-7103,3},{-227,-7102,3},{-222,-7103,3},{-220,-7102,3}, {-222,-7095,3},{-222,-7090,3},{-228,-7083,3},{-233,-7070,3},{-238,-7070,3}, {-240,-7067,3},{-245,-7065,3},{-245,-7060,3},{-240,-7058,3},{-245,-7053,3}, {-245,-7048,3},{-250,-7045,3},{-248,-7038,3},{-248,-7035,3},{-250,-7035,3}, {-253,-7037,3},{-257,-7037,3},{-255,-7033,3},{-253,-7030,3},{-255,-7027,3}, {-262,-7025,3},{-262,-7017,3},{-267,-7015,3},{-263,-7012,3},{-263,-7010,3}, {-270,-7008,3},{-272,-7005,3},{-378,-7072,3},{-378,-7068,3},{-383,-7062,3}, {-383,-7058,3},{-387,-7052,3},{-378,-7037,3},{-380,-7032,3},{-387,-7023,3}, {-393,-7018,3},{-407,-7013,3},{-410,-7008,3},{-422,-6995,3},{-425,-6995,3}, {-430,-6997,3},{-433,-7000,3},{-433,-7003,3},{-435,-7003,3},{-433,-7003,3}, {-432,-7008,3},{-428,-7007,3},{-425,-7010,3},{-427,-7015,3},{-432,-7017,3}, {-433,-7020,3},{-430,-7022,3},{-430,-7025,3},{-423,-7032,3},{-418,-7030,3}, {-413,-7033,3},{-417,-7035,3},{-413,-7040,3},{-413,-7045,3},{-418,-7050,3}, {-415,-7052,3},{-413,-7055,3},{-420,-7058,3},{-417,-7060,3},{-417,-7063,3}, {-412,-7062,3},{-412,-7067,3},{-417,-7068,3},{-415,-7077,3},{-418,-7083,3}, {-422,-7083,3},{-423,-7083,3},{-425,-7087,3},{-428,-7087,3},{-438,-7095,3}, {-437,-7098,3},{-433,-7100,3},{-438,-7102,3},{-437,-7107,3},{-438,-7110,3}, {-440,-7112,3},{-438,-7115,3},{-435,-7117,3},{-437,-7118,3},{-442,-7120,3}, {-438,-7123,3},{-438,-7128,3},{-443,-7128,3},{-443,-7132,3},{-445,-7135,3}, {-443,-7138,3},{-443,-7148,3},{-445,-7150,3},{-448,-7152,3},{-447,-7153,3}, {-450,-7160,3},{-447,-7162,3},{-452,-7165,3},{-447,-7168,3},{-450,-7172,3}, {-448,-7178,3},{-450,-7178,3},{-452,-7190,3},{-458,-7197,3},{-458,-7200,3}, {-462,-7203,3},{-460,-7207,3},{-465,-7207,3},{-470,-7213,3},{-470,-7217,3}, {-475,-7223,3},{-475,-7232,3},{-477,-7233,3},{-478,-7233,3},{-478,-7237,3}, {-488,-7240,3},{-490,-7247,3},{-495,-7248,3},{-495,-7253,3},{-500,-7257,3}, {-500,-7260,3},{-505,-7262,3},{-507,-7268,3},{-505,-7275,3},{-508,-7277,3}, {-508,-7285,3},{-512,-7285,3},{-513,-7290,3},{-515,-7292,3},{-518,-7290,3}, {-523,-7290,3},{-525,-7288,3},{-532,-7292,3},{-535,-7292,3},{-547,-7297,3}, {-553,-7293,3},{-560,-7297,3},{-565,-7297,3},{-578,-7305,3},{-585,-7310,3}, {-587,-7313,3},{-598,-7313,3},{-605,-7318,3},{-617,-7318,3},{-620,-7317,3}, {-640,-7313,3},{-645,-7315,3},{-652,-7320,3},{-658,-7335,3},{-670,-7352,3}, {-673,-7358,3},{-678,-7362,3},{-680,-7368,3},{-685,-7370,3},{-688,-7375,3}, {-703,-7377,3},{-710,-7380,3},{-715,-7377,3},{-720,-7375,3},{-722,-7372,3}, {-730,-7370,3},{-733,-7375,3},{-733,-7383,3},{-738,-7390,3},{-735,-7397,3}, {-745,-7393,3},{-748,-7395,3},{-752,-7395,3},{-753,-7400,3},{-753,-7402,3}, {-767,-7387,3},{-773,-7383,3},{-778,-7370,3},{-783,-7370,3},{-787,-7372,3}, {-788,-7373,3},{-788,-7378,3},{-795,-7377,3},{-797,-7375,3},{-802,-7365,3}, {-805,-7363,3},{-813,-7360,3},{-820,-7360,3},{-827,-7355,3},{-837,-7353,3}, {-840,-7347,3},{-842,-7343,3},{-845,-7340,3},{-848,-7335,3},{-860,-7335,3}, {-862,-7332,3},{-868,-7327,3},{-868,-7322,3},{-872,-7317,3},{-890,-7307,3}, {-893,-7300,3},{-898,-7297,3},{-908,-7295,3},{-915,-7297,3},{-917,-7298,3}, {-917,-7302,3},{-922,-7302,3},{-925,-7308,3},{-933,-7313,3},{-937,-7318,3}, {-940,-7320,3},{-942,-7273,3},{-945,-7267,3},{-945,-7260,3},{-948,-7253,3}, {-950,-7237,3},{-953,-7233,3},{-953,-7230,3},{-960,-7230,3},{-967,-7225,3}, {-975,-7227,3},{-980,-7218,3},{-983,-7217,3},{-988,-7215,3},{-993,-7217,3}, {-997,-7217,3},{-1000,-7218,3},{-1000,-7215,3},{-1000,-7137,3},{-997,-7133,3}, {-1000,-7130,3},{-997,-7125,3},{-993,-7118,3},{-987,-7113,3},{-985,-7108,3}, {-982,-7105,3},{-982,-7100,3},{-977,-7097,3},{-972,-7090,3},{-967,-7088,3}, {-963,-7080,3},{-957,-7075,3},{-952,-7067,3},{-945,-7060,3},{-943,-7052,3}, {-950,-7053,3},{-950,-7057,3},{-952,-7055,3},{-953,-7058,3},{-957,-7057,3}, {-957,-7062,3},{-958,-7060,3},{-963,-7058,3},{-968,-7055,3},{-973,-7053,3}, {-978,-7057,3},{-978,-7060,3},{-983,-7063,3},{-1102,-7063,3},{-1093,-7053,3}, {-1098,-7047,3},{-1103,-7043,3},{-1107,-7033,3},{-1103,-7017,3},{-1092,-6993,3}, {-1093,-6988,3},{-1092,-6978,3},{-1097,-6973,3},{-1095,-6957,3},{-1200,-6892,3}, {-1250,-6867,3},{-1250,-6868,3},{-1253,-6868,3},{-1253,-6870,3},{-1257,-6872,3}, {-1260,-6877,3},{-1262,-6878,3},{-1265,-6878,3},{-1267,-6873,3},{-1272,-6875,3}, {-1273,-6885,3},{-1275,-6885,3},{-1277,-6888,3},{-1280,-6890,3},{-1280,-6892,3}, {-1285,-6895,3},{-1287,-6897,3},{-1300,-6897,3},{-1307,-6895,3},{-1318,-6897,3}, {-1325,-6895,3},{-1352,-6897,3},{-1357,-6898,3},{-1360,-6902,3},{-1363,-6902,3}, {-1363,-6907,3},{-1365,-6908,3},{-1370,-6907,3},{-1375,-6900,3},{-1380,-6902,3}, {-1387,-6898,3},{-1397,-6898,3},{-1398,-6895,3},{-1403,-6890,3},{-1412,-6887,3}, {-1420,-6885,3},{-1425,-6900,3},{-1433,-6900,3},{-1435,-6898,3},{-1438,-6898,3}, {-1450,-6915,3},{-1457,-6915,3},{-1458,-6923,3},{-1465,-6925,3},{-1473,-6923,3}, {-1475,-6927,3},{-1478,-6933,3},{-1480,-6937,3},{-1487,-6937,3},{-1490,-6935,3}, {-1493,-6938,3},{-1497,-6938,3},{-1502,-6933,3},{-1512,-6928,3},{-1517,-6920,3}, {-1523,-6913,3},{-1525,-6913,3},{-1527,-6915,3},{-1527,-6920,3},{-1530,-6922,3}, {-1533,-6927,3},{-1537,-6928,3},{-1540,-6928,3},{-1543,-6933,3},{-1548,-6933,3}, {-1553,-6937,3},{-1550,-6938,3},{-1550,-6937,3},{-1548,-6937,3},{-1547,-6938,3}, {-1550,-6943,3},{-1547,-6945,3},{-1543,-6948,3},{-1535,-6957,3},{-1535,-6963,3}, {-1530,-6965,3},{-1525,-6968,3},{-1525,-6973,3},{-1525,-6975,3},{-1528,-6972,3}, {-1530,-6972,3},{-1530,-6975,3},{-1532,-6978,3},{-1530,-6985,3},{-1530,-6988,3}, {-1532,-6988,3},{-1535,-6980,3},{-1537,-6982,3},{-1535,-6987,3},{-1538,-6990,3}, {-1538,-6995,3},{-1542,-6995,3},{-1557,-6987,3},{-1560,-6983,3},{-1565,-6982,3}, {-1567,-6978,3},{-1568,-6978,3},{-1568,-6980,3},{-1573,-6975,3},{-1573,-6980,3}, {-1570,-6985,3},{-1563,-6987,3},{-1558,-6992,3},{-1557,-6995,3},{-1560,-6992,3}, {-1562,-6992,3},{-1567,-6997,3},{-1570,-6997,3},{-1570,-7002,3},{-1572,-7003,3}, {-1578,-7003,3},{-1580,-7000,3},{-1585,-7002,3},{-1587,-7000,3},{-1585,-6998,3}, {-1588,-6993,3},{-1588,-6990,3},{-1592,-6988,3},{-1592,-6980,3},{-1590,-6980,3}, {-1587,-6987,3},{-1582,-6985,3},{-1578,-6983,3},{-1578,-6980,3},{-1590,-6977,3}, {-1592,-6972,3},{-1590,-6970,3},{-1592,-6968,3},{-1593,-6968,3},{-1593,-6970,3}, {-1598,-6967,3},{-1598,-6957,3},{-1602,-6950,3},{-1602,-6943,3},{-1608,-6942,3}, {-1615,-6948,3},{-1618,-6952,3},{-1620,-6950,3},{-1622,-6948,3},{-1618,-6942,3}, {-1620,-6940,3},{-1618,-6938,3},{-1620,-6938,3},{-1622,-6938,3},{-1625,-6937,3}, {-1625,-6930,3},{-1628,-6927,3},{-1627,-6923,3},{-1625,-6915,3},{-1625,-6912,3}, {-1622,-6910,3},{-1622,-6907,3},{-1620,-6903,3},{-1622,-6902,3},{-1622,-6897,3}, {-1627,-6898,3},{-1627,-6900,3},{-1627,-6903,3},{-1627,-6908,3},{-1632,-6903,3}, {-1638,-6903,3},{-1642,-6903,3},{-1647,-6908,3},{-1648,-6910,3},{-1655,-6905,3}, {-1655,-6903,3},{-1660,-6903,3},{-1665,-6900,3},{-1670,-6910,3},{-1672,-6917,3}, {-1682,-6920,3},{-1692,-6932,3},{-1698,-6935,3},{-1702,-6942,3},{-1703,-6938,3}, {-1705,-6938,3},{-1710,-6945,3},{-1710,-6948,3},{-1718,-6958,3},{-1718,-6962,3}, {-1723,-6962,3},{-1728,-6965,3},{-1730,-6958,3},{-1738,-6950,3},{-1750,-6950,3}, {-1767,-6968,3},{-1765,-6982,3},{-1767,-6982,3},{-1768,-6983,3},{-1775,-6985,3}, {-1780,-6982,3},{-1790,-6980,3},{-1793,-6977,3},{-1797,-6977,3},{-1813,-6983,3}, {-1820,-6992,3},{-1825,-6995,3},{-1827,-7000,3},{-1828,-7005,3},{-1832,-7013,3}, {-1833,-7020,3},{-1832,-7037,3},{-1835,-7040,3},{-337,-8033,131},{-333,-8032,3}, {-337,-8032,3},{-338,-8030,3},{-333,-8030,3},{-333,-8028,3},{-335,-8027,3}, {-333,-8015,3},{-330,-8010,3},{-320,-8005,3},{-322,-8005,3},{-323,-8003,3}, {-328,-8003,3},{-325,-8002,3},{-320,-7995,3},{-308,-7992,3},{-303,-7988,3}, {-297,-7988,3},{-292,-7987,3},{-278,-7983,3},{-275,-7980,3},{-267,-7978,3}, {-260,-7973,3},{-255,-7972,3},{-248,-7975,3},{-248,-7978,3},{-242,-7982,3}, {-238,-7985,3},{-232,-7983,3},{-227,-7985,3},{-222,-7983,3},{-217,-7987,3}, {-213,-7985,3},{-210,-7985,3},{-208,-7982,3},{-205,-7982,3},{-203,-7978,3}, {-202,-7977,3},{-203,-7983,3},{-208,-7983,3},{-208,-7987,3},{-210,-7988,3}, {-222,-7990,3},{-227,-7987,3},{-232,-7987,3},{-242,-7987,3},{-257,-7990,3}, {-262,-8000,3},{-258,-8002,3},{-260,-8005,3},{-258,-8007,3},{-255,-8007,3}, {-253,-8003,3},{-248,-8002,3},{-248,-7998,3},{-250,-7995,3},{-248,-7993,3}, {-247,-7993,3},{-248,-7995,3},{-245,-8000,3},{-248,-8003,3},{-237,-8002,3}, {-235,-7998,3},{-232,-7995,3},{-233,-7998,3},{-233,-8002,3},{-235,-8003,3}, {-252,-8010,3},{-258,-8017,3},{-260,-8020,3},{-263,-8023,3},{-260,-8028,3}, {-265,-8028,3},{-265,-8027,3},{-270,-8025,3},{-273,-8025,3},{-272,-8032,3}, {-265,-8040,3},{-263,-8047,3},{-245,-8062,3},{-240,-8068,3},{-238,-8073,3}, {-238,-8078,3},{-232,-8088,3},{-232,-8092,3},{-225,-8095,3},{-220,-8100,3}, {-217,-8102,3},{-220,-8092,3},{-213,-8078,3},{-207,-8075,3},{-197,-8077,3}, {-195,-8073,3},{-193,-8073,3},{-177,-8077,3},{-160,-8085,3},{-155,-8085,3}, {-153,-8082,3},{-148,-8082,3},{-147,-8078,3},{-138,-8078,3},{-133,-8075,3}, {-113,-8088,3},{-105,-8092,3},{-103,-8092,3},{-100,-8088,3},{-93,-8083,3}, {-93,-8080,3},{-92,-8077,3},{-93,-8070,3},{-92,-8067,3},{-93,-8062,3},{-90,-8058,3}, {-83,-8053,3},{-73,-8052,3},{-63,-8047,3},{-57,-8043,3},{-58,-8042,3},{-63,-8040,3}, {-63,-8033,3},{-63,-8027,3},{-62,-8038,3},{-43,-8047,3},{-42,-8048,3},{-37,-8050,3}, {-28,-8040,3},{-23,-8038,3},{-17,-8033,3},{-17,-8030,3},{-15,-8025,3},{-7,-8020,3}, {-3,-8015,3},{0,-8010,3},{3,-8010,3},{7,-8007,3},{17,-8003,3},{35,-8003,3}, {35,-8002,3},{32,-8000,3},{37,-8000,3},{43,-8003,3},{48,-8005,3},{53,-8002,3}, {58,-8002,3},{63,-8005,3},{65,-8008,3},{68,-8012,3},{77,-8010,3},{83,-8007,3}, {83,-7997,3},{87,-7993,3},{87,-7987,3},{95,-7975,3},{100,-7965,3},{90,-7967,3}, {88,-7963,3},{83,-7962,3},{87,-7962,3},{90,-7965,3},{98,-7963,3},{100,-7955,3}, {107,-7945,3},{107,-7938,3},{108,-7918,3},{113,-7912,3},{122,-7905,3},{118,-7902,3}, {112,-7898,3},{115,-7895,3},{122,-7895,3},{123,-7893,3},{123,-7892,3},{123,-7888,3}, {128,-7887,3},{128,-7882,3},{130,-7887,3},{132,-7888,3},{135,-7887,3},{138,-7883,3}, {143,-7883,3},{143,-7882,3},{133,-7870,3},{128,-7868,3},{127,-7863,3},{127,-7860,3}, {123,-7860,3},{123,-7857,3},{120,-7857,3},{122,-7853,3},{120,-7847,3},{107,-7835,3}, {103,-7823,3},{100,-7822,3},{92,-7810,3},{90,-7800,3},{87,-7795,3},{88,-7792,3}, {83,-7790,3},{82,-7785,3},{82,-7780,3},{85,-7772,3},{85,-7768,3},{82,-7765,3}, {75,-7767,3},{72,-7765,3},{65,-7753,3},{67,-7748,3},{65,-7747,3},{65,-7745,3}, {62,-7743,3},{53,-7745,3},{47,-7743,3},{42,-7743,3},{38,-7737,3},{35,-7727,3}, {38,-7715,3},{32,-7710,3},{28,-7710,3},{27,-7705,3},{27,-7698,3},{23,-7688,3}, {27,-7683,3},{25,-7678,3},{28,-7677,3},{27,-7668,3},{23,-7662,3},{25,-7657,3}, {23,-7652,3},{25,-7640,3},{40,-7640,3},{42,-7635,3},{45,-7632,3},{45,-7630,3}, {40,-7622,3},{40,-7615,3},{38,-7612,3},{35,-7612,3},{37,-7607,3},{35,-7605,3}, {18,-7593,3},{13,-7585,3},{8,-7580,3},{7,-7575,3},{8,-7563,3},{-7,-7543,3}, {-10,-7528,3},{-13,-7530,3},{-15,-7537,3},{-13,-7538,3},{-17,-7542,3},{-12,-7553,3}, {-12,-7563,3},{-18,-7562,3},{-18,-7557,3},{-23,-7548,3},{-35,-7545,3},{-43,-7542,3}, {-47,-7537,3},{-47,-7533,3},{-50,-7532,3},{-53,-7528,3},{-52,-7527,3},{-55,-7525,3}, {-63,-7525,3},{-65,-7528,3},{-70,-7527,3},{-73,-7530,3},{-80,-7527,3},{-83,-7527,3}, {-88,-7525,3},{-93,-7525,3},{-97,-7522,3},{-98,-7522,3},{-98,-7532,3},{-97,-7537,3}, {-92,-7540,3},{-97,-7542,3},{-155,-7557,3},{-155,-7558,3},{-213,-7607,3}, {-257,-7667,3},{-298,-7785,3},{-315,-7803,3},{-322,-7807,3},{-322,-7810,3}, {-327,-7812,3},{-335,-7822,3},{-338,-7822,3},{-342,-7818,3},{-345,-7817,3}, {-352,-7823,3},{-352,-7825,3},{-345,-7825,3},{-342,-7827,3},{-342,-7833,3}, {-352,-7837,3},{-363,-7837,3},{-373,-7840,3},{-378,-7842,3},{-392,-7853,3}, {-398,-7855,3},{-410,-7857,3},{-413,-7860,3},{-427,-7863,3},{-432,-7867,3}, {-442,-7867,3},{-443,-7862,3},{-448,-7867,3},{-455,-7867,3},{-458,-7868,3}, {-462,-7878,3},{-468,-7888,3},{-475,-7892,3},{-478,-7892,3},{-485,-7890,3}, {-488,-7898,3},{-495,-7900,3},{-500,-7903,3},{-500,-7905,3},{-500,-7907,3}, {-497,-7910,3},{-498,-7913,3},{-497,-7918,3},{-497,-7928,3},{-490,-7933,3}, {-488,-7937,3},{-483,-7938,3},{-480,-7945,3},{-460,-7952,3},{-455,-7950,3}, {-452,-7950,3},{-452,-7953,3},{-443,-7963,3},{-443,-7967,3},{-447,-7972,3}, {-448,-7978,3},{-448,-7982,3},{-443,-7987,3},{-440,-7990,3},{-440,-7997,3}, {-438,-7998,3},{-430,-8008,3},{-430,-8012,3},{-428,-8013,3},{-430,-8017,3}, {-440,-8027,3},{-440,-8028,3},{-445,-8033,3},{-447,-8037,3},{-448,-8038,3}, {-447,-8042,3},{-443,-8048,3},{-438,-8048,3},{-420,-8033,3},{-420,-8040,3}, {-422,-8043,3},{-420,-8047,3},{-413,-8048,3},{-408,-8050,3},{-405,-8050,3}, {-398,-8047,3},{-398,-8035,3},{-402,-8032,3},{-398,-8028,3},{-395,-8027,3}, {-393,-8022,3},{-388,-8015,3},{-385,-8018,3},{-380,-8018,3},{-377,-8022,3}, {-373,-8020,3},{-368,-8022,3},{-363,-8020,3},{-358,-8022,3},{-358,-8023,3}, {-350,-8023,3},{-347,-8027,3},{-342,-8025,3},{-340,-8032,3},{-337,-8033,3}, {803,-8290,131},{810,-8288,3},{820,-8293,3},{825,-8293,3},{827,-8295,3}, {827,-8298,3},{832,-8305,3},{837,-8297,3},{842,-8293,3},{843,-8287,3},{847,-8283,3}, {863,-8283,3},{873,-8292,3},{877,-8292,3},{880,-8287,3},{882,-8287,3},{882,-8288,3}, {883,-8287,3},{888,-8275,3},{893,-8272,3},{898,-8275,3},{900,-8280,3},{907,-8288,3}, {908,-8290,3},{907,-8293,3},{947,-8293,3},{950,-8283,3},{952,-8287,3},{955,-8285,3}, {955,-8287,3},{957,-8287,3},{960,-8285,3},{960,-8282,3},{958,-8275,3},{957,-8273,3}, {955,-8270,3},{952,-8268,3},{948,-8263,3},{948,-8260,3},{953,-8260,3},{955,-8258,3}, {953,-8255,3},{957,-8257,3},{942,-8237,3},{942,-8233,3},{938,-8235,3},{933,-8238,3}, {930,-8235,3},{928,-8237,3},{928,-8238,3},{927,-8240,3},{925,-8237,3},{922,-8237,3}, {920,-8235,3},{918,-8230,3},{920,-8230,3},{920,-8228,3},{922,-8228,3},{920,-8227,3}, {918,-8227,3},{918,-8225,3},{922,-8225,3},{918,-8223,3},{922,-8220,3},{918,-8218,3}, {920,-8217,3},{915,-8217,3},{917,-8220,3},{917,-8225,3},{915,-8227,3},{910,-8225,3}, {910,-8227,3},{908,-8223,3},{902,-8225,3},{900,-8225,3},{898,-8220,3},{898,-8213,3}, {893,-8210,3},{892,-8207,3},{895,-8200,3},{893,-8197,3},{893,-8195,3},{897,-8190,3}, {895,-8187,3},{895,-8182,3},{893,-8178,3},{897,-8177,3},{900,-8178,3},{902,-8182,3}, {910,-8188,3},{913,-8193,3},{913,-8187,3},{915,-8190,3},{917,-8190,3},{912,-8182,3}, {910,-8182,3},{910,-8185,3},{905,-8182,3},{907,-8180,3},{905,-8175,3},{900,-8170,3}, {888,-8162,3},{878,-8150,3},{878,-8138,3},{877,-8133,3},{878,-8113,3},{883,-8097,3}, {888,-8088,3},{888,-8083,3},{898,-8075,3},{907,-8060,3},{913,-8040,3},{915,-8030,3}, {920,-8013,3},{922,-8010,3},{927,-8003,3},{935,-7997,3},{935,-7993,3},{930,-7993,3}, {930,-7992,3},{935,-7990,3},{935,-7987,3},{937,-7988,3},{937,-7987,3},{938,-7987,3}, {937,-7983,3},{935,-7978,3},{937,-7980,3},{940,-7980,3},{943,-7977,3},{943,-7973,3}, {947,-7972,3},{948,-7968,3},{953,-7967,3},{955,-7965,3},{955,-7967,3},{958,-7965,3}, {960,-7960,3},{960,-7958,3},{962,-7953,3},{960,-7952,3},{958,-7953,3},{957,-7952,3}, {958,-7950,3},{957,-7947,3},{958,-7945,3},{957,-7938,3},{957,-7933,3},{953,-7922,3}, {953,-7918,3},{955,-7915,3},{953,-7915,3},{955,-7913,3},{955,-7897,3},{952,-7898,3}, {952,-7903,3},{950,-7907,3},{943,-7905,3},{943,-7900,3},{945,-7898,3},{945,-7895,3}, {943,-7890,3},{942,-7890,3},{940,-7887,3},{943,-7883,3},{942,-7882,3},{943,-7878,3}, {943,-7877,3},{943,-7875,3},{943,-7872,3},{943,-7870,3},{942,-7865,3},{942,-7863,3}, {940,-7860,3},{943,-7855,3},{940,-7852,3},{940,-7848,3},{938,-7847,3},{937,-7842,3}, {927,-7820,3},{923,-7803,3},{918,-7798,3},{915,-7793,3},{912,-7793,3},{905,-7787,3}, {910,-7787,3},{905,-7780,3},{902,-7780,3},{895,-7773,3},{893,-7775,3},{888,-7770,3}, {888,-7768,3},{880,-7762,3},{883,-7763,3},{883,-7762,3},{878,-7757,3},{877,-7757,3}, {877,-7753,3},{873,-7753,3},{872,-7753,3},{870,-7753,3},{865,-7743,3},{867,-7740,3}, {867,-7737,3},{865,-7737,3},{863,-7743,3},{860,-7742,3},{853,-7747,3},{848,-7748,3}, {847,-7747,3},{847,-7742,3},{845,-7740,3},{840,-7737,3},{828,-7737,3},{827,-7735,3}, {827,-7730,3},{822,-7730,3},{820,-7727,3},{810,-7722,3},{798,-7718,3},{795,-7715,3}, {793,-7722,3},{790,-7730,3},{785,-7733,3},{778,-7737,3},{773,-7733,3},{770,-7733,3}, {767,-7738,3},{762,-7743,3},{760,-7750,3},{753,-7757,3},{753,-7760,3},{758,-7762,3}, {765,-7767,3},{768,-7767,3},{772,-7775,3},{763,-7777,3},{755,-7772,3},{752,-7772,3}, {748,-7775,3},{748,-7782,3},{723,-7788,3},{723,-7792,3},{733,-7800,3},{738,-7802,3}, {738,-7803,3},{742,-7803,3},{742,-7807,3},{745,-7812,3},{753,-7815,3},{752,-7817,3}, {757,-7817,3},{757,-7818,3},{755,-7820,3},{757,-7820,3},{760,-7820,3},{768,-7828,3}, {773,-7828,3},{787,-7835,3},{790,-7838,3},{797,-7842,3},{802,-7842,3},{805,-7843,3}, {808,-7843,3},{810,-7840,3},{807,-7840,3},{805,-7833,3},{810,-7825,3},{815,-7823,3}, {818,-7823,3},{825,-7830,3},{825,-7827,3},{827,-7827,3},{828,-7827,3},{830,-7825,3}, {827,-7823,3},{827,-7820,3},{830,-7818,3},{833,-7818,3},{840,-7813,3},{838,-7812,3}, {835,-7812,3},{832,-7805,3},{825,-7802,3},{820,-7792,3},{822,-7792,3},{825,-7797,3}, {823,-7788,3},{820,-7783,3},{817,-7783,3},{815,-7778,3},{812,-7778,3},{810,-7775,3}, {812,-7773,3},{813,-7773,3},{812,-7775,3},{813,-7777,3},{815,-7778,3},{817,-7780,3}, {817,-7783,3},{820,-7783,3},{823,-7787,3},{827,-7802,3},{840,-7807,3},{842,-7805,3}, {847,-7810,3},{848,-7810,3},{850,-7808,3},{853,-7812,3},{855,-7812,3},{853,-7813,3}, {852,-7812,3},{850,-7810,3},{847,-7812,3},{842,-7808,3},{847,-7815,3},{843,-7818,3}, {840,-7818,3},{838,-7823,3},{840,-7825,3},{842,-7820,3},{843,-7820,3},{847,-7822,3}, {850,-7820,3},{853,-7822,3},{852,-7823,3},{848,-7822,3},{843,-7823,3},{845,-7827,3}, {847,-7823,3},{850,-7825,3},{848,-7825,3},{843,-7828,3},{843,-7830,3},{848,-7832,3}, {845,-7833,3},{842,-7837,3},{853,-7838,3},{855,-7840,3},{852,-7842,3},{847,-7838,3}, {843,-7838,3},{840,-7837,3},{833,-7838,3},{835,-7842,3},{838,-7845,3},{845,-7845,3}, {842,-7847,3},{845,-7850,3},{850,-7848,3},{855,-7852,3},{857,-7853,3},{857,-7848,3}, {860,-7852,3},{863,-7850,3},{865,-7857,3},{867,-7857,3},{867,-7860,3},{870,-7862,3}, {873,-7860,3},{877,-7862,3},{875,-7862,3},{872,-7862,3},{872,-7863,3},{870,-7865,3}, {873,-7867,3},{877,-7873,3},{880,-7875,3},{885,-7878,3},{883,-7878,3},{880,-7883,3}, {890,-7890,3},{898,-7908,3},{905,-7908,3},{908,-7910,3},{908,-7908,3},{912,-7905,3}, {912,-7903,3},{912,-7902,3},{915,-7898,3},{912,-7903,3},{913,-7905,3},{908,-7908,3}, {908,-7912,3},{905,-7908,3},{902,-7908,3},{898,-7912,3},{900,-7915,3},{902,-7917,3}, {900,-7918,3},{902,-7928,3},{902,-7938,3},{900,-7948,3},{897,-7950,3},{897,-7952,3}, {893,-7953,3},{890,-7952,3},{895,-7957,3},{890,-7955,3},{888,-7958,3},{888,-7960,3}, {888,-7965,3},{885,-7967,3},{887,-7970,3},{885,-7970,3},{883,-7973,3},{880,-7975,3}, {877,-7977,3},{870,-7973,3},{868,-7975,3},{863,-7983,3},{860,-7978,3},{860,-7975,3}, {858,-7975,3},{853,-7987,3},{852,-7987,3},{848,-7993,3},{845,-7995,3},{840,-8002,3}, {830,-8023,3},{830,-8038,3},{832,-8038,3},{828,-8038,3},{822,-8047,3},{808,-8048,3}, {802,-8045,3},{798,-8035,3},{795,-8032,3},{790,-8032,3},{773,-8013,3},{770,-8012,3}, {763,-8005,3},{752,-7998,3},{747,-8000,3},{745,-8002,3},{742,-8017,3},{743,-8018,3}, {743,-8027,3},{742,-8030,3},{742,-8027,3},{738,-8035,3},{737,-8037,3},{732,-8033,3}, {730,-8038,3},{725,-8043,3},{725,-8050,3},{723,-8052,3},{725,-8057,3},{722,-8072,3}, {720,-8087,3},{725,-8090,3},{725,-8093,3},{732,-8092,3},{733,-8088,3},{735,-8088,3}, {740,-8092,3},{745,-8092,3},{750,-8097,3},{755,-8095,3},{762,-8098,3},{767,-8105,3}, {768,-8103,3},{768,-8100,3},{770,-8100,3},{772,-8105,3},{772,-8103,3},{775,-8103,3}, {777,-8108,3},{780,-8107,3},{782,-8102,3},{783,-8102,3},{783,-8105,3},{790,-8105,3}, {785,-8108,3},{787,-8112,3},{785,-8108,3},{783,-8110,3},{785,-8118,3},{787,-8120,3}, {788,-8120,3},{790,-8122,3},{788,-8120,3},{788,-8122,3},{787,-8122,3},{785,-8118,3}, {777,-8117,3},{775,-8118,3},{773,-8122,3},{775,-8122,3},{775,-8125,3},{772,-8122,3}, {772,-8123,3},{770,-8123,3},{770,-8120,3},{767,-8120,3},{763,-8118,3},{760,-8122,3}, {765,-8130,3},{765,-8135,3},{768,-8138,3},{767,-8142,3},{770,-8145,3},{770,-8153,3}, {775,-8148,3},{775,-8157,3},{777,-8157,3},{780,-8158,3},{785,-8157,3},{785,-8160,3}, {788,-8160,3},{788,-8162,3},{792,-8162,3},{793,-8160,3},{795,-8162,3},{798,-8160,3}, {798,-8163,3},{793,-8162,3},{795,-8163,3},{805,-8168,3},{802,-8170,3},{803,-8172,3}, {805,-8170,3},{807,-8173,3},{807,-8167,3},{818,-8175,3},{817,-8177,3},{815,-8175,3}, {812,-8177,3},{813,-8180,3},{818,-8195,3},{820,-8195,3},{823,-8193,3},{818,-8197,3}, {822,-8200,3},{820,-8202,3},{823,-8212,3},{815,-8213,3},{817,-8217,3},{818,-8215,3}, {822,-8215,3},{820,-8218,3},{822,-8222,3},{823,-8220,3},{827,-8222,3},{830,-8222,3}, {830,-8220,3},{833,-8222,3},{833,-8218,3},{833,-8222,3},{830,-8225,3},{832,-8228,3}, {833,-8228,3},{833,-8235,3},{830,-8235,3},{828,-8240,3},{830,-8243,3},{832,-8242,3}, {835,-8243,3},{835,-8245,3},{832,-8243,3},{832,-8245,3},{832,-8247,3},{828,-8245,3}, {827,-8250,3},{832,-8267,3},{828,-8282,3},{827,-8285,3},{823,-8287,3},{812,-8287,3}, {807,-8285,3},{802,-8287,3},{803,-8290,3},{4351,1922,128},{4346,1923,0}, {4343,1931,0},{4341,1932,0},{4338,1945,0},{4337,1948,0},{4330,1955,0},{4325,1956,0}, {4322,1961,0},{4322,1962,0},{4318,1966,0},{4318,1969,0},{4318,1971,0},{4317,1973,0}, {4318,1974,0},{4318,1976,0},{4315,1978,0},{4314,1977,0},{4310,1982,0},{4311,1983,0}, {4310,1984,0},{4309,1985,0},{4310,1989,0},{4311,1995,0},{4312,1997,0},{4311,1998,0}, {4308,1999,0},{4301,2014,0},{4299,2016,0},{4295,2032,0},{4293,2033,0},{4293,2037,0}, {4290,2037,0},{4284,2035,0},{4282,2031,0},{4281,2030,0},{4279,2030,0},{4275,2025,0}, {4278,2009,0},{4277,2005,0},{4275,2004,0},{4271,2005,0},{4271,2007,0},{4269,2011,0}, {4267,2013,0},{4261,2007,0},{4259,2008,0},{4258,2009,0},{4255,2008,0},{4190,1245,128}, {4191,1246,0},{4191,1245,0},{4190,1245,0} }; tucnak-4.32/src/player.c0000644000175000017500000002256213734430600012106 00000000000000/* player - WAV player Copyright (C) 2010-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "hf.h" #include "kbdbind.h" #include "player.h" #include "tsdl.h" #include "session.h" #include "ssbd.h" #include "subwin.h" #if defined(HAVE_SNDFILE) #define MS2PX 20 int sw_player_kbd_func(struct subwin *sw, struct event *ev, int fw){ switch(kbd_action(KM_MAIN,ev)){ case ACT_LEFT: if (!gssbd) break; MUTEX_LOCK(gssbd->seek); gssbd->seek -= 2000; MUTEX_UNLOCK(gssbd->seek); return 1; case ACT_RIGHT: if (!gssbd) break; MUTEX_LOCK(gssbd->seek); gssbd->seek += 1000; MUTEX_UNLOCK(gssbd->seek); return 1; case ACT_DOWN: if (!gssbd) break; MUTEX_LOCK(gssbd->seek); gssbd->seek -= 10000; MUTEX_UNLOCK(gssbd->seek); return 1; case ACT_UP: if (!gssbd) break; MUTEX_LOCK(gssbd->seek); gssbd->seek += 10000; MUTEX_UNLOCK(gssbd->seek); return 1; } if ((ev->x == 'p' || ev->x == 'P' || ev->x == ' ') && ev->y == 0){ if (sw->player_filename) player_play(sw->player_filename); return 1; } return 0; } int sw_player_mouse_func(struct subwin *sw, struct event *ev, int fw){ // if (!sdl) return 0; return 0; } void sw_player_redraw(struct subwin *sw, struct band *band, int flags){ int i, j, x, y0, y, c, cursor, dsec1, dsec2; int prev_y, prev_h, play_y, play_h; #ifdef Z_HAVE_SDL SDL_Rect area; #endif //dbg("sw_player_redraw(%d)\n", sw->gdirty); if (sw->pl_rate == 0) return; if (sw->pl_channels == 0) return; #ifdef Z_HAVE_SDL if (sdl) { if (sw->h - PLAYER_H <= 0) return; prev_y = 0; prev_h = PREVIEW_H * FONT_H; play_y = PREVIEW_H * FONT_H; play_h = sw->screen->h - (PREVIEW_H) * FONT_H; // PLAYER_H is included in sw->screen->h fill_area(sw->x, sw->y, sw->w, sw->h - PLAYER_H , 0); /* area.x = 0; area.y = prev_y; area.w = sw->screen->w; area.h = prev_h; SDL_FillRect(sw->screen, &area, z_makecol(20, 20, 20));*/ if (sw->pl_preview_screen){ SDL_BlitSurface(sw->pl_preview_screen, NULL, sw->screen, NULL); if (sw->pl_total_frames > 0){ x = ((long long)sw->pl_preview_w * gssbd->playedf) / sw->pl_total_frames; z_line(sw->screen, x, prev_y, x, prev_y + prev_h, sdl->gr[8]); } } area.x = 0; area.y = play_y; area.w = sw->screen->w; area.h = play_h; SDL_FillRect(sw->screen, &area, z_makecol(40, 40, 40)); //dbg("shapelen=%d channels=%d\n", sw->pl_shapelen, sw->pl_channels); if (sw->pl_pxlen == 0) return; c = sdl->green; sw_player_check_bounds(sw); cursor = gssbd->playedf / sw->pl_pxlen; for (x = 0; x < sw->screen->w; x++){ i = x + sw->pl_ofs; if (i >= sw->pl_shape_frames) continue; if (i < 0) continue; for (j = 0; j < sw->pl_channels; j++){ y0 = play_y + play_h / (sw->pl_channels * 2) + (j * play_h) / (sw->pl_channels); y = (sw->pl_shapebuf[i * sw->pl_channels + j] * play_h / 2) / (sw->pl_channels * 256); if (cursor == i){ y = play_h / (sw->pl_channels * 2); z_line(sw->screen, x, y0+y, x, y0-y, sdl->gr[15]); }else{ z_line(sw->screen, x, y0+y, x, y0-y, c); z_putpixel(sw->screen, x, y0, sdl->gr[10]); if (i % (1000 / MS2PX) == 0){ z_line(sw->screen, x, y0+10, x, y0, sdl->gr[10]); } //sw->pl_pxlen = sw->pl_rate * MS2PX / 1000; } } } } #endif dsec1 = (10 * gssbd->playedf) / sw->pl_rate; dsec2 = (10 * sw->pl_total_frames) / sw->pl_rate; clip_printf(sw, 1, sw->h - PLAYER_H, COL_NORM, "%d:%02d.%d / %d:%02d.%d", dsec1 / 600, (dsec1 % 600)/10, dsec1 % 10, dsec2 / 600, (dsec2 % 600)/10, dsec2 % 10); } void sw_player_check_bounds(struct subwin *sw){ int cursor; #ifdef Z_HAVE_SDL if (!sdl) return; if (sw->pl_pxlen == 0) return; cursor = gssbd->playedf / sw->pl_pxlen; if (cursor - sw->pl_ofs < 0){ sw->pl_ofs = cursor - sw->screen->w / 5; } if (cursor - sw->pl_ofs > (sw->screen->w * 4) / 5){ sw->pl_ofs = cursor - (sw->screen->w * 4) / 5; } #endif } void sw_player_raise(struct subwin *sw){ #ifdef Z_HAVE_SDL sw->gdirty=1; #endif } void sw_player_free(struct subwin *sw){ #ifdef Z_HAVE_SDL zg_free0(sw->pl_shapebuf); if (sw->pl_preview_screen) SDL_FreeSurface(sw->pl_preview_screen); #endif } void player_play(char *filename){ struct subwin *sw; int i, j; SF_INFO sfinfo; SNDFILE *sf; short *pxbuf, *sh; double *sum; short *avg; short *max; int shapei = 0; int prev_sh; int total_frames = 0; int x, y0, y, oldx = 0; int shapesize = 0; sw = sw_raise_or_new(SWT_PLAYER); if (!sw) return; redraw_later(); #ifdef Z_HAVE_SDL sw->gdirty=1; #endif if (filename != sw->player_filename){ g_free(sw->player_filename); sw->player_filename = g_strdup(filename); z_wokna(sw->player_filename); } sw->pl_total_frames = 0; sw->pl_channels = 1; memset (&sfinfo, 0, sizeof (sfinfo)); sf = sf_open(filename, SFM_READ, &sfinfo); if (!sf) { log_addf(VTEXT(T_CANT_PLAY), filename, sf_strerror (NULL)); return; } sw->pl_total_frames = sf_seek(sf, 0L, SEEK_END); if (sw->pl_total_frames < 0) { log_addf(VTEXT(T_CANT_SEEK_TO_END), filename, sf_strerror(sf)); sf_close(sf); sf = NULL; return; } if (sf_seek(sf, 0L, SEEK_SET) < 0) { log_addf(VTEXT(T_CANT_SEEK_TO_START), filename, sf_strerror(sf)); sf_close(sf); sf = NULL; return; } sw->pl_channels = sfinfo.channels; sw->pl_rate = sfinfo.samplerate; sw->pl_pxlen = sw->pl_rate * MS2PX / 1000; dbg("pl_total_frames=%d pxlen=%d\n", sw->pl_total_frames, sw->pl_pxlen); zg_free0(sw->pl_shapebuf); shapesize = sw->pl_channels * ((sw->pl_total_frames / sw->pl_pxlen) + 1); sw->pl_shapebuf = g_new0(char, shapesize); sw->pl_shape_frames = 0; #ifdef Z_HAVE_SDL if (sw->pl_preview_screen) SDL_FreeSurface(sw->pl_preview_screen); sw->pl_preview_screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->screen->w, PREVIEW_H * FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); sw->pl_preview_w = sw->pl_preview_screen->w; SDL_FillRect(sw->pl_preview_screen, NULL, z_makecol(20, 20, 20)); pxbuf = g_new0(short, sw->pl_pxlen * sw->pl_channels); sum = g_new0(double, sw->pl_channels); avg = g_new0(short, sw->pl_channels); max = g_new0(short, sw->pl_channels); shapei = 0; while(1){ int frames = sf_readf_short(sf, pxbuf, sw->pl_pxlen); if (frames <= 0) break; total_frames += frames; for (j = 0; j < sw->pl_channels; j++) { sum[j] = 0.0; max[j] = 0; } sh = pxbuf; for (i = 0; i < frames; i++){ for (j = 0; j < sw->pl_channels; j++){ sum[j] += *sh++; } } for (j = 0; j < sw->pl_channels; j++) avg[j] = (short)(sum[j] / frames); sh = pxbuf; for (i = 0; i < frames; i++){ for (j = 0; j < sw->pl_channels; j++){ int d = *sh - avg[j]; if (d < 0) d = -d; if (d > max[j]) max[j] = d; sh++; } } prev_sh = 0; for (j = 0; j < sw->pl_channels; j++) { int shape = 0; // dbg("max[%d]=%5d ", j, max[j]); if (max[j] == 0) { shape = 0; }else{ //shape = log(max[j]) * 256.0 / log(32768); shape = max[j] * 256.0 / 32768; if (shape > 255) shape = 255; } //dbg("shape[%d]=%3d ", j, shape); sw->pl_shapebuf[shapei] = shape; shapei++; prev_sh += shape; } //dbg("\n"); prev_sh /= sw->pl_channels; x = ((long long)sw->pl_preview_screen->w * total_frames) / sw->pl_total_frames; y0 = sw->pl_preview_screen->h / 2; y = sw->pl_preview_screen->h * prev_sh / (2 * 256); //dbg("x=%d prev_sh=%3d y=%d\n", x, prev_sh, y); for (i = oldx; i <= x; i++) { z_line(sw->pl_preview_screen, i, y0+y, i, y0-y, z_makecol(0, 128, 0)); z_putpixel(sw->pl_preview_screen, i, y0, sdl->gr[10]); } oldx = x + 1; sw->pl_shape_frames++; } g_free(pxbuf); g_free(sum); g_free(avg); g_free(max); #endif sf_close(sf); sf = NULL; ssbd_play_file(gssbd, filename); gses->icon=gssbd->playicon; } #else int sw_player_kbd_func(struct subwin *sw, struct event *ev, int fw){ return 0; } int sw_player_mouse_func(struct subwin *sw, struct event *ev, int fw){ return 0; } void sw_player_redraw(struct subwin *sw, struct band *b, int flags){ } void sw_player_check_bounds(struct subwin *sw){ } void sw_player_raise(struct subwin *sw){ } #endif tucnak-4.32/src/menu1.c0000644000175000017500000017326014114415527011645 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "chart.h" #include "edi.h" #include "excdb.h" #include "fifo.h" //#include "html.h" #include "inputln.h" #include "main.h" #include "map.h" #include "menu.h" #include "net.h" #include "qrvdb.h" #include "qsodb.h" #include "rain.h" #include "rc.h" #include "stats.h" #include "terminal.h" #include "tsdl.h" #include "wizz.h" char tname[MAX_STR_LEN],pcall[MAX_STR_LEN],pclub[MAX_STR_LEN]; char pwwlo[MAX_STR_LEN],pexch[MAX_STR_LEN],tdate[MAX_STR_LEN]; int qsoused; char qsomult_str[MAX_STR_LEN]; int qsoglob; int wwlused; char wwltype_str[MAX_STR_LEN]; char wwlbonu_str[MAX_STR_LEN], wwlmult_str[MAX_STR_LEN]; int wwlcfm; int exctype; char exctype_str[MAX_STR_LEN]; char excbonu_str[MAX_STR_LEN], excmult_str[MAX_STR_LEN]; int exccfm; char excname[MAX_STR_LEN]; int excused; char prefmult_str[MAX_STR_LEN]; char dxcbonu_str[MAX_STR_LEN], dxcmult_str[MAX_STR_LEN]; int prefglob; int rstused, defrstr; char default_rst[MAX_STR_LEN],default_rs[MAX_STR_LEN]; static char operator_[EQSO_LEN]; int tttype; char tttype_str[MAX_STR_LEN]; int expmode, phase; char new_excname[MAX_STR_LEN], old_excname[MAX_STR_LEN]; /*int qsop_method=1, total_method=1;*/ /******************** BAND SETTINGS *******************************/ #define RESP_LEN 50 int qrvnow,psect,isqrv,readonly; char opsect[RESP_LEN]; char stxeq[RESP_LEN], spowe[RESP_LEN], srxeq[RESP_LEN], sante[RESP_LEN]; char santh[RESP_LEN], mope1[RESP_LEN], mope2[RESP_LEN]; char remarks[RESP_LEN]; char ok_section_single[RESP_LEN], ok_section_multi[RESP_LEN]; char qrg_min_str[RESP_LEN], qrg_max_str[RESP_LEN]; char adifband[RESP_LEN], skedqrg[RESP_LEN], band_lo_str[RESP_LEN]; char band_sw_str[RESP_LEN]; char wwlradius_str[RESP_LEN]; //int bandfirstbutt; void refresh_band_confb(void *xxx) { struct config_band *confb; struct band *band; /* dbg("refresh_band_confb\n"); */ confb=(struct config_band *)xxx; confb->qrvnow = qrvnow; confb->psect = psect; STORE_STR(confb, opsect); confb->qrv = isqrv; confb->readonly = readonly; dbg("refresh_band readonly=%d\n", readonly); STORE_STR(confb,stxeq); /* dbg("refresh_band confb=%p confb->stxeq='%s'\n",confb,confb->stxeq);*/ /*b=confb;*/ STORE_STR(confb,spowe); STORE_STR(confb,srxeq); STORE_STR(confb,sante); STORE_STR(confb,santh); STORE_STR(confb,mope1); STORE_STR(confb,mope2); STORE_STR(confb,remarks); STORE_STR(confb, ok_section_multi); STORE_STR(confb, ok_section_single); STORE_SINT(confb, qrg_min); STORE_SINT(confb, qrg_max); STORE_STR(confb, adifband); STORE_STR(confb, skedqrg); STORE_SDBL(confb, band_lo); STORE_SHEX(confb, band_sw); STORE_SINT(confb, wwlradius); band = find_band_by_pband(confb->pband); if (band != NULL){ int oldwwlradius = band->wwlradius; STORE_SINT(band, wwlradius); if (band->wwlradius != oldwwlradius) { band->dirty_statsf = 1; recalc_statsfifo(band); } } } void refresh_band(void *xxx) { struct band *band; struct zstring *zs; char psectstr[EQSO_LEN]; gchar *c; /* dbg("refresh_band\n"); */ band=(struct band *)xxx; /* band->qrv = qrvnow;*/ band->psect = psect; STORE_STR(band, opsect); /*band->qrv = qrv;*/ band->readonly = readonly; il_readonly(band->il, band->readonly); STORE_STR(band,stxeq); /* dbg("refresh_band band=%p band->stxeq='%s'\n",band,band->stxeq);*/ STORE_STR(band,spowe); STORE_STR(band,srxeq); STORE_STR(band,sante); STORE_STR(band,santh); STORE_STR(band,mope1); STORE_STR(band,mope2); STORE_STR(band,remarks); /* STORE_STR(band, ok_section_multi); STORE_STR(band, ok_section_single); STORE_SINT(band, qrg_min); STORE_SINT(band, qrg_max); STORE_STR(band, adifband); STORE_STR(band, skedqrg); STORE_SDBL(band, band_lo);*/ g_snprintf(psectstr, EQSO_LEN, "%d", band->psect); zs = zconcatesc(band->pband, psectstr, stxeq, spowe, srxeq, sante, santh, mope1, mope2, remarks, NULL); // ok_section_*, qrg_*, adifband, skedqrg a band_lo se neposilaji c = g_strdup_printf("BA %s\n", zs->str); rel_write_all(c); g_free(c); zfree(zs); } /* xxx is char *band */ void band_settings(void *arg, int from_ctest) { struct dialog *d; int i,found; char *pband; struct config_band *confb=NULL; struct band *band=NULL; static char ss[1024]; found=0; pband = (char *)arg; if (!from_ctest) for (i=0;ibands->len; i++){ confb = (struct config_band*)g_ptr_array_index(cfg->bands,i); if (!confb) break; if (strcasecmp(pband, confb->pband)==0){ found=1; break; } } else for (i=0;ibands->len; i++){ band = (struct band*)g_ptr_array_index(ctest->bands,i); if (!band) break; if (strcasecmp(pband, band->pband)==0){ found=1; break; } } if (!found){ zinternal("band_settings() !found"); } if (confb){ qrvnow=confb->qrvnow; psect=confb->psect; LOAD_STR(confb, opsect); isqrv=confb->qrv; readonly=confb->readonly; dbg("band_settings readonly=%d\n", readonly); safe_strncpy0(stxeq,confb->stxeq,RESP_LEN); safe_strncpy0(spowe,confb->spowe,RESP_LEN); safe_strncpy0(srxeq,confb->srxeq,RESP_LEN); safe_strncpy0(sante,confb->sante,RESP_LEN); safe_strncpy0(santh,confb->santh,RESP_LEN); safe_strncpy0(mope1,confb->mope1,RESP_LEN); z_str_uc(mope1); safe_strncpy0(mope2,confb->mope2,RESP_LEN); z_str_uc(mope2); safe_strncpy0(remarks,confb->remarks,RESP_LEN); safe_strncpy0(ok_section_single,confb->ok_section_single,RESP_LEN); safe_strncpy0(ok_section_multi,confb->ok_section_multi,RESP_LEN); g_snprintf(qrg_min_str, RESP_LEN, "%d", confb->qrg_min); g_snprintf(qrg_max_str, RESP_LEN, "%d", confb->qrg_max); safe_strncpy0(adifband,confb->adifband,RESP_LEN); safe_strncpy0(skedqrg,confb->skedqrg,RESP_LEN); g_snprintf(band_lo_str, RESP_LEN, "%1.1f", confb->band_lo); g_snprintf(band_sw_str, RESP_LEN, "0x%02x", confb->band_sw); g_snprintf(wwlradius_str, RESP_LEN, "%d", confb->wwlradius); }else{ qrvnow=1; psect=band->psect; LOAD_STR(band, opsect); isqrv=1; readonly=band->readonly; safe_strncpy0(stxeq,band->stxeq,RESP_LEN); safe_strncpy0(spowe,band->spowe,RESP_LEN); safe_strncpy0(srxeq,band->srxeq,RESP_LEN); safe_strncpy0(sante,band->sante,RESP_LEN); safe_strncpy0(santh,band->santh,RESP_LEN); safe_strncpy0(mope1,band->mope1,RESP_LEN); z_str_uc(mope1); safe_strncpy0(mope2,band->mope2,RESP_LEN); z_str_uc(mope2); safe_strncpy0(remarks,band->remarks,RESP_LEN); /*safe_strncpy0(ok_section_single,band->ok_section_single,RESP_LEN); safe_strncpy0(ok_section_multi,band->ok_section_multi,RESP_LEN); g_snprintf(qrg_min, RESP_LEN, "%d", band->qrg_min); g_snprintf(qrg_max, RESP_LEN, "%d", band->qrg_max); safe_strncpy0(adifband,band->adifband,RESP_LEN); safe_strncpy0(skedqrg,band->skedqrg,RESP_LEN); g_snprintf(band_lo, RESP_LEN, "%1.1f", band->band_lo); band_sw wwlradius */ } if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = ss; d->fn = dlg_pf_fn; d->y0 = 1; if (confb){ g_snprintf(ss,1000,VTEXT(T_BAND_SETTINGS_SC), confb->bandchar,pband); d->refresh = (void (*)(void *))refresh_band_confb; d->refresh_data = confb; }else{ g_snprintf(ss,1000,VTEXT(T_BAND_SETTINGS_SC), band->bandchar,pband); d->refresh = (void (*)(void *))refresh_band; d->refresh_data = band; } d->items[i=0].type = D_CHECKBOX; /* 0 */ d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&isqrv; d->items[i].msg = CTEXT(T_QRV_ON_THIS_BAND); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&qrvnow; d->items[i].msg = CTEXT(T_QRV_IN_THIS_CTEST); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&readonly; d->items[i].msg = CTEXT(T_READ_ONLY); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = 0; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&psect; d->items[i].msg = CTEXT(T_MULTI); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&psect; d->items[i].msg = CTEXT(T_SINGLE); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = 2; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&psect; d->items[i].msg = CTEXT(T_CHECK); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = 3; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&psect; d->items[i].msg = CTEXT(T_OTHER); d->items[++i].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].maxl = 15; d->items[i].data = opsect; d->items[i].msg = ""; d->items[i].wrap = 2; d->items[++i].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = stxeq; d->items[i].msg = CTEXT(T_TXEQUIP); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 10; d->items[i].data = spowe; d->items[i].msg = CTEXT(T_POWER); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = srxeq; d->items[i].msg = CTEXT(T_RXEQUIP); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = sante; d->items[i].msg = CTEXT(T_ANTENNA); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 10; d->items[i].data = santh; d->items[i].msg = CTEXT(T_AGLASL); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = mope1; d->items[i].msg = CTEXT(T_OPS); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = mope2; d->items[i].msg = CTEXT(T_SPACES1); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = remarks; d->items[i].msg = CTEXT(T_REMARKS); d->items[i].wrap = 2; if (confb){ d->items[++i].type = D_FIELD; d->items[i].dlen = 4; d->items[i].data = ok_section_single; d->items[i].msg = CTEXT(T_OK_SECTION_SINGLE); d->items[++i].type = D_FIELD; d->items[i].dlen = 4; d->items[i].data = ok_section_multi; d->items[i].msg = CTEXT(T_OK_SECTION_MULTI); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 10; d->items[i].data = qrg_min_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 250000000; d->items[i].msg = CTEXT(T_QRG_MIN); d->items[++i].type = D_FIELD; d->items[i].dlen = 10; d->items[i].data = qrg_max_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 250000000; d->items[i].msg = CTEXT(T_QRG_MAX); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 8; d->items[i].data = adifband; d->items[i].msg = CTEXT(T_ADIFBAND); d->items[++i].type = D_FIELD; d->items[i].dlen = 11; d->items[i].data = skedqrg; d->items[i].msg = CTEXT(T_SKEDQRG); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 16; d->items[i].data = band_lo_str; d->items[i].fn = check_qrg; d->items[i].msg = CTEXT(T_BAND_LO); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 6; d->items[i].data = band_sw_str; d->items[i].msg = CTEXT(T_BANDSW); //d->items[i].wrap = 2; d->items[++i].type = D_FIELD; d->items[i].dlen = 6; d->items[i].data = wwlradius_str; d->items[i].msg = TRANSLATE("Stats WWL radius:"); d->items[i].wrap = 2; } d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } int dlg_band_settings_confb(struct dialog_data *dlg, struct dialog_item_data *di){ /*dbg("dlg_band_settings %p %p \n",dlg,di);*/ band_settings(di->item->text, 0); return 0; } int dlg_band_settings(struct dialog_data *dlg, struct dialog_item_data *di){ /*dbg("dlg_band_settings %p %p \n",dlg,di);*/ band_settings(di->item->text, 1); return 0; } /******************** RESPONSIBLE OPERATOR *******************************/ #define RESP_LEN 50 char rname[RESP_LEN], rcall[RESP_LEN], radr1[RESP_LEN], radr2[RESP_LEN]; char rpoco[RESP_LEN], rcity[RESP_LEN], rcoun[RESP_LEN]; char rphon[RESP_LEN], rhbbs[RESP_LEN]; void refresh_responsible_op(void *xxx) { /* dbg("refresh_responsible_op\n");*/ STORE_STR(cfg,rname); STORE_STR(cfg,rcall); STORE_STR(cfg,radr1); STORE_STR(cfg,radr2); STORE_STR(cfg,rpoco); STORE_STR(cfg,rcity); STORE_STR(cfg,rcoun); STORE_STR(cfg,rphon); STORE_STR(cfg,rhbbs); } char *responsible_op_msg[] = { CTEXT(T_NAME), CTEXT(T_CALLSIGN), CTEXT(T_ADDRESS), CTEXT(T_ADDRESS), CTEXT(T_POSTCODE), CTEXT(T_CITY), CTEXT(T_COUNTRY), CTEXT(T_PHONE), CTEXT(T_BBSEMAIL), "", /* OK */ /* 9 */ "", /* Cancel */ }; void responsible_op_fn(struct dialog_data *dlg) { int max = 0, min = 0; int w, rw; int y = -1; max_group_width(term, responsible_op_msg + 0, dlg->items + 0, 1, &max); min_group_width(term, responsible_op_msg + 0, dlg->items + 0, 1, &min); max_group_width(term, responsible_op_msg + 1, dlg->items + 1, 1, &max); min_group_width(term, responsible_op_msg + 1, dlg->items + 1, 1, &min); max_group_width(term, responsible_op_msg + 2, dlg->items + 2, 1, &max); min_group_width(term, responsible_op_msg + 2, dlg->items + 2, 1, &min); max_group_width(term, responsible_op_msg + 3, dlg->items + 3, 1, &max); min_group_width(term, responsible_op_msg + 3, dlg->items + 3, 1, &min); max_group_width(term, responsible_op_msg + 4, dlg->items + 4, 1, &max); min_group_width(term, responsible_op_msg + 4, dlg->items + 4, 1, &min); max_group_width(term, responsible_op_msg + 5, dlg->items + 5, 1, &max); min_group_width(term, responsible_op_msg + 5, dlg->items + 5, 1, &min); max_group_width(term, responsible_op_msg + 6, dlg->items + 6, 1, &max); min_group_width(term, responsible_op_msg + 6, dlg->items + 6, 1, &min); max_group_width(term, responsible_op_msg + 7, dlg->items + 7, 1, &max); min_group_width(term, responsible_op_msg + 7, dlg->items + 7, 1, &min); max_group_width(term, responsible_op_msg + 8, dlg->items + 8, 1, &max); min_group_width(term, responsible_op_msg + 8, dlg->items + 8, 1, &min); max_buttons_width(term, dlg->items + 9, 2, &max); min_buttons_width(term, dlg->items + 9, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB; if (w < 1) w = 1; rw = 0; y ++; dlg_format_group(NULL, term, responsible_op_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 1, dlg->items + 1, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 2, dlg->items + 2, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 3, dlg->items + 3, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 4, dlg->items + 4, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 5, dlg->items + 5, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 6, dlg->items + 6, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 7, dlg->items + 7, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, responsible_op_msg + 8, dlg->items + 8, 1, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items +9, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_group(term, term, responsible_op_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 1, dlg->items + 1, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 2, dlg->items + 2, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 3, dlg->items + 3, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 4, dlg->items + 4, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 5, dlg->items + 5, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 6, dlg->items + 6, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 7, dlg->items + 7, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, responsible_op_msg + 8, dlg->items + 8, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_buttons(term, term, dlg->items +9, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } void responsible_op(void) { struct dialog *d; int i; safe_strncpy0(rname,cfg->rname,RESP_LEN); safe_strncpy0(rcall,cfg->rcall,RESP_LEN); z_str_uc(rcall); safe_strncpy0(radr1,cfg->radr1,RESP_LEN); safe_strncpy0(radr2,cfg->radr2,RESP_LEN); safe_strncpy0(rpoco,cfg->rpoco,RESP_LEN); safe_strncpy0(rcity,cfg->rcity,RESP_LEN); safe_strncpy0(rcoun,cfg->rcoun,RESP_LEN); safe_strncpy0(rphon,cfg->rphon,RESP_LEN); safe_strncpy0(rhbbs,cfg->rhbbs,RESP_LEN); if (!(d = g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_RESPOP); d->fn = responsible_op_fn; d->refresh = (void (*)(void *))refresh_responsible_op; d->items[i=0].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = rname; d->items[i=1].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = rcall; d->items[i=2].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = radr1; d->items[i=3].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = radr2; d->items[i=4].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = rpoco; d->items[i=5].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = rcity; d->items[i=6].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = rcoun; d->items[i=7].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = rphon; d->items[i=8].type = D_FIELD; d->items[i].dlen = RESP_LEN; d->items[i].data = rhbbs; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } int dlg_responsoble_op(struct dialog_data *dlg, struct dialog_item_data *di){ responsible_op(); return 0; } void menu_responsible_op(void *arg){ responsible_op(); } /******************** QSOP METHOD, TOTAL METHOD ******************/ #define MAX_QSOP_METHOD 22 #define MAX_TOTAL_METHOD 4 int qsop_method=1, total_method=1; char qsop_method_str[MAX_STR_LEN],total_method_str[MAX_STR_LEN]; char *qsop_method_msg[]={ CTEXT(T_QP0), CTEXT(T_QP1), CTEXT(T_QP2), CTEXT(T_QP3), CTEXT(T_QP4), CTEXT(T_QP5), CTEXT(T_QP6), CTEXT(T_QP7), CTEXT(T_QP8), CTEXT(T_QP9), CTEXT(T_QP10), CTEXT(T_QP11), CTEXT(T_QP12), CTEXT(T_QP13), CTEXT(T_QP14), CTEXT(T_QP15), CTEXT(T_QP16), CTEXT(T_QP17), CTEXT(T_QP18), CTEXT(T_QP19), CTEXT(T_QP20), CTEXT(T_QP21), CTEXT(T_QP22), }; char *total_method_msg[]={ CTEXT(T_TP0), CTEXT(T_TP1), CTEXT(T_TP2), CTEXT(T_TP3), CTEXT(T_TP4) }; void qsop_method_func (void *arg){ int active; active=GPOINTER_TO_INT(arg); if (active<1 || active>MAX_QSOP_METHOD) return; qsop_method = active; /*safe_strncpy0(qsop_method_str, qsop_method_msg[qsop_method], MAX_STR_LEN);*/ safe_strncpy0(qsop_method_str,_(CTEXT(T_QP0+qsop_method)),MAX_STR_LEN); redraw_later(); } int dlg_qsop_method(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; if (!(mi = new_menu(1))) return 0; for (i = 1; i <= MAX_QSOP_METHOD; i++) { add_to_menu(&mi, qsop_method_msg[i], "", "", MENU_FUNC qsop_method_func, GINT_TO_POINTER(i), 0); } sel = qsop_method-1; if (sel < 0) sel = 0; if (sel>=MAX_QSOP_METHOD) sel=0; do_menu_selected(mi, GINT_TO_POINTER(qsop_method), sel); return 0; } void total_method_func (void *arg){ int active; active=GPOINTER_TO_INT(arg); if (active<1 || active>MAX_TOTAL_METHOD) return; total_method = active; safe_strncpy0(total_method_str,_(CTEXT(T_TP0+total_method)),MAX_STR_LEN); redraw_later(); return; } int dlg_total_method(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; if (!(mi = new_menu(1))) return 0; for (i = 1; i <= MAX_TOTAL_METHOD; i++) { add_to_menu(&mi, total_method_msg[i], "", "", MENU_FUNC total_method_func, GINT_TO_POINTER(i), 0); } sel = total_method-1; if (sel < 0) sel = 0; if (sel>=MAX_TOTAL_METHOD) sel=0; do_menu_selected(mi, GINT_TO_POINTER(total_method), sel); return 0; } /****************** TTTYPE *******************/ #define MAX_TTTYPE 5 char tttype_str[MAX_STR_LEN]; char *tttype_msg[]={ CTEXT(T_NONE), CTEXT(T_RSTS2), CTEXT(T_RSTR2), CTEXT(T_QSONRR2), CTEXT(T_EXC2) }; void tttype_func(void *arg){ int active; active=GPOINTER_TO_INT(arg); log_addf("tttype_func: active=%d", active); if (active<0 || active>=MAX_TTTYPE) return; tttype = active; safe_strncpy0(tttype_str, get_text_translation(tttype_msg[tttype]), MAX_STR_LEN); redraw_later(); } int dlg_tttype(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; if (!(mi = new_menu(1))) return 0; for (i = 0; i < MAX_TTTYPE; i++) { add_to_menu(&mi, tttype_msg[i], "", "", MENU_FUNC tttype_func, GINT_TO_POINTER(i), 0); } sel = tttype; if (sel < 1) sel = 1; if (sel>=MAX_TTTYPE) sel=0; do_menu_selected(mi, GINT_TO_POINTER(tttype), sel); return 0; } /****************** WWLTYPE *******************/ #define MAX_WWLTYPE 5 char wwltype_str[MAX_STR_LEN]; char *wwltype_msg[]={ CTEXT(T_UNUSED), CTEXT(T_USED_6), CTEXT(T_OPT_6), CTEXT(T_USED_4), CTEXT(T_OPT_4) }; void wwltype_func(void *arg){ int active; active=GPOINTER_TO_INT(arg); if (active<0 || active>=MAX_WWLTYPE) return; wwlused = active; safe_strncpy0(wwltype_str, get_text_translation(wwltype_msg[wwlused]), MAX_STR_LEN); redraw_later(); } int dlg_wwltype(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; if (!(mi = new_menu(1))) return 0; for (i = 0; i < MAX_WWLTYPE; i++) { add_to_menu(&mi, wwltype_msg[i], "", "", MENU_FUNC wwltype_func, GINT_TO_POINTER(i), 0); } sel = wwlused; if (sel < 1) sel = 1; if (sel>=MAX_WWLTYPE) sel=0; do_menu_selected(mi, GINT_TO_POINTER(wwlused), sel); return 0; } /****************** EXCTYPE *******************/ #define MAX_EXCTYPE 6 char *exctype_msg[]={ CTEXT(T_UNUSED), CTEXT(T_FREE), CTEXT(T_VERIFIED), CTEXT(T_WAZ), CTEXT(T_ITU), CTEXT(T_MULTIPLIED) }; void exctype_func(void *arg){ int active; active=GPOINTER_TO_INT(arg); if (active < 0 || active >= MAX_EXCTYPE) return; exctype = active; switch(exctype){ case EXC_WAZ: strcpy(new_excname, "WAZ"); break; case EXC_ITU: strcpy(new_excname, "ITU"); break; default: strcpy(new_excname, old_excname); break; } /*safe_strncpy0(qsop_method_str, qsop_method_msg[qsop_method], MAX_STR_LEN);*/ safe_strncpy0(exctype_str, get_text_translation(exctype_msg[exctype]), MAX_STR_LEN); redraw_later(); } int dlg_exctype(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel = 0; struct menu_item *mi; int x[] = { 0, 1, 5, 2, 3, 4, -1 }; if (!(mi = new_menu(1))) return 0; for (i = 0; x[i] >= 0; i++){ add_to_menu(&mi, exctype_msg[x[i]], "", "", MENU_FUNC exctype_func, GINT_TO_POINTER(x[i]), 0); if (x[i] == exctype) sel = i; } do_menu_selected(mi, GINT_TO_POINTER(exctype), sel); return 0; } /******************** WIZZ *******************************************/ void wizz_func (void *arg){ int active,j; struct wizz_item *wi; time_t now; struct tm utc; active=GPOINTER_TO_INT(arg); if (active<0 || active>=wizz->items->len) return; wi = get_wizz(wizz, active); time(&now); gmtime_r(&now, &utc); safe_strncpy0(tname, wi->tname,100); safe_strncpy0(pcall, cfg->pcall, 20);z_str_uc(pcall); safe_strncpy0(pclub, cfg->pclub, 20);z_str_uc(pclub); safe_strncpy0(operator_, cfg->operator_, EQSO_LEN);z_str_uc(operator_); safe_strncpy0(pwwlo, cfg->pwwlo, 9); z_str_uc(pwwlo); safe_strncpy0(pexch, wi->pexch, MAX_EXC_LEN+1); z_str_uc(pexch); g_snprintf(tdate, MAX_STR_LEN, "%d%02d%02d", 1900+utc.tm_year, 1+utc.tm_mon, utc.tm_mday); qsoused=wi->qsoused; g_snprintf(qsomult_str,10, "%d", wi->qsomult); qsoglob=wi->qsoglob; wwlused=wi->wwlused; safe_strncpy0(wwltype_str, get_text_translation(wwltype_msg[wwlused]), MAX_STR_LEN); g_snprintf(wwlbonu_str,10, "%d", wi->wwlbonu); g_snprintf(wwlmult_str,10, "%d", wi->wwlmult); wwlcfm=wi->wwlcfm; exctype=wi->exctype; safe_strncpy0(exctype_str, get_text_translation(exctype_msg[exctype]),MAX_STR_LEN); safe_strncpy0(excname, wi->excname, MAX_STR_LEN); safe_strncpy0(new_excname, wi->excname, MAX_STR_LEN); safe_strncpy0(old_excname, wi->excname, MAX_STR_LEN); g_snprintf(excbonu_str,10, "%d", wi->excbonu); g_snprintf(excmult_str,10, "%d", wi->excmult); exccfm=wi->exccfm; excused=wi->excused; g_snprintf(prefmult_str,10, "%d", wi->prefmult); g_snprintf(dxcbonu_str,10, "%d", wi->dxcbonu); g_snprintf(dxcmult_str,10, "%d", wi->dxcmult); prefglob=wi->prefglob; rstused=wi->rstused; safe_strncpy(default_rs, cfg->default_rs, 5); z_str_uc(default_rs); safe_strncpy(default_rst, cfg->default_rst, 5); z_str_uc(default_rst); defrstr=wi->defrstr; tttype=wi->tttype; safe_strncpy0(tttype_str, get_text_translation(tttype_msg[tttype]), MAX_STR_LEN); expmode=0; phase = 1; qsop_method=wi->qsop_method; /*safe_strncpy0(qsop_method_str,qsop_method_msg[qsop_method],MAX_STR_LEN);*/ safe_strncpy0(qsop_method_str,_(CTEXT(T_QP0+qsop_method)),MAX_STR_LEN); total_method=wi->total_method; safe_strncpy0(total_method_str,_(CTEXT(T_TP0+total_method)),MAX_STR_LEN); /*safe_strncpy0(total_method_str,total_method_msg[total_method],MAX_STR_LEN);*/ //log_addf("qsop_method=%d total_method=%d", qsop_method, total_method); /* wwltype */ /* minqsop, maxqsop */ if (wi->bands){ dbg("wi->bands='%s'\n", wi->bands); for (j=0; jbands->len;j++){ struct config_band *confb; confb = (struct config_band*)g_ptr_array_index(cfg->bands,j); if (!confb) break; /* unreached? */ confb->qrvnow = confb->qrv; if (!confb->qrvnow) continue; if (strchr(wi->bands, confb->bandchar)==NULL) { dbg("Band %c is not used in contest\n", confb->bandchar); confb->qrvnow=0; } } } contest_options1(VTEXT(T_NEW_CTEST), 0, wi); } struct menu_item no_wizz[] = { {CTEXT(T_NO_CTESTS), "", M_BAR, NULL, NULL, 0, 0}, {NULL, NULL, 0, NULL, NULL, 0, 0} }; void menu_wizz(void *arg){ int i; struct menu_item *mi; struct wizz_item *wi; if (!wizz->items->len){ do_menu(no_wizz, NULL); return; } if (!(mi = new_menu(1))) return; for (i = 0; i < wizz->items->len; i++) { wi = get_wizz(wizz, i); add_to_menu(&mi, wi->tname, "", "", MENU_FUNC wizz_func, GINT_TO_POINTER(i), 0); } do_menu_selected(mi, NULL, 0); } /******************** CONTEST OPTIONS 1 *******************************/ /*char qsop_method_str[MAX_STR_LEN],total_method_str[MAX_STR_LEN];*/ int firstbandbutt=-1, excnameidx; /*void update_desc(struct contest *ctest){ if (!ctest) return; if (!ctest->pcall) return; if (!ctest->tname) return; if (!ctest->pcall || !ctest->tname || strcasecmp(pcall, ctest->pcall) || strcasecmp(tname, ctest->tname)){ setvbuf(ctest->descfile, NULL, _IONBF, 0); fseek(ctest->descfile, 0, SEEK_SET); if (z_ftruncate(fileno(ctest->descfile), 0)){ errbox(VTEXT(T_CANT_TRUNC), errno); return; } fprintf(ctest->descfile,"%s %s %s\n", ctest->cdate, z_str_uc(pcall), ctest->tname); } } */ void refresh_contest_options1(void *arg) { int updloc; char *descfile; struct wizz_item *wi = (struct wizz_item *)arg; /*dbg("refresh_contest_options1\n");*/ if (ctest){ descfile = g_strdup_printf("%s/desc", ctest->directory); save_desc_to_file(descfile); g_free(descfile); } updloc = 1;// strcasecmp(cfg->pwwlo, pwwlo); STORE_STR_FS_UC(cfg,pcall); STORE_STR_FS_UC(cfg,pclub); STORE_STR_FS_UC(cfg,operator_); STORE_STR_FS_UC(cfg,pwwlo); STORE_STR_FS (cfg,default_rst); STORE_STR_FS (cfg,default_rs); init_ctest2(1, updloc, NULL, wi); } void init_ctest2(int from_dlg, int updloc, struct zstring *zs2, struct wizz_item *wi){ int isnew=0; struct zstring *zs = NULL; char *c; if (!ctest) isnew=1; // dbg("init_ctest2: isnew=%d zs2=%p wi=%p\n", isnew, zs2, wi); if (init_ctest()) return; if (ctest->pwwlo) updloc=strcasecmp(ctest->pwwlo, pwwlo); if (from_dlg){ STORE_STR_FS (ctest,tname); STORE_STR_FS_UC(ctest,pcall); STORE_STR_FS_UC(ctest,pclub); STORE_STR_FS_UC(ctest,pwwlo); STORE_STR_FS_UC(ctest,pexch); /* tdate is handled by argument */ // STORE_STR_FS (ctest,tdate); STORE_STR_FS (ctest,default_rst); STORE_STR_FS (ctest,default_rs); STORE_STR2 (ctest,cfg,rname); STORE_STR2_UC(ctest,cfg,rcall); STORE_STR2 (ctest,cfg,radr1); STORE_STR2 (ctest,cfg,radr2); STORE_STR2 (ctest,cfg,rpoco); STORE_STR2 (ctest,cfg,rcity); STORE_STR2 (ctest,cfg,rcoun); STORE_STR2 (ctest,cfg,rphon); STORE_STR2 (ctest,cfg,rhbbs); STORE_INT (ctest,qsoused); STORE_SINT(ctest,qsomult); STORE_INT (ctest,qsoglob); STORE_INT (ctest,wwlused); STORE_SINT(ctest,wwlbonu); STORE_SINT(ctest,wwlmult); STORE_INT (ctest,wwlcfm); STORE_ENUM (ctest,exctype, enum exctype); STORE_STR (ctest,excname); STORE_INT (ctest,excused); STORE_SINT(ctest,excbonu); STORE_SINT(ctest,excmult); STORE_INT (ctest,exccfm); STORE_SINT(ctest,prefmult); STORE_SINT(ctest,dxcbonu); STORE_SINT(ctest,dxcmult); STORE_INT (ctest,prefglob); STORE_INT (ctest,rstused); STORE_ENUM (ctest,tttype, enum tttype); STORE_INT (ctest,expmode); STORE_INT(ctest, phase); STORE_INT (ctest,defrstr); STORE_INT (ctest,qsop_method); STORE_INT (ctest,total_method); } if (zs2){ zs = zstrdup(ztokenize(zs2, 1)); dbg("ctest\t%s\n", zs->str); ctest_parse(zs, ctest); zfree(zs); safe_strncpy0(tdate, ctest->cdate, MAX_STR_LEN); } set_ctest_title(); clear_exc(excdb); read_exc_files(excdb, (enum exctype)exctype, excname); if (!isnew){ /* contest options from menu */ gchar *descfile; dbg("init_ctest2: from menu\n"); /*save_all_bands_txt(0);*/ descfile=g_strdup_printf("%s/desc", ctest->directory); save_desc_to_file(descfile); g_free(descfile); net_send_ac(); net_send_operator(); net_send_read_write_bands(); net_send_talk(); recalc_all_stats(ctest); if (updloc){ update_hw(); qrv_recalc_qrbqtf(qrv); qrv_recalc_gst(qrv); #ifdef Z_HAVE_SDL recalc_all_qrbqtf(ctest); map_recalc_cors(); maps_reload(); maps_update_showwwls(); rain_reload(); #endif chart_reload(); //qrv_recalc_wkd(qrvdb); probably not needed } save_all_bands_txt(0); return; } /* new contest */ dbg("init_ctest2: new contest tdate=%s\n", tdate); if (new_ctest(tdate)) return; if (from_dlg){ if (init_qrv_bands(wi)) return; } if (zs2){ int i; for (i=0; ;i++){ gchar *cc; cc = ztokenize(zs2, 0); if (!cc) break; zs = zstrdup(cc); dbg("band%d\t%s\n", i, zs->str); init_band(NULL, NULL, zs, NULL); zfree(zs); } } if (ctest->bands->len==0){ errbox(VTEXT(T_NO_BANDS), 0); free_ctest(); return; } if (zs == NULL){ // called from menu, read prepared ~/tucnak/qrv c = g_strconcat(tucnak_dir, "/qrv", NULL); z_wokna(c); load_qrv_from_file(qrv, c); g_free(c); } // else QRV will be transferred over network save_all_bands_txt(0); net_send_ac(); net_send_operator(); net_send_read_write_bands(); net_send_talk(); if (cfg->startband){ struct band *b; b=find_band_by_pband(cfg->startband); activate_band(b); /* b==NULL is handled by function */ } } void contest_options1_fn(struct dialog_data *dlgd) { int numofbands; /*dbg("contest_options1_fn()\n");*/ // firstbandbutt=26; for (numofbands=0; numofbands<26; numofbands++ ) { if (! dlgd->items[firstbandbutt+numofbands].item) break; if (dlgd->items[firstbandbutt+numofbands].item->type!= D_BUTTON) break; if (dlgd->items[firstbandbutt+numofbands].item->gid== B_ENTER) break; } /* dbg("first=%d, num=%d\n",firstbandbutt,numofbands);*/ if (strcmp(excname, new_excname)!=0){ strcpy(excname, new_excname); safe_strncpy0(dlgd->items[excnameidx].cdata, excname, EQSO_LEN); dlgd->items[excnameidx].cpos = strlen(dlgd->items[excnameidx].cdata); } #if 0 int ph; for (ph = 0; ph < 3; ph++){ dlg_pf_init(ph, dlgd); dlgd->yy++; dlg_pf_group(ph, dlgd, 1); dlg_pf_group(ph, dlgd, 2); dlg_pf_group(ph, dlgd, 3); dlg_pf_group(ph, dlgd, 1); // tttype dlg_pf_group(ph, dlgd, 3); // qso dlg_pf_group(ph, dlgd, 4); // wwl dlg_pf_group(ph, dlgd, 4); // exc dlg_pf_group(ph, dlgd, 2); // exc dlg_pf_group(ph, dlgd, 2); dlg_pf_group(ph, dlgd, 4); dlg_pf_group(ph, dlgd, 2); dlgd->yy ++; dlg_pf_group(ph, dlgd, numofbands); dlgd->yy ++; //dlg_pf_buttons(ph, dlgd, 4); dlg_pf_group(ph, dlgd, 4); dlgd->yy ++; dlgd->yy ++; } #endif } void contest_options1(char *title, int from_ctest, struct wizz_item *wi) { struct dialog *d; int i,j; /*dbg("contest_options1\n");*/ #ifdef Z_ANDROID if (!from_ctest){ double h, w; int state; //SDL_ANDROID_GetHW(&h, &w, &state); zandroid_get_location(&h, &w, &state); //log_addf("contest_options1: h=%f w=%f\n", h, w); if (h > -1000 && h < 1000){ // todo v zavislosti na state hw2loc(pwwlo, h, w, 6); } } #endif if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 60 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 60 * sizeof(struct dialog_item)); d->title = title; d->fn = dlg_pf_fn; d->fn2 = contest_options1_fn; d->refresh = (void (*)(void *))refresh_contest_options1; d->refresh_data = wi; d->y0 = 1; d->items[i=0].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = tname; d->items[i].maxl = 45; d->items[i].msg = CTEXT(T_NAME_OF_CTEST); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 20; d->items[i].data = pcall; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_CALL_OF_CTEST); d->items[++i].type = D_FIELD; d->items[i].dlen = 20; d->items[i].data = pclub; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_CLUB_ST); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 9; d->items[i].data = pwwlo; d->items[i].msg = CTEXT(T_YOURWWL); d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_EXC_LEN+1; d->items[i].data = pexch; d->items[i].msg = CTEXT(T_YOUREXC); d->items[++i].type = D_FIELD; /* 5 */ d->items[i].dlen = 9; d->items[i].data = tdate; d->items[i].msg = CTEXT(T_DATE_OF_CTEST); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&expmode; d->items[i].msg = CTEXT(T_EXPMODE); d->items[i].wrap = 2; d->items[++i].type = D_TEXT; d->items[i].msg = TRANSLATE(" Band options:"); d->items[i].wrap = 1; firstbandbutt = i + 1; /* dbg("firstband=%d\n",i+1);*/ if (!from_ctest){ for (j = 0; j<26; j++){ struct config_band *confb; if (j >= cfg->bands->len) break; /* no config file */ confb = (struct config_band*)g_ptr_array_index(cfg->bands, j); if (!confb) break; /* unreached? */ if (!confb->qrvnow) continue; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_band_settings_confb; d->items[i].text = confb->pband; } } else{ for (j = 0; jbands->len; j++){ struct band *band; band = (struct band*)g_ptr_array_index(ctest->bands, j); if (!band) break; /* unreached? */ d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_band_settings; d->items[i].text = band->pband; } } /* dbg("lastband=%d\n",i);*/ d->items[i].wrap = 2; d->items[++i].type = D_TEXT; d->items[i].msg = TRANSLATE(" Advanced options:"); d->items[i].wrap = 1; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_tttype; d->items[i].text = tttype_str; d->items[i].msg = CTEXT(T_TTTYPE); d->items[++i].type = D_CHECKBOX3; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&qsoused; d->items[i].msg = CTEXT(T_QSOUSED); d->items[++i].type = D_FIELD; d->items[i].data = qsomult_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_QSOPM); d->items[++i].type = D_CHECKBOX3; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&qsoglob; d->items[i].msg = CTEXT(T_QSOGLOB); d->items[i].wrap = 1; /* d->items[++i].type = D_CHECKBOX3; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&wwlused; d->items[i].msg = CTEXT(T_WWLUSED);*/ d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_wwltype; d->items[i].text = wwltype_str; d->items[i].msg = CTEXT(T_WWL2); d->items[++i].type = D_FIELD; /* 10 */ d->items[i].data = wwlbonu_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_WWLB); d->items[++i].type = D_FIELD; d->items[i].data = wwlmult_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_WWLM); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&wwlcfm; d->items[i].msg = CTEXT(T_CONFIRM_WWL); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX3; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&excused; d->items[i].msg = CTEXT(T_EXCUSED); d->items[++i].type = D_FIELD; d->items[i].data = excbonu_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_EXCB); d->items[++i].type = D_FIELD; /* 15 */ d->items[i].data = excmult_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_EXCM); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&exccfm; d->items[i].msg = CTEXT(T_CONFIRM_EXC); d->items[i].wrap = 1; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_exctype; d->items[i].text = exctype_str; d->items[i].msg = CTEXT(T_EXC2); d->items[++i].type = D_FIELD; d->items[i].dlen = 15; d->items[i].data = excname; d->items[i].maxl = 7; d->items[i].msg = CTEXT(T_EXCNAME); d->items[i].wrap = 1; excnameidx = i; d->items[++i].type = D_FIELD; d->items[i].data = prefmult_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_PREFM); d->items[++i].type = D_FIELD; d->items[i].data = dxcbonu_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_DXCB); d->items[++i].type = D_FIELD; d->items[i].data = dxcmult_str; d->items[i].dlen = 8; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999999; d->items[i].msg = CTEXT(T_DXCM); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(gint); d->items[i].data=(char *)&prefglob; d->items[i].msg = CTEXT(T_PREFGLOB); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX3; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(gint); d->items[i].data=(char *)&rstused; d->items[i].msg = CTEXT(T_RSTUSED); d->items[++i].type = D_FIELD; d->items[i].data = default_rs; d->items[i].dlen = 5; d->items[i].msg = CTEXT(T_DEFRS); d->items[++i].type = D_FIELD; d->items[i].data = default_rst; d->items[i].dlen = 5; d->items[i].msg = CTEXT(T_DEFRST); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(gint); d->items[i].data=(char *)&defrstr; d->items[i].msg = CTEXT(T_ALSORSTR); d->items[i].wrap = 1; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_qsop_method; d->items[i].text = qsop_method_str; d->items[i].msg = CTEXT(T_QP_CALC); d->items[i].wrap = 1; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_total_method; d->items[i].text = total_method_str; d->items[i].msg = CTEXT(T_TO_CALC); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_edi_prop; d->items[i].text = VTEXT(T_EDI_PROP); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_responsoble_op; d->items[i].text = VTEXT(T_RESPOP2); d->items[i].align = AL_CENTER | AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; dbg("last item=%d\n", i); do_dialog(d, getml(d, NULL)); } void contest_options1_from_menu(void *arg) { time_t now; struct tm utc; time(&now); gmtime_r(&now, &utc); /*dbg("contest_options1\n");*/ safe_strncpy0(tname,"",100); safe_strncpy0(pcall, cfg->pcall, 20);z_str_uc(pcall); safe_strncpy0(pclub, cfg->pclub, 20);z_str_uc(pclub); safe_strncpy0(pwwlo, cfg->pwwlo, 9); z_str_uc(pwwlo); safe_strncpy0(pexch, cfg->pexch, MAX_EXC_LEN+1); z_str_uc(pexch); g_snprintf(tdate, MAX_STR_LEN, "%d%02d%02d", 1900+utc.tm_year, 1+utc.tm_mon, utc.tm_mday); qsoused=1; safe_strncpy(qsomult_str,"1", 10); qsoglob=0; wwlused=1; safe_strncpy0(wwltype_str, get_text_translation(wwltype_msg[wwlused]),MAX_STR_LEN); safe_strncpy(wwlbonu_str,"0",10); safe_strncpy(wwlmult_str,"0",10); wwlcfm=1; exctype=0; safe_strncpy0(exctype_str,get_text_translation(exctype_msg[exctype]),MAX_STR_LEN); safe_strncpy(excbonu_str,"0",10); safe_strncpy(excmult_str,"0",10); exccfm=1; safe_strncpy(excname, "", 10); safe_strncpy(new_excname, "", 10); safe_strncpy(old_excname, "", 10); excused=0; safe_strncpy(prefmult_str,"0",10); safe_strncpy(dxcbonu_str,"0",10); safe_strncpy(dxcmult_str,"0",10); rstused=1; safe_strncpy0(default_rs, cfg->default_rs, 5); z_str_uc(default_rs); defrstr=0; safe_strncpy0(default_rst, cfg->default_rst, 5); z_str_uc(default_rst); qsop_method=cfg->qsop_method % (MAX_QSOP_METHOD + 1); safe_strncpy0(qsop_method_str,_(CTEXT(T_QP0+qsop_method)),MAX_STR_LEN); /*safe_strncpy0(qsop_method_str,qsop_method_msg[qsop_method],MAX_STR_LEN);*/ total_method=cfg->total_method % MAX_TOTAL_METHOD; safe_strncpy0(total_method_str,_(CTEXT(T_TP0+total_method)),MAX_STR_LEN); /*safe_strncpy0(total_method_str,total_method_msg[total_method],MAX_STR_LEN);*/ tttype=TT_RSTS; safe_strncpy0(tttype_str, get_text_translation(tttype_msg[tttype]), MAX_STR_LEN); expmode=0; phase = 1; contest_options1(VTEXT(T_NEW_CTEST), 0, NULL); } void contest_options1_from_ctest(void *arg) { /*dbg("contest_options1\n");*/ safe_strncpy0(tname, ctest->tname,100); safe_strncpy0(pcall, ctest->pcall, 20);z_str_uc(pcall); safe_strncpy0(pclub, ctest->pclub, 20);z_str_uc(pclub); safe_strncpy0(pwwlo, ctest->pwwlo, 9); z_str_uc(pwwlo); safe_strncpy0(pexch, ctest->pexch, MAX_EXC_LEN+1); z_str_uc(pexch); safe_strncpy0(tdate, "", MAX_STR_LEN); qsoused=ctest->qsoused; g_snprintf(qsomult_str,10, "%d", ctest->qsomult); qsoglob=ctest->qsoglob; wwlused=ctest->wwlused; safe_strncpy0(wwltype_str, get_text_translation(wwltype_msg[wwlused]), MAX_STR_LEN); g_snprintf(wwlbonu_str,10, "%d", ctest->wwlbonu); g_snprintf(wwlmult_str,10, "%d", ctest->wwlmult); wwlcfm=ctest->wwlcfm; exctype=ctest->exctype; safe_strncpy0(exctype_str, get_text_translation(exctype_msg[exctype]), MAX_STR_LEN); safe_strncpy0(excname, ctest->excname, MAX_STR_LEN); safe_strncpy0(new_excname, ctest->excname, MAX_STR_LEN); safe_strncpy0(old_excname, ctest->excname, MAX_STR_LEN); g_snprintf(excbonu_str,10, "%d", ctest->excbonu); g_snprintf(excmult_str,10, "%d", ctest->excmult); exccfm=ctest->exccfm; excused=ctest->excused; g_snprintf(prefmult_str,10, "%d", ctest->prefmult); g_snprintf(dxcbonu_str,10, "%d", ctest->dxcbonu); g_snprintf(dxcmult_str,10, "%d", ctest->dxcmult); rstused=ctest->rstused; safe_strncpy0(default_rs, cfg->default_rs, 5); z_str_uc(default_rs); safe_strncpy0(default_rst, cfg->default_rst, 5); z_str_uc(default_rst); qsop_method=ctest->qsop_method; safe_strncpy0(qsop_method_str,_(CTEXT(T_QP0+qsop_method)),MAX_STR_LEN); total_method=ctest->total_method; safe_strncpy0(total_method_str,_(CTEXT(T_TP0+total_method)),MAX_STR_LEN); defrstr=ctest->defrstr; tttype=ctest->tttype; safe_strncpy0(tttype_str,get_text_translation(tttype_msg[tttype]),MAX_STR_LEN); expmode=ctest->expmode; phase = ctest->phase; contest_options1(VTEXT(T_CONTEST_OP), 1, NULL); } /******************** CONTEST DEFAULTS *******************************/ /* char tname[MAX_STR_LEN],pcall[MAX_STR_LEN],pclub[MAX_STR_LEN]; char pwwlo[MAX_STR_LEN],pexch[MAX_STR_LEN]; char default_rst[MAX_STR_LEN],default_rs[MAX_STR_LEN]; */ char padr1[MAX_STR_LEN],padr2[MAX_STR_LEN]; int global_operator; char dxc_host[MAX_STR_LEN], dxc_port_str[EQSO_LEN]; char dxc_user[MAX_STR_LEN], dxc_pass[MAX_STR_LEN]; char kst_user[MAX_STR_LEN], kst_pass[MAX_STR_LEN], kst_name[MAX_STR_LEN], slovhf_user[MAX_STR_LEN]; char sota_user[MAX_STR_LEN], sota_pass[MAX_STR_LEN]; char contest_def_is_first = 0; void refresh_contest_def(void *xxx) { int updloc; /* dbg("refresh_contest_def\n");*/ updloc=strcmp(cfg->pwwlo, pwwlo); STORE_STR_UC(cfg,pcall); STORE_STR_UC(cfg,pclub); STORE_STR_UC(cfg,operator_); STORE_INT(cfg, global_operator); STORE_STR_UC(cfg,pwwlo); STORE_STR(cfg,padr1); STORE_STR(cfg,padr2); STORE_STR_UC(cfg,pexch); STORE_STR_UC(cfg,default_rs); STORE_STR_UC(cfg,default_rst); STORE_STR(cfg, dxc_host); STORE_SINT(cfg, dxc_port); STORE_STR(cfg, dxc_user); STORE_STR(cfg, dxc_pass); STORE_STR(cfg, kst_user); STORE_STR(cfg, kst_pass); STORE_STR(cfg, kst_name); STORE_STR(cfg, sota_user); STORE_STR(cfg, sota_pass); STORE_STR(cfg, slovhf_user); if (contest_def_is_first){ g_free(cfg->operator_); cfg->operator_ = g_strdup(pcall); cfg->global_operator = 1; g_free(cfg->dxc_user); cfg->dxc_user = g_strdup(pcall); z_str_lc(cfg->dxc_user); g_free(cfg->kst_user); cfg->kst_user = g_strdup(pcall); z_str_lc(cfg->kst_user); g_free(cfg->sota_user); cfg->sota_user = g_strdup(pcall); z_str_lc(cfg->sota_user); } update_hw(); #ifdef Z_HAVE_SDL if (updloc) { update_hw(); maps_reload(); } maps_update_showwwls(); rain_reload(); #endif if (first_contest_def){ if (strlen(cfg->pcall)==0 || strlen(cfg->pwwlo)==0){ /* zselect_bh_new(zsel, contest_def, NULL);*/ //zselect_bh_new(zsel, destroy_terminal, NULL); zselect_terminate(zsel); }else{ first_contest_def=0; menu_save_rc(NULL); } } net_send_operator(); net_send_read_write_bands(); net_send_talk(); } int contest_def_language(struct dialog_data *dlgd, struct dialog_item_data *dlgid){ menu_language_list(NULL); return 0; } #ifdef Z_HAVE_SDL int contest_def_plus(struct dialog_data *dlgd, struct dialog_item_data *dlgid){ tsdl_change_font('+'); return 0; } int contest_def_minus(struct dialog_data *dlgd, struct dialog_item_data *dlgid){ tsdl_change_font('-'); return 0; } #endif void contest_def(void *pfirst) { struct dialog *d; int i, first; first = GPOINTER_TO_INT(pfirst); contest_def_is_first = first; if (first) { #ifdef Z_HAVE_SDL zsdl_maximize(zsdl, 1); tsdl_optimal_font(); #endif } safe_strncpy0(pcall,cfg->pcall,MAX_STR_LEN); z_str_uc(pcall); safe_strncpy0(pclub,cfg->pclub,MAX_STR_LEN); z_str_uc(pclub); safe_strncpy0(operator_,cfg->operator_,EQSO_LEN); z_str_uc(operator_); global_operator=cfg->global_operator; #ifdef Z_ANDROID if (first){ double h, w; SDL_ANDROID_GetHW(&h, &w); log_addf("contest_def: h=%f w=%f\n", h, w); if (h > -1000 && h < 1000){ hw2loc(pwwlo, h, w, 6); } }else #endif { safe_strncpy0(pwwlo,cfg->pwwlo,MAX_STR_LEN); z_str_uc(pwwlo); } safe_strncpy0(padr1,cfg->padr1,MAX_STR_LEN); safe_strncpy0(padr2,cfg->padr2,MAX_STR_LEN); safe_strncpy0(pexch, cfg->pexch, MAX_EXC_LEN+1); safe_strncpy0(default_rs, cfg->default_rs,MAX_STR_LEN); z_str_uc(default_rs); safe_strncpy0(default_rst,cfg->default_rst,MAX_STR_LEN); z_str_uc(default_rst); safe_strncpy0(dxc_host, cfg->dxc_host, MAX_STR_LEN); g_snprintf(dxc_port_str, EQSO_LEN, "%d", cfg->dxc_port); safe_strncpy0(dxc_user, cfg->dxc_user, MAX_STR_LEN); safe_strncpy0(dxc_pass, cfg->dxc_pass, MAX_STR_LEN); safe_strncpy0(kst_user, cfg->kst_user, MAX_STR_LEN); safe_strncpy0(kst_pass, cfg->kst_pass, MAX_STR_LEN); safe_strncpy0(kst_name, cfg->kst_name, MAX_STR_LEN); safe_strncpy0(sota_user, cfg->sota_user, MAX_STR_LEN); safe_strncpy0(sota_pass, cfg->sota_pass, MAX_STR_LEN); safe_strncpy0(slovhf_user, cfg->slovhf_user, MAX_STR_LEN); if (!(d = (struct dialog *)g_new0(struct dialog, 30))) return; d->title = CTEXT(T_CTEST_DEF); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_contest_def; d->refresh_data = NULL; d->y0 = 1; i = -1; if (first){ d->title = CTEXT(T_WELCOME); d->items[++i].type = D_TEXT; d->items[i].msg = CTEXT(T_WELCOME1); d->items[i].wrap = 1; d->items[++i].type = D_TEXT; d->items[i].msg = CTEXT(T_WELCOME2); d->items[i].wrap = 2; } d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = pcall; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_CALLSIGN2); d->items[i].wrap = 1; if (!first){ d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = pclub; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_CLUB); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = operator_; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_OPERATOR); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&global_operator; d->items[i].msg = CTEXT(T_GLOBAL_OPERATOR2); d->items[i].wrap = 1; } d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = pwwlo; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_YOURWWL); d->items[i].wrap = 1; if (first){ d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = contest_def_language; d->items[i].text = CTEXT(T_LANGUAGE); d->items[i].wrap = 1; #ifdef Z_HAVE_SDL if (sdl){ d->items[++i].type = D_TEXT; d->items[i].msg = CTEXT(T_FONT_SIZE); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = contest_def_plus; d->items[i].text = "+"; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = contest_def_minus; d->items[i].text = "-"; d->items[i].wrap = 1; } #endif } if (!first){ d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = padr1; d->items[i].maxl = 25; d->items[i].msg = CTEXT(T_PADR1); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = padr2; d->items[i].maxl = 25; d->items[i].msg = CTEXT(T_PADR2); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = pexch; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_YOUREXC); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = default_rs; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_RS); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = default_rst; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_RST); d->items[i].wrap = 2; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = dxc_host; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_DXC_HOSTNAME); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = dxc_port_str; d->items[i].maxl = 6; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 65535; d->items[i].msg = CTEXT(T_TCP_PORT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = dxc_user; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_DXC_USERNAME); d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = dxc_pass; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_PASSWORD); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = sota_user; d->items[i].maxl = 14; d->items[i].msg = CTEXT(T_SOTA_USERNAME); d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = sota_pass; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_PASSWORD); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = kst_user; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_KST_USERNAME); d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = kst_pass; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_PASSWORD); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = kst_name; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_KST_YOURNAME); d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = slovhf_user; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_SLOVHF_USER); d->items[i].wrap = 1; } d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = CTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; if (first_contest_def){ d->items[i].fn = ok_dialog; }else{ d->items[i].fn = cancel_dialog; } d->items[i].text = CTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /******************** EDI PROPERTIES *******************************/ /* char padr1[MAX_STR_LEN],padr2[MAX_STR_LEN]; */ void refresh_edi_prop(void *xxx) { /* dbg("refresh_edi_prop\n");*/ STORE_STR(cfg,padr1); STORE_STR(cfg,padr2); } void edi_prop(void *arg) { struct dialog *d; int i; safe_strncpy0(padr1,cfg->padr1,MAX_STR_LEN); safe_strncpy0(padr2,cfg->padr2,MAX_STR_LEN); if (!(d = g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_CTEST_DEF); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_edi_prop; d->y0 = 1; d->items[i=0].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = padr1; d->items[i].maxl = 25; d->items[i].msg = CTEXT(T_PADR1); d->items[i].wrap = 1; d->items[i=1].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = padr2; d->items[i].maxl = 25; d->items[i].msg = CTEXT(T_PADR2); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } int dlg_edi_prop(struct dialog_data *dlg, struct dialog_item_data *di){ edi_prop(NULL); return 0; } tucnak-4.32/src/map.h0000644000175000017500000000704613553260477011410 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __MAP_H #define __MAP_H #include "qrvdb.h" #include "qsodb.h" struct qso; struct band; struct rain_provider; #define MAP_AC_INFO 1 int sw_map_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_map_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_map_redraw(struct subwin *sw, struct band *band, int flags); void sw_map_check_bounds(struct subwin *sw); void sw_map_raise(struct subwin *sw); int maps_reload(void); int maps_update_showwwls(void); void map_clear_qso(struct qso *qso, struct band *band); void map_add_qso(struct qso *qso, struct band *band); #ifdef Z_HAVE_SDL void sw_map_redraw_rect(struct subwin *sw, SDL_Rect *area, struct band *band, int flags); void sw_map_compose(struct subwin *sw, SDL_Rect *area); void sw_map_redraw_rotar(struct subwin *sw, SDL_Rect *area, int flags); void sw_map_redraw_icons(struct subwin *sw, SDL_Rect *area, int flags); void sw_map_redraw_rain(struct subwin *sw, SDL_Rect *area, int flags); void plot_rain_provider(struct subwin *sw, SDL_Rect *aarea, struct rain_provider *provider, int ci); void plot_rain_titles(SDL_Surface *surface, SDL_Rect *area, int flags); void sw_map_update_rotar(struct subwin *sw); void km2px(struct subwin *sw, int kx, int ky, int *px, int *py); void km2px_d(struct subwin *sw, double kx, double ky, int *px, int *py); void px2km(struct subwin *sw, int px, int py, int *kx, int *ky); void pxkm2o(struct subwin *sw, int px, int py, int kx, int ky, int *ox, int *oy); void km2qrbqtf(int kx, int ky, double *qrb, double *qtf); void plot_cor(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area, int flags); void plot_wkd_wwls(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area); void plot_qth(struct subwin *sw, SDL_Rect *area); void plot_qrv(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qrv_item *qi); void plot_qrvs(struct subwin *sw, SDL_Surface *surface, struct band *band, SDL_Rect *area); void plot_gst(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area, double gst[360], int c); void plot_qso(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qso *qso); void plot_qsos(struct subwin *sw, SDL_Surface *surface, struct band *band, SDL_Rect *area); void plot_nearest_qso(struct subwin *sw, struct band *band); void plot_nearest_qrv(struct subwin *sw, struct band *band); void plot_info_qso(struct subwin *sw, SDL_Surface *surface, struct qso *qso); void plot_info_qrv(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qrv_item *qi); int plot_qrb_qth(struct subwin *sw, SDL_Surface *surface, int mouse_x, int mouse_y); void plot_rotars(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area, SDL_Rect *outarea); void map_update_layout(struct subwin *sw); void move_map(struct subwin *sw, struct band *band, int dx, int dy); void zoom(struct subwin *sw, double factor, int centerx, int centery); int map_update_qth(struct subwin *sw); void map_recalc_cors(void); struct qso *find_nearest_qso(struct band *b, int mouse_x, int mouse_y); gchar *find_nearest_qrv(struct qrvdb *qrvdb, struct band *band, int mouse_x, int mouse_y); void map_for_photo(struct subwin *sw, struct band *band, int flags); void map_recalc_gst(struct subwin *sw, struct band *band); void plot_hgts(struct subwin *sw, SDL_Rect *area); void map_cor_callback(void); #endif #endif tucnak-4.32/src/uhpd.c0000644000175000017500000000303612135555736011561 00000000000000/* uhpd.c - UDP hole punch daemon Copyright (C) 2013 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include #include #include #include #include #include #include #define PORT 7373 #define KEY "uhp" int main(int argc, char *argv[]){ int ret, i, sock; struct sockaddr_in sin; sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if (sock < 0) { perror("socket() failed"); return -1; } memset(&sin, 0, sizeof(sin)); sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; sin.sin_port = htons(7373); ret = bind(sock, (struct sockaddr *)&sin, sizeof(sin)); if (ret < 0) { perror("bind() failed"); return -1; } ret = fork(); if (ret != 0) return 0; // child for (i = 0; i < 10; i++) { if (i != sock) close(i); } while(1){ char buf[2048]; socklen_t slen = sizeof(sin); ret = recvfrom(sock, buf, sizeof(buf), 0, (struct sockaddr*)&sin, &slen); if (ret < strlen(KEY)) continue; if (memcmp(buf, KEY, strlen(KEY)) != 0) continue; sprintf(buf, "%s:%d\r\n", inet_ntoa(sin.sin_addr), (unsigned short)ntohs(sin.sin_port)); ret = sendto(sock, buf, strlen(buf), 0, (struct sockaddr*)&sin, sizeof(sin)); } return 0; } tucnak-4.32/src/masterdb.h0000644000175000017500000000200012125053311012372 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __MASTERDB_H #define __MASTERDB_H #include "header.h" struct masterdb{ ZHashTable *masters; /* key=call, value=name */ }; extern struct masterdb *masterdb; struct masterdb *init_masterdb(void); void free_masterdb(struct masterdb *masterdb); void add_masterdb(struct masterdb *masterdb, gchar *call); gint get_masterdb_size(struct masterdb *masterdb); void load_one_masterdb(struct masterdb *masterdb, gchar *s); int load_masterdb_from_mem(struct masterdb *masterdb, const char *file, const long int len); int load_masterdb_from_file(struct masterdb *masterdb, gchar *filename); void read_masterdb_files(struct masterdb *masterdb); gchar *masterdb_search(struct masterdb *masterdb, char *pattern, int maxreslen); #endif tucnak-4.32/src/namedb.h0000644000175000017500000000210512044234256012036 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __NAMEDB_H #define __NAMEDB_H struct namedb{ GHashTable *names; /* key=rawcall, value=name */ int dirty; //GHashTable *dummy; }; extern struct namedb *namedb; struct namedb *init_namedb(void); void free_namedb(struct namedb *namedb); void read_namedb_files(struct namedb *namedb); gchar *find_name_by_call(struct namedb *namedb, gchar *call); int save_namedb_into_file(struct namedb *namedb, gchar *filename); void add_namedb(struct namedb *namedb, gchar *call, gchar *name); gint get_namedb_size(struct namedb *namedb); int save_namedb(struct namedb *namedb, int verbose); int load_namedb_from_mem(struct namedb *namedb, const char *file, size_t len); int format_namedb_string(struct namedb *namedb, GString *gs); void load_one_namedb(struct namedb *namedb, gchar *s); #endif tucnak-4.32/src/control.c0000644000175000017500000002525413721016253012273 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "control.h" #include "fifo.h" #include "inputln.h" #include "kbd.h" #include "net.h" #include "session.h" #include "terminal.h" static char *strstates[]={"RUN","SP","REQR","REQS","RUNNING","GIVEN"}; static char *strccmds[]={"REQ","ACC","REJ","BACK"}; void menu_forcerun(void *arg){ gchar *c; struct band *b; if (!ctest || !aband) return; b=aband; dbg("forcerun (st=%s)\n", strstates[b->ctrlstate]); c=g_strdup_printf("GR %s;%d;%s\n", b->pband, CCMD_REJ,gnet->myid); dbg(" send %s",c); rel_write_all(c); g_free(c); b->ctrlstate=CTRL_RUN; redraw_later(); } int can_cq(struct band *b){ if (!b) return 1; /* no contest, no limit */ return (b->ctrlstate&0x01)==0; } int can_tx(struct band *b){ if (!b) return 1; /* no contest, no limit */ return (b->ctrlstate&0x01)==0 || b->ctrlstate==CTRL_GIVEN; } void menu_grabband(void *cba){ gchar *c; struct band *b; int ctx1,ctx2; if (!ctest || !aband) return; b=aband; ctx1=can_cq(b); dbg("grabband (st=%s)\n", strstates[b->ctrlstate]); switch(b->ctrlstate){ /* RUN */ case CTRL_RUN:/* mozna poslat CCMD_REJ, aby S&P vychcipali */ break; case CTRL_REQR: b->ctrlstate=CTRL_GIVEN; c=g_strdup_printf("GR %s;%d;%s\n", b->pband, CCMD_ACC, b->ctrlsp); dbg(" send %s",c); rel_write_all(c); g_free(c); break; case CTRL_GIVEN: break; /* S&P */ case CTRL_SP: b->ctrlstate=CTRL_REQS; c=g_strdup_printf("GR %s;%d;%s\n", b->pband, CCMD_REQ, gnet->myid); dbg(" send %s",c); rel_write_all(c); g_free(c); break; case CTRL_REQS: case CTRL_RUNNING: /* see ctrl_back */ b->ctrlstate=CTRL_SP; c=g_strdup_printf("GR %s;%d;%s\n", b->pband, CCMD_BACK, gnet->myid); dbg(" send %s",c); rel_write_all(c); g_free(c); break; } ctx2=can_cq(b); if (ctx1 && !ctx2) rx(); dbg(" (st=%s)\n", strstates[b->ctrlstate]); redraw_later(); } void net_grab(struct band *b, enum ccmd ccmd, gchar *netid){ int ctx1,ctx2; if (!b) return; dbg("net_grab (st=%s, cmd=%s, netid=%s)\n",strstates[b->ctrlstate],strccmds[ccmd], netid); ctx1=can_cq(b); switch(b->ctrlstate){ /* RUN */ case CTRL_RUN: case CTRL_REQR: case CTRL_GIVEN: switch(ccmd){ case CCMD_REQ: b->ctrlstate=CTRL_REQR; zg_free0(b->ctrlsp); b->ctrlsp=g_strdup(netid); break; case CCMD_BACK: b->ctrlstate=CTRL_RUN; break; case CCMD_REJ: /* first "force run mode" */ b->ctrlstate=CTRL_SP; break; default: break; } break; /* S&P */ case CTRL_SP: case CTRL_REQS: case CTRL_RUNNING: switch(ccmd){ case CCMD_ACC: if (strcmp(netid,gnet->myid)) { b->ctrlstate=CTRL_SP; /* other S&P become control */ }else{ b->ctrlstate=CTRL_RUNNING; } break; case CCMD_REJ: b->ctrlstate=CTRL_SP; break; default: break; } break; } ctx2=can_cq(b); if (ctx1 && !ctx2) rx(); dbg(" (st=%s)\n", strstates[b->ctrlstate]); redraw_later(); } void ctrl_back(struct band *b){ int ctx1,ctx2; gchar *c; if (!b) return; ctx1=can_cq(b); switch(b->ctrlstate){ /* S&P */ case CTRL_SP: case CTRL_REQS: case CTRL_RUNNING: /* see menu_grabband/CTRL_RUNNING */ b->ctrlstate=CTRL_SP; c=g_strdup_printf("GR %s;%d;%s\n", b->pband, CCMD_BACK, gnet->myid); dbg(" send %s",c); rel_write_all(c); g_free(c); break; default: break; } ctx2=can_cq(b); if (ctx1 && !ctx2) rx(); } void wkd_tmpqso(struct band *band, enum wt_type type, gchar *str){ gchar *c; if (!ctest || !band || !str) return; c=g_strdup_printf("WT %s;%s;%d;%s\n", band->pband, gnet->myid, type, str); /*dbg("%s\n", c);*/ rel_write_all(c); g_free(c); } void peer_tx(struct band *band, int tx){ gchar *c; if (!ctest || !band) return; c=g_strdup_printf("PT %s;%s;%d\n", band->pband, gnet->myid, tx); rel_write_all(c); g_free(c); } /*void menu_spy(void * cba){ if (!ctest || !aband) return; aband->spymode++; if (aband->spymode>=SM_LAST) aband->spymode=SM_INPUTLINE; redraw_later(); } */ void do_endspy(void *arg, void *arg2){ struct spypeer *sp; int i; char *filename; i = GPOINTER_TO_INT(arg); if (i<0 || i>=ctest->spypeers->len) return; sp=(struct spypeer *)g_ptr_array_index(ctest->spypeers, i); free_spypeer(sp); g_ptr_array_remove(ctest->spypeers, sp); filename = g_strdup_printf("%s/spy", ctest->directory); save_spypeers_to_file(filename); g_free(filename); resize_terminal(NULL); } void menu_endspy(void *arg){ int i; struct menu_item *mi = NULL; struct spypeer *sp; if (!ctest) return; if (!ctest->spypeers->len) return; if (!(mi = new_menu(3))) return; for (i=0; ispypeers->len;i++){ gchar *c; sp=(struct spypeer *)g_ptr_array_index(ctest->spypeers, i); c=g_strdup_printf("%-6s %c %s", sp->operator_, sp->bandchar, sp->peerid); add_to_menu(&mi,g_strdup(c),"", "", do_endspy, GINT_TO_POINTER(i), 0); g_free(c); } do_menu_selected(mi, NULL, 0); } void send_inputline(struct band *band){ gchar *c; if (!band) return; c = g_strdup_printf("WI %s;%s;%s\n", band->pband, gnet->myid, band->il->cdata); rel_write_all(c); g_free(c); } void free_spypeer(struct spypeer *sp){ clear_spypeer(sp); zg_free0(sp->peerid); zg_free0(sp->operator_); zg_free0(sp->inputline); g_free(sp); } void free_spypeers(GPtrArray *sps){ int i; if (!sps) return; for (i=0;ilen;i++){ struct spypeer *sp; sp=(struct spypeer *)g_ptr_array_index(sps, i); free_spypeer(sp); } g_ptr_array_free(sps,1); } struct spypeer *init_spypeer(GPtrArray *sps, gchar *peerid, char bandchar){ struct spypeer *sp; char *filename; sp=get_spypeer_by_peerid(sps, peerid, bandchar); if (sp){ g_ptr_array_remove(sps, sp); free_spypeer(sp); } sp=g_new0(struct spypeer, 1); sp->peerid=g_strdup(peerid); sp->bandchar=bandchar; sp->peertx=-1; g_ptr_array_add(sps, sp); filename = g_strdup_printf("%s/spy", ctest->directory); save_spypeers_to_file(filename); g_free(filename); resize_terminal(NULL); return sp; } struct spypeer *get_spypeer_by_peerid(GPtrArray *sps, gchar *peerid, char bandchar){ int i; bandchar=toupper(bandchar); for (i=0;ilen;i++){ struct spypeer *sp; sp=(struct spypeer *)g_ptr_array_index(sps, i); if (strcmp(sp->peerid, peerid)) continue; if (sp->bandchar != bandchar) continue; return sp; } return NULL; } void clear_spypeer(struct spypeer *sp){ zg_free0(sp->callsign); zg_free0(sp->rsts); zg_free0(sp->rstr); zg_free0(sp->qsonrs); zg_free0(sp->qsonrr); zg_free0(sp->exc); zg_free0(sp->locator); zg_free0(sp->remark); } void send_spypeer_request(void *arg){ char *peerid; gchar **items; char bandchar; int i, no; no = GPOINTER_TO_INT(arg); dbg("send_spypeer_request no='%d'\n", no); dbg("bpeers='%s'\n", gnet->bpeers); items = g_strsplit(gnet->bpeers,";",0); /*for (i=0; items[i]!=NULL;i++){ if (i==no) goto found; } */ for (i=0; items[i]!=NULL && items[i+1]!=NULL && items[i+2]!=NULL; i+=3){ dbg("i=%d\n", i); if (i==no*3) goto found; } dbg("not found\n"); goto x; found: dbg("found i=%d, no=%d\n", i, no); peerid=items[i]; bandchar=items[i+2][0]; spypeer_add(peerid, bandchar, 1); x:; g_strfreev(items); } void spypeer_add(char *peerid, char bandchar, int send_request){ struct spypeer *sp; //dbg("spypeer_add: peerid=%s bandchar=%c pband=%s\n", peerid, bandchar, b->pband); sp = init_spypeer(ctest->spypeers, peerid, bandchar); if (send_request) spypeer_send_request(sp); } void spypeer_send_request(struct spypeer *sp){ struct band *b; gchar *c; b = find_band_by_bandchar(sp->bandchar); if (!b){ dbg("band %c not found\n", sp->bandchar); return; } c = g_strdup_printf("RT %s;%s\n", b->pband, sp->peerid); rel_write_all(c); g_free(c); } void spypeer_send_requests(){ int i; for (i=0;ispypeers->len; i++){ struct spypeer *sp; sp = (struct spypeer *)g_ptr_array_index(ctest->spypeers, i); spypeer_send_request(sp); } } int load_spypeers_from_file(char *filename){ FILE *f; gchar *c; GString *gs; gchar **items, *peerid; char bandchar; f=fopen(filename,"rt"); if (!f) return 1; gs = g_string_sized_new(100); while( (c=zfile_fgets(gs, f, 0)) != NULL){ items = g_strsplit(c, ";", 3); if (!items) continue; if (!items[0] || !items[1] || !items[2]) { g_strfreev(items); continue; } peerid=items[0]; bandchar=items[1][0]; spypeer_add(peerid, bandchar, 0); } g_string_free(gs, 1); fclose(f); return 0; } int save_spypeers_to_file(char *filename){ FILE *f; int i; f = fopen(filename, "wt"); if (!f){ log_addf(VTEXT(T_CANT_WRITE_S), filename); return errno; } for (i=0;ispypeers->len; i++){ struct spypeer *sp; sp = (struct spypeer *)g_ptr_array_index(ctest->spypeers, i); fprintf(f, "%s;%c;\n", sp->peerid, sp->bandchar); } fclose(f); return 0; } tucnak-4.32/src/sdrc.h0000644000175000017500000000142612652670156011560 00000000000000/* sdrc.h - headers for SDR client Copyright (C) 2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SDRC_H #define __SDRC_H #include "header.h" #include "dsp.h" int sdrc_open(struct dsp *dsp, int rec); int sdrc_close(struct dsp *dsp); int sdrc_write(struct dsp *dsp, void *data, int frames); int sdrc_read(struct dsp *dsp, void *data, int frames); int sdrc_reset(struct dsp *dsp); int sdrc_sync(struct dsp *dsp); #ifdef HAVE_SNDFILE int sdrc_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec); #endif int sdrc_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec); #endif tucnak-4.32/src/wizz.c0000644000175000017500000001213714000322113011574 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "language2.h" #include "main.h" #include "wizz.h" #include "tsdl.h" #define STORE_WIZZ_INT(name) \ else if (strcasecmp(k, #name)==0){ \ wi->name = atoi(item); \ } \ #define STORE_WIZZ_ENUM(name, type) \ else if (strcasecmp(k, #name)==0){ \ wi->name = (type)atoi(item); \ } \ #define STORE_WIZZ_STR(name) \ else if (strcasecmp(k, #name)==0){ \ if (wi->name) g_free(wi->name); \ wi->name = g_strdup(item); \ } \ struct wizz *wizz; struct wizz *init_wizz(void){ struct wizz *wizz; progress(VTEXT(T_INIT_WIZZ)); wizz = g_new0(struct wizz, 1); wizz->items = g_ptr_array_new(); return wizz; }; void free_wizz_item(struct wizz_item *wi){ if (wi->tname) g_free(wi->tname); if (wi->pexch) g_free(wi->pexch); if (wi->excname) g_free(wi->excname); if (wi->bands) g_free(wi->bands); g_free(wi); } void free_wizz(struct wizz *wizz){ int i; struct wizz_item *wi; progress(VTEXT(T_FREE_WIZZ)); for (i=wizz->items->len-1; i>=0; i--){ wi = (struct wizz_item *)g_ptr_array_index(wizz->items, i); free_wizz_item(wi); } g_ptr_array_free(wizz->items, TRUE); /* YES, TRUE */ g_free(wizz); } struct wizz_item *find_wizz(struct wizz *wizz, gchar *str){ struct wizz_item *wi; int i; for (i=0; iitems->len; i++){ wi = (struct wizz_item *)g_ptr_array_index(wizz->items, i); if (!wi->tname) continue; if (strcasecmp(wi->tname, str)==0) return wi; } return NULL; } int load_wizz_from_file(struct wizz *wizz, gchar *filename){ FILE *f; GString *gs; struct wizz_item *wi=NULL; gchar **items, *k, *item; long int pos; f=NULL; pos=0; /*dbg("load_wizz_from_file('%s')\n", filename);*/ if (filename){ f = fopen(filename, "rt"); if (!f) { /* dbg("Can't open '%s'\n", filename);*/ return -1; } } gs = g_string_sized_new(100); while(1){ if (filename){ if (!zfile_fgets(gs, f, 1)) break; }else{ if (!zfile_mgets(gs, txt_tucnakwiz, &pos, sizeof(txt_tucnakwiz), 1)) break; } g_strstrip(gs->str); if (gs->str[0]=='['){ gchar *tname; tname = g_strdup(gs->str+1); if (strlen(tname)>0 && tname[strlen(tname)-1]==']') tname[strlen(tname)-1]='\0'; wi = find_wizz(wizz, tname); if (!wi) { wi = g_new0(struct wizz_item,1); g_ptr_array_add(wizz->items, wi); wi->wwlcfm = 1; wi->exccfm = 1; } /*dbg("BEGIN '%s'\n", gs->str+1);*/ zg_free0(wi->tname); wi->tname = tname; /* dbg(" set tname='%s' \n", tname);*/ continue; } items=g_strsplit(gs->str, "=", 2); if (!items[0] || !items[1]) { g_strfreev(items); continue; } k=items[0]; item=items[1]; /*dbg(" '%s'='%s'\n", k, item);*/ if (strlen(k) > 8 && strncasecmp(k, "qsomult_", 8) == 0){ struct wizz_qsomult_item *wqi = g_new0(struct wizz_qsomult_item, 1); wqi->bandchar = z_char_uc(k[8]); wqi->qsomult = atoi(item); wqi->next = wi->qsomults; wi->qsomults = wqi; } STORE_WIZZ_STR(pexch) STORE_WIZZ_INT(rstused) STORE_WIZZ_INT(qsoused) STORE_WIZZ_INT(qsomult) STORE_WIZZ_INT(qsoglob) STORE_WIZZ_INT(expmode) STORE_WIZZ_ENUM(tttype, enum tttype) STORE_WIZZ_INT(wwlused) STORE_WIZZ_INT(wwlbonu) STORE_WIZZ_INT(wwlmult) STORE_WIZZ_INT(wwlcfm) STORE_WIZZ_INT(excused) STORE_WIZZ_INT(excbonu) STORE_WIZZ_INT(excmult) STORE_WIZZ_INT(exccfm) STORE_WIZZ_ENUM(exctype, enum exctype) STORE_WIZZ_STR(excname) STORE_WIZZ_INT(rstused) STORE_WIZZ_INT(defrstr) STORE_WIZZ_INT(prefmult) STORE_WIZZ_INT(prefglob) STORE_WIZZ_INT(dxcmult) STORE_WIZZ_INT(dxcbonu) STORE_WIZZ_INT(qsop_method) STORE_WIZZ_INT(total_method) STORE_WIZZ_STR(bands) else{ dbg("!!! unresolved key '%s'\n", k); } g_strfreev(items); } if (filename) fclose(f); g_string_free(gs, 1); return 0; } void read_wizz_files(struct wizz *wizz){ gchar *s; int ret; progress(VTEXT(T_LOAD_WIZZ_DATA)); s = g_strconcat(tucnak_dir, "/tucnakwiz", NULL); z_wokna(s); ret=load_wizz_from_file(wizz, s); g_free(s); if (ret<0){ load_wizz_from_file(wizz, NULL); } } struct wizz_item *get_wizz(struct wizz *wizz, int i){ return (struct wizz_item *) g_ptr_array_index(wizz->items, i); } tucnak-4.32/src/kbdbind.h0000644000175000017500000000366214035370711012215 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __KBDBIND_H #define __KBDBIND_H #include "header.h" struct event; #define KM_MAIN 0 #define KM_EDIT 1 #define KM_MENU 2 #define KM_MAX 3 enum { ACT_AC_CQ, ACT_AC_INFO, ACT_BACKSPACE, ACT_CALLINFO, ACT_CHOP, ACT_CLEAR_TMPQSOS, ACT_CLEAR_TMPQSOS_INPUTLINE, ACT_CONFIRM_CALL, ACT_CONFIRM_EXC, ACT_CONFIRM_WWL, ACT_COPY_CLIPBOARD, ACT_CQ_0, ACT_CQ_1, ACT_CQ_2, ACT_CQ_3, ACT_CQ_4, ACT_CQ_5, ACT_CUT_CLIPBOARD, ACT_DELETE, ACT_DOWN, ACT_END, ACT_ENTER, ACT_ESC, ACT_FILE_MENU, ACT_FIND_NEXT, ACT_FIND_NEXT_BACK, ACT_FULLSCREEN, ACT_GRAB_BAND, ACT_HOME, ACT_INSERT, ACT_KILL_LINE, ACT_KILL_TO_BOL, ACT_KILL_TO_EOL, ACT_LASTCALL_KST, ACT_LEFT, ACT_MAXIMIZE, ACT_MENU, ACT_MODE, ACT_NEXT_HISTORY, ACT_NEXT_SUBWIN, ACT_NEWCALL_KST, ACT_OPEN_NET, ACT_PAGE_DOWN, ACT_PAGE_UP, ACT_PASTE_CLIPBOARD, ACT_PREV_HISTORY, ACT_PREV_SUBWIN, ACT_PLAY_LAST, ACT_QUIT, ACT_REALLYQUIT, ACT_RIGHT, ACT_ROTAR, ACT_RUNMODE, ACT_RX, ACT_RXTX, ACT_SAVE_ALL, /* ACT_SCROLL_DOWN,*/ ACT_SCREENSHOT, ACT_SCROLL_LEFT, ACT_SCROLL_RIGHT, /* ACT_SCROLL_UP,*/ ACT_SEARCH, ACT_SEARCH_BACK, ACT_SEEK_A, ACT_SEEK_B, ACT_SHOW_HISTORY, ACT_SKED, ACT_SKED_QRG, ACT_SWAP_CALL, ACT_SWAP_WWL, /* ACT_TX, */ ACT_TOGGLE_SPLIT_VFO, ACT_TUNE, ACT_UNFINISHED, ACT_UP, ACT_WINDOWSHOT, ACT_ZOOM0, ACT_ZOOMIN, ACT_ZOOMOUT }; void init_keymaps(void); void free_keymaps(void); int kbd_action(int, struct event *); #endif tucnak-4.32/src/hdkeyb.c0000644000175000000410000001452414046276161012056 00000000000000/* hdkeyb.c - routines for hdkeyb control http://ok1zia.nagano.cz/wiki/Hdkeyb Copyright (C) 2010-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "ac.h" #include "fifo.h" #include "hdkeyb.h" #include "language2.h" #include "main.h" #include "rotar.h" #include "sdev.h" #include "terminal.h" #include "tsdl.h" struct hdkeyb *hdkeyb; struct hdkeyb *init_hdkeyb(void){ struct hdkeyb *hdkeyb; progress(VTEXT(T_INIT_ROTAR)); hdkeyb = g_new0(struct hdkeyb, 1); hdkeyb->zhdkeyb = zhdkeyb_init(zsel); hdkeyb_draw_rotars(hdkeyb); return hdkeyb; } void free_hdkeyb(struct hdkeyb *hdkeyb){ if (!hdkeyb) return; progress(VTEXT(T_FREE_ROTAR)); zhdkeyb_free(hdkeyb->zhdkeyb); g_free(hdkeyb); } void hdkeyb_read_handler(int n, char **items){ char *cmd, *key; if (!hdkeyb) return; cmd = items[1]; //dbg("hdkeyb_read_handler rcvd: '%s' cmd='%s'\n", s, cmd); if (strcmp(cmd, "!")==0){ /* error */ log_addf("Hdkeyb error: %s %s", items[2], items[3]); } if (strcasecmp(cmd, "k")==0){ key=items[2]; hdkeyb_key(hdkeyb, key[0]); } redraw_later(); } void hdkeyb_key(struct hdkeyb *hdkeyb, char key){ //dbg("Hdkeyb key='%c'\n", key); int len = strlen(hdkeyb->qtfstr); switch (key){ case 'A': hdkeyb_activate(hdkeyb, 0); return; case 'B': hdkeyb_activate(hdkeyb, 1); return; } if (len == 0){ switch(key){ case 'C': hdkeyb_activate(hdkeyb, 2); return; case 'D': hdkeyb_activate(hdkeyb, 3); return; case '0': case '1': case '2': case '3': hdkeyb->qtfstr[len++] = key; hdkeyb->qtfstr[len] = '\0'; break; case '4': hdkeyb_rel_qtf(hdkeyb, -5); return; case '6': hdkeyb_rel_qtf(hdkeyb, +5); return; case '7': hdkeyb_rel_qtf(hdkeyb, -10); return; case '9': hdkeyb_rel_qtf(hdkeyb, +10); return; case '*': hdkeyb_rel_qtf(hdkeyb, -2); return; case '#': hdkeyb_rel_qtf(hdkeyb, +2); return; } }else{ switch(key){ case 'C': hdkeyb->qtfstr[len - 1] = '\0'; return; case 'D': hdkeyb_set_qtf(hdkeyb); return; } if (key >= '0' && key <= '9'){ hdkeyb->qtfstr[len++] = key; hdkeyb->qtfstr[len] = '\0'; } } len = strlen(hdkeyb->qtfstr); if (len == 3) hdkeyb_set_qtf(hdkeyb); hdkeyb_draw_rotar(hdkeyb, hdkeyb->actnr); } void hdkeyb_activate(struct hdkeyb *hdkeyb, int nr){ int oldnr; dbg("hdkeyb_activate(%d) old=%d\n", nr, hdkeyb->actnr); oldnr = hdkeyb->actnr; hdkeyb->actnr = nr; hdkeyb_draw_rotar(hdkeyb, oldnr); hdkeyb_draw_rotar(hdkeyb, nr); hdkeyb->qtfstr[0] = '\0'; } void hdkeyb_set_qtf(struct hdkeyb *hdkeyb){ struct rotar *rot; int qtf; rot = get_rotar(hdkeyb->actnr); if (rot){ qtf = atoi(hdkeyb->qtfstr); ac_track(gacs, NULL, -10); rot_seek(rot, qtf, -90); dbg("******** rot_seek(%c, %d, %03d)\n", rot->rotchar, rot->sdev->saddr, qtf); } strcpy(hdkeyb->qtfstr, ""); } void hdkeyb_rel_qtf(struct hdkeyb *hdkeyb, int rel){ struct rotar *rot; int qtf; rot = get_rotar(hdkeyb->actnr); if (!rot) return; qtf = rot->qtf + rel; ac_track(gacs, NULL, -10); rot_seek(rot, qtf, -90); } void hdkeyb_draw_rotar(struct hdkeyb *hdkeyb, int nr){ int li, co; struct rotar *rot; if (!hdkeyb) return; rot = get_rotar(nr); if (!rot) return; li = nr / 2; co = (nr % 2) * Z_HDKEYB_CHARS / 2; // dbg("nr=%d li=%d co=%d\n", nr, li, co); if (nr == hdkeyb->actnr){ if (strlen(hdkeyb->qtfstr) > 0){ zhdkeyb_printf(hdkeyb->zhdkeyb, li, co, "\x02%c%3s\x01\x03", 'A' + nr, hdkeyb->qtfstr); }else{ zhdkeyb_printf(hdkeyb->zhdkeyb, li, co, "\x02%c%03d\x01\x03", 'A' + nr, rot->qtf); } }else{ zhdkeyb_printf(hdkeyb->zhdkeyb, li, co, " %c%03d\x01 ", 'A' + nr, rot->qtf); } } void hdkeyb_draw_rotars(struct hdkeyb *hdkeyb){ int i; // return; for (i=0; i < Z_HDKEYB_LINES * 2; i++) hdkeyb_draw_rotar(hdkeyb, i); //hdkeyb_dump_vrams(hdkeyb); } #if 0 int hdkeyb_test(void){ struct hdkeyb *hdkeyb; int i; dbg("\n\n\n"); hdkeyb = init_hdkeyb(); if (!hdkeyb) { error("init_hdkeyb() failed\n"); return -1; } hdkeyb_setdir(hdkeyb); hdkeyb_reset(hdkeyb); usleep(300000); /*// dbg("1 %x\n", hdkeyb->rd); hdkeyb->wr = 0x55; WRITE; // dbg("2 %x\n", hdkeyb->rd); hdkeyb->wr = 0xaa; WRITE; // dbg("3 %x\n", hdkeyb->rd); READ; // dbg("4 %x\n", hdkeyb->rd); READ; READ; // dbg("5 %x\n", hdkeyb->rd); hdkeyb_free(hdkeyb); */ /* while(1){ int a= hdkeyb_key(hdkeyb); if (a==0) continue; dbg("%c\n", a); } */ // gst_start(); // hdkeyb_print2(hdkeyb, 0, "ABC"); char ss[50]; strcpy(ss, ""); for (i=0; i<100000000; i++){ char s[50]; sprintf(s, "jedeme %d", i); hdkeyb_setdir(hdkeyb); hdkeyb_print(hdkeyb, 80, s); int a= hdkeyb_key(hdkeyb); if (a==0) continue; if (a==-1) continue; dbg("%d\n", a); switch(a){ case 'C': if (strlen(ss)==0) break; ss[strlen(ss)-1]='\0'; break; default: if (strlen(ss)==15) break; ss[strlen(ss)+1]='\0'; ss[strlen(ss)]=a; break; } sprintf(s, "%-16s", ss); hdkeyb_print(hdkeyb, 16, s); } // gst_stop(); return 0; } #endif tucnak-4.32/src/sdrc.c0000644000175000017500000001111012657272651011545 00000000000000/* sdrc.c - SDR client Copyright (C) 2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "sdrc.h" #include "rc.h" #include "sdrd.h" static int sdrc_send_packet(struct dsp *dsp, void *packet){ int wr, err, pktlen; char errbuf[256]; if (dsp->sock <= 0) return -1; pktlen = sizeof(struct sdrd_header) + ((struct sdrd_header *)packet)->len; wr = send(dsp->sock, (char*)packet, pktlen, 0); err = errno; if (wr <= 0) { printf("Send failed sock=%d err=%d %s\n", dsp->sock, err, z_sock_strerror()); closesocket(dsp->sock); dsp->sock = -1; } return wr; } int sdrc_open(struct dsp *dsp, int rec){ int ret; struct sockaddr_in sin; struct hostent *he; struct sdrd_setup *packet; dbg("sdrc_open(%s)\n", rec?"record":"playback"); if (dsp->rdbuf) zbinbuf_free(dsp->rdbuf); dsp->rdbuf = zbinbuf_init(); dsp->sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); // no nonblock memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = htons(SDRD_TCP_PORT); he = gethostbyname(cfg->sdr_remoterx); if (!he) goto err; memcpy(&sin.sin_addr, he->h_addr_list[0], he->h_length); ret = connect(dsp->sock, (struct sockaddr *) &sin, sizeof(struct sockaddr_in)); if (ret < 0) goto x; zg_free0(dsp->name); dsp->name = g_strdup_printf("sdrc://%s:%d", inet_ntoa(sin.sin_addr), ntohs(sin.sin_port)); dsp->samples = dsp->frames * dsp->channels; dsp->bytes = dsp->samples * sizeof(short); packet = g_new0(struct sdrd_setup, 1); packet->hdr.cmd = SDRD_CMD_SETUP; packet->hdr.len = sizeof(struct sdrd_setup) - sizeof(struct sdrd_header); packet->speed = dsp->speed; packet->channels = dsp->channels; packet->frames = dsp->frames; sdrc_send_packet(dsp, packet); g_free(packet); //log_addf("sdrc opened, rate=%d, bufsize=%df %ds %db", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); dbg("sdrc opened, rate=%d, bufsize=%df %ds %db\n", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); goto x; err:; sdrc_close(dsp); x:; return 0; } int sdrc_close(struct dsp *dsp){ dbg("sdrc_close()\n"); dsp->reset(dsp); z_pipe_close(dsp->pipe[0]); z_pipe_close(dsp->pipe[1]); dsp->pipe_opened = 0; dsp->pipe_opened_for_play = 0; return 0; } int sdrc_write(struct dsp *dsp, void *data, int frames){ /*int ret; int bytes = (frames * dsp->bytes) / dsp->frames; ret = z_pipe_write(dsp->pipe[1], data, bytes); if (ret > 0) ret = (ret * dsp->frames) / dsp->bytes; return ret;*/ return -1; } int sdrc_read(struct dsp *dsp, void *adata, int frames){ int ret; char buf[1028]; int bytes = (frames * dsp->bytes) / dsp->frames; char *data = (char*)adata, *src; int datalen = 0, len; short *sh; while(datalen < bytes){ fd_set fds; struct timeval tv = {0, 1000000}; FD_ZERO(&fds); FD_SET(dsp->sock, &fds); ret = select(dsp->sock + 1, &fds, NULL, NULL, &tv); if (ret < 0) return ret; if (ret == 0) return -1; // timeout // must be dsp->sock, maybe no need to test FD_ISSET ret = recv(dsp->sock, buf, sizeof(buf), 0); sh = (short*)buf; dbg("recv(%d, len=%d) = %d (%d) data=%d %d %d %d\n", dsp->sock, sizeof(buf), ret, z_sock_errno, sh[0], sh[1], sh[2], sh[3]); if (ret <= 0) return ret; zbinbuf_append_bin(dsp->rdbuf, buf, ret); while (datalen < bytes && dsp->rdbuf->len >= sizeof(struct sdrd_header)){ struct sdrd_header *packet = (struct sdrd_header *)dsp->rdbuf->buf; if (dsp->rdbuf->len < sizeof(struct sdrd_header) + packet->len) break; switch (packet->cmd){ case SDRD_CMD_DATA: len = packet->len; if (datalen + packet->len > bytes) len = bytes - datalen; // some data will be lost src = (char *)packet; src += sizeof(struct sdrd_header); memcpy(data + datalen, src, len); datalen += len; zbinbuf_erase(dsp->rdbuf, 0, sizeof(struct sdrd_header) + packet->len); break; } } } return frames; } int sdrc_reset(struct dsp *dsp){ return 0; } int sdrc_sync(struct dsp *dsp){ return 0; } #ifdef HAVE_SNDFILE int sdrc_set_format(struct dsp *dsp, SF_INFO *sfinfo, int ret){ dsp->speed = sfinfo->samplerate; dsp->channels = sfinfo->channels; dsp->frames = 0; return 0; } #endif int sdrc_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec){ dsp->speed = speed; dsp->channels = 2; dsp->frames = frames; if (dsp->speed != 0) dsp->period_time = frames * 1000 / dsp->speed; return 0; } tucnak-4.32/src/rc.c0000644000175000000410000031047114047225366011216 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "cwdaemon.h" #include "dsp.h" #include "fifo.h" #include "qsodb.h" #include "main.h" #include "menu.h" #include "rc.h" #include "rotar.h" #include "trig.h" #include "tsdl.h" #include "session.h" #include "subwin.h" struct config *cfg; int opt_g=0, opt_i=0, opt_m=0, opt_s=0, opt_t=0, debug_keyboard=0, opt_x=0; long long tl; enum { SYMBOL_OBSOLETE = G_TOKEN_LAST + 10000, SYMBOL_MY_FIRST = G_TOKEN_LAST + 1, SYMBOL_PCALL = G_TOKEN_LAST + 1, SYMBOL_PWWLO = G_TOKEN_LAST + 2, SYMBOL_PEXCH = G_TOKEN_LAST + 3, SYMBOL_PADR1 = G_TOKEN_LAST + 4, SYMBOL_PADR2 = G_TOKEN_LAST + 5, SYMBOL_PCLUB = G_TOKEN_LAST + 6, SYMBOL_RNAME = G_TOKEN_LAST + 7, SYMBOL_RCALL = G_TOKEN_LAST + 8, SYMBOL_RADR1 = G_TOKEN_LAST + 9, SYMBOL_RADR2 = G_TOKEN_LAST + 10, SYMBOL_RPOCO = G_TOKEN_LAST + 11, SYMBOL_RCITY = G_TOKEN_LAST + 12, SYMBOL_RCOUN = G_TOKEN_LAST + 13, SYMBOL_RPHON = G_TOKEN_LAST + 14, SYMBOL_RHBBS = G_TOKEN_LAST + 15, SYMBOL_RS = G_TOKEN_LAST + 16, SYMBOL_RST = G_TOKEN_LAST + 17, SYMBOL_QSOP_M = G_TOKEN_LAST + 18, SYMBOL_TOTAL_M = G_TOKEN_LAST + 19, SYMBOL_CQ = G_TOKEN_LAST + 20, SYMBOL_CW_STR = G_TOKEN_LAST + 21, SYMBOL_CW_SPEED = G_TOKEN_LAST + 22, SYMBOL_CW_REPEAT = G_TOKEN_LAST + 23, SYMBOL_CW_TS = G_TOKEN_LAST + 24, SYMBOL_CW_ALLOWUND = G_TOKEN_LAST + 25, SYMBOL_SSB_FILE = G_TOKEN_LAST + 26, SYMBOL_SSB_TS = G_TOKEN_LAST + 27, SYMBOL_SSB_REPEAT = G_TOKEN_LAST + 28, SYMBOL_STARTBAND = G_TOKEN_LAST + 30, SYMBOL_PBAND = G_TOKEN_LAST + 31, SYMBOL_BANDCHAR = G_TOKEN_LAST + 32, SYMBOL_QRV = G_TOKEN_LAST + 33, SYMBOL_READONLY = G_TOKEN_LAST + 34, SYMBOL_PSECT = G_TOKEN_LAST + 35, SYMBOL_STXEQ = G_TOKEN_LAST + 36, SYMBOL_SPOWE = G_TOKEN_LAST + 37, SYMBOL_SRXEQ = G_TOKEN_LAST + 38, SYMBOL_SANTE = G_TOKEN_LAST + 39, SYMBOL_SANTH = G_TOKEN_LAST + 40, SYMBOL_MOPE1 = G_TOKEN_LAST + 41, SYMBOL_MOPE2 = G_TOKEN_LAST + 42, SYMBOL_REMARKS = G_TOKEN_LAST + 43, SYMBOL_OK_SECTION_SINGLE = G_TOKEN_LAST + 44, SYMBOL_OK_SECTION_MULTI = G_TOKEN_LAST + 45, SYMBOL_ADIFBAND = G_TOKEN_LAST + 46, SYMBOL_CBRBAND = G_TOKEN_LAST + 47, SYMBOL_STFBAND = G_TOKEN_LAST + 48, SYMBOL_QRG_MIN = G_TOKEN_LAST + 49, SYMBOL_QRG_MAX = G_TOKEN_LAST + 50, SYMBOL_BANDMULTI = G_TOKEN_LAST + 51, SYMBOL_SKEDQRG = G_TOKEN_LAST + 52, SYMBOL_BAND_LO = G_TOKEN_LAST + 53, SYMBOL_BAND_SW = G_TOKEN_LAST + 54, SYMBOL_OPSECT = G_TOKEN_LAST + 55, SYMBOL_WWLRADIUS = G_TOKEN_LAST + 56, SYMBOL_AS_DAQ = G_TOKEN_LAST + 60, SYMBOL_AS_DAM = G_TOKEN_LAST + 61, SYMBOL_AS_DFS = G_TOKEN_LAST + 62, SYMBOL_AS_FAQ = G_TOKEN_LAST + 63, SYMBOL_AS_FAM = G_TOKEN_LAST + 64, SYMBOL_AS_FFS = G_TOKEN_LAST + 65, SYMBOL_AS_FMO = G_TOKEN_LAST + 66, SYMBOL_AS_FPA = G_TOKEN_LAST + 67, SYMBOL_AS_FMC = G_TOKEN_LAST + 68, SYMBOL_IF_IGNORE = G_TOKEN_LAST + 70, SYMBOL_IP_IGNORE = G_TOKEN_LAST + 71, SYMBOL_IP_ANNOUNCE = G_TOKEN_LAST + 72, SYMBOL_REMOTE_ENABLE = G_TOKEN_LAST + 73, SYMBOL_REMOTE_HOST = G_TOKEN_LAST + 74, SYMBOL_REMOTE_PORT = G_TOKEN_LAST + 75, SYMBOL_REMOTE_PASS = G_TOKEN_LAST + 76, SYMBOL_MASTERPRIORITY = G_TOKEN_LAST + 77, SYMBOL_TRACE_BCAST = G_TOKEN_LAST + 78, SYMBOL_TRACE_SOCK = G_TOKEN_LAST + 79, SYMBOL_TRACE_RECV = G_TOKEN_LAST + 80, SYMBOL_TRACE_SEND = G_TOKEN_LAST + 81, SYMBOL_TRACE_QSOS = G_TOKEN_LAST + 82, SYMBOL_TRACE_RIG = G_TOKEN_LAST + 83, SYMBOL_TRACE_SDEV = G_TOKEN_LAST + 84, SYMBOL_TRACE_KEYS = G_TOKEN_LAST + 85, SYMBOL_LANGUAGE = G_TOKEN_LAST + 86, SYMBOL_CWDA_TYPE = G_TOKEN_LAST + 90, SYMBOL_CWDA_DEVICE = G_TOKEN_LAST + 91, SYMBOL_CWDA_HOST = G_TOKEN_LAST + 92, SYMBOL_CWDA_UDP = G_TOKEN_LAST + 93, SYMBOL_CWDA_IOPORT = G_TOKEN_LAST + 94, SYMBOL_CWDA_SPEED = G_TOKEN_LAST + 95, SYMBOL_CWDA_WEIGHT = G_TOKEN_LAST + 96, SYMBOL_CWDA_MINWPM = G_TOKEN_LAST + 97, SYMBOL_CWDA_MAXWPM = G_TOKEN_LAST + 98, SYMBOL_CWDA_SPK = G_TOKEN_LAST + 99, SYMBOL_CWDA_LEADIN = G_TOKEN_LAST + 100, SYMBOL_CWDA_TAIL = G_TOKEN_LAST + 101, SYMBOL_CWDA_VID = G_TOKEN_LAST + 102, SYMBOL_CWDA_PID = G_TOKEN_LAST + 103, SYMBOL_CWDA_AUTGIVE = G_TOKEN_LAST + 104, SYMBOL_WK_WK2 = G_TOKEN_LAST + 105, SYMBOL_WK_USEPOT = G_TOKEN_LAST + 106, SYMBOL_WK_USEBUT = G_TOKEN_LAST + 107, SYMBOL_WK_KEYMODE = G_TOKEN_LAST + 108, SYMBOL_WK_SWAP = G_TOKEN_LAST + 109, SYMBOL_SSBD_TYPE = G_TOKEN_LAST + 110, SYMBOL_SSBD_RECORD = G_TOKEN_LAST + 111, SYMBOL_SSBD_MAXMIN = G_TOKEN_LAST + 112, SYMBOL_SSBD_DISKFREE = G_TOKEN_LAST + 113, SYMBOL_SSBD_FORMAT = G_TOKEN_LAST + 114, SYMBOL_SSBD_CHANNELS = G_TOKEN_LAST + 115, SYMBOL_SSBD_SAMPLERATE = G_TOKEN_LAST + 116, SYMBOL_SSBD_PLEV = G_TOKEN_LAST + 117, SYMBOL_SSBD_RLEV = G_TOKEN_LAST + 118, SYMBOL_SSBD_TEMPLATE = G_TOKEN_LAST + 119, SYMBOL_SSBD_PCM_PLAY = G_TOKEN_LAST + 120, SYMBOL_SSBD_PCM_REC = G_TOKEN_LAST + 121, SYMBOL_SSBD_PERIOD_T = G_TOKEN_LAST + 122, SYMBOL_SSBD_BUFFER_T = G_TOKEN_LAST + 123, SYMBOL_SSBD_ALSA_MIXER = G_TOKEN_LAST + 124, SYMBOL_SSBD_ALSA_SRC = G_TOKEN_LAST + 125, SYMBOL_SSBD_DSP = G_TOKEN_LAST + 126, SYMBOL_SSBD_MAXFRAG = G_TOKEN_LAST + 127, SYMBOL_SSBD_MIXER = G_TOKEN_LAST + 128, SYMBOL_SSBD_OSS_SRC = G_TOKEN_LAST + 129, SYMBOL_SSBD_RECSRC = G_TOKEN_LAST + 130, SYMBOL_SSBD_HOST = G_TOKEN_LAST + 131, SYMBOL_SSBD_UDP = G_TOKEN_LAST + 132, SYMBOL_SSBD_PA_PLAY = G_TOKEN_LAST + 133, SYMBOL_SSBD_PA_REC = G_TOKEN_LAST + 134, SYMBOL_SSBD_PIPE = G_TOKEN_LAST + 135, SYMBOL_SSBD_COMMAND = G_TOKEN_LAST + 136, SYMBOL_TERM = G_TOKEN_LAST + 140, SYMBOL_TERM_MODE = G_TOKEN_LAST + 141, SYMBOL_TERM_M11_HACK = G_TOKEN_LAST + 142, SYMBOL_TERM_RESTRICT_852 = G_TOKEN_LAST + 143, SYMBOL_TERM_BLOCK_CURSOR = G_TOKEN_LAST + 144, SYMBOL_TERM_COL = G_TOKEN_LAST + 145, SYMBOL_TERM_UTF_8_IO = G_TOKEN_LAST + 146, SYMBOL_TERM_CHARSET = G_TOKEN_LAST + 147, SYMBOL_ROTAR = G_TOKEN_LAST + 150, SYMBOL_ROT_DESC = G_TOKEN_LAST + 151, SYMBOL_ROT_TYPE = G_TOKEN_LAST + 152, SYMBOL_ROT_FILENAME = G_TOKEN_LAST + 153, SYMBOL_ROT_HOSTNAME = G_TOKEN_LAST + 154, SYMBOL_ROT_PORT = G_TOKEN_LAST + 155, SYMBOL_ROT_VID = G_TOKEN_LAST + 156, SYMBOL_ROT_PID = G_TOKEN_LAST + 157, SYMBOL_ROT_SERIAL = G_TOKEN_LAST + 158, SYMBOL_ROT_TIMEOUT_MS = G_TOKEN_LAST + 159, SYMBOL_ROT_BEAMWIDTH = G_TOKEN_LAST + 160, SYMBOL_ROT_SADDR = G_TOKEN_LAST + 161, SYMBOL_ROT_MODEL = G_TOKEN_LAST + 162, SYMBOL_ROT_SPEED = G_TOKEN_LAST + 163, SYMBOL_ROT_REM_ROTSTR = G_TOKEN_LAST + 164, SYMBOL_ROT_POLL_MS = G_TOKEN_LAST + 165, SYMBOL_SW = G_TOKEN_LAST + 170, SYMBOL_SW_TYPE = G_TOKEN_LAST + 171, SYMBOL_SW_COMMAND = G_TOKEN_LAST + 172, SYMBOL_SW_AUTORUN = G_TOKEN_LAST + 173, SYMBOL_SW_RESPAWN_TIME = G_TOKEN_LAST + 174, SYMBOL_RIG = G_TOKEN_LAST + 180, SYMBOL_RIG_ENABLED = G_TOKEN_LAST + 181, SYMBOL_RIG_DESC = G_TOKEN_LAST + 182, SYMBOL_RIG_FILENAME = G_TOKEN_LAST + 183, SYMBOL_RIG_MODEL = G_TOKEN_LAST + 184, SYMBOL_RIG_SPEED = G_TOKEN_LAST + 185, SYMBOL_RIG_HANDSHAKE_NONE = G_TOKEN_LAST + 186, SYMBOL_RIG_CIVADDR = G_TOKEN_LAST + 187, SYMBOL_RIG_LO = G_TOKEN_LAST + 188, SYMBOL_RIG_SSBCW_SHIFT = G_TOKEN_LAST + 189, SYMBOL_RIG_POLL_MS = G_TOKEN_LAST + 190, SYMBOL_RIG_QRG_R2T = G_TOKEN_LAST + 191, SYMBOL_RIG_QRG_T2R = G_TOKEN_LAST + 192, SYMBOL_RIG_MODE_T2R = G_TOKEN_LAST + 193, SYMBOL_RIG_CLR_RIT = G_TOKEN_LAST + 194, SYMBOL_RIG_PTT_T2R = G_TOKEN_LAST + 195, SYMBOL_RIG_VERBOSE = G_TOKEN_LAST + 196, SYMBOL_LOGLINES = G_TOKEN_LAST + 200, SYMBOL_SKEDCOUNT = G_TOKEN_LAST + 202, SYMBOL_TAKEOFF = G_TOKEN_LAST + 203, SYMBOL_OPERATOR = G_TOKEN_LAST + 204, SYMBOL_GLOBAL_OPERATOR = G_TOKEN_LAST + 205, SYMBOL_GFX_X = G_TOKEN_LAST + 206, SYMBOL_GFX_Y = G_TOKEN_LAST + 207, SYMBOL_FONTHEIGHT = G_TOKEN_LAST + 208, SYMBOL_SLASHKEY = G_TOKEN_LAST + 209, SYMBOL_NTPQ = G_TOKEN_LAST + 210, SYMBOL_DSSAVER = G_TOKEN_LAST + 211, SYMBOL_SPLITHEIGHT = G_TOKEN_LAST + 212, SYMBOL_FULLSCREEN = G_TOKEN_LAST + 213, SYMBOL_MAXIMIZED = G_TOKEN_LAST + 214, SYMBOL_USETOUCH = G_TOKEN_LAST + 215, SYMBOL_TOUCHPOS = G_TOKEN_LAST + 216, SYMBOL_ALTSYMS = G_TOKEN_LAST + 217, SYMBOL_NOLOCKS = G_TOKEN_LAST + 218, SYMBOL_PORTRAIT = G_TOKEN_LAST + 219, SYMBOL_REVERSE = G_TOKEN_LAST + 220, SYMBOL_INVERSE = G_TOKEN_LAST + 221, SYMBOL_ADIF_EXPORT_MODE_T2R = G_TOKEN_LAST + 222, SYMBOL_LOGDIR_PATH = G_TOKEN_LAST + 223, SYMBOL_DXC_HOST = G_TOKEN_LAST + 230, SYMBOL_DXC_PORT = G_TOKEN_LAST + 231, SYMBOL_DXC_USER = G_TOKEN_LAST + 232, SYMBOL_DXC_PASS = G_TOKEN_LAST + 233, SYMBOL_KST_USER = G_TOKEN_LAST + 234, SYMBOL_KST_PASS = G_TOKEN_LAST + 235, SYMBOL_KST_NAME = G_TOKEN_LAST + 236, SYMBOL_KST_MINQRB = G_TOKEN_LAST + 237, SYMBOL_KST_MAXQRB = G_TOKEN_LAST + 238, SYMBOL_SLOVHF_USER = G_TOKEN_LAST + 239, SYMBOL_HTTPD_ENABLE = G_TOKEN_LAST + 240, SYMBOL_HTTPD_PORT = G_TOKEN_LAST + 241, SYMBOL_HTTPD_SHOW_PRIV = G_TOKEN_LAST + 242, SYMBOL_HTTPD_REFRESH = G_TOKEN_LAST + 243, SYMBOL_AC_ENABLE = G_TOKEN_LAST + 250, SYMBOL_AC_URL = G_TOKEN_LAST + 251, SYMBOL_AC_KFACTOR = G_TOKEN_LAST + 252, SYMBOL_AC_ARWIDTH = G_TOKEN_LAST + 253, SYMBOL_AC_MINELEV = G_TOKEN_LAST + 254, SYMBOL_AC_MAXELEV = G_TOKEN_LAST + 255, SYMBOL_AC_MINDUR = G_TOKEN_LAST + 256, SYMBOL_AC_MAXDELTA = G_TOKEN_LAST + 257, SYMBOL_AC_MINALT = G_TOKEN_LAST + 258, SYMBOL_SDR_ENABLE = G_TOKEN_LAST + 260, SYMBOL_SDR_CW = G_TOKEN_LAST + 261, SYMBOL_SDR_LSB = G_TOKEN_LAST + 262, SYMBOL_SDR_SPEED = G_TOKEN_LAST + 263, SYMBOL_SDR_AF_SPEED = G_TOKEN_LAST + 264, SYMBOL_SDR_BLOCK = G_TOKEN_LAST + 265, SYMBOL_SDR_ZERO = G_TOKEN_LAST + 266, SYMBOL_SDR_CW_LOW = G_TOKEN_LAST + 267, SYMBOL_SDR_CW_HIGH = G_TOKEN_LAST + 268, SYMBOL_SDR_SSB_LOW = G_TOKEN_LAST + 269, SYMBOL_SDR_SSB_HIGH = G_TOKEN_LAST + 270, SYMBOL_SDR_REC_DSP_TYPE = G_TOKEN_LAST + 271, SYMBOL_SDR_PLAY_DSP_TYPE = G_TOKEN_LAST + 272, SYMBOL_SDR_PA_REC = G_TOKEN_LAST + 273, SYMBOL_SDR_PA_PLAY = G_TOKEN_LAST + 274, SYMBOL_SDR_PCM_REC = G_TOKEN_LAST + 275, SYMBOL_SDR_PCM_PLAY = G_TOKEN_LAST + 276, SYMBOL_SDR_SNDFILENAME = G_TOKEN_LAST + 277, SYMBOL_SDR_REMOTERX = G_TOKEN_LAST + 278, SYMBOL_SDR_AF_FILENAME = G_TOKEN_LAST + 279, SYMBOL_SDR_IQCOMP = G_TOKEN_LAST + 280, SYMBOL_WIKI_URL = G_TOKEN_LAST + 290, SYMBOL_WIKI_USER = G_TOKEN_LAST + 291, SYMBOL_WIKI_PASS = G_TOKEN_LAST + 292, //SYMBOL_WIKI_PAGE = G_TOKEN_LAST + 293, SYMBOL_WIKI_MAP = G_TOKEN_LAST + 294, SYMBOL_WIKI_CHART = G_TOKEN_LAST + 295, //SYMBOL_WIKI_OVERWRITE = G_TOKEN_LAST + 296, SYMBOL_RAIN_ENABLE = G_TOKEN_LAST + 296, SYMBOL_RAIN_METEOX = G_TOKEN_LAST + 297, SYMBOL_RAIN_WETTERONLINE = G_TOKEN_LAST + 298, SYMBOL_RAIN_CHMI = G_TOKEN_LAST + 299, SYMBOL_RAIN_WEATHERONLINE = G_TOKEN_LAST + 300, SYMBOL_RAIN_RAINVIEWER = G_TOKEN_LAST + 301, SYMBOL_RAIN_DEBUG = G_TOKEN_LAST + 302, SYMBOL_RAIN_MAXQRB = G_TOKEN_LAST + 303, SYMBOL_RAIN_MINCOLOR = G_TOKEN_LAST + 304, SYMBOL_RAIN_MINSCPDIST = G_TOKEN_LAST + 305, SYMBOL_SOTA_USER = G_TOKEN_LAST + 306, SYMBOL_SOTA_PASS = G_TOKEN_LAST + 307, SYMBOL_MY_LAST = G_TOKEN_LAST + 308 }; void add_symbols(GScanner *scanner){ g_scanner_add_symbol(scanner,"pcall",GINT_TO_POINTER(SYMBOL_PCALL)); g_scanner_add_symbol(scanner,"pwwlo",GINT_TO_POINTER(SYMBOL_PWWLO)); g_scanner_add_symbol(scanner,"pexch",GINT_TO_POINTER(SYMBOL_PEXCH)); g_scanner_add_symbol(scanner,"padr1",GINT_TO_POINTER(SYMBOL_PADR1)); g_scanner_add_symbol(scanner,"padr2",GINT_TO_POINTER(SYMBOL_PADR2)); g_scanner_add_symbol(scanner,"pclub",GINT_TO_POINTER(SYMBOL_PCLUB)); g_scanner_add_symbol(scanner,"rname",GINT_TO_POINTER(SYMBOL_RNAME)); g_scanner_add_symbol(scanner,"rcall",GINT_TO_POINTER(SYMBOL_RCALL)); g_scanner_add_symbol(scanner,"radr1",GINT_TO_POINTER(SYMBOL_RADR1)); g_scanner_add_symbol(scanner,"radr2",GINT_TO_POINTER(SYMBOL_RADR2)); g_scanner_add_symbol(scanner,"rpoco",GINT_TO_POINTER(SYMBOL_RPOCO)); g_scanner_add_symbol(scanner,"rcity",GINT_TO_POINTER(SYMBOL_RCITY)); g_scanner_add_symbol(scanner,"rcoun",GINT_TO_POINTER(SYMBOL_RCOUN)); g_scanner_add_symbol(scanner,"rphon",GINT_TO_POINTER(SYMBOL_RPHON)); g_scanner_add_symbol(scanner,"rhbbs",GINT_TO_POINTER(SYMBOL_RHBBS)); g_scanner_add_symbol(scanner,"default_rs", GINT_TO_POINTER(SYMBOL_RS)); g_scanner_add_symbol(scanner,"default_rst", GINT_TO_POINTER(SYMBOL_RST)); g_scanner_add_symbol(scanner,"qsop_method", GINT_TO_POINTER(SYMBOL_QSOP_M)); g_scanner_add_symbol(scanner,"total_method",GINT_TO_POINTER(SYMBOL_TOTAL_M)); g_scanner_add_symbol(scanner,"cq", GINT_TO_POINTER(SYMBOL_CQ)); g_scanner_add_symbol(scanner,"cw_str", GINT_TO_POINTER(SYMBOL_CW_STR)); g_scanner_add_symbol(scanner,"cw_speed", GINT_TO_POINTER(SYMBOL_CW_SPEED)); g_scanner_add_symbol(scanner,"cw_repeat", GINT_TO_POINTER(SYMBOL_CW_REPEAT)); g_scanner_add_symbol(scanner,"cw_ts", GINT_TO_POINTER(SYMBOL_CW_TS)); g_scanner_add_symbol(scanner,"cw_allowifundef", GINT_TO_POINTER(SYMBOL_CW_ALLOWUND)); g_scanner_add_symbol(scanner,"ssb_file", GINT_TO_POINTER(SYMBOL_SSB_FILE)); g_scanner_add_symbol(scanner,"ssb_ts", GINT_TO_POINTER(SYMBOL_SSB_TS)); g_scanner_add_symbol(scanner,"ssb_repeat", GINT_TO_POINTER(SYMBOL_SSB_REPEAT)); g_scanner_add_symbol(scanner,"startband", GINT_TO_POINTER(SYMBOL_STARTBAND)); g_scanner_add_symbol(scanner,"pband", GINT_TO_POINTER(SYMBOL_PBAND)); g_scanner_add_symbol(scanner,"bandchar",GINT_TO_POINTER(SYMBOL_BANDCHAR)); g_scanner_add_symbol(scanner,"qrv", GINT_TO_POINTER(SYMBOL_QRV)); g_scanner_add_symbol(scanner,"readonly",GINT_TO_POINTER(SYMBOL_READONLY)); g_scanner_add_symbol(scanner,"psect",GINT_TO_POINTER(SYMBOL_PSECT)); g_scanner_add_symbol(scanner,"stxeq",GINT_TO_POINTER(SYMBOL_STXEQ)); g_scanner_add_symbol(scanner,"spowe",GINT_TO_POINTER(SYMBOL_SPOWE)); g_scanner_add_symbol(scanner,"srxeq",GINT_TO_POINTER(SYMBOL_SRXEQ)); g_scanner_add_symbol(scanner,"sante",GINT_TO_POINTER(SYMBOL_SANTE)); g_scanner_add_symbol(scanner,"santh",GINT_TO_POINTER(SYMBOL_SANTH)); g_scanner_add_symbol(scanner,"mope1",GINT_TO_POINTER(SYMBOL_MOPE1)); g_scanner_add_symbol(scanner,"mope2",GINT_TO_POINTER(SYMBOL_MOPE2)); g_scanner_add_symbol(scanner,"remarks",GINT_TO_POINTER(SYMBOL_REMARKS)); g_scanner_add_symbol(scanner,"ok_section_single",GINT_TO_POINTER(SYMBOL_OK_SECTION_SINGLE)); g_scanner_add_symbol(scanner,"ok_section_multi", GINT_TO_POINTER(SYMBOL_OK_SECTION_MULTI)); g_scanner_add_symbol(scanner,"adifband", GINT_TO_POINTER(SYMBOL_ADIFBAND)); g_scanner_add_symbol(scanner,"cbrband", GINT_TO_POINTER(SYMBOL_CBRBAND)); g_scanner_add_symbol(scanner,"stfband", GINT_TO_POINTER(SYMBOL_STFBAND)); g_scanner_add_symbol(scanner,"qrg_min", GINT_TO_POINTER(SYMBOL_QRG_MIN)); g_scanner_add_symbol(scanner,"qrg_max", GINT_TO_POINTER(SYMBOL_QRG_MAX)); g_scanner_add_symbol(scanner,"bandmulti", GINT_TO_POINTER(SYMBOL_BANDMULTI)); g_scanner_add_symbol(scanner,"skedqrg", GINT_TO_POINTER(SYMBOL_SKEDQRG)); g_scanner_add_symbol(scanner,"band_lo", GINT_TO_POINTER(SYMBOL_BAND_LO)); g_scanner_add_symbol(scanner,"band_sw", GINT_TO_POINTER(SYMBOL_BAND_SW)); g_scanner_add_symbol(scanner,"opsect", GINT_TO_POINTER(SYMBOL_OPSECT)); g_scanner_add_symbol(scanner,"wwlradius", GINT_TO_POINTER(SYMBOL_WWLRADIUS)); g_scanner_add_symbol(scanner,"as_disk_qso", GINT_TO_POINTER(SYMBOL_AS_DAQ)); g_scanner_add_symbol(scanner,"as_disk_min", GINT_TO_POINTER(SYMBOL_AS_DAM)); g_scanner_add_symbol(scanner,"as_disk_fsync", GINT_TO_POINTER(SYMBOL_AS_DFS)); g_scanner_add_symbol(scanner,"as_floppy_qso", GINT_TO_POINTER(SYMBOL_AS_FAQ)); g_scanner_add_symbol(scanner,"as_floppy_min", GINT_TO_POINTER(SYMBOL_AS_FAM)); g_scanner_add_symbol(scanner,"as_floppy_fsync", GINT_TO_POINTER(SYMBOL_AS_FFS)); g_scanner_add_symbol(scanner,"as_mount_floppy", GINT_TO_POINTER(SYMBOL_AS_FMO)); g_scanner_add_symbol(scanner,"as_floppy_path", GINT_TO_POINTER(SYMBOL_AS_FPA)); g_scanner_add_symbol(scanner,"as_mount_cmd", GINT_TO_POINTER(SYMBOL_AS_FMC)); g_scanner_add_symbol(scanner,"net_if_ignore", GINT_TO_POINTER(SYMBOL_IF_IGNORE)); g_scanner_add_symbol(scanner,"net_ip_ignore", GINT_TO_POINTER(SYMBOL_IP_IGNORE)); g_scanner_add_symbol(scanner,"net_ip_announce", GINT_TO_POINTER(SYMBOL_IP_ANNOUNCE)); g_scanner_add_symbol(scanner,"net_remote_enable", GINT_TO_POINTER(SYMBOL_REMOTE_ENABLE)); g_scanner_add_symbol(scanner,"net_remote_host", GINT_TO_POINTER(SYMBOL_REMOTE_HOST)); g_scanner_add_symbol(scanner,"net_remote_port", GINT_TO_POINTER(SYMBOL_REMOTE_PORT)); g_scanner_add_symbol(scanner,"net_remote_pass", GINT_TO_POINTER(SYMBOL_REMOTE_PASS)); g_scanner_add_symbol(scanner,"net_masterpriority", GINT_TO_POINTER(SYMBOL_MASTERPRIORITY)); g_scanner_add_symbol(scanner,"trace_bcast", GINT_TO_POINTER(SYMBOL_TRACE_BCAST)); g_scanner_add_symbol(scanner,"trace_sock", GINT_TO_POINTER(SYMBOL_TRACE_SOCK)); g_scanner_add_symbol(scanner,"trace_recv", GINT_TO_POINTER(SYMBOL_TRACE_RECV)); g_scanner_add_symbol(scanner,"trace_send", GINT_TO_POINTER(SYMBOL_TRACE_SEND)); g_scanner_add_symbol(scanner,"trace_qsos", GINT_TO_POINTER(SYMBOL_TRACE_QSOS)); g_scanner_add_symbol(scanner,"trace_rig", GINT_TO_POINTER(SYMBOL_TRACE_RIG)); g_scanner_add_symbol(scanner,"trace_sdev", GINT_TO_POINTER(SYMBOL_TRACE_SDEV)); g_scanner_add_symbol(scanner,"trace_keys", GINT_TO_POINTER(SYMBOL_TRACE_KEYS)); g_scanner_add_symbol(scanner,"language", GINT_TO_POINTER(SYMBOL_LANGUAGE)); g_scanner_add_symbol(scanner,"cwda_type", GINT_TO_POINTER(SYMBOL_CWDA_TYPE)); g_scanner_add_symbol(scanner,"cwda_device_s", GINT_TO_POINTER(SYMBOL_CWDA_DEVICE)); g_scanner_add_symbol(scanner,"cwda_hostname", GINT_TO_POINTER(SYMBOL_CWDA_HOST)); g_scanner_add_symbol(scanner,"cwda_udp_port", GINT_TO_POINTER(SYMBOL_CWDA_UDP)); g_scanner_add_symbol(scanner,"cwda_io_port", GINT_TO_POINTER(SYMBOL_CWDA_IOPORT)); g_scanner_add_symbol(scanner,"cwda_speed", GINT_TO_POINTER(SYMBOL_CWDA_SPEED)); g_scanner_add_symbol(scanner,"cwda_weight", GINT_TO_POINTER(SYMBOL_CWDA_WEIGHT)); g_scanner_add_symbol(scanner,"cwda_minwpm", GINT_TO_POINTER(SYMBOL_CWDA_MINWPM)); g_scanner_add_symbol(scanner,"cwda_maxwpm", GINT_TO_POINTER(SYMBOL_CWDA_MAXWPM)); g_scanner_add_symbol(scanner,"cwda_spk", GINT_TO_POINTER(SYMBOL_CWDA_SPK)); g_scanner_add_symbol(scanner,"cwda_leadin", GINT_TO_POINTER(SYMBOL_CWDA_LEADIN)); g_scanner_add_symbol(scanner,"cwda_tail", GINT_TO_POINTER(SYMBOL_CWDA_TAIL)); g_scanner_add_symbol(scanner,"cwda_vid", GINT_TO_POINTER(SYMBOL_CWDA_VID)); g_scanner_add_symbol(scanner,"cwda_pid", GINT_TO_POINTER(SYMBOL_CWDA_PID)); g_scanner_add_symbol(scanner,"cwda_autgive", GINT_TO_POINTER(SYMBOL_CWDA_AUTGIVE)); g_scanner_add_symbol(scanner,"wk_wk2", GINT_TO_POINTER(SYMBOL_WK_WK2)); g_scanner_add_symbol(scanner,"wk_usepot", GINT_TO_POINTER(SYMBOL_WK_USEPOT)); g_scanner_add_symbol(scanner,"wk_usebut", GINT_TO_POINTER(SYMBOL_WK_USEBUT)); g_scanner_add_symbol(scanner,"wk_keymode", GINT_TO_POINTER(SYMBOL_WK_KEYMODE)); g_scanner_add_symbol(scanner,"wk_swap", GINT_TO_POINTER(SYMBOL_WK_SWAP)); g_scanner_add_symbol(scanner,"ssbd_type", GINT_TO_POINTER(SYMBOL_SSBD_TYPE)); g_scanner_add_symbol(scanner,"ssbd_record", GINT_TO_POINTER(SYMBOL_SSBD_RECORD)); g_scanner_add_symbol(scanner,"ssbd_maxmin", GINT_TO_POINTER(SYMBOL_SSBD_MAXMIN)); g_scanner_add_symbol(scanner,"ssbd_diskfree", GINT_TO_POINTER(SYMBOL_SSBD_DISKFREE)); g_scanner_add_symbol(scanner,"ssbd_format", GINT_TO_POINTER(SYMBOL_SSBD_FORMAT)); g_scanner_add_symbol(scanner,"ssbd_channels", GINT_TO_POINTER(SYMBOL_SSBD_CHANNELS)); g_scanner_add_symbol(scanner,"ssbd_samplerate", GINT_TO_POINTER(SYMBOL_SSBD_SAMPLERATE)); g_scanner_add_symbol(scanner,"ssbd_plev", GINT_TO_POINTER(SYMBOL_SSBD_PLEV)); g_scanner_add_symbol(scanner,"ssbd_rlev", GINT_TO_POINTER(SYMBOL_SSBD_RLEV)); g_scanner_add_symbol(scanner,"ssbd_template", GINT_TO_POINTER(SYMBOL_SSBD_TEMPLATE)); g_scanner_add_symbol(scanner,"ssbd_pcm_play", GINT_TO_POINTER(SYMBOL_SSBD_PCM_PLAY)); g_scanner_add_symbol(scanner,"ssbd_pcm_rec", GINT_TO_POINTER(SYMBOL_SSBD_PCM_REC)); g_scanner_add_symbol(scanner,"ssbd_period_time",GINT_TO_POINTER(SYMBOL_SSBD_PERIOD_T)); g_scanner_add_symbol(scanner,"ssbd_buffer_time",GINT_TO_POINTER(SYMBOL_SSBD_BUFFER_T)); g_scanner_add_symbol(scanner,"ssbd_alsa_mixer", GINT_TO_POINTER(SYMBOL_SSBD_ALSA_MIXER)); g_scanner_add_symbol(scanner,"ssbd_alsa_src", GINT_TO_POINTER(SYMBOL_SSBD_ALSA_SRC)); g_scanner_add_symbol(scanner,"ssbd_dsp", GINT_TO_POINTER(SYMBOL_SSBD_DSP)); g_scanner_add_symbol(scanner,"ssbd_maxfrag", GINT_TO_POINTER(SYMBOL_SSBD_MAXFRAG)); g_scanner_add_symbol(scanner,"ssbd_mixer", GINT_TO_POINTER(SYMBOL_SSBD_MIXER)); g_scanner_add_symbol(scanner,"ssbd_oss_src", GINT_TO_POINTER(SYMBOL_SSBD_OSS_SRC)); g_scanner_add_symbol(scanner,"ssbd_recsrc", GINT_TO_POINTER(SYMBOL_SSBD_RECSRC)); g_scanner_add_symbol(scanner,"ssbd_hostname", GINT_TO_POINTER(SYMBOL_SSBD_HOST)); g_scanner_add_symbol(scanner,"ssbd_udp_port", GINT_TO_POINTER(SYMBOL_SSBD_UDP)); g_scanner_add_symbol(scanner,"ssbd_pa_play", GINT_TO_POINTER(SYMBOL_SSBD_PA_PLAY)); g_scanner_add_symbol(scanner,"ssbd_pa_rec", GINT_TO_POINTER(SYMBOL_SSBD_PA_REC)); g_scanner_add_symbol(scanner,"ssbd_command", GINT_TO_POINTER(SYMBOL_SSBD_COMMAND)); g_scanner_add_symbol(scanner,"ssbd_pipe", GINT_TO_POINTER(SYMBOL_SSBD_PIPE)); g_scanner_add_symbol(scanner,"term", GINT_TO_POINTER(SYMBOL_TERM)); g_scanner_add_symbol(scanner,"term_mode", GINT_TO_POINTER(SYMBOL_TERM_MODE)); g_scanner_add_symbol(scanner,"term_m11_hack", GINT_TO_POINTER(SYMBOL_TERM_M11_HACK)); g_scanner_add_symbol(scanner,"term_restrict_852", GINT_TO_POINTER(SYMBOL_TERM_RESTRICT_852)); g_scanner_add_symbol(scanner,"term_block_cursor", GINT_TO_POINTER(SYMBOL_TERM_BLOCK_CURSOR)); g_scanner_add_symbol(scanner,"term_col", GINT_TO_POINTER(SYMBOL_TERM_COL)); g_scanner_add_symbol(scanner,"term_utf_8_io", GINT_TO_POINTER(SYMBOL_TERM_UTF_8_IO)); g_scanner_add_symbol(scanner,"term_charset", GINT_TO_POINTER(SYMBOL_TERM_CHARSET)); g_scanner_add_symbol(scanner,"rotar", GINT_TO_POINTER(SYMBOL_ROTAR)); g_scanner_add_symbol(scanner,"rot_desc", GINT_TO_POINTER(SYMBOL_ROT_DESC)); g_scanner_add_symbol(scanner,"rot_type", GINT_TO_POINTER(SYMBOL_ROT_TYPE)); g_scanner_add_symbol(scanner,"rot_filename", GINT_TO_POINTER(SYMBOL_ROT_FILENAME)); g_scanner_add_symbol(scanner,"rot_hostname", GINT_TO_POINTER(SYMBOL_ROT_HOSTNAME)); g_scanner_add_symbol(scanner,"rot_port", GINT_TO_POINTER(SYMBOL_ROT_PORT)); g_scanner_add_symbol(scanner,"rot_vid", GINT_TO_POINTER(SYMBOL_ROT_VID)); g_scanner_add_symbol(scanner,"rot_pid", GINT_TO_POINTER(SYMBOL_ROT_PID)); g_scanner_add_symbol(scanner,"rot_serial", GINT_TO_POINTER(SYMBOL_ROT_SERIAL)); g_scanner_add_symbol(scanner,"rot_timeout_ms", GINT_TO_POINTER(SYMBOL_ROT_TIMEOUT_MS)); g_scanner_add_symbol(scanner,"rot_beamwidth", GINT_TO_POINTER(SYMBOL_ROT_BEAMWIDTH)); g_scanner_add_symbol(scanner,"rot_saddr", GINT_TO_POINTER(SYMBOL_ROT_SADDR)); g_scanner_add_symbol(scanner,"rot_model", GINT_TO_POINTER(SYMBOL_ROT_MODEL)); g_scanner_add_symbol(scanner,"rot_speed", GINT_TO_POINTER(SYMBOL_ROT_SPEED)); g_scanner_add_symbol(scanner,"rot_rem_rotstr", GINT_TO_POINTER(SYMBOL_ROT_REM_ROTSTR)); g_scanner_add_symbol(scanner,"rot_poll_ms", GINT_TO_POINTER(SYMBOL_ROT_POLL_MS)); g_scanner_add_symbol(scanner,"subwin", GINT_TO_POINTER(SYMBOL_SW)); g_scanner_add_symbol(scanner,"sw_type", GINT_TO_POINTER(SYMBOL_SW_TYPE)); g_scanner_add_symbol(scanner,"sw_command", GINT_TO_POINTER(SYMBOL_SW_COMMAND)); g_scanner_add_symbol(scanner,"sw_autorun", GINT_TO_POINTER(SYMBOL_SW_AUTORUN)); g_scanner_add_symbol(scanner,"sw_respawn_time", GINT_TO_POINTER(SYMBOL_SW_RESPAWN_TIME)); g_scanner_add_symbol(scanner,"rig", GINT_TO_POINTER(SYMBOL_RIG)); g_scanner_add_symbol(scanner,"rig_enabled", GINT_TO_POINTER(SYMBOL_RIG_ENABLED)); g_scanner_add_symbol(scanner,"rig_desc", GINT_TO_POINTER(SYMBOL_RIG_DESC)); g_scanner_add_symbol(scanner,"rig_filename", GINT_TO_POINTER(SYMBOL_RIG_FILENAME)); g_scanner_add_symbol(scanner,"rig_model", GINT_TO_POINTER(SYMBOL_RIG_MODEL)); g_scanner_add_symbol(scanner,"rig_speed", GINT_TO_POINTER(SYMBOL_RIG_SPEED)); g_scanner_add_symbol(scanner,"rig_handshake_none", GINT_TO_POINTER(SYMBOL_RIG_HANDSHAKE_NONE)); g_scanner_add_symbol(scanner,"rig_civaddr", GINT_TO_POINTER(SYMBOL_RIG_CIVADDR)); g_scanner_add_symbol(scanner,"rig_lo", GINT_TO_POINTER(SYMBOL_RIG_LO)); g_scanner_add_symbol(scanner,"rig_ssbcw_shift", GINT_TO_POINTER(SYMBOL_RIG_SSBCW_SHIFT)); g_scanner_add_symbol(scanner,"rig_poll_ms", GINT_TO_POINTER(SYMBOL_RIG_POLL_MS)); g_scanner_add_symbol(scanner,"rig_qrg_r2t", GINT_TO_POINTER(SYMBOL_RIG_QRG_R2T)); g_scanner_add_symbol(scanner,"rig_qrg_t2r", GINT_TO_POINTER(SYMBOL_RIG_QRG_T2R)); g_scanner_add_symbol(scanner,"rig_mode_t2r", GINT_TO_POINTER(SYMBOL_RIG_MODE_T2R)); g_scanner_add_symbol(scanner,"rig_clr_rit", GINT_TO_POINTER(SYMBOL_RIG_CLR_RIT)); g_scanner_add_symbol(scanner,"rig_ptt_t2r", GINT_TO_POINTER(SYMBOL_RIG_PTT_T2R)); g_scanner_add_symbol(scanner,"rig_verbose", GINT_TO_POINTER(SYMBOL_RIG_VERBOSE)); g_scanner_add_symbol(scanner,"loglines", GINT_TO_POINTER(SYMBOL_LOGLINES)); g_scanner_add_symbol(scanner,"skedcount", GINT_TO_POINTER(SYMBOL_SKEDCOUNT)); g_scanner_add_symbol(scanner,"takeoff", GINT_TO_POINTER(SYMBOL_TAKEOFF)); g_scanner_add_symbol(scanner,"operator", GINT_TO_POINTER(SYMBOL_OPERATOR)); g_scanner_add_symbol(scanner,"global_operator", GINT_TO_POINTER(SYMBOL_GLOBAL_OPERATOR)); g_scanner_add_symbol(scanner,"gfx_x", GINT_TO_POINTER(SYMBOL_GFX_X)); g_scanner_add_symbol(scanner,"gfx_y", GINT_TO_POINTER(SYMBOL_GFX_Y)); g_scanner_add_symbol(scanner,"fontheight", GINT_TO_POINTER(SYMBOL_FONTHEIGHT)); g_scanner_add_symbol(scanner,"slashkey", GINT_TO_POINTER(SYMBOL_SLASHKEY)); g_scanner_add_symbol(scanner,"ntpq", GINT_TO_POINTER(SYMBOL_NTPQ)); g_scanner_add_symbol(scanner,"dssaver", GINT_TO_POINTER(SYMBOL_DSSAVER)); g_scanner_add_symbol(scanner,"splitheight", GINT_TO_POINTER(SYMBOL_SPLITHEIGHT)); g_scanner_add_symbol(scanner,"fullscreen", GINT_TO_POINTER(SYMBOL_FULLSCREEN)); g_scanner_add_symbol(scanner,"maximized", GINT_TO_POINTER(SYMBOL_MAXIMIZED)); g_scanner_add_symbol(scanner,"usetouch", GINT_TO_POINTER(SYMBOL_USETOUCH)); g_scanner_add_symbol(scanner,"touchpos", GINT_TO_POINTER(SYMBOL_TOUCHPOS)); g_scanner_add_symbol(scanner,"altsyms", GINT_TO_POINTER(SYMBOL_ALTSYMS)); g_scanner_add_symbol(scanner,"nolocks", GINT_TO_POINTER(SYMBOL_NOLOCKS)); g_scanner_add_symbol(scanner,"portrait", GINT_TO_POINTER(SYMBOL_PORTRAIT)); g_scanner_add_symbol(scanner,"reverse", GINT_TO_POINTER(SYMBOL_REVERSE)); g_scanner_add_symbol(scanner,"inverse", GINT_TO_POINTER(SYMBOL_INVERSE)); g_scanner_add_symbol(scanner,"adif_export_mode", GINT_TO_POINTER(SYMBOL_ADIF_EXPORT_MODE_T2R)); g_scanner_add_symbol(scanner, "logdirpath", GINT_TO_POINTER(SYMBOL_LOGDIR_PATH)); g_scanner_add_symbol(scanner,"dxc_host", GINT_TO_POINTER(SYMBOL_DXC_HOST)); g_scanner_add_symbol(scanner,"dxc_port", GINT_TO_POINTER(SYMBOL_DXC_PORT)); g_scanner_add_symbol(scanner,"dxc_user", GINT_TO_POINTER(SYMBOL_DXC_USER)); g_scanner_add_symbol(scanner,"dxc_pass", GINT_TO_POINTER(SYMBOL_DXC_PASS)); g_scanner_add_symbol(scanner,"kst_user", GINT_TO_POINTER(SYMBOL_KST_USER)); g_scanner_add_symbol(scanner,"kst_pass", GINT_TO_POINTER(SYMBOL_KST_PASS)); g_scanner_add_symbol(scanner, "kst_name", GINT_TO_POINTER(SYMBOL_KST_NAME)); g_scanner_add_symbol(scanner, "kst_minqrb", GINT_TO_POINTER(SYMBOL_KST_MINQRB)); g_scanner_add_symbol(scanner, "kst_maxqrb", GINT_TO_POINTER(SYMBOL_KST_MAXQRB)); g_scanner_add_symbol(scanner,"slovhf_user", GINT_TO_POINTER(SYMBOL_SLOVHF_USER)); g_scanner_add_symbol(scanner,"sota_user", GINT_TO_POINTER(SYMBOL_SOTA_USER)); g_scanner_add_symbol(scanner,"sota_pass", GINT_TO_POINTER(SYMBOL_SOTA_PASS)); g_scanner_add_symbol(scanner,"httpd_enable", GINT_TO_POINTER(SYMBOL_HTTPD_ENABLE)); g_scanner_add_symbol(scanner,"httpd_port", GINT_TO_POINTER(SYMBOL_HTTPD_PORT)); g_scanner_add_symbol(scanner,"httpd_show_priv", GINT_TO_POINTER(SYMBOL_HTTPD_SHOW_PRIV)); g_scanner_add_symbol(scanner,"httpd_refresh", GINT_TO_POINTER(SYMBOL_HTTPD_REFRESH)); g_scanner_add_symbol(scanner,"ac_enable", GINT_TO_POINTER(SYMBOL_AC_ENABLE)); g_scanner_add_symbol(scanner,"ac_url", GINT_TO_POINTER(SYMBOL_AC_URL)); g_scanner_add_symbol(scanner,"ac_kfactor", GINT_TO_POINTER(SYMBOL_AC_KFACTOR)); g_scanner_add_symbol(scanner,"ac_arwidth", GINT_TO_POINTER(SYMBOL_AC_ARWIDTH)); g_scanner_add_symbol(scanner,"ac_minelev", GINT_TO_POINTER(SYMBOL_AC_MINELEV)); g_scanner_add_symbol(scanner,"ac_maxelev", GINT_TO_POINTER(SYMBOL_AC_MAXELEV)); g_scanner_add_symbol(scanner,"ac_mindur", GINT_TO_POINTER(SYMBOL_AC_MINDUR)); g_scanner_add_symbol(scanner,"ac_maxdelta", GINT_TO_POINTER(SYMBOL_AC_MAXDELTA)); g_scanner_add_symbol(scanner,"ac_minalt", GINT_TO_POINTER(SYMBOL_AC_MINALT)); g_scanner_add_symbol(scanner,"sdr_enable", GINT_TO_POINTER(SYMBOL_SDR_ENABLE)); g_scanner_add_symbol(scanner,"sdr_cw", GINT_TO_POINTER(SYMBOL_SDR_CW)); g_scanner_add_symbol(scanner,"sdr_lsb", GINT_TO_POINTER(SYMBOL_SDR_LSB)); g_scanner_add_symbol(scanner,"sdr_speed", GINT_TO_POINTER(SYMBOL_SDR_SPEED)); g_scanner_add_symbol(scanner,"sdr_af_speed", GINT_TO_POINTER(SYMBOL_SDR_AF_SPEED)); g_scanner_add_symbol(scanner,"sdr_block", GINT_TO_POINTER(SYMBOL_SDR_BLOCK)); g_scanner_add_symbol(scanner,"sdr_zero", GINT_TO_POINTER(SYMBOL_SDR_ZERO)); g_scanner_add_symbol(scanner,"sdr_cw_low", GINT_TO_POINTER(SYMBOL_SDR_CW_LOW)); g_scanner_add_symbol(scanner,"sdr_cw_high", GINT_TO_POINTER(SYMBOL_SDR_CW_HIGH)); g_scanner_add_symbol(scanner,"sdr_ssb_low", GINT_TO_POINTER(SYMBOL_SDR_SSB_LOW)); g_scanner_add_symbol(scanner,"sdr_ssb_high", GINT_TO_POINTER(SYMBOL_SDR_SSB_HIGH)); g_scanner_add_symbol(scanner,"sdr_rec_dsp_type", GINT_TO_POINTER(SYMBOL_SDR_REC_DSP_TYPE)); g_scanner_add_symbol(scanner,"sdr_play_dsp_type", GINT_TO_POINTER(SYMBOL_SDR_PLAY_DSP_TYPE)); g_scanner_add_symbol(scanner,"sdr_pa_rec", GINT_TO_POINTER(SYMBOL_SDR_PA_REC)); g_scanner_add_symbol(scanner,"sdr_pa_play", GINT_TO_POINTER(SYMBOL_SDR_PA_PLAY)); g_scanner_add_symbol(scanner,"sdr_pcm_rec", GINT_TO_POINTER(SYMBOL_SDR_PCM_REC)); g_scanner_add_symbol(scanner,"sdr_pcm_play", GINT_TO_POINTER(SYMBOL_SDR_PCM_PLAY)); g_scanner_add_symbol(scanner,"sdr_sndfilename", GINT_TO_POINTER(SYMBOL_SDR_SNDFILENAME)); g_scanner_add_symbol(scanner,"sdr_remoterx", GINT_TO_POINTER(SYMBOL_SDR_REMOTERX)); g_scanner_add_symbol(scanner,"sdr_af_filename", GINT_TO_POINTER(SYMBOL_SDR_AF_FILENAME)); g_scanner_add_symbol(scanner,"sdr_iqcomp", GINT_TO_POINTER(SYMBOL_SDR_IQCOMP)); g_scanner_add_symbol(scanner,"wiki_url", GINT_TO_POINTER(SYMBOL_WIKI_URL)); g_scanner_add_symbol(scanner,"wiki_user", GINT_TO_POINTER(SYMBOL_WIKI_USER)); g_scanner_add_symbol(scanner,"wiki_pass", GINT_TO_POINTER(SYMBOL_WIKI_PASS)); g_scanner_add_symbol(scanner,"wiki_map", GINT_TO_POINTER(SYMBOL_WIKI_MAP)); g_scanner_add_symbol(scanner,"wiki_chart", GINT_TO_POINTER(SYMBOL_WIKI_CHART)); g_scanner_add_symbol(scanner,"rain_enable", GINT_TO_POINTER(SYMBOL_RAIN_ENABLE)); g_scanner_add_symbol(scanner,"rain_meteox", GINT_TO_POINTER(SYMBOL_RAIN_METEOX)); g_scanner_add_symbol(scanner,"rain_wetteronline", GINT_TO_POINTER(SYMBOL_RAIN_WETTERONLINE)); g_scanner_add_symbol(scanner,"rain_chmi", GINT_TO_POINTER(SYMBOL_RAIN_CHMI)); g_scanner_add_symbol(scanner,"rain_weatheronline", GINT_TO_POINTER(SYMBOL_RAIN_WEATHERONLINE)); g_scanner_add_symbol(scanner,"rain_rainviewer", GINT_TO_POINTER(SYMBOL_RAIN_RAINVIEWER)); g_scanner_add_symbol(scanner,"rain_debug", GINT_TO_POINTER(SYMBOL_RAIN_DEBUG)); g_scanner_add_symbol(scanner,"rain_maxqrb", GINT_TO_POINTER(SYMBOL_RAIN_MAXQRB)); g_scanner_add_symbol(scanner,"rain_mincolor", GINT_TO_POINTER(SYMBOL_RAIN_MINCOLOR)); g_scanner_add_symbol(scanner,"rain_minscpdist", GINT_TO_POINTER(SYMBOL_RAIN_MINSCPDIST)); g_scanner_add_symbol(scanner,"sota_user", GINT_TO_POINTER(SYMBOL_SOTA_USER)); g_scanner_add_symbol(scanner,"sota_pass", GINT_TO_POINTER(SYMBOL_SOTA_PASS)); /* obsolete items */ g_scanner_add_symbol(scanner,"cwda_device", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"cwda_port", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"cwda_speaker", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"cwda_spkdev", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"cwda_spkvol", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"cwda_pttdelay", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rota_type", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rota_port", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rota_saddr", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rota_timeout_ms", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rota_filename", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rota_hostname", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rotb_type", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rotb_port", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rotb_saddr", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rotb_timeout_ms", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rotb_filename", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"rotb_hostname", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"doublefont", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"skedshift", GINT_TO_POINTER(SYMBOL_OBSOLETE)); g_scanner_add_symbol(scanner,"daqrv", GINT_TO_POINTER(SYMBOL_OBSOLETE)); } /**************************************************************************/ gint init_rc(void){ cfg = g_new0(struct config, 1); cfg->bands = g_ptr_array_new(); cfg->cqs = g_ptr_array_new(); cfg->crigs = g_ptr_array_new(); cfg->crotars = g_ptr_array_new(); cfg->sws = g_ptr_array_new(); cfg->takeoff = g_ptr_array_new(); cfg->cwda_minwpm = 10; cfg->cwda_maxwpm = 41; cfg->wk_usepot = 1; cfg->wk_usebut = 1; cfg->wk_keymode = 1; #ifdef Z_ANDROID cfg->dssaver = 0; #else cfg->dssaver = 1; #endif cfg->httpd_port = 7380; cfg->httpd_refresh = 300; cfg->ac_enable = 0; cfg->ac_url = g_strdup(""); cfg->ac_kfactor = 1.333; cfg->ac_arwidth = 10.0; cfg->ac_minelev = -0.5; cfg->ac_maxelev = +5.0; cfg->ac_mindur = 45; cfg->ac_maxdelta = 0; cfg->ac_minalt = 2000; cfg->sdr_cw = 0; cfg->sdr_lsb = 1; cfg->sdr_block = 4096; cfg->sdr_zero = 14600.0; cfg->sdr_ssb_low = -2100.0; cfg->sdr_ssb_high = -300.0; cfg->sdr_cw_low = -1000.0; cfg->sdr_cw_high = -400.0; cfg->rain_maxqrb = 350; cfg->rain_mincolor = 11; cfg->rain_minscpdist = 20; cfg->rain_rainviewer = 2; return 0; } #define FREE_IF_EXISTS(base, item) if (base->item) g_free(base->item) void free_config_rig(struct config_rig *crig){ FREE_IF_EXISTS(crig, rig_desc); FREE_IF_EXISTS(crig, rig_filename); } void free_config_rotar(struct config_rotar *crot){ FREE_IF_EXISTS(crot,rot_filename); FREE_IF_EXISTS(crot,rot_hostname); FREE_IF_EXISTS(crot,rot_desc); FREE_IF_EXISTS(crot,rot_serial); FREE_IF_EXISTS(crot,rot_rem_rotstr); g_free(crot); } gint free_rc(void){ int i; struct config_band *band; struct config_rotar *rot; struct config_rig *rig; FREE_IF_EXISTS(cfg,pcall); FREE_IF_EXISTS(cfg,pwwlo); FREE_IF_EXISTS(cfg,pexch); FREE_IF_EXISTS(cfg,padr1); FREE_IF_EXISTS(cfg,padr2); FREE_IF_EXISTS(cfg,pclub); FREE_IF_EXISTS(cfg,rname); FREE_IF_EXISTS(cfg,rcall); FREE_IF_EXISTS(cfg,radr1); FREE_IF_EXISTS(cfg,radr2); FREE_IF_EXISTS(cfg,rpoco); FREE_IF_EXISTS(cfg,rcity); FREE_IF_EXISTS(cfg,rcoun); FREE_IF_EXISTS(cfg,rphon); FREE_IF_EXISTS(cfg,rhbbs); FREE_IF_EXISTS(cfg,default_rs); FREE_IF_EXISTS(cfg,default_rst); FREE_IF_EXISTS(cfg, dxc_host); FREE_IF_EXISTS(cfg, dxc_user); FREE_IF_EXISTS(cfg, dxc_pass); FREE_IF_EXISTS(cfg, kst_user); FREE_IF_EXISTS(cfg, kst_pass); FREE_IF_EXISTS(cfg, kst_name); FREE_IF_EXISTS(cfg, slovhf_user); FREE_IF_EXISTS(cfg, sota_user); FREE_IF_EXISTS(cfg, sota_pass); FREE_IF_EXISTS(cfg,as_floppy_path); FREE_IF_EXISTS(cfg,as_mount_cmd); FREE_IF_EXISTS(cfg,net_if_ignore); FREE_IF_EXISTS(cfg,net_ip_ignore); FREE_IF_EXISTS(cfg,net_ip_announce); FREE_IF_EXISTS(cfg,net_remote_host); FREE_IF_EXISTS(cfg,net_remote_pass); /* trace_xx (5x) */ /* language */ FREE_IF_EXISTS(cfg,logdirpath); /* cwda-> in cwdaemon.c */ for (i=0;ibands->len; i++){ band = (struct config_band *)g_ptr_array_index(cfg->bands, i); FREE_IF_EXISTS(band,pband); FREE_IF_EXISTS(band,stxeq); FREE_IF_EXISTS(band,spowe); FREE_IF_EXISTS(band,srxeq); FREE_IF_EXISTS(band,sante); FREE_IF_EXISTS(band,santh); FREE_IF_EXISTS(band,mope1); FREE_IF_EXISTS(band,mope2); FREE_IF_EXISTS(band,remarks); FREE_IF_EXISTS(band,ok_section_single); FREE_IF_EXISTS(band,ok_section_multi); FREE_IF_EXISTS(band,adifband); FREE_IF_EXISTS(band,cbrband); FREE_IF_EXISTS(band,skedqrg); g_free(band); } g_ptr_array_free(cfg->bands, TRUE); for (i=0;icqs->len; i++){ free_cq((struct cq *)g_ptr_array_index(cfg->cqs,i)); } g_ptr_array_free(cfg->cqs, TRUE); /* YES, TRUE */ FREE_IF_EXISTS(cfg,startband); FREE_IF_EXISTS(cfg,operator_); FREE_IF_EXISTS(cfg,slashkey); FREE_IF_EXISTS(cfg,cwda_device); FREE_IF_EXISTS(cfg,cwda_hostname); FREE_IF_EXISTS(cfg,ssbd_pcm_play); FREE_IF_EXISTS(cfg,ssbd_pcm_rec); FREE_IF_EXISTS(cfg,ssbd_hostname); FREE_IF_EXISTS(cfg,ssbd_dsp); FREE_IF_EXISTS(cfg,ssbd_template); FREE_IF_EXISTS(cfg,ssbd_mixer); FREE_IF_EXISTS(cfg,ssbd_alsa_mixer); FREE_IF_EXISTS(cfg,ssbd_alsa_src); FREE_IF_EXISTS(cfg,ssbd_oss_src); for (i=0;icrigs->len; i++){ rig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); free_config_rig(rig); } g_ptr_array_free(cfg->crigs, TRUE); for (i=0;icrotars->len; i++){ rot = (struct config_rotar *)g_ptr_array_index(cfg->crotars, i); free_config_rotar(rot); } g_ptr_array_free(cfg->crotars, TRUE); for (i=0;isws->len;i++){ struct config_subwin *csw; csw=(struct config_subwin *)g_ptr_array_index(cfg->sws, i); FREE_IF_EXISTS(csw, command); FREE_IF_EXISTS(csw, autorun); g_free(csw); } g_ptr_array_free(cfg->sws, TRUE); /* YES, TRUE */ for (i=0;itakeoff->len;i++){ struct takeoff *toff; toff=(struct takeoff*)g_ptr_array_index(cfg->takeoff, i); g_free(toff); } g_ptr_array_free(cfg->takeoff, TRUE); g_free(cfg); return 0; } void rc_init_crig(int rignr){ if (!cfg->crig){ cfg->crig = g_new0(struct config_rig, 1); g_ptr_array_add(cfg->crigs, cfg->crig); cfg->crig->nr = rignr; cfg->crig->rig_enabled = 1; cfg->crig->rig_mode_t2r = 1; cfg->crig->rig_civaddr = 0x58; } } #define STORE_RC_STRING(base, SYM,item) case SYM: \ if (base){\ if (base->item) g_free(base->item); \ base->item = g_strdup(scanner->value.v_string);\ }\ break #define STORE_RC_STRING_UC(base, SYM,item) case SYM: \ if (base){\ if (base->item) g_free(base->item); \ base->item = g_strdup(scanner->value.v_string);\ z_str_uc(base->item);\ }\ break #define STORE_RC_STRING_FS(base, SYM,item) case SYM: \ if (base){\ if (base->item) g_free(base->item); \ base->item = g_strdup(scanner->value.v_string);\ fixsemi(base->item);\ }\ break #define STORE_RC_STRING_FS_UC(base, SYM,item) case SYM: \ if (base){\ if (base->item) g_free(base->item); \ base->item = g_strdup(scanner->value.v_string);\ fixsemi(base->item);\ z_str_uc(base->item);\ }\ break #define STORE_RC_INT(base, SYM,item) case SYM: \ if (base){\ base->item = scanner->value.v_int * krat; \ }\ break #define STORE_RC_ENUM(base, SYM, item, type) case SYM: \ if (base){\ base->item = (type)(scanner->value.v_int * krat); \ }\ break #define STORE_RC_DOUBLE(base, SYM,item) case SYM: \ if (base){\ base->item = scanner->value.v_float * krat;\ }\ break /* known items are identifiers */ /* all other are symbols */ guint read_one_token(GScanner *scanner){ guint symbol; gint krat; /* dbg("read_one_token\n");*/ g_scanner_get_next_token(scanner); symbol = scanner->token; /* symbol (abc) is unresolved, probably valid identifier from newer version */ if (symbol == G_TOKEN_IDENTIFIER) return G_TOKEN_SYMBOL; /* config record must begin with known symbol */ if ((symbol < SYMBOL_MY_FIRST) || (symbol > SYMBOL_MY_LAST)){ return G_TOKEN_NONE; } /* its one of my symbols */ g_scanner_get_next_token(scanner); /* expecting '=' */ if (scanner->token != '='){ return '='; } g_scanner_get_next_token(scanner); /* dbg("scanner->token=%d G_TOKEN_STRING=%d \n",scanner->token, G_TOKEN_STRING);*/ if (scanner->token==G_TOKEN_ERROR){ return G_TOKEN_ERROR; } if (scanner->token == '-'){ krat = -1; g_scanner_get_next_token(scanner); }else{ krat = 1; } /* if ((scanner->token) != (G_TOKEN_STRING)){ dbg("not equal\n"); return G_TOKEN_STRING; }else{ dbg("equal\n"); }*/ switch(symbol){ STORE_RC_STRING_FS_UC(cfg, SYMBOL_PCALL, pcall); STORE_RC_STRING_FS_UC(cfg, SYMBOL_PWWLO, pwwlo); STORE_RC_STRING_FS_UC(cfg, SYMBOL_PEXCH, pexch); STORE_RC_STRING (cfg, SYMBOL_PADR1, padr1); STORE_RC_STRING (cfg, SYMBOL_PADR2, padr2); STORE_RC_STRING_FS_UC(cfg, SYMBOL_PCLUB, pclub); STORE_RC_STRING (cfg, SYMBOL_RNAME, rname); STORE_RC_STRING_UC(cfg, SYMBOL_RCALL, rcall); STORE_RC_STRING (cfg, SYMBOL_RADR1, radr1); STORE_RC_STRING (cfg, SYMBOL_RADR2, radr2); STORE_RC_STRING (cfg, SYMBOL_RPOCO, rpoco); STORE_RC_STRING (cfg, SYMBOL_RCITY, rcity); STORE_RC_STRING (cfg, SYMBOL_RCOUN, rcoun); STORE_RC_STRING (cfg, SYMBOL_RPHON, rphon); STORE_RC_STRING (cfg, SYMBOL_RHBBS, rhbbs); STORE_RC_STRING_UC(cfg, SYMBOL_RS, default_rs); STORE_RC_STRING_UC(cfg, SYMBOL_RST, default_rst); STORE_RC_INT (cfg, SYMBOL_QSOP_M,qsop_method); STORE_RC_INT (cfg, SYMBOL_TOTAL_M,total_method); STORE_RC_INT(cfg, SYMBOL_AS_DAQ, as_disk_aq); STORE_RC_INT(cfg, SYMBOL_AS_DAM, as_disk_am); STORE_RC_INT(cfg, SYMBOL_AS_DFS, as_disk_fsync); STORE_RC_INT(cfg, SYMBOL_AS_FAQ, as_floppy_aq); STORE_RC_INT(cfg, SYMBOL_AS_FAM, as_floppy_am); STORE_RC_INT(cfg, SYMBOL_AS_FFS, as_floppy_fsync); STORE_RC_INT(cfg, SYMBOL_AS_FMO, as_mount); STORE_RC_STRING(cfg, SYMBOL_AS_FPA, as_floppy_path); STORE_RC_STRING(cfg, SYMBOL_AS_FMC, as_mount_cmd); STORE_RC_STRING(cfg, SYMBOL_IF_IGNORE, net_if_ignore); STORE_RC_STRING(cfg, SYMBOL_IP_IGNORE, net_ip_ignore); STORE_RC_STRING(cfg, SYMBOL_IP_ANNOUNCE, net_ip_announce); STORE_RC_INT (cfg, SYMBOL_REMOTE_ENABLE, net_remote_enable); STORE_RC_STRING(cfg, SYMBOL_REMOTE_HOST, net_remote_host); STORE_RC_INT (cfg, SYMBOL_REMOTE_PORT, net_remote_port); STORE_RC_STRING(cfg, SYMBOL_REMOTE_PASS, net_remote_pass); STORE_RC_INT (cfg, SYMBOL_MASTERPRIORITY, net_masterpriority); STORE_RC_INT (cfg, SYMBOL_TRACE_BCAST, trace_bcast); STORE_RC_INT (cfg, SYMBOL_TRACE_SOCK, trace_sock); STORE_RC_INT (cfg, SYMBOL_TRACE_RECV, trace_recv); STORE_RC_INT (cfg, SYMBOL_TRACE_SEND, trace_send); STORE_RC_INT (cfg, SYMBOL_TRACE_QSOS, trace_qsos); STORE_RC_INT (cfg, SYMBOL_TRACE_RIG, trace_rig); STORE_RC_INT (cfg, SYMBOL_TRACE_SDEV, trace_sdev); STORE_RC_INT (cfg, SYMBOL_TRACE_KEYS, trace_keys); case SYMBOL_LANGUAGE: current_language = scanner->value.v_int;\ break; case SYMBOL_CQ: cfg->cq = get_cq_by_number(cfg->cqs, scanner->value.v_int); if (!cfg->cq){ cfg->cq = g_new0(struct cq, 1); g_ptr_array_add(cfg->cqs, cfg->cq); cfg->cq->nr = scanner->value.v_int; } break; STORE_RC_STRING(cfg->cq, SYMBOL_CW_STR, cw_str); STORE_RC_INT (cfg->cq, SYMBOL_CW_SPEED, cw_speed); STORE_RC_INT (cfg->cq, SYMBOL_CW_REPEAT, cw_repeat); STORE_RC_INT (cfg->cq, SYMBOL_CW_TS, cw_ts); STORE_RC_INT (cfg->cq, SYMBOL_CW_ALLOWUND, cw_allowifundef); STORE_RC_STRING(cfg->cq, SYMBOL_SSB_FILE, ssb_file); STORE_RC_INT (cfg->cq, SYMBOL_SSB_REPEAT, ssb_repeat); STORE_RC_INT (cfg->cq, SYMBOL_SSB_TS, ssb_ts); case SYMBOL_TERM: cfg->ts = new_term_spec(scanner->value.v_string); break; STORE_RC_INT(cfg->ts, SYMBOL_TERM_MODE, mode); STORE_RC_INT(cfg->ts, SYMBOL_TERM_M11_HACK, m11_hack); STORE_RC_INT(cfg->ts, SYMBOL_TERM_RESTRICT_852, restrict_852); STORE_RC_INT(cfg->ts, SYMBOL_TERM_BLOCK_CURSOR, block_cursor); STORE_RC_INT(cfg->ts, SYMBOL_TERM_COL, col); STORE_RC_INT(cfg->ts, SYMBOL_TERM_UTF_8_IO, utf_8_io); STORE_RC_INT(cfg->ts, SYMBOL_TERM_CHARSET, charset); STORE_RC_STRING(cfg, SYMBOL_STARTBAND, startband); case SYMBOL_PBAND: cfg->band = get_config_band_by_pband(fixsemi(scanner->value.v_string)); if (!cfg->band){ cfg->band = g_new0(struct config_band, 1); g_ptr_array_add(cfg->bands, cfg->band); cfg->band->pband = fixsemi(g_strdup(scanner->value.v_string)); cfg->band->skedqrg=g_strdup(""); cfg->band->wwlradius = 10; } //dbg("new band: '%s' cfg->band='%p' \n", scanner->value.v_string,cfg->band); break; case SYMBOL_BANDCHAR: if (cfg->band){ cfg->band->bandchar = toupper(*(scanner->value.v_string)); } break; case SYMBOL_QRV: if (cfg->band){ cfg->band->qrv = cfg->band->qrvnow = scanner->value.v_int; } break; case SYMBOL_READONLY: if (cfg->band){ cfg->band->readonly = scanner->value.v_int; /*dbg("readonly=%d\n", cfg->band->readonly);*/ } break; /* STORE_RC_INT (cfg->band, SYMBOL_QRV, qrv); STORE_RC_INT (cfg->band, SYMBOL_QRVNOW,qrvnow); */ STORE_RC_INT (cfg->band, SYMBOL_PSECT, psect); STORE_RC_STRING (cfg->band, SYMBOL_STXEQ, stxeq); STORE_RC_STRING (cfg->band, SYMBOL_SPOWE, spowe); STORE_RC_STRING (cfg->band, SYMBOL_SRXEQ, srxeq); STORE_RC_STRING (cfg->band, SYMBOL_SANTE, sante); STORE_RC_STRING (cfg->band, SYMBOL_SANTH, santh); STORE_RC_STRING_UC(cfg->band, SYMBOL_MOPE1, mope1); STORE_RC_STRING_UC(cfg->band, SYMBOL_MOPE2, mope2); STORE_RC_STRING (cfg->band, SYMBOL_REMARKS,remarks); STORE_RC_STRING (cfg->band, SYMBOL_OK_SECTION_SINGLE,ok_section_single); STORE_RC_STRING (cfg->band, SYMBOL_OK_SECTION_MULTI, ok_section_multi); //STORE_RC_STRING (cfg->band, SYMBOL_ADIFBAND, adifband); case SYMBOL_ADIFBAND: if (cfg->band){ if (cfg->band->adifband) g_free(cfg->band->adifband); cfg->band->adifband = g_strdup(scanner->value.v_string); // pre-fill stdband from adifband char *tmp = g_strdup(scanner->value.v_string); char *m = strchr(tmp, 'm'); char *dot = strchr(tmp, '.'); if (m != NULL && dot == NULL && cfg->band->qrg_min < 20000000){ cfg->band->stfband = atoi(tmp); } g_free(tmp); } break; STORE_RC_STRING (cfg->band, SYMBOL_CBRBAND, cbrband); STORE_RC_INT (cfg->band, SYMBOL_STFBAND, stfband); STORE_RC_INT (cfg->band, SYMBOL_QRG_MIN, qrg_min); STORE_RC_INT (cfg->band, SYMBOL_QRG_MAX, qrg_max); STORE_RC_STRING (cfg->band, SYMBOL_SKEDQRG, skedqrg); STORE_RC_DOUBLE (cfg->band, SYMBOL_BAND_LO, band_lo); STORE_RC_INT (cfg->band, SYMBOL_BAND_SW, band_sw); STORE_RC_STRING (cfg->band, SYMBOL_OPSECT, opsect); STORE_RC_INT (cfg->band, SYMBOL_WWLRADIUS, wwlradius); STORE_RC_INT (cfg, SYMBOL_CWDA_TYPE, cwda_type); STORE_RC_STRING (cfg, SYMBOL_CWDA_DEVICE, cwda_device); STORE_RC_STRING (cfg, SYMBOL_CWDA_HOST, cwda_hostname); STORE_RC_INT (cfg, SYMBOL_CWDA_UDP, cwda_udp_port); STORE_RC_INT (cfg, SYMBOL_CWDA_IOPORT, cwda_io_port); STORE_RC_INT (cfg, SYMBOL_CWDA_SPEED, cwda_speed); STORE_RC_INT (cfg, SYMBOL_CWDA_WEIGHT, cwda_weight); STORE_RC_INT (cfg, SYMBOL_CWDA_MINWPM, cwda_minwpm); STORE_RC_INT (cfg, SYMBOL_CWDA_MAXWPM, cwda_maxwpm); STORE_RC_INT (cfg, SYMBOL_CWDA_SPK, cwda_spk); STORE_RC_INT (cfg, SYMBOL_CWDA_LEADIN, cwda_leadin); STORE_RC_INT (cfg, SYMBOL_CWDA_TAIL, cwda_tail); STORE_RC_INT (cfg, SYMBOL_CWDA_VID, cwda_vid); STORE_RC_INT (cfg, SYMBOL_CWDA_PID, cwda_pid); STORE_RC_INT (cfg, SYMBOL_CWDA_AUTGIVE, cwda_autgive); STORE_RC_INT (cfg, SYMBOL_WK_WK2, wk_wk2); STORE_RC_INT (cfg, SYMBOL_WK_USEPOT, wk_usepot); STORE_RC_INT (cfg, SYMBOL_WK_USEBUT, wk_usebut); STORE_RC_INT (cfg, SYMBOL_WK_KEYMODE, wk_keymode); STORE_RC_INT (cfg, SYMBOL_WK_SWAP, wk_swap); #if 0 STORE_RC_INT (cfg, SYMBOL_CWDA_DEVICE, cwda_device); /* obsolete */ STORE_RC_INT (cfg, SYMBOL_CWDA_SPEAKER, cwda_speaker); /* obsolete */ STORE_RC_INT (cfg, SYMBOL_CWDA_PORT, cwda_port); /* obsolete */ #endif STORE_RC_INT (cfg, SYMBOL_SSBD_TYPE, ssbd_type); STORE_RC_INT (cfg, SYMBOL_SSBD_RECORD, ssbd_record); STORE_RC_INT (cfg, SYMBOL_SSBD_MAXMIN, ssbd_maxmin); STORE_RC_INT (cfg, SYMBOL_SSBD_DISKFREE, ssbd_diskfree); STORE_RC_INT (cfg, SYMBOL_SSBD_FORMAT, ssbd_format); STORE_RC_INT (cfg, SYMBOL_SSBD_CHANNELS, ssbd_channels); STORE_RC_INT (cfg, SYMBOL_SSBD_SAMPLERATE, ssbd_samplerate); STORE_RC_INT (cfg, SYMBOL_SSBD_PLEV, ssbd_plev); STORE_RC_INT (cfg, SYMBOL_SSBD_RLEV, ssbd_rlev); /* case SYMBOL_SSBD_PLEV: if (cfg){ cfg->ssbd_plev = scanner->value.v_int; if (scanner->token == '-') cfg->ssbd_plev == -cfg->ssbd_plev; } break;*/ STORE_RC_STRING (cfg, SYMBOL_SSBD_TEMPLATE, ssbd_template); STORE_RC_STRING (cfg, SYMBOL_SSBD_PCM_PLAY, ssbd_pcm_play); STORE_RC_STRING (cfg, SYMBOL_SSBD_PCM_REC, ssbd_pcm_rec); STORE_RC_INT (cfg, SYMBOL_SSBD_PERIOD_T, ssbd_period_time); STORE_RC_INT (cfg, SYMBOL_SSBD_BUFFER_T, ssbd_buffer_time); STORE_RC_STRING (cfg, SYMBOL_SSBD_ALSA_MIXER, ssbd_alsa_mixer); STORE_RC_STRING (cfg, SYMBOL_SSBD_ALSA_SRC, ssbd_alsa_src); STORE_RC_STRING (cfg, SYMBOL_SSBD_DSP, ssbd_dsp); STORE_RC_INT (cfg, SYMBOL_SSBD_MAXFRAG, ssbd_maxfrag); STORE_RC_STRING (cfg, SYMBOL_SSBD_MIXER, ssbd_mixer); STORE_RC_STRING (cfg, SYMBOL_SSBD_OSS_SRC, ssbd_oss_src); STORE_RC_INT (cfg, SYMBOL_SSBD_RECSRC, ssbd_recsrc); STORE_RC_STRING (cfg, SYMBOL_SSBD_HOST, ssbd_hostname); STORE_RC_INT (cfg, SYMBOL_SSBD_UDP, ssbd_udp_port); STORE_RC_INT (cfg, SYMBOL_SSBD_PA_PLAY, ssbd_pa_play); STORE_RC_INT (cfg, SYMBOL_SSBD_PA_REC, ssbd_pa_rec); /* STORE_RC_INT (cfg, SYMBOL_SSBD_PIPE, ssbd_pipe); STORE_RC_STRING (cfg, SYMBOL_SSBD_COMMAND, ssbd_command);*/ case SYMBOL_RIG: cfg->crig = get_config_rig_by_number(cfg->crigs, scanner->value.v_int); rc_init_crig(scanner->value.v_int); break; case SYMBOL_RIG_FILENAME: rc_init_crig(0); zg_free0(cfg->crig->rig_filename); cfg->crig->rig_filename = g_strdup(scanner->value.v_string); break; STORE_RC_INT (cfg->crig, SYMBOL_RIG_ENABLED, rig_enabled); STORE_RC_STRING (cfg->crig, SYMBOL_RIG_DESC, rig_desc); STORE_RC_INT (cfg->crig, SYMBOL_RIG_MODEL, rig_model); STORE_RC_INT (cfg->crig, SYMBOL_RIG_SPEED, rig_speed); STORE_RC_INT (cfg->crig, SYMBOL_RIG_HANDSHAKE_NONE, rig_handshake_none); STORE_RC_INT (cfg->crig, SYMBOL_RIG_CIVADDR, rig_civaddr); STORE_RC_DOUBLE (cfg->crig, SYMBOL_RIG_LO, rig_lo); STORE_RC_INT (cfg->crig, SYMBOL_RIG_SSBCW_SHIFT, rig_ssbcw_shift); STORE_RC_INT (cfg->crig, SYMBOL_RIG_POLL_MS, rig_poll_ms); STORE_RC_INT (cfg->crig, SYMBOL_RIG_QRG_R2T, rig_qrg_r2t); STORE_RC_INT (cfg->crig, SYMBOL_RIG_QRG_T2R, rig_qrg_t2r); STORE_RC_INT (cfg->crig, SYMBOL_RIG_MODE_T2R, rig_mode_t2r); STORE_RC_INT (cfg->crig, SYMBOL_RIG_CLR_RIT, rig_clr_rit); STORE_RC_INT (cfg->crig, SYMBOL_RIG_PTT_T2R, rig_ptt_t2r); STORE_RC_INT (cfg->crig, SYMBOL_RIG_VERBOSE, rig_verbose); case SYMBOL_ROTAR: cfg->crotar = get_config_rotar_by_number(cfg->crotars, scanner->value.v_int); if (!cfg->crotar){ cfg->crotar=g_new0(struct config_rotar, 1); g_ptr_array_add(cfg->crotars, cfg->crotar); cfg->crotar->nr = scanner->value.v_int; } break; STORE_RC_STRING (cfg->crotar, SYMBOL_ROT_DESC, rot_desc); STORE_RC_ENUM (cfg->crotar, SYMBOL_ROT_TYPE, rot_type, enum rot_type); STORE_RC_STRING (cfg->crotar, SYMBOL_ROT_FILENAME, rot_filename); STORE_RC_STRING (cfg->crotar, SYMBOL_ROT_HOSTNAME, rot_hostname); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_PORT, rot_port); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_VID, rot_vid); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_PID, rot_pid); STORE_RC_STRING (cfg->crotar, SYMBOL_ROT_SERIAL, rot_serial); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_TIMEOUT_MS, rot_timeout_ms); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_BEAMWIDTH, rot_beamwidth); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_SADDR, rot_saddr); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_MODEL, rot_model); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_SPEED, rot_speed); STORE_RC_STRING (cfg->crotar, SYMBOL_ROT_REM_ROTSTR, rot_rem_rotstr); STORE_RC_INT (cfg->crotar, SYMBOL_ROT_POLL_MS, rot_poll_ms); case SYMBOL_SW: cfg->sw = get_config_sw_by_number(cfg->sws, scanner->value.v_int); if (!cfg->sw){ cfg->sw = g_new0(struct config_subwin, 1); g_ptr_array_add(cfg->sws, cfg->sw); cfg->sw->nr = scanner->value.v_int; } break; STORE_RC_ENUM (cfg->sw, SYMBOL_SW_TYPE, type, enum sw_type); STORE_RC_STRING (cfg->sw, SYMBOL_SW_COMMAND, command); STORE_RC_STRING (cfg->sw, SYMBOL_SW_AUTORUN, autorun); STORE_RC_INT (cfg->sw, SYMBOL_SW_RESPAWN_TIME, respawn_time); STORE_RC_INT (cfg, SYMBOL_LOGLINES, loglines); STORE_RC_INT (cfg, SYMBOL_SKEDCOUNT, skedcount); case SYMBOL_TAKEOFF:{ gchar **items; struct takeoff *toff; if (!scanner->value.v_string) break; items=g_strsplit(scanner->value.v_string, ",", 3); if (!items[0] || !items[1] || !items[2]) { g_strfreev(items); break; } toff=g_new0(struct takeoff, 1); toff->from=atoi(items[0]); toff->to=atoi(items[1]); toff->value=atoi(items[2]); g_ptr_array_add(cfg->takeoff, toff); } break; STORE_RC_STRING(cfg, SYMBOL_OPERATOR, operator_); STORE_RC_INT (cfg, SYMBOL_GLOBAL_OPERATOR, global_operator); STORE_RC_INT (cfg, SYMBOL_GFX_X, gfx_x); STORE_RC_INT (cfg, SYMBOL_GFX_Y, gfx_y); STORE_RC_INT (cfg, SYMBOL_FONTHEIGHT, fontheight); STORE_RC_STRING(cfg, SYMBOL_SLASHKEY, slashkey); STORE_RC_INT (cfg, SYMBOL_DSSAVER, dssaver); STORE_RC_INT (cfg, SYMBOL_SPLITHEIGHT, splitheight); STORE_RC_INT (cfg, SYMBOL_FULLSCREEN, fullscreen); STORE_RC_INT (cfg, SYMBOL_MAXIMIZED, maximized); STORE_RC_INT (cfg, SYMBOL_USETOUCH, usetouch); STORE_RC_INT (cfg, SYMBOL_TOUCHPOS, touchpos); STORE_RC_INT (cfg, SYMBOL_ALTSYMS, altsyms); STORE_RC_INT (cfg, SYMBOL_NOLOCKS, nolocks); STORE_RC_INT (cfg, SYMBOL_PORTRAIT, portrait); STORE_RC_INT (cfg, SYMBOL_REVERSE, reverse); STORE_RC_INT (cfg, SYMBOL_INVERSE, inverse); STORE_RC_INT (cfg, SYMBOL_ADIF_EXPORT_MODE_T2R, adif_export_mode_t2r); STORE_RC_STRING(cfg, SYMBOL_LOGDIR_PATH, logdirpath); STORE_RC_STRING(cfg, SYMBOL_DXC_HOST, dxc_host); STORE_RC_INT (cfg, SYMBOL_DXC_PORT, dxc_port); STORE_RC_STRING(cfg, SYMBOL_DXC_USER, dxc_user); STORE_RC_STRING(cfg, SYMBOL_DXC_PASS, dxc_pass); STORE_RC_STRING(cfg, SYMBOL_KST_USER, kst_user); STORE_RC_STRING(cfg, SYMBOL_KST_PASS, kst_pass); STORE_RC_STRING(cfg, SYMBOL_KST_NAME, kst_name); STORE_RC_INT(cfg, SYMBOL_KST_MAXQRB, kst_maxqrb); STORE_RC_STRING(cfg, SYMBOL_SLOVHF_USER, slovhf_user); STORE_RC_STRING(cfg, SYMBOL_SOTA_USER, sota_user); STORE_RC_STRING(cfg, SYMBOL_SOTA_PASS, sota_pass); STORE_RC_INT(cfg, SYMBOL_HTTPD_ENABLE, httpd_enable); STORE_RC_INT(cfg, SYMBOL_HTTPD_PORT, httpd_port); STORE_RC_INT(cfg, SYMBOL_HTTPD_SHOW_PRIV, httpd_show_priv); STORE_RC_INT(cfg, SYMBOL_HTTPD_REFRESH, httpd_refresh); STORE_RC_INT (cfg, SYMBOL_AC_ENABLE, ac_enable); STORE_RC_STRING(cfg, SYMBOL_AC_URL, ac_url); STORE_RC_DOUBLE(cfg, SYMBOL_AC_KFACTOR, ac_kfactor); STORE_RC_DOUBLE(cfg, SYMBOL_AC_ARWIDTH, ac_arwidth); STORE_RC_DOUBLE(cfg, SYMBOL_AC_MINELEV, ac_minelev); STORE_RC_DOUBLE(cfg, SYMBOL_AC_MAXELEV, ac_maxelev); STORE_RC_INT (cfg, SYMBOL_AC_MINDUR, ac_mindur); STORE_RC_DOUBLE(cfg, SYMBOL_AC_MAXDELTA, ac_maxdelta); STORE_RC_INT (cfg, SYMBOL_AC_MINALT, ac_minalt); STORE_RC_INT (cfg, SYMBOL_SDR_ENABLE, sdr_enable); STORE_RC_INT (cfg, SYMBOL_SDR_CW, sdr_cw); STORE_RC_INT (cfg, SYMBOL_SDR_LSB, sdr_lsb); STORE_RC_DOUBLE(cfg, SYMBOL_SDR_ZERO, sdr_zero); STORE_RC_INT (cfg, SYMBOL_SDR_SPEED, sdr_speed); STORE_RC_INT (cfg, SYMBOL_SDR_AF_SPEED, sdr_af_speed); STORE_RC_INT (cfg, SYMBOL_SDR_BLOCK, sdr_block); STORE_RC_DOUBLE(cfg, SYMBOL_SDR_CW_LOW, sdr_cw_low); STORE_RC_DOUBLE(cfg, SYMBOL_SDR_CW_HIGH, sdr_cw_high); STORE_RC_DOUBLE(cfg, SYMBOL_SDR_SSB_LOW, sdr_ssb_low); STORE_RC_DOUBLE(cfg, SYMBOL_SDR_SSB_HIGH, sdr_ssb_high); STORE_RC_INT (cfg, SYMBOL_SDR_REC_DSP_TYPE, sdr_rec_dsp_type); STORE_RC_INT (cfg, SYMBOL_SDR_PLAY_DSP_TYPE, sdr_play_dsp_type); STORE_RC_INT (cfg, SYMBOL_SDR_PA_REC, sdr_pa_rec); STORE_RC_INT (cfg, SYMBOL_SDR_PA_PLAY, sdr_pa_play); STORE_RC_STRING(cfg, SYMBOL_SDR_PCM_REC, sdr_pcm_rec); STORE_RC_STRING(cfg, SYMBOL_SDR_PCM_PLAY, sdr_pcm_play); STORE_RC_STRING(cfg, SYMBOL_SDR_SNDFILENAME, sdr_sndfilename); STORE_RC_STRING(cfg, SYMBOL_SDR_REMOTERX, sdr_remoterx); STORE_RC_STRING(cfg, SYMBOL_SDR_AF_FILENAME, sdr_af_filename); STORE_RC_INT (cfg, SYMBOL_SDR_IQCOMP, sdr_iqcomp); STORE_RC_STRING(cfg, SYMBOL_WIKI_URL, wiki_url); STORE_RC_STRING(cfg, SYMBOL_WIKI_USER, wiki_user); STORE_RC_STRING(cfg, SYMBOL_WIKI_PASS, wiki_pass); STORE_RC_INT (cfg, SYMBOL_WIKI_MAP, wiki_map); STORE_RC_INT (cfg, SYMBOL_WIKI_CHART, wiki_chart); STORE_RC_INT (cfg, SYMBOL_RAIN_ENABLE, rain_enable); STORE_RC_INT (cfg, SYMBOL_RAIN_METEOX, rain_meteox); STORE_RC_INT (cfg, SYMBOL_RAIN_WETTERONLINE, rain_wetteronline); STORE_RC_INT (cfg, SYMBOL_RAIN_CHMI, rain_chmi); STORE_RC_INT (cfg, SYMBOL_RAIN_WEATHERONLINE, rain_weatheronline); STORE_RC_INT (cfg, SYMBOL_RAIN_RAINVIEWER, rain_rainviewer); STORE_RC_INT (cfg, SYMBOL_RAIN_DEBUG, rain_debug); STORE_RC_INT (cfg, SYMBOL_RAIN_MAXQRB, rain_maxqrb); STORE_RC_INT (cfg, SYMBOL_RAIN_MINCOLOR, rain_mincolor); STORE_RC_INT (cfg, SYMBOL_RAIN_MINSCPDIST, rain_minscpdist); } /* force logging */ #if 0 cfg->trace_sock=1; cfg->trace_qsos=1; #endif return G_TOKEN_NONE; } gint read_rc_file(gchar *filename, const char *text){ FILE *f; GScanner *scanner; guint expected; gint errors; char *buf = NULL; /* dbg("read_rc_file(%s)\n", filename);*/ f=NULL; if (filename){ long len; long rd; f=fopen(filename,"rt"); if (!f) return -1; if (fseek(f, 0L, SEEK_END)) { fclose(f); dbg("can't fseek SEEK_END\n"); return -1; } len = ftell(f); if (fseek(f, 0L, SEEK_SET)) { fclose(f); dbg("can't fseek SEEK_SET\n"); return -1; } buf = g_new0(char, len + 1); rd = fread(buf, 1, len, f); if (rd <= 0){ // rd != len under WIN32 fclose(f); dbg("can't fread(%d)=%d\n", len, rd); return -1; } buf[rd] = '\0'; // fclose(f); filename = NULL; text = buf; } scanner = g_scanner_new(NULL); scanner->config->numbers_2_int = TRUE; scanner->config->symbol_2_token = TRUE; add_symbols(scanner); if (filename){ g_scanner_input_file(scanner, fileno(f)); // unreached scanner->input_name = filename; }else{ g_scanner_input_text(scanner, text, strlen(text)); filename="internal_default.rc"; scanner->input_name = filename; } errors=0; do{ //dbg("line %d\n", scanner->line); /*if (scanner->line == 882){ int x = 1; }*/ expected = read_one_token(scanner); if (expected == G_TOKEN_SYMBOL) { errors++; //dbg("errors=%d\n", errors); } /*dbg("expected=%d\n",expected);*/ g_scanner_peek_next_token(scanner); } while (scanner->next_token != G_TOKEN_EOF && scanner->next_token != G_TOKEN_ERROR); g_scanner_destroy(scanner); if (f) fclose(f); if (buf) g_free(buf); /* dbg("call %s\n", cfg->call);*/ if (errors){ log_addf(CTEXT(T_FOUND_D_ERRORS),errors, errors>1?"s":"",filename); //dbg("Found %d error%s while reading %s\n",errors, errors>1?"s":"",filename); return errors; } return 0; } gint read_rc_line(gchar *str){ GScanner *scanner; guint expected; gint errors; scanner = g_scanner_new(NULL); scanner->config->numbers_2_int = TRUE; scanner->config->symbol_2_token = TRUE; add_symbols(scanner); g_scanner_input_text(scanner, str, strlen(str)); scanner->input_name = "network"; errors=0; do{ expected = read_one_token(scanner); if (expected == G_TOKEN_SYMBOL) errors++; /*dbg("expected=%d\n",expected);*/ g_scanner_peek_next_token(scanner); } while (expected == G_TOKEN_NONE && scanner->next_token != G_TOKEN_EOF && scanner->next_token != G_TOKEN_ERROR); if (expected != G_TOKEN_NONE){ g_scanner_unexp_token(scanner, (GTokenType)expected, NULL, "symbol", NULL, NULL, TRUE); }; g_scanner_destroy(scanner); if (errors){ log_addf(VTEXT(T_FOUND_D_ERRORS_RC_NET), errors); } return 0; } void terminate_bh(void *xxx){ zselect_terminate(zsel); } void show_rc_error(void *arg){ msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, VTEXT(T_CANT_LOAD_CFG), NULL, 1, VTEXT(T_CANCEL), terminate_bh, B_ENTER | B_ESC); } void show_rc_warning(void *arg){ msg_box(NULL, VTEXT(T_WARNING), AL_CENTER, VTEXT(T_ERR_RC), NULL, 1, VTEXT(T_CANCEL), NULL, B_ENTER | B_ESC); } gint read_rc_files(void){ gchar *user,*local; int fail1,fail2,fail3; int i; char **c;tl = (long long)time(NULL) << 6; cfg->loglines = 3; cfg->skedcount = 5; cfg->global_operator = 1; cfg->ssbd_plev = -1; cfg->ssbd_rlev = -1; cfg->ssbd_period_time = 50; cfg->ssbd_pa_play = -1; cfg->ssbd_pa_rec = -1; cfg->fontheight = 16; cfg->net_remote_port = 55555; #ifdef Z_ANDROID cfg->usetouch = 1; cfg->net_masterpriority = 7; #else cfg->net_masterpriority = 5; #endif #ifdef HAVE_PORTAUDIO cfg->sdr_rec_dsp_type = cfg->sdr_play_dsp_type = DSPT_PORTAUDIO; #endif #ifdef HAVE_ALSA cfg->sdr_rec_dsp_type = cfg->sdr_play_dsp_type = DSPT_ALSA; cfg->sdr_pcm_rec = g_strdup("hw:1,0"); cfg->sdr_pcm_play = g_strdup("default"); #endif cfg->sdr_speed = 48000; cfg->sdr_af_speed = 12000; cfg->logdirpath = g_strdup(""); fail1=0; user = g_strconcat(tucnak_dir, "/tucnakrc", NULL); z_wokna(user); fail2=read_rc_file(user, NULL); dbg("read_rc_file('%s', NULL)=%d\n", user, fail2); g_free(user); if (fail2==-1){ /* reads global config only if no user config exists */ fail1=read_rc_file(NULL, txt_tucnakrc); dbg("read_rc_file(NULL, txt_tucnakrc)=%d\n", fail1); #ifdef Z_ANDROID cfg->cwda_type = CWD_NONE; cfg->fullscreen = 1; #endif #ifdef Z_MSC_MINGW g_free(cfg->cwda_device); cfg->cwda_device = g_strdup("0x378"); if (cfg->crig != NULL){ g_free(cfg->crig->rig_filename); cfg->crig->rig_filename = g_strdup("COM3"); } #endif } local = g_strconcat(tucnak_dir, "/tucnakrc.local", NULL); z_wokna(local); fail3=read_rc_file(local, NULL); g_free(local); c = (char **)cfg; for (i = 0; i<10 && (*c)[i]; i++){ tl <<= 6; tl |= ((*c)[i] - '.') % 64; } tl &= 0x7fffffffffffffffLL; #ifdef Z_ANDROID /* cfg->pcall = g_strdup("ANDR0ID"); cfg->pwwlo = g_strdup("JN69UN");*/ #endif if (!cfg->pcall || !cfg->pwwlo) zselect_bh_new(zsel, show_rc_error, NULL); else if (fail1>0 || fail2>0 || fail3>0) zselect_bh_new(zsel, show_rc_warning, NULL); #ifdef Z_HAVE_SDL if (sdl){ if (cfg->gfx_x<=0) cfg->gfx_x=106*FONT_W; if (cfg->gfx_y<=0) cfg->gfx_y=42*FONT_H; } #endif if (!cfg->ssbd_pcm_play) cfg->ssbd_pcm_play =g_strdup("hw:0,0"); if (!cfg->ssbd_pcm_rec) cfg->ssbd_pcm_rec =g_strdup("hw:0,0"); if (!cfg->ssbd_alsa_mixer) cfg->ssbd_alsa_mixer=g_strdup("hw:0"); if (!cfg->ssbd_alsa_src) cfg->ssbd_alsa_src =g_strdup("Mic"); if (!cfg->cwda_vid) cfg->cwda_vid = 0xa600; if (!cfg->cwda_pid) cfg->cwda_pid = 0xe110; if (!cfg->cwda_io_port) cfg->cwda_io_port = 0x378; #ifdef __CYGWIN__ cfg->ssbd_type=0; /* Alsa not available under cygwin */ #endif if (cfg->cwda_weight < 30){ cfg->cwda_weight = 50 + (cfg->cwda_weight * cfg->cwda_speed ) / 48; } if (cfg->cwda_weight > 70) cfg->cwda_weight = 70; if (cfg->rain_rainviewer == 2){ cfg->rain_rainviewer = 1; cfg->rain_minscpdist = 310; if (cfg->rain_meteox || cfg->rain_wetteronline || cfg->rain_chmi || cfg->rain_weatheronline){ cfg->rain_meteox = 0; cfg->rain_wetteronline = 0; cfg->rain_chmi = 0; cfg->rain_weatheronline = 0; if (cfg->rain_enable) log_adds(TRANSLATE("Enabling rainviewer.com and disabling others. Please save configuration.")); } } return 0; } #define S(item) safe_strncpy0(ss, item, 1024) #define U(item) z_str_uc(S(item)) void save_rc_string(GString *gs){ char ss[1026]; struct term_spec *t; int i; char *fpath; g_string_append_printf(gs, "# This file is generated automatically. Edit only at your own risk!\n\n"); g_string_append_printf(gs, "pcall = \"%s\"\n", U(cfg->pcall)); g_string_append_printf(gs, "pwwlo = \"%s\"\n", U(cfg->pwwlo)); g_string_append_printf(gs, "pexch = \"%s\"\n", U(cfg->pexch)); g_string_append_printf(gs, "operator = \"%s\"\n", U(cfg->operator_)); g_string_append_printf(gs, "global_operator = %d\n", cfg->global_operator); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "padr1 = \"%s\"\n", S(cfg->padr1)); g_string_append_printf(gs, "padr2 = \"%s\"\n", S(cfg->padr2)); g_string_append_printf(gs, "pclub = \"%s\"\n", U(cfg->pclub)); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "rname = \"%s\"\n", S(cfg->rname)); g_string_append_printf(gs, "rcall = \"%s\"\n", U(cfg->rcall)); g_string_append_printf(gs, "radr1 = \"%s\"\n", S(cfg->radr1)); g_string_append_printf(gs, "radr2 = \"%s\"\n", S(cfg->radr2)); g_string_append_printf(gs, "rpoco = \"%s\"\n", S(cfg->rpoco)); g_string_append_printf(gs, "rcity = \"%s\"\n", S(cfg->rcity)); g_string_append_printf(gs, "rcoun = \"%s\"\n", S(cfg->rcoun)); g_string_append_printf(gs, "rphon = \"%s\"\n", S(cfg->rphon)); g_string_append_printf(gs, "rhbbs = \"%s\"\n", S(cfg->rhbbs)); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "default_rs = \"%s\"\n", U(cfg->default_rs)); g_string_append_printf(gs, "default_rst = \"%s\"\n", U(cfg->default_rst)); g_string_append_printf(gs, "qsop_method = %d\n", cfg->qsop_method); g_string_append_printf(gs, "total_method = %d\n", cfg->total_method); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "as_disk_qso = %d\n", cfg->as_disk_aq); g_string_append_printf(gs, "as_disk_min = %d\n", cfg->as_disk_am); g_string_append_printf(gs, "as_disk_fsync = %d\n", cfg->as_disk_fsync); g_string_append_printf(gs, "as_floppy_qso = %d\n", cfg->as_floppy_aq); g_string_append_printf(gs, "as_floppy_min = %d\n", cfg->as_floppy_am); g_string_append_printf(gs, "as_floppy_fsync = %d\n", cfg->as_floppy_fsync); g_string_append_printf(gs, "as_mount_floppy = %d\n", cfg->as_mount); fpath = g_strdup(S(cfg->as_floppy_path)); z_unix(fpath); g_string_append_printf(gs, "as_floppy_path = \"%s\"\n", fpath); g_free(fpath); g_string_append_printf(gs, "as_mount_cmd = \"%s\"\n", S(cfg->as_mount_cmd)); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "net_if_ignore = \"%s\"\n", S(cfg->net_if_ignore)); g_string_append_printf(gs, "net_ip_ignore = \"%s\"\n", S(cfg->net_ip_ignore)); g_string_append_printf(gs, "net_ip_announce = \"%s\"\n", S(cfg->net_ip_announce)); g_string_append_printf(gs, "net_remote_enable = %d\n", cfg->net_remote_enable); g_string_append_printf(gs, "net_remote_host = \"%s\"\n", S(cfg->net_remote_host)); g_string_append_printf(gs, "net_remote_port = %d\n", cfg->net_remote_port); g_string_append_printf(gs, "net_remote_pass = \"%s\"\n", S(cfg->net_remote_pass)); g_string_append_printf(gs, "net_masterpriority = %d\n", cfg->net_masterpriority); g_string_append_printf(gs, "trace_bcast = %d\n", cfg->trace_bcast); g_string_append_printf(gs, "trace_sock = %d\n", cfg->trace_sock); g_string_append_printf(gs, "trace_recv = %d\n", cfg->trace_recv); g_string_append_printf(gs, "trace_send = %d\n", cfg->trace_send); g_string_append_printf(gs, "trace_qsos = %d\n", cfg->trace_qsos); g_string_append_printf(gs, "trace_rig = %d\n", cfg->trace_rig); g_string_append_printf(gs, "trace_sdev = %d\n", cfg->trace_sdev); g_string_append_printf(gs, "trace_keys = %d\n", cfg->trace_keys); g_string_append_printf(gs, "language= %d\n", current_language); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "cwda_type = %d\n", cfg->cwda_type); g_string_append_printf(gs, "cwda_device_s = \"%s\"\n", S(cfg->cwda_device)); g_string_append_printf(gs, "cwda_hostname = \"%s\"\n", U(cfg->cwda_hostname)); g_string_append_printf(gs, "cwda_udp_port = %d\n", cfg->cwda_udp_port); g_string_append_printf(gs, "cwda_io_port = 0x%x\n", cfg->cwda_io_port); g_string_append_printf(gs, "cwda_speed = %d\n", cfg->cwda_speed); g_string_append_printf(gs, "cwda_weight = %d\n", cfg->cwda_weight); g_string_append_printf(gs, "cwda_minwpm = %d\n", cfg->cwda_minwpm); g_string_append_printf(gs, "cwda_maxwpm = %d\n", cfg->cwda_maxwpm); g_string_append_printf(gs, "cwda_spk = %d\n", cfg->cwda_spk); g_string_append_printf(gs, "cwda_leadin = %d\n", cfg->cwda_leadin); g_string_append_printf(gs, "cwda_tail = %d\n", cfg->cwda_tail); g_string_append_printf(gs, "cwda_vid = 0x%04x\n", cfg->cwda_vid); g_string_append_printf(gs, "cwda_pid = 0x%04x\n", cfg->cwda_pid); g_string_append_printf(gs, "cwda_autgive = %d\n", cfg->cwda_autgive); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "wk_wk2 = %d\n", cfg->wk_wk2); g_string_append_printf(gs, "wk_usepot = %d\n", cfg->wk_usepot); g_string_append_printf(gs, "wk_usebut = %d\n", cfg->wk_usebut); g_string_append_printf(gs, "wk_keymode = %d\n", cfg->wk_keymode); g_string_append_printf(gs, "wk_swap = %d\n", cfg->wk_swap); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "ssbd_type = %d\n", cfg->ssbd_type); g_string_append_printf(gs, "ssbd_record = %d\n", cfg->ssbd_record); g_string_append_printf(gs, "ssbd_maxmin = %d\n", cfg->ssbd_maxmin); g_string_append_printf(gs, "ssbd_diskfree = %d\n", cfg->ssbd_diskfree); g_string_append_printf(gs, "ssbd_format = 0x%x\n", cfg->ssbd_format); g_string_append_printf(gs, "ssbd_channels = %d\n", cfg->ssbd_channels); g_string_append_printf(gs, "ssbd_samplerate = %d\n", cfg->ssbd_samplerate); g_string_append_printf(gs, "ssbd_plev = %d\n", cfg->ssbd_plev); g_string_append_printf(gs, "ssbd_rlev = %d\n", cfg->ssbd_rlev); g_string_append_printf(gs, "ssbd_template = \"%s\"\n", S(cfg->ssbd_template)); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "ssbd_dsp = \"%s\"\n", S(cfg->ssbd_dsp)); g_string_append_printf(gs, "ssbd_maxfrag = %d\n", cfg->ssbd_maxfrag); g_string_append_printf(gs, "ssbd_mixer = \"%s\"\n", S(cfg->ssbd_mixer)); g_string_append_printf(gs, "ssbd_oss_src = \"%s\"\n", S(cfg->ssbd_oss_src)); /*g_string_append_printf(gs, "ssbd_recsrc = 0x%x\n", cfg->ssbd_recsrc);*/ g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "ssbd_pcm_play = \"%s\"\n", S(cfg->ssbd_pcm_play)); g_string_append_printf(gs, "ssbd_pcm_rec = \"%s\"\n", S(cfg->ssbd_pcm_rec)); g_string_append_printf(gs, "ssbd_period_time = %d\n", cfg->ssbd_period_time); g_string_append_printf(gs, "ssbd_buffer_time = %d\n", cfg->ssbd_buffer_time); g_string_append_printf(gs, "ssbd_alsa_mixer = \"%s\"\n", S(cfg->ssbd_alsa_mixer)); g_string_append_printf(gs, "ssbd_alsa_src = \"%s\"\n", S(cfg->ssbd_alsa_src)); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "ssbd_hostname = \"%s\"\n", S(cfg->ssbd_hostname)); g_string_append_printf(gs, "ssbd_udp_port = %d\n", cfg->ssbd_udp_port); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "ssbd_pa_play = %d\n", cfg->ssbd_pa_play); g_string_append_printf(gs, "ssbd_pa_rec = %d\n", cfg->ssbd_pa_rec); /* g_string_append_printf(gs, "ssbd_pipe = %d\n", cfg->ssbd_pipe); g_string_append_printf(gs, "ssbd_command = \"%s\"\n", cfg->ssbd_command);*/ g_string_append_printf(gs, "\n\n"); for (i=0; icrotars->len; i++){ struct config_rotar *crot; crot = (struct config_rotar *)g_ptr_array_index(cfg->crotars, i); g_string_append_printf(gs, "ROTAR = %d\n", crot->nr); g_string_append_printf(gs, " rot_desc = \"%s\"\n", S(crot->rot_desc)); g_string_append_printf(gs, " rot_type = %d\n", crot->rot_type); g_string_append_printf(gs, " rot_filename = \"%s\"\n", S(crot->rot_filename)); g_string_append_printf(gs, " rot_hostname = \"%s\"\n", S(crot->rot_hostname)); g_string_append_printf(gs, " rot_port = %d\n", crot->rot_port); g_string_append_printf(gs, " rot_vid = 0x%04x\n", crot->rot_vid); g_string_append_printf(gs, " rot_pid = 0x%04x\n", crot->rot_pid); g_string_append_printf(gs, " rot_serial = \"%s\"\n", S(crot->rot_serial)); g_string_append_printf(gs, " rot_timeout_ms = %d\n", crot->rot_timeout_ms); g_string_append_printf(gs, " rot_beamwidth = %d\n", crot->rot_beamwidth); g_string_append_printf(gs, " rot_saddr = %d\n", crot->rot_saddr); g_string_append_printf(gs, " rot_model = %d\n", crot->rot_model); g_string_append_printf(gs, " rot_speed = %d\n", crot->rot_speed); g_string_append_printf(gs, " rot_rem_rotstr = \"%s\"\n", S(crot->rot_rem_rotstr)); g_string_append_printf(gs, " rot_poll_ms = %d\n", crot->rot_poll_ms); g_string_append_printf(gs, "\n"); } g_string_append_printf(gs, "\n"); for (i = 0; i < cfg->crigs->len; i++){ struct config_rig *crig; crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); g_string_append_printf(gs, "RIG = %d\n", i); g_string_append_printf(gs, " rig_enabled = %d\n", crig->rig_enabled); g_string_append_printf(gs, " rig_desc = \"%s\"\n", S(crig->rig_desc)); g_string_append_printf(gs, " rig_filename = \"%s\"\n", S(crig->rig_filename)); g_string_append_printf(gs, " rig_model = %d\n", crig->rig_model); g_string_append_printf(gs, " rig_speed = %d\n", crig->rig_speed); g_string_append_printf(gs, " rig_handshake_none = %d\n", crig->rig_verbose); g_string_append_printf(gs, " rig_civaddr = %d\n", crig->rig_civaddr); g_string_append_printf(gs, " rig_lo = %f\n", crig->rig_lo); g_string_append_printf(gs, " rig_ssbcw_shift = %d\n", crig->rig_ssbcw_shift); g_string_append_printf(gs, " rig_poll_ms = %d\n", crig->rig_poll_ms); g_string_append_printf(gs, " rig_qrg_r2t = %d\n", crig->rig_qrg_r2t); g_string_append_printf(gs, " rig_qrg_t2r = %d\n", crig->rig_qrg_t2r); g_string_append_printf(gs, " rig_mode_t2r = %d\n", crig->rig_mode_t2r); g_string_append_printf(gs, " rig_clr_rit = %d\n", crig->rig_clr_rit); g_string_append_printf(gs, " rig_ptt_t2r = %d\n", crig->rig_ptt_t2r); g_string_append_printf(gs, " rig_verbose = %d\n", crig->rig_verbose); g_string_append_printf(gs, "\n"); } g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "loglines = %d\n", cfg->loglines); g_string_append_printf(gs, "skedcount = %d\n", cfg->skedcount); g_string_append_printf(gs, "startband = \"%s\"\n", S(cfg->startband)); g_string_append_printf(gs, "gfx_x = %d\n", cfg->gfx_x); g_string_append_printf(gs, "gfx_y = %d\n", cfg->gfx_y); g_string_append_printf(gs, "fontheight = %d\n", cfg->fontheight); g_string_append_printf(gs, "slashkey = \"%s\"\n", S(cfg->slashkey)); g_string_append_printf(gs, "ntpq = %d\n", cfg->ntpq); g_string_append_printf(gs, "dssaver = %d\n", cfg->dssaver); g_string_append_printf(gs, "splitheight = %d\n", cfg->splitheight); g_string_append_printf(gs, "fullscreen = %d\n", cfg->fullscreen); g_string_append_printf(gs, "maximized = %d\n", cfg->maximized); g_string_append_printf(gs, "usetouch = %d\n", cfg->usetouch); g_string_append_printf(gs, "touchpos = %d\n", cfg->touchpos); g_string_append_printf(gs, "altsyms = %d\n", cfg->altsyms); g_string_append_printf(gs, "nolocks = %d\n", cfg->nolocks); g_string_append_printf(gs, "portrait = %d\n", cfg->portrait); g_string_append_printf(gs, "reverse = %d\n", cfg->reverse); g_string_append_printf(gs, "inverse = %d\n", cfg->inverse); g_string_append_printf(gs, "adif_export_mode = %d\n", cfg->adif_export_mode_t2r); g_string_append_printf(gs, "logdirpath = \"%s\"\n", cfg->logdirpath); for (i = 0; itakeoff->len; i++){ struct takeoff *toff; toff=(struct takeoff*)g_ptr_array_index(cfg->takeoff, i); g_string_append_printf(gs, "takeoff = \"%3d,%3d,%2d\"\n", toff->from, toff->to, toff->value); } g_string_append_printf(gs, "\n\n"); g_string_append_printf(gs, "dxc_host = \"%s\"\n", S(cfg->dxc_host)); g_string_append_printf(gs, "dxc_port = %d\n", cfg->dxc_port); g_string_append_printf(gs, "dxc_user = \"%s\"\n", S(cfg->dxc_user)); g_string_append_printf(gs, "dxc_pass = \"%s\"\n", S(cfg->dxc_pass)); g_string_append_printf(gs, "kst_user = \"%s\"\n", S(cfg->kst_user)); g_string_append_printf(gs, "kst_pass = \"%s\"\n", S(cfg->kst_pass)); g_string_append_printf(gs, "kst_name = \"%s\"\n", S(cfg->kst_name)); g_string_append_printf(gs, "kst_maxqrb = %d\n", cfg->kst_maxqrb); g_string_append_printf(gs, "slovhf_user = \"%s\"\n", S(cfg->slovhf_user)); g_string_append_printf(gs, "sota_user = \"%s\"\n", S(cfg->sota_user)); g_string_append_printf(gs, "sota_pass = \"%s\"\n", S(cfg->sota_pass)); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "httpd_enable = %d\n", cfg->httpd_enable); g_string_append_printf(gs, "httpd_port = %d\n", cfg->httpd_port); g_string_append_printf(gs, "httpd_show_priv = %d\n", cfg->httpd_show_priv); g_string_append_printf(gs, "httpd_refresh = %d\n", cfg->httpd_refresh); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "ac_enable = %d\n", cfg->ac_enable); g_string_append_printf(gs, "ac_url = \"%s\"\n", cfg->ac_url); g_string_append_printf(gs, "ac_kfactor = %3.3f\n", cfg->ac_kfactor); g_string_append_printf(gs, "ac_arwidth = %3.1f\n", cfg->ac_arwidth); g_string_append_printf(gs, "ac_minelev = %3.1f\n", cfg->ac_minelev); g_string_append_printf(gs, "ac_maxelev = %3.1f\n", cfg->ac_maxelev); g_string_append_printf(gs, "ac_mindur = %d\n", cfg->ac_mindur); g_string_append_printf(gs, "ac_maxdelta = %3.1f\n", cfg->ac_maxdelta); g_string_append_printf(gs, "ac_minalt = %d\n", cfg->ac_minalt); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "sdr_enable = %d\n", cfg->sdr_enable); g_string_append_printf(gs, "sdr_cw = %d\n", cfg->sdr_cw); g_string_append_printf(gs, "sdr_lsb = %d\n", cfg->sdr_lsb); g_string_append_printf(gs, "sdr_speed = %d\n", cfg->sdr_speed); g_string_append_printf(gs, "sdr_af_speed = %d\n", cfg->sdr_af_speed); g_string_append_printf(gs, "sdr_block = %d\n", cfg->sdr_block); g_string_append_printf(gs, "sdr_zero = %f\n", cfg->sdr_zero); g_string_append_printf(gs, "sdr_cw_low = %f\n", cfg->sdr_cw_low); g_string_append_printf(gs, "sdr_cw_high = %f\n", cfg->sdr_cw_high); g_string_append_printf(gs, "sdr_ssb_low = %f\n", cfg->sdr_ssb_low); g_string_append_printf(gs, "sdr_ssb_high = %f\n", cfg->sdr_ssb_high); g_string_append_printf(gs, "sdr_rec_dsp_type = %d\n", cfg->sdr_rec_dsp_type); g_string_append_printf(gs, "sdr_play_dsp_type = %d\n", cfg->sdr_play_dsp_type); g_string_append_printf(gs, "sdr_pa_rec = %d\n", cfg->sdr_pa_rec); g_string_append_printf(gs, "sdr_pa_play = %d\n", cfg->sdr_pa_play); g_string_append_printf(gs, "sdr_pcm_rec = \"%s\"\n", S(cfg->sdr_pcm_rec)); g_string_append_printf(gs, "sdr_pcm_play = \"%s\"\n", S(cfg->sdr_pcm_play)); fpath = g_strdup(S(cfg->sdr_sndfilename)); z_unix(fpath); g_string_append_printf(gs, "sdr_sndfilename = \"%s\"\n", fpath); g_free(fpath); g_string_append_printf(gs, "sdr_remoterx = \"%s\"\n", S(cfg->sdr_remoterx)); fpath = g_strdup(S(cfg->sdr_af_filename)); z_unix(fpath); g_string_append_printf(gs, "sdr_af_filename = \"%s\"\n", fpath); g_free(fpath); g_string_append_printf(gs, "sdr_iqcomp = %d\n", cfg->sdr_iqcomp); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "wiki_url = \"%s\"\n", S(cfg->wiki_url)); g_string_append_printf(gs, "wiki_user = \"%s\"\n", S(cfg->wiki_user)); g_string_append_printf(gs, "wiki_pass = \"%s\"\n", S(cfg->wiki_pass)); g_string_append_printf(gs, "wiki_map = %d\n", cfg->wiki_map); g_string_append_printf(gs, "wiki_chart = %d\n", cfg->wiki_chart); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "rain_enable = %d\n", cfg->rain_enable); g_string_append_printf(gs, "rain_meteox = %d\n", cfg->rain_meteox); g_string_append_printf(gs, "rain_wetteronline = %d\n", cfg->rain_wetteronline); g_string_append_printf(gs, "rain_chmi = %d\n", cfg->rain_chmi); g_string_append_printf(gs, "rain_weatheronline = %d\n", cfg->rain_weatheronline); g_string_append_printf(gs, "rain_rainviewer = %d\n", cfg->rain_rainviewer); g_string_append_printf(gs, "rain_debug = %d\n", cfg->rain_debug); g_string_append_printf(gs, "rain_maxqrb = %d\n", cfg->rain_maxqrb); g_string_append_printf(gs, "rain_mincolor = %d\n", cfg->rain_mincolor); g_string_append_printf(gs, "rain_minscpdist = %d\n", cfg->rain_minscpdist); g_string_append_printf(gs, "\n"); for (i=0; icqs->len; i++){ struct cq *cq; cq = (struct cq *) g_ptr_array_index(cfg->cqs, i); g_string_append_printf(gs, "CQ = %d\n", i); g_string_append_printf(gs, " cw_str = \"%s\"\n", S(cq->cw_str)); g_string_append_printf(gs, " cw_speed = %d\n", cq->cw_speed); g_string_append_printf(gs, " cw_repeat = %d\n", cq->cw_repeat); g_string_append_printf(gs, " cw_ts = %d\n", cq->cw_ts); g_string_append_printf(gs, " cw_allowifundef = %d\n", cq->cw_allowifundef); g_string_append_printf(gs, " ssb_file = \"%s\"\n", S(cq->ssb_file)); g_string_append_printf(gs, " ssb_ts = %d\n", cq->ssb_ts); g_string_append_printf(gs, " ssb_repeat = %d\n", cq->ssb_repeat); g_string_append_printf(gs, "\n"); } g_string_append_printf(gs, "\n"); foreach(t, term_specs){ g_string_append_printf(gs, "TERM = \"%s\"\n", S(t->term)); g_string_append_printf(gs, " term_mode = %d\n", t->mode); g_string_append_printf(gs, " term_m11_hack = %d\n", t->m11_hack); g_string_append_printf(gs, " term_restrict_852 = %d\n", t->restrict_852); g_string_append_printf(gs, " term_col = %d\n", t->col); g_string_append_printf(gs, " term_utf_8_io = %d\n", t->utf_8_io); g_string_append_printf(gs, " term_charset = %d\n", t->charset); g_string_append_printf(gs, "\n"); } g_string_append_printf(gs, "\n"); for (i=0; isubwins->len; i++){ struct subwin *sw; sw = (struct subwin *) g_ptr_array_index(gses->subwins, i); g_string_append_printf(gs, "SUBWIN = %d # %d:%s\n", i, i + 1, sw->title); g_string_append_printf(gs, " sw_type = %d\n", sw->type); g_string_append_printf(gs, " sw_command = \"\"\n"); g_string_append_printf(gs, " sw_autorun = \"\"\n"); g_string_append_printf(gs, " sw_respawn_time = 5\n"); g_string_append_printf(gs, "\n"); } g_string_append_printf(gs, "\n"); for (i=0; ibands->len; i++){ struct config_band *b; b = (struct config_band *) g_ptr_array_index(cfg->bands, i); g_string_append_printf(gs, "PBAND = \"%s\"\n", S(b->pband)); g_string_append_printf(gs, " bandchar = \"%c\"\n", tolower(b->bandchar)); g_string_append_printf(gs, " qrv = %d\n", b->qrv); g_string_append_printf(gs, " psect = %d\n", b->psect); g_string_append_printf(gs, " opsect = \"%s\"\n", S(b->opsect)); g_string_append_printf(gs, " readonly = %d\n", b->readonly); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, " stxeq = \"%s\"\n", S(b->stxeq)); g_string_append_printf(gs, " spowe = \"%s\"\n", S(b->spowe)); g_string_append_printf(gs, " srxeq = \"%s\"\n", S(b->srxeq)); g_string_append_printf(gs, " sante = \"%s\"\n", S(b->sante)); g_string_append_printf(gs, " santh = \"%s\"\n", S(b->santh)); g_string_append_printf(gs, " mope1 = \"%s\"\n", S(b->mope1)); g_string_append_printf(gs, " mope2 = \"%s\"\n", S(b->mope2)); g_string_append_printf(gs, " remarks = \"%s\"\n", S(b->remarks)); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, " ok_section_single = \"%s\"\n", S(b->ok_section_single)); g_string_append_printf(gs, " ok_section_multi = \"%s\"\n", S(b->ok_section_multi)); g_string_append_printf(gs, " qrg_min = %d\n", b->qrg_min); g_string_append_printf(gs, " qrg_max = %d\n", b->qrg_max); g_string_append_printf(gs, " adifband = \"%s\"\n", S(b->adifband)); g_string_append_printf(gs, " cbrband = \"%s\"\n", S(b->cbrband)); g_string_append_printf(gs, " stfband = %d\n", b->stfband); g_string_append_printf(gs, " skedqrg = \"%s\"\n", S(b->skedqrg)); g_string_append_printf(gs, " band_lo = %f\n", b->band_lo); g_string_append_printf(gs, " band_sw = 0x%02x\n", b->band_sw); g_string_append_printf(gs, " wwlradius = %d\n", b->wwlradius); g_string_append_printf(gs, "\n"); } } gint save_rc_file(gchar *filename){ FILE *f; GString *gs; int ret, w, h; char *portrait_filename; char *reverse_filename; #ifdef Z_HAVE_SDL cfg->maximized = zsdl_maximized(zsdl, &w, &h); if (cfg->maximized){ cfg->gfx_x = w; cfg->gfx_y = h; } #endif gs = g_string_sized_new(10000); f=fopen(filename,"wt"); if (!f) { /* c = g_strconcat("Can't open file '", filename, "'", NULL); errbox(c,0); g_free(c);*/ return errno; } save_rc_string(gs); ret = fprintf(f, "%s", gs->str) != gs->len ? errno:0; fclose(f); g_string_free(gs, TRUE); portrait_filename = g_strdup_printf("%s/portrait", tucnak_dir); if (cfg->portrait) { FILE *f = fopen(portrait_filename, "w"); if (f) fclose(f); }else{ unlink(portrait_filename); } reverse_filename = g_strdup_printf("%s/reverse", tucnak_dir); if (cfg->reverse) { FILE *f = fopen(reverse_filename, "w"); if (f) fclose(f); }else{ unlink(reverse_filename); } return ret; } int term_spec_init(void){ struct term_spec *ts; if (!(ts = new_term_spec("linux"))) return -1; ts->mode = 1; ts->m11_hack = 1; ts->restrict_852 = 0; ts->col = 1; ts->utf_8_io = 0; ts->charset = 2; if (!(ts = new_term_spec("xterm"))) return -1; ts->mode = 1; ts->m11_hack = 1; ts->restrict_852 = 0; ts->col = 1; ts->utf_8_io = 0; ts->charset = 2; if (!(ts = new_term_spec("screen"))) return -1; ts->mode = 1; ts->m11_hack = 1; ts->restrict_852 = 0; ts->col = 1; ts->utf_8_io = 0; ts->charset = 2; if (!(ts = new_term_spec("cygwin"))) return -1; ts->mode = 2; ts->m11_hack = 1; ts->restrict_852 = 0; ts->col = 1; ts->utf_8_io = 0; ts->charset = 2; return 0; } char *parse_options(int argc, char **argv){ int c; //char *s; while (1){ /*int option_index = 0; static struct option long_options[] = { // {"debug", 2, 0, 'd'}, {"help", 0, 0, 'h'}, {"version", 0, 0, 'v'}, {0, 0, 0, 0} }; c = getopt_long (argc, argv, "dghikmstv?", long_options, &option_index);*/ c = getopt(argc, argv, ":dghikmst?x"); if (c == -1) break; switch (c){ case 0: /* printf ("option %s", long_options[option_index].name);*/ if (optarg) printf (" with arg %s", optarg); printf ("\n"); break; case 'd': // handler by libzia, is here to prevent 'invalid option' message break; case 'g': opt_g++; break; case 'h': case '?': /*printf ("option h\n");*/ break; case 'i': opt_i++; break; case 'k': debug_keyboard=1; break; case 'm': opt_m++; break; case 's': opt_s++; break; case 't': opt_t++; break; case 'x': opt_x++; break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc){ printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } #ifdef Z_MSC_MINGW opt_t = 0; opt_g = 1; //opt_i = 1; #endif #ifdef Z_ANDROID opt_t = 0; opt_g = 1; #endif return NULL; } gdouble get_rig_lo(struct band *band, int rignr){ struct config_band *confb; struct config_rig *crig; crig = get_config_rig_by_number(cfg->crigs, rignr); if (!band) return crig->rig_lo; confb = get_config_band_by_bandchar(band->bandchar); if (!confb) return crig->rig_lo; if (!confb->band_lo) return crig->rig_lo; return confb->band_lo; } void set_rig_lo(struct band *band, int rignr, gdouble lo){ struct config_band *confb; struct config_rig *crig; crig = get_config_rig_by_number(cfg->crigs, rignr); if (!band) goto global; confb = get_config_band_by_bandchar(band->bandchar); if (!confb) goto global; if (!confb->band_lo) goto global; confb->band_lo = lo; return; global:; crig->rig_lo = lo; /*for (i = 0; i < gtrigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(gtrigs->trigs, i); if (trig == rignr) trig->lo } */ } tucnak-4.32/src/menu.c0000644000175000017500000015423314046552050011560 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "adif.h" #include "bfu.h" #include "charsets.h" #include "chart.h" #include "control.h" #include "zcor.h" #include "cordata.h" #include "cwdaemon.h" #include "cwdb.h" #include "dwdb.h" #include "dxc.h" #include "edi.h" #include "excdb.h" #include "fifo.h" #include "html.h" #include "inputln.h" #include "kst.h" #include "map.h" #include "main.h" #include "masterdb.h" #include "menu.h" #include "namedb.h" #include "net.h" #include "qrvdb.h" #include "qsodb.h" #include "rain.h" #include "rotar.h" #include "tsdl.h" #include "session.h" #include "ssbd.h" #include "state.h" #include "stats.h" #include "subwin.h" #include "svnversion.h" #include "terminal.h" #include "tregex.h" #include "update.h" #include "vhfcontestnet.h" #include "slovhfnet.h" #include "sota.h" #include "sota_spot.h" #include "sota_upload.h" #ifdef VOIP #include "voip.h" #endif #include "wiki.h" #include "misc.h" void menu_about(void *arg) { msg_box(NULL, VTEXT(T_ABOUT), AL_CENTER, VTEXT(T_TUCNAK__TACLOG_LIKE), NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); } void menu_copying(void *arg) { msg_box(NULL, VTEXT(T_COPYING), AL_CENTER, VTEXT(T_COPYING_VER), NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); } void menu_version(void *arg) { static char s[256]; g_snprintf(s, sizeof(s), VTEXT(T_TUCNAK_SVN_LIBZIA_SVN), T_SVNVER, z_svnver()); msg_box(NULL, VTEXT(T_VERSION), AL_CENTER, s, NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); } void menu_info(void *arg){ GString *gs = g_string_sized_new(1024); sw_raise_or_new(SWT_LOG); info(gs); fifo_add_lines(glog, gs->str); g_string_free(gs, TRUE); } void menu_settings(void *arg){ GString *gs = g_string_sized_new(1024); sw_raise_or_new(SWT_LOG); settings(gs); fifo_add_lines(glog, gs->str); g_string_free(gs, TRUE); } void menu_contest_new(void *arg) { if (ctest){ msg_box(NULL, VTEXT(T_WARNING), AL_CENTER,VTEXT(T_CTEST_ACTIVE), NULL,1, VTEXT(T_CANCEL), NULL, B_ENTER |B_ESC); return; } contest_options1_from_menu(arg); } void menu_contest_new_wizz(void *arg) { if (ctest){ msg_box(NULL, VTEXT(T_WARNING),AL_CENTER, VTEXT(T_CTEST_ACTIVE), NULL,1, VTEXT(T_CANCEL), NULL, B_ENTER |B_ESC); return; } menu_wizz(arg); } void menu_contest1_options_from_ctest(void *arg) { contest_options1_from_ctest(arg); } static int select_dir_func(const char *dir, const struct dirent *de){ struct stat st; gchar *f; int r; if (strcmp((char *)de->d_name, "00000000")==0) return 0; r = regcmp((char *)de->d_name, "^[0-9]{8}(\\.[0-9]+)?$"); if (r) return 0; f = g_strconcat(logs_dir, "/", de->d_name, NULL); if (stat(f, &st)) { g_free(f); return 0; } g_free(f); if (!S_ISDIR(st.st_mode)) return 0; return 1; } /*int compare_dir_func(const struct dirent **pde1, const struct dirent **pde2){*/ static int compare_dir_func(const void *d1, const void *d2){ const char *c1, *c2; int r, n1, n2; const struct dirent **pde1, **pde2; pde1=(const struct dirent **)d1; pde2=(const struct dirent **)d2; r = strncmp( (*pde1)->d_name, (*pde2)->d_name, 8); if (r!=0) return -r; c1 = strchr( (*pde1)->d_name , '.'); c2 = strchr( (*pde2)->d_name , '.'); n1 = c1 ? atoi(c1+1) : 0; n2 = c2 ? atoi(c2+1) : 0; return n2 - n1; } static struct menu_item no_contests[] = { {CTEXT(T_NO_CTESTS), "", M_BAR, NULL, NULL, 0, 0}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; void menu_load_contest(void *dir, void * unused){ /*dbg("menu_load_contest('%s')\n", dir);*/ int x; gchar *date = (char*)dir; x = zst_start(); load_contest_edi(date, 0); zst_stop(x, __FUNCTION__); redraw_later(); } static struct dirent **namelist=NULL; static int namelistlen = 0; void contest_choose(void (*funcall)(struct menu *menu)) { int i, n, max=0; gchar *dir; struct menu_item *mi = NULL; char s[1025], *d; //dbg("open contest \n"); progress(VTEXT(T_DIRECTORY_SCAN)); free_namelist(); dir = g_strdup(logs_dir); n = z_scandir(dir, &namelist, select_dir_func, compare_dir_func); if (n<=0){ progress(NULL); set_window_ptr(gses->win, (term->x-6-11)/2,(term->y-2)/2); do_menu(no_contests, NULL); return; } if (!(mi = new_menu(3))) return; for (i=0; id_name); z_wokna(c); f = fopen(c, "rt"); if (f){ if (z_lockf(fileno(f), F_TEST, 0, 1)) locked=1; fclose(f); } g_free(c); c=g_strdup_printf("%s/%s/desc", dir, namelist[i]->d_name); memset(s, 0, sizeof(s)); d = NULL; z_wokna(c); f = fopen(c, "rt"); if (f){ if (z_lockf(fileno(f), F_TEST, 0, 1)) locked=1; if (fgets(s, 1024,f) != NULL){ if (strlen(s)>0 && s[strlen(s)-1]=='\n') s[strlen(s)-1]='\0'; if (strlen(s)>0 && s[strlen(s)-1]=='\r') s[strlen(s)-1]='\0'; d = strchr(s,' '); if (d) d++; } fclose(f); } g_free(c); if (!d) d=s; if (strlen(d)>50) d[50]='\0'; items=g_strsplit(d, " ", 2); if (items && items[0] && items[1]){ c = g_strdup_printf("%-12s%-6s %s", namelist[i]->d_name, items[0], items[1]); }else{ c = g_strdup_printf("%-12s%s", namelist[i]->d_name, d); } if (items) g_strfreev(items); if (strlen(c)>max) max=strlen(c); ami = add_to_menu(&mi, g_strdup(c), locked? "!":"", "", menu_load_contest, namelist[i]->d_name, 0); if (funcall){ ami->checkbox = 1; ami->funcall = funcall; } g_free(c); } g_free(dir); progress(NULL); set_window_ptr(gses->win, (term->x-6-max)/2,(term->y-2-i)/2); do_menu(mi, NULL); } void free_namelist(){ z_free_namelist(namelist, namelistlen); } void menu_contest_open(void *arg){ contest_choose(NULL); } static void really_close_ctest(void) { rel_write_all("CL\n"); save_all_bands_txt(0); free_ctest(); update_hw(); qrv_recalc_qrbqtf(qrv); qrv_recalc_gst(qrv); #ifdef Z_HAVE_SDL map_recalc_cors(); maps_reload(); maps_update_showwwls(); rain_reload(); #endif chart_reload(); } void menu_save_all(void *arg){ save_all_bands_txt(0); } void menu_export_edi(void *arg){ export_all_bands_edi(); } void menu_export_adif(void *arg){ export_all_bands_adif(); } void menu_export_cbr(void *arg){ export_all_bands_cbr(); } void menu_export_stf(void *arg){ export_all_bands_stf(); } void menu_export_sota(void *arg){ export_all_bands_sota(); } void menu_export_report(void *arg){ export_all_bands_report(); } void menu_export_html(void *arg){ export_all_bands_html(); } void menu_export_stats(void *arg) { export_stats_fifo(); } void menu_export_titlpage(void *arg) { export_all_bands_titlpage(); } void menu_export_wiki(void *arg){ export_all_bands_wiki(); } void menu_sota_upload(void *arg){ sota_upload(); } void menu_send_sota_spot(void *arg){ sota_spot_push(); // static char qrgstr[256]; // struct sota_spot_data ssd; // // if (!ctest) // { // log_addf("No active contest"); // return; // } // //int rignr = GPOINTER_TO_INT(itdata); // // //g_snprintf(qrgstr, EQSO_LEN, "%1.0f", gtrigs->qrg); // z_qrg_format(qrgstr, sizeof(qrgstr), gtrigs->qrg); // // input_field(NULL, CTEXT(T_FIXQRG), CTEXT(T_ENTER_QRG) , // CTEXT(T_OK), CTEXT(T_CANCEL), itdata, // NULL, 20, qrgstr, 0, 0, NULL, // /*(void (*)(void *, char *))*/ fixqrg, NULL, 0); } void menu_import_edi(void *arg){ char *pwd; pwd=getcwd(NULL, 0); if ( #ifdef Z_HAVE_SDL !sdl || #endif zfiledlg_open(zfiledlg, zsel, import_edi, NULL, "", "edi") < 0){ input_field(NULL, VTEXT(T_IMPORT_EDI), VTEXT(T_FILENAME), VTEXT(T_OK), VTEXT(T_CANCEL), gses, NULL, 150, pwd, 0, 0, NULL, import_edi, NULL, 1); } if (pwd) free(pwd); } void menu_import_adif(void *arg){ char *pwd; pwd=getcwd(NULL, 0); if ( #ifdef Z_HAVE_SDL !sdl || #endif zfiledlg_open(zfiledlg, zsel, import_adif, NULL, "", "adi*") < 0){ input_field(NULL, VTEXT(T_IMPORT_ADIF), VTEXT(T_FILENAME), VTEXT(T_OK), VTEXT(T_CANCEL), gses, NULL, 150, pwd, 0, 0, NULL, import_adif, NULL, 1); } if (pwd) free(pwd); } void menu_import_swap(void *arg){ char *pwd; pwd=getcwd(NULL, 0); if ( #ifdef Z_HAVE_SDL !sdl || #endif zfiledlg_open(zfiledlg, zsel, import_swap, NULL, "", "swp*") < 0){ input_field(NULL, VTEXT(T_IMPORT_SWAP), VTEXT(T_FILENAME), VTEXT(T_OK), VTEXT(T_CANCEL), gses, NULL, 150, pwd, 0, 0, NULL, import_swap, NULL, 1); } if (pwd) free(pwd); } void menu_import_list(void *arg){ char *pwd; pwd=getcwd(NULL, 0); if ( #ifdef Z_HAVE_SDL !sdl || #endif zfiledlg_open(zfiledlg, zsel, import_list, NULL, "", "*") < 0){ input_field(NULL, VTEXT(T_IMPORT_LIST), VTEXT(T_FILENAME), VTEXT(T_OK), VTEXT(T_CANCEL), gses, NULL, 150, pwd, 0, 0, NULL, import_list, NULL, 1); } if (pwd) free(pwd); } void menu_contest_close(void *arg) { if (!ctest){ msg_box(NULL, VTEXT(T_WARNING),AL_CENTER,VTEXT(T_NO_CCLOSE),NULL,1, VTEXT(T_CANCEL), NULL, B_ENTER |B_ESC); return; } msg_box(NULL, VTEXT(T_REALLY), AL_CENTER, VTEXT(T_CLOSE_CTEST),gses, 2, VTEXT(T_YES), (void (*)(void *))really_close_ctest, B_ENTER, VTEXT(T_NO), NULL, B_ESC); } /****************************************************************************/ static void really_exit_prog(void) { //zselect_bh_new(zsel, destroy_terminal, NULL); zselect_terminate(zsel); } static void dont_exit_prog(void) { gses->exit_query = 0; } static void query_exit(void) { gses->exit_query = 1; msg_box(NULL, VTEXT(T_EXIT_TUCNAK), AL_CENTER, VTEXT(T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK), gses, 2, VTEXT(T_YES), (void (*)(void *))really_exit_prog, B_ENTER, VTEXT(T_NO), dont_exit_prog, B_ESC); } void exit_prog(void *arg) { if (!gses) { //zselect_bh_new(zsel, destroy_terminal, NULL); zselect_terminate(zsel); return; } query_exit(); } void refresh(struct refresh *r) { struct refresh rr; r->timer = -1; memcpy(&rr, r, sizeof(struct refresh)); delete_window(r->win); rr.fn(rr.data); redraw_later(); } static void end_refresh(struct refresh *r) { if (r->timer != -1) zselect_timer_kill(zsel, r->timer); g_free(r); } void refresh_abort(struct dialog_data *dlg) { end_refresh((struct refresh*)dlg->dlg->udata2); } /*static void memory_cld(struct terminal *term, void *d) { #ifdef LEAK_DEBUG last_mem_amount = mem_amount; #endif } */ /* FIXME! overflow */ #define MSG_BUF 4000 #define MSG_W 100 #define LEN 30 void memory_info(void *arg) { char message[MSG_BUF]; char *p; struct refresh *r; FILE *f; char s[1026], *c1, *c2, *c3; int cnt=1; char *act_sbrk; if (!(r = (struct refresh *)g_malloc(sizeof(struct refresh)))) return; r->win = NULL; r->fn = memory_info; r->data = arg; r->timer = -1; p = message; #ifdef LEAK_DEBUG p += sprintf(p, VTEXT(T_GUI_LD), mem_amount); if (last_mem_amount != -1) p += sprintf(p, ", %s %ld, %s %ld", VTEXT(T_LAST), last_mem_amount, VTEXT(T_DIFFERENCE), mem_amount - last_mem_amount); #endif p += sprintf(p, VTEXT(T_CWI), get_cw_size(cw), get_wc_size(cw), cw->latest); p += sprintf(p, VTEXT(T_EXC), excdb->excname, get_exc_size(excdb), get_cxe_size(excdb), excdb->latest); p += sprintf(p, VTEXT(T_VEXC), get_vexc_size(excdb)); p += sprintf(p, VTEXT(T_DWI), get_pd_size(dw), get_dw_size(dw), get_wd_size(dw)); p += sprintf(p, VTEXT(T_NAMES), get_namedb_size(namedb)); p += sprintf(p, VTEXT(T_MASTER), get_masterdb_size(masterdb)); f = fopen("/proc/self/status", "rt"); if (f){ p+=sprintf(p,VTEXT(T_MEMS), 0xf00l); while (fgets(s, 1024, f)!=NULL){ /* dbg("%s", s);*/ if (regmatch(s, "Vm(.*):. *([0-9 a-zA-Z]+)", &c1, &c2, &c3, NULL)==0){ /* dbg("match '%s' '%s' \n", c2, c3);*/ p+=sprintf(p, " %s=%s ", c2, c3); cnt++; if (cnt==3){ cnt=0; p+=sprintf(p, "\n"); } g_free(c1);g_free(c2);g_free(c3); } } fclose(f); } p += sprintf(p, "\n"); #if defined(Z_UNIX_ANDROID) && !defined(Z_MACOS) act_sbrk = (char *)sbrk(0); p += sprintf(p, VTEXT(T_SBRK), act_sbrk-starting_sbrk); #endif if (!(p = g_strdup(message))) { g_free(r); return; } msg_box(getml(p, NULL), VTEXT(T_MEMORY_INFO), AL_LEFT, p, r, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); r->win = term->windows.next; ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort; r->timer = zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r); } void net_info(void *arg); void net_reload_ifaces(void *data, struct dialog_item_data *di){ free_net_ifaces(gnet); init_net_ifaces(gnet, 1); net_info(NULL); } void net_info(void *arg) { char message[MSG_BUF]; char *p; struct refresh *r; int i; time_t now; char bytes[LEN]; char hms[LEN]; if (!(r = (struct refresh*)g_malloc(sizeof(struct refresh)))) return; now = time(NULL); r->win = NULL; r->fn = net_info; r->data = arg; r->timer = -1; p = message; p += sprintf(p, "%s", VTEXT(T_NMY)); if (!gnet->v3compatibility) p += sprintf(p, "%d/", cfg->net_masterpriority); p += sprintf(p, "%s:%d", inet_ntoa(gnet->my.sin_addr), ntohs(gnet->my.sin_port)); if (gnet->v3compatibility) p += sprintf(p, "%s", VTEXT(T_V3_COMPATIBILITY)); p += sprintf(p, "\n"); p += sprintf(p, "%s", VTEXT(T_NGLOBAL)); if (!gnet->v3compatibility) p += sprintf(p, "%d/", gnet->global_priority); p += sprintf(p, "%s:%d\n", inet_ntoa(gnet->global.sin_addr), ntohs(gnet->global.sin_port)); if (gnet->master){ p += sprintf(p, "%s %s %s %s:%d %s up %s %s %s\n", VTEXT(T_NMASTER), ns_desc[gnet->master->state], gnet->master->operator_?gnet->master->operator_:"", inet_ntoa(gnet->master->sin.sin_addr), ntohs(gnet->master->sin.sin_port), gnet->master->is_same_ctest?"OK":"--", z_format_hms(hms, LEN, now - gnet->master->start), z_format_bytes(bytes, LEN, gnet->master->rx + gnet->master->tx), get_timer_str(gnet->master)); } if (gnet->remote){ p += sprintf(p, "%s %s %s %s:%d %s up %s %s %s\n", VTEXT(T_NREMOTE), ns_desc[gnet->remote->state], gnet->remote->operator_?gnet->remote->operator_:"", inet_ntoa(gnet->remote->sin.sin_addr), ntohs(gnet->remote->sin.sin_port), gnet->remote->is_same_ctest?"OK":"--", z_format_hms(hms, LEN, now - gnet->remote->start), z_format_bytes(bytes, LEN, gnet->remote->rx + gnet->remote->tx), get_timer_str(gnet->remote)); } if (gnet->peers->len>0){ p += sprintf(p, VTEXT(T_NSLAVES), 0xf001); } for (i=0;ipeers->len; i++){ struct conn *conn; conn = (struct conn*)g_ptr_array_index(gnet->peers, i); /*p += sprintf(p, "%s %s:%d\n", ns_desc[conn->state], inet_ntoa(conn->sin.sin_addr), ntohs(conn->sin.sin_port)); */ p += sprintf(p, "%s %-6s %s %s up %s %s %s\n", ns_desc[conn->state], conn->operator_?conn->operator_:"", conn->remote_id, conn->is_same_ctest?"OK":"--", z_format_hms(hms, LEN, now - conn->start), z_format_bytes(bytes, LEN, conn->rx + conn->tx), get_timer_str(conn)); } if (!(p = g_strdup(message))) { g_free(r); return; } //msg_box(getml(p, NULL), VTEXT(T_NINFO), AL_LEFT, p, r, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); msg_box(getml(p, NULL), VTEXT(T_NINFO), AL_LEFT, p, r, 2, VTEXT(T_OK), NULL, B_ENTER | B_ESC, VTEXT(T_RELOAD_INTERFACES), net_reload_ifaces, 0); r->win = term->windows.next; ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort; r->timer = zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r); } void crash_test(void *a, void *b){ #ifdef Z_MSC struct state *state; state = init_state(); state_save(state); #endif { int *pi = NULL; *pi = 0; } } void internal_test(void *a, void *b){ zinternal("Simulation of internal error"); } static struct menu_item no_bands_qrv_menu[] = { {CTEXT(T_NO_BANDS_QRV), "", M_BAR, NULL, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {TRANSLATE("Set mode"), "M", "M", menu_set_mode, NULL, 0, 0}, {NULL, NULL, 0, NULL, NULL, 0, 0} }; static struct menu_item no_bands_configured_menu[] = { {CTEXT(T_NO_BANDS_CONF), "", M_BAR, NULL, NULL, 0, 0}, {NULL, NULL, 0, NULL, NULL, 0, 0}, }; void menu_activate_band(void *arg){ struct band *b; char *pband; pband=(char*)arg; /*dbg("menu_activate_band(term=%p, pband='%s', ses=%p)\n",term,pband,ses);*/ b=find_band_by_pband(pband); activate_band(b); } void menu_setup_band(void *arg){ /* cba.charp=pband */ band_settings(arg, 0); } void menu_bands(void *arg) { struct menu_item *mi = NULL; int i, sel = 0; if (!ctest || !ctest->bands->len) { /* void *arg2; cba2.menu_item=no_bands_qrv_menu;*/ do_menu(no_bands_qrv_menu, NULL); return; } for (i=0;ibands->len;i++){ struct band *b; static char *bandstrs[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; b = (struct band *)g_ptr_array_index(ctest->bands,i); if (!mi) if (!(mi = new_menu(3))) return; if (b == aband) sel = i; add_to_menu(&mi, g_strdup_printf("%-7s%s", b->bandname, b->readonly ? " (ro)" : ""), bandstrs[b->bi], bandstrs[b->bi], MENU_FUNC arg, b->pband, 0); } add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_SET_READONLY)), "S", "S", MENU_FUNC robands, NULL, 0); add_to_menu(&mi, g_strdup(TRANSLATE("Set mode")), "M", "M", menu_set_mode, NULL, 0); do_menu_selected(mi, NULL, sel); } void menu_cfg_bands(void *arg) { struct menu_item *mi = NULL; int i; if (!cfg || !cfg->bands->len) { do_menu(no_bands_configured_menu, NULL); return; } for (i=0;ibands->len;i++){ struct config_band *b; static char *bandstrs[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; b = (struct config_band *)g_ptr_array_index(cfg->bands,i); if (!b->qrv) continue; if (!mi) if (!(mi = new_menu(3))) return; // dbg("add_to_menu(%c,'%s','%s')\n", b->bandchar1, b->pband, bandstrs[zupcase(b->bandchar)-'A']); add_to_menu(&mi, g_strdup(b->pband), bandstrs[b->bandchar-'A'], bandstrs[b->bandchar-'A'], MENU_FUNC arg, b->pband, 0); } if (mi) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); for (i=0;ibands->len;i++){ struct config_band *b; static char *bandstrs[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; b = (struct config_band *)g_ptr_array_index(cfg->bands,i); if (b->qrv) continue; if (!mi) if (!(mi = new_menu(3))) return; add_to_menu(&mi, g_strdup(b->pband), bandstrs[b->bandchar-'A'], bandstrs[b->bandchar-'A'], MENU_FUNC arg, b->pband, 0); } do_menu(mi, NULL); } /*static struct menu_item not_available[] = { {CTEXT(T_NOT_AVAILABLE), "", M_BAR, NULL, NULL, 0, 0}, {NULL, NULL, 0, NULL, NULL, 0, 0} };*/ void menu_activate_subwin(void *arg){ /*dbg("menu_activate_subwin %d\n", (int)ddd);*/ int n = GPOINTER_TO_INT(arg); if (sw_set_ontop(n, 0)){ if (gses->focused){ sw_set_focus(); il_unset_focus(INPUTLN(aband)); }else{ sw_unset_focus(); il_set_focus(INPUTLN(aband)); } redraw_later(); } } void menu_kill_connection(void *arg, void *arg2){ struct subwin *sw = (struct subwin *)arg; switch (sw->type){ case SWT_KST: sw_kst_disconnect(sw); break; case SWT_DXC: sw_dxc_disconnect(sw); break; default: break; } } void menu_send_ctrlc(void *arg, void *arg2){ struct subwin *sw = (struct subwin *)arg; sw_shell_enter(sw, "\x03", 0); } void subwins_menu(void *arg) { struct menu_item *mi = NULL; int i, sep = 0; char s[16]; /*if (!ctest) { do_menu(not_available, NULL); return; } */ if (!(mi = new_menu(3))) return; add_to_menu(&mi, g_strdup(VTEXT(T_ADD_SUBWIN)), "", VTEXT(T_HK_ADD_SUBWIN), MENU_FUNC menu_add_subwin, GINT_TO_POINTER(0), 0); add_to_menu(&mi, g_strdup(VTEXT(T_CLOSE_SUBWIN)), "", VTEXT(T_HK_CLOSE_SUBWIN), MENU_FUNC menu_close_subwin, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_CHANGE_TYPE)), "", VTEXT(T_HK_CHANGE_TYPE), MENU_FUNC menu_add_subwin, GINT_TO_POINTER(1), 0); // TODO text /*add_to_menu(&mi, g_strdup("Split window"), "", "S", MENU_FUNC menu_split_subwin, NULL, 0); add_to_menu(&mi, g_strdup("Remove split"), "", "R", MENU_FUNC menu_remove_split, NULL, 0);*/ if (arg == NULL) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw != gses->ontop) continue; switch (sw->type){ case SWT_KST: if (arg != NULL && sep == 0) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_OPEN_CONNECTION)), "", VTEXT(T_HK_OPEN_CONNECTION), kst_open_connection, sw, 0); add_to_menu(&mi, g_strdup(VTEXT(T_KILL_CONNECTION)), "", VTEXT(T_HK_KILL_CONNECTION), menu_kill_connection, sw, 0); add_to_menu(&mi, g_strdup(VTEXT(T_EXPORT_TO_TEXT_FILE)), "", VTEXT(T_HK_EXPORT_TO_TEXT_FILE), kst_export_text, sw, 0); //add_to_menu(&mi, g_strdup("OK1MZM: >>>> Press HERE <<<<"), "", "D", kst_dump_skip, sw, 0); sep = 1; break; case SWT_DXC: if (arg != NULL && sep == 0) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_OPEN_CONNECTION)), "", VTEXT(T_HK_OPEN_CONNECTION), dxc_open_connection, sw, 0); add_to_menu(&mi, g_strdup(VTEXT(T_KILL_CONNECTION)), "", VTEXT(T_HK_KILL_CONNECTION), menu_kill_connection, sw, 0); add_to_menu(&mi, g_strdup(VTEXT(T_EXPORT_TO_TEXT_FILE)), "", CTEXT(T_HK_EXPORT_TO_TEXT_FILE), dxc_export_text, sw, 0); sep = 1; break; case SWT_SHELL: if (arg != NULL && sep == 0) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_KILL_CONNECTION)), "", VTEXT(T_HK_KILL_CONNECTION), menu_send_ctrlc, sw, 0); sep = 1; break; case SWT_CHART: if (arg != NULL && sep == 0) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_ADD_CONTEST)), "", VTEXT(T_HK_ADD_CONTEST), menu_chart_add_contest, sw, 0); add_to_menu(&mi, g_strdup(VTEXT(T_ADD_FILES)), "", VTEXT(T_HK_ADD_FILES), menu_chart_add_files, sw, 0); sep = 1; break; case SWT_QRV: if (arg != NULL && sep == 0) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_ADD_CONTESTS)), "", VTEXT(T_HK_ADD_CONTESTS), menu_qrv_add_contest, sw, 0); sep = 1; break; default: break; } } if (arg == NULL) { if (sep) add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw; char *rtext = ""; sw = (struct subwin *)g_ptr_array_index(gses->subwins,i); if (i <= 9) rtext = g_strdup_printf(VTEXT(T_ALTC), '0' + ((i + 1) % 10)); else if (i <= 19 && zsdl_get()) rtext = g_strdup_printf(VTEXT(T_CTRLC), '0' + ((i + 1) % 10)); sprintf(s,"%d", i); add_to_menu(&mi, g_strdup(sw->title), rtext, "", MENU_FUNC menu_activate_subwin, GINT_TO_POINTER(i), 0); } } do_menu(mi, NULL); } static char phase_str[EQSO_LEN]; void menu_confirm_phase(void *xxx, char *phase){ int ph = atoi(phase); if (ph >= 1) ctest->phase = ph; save_all_bands_txt(0); char s[100]; g_snprintf(s, 100, "PH %d\n", ph); rel_write_all(s); } void menu_phase(void){ g_snprintf(phase_str, EQSO_LEN, "%d", ctest->phase); input_field(NULL, VTEXT(T_PHASE), VTEXT(T_ENTER_PHASE), VTEXT(T_OK), VTEXT(T_CANCEL), gses, NULL, EQSO_LEN, phase_str, 1, 9, NULL, menu_confirm_phase, NULL, 0); } /****************** NETWORK ********************************************/ void display_codepage(void *arg) { int cp = GPOINTER_TO_INT(arg); struct term_spec *t = new_term_spec(term->term); if (t) t->charset = cp; redraw_terminal_cls(); } void charset_list(void *arg) { int i, sel; char *n; struct menu_item *mi; if (!(mi = new_menu(1))) return; for (i = 0; (n = get_cp_name(i)); i++) { if (is_cp_special(i)) continue; add_to_menu(&mi, get_cp_name(i), "", "", MENU_FUNC display_codepage, GINT_TO_POINTER(i), 0); } sel = term->spec->charset; if (sel < 0) sel = 0; do_menu_selected(mi, NULL, sel); } /*void set_val(cba_t *ip, cba_t *d) { *d = (vint)ip; } void charset_sel_list(void *arg) { int i, sel; char *n; struct menu_item *mi; if (!(mi = new_menu(1))) return; for (i = 0; (n = get_cp_name(i)); i++) { void *arg2; cba2.int_=i; add_to_menu(&mi, get_cp_name(i), "", "", MENU_FUNC set_val, cba2, 0); } sel = *ptr; if (sel < 0) sel = 0; do_menu_selected(term, mi, ptr, sel); } */ static void terminal_options_ok(void *p) { redraw_terminal_cls(); } static char *td_labels[] = { CTEXT(T_NO_FRAMES), CTEXT(T_VT_100_FRAMES), CTEXT(T_LINUX_OR_OS2_FRAMES), CTEXT(T_KOI8R_FRAMES), CTEXT(T_USE_11M), CTEXT(T_RESTRICT_FRAMES_IN_CP850_852), CTEXT(T_BLOCK_CURSOR), CTEXT(T_COLOR), CTEXT(T_UTF_8_IO), NULL }; void terminal_options(void *arg) { struct dialog *d; struct term_spec *ts = new_term_spec(term->term); if (!ts) return; if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 12 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 12 * sizeof(struct dialog_item)); d->title = VTEXT(T_TERMINAL_OPTIONS); d->fn = checkbox_list_fn; d->udata = td_labels; d->refresh = (void (*)(void *))terminal_options_ok; d->items[0].type = D_CHECKBOX; d->items[0].gid = 1; d->items[0].gnum = TERM_DUMB; d->items[0].dlen = sizeof(int); d->items[0].data = (char *)&ts->mode; d->items[1].type = D_CHECKBOX; d->items[1].gid = 1; d->items[1].gnum = TERM_VT100; d->items[1].dlen = sizeof(int); d->items[1].data = (char *)&ts->mode; d->items[2].type = D_CHECKBOX; d->items[2].gid = 1; d->items[2].gnum = TERM_LINUX; d->items[2].dlen = sizeof(int); d->items[2].data = (char *)&ts->mode; d->items[3].type = D_CHECKBOX; d->items[3].gid = 1; d->items[3].gnum = TERM_KOI8; d->items[3].dlen = sizeof(int); d->items[3].data = (char *)&ts->mode; d->items[4].type = D_CHECKBOX; d->items[4].gid = 0; d->items[4].dlen = sizeof(int); d->items[4].data = (char *)&ts->m11_hack; d->items[5].type = D_CHECKBOX; d->items[5].gid = 0; d->items[5].dlen = sizeof(int); d->items[5].data = (char *)&ts->restrict_852; d->items[6].type = D_CHECKBOX; d->items[6].gid = 0; d->items[6].dlen = sizeof(int); d->items[6].data = (char *)&ts->block_cursor; d->items[7].type = D_CHECKBOX; d->items[7].gid = 0; d->items[7].dlen = sizeof(int); d->items[7].data = (char *)&ts->col; d->items[8].type = D_CHECKBOX; d->items[8].gid = 0; d->items[8].dlen = sizeof(int); d->items[8].data = (char *)&ts->utf_8_io; d->items[9].type = D_BUTTON; d->items[9].gid = B_ENTER; d->items[9].fn = ok_dialog; d->items[9].text = VTEXT(T_OK); d->items[10].type = D_BUTTON; d->items[10].gid = B_ESC; d->items[10].fn = cancel_dialog; d->items[10].text = VTEXT(T_CANCEL); d->items[11].type = D_END; do_dialog(d, getml(d, NULL)); } #ifndef Z_MSC_MINGW void menu_shell(void *arg) { char *sh; if (!(sh = GETSHELL)) sh = DEFAULT_SHELL; exec_on_terminal(sh, "", 1); } #endif void menu_set_language(void *arg) { set_language(GPOINTER_TO_INT(arg)); redraw_terminal_cls(); } void menu_language_list(void *arg) { int i, sel; char *n; struct menu_item *mi; if (!(mi = new_menu(1))) return; for (i = 0; i < n_languages(); i++) { n = language_name(i); add_to_menu(&mi, n, "", "", MENU_FUNC menu_set_language, GINT_TO_POINTER(i), 0); } sel = current_language; do_menu_selected(mi, NULL, sel); } static struct menu_item file_menu22[] = { /* "", "", M_BAR, NULL, NULL, 0, 0,*/ #ifdef HAVE_SNDFILE {CTEXT(T_PLAY_LAST), CTEXT(T_CTRLP), CTEXT(T_HK_PLAY_LAST), MENU_FUNC menu_play_last, NULL, 0, 0}, {CTEXT(T_BREAK_RECORD), "", CTEXT(T_HK_BREAK_RECORD), MENU_FUNC menu_break_record, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, #endif {CTEXT(T_MEMORY_INFO), "", CTEXT(T_HK_MEMORY_INFO), MENU_FUNC memory_info, NULL, 0, 0}, {CTEXT(T_NINFO), "", CTEXT(T_HK_NINFO), MENU_FUNC net_info, NULL, 0, 0}, // {CTEXT(T_CRASH_TEST), "", CTEXT(T_HK_CRASH_TEST), crash_test, NULL, 0, 0}, // {CTEXT(T_INTERROR_TEST), "", CTEXT(T_HK_INTERNAL_TEST), internal_test, NULL, 0, 0}, {CTEXT(T_DUMP_RW_BANDS), "", CTEXT(T_HK_DUMP_RW_BANDS), dump_rw, NULL, 0, 0}, {CTEXT(T_UPDATE), "", CTEXT(T_HK_UPDATE), update_tucnak, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0} }; static struct menu_item file_menu3[] = { {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_EXIT), "", CTEXT(T_HK_EXIT), MENU_FUNC exit_prog, NULL, 0, 0}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; void do_file_menu(void *arg) { int x,file_menu1_size; struct menu_item *file_menu, *e, *f; file_menu1_size=0; if (!(file_menu = (struct menu_item*)g_malloc0(file_menu1_size + sizeof(file_menu22) + sizeof(file_menu3) + 3 * sizeof(struct menu_item)))) return; e = file_menu; memcpy(e, file_menu22, sizeof(file_menu22)); e += sizeof(file_menu22) / sizeof(struct menu_item); x = 1; #ifdef Z_HAVE_SDL if (sdl) { /* e->text = VTEXT(T_OS_SHELL); e->rtext = ""; e->hotkey = VTEXT(T_HK_OS_SHELL); e->data = NULL; e->in_m = 0; e->free_i = 0; e++; x = 0; */ }else #endif { #ifndef Z_MSC_MINGW e->text = VTEXT(T_OS_SHELL); e->rtext = ""; e->hotkey = VTEXT(T_HK_OS_SHELL); e->func = MENU_FUNC menu_shell; e->data = NULL; e->in_m = 0; e->free_i = 0; e++; x = 0; #endif } memcpy(e, file_menu3 + x, sizeof(file_menu3) - x * sizeof(struct menu_item)); e += sizeof(file_menu3) / sizeof(struct menu_item); for (f = file_menu; f < e; f++) f->free_i = 1; do_menu(file_menu, NULL); } #ifndef Z_HAVE_SDL #undef sdl #endif static struct menu_item help_menu[] = { {CTEXT(T_ABOUT), "", CTEXT(T_HK_ABOUT), MENU_FUNC menu_about, NULL, 0, 0}, {CTEXT(T_COPYING), "", CTEXT(T_HK_COPYING), MENU_FUNC menu_copying, NULL, 0, 0}, {CTEXT(T_VERSION), "", CTEXT(T_HK_VERSION), MENU_FUNC menu_version, NULL, 0, 0}, {CTEXT(T_INFO), "", CTEXT(T_HK_INFO), MENU_FUNC menu_info, NULL, 0, 0}, {CTEXT(T_SETTINGS), "", CTEXT(T_HK_SETTINGS), MENU_FUNC menu_settings, NULL, 0, 0}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; /************************* CONTEST MENU *********************************/ static struct menu_item ctest_menu1[] = { {CTEXT(T_NEW), "", CTEXT(T_HK_NEW), MENU_FUNC menu_contest_new, NULL, 0, 0}, {CTEXT(T_NEW_WIZZ), ">", CTEXT(T_HK_NEW_WIZZ), MENU_FUNC menu_contest_new_wizz, NULL, 1, 0}, {CTEXT(T_NEW_NET), "", CTEXT(T_HK_NEW_NET), MENU_FUNC menu_discover_peers3, open_from_net3, 0, 0}, //{"New from net old", "", "O", MENU_FUNC menu_contest_config_from_peer, send_contest_config_request, 0, 0}, {CTEXT(T_OPEN), "F3 >", CTEXT(T_HK_OPEN), MENU_FUNC menu_contest_open, NULL, 1, 0}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; static struct menu_item ctest_menu2[] = { {CTEXT(T_SAVE), "F2", CTEXT(T_HK_SAVE), MENU_FUNC menu_save_all, NULL, 0, 0}, {CTEXT(T_FILLOP), "", CTEXT(T_HK_FILLOP), MENU_FUNC menu_fillop, GINT_TO_POINTER(1), 0, 0}, {CTEXT(T_QSO_CHECK), "", CTEXT(T_HK_QSO_CHECK), MENU_FUNC menu_qso_check, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_EXPORT_EDI), "", CTEXT(T_HK_EXPORT_EDI), MENU_FUNC menu_export_edi, NULL, 0, 0}, {CTEXT(T_UPLOAD_TO_SLOVHF), "", CTEXT(T_HK_UPLOAD_TO_SLOVHF), MENU_FUNC slovhfnet_upload, NULL, 0, 0}, //{CTEXT(T_UPLOAD_TO_VHFNET), "", CTEXT(T_HK_UPLOAD_TO_VHFNET), MENU_FUNC vhfcontestnet_upload, NULL, 0, 0}, {CTEXT(T_EXPORT_REPORT), "", CTEXT(T_HK_EXPORT_REPORT), MENU_FUNC menu_export_report, NULL, 0, 0}, {CTEXT(T_EXPORT_ADIF), "", CTEXT(T_HK_EXPORT_ADIF), MENU_FUNC menu_export_adif, NULL, 0, 0}, {CTEXT(T_EXPORT_HTML), "", CTEXT(T_HK_EXPORT_HTML), MENU_FUNC menu_export_html, NULL, 0, 0}, {CTEXT(T_EXPORT_STATS), "", CTEXT(T_HK_EXPORT_STATS), MENU_FUNC menu_export_stats, NULL, 0 , 0}, {CTEXT(T_EXPORT_TITLPAGE),"", CTEXT(T_HK_EXPORT_TITLPAGE), MENU_FUNC menu_export_titlpage, NULL, 0 , 0}, {CTEXT(T_EXPORT_CBR), "", CTEXT(T_HK_EXPORT_CBR), MENU_FUNC menu_export_cbr, NULL, 0, 0}, {CTEXT(T_EXPORT_STF), "", CTEXT(T_HK_EXPORT_STF), MENU_FUNC menu_export_stf, NULL, 0, 0}, {CTEXT(T_EXPORT_SOTA), "", CTEXT(T_HK_EXPORT_SOTA), MENU_FUNC menu_export_sota, NULL, 0, 0}, {CTEXT(T_EXPORT_WIKI), "", CTEXT(T_HK_EXPORT_WIKI), MENU_FUNC menu_export_wiki, NULL, 0, 0}, {CTEXT(T_MEDIAWIKI_UPLOAD), "", CTEXT(T_HK_MEDIAWIKI_UPLOAD), MENU_FUNC wiki_upload, NULL, 0, 0}, {CTEXT(T_SOTA_UPLOAD_LOG), "", CTEXT(T_HK_SOTA_UPLOAD_LOG), MENU_FUNC menu_sota_upload, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_SEND_SOTA_SPOT), "", CTEXT(T_HK_SEND_SOTA_SPOT), MENU_FUNC menu_send_sota_spot, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_IMPORT_EDI), "", CTEXT(T_HK_IMPORT_EDI), MENU_FUNC menu_import_edi, NULL, 0, 0}, {CTEXT(T_IMPORT_ADIF), "", CTEXT(T_HK_IMPORT_ADIF), MENU_FUNC menu_import_adif, NULL, 0, 0}, {CTEXT(T_IMPORT_SWAP), "", CTEXT(T_HK_IMPORT_SWAP), MENU_FUNC menu_import_swap, NULL, 0, 0}, {CTEXT(T_IMPORT_LIST), "", CTEXT(T_HK_IMPORT_LIST), MENU_FUNC menu_import_list, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_CONTEST_OP), "", CTEXT(T_HK_CONTEST_OP), MENU_FUNC menu_contest1_options_from_ctest, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_CLOSE_CONTEST), "", CTEXT(T_HK_CLOSE_CONTEST), MENU_FUNC menu_contest_close, NULL, 0, 0}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; void do_contest_menu(void *arg) { if (!ctest) do_menu(ctest_menu1, NULL); else do_menu(ctest_menu2, NULL); } /************************* EDIT MENU *********************************/ static struct menu_item edit_menu[] = { {CTEXT(T_RUN_MODE), "", CTEXT(T_HK_RUN_MODE), MENU_FUNC menu_runmode, NULL, 0, 0}, {CTEXT(T_SP_MODE), "", CTEXT(T_HK_SP_MODE), MENU_FUNC menu_spmode, NULL, 0, 0}, {CTEXT(T_PHASE), "", CTEXT(T_HK_PHASE), MENU_FUNC menu_phase, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_1ST), "", CTEXT(T_HK_1ST), MENU_FUNC menu_extcq, GINT_TO_POINTER(EC_1ST), 0, 0}, {CTEXT(T_2ND), "", CTEXT(T_HK_2ND), MENU_FUNC menu_extcq, GINT_TO_POINTER(EC_2ND), 0, 0}, {CTEXT(T_ODD), "", CTEXT(T_HK_ODD), MENU_FUNC menu_extcq, GINT_TO_POINTER(EC_ODD), 0, 0}, {CTEXT(T_EVEN), "", CTEXT(T_HK_EVEN), MENU_FUNC menu_extcq, GINT_TO_POINTER(EC_EVEN), 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_ROTAR), "Alt+R", CTEXT(T_HK_ROTAR), MENU_FUNC menu_rotar, NULL, 0, 0}, {CTEXT(T_ADD_ERROR), "", CTEXT(T_HK_ADD_ERROR), MENU_FUNC menu_add_error, NULL, 0, 0}, {CTEXT(T_CHOP), "Alt+O", CTEXT(T_HK_CHOP), MENU_FUNC menu_chop, NULL, 0, 0}, {CTEXT(T_CALL_INFO), "Alt+I", CTEXT(T_HK_CALL_INFO), MENU_FUNC call_info, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_SKED_QRG), "Alt+F", CTEXT(T_HK_SKED_QRG), MENU_FUNC menu_skedqrg, NULL, 0, 0}, // {CTEXT(T_GRAB_BAND), "Alt+G", CTEXT(T_HK_GRAB_BAND), MENU_FUNC menu_grabband, NULL, 0, 0}, // {CTEXT(T_FORCE_RUN), "", CTEXT(T_HK_FORCE_RUN), MENU_FUNC menu_forcerun, NULL, 0, 0}, #ifdef HAVE_HAMLIB {CTEXT(T_FIXQRG), "", CTEXT(T_HK_FIXQRG), menu_fixqrg, NULL, 0, 0}, #endif {CTEXT(T_CH_SPY), "", CTEXT(T_HK_CH_SPY), menu_discover_peers3, spy3, 0, 0}, {CTEXT(T_CH_ENDSPY), "", CTEXT(T_HK_CH_ENDSPY), MENU_FUNC menu_endspy, NULL, 0}, #ifdef VOIP #ifdef HAVE_SNDFILE {CTEXT(T_VOIP_SPY), "", CTEXT(T_HK_VOIP_SPY), menu_discover_peers3, voip_spy, 0, 0}, {CTEXT(T_END_VOIP_SPY), "", CTEXT(T_HK_END_VOIP_SPY), voip_end_spy, NULL, 0, 0}, #endif #endif {"", "", M_BAR, NULL, NULL, 0, 0}, // {CTEXT(T_RECAQRB), "", CTEXT(T_HK_RECAQRB), MENU_FUNC menu_recalc_qrb, NULL, 0, 0}, {CTEXT(T_CW_CTEST), "", CTEXT(T_HK_CW_CTEST), MENU_FUNC menu_cw_update_contest, NULL, 0, 0}, {CTEXT(T_CW_BAND), "", CTEXT(T_HK_CW_BAND), MENU_FUNC menu_cw_update_band, NULL, 0, 0}, {CTEXT(T_EXC_CTEST), "", CTEXT(T_HK_EXC_CTEST), MENU_FUNC menu_exc_update_contest, NULL, 0, 0}, {CTEXT(T_EXC_BAND), "", CTEXT(T_HK_EXC_BAND), MENU_FUNC menu_exc_update_band, NULL, 0, 0}, {CTEXT(T_IMPORT_EBW), "", CTEXT(T_HK_IMPORT_EBW), MENU_FUNC menu_import_ebw, NULL, 0, 0}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; static struct menu_item edit_menu2[] = { {CTEXT(T_ROTAR), "Alt+R", CTEXT(T_HK_ROTAR), MENU_FUNC menu_rotar, NULL, 0, 0}, {CTEXT(T_CALL_INFO), "Alt+I", CTEXT(T_HK_CALL_INFO), MENU_FUNC call_info, NULL, 0, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, #ifdef HAVE_HAMLIB {CTEXT(T_FIXQRG), "", CTEXT(T_HK_FIXQRG), menu_fixqrg, NULL, 0, 0}, #endif #ifdef VOIP #ifdef HAVE_SNDFILE {CTEXT(T_VOIP_SPY), "", CTEXT(T_HK_VOIP_SPY), menu_discover_peers3, voip_spy, 0, 0}, {CTEXT(T_END_VOIP_SPY), "", CTEXT(T_HK_END_VOIP_SPY), voip_end_spy, NULL, 0, 0}, #endif #endif {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_IMPORT_EBW), "", CTEXT(T_HK_IMPORT_EBW), MENU_FUNC menu_import_ebw, NULL, 0, 0}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; void do_edit_menu(void *arg) { if (!ctest || !aband) do_menu(edit_menu2, NULL); else do_menu(edit_menu, NULL); } /************************** SETUP MENU ************************************/ void menu_save_rc(void *arg){ gchar *filename; gchar *c; int ret; filename = g_strconcat(tucnak_dir, "/tucnakrc", NULL); z_wokna(filename); ret=save_rc_file(filename); if (ret) { c = g_strdup_printf(VTEXT(T_CANT_WRITE_S), filename); errbox(c, ret); g_free(c); }else{ log_addf(VTEXT(T_SAVED_S), filename); } g_free(filename); } void do_peer_menu(void (* func)(void *arg)){ int i,max; struct menu_item *mi = NULL; gchar **items; items = g_strsplit(gnet->allpeers,";",0); max=0; for (i=0; items[i]!=NULL;i++){ if (strcmp(items[i],gnet->myid)==0) continue; if (strlen(items[i])==0) continue; if (!mi) if (!(mi = new_menu(3))) return; if (strlen(items[i])>max) max=strlen(items[i]); add_to_menu(&mi,g_strdup(items[i]),"", "", MENU_FUNC func, GINT_TO_POINTER(i), 0); } g_strfreev(items); if (mi){ set_window_ptr(gses->win, (term->x-max)/2,(term->y-2-i)/2); do_menu(mi, NULL); }else errbox(VTEXT(T_NO_PEERS),0); return; } void do_peer_operators_menu(void (* func)(void *arg)){ int i,max; struct menu_item *mi = NULL; gchar **items,*c; items = g_strsplit(gnet->allpeers,";",0); max=0; for (i=0; items[i]!=NULL && items[i+1]!=NULL;i+=2){ if (strcmp(items[i],gnet->myid)==0) continue; if (strlen(items[i])==0) continue; if (!mi) if (!(mi = new_menu(3))) return; c=g_strdup_printf("%-8s %s", items[i+1], items[i]); if (strlen(c)>max) max=strlen(c); add_to_menu(&mi,g_strdup(c),"", "", MENU_FUNC func, GINT_TO_POINTER(i), 0); g_free(c); } g_strfreev(items); if (mi){ set_window_ptr(gses->win, (term->x-max)/2,(term->y-2-i)/2); do_menu(mi, NULL); }else errbox(VTEXT(T_NO_PEERS),0); return; } void menu_load_from_peer(void *arg){ GString *gs; char *op; /*dbg("menu_load_from_peer\n"); */ if (cmp_sin(&gnet->global, &gnet->my)==0) { /* i'm master */ int i; struct conn *conn; /* LOOK ALSO net.c rel_write, dommand DO */ CONDGFREE(gnet->allpeers); gs=g_string_sized_new(100); for (i=0;ipeers->len;i++){ conn = (struct conn *)g_ptr_array_index(gnet->peers,i); if (!conn_prod_state(conn)) continue; op="---"; if (ctest && aband && conn->operator_) op=conn->operator_; g_string_append_printf(gs,"%s;%s;", conn->remote_id, op); } gnet->allpeers=g_strdup(gs->str); g_string_free(gs,TRUE); do_peer_operators_menu(arg); /* todo */ return; } /* i'm slave */ if (!conn_prod_state(gnet->master)){ errbox(VTEXT(T_NO_MASTER),0); return; } gnet->peerfunc = (PEER_FUNC)arg; rel_write(gnet->master, "DO\n"); } void do_spy_peer_menu(void (* func)(void *arg)){ int i,max,menui; struct menu_item *mi = NULL; gchar **items,*c, *d; GString *gs; dbg("do_spy_peer_menu() rwbpeers='%s'\n", gnet->rwbpeers); items = g_strsplit(gnet->rwbpeers,";",0); gs = g_string_sized_new(200); max=0; menui=0; for (i=0; items[i]!=NULL && items[i+1]!=NULL && items[i+2]!=NULL; i+=3){ if (strcmp(items[i],gnet->myid)==0) continue; if (strlen(items[i])==0) continue; for (d=items[i+2]; *d!='\0'; d++){ if (!mi) if (!(mi = new_menu(3))) return; c=g_strdup_printf("%-6s %c %s", items[i+1], *d, items[i]); if (strlen(c)>max) max=strlen(c); add_to_menu(&mi,g_strdup(c),"", "", MENU_FUNC func, GINT_TO_POINTER(menui), 0); dbg("add_to_menu(%s) menui=%d\n", c, menui); g_free(c); g_string_append_printf(gs, "%s;%s;%c;", items[i], items[i+1], *d); menui++; } } g_strfreev(items); CONDGFREE(gnet->bpeers); gnet->bpeers = g_strdup(gs->str); g_string_free(gs, TRUE); dbg("do_spy_peer_menu() bpeers='%s' menui=%d\n", gnet->bpeers, menui); if (mi){ set_window_ptr(gses->win, (term->x-max)/2,(term->y-2-i)/2); do_menu(mi, NULL); }else errbox(VTEXT(T_NO_PEERS),0); return; } void menu_spy_from_peer(void *arg){ GString *gs; char *op; char *rwb; /*dbg("menu_load_from_peer\n"); */ if (cmp_sin(&gnet->global, &gnet->my)==0) { /* i'm master */ int i; struct conn *conn; /* LOOK ALSO net.c rel_write, dommand DO */ CONDGFREE(gnet->rwbpeers); gs=g_string_sized_new(100); for (i=0;ipeers->len;i++){ conn = (struct conn *)g_ptr_array_index(gnet->peers,i); if (!conn_prod_state(conn)) continue; op="---"; if (ctest && aband && conn->operator_) op=conn->operator_; rwb=""; if (conn->rwbands) rwb=conn->rwbands; g_string_append_printf(gs,"%s;%s;%s;", conn->remote_id, op, rwb); } gnet->rwbpeers=g_strdup(gs->str); g_string_free(gs,TRUE); do_spy_peer_menu((void (*)(void*))arg); return; } /* i'm slave */ if (!conn_prod_state(gnet->master)){ errbox(VTEXT(T_NO_MASTER),0); return; } gnet->peerfunc = (PEER_FUNC)arg; rel_write(gnet->master, "DR\n"); } void select_open_from_net3(void *itarg, void *menuarg){ load_from_net(itarg); } void open_from_net3(void *xxx){ int tok = 0, max = 0, menui = 0; char *peer, *id, *op, *s, *cdate, *pcall, *tname; struct menu_item *mi = NULL; char *peers3; progress(NULL); peers3 = g_strdup(gnet->peers3->str); while ((peer = z_tokenize(peers3, &tok)) != NULL){ int tok2 = 0; id = z_tokenize(peer, &tok2); op = z_tokenize(peer, &tok2); /*rwbands =*/ z_tokenize(peer, &tok2); cdate = z_tokenize(peer, &tok2); pcall = z_tokenize(peer, &tok2); tname = z_tokenize(peer, &tok2); if (!tname) continue; if (!mi) mi = new_menu(3); s = g_strdup_printf("%21s %s %s (%s) %s", id, cdate, pcall, op, tname); if (strlen(s) > max) max = strlen(s); add_to_menu(&mi, s, "", "", select_open_from_net3, GINT_TO_POINTER(menui), 0); menui++; } g_free(peers3); dbg("menui=%d\n"); if (mi){ set_window_ptr(gses->win, (term->x-max)/2,(term->y-2-menui)/2); do_menu(mi, NULL); }else errbox(VTEXT(T_NO_PEERS),0); } void select_spy3(void *itarg, void *menuarg){ char *peers3, *peer, *id, *rwbands, *c; int tok = 0, menui = 0, no = GPOINTER_TO_INT(itarg); dbg("select_spy3(%p, %p)\n", itarg, menuarg); peers3 = g_strdup(gnet->peers3->str); while ((peer = z_tokenize(peers3, &tok)) != NULL){ int tok2 = 0; id = z_tokenize(peer, &tok2); /*op =*/ z_tokenize(peer, &tok2); rwbands = z_tokenize(peer, &tok2); if (!rwbands) continue; for (c = rwbands; *c != '\0'; c++){ if (menui == no){ spypeer_add(id, *c, 1); return; } menui++; } } g_free(peers3); } void spy3(void *xxx){ int tok = 0, max = 0, menui = 0; char *peer, *id, *op, *rwbands, *c, *s; struct menu_item *mi = NULL; char *peers3; progress(NULL); if (ctest->oldcontest) { msg_box(NULL, VTEXT(T_ERROR),AL_CENTER,/*VTEXT*/VTEXT(T_OLD_TEST_NO_SPY),NULL,1, VTEXT(T_OK), NULL, B_ENTER |B_ESC); return; } peers3 = g_strdup(gnet->peers3->str); while ((peer = z_tokenize(peers3, &tok)) != NULL){ int tok2 = 0; id = z_tokenize(peer, &tok2); op = z_tokenize(peer, &tok2); rwbands = z_tokenize(peer, &tok2); if (!rwbands) continue; for (c = rwbands; *c != '\0'; c++){ struct band *b = find_band_by_bandchar(*c); if (!b) continue; if (!mi) mi = new_menu(3); s = g_strdup_printf("%-21s %7s %s", id, b->bandname, op); if (strlen(s) > max) max = strlen(s); add_to_menu(&mi, s, "", "", select_spy3, GINT_TO_POINTER(menui), 0); menui++; } } g_free(peers3); dbg("menui=%d\n"); if (mi){ set_window_ptr(gses->win, (term->x-max)/2,(term->y-2-menui)/2); do_menu(mi, NULL); }else errbox(VTEXT(T_NO_PEERS),0); } void menu_discover_peers3(void *itarg, void *menuarg){ if (gnet->peers3) g_string_free(gnet->peers3, TRUE); gnet->peers3 = g_string_sized_new(256); progress(VTEXT(T_NETWORK_SCAN)); rel_write_all("D3 \n"); gnet->timer3_id = zselect_timer_new(zsel, 1000, (void (*)(void *))itarg, NULL); } void menu_contest_config_from_peer(void *arg){ GString *gs; dbg("menu_contest_config_from_peer\n"); if (cmp_sin(&gnet->global, &gnet->my)==0) { /* i'm master */ int i; struct conn *tmpconn; struct zstring *zs; char *cdate, *pcall, *tname; /* LOOK ALSO net.c rel_write, dommand DC */ CONDGFREE(gnet->allpeers); gs=g_string_sized_new(100); for (i=0;ipeers->len;i++){ tmpconn = (struct conn *)g_ptr_array_index(gnet->peers,i); dbg("conn[%d]=%p %s\n", i, tmpconn, tcp_state_s(tmpconn)); if (!conn_prod_state(tmpconn)) continue; if (!tmpconn->remote_ac) continue; dbg("remote_ac=%s\n", tmpconn->remote_ac); zs = zstrdup(tmpconn->remote_ac); cdate = ztokenize(zs, 1); pcall = ztokenize(zs, 0); tname = ztokenize(zs, 0); if (tname && *tname) g_string_append_printf(gs,"%s;%s %s %s;", tmpconn->remote_id, cdate, pcall, tname); zfree(zs); } dbg("allpeers=%s\n", gs->str); gnet->allpeers=g_strdup(gs->str); g_string_free(gs,TRUE); do_peer_operators_menu((void (*)(void*))arg); return; } /* i'm slave */ if (!conn_prod_state(gnet->master)){ errbox(VTEXT(T_NO_MASTER),0); return; } gnet->peerfunc = (PEER_FUNC)arg; rel_write(gnet->master, "DC\n"); } static struct menu_item setup_menu[] = { {CTEXT(T_CTEST_DEF), "", CTEXT(T_HK_CTEST_DEF), MENU_FUNC contest_def, GINT_TO_POINTER(0), 0, 0}, {CTEXT(T_BAND_DEF), ">", CTEXT(T_HK_BAND_DEF), MENU_FUNC menu_cfg_bands, menu_setup_band, 1, 0}, {CTEXT(T_RESPOP), "", CTEXT(T_HK_RESPOP), MENU_FUNC menu_responsible_op, NULL, 0, 0}, {CTEXT(T_CW_DAEMON), "", CTEXT(T_HK_CW_DAEMON), MENU_FUNC menu_cwda, NULL, 0, 0}, #ifdef HAVE_SNDFILE {CTEXT(T_AUDIO), "", CTEXT(T_HK_AUDIO), MENU_FUNC menu_ssbd, NULL, 0, 0}, #endif {CTEXT(T_CW_CQ), ">", CTEXT(T_HK_CW_CQ), MENU_FUNC menu_cq_cw, NULL, 1, 0}, {CTEXT(T_SSB_CQ), ">", CTEXT(T_HK_SSB_CQ), MENU_FUNC menu_cq_ssb, NULL, 1, 0}, #ifdef HAVE_HAMLIB {CTEXT(T_RIGOPTS), ">", CTEXT(T_HK_RIGOPTS), MENU_FUNC menu_rigs, NULL, 1, 0}, #endif {CTEXT(T_ROTAROPTS), ">", CTEXT(T_HK_ROTAROPTS), MENU_FUNC menu_rotars, NULL, 1, 0}, {CTEXT(T_AUTOSAVE), "", CTEXT(T_HK_AUTOSAVE), MENU_FUNC menu_autosave, NULL, 0, 0}, {CTEXT(T_NETWORK), "", CTEXT(T_HK_NETWORK), MENU_FUNC menu_network, NULL, 0, 0}, {CTEXT(T_MISCOPTS), "", CTEXT(T_HK_MISCOPTS), MENU_FUNC misc_opts, NULL, 0, 0}, {CTEXT(T_TERMINAL_OPTIONS), "", CTEXT(T_HK_TERMINAL_OPTIONS), MENU_FUNC terminal_options, NULL, 0, 0}, {CTEXT(T_HTTPD_OPTIONS)/*CTEXT(T_TERMINAL_OPTIONS)*/, "", CTEXT(T_HK_HTTP_OPTIONS)/*CTEXT(T_HK_TERMINAL_OPTIONS)*/, MENU_FUNC menu_httpd_opts, NULL, 0, 0}, {CTEXT(T_AC_OPTIONS)/*CTEXT(T_TERMINAL_OPTIONS)*/, "", CTEXT(T_HK_AC_OPTIONS)/*CTEXT(T_HK_TERMINAL_OPTIONS)*/, MENU_FUNC menu_ac_opts, NULL, 0, 0}, #if defined(HAVE_ALSA) || defined (HAVE_PORTAUDIO) {CTEXT(T_SDR_OPTIONS)/*CTEXT(T_TERMINAL_OPTIONS)*/, "", CTEXT(T_HK_SDR_OPTIONS)/*CTEXT(T_HK_TERMINAL_OPTIONS)*/, MENU_FUNC menu_sdr_opts, NULL, 0, 0}, #endif {CTEXT(T_RAIN_OPTIONS), "", CTEXT(T_HK_RAIN_OPTIONS), menu_rain_opts, NULL, 0, 0}, {CTEXT(T_LANGUAGE), ">", CTEXT(T_HK_LANGUAGE), MENU_FUNC menu_language_list, NULL, 1, 0}, //{CTEXT(T_CHARACTER_SET), ">", CTEXT(T_HK_CHARACTER_SET), MENU_FUNC charset_list, GINT_TO_POINTER(1), 1, 0}, {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_LOAD_CFG_NET), "", CTEXT(T_HK_LOAD_CFG_NET), MENU_FUNC menu_load_from_peer, send_config_request, 0, 0},/* todo */ {CTEXT(T_LOAD_CW_NET), "", CTEXT(T_HK_LOAD_CW_NET), MENU_FUNC menu_load_from_peer, send_cwdb_request, 0, 0},/* todo */ {"", "", M_BAR, NULL, NULL, 0, 0}, {CTEXT(T_SAVE_CFG), "", CTEXT(T_HK_SAVE_CFG), MENU_FUNC menu_save_rc, NULL, 0, 0}, {NULL, NULL, 0, NULL, NULL, 0, 0} }; void do_setup_menu(void *arg) { do_menu(setup_menu, NULL); } static struct menu_item main_menu[] = { {CTEXT(T_CONTEST), "", CTEXT(T_HK_CONTEST), MENU_FUNC do_contest_menu, NULL, 1, 1}, {CTEXT(T_FILE), "", CTEXT(T_HK_FILE), MENU_FUNC do_file_menu, NULL, 1, 1}, {CTEXT(T_EDIT), "", CTEXT(T_HK_EDIT), MENU_FUNC do_edit_menu, NULL, 1, 1}, {CTEXT(T_BANDS), "", CTEXT(T_HK_BANDS), MENU_FUNC menu_bands, menu_activate_band, 1, 1}, {CTEXT(T_SUBWINS), "", CTEXT(T_HK_SUBWINS), MENU_FUNC subwins_menu, NULL, 1, 1}, {CTEXT(T_SETUP), "", CTEXT(T_HK_SETUP), MENU_FUNC do_setup_menu, NULL, 1, 1}, {CTEXT(T_HELP), "", CTEXT(T_HK_HELP), MENU_FUNC do_menu, help_menu, 1, 1}, {NULL, NULL, NULL, NULL, NULL, 0, 0} }; void activate_bfu_technology(int item) { #ifdef Z_HAVE_SDL if (sdl) fill_lastarea(gses->ontop->x - 1, gses->ontop->y - 1, gses->ontop->w + 2, gses->ontop->h + 2, 0); #endif do_mainmenu(main_menu, NULL, item); } /*struct history file_history = { 0, {&file_history.items, &file_history.items} }; struct history search_history = { 0, {&search_history.items, &search_history.items} }; */ static struct history load_swap_history = { 0, {&load_swap_history.items, &load_swap_history.items }}; void free_history_lists(void) { /* free_list(file_history.items); free_list(search_history.items);*/ free_list(load_swap_history.items); } /***************************** LOAD SWAP ***********************************/ #if 0 void load_swap(char *text){ FILE *f; f = fopen(text, "rt"); if (!f){ msg_box(term, NULL, VTEXT(T_ERROR), AL_CENTER, VTEXT(T_CANT_READ), NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); return; } add_qsos_from_swap(aband, f); fclose(f); } void menu_load_swap(void *arg){ input_field(ses->term, NULL, "Load swap", "Enter filename", VTEXT(T_OK), VTEXT(T_CANCEL), ses, &load_swap_history, MAX_INPUT_URL_LEN, "", 0, 0, NULL, load_swap, NULL); } #endif #ifdef HAVE_SNDFILE void menu_play_last(void *arg){ ssbd_play_last_sample(gssbd, NULL); } #endif void menu_break_record(void *arg){ cq_abort(1); } void menu_extcq(void *arg){ if (!gses) return; gses->extcq = (enum extcq)GPOINTER_TO_INT(arg); } tucnak-4.32/src/ebw.h0000644000175000017500000000202512125053311011355 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __EBW_H #define __EBW_H #include "header.h" struct namedb; struct cw; #ifdef Z_MSC #pragma pack(push, 1) #endif struct dbfhdr{ char ver; /* mostly 03 */ char year,month,day; guint32 records; guint16 hdrsize, recsize; char padding[20]; /* total 32 bytes */ }__attribute__((packed)); struct dbffield{ char name[11]; /* \0 terminated */ char type; /* Char,Date YYYYMMDD,Float,Logical TFYN,Memo,Numeric */ guint32 disaplacement; char len, decimal; char padding[14]; /* total 32 bytes */ }__attribute__((packed)); #ifdef Z_MSC #pragma pack(pop) #endif int load_ebw_from_file(struct cw *cw, struct namedb *namedb, char *filename); int read_ebw_files(struct cw *cw, struct namedb *namedb); #endif tucnak-4.32/src/sndf.c0000644000175000017500000000535212657272651011557 00000000000000/* Tucnak - VHF contest log Copyright (C) 2014-2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fifo.h" #include "language2.h" #include "sndf.h" #ifdef HAVE_SNDFILE int sndfile_open(struct dsp *dsp, int rec){ dbg("sndfile_open('%s',%s)\n", rec? dsp->rec_filename : dsp->play_filename, rec ? "record" : "playback"); zg_free0(dsp->name); dsp->name = g_strdup(rec? dsp->rec_filename : dsp->play_filename); dsp->samples = dsp->frames * dsp->channels; dsp->bytes = dsp->samples * sizeof(short); dsp->sndfile = sf_open (rec? dsp->rec_filename : dsp->play_filename, rec ? SFM_READ : SFM_WRITE, dsp->sfinfo); if (!dsp->sndfile){ char *sferr = z_1250_to_8859_2(g_strdup(sf_strerror(NULL))); log_addf(VTEXT(T_CANT_OPEN_FILE_S_S), dsp->name, sferr); g_free(sferr); goto err; } if (rec) { // set parameters from file dsp->speed = dsp->sfinfo->samplerate; dsp->period_time = dsp->frames * 1000 / dsp->speed; } //log_addf("sndfile opened, rate=%d, bufsize=%df %ds %db", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); dbg("sndfile opened, rate=%d, bufsize=%df %ds %db\n", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); goto x; err:; if (dsp->sndfile) sf_close(dsp->sndfile); dsp->sndfile = NULL; x:; return 0; } int sndfile_close(struct dsp *dsp){ dsp->reset(dsp); if (dsp->sndfile) sf_close(dsp->sndfile); dsp->sndfile = NULL; return 0; } int sndfile_write(struct dsp *dsp, void *data, int frames){ int ret = sf_writef_short(dsp->sndfile, (short*)data, frames); return ret; } int sndfile_read(struct dsp *dsp, void *data, int frames){ int ret = sf_readf_short(dsp->sndfile, (short*)data, frames); return ret; } int sndfile_reset(struct dsp *dsp){ return 0; } int sndfile_sync(struct dsp *dsp){ return 0; } int sndfile_set_format(struct dsp *dsp, SF_INFO *sfinfo, int ret){ g_free(dsp->sfinfo); dsp->sfinfo = g_new0(SF_INFO, 1); memcpy(dsp->sfinfo, sfinfo, sizeof(SF_INFO)); return 0; } int sndfile_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec){ g_free(dsp->sfinfo); dsp->sfinfo = g_new0(SF_INFO, 1); dsp->sfinfo->format = SF_FORMAT_WAV | SF_FORMAT_PCM_16; dsp->sfinfo->samplerate = speed; dsp->sfinfo->channels = 2; dsp->speed = speed; dsp->channels = 2; dsp->frames = frames; dsp->samples = dsp->frames * dsp->sfinfo->channels; dsp->bytes = dsp->samples * sizeof(short); if (dsp->speed != 0) dsp->period_time = frames * 1000 / dsp->speed; return 0; } #endif tucnak-4.32/src/subwin.c0000644000175000017500000020577014046547666012147 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. UTF-8 detect: ěščřžýáíé */ #include #include "header.h" #include "button.h" #include "chart.h" #include "cwdb.h" #include "dwdb.h" #include "dxc.h" #include "fft.h" #include "fifo.h" #include "hf.h" #include "inputln.h" #include "kbdbind.h" #include "kbd.h" #include "kst.h" #include "main.h" #include "map.h" #include "menu.h" #include "net.h" #include "player.h" #include "qrvdb.h" #include "qsodb.h" #include "rc.h" #include "scope.h" #include "sdr.h" #include "sdr.h" #include "tsdl.h" #include "sdr.h" #include "session.h" #include "sked.h" #include "ssbd.h" #include "stats.h" #include "subwin.h" #include "terminal.h" #include "tregex.h" #include "trig.h" #include "update.h" struct session *gses; //#define QSOS_LEN (aband->qsos->len) struct subwin *new_subwin(enum sw_type type, int where_){ struct subwin *sw; #ifdef Z_MSC_MINGW char oemcp[32]; #endif // dbg("new_subwin(%d, '%s')\n", type, title); sw = g_new0(struct subwin, 1); sw->type = type; sw->x = 1; sw->w = term->x - 2; sw->h = term->y - QSONR_HEIGHT - 4 - cfg->loglines; sw->ww = sw->w; sw->hh = sw->h; if (ctest && !ctest->oldcontest) sw->h -= ctest->spypeers->len; sw->cur = -1; sw->maxlen = 1000; #ifdef Z_UNIX sw->ws.ws_col = sw->w; sw->ws.ws_row = sw->h-1; sw->ws.ws_xpixel = 0; sw->ws.ws_ypixel = 0; #endif sw->read_fd = -1; sw->write_fd = -1; sw->sock = -1; sw->olddragx = -1; sw->olddragy = -1; switch(sw->type){ case SWT_SHELL: case SWT_UPD: if (sw->type == SWT_SHELL){ sw->title = g_strdup(VTEXT(T_SW_SHELL)); }else{ sw->title = g_strdup(VTEXT(T_UPDATE2)); } sw->kbd_func = sw_fifo_kbd_func; sw->mouse_func = sw_shell_mouse_func; sw->redraw = sw_shell_redraw; sw->check_bounds = sw_shell_check_bounds; sw->lines = g_ptr_array_new(); sw->il = g_new0(struct inputln,1); sw->il->enter = sw_shell_enter; sw->il->enterdata = sw; sw->il->allow_ctrlv = 1; if (sw->type == SWT_UPD){ sw->zser = update_init_process(); }else{ #ifdef Z_MSC_MINGW sw->zser = zserial_init_process("cmd.exe", NULL); #else sw->zser = zserial_init_process("/bin/bash", NULL); #endif } zserial_open(sw->zser); sw->read_fd = zserial_fd(sw->zser); zselect_set(zsel, sw->read_fd, sw_shell_read_handler, NULL, NULL, sw); #if defined(Z_UNIX_ANDROID) && !defined(Z_HAVE_PTY_H) char s[100]; strcpy(s, "echo -n \"$HOSTNAME $PWD\\$ \"\n"); zserial_write(sw->zser, s, strlen(s)); #endif #ifdef Z_MSC_MINGW sprintf(oemcp, "CP%d", GetOEMCP()); sw->iconv = iconv_open("iso-8859-2", oemcp); #endif if (sw->type == SWT_SHELL){ sw_add_block(sw, VTEXT(T_NEW_WINDOWS_3)); } break; case SWT_QSOS: sw->title = g_strdup(VTEXT(T_SW_QSOS)); sw->kbd_func = sw_qsos_kbd_func; sw->mouse_func = sw_qsos_mouse_func; sw->redraw = sw_qsos_redraw; sw->check_bounds = sw_qsos_check_bounds; sw->allqsos = ctest ? ctest->qsoglob : 0; break; case SWT_LOG: sw->title = g_strdup(VTEXT(T_SW_LOG)); sw->kbd_func = sw_fifo_kbd_func; sw->mouse_func = sw_fifo_mouse_func; sw->redraw = sw_fifo_redraw; sw->check_bounds = sw_fifo_check_bounds; sw->fifo = glog; break; case SWT_TALK: sw->title = g_strdup(VTEXT(T_SW_TALK)); sw->kbd_func = sw_fifo_kbd_func; sw->mouse_func = sw_fifo_mouse_func; sw->redraw = sw_fifo_redraw; sw->check_bounds = sw_fifo_check_bounds; sw->fifo = gtalk; sw->il = g_new0(struct inputln,1); sw->il->enter = sw_talk_enter; sw->il->enterdata = sw; sw->il->allow_ctrlv = 1; break; case SWT_SKED: sw->title = g_strdup(VTEXT(T_SW_SKED)); sw->kbd_func = sw_sked_kbd_func; sw->mouse_func = sw_sked_mouse_func; sw->redraw = sw_sked_redraw; sw->check_bounds = sw_sked_check_bounds; sw->fifo = NULL; /* not used */ break; case SWT_UNFI: sw->title = g_strdup(VTEXT(T_SW_UNFI)); sw->kbd_func = sw_unfi_kbd_func; sw->mouse_func = sw_unfi_mouse_func; sw->redraw = sw_unfi_redraw; sw->check_bounds = sw_unfi_check_bounds; sw->fifo = NULL; /* filled in sw_unfi* */ break; case SWT_DXC: sw->title = g_strdup(VTEXT(T_SW_DXC)); sw->kbd_func = sw_dxc_kbd_func; sw->mouse_func = sw_dxc_mouse_func; sw->redraw = sw_dxc_redraw; sw->check_bounds = sw_dxc_check_bounds; sw->lines = g_ptr_array_new(); sw->il = g_new0(struct inputln, 1); sw->il->enter = sw_dxc_enter; sw->il->enterdata = sw; sw->il->allow_ctrlv = 1; sw->adns = zasyncdns_init(); { FILE *f; char s[1024]; /*int *a = NULL; *a = 0;*/ strcpy(s, "../src/_SPOTS"); z_wokna(s); f = fopen(s, "rt"); if (!f) f = fopen("_SPOTS", "rt"); if (f){ progress("Loading %s", s); while ((fgets(s, 1000, f)) != NULL){ sw_add_block(sw, s); } fclose(f); } } sw_add_line(sw, VTEXT(T_ENTER_TO_DXC2), 1); break; case SWT_STAT: sw->title = g_strdup(VTEXT(T_SW_STAT)); sw->kbd_func = sw_stat_kbd_func; sw->mouse_func = sw_stat_mouse_func; sw->redraw = sw_stat_redraw; sw->check_bounds = sw_stat_check_bounds; sw->raise = sw_stat_raise; sw->fifo = NULL; /* filled in sw_stat* */ break; case SWT_SWAP: /* sw = new_subwin(SWT_SWAP, VTEXT(T_SW_STAT), NULL);*/ break; case SWT_MAP: sw->title = g_strdup(VTEXT(T_SW_MAP)); sw->kbd_func = sw_map_kbd_func; sw->mouse_func = sw_map_mouse_func; sw->redraw = sw_map_redraw; sw->check_bounds = sw_map_check_bounds; sw->raise = sw_map_raise; //sw->acs->sw = sw; #ifdef Z_HAVE_SDL if (sdl){ sw->l1map = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); sw->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_INIT(sw->screen); sw->zoom = 10000; //sw->zoom = 1000; sw->gdirty = 1; map_update_layout(sw); map_update_qth(sw); } #endif break; case SWT_SCOPE: sw->title = g_strdup(VTEXT(T_SW_SCOPE)); sw->kbd_func = sw_scope_kbd_func; sw->mouse_func = sw_scope_mouse_func; sw->redraw = sw_scope_redraw; sw->check_bounds = sw_scope_check_bounds; sw->raise = sw_scope_raise; #ifdef Z_HAVE_SDL #ifdef USE_FFT sw->scope_mode = 3; #else sw->scope_mode = 0; #endif if (sdl){ sw->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_INIT(sw->screen); sw->gdirty = 1; #ifdef HAVE_LIBFFTW3 fft_resize(gfft, sw); #endif } #endif break; case SWT_QRV: sw->title = g_strdup(VTEXT(T_SW_QRV)); sw->kbd_func = sw_qrv_kbd_func; sw->mouse_func = sw_qrv_mouse_func; sw->redraw = sw_qrv_redraw; sw->check_bounds = sw_qrv_check_bounds; sw->raise = sw_qrv_raise; sw->cur = 0; break; case SWT_HF: sw->title = g_strdup(VTEXT(T_SW_HF)); sw->kbd_func = sw_hf_kbd_func; sw->mouse_func = sw_hf_mouse_func; sw->redraw = sw_hf_redraw; sw->check_bounds = sw_hf_check_bounds; sw->raise = sw_hf_raise; // sw->fifo = NULL; /* filled in sw_stat* */ sw->allqsos = 1; break; case SWT_PLAYER: sw->title = g_strdup(VTEXT(T_SW_PLAYER)); sw->kbd_func = sw_player_kbd_func; sw->mouse_func = sw_player_mouse_func; sw->redraw = sw_player_redraw; sw->check_bounds = sw_player_check_bounds; sw->raise = sw_player_raise; #ifdef Z_HAVE_SDL if (sdl && sw->h > PLAYER_H){ sw->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, (sw->h - PLAYER_H)*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_INIT(sw->screen); sw->gdirty = 1; } #endif break; case SWT_CHART: sw->title = g_strdup(VTEXT(T_SW_CHART)); sw->kbd_func = sw_chart_kbd_func; sw->mouse_func = sw_chart_mouse_func; sw->redraw = sw_chart_redraw; sw->check_bounds = sw_chart_check_bounds; sw->raise = sw_chart_raise; #ifdef Z_HAVE_SDL if (sdl && sw->h > CHART_H){ sw->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, (sw->h - CHART_H)*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_INIT(sw->screen); sw->gdirty = 1; } #endif sw->chbands = g_ptr_array_new(); sw_chart_recalc_extremes(sw, aband); break; case SWT_KST: sw->title = g_strdup(VTEXT(T_KST)); sw->kbd_func = sw_kst_kbd_func; sw->mouse_func = sw_kst_mouse_func; sw->redraw = sw_kst_redraw; sw->check_bounds = sw_kst_check_bounds; sw->raise = sw_kst_raise; sw->lines = g_ptr_array_new(); sw->il = g_new0(struct inputln, 1); sw->il->enter = sw_kst_enter; sw->il->enterdata = sw; sw->il->allow_ctrlv = 1; sw->adns = zasyncdns_init(); sw->timer_id = 0; sw->kstusers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); // 2x #ifdef Z_HAVE_SDL sw->zoom = 10000; map_update_qth(sw); #endif sw->first_shus = 1; { FILE *f; char s[1024]; /*int *a = NULL; *a = 0;*/ strcpy(s, "../src/_KST"); z_wokna(s); f = fopen(s, "rt"); if (!f) f = fopen("_KST", "rt"); if (f){ int w = sw->w; progress(VTEXT(T_LOADING_S), s); if (gacs) sw->w -= KSTQRVW2; else sw->w -= KSTQRVW1; while ((fgets(s, 1000, f)) != NULL){ sw_add_block(sw, s); } fclose(f); sw->w = w; } } sw_add_line(sw, VTEXT(T_ENTER_TO_KST), 1); gettimeofday(&sw->kst_latest_data, NULL); break; case SWT_SDR: sw->title = g_strdup(VTEXT(T_SDR)); #ifdef USE_SDR sw->kbd_func = sw_sdr_kbd_func; sw->mouse_func = sw_sdr_mouse_func; sw->redraw = sw_sdr_redraw; sw->check_bounds = sw_sdr_check_bounds; sw->raise = sw_sdr_raise; #ifdef Z_HAVE_SDL if (sdl){ sw->buttons = g_ptr_array_new(); sw->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_INIT(sw->screen); sw->gdirty = 1; sdr_resize(gsdr, sw); } #endif #endif break; default: log_addf(VTEXT(T_INVALID_WINDOW_TYPE), sw->type); g_free(sw); return NULL; } sw->high = g_ptr_array_new(); g_ptr_array_add(sw->high, g_strdup("<\\*[0-9a-zA-Z\\-]+\\*>")); if (sw->il){ struct event ev = {EV_INIT, 0,0,0}; sw->il->term = term; sw->il->sw = sw; inputln_func(sw->il, &ev); sw->il->x = sw->x; sw->il->y = sw->y + sw->h - 1; sw->il->l = sw->w; sw->h--; } if (sw->check_bounds) sw->check_bounds(sw); if (where_ >= 0){ g_ptr_array_index(gses->subwins, where_) = sw; sw_set_ontop(where_, 0); }else{ g_ptr_array_add(gses->subwins, sw); sw_set_ontop(gses->subwins->len - 1, 0); } return sw; } void free_subwins(){ int i; for (i=gses->subwins->len-1;i>=0;i--){ struct subwin *sw; sw=(struct subwin *)g_ptr_array_index(gses->subwins, i); g_ptr_array_remove(gses->subwins, sw); free_subwin(sw); } g_ptr_array_free(gses->subwins, TRUE); } void free_subwin(struct subwin *sw){ if (sw->timer_id) zselect_timer_kill(zsel, sw->timer_id); if (sw->high) zg_ptr_array_free_all(sw->high); if (sw->title) g_free(sw->title); if (sw->lines) zg_ptr_array_free_all(sw->lines); sw_shell_kill(sw); if (sw->iconv) iconv_close(sw->iconv); if (sw->sock >= 0){ zselect_set(zsel, sw->sock, NULL, NULL, NULL, NULL); closesocket(sw->sock); } #ifdef Z_HAVE_SDL if (sw->l1map) SDL_FreeSurface(sw->l1map); //if (sw->l2rot) SDL_FreeSurface(sw->l2rot); if (sw->screen) SDL_FreeSurface(sw->screen); MUTEX_FREE(sw->screen); zg_free0(sw->pwwlo); #ifdef HAVE_SNDFILE sw_player_free(sw); #endif sw_chart_free(sw); if (sw->chart) zchart_free(sw->chart); #endif if (sw->il) g_free(sw->il); if (sw->adns) zasyncdns_free(sw->adns); if (sw->kstusers) g_hash_table_remove_all(sw->kstusers); g_free(sw->acunder); g_free(sw->callunder); g_free(sw->refunder); zg_ptr_array_free_all(sw->callsunder); g_free(sw->pattern); g_free(sw->player_filename); g_free(sw); } struct subwin *sw_raise_or_new(enum sw_type type){ struct subwin *swnew; struct event ev = { EV_INIT, 0, 0, 0, 0, 0}; { zg_ptr_array_foreach(struct subwin *, sw, gses->subwins) { if (sw->type != type) continue; sw_set_ontop(sw_i, 0); return sw; } } swnew = new_subwin(type, -1); if (!swnew) return NULL; sw_default_func(swnew, &ev, 0); il_unset_focus(INPUTLN(aband)); sw_set_focus(); return swnew; } // in-place replace & -> & static void htmlchars(char *str){ char *s = str; while (1){ char *c = strchr(s, '&'); if (c == NULL) return; if (strncasecmp(c + 1, "amp;", 4) == 0){ memmove(c + 1, c + 5, strlen(c) - 4); } s++; } } int sw_add_line(struct subwin *sw, gchar *line, int eol){ int len, a, ret; gchar *c, *last, *str, fill[10]; GString *gs; // dbg("add_line '%s' %d \n", line, eol); len = strlen(line); if (len>0 && line[len-1]=='\r') line[len-1]='\0'; if (sw->eol || sw->lines->len==0){ if (sw->offset > 0 && sw->offset < sw->maxlen-sw->h) { sw->offset++; } g_ptr_array_add(sw->lines, g_strdup(line)); str = (gchar *)g_ptr_array_index(sw->lines, sw->lines->len - 1); } else{ last = (gchar *)g_ptr_array_index(sw->lines, sw->lines->len - 1); str = g_strconcat( last, line, NULL); g_free(last); } if (sw->type == SWT_KST){ htmlchars(str); } if (eol){ ret = dxc_read_spot(str); if (ret != 1) sw->unread = 1; if (ret >= 0 && !sw->dxc_from_net){ char *d=g_strconcat("DX ",str,"\n",NULL); rel_write_all(d); g_free(d); } if (ret > 0){ // not qrv band, filtering g_ptr_array_remove_index(sw->lines, sw->lines->len - 1); g_free(str); sw->eol = 1; if (sw->offset > 0) sw->offset--; return 1; } qrv_read_line(str); if (kst_read_line(sw, str) > 0){ // filtering /sh us output g_ptr_array_remove_index(sw->lines, sw->lines->len - 1); g_free(str); sw->eol = 1; if (sw->offset > 0) sw->offset--; return 1; } } c = strchr(str, '\t'); if (c){ gs = g_string_new(str); c = strchr(gs->str, '\t'); while (c){ a = c - gs->str; strcpy(fill, " "); fill[8-(a%8)]='\0'; g_string_erase(gs, a, 1); g_string_insert(gs, a, fill); c = strchr(gs->str, '\t'); } g_free(str); str = g_strdup(gs->str); g_string_free(gs, 1); } g_ptr_array_index(sw->lines, sw->lines->len - 1) = str; sw->eol = eol; if (eol) { /*dbg("complete line: '%s'\n", str);*/ char *x, *z; if (sw->type == SWT_KST && strlen(str) > sw->w && (x = strchr(str, '>')) != NULL && x - str < sw->w - 20){ GString *remains; z = strchr(x, ')'); // take target call if (z != NULL){ if (z - x < 17) x = z; } remains = g_string_new(""); g_string_append_len(remains, str, x - str + 1); g_string_append(remains, "..."); g_string_append(remains, str + sw->w); str[sw->w] = '\0'; sw_add_line(sw, remains->str, 1); g_string_free(remains, TRUE); } } return 0; } int sw_add_block(struct subwin *sw, gchar *data){ gchar *c, *d, *s; /*dbg("add_block '%s'\n", data);*/ c = s = data; while (c != NULL && strlen(s)>0){ c = strchr(s, '\n'); if (c) { d = g_strndup(s, c-s); sw_add_line(sw, d, 1); g_free(d); s = c+1; }else{ sw_add_line(sw, s, 0); } } sw_check_len(sw); redraw_later(); return 0; } int sw_printf(struct subwin *sw, const char *m, ...){ va_list l; char *c; int ret; va_start(l, m); c = g_strdup_vprintf(m, l); ret = sw_add_block(sw, c); g_free(c); va_end(l); return ret; } int sw_default_func(struct subwin *sw, struct event *ev, int fw){ //dbg("sw_default_func %p,[%d,%d,%d,%d],%d)\n",sw,ev->ev,ev->x,ev->y ,ev->b,fw); //dbg(" term %dx%d \n",term->x, term->y); switch(ev->ev){ case EV_ABORT: if (zselect_profiling(zsel)) zselect_hint(zsel, "sw_default_func EV_ABORT %s", sw->title); if (sw->il) inputln_func(sw->il,ev); sw_shell_kill(sw); break; case EV_INIT: if (zselect_profiling(zsel)) zselect_hint(zsel, "sw_default_func EV_INIT %s", sw->title); // break; case EV_RESIZE: if (zselect_profiling(zsel)) zselect_hint(zsel, "sw_default_func EV_RESIZE %s", sw->title); if (cfg->splitheight > 0){ if (sw == gses->ontop && sw == gses->ontop2){ sw->y = gses->y1; sw->h = MIN(gses->height1, gses->height2); }else if (sw == gses->ontop2){ sw->y = gses->y2; sw->h = gses->height2; }else if (sw == gses->ontop){ sw->y = gses->y1; sw->h = gses->height1; } }else{ sw->y = gses->y1; sw->h = gses->height1; } sw->w = term->x - 2; sw->ww = sw->w; sw->hh = sw->h; //dbg("sw_default_func(EV_RESIZE, '%s') y=%d h=%d\n", sw->title, sw->y, sw->h); /*dbg("sw_default_func: title=%s term->y=%d sw->h=%d\n", sw->title, term->y, sw->h); */ #ifdef Z_UNIX if (sw->write_fd>=0 && sw->write_fd==sw->read_fd && (sw->ws.ws_col != sw->w || sw->ws.ws_row != sw->h- 1)){ sw->ws.ws_col = sw->w; sw->ws.ws_row = sw->h - 1; ioctl(sw->write_fd, TIOCSWINSZ, (char*)&sw->ws); } #endif if (sw->type == SWT_DXC){ if (sw->w >= BANDMAPMINW){ sw->w -= BANDMAPW; } } if (sw->type == SWT_KST){ if (gacs) sw->w -= KSTQRVW2; else sw->w -= KSTQRVW1; } if (sw->il) sw->h--; #ifdef Z_HAVE_SDL if (sw->screen){ int h; MUTEX_LOCK(sw->screen); SDL_FreeSurface(sw->l1map); // SDL_FreeSurface(sw->l2rot); SDL_FreeSurface(sw->screen); h = sw->h*FONT_H; if (sw->type == SWT_PLAYER) h = (sw->h - PLAYER_H) * FONT_H; sw->l1map = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, h, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); sw->screen = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); switch(sw->type){ case SWT_MAP: map_update_layout(sw); sw->gdirty=1; break; case SWT_SCOPE: #ifdef USE_FFT fft_resize(gfft, sw); #endif break; case SWT_PLAYER: break; case SWT_SDR: #ifdef HAVE_LIBFFTW3 sdr_resize(gsdr, sw); #endif break; default: break; } MUTEX_UNLOCK(sw->screen); } #endif case EV_REDRAW: if (zselect_profiling(zsel)) zselect_hint(zsel, "sw_default_func EV_REDRAW %s", sw->title); if (sw->redraw) sw->redraw(sw, aband, 0); if (sw->il) { inputln_func(sw->il,ev); } break; case EV_KBD: if (zselect_profiling(zsel)) zselect_hint(zsel, "sw_default_func EV_KBD %s", sw->title); if (sw->kbd_func && sw->kbd_func(sw, ev, fw)) return 1; break; case EV_MOUSE: if (zselect_profiling(zsel)) zselect_hint(zsel, "sw_default_func EV_MOUSE %s", sw->title); #if 0 dbg("sw_default_func EV_MOUSE %4d %4d ", ev->x, ev->y); if ((ev->b & BM_EBUTT) == B_LEFT) dbg(" LEFT"); if ((ev->b & BM_EBUTT) == B_MIDDLE) dbg(" MIDDLE"); if ((ev->b & BM_EBUTT) == B_RIGHT) dbg(" RIGHT"); if ((ev->b & BM_EBUTT) == B_WHUP) dbg(" WHUP"); if ((ev->b & BM_EBUTT) == B_WHDOWN) dbg(" WHDOWN"); if (ev->b & B_UP) dbg(" UP"); if (ev->b & B_DRAG) dbg(" DRAG"); if (ev->b & B_MOVE) dbg(" MOVE"); if (ev->b & B_CLICK) dbg(" CLICK"); dbg("\n"); #endif //if (ev->b & B_MOVE) return 1; if ((ev->b & (B_MOVE | B_CLICK | B_DRAG)) ==0){ if (!gses->focused){ sw_set_focus(); il_unset_focus(INPUTLN(aband)); redraw_later(); } } if (sw->mouse_func && sw->mouse_func(sw, ev, fw)) return 1; break; default: error("ERROR: unknown event"); } return 0; } /* for init,abort & resize */ int sw_all_func(struct event *ev, int fw){ struct subwin *sw; int i; for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index( gses->subwins, i); sw_default_func(sw, ev, 1); } return 0; } /* returns 1 if event was handled */ int sw_focus_func(struct event *ev, int fw){ struct subwin *sw; int i; if (!gses->focused) return 0; for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index(gses->subwins, i); if (!sw->focused) continue; if (cfg->splitheight > 0 && sw->ontop2){ return sw_default_func(sw, ev, 1); } if (sw->ontop ){ return sw_default_func(sw, ev, 1); } } return 0; } int sw_ontop_func(struct event *ev, int fw){ //struct subwin *sw; int ret; // dbg("sw_ontop_func(ev=%d)\n", ev->ev); if (cfg->splitheight > 0){ gses->ontop2->y = gses->y2; ret = sw_default_func(gses->ontop2, ev, 1); gses->ontop->y = gses->y1; ret |= sw_default_func(gses->ontop, ev, 1); }else{ ret = sw_default_func(gses->ontop, ev, 1); } /*for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index(gses->subwins, i); if (cfg->splitheight > 0 && sw->ontop2){ sw_default_func(sw, ev, 1); } if (sw->ontop){ return sw_default_func(sw, ev, 1); } } */ return ret; } struct subwin *find_sw_ontop(){ struct subwin *sw; int i; for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index( gses->subwins, i); if (sw->ontop) return sw; } return NULL; } void sw_set_focus(){ struct subwin *sw; //dbg("sw_set_focus()\n"); sw = gses->ontop; il_set_focus(sw->il); gses->focused = 1; /*if (gses->ontop->type == SWT_QSOS && aband){ gses->ontop->cur = QSOS_LEN; } */ if (gses->ontop->check_bounds) gses->ontop->check_bounds(gses->ontop); } void sw_unset_focus(){ //dbg("sw_unset_focus()\n"); il_unset_focus(gses->ontop->il); if (gses->ontop->type != SWT_QRV){ gses->ontop->cur = 0; } #ifdef Z_HAVE_SDL if (gses->ontop->type == SWT_KST){ kst_free_screen(gses->ontop); } #endif gses->focused = 0; fill_lastarea(gses->ontop->x - 1, gses->ontop->y - 1, gses->ontop->ww + 2, gses->ontop->hh + 2, 0); if (gses->ontop->type != SWT_STAT){ gses->ontop->offset = 0; } } struct subwin *sw_set_ontop(int n, int set2){ struct subwin *sw, *swret; int i; //struct event ev = { EV_RESIZE, 0, 0, 0, 0, 0}; swret=NULL; if (n<0 || n>=gses->subwins->len) return swret; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); if (i==n){ if (set2){ sw->ontop2 = 1; gses->ontop2 = sw; }else{ sw->ontop = 1; gses->ontop = sw; } sw->focused = 1; sw->unread = 0; if (sw->il) il_set_focus(sw->il); swret = sw; // sw_default_func(sw, &ev, 1); makes problems with scope - fft history is lost if (sw->raise) sw->raise(sw); // if (sw->raise) is correct #ifdef HAVE_SNDFILE if (gssbd) gssbd->swontoptype = sw->type; #endif }else{ if (set2) sw->ontop2 = 0; else sw->ontop = 0; sw->focused = 0; } } return swret; } struct subwin *sw_totop_next(int n, int set2){ struct subwin *sw,*ontop; int i; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); ontop = set2 ? gses->ontop2 : gses->ontop; if (sw == ontop) break; } n+=i; if (n<0) n = gses->subwins->len-1; if (n>gses->subwins->len-1) n=0; return sw_set_ontop(n, set2); } void draw_titles(int y, int ontop2){ struct subwin *sw; gchar *c; int i, x, max, ontop; /*dbg("draw_titles\n");*/ sw = (struct subwin *)g_ptr_array_index( gses->subwins, 0); if (!sw) return; /* first try */ x=sw->x+1; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); c=g_strdup_printf("[%i:%s]", i+1, sw->title); sw->titl1=x; x+=strlen(c)+1; sw->titl2=x-2; g_free(c); } if (x-3 < sw->w) goto draw; /* second try */ x=sw->x; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); c=g_strdup_printf("[%i:%s]", i+1, sw->title); sw->titl1=x; x+=strlen(c); sw->titl2=x-2; g_free(c); } if (x-2 < sw->w) goto draw; /* third try */ x=sw->x; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); c=g_strdup_printf("%i:%s", i+1, sw->title); sw->titl1=x; x+=strlen(c)+1; sw->titl2=x-2; g_free(c); } if (x-3 < sw->w) goto draw; /* if (x+strlen(c)>=sw->w+1) max=sw-w-x+1; else max=-1; print_text(x,sw->y-1,max,c,col_active); }else{ c=g_strdup_printf(" %i:%s ", i+1, sw->title); if (x+strlen(c)>=sw->w+1) max=sw->w-x+1; else max=-1; print_text(x,sw->y-1,max,c,sw->unread?COL_YELLOW:col_passive); } } */ draw:; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); ontop = ontop2 ? sw->ontop2 : sw->ontop; if (ontop) continue; c=g_strdup_printf(" %i:%s ", i+1, sw->title); if (sw->titl1 + strlen(c) >= sw->w + 1) max=sw->w-sw->titl1+1; else max=-1; print_text(sw->titl1,y,max,c,sw->unread?COL_YELLOW:COL_NORM); g_free(c); } for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); ontop = ontop2 ? sw->ontop2 : sw->ontop; if (!ontop) continue; c=g_strdup_printf("[%i:%s]", i+1, sw->title); if (sw->titl1 + strlen(c) >= sw->w + 1) max=sw->w-sw->titl1+1; else max=-1; print_text(sw->titl1,y,max,c,COL_INV); g_free(c); } } void sw_default_redraw(struct subwin *sw, int flags){ draw_frame(sw->x,sw->y,sw->w,sw->h-1,COL_NORM,1); draw_frame(sw->x+1,sw->y+1,sw->w-2,sw->h-3,COL_NORM,1); } void sw_check_len(struct subwin *sw){ gpointer p; int count,i; count = sw->lines->len - sw->maxlen; if (count>0){ for (i=0; ilines, 0); /*dbg("scl: %d:%p = '%s'\n",i, p, p); */ g_free(p); g_ptr_array_remove_index(sw->lines, 0); } } } void sw_set_unread(struct fifo *fifo){ struct subwin *sw; int i; if (!gses) return; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); /* dbg(" %p",sw->fifo);*/ if (sw->type == SWT_LOG) continue; /* don't highlight fifo */ if (fifo != sw->fifo) continue; if (!sw->ontop && !sw->unread) { sw->unread=1; redraw_later(); } } } void sw_unset_unread(struct fifo *fifo){ struct subwin *sw; int i; if (!gses || !gses->subwins) return; for (i=0; isubwins->len; i++){ sw = (struct subwin *)g_ptr_array_index( gses->subwins, i); /* dbg(" %p",sw->fifo);*/ if (sw->type == SWT_LOG) continue; /* don't highlight fifo */ if (fifo != sw->fifo) continue; if (sw->unread) { sw->unread=0; redraw_later(); } } } /*#define sw_highlight(text, ho, needle, color){\ gchar *cc, *d, *fd; \ int rx, fx, fl; \ \ if ((needle) && strlen(needle)>=2){ \ cc=(text); \ while ((d=z_strcasestr((cc), (needle)))!=NULL){ \ fl=MIN(sw->w-(d-(text))+(ho) , strlen(needle)); \ fx=rx=d-(text)-(ho); \ fd=d; \ if (rx<0) { \ fl+=rx; \ fx=0; \ fd=d-rx; \ } \ if (fl>0) print_text(sw->x+fx, sw->y+i, fl, fd, (color)); \ cc=d+strlen(needle); \ } \ }\ } */ struct config_subwin *get_config_sw_by_number(GPtrArray *sws, int nr){ struct config_subwin *csw; int i; for (i=0; ilen; i++){ csw = (struct config_subwin *)g_ptr_array_index(sws, i); if (csw->nr==nr) return csw; } return NULL; } /********************** QSOS ****************************************/ /* only EV_KBD */ int sw_qsos_kbd_func(struct subwin *sw, struct event *ev, int fw){ /*dbg("sw_qsos_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b);*/ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_DOWN: sw->cur++; sw_qsos_check_bounds(sw); redraw_later(); return 1; case ACT_UP: sw->cur--; sw_qsos_check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_DOWN: sw->cur += sw->h - 1;; sw_qsos_check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_UP: sw->cur -= sw->h - 1;; sw_qsos_check_bounds(sw); redraw_later(); return 1; case ACT_HOME: sw->cur = 1; sw_qsos_check_bounds(sw); redraw_later(); return 1; case ACT_END: if (!aband) return 1; sw->cur = QSOS_LEN; sw_qsos_check_bounds(sw); redraw_later(); return 1; case ACT_ENTER: if (!aband) return 1; sw_qsos_check_bounds(sw); if (aband->readonly) { errbox(VTEXT(T_BAND_RO), 0); return 1; } if (sw->cur==0) break; edit_qso(get_gqso(aband, sw, sw->cur-1)); return 1; case ACT_PLAY_LAST: if (!aband) return 1; #ifdef HAVE_SNDFILE ssbd_play_last_sample(gssbd, get_gqso(aband, sw, sw->cur-1)); #endif break; case ACT_SKED: if (!aband) return 0; if (sw->cur==0) break; sked_from_qso(get_gqso(aband, sw, sw->cur-1)); return 1; case ACT_SCROLL_LEFT: if (sw->ho>0) sw->ho--; redraw_later(); return 1; case ACT_SCROLL_RIGHT: if (sw->ho<73) sw->ho++; redraw_later(); return 1; case ACT_CALLINFO: if (sw->cur==0) break; call_info(get_gqso(aband, sw, sw->cur-1)); return 1; } switch (ev->x){ case 'A': case 'a': if (ev->y == 0){ sw->allqsos = !sw->allqsos; sw_qsos_check_bounds(sw); redraw_later(); } break; } return 0; } int sw_qsos_mouse_func(struct subwin *sw, struct event *ev, int fw){ int y0; if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (ev->b & B_DRAG){ int dy = sw_accel_dy(sw, ev); if (dy != 0) { if (cfg->usetouch) dy = -dy; sw->cur += dy; sw_qsos_check_bounds(sw); redraw_later(); } sw->olddragx = ev->x; return 1; } /*dbg("sw_qsos_mouse_func\n");*/ /* if ((ev->b & BM_ACT)!=B_DOWN) return 0; */ switch (ev->b & (BM_EBUTT | B_CLICK | B_MOVE)){ case B_LEFT: sw->olddragx = ev->x; sw->olddragy = ev->my; return 1; case B_LEFT | B_CLICK: if (!aband) return 1; y0=0; if (QSOS_LEN+1 <= sw->h) y0 = sw->h - (QSOS_LEN+1) + 1; sw->cur = QSOS_LEN + 1 - sw->h + ev->y - sw->y - sw->offset + y0; sw_qsos_check_bounds(sw); redraw_later(); if (cfg->usetouch){ if (aband->readonly) { errbox(VTEXT(T_BAND_RO), 0); return 1; } if (sw->cur==0) break; edit_qso(get_gqso(aband, sw, sw->cur-1)); } return 1; case B_MIDDLE: /* dbg("middle\n");*/ break; case B_RIGHT: /*dbg("right\n");*/ break; case B_WHUP: /*dbg("wheel up\n");*/ sw->cur-=3; sw_qsos_check_bounds(sw); redraw_later(); return 1; case B_WHDOWN: /*dbg("wheel down\n");*/ sw->cur+=3; sw_qsos_check_bounds(sw); redraw_later(); return 1; } return 0; } int show_qs(){ /* gses->qs is locked */ if (gses->ontop && gses->ontop->type == SWT_HF) return 0; if (aband){ if (( aband->qs->len>0 || aband->oqs->len>0 || gses->qs->len>0 ) && aband->il->focused ) return 1; }else{ /*if (gses->qs->len>0) return 1; */ if (gses->qs->len>0 && INPUTLN(aband)->focused) return 1; } return 0; } void sw_qs_redraw(){ /* gses->qs is locked */ int i, max0, max1, max2; gchar *c; struct subwin *sw=NULL; for (i=0;isubwins->len;i++){ sw=(struct subwin *)g_ptr_array_index(gses->subwins,i); if (sw->type!=SWT_QSOS) continue; break; } if (i==gses->subwins->len) return; max0=27; if (term->x-3x-3; if (max0<0) max0=0; max1=27; if (term->x-32x-32; if (max1<0) max1=0; max2=53; if (term->x-62x-62; if (max2<0) max2=0; for (i=0;ih;i++){ set_char(29, sw->y+i, 0x8000|COL_NORM|179); set_char(58, sw->y+i, 0x8000|COL_NORM|179); if (i==sw->h-1) { if (ctest) print_text(sw->x+ 1+3 ,sw->y+i,-1,VTEXT(T_THIS_BAND),COL_NORM); else print_text(sw->x+ 1+3 ,sw->y+i,-1,VTEXT(T_CW_DB),COL_NORM); if (ctest && ctest->bands->len>1) print_text(sw->x+30+3 ,sw->y+i,-1,VTEXT(T_OTHER_BANDS),COL_NORM); else print_text(sw->x+30+3 ,sw->y+i,-1,VTEXT(T_CW_DB),COL_NORM); print_text(sw->x+60+3 ,sw->y+i,-1,VTEXT(T_CW_DB),COL_NORM); continue; } if (ctest){ if (iqs->len){ c = (gchar *)g_ptr_array_index(aband->qs, i); print_text(sw->x+1 ,sw->y+i,max0,c,COL_NORM); } if (ctest->bands->len>1){ if (ioqs->len){ c = (gchar *)g_ptr_array_index(aband->oqs, i); print_text(sw->x+30 ,sw->y+i,max1,c,COL_NORM); } if (iqs->len){ c = (gchar *)g_ptr_array_index(gses->qs, i); print_text(sw->x+60,sw->y+i,max2,c,COL_NORM); } }else{ if (iqs->len){ c = (gchar *)g_ptr_array_index(gses->qs, i); print_text(sw->x+30,sw->y+i,max1,c,COL_NORM); } if (i+sw->h-1 < gses->qs->len){ c = (gchar *)g_ptr_array_index(gses->qs, i + sw->h-1 ); print_text(sw->x+60,sw->y+i,max2,c,COL_NORM); } } }else{ if (iqs->len){ c = (gchar *)g_ptr_array_index(gses->qs, i); print_text(sw->x+1,sw->y+i,max0,c,COL_NORM); } if (i+sw->h-1 < gses->qs->len){ c = (gchar *)g_ptr_array_index(gses->qs, i + sw->h-1 ); print_text(sw->x+30,sw->y+i,max1,c,COL_NORM); } if (i+2*(sw->h-1) < gses->qs->len){ c = (gchar *)g_ptr_array_index(gses->qs, i + 2*(sw->h-1) ); print_text(sw->x+59 ,sw->y+i,max2,c,COL_NORM); } } } } void sw_qsos_redraw(struct subwin *sw, struct band *band, int flags){ int i, index, y0, len; struct qso *q; gchar *c; char dtime[6]; /*dbg("term->x=%d max0=%d max1=%d max2=%d \n", term->x, max0, max1, max2);*/ MUTEX_LOCK(gses->qs); if (show_qs()){ sw_qs_redraw(); MUTEX_UNLOCK(gses->qs); return; } MUTEX_UNLOCK(gses->qs); if (!aband) return; y0=0; if (QSOS_LEN+1 <= sw->h) y0 = sw->h - (QSOS_LEN+1) + 1; for (i=0;ih;i++){ char dateband[16]; char call[50]; char new_[10]; char qsop[15]; char suspcall, susploc,unkcall; char qtf[15]; char exc[10]; index = QSOS_LEN+1-sw->h + i - sw->offset; if (index < 1) { print_text(sw->x,sw->y+i-y0+sw->h,-1," ~",COL_NORM); continue; } q = get_gqso(aband, sw, index-1); strcpy(call,q->callsign); if (q->error) { if (q->callsign && strcmp(q->callsign, "ERROR")!=0){ sprintf(call, "ERROR %s", q->callsign); z_str_lc(call+5); }else strcpy(call, "ERROR"); } call[12]='\0'; strcpy(new_, ""); if (ctest->wwlused && (q->new_ & NEW_WWL)) strcat(new_, "w"); if ( q->new_ & NEW_DXC ) strcat(new_, "d"); if (ctest->exctype>0 && (q->new_ & NEW_EXC)) strcat(new_, "e"); if (q->new_ & NEW_PREF) strcat(new_, "p"); if (q->qsl) strcat(new_, "q"); if (q->remark && strlen(q->remark)>0) strcat(new_, "r"); if (q->new_ & NEW_PHASE) strcat(new_, "h"); if (!q->dupe) sprintf(qsop,"%6d", q->qsop); else strcpy(qsop, "DUPE"); dtime[0]=q->time_str[0]; dtime[1]=q->time_str[1]; dtime[2]=':'; dtime[3]=q->time_str[2]; dtime[4]=q->time_str[3]; dtime[5]='\0'; switch(q->suspcall1){ case SUSP_QRB: suspcall='>'; break; case SUSP_REM: suspcall='r'; break; case SUSP_WARN: suspcall='?'; break; case SUSP_ERR: suspcall='!'; break; default: suspcall=' '; break; } if (q->susploc==1) susploc='?'; else if (q->susploc==2) susploc='!'; else susploc=' '; if (q->unkcall) unkcall=VTEXT(T_HK_NEW_CALL)[0]; else unkcall=' '; sprintf(qtf,"%3d", q->qtf); #if defined(Z_HAVE_SDL) && !defined(Z_ANDROID) // if (sdl) strcat(qtf, "°"); if (sdl) strcat(qtf, "\xb0"); #endif safe_strncpy0(exc, q->exc, 5); g_snprintf(dateband, sizeof(dateband), " %8s", q->date_str); len = strlen(q->band->bandname); if (sw->allqsos && len>0){ memcpy(dateband, " ", 10); // if (len>4) len=4; memcpy(dateband+2, q->band->bandname, Z_MIN(len, 8)); // dbg("bandname='%s'\n", q->band->bandname); } char qrgstr[50]; if (q->qrg > 0){ z_qrg_format(qrgstr, 30, q->qrg); strcat(qrgstr, " "); }else{ strcpy(qrgstr, ""); } c=g_strdup_printf("%10s %5s %-12s%c%5s%4s%5s%4s %-4s %-6s %c%c%6s %-4s%-5s %-7s %s%s", dateband, dtime, call, suspcall, q->rsts, q->qsonrs, q->rstr, q->qsonrr, exc, q->locator, susploc, unkcall, qsop, *q->locator?qtf:"", new_, q->operator_, qrgstr, q->remark); if (index==sw->cur && !cfg->usetouch) fill_area(sw->x, sw->y+i-y0, sw->w, 1, COL_INV); if (strlen(c)>sw->ho) print_text(sw->x,sw->y+i-y0,sw->w,c+sw->ho, index==sw->cur && !cfg->usetouch? COL_INV : COL_NORM); g_free(c); } /*dbg("\n");*/ } void sw_qsos_check_bounds(struct subwin *sw){ int len; if (!aband) return; /*dbg("sw_qsos_check_bounds cur=%d, offset=%d ", sw->cur, sw->offset);*/ len = QSOS_LEN; if (sw->cur < 1 ){ sw->cur = 1; if (sw->cur <= len) sw_shake(sw, 1); } if (sw->cur > len) { sw->cur = len; if (len > 0) sw_shake(sw, 0); } if (sw->cur > len - sw->offset - 1){ sw->offset = len - sw->cur; } if (sw->cur < len - sw->h + 1 - sw->offset){ sw->offset = len - sw->h - sw->cur + 1; } if (sw->offset < 0) sw->offset=0; /* dbg(" ---> cur=%d, offset=%d\n", sw->cur, sw->offset);*/ } /************************ FIFO *******************************/ /* only EV_KBD */ int sw_fifo_kbd_func(struct subwin *sw, struct event *ev, int fw){ /*dbg("sw_fifo_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b);*/ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (sw->il && ( sw->il->wasctrlv || (ev->x!='[' && ev->x!=']') )){ if (inputln_func(sw->il, ev)) return 1; } switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_DOWN: dbg("DOWN: ofs pred=%d\n", sw->offset); sw->offset--; sw->check_bounds(sw); dbg("DOWN: ofs pote=%d\n", sw->offset); redraw_later(); return 1; case ACT_UP: dbg("UP: ofs pred=%d\n", sw->offset); sw->offset++; sw->check_bounds(sw); dbg("UP: ofs pote=%d\n", sw->offset); redraw_later(); return 1; case ACT_PAGE_DOWN: sw->offset -= sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_PAGE_UP: sw->offset += sw->h - 1;; sw->check_bounds(sw); redraw_later(); return 1; case ACT_HOME: sw->offset = fifo_len(sw->fifo) - sw->h; sw->check_bounds(sw); redraw_later(); return 1; case ACT_END: sw->offset = 0; sw->check_bounds(sw); redraw_later(); return 1; /* case ACT_SCROLL_LEFT: if (sw->fifo->ho>0) sw->fifo->ho--; redraw_later(); return 1; case ACT_SCROLL_RIGHT: sw->fifo->ho++; redraw_later(); return 1;*/ case ACT_SCROLL_LEFT: if (sw->fifo) if (sw->fifo->ho>0) sw->fifo->ho--; if (sw->lines) if (sw->ho>0) sw->ho--; redraw_later(); return 1; case ACT_SCROLL_RIGHT: if (sw->fifo) sw->fifo->ho++; if (sw->lines) sw->ho++; redraw_later(); return 1; case ACT_ENTER: sw->fifo->withouttime = 1; fifo_adds(sw->fifo, ""); sw->fifo->withouttime = 0; return 1; } return 0; } int sw_fifo_mouse_func(struct subwin *sw, struct event *ev, int fw){ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (ev->b & B_DRAG){ int dx = ev->x - sw->olddragx; int dy = sw_accel_dy(sw, ev); //dbg("dx=%d dy=%d sw->ho=%d\n", dx, dy, sw->ho); #ifdef Z_HAVE_SDL if (abs(dx * FONT_W) > abs(dy)){ if (sw->fifo) { sw->fifo->ho -= dx; if (sw->fifo->ho < 0) sw->fifo->ho = 0; } if (sw->lines){ sw->ho -= dx; if (sw->ho < 0) sw->ho = 0; } }else{ sw->offset += dy; } #endif sw->olddragx = ev->x; sw->check_bounds(sw); redraw_later(); return 1; } //if ((ev->b & BM_ACT)!=B_DOWN) return 0; switch (ev->b & (BM_EBUTT | B_CLICK | B_MOVE)){ case B_LEFT: sw->olddragx = ev->x; sw->olddragy = ev->my; return 1; case B_LEFT | B_CLICK: //dbg("x il=%p\n",sw->il); if (!sw->il) break; /* dbg("y=%d sw->y=%d sw->hh=%d sw->h=%d\n", ev->y, sw->y, sw->hh, sw->h);*/ if (ev->y==sw->y+sw->h) inputln_func(sw->il, ev); return 1; case B_MIDDLE: //dbg("middle\n"); break; case B_RIGHT: // dbg("right\n"); break; case B_WHUP: //dbg("wheel up\n"); sw->offset+=3; sw->check_bounds(sw); redraw_later(); return 1; case B_WHDOWN: // dbg("wheel down\n"); sw->offset-=3; sw->check_bounds(sw); redraw_later(); return 1; } return 0; } void sw_fifo_redraw(struct subwin *sw, struct band *band, int flags){ int i, index; gchar *c, *suff; /*dbg("sw_log_redraw log->len=%d sw->h=%d sw->offset=%d \n", fifo_len(sw->fifo), sw->h, sw->offset);*/ for (i=0;ih; i++){ index = fifo_len(sw->fifo) - sw->offset - sw->h+i; if (index<0 || index>=fifo_len(sw->fifo)) c = "~"; else c = fifo_index(sw->fifo, index); if (c && strlen(c)>sw->fifo->ho) { print_text(sw->x, sw->y+i, sw->w, c+sw->fifo->ho, COL_NORM); if (!aband) continue; sw_highlight(sw, c, ctest->pcall, COL_YELLOW, i, 1); if (strlen(ctest->pcall)>=2){ suff=z_suffix(ctest->pcall); sw_highlight(sw, c, suff, COL_YELLOW, i, 1); } sw_highlight(sw, c, aband->operator_, COL_YELLOW, i, 1); if (strlen(aband->operator_)>=2){ suff=z_suffix(aband->operator_); sw_highlight(sw, c, suff, COL_YELLOW, i, 1); } } } } void sw_fifo_check_bounds(struct subwin *sw){ // sw->offset = fifo_len(sw->fifo) - sw->h; if (sw->offset < 0) { sw->offset=0; sw_shake(sw, 0); return; } if (fifo_len(sw->fifo) <= sw->h){ if (sw->offset > 0){ sw_shake(sw, 1); sw->offset = 0; } }else{ if (sw->offset > fifo_len(sw->fifo) - sw->h) { sw->offset = fifo_len(sw->fifo) - sw->h; // must be >0 sw_shake(sw, 1); } } } /********************** SHELL ****************************************/ /* Return: * -1 = hidden * 0 = not highlighted * 1 = highlighted, call not worked * 2 = highlighted, call worked */ int sw_line_is_highlighted(struct subwin *sw, gchar *c){ int i, ret; for (i=0; ihigh->len; i++){ if (!regcmp(c, (char *)g_ptr_array_index(sw->high, i))){ return 1; } } ret = sw_shell_hihglight(sw, c); return ret; } void sw_shell_redraw(struct subwin *sw, struct band *band, int flags){ int i, index, col=COL_NORM; gchar *c, *to, *call, *suffcall, *operator_, *suffoperator; if (ctest){ call=ctest->pcall; operator_=aband->operator_; }else{ call=cfg->pcall; operator_=cfg->operator_; if (!operator_ || !*operator_) operator_=NULL; } if (strlen(call)>3){ suffcall=z_suffix(call); }else{ suffcall=NULL; } if (operator_ && strlen(operator_)>3){ suffoperator=z_suffix(operator_); }else{ suffoperator=NULL; } to=g_strconcat("to ", call, NULL); /* dbg("sw_shell_redraw: offset=%d\n", sw->offset);*/ for (i=0;ih; i++){ index = sw->lines->len - sw->offset - sw->h +i; if (index<0 || index>=sw->lines->len) c = "~"; else c = (char *)g_ptr_array_index(sw->lines, index); if (c && strlen(c)>sw->ho){ switch (sw_line_is_highlighted(sw, c)){ case 0: col=COL_NORM; break; case 1: col=COL_YELLOW; break; case 2: col=COL_DARKYELLOW; break; } print_text(sw->x, sw->y+i, sw->w, c + sw->ho, col); continue; sw_highlight(sw, c, call, COL_RED, i, 1); if (suffcall){ sw_highlight(sw, c, suffcall, COL_RED, i, 1); } if (operator_){ sw_highlight(sw, c, operator_, COL_RED, i, 1); if (suffoperator){ sw_highlight(sw, c, suffoperator, COL_RED, i, 1); } } sw_highlight(sw, c, to, COL_RED, i, 1); } } g_free(to); } void sw_shell_check_bounds(struct subwin *sw){ if (sw->offset < 0) { sw->offset=0; sw_shake(sw, 0); } if (sw->lines->len - 1 <= sw->h){ if (sw->offset > 0){ sw_shake(sw, 1); sw->offset = 0; } }else{ if (sw->offset > sw->lines->len - sw->h){ sw->offset = sw->lines->len - sw->h; sw_shake(sw, 1); } } /*if (sw->offset > sw->lines->len - 1) { sw->offset = sw->lines->len - 1; if (sw->offset >= 0) sw_shake(sw, 1); } if (sw->offset < 0) { sw->offset=0; sw_shake(sw, 0); } */ } /*static time_t lastenter = 0;*/ void sw_shell_enter(void *data, gchar *str, int cq){ struct subwin *sw; int towrite, ret; sw = (struct subwin*)data; /*dbg("sw_shell_enter(%p,'%s')\n",data,str);*/ towrite = strlen(str); ret = zserial_write(sw->zser, str, towrite); if (ret < 0) goto failed; #ifdef Z_MSC_MINGW ret = zserial_write(sw->zser, "\r\n", 2); if (ret < 0) goto failed; #else ret = zserial_write(sw->zser, "\n", 1); if (ret < 0) goto failed; #endif //dbg(" towrite=%d ret=%d (%d)\n", towrite, ret, errno); #if defined(Z_UNIX_ANDROID) && !defined(Z_HAVE_PTY_H) char s[100]; sw_add_block(sw, str); sw_add_block(sw, "\n"); strcpy(s, "echo -n \"$HOSTNAME $PWD\\$ \"\n"); ret = zserial_write(sw->zser, s, strlen(s)); if (ret < 0) goto failed; #endif return; failed:; sw_add_block(sw, VTEXT(T_PROC_EXITED)); sw_shell_kill(sw); } void sw_shell_read_handler(void *arg){ struct subwin *sw; char buf[1030], *d; int ret,i; char buf2[1030], *pbuf, *pbuf2; sw = (struct subwin*)arg; memset(buf, 0, sizeof(buf)); /*dbg("sw_shell_read_handler\n");*/ ret = z_pipe_read(sw->read_fd, buf, 1024); /*dbg("read returns %d (%d) buf='%s' \n", ret, errno, buf);*/ if (ret<=0) { sw_add_block(sw, VTEXT(T_PROC_EXITED)); sw_shell_kill(sw); return; } for (i=0,d=buf;iiconv){ size_t a = ret, b = ret; pbuf = buf; pbuf2 = buf2; iconv(sw->iconv, &pbuf, &a, &pbuf2, &b); buf2[ret]='\0'; sw_add_block(sw, buf2); }else{ sw_add_block(sw, buf); } if (!sw->ontop && !sw->unread) { sw->unread=1; redraw_later(); } } void sw_shell_kill(struct subwin *sw){ if (sw->zser){ zserial_close(sw->zser); // sw->zser = NULL; } if (sw->read_fd >= 0){ closesocket(sw->read_fd); zselect_set(zsel, sw->read_fd, NULL, NULL, NULL, NULL); } if (sw->write_fd >= 0 && sw->write_fd != sw->read_fd){ closesocket(sw->write_fd); zselect_set(zsel, sw->write_fd, NULL, NULL, NULL, NULL); } sw->read_fd = -1; sw->write_fd = -1; } #define FREE_SW_CX if (c1) {g_free(c1); c1=NULL;} if (c2) {g_free(c2); c2=NULL;} void sw_toggle_highlight(struct subwin *sw, gchar *s){ int ret; char *c1,*c2; char *c, call[25]; //time_t kst_time = 0; //char *text = NULL; //dbg("sw_toggle_highlight(sw, '%s')\n", s); c=g_strdup(s); z_str_uc(c); /**** WWC via ON4KST ****/ /* 1808Z WWC: : jcs done today !! */ c1=NULL; c2=NULL; ret=regmatch(c, "^[0-9]{4}Z WWC: <\\**([0-9A-Z\\/]+)\\**>: ", &c1, &c2, NULL); if (ret==0){ safe_strncpy0(call, c2, 19); //text = "@WWC via KST"; goto doit; } FREE_SW_CX; /**** ON4KST ****/ /* 1808Z OK1KRQ/P Club> GE all */ c1=NULL; c2=NULL; ret=regmatch(c, "^[0-9]{4}Z ([0-9A-Z\\/]+).*>", &c1, &c2, NULL); if (ret==0){ safe_strncpy0(call, c2, 19); //kst_time = time(NULL); //text = "@KST"; goto doit; } FREE_SW_CX; /**** WWC ****/ /* : allok ! */ c1=NULL; c2=NULL; ret=regmatch(c, "^<\\**([0-9A-Z\\/]+)\\**>: ", &c1, &c2, NULL); if (ret==0){ safe_strncpy0(call, c2, 19); //text = "@WWC"; goto doit; } FREE_SW_CX; /**** DX cluster ****/ /* DX de PA4PS: 144145.0 K6MYC Tnx eme new# best-20 0841Z */ c1=NULL; c2=NULL; ret=regmatch(c, "^DX [Dd][Ee] [0-9A-Z/]+:..............([0-9A-Z\\/]+)", &c1, &c2, NULL); if (ret==0){ safe_strncpy0(call, c2, 19); //text = "@DXC"; goto doit; } FREE_SW_CX; /**** DX cluster SH/DX ****/ /* 432160.0 OK1KIR 7-Oct-2007 0010Z PSE TURN TO JN 76 2320170.0 OK1KIR 7-Oct-2007 1338Z tnx qso 678km. 24048140.0 OK1KIR 6-Oct-2007 2148Z jo60pm-jo50vi 24048100.0 OK1KIR 6-Oct-2007 1314Z nice 59/59 in JO60LJ */ c1=NULL; c2=NULL; ret=regmatch(c, "^ *[0-9]+\\.[0-9] ([0-9A-Z\\/]+) ", &c1, &c2, NULL); if (ret==0){ safe_strncpy0(call, c2, 19); //text = "DXC SH/DX"; goto doit; } FREE_SW_CX; /**** DX cluster login/logout ****/ /* User OM3TCG has logged in */ c1=NULL; c2=NULL; ret=regmatch(c, "^USER ([0-9A-Z\\/]+) HAS LOGGED ", &c1, &c2, NULL); if (ret==0){ safe_strncpy0(call, c2, 19); //text = "DXC LOGIN/LOGOUT"; goto doit; } FREE_SW_CX; /**/ doit:; /* dbg("ret=%d c1='%s' c2='%s'\n", ret, c1, c2);*/ FREE_SW_CX; g_free(c); if (ret) return; sw_kst_toggle_highlight(sw, call, 1); /*z_get_raw_call(t, call); if (g_hash_table_lookup_extended(gses->hicalls, (gpointer)t, (gpointer)&key, (gpointer)&value)){ g_hash_table_remove(gses->hicalls, key); g_free(key); g_free(value); dbg("call='%s' removed\n", t); }else{ g_hash_table_insert(gses->hicalls, g_strdup(t), g_strdup("")); if (aband){ int wkd[32]; char *wwl = NULL; wwl = find_wwl_by_call(cw, t); if (wwl == NULL) wwl = ""; memset(wkd, 0, sizeof(wkd)); qrv_add(t, wwl, (1<bi), wkd, text, kst_time); } dbg("call='%s' inserted\n", t); } */ /* dbg("%d\n", g_hash_table_size(gses->hicalls));*/ redraw_later(); } int sw_shell_mouse_func(struct subwin *sw, struct event *ev, int fw){ int index; gchar *c; if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (ev->b & B_DRAG){ int dy = sw_accel_dy(sw, ev); if (dy == 0) return 1; sw->offset += dy; sw->check_bounds(sw); redraw_later(); sw->olddragx = ev->x; return 1; } //if ((ev->b & BM_ACT)!=B_DOWN) return 0; // dbg("ev->b=%x BM_ACT=%x B_DOWN=%x BM_EBUTT=%x \n", ev->b, BM_ACT, B_DOWN, BM_EBUTT); switch (ev->b & BM_BUTCL){ case B_LEFT: sw->olddragx = ev->x; sw->olddragy = ev->my; break; case B_LEFT | B_CLICK: //dbg("x il=%p\n",sw->il); if (!sw->il) break; /* dbg("y=%d y=%d hh=%d \n", ev->y, sw->y, sw->hh);*/ if (ev->y==sw->y+sw->h){ inputln_func(sw->il, ev); return 1; } index = sw->lines->len - sw->offset - sw->h + (ev->y - sw->y); /* dbg("index=%d\n",index);*/ if (index<0 || index>=sw->lines->len) break; c = (char *)g_ptr_array_index(sw->lines, index); /* dbg("c='%s'\n", c);*/ sw_toggle_highlight(sw, c); return 1; case B_MIDDLE: /* dbg("middle\n");*/ break; case B_RIGHT: /* dbg("right\n");*/ break; case B_WHUP: /* dbg("wheel up\n");*/ sw->offset+=3; sw->check_bounds(sw); redraw_later(); return 1; case B_WHDOWN: /* dbg("wheel down\n"); */ sw->offset-=3; sw->check_bounds(sw); redraw_later(); return 1; } return 0; } static int sw_match; void sw_shell_match(gpointer acall, gpointer pval, gpointer astr){ gchar *call = (gchar *)acall; int *value = (int *)pval; gchar *str = (gchar *)astr; if (*value < sw_match) return; /* speed up search */ /*dbg(" match call='%s' str='%s'\n", call, str);*/ //return regcmpi(str, call); if (strstr(str, call) == NULL) return; sw_match = *value; if (!aband) return; //if (get_qso_by_callsign(aband, call)==NULL) return; if (!worked_on_all_rw(call)) return; sw_match=2; } int sw_shell_hihglight(struct subwin *sw, char *str){ sw_match=-100; g_hash_table_foreach(gses->hicalls, sw_shell_match, str); // dbg("sw_match: %d for %s\n", sw_match, str); return sw_match; } /******************** TALK ************************/ void sw_talk_enter(void *enterdata, gchar *str, int cq){ struct subwin *sw; gchar *msg, *c, *pband, *operator_; /*dbg("sw_talk_enter(%p,'%s')\n",enterdata,str);*/ sw = (struct subwin *)enterdata; if (aband){ pband = g_strdup(aband->pband); c = strchr(pband, ' '); if (c) *c='\0'; operator_=aband->operator_; }else{ pband=""; operator_=cfg->pcall; } msg=g_strdup_printf("%6s@%-3s: %s", operator_, pband, str); c=g_strdup_printf("TA %s\n", msg); rel_write_all(c); g_free(c); //fifo_addf(sw->fifo,"%6s: %s", operator_, str); fifo_addf(sw->fifo, "%6s@%-3s: %s", operator_, pband, str); g_free(msg); } void sw_talk_read(char *data, int ignoredupe){ struct subwin *sw; int i, unread=0; /* dbg("sw_talk_read('%s')\n", data);*/ for (i=0; isubwins->len; i++){ sw = (struct subwin*)g_ptr_array_index(gses->subwins, i); if (sw->type == SWT_TALK){ if (ignoredupe) { if (fifo_contains(sw->fifo, data)) continue; } fifo_adds(sw->fifo, data); log_adds(data); /* no sw_check_len ! */ if (sw->ontop) unread=1; if (!sw->ontop) sw->unread=1; } } if (unread) redraw_later(); return; } /******************* UNFINISHED ****************************/ int sw_unfi_kbd_func(struct subwin *sw, struct event *ev, int fw){ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (!aband) return 0; sw->fifo = aband->unfi; return sw_fifo_kbd_func(sw, ev, fw); } int sw_unfi_mouse_func(struct subwin *sw, struct event *ev, int fw){ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (!aband) return 0; sw->fifo = aband->unfi; return sw_fifo_mouse_func(sw, ev, fw); } void sw_unfi_redraw(struct subwin *sw, struct band *band, int flags){ if (!aband) return; sw->fifo = aband->unfi; sw_fifo_redraw(sw, band, flags); } void sw_unfi_check_bounds(struct subwin *sw){ if (!aband) return; sw->fifo = aband->unfi; sw_fifo_check_bounds(sw); } /******************* STATICTICS ****************************/ int sw_stat_kbd_func(struct subwin *sw, struct event *ev, int fw){ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (!aband) return 0; sw->fifo = aband->statsfifo1; return sw_fifo_kbd_func(sw, ev, fw); } int sw_stat_mouse_func(struct subwin *sw, struct event *ev, int fw){ if (zselect_profiling(zsel)) zselect_hint(zsel, __FUNCTION__); if (!aband) return 0; sw->fifo = aband->statsfifo1; return sw_fifo_mouse_func(sw, ev, fw); } void sw_stat_redraw(struct subwin *sw, struct band *band, int flags){ if (!aband) return; sw->fifo = aband->statsfifo1; sw_fifo_redraw(sw, band, flags); } void sw_stat_check_bounds(struct subwin *sw){ if (!aband) return; sw->fifo = aband->statsfifo1; sw_fifo_check_bounds(sw); } void sw_stat_raise(struct subwin *sw){ /*dbg("sw_stat_raise\n"); */ if (!aband) return; recalc_statsfifo(aband); } void clip_char(struct subwin *sw, int xrel, int yrel, unsigned c){ if (xrel < 0) return; if (yrel < 0) return; if (xrel >= sw->ww) return; if (yrel >= sw->hh) return; set_char(sw->x + xrel, sw->y + yrel, c); } void clip_color(struct subwin *sw, int xrel, int yrel, unsigned c){ if (xrel < 0) return; if (yrel < 0) return; if (xrel >= sw->w) return; if (yrel >= sw->h) return; set_color(sw->x + xrel, sw->y + yrel, c); } void clip_printf(struct subwin *sw, int xrel, int yrel, short color, char *fmt, ...){ va_list l; gchar *c, *s; // dbg("clip_printf('%s')\n", fmt); va_start(l, fmt); s=g_strdup_vprintf(fmt, l); va_end(l); for (c=s; *c!='\0'; c++){ clip_char(sw, xrel++, yrel, (unsigned char)*c | color); } g_free(s); } void sw_export_lines(struct subwin *sw, char *fname){ int i; char *filename = NULL; FILE *f; for (i = 0; 1; i++) { struct stat st; filename = g_strdup_printf("%s/%s%d.txt", ctest ? ctest->directory : tucnak_dir, fname, i); z_wokna(filename); if (stat(filename, &st) != 0) break; g_free(filename); } f = fopen(filename, "wt"); if (f){ for (i = 0; i < sw->lines->len; i++){ char *line = (char *)g_ptr_array_index(sw->lines, i); fprintf(f, "%s\n", line); } fclose(f); log_addf(VTEXT(T_SAVED_S), filename); }else{ log_addf("Error"); } g_free(filename); } int sw_shake_tmo = -1; void sw_shake(struct subwin *sw, int down){ #if defined(Z_HAVE_SDL) && !defined(Z_MACOS) SDL_Surface *old; SDL_Rect src, dst, fill; int len; int h; if (!sdl || !zsdl) return; if (sw->w <= 0 || sw->h <= 0) return; if (sw->shaking) return; h = zsdl->font_h / 4; if (sw_shake_tmo != -1){ if (!ztimeout_occured(sw_shake_tmo)) { // sw_shake_tmo = ztimeout_init(300); return; } } sw->shaking = 1; redraw_terminal(NULL); sdl_redraw_screen(); sw_shake_tmo = ztimeout_init(500); MUTEX_LOCK(sdl->eventpipestate); len = sdl->eventpipestate; MUTEX_UNLOCK(sdl->eventpipestate); if (len > 0) goto x; //log_addf("eventpipe=%d %d", len, len / sizeof(struct event)); //if (!sw->screen) return; src.x = sw->x * FONT_W; src.y = sw->y * FONT_H; src.w = sw->w * FONT_W; src.h = sw->h * FONT_H; old = SDL_CreateRGBSurface(SDL_SWSURFACE, src.w, src.h, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); if (old == NULL) goto x; SDL_BlitSurface(sdl->screen, &src, old, NULL); if (down){ dst.x = src.x; dst.y = src.y + h; dst.w = src.w; dst.h = src.h - h; fill.x = src.x; fill.y = src.y; fill.w = src.w; fill.h = h; src.x = 0; src.y = 0; src.h -= h; SDL_BlitSurface(old, &src, sdl->screen, &dst); SDL_FillRect(sdl->screen, &fill, z_makecol(0, 0, 0)); } else{ dst.x = src.x; dst.y = src.y; dst.w = src.w; dst.h = src.h - h; fill.x = src.x; fill.y = src.y + src.h - h; fill.w = src.w; fill.h = h; src.x = 0; src.y = 0; src.y += h; src.h -= h; SDL_BlitSurface(old, &src, sdl->screen, &dst); SDL_FillRect(sdl->screen, &fill, z_makecol(0, 0, 0)); } SDL_UpdateRect(sdl->screen, 0, 0, 0, 0); usleep(100000); dst.x = sw->x * FONT_W; dst.y = sw->y * FONT_H; dst.w = sw->w * FONT_W; dst.h = sw->h * FONT_H; SDL_BlitSurface(old, NULL, sdl->screen, &dst); SDL_UpdateRect(sdl->screen, dst.x, dst.y, dst.w, dst.h); x:; sw->shaking = 0; #endif } int sw_accel_dy(struct subwin *sw, struct event *ev){ #ifdef Z_HAVE_SDL int dragdiv; double v; int dy = (ev->my - sw->olddragy); //log_addf("my=%d oldy=%d dy=%4d vy=%8.0f", ev->my, sw->olddragy, dy, ev->vy); if (dy == 0) return 0; dragdiv = 16; v = ev->vy; if (v < 0) v = -v; if (v < 50) dragdiv = 16; else if (v < 100) dragdiv = 8; else if (v < 300) dragdiv = 4; else if (v < 400) dragdiv = 2; else dragdiv = 1; //log_addf("dy=%4d vy=%8.0f dragdiv=%4d", dy, ev->vy, dragdiv); dy /= dragdiv; if (dy == 0) return 0; sw->olddragy = ev->my; return dy; #else return 0; #endif } void sw_highlight(struct subwin *sw, const char *text, const char *needle, int color, int i, int whole){ const gchar *cc; char *fd, *d, after; int rx, fx, fl, ho; int needlelen = strlen(needle); if (needle == NULL || *needle == '\0') return; ho = sw->ho; if (sw->fifo) ho = sw->fifo->ho; cc = text; while ((d = z_strcasestr(cc, needle)) != NULL){ if (whole){ if (d > cc){ int before = d[-1]; if (isalnum(before)) { cc = d + strlen(needle); continue; } } after = d[strlen(needle)]; if (isalnum(after)){ cc = d + strlen(needle); continue; } } fl = MIN(sw->w - (d - text) + ho, needlelen); fx = rx = (d - text) - ho; fd = d; if (rx < 0) { fl += rx; fx = 0; fd = d - rx; } if (fl > 0) print_text(sw->x + fx, sw->y + i, fl, fd, color); cc = d + strlen(needle); } } void sw_set_gdirty(enum sw_type type){ #ifdef Z_HAVE_SDL if (!gses) return; int i; for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->type != type) continue; sw->gdirty = 1; } redraw_later(); #endif } tucnak-4.32/src/ppdev.c0000644000175000017500000001777313757020505011744 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "cwdaemon.h" #include "fifo.h" #include "language2.h" #include "ppdev.h" #include "rc.h" #ifdef HAVE_LINUX_PPDEV_H int parport_init(struct cwdaemon *cwda){ cwda->fd = -1; parport_open(cwda, 1); return 0; } int parport_open(struct cwdaemon *cwda, int verbose){ int mode; struct ppdev_frob_struct frob; char errbuf[1024]; if (cwda->freeing) return -1; if (cwda->fd >=0 ) return 0; cwda->fd = open(cfg->cwda_device, O_RDWR|O_NONBLOCK); if (cwda->fd<0){ if (verbose) log_addf(VTEXT(T_CANT_OPEN), cfg->cwda_device, strerror_r(errno, errbuf, sizeof(errbuf))); if (errno==ENOENT) { int len, devno; len=strcspn(cfg->cwda_device, "01234567890"); if (lencwda_device)) devno=atoi(cfg->cwda_device+len); else devno=0; if (verbose) log_addf(VTEXT(T_TIP_MKNOD), cfg->cwda_device, devno, cfg->cwda_device); } if (errno==EACCES && verbose) { log_addf(VTEXT(T_TIP_CHMOD), cfg->cwda_device); } close(cwda->fd); cwda->fd=-1; return -1; } mode=PARPORT_MODE_PCSPP; if (ioctl(cwda->fd, PPSETMODE, &mode)<0){ if (verbose) log_addf(VTEXT(T_CANT_SET_EPP), cfg->cwda_device, cfg->cwda_device, errno, strerror_r(errno, errbuf, sizeof(errbuf))); close(cwda->fd); cwda->fd=-1; return -1; } if (ioctl(cwda->fd, PPEXCL, NULL)<0){ if (verbose) log_addf(VTEXT(T_CANT_EXCLUSIVE_ACCESS), cfg->cwda_device, cfg->cwda_device, errno, strerror_r(errno, errbuf, sizeof(errbuf))); close(cwda->fd); cwda->fd=-1; return -1; } if (ioctl(cwda->fd, PPCLAIM, NULL)<0){ if (verbose) log_addf(VTEXT(T_CANT_CLAIM), cfg->cwda_device, strerror_r(errno, errbuf, sizeof(errbuf))); if (errno==ENXIO && verbose){ log_addf(VTEXT(T_TIP_RMMOD)); log_addf(VTEXT(T_TIP_KILL_LSOF), cfg->cwda_device); } close(cwda->fd); cwda->fd=-1; return -1; } frob.mask = PARPORT_CONTROL_STROBE; frob.val = PARPORT_CONTROL_STROBE; if (ioctl(cwda->fd, PPFCONTROL, &frob)<0){ if (verbose) log_addf(VTEXT(T_CANT_SET_STROBE), strerror_r(errno, errbuf, sizeof(errbuf))); close(cwda->fd); cwda->fd=-1; return 1; } parport_reset(cwda); return 0; } /* linux ppdev */ int parport_free(struct cwdaemon *cwda){ struct ppdev_frob_struct frob; char errbuf[1024]; if (!cwda) return 0; if (cwda->fd>=0){ frob.mask = PARPORT_CONTROL_STROBE; frob.val = 0; if (ioctl(cwda->fd, PPFCONTROL, &frob)<0){ dbg("Can't clear parport_STROBE %s\n", strerror_r(errno, errbuf, sizeof(errbuf))); } close(cwda->fd); cwda->fd=-1; } return 0; } /* linux ppdev */ int parport_reset(struct cwdaemon *cwda){ parport_ptt(cwda, 0); parport_cw(cwda, 0); parport_ssbway(cwda, 0); return 0; } /* linux ppdev */ int parport_cw(struct cwdaemon *cwda, int onoff){ struct ppdev_frob_struct frob; char errbuf[1024]; if (!cwda || cwda->fd<0) return 1; frob.mask = PARPORT_CONTROL_SELECT; frob.val = !onoff?PARPORT_CONTROL_SELECT:0; if (ioctl(cwda->fd, PPFCONTROL, &frob)<0){ dbg("Can't %s parport_SELECT %s\n", onoff?"set":"clear", strerror_r(errno, errbuf, sizeof(errbuf))); close(cwda->fd); cwda->fd=-1; return 1; } return 0; } /* linux ppdev */ int parport_ptt(struct cwdaemon *cwda, int onoff){ struct ppdev_frob_struct frob; char errbuf[1024]; if (!cwda) return 1; if (cwda->fd<0 && parport_open(cwda, 0)) return 1; frob.mask = PARPORT_CONTROL_INIT; frob.val = onoff?PARPORT_CONTROL_INIT:0; if (ioctl(cwda->fd, PPFCONTROL, &frob)<0){ dbg("Can't %s parport_INIT %s\n", onoff?"set":"clear", strerror_r(errno, errbuf, sizeof(errbuf))); close(cwda->fd); cwda->fd=-1; return 1; } return 0; } /* linux ppdev */ int parport_ssbway(struct cwdaemon *cwda, int onoff){ struct ppdev_frob_struct frob; char errbuf[1024]; /*dbg("ssbway(%d)\n", onoff);*/ if (!cwda) return 1; if (cwda->fd<0 && parport_open(cwda, 0)) return 1; frob.mask = PARPORT_CONTROL_AUTOFD; frob.val = onoff?PARPORT_CONTROL_AUTOFD:0; if (ioctl(cwda->fd, PPFCONTROL, &frob)<0){ dbg("Can't %s parport_AUTOFD %s\n", onoff?"set":"clear", strerror_r(errno, errbuf, sizeof(errbuf))); close(cwda->fd); cwda->fd=-1; return 1; } return 0; } int parport_band(struct cwdaemon *cwda, int bandsw){ if (!cwda) return 1; if (cwda->fd<0 && parport_open(cwda, 0)) return 1; cwda->data &= ~0xe1; if (bandsw & 0x01) cwda->data |= 0x01; if (bandsw & 0x02) cwda->data |= 0x20; if (bandsw & 0x04) cwda->data |= 0x40; if (bandsw & 0x08) cwda->data |= 0x80; if (ioctl(cwda->fd, PPWDATA, &cwda->data)<0){ dbg("Can't write data to parport\n"); close(cwda->fd); cwda->fd=-1; return 1; } return 0; } void parport_info(GString *gs){ int port; int fd; char s[1024]; unsigned int modes; int mode; g_string_append_printf(gs, "\n parport_info:\n"); for (port=0;port<4;port++){ sprintf(s, "/dev/parport%d", port); fd=open(s, O_RDWR|O_NONBLOCK); if (fd<0){ if (errno==ENOENT) continue; char *c = z_strdup_strerror(errno); g_string_append_printf(gs, "Found /dev/parport%d but cannot open it: %s\n", port, c); g_free(c); continue; } if (ioctl(fd, PPGETMODES, &modes)<0){ if (errno==ENODEV) continue; char *c = z_strdup_strerror(errno); g_string_append_printf(gs, "Can't get modes for /dev/parport%d: %s\n", port, c); g_free(c); close(fd); continue; } g_string_append_printf(gs, "Found /dev/parport%d\n", port); g_string_append_printf(gs, " modes: 0x%x ", modes); if (modes&PARPORT_MODE_PCSPP) g_string_append_printf(gs, "SPP "); if (modes&PARPORT_MODE_TRISTATE) g_string_append_printf(gs, "TRISTATE "); if (modes&PARPORT_MODE_EPP) g_string_append_printf(gs, "EPP "); if (modes&PARPORT_MODE_ECP) g_string_append_printf(gs, "ECP "); if (modes&PARPORT_MODE_COMPAT) g_string_append_printf(gs, "COMPAT "); if (modes&PARPORT_MODE_DMA) g_string_append_printf(gs, "DMA "); if (modes&PARPORT_MODE_SAFEININT) g_string_append_printf(gs, "SAFEINIT "); g_string_append_printf(gs, "\n"); if (ioctl(fd, PPGETMODE, &mode)<0){ close(fd); continue; } g_string_append_printf(gs, " mode: 0x%x ", mode); if (mode==0) g_string_append_printf(gs, "NIBBLE "); if (mode&IEEE1284_MODE_BYTE) g_string_append_printf(gs, "BYTE "); if (mode&IEEE1284_MODE_COMPAT) g_string_append_printf(gs, "COMPAT "); if (mode&IEEE1284_MODE_BECP) g_string_append_printf(gs, "Bounded_ECP "); if (mode&IEEE1284_MODE_ECP) g_string_append_printf(gs, "ECP "); if (mode&IEEE1284_MODE_ECPRLE) g_string_append_printf(gs, "ECP_RLE "); if (mode&IEEE1284_MODE_ECPSWE) g_string_append_printf(gs, "Software_ECP "); if (mode&IEEE1284_MODE_EPP) g_string_append_printf(gs, "EPP "); if (mode&IEEE1284_MODE_EPPSL) g_string_append_printf(gs, "EPP_1.7 "); if (mode&IEEE1284_MODE_EPPSWE) g_string_append_printf(gs, "Software_EPP "); if (mode&IEEE1284_DEVICEID) g_string_append_printf(gs, "DEVICEID "); g_string_append_printf(gs, "\n"); close(fd); } g_string_append_printf(gs, "\n"); } #endif tucnak-4.32/src/winkey.h0000644000175000017500000000227712070761312012125 00000000000000 /* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __WINKEY_H #define __WINKEY_H #include "header.h" struct cwdaemon; int winkey_init_serial(struct cwdaemon *); int winkey_init_tcp (struct cwdaemon *); int winkey_open (struct cwdaemon *cwda, int verbose); int winkey_free (struct cwdaemon *); int winkey_reset (struct cwdaemon *); int winkey_cw (struct cwdaemon *, int onoff); int winkey_ptt (struct cwdaemon *, int onoff); int winkey_ssbway (struct cwdaemon *, int onoff); int winkey_text (struct cwdaemon *cwda, char *text); int winkey_speed (struct cwdaemon *cwda, int wpm); int winkey_weight (struct cwdaemon *cwda, int weight); int winkey_tune (struct cwdaemon *cwda, int tune); int winkey_back (struct cwdaemon *cwda); void winkey_read_handler(void *arg); int winkey_read(struct cwdaemon *cwda, int timeout_ms); int winkey4_init (struct cwdaemon *); int winkey4_free (struct cwdaemon *); int winkey4_reset (struct cwdaemon *); #endif tucnak-4.32/src/tsdl.h0000644000175000017500000000455714066537511011601 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __TSDL_H #define __TSDL_H #include "header.h" #ifdef Z_HAVE_SDL #define SDL_USERDATA_IN_FILTEREVENTx #define FONT_W zsdl->font_w #define FONT_H zsdl->font_h #if defined(Z_MSC_MINGW) || defined(Z_MACOS) #define EVENTS_IN_SAME_THREAD #endif /*struct tsdl_setvideomode{ int w, h, bpp, flags; SDL_Surface *screen; int done; };*/ struct tsdl{ SDL_Surface *screen; int fullscreen; SDL_Surface *icon, *mast, *home, *zoomin, *zoomout, *key, *xfer; int bpp; SDL_Color colors[256]; SDL_Rect termarea; int gr[16]; int termcol[16]; int yellow, yellow2, red, green, magenta; int cursor; GThread *event_thread; int event_thread_break; int mouse_drag, drag_buttons; int eventpipestate, resizeevents, resize_w, resize_h; MUTEX_DEFINE(eventpipestate); /* GMutex *eventpipestate_mutex; #ifdef LEAK_DEBUG_LIST char *eventpipestate_file; int eventpipestate_line; #endif */ gchar *title; int mouse_x, mouse_y; int eventpipe[2]; iconv_t iconvhandle; #ifdef EVENTS_IN_SAME_THREAD int event_timer_id; #endif int progress_w; int screen_w, screen_h; int window_w, window_h; int old_mouse_x, old_mouse_y; int altsym; int ignore_progress; }; extern struct tsdl *sdl; extern struct zzsdl *zsdl; struct tsdl *init_sdl(void); void sdl_stop_event_thread(void); void free_sdl(void); SDL_Rect *new_rect(int x, int y, int w, int h); void free_rect(SDL_Rect *rect); void sdl_pre_info(void); void sdl_info(GString *gs); int sdl_setvideomode(int w, int h, int init); void sdl_redraw_screen(void); int sdl_get_terminal_size(int, int *, int *); int sdl_attach_terminal(int, int, int); gpointer sdl_event_thread(gpointer handle); #ifdef SDL_USERDATA_IN_FILTEREVENT int sdl_filter_events(void *userdata, const SDL_Event *ev); #else int sdl_filter_events(const SDL_Event *ev); #endif int sdl_set_title(gchar *title); void sdl_screenshot(int topwindow); void zsdl_test_bars(SDL_Surface *surface, int ofs); #endif void progress(char *m, ...); void sdl_force_redraw(void); void tsdl_change_font(char how); void tsdl_optimal_font(void); #endif tucnak-4.32/src/menu7.c0000644000175000017500000001332214045555073011647 00000000000000/* Tucnak - VHF contest log Copyright (C) 2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "inputln.h" #include "main.h" #include "menu.h" #include "rain.h" #include "rc.h" #include "tsdl.h" #include "terminal.h" int rain_enable, rain_meteox, rain_wetteronline, rain_chmi, rain_weatheronline, rain_rainviewer, rain_debug; int rain_maxqrb, rain_minscpdist, rain_mincolor; char rain_maxqrb_str[EQSO_LEN], rain_minscpdist_str[EQSO_LEN], rain_mincolor_str[EQSO_LEN]; char *rain_colors[EQSO_LEN] = { TRANSLATE("Orange 1"), TRANSLATE("Orange 2"), TRANSLATE("Orange 3"), TRANSLATE("Red 1"), TRANSLATE("Red 2"), TRANSLATE("White") }; void rain_color_func(void *arg){ int active; active = GPOINTER_TO_INT(arg); dbg("rain_color_func: active=%d", active); if (active<0 || active >= 14) return; rain_mincolor = active; safe_strncpy0(rain_mincolor_str, get_text_translation(rain_colors[rain_mincolor - 9]), MAX_STR_LEN); redraw_later(); } int dlg_rain_color(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel; struct menu_item *mi; if (!(mi = new_menu(1))) return 0; for (i = 9; i < 14; i++) { add_to_menu(&mi, rain_colors[i-9], "", "", MENU_FUNC rain_color_func, GINT_TO_POINTER(i), 0); } sel = rain_mincolor - 9; if (sel < 0) sel = 0; do_menu_selected(mi, GINT_TO_POINTER(rain_mincolor), sel); return 0; } void refresh_rain_opts(void *arg){ STORE_INT(cfg, rain_enable); STORE_INT(cfg, rain_meteox); STORE_INT(cfg, rain_wetteronline); STORE_INT(cfg, rain_chmi); STORE_INT(cfg, rain_weatheronline); STORE_INT(cfg, rain_rainviewer); STORE_INT(cfg, rain_debug); STORE_SINT(cfg, rain_maxqrb); STORE_SINT(cfg, rain_minscpdist); STORE_INT(cfg, rain_mincolor); #ifdef Z_HAVE_SDL free_rain(grain); grain = init_rain(); #endif progress(NULL); } void menu_rain_opts(void *itdata, void *menudata){ struct dialog *d; int i; LOAD_INT(cfg, rain_enable); LOAD_INT(cfg, rain_meteox); LOAD_INT(cfg, rain_wetteronline); LOAD_INT(cfg, rain_chmi); LOAD_INT(cfg, rain_weatheronline); LOAD_INT(cfg, rain_rainviewer); LOAD_INT(cfg, rain_debug); LOAD_SINT(cfg, rain_maxqrb); LOAD_SINT(cfg, rain_minscpdist); LOAD_INT(cfg, rain_mincolor); if (rain_mincolor < 9 || rain_mincolor > 14) rain_mincolor = 11; g_strlcpy(rain_mincolor_str, rain_colors[rain_mincolor - 9], EQSO_LEN); d = (struct dialog *)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_RAIN_OPTIONS); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_rain_opts; d->y0 = 1; d->items[i = 0].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&rain_enable; d->items[i].msg = CTEXT(T_ENABLE); d->items[i].wrap = 2; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&rain_rainviewer; d->items[i].msg = "RainViewer.com (global)"; d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&rain_meteox; d->items[i].msg = "Meteox"; d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&rain_wetteronline; d->items[i].msg = "Wetteronline (West EU)"; d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&rain_chmi; d->items[i].msg = "CHMI"; d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&rain_weatheronline; d->items[i].msg = "Weatheronline (EU)"; d->items[i].wrap = 1; d->items[i].wrap++; d->items[++i].type = D_FIELD; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 999; d->items[i].dlen = 5; d->items[i].data = (char *)&rain_maxqrb_str; d->items[i].msg = TRANSLATE("Max scatterpoint distance [km]:"); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].fn = check_number; d->items[i].gid = 5; d->items[i].gnum = 50; d->items[i].dlen = 5; d->items[i].data = (char *)&rain_minscpdist_str; d->items[i].msg = TRANSLATE("Min distance between SCPs [km]:"); d->items[i].wrap = 1; d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = dlg_rain_color; d->items[i].text = rain_mincolor_str; d->items[i].msg = TRANSLATE("Minimum SCP intensity color: "); d->items[i].wrap = 1; d->items[i].wrap++; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&rain_debug; d->items[i].msg = "Debug images"; d->items[i].wrap = 1; // ----------------------------- d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } tucnak-4.32/src/httpd.c0000644000175000017500000005027013700130565011732 00000000000000/* httpd.c - Contest progress displayed via http Copyright (C) 2011-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "chart.h" #include "fifo.h" #include "html.h" #include "httpd.h" #include "icons.h" #include "language2.h" #include "main.h" #include "map.h" #include "net.h" #include "rc.h" #include "qsodb.h" #include "stats.h" #include "subwin.h" #include "tsdl.h" struct httpd *httpd; struct httpd *init_httpd(void){ struct httpd *httpd; struct sockaddr_in sin; char errbuf[100]; if (!cfg->httpd_enable) return NULL; progress(VTEXT(T_INIT_HTTPD)); httpd = g_new0(struct httpd, 1); httpd->port = cfg->httpd_port; httpd->refresh = cfg->httpd_refresh; httpd->sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (httpd->sock < 0){ error("Can't create httpd socket"); goto x; } if (z_sock_reuse(httpd->sock, 1)){ trace(cfg->trace_sock, "Can't set SO_REUSEADDR\n"); goto x; } if (z_sock_nonblock(httpd->sock, 1)){ trace(cfg->trace_sock, "Can't set O_NONBLOCK\n"); goto x; } memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = htons(httpd->port); sin.sin_addr.s_addr = INADDR_ANY; if (bind(httpd->sock, (struct sockaddr *)&sin, sizeof(sin))) { trace(cfg->trace_sock, "Can't bind port %d, %s\n", httpd->port, z_sock_strerror()); goto x; } if (listen(httpd->sock, 10)){ trace(cfg->trace_sock, "Can't listen on socket %d, tcp port %d \n", httpd->sock, httpd->port); goto x; } zselect_set(zsel, httpd->sock, httpd_accept_handler, NULL, NULL, NULL); httpd->conns = g_ptr_array_new(); dbg("httpd active\n"); return httpd; x:; if (httpd->sock >= 0) closesocket(httpd->sock); httpd->sock = -1; g_free(httpd); return NULL; } void free_httpd(struct httpd *httpd){ if (!httpd) return; progress(VTEXT(T_FREE_HTTPD)); if (httpd->sock >= 0) { zselect_set(zsel, httpd->sock, NULL, NULL, NULL, NULL); closesocket(httpd->sock); } g_free(httpd); } void free_httpconn(struct httpconn *conn){ if (conn->sock >= 0) { zselect_set(zsel, conn->sock, NULL, NULL, NULL, NULL); closesocket(conn->sock); } g_string_free(conn->request, TRUE); g_string_free(conn->response, TRUE); if (conn->response_zbb) zbinbuf_free(conn->response_zbb); g_free(conn); } void httpd_accept_handler(void *arg){ int sock; socklen_t socklen; struct httpconn *conn; conn = g_new0(struct httpconn, 1); socklen = sizeof(conn->peer); sock = accept(httpd->sock, (struct sockaddr *)&conn->peer, &socklen); if (!socklen || sock < 0) { g_free(conn); return; } trace(cfg->trace_sock, "Accepted socket %d %s:%d\n", sock, inet_ntoa(conn->peer.sin_addr), ntohs(conn->peer.sin_port)); conn->sock = sock; conn->request = g_string_sized_new(500); conn->response = g_string_sized_new(500); zselect_set(zsel, conn->sock, httpd_read_handler, NULL, NULL, conn); g_ptr_array_add(httpd->conns, conn); } void httpd_read_handler(void *arg){ struct httpconn *conn; char s[1030], *c, lf; int ret; conn = (struct httpconn*)arg; ret = recv(conn->sock, s, 1024, 0); //err=z_sock_errno; if (ret <= 0){ g_ptr_array_remove(httpd->conns, conn); free_httpconn(conn); return; } s[ret] = '\0'; g_string_append(conn->request, s); lf = 0; for (c = conn->request->str; *c != '\0'; c++){ if (*c == '\r') continue; if (*c != '\n') { lf = 0; continue; } lf++; if (lf < 2) continue; break; } if (lf < 2) return; g_strlcpy(s, conn->request->str, sizeof(s)); c = strchr(s, '\r'); if (c) *c = '\0'; log_addf("HTTP %s: %s", inet_ntoa(conn->peer.sin_addr), s); if (strncasecmp(conn->request->str, "GET ", 4) == 0){ httpd_get(conn); }else{ httpd_header(conn, 400, NULL); g_string_printf(conn->response, "Bad request"); } /* for (i = 0; i < 1000; i++){ g_string_append_c(conn->response, '0' + (i / 100)); }*/ zselect_set(zsel, conn->sock, NULL, httpd_write_handler, NULL, arg); } void httpd_write_handler(void *arg){ struct httpconn *conn; int ret, len; conn = (struct httpconn*)arg; if (conn->response->len > 0){ len = conn->response->len; if (len > 1400) len = 1400; ret = send(conn->sock, conn->response->str, len, 0); //err = z_sock_errno; if (ret <= 0){ g_ptr_array_remove(httpd->conns, conn); free_httpconn(conn); return; } g_string_erase(conn->response, 0, ret); if (conn->response->len <= 0 && !conn->response_zbb){ g_ptr_array_remove(httpd->conns, conn); free_httpconn(conn); return; } } else { if (conn->response_zbb){ len = conn->response_zbb->len - conn->response_i; if (len > 1400) len = 1400; ret = send(conn->sock, conn->response_zbb->buf + conn->response_i, len, 0); if (ret <= 0){ g_ptr_array_remove(httpd->conns, conn); free_httpconn(conn); return; } conn->response_i += ret; if (conn->response_i >= conn->response_zbb->len){ g_ptr_array_remove(httpd->conns, conn); free_httpconn(conn); return; } } } } void httpd_header(struct httpconn *conn, int status, char *contenttype){ char *ss; if (!contenttype) contenttype = "text/html; charset=iso-8859-2"; switch (status){ case 200: ss = "OK"; break; case 405: ss = "Not Found"; break; case 500: ss = "Internal server error"; break; default: ss = "Unknown status"; break; } g_string_printf(conn->response, "HTTP/1.1 %d %s\r\n", status, ss); g_string_append_printf(conn->response, "Server: Tucnak-%s %s\r\n", Z_PLATFORM, PACKAGE_VERSION); g_string_append_printf(conn->response, "Connection: close\r\n"); g_string_append_printf(conn->response, "Content-Type: %s\r\n", contenttype); g_string_append_printf(conn->response, "\r\n"); } static void httpd_get_style_css(struct httpconn *conn){ g_string_append(conn->response, "body {\n" " font-size: 12pt;\n" /*" font-family: Tahoma, Helvetica, Arial, sans-serif}\n"*/ " font-family: Courier New, Courier-new, sans-serif}\n" "a {\n" " font-weight: bold}\n" "h1, h2, h3, h4 {\n" " font-family: Tahoma, Helvetica, Arial, sans-serif;\n" " color: #f8f8f8};\n" "h2 {\n" " margin-top: 20;\n" " margin-bottom: 5;\n" " margin-left:10 }\n" /* input { padding: 2px; margin: 2px; font-weight: normal; font-size: 12px; color: #000000; font-family: sans-serif} li { margin-bottom: 20px } p.stress{ font-style: italic} */ "table.qsos {\n" " border: black 2px solid;\n" " padding: 5px;\n" " background: #606060}\n" "th {\n" " padding-left: 5px;\n" " padding-right: 5px}\n" "td {\n" " padding-left: 5px;\n" " padding-right: 5px}\n" "#calltest {\n" " font-size: 200%}\n" "#q {\n" " text-transform: uppercase;}\n" ); } static void httpd_get_mem(struct httpconn *conn, const unsigned char *mem, int len){ conn->response_zbb = zbinbuf_init(); zbinbuf_append_bin(conn->response_zbb, (void*)mem, len); conn->response_i = 0; } static void httpd_get_index(struct httpconn *conn){ GString *gs2, *title; int i; GString *gs = conn->response; httpd_header(conn, 200, NULL); if (!ctest){ html_header(conn->response, "No contest", HTML_ICON, httpd->refresh, NULL); g_string_append_printf(conn->response, "

No contest opened

\n"); html_footer(conn->response, 0); return; } gs2 = g_string_sized_new(1024); title = g_string_sized_new(200); zg_string_eprintfa("h", title, "%S - %s", ctest->pcall, ctest->tname); html_header(gs, title->str, HTML_ICON, httpd->refresh, NULL); g_string_append_printf(gs, "
Complete report
\n"); g_string_append_printf(gs, "QSO search
\n"); for (i = 0; i < ctest->bands->len; i++){ struct band *b; b = (struct band*)g_ptr_array_index(ctest->bands, i); zg_string_eprintfa("h", gs, "

Band %s

\n", b->bandchar, b->bandname); g_string_append_printf(gs, "

QSOs: %d
\n", b->stats->nqsos); g_string_append_printf(gs, "Points: %d
\n", b->stats->ntotal); g_string_append_printf(gs, "WWLs: %d
\n", g_hash_table_size(b->stats->wwls)); g_string_append_printf(gs, "DXCCs: %d
\n", g_hash_table_size(b->stats->dxcs)); if (b->stats->nqsos){ g_string_append_printf(gs, "AVG: %5.2f pts/qso
\n", (double)b->stats->ntotal/(double)b->stats->nqsos); } if (b->stats->odxcall){ zg_string_eprintfa("h", gs, "ODX: %S %S %d km op %S
\n", b->stats->odxcall, b->stats->odxwwl, b->stats->odxqrb_int, b->stats->odxoperator); } g_string_append_printf(gs, "Statistics\n", b->bandchar); g_string_append_printf(gs, "QSOs
\n", b->bandchar); g_string_append_printf(gs, "

\n"); } html_footer(conn->response, 0); g_string_free(gs2, TRUE); g_string_free(title, TRUE); } void httpd_get_stats(struct httpconn *conn, const char *bandchar_str){ int i; struct band *b; httpd_header(conn, 200, NULL); if (!ctest){ html_header(conn->response, VTEXT(T_NO_CTEST), HTML_ICON, httpd->refresh, NULL); g_string_append(conn->response, VTEXT(T_NO_CONTEST_OPENED)); html_footer(conn->response, 0); return; } b = find_band_by_bandchar(bandchar_str[0]); if (!b){ html_header(conn->response, VTEXT(T_BAND_NOT_FOUND), HTML_ICON, httpd->refresh, NULL); g_string_append_printf(conn->response, VTEXT(T_BAND_NOT_FOUND), bandchar_str[0]); html_footer(conn->response, 0); return; } html_header(conn->response, VTEXT(T_STATS), HTML_ICON, httpd->refresh, NULL); g_string_append_printf(conn->response, "
");
    for (i = 0; i < b->statsfifo1->items->len ; i++){
        char *s = (char*)g_ptr_array_index(b->statsfifo1->items, i);
        g_string_append_printf(conn->response, "%s\n", s);
    }
    g_string_append_printf(conn->response, "
"); html_footer(conn->response, 0); } void httpd_get_qsos(struct httpconn *conn, const char *bandchar_str){ struct band *b; struct config_band *confb; char bandchar; struct subwin *map, *chart; httpd_header(conn, 200, NULL); if (!ctest){ html_header(conn->response, VTEXT(T_NO_CTEST), HTML_ICON, httpd->refresh, NULL); g_string_append(conn->response, VTEXT(T_NO_CONTEST_OPENED)); html_footer(conn->response, 0); return; } bandchar = z_char_uc(bandchar_str[0]); b = find_band_by_bandchar(bandchar); confb = get_config_band_by_bandchar(bandchar); if (!b || !confb){ html_header(conn->response, VTEXT(T_BAND_NOT_FOUND), HTML_ICON, httpd->refresh, NULL); g_string_append_printf(conn->response, VTEXT(T_BAND_C_NOT_FOUND), bandchar_str[0]); html_footer(conn->response, 0); return; } map = sw_raise_or_new(SWT_MAP); chart = sw_raise_or_new(SWT_CHART); if (map || chart){ html_header(conn->response, "QSOs", HTML_ICON, httpd->refresh, NULL); html_band_header(conn->response, b, confb, HTML_ICON | HTML_IMG_ROOT, map, chart); html_qsos(conn->response, b, confb); html_band_footer(conn->response); html_footer(conn->response, 0); } } void httpd_get_complete(struct httpconn *conn){ httpd_header(conn, 200, NULL); if (!ctest){ html_header(conn->response, VTEXT(T_NO_CTEST), HTML_ICON, httpd->refresh, NULL); g_string_append(conn->response, VTEXT(T_NO_CONTEST_OPENED)); html_footer(conn->response, 0); return; } html_complete(conn->response, HTML_IMG_ROOT); } #ifdef Z_HAVE_SDL void httpd_get_map(struct httpconn *conn, char bandchar){ struct band *band; struct subwin *map; int ret, oldaa; band = find_band_by_bandchar(bandchar); if (!band){ httpd_header(conn, 404, NULL); return; } map = sw_raise_or_new(SWT_MAP); if (!map || !map->screen) { httpd_header(conn, 404, NULL); return; } oldaa = zsdl->antialiasing; if (zsdl->antialiasing_supported) zsdl->antialiasing = 1; map->gdirty = 1; map_for_photo(map, band, 0); map_recalc_gst(map, band); sw_map_redraw(map, band, HTML_FOR_PHOTO); conn->response_zbb = zbinbuf_init(); ret = zpng_save(map->screen, NULL, conn->response_zbb); if (ret){ zbinbuf_free(conn->response_zbb); conn->response_zbb = NULL; httpd_header(conn, 500, NULL); zsdl->antialiasing = oldaa; return; } httpd_header(conn, 200, "image/png"); zsdl->antialiasing = oldaa; map_recalc_gst(map, aband); } void httpd_get_chart(struct httpconn *conn, char bandchar){ struct band *band; struct subwin *chart; int ret; band = find_band_by_bandchar(bandchar); if (!band){ httpd_header(conn, 404, NULL); return; } chart = sw_raise_or_new(SWT_CHART); if (!chart || !chart->screen) { httpd_header(conn, 404, NULL); return; } chart->gdirty = 1; sw_chart_recalc_extremes(chart, band); sw_chart_redraw(chart, band, HTML_FOR_PHOTO); conn->response_zbb = zbinbuf_init(); ret = zpng_save(chart->screen, NULL, conn->response_zbb); if (ret){ zbinbuf_free(conn->response_zbb); conn->response_zbb = NULL; httpd_header(conn, 500, NULL); return; } httpd_header(conn, 200, "image/png"); sw_chart_recalc_extremes(chart, aband); } #endif void httpd_search_form(struct httpconn *conn){ int i, nqsos = 0; time_t now; struct tm *tm; GString *gs = conn->response; zg_string_eprintfa("h", gs, "
%s - %s
\n" "
" "  " "" "
\n", ctest->pcall, ctest->tname); for (i = 0; i < ctest->bands->len; i++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i); nqsos += b->stats->nqsos; } now = time(NULL); tm = gmtime(&now); zg_string_eprintfa("h", gs, "
%d %s | " "%d.%d.%d | %02d:%02d UTC
" "


", nqsos, VTEXT(T_QSOS_IN_DATABASE), tm->tm_mday, tm->tm_mon + 1, tm->tm_year + 1900, tm->tm_hour, tm->tm_min); } /*void httpd_search(struct httpconn *conn){ GString *gs = conn->response; httpd_header(conn, 200, NULL); if (!ctest){ html_header(conn->response, "No contest", HTML_ICON | HTML_CENTER, NULL); g_string_append_printf(conn->response, "

No contest opened

\n"); g_string_append(gs, "


\n"); html_footer(conn->response, HTML_CENTER); return; } html_header(gs, "Tucnak online log", HTML_ICON | HTML_CENTER, "onLoad=\"document.getElementById('q').focus();\""); httpd_search_form(conn); g_string_append(gs, "


\n"); html_footer(conn->response, HTML_CENTER); } */ void httpd_search(struct httpconn *conn, char *call){ int i, j, found = 0; char *c; GString *gs = conn->response; GString *call2 = g_string_new(""); for (c = call; *c != '\0'; c++){ if (*c != '%') { g_string_append_c(call2, *c); continue; } if (strncmp(c, "%2F", 3) == 0){ g_string_append(call2, "/"); c += 2; continue; } // skip other %.. } httpd_header(conn, 200, NULL); if (!ctest){ html_header(conn->response, VTEXT(T_NO_CTEST), HTML_ICON|HTML_CENTER, httpd->refresh, NULL); g_string_append(conn->response, VTEXT(T_NO_CONTEST_OPENED)); g_string_append(gs, "


\n"); html_footer(conn->response, HTML_CENTER); return; } html_header(gs, VTEXT(T_TUCNAK_ONLINE_LOG), HTML_ICON | HTML_CENTER, httpd->refresh, "onLoad=\"document.getElementById('q').focus();\""); httpd_search_form(conn); /*zg_string_eprintfa("h", gs, "
%s - %s
\n", ctest->pcall, ctest->tname);*/ if (strlen(call)){ g_string_append_printf(gs, "" "", VTEXT(T_BAND2), VTEXT(T_DATE2), VTEXT(T_UTC), VTEXT(T_CALL), VTEXT(T_INFO)); for (i = 0; i < ctest->bands->len; i++){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, i); for (j = 0; j < b->qsos->len; j++){ struct qso *q = (struct qso *)g_ptr_array_index(b->qsos, j); if (strcasecmp(call2->str, q->callsign) != 0) continue; zg_string_eprintfa("h", gs, "\n"); found++; } } g_string_append(gs, "
%s%s%s%s%s
%s%s%s%s", b->pband, q->date_str, q->time_str, q->callsign); if (q->error) g_string_append(gs, "ERROR "); if (q->dupe) g_string_append(gs, "DUPE "); g_string_append(gs, "
"); if (!found) g_string_append_printf(gs, "

%s

\n", VTEXT(T_CALL_NOT_FOUND)); } g_string_append(gs, "


\n"); html_footer(conn->response, HTML_CENTER); g_string_free(call2, TRUE); } void httpd_get(struct httpconn *conn){ char *c, *page, *tmp, *page0, *page1/*, *page2*/; tmp = NULL; page = conn->request->str + strlen("GET") + 1; while (*page == ' ') page++; c = strchr(page, ' '); if (c != NULL) *c = '\0'; if (strcmp(page, "/") == 0){ if (cfg->httpd_show_priv){ httpd_get_index(conn); }else{ httpd_search(conn, ""); } return; } page0 = strtok_r(page, "/", &tmp); page1 = strtok_r(NULL, "/", &tmp); //page2 = strtok_r(NULL, "/", &tmp); if (cfg->httpd_show_priv){ // private web - all informations if (strcmp(page0, "style.css") == 0){ httpd_get_style_css(conn); }else if (strcmp(page0, "tucnak64.png") == 0){ httpd_get_mem(conn, icon_tucnak64, sizeof(icon_tucnak64)); }else if (strcmp(page0, "stats") == 0){ httpd_get_stats(conn, page1); }else if (strcmp(page0, "qsos") == 0){ httpd_get_qsos(conn, page1); }else if (strcmp(page0, "complete") == 0){ httpd_get_complete(conn); }else if (strncmp(page0, "map", 3) == 0){ #ifdef Z_HAVE_SDL httpd_get_map(conn, page0[3]); #else httpd_header(conn, 404, NULL); #endif }else if (strncmp(page0, "chart", 5) == 0){ #ifdef Z_HAVE_SDL httpd_get_chart(conn, page0[5]); #else httpd_header(conn, 404, NULL); #endif }else if (strncmp(page, "/search?q=", 10) == 0){ httpd_search(conn, page + 10); }else{ httpd_get_index(conn); } }else{ // public web - only insensitive informations if (strcmp(page0, "style.css") == 0){ httpd_get_style_css(conn); }else if (strcmp(page0, "tucnak64.png") == 0){ httpd_get_mem(conn, icon_tucnak64, sizeof(icon_tucnak64)); }else if (strncmp(page, "/search?q=", 10) == 0){ httpd_search(conn, page + 10); }else{ httpd_search(conn, ""); } } } tucnak-4.32/src/mingw.h0000644000175000017500000000101513114222706011724 00000000000000/* mingw.h - mingw32 specific functions Copyright (C) 2011-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __TUCNAK_MINGW_H #define __TUCNAK_MINGW_H #ifndef _WIN32_IE #define _WIN32_IE 0x0400 #endif #include #include #include "regex_.h" //#define PKG "nsis" int init_mingw(void); #endif tucnak-4.32/src/sdrd.h0000644000175000017500000000132312657272651011560 00000000000000/* sdrd.h - Header for SDR daemon Copyright (C) 2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SDRD_H #define __SDRD_H #define SDRD_TCP_PORT 7300 #define SDRD_CMD_SETUP 1 #define SDRD_CMD_DATA 2 #ifdef Z_MSC #pragma pack(push, 1) #endif struct sdrd_header{ uint16_t cmd; uint16_t len; // length of data without header // data here }__attribute__((packed)); struct sdrd_setup{ struct sdrd_header hdr; int32_t speed, channels, frames; }__attribute__((packed)); #ifdef Z_MSC #pragma pack(pop) #endif #endif tucnak-4.32/src/dwdb.h0000644000175000017500000000471113714017647011545 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __DWDB_H #define __DWDB_H struct cw; extern struct dw *dw; struct qso; #include struct dw_item{ gchar *wwl0, *wwl1; /* center of activity (optional), */ /* center of dxcc (geometric) */ GHashTable *wwls; /* all wwls valid for this dxcc */ int waz, itu; gchar *continent; gchar *dxcname; double latitude, longitude; }; struct wd_item{ gchar *dxc0, *dxc1; }; struct dw{ GHashTable *pd; /* key=prefix "DF", value=dxcc (main prefix) "DL" */ GHashTable *dw; /* key=dxcc "DL", value=dw_item */ GHashTable *wd; /* key=big wwl, "JN69" */ }; struct dw *init_dw(void); void free_dw(struct dw *dw); gint get_pd_size(struct dw *dw); gint get_dw_size(struct dw *dw); gint get_wd_size(struct dw *dw); void add_pd(struct dw *dw, gchar *prefix, gchar *dxc); struct dw_item *add_dxc(struct dw *dw, gchar *dxc, gchar *wwl0, gchar *wwl1, int waz, int itu, gchar *continent, gchar *dxcname, double latitude, double longitude); void add_dw(struct dw_item *dxci, gchar *dxc, gchar *wwl); void add_wd(struct dw *dw, gchar *wwl, gchar *dxc); int load_dw_from_file(struct dw *dw, gchar *filename); int load_cty_from_file(struct dw *dw, gchar *filename); void read_dw_files(struct dw *dw); struct dw_item *get_dw_item_by_call(struct dw *dw, const char *call); struct dw_item *get_dw_base_item_by_call(struct dw *dw, const char *call); int wwl_is_ok_by_call(struct dw *dw, gchar *wwl, gchar *call); int get_susp(struct cw *cw, struct dw *dw, gchar *call, gchar *wwl, int ambig); int get_susp_call(struct cw *cw, struct dw *dw, gchar *call, gchar *wwl); int get_susp_loc(struct cw *cw, struct dw *dw, gchar *call, gchar *wwl); gchar *find_wwl_by_dxc_or_pref(struct dw *dw, gchar *call); gchar *find_dxc_by_wwl(struct dw *dw, gchar *wwl); char *get_dxcc(struct dw *dw, char *buf, const char *call); char *get_pref(char *buf, const char *call); int load_dw_from_mem(struct dw *dw, const char *file, const long int len); int load_cty_from_mem(struct dw *dw, const char *file, const long int len); void call_info(void *arg); void menu_qso_check(void *arg); enum suspcall qso_info(struct qso *qso, GString *gs, GString *gs2); #endif tucnak-4.32/src/sota.h0000644000175000017500000000071513761411352011564 00000000000000/* Tucnak - SOTA contest log Copyright (C) 2002-2020 Ladislav Vaiz ; 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SOTA_H #define __SOTA_H char* get_sota_mode_ps(int mode); int export_all_bands_sota(void); gchar* get_sota_log_filename(void); #endif tucnak-4.32/src/Makefile.in0000644000175000017500000007745714125266462012540 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = tucnak$(EXEEXT) soundwrapper$(EXEEXT) EXTRA_PROGRAMS = tucnak.d$(EXEEXT) uhpd$(EXEEXT) subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = msvcver.h CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(ddir)" PROGRAMS = $(bin_PROGRAMS) am_soundwrapper_OBJECTS = soundwrapper.$(OBJEXT) soundwrapper_OBJECTS = $(am_soundwrapper_OBJECTS) soundwrapper_LDADD = $(LDADD) am_tucnak_OBJECTS = ac.$(OBJEXT) adif.$(OBJEXT) alsa.$(OBJEXT) \ button.$(OBJEXT) bfu.$(OBJEXT) cabrillo.$(OBJEXT) \ charsets.$(OBJEXT) chart.$(OBJEXT) control.$(OBJEXT) \ cordata.$(OBJEXT) cwdaemon.$(OBJEXT) cwdb.$(OBJEXT) \ cwwindow.$(OBJEXT) davac4.$(OBJEXT) dsp.$(OBJEXT) \ dwdb.$(OBJEXT) dxc.$(OBJEXT) ebw.$(OBJEXT) edi.$(OBJEXT) \ error.$(OBJEXT) excdb.$(OBJEXT) fft.$(OBJEXT) fifo.$(OBJEXT) \ hdkeyb.$(OBJEXT) hf.$(OBJEXT) html.$(OBJEXT) httpd.$(OBJEXT) \ icons.$(OBJEXT) inpout.$(OBJEXT) inputln.$(OBJEXT) \ kbd.$(OBJEXT) kbdbind.$(OBJEXT) kst.$(OBJEXT) \ language.$(OBJEXT) list.$(OBJEXT) main.$(OBJEXT) map.$(OBJEXT) \ masterdb.$(OBJEXT) menu.$(OBJEXT) menu1.$(OBJEXT) \ menu2.$(OBJEXT) menu3.$(OBJEXT) menu4.$(OBJEXT) \ menu5.$(OBJEXT) menu6.$(OBJEXT) menu7.$(OBJEXT) \ mingw.$(OBJEXT) misc.$(OBJEXT) namedb.$(OBJEXT) net.$(OBJEXT) \ ntpq.$(OBJEXT) os_dep.$(OBJEXT) oss.$(OBJEXT) pa.$(OBJEXT) \ player.$(OBJEXT) ppdev.$(OBJEXT) profile.$(OBJEXT) \ rain.$(OBJEXT) rc.$(OBJEXT) report.$(OBJEXT) rotar.$(OBJEXT) \ rtlsdr.$(OBJEXT) qrvdb.$(OBJEXT) qsodb.$(OBJEXT) \ scope.$(OBJEXT) sdev.$(OBJEXT) sdr.$(OBJEXT) sdrc.$(OBJEXT) \ session.$(OBJEXT) settings.$(OBJEXT) sked.$(OBJEXT) \ slovhfnet.$(OBJEXT) sndf.$(OBJEXT) sndpipe.$(OBJEXT) \ sota.$(OBJEXT) sota_api.$(OBJEXT) sota_spot.$(OBJEXT) \ sota_upload.$(OBJEXT) ssbd.$(OBJEXT) state.$(OBJEXT) \ stats.$(OBJEXT) stf.$(OBJEXT) subwin.$(OBJEXT) \ terminal.$(OBJEXT) titlpage.$(OBJEXT) translate.$(OBJEXT) \ tregex.$(OBJEXT) trig.$(OBJEXT) tsdl.$(OBJEXT) ttys.$(OBJEXT) \ txts.$(OBJEXT) update.$(OBJEXT) voip.$(OBJEXT) \ vhfcontestnet.$(OBJEXT) winkey.$(OBJEXT) wiki.$(OBJEXT) \ wizz.$(OBJEXT) zosk.$(OBJEXT) zstring.$(OBJEXT) tucnak_OBJECTS = $(am_tucnak_OBJECTS) tucnak_DEPENDENCIES = am_tucnak_d_OBJECTS = map2d.$(OBJEXT) tucnak_d_OBJECTS = $(am_tucnak_d_OBJECTS) tucnak_d_LDADD = $(LDADD) am_uhpd_OBJECTS = uhpd.$(OBJEXT) uhpd_OBJECTS = $(am_uhpd_OBJECTS) uhpd_LDADD = $(LDADD) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(soundwrapper_SOURCES) $(tucnak_SOURCES) \ $(tucnak_d_SOURCES) $(uhpd_SOURCES) DIST_SOURCES = $(soundwrapper_SOURCES) $(tucnak_SOURCES) \ $(tucnak_d_SOURCES) $(uhpd_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(d_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/msvcver.h.in \ $(top_srcdir)/depcomp $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ CLEANFILES = svnversion.tmp ddir = $(prefix)/lib/$(DEB_HOST_MULTIARCH)/tucnak d_DATA = tucnak.d tucnak_SOURCES = \ ac.c ac.h \ adif.c adif.h alsa.c alsa.h button.c button.h bfu.c bfu.h \ cabrillo.c \ charsets.c charsets.h \ chart.c chart.h codepage.h codepage.inc \ control.c control.h cordata.c cordata.h cordata.inc \ cwdaemon.c cwdaemon.h cwdb.c cwdb.h cwdaemon.h cwwindow.c cwwindow.h \ davac4.c davac4.h dsp.c dsp.h dwdb.c dwdb.h dxc.c dxc.h \ ebw.c ebw.h edi.c edi.h \ error.c excdb.c excdb.h fft.c fft.h \ fifo.c fifo.h \ hdkeyb.c hdkeyb.h header.h \ hf.c hf.h html.c html.h \ httpd.c httpd.h \ icons.c icons.h icons.inc inpout.c inpout.h inputln.c inputln.h \ kbd.c kbd.h \ kbdbind.c kbdbind.h \ kst.c kst.h \ language.c language.h language.inc language2.h \ list.c main.c main.h map.c map.h masterdb.c masterdb.h \ menu.c menu.h menu1.c menu2.c menu3.c menu4.c menu5.c menu6.c menu7.c \ mingw.c mingw.h misc.c misc.h namedb.c namedb.h net.c net.h ntpq.c ntpq.h \ os_dep.c os_dep.h oss.c oss.h pa.c pa.h player.c player.h ppdev.c ppdev.h \ profile.c rain.c rain.h rc.c rc.h \ report.c rotar.c rotar.h rtlsdr.c rtlsdr.h \ qrvdb.c qrvdb.h qsodb.c qsodb.h scope.c scope.h \ sdev.c sdev.h sdr.c sdr.h sdrc.c sdrc.h sdrd.h \ session.c session.h settings.c sked.c sked.h slovhfnet.h slovhfnet.c \ sndf.c sndf.h sndpipe.c sndpipe.h \ sota.c sota.h \ sota_api.c sota_api.h \ sota_spot.c sota_spot.h \ sota_upload.c sota_upload.h \ ssbd.c ssbd.h state.c state.h stats.c stats.h stf.c subwin.c subwin.h svnversion.h \ terminal.c terminal.h titlpage.c translate.c translate.h \ tregex.c tregex.h trig.c trig.h \ tsdl.c tsdl.h ttys.c ttys.h txts.c txts.h txts.inc \ uni_7b.inc update.c update.h voip.c voip.h vhfcontestnet.c vhfcontestnet.h \ winkey.c winkey.h wiki.c wiki.h wizz.c wizz.h \ zosk.c zosk.h \ zstring.c zstring.h tucnak_LDADD = @TUCNAK_LDADD@ #tucnak_DEPENDENCIES = ../../libzia/src/libzia.a soundwrapper_SOURCES = soundwrapper.c tucnak_d_SOURCES = map2d.c uhpd_SOURCES = uhpd.c #sdrd_SOURCES = \ # alsa.c alsa.h \ # dsp.c dsp.h \ # header.h \ # oss.c oss.h \ # pa.c pa.h \ # sdrc.c sdrc.h \ # sdrd.c sdrd.h \ # sndf.c sndf.h \ # sndpipe.c sndpipe.h #sdrd_LDADD = -lzia -lasound -lglib-2.0 -lportaudio -lftdi -lutil -lsndfile #sdrd_LDADD = @TUCNAK_LDADD@ #sdrd_LDFLAGS = -L/home/ok1zia/c/libzia/src/.libs -Wl,-Bstatic -lzia -Wl,-Bdynamic -lsndfile -lasound -lglib-2.0 -lportaudio EXTRA_DIST = msvc.c msvc.h msvcver.h sles.c Android.mk all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): msvcver.h: $(top_builddir)/config.status $(srcdir)/msvcver.h.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) soundwrapper$(EXEEXT): $(soundwrapper_OBJECTS) $(soundwrapper_DEPENDENCIES) $(EXTRA_soundwrapper_DEPENDENCIES) @rm -f soundwrapper$(EXEEXT) $(AM_V_CCLD)$(LINK) $(soundwrapper_OBJECTS) $(soundwrapper_LDADD) $(LIBS) tucnak$(EXEEXT): $(tucnak_OBJECTS) $(tucnak_DEPENDENCIES) $(EXTRA_tucnak_DEPENDENCIES) @rm -f tucnak$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tucnak_OBJECTS) $(tucnak_LDADD) $(LIBS) uhpd$(EXEEXT): $(uhpd_OBJECTS) $(uhpd_DEPENDENCIES) $(EXTRA_uhpd_DEPENDENCIES) @rm -f uhpd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(uhpd_OBJECTS) $(uhpd_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adif.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/button.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cabrillo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/charsets.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chart.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/control.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cordata.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cwdaemon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cwdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cwwindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/davac4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dxc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ebw.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/excdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fft.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fifo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdkeyb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/html.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icons.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inpout.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inputln.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kbd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kbdbind.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kst.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/language.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map2d.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/masterdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu6.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu7.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mingw.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/namedb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntpq.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os_dep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oss.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/player.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppdev.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/profile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qrvdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qsodb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/report.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rotar.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtlsdr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdev.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdrc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sked.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slovhfnet.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sndf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sndpipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sota.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sota_api.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sota_spot.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sota_upload.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soundwrapper.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssbd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/state.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stats.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subwin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terminal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/titlpage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/translate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tregex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trig.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsdl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttys.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/txts.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uhpd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/update.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vhfcontestnet.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/voip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wiki.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winkey.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wizz.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zosk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zstring.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-dDATA: $(d_DATA) @$(NORMAL_INSTALL) @list='$(d_DATA)'; test -n "$(ddir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(ddir)'"; \ $(MKDIR_P) "$(DESTDIR)$(ddir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ddir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(ddir)" || exit $$?; \ done uninstall-dDATA: @$(NORMAL_UNINSTALL) @list='$(d_DATA)'; test -n "$(ddir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(ddir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(ddir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-dDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-binPROGRAMS install-dDATA install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-dDATA .PRECIOUS: Makefile tucnak.d$(EXEEXT): tucnak$(EXEEXT) map2d ./map2d tucnak map2d: map2d.c $(CC) map2d.c -o $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/src/msvc.c0000644000175000017500000000605114114415527011561 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. Interface for MSVC compiler */ #include "header.h" #include #include #include #include #include "tsdl.h" #include #include int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ WSADATA wsaData; char **items; int argc; char *argv[100]; char exepath[MAX_PATH]; GString *gs; #ifdef HAVE_HAMLIB const char *hlver; #endif //rig_load_all_backends(); //RIG *tmprig = rig_init(228); int nCodePage = GetACP(); //zfence_init(256, 0xee, 0xeeeeeeee); //zfence_init(16, '\0', 0xee); WSAStartup(MAKEWORD(2, 0), &wsaData); /*error(zstr_shorten("0123456789", 6)); error(zstr_shorten("0123456789", 5)); error(zstr_shorten("012345678", 6)); error(zstr_shorten("012345678", 5));*/ gs = g_string_new("------ Settings: --------\n"); g_string_append_printf(gs, " version: %s-%s %s\n", PACKAGE, Z_PLATFORM, VERSION); g_string_append_printf(gs, " iconv: %d.%d\n", _LIBICONV_VERSION >> 8, _LIBICONV_VERSION & 0xff); g_string_append_printf(gs, " libgpm: no \n"); g_string_append_printf(gs, "libsndfile: yes %s\n", sf_version_string()); g_string_append_printf(gs, " alsa: no\n"); #ifdef HAVE_HAMLIB hlver = strchr(hamlib_version, ' '); if (hlver) g_string_append_printf(gs, " libhamlib: yes %s\n", hlver + 1); //g_string_append_printf(gs, " libhamlib: yes 3.0.1-zia\n"); #else g_string_append_printf(gs, " libhamlib: no\n"); #endif #ifdef HAVE_LIBFFTW3 g_string_append_printf(gs, " libfftw3: yes\n"); // g_string_append_printf(gs, " libfftw3: yes %s\n", fftw_version); #else g_string_append_printf(gs, " libfftw3: no\n"); #endif #ifdef HAVE_PORTAUDIO g_string_append_printf(gs, " portaudio: yes %d.%02d\n", Pa_GetVersion() / 100, Pa_GetVersion() % 100); #else g_string_append_printf(gs, " portaudio: no\n"); #endif g_string_append_printf(gs, " inpout: yes\n"); g_string_append_printf(gs, "leak debug: no\n"); g_string_append_printf(gs, "instrument: no\n"); txt_settings = g_strdup(gs->str); g_string_free(gs, TRUE); items = g_strsplit(lpCmdLine, " ", 0); if (GetModuleFileName(0, exepath, MAX_PATH) != 0) argv[0] = exepath; else argv[0] = "tucnak.exe"; // MessageBox(NULL, argv[0], "argv[0]", MB_OK); for (argc=1; items[argc-1] != 0 && argc < 100; argc++){ if (items[argc-1] == NULL) break; argv[argc] = items[argc-1]; } main(argc, argv); g_strfreev(items); return 0; } char *txt_settings; /* ntpq */ struct ntpq *ntpq; struct ntpq *init_ntpq(){ //progress("Initializing NTP monitor"); return NULL; } void free_ntpq(struct ntpq *ntpq){ //progress("Terminating NTP monitor"); } tucnak-4.32/src/rotar.c0000644000175000017500000004770714066537536011770 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "hdkeyb.h" #include "kbd.h" #include "main.h" #include "map.h" #include "net.h" #include "rc.h" #include "rotar.h" #include "sdev.h" #include "tsdl.h" #include "session.h" #include "subwin.h" #include "zstring.h" struct rotar *rota,*rotb; //struct hdkeyb *hdkeyb; GPtrArray *rotars; MUTEX_DEFINE(rotars); struct rotar *rotar; #ifdef HAVE_HAMLIB static int rot_print_model_list(const struct rot_caps *caps, void *data) { log_addf("%-6d %-14s %-20s %s\n", caps->rot_model, caps->mfg_name, caps->model_name, caps->version); return 1; /* !=0, we want them all ! */ } #endif struct rotar *init_rotar(struct config_rotar *crot, int rotchar){ struct rotar *rot; if (!crot) return NULL; if (!crot->rot_type) return NULL; rot = g_new0(struct rotar, 1); rot->poll_ms = crot->rot_poll_ms; rot->last_req = ztimeout_init(rot->poll_ms); #ifdef HAVE_HAMLIB rot->rot_speed = crot->rot_speed; #endif switch(crot->rot_type){ case ROT_OK1ZIA_TTYS: rot->sdev=sd_open_ttys(crot->rot_saddr, crot->rot_filename, crot->rot_timeout_ms); dbg("init_rotar rot=%p saddr=%d filename='%s' timeout=%d\n", rot->sdev, crot->rot_saddr, crot->rot_filename, crot->rot_timeout_ms); if (!rot->sdev){ g_free(rot); return NULL; } rot->sdev->sdev_main = rotar_main; rot->sdev->arg = rot; break; case ROT_OK1ZIA_FTDI: rot->sdev=sd_open_ftdi(crot->rot_saddr, crot->rot_vid, crot->rot_pid, crot->rot_serial, crot->rot_timeout_ms); dbg("init_rotar rot=%p saddr=%d %04x:%04x timeout=%d sdev=%p\n", rot->sdev, crot->rot_saddr, crot->rot_vid, crot->rot_pid, crot->rot_timeout_ms, rot->sdev); if (!rot->sdev){ g_free(rot); return NULL; } rot->sdev->sdev_main = rotar_main; rot->sdev->arg = rot; break; case ROT_REMOTE: dbg("init_rotar rot=%p saddr=%d hostname='%s' port='%d' timeout=%d\n", rot->sdev, crot->rot_saddr, crot->rot_hostname, crot->rot_port, crot->rot_timeout_ms); break; #ifdef HAVE_HAMLIB case ROT_HAMLIB: if (strlen(crot->rot_filename) == 0){ log_addf("Can't init rotator, empty file name"); g_free(rot); return NULL; } rot->rot = rot_init(crot->rot_model); if (!rot->rot){ log_addf(VTEXT(T_UNKNOWN_ROTNR_OR_INIT_ERROR), crot->rot_model); g_free(rot); log_addf(VTEXT(T_REGISTRATED_ROTATORS)); rot_load_all_backends(); rot_list_foreach(rot_print_model_list, NULL); return NULL; } TRROT(0, "rot_init(model %d) OK", rot->rot->caps->rot_model); if (crot->rot_model > 0){ #ifdef Z_MSC_MINGW_CYGWIN if (strchr(crot->rot_filename, '\\') == NULL && z_strcasestr(crot->rot_filename, "COM") != NULL){ char *c = g_strdup_printf("\\\\.\\%s", crot->rot_filename); safe_strncpy(rot->rot->state.rotport.pathname, c, HAMLIB_FILPATHLEN - 1); g_free(c); } else #endif { safe_strncpy(rot->rot->state.rotport.pathname, crot->rot_filename, HAMLIB_FILPATHLEN - 1); } if (rot->rot_speed > 0) rot->rot->state.rotport.parm.serial.rate = rot->rot_speed; TRROT(0, "rotar %c pathname='%s' speed=%d", rotchar, rot->rot->state.rotport.pathname, rot->rot->state.rotport.parm.serial.rate); } rot->hl_azim = -1; rot->hl_elev = -90; rot->hl_lastelev = 0; rot->hl_model = crot->rot_model; rot->hl_thread = g_thread_try_new("hamlib rotator", rot_hamlib_main, (gpointer)rot, NULL); if (!rot->hl_thread) { log_addf(VTEXT(T_CANT_CREATE_HL_ROT_THR)); } break; #endif default: log_addf(VTEXT(T_UNSUPPORTED_ROTATOR), crot->rot_type); g_free(rot); return NULL; break; } rot->desc=g_strdup(crot->rot_desc); rot->beamwidth=crot->rot_beamwidth; rot->color=0xffffffff; /*replaced in rot_update_colors*/ /* rot->qtf=260+40*cfg->nr;*/ // rot->timer_id=-1; rot->rotchar=rotchar; rot->rotstr[0]=rotchar; rot->rotstr[1]='\0'; rot->type = crot->rot_type; rot->netid = g_strdup_printf("%s:%d", crot->rot_hostname, crot->rot_port); rot->rem_rotstr = g_strdup(crot->rot_rem_rotstr); /* if (rot->sdev){ rot->sdev->sconn->sprotocol = SPROT_ROTAR; g_snprintf(s, sizeof(s), "%d", SPROT_ROTAR); zwrite(rot->sdev->sconn->pipe_write, zconcatesc("ADD", rot->rotstr, rot->sdev->saddr_str, s, NULL)); }*/ return rot; } void free_rotar(struct rotar *rot){ #ifdef HAVE_HAMLIB if (rot->hl_thread){ progress(VTEXT(T_WAIT_HL_ROT_THREAD)); rot->hl_thread_break = 1; dbg("join hamlib rotar...\n"); g_thread_join(rot->hl_thread); dbg("done\n"); rot->hl_thread=0; } #endif g_free(rot->desc); g_free(rot->netid); g_free(rot->rem_rotstr); free_sd(rot->sdev); g_free(rot); } int init_rotars(){ struct rotar *rot; struct config_rotar *cfgrot; int i; char rotchar='A'; progress(VTEXT(T_INIT_ROTARS2)); MUTEX_INIT(rotars); rotars=g_ptr_array_new(); for (i=0;icrotars->len;i++){ cfgrot=(struct config_rotar*)g_ptr_array_index(cfg->crotars, i); if (!cfgrot) continue; rot=init_rotar(cfgrot, rotchar++); if (!rot) continue; MUTEX_LOCK(rotars); g_ptr_array_add(rotars, rot); MUTEX_UNLOCK(rotars); } #ifdef Z_HAVE_SDL rot_update_colors(); #endif return 0; } int free_rotars(void){ int i; struct rotar *rot; progress(VTEXT(T_INIT_ROTARS2)); MUTEX_LOCK(rotars); for (i=0;ilen;i++){ rot = (struct rotar *) g_ptr_array_index(rotars, i); free_rotar(rot); } MUTEX_UNLOCK(rotars); g_ptr_array_free(rotars,1); rotars=NULL; return 0; } #ifdef Z_HAVE_SDL int rot_update_colors(){ int i; struct rotar *rot; if (!sdl || !rotars) return -1; MUTEX_LOCK(rotars); for (i=0;ilen;i++){ rot = (struct rotar *)g_ptr_array_index(rotars, i); switch(i%4){ case 0: rot->color=z_makecol(200,0,0); rot->termcolor=COL_RED; break; case 1: rot->color=z_makecol(200,0,200); rot->termcolor=COL_MAGENTA; break; case 2: rot->color=z_makecol(0,200,0); rot->termcolor=COL_GREEN; break; case 3: rot->color=z_makecol(0,200,200); rot->termcolor=COL_CYAN; break; } } MUTEX_UNLOCK(rotars); return 0; } #endif int rot_seek(struct rotar *rot, int uhel, int elev){ char *c; struct sconn_job *job; if (!rot) return 0; switch (rot->type){ case ROT_REMOTE: c = g_strdup_printf("RS %s;%s;%d;%d\n", rot->netid, rot->rem_rotstr, uhel, elev); rel_write_all(c); g_free(c); break; #ifdef HAVE_HAMLIB case ROT_HAMLIB: rot->hl_azim = uhel; rot->hl_elev = elev; break; #endif default: job = g_new0(struct sconn_job, 1); job->cmd = SCONN_ROT_AZIM; job->sdev = rot->sdev; job->azim = uhel; job->elev = elev; sconn_job_add(rot->sdev->sconn, job); break; } return 0; } struct config_rotar *get_config_rotar_by_number(GPtrArray *crots, int nr){ struct config_rotar *crot; int i; for (i=0; icrotars->len; i++){ crot = (struct config_rotar *)g_ptr_array_index(crots, i); if (crot->nr==nr) return crot; } return NULL; } struct rotar *get_rotar(int nr){ struct rotar *rot; if (!rotars) return NULL; if (nr>=rotars->len) return NULL; MUTEX_LOCK(rotars); rot = (struct rotar*) g_ptr_array_index(rotars, nr); MUTEX_UNLOCK(rotars); return rot; } struct rotar *get_rotar_by_rotstr(char *rotstr){ int i; struct rotar *rot = NULL; if (!rotars) return NULL; MUTEX_LOCK(rotars); for (i=0;ilen;i++){ rot=(struct rotar *)g_ptr_array_index(rotars, i); if (rot->rotchar!=rotstr[0]) continue; break; } MUTEX_UNLOCK(rotars); return rot; } struct rotar *get_rotar_by_netid_rotstr(char *netid, char *rotstr){ int i; struct rotar *ret = NULL; if (!rotars) return NULL; MUTEX_LOCK(rotars); for (i=0;ilen;i++){ struct rotar *rot=(struct rotar *)g_ptr_array_index(rotars, i); //dbg(" rot->type=%d rotchar=%s netid=%s\n", rot->type, rot->rem_rotstr, rot->netid); if (rot->type != ROT_REMOTE) continue; if (strcmp(rot->netid, netid)!=0) continue; if (strcmp(rot->rem_rotstr, rotstr)!=0) continue; ret = rot; break; } MUTEX_UNLOCK(rotars); return ret; } void rotar_read_handler(int n, char **items){ struct zstring *zs2; char *cmd, *rotstr, *c; struct rotar *rot; // dbg("rotar_read_handler('%s') gses=%p\n", line, gses); rotstr = items[1]; rot = get_rotar_by_rotstr(rotstr); if (!rot){ log_addf(VTEXT(T_UNKNOWN_ROTAR), rotstr); //dbg("Unknown rotar '%s'\n", rotstr); goto x; } cmd = items[2]; // dbg("rotar_read_handler rcvd: '%s' cmd='%s' rotstr='%s'\n", line, cmd, rotstr); if (strcmp(cmd, "!")==0){ /* error */ log_addf(VTEXT(T_ROTAR_ERROR_S), items[3]); } if (strcasecmp(cmd, "QTF")==0){ char *qtf = items[3]; char *elev = items[4]; rot->qtf=atoi(qtf); rot->elev = atoi(elev); zs2 = zconcatesc(gnet->myid, rotstr, qtf, elev, NULL); c = g_strconcat("RU ", zs2->str, "\n", NULL); rel_write_all(c); g_free(c); zfree(zs2); #ifdef Z_HAVE_SDL //if (!gses->redraw_timer_id) // gses->redraw_timer_id = zselect_timer_new(zsel, DELAY_AFTER_UPDATE_ROTAR, timer_redraw, NULL); if (gses && gses->ontop->type == SWT_MAP){ if (!gses->update_rotar_timer_id) gses->update_rotar_timer_id = zselect_timer_new(zsel, 2*DELAY_AFTER_UPDATE_ROTAR, timer_update_rotar, NULL); } #endif #ifdef Z_HAVE_LIBFTDI hdkeyb_draw_rotar(hdkeyb, rot->rotchar - 'A'); #endif redraw_later(); goto x; } x:; redraw_later(); } void timer_update_rotar(void *arg){ #ifdef Z_HAVE_SDL if (gses && gses->ontop->type == SWT_MAP){ sw_map_update_rotar(gses->ontop); } gses->update_rotar_timer_id = 0; #endif } // called from sconn thread int rotar_main(struct sdev *sdev){ struct rotar *rot = (struct rotar *)sdev->arg; char data[256]; int len, ret, qtf, elev; // static int xx = 0; //dbg("rotar_main rot=%p\n", rot); if (!rot) return -1; if (!ztimeout_occured(rot->last_req)) return 113; rot->last_req = ztimeout_init(rot->poll_ms); len=0; // dbg("\nsd_prot\n"); ret = sd_prot(rot->sdev->sconn, rot->sdev->saddr, 64, data, &len, rot->sdev->timeout_ms); //dbg("sd_prot ret=%d\n", ret); if (ret != 0) return ret; qtf = (unsigned char)data[0] + 256 * (unsigned char)data[1]; elev = (int16_t)((unsigned char)data[2] + 256 * (unsigned char)data[3]); // qtf = (xx++ % 360);//FIXME trace(cfg->trace_sdev, "qtf=%d old=%d elev=%d old=%d\n", qtf, rot->oldqtf, elev, rot->oldelev); if (qtf == rot->oldqtf && elev == rot->oldelev) return 0; rot->oldqtf = qtf; rot->oldelev = elev; //g_snprintf(s, sizeof(s), "%d", qtf); //ret = zwrite(tpipe->threadpipe_write, zconcatesc("ROT", rot->rotstr, "QTF", s, NULL)); zselect_msg_send(zsel, "%s;%s;%s;%d;%d", "ROT", rot->rotstr, "QTF", qtf, elev); // dbg("zwrite ret=%d\n", ret); return 0; } void rotar_remote_update(char *c){ char *netid, *rotstr, *qtf, *elev; struct zstring *zs; struct rotar *rot; //dbg("rotar_remote_update('%s')\n", c); zs = zstrdup(c); netid = ztokenize(zs, 1); if (!netid) goto x; rotstr = ztokenize(zs, 0); if (!rotstr) goto x; qtf = ztokenize(zs, 0); if (!qtf) goto x; elev = ztokenize(zs, 0); if (!elev) goto x; rot = get_rotar_by_netid_rotstr(netid, rotstr); //dbg("rotar_remote_update id='%s' rotstr='%s' rot=%p\n", netid, rotstr, rot); if (!rot) goto x; rot->qtf = atoi(qtf); rot->elev = atoi(elev); redraw_later(); #ifdef Z_HAVE_SDL if (gses->ontop->type == SWT_MAP){ gses->ontop->gdirty = 1; } #endif x:; zfree(zs); } /****************************** rotar dialog ***************************/ static char rotar_qtf_str[EQSO_LEN], rotar_elev_str[EQSO_LEN]; static char rotar_desc1[MAX_STR_LEN], rotar_desc2[MAX_STR_LEN]; void refresh_rotar(void *xxx){ if (strlen(rotar_qtf_str) <= 0) return; int elev = -90; if (strlen(rotar_elev_str) > 0) elev = atoi(rotar_elev_str); ac_track(gacs, NULL, -10); rot_seek(rotar, atoi(rotar_qtf_str), elev); } char *rotar_msg[] = { CTEXT(T_AZIMUTH), CTEXT(T_ELEVATION), }; void rotar_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_text_width(term, rotar_desc1, &max); min_text_width(term, rotar_desc1, &min); max_text_width(term, rotar_desc2, &max); min_text_width(term, rotar_desc2, &min); max_group_width(term, rotar_msg + 0, dlg->items + 0, 1, &max); min_group_width(term, rotar_msg + 0, dlg->items + 0, 1, &min); max_group_width(term, rotar_msg + 1, dlg->items + 1, 1, &max); min_group_width(term, rotar_msg + 1, dlg->items + 1, 1, &min); max_buttons_width(term, dlg->items + 2, 2, &max); min_buttons_width(term, dlg->items + 2, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB - 8 ) w = dlg->win->term->x - 2 * DIALOG_LB - 8; if (w < 1) w = 1; rw = 0; y ++; dlg_format_text (NULL, term, rotar_desc1, dlg->x+6, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT); dlg_format_text (NULL, term, rotar_desc2, dlg->x+6, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT); dlg_format_group(NULL, term, rotar_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, rotar_msg + 1, dlg->items + 1, 1, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items + 2, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_text (term, term, rotar_desc1, dlg->x+6, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT); dlg_format_text (term, term, rotar_desc2, dlg->x+6, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT); dlg_format_group(term, term, rotar_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, rotar_msg + 1, dlg->items + 1, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_buttons(term, term, dlg->items + 2, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } void rotar_set_desc(void){ switch(rotar->type){ #ifdef HAVE_HAMLIB case ROT_HAMLIB: g_snprintf(rotar_desc1, MAX_STR_LEN, "%s %c (hamlib %u)", VTEXT(T_ROTAR), rotar->rotchar, rotar->hl_model); break; #endif case ROT_REMOTE: g_snprintf(rotar_desc1, MAX_STR_LEN, "%s %c (%s %s)", VTEXT(T_ROTAR), rotar->rotchar, rotar->netid, rotar->rem_rotstr); break; default: g_snprintf(rotar_desc1, MAX_STR_LEN, "%s %c (%u)", VTEXT(T_ROTAR), rotar->rotchar, (unsigned char)rotar->sdev->saddr); break; } g_snprintf(rotar_desc2, MAX_STR_LEN, "%s", rotar->desc); } int rotar_func(struct dialog_data *data, struct event *ev){ char rotchar; /* dbg("mouse ev=%d x=%d y=%d b=%d\n", ev->ev, ev->x, ev->y, ev->b); */ switch(ev->ev){ case EV_KBD: if (ev->y & KBD_ALT) break; if (ev->y & KBD_CTRL) break; rotchar=z_char_uc(ev->x); if (rotchar<'A' || rotchar>'Z') { return -1; } if (rotchar<'A' || rotchar-'A'>=rotars->len) { return EVENT_PROCESSED; } /*dbg("rotar %c\n", rotchar);*/ rotar=get_rotar(rotchar-'A'); rotar_set_desc(); resize_terminal(NULL); return EVENT_PROCESSED; } return -1; /* !EVENT_PROCESSED */ } void menu_rotar(void *arg){ struct dialog *d; int i; if (!rotar) rotar=get_rotar(0); if (!rotar) return; rotar_set_desc(); /*g_snprintf(rotar_qtf_str, EQSO_LEN, "%d", rotar->qtf); g_snprintf(rotar_elev_str, EQSO_LEN, "%d", rotar->elev);*/ strcpy(rotar_qtf_str, ""); strcpy(rotar_elev_str, ""); if (!(d = (struct dialog *) g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_ROTAR); d->fn = rotar_fn; d->refresh = (void (*)(void *))refresh_rotar; d->refresh_data = (void *)rotar; d->handle_event = rotar_func; d->items[i=0].type = D_FIELD; /* 0 */ d->items[i].dlen = EQSO_LEN; d->items[i].data = rotar_qtf_str; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rotar_elev_str; d->items[++i].type = D_BUTTON; /* 2 */ d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } #ifdef HAVE_HAMLIB gpointer rot_hamlib_main(gpointer xxx){ int ret; struct rotar *rot = (struct rotar*)xxx; azimuth_t azimuth; elevation_t elevation; int qtf, elev; int tmo; dbg("rot_hl_main\n"); zg_thread_set_name("Tucnak hamlib rotator"); ret = rot_open(rot->rot); if (ret != RIG_OK){ TRROT(1, "rot_open(model %d) failed, code %d", rot->rot->caps->rot_model, ret); return NULL; } TRROT(1, "rot_open(model %d) OK", rot->rot->caps->rot_model); while(!rot->hl_thread_break){ if (rot->hl_give_me_chance) { usleep(10000); continue; } if (rot->hl_azim >= 0){ azimuth_t az = rot->hl_azim; elevation_t el = rot->hl_elev; if (el <= -90) el = rot->hl_lastelev; ret = rot_set_position(rot->rot, az, el); TRROT(1, "rot_set_position(az %3.1f, el %3.1f) = %d", (double)az, (double)el, ret); rot->hl_azim = -1; } ret = rot_get_position(rot->rot, &azimuth, &elevation); if (ret == RIG_OK){ TRROT(1, "rot_get_position() = az %3.1f, el %3.1f", (double)azimuth, (double)elevation); rot->hl_lastelev = elevation; qtf = (int)roundf((float)azimuth); elev = (int)roundf((float)elevation); if (qtf != rot->oldqtf || elev != rot->elev){ rot->oldqtf = qtf; rot->oldelev = elev; // g_snprintf(s, sizeof(s), "%d", qtf); zselect_msg_send(zsel, "ROT;%s;QTF;%d;%d", rot->rotstr, qtf, elev); // ret = zwrite(tpipe->threadpipe_write, zconcatesc("ROT", rot->rotstr, "QTF", s, NULL)); // dbg("zwrite ret=%d\n", ret); } }else{ TRROT(1, "rot_get_position() failed, ret=%d", ret); } if (rot->poll_ms > 0){ for (tmo = ztimeout_init(rot->poll_ms); !ztimeout_occured(tmo); ) { if (rot->hl_azim >= 0) break; usleep(10000); } } } TRROT(1, "rot_hl_main exiting\n"); rot_close(rot->rot); return NULL; } #endif int rot_beamwidth(){ int beamwidth = 20; struct config_rotar *rot; if (!cfg->crotars->len) return beamwidth; rot = (struct config_rotar *)g_ptr_array_index(cfg->crotars, 0); return rot->rot_beamwidth; } tucnak-4.32/src/error.c0000644000175000017500000002647012417273633011755 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" static GHashTable *mbs; static MUTEX_DEFINE(mbs); #ifdef LEAK_DEBUG_LIST char *mbs_file; int mbs_line; #endif #ifdef LEAK_DEBUG long mem_amount = 0; long last_mem_amount = -1; #ifdef LEAK_DEBUG_LIST /*struct list_head memory_list = { &memory_list, &memory_list };*/ struct alloc_header memory_list = { &memory_list, &memory_list }; GMutex *memory_list_mutex; char *memory_list_file; int memory_list_line; #endif #endif void check_memory_leaks(void) { #ifdef LEAK_DEBUG if (mem_amount) { free_all_itrms(); fprintf(stderr, "\n\033[1mMemory leak by %ld bytes\033[0m\n", mem_amount); #ifdef LEAK_DEBUG_LIST fprintf(stderr, "\nList of blocks: "); { int r = 0; struct alloc_header *ah; MUTEX_LOCK(memory_list); foreach (ah, memory_list) { fprintf(stderr, "%s%p:%d @ %s:%d", r ? ", ": "", (char *)ah + L_D_S, ah->size, ah->file, ah->line), r = 1; if (ah->comment) fprintf(stderr, ":\"%s\"", ah->comment); } fprintf(stderr, "\n"); MUTEX_UNLOCK(memory_list); } #endif force_dump(); } #endif } void init_debug(void){ mbs=g_hash_table_new(g_direct_hash, g_direct_equal); MUTEX_INIT(mbs); #ifdef LEAK_DEBUG_LIST MUTEX_INIT(memory_list); #endif //dbg("init_debug: sizeof(alloc_header)=%d, L_D_S=%d\n", sizeof(struct alloc_header), L_D_S); //zdebug_init(debug_type); } void free_debug(void){ zdebug_free(); g_hash_table_destroy(mbs); MUTEX_FREE(mbs); #ifdef LEAK_DEBUG_LIST MUTEX_FREE(memory_list); #endif } static void print_str_hash(gpointer key, gpointer value, gpointer data){ dbg("\tkey='%s' \tvalue='%s'\n", key, value); } void dbg_str_hash(GHashTable *hash){ g_hash_table_foreach(hash, print_str_hash, NULL); } #ifdef LEAK_DEBUG void *debug_mem_alloc(char *file, int line, size_t size) { void *p; #ifdef LEAK_DEBUG struct alloc_header *ah; #endif #ifdef LEAK_DEBUG_LIST gpointer orig_key, value; char *c; #endif if (!size) return DUMMY; #ifdef LEAK_DEBUG mem_amount += size; size += L_D_S; #endif if (!(p = xmalloc(size + MCHK_LEAD))) { error("ERROR: out of memory (malloc returned NULL)\n"); return NULL; } #ifdef LEAK_DEBUG ah = p; p = (char *)p + L_D_S; ah->size = size - L_D_S; #ifdef LEAK_DEBUG_LIST // fprintf(stderr, "malloc(%d)=%p p=%p L_D_S=%d\n", size + MCHK_LEAD, ah, p, L_D_S); for (c = (char *)p - MCHK_LEAD; c != p; c++) { *c = MCHK_PATTERN; // fprintf(stderr, "%p=%02x\n", c, (unsigned char)*c); } for (c = (char *)p + ah->size; c != (char *)p + ah->size + MCHK_TRAIL; c++){ *c = MCHK_PATTERN; // fprintf(stderr, "%p=%02x\n", c, (unsigned char)*c); } ah->file = file; ah->line = line; ah->comment = NULL; MUTEX_LOCK(memory_list); add_to_list(memory_list, ah); MUTEX_UNLOCK(memory_list); MUTEX_LOCK(mbs); if (g_hash_table_lookup_extended(mbs, (char*)p, &orig_key, &value)){ int cnt=(vint)value; if (value!=0){ free_all_itrms(); fprintf(stderr, " alloc: already allocated(%d): %p:%d @ %s:%d\n", cnt, p, ah->size, ah->file, ah->line); force_dump(); } } g_hash_table_insert(mbs, p, (gpointer)1); MUTEX_UNLOCK(mbs); #endif #endif /* fprintf(stderr, "debuf_mem_alloc(%s:%d, %d)=%p\n", file, line, size, p);*/ return p; } void debug_mem_free(char *file, int line, void *p) { #ifdef LEAK_DEBUG void *xp; struct alloc_header *ah; #endif #ifdef LEAK_DEBUG_LIST gpointer orig_key, value; char *c; #endif if (p == DUMMY) return; if (!p) { errfile = file, errline = line, internal_error("mem_free(NULL)"); return; } #ifdef LEAK_DEBUG xp = p; p = (char *)p - L_D_S; ah = p; #ifdef LEAK_DEBUG_LIST for (c = (char *)xp - MCHK_LEAD; c != xp; c++) { if (*c == MCHK_PATTERN) continue; fprintf(stderr, " free: corrupted leading block %p:%d @ %s:%d ", xp, ah->size, ah->file, ah->line); for (c = (char *)xp - MCHK_LEAD; c != xp; c++) fprintf(stderr, " %02x", (unsigned char)*c); fprintf(stderr, "\n"); break; } for (c = (char *)xp + ah->size; c != (char *)xp + ah->size + MCHK_TRAIL; c++) { if (*c == MCHK_PATTERN) continue; fprintf(stderr, " free: corrupted trailing block %p:%d @ %s:%d ", xp, ah->size, ah->file, ah->line); for (c = (char *)xp - MCHK_LEAD; c != xp; c++) fprintf(stderr, " %02x", (unsigned char)*c); fprintf(stderr, "\n"); break; } MUTEX_LOCK(mbs); if (g_hash_table_lookup_extended(mbs, xp, &orig_key, &value)){ int cnt=(vint)value; if (cnt!=1){ MUTEX_UNLOCK(mbs); free_all_itrms(); fprintf(stderr, " free: usage count is %d: %p:%d @ %s:%d\n", cnt, xp, ah->size, ah->file, ah->line); force_dump(); } g_hash_table_remove(mbs, xp); g_hash_table_insert(mbs, xp, (gpointer)0); } MUTEX_UNLOCK(mbs); MUTEX_LOCK(memory_list); del_from_list(ah); MUTEX_UNLOCK(memory_list); if (ah->comment) free(ah->comment); #endif mem_amount -= ah->size; #endif /*fprintf(stderr, "debuf_mem_free(%s:%d)=%p\n", file, line, p);*/ xfree(p); } void *debug_mem_realloc(char *file, int line, void *p, size_t size) { #ifdef LEAK_DEBUG struct alloc_header *ah; #endif #ifdef LEAK_DEBUG_LIST gpointer orig_key, value; char *c; #endif if (p == DUMMY) return debug_mem_alloc(file, line, size); if (!p) { errfile = file, errline = line, internal_error("mem_realloc(NULL, %d)", size); return NULL; } if (!size) { debug_mem_free(file, line, p); return DUMMY; } #ifdef LEAK_DEBUG_LIST ah = (struct alloc_header*)((char*)p - L_D_S); for (c = (char *)p - MCHK_LEAD; c != p; c++) { if (*c == MCHK_PATTERN) continue; fprintf(stderr, " free: corrupted leading block %p:%d @ %s:%d ", p, ah->size, ah->file, ah->line); for (c = (char *)p - MCHK_LEAD; c != p; c++) fprintf(stderr, " %02x", (unsigned char)*c); fprintf(stderr, "\n"); break; } for (c = (char *)p + ah->size; c != (char *)p + ah->size + MCHK_TRAIL; c++) { if (*c == MCHK_PATTERN) continue; fprintf(stderr, " free: corrupted trailing block %p:%d @ %s:%d ", p, ah->size, ah->file, ah->line); for (c = (char *)p - MCHK_LEAD; c != p; c++) fprintf(stderr, " %02x", (unsigned char)*c); fprintf(stderr, "\n"); break; } MUTEX_LOCK(mbs); if (g_hash_table_lookup_extended(mbs, p, &orig_key, &value)){ int cnt=(vint)value; if (cnt!=1){ dbg("debug_mem_realloc: cnt=%d\n", cnt); MUTEX_UNLOCK(mbs); free_all_itrms(); fprintf(stderr, " realloc1: usage count is %d: %p @ %s:%d\n", cnt, p, file, line); force_dump(); } g_hash_table_remove(mbs, p); g_hash_table_insert(mbs, p, (gpointer)0); } MUTEX_UNLOCK(mbs); #endif if (!(p = xrealloc((char *)p - L_D_S, size + L_D_S + MCHK_TRAIL))) { error("ERROR: out of memory (realloc returned NULL)\n"); return NULL; } #ifdef LEAK_DEBUG ah = p; mem_amount += size - ah->size; ah->size = size; p = (char *)p + L_D_S; #ifdef LEAK_DEBUG_LIST // fprintf(stderr, "realloc(%d)=%p p=%p L_D_S=%d\n", size + MCHK_LEAD, ah, p, L_D_S); for (c = (char *)p - MCHK_LEAD; c != p; c++) { *c = MCHK_PATTERN; // fprintf(stderr, "%p=%02x\n", c, (unsigned char)*c); } for (c = (char *)p + ah->size; c != (char *)p + ah->size + MCHK_TRAIL; c++){ *c = MCHK_PATTERN; // fprintf(stderr, "%p=%02x\n", c, (unsigned char)*c); } ah->prev->next = ah; ah->next->prev = ah; MUTEX_LOCK(mbs); if (g_hash_table_lookup_extended(mbs, p, &orig_key, &value)){ int cnt=(vint)value; if (value!=0){ free_all_itrms(); fprintf(stderr, " realloc2: already allocated(%d): %p:%d @ %s:%d (allocated %s:%d)\n", cnt, (char *)ah + L_D_S, ah->size, file, line, ah->file, ah->line); force_dump(); } } g_hash_table_insert(mbs, p, (gpointer)1); MUTEX_UNLOCK(mbs); #endif #endif return p; } void set_mem_comment(void *p, char *c, int l) { #ifdef LEAK_DEBUG_LIST struct alloc_header *ah = (struct alloc_header *)((char *)p - L_D_S); if (ah->comment) free(ah->comment); if ((ah->comment = malloc(l + 1))) memcpy(ah->comment, c, l), ah->comment[l] = 0; #endif } void *debug_g_new0(char *file, int line, size_t len){ gchar *c; c=debug_mem_alloc(file, line, len); if (c==DUMMY) return NULL; memset(c, 0, len); return c; } void *debug_g_new(char *file, int line, size_t len){ gchar *c; c=debug_mem_alloc(file, line, len); if (c==DUMMY) return NULL; memset(c, 0, len); return c; } gchar *debug_g_strdup(char *file, int line, const gchar *str){ gchar *c; if (!str) return NULL; c=debug_mem_alloc(file, line, strlen(str)+1); if (c==DUMMY) return NULL; strcpy(c, str); return c; } gchar *debug_g_strndup(char *file, int line, gchar *str, int len){ gchar *c; int l; if (!str) return NULL; l=strlen(str); if (l>len) l=len; c=debug_mem_alloc(file, line, l+1); if (c==DUMMY) return NULL; strncpy(c, str, l); c[l]='\0'; return c; } #undef g_strdup_vprintf #undef g_free gchar *debug_g_strdup_printf(char *file, int line, gchar *fmt, ...){ va_list l; //int len; char *c,*d; va_start(l, fmt); /* len=g_printf_string_upper_bound(fmt, l); c=debug_mem_alloc(file, line, len); if (c==DUMMY) return NULL; g_vsprintf(c, fmt, l);*/ d = g_strdup_vprintf(fmt, l); c = debug_g_strdup(file, line, d); g_free(d); va_end(l); return c; } gchar *debug_g_strdup_vprintf(char *file, int line, gchar *fmt, va_list args){ // int len; char *c,*d; /* len=g_printf_string_upper_bound(fmt, args); c=debug_mem_alloc(file, line, len); if (c==DUMMY) return NULL; g_vsprintf(c, fmt, args);*/ d = g_strdup_vprintf(fmt, args); c = debug_g_strdup(file, line, d); g_free(d); return c; } gchar *debug_g_strconcat(char *file, int line, ...){ va_list l; int len; char *c,*d; char *s; va_start(l, line); len=0; while(1){ c=va_arg(l, char *); if (!c) break; len+=strlen(c); } va_end(l); s=debug_mem_alloc(file, line, len+1); if (s==DUMMY) return NULL; va_start(l, line); len=0; d=s; while(1){ c=va_arg(l, char *); if (!c) break; strcpy(d, c); d+=strlen(c); } va_end(l); return s; } #endif void sock_debug(int sock, char *m, ...){ va_list l; FILE *f; return; f = fopen("tucnak.sockdbg", "at"); if (!f) return; va_start(l, m); fprintf(f, "%5d: socket %3d ", getpid(), sock); vfprintf(f, m, l); fprintf(f,"\n"); va_end(l); fclose(f); } tucnak-4.32/src/icons.h0000644000175000017500000000134012132501146011714 00000000000000/* Automatically generated by png2inc.pl */ extern const unsigned char icon_home32[818]; extern const unsigned char icon_key32[1075]; extern const unsigned char icon_mast[334]; extern const unsigned char icon_norec[3817]; extern const unsigned char icon_play[2832]; extern const unsigned char icon_record[2703]; extern const unsigned char icon_sun[1918]; extern const unsigned char icon_tucnak[2036]; extern const unsigned char icon_tucnak23[319]; extern const unsigned char icon_tucnak64[5343]; extern const unsigned char icon_tucnakv[1772]; extern const unsigned char icon_tucnakv64[5042]; extern const unsigned char icon_xfer32[1709]; extern const unsigned char icon_zoomin32[2083]; extern const unsigned char icon_zoomout32[1954]; tucnak-4.32/src/sota_upload.h0000644000175000017500000000065313761411352013131 00000000000000/* Tucnak - SOTA log upload Copyright (C) 2002-2020 Ladislav Vaiz ; 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SOTA_UPLOAD_H #define __SOTA_UPLOAD_H void sota_upload(void); void sota_do_upload(void *arg); #endif tucnak-4.32/src/msvc.h0000644000175000017500000000346013455342047011572 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2012 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. Interface for MSVC compiler */ #ifdef __MSVC2 #ifndef __MSVC2_H //#define fopen(file, mode) fopen(z_wokna(file), mode) #endif #endif #ifndef __MSVC_H #define __MSVC_H #include "stdafx.h" #pragma warning(disable : 4018) #pragma warning(disable : 4101) #pragma warning(disable : 4244) #pragma warning(disable : 4996) //todo remove #pragma warning(disable : 4028) #pragma warning(disable : 4030) #define _CRT_SECURE_NO_WARNINGS //WINVER //#define WINVER 0x0500 //#define _WIN32_WINNT 0x0500 #include #include #include #include #include #include #include #include "regex_.h" #define PACKAGE "tucnak" #include #define PACKAGE_NAME PACKAGE #define PACKAGE_VERSION VERSION #define SHAREDIR #define HAVE_STDINT_H #define HAVE_UINT32_T #define HAVE_SDL #define HAVE_ICONV_H #define HAVE_PNG_H #define HAVE_LIBPNG #define HAVE_SNDFILE #define HAVE_PORTAUDIO #define HAVE_LIBFFTW3 #define HAVE_HAMLIB //#define HAVE_LIBFTDI //#define HAVE_FTDI_NEW #define HAVE_LIBRTLSDR #define HAVE_SHLOBJ_H #define PKG "nsis" #define DDIR "" #ifndef HAVE_MATH_H #define HAVE_MATH_H #endif #define strcasecmp _stricmp #define strncasecmp _strnicmp #define getpid _getpid typedef int pid_t; typedef int speed_t; //typedef int iconv_t; int main(int argc, char *argv[]); int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); #endif tucnak-4.32/src/button.h0000644000175000017500000000215713057223667012143 00000000000000/* Tucnak - VHF contest log Copyright (C) 2012-2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #ifndef __BUTTON_H #define __BUTTON_H struct button{ int w, h; #ifdef Z_HAVE_SDL SDL_Surface *surface; #endif void (*fn)(void *); void *data; int x, y; int font_h, fcolor, bcolor; char *text; }; struct button *init_button( #ifdef Z_HAVE_SDL SDL_Surface *screen, #endif int x, int y, void (*fn)(void *), void *data); void free_button(struct button *b); void buttons_clear(GPtrArray *buttons); #ifdef Z_HAVE_SDL void buttons_redraw(GPtrArray *buttons, SDL_Surface *dst); int buttons_mouse(GPtrArray *buttons, int mb, int mx, int my); void button_bitmap(struct button *b, SDL_Surface *surface); void button_draw(struct button *b, SDL_Surface *dst); #endif void button_text(struct button *b, int font_h, int fcolor, int bcolor, char *text); void button_free(struct button *b); #endif tucnak-4.32/src/language.h0000644000175000017500000015555014001016277012404 00000000000000/* Automaticaly generated by gen-intl */ #define N_LANGUAGES 9 #define T__CHAR_SET 1 // "us-ascii" #define T__LANGUAGE 2 // "English" #define T_ABOUT 3 // "About" #define T_BAD_NUMBER 4 // "Bad number" #define T_BAD_STRING 5 // "Bad string" #define T_BASIC_HELP 6 // "Press F10 for menu.\nHave fun." #define T_BLOCK_CURSOR 7 // "Block cursor" #define T_CANCEL 8 // "Cancel" #define T_CHARACTER_SET 9 // "Character set" #define T_COLOR 10 // "Color" #define T_COPYING 11 // "Copying" #define T_DIFFERENCE 12 // "difference" #define T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK 13 // "Do you really want to exit Tucnak?" #define T_EMPTY_STRING_NOT_ALLOWED 14 // "Empty string not allowed" #define T_ERROR 15 // "Error" #define T_WARNING 16 // "Warning" #define T_EXIT 17 // "Exit" #define T_EXIT_TUCNAK 18 // "Exit Tucnak" #define T_FILE 19 // "File" #define T_FULL_SCREEN 20 // "Full screen" #define T_HELP 21 // "Help" #define T_HK_ABOUT 22 // "A" #define T_HK_BEOS_TERMINAL 23 // "B" #define T_HK_CHARACTER_SET 24 // "H" #define T_HK_COPYING 25 // "C" #define T_HK_EXIT 26 // "X" #define T_HK_FILE 27 // "F" #define T_HK_FULL_SCREEN 28 // "F" #define T_HK_HELP 29 // "H" #define T_HK_LANGUAGE 30 // "L" #define T_HK_MEMORY_INFO 31 // "M" #define T_HK_OS_SHELL 32 // "O" #define T_HK_SCREEN 33 // "S" #define T_HK_SETUP 34 // "S" #define T_HK_TERMINAL_OPTIONS 35 // "T" #define T_HK_TWTERM 36 // "T" #define T_HK_WINDOW 37 // "W" #define T_HK_XTERM 38 // "X" #define T_KOI8R_FRAMES 39 // "KOI8-R frames" #define T_LANGUAGE 40 // "Language" #define T_LAST 41 // "last" #define T_LINUX_OR_OS2_FRAMES 42 // "Linux or OS/2 frames" #define T_MEMORY_INFO 43 // "Memory info" #define T_NO_FRAMES 44 // "No frames" #define T_NO 45 // "No" #define T_NUMBER_EXPECTED 46 // "Number expected in field" #define T_NUMBER_OUT_OF_RANGE 47 // "Number out of range" #define T_OK 48 // "OK" #define T_OS_SHELL 49 // "OS shell" #define T_RESTRICT_FRAMES_IN_CP850_852 50 // "Restrict frames in cp850/852" #define T_UTF_8_IO 51 // "UTF-8 Input/Output" #define T_SCREEN 52 // "Screen" #define T_SETUP 53 // "Setup" #define T_TERMINAL_OPTIONS 54 // "Terminal options" #define T_TUCNAK__TACLOG_LIKE 55 // "Tucnak " VERSION_STRING "\n\nTACLOG-like V/U/SHF contest log" #define T_TWTERM 56 // "Twterm" #define T_USE_11M 57 // "Use ^[[11m" #define T_VT_100_FRAMES 58 // "VT 100 frames" #define T_WELCOME1 59 // "Welcome to Tucnak!" #define T_WELCOME2 60 // "Please enter your callsign and locator:" #define T_WELCOME 61 // "Welcome" #define T_XTERM 62 // "Xterm" #define T_YES 63 // "Yes" #define T_CANT_APPEND_S 64 // "Can't append to file %s" #define T_CANT_WRITE 65 // "Can't write to file" #define T_CANT_WRITE_S 66 // "Can't write to file %s" #define T_CANT_READ 67 // "Can't read from file" #define T_CANT_READ_S 68 // "Can't read from file %s" #define T_SAVED_S 69 // "Saved %s" #define T__CW_ 70 // " CW " #define T_CWW_KEYS 71 // " PgUp +, PgDn - cw speed " #define T_CANT_OPEN_S 72 // "Can't open %s" #define T_CANT_LOCK 73 // "Can't lock" #define T_CANT_LOCK_S 74 // "Can't lock %s" #define T_LOADING_CTEST_S 75 // "*** Loading contest %s" #define T_NO_FILES 76 //"No files in directory" #define T_BAND_EXIST_SS 77 // "WARNING! Band %s (%s) already exist" #define T_BAND_NOT_OPEN 78 // "Band is not active in this contest" #define T_NO_BANDS 79 // "No bands to load" #define T_CANT_SET_GR_S 80 // "Can't set any graphics mode-%s" #define T_GCALL 81 // "Call: %s" #define T_GWWL 82 // "WWL: %s" #define T_GQRB 83 // "QRB: %d km" #define T_GQTF 84 // "QTF: %d deg" #define T_GSEN 85 // "Sent: %s %s" #define T_GRCV 86 // "Rcvd: %s %s" #define T_GTIM 87 // "Time: %s" #define T_GOPE 88 // "Op: %s" #define T_GREM 89 // "Rem: %s" #define T_GWKD 90 // "Wkd: %d" #define T_GINC 91 // "income: %d" #define T_GLON 92 // "Lon:%7.2f %-6s" #define T_GLAT 93 // "Lat:%7.2f %-6s" #define T_GLOC 94 // "Loc: %s" #define T__PLESE_WAIT_ 95 // " Please WAIT " #define T__RO_BAND 96 // " READ-ONLY BAND" #define T_COPYING_VER 97 // "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation." #define T_CTEST_ACTIVE 98 // "Contest is already active " #define T_NO_CTESTS 99 // "No contests" #define T_NO_CCLOSE 100 // "No contest to close" #define T_REALLY 101 // "Really?" #define T_CLOSE_CTEST 102 // "Do you really want to close this contest?" #define T_GUI_LD 103 // "GUI: %ld " #define T_SBRK 104 // "sbrk: %ld" #define T_CWI 105 // "C_W: %d cw items, %d wc items, latest %d\n" #define T_EXC 106 // "Exc: %s %d exc items, %d cxe items, latest %d\n" #define T_VEXC 107 // "Verified EXC: %d items\n" #define T_DWI 108 // "D_W: %d prefixes, %d DXCCs, %d WWLs\n" #define T_NAMES 109 // "Names: %d names\n" #define T_MASTER 110 // "Master: %d calls\n" #define T_MEMS 111 // "Memory:" #define T_NMY 112 // " My: " #define T_NGLOBAL 113 // "Global: " #define T_NMASTER 114 // "Master: " #define T_NREMOTE 115 // "Remote: " #define T_NSLAVES 116 // "\nSlaves:\n" #define T_NINFO 117 // "Network info" #define T_NO_BANDS_QRV 118 // "No bands QRV" #define T_NO_BANDS_CONF 119 // "No bands configured" #define T_NOT_AVAILABLE 120 // "Not available" #define T_ADD_SUBWIN 121 // "Add subwin" #define T_HK_ADD_SUBWIN 122 // "A" #define T_CLOSE_SUBWIN 123 // "Close subwin" #define T_HK_CLOSE_SUBWIN 124 // "C" #define T_HK_NINFO 125 // "N" #define T_NEW 126 // "New" #define T_HK_NEW 127 // "N" #define T_NEW_WIZZ 128 // "New from wizard" #define T_HK_NEW_WIZZ 129 // "W" #define T_NEW_NET 130 // "New from network" #define T_HK_NEW_NET 131 // "T" #define T_OPEN 132 // "Open" #define T_HK_OPEN 133 // "O" #define T_SAVE 134 // "Save" #define T_HK_SAVE 135 // "S" #define T_EXPORT_EDI 136 // "Export as EDI" #define T_HK_EXPORT_EDI 137 // "E" #define T_EXPORT_REPORT 138 // "Export as report" #define T_HK_EXPORT_REPORT 139 // "R" #define T_EXPORT_ADIF 140 // "Export as ADIF" #define T_HK_EXPORT_ADIF 141 // "A" #define T_EXPORT_SOTA 142 // "Export as SOTA" #define T_HK_EXPORT_SOTA 143 // "S" #define T_EXPORT_CBR 144 // "Export as Cabrillo" #define T_HK_EXPORT_CBR 145 // "B" #define T_EXPORT_STF 146 // "Export as STF" #define T_HK_EXPORT_STF 147 // "F" #define T_EXPORT_HTML 148 // "Export as HTML" #define T_HK_EXPORT_HTML 149 // "H" #define T_EXPORT_WIKI 150 // "Export as MediaWiki" #define T_HK_EXPORT_WIKI 151 // "W" #define T_IMPORT_EDI 152 // "Import EDI" #define T_HK_IMPORT_EDI 153 // "I" #define T_IMPORT_ADIF 154 // "Import ADIF" #define T_HK_IMPORT_ADIF 155 // "M" #define T_IMPORT_SWAP 156 // "Import swap" #define T_HK_IMPORT_SWAP 157 // "" #define T_IMPORT_LIST 158 // "Import list" #define T_HK_IMPORT_LIST 159 // "L" #define T_CONTEST_OP 160 // "Contest options" #define T_HK_CONTEST_OP 161 // "O" #define T_CLOSE_CONTEST 162 // "Close contest" #define T_HK_CLOSE_CONTEST 163 // "C" #define T_ADD_ERROR 164 // "Add ERROR" #define T_HK_ADD_ERROR 165 // "E" #define T_CHOP 166 // "Change operator" #define T_HK_CHOP 167 // "O" #define T_CW_CTEST 168 // "Update C_W from contest" #define T_HK_CW_CTEST 169 // "C" #define T_CW_BAND 170 // "Update C_W from band" #define T_HK_CW_BAND 171 // "B" #define T_EXC_CTEST 172 // "Update EXC DB from contest" #define T_HK_EXC_CTEST 173 // "A" #define T_EXC_BAND 174 // "Update EXC DB from band" #define T_HK_EXC_BAND 175 // "T" #define T_IMPORT_EBW 176 // "Import DL8EBW database" #define T_HK_IMPORT_EBW 177 // "W" #define T_NO_CTEST 178 // "No contest" #define T_NO_PEERS 179 // "No peers found" #define T_NO_MASTER 180 // "Master is not available!" #define T_CTEST_DEF 181 // "Contest defaults" #define T_HK_CTEST_DEF 182 // "O" #define T_BAND_DEF 183 // "Band defaults" #define T_HK_BAND_DEF 184 // "B" #define T_HK_RESPOP 185 // "P" #define T_CW_DAEMON 186 // "CW keying" #define T_HK_CW_DAEMON 187 // "E" #define T_CW_CQ 188 // "CW CQ" #define T_HK_CW_CQ 189 // "C" #define T_SSB_CQ 190 // "SSB CQ" #define T_HK_SSB_CQ 191 // "S" #define T_AUTOSAVE 192 // "Autosave" #define T_HK_AUTOSAVE 193 // "U" #define T_LOAD_CFG_NET 194 // "Load cfg from net" #define T_HK_LOAD_CFG_NET 195 // "N" #define T_LOAD_CW_NET 196 // "Load C_W from net" #define T_HK_LOAD_CW_NET 197 // "W" #define T_SAVE_CFG 198 // "Save configuration" #define T_HK_SAVE_CFG 199 // "F" #define T_CONTEST 200 // "Contest" #define T_HK_CONTEST 201 // "C" #define T_EDIT 202 // "Edit" #define T_HK_EDIT 203 // "E" #define T_BANDS 204 // "Bands" #define T_HK_BANDS 205 // "B" #define T_SUBWINS 206 // "Subwins" #define T_HK_SUBWINS 207 // "W" #define T_BAND_SETTINGS_SC 208 // "Band settings for band %c %s" #define T_QRV_ON_THIS_BAND 209 // "QRV on this band" #define T_QRV_IN_THIS_CTEST 210 // "QRV in this contest" #define T_READ_ONLY 211 // "Read-only" #define T_MULTI 212 // "Multi" #define T_SINGLE 213 // "Single" #define T_CHECK 214 // "Check" #define T_TXEQUIP 215 // " TX Equip:" #define T_POWER 216 // " Power:" #define T_RXEQUIP 217 // " RX Equip:" #define T_ANTENNA 218 // " Antenna:" #define T_AGLASL 219 // " AGL;ASL:" #define T_OPS 220 // "Operators:" #define T_SPACES1 221 // " " #define T_REMARKS 222 // " Remarks:" #define T_OK_SECTION_SINGLE 223 // "Single category in OK" #define T_OK_SECTION_MULTI 224 // "Multi category in OK" #define T_QRG_MIN 225 // "Band boundary from" #define T_QRG_MAX 226 // "to [kHz]" #define T_ADIFBAND 227 // "ADIF band name" #define T_SKEDQRG 228 // "QRG for skeds (free form)" #define T_BAND_LO 229 // "Transverter's LO QRG [Hz]:" #define T_BANDSW 230 // "Band switch value" #define T_RESPOP 231 // "Responsible operator" #define T_NAME 232 // " Name:" #define T_CALLSIGN 233 // " Callsign:" #define T_ADDRESS 234 // " Address:" #define T_POSTCODE 235 // "Postal Code:" #define T_CITY 236 // " City:" #define T_COUNTRY 237 // " Country:" #define T_PHONE 238 // " Phone:" #define T_BBSEMAIL 239 // " E-mail:" #define T_QP0 240 // " --none -- " #define T_QP1 241 // " 1 QSOp*QSOp_m (Std. IARU)" #define T_QP2 242 // " 2 QSOp_m (UK VHF activity, ARRL party)" #define T_QP3 243 // " 3 RSGB_ring*QSOp_m (RSGB Backpacker)" #define T_QP4 244 // " 4 WWL_ring*QSOp_m (OK activity)" #define T_QP5 245 // " 5 St_miles*QSOp_m" #define T_QP6 246 // " 6 QSOp_m +1 per CW (CQ WW VHF)" #define T_QP7 247 // " 7 WWL_dist*QSOp_m (OH-SM)" #define T_QP8 248 // " 8 WWL_dist*QSOp_m (Baltic)" #define T_QP9 249 // " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)" #define T_QP10 250 // "10 QSOp_m *5 if Gx (UK cumulative)" #define T_QP11 251 // "11 QSOp_m *3 if F (F 50MHz)" #define T_QP12 252 // "12 RSGB DC (district codes)" #define T_QP13 253 // "13 Continent (CQ WW DX Contest)" #define T_QP14 254 // "14 Continent+band (CQ WW WPX Contest)" #define T_QP15 255 // "15 VHF Band (ARRL VHF)" #define T_QP16 256 // "16 QSOp *4 if F (Champ. de France)" #define T_QP17 257 // "17 QSOp*WWLmult if G (RSGB M5)" #define T_QP18 258 // "18 QSOp*WWLm 2x if G (RSGB M7)" #define T_QP19 259 // "19 CW 6, SSB 4, FM 2 (WNA/WSA)" #define T_QP20 260 // "20 WWL_ring*QSOp_m (Contest Lombardia)" #define T_QP21 261 // "21 1 per QSO CW/SSB (R-Contest)" #define T_QP22 262 // "22 QSOp (PH+CW+DIGI) (Moon contest)" #define T_TP0 263 // " --none -- " #define T_TP1 264 // " 1 Multiplicative (Std. IARU)" #define T_TP2 265 // " 2 Additive (RSGB Backpacker, VRZA, Sicily)" #define T_TP3 266 // " 3 Mult. all bands (CQ WW DX Contest)" #define T_TP4 267 // " 4 All bands togeth. (ARRL VHF)" #define T_NEW_CTEST 268 // "New Contest" #define T_CANT_TRUNC 269 // "Can't truncate desc file" #define T_NAME_OF_CTEST 270 // "Name of the contest:" #define T_CALL_OF_CTEST 271 // "Callsign in contest:" #define T_CLUB_ST 272 // "Club station:" #define T_YOURWWL 273 // "Your WWL:" #define T_YOUREXC 274 // "Your EXC:" #define T_DATE_OF_CTEST 275 // "Date of contest:" #define T_QSOUSED 276 // "QSO NR used" #define T_QSOPM 277 // " QSOp multi:" #define T_WWLUSED 278 // "WWL used " #define T_WWLB 279 // "WWL bonus:" #define T_WWLM 280 // "WWL multi:" #define T_EXCUSED 281 // "EXC used" #define T_EXCB 282 // " EXC bonus:" #define T_EXCM 283 // "EXC multi:" #define T_EXCNAME 284 // " EXC name: " #define T_PREFM 285 // "PREF multi:" #define T_DXCB 286 // " DXC bonus:" #define T_DXCM 287 // "DXC multi:" #define T_RSTUSED 288 // "RST Used " #define T_DEFRS 289 // "Default RS:" #define T_DEFRST 290 // "Def RST:" #define T_ALSORSTR 291 // "Also for RST-R" #define T_QP_CALC 292 // " QSOp calc:" #define T_TO_CALC 293 // "Total calc:" #define T_EDI_PROP 294 // "EDI prop" #define T_RESPOP2 295 // "Responsible op" #define T_EDIT_QSO_CD 296 // "Edit QSO %c: %03d" #define T_CALLSIGN2 297 // "Callsign:" #define T_CLUB 298 // " Club:" #define T_PADR1 299 // " PAdr1:" #define T_PADR2 300 // " PAdr2:" #define T_RS 301 // " RS:" #define T_RST 302 // " RST:" #define T_OPERATOR 303 // "Operator:" #define T_DATE 304 // " Date:" #define T_MODE 305 // " Mode:" #define T_RSTS 306 // " RSTs:" #define T_RSTR 307 // " RSTr:" #define T_QSONRS 308 // "QSO sent:" #define T_QSONRR 309 // "QSO rcvd:" #define T_OPTEXCH 310 // " OptExch:" #define T_WWL 311 // " WWL:" #define T_REMARK 312 // " Remark:" #define T_QRV2 313 // " QRV on:" #define T_WKD 314 // " WKD:" #define T_SEND_SKED 315 // "Send sked" #define T_SELECT 316 // "Select" #define T_QRG 317 // " QRG:" #define T_WE_CALL 318 // " We call" #define T_BAND 319 // " Band:" #define T_TIME 320 // " Time:" #define T_DUPE_QSO 321 // "Duplicate QSO!" #define T_CLEAR_THIS_QSO 322 // "Clear this QSO" #define T_EDIT_OLD_QSO 323 // "Edit old QSO" #define T_MARK_OLD_QSO 324 // "Mark old QSO as ERROR" #define T_STORE_AS_DUPE 325 // "Store as DUPE" #define T_BAD_CALL 326 // "This does not look like a callsign" #define T_N_CALLSIGN 327 // "\nCallsign:" #define T_AUTOSAVE_OPTS 328 // "Autosave options" #define T_SAVE_AQ 329 // "Save to disk after QSO: " #define T_SAVE_AM 330 // "Save to disk after minutes:" #define T_FSYNC 331 // "Fsync" #define T_SAVE_AQF 332 // "Save to floppy after QSO: " #define T_SAVE_AMF 333 // "Save to floppy after minutes:" #define T_DO_MOUNT 334 // "Mount if not in /etc/mtab (unused)" #define T_FLOPPY_PATH 335 // "Path to floppy:" #define T_MOUNT_CMD 336 // "Mount command: " #define T_SW_SHELL 337 // "Shell" #define T_SW_QSOS 338 // "QSOs" #define T_SW_LOG 339 // "Log" #define T_SW_TALK 340 // "Talk" #define T_SW_SKED 341 // "Sked" #define T_SW_UNFI 342 // "Unfi" #define T_SW_DXC 343 // "DXC" #define T_SW_STAT 344 // "Stat" #define T_SW_MAP 345 // "Map" #define T_SW_SCOPE 346 // "Scope" #define T_SW_QRV 347 // "QRV" #define T_SW_HF 348 // "HF" #define T_SW_PLAYER 349 // "Player" #define T_SW_CHART 350 // "Chart" #define T_SHELL 351 // "Shell" #define T_QSOS 352 // "QSOs" #define T_LOG 353 // "Log" #define T_TALK 354 // "Talk" #define T_SKEDS 355 // "Skeds" #define T_UNFI 356 // "Unfinished QSOs" #define T_DXC 357 // "DX Cluster" #define T_STAT 358 // "Statistics" #define T_SWAP 359 // "Swap (N/A)" #define T_MAP 360 // "Graphics map" #define T_SCOPE 361 // "Scope" #define T_QRV 362 // "QRV" #define T_HF 363 // "HF" #define T_KST 364 // "KST" #define T_CMD 365 // "Command" #define T_RESPAWN 366 // "Respawn [sec]:" #define T_UNFI_QSO 367 // "Unfinished QSO" #define T_N_REMARK 368 // "\nRemark:" #define T_NO_CQ 369 // "No CQ defined" #define T_TEXT 370 // "Text:" #define T_SPEED 371 // "Speed [WPM]:" #define T_REPEAT 372 // "Repeat" #define T_DELAY 373 // "Delay [0.1s]:" #define T_ALLOW_UNDEF 374 // "Allow if some item is undefined" #define T_CW_DSCS 375 // "CW%d (%s) %c %s" #define T_FILENAME 376 // "Filename:" #define T_SSB_DSCS 377 // "SSB%d (%s) %c %s" #define T_UDPPORT 378 // "UDP port:" #define T_DEVICE 379 // "Keying device:" #define T_INIT_SPEED 380 // "Initial speed [WPM]:" #define T_INIT_WEIGHT 381 // "Weight (30-70):" #define T_WPMFROM 382 // "WPM Range from" #define T_WPMTO 383 // "to" #define T_USE_SPK 384 // "Use speaker" #define T_LEADIN 385 // "PTT lead in [ms]" #define T_AUTGIVE 386 // "Run mode aut. give after [chars]" #define T_IGN_IFACE_S 387 // "Ignoring interface %-5s" #define T_IGN_ADDR_S 388 // "Ignoring address %s" #define T_ADD_IFACE_SSD 389 // "Added interface=%-5s BCAST=%s:%d" #define T_FORCED_ADDR 390 // "Forced address %s" #define T_TIMESKEW 391 // "WARNING! Time skew %d detected against %s:%d !\n" #define T_DISCONNECTING_SD 392 // "Disconnecting from %s:%d" #define T_ACCEPTED_SD 393 // "Accepted %s:%d (%s)" #define T_CONNECTING_SD 394 // "Connecting to %s:%d" #define T_CONNECTED_SD 395 // "Connected to %s:%d" #define T_DISCONNECTED_SD 396 // "Disconnected from %s:%d" #define T_LOADED_CFG_SSSS 397 // "Loaded config for %s %s (%s,%s)" #define T_LOADED_CW 398 // "Loaded C_W data" #define T_PEER_NOT_FOUND 399 // "ERROR! Peer %s not found" #define T_CANT_CREATE_HOME_S 400 // "Cannot create directory %s" #define T_CANT_LOAD_CFG 401 // "Can't load configuration!\nProgram cannot work properly!" #define T_ERR_RC 402 // "Found some errors parsing config file!\nThis file was probably saved with newer Tucnak!\nDon't save your configuration unless you can loose data!" #define T_SES_QTR 403 // " QTR " #define T_SES_QRA 404 // " CALL " #define T_SES_RST 405 // " RST-S-No RST-R-No " #define T_SES_QTH 406 // " QTH " #define T_SES_QRB 407 // " Pts/QRB QTF " #define T_SES_FLG 408 // " Flg " #define T_SES_OPE 409 // " Oper. " #define T_SES_EXC 410 // " Exch " #define T_SES_REM 411 // " Remark " #define T_SES_WELCOME 412 // "Welcome to Tucnak! " #define T_SES_PRESS_F10 413 // "Press F10 for menu." #define T_SES_HAVE_FUN 414 // "Have fun." #define T_SES_URL 415 // "http://tucnak.nagano.cz " #define T_SES_ODX 416 // "ODX: " #define T_SES_ODX_DATA 417 // "%s %s %d km (%s)" #define T_SES_STAT_TIT 418 // "QSOs QSO-p OptX WWLs DXCCs Total-p AVG" #define T_SES_AVG 419 // " AVG: %5.2f" #define T_SES_WPM 420 // " WPM:%2d %02d%% %s" #define T_SF_WWLS 421 // " WWLs: %d" #define T_SF_WWLS_UNDER 422 // "-------------" #define T_SF_EXCS 423 // " EXCs: %d" #define T_SF_EXCS_UNDER 424 // "-------------" #define T_SF_MISS_EXCS 425 // " Missing EXCs: %d" #define T_SF_MISS_EXCS_UNDER 426 // "---------------------" #define T_SF_PREFS 427 // " PREFs: %d" #define T_SF_PREFS_UNDER 428 // "-------------" #define T_SF_DXCS 429 // " DXCCs: %d" #define T_SF_DXCS_UNDER 430 // "-------------" #define T_SF_WKD_WWLS 431 // " WKD WWLs: %d" #define T_SF_WKD_WWLS_UNDER 432 // "-----------------" #define T_SF_QSO_WWL4 433 // " QSOS in WWL4s: %d" #define T_SF_QSO_WWL4_UNDER 434 // "----------------------" #define T_SF_STATS_BAND 435 // " Statistics for band %s" #define T_SF_STATS_BAND_UNDER 436 // "===============================" #define T_SF_CONTEST 437 // "Contest: %s" #define T_SF_ALLBQSOS 438 // "All bands QSOs: %d" #define T_SF_ALLBQSOP 439 // "All bands QSOp: %d" #define T_SF_ALLBPTS 440 // "All bands pts: %d" #define T_SF_QSOS 441 // "QSOs: %d" #define T_SF_VQSO 442 // "Valid QSOs: %d" #define T_SF_QSOP 443 // "QSO points: %d" #define T_SF_PTS 444 // "Points: %d" #define T_SF_AVG_PTS 445 // "Average pts/QSO: %5.2f" #define T_SF_AVG_QSOP 446 // "Average qsop/QSO: %5.2f" #define T_BAND_RO 447 // "Band is read-only" #define T_THIS_BAND 448 // "This band" #define T_OTHER_BANDS 449 // "Other bands" #define T_CW_DB 450 // "C_W database" #define T_PROC_EXITED 451 // "*** Process exited\n" #define T_WE_CALL2 452 // "we call" #define T_WE_LISTEN 453 // "we listen" #define T_QSL 454 // "QSL promised" #define T_RECORD 455 // "Record traffic" #define T_MAXMIN 456 // " Max. record duration" #define T_TEMPLATE 457 // "Template for recorded filename" #define T_PCM8 458 // "8 bit PCM" #define T_PCM16 459 // "16 bit PCM" #define T_ULAW 460 // "mu-law" #define T_ALAW 461 // "A-law" #define T_IMAADPCM 462 // "IMA ADPCM" #define T_MSADPCM 463 // "MS ADPCM" #define T_GSM610 464 // "GSM 6.10" #define T_CHANNELS 465 // "Channels" #define T_SAMPLERATE 466 // "Sample rate" #define T_FILLOP 467 // "Fill operators" #define T_HK_FILLOP 468 // "L" #define T_RECAQRB 469 // "Recalc QRB,QTF" #define T_HK_RECAQRB 470 // "R" #define T_NETWORK 471 // "Network & trace" #define T_HK_NETWORK 472 // "K" #define T_IF_IGNORE 473 // "Ignore interfaces:" #define T_IP_IGNORE 474 // " Ignore networks:" #define T_IP_ANNOUNCE 475 // " Announce to nets:" #define T_TRACE_BCAST 476 // "Trace broadcasts " #define T_TRACE_SOCK 477 // "Trace sockets" #define T_TRACE_RECV 478 // "Trace received data" #define T_TRACE_SEND 479 // "Trace sent data" #define T_TRACE_QSOS 480 // "Trace QSOs " #define T_TRACE_SDEV 481 // "Trace rotars " #define T_NOT_MOUNTED_S 482 // "Not mounted %s" #define T_RECSRC_NONE 483 // "Don't set" #define T_RECSRC_MIC 484 // "Microphone" #define T_RECSRC_LINE 485 // "Line in" #define T_NEW_CALL 486 // "New!" #define T_HK_NEW_CALL 487 // "n" #define T_QRV_ON_S 488 // "QRV on %s" #define T_SKED_QRG 489 // "QRG for skeds" #define T_HK_SKED_QRG 490 // "F" #define T_N_SKED_QRG 491 // "\nQRG for skeds:" #define T_GRAB_BAND 492 // "Grab band control" #define T_HK_GRAB_BAND 493 // "G" #define T_FORCE_RUN 494 // "Force RUN mode" #define T_HK_FORCE_RUN 495 // "U" #define T_EXPORT_STATS 496 // "Export Statistics" #define T_HK_EXPORT_STATS 497 // "T" #define T_SF_TOP_DX 498 // " TOP %d DX QSOs:" #define T_SF_TOP_DX_UNDER 499 // "-------------------" #define T_ROTAR 500 // "Rotator" #define T_HK_ROTAR 501 // "R" #define T_AZIMUTH 502 // " Azimuth" #define T_ELEVATION 503 // "Elevation" #define T_CH_SPY 504 // "Spy" #define T_HK_CH_SPY 505 // "S" #define T_CH_ENDSPY 506 // "Spy end" #define T_HK_CH_ENDSPY 507 // "P" #define T_EXPORT_TITLPAGE 508 // "Export title page" #define T_HK_EXPORT_TITLPAGE 509 // "P" #define T_BREAK_RECORD 510 // "Break record" #define T_HK_BREAK_RECORD 511 // "B" #define T_GLOBAL_OPERATOR 512 // "Change for all bands" #define T_GLOBAL_OPERATOR2 513 // "Global" #define T_MAXFRAG 514 // "Max. num of fragments (>=2)" #define T_PLAY_LAST 515 // "Play last sample" #define T_HK_PLAY_LAST 516 // "P" #define T_MISCOPTS 517 // "Miscellaneous options" #define T_HK_MISCOPTS 518 // "M" #define T_LOGLINES 519 // "Log lines: " #define T_SKEDSHIFT 520 // "Sked shift (minutes): " #define T_STARTBAND 521 // "Starting band: " #define T_GFX_X_CH 522 // "Screen resolution (chars):" #define T_GFX_Y_CH 523 // "x" #define T_GFX_X_PX 524 // "Screen resolution (pixels):" #define T_GFX_Y_PX 525 // "x" #define T_CALL_INFO 526 // "Callsign info" #define T_HK_CALL_INFO 527 // "I" #define T_SF_QSO_HOUR 528 // "QSOs/hour: %d" #define T_SF_QSOP_HOUR 529 // "Points/hour: %d" #define T_SF_QSOP_50QSO 530 // "Points/50 QSOs: %d" #define T_SF_HOURS 531 // " Hours" #define T_SF_HOURS_UNDER 532 // "---------" #define T_SF_HOURS_TITLE 533 // "Hours Points QSOs AVG pts/QSO" #define T_QSO_CHECK 534 // "QSO check" #define T_HK_QSO_CHECK 535 // "K" #define T_AUDIO 536 // "Audio" #define T_HK_AUDIO 537 // "D" #define T_ALSA 538 // "Alsa" #define T_OSS 539 // "OSS" #define T_PORTAUDIO 540 // "PortAudio" #define T_DISKFREE 541 // "Minimal disk free space [MiB]" #define T_FORMAT 542 // "Record format" #define T_PCM_PLAY 543 // "Alsa playback device" #define T_PCM_REC 544 // "Alsa capture device" #define T_PERIOD 545 // "Period time [ms]" #define T_BUFFER 546 // "Buffer time [ms]" #define T_ALSA_MIXER 547 // "Alsa mixer device" #define T_CAPTURE 548 // "Capture source" #define T_DSP 549 // "OSS DSP" #define T_MIXER 550 // "OSS mixer" #define T_RECSRC 551 // "Record source" #define T_PA_PLAY 552 // "Portaudio playback device" #define T_PA_REC 553 // "Portaudio capture device" #define T_HOSTNAME 554 // "Hostname:" #define T_SLASHKEY 555 // "Slash key" #define T_FIXQRG 556 // "Fix QRG" #define T_HK_FIXQRG 557 // "X" #define T_ENTER_QRG 558 // "Enter accurate QRG [Hz]" #define T_BAD_QRG 559 // "Bad frequency" #define T_CALLSIGN3 560 // "Callsign" #define T_CALLSIGN_KST 561 // "KST station's callsign:" #define T_CANT_INIT_WINKEY_S 562 // "Can't init winkey on %s" #define T_WINKEYOPTS 563 // "Winkey options" #define T_WK_WK2 564 // "Winkey2 fast initialization" #define T_WK_USEPOT 565 // "Use speed pot" #define T_WK_USEBUT 566 // "Use buttons" #define T_WK_KM_B 567 // "Curtis-B" #define T_WK_KM_A 568 // "Curtis-A" #define T_WK_KM_U 569 // "Ultimatic" #define T_WK_KM_G 570 // "Bug" #define T_WK_SWAP 571 // "Paddle swap (left handled)" #define T_RIGOPTS 572 // "Rig options" #define T_HK_RIGOPTS 573 // "G" #define T_RIG_DEVICE 574 // "Device:" #define T_RIG_MODEL 575 // "Rig model: " #define T_RIG_SPEED 576 // "Baudrate: " #define T_RIG_CIV 577 // "CIV address (hex):" #define T_RIG_FREQSHIFT 578 // "Freq. shift SSB->CW" #define T_RIG_CHOOSE 579 // "Choose" #define T_ROTAROPTS 580 // "Rotar options" #define T_HK_ROTAROPTS 581 // "I" #define T_DSSAVER 582 // "Disable screensaver" #define T_DESC 583 // "Description" #define T_ROT_NONE 584 // "None" #define T_ROT_OK1ZIA_TTYS 585 // "OK1ZIA serial" #define T_ROT_OK1ZIA_FTDI 586 // "OK1ZIA USB" #define T_ROT_HAMLIB 587 // "Hamlib" #define T_ROT_REMOTE 588 // "Remote" #define T_ROT_VID 589 // "VID:" #define T_ROT_PID 590 // "PID:" #define T_ROT_SERIAL 591 // "Serial #" #define T_ROT_ADD 592 // "Add new rotator" #define T_HK_ROT_ADD 593 // "W" #define T_ROT_REMOVE 594 // "Remove rotator" #define T_HK_ROT_REMOVE 595 // "R" #define T_TIMEOUT 596 // "Timeout:" #define T_BEAMWIDTH 597 // "Beam width:" #define T_SADDR 598 // "Communication address:" #define T_MODEL 599 // "Hamlib model:" #define T_ROT_REM_ROTSTR 600 // "Rotator letter for remote" #define T_QSOGLOB 601 // "Global QSO NR" #define T_PREFGLOB 602 // "Global PREF" #define T_NOT_RECORDING_S 603 // "Not recording - %s" #define T_SKEDCOUNT 604 // "Sked count in popup: " #define T_FONTHEIGHT 605 // "Font height (16-32): " #define T_RIG_POLL_MS 606 // "Rig poll interval [ms]: " #define T_RIG_QRG_R2T 607 // "Set band from radio" #define T_RIG_QRG_T2R 608 // "Change band on radio" #define T_RIG_MODE_T2R 609 // "Change mode on radio" #define T_RUN_MODE 610 // "Run mode" #define T_HK_RUN_MODE 611 // "U" #define T_SP_MODE 612 // "S&P mode" #define T_HK_SP_MODE 613 // "M" #define T_RIG_CLR_RIT 614 // "Clear RIT on RUN's QSO save" #define T_RIG_DEBUG 615 // "Debug rig" #define T_HF_RATE 616 // "Rate: %3d/10 %3d/60" #define T_HF_BAND 617 // "Band QSO Point Mult" #define T_HF_SUM 618 // "Sum:" #define T_HF_LAST 619 // "Last Q-%s P-%s" #define T_EVEN 620 // "TX eVen" #define T_HK_EVEN 621 // "N" #define T_ODD 622 // "TX oDd" #define T_HK_ODD 623 // "D" #define T_1ST 624 // "TX 1st" #define T_HK_1ST 625 // "1" #define T_2ND 626 // "TX 2nd" #define T_HK_2ND 627 // "2" #define T_HF_SCORE 628 // "Score:" #define T_EXPMODE 629 // "Expedition mode" #define T_TTTYPE 630 // "Only digits mean" #define T_ROT_POLL_MS 631 // "Poll interval [ms]:" #define T_VERSION 632 // "Version" #define T_HK_VERSION 633 // "V" #define T_REMOTE_HOST 634 // " Remote host name:" #define T_REMOTE_PORT 635 // " Remote TCP port:" #define T_REMOTE_PASS 636 // " Remote Password:" #define T_STARTING_AC 637 // "Starting AS" #define T_STOPPING_AC 638 // "Stopping AS" #define T_ASL_5D_M 639 // "ASL: %5d m" #define T_SPEED4D_KMH 640 // "Speed:%4d km/h" #define T_AC_START 641 // "Start: %02d:%02d %02ldm%02ld" #define T_AC_DURAT_LD 642 // "Durat: %ld" #define T_EXPORTING_S 643 // "Exporting %s" #define T_CANT_OPEN_ALSA_PCM_S_S 644 // "Can't open alsa PCM '%s': %s" #define T_EXPORTING 645 // "Exporting ..." #define T_TERMINATING_CONVERSION_TABLES 646 // "Terminating conversion tables" #define T_LOADING_CHARTS 647 // "Loading charts" #define T_INITIALIZING_CWPTT_CONTROL 648 // "Initializing CW/PTT control" #define T_NO_PPDEV 649 // "Support for ppdev/inpout isn't compiled in" #define T_NO_DAVAC4_SUPPORT 650 // "Support for davac4 isn't compiled in, check for libftdi" #define T_CANT_CREATE_PIPE 651 // "Can't create pipe" #define T_TERMINATING_CWDAEMON 652 // "Terminating CW/PTT control" #define T_INIT_CWDB 653 // "Initializing WWL database" #define T_TERM_CWDB 654 // "Terminating WWL database" #define T_LOADING_CWDB 655 // "Loading WWL database" #define T_QRV_ON 656 // "QRV on: " #define T_CANT_INIT_FTDI 657 // "Can't init ftdi library for davac4" #define T_CANT_OPEN_DAVAC4 658 // "Can't open davac4 device %04x:%04x, error=%d %s" #define T_CANT_SET_BAUDRATE 659 // "Can't set baudrate for davac4, error=%d %s" #define T_CANT_ENABLE_BITBANG 660 // "Can't enable bitbang, error=%d %s" #define T_CANT_WRITE_TO_DAVAC4 661 // "Can't write to davac4, error=%d %s" #define T_INIT_SOUNDCARD 662 // "Initializing soundcard" #define T_NO_OSS 663 // "OSS support not compiled in" #define T_NO_ALSA 664 // "Alsa support not compiled in" #define T_NO_PORTAUDIO 665 // "portaudio support not compiled in" #define T_NO_SNDFILE 666 // "Libsndfile support not compiled in" #define T_NO_SNDPIPE 667 // "Sndpipe support not compiled in" #define T_TERMINATING_SOUNDCARD 668 // "Terminating soundcard" #define T_INIT_DWDB 669 // "Initializing DXCC database" #define T_FREE_DWDB 670 // "Terminating DXCC database" #define T_LOAD_DWDB 671 // "Loading DXCC database" #define T_CALLSIGN_UNKNOWN 672 // "Callsign unknown in namedb and C_W\n" #define T_CROSSMODE_QSO_N 673 // "Crossmode QSO ?\n" #define T_UNKNOWN_DXCC_PREFIXN 674 // "Unknown DXCC prefix\n" #define T_PREFIX_AND_BIG_WWL 675 // "Prefix and big wwl don't match\n" #define T_KNOWN_CALL_UNK_LOC 676 // "Known call from unknown locator\n" #define T_CALL_WITHOUT_P 677 // "Call is without /P and in C_W exists call with /P\n" #define T_CALL_WITHOUT_D 678 // "Call is without /%d and in C_W exists call with /%d\n" #define T_CALL_IS_WITH_P_AND 679 // "Call is with /P and in C_W exists call without /P or CEPT prefix\n" #define T_OTHER_SIMILAR_CALL_KNOWN 680 // "Other similar call known from this locator. Maybe %s?\n" #define T_CALL_ON_BAND_S 681 // "Callsign on band %s is %s\n" #define T_LOCATOR_ON_BAND 682 // "Locator on band %s is %s\n" #define T_QSO_CHECK_LIST 683 // " Tucnak QSO check list\n" #define T_CALL_SN 684 // " Call: %s\n" #define T_CONTEST_SN 685 // "Contest: %s\n" #define T_DATE_SN 686 // " Date: %s\n" #define T_CHECKING_S 687 // "Checking %s" #define T_BAND_C_SN 688 // " Band %c %s\n" #define T_SEEMS_TO_BE_OK 689 // "Seems to be O.K.\n" #define T_CW_NOT_FOUND 690 // "C_W: %s not found\n" #define T_0X_NOT_IN_DB 691 // " 0x (not in database)" #define T_NAME_IS 692 // "Name: %s's name is %s\n" #define T_NAME_UNKNOWN 693 // "Name: %s's name is unknown\n" #define T_INIT_DXC 694 // "Initializing DXcluster" #define T_FREE_DXC 695 // "Terminating DXcluster" #define T_HK_SELECT 696 // "S" #define T_HIDE 697 // "Hide" #define T_HK_HIDE 698 // "H" #define T_INFO 699 // "Info" #define T_HK_INFO 700 // "I" #define T_USE 701 // "Use" #define T_HK_USE 702 // "U" #define T_BAD_DXC_PORT 703 // "*** Incorrect DXC TCP port %s ***\n" #define T_ENTER_TO_DXC 704 // "\n*** Press ENTER to connect to DXC ***\n" #define T_CANT_RESOLVE 705 // "*** Can't resolve %s: %s ***\n" #define T_HOST_RESOLVED 706 // "*** Host resolved " #define T_CANT_CREATE_SOCKET 707 // "*** Can't create socket. %s ***\n" #define T_CONNECTING_TO 708 // "*** Connecting to %s ***\n" #define T_CANT_CONNECT_TO 709 // "*** Can't connect to %s, %s ***\n" #define T_CONNECTED_SOCKET 710 // "*** Connected socket %d ***\n" #define T_ERROR_READING_SOCKET 711 // "*** Error reading socket: %s ***\n" #define T_DISCONNECTED 712 // "\n*** Disconnected ***\n" #define T_RESOLVING 713 // "*** Resolving %s ***\n" #define T_LOADED_LOCS_NAMES 714 // "Loaded %d locators and %d names from %s" #define T_SAVED 715 // "Saved %s" #define T_LOADING_CONTEST 716 // "Loading contest %s" #define T_LOADING_LOGFILE 717 // "Loading logfile" #define T_LOADING_TALK 718 // "Loading talk" #define T_SEARCH_FILES 719 // "Search for contest files" #define T_LOADING_BAND 720 // "Loading band %s" #define T_LOADING_SPY 721 // "Loading spy" #define T_LOADING_HICALLS 722 // "Loading hicalls" #define T_LOADING_QRV 723 // "Loading qrv" #define T_LOADING_CHART 724 // "Loading chart" #define T_SAVING_CONTEST 725 // "Saving contest" #define T_UPD_INT_DATA 726 // "Updating internal data" #define T_CALC_STATS 727 // "Calculating statistics" #define T_ANN_OVER_NET 728 // "Announcing over network" #define T_ACTIVATING_BAND 729 // "Activating band %s" #define T_UPDATING_WKD 730 // "Updating worked calls" #define T_UPDATING_QRBQTF 731 // "Updating QRB&QTF" #define T_UPDATING_GAIN 732 // "Updating gain chart" #define T_SEN_OVER_NET 733 // "Sending info over network" #define T_INIT_EXCDB 734 // "Initializing exchange database" #define T_FREE_EXCDB 735 // "Terminating exchange database" #define T_INIT_FFT 736 // "Initializing FFT analyse" #define T_FREE_FFT 737 // "Terminating FFT analyse" #define T_INIT_ROTAR 738 // "Initializing rotator control" #define T_FREE_ROTAR 739 // "Terminating rotator control" #define T_LOCATOR 740 // "Locator:" #define T_BAND2 741 // "Band" #define T_POINTS 742 // "Points" #define T_AVG 743 // "AVG" #define T_INIT_HTTPD 744 // "Initializing HTTP server" #define T_FREE_HTTPD 745 // "Terminating HTTP server" #define T_NO_CONTEST_OPENED 746 // "

No contest opened

\n" #define T_NO_CONTEST_OPENED2 747 // "No contest opened" #define T_STATS 748 // "Statistics" #define T_BAND_NOT_FOUND 749 // "Band not found" #define T_BAND_C_NOT_FOUND 750 // "

Band %c not found

" #define T_QSOS_IN_DATABASE 751 // "qsos in database" #define T_TUCNAK_ONLINE_LOG 752 // "Tucnak online log" #define T_DATE2 753 // "Date" #define T_UTC 754 // "UTC" #define T_CALL 755 // "Call" #define T_CALL_NOT_FOUND 756 // "Call not found" #define T_CANT_LOAD_INPOUT 757 // "Can't load inpout32.dll, error %d" #define T_FREE_TERM 758 // "Terminating terminal" #define T_TERM_KEYMAPS 759 // "Terminating keymaps" #define T_QRB 760 // "QRB" #define T_HK_QRB 761 // "B" #define T_QTF 762 // "QTF" #define T_HK_QTF 763 // "F" #define T_ACKST 764 // "AcKST" #define T_HK_ACKST 765 // "A" #define T_MISTAKE 766 // "Oh mistake" #define T_HK_MISTAKE 767 // "O" #define T_ASK_FOR_SKED 768 // "Sked - ask for" #define T_HK_ASK_FOR_SKED 769 // "K" #define T_ASK_FOR_SKED_B 770 // "Sked - calling you" #define T_HK_ASK_FOR_SKED_B 771 // "C" #define T_MESSAGE 772 // "Message" #define T_HK_MESSAGE 773 // "M" #define T_AC_INFO 774 // "AS info" #define T_HK_AC_INFO 775 // "A" #define T_NO_SEND_NUMS 776 // "*** Sending numbers over KST is prohibited\n" #define T_RESOLVED 777 // "*** Resolved " #define T_ENTER_TO_CONNECT_KST 778 // "\n*** Press ENTER to connect to ON4KST ***\n" #define T_SENDING_SH_US 779 // "*** Sending /sh us ...\n" #define T_SKIP_LINE 780 // "Skip line %d '%s'" #define T_CANT_CREATE_HOME 781 // "Can't create home directory '%s'" #define T_MUST_BE_DIR_MODE 782 // "'%s' must be directory (mode 0%oo)" #define T_TUCNAK_DIRECTORY_IS 783 // "Tucnak directory is %s" #define T_INIT_MAP 784 // "Initializing polar map" #define T_DISABLE_SAVER 785 // "Disabling screensaver" #define T_STARTING_TUCNAK 786 // "Starting Tucnak" #define T_FREE_MAP 787 // "Terminating polar map" #define T_INIT_MASTERDB 788 // "Initializing master database" #define T_FREE_MASTERDB 789 // "Terminating master database" #define T_LOAD_MASTERDB 790 // "Loading master database" #define T_TUCNAK_SVN_LIBZIA_SVN 791 // "Tucnak SVN version: %s\nLibzia SVN version: %s" #define T_DIRECTORY_SCAN 792 // "Directory scan" #define T_V3_COMPATIBILITY 793 // " (v3 compatibility)" #define T_RELOAD_INTERFACES 794 // "Reload interfaces" #define T_SET_READONLY 795 // "Set read-only" #define T_CHANGE_TYPE 796 // "Change type" #define T_HK_CHANGE_TYPE 797 // "T" #define T_OPEN_CONNECTION 798 // "Open connection" #define T_HK_OPEN_CONNECTION 799 // "O" #define T_KILL_CONNECTION 800 // "Kill connection" #define T_HK_KILL_CONNECTION 801 // "K" #define T_HK_EXPORT_TO_TEXT_FILE 802 // "E" #define T_EXPORT_TO_TEXT_FILE 803 // "Export to text file" #define T_ADD_CONTEST 804 // "Add contest" #define T_HK_ADD_CONTEST 805 // "O" #define T_ADD_FILES 806 // "Add file(s)" #define T_HK_ADD_FILES 807 // "F" #define T_ADD_CONTESTS 808 // "Add contests" #define T_HK_ADD_CONTESTS 809 // "O" #define T_ALTC 810 // "Alt+%c" #define T_CTRLC 811 // "Ctrl+%c" #define T_CTRLP 812 // "Ctrl+P" #define T_CRASH_TEST 813 // "Crash test" #define T_HK_CRASH_TEST 814 // "C" #define T_INTERROR_TEST 815 // "Int.error test" #define T_HK_INTERNAL_TEST 816 // "I" #define T_DUMP_RW_BANDS 817 // "Dump RW bands and hashes" #define T_HK_DUMP_RW_BANDS 818 // "D" #define T_UPDATE 819 // "Update Tucnak" #define T_HK_UPDATE 820 // "U" #define T_SETTINGS 821 // "Settings" #define T_HK_SETTINGS 822 // "S" #define T_UPLOAD_TO_VHFNET 823 // "Upload to vhfcontest.net" #define T_HK_UPLOAD_TO_VHFNET 824 // "V" #define T_UPLOAD_TO_SLOVHF 825 // "Upload live score to slovhf.net" #define T_HK_UPLOAD_TO_SLOVHF 826 // "S" #define T_MEDIAWIKI_UPLOAD 827 // "Upload to MediaWiki" #define T_HK_MEDIAWIKI_UPLOAD 828 // "U" #define T_SOTA_UPLOAD_LOG 829 // "Upload to SOTALog" #define T_HK_SOTA_UPLOAD_LOG 830 // "D" #define T_SEND_SOTA_SPOT 831 // "Send SOTA spot" #define T_HK_SEND_SOTA_SPOT 832 // "N" #define T_VOIP_SPY 833 // "Voip spy" #define T_HK_VOIP_SPY 834 // "V" #define T_END_VOIP_SPY 835 // "End voip spy" #define T_HK_END_VOIP_SPY 836 // "Y" #define T_OLD_TEST_NO_SPY 837 // "Contest is old, spy is not available" #define T_NETWORK_SCAN 838 // "Network scan" #define T_HTTPD_OPTIONS 839 // "HTTPD options" #define T_HK_HTTP_OPTIONS 840 // "H" #define T_AC_OPTIONS 841 // "Aircraft scatter options" #define T_HK_AC_OPTIONS 842 // "P" #define T_SDR_OPTIONS 843 // "SDR options" #define T_HK_SDR_OPTIONS 844 // "R" #define T_RAIN_OPTIONS 845 // "Rain scatter options" #define T_HK_RAIN_OPTIONS 846 // "A" #define T_OTHER 847 // "Other:" #define T_NONE 848 // "None " #define T_RSTS2 849 // "RST-S" #define T_RSTR2 850 // "RST-R" #define T_QSONRR2 851 // "QSONR-R" #define T_EXC2 852 // "EXC" #define T_UNUSED 853 // "Unused " #define T_USED_6 854 // "Used (6)" #define T_OPT_6 855 // "Opt. (6)" #define T_USED_4 856 // "Used (4)" #define T_OPT_4 857 // "Opt. (4)" #define T_FREE 858 // "Free " #define T_MULTIPLIED 859 // "Multipl." #define T_VERIFIED 860 // "Verified" #define T_WAZ 861 // "WAZ " #define T_ITU 862 // "ITU " #define T_WWL2 863 // "WWL:" #define T_CONFIRM_WWL 864 // "Confirm WWL" #define T_CONFIRM_EXC 865 // "Confirm EXC" #define T_FONT_SIZE 866 // "Font size: " #define T_DXC_HOSTNAME 867 // "DXC Hostname:" #define T_TCP_PORT 868 // "TCP Port:" #define T_SOTA_USERNAME 869 // "SOTA Username:" #define T_DXC_USERNAME 870 // "DXC Username:" #define T_PASSWORD 871 // "Password:" #define T_KST_USERNAME 872 // "KST Username:" #define T_KST_YOURNAME 873 // "KST Yourname:" #define T_SLOVHF_USER 874 // " SLOVHF user:" #define T_SDR 875 // "SDR" #define T_PARPORT 876 // "parport" #define T_TTYS 877 // "ttys" #define T_TTYSSINGLE 878 // "ttys single pin" #define T_AUDIO_SUBSYSTEM 879 // "Audio subsystem:" #define T_PLAYBACK_VOLUME 880 // "Playback volume" #define T_CAPTURE_VOLUME 881 // "Capture volume" #define T_ENABLE_REMOTE_CONNECT 882 // "Enable remote connect" #define T_TRACE_RIG 883 // "Trace rig" #define T_TRACE_KEYS 884 // "Trace keys" #define T_SAVE_RESTART 885 // "You must save configuration and restart Tucnak" #define T_FULLSCREEN 886 // "Fullscreen" #define T_TOUCH 887 // "Use touch control" #define T_ALT_QWER 888 // "Alt turns QWER.. to 1234.." #define T_NO_LOCKS 889 // "No device locks" #define T_PORTRAIT_ORIENTATION 890 // "Portrait orientation" #define T_REVERSE 891 // "Reverse" #define T_CHOOSE_RIG 892 // "Choose rig" #define T_RIG_D 893 // "Rig %d" #define T_NEW_RIG 894 // "New rig" #define T_ENABLED 895 // "Enabled" #define T_SET_PTT_ON_RADIO 896 // "Set PTT on radio" #define T_DISABLED 897 // " (disabled)" #define T_ADD_RIG 898 // "Add rig" #define T_REMOVE_RIG 899 // "Remove rig" #define T_ROTATOR_D 900 // "Rotator %d" #define T_ENABLE 901 // "Enable" #define T_TCP_PORT2 902 // "TCP port:" #define T_PRIVATE 903 // "Show private information" #define T_REFRESH 904 // "Refresh interval:" #define T_LOAD_FROM_NET 905 // "Load from network" #define T_LOAD_CWDB 906 // "Load C_W database" #define T_LOAD_NAMEDB 907 // "Load Name database" #define T_LOAD_QRVDB 908 // "Load QRV database" #define T_READONLY_BANDS 909 // "Read-only bands" #define T_ENABLE_AC 910 // "Enable AS" #define T_AC_URL 911 // "Alternative URL for flightradar data" #define T_K_FACTOR 912 // "Troposphere k_factor" #define T_AC_AREA_WIDTH 913 // "Reflection area width in km" #define T_AC_EL_ANGLE 914 // "Minimal elevation angle" #define T_AC_MAX_EL_ANGLE 915 // "Maximal elevation angle" #define T_AC_MIN_DURATION 916 // "Minimal reflection duration in sec" #define T_AC_MAX_DIFF 917 // "Max difference of incidence and reflection angles" #define T_BAD_NUMBER_RANGE 918 // "Bad number range" #define T_AF_SRATE_GREATER_SRATE 919 // "AF sample rate can't be greater than sample rate" #define T_SRATE_DIVISIBLE 920 // "Sample rate must be divisible by AF sample rate without remainder" #define T_NO_DEVICE 921 // "No device" #define T_IQ_SOURCE 922 // "IQ source:" #define T_WAV_FILE 923 // "WAV file" #define T_WAV_FILE_NAME 924 // "WAV file name" #define T_AF_OUTPUT 925 // "AF output:" #define T_AF_SAMPLE_RATE 926 // "AF sample rate" #define T_BLOCK_SIZE 927 // " Block size" #define T_CW_FILTER 928 // " CW filter" #define T_TO_HZ 929 // "to [Hz]" #define T_SSB_FILTER 930 // " SSB filter" #define T_INIT_NAMEDB 931 // "Initializing name database" #define T_FREE_NAMEDB 932 // "Terminating name database" #define T_LOAD_NAMEDB2 933 // "Loading name database" #define T_INIT_NET 934 // "Initializing network" #define T_FREE_NET 935 // "Terminating network" #define T_ONLY_55555_CAN_REMOTE 936 // "Only tucnak with port 55555 can connect to remote to prevent routing loops" #define T_CANT_CONNECT_TO_MYSELF_LO 937 // "Can't connect to myself (interface lo)" #define T_CANT_CONNECT_TO_MYSELF 938 // "Can't connect to myself (interface %s)" #define T_CANT_PARSE_REMOTE_HOST_S 939 // "Can't parse remote host %s" #define T_TIME_WAS_SET 940 // "Time was set" #define T_FAILED_TO_SET_TIME 941 // "Failed to set time" #define T_INIT 942 // "INIT" #define T_CONNECTING 943 // "CONNECTING" #define T_CONNECTED 944 // "CONNECTED" #define T_WAIT_ACK 945 // "WAIT_ACK" #define T_DISCONNECTED2 946 // "DISCONNECTED" #define T_DEAD 947 // "DEAD" #define T_LONG_XFER 948 // "LONG_XFER" #define T_AUTHENTICATED_USER_S 949 // "Authenticated user %s" #define T_BAD_AUTHENTICATION_S 950 // "Bad authentication %s" #define T_LONG_TRANSFER_STARTED_PLEASE_WAIT 951 // "Long transfer started, please WAIT" #define T_LONG_TRANSFER_FINISHED 952 // "Long transfer finished" #define T_INIT_NTP 953 // "Initializing NTP monitor" #define T_FREE_NTP 954 // "Terminating NTP monitor" #define T_NO_NTP 955 // "Warning! Time on this machine is not synchronized. Please use NTP" #define T_INIT_SPEAKER 956 // "Initializing PC speaker" #define T_FREE_SPEAKER 957 // "Terminating PC speaker" #define T_CANT_PLAY 958 // "Can't play %s - %s" #define T_CANT_SEEK_TO_END 959 // "Can't seek to end %s - %s" #define T_CANT_SEEK_TO_START 960 // "Can't seek to start %s - %s" #define T_CANT_OPEN 961 // "Can't open %s %s" #define T_TIP_MKNOD 962 // "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"" #define T_TIP_CHMOD 963 // "Tip: try to run as root \"chmod a+rw %s\"" #define T_CANT_SET_EPP 964 // "Can't set %s to EPP mode %s" #define T_CANT_EXCLUSIVE_ACCESS 965 // "Can't exclusive access to %s %s" #define T_CANT_CLAIM 966 // "Can't claim %s %s" #define T_INIT_QRVDB 967 // "Initializing QRV database" #define T_FREE_QRVDB 968 // "Terminating QRV database" #define T_WWL3 969 // "WWL" #define T_WKD2 970 // "WKD" #define T_ACKST2 971 // "AcKst" #define T_START 972 // "Start" #define T_DUR 973 // "Dur" #define T_NR 974 // "NR" #define T_TEXT2 975 // "Text" #define T_16_SORT 976 // "1-6: sort, " #define T_A_ALL 977 // "A: all" #define T_ENTER_SPACE_EDIT 978 // ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search" #define T_LOAD_QRVS 979 // "Loading qrvs" #define T_UNSPECIFIED 980 // "unspecified" #define T_SSB 981 // "SSB" #define T_CW 982 // "CW" #define T_SSBS_CWR 983 // "SSBs CWr" #define T_CWS_SSBR 984 // "CWs SSBr" #define T_AM 985 // "AM" #define T_FM 986 // "FM" #define T_RTTY 987 // "RTTY" #define T_SSTV 988 // "SSTV" #define T_ATV 989 // "ATV" #define T_ADDED_ERROR 990 // "added ERROR for band %c, qsonr %d\n" #define T_FOUND_D_ERRORS 991 // "Found %d error%s while reading %s" #define T_FOUND_D_ERRORS_RC_NET 992 // "Found %d error(s) while reading config from net" #define T_REGISTRATED_ROTATORS 993 // "Registrated rotators:" #define T_UNSUPPORTED_ROTATOR 994 // "Unsupported rotator type %d\n" #define T_WAIT_HL_ROT_THREAD 995 // "Waiting for hamlib rotator thread" #define T_INIT_ROTARS2 996 // "Initializing rotators" #define T_UNKNOWN_ROTAR 997 // "Unknown rotar '%s'\n" #define T_ROTAR_ERROR_S 998 // "Rotar error: %s" #define T_CANT_RECORD_FROM_SDR_DSP 999 // "Can't record from SDR DSP" #define T_CANT_PLAY_TO_SDR_DSP 1000 // "Can't play to SDR DSP" #define T_CANT_OPEN_PLAY_SDR_SOUNDPIPE 1001 // "Can't open (play) SDR soundpipe" #define T_CANT_READ_FROM 1002 // "Can't read from" #define T_CANT_WRITE_TO 1003 // "Can't write to" #define T_MULTIPLIED_WWLS_D 1004 // " Multiplied WWLs: %d" #define T_HYPHENS1 1005 // "-----------------------" #define T_UPDATE2 1006 // "Update" #define T_ENTER_TO_KST 1007 // "*** Press ENTER to connect to ON4KST ***" #define T_BAD_UPDATE_FILE_NAME 1008 // "Bad update file name" #define T_CANT_EXECUTE_INSTALLER 1009 // "Can't execute installer, " #define T_UPDATE_OF_TUCNAK_FAILED 1010 // "Update of Tucnak failed" #define T_UPDATE_FAILED 1011 // "Update failed" #define T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY 1012 // "Update of Tucnak failed, can't parse reply." #define T_UPDATE_OF_TUCNAK_FAILED_S 1013 // "Update of Tucnak failed. %s" #define T_NEW_VERSION_AVAIL 1014 // "New version %s is available. Use Menu File, Update Tucnak to install." #define T_NO_NEW_VER 1015 // "No new version available." #define T_READING_LIST_OF_OPENED_CONTESTS 1016 // "Reading list of opened contests..." #define T_CHOOSE_CONTEST 1017 // "Choose contest" #define T_NO_CONTEST_AVAILABLE_FOR_UPLOAD 1018 // "No contest available for upload" #define T_OBTAINING_CONTEST_WEB_FORM 1019 // "Obtaining contest web form..." #define T_ALL_EDI_FILES_PROCESSED 1020 // "All EDI files processed." #define T_UPLOADING_LOG_FILE_S 1021 // "Uploading log file %s ..." #define T_UPLOADING_BAND_S 1022 // "Uploading band %s" #define T_CONFIRMING_LOG 1023 // "Confirming log..." #define T_RESULT_ERROR 1024 // "*** Result: ERROR please read error message above" #define T_LOG_IS_NOT_VALID 1025 // "Log is not valid. Please verify error messages and repeat: %s" #define T_DOWNLOADING_CLAIMED_SCORES 1026 // "Downloading claimed scores..." #define T_LOGS_UPLOADED 1027 // "Logs uploaded." #define T_HTTP_STATUS 1028 // "HTTP status: " #define T_LOG_UPLOAD 1029 // "Log upload" #define T_VOIP_NO_INITIALIZED 1030 // "VOIP no initialized" #define T_PAGE_NAME 1031 // "Page name" #define T_OVERWRITE_EXISTING_FILES 1032 // "Overwrite existing files" #define T_SITE_URL 1033 // "Site URL" #define T_USERNAME 1034 // "Username" #define T_PASSWORD2 1035 // " Password" #define T_EXPORT_MAP 1036 // "Export map" #define T_EXPORT_CHART 1037 // "Export chart" #define T_MEDIAWIKI_UPLOAD2 1038 // "Mediawiki upload" #define T_BAD_AUTH_USER 1039 // "Bad auth user %s != %s" #define T_BAD_AUTH_PASS 1040 // "Bad auth pass %s != %s\n" #define T_CTEST_NOT_SAME_AC 1041 // "Contest is not the same: FORMAT of AC frame" #define T_CANT_GET_FMTS 1042 // "Can't get supported audio formats: %s" #define T_CANT_SET_FMT 1043 // "Can't set audio format %d, recommended %d: %s" #define T_CANT_SET_FMT_RET 1044 // "Can't set recommended audio format %d, return %d: %s" #define T_CANT_SET_FALLBACK 1045 // "Can't set fallback audio %d, return %d: %s" #define T_CANT_SET_CHANNELS 1046 // "Can't set channels %d, recommended %d: %s" #define T_CANT_SET_CHANNELS_RET 1047 // "Can't set recommended channels %d, return %d: %s" #define T_CANT_SET_RATE 1048 // "Can't set samplerate %d, recommended %d: %s" #define T_CANT_SET_RATE_RET 1049 // "Can't set recommended samplerate %d, return %d: %s" #define T_CANT_SET_BLOCK_SIZE 1050 // "Can't set block size %d: %s" #define T_UNKNOWN_PORTAUDIO_DEV 1051 // "Unknown portaudio device %d" #define T_CANT_OPEN_PA_STREAM 1052 // "Can't open PortAudio stream %d for %s: %s" #define T_RECORD2 1053 // "record" #define T_PLAYBACK 1054 // "playback" #define T_CANT_PA_STREAM 1055 // "Can't %s PortAudio stream %d: %s" #define T_CANT_STOP_PA 1056 // "Can't stop PortAudio stream: %s" #define T_CANT_CLOSE_PA 1057 // "Can't close PortAudio stream: %s" #define T_TIP_RMMOD 1058 // "Tip: try to run as root \"rmmod lp\"" #define T_TIP_KILL_LSOF 1059 // "Tip: or kill process listed in \"lsof %s\"" #define T_CANT_SET_STROBE 1060 // "Can't set parport_STROBE %s" #define T_UNKNOWN_ROTNR_OR_INIT_ERROR 1061 // "Unknown rotator number %d or initialization error" #define T_CANT_CREATE_HL_ROT_THR 1062 // "Can't create hamlib rotar thread\n" #define T_INIT_SERIAL_DEVICES 1063 // "Initializing serial devices" #define T_BAD_CHECKSUM 1064 // "Bad checksum" #define T_TIMEOUT2 1065 // "Timeout" #define T_BAD_RESPONSE 1066 // "Bad response" #define T_UNKNOWN_FUNCTION 1067 // "Unknown function" #define T_UNKNOWN_ERROR_CODE 1068 // "Unknown error code" #define T_CANT_CREATE_SDR_THR 1069 // "Can't create SDR thread\n" #define T_WAIT_FOR_SDR_THR 1070 // "Waiting for SDR thread" #define T_QSO_REQ_FROM_SP 1071 // " QSO request from S&P " #define T_QSO_REQ_SENT 1072 // " QSO request sent to RUN " #define T_GO 1073 // " GO! " #define T_LOCATION_UNKNOWN 1074 // "Location unknown" #define T_DEGREE 1075 // "deg" #define T_SKED_FORMAT 1076 // "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s" #define T_CANT_OPEN_FILE_S_S 1077 // "Can't open file '%s': %s" #define T_CANT_OPEN_SOUND_PIPE 1078 // "Can't open sound pipe" #define T_INIT_SSB_CQ 1079 // "Initializing SSB CQ" #define T_FREE_SSB_CQ 1080 // "Terminating SSB CQ" #define T_NO_FILE 1081 // "No file specified" #define T_UNSUP_CHANNELS 1082 // "Unsupported number of channels = %d" #define T_FLOAT_UNSUPP 1083 // "Float point files are not supported" #define T_CANT_OPEN_DSP_PLAY 1084 // "Can't open DSP %s for playing" #define T_REC_DISABLED 1085 // "recording disabled" #define T_CONTEST_TOO_OLD 1086 // "contest too old" #define T_NO_FREE_DISK_SPACE 1087 // "Not enough free disk space for %s: %d<%d (MiB)" #define T_ERROR_WRITING_FILE 1088 // "Error writing file %s: %s" #define T_CANT_OPEN_DSP_REC 1089 // "Can't open DSP %s for recording" #define T_NO_DISK_SPACE 1090 // "Not enough free disk space for file" #define T_CANT_PLAY_FILE 1091 // "Can't play file %s - %s" #define T_CANT_WRITE_SS 1092 // "Can't write to file %s - %s" #define T_NO_LAST_SAMPLE_RECORDED 1093 // "No last sample recorded" #define T_NO_MACRO_IN_TEMPLATE 1094 // "No macro %% in SSBD template" #define T_NEW_WINDOWS_3 1095 // "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n" #define T_ENTER_TO_DXC2 1096 // "*** Press ENTER to connect to DXC ***" #define T_LOADING_S 1097 // "Loading %s" #define T_INVALID_WINDOW_TYPE 1098 // "invalid window type %d\n" #define T_INIT_RIG 1099 // "Initializing rig control %d" #define T_RIG_ERROR 1100 // "Rig error: %s (%s)" #define T_CANT_CREATE_RIG_THREAD 1101 // "Can't create trig thread\n" #define T_FREE_RIG 1102 // "Terminating rig control %d" #define T_WAIT_FOR_RIG_THR 1103 // "Waiting for rig thread" #define T_INVALID_PARAM 1104 // "Invalid param." #define T_RIG_INVALID_CONFIG 1105 // "Invalid config." #define T_RIG_NOT_ENOUGH_MEM 1106 // "Not enough mem." #define T_RIG_NOT_IMPLEMENTED 1107 // "Not implemented" #define T_RIG_COMM_TIMEOUT 1108 // "Comm. timeout" #define T_RIG_IO_ERROR 1109 // "IO error" #define T_RIG_INTERNAL_ERROR 1110 // "Internal error" #define T_PROTOCOL_ERROR 1111 // "Protocol error" #define T_RIG_COMMAND_REJECT 1112 // "Command reject." #define T_RIG_ARG_TRUNCATED 1113 // "Arg. truncated" #define T_RIG_F_NOT_AVAILABLE 1114 // "F not available" #define T_RIG_VFO_NOT_TARGET 1115 // "VFO not target." #define T_RIG_ERROR_ON_BUS 1116 // "Error on bus" #define T_RIG_BUS_COLLISION 1117 // "Bus collision" #define T_RIG_INVALID_ARG 1118 // "Invalid arg." #define T_RIG_INVALID_VFO 1119 // "Invalid VFO" #define T_RIG_ARG_OUT_OF_DOM 1120 // "Arg out of dom." #define T_ERROR_D 1121 // "Error %d" #define T_CANT_SET_GRAPHICS1 1122 // "Can't set graphics mode (SDL_Init)" #define T_CANT_SET_GRAPHICS2 1123 // "Can't set graphics mode" #define T_WAIT_SDL_THR 1124 // "Waiting for SDL event thread" #define T_FREE_GRAPHICS 1125 // "Terminating graphics" #define T_CANT_GET_LIST_OF_CONTESTS 1126 // "Can't get list of contests: %s" #define T_CANT_GET_UPLOAD_FORM 1127 // "Can't get upload form: %s" #define T_CANT_READ_LOG_FILE 1128 // "Can't read log file %s" #define T_CANT_UPLOAD_LOG 1129 // "Can't upload log: %s" #define T_CANT_CONFIRM_LOG 1130 // "Can't confirm log: %s" #define T_CANT_GET_CLAIMED_SCORES 1131 // "Can't get claimed scores: %s" #define T_ANT_OPEN_DSP_PLAY 1132 // "an't open DSP %s for playing" #define T_CALL2 1133 // "Call:" #define T_QTH 1134 // "QTH:" #define T_DATE3 1135 // "Date:" #define T_QSOS2 1136 // "QSOs:" #define T_POINTS2 1137 // "Points:" #define T_WWLS 1138 // "WWLs:" #define T_DXCCS 1139 // "DXCCs:" #define T_AVG2 1140 // "AVG:" #define T_PTSQSO 1141 // "pts/qso" #define T_TOP_10_CALLS 1142 // "Top 10 calls" #define T_OPERATOR2 1143 // "Operator" #define T_MODE2 1144 // "Mode" #define T_TOP_10_WWLS 1145 // "Top 10 WWLs" #define T_CANT_UPLOAD_FILE_S 1146 // "Can't upload file: %s" #define T_CANT_UPLOAD_PAGE_WIKI_RET 1147 // "Can't upload page, wiki returns: %s" #define T_FILE_ALREADY_EXISTS 1148 // "File already exists: %s" #define T_CANT_UPLOAD_PAGE_RET 1149 // "Can't upload page, wiki returns result: %s" #define T_CANT_EDIT_PAGE 1150 // "Can't edit page: %s" #define T_CANT_EDIT_PAGE_RET 1151 // "Can't edit page, wiki returns: %s" #define T_CANT_EDIT_PAGE_RET2 1152 // "Can't edit page, wiki returns result: %s" #define T_EDITING_CONTEST_PAGE 1153 // "Editing contest page..." #define T_ALL_DONE 1154 // "All done." #define T_UPLOADING_FILE 1155 // "Uploading file %s..." #define T_UNKNOWN_FILE_FOR_UPLOAD 1156 // "Unknown file for upload: %s" #define T_CANT_QUERY_EDIT_TOKEN 1157 // "Can't query edit token: %s" #define T_CANT_QUERY_EDIT_TOKEN_RET 1158 // "Can't query edit token, wiki returns: %s" #define T_QUERYING_EDIT_TOKEN 1159 // "Querying edit token" #define T_CANT_LOGIN 1160 // "Can't log in (2): %s" #define T_CANT_LOGIN2 1161 // "Can't log in (2), wiki says: %s" #define T_CANT_LOGIN1 1162 // "Can't log in (1): %s" #define T_LOGGING_IN 1163 // "Logging in..." #define T_EXPORTING_FILES 1164 // "Exporting files..." #define T_INIT_WIZZ 1165 // "Initializing contest wizard" #define T_FREE_WIZZ 1166 // "Terminating contest wizard" #define T_LOAD_WIZZ_DATA 1167 // "Loading contest wizard data" #define T_ADIF_EXPORT_MODE 1168 // "ADIF export erroneous QSOs" #define T_LOGDIR_PATH 1169 // "Subdirectory for logs" #define T_PHASE 1170 // "Contest phase" #define T_HK_PHASE 1171 // "H" #define T_ENTER_PHASE 1172 // "New contest phase: " #define T_PHASE_E 1173 // " Phase:" #define T__N_TEXTS 1174 // number of texts tucnak-4.32/src/hf.c0000644000175000017500000003615014035370711011206 00000000000000/* hf.c - functions (mostly statistics) for HF contests Copyright (C) 2010-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "dwdb.h" #include "dxc.h" #include "excdb.h" #include "hf.h" #include "kbdbind.h" #include "menu.h" #include "qsodb.h" #include "tsdl.h" #include "session.h" #include "ssbd.h" #include "stats.h" #include "subwin.h" #include "terminal.h" #define QSOBOUND 6 #define LASTQSO 10 #define QSOH (LASTQSO-QSOBOUND) #define RATEBOUND 45 #define LASTBOUND 71 #define BANDS 6 #define DXCWIDTH 23 #define DXCBOUND (LASTQSO+1) int sw_hf_kbd_func(struct subwin *sw, struct event *ev, int fw){ switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_DOWN: sw->cur++; sw_hf_check_bounds(sw); redraw_later(); return 1; case ACT_UP: sw->cur--; sw_hf_check_bounds(sw); redraw_later(); return 1; case ACT_HOME: sw->cur = 1; sw_hf_check_bounds(sw); redraw_later(); return 1; case ACT_END: if (!aband) return 1; sw->cur = ctest->allqsos->len; sw_hf_check_bounds(sw); redraw_later(); return 1; case ACT_ENTER: if (!aband) return 1; sw_hf_check_bounds(sw); if (aband->readonly) { errbox(VTEXT(T_BAND_RO), 0); return 1; } if (sw->cur==0) break; edit_qso(get_gqso(aband, sw, sw->cur-1)); return 1; case ACT_CALLINFO: if (sw->cur==0) break; call_info(get_gqso(aband, sw, sw->cur-1)); return 1; case ACT_INSERT: if (sw->offset2 > 0) sw->offset2--; redraw_later(); return 1; case ACT_DELETE: /*if (sw->offset2 < QSOBOUND - 1)*/ sw->offset2++; // TODO limit ? redraw_later(); return 1; case ACT_PLAY_LAST: #ifdef HAVE_SNDFILE ssbd_play_last_sample(gssbd, get_gqso(aband, sw, sw->cur-1)); #endif break; } return 0; } int sw_hf_mouse_func(struct subwin *sw, struct event *ev, int fw){ return 0; } // uses aband void sw_hf_notworked_dxcc(gpointer key, gpointer value, gpointer user_data) { ZPtrArray *notworked_dxccs = (ZPtrArray *)user_data; char *dxcc = (char*)key; if (g_hash_table_lookup(aband->stats->dxcs, key) == NULL) z_ptr_array_add(notworked_dxccs, g_strdup(dxcc)); } void sw_hf_redraw(struct subwin *sw, struct band *band, int flags){ int i,j,x,y=0,col,idx, x0, y0; int bi; struct band *bands[BANDS]; char s[256], t[256]; char *c; char *hf_modes[] = {"???", "SSB", " CW", "MIX", "MIX", " AM", "FM", "RTY", "STV", "ATV"}; int nqsos=0, nqsop=0;//, nmult=0; int ntotal = 0; struct spotband *sband; // frames for (i=0; i<=LASTQSO;i++) { clip_char(sw, RATEBOUND, i, ATTR_FRAME|COL_NORM|179); clip_char(sw, LASTBOUND, i, ATTR_FRAME|COL_NORM|179); } for (i=0; ih) set_char(sw->x-1, sw->y + QSOBOUND, ATTR_FRAME|COL_NORM|195); clip_char(sw, RATEBOUND, QSOBOUND, ATTR_FRAME|COL_NORM|180); // excs multiplier if (aband && excdb){ int l, maxl = 0; x = 0; y = - sw->offset2; for (i=0; ivexcia->len; i++){ c = (gchar *)z_ptr_array_index(excdb->vexcia, i); l = strlen(c); if (l > maxl) maxl = l; } for (i=0; ivexcia->len; i++){ c = (gchar *)z_ptr_array_index(excdb->vexcia, i); if (x + maxl > RATEBOUND) { x = 0; y++; if (y==QSOBOUND) break; } if (g_hash_table_lookup_extended(aband->stats->excs, c, NULL, NULL) == FALSE){ clip_printf(sw, x, y, COL_NORM, c); } x += maxl + 1; } } // dxcc multiplier if (aband && ctest->dxcmult){ ZPtrArray *notworked_dxccs = z_ptr_array_new(); g_hash_table_foreach(dw->dw, sw_hf_notworked_dxcc, notworked_dxccs); z_ptr_array_qsort(notworked_dxccs, z_compare_string); for (i = 0; i < notworked_dxccs->len; i++){ c = (gchar *)z_ptr_array_index(notworked_dxccs, i); if (x + strlen(c) > RATEBOUND) { x = 0; y++; if (y==QSOBOUND) break; } clip_printf(sw, x, y, COL_NORM, c); x += strlen(c) + 1; } z_ptr_array_free_all(notworked_dxccs); } // bands prepare i = 0; memset(bands, 0, sizeof(bands)); if (ctest){ for (bi = ctest->bands->len - 1; bi >= 0; bi--){ struct band *b = (struct band *)g_ptr_array_index(ctest->bands, bi); bands[i++] = b; if (i==BANDS) break; } } // bands stats if (ctest) clip_printf(sw, RATEBOUND+3, 0 , COL_NORM, VTEXT(T_HF_RATE), ctest->qso_per_10 * 6, ctest->qso_per_60); else clip_printf(sw, RATEBOUND+3, 0 , COL_NORM, VTEXT(T_HF_RATE), 0, 0); clip_printf(sw, RATEBOUND+1, 1 , COL_NORM, VTEXT(T_HF_BAND)); for (i=0; i<6;i++){ struct band *b = bands[i]; if (!b) continue; safe_strncpy0(s, b->bandname, sizeof(s)); c = strchr(s, ' '); if (c != NULL) *c='\0'; j = strlen(s); if (j > 0 && toupper(s[j-1]) == 'M') s[j-1] = '\0'; clip_printf(sw, RATEBOUND+4-strlen(s), i+2, COL_NORM, s); nqsos += b->stats->nqsos; nqsop += b->stats->nqsop; clip_printf(sw, RATEBOUND+6, i+2, COL_NORM, "%4d %5d %4d", b->stats->nqsos, b->stats->nqsop, b->stats->nmult); } clip_printf(sw, RATEBOUND+1, i+2, COL_NORM, VTEXT(T_HF_SUM)); clip_printf(sw, RATEBOUND+6, i+2, COL_NORM, "%4d %5d %4d", nqsos, nqsop, ctest?ctest->allb_nmult:0); clip_printf(sw, RATEBOUND+1, i+3, COL_NORM, VTEXT(T_HF_SCORE)); /*t ntotal = st->ntotal; if (ctest->qsoglob)*/ if (ctest) ntotal = ctest->allb_ntotal; if (ntotal >= 1000000) sprintf(s, "%d %03d %03d", ntotal / 1000000, (ntotal % 1000000) / 1000, ntotal % 1000); else if (ntotal >= 1000) sprintf(s, "%d %d", ntotal / 1000, ntotal % 1000); else sprintf(s, "%d", ntotal); clip_printf(sw, LASTBOUND - 1 - strlen(s), i+3, COL_NORM, s); // qsos if (ctest){ // y0 = 0; /* if (ctest->allqsos->len+1 <= QSOH) y0 = LASTQSO - (ctest->allqsos->len+1) + 1; */ for (i=0;iallqsos->len + 0 - QSOH + i - sw->offset; if (idx < 0 || idx >= ctest->allqsos->len){ clip_printf(sw, 1, y, COL_NORM, "~"); continue; } col = /*idx == sw->cur - 1? COL_INV :*/ COL_NORM; //clip_printf(sw, LASTBOUND+2, y, COL_NORM, "i=%d y=%d idx=%d cur=%d", i, y, idx, sw->cur); q = (struct qso *)g_ptr_array_index(ctest->allqsos, idx); if (y<=QSOBOUND) continue; safe_strncpy0(s, q->band->bandname, sizeof(s)); c = strchr(s, ' '); if (c != NULL) *c='\0'; j = strlen(s); if (j > 0 && toupper(s[j-1]) == 'M') s[j-1] = '\0'; clip_printf(sw, 4-strlen(s), y, col, s); clip_printf(sw, 5, y, col, hf_modes[q->mode%10]); s[0]=q->time_str[0]; s[1]=q->time_str[1]; s[2]=':'; s[3]=q->time_str[2]; s[4]=q->time_str[3]; s[5]='\0'; clip_printf(sw, 9, y, col, s); if (q->error) safe_strncpy0(s, "ERROR", 20); else safe_strncpy0(s, q->callsign, 20); clip_printf(sw, 15, y, col, s); strcpy(t, ""); if (ctest->qsoused > 0) { strcat(t, " "); strcat(t, q->qsonrr); } if (*q->exc) { strcat(t, " "); strcat(t, q->exc); } if (*q->locator) { strcat(t, " "); strcat(t, q->locator); } g_strlcpy(s, t, 11); clip_printf(sw, 33-strlen(s), y, col, s); sprintf(t, "%d", q->qsop); g_strlcpy(s, t, 2); clip_printf(sw, 39-strlen(s), y, col, s); if (q->new_ & NEW_MULT) clip_printf(sw, 41, y, col, "*"); if (i==ctest->allqsos->len - 1){ // last QSO s[0]=q->time_str[0]; s[1]=q->time_str[1]; s[2]=':'; s[3]=q->time_str[2]; s[4]=q->time_str[3]; s[5]='\0'; strcpy(t, "(n/a)"); if (ctest->lastmultqso){ t[0]=ctest->lastmultqso->time_str[0]; t[1]=ctest->lastmultqso->time_str[1]; t[2]=':'; t[3]=ctest->lastmultqso->time_str[2]; t[4]=ctest->lastmultqso->time_str[3]; t[5]='\0'; } clip_printf(sw, LASTBOUND+2, 0, COL_NORM, VTEXT(T_HF_LAST), s, t); } if (idx == sw->cur -1) { for (j = 0; j < RATEBOUND; j++) clip_color(sw, j, y, COL_INV); } } } //DXCC if (gses->adwi){ clip_printf(sw, LASTBOUND+2, 1, COL_NORM, "%02d %s %s", gses->adwi->waz, gses->adxc, gses->adwi->dxcname); } if (gses->qs_master && *gses->qs_master) clip_printf(sw, 0, LASTQSO+1, COL_NORM, "%s", gses->qs_master); // else clip_printf(sw, 1, LASTQSO+2, COL_NORM, "empty"); // clip_char(sw, LASTBOUND+5, 8, FRAME|COL_NORM|179); if (gses->asunriseset){ clip_printf(sw, LASTBOUND+2, 8, COL_NORM, "%11s", gses->asunriseset); } clip_char(sw, LASTBOUND+14, 8, ATTR_FRAME|COL_NORM|179); if (spotdb && spotdb->sfi > 0){ clip_printf(sw, LASTBOUND+16, 8, COL_NORM, "SFI=%d", spotdb->sfi); } if (gses->adwi){ sprintf(s, "%d km, %d", gses->aqrb, gses->aqtf); clip_printf(sw, LASTBOUND+2, 9, COL_NORM, s); #if defined(Z_HAVE_SDL) && !defined(Z_ANDROID) if (sdl){ int xx = sw->x + LASTBOUND+2+strlen(s); if (xx < sw->x + sw->w) print_text(xx, sw->y + 9, -1, "\xb0", COL_NORM); } else #endif { clip_printf(sw, LASTBOUND + 2 + strlen(s), 9, COL_NORM, " deg"); } } // dxc sband = get_actual_spotband(); if (sband && sw->h >= DXCBOUND && sband->freq->len > 0){ struct spot *spot; time_t now; int idx; if (!sband) return; idx = sband->current; now = time(NULL); x0 = ((sw->w / DXCWIDTH) / 2 ) * DXCWIDTH; y0 = DXCBOUND + (sw->h - DXCBOUND) / 2; x = x0; y = y0; if (idx >= 0 && idx < sband->freq->len){ spot = (struct spot *)z_ptr_array_index(sband->freq, idx); sw_hf_draw_spot(sw, x, y, spot, now, COL_INV); } y--; idx++; while (x < sw->w && idx < sband->freq->len){ if (y == DXCBOUND){ y = sw->h - 1; x += DXCWIDTH; } spot = (struct spot *)z_ptr_array_index(sband->freq, idx); sw_hf_draw_spot(sw, x, y, spot, now, COL_NORM); y--; idx++; } x = x0; y = y0 + 1; idx = sband->current - 1; while (x >= 0 && idx >= 0){ if (y == sw->h){ y = DXCBOUND + 1; x -= DXCWIDTH; } spot = (struct spot *)z_ptr_array_index(sband->freq, idx); sw_hf_draw_spot(sw, x, y, spot, now, COL_NORM); y++; idx--; } #if 0 x = x0; y = y0; sw_hf_draw_spot(sw, x, y, spotdb->cur[aband->bi], COL_INV); y--; if (spotdb->cur[aband->bi]) spot=spotdb->cur[aband->bi]->prev; else spot=NULL; while (x >= 0){ if (!spot) break; if (y==DXCBOUND){ y = sw->h - 1; x -= DXCWIDTH; } if (get_qso_by_callsign(aband, spot->callsign)==NULL) sw_hf_draw_spot(sw, x, y, spot, COL_NORM); spot=spot->prev; y--; } if (spotdb->cur[aband->bi]) spot=spotdb->cur[aband->bi]->next; else spot=NULL; x = x0; y = y0 + 1; while (x < sw->w){ if (!spot) break; if (y == sw->h){ y = DXCBOUND + 1; x += DXCWIDTH; } if (get_qso_by_callsign(aband, spot->callsign)==NULL) sw_hf_draw_spot(sw, x, y, spot, COL_NORM); spot=spot->next; y++; } #endif } } void sw_hf_draw_spot(struct subwin *sw, int x, int y, struct spot *spot, time_t now, int acolor){ char raw[20]; int col; if (!spot){ clip_printf(sw, x, y, acolor, "%-*s", DXCWIDTH, "~"); return; } col = COL_NORM; if (now < spot->endbold) col = COL_WHITE; if (acolor == COL_INV){ if (col == COL_NORM) col = COL_INV; else col |= COL_INV; } clip_printf(sw, x, y, col, "%10.1f", spot->qrg); z_get_raw_call(raw, spot->callsign); col = sw_dxc_color(raw); // color from raw call but print whole call if (acolor == COL_INV) { if (col == COL_NORM) col = COL_INV; else col |= COL_INV; } clip_printf(sw, x + 10, y, col, " %-10s", spot->callsign); if (dxc_new_mult(spot->callsign)){ clip_printf(sw, x + 10, y, col, "!"); } } void sw_hf_check_bounds(struct subwin *sw){ int len; if (!aband) return; /*dbg("sw_qsos_check_bounds cur=%d, offset=%d ", sw->cur, sw->offset);*/ len = ctest->allqsos->len; if (sw->cur < 1 ) sw->cur = 1; if (sw->cur > len) sw->cur = len; if (sw->cur > len - sw->offset -1 ){ sw->offset = len - sw->cur; } if (sw->cur < len - QSOH + 1 - sw->offset){ sw->offset = len - QSOH - sw->cur + 1; } if (sw->offset < 0) sw->offset=0; } void sw_hf_raise(struct subwin *sw){ } void get_hf_dxc(char *str){ struct dw_item *dwi; static char dxcc[25]; double myh, myw, qrb, qtf; dwi = get_dw_item_by_call(dw, str); if (!dwi) return; gses->adwi = dwi; get_dxcc(dw, dxcc, str); gses->adxc = dxcc; zg_free0(gses->asunriseset); gses->asunriseset = zsun_strdup_riseset(time(NULL), dwi->latitude, dwi->longitude); if (ctest){ myh=qth(ctest->pwwlo, 0); myw=qth(ctest->pwwlo, 1); }else{ myh=qth(cfg->pwwlo, 0); myw=qth(cfg->pwwlo, 1); } hw2qrbqtf(myh, myw, dwi->longitude*M_PI/180.0, dwi->latitude*M_PI/180.0, &qrb, &qtf); //g_addf("%s %f %f %f %f %f %f", cfg->pwwlo, myh, myw, dwi->longitude*MY_PI/180.0, dwi->latitude*MY_PI/180.0, &qrb, &qtf); gses->aqrb = (int)qrb; gses->aqtf = (int)((qtf*180.0)/M_PI); } tucnak-4.32/src/scope.c0000644000175000017500000001272312727333253011730 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2009 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fft.h" #include "qsodb.h" #include "scope.h" #include "tsdl.h" #include "ssbd.h" #include "subwin.h" #include "terminal.h" #ifdef Z_HAVE_SDL /* only EV_KBD */ int sw_scope_kbd_func(struct subwin *sw, struct event *ev, int fw){ SDL_Rect area; if (!sdl) return 0; switch (ev->x){ case ' ': sw->scope_mode++; if (sw->scope_mode == 4) sw->scope_mode = 0; area.x = 0; area.y = 0; area.w = sw->screen->w; area.h = sw->screen->h; SDL_FillRect(sw->screen, &area, z_makecol(0, 0, 0)); break; } return 0; } int sw_scope_mouse_func(struct subwin *sw, struct event *ev, int fw){ if (!sdl) return 0; return 0; } void sw_scope_redraw(struct subwin *sw, struct band *band, int flags){ SDL_Rect area; int i, y, y0, a, c, x; int oy0=0, oy1=0; //static int ssr = 0; if (!sdl) return; fill_area(sw->x, sw->y, sw->w, sw->h, 0); //dbg("sw_scope_redraw(gdirty=%d) scope_show=%d pixel=%d\n", sw->gdirty, gssbd->scope_show, z_getpixel(sw->screen, 0, 0)); if (!sw->gdirty) return; sw->gdirty=0; #ifdef USE_FFT if (sw->scope_mode == 3){ //fill_area(sw->x, sw->y, sw->w, sw->h, 0); sw_fft_redraw(sw, flags); return; } #endif #ifdef HAVE_SNDFILE if (!gssbd->scope_show) { //fill_area(sw->x, sw->y, sw->w, sw->h, 0); return; } #endif area.x = 0; area.y = 0; area.w = sw->screen->w; area.h = sw->screen->h; SDL_FillRect(sw->screen, &area, z_makecol(0, 0, 0)); #ifdef HAVE_SNDFILE if (gssbd->channels == 1){ int avg = 0; c = gssbd->recording ? sdl->red : sdl->green; y0 = sw->screen->h / 2; a = sw->screen->h / 2 - 1; for (i=0; iscope_samples; i++){ avg += gssbd->scope_buf[i]; } avg /= gssbd->scope_samples; for (i=0; iscope_samples; i++){ if (i==sw->screen->w) break; y = ((int)(gssbd->scope_buf[i] - avg) * (int)a) / 32768; //y = (int)(log((double)(fabs(gssbd->scope_buf[i] - avg))) * a / log(32768.0)); switch(sw->scope_mode){ case 0: z_line(sw->screen, i, y0+y, i, y0-y, c); break; case 1: z_putpixel(sw->screen, i, y0-y, c); break; case 2: if (i==0){ oy0 = y0-y; break; } z_line(sw->screen, i-1, oy0, i, y0-y, c); z_putpixel(sw->screen, i-1, y0, sdl->gr[10]); oy0 = y0-y; break; } z_putpixel(sw->screen, i, y0, sdl->gr[10]); } //zsdl_printf(sw->screen, 20, 0, sdl->gr[15], 0, 0, "%d", ssr++); //z_putpixel(sw->screen, 0, 0, z_makecol(255, 255, 255)); } if (gssbd->channels == 2){ c = gssbd->recording ? sdl->red : sdl->green; y0 = sw->screen->h / 4; a = sw->screen->h / 4 - 1; for (i=0, x=0; iscope_samples; i+=2, x++){ if (x==sw->screen->w) break; y = ((int)gssbd->scope_buf[i] * (int)a) / 32768; switch(sw->scope_mode){ case 0: z_line(sw->screen, x, y0+y, x, y0-y, c); break; case 1: z_putpixel(sw->screen, x, y0-y, c); break; case 2: if (x==0){ oy0 = y0-y; break; } z_line(sw->screen, x-1, oy0, x, y0-y, c); z_putpixel(sw->screen, x-1, y0, sdl->gr[10]); oy0 = y0-y; break; } z_putpixel(sw->screen, x, y0, sdl->gr[10]); } y0 = (sw->screen->h * 3)/ 4; for (i=1, x=0; iscope_samples; i+=2, x++){ if (x==sw->screen->w) break; y = ((int)gssbd->scope_buf[i] * (int)a) / 32768; switch(sw->scope_mode){ case 0: z_line(sw->screen, x, y0+y, x, y0-y, c); break; case 1: z_putpixel(sw->screen, x, y0-y, c); break; case 2: if (x==0){ oy1 = y0-y; break; } z_line(sw->screen, x-1, oy1, x, y0-y, c); z_putpixel(sw->screen, x-1, y0, sdl->gr[10]); oy1 = y0-y; break; } z_putpixel(sw->screen, x, y0, sdl->gr[10]); } //z_putpixel(sw->screen, 0, 0, z_makecol(255, 255, 255)); } gssbd->scope_show = 0; #endif } void sw_scope_check_bounds(struct subwin *sw){ if (!sdl) return; if (!aband) return; } void sw_scope_raise(struct subwin *sw){ sw->gdirty=1; } void sw_scope_clear_scopes(){ int i; for (i = 0; i < gses->subwins->len; i++){ struct subwin *sw = (struct subwin*)g_ptr_array_index(gses->subwins, i); if (sw->type != SWT_SCOPE) continue; if (!sw->screen) continue; SDL_FillRect(sw->screen, NULL, z_makecol(0, 0, 0)); } #ifdef USE_FFT if (gfft && gfft->screen && sdl){ MUTEX_LOCK(gfft->screen); SDL_FillRect(gfft->screen, NULL, z_makecol(0, 0, 0)); MUTEX_UNLOCK(gfft->screen); } #endif } #else int sw_scope_kbd_func(struct subwin *sw, struct event *ev, int fw){ return 0; } int sw_scope_mouse_func(struct subwin *sw, struct event *ev, int fw){ return 0; } void sw_scope_redraw(struct subwin *sw, struct band *band, int flags){ } void sw_scope_check_bounds(struct subwin *sw){ } void sw_scope_raise(struct subwin *sw){ } void sw_scope_clear_scopes(){ } #endif tucnak-4.32/src/fft.c0000644000175000017500000003727413734430600011377 00000000000000/* fft.c - fast fourier transform using libfftw3 Copyright (C) 2009-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #ifdef USE_SDR #include "fft.h" #include "language2.h" #include "rc.h" #include "tsdl.h" #include "subwin.h" #define sqr(x) ((x)*(x)) /* VE3NEA: Gain := (1 - Exp(-(0.2 * NewSpectrum[i]))); FilteredSpectrum[i] := FilteredSpectrum[i] * (1-Gain) + NewSpectrum[i] * Gain; */ struct fft *gfft; #ifdef BLUEPAL int bluepal[3*256] = { 0,0,0, 23,23,65, 29,29,68, 36,36,71, 40,40,74, 43,43,77, 46,46,80, 50,50,82, 51,51,85, 55,55,87, 56,56,89, 59,59,92, 60,60,94, 63,63,96, 64,64,98, 65,65,99, 68,68,101, 69,69,103, 70,70,105, 72,72,106, 74,74,108, 74,74,110, 75,75,111, 78,78,113, 78,78,114, 79,79,116, 80,80,117, 82,82,118, 83,83,120, 84,84,121, 86,86,122, 87,87,124, 88,88,125, 88,88,126, 89,89,127, 91,91,128, 92,92,129, 92,92,131, 93,93,132, 94,94,133, 96,96,134, 97,97,135, 97,97,136, 97,97,137, 98,98,138, 100,100,139, 101,101,140, 102,102,141, 102,102,142, 103,103,142, 105,105,143, 105,105,144, 106,106,145, 106,106,146, 107,107,147, 109,109,147, 110,110,148, 110,110,149, 111,111,150, 111,111,150, 112,112,151, 114,114,152, 114,114,153, 115,115,153, 115,115,154, 116,116,155, 117,117,155, 117,117,156, 119,119,156, 120,120,157, 120,120,158, 120,120,158, 121,121,159, 123,123,159, 124,124,160, 124,124,160, 125,125,161, 125,125,161, 126,126,162, 128,128,162, 128,128,163, 129,129,163, 129,129,164, 129,129,164, 130,130,165, 131,131,165, 133,133,165, 133,133,166, 134,134,166, 134,134,167, 135,135,167, 135,135,167, 137,137,168, 138,138,168, 139,139,168, 139,139,169, 139,139,169, 140,140,169, 142,142,169, 142,142,170, 143,143,170, 143,143,170, 143,143,170, 144,144,171, 145,145,171, 147,147,171, 147,147,171, 148,148,171, 148,148,172, 148,148,172, 149,149,172, 151,151,172, 152,152,172, 152,152,172, 153,153,172, 153,153,172, 153,153,173, 154,154,173, 156,156,173, 157,157,173, 157,157,173, 157,157,173, 158,158,173, 158,158,173, 160,160,173, 161,161,173, 162,162,173, 162,162,173, 162,162,173, 163,163,173, 163,163,173, 165,165,173, 166,166,173, 166,166,173, 166,166,172, 167,167,172, 168,168,172, 168,168,172, 170,170,172, 171,171,172, 171,171,172, 171,171,172, 172,172,171, 174,174,171, 174,174,171, 175,175,171, 176,176,171, 176,176,170, 176,176,170, 177,177,170, 179,179,170, 179,179,169, 180,180,169, 180,180,169, 180,180,168, 181,181,168, 182,182,168, 184,184,168, 184,184,167, 185,185,167, 185,185,166, 185,185,166, 186,186,166, 188,188,165, 189,189,165, 189,189,164, 190,190,164, 190,190,164, 190,190,163, 191,191,163, 193,193,162, 194,194,162, 194,194,161, 194,194,161, 195,195,160, 195,195,160, 196,196,159, 198,198,159, 199,199,158, 199,199,157, 199,199,157, 200,200,156, 200,200,156, 202,202,155, 203,203,154, 204,204,154, 204,204,153, 204,204,152, 205,205,152, 205,205,151, 207,207,150, 208,208,149, 208,208,149, 208,208,148, 209,209,147, 211,211,146, 211,211,146, 212,212,145, 213,213,144, 213,213,143, 213,213,142, 214,214,141, 216,216,140, 216,216,139, 217,217,139, 217,217,138, 218,218,137, 218,218,136, 219,219,135, 221,221,134, 221,221,132, 222,222,131, 222,222,130, 223,223,129, 223,223,128, 225,225,127, 226,226,126, 226,226,125, 227,227,123, 227,227,122, 228,228,121, 228,228,119, 230,230,118, 231,231,117, 231,231,115, 231,231,114, 232,232,112, 233,233,111, 233,233,109, 235,235,108, 236,236,106, 236,236,104, 236,236,103, 237,237,101, 239,239,99, 239,239,97, 240,240,95, 241,241,93, 241,241,91, 241,241,89, 242,242,87, 244,244,84, 245,245,82, 245,245,79, 245,245,77, 246,246,74, 246,246,71, 247,247,67, 249,249,64, 250,250,60, 250,250,56, 250,250,51, 251,251,45, 255,0,0, 255,255,0, 0,255,0, }; #endif struct fft *init_fft(void){ struct fft *fft = NULL; #ifdef ZIAPAL int f, r; #endif int i, j; #ifdef Z_HAVE_SDL if (!sdl) #endif return NULL; #ifdef Z_HAVE_SDL progress(VTEXT(T_INIT_FFT)); fft = g_new0(struct fft, 1); fft->n = -1; fft->dynrin = NULL; j=0; #ifdef ZIAPAL for (i = 128; i < 256; i++){ r = (i-128)*2; f = 255 - r; fft->pal[j++] = z_makecol(0, 0, r); } for (i = 256; i < 512; i++){ r = i - 256; f = 255 - r; fft->pal[j++] = z_makecol(0, r, 255); } for (i = 512; i < 768; i++){ r = i - 512; f = 255 - r; fft->pal[j++] = z_makecol(r, 255, f); } for (i = 768; i < 1024-32; i++){ r = i - 768; f = 255 - r; fft->pal[j++] = z_makecol(255, f, 0); } if (j != FFT_COLORS) { //dbg("j=%d\n", j); zinternal("bad fft color number, please fix"); } #endif #ifdef BLUEPAL for (i = 0; i < 256; i++) fft->pal[i] = z_makecol(bluepal[i * 3], bluepal[i * 3 + 1], bluepal[i * 3 + 2]); #endif #ifdef Z_HAVE_SDL MUTEX_INIT(fft->screen); #endif #endif return fft; } void free_fft(struct fft *fft){ if (!fft) return; progress(VTEXT(T_FREE_FFT)); fftw_destroy_plan(fft->plan); fftw_free(fft->allocrin); fftw_free(fft->alloccout); g_free(fft->amp); #ifdef Z_HAVE_SDL if (fft->screen) SDL_FreeSurface(fft->screen); MUTEX_FREE(fft->screen); #endif g_free(fft); } void fft_start(struct fft *xyzzz, int n, int samplerate){ //dbg("fft_start(%d)\n", n); if (!xyzzz) return; //dbg("fft_start(%d) ch=%d\n", n, dsp->channels); if (n != xyzzz->n){ // dbg(" realloc %d->%d\n", fft->n, n); xyzzz->n = n; if (xyzzz->allocrin){ fftw_destroy_plan(xyzzz->plan); fftw_free(xyzzz->allocrin); fftw_free(xyzzz->alloccout); g_free(xyzzz->amp); } /*fft->rin = (double *) fftw_malloc(sizeof(double) * fft->n + 256); // fftw_malloc seems not to add padding elements fft->cout = (fftw_complex *) fftw_malloc(sizeof(fftw_complex) * fft->n + 256);*/ xyzzz->lenrin = xyzzz->n; xyzzz->sizerin = xyzzz->lenrin * sizeof(double); xyzzz->allocrin = (double *) fftw_malloc(xyzzz->sizerin); // fftw_malloc seems not to add padding elements xyzzz->dynrin = xyzzz->allocrin; xyzzz->lencout = xyzzz->n; xyzzz->sizecout = (xyzzz->lencout + 2) * sizeof(fftw_complex); xyzzz->alloccout = (fftw_complex *) fftw_malloc(xyzzz->sizecout); xyzzz->dyncout = xyzzz->alloccout; xyzzz->plan = fftw_plan_dft_r2c_1d(xyzzz->n, xyzzz->dynrin, xyzzz->dyncout, FFTW_ESTIMATE); xyzzz->amplen = n; xyzzz->amp = g_new0(double, n * 10 /*xyzzz->amplen*/); } #ifdef Z_HAVE_SDL xyzzz->screeny = 0; #endif xyzzz->samplerate = samplerate; //memset(fft->ma_amp, 0, sizeof(fft->ma_amp)); #ifdef USE_NEA for (i=0; inea_amp[i] = 0.0; #endif } void fft_resize(struct fft *fft, struct subwin *sw){ #ifdef Z_HAVE_SDL //dbg("fft_resize\n"); SDL_Surface *newscr, *oldscr; //fft->wf_x2 = 260; //fft->wf_x3 = 2*260; int minh = sw->h * FONT_H / 2; sw->fft_sp_h = 210; if (sw->fft_sp_h > minh) sw->fft_sp_h = minh; sw->fft_sp_y = sw->h * FONT_H - sw->fft_sp_h; sw->fft_wf_y = 0; sw->fft_wf_h = sw->fft_sp_y - FONT_H - 10; //sw->fft_sp_x2 = fft->wf_x2; //sw->fft_wf_x2 = fft->wf_x2; //newscr = SDL_CreateRGBSurfaceWithFormat(SDL_SWSURFACE, sw->w*FONT_W, sw->h*FONT_H, zsdl->depth, zsdl->format); newscr = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W , sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_LOCK(fft->screen); oldscr = fft->screen; fft->screen = newscr; fft->screeny = 0; MUTEX_UNLOCK(fft->screen); if (oldscr) SDL_FreeSurface(oldscr); #endif } //#define F2PX(hz) (((hz) * gfft->n) / (cfg->ssbd_samplerate)) #define F2PX(hz) (((hz) * gfft->screen->w * 2) / (gfft->samplerate)) void sw_fft_redraw(struct subwin *sw, int flags){ #ifdef Z_HAVE_SDL //dbg("sw_fft_redraw\n"); int i, x = 0, y, sp_y, amp, x2, oldx; SDL_Rect src, dst; MUTEX_LOCK(gfft->screen); if (gfft->screeny <= 0){ MUTEX_UNLOCK(gfft->screen); return; } y = gfft->screeny; gfft->screeny = 0; MUTEX_LOCK(sw->screen); // move old screen src.x = 0; src.y = sw->fft_wf_y + y; src.w = sw->screen->w; src.h = sw->fft_wf_h - y; dst.x = 0; dst.y = sw->fft_wf_y; dst.w = sw->screen->w; dst.h = sw->fft_wf_h - y; SDL_BlitSurface(sw->screen, &src, sw->screen, &dst); // add new data src.x = 0; src.y = 0; src.w = gfft->screen->w; src.h = y; dst.x = 0; dst.y = sw->fft_wf_y + sw->fft_wf_h - y; dst.w = sw->screen->w; dst.h = y; SDL_BlitSurface(gfft->screen, &src, sw->screen, &dst); // clear background under spectral lines dst.x = 0; dst.w = sw->screen->w; dst.y = sw->fft_sp_y; dst.h = sw->fft_sp_h; SDL_FillRect(sw->screen, &dst, 0); for (i = 100; i <= gfft->samplerate / 2; i += 100){ x = F2PX(i); if (x > sw->w * FONT_W - 1) break; z_line(sw->screen, x, sw->fft_wf_h + 2, x, sw->fft_wf_h + 5, sdl->gr[10]); } x2 = x; for (i = 0; i <= gfft->samplerate / 2; i += 1000){ x = F2PX(i); if (x > sw->w * FONT_W - 1) break; z_line(sw->screen, x, sw->fft_wf_h + 1, x, sw->fft_sp_y - FONT_H , sdl->gr[10]); zsdl_printf(sw->screen, x, sw->fft_sp_y - FONT_H, sdl->gr[10], 0, ZFONT_CENTERX, "%dk", i / 1000); } z_line(sw->screen, F2PX(0), sw->fft_wf_h + 1, x2, sw->fft_wf_h + 1, sdl->gr[10]); // draw spetral lines sp_y = sw->fft_sp_y + sw->fft_sp_h - 1; oldx = -1; for (i=0; i <= gfft->amplen; i++){ x = (i * gfft->screen->w) / (gfft->n / 2); amp = gfft->amp[i] * (sw->fft_sp_h - 3); /*line(sw->screen, i, sp_y, i, sp_y - amp, sdl->gr[12]); amp = fft->ma_sum[i] * (sw->fft_sp_h - 3); line(sw->screen, i+fft->wf_x2, sp_y, i+fft->wf_x2, sp_y - amp, sdl->gr[12]); */ //amp = fft->nea_amp[i] * (sw->fft_sp_h - 3); //line(sw->screen, i+fft->wf_x3, sp_y, i+fft->wf_x3, sp_y - amp, sdl->gr[12]); for (; oldx <= x; oldx++) z_line(sw->screen, oldx, sp_y, oldx, sp_y - amp, sdl->gr[12]); } MUTEX_UNLOCK(sw->screen); MUTEX_UNLOCK(gfft->screen); for (i = 0; i < FFT_COLORS; i++){ z_line(sw->screen, i, 0, i, 5, gfft->pal[i]); } #endif } //int xxi=0x100; void fft_do(struct fft *fft){ int i, col, x, oldx; //mini, maxi, oldcol; double d, e; // double mind, maxd, mine, maxe, minv, maxv; double gain; // double min, max; //dbg("fft_do(n=%d)\n", fft->n); //mini = 200000000; //maxi = -200000000; /* mind = 1e30; maxd = -1e30; mine = 1e30; maxe = -1e30; minv = 1e30; maxv = -1e30; */ #if 0 for (i=0; in; i++){ fft->dynrin[i]=0.6 * cos((i* 1000.0 *2*M_PI)/cfg->ssbd_samplerate) + 0.1 * cos((i* 2000.0 *2*M_PI)/cfg->ssbd_samplerate) + 0.1 * cos((i* 3000.0 *2*M_PI)/cfg->ssbd_samplerate) + //0.1 * cos((i* 4000.0 *2*Y_PI)/cfg->ssbd_samplerate) + 0; } #endif #if 0 for (i=0; in; i++){ fft->rin[i] *= 0.9; fft->rin[i] += 0.1 * cos((i* 1000.0 *2*MY_PI)/cfg->ssbd_samplerate); } #endif #ifdef Z_HAVE_SDL if (!fft->screen) return; #endif fftw_execute(fft->plan); // dbg("%f\t%f\t%f\t%f\t%f\t%f\n", fft->cout[0], fft->cout[1], fft->cout[2], fft->cout[3], fft->cout[4], fft->cout[5]); /* for (i=0; i<6;i++){ dbg("fft->cout=%f+%fi\t", fft->cout[i][0], fft->cout[i][1]); } dbg("\n"); zinternal(""); */ /* for (i=0; in; i++){ fft->cout[i]=256; }*/ //min = DBL_MAX; //max = DBL_MIN; #ifdef Z_HAVE_SDL MUTEX_LOCK(fft->screen); //dbg("fft->n/2=%d fft->screen->w=%d\n", fft->n/2, fft->screen->w); oldx = -1; for (i = 0; i <= fft->n / 2; i++){ x = (i * fft->screen->w) / (fft->n / 2); if (x > fft->screen->w) break; d = fabs(sqrt(sqr(fft->dyncout[i][0])+sqr(fft->dyncout[i][1]))); d = d/(fft->n/2); // d is epsilon to 1.0 e = log10(d); // printf("%3d: %f\t%f\n", i, d, e); e -= log10(1.0/32768.0); // printf("e=%f %f\n", e, (log10(1.0)-log(1.0/32768.0))); e /= -log10(1.0/32768.0); if (e<0) e = 0; // slabsi signaly nez 1 bit //e /= -log10(1.0/32768.0); // col = (int)e * FFT_COLORS; /* if (dmaxd) maxd = d; if (dmaxe) maxe = e; */ /*if (col < 0) col = 0; if (col >= FFT_COLORS) col = FFT_COLORS - 1;*/ // col = xxi; if (i >= fft->amplen) break; // can happen after resize zinternal("fft->amp[%d] access (FFT_AMPLEN=%d)", i, FFT_AMPLEN); fft->amp[i] = e; col = (int)(e * (FFT_COLORS - 1.0)); //col = i < FFT_COLORS?i:FFT_COLORS-1; // dbg("d=%11.9f e=%f\n", d, e); // dbg("col=%d\n"); // if (colmaxi) maxi=col; for (; oldx <= x; oldx++) z_putpixel(fft->screen, oldx, fft->screeny, fft->pal[col]); //fft->ma_amp[fft->ma_i][i] = e; /*fft->ma_sum[i] = 0; for (j=0; jma_sum[i] += fft->ma_amp[j][i]; fft->ma_sum[i] /= FFT_MA; col = fft->ma_sum[i] * (FFT_COLORS - 1); fast_putpixel(fft->screen, i+fft->wf_x2, fft->screeny, fft->pal[col]); */ /* gain = fft->nea_amp[i]; gain *= (-log10(1.0/32738.0)); gain += log10(1.0/32768.0); gain *= log(10.0); gain = exp(gain); if (fft->nea_first) gain = 1; fft->nea_first = 0; */ gain = d; if (gain < 0.03) gain = 0.03; // dbg("gain=%f\n", gain); #ifdef USE_NEA fft->nea_amp[i] = fft->nea_amp[i] * (1-gain) + e * gain; if (fft->nea_amp[i] > max) max = fft->nea_amp[i]; if (fft->nea_amp[i] < min) min = fft->nea_amp[i]; #endif } for (i=0; i<=fft->n/2; i++){ if (i > fft->screen->w) break; // fast_putpixel(fft->screen, i, fft->screeny, fft_pal(fft->nea_amp[i], min, max)); } /* xxi++; xxi %= FFT_COLORS;*/ fft->screeny++; //fft->ma_i++; //fft->ma_i %= FFT_MA; if (fft->screeny == fft->screen->h) fft->screeny = 0; MUTEX_UNLOCK(fft->screen); #endif // dbg("v=%f .. %f \td=%f .. %f \te=%f .. %f \tcol=%d .. %d\n", minv, maxv, mind, maxd, mine, maxe, mini, maxi); // zinternal(""); //dbg("col=%d..%d\n", mini, maxi); } int fft_pal(double amp, double min, double max){ double norm; //dbg("min=%f max=%f\n", min, max); if (min == max) return gfft->pal[0]; norm = (amp - min) / (max - min); // 5 - 4 / 7 - 4 if (norm < 0) norm = 0; if (norm > 1) norm = 1; return gfft->pal[(int)(norm*(FFT_COLORS-3))]; } #endif tucnak-4.32/src/kbdbind.c0000644000175000017500000001420314035370711012201 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "kbdbind.h" #include "kbd.h" #include "language2.h" #include "terminal.h" #include "tsdl.h" static void add_default_keybindings(void); struct keybinding { struct keybinding *next; struct keybinding *prev; int act; long x; long y; }; static struct keybinding keymaps[KM_MAX]; static void add_keybinding(int km, int act, long x, long y) { struct keybinding *kb; foreach(kb, keymaps[km]) if (kb->x == x && kb->y == y) { /* want at top of list */ del_from_list(kb); goto add; } if ((kb = g_malloc(sizeof(struct keybinding)))) { add: kb->act = act; kb->x = x; kb->y = y; add_to_list(keymaps[km], kb); } } void init_keymaps(void) { int i; for (i = 0; i < KM_MAX; i++) init_list(keymaps[i]); add_default_keybindings(); } void free_keymaps(void) { int i; //progress(VTEXT(T_TERM_KEYMAPS)); for (i = 0; i < KM_MAX; i++) { while (keymaps[i].next != &(keymaps[i])) { struct keybinding *a=(keymaps[i]).next; del_from_list(a); g_free(a); } } } int kbd_action(int kmap, struct event *ev) { struct keybinding *kb; if (ev->ev == EV_KBD) foreach(kb, keymaps[kmap]){ if (ev->x == kb->x && ev->y == kb->y) { // dbg("kbd_action=%d\n",kb->act); return kb->act; } if (kb->y & (KBD_CTRL|KBD_ALT)){ if (toupper(ev->x) == toupper(kb->x) && ev->y == kb->y) { return kb->act; } } } return -1; } /* * Default keybindings. */ struct default_kb { int act; long x; long y; }; /* !!!! CTRL needs uppercase, ALT lowercase */ static struct default_kb default_main_keymap[] = { { ACT_AC_INFO, 'a', KBD_ALT }, { ACT_BACKSPACE, KBD_BS, 0 }, { ACT_BACKSPACE, KBD_BS, KBD_SHIFT }, { ACT_CALLINFO, 'i', KBD_ALT }, { ACT_CHOP, 'o', KBD_ALT }, { ACT_CLEAR_TMPQSOS, 'y', KBD_ALT }, { ACT_CLEAR_TMPQSOS_INPUTLINE, KBD_F3, 0 }, { ACT_CONFIRM_CALL, 'd', KBD_ALT }, { ACT_CONFIRM_EXC, 'e', KBD_ALT }, { ACT_CONFIRM_WWL, 'x', KBD_ALT }, { ACT_COPY_CLIPBOARD, 'C', KBD_CTRL }, { ACT_COPY_CLIPBOARD, KBD_INS, KBD_CTRL }, { ACT_CQ_0, KBD_F5, 0 }, { ACT_CQ_1, KBD_F6, 0 }, { ACT_CQ_2, KBD_F7, 0 }, { ACT_CQ_3, KBD_F8, 0 }, { ACT_CQ_4, KBD_F11, 0 }, { ACT_CQ_5, KBD_F12, 0 }, { ACT_DELETE, KBD_DEL, 0 }, { ACT_PAGE_DOWN, KBD_DOWN, KBD_CTRL }, { ACT_DOWN, KBD_DOWN, 0 }, { ACT_END, KBD_END, 0 }, { ACT_ENTER, KBD_ENTER, 0 }, { ACT_MAXIMIZE, KBD_F10, KBD_ALT }, { ACT_FILE_MENU, KBD_F10 }, { ACT_FIND_NEXT_BACK, 'N', 0 }, { ACT_FIND_NEXT, 'n', 0 }, { ACT_FULLSCREEN, KBD_F11, KBD_CTRL }, { ACT_GRAB_BAND, 'g', KBD_ALT }, { ACT_HOME, KBD_HOME, 0 }, { ACT_INSERT, KBD_INS, 0 }, { ACT_LEFT, KBD_LEFT, 0 }, { ACT_MENU, KBD_F9, 0 }, { ACT_MODE, 'm', KBD_ALT }, { ACT_NEXT_SUBWIN, KBD_F4, 0 }, { ACT_NEXT_SUBWIN, KBD_RIGHT, KBD_ALT }, { ACT_OPEN_NET, KBD_F3, KBD_SHIFT }, { ACT_PREV_SUBWIN, KBD_LEFT, KBD_ALT }, { ACT_PAGE_DOWN, KBD_PGDN, 0 }, { ACT_PAGE_UP, KBD_PGUP,0 }, { ACT_PLAY_LAST, 'P', KBD_CTRL }, { ACT_QUIT, KBD_F4, KBD_ALT }, { ACT_REALLYQUIT, 'q', KBD_ALT }, { ACT_RIGHT, KBD_RIGHT, 0 }, { ACT_ROTAR, 'r', KBD_ALT }, { ACT_RUNMODE, 'R', KBD_CTRL }, { ACT_RX, KBD_ESC, 0 }, { ACT_RXTX, KBD_TAB, 0 }, { ACT_SAVE_ALL, KBD_F2, 0 }, { ACT_SCREENSHOT, KBD_F1, 0 }, { ACT_SCROLL_LEFT, '[', 0 }, { ACT_SCROLL_RIGHT, ']', 0 }, { ACT_SEARCH, '/', 0 }, { ACT_SEARCH_BACK, '?', 0 }, { ACT_SEEK_A, 'A', KBD_CTRL }, { ACT_SEEK_B, 'B', KBD_CTRL }, { ACT_SKED, 's', KBD_ALT }, { ACT_SKED_QRG, 'f', KBD_ALT }, { ACT_SWAP_CALL, 'c', KBD_ALT }, { ACT_SWAP_WWL, 'v', KBD_ALT }, { ACT_TOGGLE_SPLIT_VFO, '`', 0 }, { ACT_TUNE, 't', KBD_ALT }, { ACT_UNFINISHED, 'u', KBD_ALT }, { ACT_PAGE_UP, KBD_UP, KBD_CTRL }, { ACT_UP, KBD_UP, 0 }, { ACT_WINDOWSHOT, KBD_F1, KBD_ALT }, { ACT_AC_CQ, 'j', KBD_ALT }, { ACT_ZOOMIN, '+', KBD_CTRL }, { ACT_ZOOMIN, '=', KBD_CTRL }, { ACT_ZOOMOUT, '-', KBD_CTRL }, { ACT_ZOOM0, '0', KBD_CTRL }, { 0, 0, 0 } }; static struct default_kb default_edit_keymap[] = { { ACT_AC_INFO, 'a', KBD_ALT }, { ACT_LEFT, KBD_LEFT, 0 }, { ACT_RIGHT, KBD_RIGHT, 0 }, { ACT_HOME, KBD_HOME, 0 }, { ACT_END, KBD_END, 0 }, { ACT_COPY_CLIPBOARD, KBD_INS, KBD_CTRL }, { ACT_ENTER, KBD_ENTER, 0 }, { ACT_BACKSPACE, KBD_BS, 0 }, { ACT_BACKSPACE, KBD_BS, KBD_SHIFT }, { ACT_DELETE, KBD_DEL, 0 }, { ACT_KILL_LINE, 'Y', KBD_CTRL }, { ACT_PREV_HISTORY, 'p', KBD_ALT }, { ACT_NEXT_HISTORY, 'n', KBD_ALT }, { ACT_SHOW_HISTORY, 'h', KBD_ALT }, { ACT_LASTCALL_KST, 'k', KBD_ALT }, { ACT_NEWCALL_KST, 'K', KBD_CTRL }, /* ACT_KILL_TO_BOL, 'U', KBD_CTRL }, { ACT_KILL_TO_EOL, 'K', KBD_CTRL },*/ { 0, 0, 0 } }; static struct default_kb default_menu_keymap[] = { { ACT_LEFT, KBD_LEFT, 0 }, { ACT_RIGHT, KBD_RIGHT, 0 }, { ACT_HOME, KBD_HOME, 0 }, { ACT_HOME, 'A', KBD_CTRL }, { ACT_UP, KBD_UP, 0 }, { ACT_DOWN, KBD_DOWN, 0 }, { ACT_END, KBD_END, 0 }, { ACT_END, 'E', KBD_CTRL }, { ACT_ENTER, KBD_ENTER, 0 }, { ACT_PAGE_DOWN, KBD_PGDN, 0 }, { ACT_PAGE_DOWN, 'F', KBD_CTRL }, { ACT_PAGE_UP, KBD_PGUP, 0 }, { ACT_PAGE_UP, 'B', KBD_CTRL }, { 0, 0, 0} }; static void add_default_keybindings(void) { struct default_kb *kb; for (kb = default_main_keymap; kb->x; kb++) add_keybinding(KM_MAIN, kb->act, kb->x, kb->y); for (kb = default_edit_keymap; kb->x; kb++) add_keybinding(KM_EDIT, kb->act, kb->x, kb->y); for (kb = default_menu_keymap; kb->x; kb++) add_keybinding(KM_MENU, kb->act, kb->x, kb->y); } tucnak-4.32/src/misc.c0000644000175000017500000000405213700130565011537 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include #include "header.h" #include "main.h" #include "misc.h" #include "terminal.h" #include void test(void){ /* char s[100]; char n[2014]; FILE *f; strcpy(n, "e:\\home/tucnak/20110507//log"); f = fopen(n, "rt"); if (f != NULL){ char *dummy = fgets(s, 80, f); fclose(f); }*/ } void bat_info(GString *gs){ struct zbat *zbat; g_string_append_printf(gs, "\n bat_info:\n"); zbat = zbat_init(); zbat_getinfo(zbat); if (zbat->n == 0){ g_string_append_printf(gs, "No battery detected\n"); }else{ g_string_append_printf(gs, "Batteries: %d\n", zbat->n); g_string_append_printf(gs, "Capacity: %d%%\n", zbat->capacity); g_string_append_printf(gs, "Technology: %s\n", zbat->technology); } g_string_append_printf(gs, "\n"); zbat_free(zbat); } #ifdef Z_HAVE_SDL struct zbat *gbat; void bat_timer(void *a){ zbat_getinfo(gbat); zselect_timer_new(zsel, 20000, bat_timer, NULL); redraw_later(); } #endif void serial_info(GString *gs){ struct zserial *zser; g_string_append_printf(gs, "\n serial_info:\n"); zser = zserial_init_serial(NULL); if (!zser) return; zserial_detect(zser); if (zser->ports->len == 0){ g_string_append_printf(gs, "No serial ports detected\n"); }else{ int i; for (i = 0; i < zser->ports->len; i++){ struct zserial_port *port = (struct zserial_port *)g_ptr_array_index(zser->ports, i); g_string_append_printf(gs, "%s %s\n", port->filename, port->desc); } } g_string_append_printf(gs, "\n"); zserial_free(zser); } /*const char *iconv_current_encoding(){ #ifdef Z_MSC_MINGW static char cp[20]; g_snprintf(cp, sizeof(cp), "CP%d", GetACP()); return cp; #endif } */ tucnak-4.32/src/sles.c0000644000175000017500000000741212115653274011563 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2013 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "dsp.h" #ifdef HAVE_SLES_OPENSLES_H #include #endif int sles_open(struct dsp *dsp, int rec){ int result; result = slCreateEngine(&(dsp->engineObject), 0, NULL, 0, NULL, NULL); if (!rec){ // play const SLInterfaceID ids[] = {SL_IID_VOLUME}; const SLboolean req[] = {SL_BOOLEAN_FALSE} ; result = (*dsp->engineEngine)->CreateOutputMix(dsp->engineEngine, &(dsp->outputMixObject), 1, ids, req); result = (*dsp->outputMixObject)->Realize(dsp->outputMixObject, SL_BOOLEAN_FALSE); SLDataLocator_AndroidSimpleBufferQueue loc_bufq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2}; SLDataFormat_PCM format_pcm = {SL_DATAFORMAT_PCM, dsp->channels, dsp->speed, SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16, speakers, SL_BYTEORDER_LITTLEENDIAN}; SLDataSource audioSrc = {&loc_bufq, &format_pcm}; SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, dsp->outputMixObject}; SLDataSink audioSnk = {&loc_outmix, NULL}; const SLInterfaceID ids1[] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE}; const SLboolean req1[] = {SL_BOOLEAN_TRUE}; result = (*dsp->engineEngine)->CreateAudioPlayer(dsp->engineEngine, &(dsp->bqPlayerObject), &audioSrc, &audioSnk, 1, ids1, req1); result = (*dsp->bqPlayerObject)->Realize(dsp->bqPlayerObject, SL_BOOLEAN_FALSE); result = (*dsp->bqPlayerObject)->GetInterface(dsp->bqPlayerObject, SL_IID_PLAY,&(dsp->bqPlayerPlay)); result = (*dsp->bqPlayerObject)->GetInterface(dsp->bqPlayerObject, SL_IID_ANDROIDSIMPLEBUFFERQUEUE, &(dsp->bqPlayerBufferQueue)); result = (*dsp->bqPlayerBufferQueue)->RegisterCallback(dsp->bqPlayerBufferQueue, bqPlayerCallback, dsp); result = (*p->bqPlayerPlay)->SetPlayState(p->bqPlayerPlay, SL_PLAYSTATE_PLAYING); }else{ // record SLDataLocator_IODevice loc_dev = {SL_DATALOCATOR_IODEVICE, SL_IODEVICE_AUDIOINPUT, SL_DEFAULTDEVICEID_AUDIOINPUT, NULL}; SLDataSource audioSrc = {&loc_dev, NULL}; SLDataLocator_AndroidSimpleBufferQueue loc_bq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2}; SLDataFormat_PCM format_pcm = {SL_DATAFORMAT_PCM, channels, sr, SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16, speakers, SL_BYTEORDER_LITTLEENDIAN}; SLDataSink audioSnk = {&loc_bq, &format_pcm}; const SLInterfaceID id[1] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE}; const SLboolean req[1] = {SL_BOOLEAN_TRUE}; result = (*p->engineEngine)->CreateAudioRecorder(p->engineEngine, &(p->recorderObject), &audioSrc, &audioSnk, 1, id, req); result = (*p->recorderObject)->Realize(p->recorderObject, SL_BOOLEAN_FALSE); result = (*p->recorderObject)->GetInterface(p->recorderObject, SL_IID_RECORD, &(p->recorderRecord)); result = (*p->recorderObject)->GetInterface(p->recorderObject, SL_IID_ANDROIDSIMPLEBUFFERQUEUE, &(p->recorderBufferQueue)); result = (*p->recorderBufferQueue)->RegisterCallback(p->recorderBufferQueue, bqRecorderCallback,p); result = (*p->recorderRecord)->SetRecordState( p->recorderRecord,SL_RECORDSTATE_RECORDING); } } int sles_close(struct dsp *dsp){ } int sles_write(struct dsp *dsp, void *data, int len){ } int sles_read(struct dsp *dsp, void *data, int len){ } int sles_reset(struct dsp *dsp){ } int sles_sync(struct dsp *dsp){ } int sles_set_format(struct dsp *dsp, SF_INFO *sfinfo, int ret){ } tucnak-4.32/src/sota_spot.c0000644000175000017500000001602714016001471012616 00000000000000/* Tucnak - SOTA spot sender Copyright (C) 2002-2020 Ladislav Vaiz ; 2020 Michal OK2MUF This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "bfu.h" #include "qsodb.h" #include "fifo.h" #include "stdint.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include #include "sota.h" #include "sota_api.h" #include "sota_spot.h" /* Used auth RFC6750 POST /api/spots { "associationCode": "W5O", "summitCode": "OU-013", "activatorCallsign": "GM4ZFZ", "frequency": "14.0625", "mode": "cw", "comments": "test-ignore" } */ static void sota_spot_ask_comment(struct sota_spot_data **ssd, char *qrg); static void sota_spot_ask_password(struct sota_spot_data **ssd, char *comment); static void sota_spot_cfm(struct sota_spot_data **ssd, char *pwd); char *get_sota_default_qrg(char bandchar, char mode) { /* Recommented frequencies for SOTA QRP */ switch (bandchar) { case 'u': //160: return mode == MOD_CW_CW ? "1.810" : "1.843"; case 'v': //80: return mode == MOD_CW_CW ? "3.561" : "3.691"; case 60: return "5354.3"; case 'w': //40: return mode == MOD_CW_CW ? "7.032" : "7.118"; case 30: return "10.118"; case 'x': //20: return mode == MOD_CW_CW ? "14.061" : "14.285"; case 17: return mode == MOD_CW_CW ? "18.096" : "18.130"; case 'y': //15: return mode == MOD_CW_CW ? "21.060" : "21.285"; case 12: return mode == MOD_CW_CW ? "24.910" : "24.950"; case 'z': //10: return mode == MOD_CW_CW ? "28.060" : "24.950"; case 'c': //2: return mode == MOD_FM_FM ? "145.425":"144.195"; // FM/SSB case 'e': //70: return "430.150"; case 'g': //23: return "1297.500"; default: return ""; } } void sota_spot_push(void) { char *token; static struct sota_spot_data *ssd = NULL; //char frequency[25]; //char comment[128]; //char password[128]; if (!ctest) { log_addf(TRANSLATE("No active contest.")); return; } if (!cfg->sota_user || !strlen(cfg->sota_user)) { log_addf(TRANSLATE("No SOTA user configured.")); return; } if (!ssd) { ssd = g_new0(struct sota_spot_data, 1); if (!ssd) return; } //if (!ctest->pexch || (ssd.summitCode = strstr(ctest->pexch,'/') == NULL) //{ // log_addf("No summit code in exchange contest configuration"); // return //} strncpy(ssd->_summit, ctest->pexch, sizeof(ssd->_summit)); token = strtok(ssd->_summit, "/"); //OK if ((ssd->associationCode = token) == NULL) { log_addf("No valid summit code in exchange contest configuration"); return; } token = strtok(NULL, "/"); //MO-123 if ((ssd->summitCode = token) == NULL) { log_addf("No valid summit code in exchange contest configuration"); return; } ssd->id = 0; ssd->activatorCallsign = ctest->pcall; ssd->callsign = ctest->pcall; ssd->activatorName = ctest->rname; ssd->mode = get_sota_mode_ps(gses->mode); //ssd.comment = comment; //ssd.frequency = frequency; /* QGR, Comment, Password */ /* Input chain sota_spot_ask_qrg -> sota_spot_ask_comment -> sota_spot_ask_pswd -> sota_spot_ask_cfm -> sota_spot_send */ input_field(NULL, TRANSLATE("QRG"), TRANSLATE("Operating frequency") , CTEXT(T_OK), CTEXT(T_CANCEL), &ssd, NULL, 15, get_sota_default_qrg(aband->bandchar, gses->mode), 0, 0, NULL, (void (*)(void *, char *))sota_spot_ask_comment, NULL, 0); /* Nonblocking -> continue with sota_spot_ask_comment if T_OK */ } static void sota_spot_ask_comment(struct sota_spot_data **ssd, char *qrg) { if (!ssd || !qrg) return; strcpy((*ssd)->frequency, qrg); input_field(NULL, TRANSLATE("Comment"), TRANSLATE("Spot comment") , CTEXT(T_OK), CTEXT(T_CANCEL), ssd, NULL, 60, "CQ", 0, 0, NULL, (void (*)(void *, char *))sota_spot_ask_password, NULL, 0); } static void sota_spot_ask_password(struct sota_spot_data **ssd, char *comment) { if (!*ssd || !comment) return; strcpy((*ssd)->comment, comment); if (!cfg->sota_pass || strlen(cfg->sota_pass)==0) { input_field(NULL, CTEXT(T_PASSWORD), TRANSLATE("SOTA account password") , CTEXT(T_OK), CTEXT(T_CANCEL), ssd, NULL, MAX_STR_LEN, cfg->sota_pass, 0, 0, NULL, (void (*)(void *, char *))sota_spot_cfm, NULL, 0); } else { sota_spot_cfm(ssd, cfg->sota_pass); } } static void sota_spot_cfm(struct sota_spot_data **ssd, char *pwd) { char *chr; GString *gs = g_string_sized_new(200); if (!ssd || !pwd) { g_string_free(gs, TRUE); return; } strcpy(cfg->sota_pass, pwd); g_string_append_printf(gs, TRANSLATE("Activator: %10s\n"), (*ssd)->callsign); g_string_append_printf(gs, TRANSLATE("Summit Code: %3s/%s\n"), (*ssd)->associationCode, (*ssd)->summitCode); g_string_append_printf(gs, TRANSLATE("Frequency: %6s MHz\n"), (*ssd)->frequency); g_string_append_printf(gs, TRANSLATE("Mode: %10s\n"), (*ssd)->mode); g_string_append_printf(gs, TRANSLATE("Comment: %10s\n\n"), (*ssd)->comment); g_string_append(gs, TRANSLATE("Send this spot?")); chr = g_strdup(gs->str); g_string_free(gs, FALSE); msg_box(getml(chr, NULL), TRANSLATE("SPOT Submit"), AL_LEFT, gs->str, ssd, 2, VTEXT(T_YES), sota_spot_send, B_ENTER, VTEXT(T_NO), NULL, B_ESC); //sota_spot_send(&ssd); } void sota_spot_send(struct sota_spot_data **ssd) { /* https://api2.sota.org.uk/docs/index.html input_field "associationCode": "W5O", "summitCode": "OU-013", "activatorCallsign": "GM4ZFZ", "frequency": "14.0625", "mode": "cw", "comments": "test-ignore" */ /* Auth */ /* Parse token */ /* Send spot */ /* Logout */ struct sota_api_data *sad = sota_api_init(); sad->ssd = *ssd; if (sad) { #if SOTA_API_INSECURE sota_api_send_spot_insecure(sad); #else sota_api_get_token(sad); #endif } // sota_api_free(sad); // log_addf("To be implemented"); // g_free((void *)*ssd); // *ssd = NULL; } /* curl \ -d "client_id=[client id from SOTA MT]" \ -d "client_secret=[client secret from SOTA MT]" \ -d "username=[user name]" \ -d "scope=openid" \ -d "password=[password]" \ -d "grant_type=password" \ "https://sso.sota.org.uk/auth/realms/SOTA/protocol/openid-connect/token" */ tucnak-4.32/src/menu5.c0000644000175000017500000012146314114415527011647 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "kbd.h" #include "main.h" #include "menu.h" #include "qsodb.h" #include "rc.h" #include "rotar.h" #include "tsdl.h" #include "terminal.h" #include "trig.h" /******************** MISC OPTIONS *******************************/ char loglines_str[MAX_STR_LEN],skedcount_str[MAX_STR_LEN],startbandchar_str[MAX_STR_LEN]; char gfx_x_ch_str[MAX_STR_LEN],gfx_y_ch_str[MAX_STR_LEN]; char gfx_x_px_str[MAX_STR_LEN],gfx_y_px_str[MAX_STR_LEN]; int fullscreen, usetouch, altsyms, nolocks, portrait, reverse, inverse; char fontheight_str[EQSO_LEN]; char slashkey[3]; int dssaver; int adif_export_mode_t2r; char adif_export_mode_t2r_str[EQSO_LEN]; char *adif_export_modes[] = { "Error", "Call", "Skip" }; char logdirpath[MAX_STR_LEN]; void refresh_misc_opts(void *xxx) { struct config_band *confb; int gfx_x_ch, gfx_y_ch, gfx_x_px, gfx_y_px; int new_w, new_h, resize, new_fh; resize=0; if (cfg->loglines != atoi(loglines_str)) resize++; STORE_SINT(cfg,loglines); STORE_SINT(cfg,skedcount); confb=get_config_band_by_bandchar(startbandchar_str[0]); if (confb){ CONDGFREE(cfg->startband); cfg->startband=g_strdup(confb->pband); } gfx_x_ch=atoi(gfx_x_ch_str); gfx_y_ch=atoi(gfx_y_ch_str); gfx_x_px=atoi(gfx_x_px_str); gfx_y_px=atoi(gfx_y_px_str); STORE_STR(cfg, slashkey); STORE_INT(cfg, dssaver); STORE_INT(cfg, usetouch); STORE_INT(cfg, altsyms); STORE_INT(cfg, nolocks); if (portrait != cfg->portrait || reverse != cfg->reverse){ #ifdef Z_ANDROID log_addf(VTEXT(T_SAVE_RESTART)); #endif STORE_INT(cfg, portrait); STORE_INT(cfg, reverse); } STORE_INT(cfg, inverse); STORE_INT(cfg, adif_export_mode_t2r); STORE_STR(cfg, logdirpath); new_w=800; new_h=600; new_fh = atoi(fontheight_str); #ifdef Z_HAVE_SDL if (sdl){ if (new_fh !=cfg->fontheight) { cfg->fontheight = new_fh; new_w = sdl->screen->w; new_h = sdl->screen->h; resize++; } if (fullscreen != cfg->fullscreen){ cfg->fullscreen = fullscreen; new_w = sdl->screen->w; new_h = sdl->screen->h; resize++; } if (gfx_x_ch>10 && gfx_y_ch>10){ if (gfx_x_ch * zsdl->font_w != cfg->gfx_x || gfx_y_ch * zsdl->font_h != cfg->gfx_y){ new_w = gfx_x_ch * zsdl->font_w; new_h = gfx_y_ch * zsdl->font_h; resize++; } } if (gfx_x_px > 100 && gfx_y_px > 100){ if (gfx_x_px != cfg->gfx_x || gfx_y_px != cfg->gfx_y){ new_w = gfx_x_px; new_h = gfx_y_px; resize++; } } if (inverse != zsdl->inverse){ resize++; } if (resize && new_w <= 2048 && new_h <= 2048) { cfg->gfx_x = new_w; cfg->gfx_y = new_h; sdl_setvideomode(new_w, new_h, 0); resize_terminal(NULL); } } else #endif { if (resize) resize_terminal(NULL); } set_logs_dir(); } void set_adif_export_mode(void *arg, void *arg2){ adif_export_mode_t2r = GPOINTER_TO_INT(arg); strcpy(adif_export_mode_t2r_str, adif_export_modes[adif_export_mode_t2r]); redraw_later(); } int choose_adif_export_mode(struct dialog_data *dlg, struct dialog_item_data *di){ struct menu_item *mi; int i; if (!(mi = new_menu(1))) return 0; for (i = 0; i < 3; i++) add_to_menu(&mi, adif_export_modes[i], "", "", set_adif_export_mode, GINT_TO_POINTER(i), 0); do_menu_selected(mi, di->cdata, adif_export_mode_t2r); return 0; } void misc_opts(void *arg) { struct dialog *d; int i; struct config_band *confb; g_snprintf(loglines_str, MAX_STR_LEN, "%d", cfg->loglines); g_snprintf(skedcount_str, MAX_STR_LEN, "%d", cfg->skedcount); confb=get_config_band_by_pband(cfg->startband); if (!confb) confb=(struct config_band *)g_ptr_array_index(cfg->bands,0); startbandchar_str[0]=confb->bandchar; startbandchar_str[1]='\0'; // dbg("gfx_x=%d gfx_x=%d %%=%d %d\n", cfg->gfx_x, cfg->gfx_y, cfg->gfx_x%sdl->font_w, cfg->gfx_y%font_h); #ifdef Z_HAVE_SDL if (sdl){ if (cfg->gfx_x % zsdl->font_w!=0 || cfg->gfx_y % zsdl->font_h!=0){ strcpy(gfx_x_ch_str, ""); strcpy(gfx_y_ch_str, ""); }else{ g_snprintf(gfx_x_ch_str, MAX_STR_LEN, "%d", cfg->gfx_x/zsdl->font_w); g_snprintf(gfx_y_ch_str, MAX_STR_LEN, "%d", cfg->gfx_y/zsdl->font_h); } } else #endif { strcpy(gfx_x_ch_str, ""); strcpy(gfx_y_ch_str, ""); } g_snprintf(gfx_x_px_str, MAX_STR_LEN, "%d", cfg->gfx_x); g_snprintf(gfx_y_px_str, MAX_STR_LEN, "%d", cfg->gfx_y); g_snprintf(fontheight_str, EQSO_LEN, "%d", cfg->fontheight); safe_strncpy0(slashkey, cfg->slashkey, sizeof(slashkey)); dssaver = cfg->dssaver; fullscreen = cfg->fullscreen; usetouch = cfg->usetouch; altsyms = cfg->altsyms; nolocks = cfg->nolocks; portrait = cfg->portrait; reverse = cfg->reverse; inverse = cfg->inverse; adif_export_mode_t2r = cfg->adif_export_mode_t2r; LOAD_STR(cfg, logdirpath); d = g_new0(struct dialog, 20); d->title = VTEXT(T_MISCOPTS); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_misc_opts; d->y0 = 1; i = -1; #ifdef Z_HAVE_SDL if (sdl){ d->items[++i].type = D_FIELD; d->items[i].gid = 13; d->items[i].gnum = 32; d->items[i].maxl = 5; d->items[i].dlen = EQSO_LEN; d->items[i].data = fontheight_str; d->items[i].msg = CTEXT(T_FONTHEIGHT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = gfx_x_ch_str; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_GFX_X_CH); d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = gfx_y_ch_str; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_GFX_Y_CH); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = gfx_x_px_str; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_GFX_X_PX); d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = gfx_y_px_str; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_GFX_Y_PX); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&fullscreen; d->items[i].msg = CTEXT(T_FULLSCREEN); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&usetouch; d->items[i].msg = CTEXT(T_TOUCH); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&altsyms; d->items[i].msg = CTEXT(T_ALT_QWER); d->items[i].wrap = 1; } #endif d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = startbandchar_str; d->items[i].maxl = 3; d->items[i].msg = CTEXT(T_STARTBAND); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = loglines_str; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 1; d->items[i].gnum = 30; d->items[i].msg = CTEXT(T_LOGLINES); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = skedcount_str; d->items[i].maxl = 3; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 10; d->items[i].msg = CTEXT(T_SKEDCOUNT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = 3; d->items[i].data = slashkey; d->items[i].maxl = 2; d->items[i].msg = CTEXT(T_SLASHKEY); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&dssaver; d->items[i].msg = CTEXT(T_DSSAVER); d->items[i].wrap = 1; //#ifdef Z_UNIX_ANDROID d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&nolocks; d->items[i].msg = CTEXT(T_NO_LOCKS); d->items[i].wrap = 1; //#endif d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&portrait; d->items[i].msg = CTEXT(T_PORTRAIT_ORIENTATION); #ifdef Z_ANDROID d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&reverse; d->items[i].msg = CTEXT(T_REVERSE); #endif d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&inverse; d->items[i].msg = TRANSLATE("Inverse display"); d->items[i].wrap = 1; strcpy(adif_export_mode_t2r_str, adif_export_modes[adif_export_mode_t2r]); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = choose_adif_export_mode; d->items[i].data=(char *)&adif_export_mode_t2r; d->items[i].msg = CTEXT(T_ADIF_EXPORT_MODE); d->items[i].text = adif_export_mode_t2r_str; d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = logdirpath; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_LOGDIR_PATH); d->items[i].wrap = 1; d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /*********************** FIXQRG - Fix rig frequency *************************/ #ifdef HAVE_HAMLIB void fixqrg(void *xxx, char *qrgstr){ gdouble newqrg; int rignr = GPOINTER_TO_INT(xxx); if (!qrgstr) return; //newqrg = atof(qrgstr); newqrg = z_qrg_parse(qrgstr); if (newqrg<=0){ errbox(CTEXT(T_BAD_QRG), 0); return; } set_rig_lo(aband, rignr, get_rig_lo(aband, rignr) + newqrg - gtrigs->qrg); trigs_resend_freq(gtrigs, rignr); } void do_fixqrg(void *itdata, void *menudata){ static char qrgstr[256]; //int rignr = GPOINTER_TO_INT(itdata); //g_snprintf(qrgstr, EQSO_LEN, "%1.0f", gtrigs->qrg); z_qrg_format(qrgstr, sizeof(qrgstr), gtrigs->qrg); input_field(NULL, CTEXT(T_FIXQRG), CTEXT(T_ENTER_QRG) , CTEXT(T_OK), CTEXT(T_CANCEL), itdata, NULL, 20, qrgstr, 0, 0, NULL, /*(void (*)(void *, char *))*/ fixqrg, NULL, 0); } void menu_fixqrg(void *itdata, void *menudata){ int i, enabled = 0; for (i = 0; i < gtrigs->trigs->len; i++){ struct config_rig *crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); if (crig->rig_enabled) enabled++; } if (enabled > 1){ int i; struct menu_item *mi = new_menu(3); mi->rtext = VTEXT(T_CHOOSE_RIG); for (i = 0; i < gtrigs->trigs->len; i++){ struct config_rig *crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); if (!crig->rig_enabled) continue; add_to_menu(&mi, g_strdup_printf(VTEXT(T_RIG_D), i), "", "", MENU_FUNC do_fixqrg, GINT_TO_POINTER(i), 0); } set_window_ptr(gses->win, (term->x - strlen(mi->rtext) - 6) / 2, (term->y - 2 - gtrigs->trigs->len) / 2); do_menu(mi, NULL); return; } do_fixqrg(itdata, menudata); } #endif /************************** winkey ******************************/ int wk_wk2, wk_usepot, wk_usebut, wk_keymode, wk_swap; void refresh_winkey_opts(void *xxx) { STORE_INT(cfg, wk_wk2); STORE_INT(cfg, wk_usepot); STORE_INT(cfg, wk_usebut); STORE_INT(cfg, wk_keymode); STORE_INT(cfg, wk_swap); } char *winkey_opts_msg[] = { CTEXT(T_WK_WK2), CTEXT(T_WK_USEPOT), CTEXT(T_WK_USEBUT), CTEXT(T_WK_KM_B), CTEXT(T_WK_KM_A), CTEXT(T_WK_KM_U), CTEXT(T_WK_KM_G), CTEXT(T_WK_SWAP), "", "" }; void winkey_opts_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_group_width(term, winkey_opts_msg + 0, dlg->items + 0, 1, &max); min_group_width(term, winkey_opts_msg + 0, dlg->items + 0, 1, &min); max_group_width(term, winkey_opts_msg + 1, dlg->items + 1, 2, &max); min_group_width(term, winkey_opts_msg + 1, dlg->items + 1, 2, &min); max_group_width(term, winkey_opts_msg + 3, dlg->items + 3, 4, &max); min_group_width(term, winkey_opts_msg + 3, dlg->items + 3, 4, &min); max_group_width(term, winkey_opts_msg + 7, dlg->items + 1, 1, &max); min_group_width(term, winkey_opts_msg + 7, dlg->items + 1, 1, &min); max_buttons_width(term, dlg->items + 8, 2, &max); min_buttons_width(term, dlg->items + 8, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB; if (w < 1) w = 1; rw = 0; y ++; dlg_format_group(NULL, term, winkey_opts_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, winkey_opts_msg + 1, dlg->items + 1, 2, 0, &y, w, &rw); dlg_format_group(NULL, term, winkey_opts_msg + 3, dlg->items + 3, 4, 0, &y, w, &rw); dlg_format_group(NULL, term, winkey_opts_msg + 7, dlg->items + 7, 1, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items +8, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_group(term, term, winkey_opts_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, winkey_opts_msg + 1, dlg->items + 1, 2, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, winkey_opts_msg + 3, dlg->items + 3, 4, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, winkey_opts_msg + 7, dlg->items + 7, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_buttons(term, term, dlg->items +8, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } void winkey_opts(void *arg) { struct dialog *d; int i; wk_wk2 = cfg->wk_wk2; wk_usepot = cfg->wk_usepot; wk_usebut = cfg->wk_usebut; wk_keymode = cfg->wk_keymode; wk_swap = cfg->wk_swap; if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_WINKEYOPTS); d->fn = winkey_opts_fn; d->refresh = (void (*)(void *))refresh_winkey_opts; d->items[i=0].type = D_CHECKBOX; /* 0 */ d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_wk2; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_usepot; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_usebut; d->items[++i].type = D_CHECKBOX; /* 3 */ d->items[i].gid = 1; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_keymode; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = 2; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_keymode; d->items[++i].type = D_CHECKBOX; /* 5 */ d->items[i].gid = 1; d->items[i].gnum = 3; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_keymode; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = 4; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_keymode; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&wk_swap; d->items[++i].type = D_BUTTON; /* 8 */ d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } int dlg_winkey_opts(struct dialog_data *dd, struct dialog_item_data *did){ winkey_opts(NULL); return 0; } /************************** rig ******************************/ #ifdef HAVE_HAMLIB int rig_enabled; char rig_desc[MAX_STR_LEN]; char rig_filename[MAX_STR_LEN]; char rig_model_str[EQSO_LEN]; int rig_model; char rig_speed_str[EQSO_LEN]; int rig_handshake_none; /* choose manufacturer */ char rig_civaddr_str[EQSO_LEN]; char rig_ssbcw_shift_str[EQSO_LEN]; char rig_lo_str[MAX_STR_LEN]; //int rig_poll_ms; char rig_poll_ms_str[MAX_STR_LEN]; int rig_qrg_r2t, rig_qrg_t2r, rig_mode_t2r, rig_clr_rit, rig_ptt_t2r, rig_verbose; char rig_ptt_t2r_str[EQSO_LEN]; int new_model = 0; char new_model_name[EQSO_LEN]; char *rig_ptt_types[] = { "Unused", "PTT", "PTT MIC", "PTT DATA" }; void set_rig (void *arg){ struct rig_caps *mcaps; int active; active = GPOINTER_TO_INT(arg); if (active < 0 || active >= riglist->len) return; mcaps = (struct rig_caps *)z_ptr_array_index(riglist, active); dbg("%4d %4d %-20s %s\n", active, mcaps->rig_model, mcaps->mfg_name, mcaps->model_name); new_model = mcaps->rig_model; g_snprintf(new_model_name, EQSO_LEN, "%s", mcaps->model_name); dbg("set_rig: new_model = %d (%s)\n", new_model, new_model_name); redraw_later(); } void choose_rig (void *arg){ struct rig_caps *mcaps; int i, sel=0, model; struct menu_item *mi; int active; active = GPOINTER_TO_INT(arg); if (active < 0 || active >= riglist->len) return; mcaps = (struct rig_caps *)z_ptr_array_index(riglist, active); dbg("%4d %4d %-20s %s\n", active, mcaps->rig_model, mcaps->mfg_name, mcaps->model_name); if (!(mi = new_menu(1))) return; model = GPOINTER_TO_INT(arg); for (i=active; ilen; i++){ struct rig_caps *caps = (struct rig_caps *)z_ptr_array_index(riglist, i); if (strcasecmp(mcaps->mfg_name, caps->mfg_name)!=0) break; if (model==caps->rig_model) sel = i - active; add_to_menu(&mi, (char *)caps->model_name, "", "", MENU_FUNC set_rig, GINT_TO_POINTER(i), 0); } dbg("sel=%d\n", sel); do_menu_selected(mi, NULL, sel); } int choose_manufacturer(struct dialog_data *dlg, struct dialog_item_data *di){ int i, sel=0, j=0, same, model; struct menu_item *mi; const char *old = NULL; if (!(mi = new_menu(1))) return 0; model = GPOINTER_TO_INT(di->cdata); dbg("rig_model=%d\n", model); for (i=0; ilen; i++){ struct rig_caps *caps = (struct rig_caps *)z_ptr_array_index(riglist, i); same=0; if (old && strcasecmp(old, caps->mfg_name)==0) same=1; if (model==caps->rig_model) { dbg("i=%d j=%d\n", i, j); sel = j; if (same) sel--; } if (same) continue; add_to_menu(&mi, (char *)caps->mfg_name, "", "", MENU_FUNC choose_rig, GINT_TO_POINTER(i), 0); old = caps->mfg_name; j++; } dbg("sel=%d\n", sel); do_menu_selected(mi, di->cdata, sel); return 0; } void set_ptt_type(void *arg, void *arg2){ rig_ptt_t2r = GPOINTER_TO_INT(arg); strcpy(rig_ptt_t2r_str, rig_ptt_types[rig_ptt_t2r]); redraw_later(); } int choose_ptt_type(struct dialog_data *dlg, struct dialog_item_data *di){ struct menu_item *mi; int i; if (!(mi = new_menu(1))) return 0; for (i = 0; i < 4; i++) add_to_menu(&mi, rig_ptt_types[i], "", "", set_ptt_type, GINT_TO_POINTER(i), 0); do_menu_selected(mi, di->cdata, rig_ptt_t2r); return 0; } void refresh_rig_opts(void *xxx){ struct config_rig *crig = (struct config_rig *)xxx; if (!crig){ crig = g_new0(struct config_rig, 1); crig->nr = cfg->crigs->len; g_ptr_array_add(cfg->crigs, crig); } STORE_INT(crig, rig_enabled); STORE_STR(crig, rig_desc); STORE_STR(crig, rig_filename); STORE_SINT(crig, rig_model); STORE_SINT(crig, rig_speed); STORE_INT(crig, rig_handshake_none); STORE_SHEX(crig, rig_civaddr); STORE_SINT(crig, rig_ssbcw_shift); STORE_SDBL(crig, rig_lo); STORE_SINT(crig, rig_poll_ms); STORE_INT(crig, rig_qrg_r2t); STORE_INT(crig, rig_qrg_t2r); STORE_INT(crig, rig_mode_t2r); STORE_INT(crig, rig_clr_rit); STORE_INT(crig, rig_ptt_t2r); STORE_INT(crig, rig_verbose); free_trigs(gtrigs); init_trigs(); progress(NULL); } void rig_opts_fn(struct dialog_data *dlg) { if (new_model > 0){ dbg("new_model_str=%d (%s)\n", new_model, new_model_name); if (strlen(dlg->items[1].cdata) == 0) g_strlcpy(dlg->items[1].cdata, new_model_name, EQSO_LEN); g_snprintf(dlg->items[3].cdata, EQSO_LEN, "%d", new_model); new_model = 0; } } void menu_rig_opts(void *arg) { struct dialog *d; int i, rigi; struct config_rig *crig; rigi = GPOINTER_TO_INT(arg); dbg("menu_rig_opts(%d)\n", rigi); if (rigi >= (int)cfg->crigs->len) return; if (rigi < 0){ crig = NULL; rig_enabled = 1; strcpy(rig_desc, ""/*VTEXT(T_NEW_RIG)*/); strcpy(rig_filename, ""); strcpy(rig_model_str, "1"); strcpy(rig_speed_str, "0"); rig_handshake_none = 0; strcpy(rig_civaddr_str, "0x58"); strcpy(rig_ssbcw_shift_str, "0"); strcpy(rig_lo_str, "0"); strcpy(rig_poll_ms_str, "10"); rig_qrg_r2t = 1; rig_qrg_t2r = 1; rig_mode_t2r = 1; rig_clr_rit = 0; rig_ptt_t2r = 0; rig_verbose = 0; }else{ crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, rigi); LOAD_INT(crig, rig_enabled); LOAD_STR(crig, rig_desc); LOAD_STR(crig, rig_filename); LOAD_SINT(crig, rig_model); LOAD_SINT(crig, rig_speed); LOAD_INT(crig, rig_handshake_none); LOAD_SHEX2(crig, rig_civaddr); LOAD_SINT(crig, rig_ssbcw_shift); LOAD_SDBL(crig, rig_lo); LOAD_SINT(crig, rig_poll_ms); LOAD_INT(crig, rig_qrg_r2t); LOAD_INT(crig, rig_qrg_t2r); LOAD_INT(crig, rig_mode_t2r); LOAD_INT(crig, rig_clr_rit); LOAD_INT(crig, rig_ptt_t2r); LOAD_INT(crig, rig_verbose); } new_model = 0; strcpy(new_model_name, ""); if (!(d = (struct dialog*)g_malloc(sizeof(struct dialog) + 20 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 20 * sizeof(struct dialog_item)); d->title = VTEXT(T_RIGOPTS); d->fn = dlg_pf_fn; d->fn2 = rig_opts_fn; d->refresh = (void (*)(void *))refresh_rig_opts; d->refresh_data= crig; d->y0 = 1; i = -1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rig_enabled; d->items[i].msg = CTEXT(T_ENABLED);//CTEXT(T_RIG_QRG_R2T); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = rig_desc; d->items[i].maxl = 31; d->items[i].msg = CTEXT(T_DESC);//CTEXT(T_RIG_DEVICE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = rig_filename; d->items[i].maxl = 35; d->items[i].msg = CTEXT(T_RIG_DEVICE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rig_model_str; d->items[i].maxl = 7; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].msg = CTEXT(T_RIG_MODEL); d->items[i].gnum = 999999; rig_model = atoi(rig_model_str); d->items[++i].type = D_BUTTON; /* 2 */ d->items[i].gid = 0; d->items[i].fn = choose_manufacturer; d->items[i].data = (char *)GINT_TO_POINTER(rig_model); d->items[i].text = VTEXT(T_RIG_CHOOSE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rig_speed_str; d->items[i].maxl = 7; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].msg = CTEXT(T_RIG_SPEED); d->items[i].gnum = 999999; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rig_handshake_none; d->items[i].msg = TRANSLATE("Force handshake NONE"); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rig_civaddr_str; d->items[i].maxl = 5; d->items[i].fn = check_hex; d->items[i].gid = 0; d->items[i].msg = CTEXT(T_RIG_CIV); d->items[i].gnum = 255; d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rig_ssbcw_shift_str; d->items[i].maxl = 5; d->items[i].fn = check_number; d->items[i].gid = -2000; d->items[i].gnum = +2000; d->items[i].msg = CTEXT(T_RIG_FREQSHIFT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = rig_lo_str; d->items[i].maxl = 16; d->items[i].fn = check_qrg; d->items[i].msg = CTEXT(T_BAND_LO); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rig_poll_ms_str; d->items[i].maxl = 6; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 9999; d->items[i].msg = CTEXT(T_RIG_POLL_MS); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rig_qrg_r2t; d->items[i].msg = CTEXT(T_RIG_QRG_R2T); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rig_qrg_t2r; d->items[i].msg = CTEXT(T_RIG_QRG_T2R); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rig_mode_t2r; d->items[i].msg = CTEXT(T_RIG_MODE_T2R); d->items[i].wrap = 1; strcpy(rig_ptt_t2r_str, rig_ptt_types[rig_ptt_t2r]); d->items[++i].type = D_BUTTON; d->items[i].gid = 0; d->items[i].fn = choose_ptt_type; d->items[i].data=(char *)&rig_ptt_t2r; d->items[i].msg = CTEXT(T_SET_PTT_ON_RADIO); d->items[i].text = rig_ptt_t2r_str; d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rig_clr_rit; d->items[i].msg = CTEXT(T_RIG_CLR_RIT); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rig_verbose; d->items[i].msg = CTEXT(T_RIG_DEBUG); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; /* 6 */ d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void menu_rig_delete(void *arg){ struct config_rig *crig; int rigi; rigi = GPOINTER_TO_INT(arg); dbg("menu_rig_delete(%d)\n", rigi); if (rigi >= (int)cfg->crigs->len) return; crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, rigi); free_config_rig(crig); g_ptr_array_remove_index(cfg->crigs, rigi); free_trigs(gtrigs); init_trigs(); } void menu_rigs_delete(void *arg) { struct menu_item *mi = NULL; static char *rotstrs[]={"0","1","2","3","4","5","6","7","8","9"}; int i; if (!(mi = new_menu(3))) return; for (i=0; icrigs->len; i++){ struct config_rig *crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); add_to_menu(&mi, //g_strdup(rot->rot_desc && *rot->rot_desc?rot->rot_desc:"Rotator"), g_strdup_printf("Rig #%d", crig->nr), rotstrs[crig->nr], rotstrs[crig->nr], MENU_FUNC menu_rig_delete, GINT_TO_POINTER(i), 0); } do_menu(mi, NULL); } void menu_rigs(void *arg) { struct menu_item *mi = NULL; static char *rotstrs[]={"0","1","2","3","4","5","6","7","8","9"}; int i; if (!(mi = new_menu(3))) return; for (i=0; icrigs->len; i++){ struct config_rig *crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); char *c; if (crig->rig_desc && *crig->rig_desc) c = g_strdup(crig->rig_desc); else c = g_strdup_printf(VTEXT(T_RIG_D), crig->nr); if (!crig->rig_enabled){ char *d = c; c = g_strconcat(c, VTEXT(T_DISABLED), NULL); g_free(d); } add_to_menu(&mi, //g_strdup(crig->rig_filename && *rot->rot_desc?rot->rot_desc:"Rotator"), c, rotstrs[crig->nr], rotstrs[crig->nr], MENU_FUNC menu_rig_opts, GINT_TO_POINTER(i), 0); } add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_ADD_RIG)), "A", "A", MENU_FUNC menu_rig_opts, GINT_TO_POINTER(-1), 0); add_to_menu(&mi, g_strdup(VTEXT(T_REMOVE_RIG)/*VTEXT(T_ROT_REMOVE)*/), "R", //VTEXT(T_HK_ROT_REMOVE), "R", //VTEXT(T_HK_ROT_REMOVE), MENU_FUNC menu_rigs_delete, GINT_TO_POINTER(-1), 1); do_menu(mi, NULL); } #endif /************************** rotar ******************************/ char rot_desc[MAX_STR_LEN]; int rot_type; char rot_filename[MAX_STR_LEN], rot_hostname[MAX_STR_LEN]; char rot_port_str[EQSO_LEN]; char rot_vid_str[EQSO_LEN]; char rot_pid_str[EQSO_LEN]; char rot_serial[EQSO_LEN]; char rot_timeout_ms_str[EQSO_LEN]; char rot_poll_ms_str[EQSO_LEN]; char rot_beamwidth_str[EQSO_LEN]; char rot_saddr_str[EQSO_LEN], rot_model_str[EQSO_LEN], rot_speed_str[EQSO_LEN]; char rot_rem_rotstr[EQSO_LEN]; void refresh_rotar_opts(void *xxx){ struct config_rotar *crot = (struct config_rotar *)xxx; if (!crot) { crot = g_new0(struct config_rotar, 1); crot->nr = cfg->crotars->len; g_ptr_array_add(cfg->crotars, crot); } STORE_STR (crot, rot_desc); STORE_ENUM(crot, rot_type, enum rot_type); STORE_STR (crot, rot_filename); STORE_STR (crot, rot_hostname); STORE_SINT(crot, rot_port); STORE_SHEX(crot, rot_vid); STORE_SHEX(crot, rot_pid); STORE_STR (crot, rot_serial); STORE_SINT(crot, rot_timeout_ms); STORE_SINT(crot, rot_poll_ms); STORE_SINT(crot, rot_beamwidth); STORE_SINT(crot, rot_model); STORE_SINT(crot, rot_speed); STORE_SINT(crot, rot_saddr); STORE_STR (crot, rot_rem_rotstr); free_rotars(); init_rotars(); progress(NULL); } void menu_rotar_opts(void *arg){ struct dialog *d; int i, roti; struct config_rotar *crot; roti = GPOINTER_TO_INT(arg); dbg("menu_rotar_opts(%d)\n", roti); if (roti >= (int)cfg->crotars->len) return; if (roti < 0){ crot = NULL; safe_strncpy0(rot_desc, "", MAX_STR_LEN); rot_type = ROT_HAMLIB; strcpy(rot_filename, ""); strcpy(rot_hostname, ""); strcpy(rot_port_str, "10001"); strcpy(rot_vid_str, "a600"); strcpy(rot_pid_str, "e112"); strcpy(rot_serial, ""); strcpy(rot_timeout_ms_str,"400"); strcpy(rot_poll_ms_str,"500"); strcpy(rot_beamwidth_str, "20"); strcpy(rot_saddr_str, "240"); strcpy(rot_model_str, "0"); strcpy(rot_speed_str, "0"); strcpy(rot_rem_rotstr, "A"); }else{ crot = (struct config_rotar *)g_ptr_array_index(cfg->crotars, roti); LOAD_STR (crot, rot_desc); LOAD_INT (crot, rot_type); LOAD_STR (crot, rot_filename); LOAD_STR (crot, rot_hostname); LOAD_SINT (crot, rot_port); LOAD_SHEX4(crot, rot_vid); LOAD_SHEX4(crot, rot_pid); LOAD_STR (crot, rot_serial); LOAD_SINT (crot, rot_timeout_ms); LOAD_SINT (crot, rot_poll_ms); LOAD_SINT (crot, rot_beamwidth); LOAD_SINT (crot, rot_saddr); LOAD_SINT (crot, rot_model); LOAD_SINT (crot, rot_speed); LOAD_STR (crot, rot_rem_rotstr); } if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 30 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 30 * sizeof(struct dialog_item)); d->title = VTEXT(T_ROTAROPTS); d->fn = dlg_pf_fn; d->refresh = (void (*)(void *))refresh_rotar_opts; d->refresh_data = crot; d->y0 = 1; d->items[i=0].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = rot_desc; d->items[i].maxl = 30; d->items[i].msg = CTEXT(T_DESC); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = ROT_NONE; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rot_type; d->items[i].msg = CTEXT(T_ROT_NONE); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = ROT_OK1ZIA_TTYS; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rot_type; d->items[i].msg = CTEXT(T_ROT_OK1ZIA_TTYS); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = ROT_OK1ZIA_FTDI; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rot_type; d->items[i].msg = CTEXT(T_ROT_OK1ZIA_FTDI); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = ROT_HAMLIB; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rot_type; d->items[i].msg = CTEXT(T_ROT_HAMLIB); d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = ROT_REMOTE; d->items[i].dlen = sizeof(int); d->items[i].data=(char *)&rot_type; d->items[i].msg = CTEXT(T_ROT_REMOTE); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = rot_filename; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_FILENAME); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; // 5 d->items[i].dlen = MAX_STR_LEN; d->items[i].data = rot_hostname; d->items[i].maxl = 15; d->items[i].msg = CTEXT(T_HOSTNAME); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_port_str; d->items[i].fn = check_number; d->items[i].gid = 1; d->items[i].gnum = 65535; d->items[i].maxl = 6; d->items[i].msg = CTEXT(T_UDPPORT); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_vid_str; d->items[i].maxl = 6; d->items[i].msg = CTEXT(T_ROT_VID); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_pid_str; d->items[i].maxl = 6; d->items[i].msg = CTEXT(T_ROT_VID); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_serial; d->items[i].maxl = 10; d->items[i].msg = CTEXT(T_ROT_SERIAL); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_timeout_ms_str; d->items[i].fn = check_number; d->items[i].gid = 50; d->items[i].gnum = 2000; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_TIMEOUT); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_poll_ms_str; d->items[i].fn = check_number; d->items[i].gid = 300; d->items[i].gnum = 2000; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_ROT_POLL_MS); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_beamwidth_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 360; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_BEAMWIDTH); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_saddr_str; d->items[i].fn = check_number; d->items[i].gid = 128; d->items[i].gnum = 255; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_SADDR); d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_model_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 9999; d->items[i].maxl = 5; d->items[i].msg = CTEXT(T_MODEL); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_speed_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 9999999; d->items[i].maxl = 8; d->items[i].msg = TRANSLATE("Hamlib speed:"); d->items[i].wrap = 1; d->items[++i].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = rot_rem_rotstr; d->items[i].maxl = 3; d->items[i].msg = CTEXT(T_ROT_REM_ROTSTR); d->items[i].wrap = 2; d->items[++i].type = D_BUTTON; // 10 d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } void menu_rotar_delete(void *arg){ struct config_rotar *crot; int roti; roti = GPOINTER_TO_INT(arg); dbg("menu_rotar_delete(%d)\n", roti); if (roti >= (int)cfg->crotars->len) return; crot = (struct config_rotar *)g_ptr_array_index(cfg->crotars, roti); free_config_rotar(crot); g_ptr_array_remove_index(cfg->crotars, roti); } void menu_rotars_delete(void *arg) { struct menu_item *mi = NULL; static char *rotstrs[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; int i; if (!(mi = new_menu(3))) return; for (i=0; icrotars->len; i++){ struct config_rotar *rot = (struct config_rotar *)g_ptr_array_index(cfg->crotars, i); add_to_menu(&mi, g_strdup(rot->rot_desc && *rot->rot_desc?rot->rot_desc:"Rotator"), rotstrs[rot->nr], rotstrs[rot->nr], MENU_FUNC menu_rotar_delete, GINT_TO_POINTER(i), 0); } do_menu(mi, NULL); } void menu_rotars(void *arg) { struct menu_item *mi = NULL; static char *rotstrs[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; int i; if (!(mi = new_menu(3))) return; for (i=0; icrotars->len; i++){ struct config_rotar *rot = (struct config_rotar *)g_ptr_array_index(cfg->crotars, i); char *c; if (rot->rot_desc && *rot->rot_desc) c = g_strdup(rot->rot_desc); else c = g_strdup_printf(VTEXT(T_ROTATOR_D), i); if (rot->rot_type == ROT_NONE){ char *d = c; c = g_strconcat(c, VTEXT(T_DISABLED), NULL); g_free(d); } add_to_menu(&mi, c, rotstrs[rot->nr], rotstrs[rot->nr], MENU_FUNC menu_rotar_opts, GINT_TO_POINTER(i), 0); } add_to_menu(&mi, g_strdup(""), "", M_BAR, NULL, NULL, 0); add_to_menu(&mi, g_strdup(VTEXT(T_ROT_ADD)), VTEXT(T_HK_ROT_ADD), VTEXT(T_HK_ROT_ADD), MENU_FUNC menu_rotar_opts, GINT_TO_POINTER(-1), 0); add_to_menu(&mi, g_strdup(VTEXT(T_ROT_REMOVE)), VTEXT(T_HK_ROT_REMOVE), VTEXT(T_HK_ROT_REMOVE), MENU_FUNC menu_rotars_delete, GINT_TO_POINTER(-1), 1); do_menu(mi, NULL); } tucnak-4.32/src/ntpq.h0000644000175000017500000000113612006161033011563 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __NTPQ_H #define __NTPQ_H #ifdef Z_UNIX struct ntpq { pid_t pid; int rfd; GString *buf; int good, oldgood; int timer; }; extern struct ntpq *ntpq; struct ntpq *init_ntpq(void); void free_ntpq(struct ntpq *ntpq); void ntpq_timer(void *arg); void ntpq_read_handler(void *arg); #endif #endif tucnak-4.32/src/namedb.c0000644000175000017500000001101013700130565012022 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "fifo.h" #include "main.h" #include "namedb.h" #include "tsdl.h" struct namedb *namedb; struct namedb *init_namedb(){ struct namedb *namedb; progress(VTEXT(T_INIT_NAMEDB)); namedb = g_new0(struct namedb, 1); namedb->names = g_hash_table_new(g_str_hash, g_str_equal); return namedb; } gboolean free_names_item(gpointer key, gpointer value, gpointer user_data){ g_free(key); g_free(value); return 0; } void free_namedb(struct namedb *namedb){ progress(VTEXT(T_FREE_NAMEDB)); g_hash_table_foreach_remove(namedb->names, free_names_item, NULL); g_hash_table_destroy(namedb->names); g_free(namedb); } gint get_namedb_size(struct namedb *namedb){ return g_hash_table_size(namedb->names); } #define NAMEDB_DELIM " \t\r\n" void load_one_namedb(struct namedb *namedb, gchar *s){ gchar *call, *name; char *token_ptr; call = strtok_r(s, NAMEDB_DELIM, &token_ptr); if (!call) return; name = strtok_r(NULL, NAMEDB_DELIM, &token_ptr); if (!name) return; if (strlen(call)==0 || strlen(name)==0) return; add_namedb(namedb, call, name); } int load_namedb_from_file(struct namedb *namedb, gchar *filename){ FILE *f; char s[102]; /*dbg("load_namedb_from_file(%s)\n", filename);*/ f = fopen(filename, "rt"); if (!f){ /*dbg("Can't open '%s'\n", filename);*/ return -1; } while((fgets(s, 100, f))!=NULL){ load_one_namedb(namedb,s); } fclose(f); return 0; } int load_namedb_from_mem(struct namedb *namedb, const char *file, size_t len){ GString *gs; long int pos; gs = g_string_sized_new(100); pos=0; while(1){ if (!zfile_mgets(gs, file, &pos, len, 1)) break; load_one_namedb(namedb, gs->str); } g_string_free(gs, 1); return 0; } void read_namedb_files(struct namedb *namedb){ gchar *s; int ret = 0; progress(VTEXT(T_LOAD_NAMEDB2)); /*#ifdef UNIX ret |= load_namedb_from_file(namedb, SHAREDIR"/tucnaknames"); #endif*/ s = g_strconcat(tucnak_dir, "/tucnaknames", NULL); z_wokna(s); ret |= load_namedb_from_file(namedb, s); if (ret) load_namedb_from_mem(namedb, txt_tucnaknames, sizeof(txt_tucnaknames)); g_free(s); namedb->dirty = 0; } int namedb_ret; void save_one_name(gpointer key, gpointer value, gpointer user_data){ FILE *f; gchar *call, *name; int ret; f = (FILE *) user_data; call = (gchar *) key; name = (gchar *) value; ret=fprintf(f, "%s %s\n", call, name); if (ret<=0) namedb_ret++; } int save_namedb_into_file(struct namedb *namedb, gchar *filename){ FILE *f; f = fopen(filename, "wt"); if (!f) { return errno; } namedb_ret=0; g_hash_table_foreach(namedb->names, save_one_name, (gpointer) f); fclose(f); namedb->dirty = 0; return namedb_ret; } int save_namedb(struct namedb *namedb, int verbose){ char *s; int ret; if (!namedb->dirty) return 0; s = g_strconcat(tucnak_dir, "/tucnaknames", NULL); z_wokna(s); ret=save_namedb_into_file(namedb, s); if (ret){ errbox(VTEXT(T_CANT_WRITE), ret); }else{ if (verbose) log_addf(VTEXT(T_SAVED_S), s); } g_free(s); return ret; } static void format_one_name(gpointer key, gpointer value, gpointer user_data){ GString *gs; gchar *call, *name; gs = (GString *) user_data; call = (gchar *) key; name = (gchar *) value; g_string_append_printf(gs, "%s %s;", call, name); } int format_namedb_string(struct namedb *namedb, GString *gs){ g_hash_table_foreach(namedb->names, format_one_name, (gpointer) gs); return 0; } void add_namedb(struct namedb *namedb, gchar *call, gchar *name){ gchar *namedbi; /*dbg("add %s=%s\n", call, name);*/ namedbi = (char *)g_hash_table_lookup(namedb->names, call); if (!namedbi){ g_hash_table_insert(namedb->names, g_strdup(call), g_strdup(name)); namedb->dirty = 1; } } gchar *find_name_by_call(struct namedb *namedb, gchar *call){ gchar *namedbi; char rawcall[120]; z_get_raw_call(rawcall, call); namedbi = (gchar *) g_hash_table_lookup(namedb->names, rawcall); if (!namedbi) return NULL; return namedbi; } tucnak-4.32/src/slovhfnet.c0000644000175000017500000001773513700130565012630 00000000000000/* slovhfnet.c - Upload claimed live score to slovhf.net Copyright (C) 2017-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "slovhfnet.h" #include #include "bfu.h" #include "dwdb.h" #include "edi.h" #include "fifo.h" #include "main.h" #include "menu.h" #include "subwin.h" #include "stats.h" #include "tregex.h" struct slovhfnet *init_slovhfnet(void){ struct slovhfnet *slovhf = g_new0(struct slovhfnet, 1); slovhf->http = zhttp_init(); return slovhf; } void free_slovhfnet(struct slovhfnet *slovhf){ if (slovhf->http) zhttp_free(slovhf->http); g_free(slovhf); } void slovhfnet_upload(void *arg){ GString *gs = g_string_new(""); GString *gs2 = g_string_new(""); int i; struct band *b; char *c; if (gses->slovhf) return; if (!ctest) return; if (!cfg->slovhf_user || !*cfg->slovhf_user){ msg_box(NULL, VTEXT(T_ERROR), AL_CENTER, TRANSLATE("Undefined SLOVHF user. Please fill it in menu Contest defaults."), NULL, 1, VTEXT(T_OK), NULL, B_ENTER | B_ESC); return; } for (i = 0; i < ctest->bands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands, i); if (b->stats->nqsos == 0) continue; g_string_append_printf(gs, "%-7s %4d %6d\n", b->pband, b->stats->nqsos, b->stats->ntotal); } g_string_append_printf(gs2, TRANSLATE("Contest: %s\n"), ctest->tname); g_string_append_printf(gs2, TRANSLATE("Call: %s\n"), ctest->pcall); g_string_append_printf(gs2, TRANSLATE("User: %s\n\n"), cfg->slovhf_user); g_string_append_printf(gs2, "%-7s %-4s %-6s\n", "Band", "QSOs", "Points"); g_string_insert(gs, 0, gs2->str); g_string_free(gs2, TRUE); g_string_append_printf(gs, TRANSLATE("\nUpload report to slovhf.net?")); c = g_strdup(gs->str); g_string_free(gs, TRUE); msg_box(getml(c, NULL), VTEXT(T_INFO), AL_LEFT, c, NULL, 2, VTEXT(T_YES), slovhfnet_do_upload, B_ENTER, VTEXT(T_NO), NULL, B_ESC); } void slovhfnet_do_upload(void *arg){ struct slovhfnet *slovhf = init_slovhfnet(); gses->slovhf = slovhf; g_free(gses->slovhf->status);gses->slovhf->status = NULL; slovhfnet_next_band(slovhf); } void slovhfnet_next_band(struct slovhfnet *slovhf){ struct band *b; GString *gs; int qrgindex = 0; for (; slovhf->bandi < ctest->bands->len; slovhf->bandi++){ b = (struct band *)g_ptr_array_index(ctest->bands, slovhf->bandi); if (b->stats->nqsos > 0) break; } if (slovhf->bandi >= ctest->bands->len){ //log_addf(TRANSLATE("All bands uploaded"), slovhf->http->errorstr); free_slovhfnet(slovhf); gses->slovhf = NULL; log_addf(TRANSLATE("Live score uploaded")); return; } g_free(slovhf->status);slovhf->status = g_strdup_printf(VTEXT(T_UPLOADING_BAND_S), b->bandname); log_addf(VTEXT(T_UPLOADING_BAND_S), b->bandname); //http://slovhf.net/rezults.php?call={callsign}&lokator={sent_wwl}&qso={valid_qsos}&km={total_score}&dxcall={odx_call}&dxlokator={odx_wwl}&dxqrb={odx_qrb}&qrgindex={qrgindex}&gazda={slovhf.net_username}&pid=tucnak // qrgindex // 1: '50 MHz'; // 2: '70 MHz'; // 3: '145 MHz'; // 4: '435 MHz'; // 5: '1,3 GHz'; // 6: '2,3 GHz'; // 7: '3,4 GHz'; // 8: '5,7 GHz'; // 9: '10 GHz'; // 10: '24 GHz'; // 11: '47 GHz'; // 12: '76 GHz'; // 13: '120 GHz'; // 14: '144 GHz'; // 15: '248 GHz';*/ if (b->qrg_min >= 241000000) qrgindex = 15; else if (b->qrg_min >= 142000000) qrgindex = 14; else if (b->qrg_min >= 120000000) qrgindex = 13; else if (b->qrg_min >= 75500000) qrgindex = 12; else if (b->qrg_min >= 47000000) qrgindex = 11; else if (b->qrg_min >= 24000000) qrgindex = 10; else if (b->qrg_min >= 10000000) qrgindex = 9; else if (b->qrg_min >= 5650000) qrgindex = 8; else if (b->qrg_min >= 3400000) qrgindex = 7; else if (b->qrg_min >= 2300000) qrgindex = 6; else if (b->qrg_min >= 1240000) qrgindex = 5; else if (b->qrg_min >= 430000) qrgindex = 4; else if (b->qrg_min >= 144000) qrgindex = 3; else if (b->qrg_min >= 70025) qrgindex = 2; else if (b->qrg_min >= 50000) qrgindex = 1; gs = g_string_sized_new(200); zg_string_eprintfa("", gs, "http://slovhf.net/rezults.php"); //zg_string_eprintfa("", gs, "http://ok1zia.nagano.cz/tmp/rezults.php"); zg_string_eprintfa("u", gs, "?call=%s", ctest->pcall); zg_string_eprintfa("u", gs, "&lokator=%s", ctest->pwwlo); zg_string_eprintfa("u", gs, "&qso=%d", b->stats->nqsos); zg_string_eprintfa("u", gs, "&km=%d", b->stats->ntotal); zg_string_eprintfa("u", gs, "&qrgindex=%d", qrgindex); zg_string_eprintfa("u", gs, "&gazda=%s", cfg->slovhf_user); zg_string_eprintfa("u", gs, "&pid=tucnak"); zhttp_get(slovhf->http, zsel, gs->str, slovhfnet_sent, slovhf); } void slovhfnet_sent(struct zhttp *http){ struct slovhfnet *slovhf = (struct slovhfnet*)http->arg; if (http->errorstr){ g_free(slovhf->status);slovhf->status = g_strdup_printf(TRANSLATE("Can't upload score: %s"), http->errorstr); zhttp_free(slovhf->http); slovhf->http = NULL; free_slovhfnet(slovhf); gses->slovhf = NULL; return; } //log_addf("OK"); slovhf->bandi++; slovhfnet_next_band(slovhf); } void slovhfnet_abort(void *arg){ if (!gses->slovhf) return; free_slovhfnet(gses->slovhf); gses->slovhf = NULL; } /*void slovhfnet_confirmed(struct zhttp *http){ struct slovhfnet *slovhf = (struct slovhfnet*)http->arg; if (http->errorstr){ g_free(slovhf->status);slovhf->status = g_strdup_printf(VTEXT(T_CANT_CONFIRM_LOG), http->errorstr); zhttp_free(slovhf->http); slovhf->http = NULL;//free_slovhfnet(slovhf); return; } } void slovhfnet_ask_claimed(struct zhttp *http){ struct slovhfnet *slovhf = (struct slovhfnet*)http->arg; char *url; g_free(slovhf->status);slovhf->status = g_strdup(VTEXT(T_DOWNLOADING_CLAIMED_SCORES)); url = g_strdup_printf("http://www.slovhf.net/getlog/gentxtsql.php?zavod=%d&country=%d", slovhf->ctestid, slovhf->country); zhttp_get(http, zsel, url, slovhfnet_claimed, http->arg); g_free(url); } void slovhfnet_claimed(struct zhttp *http){ struct slovhfnet *slovhf = (struct slovhfnet*)http->arg; char *html, *c; GString *gs; if (http->errorstr){ g_free(slovhf->status);slovhf->status = g_strdup_printf(VTEXT(T_CANT_GET_CLAIMED_SCORES), http->errorstr); zhttp_free(slovhf->http); slovhf->http = NULL;//free_slovhfnet(slovhf); return; } html = (char *)g_malloc(http->response->len + 1); zbinbuf_getstr(http->response, http->dataofs, html, http->response->len - http->dataofs + 1); gs = g_string_new(html); c = z_strcasestr(gs->str, "
");
	if (c != NULL) g_string_erase(gs, 0, (c - gs->str) + 5);
	c = z_strcasestr(gs->str, "
"); if (c != NULL) g_string_truncate(gs, c - gs->str); fifo_add_lines(glog, gs->str); g_string_free(gs, TRUE); g_free(html); g_free(slovhf->status);slovhf->status = g_strdup(VTEXT(T_LOGS_UPLOADED)); zhttp_free(slovhf->http); slovhf->http = NULL; } void slovhfnet_info(void *arg1){ struct refresh *r; char *c, *button; GString *gs; if (!gses || !gses->slovhf) return; if (term->windows.next->handler == menu_func){ zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, slovhfnet_info, NULL); }else{ r = (struct refresh*)g_malloc(sizeof(struct refresh)); r->win = NULL; r->fn = slovhfnet_info; r->data = NULL; r->timer = -1; gs = g_string_new(""); if (gses->slovhf->status != NULL) g_string_append_printf(gs, "%s", gses->slovhf->status); if (gses->slovhf->status != NULL && gses->slovhf->http != NULL) g_string_append(gs, "\n\n"); if (gses->slovhf->http != NULL){ g_string_append(gs, VTEXT(T_HTTP_STATUS)); zhttp_status(gses->slovhf->http, gs); button = VTEXT(T_CANCEL); }else{ button = VTEXT(T_OK); } c = g_strdup(gs->str); g_string_free(gs, TRUE); msg_box(getml(c, NULL), VTEXT(T_LOG_UPLOAD), AL_LEFT, c, r, 1, button, slovhfnet_abort, B_ENTER | B_ESC); r->win = term->windows.next; ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort; r->timer = zselect_timer_new(zsel, RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r); } } */ tucnak-4.32/src/cwdaemon.h0000644000175000017500000001150614000322113012372 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __CWDAEMON_H #define __CWDAEMON_H #include "header.h" #include "cwdaemon.h" #include "session.h" struct cq; enum cwtype { CWD_NONE, CWD_PARPORT, CWD_TTYS, CWD_DAVAC4, CWD_CWD, CWD_WINKEY, CWD_WINKEY4x, CWD_WINKEYTCP, CWD_TTYS_SINGLE}; struct cwdaemon { int (*init) (struct cwdaemon *); int (*free) (struct cwdaemon *); int (*reset) (struct cwdaemon *); int (*text) (struct cwdaemon *, char *); int (*sspeed) (struct cwdaemon *, int); int (*sweight) (struct cwdaemon *, int); int (*cw) (struct cwdaemon *, int); int (*ptt) (struct cwdaemon *, int); int (*ssbway) (struct cwdaemon *, int); int (*monitor) (struct cwdaemon *, int); int (*echo) (struct cwdaemon *); int (*dtune) (struct cwdaemon *, int); int (*back) (struct cwdaemon *); int (*band) (struct cwdaemon *, int bandsw); int fd; char *desc; gint speed, weight; GThread *thread; int thread_break, abort; int pipe_read, pipe_write; GString *code; GString *played; MUTEX_DEFINE(code); /* GMutex *code_mutex; #ifdef LEAK_DEBUG_LIST char *code_file; int code_line; #endif*/ struct cwdev *dev; #if defined(Z_MSC_MINGW_CYGWIN) HINSTANCE hInpOut; MUTEX_DEFINE(hInpOut); /* GMutex *hInpOut_mutex; #ifdef LEAK_DEBUG_LIST char *hInpOut_file; int hInpOut_line; #endif */ int xx; short (_stdcall *inp32)(short port); void (_stdcall *out32)(short port, short data); short baseport; unsigned char ctrl; #endif unsigned char data; #ifdef Z_HAVE_LIBFTDI struct ftdi_context *ftdi; unsigned char ftdi_state; MUTEX_DEFINE(ftdi); /* GMutex *ftdi_mutex; #ifdef LEAK_DEBUG_LIST char *ftdi_file; int ftdi_line; #endif*/ #endif int tune; int sock; unsigned char winkey_version, winkey_oldstatus; int ttys_locked; // for CWD_TTYS and CWD_WINKEY int hold_ptt; int freeing; struct zserial *zser; int zser_fd; }; extern struct cwdaemon *cwda; struct cwdaemon *init_cwdaemon(void); void free_cwdaemon(struct cwdaemon *cwda); void cwdaemon_read_handler(struct cwdaemon *cwda, char *s, char *played); void cq_cw_wait(struct cq *cq); void cq_timer_cw2(void *cq); void cwdaemon_set_defaults(struct cwdaemon *cwda, int speed); gpointer cwdaemon_thread_func(gpointer data); void cwdaemon_echo(struct cwdaemon *cwda); int cwdaemon_text(struct cwdaemon *cwda, char *text); void cwdaemon_abort(struct cwdaemon *cwda); void cwdaemon_safe_abort(struct cwdaemon *cwda); void cwdaemon_ptt(struct cwdaemon *cwda, int ptt, int hold_ptt); void cwdaemon_ssbway(struct cwdaemon *cwda, int ssbway); /* 0=microphone, 1=soundcard */ int cwdaemon_speed(struct cwdaemon *cwda, int wpm); void cwdaemon_qrq(struct cwdaemon *cwda, int qrq); void cwdaemon_qrs(struct cwdaemon *cwda, int qrs); int cwdaemon_weight(struct cwdaemon *cwda, int weight); void cwdaemon_tune(struct cwdaemon *cwda, int tune); int cwdaemon_back(struct cwdaemon *cwda); int cwdaemon_band(struct cwdaemon *, int bandsw); int cwd_init (struct cwdaemon *); int cwd_free (struct cwdaemon *); int cwd_reset (struct cwdaemon *); int cwd_text (struct cwdaemon *, char *text); int cwd_speed (struct cwdaemon *, int onoff); int cwd_weight (struct cwdaemon *, int onoff); int cwd_cw (struct cwdaemon *, int onoff); int cwd_ptt (struct cwdaemon *, int onoff); int cwd_ssbway (struct cwdaemon *, int onoff); int cwd_echo (struct cwdaemon *); void cwd_read_handler(void *arg); void cwd_tone (struct cwdaemon *cwda, int tone); int cwd_tune (struct cwdaemon *cwda, int tune); int cwd_band (struct cwdaemon *, int bandsw); struct cq{ int nr; enum modes mode; gchar *cw_str; int cw_speed; /* 0 = unused */ int cw_repeat; /* 0 or 1 */ int cw_ts; /* tenth of second */ int cw_allowifundef; gchar *ssb_file; int ssb_repeat;/* 0 or 1 */ int ssb_ts; /* tenth of second */ int stripcall; }; struct cq *init_cq(void); struct cq *get_cq_by_number(GPtrArray *cqs, int nr); void free_cq (struct cq *cq); int cq_run_cw(struct cq *cq); int cq_run_ssb(struct cq *cq); int cq_run_by_number(int no); int cq_abort(int abort_rec); //void cq_timer_cw(void *cq); void cq_timer_ssb1(void *cq); void cq_ssb_wait(struct cq *cq); void cq_timer_ssb2(void *cq); gchar *convert_cq(struct cq *cq); gchar *convert_esc(gchar *format, int *undef, int flags, time_t now); void menu_runmode(void *arg); void menu_spmode(void *arg); void runmode(int run); void menu_extcq(void *arg); int cq_remains_run(void); int cq_remains_brk(void); void cq_timer_brk(void *arg); void ac_cq(void); #endif tucnak-4.32/src/player.h0000644000175000017500000000144111745243701012110 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __PLAYER_H #define __PLAYER_H #include "header.h" struct subwin; struct event; #define PREVIEW_H 3 #define PLAYER_H 1 int sw_player_kbd_func(struct subwin *sw, struct event *ev, int fw); int sw_player_mouse_func(struct subwin *sw, struct event *ev, int fw); void sw_player_redraw(struct subwin *sw, struct band *band, int flags); void sw_player_check_bounds(struct subwin *sw); void sw_player_raise(struct subwin *sw); void sw_player_free(struct subwin *sw); void player_play(char *filename); #endif tucnak-4.32/src/fft.h0000644000175000017500000000250612762034077011402 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2012 Ladislav Vaiz This pmrogram is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __FFT_H #define __FFT_H #include "header.h" #ifdef USE_SDR #include "ssbd.h" #include "subwin.h" #include #define BLUEPALx #define ZIAPAL #ifdef ZIAPAL #define FFT_COLORS 864 #endif #ifdef BLUEPAL #define FFT_COLORS 256 #endif #define FFT_AMPLEN (SSBBUFFER_LEN2/4 + 1) #define FFT_MA 8 struct fft{ fftw_plan plan; double *allocrin, *dynrin; fftw_complex *alloccout, *dyncout; size_t sizerin, sizecout; int lenrin, lencout; int n; int samplerate; int pal[FFT_COLORS]; #ifdef Z_HAVE_SDL SDL_Surface *screen; MUTEX_DEFINE(screen); int screeny; #endif double *amp; int amplen; #ifdef USE_NEA double nea_amp[FFT_AMPLEN]; #endif }; extern struct fft *gfft; struct fft *init_fft(void); void free_fft(struct fft *fft); void fft_start(struct fft *fft, int n, int samplerate); void fft_resize(struct fft *fft, struct subwin *sw); void sw_fft_redraw(struct subwin *sw, int flags); void fft_do(struct fft *fft); int fft_pal(double amp, double min, double max); #endif #endif tucnak-4.32/src/voip.h0000644000175000017500000000341412135555736011603 00000000000000/* Tucnak - VHF contest log Copyright (C) 2013 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __VOIP_H #define __VOIP_H #include "header.h" #ifdef HAVE_SNDFILE #ifdef VOIP #define VOIPMAX 512 // maximal packet size in sizeof(short) struct ssbd; struct voippeer { char *peerid; struct sockaddr_in sin; }; struct voip { GList *jitterbuf; uint32_t seq; int dupe; int len; int sock; // for sender (spied) GPtrArray *spying; // of struct voippeer MUTEX_DEFINE(spying); // for receiver (spying) unsigned short udpport; struct voippeer *spied; GThread *thread; int thread_break; }; struct voippacket { uint32_t seq; uint16_t len; // in samples short buf[1]; // really len items }; struct voip *init_voip(void); void free_voip(struct voip *voip); struct voippacket *init_voippacket(void *srcbuf, int buflen); // len is in bytes void free_voippacket(struct voippacket *p); int voip_add(struct voip *voip, struct voippacket *p); void voip_test(struct voip *voip); void voip_spy_add(struct voip *voip, char *id, char *voipaddr); void voip_spy_update(struct voip *voip, char *id, char *voipaddr); void voip_spy_remove(struct voip *voip, char *id); void voip_spy_free(struct voippeer *p); void voip_spy_dump(struct voip *voip); void voip_spy(void *xxx); void voip_end_spy(void *xxx, void *yyy); void voip_distribute(struct voip *voip, struct voippacket *vp); int voip_receive(struct ssbd *ssbd); void *voip_thread_func(void *arg); //void voip_thread_create(struct voip *voip); //void voip_thread_join(struct voip *voip); #endif #endif #endif tucnak-4.32/src/html.c0000644000175000017500000003366614040025076011563 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "chart.h" #include "fifo.h" #include "html.h" #include "map.h" #include "qsodb.h" #include "tsdl.h" #include "session.h" #include "stats.h" #include "tsdl.h" #include "zpng.h" #define HTML_QSO_STR(item) zg_string_eprintfa("h", gs, "%s ", item); #define HTML_QSO_STR_R(item) zg_string_eprintfa("h", gs, "%s ", item); #define HTML_QSO_INT(item) g_string_append_printf(gs, "%d ", item); #define HTML_HDR(item) g_string_append_printf(gs, "%s\n", item); static int bandrefi = 0; static int total_qsos = 0; static int total_points = 0; gchar *qh(GString *gs, gchar *s){ char *c; g_string_truncate(gs,0); if (!s) return gs->str; for (c=s; *c!='\0'; c++) { switch (*c){ case '<': g_string_append(gs, "<"); break; case '>': g_string_append(gs, ">"); break; case '"': g_string_append(gs, """); break; case '&': g_string_append(gs, "&"); break; case '\'': g_string_append(gs, "'"); break; default: g_string_append_c(gs, *c); } } return gs->str; } void html_style(GString *gs){ g_string_append_printf(gs, "body {\n" " font-size: 12pt;\n" /*" font-family: Tahoma, Helvetica, Arial, sans-serif}\n"*/ " font-family: Courier New, Courier-new, sans-serif}\n" "a {\n" " font-weight: bold}\n" "h1, h2, h3, h4 {\n" " font-family: Tahoma, Helvetica, Arial, sans-serif;\n" " color: #f8f8f8};\n" "h2 {\n" " margin-top: 20;\n" " margin-bottom: 5;\n" " margin-left:10 }\n" /* input { padding: 2px; margin: 2px; font-weight: normal; font-size: 12px; color: #000000; font-family: sans-serif} li { margin-bottom: 20px } p.stress{ font-style: italic} */ "table.qsos {\n" " border: black 2px solid;\n" " padding: 5px;\n" " background: #606060}\n" "th {\n" " padding-left: 5px;\n" " padding-right: 5px}\n" "td {\n" " padding-left: 5px;\n" " padding-right: 5px}\n" "#calltest {\n" " font-family: Tahoma, Helvetica, Arial, sans-serif;\n" " font-size: 180%%;\n" " font-weight: bold}\n" "#q {\n" " text-transform: uppercase;}\n" ); } void html_header(GString *gs, gchar *title, int flags, int refresh, char *bodyarg){ g_string_append_printf(gs, "\n" "\n" "\n" ); if (refresh) zg_string_eprintfa("h", gs, "\n", refresh); g_string_append_printf(gs, ""); zg_string_eprintfa("h", gs, "%s\n", title); g_string_append_printf(gs, "\n\n"); if (flags & HTML_CENTER) g_string_append_printf(gs, "
\n"); g_string_append_printf(gs, "

"); if (flags & HTML_ICON) g_string_append_printf(gs, "\"Happy"); zg_string_eprintfa("h", gs, "%s

\n", title); } void html_ref_header(GString *gs){ zg_string_eprintfa("h", gs, "

%s: %S

\n", VTEXT(T_LOCATOR), ctest->pwwlo); g_string_append_printf(gs, "\n"); g_string_append_printf(gs, ""); g_string_append_printf(gs, "\n", VTEXT(T_BAND2), VTEXT(T_SW_QSOS), VTEXT(T_POINTS), VTEXT(T_AVG)); } void html_band_ref(GString *gs, struct band *b, struct config_band *confb){ if (bandrefi++%2) g_string_append_printf(gs, "\n"); else g_string_append_printf(gs, "\n"); zg_string_eprintfa("h", gs, "\n", b->bandchar, b->bandname); g_string_append_printf(gs, "\n", b->stats->nqsos); total_qsos += b->stats->nqsos; g_string_append_printf(gs, "\n", b->stats->ntotal); total_points += b->stats->ntotal; if (b->stats->nqsos){ // happened always g_string_append_printf(gs, "\n", (double)b->stats->ntotal/(double)b->stats->nqsos); } g_string_append_printf(gs, "\n"); } void html_total_sum(GString *gs, struct band *b, struct config_band *confb){ if (bandrefi++%2) g_string_append_printf(gs, "\n"); else g_string_append_printf(gs, "\n"); g_string_append_printf(gs, "\n", total_qsos, total_points); g_string_append_printf(gs, "\n"); } void html_ref_footer(GString *gs, struct band *b, struct config_band *confb){ g_string_append_printf(gs, "
%s%s%s%s
%s%d%d%5.1f
%d%d
\n"); } void html_band_header(GString *gs, struct band *b, struct config_band *confb, int flags, struct subwin *map, struct subwin *chart){ int w, h, i; zg_string_eprintfa("h", gs, "

%s %s

\n", b->bandchar, VTEXT(T_BAND2), b->bandname); /* g_string_append_printf(gs, "

QSOs: %d
\n", b->stats->nqsos); g_string_append_printf(gs, "Points: %d
\n", b->stats->ntotal); g_string_append_printf(gs, "WWLs: %d
\n", g_hash_table_size(b->stats->wwls)); g_string_append_printf(gs, "DXCCs: %d
\n", g_hash_table_size(b->stats->dxcs)); if (b->stats->nqsos){ g_string_append_printf(gs, "AVG: %5.2f pts/qso
\n", (double)b->stats->ntotal/(double)b->stats->nqsos); } g_string_append_printf(gs, "

\n");*/ // statsfifo g_string_append_printf(gs, "
");
	for (i = 5; i < b->statsfifo1->items->len ; i++){
		char *s = (char*)g_ptr_array_index(b->statsfifo1->items, i);
		g_string_append_printf(gs, "%s\n", s);
	}
    g_string_append_printf(gs, "
\n"); #ifdef Z_HAVE_SDL w = 640; h = 480; if (map && map->screen) { w = map->screen->w; h = map->screen->h; } g_string_append_printf(gs, "

\"Polar

\n", flags & HTML_IMG_ROOT ? "/" : "", z_char_lc(b->bandchar), w, h, b->bandname); w = 640; h = 480; if (chart && chart->screen) { w = chart->screen->w; h = chart->screen->h; } g_string_append_printf(gs, "

\"Chart

\n", flags & HTML_IMG_ROOT ? "/" : "", z_char_lc(b->bandchar), w, h, b->bandname); #endif g_string_append_printf(gs, "

\n\n\n"); g_string_append_printf(gs, "\n"); HTML_HDR("DATE"); /*HTML_HDR("BAND");*/ HTML_HDR("MODE"); HTML_HDR("TIME"); HTML_HDR("CALLSIGN"); HTML_HDR("RSTS"); HTML_HDR("STX"); HTML_HDR("RSTR"); HTML_HDR("SRX"); HTML_HDR("LOCATOR"); HTML_HDR("QRB"); HTML_HDR("OPERATOR"); HTML_HDR("REMARK"); g_string_append_printf(gs, "\n"); } void html_band_footer(GString *gs){ g_string_append_printf(gs,"
\n\n"); } void html_footer(GString *gs, int flags){ g_string_append_printf(gs, "

Created by Tucnak ver. %s

\n", VERSION_STRING); g_string_append_printf(gs, "

\n" "\n" "\"Valid \n" "\n" "" "\"Viewable " "



\n"); if (flags & HTML_CENTER) g_string_append(gs, "
\n"); g_string_append_printf(gs, "\n"); } void html_qsos(GString *gs, struct band *b, struct config_band *confb){ struct qso *q; GString *gs2; int i,j; char *html_modes[]={ "?", "SSB", "CW", "CWs", "CWr", "AM", "FM", "RTTY", "SSTV", "ATV" }; gs2 = g_string_new(""); j=0; for (i=0; iqsos->len; i++){ char time[10]; //gchar *c; q = get_qso(b, i); if (q->error) continue; if (j++%2) g_string_append_printf(gs, "\n"); else g_string_append_printf(gs, "\n"); strcpy(time, q->time_str); time[2]='.'; time[3]=q->time_str[2]; time[4]=q->time_str[3]; time[5]='\0'; HTML_QSO_STR(q->date_str); HTML_QSO_STR(html_modes[abs(q->mode)%10]); HTML_QSO_STR(time); HTML_QSO_STR(q->callsign); HTML_QSO_STR_R(q->rsts); HTML_QSO_STR_R(q->qsonrs); HTML_QSO_STR_R(q->rstr); HTML_QSO_STR_R(q->qsonrr); HTML_QSO_STR(q->locator); HTML_QSO_INT((int)q->qrb); HTML_QSO_STR(q->operator_); HTML_QSO_STR(q->remark); g_string_append_printf(gs, "\n"); } g_string_free(gs2, TRUE); } void html_complete(GString *gs, int flags){ struct band *band = NULL; struct config_band *confb = NULL; int i; GString *gs2, *title; int header_saved=0; struct subwin *map = NULL; struct subwin *chart = NULL; int oldaa; #ifdef Z_HAVE_SDL oldaa = zsdl->antialiasing; if (zsdl->antialiasing_supported) zsdl->antialiasing = 1; #endif gs2 = g_string_sized_new(100); title = g_string_sized_new(100); map = sw_raise_or_new(SWT_MAP); chart = sw_raise_or_new(SWT_CHART); bandrefi = 0; total_qsos = total_points = 0; for (i=0; ibands->len; i++){ band = (struct band*)g_ptr_array_index(ctest->bands, i); confb = (struct config_band*)get_config_band_by_bandchar(band->bandchar); stats_thread_join(band); if (band->stats->nqsos <=0) continue; #if defined(Z_HAVE_SDL) && defined(Z_HAVE_LIBPNG) if (sdl && map && (flags & HTML_MAP)){ char *filename; map->gdirty = 1; map_for_photo(map, band, 0); map_recalc_gst(map, band); sw_map_redraw(map, band, HTML_FOR_PHOTO); filename = g_strdup_printf("%s/map%c.png", ctest->directory, tolower(band->bandchar)); zpng_save(map->screen, filename, NULL); /*SDL_BlitSurface(map->screen, NULL, sdl->screen, NULL); SDL_UpdateRect(sdl->screen, -1, -1, -1, -1); sleep(1);*/ g_free(filename); } if (sdl && chart && (flags & HTML_CHART)){ char *filename; chart->gdirty = 1; sw_chart_recalc_extremes(chart, band); sw_chart_redraw(chart, band, HTML_FOR_PHOTO); filename = g_strdup_printf("%s/chart%c.png", ctest->directory, tolower(band->bandchar)); zpng_save(chart->screen, filename, NULL); g_free(filename); /*SDL_BlitSurface(chart->screen, NULL, sdl->screen, NULL); SDL_UpdateRect(sdl->screen, -1, -1, -1, -1); sleep(1);-*/ } #endif if (!header_saved){ g_string_printf(title, "%s", ctest->pcall); z_str_uc(title->str); g_string_append_printf(title, " - %s", ctest->tname); html_header(gs, title->str, 0, cfg->httpd_refresh, NULL); html_ref_header(gs); header_saved=1; } html_band_ref(gs, band, confb); } if (band != NULL && confb != NULL){ html_total_sum(gs, band, confb); html_ref_footer(gs, band, confb); } for (i=0; ibands->len; i++){ band = (struct band*)g_ptr_array_index(ctest->bands, i); confb = (struct config_band*)get_config_band_by_bandchar(band->bandchar); if (band->stats->nqsos <=0) continue; html_band_header(gs, band, confb, flags, map, chart); html_qsos (gs, band, confb); html_band_footer(gs); } html_footer(gs, 0); #ifdef Z_HAVE_SDL if (map) map_recalc_gst(map, aband); zsdl->antialiasing = oldaa; #endif if (chart) sw_chart_recalc_extremes(chart, aband); g_string_free(gs2, 1); g_string_free(title, 1); } int export_all_bands_html(void){ gchar *filename; FILE *f; char callbuf[20]; GString *gs; if (!ctest) return -1; dbg("export_all_bands_html()\n"); progress(VTEXT(T_EXPORTING)); gs = g_string_sized_new(300000); html_complete(gs, HTML_MAP | HTML_CHART); filename = g_strdup_printf("%s/%s_%s.html", ctest->directory, ctest->cdate, z_get_raw_call(callbuf,ctest->pcall)); z_wokna(filename); f=fopen(filename,"wt"); if (!f) { errbox(VTEXT(T_CANT_WRITE), errno); g_free(filename); g_string_free(gs, 1); progress(NULL); return -1; } if (fprintf(f, "%s", gs->str) <= 0){ errbox(VTEXT(T_CANT_WRITE), 0); g_free(filename); g_string_free(gs, 1); return -1; } fclose(f); log_addf(VTEXT(T_SAVED_S), filename); g_free(filename); g_string_free(gs, 1); progress(NULL); return 0; } tucnak-4.32/src/map.c0000644000175000017500000014552014114415527011373 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2016 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "ac.h" #include "bfu.h" #ifdef Z_HAVE_SDL #include "cordata.h" #endif #include "fifo.h" #include "html.h" #include "icons.h" #include "kbdbind.h" #include "kbd.h" #include "main.h" #include "map.h" #include "qrvdb.h" #include "rain.h" #include "rotar.h" #include "tsdl.h" #include "session.h" #include "stats.h" #include "subwin.h" #include "terminal.h" #include "zpng.h" #define sqr(x) ((x)*(x)) #ifdef Z_HAVE_SDL #define INFO_W (20 * zsdl->font_w) //double rotace = 0; /* only EV_KBD */ int sw_map_kbd_func(struct subwin *sw, struct event *ev, int fw){ int lmx,lmy,step; double stepd; if (!sdl) return 0; step = (SDL_GetModState() & KMOD_SHIFT)!=0 ? 1 : 10; /*dbg("\nsw_map_kbd_func [%d,%d,%d,%d]\n",ev->ev,ev->x,ev->y,ev->b);*/ switch(kbd_action(KM_MAIN,ev)){ case ACT_ESC: return 0; break; case ACT_LEFT: sw->ox+=10; move_map(sw, aband, +step, 0); return 1; case ACT_RIGHT: sw->ox-=10; move_map(sw, aband, -step, 0); return 1; case ACT_UP: sw->oy+=10; move_map(sw, aband, 0, +step); return 1; case ACT_DOWN: sw->oy-=10; move_map(sw, aband, 0, -step); return 1; } /* dbg("sw_map_kbd_func: %c %d\n", ev->x, ev->y);*/ stepd = (SDL_GetModState() & KMOD_SHIFT)!=0 ? 1.05 : 1.3; switch(ev->x){ case '+': case '=': lmx = sw->x * FONT_W + sw->screen->w/2; lmy = sw->y * FONT_H + sw->screen->h/2; zoom(sw, stepd, lmx, lmy); break; case '-': lmx = sw->x * FONT_W + sw->screen->w/2; lmy = sw->y * FONT_H + sw->screen->h/2; zoom(sw, 1/stepd, lmx, lmy); break; /* case '1': sw->ox+=20; sw->oy+=20; move_map(sw, +20, +20); break;*/ case 'r': sw->gdirty=1; qrv_recalc_wkd(qrv); qrv_recalc_qrbqtf(qrv); qrv_recalc_gst(qrv); map_recalc_gst(sw, aband); sw_map_redraw(sw, aband, 0); break; case 'p': map_for_photo(sw, aband, 0); break; case 'c': sw->ox=sw->map.w/2; sw->oy=sw->map.h/2; sw->gdirty=1; redraw_later(); break; case 'l': sw->showlines = !sw->showlines; sw->gdirty=1; redraw_later(); break; case 'w': sw->showwwls = !sw->showwwls; sw->gdirty=1; redraw_later(); break; } return 0; } void zoom(struct subwin *sw, double factor, int centerx, int centery){ int oldzoom; int kx, ky; px2km(sw, centerx, centery, &kx, &ky); oldzoom=sw->zoom; sw->zoom =(int)(sw->zoom * factor); if (sw->zoom>40000-2) sw->zoom=40000; if (sw->zoom<80) sw->zoom=80; if (sw->zoom!=oldzoom){ pxkm2o(sw, centerx, centery, kx, ky, &sw->ox, &sw->oy); } sw->gdirty=1; redraw_later(); //dbg("zoom=%d\n", sw->zoom); } void map_turn_rot(void *itdata, void *menudata){ struct subwin *sw = (struct subwin *)menudata; int nr = GPOINTER_TO_INT(itdata); struct rotar *rot = get_rotar(nr); ac_track(gacs, NULL, -10); rot_seek(rot, sw->uhel, -90); } void map_track(void *itdata, void *menudata){ struct subwin *sw = (struct subwin *)menudata; int nr = GPOINTER_TO_INT(itdata); ac_track(gacs, sw->acunder, nr); } int sw_map_mouse_func(struct subwin *sw, struct event *ev, int fw){ int dx,dy, lmx = -1, lmy = -1; double stepd; if (!sdl) return 0; /*dbg("sw_map_mouse_func\n");*/ /*rotace = ev->mx * M_PI / 180.0; sw->gdirty = 1; redraw_later();*/ sw->mx = ev->mx - sw->x * FONT_W; sw->my = ev->my - sw->y * FONT_H; stepd = (SDL_GetModState() & KMOD_SHIFT)!=0 ? 1.05 : 1.3; if ((ev->b & BM_ACT) == B_DOWN){ lmx = ev->mx - sw->x * FONT_W; lmy = ev->my - sw->y * FONT_H; if (lmx >= 0 && lmy > 0 && lmx < sdl->home->w && lmy < sdl->home->h) { map_for_photo(sw, aband, 0); return 1; } if (lmx >= sw->map.w - sdl->zoomin->w && lmy >= 0 && lmx < sw->map.w && lmy < sdl->zoomin->h) { lmx = sw->x * FONT_W + sw->screen->w/2; lmy = sw->y * FONT_H + sw->screen->h/2; zoom(sw, stepd, sw->map.w / 2, sw->map.y / 2); return 1; } if (lmx >= sw->map.w - sdl->zoomout->w && lmy >= sw->map.h - sdl->zoomout->h && lmx < sw->map.w && lmy < sw->map.h) { lmx = sw->x * FONT_W + sw->screen->w/2; lmy = sw->y * FONT_H + sw->screen->h/2; zoom(sw, 1 / stepd, sw->map.w / 2, sw->map.y / 2); return 1; } } if (ev->b & B_MOVE){ if (!gacs) plot_nearest_qso(sw, aband); //plot_nearest_qrv(sw, aband); plot_qrb_qth(sw, sw->screen, sdl->mouse_x, sdl->mouse_y); return 1; } if (ev->b & B_DRAG){ switch (ev->b & BM_EBUTT){ case B_LEFT: /* dbg("drag %d %d\n", ev->mx, ev->my);*/ dx=ev->mx - sw->olddragx; dy=ev->my - sw->olddragy; if (dx==0 && dy==0) break; sw->olddragx=ev->mx; sw->olddragy=ev->my; sw->ox+=dx; sw->oy+=dy; /*redraw_later(); */ move_map(sw, aband, dx, dy); return 1; } return 1; } switch (ev->b & BM_EBUTT){ struct menu_item *mi; case B_LEFT: /* dbg("left %d %d\n", ev->mx, ev->my);*/ sw->olddragx=ev->mx; sw->olddragy=ev->my; return 1; case B_MIDDLE: /* dbg("middle\n");*/ break; case B_RIGHT: /*dbg("right\n");*/ if (lmx < 0) break; mi = new_menu(1); mi->rtext = TRANSLATE("Turn antenna"); MUTEX_LOCK(rotars); int i = 0; for (i = 0; ilen; i++){ struct rotar *rot = (struct rotar *) g_ptr_array_index(rotars, i); add_to_menu(&mi, rot->desc, "", "", MENU_FUNC map_turn_rot, GINT_TO_POINTER(i), 0); } struct ac *ac = ac_under(gacs, sw); g_free(sw->acunder); sw->acunder = NULL; if (ac){ sw->acunder = g_strdup(ac->id); for (i = 0; ilen; i++){ struct rotar *rot = (struct rotar *) g_ptr_array_index(rotars, i); add_to_menu(&mi, "Track airplane", rot->rotstr, rot->rotstr, MENU_FUNC map_track, GINT_TO_POINTER(i), 0); } } MUTEX_UNLOCK(rotars); if (i == 0) break; set_window_ptr(gses->win, ev->x - 3, ev->y + 1); int kx, ky; double qrb, qtf; px2km(sw, lmx, lmy, &kx, &ky); km2qrbqtf(kx, ky, &qrb, &qtf); int uhel = (int)round(qtf * 180 / M_PI); sw->uhel = uhel; do_menu(mi, sw); break; case B_WHUP: /*dbg("wheel up\n");*/ lmx = ev->mx - sw->x * FONT_W; lmy = ev->my - sw->y * FONT_H; zoom(sw, stepd, lmx, lmy); return 1; case B_WHDOWN: /*dbg("wheel down\n");*/ lmx = ev->mx - sw->x * FONT_W; lmy = ev->my - sw->y * FONT_H; zoom(sw, 1/stepd, lmx, lmy); return 1; } return 0; } void move_map(struct subwin *sw, struct band *band, int dx, int dy){ SDL_Rect dst, r; // dbg("\nmove_map(%d, %d)\n", dx, dy); dst.x=dx; dst.y=dy; dst.w=sw->map.w; dst.h=sw->map.h; //SDL_SetAlpha(sw->l2rot, SDL_SRCALPHA, SDL_ALPHA_OPAQUE); SDL_SetClipRect(sw->l1map, &sw->map); memcpy(&r, &dst, sizeof(r)); SDL_BlitSurface(sw->l1map, &sw->map, sw->l1map, &r); /* SDL_SetClipRect(sw->l2rot, &sw->map); memcpy(&r, &dst, sizeof(r)); SDL_BlitSurface(sw->l2rot, &sw->map, sw->l2rot, &r); */ SDL_SetClipRect(sw->screen, &sw->map); memcpy(&r, &dst, sizeof(r)); SDL_BlitSurface(sw->screen, &sw->map, sw->screen, &r); if (dx>0){ dst.x=0; dst.w=dx; dst.y=0; dst.h=sw->map.h; sw_map_redraw_rect(sw, &dst, band, 0); } if (dx<0){ dst.x=sw->map.w+dx; dst.w=-dx; dst.y=0; dst.h=sw->map.h; sw_map_redraw_rect(sw, &dst, band, 0); } if (dy>0){ dst.x=0; dst.w=sw->map.w; dst.y=0; dst.h=dy; sw_map_redraw_rect(sw, &dst, band, 0); } if (dy<0){ dst.x=0; dst.w=sw->map.w; dst.y=sw->map.h+dy; dst.h=-dy; sw_map_redraw_rect(sw, &dst, band, 0); } if (!gacs) plot_nearest_qso(sw, band); // plot_nearest_qrv(sw, band); // dbg("move_map ox=%d oy=%d\n", sw->ox, sw->oy); } void sw_map_redraw_rect(struct subwin *sw, SDL_Rect *area, struct band *band, int flags){ int fp = flags & HTML_FOR_PHOTO; if (!sw->l1map) return; // dbg("sw_map_redraw_rect: %dx%d%+d%+d\n", area->x, area->y, area->w, area->h); SDL_SetClipRect(sw->l1map, area); SDL_FillRect(sw->l1map, area, z_makecol(0, 35, 35)); /* col%=16; */ /* rect(sw->screen, area->x, area->y, area->x+area->w-1, area->y+area->h-1, 0x4000); */ /*SDL_FillRect(sw->screen, &sw->map, sdl->termcol[1]); SDL_FillRect(sw->screen, &sw->info, sdl->termcol[2]);*/ if (sw->showwwls) plot_wkd_wwls(sw, sw->l1map, area); plot_cor(sw, sw->l1map, area, flags); //z_dumpbitmap(NULL, sw->l1map); //plot_qth(sw, area); // dumpbitmap(sw->l1map); if (ctest && qrv && !fp) { plot_qrvs(sw, sw->l1map, band, area); plot_gst(sw, sw->l1map, area, qrv->gst, z_makecol(13, 121, 66)); } if (ctest && ctest->wwlused && sw->type == SWT_MAP) { plot_qsos(sw, sw->l1map, band, area); /*if (!fp)*/ plot_gst(sw, sw->l1map, area, sw->gst, z_makecol(250, 180, 52)); } // sw_map_update_rotar(sw, area); // dbg(" %dx%d%+d%+d\n", area->x, area->y, area->w, area->h); sw_map_redraw_rotar(sw, area, flags); if (band && band->tmplocqso.locator && *band->tmplocqso.locator){ plot_qso(sw, sw->screen, band, &band->tmplocqso); if (gacs) plot_path(sw, sw->screen, band, &band->tmplocqso, &gacs->tmpqso); } plot_qth(sw, area); } void sw_map_redraw_rotar(struct subwin *sw, SDL_Rect *area, int flags){ SDL_Rect rotarea; SDL_Rect r; SDL_SetClipRect(sw->screen, area); memcpy(&r, area, sizeof(r)); SDL_BlitSurface(sw->l1map, &r, sw->screen, &r); if (sw->type == SWT_MAP){ // no rain for KST A/C info sw_map_redraw_rain(sw, area, flags); } if ((flags & HTML_FOR_PHOTO) == 0) plot_rotars(sw, sw->screen, area, &rotarea); } void sw_map_update_rotar(struct subwin *sw){ SDL_Rect r; // dbg("\nsw_map_update_rotar)\n"); r.x = 0; r.y = 0; r.w = sw->screen->w; r.h = sw->screen->h; sw->gdirty=1; sw_map_redraw_rotar(sw, &r, 0); } void sw_map_redraw_icons(struct subwin *sw, SDL_Rect *area, int flags){ //SDL_Rect rotarea; SDL_Rect r; //SDL_SetClipRect(sw->screen, ); memcpy(&r, area, sizeof(r)); SDL_BlitSurface(sdl->home, NULL, sdl->screen, &r); memcpy(&r, area, sizeof(r)); r.x += sw->map.w - sdl->zoomin->w; SDL_BlitSurface(sdl->zoomin, NULL, sdl->screen, &r); memcpy(&r, area, sizeof(r)); r.x += sw->map.w - sdl->zoomout->w; r.y += sw->map.h - sdl->zoomout->h; SDL_BlitSurface(sdl->zoomout, NULL, sdl->screen, &r); memcpy(&r, area, sizeof(r)); plot_rain_titles(sdl->screen, &r, flags); // if ((flags & HTML_FOR_PHOTO) == 0) plot_rotars(sw, sw->screen, area, &rotarea); } void sw_map_redraw_rain(struct subwin *sw, SDL_Rect *aarea, int flags){ int ci; if (grain == NULL) return; if ((flags & HTML_FOR_PHOTO) != 0) return; /*{ SDL_BlitSurface(grain->weatheronline->img, NULL, sw->screen, &sw->map); return; }*/ for (ci = 0; ci < RAIN_COLORS; ci++){ if (grain->weatheronline != NULL) plot_rain_provider(sw, aarea, grain->weatheronline, ci); if (grain->wetteronline != NULL) plot_rain_provider(sw, aarea, grain->wetteronline, ci); if (grain->meteox != NULL) plot_rain_provider(sw, aarea, grain->meteox, ci); if (grain->chmi != NULL) plot_rain_provider(sw, aarea, grain->chmi, ci); if (grain->rainviewer != NULL) plot_rain_provider(sw, aarea, grain->rainviewer, ci); if (grain->debug) break; } int i, px1, px2, py1, py2; for (i = 0; i < grain->scps->len; i++){ struct rain_scp *scp = (struct rain_scp *)g_ptr_array_index(grain->scps, i); km2px_d(sw, scp->kx, scp->ky, &px1, &py1); km2px_d(sw, scp->kx + grain->minscpdist, scp->ky, &px2, &py2); int r = (int)sqrt((px1 - px2)*(px1 - px2) + (py1 - py2)*(py1 - py2)); int c = scp->qrb <= grain->maxqrb ? sdl->gr[15] : sdl->gr[5]; z_circle(sw->screen, px1, py1, r, c); if (r > 3) z_circle(sw->screen, px1, py1, r - 2, c); } } void plot_rain_provider(struct subwin *sw, SDL_Rect *aarea, struct rain_provider *provider, int ci) { SDL_Rect area; int ix, iy, c, i; int minkx, minky, maxkx, maxky; //double hmult, wmult; double hh1, hh2, ww1, ww2; int kx, ky; int px1, px2, px3 = 0, px4 = 0, py1, py2, py3 = 0, py4 = 0; if (provider->img == NULL) return; if (provider->w <= 0) return; area.x = aarea->x - 16; // maximal "pixel" size is about 16x16 area.y = aarea->y - 16; area.w = aarea->w + 32; area.h = aarea->h + 32; //hmult = (provider->h2 - provider->h1) / (provider->hpx2 - provider->hpx1); //wmult = (provider->w2 - provider->w1) / (provider->wpx2 - provider->wpx1); if (provider->rain->debug){ // debug mode - only pixels for (iy = 0; iy < provider->img->h; iy++){ for (ix = 0; ix < provider->img->w; ix++){ c = z_getpixel_fmt(provider->img, ix, iy, sdl->screen->format); //if (c == 0x00aad3df) continue; provider->img2hw(provider, provider->rv_px0 + ix, provider->rv_py0 + iy, &hh1, &ww1); hw2km(gses->myh, gses->myw, hh1, ww1, &kx, &ky); km2px(sw, kx, ky, &px1, &py1); if (!z_overlapped_pixel(aarea, px1, py1)) continue; z_putpixel(sw->screen, px1, py1, c); } } }else{ // not debug SDL_SetClipRect(sw->screen, aarea); // not area px2km(sw, area.x, area.y, &minkx, &minky); px2km(sw, area.x + area.w - 1, area.y + area.h - 1, &maxkx, &maxky); minkx &= provider->mask; minky &= provider->mask; maxkx &= provider->mask; maxky &= provider->mask; if (minkx < -32768) minkx = -32768; if (maxkx > 32767) maxkx = 32767; if (minky < -32768) minky = -32768; if (maxky > 32767) maxky = 32767; c = provider->pal[ci]; for (ky = minky; ky <= maxky; ky += provider->step){ for (kx = minkx; kx <= maxkx; kx += provider->step){ gpointer key = provider->hash_func(kx, ky, ci); GHashTable *hash = provider->hashes[ci]; struct zbinbuf *zbb = (struct zbinbuf *)g_hash_table_lookup(hash, key); //dbg("kx=%d \tky=%d\n", kx, ky); if (zbb == NULL) continue; for (i = 0; i <= zbb->len - (int)sizeof(struct rain_km); i += sizeof(struct rain_km)){ struct rain_km *km = (struct rain_km *)(zbb->buf + i); km2px_d(sw, km->kx1, km->ky1, &px1, &py1); km2px_d(sw, km->kx2, km->ky2, &px2, &py2); km2px_d(sw, km->kx3, km->ky3, &px3, &py3); km2px_d(sw, km->kx4, km->ky4, &px4, &py4); z_triangle(sw->screen, px1, py1, px3, py3, px2, py2, c); z_triangle(sw->screen, px3, py3, px2, py2, px4, py4, c); } } } if (ci == 0){ // borders for (iy = provider->top; iy <= provider->img->h && iy <= provider->bottom + 1; iy++){ ww1 = provider->w1 + (iy - provider->wpx1) * provider->wmult; hh1 = provider->h1 + (provider->left - provider->hpx1) * provider->hmult; hh2 = provider->h1 + (provider->right + 1 - provider->hpx1) * provider->hmult; hw2km(gses->myh, gses->myw, hh1, ww1, &kx, &ky); km2px(sw, kx, ky, &px1, &py1); hw2km(gses->myh, gses->myw, hh2, ww1, &kx, &ky); km2px(sw, kx, ky, &px2, &py2); if (iy > provider->top){ z_line(sw->screen, px3, py3, px1, py1, provider->pal[2]); z_line(sw->screen, px4, py4, px2, py2, provider->pal[2]); } px3 = px1; py3 = py1; px4 = px2; py4 = py2; } for (ix = provider->left; ix <= provider->img->w && ix <= provider->right + 1; ix++){ hh1 = provider->h1 + (ix - provider->hpx1) * provider->hmult; ww1 = provider->w1 + (provider->top - provider->wpx1) * provider->wmult; ww2 = provider->w1 + (provider->bottom + 1 - provider->wpx1) * provider->wmult; hw2km(gses->myh, gses->myw, hh1, ww1, &kx, &ky); km2px(sw, kx, ky, &px1, &py1); hw2km(gses->myh, gses->myw, hh1, ww2, &kx, &ky); km2px(sw, kx, ky, &px2, &py2); if (ix > provider->left){ z_line(sw->screen, px3, py3, px1, py1, provider->pal[2]); z_line(sw->screen, px4, py4, px2, py2, provider->pal[2]); } px3 = px1; py3 = py1; px4 = px2; py4 = py2; } } } } void plot_rain_title(SDL_Surface *surface, SDL_Rect *area, int flags, struct rain_provider *provider, int *y){ int x = area->x + 2, c; if (!provider || !provider->title) return; if (provider->pal == provider->rain->colors) c = sdl->gr[11]; else c = z_makecol(252, 0, 0); zsdl_printf(surface, x, *y, c, 0, ZFONT_TRANSP | ZFONT_OUTLINE, provider->title); *y -= zsdl->font_h; } void plot_rain_titles(SDL_Surface *surface, SDL_Rect *area, int flags){ int y = area->y + area->h - zsdl->font_h - 2; if (!grain) return; plot_rain_title(surface, area, flags, grain->chmi, &y); plot_rain_title(surface, area, flags, grain->wetteronline, &y); plot_rain_title(surface, area, flags, grain->meteox, &y); plot_rain_title(surface, area, flags, grain->weatheronline, &y); plot_rain_title(surface, area, flags, grain->rainviewer, &y); } void sw_map_redraw(struct subwin *sw, struct band *band, int flags){ struct qso *odx; if (!sdl || !sw->screen) return; //dbg("sw_map_redraw(gdirty=%d)\n", sw->gdirty); //SDL_FillRect(sw->screen, NULL, 0); //z_linea(sw->screen, 0, 0, 10, 13, z_makecol(255, 255, 255)); fill_area(sw->x, sw->y, sw->w, sw->h, 0); //return; if (!sw->gdirty) return; sw->gdirty=0; //ST_START; sw_map_redraw_rect(sw, &sw->map, band, flags); if ((flags & HTML_FOR_PHOTO) && (odx = band->stats->odx) != NULL){ struct qso *oldminqso = sw->minqso; sw->minqso = odx; plot_qso(sw, sw->screen, band, odx); plot_info_qso(sw, sw->screen, odx); //plot_info_qrv(sw, sw->screen, band, NULL); //plot_info_ac(sw, sw->screen, NULL); plot_qrb_qth(sw, sw->screen, -1, -1); sw->minqso = oldminqso; return; } acs_redraw(sw, gacs); if (!gacs) plot_info_qso(sw, sw->screen, sw->minqso); // plot_info_qrv(sw, sw->screen, band, qrv_get(qrv, sw->minqrvcall)); plot_qrb_qth(sw, sw->screen, sdl->mouse_x, sdl->mouse_y); // ST_STOP; //plot_hgts(sw, &sw->map); } void sw_map_check_bounds(struct subwin *sw){ if (!sdl) return; if (!aband) return; } void sw_map_raise(struct subwin *sw){ sw->gdirty=1; map_recalc_gst(sw, aband); if (aband){ ac_update_tmpctp(aband->tmpqsos[0].locator); } } /* km -> pixels */ void km2px(struct subwin *sw, int kx, int ky, int *px, int *py){ /*double qrb = sqrt((double)kx*kx + ky*ky); double qtf = atan2((double)ky, (double)kx); qtf += rotace; kx = qrb * cos(qtf); ky = qrb * sin(qtf);*/ *px = sw->ox + (kx * sw->zoom)/10000; *py = sw->oy + (ky * sw->zoom)/10000; } void km2px_d(struct subwin *sw, double kx, double ky, int *px, int *py){ /*double qrb = sqrt(kx*kx + ky*ky); double qtf = atan2(ky, kx); qtf += rotace; kx = qrb * cos(qtf); ky = qrb * sin(qtf);*/ *px = sw->ox + (kx * sw->zoom)/10000; *py = sw->oy + (ky * sw->zoom)/10000; } /* pixels -> km */ void px2km(struct subwin *sw, int px, int py, int *kx, int *ky){ *kx = ((px - sw->ox) * 10000)/sw->zoom; *ky = ((py - sw->oy) * 10000)/sw->zoom; } void pxkm2o(struct subwin *sw, int px, int py, int kx, int ky, int *ox, int *oy){ *ox = px - (kx * sw->zoom)/10000; *oy = py - (ky * sw->zoom)/10000; } static int dashcnt; static void dashfce(SDL_Surface *surface, int x, int y, int d) { if (dashcnt++%6<3) return; z_putpixel(surface, x, y, d); } void plot_cor(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area, int flags){ gpointer key; int ikx, iky, px, py, kx, ky, oldpx=0, oldpy=0, c, color=0, i; struct kmarray *kma; struct kmpoint *kmp; int minkx, minky, maxkx, maxky; if (sw->zoom == 0) zinternal("sw->zoom==0! sw->title='%s'", sw->title); /* ST_START; */ // rect2(surface,area, 0x000080); px2km(sw, area->x, area->y, &minkx, &minky); px2km(sw, area->x+area->w-1, area->y+area->h-1, &maxkx, &maxky); /*px2km(sw, 0, 0, &minkx, &minky); px2km(sw, sw->screen->w, sw->screen->h, &maxkx, &maxky);*/ // dbg("\nplot_cor: area=%dx%x+%d+%d kx=%d..%d ky=%d..%d \n", area->x, area->y, area->w, area->h, minkx, maxkx, minky, maxky); minkx &= COR_KM_MASK; minky &= COR_KM_MASK; maxkx &= COR_KM_MASK; maxky &= COR_KM_MASK; if (minkxCOR_KM_MAX) maxkx=COR_KM_MAX; if (minkyCOR_KM_MAX) maxky=COR_KM_MAX; /* dbg("kx=%d-%d ky=%d-%d\n", minkx, maxkx, minky, maxky);*/ /* big wwls (JN69) */ for (iky=minky; iky<=maxky; iky+=COR_KM_STEP) for (ikx=minkx; ikx<=maxkx; ikx+=COR_KM_STEP){ km2px(sw, ikx, iky, &px, &py); key=k2key(ikx, iky); if (sw->zoom<1000){ kma=(struct kmarray*)g_hash_table_lookup(gcor->wwl2, key); }else{ kma=(struct kmarray*)g_hash_table_lookup(gcor->wwl4, key); } if (!kma) continue; for (i=0,kmp=kma->data;ilen;i++,kmp++){ kx=kmp->kx; ky=kmp->ky; km2px(sw, kx, ky, &px, &py); if ((signed char)kmp->c < 0) { oldpx = px; oldpy = py; switch((int)(signed char)kmp->c){ case -128: color=z_makecol(184, 159, 255); break; case -127: color=z_makecol(145, 125, 122); break; default: color=z_makecol(255, 159, 255); break; } continue; } c = color; if (z_overlapped_line(area, oldpx, oldpy, px, py)) z_line(surface, oldpx, oldpy, px, py, c); oldpx = px; oldpy = py; } } /*ST_STOP; */ /*ST_START; */ /* azimuth star lines */ if (!(flags & HTML_FOR_PHOTO) && sw->showlines){ for (iky=minky; iky<=maxky; iky+=COR_KM_STEP){ for (ikx=minkx; ikx<=maxkx; ikx+=COR_KM_STEP){ km2px(sw, ikx, iky, &px, &py); key=k2key(ikx, iky); kma = (struct kmarray*)g_hash_table_lookup(gcor->az, key); if (!kma) continue; for (i=0,kmp=kma->data;ilen;i++,kmp++){ kx=kmp->kx; ky=kmp->ky; km2px(sw, kx, ky, &px, &py); if ((signed char)kmp->c < 0) { oldpx = px; oldpy = py; switch((int)(signed char)kmp->c){ case -128: color=z_makecol(240, 128, 128); break; default: color=z_makecol(180, 128, 128); break; } continue; } c = color; if (z_overlapped_line(area, oldpx, oldpy, px, py)) z_line(surface, oldpx, oldpy, px, py, c); oldpx = px; oldpy = py; } } } } /* cor */ for (iky=minky; iky<=maxky; iky+=COR_KM_STEP) for (ikx=minkx; ikx<=maxkx; ikx+=COR_KM_STEP){ km2px(sw, ikx, iky, &px, &py); key=k2key(ikx, iky); kma=(struct kmarray*)g_hash_table_lookup(gcor->km, key); if (!kma) continue; for (i=0,kmp=kma->data;ilen;i++,kmp++){ kx=kmp->kx; ky=kmp->ky; km2px(sw, kx, ky, &px, &py); if ((signed char)kmp->c<0) { oldpx = px; oldpy = py; switch((int)(signed char)kmp->c){ case -128: /* coast */ color=z_makecol(0, 255, 255); break; case -127: /* isle */ color=z_makecol(0, 255, 255); break; case -126: /* lake */ color=z_makecol(0, 95, 195); break; case -125: /* border */ color=z_makecol(0, 255, 255); break; case -100: color=z_makecol(255,0,0); break; case -101: color=z_makecol(0,255,0); break; default: dbg("unknown char %d\n", (int)(signed char)kmp->c); return; break; } continue; } c = color; /* if (abs(oldpx-px) + abs(oldpy-py) < 100) */ if (oldpx!=px || oldpy!=py) z_line(surface, oldpx, oldpy, px, py, c); /* if (oldpx==px && oldpy==py) stejne++; else ruzne++;*/ oldpx = px; oldpy = py; } } /* dbg("stejne=%d ruzne=%d\n", stejne, ruzne);*/ /*ST_STOP; */ // zsdl_test_bars(surface, 0); } void plot_wkd_func(gpointer key, gpointer value, gpointer user_data){ GPtrArray *arr = (GPtrArray *)user_data; g_ptr_array_add(arr, key); } void plot_wkd_wwls(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area){ int i; GPtrArray *arr; int c = z_makecol(140, 0, 0); if (!aband) return; arr = g_ptr_array_new(); g_hash_table_foreach(aband->stats->wwls, plot_wkd_func, arr); for (i = 0; i < arr->len; i++){ double h0, w0, h, w; int kx, ky, j; //SDL_Rect r; int px[6], py[6]; char *wwl = (char*)g_ptr_array_index(arr, i); h0 = qth(wwl, 0); w0 = qth(wwl, 1); for (j = 0; j < 6; j++){ h = h0 + (j / 2) * M_PI/180.0; w = w0 + (j % 2) * M_PI/180.0; hw2km(gses->myh, gses->myw, h, w, &kx, &ky); km2px(sw, kx, ky, &px[j], &py[j]); } z_triangle_net(surface, c, 6, px[0], py[0], px[1], py[1], px[2], py[2], px[3], py[3], px[4], py[4], px[5], py[5]); } g_ptr_array_free(arr, TRUE); } void plot_qth(struct subwin *sw, SDL_Rect *area){ int px, py; SDL_Rect r; km2px(sw, 0, 0, &px, &py); r.x = px - 5; r.y = py - 3; r.w = sdl->mast->w; r.h = sdl->mast->h; /*z_line(sw->l1map, px - 100, py, px + 100, py, sdl->gr[15]); z_line(sw->l1map, px, py - 100, px, py + 100, sdl->gr[15]);*/ SDL_BlitSurface(sdl->mast, NULL, sw->screen, &r); } void plot_qrv(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qrv_item *qi){ int kx, ky, px, py, color1, color2; SDL_Rect outline; outline.w=3; outline.h=3; kx = qi->kx; ky = qi->ky; km2px(sw, kx, ky, &px, &py); outline.x = px - 1; outline.y = py - 1; if (!z_overlapped_rect(&surface->clip_rect, &outline)) { // dbg("clipped qi\n"); return; } //dbg("kreslim qi %s [%d,%d]\n", qi->call, qi->kx, qi->ky); //dbg("q->call=%s sw->minqrvcall=%s\n", qi->call, sw->minqrvcall); /*if (sw->minqrvcall && strcmp(qi->call, sw->minqrvcall) == 0){ color1=z_makecol(193, 21, 107); color2=z_makecol(121, 13, 67); }else*/{ if (qi->wkd[band->bi] > 0){ color1=z_makecol(21, 193, 106); color2=z_makecol(13, 121, 66); }else{ color1=z_makecol(107, 107, 107); color2=z_makecol(67, 67, 67); } } z_pip(surface, px, py, color1, color2, sw->zoom); } void plot_qrvs(struct subwin *sw, SDL_Surface *surface, struct band *band, SDL_Rect *area){ int skip; int i; if (!qrv) return; if (!band) return; for (i = 0; i < qrv->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item*)g_ptr_array_index(qrv->qrvs, i); skip = qrv_skip(qi, band->bi, 1); // dbg("plot_qrvs('%s') skip=%d, bands=%d, wkd=%d\n", qi->call, skip, qi->bands_qrv, qi->bands_wkd); if (skip) continue; plot_qrv(sw, surface, band, qi); } } void plot_gst(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area, double gst[360], int c){ int i,ii, x, y, oldx=0,oldy=0; double rad, r; if (sw->map.w > sw->map.h) r = sw->map.h / 2.3; else r = sw->map.w / 2.3; for (i=-1; i<360;i++) { ii = i>=0 ? i : 359; rad = M_PI * (double)(i - 90) / 180.0; x = (int)(sw->ox + r * gst[ii] * cos(rad)); y = (int)(sw->oy + r * gst[ii] * sin(rad)); if (i >= 0){ //if (overlapped_line(area, oldx, oldy, x, y)) z_line(surface, oldx, oldy, x, y, c); } oldx=x; oldy=y; } } void plot_qso(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qso *qso){ int kx, ky, px, py, color; SDL_Rect outline; outline.w=9; outline.h=9; kx = qso->kx; ky = qso->ky; km2px(sw, kx, ky, &px, &py); outline.x = px - 4; outline.y = py - 4; if (!z_overlapped_rect(&surface->clip_rect, &outline)) { /* dbg("clipped qso\n"); */ return; } /* dbg("kreslim qso\n"); */ color=qso==sw->minqso?sdl->red:sdl->yellow2; if (qso==&band->tmplocqso) { color=sdl->magenta; } z_cross(surface, px, py, color, sw->zoom); } void map_add_qso(struct qso *qso, struct band *band){ if (ctest && !ctest->wwlused) return; if (gses->ontop->type!=SWT_MAP) return; SDL_SetClipRect(gses->ontop->screen, &gses->ontop->map); plot_qso(gses->ontop, gses->ontop->screen, band, qso); } void plot_qsos(struct subwin *sw, SDL_Surface *surface, struct band *band, SDL_Rect *area){ int i; struct qso *qso; if (!band) return; for (i=0;iqsos->len;i++){ qso=(struct qso*)g_ptr_array_index(band->qsos, i); if (qso->error) continue; plot_qso(sw, surface, band, qso); } } void plot_rotars(struct subwin *sw, SDL_Surface *surface, SDL_Rect *area, SDL_Rect *outarea){ struct rotar *rot; int i; double rad,r; int vx,vy,vx1,vy1,vx2,vy2; if (sw->map.w > sw->map.h) r = sw->map.h / 2.3; else r = sw->map.w / 2.3; outarea->x = (int)(sw->ox - r); outarea->y = (int)(sw->oy - r); outarea->w = (int)(2 * r + 1); outarea->h = (int)(2 * r + 1); /* for (i=0; i<16; i++){ SDL_Rect q; q.x = sw->ox-20; q.y = sw->oy-r+i*10; q.w = 20; q.h = 10; SDL_FillRect(surface, &q, sdl->termcol[i]); }*/ MUTEX_LOCK(rotars); for (i=0; ilen; i++){ rot = (struct rotar *)g_ptr_array_index(rotars, i); rad = M_PI * (double)(rot->qtf - 90) / 180.0; vx = (int)(sw->ox + r * cos(rad)); vy = (int)(sw->oy + r * sin(rad)); vx1 = (int)(sw->ox + 0.95 * r * cos(rad + 0.02)); vy1 = (int)(sw->oy + 0.95 * r * sin(rad + 0.02)); vx2 = (int)(sw->ox + 0.95 * r * cos(rad - 0.02)); vy2 = (int)(sw->oy + 0.95 * r * sin(rad - 0.02)); z_line(surface, sw->ox, sw->oy, vx, vy, rot->color); z_triangle(surface, vx, vy, vx1, vy1, vx2, vy2, rot->color); if (rot->beamwidth<=0) continue; rad = M_PI * (double)(rot->qtf - 90 + rot->beamwidth / 2) / 180.0; vx1 = (int)(sw->ox + 0.9 * r * cos(rad)); vy1 = (int)(sw->oy + 0.9 * r * sin(rad)); dashcnt=0; z_do_line(surface, sw->ox, sw->oy, vx1, vy1, rot->color, dashfce); rad = M_PI * (double)(rot->qtf - 90 - rot->beamwidth / 2) / 180.0; vx2 = (int)(sw->ox + 0.9 * r * cos(rad)); vy2 = (int)(sw->oy + 0.9 * r * sin(rad)); dashcnt=0; z_do_line(surface, sw->ox, sw->oy, vx2, vy2, rot->color, dashfce); z_do_line(surface, vx1, vy1, vx2, vy2, rot->color, dashfce); } MUTEX_UNLOCK(rotars); } void map_update_layout(struct subwin *sw){ /* dbg("map_update_layout\n");*/ sw->map.x = 0; sw->map.y = 0; sw->map.w = sw->w * FONT_W - INFO_W; sw->map.h = sw->h * FONT_H; sw->info.x = sw->w * FONT_W - INFO_W; sw->info.y = 0; sw->info.w = INFO_W; sw->info.h = sw->h * FONT_H; } int map_update_qth(struct subwin *sw){ gchar *pwwlo; // dbg("map_update_qth\n"); if (!sdl) return 0; if (ctest && ctest->pwwlo) { pwwlo=ctest->pwwlo; }else{ pwwlo = cfg->pwwlo; } if (!pwwlo) zinternal("Undefined locator"); if (sw->pwwlo && strcmp(sw->pwwlo, pwwlo)==0) { /*dbg("map_update_qth(%s (same) )\n", sw->pwwlo);*/ return 0; } zg_free0(sw->pwwlo); sw->pwwlo = g_strdup(pwwlo); /*dbg("map_update_qth(%s)\n", sw->pwwlo);*/ sw->ox=sw->map.w/2; sw->oy=sw->map.h/2; zcors_recalc(gses->myh, gses->myw, sw->pwwlo, zsel, map_cor_callback, cor_tucnakcor, COR_ITEMS); acs_update_qth(gacs); return 1; } int maps_reload(){ int i; struct subwin *sw=NULL; if (!sdl) return 0; /*dbg("maps_reload\n");*/ for (i=0;isubwins->len;i++){ sw=(struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->type!=SWT_MAP && sw->type != SWT_KST) continue; sw->gdirty=1; sw->minqso=NULL; // zg_free0(sw->minqrvcall); map_update_qth(sw); } // next in map_cor_callback return 0; } int maps_update_showwwls(){ int i; struct subwin *sw; if (!sdl) return 0; for (i=0;isubwins->len;i++){ sw=(struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->type!=SWT_MAP && sw->type != SWT_KST) continue; sw->showwwls = ctest != NULL && ctest->wwlmult > 0; sw->gdirty=1; } return 0; } void map_clear_qso(struct qso *qso, struct band *band){ int kx, ky, px, py; SDL_Rect outline; struct subwin *sw; if (!sdl) return; if (ctest && !ctest->wwlused) return; if (gses->ontop->type!=SWT_MAP) goto x; if (!qso->locator || !*qso->locator) goto x; sw = gses->ontop; kx = qso->kx; ky = qso->ky; km2px(sw, kx, ky, &px, &py); outline.x = px - 4; outline.y = py - 4; outline.w = 9; outline.h = 9; if (!z_overlapped_rect(&sw->map, &outline)) goto x; sw_map_redraw_rect(sw, &outline, band, 0); x:; if (qso==&band->tmplocqso) zg_free0(qso->locator); } void map_recalc_cors(){ int i; struct subwin *sw; char *wwl = ctest ? ctest->pwwlo : cfg->pwwlo; for (i=0;isubwins->len;i++){ sw=(struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->type!=SWT_MAP) continue; //zcors_recalc(sw->myh, sw->myw, wwl, zsel, map_cor_callback, cor_tucnakcor, COR_ITEMS); zcors_recalc(gses->myh, gses->myw, wwl, NULL, NULL, cor_tucnakcor, COR_ITEMS); break; /* more maps with different pwwlo. but why? */ } } struct qso *find_nearest_qso(struct band *b, int mouse_x, int mouse_y){ int i; struct qso *minq, *q; gdouble d, min; int px, py, kx, ky; struct subwin *sw; if (!b) return NULL; sw=gses->ontop; if (sw->type!=SWT_MAP) return NULL; px=mouse_x-sw->x*FONT_W; py=mouse_y-sw->y*FONT_H; px2km(sw, px, py, &kx, &ky); min=G_MAXDOUBLE; minq=NULL; for (i=0; iqsos->len; i++){ q = (struct qso *)g_ptr_array_index(b->qsos, i); if (q->error) continue; /*compute_cache(q); */ d = sqrt((double)(sqr(q->kx-kx)+sqr(q->ky-ky))); /* dbg(" %s %d %d %6.3f\n", q->callsign, q->gfx_x-mouse_x, q->gfx_y-mouse_y, d);*/ if (dcallsign, minq->locator); else dbg("nearest: NULL\n"); */ return minq; } gchar *find_nearest_qrv(struct qrvdb *qrvdb, struct band *band, int mouse_x, int mouse_y){ struct qrv_item *minqrv; gdouble d, min; int px, py, kx, ky; struct subwin *sw; int i; if (!qrvdb) return NULL; if (!band) return NULL; sw=gses->ontop; if (sw->type!=SWT_MAP) return NULL; px=mouse_x-sw->x*FONT_W; py=mouse_y-sw->y*FONT_H; px2km(sw, px, py, &kx, &ky); min=G_MAXDOUBLE; minqrv=NULL; for (i = 0; i < qrvdb->qrvs->len; i++){ struct qrv_item *qi = (struct qrv_item*)g_ptr_array_index(qrvdb->qrvs, i); if (qrv_skip(qi, band->bi, 0)) continue; /*compute_cache(q); */ d = sqrt((double)(sqr(qi->kx-kx)+sqr(qi->ky-ky))); //dbg(" %s %d %d %6.3f\n", q->call, q->kx-kx, q->ky-ky, d); if (dcall, minqrv->wwl); // else dbg("nearest_qrv: NULL\n"); if (!minqrv) return NULL; return minqrv->call; } void plot_nearest_qso(struct subwin *sw, struct band *band){ struct qso *oldminqso; if (!sdl) return; oldminqso=sw->minqso; sw->minqso=find_nearest_qso(band, sdl->mouse_x, sdl->mouse_y); /*dbg("sw->minq=%s oldminq=%s\n", sw->minq->callsign, oldminq->callsign); */ if (sw->minqso==oldminqso) return; /* dbg("minq changed %s->%s\n", oldminq->locator, sw->minq->locator); */ SDL_SetClipRect(sw->screen, &sw->map); /* dbg("clip_rect %dx%d%+d%+d\n", surface->clip_rect.x, surface->clip_rect.y, surface->clip_rect.w, surface->clip_rect.h); */ if (oldminqso) plot_qso(sw, sw->screen, band, oldminqso); if (sw->minqso) { plot_qso(sw, sw->screen, band, sw->minqso); plot_info_qso(sw, sw->screen, sw->minqso); }else{ plot_info_qso(sw, sw->screen, NULL); } } /*void plot_nearest_qrv(struct subwin *sw, struct band *band){ gchar *minqrvcall, *oldminqrvcall; if (!sdl) return; minqrvcall=find_nearest_qrv(qrv, band, sdl->mouse_x, sdl->mouse_y); if (!minqrvcall) return; //dbg("sw->minqrv=%s oldminqrv=%s\n", sw->minqrv->call, oldminqrv->call); if (sw->minqrvcall && strcmp(minqrvcall, sw->minqrvcall)==0) return; SDL_SetClipRect(sw->screen, &sw->map); oldminqrvcall = sw->minqrvcall; sw->minqrvcall = g_strdup(minqrvcall); if (oldminqrvcall) plot_qrv(sw, sw->screen, band, qrv_get(qrv, oldminqrvcall)); zg_free0(oldminqrvcall); if (minqrvcall) { struct qrv_item *qi = qrv_get(qrv, minqrvcall); plot_qrv(sw, sw->screen, band, qi); plot_info_qrv(sw, sw->screen, band, qi); }else{ plot_info_qrv(sw, sw->screen, band, NULL); } } */ void plot_info_qso(struct subwin *sw, SDL_Surface *surface, struct qso *qso){ char s[10]; int x,y; SDL_Rect rect; //dbg("plot_info_qso('%s')\n", qso ? qso->callsign : ""); rect.x=sw->info.x; // same as plot_info_ac rect.y=sw->info.y; rect.w=sw->info.w; rect.h=sw->info.y+(11*FONT_H)+12; SDL_SetClipRect(surface, &rect); SDL_FillRect(surface, &rect, z_makecol(0,0,35)) ; if (!qso) return; x=sw->info.x+4; y=sw->info.y+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GCALL), q0(qso->callsign)); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GWWL), q0(qso->locator)); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GQRB), (int)qso->qrb); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GQTF), qso->qtf); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GSEN), q0(qso->rsts), q0(qso->qsonrs)); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GRCV), q0(qso->rstr), q0(qso->qsonrr)); y+=FONT_H+4; strcpy(s,qso->time_str); s[5]=s[4]; s[4]=s[3]; s[3]=s[2]; s[2]=':'; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GTIM), s); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GOPE), q0(qso->operator_)); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GREM), q0(qso->remark)); y+=FONT_H+4; return; } /*void plot_info_qrv(struct subwin *sw, SDL_Surface *surface, struct band *band, struct qrv_item *qi){ int x,y; SDL_Rect rect; int color; //char s[256]; // dbg("plot_info_qrv(%s)\n", qrv?qrv->call:"-"); x=sw->info.x+4; y=sw->info.y+4+18*FONT_H; rect.x=sw->info.x; rect.y=y; rect.w=sw->info.w; rect.h=sw->y - y; SDL_SetClipRect(surface, &rect); SDL_FillRect(surface, &rect, z_makecol(0,0,35)) ; if (!qi) return; color=z_makecol(21, 193, 106); zsdl_printf(surface, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_GCALL), q0(qi->call)); y+=FONT_H+4; zsdl_printf(surface, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_GWWL), q0(qi->wwl)); y+=FONT_H+4; zsdl_printf(surface, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_GREM), q0(qi->text)); y+=FONT_H+4; if (!band) return; zsdl_printf(surface, x, y, color, 0, ZFONT_TRANSP, VTEXT(T_GWKD), qi->wkd[band->bi]); y+=FONT_H+4; return; }*/ int plot_qrb_qth(struct subwin *sw, SDL_Surface *surface, int mouse_x, int mouse_y){ double qrb,qtf, h2, w2; SDL_Rect rect; char buf[100]; int x, y, kx, ky; char *sss; x=sw->info.x+4; y=sw->info.y+(11*FONT_H)+12; /* dbg("plot_qtb_qtf\n");*/ rect.x=sw->info.x; rect.y=y; rect.w=sw->info.w; rect.h=6 * FONT_H + 8 ; px2km(sw, mouse_x - sw->x*FONT_W, mouse_y - sw->y*FONT_H, &kx, &ky); km2qrbqtf(kx, ky, &qrb, &qtf); SDL_SetClipRect(surface, &rect); /* SDL_FillRect(surface, &sw->info, z_makecol(0,0,175)) ; */ SDL_FillRect(surface, &rect, z_makecol(0,0,35)) ; if (mouse_x < 0) return 0; sss = VTEXT(T_GQRB); //dbg("plot_qtb_qtf sss='%s'\n", sss); zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, sss, (int)(qrb)); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GQTF), (int)(qtf*180/M_PI)); y+=FONT_H+4; /* fontoutf(surface, x, y, sdl->green, FONT_TRANSP, VTEXT(T_GINC), (int) (gst[(int)(qtf*180/M_PI)%360]/400*100));y+=FONT_H+4; */ #if -1 if (qrbqtf2hw(gses->myh, gses->myw, qrb, qtf, &h2, &w2) == 0){ zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GLON), h2*180.0/M_PI, x2gramin(buf, sizeof(buf), h2*180/M_PI, "EW")); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GLAT), w2*180.0/M_PI, x2gramin(buf, sizeof(buf), w2*180/M_PI, "NS")); y+=FONT_H+4; zsdl_printf(surface, x, y, sdl->green, 0, ZFONT_TRANSP, VTEXT(T_GLOC), hw2loc(buf, h2*180/M_PI, w2*180/M_PI, 6)); y+=FONT_H+4; } #else { int mx = mouse_x - sw->x*FONT_W; int my = mouse_y - sw->y*FONT_H; double dx = mx - 234; double dy = my + 280; double d = sqrt(dx * dx + dy * dy) / 12.6 - 5; double a = atan2(dy, dx); double w = 90 - d; double h = 90 - (a * 180 / M_PI) + 12; h *= 27.5 / 22.0; zsdl_printf(surface, x, y, sdl->gr[15], 0, ZFONT_TRANSP, "mxy %d %d", mx, my); y += FONT_H; zsdl_printf(surface, x, y, sdl->gr[15], 0, ZFONT_TRANSP, "dxy %4.2f %4.2f", dx, dy); y += FONT_H; zsdl_printf(surface, x, y, sdl->gr[15], 0, ZFONT_TRANSP, "da %4.2f %4.2f", d, a * 180 / M_PI); y += FONT_H; zsdl_printf(surface, x, y, sdl->gr[15], 0, ZFONT_TRANSP, "hw %4.2f %4.2f", h, w); y += FONT_H; //zsdl_printf(surface, x, y, sdl->gr[15], 0, ZFONT_TRANSP, "z %d", sw->zoom); y += FONT_H; } #endif return 0; } void map_for_photo(struct subwin *sw, struct band *band, int flags){ int i, minkx, minky, maxkx, maxky, px, py, lmx, lmy; int dx, dy; double z, z1, z2; char *wwl; if (!sdl) return; minkx = minky = 0; maxkx = maxky = 0; if (ctest && band && (flags & MAP_AC_INFO) == 0){ wwl = band->tmpqsos[0].locator; if (wwl && *wwl){ double qrb, qtf, qtfrad; qrbqtf(ctest->pwwlo, wwl, &qrb, &qtf, NULL, 2); qtfrad = qtf * M_PI / 180.0; minkx = maxkx = (int)( qrb * sin(qtfrad)); minky = maxky = (int)(- qrb * cos(qtfrad)); } } if (flags & MAP_AC_INFO){ double qrb, qtf, qtfrad; struct qso *q = &gacs->infolocqso; qrbqtf(ctest ? ctest->pwwlo : cfg->pwwlo, q->locator, &qrb, &qtf, NULL, 2); qtfrad = qtf * M_PI / 180.0; qtfrad = qtf * M_PI / 180.0; q->kx = (int)( qrb * sin(qtfrad)); q->ky = (int)(- qrb * cos(qtfrad)); if (q->kx < minkx) minkx = q->kx; if (q->ky < minky) minky = q->ky; if (q->kx > maxkx) maxkx = q->kx; if (q->ky > maxky) maxky = q->ky; } if (band && (flags & MAP_AC_INFO) == 0){ for (i=0; iqsos->len; i++){ struct qso *q = (struct qso *)g_ptr_array_index(band->qsos, i); if (q->error) continue; if (q->kx < minkx) minkx = q->kx; if (q->ky < minky) minky = q->ky; if (q->kx > maxkx) maxkx = q->kx; if (q->ky > maxky) maxky = q->ky; } } if (minkx == maxkx || minky == maxky) { //dbg("minkx=%d maxkx=%d\n", minkx, maxkx); sw->ox = sw->map.w/2; sw->oy = sw->map.h/2; return; // no qso } // dbg("x=%d..%d y=%d..%d prumer x=%d y=%d\n", minkx, maxkx, minky, maxky, (maxkx+minkx)/2, (maxky+minky)/2); km2px(sw, (maxkx+minkx)/2, (maxky+minky)/2, &px, &py); dx = sw->map.w/2 - px; dy = sw->map.h/2 - py; // dbg("px=%d py=%d map/2=%d %d sw->ox=%d sw->oy=%d dx=%d dy=%d\n", px, py, sw->map.w/2, sw->map.h/2, sw->ox, sw->oy, dx, dy); sw->ox += dx; sw->oy += dy; move_map(sw, band, dx, dy); //px = sw->map.x + 10; //py = sw->map.y + 10; // px2km(sw, px, py, &kx, &ky); z1 = ((sw->map.w - 20) * 10000.0) / (maxkx - minkx); z2 = ((sw->map.h - 20) * 10000.0) / (maxky - minky); z = z1 < z2 ? z1 : z2; // dbg("kx=%d %d px=%d %d %d %d %d\n", kx, ky, px, py, (int)z1, (int)z2, (int)z); lmx = sw->map.w/2;//sw->x * FONT_W + sw->screen->w/2; lmy = sw->map.h/2;//sw->y * FONT_H + sw->screen->h/2; zoom(sw, z/sw->zoom, lmx, lmy); } void map_recalc_gst(struct subwin *sw, struct band *band){ int i, j; int qtf2; double max; sw->beamwidth = rot_beamwidth();// / 2; for (i=0;i<=180;i++){ sw->antchar[i]=cos(M_PI/180.0*(double)i*120.0/sw->beamwidth); /* dbg("i=%3d %5.3f\n", i, antchar[i]);*/ if (sw->antchar[i]<=0) break; } for (;i<=180;i++) sw->antchar[i]=0; for (i=0; i<360; i++) sw->gst[i]=0.0; if (!band) return; for (i = 0; i < band->qsos->len; i++){ struct qso *q = (struct qso *)z_ptr_array_index(band->qsos, i); if (q->qtf<0 || q->qtf>=360) continue; for (j=0;j<=180;j++){ qtf2 = q->qtf + j; if (sw->antchar[j] == 0) break; if (qtf2<0) qtf2 += 360; sw->gst[qtf2%360] += q->qrb * sw->antchar[j]; } for (j=1;j<180;j++){ qtf2 = q->qtf - j; if (sw->antchar[j] == 0) break; if (qtf2<0) qtf2 += 360; sw->gst[qtf2%360] += q->qrb * sw->antchar[j]; } } max = 0; for (i=0; i<360; i++) if (sw->gst[i] > max) max = sw->gst[i]; if (!max) return; for (i=0; i<360; i++) sw->gst[i] = sw->gst[i] / max; } void plot_hgt(struct subwin *sw, SDL_Rect *area, int xx, int yy, char *file) { char s[256]; FILE *f; int x, y, max = -10000, min = 10000, c; strcpy(s, "../src/"); strcat(s, file); z_wokna(s); f = fopen(s, "rb"); if (f){ signed short u; for (x = 0; x <= 1201; x++){ for (y = 0; y <= 1201; y++){ if (fread(&u, sizeof(u), 1, f) != 1) break; u = ntohs(u); if (u == -32768) continue; if (u < min) min = u; if (u > max) max = u; } } fclose(f); } SDL_SetClipRect(sw->screen, &sw->map); f = fopen(s, "rb"); if (f){ signed short u; for (y = 0; y <= 1200; y++){ for (x = 0; x <= 1200; x++){ if (fread(&u, sizeof(u), 1, f) != 1) break; u = ntohs(u); if (u == -32768) { z_putpixel(sw->screen, xx + x/2 + area->x, yy + y/2 + area->y, z_makecol(0, 50, 100)); }else{ c = (u - min) * 255 / (max - min); z_putpixel(sw->screen, xx + x/2 + area->x, yy + y/2 + area->y, z_makecol(c, c, c)); } } } fclose(f); } } void plot_hgts(struct subwin *sw, SDL_Rect *area){ plot_hgt(sw, area, 0, 0, "N50E012.hgt"); plot_hgt(sw, area, 600, 0, "N50E013.hgt"); plot_hgt(sw, area, 0, 600, "N49E012.hgt"); plot_hgt(sw, area, 600, 600, "N49E013.hgt"); } void map_cor_callback(void) { if (!gses) return; if (gses && gses->ontop && gses->ontop->type == SWT_MAP) { gses->ontop->gdirty = 1; qrv_recalc_wkd(qrv); qrv_recalc_qrbqtf(qrv); qrv_recalc_gst(qrv); map_recalc_gst(gses->ontop, aband); sw_map_redraw(gses->ontop, aband, 0); } } #else int sw_map_kbd_func(struct subwin *sw, struct event *ev, int fw){ return 0; } int sw_map_mouse_func(struct subwin *sw, struct event *ev, int fw){ return 0; } void sw_map_redraw(struct subwin *sw, struct band *band, int flags){ } void sw_map_check_bounds(struct subwin *sw){ } void sw_map_raise(struct subwin *sw){ } int maps_reload(){ return 0; } void map_clear_qso(struct qso *qso, struct band *band){ } void map_add_qso(struct qso *qso, struct band *band){ } int maps_update_showwwls(){ } #endif tucnak-4.32/src/trig.c0000644000175000017500000005525014114415527011563 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "dxc.h" #include "fifo.h" #include "language2.h" #include "main.h" #include "qsodb.h" #include "rc.h" #include "terminal.h" #include "trig.h" #include "tsdl.h" #include "zstring.h" #define NOTHING 1 static int rigerr = NOTHING; #ifdef __GNUC__ #define TRTR(thr, m...) if (cfg->trace_rig >= (thr ? 2 : 1)){ \ GString *gs = g_string_new("RIG: "); \ if (thr) g_string_append(gs, " "); \ g_string_append_printf(gs, m); \ if (rigerr != NOTHING) g_string_append_printf(gs, ": %s", trig_short_errstr(rigerr)); \ trace(1, "%s", gs->str); \ g_string_free(gs, TRUE); \ } #else #define TRTR(thr, m, ...) if (cfg->trace_rig >= (thr ? 2 : 1)){ \ GString *gs = g_string_new("RIG"); \ if (thr) g_string_append(gs, " "); \ g_string_append_printf(gs, m, __VA_ARGS__); \ if (rigerr != NOTHING) g_string_append_printf(gs, ": %s", trig_short_errstr((enum rig_errcode_e)rigerr)); \ trace(1, "%s", gs->str); \ g_string_free(gs, TRUE); \ } #endif // ---------------- config_rig functions struct config_rig *get_config_rig_by_number(GPtrArray *crigs, int nr){ struct config_rig *crig; int i; for (i=0; icrigs->len; i++){ crig = (struct config_rig *)g_ptr_array_index(crigs, i); if (crig->nr==nr) return crig; } return NULL; } #ifdef HAVE_HAMLIB struct trig *get_trig_by_number(struct trigs *trigs, int nr){ struct trig *trig; int i; for (i=0; itrigs->len; i++){ trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); if (trig->nr==nr) return trig; } return NULL; } struct trigs *gtrigs; ZPtrArray *riglist = NULL; //static int rig_load_all_backends_called = 0; // ---------------- trigs functions void init_trigs(void){ int i, verbose = 0; gtrigs = g_new0(struct trigs, 1); gtrigs->qrg = 0.0; gtrigs->rit = 0; gtrigs->trigs = g_ptr_array_new(); gtrigs->split_vfo = RIG_VFO_MAIN; for (i = 0; i < cfg->crigs->len; i++){ struct config_rig *crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); if (!crig->rig_enabled) continue; verbose |= crig->rig_verbose; } if (verbose) rig_set_debug(RIG_DEBUG_TRACE); else rig_set_debug(RIG_DEBUG_NONE); if (!riglist){ riglist = z_ptr_array_new(); //if (!rig_load_all_backends_called){ rig_load_all_backends(); // rig_load_all_backends_called = 1; //} rig_list_foreach(trig_save_riglist, riglist); z_ptr_array_qsort(riglist, trig_compare); #if 0 for (i=0; ilen; i++){ struct rig_caps *caps = (struct rig_caps *)z_ptr_array_index(riglist, i); dbg("%4d %4d %-20s %s\n", i, caps->rig_model, caps->mfg_name, caps->model_name); } dbg("X\n"); #endif } for (i = 0; i < cfg->crigs->len; i++){ struct trig *trig; struct config_rig *crig = (struct config_rig *)g_ptr_array_index(cfg->crigs, i); if (!crig->rig_enabled) continue; trig = init_trig(crig); if (trig != NULL) g_ptr_array_add(gtrigs->trigs, trig); } } void free_trigs(struct trigs *trigs){ int i; if (riglist){ z_ptr_array_free(riglist, TRUE); } riglist = NULL; for (i = 0; i < trigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); free_trig(trig); } g_ptr_array_free(trigs->trigs, 1); g_free(trigs); } void trigs_read_handler(struct trigs *trigs, int n, char **items){ char *cmd; int rignr; struct trig *trig; rignr = atoi(items[1]); cmd = items[2]; dbg("trig_read_handler nr=%d cmd='%s'\n", rignr, cmd); trig = get_trig_by_number(trigs, rignr); if (strcmp(cmd, "!")==0){ /* error */ log_addf("Rig %d error: %s", rignr, items[3]); TRTR(0, "#%d: Rig error: %s", rignr, items[3]); if (trig != NULL){ g_ptr_array_remove(trigs->trigs, trig); free_trig(trig); } progress(NULL); goto x; } if (!trig){ // dbg("Unknown rig nr=%d", rignr); TRTR(0, "#%d: Unknown rig nr", rignr); goto x; } if (strcasecmp(cmd, "qrg")==0){ double freq, lo; struct band *b; struct config_rig *crig = get_config_rig_by_number(cfg->crigs, rignr); freq = atof(items[3]); lo = get_rig_lo(aband, rignr); trigs->qrg = freq + lo; TRTR(0, "#%d: New qrg %8.3f = %8.3f + %8.3f", rignr, trigs->qrg/1000000.0, freq/1000000.0, lo/1000000.0); b = find_band_by_qrg(trigs->qrg); if (b) { b->qrg = trigs->qrg; // TRTR(0, "#%d: set %s->qrg = %8.3f", rignr, b->bandname, b->qrg / 1000000.0); } if (aband && crig){ if (trigs->qrg < aband->qrg_min * 1000.0 || trigs->qrg > aband->qrg_max * 1000.0){ if (crig->rig_qrg_r2t){ if (b) activate_band(b); } } } trigs_set_qrg_except(trigs, rignr, trigs->qrg); dxc_qrg_changed(trigs->qrg); }else if (strcasecmp(cmd, "rit")==0){ trigs->rit = atol(items[3]); //dbg("get_rig(#%d)=%ld\n", rignr, trigs->rit); TRTR(0, "#%d: New rit %ld", rignr, trigs->rit); trigs_set_rit_except(trigs, rignr, trigs->rit); }else { TRTR(0, "#%d: Unknown command cmd", rignr); } x:; redraw_later(); } void trigs_set_qrg(struct trigs *trigs, double qrg){ int i; for (i = 0; i < trigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); trig_set_qrg(trig, qrg); } } void trigs_set_qrg_except(struct trigs *trigs, int except_rigr, double qrg){ int i; for (i = 0; i < trigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); if (trig->nr == except_rigr) continue; trig_set_qrg(trig, qrg); } } void trigs_set_rit_except(struct trigs *trigs, int except_rigr, double rit){ int i; for (i = 0; i < trigs->trigs->len; i++){ struct trig *trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); if (trig->nr == except_rigr) continue; trig_set_rit(trig, rit); } } // rignr == -1 -> resend all trigs void trigs_resend_freq(struct trigs *trigs, int rignr){ int i; for (i = 0; i < trigs->trigs->len; i++){ struct trig *trig; if (rignr >= 0 && i != rignr) continue; trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); trig_resend_freq(trig); } } void trigs_set_ptt(struct trigs *trigs, int ptt){ int i; if (trigs == NULL) return; for (i = 0; i < trigs->trigs->len; i++){ struct trig *trig; trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); if (trig->ptt_t2r != 0) { trig_set_ptt(trig, ptt ? trig->ptt_t2r : RIG_PTT_OFF); } } } void trigs_toggle_split_vfo(struct trigs *trigs){ int i; if (trigs == NULL) return; // parameters obtained experimentally on IC-7610 if (gtrigs->split_vfo == RIG_VFO_MAIN) { gtrigs->split_vfo = RIG_VFO_SUB; } else{ gtrigs->split_vfo = RIG_VFO_MAIN; } TRTR(0, "trigs_toggle_split_vfo split_vfo=%s", gtrigs->split_vfo == RIG_VFO_MAIN ? "MAIN" : "SUB"); for (i = 0; i < trigs->trigs->len; i++){ struct trig *trig; trig = (struct trig *)g_ptr_array_index(trigs->trigs, i); trig_toggle_split_vfo(trig); } } // ---------------- trig functions struct trig *init_trig(struct config_rig *crig){ struct trig *trig; int ret; RIG *tmprig; enum rig_port_e rp = RIG_PORT_NONE; progress(VTEXT(T_INIT_RIG), crig->nr); TRTR(0, "#%d: init_trig, model=%d verbose=%d", crig->nr, crig->rig_model, crig->rig_verbose); if (!crig->rig_model) return NULL; if (crig->rig_model != 1 && crig->rig_model != 2){ if (!crig->rig_filename || !*crig->rig_filename) return NULL; } trig = g_new0(struct trig, 1); trig->nr = crig->nr; trig->poll_ms = crig->rig_poll_ms; trig->model = crig->rig_model; trig->filename = g_strdup(crig->rig_filename); trig->speed = crig->rig_speed; trig->handshake_none = crig->rig_handshake_none; trig->qrg_t2r = crig->rig_qrg_t2r; trig->civaddr = crig->rig_civaddr; trig->mode_t2r = crig->rig_mode_t2r; trig->ssbcw_shift = crig->rig_ssbcw_shift; trig->clr_rit = crig->rig_clr_rit; trig->ptt_t2r = crig->rig_ptt_t2r; MUTEX_INIT(trig->jobs); tmprig = rig_init(crig->rig_model); if (tmprig){ rp = tmprig->state.rigport.type.rig; rig_cleanup(tmprig); } if (rp == RIG_PORT_SERIAL && cfg->nolocks == 0){ ret = zfhs_lock(trig->filename, 1); if (ret){ char *c = zfhs_strdup_error(ret, crig->rig_filename); log_addf(VTEXT(T_RIG_ERROR), c, crig->rig_filename); g_free(c); free_trig(trig); return NULL; } trig->locked = 1; } init_list(trig->jobs); trig->thread = g_thread_try_new("hamlib rig", trig_main, (gpointer)trig, NULL); if (!trig->thread) { log_addf(VTEXT(T_CANT_CREATE_RIG_THREAD)); g_free(trig); return NULL; } return trig; } void free_trig(struct trig *trig){ if (!trig) return; progress(VTEXT(T_FREE_RIG), trig->nr); if (trig->thread){ progress(VTEXT(T_WAIT_FOR_RIG_THR)); trig->thread_break = 1; dbg("join trig...\n"); g_thread_join(trig->thread); dbg("done\n"); trig->thread=0; } if (trig->rig){ rig_close(trig->rig); rig_cleanup(trig->rig); zg_free0(trig->filename); trig->rig = NULL; } if (trig->locked) zfhs_unlock(trig->filename); MUTEX_FREE(trig->jobs); g_free(trig); } void trig_set_mode(struct trig *trig, rmode_t mode){ struct trig_job *job; if (!trig) return; job = g_new0(struct trig_job, 1); job->cmd = TRIG_MODE; job->mode = mode; TRTR(0, "#%d: Set mode %s", trig->nr, rig_strrmode(mode)); trig_job_add(trig, job); } void trig_set_qrg(struct trig *trig, double qrg){ struct trig_job *job; double lo; if (!trig) return; job = g_new0(struct trig_job, 1); job->cmd = TRIG_FREQ; lo = get_rig_lo(aband, trig->nr); job->freq = qrg - lo; TRTR(0, "#%d: Set QRG %5.3f = %5.3f - %5.3f", trig->nr, job->freq / 1000000.0, qrg / 1000000.0, lo / 1000000.0); trig_job_add(trig, job); } void trig_set_mode_qrg(struct trig *trig, rmode_t mode, double qrg){ struct trig_job *job; double lo; if (!trig) return; job = g_new0(struct trig_job, 1); job->cmd = TRIG_MODE_FREQ; lo = get_rig_lo(aband, trig->nr); job->mode = mode; job->freq = qrg - lo; TRTR(0, "#%d: Set QRG %5.3f = %5.3f - %5.3f, mode %s", trig->nr, job->freq / 1000000.0, qrg / 1000000.0, lo / 1000000.0, rig_strrmode(mode)); trig_job_add(trig, job); } void trig_resend_freq(struct trig *trig){ struct trig_job *job; if (!trig) return; job = g_new0(struct trig_job, 1); job->cmd = TRIG_RESENDFREQ; TRTR(0, "#%d: Resend QRG", trig->nr); trig_job_add(trig, job); } void trig_set_rit(struct trig *trig, shortfreq_t rit){ struct trig_job *job; if (!trig) return; job = g_new0(struct trig_job, 1); job->cmd = TRIG_RIT; job->rit = rit; TRTR(0, "#%d: Set RIT %ld", trig->nr, rit); trig_job_add(trig, job); } void trig_set_ptt(struct trig *trig, ptt_t ptt){ struct trig_job *job; if (!trig) return; job = g_new0(struct trig_job, 1); job->cmd = TRIG_PTT; job->ptt = ptt; TRTR(0, "#%d: Set PTT %d", trig->nr, ptt); trig_job_add(trig, job); } void trig_toggle_split_vfo(struct trig *trig){ struct trig_job *job; //log_addf("trig_toggle_split_vfo trig=%p split_vfo=%d", trig, (int)gtrigs->split_vfo); if (!trig) return; job = g_new0(struct trig_job, 1); job->cmd = TRIG_TOGGLE_SPLIT_VFO; TRTR(0, "#%d: Split VFO %s", trig->nr, gtrigs->split_vfo == RIG_VFO_MAIN ? "MAIN" : "SUB"); trig_job_add(trig, job); } void trig_job_add(struct trig *trig, struct trig_job *job){ MUTEX_LOCK(trig->jobs); add_to_list(trig->jobs, job); MUTEX_UNLOCK(trig->jobs); } struct trig_job *trig_job_get(struct trig *trig){ struct trig_job *job; MUTEX_LOCK(trig->jobs); if (list_empty(trig->jobs)){ MUTEX_UNLOCK(trig->jobs); return NULL; } job = trig->jobs.prev; del_from_list(job); MUTEX_UNLOCK(trig->jobs); return job; } gpointer trig_main(gpointer xxx){ //int ret; freq_t freq, oldfreq; struct trig *trig; shortfreq_t rit, oldrit, tmprit; int rigerr = NOTHING; char *civaddr_str; trig = (struct trig *)xxx; zg_thread_set_name("Tucnak trig"); TRTR(1, "trig_main(#%d, model=%d, filename='%s', speed=%d)", trig->nr, trig->model, trig->filename, trig->speed); freq = oldfreq = (freq_t)0; rit = oldrit = (shortfreq_t)0; trig->rig = rig_init(trig->model); if (!trig->rig){ zselect_msg_send(zsel, "TRIG;%d;!;Can't init rig %d", trig->nr, (int)trig->model); TRTR(1, "#%d: Can't init rig %d", trig->nr, (int)trig->model); return NULL; } safe_strncpy(trig->rig->state.rigport.pathname, trig->filename, HAMLIB_FILPATHLEN); if (trig->speed > 0) trig->rig->state.rigport.parm.serial.rate = trig->speed; if (trig->handshake_none) trig->rig->state.rigport.parm.serial.handshake = RIG_HANDSHAKE_NONE; #ifdef Z_UNIX_ANDROID trig->rig->state.rigport.timeout = 500; // 2000ms rig 311 on Debian 8.10 #elif defined(Z_MSC_MINGW) trig->rig->state.rigport.timeout = 400; // 2000ms rig 311 on Windows 7 #else trig->rig->state.rigport.timeout = 1000; // probably not reached #endif civaddr_str = g_strdup_printf("%d", trig->civaddr); rig_set_conf(trig->rig, rig_token_lookup(trig->rig, "civaddr"), civaddr_str); g_free(civaddr_str); // dbg("pathname=%s\n", trig->rig->state.rigport.pathname); // dbg("type=%d\n", trig->rig->state.rigport.type.rig); rigerr = rig_open(trig->rig); TRTR(1, "rig_open(#%d, %d)", trig->nr, (int)trig->model); if (rigerr != RIG_OK){ zselect_msg_send(zsel, "TRIG;%d;!;Can't open rig %d (%s), error %d (%s)", trig->nr, (int)trig->model, trig->rig->state.rigport.pathname, rigerr, trig_short_errstr((enum rig_errcode_e)rigerr)); TRTR(1, "rig_open(#%d)", trig->nr); gtrigs->rigerr = trig->rigerr = rigerr; rig_cleanup(trig->rig); trig->rig = NULL; return NULL; } if (trig->model == 1){ // dummy backend rigerr = rig_set_freq(trig->rig, RIG_VFO_CURR, 144300000); } while(!trig->thread_break){ struct trig_job *job; rmode_t mode; pbwidth_t width; vfo_t vfo; if (trig->rigerr == -RIG_EIO){ zselect_msg_send(zsel, "TRIG;%d;qrg;%"PRIfreq"", trig->nr, 0.0); zselect_msg_send(zsel, "TRIG;%d;rit;%ld", trig->nr, 0L); zselect_msg_send(zsel, "TRIG;%d;!;I/O error rig %d, model %d", trig->nr, trig->nr, (int)trig->model); break; } job = trig_job_get(trig); if (!job){ usleep(trig->poll_ms * 1000); ST_START(); rigerr = rig_get_vfo(trig->rig, &vfo); ST_STOP("rig_get_vfo"); if (rigerr == -RIG_ENAVAIL){ vfo = RIG_VFO_CURR; }else{ if (rigerr != RIG_OK) { TRTR(1, "rig_get_vfo(#%d, %s)", trig->nr, rig_strvfo(vfo)); gtrigs->rigerr = trig->rigerr = rigerr; continue; } } ST_START(); usleep(trig->poll_ms * 1000); ST_STOP("poll_ms"); ST_START(); rigerr = rig_get_freq(trig->rig, vfo, &freq); ST_STOP("rig_get_freq"); if (rigerr != RIG_OK){ TRTR(1, "rig_get_freq(#%d, %s)", trig->nr, rig_strvfo(vfo)); gtrigs->rigerr = trig->rigerr = rigerr; //dbg("rig_get_freq()=%d\n", status); continue; }else{ if (trig->rigerr != RIG_OK) oldfreq = -1; gtrigs->rigerr = trig->rigerr = RIG_OK; } //dbg("TRIG;qrg;%"PRIfreq"\n", freq); if (freq != oldfreq){ oldfreq = freq; TRTR(1, "rig_get_freq(#%d, %s, %5.3f)", trig->nr, rig_strvfo(vfo), freq / 1000000.0); // dbg("get_freq: %8.3f\n", freq / 1000000.0); zselect_msg_send(zsel, "TRIG;%d;qrg;%"PRIfreq"", trig->nr, freq); } rigerr = rig_get_rit(trig->rig, vfo, &tmprit); if (rigerr != RIG_OK && rigerr != -RIG_ENAVAIL){ gtrigs->rigerr = trig->rigerr = rigerr; TRTR(1, "rig_get_rit(#%d, %s)", trig->nr, rig_strvfo(vfo)); } if (rigerr == RIG_OK){ rit = tmprit; if (rit != oldrit){ oldrit = rit; TRTR(1, "rig_get_rit(#%d, %s, %ld)", trig->nr, rig_strvfo(vfo), rit); zselect_msg_send(zsel, "TRIG;%d;rit;%ld", trig->nr, rit); } } continue; } switch (job->cmd){ case TRIG_MODE: usleep(trig->poll_ms * 1000); rigerr = rig_get_mode(trig->rig, RIG_VFO_CURR, &mode, &width); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; TRTR(1, "rig_get_mode(#%d, RIG_VFO_CURR)", trig->nr); break; } usleep(trig->poll_ms * 1000); rigerr = rig_set_mode(trig->rig, RIG_VFO_CURR, job->mode, width /*RIG_PASSBAND_NORMAL*/); TRTR(1, "rig_set_mode(#%d, RIG_VFO_CURR, %s, %ld)", trig->nr, rig_strrmode(job->mode), width); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; break; } break; case TRIG_FREQ: usleep(trig->poll_ms * 1000); rigerr = rig_set_freq(trig->rig, RIG_VFO_CURR, job->freq); TRTR(1, "rig_set_freq(#%d, RIG_VFO_CURR, %8.3f)", trig->nr, job->freq / 1000000.0); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; break; } break; case TRIG_MODE_FREQ: usleep(trig->poll_ms * 1000); rigerr = rig_get_mode(trig->rig, RIG_VFO_CURR, &mode, &width); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; TRTR(1, "rig_get_mode(#%d, RIG_VFO_CURR)", trig->nr); break; } //dbg("mode=%d job->mode=%d\n", mode, job->mode); if (mode == job->mode) break; usleep(trig->poll_ms * 1000); rigerr = rig_set_mode(trig->rig, RIG_VFO_CURR, job->mode, width /*RIG_PASSBAND_NORMAL*/); TRTR(1, "rig_set_mode(#%d, RIG_VFO_CURR, %s, %ld", trig->nr, rig_strrmode(job->mode), width); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; break; } usleep(trig->poll_ms * 1000); rigerr = rig_set_freq(trig->rig, RIG_VFO_CURR, job->freq); TRTR(1, "rig_set_freq(#%d, RIG_VFO_CURR, %8.3f)", trig->nr, job->freq / 1000000.0); // dbg("set_freq: %8.3f\n", job->freq/1000000.0); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; break; } break; case TRIG_RESENDFREQ: zselect_msg_send(zsel, "TRIG;%d;qrg;%"PRIfreq"", trig->nr, freq); zselect_msg_send(zsel, "TRIG;%d;rit;%"PRIfreq"", trig->nr, rit); break; case TRIG_RIT: // dbg("rig_set_rit(#%d,%d, %ld)\n", trig->nr, RIG_VFO_CURR, job->rit); usleep(trig->poll_ms * 1000); rigerr = rig_set_rit(trig->rig, RIG_VFO_CURR, job->rit); TRTR(1, "rig_set_rit(#%d, RIG_VFO_CURR, %ld)", trig->nr, job->rit); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; break; } break; case TRIG_PTT: usleep(trig->poll_ms * 1000); rigerr = rig_set_ptt(trig->rig, RIG_VFO_CURR, job->ptt); TRTR(1, "rig_set_ptt(#%d, RIG_VFO_CURR, %d)", trig->nr, job->ptt); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; break; } break; case TRIG_TOGGLE_SPLIT_VFO: usleep(trig->poll_ms * 1000); split_t split; if (gtrigs->split_vfo == RIG_VFO_MAIN) { split = RIG_SPLIT_OFF; }else{ split = RIG_SPLIT_ON; } rigerr = rig_set_split_vfo(trig->rig, RIG_VFO_CURR, split, gtrigs->split_vfo); TRTR(1, "rig_set_split_vfo(#%d, RIG_VFO_CURR, %d, %s) ", trig->nr, (int)split, gtrigs->split_vfo == RIG_VFO_MAIN ? "MAIN" : "SUB"); if (rigerr != RIG_OK) { gtrigs->rigerr = trig->rigerr = rigerr; break; } break; } } return 0; } int trig_save_riglist(const struct rig_caps *caps, void *data){ ZPtrArray *riglist = (ZPtrArray *)data; z_ptr_array_add(riglist, (struct rig_caps *)caps); return -1; } int trig_compare (const void *a, const void *b){ struct rig_caps **rca, **rcb; int d; rca = (struct rig_caps **)a; rcb = (struct rig_caps **)b; if (!*rca && !*rcb) return 0; if (!*rca) return -1; if (!*rcb) return +1; d = strcasecmp((*rca)->mfg_name, (*rcb)->mfg_name); if (d) return d; return strcasecmp((*rca)->model_name, (*rcb)->model_name); } char *trig_short_errstr(enum rig_errcode_e error){ static char s[20]; switch ((int)error){ case RIG_OK: return "OK"; case -RIG_EINVAL: return VTEXT(T_INVALID_PARAM); case -RIG_ECONF: return VTEXT(T_RIG_INVALID_CONFIG); case -RIG_ENOMEM: return VTEXT(T_RIG_NOT_ENOUGH_MEM); case -RIG_ENIMPL: return VTEXT(T_RIG_NOT_IMPLEMENTED); case -RIG_ETIMEOUT: return VTEXT(T_RIG_COMM_TIMEOUT); case -RIG_EIO: return VTEXT(T_RIG_IO_ERROR); case -RIG_EINTERNAL: return VTEXT(T_RIG_INTERNAL_ERROR); case -RIG_EPROTO: return VTEXT(T_PROTOCOL_ERROR); case -RIG_ERJCTED: return VTEXT(T_RIG_COMMAND_REJECT); case -RIG_ETRUNC: return VTEXT(T_RIG_ARG_TRUNCATED); case -RIG_ENAVAIL: return VTEXT(T_RIG_F_NOT_AVAILABLE); case -RIG_ENTARGET: return VTEXT(T_RIG_VFO_NOT_TARGET); case -RIG_BUSERROR: return VTEXT(T_RIG_ERROR_ON_BUS); case -RIG_BUSBUSY: return VTEXT(T_RIG_BUS_COLLISION); case -RIG_EARG: return VTEXT(T_RIG_INVALID_ARG); case -RIG_EVFO: return VTEXT(T_RIG_INVALID_VFO); case -RIG_EDOM: return VTEXT(T_RIG_ARG_OUT_OF_DOM); case NOTHING: return ""; default: sprintf(s, VTEXT(T_ERROR_D), (int)error); return s; } } #endif tucnak-4.32/src/ntpq.c0000644000175000017500000000651613757020113011574 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fifo.h" #include "language2.h" #include "main.h" #include "ntpq.h" #include "qsodb.h" #include "tsdl.h" #ifdef Z_UNIX struct ntpq *ntpq = NULL; struct ntpq *init_ntpq(){ struct ntpq *ntpq; progress(VTEXT(T_INIT_NTP)); ntpq = g_new0(struct ntpq, 1); ntpq->buf = g_string_sized_new(1024); ntpq->good = 1; ntpq->timer = zselect_timer_new(zsel, 1000, ntpq_timer, ntpq); return ntpq; } void free_ntpq(struct ntpq *ntpq){ progress(VTEXT(T_FREE_NTP)); if (ntpq->pid) kill(ntpq->pid, SIGTERM); if (ntpq->rfd>=0) close(ntpq->rfd); if (ntpq->timer) zselect_timer_kill(zsel, ntpq->timer); g_free(ntpq); } void ntpq_timer(void *arg){ int fds[2], i; struct ntpq *ntpq; //char errbuf[1024]; /*dbg("ntpq_timer()\n");*/ ntpq=(struct ntpq *)arg; ntpq->timer=0; if (pipe(fds)) zinternal("Can't create thread pipe"); /* dbg("pipe=%d %d\n", fds[0], fds[1]);*/ ntpq->rfd=fds[0]; ntpq->pid=fork(); if (ntpq->pid<0) { dbg("Can't fork for ntpq\n"); return; } if (ntpq->pid==0){ /* child */ setenv("TERM", "dumb", 1); for (i=0;i<1024;i++) { if (i==fds[1]) continue; close(i); } open("/dev/null", O_RDONLY); if (dup(fds[1]) < 0) exit(-1); if (dup(fds[1]) < 0) exit(-1); execlp("ntpq", "ntpq", "-pn", NULL); char *c = z_strdup_strerror(errno); fprintf(stderr, " exec failed errno=%d %s\n", errno, c); g_free(c); exit(-1); } /* parent */ ntpq->rfd=fds[0]; close(fds[1]); zselect_set(zsel, ntpq->rfd, ntpq_read_handler, NULL, NULL, ntpq); } void ntpq_read_handler(void *arg){ char s[1030]; int ret,good; gchar *c, *d; struct ntpq *ntpq; ntpq=(struct ntpq *)arg; /* dbg("read...\n");*/ ret=read(ntpq->rfd, s, 1024); /* dbg("read=%d\n", ret);*/ //err=errno; if (ret<0){ /* dbg("ntpq read error\n");*/ zselect_set(zsel, ntpq->rfd, NULL, NULL, NULL, NULL); close(ntpq->rfd); ntpq->timer = zselect_timer_new(zsel, 50001, ntpq_timer, ntpq); return; } if (ret==0){ good=0; for (d=ntpq->buf->str; *d!='\0'; d++){ if (*d=='*') { safe_strncpy(s, d+1, 10); c=strchr(s, '.'); if (!c) break; *c='\0'; if (strcmp(s, "127")==0) break; /* local clock */ good=1; break; } for (;*d!='\0';d++){ if (*d!='\n') continue; break; } } if (ctest && !ctest->oldcontest && ntpq->oldgood!=good) { ntpq->oldgood=good; if (!good){ log_addf(VTEXT(T_NO_NTP)); } } ntpq->good=good; /*dbg("ntpq->good=%d\n", ntpq->good);*/ g_string_truncate(ntpq->buf, 0); zselect_set(zsel, ntpq->rfd, NULL, NULL, NULL, NULL); close(ntpq->rfd); if (good) ntpq->timer = zselect_timer_new(zsel, 30*60*1000, ntpq_timer, ntpq); else ntpq->timer = zselect_timer_new(zsel, 2*60*1000, ntpq_timer, ntpq); return; } s[ret]='\0'; /*dbg("ntpq_read_handler('%s');\n", s);*/ g_string_append(ntpq->buf, s); } #endif tucnak-4.32/src/edi.h0000644000175000017500000000174113640635132011357 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __EDI_H #define __EDI_H #include "header.h" struct qso; struct band; struct contest; #define MAX_EXC_LEN 30 int save_all_bands_txt(int is_autosave); int check_autosave(void); void load_contest_edi(const gchar *date, int edi); void add_qso_str1(GString *gs, struct qso *q, struct band *b); void add_qso_str2(GString *gs, struct qso *q, struct band *b); void add_qso_str3(GString *gs, struct qso *q, struct band *b); const char *get_psect_str(struct band *b); // returns foreign key void import_edi (void *xxx, char *filename); void import_swap(void *xxx, char *filename); void dump_all_sources(struct contest *ctest); int save_desc_to_file(gchar *filename); int export_all_bands_edi(void); #endif tucnak-4.32/src/tregex.c0000644000175000017500000000437012500546120012100 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "tregex.h" /* returns zero if matching */ int regcmp(char *string, char *regex){ regex_t preg; int ret; ret = regcomp(&preg, regex, REG_EXTENDED | REG_NOSUB); if (ret) zinternal("regcomp failed"); ret = regexec(&preg, string, 0, 0, 0); regfree(&preg); return ret; } int regcmpi(char *string, char *regex){ regex_t preg; int ret; ret = regcomp(&preg, regex, REG_EXTENDED | REG_NOSUB | REG_ICASE); if (ret) zinternal("regcomp failed"); ret = regexec(&preg, string, 0, 0, 0); regfree(&preg); return ret; } /* returns zero if matching */ #ifdef LEAK_DEBUG_LIST int debug_regmatch(char *file, int line, const char *string, char *regex, ...){ #else int regmatch(const char *string, char *regex, ...){ #endif regex_t preg; regmatch_t match[MAX_MATCHES]; va_list ap; int ret,i; char **ppc; /* dbg("regmatch('%s','%s')\n", string, regex);*/ ret = regcomp(&preg, regex, REG_EXTENDED); if (ret) zinternal("regcomp failed, regex='%s'", regex); ret = regexec(&preg, string, MAX_MATCHES, match, 0); regfree(&preg); if (ret) return ret; /* dbg("regmatch '%s'~=/%s/; \n",string,regex);*/ va_start(ap,regex); for (i=0; i This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ /* TODO • I + Q = USB • I - Q = LSB • SQRT (I * I + Q * Q) = AM • FM = atan(Q * I_old-I * Q_old, I * I_old+ Q * Q_old) */ #include "header.h" #ifdef USE_SDR #include "sdr.h" #include "button.h" #include "dsp.h" #include "fifo.h" #include "kbd.h" #include "language2.h" #include "main.h" #include "rc.h" #include "trig.h" #include "tsdl.h" #define sqr(x) ((x)*(x)) #define F2PX(hz) ((((hz) + gsdr->samplerate / 2) * (gsdr->screen->w - 1)) / gsdr->samplerate) #define PX2F(x) (((x) * gsdr->samplerate) / (gsdr->screen->w - 1) - gsdr->samplerate / 2) #define DX2DF(x) ((double)((dx) * gsdr->samplerate) / (gsdr->screen->w - 1)) #define F2BIN(hz) ((((hz) * gsdr->n) / gsdr->samplerate + gsdr->n) % gsdr->n) #define BIN2F(bin) ((((bin) < gsdr->n / 2 ? (bin) : (bin - gsdr->n)) * gsdr->samplerate) / gsdr->n) #define F2SBIN(hz) (((hz) * gsdr->n) / gsdr->samplerate) #define SBIN2BIN(sbin) (((sbin) < 0 ? (sbin + gsdr->n) : (sbin))) struct sdr *gsdr; /*static inline void zcplx_mul(fftw_complex *out, fftw_complex x, fftw_complex y) { (*out)[0] = x[0] * y[0] - x[1] * y[1]; (*out)[1] = x[1] * y[0] + x[0] * y[1]; } */ int sw_sdr_kbd_func(struct subwin *sw, struct event *ev, int fw){ if (!gsdr) return 0; //if (!sdl) return 0; switch (ev->x){ case 'c': case 'C': sdr_cw(sw); break; case 'l': case 'L': sdr_lsb(sw); break; case 's': case 'S': sdr_ssb(sw); break; case 'u': case 'U': sdr_usb(sw); case 'q': case 'Q': sdr_iqcomp(sw); break; } return 0; } int sw_sdr_mouse_func(struct subwin *sw, struct event *ev, int fw){ int step = 100; if (!gsdr) return 0; //if (!sdl) return 0; #ifdef Z_HAVE_SDL sw->mx = ev->mx - sw->x * FONT_W; sw->my = ev->my - sw->y * FONT_H; zchart_mouse(sw->chart, sw->mx, sw->my); /*{ // TODO sw->gdirty = 1; redraw_later(); } */ /*f (ev->b & B_MOVE) { int f, b, sbin, bin2; f = PX2F(sw->mx); b = F2BIN(f); sbin = F2SBIN(f); bin2 = SBIN2BIN(sbin); //dbg("f=%6d b=%5d sbin=%6d bin2=%5d\n", f, b, sbin, bin2); return 0; } */ //dbg("ev->b = 0x%04x\n", ev->b); if ((ev->b & B_DRAG) != 0 && (ev->b & BM_EBUTT) == B_RIGHT){ //if (sw->my < sw->fft_wf_y + sw->fft_wf_h){ if (sw->my < sw->fft_sp_y + sw->fft_sp_h){ int dx = ev->mx - sw->olddragx; if (dx != 0){ SDL_Rect r; double df = DX2DF(dx); //dbg("sdr dx=%d = %f hz\n", dx, df); #ifdef HAVE_HAMLIB trigs_set_qrg(gtrigs, gtrigs->qrg - df); #endif sdr_filter_tune(gsdr, gsdr->filter->zero + df); MUTEX_LOCK(sw->screen); r.y = sw->fft_wf_y; r.h = sw->fft_wf_h; r.x = -dx; r.w = sw->screen->w; SDL_BlitSurface(sw->screen, &r, sw->screen, NULL); if (dx > 0){ r.x = 0; r.w = dx; }else{ r.x = r.w + dx; r.w = dx; } SDL_FillRect(sw->screen, &r, 0); MUTEX_UNLOCK(sw->screen); } } } if (SDL_GetModState() & KMOD_SHIFT) step = 1000; if (SDL_GetModState() & KMOD_CTRL) step = 10000; switch (ev->b & BM_EBUTT){ case B_WHUP: sdr_filter_tune(gsdr, gsdr->filter->zero + step); sw->gdirty = 1; break; case B_WHDOWN: sdr_filter_tune(gsdr, gsdr->filter->zero - step); sw->gdirty = 1; break; case B_RIGHT: sw->olddragx = ev->mx; break; case B_LEFT: if (/*sw->my >= sw->fft_sp_y &&*/ sw->my < sw->fft_sp_y + sw->fft_sp_h){ double freq = PX2F(sw->mx); freq -= (gsdr->filter->low + gsdr->filter->high) / 2; sdr_filter_tune(gsdr, freq); }else{ buttons_mouse(sw->buttons, ev->b, sw->mx, sw->my); } sw->gdirty = 1; break; } sw_sdr_check_bounds(sw); #endif return 0; } void sw_sdr_check_bounds(struct subwin *sw){ // if (!sdl) return; if (!gsdr) return; if (!gsdr->filter) return; } void sw_sdr_raise(struct subwin *sw){ #ifdef Z_HAVE_SDL sw->gdirty=1; #endif } struct sdr *init_sdr(void){ int i, j = 0, r, f; struct sdr *sdr; dbg("init_sdr enable=%d\n", cfg->sdr_enable); if (!cfg->sdr_enable) return NULL; //if (!sdl) return NULL; sdr = g_new0(struct sdr, 1); sdr->n = cfg->sdr_block; sdr->frames = sdr->n / 2; sdr->samples = sdr->frames * 2; sdr->bfo_phase = 0.0; sdr->load = -1; #ifdef Z_HAVE_SDL if (zsdl){ sdr->butbg = z_makecol(0, 128, 128); } MUTEX_INIT(sdr->screen); #endif MUTEX_INIT(sdr->filter); #ifdef Z_HAVE_SDL if (sdl){ for (i = 128; i < 256; i++){ r = (i-128)*2; f = 255 - r; sdr->pal[j++] = z_makecol(0, 0, r); } for (i = 256; i < 512; i++){ r = i - 256; f = 255 - r; sdr->pal[j++] = z_makecol(0, r, 255); } for (i = 512; i < 768; i++){ r = i - 512; f = 255 - r; sdr->pal[j++] = z_makecol(r, 255, f); } for (i = 768; i < 1024-32; i++){ r = i - 768; f = 255 - r; sdr->pal[j++] = z_makecol(255, f, 0); } for (i = 0; i < FFT_COLORS; i++){ int val = (z_r(sdl->screen, sdr->pal[i]) * 30 + z_g(sdl->screen, sdr->pal[i]) * 59 + z_b(sdl->screen, sdr->pal[i]) * 11) / 100; sdr->grpal[i] = z_makecol(val, val, val); } } #endif // initial filter, rewritten after source DSP open sdr->samplerate = cfg->sdr_speed ? cfg->sdr_speed : 48000; sdr->filter = init_sdr_filter(sdr, cfg->sdr_zero, 1000, 2000, sdr->samplerate , sdr->n / 4 + 1); sdr->agc_gain = 200.0; // experimental, was 1.0; sdr->iqdsp = init_dsp((enum dsp_type)cfg->sdr_rec_dsp_type, DCG_SDR); sdr->iqdsp->set_sdr_format(sdr->iqdsp, sdr->frames, cfg->sdr_speed, 1); sdr->afdsp = init_dsp((enum dsp_type)cfg->sdr_play_dsp_type, DCG_SDR); sdr->afdsp->set_sdr_format(sdr->afdsp, sdr->frames, cfg->sdr_af_speed, 0); sdr->iq = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * sdr->n); sdr->bins = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * sdr->n); sdr->iout = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * sdr->n); sdr->qout = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * sdr->n); sdr->plan_f = fftw_plan_dft_1d(sdr->n, sdr->iq, sdr->bins, FFTW_FORWARD, FFTW_ESTIMATE); sdr->plan_bi = fftw_plan_dft_1d(sdr->n, sdr->bins, sdr->iout, FFTW_BACKWARD, FFTW_ESTIMATE); sdr->plan_bq = fftw_plan_dft_1d(sdr->n, sdr->bins, sdr->qout, FFTW_BACKWARD, FFTW_ESTIMATE); sdr->amplen = sdr->n; sdr->amp = g_new0(double, sdr->amplen); sdr->nea_amp = g_new0(double, sdr->amplen); sdr->sndbuf = g_new0(short, sdr->frames * 2); sdr->bal_gain = 1.0; sdr->bal_phase = 0.0; sdr->bal_iq = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * SDR_BAL_N); sdr->bal_bins = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * SDR_BAL_N); sdr->bal_plan = fftw_plan_dft_1d(SDR_BAL_N, sdr->bal_bins, sdr->bal_bins, FFTW_FORWARD, FFTW_ESTIMATE); dbg("init_sdr=%p\n", sdr); return sdr; } void free_sdr(struct sdr *sdr){ dbg("free_sdr(%p)\n", sdr); if (!sdr) return; sdr_stop(sdr); free_dsp(sdr->iqdsp); free_dsp(sdr->afdsp); g_free(sdr->amp); g_free(sdr->nea_amp); g_free(sdr->sndbuf); fftw_destroy_plan(sdr->plan_f); fftw_destroy_plan(sdr->plan_bi); fftw_destroy_plan(sdr->plan_bq); fftw_free(sdr->iq); fftw_free(sdr->bins); fftw_free(sdr->iout); sdr->iout = NULL; fftw_free(sdr->qout); g_free(sdr->wfvec); free_sdr_filter(sdr->filter); MUTEX_FREE(sdr->screen); MUTEX_FREE(sdr->filter); g_free(sdr); } struct sdr *sdr_start(struct sdr *sdr){ //dbg("sdr_start(%p)\n", sdr); if (!sdr) return sdr; if (sdr->thread) return sdr; sdr->thread_break = 0; sdr->thread = g_thread_try_new("Tucnak SDR", sdr_thread_func, (gpointer)sdr, NULL); if (!sdr->thread){ log_addf(VTEXT(T_CANT_CREATE_SDR_THR)); free_sdr(sdr); return NULL; } return sdr; } void sdr_stop(struct sdr *sdr){ dbg("sdr_stop(%p)\n", sdr); if (!sdr) return; if (sdr->thread){ progress(VTEXT(T_WAIT_FOR_SDR_THR)); sdr->thread_break = 1; dbg("join sdr...\n"); g_thread_join(sdr->thread); dbg("done\n"); sdr->thread = NULL; } } void sdr_read_handler(struct sdr *sdr, gchar *cmd, gchar *arg){ /*dbg("sdr_read_handler\n");*/ switch(cmd[0]){ case 'D': #ifdef Z_HAVE_SDL if (gses && gses->ontop->type == SWT_SDR){ gses->ontop->gdirty = 1; } #endif redraw_later(); case '!': log_adds(arg); redraw_later(); break; } } struct sdr_filter *init_sdr_filter(struct sdr *sdr, double zero, double low, double high, double samplerate, int size){ int i, midpoint; double fc, ff; struct sdr_filter *filter; fftw_plan plan; fftw_complex /* *iq */ *h; filter = g_new0(struct sdr_filter, 1); filter->zero = zero; filter->low = low; filter->high = high; filter->window_size = size; if (gsdr && gsdr->samplerate > 0) filter->zero_bin = F2BIN((int)filter->zero); if ((size & 1) == 0) size++; midpoint = size / 2 + 1; low += zero; high += zero; low /= samplerate; high /= samplerate; fc = (high - low) / 2.0; ff = (low + high) * M_PI; filter->fbins = (fftw_complex*)fftw_malloc(sdr->n * sizeof(fftw_complex)); filter->window = g_new0(double, size); filter->window_iq = (fftw_complex*)fftw_malloc(sdr->n * sizeof(fftw_complex)); memset(filter->window_iq, 0, sdr->n * sizeof(fftw_complex)); for (i = 0; i < size; i++){ filter->window[i] = + 0.35875 - 0.48829 * cos(2.0 * M_PI * (i + 0.5) / (size - 1)) + 0.14128 * cos(4.0 * M_PI * (i + 0.5) / (size - 1)) - 0.01168 * cos(6.0 * M_PI * (i + 0.5) / (size - 1)); } h = filter->window_iq + sdr->n - size; // RHS for (i = 1; i <= size; i++){ // windowed sinc filter int j = i - 1; int k = i - midpoint; double tmp, ph = ff * k; if (k == 0){ tmp = 2.0 * fc; }else{ tmp = filter->window[j] * sin(2 * M_PI * k * fc) / (M_PI * k); } tmp *= 2.0; h[j][0] = tmp * cos(ph); h[j][1] = tmp * sin(ph); } plan = fftw_plan_dft_1d(sdr->n, filter->window_iq, filter->fbins, FFTW_FORWARD, FFTW_ESTIMATE); fftw_execute(plan); fftw_destroy_plan(plan); if (filter->zero != 0.0) sdr->bfo_inc = 2 * M_PI * filter->zero / samplerate; return filter; } void free_sdr_filter(struct sdr_filter *filter){ if (!filter) return; fftw_free(filter->window_iq); g_free(filter->window); fftw_free(filter->fbins); g_free(filter); } void sdr_new_filter(struct sdr *sdr, double zero, double cw_low, double cw_high, double ssb_low, double ssb_high){ struct sdr_filter *oldfilter, *newfilter; double low, high; if (cfg->sdr_cw){ low = cw_low; high = cw_high; }else{ low = ssb_low; high = ssb_high; } newfilter = init_sdr_filter(sdr, zero, low, high, sdr->samplerate, sdr->filter->window_size); MUTEX_LOCK(sdr->filter); oldfilter = sdr->filter; sdr->filter = newfilter; MUTEX_UNLOCK(sdr->filter); free_sdr_filter(oldfilter); cfg->sdr_zero = zero; cfg->sdr_cw_low = cw_low; cfg->sdr_cw_high = cw_high; cfg->sdr_ssb_low = ssb_low; cfg->sdr_ssb_high = ssb_high; } void sdr_filter_tune(struct sdr *sdr, double zero){ if (zero + sdr->filter->low < -sdr->samplerate / 2) zero = -sdr->samplerate / 2 - sdr->filter->low; if (zero + sdr->filter->high > sdr->samplerate / 2) zero = sdr->samplerate / 2 - sdr->filter->high; sdr_new_filter(sdr, zero, cfg->sdr_cw_low, cfg->sdr_cw_high, cfg->sdr_ssb_low, cfg->sdr_ssb_high); } void sdr_ssb(void *xxx){ struct subwin *sw = (struct subwin *)xxx; dbg("sdr_ssb\n"); cfg->sdr_cw = 0; sw-> sdr_ssb-> bcolor = gsdr-> butbg; sw->sdr_cw->bcolor = 0; sdr_new_filter(gsdr, gsdr->filter->zero, cfg->sdr_cw_low, cfg->sdr_cw_high, cfg->sdr_ssb_low, cfg->sdr_ssb_high); redraw_later(); } void sdr_cw(void *xxx){ struct subwin *sw = (struct subwin *)xxx; dbg("sdr_cw\n"); cfg->sdr_cw = 1; sw->sdr_cw->bcolor = gsdr->butbg; sw->sdr_ssb->bcolor = 0; sdr_new_filter(gsdr, gsdr->filter->zero, cfg->sdr_cw_low, cfg->sdr_cw_high, cfg->sdr_ssb_low, cfg->sdr_ssb_high); redraw_later(); } void sdr_usb(void *xxx){ struct subwin *sw = (struct subwin *)xxx; dbg("sdr_usb\n"); if (cfg->sdr_lsb == 1){ int newzero = gsdr->filter->zero + gsdr->filter->high + gsdr->filter->low ; sdr_new_filter(gsdr, newzero, -cfg->sdr_cw_high, -cfg->sdr_cw_low, -cfg->sdr_ssb_high, -cfg->sdr_ssb_low); } cfg->sdr_lsb = 0; sw->sdr_usb->bcolor = gsdr->butbg; sw->sdr_lsb->bcolor = 0; redraw_later(); } void sdr_iqcomp(void *xxx){ struct subwin *sw = (struct subwin *)xxx; dbg("sdr_iqcomp\n"); cfg->sdr_iqcomp = !cfg->sdr_iqcomp; sw->sdr_iqcomp->bcolor = cfg->sdr_iqcomp ? gsdr->butbg : 0; redraw_later(); } void sdr_lsb(void *xxx){ struct subwin *sw = (struct subwin *)xxx; dbg("sdr_lsb\n"); if (cfg->sdr_lsb == 0){ int newzero = gsdr->filter->zero + gsdr->filter->high + gsdr->filter->low ; sdr_new_filter(gsdr, newzero, -cfg->sdr_cw_high, -cfg->sdr_cw_low, -cfg->sdr_ssb_high, -cfg->sdr_ssb_low); } cfg->sdr_lsb = 1; sw->sdr_lsb->bcolor = gsdr->butbg; sw->sdr_usb->bcolor = 0; redraw_later(); } void sdr_resize(struct sdr *sdr, struct subwin *sw){ #ifdef Z_HAVE_SDL //dbg("sdr_resize\n"); SDL_Surface *newscr, *oldscr; SDL_Rect r; int minh; if (!sdr) return; minh = sw->h * FONT_H / 2; sw->fft_sp_h = 210; if (sw->fft_sp_h > minh) sw->fft_sp_h = minh; sw->fft_sp_y = (sw->h - 1) * FONT_H - sw->fft_sp_h - 4; sw->fft_wf_y = 0; sw->fft_wf_h = sw->fft_sp_y - FONT_H - 10; //sw->fft_sp_x2 = fft->wf_x2; //sw->fft_wf_x2 = fft->wf_x2; newscr = SDL_CreateRGBSurface(SDL_SWSURFACE, sw->w*FONT_W , sw->h*FONT_H, sdl->bpp, sdl->screen->format->Rmask, sdl->screen->format->Gmask, sdl->screen->format->Bmask, 0); MUTEX_LOCK(sdr->screen); oldscr = sdr->screen; sdr->screen = newscr; sdr->screeny = 0; MUTEX_UNLOCK(sdr->screen); if (oldscr) SDL_FreeSurface(oldscr); r.x = 0; r.y = sw->fft_sp_y; r.w = sw->screen->w; r.h = sw->fft_sp_h; if (sw->chart) zchart_free(sw->chart); sw->chart = zchart_init(sw->screen, &r, z_makecol(30, 30, 0)); zchart_add_set(sw->chart, "window ", sdl->gr[15]); zchart_add_set(sw->chart, "winIQ.Re ", sdl->yellow); zchart_add_set(sw->chart, "winIQ.Im ", z_makecol(0, 255, 255)); zchart_add_set(sw->chart, "fbin.abs", z_makecol(0, 255, 255)); buttons_clear(sw->buttons); sw->sdr_by = sw->fft_sp_y + sw->fft_sp_h - 1 + 2; sw->sdr_ssb = init_button(sw->screen, 0, sw->sdr_by, sdr_ssb, sw); button_text(sw->sdr_ssb, zsdl->font_h, sdl->gr[14], cfg->sdr_cw ? 0 : sdr->butbg, " SSB "); g_ptr_array_add(sw->buttons, sw->sdr_ssb); sw->sdr_cw = init_button(sw->screen, sw->sdr_ssb->x + sw->sdr_ssb->w + zsdl->font_w, sw->sdr_by, sdr_cw, sw); button_text(sw->sdr_cw, zsdl->font_h, sdl->gr[14], cfg->sdr_cw ? sdr->butbg : 0, " CW "); g_ptr_array_add(sw->buttons, sw->sdr_cw); sw->sdr_usb = init_button(sw->screen, sw->sdr_cw->x + sw->sdr_cw->w + zsdl->font_w, sw->sdr_by, sdr_usb, sw); button_text(sw->sdr_usb, zsdl->font_h, sdl->gr[14], cfg->sdr_lsb ? 0 : sdr->butbg, " USB "); g_ptr_array_add(sw->buttons, sw->sdr_usb); sw->sdr_lsb = init_button(sw->screen, sw->sdr_usb->x + sw->sdr_usb->w + zsdl->font_w, sw->sdr_by, sdr_lsb, sw); button_text(sw->sdr_lsb, zsdl->font_h, sdl->gr[14], cfg->sdr_lsb ? sdr->butbg : 0, " LSB "); g_ptr_array_add(sw->buttons, sw->sdr_lsb); sw->sdr_iqcomp = init_button(sw->screen, sw->sdr_lsb->x + sw->sdr_lsb->w + zsdl->font_w, sw->sdr_by, sdr_iqcomp, sw); button_text(sw->sdr_iqcomp, zsdl->font_h, sdl->gr[14], cfg->sdr_iqcomp ? sdr->butbg : 0, " IQcomp "); g_ptr_array_add(sw->buttons, sw->sdr_iqcomp); g_free(sdr->wfvec); sdr->wfvec = g_new0(int, sw->screen->w); sdr->wfveclen = sw->screen->w; #endif } void sw_sdr_redraw(struct subwin *sw, struct band *band, int flags){ #ifdef Z_HAVE_SDL SDL_Rect src, dst, filter_r; int i, y, x = 0, sp_y, oldx, oldy = 0, amp, tw, j = 1; int bfo_px;//, filter1_px, filter2_px; char s[256]; double qrg; int steps[] = {100, 50, 20, 10, 5, 2, 1, 0}; // kHz if (!gsdr) return; if (!sdl) return; fill_area(sw->x, sw->y, sw->w, sw->h, 0); if (!sw->gdirty) return; sw->gdirty=0; if (gsdr->samplerate <= 0) return; if (gsdr->amp == NULL) return; /*area.x = 0; area.y = 0; area.w = sw->screen->w; area.h = sw->screen->h; SDL_FillRect(sw->screen, &area, z_makecol(40, ((ssr++) % 8) * 32, 0)); */ MUTEX_LOCK(gsdr->screen); if (!gsdr->screen){ MUTEX_UNLOCK(gsdr->screen); return; } MUTEX_LOCK(sw->screen); if (gsdr->screeny > 0){ //dbg("gsdr->screeny = %d\n", gsdr->screeny); y = gsdr->screeny; gsdr->screeny = 0; // move old screen src.x = 0; src.y = sw->fft_wf_y + y; src.w = sw->screen->w; src.h = sw->fft_wf_h - y; dst.x = 0; dst.y = sw->fft_wf_y; dst.w = sw->screen->w; dst.h = sw->fft_wf_h - y; SDL_BlitSurface(sw->screen, &src, sw->screen, &dst); // add new data src.x = 0; src.y = 0; src.w = gsdr->screen->w; src.h = y; dst.x = 0; dst.y = sw->fft_wf_y + sw->fft_wf_h - y; dst.w = sw->screen->w; dst.h = y; SDL_BlitSurface(gsdr->screen, &src, sw->screen, &dst); //z_rect2(sw->screen, &dst, sdl->gr[15]); } // clear background under frequency axis dst.x = 0; dst.y = sw->fft_wf_h + 1; dst.w = sw->screen->w; dst.h = sw->fft_sp_y - dst.y; SDL_FillRect(sw->screen, &dst, z_makecol(0, 0, 0)); qrg = gsdr->samplerate / 2; #ifdef HAVE_HAMLIB qrg += gtrigs->qrg; #endif z_qrg_format(s, sizeof(s), qrg / 1000); tw = strlen(s) * zsdl->font_w; for (i = 0; ; i++){ int px; if (steps[i] == 0) break; j = steps[i]; px = F2PX(j * 1000) - F2PX(0); if (px < tw * 3) break; } qrg = -gsdr->samplerate / 2; #ifdef HAVE_HAMLIB qrg += gtrigs->qrg; #endif modf(qrg / (j * 1000.0), &qrg); qrg *= j; #ifdef HAVE_HAMLIB i = (int)(qrg * 1000 - gtrigs->qrg); #else i = -gsdr->samplerate / 2; #endif for (;; qrg += j, i += j * 1000){ //int flg = ZFONT_CENTERX; // char *fmt = "%dk"; x = F2PX(i); if (x > sw->w * FONT_W - 1) break; z_line(sw->screen, x, sw->fft_wf_h + 1, x, sw->fft_sp_y - FONT_H , sdl->gr[10]); //if (x <= 0) flg = 0; //if (x >= sw->screen->w - 1) flg = ZFONT_RIGHT; //if (i == 0) fmt = "VFO"; z_qrg_format(s, sizeof(s), qrg); zsdl_printf(sw->screen, x, sw->fft_sp_y - FONT_H, sdl->gr[10], 0, ZFONT_CENTERX, "%s", s); z_line(sw->screen, x, sw->fft_wf_h + 2, x, sw->fft_wf_h + 5, sdl->gr[10]); } z_line(sw->screen, F2PX(-gsdr->samplerate / 2), sw->fft_wf_h + 1, F2PX(gsdr->samplerate / 2), sw->fft_wf_h + 1, sdl->gr[10]); // clear background under spectral lines dst.x = 0; dst.w = sw->screen->w; dst.y = sw->fft_sp_y; dst.h = sw->fft_sp_h; SDL_FillRect(sw->screen, &dst, z_makecol(20, 20, 0)); // draw filter and BFO sp_y = sw->fft_sp_y + sw->fft_sp_h - 1; filter_r.x = F2PX(gsdr->filter->zero + gsdr->filter->low); filter_r.y = sp_y - sw->fft_sp_h + 1; filter_r.w = F2PX(gsdr->filter->zero + gsdr->filter->high) - filter_r.x + 1; filter_r.h = sw->fft_sp_h; SDL_FillRect(sw->screen, &filter_r, sdl->green); bfo_px = F2PX(gsdr->filter->zero); z_line(sw->screen, bfo_px, sp_y, bfo_px, sp_y - sw->fft_sp_h + 1, sdl->red); #if 1 // draw spetral lines oldx = -1; for (i=0; i <= gsdr->amplen; i++){ x = (i * (gsdr->screen->w - 1)) / gsdr->n; amp = gsdr->nea_amp[i] * (sw->fft_sp_h - 1); for (; oldx <= x; oldx++) z_line(sw->screen, oldx, sp_y, oldx, sp_y - amp, sdl->gr[9]); } oldx = -1; for (i=0; i <= gsdr->amplen; i++){ x = (i * (gsdr->screen->w - 1)) / gsdr->n; amp = gsdr->nea_amp[i] * (sw->fft_sp_h - 1); if (i > 0){ z_line(sw->screen, oldx, oldy, x, sp_y - amp, sdl->gr[12]); } oldx = x; oldy = sp_y - amp; } for (i = 0; i < FFT_COLORS; i++){ z_line(sw->screen, i, 0, i, 3, gsdr->pal[i]); } #endif #if 0 zchart_clear(sw->chart); for (i = 0; i < gsdr->filter->window_size; i++){ zchart_add(sw->chart, 0, i, gsdr->filter->window[i]); } for (i = 0; i < gsdr->n; i++) { int b = (i + gsdr->n / 2) % gsdr->n; zchart_add(sw->chart, 1, i, gsdr->filter->window_iq[i][0]); zchart_add(sw->chart, 2, i, gsdr->filter->window_iq[i][1]); zchart_add(sw->chart, 3, i, Z_CABS(gsdr->filter->fbins[b])); } zchart_redraw(sw->chart); dbg("step=%f\n", gsdr->bfo_inc); #endif // clear background under status line dst.x = 0; dst.w = sw->screen->w; dst.y = sw->sdr_by; dst.h = zsdl->font_h; SDL_FillRect(sw->screen, &dst, z_makecol(0, 0, 0)); buttons_redraw(sw->buttons, sw->screen); qrg = gsdr->filter->zero; #ifdef HAVE_HAMLIB if (gtrigs) qrg += gtrigs->qrg; #endif z_qrg_format(s, sizeof(s), qrg); zsdl_printf(sw->screen, sw->sdr_iqcomp->x + sw->sdr_iqcomp->w + 3 * zsdl->font_w, sw->sdr_by, sdl->gr[14], 0, 0, "%s", s); if (gsdr->load > -1){ zsdl_printf(sw->screen, sw->screen->w - 1, sw->sdr_by, sdl->gr[14], 0, ZFONT_RIGHT, " CPU %d%%", gsdr->load); } MUTEX_UNLOCK(sw->screen); MUTEX_UNLOCK(gsdr->screen); #endif } gpointer sdr_thread_func(gpointer data){ int total = 0, i; struct sdr *sdr = (struct sdr *)data; struct timeval tv1, tv2, stop, tvstart; long oldsec = 0; double totsum = 0.0, cpusum = 0.0, tot; int loadn = 0; short *buf, *b; double *pd, avgi = 0.0, avgq = 0.0; int playspeed, playfactor; int use_pipe = 0; dbg("sdr_thread_func\n"); zg_thread_set_name("Tucnak SDR"); zg_thread_set_priority(2); #ifdef HAVE_LIBRTLSDR #ifdef HAVE_HAMLIB sdr->iqdsp->rtlsdr_frequency = gtrigs->qrg < 24000000 ? 144000000 : gtrigs->qrg; #endif #endif if (sdr->iqdsp->open(sdr->iqdsp, 1) < 0) { zselect_msg_send(zsel, "SDR;!;%s %s", VTEXT(T_CANT_RECORD_FROM_SDR_DSP), sdr->iqdsp->name); return NULL; } if (sdr->afdsp->open(sdr->afdsp, 0) < 0) { zselect_msg_send(zsel, "SDR;!;%s %s", VTEXT(T_CANT_PLAY_TO_SDR_DSP), sdr->afdsp->name); sdr->iqdsp->close2(sdr->iqdsp); return NULL; }; playspeed = cfg->sdr_af_speed; playfactor = sdr->iqdsp->speed / playspeed; //for (playspeed = sdr->iqdsp->speed; playspeed > 48000; playspeed /= 2) playfactor *= 2; #ifdef HAVE_SNDFILE if (gssbd && gssbd->dsp && gssbd->dsp->type == DSPT_SNDPIPE && gssbd->dsp->pipe_opened){ gssbd->dsp->set_sdr_format(gssbd->dsp, sdr->frames, playspeed, 0); if (gssbd->dsp->open(gssbd->dsp, 0)){ zselect_msg_send(zsel, "SDR;!;%s %s", VTEXT(T_CANT_OPEN_PLAY_SDR_SOUNDPIPE), sdr->afdsp->name); return NULL; } use_pipe = 1; } #endif #ifdef Z_HAVE_SDL sdr->screeny = 0; #endif sdr->samplerate = sdr->iqdsp->speed; sdr_new_filter(sdr,cfg->sdr_zero, cfg->sdr_cw_low, cfg->sdr_cw_high, cfg->sdr_ssb_low, cfg->sdr_ssb_high); sdr->agc_period_ms = 1; sdr->agc_n = sdr->samplerate * sdr->agc_period_ms / 1000.0; sdr->agc_ign = sdr->samplerate * 100 / ( 1000.0 * sdr->agc_n); buf = g_new0(short, sdr->frames * sdr->iqdsp->channels); // nemá být sdr->samples? memset(sdr->iq, 0, sizeof(fftw_complex) * sdr->n); gettimeofday(&tvstart, NULL); gettimeofday(&tv1, NULL); oldsec = tv1.tv_sec; #ifdef Z_HAVE_SDL MUTEX_LOCK(sdr->screen); if (sdr->screen) { for (i = 0; i < sdr->wfveclen; i += 3) z_putpixel(sdr->screen, i, sdr->screeny, sdl->gr[12]); sdr->screeny++; } MUTEX_UNLOCK(sdr->screen); #endif while(!sdr->thread_break){ int oldx, x, col, frames; double d, e, cpu, dmax, maxgain, mingain; short *sb; fftw_complex *iq; //dbg("sdr_thread_func while\n"); memmove(sdr->iq, sdr->iq + sdr->frames, sizeof(fftw_complex) * (sdr->n - sdr->frames)); //ST_START(); frames = sdr->iqdsp->read(sdr->iqdsp, buf, sdr->frames); //ST_STOP("dsp read"); if (frames != sdr->frames){ dbg("Can't read from SDR IQDSP %s (%d != %d)\n", sdr->iqdsp->name, frames, sdr->frames); zselect_msg_send(zsel, "SDR;!;%s SDR IQDSP %s (%d != %d)", VTEXT(T_CANT_READ_FROM), sdr->iqdsp->name, frames, sdr->frames); break; } gettimeofday(&tv2, NULL); total += frames; b = buf; pd = (double*)(sdr->iq + (sdr->n - sdr->frames)); for (i = 0; i < sdr->frames; i++){ *pd = *b / 32767.0; if (cfg->sdr_iqcomp){ avgi += 0.00001 * (*pd - avgi); *pd -= avgi; } pd++, b++; *pd = *b / 32767.0; if (cfg->sdr_iqcomp){ avgq += 0.00001 * (*pd - avgq); *pd -= avgq; } pd++, b++; } sdr_bal_adjust(sdr, sdr->iq, sdr->frames, sdr->bal_gain, sdr->bal_phase); fftw_execute(sdr->plan_f); #ifdef Z_HAVE_SDL MUTEX_LOCK(sdr->screen); if (sdr->screen){ oldx = -1; dmax = 0.0; maxgain = -1000000000000.0; mingain = 100000000000000.0; memset(sdr->wfvec, 0, sdr->wfveclen * sizeof(int)); for (i = 0; i < sdr->n; i++){ int j = (i + sdr->n / 2) % sdr->n; x = (i * (sdr->screen->w - 1)) / sdr->n; if (x >= sdr->screen->w) break; d = sqrt(sqr(sdr->bins[j][0])+sqr(sdr->bins[j][1])); //d = sqr(sdr->bins[j][0]) + sqr(sdr->bins[j][1]); d = d/sdr->n; d /= M_SQRT2; if (d > dmax) dmax = d; // d is epsilon to 1.0 e = log10(d); e -= log10(1.0/130072.0); e /= -log10(1.0/130072.0); //e -= log10(1.0/32768.0); //e /= -log10(1.0/32768.0); if (e<0) e = 0; // slabsi signaly nez 1 bit if (i < sdr->amplen) { double gain = (1 - exp(-(0.2 * e))); if (maxgain < gain) maxgain = gain; if (mingain > gain) mingain = gain; if (gain < 0.03) gain = 0.03; if (i == 0) gain = 1.0; sdr->amp[i] = e; sdr->nea_amp[i] = sdr->nea_amp[i] * (1-gain) + e * gain; } col = (int)(e * (FFT_COLORS - 1.0)); //col = (int)(sdr->nea_amp[i] * (FFT_COLORS - 1.0)); if (oldx > x) if (col > sdr->wfvec[x]) sdr->wfvec[x] = col; for (; oldx <= x; oldx++){ if (oldx >= sdr->wfveclen) break; if (col > sdr->wfvec[oldx]) sdr->wfvec[oldx] = col; } //z_putpixel(sdr->screen, oldx, sdr->screeny, sdr->pal[col]); } for (i = 0; i < sdr->wfveclen; i++) z_putpixel(sdr->screen, i, sdr->screeny, sdr->pal[sdr->wfvec[i]]); //dbg("maxgain=%f mingain=%f\n", maxgain, mingain); if (tv2.tv_sec != oldsec){ // draw time marks int x2 = 3 + (tv2.tv_sec % 10 == 0) * 4; oldsec = tv2.tv_sec; for (i = 0; i <= x2; i++) { z_putpixel(sdr->screen, i, sdr->screeny, sdl->gr[14]); z_putpixel(sdr->screen, sdr->screen->w - 1 - i, sdr->screeny, sdl->gr[14]); } } sdr->screeny++; if (sdr->screeny == sdr->screen->h) sdr->screeny = 0; } MUTEX_UNLOCK(sdr->screen); #endif MUTEX_LOCK(sdr->filter); for (i = 0; i < sdr->n; i++){ Z_CMUL(sdr->bins[i], sdr->bins[i], sdr->filter->fbins[i]); } MUTEX_UNLOCK(sdr->filter); fftw_execute(sdr->plan_bi); // convert I back to time domain for (i = 0; i < sdr->n; i++){ // rotate frequencies 90 degrees double a = sdr->bins[i][0]; sdr->bins[i][0] = sdr->bins[i][1]; sdr->bins[i][1] = -a; } fftw_execute(sdr->plan_bq); // convert Q back to time domain for (i = 0; i < sdr->n; i++){ // normalize FFT output because FFTW generates unnormalized FFT sdr->iout[i][0] /= sdr->n; sdr->iout[i][1] /= sdr->n; sdr->qout[i][0] /= sdr->n; sdr->qout[i][1] /= sdr->n; } for (i = 0; i < sdr->frames; i++){ // mixer to baseband //sdr->iqout[i][0] *= sin(sdr->bfo_phase); //sdr->iqout[i][1] *= cos(sdr->bfo_phase); sdr->iout[i][0] = sdr->iout[i][0] * cos(sdr->bfo_phase) + sdr->qout[i][0] * sin(sdr->bfo_phase); sdr->bfo_phase += sdr->bfo_inc; } /*oldx = -1; for (i = 0; i < sdr->n; i++){ int j = (i + sdr->n / 2) % sdr->n; x = (i * sdr->screen->w) / sdr->n; if (x > sdr->screen->w) break; d = fabs(sqrt(sqr(sdr->bins[j][0])+sqr(sdr->bins[j][1]))); d = d/sdr->n; // d is epsilon to 1.0 e = log10(d); e -= log10(1.0/32768.0); e /= -log10(1.0/32768.0); if (e<0) e = 0; // slabsi signaly nez 1 bit if (i < sdr->amplen) sdr->amp[i] = e; col = (int)(e * (FFT_COLORS - 1.0)); for (; oldx <= x; oldx++) z_putpixel(sdr->screen, oldx, sdr->screeny, sdr->pal[col]); //if (j == bfob) z_putpixel(sdr->screen, x, sdr->screeny, sdl->red); } */ // AGC for (i = 0; i < sdr->frames; i += sdr->agc_n){ double max = 0.0, oldgain; int n; double g; // requested gain for (n = 0; n < sdr->agc_n; n++){ int idx = i + n; if (idx >= sdr->frames) break; max = Z_MAX(max, fabs(sdr->iout[idx][0])); } //max = max; why? g = 0.5 / max; oldgain = sdr->agc_gain; if (g < sdr->agc_gain){ // decrease gain sdr->agc_gain = g; sdr->agc_ign_i = 0; }else{ // increase gain if (sdr->agc_ign_i < sdr->agc_ign){ sdr->agc_ign_i++; //dbg("agc_ign_i = %d / %d\n", sdr->agc_ign_i, sdr->agc_ign); }else{ sdr->agc_gain *= 1.01; if (sdr->agc_gain > 64000) sdr->agc_gain = 64000; } } //dbg("sdr->agc_gain = %6.3f\n", sdr->agc_gain); for (n = 0; n < sdr->agc_n; n++){ int idx = i + n; if (idx >= sdr->frames) break; g = oldgain + ((double)n / (sdr->agc_n - 1)) * (sdr->agc_gain - oldgain); sdr->iout[idx][0] *= g; if (sdr->iout[idx][0] > 1.0) sdr->iout[idx][0] = 1.0; if (sdr->iout[idx][0] < -1.0) sdr->iout[idx][0] = -1.0; //sdr->iout[idx][1] = g / 2; } } //dbg("iout\n"); sb = sdr->sndbuf; iq = sdr->iout;// + (sdr->n - sdr->frames); for (i = 0; i < sdr->frames / playfactor; i++){ int k; //short val = (short)(32767.0 * sqrt(sqr((*iq)[0] / sdr->n)+sqr((*iq)[1] / sdr->n))); short val = (short)(32767.0 * (*iq)[0]); //val = (short)(32767.0 * sdr->iq[sdr->n - sdr->frames + i][0]); *sb++ = val; //*sb++ = 32767.0 * sin(sdr->filter->bfo_phase); sdr->filter->bfo_phase += sdr->filter->bfo_inc; //*sb++ = (i * 32767) / sdr->frames; // saw //*sb++ = (short)((*iq)[1]); *sb++ = (short)(32767.0 * (*iq)[0]); for (k = 0; k < playfactor; k++) iq++; } //zst_stop(stopky, "sdr_thread_func"); gettimeofday(&stop, NULL); tot = z_difftimeval_double(&stop, &tv1); cpu = z_difftimeval_double(&stop, &tv2); if (tot > 0.0){ if (++loadn == 40){ sdr->load = cpusum * 100.0 / totsum; dbg("sdr->load = %d%%\n", sdr->load); totsum = 0.0; cpusum = 0.0; loadn = 0; }else{ totsum += tot; cpusum += cpu; } } gettimeofday(&tv1, NULL); sdr->afdsp->write(sdr->afdsp, sdr->sndbuf, sdr->frames / playfactor); #ifdef HAVE_SNDFILE if (use_pipe){ gssbd->dsp->write(gssbd->dsp, sdr->sndbuf, sdr->frames / playfactor); } #endif zselect_msg_send(zsel, "SDR;D"); } gettimeofday(&stop, NULL); tot = z_difftimeval_double(&stop, &tvstart); dbg("sdr_thread_func done %5.2f seconds\n", tot); sdr->iqdsp->close2(sdr->iqdsp); sdr->afdsp->close2(sdr->afdsp); #ifdef HAVE_SNDFILE if (use_pipe) gssbd->dsp->close2(gssbd->dsp); #endif return NULL; } void sdr_balance(struct sdr *sdr){ //if (!sdr->iqcomp) return; memcpy(sdr->bal_iq, sdr->iq, sizeof(fftw_complex) * SDR_BAL_N); fftw_execute(sdr->bal_plan); } void sdr_bal_adjust(struct sdr *sdr, fftw_complex *iq, int len, double gain, double phase){ int i; for (i = 0; i < len; i++){ iq[i][0] = iq[i][0] * gain + iq[i][1] * phase; } } #endif // USE_SDR tucnak-4.32/src/sndf.h0000644000175000017500000000144712305067270011552 00000000000000/* Tucnak - VHF contest log Copyright (C) 2014 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SNDF_H #define __SNDF_H #include "header.h" #include "dsp.h" #ifdef HAVE_SNDFILE int sndfile_open(struct dsp *dsp, int rec); int sndfile_close(struct dsp *dsp); int sndfile_write(struct dsp *dsp, void *data, int frames); int sndfile_read(struct dsp *dsp, void *data, int frames); int sndfile_reset(struct dsp *dsp); int sndfile_sync(struct dsp *dsp); int sndfile_set_format(struct dsp *dsp, SF_INFO *sfinfo, int rec); int sndfile_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec); #endif #endif tucnak-4.32/src/ssbd.h0000644000175000017500000000465012657704623011564 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __SSBD_H #define __SSBD_H #include "header.h" #ifdef VOIP #include "voip.h" #endif struct qso; #define CE_NONE 0 #define CE_ONLY_STRFTIME 1 //#define SSBBUFFER_LEN2 512 //4096 struct ssbd { int recording; gchar *pfilename, *rfilename; #ifdef HAVE_SNDFILE GThread *thread; int proc_break; int channels; // number of sound channels. Modified only in main thread, readed in worker threads FILE *f; gchar *callsign; gint serno; short *buffer; SNDFILE *sndfile; int norecshowed; int midlevel, maxlevel, cntlevel, loglevel, oldloglevel; MUTEX_DEFINE(loglevel); time_t recstop; #ifdef Z_HAVE_SDL SDL_Surface *norecicon, *playicon, *recicon; #else void *norecicon, *playicon, *recicon; #endif int code; int swontoptype; int playedf; // frames int seek; MUTEX_DEFINE(seek); char *pl_pcmfile; #ifdef Z_HAVE_SDL short *scope_buf; // buffer for scope draw, set in main thread int scope_samples; // length of buffer in samples int scope_i; // position when filling in samples int scope_w; // scope width in frames int scope_show; // 0 = filling buffer in thread, 1 = displaying in main thread #endif #ifdef VOIP struct voip *voip; #endif struct dsp *dsp; #endif }; extern struct ssbd *gssbd; struct ssbd *init_ssbd(void); void free_ssbd(struct ssbd *ssbd); void ssbd_abort(struct ssbd *ssbd, int abort_rec); int ssbd_recording(struct ssbd *ssbd); #ifdef HAVE_SNDFILE int ssbd_play_file(struct ssbd *ssbd, gchar *filename); int ssbd_rec_file(struct ssbd *ssbd); int ssbd_callsign(struct ssbd *ssbd, char *call); void ssbd_play_read_handler(struct ssbd *ssbd, gchar *str); void ssbd_rec_read_handler(struct ssbd *ssbd, gchar *str); gpointer ssbd_play_thread_func(gpointer data); gpointer ssbd_rec_thread_func(gpointer data); void ssbd_thread_create(struct ssbd *ssbd, GThreadFunc thread_func); void ssbd_thread_join(struct ssbd *ssbd); void ssbd_watchdog(struct ssbd *ssbd, int start_rec); void ssbd_play_last_sample(struct ssbd *ssbd, struct qso *qso); #define SSBDRECORDING (gssbd->recording) #else #define SSBDRECORDING 0 #endif #endif tucnak-4.32/src/chart.c0000644000175000017500000005410413766616765011737 00000000000000/* chart - chart compare of points progress Copyright (C) 2011-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. Not Y2K1 compliant, date_str is taken without century */ #include "header.h" #include "bfu.h" #include "chart.h" #include "fifo.h" #include "hf.h" #include "html.h" #include "kbdbind.h" #include "main.h" #include "map.h" #include "menu.h" #include "tsdl.h" #include "session.h" #define TOP 20 #define BOTTOM (FONT_H + 4) #define LEFT 13 #define RIGHT 20 static void chart_import_edi(void *xxx, char *filename){ char *fname; fname = g_strdup(filename); z_filename(fname); if (z_strcasestr(fname, "TXT")){ zg_ptr_array_foreach(struct band *, b, ctest->bands){ char *c, *path, *f; c = g_strdup(filename); path = z_dirname(c); f = g_strdup_printf("%s/%c.txt", path, z_char_lc(b->bandchar)); z_wokna(f); sw_chart_load_file(gses->ontop, f, 1); g_free(c); g_free(f); } }else{ sw_chart_load_file(gses->ontop, filename, 0); } g_free(fname); sw_chart_recalc_extremes(gses->ontop, aband); } void sw_chart_choose(struct menu *menu){ int i; char *filename; progress(VTEXT(T_LOADING_CHARTS)); for (i = 0; i < menu->ni; i++){ struct menu_item *mi = menu->items + i; if (!mi->checked) continue; filename = g_strdup_printf("%s/%s/c.txt", logs_dir, (char *)mi->data); chart_import_edi(NULL, filename); g_free(filename); } progress(NULL); } void menu_chart_add_contest(void *menudata, void *itdata){ if (ctest == NULL){ log_addf(VTEXT(T_NO_CONTEST_OPENED2)); return; } contest_choose(sw_chart_choose); } void menu_chart_add_files(void *menudata, void *itdata){ char *pwd = getcwd(NULL, 0); if ( #ifdef Z_HAVE_SDL !sdl || #endif zfiledlg_open(zfiledlg, zsel, chart_import_edi, NULL, "", "txt;edi") < 0){ input_field(NULL, VTEXT(T_IMPORT_EDI), VTEXT(T_FILENAME), VTEXT(T_OK), VTEXT(T_CANCEL), gses, NULL, 150, pwd, 0, 0, NULL, chart_import_edi, NULL, 1); } if (pwd) free(pwd); } int sw_chart_kbd_func(struct subwin *sw, struct event *ev, int fw){ struct menu_item *mi = NULL; int max = 0, i; // if (!sdl) return 0; switch (kbd_action(KM_MAIN, ev)){ case ACT_HOME: menu_chart_add_files(NULL, NULL); return 1; case ACT_INSERT: menu_chart_add_contest(NULL, NULL); return 1; case ACT_DELETE: mi = NULL; for (i = 0; i < sw->chbands->len; i++){ struct chband *b; gchar *c, *tname; if (!mi) mi = new_menu(3); if (!mi) break; b = (struct chband*)g_ptr_array_index(sw->chbands, i); tname = zstr_shorten(b->tname, 20); c = g_strdup_printf("%-12s %-20s %-7s", b->pcall, tname, b->pband); g_free(tname); if (strlen(c) > max) max = strlen(c); add_to_menu(&mi, g_strdup(c), "", "", sw_chart_delete_band, b, 0); g_free(c); } set_window_ptr(gses->win, (term->x-6-max)/2,(term->y-2-i)/2); if (mi) do_menu(mi, NULL); return 1; } return 0; } int sw_chart_mouse_func(struct subwin *sw, struct event *ev, int fw){ #ifdef Z_HAVE_SDL //int lmx, lmy; if (!sdl) return 0; sw->mx = ev->mx - sw->x * FONT_W; sw->my = ev->my - sw->y * FONT_H; // int t = sw->mint + ((lmx - sw->ch_left) * (sw->maxt - sw->mint)) / (sw->ch_right - sw->ch_left); // int v = sw->minv + ((sw->ch_bottom - lmy) * (sw->maxv - sw->minv)) / (sw->ch_bottom - sw->ch_top); sw->gdirty = 1; redraw_later(); #endif return 0; } void sw_chart_redraw(struct subwin *sw, struct band *band, int flags){ int x, y; gchar *cc; int i; #ifdef Z_HAVE_SDL int j, ox, ox2, oy, oy2, t, v, bt = 0, tajm; SDL_Rect area; char s[100]; time_t now; struct tm utc; unsigned nowd, nowt; int stepv; char *oop; if (sdl && sw->screen){ time(&now); gmtime_r(&now, &utc); nowd = utc.tm_mday + 100 * (utc.tm_mon + 1 + 100 * (utc.tm_year - 100)); // no century, was + 1900 nowt = utc.tm_min + 60 * utc.tm_hour; bt = nowd; if (!sdl) return; // dbg("sw_chart_redraw(%d) t=%d..%d v=%d..%d\n", sw->gdirty, sw->mint, sw->maxt, sw->minv, sw->maxv); sw->ch_top = TOP; sw->ch_bottom = sw->screen->h - BOTTOM; if (sw->maxv >= 10000){ sprintf(s, "%dk", sw->maxv / 1000); }else{ sprintf(s, "%d", sw->maxv); } sw->ch_left = LEFT + strlen(s) * FONT_W; sw->ch_right = sw->screen->w - RIGHT; if (sw->ch_top >= sw->ch_bottom) return; if (sw->ch_left >= sw->ch_right) return; if (sw->maxt <= sw->mint) return; if (sw->maxv <= sw->minv) return; if (flags & HTML_FOR_PHOTO){ sw->mx = sw->ch_right; sw->my = sw->ch_top; } fill_area(sw->x, sw->y, sw->w, sw->h, 0); area.x = 0; area.y = 0; area.w = sw->screen->w; area.h = sw->screen->h; SDL_FillRect(sw->screen, &area, z_makecol(0, 0, 0)); z_line(sw->screen, sw->ch_left, sw->ch_top, sw->ch_left, sw->ch_bottom, sdl->gr[13]); z_line(sw->screen, sw->ch_left, sw->ch_bottom, sw->ch_right, sw->ch_bottom, sdl->gr[13]); ox = -10000; ox2 = -10000; i = ((sw->mint + 59) / 60) * 60; for (; i <= sw->maxt; i+= 60){ x = sw->ch_left + ( (i - sw->mint) * (sw->ch_right - sw->ch_left) ) / (sw->maxt - sw->mint); if (x > ox + 10){ ox = x; z_line(sw->screen, x, sw->ch_bottom + 1, x, sw->ch_bottom + 4, sdl->gr[13]); } if (x > ox2 + FONT_W * 4){ ox2 = x; sprintf(s, "%02d", (i / 60) % 24); zsdl_printf(sw->screen, x - FONT_W + 1, sw->ch_bottom + 4, sdl->gr[13], 0, 0, s); } } oy = 10000; oy2 = 10000; stepv = 100; if (sw->maxv > 1000) stepv = 100; if (sw->maxv > 2000) stepv = 200; if (sw->maxv > 5000) stepv = 500; if (sw->maxv > 10000) stepv = 1000; if (sw->maxv > 20000) stepv = 2000; if (sw->maxv > 50000) stepv = 5000; if (sw->maxv > 100000) stepv = 10000; if (sw->maxv > 200000) stepv = 20000; if (sw->maxv > 500000) stepv = 50000; if (sw->maxv > 1000000) stepv = 100000; i = ((sw->minv + stepv - 1) / stepv) * stepv; for (; i <= sw->maxv; i+= stepv){ y = sw->ch_bottom - ( (i - sw->minv) * (sw->ch_bottom - sw->ch_top) ) / (sw->maxv - sw->minv); if (y < oy - 10){ oy = y; z_line(sw->screen, sw->ch_left - 1, y, sw->ch_left - 4, y, sdl->gr[13]); } if (y < oy2 - FONT_H * 2){ oy2 = y; if (stepv >= 1000) sprintf(s, "%dk", (i / 1000)); else sprintf(s, "%d", i); zsdl_printf(sw->screen, sw->ch_left - 4 - strlen(s) * FONT_W, y - FONT_H / 2, sdl->gr[13], 0, 0, s); } } for (i = 0; i < sw->chbands->len; i++){ struct chband *b = (struct chband *)g_ptr_array_index(sw->chbands, i); if (b->band != band) continue; ox = sw->ch_left; oy = sw->ch_bottom; oop = ""; b->mouse_value = 0; for (j = 0; j < b->chqsos->len; j++){ struct chqso *q = (struct chqso *)g_ptr_array_index(b->chqsos, j); //dbg("time=%d value=%d\n", q->time, q->value); x = sw->ch_left + ( (q->time - sw->mint) * (sw->ch_right - sw->ch_left) ) / (sw->maxt - sw->mint); y = sw->ch_bottom - ( (q->value - sw->minv) * (sw->ch_bottom - sw->ch_top) ) / (sw->maxv - sw->minv); if (x < sw->mx) { b->mouse_value = q->value; b->op = q->op; } z_line(sw->screen, ox, oy, x, oy, b->color); z_line(sw->screen, x, oy, x, y, b->color); if (strcmp(q->op, oop) != 0){ z_putpixel(sw->screen, x - 1, oy - 1, b->color); z_putpixel(sw->screen, x - 1, oy , b->color); z_putpixel(sw->screen, x - 1, oy + 1, b->color); z_putpixel(sw->screen, x , oy - 1, b->color); z_putpixel(sw->screen, x , oy + 1, b->color); z_putpixel(sw->screen, x + 1, oy - 1, b->color); z_putpixel(sw->screen, x + 1, oy , b->color); z_putpixel(sw->screen, x + 1, oy + 1, b->color); z_putpixel(sw->screen, x , oy + 2, b->color); z_putpixel(sw->screen, x , oy + 3, b->color); z_putpixel(sw->screen, x , oy + 4, b->color); } ox = x; oy = y; oop = q->op; } z_line(sw->screen, ox, oy, sw->ch_right, oy, b->color); } if (band){ ox = sw->ch_left; oy = sw->ch_bottom; oop = ""; v = 0; sw->ch_mouse_value = 0; for (i = 0; i < band->qsos->len; i++){ struct qso *q = (struct qso *)g_ptr_array_index(band->qsos, i); if (i == 0) bt = atoi(q->date_str + 2); // no century if (q->error || q->dupe) continue; tajm = atoi(q->time_str); t = (atoi(q->date_str + 2) - bt) * 1440 + (tajm / 100) * 60 + tajm % 100; v += q->qsop; //dbg("time=%d value=%d\n", t, v); x = sw->ch_left + ( (t - sw->mint) * (sw->ch_right - sw->ch_left) ) / (sw->maxt - sw->mint); y = sw->ch_bottom - ( (v - sw->minv) * (sw->ch_bottom - sw->ch_top) ) / (sw->maxv - sw->minv); if (x < sw->mx) { sw->ch_mouse_value = v; sw->ch_op = q->operator_; } z_line(sw->screen, ox, oy, x, oy, sdl->gr[15]); z_line(sw->screen, x, oy, x, y, sdl->gr[15]); if (strcmp(q->operator_, oop) != 0){ z_putpixel(sw->screen, x - 1, oy - 1, sdl->gr[15]); z_putpixel(sw->screen, x - 1, oy , sdl->gr[15]); z_putpixel(sw->screen, x - 1, oy + 1, sdl->gr[15]); z_putpixel(sw->screen, x , oy - 1, sdl->gr[15]); z_putpixel(sw->screen, x , oy + 1, sdl->gr[15]); z_putpixel(sw->screen, x + 1, oy - 1, sdl->gr[15]); z_putpixel(sw->screen, x + 1, oy , sdl->gr[15]); z_putpixel(sw->screen, x + 1, oy + 1, sdl->gr[15]); z_putpixel(sw->screen, x , oy + 2, sdl->gr[15]); z_putpixel(sw->screen, x , oy + 3, sdl->gr[15]); z_putpixel(sw->screen, x , oy + 4, sdl->gr[15]); } ox = x; oy = y; oop = q->operator_; } t = (nowd - bt) * 1440 + nowt; /*double ddt = t - sw->mint; double ddx = sw->ch_right - sw->ch_left; double dmt = sw->maxt - sw->mint; double dx = sw->ch_left + (ddt * ddx) / dmt;*/ x = (int)((double)sw->ch_left + ( (t - sw->mint) * (double)(sw->ch_right - sw->ch_left) ) / (double)(sw->maxt - sw->mint)); //x = dx; if (x < ox || x >= sw->screen->w) x = sw->screen->w - 1; // dbg("nowd=%u nowt=%d bt=%d t=%d x=%d\n", nowd, nowt, bt, t, x); z_line(sw->screen, ox, oy, x, oy, sdl->gr[15]); } x = sw->ch_left + 10; y = sw->ch_top; if (band){ cc = zstr_shorten(ctest->tname, 30); zsdl_printf(sw->screen, x, y, sdl->gr[13], 0, ZFONT_TRANSP, "%-12s %-30s %-7s %-6s %d pts", ctest->pcall, cc, band->pband, sw->ch_op ? sw->ch_op : "", sw->ch_mouse_value); g_free(cc); y += FONT_H; } for (i = 0; i < sw->chbands->len; i++){ char *tname; struct chband *b = (struct chband *)g_ptr_array_index(sw->chbands, i); if (b->band != band) continue; tname = zstr_shorten(b->tname, 30); zsdl_printf(sw->screen, x, y, b->color, 0, ZFONT_TRANSP, "%-12s %-30s %-7s %-6s %d pts", b->pcall, tname, b->pband, b->op ? b->op : "", b->mouse_value); g_free(tname); y += FONT_H; } t = sw->mint + ((sw->mx - sw->ch_left) * (sw->maxt - sw->mint)) / (sw->ch_right - sw->ch_left); v = sw->minv + ((sw->ch_bottom - sw->my) * (sw->maxv - sw->minv)) / (sw->ch_bottom - sw->ch_top); zsdl_printf(sw->screen, x, y, sdl->gr[13], 0, ZFONT_TRANSP, "%02d:%02d %d pts", (t / 60) % 24, t % 60, v); /*{ int oldaa = zsdl->antialiasing; zsdl->antialiasing = 1; for (x = 1; x < 2; x++) z_line(sw->screen, 70 + x * 40, 100, 70, 300, z_makecol(0, 255, 255)); zsdl->antialiasing = oldaa; } */ } else #endif { x = 1; y = 0; if (band){ cc = g_strndup(ctest->tname, 30); clip_printf(sw, x, y, COL_NORM, "%-12s %-20s %-7s", ctest->pcall, cc, band->pband); g_free(cc); y++; } for (i = 0; i < sw->chbands->len; i++){ struct chband *b = (struct chband *)g_ptr_array_index(sw->chbands, i); if (b->band != band) continue; clip_printf(sw, x, y, COL(i % 7 + 0x41), "%-12s %-20s %-7s", b->pcall, b->tname, b->pband); y++; } } } void sw_chart_check_bounds(struct subwin *sw){ #ifdef Z_HAVE_SDL if (!sdl) return; #endif } void sw_chart_raise(struct subwin *sw){ #ifdef Z_HAVE_SDL sw->gdirty=1; #endif } void sw_chart_free_band(struct chband *b){ int i; for (i = 0; i < b->chqsos->len; i++){ struct chqso *q = (struct chqso *)g_ptr_array_index(b->chqsos, i); zg_free0(q->call); zg_free0(q->op); g_free(q); } g_ptr_array_free(b->chqsos, TRUE); zg_free0(b->pcall); zg_free0(b->pwwlo); zg_free0(b->tname); zg_free0(b->pband); zg_free0(b->filename); g_free(b); } void sw_chart_free(struct subwin *sw){ int i; if (!sw->chbands) return; for (i = 0; i < sw->chbands->len; i++){ struct chband *b = (struct chband*)g_ptr_array_index(sw->chbands, i); sw_chart_free_band(b); } g_ptr_array_free(sw->chbands, TRUE); } void sw_chart_delete_band(void *chb, void * unused){ struct chband *b = (struct chband*)chb; g_ptr_array_remove(gses->ontop->chbands, b); sw_chart_free_band(b); redraw_later(); } int sw_chart_load_file(struct subwin *sw, char *filename, int quiet){ int j, v; struct chband *b; FILE *f; GString *gs; char *val; gchar **items; int firstdate = -1; int tajm; GHashTable *hash; // if (!sdl) return; f = fopen(filename, "rt"); if (!f){ if (!quiet) log_addf(VTEXT(T_CANT_READ_S), filename); return -1; } hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); gs = g_string_sized_new(100); b = g_new0(struct chband, 1); g_ptr_array_add(sw->chbands, b); b->chqsos = g_ptr_array_new(); b->filename = g_strdup(filename); #ifdef Z_HAVE_SDL if (sdl){ char *path; unsigned hash; int r, g, l; path = g_strdup(filename); z_dirname(path); hash = g_str_hash(path); r = 0x80 | ((hash >> 1) & 0x7f); g = 0x80 | ((hash >> 9) & 0x7f); l = 0x80 | ((hash >> 17) & 0x7f); if (r < g && r < l) r = 0; if (g < r && g < l) g = 0; if (l < r && l < g) l = 0; b->color = z_makecol(r, g, l); g_free(path); // sdl->termcol[(sw->chbands->len % 6) + 8]; } #endif zfile_fgets(gs, f, 0); while(zfile_fgets(gs, f, 0) != NULL){ if (gs->str[0]=='[') break; val = strchr(gs->str, '='); *val='\0'; val++; // dbg("key='%s'\n", gs->str); if (strcasecmp(gs->str, "pcall")==0){ zg_free0(b->pcall); b->pcall = g_strdup(val); }else if (strcasecmp(gs->str, "pwwlo")==0){ zg_free0(b->pwwlo); b->pwwlo = g_strdup(val); }else if (strcasecmp(gs->str, "tname")==0){ zg_free0(b->tname); b->tname = g_strndup(val, 30); }else if (strcasecmp(gs->str, "pband")==0){ zg_free0(b->pband); b->pband = g_strndup(val, 7); b->band = find_band_by_pband(b->pband); } } while(strncasecmp(gs->str, "[qsorecords", 11)!=0){ if (zfile_fgets(gs, f, 0) == NULL) goto x; if (strncasecmp(gs->str, "qso", 3) == 0){ items = g_strsplit_set(gs->str, "=;", 0); for (j = 0; j <= 4; j++) if (!items[j]) goto bado; g_hash_table_insert(hash, g_strdup(items[0]), g_strdup(items[2])); } bado:; } v = 0; while(zfile_fgets(gs, f, 0) != NULL){ struct chqso *q; char key[20], *hkey; if (gs->str[0]=='[') break; // dbg("qso='%s'\n", gs->str); items = g_strsplit(gs->str, ";", 0); for (j = 0; j <= 11; j++) if (!items[j]) goto badq; if (firstdate < 0) firstdate = atoi(items[0]); if (!strcasecmp(items[2], "ERROR")) continue; q = g_new0(struct chqso, 1); q->call = g_strdup(items[2]); tajm = atoi(items[1]); q->time = (atoi(items[0]) - firstdate) * 1440 + (tajm / 100) * 60 + tajm % 100; q->pts = atoi(items[10]); sprintf(key, "qso%d", b->chqsos->len); hkey = g_hash_table_lookup(hash, key); q->op = g_strdup(hkey ? hkey : ""); v += q->pts; q->value = v; g_ptr_array_add(b->chqsos, q); //dbg("%d %d %d\n", q->time, q->pts, q->value); badq:; } fclose(f); x:; g_string_free(gs, TRUE); g_hash_table_destroy(hash); return 0; /* v = 0; for (i = 1400; i < 2400+1400; i += 20){ struct chqso *q = g_new0(struct chqso, 1); q->time = i; q->value = v; v += rand() % 300; g_ptr_array_add(b->chqsos, q); } */ } int sw_chart_recalc_extremes(struct subwin *sw, struct band *band){ #ifdef Z_HAVE_SDL int i, bt = 0, t, v, j, tajm; sw->mint = 1000000000; sw->maxt = 0; sw->minv = 0; sw->maxv = 0; if (band){ v = 0; for (i = 0; i < band->qsos->len; i++){ struct qso *q = (struct qso *)g_ptr_array_index(band->qsos, i); if (i == 0) bt = atoi(q->date_str + 2); if (q->error || q->dupe) continue; tajm = atoi(q->time_str); t = (atoi(q->date_str + 2) - bt) * 1440 + (tajm / 100) * 60 + tajm % 100; v += q->qsop; if (t < sw->mint) sw->mint = t; if (t > sw->maxt) sw->maxt = t; if (v < sw->minv) sw->minv = v; if (v > sw->maxv) sw->maxv = v; } } for (i = 0; i < sw->chbands->len; i++){ struct chband *b = (struct chband *)g_ptr_array_index(sw->chbands, i); if (b->band != band) continue; for (j = 0; j < b->chqsos->len; j++){ struct chqso *q = (struct chqso *)g_ptr_array_index(b->chqsos, j); if (q->time < sw->mint) sw->mint = q->time; if (q->time > sw->maxt) sw->maxt = q->time; if (q->value < sw->minv) sw->minv = q->value; if (q->value > sw->maxv) sw->maxv = q->value; } } if (sw->mint != 1000000000) sw->mint = (sw->mint / 60) * 60; sw->maxt = ((sw->maxt + 59) / 60) * 60; #endif return 0; } int chart_reload(void){ #ifdef Z_HAVE_SDL int i; struct subwin *sw=NULL; if (!sdl) return 0; /*dbg("maps_reload\n");*/ for (i=0;isubwins->len;i++){ sw=(struct subwin *)g_ptr_array_index(gses->subwins, i); if (sw->type!=SWT_CHART) continue; sw_chart_recalc_extremes(sw, aband); } if (gses && gses->ontop && gses->ontop->type==SWT_CHART) sw_chart_redraw(gses->ontop, aband, 0); #endif return 0; } int save_chart_to_file(char *filename){ int i, j, k; int ret = 0; struct subwin *subwin; struct chband *chband; FILE *f; GString *gs; f = fopen(filename, "wb"); if (!f){ log_addf(VTEXT(T_CANT_WRITE_S), filename); return errno; } j = 0; gs = g_string_new(""); for (i = 0; i < gses->subwins->len; i++){ subwin = (struct subwin *) g_ptr_array_index(gses->subwins, i); if (subwin->type != SWT_CHART) continue; for (k = 0; k < subwin->chbands->len; k++){ chband = (struct chband*)g_ptr_array_index(subwin->chbands, k); zg_string_eprintfa("e", gs, "%d;%s\r\n", j, chband->filename); } j++; } fprintf(f, "%s", gs->str); g_string_free(gs, TRUE); fclose(f); return ret; } int load_chart_from_file(gchar *filename){ FILE *f; char s[402]; struct zstring *zs; int i, j, k; char *c; struct subwin *subwin; f = fopen(filename, "rt"); if (!f){ return -1; } while((fgets(s, 400, f))!=NULL){ chomp(s); zs = zstrdup(s); k = atoi(ztokenize(zs, 1)); c = ztokenize(zs, 0); j = 0; for (i = 0; i < gses->subwins->len; i++){ subwin = (struct subwin *) g_ptr_array_index(gses->subwins, i); if (subwin->type != SWT_CHART) continue; if (j == k){ sw_chart_load_file(subwin, c, 0); } j++; } zfree(zs); } fclose(f); //z_ptr_array_qsort(qrv->qrvs, qrv->sort); return 0; } void chart_clear_all(){ zg_ptr_array_foreach(struct subwin *, subwin, gses->subwins){ //dbg("title=%s\n", subwin->title); if (!subwin->chbands) continue; { zg_ptr_array_foreachback(struct chband*, chband, subwin->chbands){ // dbg("free\n"); sw_chart_free_band(chband); g_ptr_array_remove_index(subwin->chbands, chband_i); } } } redraw_later(); } tucnak-4.32/src/winkey.c0000644000175000017500000002171614123413144012115 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. 28.Oct 2008: Modification by dl5ybz for fast fix .. this file needs review by Lada (or anyone else who codes in C) ..! Winkey2 works for me so far now 73 de Olaf / DL5YBZ Documentation: http://k1el.tripod.com/files/WinkeyInterfaceGuide.pdf */ #include "header.h" #include "bfu.h" #include "cwdaemon.h" #include "davac4.h" #include "fifo.h" #include "main.h" #include "rc.h" #include "terminal.h" #include "winkey.h" int winkey_init_serial(struct cwdaemon *cwda){ cwda->zser = zserial_init_serial(cfg->cwda_device); cwda->zser_fd = -1; // set 1200 baud, 8bit, no parity, two stop bits zserial_set_line(cwda->zser, 1200, 8, 'N', 2); zserial_nolocks(cwda->zser, cfg->nolocks); winkey_open(cwda, 1); return 0; } int winkey_init_tcp(struct cwdaemon *cwda){ dbg("winkey_init_tcp\n"); cwda->zser = zserial_init_tcp(cfg->cwda_hostname, cfg->cwda_udp_port); cwda->zser_fd = -1; //// set 1200 baud, 8bit, no parity, two stop bits //zserial_set_line(cwda->zser, 1200, 8, 'N', 2); // useless over TCP winkey_open(cwda, 1); return 0; } int winkey_write(struct cwdaemon *cwda, void *data, int len){ int ret; ret = zserial_write(cwda->zser, data, len); if (ret < 0){ dbg("winkey_write: zserial_write failed\n"); if (cwda->zser_fd >= 0){ zselect_set(zsel, cwda->zser_fd, NULL, NULL, NULL, cwda); cwda->zser_fd = -1; } } return ret; } int winkey_open(struct cwdaemon *cwda, int verbose){ int i; char s[256]; dbg("winkey_open(verbose=%d)\n", verbose); if (zserial_open(cwda->zser)){ if (verbose) log_addf("Winkey: %s", zserial_errorstr(cwda->zser)); // winkey_reset(cwda); // winkey_free(cwda); return -1; } // to power up enable DTR and disable RTS zserial_dtr(cwda->zser, 1); zserial_rts(cwda->zser, 0); if (!cfg->wk_wk2){ // delay 500ms for winkey init usleep(500000); // calibration command winkey_write(cwda, "\x00\x00", 2); usleep(100000); winkey_write(cwda, "\xff", 1); } // is winkey attached? echo command winkey_write(cwda, "\x00\x04\x55", 3); i = winkey_read(cwda, 999); // dbg("winkey_read: %d\n", i); if (i < 0){ if (verbose) log_addf(VTEXT(T_CANT_INIT_WINKEY_S), cfg->cwda_device); zserial_close(cwda->zser); return -1; } // open winkey hostmode winkey_write(cwda, "\x00\x02", 2); i = winkey_read(cwda, 500); // dbg("winkey_read: %d\n", i); if (i < 0){ if (verbose) error("Can't open winkey hostmode"); zserial_close(cwda->zser); return -1; } cwda->winkey_version = (unsigned char)i; if (cwda->winkey_version >= 20){ // >= 2.0 // set WK2 mode winkey_write(cwda, "\x00\x0b", 2); } // setup speed pot sprintf(s, "\x05%c\x1f\xff", cfg->cwda_minwpm); winkey_write(cwda, s, 4); // winkey2 mode if (cwda->winkey_version >= 20){ s[0] = '\x0e'; s[1] = ((cfg->wk_keymode-1)&0x03) << 4; if (cfg->wk_swap) s[1] |= 0x08; //dbg("wk_keymode=%d winkey2 mode=0x%02x\n", cfg->wk_keymode, s[1]); winkey_write(cwda, s, 2); } // force to send speed pot value winkey_write(cwda, "\x07", 1); // force to send status winkey_write(cwda, "\x15", 1); // set PTT lead in s[0] = '\04'; s[1] = cfg->cwda_leadin / 10; s[2] = cfg->cwda_tail / 10; //s[2] = '\x01'; // \x00 means something strange, see winkeyusbman.pdf winkey_write(cwda, s, 3); cwda->zser_fd = zserial_fd(cwda->zser); zselect_set(zsel, cwda->zser_fd, winkey_read_handler, NULL, NULL, cwda); return 0; } int winkey_free(struct cwdaemon *cwda){ if (!cwda) return 0; // dbg("Winkey_CW_host leaving sequence\n"); winkey_write(cwda, "\x0a", 1); /*clear Buffer*/ winkey_write(cwda, "\x00\x03", 2); /*leave hostmode*/ // clear DTR zserial_dtr(cwda->zser, 0); if (cwda->zser_fd >= 0){ zselect_set(zsel, cwda->zser_fd, NULL, NULL, NULL, cwda); cwda->zser_fd = -1; } zserial_free(cwda->zser); cwda->zser = NULL; return 0; } int winkey_read(struct cwdaemon *cwda, int timeout_ms){ unsigned char c; if (zserial_read(cwda->zser, &c, 1, timeout_ms) != 1){ if (cwda->zser_fd >= 0){ zselect_set(zsel, cwda->zser_fd, NULL, NULL, NULL, cwda); cwda->zser_fd = -1; } return -1; } return (int)c; } int winkey_reset(struct cwdaemon *cwda){ if (!cwda || cwda->fd<0) return 0; winkey_write(cwda, "\x0a", 1); return 0; } int winkey_cw(struct cwdaemon *cwda, int onoff){ return 0; } int winkey_ptt(struct cwdaemon *cwda, int onoff){ char s[16]; dbg("winkey_ptt(%d)\n", onoff); if (!cwda || cwda->fd<0) return 0; sprintf(s,"\x18%c", onoff ? '\x01' : '\x00'); winkey_write(cwda, s, 2); return 0; } int winkey_ssbway(struct cwdaemon *cwda, int onoff){ return 0; } int winkey_text(struct cwdaemon *cwda, char *text){ char *c, *s, *d; dbg("winkey_text fd=%d\n", cwda->fd); if (!cwda || cwda->fd<0) return 0; s = g_strdup(text); for (c=text, d=s; *c!='\0'; c++, d++) *d=toupper(*c); // dbg("winkey_text('%s')\n", s); winkey_write(cwda, s, strlen(s)); g_free(s); return 0; } int winkey_speed(struct cwdaemon *cwda, int wpm){ char s[16]; if (!cwda || cwda->fd<0) return 0; dbg("winkey_speed=%d\n", wpm); sprintf(s,"\x02%c", wpm); winkey_write(cwda, s, 2); return 0; } int winkey_weight(struct cwdaemon *cwda, int weight){ char s[16]; if (!cwda || cwda->fd<0) return 0; dbg("winkey_weight=%d\n", weight); sprintf(s,"\x03%c", weight ); winkey_write(cwda, s, 2); return 0; } int winkey_tune(struct cwdaemon *cwda, int tune){ char s[16]; if (!cwda || cwda->fd<0) return 0; sprintf(s, "\x0b%c", tune ? '\x01' : '\x00'); winkey_write(cwda, s, 2); return 0; } int winkey_back(struct cwdaemon *cwda){ char s[16]; if (!cwda || cwda->fd<0) return 0; strcpy(s, "\x08"); winkey_write(cwda, s, 1); return 0; } void winkey_read_handler(void *arg){ char s[1024], status; int ret, i, speed; struct cwdaemon *cwda; cwda = (struct cwdaemon*)arg; ret = z_pipe_read(cwda->zser_fd, s, 1000); if (ret<=0) return; // dbg("winkey_read_handler("); for (i=0; iwinkey_oldstatus){ if (cwda->winkey_version >= 20 && status & 0x08 && cfg->wk_usebut){ // pushbutton status // dbg("keys=%02x ", status & 0x17); if ((status&0x01) && (cwda->winkey_oldstatus&0x01)==0) cq_run_by_number(0); else if ((status&0x02) && (cwda->winkey_oldstatus&0x02)==0) cq_run_by_number(1); else if ((status&0x04) && (cwda->winkey_oldstatus&0x04)==0) cq_run_by_number(2); else if ((status&0x10) && (cwda->winkey_oldstatus&0x10)==0) cq_run_by_number(3); }else{ // status if (status & 0x02){ // dbg("break in "); zselect_msg_send(zsel, "%s;%s", "CW", "b"); //ret2 = write(tpipe->threadpipe_write, "CW;b\n", 5); }else if ((cwda->winkey_oldstatus & 0x04) != 0 && (status & 0x04) == 0){ // dbg("text played cq=%p ", gses->last_cq); zselect_msg_send(zsel, "%s;%s", "CW", "e"); //ret2 = write(tpipe->threadpipe_write, "CW;e\n", 5); } } cwda->winkey_oldstatus = status; } }else if ((s[i] & 0xc0) == 0x80){ speed = (s[i] & 0x1f) + cfg->cwda_minwpm; if (cfg->wk_usepot && speed != cwda->speed){ cwda->speed = speed; // dbg("pot=%d WPM ", cwda->speed); if (cwda->sspeed) cwda->sspeed(cwda, cwda->speed); redraw_later(); } }else{ // dbg("char=%c ", s[i]); } } // dbg(")\r\n"); } /*int winkey4_init(struct cwdaemon *cwda){ winkey_init(cwda); #ifdef Z_HAVE_LIBFTDI davac4_init(cwda); #endif return 0; } int winkey4_free(struct cwdaemon *cwda){ winkey_free(cwda); #ifdef Z_HAVE_LIBFTDI davac4_free(cwda); #endif return 0; } int winkey4_reset(struct cwdaemon *cwda){ winkey_reset(cwda); #ifdef Z_HAVE_LIBFTDI davac4_reset(cwda); #endif return 0; } */ tucnak-4.32/src/main.h0000644000175000017500000000175213766622066011557 00000000000000/* Tucnak - VHF contest log Copyright (C) 2011-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef __MAIN_H #define __MAIN_H #define RET_OK 0 #define RET_ERROR 1 #define RET_SIGNAL 2 #define RET_SYNTAX 3 #define RET_FATAL 4 extern int retval; extern char *starting_sbrk; extern int first_contest_def; extern struct zselect *zsel; extern struct zfiledlg *zfiledlg; extern char *tucnak_dir; extern char *logs_dir; extern char *home_dir; void unhandle_terminal_signals(void); void unhandle_basic_signals(void); int term_attach_terminal(int, int, int); void handle_basic_signals(struct terminal *term); void sig_segv(void *arg); void info(GString *gs); void settings(GString *gs); #ifdef Z_ANDROID void android_trace_keys(char *s); #endif void redraw(void); void set_logs_dir(void); #endif tucnak-4.32/src/txts.inc0000644000175000017500000243565214125266655012171 00000000000000/* Automatically generated by txt2inc.pl */ const char txt_aircrafts[5296] = "0000 50\n" "320 117\n" "330 198\n" "733 102\n" "A109 20\n" "A119 10\n" "A124 241\n" "A139 44\n" "A140 84\n" "A158 93\n" "A19N 117\n" "A20N 117\n" "A210 33\n" "A21N 117\n" "A306 147\n" "A30B 147\n" "A310 144\n" "A318 112\n" "A319 112\n" "A320 117\n" "A321 117\n" "A332 198\n" "A333 198\n" "A338 206\n" "A342 198\n" "A343 198\n" "A345 208\n" "A346 208\n" "A359 212\n" "A35K 209\n" "A388 262\n" "A38F 262\n" "A3ST 147\n" "A400 139\n" "A500 44\n" "A748 100\n" "AA1 25\n" "AA5 32\n" "AC11 32\n" "AC50 49\n" "AC52 44\n" "AC56 49\n" "AC68 49\n" "AC80 49\n" "AC90 47\n" "AC95 52\n" "AEST 37\n" "AJET 29\n" "AN12 125\n" "AN2 60\n" "AN26 95\n" "AN32 95\n" "ARCP 64\n" "ARVA 69\n" "AS02 32\n" "AS28 49\n" "AS31 68\n" "AS50 20\n" "ASTR 53\n" "AT3P 45\n" "AT3T 51\n" "AT43 81\n" "AT45 81\n" "AT46 79\n" "AT5T 52\n" "AT6T 56\n" "AT72 89\n" "AT73 87\n" "AT75 88\n" "AT76 87\n" "AT8T 59\n" "ATL2 123\n" "B18T 46\n" "B190 55\n" "B350 58\n" "B38M 117\n" "B39M 117\n" "B461 86\n" "B462 86\n" "B463 86\n" "B52 185\n" "B703 146\n" "B712 93\n" "B720 131\n" "B721 108\n" "B722 109\n" "B731 93\n" "B732 93\n" "B733 95\n" "B734 95\n" "B735 95\n" "B736 117\n" "B737 117\n" "B738 117\n" "B739 117\n" "B741 196\n" "B742 196\n" "B743 196\n" "B744 213\n" "B748 224\n" "B752 125\n" "B753 125\n" "B762 156\n" "B763 156\n" "B764 170\n" "B772 208\n" "B773 242\n" "B77L 200\n" "B77W 213\n" "B788 197\n" "B789 197\n" "B78X 197\n" "BA11 94\n" "BALL 1\n" "BCS1 115\n" "BCS3 115\n" "BE10 46\n" "BE18 50\n" "BE20 55\n" "BE23 32\n" "BE30 55\n" "BE33 34\n" "BE35 34\n" "BE36 34\n" "BE40 44\n" "BE55 38\n" "BE56 38\n" "BE58 38\n" "BE60 39\n" "BE76 38\n" "BE77 30\n" "BE80 46\n" "BE8T 46\n" "BE90 46\n" "BE95 38\n" "BE99 46\n" "BE9L 50\n" "BE9T 55\n" "BL8 32\n" "BT36 33\n" "BU81 34\n" "BX2 22\n" "C10T 37\n" "C130 133\n" "C141 160\n" "C150 33\n" "C152 33\n" "C162 30\n" "C17 169\n" "C172 36\n" "C175 36\n" "C177 36\n" "C180 36\n" "C182 36\n" "C185 36\n" "C195 36\n" "C206 36\n" "C207 91\n" "C208 52\n" "C210 37\n" "C212 66\n" "C25A 50\n" "C25B 53\n" "C25C 51\n" "C25M 47\n" "C27J 94\n" "C295 83\n" "C303 39\n" "C30J 133\n" "C310 37\n" "C320 37\n" "C337 38\n" "C340 38\n" "C401 44\n" "C402 44\n" "C404 46\n" "C411 40\n" "C414 44\n" "C421 44\n" "C42 31\n" "C425 44\n" "C441 49\n" "C500 47\n" "C501 47\n" "C510 43\n" "C5 223\n" "C525 47\n" "C550 52\n" "C55B 52\n" "C560 55\n" "C56X 56\n" "C650 54\n" "C680 72\n" "C68A 72\n" "C72R 36\n" "C750 69\n" "C77R 35\n" "C82R 36\n" "C82S 36\n" "C97 141\n" "CH7A 35\n" "CL30 64\n" "CL35 69\n" "CL44 142\n" "CL60 64\n" "CN35 85\n" "COL3 36\n" "COL4 36\n" "CRJ1 69\n" "CRJ2 69\n" "CRJ7 76\n" "CRJ9 80\n" "CRJX 84\n" "CVLP 92\n" "CVLT 92\n" "D228 17\n" "D28D 51\n" "D328 69\n" "DA40 39\n" "DA42 45\n" "DA62 48\n" "DC3 95\n" "DC92 90\n" "DC93 93\n" "DC94 93\n" "DC95 93\n" "DG1T 65\n" "DH3T 58\n" "DH8A 85\n" "DH8C 90\n" "DH8D 93\n" "DHC2 48\n" "DHC4 96\n" "DHC6 65\n" "DHC7 93\n" "DIMO 52\n" "DOVE 57\n" "DR10 28\n" "DR40 28\n" "DV20 35\n" "E110 50\n" "E120 65\n" "E135 66\n" "E145 66\n" "E170 85\n" "E190 94\n" "E195 94\n" "E290 109\n" "E300 24\n" "E35L 66\n" "E500 38\n" "E50P 40\n" "E545 65\n" "E550 66\n" "E55P 52\n" "E75L 94 \n" "E75S 85\n" "EA50 37\n" "EC20 20\n" "EC30 30\n" "EC35 33\n" "EC45 10\n" "EC75 20\n" "ECHO 28\n" "EFOX 29\n" "EGRT 108\n" "F100 92\n" "F172 36\n" "F2TH 70\n" "F406 49 \n" "F50 95\n" "F70 91\n" "F8L 26\n" "F900 70\n" "FA10 43\n" "FA20 54\n" "FA50 62\n" "FA7X 86\n" "FA8X 95\n" "FK9 32\n" "G280 63\n" "G80 56\n" "GALX 58\n" "GL5T 94\n" "GL7T 104\n" "GLAS 24\n" "GLEX 94\n" "GLF4 78\n" "GLF5 94\n" "GLF6 95\n" "GLID 1\n" "GOLF 1\n" "GYRO 1\n" "H1T 30\n" "H25B 54\n" "H25C 47\n" "HA4T 61\n" "HDJT 40\n" "HERN 72\n" "HUSK 35\n" "IL18 123\n" "IL62 141\n" "IL76 166\n" "J328 68\n" "JS32 51\n" "K35R 129\n" "L101 155\n" "L200 38\n" "L29A 54\n" "L39 31\n" "L410 65\n" "LJ24 36\n" "LJ25 36\n" "LJ31 44\n" "LJ35 40\n" "LJ40 48\n" "LJ45 48\n" "LJ55 44\n" "LJ60 44\n" "LJ75 51\n" "LMK1 20\n" "LNC2 26\n" "LNP4 30\n" "M18 58\n" "M20P 36\n" "M20T 36\n" "M28 72\n" "M600 43\n" "MCR1 21\n" "MD11 169\n" "MD82 108\n" "MD83 108\n" "MD88 108\n" "MD90 108\n" "MO18 27\n" "MO20 36\n" "MO22 35\n" "MU2 39\n" "N262 72\n" "NG5 26\n" "NOMA 54\n" "P06T 37\n" "P180 46\n" "P208 28\n" "P210 36\n" "P28A 35\n" "P28B 30\n" "P28R 35\n" "P28S 35\n" "P28T 35\n" "P28U 30\n" "P3 100\n" "P32R 32\n" "P46T 43\n" "P68 39\n" "P750 42\n" "PA18 35\n" "PA27 36\n" "PA28 32\n" "PA30 36\n" "PA31 41\n" "PA32 28\n" "PA34 39\n" "PA44 39\n" "PA46 43\n" "PARA 1\n" "PAY1 43\n" "PAY2 43\n" "PAY3 48\n" "PAY4 48\n" "PC12 53\n" "PC21 28\n" "PC24 55\n" "PC6T 52\n" "PC7 34\n" "PC9 33\n" "PIAT 34\n" "PIPA 35\n" "PISI 49\n" "PIVI 34\n" "PNR4 28\n" "PRM1 45\n" "PZ3T 32\n" "R22 10\n" "R44 10\n" "RJ1H 86\n" "RJ70 86\n" "RJ85 86\n" "ROBI 10\n" "RV10 31\n" "RV7 21\n" "S10 34\n" "S10S 75\n" "S210 113\n" "S22T 37\n" "S550 52\n" "S601 42\n" "SB20 81\n" "SBR1 51\n" "SBR2 50\n" "SC7 64\n" "SF25 50\n" "SF34 70\n" "SF50 23\n" "SGUP 156\n" "SH33 75\n" "SH36 75\n" "SHIP 1\n" "SIRA 29\n" "SR20 35\n" "SR22 38\n" "SU95 91\n" "SUBA 30\n" "SVNH 29\n" "SW3 45\n" "SW4 50\n" "T204 138\n" "T206 36\n" "TB20 32\n" "TB21 30\n" "TBM7 42\n" "TBM8 42\n" "TBM9 42\n" "TOBA 30\n" "TRID 98\n" "TRIN 30\n" "TRIS 53\n" "UHEL 1\n" "ULAC 1\n" "VTOR 39\n" "WA40 32\n" "WA50 30\n" "WT9 30\n" "WW24 45\n" "YK42 114\n" ; const char txt_cty[65527] = "Sov Mil Order of Malta: 15: 28: EU: 41.90: -12.43: -1.0: 1A:\n" " 1A;\n" "Spratly Islands: 26: 50: AS: 9.88: -114.23: -8.0: 1S:\n" " 1S,9M0,BV9S,=9M4SLL;\n" "Monaco: 14: 27: EU: 43.73: -7.40: -1.0: 3A:\n" " 3A;\n" "Agalega & St. Brandon: 39: 53: AF: -10.45: -56.67: -4.0: 3B6:\n" " 3B6,3B7;\n" "Mauritius: 39: 53: AF: -20.35: -57.50: -4.0: 3B8:\n" " 3B8;\n" "Rodriguez Island: 39: 53: AF: -19.70: -63.42: -4.0: 3B9:\n" " 3B9;\n" "Equatorial Guinea: 36: 47: AF: 1.70: -10.33: -1.0: 3C:\n" " 3C;\n" "Annobon Island: 36: 52: AF: -1.43: -5.62: -1.0: 3C0:\n" " 3C0;\n" "Fiji: 32: 56: OC: -17.78: -177.92: -12.0: 3D2:\n" " 3D2;\n" "Conway Reef: 32: 56: OC: -22.00: -175.00: -12.0: 3D2/c:\n" " =3D2C;\n" "Rotuma Island: 32: 56: OC: -12.48: -177.08: -12.0: 3D2/r:\n" " =3D2RI;\n" "Swaziland: 38: 57: AF: -26.65: -31.48: -2.0: 3DA:\n" " 3DA;\n" "Tunisia: 33: 37: AF: 35.40: -9.32: -1.0: 3V:\n" " 3V,TS;\n" "Vietnam: 26: 49: AS: 15.80: -107.90: -7.0: 3W:\n" " 3W,XV;\n" "Guinea: 35: 46: AF: 11.00: 10.68: 0.0: 3X:\n" " 3X;\n" "Bouvet: 38: 67: AF: -54.42: -3.38: -1.0: 3Y/b:\n" " =3Y0E;\n" "Peter 1 Island: 12: 72: SA: -68.77: 90.58: 4.0: 3Y/p:\n" " =3Y0X;\n" "Azerbaijan: 21: 29: AS: 40.45: -47.37: -4.0: 4J:\n" " 4J,4K;\n" "Georgia: 21: 29: AS: 42.00: -45.00: -4.0: 4L:\n" " 4L,UF6V;\n" "Montenegro: 15: 28: EU: 42.50: -19.28: -1.0: 4O:\n" " 4O;\n" "Sri Lanka: 22: 41: AS: 7.60: -80.70: -5.5: 4S:\n" " 4P,4Q,4R,4S;\n" "ITU HQ: 14: 28: EU: 46.17: -6.05: -1.0: 4U1I:\n" " 4U0I,4U1I,4U2I,4U3I,4U4I,4U5I,4U6I,4U7I,4U8I,4U9I,=4U1WRC;\n" "United Nations HQ: 05: 08: NA: 40.75: 73.97: 5.0: 4U1U:\n" " 4U1U;\n" "Vienna Intl Ctr: 15: 28: EU: 48.20: -16.30: -1.0: *4U1V:\n" " 4U1V;\n" "Timor - Leste: 28: 54: OC: -8.80: -126.05: -9.0: 4W:\n" " 4W;\n" "Israel: 20: 39: AS: 31.32: -34.82: -2.0: 4X:\n" " 4X,4Z;\n" "Libya: 34: 38: AF: 27.20: -16.60: -2.0: 5A:\n" " 5A;\n" "Cyprus: 20: 39: AS: 35.00: -33.00: -2.0: 5B:\n" " 5B,C4,H2,P3;\n" "Tanzania: 37: 53: AF: -5.75: -33.92: -3.0: 5H:\n" " 5H,5I;\n" "Nigeria: 35: 46: AF: 9.87: -7.55: -1.0: 5N:\n" " 5N,5O;\n" "Madagascar: 39: 53: AF: -19.00: -46.58: -3.0: 5R:\n" " 5R,5S,6X;\n" "Mauritania: 35: 46: AF: 20.60: 10.50: 0.0: 5T:\n" " 5T;\n" "Niger: 35: 46: AF: 17.63: -9.43: -1.0: 5U:\n" " 5U;\n" "Togo: 35: 46: AF: 8.40: -1.28: 0.0: 5V:\n" " 5V;\n" "Samoa: 32: 62: OC: -13.93: 171.70: -13.0: 5W:\n" " 5W;\n" "Uganda: 37: 48: AF: 1.92: -32.60: -3.0: 5X:\n" " 5X;\n" "Kenya: 37: 48: AF: 0.32: -38.15: -3.0: 5Z:\n" " 5Y,5Z;\n" "Senegal: 35: 46: AF: 15.20: 14.63: 0.0: 6W:\n" " 6V,6W;\n" "Jamaica: 08: 11: NA: 18.20: 77.47: 5.0: 6Y:\n" " 6Y;\n" "Yemen: 21: 39: AS: 15.65: -48.12: -3.0: 7O:\n" " 7O;\n" "Lesotho: 38: 57: AF: -29.22: -27.88: -2.0: 7P:\n" " 7P;\n" "Malawi: 37: 53: AF: -14.00: -34.00: -2.0: 7Q:\n" " 7Q;\n" "Algeria: 33: 37: AF: 28.00: -2.00: -1.0: 7X:\n" " 7R,7T,7U,7V,7W,7X,7Y;\n" "Barbados: 08: 11: NA: 13.18: 59.53: 4.0: 8P:\n" " 8P;\n" "Maldives: 22: 41: AS: 4.15: -73.45: -5.0: 8Q:\n" " 8Q;\n" "Guyana: 09: 12: SA: 6.02: 59.45: 4.0: 8R:\n" " 8R;\n" "Croatia: 15: 28: EU: 45.18: -15.30: -1.0: 9A:\n" " 9A,=VERSION;\n" "Ghana: 35: 46: AF: 7.70: 1.57: 0.0: 9G:\n" " 9G;\n" "Malta: 15: 28: EU: 35.88: -14.42: -1.0: 9H:\n" " 9H;\n" "Zambia: 36: 53: AF: -14.22: -26.73: -2.0: 9J:\n" " 9I,9J;\n" "Kuwait: 21: 39: AS: 29.38: -47.38: -3.0: 9K:\n" " 9K,NLD;\n" "Sierra Leone: 35: 46: AF: 8.50: 13.25: 0.0: 9L:\n" " 9L;\n" "West Malaysia: 28: 54: AS: 3.95: -102.23: -8.0: 9M2:\n" " 9M2,9M4,9W2,9W4,=9M8DX/2;\n" "East Malaysia: 28: 54: OC: 2.68: -113.32: -8.0: 9M6:\n" " 9M6,9M8,9M9,9W6,9W8,=9M4SAB;\n" "Nepal: 22: 42: AS: 27.70: -85.33: -5.75: 9N:\n" " 9N;\n" "Dem. Rep. of the Congo: 36: 52: AF: -3.12: -23.03: -1.0: 9Q:\n" " 9O,9P,9Q,9R,9S,9T;\n" "Burundi: 36: 52: AF: -3.17: -29.78: -2.0: 9U:\n" " 9U;\n" "Singapore: 28: 54: AS: 1.37: -103.78: -8.0: 9V:\n" " 9V,S6;\n" "Rwanda: 36: 52: AF: -1.75: -29.82: -2.0: 9X:\n" " 9X;\n" "Trinidad & Tobago: 09: 11: SA: 10.38: 61.28: 4.0: 9Y:\n" " 9Y,9Z;\n" "Botswana: 38: 57: AF: -22.00: -24.00: -2.0: A2:\n" " 8O,A2;\n" "Tonga: 32: 62: OC: -21.22: 175.13: -13.0: A3:\n" " A3;\n" "Oman: 21: 39: AS: 23.60: -58.55: -4.0: A4:\n" " A4;\n" "Bhutan: 22: 41: AS: 27.40: -90.18: -6.0: A5:\n" " A5;\n" "United Arab Emirates: 21: 39: AS: 24.00: -54.00: -4.0: A6:\n" " A6;\n" "Qatar: 21: 39: AS: 25.25: -51.13: -3.0: A7:\n" " A7;\n" "Bahrain: 21: 39: AS: 26.03: -50.53: -3.0: A9:\n" " A9;\n" "Pakistan: 21: 41: AS: 30.00: -70.00: -5.0: AP:\n" " 6P,6Q,6R,6S,AP,AQ,AR,AS;\n" "Scarborough Reef: 27: 50: AS: 15.08: -117.72: -8.0: BS7:\n" " =BS7H;\n" "Taiwan: 24: 44: AS: 23.72: -120.88: -8.0: BV:\n" " BM,BN,BO,BP,BQ,BU,BV,BW,BX;\n" "Pratas Island: 24: 44: AS: 20.70: -116.70: -8.0: BV9P:\n" " BM9P,BN9P,BO9P,BP9P,BQ9P,BU9P,BV9P,BW9P,BX9P;\n" "China: 24: 44: AS: 36.00: -102.00: -8.0: BY:\n" " 3H,3H0(23)[42],3H9(23)[43],3I,3I0(23)[42],3I9(23)[43],3J,3J0(23)[42],\n" " 3J9(23)[43],3K,3K0(23)[42],3K9(23)[43],3L,3L0(23)[42],3L9(23)[43],3M,\n" " 3M0(23)[42],3M9(23)[43],3N,3N0(23)[42],3N9(23)[43],3O,3O0(23)[42],\n" " 3O9(23)[43],3P,3P0(23)[42],3P9(23)[43],3Q,3Q0(23)[42],3Q9(23)[43],3R,\n" " 3R0(23)[42],3R9(23)[43],3S,3S0(23)[42],3S9(23)[43],3T,3T0(23)[42],\n" " 3T9(23)[43],3U,3U0(23)[42],3U9(23)[43],B0(23)[42],B2,B3,B4,B5,B6,B7,B8,\n" " B9(23)[43],BA,BA0(23)[42],BA9(23)[43],BD,BD0(23)[42],BD9(23)[43],BG,\n" " BG0(23)[42],BG9(23)[43],BH,BH0(23)[42],BH9(23)[43],BI,BJ,BJ0(23)[42],\n" " BJ9(23)[43],BL,BL0(23)[42],BL9(23)[43],BT,BT0(23)[42],BT9(23)[43],BY,\n" " BY0(23)[42],BY9(23)[43],BZ,BZ0(23)[42],BZ9(23)[43],XS,XS0(23)[42],\n" " XS9(23)[43],B1,B2A[33],B2B[33],B2C[33],B2D[33],B2E[33],B2F[33],B2G[33],\n" " B2H[33],B2I[33],B2J[33],B2K[33],B2L[33],B2M[33],B2N[33],B2O[33],B2P[33],\n" " B3G(23)[33],B3H(23)[33],B3I(23)[33],B3J(23)[33],B3K(23)[33],B3L(23)[33],\n" " B6Q[43],B6R[43],B6S[43],B6T[43],B6U[43],B6V[43],B6W[43],B6X[43],B7A[43],\n" " B7B[43],B7C[43],B7D[43],B7E[43],B7F[43],B7G[43],B7H[43],B7Q[43],B7R[43],\n" " B7S[43],B7T[43],B7U[43],B7V[43],B7W[43],B7X[43],B8A[43],B8B[43],B8C[43],\n" " B8D[43],B8E[43],B8F[43],B8G[43],B8H[43],B8I[43],B8J[43],B8K[43],B8L[43],\n" " B8M[43],B8N[43],B8O[43],B8P[43],B8Q[43],B8R[43],B8S[43],B8T[43],B8U[43],\n" " B8V[43],B8W[43],B8X[43],B9A(24)[43],B9B(24)[43],B9C(24)[43],B9D(24)[43],\n" " B9E(24)[43],B9F(24)[43],B9S(23)[42],B9T(23)[42],B9U(23)[42],B9V(23)[42],\n" " B9W(23)[42],B9X(23)[42],BA2A[33],BA2B[33],BA2C[33],BA2D[33],BA2E[33],\n" " BA2F[33],BA2G[33],BA2H[33],BA2I[33],BA2J[33],BA2K[33],BA2L[33],BA2M[33],\n" " BA2N[33],BA2O[33],BA2P[33],BA3G(23)[33],BA3H(23)[33],BA3I(23)[33],\n" " BA3J(23)[33],BA3K(23)[33],BA3L(23)[33],BA6Q[43],BA6R[43],BA6S[43],\n" " BA6T[43],BA6U[43],BA6V[43],BA6W[43],BA6X[43],BA7A[43],BA7B[43],BA7C[43],\n" " BA7D[43],BA7E[43],BA7F[43],BA7G[43],BA7H[43],BA7Q[43],BA7R[43],BA7S[43],\n" " BA7T[43],BA7U[43],BA7V[43],BA7W[43],BA7X[43],BA8A[43],BA8B[43],BA8C[43],\n" " BA8D[43],BA8E[43],BA8F[43],BA8G[43],BA8H[43],BA8I[43],BA8J[43],BA8K[43],\n" " BA8L[43],BA8M[43],BA8N[43],BA8O[43],BA8P[43],BA8Q[43],BA8R[43],BA8S[43],\n" " BA8T[43],BA8U[43],BA8V[43],BA8W[43],BA8X[43],BA9A(24)[43],BA9B(24)[43],\n" " BA9C(24)[43],BA9D(24)[43],BA9E(24)[43],BA9F(24)[43],BA9S(23)[42],\n" " BA9T(23)[42],BA9U(23)[42],BA9V(23)[42],BA9W(23)[42],BA9X(23)[42],BD2A[33],\n" " BD2B[33],BD2C[33],BD2D[33],BD2E[33],BD2F[33],BD2G[33],BD2H[33],BD2I[33],\n" " BD2J[33],BD2K[33],BD2L[33],BD2M[33],BD2N[33],BD2O[33],BD2P[33],\n" " BD3G(23)[33],BD3H(23)[33],BD3I(23)[33],BD3J(23)[33],BD3K(23)[33],\n" " BD3L(23)[33],BD6Q[43],BD6R[43],BD6S[43],BD6T[43],BD6U[43],BD6V[43],\n" " BD6W[43],BD6X[43],BD7A[43],BD7B[43],BD7C[43],BD7D[43],BD7E[43],BD7F[43],\n" " BD7G[43],BD7H[43],BD7Q[43],BD7R[43],BD7S[43],BD7T[43],BD7U[43],BD7V[43],\n" " BD7W[43],BD7X[43],BD8A[43],BD8B[43],BD8C[43],BD8D[43],BD8E[43],BD8F[43],\n" " BD8G[43],BD8H[43],BD8I[43],BD8J[43],BD8K[43],BD8L[43],BD8M[43],BD8N[43],\n" " BD8O[43],BD8P[43],BD8Q[43],BD8R[43],BD8S[43],BD8T[43],BD8U[43],BD8V[43],\n" " BD8W[43],BD8X[43],BD9A(24)[43],BD9B(24)[43],BD9C(24)[43],BD9D(24)[43],\n" " BD9E(24)[43],BD9F(24)[43],BD9S(23)[42],BD9T(23)[42],BD9U(23)[42],\n" " BD9V(23)[42],BD9W(23)[42],BD9X(23)[42],BG2A[33],BG2B[33],BG2C[33],\n" " BG2D[33],BG2E[33],BG2F[33],BG2G[33],BG2H[33],BG2I[33],BG2J[33],BG2K[33],\n" " BG2L[33],BG2M[33],BG2N[33],BG2O[33],BG2P[33],BG3G(23)[33],BG3H(23)[33],\n" " BG3I(23)[33],BG3J(23)[33],BG3K(23)[33],BG3L(23)[33],BG6Q[43],BG6R[43],\n" " BG6S[43],BG6T[43],BG6U[43],BG6V[43],BG6W[43],BG6X[43],BG7A[43],BG7B[43],\n" " BG7C[43],BG7D[43],BG7E[43],BG7F[43],BG7G[43],BG7H[43],BG7Q[43],BG7R[43],\n" " BG7S[43],BG7T[43],BG7U[43],BG7V[43],BG7W[43],BG7X[43],BG8A[43],BG8B[43],\n" " BG8C[43],BG8D[43],BG8E[43],BG8F[43],BG8G[43],BG8H[43],BG8I[43],BG8J[43],\n" " BG8K[43],BG8L[43],BG8M[43],BG8N[43],BG8O[43],BG8P[43],BG8Q[43],BG8R[43],\n" " BG8S[43],BG8T[43],BG8U[43],BG8V[43],BG8W[43],BG8X[43],BG9A(24)[43],\n" " BG9B(24)[43],BG9C(24)[43],BG9D(24)[43],BG9E(24)[43],BG9F(24)[43],\n" " BG9S(23)[42],BG9T(23)[42],BG9U(23)[42],BG9V(23)[42],BG9W(23)[42],\n" " BG9X(23)[42],BH2A[33],BH2B[33],BH2C[33],BH2D[33],BH2E[33],BH2F[33],\n" " BH2G[33],BH2H[33],BH2I[33],BH2J[33],BH2K[33],BH2L[33],BH2M[33],BH2N[33],\n" " BH2O[33],BH2P[33],BH3G(23)[33],BH3H(23)[33],BH3I(23)[33],BH3J(23)[33],\n" " BH3K(23)[33],BH3L(23)[33],BH6Q[43],BH6R[43],BH6S[43],BH6T[43],BH6U[43],\n" " BH6V[43],BH6W[43],BH6X[43],BH7A[43],BH7B[43],BH7C[43],BH7D[43],BH7E[43],\n" " BH7F[43],BH7G[43],BH7H[43],BH7Q[43],BH7R[43],BH7S[43],BH7T[43],BH7U[43],\n" " BH7V[43],BH7W[43],BH7X[43],BH8A[43],BH8B[43],BH8C[43],BH8D[43],BH8E[43],\n" " BH8F[43],BH8G[43],BH8H[43],BH8I[43],BH8J[43],BH8K[43],BH8L[43],BH8M[43],\n" " BH8N[43],BH8O[43],BH8P[43],BH8Q[43],BH8R[43],BH8S[43],BH8T[43],BH8U[43],\n" " BH8V[43],BH8W[43],BH8X[43],BH9A(24)[43],BH9B(24)[43],BH9C(24)[43],\n" " BH9D(24)[43],BH9E(24)[43],BH9F(24)[43],BH9S(23)[42],BH9T(23)[42],\n" " BH9U(23)[42],BH9V(23)[42],BH9W(23)[42],BH9X(23)[42],BJ2A[33],BJ2B[33],\n" " BJ2C[33],BJ2D[33],BJ2E[33],BJ2F[33],BJ2G[33],BJ2H[33],BJ2I[33],BJ2J[33],\n" " BJ2K[33],BJ2L[33],BJ2M[33],BJ2N[33],BJ2O[33],BJ2P[33],BJ3G(23)[33],\n" " BJ3H(23)[33],BJ3I(23)[33],BJ3J(23)[33],BJ3K(23)[33],BJ3L(23)[33],BJ6Q[43],\n" " BJ6R[43],BJ6S[43],BJ6T[43],BJ6U[43],BJ6V[43],BJ6W[43],BJ6X[43],BJ7A[43],\n" " BJ7B[43],BJ7C[43],BJ7D[43],BJ7E[43],BJ7F[43],BJ7G[43],BJ7H[43],BJ7Q[43],\n" " BJ7R[43],BJ7S[43],BJ7T[43],BJ7U[43],BJ7V[43],BJ7W[43],BJ7X[43],BJ8A[43],\n" " BJ8B[43],BJ8C[43],BJ8D[43],BJ8E[43],BJ8F[43],BJ8G[43],BJ8H[43],BJ8I[43],\n" " BJ8J[43],BJ8K[43],BJ8L[43],BJ8M[43],BJ8N[43],BJ8O[43],BJ8P[43],BJ8Q[43],\n" " BJ8R[43],BJ8S[43],BJ8T[43],BJ8U[43],BJ8V[43],BJ8W[43],BJ8X[43],\n" " BJ9A(24)[43],BJ9B(24)[43],BJ9C(24)[43],BJ9D(24)[43],BJ9E(24)[43],\n" " BJ9F(24)[43],BJ9S(23)[42],BJ9T(23)[42],BJ9U(23)[42],BJ9V(23)[42],\n" " BJ9W(23)[42],BJ9X(23)[42],BL2A[33],BL2B[33],BL2C[33],BL2D[33],BL2E[33],\n" " BL2F[33],BL2G[33],BL2H[33],BL2I[33],BL2J[33],BL2K[33],BL2L[33],BL2M[33],\n" " BL2N[33],BL2O[33],BL2P[33],BL3G(23)[33],BL3H(23)[33],BL3I(23)[33],\n" " BL3J(23)[33],BL3K(23)[33],BL3L(23)[33],BL6Q[43],BL6R[43],BL6S[43],\n" " BL6T[43],BL6U[43],BL6V[43],BL6W[43],BL6X[43],BL7A[43],BL7B[43],BL7C[43],\n" " BL7D[43],BL7E[43],BL7F[43],BL7G[43],BL7H[43],BL7Q[43],BL7R[43],BL7S[43],\n" " BL7T[43],BL7U[43],BL7V[43],BL7W[43],BL7X[43],BL8A[43],BL8B[43],BL8C[43],\n" " BL8D[43],BL8E[43],BL8F[43],BL8G[43],BL8H[43],BL8I[43],BL8J[43],BL8K[43],\n" " BL8L[43],BL8M[43],BL8N[43],BL8O[43],BL8P[43],BL8Q[43],BL8R[43],BL8S[43],\n" " BL8T[43],BL8U[43],BL8V[43],BL8W[43],BL8X[43],BL9A(24)[43],BL9B(24)[43],\n" " BL9C(24)[43],BL9D(24)[43],BL9E(24)[43],BL9F(24)[43],BL9S(23)[42],\n" " BL9T(23)[42],BL9U(23)[42],BL9V(23)[42],BL9W(23)[42],BL9X(23)[42],BT2A[33],\n" " BT2B[33],BT2C[33],BT2D[33],BT2E[33],BT2F[33],BT2G[33],BT2H[33],BT2I[33],\n" " BT2J[33],BT2K[33],BT2L[33],BT2M[33],BT2N[33],BT2O[33],BT2P[33],\n" " BT3G(23)[33],BT3H(23)[33],BT3I(23)[33],BT3J(23)[33],BT3K(23)[33],\n" " BT3L(23)[33],BT6Q[43],BT6R[43],BT6S[43],BT6T[43],BT6U[43],BT6V[43],\n" " BT6W[43],BT6X[43],BT7A[43],BT7B[43],BT7C[43],BT7D[43],BT7E[43],BT7F[43],\n" " BT7G[43],BT7H[43],BT7Q[43],BT7R[43],BT7S[43],BT7T[43],BT7U[43],BT7V[43],\n" " BT7W[43],BT7X[43],BT8A[43],BT8B[43],BT8C[43],BT8D[43],BT8E[43],BT8F[43],\n" " BT8G[43],BT8H[43],BT8I[43],BT8J[43],BT8K[43],BT8L[43],BT8M[43],BT8N[43],\n" " BT8O[43],BT8P[43],BT8Q[43],BT8R[43],BT8S[43],BT8T[43],BT8U[43],BT8V[43],\n" " BT8W[43],BT8X[43],BT9A(24)[43],BT9B(24)[43],BT9C(24)[43],BT9D(24)[43],\n" " BT9E(24)[43],BT9F(24)[43],BT9S(23)[42],BT9T(23)[42],BT9U(23)[42],\n" " BT9V(23)[42],BT9W(23)[42],BT9X(23)[42],BY2A[33],BY2B[33],BY2C[33],\n" " BY2D[33],BY2E[33],BY2F[33],BY2G[33],BY2H[33],BY2I[33],BY2J[33],BY2K[33],\n" " BY2L[33],BY2M[33],BY2N[33],BY2O[33],BY2P[33],BY3G(23)[33],BY3H(23)[33],\n" " BY3I(23)[33],BY3J(23)[33],BY3K(23)[33],BY3L(23)[33],BY6Q[43],BY6R[43],\n" " BY6S[43],BY6T[43],BY6U[43],BY6V[43],BY6W[43],BY6X[43],BY7A[43],BY7B[43],\n" " BY7C[43],BY7D[43],BY7E[43],BY7F[43],BY7G[43],BY7H[43],BY7Q[43],BY7R[43],\n" " BY7S[43],BY7T[43],BY7U[43],BY7V[43],BY7W[43],BY7X[43],BY8A[43],BY8B[43],\n" " BY8C[43],BY8D[43],BY8E[43],BY8F[43],BY8G[43],BY8H[43],BY8I[43],BY8J[43],\n" " BY8K[43],BY8L[43],BY8M[43],BY8N[43],BY8O[43],BY8P[43],BY8Q[43],BY8R[43],\n" " BY8S[43],BY8T[43],BY8U[43],BY8V[43],BY8W[43],BY8X[43],BY9A(24)[43],\n" " BY9B(24)[43],BY9C(24)[43],BY9D(24)[43],BY9E(24)[43],BY9F(24)[43],\n" " BY9S(23)[42],BY9T(23)[42],BY9U(23)[42],BY9V(23)[42],BY9W(23)[42],\n" " BY9X(23)[42],BZ2A[33],BZ2B[33],BZ2C[33],BZ2D[33],BZ2E[33],BZ2F[33],\n" " BZ2G[33],BZ2H[33],BZ2I[33],BZ2J[33],BZ2K[33],BZ2L[33],BZ2M[33],BZ2N[33],\n" " BZ2O[33],BZ2P[33],BZ3G(23)[33],BZ3H(23)[33],BZ3I(23)[33],BZ3J(23)[33],\n" " BZ3K(23)[33],BZ3L(23)[33],BZ6Q[43],BZ6R[43],BZ6S[43],BZ6T[43],BZ6U[43],\n" " BZ6V[43],BZ6W[43],BZ6X[43],BZ7A[43],BZ7B[43],BZ7C[43],BZ7D[43],BZ7E[43],\n" " BZ7F[43],BZ7G[43],BZ7H[43],BZ7Q[43],BZ7R[43],BZ7S[43],BZ7T[43],BZ7U[43],\n" " BZ7V[43],BZ7W[43],BZ7X[43],BZ8A[43],BZ8B[43],BZ8C[43],BZ8D[43],BZ8E[43],\n" " BZ8F[43],BZ8G[43],BZ8H[43],BZ8I[43],BZ8J[43],BZ8K[43],BZ8L[43],BZ8M[43],\n" " BZ8N[43],BZ8O[43],BZ8P[43],BZ8Q[43],BZ8R[43],BZ8S[43],BZ8T[43],BZ8U[43],\n" " BZ8V[43],BZ8W[43],BZ8X[43],BZ9A(24)[43],BZ9B(24)[43],BZ9C(24)[43],\n" " BZ9D(24)[43],BZ9E(24)[43],BZ9F(24)[43],BZ9S(23)[42],BZ9T(23)[42],\n" " BZ9U(23)[42],BZ9V(23)[42],BZ9W(23)[42],BZ9X(23)[42],=BA7JS/9(23)[42],\n" " =BD5HSV/9(23)[43],=BG0GE/9;\n" "Nauru: 31: 65: OC: -0.52: -166.92: -12.0: C2:\n" " C2;\n" "Andorra: 14: 27: EU: 42.58: -1.62: -1.0: C3:\n" " C3;\n" "The Gambia: 35: 46: AF: 13.40: 16.38: 0.0: C5:\n" " C5;\n" "Bahamas: 08: 11: NA: 24.25: 76.00: 5.0: C6:\n" " C6;\n" "Mozambique: 37: 53: AF: -18.25: -35.00: -2.0: C9:\n" " C8,C9;\n" "Chile: 12: 14: SA: -30.00: 71.00: 4.0: CE:\n" " 3G,CA,CB,CC,CD,CE,XQ,XR,3G7[16],3G8[16],CA7[16],CA8[16],CB7[16],CB8[16],\n" " CC7[16],CC8[16],CD7[16],CD8[16],CE7[16],CE8[16],XQ7[16],XQ8[16],XR7[16],\n" " XR8[16];\n" "San Felix & San Ambrosio: 12: 14: SA: -26.28: 80.07: 4.0: CE0X:\n" " 3G0X,CA0X,CB0X,CC0X,CD0X,CE0X,XQ0X,XR0X;\n" "Easter Island: 12: 63: SA: -27.10: 109.37: 6.0: CE0Y:\n" " 3G0,CA0,CB0,CC0,CD0,CE0,XQ0,XR0;\n" "Juan Fernandez Islands: 12: 14: SA: -33.60: 78.85: 4.0: CE0Z:\n" " 3G0Z,CA0Z,CB0Z,CC0Z,CD0Z,CE0Z,XQ0Z,XR0Z;\n" "Antarctica: 13: 74: SA: -90.00: 0.00: 0.0: CE9:\n" " 3Y[73],ANT(29)[69],AX0(39)[69],AY1Z[73],AY2Z[73],AY3Z[73],AY4Z[73],\n" " AY5Z[73],AY6Z[73],AY7Z[73],AY8Z[73],AY9Z[73],FT0Y(30)[70],FT1Y(30)[70],\n" " FT2Y(30)[70],FT4Y(30)[70],FT5Y(30)[70],FT8Y(30)[70],LU1Z[73],LU2Z[73],\n" " LU3Z[73],LU4Z[73],LU5Z[73],LU6Z[73],LU7Z[73],LU8Z[73],LU9Z[73],\n" " R1AN(29)[69],RI1AN(29)[69],VI0(39)[69],VK0(39)[69],ZL5(30)[71],\n" " ZM5(30)[71],ZS7(38)[67],=K9PET/KC4,=8J1RL(39)[67],=DP0GVN(38)[67],\n" " =DP0GVN/P(38)[67],=DP1POL(38)[67],=KC4AAA(39),=KC4AAC[73],=KC4USB(12),\n" " =KC4USV(30)[71],=R1ANR(38)[67],=RI1ANR(38)[67],=VK0BFG(29)[70],\n" " =VP8ADE/B[73],=VP8DLM[73],=VP8DMH[73],=VU3BPZ(38)[67],=VU3BPZ/P(39)[69];\n" "Cuba: 08: 11: NA: 21.50: 80.00: 5.0: CM:\n" " CL,CM,CO,T4;\n" "Morocco: 33: 37: AF: 32.00: 5.00: 0.0: CN:\n" " 5C,5D,5E,5F,5G,CN;\n" "Bolivia: 10: 12: SA: -17.00: 65.00: 4.0: CP:\n" " CP,CP2[14],CP3[14],CP4[14],CP5[14],CP6[14],CP7[14];\n" "Portugal: 14: 37: EU: 39.50: 8.00: 0.0: CT:\n" " CQ,CR,CS,CT;\n" "Madeira Islands: 33: 36: AF: 32.75: 16.95: 0.0: CT3:\n" " CQ2,CQ3,CQ9,CR3,CR9,CS3,CS9,CT3,CT9;\n" "Azores: 14: 36: EU: 38.70: 27.23: 1.0: CU:\n" " CQ1,CQ8,CR1,CR2,CR8,CS4,CS8,CT8,CU;\n" "Uruguay: 13: 14: SA: -33.00: 56.00: 3.0: CX:\n" " CV,CW,CX;\n" "Sable Island: 05: 09: NA: 43.93: 59.90: 4.0: CY0:\n" " CY0;\n" "St. Paul Island: 05: 09: NA: 47.00: 60.00: 4.0: CY9:\n" " CY9;\n" "Angola: 36: 52: AF: -12.50: -18.50: -1.0: D2:\n" " D2,D3;\n" "Cape Verde: 35: 46: AF: 16.00: 24.00: 1.0: D4:\n" " D4;\n" "Comoros: 39: 53: AF: -11.63: -43.30: -3.0: D6:\n" " D6;\n" "Fed. Rep. of Germany: 14: 28: EU: 51.00: -10.00: -1.0: DL:\n" " DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR;\n" "Philippines: 27: 50: OC: 13.00: -122.00: -8.0: DU:\n" " 4D,4E,4F,4G,4H,4I,DU,DV,DW,DX,DY,DZ;\n" "Eritrea: 37: 48: AF: 15.00: -39.00: -3.0: E3:\n" " E3;\n" "Palestine: 20: 39: AS: 31.28: -34.27: -2.0: E4:\n" " E4;\n" "North Cook Islands: 32: 62: OC: -10.02: 161.08: 10.0: E5/n:\n" " =E51AND,=E51WL[63];\n" "South Cook Islands: 32: 63: OC: -21.90: 157.93: 10.0: E5/s:\n" " E5;\n" "Niue: 32: 62: OC: -19.03: 169.85: 11.0: E6:\n" " E6;\n" "Bosnia-Herzegovina: 15: 28: EU: 44.32: -17.57: -1.0: E7:\n" " E7;\n" "Spain: 14: 37: EU: 40.37: 4.88: -1.0: EA:\n" " AM,AN,AO,EA,EB,EC,ED,EE,EF,EG,EH,=EA8CZT/1,=EA9JS/7;\n" "Balearic Islands: 14: 37: EU: 39.60: -2.95: -1.0: EA6:\n" " AM6,AN6,AO6,EA6,EB6,EC6,ED6,EE6,EF6,EG6,EH6,=EA7DUT/6;\n" "Canary Islands: 33: 36: AF: 28.10: 15.40: 0.0: EA8:\n" " AM8,AN8,AO8,EA8,EB8,EC8,ED8,EE8,EF8,EG8,EH8;\n" "Ceuta & Melilla: 33: 37: AF: 35.90: 5.27: -1.0: EA9:\n" " AM9,AN9,AO9,EA9,EB9,EC9,ED9,EE9,EF9,EG9,EH9;\n" "Ireland: 14: 27: EU: 53.13: 8.02: 0.0: EI:\n" " EI,EJ;\n" "Armenia: 21: 29: AS: 40.40: -44.90: -4.0: EK:\n" " EK;\n" "Liberia: 35: 46: AF: 6.50: 9.50: 0.0: EL:\n" " 5L,5M,6Z,A8,D5,EL;\n" "Iran: 21: 40: AS: 32.00: -53.00: -3.5: EP:\n" " 9B,9C,9D,EP,EQ;\n" "Moldova: 16: 29: EU: 47.00: -29.00: -2.0: ER:\n" " ER;\n" "Estonia: 15: 29: EU: 59.00: -25.00: -2.0: ES:\n" " ES;\n" "Ethiopia: 37: 48: AF: 9.00: -39.00: -3.0: ET:\n" " 9E,9F,ET;\n" "Belarus: 16: 29: EU: 54.00: -28.00: -2.0: EU:\n" " EU,EV,EW;\n" "Kyrgyzstan: 17: 30: AS: 41.70: -74.13: -6.0: EX:\n" " EX,EX2P[31],EX2Q[31],EX6P[31],EX6Q[31],EX7P[31],EX7Q[31],EX8P[31],\n" " EX8Q[31];\n" "Tajikistan: 17: 30: AS: 38.82: -71.22: -5.0: EY:\n" " EY;\n" "Turkmenistan: 17: 30: AS: 38.00: -58.00: -5.0: EZ:\n" " EZ;\n" "France: 14: 27: EU: 46.00: -2.00: -1.0: F:\n" " F,HW,HX,HY,TH,TM,TP,TQ,TV;\n" "Guadeloupe: 08: 11: NA: 16.13: 61.67: 4.0: FG:\n" " FG;\n" "Mayotte: 39: 53: AF: -12.88: -45.15: -3.0: FH:\n" " FH;\n" "St. Barthelemy: 08: 11: NA: 17.90: 62.83: 4.0: FJ:\n" " FJ;\n" "New Caledonia: 32: 56: OC: -21.50: -165.50: -11.0: FK:\n" " FK;\n" "Chesterfield Islands: 30: 56: OC: -19.87: -158.32: -11.0: FK/c:\n" " =FK8IK/C;\n" "Martinique: 08: 11: NA: 14.70: 61.03: 4.0: FM:\n" " FM,=TO5A,=TO5K,=TO5T,=TO7A;\n" "French Polynesia: 32: 63: OC: -17.65: 149.40: 10.0: FO:\n" " FO;\n" "Austral Islands: 32: 63: OC: -23.37: 149.48: 10.0: FO/a:\n" " =TX0HF;\n" "Clipperton Island: 07: 10: NA: 10.28: 109.22: 8.0: FO/c:\n" " =TX5C;\n" "Marquesas Islands: 31: 63: OC: -8.92: 140.07: 9.5: FO/m:\n" " =TX5VT;\n" "St. Pierre & Miquelon: 05: 09: NA: 46.77: 56.20: 3.0: FP:\n" " FP;\n" "Reunion Island: 39: 53: AF: -21.12: -55.48: -4.0: FR:\n" " FR;\n" "Glorioso Islands: 39: 53: AF: -11.55: -47.28: -4.0: FR/g:\n" " FT5G;\n" "Juan de Nova, Europa: 39: 53: AF: -17.05: -42.72: -3.0: FR/j:\n" " FT5E,FT5J;\n" "Tromelin Island: 39: 53: AF: -15.88: -54.50: -4.0: FR/t:\n" " FT5T;\n" "St. Martin: 08: 11: NA: 18.08: 63.03: 4.0: FS:\n" " FS;\n" "Crozet Island: 39: 68: AF: -46.42: -51.75: -5.0: FT5W:\n" " FT0W,FT1W,FT2W,FT4W,FT5W,FT8W;\n" "Kerguelen Islands: 39: 68: AF: -49.00: -69.27: -5.0: FT5X:\n" " FT0X,FT1X,FT2X,FT4X,FT5X,FT8X;\n" "Amsterdam & St. Paul Is.: 39: 68: AF: -37.85: -77.53: -5.0: FT5Z:\n" " FT0Z,FT1Z,FT2Z,FT4Z,FT5Z,FT8Z;\n" "Wallis & Futuna Islands: 32: 62: OC: -13.30: 176.20: -12.0: FW:\n" " FW,TW;\n" "French Guiana: 09: 12: SA: 4.00: 53.00: 3.0: FY:\n" " FY;\n" "England: 14: 27: EU: 52.77: 1.47: 0.0: G:\n" " 2,G,M,ZH,ZI,ZJ,=2O0YYY/P;\n" "Isle of Man: 14: 27: EU: 54.20: 4.53: 0.0: GD:\n" " 2D,2T,GD,GT,MD,MT,=2O0YLX,=GB2WB,=GO0OUD,=MO1CLV;\n" "Northern Ireland: 14: 27: EU: 54.73: 6.68: 0.0: GI:\n" " 2I,2N,GI,GN,MI,MN,=2O0BAD,=2O0HBO,=2O0HRV,=2O0MFB,=2O0TWA,=2O0VEP,=2O0VGW,\n" " =2O0VIM,=2O0WAI,=2O0ZXM,=GB0CHW,=GB0REL,=GB150WCB,=GB1SPD,=GB2AD,=GB2LOL,\n" " =GB2PP,=GB2UAS,=GB4SPD,=GB5SPD,=GO0AQD,=GO0BJH,=GO0DUP,=GO3KVD,=GO3MMF,\n" " =GO3SG,=GO4DOH,=GO4GID,=GO4GUH,=GO4LKG,=GO4NKB,=GO4ONL,=GO4OYM,=GO4SRQ,\n" " =GO4SZW,=GO6MTL,=GO7AXB,=GO7KMC,=GO8YYM,=MO0ALS,=MO0BDZ,=MO0CBH,=MO0IOU,\n" " =MO0IRZ,=MO0JFC,=MO0JFC/P,=MO0JML,=MO0JST,=MO0KYE,=MO0LPO,=MO0MOD,\n" " =MO0MOD/P,=MO0MSR,=MO0MVP,=MO0RRE,=MO0RUC,=MO0RYL,=MO0TGO,=MO0VAX,=MO0WDB,\n" " =MO0ZXZ,=MO3RLA,=MO6AOX,=MO6NIR,=MO6WAG,=MO6WDB,=MO6YDR;\n" "Jersey: 14: 27: EU: 49.22: 2.18: 0.0: GJ:\n" " 2H,2J,GH,GJ,MH,MJ,=GO8PVL,=MO0ASP;\n" "Scotland: 14: 27: EU: 56.82: 4.18: 0.0: GM:\n" " 2A,2M,2S,GA,GM,GS,MA,MM,MS,=2O0BSE,=2O0BZB,=2O0HJS,=2O0IMP,=2O0IOB,\n" " =2O0IVG,=2O0LIM,=2O0LJM,=2O0TOK,=2O1MIC,=2O1SJB,=GB0FFS,=GB0NHL,=GB1MAY,\n" " =GB1OL,=GB2AL,=GB2BHM,=GB2CHC,=GB2EPC,=GB2GNL,=GB2LBN,=GB2LK,=GB2LT,\n" " =GB2MOF,=GB2MSL,=GB2NCL,=GB2OWM,=GB2PG,=GB2VCB,=GB2YLS,=GB5AG,=GB5FHC,\n" " =GB80GD,=GM4WSB/P,=GO0AEG,=GO0AIR,=GO0BKC,=GO0DBW,=GO0DEQ,=GO0GMN,=GO0OGN,\n" " =GO0SYY,=GO0TUB,=GO0VRP,=GO0WEZ,=GO1BAN,=GO1BKF,=GO1MQE,=GO1TBW,=GO2MP,\n" " =GO3HVK,=GO3JIJ,=GO3NIG,=GO3VTB,=GO4BLO,=GO4CAU,=GO4CFS,=GO4CHX,=GO4CXM,\n" " =GO4DLG,=GO4EMX,=GO4FAM,=GO4FAU,=GO4JOJ,=GO4JPZ,=GO4JR,=GO4LYJ,=GO4MOX,\n" " =GO4MSL,=GO4PRB,=GO4UBJ,=GO4VTB,=GO4WZG,=GO4XQJ,=GO6JEP,=GO6JRX,=GO6KON,\n" " =GO6LYJ,=GO7GAX,=GO7GDE,=GO7HUD,=GO7TUD,=GO7WEF,=GO8CBQ,=GO8MHU,=GO8SVB,\n" " =GO8TTD,=MO0BFF,=MO0CWJ,=MO0CYR,=MO0DBC,=MO0DNX,=MO0EPC,=MO0FMF,=MO0GXQ,\n" " =MO0HZT,=MO0KJG,=MO0KSS,=MO0NFC,=MO0SGQ,=MO0SJT,=MO0TGB,=MO0TSG,=MO0WKC,\n" " =MO0XXW,=MO0ZBH,=MO1AWV,=MO1HMV,=MO3BCA,=MO3BRR,=MO3GPL,=MO3OQR,=MO3TUP,\n" " =MO3UVL,=MO3YHA,=MO3YMU,=MO3ZRF,=MO6BJJ,=MO6CCS,=MO6CHM,=MO6CRQ,=MO6DGZ,\n" " =MO6HUT,=MO6KAU,=MO6KSJ,=MO6MCV,=MO6SRL,=MO6TEW;\n" "Shetland and Fair Isle: 14: 27: EU: 60.50: 1.50: 0.0: *GM/s:\n" " 2Z,GZ,MZ,=2M0ZET,=2M1ANT,=2M1ASQ,=2M1ODL,=G0FBJ,=GB0BL,=GB0HFC,=GB0OS,\n" " =GB2ELH,=GB2ZET,=GB4SI,=GM0CXQ,=GM0CYJ,=GM0DJI,=GM0EKM,=GM0ILB,=GM0JDB,\n" " =GM0MZD,=GM0OMV,=GM0VFA,=GM1BYL,=GM1CBQ,=GM1KKI,=GM1MXN,=GM1ZNR,=GM3KLA,\n" " =GM3RFR,=GM3SJA,=GM3STU,=GM3UPU,=GM3WCH,=GM3WHT,=GM3XPQ,=GM3ZET,=GM3ZNM,\n" " =GM3ZXH,=GM4AGX,=GM4CAQ,=GM4DQD,=GM4ENK,=GM4FNA,=GM4FNE,=GM4GPN,=GM4GPP,\n" " =GM4GQD,=GM4GQM,=GM4IPK,=GM4JPI,=GM4KJQ,=GM4LBE,=GM4LER,=GM4PXG,=GM4SLV,\n" " =GM4SRU,=GM4SSA,=GM4SWU,=GM4WXQ,=GM4YEL,=GM4ZHL,=GM6RTO,=GM6VZB,=GM6WVI,\n" " =GM6YQA,=GM7AFE,=GM7GWW,=GM7RKD,=GM8LNH,=GM8MMA,=GM8YEC,=GS0GRC,=GS3ZET,\n" " =MA1FJM,=MM0LSM,=MM0XAU,=MM0ZAL,=MM0ZCG,=MM1FJM,=MM3ZET,=MM5PSL,=MM6ACW,\n" " =MM6SJK,=MO5PSL,=MS0ZCG,=MS0ZET;\n" "Guernsey: 14: 27: EU: 49.45: 2.58: 0.0: GU:\n" " 2P,2U,GP,GU,MP,MU,=2O0FER,=GO8FBO,=MO0FAL,=MO0KWD;\n" "Wales: 14: 27: EU: 52.28: 3.73: 0.0: GW:\n" " 2C,2W,2X,2Y,GC,GW,MC,MW,=2O0CDY,=2O0CGM,=2O0CJI,=2O0CVE,=2O0DAA,=2O0DUL,\n" " =2O0DVP,=2O0IDT,=2O0JBJ,=2O0OJA,=2O0RMR,=2O0RWF,=2O0TRR,=2O0UAA,=2O0WDS,\n" " =2O0ZJA,=2O12W,=GB0AD,=GB0AWS,=GB0HEL,=GB0PLB,=GB0RS,=GB1CDS,=GB2LSA,\n" " =GB2MOP,=GB2TD,=GB4BPL,=GB4EUL,=GB4MD,=GB4MDI,=GB4PAT,=GB4SDD,=GB5GEO,\n" " =GB6BLB,=GB6TS,=GB8CCC,=GB8MD,=GO0DIV,=GO0EZQ,=GO0EZY,=GO0JEQ,=GO0MNP,\n" " =GO0MNP/P,=GO0NPL,=GO0PLB,=GO0PNI,=GO0PUP,=GO0SGR,=GO0VKW,=GO0VML,=GO0VSW,\n" " =GO0XJQ,=GO1DPL,=GO1IOT,=GO1JFV,=GO1MVL,=GO1PKM,=GO3UOF,=GO4BKG,=GO4BLE,\n" " =GO4CQZ,=GO4DTQ,=GO4GTI,=GO4JKR,=GO4JUN,=GO4JUW,=GO4MVA,=GO4NOO,=GO4OKR,\n" " =GO4OKT,=GO4SUE,=GO4SUE/P,=GO4TNZ,=GO4WXM,=GO6IMS,=GO6NKG,=GO6UKO,=GO7DWR,\n" " =GO7SBO,=GO7VJK,=GO7VQD,=GO8BQK,=GO8IQC,=GO8JOY,=GO8OKR,=MO0AQZ,=MO0ATI,\n" " =MO0COE,=MO0CVT,=MO0EQL,=MO0EZQ,=MO0GXE,=MO0HCX,=MO0IBZ,=MO0IML,=MO0KLW,\n" " =MO0LDJ,=MO0LLK,=MO0LUK,=MO0LZZ,=MO0MAU,=MO0MUM,=MO0MWZ,=MO0OWW,=MO0SGD,\n" " =MO0SGR,=MO0TBB,=MO0TMI,=MO0TTU,=MO0UPH,=MO0VVO,=MO1CFA,=MO1CFN,=MO3DAO,\n" " =MO3DQB,=MO3GKI,=MO3OJA,=MO3PUU,=MO3RNI,=MO3UEZ,=MO3WPH,=MO3YVO,=MO3ZCO,\n" " =MO6DVP,=MO6GWK,=MO6GWR,=MO6GWR/P,=MO6MAU,=MO6PAM,=MO6PLC,=MO6PUT,=MO6SEF,\n" " =MO6TBD,=MO6TBP,=MO6WLB;\n" "Solomon Islands: 28: 51: OC: -9.00: -160.00: -11.0: H4:\n" " H4;\n" "Temotu Province: 32: 51: OC: -10.72: -165.80: -11.0: H40:\n" " H40;\n" "Hungary: 15: 28: EU: 47.12: -19.28: -1.0: HA:\n" " HA,HG;\n" "Switzerland: 14: 28: EU: 46.87: -8.12: -1.0: HB:\n" " HB,HE;\n" "Liechtenstein: 14: 28: EU: 47.13: -9.57: -1.0: HB0:\n" " HB0,HE0;\n" "Ecuador: 10: 12: SA: -1.40: 78.40: 6.0: HC:\n" " HC,HD;\n" "Galapagos Islands: 10: 12: SA: -0.78: 91.03: 6.0: HC8:\n" " HC8,HD8;\n" "Haiti: 08: 11: NA: 19.02: 72.18: 5.0: HH:\n" " 4V,HH;\n" "Dominican Republic: 08: 11: NA: 19.13: 70.68: 4.0: HI:\n" " HI;\n" "Colombia: 09: 12: SA: 5.00: 74.00: 5.0: HK:\n" " 5J,5K,HJ,HK;\n" "San Andres & Providencia: 07: 11: NA: 12.55: 81.72: 5.0: HK0/a:\n" " 5J0,5K0,HJ0,HK0;\n" "Malpelo Island: 09: 12: SA: 3.98: 81.58: 5.0: HK0/m:\n" " 5J0M,5K0M,HJ0M,HK0M,=HK0TU;\n" "Republic of Korea: 25: 44: AS: 36.23: -127.90: -9.0: HL:\n" " 6K,6L,6M,6N,D7,D8,D9,DS,DT,HL,KL9K;\n" "Panama: 07: 11: NA: 9.00: 80.00: 5.0: HP:\n" " 3E,3F,H3,H8,H9,HO,HP;\n" "Honduras: 07: 11: NA: 15.00: 87.00: 6.0: HR:\n" " HQ,HR;\n" "Thailand: 26: 49: AS: 12.60: -99.70: -7.0: HS:\n" " E2,HS;\n" "Vatican City: 15: 28: EU: 41.90: -12.47: -1.0: HV:\n" " HV;\n" "Saudi Arabia: 21: 39: AS: 24.20: -43.83: -3.0: HZ:\n" " 7Z,8Z,HZ,=HZ1SBS/J;\n" "Italy: 15: 28: EU: 42.82: -12.58: -1.0: I:\n" " I,=IZ1CLA/N,=4U1GSC,=I1YRL/GRA;\n" "African Italy: 33: 37: AF: 35.67: -12.67: -1.0: *IG9:\n" " IG9,IH9;\n" "Sardinia: 15: 28: EU: 40.15: -9.27: -1.0: IS:\n" " IM0,IS,IW0U,IW0V,IW0W,IW0X,IW0Y,IW0Z,=II0SB,=IQ0AH,=IQ0ID,=IQ0SS,=IY0GA;\n" "Sicily: 15: 28: EU: 37.50: -14.00: -1.0: *IT9:\n" " IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IZ9;\n" "Djibouti: 37: 48: AF: 11.75: -42.35: -3.0: J2:\n" " J2;\n" "Grenada: 08: 11: NA: 12.13: 61.68: 4.0: J3:\n" " J3;\n" "Guinea-Bissau: 35: 46: AF: 12.02: 14.80: 0.0: J5:\n" " J5;\n" "St. Lucia: 08: 11: NA: 13.87: 61.00: 4.0: J6:\n" " J6;\n" "Dominica: 08: 11: NA: 15.43: 61.35: 4.0: J7:\n" " J7;\n" "St. Vincent: 08: 11: NA: 13.23: 61.20: 4.0: J8:\n" " J8;\n" "Japan: 25: 45: AS: 36.40: -138.38: -9.0: JA:\n" " 7J,7K,7L,7M,7N,8J,8K,8L,8M,8N,JA,JE,JF,JG,JH,JI,JJ,JK,JL,JM,JN,JO,JP,JQ,\n" " JR,JS;\n" "Minami Torishima: 27: 90: OC: 24.28: -153.97: -10.0: JD/m:\n" " =JD1/JF3CTR,=JD1/JG8NQJ,=JD1BMM,=JF3CTR/JD1,=JG8NQJ/JD1;\n" "Ogasawara: 27: 45: AS: 27.05: -142.20: -9.0: JD/o:\n" " JD1;\n" "Mongolia: 23: 32: AS: 46.77: -102.17: -7.0: JT:\n" " JT,JU,JV,JT2[33],JT3[33],JU2[33],JU3[33],JV2[33],JV3[33];\n" "Svalbard: 40: 18: EU: 78.00: -16.00: -1.0: JW:\n" " JW;\n" "Bear Island: 40: 18: EU: 74.43: -19.08: -1.0: *JW/b:\n" " =JW2US;\n" "Jan Mayen: 40: 18: EU: 71.05: 8.28: 1.0: JX:\n" " JX;\n" "Jordan: 20: 39: AS: 31.18: -36.42: -2.0: JY:\n" " JY;\n" "United States: 05: 08: NA: 37.53: 91.67: 5.0: K:\n" " AA,AB,AC,AD,AE,AF,AG,AI,AJ,AK,K,N,W,=4U1WB(5)[8],=AA4DD(4)[8],\n" " =AA4YL(4)[8],=AB4GG(4)[8],=AB4IQ(4)[8],=AB9DU(5)[8],=AC4CA(4)[7],\n" " =AD1C(4)[7],=AD4EB(4)[8],=AD7MQ(4)[6],=AD8J(5)[8],=AE7AP(4)[6],\n" " =AE9F(3)[6],=AG3R(4)[8],=AG3V(4)[7],=AG4W(4)[8],=AJ4A(4)[8],=AJ4F(4)[7],\n" " =GO4AZM(5)[8],=K0COP(5)[8],=K0DQ(5)[8],=K0IP(3)[6],=K0JJ(3)[6],\n" " =K0LUZ(5)[8],=K0NW(3)[6],=K0TQ(4)[8],=K0TV(5)[8],=K0ZR(5)[8],=K1DW(4)[7],\n" " =K1GU(4)[8],=K1KD(4)[7],=K1LT(4)[8],=K1TN(4)[8],=K2HT(4)[7],=K2PO(3)[6],\n" " =K2RD(3)[6],=K2RP(3)[6],=K2UR(4)[8],=K3FIV(3)[6],=K3GP(4)[8],=K3IE(4)[8],\n" " =K3JWI(4)[8],=K3TD(4)[7],=K3USC(4)[8],=K3WA(4)[8],=K3WT(4)[7],=K3YP(4)[8],\n" " =K4AB(4)[8],=K4AMC(4)[8],=K4BP(4)[8],=K4BX(4)[8],=K4CWA(4)[8],\n" " =K4CWW(4)[8],=K4CX(4)[8],=K4DZR(4)[8],=K4EDI(4)[8],=K4EJQ(4)[8],\n" " =K4FT(4)[8],=K4FXN(4)[8],=K4HAL(4)[8],=K4IE(4)[8],=K4IQJ(4)[8],\n" " =K4IU(4)[7],=K4LTA(4)[8],=K4MCK(4)[8],=K4MGE(4)[8],=K4NO(4)[8],\n" " =K4PJ(4)[8],=K4RO(4)[8],=K4SPO(4)[8],=K4TD(4)[8],=K4WI(4)[8],=K4WW(4)[8],\n" " =K4XG(4)[8],=K4XU(3)[6],=K4ZGB(4)[8],=K5AUP(5)[8],=K5EK(5)[8],=K5KG(5)[8],\n" " =K5OA(3)[6],=K5RQ(5)[8],=K5RR(3)[6],=K5VIP(5)[8],=K5ZD(5)[8],=K6ND(5)[8],\n" " =K6NDV(5)[8],=K6PJ(4)[6],=K6RM(5)[8],=K6SXA(4)[7],=K6XT(4)[7],\n" " =K7ABV(4)[6],=K7BG(4)[6],=K7CS(5)[8],=K7IA(4)[7],=K7KAR(4)[6],=K7KU(4)[7],\n" " =K7OM(5)[8],=K7RB(4)[7],=K7RE(4)[7],=K7RSM(4)[7],=K7SCX(4)[7],=K7SV(5)[8],\n" " =K7TD(4)[7],=K7VU(4)[7],=K8AC(5)[8],=K8CN(5)[8],=K8GU(5)[8],=K8IA(3)[6],\n" " =K8JQ(5)[8],=K8LF(5)[8],=K8MN(5)[8],=K8NYG(5)[8],=K8PO(5)[8],=K8TE(4)[7],\n" " =K8WT(5)[8],=K8YC(5)[8],=K9AIH(5)[8],=K9BWI(4)[7],=K9CHP(5)[8],\n" " =K9DR(4)[7],=K9DU(4)[7],=K9FY(5)[8],=K9JF(3)[6],=K9JM(3)[6],=K9JWV(3)[6],\n" " =K9MBB(4)[7],=K9MWM(4)[7],=K9OM(5)[8],=K9RS(5)[8],=K9WZB(3)[6],\n" " =K9YC(3)[6],=KA3DRR(3)[6],=KA4OTB(4)[8],=KA4PKB(4)[8],=KA4R(4)[8],\n" " =KA8HDE(4)[7],=KA8Q(5)[8],=KB7FSC(4)[6],=KB7Q(4)[6],=KB7QOS(4)[7],\n" " =KB8V(5)[8],=KC4HW(4)[8],=KC4SAW(4)[8],=KC4WQ(4)[8],=KC6X(4)[7],\n" " =KC8GCR(5)[8],=KD4POJ(4)[7],=KD4SN(4)[8],=KD7DCR(4)[6],=KE1B(3)[6],\n" " =KE2VB(3)[6],=KE3D(4)[7],=KE4ETY(4)[8],=KE4KY(4)[8],=KE7X(4)[6],\n" " =KF6A(4)[8],=KG0F(3)[6],=KG4CUY(4)[8],=KG9JP(3)[6],=KH0WJ(5)[8],\n" " =KH2D(5)[8],=KH6GN(4)[8],=KH6OU(5)[8],=KI4EEY(4)[8],=KI4EZC(4)[8],\n" " =KI4SP(4)[8],=KI6DY(4)[7],=KI7MT(4)[6],=KJ4AOM(4)[8],=KJ4FDV(4)[8],\n" " =KK6MC(4)[7],=KK9A(5)[8],=KK9O(5)[8],=KL5Z(4)[7],=KL7FDQ(3)[6],\n" " =KL7QW(4)[7],=KL7WP(3)[6],=KL7WV(5)[8],=KM4DR(4)[7],=KM4JA(4)[8],\n" " =KM7W(4)[6],=KO4OL(4)[8],=KO4PU(4)[8],=KO4XJ(4)[8],=KO7X(4)[7],\n" " =KR2E(3)[6],=KR4F(4)[8],=KR7C(4)[7],=KS4L(4)[8],=KS4X(4)[8],=KS5A(3)[6],\n" " =KS7T(4)[6],=KT0P(5)[8],=KU1CW(4)[7],=KU1YL(4)[7],=KU4A(4)[8],=KU8E(5)[8],\n" " =KV1E(4)[7],=KX2P(4)[7],=KX9X(5)[8],=KY0W(3)[6],=KY4F(4)[8],=KZ2V(3)[6],\n" " =N0FW(4)[8],=N0RZT(4)[8],=N1CC(4)[7],=N1JM(3)[6],=N1WQ(4)[7],=N2BJ(4)[8],\n" " =N2IC(4)[7],=N2NS(3)[6],=N2OPW(4)[8],=N2WN(4)[8],=N3FAW(3)[6],=N3RC(4)[6],\n" " =N3ZZ(3)[6],=N4AAI(4)[8],=N4ARO(4)[8],=N4AU(4)[8],=N4BCB(4)[8],\n" " =N4DTF(4)[8],=N4DW(4)[8],=N4IJ(4)[7],=N4IR(4)[8],=N4JF(4)[8],=N4KG(4)[8],\n" " =N4KH(4)[8],=N4NM(4)[8],=N4NO(4)[8],=N4OGW(4)[8],=N4QS(4)[8],=N4TZ(4)[8],\n" " =N4UC(4)[8],=N4UPX(4)[7],=N4UW(4)[8],=N4VN(4)[8],=N4VV(4)[8],=N4ZI(4)[8],\n" " =N4ZZ(4)[8],=N5IE(5)[8],=N5KO(3)[6],=N5LZ(3)[6],=N6AR(5)[8],=N6FS(4)[8],\n" " =N7DR(4)[7],=N7EO(5)[8],=N7FLT(4)[6],=N7GVV(4)[8],=N7IP(4)[6],=N7IV(4)[7],\n" " =N7IX(4)[7],=N7KA(4)[7],=N7MZW(4)[7],=N7US(4)[8],=N8CL(5)[8],=N8HM(5)[8],\n" " =N8II(5)[8],=N8MPX(5)[8],=N8NA(5)[8],=N8PR(5)[8],=N8RA(5)[8],=N8WXQ(5)[8],\n" " =N9ADG(3)[6],=N9CM(5)[8],=N9DFD(5)[8],=N9HDE(4)[7],=N9MM(4)[7],\n" " =N9NC(5)[8],=N9UY(5)[8],=NA2U(3)[6],=NA4C(4)[8],=NA4K(4)[8],=NB4M(4)[8],\n" " =ND2T(3)[6],=ND4X(4)[8],=NE4M(4)[8],=NE8J(5)[8],=NG7A(5)[8],=NH6Z(3)[6],\n" " =NH7RO(4)[7],=NJ4I(4)[8],=NJ8J(5)[8],=NL7CQ(4)[7],=NN3V(3)[6],\n" " =NN4MM(4)[8],=NN7A(4)[7],=NO2D(4)[7],=NO9E(5)[8],=NP3D(5)[8],=NR7DX(4)[6],\n" " =NS2X(4)[8],=NS4X(4)[8],=NU4B(4)[8],=NV4B(4)[8],=NW8U(5)[8],=NX1P(3)[6],\n" " =NX9T(5)[8],=NY4JB(4)[8],=NY6DX(5)[8],=W0BR(5)[8],=W0IZ(4)[8],\n" " =W0JLC(5)[8],=W0PAN(3)[6],=W0PV(5)[8],=W0QQG(5)[8],=W0UCE(5)[8],\n" " =W0YK(3)[6],=W0YR(5)[8],=W1NN(4)[8],=W1RH(3)[6],=W1SRD(3)[6],=W1ZD(3)[6],\n" " =W2AJW(3)[6],=W2OO(4)[8],=W2UP(4)[7],=W2VJN(3)[6],=W2VKT(3)[6],\n" " =W3HDH(4)[8],=W3TUA(4)[7],=W4BCG(4)[8],=W4BCU(4)[8],=W4BK(4)[8],\n" " =W4CBX(4)[8],=W4DAN(4)[8],=W4DVG(4)[8],=W4EF(3)[6],=W4GHD(4)[8],\n" " =W4GKM(4)[8],=W4HOD(4)[8],=W4HZD(4)[8],=W4JHC(4)[7],=W4JSI(4)[8],\n" " =W4KW(4)[8],=W4LC(4)[8],=W4NBS(4)[8],=W4NI(4)[8],=W4NJK(3)[6],=W4NZ(4)[8],\n" " =W4PHS(4)[8],=W4PV(4)[8],=W4RK(4)[7],=W4RYW(4)[8],=W4UAL(4)[8],\n" " =W4UAT(3)[6],=W4UT(4)[8],=W5DQ(3)[6],=W5JBO(3)[6],=W5JR(5)[8],=W5MX(4)[8],\n" " =W5NZ(4)[8],=W5XB(5)[8],=W6AAN(5)[8],=W6DVS(5)[8],=W6GMT(4)[7],\n" " =W6IHG(5)[8],=W6KGP(4)[7],=W6LFB(4)[7],=W6NWS(5)[8],=W6SAI(4)[8],\n" " =W6UB(4)[8],=W6XR(5)[8],=W7DO(5)[8],=W7HJ(5)[8],=W7IY(5)[8],=W7RTX(4)[7],\n" " =W7WZ(5)[8],=W8AEF(3)[6],=W8AKS(5)[8],=W8BFX(3)[6],=W8FJ(5)[8],\n" " =W8FN(4)[7],=W8HGH(5)[8],=W8JI(5)[8],=W8OHT(5)[8],=W8WEJ(5)[8],\n" " =W8ZA(5)[8],=W9CF(3)[6],=W9DKC(5)[8],=W9GE(5)[8],=W9KB(5)[8],=W9LHG(4)[7],\n" " =W9NGA(3)[6],=W9UK(5)[8],=W9XQ(4)[7],=WA0WWW(3)[6],=WA1FCN(4)[8],\n" " =WA1PMA(3)[6],=WA1UJU(4)[8],=WA3C(4)[8],=WA4SM(4)[8],=WA5VGI(3)[6],\n" " =WA8KAN(5)[8],=WA8OJR(5)[8],=WA8QYJ(5)[8],=WA8ZBT(4)[7],=WB0POH(5)[8],\n" " =WB3JFS(3)[6],=WB4KDI(4)[8],=WB4YDL(4)[8],=WB4YDY(4)[8],=WB8BPU(5)[8],\n" " =WB8YQJ(3)[6],=WB8YYY(5)[8],=WB9KPT(4)[7],=WC7S(4)[7],=WE6EZ(4)[7],\n" " =WF4U(3)[6],=WF7T(4)[8],=WG7Y(4)[7],=WJ9B(3)[6],=WK5X(5)[8],=WL7OU(4)[7],\n" " =WO4O(4)[8],=WR5G(3)[6],=WS4Y(4)[7],=WS6K(4)[8],=WS9M(5)[8],=WT5L(5)[8],\n" " =WU9B(3)[6],=WW4R(4)[8],=WY7SS(4)[7],=WZ4F(4)[8];\n" "Guantanamo Bay: 08: 11: NA: 20.00: 75.00: 5.0: KG4:\n" " KG4;\n" "Mariana Islands: 27: 64: OC: 15.18: -145.72: -10.0: KH0:\n" " AH0,KH0,NH0,WH0,=K0Y,=N2G;\n" "Baker & Howland Islands: 31: 61: OC: 0.00: 176.00: 12.0: KH1:\n" " AH1,KH1,NH1,WH1;\n" "Guam: 27: 64: OC: 13.37: -144.70: -10.0: KH2:\n" " AH2,KH2,NH2,WH2,=KG6DX;\n" "Johnston Island: 31: 61: OC: 16.72: 169.53: 10.0: KH3:\n" " AH3,KH3,NH3,WH3,=KJ6BZ;\n" "Midway Island: 31: 61: OC: 28.20: 177.37: 11.0: KH4:\n" " AH4,KH4,NH4,WH4;\n" "Palmyra & Jarvis Islands: 31: 61: OC: 5.87: 162.07: 11.0: KH5:\n" " AH5,KH5,NH5,WH5;\n" "Kingman Reef: 31: 61: OC: 6.40: 162.40: 11.0: KH5K:\n" " AH5K,KH5K,NH5K,WH5K;\n" "Hawaii: 31: 61: OC: 19.67: 155.57: 10.0: KH6:\n" " AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=K4XV,=KB6EGA,=N1C,=WB4JTT;\n" "Kure Island: 31: 61: OC: 29.00: 178.00: 10.0: KH7K:\n" " AH7K,KH7K,NH7K,WH7K;\n" "American Samoa: 32: 62: OC: -14.32: 170.78: 11.0: KH8:\n" " AH8,KH8,NH8,WH8;\n" "Swains Island: 32: 62: OC: -11.05: 171.25: 11.0: KH8/s:\n" " =NH8S;\n" "Wake Island: 31: 65: OC: 19.28: -166.63: -12.0: KH9:\n" " AH9,KH9,NH9,WH9;\n" "Alaska: 01: 01: NA: 63.87: 153.78: 8.0: KL:\n" " AL,KL,NL,WL,=K7P,=N7ZYS;\n" "Navassa Island: 08: 11: NA: 18.40: 75.00: 5.0: KP1:\n" " KP1,NP1,WP1;\n" "US Virgin Islands: 08: 11: NA: 17.73: 64.80: 4.0: KP2:\n" " KP2,NP2,WP2,=KV4BT,=KV4BW,=KV4CF,=KV4FZ,=N2A;\n" "Puerto Rico: 08: 11: NA: 18.18: 66.55: 4.0: KP4:\n" " KP3,KP4,NP3,NP4,WP3,WP4,=KB2OPM,=KC2TE,=KH2RU,=KP2Z,=KP4ES/L,=N2PGO,=W4L,\n" " =W4W;\n" "Desecheo Island: 08: 11: NA: 18.08: 67.88: 4.0: KP5:\n" " KP5,NP5,WP5;\n" "Norway: 14: 18: EU: 61.00: -9.00: -1.0: LA:\n" " LA,LB,LC,LD,LE,LF,LG,LH,LI,LJ,LK,LL,LM,LN;\n" "Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU:\n" " AY,AZ,L1,L2,L3,L4,L5,L6,L7,L8,L9,LO,LP,LQ,LR,LS,LT,LU,LV,LW,AY0V[16],\n" " AY0W[16],AY0X[16],AY0Y[16],AY1V[16],AY1W[16],AY1X[16],AY1Y[16],AY2V[16],\n" " AY2W[16],AY2X[16],AY2Y[16],AY3V[16],AY3W[16],AY3X[16],AY3Y[16],AY4V[16],\n" " AY4W[16],AY4X[16],AY4Y[16],AY5V[16],AY5W[16],AY5X[16],AY5Y[16],AY6V[16],\n" " AY6W[16],AY6X[16],AY6Y[16],AY7V[16],AY7W[16],AY7X[16],AY7Y[16],AY8V[16],\n" " AY8W[16],AY8X[16],AY8Y[16],AY9V[16],AY9W[16],AY9X[16],AY9Y[16],AZ0V[16],\n" " AZ0W[16],AZ0X[16],AZ0Y[16],AZ1V[16],AZ1W[16],AZ1X[16],AZ1Y[16],AZ2V[16],\n" " AZ2W[16],AZ2X[16],AZ2Y[16],AZ3V[16],AZ3W[16],AZ3X[16],AZ3Y[16],AZ4V[16],\n" " AZ4W[16],AZ4X[16],AZ4Y[16],AZ5V[16],AZ5W[16],AZ5X[16],AZ5Y[16],AZ6V[16],\n" " AZ6W[16],AZ6X[16],AZ6Y[16],AZ7V[16],AZ7W[16],AZ7X[16],AZ7Y[16],AZ8V[16],\n" " AZ8W[16],AZ8X[16],AZ8Y[16],AZ9V[16],AZ9W[16],AZ9X[16],AZ9Y[16],L20V[16],\n" " L20W[16],L20X[16],L20Y[16],L21V[16],L21W[16],L21X[16],L21Y[16],L22V[16],\n" " L22W[16],L22X[16],L22Y[16],L23V[16],L23W[16],L23X[16],L23Y[16],L24V[16],\n" " L24W[16],L24X[16],L24Y[16],L25V[16],L25W[16],L25X[16],L25Y[16],L26V[16],\n" " L26W[16],L26X[16],L26Y[16],L27V[16],L27W[16],L27X[16],L27Y[16],L28V[16],\n" " L28W[16],L28X[16],L28Y[16],L29V[16],L29W[16],L29X[16],L29Y[16],L30V[16],\n" " L30W[16],L30X[16],L30Y[16],L31V[16],L31W[16],L31X[16],L31Y[16],L32V[16],\n" " L32W[16],L32X[16],L32Y[16],L33V[16],L33W[16],L33X[16],L33Y[16],L34V[16],\n" " L34W[16],L34X[16],L34Y[16],L35V[16],L35W[16],L35X[16],L35Y[16],L36V[16],\n" " L36W[16],L36X[16],L36Y[16],L37V[16],L37W[16],L37X[16],L37Y[16],L38V[16],\n" " L38W[16],L38X[16],L38Y[16],L39V[16],L39W[16],L39X[16],L39Y[16],L40V[16],\n" " L40W[16],L40X[16],L40Y[16],L41V[16],L41W[16],L41X[16],L41Y[16],L42V[16],\n" " L42W[16],L42X[16],L42Y[16],L43V[16],L43W[16],L43X[16],L43Y[16],L44V[16],\n" " L44W[16],L44X[16],L44Y[16],L45V[16],L45W[16],L45X[16],L45Y[16],L46V[16],\n" " L46W[16],L46X[16],L46Y[16],L47V[16],L47W[16],L47X[16],L47Y[16],L48V[16],\n" " L48W[16],L48X[16],L48Y[16],L49V[16],L49W[16],L49X[16],L49Y[16],L50V[16],\n" " L50W[16],L50X[16],L50Y[16],L51V[16],L51W[16],L51X[16],L51Y[16],L52V[16],\n" " L52W[16],L52X[16],L52Y[16],L53V[16],L53W[16],L53X[16],L53Y[16],L54V[16],\n" " L54W[16],L54X[16],L54Y[16],L55V[16],L55W[16],L55X[16],L55Y[16],L56V[16],\n" " L56W[16],L56X[16],L56Y[16],L57V[16],L57W[16],L57X[16],L57Y[16],L58V[16],\n" " L58W[16],L58X[16],L58Y[16],L59V[16],L59W[16],L59X[16],L59Y[16],L60V[16],\n" " L60W[16],L60X[16],L60Y[16],L61V[16],L61W[16],L61X[16],L61Y[16],L62V[16],\n" " L62W[16],L62X[16],L62Y[16],L63V[16],L63W[16],L63X[16],L63Y[16],L64V[16],\n" " L64W[16],L64X[16],L64Y[16],L65V[16],L65W[16],L65X[16],L65Y[16],L66V[16],\n" " L66W[16],L66X[16],L66Y[16],L67V[16],L67W[16],L67X[16],L67Y[16],L68V[16],\n" " L68W[16],L68X[16],L68Y[16],L69V[16],L69W[16],L69X[16],L69Y[16],L70V[16],\n" " L70W[16],L70X[16],L70Y[16],L71V[16],L71W[16],L71X[16],L71Y[16],L72V[16],\n" " L72W[16],L72X[16],L72Y[16],L73V[16],L73W[16],L73X[16],L73Y[16],L74V[16],\n" " L74W[16],L74X[16],L74Y[16],L75V[16],L75W[16],L75X[16],L75Y[16],L76V[16],\n" " L76W[16],L76X[16],L76Y[16],L77V[16],L77W[16],L77X[16],L77Y[16],L78V[16],\n" " L78W[16],L78X[16],L78Y[16],L79V[16],L79W[16],L79X[16],L79Y[16],L80V[16],\n" " L80W[16],L80X[16],L80Y[16],L81V[16],L81W[16],L81X[16],L81Y[16],L82V[16],\n" " L82W[16],L82X[16],L82Y[16],L83V[16],L83W[16],L83X[16],L83Y[16],L84V[16],\n" " L84W[16],L84X[16],L84Y[16],L85V[16],L85W[16],L85X[16],L85Y[16],L86V[16],\n" " L86W[16],L86X[16],L86Y[16],L87V[16],L87W[16],L87X[16],L87Y[16],L88V[16],\n" " L88W[16],L88X[16],L88Y[16],L89V[16],L89W[16],L89X[16],L89Y[16],L90V[16],\n" " L90W[16],L90X[16],L90Y[16],L91V[16],L91W[16],L91X[16],L91Y[16],L92V[16],\n" " L92W[16],L92X[16],L92Y[16],L93V[16],L93W[16],L93X[16],L93Y[16],L94V[16],\n" " L94W[16],L94X[16],L94Y[16],L95V[16],L95W[16],L95X[16],L95Y[16],L96V[16],\n" " L96W[16],L96X[16],L96Y[16],L97V[16],L97W[16],L97X[16],L97Y[16],L98V[16],\n" " L98W[16],L98X[16],L98Y[16],L99V[16],L99W[16],L99X[16],L99Y[16],LO0V[16],\n" " LO0W[16],LO0X[16],LO0Y[16],LO1V[16],LO1W[16],LO1X[16],LO1Y[16],LO2V[16],\n" " LO2W[16],LO2X[16],LO2Y[16],LO3V[16],LO3W[16],LO3X[16],LO3Y[16],LO4V[16],\n" " LO4W[16],LO4X[16],LO4Y[16],LO5V[16],LO5W[16],LO5X[16],LO5Y[16],LO6V[16],\n" " LO6W[16],LO6X[16],LO6Y[16],LO7V[16],LO7W[16],LO7X[16],LO7Y[16],LO8V[16],\n" " LO8W[16],LO8X[16],LO8Y[16],LO9V[16],LO9W[16],LO9X[16],LO9Y[16],LP0V[16],\n" " LP0W[16],LP0X[16],LP0Y[16],LP1V[16],LP1W[16],LP1X[16],LP1Y[16],LP2V[16],\n" " LP2W[16],LP2X[16],LP2Y[16],LP3V[16],LP3W[16],LP3X[16],LP3Y[16],LP4V[16],\n" " LP4W[16],LP4X[16],LP4Y[16],LP5V[16],LP5W[16],LP5X[16],LP5Y[16],LP6V[16],\n" " LP6W[16],LP6X[16],LP6Y[16],LP7V[16],LP7W[16],LP7X[16],LP7Y[16],LP8V[16],\n" " LP8W[16],LP8X[16],LP8Y[16],LP9V[16],LP9W[16],LP9X[16],LP9Y[16],LQ0V[16],\n" " LQ0W[16],LQ0X[16],LQ0Y[16],LQ1V[16],LQ1W[16],LQ1X[16],LQ1Y[16],LQ2V[16],\n" " LQ2W[16],LQ2X[16],LQ2Y[16],LQ3V[16],LQ3W[16],LQ3X[16],LQ3Y[16],LQ4V[16],\n" " LQ4W[16],LQ4X[16],LQ4Y[16],LQ5V[16],LQ5W[16],LQ5X[16],LQ5Y[16],LQ6V[16],\n" " LQ6W[16],LQ6X[16],LQ6Y[16],LQ7V[16],LQ7W[16],LQ7X[16],LQ7Y[16],LQ8V[16],\n" " LQ8W[16],LQ8X[16],LQ8Y[16],LQ9V[16],LQ9W[16],LQ9X[16],LQ9Y[16],LR0V[16],\n" " LR0W[16],LR0X[16],LR0Y[16],LR1V[16],LR1W[16],LR1X[16],LR1Y[16],LR2V[16],\n" " LR2W[16],LR2X[16],LR2Y[16],LR3V[16],LR3W[16],LR3X[16],LR3Y[16],LR4V[16],\n" " LR4W[16],LR4X[16],LR4Y[16],LR5V[16],LR5W[16],LR5X[16],LR5Y[16],LR6V[16],\n" " LR6W[16],LR6X[16],LR6Y[16],LR7V[16],LR7W[16],LR7X[16],LR7Y[16],LR8V[16],\n" " LR8W[16],LR8X[16],LR8Y[16],LR9V[16],LR9W[16],LR9X[16],LR9Y[16],LS0V[16],\n" " LS0W[16],LS0X[16],LS0Y[16],LS1V[16],LS1W[16],LS1X[16],LS1Y[16],LS2V[16],\n" " LS2W[16],LS2X[16],LS2Y[16],LS3V[16],LS3W[16],LS3X[16],LS3Y[16],LS4V[16],\n" " LS4W[16],LS4X[16],LS4Y[16],LS5V[16],LS5W[16],LS5X[16],LS5Y[16],LS6V[16],\n" " LS6W[16],LS6X[16],LS6Y[16],LS7V[16],LS7W[16],LS7X[16],LS7Y[16],LS8V[16],\n" " LS8W[16],LS8X[16],LS8Y[16],LS9V[16],LS9W[16],LS9X[16],LS9Y[16],LT0V[16],\n" " LT0W[16],LT0X[16],LT0Y[16],LT1V[16],LT1W[16],LT1X[16],LT1Y[16],LT2V[16],\n" " LT2W[16],LT2X[16],LT2Y[16],LT3V[16],LT3W[16],LT3X[16],LT3Y[16],LT4V[16],\n" " LT4W[16],LT4X[16],LT4Y[16],LT5V[16],LT5W[16],LT5X[16],LT5Y[16],LT6V[16],\n" " LT6W[16],LT6X[16],LT6Y[16],LT7V[16],LT7W[16],LT7X[16],LT7Y[16],LT8V[16],\n" " LT8W[16],LT8X[16],LT8Y[16],LT9V[16],LT9W[16],LT9X[16],LT9Y[16],LU0V[16],\n" " LU0W[16],LU0X[16],LU0Y[16],LU1V[16],LU1W[16],LU1X[16],LU1Y[16],LU2V[16],\n" " LU2W[16],LU2X[16],LU2Y[16],LU3V[16],LU3W[16],LU3X[16],LU3Y[16],LU4V[16],\n" " LU4W[16],LU4X[16],LU4Y[16],LU5V[16],LU5W[16],LU5X[16],LU5Y[16],LU6V[16],\n" " LU6W[16],LU6X[16],LU6Y[16],LU7V[16],LU7W[16],LU7X[16],LU7Y[16],LU8V[16],\n" " LU8W[16],LU8X[16],LU8Y[16],LU9V[16],LU9W[16],LU9X[16],LU9Y[16],LV0V[16],\n" " LV0W[16],LV0X[16],LV0Y[16],LV1V[16],LV1W[16],LV1X[16],LV1Y[16],LV2V[16],\n" " LV2W[16],LV2X[16],LV2Y[16],LV3V[16],LV3W[16],LV3X[16],LV3Y[16],LV4V[16],\n" " LV4W[16],LV4X[16],LV4Y[16],LV5V[16],LV5W[16],LV5X[16],LV5Y[16],LV6V[16],\n" " LV6W[16],LV6X[16],LV6Y[16],LV7V[16],LV7W[16],LV7X[16],LV7Y[16],LV8V[16],\n" " LV8W[16],LV8X[16],LV8Y[16],LV9V[16],LV9W[16],LV9X[16],LV9Y[16],LW0V[16],\n" " LW0W[16],LW0X[16],LW0Y[16],LW1V[16],LW1W[16],LW1X[16],LW1Y[16],LW2V[16],\n" " LW2W[16],LW2X[16],LW2Y[16],LW3V[16],LW3W[16],LW3X[16],LW3Y[16],LW4V[16],\n" " LW4W[16],LW4X[16],LW4Y[16],LW5V[16],LW5W[16],LW5X[16],LW5Y[16],LW6V[16],\n" " LW6W[16],LW6X[16],LW6Y[16],LW7V[16],LW7W[16],LW7X[16],LW7Y[16],LW8V[16],\n" " LW8W[16],LW8X[16],LW8Y[16],LW9V[16],LW9W[16],LW9X[16],LW9Y[16],=LU1DAR/D,\n" " =LU1DCB/D,=LU1EQ/D,=LU1FFF/F,=LU1HLH/D,=LU1QA/Q,=LU1VOF/D,=LU1WJY/W[16],\n" " =LU1XZ/H,=LU1YY/Y[16],=LU2DB/V[16],=LU2DJB/J,=LU2DVI/H,=LU2FLB/F,\n" " =LU2WA/W[16],=LU4DBT/D,=LU4DDL/V[16],=LU4DLL/D,=LU5DEM/W[16],\n" " =LU5DGI/W[16],=LU5DX/H,=LU5FES/F,=LU5FZ/GA,=LU5JU/J,=LU5YF/V[16],=LU6DM/D,\n" " =LU6EJJ/D,=LU6HBB/D,=LU6VAC/V[16],=LU7DOT/D,=LU7EO/D,=LU7HW/D,\n" " =LU8VER/V[16],=LU9JMG/J,=LW2EIY/H,=LW3DKO/D,=LW4EIN/D,=LW4HCL/D,=LW7EIY/H;\n" "Luxembourg: 14: 27: EU: 50.00: -6.00: -1.0: LX:\n" " LX;\n" "Lithuania: 15: 29: EU: 55.45: -23.63: -2.0: LY:\n" " LY;\n" "Bulgaria: 20: 28: EU: 42.83: -25.08: -2.0: LZ:\n" " LZ;\n" "Peru: 10: 12: SA: -10.00: 76.00: 5.0: OA:\n" " 4T,OA,OB,OC;\n" "Lebanon: 20: 39: AS: 33.83: -35.83: -2.0: OD:\n" " OD;\n" "Austria: 15: 28: EU: 47.33: -13.33: -1.0: OE:\n" " 4U1V,OE;\n" "Finland: 15: 18: EU: 63.78: -27.08: -2.0: OH:\n" " OF,OG,OH,OI,OJ;\n" "Aland Islands: 15: 18: EU: 60.13: -20.37: -2.0: OH0:\n" " OF0,OG0,OH0,OI0;\n" "Market Reef: 15: 18: EU: 60.00: -19.00: -2.0: OJ0:\n" " OJ0;\n" "Czech Republic: 15: 28: EU: 50.00: -16.00: -1.0: OK:\n" " OK,OL;\n" "Slovak Republic: 15: 28: EU: 49.00: -20.00: -1.0: OM:\n" " OM;\n" "Belgium: 14: 27: EU: 50.70: -4.85: -1.0: ON:\n" " ON,OO,OP,OQ,OR,OS,OT;\n" "Greenland: 40: 05: NA: 74.00: 42.78: 3.0: OX:\n" " OX,XP;\n" "Faroe Islands: 14: 18: EU: 62.07: 6.93: 0.0: OY:\n" " OW,OY;\n" "Denmark: 14: 18: EU: 56.00: -10.00: -1.0: OZ:\n" " 5P,5Q,OU,OV,OZ;\n" "Papua New Guinea: 28: 51: OC: -9.50: -147.12: -10.0: P2:\n" " P2;\n" "Aruba: 09: 11: SA: 12.53: 69.98: 4.0: P4:\n" " P4;\n" "DPR of Korea: 25: 44: AS: 39.78: -126.30: -9.0: P5:\n" " HM,P5,P6,P7,P8,P9;\n" "Netherlands: 14: 27: EU: 52.28: -5.47: -1.0: PA:\n" " PA,PB,PC,PD,PE,PF,PG,PH,PI,=PH4RTM/MILL;\n" "Curacao: 09: 11: SA: 12.17: 69.00: 4.0: PJ2:\n" " PJ2;\n" "Bonaire: 09: 11: SA: 12.20: 68.25: 4.0: PJ4:\n" " PJ4;\n" "Saba & St. Eustatius: 08: 11: NA: 17.57: 63.10: 4.0: PJ5:\n" " PJ5,PJ6;\n" "Sint Maarten: 08: 11: NA: 18.07: 63.07: 4.0: PJ7:\n" " PJ7;\n" "Brazil: 11: 12: SA: -10.00: 53.00: 3.0: PY:\n" " PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,ZV,ZW,ZX,ZY,ZZ,PP1[15],PP2[15],PP3[15],\n" " PP4[15],PP5[15],PP6[13],PP7[13],PQ2[13],PQ3[15],PQ4[15],PQ8[13],PR3[15],\n" " PR4[15],PR7[13],PR8[13],PS3[15],PS4[15],PS7[13],PS8[13],PT2[13],PT3[15],\n" " PT4[15],PT7[13],PT9[15],PU3[15],PU4[15],PV3[15],PV4[15],PW3[15],PW4[15],\n" " PX3[15],PX4[15],PY1[15],PY2[15],PY3[15],PY4[15],PY5[15],PY6[13],PY7[13],\n" " PY8[13],PY9[13],ZV3[15],ZV4[15],ZW3[15],ZW4[15],ZX3[15],ZX4[15],ZY3[15],\n" " ZY4[15],ZZ3[15],ZZ4[15];\n" "Fernando de Noronha: 11: 13: SA: -3.85: 32.43: 2.0: PY0F:\n" " PP0F,PQ0F,PR0F,PS0F,PT0F,PU0F,PV0F,PW0F,PX0F,PY0F,PY0Z,ZV0F,ZW0F,ZX0F,\n" " ZY0F,ZY0R,ZY0Z,ZZ0F;\n" "St. Peter & St. Paul: 11: 13: SA: 0.00: 29.00: 2.0: PY0S:\n" " PP0S,PQ0S,PR0S,PS0S,PT0S,PU0S,PV0S,PW0S,PX0S,PY0S,ZV0S,ZW0S,ZX0S,ZY0S,\n" " ZZ0S;\n" "Trindade & Martim Vaz: 11: 15: SA: -20.50: 29.32: 2.0: PY0T:\n" " PP0M,PP0T,PQ0M,PQ0T,PR0M,PR0T,PS0M,PS0T,PT0M,PT0T,PU0M,PU0T,PV0M,PV0T,\n" " PW0M,PW0T,PX0M,PX0T,PY0M,PY0T,ZV0M,ZV0T,ZW0M,ZW0T,ZX0M,ZX0T,ZY0M,ZY0T,\n" " ZZ0M,ZZ0T;\n" "Suriname: 09: 12: SA: 4.00: 56.00: 3.0: PZ:\n" " PZ;\n" "Franz Josef Land: 40: 75: EU: 80.68: -49.92: -3.0: R1FJ:\n" " FJL,R1FJ,RI1FJ;\n" "Western Sahara: 33: 46: AF: 24.82: 13.85: 0.0: S0:\n" " S0;\n" "Bangladesh: 22: 41: AS: 24.12: -89.65: -6.0: S2:\n" " S2,S3;\n" "Slovenia: 15: 28: EU: 46.00: -14.00: -1.0: S5:\n" " S5;\n" "Seychelles: 39: 53: AF: -4.67: -55.47: -4.0: S7:\n" " S7;\n" "Sao Tome & Principe: 36: 47: AF: 0.22: -6.57: 0.0: S9:\n" " S9;\n" "Sweden: 14: 18: EU: 61.20: -14.57: -1.0: SM:\n" " 7S,8S,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SM;\n" "Poland: 15: 28: EU: 52.28: -18.67: -1.0: SP:\n" " 3Z,HF,SN,SO,SP,SQ,SR;\n" "Sudan: 34: 48: AF: 14.47: -28.62: -3.0: ST:\n" " 6T,6U,ST;\n" "Egypt: 34: 38: AF: 26.28: -28.60: -2.0: SU:\n" " 6A,6B,SS,SU;\n" "Greece: 20: 28: EU: 39.78: -21.78: -2.0: SV:\n" " J4,SV,SW,SX,SY,SZ;\n" "Mount Athos: 20: 28: EU: 40.00: -24.00: -2.0: SV/a:\n" " =SV2ASP/A;\n" "Dodecanese: 20: 28: EU: 36.17: -27.93: -2.0: SV5:\n" " J45,SV5,SW5,SX5,SY5,SZ5,=SV0XAN/5,=SV0XCA/5;\n" "Crete: 20: 28: EU: 35.23: -24.78: -2.0: SV9:\n" " J49,SV9,SW9,SX9,SY9,SZ9,=SV0XAI/9,=SV0XBN/9,=SV0XCC/9;\n" "Tuvalu: 31: 65: OC: -8.50: -179.20: -12.0: T2:\n" " T2;\n" "Western Kiribati: 31: 65: OC: 1.42: -173.00: -12.0: T30:\n" " T30;\n" "Central Kiribati: 31: 62: OC: -2.83: 171.72: -13.0: T31:\n" " T31;\n" "Eastern Kiribati: 31: 61: OC: 1.80: 157.35: -14.0: T32:\n" " T32;\n" "Banaba Island: 31: 65: OC: -0.88: -169.53: -12.0: T33:\n" " T33;\n" "Somalia: 37: 48: AF: 2.03: -45.35: -3.0: T5:\n" " 6O,T5;\n" "San Marino: 15: 28: EU: 43.95: -12.45: -1.0: T7:\n" " T7;\n" "Palau: 27: 64: OC: 7.45: -134.53: -9.0: T8:\n" " T8;\n" "Asiatic Turkey: 20: 39: AS: 39.18: -35.65: -2.0: TA:\n" " TA,TB,TC,YM,=TC50TRAC/18E,=TC50TRAC/18C,=TC50TRAC/28G,=TC50TRAC/29T,\n" " =TC50TRAC/38D,=TC50TRAC/38K;\n" "European Turkey: 20: 39: EU: 41.02: -28.97: -2.0: *TA1:\n" " TA1,TB1,TC1,YM1;\n" "Iceland: 40: 17: EU: 64.80: 18.73: 0.0: TF:\n" " TF;\n" "Guatemala: 07: 11: NA: 15.50: 90.30: 6.0: TG:\n" " TD,TG;\n" "Costa Rica: 07: 11: NA: 10.00: 84.00: 6.0: TI:\n" " TE,TI;\n" "Cocos Island: 07: 11: NA: 5.52: 87.05: 6.0: TI9:\n" " TE9,TI9;\n" "Cameroon: 36: 47: AF: 5.38: -11.87: -1.0: TJ:\n" " TJ;\n" "Corsica: 15: 28: EU: 42.00: -9.00: -1.0: TK:\n" " TK;\n" "Central African Republic: 36: 47: AF: 6.75: -20.33: -1.0: TL:\n" " TL;\n" "Republic of the Congo: 36: 52: AF: -1.02: -15.37: -1.0: TN:\n" " TN;\n" "Gabon: 36: 52: AF: -0.37: -11.73: -1.0: TR:\n" " TR;\n" "Chad: 36: 47: AF: 15.80: -18.17: -1.0: TT:\n" " TT;\n" "Cote d'Ivoire: 35: 46: AF: 7.58: 5.80: 0.0: TU:\n" " TU;\n" "Benin: 35: 46: AF: 9.87: -2.25: -1.0: TY:\n" " TY;\n" "Mali: 35: 46: AF: 18.00: 2.58: 0.0: TZ:\n" " TZ;\n" "European Russia: 16: 29: EU: 56.00: -37.00: -4.0: UA:\n" " R,U,R1N[19],R1O[19],R1P[20],R1Z[19],R4H[30],R4I[30],R4W[30],R8F(17)[30],\n" " R8G(17)[30],R8X(17)[19],R9F(17)[30],R9G(17)[30],R9X(17)[19],RA1N[19],\n" " RA1O[19],RA1P[20],RA1Z[19],RA4H[30],RA4I[30],RA4W[30],RA8F(17)[30],\n" " RA8G(17)[30],RA8X(17)[19],RA9F(17)[30],RA9G(17)[30],RA9X(17)[19],RC1N[19],\n" " RC1O[19],RC1P[20],RC1Z[19],RC4H[30],RC4I[30],RC4W[30],RC8F(17)[30],\n" " RC8G(17)[30],RC8X(17)[19],RC9F(17)[30],RC9G(17)[30],RC9X(17)[19],RD1N[19],\n" " RD1O[19],RD1P[20],RD1Z[19],RD4H[30],RD4I[30],RD4W[30],RD8F(17)[30],\n" " RD8G(17)[30],RD8X(17)[19],RD9F(17)[30],RD9G(17)[30],RD9X(17)[19],RF1N[19],\n" " RF1O[19],RF1P[20],RF1Z[19],RF4H[30],RF4I[30],RF4W[30],RF8F(17)[30],\n" " RF8G(17)[30],RF8X(17)[19],RF9F(17)[30],RF9G(17)[30],RF9X(17)[19],RG1N[19],\n" " RG1O[19],RG1P[20],RG1Z[19],RG4H[30],RG4I[30],RG4W[30],RG8F(17)[30],\n" " RG8G(17)[30],RG8X(17)[19],RG9F(17)[30],RG9G(17)[30],RG9X(17)[19],RI1N[19],\n" " RI1O[19],RI1P[20],RI1Z[19],RI4H[30],RI4I[30],RI4W[30],RI8F(17)[30],\n" " RI8G(17)[30],RI8X(17)[19],RI9F(17)[30],RI9G(17)[30],RI9X(17)[19],RJ1N[19],\n" " RJ1O[19],RJ1P[20],RJ1Z[19],RJ4H[30],RJ4I[30],RJ4W[30],RJ8F(17)[30],\n" " RJ8G(17)[30],RJ8X(17)[19],RJ9F(17)[30],RJ9G(17)[30],RJ9X(17)[19],RK1N[19],\n" " RK1O[19],RK1P[20],RK1Z[19],RK4H[30],RK4I[30],RK4W[30],RK8F(17)[30],\n" " RK8G(17)[30],RK8X(17)[19],RK9F(17)[30],RK9G(17)[30],RK9X(17)[19],RL1N[19],\n" " RL1O[19],RL1P[20],RL1Z[19],RL4H[30],RL4I[30],RL4W[30],RL8F(17)[30],\n" " RL8G(17)[30],RL8X(17)[19],RL9F(17)[30],RL9G(17)[30],RL9X(17)[19],RM1N[19],\n" " RM1O[19],RM1P[20],RM1Z[19],RM4H[30],RM4I[30],RM4W[30],RM8F(17)[30],\n" " RM8G(17)[30],RM8X(17)[19],RM9F(17)[30],RM9G(17)[30],RM9X(17)[19],RN1N[19],\n" " RN1O[19],RN1P[20],RN1Z[19],RN4H[30],RN4I[30],RN4W[30],RN8F(17)[30],\n" " RN8G(17)[30],RN8X(17)[19],RN9F(17)[30],RN9G(17)[30],RN9X(17)[19],RO1N[19],\n" " RO1O[19],RO1P[20],RO1Z[19],RO4H[30],RO4I[30],RO4W[30],RO8F(17)[30],\n" " RO8G(17)[30],RO8X(17)[19],RO9F(17)[30],RO9G(17)[30],RO9X(17)[19],RP1N[19],\n" " RP1O[19],RP1P[20],RP1Z[19],RP4H[30],RP4I[30],RP4W[30],RP8F(17)[30],\n" " RP8G(17)[30],RP8X(17)[19],RP9F(17)[30],RP9G(17)[30],RP9X(17)[19],RQ1N[19],\n" " RQ1O[19],RQ1P[20],RQ1Z[19],RQ4H[30],RQ4I[30],RQ4W[30],RQ8F(17)[30],\n" " RQ8G(17)[30],RQ8X(17)[19],RQ9F(17)[30],RQ9G(17)[30],RQ9X(17)[19],RR1N[19],\n" " RR1O[19],RR1P[20],RR1Z[19],RR4H[30],RR4I[30],RR4W[30],RR8F(17)[30],\n" " RR8G(17)[30],RR8X(17)[19],RR9F(17)[30],RR9G(17)[30],RR9X(17)[19],RT1N[19],\n" " RT1O[19],RT1P[20],RT1Z[19],RT4H[30],RT4I[30],RT4W[30],RT8F(17)[30],\n" " RT8G(17)[30],RT8X(17)[19],RT9F(17)[30],RT9G(17)[30],RT9X(17)[19],RU1N[19],\n" " RU1O[19],RU1P[20],RU1Z[19],RU4H[30],RU4I[30],RU4W[30],RU8F(17)[30],\n" " RU8G(17)[30],RU8X(17)[19],RU9F(17)[30],RU9G(17)[30],RU9X(17)[19],RV1N[19],\n" " RV1O[19],RV1P[20],RV1Z[19],RV4H[30],RV4I[30],RV4W[30],RV8F(17)[30],\n" " RV8G(17)[30],RV8X(17)[19],RV9F(17)[30],RV9G(17)[30],RV9X(17)[19],RW1N[19],\n" " RW1O[19],RW1P[20],RW1Z[19],RW4H[30],RW4I[30],RW4W[30],RW8F(17)[30],\n" " RW8G(17)[30],RW8X(17)[19],RW9F(17)[30],RW9G(17)[30],RW9X(17)[19],RX1N[19],\n" " RX1O[19],RX1P[20],RX1Z[19],RX4H[30],RX4I[30],RX4W[30],RX8F(17)[30],\n" " RX8G(17)[30],RX8X(17)[19],RX9F(17)[30],RX9G(17)[30],RX9X(17)[19],RY1N[19],\n" " RY1O[19],RY1P[20],RY1Z[19],RY4H[30],RY4I[30],RY4W[30],RY8F(17)[30],\n" " RY8G(17)[30],RY8X(17)[19],RY9F(17)[30],RY9G(17)[30],RY9X(17)[19],RZ1N[19],\n" " RZ1O[19],RZ1P[20],RZ1Z[19],RZ4H[30],RZ4I[30],RZ4W[30],RZ8F(17)[30],\n" " RZ8G(17)[30],RZ8X(17)[19],RZ9F(17)[30],RZ9G(17)[30],RZ9X(17)[19],U1N[19],\n" " U1O[19],U1P[20],U1Z[19],U4H[30],U4I[30],U4W[30],U8F(17)[30],U8G(17)[30],\n" " U8X(17)[19],U9F(17)[30],U9G(17)[30],U9X(17)[19],UA1N[19],UA1O[19],\n" " UA1P[20],UA1Z[19],UA4H[30],UA4I[30],UA4W[30],UA8F(17)[30],UA8G(17)[30],\n" " UA8X(17)[19],UA9F(17)[30],UA9G(17)[30],UA9X(17)[19],UB1N[19],UB1O[19],\n" " UB1P[20],UB1Z[19],UB4H[30],UB4I[30],UB4W[30],UB8F(17)[30],UB8G(17)[30],\n" " UB8X(17)[19],UB9F(17)[30],UB9G(17)[30],UB9X(17)[19],UC1N[19],UC1O[19],\n" " UC1P[20],UC1Z[19],UC4H[30],UC4I[30],UC4W[30],UC8F(17)[30],UC8G(17)[30],\n" " UC8X(17)[19],UC9F(17)[30],UC9G(17)[30],UC9X(17)[19],UD1N[19],UD1O[19],\n" " UD1P[20],UD1Z[19],UD4H[30],UD4I[30],UD4W[30],UD8F(17)[30],UD8G(17)[30],\n" " UD8X(17)[19],UD9F(17)[30],UD9G(17)[30],UD9X(17)[19],UE1N[19],UE1O[19],\n" " UE1P[20],UE1Z[19],UE4H[30],UE4I[30],UE4W[30],UE8F(17)[30],UE8G(17)[30],\n" " UE8X(17)[19],UE9F(17)[30],UE9G(17)[30],UE9X(17)[19],UF1N[19],UF1O[19],\n" " UF1P[20],UF1Z[19],UF4H[30],UF4I[30],UF4W[30],UF8F(17)[30],UF8G(17)[30],\n" " UF8X(17)[19],UF9F(17)[30],UF9G(17)[30],UF9X(17)[19],UG1N[19],UG1O[19],\n" " UG1P[20],UG1Z[19],UG4H[30],UG4I[30],UG4W[30],UG8F(17)[30],UG8G(17)[30],\n" " UG8X(17)[19],UG9F(17)[30],UG9G(17)[30],UG9X(17)[19],UH1N[19],UH1O[19],\n" " UH1P[20],UH1Z[19],UH4H[30],UH4I[30],UH4W[30],UH8F(17)[30],UH8G(17)[30],\n" " UH8X(17)[19],UH9F(17)[30],UH9G(17)[30],UH9X(17)[19],UI1N[19],UI1O[19],\n" " UI1P[20],UI1Z[19],UI4H[30],UI4I[30],UI4W[30],UI8F(17)[30],UI8G(17)[30],\n" " UI8X(17)[19],UI9F(17)[30],UI9G(17)[30],UI9X(17)[19],=R875R,=RD9CX/4/P,\n" " =RV9WKI/4/P,=RZ9HK/3/P;\n" "Kaliningrad: 15: 29: EU: 54.72: -20.52: -3.0: UA2:\n" " R2F,R2K,RA2,RC2F,RC2K,RD2F,RD2K,RF2F,RF2K,RG2F,RG2K,RI2F,RI2K,RJ2F,RJ2K,\n" " RK2F,RK2K,RL2F,RL2K,RM2F,RM2K,RN2F,RN2K,RO2F,RO2K,RP2F,RP2K,RQ2F,RQ2K,\n" " RR2F,RR2K,RT2F,RT2K,RU2F,RU2K,RV2F,RV2K,RW2F,RW2K,RX2F,RX2K,RY2F,RY2K,\n" " RZ2F,RZ2K,U2F,U2K,UA2,UB2,UC2,UD2,UE2,UF2,UG2,UH2,UI2,=R10RLHA/2,=R21GGGR,\n" " =R22GGGR,=R2MWO;\n" "Asiatic Russia: 17: 30: AS: 67.18: -104.00: -7.0: UA9:\n" " R0,R8(17)[30],R9,RA0,RA8(17)[30],RA9,RB0,RB8(17)[30],RB9,RC0,RC8(17)[30],\n" " RC9,RD0,RD8(17)[30],RD9,RE0,RE8(17)[30],RE9,RF0,RF8(17)[30],RF9,RG0,\n" " RG8(17)[30],RG9,RH0,RH8(17)[30],RH9,RI0,RI8(17)[30],RI9,RJ0,RJ8(17)[30],\n" " RJ9,RK0,RK8(17)[30],RK9,RL0,RL8(17)[30],RL9,RM0,RM8(17)[30],RM9,RN0,\n" " RN8(17)[30],RN9,RO0,RO8(17)[30],RO9,RP0,RP8(17)[30],RP9,RQ0,RQ8(17)[30],\n" " RQ9,RR0,RR8(17)[30],RR9,RS0,RS8(17)[30],RS9,RT0,RT8(17)[30],RT9,RU0,\n" " RU8(17)[30],RU9,RV0,RV8(17)[30],RV9,RW0,RW8(17)[30],RW9,RX0,RX8(17)[30],\n" " RX9,RY0,RY8(17)[30],RY9,RZ0,RZ8(17)[30],RZ9,U0,U8(17)[30],U9,UA0,\n" " UA8(17)[30],UA9,UB0,UB8(17)[30],UB9,UC0,UC8(17)[30],UC9,UD0,UD8(17)[30],\n" " UD9,UE0,UE8(17)[30],UE9,UF0,UF8(17)[30],UF9,UG0,UG8(17)[30],UG9,UH0,\n" " UH8(17)[30],UH9,UI0,UI8(17)[30],UI9,R0T(18)[32],R8H(18)[31],R8I(18)[31],\n" " R8O(18)[31],R8P(18)[31],R8S(16)[30],R8T(16)[30],R8U(18)[31],R8V(18)[31],\n" " R8W(16)[30],R8Y(18)[31],R8Z(18)[31],R9I(18)[31],R9M(17)[30],R9P(18)[31],\n" " R9S(16),R9T(16),R9V(18)[31],R9W(16),RA0T(18)[32],RA8H(18)[31],\n" " RA8I(18)[31],RA8O(18)[31],RA8P(18)[31],RA8S(16)[30],RA8T(16)[30],\n" " RA8U(18)[31],RA8V(18)[31],RA8W(16)[30],RA8Y(18)[31],RA8Z(18)[31],\n" " RA9I(18)[31],RA9M(17)[30],RA9P(18)[31],RA9S(16),RA9T(16),RA9V(18)[31],\n" " RA9W(16),RC0T(18)[32],RC8H(18)[31],RC8I(18)[31],RC8O(18)[31],RC8P(18)[31],\n" " RC8S(16)[30],RC8T(16)[30],RC8U(18)[31],RC8V(18)[31],RC8W(16)[30],\n" " RC8Y(18)[31],RC8Z(18)[31],RC9I(18)[31],RC9M(17)[30],RC9P(18)[31],RC9S(16),\n" " RC9T(16),RC9V(18)[31],RC9W(16),RD0T(18)[32],RD8H(18)[31],RD8I(18)[31],\n" " RD8O(18)[31],RD8P(18)[31],RD8S(16)[30],RD8T(16)[30],RD8U(18)[31],\n" " RD8V(18)[31],RD8W(16)[30],RD8Y(18)[31],RD8Z(18)[31],RD9I(18)[31],\n" " RD9M(17)[30],RD9P(18)[31],RD9S(16),RD9T(16),RD9V(18)[31],RD9W(16),\n" " RF0T(18)[32],RF8H(18)[31],RF8I(18)[31],RF8O(18)[31],RF8P(18)[31],\n" " RF8S(16)[30],RF8T(16)[30],RF8U(18)[31],RF8V(18)[31],RF8W(16)[30],\n" " RF8Y(18)[31],RF8Z(18)[31],RF9I(18)[31],RF9M(17)[30],RF9P(18)[31],RF9S(16),\n" " RF9T(16),RF9V(18)[31],RF9W(16),RG0T(18)[32],RG8H(18)[31],RG8I(18)[31],\n" " RG8O(18)[31],RG8P(18)[31],RG8S(16)[30],RG8T(16)[30],RG8U(18)[31],\n" " RG8V(18)[31],RG8W(16)[30],RG8Y(18)[31],RG8Z(18)[31],RG9I(18)[31],\n" " RG9M(17)[30],RG9P(18)[31],RG9S(16),RG9T(16),RG9V(18)[31],RG9W(16),\n" " RI0T(18)[32],RI8H(18)[31],RI8I(18)[31],RI8O(18)[31],RI8P(18)[31],\n" " RI8S(16)[30],RI8T(16)[30],RI8U(18)[31],RI8V(18)[31],RI8W(16)[30],\n" " RI8Y(18)[31],RI8Z(18)[31],RI9I(18)[31],RI9M(17)[30],RI9P(18)[31],RI9S(16),\n" " RI9T(16),RI9V(18)[31],RI9W(16),RJ0T(18)[32],RJ8H(18)[31],RJ8I(18)[31],\n" " RJ8O(18)[31],RJ8P(18)[31],RJ8S(16)[30],RJ8T(16)[30],RJ8U(18)[31],\n" " RJ8V(18)[31],RJ8W(16)[30],RJ8Y(18)[31],RJ8Z(18)[31],RJ9I(18)[31],\n" " RJ9M(17)[30],RJ9P(18)[31],RJ9S(16),RJ9T(16),RJ9V(18)[31],RJ9W(16),\n" " RK0T(18)[32],RK8H(18)[31],RK8I(18)[31],RK8O(18)[31],RK8P(18)[31],\n" " RK8S(16)[30],RK8T(16)[30],RK8U(18)[31],RK8V(18)[31],RK8W(16)[30],\n" " RK8Y(18)[31],RK8Z(18)[31],RK9I(18)[31],RK9M(17)[30],RK9P(18)[31],RK9S(16),\n" " RK9T(16),RK9V(18)[31],RK9W(16),RL0T(18)[32],RL8H(18)[31],RL8I(18)[31],\n" " RL8O(18)[31],RL8P(18)[31],RL8S(16)[30],RL8T(16)[30],RL8U(18)[31],\n" ; const char txt_cty1[17792] = " RL8V(18)[31],RL8W(16)[30],RL8Y(18)[31],RL8Z(18)[31],RL9I(18)[31],\n" " RL9M(17)[30],RL9P(18)[31],RL9S(16),RL9T(16),RL9V(18)[31],RL9W(16),\n" " RM0T(18)[32],RM8H(18)[31],RM8I(18)[31],RM8O(18)[31],RM8P(18)[31],\n" " RM8S(16)[30],RM8T(16)[30],RM8U(18)[31],RM8V(18)[31],RM8W(16)[30],\n" " RM8Y(18)[31],RM8Z(18)[31],RM9I(18)[31],RM9M(17)[30],RM9P(18)[31],RM9S(16),\n" " RM9T(16),RM9V(18)[31],RM9W(16),RN0T(18)[32],RN8H(18)[31],RN8I(18)[31],\n" " RN8O(18)[31],RN8P(18)[31],RN8S(16)[30],RN8T(16)[30],RN8U(18)[31],\n" " RN8V(18)[31],RN8W(16)[30],RN8Y(18)[31],RN8Z(18)[31],RN9I(18)[31],\n" " RN9M(17)[30],RN9P(18)[31],RN9S(16),RN9T(16),RN9V(18)[31],RN9W(16),\n" " RO0T(18)[32],RO8H(18)[31],RO8I(18)[31],RO8O(18)[31],RO8P(18)[31],\n" " RO8S(16)[30],RO8T(16)[30],RO8U(18)[31],RO8V(18)[31],RO8W(16)[30],\n" " RO8Y(18)[31],RO8Z(18)[31],RO9I(18)[31],RO9M(17)[30],RO9P(18)[31],RO9S(16),\n" " RO9T(16),RO9V(18)[31],RO9W(16),RP0T(18)[32],RP8H(18)[31],RP8I(18)[31],\n" " RP8O(18)[31],RP8P(18)[31],RP8S(16)[30],RP8T(16)[30],RP8U(18)[31],\n" " RP8V(18)[31],RP8W(16)[30],RP8Y(18)[31],RP8Z(18)[31],RP9I(18)[31],\n" " RP9M(17)[30],RP9P(18)[31],RP9S(16),RP9T(16),RP9V(18)[31],RP9W(16),\n" " RQ0T(18)[32],RQ8H(18)[31],RQ8I(18)[31],RQ8O(18)[31],RQ8P(18)[31],\n" " RQ8S(16)[30],RQ8T(16)[30],RQ8U(18)[31],RQ8V(18)[31],RQ8W(16)[30],\n" " RQ8Y(18)[31],RQ8Z(18)[31],RQ9I(18)[31],RQ9M(17)[30],RQ9P(18)[31],RQ9S(16),\n" " RQ9T(16),RQ9V(18)[31],RQ9W(16),RR0T(18)[32],RR8H(18)[31],RR8I(18)[31],\n" " RR8O(18)[31],RR8P(18)[31],RR8S(16)[30],RR8T(16)[30],RR8U(18)[31],\n" " RR8V(18)[31],RR8W(16)[30],RR8Y(18)[31],RR8Z(18)[31],RR9I(18)[31],\n" " RR9M(17)[30],RR9P(18)[31],RR9S(16),RR9T(16),RR9V(18)[31],RR9W(16),\n" " RT0T(18)[32],RT8H(18)[31],RT8I(18)[31],RT8O(18)[31],RT8P(18)[31],\n" " RT8S(16)[30],RT8T(16)[30],RT8U(18)[31],RT8V(18)[31],RT8W(16)[30],\n" " RT8Y(18)[31],RT8Z(18)[31],RT9I(18)[31],RT9M(17)[30],RT9P(18)[31],RT9S(16),\n" " RT9T(16),RT9V(18)[31],RT9W(16),RU0T(18)[32],RU8H(18)[31],RU8I(18)[31],\n" " RU8O(18)[31],RU8P(18)[31],RU8S(16)[30],RU8T(16)[30],RU8U(18)[31],\n" " RU8V(18)[31],RU8W(16)[30],RU8Y(18)[31],RU8Z(18)[31],RU9I(18)[31],\n" " RU9M(17)[30],RU9P(18)[31],RU9S(16),RU9T(16),RU9V(18)[31],RU9W(16),\n" " RV0T(18)[32],RV8H(18)[31],RV8I(18)[31],RV8O(18)[31],RV8P(18)[31],\n" " RV8S(16)[30],RV8T(16)[30],RV8U(18)[31],RV8V(18)[31],RV8W(16)[30],\n" " RV8Y(18)[31],RV8Z(18)[31],RV9I(18)[31],RV9M(17)[30],RV9P(18)[31],RV9S(16),\n" " RV9T(16),RV9V(18)[31],RV9W(16),RW0T(18)[32],RW8H(18)[31],RW8I(18)[31],\n" " RW8O(18)[31],RW8P(18)[31],RW8S(16)[30],RW8T(16)[30],RW8U(18)[31],\n" " RW8V(18)[31],RW8W(16)[30],RW8Y(18)[31],RW8Z(18)[31],RW9I(18)[31],\n" " RW9M(17)[30],RW9P(18)[31],RW9S(16),RW9T(16),RW9V(18)[31],RW9W(16),\n" " RX0T(18)[32],RX8H(18)[31],RX8I(18)[31],RX8O(18)[31],RX8P(18)[31],\n" " RX8S(16)[30],RX8T(16)[30],RX8U(18)[31],RX8V(18)[31],RX8W(16)[30],\n" " RX8Y(18)[31],RX8Z(18)[31],RX9I(18)[31],RX9M(17)[30],RX9P(18)[31],RX9S(16),\n" " RX9T(16),RX9V(18)[31],RX9W(16),RY0T(18)[32],RY8H(18)[31],RY8I(18)[31],\n" " RY8O(18)[31],RY8P(18)[31],RY8S(16)[30],RY8T(16)[30],RY8U(18)[31],\n" " RY8V(18)[31],RY8W(16)[30],RY8Y(18)[31],RY8Z(18)[31],RY9I(18)[31],\n" " RY9M(17)[30],RY9P(18)[31],RY9S(16),RY9T(16),RY9V(18)[31],RY9W(16),\n" " RZ0T(18)[32],RZ8H(18)[31],RZ8I(18)[31],RZ8O(18)[31],RZ8P(18)[31],\n" " RZ8S(16)[30],RZ8T(16)[30],RZ8U(18)[31],RZ8V(18)[31],RZ8W(16)[30],\n" " RZ8Y(18)[31],RZ8Z(18)[31],RZ9I(18)[31],RZ9M(17)[30],RZ9P(18)[31],RZ9S(16),\n" " RZ9T(16),RZ9V(18)[31],RZ9W(16),U0T(18)[32],U8H(18)[31],U8I(18)[31],\n" " U8O(18)[31],U8P(18)[31],U8S(16)[30],U8T(16)[30],U8U(18)[31],U8V(18)[31],\n" " U8W(16)[30],U8Y(18)[31],U8Z(18)[31],U9I(18)[31],U9M(17)[30],U9P(18)[31],\n" " U9S(16),U9T(16),U9V(18)[31],U9W(16),UA0T(18)[32],UA8H(18)[31],\n" " UA8I(18)[31],UA8O(18)[31],UA8P(18)[31],UA8S(16)[30],UA8T(16)[30],\n" " UA8U(18)[31],UA8V(18)[31],UA8W(16)[30],UA8Y(18)[31],UA8Z(18)[31],\n" " UA9I(18)[31],UA9M(17)[30],UA9P(18)[31],UA9S(16),UA9T(16),UA9V(18)[31],\n" " UA9W(16),UB0T(18)[32],UB8H(18)[31],UB8I(18)[31],UB8O(18)[31],UB8P(18)[31],\n" " UB8S(16)[30],UB8T(16)[30],UB8U(18)[31],UB8V(18)[31],UB8W(16)[30],\n" " UB8Y(18)[31],UB8Z(18)[31],UB9I(18)[31],UB9M(17)[30],UB9P(18)[31],UB9S(16),\n" " UB9T(16),UB9V(18)[31],UB9W(16),UC0T(18)[32],UC8H(18)[31],UC8I(18)[31],\n" " UC8O(18)[31],UC8P(18)[31],UC8S(16)[30],UC8T(16)[30],UC8U(18)[31],\n" " UC8V(18)[31],UC8W(16)[30],UC8Y(18)[31],UC8Z(18)[31],UC9I(18)[31],\n" " UC9M(17)[30],UC9P(18)[31],UC9S(16),UC9T(16),UC9V(18)[31],UC9W(16),\n" " UD0T(18)[32],UD8H(18)[31],UD8I(18)[31],UD8O(18)[31],UD8P(18)[31],\n" " UD8S(16)[30],UD8T(16)[30],UD8U(18)[31],UD8V(18)[31],UD8W(16)[30],\n" " UD8Y(18)[31],UD8Z(18)[31],UD9I(18)[31],UD9M(17)[30],UD9P(18)[31],UD9S(16),\n" " UD9T(16),UD9V(18)[31],UD9W(16),UE0T(18)[32],UE8H(18)[31],UE8I(18)[31],\n" " UE8O(18)[31],UE8P(18)[31],UE8S(16)[30],UE8T(16)[30],UE8U(18)[31],\n" " UE8V(18)[31],UE8W(16)[30],UE8Y(18)[31],UE8Z(18)[31],UE9I(18)[31],\n" " UE9M(17)[30],UE9P(18)[31],UE9S(16),UE9T(16),UE9V(18)[31],UE9W(16),\n" " UF0T(18)[32],UF8H(18)[31],UF8I(18)[31],UF8O(18)[31],UF8P(18)[31],\n" " UF8S(16)[30],UF8T(16)[30],UF8U(18)[31],UF8V(18)[31],UF8W(16)[30],\n" " UF8Y(18)[31],UF8Z(18)[31],UF9I(18)[31],UF9M(17)[30],UF9P(18)[31],UF9S(16),\n" " UF9T(16),UF9V(18)[31],UF9W(16),UG0T(18)[32],UG8H(18)[31],UG8I(18)[31],\n" " UG8O(18)[31],UG8P(18)[31],UG8S(16)[30],UG8T(16)[30],UG8U(18)[31],\n" " UG8V(18)[31],UG8W(16)[30],UG8Y(18)[31],UG8Z(18)[31],UG9I(18)[31],\n" " UG9M(17)[30],UG9P(18)[31],UG9S(16),UG9T(16),UG9V(18)[31],UG9W(16),\n" " UH0T(18)[32],UH8H(18)[31],UH8I(18)[31],UH8O(18)[31],UH8P(18)[31],\n" " UH8S(16)[30],UH8T(16)[30],UH8U(18)[31],UH8V(18)[31],UH8W(16)[30],\n" " UH8Y(18)[31],UH8Z(18)[31],UH9I(18)[31],UH9M(17)[30],UH9P(18)[31],UH9S(16),\n" " UH9T(16),UH9V(18)[31],UH9W(16),UI0T(18)[32],UI8H(18)[31],UI8I(18)[31],\n" " UI8O(18)[31],UI8P(18)[31],UI8S(16)[30],UI8T(16)[30],UI8U(18)[31],\n" " UI8V(18)[31],UI8W(16)[30],UI8Y(18)[31],UI8Z(18)[31],UI9I(18)[31],\n" " UI9M(17)[30],UI9P(18)[31],UI9S(16),UI9T(16),UI9V(18)[31],UI9W(16),\n" " =RA/DL6XK,=RA/IK0PRH(19)[24],=RA/IK0PRH/P(19)[24],=RA/KE5JA(19)[34],\n" " =RA/UR5WT(18)[32],=RA/UT5IA(19)[23],=UE80C(19)[33];\n" "Uzbekistan: 17: 30: AS: 41.40: -63.97: -5.0: UK:\n" " UJ,UK,UL,UM;\n" "Kazakhstan: 17: 30: AS: 48.17: -65.18: -5.0: UN:\n" " UN,UO,UP,UQ,UN0D[31],UN0F[31],UN0G[31],UN0J[31],UN0Q[31],UN0V[31],\n" " UN1D[31],UN1F[31],UN1G[31],UN1J[31],UN1Q[31],UN1V[31],UN2D[31],UN2F[31],\n" " UN2G[31],UN2J[31],UN2Q[31],UN2V[31],UN3D[31],UN3F[31],UN3G[31],UN3J[31],\n" " UN3Q[31],UN3V[31],UN4D[31],UN4F[31],UN4G[31],UN4J[31],UN4Q[31],UN4V[31],\n" " UN5D[31],UN5F[31],UN5G[31],UN5J[31],UN5Q[31],UN5V[31],UN6D[31],UN6F[31],\n" " UN6G[31],UN6J[31],UN6Q[31],UN6V[31],UN7D[31],UN7F[31],UN7G[31],UN7J[31],\n" " UN7Q[31],UN7V[31],UN8D[31],UN8F[31],UN8G[31],UN8J[31],UN8Q[31],UN8V[31],\n" " UN9D[31],UN9F[31],UN9G[31],UN9J[31],UN9Q[31],UN9V[31],UO0D[31],UO0F[31],\n" " UO0G[31],UO0J[31],UO0Q[31],UO0V[31],UO1D[31],UO1F[31],UO1G[31],UO1J[31],\n" " UO1Q[31],UO1V[31],UO2D[31],UO2F[31],UO2G[31],UO2J[31],UO2Q[31],UO2V[31],\n" " UO3D[31],UO3F[31],UO3G[31],UO3J[31],UO3Q[31],UO3V[31],UO4D[31],UO4F[31],\n" " UO4G[31],UO4J[31],UO4Q[31],UO4V[31],UO5D[31],UO5F[31],UO5G[31],UO5J[31],\n" " UO5Q[31],UO5V[31],UO6D[31],UO6F[31],UO6G[31],UO6J[31],UO6Q[31],UO6V[31],\n" " UO7D[31],UO7F[31],UO7G[31],UO7J[31],UO7Q[31],UO7V[31],UO8D[31],UO8F[31],\n" " UO8G[31],UO8J[31],UO8Q[31],UO8V[31],UO9D[31],UO9F[31],UO9G[31],UO9J[31],\n" " UO9Q[31],UO9V[31],UP0D[31],UP0F[31],UP0G[31],UP0J[31],UP0Q[31],UP0V[31],\n" " UP1D[31],UP1F[31],UP1G[31],UP1J[31],UP1Q[31],UP1V[31],UP2D[31],UP2F[31],\n" " UP2G[31],UP2J[31],UP2Q[31],UP2V[31],UP3D[31],UP3F[31],UP3G[31],UP3J[31],\n" " UP3Q[31],UP3V[31],UP4D[31],UP4F[31],UP4G[31],UP4J[31],UP4Q[31],UP4V[31],\n" " UP5D[31],UP5F[31],UP5G[31],UP5J[31],UP5Q[31],UP5V[31],UP6D[31],UP6F[31],\n" " UP6G[31],UP6J[31],UP6Q[31],UP6V[31],UP7D[31],UP7F[31],UP7G[31],UP7J[31],\n" " UP7Q[31],UP7V[31],UP8D[31],UP8F[31],UP8G[31],UP8J[31],UP8Q[31],UP8V[31],\n" " UP9D[31],UP9F[31],UP9G[31],UP9J[31],UP9Q[31],UP9V[31],UQ0D[31],UQ0F[31],\n" " UQ0G[31],UQ0J[31],UQ0Q[31],UQ0V[31],UQ1D[31],UQ1F[31],UQ1G[31],UQ1J[31],\n" " UQ1Q[31],UQ1V[31],UQ2D[31],UQ2F[31],UQ2G[31],UQ2J[31],UQ2Q[31],UQ2V[31],\n" " UQ3D[31],UQ3F[31],UQ3G[31],UQ3J[31],UQ3Q[31],UQ3V[31],UQ4D[31],UQ4F[31],\n" " UQ4G[31],UQ4J[31],UQ4Q[31],UQ4V[31],UQ5D[31],UQ5F[31],UQ5G[31],UQ5J[31],\n" " UQ5Q[31],UQ5V[31],UQ6D[31],UQ6F[31],UQ6G[31],UQ6J[31],UQ6Q[31],UQ6V[31],\n" " UQ7D[31],UQ7F[31],UQ7G[31],UQ7J[31],UQ7Q[31],UQ7V[31],UQ8D[31],UQ8F[31],\n" " UQ8G[31],UQ8J[31],UQ8Q[31],UQ8V[31],UQ9D[31],UQ9F[31],UQ9G[31],UQ9J[31],\n" " UQ9Q[31],UQ9V[31];\n" "Ukraine: 16: 29: EU: 50.00: -30.00: -2.0: UR:\n" " EM,EN,EO,U5,UR,US,UT,UU,UV,UW,UX,UY,UZ;\n" "Antigua & Barbuda: 08: 11: NA: 17.07: 61.80: 4.0: V2:\n" " V2;\n" "Belize: 07: 11: NA: 16.97: 88.67: 6.0: V3:\n" " V3;\n" "St. Kitts & Nevis: 08: 11: NA: 17.37: 62.78: 4.0: V4:\n" " V4;\n" "Namibia: 38: 57: AF: -22.00: -17.00: -1.0: V5:\n" " V5;\n" "Micronesia: 27: 65: OC: 6.88: -158.20: -10.0: V6:\n" " V6;\n" "Marshall Islands: 31: 65: OC: 9.08: -167.33: -12.0: V7:\n" " V7;\n" "Brunei Darussalam: 28: 54: OC: 4.50: -114.60: -8.0: V8:\n" " V8;\n" "Canada: 05: 09: NA: 44.35: 78.75: 5.0: VE:\n" " CF,CG,CJ,CK,VA,VB,VC,VE,VG,VX,XL,XM,CF2[4],CG2[4],CH1,CH2(2),CI0(2)[4],\n" " CI1(1)[2],CI2,CJ2[4],CK2[4],CY1,CY2(2),CZ0(2)[4],CZ1(1)[2],CZ2,VA2[4],\n" " VB2[4],VC2[4],VD1,VD2(2),VE2[4],VF0(2)[4],VF1(1)[2],VF2,VG2[4],VO1,VO2(2),\n" " VX2[4],VY0(2)[4],VY1(1)[2],VY2,XJ1,XJ2(2),XK0(2)[4],XK1(1)[2],XK2,XL2[4],\n" " XM2[4],XN1,XN2(2),XO0(2)[4],XO1(1)[2],XO2,=VER20120918,=VA2PL(2)[4],\n" " =VE2AEJ(4)[4],=VE2CSI(2)[4],=VE2DXY(2)[4],=VE2EKA(2)[4],=VE2ENB(2)[4],\n" " =VE2EW(2)[4],=VE2FK[9],=VE2GSO(2)[4],=VE2HRI(2)[4],=VE2III(2)[4],\n" " =VE2IM(2)[4],=VE2TKH(2)[4],=VE2XB/3(4)[4],=VY0PW(4)[3];\n" "Australia: 30: 59: OC: -23.70: -132.33: -10.0: VK:\n" " AX,VH,VI,VJ,VK,VL,VM,VN,VZ,AX4[55],VH4[55],VI4[55],VJ4[55],VK4[55],\n" " VL4[55],VM4[55],VN4[55],VZ4[55];\n" "Heard Island: 39: 68: AF: -53.08: -73.50: -5.0: VK0H:\n" " =VK0IR;\n" "Macquarie Island: 30: 60: OC: -54.60: -158.88: -10.0: VK0M:\n" " =VK0TH;\n" "Cocos (Keeling) Islands: 29: 54: OC: -12.15: -96.82: -6.5: VK9C:\n" " AX9C,AX9Y,VH9C,VH9Y,VI9C,VI9Y,VJ9C,VJ9Y,VK9C,VK9Y,VL9C,VL9Y,VM9C,VM9Y,\n" " VN9C,VN9Y,VZ9C,VZ9Y,=VK9AA;\n" "Lord Howe Island: 30: 60: OC: -31.55: -159.08: -10.5: VK9L:\n" " AX9L,VH9L,VI9L,VJ9L,VK9L,VL9L,VM9L,VN9L,VZ9L,=VK9FLHI;\n" "Mellish Reef: 30: 56: OC: -17.40: -155.85: -10.0: VK9M:\n" " AX9M,VH9M,VI9M,VJ9M,VK9M,VL9M,VM9M,VN9M,VZ9M;\n" "Norfolk Island: 32: 60: OC: -29.03: -167.93: -11.5: VK9N:\n" " AX9,VH9,VI9,VJ9,VK9,VL9,VM9,VN9,VZ9;\n" "Willis Island: 30: 55: OC: -16.22: -150.02: -10.0: VK9W:\n" " AX9W,AX9Z,VH9W,VH9Z,VI9W,VI9Z,VJ9W,VJ9Z,VK9W,VK9Z,VL9W,VL9Z,VM9W,VM9Z,\n" " VN9W,VN9Z,VZ9W,VZ9Z;\n" "Christmas Island: 29: 54: OC: -10.48: -105.63: -7.0: VK9X:\n" " AX9X,VH9X,VI9X,VJ9X,VK9X,VL9X,VM9X,VN9X,VZ9X;\n" "Anguilla: 08: 11: NA: 18.23: 63.00: 4.0: VP2E:\n" " VP2E;\n" "Montserrat: 08: 11: NA: 16.75: 62.18: 4.0: VP2M:\n" " VP2M;\n" "British Virgin Islands: 08: 11: NA: 18.33: 64.75: 4.0: VP2V:\n" " VP2V;\n" "Turks & Caicos Islands: 08: 11: NA: 21.77: 71.75: 5.0: VP5:\n" " VP5,VQ5;\n" "Pitcairn Island: 32: 63: OC: -24.35: 128.32: 8.0: VP6:\n" " VP6;\n" "Ducie Island: 32: 63: OC: -24.70: 124.80: 8.0: VP6/d:\n" " =VP6DX;\n" "Falkland Islands: 13: 16: SA: -51.63: 58.72: 4.0: VP8:\n" " VP8;\n" "South Georgia Island: 13: 73: SA: -54.48: 37.08: 2.0: VP8/g:\n" " =VP8SGK;\n" "South Shetland Islands: 13: 73: SA: -62.08: 58.67: 4.0: VP8/h:\n" " CE9,XR9,=DT8A,=HF0POL,=RI1ANA,=RI1ANF,=RI1ANF/P;\n" "South Orkney Islands: 13: 73: SA: -60.60: 45.55: 3.0: VP8/o:\n" " =LU1ZA;\n" "South Sandwich Islands: 13: 73: SA: -58.43: 26.33: 2.0: VP8/s:\n" " =VP8THU;\n" "Bermuda: 05: 11: NA: 32.32: 64.73: 4.0: VP9:\n" " VP9;\n" "Chagos Islands: 39: 41: AF: -7.32: -72.42: -6.0: VQ9:\n" " VQ9;\n" "Hong Kong: 24: 44: AS: 22.28: -114.18: -8.0: VR:\n" " VR;\n" "India: 22: 41: AS: 22.50: -77.58: -5.5: VU:\n" " 8T,8U,8V,8W,8X,8Y,AT,AU,AV,AW,VT,VU,VV,VW;\n" "Andaman & Nicobar Is.: 26: 49: AS: 12.37: -92.78: -5.5: VU4:\n" " VU4;\n" "Lakshadweep Islands: 22: 41: AS: 11.23: -72.78: -5.5: VU7:\n" " VU7;\n" "Mexico: 06: 10: NA: 24.00: 102.00: 6.0: XE:\n" " 4A,4B,4C,6D,6E,6F,6G,6H,6I,6J,XA,XB,XC,XD,XE,XF,XG,XH,XI;\n" "Revillagigedo: 06: 10: NA: 18.77: 110.97: 7.0: XF4:\n" " 4A4,4B4,4C4,6D4,6E4,6F4,6G4,6H4,6I4,6J4,XA4,XB4,XC4,XD4,XE4,XF0,XF4,XG4,\n" " XH4,XI4;\n" "Burkina Faso: 35: 46: AF: 12.00: 2.00: 0.0: XT:\n" " XT;\n" "Cambodia: 26: 49: AS: 12.93: -105.13: -7.0: XU:\n" " XU;\n" "Laos: 26: 49: AS: 18.20: -104.55: -7.0: XW:\n" " XW;\n" "Macao: 24: 44: AS: 22.10: -113.50: -8.0: XX9:\n" " XX9;\n" "Myanmar: 26: 49: AS: 20.00: -96.37: -6.5: XZ:\n" " XY,XZ;\n" "Afghanistan: 21: 40: AS: 34.70: -65.80: -4.5: YA:\n" " T6,YA;\n" "Indonesia: 28: 51: OC: -7.30: -109.88: -7.0: YB:\n" " 7A,7B,7C,7D,7E,7F,7G,7H,7I,8A,8B,8C,8D,8E,8F,8G,8H,8I,JZ,PK,PL,PM,PN,PO,\n" " YB,YC,YD,YE,YF,YG,YH,YB0[54],YB1[54],YB2[54],YB3[54],YB4[54],YB5[54],\n" " YB6[54],YB7[54],YB8[54],YC0[54],YC1[54],YC2[54],YC3[54],YC4[54],YC5[54],\n" " YC6[54],YC7[54],YC8[54],YD0[54],YD1[54],YD2[54],YD3[54],YD4[54],YD5[54],\n" " YD6[54],YD7[54],YD8[54],YE0[54],YE1[54],YE2[54],YE3[54],YE4[54],YE5[54],\n" " YE6[54],YE7[54],YE8[54],YF0[54],YF1[54],YF2[54],YF3[54],YF4[54],YF5[54],\n" " YF6[54],YF7[54],YF8[54],YG0[54],YG1[54],YG2[54],YG3[54],YG4[54],YG5[54],\n" " YG6[54],YG7[54],YG8[54],YH0[54],YH1[54],YH2[54],YH3[54],YH4[54],YH5[54],\n" " YH6[54],YH7[54],YH8[54];\n" "Iraq: 21: 39: AS: 33.92: -42.78: -3.0: YI:\n" " HN,YI;\n" "Vanuatu: 32: 56: OC: -17.67: -168.38: -11.0: YJ:\n" " YJ;\n" "Syria: 20: 39: AS: 35.38: -38.20: -2.0: YK:\n" " 6C,YK;\n" "Latvia: 15: 29: EU: 57.03: -24.65: -2.0: YL:\n" " YL;\n" "Nicaragua: 07: 11: NA: 12.88: 85.05: 6.0: YN:\n" " H6,H7,HT,YN;\n" "Romania: 20: 28: EU: 45.78: -24.70: -2.0: YO:\n" " YO,YP,YQ,YR;\n" "El Salvador: 07: 11: NA: 14.00: 89.00: 6.0: YS:\n" " HU,YS;\n" "Serbia: 15: 28: EU: 44.00: -21.00: -1.0: YU:\n" " 4N,YT,YU;\n" "Venezuela: 09: 12: SA: 8.00: 66.00: 4.5: YV:\n" " 4M,YV,YW,YX,YY;\n" "Aves Island: 08: 11: NA: 15.67: 63.60: 4.0: YV0:\n" " 4M0,YV0,YW0,YX0,YY0;\n" "Zimbabwe: 38: 53: AF: -18.00: -31.00: -2.0: Z2:\n" " Z2;\n" "Macedonia: 15: 28: EU: 41.60: -21.65: -1.0: Z3:\n" " Z3;\n" "Kosovo: 15: 28: EU: 42.67: -21.17: -1.0: *Z6:\n" " Z6,=YU8/IV3LAR;\n" "Republic of South Sudan: 34: 48: AF: 4.85: -31.60: -3.0: Z8:\n" " Z8;\n" "Albania: 15: 28: EU: 41.00: -20.00: -1.0: ZA:\n" " ZA;\n" "Gibraltar: 14: 37: EU: 36.15: 5.37: -1.0: ZB:\n" " ZB,ZG;\n" "UK Base Areas on Cyprus: 20: 39: AS: 35.32: -33.57: -2.0: ZC4:\n" " ZC4;\n" "St. Helena: 36: 66: AF: -15.97: 5.72: 0.0: ZD7:\n" " ZD7;\n" "Ascension Island: 36: 66: AF: -7.93: 14.37: 0.0: ZD8:\n" " ZD8;\n" "Tristan da Cunha & Gough: 38: 66: AF: -37.13: 12.30: 0.0: ZD9:\n" " ZD9;\n" "Cayman Islands: 08: 11: NA: 19.32: 81.22: 5.0: ZF:\n" " ZF;\n" "Tokelau Islands: 31: 62: OC: -9.40: 171.20: -13.0: ZK3:\n" " ZK3;\n" "New Zealand: 32: 60: OC: -41.83: -173.27: -12.0: ZL:\n" " ZK,ZL,ZM;\n" "Chatham Islands: 32: 60: OC: -43.85: 176.48: -12.75: ZL7:\n" " ZL7,ZM7;\n" "Kermadec Islands: 32: 60: OC: -29.25: 177.92: -12.0: ZL8:\n" " ZL8,ZM8;\n" "Auckland & Campbell Is.: 32: 60: OC: -50.73: -166.10: -12.0: ZL9:\n" " ZL9,ZM9;\n" "Paraguay: 11: 14: SA: -25.27: 57.67: 4.0: ZP:\n" " ZP;\n" "South Africa: 38: 57: AF: -29.07: -22.63: -2.0: ZS:\n" " H5,S4,S8,V9,ZR,ZS,ZT,ZU,=ZS1CT/L,=ZS1FRC/L,=ZS5ZLB/L;\n" "Pr. Edward & Marion Is.: 38: 57: AF: -46.88: -37.72: -3.0: ZS8:\n" " ZR8,ZS8,ZT8,ZU8;\n" ; const char txt_master[65525] = "#\n" "# RELEASE 2010.08.09.00\n" "# by Bob Raymond, WA1Z\n" "#\n" "2E0AOZ\n" "2E0BFJ\n" "2E0BMG\n" "2E0BPP\n" "2E0BVP\n" "2E0CNL\n" "2E0CPT\n" "2E0CRD\n" "2E0CTT\n" "2E0CVN\n" "2E0DBD/P\n" "2E0DYM\n" "2E0EMF\n" "2E0FFQ\n" "2E0FPC\n" "2E0FSR\n" "2E0GMW\n" "2E0GVG\n" "2E0HEP\n" "2E0HOQ\n" "2E0HQD\n" "2E0HTS\n" "2E0IIM\n" "2E0IJK\n" "2E0IMS\n" "2E0IMT\n" "2E0IMW\n" "2E0IXC\n" "2E0JKD\n" "2E0JWW\n" "2E0JYK\n" "2E0KGV/P\n" "2E0KIM\n" "2E0KLD\n" "2E0KYI\n" "2E0LIB\n" "2E0LMA\n" "2E0LMG\n" "2E0LPA\n" "2E0LSB\n" "2E0MAS\n" "2E0MCA\n" "2E0MMI\n" "2E0NJC\n" "2E0NKC\n" "2E0NOC\n" "2E0OCC\n" "2E0PLA\n" "2E0PSW\n" "2E0RAK\n" "2E0RCM\n" "2E0RCV\n" "2E0RFS\n" "2E0RJM\n" "2E0RKY\n" "2E0RUS\n" "2E0SFC\n" "2E0SMJ\n" "2E0SPF\n" "2E0SQL\n" "2E0TAD\n" "2E0TAL\n" "2E0TGS\n" "2E0TJU\n" "2E0TQR\n" "2E0UNN\n" "2E0VDS\n" "2E0WAW\n" "2E0WDS\n" "2E0WDX\n" "2E0WHG\n" "2E0WMG/P\n" "2E0WPX\n" "2E0XIK\n" "2E0XIS\n" "2E0YQC\n" "2E0ZIG\n" "2E0ZWW\n" "2E1AXL\n" "2E1DFI\n" "2E1FVS\n" "2E1OKT\n" "2I0BIW\n" "2I0BSA\n" "2I0FLO\n" "2I0MVP\n" "2I0SAI\n" "2J0RZD\n" "2M0BGT\n" "2M0FSF\n" "2M0GOV\n" "2M0IVG\n" "2M0KLL\n" "2M0KPE\n" "2M0WMJ\n" "2M0XAT\n" "2U0ARE\n" "2W0IJL\n" "2W0XTP\n" "2W0ZAE\n" "2W0ZJA\n" "3A2MD\n" "3A2MG\n" "3A2MW\n" "3B8GT\n" "3D2KJ\n" "3D2MJ\n" "3DA0DJ\n" "3DA0WW\n" "3G1C\n" "3G1X\n" "3G3V\n" "3V3S\n" "3V8BB\n" "3V8CB\n" "3V8HQ\n" "3V8SF\n" "3V8SS\n" "3V8ST\n" "3V9A\n" "3W1M\n" "3W3W\n" "3X5A\n" "3XY6D\n" "3Z30C\n" "3Z40KP\n" "3Z50KPN\n" "3Z70RG\n" "3Z80PZK\n" "3Z8Z\n" "3Z90PR\n" "3Z9CESJ\n" "3Z9TA\n" "41N14O\n" "4A1B\n" "4A1DXXE\n" "4A2S\n" "4B1EE\n" "4B1KK\n" "4B2AU\n" "4B2S\n" "4B2WK\n" "4D1N\n" "4F1AL\n" "4H1T\n" "4H9RG\n" "4J3M\n" "4J5A\n" "4J7WMF\n" "4J9M\n" "4K0CW\n" "4K3K\n" "4K4K\n" "4K6FO\n" "4K8M\n" "4K9W\n" "4L0A\n" "4L0HQ\n" "4L1BR\n" "4L1FP\n" "4L1MA\n" "4L1UN\n" "4L2M\n" "4L3A\n" "4L3Y\n" "4L4CC\n" "4L6DL\n" "4L6QC\n" "4L7O\n" "4L8A\n" "4L9QQ\n" "4M1F\n" "4M1M\n" "4M4C\n" "4M4V\n" "4M5DX\n" "4M5IR\n" "4M5RY\n" "4O1OTA\n" "4O3A\n" "4O3RR\n" "4O3TT\n" "4O3Z\n" "4O4A\n" "4O7A\n" "4O8A\n" "4S7EA\n" "4S7NE\n" "4U10NPT\n" "4U1ITU\n" "4U1UN\n" "4U1VIC\n" "4U1WB\n" "4U30VIC\n" "4V4JR\n" "4X0A\n" "4X0B\n" "4X0C\n" "4X0G\n" "4X0T\n" "4X0V\n" "4X1AS\n" "4X1DF\n" "4X1IM\n" "4X1VF\n" "4X2M\n" "4X3HQ\n" "4X4DK\n" "4X4DZ\n" "4X4FC\n" "4X4FR\n" "4X4JU\n" "4X4PG\n" "4X4WN\n" "4X6DK\n" "4X6FK\n" "4X6FR\n" "4X6FU\n" "4X6KA\n" "4X6TF\n" "4X6UU\n" "4X6ZK\n" "4X6ZM\n" "4X6ZQ\n" "4Z1UF\n" "4Z4DX\n" "4Z4KX\n" "4Z4OQ\n" "4Z4TJ\n" "4Z4TL\n" "4Z4UT\n" "4Z4WR\n" "4Z5AD\n" "4Z5AY\n" "4Z5CP\n" "4Z5CX\n" "4Z5FI\n" "4Z5IW\n" "4Z5J\n" "4Z5JU\n" "4Z5KO\n" "4Z5KZ\n" "4Z5LA\n" "4Z5LU\n" "4Z5LX\n" "4Z5LZ\n" "4Z5ML\n" "4Z5MU\n" "4Z5MV\n" "4Z5MY\n" "4Z5OZ\n" "4Z5PJ\n" "4Z5PS\n" "4Z5QQ\n" "4Z5ST\n" "4Z5TA\n" "4Z5TK\n" "4Z5UN\n" "4Z8BB\n" "4Z8DT\n" "5B/AJ2O\n" "5B/G3RXQ\n" "5B/G4IRN\n" "5B/HA5PP\n" "5B/HG3IPA\n" "5B/KC2TIZ\n" "5B/US8ITL\n" "5B/UT0U\n" "5B/W2TAA\n" "5B4AGM\n" "5B4AGN\n" "5B4AHJ\n" "5B4AIA\n" "5B4AIF\n" "5B4AII\n" "5B4AIX\n" "5B4AIZ\n" "5B4KH\n" "5B4XF\n" "5B4ZN\n" "5B8AD\n" "5C2P\n" "5C5T\n" "5C5W\n" "5D0IPY\n" "5D5A\n" "5H1HS\n" "5H2WK\n" "5H3EE\n" "5J1A\n" "5K0CW\n" "5K0T\n" "5N0HQ\n" "5N0OCH\n" "5N3CPR\n" "5N7M\n" "5P0O\n" "5P2A\n" "5P3WW\n" "5P5CW\n" "5P5N\n" "5P5X\n" "5P9X\n" "5Q1A\n" "5Q2J\n" "5Q2T\n" "5Q8A\n" "5R8FU\n" "5R8KD\n" "5R8ZO\n" "5U5U\n" "5W0KH\n" "5W0OU\n" "5W0YA\n" "5X1AB\n" "5X1NH\n" "5X4X\n" "5Z4/DL8NBE\n" "5Z4/RW1AU\n" "5Z4JC\n" "6K2CFI\n" "6K2DFG\n" "6K2DIO\n" "6K2EJJ\n" "6K2FDL\n" "6K2GCW\n" "6K2GDT\n" "6K5AQY\n" "6K5AYC\n" "6K5BHZ\n" "6K5BLW\n" "6K5BUI\n" "6K5BXQ\n" "6K5XQE\n" "6K5YHX\n" "6L0NJ\n" "6M0HZ\n" "6M0HZ/2\n" "6M0MM\n" "6V7E\n" "6V7M\n" "6V7N\n" "6V7Q\n" "6V7V\n" "6W/DL2RMC\n" "6W/PA3EWP\n" "6W1RW\n" "6W1RY\n" "6W1SE\n" "6W1SJ\n" "6W2SC\n" "6W7RV\n" "6Y0FF\n" "6Y1LZ\n" "6Y1V\n" "6Y1X\n" "6Y5CR\n" "6Y5IC\n" "6Y5JH\n" "6Y5WJ\n" "6Y7J\n" "6Y9V\n" "7J1AAI\n" "7J1ABD\n" "7J1AQH\n" "7J1BBC\n" "7J1YAJ\n" "7J2YAF\n" "7J4AAL\n" "7J7ACT\n" "7J9AAD\n" "7K1CPT\n" "7K1DEE\n" "7K1EQG\n" "7K1MAG\n" "7K1PTO\n" "7K1PTT\n" "7K1SGX\n" "7K2GMJ\n" "7K3BKZ\n" "7K3PCI\n" "7K3QPL\n" "7K4DHB\n" "7K4GUR\n" "7K4NBV\n" "7K4PTY\n" "7K4QOK\n" "7K4TSM\n" "7K4XNN\n" "7L1FFH\n" "7L1JHN\n" "7L1QWK\n" "7L1WII\n" "7L2OHM\n" "7L2PDJ\n" "7L2QXT/3\n" "7L3DGP\n" "7L3KJV\n" "7L3LYK\n" "7L4IOU\n" "7M1MCT\n" "7M1MCU\n" "7M2ALP\n" "7M2PSC\n" "7M3IYU\n" "7M3QQP/1\n" "7M4CDX\n" "7M4HXF\n" "7N1PRD/0\n" "7N2CQN\n" "7N2DAB\n" "7N2JNN\n" "7N2JZT\n" "7N2SPK\n" "7N2TCB\n" "7N2TCF\n" "7N2TNI\n" "7N2TRM\n" "7N2UQC\n" "7N4AVW\n" "7N4CLI\n" "7N4CPT\n" "7N4KDU\n" "7N4LHJ\n" "7N4MXU\n" "7N4NGR\n" "7N4NIK\n" "7N4NQR\n" "7N4QCQ\n" "7N4QID\n" "7N4WPY\n" "7N4WZI\n" "7N4XAL\n" "7Q7BP\n" "7S0X\n" "7S2E\n" "7S3A\n" "7S3F\n" "7S4B\n" "7S5C\n" "7S5Q\n" "7S5S\n" "7S7V\n" "7X0RY\n" "7Z1CQ\n" "7Z1HB\n" "7Z1HL\n" "7Z1SJ\n" "7Z1TT\n" "8J1ASAHI/1\n" "8J1AXA/1\n" "8J1ITU\n" "8J1YDXC\n" "8J4P\n" "8J7SK\n" "8N1HQ\n" "8N1Y\n" "8N3HQ\n" "8N4HQ\n" "8N5A\n" "8N8HQ\n" "8P0P\n" "8P3A\n" "8P5A\n" "8P6AW\n" "8P6BX\n" "8P6ER\n" "8P6EX\n" "8P6JD\n" "8P9FW\n" "8P9NX\n" "8P9PB\n" "8P9SS\n" "8Q7DV\n" "8Q7SC\n" "8S0A\n" "8S0C\n" "8S0C/5\n" "8S0W\n" "8S4S\n" "8S5W\n" "8S5X\n" "8S6E\n" "9A/AC6DD\n" "9A/DL1DVP\n" "9A/DL2RBB\n" "9A/DL3VTA\n" "9A/E73T\n" "9A/E75DX\n" "9A/OM2FY\n" "9A/OM8A\n" "9A/S50R\n" "9A/S51DX\n" "9A/S53AU/P\n" "9A/VE3ZIK\n" "9A09P\n" "9A0AA\n" "9A0HQ\n" "9A0M\n" "9A0W\n" "9A1A\n" "9A1AA\n" "9A1ACD\n" "9A1BM\n" "9A1CAL\n" "9A1CCB\n" "9A1CCY\n" "9A1CDO\n" "9A1CFN\n" "9A1CFR\n" "9A1CIG\n" "9A1CKL\n" "9A1CMA\n" "9A1CMS\n" "9A1CVG\n" "9A1DL\n" "9A1HDE\n" "9A1MB\n" "9A1MM\n" "9A1O\n" "9A1P\n" "9A1UN\n" "9A1VZD\n" "9A1ZZ\n" "9A2AA\n" "9A2AJ\n" "9A2BD\n" "9A2BW\n" "9A2CD\n" "9A2CW\n" "9A2CY\n" "9A2D\n" "9A2DI\n" "9A2DQ\n" "9A2DS\n" "9A2EA\n" "9A2EU\n" "9A2EY\n" "9A2F\n" "9A2FW\n" "9A2GA\n" "9A2GF\n" "9A2GW\n" "9A2HQ\n" "9A2JG\n" "9A2JH\n" "9A2JK\n" "9A2KD\n" "9A2L\n" "9A2LM\n" "9A2MF\n" "9A2N\n" "9A2NA\n" "9A2NO\n" "9A2NY\n" "9A2OU\n" "9A2QF\n" "9A2QF/P\n" "9A2R\n" "9A2RD\n" "9A2SY\n" "9A2TD\n" "9A2TN\n" "9A2U\n" "9A2UA\n" "9A2UU\n" "9A2VJ\n" "9A2VQ\n" "9A2VR\n" "9A2WJ\n" "9A2WT\n" "9A2X\n" "9A2Y\n" "9A2YM\n" "9A2Z\n" "9A2ZR\n" "9A3AAX\n" "9A3AG\n" "9A3AGS\n" "9A3ALD\n" "9A3ARN\n" "9A3B\n" "9A3CCB\n" "9A3CNN\n" "9A3DF\n" "9A3FY\n" "9A3GA\n" "9A3GI\n" "9A3GL\n" "9A3GS\n" "9A3IH\n" "9A3IJ\n" "9A3IV\n" "9A3IW\n" "9A3JB\n" "9A3KS\n" "9A3LE\n" "9A3MA\n" "9A3MJ\n" "9A3ML\n" "9A3MN\n" "9A3MR\n" "9A3ND\n" "9A3OS\n" "9A3QB\n" "9A3SM\n" "9A3ST\n" "9A3TA\n" "9A3TN\n" "9A3TR\n" "9A3TU\n" "9A3VM\n" "9A3W/P\n" "9A3WX\n" "9A3XV\n" "9A3Y\n" "9A3ZC\n" "9A3ZI\n" "9A4A\n" "9A4AA\n" "9A4BA\n" "9A4BB\n" "9A4BL\n" "9A4BT\n" "9A4C\n" "9A4D\n" "9A4GM\n" "9A4J\n" "9A4KW\n" "9A4M\n" "9A4MF\n" "9A4QV\n" "9A4SS\n" "9A4TT\n" "9A4U\n" "9A4VM\n" "9A4W\n" "9A4WW\n" "9A4WY\n" "9A4ZZ\n" "9A4ZZ/P\n" "9A50KDE\n" "9A5AMC\n" "9A5AMG\n" "9A5AN\n" "9A5ANB\n" "9A5AX\n" "9A5BB\n" "9A5BDA\n" "9A5BS\n" "9A5BTP\n" "9A5CW\n" "9A5CY\n" "9A5D\n" "9A5DU\n" "9A5E\n" "9A5K\n" "9A5MT\n" "9A5PV\n" "9A5RJ\n" "9A5SM\n" "9A5ST\n" "9A5V\n" "9A5W\n" "9A5X\n" "9A5Y\n" "9A5ZM\n" "9A5ZP\n" "9A6A\n" "9A6AKD\n" "9A6AR\n" "9A6B\n" "9A6C\n" "9A6D\n" "9A6GWQ\n" "9A6ILI\n" "9A6K\n" "9A6KTB\n" "9A6M\n" "9A6NDD\n" "9A6NDH\n" "9A6NNS\n" "9A6R\n" "9A6SJU\n" "9A6Z\n" "9A6ZT\n" "9A7A\n" "9A7B\n" "9A7BDJ\n" "9A7D\n" "9A7IMR\n" "9A7IUP\n" "9A7KDT\n" "9A7KJI\n" "9A7P\n" "9A7R\n" "9A7T\n" "9A7V\n" "9A7W\n" "9A7WA\n" "9A7YY\n" "9A800VZ\n" "9A8A\n" "9A8AW\n" "9A8M\n" "9A8MM\n" "9A8W\n" "9A8WW\n" "9A9A\n" "9A9DR\n" "9A9L\n" "9A9R\n" "9A9SF\n" "9A9XX\n" "9A9YY\n" "9G5XA\n" "9G5ZZ\n" "9H1CG\n" "9H1DE\n" "9H1NB\n" "9H1SP\n" "9H1XT\n" "9H3HH\n" "9H3TX\n" "9J2BO\n" "9J3A\n" "9K/K6PAU\n" "9K2/SP4R\n" "9K2CQ\n" "9K2HN\n" "9K2K\n" "9K2MU\n" "9K2RA\n" "9K2YM\n" "9K9HQ\n" "9L0W\n" "9L1BTB\n" "9L5A\n" "9M2AX\n" "9M2CCO\n" "9M2CNC\n" "9M2CQC\n" "9M2IDJ\n" "9M2JKL\n" "9M2MRS\n" "9M2MT\n" "9M2NNM\n" "9M2TO\n" "9M4DXX\n" "9M6BG\n" "9M6BOB\n" "9M6BRC\n" "9M6LSC\n" "9M6NA\n" "9M6XRO\n" "9M6YBG\n" "9M8YY\n" "9M8Z\n" "9Q1EK\n" "9V1DE\n" "9V1PC\n" "9V1QQ\n" "9V1RH\n" "9V1UV\n" "9V1YC\n" "9W2NTO\n" "9Y/DL2DBE\n" "9Y4/DF8AN\n" "9Y4D\n" "9Y4HQ\n" "9Y4LDK\n" "9Y4VU\n" "9Y4W\n" "9Z4CP\n" "9Z4CT\n" "A25NW\n" "A31A\n" "A31KK\n" "A35A\n" "A35KL\n" "A35RK/P\n" "A41MX\n" "A41OR\n" "A45WG\n" "A45XR\n" "A47RS\n" "A61AB\n" "A61BK\n" "A61C\n" "A61KM\n" "A61M\n" "A61NA\n" "A61OO\n" "A62A\n" "A65BD\n" "A65BM\n" "A65BP\n" "A65CA\n" "A65DLH\n" "A7/M0FGA\n" "A71A\n" "A71BU\n" "A71BX\n" "A71CT\n" "A71CV\n" "A71EM\n" "A71FJ\n" "A73A\n" "A92GE\n" "A92GR\n" "AA0A\n" "AA0AW\n" "AA0BQ\n" "AA0CL\n" "AA0CX\n" "AA0DW\n" "AA0MZ\n" "AA0N\n" "AA0NK\n" "AA0QZ\n" "AA0RS\n" "AA0YY\n" "AA1AR\n" "AA1AR/4\n" "AA1BU\n" "AA1CA\n" "AA1DS\n" "AA1E\n" "AA1JD\n" "AA1JM\n" "AA1K\n" "AA1KS\n" "AA1LL\n" "AA1M\n" "AA1ME\n" "AA1O\n" "AA1ON\n" "AA1QD\n" "AA1QN\n" "AA1SB\n" "AA1SU\n" "AA1TR\n" "AA1V\n" "AA1VA\n" "AA1VT\n" "AA1VX\n" "AA1XV\n" "AA1YD\n" "AA1ZT\n" "AA2AD\n" "AA2DC\n" "AA2DR\n" "AA2DS\n" "AA2F\n" "AA2GS\n" "AA2IZ\n" "AA2JZ\n" "AA2KD\n" "AA2L\n" "AA2MF\n" "AA2MX\n" "AA2NA\n" "AA2NA/P\n" "AA2OI\n" "AA2UP\n" "AA2VK\n" "AA2WC\n" "AA2XB\n" "AA2YV\n" "AA2ZW\n" "AA3B\n" "AA3CS\n" "AA3DF\n" "AA3DW\n" "AA3E\n" "AA3I\n" "AA3II\n" "AA3JK\n" "AA3K\n" "AA3LX\n" "AA3RZ\n" "AA3S\n" "AA3SJ\n" "AA3SL\n" "AA3TH\n" "AA3TL\n" "AA3VA\n" "AA4A\n" "AA4AK\n" "AA4AK/1\n" "AA4CF\n" "AA4D\n" "AA4EA\n" "AA4FU\n" "AA4FX\n" "AA4GT\n" "AA4H\n" "AA4HV\n" "AA4II\n" "AA4KD\n" "AA4LR\n" "AA4MD\n" "AA4MJ\n" "AA4MM\n" "AA4N\n" "AA4NC\n" "AA4NU\n" "AA4Q\n" "AA4R\n" "AA4RP\n" "AA4S\n" "AA4SC\n" "AA4SD\n" "AA4U\n" "AA4UC\n" "AA4V\n" "AA4V/VP9\n" "AA4VV\n" "AA4W\n" "AA4WO\n" "AA4XA\n" "AA4XS\n" "AA4XX\n" "AA4YL\n" "AA4ZU\n" "AA4ZZ\n" "AA5AM\n" "AA5AT\n" "AA5AU\n" "AA5B\n" "AA5BE\n" "AA5BT\n" "AA5C\n" "AA5CH\n" "AA5CK\n" "AA5CO\n" "AA5EY\n" "AA5JG\n" "AA5L\n" "AA5LA\n" "AA5N\n" "AA5R/C6A\n" "AA5SH\n" "AA5TB\n" "AA5VU\n" "AA5VZ\n" "AA5X\n" "AA6AD\n" "AA6AE\n" "AA6CJ\n" "AA6DP\n" "AA6DW\n" "AA6DX\n" "AA6DY\n" "AA6E/1\n" "AA6EE\n" "AA6EV\n" "AA6G\n" "AA6IO\n" "AA6JJ\n" "AA6K\n" "AA6PW\n" "AA6RR\n" "AA6VB\n" "AA6VX\n" "AA6X\n" "AA6XV\n" "AA6XX\n" "AA6YX\n" "AA7A\n" "AA7AX\n" "AA7CP\n" "AA7CQ\n" "AA7DJ\n" "AA7DK\n" "AA7FG\n" "AA7FK\n" "AA7GS\n" "AA7IH\n" "AA7J\n" "AA7JV\n" "AA7ML\n" "AA7MN\n" "AA7MT\n" "AA7PJ\n" "AA7PM\n" "AA7RV\n" "AA7UI\n" "AA7X\n" "AA8BV\n" "AA8CH\n" "AA8DX\n" "AA8EB\n" "AA8EN\n" "AA8HH\n" "AA8HO\n" "AA8IA\n" "AA8IN\n" "AA8JL\n" "AA8L\n" "AA8LL\n" "AA8M\n" "AA8NT\n" "AA8OY\n" "AA8R\n" "AA8TK\n" "AA8UL\n" "AA8YN\n" "AA9CN\n" "AA9D\n" "AA9DA\n" "AA9DY\n" "AA9F\n" "AA9GG\n" "AA9GR\n" "AA9GZ\n" "AA9IK\n" "AA9IX\n" "AA9KH\n" "AA9L\n" "AA9LC\n" "AA9NF\n" "AA9RN\n" "AA9RR\n" "AA9RT\n" "AA9SJ\n" "AA9UF\n" "AA9VI\n" "AA9WJ\n" "AA9WS\n" "AA9ZZ\n" "AB0CD\n" "AB0DI\n" "AB0JM\n" "AB0LL\n" "AB0LR\n" "AB0OX\n" "AB0QN\n" "AB0RE\n" "AB0RX\n" "AB0S\n" "AB0TA\n" "AB0TO\n" "AB0TX\n" "AB0UK\n" "AB0VK\n" "AB0X\n" "AB0YM\n" "AB0YW\n" "AB0Z\n" "AB0ZO\n" "AB1BW\n" "AB1BX\n" "AB1CW\n" "AB1DD\n" "AB1DO\n" "AB1DZ\n" "AB1EP\n" "AB1FY\n" "AB1HD\n" "AB1HL\n" "AB1HO\n" "AB1HZ\n" "AB1J\n" "AB1JB\n" "AB1JM\n" "AB1KE\n" "AB1KW\n" "AB1U\n" "AB2DE\n" "AB2E\n" "AB2G\n" "AB2IO\n" "AB2KX\n" "AB2NI\n" "AB2NT\n" "AB2RC\n" "AB2SR\n" "AB2TC\n" "AB2TS\n" "AB2UV\n" "AB2VI\n" "AB2WW\n" "AB2XW\n" "AB2YS\n" "AB2ZI\n" "AB2ZL\n" "AB2ZT\n" "AB2ZY\n" "AB3AH\n" "AB3AI\n" "AB3AP\n" "AB3CX\n" "AB3EN\n" "AB3FH\n" "AB3FX\n" "AB3GB\n" "AB3GY\n" "AB3HP\n" "AB3IC\n" "AB4AR\n" "AB4BJ\n" "AB4DF\n" "AB4G\n" "AB4GG\n" "AB4H\n" "AB4I\n" "AB4IQ\n" "AB4JK\n" "AB4LE\n" "AB4OM\n" "AB4Q\n" "AB4RJ\n" "AB4SA\n" "AB4SF\n" "AB4SK\n" "AB4U\n" "AB4VF\n" "AB4VV\n" "AB4ZT\n" "AB5C\n" "AB5CC\n" "AB5DK\n" "AB5EU\n" "AB5GG\n" "AB5I\n" "AB5JN\n" "AB5JR\n" "AB5K\n" "AB5MM\n" "AB5NE\n" "AB5NX\n" "AB5RM\n" "AB5TY\n" "AB5WF\n" "AB5WS\n" "AB5X\n" "AB5XP\n" "AB5XZ\n" "AB5YI\n" "AB5ZA\n" "AB5ZA/7\n" "AB6CF\n" "AB6EZ\n" "AB6L\n" "AB6QM\n" "AB6QR\n" "AB6WM\n" "AB6Z\n" "AB7CB\n" "AB7E\n" "AB7FX\n" "AB7GP\n" "AB7LT\n" "AB7Q\n" "AB7R\n" "AB7RW\n" "AB7TJ\n" "AB8AL\n" "AB8BT\n" "AB8CI\n" "AB8CL\n" "AB8DD\n" "AB8DF\n" "AB8EU\n" "AB8FJ\n" "AB8IT\n" "AB8JR\n" "AB8K\n" "AB8OJ\n" "AB8PD\n" "AB8RL\n" "AB8RX\n" "AB8S\n" "AB8SA\n" "AB8SG\n" "AB8TO\n" "AB8UL\n" "AB8WI\n" "AB8XE\n" "AB8XG\n" "AB8YO\n" "AB8YY\n" "AB8YZ\n" "AB8ZX\n" "AB9AX\n" "AB9CA\n" "AB9DR\n" "AB9DU\n" "AB9H\n" "AB9HE\n" "AB9HH\n" "AB9KZ\n" "AB9LA\n" "AB9M\n" "AB9ML\n" "AB9MP\n" "AB9NH\n" "AB9OS\n" "AB9QH\n" "AB9QQ\n" "AB9QT\n" "AB9QX\n" "AB9RC\n" "AB9SJ\n" "AB9SO\n" "AB9TA\n" "AB9TE\n" "AB9TU\n" "AB9V\n" "AC0A\n" "AC0AX\n" "AC0BI\n" "AC0BR\n" "AC0BV\n" "AC0C\n" "AC0DQ\n" "AC0DS\n" "AC0E\n" "AC0GI\n" "AC0GJ\n" "AC0GQ\n" "AC0H\n" "AC0IU\n" "AC0IV\n" "AC0JX\n" "AC0KK\n" "AC0LL\n" "AC0MW\n" "AC0NB\n" "AC0OJ\n" "AC0P\n" "AC0PD\n" "AC0PJ\n" "AC0PR\n" "AC0QG\n" "AC0W\n" "AC0X\n" "AC1AA\n" "AC1J\n" "AC1L\n" "AC1O\n" "AC2AA\n" "AC2AC\n" "AC2CP\n" "AC2FM\n" "AC2K\n" "AC2N\n" "AC2T\n" "AC3C\n" "AC3D\n" "AC4AH\n" "AC4BV\n" "AC4CA\n" "AC4CA/5\n" "AC4GT\n" "AC4IK\n" "AC4M\n" "AC4MO\n" "AC4PQ\n" "AC4PY\n" "AC4S\n" "AC4TO\n" "AC4TT\n" "AC4WC\n" "AC4YD\n" "AC4ZH\n" "AC5BX\n" "AC5K\n" "AC5N\n" "AC5O\n" "AC5P\n" "AC5SW\n" "AC5ZG\n" "AC5ZS\n" "AC6DD\n" "AC6DX\n" "AC6E\n" "AC6EA\n" "AC6FU\n" "AC6HY\n" "AC6JA\n" "AC6LT\n" "AC6MV\n" "AC6N\n" "AC6NN\n" "AC6SL\n" "AC6T\n" "AC6VN\n" "AC6YY\n" "AC7A\n" "AC7AF\n" "AC7AP\n" "AC7CJ\n" "AC7FA\n" "AC7GL\n" "AC7GP\n" "AC7JM\n" "AC7JN\n" "AC7JW\n" "AC7JY\n" "AC7LK\n" "AC7MA\n" "AC7NK\n" "AC7NO\n" "AC7P\n" "AC7PN\n" "AC7T\n" "AC7UH\n" "AC7VA\n" "AC7ZG\n" "AC8AG\n" "AC8AP\n" "AC8AZ\n" "AC8BP\n" "AC8CY\n" "AC8E\n" "AC8EA\n" "AC8G\n" "AC8W\n" "AC8WV\n" "AC8Y\n" "AC9BP\n" "AC9S\n" "AC9X\n" "AD0H\n" "AD0NW\n" "AD0RB\n" "AD1B\n" "AD1C\n" "AD1DX\n" "AD1L\n" "AD1N\n" "AD2AM\n" "AD2H\n" "AD2L\n" "AD2P\n" "AD2TM\n" "AD2Z\n" "AD3J\n" "AD3PA\n" "AD4AA\n" "AD4C\n" "AD4CJ\n" "AD4EB\n" "AD4ES\n" "AD4G\n" "AD4IE\n" "AD4J\n" "AD4L\n" "AD4TJ\n" "AD4YQ\n" "AD4Z\n" "AD5A\n" "AD5C\n" "AD5CQ\n" "AD5EN\n" "AD5HR\n" "AD5HV\n" "AD5IN\n" "AD5IT\n" "AD5LU\n" "AD5MD\n" "AD5MN\n" "AD5Q\n" "AD5QB\n" "AD5ST\n" "AD5TJ\n" "AD5UQ\n" "AD5VC\n" "AD5VJ\n" "AD5WB\n" "AD5WI\n" "AD5XD\n" "AD5XM\n" "AD5YB\n" "AD5YJ\n" "AD5YU\n" "AD5ZA\n" "AD6C\n" "AD6DK\n" "AD6E\n" "AD6FR\n" "AD6GI\n" "AD6HF\n" "AD6HV\n" "AD6KA\n" "AD6KT\n" "AD6MJ\n" "AD6MT\n" "AD6OI\n" "AD6P\n" "AD6PB\n" "AD6RH\n" "AD6WL\n" "AD6Z\n" "AD6ZJ\n" "AD6ZR\n" "AD7AF\n" "AD7AJ\n" "AD7AV\n" "AD7BN\n" "AD7GL\n" "AD7GN\n" "AD7HE\n" "AD7HI\n" "AD7HK\n" "AD7J\n" "AD7JI\n" "AD7JX\n" "AD7KG\n" "AD7KI\n" "AD7L\n" "AD7LI\n" "AD7MD\n" "AD7MQ\n" "AD7OG\n" "AD7OV\n" "AD7PK\n" "AD7QL\n" "AD7RO\n" "AD7SF\n" "AD7SH\n" "AD7SI\n" "AD7T\n" "AD7UP\n" "AD7UZ\n" "AD7VH\n" "AD7XV\n" "AD7XZ\n" "AD7YT\n" "AD8B\n" "AD8C\n" "AD8D\n" "AD8J\n" "AD8L\n" "AD8P\n" "AD9H\n" "AD9P\n" "AD9V\n" "AE0G\n" "AE1C\n" "AE1N\n" "AE1P\n" "AE1T\n" "AE2AA\n" "AE2J\n" "AE2JL\n" "AE2T\n" "AE2X\n" "AE3E\n" "AE3J\n" "AE3T\n" "AE4CJ\n" "AE4CW\n" "AE4EC\n" "AE4MN\n" "AE4NZ\n" "AE4O\n" "AE4PC\n" "AE4RV\n" "AE4T\n" "AE4TE\n" "AE4TX\n" "AE4Y\n" "AE5AA\n" "AE5BR\n" "AE5CX\n" "AE5FT\n" "AE5GT\n" "AE5I\n" "AE5JA\n" "AE5JG\n" "AE5JK\n" "AE5JT\n" "AE5KM\n" "AE5KT\n" "AE5LO\n" "AE5LQ\n" "AE5MM\n" "AE5OV\n" "AE5P\n" "AE5PW\n" "AE5RE\n" "AE5T\n" "AE5TD\n" "AE5X\n" "AE6C\n" "AE6GC\n" "AE6GE\n" "AE6JN\n" "AE6K\n" "AE6OU\n" "AE6PP\n" "AE6QH\n" "AE6RF\n" "AE6RG\n" "AE6RR\n" "AE6RS\n" "AE6SX\n" "AE6XC\n" "AE6Y\n" "AE6YB\n" "AE6ZB\n" "AE6ZF\n" "AE6ZV\n" "AE7AB\n" "AE7AP\n" "AE7AW\n" "AE7CC\n" "AE7CJ\n" "AE7EE\n" "AE7H\n" "AE7K\n" "AE7RW\n" "AE8M\n" "AE9C\n" "AE9F\n" "AE9H\n" "AE9K\n" "AE9Q\n" "AF1E\n" "AF1G\n" "AF1T\n" "AF2C\n" "AF2D\n" "AF2K\n" "AF2S\n" "AF3D\n" "AF3I\n" "AF3K\n" "AF3L\n" "AF3RH\n" "AF3Y\n" "AF4AI\n" "AF4IB\n" "AF4JF\n" "AF4KL\n" "AF4MO\n" "AF4OX\n" "AF4PP\n" "AF4RK\n" "AF4TK\n" "AF4Z\n" "AF5K\n" "AF5M\n" "AF5P\n" "AF5Q\n" "AF5T\n" "AF5U\n" "AF5Z\n" "AF6AV\n" "AF6BJ\n" "AF6DD\n" "AF6EH\n" "AF6EV\n" "AF6GL\n" "AF6JC\n" "AF6JP\n" "AF6JX\n" "AF6ME\n" "AF6MO\n" "AF6NE\n" "AF6NI\n" "AF6P\n" "AF6PA\n" "AF6PK\n" "AF6SA\n" "AF6SY\n" "AF6T\n" "AF6VQ\n" "AF7DX\n" "AF7K\n" "AF7O\n" "AF7Z\n" "AF8A\n" "AF8C\n" "AF8RH\n" "AF8T\n" "AF8V\n" "AF9H\n" "AF9J\n" "AG0A\n" "AG0I\n" "AG0J\n" "AG0L\n" "AG0M\n" "AG1C\n" "AG1H\n" "AG2M\n" "AG2T\n" "AG3G\n" "AG3L\n" "AG3R\n" "AG3V\n" "AG4CZ\n" "AG4ES\n" "AG4GB\n" "AG4K\n" "AG4M\n" "AG4P\n" "AG4PJ\n" "AG4PZ\n" "AG4QX\n" "AG4TO\n" "AG4V\n" "AG4VS\n" "AG4W\n" "AG4WL\n" "AG4WY\n" "AG4XL\n" "AG4XR\n" "AG5T\n" "AG5W\n" "AG5Z\n" "AG6MB\n" "AG7N\n" "AG7T\n" "AG7U\n" "AG8U\n" "AG9A\n" "AG9C\n" "AG9S\n" "AH0/AH2Y\n" "AH0BT\n" "AH0S\n" "AH2DT\n" "AH2L\n" "AH2R\n" "AH2Y\n" "AH6EZ/W9\n" "AH6FC\n" "AH6JD\n" "AH6N\n" "AH6NF\n" "AH6NM\n" "AH6RE\n" "AH6RR\n" "AH6V\n" "AH6WX\n" "AH6XX\n" "AH6ZZ\n" "AH7A\n" "AH7C\n" "AH7G\n" "AH7ZA\n" "AH8/DL2AH\n" "AH8DX/W7\n" "AI0L\n" "AI0M\n" "AI0O\n" "AI0Q\n" "AI1O\n" "AI1P\n" "AI1P/0\n" "AI1V\n" "AI2C\n" "AI2I\n" "AI2IA\n" "AI2N\n" "AI2S\n" "AI2T\n" "AI3G\n" "AI3Q\n" "AI4AW\n" "AI4BJ\n" "AI4CJ\n" "AI4CM\n" "AI4CO\n" "AI4DB\n" "AI4FR\n" "AI4G\n" "AI4GP\n" "AI4GR\n" "AI4HH\n" "AI4IC\n" "AI4IO\n" "AI4JT\n" "AI4KM\n" "AI4LV\n" "AI4ME\n" "AI4MI\n" "AI4NW\n" "AI4OF\n" "AI4OH\n" "AI4OT\n" "AI4PF\n" "AI4PY\n" "AI4QQ\n" "AI4QR\n" "AI4QY\n" "AI4RF\n" "AI4RJ\n" "AI4TE\n" "AI4UN\n" "AI4VE\n" "AI4VQ\n" "AI4W\n" "AI4WL\n" "AI4WU\n" "AI4WW\n" "AI4YO\n" "AI5DX\n" "AI5G\n" "AI5M\n" "AI5P\n" "AI6L\n" "AI6O\n" "AI6V\n" "AI6YL\n" "AI6Z\n" "AI7H\n" "AI8P\n" "AI9F\n" "AI9I\n" "AI9K\n" "AI9L\n" "AI9P\n" "AI9T\n" "AJ0W\n" "AJ1E\n" "AJ1G\n" "AJ1I\n" "AJ1M\n" "AJ1M/8\n" "AJ2T\n" "AJ2Y\n" "AJ3G\n" "AJ3M\n" "AJ3T\n" "AJ4A\n" "AJ4AQ\n" "AJ4BT\n" "AJ4CD\n" "AJ4CG\n" "AJ4CU\n" "AJ4DX\n" "AJ4F\n" "AJ4FM\n" "AJ4FV\n" "AJ4GC\n" "AJ4HO\n" "AJ4HZ\n" "AJ4IM\n" "AJ4JD\n" "AJ4JQ\n" "AJ4JZ\n" "AJ4KF\n" "AJ4LM\n" "AJ4LU\n" "AJ4MW\n" "AJ4NM\n" "AJ4OA\n" "AJ4OV\n" "AJ4RK\n" "AJ4RW\n" "AJ4SQ\n" "AJ5C\n" "AJ5DW\n" "AJ5H\n" "AJ6T\n" "AJ6V\n" "AJ7EF\n" "AJ8B\n" "AJ8MH\n" "AJ8P\n" "AJ9C\n" "AJ9K\n" "AK0A\n" "AK0F\n" "AK0M\n" "AK0MR\n" "AK1N\n" "AK1Q\n" "AK1W\n" "AK2A\n" "AK2B\n" "AK2P\n" "AK2S\n" "AK3Q\n" "AK3V\n" "AK3W\n" "AK4DM\n" "AK4DW\n" "AK4I\n" "AK4IK\n" "AK4JH\n" "AK4K\n" "AK4NC\n" "AK4RS\n" "AK4Z\n" "AK5AA\n" "AK5DX\n" "AK5V\n" "AK5X\n" "AK6DV\n" "AK6M\n" "AK6R\n" "AK6X\n" "AK7A\n" "AK7AT\n" "AK7AZ\n" "AK7DB\n" "AK7FF\n" "AK7G\n" "AK7H\n" "AK7O\n" "AK7S\n" "AK7Y\n" "AK8A\n" "AK9F\n" "AK9I\n" "AK9L\n" "AK9N\n" "AK9N/7\n" "AK9W\n" "AK9Y\n" "AL1G\n" "AL2F\n" "AL2V\n" "AL3K\n" "AL7AF\n" "AL7BA/W8\n" "AL7FD\n" "AL7HW/4\n" "AL7IF\n" "AL7L\n" "AL7PQ\n" "AL7QQ\n" "AL7R\n" "AL7TC\n" "AL9A\n" "AM1A\n" "AM1C\n" "AM1G\n" "AM1Q\n" "AM1S\n" "AM1T\n" "AM1W\n" "AM2T\n" "AM3A\n" "AM3CS\n" "AM3EGB\n" "AM3M\n" "AM3SSB\n" "AM5A\n" "AM5B\n" "AM5BM\n" "AM5KB\n" "AM5M\n" "AM5Q\n" "AM5SP\n" "AM7C\n" "AM7M\n" "AM7W\n" "AM8A\n" "AN1A\n" "AN1C\n" "AN1K\n" "AN1R\n" "AN2A\n" "AN2K\n" "AN3N\n" "AN4A\n" "AN5CNK\n" "AN5E\n" "AN5L\n" "AN5N\n" "AN5P\n" "AN5W\n" "AN7K\n" "AN7LM\n" "AN8A\n" "AN8R\n" "AN8X\n" "AO1ABT\n" "AO1B\n" "AO1ET\n" "AO1J\n" "AO1K\n" "AO1L\n" "AO1T\n" "AO1Y\n" "AO2A\n" "AO2KY\n" "AO2R\n" "AO2V\n" "AO2W\n" "AO3A\n" "AO3DE\n" "AO3K\n" "AO3T\n" "AO4C\n" "AO4M\n" "AO4Y\n" "AO5A\n" "AO5B\n" "AO5GVZ\n" "AO5GX\n" "AO5KB\n" "AO5L\n" "AO5M\n" "AO5R\n" "AO5SP\n" "AO5T\n" "AO5V\n" "AO5W\n" "AO7A\n" "AO7AAW\n" "AO7O\n" "AO7T\n" "AO8A\n" "AO8HQ\n" "AT1HQ\n" "AU2RSB\n" "AU5JCB\n" "AY0DX\n" "AY4D\n" "AY5F\n" "AY7X\n" "AY8A\n" "AY9F\n" "B1C\n" "B1HQ\n" "B1P\n" "B1Z\n" "B3C\n" "B3HQ\n" "B4B\n" "B4HQ\n" "B4R\n" "B4S\n" "B4TB\n" "B4VE\n" "B4X\n" "B5A\n" "B5TT\n" "B7HQ\n" "B7M\n" "B7P\n" "BA1AN\n" "BA1GN\n" "BA1RB\n" "BA1SN\n" "BA2IA\n" "BA3AX\n" "BA3RJ\n" "BA4AA\n" "BA4ALC\n" "BA4CH\n" "BA4DL\n" "BA4II\n" "BA4KA\n" "BA4QO\n" "BA4RC\n" "BA4RF\n" "BA4SD\n" "BA4SI\n" "BA4T\n" "BA4VE\n" "BA4WW\n" "BA5AG\n" "BA5AN\n" "BA5AP\n" "BA5BO\n" "BA5DX\n" "BA5HAM\n" "BA5RR\n" "BA6IT\n" "BA6IV\n" "BA6QD\n" "BA6QH\n" "BA7CK\n" "BA7IA\n" "BA7IN\n" "BA7IO\n" "BA7KM\n" "BA7MG\n" "BA7MY\n" "BA7NQ\n" "BA8AG\n" "BA8BA\n" "BD1AQH\n" "BD1BYV\n" "BD1CAL\n" "BD1DQD\n" "BD1FBV\n" "BD1HW\n" "BD1ISI\n" "BD1ND\n" "BD1RCR\n" "BD1TCC\n" "BD1WC\n" "BD2BT\n" "BD2IMS\n" "BD2RJ\n" "BD2SH/7\n" "BD3EO/1\n" "BD3PCH\n" "BD4AGK\n" "BD4CZX\n" "BD4DVK\n" "BD4IBW/4\n" "BD4JUU\n" "BD4JZY\n" "BD4KUU\n" "BD4KYA\n" "BD4LGF\n" "BD4QH\n" "BD4QO\n" "BD4RQ\n" "BD4SP\n" "BD4SS\n" "BD4SVB\n" "BD4SX\n" "BD4SZW\n" "BD4TD\n" "BD4TR\n" "BD4TU\n" "BD4WZH\n" "BD5BAJ\n" "BD5CFB\n" "BD5CFY\n" "BD5HML\n" "BD5HST\n" "BD5HUI\n" "BD5WW\n" "BD6AHP\n" "BD6IQD\n" "BD6IVX\n" "BD6QDR\n" "BD6QMY\n" "BD7IBN\n" "BD7IN\n" "BD7IXG\n" "BD7JDG\n" "BD7JSQ\n" "BD7KBH\n" "BD7LDM\n" "BD7MSN\n" "BD7MVZ\n" "BD7NL\n" "BD7NWF\n" "BD7RDC\n" "BD8AIB\n" "BD8ATI\n" "BD9AFM\n" "BG1JR\n" "BG1QEX\n" "BG2SHQ\n" "BG3MOU\n" "BG4AHD\n" "BG4AHF\n" "BG4CZX\n" "BG4DVK\n" "BG4ENK\n" "BG4EPV\n" "BG4JZY\n" "BG4MCG\n" "BG4MR\n" "BG4REA\n" "BG4TWS\n" "BG5HJC\n" "BG5HST\n" "BG5HSV\n" "BG6AHU\n" "BG6JEQ\n" "BG6JNB\n" "BG7BAH\n" "BG7IEU\n" "BG7NWF\n" "BG8IK\n" "BG9AFM\n" "BG9TX\n" "BH1IIA\n" "BH1IIJ\n" "BH4SFE\n" "BH7LMD\n" "BT4EXPO\n" "BT4NG\n" "BU2AC\n" "BU2AE\n" "BU2AI\n" "BU2AO\n" "BU2AU\n" "BV0HQ\n" "BV0J\n" "BV0L\n" "BV1EK\n" "BV2A\n" "BV3FG\n" "BV4VQ\n" "BV4VR\n" "BV4VT\n" "BV7FC\n" "BW/DL3OCH\n" "BW2/JP1RIW\n" "BW3/DJ3KR\n" "BX0WPX\n" "BX1AAB\n" "BX2ABD\n" "BX3AA\n" "BX4AD\n" "BX4AF\n" "BX4AQ\n" "BX5AA\n" "BX6AP\n" "BY1CJL\n" "BY1CW\n" "BY1DX\n" "BY1QH\n" "BY1RX\n" "BY1TTY\n" "BY3MM\n" "BY4BZB\n" "BY4DX\n" "BY4HAM\n" "BY4IO\n" "BY4QA\n" "BY4SA\n" "BY5CD\n" "BY5HB\n" "BY6HY\n" "BY6IC\n" "BY7HL\n" "BY7KG\n" "BY7KP\n" "BY8AC\n" "BY8DX\n" "C31CA\n" "C31CT\n" "C37NL\n" "C37RC\n" "C37URE\n" "C49C\n" "C4DX\n" "C4I\n" "C4M\n" "C4N\n" "C4SV\n" "C4W\n" "C4Z\n" "C6AGN\n" "C6AKQ\n" "C6AKX\n" "C6ALT\n" "C6AMM\n" "C6AMS\n" "C6ANM\n" "C6APG\n" "C6APR\n" "C6AQQ\n" "C6ARR\n" "C6ASB\n" "C6ATA\n" "C6AUM\n" "C6AWL\n" "C91LW\n" "C91TX\n" "C98LW\n" "CA3KHZ\n" "CA3OEV\n" "CA6BMF\n" "CD1R\n" "CE0Y/SM6CUK\n" "CE1/K7CA\n" "CE1KR\n" "CE1TT\n" "CE1U\n" "CE1UGE\n" "CE1W\n" "CE1Z\n" "CE2/K0MD\n" "CE2HZ\n" "CE2LS\n" "CE2P\n" "CE2WWF\n" "CE2WZ\n" "CE3AA\n" "CE3BFZ\n" "CE3DNP\n" "CE3FZ\n" "CE3G\n" "CE3HQ\n" "CE3NR\n" "CE3PG\n" "CE3RR\n" "CE4B\n" "CE4CT\n" "CE4ETZ\n" "CE4SES\n" "CE4UJU\n" "CE5JZO\n" "CE6SAX\n" "CE6TBN\n" "CE6VMO\n" "CJ3WPV\n" "CJ7FC\n" "CJ7GEM\n" "CK1BVD\n" "CK1WT\n" "CK2AWR\n" "CK2DWA\n" "CK3AT\n" "CK3CUI\n" "CK3CW\n" "CK6BF\n" "CK7HL\n" "CM2KY\n" "CM2ORO\n" "CM2QM\n" "CM2RVA\n" "CM2ZT\n" "CM3GW\n" "CM3RPN\n" "CM5FZ\n" "CM6CAC\n" "CM6RCR\n" "CM6YAC\n" "CM8CAD\n" "CM8GJ\n" "CN2A\n" "CN2B\n" "CN2BC\n" "CN2IPA\n" "CN2M\n" "CN2R\n" "CN2YF\n" "CN3A\n" "CN3R\n" "CN4P\n" "CN8KD\n" "CN8LI\n" "CN8SG\n" "CN8VO\n" "CN8WW\n" "CN8YE\n" "CN8YR\n" "CN8YZ\n" "CN8ZG\n" "CO2EL\n" "CO2FU\n" "CO2GL\n" "CO2IZ\n" "CO2JD\n" "CO2JG\n" "CO2JW\n" "CO2KY\n" "CO2OT\n" "CO2WF\n" "CO3CJ\n" "CO3JN\n" "CO3LC\n" "CO3TJ\n" "CO4LS\n" "CO6CAC\n" "CO6LC\n" "CO6LP\n" "CO6RD\n" "CO6WD\n" "CO6WYR\n" "CO6YI\n" "CO7EH\n" "CO7PH\n" "CO7RR\n" "CO8AW\n" "CO8CML\n" "CO8CY\n" "CO8LY\n" "CO8TW\n" "CO8WZ\n" "CO8ZZ\n" "CP1FF\n" "CP1WG\n" "CP5RC\n" "CP6AA\n" "CP6XE\n" "CQ3L\n" "CQ3T\n" "CQ3Z\n" "CQ4T\n" "CQ4U\n" "CQ8L\n" "CQ8X\n" "CQ95F\n" "CQ9K\n" "CQ9T\n" "CR1M\n" "CR1Z\n" "CR2A\n" "CR2T\n" "CR2X\n" "CR3A\n" "CR3E\n" "CR3L\n" "CR3T\n" "CR5A\n" "CR5CQK\n" "CR5HQ\n" "CR5M\n" "CR5R\n" "CR5SBK\n" "CR5T\n" "CR5X\n" "CR6A\n" "CR6K\n" "CR6P\n" "CR6T\n" "CS1CRE\n" "CS2C\n" "CS2K\n" "CS2P\n" "CS2T\n" "CS5RBL\n" "CS7A\n" "CS7CQK\n" "CS9A\n" "CS9L\n" "CT1AGF\n" "CT1AHU\n" "CT1ANO\n" "CT1AOZ\n" "CT1APE\n" "CT1BH\n" "CT1BNW\n" "CT1BOH\n" "CT1BOL\n" "CT1BOP\n" "CT1BWU\n" "CT1BWW\n" "CT1BXE\n" "CT1BXT\n" "CT1BYK\n" "CT1BZG\n" "CT1CDP\n" "CT1CJJ\n" "CT1CQK\n" "CT1DIN\n" "CT1DIZ\n" "CT1DJE\n" "CT1DOV\n" "CT1DVV\n" "CT1DZY\n" "CT1EAT\n" "CT1EBM\n" "CT1EEK\n" "CT1EGF\n" "CT1EGW\n" "CT1EHK\n" "CT1ELF\n" "CT1ELP\n" "CT1ELZ\n" "CT1END/P\n" "CT1ENQ\n" "CT1ENV\n" "CT1EOD\n" "CT1EPJ\n" "CT1ESG\n" "CT1ESJ\n" "CT1ESV\n" "CT1ETW\n" "CT1ETX\n" "CT1EWA\n" "CT1FHL\n" "CT1FJK\n" "CT1FJL\n" "CT1FMX\n" "CT1FUH\n" "CT1GC\n" "CT1GFK\n" "CT1GPQ\n" "CT1HBV\n" "CT1HMN\n" "CT1HZU\n" "CT1ILT\n" "CT1IUA\n" "CT1IZW\n" "CT1JEY\n" "CT1JGA\n" "CT1JLZ\n" "CT1JRZ\n" "CT1JSP\n" "CT1YTS\n" "CT2CRP\n" "CT2FPE\n" "CT2GDW\n" "CT2GQN\n" "CT2GSN\n" "CT2HKN\n" "CT2HRB\n" "CT2IOV\n" "CT2IPG\n" "CT2ITR\n" "CT2IVH\n" "CT2JBG\n" "CT2JMR\n" "CT2JRZ\n" "CT2JTR\n" "CT2JVP\n" "CT2JYX\n" "CT2KAL\n" "CT2KCG\n" "CT3AS\n" "CT3BD\n" "CT3CD\n" "CT3DL\n" "CT3DZ\n" "CT3EE\n" "CT3EN\n" "CT3FJ\n" "CT3FN\n" "CT3FQ\n" "CT3FT\n" "CT3HF\n" "CT3IA\n" "CT3KN\n" "CT3KU\n" "CT3KY\n" "CT3MD\n" "CT3NT\n" "CT4HA\n" "CT4IS\n" "CT4NH\n" "CT6P\n" "CT7/CU8AS/P\n" "CT7/DJ5YQ\n" "CT7/LZ3ND\n" "CT7A\n" "CT7D\n" "CT7E\n" "CT7R\n" "CT8K\n" "CT9/DK7TM\n" "CT9/DL1SBF\n" "CT9/DL3KWF\n" "CT9/DL3ZH\n" "CT9K\n" "CT9L\n" "CT9M\n" "CU2A\n" "CU2AF\n" "CU2AO\n" "CU2CR\n" "CU2DX\n" "CU2JT\n" "CU2X\n" "CU30AA\n" "CU3EJ\n" "CU3HQ\n" "CU3TRP\n" "CU5CQ\n" "CU6AY\n" "CU7AJ\n" "CU8A\n" "CU8AS\n" "CV5D\n" "CV5K\n" "CW2T\n" "CW5W\n" "CW7T\n" "CX1AA\n" "CX1AV\n" "CX1AX\n" "CX1CCC\n" "CX1JJ\n" "CX2ABC\n" "CX2ABP\n" "CX2AL\n" "CX2AQ\n" "CX2CC\n" "CX2DDP\n" "CX2FT\n" "CX2TG\n" "CX3CCC\n" "CX3CQ\n" "CX4AAJ\n" "CX4AD\n" "CX4BW\n" "CX4CR\n" "CX4DX\n" "CX5BW\n" "CX5TR\n" "CX6VM\n" "CX7CO\n" "CX7TT\n" "CX8BBH\n" "CX9AU\n" "CX9BP\n" "CX9DX\n" "CY2ZT/2\n" "D2NX\n" "D44AC\n" "D4C\n" "D80Y\n" "DA0A\n" "DA0AD\n" "DA0AMT\n" "DA0BCC\n" "DA0CA\n" "DA0CCC\n" "DA0CW\n" "DA0HEL\n" "DA0HQ\n" "DA0I\n" "DA0R\n" "DA0X\n" "DA0YFD\n" "DA1MC\n" "DA2U\n" "DA2UN\n" "DA3A\n" "DA3T\n" "DA3X\n" "DA6TEC\n" "DA9L\n" "DB1APP\n" "DB1BAN\n" "DB1BMN\n" "DB1CD\n" "DB1DT\n" "DB1LI\n" "DB1MI\n" "DB1MUC\n" "DB1NR\n" "DB1RLE\n" "DB1SKA\n" "DB1SMW\n" "DB1VQ\n" "DB2B\n" "DB2BJT\n" "DB2CTM\n" "DB2HV\n" "DB2KT\n" "DB2NQ\n" "DB2OJ\n" "DB3BE\n" "DB3BX\n" "DB3FS\n" "DB3KE\n" "DB3LO\n" "DB4BU\n" "DB4NNW\n" "DB4SP\n" "DB4VI\n" "DB4VO\n" "DB5FW\n" "DB5SD\n" "DB6NT\n" "DB6SI\n" "DB6VP\n" "DB6YW\n" "DB6ZU\n" "DB7AA\n" "DB7BU\n" "DB7HH\n" "DB7MA\n" "DB7QJ\n" "DB7TF\n" "DB7UQ\n" "DB8AH\n" "DB8NI\n" "DB8VB\n" "DB9EV\n" "DB9EX\n" "DB9UH\n" "DC0ASP\n" "DC0GO\n" "DC0KK\n" "DC0NA\n" "DC0NE\n" "DC0UH\n" "DC0VD\n" "DC1HPS\n" "DC1HR\n" "DC1JAG\n" "DC1NSK\n" "DC1OBB\n" "DC1RJJ\n" "DC1RS\n" "DC1SK\n" "DC1SV\n" "DC1XM\n" "DC1YB\n" "DC2CB\n" "DC2CT\n" "DC2CW\n" "DC2IP\n" "DC2KN\n" "DC2OD\n" "DC2VE\n" "DC2YY\n" "DC3FR\n" "DC3HB\n" "DC3RJ\n" "DC3SW\n" "DC3TS\n" "DC3ZB\n" "DC4A\n" "DC5IMM\n" "DC5JQ\n" "DC6A\n" "DC6CX\n" "DC6CZ\n" "DC6KW\n" "DC6MY\n" "DC6OAF\n" "DC6RN\n" "DC7CCC\n" "DC7HP\n" "DC7IE\n" "DC7KM\n" "DC7NF\n" "DC7OH\n" "DC8KU\n" "DC8QT\n" "DC8RU\n" "DC8SG\n" "DC8TS\n" "DC8WPA\n" "DC9KH\n" "DC9MA\n" "DC9PI\n" "DC9TH\n" "DC9ZB\n" "DC9ZP\n" "DD0ARN\n" "DD0D\n" "DD0DRK\n" "DD0PB\n" "DD0VD\n" "DD0VR\n" "DD0ZL\n" "DD0ZN\n" "DD1D\n" "DD1DD\n" "DD1DZ\n" "DD1IM\n" "DD1JD\n" "DD1JN\n" "DD1LD\n" "DD1LI\n" "DD1MAT\n" "DD1OP\n" "DD1RB\n" "DD1UDW\n" "DD1UN\n" "DD1YGB\n" "DD2D\n" "DD2FJ\n" "DD2JA\n" "DD2ML\n" "DD2NU\n" "DD2TC\n" "DD3D\n" "DD3DZ\n" "DD3NJ\n" "DD3QD\n" "DD3WW\n" "DD4B\n" "DD4BY\n" "DD4DA\n" "DD4DJ\n" "DD5A\n" "DD5AJ\n" "DD5FZ\n" "DD5JK\n" "DD5KG\n" "DD5M\n" "DD5T\n" "DD5XL\n" "DD6PS\n" "DD6ZJ\n" "DD7GK\n" "DD7VA\n" "DD7ZT\n" "DD8IU\n" "DD8JJ\n" "DD8SM\n" "DD8VX\n" "DD9DAG\n" "DD9HK\n" "DD9NT\n" "DD9PS\n" "DD9WG\n" "DF0AT\n" "DF0AW\n" "DF0BAU\n" "DF0BLM\n" "DF0BV\n" "DF0CG\n" "DF0CI\n" "DF0DA\n" "DF0DBP\n" "DF0DG\n" "DF0DJ\n" "DF0DOX\n" "DF0DX\n" "DF0EG\n" "DF0FFH\n" "DF0FY\n" "DF0HO\n" "DF0HQ\n" "DF0II\n" "DF0II/P\n" "DF0IT\n" "DF0PT\n" "DF0RI\n" "DF0RW\n" "DF0SAX\n" "DF0SL\n" "DF0SQ\n" "DF0SX\n" "DF0TX\n" "DF0WLG\n" "DF1AG\n" "DF1AL\n" "DF1ASG\n" "DF1BN\n" "DF1BV\n" "DF1DT\n" "DF1DX\n" "DF1FN\n" "DF1HE\n" "DF1HF\n" "DF1IAQ\n" "DF1JM\n" "DF1KBN\n" "DF1KSP\n" "DF1LON\n" "DF1MA\n" "DF1MDX\n" "DF1NP\n" "DF1OE\n" "DF1OLS\n" "DF1OM\n" "DF1PH\n" "DF1PU\n" "DF1PY\n" "DF1QQ\n" "DF1QR\n" "DF1SD\n" "DF1SZ\n" "DF1TJ\n" "DF1UWE\n" "DF1VB\n" "DF1VU\n" "DF1XC\n" "DF1YQ\n" "DF2AJ\n" "DF2AP\n" "DF2BO\n" "DF2BR\n" "DF2CD\n" "DF2CH\n" "DF2CK\n" "DF2CQ\n" "DF2EQ\n" "DF2FM\n" "DF2FR\n" "DF2FU\n" "DF2GH\n" "DF2GW\n" "DF2HL\n" "DF2IAX\n" "DF2IC\n" "DF2IY\n" "DF2KD\n" "DF2KK\n" "DF2LH\n" "DF2MC\n" "DF2MG\n" "DF2MM\n" "DF2NJ\n" "DF2NS\n" "DF2NU\n" "DF2NV\n" "DF2OK\n" "DF2OU\n" "DF2PH\n" "DF2PI\n" "DF2PN\n" "DF2PY\n" "DF2QC\n" "DF2QZ\n" "DF2RG\n" "DF2TG\n" "DF2TT\n" "DF2UA\n" "DF2UD\n" "DF2UQ\n" "DF2UU\n" "DF3AX\n" "DF3CB\n" "DF3DK\n" "DF3EH\n" "DF3GE\n" "DF3GY\n" "DF3HD\n" "DF3IS\n" "DF3IU\n" "DF3JM\n" "DF3JO\n" "DF3KJ\n" "DF3KT\n" "DF3KV\n" "DF3MC\n" "DF3OL\n" "DF3PN\n" "DF3QG\n" "DF3SM\n" "DF3SP\n" "DF3SS\n" "DF3TE\n" "DF3XP\n" "DF3XZ\n" "DF3ZE\n" "DF4BV\n" "DF4EU\n" "DF4FD\n" "DF4FQ\n" "DF4IE\n" "DF4KC\n" "DF4PA\n" "DF4PD\n" "DF4TD\n" "DF4TS\n" "DF4UM\n" "DF4WC\n" "DF4WG\n" "DF4WQ\n" "DF4XF\n" "DF4ZK\n" "DF4ZL\n" "DF4ZW\n" "DF4ZY\n" "DF5A\n" "DF5AN\n" "DF5AU\n" "DF5BM\n" "DF5BX\n" "DF5FF\n" "DF5FL\n" "DF5HG\n" "DF5HOA\n" "DF5KE\n" "DF5KT\n" "DF5LR\n" "DF5LW\n" "DF5PP\n" "DF5RF\n" "DF5SF\n" "DF5SR\n" "DF5UL\n" "DF5WBA\n" "DF5WN\n" "DF5WW\n" "DF5ZV\n" "DF6AD\n" "DF6DBF\n" "DF6EH\n" "DF6EX\n" "DF6FK\n" "DF6FR\n" "DF6IC\n" "DF6JC\n" "DF6JF\n" "DF6LQ\n" "DF6MU\n" "DF6PW\n" "DF6QB\n" "DF6QC\n" "DF6QN\n" "DF6QP\n" "DF6QV\n" "DF6RI\n" "DF6RK\n" "DF6TC\n" "DF6VL\n" "DF6WE\n" "DF6WM\n" "DF6WR\n" "DF6YC\n" "DF6ZY\n" "DF7AA\n" "DF7BL\n" "DF7DF\n" "DF7EF\n" "DF7EM\n" "DF7FC\n" "DF7GB\n" "DF7GG\n" "DF7IR\n" "DF7IS\n" "DF7JC\n" "DF7LA\n" "DF7LS\n" "DF7NR\n" "DF7OG\n" "DF7OM\n" "DF7PW\n" "DF7PX\n" "DF7RG\n" "DF7TH\n" "DF7TS\n" "DF7TT\n" "DF7TU\n" "DF7TW\n" "DF7TY\n" "DF7WT\n" "DF7XH\n" "DF7ZM\n" "DF7ZS\n" "DF8AA\n" "DF8AE\n" "DF8BB\n" "DF8CS\n" "DF8DHG\n" "DF8DT\n" "DF8DU\n" "DF8FT\n" "DF8HS\n" "DF8JB\n" "DF8JE\n" "DF8JK\n" "DF8KN\n" "DF8PJ\n" "DF8PR\n" "DF8QB\n" "DF8ST\n" "DF8TI\n" "DF8TM\n" "DF8TY\n" "DF8UO\n" "DF8VV\n" "DF8WA\n" "DF8WL\n" "DF8XC\n" "DF8ZH\n" "DF9DD\n" "DF9DH\n" "DF9DM\n" "DF9EY\n" "DF9FR\n" "DF9FS\n" "DF9FT\n" "DF9GH\n" "DF9GR\n" "DF9JL\n" "DF9KF\n" "DF9KQ\n" "DF9LJ\n" "DF9LW\n" "DF9LW/P\n" "DF9OB\n" "DF9OO\n" "DF9QT\n" "DF9RD\n" "DF9SH\n" "DF9TF\n" "DF9TS\n" "DF9VH\n" "DF9VJ\n" "DF9WB\n" "DF9WP\n" "DF9XV\n" "DF9YC\n" "DF9ZP\n" "DF9ZW\n" "DG0AAE\n" "DG0AM\n" "DG0CAW\n" "DG0CC\n" "DG0DG\n" "DG0DRF\n" "DG0DZ\n" "DG0GCS\n" "DG0KS\n" "DG0KT\n" "DG0LHI\n" "DG0OBU\n" "DG0OJO\n" "DG0OM\n" "DG0YS\n" "DG1ATN\n" "DG1BQC\n" "DG1CMZ\n" "DG1DHW\n" "DG1DTL\n" "DG1EA\n" "DG1FKA\n" "DG1FSK\n" "DG1GJH\n" "DG1HUD\n" "DG1IU\n" "DG1KOH\n" "DG1LS\n" "DG1MDQ\n" "DG1MHC\n" "DG1NI\n" "DG1NOE\n" "DG1NPM\n" "DG1PU\n" "DG1RPU\n" "DG1VL\n" "DG1YBN\n" "DG1YFF\n" "DG1YHA\n" "DG2BHB\n" "DG2EBW\n" "DG2GAW\n" "DG2JA\n" "DG2JO\n" "DG2KO\n" "DG2NMH\n" "DG2RSF\n" "DG2SEW\n" "DG2SRL\n" "DG2TOM\n" "DG2UA\n" "DG2US\n" "DG3DAA\n" "DG3DAT\n" "DG3DBO\n" "DG3EK\n" "DG3FAW\n" "DG3FK\n" "DG3LAL\n" "DG3LCH\n" "DG3LSM/P\n" "DG3MDE\n" "DG3NCZ\n" "DG3NEC\n" "DG3OBK\n" "DG3RCE\n" "DG3SBJ\n" "DG3YCC\n" "DG4DB\n" "DG4FCN\n" "DG4FDQ\n" "DG4GP\n" "DG4KAD\n" "DG4MR\n" "DG4NAT\n" "DG4NEC\n" "DG4R\n" "DG4VD\n" "DG4YGW\n" "DG5AA\n" "DG5AAP\n" "DG5BKL\n" "DG5BKR\n" "DG5DBT\n" "DG5EAE\n" "DG5EKE\n" "DG5FFF\n" "DG5HFS\n" "DG5KX\n" "DG5LAC\n" "DG5MEO\n" "DG5MEX\n" "DG5MLA\n" "DG5MLA/P\n" "DG5MMQ\n" "DG5MMW\n" "DG5OBB\n" "DG5PI\n" "DG5PY\n" "DG5SBK\n" "DG5YHE\n" "DG6CA/P\n" "DG6DAF\n" "DG6MIB\n" "DG6NBW\n" "DG6OAG\n" "DG6OBP\n" "DG6PU\n" "DG6PW\n" "DG6PY/P\n" "DG6SFU\n" "DG7DBN\n" "DG7DBR\n" "DG7FF\n" "DG7JB\n" "DG7KR\n" "DG7LAE\n" "DG7MAQ\n" "DG7OBV\n" "DG7RO\n" "DG7UAC\n" "DG7XO\n" "DG8AM\n" "DG8DBW\n" "DG8DP\n" "DG8EV\n" "DG8FAY\n" "DG8FBV\n" "DG8FI\n" "DG8KAJ\n" "DG8MH\n" "DG8NCY\n" "DG8NFB\n" "DG8NGC\n" "DG8OP\n" "DG8RAN\n" "DG8VE\n" "DG8YHO\n" "DG9AK\n" "DG9BBZ\n" "DG9BHU\n" "DG9KB\n" "DG9MA\n" "DG9MDM\n" "DG9MEH\n" "DG9MEX\n" "DG9NAO\n" "DG9NAV\n" "DG9SEH\n" "DG9SQ\n" "DG9VH\n" "DG9YCA\n" "DH0DX\n" "DH0FAB\n" "DH0GDS\n" "DH0GHU\n" "DH0GSU\n" "DH0HUI\n" "DH0JAE\n" "DH0KAA\n" "DH0MWH\n" "DH0PAZ\n" "DH0SP\n" "DH1AC\n" "DH1AKG\n" "DH1DE\n" "DH1DX\n" "DH1GD\n" "DH1JG\n" "DH1NAS\n" "DH1NJS\n" "DH1OAD\n" "DH1OK\n" "DH1PAL\n" "DH1PS\n" "DH1RAT\n" "DH1TS\n" "DH1TST\n" "DH1UZ\n" "DH1YAE\n" "DH2DAM\n" "DH2DAS\n" "DH2FW\n" "DH2KS\n" "DH2MA\n" "DH2MS\n" "DH2PC\n" "DH2PG\n" "DH2PL\n" "DH2URF\n" "DH2WQ\n" "DH2YAZ\n" "DH3FAN\n" "DH3FAW\n" "DH3FEN\n" "DH3FR\n" "DH3MAY\n" "DH3MD\n" "DH3MG\n" "DH3MIT\n" "DH3RB\n" "DH3RM\n" "DH3SW\n" "DH3UN\n" "DH3YC\n" "DH4BM\n" "DH4FAW\n" "DH4GK\n" "DH4JU\n" "DH4PAA\n" "DH4PSG\n" "DH4RJ\n" "DH4SC\n" "DH4SG\n" "DH5AO\n" "DH5FA\n" "DH5HS\n" "DH5JB\n" "DH5JG\n" "DH5MM\n" "DH5NT\n" "DH5PK\n" "DH6AB\n" "DH6AN\n" "DH6BH\n" "DH6DAO\n" "DH6FBP\n" "DH6JL\n" "DH6KS\n" "DH6LAS\n" "DH6UFB\n" "DH7ACI\n" "DH7KU\n" "DH7LF\n" "DH7PR\n" "DH7RD\n" "DH7SA\n" "DH8ACF\n" "DH8BAT\n" "DH8BQA\n" "DH8IJ\n" "DH8KV\n" "DH8MS\n" "DH8SL\n" "DH8VV\n" "DH8WE\n" "DH8WM\n" "DH9FAJ\n" "DH9FAV\n" "DH9FAW\n" "DH9GCD\n" "DH9JK\n" "DH9NBU\n" "DH9RCG\n" "DH9SB\n" "DJ0A\n" "DJ0ACA\n" "DJ0ACY\n" "DJ0AH\n" "DJ0BE\n" "DJ0CC\n" "DJ0DO\n" "DJ0DX\n" "DJ0FX\n" "DJ0GD\n" "DJ0GM\n" "DJ0IF\n" "DJ0JE\n" "DJ0JG\n" "DJ0MCH\n" "DJ0MCZ\n" "DJ0MDR\n" "DJ0MY\n" "DJ0QN\n" "DJ0QS\n" "DJ0RU\n" "DJ0SP\n" "DJ0TP\n" "DJ0VZ\n" "DJ0YI\n" "DJ0ZY\n" "DJ1AA\n" "DJ1AIB\n" "DJ1BV\n" "DJ1BWH\n" "DJ1CT\n" "DJ1CW\n" "DJ1EH\n" "DJ1FZ\n" "DJ1HA\n" "DJ1HF\n" "DJ1JM\n" "DJ1KJ\n" "DJ1MH\n" "DJ1MM\n" "DJ1ND\n" "DJ1OB\n" "DJ1OJ\n" "DJ1PE\n" "DJ1PQ\n" "DJ1QL\n" "DJ1RK\n" "DJ1RKS\n" "DJ1SD\n" "DJ1TO\n" "DJ1TU\n" "DJ1TW\n" "DJ1VT\n" "DJ1WJ\n" "DJ1WQ\n" "DJ1XT\n" "DJ1YF\n" "DJ1YFK\n" "DJ1YJ\n" "DJ1ZU\n" "DJ2AX\n" "DJ2BC\n" "DJ2BW\n" "DJ2C\n" "DJ2CW\n" "DJ2FR\n" "DJ2GM\n" "DJ2GMS\n" "DJ2HD\n" "DJ2HL\n" "DJ2IA\n" "DJ2JI\n" "DJ2JQ\n" "DJ2JS\n" "DJ2KUA\n" "DJ2ML\n" "DJ2MM\n" "DJ2MX\n" "DJ2NR\n" "DJ2PB\n" "DJ2PJ\n" "DJ2PR\n" "DJ2QV\n" "DJ2RG\n" "DJ2SEA\n" "DJ2SL\n" "DJ2ST\n" "DJ2SX\n" "DJ2TH\n" "DJ2TI\n" "DJ2UP\n" "DJ2UU\n" "DJ2VA\n" "DJ2VO\n" "DJ2XC\n" "DJ2XO\n" "DJ2YA\n" "DJ2YE\n" "DJ3AA\n" "DJ3AN\n" "DJ3DQ\n" "DJ3EF\n" "DJ3EZ\n" "DJ3FK\n" "DJ3GE\n" "DJ3GG\n" "DJ3HJ\n" "DJ3HW\n" "DJ3IW\n" "DJ3JB\n" "DJ3JD\n" "DJ3KJ\n" "DJ3KR\n" "DJ3LE\n" "DJ3NK\n" "DJ3OB\n" "DJ3OE\n" "DJ3OS\n" "DJ3PP\n" "DJ3RA\n" "DJ3SH\n" "DJ3ST\n" "DJ3TK\n" "DJ3TU\n" "DJ3WE\n" "DJ3XA\n" "DJ3XD\n" "DJ3XK\n" "DJ3ZF\n" "DJ4AK\n" "DJ4AX\n" "DJ4BG\n" "DJ4DN\n" "DJ4DY\n" "DJ4EN\n" "DJ4EY\n" "DJ4FZ\n" "DJ4GX\n" "DJ4IC\n" "DJ4JF\n" "DJ4KW\n" "DJ4LK\n" "DJ4MH\n" "DJ4MJ\n" "DJ4MM\n" "DJ4MO\n" "DJ4MZ\n" "DJ4OQ\n" "DJ4PI\n" "DJ4PK\n" "DJ4PT\n" "DJ4QG\n" "DJ4QO\n" "DJ4SN\n" "DJ4SO\n" "DJ4TS\n" "DJ4UR\n" "DJ4VP\n" "DJ4WM\n" "DJ4WT\n" "DJ4XD\n" "DJ4XR\n" "DJ4YA\n" "DJ5AA\n" "DJ5AN\n" "DJ5AV\n" "DJ5AZ\n" "DJ5BT\n" "DJ5BV\n" "DJ5CL\n" "DJ5DC\n" "DJ5DN\n" "DJ5DT\n" "DJ5EU\n" "DJ5FZ\n" "DJ5GK\n" "DJ5HD\n" "DJ5IR\n" "DJ5IW\n" "DJ5JH\n" "DJ5JK\n" "DJ5KB\n" "DJ5KW\n" "DJ5KX\n" "DJ5KZ\n" "DJ5LY\n" "DJ5MF\n" "DJ5MN\n" "DJ5MS\n" "DJ5MW\n" "DJ5MY\n" "DJ5OR\n" "DJ5PZ\n" "DJ5QE\n" "DJ5QK\n" "DJ5QV\n" "DJ5RE\n" "DJ5RQ\n" "DJ5TD\n" "DJ5TH\n" "DJ5TT\n" "DJ5UZ\n" "DJ5VB\n" "DJ5VW\n" "DJ5WG\n" "DJ6AL\n" "DJ6APA\n" "DJ6BQ\n" "DJ6CB\n" "DJ6DO\n" "DJ6FO\n" "DJ6GK\n" "DJ6GR\n" "DJ6HB\n" "DJ6HL\n" "DJ6HP\n" "DJ6JH\n" "DJ6KH\n" "DJ6KS\n" "DJ6LW\n" "DJ6MD\n" "DJ6NI\n" "DJ6NT\n" "DJ6OI\n" "DJ6OL\n" "DJ6OV\n" "DJ6OZ\n" "DJ6PE\n" "DJ6QP\n" "DJ6QT\n" "DJ6RA\n" "DJ6RN\n" "DJ6TB\n" "DJ6TK\n" "DJ6UP\n" "DJ6VM\n" "DJ6XB\n" "DJ6XG\n" "DJ6XV\n" "DJ6YD\n" "DJ6YX\n" "DJ6ZC\n" "DJ6ZJ\n" "DJ6ZM\n" "DJ7A\n" "DJ7AT\n" "DJ7BA\n" "DJ7EC\n" "DJ7ER\n" "DJ7FM\n" "DJ7IK\n" "DJ7JB\n" "DJ7JC\n" "DJ7LB\n" "DJ7LH\n" "DJ7OM\n" "DJ7OQ\n" "DJ7PA\n" "DJ7PI\n" "DJ7PR\n" "DJ7PT\n" "DJ7PW\n" "DJ7R\n" "DJ7RD\n" "DJ7RJ\n" "DJ7RL\n" "DJ7SR\n" "DJ7ST\n" "DJ7SW\n" "DJ7TW\n" "DJ7UC\n" "DJ7UD\n" "DJ7UN\n" "DJ7UO\n" "DJ7WG\n" "DJ7XB\n" "DJ7YM\n" "DJ7YP\n" "DJ7YR\n" "DJ7YT\n" "DJ7ZL\n" "DJ8BD\n" "DJ8EE\n" "DJ8EF\n" "DJ8EL\n" "DJ8ES\n" "DJ8EW\n" "DJ8FR\n" "DJ8GE\n" "DJ8MP\n" "DJ8NK\n" "DJ8NU\n" "DJ8OG\n" "DJ8QP\n" "DJ8RI\n" "DJ8RS\n" "DJ8RX\n" "DJ8RZ\n" "DJ8SW\n" "DJ8TK\n" "DJ8UL\n" "DJ8UV\n" "DJ8VC\n" "DJ8VI\n" "DJ8WI\n" "DJ9A\n" "DJ9AO\n" "DJ9BO\n" "DJ9CB\n" "DJ9CN\n" "DJ9CW\n" "DJ9DL\n" "DJ9DZ\n" "DJ9EF\n" "DJ9EG\n" "DJ9EI\n" "DJ9ER\n" "DJ9EU\n" "DJ9FB\n" "DJ9FG\n" "DJ9GS\n" "DJ9HX\n" "DJ9IE\n" "DJ9IO\n" "DJ9JD\n" "DJ9JX\n" "DJ9JY\n" "DJ9KM\n" "DJ9MH\n" "DJ9MT\n" "DJ9OI\n" "DJ9ON\n" "DJ9RB\n" "DJ9RM\n" "DJ9RQ\n" "DJ9RR\n" "DJ9SO\n" "DJ9UJ\n" "DJ9UM\n" "DJ9UP\n" "DJ9VA\n" "DJ9VS\n" "DJ9WJ\n" "DJ9XB\n" "DJ9ZB\n" "DK0A\n" "DK0AE\n" "DK0ALC\n" "DK0ALK\n" "DK0AY\n" "DK0BM\n" "DK0C\n" "DK0CO\n" "DK0CU\n" "DK0DB\n" "DK0ED\n" "DK0EE\n" "DK0FC\n" "DK0FL\n" "DK0GYB\n" "DK0HEL\n" "DK0HF\n" "DK0HUN\n" "DK0IA\n" "DK0IPA\n" "DK0IU\n" "DK0IW\n" "DK0IZ\n" "DK0LD\n" "DK0LE\n" "DK0MBB\n" "DK0MIT\n" "DK0MM\n" "DK0MN\n" "DK0OD\n" "DK0OG\n" "DK0PC\n" "DK0PM\n" "DK0PO\n" "DK0QQ\n" "DK0RX\n" "DK0SU\n" "DK0TZ\n" "DK0V\n" "DK0WL\n" "DK0WW\n" "DK0XB\n" "DK0YA\n" "DK1A\n" "DK1AA\n" "DK1AC\n" "DK1AF\n" "DK1AQ\n" "DK1AUP\n" "DK1AW\n" "DK1AX\n" "DK1BN\n" "DK1BT\n" "DK1BX\n" "DK1CY\n" "DK1DN\n" "DK1EAW\n" "DK1EI\n" "DK1ER\n" "DK1F\n" "DK1FB\n" "DK1FT\n" "DK1FW\n" "DK1GD\n" "DK1GW\n" "DK1HKU\n" "DK1HO\n" "DK1HV\n" "DK1II\n" "DK1IP\n" "DK1IZ\n" "DK1JU\n" "DK1KC\n" "DK1KF\n" "DK1KH\n" "DK1LRS\n" "DK1MA\n" "DK1MF\n" "DK1MM\n" "DK1NKW\n" "DK1NO\n" "DK1ODE\n" "DK1PG\n" "DK1PU\n" "DK1PZ\n" "DK1QC\n" "DK1QH\n" "DK1QO\n" "DK1QV\n" "DK1RS\n" "DK1SI\n" "DK1TR\n" "DK1TS\n" "DK1TX\n" "DK1VFA\n" "DK1WA\n" "DK1WB\n" "DK1WER\n" "DK1WU\n" "DK1WZ\n" "DK1XC\n" "DK1YP\n" "DK1YY\n" "DK2AI\n" "DK2AJ\n" "DK2AR\n" "DK2AT\n" "DK2AY\n" "DK2BH\n" "DK2BJ\n" "DK2CF\n" "DK2CRN\n" "DK2CX\n" "DK2DB\n" "DK2DD\n" "DK2DH\n" "DK2ELF\n" "DK2FG\n" "DK2GZ\n" "DK2HZ\n" "DK2IO\n" "DK2IX\n" "DK2JP\n" "DK2LO\n" "DK2ML\n" "DK2NPM\n" "DK2NZ\n" "DK2OY\n" "DK2PR\n" "DK2PS\n" "DK2PZ\n" "DK2QF\n" "DK2RT\n" "DK2RZ\n" "DK2SF\n" "DK2SG\n" "DK2SZ\n" "DK2TA\n" "DK2TG\n" "DK2TX\n" "DK2VA\n" "DK2VM\n" "DK2WC\n" "DK2WM\n" "DK2YI\n" "DK2YL\n" "DK2ZO\n" "DK3AX\n" "DK3BN\n" "DK3BT\n" "DK3CU\n" "DK3DG\n" "DK3DM\n" "DK3DUA\n" "DK3EG\n" "DK3FW\n" "DK3GG\n" "DK3GI\n" "DK3HA\n" "DK3HL\n" "DK3HV\n" "DK3KD\n" "DK3KN\n" "DK3LT\n" "DK3NU\n" "DK3PM\n" "DK3QZ\n" "DK3RA\n" "DK3RED\n" "DK3RP\n" "DK3SN\n" "DK3T\n" "DK3TL\n" "DK3UA\n" "DK3UO\n" "DK3UZ\n" "DK3W\n" "DK3WG\n" "DK3WI\n" "DK3WJ\n" "DK3WM\n" "DK3WN\n" "DK3WW\n" "DK3YD\n" "DK4A\n" "DK4AN\n" "DK4BY\n" "DK4CR\n" "DK4DJ\n" "DK4DS\n" "DK4EF\n" "DK4FG\n" "DK4GKR\n" "DK4IO\n" "DK4IS\n" "DK4JPC\n" "DK4JT\n" "DK4K\n" "DK4KI\n" "DK4KL\n" "DK4KW\n" "DK4LEH\n" "DK4LI\n" "DK4LX\n" "DK4MO\n" "DK4MX\n" "DK4NJ\n" "DK4QT\n" "DK4RL\n" "DK4RM\n" "DK4RW\n" "DK4SC\n" "DK4SDR\n" "DK4TP\n" "DK4UD\n" "DK4US\n" "DK4UV\n" "DK4VF\n" "DK4VW\n" "DK4VY\n" "DK4WA\n" "DK4WF\n" "DK4WW\n" "DK4XB\n" "DK4YF\n" "DK4YJ\n" "DK4ZZ\n" "DK5AD\n" "DK5AI\n" "DK5AL\n" "DK5AN\n" "DK5CCA\n" "DK5CS\n" "DK5D\n" "DK5DC\n" "DK5DQ\n" "DK5DS\n" "DK5E\n" "DK5EC\n" "DK5EQ\n" "DK5EZ\n" "DK5FF\n" "DK5GT\n" "DK5HB\n" "DK5HZ\n" "DK5IM\n" "DK5IP\n" "DK5IR\n" "DK5JA\n" "DK5JM\n" "DK5JX\n" "DK5KMA\n" "DK5M\n" "DK5MB\n" "DK5MJ\n" "DK5MO\n" "DK5MV\n" "DK5OS\n" "DK5PF\n" "DK5PQ\n" "DK5PR\n" "DK5QN\n" "DK5RO\n" "DK5SF\n" "DK5ST\n" "DK5TX\n" "DK5VA\n" "DK5WB\n" "DK5WL\n" "DK5WMA\n" "DK5WN\n" "DK5WO\n" "DK5XG\n" "DK5XI\n" "DK5ZO\n" "DK5ZX\n" "DK6AH\n" "DK6AJ\n" "DK6AN\n" "DK6AO\n" "DK6AR\n" "DK6AS\n" "DK6AV\n" "DK6AY\n" "DK6BT\n" "DK6CQ\n" "DK6CS\n" "DK6FI\n" "DK6HD\n" "DK6HW\n" "DK6IM\n" "DK6IR\n" "DK6MO\n" "DK6NC\n" "DK6NF\n" "DK6PW\n" "DK6QW\n" "DK6RF\n" "DK6RS\n" "DK6TA\n" "DK6TP\n" "DK6TV\n" "DK6UZ\n" "DK6WA\n" "DK6WH\n" "DK6WL\n" "DK6XR\n" "DK6XZ\n" "DK7AN\n" "DK7AW\n" "DK7BT\n" "DK7CH\n" "DK7CX\n" "DK7DV\n" "DK7DY\n" "DK7FP\n" "DK7FS\n" "DK7FX\n" "DK7FZ\n" "DK7GH\n" "DK7HA\n" "DK7IF\n" "DK7JQ\n" "DK7KR\n" "DK7M\n" "DK7MCX\n" "DK7MD\n" "DK7OM\n" "DK7PE\n" "DK7SP\n" "DK7SS\n" "DK7TM\n" "DK7UM\n" "DK7UU\n" "DK7VW\n" "DK7YY\n" "DK7YY/P\n" "DK7ZB\n" "DK7ZH\n" "DK7ZT\n" "DK8AF\n" "DK8AW\n" "DK8AX\n" "DK8CC\n" "DK8CX\n" "DK8DV\n" "DK8DX\n" "DK8EY\n" "DK8FA\n" "DK8FD\n" "DK8FS\n" "DK8IF\n" "DK8IL\n" "DK8IZ\n" "DK8JB\n" "DK8KF\n" "DK8MCT\n" "DK8MW\n" "DK8MZ\n" "DK8NC\n" "DK8NG\n" "DK8NI\n" "DK8NM\n" "DK8NT\n" "DK8NX\n" "DK8OL\n" "DK8PX\n" "DK8QY\n" "DK8RE\n" "DK8SR\n" "DK8SX\n" "DK8TP\n" "DK8TU\n" "DK8VK\n" "DK8YY\n" "DK8ZB\n" "DK9AP\n" "DK9BW\n" "DK9CG\n" "DK9CL\n" "DK9CR\n" "DK9CS\n" "DK9DA\n" "DK9EA\n" "DK9ETM\n" "DK9FEC\n" "DK9HE\n" "DK9HN\n" "DK9IP\n" "DK9JI\n" "DK9JS\n" "DK9KC\n" "DK9KX\n" "DK9LB\n" "DK9LJ\n" "DK9MH\n" "DK9MS\n" "DK9NCX\n" "DK9NM\n" "DK9OR\n" "DK9OY\n" "DK9PS\n" "DK9PY\n" "DK9PZ\n" "DK9QD\n" "DK9SF\n" "DK9TN\n" "DK9UMA\n" "DK9VA\n" "DK9WB\n" "DK9WI\n" "DL0AA\n" "DL0ABK\n" "DL0AO\n" "DL0AS\n" "DL0ASD\n" "DL0AT\n" "DL0BAS\n" "DL0BI\n" "DL0BL\n" "DL0BMW\n" "DL0BO\n" "DL0BV\n" "DL0C\n" "DL0CB\n" "DL0CS\n" "DL0DAB\n" "DL0DEF\n" "DL0DO\n" "DL0DPM\n" "DL0DSA\n" "DL0DWD\n" "DL0DWE\n" "DL0EH\n" "DL0EKO\n" "DL0ER\n" "DL0ERF\n" "DL0ERP\n" "DL0FC\n" "DL0FOR\n" "DL0FR\n" "DL0FTL\n" "DL0GD\n" "DL0GDP\n" "DL0GER/P\n" "DL0GL\n" "DL0HA\n" "DL0HFC\n" "DL0HN\n" "DL0HNF\n" "DL0HSC\n" "DL0II\n" "DL0IL\n" "DL0IR\n" "DL0IV\n" "DL0KB\n" "DL0KCT\n" "DL0KK\n" "DL0KU\n" "DL0KW\n" "DL0KWH\n" "DL0LC\n" "DL0LN\n" "DL0MB\n" "DL0MET\n" "DL0MFS\n" "DL0MFX\n" "DL0ML\n" "DL0N\n" "DL0NG\n" "DL0NP\n" "DL0NS\n" "DL0NZ\n" "DL0OS\n" "DL0P\n" "DL0PB\n" "DL0PE\n" "DL0QQ\n" "DL0RM/P\n" "DL0SLS/P\n" "DL0SN\n" "DL0SOP\n" "DL0SP\n" "DL0TD\n" "DL0TE\n" "DL0TU\n" "DL0TUM\n" "DL0UM\n" "DL0VLA\n" "DL0VLP\n" "DL0VN\n" "DL0VV\n" "DL0WAE\n" "DL0WB\n" "DL0WH\n" "DL0WW\n" "DL0XA\n" "DL0YE\n" "DL1A\n" "DL1AB\n" "DL1ABJ\n" "DL1AGS\n" "DL1AH\n" "DL1AIW\n" "DL1AKL\n" "DL1AKP\n" "DL1AKU\n" "DL1AKZ\n" "DL1AL\n" "DL1ALA\n" "DL1ALB\n" "DL1ALN\n" "DL1AMH\n" "DL1AMQ\n" "DL1ANA\n" "DL1AO\n" "DL1AOB\n" "DL1AOP\n" "DL1AP\n" "DL1APW\n" "DL1APX\n" "DL1AQU/P\n" "DL1AQY\n" "DL1ARD\n" "DL1ARH\n" "DL1ARJ\n" "DL1ARS\n" "DL1ASA\n" "DL1ASF\n" "DL1ASP\n" "DL1ATR\n" "DL1AUZ\n" "DL1AVA\n" "DL1AVF\n" "DL1AVK\n" "DL1AVU\n" "DL1AWM\n" "DL1AXX\n" "DL1AYU\n" "DL1AZA\n" "DL1AZI\n" "DL1AZK\n" "DL1AZZ\n" "DL1BA\n" "DL1BAM\n" "DL1BBP\n" "DL1BBR\n" "DL1BFR\n" "DL1BI\n" "DL1BKI\n" "DL1BKK\n" "DL1BKT\n" "DL1BRD\n" "DL1BRL\n" "DL1BTE\n" "DL1BUG\n" "DL1BUT\n" "DL1BWU\n" "DL1BYL\n" "DL1BYZ\n" "DL1BZA\n" "DL1CC\n" "DL1CF\n" "DL1CHK\n" "DL1CJ/P\n" "DL1CLM\n" "DL1CW\n" "DL1D\n" "DL1DA\n" "DL1DAW\n" "DL1DBR\n" "DL1DBV\n" "DL1DCT\n" "DL1DF\n" "DL1DF/P\n" "DL1DH\n" "DL1DPN\n" "DL1DQW\n" "DL1DQY\n" "DL1DQZ\n" "DL1DRE\n" "DL1DSN\n" "DL1DSW\n" "DL1DTC\n" "DL1DTF\n" "DL1DTL\n" "DL1DUO\n" "DL1DUS\n" "DL1DVE\n" "DL1DWL\n" "DL1DWR\n" "DL1DXA\n" "DL1DXF\n" "DL1EAL\n" "DL1ECG\n" "DL1ECK\n" "DL1EEC\n" "DL1EEZ\n" "DL1EF\n" "DL1EFD\n" "DL1EHR\n" "DL1EJA\n" "DL1EJD\n" "DL1EK\n" "DL1EKC/P\n" "DL1EKG\n" "DL1EKO\n" "DL1EL\n" "DL1ELY\n" "DL1EMY\n" "DL1EST\n" "DL1ET\n" "DL1EV\n" "DL1EZ\n" "DL1FAA\n" "DL1FCU\n" "DL1FDK\n" "DL1FDL\n" "DL1FKA\n" "DL1FMG\n" "DL1FYV\n" "DL1FZZ\n" "DL1GBQ\n" "DL1GCY\n" "DL1GDS\n" "DL1GHJ\n" "DL1GKC\n" "DL1GPR\n" "DL1GTZ\n" "DL1HAA\n" "DL1HBD\n" "DL1HBL\n" "DL1HCM\n" "DL1HIK\n" "DL1HQE\n" "DL1HRN\n" "DL1HRY\n" "DL1HSI\n" "DL1HSR\n" "DL1HTX\n" "DL1HTY\n" "DL1HUH\n" "DL1HXA\n" "DL1IA\n" "DL1IAO\n" "DL1ICB\n" "DL1II\n" "DL1JB\n" "DL1JCM\n" "DL1JDQ\n" "DL1JDU\n" "DL1JEL\n" "DL1JFM\n" "DL1JGG\n" "DL1JGO\n" "DL1JIU\n" "DL1JKK\n" "DL1JML\n" "DL1JMS\n" "DL1JNA\n" "DL1JPF\n" "DL1JSO\n" "DL1KAS\n" "DL1KCQ\n" "DL1KEW\n" "DL1KLO\n" "DL1KSE\n" "DL1KSE/P\n" "DL1KUN\n" "DL1KUR\n" "DL1KVS\n" "DL1KWK\n" "DL1KZA\n" "DL1LAE\n" "DL1LAF\n" "DL1LH\n" "DL1LOD\n" "DL1LQA\n" "DL1LQR\n" "DL1LRA\n" "DL1LRI\n" "DL1LSH\n" "DL1LTK\n" "DL1MAJ\n" "DL1MDU\n" "DL1MDV\n" "DL1MGB\n" "DL1MHJ\n" "DL1MIM\n" "DL1MUC\n" "DL1NE\n" "DL1NEO\n" "DL1NFC\n" "DL1NFG\n" "DL1NGS\n" "DL1NHW\n" "DL1NKS\n" "DL1NPG\n" "DL1NRC\n" "DL1NUB\n" "DL1NUX\n" "DL1OD\n" "DL1OJ\n" "DL1OLI\n" "DL1PF\n" "DL1PR\n" "DL1PT\n" "DL1QQ\n" "DL1QW\n" "DL1RCD\n" "DL1REM\n" "DL1RG\n" "DL1RH\n" "DL1RLB\n" "DL1RMO\n" "DL1RNT\n" "DL1ROJ\n" "DL1ROT\n" "DL1RPC\n" "DL1RTD\n" "DL1RTL\n" "DL1RTS\n" "DL1RWO\n" "DL1RWS\n" "DL1RYD\n" "DL1SA\n" "DL1SAN\n" "DL1SBF\n" "DL1SCH\n" "DL1SEC\n" "DL1SKK\n" "DL1SMA\n" "DL1SP\n" "DL1SRS\n" "DL1ST\n" "DL1STG\n" "DL1STV\n" "DL1SVA\n" "DL1SWB\n" "DL1SWT\n" "DL1SXB\n" "DL1THB\n" "DL1TKB\n" "DL1TKL\n" "DL1TL\n" "DL1TPY\n" "DL1TRK\n" "DL1TS\n" "DL1TTX\n" "DL1UP\n" "DL1USB\n" "DL1VDL\n" "DL1VF\n" "DL1VFR\n" "DL1VJL\n" "DL1VRL\n" "DL1VTL\n" "DL1WA\n" "DL1WH\n" "DL1XA\n" "DL1XP\n" "DL1XT\n" "DL1XW\n" "DL1XX\n" "DL1YAL\n" "DL1YAW\n" "DL1YCZ\n" "DL1YD\n" "DL1YEF\n" "DL1YEL\n" "DL1YEN\n" "DL1YFF\n" "DL1YGH\n" "DL1YP\n" "DL1Z\n" "DL1ZBO\n" "DL1ZM\n" "DL1ZU\n" "DL2A\n" "DL2AA\n" "DL2ABM\n" "DL2AJB\n" "DL2AK\n" "DL2AL\n" "DL2AMD\n" "DL2ANM\n" "DL2ARD\n" "DL2ARG\n" "DL2ARH\n" "DL2ARN\n" "DL2ASB\n" "DL2AWA\n" "DL2AWB\n" "DL2AXA\n" "DL2AXM\n" "DL2AYJ\n" "DL2AYK\n" "DL2BAQ\n" "DL2BBV\n" "DL2BIS\n" "DL2BM\n" "DL2BQD\n" "DL2BUM\n" "DL2BWG\n" "DL2BWO\n" "DL2CC\n" "DL2CHN\n" "DL2CK\n" "DL2DCD\n" "DL2DCX\n" "DL2DIE\n" "DL2DQL\n" "DL2DRM\n" "DL2DRU\n" "DL2DSL\n" "DL2DTJ\n" "DL2DTL\n" "DL2DUA\n" "DL2DVE\n" "DL2DWP\n" "DL2DX\n" "DL2DXA\n" "DL2DYL\n" "DL2EAB\n" "DL2EAM\n" "DL2F\n" "DL2FAG\n" "DL2FAR\n" "DL2FCA\n" "DL2FCB\n" "DL2FDL\n" "DL2FK\n" "DL2FP\n" "DL2GAR\n" "DL2GBB\n" "DL2GF\n" "DL2GGE\n" "DL2GWZ\n" "DL2HAE\n" "DL2HCB\n" "DL2HJ\n" "DL2HRE\n" "DL2HRF\n" "DL2HRT\n" "DL2HRZ\n" "DL2HUI\n" "DL2HUM\n" "DL2HVM\n" "DL2HWA\n" "DL2HWB\n" "DL2HWH\n" "DL2HWI\n" "DL2HX\n" "DL2HYH\n" "DL2IAN\n" "DL2IH\n" "DL2IPU\n" "DL2JAA\n" "DL2JAW\n" "DL2JIM\n" "DL2JKE\n" "DL2JLB\n" "DL2JRM\n" "DL2JT\n" "DL2JX\n" "DL2KDW\n" "DL2KQ\n" "DL2KUA\n" "DL2KUF\n" "DL2KUZ\n" "DL2LAR\n" "DL2LI\n" "DL2LMS\n" "DL2LRT\n" "DL2LSM\n" "DL2LTM\n" "DL2LZ\n" "DL2MDU\n" "DL2MDZ\n" "DL2MGF\n" "DL2MIH\n" "DL2MIJ\n" "DL2MJ\n" "DL2MKX\n" "DL2MLU\n" "DL2MM\n" "DL2MRK\n" "DL2MSA\n" "DL2MWB\n" "DL2NAI\n" "DL2NBH\n" "DL2NBU\n" "DL2NBY\n" "DL2NC\n" "DL2NEA\n" "DL2NEE\n" "DL2NFC\n" "DL2NO\n" "DL2NY\n" "DL2OBN\n" "DL2OBO\n" "DL2OCE\n" "DL2OE\n" "DL2OM\n" "DL2PAN\n" "DL2QB\n" "DL2QT\n" "DL2RBB\n" "DL2RBT\n" "DL2RMC\n" "DL2RPS\n" "DL2RSH\n" "DL2RTJ\n" "DL2RTL\n" "DL2RU\n" "DL2RUG\n" "DL2SAX\n" "DL2SBF\n" "DL2SER\n" "DL2SUB\n" "DL2SWB\n" "DL2SWI\n" "DL2SWN\n" "DL2SWW\n" "DL2TG\n" "DL2TI\n" "DL2TOS\n" "DL2UH\n" "DL2UR\n" "DL2UX\n" "DL2VA\n" "DL2VB\n" "DL2VBN\n" "DL2VK\n" "DL2VLA\n" "DL2VM\n" "DL2VNL\n" "DL2VPF\n" "DL2VPO\n" "DL2VRL\n" "DL2VSF\n" "DL2VVL\n" "DL2VWR\n" "DL2WB\n" "DL2WJT\n" "DL2XB\n" "DL2YCA\n" "DL2YED\n" "DL2YET\n" "DL2YL\n" "DL2YMR\n" "DL2ZA\n" "DL2ZAE\n" "DL2ZBO\n" "DL2ZN\n" "DL3ABL\n" "DL3AG\n" "DL3ALI\n" "DL3AMB\n" "DL3AMW\n" "DL3ANK\n" "DL3AO\n" "DL3APK\n" "DL3APO\n" "DL3AQJ\n" "DL3ARH\n" "DL3ARK\n" "DL3ARM\n" "DL3AS\n" "DL3AVI\n" "DL3AWB\n" "DL3AWI\n" "DL3AYJ\n" "DL3AZI\n" "DL3BAL\n" "DL3BBY\n" "DL3BCR\n" "DL3BCU\n" "DL3BPC\n" "DL3BQA\n" "DL3BRA\n" "DL3BRE\n" "DL3BUE\n" "DL3BVA\n" "DL3BXX\n" "DL3CA\n" "DL3DBY\n" "DL3DCQ\n" "DL3DQL\n" "DL3DRN\n" "DL3DTH\n" "DL3DXF\n" "DL3DXX\n" "DL3EA\n" "DL3EBX\n" "DL3EEE\n" "DL3EK\n" "DL3EL\n" "DL3FBB\n" "DL3FBJ\n" "DL3FCG\n" "DL3FDT\n" "DL3FF\n" "DL3FSC\n" "DL3G\n" "DL3GA\n" "DL3GCB\n" "DL3GD\n" "DL3GDS\n" "DL3GER\n" "DL3HAA\n" "DL3HRT\n" "DL3HRW\n" "DL3HRZ\n" "DL3HSC\n" "DL3HWD\n" "DL3HXX\n" "DL3IAC\n" "DL3JA\n" "DL3JAN\n" "DL3JFN\n" "DL3JH\n" "DL3JJ\n" "DL3JON\n" "DL3JPN\n" "DL3JRA\n" "DL3KDC\n" "DL3KDS\n" "DL3KF\n" "DL3KO\n" "DL3KP\n" "DL3KUD\n" "DL3KUF\n" "DL3KUM\n" "DL3KVR\n" "DL3KVT\n" "DL3KWF\n" "DL3KWR\n" "DL3KZA\n" "DL3LA\n" "DL3LAB\n" "DL3LBM\n" "DL3LE\n" "DL3MBG\n" "DL3MBJ\n" "DL3MBX\n" "DL3MCO\n" "DL3MDJ\n" "DL3MGK\n" "DL3MGN\n" "DL3MR\n" "DL3NAA\n" "DL3NCR\n" "DL3NCS\n" "DL3NDD\n" "DL3NDP\n" "DL3NGN\n" "DL3NSM\n" "DL3OAU\n" "DL3OBQ\n" "DL3OBW\n" "DL3OCF\n" "DL3OH\n" "DL3OHB\n" "DL3OR\n" "DL3OV\n" "DL3PA\n" "DL3PN\n" "DL3PU\n" "DL3QQ\n" "DL3RAD\n" "DL3RCF\n" "DL3RDM\n" "DL3RSB\n" "DL3SBD\n" "DL3SCN\n" "DL3SDN\n" "DL3SEM\n" "DL3SWS\n" "DL3SZ\n" "DL3TC\n" "DL3TD\n" "DL3TNA\n" "DL3VDL\n" "DL3VL\n" "DL3VTA\n" "DL3VTL\n" "DL3VZL\n" "DL3WKG\n" "DL3XM\n" "DL3XS\n" "DL3YA\n" "DL3YAF\n" "DL3YCF\n" "DL3YCX\n" "DL3YDY\n" "DL3YEE\n" "DL3YHM\n" "DL3YL\n" "DL3YM\n" "DL3ZAI\n" "DL3ZH\n" "DL3ZI\n" "DL3ZM\n" "DL3ZZA\n" "DL4A\n" "DL4AAE\n" "DL4AC\n" "DL4ALI\n" "DL4AO\n" "DL4AWA\n" "DL4BBJ\n" "DL4BCJ\n" "DL4CC\n" "DL4CF\n" "DL4CH\n" "DL4CW\n" "DL4DBG\n" "DL4DBM\n" "DL4DCE\n" "DL4DCL\n" "DL4DG\n" "DL4DKM\n" "DL4DQA\n" "DL4DTL\n" "DL4DZL\n" "DL4EAX\n" "DL4EBA\n" "DL4EBV\n" "DL4EBW\n" "DL4EDB\n" "DL4EDC\n" "DL4EPM\n" "DL4FAP\n" "DL4FCH\n" "DL4FDI\n" "DL4FDM\n" "DL4FF\n" "DL4FN\n" "DL4FO\n" "DL4GBA\n" "DL4GN\n" "DL4HG\n" "DL4HG/P\n" "DL4HRM\n" "DL4HSI\n" "DL4HTK\n" "DL4HWI\n" "DL4IAH\n" "DL4IAL\n" "DL4IAZ\n" "DL4IW\n" "DL4IZ\n" "DL4JLM\n" "DL4JMN\n" "DL4JNB\n" "DL4JU\n" "DL4JWU\n" "DL4JYT\n" "DL4KCA\n" "DL4KG\n" "DL4KUG\n" "DL4KW\n" "DL4LAM\n" "DL4LAX\n" "DL4LBK\n" "DL4LBM\n" "DL4LH\n" "DL4MA\n" "DL4MAQ\n" "DL4MAU\n" "DL4MBY\n" "DL4MCF\n" "DL4MDO\n" "DL4ME\n" "DL4MEV\n" "DL4MFC\n" "DL4MFF\n" "DL4MFP\n" "DL4MHA\n" "DL4MN\n" "DL4MNG\n" "DL4MP\n" "DL4NBE\n" "DL4NEG\n" "DL4NER\n" "DL4NN\n" "DL4NT\n" "DL4NY\n" "DL4OCE\n" "DL4OCH\n" "DL4OL\n" "DL4PU/P\n" "DL4PY\n" "DL4R\n" "DL4RAK\n" "DL4RAT\n" "DL4RBV\n" "DL4RCK\n" "DL4RDJ\n" "DL4RDP\n" "DL4RU\n" "DL4RX\n" "DL4SDW\n" "DL4SL\n" "DL4SUN\n" "DL4SVA\n" "DL4SZB\n" "DL4TJ\n" "DL4TL\n" "DL4TZ\n" "DL4UCS\n" "DL4UL\n" "DL4UNY\n" "DL4VAI\n" "DL4VAQ\n" "DL4VBU\n" "DL4VCG\n" "DL4VCR\n" "DL4VM\n" "DL4VQ\n" "DL4WA\n" "DL4WD\n" "DL4WDK\n" "DL4WG\n" "DL4XU\n" "DL4YAO\n" "DL4YAR\n" "DL4YBP\n" "DL4YIH\n" "DL4YR\n" "DL4YY\n" "DL4ZA\n" "DL4ZB\n" "DL4ZBP\n" "DL4ZBU\n" "DL4ZBY\n" "DL4ZM\n" "DL5AI\n" "DL5ALW\n" "DL5AMF\n" "DL5AN\n" "DL5ANE\n" "DL5ANS\n" "DL5ANT\n" "DL5AOJ\n" "DL5ARM\n" "DL5ARZ\n" "DL5ASE\n" "DL5ASK\n" "DL5AWI\n" "DL5AX\n" "DL5AXJ\n" "DL5AXX\n" "DL5AYI\n" "DL5AZA\n" "DL5BAW\n" "DL5BCF\n" "DL5CD\n" "DL5CF\n" "DL5CK\n" "DL5CL\n" "DL5CO\n" "DL5CR\n" "DL5CT\n" "DL5CW\n" "DL5CX\n" "DL5DBH\n" "DL5DCL\n" "DL5DD\n" "DL5DF\n" "DL5DRM\n" "DL5DSM\n" "DL5DWF\n" "DL5DXS\n" "DL5DZ\n" "DL5EBF\n" "DL5FAC\n" "DL5FAM\n" "DL5FBB\n" "DL5FCV\n" "DL5FCZ\n" "DL5FR\n" "DL5FU\n" "DL5GAC\n" "DL5GBG\n" "DL5GBN\n" "DL5GCH\n" "DL5HAB\n" "DL5HN\n" "DL5HP\n" "DL5IAH\n" "DL5IC\n" "DL5IO\n" "DL5JAB\n" "DL5JAG\n" "DL5JAG/P\n" "DL5JAN\n" "DL5JBW\n" "DL5JH\n" "DL5JRA\n" "DL5JS\n" "DL5JSP\n" "DL5JWL\n" "DL5KM\n" "DL5KMS\n" "DL5KUA\n" "DL5KUD\n" "DL5KUR\n" "DL5KUS\n" "DL5KUT\n" "DL5KVV\n" "DL5L\n" "DL5LBY\n" "DL5LWM\n" "DL5MAE\n" "DL5MBY\n" "DL5MC\n" "DL5MEV\n" "DL5MFL\n" "DL5MG\n" "DL5MHR\n" "DL5MK\n" "DL5ML\n" "DL5MLO\n" "DL5MO\n" "DL5MU\n" "DL5MX\n" "DL5NA\n" "DL5NDX\n" "DL5NO\n" "DL5NUA\n" "DL5OAB\n" "DL5OAS\n" "DL5OB\n" "DL5OCD\n" "DL5OO\n" "DL5PW\n" "DL5QS\n" "DL5RBR\n" "DL5RBW\n" "DL5RDI\n" "DL5RDO\n" "DL5RDP\n" "DL5RF\n" "DL5RJ\n" "DL5RK\n" "DL5RM\n" "DL5RMH\n" "DL5RU\n" "DL5SBA\n" "DL5SE\n" "DL5SL\n" "DL5ST\n" "DL5SVB\n" "DL5SWB\n" "DL5SZB\n" "DL5UR\n" "DL5VW\n" "DL5VZ\n" "DL5WC\n" "DL5WG\n" "DL5WK\n" "DL5WM\n" "DL5WP\n" "DL5WS\n" "DL5WW\n" "DL5WX\n" "DL5XAT\n" "DL5XJ\n" "DL5YAL\n" "DL5YAS\n" "DL5YCI\n" "DL5YEE\n" "DL5YL\n" "DL5YM\n" "DL5YWM\n" "DL5YYM\n" "DL5ZA\n" "DL5ZAA\n" "DL5ZB\n" "DL5ZBA\n" "DL5ZBO\n" "DL5ZBS\n" "DL5ZG\n" "DL5ZL\n" "DL5ZL/P\n" "DL60DARC\n" "DL6AAF\n" "DL6AAO\n" "DL6ABB\n" "DL6ABN\n" "DL6AG\n" "DL6ALJ\n" "DL6AP\n" "DL6AST\n" "DL6ATI\n" "DL6ATM\n" "DL6AWJ\n" "DL6AZ\n" "DL6BBR\n" "DL6BBT\n" "DL6BJ\n" "DL6BLD\n" "DL6BQE\n" "DL6BR\n" "DL6CGB\n" "DL6CGX\n" "DL6CKP\n" "DL6CMK\n" "DL6CNG\n" "DL6CT\n" "DL6CWL\n" "DL6CX\n" "DL6DCD\n" "DL6DH\n" "DL6DSA\n" "DL6DVU\n" "DL6EAQ\n" "DL6ERD\n" "DL6ET\n" "DL6EZ\n" "DL6FA\n" "DL6FAH\n" "DL6FAN\n" "DL6FAX\n" "DL6FBH\n" "DL6FBL\n" "DL6FBR\n" "DL6FCB\n" "DL6FRG\n" "DL6GV\n" "DL6HCF\n" "DL6HRW\n" "DL6IAN\n" "DL6IY\n" "DL6JCB\n" "DL6JGN\n" "DL6JI\n" "DL6JV\n" "DL6JZ\n" "DL6KAC\n" "DL6KCR\n" "DL6KHW\n" "DL6KO\n" "DL6KR\n" "DL6KT\n" "DL6KVA\n" "DL6KVH\n" "DL6KWN\n" "DL6KY\n" "DL6LBQ\n" "DL6LW\n" "DL6MAO\n" "DL6MDG\n" "DL6MFK\n" "DL6MGR\n" "DL6MHG\n" "DL6MHW\n" "DL6MIG\n" "DL6MN\n" "DL6MRS\n" "DL6MTA\n" "DL6MWG\n" "DL6NAL\n" "DL6NAL/P\n" "DL6NBR\n" "DL6NCY\n" "DL6NDW\n" "DL6NEF\n" "DL6NWA\n" "DL6OA\n" "DL6OAA\n" "DL6OCF\n" "DL6OCM\n" "DL6OZ\n" "DL6PO\n" "DL6QW\n" "DL6RAI\n" "DL6RAW\n" "DL6RAW/P\n" "DL6RBG\n" "DL6RBH\n" "DL6RBO\n" "DL6RCD\n" "DL6SDW\n" "DL6SFR\n" "DL6SRD\n" "DL6TK\n" "DL6TQ\n" "DL6UAA\n" "DL6UAM\n" "DL6UBM\n" "DL6UGF\n" "DL6UHA\n" "DL6UHD\n" "DL6UJ\n" "DL6UKL\n" "DL6UKW\n" "DL6UM\n" "DL6UMF\n" "DL6UNF\n" "DL6UOF\n" "DL6USA\n" "DL6VK\n" "DL6VRG\n" "DL6WT\n" "DL6XA\n" "DL6XK\n" "DL6XX\n" "DL6XZ\n" "DL6YCU\n" "DL6YDH\n" "DL6YFG\n" "DL6ZBN\n" "DL6ZFG\n" "DL6ZXG\n" "DL7AAG\n" "DL7AEV\n" "DL7AFY\n" "DL7AMU\n" "DL7ANR\n" "DL7AOJ\n" "DL7AOS\n" "DL7APK\n" "DL7APT\n" "DL7AQT\n" "DL7AQU\n" "DL7ARJ\n" "DL7ARM\n" "DL7ARV\n" "DL7AT\n" "DL7AU\n" "DL7AXM\n" "DL7BA\n" "DL7BC\n" "DL7BPM\n" "DL7BQ\n" "DL7BW\n" "DL7BY\n" "DL7CB\n" "DL7CK\n" "DL7CM\n" "DL7CO\n" "DL7CS\n" "DL7CU\n" "DL7CX\n" "DL7DAX\n" "DL7DCL\n" "DL7DJ\n" "DL7DO\n" "DL7DS\n" "DL7DZ\n" "DL7ED\n" "DL7EDH\n" "DL7ET\n" "DL7FA\n" "DL7FCQ\n" "DL7FN\n" "DL7GEM\n" "DL7GN\n" "DL7GP\n" "DL7GW\n" "DL7HT\n" "DL7HU\n" "DL7HZ\n" "DL7IO\n" "DL7JAN\n" "DL7JOM\n" "DL7JRD\n" "DL7JV\n" "DL7LG\n" "DL7LX\n" "DL7LZ\n" "DL7OD\n" "DL7OK\n" "DL7ON\n" "DL7PA\n" "DL7PV\n" "DL7QU\n" "DL7QW\n" "DL7RAG\n" "DL7RV\n" "DL7SAQ\n" "DL7SBV\n" "DL7SI\n" "DL7SLB\n" "DL7SP\n" "DL7TJ\n" "DL7UAJ\n" "DL7UCW\n" "DL7UCX\n" "DL7UDA\n" "DL7UDG\n" "DL7UEB\n" "DL7UFN\n" "DL7UG\n" "DL7UGO\n" "DL7UIO\n" "DL7UK\n" "DL7UKA\n" "DL7ULM\n" "DL7UM\n" "DL7UMK\n" "DL7UMK/P\n" "DL7UML\n" "DL7UPF\n" "DL7UPN\n" "DL7URH\n" "DL7USA\n" "DL7USY\n" "DL7UVO\n" "DL7UWE\n" "DL7UWR\n" "DL7UXG\n" "DL7VAF\n" "DL7VAI\n" "DL7VBJ\n" "DL7VEE\n" "DL7VFM\n" "DL7VHP\n" "DL7VIO\n" "DL7VKG\n" "DL7VMM\n" "DL7VOE\n" "DL7VPE\n" "DL7VPO\n" "DL7VRG\n" "DL7VSN\n" "DL7VX\n" "DL7XR\n" "DL7XU\n" "DL7YAD\n" "DL7YS\n" "DL7YY\n" "DL8AAE\n" "DL8AAM\n" "DL8AAV\n" "DL8ABK\n" "DL8AWK\n" "DL8AX\n" "DL8BED\n" "DL8BTE\n" "DL8BU\n" "DL8CA\n" "DL8CKL\n" "DL8CMM\n" "DL8CN\n" "DL8CO\n" "DL8CWA\n" "DL8DAS\n" "DL8DAZ\n" "DL8DBW\n" "DL8DC\n" "DL8DUL\n" "DL8DW\n" "DL8DWW\n" "DL8DX\n" "DL8DXF\n" "DL8DXL\n" "DL8DXW\n" "DL8DYL\n" "DL8DZV\n" "DL8EAQ\n" "DL8FD\n" "DL8FL\n" "DL8FP\n" "DL8HA\n" "DL8HCO\n" "DL8HK\n" "DL8IH\n" "DL8JDX\n" "DL8JEW\n" "DL8JS\n" "DL8KAC\n" "DL8KJ\n" "DL8KX\n" "DL8LAS\n" "DL8LBK\n" "DL8LDN\n" "DL8MBS\n" "DL8MKG\n" "DL8NBE\n" "DL8NBJ\n" "DL8NCF\n" "DL8NCG\n" "DL8NU\n" "DL8OBF\n" "DL8OH\n" "DL8PG\n" "DL8QC\n" "DL8QS\n" "DL8R\n" "DL8RB\n" "DL8RBS\n" "DL8RCL\n" "DL8RDL\n" "DL8RJ\n" "DL8SAD\n" "DL8SAS\n" "DL8SCG\n" "DL8SH\n" "DL8SMC\n" "DL8STW\n" "DL8TG\n" "DL8TL\n" "DL8TN\n" "DL8TR\n" "DL8UAA\n" "DL8UAT\n" "DL8UCC\n" "DL8UFO\n" "DL8UGF\n" "DL8UI\n" "DL8UKE\n" "DL8ULO\n" "DL8UNF\n" "DL8UO\n" "DL8UP\n" "DL8USA\n" "DL8UVG\n" "DL8UWE\n" "DL8VN\n" "DL8VX\n" "DL8WAA\n" "DL8WAZ\n" "DL8WBB\n" "DL8WEM\n" "DL8WN\n" "DL8WX\n" "DL8XF\n" "DL8YAU\n" "DL8YBM\n" "DL8YH\n" "DL8YR\n" "DL8YS\n" "DL8ZAJ\n" "DL8ZU\n" "DL8ZVG\n" "DL9ABM\n" "DL9AJ\n" "DL9AKA\n" "DL9AWI\n" "DL9BBE\n" "DL9BG\n" "DL9CE\n" "DL9CI\n" "DL9CIA\n" "DL9CM\n" "DL9CW\n" "DL9DA\n" "DL9DAC\n" "DL9DAJ\n" "DL9DRA\n" "DL9DRZ\n" "DL9DWR\n" "DL9DYL\n" "DL9ECA\n" "DL9EE\n" "DL9EI\n" "DL9EJ\n" "DL9EO\n" "DL9FB\n" "DL9FC\n" "DL9GCG\n" "DL9GFB\n" "DL9GMC\n" "DL9GMM\n" "DL9GMN\n" "DL9GR\n" "DL9GRE\n" "DL9GS\n" "DL9GTB\n" "DL9GTI\n" "DL9GTK\n" "DL9GWD\n" "DL9HB\n" "DL9HC\n" "DL9HD\n" "DL9HK\n" "DL9IE\n" "DL9IU\n" "DL9JBN\n" "DL9JL\n" "DL9JN\n" "DL9JON\n" "DL9JSO\n" "DL9LF\n" "DL9LM\n" "DL9MBI\n" "DL9MBZ\n" "DL9MCD\n" "DL9MCO\n" "DL9MDI\n" "DL9MEN\n" "DL9MFY\n" "DL9MKA\n" "DL9MKN\n" "DL9MRF\n" "DL9MS\n" "DL9MWG\n" "DL9NCR\n" "DL9NDS\n" "DL9NDV\n" "DL9NEF\n" "DL9NEI\n" "DL9NM\n" "DL9NO\n" "DL9OC\n" "DL9OCG\n" "DL9OLI\n" "DL9PT\n" "DL9QJ\n" "DL9RBT\n" "DL9RCF\n" "DL9RT\n" "DL9SBL\n" "DL9SEV\n" "DL9SFE\n" "DL9SN\n" "DL9SUB\n" "DL9SXX\n" "DL9TJ\n" "DL9UJF\n" "DL9UO\n" "DL9WC\n" "DL9WJH\n" "DL9WO\n" "DL9XAW\n" "DL9YAJ\n" "DL9YBY\n" "DL9YCS\n" "DL9YDW\n" "DL9YX\n" "DL9ZAL\n" "DL9ZAP\n" "DL9ZEA\n" "DL9ZP\n" "DL9ZWG\n" "DM0E\n" "DM0Y\n" "DM1A\n" "DM1AM\n" "DM1DE\n" "DM1FS\n" "DM1KE\n" "DM1LM\n" "DM1PW\n" "DM1RG\n" "DM1T\n" "DM1TT\n" "DM1YP\n" "DM1YS\n" "DM2A\n" "DM2AF\n" "DM2AML\n" "DM2AOC\n" "DM2AUO\n" "DM2AWM\n" "DM2BM\n" "DM2BPG\n" "DM2BR\n" "DM2BRF\n" "DM2C\n" "DM2DMI\n" "DM2DTH\n" "DM2DXA\n" "DM2EV\n" "DM2FDO\n" "DM2GFN\n" "DM2GG\n" "DM2LB\n" "DM2ORI\n" "DM2RG\n" "DM2RN\n" "DM2RP\n" "DM2TO\n" "DM2TS\n" "DM2XO\n" "DM3B\n" "DM3BJ\n" "DM3CW\n" "DM3DA\n" "DM3DL\n" "DM3F\n" "DM3FF\n" "DM3FG\n" "DM3FZN\n" "DM3GH\n" "DM3HZN\n" "DM3K\n" "DM3KF\n" "DM3KTO\n" "DM3KXL\n" "DM3KZN\n" "DM3MH\n" "DM3ML\n" "DM3MM\n" "DM3MR\n" "DM3PKK\n" "DM3PYA\n" "DM3RB\n" "DM3SCK\n" "DM3SU\n" "DM3VL\n" "DM3W\n" "DM3WSO\n" "DM3X/P\n" "DM3XI\n" "DM3ZF\n" "DM4DB\n" "DM4DX\n" "DM4G\n" "DM4IM\n" "DM4KR\n" "DM4M\n" "DM4TI\n" "DM4TNF\n" "DM4WL\n" "DM4YWL\n" "DM50KWF\n" "DM50PSF\n" "DM5A\n" "DM5AA\n" "DM5BB\n" "DM5CQ\n" "DM5CT\n" "DM5DM\n" "DM5DX\n" "DM5EL\n" "DM5GI\n" "DM5JBN\n" "DM5JF\n" "DM5JL\n" "DM5LK\n" "DM5MA\n" "DM5MM\n" "DM5R\n" "DM5TI\n" "DM5WF\n" "DM5WH\n" "DM5Z\n" "DM5ZQL\n" "DM6DL\n" "DM6HK\n" "DM6TM\n" "DM6YY\n" "DM7C\n" "DM7DX\n" "DM7MM\n" "DM7MRE\n" "DM7RM\n" "DM7XT\n" "DM9CCOL\n" "DM9JM\n" "DM9K\n" "DM9KT\n" "DM9LSB\n" "DN1CS\n" "DN1JC\n" "DN1SJ\n" "DN2LD\n" "DN2WD\n" "DN2WH\n" "DN3AMH/P\n" "DN4NER\n" "DN5KID\n" "DN5PP\n" "DN6WT\n" "DO1AYJ\n" "DO1BEN\n" "DO1CDE\n" "DO1CO\n" "DO1CS\n" "DO1CTL\n" "DO1DEL\n" "DO1DJJ\n" "DO1DMI\n" "DO1DQ\n" "DO1DXX\n" "DO1ESK\n" "DO1FV\n" "DO1GC\n" "DO1GM\n" "DO1HGS\n" "DO1HPW\n" "DO1IJB\n" "DO1IQ\n" "DO1JVA\n" "DO1JWZ\n" "DO1KM\n" "DO1KRT\n" "DO1KUB\n" "DO1MGN\n" "DO1MKA\n" "DO1NWA\n" "DO1OHL\n" "DO1PKL\n" "DO1PM\n" "DO1RTO\n" "DO1SAJ\n" "DO1SJF\n" "DO1SKJ\n" "DO1SSB\n" "DO1THG\n" "DO1TU\n" "DO1UZ\n" "DO1VK\n" "DO1WRB\n" "DO1WUP\n" "DO1YCL\n" "DO1YHN\n" "DO1YNM\n" "DO1YWF\n" "DO2BL\n" "DO2DC\n" "DO2DT\n" "DO2GN\n" "DO2HO\n" "DO2JP\n" "DO2MGY\n" "DO2ML\n" "DO2MS\n" "DO2SBE\n" "DO2SYD\n" "DO2TC\n" "DO2WAL\n" "DO2YPB\n" "DO3AH\n" "DO3BJ\n" "DO3BST\n" "DO3ED\n" "DO3HEL\n" "DO3HF\n" "DO3IR\n" "DO3LU\n" "DO3ME\n" "DO3MU\n" "DO3NN\n" "DO3NO\n" "DO3PKE\n" "DO3SH\n" "DO3SP\n" "DO3UWE\n" "DO3VE\n" "DO3WBH\n" "DO3WG\n" "DO4APB\n" "DO4AV\n" "DO4DW\n" "DO4DXA\n" "DO4HRE\n" "DO4JS\n" "DO4JU\n" "DO4KC\n" "DO4NW\n" "DO4OD\n" "DO4RJ\n" "DO4TP\n" "DO4YU\n" "DO5AWE\n" "DO5DF\n" "DO5DGH\n" "DO5FE\n" "DO5HCS\n" "DO5KWH\n" "DO5LN\n" "DO5MCL\n" "DO5MST\n" "DO5OT\n" "DO5RT\n" "DO5SL\n" "DO5SU\n" "DO5TAN\n" "DO5WA\n" "DO5WD\n" "DO5WW\n" "DO6AL\n" "DO6DZ\n" "DO6ELW\n" "DO6GZ\n" "DO6HMA\n" "DO6JJ\n" "DO6KDS\n" "DO6MBA\n" "DO6NI\n" "DO6OA\n" "DO6PP\n" "DO6RO\n" "DO6SD\n" "DO6SR\n" "DO6TPG\n" "DO6YL\n" "DO7ADH\n" "DO7AF\n" "DO7AK\n" "DO7DC\n" "DO7DSV\n" "DO7DU\n" "DO7FC\n" "DO7HS\n" "DO7JF\n" "DO7JF/P\n" "DO7JVB\n" "DO7LR\n" "DO7MAN\n" "DO7OM\n" "DO7RAF\n" "DO7WP\n" "DO8AH\n" "DO8CW\n" "DO8DL\n" "DO8LA\n" "DO8OL\n" "DO8RW\n" "DO8TB\n" "DO8YX\n" "DO9BC\n" "DO9PL\n" "DO9RE\n" "DO9ST\n" "DP1POL\n" "DP3D\n" "DP3E\n" "DP4A\n" "DP4D\n" "DP4K\n" "DP4N\n" "DP4P\n" "DP4W\n" "DP5A\n" "DP5E\n" "DP5M\n" "DP5W\n" "DP5X\n" "DP6A\n" "DP6M\n" "DP6T\n" "DP7A\n" "DP8P\n" "DP9A\n" "DP9I\n" "DP9Z\n" "DQ0A\n" "DQ0B\n" "DQ0L\n" "DQ1A\n" "DQ3M\n" "DQ4Q\n" "DQ4T\n" "DQ4W\n" "DQ5T\n" "DQ6E\n" "DQ8N\n" "DR0K\n" "DR0X\n" "DR10TCC\n" "DR12IAAF\n" "DR1A\n" "DR1F\n" "DR1R\n" "DR1X\n" "DR2010L\n" "DR2010N\n" "DR2010O\n" "DR20MVP\n" "DR2C\n" "DR2N\n" "DR2P\n" "DR2Q\n" "DR2W\n" "DR3R\n" "DR3W\n" "DR3X\n" "DR4A\n" "DR4G\n" "DR4T\n" "DR4W\n" "DR5A\n" "DR5L\n" "DR5N\n" "DR5O\n" "DR5X\n" "DR5Z\n" "DR600UL\n" "DR60GER\n" "DR6J\n" "DR775TMG\n" "DR7T\n" "DR800GRZ\n" "DR888PL\n" "DR8M\n" "DS0HAN\n" "DS1AFL\n" "DS1CPT\n" "DS1JFY\n" "DS1OKY\n" "DS1PEG\n" "DS1PRD\n" "DS1QMV\n" "DS1REE\n" "DS1RJI\n" "DS2GOO\n" "DS2GWM\n" "DS2JJV\n" "DS2KGJ\n" "DS2OQF\n" "DS3FGV\n" "DS3MLG/2\n" "DS4CNB\n" "DS4DBF\n" "DS4DBG\n" "DS4DRT\n" "DS4FMG\n" "DS4GCS\n" "DS4GEX\n" "DS4GGM\n" "DS4GKF\n" "DS4GKG\n" "DS4OVT\n" "DS5ACV\n" "DS5ANY\n" "DS5BRE\n" "DS5DNO\n" "DS5DYM\n" "DS5FNE\n" "DS5KJR\n" "DS5KOU\n" "DS5QLJ\n" "DS5TOS\n" "DS5UST\n" "DT0IT\n" "DU1AV\n" "DU1BP\n" "DU1EG\n" "DU1EV\n" "DU1IVT\n" "DU1JI\n" "DU1LC\n" "DU1UGZ\n" "DU3NXE\n" "DU7/PA0HIP\n" "DU9/DL5SDF\n" "DU9RG\n" "DV1/JO7KMB\n" "DV1JM\n" "DV1SDT\n" "DV1UBY\n" "DV1VSR\n" "DV5PO\n" "DW1VKT\n" "DX1ARM\n" "DX1CW\n" "DX1DBT\n" "DX1HQ\n" "DX1J\n" "DX1M\n" "DX1PRS\n" "DX9DX\n" "E20AC\n" "E20AS\n" "E20HHK\n" "E20WXA\n" "E20YLM\n" "E21AOY\n" "E21EIC\n" "E21EJC\n" "E21IZC\n" "E21YDP\n" "E51CG\n" "E51COF\n" "E51JD\n" "E51QQQ\n" "E51USA\n" "E70JA\n" "E70M\n" "E70R\n" "E70T\n" "E71A\n" "E71DX\n" "E71EDV\n" "E71EZC\n" "E71M\n" "E71S\n" "E71W\n" "E72B\n" "E72C\n" "E72DX\n" "E72MM\n" "E72U\n" "E72W\n" "E72X\n" "E73ACL\n" "E73BB\n" "E73C\n" "E73DX\n" "E73ECJ\n" "E73ESP\n" "E73F\n" "E73FDE\n" "E73M\n" "E73MJ\n" "E73MS\n" "E73O\n" "E73PY\n" "E73S\n" "E73T\n" "E73TTT\n" "E73U\n" "E73W\n" "E73X\n" "E73XL\n" "E73Y\n" "E73YL\n" "E74A\n" "E74AA\n" "E74AW\n" "E74BQ\n" "E74BY\n" "E74CN\n" "E74DT\n" "E74DX\n" "E74EBL\n" "E74EE\n" "E74FN\n" "E74GZ\n" "E74IO\n" "E74IW\n" "E74JS\n" "E74KC\n" "E74KM\n" "E74QA\n" "E74QG\n" "E74SD\n" "E74VT\n" "E74WN\n" "E74X\n" "E74Y\n" "E74ZZ\n" "E75A\n" "E75AZ\n" "E75MC\n" "E75MJ\n" "E75O\n" "E76C\n" "E77A\n" "E77BA\n" "E77C\n" "E77CFG\n" "E77DX\n" "E77E\n" "E77EZ\n" "E77G\n" "E77J\n" "E77K\n" "E77M\n" "E77O\n" "E77R\n" "E77U\n" "E77XZ\n" "E77Y\n" "E78AA\n" "E78ATM\n" "E78CB\n" "E78DX\n" "E78G\n" "E79D\n" "E79EA\n" "E79Z\n" "E7DX\n" "E7HQ\n" "E7SRRS\n" "EA1AAA\n" "EA1AAW\n" "EA1ABS\n" "EA1ABT\n" "EA1ACP\n" "EA1AHY\n" "EA1AKS\n" "EA1AP\n" "EA1APS\n" "EA1APV\n" "EA1AQ\n" "EA1AQE\n" "EA1AR\n" "EA1AS\n" "EA1ASC\n" "EA1ASG\n" "EA1AST\n" "EA1AUS\n" "EA1AUT\n" "EA1AW\n" "EA1BAF\n" "EA1BFZ\n" "EA1BGV\n" "EA1BHR\n" "EA1BIM\n" "EA1BLA\n" "EA1BLI\n" "EA1BLX\n" "EA1BNF\n" "EA1BP\n" "EA1BRB\n" "EA1BTX\n" "EA1BXX\n" "EA1CBX\n" "EA1CCM\n" "EA1CCW\n" "EA1CDI\n" "EA1CF\n" "EA1CGK\n" "EA1CJ\n" "EA1CJF\n" "EA1CJH\n" "EA1CP\n" "EA1CQ\n" "EA1CRL\n" "EA1CS\n" "EA1CUB\n" "EA1DDU\n" "EA1DFP\n" "EA1DGG\n" "EA1DIW\n" "EA1DKV\n" "EA1DR\n" "EA1DRL\n" "EA1DVY\n" "EA1DZM\n" "EA1EA\n" "EA1EAU\n" "EA1EED\n" "EA1EEY\n" "EA1EMB\n" "EA1ET\n" "EA1EUI\n" "EA1EVR\n" "EA1EVS\n" "EA1EWC\n" "EA1EWY\n" "EA1EWY/P\n" "EA1EXE\n" "EA1EY\n" "EA1EYG\n" "EA1FAU\n" "EA1FBU\n" "EA1FCI\n" "EA1FD\n" "EA1FDI\n" "EA1GA\n" "EA1GAZ\n" "EA1GFT\n" "EA1GHT\n" "EA1GIB\n" "EA1GPL\n" "EA1GT\n" "EA1GWL\n" "EA1GWM\n" "EA1GY\n" "EA1HDD\n" "EA1HF\n" "EA1HFI\n" "EA1HLH\n" "EA1HLL\n" "EA1HOE\n" "EA1IT\n" "EA1JK\n" "EA1JO\n" "EA1JW\n" "EA1KC\n" "EA1KE\n" "EA1KY\n" "EA1MR\n" "EA1MV\n" "EA1MX\n" "EA1ND\n" "EA1NE\n" "EA1NX\n" "EA1OD\n" "EA1OS\n" "EA1OT\n" "EA1PO\n" "EA1PP\n" "EA1QA\n" "EA1QK\n" "EA1QT\n" "EA1RCR\n" "EA1RG\n" "EA1RJ\n" "EA1RKA\n" "EA1RU\n" "EA1SA\n" "EA1SB\n" "EA1SZ\n" "EA1TI\n" "EA1URF\n" "EA1URO\n" "EA1VIC\n" "EA1VT\n" "EA1WX\n" "EA1XT\n" "EA1YB\n" "EA1YG\n" "EA1YO\n" "EA1YR\n" "EA2AAZ\n" "EA2ABI\n" "EA2AFV\n" "EA2AOO/P\n" "EA2AOS\n" "EA2AP\n" "EA2ASB\n" "EA2AVM\n" "EA2AWF\n" "EA2AZ\n" "EA2BCJ\n" "EA2BD\n" "EA2BEF\n" "EA2BNU\n" "EA2BVV\n" "EA2CAR\n" "EA2CCG\n" "EA2CE\n" "EA2CHL\n" "EA2CIN\n" "EA2CJ\n" "EA2CNU\n" "EA2CQ\n" "EA2CTB\n" "EA2CXS\n" "EA2CXT\n" "EA2CYJ\n" "EA2DCF\n" "EA2DK\n" "EA2DNR\n" "EA2DOT\n" "EA2DPN\n" "EA2DR\n" "EA2EA\n" "EA2EC\n" "EA2GP\n" "EA2HA\n" "EA2IA\n" "EA2IF\n" "EA2JB\n" "EA2JE\n" "EA2KU\n" "EA2KV\n" "EA2KY\n" "EA2LU\n" "EA2MH\n" "EA2NN\n" "EA2OK\n" "EA2PI\n" "EA2QU\n" "EA2RC\n" "EA2RCF\n" "EA2RKG\n" "EA2RW\n" "EA2RY\n" "EA2SS\n" "EA2SW\n" "EA2TO\n" "EA2VE\n" "EA2VI\n" "EA2WD\n" "EA2YY\n" "EA3/CX8CP\n" "EA3/EA8TL\n" "EA3/K1MM\n" "EA3AAH\n" "EA3AEL\n" "EA3AGZ\n" "EA3AIZ\n" "EA3AKA\n" "EA3ALV\n" "EA3ALZ\n" "EA3AMS\n" "EA3ANE\n" "EA3APV\n" "EA3AQL\n" "EA3AR\n" "EA3AS\n" "EA3ATM\n" "EA3ATO\n" "EA3AV\n" "EA3AVV\n" "EA3AXM\n" "EA3AYK\n" "EA3BCK\n" "EA3BFK\n" "EA3BHK\n" "EA3BJM\n" "EA3BOW\n" "EA3BOX\n" "EA3BT\n" "EA3CC\n" "EA3CCN\n" "EA3CEC\n" "EA3CEC/EA1\n" "EA3CI\n" "EA3CT\n" "EA3CUU\n" "EA3CXG\n" "EA3CZ\n" "EA3CZM\n" "EA3CZR\n" "EA3DEN\n" "EA3DIQ\n" "EA3DTD\n" "EA3DUM\n" "EA3DVJ\n" "EA3DW\n" "EA3DWS\n" "EA3EAN\n" "EA3EDU\n" "EA3EEE\n" "EA3EGB\n" "EA3EIQ\n" "EA3EJI\n" "EA3EJJ\n" "EA3ELZ\n" "EA3ESE\n" "EA3ESJ\n" "EA3EU\n" "EA3EVL\n" "EA3EVR\n" "EA3EXP\n" "EA3EYD\n" "EA3EZD\n" "EA3FAG\n" "EA3FAR\n" "EA3FF\n" "EA3FHC\n" "EA3FHP\n" "EA3FLS\n" "EA3FYD\n" "EA3GBA\n" "EA3GBU\n" "EA3GEG\n" "EA3GEO\n" "EA3GHZ\n" "EA3GLB\n" "EA3GNP\n" "EA3GOA\n" "EA3GOD\n" "EA3GP\n" "EA3GUG\n" "EA3GXH\n" "EA3GXJ\n" "EA3GXL\n" "EA3GYK\n" "EA3GYK/5\n" "EA3HAB\n" "EA3HAN\n" "EA3HCJ\n" "EA3HCL\n" "EA3HCY\n" "EA3HEU\n" "EA3HP\n" "EA3IM\n" "EA3IN\n" "EA3JJ\n" "EA3JL\n" "EA3JW\n" "EA3KN\n" "EA3KT\n" "EA3KU\n" "EA3LA\n" "EA3LD\n" "EA3LS\n" "EA3MM\n" "EA3NA\n" "EA3NB\n" "EA3NE\n" "EA3NJ\n" "EA3NO\n" "EA3NP\n" "EA3NT\n" "EA3NU\n" "EA3NW\n" "EA3NY\n" "EA3ODC\n" "EA3OH\n" "EA3OR\n" "EA3PT\n" "EA3QP\n" "EA3RCB\n" "EA3RKR\n" "EA3RR\n" "EA3SD\n" "EA3TI\n" "EA3TJ\n" "EA3WD\n" "EA3WX\n" "EA3XQ\n" "EA4/DH1TW\n" "EA4/UY7CW\n" "EA4/YO8DHC\n" "EA4AFP\n" "EA4AGI\n" "EA4AXG\n" "EA4AYD\n" "EA4AYU\n" "EA4BF\n" "EA4BGM\n" "EA4BHK\n" "EA4BM\n" "EA4BT\n" "EA4BV\n" "EA4BZ\n" "EA4CFY\n" "EA4CJI\n" "EA4CQT\n" "EA4CRP\n" "EA4CS\n" "EA4CS/P\n" "EA4CU\n" "EA4CW\n" "EA4CWN\n" "EA4DAT\n" "EA4DB\n" "EA4DEC\n" "EA4DEI\n" "EA4DLX\n" "EA4DQX\n" "EA4DRV\n" "EA4DTN\n" "EA4DTV\n" "EA4DUT\n" "EA4DW\n" "EA4DX\n" "EA4EER\n" "EA4EIY\n" "EA4EJR\n" "EA4EMC\n" "EA4EN\n" "EA4EPE\n" "EA4EPY\n" "EA4EQ\n" "EA4EQD\n" "EA4ERJ\n" "EA4ERX\n" "EA4ERZ\n" "EA4ESG\n" "EA4ETW\n" "EA4EUI\n" "EA4FJJ\n" "EA4FKI\n" "EA4FL\n" "EA4FLS\n" "EA4FLY\n" "EA4FQO\n" "EA4FSL\n" "EA4FSW\n" "EA4FTP\n" "EA4GA\n" "EA4GB\n" "EA4HD\n" "EA4IJ\n" "EA4IP\n" "EA4IS\n" "EA4JJ\n" "EA4KA\n" "EA4KD\n" "EA4KG\n" "EA4KR\n" "EA4KT\n" "EA4LG\n" "EA4LU\n" "EA4MA\n" "EA4NP\n" "EA4NW\n" "EA4OA\n" "EA4PL\n" "EA4RCT\n" "EA4RE\n" "EA4RF\n" "EA4SG\n" "EA4TD\n" "EA4TG\n" "EA4TK\n" "EA4TX\n" "EA4URA\n" "EA4UV\n" "EA4WC\n" "EA4WD\n" "EA4WP\n" "EA4WT\n" "EA4WW\n" "EA4XT\n" "EA4YK\n" "EA4ZK\n" "EA5/DG9NED\n" "EA5/DJ1MH\n" "EA5/DL5EO\n" "EA5/UT2XD\n" "EA5ABH\n" "EA5AE\n" "EA5AER\n" "EA5AID\n" "EA5AIO\n" "EA5ARC\n" "EA5ASF\n" "EA5ASM\n" "EA5AT\n" "EA5ATK\n" "EA5AVL\n" "EA5AVW\n" "EA5AWJ\n" "EA5AX\n" "EA5BAH\n" "EA5BM\n" "EA5BS\n" ; const char txt_master1[65523] = "EA5BVS\n" "EA5BWR\n" "EA5BY\n" "EA5BZ\n" "EA5CEE\n" "EA5CLH\n" "EA5CP\n" "EA5CRU\n" "EA5CW\n" "EA5CZM\n" "EA5DB\n" "EA5DCL\n" "EA5DF\n" "EA5DFV\n" "EA5DIT\n" "EA5DKU\n" "EA5DM\n" "EA5DT\n" "EA5DY\n" "EA5EA\n" "EA5EH\n" "EA5EI\n" "EA5EM\n" "EA5EM/2\n" "EA5EN\n" "EA5EOR\n" "EA5ET\n" "EA5EU\n" "EA5EV\n" "EA5EXK\n" "EA5FCW\n" "EA5FFC\n" "EA5FHC\n" "EA5FID\n" "EA5FIV\n" "EA5FJD\n" "EA5FKX\n" "EA5FL\n" "EA5FQ\n" "EA5FU\n" "EA5FV\n" "EA5FWW\n" "EA5FX\n" "EA5GF\n" "EA5GI\n" "EA5GIE\n" "EA5GIN\n" "EA5GL\n" "EA5GS\n" "EA5GSD\n" "EA5GSW\n" "EA5GTQ\n" "EA5GU\n" "EA5GUD\n" "EA5GUI\n" "EA5GVV\n" "EA5GVZ\n" "EA5GX\n" "EA5GXI\n" "EA5GZY\n" "EA5HAB\n" "EA5HH\n" "EA5HIH\n" "EA5HJO\n" "EA5HKA\n" "EA5HKQ\n" "EA5HKS\n" "EA5HM\n" "EA5HPX\n" "EA5HT\n" "EA5ID\n" "EA5IY\n" "EA5JC\n" "EA5JK\n" "EA5JW\n" "EA5KA\n" "EA5KB\n" "EA5KD\n" "EA5KGD\n" "EA5KV\n" "EA5KY\n" "EA5LA\n" "EA5LK\n" "EA5LV\n" "EA5ON\n" "EA5PS\n" "EA5PW\n" "EA5QB\n" "EA5RM\n" "EA5RM/7\n" "EA5RS\n" "EA5RU\n" "EA5TD\n" "EA5TN\n" "EA5TS\n" "EA5TT\n" "EA5UB\n" "EA5URB\n" "EA5VK\n" "EA5VN\n" "EA5WO\n" "EA5WP\n" "EA5XC\n" "EA5XY\n" "EA5YE\n" "EA5YU\n" "EA6ABB\n" "EA6AFM\n" "EA6AGA\n" "EA6AIV\n" "EA6AZ\n" "EA6BC\n" "EA6BF\n" "EA6BH\n" "EA6DB\n" "EA6DD\n" "EA6DX\n" "EA6IB\n" "EA6LP\n" "EA6NB\n" "EA6OM\n" "EA6SX\n" "EA6UN\n" "EA6UP\n" "EA6XQ\n" "EA6ZS\n" "EA7/DL2FP/P\n" "EA7/DL3XO\n" "EA7AA\n" "EA7AAW\n" "EA7AE\n" "EA7AGX\n" "EA7AHA\n" "EA7AJR\n" "EA7AKK\n" "EA7ATX\n" "EA7AVP\n" "EA7AZA\n" "EA7BJ\n" "EA7CB\n" "EA7CHO\n" "EA7CIX\n" "EA7CJN\n" "EA7CVF\n" "EA7CWA\n" "EA7DLD\n" "EA7ELY\n" "EA7EN\n" "EA7ESM\n" "EA7EU\n" "EA7EYQ\n" "EA7FIQ\n" "EA7FR\n" "EA7FRX\n" "EA7FUN\n" "EA7GSU\n" "EA7GV\n" "EA7GYS\n" "EA7GZT\n" "EA7HCB\n" "EA7HCJ\n" "EA7HE\n" "EA7HEG\n" "EA7HF\n" "EA7HFH\n" "EA7HFI\n" "EA7HG\n" "EA7HGH\n" "EA7HHR\n" "EA7HHS\n" "EA7HHV\n" "EA7HKE\n" "EA7HLU\n" "EA7HLZ\n" "EA7HW\n" "EA7HXQ\n" "EA7HY\n" "EA7HYL\n" "EA7IBK\n" "EA7ICN\n" "EA7ICN/2\n" "EA7IHD\n" "EA7ISH\n" "EA7JX\n" "EA7KS\n" "EA7LL\n" "EA7LM\n" "EA7LS\n" "EA7LU\n" "EA7MK\n" "EA7MT\n" "EA7NL\n" "EA7NW\n" "EA7OR\n" "EA7OT\n" "EA7RM\n" "EA7RU\n" "EA7SG\n" "EA7ST\n" "EA7TG\n" "EA7TL\n" "EA7TN\n" "EA7TV\n" "EA7UU\n" "EA7VJ\n" "EA7WA\n" "EA7WL\n" "EA7ZY\n" "EA8/DF2XE\n" "EA8/DK5LM\n" "EA8/DL3KVR\n" "EA8/DL8NU\n" "EA8/EA4SV\n" "EA8/LA8WF\n" "EA8/OH2NT\n" "EA8/OH6CS\n" "EA8/OX3XR\n" "EA8AG\n" "EA8AH\n" "EA8AJO\n" "EA8AJY\n" "EA8AK\n" "EA8ANE\n" "EA8AOC\n" "EA8AVK\n" "EA8AX\n" "EA8BEX\n" "EA8BGO\n" "EA8BMG\n" "EA8BPX\n" "EA8BQM\n" "EA8BTM\n" "EA8BVP\n" "EA8BZH\n" "EA8CAC\n" "EA8CDI\n" "EA8CDP\n" "EA8CER\n" "EA8CFY\n" "EA8CMX\n" "EA8CN\n" "EA8CNB\n" "EA8CNR\n" "EA8CPN\n" "EA8CQW\n" "EA8CSG\n" "EA8DA\n" "EA8DD\n" "EA8DG\n" "EA8DP\n" "EA8EU\n" "EA8EW\n" "EA8IK\n" "EA8IT\n" "EA8JA\n" "EA8KG\n" "EA8KK\n" "EA8KV\n" "EA8LS\n" "EA8MQ\n" "EA8MT\n" "EA8NB\n" "EA8NQ\n" "EA8OM\n" "EA8TL\n" "EA8TT\n" "EA8TX\n" "EA8UK\n" "EA8UP\n" "EA8URL\n" "EA8VD\n" "EA8ZS\n" "EA9BO\n" "EA9BW\n" "EA9EU\n" "EA9IE\n" "EA9LZ\n" "EA9PY\n" "EA9Z\n" "EB1APH\n" "EB1BOA\n" "EB1CFH\n" "EB1DMQ\n" "EB1DNA\n" "EB1ERK\n" "EB1EVX\n" "EB1GCA\n" "EB1IFI\n" "EB1LA\n" "EB1TR\n" "EB1WW\n" "EB2BXL\n" "EB2CYQ\n" "EB2FWD\n" "EB2GFA\n" "EB2RA\n" "EB3CML\n" "EB3EPP\n" "EB3EPR\n" "EB3EPR/2\n" "EB3FLY\n" "EB3FSS\n" "EB3JT\n" "EB4FJV\n" "EB4GER\n" "EB5AL\n" "EB5ARP\n" "EB5BBA\n" "EB5CNK\n" "EB5CS\n" "EB5GGB\n" "EB5GIV\n" "EB5GMH\n" "EB5HRX\n" "EB5KAU\n" "EB5KB\n" "EB5KBB\n" "EB5RR\n" "EB5WC\n" "EB6AOK\n" "EB7ABJ\n" "EB7CIN\n" "EB7DX\n" "EB8AH\n" "EC1AAC\n" "EC1ABR\n" "EC1AE\n" "EC1AIJ\n" "EC1AJV\n" "EC1AQT\n" "EC1CSV\n" "EC1CT\n" "EC1CTV\n" "EC1DBO\n" "EC1DLH\n" "EC1DMY\n" "EC1KR\n" "EC1KV\n" "EC2ACC\n" "EC2ADT\n" "EC2ASL\n" "EC2AWD\n" "EC2BAD\n" "EC2DX\n" "EC3AAJ\n" "EC3ACH\n" "EC3AED\n" "EC3PL\n" "EC4AIU\n" "EC4AIV\n" "EC4CBZ\n" "EC5AB\n" "EC5AGM\n" "EC5AMK\n" "EC5APA\n" "EC5BNL\n" "EC5BZR\n" "EC5CR\n" "EC5CSW\n" "EC5CYI\n" "EC5EC\n" "EC5KB\n" "EC5WW\n" "EC6AAE\n" "EC6TK\n" "EC6UD\n" "EC7ABV\n" "EC7ACV\n" "EC7AKV\n" "EC7AMT\n" "EC7AMY\n" "EC7AT\n" "EC7CUH\n" "EC7DDZ\n" "EC7DIK\n" "EC7DND\n" "EC7DNX\n" "EC7DX\n" "EC7DZZ\n" "EC7EAM\n" "EC8ABQ\n" "EC8ADS\n" "EC8ADW\n" "EC8AFM\n" "EC8AQQ\n" "EC8AUZ\n" "ED1R\n" "ED1RCM\n" "ED1T\n" "ED2R\n" "ED4A\n" "ED4R/8\n" "ED5CJX\n" "ED5D\n" "ED5GVZ\n" "ED5M\n" "ED5R\n" "ED5T\n" "ED7AJR\n" "ED7D\n" "ED7H\n" "ED8D\n" "ED8R\n" "ED8T\n" "ED9NA\n" "EE1E\n" "EE1K\n" "EE1S\n" "EE2K\n" "EE2W\n" "EE3E\n" "EE3R\n" "EE3Y\n" "EE4E\n" "EE5E\n" "EE5G\n" "EE5I\n" "EE5J\n" "EE5KB\n" "EE5R\n" "EE5T\n" "EE5U\n" "EE5V\n" "EE5W\n" "EE6E\n" "EE6LP\n" "EE7AJR\n" "EE7D\n" "EE7E\n" "EE7J\n" "EE7R\n" "EE7X\n" "EE8E\n" "EE9E\n" "EE9K\n" "EE9Z\n" "EF1A\n" "EF1W\n" "EF3A\n" "EF3M\n" "EF5BM\n" "EF5F\n" "EF5J\n" "EF5K\n" "EF5W\n" "EF7A\n" "EF7R\n" "EF8G\n" "EF8M\n" "EF8N\n" "EF8R\n" "EF8T\n" "EF9K\n" "EG1W\n" "EG2R\n" "EG4M\n" "EG5A\n" "EG5J\n" "EG5T\n" "EG5U\n" "EG5W\n" "EG8GCA\n" "EH1K\n" "EH2R\n" "EH2WE\n" "EH5H\n" "EH5I\n" "EH5J\n" "EH5T\n" "EH7H\n" "EH7Z\n" "EI/EA3BOX\n" "EI/ON4EI\n" "EI/W5GN\n" "EI0CZ\n" "EI0HQ\n" "EI0W\n" "EI2AJ\n" "EI2CA\n" "EI2CC\n" "EI2CL\n" "EI2CN\n" "EI2GLB\n" "EI2II\n" "EI2JD\n" "EI2JK\n" "EI2KA\n" "EI2VNO\n" "EI2W\n" "EI3EBB\n" "EI3ENB\n" "EI3FDB\n" "EI3GC\n" "EI3GDB\n" "EI3GRB\n" "EI3GZ\n" "EI3IO\n" "EI3JE\n" "EI3Y\n" "EI4BZ\n" "EI4CF\n" "EI4CF/P\n" "EI4DJB\n" "EI4DW\n" "EI4GAB\n" "EI4GK\n" "EI4GNB\n" "EI4GXB\n" "EI4GYB\n" "EI4HQ\n" "EI4IB\n" "EI4II\n" "EI4IR\n" "EI4JZ\n" "EI4RX\n" "EI5AL\n" "EI5DI\n" "EI5DR\n" "EI5E\n" "EI5GJB\n" "EI5GM\n" "EI5GPB\n" "EI5GSB\n" "EI5JC\n" "EI5JQ\n" "EI5JZ\n" "EI6AK\n" "EI6AL\n" "EI6ARB\n" "EI6D\n" "EI6DX\n" "EI6FOB\n" "EI6FR\n" "EI6GEB\n" "EI6HB\n" "EI6IZ\n" "EI6JK\n" "EI6JY\n" "EI6KC\n" "EI6S\n" "EI7BA\n" "EI7CC\n" "EI7DMB\n" "EI7GM\n" "EI7GY\n" "EI7IG\n" "EI7IQ\n" "EI7JK\n" "EI7JN\n" "EI7JQ\n" "EI7JZ\n" "EI7M\n" "EI8DD\n" "EI8EM\n" "EI8FH\n" "EI8GHB\n" "EI8GNB\n" "EI8GS\n" "EI8HL\n" "EI8HT\n" "EI8IR\n" "EI8JB\n" "EI8JF\n" "EI8JR\n" "EI8JX\n" "EI8KB\n" "EI9C\n" "EI9CF\n" "EI9CJ\n" "EI9E\n" "EI9ES\n" "EI9FBB\n" "EI9FN\n" "EI9FVB\n" "EI9HQ\n" "EI9HW\n" "EI9HX\n" "EI9JF\n" "EI9JU\n" "EI9O\n" "EJ3Z\n" "EJ4II\n" "EJ6DX\n" "EJ8GQB\n" "EK0B\n" "EK0HQ\n" "EK3GM\n" "EK3SA\n" "EK6GB\n" "EK6LP\n" "EK6TA\n" "EK7DX\n" "EK8WA\n" "EL2DX\n" "EL8RI\n" "EM0X\n" "EM50KFF\n" "EM5HQ\n" "EM7L\n" "EM9F\n" "EN7U\n" "EO1I\n" "EO3Q\n" "EO5I\n" "EO5M\n" "EP3HF\n" "ER0/UT0FT\n" "ER0FEO\n" "ER0WW\n" "ER1DA\n" "ER1DAC\n" "ER1LW\n" "ER1OO\n" "ER1RR\n" "ER1WK\n" "ER1ZZ\n" "ER2KAG\n" "ER2KRT\n" "ER2RM\n" "ER3AU\n" "ER3CT\n" "ER3DX\n" "ER3HW\n" "ER3MM\n" "ER3R\n" "ER3ZZ\n" "ER4A\n" "ER4DX\n" "ER4KAA\n" "ER4LX\n" "ER4X\n" "ER5AA\n" "ER5AL\n" "ER5DX\n" "ER5GB\n" "ER5LL\n" "ER5WU\n" "ER6A\n" "ER7HQ\n" "ES0DJ\n" "ES0NW\n" "ES1A\n" "ES1AN\n" "ES1AR\n" "ES1CN\n" "ES1CR\n" "ES1CW\n" "ES1GO\n" "ES1IP\n" "ES1LBK\n" "ES1LS\n" "ES1QD\n" "ES1RA\n" "ES1WN\n" "ES1WST\n" "ES1XQ\n" "ES2BH\n" "ES2BL\n" "ES2DJ\n" "ES2EZ\n" "ES2IPA\n" "ES2JL\n" "ES2MA\n" "ES2MC\n" "ES3AX\n" "ES3BQ\n" "ES3RF\n" "ES3VI\n" "ES4A\n" "ES4IN\n" "ES4MM\n" "ES4NG\n" "ES4RD\n" "ES4RX\n" "ES4RZ\n" "ES5DB\n" "ES5EC\n" "ES5EP\n" "ES5G\n" "ES5GP\n" "ES5JR\n" "ES5MC\n" "ES5MG\n" "ES5NC\n" "ES5Q\n" "ES5QA\n" "ES5QX\n" "ES5RGJ\n" "ES5RIM\n" "ES5RR\n" "ES5RW\n" "ES5RY\n" "ES5TF\n" "ES5TV\n" "ES6CO\n" "ES6DO\n" "ES6KW\n" "ES6PA\n" "ES6Q\n" "ES6QZ\n" "ES6RMR\n" "ES6TX\n" "ES7ABD\n" "ES7FQ\n" "ES7FU\n" "ES7GM\n" "ES7GN\n" "ES7NY\n" "ES8DH\n" "ES8TJM\n" "ES8W\n" "ES8ZP\n" "ES9A\n" "ES9C\n" "ET3AA\n" "ET3JA\n" "ET3SID\n" "EU1AD\n" "EU1AI\n" "EU1AZ\n" "EU1CL\n" "EU1DX\n" "EU1DZ\n" "EU1DZ/6\n" "EU1EU\n" "EU1FC\n" "EU1FY\n" "EU1PA\n" "EU1UA\n" "EU1UN\n" "EU2EU\n" "EU2MM\n" "EU3AR\n" "EU4AA\n" "EU4AG\n" "EU4CQ\n" "EU4LY\n" "EU5ROPE\n" "EU6AA\n" "EU6AF\n" "EU6MM\n" "EU7SA\n" "EU7SR\n" "EU8KP\n" "EU8RZ\n" "EV1P\n" "EV1P/2\n" "EV1R\n" "EV1Z\n" "EV2A\n" "EV6M\n" "EV6Z\n" "EV8D\n" "EV8DP\n" "EW1ABA\n" "EW1AR\n" "EW1BA\n" "EW1CQ\n" "EW1DJ\n" "EW1DO\n" "EW1EA\n" "EW1FM\n" "EW1IP\n" "EW1KT\n" "EW1NA\n" "EW1NM\n" "EW1OT\n" "EW1WZ\n" "EW1YL\n" "EW2AA\n" "EW2AO\n" "EW2BX\n" "EW2DN\n" "EW2EG\n" "EW2EO\n" "EW2ES\n" "EW2MA\n" "EW2TT\n" "EW2WW\n" "EW3EA\n" "EW3EW\n" "EW3LN\n" "EW4AA\n" "EW4AB\n" "EW4AM\n" "EW4DX\n" "EW4MM\n" "EW4PA\n" "EW5A\n" "EW6AF\n" "EW6AL\n" "EW6CU\n" "EW6DM\n" "EW6DX\n" "EW6EW\n" "EW6GF\n" "EW6GL\n" "EW6MM\n" "EW6OO\n" "EW6WA\n" "EW7AK\n" "EW7BR\n" "EW7DK\n" "EW7EW\n" "EW7KF\n" "EW7LE\n" "EW7LO\n" "EW7PK\n" "EW8A\n" "EW8BQ\n" "EW8CD\n" "EW8CF\n" "EW8CY\n" "EW8DA\n" "EW8DD\n" "EW8DJ\n" "EW8DX\n" "EW8DZ\n" "EW8EW\n" "EW8KF\n" "EW8KY\n" "EW8MW\n" "EW8OF\n" "EW8OG\n" "EW8OM\n" "EW8RR\n" "EW8WW\n" "EW8ZO\n" "EX2A\n" "EX2M\n" "EX2T\n" "EX2U\n" "EX2X\n" "EX7ML\n" "EX8AB\n" "EX8AI\n" "EX8M\n" "EX8MAT\n" "EX8O\n" "EY7AB\n" "EY7AD\n" "EY7AF\n" "EY7BJ\n" "EY7ZA\n" "EY8/F4EGS\n" "EY8/K4ZW\n" "EY8AJ\n" "EY8BA\n" "EY8CC\n" "EY8DD\n" "EY8MM\n" "F1ACC\n" "F1ACK\n" "F1ACS\n" "F1ADG\n" "F1AEY\n" "F1AKK\n" "F1BAV\n" "F1BBK\n" "F1BGY\n" "F1BJD\n" "F1BLQ\n" "F1BNT\n" "F1BOQ\n" "F1BRV\n" "F1CGN\n" "F1DFR\n" "F1EAA\n" "F1EBN\n" "F1EIT\n" "F1EPQ\n" "F1FPL\n" "F1GTU\n" "F1HSW\n" "F1HTU\n" "F1HUM/P\n" "F1ICR\n" "F1ICS\n" "F1IEH\n" "F1IWH\n" "F1JGN\n" "F1JKJ\n" "F1JPE\n" "F1JRD\n" "F1LPT\n" "F1MKG\n" "F1MLN\n" "F1MUG\n" "F1MWV\n" "F1NGP\n" "F1NZC\n" "F1OET\n" "F1OKV\n" "F1OOG\n" "F1PDI\n" "F1PGZ\n" "F1PUX\n" "F1PYW\n" "F1RCX\n" "F1RHS\n" "F1RUK\n" "F1SAL\n" "F1SIU\n" "F1SMV\n" "F1TRE\n" "F1TZE\n" "F1TZG\n" "F1UIH\n" "F1UIJ\n" "F1UJS\n" "F1UMO\n" "F1URL\n" "F1UVN\n" "F2AI\n" "F2AR\n" "F2BF\n" "F2DX\n" "F2FZ\n" "F2GL\n" "F2JD\n" "F2LG\n" "F2LZ\n" "F2MA\n" "F2NZ/P\n" "F2QH\n" "F2RO\n" "F2SI\n" "F2SY\n" "F2TA\n" "F2VX\n" "F2WT\n" "F2YT\n" "F3AT\n" "F3CW\n" "F3MB\n" "F3NB\n" "F3OA\n" "F3TH\n" "F3TK\n" "F3VV\n" "F3VX\n" "F3WT\n" "F4ABC\n" "F4AGR\n" "F4APR\n" "F4APS\n" "F4ASK\n" "F4ASQ\n" "F4BCX\n" "F4BDG\n" "F4BHW\n" "F4BIV\n" "F4BKB\n" "F4BKV\n" "F4BXY\n" "F4CDR\n" "F4CGJ\n" "F4CLB\n" "F4CMC/P\n" "F4CPD\n" "F4CPF\n" "F4CQK\n" "F4CRE\n" "F4CUI\n" "F4CWL\n" "F4CWZ\n" "F4CYZ/P\n" "F4CZV\n" "F4DBJ\n" "F4DIA\n" "F4DLL\n" "F4DNW\n" "F4DPT\n" "F4DRC\n" "F4DRT\n" "F4DSD\n" "F4DSK\n" "F4DTO\n" "F4DVO\n" "F4DVX\n" "F4DVX/P\n" "F4DXP\n" "F4DXW\n" "F4DXX\n" "F4EAN\n" "F4EEI\n" "F4EEJ\n" "F4EFL\n" "F4EGA\n" "F4EGD\n" "F4EGG\n" "F4EGS\n" "F4EIZ\n" "F4EJW\n" "F4ELU\n" "F4EMN\n" "F4EMU\n" "F4ENJ\n" "F4ENK\n" "F4ENU\n" "F4EPR\n" "F4EPU\n" "F4EQA\n" "F4EQH\n" "F4ESE\n" "F4ETG\n" "F4EUG\n" "F4EUN\n" "F4EVR\n" "F4EWU\n" "F4EWU/P\n" "F4EYU\n" "F4EZC\n" "F4EZJ\n" "F4FAO\n" "F4FBB\n" "F4FBP\n" "F4FDA\n" "F4FDR\n" "F4FEP\n" "F4FFH\n" "F4FFN\n" "F4FFZ\n" "F4FGJ\n" "F4FHI\n" "F4FHM\n" "F4FHR\n" "F4FHT\n" "F4FHV\n" "F4FIP\n" "F4FJH\n" "F4FKJ\n" "F4FLF\n" "F4FLN\n" "F4FLQ\n" "F4FNL\n" "F4FNT\n" "F4FPF\n" "F4FPG\n" "F4FQH\n" "F4FQI\n" "F4FSB\n" "F4FSV\n" "F4FTS\n" "F4FWL\n" "F4FWM\n" "F4GAJ\n" "F4GAR\n" "F4GBW\n" "F4JRC\n" "F4JVG\n" "F4LKC\n" "F4MBZ\n" "F4OHA\n" "F4PCM\n" "F4RST\n" "F4SGU\n" "F4TTR\n" "F4UJU\n" "F4UKP\n" "F5AAR\n" "F5AIB\n" "F5AKL\n" "F5AMH\n" "F5AOL\n" "F5AQB\n" "F5ARU\n" "F5ASD\n" "F5AUZ\n" "F5AXG\n" "F5AZM\n" "F5BBD\n" "F5BEG\n" "F5BOY\n" "F5BTH\n" "F5BTH/P\n" "F5BZB\n" "F5CBQ\n" "F5CCX\n" "F5CDE\n" "F5CH\n" "F5CQ\n" "F5CT\n" "F5CWU\n" "F5CYM\n" "F5CYS\n" "F5DDX\n" "F5DM\n" "F5DRD\n" "F5DYD\n" "F5ELL\n" "F5ELL/P\n" "F5EOT\n" "F5FAB/P\n" "F5FJ\n" "F5GFA\n" "F5GGL\n" "F5GN\n" "F5GPE\n" "F5HNQ\n" "F5HRY\n" "F5HTR\n" "F5HUF\n" "F5HX\n" "F5HY\n" "F5IAE\n" "F5ICC\n" "F5IDB\n" "F5IDJ\n" "F5IEP\n" "F5IHP\n" "F5IHP/P\n" "F5ILS\n" "F5IN\n" "F5INJ\n" "F5IQA\n" "F5IQJ\n" "F5ISG\n" "F5IUZ\n" "F5IYJ\n" "F5IYU\n" "F5IZP\n" "F5JDG\n" "F5JFU\n" "F5JGA\n" "F5JIW\n" "F5JLH\n" "F5JLV\n" "F5JMI\n" "F5JRL\n" "F5JSD\n" "F5JSK\n" "F5JSQ\n" "F5JU\n" "F5JXU\n" "F5JY\n" "F5JYD\n" "F5KAR\n" "F5KAR/P\n" "F5KCH\n" "F5KEE\n" "F5KEQ\n" "F5KFL\n" "F5KIN\n" "F5KKD\n" "F5KLE\n" "F5KLP\n" "F5KSE\n" "F5LCU\n" "F5LDY\n" "F5LEN\n" "F5LGE\n" "F5LGF\n" "F5LIW\n" "F5LJA\n" "F5LLE\n" "F5LLN\n" "F5LMJ\n" "F5LMK\n" "F5LND\n" "F5LOW\n" "F5LPY\n" "F5LQ\n" "F5LTH\n" "F5LUN\n" "F5LVL\n" "F5LWF\n" "F5MA\n" "F5MAE\n" "F5MBM\n" "F5MFI\n" "F5MFU\n" "F5MLJ\n" "F5MMB\n" "F5MMF\n" "F5MMX\n" "F5MMY\n" "F5MOO\n" "F5MPN\n" "F5MQW\n" "F5MSB\n" "F5MSE\n" "F5MUX\n" "F5MVT\n" "F5MWW\n" "F5MXH\n" "F5MXQ\n" "F5MZN\n" "F5NBK\n" "F5NBQ\n" "F5NBU\n" "F5NBX\n" "F5NCU\n" "F5NEH\n" "F5NEP\n" "F5NEV\n" "F5NKP\n" "F5NKX\n" "F5NMK\n" "F5NQL\n" "F5NSL\n" "F5NTV\n" "F5NTZ\n" "F5NYK\n" "F5NZY\n" "F5OAM\n" "F5OCL\n" "F5ODA\n" "F5ODF\n" "F5OEL\n" "F5OEV\n" "F5OGL\n" "F5OHH\n" "F5OHM\n" "F5OHS\n" "F5OHV\n" "F5OQL\n" "F5ORE\n" "F5OTZ\n" "F5OWL\n" "F5OWT\n" "F5OZC\n" "F5OZF\n" "F5PAL\n" "F5PBM\n" "F5PCV\n" "F5PCX\n" "F5PEU\n" "F5PHP\n" "F5PHW\n" "F5PLC\n" "F5POJ\n" "F5PPO\n" "F5PQH\n" "F5PRH\n" "F5PTI\n" "F5PU\n" "F5PVK\n" "F5PWK\n" "F5PZR\n" "F5QE\n" "F5QF\n" "F5RAB\n" "F5RAV\n" "F5RBB\n" "F5RD\n" "F5RDK\n" "F5RDS\n" "F5RDS/P\n" "F5RJK\n" "F5RJM\n" "F5RKC\n" "F5RKL\n" "F5RLW\n" "F5RMK\n" "F5RMN\n" "F5ROL\n" "F5ROX\n" "F5RPB\n" "F5RQQ\n" "F5RRS\n" "F5RUJ\n" "F5RVV\n" "F5RWQ\n" "F5RXL\n" "F5SDD\n" "F5SDH\n" "F5SGI\n" "F5SIH\n" "F5SJB\n" "F5SSK\n" "F5SUL\n" "F5SVU\n" "F5SXD\n" "F5SZB\n" "F5TDB\n" "F5TDK\n" "F5TFI\n" "F5TFU\n" "F5TGR\n" "F5TGW\n" "F5TIL\n" "F5TLZ\n" "F5TMJ\n" "F5TO\n" "F5TRB\n" "F5TSB\n" "F5TSG\n" "F5TTI\n" "F5TXW\n" "F5UBH\n" "F5UFX\n" "F5UJK\n" "F5UKL\n" "F5UL\n" "F5UMP\n" "F5UMU\n" "F5UOW\n" "F5UQN\n" "F5UTN\n" "F5VBT\n" "F5VBU\n" "F5VFU\n" "F5VHE\n" "F5VHQ\n" "F5VHY\n" "F5VIF\n" "F5VIF/P\n" "F5VIH\n" "F5VIM\n" "F5VJC\n" "F5VJK\n" "F5VKP\n" "F5VKT\n" "F5VLT\n" "F5VLV\n" "F5VMO\n" "F5VNB\n" "F5VU\n" "F5VV\n" "F5VW\n" "F5VW/P\n" "F5YD\n" "F5YJ\n" "F6ABI\n" "F6ACD\n" "F6ACV\n" "F6AEW\n" "F6AFC\n" "F6AGQ\n" "F6AJH\n" "F6AML\n" "F6AOI\n" "F6AOJ\n" "F6API\n" "F6AQI\n" "F6AQO\n" "F6ARC\n" "F6ARQ\n" "F6ATP\n" "F6AUS\n" "F6AVP\n" "F6AXX\n" "F6BAT\n" "F6BBO\n" "F6BBQ\n" "F6BDM\n" "F6BEE\n" "F6BFH\n" "F6BGC\n" "F6BGG\n" "F6BGV\n" "F6BIP\n" "F6BIP/P\n" "F6BKI\n" "F6BKP\n" "F6BLP\n" "F6BNH\n" "F6BNL\n" "F6BNX\n" "F6BPO\n" "F6BPZ\n" "F6BUL\n" "F6BVY\n" "F6BWJ\n" "F6BWO\n" "F6CBA\n" "F6CBH\n" "F6CBL\n" "F6CBW\n" "F6CEL\n" "F6CFB\n" "F6CKD\n" "F6CKE\n" "F6CLH\n" "F6CLQ\n" "F6CMG\n" "F6CNM\n" "F6COA\n" "F6COW\n" "F6COZ\n" "F6CRP\n" "F6CRT\n" "F6CSO\n" "F6CSQ\n" "F6CTL\n" "F6CTT\n" "F6CVR\n" "F6CWA\n" "F6CWN\n" "F6CXJ\n" "F6CYT\n" "F6CZC\n" "F6CZV\n" "F6DAM\n" "F6DBX\n" "F6DDP\n" "F6DDR\n" "F6DFZ\n" "F6DGH\n" "F6DKI\n" "F6DKQ\n" "F6DKV\n" "F6DLM\n" "F6DRP\n" "F6DSB\n" "F6DSV\n" "F6DUK\n" "F6DVH\n" "F6DYX\n" "F6DYY\n" "F6DZD\n" "F6DZS\n" "F6DZU\n" "F6EAZ\n" "F6ECI\n" "F6ECS\n" "F6EDO\n" "F6EHP\n" "F6EKI\n" "F6EKJ\n" "F6EMA\n" "F6EOE\n" "F6EPO\n" "F6EPQ\n" "F6EQD\n" "F6EQZ\n" "F6EWX\n" "F6EXV\n" "F6EZF\n" "F6EZR\n" "F6EZV\n" "F6FCM\n" "F6FDR\n" "F6FGB\n" "F6FHO\n" "F6FLU\n" "F6FNA\n" "F6FNL\n" "F6FTB\n" "F6FYA\n" "F6FYD\n" "F6GCI\n" "F6GEO\n" "F6GGO\n" "F6GID\n" "F6GIN\n" "F6GMT\n" "F6GNZ\n" "F6GOE\n" "F6GOX\n" "F6GPT\n" "F6GQO\n" "F6GRA\n" "F6GUF\n" "F6GUU\n" "F6GYF\n" "F6GYU\n" "F6HAC\n" "F6HBR\n" "F6HGC\n" "F6HHR\n" "F6HIA\n" "F6HIQ\n" "F6HKA\n" "F6HKO\n" "F6HMJ\n" "F6HMQ\n" "F6HQP\n" "F6HQY\n" "F6HRP\n" "F6HZS\n" "F6IFJ\n" "F6IGS\n" "F6IIT\n" "F6IOC\n" "F6IPQ\n" "F6IQA\n" "F6IRA\n" "F6IRF\n" "F6IRG\n" "F6IRS\n" "F6ISQ\n" "F6IZZ\n" "F6JOE\n" "F6JOE/P\n" "F6JXR\n" "F6KAR\n" "F6KBF\n" "F6KCP\n" "F6KDL\n" "F6KFA\n" "F6KFI\n" "F6KFV\n" "F6KHM\n" "F6KMX\n" "F6KNB\n" "F6KOH\n" "F6KPQ\n" "F6KPQ/P\n" "F6KRK\n" "F6KSV\n" "F6KUJ\n" "F6KUM/P\n" "F6PTT\n" "F8AAB\n" "F8AEE\n" "F8AFC\n" "F8AKC\n" "F8AKS\n" "F8AOF\n" "F8AQK\n" "F8AQT\n" "F8ASG\n" "F8ATM\n" "F8ATS\n" "F8BBL\n" "F8BBT\n" "F8BCS\n" "F8BDX\n" "F8BFU\n" "F8BJI\n" "F8BMG\n" "F8BMX\n" "F8BNN\n" "F8BNV\n" "F8BOJ\n" "F8BPN\n" "F8BUO\n" "F8BUY\n" "F8BXI\n" "F8CDM\n" "F8CED\n" "F8CFU\n" "F8CGL\n" "F8CHK\n" "F8CIL\n" "F8CJS\n" "F8CKH\n" "F8CMF\n" "F8CRH\n" "F8CRS\n" "F8DBF\n" "F8DEG\n" "F8DFP\n" "F8DHA\n" "F8DHB\n" "F8DHE\n" "F8DJV\n" "F8DKG\n" "F8DML\n" "F8DNX\n" "F8DOR\n" "F8DRE\n" "F8DVD\n" "F8DYD\n" "F8DZU\n" "F8DZY\n" "F8EBY\n" "F8EEQ\n" "F8EMH\n" "F8EOI\n" "F8EZE\n" "F8FGZ\n" "F8FKD\n" "F8FLK\n" "F8FQJ\n" "F8FSK\n" "F8FSN\n" "F8FWM\n" "F8FY\n" "F8IXZ\n" "F8JZR\n" "F8KA\n" "F8KCF\n" "F8KDX\n" "F8KGH\n" "F8KGL/P\n" "F8KHW\n" "F8KHW/P\n" "F8KKH\n" "F8LKU\n" "F8MRQ\n" "F8NAN\n" "F8NUH\n" "F8NZQ\n" "F8PMO\n" "F8UG\n" "F8VNU\n" "F8VNZ\n" "F8VOA\n" "F8XH\n" "F8XX\n" "F8ZW\n" "F9CI\n" "F9CZ\n" "F9DK\n" "F9EW\n" "F9GN\n" "F9IE\n" "F9JS\n" "F9KP\n" "F9NF\n" "F9OB\n" "F9OE\n" "F9OQ\n" "F9WT\n" "FG1GW\n" "FG1PP\n" "FG5FI\n" "FG5KC\n" "FG5LA\n" "FG8AR\n" "FJ/VE3EY\n" "FJ/WJ2O\n" "FK8CP\n" "FK8GM\n" "FK8KAB\n" "FM1AG\n" "FM1FV\n" "FM1HN\n" "FM1II\n" "FM5AN\n" "FM5BH\n" "FM5CD\n" "FM5CW\n" "FM5DN\n" "FM5FJ\n" "FM5KC\n" "FM5LD\n" "FM5WD\n" "FM5WE\n" "FO/N6JA\n" "FO5RH\n" "FO8RZ\n" "FR1AN\n" "FR1GZ\n" "FR5GS\n" "FS5KA\n" "FT5GA\n" "FY/LA0BY\n" "FY5FY\n" "FY5KE\n" "G/SP4BHD\n" "G0AAA\n" "G0ABY\n" "G0ADH\n" "G0AEV\n" "G0AJJ\n" "G0AKF\n" "G0AOJ\n" "G0AOL\n" "G0AOZ\n" "G0ARL\n" "G0ATG\n" "G0AZE\n" "G0AZH\n" "G0AZS\n" "G0BFJ\n" "G0BHK\n" "G0BLB\n" "G0BNR\n" "G0BRC\n" "G0BWB\n" "G0BYJ\n" "G0CER\n" "G0CGL\n" "G0CKP\n" "G0CKV\n" "G0CLP\n" "G0CLP/P\n" "G0CMP\n" "G0CPA\n" "G0CTR\n" "G0CXW\n" "G0DAY\n" "G0DBE\n" "G0DCK\n" "G0DKL\n" "G0DQS\n" "G0DRM\n" "G0DVJ\n" "G0DWO\n" "G0DWV\n" "G0DZM\n" "G0ECJ\n" "G0EFO\n" "G0EIG\n" "G0EML\n" "G0EVQ\n" "G0EYO\n" "G0EYR\n" "G0FBY\n" "G0FDJ\n" "G0FDU\n" "G0FHM\n" "G0FJS\n" "G0FPU\n" "G0FUN\n" "G0FWX\n" "G0FYX\n" "G0FZI\n" "G0GDA\n" "G0GDU\n" "G0GFQ\n" "G0GIS\n" "G0GJS\n" "G0GKH\n" "G0GMS\n" "G0HDB\n" "G0HDV\n" "G0HIO\n" "G0HIS\n" "G0HIZ\n" "G0HJK\n" "G0HMN\n" "G0HOF\n" "G0HSA\n" "G0HVQ\n" "G0HZG\n" "G0IBN\n" "G0ICJ\n" "G0IDA\n" "G0IEE\n" "G0IIQ\n" "G0IUM\n" "G0IVZ\n" "G0IYH\n" "G0JHC\n" "G0JJG\n" "G0JKY\n" "G0JVT\n" "G0KBL\n" "G0KBY\n" "G0KDS\n" "G0KDZ\n" "G0KGU\n" "G0KJP\n" "G0KOM\n" "G0KRT\n" "G0KSC\n" "G0KYA\n" "G0KYS\n" "G0LGJ\n" "G0LGS\n" "G0LHZ\n" "G0LMX\n" "G0LRX\n" "G0LVX\n" "G0LWU\n" "G0LZL\n" "G0LZY\n" "G0MBP\n" "G0MHC\n" "G0MLY\n" "G0MMI\n" "G0MNN\n" "G0MPR\n" "G0MRH\n" "G0MRY\n" "G0MTF/P\n" "G0MTN\n" "G0MUR\n" "G0NDE\n" "G0NFH\n" "G0NOR\n" "G0NSL\n" "G0NUZ\n" "G0NXA\n" "G0NZI\n" "G0OGD\n" "G0OIL\n" "G0OKD\n" "G0OKF\n" "G0OMS\n" "G0ONH\n" "G0OPB\n" "G0OPH\n" "G0ORC\n" "G0ORH\n" "G0ORS\n" "G0OTT\n" "G0PCF\n" "G0PHY\n" "G0PPM\n" "G0PSE\n" "G0PVR\n" "G0PZA\n" "G0RAF\n" "G0RAH\n" "G0REK\n" "G0RGJ\n" "G0RIF\n" "G0RPM\n" "G0RQL\n" "G0RRM\n" "G0RSQ\n" "G0RWW\n" "G0RXA\n" "G0SNG\n" "G0THY\n" "G0TKZ\n" "G0TMX\n" "G0TOC\n" "G0TPH\n" "G0TRB\n" "G0TSM\n" "G0TYS\n" "G0TZZ\n" "G0UAN\n" "G0UCH\n" "G0UCP\n" "G0UGO\n" "G0UII\n" "G0UIQ\n" "G0UKB\n" "G0UKN\n" "G0UKX\n" "G0UQC\n" "G0UUT\n" "G0UZL\n" "G0UZP\n" "G0VDZ\n" "G0VGS\n" "G0VJG\n" "G0VOF\n" "G0VOK\n" "G0VTI\n" "G0VVE\n" "G0VXC\n" "G0VXE\n" "G0WAT\n" "G0WFK\n" "G0WHO\n" "G0WPH\n" "G0WPX\n" "G0WSA\n" "G0WSC\n" "G0WWD\n" "G0WWF\n" "G0XDI\n" "G0YYY\n" "G1A\n" "G1BHR\n" "G1DJI\n" "G1DYN\n" "G1FON\n" "G1HHD\n" "G1HJW\n" "G1HLT\n" "G1ISN\n" "G1KFB\n" "G1KHX\n" "G1MIE\n" "G1N\n" "G1OCN\n" "G1OCR\n" "G1PIE\n" "G1PIR\n" "G1RSC\n" "G1RVP\n" "G1SMT\n" "G1SSL\n" "G1T\n" "G1TIF\n" "G1TZC\n" "G1UGH\n" "G1UNQ\n" "G1UZD\n" "G1VDP\n" "G1VNV\n" "G1WMJ\n" "G1XKZ\n" "G1XOW\n" "G1YLE\n" "G1YTV\n" "G1ZQN\n" "G2AA\n" "G2ACN\n" "G2AFV\n" "G2B\n" "G2BKZ\n" "G2BOF\n" "G2DWB\n" "G2F\n" "G2FM\n" "G2FSR\n" "G2HDR\n" "G2HKU\n" "G2JL\n" "G2KF\n" "G2PA\n" "G2PB\n" "G2W\n" "G2YL\n" "G3ASG\n" "G3B\n" "G3BBR\n" "G3BDQ\n" "G3BFP\n" "G3BJ\n" "G3CCO\n" "G3CSA\n" "G3CWW\n" "G3DCZ\n" "G3DGW\n" "G3EKJ\n" "G3ESY\n" "G3FNZ\n" "G3FPQ\n" "G3FYX\n" "G3GAF\n" "G3GEJ\n" "G3GGS\n" "G3GHN\n" "G3GJX\n" "G3GLL\n" "G3HAL\n" "G3HEJ\n" "G3HGE\n" "G3HMB\n" "G3HQT\n" "G3HRH\n" "G3HTA\n" "G3IAF\n" "G3ICO\n" "G3IEW\n" "G3IFB\n" "G3IGU\n" "G3IGZ\n" "G3IJA\n" "G3IJL\n" "G3ILO\n" "G3ILO/P\n" "G3IOE\n" "G3IQF\n" "G3ITH\n" "G3IZD\n" "G3JDT\n" "G3JFS\n" "G3JHS\n" "G3JIR\n" "G3JJG\n" "G3JJZ\n" "G3JKB\n" "G3JKY\n" "G3JMJ\n" "G3JMZ\n" "G3JNB\n" "G3JRM\n" "G3JUL\n" "G3JUX\n" "G3JXC\n" "G3JZL\n" "G3KAF\n" "G3KDP\n" "G3KIP\n" "G3KKJ\n" "G3KKP\n" "G3KLH\n" "G3KLO\n" "G3KLP\n" "G3KMA\n" "G3KMG\n" "G3KMQ\n" "G3KNU\n" "G3KOJ\n" "G3KOZ\n" "G3KSU\n" "G3KTH\n" "G3KTZ\n" "G3KWK\n" "G3KWY\n" "G3KYF\n" "G3KZR\n" "G3LAS\n" "G3LAZ\n" "G3LCS\n" "G3LDI\n" "G3LET\n" "G3LHJ\n" "G3LHS\n" "G3LIK\n" "G3LKY/P\n" "G3LKZ\n" "G3LLK\n" "G3LME\n" "G3LNC\n" "G3LNP\n" "G3LPS\n" "G3LPU\n" "G3LQP\n" "G3LUA\n" "G3LUW\n" "G3LVP\n" "G3LZQ\n" "G3MCK\n" "G3MEA\n" "G3MIR\n" "G3MLO\n" "G3MPB\n" "G3MUO\n" "G3MXH\n" "G3MYI\n" "G3MZV\n" "G3NAE\n" "G3NBC\n" "G3NCN\n" "G3NDC\n" "G3NDJ\n" "G3NEO\n" "G3NFB\n" "G3NHL\n" "G3NIC\n" "G3NKC\n" "G3NKQ\n" "G3NKS\n" "G3NLY\n" "G3NOH\n" "G3NPF\n" "G3NPZ\n" "G3NUG\n" "G3NWG\n" "G3NXT\n" "G3NYY\n" "G3NYY/P\n" "G3OAG\n" "G3OAY\n" "G3OCA\n" "G3OFA\n" "G3OGP\n" "G3OKA\n" "G3OLB\n" "G3OND\n" "G3ONQ\n" "G3OOU\n" "G3ORP\n" "G3ORY\n" "G3OTK/P\n" "G3OWO\n" "G3P\n" "G3PDH\n" "G3PGA\n" "G3PHO\n" "G3PHS\n" "G3PIA\n" "G3PJK\n" "G3PJT\n" "G3PLP\n" "G3PQA\n" "G3PSM\n" "G3PXT\n" "G3PYI\n" "G3PYM\n" "G3RAU\n" "G3RCE\n" "G3RGD\n" "G3RHH\n" "G3RIK\n" "G3RIR\n" "G3RKJ\n" "G3RLE\n" "G3RMD\n" "G3RPB\n" "G3RSD\n" "G3RTE\n" "G3RTU\n" "G3RTY\n" "G3RUO\n" "G3RVM\n" "G3RWF\n" "G3RWL\n" "G3RXP\n" "G3RXQ\n" "G3RZF\n" "G3SDC\n" "G3SED\n" "G3SEM\n" "G3SEN\n" "G3SET\n" "G3SGC\n" "G3SHF\n" "G3SJJ\n" "G3SJX\n" "G3SNN\n" "G3SNU\n" "G3SQH\n" "G3SVD\n" "G3SVK\n" "G3SVL\n" "G3SWC\n" "G3SWH\n" "G3SYM\n" "G3SZS\n" "G3SZU\n" "G3TA\n" "G3TBK\n" "G3TBU\n" "G3TDH\n" "G3TEV\n" "G3TEX\n" "G3TJE\n" "G3TKF\n" "G3TKK\n" "G3TLH\n" "G3TLY\n" "G3TQZ\n" "G3TTH\n" "G3TTJ\n" "G3TVW\n" "G3TWG\n" "G3TXF\n" "G3TXZ\n" "G3TZM\n" "G3UAA\n" "G3UAS\n" "G3UD\n" "G3UDA\n" "G3UEG\n" "G3UFY\n" "G3UHU\n" "G3UJE\n" "G3UKV\n" "G3ULN\n" "G3UML\n" "G3UMT\n" "G3USE\n" "G3UUV\n" "G3UYD\n" "G3UZD\n" "G3UZM\n" "G3V\n" "G3VA\n" "G3VAJ\n" "G3VAO\n" "G3VCA\n" "G3VCQ\n" "G3VCR\n" "G3VDB\n" "G3VDL\n" "G3VER\n" "G3VGR\n" "G3VIP\n" "G3VIR\n" "G3VKW\n" "G3VMW\n" "G3VMY\n" "G3VOF\n" "G3VOT\n" "G3VOU\n" "G3VPS\n" "G3VPW\n" "G3VQO\n" "G3VTT\n" "G3VUS\n" "G3VWH\n" "G3VXJ\n" "G3VYF\n" "G3VYI\n" "G3VZM\n" "G3WAB\n" "G3WCQ\n" "G3WCY\n" "G3WDS\n" "G3WEF\n" "G3WFM\n" "G3WGV\n" "G3WKL\n" "G3WKZ\n" "G3WMX\n" "G3WPD\n" "G3WPF\n" "G3WPH\n" "G3WRR\n" "G3WVG\n" "G3WVO\n" "G3WW\n" "G3WWS\n" "G3WYN\n" "G3WYW\n" "G3WZT\n" "G3XAN\n" "G3XAP\n" "G3XAQ\n" "G3XDY\n" "G3XGC\n" "G3XGD\n" "G3XLB\n" "G3XLL\n" "G3XLW\n" "G3XMM\n" "G3XOV\n" "G3XPO\n" "G3XSD\n" "G3XSV\n" "G3XTT\n" "G3XUD\n" "G3XVF\n" "G3XVN\n" "G3XVR\n" "G3XXH\n" "G3XYC\n" "G3XYF\n" "G3XYP\n" "G3XZG\n" "G3XZQ\n" "G3YAJ\n" "G3YBO\n" "G3YBT\n" "G3YBY\n" "G3YEC\n" "G3YER\n" "G3YEU\n" "G3YFE\n" "G3YHV\n" "G3YIQ\n" "G3YJD\n" "G3YMC\n" "G3YNN\n" "G3YOA\n" "G3YOG\n" "G3YPE\n" "G3YPN\n" "G3YRC\n" "G3YRO\n" "G3YTY\n" "G3YXX\n" "G3YYD\n" "G3YYZ\n" "G3Z\n" "G3ZAY\n" "G3ZBU\n" "G3ZDF\n" "G3ZFC\n" "G3ZGC\n" "G3ZGC/A\n" "G3ZHE\n" "G3ZKN\n" "G3ZNH\n" "G3ZNR\n" "G3ZOH\n" "G3ZQH\n" "G3ZQQ\n" "G3ZRJ\n" "G3ZRS\n" "G3ZSE\n" "G3ZSS\n" "G3ZVW\n" "G4ABX\n" "G4ACS\n" "G4ADJ\n" "G4AEH\n" "G4AFJ\n" "G4AFS\n" "G4AFU\n" "G4AHJ\n" "G4AHK\n" "G4AJC\n" "G4ALA\n" "G4ALD\n" "G4ALH\n" "G4AMN\n" "G4AMT\n" "G4AON\n" "G4APO\n" "G4AQG\n" "G4AQK\n" "G4ARI\n" "G4ARN\n" "G4ASR\n" "G4ATA\n" "G4AXX\n" "G4AYR\n" "G4AZN\n" "G4BEE\n" "G4BJG\n" "G4BJM\n" "G4BUE\n" "G4BUO\n" "G4BVB\n" "G4BVY\n" "G4BWF\n" "G4BXT\n" "G4BYG\n" "G4BZP\n" "G4C\n" "G4CCZ\n" "G4CFW\n" "G4CGG\n" "G4CI\n" "G4CKH\n" "G4CLA\n" "G4CLN\n" "G4CMQ\n" "G4CUS\n" "G4CVC\n" "G4CWH\n" "G4CXQ\n" "G4CYB\n" "G4CZB\n" "G4CZP\n" "G4DBW\n" "G4DBX\n" "G4DCV\n" "G4DDL\n" "G4DDS\n" "G4DDX\n" "G4DFI\n" "G4DJC\n" "G4DJJ\n" "G4DJX\n" "G4DOQ\n" "G4DRS\n" "G4DSD\n" "G4DYC\n" "G4DYO\n" "G4DZL\n" "G4DZW\n" "G4EBK\n" "G4EDD\n" "G4EDG\n" "G4EGU\n" "G4EHN\n" "G4EHT\n" "G4EKT\n" "G4ELJ\n" "G4ELY\n" "G4ELZ\n" "G4ENZ\n" "G4EOF/P\n" "G4ERW\n" "G4EZR\n" "G4EZT\n" "G4EZV\n" "G4FAD\n" "G4FAL\n" "G4FFE\n" "G4FFN\n" "G4FKA\n" "G4FKG\n" "G4FKH\n" "G4FMO\n" "G4FNL\n" "G4FOC\n" "G4FON\n" "G4FPA\n" "G4FQF\n" "G4FSU\n" "G4FTC\n" "G4FTP\n" "G4FUF\n" "G4FVK\n" "G4GEE\n" "G4GIR\n" "G4GLV\n" "G4GMW\n" "G4GVB\n" "G4GVN\n" "G4HEE\n" "G4HFP\n" "G4HHJ\n" "G4HHX\n" "G4HOM\n" "G4HUN\n" "G4HVC\n" "G4HZV\n" "G4IDR\n" "G4IIY\n" "G4IKR\n" "G4ILO\n" "G4IOG\n" "G4IUF\n" "G4IUP\n" "G4IWO\n" "G4IXF\n" "G4JKZ\n" "G4JRY\n" "G4JSR\n" "G4JZO\n" "G4KEE\n" "G4KFT\n" "G4KGL\n" "G4KHG\n" "G4KHM\n" "G4KIU\n" "G4KKI\n" "G4KLF\n" "G4KMH\n" "G4KNO\n" "G4KPN\n" "G4KRN\n" "G4KTZ\n" "G4KUE\n" "G4KZD\n" "G4LDL\n" "G4LIR\n" "G4LJU\n" "G4LMW\n" "G4LMX\n" "G4LPD\n" "G4LRP\n" "G4LWB\n" "G4LYM\n" "G4MEM\n" "G4MKP\n" "G4MKR\n" "G4MLA\n" "G4MUL\n" "G4MZJ\n" "G4NDM\n" "G4NFS\n" "G4NJW\n" "G4NKT\n" "G4NLH\n" "G4NXG\n" "G4OBB\n" "G4OBC\n" "G4OBK\n" "G4OCO\n" "G4OEC\n" "G4OFY\n" "G4OGB\n" "G4OJB\n" "G4OJS\n" "G4OPL\n" "G4ORC\n" "G4OSB\n" "G4OWG\n" "G4OWT\n" "G4OYC\n" "G4PBP\n" "G4PEF\n" "G4PIQ\n" "G4PLE\n" "G4PLY\n" "G4PNC\n" "G4POF\n" "G4PTJ\n" "G4PWA\n" "G4RCD\n" "G4RCG\n" "G4RFC\n" "G4RFR\n" "G4RGK\n" "G4RKO\n" "G4RLS\n" "G4RNK\n" "G4RQI\n" "G4RRA\n" "G4RRM\n" "G4RUW\n" "G4RWD\n" "G4RYV\n" "G4SGI\n" "G4SJG\n" "G4SJX\n" "G4SMD\n" "G4SNU\n" "G4SOF\n" "G4STH\n" "G4TNB\n" "G4TPO\n" "G4TQF\n" "G4TSH\n" "G4TSN\n" "G4UDU\n" "G4UEL\n" "G4UFK\n" "G4UFU\n" "G4UJS\n" "G4UKP\n" "G4UZN\n" "G4VCJ\n" "G4VFG\n" "G4VHH\n" "G4VMM\n" "G4VMX\n" "G4VSS\n" "G4VTO\n" "G4VUA\n" "G4VUD\n" "G4VXE\n" "G4VZR\n" "G4WBV\n" "G4WFQ\n" "G4WGE\n" "G4WPD\n" "G4WQZ\n" "G4WUG\n" "G4WXZ\n" "G4WZI\n" "G4XEX\n" "G4XFA\n" "G4XPE\n" "G4XRV\n" "G4XRX\n" "G4YAQ\n" "G4YLO\n" "G4YPV\n" "G4YRF\n" "G4YRU\n" "G4ZCG\n" "G4ZCS\n" "G4ZFE\n" "G4ZFJ\n" "G4ZGP\n" "G4ZIB\n" "G4ZOB\n" "G4ZOY\n" "G4ZUL\n" "G4ZWX\n" "G5D\n" "G5E\n" "G5FZ\n" "G5G\n" "G5KC\n" "G5KN\n" "G5LP\n" "G5N\n" "G5O\n" "G5W\n" "G5XW\n" "G5YC\n" "G6A\n" "G6AY\n" "G6BDV\n" "G6BOX\n" "G6CSY\n" "G6EVD\n" "G6H\n" "G6IRR\n" "G6LKB\n" "G6LSO\n" "G6LUG\n" "G6MC\n" "G6NUM\n" "G6NYG\n" "G6OKU\n" "G6OTZ\n" "G6PWY\n" "G6PZ\n" "G6RGA\n" "G6SFP\n" "G6TEL\n" "G6TUH\n" "G6TW\n" "G6UBM\n" "G6UW\n" "G6VS\n" "G6WWM\n" "G6WYH\n" "G6XMI\n" "G6XN\n" "G6YEK\n" "G6YGZ\n" "G6YKT\n" "G6YTB\n" "G6ZAC\n" "G7ACV\n" "G7AGZ\n" "G7AKM\n" "G7BHU\n" "G7BRZ\n" "G7BXG\n" "G7BXU\n" "G7BZD\n" "G7CLY\n" "G7DDN\n" "G7EPN\n" "G7FHV\n" "G7FIF\n" "G7FSI\n" "G7IGB\n" "G7IJI\n" "G7ITD\n" "G7IYF\n" "G7KHV\n" "G7KMZ\n" "G7LRR\n" "G7MBH\n" "G7MEI\n" "G7MJX\n" "G7N\n" "G7NAL\n" "G7NBQ\n" "G7NKS\n" "G7NOT\n" "G7OOD\n" "G7PVZ\n" "G7RAU\n" "G7RTI\n" "G7SKR\n" "G7SOZ\n" "G7SQC\n" "G7SQW\n" "G7SSE\n" "G7TGK\n" "G7TMU\n" "G7TPL\n" "G7TWC\n" "G7UOU\n" "G7VJR\n" "G7VNN\n" "G7VRK\n" "G7WFA\n" "G7WLL\n" "G8APB\n" "G8BIG\n" "G8BUN\n" "G8CCL\n" "G8CKT\n" "G8CMU\n" "G8CUG\n" "G8DNP\n" "G8DQP\n" "G8DVK\n" "G8DYT\n" "G8ETD\n" "G8EYC\n" "G8FCQ\n" "G8FDR\n" "G8FMJ\n" "G8FMJ/P\n" "G8FRS\n" "G8GBY\n" "G8GXP\n" "G8HBS\n" "G8HGP\n" "G8HPW\n" "G8HQJ\n" "G8HXE\n" "G8HYP\n" "G8JIT\n" "G8JXV\n" "G8KEK\n" "G8KVP\n" "G8LBS\n" "G8LED\n" "G8LIK\n" "G8LOJ\n" "G8LRS\n" "G8MIA\n" "G8NRP\n" "G8OEF\n" "G8P\n" "G8PQ\n" "G8RCK\n" "G8UBJ\n" "G8ULM\n" "G8VOI\n" "G8WQE\n" "G8XDX\n" "G8XTJ\n" "G8XXJ\n" "G8ZRE\n" "G9M\n" "GA0DBW\n" "GA0FGI\n" "GA0NBM\n" "GA0WED\n" "GA2MP\n" "GA3TAL\n" "GA3WUX\n" "GA3YOR\n" "GA4AGL\n" "GA4XQJ\n" "GB2BP\n" "GB2DX\n" "GB2WCM\n" "GB50ATG\n" "GB50OT\n" "GB7HQ\n" "GC0EJE\n" "GC4KPT\n" "GD0AMD\n" "GD0IFU\n" "GD0TEP\n" "GD3TNS\n" "GD4EIP\n" "GD4IHC\n" "GD4KIN\n" "GD4WBY\n" "GD6IA\n" "GD7ARS\n" "GD8K\n" "GI0AIJ\n" "GI0EJU\n" "GI0KOV\n" "GI0KOW\n" "GI0KVQ\n" "GI0MXT\n" "GI0NCA\n" "GI0OUM\n" "GI0RQK\n" "GI0RTN\n" "GI0THZ\n" "GI0UQK\n" "GI0UVD\n" "GI3DZE\n" "GI3KDR\n" "GI3NVW\n" "GI3OQR\n" "GI3PDN\n" "GI3POS\n" "GI3SG\n" "GI4AAM\n" "GI4BQI\n" "GI4CFQ\n" "GI4DOH\n" "GI4DYE\n" "GI4EBS\n" "GI4FUE\n" "GI4FUM\n" "GI4JTF\n" "GI4KSH\n" "GI4KSO\n" "GI4MWA\n" "GI4NKB\n" "GI4OWA\n" "GI4SJQ\n" "GI4SNA\n" "GI4SZW\n" "GI4VIV\n" "GI4WXA\n" "GI4XSF\n" "GI5K\n" "GI6DEY\n" "GI6FHD\n" "GI7AXB\n" "GI7THH\n" "GI8HXY\n" "GI8SKN\n" "GJ0KYZ\n" "GJ2A\n" "GJ3WW\n" "GJ3YHU\n" "GJ4CBQ\n" "GJ6YB\n" "GJ7DNI\n" "GM0ADX\n" "GM0AXY\n" "GM0B\n" "GM0CDV\n" "GM0DBW\n" "GM0EGI\n" "GM0EKM\n" "GM0ELP\n" "GM0F\n" "GM0FGI\n" "GM0FNE\n" "GM0FSV\n" "GM0GAV\n" "GM0GMN\n" "GM0GOV\n" "GM0IIO\n" "GM0KWW\n" "GM0NAI\n" "GM0NBM\n" "GM0NKX\n" "GM0OAA\n" "GM0OGN\n" "GM0ONX\n" "GM0OQV\n" "GM0RML\n" "GM0SCA\n" "GM0TQJ\n" "GM0UDL\n" "GM0UUB\n" "GM0VIT\n" "GM0VRP\n" "GM0WED\n" "GM1DSK\n" "GM1F\n" "GM1FLQ\n" "GM1J\n" "GM1POA\n" "GM1SRX\n" "GM2T\n" "GM2V\n" "GM3AXI\n" "GM3C\n" "GM3CFS\n" "GM3FDN\n" "GM3ITN\n" "GM3JKS\n" "GM3JOB\n" "GM3JQJ\n" "GM3JSX\n" "GM3LKY\n" "GM3LKY/P\n" "GM3MZX\n" "GM3NHQ\n" "GM3NSQ\n" "GM3OXX\n" "GM3OZB\n" "GM3POI\n" "GM3PPG\n" "GM3SEK\n" "GM3SVW\n" "GM3T\n" "GM3TCW\n" "GM3UA\n" "GM3UHT\n" "GM3VNW\n" "GM3VTY\n" "GM3W\n" "GM3WIJ\n" "GM3WIL\n" "GM3WOJ\n" "GM3WUX\n" "GM3YEH\n" "GM3YOR\n" "GM3YS\n" "GM3YTS\n" "GM3ZBE\n" "GM3ZRT\n" "GM3ZXL\n" "GM4AFF\n" "GM4AGL\n" "GM4BKV\n" "GM4BRN\n" "GM4CXM\n" "GM4DZX\n" "GM4ELV\n" "GM4ESD\n" "GM4EVS\n" "GM4FAM\n" "GM4FDM\n" "GM4FFF\n" "GM4HQF\n" "GM4IKT\n" "GM4JR\n" "GM4JYB\n" "GM4KGK\n" "GM4KLN\n" "GM4NTL\n" "GM4OSS\n" "GM4SDQ\n" "GM4SID\n" "GM4TAL\n" "GM4UBJ\n" "GM4ULS\n" "GM4UYE\n" "GM4UYZ\n" "GM4W\n" "GM4WIE\n" "GM4WLN\n" "GM4XQJ\n" "GM4YLN\n" "GM4YSN\n" "GM4YXI\n" "GM4ZJI\n" "GM4ZNC\n" "GM4ZUK\n" "GM5A\n" "GM5M\n" "GM6MD\n" "GM6NX\n" "GM6VCV\n" "GM6VVG\n" "GM7A\n" "GM7AAJ\n" "GM7DAJ\n" "GM7KFS\n" "GM7OAW\n" "GM7R\n" "GM7TFN\n" "GM7TUD\n" "GM7UAU\n" "GM7V\n" "GM7VSB/P\n" "GM8GAX\n" "GM8LFB\n" "GM8SBH\n" "GR2HQ\n" "GS0TOW\n" "GS8R\n" "GU0SUP\n" "GU4CHY\n" "GU4EON\n" "GU4RUK\n" "GU4YOX\n" "GU6EFB\n" "GW0ANA\n" "GW0ARK\n" "GW0ETF\n" "GW0FEU\n" "GW0GEI\n" "GW0IRP\n" "GW0IWD\n" "GW0LBI\n" "GW0LKJ\n" "GW0MOW\n" "GW0NPL\n" "GW0RYT\n" "GW0TSM\n" "GW0UDJ\n" "GW0UZK\n" "GW0VSW\n" "GW0VWD\n" "GW0WGK\n" "GW1CJJ\n" "GW1IOT\n" "GW1MVZ\n" "GW1PJP\n" "GW1VDW\n" "GW3CBA\n" "GW3HGL\n" "GW3JSV\n" "GW3JXN\n" "GW3KDB\n" "GW3KGV\n" "GW3LDC\n" "GW3LEW\n" "GW3LNR\n" "GW3MCS\n" "GW3NAS\n" "GW3NJW\n" "GW3R\n" "GW3SFC\n" "GW3SQX\n" "GW3UOF\n" "GW3XRM\n" "GW3YAF\n" "GW3YBX\n" "GW3YDX\n" "GW3YRP\n" "GW3YVC\n" "GW4AYJ\n" "GW4BKG\n" "GW4BLE\n" "GW4BVE\n" "GW4BZD\n" "GW4CQZ\n" "GW4EVX\n" "GW4HDF\n" "GW4MVA\n" "GW4OGO\n" "GW4OH\n" "GW4RDW\n" "GW4RIB\n" "GW4SKA\n" "GW4TPG\n" "GW5NF\n" "GW6JBN\n" "GW6NKG\n" "GW6PMC\n" "GW6W\n" "GW7BZR\n" "GW7ERI\n" "GW7X\n" "GW8GT\n" "GW8IQC\n" "GW8IZR\n" "GW8JOY\n" "GW8NBI\n" "GW9T\n" "GX3YNN\n" "GX4BJC/A\n" "GX4BJC/P\n" "GZ0F\n" "GZ5Y\n" "H22H\n" "H2E\n" "H2Q\n" "H2T\n" "H44MS\n" "H44MY\n" "H7A\n" "HA/YO5KAD/P\n" "HA0ANA\n" "HA0BW\n" "HA0BY\n" "HA0DD\n" "HA0ER\n" "HA0GK\n" "HA0HV\n" "HA0HW\n" "HA0IH\n" "HA0IL\n" "HA0IM\n" "HA0IT\n" "HA0IV\n" "HA0KLL\n" "HA0LC\n" "HA0LG\n" "HA0LP\n" "HA0LW\n" "HA0ML\n" "HA0MO\n" "HA0MS\n" "HA0NAR\n" "HA0NGT\n" "HA100KONE\n" "HA1A\n" "HA1AD\n" "HA1AG\n" "HA1AR\n" "HA1AV\n" "HA1BC\n" "HA1CA/P\n" "HA1CW\n" "HA1DAE\n" "HA1DK\n" "HA1FF\n" "HA1Q\n" "HA1RS\n" "HA1SD\n" "HA1SN\n" "HA1SU\n" "HA1TAB\n" "HA1TI\n" "HA1TNX\n" "HA1TO\n" "HA1VE\n" "HA1WD\n" "HA1XU\n" "HA1XY\n" "HA1YI\n" "HA1ZH\n" "HA1ZU\n" "HA1ZV\n" "HA1ZZ\n" "HA25NAR\n" "HA2EBE\n" "HA2EOA\n" "HA2EOD\n" "HA2EOJ\n" "HA2EQD\n" "HA2ERO\n" "HA2ESM\n" "HA2G\n" "HA2MJ\n" "HA2MN\n" "HA2NM\n" "HA2PP\n" "HA2QW\n" "HA2R\n" "HA2RQ\n" "HA2SG\n" "HA2SJ\n" "HA2VH\n" "HA2VR/P\n" "HA2YL\n" "HA3/N1BCL\n" "HA3DMF\n" "HA3DX\n" "HA3E\n" "HA3FT\n" "HA3FTA\n" "HA3FZ\n" "HA3GE\n" "HA3GJ\n" "HA3GN\n" "HA3GO\n" "HA3GQ\n" "HA3HF\n" "HA3HK\n" "HA3HO\n" "HA3HX\n" "HA3JB\n" "HA3JO\n" "HA3LGB\n" "HA3LI\n" "HA3LN\n" "HA3MN\n" "HA3MU\n" "HA3MY\n" "HA3NU\n" "HA3OD\n" "HA3OK\n" "HA3OU\n" "HA3OV\n" "HA3PT\n" "HA3RD\n" "HA3UU\n" "HA3YE\n" "HA4AA\n" "HA4FB\n" "HA4FV\n" "HA4FY\n" "HA4YF\n" "HA4YO\n" "HA5AB\n" "HA5AEZ\n" "HA5AF\n" "HA5AGS\n" "HA5AO\n" "HA5AQ\n" "HA5ARX\n" "HA5AWT\n" "HA5AZZ\n" "HA5BA\n" "HA5BKV/P\n" "HA5BPS/P\n" "HA5BSW\n" "HA5BVG\n" "HA5CQ\n" "HA5DA\n" "HA5DE\n" "HA5FA\n" "HA5FM\n" "HA5FQ\n" "HA5GN\n" "HA5GO\n" "HA5GY\n" "HA5HH\n" "HA5JI\n" "HA5KDQ\n" "HA5KG\n" "HA5KID\n" "HA5KKC\n" "HA5KN\n" "HA5KQ\n" "HA5KY\n" "HA5LV\n" "HA5LZ\n" "HA5MK\n" "HA5MO\n" "HA5NB\n" "HA5OAF\n" "HA5OB\n" "HA5OM\n" "HA5OMM\n" "HA5OO\n" "HA5OV\n" "HA5OW\n" "HA5PP\n" "HA5PT\n" "HA5RDP\n" "HA5TI\n" "HA5UA\n" "HA5UK\n" "HA5UY\n" "HA5VJ\n" "HA5VZ\n" "HA5W\n" "HA5WA\n" "HA5X\n" "HA6D\n" "HA6FQ\n" "HA6IAM\n" "HA6IAY\n" "HA6ICP\n" "HA6IGM\n" "HA6KNX\n" "HA6KZS\n" "HA6M\n" "HA6NF\n" "HA6NI\n" "HA6NL\n" "HA6NN\n" "HA6NW\n" "HA6NY\n" "HA6OA\n" "HA6OD\n" "HA6OL\n" "HA6OZ\n" "HA6PF\n" "HA6PJ\n" "HA6PQ\n" "HA6PS/P\n" "HA6PX\n" "HA6QR\n" "HA6VA\n" "HA6VB\n" "HA6WTM/P\n" "HA6XA\n" "HA6ZQ\n" "HA7A\n" "HA7AVU\n" "HA7CN\n" "HA7GN\n" "HA7JDV\n" "HA7JQK\n" "HA7LW\n" "HA7MB\n" "HA7ML\n" "HA7MS\n" "HA7MW\n" "HA7MY\n" "HA7NK\n" "HA7PF\n" "HA7PL\n" "HA7PO\n" "HA7RY\n" "HA7SBQ\n" "HA7SG\n" "HA7SQ\n" "HA7TM\n" "HA7UG\n" "HA7UI\n" "HA7UL\n" "HA7UW\n" "HA7VK\n" "HA7YS\n" "HA7ZT\n" "HA8A\n" "HA8AAA\n" "HA8AL\n" "HA8AR\n" "HA8BE\n" "HA8BQ\n" "HA8BR\n" "HA8BT\n" "HA8CQ\n" "HA8DM\n" "HA8DT\n" "HA8EK\n" "HA8EN\n" "HA8EV\n" "HA8FK\n" "HA8FM\n" "HA8GT\n" "HA8GY\n" "HA8IB\n" "HA8IC\n" "HA8IE\n" "HA8IH\n" "HA8JP\n" "HA8JV\n" "HA8KCS\n" "HA8KVK\n" "HA8KW\n" "HA8LKM\n" "HA8LLK\n" "HA8LNA\n" "HA8LNN\n" "HA8MD\n" "HA8MT\n" "HA8MV\n" "HA8PH\n" "HA8QB\n" "HA8QC\n" "HA8QZ\n" "HA8RC\n" "HA8RJ\n" "HA8RM\n" "HA8SSG\n" "HA8TI\n" "HA8TP\n" "HA8UT\n" "HA8V\n" "HA8VK\n" "HA8VX\n" "HA8WO\n" "HA8WP\n" "HA8WY\n" "HA8WZ\n" "HA8YU\n" "HA8ZB\n" "HA9DMD\n" "HA9PP\n" "HA9RC\n" "HA9RE\n" "HA9RT\n" "HA9RU\n" "HA9SU\n" "HB0/DH2FW\n" "HB0/DJ9CB\n" "HB0/DK4YJ\n" "HB0/DK9FEC\n" "HB0/DK9TN\n" "HB0/F5LMJ\n" "HB0/HB9AON\n" "HB0/HB9LCW\n" "HB0CC\n" "HB10DX\n" "HB3YAV\n" "HB3YDJ\n" "HB3YFC\n" "HB3YRB\n" "HB3YSC\n" "HB3YUL\n" "HB3YVF\n" "HB3YVZ\n" "HB4FE\n" "HB4FL\n" "HB8AD\n" "HB9AA\n" "HB9AAL\n" "HB9AAP\n" "HB9AAQ\n" "HB9AAY\n" "HB9AAZ\n" "HB9ABB\n" "HB9ACC\n" "HB9ADC\n" "HB9AEP\n" "HB9AEV\n" "HB9AFH\n" "HB9AFI\n" "HB9AGA\n" "HB9AGH\n" "HB9AGO\n" "HB9AII\n" "HB9AIY\n" "HB9AJ\n" "HB9AJG\n" "HB9AJM\n" "HB9AJP\n" "HB9AJW\n" "HB9AKB\n" "HB9ALH\n" "HB9ALO\n" "HB9AMB\n" "HB9AMO\n" "HB9ANJ\n" "HB9ANM\n" "HB9AON\n" "HB9APJ\n" "HB9AQA\n" "HB9AQW\n" "HB9ARF\n" "HB9ARK\n" "HB9ATG\n" "HB9ATX\n" "HB9AUK\n" "HB9AUS\n" "HB9AVE\n" "HB9AVK\n" "HB9AWS\n" "HB9AYZ\n" "HB9AZZ\n" "HB9BAP\n" "HB9BEI\n" "HB9BGF\n" "HB9BHW\n" "HB9BIN\n" "HB9BIQ\n" "HB9BJJ\n" "HB9BJL\n" "HB9BLQ\n" "HB9BMY\n" "HB9BNK\n" "HB9BOO\n" "HB9BOS\n" "HB9BPV\n" "HB9BPX\n" "HB9BQP\n" "HB9BQY\n" "HB9BRJ\n" "HB9BRU\n" "HB9BTI\n" "HB9BTQ\n" "HB9BXE\n" "HB9BXQ\n" "HB9BYQ\n" "HB9BZA\n" "HB9CA\n" "HB9CAL\n" "HB9CAT\n" "HB9CBR\n" "HB9CCZ\n" "HB9CEI\n" "HB9CEX\n" "HB9CEY\n" "HB9CFU\n" "HB9CGL\n" "HB9CGO\n" "HB9CHY\n" "HB9CIC\n" "HB9CIK\n" "HB9CIN\n" "HB9CIP\n" "HB9CKM\n" "HB9CMG\n" "HB9CNR\n" "HB9CNU\n" "HB9CNY\n" "HB9COH\n" "HB9COJ\n" "HB9COP\n" "HB9COZ\n" "HB9CPS\n" "HB9CQL\n" "HB9CQS\n" "HB9CRV\n" "HB9CSM\n" "HB9CUK\n" "HB9CVE\n" "HB9CVQ\n" "HB9CXR\n" "HB9CXZ\n" "HB9CYT\n" "HB9CZF\n" "HB9DA\n" "HB9DAI\n" "HB9DAX\n" "HB9DBK\n" "HB9DCL\n" "HB9DCM\n" "HB9DCQ\n" "HB9DDE\n" "HB9DDO\n" "HB9DDS\n" "HB9DDZ\n" "HB9DES\n" "HB9DFD\n" "HB9DFI\n" "HB9DHA\n" "HB9DHG\n" "HB9DNG\n" "HB9DOS\n" "HB9DPO\n" "HB9DPY\n" "HB9DQD\n" "HB9DQH\n" "HB9DQJ\n" "HB9DRI\n" "HB9DRK\n" "HB9DRM\n" "HB9DRS\n" "HB9DRT\n" "HB9DSE\n" "HB9DSU\n" "HB9DUP\n" "HB9DUR\n" "HB9DVT\n" "HB9DVZ\n" "HB9DWL\n" "HB9DWR\n" "HB9DWZ\n" "HB9EAZ\n" "HB9EBC\n" "HB9EDG\n" "HB9EE\n" "HB9EFJ\n" "HB9EFM\n" "HB9EGA/P\n" "HB9EHJ\n" "HB9EHK\n" "HB9EHN\n" "HB9EHP\n" "HB9EHV\n" "HB9EI\n" "HB9EIY\n" "HB9EIZ\n" "HB9EKR\n" "HB9ELD\n" "HB9ELF\n" "HB9ELS\n" "HB9ELV\n" "HB9EP\n" "HB9EPH\n" "HB9EPM\n" "HB9ESC\n" "HB9ESS\n" "HB9ETR\n" "HB9FAI\n" "HB9FAP\n" "HB9FAQ\n" "HB9FAW\n" "HB9FBG\n" "HB9FBM\n" "HB9FBS\n" "HB9FBU\n" "HB9FMN\n" "HB9FMT\n" "HB9FMU\n" "HB9FNE\n" "HB9FNX\n" "HB9G\n" "HB9GBJ\n" "HB9GCE\n" "HB9H\n" "HB9HFM\n" "HB9HFN\n" "HB9HI/P\n" "HB9HLM\n" "HB9HQ\n" "HB9HQA\n" "HB9HQX\n" "HB9IAB\n" "HB9ICC\n" "HB9ICG\n" "HB9IIO\n" "HB9IIY\n" "HB9IK\n" "HB9IQB\n" "HB9IQP\n" "HB9JBN\n" "HB9JF\n" "HB9JNM\n" "HB9JOE\n" "HB9JW\n" "HB9KAI\n" "HB9KAM\n" "HB9KAR\n" "HB9KBB\n" "HB9KNA\n" "HB9KNY\n" "HB9KOG\n" "HB9KT\n" "HB9LBL\n" "HB9LCW\n" "HB9LF\n" "HB9LL\n" "HB9MCF\n" "HB9MFM\n" "HB9MGX\n" "HB9MHR\n" "HB9MI\n" "HB9MXY\n" "HB9MZI\n" "HB9OAB\n" "HB9OCR\n" "HB9ODK\n" "HB9ODP\n" "HB9OK\n" "HB9ON\n" "HB9PGR\n" "HB9PJT\n" "HB9PL\n" "HB9PLW\n" "HB9PNR\n" "HB9QA\n" "HB9QR\n" "HB9QT\n" "HB9RDE\n" "HB9RE\n" "HB9RJD\n" "HB9RJG\n" "HB9ROX\n" "HB9RVE\n" "HB9SVT\n" "HB9TI\n" "HB9TKS\n" "HB9TLM\n" "HB9TMW\n" "HB9TNU\n" "HB9TNW\n" "HB9TOC\n" "HB9TON\n" "HB9TOX\n" "HB9TPK\n" "HB9TPT\n" "HB9TQL\n" "HB9TQP\n" "HB9TRD\n" "HB9TRT\n" "HB9TSA\n" "HB9TSI\n" "HB9TST\n" "HB9TSU\n" "HB9TSW\n" "HB9TTX\n" "HB9TUD\n" "HB9TUZ\n" "HB9TVR\n" "HB9TVY\n" "HB9TWS\n" "HB9TWU\n" "HB9TWZ\n" "HB9TZR\n" "HB9UU\n" "HB9VID\n" "HB9WDY\n" "HB9XAW\n" "HB9YBQ\n" "HB9YC\n" "HB9ZAG\n" "HB9ZCF\n" "HB9ZCV\n" "HB9ZE\n" "HB9ZV\n" "HB9ZY\n" "HB9ZZ\n" "HC1HC\n" "HC1JQ\n" "HC1MD\n" "HC2A\n" "HC2AD\n" "HC2AQ\n" "HC2GF\n" "HC2GO\n" "HC2GT\n" "HC2IK\n" "HC2KB\n" "HC2S\n" "HC2SA\n" "HC2SL\n" "HC5VF\n" "HC5WW\n" "HC7AE\n" "HC8A\n" "HC8GR\n" "HC8N\n" "HD2A\n" "HD2M\n" "HD5J\n" "HE8AAA\n" "HE8AFI\n" "HE8AOF\n" "HE8AUS\n" "HE8AWS\n" "HE8BIN\n" "HE8BRU\n" "HE8CIC\n" "HE8CSM\n" "HE8CUK\n" "HE8CXZ\n" "HE8CZF\n" "HE8DAX\n" "HE8DDE\n" "HE8DSY\n" "HE8DWR\n" "HE8EBC\n" "HE8EFJ\n" "HE8FAP\n" "HE8FR\n" "HE8HLM\n" "HE8MH\n" "HE8MXY\n" "HE8OK\n" "HE8PKP\n" "HE8TJM\n" "HE8TMW\n" "HE8TOC\n" "HE8TST\n" "HE8TSU\n" "HE8TUD\n" "HE8TUZ\n" "HE8WW\n" "HE8ZZ\n" "HF200C\n" "HF30CUF\n" "HF4K\n" "HF50BORY\n" "HF50OLS\n" "HF5ES\n" "HF65PW\n" "HF70M\n" "HF70W\n" "HF80B\n" "HF80IU\n" "HF80JMR\n" "HF94JEN\n" "HF94KE\n" "HG0A\n" "HG0HQ\n" "HG0R\n" "HG10P\n" "HG1848I\n" "HG1A\n" "HG1DX\n" "HG1R\n" "HG1S\n" "HG1W\n" "HG1X\n" "HG2W\n" "HG2X\n" "HG30FHA\n" "HG3A\n" "HG3DX\n" "HG3FMZ\n" "HG3IPA\n" "HG3M\n" "HG3R\n" "HG3W\n" "HG400HV\n" "HG4F\n" "HG4I\n" "HG5A\n" "HG5C\n" "HG5O\n" "HG5XA\n" "HG60VOTT\n" "HG6N\n" "HG6V\n" "HG6W\n" "HG6Y\n" "HG7HQ\n" "HG7JAL\n" "HG7T\n" "HG8C\n" "HG8DX\n" "HG8K\n" "HG8N\n" "HG8R\n" "HG8W\n" "HG8YKO\n" "HG8Z\n" "HG9R\n" "HH2/I8UZA\n" "HI3/LY3UM\n" "HI3/W1JNZ\n" "HI3A\n" "HI3CC\n" "HI3CCP\n" "HI3FVA\n" "HI3K\n" "HI3T\n" "HI3TEJ\n" "HI8A\n" "HI8JQE\n" "HI8LAM\n" "HI8PJP\n" "HI8PLE\n" "HK0/EA7HEJ\n" "HK0T\n" "HK1A\n" "HK1AA\n" "HK1KXA\n" "HK1KYR\n" "HK1N\n" "HK1NK\n" "HK1R\n" "HK1X\n" "HK3/KC2LSD\n" "HK3CQ\n" "HK3J\n" "HK3JJH\n" "HK3KWX\n" "HK3LGO\n" "HK3O\n" "HK3OZ\n" "HK3PSA\n" "HK3Q\n" "HK3RA\n" "HK3TU\n" "HK3UA\n" "HK3W\n" "HK3Y\n" "HK4EB\n" "HK4SAN\n" "HK6CF\n" "HK6F\n" "HK6P\n" "HK6R\n" "HK8EA\n" "HL0HQ\n" "HL0MBC\n" "HL0U\n" "HL1/SP5AUC\n" "HL1/WX8C\n" "HL1AV\n" "HL1IBG\n" "HL1IWD\n" "HL1OYF\n" "HL1VAU\n" "HL2/KF6RCP\n" "HL2ADO\n" "HL2AEJ\n" "HL2AVK\n" "HL2BM\n" "HL2CFY\n" "HL2DC\n" "HL2DYS\n" "HL2FDW\n" "HL2KV\n" "HL2KXT\n" "HL2LTX\n" "HL2MTK\n" "HL2OLN\n" "HL2PCU\n" "HL2ST\n" "HL2SU\n" "HL2UOK\n" "HL3AMO\n" "HL3IB\n" "HL3IUA\n" "HL4CEL\n" "HL4CJG\n" "HL4GKR\n" "HL4RBR\n" "HL4XM\n" "HL5/VK6DXI\n" "HL5AP\n" "HL5BLI\n" "HL5BMX\n" "HL5FKP\n" "HL5FXP\n" "HL5JCB\n" "HL5JGR\n" "HL5LKI\n" "HL5OC\n" "HL5QY\n" "HL5UOG\n" "HL5YI\n" "HL9A\n" "HP1/IZ6BRN\n" "HP1AC\n" "HP1ALX\n" "HP1AVS\n" "HP1BYS\n" "HP1DCP\n" "HP1RIS\n" "HP1WW\n" "HP3AK\n" "HP3DX\n" "HP3FTD\n" "HP3TA\n" "HQ1L\n" "HQ2R\n" "HQ2T\n" "HQ2W\n" "HQ3Z\n" "HQ9R\n" "HR1/K2LCT\n" "HR1RTF\n" "HR2DMR\n" "HR2J\n" "HR2OAV\n" "HR9/WQ7R\n" "HS0/W4ESF\n" "HS0AC\n" "HS0EHF\n" "HS0GBI\n" "HS0ZBS\n" "HS0ZCW\n" "HS0ZCX\n" "HS0ZDJ\n" "HS0ZDR\n" "HS0ZDX\n" "HS0ZDY\n" "HS0ZED\n" "HS0ZEE\n" "HS0ZFK\n" "HS0ZGD\n" "HS0ZGV\n" "HS0ZHB\n" "HS0ZHC\n" "HS0ZHI\n" "HS0ZIN\n" "HS0ZIQ\n" "HS1CHB\n" "HS1CKC\n" "HS8JYX\n" "HS8KGG\n" "HT2N\n" "HV0A\n" "HV4NAC\n" "HZ1DG\n" "HZ1GW\n" "HZ1MD\n" "HZ1PS\n" "HZ1SK\n" "I/SQ9DJD\n" "I0/YO7LKW\n" "I0AAF\n" "I0ABK\n" "I0AMU\n" "I0APV\n" "I0BYR\n" "I0CG\n" "I0CMD\n" "I0DJV\n" "I0DTK\n" "I0EKY\n" "I0FDH\n" "I0GXK\n" "I0HCJ\n" "I0IA\n" "I0ISK\n" "I0JBL\n" "I0JX\n" "I0KHP\n" "I0KHY\n" "I0KNQ\n" "I0KWK\n" "I0KWX\n" "I0LTX\n" "I0LYO\n" "I0MOC\n" "I0MOM\n" "I0MWI\n" "I0NNY\n" "I0QM\n" "I0TIC\n" "I0TWA\n" "I0UZF\n" "I0VPK\n" "I0XXR\n" "I0YKN\n" "I0YQV\n" "I0YR\n" "I0ZUT\n" "I0ZV\n" "I0ZY\n" "I1ABT\n" "I1APQ\n" "I1BAY\n" "I1BEP\n" "I1BPU\n" "I1COB\n" "I1EIS\n" "I1FHA\n" "I1FLC\n" "I1FQH\n" "I1GIK\n" "I1HJT\n" "I1HJT/3\n" "I1HLP\n" "I1IOQ\n" "I1JHS\n" "I1LBI\n" "I1LGR\n" "I1LSN\n" "I1MRH\n" "I1NVU\n" "I1OOQ\n" "I1OQI\n" "I1PLX\n" "I1POR\n" "I1QBI\n" "I1RB\n" "I1RJP\n" "I1SAF\n" "I1SCL\n" "I1UW\n" "I1WQR\n" "I1WXY\n" "I1XPQ\n" "I1XSG\n" "I1YGQ\n" "I1YRL\n" "I1YTO\n" "I1ZDW\n" "I1ZEU\n" "I1ZL\n" "I2AT\n" "I2AXC/IS0\n" "I2AZ\n" "I2BBJ\n" "I2BJS\n" "I2BPP\n" "I2BZN\n" "I2CZQ\n" "I2DJX\n" "I2DMI\n" "I2EAY\n" "I2EGD\n" "I2FUG\n" "I2FUM\n" "I2GPT\n" "I2HXO\n" "I2JIM\n" "I2JIN\n" "I2JSB\n" "I2KAJ\n" "I2KBD\n" "I2KBW\n" "I2KMG\n" "I2MOV\n" "I2MQP\n" "I2NKR\n" "I2NX\n" "I2OGV\n" "I2ORX\n" "I2PEI\n" "I2PJA\n" "I2PUS\n" "I2RBR\n" "I2RFJ\n" "I2ROO\n" "I2RVW\n" "I2SVA\n" "I2TAO\n" "I2TFJ\n" "I2TZK\n" "I2UAC\n" "I2UBI\n" "I2UCE\n" "I2VGW\n" "I2VGZ\n" "I2VRN\n" "I2VXJ\n" "I2WDB\n" "I2WIJ\n" "I2WSG\n" "I2XBO\n" "I2XIP\n" "I2XLF\n" "I2YYO\n" "I2ZGA\n" "I2ZP\n" "I3BBK\n" "I3BLF\n" "I3CRW\n" "I3DBD\n" "I3EVK\n" "I3FDZ\n" "I3FIY\n" "I3GKK\n" "I3GVN\n" "I3ISM\n" "I3JRF\n" "I3JSS\n" "I3KAN\n" "I3MIQ\n" "I3MLU\n" "I3MMB\n" "I3MU\n" "I3OKZ\n" "I3PVB\n" "I3PXN\n" "I3QDK\n" "I3STS\n" "I3TGW\n" "I3THJ\n" "I3TXQ\n" "I3VAD\n" "I3VJW\n" "I3VRD\n" "I3VWK\n" "I3XMQ\n" "I3YEG\n" "I3ZNG\n" "I3ZSX\n" "I4ABF\n" "I4AUM\n" "I4AVG\n" "I4BMJ\n" "I4DVT\n" "I4DZ\n" "I4EAT\n" "I4ENO\n" "I4EUM\n" "I4EWH\n" "I4FGG\n" "I4FTU\n" "I4FYF\n" "I4GAD\n" "I4GYG\n" "I4HRH\n" "I4IKW\n" "I4JEE\n" "I4JRE\n" "I4JUQ\n" "I4KJW\n" "I4KMN\n" "I4KMW\n" "I4KRF\n" "I4LCK\n" "I4LEC\n" "I4MKN\n" "I4MNY\n" "I4NJM\n" "I4PZP\n" "I4QHD\n" "I4SJZ\n" "I4TJE\n" "I4UKS\n" "I4VEQ\n" "I4VIL\n" "I4VJC\n" "I4VOS\n" "I4WYE\n" "I4XNN\n" "I4YCE\n" "I4YEL\n" "I4YEY\n" "I4YSS\n" "I4YUG\n" "I4YYC\n" "I4ZGI\n" "I4ZQS\n" "I4ZSQ\n" "I5/IZ2RPJ\n" "I5BG\n" "I5BOL\n" "I5DOF\n" "I5DUI\n" "I5ECW\n" "I5ESR\n" "I5FCK\n" "I5FLN\n" "I5FWT\n" "I5HLK\n" "I5IAR\n" "I5IHE\n" "I5JFG\n" "I5JHW\n" "I5JKI/3\n" "I5KAP\n" "I5KG\n" "I5LRW\n" "I5LYJ\n" "I5MPK\n" "I5MXX\n" "I5NPH\n" "I5NSR\n" "I5OYY\n" "I5PFX\n" "I5QNJ\n" "I5REA\n" "I5RFD\n" "I5SDG\n" "I5VVA\n" "I5VXG\n" "I5WNN\n" "I5ZJK\n" "I5ZSS\n" "I5ZUF\n" "I6BDS\n" "I6BYQ\n" "I6CBI\n" "I6COJ\n" "I6DU\n" "I6DVW\n" "I6FDJ\n" "I6FLD\n" "I6FPN\n" "I6JEI\n" "I6KIU\n" "I6NO\n" "I6PTL\n" "I6TIH\n" "I6VGA\n" "I6WJB\n" "I7/9A3A\n" "I7CSB\n" "I7PHH\n" "I7PXV\n" "I7WL\n" "I8HAK\n" "I8IGS\n" "I8JOQ\n" "I8JYK\n" "I8KCI\n" "I8KFR\n" "I8KRC\n" "I8LWL\n" "I8MPO\n" "I8MSY\n" "I8NHJ\n" "I8OCA\n" "I8PND\n" "I8QJU\n" "I8QLI\n" "I8QLS\n" "I8SAT\n" "IA3IPY\n" "IB0R\n" "IC8AJU\n" "IC8C\n" "IC8FBU\n" "IC8OZM\n" "IC8POF\n" "IC8SCI\n" "IC8TEM\n" "IF9A\n" "IF9ZWA\n" "IG9/I2ADN\n" "IG9R\n" "IG9S\n" "IG9U\n" "IG9W\n" "IG9X\n" "IH9GPI\n" "IH9N\n" "IH9YMC\n" "II1H\n" "II1W\n" "II20CJ\n" "II2A\n" "II2C\n" "II2CV\n" "II2IARA\n" "II2S\n" "II3L\n" "II4A\n" "II4DP\n" "II5P\n" "II5W\n" "II7M\n" "IK0ATK\n" "IK0AUO\n" "IK0BOU\n" "IK0BZE\n" "IK0CHU\n" "IK0CNA\n" "IK0EFR\n" "IK0EIE\n" "IK0ESW\n" "IK0FMB\n" "IK0FUX\n" "IK0GDG\n" "IK0GHB\n" "IK0HBN\n" "IK0HFO\n" "IK0HIT\n" "IK0IKE\n" "IK0IOL\n" "IK0ISD\n" "IK0IXI\n" "IK0IZW\n" "IK0JFW\n" "IK0JNI\n" "IK0JOE\n" "IK0LNN\n" "IK0MHR\n" "IK0MIB\n" "IK0MPI\n" "IK0NSF\n" "IK0OZD\n" "IK0OZH\n" "IK0PEA\n" "IK0PHY\n" "IK0PRG\n" "IK0PXC\n" "IK0RCY\n" "IK0SDQ\n" "IK0SME\n" "IK0SXU\n" "IK0TUM\n" "IK0TWN\n" "IK0UTM\n" "IK0VAQ\n" "IK0VBT\n" "IK0VJH\n" "IK0VKL\n" "IK0VSY\n" "IK0VVG\n" "IK0VWH\n" "IK0VXG\n" "IK0WHN\n" "IK0WRB\n" "IK0XBX\n" "IK0XIH\n" "IK0YQJ\n" "IK0YUT\n" "IK0YVV\n" "IK0ZSN\n" "IK1ADH\n" "IK1ASR\n" "IK1BBC\n" "IK1BHS\n" "IK1BPL\n" "IK1CCS\n" "IK1DFH\n" "IK1DPA\n" "IK1DQW\n" "IK1EZC\n" "IK1FLE\n" "IK1FVO\n" "IK1FXX\n" "IK1GKD\n" "IK1GKH\n" "IK1GPG\n" "IK1GPK\n" "IK1HSS\n" "IK1HXN\n" "IK1HZZ\n" "IK1IXG\n" "IK1JJM\n" "IK1JNS\n" "IK1JTQ\n" "IK1JXY\n" "IK1LJO\n" "IK1LYQ\n" "IK1MDF\n" "IK1MEG\n" "IK1MJG\n" "IK1NEG\n" "IK1NPP\n" "IK1PMR\n" "IK1QBT\n" "IK1QFP\n" "IK1QHB\n" "IK1RAG\n" "IK1RGK\n" "IK1RKN\n" "IK1RKU\n" "IK1RQQ\n" "IK1SOW\n" "IK1SPE\n" "IK1SPR\n" "IK1TAZ\n" "IK1TJK\n" "IK1TWC\n" "IK1UGX\n" "IK1VCE\n" "IK1VDN\n" "IK1VEK\n" "IK1WEG\n" "IK1WGX\n" "IK1WJN\n" "IK1WJR\n" "IK1XHZ\n" "IK1XPK\n" "IK1XVO\n" "IK1YDB\n" "IK1YED\n" "IK1YEK\n" "IK1YLL\n" "IK1ZFO\n" "IK1ZNL\n" "IK1ZOE\n" "IK1ZYO\n" "IK2AHB\n" "IK2AHG\n" "IK2AHR\n" "IK2AIT\n" "IK2ANI\n" "IK2AOO\n" "IK2APW\n" "IK2AQZ\n" "IK2AUK\n" "IK2AVH\n" "IK2BBU\n" "IK2BCP\n" "IK2BDR\n" "IK2BLA\n" "IK2BSK\n" "IK2BUF\n" "IK2CFD\n" "IK2CHZ\n" "IK2CIK\n" "IK2CIO\n" "IK2CLB\n" "IK2CMN\n" "IK2CZQ\n" "IK2DAD\n" "IK2DED\n" "IK2DFZ\n" "IK2DJV\n" "IK2DKX\n" "IK2DPP\n" "IK2DZN\n" "IK2EAD\n" "IK2EBP\n" "IK2ECM\n" "IK2ECP\n" "IK2EGL\n" "IK2EKO\n" "IK2FCO\n" "IK2FIL\n" "IK2FIQ\n" "IK2FSS\n" "IK2FWO\n" "IK2GPQ\n" "IK2GWH\n" "IK2GZU\n" "IK2HBF\n" "IK2HDF\n" "IK2HKN\n" "IK2HKT\n" "IK2HLM\n" "IK2IKW\n" "IK2ILH\n" "IK2IQD\n" "IK2JYT\n" "IK2LFD\n" "IK2LOL\n" "IK2LTR\n" "IK2MKM\n" "IK2MLS\n" "IK2MLY\n" "IK2MPR\n" "IK2NCF\n" "IK2NUX\n" "IK2NVE\n" "IK2PFL\n" "IK2QEB\n" "IK2QEI\n" "IK2QIK\n" "IK2QIN\n" "IK2QLX\n" "IK2QPR\n" "IK2REA\n" "IK2RGT\n" "IK2RLS\n" "IK2RMZ\n" "IK2RZP\n" "IK2RZQ\n" "IK2SAI\n" "IK2SAR\n" "IK2SAU\n" "IK2SGB\n" "IK2SGF\n" "IK2SND\n" "IK2SVF\n" "IK2TDM\n" "IK2TDR\n" "IK2TYP\n" "IK2UCK\n" "IK2UEC\n" "IK2UEK\n" "IK2UJF\n" "IK2UJS\n" "IK2UTT\n" "IK2UZQ\n" "IK2VFR\n" "IK2VFW\n" "IK2VIW\n" "IK2WFJ\n" "IK2WFN\n" "IK2WJT\n" "IK2WPO\n" "IK2WQK\n" "IK2WSJ\n" "IK2WXQ\n" "IK2WXV\n" "IK2WYI\n" "IK2WYW\n" "IK2WZM\n" "IK2XDE\n" "IK2XDF\n" "IK2XEF\n" "IK2XRO\n" "IK2XYI\n" "IK2YCW\n" "IK2YFT\n" "IK2YGZ\n" "IK2YSJ\n" "IK2YXB\n" "IK2YXP\n" "IK3AES\n" "IK3ASM\n" "IK3BTK\n" "IK3BVD\n" "IK3CST\n" "IK3DQU\n" "IK3DRO\n" "IK3DVY\n" "IK3GER\n" "IK3GES\n" "IK3GHW\n" "IK3GID\n" "IK3HHX\n" "IK3HMB\n" "IK3HUG\n" "IK3IUE\n" "IK3IUL\n" "IK3JBP\n" "IK3JLV\n" "IK3MLF\n" "IK3OBX\n" "IK3OCD\n" "IK3OII\n" "IK3ORD\n" "IK3OYY\n" "IK3PQG\n" "IK3PQH\n" "IK3QAR\n" "IK3RET\n" "IK3SCA\n" "IK3SCB\n" "IK3SHP\n" "IK3SSJ\n" "IK3SSO\n" "IK3SSW\n" "IK3STG\n" "IK3SWB\n" "IK3TPP\n" "IK3TZB\n" "IK3UMZ\n" "IK3UNA\n" "IK3UNA/1\n" "IK3VBB\n" "IK3VUT\n" "IK3VUU\n" "IK3WOI\n" "IK3XJL\n" "IK3XJP\n" "IK3XTY\n" "IK3YBX\n" "IK4ALM\n" "IK4AUY\n" "IK4BHO\n" "IK4CIE\n" "IK4DCT\n" "IK4DCX\n" "IK4DDI\n" "IK4DRR\n" "IK4DRY\n" "IK4EWN\n" "IK4GBU\n" "IK4GME\n" "IK4GRO\n" "IK4HAQ\n" "IK4HLQ\n" "IK4ICS\n" "IK4JQO\n" "IK4JQS\n" "IK4LAI\n" "IK4MGJ\n" "IK4MGP\n" "IK4MGV\n" "IK4NQW\n" "IK4PKK\n" "IK4PKN\n" "IK4PMB\n" "IK4QJF\n" "IK4RQE\n" "IK4RQJ\n" "IK4RSO\n" "IK4TVP\n" "IK4UNH\n" "IK4UOA\n" "IK4UPB\n" "IK4VET\n" "IK4VFB\n" "IK4WKU\n" "IK4WLU\n" "IK4WMB\n" "IK4WMH\n" "IK4WTU\n" "IK4XCL\n" "IK4XQT\n" "IK4YAZ\n" "IK4ZGO\n" "IK4ZHH\n" "IK5AAB\n" "IK5ACO\n" "IK5AFJ\n" "IK5AMB\n" "IK5AYM\n" "IK5BAF\n" "IK5BCM\n" "IK5BDG\n" "IK5DHL\n" "IK5DVW\n" "IK5EKB\n" "IK5EKL\n" "IK5FCK\n" "IK5FKF\n" "IK5FQX\n" "IK5GFC\n" "IK5GQK\n" "IK5HHA\n" "IK5IFH\n" "IK5IIY\n" "IK5JXR\n" "IK5MEJ\n" "IK5MEN\n" "IK5OJB\n" "IK5PVX\n" "IK5PWB\n" "IK5PWC\n" "IK5PWN\n" "IK5PWQ\n" "IK5PWS\n" "IK5ROP\n" "IK5RUN\n" "IK5SRF\n" "IK5TBI\n" "IK5TTA\n" "IK5UAN\n" "IK5UAN/5\n" "IK5UIM\n" "IK5WGK\n" "IK5XLB\n" "IK5YJK\n" "IK5ZAJ\n" "IK5ZQC\n" "IK5ZTT\n" "IK5ZUB\n" "IK5ZWU\n" "IK6BGJ\n" "IK6CNM\n" "IK6CWQ\n" "IK6DTB\n" "IK6EIW\n" "IK6EUH\n" "IK6FTZ\n" "IK6FWJ\n" "IK6GQC\n" "IK6GRT\n" "IK6GTF\n" "IK6HRB\n" "IK6IHN\n" "IK6IJF\n" "IK6IKJ\n" "IK6JRI\n" "IK6LBV\n" "IK6MNB\n" "IK6MND\n" "IK6OIN\n" "IK6PTH\n" "IK6SIO\n" "IK6SNR\n" "IK6TOS\n" "IK6UBY\n" "IK6VXO\n" "IK6XEJ\n" "IK6YXM\n" "IK6ZDE\n" "IK6ZER\n" "IK7BEF\n" "IK7BPV\n" "IK7CMY\n" "IK7FMQ\n" "IK7FPU\n" "IK7GFS\n" "IK7GIM\n" "IK7JTF\n" "IK7JWY\n" "IK7LMX\n" "IK7NXU\n" "IK7OFI\n" "IK7PTX\n" "IK7RVY\n" "IK7SLT\n" "IK7UFW\n" "IK7UXU\n" "IK7WPC\n" "IK7WPD\n" "IK7XLU\n" "IK7XLW\n" "IK7YTT\n" "IK7YZG\n" "IK8ARF\n" "IK8AWH\n" "IK8BIZ\n" "IK8BQE\n" "IK8EJN\n" "IK8ENH\n" "IK8EPC\n" "IK8GYL\n" "IK8GYQ\n" "IK8HBA\n" "IK8HCG\n" "IK8HJC\n" "IK8HMJ\n" "IK8HTM\n" "IK8IOZ\n" "IK8IPL\n" "IK8JDH\n" "IK8JUY\n" "IK8LJA\n" "IK8LTB\n" "IK8LXI\n" "IK8MIG\n" "IK8MYJ\n" "IK8MYM\n" "IK8NBE\n" "IK8NII\n" "IK8NIJ\n" "IK8NRW\n" "IK8NSR\n" "IK8NUO\n" "IK8OFW\n" "IK8OXQ\n" "IK8OZV\n" "IK8OZZ\n" "IK8PLE\n" "IK8QQO\n" "IK8RIJ\n" "IK8SCR\n" "IK8SEU\n" "IK8TEM\n" "IK8TEO\n" "IK8TVG\n" "IK8UND\n" "IK8VZE\n" "IK8WEJ\n" "IK8XFR\n" "IK8XFU\n" "IK8XIM\n" "IK8YDP\n" "IK8YFU\n" "IK8YJQ\n" "IK8YJQ/P\n" "IK8YOQ\n" "IL3T\n" "IN3ADW\n" "IN3ADW/P\n" "IN3AEF\n" "IN3AFT\n" "IN3BAO\n" "IN3BFW\n" "IN3BHR\n" "IN3BIY\n" "IN3BZY\n" "IN3DOV\n" "IN3EAR\n" "IN3FFN\n" "IN3FHE\n" "IN3HUU\n" "IN3IKF\n" "IN3IZT\n" "IN3JJI\n" "IN3JRZ\n" "IN3KCV\n" "IN3KMY\n" "IN3MNS\n" "IN3MOD\n" "IN3MQT\n" "IN3NJB\n" "IN3OWY/2\n" "IN3OWY/I2\n" "IN3PWE\n" "IN3QBR\n" "IN3QCI\n" "IN3REZ\n" "IN3RYE\n" "IN3SUI\n" "IN3TKF/4\n" "IN3TLJ\n" "IN3UFW\n" "IN3VHA\n" "IN3VVK\n" "IN3VXH\n" "IN3WRR\n" "IN3XUG\n" "IN3XWE\n" "IN3YGW\n" "IN3YKS\n" "IN3ZNR\n" "IN3ZWF\n" "IO1A\n" "IO1T\n" "IO2L\n" "IO3B\n" "IO3J\n" "IO3N\n" "IO3O\n" "IO3P\n" "IO3R\n" "IO3T\n" "IO3X\n" "IO4T\n" "IO5A\n" "IO5O\n" "IO6A\n" "IO8V\n" "IO9K\n" "IP9BGS\n" "IQ0AL\n" "IQ0CI\n" "IQ0EF\n" "IQ0OS\n" "IQ0RM\n" "IQ1EE\n" "IQ1NO\n" "IQ1RY\n" "IQ1SM\n" "IQ1TO\n" "IQ2CJ\n" "IQ2CU\n" "IQ2LS\n" "IQ2MG\n" "IQ2VC\n" "IQ2XX\n" "IQ3CG\n" "IQ3FX\n" "IQ3GA\n" "IQ3GO\n" "IQ3ME\n" "IQ3MO\n" "IQ3PN\n" "IQ3RK\n" "IQ3SD\n" "IQ3TN\n" "IQ3UD\n" "IQ3VE\n" "IQ4AX\n" "IQ4RN\n" "IQ5AE\n" "IQ5DY\n" "IQ5FI\n" "IQ5LU\n" "IQ5MS\n" "IQ5PO\n" "IQ5PT\n" "IQ6TC\n" "IQ7AF\n" "IQ7DV\n" "IQ8EB\n" "IQ8FT\n" "IQ8LR\n" "IQ8MD\n" "IQ8PL\n" "IQ8PQ\n" "IQ8PZ\n" "IQ8RB\n" "IQ8RB/1\n" "IQ9BF\n" "IQ9DE\n" "IQ9GD\n" "IQ9NI\n" "IQ9PA\n" "IR1A\n" "IR1C\n" "IR1G\n" "IR1K\n" "IR1M\n" "IR1R\n" "IR1W\n" "IR1Y\n" "IR2A\n" "IR2C\n" "IR2K\n" "IR2M\n" "IR2Y\n" "IR3C\n" "IR3W\n" "IR3X\n" "IR3Y\n" "IR3Z\n" "IR4E\n" "IR4M\n" "IR4T\n" "IR4X\n" "IR5B\n" "IR5T\n" "IR5X\n" "IR6D\n" "IR6T\n" "IR7A\n" "IR7C\n" "IR8A\n" "IR8P\n" "IR8W\n" "IR9P\n" "IR9W\n" "IR9X\n" "IR9Y\n" "IR9Z\n" "IS0/G1VNV\n" "IS0/IK4ZHH\n" "IS0/IK5EKB\n" "IS0/IT9VDQ\n" "IS0/K7QB\n" "IS0/OK1CZ\n" "IS0/OL0A\n" "IS0A\n" "IS0AFM\n" "IS0ANY\n" "IS0B\n" "IS0C\n" "IS0DFC\n" "IS0EBO\n" "IS0GQX\n" "IS0GRB\n" "IS0HQJ\n" "IS0IEK\n" "IS0IGV\n" "IS0LFZ\n" "IS0LYN\n" "IS0NHT\n" "IS0OMH\n" "IS0RDY\n" "IS0RZG\n" "IS0SQJ\n" "IS0SWW\n" "IS0T\n" "IS0XDA\n" "IS0YEK\n" "IS0YTA\n" "IT9ABY\n" "IT9ACN\n" "IT9AJP\n" "IT9AQV\n" "IT9AST\n" "IT9AUG\n" "IT9AUH\n" "IT9AUT\n" "IT9AXQ\n" "IT9BLB\n" "IT9CCQ\n" "IT9CJC\n" "IT9DFI\n" "IT9ECQ\n" "IT9EJP\n" "IT9EJW\n" "IT9ELD\n" "IT9EQO\n" "IT9ESI\n" "IT9ESW\n" "IT9FGA\n" "IT9FXY\n" "IT9GAC\n" "IT9GSF\n" "IT9HBT\n" "IT9HLR\n" "IT9HUV\n" "IT9IAS\n" "IT9ICS\n" "IT9IFI\n" "IT9IMJ\n" "IT9INO\n" "IT9IYZ\n" "IT9IZY\n" "IT9JAV\n" "IT9JDH\n" "IT9JOF\n" "IT9JQY\n" "IT9KCD\n" "IT9LED\n" "IT9LKX\n" "IT9LNH\n" "IT9MNP\n" "IT9MRZ\n" "IT9MUO\n" "IT9MYY\n" "IT9NTD\n" "IT9OJW\n" "IT9PAD\n" "IT9PCU\n" "IT9PKO\n" "IT9PPG\n" "IT9PQJ\n" "IT9QDS\n" "IT9QQO\n" "IT9QQP\n" "IT9RBW\n" "IT9RGY\n" "IT9RIA\n" "IT9RJQ\n" "IT9RKR\n" "IT9RWB\n" "IT9RYJ\n" "IT9RZU\n" "IT9SFT\n" "IT9SGN\n" "IT9SMU\n" "IT9SSI\n" "IT9STX\n" "IT9TFX\n" "IT9UCS\n" "IT9UFP\n" "IT9VDQ\n" "IT9VPT\n" "IT9WTY\n" "IT9XTP\n" "IT9YAO\n" "IT9YHR\n" "IT9YSW\n" "IT9ZAU\n" "IT9ZGY\n" "IT9ZIR\n" "IT9ZMX\n" "IT9ZRU\n" "IT9ZVJ\n" "IT9ZVL\n" "IT9ZZO\n" "IU0R\n" "IU1A\n" "IU1HQ\n" "IU1U\n" "IU2HQ\n" "IU2P\n" "IU2R\n" "IU4HQ\n" "IU5HQ\n" "IU8HQ\n" "IU9A\n" "IU9HQ\n" "IU9T\n" "IV3AOL\n" "IV3APV\n" "IV3ARJ\n" "IV3AVQ\n" "IV3AZV\n" "IV3BEI\n" "IV3BKH\n" "IV3BYT\n" "IV3CGJ\n" "IV3CTW\n" "IV3DSH\n" "IV3DXW\n" "IV3DYS\n" "IV3EAD\n" "IV3EFE\n" "IV3EHH\n" "IV3EPO\n" "IV3FAS\n" "IV3FIV\n" "IV3FSG\n" "IV3GOW\n" "IV3GTH\n" "IV3HYD\n" "IV3IDP\n" "IV3IFN\n" "IV3IFY\n" "IV3IQY\n" "IV3IUM\n" "IV3IXN\n" "IV3IYH\n" "IV3IZU\n" "IV3JCC\n" "IV3JVJ\n" "IV3JWY\n" "IV3KAS\n" "IV3KFB\n" "IV3KSE\n" "IV3KVC\n" "IV3KYQ\n" "IV3MGN\n" "IV3MRK\n" "IV3NBA\n" "IV3NVB\n" "IV3NVN\n" "IV3NVN/P\n" "IV3ODE\n" "IV3ONZ\n" "IV3PGQ\n" "IV3PRK\n" "IV3RAV\n" "IV3RAZ\n" "IV3RJT\n" "IV3RLB\n" "IV3RVN\n" "IV3SKB\n" "IV3TIQ\n" "IV3TMV\n" "IV3TQE\n" "IV3TRK\n" "IV3TUO\n" "IV3UHL\n" "IV3UT\n" "IV3VBM\n" "IV3VCS\n" "IV3VER\n" "IV3VSN\n" "IV3WJP\n" "IV3WMS\n" "IV3XAZ\n" "IV3XHM\n" "IV3XPP\n" "IV3XUX\n" "IV3XWD\n" "IV3XZG\n" "IV3YER\n" "IV3YIB\n" "IV3YIM\n" "IV3YND\n" "IV3YYK\n" "IV3ZIZ\n" "IV3ZUY\n" "IV3ZXF\n" "IV3ZXQ\n" "IW0AFS\n" "IW0AGX\n" "IW0BCF\n" "IW0BLW\n" "IW0BMC\n" "IW0BNW\n" "IW0BSQ\n" "IW0BYL\n" "IW0BZD\n" "IW0CGT\n" "IW0CJE\n" "IW0DGJ\n" "IW0DUA\n" "IW0EAC\n" "IW0EFA\n" "IW0GBU\n" "IW0GTA\n" "IW0GVG\n" "IW0GXY\n" "IW0GYC\n" "IW0HBY\n" "IW0HEX\n" "IW0HLE\n" "IW0HLZ\n" "IW0HOU\n" "IW0HQE\n" "IW0QO\n" "IW0RVQ\n" "IW0SAF\n" "IW0UII\n" "IW0UWE\n" "IW1ARB\n" "IW1AYD\n" "IW1CKJ\n" "IW1CPZ\n" "IW1CQ\n" "IW1DFU\n" "IW1DMC\n" "IW1ECY\n" "IW1FGY\n" "IW1FGZ\n" "IW1FNW\n" "IW1FPK\n" "IW1FZR\n" "IW1GAL\n" "IW1GB\n" "IW1GJJ\n" "IW1GPT\n" "IW1PDP\n" "IW1PNJ\n" "IW1PPM\n" "IW1PUR\n" "IW1QLH\n" "IW1QN\n" "IW1RAX\n" "IW1RGS\n" "IW1RHR\n" "IW1RIU\n" "IW1RMD\n" "IW2BAC\n" "IW2BAI\n" "IW2BNA\n" "IW2BZY\n" "IW2CAM\n" "IW2CLM\n" "IW2ETR\n" "IW2FIV\n" "IW2FND\n" "IW2FTN\n" "IW2FUT\n" "IW2GRA\n" "IW2HAJ\n" "IW2HUS\n" "IW2JRV\n" "IW2KIR\n" "IW2LHE\n" "IW2LLH\n" "IW2MJQ\n" "IW2MNT\n" "IW2MWZ\n" "IW2MXY\n" "IW2MYH\n" "IW2MYV\n" "IW2MZX\n" "IW2NBW\n" "IW2NEF\n" "IW2NRI\n" "IW2NRT\n" "IW2NUI\n" "IW2NWV\n" "IW3AAD\n" "IW3AJN\n" "IW3AJN/P\n" "IW3BTR\n" "IW3EKH\n" "IW3EOL\n" "IW3FZQ\n" "IW3GGU\n" "IW3GRG\n" "IW3GXW\n" "IW3HXR\n" "IW3IA\n" "IW3ICN\n" "IW3IFJ\n" "IW3IIP\n" "IW3ILM\n" "IW3IMM\n" "IW3QAF\n" "IW3RUA\n" "IW3SKX\n" "IW3SMU\n" "IW3SNW\n" "IW3SOM\n" "IW3SQY\n" "IW3SRC\n" "IW3SRG\n" "IW3SSA\n" "IW4BLZ\n" "IW4BTN\n" "IW4DQY\n" "IW4ECX\n" "IW4EGX\n" "IW4ENR\n" "IW4EQI\n" "IW5AB\n" "IW5ADB\n" "IW5ALG\n" "IW5BEN\n" "IW5BHU\n" "IW5CBK\n" "IW5CI\n" "IW5CWA\n" "IW5DLY\n" "IW5DPF\n" "IW5ECP\n" "IW5EDI\n" "IW5EFX\n" "IW5EHY\n" "IW5EID\n" "IW5EIJ\n" "IW5ELA\n" "IW5ELL\n" "IW6AFT\n" "IW6APY\n" "IW6ASD\n" "IW6ATQ\n" "IW6CJM\n" "IW6DGJ\n" "IW6DRH\n" "IW6NZY\n" "IW6PWC\n" "IW7BIM\n" "IW7EBE\n" "IW7ECJ\n" "IW7EDB\n" "IW7EEV\n" "IW7EFC\n" "IW7EFJ\n" "IW8AWR\n" "IW8BAK\n" "IW8DCS\n" "IW8DON\n" "IW8EHK\n" "IW8ELR\n" "IW8EPH\n" "IW8FEA\n" "IW8PQ\n" "IW8QIE\n" "IW8RQA\n" "IW8RRF\n" "IW9ANR\n" "IW9BCW\n" "IW9CTR\n" "IW9DNI\n" "IW9FDD\n" "IW9FI\n" "IW9FRA\n" "IW9FRB\n" "IW9GUR\n" "IW9GYL\n" "IW9HEB\n" "IW9HHB\n" "IW9HII\n" "IW9HIK\n" "IX1ALR\n" "IX1BFL\n" "IX1CVF\n" "IY0GM\n" "IY1GM\n" "IY1GMN\n" "IY1NGM\n" "IY2M\n" "IY3GM\n" "IY3XX\n" "IY4FGM\n" "IY8GM\n" "IZ0ADG\n" "IZ0AEZ\n" "IZ0ARL\n" "IZ0BEE\n" "IZ0BNR\n" "IZ0BNV\n" "IZ0BVU\n" "IZ0CEZ\n" "IZ0CGV\n" "IZ0CIV\n" "IZ0CLS\n" "IZ0COI\n" "IZ0DIB\n" "IZ0DKZ\n" "IZ0DXD\n" "IZ0DXI\n" "IZ0EHL\n" "IZ0ESL\n" "IZ0EVK\n" "IZ0EYP\n" "IZ0EYP/8\n" "IZ0FBJ\n" "IZ0FKE\n" "IZ0FUW\n" "IZ0FVD\n" "IZ0FVH\n" "IZ0FVL\n" "IZ0FWD\n" "IZ0FWE\n" "IZ0FZM\n" "IZ0GIY\n" "IZ0GKB\n" "IZ0GMS\n" "IZ0GRR\n" "IZ0GUS\n" "IZ0GVR\n" "IZ0GXM\n" "IZ0GYP\n" "IZ0HAP\n" "IZ0HPX\n" "IZ0HQS\n" "IZ0IIY\n" "IZ0INX\n" "IZ0IWU\n" "IZ0KBA\n" "IZ0KBR\n" "IZ0KBW\n" "IZ0MII\n" "IZ0MJE\n" "IZ0MJG\n" "IZ0MQN\n" "IZ0MTF\n" "IZ0MTV\n" "IZ0NRG\n" "IZ0OTB\n" "IZ0OVZ\n" "IZ0OWC\n" "IZ0PAD\n" "IZ0PED\n" "IZ0PMV\n" "IZ0PSA\n" "IZ0PSC\n" "IZ0PTY\n" "IZ0PXT\n" "IZ0RCP\n" "IZ0RMV\n" "IZ0RPZ\n" "IZ0RTP\n" "IZ1ANK\n" "IZ1ANU\n" "IZ1ANZ\n" "IZ1AOC\n" "IZ1AOD\n" "IZ1AZA\n" "IZ1BCS\n" "IZ1BII\n" "IZ1BTS\n" "IZ1BZS\n" "IZ1BZV\n" "IZ1CCE\n" "IZ1CCF\n" "IZ1CLA\n" "IZ1CQZ\n" "IZ1DBY\n" "IZ1DFG\n" "IZ1DGG\n" "IZ1DLY\n" "IZ1DMI\n" "IZ1DNJ\n" "IZ1DNQ\n" "IZ1DUG\n" "IZ1DUI\n" "IZ1DXS\n" "IZ1ERW\n" "IZ1FBC\n" "IZ1FHF\n" "IZ1FUM\n" "IZ1FYQ\n" "IZ1GAR\n" "IZ1GCM\n" "IZ1GCQ\n" "IZ1GCV\n" "IZ1GIP\n" "IZ1GJK\n" "IZ1GLO\n" "IZ1GLT\n" "IZ1GLX\n" "IZ1GQJ\n" "IZ1GWW\n" "IZ1GZF\n" "IZ1HBC\n" "IZ1HIV\n" "IZ1JKH\n" "IZ1JKY\n" "IZ1JLF\n" "IZ1JLG\n" "IZ1JLN\n" "IZ1JLP\n" "IZ1JMN\n" "IZ1JTH\n" "IZ1KGY\n" "IZ1KIM\n" "IZ1LBB\n" "IZ1LBG\n" "IZ1LGV\n" "IZ1MDJ\n" "IZ1MHL\n" "IZ1MHQ\n" "IZ1MHX\n" "IZ1MHY\n" "IZ1MKB\n" "IZ1MKP\n" "IZ1MKQ\n" "IZ1MKZ\n" "IZ1MLQ\n" "IZ1MRO\n" "IZ1NBX\n" "IZ1OMY\n" "IZ1OQB\n" "IZ1OSP\n" "IZ1PHT\n" "IZ1PKV\n" "IZ1POA\n" "IZ2ABI\n" "IZ2ABN\n" "IZ2ACD\n" "IZ2ACM\n" "IZ2AJE\n" "IZ2AMW\n" "IZ2AVK\n" "IZ2BKA\n" "IZ2BQF\n" "IZ2BVL\n" "IZ2BZP\n" "IZ2CEE\n" "IZ2CHN\n" "IZ2CPO\n" "IZ2CSX\n" "IZ2DII\n" "IZ2DMV\n" "IZ2DPX\n" "IZ2DVI\n" "IZ2EAS\n" "IZ2EER\n" "IZ2EEV\n" "IZ2EID\n" "IZ2EVH\n" "IZ2EWM\n" "IZ2EWR\n" "IZ2FDY\n" "IZ2FFK\n" "IZ2FLX\n" "IZ2FME\n" "IZ2FOB\n" "IZ2FOS\n" "IZ2GIU\n" "IZ2GMT\n" "IZ2GNQ\n" "IZ2GOT\n" "IZ2GRG\n" "IZ2GTO\n" "IZ2IHO\n" "IZ2IPF\n" "IZ2JCD\n" "IZ2JNN\n" "IZ2JPN\n" "IZ2JQP\n" "IZ2KPE\n" "IZ2KPI\n" "IZ2KRZ\n" "IZ2KTE\n" "IZ2KTF\n" "IZ2KXC\n" "IZ2LQD\n" "IZ2LSC\n" "IZ2NBD\n" "IZ2NYY\n" "IZ2NZQ\n" "IZ2NZZ\n" "IZ2OBS\n" "IZ2OBY\n" "IZ2ODM\n" "IZ2OHL\n" "IZ2OIF\n" "IZ2PCJ\n" "IZ2QBH\n" "IZ2QDC\n" "IZ2QKG\n" "IZ2RPJ\n" "IZ3ALF\n" "IZ3ASB\n" "IZ3AWU\n" "IZ3BGL\n" "IZ3BJA\n" "IZ3BUG\n" "IZ3CAN\n" "IZ3CAR\n" "IZ3CKG\n" "IZ3DBA\n" "IZ3DVU\n" "IZ3EAV\n" "IZ3EAX\n" "IZ3EAY\n" "IZ3EBA\n" "IZ3ENH\n" "IZ3EOU\n" "IZ3ERM\n" "IZ3ESV\n" "IZ3ETC\n" "IZ3ETU\n" "IZ3FJZ\n" "IZ3GFZ\n" "IZ3GHP\n" "IZ3GNG\n" "IZ3GOG\n" "IZ3GOM\n" "IZ3GOO\n" "IZ3GYS\n" "IZ3HKN\n" "IZ3IBL\n" "IZ3KIF\n" "IZ3KKE\n" "IZ3KMY\n" "IZ3KNK\n" "IZ3KSO\n" "IZ3KSP\n" "IZ3KUY\n" "IZ3KVD\n" "IZ3LCF\n" "IZ3LES\n" "IZ3LHX\n" "IZ3LJG\n" "IZ3LQN\n" "IZ3LSZ\n" "IZ3LUF\n" "IZ3MSK\n" "IZ3NPZ\n" "IZ3NVR\n" "IZ3NXC\n" "IZ3NYG\n" "IZ3NYS\n" "IZ3ODB\n" "IZ3PYL\n" "IZ3PZL/3\n" "IZ3PZM\n" "IZ3QHA\n" "IZ3QHB\n" "IZ4AFW\n" "IZ4AIF\n" "IZ4AII\n" "IZ4AMS\n" "IZ4BBF\n" "IZ4BQV\n" "IZ4COW\n" "IZ4CZE\n" "IZ4CZL\n" "IZ4DIG\n" "IZ4DIW\n" "IZ4DJD\n" "IZ4DLR\n" "IZ4DPV\n" "IZ4DUX\n" "IZ4DYX\n" "IZ4DZD\n" "IZ4EFN\n" "IZ4EFP\n" "IZ4FUA\n" "IZ4GAH\n" "IZ4GOL\n" "IZ4GSE\n" "IZ4GWE\n" "IZ4HVM\n" "IZ4HVM/3\n" "IZ4HZA\n" "IZ4IFR\n" "IZ4IRO\n" "IZ4ISC\n" "IZ4IST\n" "IZ4JMA\n" "IZ4MJP\n" "IZ4NIC\n" "IZ4NSV\n" "IZ4ORN\n" "IZ4ORO\n" "IZ4OSG\n" "IZ4OSH\n" "IZ4OUA\n" "IZ4OUL\n" "IZ5ASZ\n" "IZ5AXA\n" "IZ5BLP\n" "IZ5BRP\n" "IZ5BRW\n" "IZ5BSA\n" "IZ5CMG\n" "IZ5CMI\n" "IZ5CML\n" "IZ5DIY\n" "IZ5DKG\n" "IZ5DKJ\n" "IZ5DKO\n" "IZ5DKR\n" "IZ5DMB\n" "IZ5EBL\n" "IZ5EKV\n" "IZ5EKX\n" "IZ5EME\n" "IZ5FSA\n" "IZ5FSO\n" "IZ5GRS\n" "IZ5HPQ\n" "IZ5HQB\n" "IZ5HSK\n" "IZ5ICH\n" "IZ5IIN\n" "IZ5IJY\n" "IZ5ILC\n" "IZ5ILD\n" "IZ5ILF\n" "IZ5ILJ\n" "IZ5ILK\n" "IZ5ILU\n" "IZ5IMD\n" "IZ5IOM\n" "IZ5IOM/5\n" "IZ5IOS\n" "IZ5IOW\n" "IZ5IPA\n" "IZ5JHJ\n" "IZ5JMZ\n" "IZ5JNO\n" "IZ5LDD\n" "IZ5MAO\n" "IZ5MJZ\n" "IZ5MKA\n" "IZ5MMB\n" "IZ5MMK\n" "IZ5MMN\n" "IZ5MMR\n" "IZ5MOQ\n" "IZ5MXA\n" "IZ5NFC\n" "IZ5NRF\n" "IZ5OOP\n" "IZ5OPV\n" "IZ5OPX\n" "IZ5OQA\n" "IZ5OQX\n" "IZ5PQT\n" "IZ5RKC\n" "IZ6AAW\n" "IZ6BTN\n" "IZ6BXV\n" "IZ6CLN\n" "IZ6CLZ\n" "IZ6EIY\n" "IZ6ERS\n" "IZ6FHZ\n" "IZ6FXP\n" "IZ6GIG\n" "IZ6GSB\n" "IZ6GSQ\n" "IZ6HRT\n" "IZ6IMN\n" "IZ6INR\n" "IZ6IOC\n" "IZ6KBL\n" "IZ6LOF\n" "IZ6MPY\n" "IZ6MQH\n" "IZ6NCN\n" "IZ7CDE\n" "IZ7CRW\n" "IZ7DOK\n" "IZ7DOO\n" "IZ7ECL\n" "IZ7EDQ\n" "IZ7EQX\n" "IZ7EUB\n" "IZ7EVZ\n" "IZ7FLT\n" "IZ7FMM\n" "IZ7GAT\n" "IZ7GLL\n" "IZ7GWZ\n" "IZ7HNO\n" "IZ7IJW\n" "IZ7JVR\n" "IZ7KHR\n" "IZ7LDC\n" "IZ7LDL\n" "IZ7MFY\n" "IZ7MYV\n" "IZ7MZU\n" "IZ7NMD\n" "IZ7OJY\n" "IZ7QLY\n" "IZ8BFV\n" "IZ8BGY\n" "IZ8CCW\n" "IZ8CKT\n" "IZ8CLM\n" "IZ8DBJ\n" "IZ8DDL\n" "IZ8DGR\n" "IZ8DPL\n" "IZ8DSX\n" "IZ8DVD\n" "IZ8DWL\n" "IZ8EDL\n" "IZ8EEL\n" "IZ8EFD\n" "IZ8EKL\n" "IZ8EMB\n" "IZ8EMK\n" "IZ8EPX\n" "IZ8ESX\n" "IZ8EWD\n" "IZ8FAV\n" "IZ8FBU\n" "IZ8FDG\n" "IZ8FDH\n" "IZ8FFA\n" "IZ8FQO\n" "IZ8FTW\n" "IZ8FWN\n" "IZ8GBH\n" "IZ8GBT\n" "IZ8GCB\n" "IZ8GCE\n" "IZ8GNR\n" "IZ8GNW\n" "IZ8HUJ\n" "IZ8HXG\n" "IZ8IFL\n" "IZ8ITT\n" "IZ8IYN\n" "IZ8IYX\n" "IZ8JAI\n" "IZ8JDF\n" "IZ8JFL\n" "IZ8JPV\n" "IZ8LGP\n" "IZ8LIP\n" "IZ8LKL\n" "IZ8LLH\n" "IZ8LLQ\n" "IZ8LMA\n" "IZ8MBW\n" "IZ8MCG\n" "IZ8MNL\n" "IZ8MNQ\n" "IZ8MXB\n" "IZ8NGH\n" "IZ8NVV\n" "IZ8OFO\n" "IZ8OGR\n" "IZ8PPH\n" "IZ8PPI\n" "IZ8QIG\n" "J28AA\n" "J28JA\n" "J28OO\n" "J37K\n" "J37T\n" "J38A\n" "J38CW\n" "J38RF\n" "J38XJ\n" "J38XX\n" "J39BS\n" "J41E\n" "J42T\n" "J42WT\n" "J43J\n" "J43P\n" "J45KLN\n" "J46J\n" "J48HW\n" "J48RT\n" "J49I\n" "J49XB\n" "J5UAP\n" "J68JA\n" "J68V\n" "J69DS\n" "J69MV\n" "J79WE\n" "J79ZG\n" "J7N\n" "J7Y\n" "J88DR\n" "JA0AOQ\n" "JA0ARF\n" "JA0ASO\n" "JA0AVS\n" "JA0AXV\n" "JA0BEE\n" "JA0BES\n" "JA0BJY\n" "JA0BKX\n" "JA0BOV\n" "JA0CIY\n" "JA0CRI\n" "JA0CVC\n" "JA0DAI\n" "JA0DBQ\n" "JA0DBS\n" "JA0DNE\n" "JA0DOW\n" "JA0DSH\n" "JA0ED\n" "JA0EME\n" "JA0EQO\n" "JA0EVI\n" "JA0FMB\n" "JA0FMU\n" "JA0FNU\n" "JA0FSB\n" "JA0FSN\n" "JA0FVU\n" "JA0GCI\n" "JA0GEY\n" "JA0GJJ\n" "JA0GSG\n" "JA0GZZ\n" "JA0HWF\n" "JA0IND/1\n" "JA0IOF\n" "JA0JHA\n" "JA0KAZ\n" "JA0KJD\n" "JA0LCP\n" "JA0LHU\n" "JA0LXP\n" "JA0MVW\n" "JA0NFP\n" "JA0NPQ\n" "JA0PE\n" "JA0PTK\n" "JA0QNJ\n" "JA0RCK\n" "JA0RUG\n" "JA0SDW\n" "JA0UFZ\n" "JA0UJL\n" "JA0UMV\n" "JA0UPW\n" "JA0UR\n" "JA0URR\n" "JA0VHI\n" "JA1AA\n" "JA1AAA\n" "JA1AAT\n" "JA1ACF\n" "JA1ADN\n" "JA1ADT\n" "JA1ADU\n" "JA1AEC\n" "JA1AFF\n" "JA1AFI\n" "JA1AJK\n" "JA1AKL\n" "JA1AKR\n" "JA1ALT\n" "JA1ALU\n" "JA1AML\n" "JA1ANF\n" "JA1ANG\n" "JA1ANR\n" "JA1ANT\n" "JA1AOH\n" "JA1APX\n" "JA1ARO\n" "JA1ATB\n" "JA1ATZ\n" "JA1AUD\n" "JA1AYO\n" "JA1AZR\n" "JA1AZW\n" "JA1BAN\n" "JA1BAQ\n" "JA1BAS\n" "JA1BFN\n" "JA1BHK\n" "JA1BJI\n" "JA1BK\n" "JA1BMA\n" "JA1BNL\n" "JA1BNW\n" "JA1BON\n" "JA1BOQ\n" "JA1BPA\n" "JA1BPN\n" "JA1BTR\n" "JA1BUQ\n" "JA1BWA\n" "JA1BWD\n" "JA1BWT\n" "JA1CAQ\n" "JA1CC\n" "JA1CCA\n" "JA1CCO\n" "JA1CG\n" "JA1CIA\n" "JA1CJI\n" "JA1CJP\n" "JA1CKA\n" "JA1CKE\n" "JA1CLW\n" "JA1CLZ\n" "JA1CON\n" "JA1COP\n" "JA1CP\n" "JA1CPA\n" "JA1CPN\n" "JA1CPZ\n" "JA1CQK\n" "JA1CQT\n" "JA1CTB\n" "JA1CTZ\n" "JA1CXC\n" "JA1DBG\n" "JA1DCK\n" "JA1DDZ\n" "JA1DEQ\n" "JA1DEU\n" "JA1DIO\n" "JA1DKT\n" "JA1DMX\n" "JA1DOF\n" "JA1DOT\n" "JA1DSI\n" "JA1DUA\n" "JA1DUH\n" "JA1DUP\n" "JA1DVN\n" "JA1DXE\n" "JA1DXF\n" "JA1EFY\n" "JA1EHV\n" "JA1EJY\n" "JA1ELY\n" "JA1EM\n" "JA1EMQ\n" "JA1EOD\n" "JA1EOG\n" "JA1ERB\n" "JA1ESH\n" "JA1ETN\n" "JA1EWE\n" "JA1FFO\n" "JA1FGB\n" "JA1FIO/1\n" "JA1FKY\n" "JA1FNA\n" "JA1FNO\n" "JA1FO\n" "JA1FRQ\n" "JA1FTW\n" "JA1FUI\n" "JA1FVJ\n" "JA1FVK\n" "JA1FVS\n" "JA1FWJ\n" "JA1FWY\n" "JA1GBC\n" "JA1GC\n" "JA1GCA\n" "JA1GDF\n" "JA1GFD\n" "JA1GHH\n" "JA1GHR\n" "JA1GHV\n" "JA1GLE\n" "JA1GRM\n" "JA1GSG\n" "JA1GTR\n" "JA1GVT\n" "JA1GYO\n" "JA1HFY\n" "JA1HG\n" "JA1HGX\n" "JA1HGY\n" "JA1HHL\n" "JA1HLF\n" "JA1HLR\n" "JA1HMK\n" "JA1HNW\n" "JA1HO\n" "JA1HP\n" "JA1HRQ\n" "JA1HTD\n" "JA1HTK\n" "JA1HXJ\n" "JA1HYF\n" "JA1IAW\n" "JA1IDY\n" "JA1IE\n" "JA1IFB\n" "JA1IFD\n" "JA1IFP\n" "JA1IKA\n" "JA1IOA\n" "JA1IRH\n" "JA1ISA\n" "JA1IST\n" "JA1ITX\n" "JA1IUG\n" "JA1IVV\n" "JA1IVY\n" "JA1IWP\n" "JA1IXY\n" "JA1IZ\n" "JA1IZB\n" "JA1IZZ\n" "JA1JCF/1\n" "JA1JDP\n" "JA1JKG\n" "JA1JLP\n" "JA1JNM\n" "JA1JQM\n" "JA1JQY\n" "JA1JXD\n" "JA1JXT\n" "JA1JXU\n" "JA1JYS\n" "JA1KEB\n" "JA1KEV\n" "JA1KGV\n" "JA1KI\n" "JA1KIH\n" "JA1KJW\n" "JA1KK\n" "JA1KLK\n" "JA1KLW\n" "JA1KPF\n" "JA1KPH\n" "JA1KTB\n" "JA1KVT\n" "JA1KW\n" "JA1KWB\n" "JA1KXT\n" "JA1KZK\n" "JA1KZP\n" "JA1LBN\n" "JA1LBZ\n" "JA1LHH\n" "JA1LLN/8\n" "JA1LLY\n" "JA1LNZ\n" "JA1LPH\n" "JA1LPQ\n" "JA1LQL\n" "JA1LQV\n" "JA1LSP\n" "JA1LZB\n" "JA1LZR\n" "JA1MBJ\n" "JA1MCU\n" "JA1MJC\n" "JA1MJN\n" "JA1MLV\n" "JA1MOD\n" "JA1MOW\n" "JA1MRM\n" "JA1MSS\n" "JA1MUZ\n" "JA1MVK\n" "JA1MVR\n" "JA1MZL\n" "JA1MZM\n" "JA1NAA\n" "JA1NGD\n" "JA1NGW\n" "JA1NIJ\n" "JA1NIR\n" "JA1NLC\n" "JA1NLX\n" "JA1NPD\n" "JA1NRF\n" "JA1NRQ\n" "JA1NUT\n" "JA1NUX\n" "JA1NVF\n" "JA1NWD\n" "JA1NXG\n" "JA1NXV\n" "JA1NZJ\n" "JA1NZK\n" "JA1OAF\n" "JA1OBJ\n" "JA1OCA\n" "JA1OCZ\n" "JA1ODE\n" "JA1ODP\n" "JA1OHD\n" "JA1OHP\n" "JA1OJJ\n" "JA1OND\n" "JA1OQ\n" "JA1OQQ\n" "JA1ORM\n" "JA1OSN/7\n" "JA1OVD\n" "JA1OWP\n" "JA1OYD\n" "JA1OYY\n" "JA1OZK\n" "JA1PAH\n" "JA1PIN\n" "JA1PJS\n" "JA1PMN\n" "JA1PNA\n" "JA1POS\n" "JA1PRV\n" "JA1PS\n" "JA1PTJ\n" "JA1PTO\n" "JA1PVX\n" "JA1QCQ\n" "JA1QEU\n" "JA1QGT\n" "JA1QIW\n" "JA1QJE\n" "JA1QN\n" "JA1QNO\n" "JA1QOP\n" "JA1QS\n" "JA1QWT\n" "JA1QXC\n" "JA1QXY\n" "JA1RAC\n" "JA1RPK\n" "JA1RQT\n" "JA1RRA\n" "JA1RRR\n" "JA1RTX\n" "JA1RYC\n" "JA1SEV\n" "JA1SGU\n" "JA1SGX\n" "JA1SHC\n" "JA1SHE\n" "JA1SIM\n" "JA1SIN\n" "JA1SJT\n" "JA1SJV\n" "JA1SKE\n" "JA1SST\n" "JA1STY\n" "JA1SVP\n" "JA1SYY\n" "JA1SZN\n" "JA1TBX\n" "JA1TFJ\n" "JA1TGO\n" "JA1TLE\n" "JA1TMG\n" "JA1TQE\n" "JA1TQP\n" "JA1TRC\n" "JA1TRL\n" "JA1UAT\n" "JA1UCC\n" "JA1UII\n" "JA1UOC\n" "JA1UPO\n" "JA1UPT\n" "JA1UQA\n" "JA1USO\n" "JA1UTN\n" "JA1UTQ\n" "JA1UTZ\n" "JA1UVO\n" "JA1UZG\n" "JA1UZQ\n" "JA1VCW\n" "JA1VDI\n" "JA1VGV\n" "JA1VJQ\n" "JA1VLK\n" "JA1VND\n" "JA1VNS\n" "JA1VPE\n" "JA1VRU\n" "JA1VRY\n" "JA1VUI\n" "JA1WDF\n" "JA1WHG\n" "JA1WLO\n" "JA1WPX\n" "JA1WQD\n" "JA1WQX\n" "JA1WRI\n" "JA1WSK\n" "JA1WSX\n" "JA1WTI\n" "JA1WUM\n" "JA1WWB\n" "JA1WWE\n" "JA1WWO\n" "JA1WZG\n" "JA1XGI\n" "JA1XIA\n" "JA1XJA\n" "JA1XMS\n" "JA1XMT\n" "JA1XPH\n" "JA1XPU\n" "JA1XRA\n" "JA1XRH\n" "JA1XTN\n" "JA1XTQ\n" "JA1XUY\n" "JA1XXI\n" "JA1XZF\n" "JA1YAI\n" "JA1YPA\n" "JA1YSW\n" "JA1YUC\n" "JA1ZGO\n" "JA1ZGP\n" "JA2ACI\n" "JA2ADH\n" "JA2AEV\n" "JA2AH\n" "JA2AHH\n" "JA2AIB\n" "JA2ANR\n" "JA2AO\n" "JA2ATE\n" "JA2AXB\n" "JA2AYH\n" "JA2BAY\n" "JA2BCE\n" "JA2BDR\n" "JA2BGN\n" "JA2BHQ\n" "JA2BIV\n" "JA2BJW\n" "JA2BL\n" "JA2BMW\n" "JA2BNN\n" "JA2BQX\n" "JA2BVL\n" "JA2BXP\n" "JA2BY\n" "JA2CBZ\n" "JA2CJN\n" "JA2CPD\n" "JA2CUS\n" "JA2CXF\n" "JA2CXH\n" "JA2CYL\n" "JA2DCN\n" "JA2DDA\n" "JA2DGQ\n" "JA2DGQ/3\n" "JA2DHF\n" "JA2DLM\n" "JA2DNA\n" "JA2DO\n" "JA2DPQ\n" "JA2DSY\n" "JA2DXD\n" "JA2DZQ\n" "JA2EDG\n" "JA2ELH\n" "JA2EPW\n" "JA2FBC\n" "JA2FEA\n" "JA2FGE\n" "JA2FJP\n" "JA2FSM\n" "JA2FTR/3\n" "JA2FUA\n" "JA2FUJ\n" "JA2FVA\n" "JA2FWS\n" "JA2GAL\n" "JA2GDF\n" "JA2GDH\n" "JA2GHP\n" "JA2GTW\n" "JA2GWL\n" "JA2HCE\n" "JA2HDG\n" "JA2HGF\n" "JA2HMF\n" "JA2HO\n" "JA2HOL\n" "JA2HXV\n" "JA2IDJ\n" "JA2ITK\n" "JA2IU\n" "JA2IVK\n" "JA2IXS\n" "JA2JDY\n" "JA2JOJ\n" "JA2JTN\n" "JA2JW\n" "JA2KCY\n" "JA2KGH\n" "JA2KIY\n" "JA2KKA\n" "JA2KLE\n" "JA2KOG\n" "JA2KPV\n" "JA2KPW\n" "JA2KSI\n" "JA2KTK\n" "JA2KVB\n" "JA2KVD\n" "JA2LCP\n" "JA2LHG\n" "JA2LPY\n" "JA2LWO\n" "JA2MEI/2\n" "JA2MNB\n" "JA2MOG\n" "JA2MWV\n" "JA2MYA\n" "JA2NOV\n" "JA2NVM\n" "JA2ODB\n" "JA2OGB\n" "JA2OZI\n" "JA2OZJ\n" "JA2PAC\n" "JA2PFO\n" "JA2PJC\n" "JA2PJX\n" "JA2PSV\n" "JA2PVE\n" ; const char txt_master2[65528] = "JA2QOF\n" "JA2QQC\n" "JA2QVP\n" "JA2QXY\n" "JA2RGH\n" "JA2RJE\n" "JA2RPZ\n" "JA2SGH\n" "JA2TBS\n" "JA2TFU\n" "JA2TTH\n" "JA2UHR\n" "JA2UJ\n" "JA2UZE\n" "JA2VHG\n" "JA2VHO\n" "JA2VKU\n" "JA2VPO\n" "JA2VSU\n" "JA2VUP\n" "JA2VZL\n" "JA2WP\n" "JA2XCR\n" "JA2XQO\n" "JA2XYO\n" "JA2ZJW\n" "JA2ZS\n" "JA3AA\n" "JA3AAD\n" "JA3AK\n" "JA3ALY\n" "JA3AMI\n" "JA3AOP\n" "JA3APU\n" "JA3APV\n" "JA3AQM\n" "JA3AVO\n" "JA3AYL\n" "JA3AYX\n" "JA3AZD\n" "JA3BAZ\n" "JA3BBG\n" "JA3BCC\n" "JA3BCT\n" "JA3BDP\n" "JA3BHO\n" "JA3BIN\n" "JA3BJZ\n" "JA3BKP\n" "JA3BLN\n" "JA3BRI\n" "JA3BUM\n" "JA3BVJ\n" "JA3BXZ\n" "JA3CCX\n" "JA3CG\n" "JA3CSZ\n" "JA3CZV\n" "JA3CZY\n" "JA3DAY\n" "JA3DLE/1\n" "JA3DPX\n" "JA3DSY\n" "JA3DX\n" "JA3DXD\n" "JA3DXR/1\n" "JA3EA\n" "JA3EEM\n" "JA3EGE\n" "JA3EGZ\n" "JA3EMU\n" "JA3EOE\n" "JA3ETD\n" "JA3EUB\n" "JA3EUF\n" "JA3EY\n" "JA3EZJ\n" "JA3FGJ\n" "JA3FSV\n" "JA3FYC\n" "JA3GMJ\n" "JA3GN\n" "JA3GSM\n" "JA3GW\n" "JA3HBC\n" "JA3HBF\n" "JA3HBP\n" "JA3HDM\n" "JA3HIL\n" "JA3HRV\n" "JA3HU\n" "JA3HZT\n" "JA3IDQ\n" "JA3IGZ\n" "JA3IKG\n" "JA3JFT\n" "JA3JM\n" "JA3JND\n" "JA3JOT\n" "JA3KDJ\n" "JA3KGC\n" "JA3KKE\n" "JA3KLI\n" "JA3KNB\n" "JA3KRK\n" "JA3KZD\n" "JA3LCR\n" "JA3LEB\n" "JA3LEZ\n" "JA3LKE\n" "JA3LKU\n" "JA3LXH\n" "JA3LZC\n" "JA3MFE\n" "JA3MIB\n" "JA3MQY\n" "JA3MZB\n" "JA3NFA\n" "JA3NHL\n" "JA3NHW\n" "JA3NTE\n" "JA3OEA\n" "JA3OHY\n" "JA3OOK\n" "JA3OSA\n" "JA3PCQ\n" "JA3PJL\n" "JA3PNN\n" "JA3PST\n" "JA3PYC\n" "JA3PYH\n" "JA3QOS\n" "JA3RAR\n" "JA3RAZ\n" "JA3RK\n" "JA3RN\n" "JA3RQ\n" "JA3RWJ\n" "JA3TMM\n" "JA3TPK\n" "JA3TVM\n" "JA3UMQ\n" "JA3USA\n" "JA3UWB\n" "JA3VPA\n" "JA3VUI\n" "JA3VXH\n" "JA3WKK\n" "JA3WLN\n" "JA3WNB\n" "JA3WPN\n" "JA3WU\n" "JA3XOG\n" "JA3YAA\n" "JA3YBK\n" "JA3YKC\n" "JA3YPD\n" "JA3YPL\n" "JA4AFT\n" "JA4AJB\n" "JA4AQR\n" "JA4AVO\n" "JA4AXM\n" "JA4AYU\n" "JA4BDY\n" "JA4BPW\n" "JA4BSZ\n" "JA4BVH\n" "JA4BXU\n" "JA4CBX\n" "JA4CMW\n" "JA4COF\n" "JA4CQS\n" "JA4CUU\n" "JA4CZM\n" "JA4DC\n" "JA4DHN\n" "JA4DMB\n" "JA4DND\n" "JA4DQX\n" "JA4DWR\n" "JA4DZ\n" "JA4EBU\n" "JA4EE\n" "JA4ENN/1\n" "JA4ENP\n" "JA4EZA\n" "JA4EZP\n" "JA4FHE\n" "JA4FIQ\n" "JA4FJL\n" "JA4FKX\n" "JA4FM\n" "JA4FWI\n" "JA4GCF\n" "JA4GGR\n" "JA4GXS\n" "JA4GXX\n" "JA4HXZ\n" "JA4IQK\n" "JA4IU\n" "JA4JBZ\n" "JA4JIF\n" "JA4JY/3\n" "JA4KRR\n" "JA4LAZ\n" "JA4LKB\n" "JA4LXY\n" "JA4MOK\n" "JA4MRL\n" "JA4NQD\n" "JA4PXE\n" "JA4RMX\n" "JA4RWN\n" "JA4TY\n" "JA4UDN\n" "JA4XHF/3\n" "JA4XRN\n" "JA4XW\n" "JA4XY\n" "JA4YHX\n" "JA5ADR\n" "JA5AOA\n" "JA5APU\n" "JA5AQC\n" "JA5ATN\n" "JA5AUC\n" "JA5BEI\n" "JA5BEN\n" "JA5BGA\n" "JA5BIN\n" "JA5BQT\n" "JA5BVO\n" "JA5BZL\n" "JA5CBO\n" "JA5CEX\n" "JA5CJZ\n" "JA5CPJ\n" "JA5CTW\n" "JA5CUX\n" "JA5DBE\n" "JA5DFX\n" "JA5DQH\n" "JA5DVK\n" "JA5ERZ\n" "JA5EWH\n" "JA5EXW\n" "JA5EYW\n" "JA5FBZ\n" "JA5FDJ\n" "JA5FNX\n" "JA5FTL\n" "JA5GE\n" "JA5GSG\n" "JA5INF/1\n" "JA5IU\n" "JA5IVG\n" "JA5JGY\n" "JA5JWQ\n" "JA5MXP\n" "JA5ND\n" "JA5NLN\n" "JA5NNS\n" "JA5NPV\n" "JA5NSN\n" "JA5OP\n" "JA5PEU\n" "JA5RB\n" "JA5RVN\n" "JA5SRJ\n" "JA5SUD\n" "JA5TNF\n" "JA5UBW/3\n" "JA5WIO\n" "JA5WNH\n" "JA5XPD\n" "JA5XPN\n" "JA6ACZ\n" "JA6AP\n" "JA6ARM\n" "JA6AUM\n" "JA6AVT\n" "JA6BCV\n" "JA6BDB\n" "JA6BEE\n" "JA6BGA\n" "JA6BJT\n" "JA6BJV\n" "JA6BLX\n" "JA6BWH\n" "JA6BZA\n" "JA6BZI\n" "JA6CBG\n" "JA6CDA\n" "JA6CDC\n" "JA6CFW\n" "JA6CLO\n" "JA6CM\n" "JA6CMI\n" "JA6CNH\n" "JA6CNL\n" "JA6COW\n" "JA6CRP\n" "JA6CUX\n" "JA6CYL/6\n" "JA6DC\n" "JA6DH\n" "JA6DIJ\n" "JA6DSG\n" "JA6ECF/1\n" "JA6EFT\n" "JA6EML\n" "JA6ETS\n" "JA6FBI\n" "JA6FFK\n" "JA6FGC\n" "JA6FMR\n" "JA6FOF\n" "JA6FUV\n" "JA6FXT/1\n" "JA6GCE\n" "JA6GGD\n" "JA6GIJ\n" "JA6GKW\n" "JA6GT\n" "JA6GXP\n" "JA6HJW\n" "JA6HLU\n" "JA6HPI\n" "JA6HQT\n" "JA6IQG\n" "JA6JNF\n" "JA6JPS\n" "JA6JRE\n" "JA6JYM\n" "JA6KTY\n" "JA6LCJ\n" "JA6MYQ\n" "JA6NOC\n" "JA6OXT\n" "JA6PCH\n" "JA6QDU\n" "JA6QZ\n" "JA6RCH\n" "JA6REX\n" "JA6RXO\n" "JA6SHL\n" "JA6SRB\n" "JA6TIT\n" "JA6TMU\n" "JA6TWS\n" "JA6UDI\n" "JA6VDB\n" "JA6VI\n" "JA6VNR\n" "JA6VQA\n" "JA6VU\n" "JA6WFM\n" "JA6WIF\n" "JA6WJL\n" "JA6WW\n" "JA6XBH\n" "JA6XZS/1\n" "JA6YG\n" "JA6ZPR\n" "JA7ACM\n" "JA7ACV\n" "JA7AEM\n" "JA7AGO\n" "JA7AHK\n" "JA7AKH\n" "JA7ARD\n" "JA7ARW\n" "JA7AXN\n" "JA7AXP\n" "JA7BAL\n" "JA7BCE\n" "JA7BJS\n" "JA7BLE\n" "JA7BME\n" "JA7BMR\n" "JA7BMW\n" "JA7BSV\n" "JA7BVH\n" "JA7BWT\n" "JA7BYP\n" "JA7BZU\n" "JA7CDK\n" "JA7CDV\n" "JA7COI\n" "JA7COK\n" "JA7CPW\n" "JA7CXL\n" "JA7DDK\n" "JA7DHJ/1\n" "JA7DLE\n" "JA7DNJ\n" "JA7DOT\n" "JA7DXX\n" "JA7DY\n" "JA7DYJ\n" "JA7EDZ\n" "JA7EMG\n" "JA7EMH\n" "JA7ESQ\n" "JA7EU\n" "JA7EVH\n" "JA7EYK\n" "JA7FAS\n" "JA7FEX\n" "JA7FNQ\n" "JA7FTR\n" "JA7GAP\n" "JA7GBS\n" "JA7GUT\n" "JA7GYP\n" "JA7GZM\n" "JA7HB\n" "JA7HTJ\n" "JA7HUC\n" "JA7HYS\n" "JA7IC\n" "JA7JH\n" "JA7JMX\n" "JA7JWF\n" "JA7KDC\n" "JA7KE\n" "JA7KQC\n" "JA7KY\n" "JA7LDA\n" "JA7LGE\n" "JA7LLL\n" "JA7LMU/1\n" "JA7LMZ\n" "JA7MBT\n" "JA7MGP\n" "JA7MJ\n" "JA7MSQ\n" "JA7ND\n" "JA7NI\n" "JA7NLW\n" "JA7NPV\n" "JA7NUM\n" "JA7NVF\n" "JA7NX\n" "JA7ODY\n" "JA7OEM\n" "JA7OUV\n" "JA7OWD\n" "JA7OXR\n" "JA7OXR/1\n" "JA7OYM\n" "JA7OZW\n" "JA7QFU\n" "JA7QOU\n" "JA7QVI\n" "JA7RHJ\n" "JA7RPC\n" "JA7RQK\n" "JA7SN\n" "JA7SSP\n" "JA7SUR/1\n" "JA7TJ\n" "JA7UES/1\n" "JA7VEI\n" "JA7VSO\n" "JA7WMO\n" "JA7WNA\n" "JA7WQJ\n" "JA7XBG\n" "JA7XRH\n" "JA7XVZ\n" "JA7XZZ\n" "JA7YAA\n" "JA7YCQ\n" "JA7YRR\n" "JA7ZP\n" "JA7ZT/1\n" "JA8AHA\n" "JA8AIN\n" "JA8AJE\n" "JA8APN\n" "JA8AWH\n" "JA8AZN\n" "JA8BAR\n" "JA8BBD\n" "JA8BKI\n" "JA8BNP\n" "JA8BOV\n" "JA8BXD\n" "JA8CDG\n" "JA8CEA\n" "JA8CJY\n" "JA8CMC\n" "JA8CNF\n" "JA8CPF/1\n" "JA8CSY\n" "JA8CTO\n" "JA8DIV\n" "JA8DMB\n" "JA8DNV\n" "JA8ECS\n" "JA8EIA\n" "JA8EIU\n" "JA8EOT\n" "JA8EPO\n" "JA8FHM\n" "JA8GMZ\n" "JA8GWK\n" "JA8IAF\n" "JA8IJI\n" "JA8ISU\n" "JA8IUB\n" "JA8JDQ\n" "JA8JMG\n" "JA8JTH\n" "JA8KMA\n" "JA8KNJ\n" "JA8KSF\n" "JA8KXA\n" "JA8LN\n" "JA8LRG\n" "JA8LSZ\n" "JA8MS\n" "JA8MXC\n" "JA8NF\n" "JA8NFV\n" "JA8NSF/1\n" "JA8RJE\n" "JA8RRF\n" "JA8RUU\n" "JA8RWU\n" "JA8RY\n" "JA8SCD\n" "JA8SCD/1\n" "JA8SM\n" "JA8SPZ\n" "JA8TR\n" "JA8UON\n" "JA8WNR\n" "JA8WY\n" "JA8XOK\n" "JA8YYY\n" "JA8ZO\n" "JA9ABA\n" "JA9AGN\n" "JA9APS\n" "JA9APZ\n" "JA9ARC\n" "JA9BFM\n" "JA9BGL\n" "JA9BJS\n" "JA9BKU\n" "JA9BMG\n" "JA9CAC\n" "JA9CCG\n" "JA9CGW\n" "JA9CHI\n" "JA9CNC\n" "JA9CWJ\n" "JA9CZE\n" "JA9DJH\n" "JA9DNS\n" "JA9DTV/1\n" "JA9EJG\n" "JA9ESZ\n" "JA9FAI\n" "JA9FHB\n" "JA9FO\n" "JA9FPI\n" "JA9FR\n" "JA9GLW\n" "JA9IFF\n" "JA9IL\n" "JA9LJS\n" "JA9LX\n" "JA9MAT\n" "JA9NFO\n" "JA9NUN\n" "JA9PAK\n" "JA9PPC\n" "JA9RO\n" "JA9RPU\n" "JA9RRH\n" "JA9RT\n" "JA9SSY/1\n" "JA9SSY/2\n" "JA9SW\n" "JA9TQY\n" "JA9UR\n" "JA9XRL\n" "JA9ZMQ\n" "JD1BIA\n" "JD1BLY\n" "JD1BMM\n" "JE0EHE\n" "JE1ALA\n" "JE1AON\n" "JE1BQE\n" "JE1CAC\n" "JE1CJB\n" "JE1CKA\n" "JE1COB\n" "JE1CPB\n" "JE1CQT\n" "JE1CSW\n" "JE1CTM\n" "JE1EMU\n" "JE1EQS\n" "JE1FQV\n" "JE1FUX\n" "JE1GNG\n" "JE1GWO\n" "JE1GYL\n" "JE1GZB\n" "JE1HMC\n" "JE1HQE\n" "JE1HXZ\n" "JE1IFV\n" "JE1JAC\n" "JE1KBV\n" "JE1KDM\n" "JE1KEY\n" "JE1KON\n" "JE1LCK\n" "JE1LDU\n" "JE1LET\n" "JE1LFR\n" "JE1LFX\n" "JE1LOI\n" "JE1LPZ\n" "JE1LRT\n" "JE1LZL\n" "JE1MHO\n" "JE1NGI\n" "JE1NVD\n" "JE1OHL\n" "JE1ORU\n" "JE1PGA\n" "JE1PNX\n" "JE1QCL\n" "JE1QUR\n" "JE1QYI\n" "JE1REU\n" "JE1RID\n" "JE1ROA\n" "JE1RRK\n" "JE1RXJ\n" "JE1RZR\n" "JE1SCF\n" "JE1SCJ\n" "JE1SGH\n" "JE1SHW\n" "JE1SPY\n" "JE1SSE\n" "JE1SYN\n" "JE1TBU\n" "JE1TNL\n" "JE1TRV\n" "JE1TSD\n" "JE1UMG\n" "JE1WHD\n" "JE1WYC\n" "JE1YEM\n" "JE1ZWT\n" "JE2ATB\n" "JE2DJC\n" "JE2DOD\n" "JE2EHP\n" "JE2FUP\n" "JE2HCJ\n" "JE2HXL\n" "JE2ILG\n" "JE2KDN\n" "JE2KUC\n" "JE2LDW\n" "JE2LPC\n" "JE2LUN\n" "JE2LVG\n" "JE2MIR\n" "JE2OTM\n" "JE2OVG\n" "JE2PCY\n" "JE2PMC\n" "JE2QIZ\n" "JE2RDO\n" "JE2SOY\n" "JE2TLZ\n" "JE2UFF\n" "JE2VLG\n" "JE2WGC\n" "JE2XJW\n" "JE2YWY\n" "JE3AGN\n" "JE3AOL\n" "JE3BXY\n" "JE3CXJ\n" "JE3EDJ\n" "JE3EJC\n" "JE3GUG\n" "JE3HWO\n" "JE3MTQ\n" "JE3RNC\n" "JE3UHV\n" "JE3VRJ\n" "JE3WUK\n" "JE3XNF\n" "JE4AEJ/1\n" "JE4ICX/1\n" "JE4JPQ\n" "JE4KQH\n" "JE4MHL\n" "JE4MZA\n" "JE4QGF\n" "JE4RAL\n" "JE4USZ\n" "JE4XYA\n" "JE5CIL\n" "JE5JHZ\n" "JE5PTI\n" "JE5PTJ\n" "JE5QPH\n" "JE6CAJ\n" "JE6CMG\n" "JE6DBI\n" "JE6DND\n" "JE6DVI\n" "JE6ETN\n" "JE6HUR\n" "JE6JVH\n" "JE6LXS\n" "JE6QUJ\n" "JE6TSP\n" "JE6TUU\n" "JE6URC\n" "JE6UWU\n" "JE7BUH\n" "JE7CJL\n" "JE7DMH\n" "JE7HYK\n" "JE7JDL\n" "JE7JZT\n" "JE7LKG\n" "JE7SOG\n" "JE7WBI\n" "JE7YSS\n" "JE8BKW\n" "JE8CIC\n" "JE8CLT\n" "JE8CRA\n" "JE8GNN\n" "JE8KGH/7\n" "JE8KKX\n" "JE8NTJ\n" "JE8TGI\n" "JE9CRJ\n" "JE9QMZ\n" "JF0EHX\n" "JF0POA\n" "JF1AGB\n" "JF1AZQ\n" "JF1BFM\n" "JF1CBT\n" "JF1DMY\n" "JF1EGO\n" "JF1EGX\n" "JF1EUY\n" "JF1FFX\n" "JF1GUT\n" "JF1GYX\n" "JF1GZZ\n" "JF1HJX\n" "JF1HME\n" "JF1HYG\n" "JF1IRW\n" "JF1ISC/3\n" "JF1IUA\n" "JF1IXE\n" "JF1JPB\n" "JF1KFR\n" "JF1KKV\n" "JF1KMC\n" "JF1KML\n" "JF1KSF\n" "JF1KUR\n" "JF1KWG\n" "JF1LLB\n" "JF1LMB\n" "JF1LWO\n" "JF1MAD\n" "JF1MQS\n" "JF1NHD\n" "JF1NZW\n" "JF1OLC\n" "JF1OPL\n" "JF1PJK\n" "JF1PTX\n" "JF1PYJ\n" "JF1QQK\n" "JF1RBU\n" "JF1RDH\n" "JF1RFZ\n" "JF1RQP\n" "JF1RWZ\n" "JF1RYU\n" "JF1SCB/7\n" "JF1SEK\n" "JF1SPT\n" "JF1SQC\n" "JF1SVV\n" "JF1TEU\n" "JF1UVJ\n" "JF1VNR\n" "JF1VRR\n" "JF1VRU\n" "JF1VVR\n" "JF1VYX\n" "JF1WQC\n" "JF1WXN\n" "JF1XEP\n" "JF1YRK\n" "JF2BDK\n" "JF2CTY\n" "JF2DID\n" "JF2DND\n" "JF2DST\n" "JF2FIU\n" "JF2HPA\n" "JF2ICB\n" "JF2IKJ\n" "JF2IWL\n" "JF2KOZ\n" "JF2LVM\n" "JF2MBF\n" "JF2OHQ\n" "JF2OZH\n" "JF2PZY\n" "JF2QNM\n" "JF2RCX\n" "JF2RDG\n" "JF2RLD\n" "JF2SKV\n" "JF2SQB\n" "JF2TOG\n" "JF2UPM\n" "JF2VFN\n" "JF2VHS\n" "JF2VNV\n" "JF2WKE\n" "JF2WME\n" "JF2WTG\n" "JF2WXS\n" "JF3BFS\n" "JF3BRE\n" "JF3EIG\n" "JF3GKE\n" "JF3ITH\n" "JF3IYW\n" "JF3KNW\n" "JF3KON\n" "JF3KQA\n" "JF3LOP\n" "JF3MTM\n" "JF3MYU\n" "JF3NDW\n" "JF3NKA\n" "JF3RDE\n" "JF3SAD\n" "JF3SKW\n" "JF3VAX\n" "JF4ETK\n" "JF4GWA\n" "JF6CHY\n" "JF6WTY\n" "JF6XHS\n" "JF7GDF\n" "JF7NXS\n" "JF7XKY\n" "JF8AOJ\n" "JF9EXF\n" "JF9JTS\n" "JF9KVT\n" "JF9MJU\n" "JG0AXT\n" "JG0EKW\n" "JG0GGI\n" "JG0TCL\n" "JG1AUI\n" "JG1BKX\n" "JG1EIQ\n" "JG1FGL\n" "JG1FKT\n" "JG1FMA\n" "JG1FUV\n" "JG1GCO\n" "JG1GGF\n" "JG1GGU\n" "JG1GUW\n" "JG1HJV\n" "JG1HQA\n" "JG1HUF\n" "JG1IEF\n" "JG1IGX\n" "JG1ILF\n" "JG1IRX\n" "JG1IUF\n" "JG1IZA\n" "JG1JLA\n" "JG1LKT\n" "JG1MOH\n" "JG1NDM\n" "JG1OWV\n" "JG1PED\n" "JG1PST\n" "JG1RVN\n" "JG1SIS\n" "JG1SRB\n" "JG1THV\n" "JG1TLY\n" "JG1TVK\n" "JG1UKW\n" "JG1UZD\n" "JG1VVU\n" "JG1WNO\n" "JG1WRT\n" "JG1XLZ\n" "JG1ZKO\n" "JG2CNS\n" "JG2CNZ\n" "JG2GSY\n" "JG2KKG\n" "JG2KUT\n" "JG2LGM\n" "JG2NLN\n" "JG2REJ\n" "JG2SON\n" "JG2TSL\n" "JG3CKF/1\n" "JG3CQJ\n" "JG3DOC\n" "JG3FEA\n" "JG3GYO\n" "JG3IWL\n" "JG3JLC\n" "JG3KUT\n" "JG3LGD\n" "JG3MBL\n" "JG3RXZ\n" "JG3SKK\n" "JG3SVP\n" "JG3TXD\n" "JG3UVN\n" "JG3WDN\n" "JG4AKL\n" "JG4OOU\n" "JG4QFG\n" "JG5DHX\n" "JG6DVF\n" "JG6FQW/1\n" "JG6FUO\n" "JG6TPY\n" "JG6TXW\n" "JG7AMD\n" "JG7DLI\n" "JG7EHM\n" "JG7IJM\n" "JG7MFN\n" "JG7PSJ\n" "JG8QXB\n" "JG8TQL\n" "JH0BBE\n" "JH0BQX\n" "JH0CCK\n" "JH0EPI\n" "JH0EQN\n" "JH0EWT\n" "JH0EXA\n" "JH0GHZ\n" "JH0IEW\n" "JH0INE\n" "JH0INP\n" "JH0JDV/0\n" "JH0KHR\n" "JH0LSP\n" "JH0MGW\n" "JH0MHR\n" "JH0MMJ\n" "JH0MXV\n" "JH0NEC\n" "JH0NOS\n" "JH0NVX/1\n" "JH0OXS\n" "JH0QIQ\n" "JH0QYS\n" "JH0RNN\n" "JH0SGJ\n" "JH0TIS\n" "JH0WMN\n" "JH0WMN/1\n" "JH1AAN\n" "JH1ABP\n" "JH1ACA\n" "JH1AEP\n" "JH1AGU\n" "JH1APK\n" "JH1APZ\n" "JH1ARJ\n" "JH1AWJ\n" "JH1BED\n" "JH1BEL\n" "JH1BQL\n" "JH1BZJ\n" "JH1CBD\n" "JH1CCN\n" "JH1CML\n" "JH1CRF\n" "JH1CTQ\n" "JH1DGQ\n" "JH1DJD\n" "JH1DLD\n" "JH1DTX\n" "JH1DVG\n" "JH1DYV\n" "JH1EAQ\n" "JH1EEB\n" "JH1EGJ\n" "JH1ESR\n" "JH1EVD\n" "JH1EVE\n" "JH1EYM\n" "JH1FNU\n" "JH1FSF\n" "JH1FSL\n" "JH1FTL\n" "JH1FVE\n" "JH1GEV\n" "JH1GNU\n" "JH1GUL\n" "JH1GUO\n" "JH1GUO/4\n" "JH1GZE\n" "JH1HDT\n" "JH1HGF\n" "JH1HGI\n" "JH1HIC\n" "JH1HJC\n" "JH1HMC\n" "JH1HTF\n" "JH1HTQ/2\n" "JH1HXY\n" "JH1HYW\n" "JH1IAQ\n" "JH1IED\n" "JH1IOY\n" "JH1IVD\n" "JH1IXW\n" "JH1JBV\n" "JH1KIM\n" "JH1KZB\n" "JH1KZQ\n" "JH1LAH\n" "JH1LEM\n" "JH1LPF\n" "JH1LPZ\n" "JH1MDJ\n" "JH1MSB\n" "JH1MTR/4\n" "JH1NBN\n" "JH1NPQ\n" "JH1NXU\n" "JH1OBS\n" "JH1OCC\n" "JH1OGC\n" "JH1OGT\n" "JH1OHZ\n" "JH1OIV\n" "JH1OLB\n" "JH1OTZ\n" "JH1OVY\n" "JH1PCE\n" "JH1PQD\n" "JH1PXY\n" "JH1QDB\n" "JH1QDF\n" "JH1QQN\n" "JH1QVW\n" "JH1QYT\n" "JH1RDU\n" "JH1RFM\n" "JH1RFZ\n" "JH1RGG\n" "JH1RNI\n" "JH1RRP\n" "JH1SAJ\n" "JH1SAR\n" "JH1SBE\n" "JH1SJN\n" "JH1SVO\n" "JH1SWD\n" "JH1TFE\n" "JH1TKB\n" "JH1TUB\n" "JH1TWT\n" "JH1TXG/9\n" "JH1UGN\n" "JH1URT\n" "JH1UUT\n" "JH1VHU\n" "JH1VIG\n" "JH1VMI\n" "JH1WHA\n" "JH1WJR\n" "JH1WLY\n" "JH1WNL\n" "JH1WVJ\n" "JH1XFR\n" "JH1XUM\n" "JH1XUP\n" "JH1XUZ\n" "JH1XVE\n" "JH1XYB\n" "JH2AHZ\n" "JH2AMH\n" "JH2AZW\n" "JH2BAX\n" "JH2BNL\n" "JH2BTM\n" "JH2BUF\n" "JH2CMH\n" "JH2DBQ\n" "JH2DFJ\n" "JH2DTP\n" "JH2FLY\n" "JH2FXK\n" "JH2GAA\n" "JH2GSW\n" "JH2GZY\n" "JH2HUQ\n" "JH2IEE\n" "JH2KCE\n" "JH2KIL\n" "JH2LPY\n" "JH2MYN\n" "JH2NWP\n" "JH2OEY\n" "JH2PWM\n" "JH2PWY\n" "JH2QAY\n" "JH2QLC\n" "JH2QUQ\n" "JH2RMU\n" "JH2SON\n" "JH2UVL\n" "JH2WGI\n" "JH2XQY\n" "JH2XTV\n" "JH3AIU\n" "JH3BYX\n" "JH3CCT\n" "JH3CTQ\n" "JH3CUL\n" "JH3DMQ\n" "JH3EDG\n" "JH3EGA\n" "JH3EGA/1\n" "JH3EQP\n" "JH3EXI\n" "JH3FUK\n" "JH3GCN\n" "JH3HGH\n" "JH3HWL\n" "JH3JUB\n" "JH3JYS\n" "JH3KHS\n" "JH3LFL/1\n" "JH3OHO\n" "JH3PRR\n" "JH3PTC\n" "JH3QFY\n" "JH3SIF\n" "JH3UDD\n" "JH3VWN\n" "JH3WKE\n" "JH4AAG\n" "JH4ADV\n" "JH4BTI\n" "JH4CES\n" "JH4CHV\n" "JH4CPC\n" "JH4EMK\n" "JH4EYD\n" "JH4FRP\n" "JH4FUF\n" "JH4GLG\n" "JH4GNE\n" "JH4IFF\n" "JH4JNG\n" "JH4LBE\n" "JH4OQF\n" "JH4OYA\n" "JH4RCK/3\n" "JH4RNY\n" "JH4RUF\n" "JH4SLF\n" "JH4UTP\n" "JH4UYB\n" "JH4VDP\n" "JH5AVM\n" "JH5BJU/3\n" "JH5CKV\n" "JH5DAH\n" "JH5FIX\n" "JH5FXP\n" "JH5GEN\n" "JH5IRT\n" "JH5KDL\n" "JH5MXB\n" "JH5OWN\n" "JH6ANR\n" "JH6AUS\n" "JH6CDI\n" "JH6DGE\n" "JH6DUI\n" "JH6EGU\n" "JH6FTJ\n" "JH6JMM\n" "JH6JMN\n" "JH6JSR\n" "JH6LPQ\n" "JH6MBD\n" "JH6NBW\n" "JH6OSR\n" "JH6QFJ\n" "JH6REM\n" "JH6RGY\n" "JH6RKI\n" "JH6RON\n" "JH6SCA\n" "JH6TYD\n" "JH6WDG\n" "JH6WHN\n" "JH6WMJ\n" "JH6XOD\n" "JH7BMF\n" "JH7BVH\n" "JH7CUO\n" "JH7CVM\n" "JH7DNO\n" "JH7DUM\n" "JH7FMJ\n" "JH7GNC\n" "JH7IAJ\n" "JH7IMX\n" "JH7IPR/6\n" "JH7IXX\n" "JH7JCX\n" "JH7MEX\n" "JH7NTJ\n" "JH7OUW\n" "JH7PHD\n" "JH7QXJ\n" "JH7RTQ\n" "JH7RXY\n" "JH7SCY\n" "JH7UFT\n" "JH7UJI\n" "JH7XGC\n" "JH7XGN\n" "JH7XGQ\n" "JH7XMO\n" "JH8BHR\n" "JH8BOE\n" "JH8CXW\n" "JH8CZB\n" "JH8DBI\n" "JH8DBJ\n" "JH8DHV\n" "JH8FAJ\n" "JH8FAJ/1\n" "JH8FIH\n" "JH8GEU\n" "JH8JOM\n" "JH8JYV\n" "JH8KFN\n" "JH8LLE\n" "JH8OCV\n" "JH8RXM\n" "JH8SGR\n" "JH8SIT\n" "JH8SLS\n" "JH8UGL\n" "JH8WWP\n" "JH8WXF\n" "JH9AUB\n" "JH9BZY\n" "JH9CAV\n" "JH9KVF\n" "JH9MBQ\n" "JH9URT\n" "JI1AFG\n" "JI1ALP\n" "JI1ANI\n" "JI1AQY\n" "JI1AVY\n" "JI1BBN\n" "JI1BDQ\n" "JI1BHO\n" "JI1BJB\n" "JI1BXD\n" "JI1CPN\n" "JI1CQA\n" "JI1CZK\n" "JI1DQA\n" "JI1DSO\n" "JI1DXM\n" "JI1ETJ\n" "JI1FDF\n" "JI1FLB\n" "JI1FXS\n" "JI1HAC\n" "JI1HFJ\n" "JI1IXW\n" "JI1JPJ\n" "JI1KXL\n" "JI1LAI\n" "JI1LAT\n" "JI1LET\n" "JI1LVQ\n" "JI1MUT\n" "JI1NCZ\n" "JI1OAB\n" "JI1OWY\n" "JI1QEW\n" "JI1QWE\n" "JI1QZQ\n" "JI1RAK\n" "JI1RXQ\n" "JI1SAI\n" "JI1UCL\n" "JI1UDD\n" "JI1VVB\n" "JI1XAC\n" "JI1XJB\n" "JI2HVT\n" "JI2IWB\n" "JI2KXK\n" "JI2LAL\n" "JI2MWH\n" "JI2TKX\n" "JI2TNT/9\n" "JI2WYK\n" "JI2ZEY\n" "JI2ZJS\n" "JI3BAP\n" "JI3BFC\n" "JI3BKF\n" "JI3CJP\n" "JI3CWI\n" "JI3DST\n" "JI3DST/3\n" "JI3DST/6\n" "JI3FLA\n" "JI3FSI\n" "JI3ICP\n" "JI3JMG\n" "JI3KDH\n" "JI3KXB\n" "JI3KZD\n" "JI3MCM\n" "JI3OGI\n" "JI3OQO\n" "JI3QBQ\n" "JI4HKA\n" "JI4JGD\n" "JI4OHV\n" "JI4POR\n" "JI4UEN/4\n" "JI4VXI\n" "JI4WHS\n" "JI5KGQ\n" "JI5RPT\n" "JI6AVL\n" "JI6IKW\n" "JI6OXK\n" "JI7EMD\n" "JI7GYU\n" "JI7HAV\n" "JI7NUF\n" "JI7RRS\n" "JI7UUO\n" "JI8XLD\n" "JJ0FVP\n" "JJ0HEN\n" "JJ0JML\n" "JJ0KDW\n" "JJ0KRD\n" "JJ0MPI\n" "JJ0NCC\n" "JJ0PER\n" "JJ1CBY\n" "JJ1CZR\n" "JJ1ENZ\n" "JJ1FDS\n" "JJ1FHH\n" "JJ1GQH\n" "JJ1IDW\n" "JJ1IVX\n" "JJ1LBJ\n" "JJ1LIB\n" "JJ1LID\n" "JJ1LRD\n" "JJ1MIX\n" "JJ1MZH\n" "JJ1NDP\n" "JJ1OAS\n" "JJ1OFQ\n" "JJ1QLT\n" "JJ1RSH\n" "JJ1SKG\n" "JJ1TBQ\n" "JJ1TJD\n" "JJ1VGA\n" "JJ1VJB\n" "JJ1VRO\n" "JJ1VTE\n" "JJ1WSN\n" "JJ1WWL\n" "JJ1XKE\n" "JJ1XPJ\n" "JJ1ZEJ\n" "JJ2CJB\n" "JJ2EOB\n" "JJ2HCM\n" "JJ2IBN\n" "JJ2JQF\n" "JJ2JQF/1\n" "JJ2LPV\n" "JJ2NKX\n" "JJ2ONH\n" "JJ2PUG\n" "JJ2SQJ\n" "JJ2TKX\n" "JJ2YDV\n" "JJ3DXD\n" "JJ3GPJ\n" "JJ3JHP\n" "JJ3JJL\n" "JJ3LLT\n" "JJ3OFL\n" "JJ3SHR\n" "JJ3TBB\n" "JJ4CDW/4\n" "JJ4NZO/1\n" "JJ5EFY\n" "JJ5GMJ\n" "JJ6CZZ\n" "JJ6TWQ\n" "JJ7GCL\n" "JK1AFC\n" "JK1AII\n" "JK1BII\n" "JK1BQS\n" "JK1DHX\n" "JK1ECD\n" "JK1FFB\n" "JK1FNL\n" "JK1FNN\n" "JK1GKG\n" "JK1GMB\n" "JK1HWQ\n" "JK1JHB\n" "JK1KFO\n" "JK1KSB\n" "JK1LUY\n" "JK1MZT\n" "JK1NMJ\n" "JK1NSR\n" "JK1ODA\n" "JK1OLT\n" "JK1OPL\n" "JK1OXU\n" "JK1PDY\n" "JK1PIU\n" "JK1PLR\n" "JK1RAU\n" "JK1SDQ\n" "JK1SMY\n" "JK1SPQ\n" "JK1TCV\n" "JK1THF\n" "JK1TMP\n" "JK1UKQ\n" "JK1UVP\n" "JK1VEL\n" "JK1WXM\n" "JK1YMM\n" "JK2GMX\n" "JK2KNR\n" "JK2MDV\n" "JK2TTP\n" "JK2VOC\n" "JK2VOC/BA4TB\n" "JK2VQR\n" "JK3AGC\n" "JK3AHS\n" "JK3GHE\n" "JK3GWT\n" "JK3HFN\n" "JK3HLP\n" "JK3JTJ\n" "JK3NSD\n" "JK3ZCR\n" "JK4KSD\n" "JK6JAB\n" "JK6SEW\n" "JK7UST\n" "JK8NQW\n" "JK8USI\n" "JL1ARF\n" "JL1BDI\n" "JL1BNE\n" "JL1BYZ\n" "JL1CNY\n" "JL1DUE\n" "JL1EBL\n" "JL1EDB\n" "JL1EEE\n" "JL1ELQ\n" "JL1GXO\n" "JL1HSD\n" "JL1IHE\n" "JL1JJD\n" "JL1KLG\n" "JL1LNC\n" "JL1MUT\n" "JL1MWI\n" "JL1MWY\n" "JL1OHO\n" "JL1OXH\n" "JL1PPS\n" "JL1QOC\n" "JL1RUC\n" "JL1RXW\n" "JL1SAM\n" "JL1UJJ\n" "JL1UTS\n" "JL1VFZ\n" "JL1WPQ\n" "JL1XMN\n" "JL2CZY\n" "JL2LPX\n" "JL2VZJ\n" "JL3APM\n" "JL3CRS\n" "JL3JTD\n" "JL3MCM\n" "JL3QJQ\n" "JL3RDC\n" "JL3RNZ\n" "JL3RPD\n" "JL3RTA\n" "JL3SBE\n" "JL3TEQ\n" "JL3VUL/3\n" "JL4BSE\n" "JL4HOZ\n" "JL4LWL\n" "JL4WYY\n" "JL6IPK\n" "JL6MSN\n" "JL6TKN\n" "JL7FBV/1\n" "JL7SNM\n" "JL8AQH\n" "JL8GOV\n" "JL8LBK\n" "JL8MBF\n" "JL8VIV\n" "JM1AHX\n" "JM1BKZ\n" "JM1CYJ\n" "JM1EKM\n" "JM1FBF\n" "JM1FHL\n" "JM1FYH\n" "JM1HJG\n" "JM1IMF\n" "JM1ISX\n" "JM1JZN\n" "JM1KLO\n" "JM1KNI\n" "JM1LKI\n" "JM1LQI\n" "JM1LRQ\n" "JM1LWY\n" "JM1NKT\n" "JM1QBY\n" "JM1RQS\n" "JM1RSV\n" "JM1SBU\n" "JM1SMY\n" "JM1TUY\n" "JM1TWR\n" "JM1UTT\n" "JM1UWB\n" "JM1XCW\n" "JM1XSJ\n" "JM2DRM\n" "JM2LEI\n" "JM2LHB\n" "JM2LOF\n" "JM2MHQ\n" "JM2RUV\n" "JM2VYA\n" "JM3APP\n" "JM3PLL\n" "JM3QML\n" "JM3ROY\n" "JM3UAO\n" "JM3UML\n" "JM4UVV\n" "JM4WUZ\n" "JM6BYV\n" "JM7NBS\n" "JM7OLW\n" "JN1ADL\n" "JN1BBO\n" "JN1BMX\n" "JN1CJS\n" "JN1DJY\n" "JN1DNV\n" "JN1GLB\n" "JN1IZK\n" "JN1IZR\n" "JN1KWR\n" "JN1LWD\n" "JN1MSO\n" "JN1NDY\n" "JN1NOP\n" "JN1NTK\n" "JN1PFH\n" "JN1RQV\n" "JN1WFF\n" "JN2AMD\n" "JN2NOJ\n" "JN3DMJ\n" "JN3DRX\n" "JN3DSH\n" "JN3IWE\n" "JN3KST\n" "JN3LQP\n" "JN3MUC\n" "JN3SAC\n" "JN4FNZ\n" "JN4MMO\n" "JN4SNG\n" "JN4XYZ\n" "JN6EPA\n" "JN6GBB\n" "JN6VSN\n" "JN6VSN/1\n" "JN7GLC\n" "JN7IIR\n" "JN7MLJ\n" "JN7TAN\n" "JO1ABS\n" "JO1COV\n" "JO1DZA\n" "JO1GUZ\n" "JO1HJD\n" "JO1KCQ\n" "JO1KVS\n" "JO1KXP\n" "JO1KXP/1\n" "JO1LVZ\n" "JO1NLN\n" "JO1PNA\n" "JO1QNO\n" "JO1QZI\n" "JO1RUQ\n" "JO1SIM\n" "JO1UOK\n" "JO1UTR\n" "JO1VRV\n" "JO1WIZ\n" "JO1WKO\n" "JO1WNV\n" "JO1WZM\n" "JO1XEU\n" "JO2EWL\n" "JO2VSU\n" "JO3AGQ\n" "JO3AXC\n" "JO3AYN\n" "JO3DDD\n" "JO3EVM\n" "JO3GZH\n" "JO3JYE\n" "JO3MXH\n" "JO3NJD\n" "JO3PSJ\n" "JO3PSJ/3\n" "JO3PSJ/4\n" "JO3RCK\n" "JO3TGL\n" "JO4CBO\n" "JO4CFV\n" "JO6XMM\n" "JO7AJQ\n" "JO7GVC\n" "JO7HAM\n" "JO7INF\n" "JO7KJC\n" "JO7NFR\n" "JP1AEG\n" "JP1DMR\n" "JP1EWY\n" "JP1HDK\n" "JP1HUJ\n" "JP1IOF\n" "JP1IXV\n" "JP1JFG\n" "JP1KHY\n" "JP1PQD\n" "JP1PZE\n" "JP1QDH\n" "JP1SRG\n" "JP1TRJ\n" "JP1TVC\n" "JP2MRD\n" "JP3AZM\n" "JP3WAU\n" "JP6OGP\n" "JP7AWQ\n" "JQ1ABC\n" "JQ1AHZ/6\n" "JQ1BVI\n" "JQ1COB\n" "JQ1DPP\n" "JQ1DTT\n" "JQ1GXV\n" "JQ1NGT\n" "JQ1PCX\n" "JQ1QGM\n" "JQ1QKK\n" "JQ1RKI\n" "JQ1SUO\n" "JQ1TAR\n" "JQ1VDJ\n" "JQ1VDJ/1\n" "JQ1YER\n" "JQ1YIW\n" "JQ1YWK\n" "JQ2EHD\n" "JQ2GYU\n" "JQ2HVN\n" "JQ2MUM\n" "JQ2OUL\n" "JQ2QHQ\n" "JQ2SIX\n" "JQ2UMS\n" "JQ2UNS\n" "JQ2UNY\n" "JQ2UOZ\n" "JQ2VVH\n" "JQ2WTT\n" "JQ3UDL\n" "JQ6CAA\n" "JQ6JBU\n" "JQ6NAW\n" "JQ6OZP\n" "JQ6QNQ\n" "JR0AMD\n" "JR0BUL\n" "JR0EQQ\n" "JR0ETA\n" "JR0GUY\n" "JR0GXA\n" "JR0HYT/1\n" "JR0KVU/1\n" "JR0WZR\n" "JR1AHL\n" "JR1AHQ\n" "JR1ATA\n" "JR1AUK\n" "JR1BAS\n" "JR1BLX\n" "JR1BRS\n" "JR1BTG\n" "JR1BYO\n" "JR1CBC\n" "JR1CCT\n" "JR1CJD\n" "JR1CJD/1\n" "JR1CVU\n" "JR1DIU\n" "JR1DUP\n" "JR1ERU\n" "JR1FHP\n" "JR1FVI\n" "JR1GCN\n" "JR1GFX\n" "JR1GJP\n" "JR1GLL\n" "JR1GMK\n" "JR1GNB\n" "JR1GVP\n" "JR1HUA\n" "JR1IJV\n" "JR1IZM\n" "JR1IZM/1\n" "JR1KAG\n" "JR1KQU\n" "JR1LEV\n" "JR1LZK\n" "JR1MQT\n" "JR1MRG\n" "JR1MTS\n" "JR1NAL\n" "JR1NHD\n" "JR1NKN\n" "JR1PST\n" "JR1RGX\n" "JR1TOK\n" "JR1TRK\n" "JR1UBR\n" "JR1UFN\n" "JR1UMO\n" "JR1VAY\n" "JR1WLR\n" "JR1XFS\n" "JR2AAN\n" "JR2AAN/2\n" "JR2AGL\n" "JR2ALA\n" "JR2AWS\n" "JR2BOF\n" "JR2BQN\n" "JR2BYJ\n" "JR2DOL\n" "JR2DUM\n" "JR2ECF\n" "JR2FJC\n" "JR2KDN\n" "JR2MCN\n" "JR2MIN\n" "JR2MLV\n" "JR2NTC\n" "JR2NTC/2\n" "JR2PAU\n" "JR2PMQ\n" "JR2PMT\n" "JR2SCJ\n" "JR2SCZ\n" "JR2SQU\n" "JR2TMB/1\n" "JR2TRC\n" "JR2TZJ\n" "JR2UBS\n" "JR2VWD\n" "JR2XOM\n" "JR3AAZ\n" "JR3BOT\n" "JR3CNQ\n" "JR3EOI\n" "JR3FQB\n" "JR3GVH\n" "JR3HTK\n" "JR3HZW\n" "JR3IIR\n" "JR3JFZ\n" "JR3KAH\n" "JR3KQJ\n" "JR3NDM\n" "JR3NZC\n" "JR3OEH\n" "JR3PKO\n" "JR3QHQ\n" "JR3RGX\n" "JR3RIY\n" "JR3RWB\n" "JR3STX\n" "JR3SZZ/3\n" "JR3TOE\n" "JR3UIC\n" "JR3VFU\n" "JR3VXR\n" "JR3XEX\n" "JR3XKF\n" "JR4ABB\n" "JR4DAH\n" "JR4DHK\n" "JR4FLW\n" "JR4GPA\n" "JR4HTZ\n" "JR4IMV\n" "JR4ISF/3\n" "JR4KJW\n" "JR4LRY\n" "JR4NMV\n" "JR4OHO\n" "JR4PDP\n" "JR4PMX/1\n" "JR4URW\n" "JR4VEV\n" "JR4XME\n" "JR5DPV\n" "JR5EPQ\n" "JR5GZV\n" "JR5HKM\n" "JR5HXU\n" "JR5JAQ\n" "JR5MYC\n" "JR5VHU\n" "JR5XPG\n" "JR5YBH\n" "JR6AG\n" "JR6AUC\n" "JR6BU\n" "JR6EZE\n" "JR6FC\n" "JR6FRV\n" "JR6GHN\n" "JR6GIM\n" "JR6HMJ/1\n" "JR6IGU\n" "JR6IKD\n" "JR6KBY\n" "JR6LLN\n" "JR6OSY\n" "JR6SVM\n" "JR6VIX\n" "JR6YAA\n" "JR7AMZ\n" "JR7ANB\n" "JR7AQL\n" "JR7COP\n" "JR7DXN\n" "JR7FNT\n" "JR7FVO\n" "JR7IAD\n" "JR7KSZ\n" "JR7MAZ\n" "JR7NAL/1\n" "JR7NFW\n" "JR7NXM\n" "JR7RZM\n" "JR7RZM/6\n" "JR7TBZ\n" "JR7TEQ\n" "JR7VHZ\n" "JR7WAB\n" "JR7XGL\n" "JR7XKN\n" "JR7YGK\n" "JR8AMF\n" "JR8BHW\n" "JR8NOD\n" "JR8ORC\n" "JR8OXT\n" "JR8PPG\n" "JR8QFG\n" "JR8QVT/1\n" "JR8SUB\n" "JR8VSE\n" "JR9CPT\n" "JR9GEX\n" "JR9GMS\n" "JR9NVB\n" "JR9SCH\n" "JS1DLC\n" "JS1JTX\n" "JS1KQQ\n" "JS1LQI\n" "JS1MZV\n" "JS1NDM\n" "JS1OHI\n" "JS1OKS\n" "JS1OYN\n" "JS2NYO\n" "JS3CTQ\n" "JS3EOE\n" "JS3LSQ\n" "JS3OSI\n" "JS3QBP\n" "JS3QWI\n" "JS6DMT\n" "JS6GIM\n" "JS6RGY\n" "JS6RRR\n" "JS6RTJ\n" "JT1AA\n" "JT1BE\n" "JT1BH\n" "JT1BL\n" "JT1BV\n" "JT1BZ\n" "JT1C\n" "JT1CD\n" "JT1CJ\n" "JT1CO\n" "JT1CS\n" "JT1DA\n" "JT1R\n" "JT1ZO\n" "JT5DX\n" "JU1DX\n" "JU1F\n" "JU75BSI\n" "JV1A\n" "JW1CCA\n" "JW5E\n" "JW5HE\n" "JW5NM\n" "JW7QIA\n" "JW7XK\n" "JY3ZH\n" "JY4CI\n" "JY4NE\n" "JY5CC\n" "JY6HQ\n" "K0ABC\n" "K0ACP\n" "K0AD\n" "K0ADX\n" "K0AE\n" "K0AIZ\n" "K0AK\n" "K0ALT\n" "K0ALV\n" "K0ANS\n" "K0AOZ\n" "K0AP\n" "K0ARK\n" "K0ARS\n" "K0ARY\n" "K0AV\n" "K0AWU\n" "K0AXX\n" "K0AZ\n" "K0BJ\n" "K0BLT\n" "K0BO\n" "K0BOG\n" "K0BUD\n" "K0BWJ\n" "K0BWQ\n" "K0BX\n" "K0CA\n" "K0CCM\n" "K0CD\n" "K0CF\n" "K0CIE/5\n" "K0CIY\n" "K0CKD\n" "K0CL\n" "K0CMH\n" "K0CMS\n" "K0CN\n" "K0COM\n" "K0COP\n" "K0CS\n" "K0CW\n" "K0DBN\n" "K0DEQ\n" "K0DI\n" "K0DK\n" "K0DLW\n" "K0DN\n" "K0DNG\n" "K0DQ\n" "K0DTJ\n" "K0DU\n" "K0DVV\n" "K0DVY\n" "K0DXC\n" "K0EA\n" "K0EIA\n" "K0EJ\n" "K0EKL\n" "K0EOA\n" "K0EOO\n" "K0EOU\n" "K0EQH\n" "K0ESE\n" "K0ETV\n" "K0ETY\n" "K0EU\n" "K0EWS\n" "K0EX\n" "K0FA\n" "K0FBV\n" "K0FG\n" "K0FHG\n" "K0FJ\n" "K0FLY\n" "K0FM\n" "K0FPL\n" "K0FRP\n" "K0FS\n" "K0FTC\n" "K0FVF\n" "K0FW\n" "K0FX\n" "K0FY\n" "K0FYI\n" "K0GAS\n" "K0GBC\n" "K0GEO\n" "K0GLT\n" "K0GM\n" "K0GMO\n" "K0GND\n" "K0GPF\n" "K0GSV\n" "K0GT\n" "K0GVG\n" "K0GXI\n" "K0HA\n" "K0HAA\n" "K0HB\n" "K0HC\n" "K0HGW\n" "K0HHB\n" "K0HIP\n" "K0HJC\n" "K0HMO\n" "K0HNC\n" "K0HNM\n" "K0HP\n" "K0HRM\n" "K0HS\n" "K0HT\n" "K0HUU\n" "K0HW\n" "K0IDT\n" "K0IE\n" "K0IEA\n" "K0INR\n" "K0IO\n" "K0IP\n" "K0IR\n" "K0IRL\n" "K0IS\n" "K0ISL\n" "K0ITC\n" "K0IUC\n" "K0IVK\n" "K0IYA\n" "K0IZ\n" "K0JA\n" "K0JCK\n" "K0JDD\n" "K0JE\n" "K0JEM\n" "K0JGH\n" "K0JJ\n" "K0JJM\n" "K0JJR\n" "K0JPL\n" "K0JSC\n" "K0JUH\n" "K0JV\n" "K0JZW\n" "K0KD\n" "K0KE\n" "K0KES\n" "K0KJS\n" "K0KL\n" "K0KP\n" "K0KRH\n" "K0KT\n" "K0KU\n" "K0KVR\n" "K0KW\n" "K0KX\n" "K0KY\n" "K0KZA\n" "K0LAF\n" "K0LC\n" "K0LDS\n" "K0LEJ\n" "K0LFV\n" "K0LG\n" "K0LIR\n" "K0LMD\n" "K0LU\n" "K0LUZ\n" "K0LW\n" "K0LWV\n" "K0MA\n" "K0MAF\n" "K0MD\n" "K0MDS\n" "K0MF\n" "K0MIS\n" "K0MJS\n" "K0MPH\n" "K0MZN\n" "K0NA\n" "K0NE\n" "K0NI\n" "K0NM\n" "K0NN\n" "K0NO\n" "K0NW\n" "K0NWT\n" "K0NX\n" "K0NY\n" "K0NZ\n" "K0OB\n" "K0OD\n" "K0OK\n" "K0OLD\n" "K0OSW\n" "K0OU\n" "K0PC\n" "K0PFV\n" "K0PFX\n" "K0PFZ\n" "K0PIR\n" "K0PJ\n" "K0PK\n" "K0PL\n" "K0PP\n" "K0PP/7\n" "K0PT\n" "K0PY\n" "K0QB\n" "K0QC\n" "K0QH\n" "K0QL\n" "K0QQ\n" "K0QU\n" "K0RC\n" "K0RDK\n" "K0RDW\n" "K0RF\n" "K0RFD\n" "K0RG\n" "K0RGR\n" "K0RH\n" "K0RI\n" "K0RPD\n" "K0RRP\n" "K0RRY\n" "K0RS\n" "K0RU\n" "K0RY\n" "K0RZ\n" "K0SA\n" "K0SBV\n" "K0SCM\n" "K0SDW\n" "K0SF\n" "K0SIX\n" "K0SN\n" "K0SPI\n" "K0SQ\n" "K0SR\n" "K0SRL\n" "K0SRW\n" "K0SV\n" "K0SVX\n" "K0SW\n" "K0SX\n" "K0TER\n" "K0TG\n" "K0THN\n" "K0TI\n" "K0TIV\n" "K0TK\n" "K0TO\n" "K0TPK\n" "K0TPP\n" "K0TQ\n" "K0TRT\n" "K0TT\n" "K0TTY\n" "K0TV\n" "K0TZ\n" "K0UA\n" "K0UAS\n" "K0UB\n" "K0UD\n" "K0UE\n" "K0UIF\n" "K0UK\n" "K0UM\n" "K0URN\n" "K0USA\n" "K0UU\n" "K0VAR\n" "K0VBU\n" "K0VEE\n" "K0VET\n" "K0VG\n" "K0VH\n" "K0VIZ\n" "K0VK\n" "K0VM\n" "K0VR\n" "K0VVY\n" "K0VXP\n" "K0VXU\n" "K0VZT\n" "K0WA\n" "K0WB\n" "K0WHV\n" "K0WIU\n" "K0WK\n" "K0XB\n" "K0XD\n" "K0XE\n" "K0XI\n" "K0XTR\n" "K0XU\n" "K0XY\n" "K0YCR\n" "K0YLW\n" "K0YQ\n" "K0YQ/7\n" "K0YR\n" "K0YY\n" "K0ZK\n" "K0ZN\n" "K0ZR\n" "K0ZX\n" "K1AA\n" "K1AA/4\n" "K1AC\n" "K1AF\n" "K1AIR\n" "K1AJ\n" "K1ANT\n" "K1AR\n" "K1ARO\n" "K1ASA\n" "K1ATT\n" "K1BAA\n" "K1BBM\n" "K1BD\n" "K1BG\n" "K1BKE\n" "K1BO\n" "K1BV\n" "K1BW\n" "K1BX\n" "K1BZM\n" "K1CBR\n" "K1CL\n" "K1CN\n" "K1CP\n" "K1CTT\n" "K1DAN\n" "K1DAT\n" "K1DAT/1\n" "K1DC\n" "K1DD\n" "K1DEC\n" "K1DFT\n" "K1DG\n" "K1DM\n" "K1DQV\n" "K1DRM\n" "K1DRW\n" "K1DS\n" "K1DT\n" "K1DUQ\n" "K1DW\n" "K1DX\n" "K1DXA\n" "K1DZS\n" "K1EA\n" "K1EAR\n" "K1EBY\n" "K1EEE\n" "K1EFI\n" "K1EKF\n" "K1EO\n" "K1EP\n" "K1EQA\n" "K1ESE\n" "K1EY\n" "K1FE\n" "K1FEV\n" "K1FFX\n" "K1FIR\n" "K1FJH\n" "K1FQ\n" "K1FTK\n" "K1FUG\n" "K1FWE\n" "K1FXY\n" "K1GE\n" "K1GI\n" "K1GIG\n" "K1GIL\n" "K1GMD\n" "K1GQ\n" "K1GTS\n" "K1GU\n" "K1GU/4\n" "K1GUN\n" "K1GUP\n" "K1GW\n" "K1HAP\n" "K1HI\n" "K1HOP\n" "K1HR\n" "K1HT\n" "K1HT/8\n" "K1HTJ\n" "K1HTN\n" "K1HTQ\n" "K1HTV\n" "K1HV\n" "K1HZ\n" "K1IB\n" "K1IEB\n" "K1IED\n" "K1IF\n" "K1IK\n" "K1ILR\n" "K1IM\n" "K1IMI\n" "K1IN\n" "K1IPT\n" "K1IR\n" "K1IX\n" "K1JB\n" "K1JC\n" "K1JD\n" "K1JDL\n" "K1JE\n" "K1JI\n" "K1JO\n" "K1JOS\n" "K1JT\n" "K1JTF\n" "K1JWP\n" "K1KA\n" "K1KAV\n" "K1KBA\n" "K1KD\n" "K1KDG\n" "K1KE\n" "K1KI\n" "K1KLM\n" "K1KNJ\n" "K1KNM\n" "K1KNQ\n" "K1KO\n" "K1KP\n" "K1KQ\n" "K1KS\n" "K1KU\n" "K1KUZ\n" "K1KX\n" "K1LD\n" "K1LEE\n" "K1LGM\n" "K1LGQ\n" "K1LHO\n" "K1LI\n" "K1LKP\n" "K1LKR\n" "K1LOG\n" "K1LPS\n" "K1LT\n" "K1LTJ\n" "K1LU\n" "K1LZ\n" "K1MAA\n" "K1MC\n" "K1MIJ\n" "K1MK\n" "K1MM\n" "K1MO\n" "K1MQ\n" "K1MR\n" "K1MTK\n" "K1MVM\n" "K1MVY\n" "K1MW\n" "K1NA\n" "K1ND\n" "K1NDF\n" "K1NDV\n" "K1NEF\n" "K1NG\n" "K1NH\n" "K1NI\n" "K1NIU\n" "K1NJ\n" "K1NK\n" "K1NKA\n" "K1NNJ\n" "K1NPT\n" "K1NR\n" "K1NSS\n" "K1NTR\n" "K1NU\n" "K1NUH\n" "K1NV\n" "K1NY\n" "K1OA\n" "K1OCD\n" "K1OU\n" "K1OW\n" "K1OYQ\n" "K1PAD\n" "K1PDY\n" "K1PJ\n" "K1PL\n" "K1PLX\n" "K1PS\n" "K1PT\n" "K1PTF\n" "K1PU\n" "K1PUB\n" "K1PV\n" "K1PY\n" "K1QF\n" "K1QK\n" "K1QO\n" "K1QR\n" "K1QS\n" "K1QW\n" "K1QX\n" "K1RA\n" "K1RC\n" "K1RH\n" "K1RJV\n" "K1RK\n" "K1RM\n" "K1RO\n" "K1RQ\n" "K1RRR\n" "K1RS\n" "K1RU\n" "K1RV\n" "K1RX\n" "K1RY\n" "K1RZ\n" "K1SA\n" "K1SA/4\n" "K1SD\n" "K1SE\n" "K1SEZ\n" "K1SFA\n" "K1SI\n" "K1SL\n" "K1SL/6\n" "K1SLB\n" "K1SM\n" "K1SND\n" "K1SO\n" "K1SSH\n" "K1ST\n" "K1SUB\n" "K1SVC\n" "K1SVT\n" "K1SXD\n" "K1TA\n" "K1TAX\n" "K1TC\n" "K1TG\n" "K1TH\n" "K1THP\n" "K1TKJ\n" "K1TKL\n" "K1TM\n" "K1TN\n" "K1TN/2\n" "K1TO\n" "K1TR\n" "K1TTT\n" "K1TTY\n" "K1TW\n" "K1TZD\n" "K1UI\n" "K1UO\n" "K1UQT\n" "K1UR\n" "K1UTI\n" "K1VA\n" "K1VC\n" "K1VDF\n" "K1VI\n" "K1VIJ\n" "K1VLB\n" "K1VM\n" "K1VMI\n" "K1VML\n" "K1VO\n" "K1VSJ\n" "K1VT\n" "K1VU\n" "K1VV\n" "K1VW\n" "K1WB\n" "K1WCC\n" "K1WHS\n" "K1WN\n" "K1WO\n" "K1WVU\n" "K1WW\n" "K1WY\n" "K1XM\n" "K1XN\n" "K1XO\n" "K1XT\n" "K1XV\n" "K1YA\n" "K1YE\n" "K1YK\n" "K1YM\n" "K1YQ\n" "K1YSY\n" "K1YT\n" "K1YX\n" "K1ZE\n" "K1ZG\n" "K1ZM\n" "K1ZO\n" "K1ZR\n" "K1ZW\n" "K1ZW/4\n" "K1ZZ\n" "K1ZZI\n" "K2AAW\n" "K2AFY\n" "K2AMI\n" "K2AMP\n" "K2AOP\n" "K2AQ\n" "K2ARO\n" "K2ATX\n" "K2AV\n" "K2AVX\n" "K2AX\n" "K2AXX\n" "K2BB\n" "K2BBQ\n" "K2BLA\n" "K2BLC\n" "K2BOG\n" "K2BQ\n" "K2BQW\n" "K2BW\n" "K2BX\n" "K2CAF\n" "K2CBI\n" "K2CC\n" "K2CDJ\n" "K2CF\n" "K2CIB\n" "K2CJ\n" "K2CM\n" "K2CS\n" "K2CUB\n" "K2CV\n" "K2CVG\n" "K2DAR\n" "K2DB\n" "K2DBK\n" "K2DC\n" "K2DEN\n" "K2DER\n" "K2DFC\n" "K2DGM\n" "K2DI\n" "K2DL\n" "K2DLJ\n" "K2DLS\n" "K2DM\n" "K2DP\n" "K2DRN\n" "K2DS\n" "K2DSL\n" "K2DSL/4\n" "K2DUX\n" "K2EEF\n" "K2EGJ\n" "K2EK\n" "K2EKM\n" "K2EN\n" "K2EP\n" "K2ER\n" "K2ERG\n" "K2ESE\n" "K2EUH\n" "K2FF\n" "K2FJ\n" "K2FL\n" "K2FU\n" "K2FW\n" "K2GE\n" "K2GEK\n" "K2GER\n" "K2GIL\n" "K2GJJ\n" "K2GLS\n" "K2GMY\n" "K2GN\n" "K2GNR\n" "K2GNR/7\n" "K2GSP\n" "K2GTC\n" "K2GV\n" "K2GXT\n" "K2HGO\n" "K2HIG\n" "K2HK\n" "K2HL\n" "K2HN\n" "K2HPV\n" "K2HQ\n" "K2HSV\n" "K2HT\n" "K2HTO\n" "K2HVE\n" "K2IC\n" "K2ID\n" "K2IGW\n" "K2IL\n" "K2ITT\n" "K2IUC\n" "K2IWR\n" "K2IXQ\n" "K2IY\n" "K2IZ\n" "K2JAO\n" "K2JAY\n" "K2JMY\n" "K2JT\n" "K2KEY\n" "K2KNB\n" "K2KQ\n" "K2KR\n" "K2KSH\n" "K2KW\n" "K2LE\n" "K2LML\n" "K2LNS\n" "K2LP\n" "K2LRE\n" "K2LS\n" "K2LTS\n" "K2MAI\n" "K2MD\n" "K2MEN\n" "K2MFW\n" "K2MFY\n" "K2MGR\n" "K2MK\n" "K2MLB\n" "K2MM\n" "K2MME\n" "K2MMO\n" "K2MMW\n" "K2MO\n" "K2MP\n" "K2MUB\n" "K2NDR\n" "K2NF\n" "K2NG\n" "K2NJ\n" "K2NNY\n" "K2NRC\n" "K2NV\n" "K2NV/VE3\n" "K2NYG\n" "K2OAK\n" "K2ODC\n" "K2OEK\n" "K2OF\n" "K2OGD\n" "K2OGD/4\n" "K2OID\n" "K2OK\n" "K2ONP\n" "K2OO\n" "K2OQA\n" "K2OS\n" "K2OVS\n" "K2OWE\n" "K2OWR\n" "K2PF\n" "K2PGB\n" "K2PH\n" "K2PK\n" "K2PLF\n" "K2PO\n" "K2PO/7\n" "K2PS\n" "K2PSD\n" "K2PW\n" "K2QD\n" "K2QDY\n" "K2QMF\n" "K2QNU\n" "K2QO\n" "K2QPN\n" "K2QQ\n" "K2QY\n" "K2RB\n" "K2RD\n" "K2RDX\n" "K2RED\n" "K2RET\n" "K2RI\n" "K2RIG\n" "K2RMA\n" "K2RNY\n" "K2RP\n" "K2RPC\n" "K2RR\n" "K2RRV\n" "K2RS\n" "K2RSB\n" "K2RSK\n" "K2SA\n" "K2SAX\n" "K2SD\n" "K2SFS\n" "K2SG\n" "K2SGH\n" "K2SHZ\n" "K2SI\n" "K2SJ\n" "K2SLZ\n" "K2SM\n" "K2SMC\n" "K2SQS\n" "K2SR\n" "K2SS\n" "K2STO\n" "K2SX\n" "K2SZ\n" "K2TB\n" "K2TD\n" "K2TE\n" "K2TGI\n" "K2TGW\n" "K2TJ\n" "K2TJJ\n" "K2TL\n" "K2TO\n" "K2TQC\n" "K2TR\n" "K2TT\n" "K2TTT\n" "K2TV\n" "K2TVY\n" "K2TW\n" "K2TWI\n" "K2TWK\n" "K2TZ\n" "K2UC\n" "K2UF\n" "K2UFT\n" "K2ULF\n" "K2UM\n" "K2UO\n" "K2UOP\n" "K2UR\n" "K2UT\n" "K2UTC\n" "K2UU\n" "K2UV\n" "K2UX\n" "K2UY\n" "K2VCO\n" "K2VNS\n" "K2VPX\n" "K2VUI\n" "K2VV\n" "K2VX\n" "K2VY\n" "K2VZ\n" "K2WCT\n" "K2WG\n" "K2WH\n" "K2WK\n" "K2WO\n" "K2WOP\n" "K2WR\n" "K2WU\n" "K2XA\n" "K2XB\n" "K2XC\n" "K2XE\n" "K2XF\n" "K2XN\n" "K2XR\n" "K2XT\n" "K2XX\n" "K2YEH\n" "K2YG\n" "K2YR\n" "K2YY\n" "K2YYD\n" "K2YZO\n" "K2ZB\n" "K2ZC\n" "K2ZF\n" "K2ZJ\n" "K2ZQ\n" "K2ZR\n" "K2ZR/4\n" "K2ZS\n" "K2ZVI\n" "K3AFR\n" "K3AJ\n" "K3AN\n" "K3AQ\n" "K3ARK\n" "K3ASK\n" "K3ATO\n" "K3AU\n" "K3BBB\n" "K3BDI\n" "K3BEQ\n" "K3BEV\n" "K3BFQ\n" "K3BHX\n" "K3BSY\n" "K3BTK\n" "K3BU\n" "K3BVQ\n" "K3BVU\n" "K3BYU\n" "K3BZ\n" "K3CB\n" "K3CDQ\n" "K3CKT\n" "K3CO\n" "K3CQ\n" "K3CR\n" "K3CSL\n" "K3CT\n" "K3CXB\n" "K3DCW\n" "K3DE\n" "K3DI\n" "K3DJ\n" "K3DMG\n" "K3DNE\n" "K3DOS\n" "K3DQ\n" "K3DQB\n" "K3DYU\n" "K3EE\n" "K3EIN\n" "K3EL\n" "K3EP\n" "K3ERN\n" "K3EST\n" "K3FGO\n" "K3FH\n" "K3FH/4\n" "K3FIV\n" "K3FN\n" "K3FOP\n" "K3FP\n" "K3FS\n" "K3FT\n" "K3FWG\n" "K3FXR\n" "K3GC\n" "K3GEG\n" "K3GEN\n" "K3GEV\n" "K3GGN\n" "K3GHH\n" "K3GK\n" "K3GM\n" "K3GMT\n" "K3GP\n" "K3GP/8\n" "K3GW\n" "K3GWK\n" "K3GY\n" "K3GYS\n" "K3HH\n" "K3HP\n" "K3HR\n" "K3HX\n" "K3HY\n" "K3IA\n" "K3IE\n" "K3II\n" "K3IPK\n" "K3ISH\n" "K3IU\n" "K3IVO\n" "K3IXD\n" "K3IXD/4\n" "K3IZ\n" "K3JA\n" "K3JD\n" "K3JHT\n" "K3JJG\n" "K3JLM\n" "K3JMH\n" "K3JPW\n" "K3JRR\n" "K3JT\n" "K3JT/8\n" "K3JVB\n" "K3JWI\n" "K3JXO\n" "K3KE\n" "K3KK\n" "K3KN\n" "K3KNL\n" "K3KO\n" "K3KU\n" "K3LA\n" "K3LAB\n" "K3LB\n" "K3LJ\n" "K3LL\n" "K3LMR\n" "K3LP\n" "K3LPP\n" "K3LR\n" "K3LRH\n" "K3LS\n" "K3LU\n" "K3LUE\n" "K3MD\n" "K3MI\n" "K3MIM\n" "K3MIY\n" "K3MJ\n" "K3MJW\n" "K3MKZ\n" "K3MLT\n" "K3MM\n" "K3MOT\n" "K3MOV\n" "K3MQ\n" "K3MQP\n" "K3MRG\n" "K3MRK\n" "K3MSB\n" "K3MZ\n" "K3NA\n" "K3NC\n" "K3NCO\n" "K3ND\n" "K3NF\n" "K3NK\n" "K3NL\n" "K3NM\n" "K3NQV\n" "K3NRK\n" "K3NUI\n" "K3OD\n" "K3OK\n" "K3OMG\n" "K3OMI\n" "K3OMI/VE1\n" "K3ONW\n" "K3OO\n" "K3OOO\n" "K3OQ\n" "K3OQF\n" "K3ORS\n" "K3OSO\n" "K3OX\n" "K3PF\n" "K3PG\n" "K3PH\n" "K3PIN\n" "K3PP\n" "K3PSP\n" "K3PT\n" "K3PU\n" "K3PUR\n" "K3QDV\n" "K3QE\n" "K3QF\n" "K3QIA\n" "K3QT\n" "K3QX\n" "K3RA\n" "K3RCW\n" "K3RDA\n" "K3RH\n" "K3RJG\n" "K3RMB\n" "K3RN\n" "K3RNZ\n" "K3RR\n" "K3RSJ\n" "K3RU\n" "K3RV\n" "K3RWN\n" "K3RY\n" "K3SAE\n" "K3SEW\n" "K3SF\n" "K3SKB\n" "K3SOM\n" "K3STX\n" "K3SUI\n" "K3SV\n" "K3SWZ\n" "K3SX\n" "K3SXA\n" "K3TC\n" "K3TD\n" "K3TEJ\n" "K3TLP\n" "K3TM\n" "K3TN\n" "K3TP\n" "K3TRM\n" "K3TUF\n" "K3TW\n" "K3TW/4\n" "K3TX\n" "K3UA\n" "K3UC\n" "K3UD\n" "K3UG\n" "K3UI\n" "K3UK\n" "K3UL\n" "K3USC\n" "K3UU\n" "K3UV\n" "K3VA\n" "K3VAR\n" "K3VAT\n" "K3VED\n" "K3VIG\n" "K3VIN\n" "K3VJ\n" "K3VN\n" "K3VOA\n" "K3VX\n" "K3WA\n" "K3WC\n" "K3WD\n" "K3WGR\n" "K3WI\n" "K3WJV\n" "K3WM\n" "K3WT\n" "K3WU\n" "K3WW\n" "K3WWP\n" "K3XA\n" "K3XO\n" "K3YDX\n" "K3YG\n" "K3YH\n" "K3YP\n" "K3ZA\n" "K3ZJ\n" "K3ZM\n" "K3ZMJ\n" "K3ZO\n" "K3ZQ\n" "K3ZV\n" "K3ZXL\n" "K3ZZ\n" "K4AAB\n" "K4AAZ\n" "K4AB\n" "K4ACG\n" "K4ADI\n" "K4ADJ\n" "K4ADR\n" "K4ADU\n" "K4ADV\n" "K4AEN\n" "K4AG\n" "K4AGT\n" "K4AL\n" "K4ALE\n" "K4AMC\n" "K4AMI\n" "K4AMW\n" "K4AOC\n" "K4AP\n" "K4APG\n" "K4ARC\n" "K4ARL\n" "K4ARO\n" "K4AU\n" "K4AUX\n" "K4AVF\n" "K4AVU\n" "K4AVX\n" "K4AWM\n" "K4AZV\n" "K4BAI\n" "K4BFT\n" "K4BM\n" "K4BN\n" "K4BNC\n" "K4BOE\n" "K4BP\n" "K4BQP\n" "K4BRI\n" "K4BSD\n" "K4BSK\n" "K4BTC\n" "K4BX\n" "K4BYF\n" "K4CA\n" "K4CC\n" "K4CEB\n" "K4CIA\n" "K4CIT\n" "K4CJB\n" "K4CJN\n" "K4CKD\n" "K4CMC\n" "K4CMS\n" "K4CNW\n" "K4CQB\n" "K4CQW\n" "K4CRM\n" "K4CU\n" "K4CUB\n" "K4CVL\n" "K4CWW\n" "K4CX\n" "K4CZ\n" "K4DAS\n" "K4DES\n" "K4DGJ\n" "K4DJ\n" "K4DJG\n" "K4DK\n" "K4DLG\n" "K4DLI\n" "K4DMH\n" "K4DPF\n" "K4DSP\n" "K4DVD\n" "K4DXA\n" "K4DXR\n" "K4DXU\n" "K4DXV\n" "K4DY\n" "K4DZR\n" "K4EA\n" "K4EAK\n" "K4EC\n" "K4ECP\n" "K4EDI\n" "K4EET\n" "K4EFZ\n" "K4EHI\n" "K4EHT\n" "K4EJ\n" "K4EJQ\n" "K4EOR\n" "K4ESA\n" "K4ESB\n" "K4EU\n" "K4EWG\n" "K4EYE\n" "K4EZY\n" "K4FAU\n" "K4FCC\n" "K4FCG\n" "K4FDS\n" "K4FJ\n" "K4FJW\n" "K4FK\n" "K4FO\n" "K4FOY\n" "K4FP\n" "K4FPF\n" "K4FRC\n" "K4FT\n" "K4FTO\n" "K4FV\n" "K4FW\n" "K4FX\n" "K4FXN\n" "K4FYM\n" "K4GBH\n" "K4GCD\n" "K4GCR\n" "K4GDW\n" "K4GHS\n" "K4GK\n" "K4GKD\n" "K4GM\n" "K4GMH\n" "K4GOP\n" "K4GSG\n" "K4GSO\n" "K4GT\n" "K4GTM\n" "K4HA\n" "K4HAL\n" "K4HFQ\n" "K4HGG\n" "K4HGX\n" "K4HJZ\n" "K4HMB\n" "K4HO\n" "K4HPP\n" "K4HQK\n" "K4HR\n" "K4HTA\n" "K4HTY\n" "K4HUD\n" "K4HV\n" "K4IA\n" "K4IB\n" "K4ICL\n" "K4ICY\n" "K4IDD\n" "K4IE\n" "K4IJ\n" "K4IJQ\n" "K4IN\n" "K4IOE\n" "K4IQJ\n" "K4IQJ/4\n" "K4IRI\n" "K4ISV\n" "K4IU\n" "K4IUD\n" "K4IX\n" "K4JAB\n" "K4JAF\n" "K4JBJ\n" "K4JC\n" "K4JEB\n" "K4JER\n" "K4JJF\n" "K4JJQ\n" "K4JK\n" "K4JLD\n" "K4JO\n" "K4JP\n" "K4JPC\n" "K4JPD\n" "K4JPG\n" "K4JPN\n" "K4JRA\n" "K4JRB\n" "K4JRS\n" "K4JSI\n" "K4JTT\n" "K4JUZ\n" "K4JVK\n" "K4JWF\n" "K4KAL\n" "K4KAY\n" "K4KBR\n" "K4KFN\n" "K4KG\n" "K4KGG\n" "K4KGT\n" "K4KIU\n" "K4KL\n" "K4KO\n" "K4KP\n" "K4KR\n" "K4KSR\n" "K4KTG\n" "K4KV\n" "K4KYY\n" "K4KZ\n" "K4KZO\n" "K4KZZ\n" "K4LA\n" "K4LJ\n" "K4LJA\n" "K4LNN\n" "K4LO\n" "K4LQ\n" "K4LRP\n" "K4LRP/2\n" "K4LRX\n" "K4LSU\n" "K4LT\n" "K4LTA\n" "K4LW\n" "K4LY\n" "K4MA\n" "K4MCG\n" "K4MCK\n" "K4MDX\n" "K4MEW\n" "K4MF\n" "K4MGA\n" "K4MIA\n" "K4MIL\n" "K4ML\n" "K4MM\n" "K4MNE\n" "K4MOA\n" "K4MOG\n" "K4MPE\n" "K4MQG\n" "K4MQM\n" "K4MSR\n" "K4MSS\n" "K4MU\n" "K4MWB\n" "K4MX\n" "K4MYA\n" "K4NAU\n" "K4NAX\n" "K4NFA\n" "K4NFX\n" "K4NIN\n" "K4NJK\n" "K4NKY\n" "K4NLL\n" "K4NNX\n" "K4NO\n" "K4NOP\n" "K4NP\n" "K4NTO\n" "K4NV\n" "K4NVA\n" "K4NVJ\n" "K4NYS\n" "K4OB\n" "K4OCE\n" "K4OD\n" "K4ODL\n" "K4OJ\n" "K4OMG\n" "K4OO\n" "K4ORD\n" "K4OSO\n" "K4PB\n" "K4PBY\n" "K4PDJ\n" "K4PDM\n" "K4PG\n" "K4PHE\n" "K4PI\n" "K4PIC\n" "K4PJ\n" "K4PPK\n" "K4PPQ\n" "K4PRO\n" "K4PRP\n" "K4PUF\n" "K4PV\n" "K4PX\n" "K4PZC\n" "K4QD\n" "K4QL\n" "K4QO\n" "K4QPL\n" "K4QU\n" "K4QVK\n" "K4QXX\n" "K4RAF\n" "K4RBA\n" "K4RCG\n" "K4RDU\n" "K4REB\n" "K4RFE\n" "K4RG\n" "K4RGR\n" "K4RH\n" "K4RKQ\n" "K4RLC\n" "K4RM\n" "K4RMC\n" "K4RO\n" "K4RR\n" "K4RRF\n" "K4RST\n" "K4RT\n" "K4RUM\n" "K4RV\n" "K4RW\n" "K4RWP\n" "K4RXR\n" "K4SAC\n" "K4SAV\n" "K4SAW\n" "K4SKB\n" "K4SKY\n" "K4SN\n" "K4SO\n" "K4SPO\n" "K4SQ\n" "K4SSU\n" "K4ST\n" "K4STN\n" "K4SUS\n" "K4SV\n" "K4SWE\n" "K4SWJ\n" "K4SX\n" "K4TB\n" "K4TCM\n" "K4TD\n" "K4TDW\n" "K4TEA\n" "K4TER\n" "K4TI\n" "K4TJD\n" "K4TMC\n" "K4TNN\n" "K4TNP\n" "K4TP\n" "K4TR\n" "K4TRT\n" "K4TS\n" "K4TSU\n" "K4TT\n" "K4TVE\n" "K4TVO\n" "K4TWJ\n" "K4TX\n" "K4TXJ\n" "K4TZ\n" "K4UB\n" "K4UEE\n" "K4UFT\n" "K4UI\n" "K4UK\n" "K4UTE\n" "K4UTI\n" "K4UU\n" "K4UWH\n" "K4UY\n" "K4VAC\n" "K4VCU\n" "K4VHV\n" "K4VIG\n" "K4VRC\n" "K4VT\n" "K4VV\n" "K4VWK\n" "K4VX\n" "K4VXR\n" "K4WAM\n" "K4WB\n" "K4WES\n" "K4WFM\n" "K4WI\n" "K4WIP\n" "K4WJR\n" "K4WLS\n" "K4WMS\n" "K4WNW\n" "K4WOP\n" "K4WP\n" "K4WPM\n" "K4WPY\n" "K4WQ\n" "K4WS\n" "K4WW\n" "K4WWM\n" "K4WY\n" "K4WZ\n" "K4XB\n" "K4XD\n" "K4XG\n" "K4XI\n" "K4XL\n" "K4XLT\n" "K4XR\n" "K4XTC\n" "K4XU\n" "K4XXX\n" "K4XZ\n" "K4YA\n" "K4YBB\n" "K4YCF\n" "K4YDN\n" "K4YFH\n" "K4YFR\n" "K4YGD\n" "K4YHB\n" "K4YJ\n" "K4YKZ\n" "K4YMQ\n" "K4YP\n" "K4YR\n" "K4YRK\n" "K4YT\n" "K4YYD\n" "K4YYL\n" "K4ZGB\n" "K4ZGV\n" "K4ZH\n" "K4ZIN\n" "K4ZIW\n" "K4ZJ\n" "K4ZLE\n" "K4ZMV\n" "K4ZOO\n" "K4ZRJ\n" "K4ZTL\n" "K4ZW\n" "K4ZYU\n" "K4ZZ\n" "K5AAD\n" "K5AB\n" "K5ACO\n" "K5ADA\n" "K5AEM\n" "K5AF\n" "K5AJK\n" "K5AM\n" "K5ANR\n" "K5AR\n" "K5ATS\n" "K5AUP\n" "K5AUW\n" "K5AV\n" "K5AVH\n" "K5AVY\n" "K5AX\n" "K5AY\n" "K5BAT\n" "K5BCN\n" "K5BDM\n" "K5BG\n" "K5BOC\n" "K5BTK\n" "K5BUD\n" "K5BWV\n" "K5BWV/0\n" "K5BZH\n" "K5CBS\n" "K5CFA\n" "K5CI\n" "K5CID\n" "K5CM\n" "K5CS\n" "K5CWC\n" "K5CX\n" "K5DB\n" "K5DD\n" "K5DEL\n" "K5DEY\n" "K5DF\n" "K5DH\n" "K5DHY\n" "K5DJZ\n" "K5DKH\n" "K5DMC\n" "K5DNL\n" "K5DOE\n" "K5DOG\n" "K5DU\n" "K5DWI\n" "K5EA\n" "K5ECI\n" "K5EEE\n" "K5EJ\n" "K5EK\n" "K5ENS\n" "K5ER\n" "K5ESW\n" "K5EUO\n" "K5EW\n" "K5EWJ\n" "K5EWS\n" "K5FA\n" "K5FG\n" "K5FMC\n" "K5FNQ\n" "K5FO\n" "K5FP\n" "K5FR\n" "K5FSE\n" "K5FUV\n" "K5FXB\n" "K5GA\n" "K5GAT\n" "K5GH\n" "K5GKC\n" "K5GM\n" "K5GMT\n" "K5GO\n" "K5GQ\n" "K5GS\n" "K5GVP\n" "K5GY\n" "K5GZR\n" "K5HCT\n" "K5HDU\n" "K5HDX\n" "K5HGX\n" "K5HK\n" "K5HQV\n" "K5HTE\n" "K5HUT\n" "K5HW\n" "K5HX\n" "K5ICW\n" "K5IFJ\n" "K5IID\n" "K5IS\n" "K5IU\n" "K5IX\n" "K5IX/KH6\n" "K5IZ\n" "K5IZO\n" "K5JAW\n" "K5JP\n" "K5JRN\n" "K5JRW\n" "K5JSW\n" "K5JTH\n" "K5JUC\n" "K5JX\n" "K5JYD\n" "K5KA\n" "K5KAB\n" "K5KC\n" "K5KDX\n" "K5KEE\n" "K5KG\n" "K5KJ\n" "K5KLA\n" "K5KM\n" "K5KS\n" "K5KT\n" "K5KT/6\n" "K5KUA\n" "K5KV\n" "K5KVN\n" "K5LAD\n" "K5LBM\n" "K5LBU\n" "K5LC\n" "K5LG\n" "K5LH\n" "K5LJ\n" "K5LRS\n" "K5LSU\n" "K5LU\n" "K5LXK\n" "K5MA\n" "K5MBA\n" "K5MDX\n" "K5ME\n" "K5MEZ\n" "K5MH\n" "K5ML\n" "K5MMH\n" "K5MO\n" "K5MOG\n" "K5MOZ\n" "K5MR\n" "K5MRM\n" "K5MV\n" "K5MVZ\n" "K5NA\n" "K5NAA\n" "K5ND\n" "K5NDB\n" "K5NDT\n" "K5NOF\n" "K5NOW\n" "K5NTT\n" "K5NU\n" "K5NX\n" "K5NZ\n" "K5OAI\n" "K5OG\n" "K5OI\n" "K5OO\n" "K5OOL\n" "K5OR\n" "K5OVW\n" "K5PAR\n" "K5PAX\n" "K5PBR\n" "K5PC\n" "K5PEW\n" "K5PI\n" "K5PO\n" "K5PQ\n" "K5PSH\n" "K5PX\n" "K5QB\n" "K5QBG\n" "K5QEA\n" "K5QED\n" "K5QJ\n" "K5QNK\n" "K5QQ\n" "K5QR\n" "K5QU\n" "K5QX\n" "K5QXJ\n" "K5QY\n" "K5RA\n" "K5RC\n" "K5RCD\n" "K5RHZ\n" "K5RJI\n" "K5RK\n" "K5RN\n" "K5RNB\n" "K5RQ\n" "K5RR\n" "K5RRD\n" "K5RS\n" "K5RT\n" "K5RX\n" "K5RXQ\n" "K5SEE\n" "K5SF\n" "K5SI\n" "K5SL\n" "K5SM\n" "K5SNA\n" "K5SOG\n" "K5SOR\n" "K5SS\n" "K5STZ\n" "K5SUL\n" "K5SWW\n" "K5TA\n" "K5TC\n" "K5TDA\n" "K5TER\n" "K5TF\n" "K5TFA\n" "K5TGS\n" "K5TKY\n" "K5TQ\n" "K5TQP\n" "K5TR\n" "K5TRM\n" "K5TT\n" "K5TTT\n" "K5TVC\n" "K5TXG\n" "K5UA\n" "K5UC\n" "K5UIC\n" "K5UN\n" "K5UO\n" "K5UR\n" "K5UTG\n" "K5UV\n" "K5UZ\n" "K5VIP\n" "K5VJZ\n" "K5VR\n" "K5VRX\n" "K5VU\n" "K5VUY\n" "K5VYT\n" "K5WA\n" "K5WAF\n" "K5WBM\n" "K5WDW\n" "K5WE\n" "K5WES\n" "K5WI\n" "K5WK\n" "K5WLQ\n" "K5WMH\n" "K5WMH/5\n" "K5WNH\n" "K5WO\n" "K5WPN\n" "K5WQG\n" "K5WSC\n" "K5WTA\n" "K5WW\n" "K5XA\n" "K5XG\n" "K5XH\n" "K5XM\n" "K5XR\n" "K5XRF\n" "K5XT\n" "K5XU\n" "K5XY\n" "K5YA\n" "K5YAA\n" "K5YC\n" "K5YCM\n" "K5YG\n" "K5YM\n" "K5YNZ\n" "K5YU\n" "K5ZCJ\n" "K5ZD\n" "K5ZE\n" "K5ZG\n" "K5ZK\n" "K5ZO\n" "K5ZQ\n" "K6AA\n" "K6AAB\n" "K6AAX\n" "K6ACJ\n" "K6AH\n" "K6AHQ\n" "K6AIA\n" "K6AIM\n" "K6AKR\n" "K6ALE\n" "K6AM\n" "K6AN\n" "K6ANP\n" "K6AO\n" "K6AQL\n" "K6AUC\n" "K6AW\n" "K6AWB\n" "K6AWO\n" "K6AWR\n" "K6BBQ\n" "K6BDK\n" "K6BEW\n" "K6BF\n" "K6BHH\n" "K6BIR\n" "K6BJ\n" "K6BL\n" "K6BR\n" "K6BRA\n" "K6BV\n" "K6BY\n" "K6BZS\n" "K6CDJ\n" "K6CF\n" "K6CO\n" "K6CRC\n" "K6CSL\n" "K6CSL/7\n" "K6CTA\n" "K6CU\n" "K6DAJ\n" "K6DBG\n" "K6DBS\n" "K6DBW\n" "K6DEX\n" "K6DF\n" "K6DGW\n" "K6DK\n" "K6DLC\n" "K6DLV\n" "K6DW\n" "K6DXX\n" "K6DY\n" "K6ED\n" "K6EE\n" "K6EEE\n" "K6EEP\n" "K6EGF\n" "K6EI\n" "K6EL\n" "K6ELE\n" "K6EM\n" "K6EMI\n" "K6EP\n" "K6ERT\n" "K6ETM\n" "K6EU\n" "K6EVR\n" "K6EZ\n" "K6FAF\n" "K6FFY\n" "K6FG\n" "K6FI\n" "K6FO\n" "K6FQ\n" "K6FR\n" "K6FW\n" "K6FX\n" "K6GAK\n" "K6GCN\n" "K6GDP\n" "K6GE\n" "K6GEP\n" "K6GFB\n" "K6GFJ\n" "K6GGO\n" "K6GJ\n" "K6GN\n" "K6GO\n" "K6GPB\n" "K6GRD\n" "K6GRJ\n" "K6GT\n" "K6GVG\n" "K6GXO\n" "K6GYL\n" "K6GZA\n" "K6HCJ\n" "K6HFA\n" "K6HGF\n" "K6HJM\n" "K6HL\n" "K6HNZ\n" "K6HP\n" "K6HR\n" "K6HRT\n" "K6HRU\n" "K6IAM\n" "K6IC\n" "K6IDX\n" "K6IF\n" "K6IFF\n" "K6III\n" "K6IMZ\n" "K6IP\n" "K6IT\n" "K6JAJ\n" "K6JAT\n" "K6JEB\n" "K6JEY\n" "K6JF\n" "K6JGM\n" "K6JH\n" "K6JHD\n" "K6JHL\n" "K6JHX\n" "K6JJ\n" "K6JL\n" "K6JRA\n" "K6JRY\n" "K6JS\n" "K6JSV\n" "K6JW\n" "K6JWB\n" "K6JYG\n" "K6KAL\n" "K6KE\n" "K6KII\n" "K6KK\n" "K6KLY\n" "K6KO\n" "K6KQV\n" "K6KR\n" "K6KR/7\n" "K6KRD\n" "K6KV\n" "K6KW\n" "K6KY\n" "K6KYJ\n" "K6LA\n" "K6LAC\n" "K6LE\n" "K6LG\n" "K6LJC\n" "K6LL\n" "K6LMN\n" "K6LPO\n" "K6LQP\n" "K6LRG\n" "K6LRN\n" "K6LX\n" "K6LZ\n" "K6MB\n" "K6MBY\n" "K6MC\n" "K6MDJ\n" "K6ME\n" "K6MEE\n" "K6MI\n" "K6MJ\n" "K6MKF\n" "K6ML\n" "K6MLF\n" "K6MM\n" "K6MYC\n" "K6NA\n" "K6ND\n" "K6NDG\n" "K6NDV\n" "K6NO\n" "K6NOD\n" "K6NQY\n" "K6NR\n" "K6NUG\n" "K6NV\n" "K6OA\n" "K6OGO\n" "K6OI\n" "K6OJ\n" "K6OKW\n" "K6OM\n" "K6OO\n" "K6OP\n" "K6OQ\n" "K6OY\n" "K6PAU\n" "K6PB\n" "K6PBQ\n" "K6PCQ\n" "K6PJ\n" "K6PKT\n" "K6PUD\n" "K6PZB\n" "K6QAX\n" "K6QD\n" "K6QG\n" "K6QK\n" "K6QU\n" "K6RAD\n" "K6RB\n" "K6RBS\n" "K6RC\n" "K6REF\n" "K6RF\n" "K6RFM\n" "K6RG\n" "K6RIM\n" "K6RJ\n" "K6RJP\n" "K6RJY\n" "K6RM\n" "K6RN\n" "K6RNK\n" "K6RR\n" "K6RRA\n" "K6RTC\n" "K6RV\n" "K6SAT\n" "K6SEM\n" "K6SGH\n" "K6SMF\n" "K6SMO\n" "K6SQL\n" "K6SRA\n" "K6SRZ\n" "K6SSJ\n" "K6ST\n" "K6STA\n" "K6SU\n" "K6SV\n" "K6SXA\n" "K6SY\n" "K6TA\n" "K6TD\n" "K6TI\n" "K6TQM\n" "K6TTT\n" "K6TU\n" "K6TUJ\n" "K6TV\n" "K6UD\n" "K6UF\n" "K6UFO\n" "K6UIZ\n" "K6UM\n" "K6UNR\n" "K6UNT\n" "K6UUW\n" "K6UW\n" "K6UZB\n" "K6VAR\n" "K6VFF\n" "K6VIA\n" "K6VMD\n" "K6VMN\n" "K6VMV\n" "K6VNX\n" "K6VO\n" "K6VOA\n" "K6VRS\n" "K6VUG\n" "K6VVA\n" "K6VVK\n" "K6VWL\n" "K6WAC\n" "K6WC\n" "K6WG\n" "K6WH\n" "K6WRJ\n" "K6WS\n" "K6WSC\n" "K6WV\n" "K6WX\n" "K6WY\n" "K6XC\n" "K6XJ\n" "K6XM\n" "K6XN\n" "K6XT\n" "K6XV\n" "K6XX\n" "K6YA\n" "K6YK\n" "K6YLG\n" "K6YP\n" "K6YR\n" "K6YRA\n" "K6YS\n" "K6YT\n" "K6YUI\n" "K6YV\n" "K6ZB\n" "K6ZCL\n" "K6ZH\n" "K6ZM\n" "K6ZRH\n" "K6ZSR\n" "K6ZTA\n" "K6ZZ\n" "K7AA\n" "K7AAE\n" "K7ABC\n" "K7ABL\n" "K7ABV\n" "K7ACS\n" "K7ACZ\n" "K7AED\n" "K7AMS\n" "K7AO\n" "K7AR\n" "K7ARJ\n" "K7AWB\n" "K7BAN\n" "K7BBR\n" "K7BE\n" "K7BG\n" "K7BHM\n" "K7BIG\n" "K7BLS\n" "K7BNY\n" "K7BTW\n" "K7BUD\n" "K7BX\n" "K7CA\n" "K7CAT\n" "K7CCC\n" "K7CF\n" "K7CMR\n" "K7CMZ\n" "K7CS\n" "K7CTR\n" "K7CU\n" "K7DAA\n" "K7DBU\n" "K7DD\n" "K7DHD\n" "K7DNH\n" "K7DPS\n" "K7DR\n" "K7DRA\n" "K7DS\n" "K7DSE\n" "K7DSL\n" "K7DX\n" "K7DZ\n" "K7EA\n" "K7EAR\n" "K7EDX\n" "K7EG\n" "K7EIQ\n" "K7EKM\n" "K7EM\n" "K7ENA\n" "K7EUG\n" "K7EV\n" "K7EY\n" "K7FA\n" "K7FD\n" "K7FED\n" "K7FF\n" "K7FU\n" "K7GA\n" "K7GGG\n" "K7GIM\n" "K7GK\n" "K7GLM\n" "K7GMF\n" "K7GO\n" "K7GQ\n" "K7GS\n" "K7GSE\n" "K7GT\n" "K7GUS\n" "K7GZP\n" "K7HBN\n" "K7HC\n" "K7HD\n" "K7HIL\n" "K7HP\n" "K7HPH\n" "K7HPT\n" "K7HRT\n" "K7HV\n" "K7IA\n" "K7IB\n" "K7IDX\n" "K7IDX/7\n" "K7IE\n" "K7II\n" "K7IK\n" "K7INA\n" "K7IP\n" "K7IR\n" "K7IWH\n" "K7JA\n" "K7JAN\n" "K7JBQ\n" "K7JCA\n" "K7JE\n" "K7JH\n" "K7JI\n" "K7JIZ\n" "K7JJ\n" "K7JLF\n" "K7JNX\n" "K7JPF\n" "K7JQ\n" "K7JRB\n" "K7JRW\n" "K7JSM\n" "K7KAJ\n" "K7KAR\n" "K7KC\n" "K7KF\n" "K7KJ\n" "K7KMR\n" "K7KMS\n" "K7KR\n" "K7KSO\n" "K7KU\n" "K7LAY\n" "K7LAZ\n" "K7LFY\n" "K7LJ\n" "K7LL\n" "K7LNP\n" "K7LR\n" "K7LTF\n" "K7LU\n" "K7LUH\n" "K7LV\n" "K7LY\n" "K7MDH\n" "K7MH\n" "K7MHI\n" "K7MI\n" "K7MJD\n" "K7MM\n" "K7MM/VE2\n" "K7MO\n" "K7MOA\n" "K7MRU\n" "K7MS\n" "K7MTR\n" "K7MY\n" "K7MZ\n" "K7NAA\n" "K7NCG\n" "K7NEJ\n" "K7NFB\n" "K7NJ\n" "K7NK\n" "K7NM\n" "K7NN\n" "K7NNR\n" "K7NV\n" "K7NWM\n" "K7NWR\n" "K7NWS\n" "K7OA\n" "K7OG\n" "K7OM\n" "K7OM/4\n" "K7ON\n" "K7ONP\n" "K7ORY\n" "K7OV\n" "K7OVG\n" "K7OVM\n" "K7OVW\n" "K7OX\n" "K7PAP\n" "K7PDW\n" "K7PGL\n" "K7PI\n" "K7PJT\n" "K7PKT\n" "K7PMK\n" "K7PRW\n" "K7PU\n" "K7PUC\n" "K7PWL\n" "K7PWN\n" "K7PX\n" "K7QBO\n" "K7QI\n" "K7QMM\n" "K7QQ\n" "K7QXG\n" "K7QYY\n" "K7RB\n" "K7RDG\n" "K7RE\n" "K7RE/0\n" "K7REL\n" "K7RF\n" "K7RFW\n" "K7RI\n" "K7RL\n" "K7RLD\n" "K7RLF\n" "K7RMJ\n" "K7RP\n" "K7RR\n" "K7RSM\n" "K7RST\n" "K7RX\n" "K7RZW\n" "K7SA\n" "K7SAM\n" "K7SC\n" "K7SCX\n" "K7SDW\n" "K7SEX\n" "K7SF\n" "K7SFN\n" "K7SID\n" "K7SJ\n" "K7SKH\n" "K7SMW\n" "K7SO\n" "K7SP\n" "K7SS\n" "K7STU\n" "K7SU\n" "K7SV\n" "K7SX\n" "K7SYS\n" "K7SZ\n" "K7SZ/4\n" "K7TD\n" "K7TFY\n" "K7TJ\n" "K7TJR\n" "K7TLX\n" "K7TM\n" "K7TOK\n" "K7TP\n" "K7TPD\n" "K7TQ\n" "K7TR\n" "K7TR/HR8\n" "K7TRK\n" "K7UA\n" "K7ULS\n" "K7UN\n" "K7UNZ\n" "K7UP\n" "K7UPJ\n" "K7UT\n" "K7VAY\n" "K7VI\n" "K7VIC\n" "K7VIT\n" "K7VL\n" "K7VM\n" "K7VS\n" "K7VU\n" "K7VZX\n" "K7WA\n" "K7WE\n" "K7WIN\n" "K7WK\n" "K7WLF\n" "K7WLF/4\n" "K7WM\n" "K7WP\n" "K7WQ\n" "K7WXO\n" "K7WXW\n" "K7XB\n" "K7XC\n" "K7XE\n" "K7XH\n" "K7XQ\n" "K7XV\n" "K7YDL\n" "K7YZ\n" "K7YZO\n" "K7ZA\n" "K7ZAD\n" "K7ZB\n" "K7ZD\n" "K7ZI\n" "K7ZO\n" "K7ZP\n" "K7ZQ\n" "K7ZS\n" "K7ZSD\n" "K7ZUM\n" "K7ZV\n" "K7ZX\n" "K7ZYV\n" "K7ZZ\n" "K7ZZX\n" "K8AA\n" "K8AAX\n" "K8AB\n" "K8AC\n" "K8AE\n" "K8AEX\n" "K8AJS\n" "K8AJX\n" "K8ALM\n" "K8AO\n" "K8AQM\n" "K8ATA\n" "K8AZ\n" "K8BB\n" "K8BBE\n" "K8BCK\n" "K8BEG\n" "K8BHU\n" "K8BJ\n" "K8BL\n" "K8BN\n" "K8BSW\n" "K8BUF\n" "K8BVY\n" "K8BZ\n" "K8CAA\n" "K8CAR\n" "K8CC\n" "K8CHR\n" "K8CI\n" "K8CJQ\n" "K8CJY\n" "K8CMO\n" "K8CMR\n" "K8CN\n" "K8CQ\n" "K8CR\n" "K8CV\n" "K8CW\n" "K8CX\n" "K8CXM\n" "K8DAR\n" "K8DD\n" "K8DE\n" "K8DID\n" "K8DJC\n" "K8DJR\n" "K8DO\n" "K8DR\n" "K8DSL\n" "K8DSS\n" "K8DTW\n" "K8DV\n" "K8ED\n" "K8EE\n" "K8EEW\n" "K8EG\n" "K8EHB\n" "K8EHE\n" "K8EJ\n" "K8EM\n" "K8EMS\n" "K8EO\n" "K8ESQ\n" "K8EUR\n" "K8FB\n" "K8FC\n" "K8FF\n" "K8FG\n" "K8FH\n" "K8FL\n" "K8FN\n" "K8FP\n" "K8FUN\n" "K8FX\n" "K8GA\n" "K8GG\n" "K8GI\n" "K8GI/4\n" "K8GIM\n" "K8GL\n" "K8GLS\n" "K8GP\n" "K8GT\n" "K8GU\n" "K8GVK\n" "K8GVQ\n" "K8GW\n" "K8GWU\n" "K8HGY\n" "K8HK\n" "K8HLQ\n" "K8HMS\n" "K8HW\n" "K8HWW\n" "K8IA\n" "K8IAT\n" "K8IFK\n" "K8IJ\n" "K8IKW\n" "K8IR\n" "K8IRC\n" "K8ISK\n" "K8IU\n" "K8IY\n" "K8JA\n" "K8JD\n" "K8JK\n" "K8JLB\n" "K8JQ\n" "K8JRG\n" "K8JRM\n" "K8JWT\n" "K8KF\n" "K8KFJ\n" "K8KHZ\n" "K8KI\n" "K8KPE\n" "K8KPU\n" "K8KR\n" "K8KS\n" "K8KU\n" "K8KWT\n" "K8KY\n" "K8LCR\n" "K8LE\n" "K8LEE\n" "K8LES\n" "K8LF\n" "K8LJ\n" "K8LJK\n" "K8LN\n" "K8LSB\n" "K8LTG\n" "K8LV\n" "K8LY\n" "K8MAD\n" "K8MAJ\n" "K8MCN\n" "K8MD\n" "K8ME\n" "K8MEG\n" "K8MEM\n" "K8MFO\n" "K8MGK\n" "K8MJZ\n" "K8MLM\n" "K8MM\n" "K8MN\n" "K8MP\n" "K8MR\n" "K8MSQ\n" "K8MU\n" "K8MV\n" "K8MVZ\n" "K8MW\n" "K8MWO\n" "K8MXC\n" "K8MZ\n" "K8NA\n" "K8NAP\n" "K8ND\n" "K8NHR\n" "K8NI\n" "K8NK\n" "K8NKQ\n" "K8NMG\n" "K8NNU\n" "K8NOW\n" "K8NOZ\n" "K8NU\n" "K8NVR\n" "K8NW\n" "K8NWD\n" "K8NYG\n" "K8NYM\n" "K8NYY\n" "K8NZ\n" "K8OM\n" "K8OOK\n" "K8OQL\n" "K8OSF\n" "K8OT\n" "K8OWL\n" "K8OZ\n" "K8PG\n" "K8PO\n" "K8PP\n" "K8PVD\n" "K8PWL\n" "K8QF\n" "K8QFH\n" "K8QH\n" "K8QI\n" "K8QJO\n" "K8QKY\n" "K8QM\n" "K8QWY\n" "K8RA\n" "K8RAT\n" "K8RD\n" "K8RDJ\n" "K8RDN\n" "K8RGM\n" "K8RJH\n" "K8RJM\n" "K8RJW\n" "K8RMC\n" "K8RNM\n" "K8ROX\n" "K8RS\n" "K8RWL\n" "K8RYU\n" "K8SAK\n" "K8SB\n" "K8SCH\n" "K8SDK\n" "K8SDX\n" "K8SEM\n" "K8SIA\n" "K8SIX\n" "K8SJE\n" "K8SM\n" "K8SN\n" "K8SSB\n" "K8SVT\n" "K8SWD\n" "K8SYH\n" "K8THU\n" "K8TJM\n" "K8TOM\n" "K8TS\n" "K8TV\n" "K8TVD\n" "K8TW\n" "K8TWA\n" "K8UC\n" "K8UP\n" "K8UPG\n" "K8UPR\n" "K8UT\n" "K8UU\n" "K8UV\n" "K8VFR\n" "K8VFV\n" "K8VKA\n" "K8VUS\n" "K8VW\n" "K8VYA\n" "K8VZD\n" "K8WAY\n" "K8WDN\n" "K8WDQ\n" "K8WFL\n" "K8WHA\n" "K8WV\n" "K8YAH\n" "K8YC\n" "K8YFM\n" "K8YM\n" "K8YN\n" "K8YQR\n" "K8YSE\n" "K8YSU\n" "K8YTO\n" "K8ZBY\n" "K8ZEE\n" "K8ZH\n" "K8ZOG\n" "K8ZPR\n" "K8ZT\n" "K8ZTT\n" "K8ZZ\n" "K8ZZU\n" "K8ZZU/4\n" "K8ZZV\n" "K9ACX\n" "K9ADL\n" "K9AGW\n" "K9AHH\n" "K9AIH\n" "K9AJ\n" "K9ALP\n" "K9ANF\n" "K9ARF\n" "K9AU\n" "K9AUB\n" "K9AW\n" "K9AY\n" "K9BF\n" "K9BGL\n" "K9BJM\n" "K9BQL\n" "K9BTQ\n" "K9BWI\n" "K9BWQ\n" "K9CAN\n" "K9CC\n" "K9CG\n" "K9CGD\n" "K9CHP\n" "K9CHZ\n" "K9CIV\n" "K9CJ\n" "K9CS\n" "K9CT\n" "K9CU\n" "K9CW\n" "K9DA\n" "K9DCV\n" "K9DCW\n" "K9DIG\n" "K9DJ\n" "K9DN\n" "K9DR\n" "K9DT\n" "K9DTC\n" "K9DU\n" "K9DUR\n" "K9DX\n" "K9DXA\n" "K9DXL\n" "K9DY\n" "K9EA\n" "K9EBY\n" "K9EE\n" "K9EIF\n" "K9EMG\n" "K9EN\n" "K9ES\n" "K9EU\n" "K9EZ\n" "K9FBI\n" "K9FEN\n" "K9FF\n" "K9FI\n" "K9FMX\n" "K9FN\n" "K9FO\n" "K9FQC\n" "K9FUA\n" "K9FW\n" "K9FWH\n" "K9FY\n" "K9FZ\n" "K9GA\n" "K9GAJ\n" "K9GDT\n" "K9GLN\n" "K9GS\n" "K9GTH\n" "K9GTO\n" "K9GWB\n" "K9GY\n" "K9GYI\n" "K9HCK\n" "K9HN\n" "K9HUY\n" "K9IA\n" "K9IAC\n" "K9IDQ\n" "K9IDX\n" "K9IG\n" "K9IJ\n" "K9IL\n" "K9IMM\n" "K9ING\n" "K9IT\n" "K9IU\n" "K9IUA\n" "K9IUQ\n" "K9JA\n" "K9JAI\n" "K9JDV\n" "K9JE\n" "K9JF\n" "K9JF/7\n" "K9JG\n" "K9JIG\n" "K9JK\n" "K9JM\n" "K9JM/6\n" "K9JMB\n" "K9JO\n" "K9JOB\n" "K9JP\n" "K9JS\n" "K9JT\n" "K9JU\n" "K9JWI\n" "K9JWV\n" "K9JX\n" "K9JY\n" "K9JZZ\n" "K9KA\n" "K9KDE\n" "K9KDS\n" "K9KEJ\n" "K9KEU\n" "K9KFR\n" "K9KHW\n" "K9KK\n" "K9KL\n" "K9KLR\n" "K9KM\n" "K9KMD\n" "K9KNW\n" "K9KNZ\n" "K9KR\n" "K9KU\n" "K9KUZ\n" "K9LA\n" "K9LCR\n" "K9LGM\n" "K9LJ\n" "K9LJN\n" "K9LLI\n" "K9LOF\n" "K9LOF/5\n" "K9LZJ\n" "K9MA\n" "K9MBQ\n" "K9MDK\n" "K9MDO\n" "K9MI\n" "K9MK\n" "K9MM\n" "K9MMS\n" "K9MOT\n" "K9MQ\n" "K9MRD\n" "K9MU\n" "K9MUG\n" "K9MUG/4\n" "K9MV\n" "K9MW\n" "K9MWM\n" "K9MY\n" "K9NA\n" "K9NB\n" "K9NBR\n" "K9NN\n" "K9NO\n" "K9NR\n" "K9NU\n" "K9NW\n" "K9NZ\n" "K9OKK\n" "K9OM\n" "K9ON\n" "K9OQ\n" "K9OR\n" "K9OT\n" "K9OW\n" "K9OZ\n" "K9PG\n" "K9PGC\n" "K9PJ\n" "K9PLX\n" "K9PMV\n" "K9PPY\n" "K9PY\n" "K9QCW\n" "K9QH\n" "K9QLC\n" "K9QVB\n" "K9QVB/9\n" "K9RCE\n" "K9RDW\n" "K9RH\n" "K9RII\n" "K9RIM\n" "K9RJ\n" "K9RJO\n" "K9RJZ\n" "K9RM\n" "K9RO\n" "K9RON\n" "K9RS\n" "K9RU\n" "K9RX\n" "K9SD\n" "K9SE\n" "K9SEM\n" "K9SEX\n" "K9SG\n" "K9SH\n" "K9SKX\n" "K9SQL\n" "K9SSB\n" "K9SSH\n" "K9STH\n" "K9SUH\n" "K9SV\n" "K9TA\n" "K9TCD\n" "K9TEN\n" "K9TM\n" "K9TP\n" "K9TPT\n" "K9TRV\n" "K9TV\n" "K9TY\n" "K9UH\n" "K9UIY\n" "K9UK\n" "K9UP\n" "K9UQN\n" "K9US\n" "K9UT\n" "K9UW\n" "K9UWA\n" "K9UXZ\n" "K9VB\n" "K9VFU\n" "K9VIC\n" "K9VIS\n" "K9VS\n" "K9VSO\n" "K9VV\n" "K9WA\n" "K9WD\n" "K9WDY\n" "K9WEY\n" "K9WIS\n" "K9WJL\n" "K9WJU\n" "K9WKW\n" "K9WMS\n" "K9WN\n" "K9WWT\n" "K9WX\n" "K9WYP\n" "K9WZB\n" "K9XB\n" "K9XD\n" "K9XE\n" "K9XK\n" "K9XL\n" "K9XR\n" "K9XV\n" "K9XW\n" "K9YC\n" "K9YKL\n" "K9YU\n" "K9ZA\n" "K9ZBX\n" "K9ZG\n" "K9ZI\n" "K9ZMD/6\n" "K9ZMU\n" "K9ZMZ\n" "K9ZO\n" "K9ZT\n" "K9ZU\n" "K9ZVZ\n" "K9ZW\n" "K9ZXO\n" "KA0ARA\n" "KA0BHO\n" "KA0BMX\n" "KA0BV\n" "KA0CSW\n" "KA0EIC\n" "KA0FSP\n" "KA0HDJ\n" "KA0HZP\n" "KA0LDG\n" "KA0LL\n" "KA0NES\n" "KA0P\n" "KA0PQW\n" "KA0SPM\n" "KA0UEH\n" "KA0UK\n" "KA0VXK\n" "KA1AMR\n" "KA1API\n" "KA1ARB\n" "KA1BQ\n" "KA1BVE\n" "KA1C\n" "KA1CQR\n" "KA1DWX\n" "KA1EFO\n" "KA1EHR\n" "KA1ERL\n" "KA1G\n" "KA1GEU\n" "KA1GIJ\n" "KA1GMN\n" "KA1GVI\n" "KA1GYB\n" "KA1HD\n" "KA1HFY\n" "KA1IE\n" "KA1IOR\n" "KA1IXK\n" "KA1J\n" "KA1JVR\n" "KA1JY\n" "KA1LDS\n" "KA1LMR\n" "KA1LOR\n" "KA1NCN\n" "KA1OEO\n" "KA1OX\n" "KA1QAA\n" "KA1QBO\n" "KA1R\n" "KA1RVM\n" "KA1SA\n" "KA1SAW\n" "KA1SWK\n" "KA1T\n" "KA1VF\n" "KA1VMG\n" "KA1VVT\n" "KA1XC\n" "KA1YB\n" "KA1YMX\n" "KA2ANF\n" "KA2BKG\n" "KA2BZS\n" "KA2CYN\n" "KA2D\n" "KA2DZR\n" "KA2EKI\n" "KA2EYH\n" "KA2F\n" "KA2FHN\n" "KA2FIR\n" "KA2GYM\n" "KA2IBE\n" "KA2IVS\n" "KA2KGP\n" "KA2KON\n" "KA2L\n" "KA2LIM\n" "KA2MGE\n" "KA2MGI\n" "KA2NDX\n" "KA2NUE\n" "KA2OUO\n" "KA2OUS\n" "KA2QWC\n" "KA2RQS\n" "KA2RVO\n" "KA2UGZ\n" "KA2VEE\n" "KA2VHY\n" "KA2YKN\n" "KA2ZOH\n" "KA3AFY\n" "KA3ANJ\n" "KA3ARF\n" "KA3BMU\n" "KA3BPN\n" "KA3BWP\n" "KA3CRC\n" "KA3DCO\n" "KA3DRR\n" "KA3EJJ\n" "KA3EQU\n" "KA3FZN\n" "KA3FZO\n" "KA3GEA\n" "KA3GLQ\n" "KA3IRJ\n" "KA3J\n" "KA3JLW\n" "KA3JOI\n" "KA3LKM\n" "KA3MLU\n" "KA3MTT\n" "KA3NRX\n" "KA3P\n" "KA3PCX\n" "KA3POX\n" "KA3PVA\n" "KA3QLF\n" "KA3S\n" "KA3SMF\n" "KA3UBG\n" "KA3UOL\n" "KA3WMJ\n" "KA3YJU\n" "KA4AQM\n" "KA4BDW\n" "KA4BIX\n" "KA4BSZ\n" "KA4DQJ\n" "KA4EMR\n" "KA4GFY\n" "KA4HKK\n" "KA4NWS\n" "KA4OTB\n" "KA4R\n" "KA4RRU\n" "KA4RUR\n" "KA4TEU\n" "KA4U\n" "KA4VGE\n" "KA4W\n" "KA4ZPF\n" "KA4ZTY\n" "KA5BNS\n" "KA5BQM\n" "KA5CJJ\n" "KA5DWI\n" "KA5EYH\n" "KA5FSJ\n" "KA5GCB\n" "KA5GIL\n" "KA5IAU\n" "KA5M\n" "KA5MWB\n" "KA5N\n" "KA5OAI\n" "KA5PRO\n" "KA5PVB\n" "KA5QMA\n" "KA5RAN\n" "KA5T\n" "KA5TCF\n" "KA5VEL\n" "KA5VFU\n" "KA5VVA\n" "KA5VZG\n" "KA5WSS\n" "KA5ZDE\n" "KA6BIM\n" "KA6C\n" "KA6CUU\n" "KA6DOW\n" "KA6GDT\n" "KA6HXI\n" "KA6JLT\n" "KA6MAL\n" "KA6MIB\n" "KA6NGR\n" "KA6PGY\n" "KA6SGT\n" "KA6T\n" "KA6UMQ\n" "KA6W\n" "KA7A\n" "KA7ARK\n" "KA7CVJ\n" "KA7FEF\n" "KA7HUO\n" "KA7JAS\n" "KA7KSP\n" "KA7KUZ\n" "KA7LYQ\n" "KA7NWQ\n" "KA7NYE\n" "KA7R\n" "KA7SPS\n" "KA7T\n" "KA7U\n" "KA8CNI\n" "KA8CPO\n" "KA8ETK\n" "KA8F\n" "KA8FAN\n" "KA8HOK\n" "KA8JHD\n" "KA8JRJ\n" "KA8KGW\n" "KA8LCW\n" "KA8NAK\n" "KA8NJW\n" "KA8POZ\n" "KA8PTT\n" "KA8Q\n" "KA8RTS\n" "KA8SYV\n" "KA8WEM\n" "KA8WQL\n" "KA8ZPE\n" "KA9A\n" "KA9ABC\n" "KA9AJF\n" "KA9AQZ\n" "KA9BHD\n" "KA9CFD\n" "KA9CKK\n" "KA9CLP\n" "KA9DRW\n" "KA9DVX\n" "KA9EKJ\n" "KA9FON\n" "KA9FOX\n" "KA9FQG\n" "KA9FRH\n" "KA9GWM\n" "KA9IVY\n" "KA9JAC\n" "KA9KBO\n" "KA9KLR\n" "KA9MOM\n" "KA9NFE\n" "KA9O\n" "KA9OBZ\n" "KA9OKH\n" "KA9OMY\n" "KA9OZP\n" "KA9P\n" "KA9RPR\n" "KA9SWE\n" "KA9UDA\n" "KA9UVY\n" "KA9VHG\n" "KA9WAR\n" "KA9WRN\n" "KA9ZAI\n" "KB0ARZ\n" "KB0B\n" "KB0CH\n" "KB0COV\n" "KB0CQ\n" "KB0EO\n" "KB0FHP\n" "KB0HH\n" "KB0IXX\n" "KB0JSH\n" "KB0JSH/T\n" "KB0L\n" "KB0LF\n" "KB0NES\n" "KB0NHW\n" "KB0NMQ\n" "KB0OXT\n" "KB0PAT\n" "KB0PKL\n" "KB0PTV\n" "KB0QBT\n" "KB0QEF\n" "KB0QH\n" "KB0QHZ\n" "KB0R\n" "KB0SK\n" "KB0TLC\n" "KB0UBZ\n" "KB0UKM\n" "KB0UKW\n" "KB0USA\n" "KB0VE\n" "KB0VQD\n" "KB0VVT\n" "KB0WMQ\n" "KB0WVI\n" "KB0YH\n" "KB0ZF\n" "KB1CJ\n" "KB1CL\n" "KB1CWO\n" "KB1DK\n" "KB1DMX\n" "KB1DN\n" "KB1DQT\n" "KB1E\n" "KB1EE\n" "KB1EFS\n" "KB1FCB\n" "KB1FJ\n" "KB1FRK\n" "KB1FRW\n" "KB1H\n" "KB1HFL\n" "KB1HIF\n" "KB1HIP\n" "KB1HNZ\n" "KB1IC\n" "KB1IQZ\n" "KB1JDY\n" "KB1JUF\n" "KB1JZU\n" "KB1K\n" "KB1KGA\n" "KB1LIH\n" "KB1LZH\n" "KB1MCK\n" "KB1MGL\n" "KB1MH\n" "KB1NA\n" "KB1NFI\n" "KB1NFW\n" "KB1NHV\n" "KB1NRB\n" "KB1NRI\n" "KB1NWH\n" "KB1ODO\n" "KB1OJT\n" "KB1OPV\n" "KB1OQH\n" "KB1OSI\n" "KB1OUV\n" "KB1OVA\n" "KB1OWT\n" "KB1P\n" "KB1PAJ\n" "KB1PHN\n" "KB1PLN\n" "KB1PSP\n" "KB1PXD\n" "KB1PXE\n" "KB1PXX\n" "KB1PXY\n" "KB1QEU\n" "KB1QOV\n" "KB1QU\n" "KB1RDL\n" "KB1RNX\n" "KB1RRX\n" "KB1RXA\n" "KB1SLN\n" "KB1SNB\n" "KB1T\n" "KB1TFR\n" "KB1TRQ\n" "KB1TY\n" "KB1W\n" "KB1WEB\n" "KB2AMY\n" "KB2AYS\n" "KB2BBG\n" "KB2BSL\n" "KB2CKN\n" "KB2DKB\n" "KB2ESY\n" "KB2FEL\n" "KB2FM\n" "KB2HSH\n" "KB2IAU\n" "KB2JQC\n" "KB2JSG\n" "KB2KWD\n" "KB2M\n" "KB2MFS\n" "KB2MN\n" "KB2NB\n" "KB2PD\n" "KB2PIZ\n" "KB2QXH\n" "KB2RLH\n" "KB2RPV\n" "KB2SEO\n" "KB2SXT\n" "KB2TNH\n" "KB2URI\n" "KB2UZY\n" "KB2VMG\n" "KB2VRM\n" "KB2WXV\n" "KB3AAY\n" "KB3AF\n" "KB3ATF\n" "KB3ATI\n" "KB3CQU\n" "KB3CTX\n" "KB3CWQ\n" "KB3CXQ\n" "KB3ELT\n" "KB3EOJ\n" "KB3EXB\n" "KB3FEI\n" "KB3FJJ\n" "KB3FMO\n" "KB3FTE\n" "KB3GFC\n" "KB3GQK\n" "KB3GVV\n" "KB3HJK\n" "KB3HQN\n" "KB3IBT\n" "KB3IHX\n" "KB3ILS\n" "KB3IOG\n" "KB3IWV\n" "KB3IZA\n" "KB3KBJ\n" "KB3KJ\n" "KB3KJS\n" "KB3KOC\n" "KB3KOW\n" "KB3KXX\n" "KB3LBB\n" "KB3LFX\n" "KB3LIX\n" "KB3LTT\n" "KB3LVH\n" "KB3MDX\n" "KB3MHB/0\n" "KB3MOW\n" "KB3MP\n" "KB3NKS\n" "KB3NPA\n" "KB3NSL\n" "KB3NXT\n" "KB3OJM\n" "KB3OK\n" "KB3ONQ\n" "KB3ONZ\n" "KB3OSP\n" "KB3OVB\n" "KB3OXF\n" "KB3P\n" "KB3PDR\n" "KB3QAQ\n" "KB3QGB\n" "KB3QIU\n" "KB3QLK\n" "KB3RBU\n" "KB3RFH\n" "KB3RM\n" "KB3ROR\n" "KB3RPE\n" "KB3RRV\n" "KB3RRX\n" "KB3RTB\n" "KB3SJQ\n" "KB3TAW\n" "KB3TS\n" "KB3WK\n" "KB3WL\n" "KB3X\n" "KB3XD\n" "KB3Z\n" "KB4BHB\n" "KB4BR\n" "KB4C\n" "KB4CAU\n" "KB4CP\n" "KB4ET\n" "KB4FB\n" "KB4FXE\n" "KB4GYT\n" "KB4HF\n" "KB4HJQ\n" "KB4J\n" "KB4JHU\n" "KB4KBS\n" "KB4KBS/5\n" "KB4MDD\n" "KB4MRX\n" "KB4OLM\n" "KB4PPE\n" "KB4QDQ\n" "KB4QQJ\n" "KB4REC\n" "KB4RGW\n" "KB4SAD\n" "KB4UF\n" "KB4USB\n" "KB4X\n" "KB4XK\n" "KB4YP\n" "KB4ZAA\n" "KB4ZMR\n" "KB5AAB\n" "KB5AAM\n" "KB5DNR\n" "KB5DRJ\n" "KB5ENP\n" "KB5FCF\n" "KB5FSV\n" "KB5GA\n" "KB5HPL\n" "KB5IBY\n" "KB5IED\n" "KB5IY\n" "KB5JO\n" "KB5LKE\n" "KB5LT\n" "KB5MRT\n" "KB5MZ\n" "KB5OS\n" "KB5REX\n" "KB5RP\n" "KB5RXL\n" "KB5TAN\n" "KB5TX\n" "KB5U\n" "KB5UNX\n" "KB5VP\n" "KB5WCA\n" "KB5YEG\n" "KB5YIA\n" "KB5YLG\n" "KB5YN\n" "KB5ZSK\n" "KB6A\n" "KB6ATT\n" "KB6ATZ\n" "KB6BYU\n" "KB6DL\n" "KB6FB\n" "KB6J\n" "KB6NAN\n" "KB6NFY\n" "KB6NU\n" "KB6OJE\n" "KB6QXR\n" "KB6RQZ\n" "KB7BGS\n" "KB7CJ\n" "KB7DQT\n" "KB7EEG\n" "KB7GP\n" "KB7HDX\n" "KB7HH\n" "KB7IQO\n" "KB7JMS\n" "KB7KLT\n" "KB7MBI\n" "KB7ME\n" "KB7N\n" "KB7NJV\n" "KB7OBU/KH2\n" "KB7OGE\n" "KB7PJ\n" "KB7PYF\n" "KB7Q\n" "KB7QFE\n" "KB7QKS\n" "KB7QOS\n" "KB7RJ\n" "KB7RUQ\n" "KB7SO\n" "KB7STO\n" "KB7TGR\n" "KB7TJP\n" "KB7TLE\n" "KB7UJI\n" "KB7UP\n" "KB7ZR\n" "KB7ZTI\n" "KB8APA\n" "KB8DID\n" "KB8DP\n" "KB8ECG\n" "KB8F\n" "KB8FZY\n" "KB8GAE\n" "KB8HOC\n" "KB8HRR\n" "KB8KE\n" "KB8KIK\n" "KB8LWU\n" "KB8M\n" "KB8MNX\n" "KB8MOU\n" "KB8MYC\n" "KB8NNU\n" "KB8NOD\n" "KB8NTL\n" "KB8NTY\n" "KB8NUF\n" "KB8O\n" "KB8O/2\n" "KB8OCA\n" "KB8OCP\n" "KB8OEJ\n" "KB8OLS\n" "KB8OMG\n" "KB8OSB\n" "KB8PFF\n" "KB8QAP\n" "KB8RJ\n" "KB8RTB\n" "KB8SB\n" "KB8SMD\n" "KB8TI\n" "KB8TL\n" "KB8TT\n" "KB8TWM\n" "KB8TXZ\n" "KB8TYJ\n" "KB8U\n" "KB8UEY\n" "KB8UHN\n" "KB8UUM\n" "KB8UUZ\n" "KB8V\n" "KB8VAO\n" "KB8VGD\n" "KB8VJL\n" "KB8X\n" "KB8YJY\n" "KB8ZGL\n" "KB8ZYE\n" "KB9AMG\n" "KB9AVX\n" "KB9AX\n" "KB9BIT\n" "KB9BNY\n" "KB9CYL\n" "KB9DFE\n" "KB9DVC\n" "KB9FBI\n" "KB9GKG\n" "KB9II\n" "KB9IIZ\n" "KB9IKY\n" "KB9JM\n" "KB9JOG\n" "KB9KAK\n" "KB9KCT\n" "KB9KEG\n" "KB9LHT\n" "KB9LIE\n" "KB9MI\n" "KB9MIE\n" "KB9MJN\n" "KB9MLE\n" "KB9NKM\n" "KB9ORH\n" "KB9OWD\n" "KB9PVR\n" "KB9PWN\n" "KB9Q\n" "KB9RDS\n" "KB9RNO\n" "KB9S\n" "KB9SRE\n" "KB9STR\n" "KB9UMT\n" "KB9UWR\n" "KB9UX\n" "KB9VT\n" "KB9WL\n" "KB9WQJ\n" "KB9XH\n" "KB9YGD\n" "KB9YGF\n" "KB9ZTF\n" "KB9ZUV\n" "KB9ZWB\n" "KC0ADP\n" "KC0BMF\n" "KC0CF\n" "KC0CRU\n" "KC0CWU\n" "KC0DEB\n" "KC0DX\n" "KC0ELZ\n" "KC0EUX\n" "KC0EWX\n" "KC0GL\n" "KC0GLA\n" "KC0GXY\n" "KC0HPM\n" "KC0IEI\n" "KC0IKU\n" "KC0INP\n" "KC0JFY\n" "KC0JRW\n" "KC0LOE\n" "KC0M\n" "KC0MEZ\n" "KC0MKS\n" "KC0MO\n" "KC0MPQ\n" "KC0MS\n" "KC0NFB\n" "KC0NOX\n" "KC0OKO\n" "KC0ONP\n" "KC0OW\n" "KC0PDX\n" "KC0PKA\n" "KC0PLZ\n" "KC0PPA\n" "KC0QBU\n" "KC0QIE\n" "KC0REN\n" "KC0RET\n" "KC0REY\n" "KC0RQH\n" "KC0RRP\n" "KC0SBV\n" "KC0SIV\n" "KC0SKR\n" "KC0STQ\n" "KC0SZU\n" "KC0TDQ\n" "KC0THR\n" "KC0TJ\n" "KC0TPP\n" "KC0TRX\n" "KC0UFB\n" "KC0UJM\n" "KC0UTN\n" "KC0UUP\n" "KC0UUT\n" "KC0UYQ\n" "KC0V\n" "KC0VEU\n" "KC0VFO\n" "KC0VFP\n" "KC0VKN\n" "KC0VTJ\n" "KC0W\n" "KC0WCF\n" "KC0WKZ\n" "KC0WMN\n" "KC0WTS\n" "KC0YHU\n" "KC0YJO\n" "KC0YQQ\n" "KC0YRS\n" "KC0ZHF\n" "KC0ZNI\n" "KC0ZSM\n" "KC0ZTC\n" "KC0ZXZ\n" "KC0ZZH\n" "KC1HD\n" "KC1JB\n" "KC1ME\n" "KC1MR\n" "KC1NN\n" "KC1SQ\n" "KC1UX\n" "KC1V\n" "KC1XX\n" "KC1ZO\n" "KC2ANN\n" "KC2ANS\n" "KC2AQU\n" "KC2COB\n" "KC2DU\n" "KC2EE\n" "KC2EES\n" "KC2EMM\n" "KC2EPU\n" "KC2EVL\n" "KC2FOL\n" "KC2GFA\n" "KC2GNL\n" "KC2GOW\n" "KC2HO\n" "KC2HTV\n" "KC2HZM\n" "KC2HZW\n" "KC2IGE\n" "KC2IOS\n" "KC2IUR\n" "KC2JKU\n" "KC2JRQ\n" "KC2KME\n" "KC2KPK\n" "KC2KTZ\n" "KC2KXV\n" "KC2KY\n" "KC2KZJ\n" "KC2LMB\n" "KC2LMX\n" "KC2LR\n" "KC2LSD\n" "KC2LST\n" "KC2LXD\n" "KC2MBV\n" "KC2MCY\n" "KC2MDQ\n" "KC2MHE\n" "KC2MHY\n" "KC2MNV\n" "KC2MR\n" "KC2MXH\n" "KC2NB\n" "KC2NLF\n" "KC2NTV\n" "KC2NYU\n" "KC2OBN\n" "KC2OBS\n" "KC2OGR\n" "KC2OUV\n" "KC2OYY\n" "KC2PBJ\n" "KC2PBX\n" "KC2PCD\n" "KC2PCR\n" "KC2PGE\n" "KC2PJH\n" "KC2PJL\n" "KC2PLJ\n" "KC2PQI\n" "KC2PSR\n" "KC2PVM\n" "KC2PZ\n" "KC2Q\n" "KC2QEZ\n" "KC2QFR\n" "KC2QGK\n" "KC2QJB\n" "KC2QLA\n" "KC2QLJ\n" "KC2QXA\n" "KC2QYC\n" "KC2QYM\n" "KC2RDW\n" "KC2RIV\n" "KC2RJC\n" "KC2ROF\n" "KC2RXS\n" "KC2SCY\n" "KC2SDR\n" "KC2SGS\n" "KC2SJN\n" "KC2SKF\n" "KC2SKI\n" "KC2SPD\n" "KC2SPY\n" "KC2SPZ\n" "KC2SWZ\n" "KC2SZ\n" "KC2TA\n" "KC2TAU\n" "KC2TEL\n" "KC2TNY\n" "KC2TYZ\n" "KC2UCJ\n" "KC2ULY\n" "KC2URV\n" "KC2VMR\n" "KC2VVZ\n" "KC2ZA\n" "KC3EF\n" "KC3ET\n" "KC3M\n" "KC3MX\n" "KC3N\n" "KC3OL\n" "KC3QU\n" "KC3R\n" "KC3RT\n" "KC3WX\n" "KC4AA\n" "KC4ABC\n" "KC4ART\n" "KC4ATU\n" "KC4AUF\n" "KC4B\n" "KC4CQS\n" "KC4CSU\n" "KC4D\n" "KC4EZN\n" "KC4FLT\n" "KC4GL\n" "KC4H\n" "KC4HW\n" "KC4IWI\n" "KC4JD\n" "KC4LLV\n" "KC4MYV\n" "KC4NPR\n" "KC4OOO\n" "KC4Q\n" "KC4QIH\n" "KC4RN\n" "KC4RV\n" "KC4SAW\n" "KC4SC\n" "KC4SSD\n" "KC4SW\n" "KC4SW/7\n" "KC4TVN\n" "KC4TVZ\n" "KC4UCK\n" "KC4USV\n" "KC4VLO\n" "KC4VT\n" "KC4WQ\n" "KC4YAU\n" "KC4YBO\n" "KC4YCT\n" "KC4YTF\n" "KC4Z\n" "KC4ZPB\n" "KC4ZUA\n" "KC5ADQ\n" "KC5AKB\n" "KC5BYE\n" "KC5EZ\n" "KC5FEN\n" "KC5FU\n" "KC5GTT\n" "KC5LDO\n" "KC5LK\n" "KC5MAH\n" "KC5MOL\n" "KC5MPS\n" "KC5NOA\n" "KC5NT\n" "KC5R\n" "KC5RUO\n" "KC5RWW\n" "KC5SLQ\n" "KC5T\n" "KC5TJT\n" "KC5UES\n" "KC5WA\n" "KC5YGC\n" "KC5YPU\n" "KC6AWX\n" "KC6G\n" "KC6M\n" "KC6MMU\n" "KC6OVG\n" "KC6P\n" "KC6R\n" "KC6SEH\n" "KC6UIX\n" "KC6UKO\n" "KC6VVT\n" "KC6X\n" "KC6ZBE\n" "KC7CM\n" "KC7CPM\n" "KC7DB\n" "KC7EFP\n" "KC7EKU\n" "KC7ESB\n" "KC7GNM\n" "KC7H\n" "KC7HFL\n" "KC7ITP\n" "KC7J\n" "KC7KNY\n" "KC7KZ\n" "KC7O\n" "KC7OM\n" "KC7OO\n" "KC7PFR\n" "KC7QR\n" "KC7STK\n" "KC7TA\n" "KC7UP\n" "KC7V\n" "KC7WDL\n" "KC7WWY\n" "KC7ZFP\n" "KC7ZKO\n" "KC7ZON\n" "KC7ZZ\n" "KC8ALZ\n" "KC8BLL\n" "KC8BOM\n" "KC8BYJ\n" "KC8CC\n" "KC8CPT\n" "KC8CY\n" "KC8EMF\n" "KC8FVE\n" "KC8FZM\n" "KC8GCR\n" "KC8GTX\n" "KC8HWL\n" "KC8IMV\n" "KC8IVC\n" "KC8JNL\n" "KC8JWS\n" "KC8KCU\n" "KC8KE\n" "KC8LA\n" "KC8LAU\n" "KC8LBZ\n" "KC8LTL\n" "KC8LUB\n" "KC8MGD\n" "KC8NIN\n" "KC8OBH\n" "KC8PKY\n" "KC8PSO\n" "KC8PX\n" "KC8QAE\n" "KC8QHT\n" "KC8RQT\n" "KC8SQI\n" "KC8UAV\n" "KC8UNY\n" "KC8UR\n" "KC8UWG\n" "KC8UZM\n" "KC8VGG\n" "KC8VML\n" "KC8VWM\n" "KC8WGA\n" "KC8YEJ\n" "KC8YJB\n" "KC8YLD\n" "KC8YSG\n" "KC8YTY\n" "KC8YVF\n" "KC8ZTJ\n" "KC9AMM\n" "KC9AOP\n" "KC9AQD\n" "KC9ARN\n" "KC9ARR\n" "KC9CDW\n" "KC9CHG\n" "KC9CRM\n" "KC9CRV\n" "KC9CSQ\n" "KC9CUK\n" "KC9DAO\n" "KC9DDF\n" "KC9DFU\n" "KC9DJQ\n" "KC9DKQ\n" "KC9DLO\n" "KC9ECI\n" "KC9ELU\n" "KC9EOQ\n" "KC9FAV\n" "KC9FLB\n" "KC9FOL\n" "KC9FQV\n" "KC9FQV/0\n" "KC9FSH\n" "KC9FZT\n" "KC9G\n" "KC9GBX\n" "KC9GGV\n" "KC9GKE\n" "KC9GRD\n" "KC9GTN\n" "KC9GUP\n" "KC9GZB\n" "KC9HEK\n" "KC9HEQ\n" "KC9HGW\n" "KC9HHT\n" "KC9HIU\n" "KC9HPA\n" "KC9HQV\n" "KC9HYL\n" "KC9ICP\n" "KC9IFT\n" "KC9IGB\n" "KC9IL\n" "KC9IRQ\n" "KC9JCH\n" "KC9JFP\n" "KC9JJV\n" "KC9JQY\n" "KC9JUY\n" "KC9KBB\n" "KC9KIO\n" "KC9KKM\n" "KC9KNQ\n" "KC9KRX\n" "KC9KSN\n" "KC9KTV\n" "KC9KXT\n" "KC9LBO\n" "KC9LC\n" "KC9LDK\n" "KC9LDO\n" "KC9LET\n" "KC9LIF\n" "KC9LMO\n" "KC9LNH\n" "KC9LQS\n" "KC9LTV\n" "KC9LWF\n" "KC9MAV\n" "KC9MEA\n" "KC9MOT\n" "KC9MRW\n" "KC9MVQ\n" "KC9MXI\n" "KC9MXM\n" "KC9MXQ\n" "KC9MYL\n" "KC9MZ\n" "KC9NBE\n" "KC9NCF\n" "KC9NEA\n" "KC9NGZ\n" "KC9OAG\n" "KC9OLC\n" "KC9OP\n" "KC9OQO\n" "KC9OUT\n" "KC9OYE\n" "KC9PAU\n" "KC9PBQ\n" "KC9PEG\n" "KC9POO\n" "KC9PTD\n" "KC9PXJ\n" "KC9QQ\n" "KC9TS\n" "KC9YY\n" "KC9Z\n" "KC9ZO\n" "KC9ZZ\n" "KD0AA\n" "KD0AAA\n" "KD0AAT\n" "KD0ABR\n" "KD0ACO\n" "KD0ACR\n" "KD0AHR\n" "KD0AJB\n" "KD0AKN\n" "KD0AV\n" "KD0BJS\n" "KD0BLE\n" "KD0BTT\n" "KD0CA\n" "KD0CAO\n" "KD0CIU\n" "KD0CPA\n" "KD0CPH\n" "KD0CVZ\n" "KD0DAW\n" "KD0DDY\n" "KD0DOS\n" "KD0DRQ\n" "KD0DSU\n" "KD0EH\n" "KD0EXQ\n" "KD0FLB\n" "KD0FQN\n" "KD0FW\n" "KD0GWI\n" "KD0HSF\n" "KD0HUC\n" "KD0IJW\n" "KD0INK\n" "KD0IZL\n" "KD0JLD\n" "KD0Q\n" "KD0R\n" "KD0S\n" "KD0UN\n" "KD0Y\n" "KD0ZZ\n" "KD1BD\n" "KD1CT\n" "KD1EU\n" "KD1FR\n" "KD1J\n" "KD1KT\n" "KD1LE\n" "KD1NA\n" "KD1XX\n" "KD1YV\n" "KD1ZX\n" "KD2A\n" "KD2HE\n" "KD2I\n" "KD2JA\n" "KD2JC\n" "KD2MU\n" "KD2MX\n" "KD2N\n" "KD2NE\n" "KD2NF\n" "KD2NL\n" "KD2RD\n" "KD3CQ\n" "KD3HN\n" "KD3KB\n" "KD3RF\n" "KD3SB\n" "KD3TB\n" "KD3WK\n" "KD3Y\n" "KD4AEN\n" "KD4AMP\n" "KD4BPZ\n" "KD4CMV\n" "KD4D\n" "KD4EDG\n" "KD4ESV\n" "KD4EXY\n" "KD4FJ\n" "KD4FNI\n" "KD4FXL\n" "KD4GID\n" "KD4GNM\n" "KD4HXT\n" "KD4ICT\n" "KD4JMI\n" "KD4JRX\n" "KD4LCR\n" "KD4LHA\n" "KD4LN\n" "KD4MPN\n" "KD4MZM\n" "KD4N\n" "KD4NH\n" "KD4OFG\n" "KD4OZI\n" "KD4POJ\n" "KD4QFT\n" "KD4QMY\n" "KD4QYJ\n" "KD4RE\n" "KD4RS\n" "KD4RSL\n" "KD4SH\n" "KD4SM\n" "KD4SN\n" "KD4SUG\n" "KD4SVC\n" "KD4TDI\n" "KD4TNY\n" "KD4TXF\n" "KD4ULB\n" "KD4ULW\n" "KD4VHH\n" "KD4W\n" "KD4WKP\n" "KD4WQT\n" "KD4WUO\n" "KD5CQT\n" "KD5CVL\n" "KD5DLL\n" "KD5EDL\n" "KD5EJG\n" "KD5FKY\n" "KD5GJF\n" "KD5IKG\n" "KD5ITM\n" "KD5J\n" "KD5JAA\n" "KD5JGA\n" "KD5JHE\n" "KD5JKH\n" "KD5JWC\n" "KD5L\n" "KD5LEP\n" "KD5LNO\n" "KD5LPB\n" "KD5M\n" "KD5MMM\n" "KD5MTB\n" "KD5MUY\n" "KD5NFW\n" "KD5NXR\n" "KD5PGA\n" "KD5R\n" "KD5RA\n" "KD5RQB\n" "KD5RXN\n" "KD5SBO\n" "KD5SGL\n" "KD5SRW\n" "KD5TFK\n" "KD5TIO\n" "KD5UVV\n" "KD5VIJ\n" "KD5VVI\n" "KD5WKK\n" "KD5WUD\n" "KD5YIA\n" "KD5YPC\n" "KD5YUK\n" "KD5YZU\n" "KD5ZAT\n" "KD5ZEZ\n" "KD6AF\n" "KD6AKC\n" "KD6AW\n" "KD6DKC\n" "KD6FIL\n" ; const char txt_master3[65530] = "KD6GC\n" "KD6HTN\n" "KD6HWD\n" "KD6JHV\n" "KD6JZZ\n" "KD6KVL\n" "KD6NL\n" "KD6NSA\n" "KD6OAT\n" "KD6PA\n" "KD6PQF\n" "KD6UO\n" "KD6VKF\n" "KD6WKY\n" "KD6YV\n" "KD7DCR\n" "KD7DEG\n" "KD7EX\n" "KD7GC\n" "KD7GTI\n" "KD7H\n" "KD7I\n" "KD7IBE\n" "KD7IIC\n" "KD7JGI\n" "KD7JZ\n" "KD7KST\n" "KD7LRK\n" "KD7MDX\n" "KD7MSC\n" "KD7OWN\n" "KD7P\n" "KD7Q\n" "KD7RHI\n" "KD7RQI\n" "KD7RUS\n" "KD7RX\n" "KD7SWL\n" "KD7TQM\n" "KD7UO\n" "KD7VA\n" "KD7VIK\n" "KD7WIZ\n" "KD7YCU\n" "KD7YDL\n" "KD7YFG\n" "KD7YZ\n" "KD8A\n" "KD8ADO\n" "KD8AMN\n" "KD8AQ\n" "KD8BBK\n" "KD8BIN\n" "KD8BWR\n" "KD8CAO\n" "KD8CDC\n" "KD8CGH\n" "KD8CMN\n" "KD8CQC\n" "KD8CTV\n" "KD8CVS\n" "KD8CWP\n" "KD8DCW\n" "KD8DGG\n" "KD8DHH\n" "KD8DHZ\n" "KD8DX\n" "KD8ECG\n" "KD8EER\n" "KD8ELX\n" "KD8EXU\n" "KD8EXX\n" "KD8EZS\n" "KD8EZU\n" "KD8FNA\n" "KD8FTH\n" "KD8FVX\n" "KD8FXB\n" "KD8GBK\n" "KD8GKR\n" "KD8GOX\n" "KD8GRG\n" "KD8GYH\n" "KD8GZG\n" "KD8HB\n" "KD8HDY\n" "KD8HHG\n" "KD8HMA\n" "KD8HNF\n" "KD8HNI\n" "KD8HSV\n" "KD8HTG\n" "KD8HXT\n" "KD8HXU\n" "KD8IIS\n" "KD8ILL\n" "KD8IOW\n" "KD8IZZ\n" "KD8JAM\n" "KD8JBD\n" "KD8JDC\n" "KD8JNJ\n" "KD8JNS\n" "KD8JRH\n" "KD8JV\n" "KD8LCD\n" "KD8LDT\n" "KD8LGW\n" "KD8LLJ\n" "KD8LW\n" "KD8LWR\n" "KD8MBH\n" "KD8MBI\n" "KD8MGI\n" "KD8NJ\n" "KD8OK\n" "KD8SQ\n" "KD9AC\n" "KD9AW\n" "KD9B\n" "KD9GY\n" "KD9LA\n" "KD9LEH\n" "KD9MS\n" "KD9ST\n" "KD9SV\n" "KE0A\n" "KE0BZ\n" "KE0ER\n" "KE0FJ\n" "KE0FK\n" "KE0G\n" "KE0H\n" "KE0L\n" "KE0LX\n" "KE0M\n" "KE0MD\n" "KE0MF\n" "KE0MT\n" "KE0N\n" "KE0PX\n" "KE0UF\n" "KE0UI\n" "KE0WM\n" "KE0WO\n" "KE0Z\n" "KE0Z/VE4\n" "KE1AF\n" "KE1AU\n" "KE1B\n" "KE1B/6\n" "KE1F\n" "KE1FO\n" "KE1IH\n" "KE1JF\n" "KE1Q\n" "KE1R\n" "KE1V\n" "KE2C\n" "KE2DX\n" "KE2EH\n" "KE2GD\n" "KE2N\n" "KE2OI\n" "KE2SD\n" "KE2U\n" "KE2UN\n" "KE2VB\n" "KE2VN\n" "KE2WY\n" "KE2XC\n" "KE3C\n" "KE3CT\n" "KE3D\n" "KE3D/5\n" "KE3FG\n" "KE3G\n" "KE3KD\n" "KE3OA\n" "KE3Q\n" "KE3VG\n" "KE3VV\n" "KE4AHP\n" "KE4AK\n" "KE4BFG\n" "KE4CAW\n" "KE4CAX\n" "KE4CEC\n" "KE4D\n" "KE4EQY\n" "KE4ERG\n" "KE4ETY\n" "KE4GY\n" "KE4HX\n" "KE4I\n" "KE4KMG\n" "KE4KWE\n" "KE4KY\n" "KE4LIA\n" "KE4MBP\n" "KE4MYW\n" "KE4NU\n" "KE4NYH\n" "KE4OAR\n" "KE4OHB\n" "KE4OIC\n" "KE4OJH\n" "KE4OVN\n" "KE4P\n" "KE4PT\n" "KE4PVL\n" "KE4QCY\n" "KE4R\n" "KE4RQ\n" "KE4RUN\n" "KE4S\n" "KE4TBG\n" "KE4TG\n" "KE4TP\n" "KE4TTS\n" "KE4TWI\n" "KE4UNA\n" "KE4UW\n" "KE4VA\n" "KE4VQM\n" "KE4WBO\n" "KE4WLE\n" "KE4YLQ\n" "KE4YOH\n" "KE4YVD\n" "KE5AKL\n" "KE5AUI\n" "KE5BWG\n" "KE5C\n" "KE5CQJ\n" "KE5DLZ\n" "KE5DYG\n" "KE5FNA\n" "KE5FRF\n" "KE5FTY\n" "KE5FXE\n" "KE5HDE\n" "KE5HPY\n" "KE5HWE\n" "KE5IOV\n" "KE5ISO\n" "KE5JA\n" "KE5K\n" "KE5KCN\n" "KE5KZX\n" "KE5LLM/6\n" "KE5LQ\n" "KE5LYW\n" "KE5MHV\n" "KE5MIS\n" "KE5MMT\n" "KE5MOZ\n" "KE5NCD\n" "KE5NQ\n" "KE5NYZ\n" "KE5OG\n" "KE5OKQ\n" "KE5OOA\n" "KE5ORW\n" "KE5OVE\n" "KE5OXS\n" "KE5PMZ\n" "KE5PRL\n" "KE5PUH\n" "KE5PWL\n" "KE5PWR\n" "KE5QAR\n" "KE5QBZ\n" "KE5QKR\n" "KE5QWP\n" "KE5RFR\n" "KE5RHM\n" "KE5RON\n" "KE5RPT\n" "KE5RS\n" "KE5RXN\n" "KE5SNK\n" "KE5SOF\n" "KE5SPE\n" "KE5TQA\n" "KE5TRZ\n" "KE5UTN\n" "KE5VDT\n" "KE5WUE\n" "KE5YA\n" "KE5YGR\n" "KE5YOO\n" "KE5YXO\n" "KE5ZDN\n" "KE5ZGI\n" "KE5ZSR\n" "KE5ZSW\n" "KE5ZWD\n" "KE5ZYP\n" "KE6BAE\n" "KE6CX\n" "KE6EEZ\n" "KE6EJG\n" "KE6EKH\n" "KE6ENI/XE2\n" "KE6FV\n" "KE6GFF\n" "KE6GFI\n" "KE6GLA\n" "KE6KJD\n" "KE6LPO\n" "KE6MGW\n" "KE6OIO\n" "KE6OJ\n" "KE6QR\n" "KE6RAD\n" "KE6RGB\n" "KE6RS\n" "KE6RYZ\n" "KE6SHL\n" "KE6TE\n" "KE6U\n" "KE6V\n" "KE6WC\n" "KE6YLH\n" "KE6ZLY\n" "KE7A\n" "KE7ACE\n" "KE7AJ\n" "KE7AUB\n" "KE7BT\n" "KE7CPE\n" "KE7CRN\n" "KE7DX\n" "KE7FBY\n" "KE7FGB\n" "KE7FXF\n" "KE7GRL\n" "KE7GYQ\n" "KE7GYT\n" "KE7HHW\n" "KE7HTL\n" "KE7HTY\n" "KE7IEE\n" "KE7JIW\n" "KE7JNT\n" "KE7LOQ\n" "KE7NKF\n" "KE7NO\n" "KE7NPH\n" "KE7NVA\n" "KE7NVY\n" "KE7NZE\n" "KE7ORS\n" "KE7PAV\n" "KE7PGO\n" "KE7PZX\n" "KE7RLI\n" "KE7RPR\n" "KE7RVL\n" "KE7SW\n" "KE7SX\n" "KE7TBK\n" "KE7TM\n" "KE7TWL\n" "KE7UGO\n" "KE7UTX\n" "KE7VUX\n" "KE7WDJ\n" "KE7WMI\n" "KE7WRJ\n" "KE7WVZ\n" "KE7X\n" "KE7XE\n" "KE7XM\n" "KE7Y\n" "KE7YF\n" "KE7YIQ\n" "KE7YKS\n" "KE7ZAC\n" "KE7ZGG\n" "KE7ZZO\n" "KE8BP\n" "KE8DM\n" "KE8E\n" "KE8FO\n" "KE8G\n" "KE8M\n" "KE8NK\n" "KE8PX\n" "KE8RG\n" "KE8SO\n" "KE8UM\n" "KE8VC\n" "KE8VK\n" "KE9AG\n" "KE9ET\n" "KE9I\n" "KE9LY\n" "KE9PH\n" "KE9PP\n" "KE9TP\n" "KE9U\n" "KE9VS\n" "KF0AK\n" "KF0F\n" "KF0GE\n" "KF0IQ\n" "KF0LA\n" "KF0N\n" "KF0P\n" "KF0QR\n" "KF0SJ\n" "KF0UR\n" "KF0VR\n" "KF0XM\n" "KF0Z\n" "KF1C\n" "KF1D\n" "KF2AT\n" "KF2AX\n" "KF2FK\n" "KF2HO\n" "KF2JK\n" "KF2O\n" "KF2T\n" "KF2U\n" "KF2VX\n" "KF2X\n" "KF2XN\n" "KF2YS\n" "KF2ZQ\n" "KF3B\n" "KF3BA\n" "KF3DJ\n" "KF3EQ\n" "KF3F\n" "KF3P\n" "KF4BI\n" "KF4DNL\n" "KF4DVF\n" "KF4DVG\n" "KF4DYN\n" "KF4ECG\n" "KF4ENE\n" "KF4EUZ\n" "KF4FL\n" "KF4GDX\n" "KF4GLE\n" "KF4HMD\n" "KF4HOU\n" "KF4IBU\n" "KF4IFF\n" "KF4IRC\n" "KF4JPX\n" "KF4KNF\n" "KF4LJX\n" "KF4LMT\n" "KF4LMW\n" "KF4MH\n" "KF4NMH\n" "KF4OHI\n" "KF4ONH\n" "KF4OPX\n" "KF4PCT\n" "KF4PQL\n" "KF4QQY\n" "KF4QYF\n" "KF4SQ\n" "KF4TP\n" "KF4UOR\n" "KF4VTT\n" "KF4WER\n" "KF4YCP\n" "KF4YLM\n" "KF4ZS\n" "KF4ZZ\n" "KF5CCT\n" "KF5CST\n" "KF5DKS\n" "KF5EH\n" "KF5EHV\n" "KF5ER\n" "KF5H\n" "KF5KWO\n" "KF5S\n" "KF5SA\n" "KF5VM\n" "KF5Y\n" "KF6A\n" "KF6I\n" "KF6JOQ\n" "KF6JQ\n" "KF6KDA\n" "KF6MWA\n" "KF6NCX\n" "KF6PKG\n" "KF6RNT\n" "KF6RXB\n" "KF6RY\n" "KF6T\n" "KF6TRX\n" "KF6ZYD\n" "KF7ADB\n" "KF7ADK\n" "KF7BBJ\n" "KF7CG\n" "KF7E\n" "KF7F\n" "KF7GYE\n" "KF7IQ\n" "KF7MD\n" "KF7NN\n" "KF7P\n" "KF7PG\n" "KF7RU\n" "KF7TY\n" "KF7WQ\n" "KF8ES\n" "KF8GE\n" "KF8K\n" "KF8PS\n" "KF8UN\n" "KF8Z\n" "KF9AF\n" "KF9D\n" "KF9JV\n" "KF9KP\n" "KF9LI\n" "KF9MT\n" "KF9TI\n" "KF9UP\n" "KF9WW\n" "KG0AQ\n" "KG0DX\n" "KG0EI\n" "KG0EW\n" "KG0F\n" "KG0JD\n" "KG0KP\n" "KG0PP\n" "KG0TS\n" "KG0TW\n" "KG0TZ\n" "KG0UA\n" "KG0US\n" "KG0Z\n" "KG1D\n" "KG1E\n" "KG1V\n" "KG2AF\n" "KG2GL\n" "KG2MV\n" "KG2RG\n" "KG2V\n" "KG3BOZ\n" "KG3F\n" "KG3Q\n" "KG3V\n" "KG4AZN\n" "KG4BYL\n" "KG4CBI\n" "KG4CUY\n" "KG4FPJ\n" "KG4HTT\n" "KG4HUF\n" "KG4IGC\n" "KG4IJS\n" "KG4JGQ\n" "KG4JJS\n" "KG4JSZ\n" "KG4JYB\n" "KG4KEA\n" "KG4KQI\n" "KG4KWW\n" "KG4LCF\n" "KG4MGE\n" "KG4MIF\n" "KG4NAK\n" "KG4NRF\n" "KG4NWS\n" "KG4OCJ\n" "KG4PLT\n" "KG4RUE\n" "KG4RWO\n" "KG4SS\n" "KG4STI\n" "KG4TEI\n" "KG4TQQ\n" "KG4TTQ\n" "KG4UDL\n" "KG4USN\n" "KG4UVU\n" "KG4VBK\n" "KG4VLW\n" "KG4VOV\n" "KG4VPC\n" "KG4W\n" "KG4WNA\n" "KG4WQZ\n" "KG4YGP\n" "KG4YHR\n" "KG4YLZ\n" "KG4YNM\n" "KG4ZDM\n" "KG4ZNA\n" "KG4ZOD\n" "KG4ZOI\n" "KG4ZVA\n" "KG4ZXK\n" "KG5EG\n" "KG5NP\n" "KG5OO\n" "KG5RJ\n" "KG5RQ\n" "KG5TA\n" "KG5V\n" "KG5VK\n" "KG6ACG\n" "KG6AMW\n" "KG6AO\n" "KG6AXA\n" "KG6B\n" "KG6COH\n" "KG6D\n" "KG6DX\n" "KG6I\n" "KG6JDX\n" "KG6KH\n" "KG6MZS\n" "KG6OJB\n" "KG6RCW\n" "KG6SMN\n" "KG6STU\n" "KG6TAD\n" "KG6TBR\n" "KG6TGR\n" "KG6TT\n" "KG6UBG\n" "KG6WIK\n" "KG6YHH\n" "KG6YPH\n" "KG6ZHC\n" "KG7C\n" "KG7E\n" "KG7EW\n" "KG7H\n" "KG7HF\n" "KG7HF/1\n" "KG7P\n" "KG7RZ\n" "KG7VQ\n" "KG7WZ\n" "KG8CO\n" "KG8CW\n" "KG8CX\n" "KG8DH\n" "KG8DP\n" "KG8OU\n" "KG8P\n" "KG8V\n" "KG8WI\n" "KG9AH\n" "KG9AV\n" "KG9D\n" "KG9E\n" "KG9EE\n" "KG9FA\n" "KG9G\n" "KG9IL\n" "KG9JP\n" "KG9N\n" "KG9SF\n" "KG9X\n" "KG9Z\n" "KH0UA\n" "KH2/JJ1LRD\n" "KH2AR/4\n" "KH2AR/W4\n" "KH2JU\n" "KH2L\n" "KH2OP\n" "KH2RU/KP4\n" "KH2X/W4\n" "KH6AK\n" "KH6AT\n" "KH6BZF\n" "KH6CB\n" "KH6CD\n" "KH6CG\n" "KH6CJJ\n" "KH6CO\n" "KH6CQH/W7\n" "KH6CW\n" "KH6FI\n" "KH6FP\n" "KH6GMP\n" "KH6HAM\n" "KH6HU\n" "KH6IB\n" "KH6J\n" "KH6KM\n" "KH6LC\n" "KH6LS\n" "KH6MB\n" "KH6ND\n" "KH6NF\n" "KH6NO/W7\n" "KH6OA\n" "KH6OO\n" "KH6P\n" "KH6QJ\n" "KH6RC\n" "KH6RZ\n" "KH6TDM\n" "KH6U\n" "KH6YR\n" "KH6ZM\n" "KH6ZN\n" "KH7B\n" "KH7BB\n" "KH7C\n" "KH7CC\n" "KH7DX\n" "KH7HI\n" "KH7LC\n" "KH7T\n" "KH7U\n" "KH7WW/W7\n" "KH7X\n" "KH7XS\n" "KH7Y\n" "KH9/WA2YUN\n" "KI0F\n" "KI0G\n" "KI0HA\n" "KI0HS\n" "KI0II\n" "KI0J\n" "KI0JG\n" "KI0LS\n" "KI0OV\n" "KI0QS\n" "KI0RB\n" "KI0RH\n" "KI0SK\n" "KI0WA\n" "KI0Y\n" "KI0Z\n" "KI1G\n" "KI1M\n" "KI2G\n" "KI2P\n" "KI3C\n" "KI3DS\n" "KI3O\n" "KI3T\n" "KI4ACW\n" "KI4AOQ\n" "KI4ASK\n" "KI4BAL\n" "KI4BIY\n" "KI4BJS\n" "KI4BSB\n" "KI4BWS\n" "KI4BXU\n" "KI4BYQ\n" "KI4C\n" "KI4CBF\n" "KI4CBN\n" "KI4CQO\n" "KI4DT\n" "KI4EEY\n" "KI4EGT\n" "KI4EZC\n" "KI4FCQ\n" "KI4FIA\n" "KI4FSZ\n" "KI4FVS\n" "KI4FW\n" "KI4GGH\n" "KI4GGJ\n" "KI4GHT\n" "KI4GKS\n" "KI4GUO\n" "KI4HHK\n" "KI4IKB\n" "KI4IRH\n" "KI4ITV\n" "KI4JMI\n" "KI4KFW\n" "KI4KK\n" "KI4KPA\n" "KI4KQ\n" "KI4KTH\n" "KI4LAV\n" "KI4LIL\n" "KI4LMA\n" "KI4LNE\n" "KI4LPR\n" "KI4MFF\n" "KI4MFX\n" "KI4MHA\n" "KI4MIV\n" "KI4MQF\n" "KI4MUG\n" "KI4MZS\n" "KI4NCX\n" "KI4NKA\n" "KI4NSI\n" "KI4NSP\n" "KI4ODO\n" "KI4ONJ\n" "KI4ORL\n" "KI4ORU\n" "KI4ORY\n" "KI4PAQ\n" "KI4PHE\n" "KI4PKW\n" "KI4PRK\n" "KI4PTM\n" "KI4PVD\n" "KI4QEO\n" "KI4QLN\n" "KI4QMK\n" "KI4RKB\n" "KI4ROA\n" "KI4RXE\n" "KI4SGQ\n" "KI4SII\n" "KI4SNS\n" "KI4SP\n" "KI4SPO\n" "KI4SVQ\n" "KI4TAW\n" "KI4TI\n" "KI4TMD\n" "KI4TTS\n" "KI4TXP\n" "KI4TYK\n" "KI4TZ\n" "KI4TZU\n" "KI4UFF\n" "KI4URM\n" "KI4UYM\n" "KI4VBR\n" "KI4VCT\n" "KI4VDC\n" "KI4VEU\n" "KI4VFW\n" "KI4VLQ\n" "KI4VTL\n" "KI4VWJ\n" "KI4WAX\n" "KI4WCA\n" "KI4WOH\n" "KI4YAH\n" "KI4YCC\n" "KI4YDJ\n" "KI4YPT\n" "KI4YRH\n" "KI4YXO\n" "KI4YY\n" "KI4ZHF\n" "KI4ZKJ\n" "KI5EE\n" "KI5F\n" "KI5FJ\n" "KI5FR\n" "KI5IK\n" "KI5JF\n" "KI5T\n" "KI5TN\n" "KI5WE\n" "KI5WL\n" "KI5XP\n" "KI6ASK\n" "KI6BEN\n" "KI6BQB\n" "KI6CDF\n" "KI6CG\n" "KI6DCN\n" "KI6DRN\n" "KI6DY\n" "KI6DY/0\n" "KI6EAB\n" "KI6FTT\n" "KI6FYQ\n" "KI6GVI\n" "KI6GVM\n" "KI6HDV\n" "KI6IBS\n" "KI6IRA\n" "KI6IT\n" "KI6J\n" "KI6JGH\n" "KI6JJW\n" "KI6KFB\n" "KI6KSY\n" "KI6KVR\n" "KI6LDM\n" "KI6LQE\n" "KI6LTC\n" "KI6LZ\n" "KI6MQX\n" "KI6MWN\n" "KI6NDA\n" "KI6NGN\n" "KI6NN\n" "KI6NNN\n" "KI6OQU\n" "KI6ORO\n" "KI6OY\n" "KI6PGQ\n" "KI6PMD\n" "KI6PR\n" "KI6PTU\n" "KI6QDB\n" "KI6QDH\n" "KI6RRD\n" "KI6RRN\n" "KI6RUW\n" "KI6SMX\n" "KI6SN\n" "KI6SYO\n" "KI6T\n" "KI6TGS\n" "KI6TXC\n" "KI6UAL\n" "KI6UDJ\n" "KI6VC\n" "KI6VJY\n" "KI6WCI\n" "KI6WJ\n" "KI6WOX\n" "KI6WWB\n" "KI6WZZ\n" "KI6YYT\n" "KI6ZLW\n" "KI6ZX\n" "KI6ZZD\n" "KI7AO\n" "KI7BP\n" "KI7DG\n" "KI7K\n" "KI7M\n" "KI7MT\n" "KI7N\n" "KI7T\n" "KI7TG\n" "KI7VR\n" "KI7XA\n" "KI7Y\n" "KI8BV\n" "KI8CQ\n" "KI8JD\n" "KI8KQ\n" "KI8L\n" "KI9A\n" "KI9E\n" "KI9H\n" "KJ0B\n" "KJ0G\n" "KJ0I\n" "KJ0M\n" "KJ0MTN\n" "KJ0P\n" "KJ0R\n" "KJ1I\n" "KJ1J\n" "KJ2D\n" "KJ2M\n" "KJ3L\n" "KJ3X\n" "KJ4ADN\n" "KJ4AIS\n" "KJ4AMH\n" "KJ4AMU\n" "KJ4AOM\n" "KJ4APD\n" "KJ4AUQ\n" "KJ4AUR\n" "KJ4AYT\n" "KJ4AZA\n" "KJ4BEE\n" "KJ4BIW\n" "KJ4BIX\n" "KJ4BJ\n" "KJ4BOU\n" "KJ4BPH\n" "KJ4BQS\n" "KJ4CGU\n" "KJ4CMG\n" "KJ4CNN\n" "KJ4CTS\n" "KJ4CVY\n" "KJ4DBB\n" "KJ4DDM\n" "KJ4DHB\n" "KJ4DLP\n" "KJ4DOZ\n" "KJ4DVD\n" "KJ4EEW\n" "KJ4EKS\n" "KJ4EPL\n" "KJ4ERZ\n" "KJ4EUN\n" "KJ4EX\n" "KJ4EYZ\n" "KJ4FDV\n" "KJ4FKQ\n" "KJ4FSU\n" "KJ4FYX\n" "KJ4GDW\n" "KJ4GLK\n" "KJ4GOI\n" "KJ4HEY\n" "KJ4HYG\n" "KJ4HZ\n" "KJ4IC\n" "KJ4IGV\n" "KJ4IQT\n" "KJ4IVB\n" "KJ4IVK\n" "KJ4IWX\n" "KJ4IXI\n" "KJ4IZW\n" "KJ4JC\n" "KJ4JEY\n" "KJ4JQV\n" "KJ4JTQ\n" "KJ4JTT\n" "KJ4KNW\n" "KJ4KTG\n" "KJ4KVC\n" "KJ4LEN\n" "KJ4LKU\n" "KJ4ND\n" "KJ4NNO\n" "KJ4OOA\n" "KJ4QVJ\n" "KJ4R\n" "KJ4RR\n" "KJ4UNA\n" "KJ4UY\n" "KJ4WD\n" "KJ5CI\n" "KJ5OA\n" "KJ5RC\n" "KJ5RM\n" "KJ5T\n" "KJ5XX\n" "KJ6ABC\n" "KJ6AGX\n" "KJ6AP\n" "KJ6C\n" "KJ6CA\n" "KJ6CM\n" "KJ6DJL\n" "KJ6DQ\n" "KJ6HZ\n" "KJ6NO\n" "KJ6P\n" "KJ6RA\n" "KJ6UD\n" "KJ6Y\n" "KJ6YK\n" "KJ6ZI\n" "KJ7BS\n" "KJ7GI\n" "KJ7NO\n" "KJ7QM\n" "KJ7S\n" "KJ8O\n" "KJ9A\n" "KJ9C\n" "KJ9D\n" "KJ9I\n" "KJ9R\n" "KK0A\n" "KK0DJ\n" "KK0G\n" "KK0HF\n" "KK0I\n" "KK0K\n" "KK0M\n" "KK0Q\n" "KK0SD\n" "KK1DX\n" "KK1F\n" "KK1KW\n" "KK1L\n" "KK1S\n" "KK1W\n" "KK1X\n" "KK2O\n" "KK2W\n" "KK3AN\n" "KK3F\n" "KK3Q\n" "KK4A\n" "KK4AW\n" "KK4E\n" "KK4GV\n" "KK4IY\n" "KK4KM\n" "KK4PJ\n" "KK4PQ\n" "KK4R\n" "KK4RV\n" "KK4SI\n" "KK4SZ\n" "KK4TE\n" "KK4US\n" "KK4WS\n" "KK4XL\n" "KK5CT\n" "KK5E\n" "KK5HT\n" "KK5I\n" "KK5IB\n" "KK5J\n" "KK5JY\n" "KK5K\n" "KK5LO\n" "KK5MR\n" "KK5NA\n" "KK5NO\n" "KK5OQ\n" "KK5OV\n" "KK5RX\n" "KK5TC\n" "KK5ZD\n" "KK6EL\n" "KK6GJ\n" "KK6LT\n" "KK6MC\n" "KK6PC\n" "KK6QT\n" "KK6T\n" "KK6TV\n" "KK6XN\n" "KK7AC\n" "KK7BR\n" "KK7CG\n" "KK7DP\n" "KK7EU\n" "KK7IG\n" "KK7MF\n" "KK7OO\n" "KK7PR\n" "KK7S\n" "KK7UQ\n" "KK7UV\n" "KK7VL\n" "KK7X\n" "KK7XT\n" "KK7YC\n" "KK7YL\n" "KK7YU\n" "KK8B\n" "KK8D\n" "KK8MM\n" "KK8U\n" "KK8X\n" "KK8Y\n" "KK9A\n" "KK9DX\n" "KK9G\n" "KK9H\n" "KK9N\n" "KK9O\n" "KK9T\n" "KK9V\n" "KL1IN\n" "KL1JP\n" "KL1R\n" "KL1SE/W4\n" "KL1SF\n" "KL1V\n" "KL1WE/6\n" "KL1WE/W6\n" "KL1YY\n" "KL2AX\n" "KL2R\n" "KL2RG\n" "KL5DX\n" "KL5E\n" "KL5O\n" "KL5Z\n" "KL7AA\n" "KL7AC\n" "KL7AF\n" "KL7AI\n" "KL7AIR\n" "KL7AM\n" "KL7AN\n" "KL7BB/W7\n" "KL7CH\n" "KL7CQ\n" "KL7CW\n" "KL7D\n" "KL7DX\n" "KL7FAP\n" "KL7GS\n" "KL7HBK\n" "KL7IDA\n" "KL7IKV\n" "KL7IWC\n" "KL7J\n" "KL7LT\n" "KL7MM\n" "KL7NC\n" "KL7OH\n" "KL7OO\n" "KL7OO/W7\n" "KL7OU\n" "KL7QR\n" "KL7R\n" "KL7RA\n" "KL7SB\n" "KL7SG\n" "KL7TS\n" "KL7VX\n" "KL7WP\n" "KL7WV\n" "KL7XX\n" "KL7YK\n" "KL7Z\n" "KL8DX\n" "KM0O\n" "KM0U\n" "KM1C\n" "KM1D\n" "KM1E\n" "KM1R\n" "KM1W\n" "KM1X\n" "KM1Z\n" "KM2L\n" "KM2O\n" "KM2Y\n" "KM2Z\n" "KM3J\n" "KM3T\n" "KM3T/KP4\n" "KM3V\n" "KM4C\n" "KM4CH\n" "KM4D\n" "KM4DR\n" "KM4DR/5\n" "KM4H\n" "KM4HI\n" "KM4JA\n" "KM4KB\n" "KM4M\n" "KM4MK\n" "KM4OR\n" "KM4OZ\n" "KM4RK\n" "KM4RO\n" "KM4U\n" "KM4ZR\n" "KM5E\n" "KM5FY\n" "KM5LS\n" "KM5PS\n" "KM5RA\n" "KM5TY\n" "KM5VI\n" "KM5Z\n" "KM6CR\n" "KM6CZ\n" "KM6HB\n" "KM6I\n" "KM6K\n" "KM6TY\n" "KM6XX\n" "KM6Z\n" "KM7DX\n" "KM7T\n" "KM7TR\n" "KM7W\n" "KM8L\n" "KM8R\n" "KM9M\n" "KM9P\n" "KM9X\n" "KN0A\n" "KN0N\n" "KN0R\n" "KN0V\n" "KN1H\n" "KN1R\n" "KN1W\n" "KN3A\n" "KN3X\n" "KN4DS\n" "KN4JN\n" "KN4JX\n" "KN4KL\n" "KN4LF\n" "KN4NN\n" "KN4OK\n" "KN4Q\n" "KN4QD\n" "KN4Y\n" "KN5H\n" "KN5O\n" "KN5S\n" "KN6B\n" "KN6DV\n" "KN6E\n" "KN6H\n" "KN6LF\n" "KN6OP\n" "KN6OZ\n" "KN6U\n" "KN6VVH\n" "KN6X\n" "KN6Y\n" "KN6YC\n" "KN7D\n" "KN7K\n" "KN7N\n" "KN7PF\n" "KN7S\n" "KN7T\n" "KN7Y\n" "KN8DMK\n" "KN8J\n" "KN8KAZ\n" "KN8KAZ/5\n" "KN8M\n" "KN9C\n" "KN9K\n" "KN9N\n" "KN9P\n" "KO0Z\n" "KO1E\n" "KO1G\n" "KO1H\n" "KO1U\n" "KO2OK\n" "KO4OL\n" "KO4PU\n" "KO4XB\n" "KO4XJ\n" "KO4Y\n" "KO5DX\n" "KO6I\n" "KO6IS\n" "KO6U\n" "KO7AA\n" "KO7P\n" "KO7T\n" "KO7X\n" "KO9G\n" "KO9H\n" "KP2B\n" "KP2BH\n" "KP2CT\n" "KP2CW\n" "KP2D\n" "KP2DX\n" "KP2M\n" "KP2SJ\n" "KP2TM\n" "KP3AAA\n" "KP3G\n" "KP3S\n" "KP3VA\n" "KP3Z\n" "KP4AH\n" "KP4ATF\n" "KP4BD\n" "KP4BME\n" "KP4BOY\n" "KP4BT\n" "KP4ED\n" "KP4GB\n" "KP4GB/W3\n" "KP4GC\n" "KP4JFR\n" "KP4JRS\n" "KP4KE\n" "KP4KE/W4\n" "KP4LH\n" "KP4MS\n" "KP4QY\n" "KP4RAT\n" "KP4RAY\n" "KP4SQ\n" "KP4TF\n" "KP4US\n" "KP4VP\n" "KP4WW\n" "KP4Y/W0\n" "KQ0B\n" "KQ1A\n" "KQ1F\n" "KQ1P\n" "KQ1U\n" "KQ1X\n" "KQ2I\n" "KQ2M\n" "KQ3F\n" "KQ4BH\n" "KQ4KK\n" "KQ4VY\n" "KQ4Y\n" "KQ5E\n" "KQ6DX\n" "KQ6EA\n" "KQ6ES\n" "KQ6IU\n" "KQ6K\n" "KQ6LV\n" "KQ6MU\n" "KQ6OD\n" "KQ6PK\n" "KQ6Q\n" "KQ6X\n" "KQ6YG\n" "KQ6Z\n" "KQ7W\n" "KQ8E\n" "KQ8M\n" "KQ9J\n" "KR0I\n" "KR0K\n" "KR0O\n" "KR0T\n" "KR0U\n" "KR0V\n" "KR1A\n" "KR1B\n" "KR1ST\n" "KR2AA\n" "KR2C\n" "KR2D\n" "KR2Q\n" "KR3E\n" "KR3J\n" "KR3O\n" "KR4BG\n" "KR4EY\n" "KR4F\n" "KR4JY\n" "KR4LO\n" "KR4OJ\n" "KR4OW\n" "KR4RO\n" "KR4TI\n" "KR4U\n" "KR4V\n" "KR4WI\n" "KR4X\n" "KR4Z\n" "KR4ZA\n" "KR5DX\n" "KR5N\n" "KR5V\n" "KR5X\n" "KR6C\n" "KR6RR\n" "KR7DX\n" "KR7G\n" "KR7LD\n" "KR7O\n" "KR7RK\n" "KR7RR\n" "KR7W\n" "KR7X\n" "KR8MR\n" "KR8Q\n" "KR8T\n" "KR8U\n" "KR8V\n" "KS0AA\n" "KS0M\n" "KS0T\n" "KS0X\n" "KS0Y\n" "KS1C\n" "KS1G\n" "KS1J\n" "KS1Y\n" "KS2G\n" "KS2L\n" "KS2O\n" "KS3D\n" "KS3F\n" "KS3P\n" "KS3S\n" "KS4G\n" "KS4L\n" "KS4S\n" "KS4V\n" "KS4X\n" "KS4XN\n" "KS4Z\n" "KS5A\n" "KS5Z\n" "KS6A\n" "KS6M\n" "KS6U\n" "KS7S\n" "KS7T\n" "KS7U\n" "KS8O\n" "KS9K\n" "KS9W\n" "KT0AD\n" "KT0DX\n" "KT0F\n" "KT0K\n" "KT0P\n" "KT0R\n" "KT1B\n" "KT1D\n" "KT1I\n" "KT1J\n" "KT1V\n" "KT1VT\n" "KT2D\n" "KT2Z\n" "KT3M\n" "KT3W\n" "KT3Y\n" "KT4AH\n" "KT4CB\n" "KT4DW\n" "KT4FJ\n" "KT4FY\n" "KT4HX\n" "KT4LF\n" "KT4MM\n" "KT4OO\n" "KT4PD\n" "KT4Q\n" "KT4RH\n" "KT4SS\n" "KT4TL\n" "KT4U\n" "KT4ZB\n" "KT5D\n" "KT5E\n" "KT5G\n" "KT5J\n" "KT5V\n" "KT5X\n" "KT6D\n" "KT6DX\n" "KT6LA\n" "KT6V\n" "KT6VV\n" "KT6YL\n" "KT7AZ\n" "KT7DX\n" "KT7G\n" "KT8K\n" "KT8N\n" "KT8R\n" "KT8X\n" "KT8Y\n" "KT8Z\n" "KT9B\n" "KT9L\n" "KT9T\n" "KT9W\n" "KU0DM\n" "KU0G\n" "KU0K\n" "KU1CW\n" "KU1T\n" "KU2C\n" "KU2M\n" "KU2US\n" "KU3G\n" "KU3X\n" "KU4A\n" "KU4AF\n" "KU4BL\n" "KU4BP\n" "KU4C\n" "KU4EC\n" "KU4GW\n" "KU4ME\n" "KU4MT\n" "KU4PY\n" "KU4UV\n" "KU4UW\n" "KU4V\n" "KU4VY\n" "KU4WD\n" "KU4XO\n" "KU4XP\n" "KU4YT\n" "KU4YW\n" "KU4ZV\n" "KU5B\n" "KU6S\n" "KU7K\n" "KU7N\n" "KU7Y\n" "KU7Z\n" "KU8E\n" "KU8L\n" "KU8T\n" "KU8V\n" "KU9RK\n" "KU9S\n" "KU9Z\n" "KV0K\n" "KV0Q\n" "KV1J\n" "KV1P\n" "KV1W\n" "KV2K\n" "KV2M\n" "KV2R\n" "KV2S\n" "KV2X\n" "KV3W\n" "KV4CN\n" "KV4CQ\n" "KV4DT\n" "KV4FZ\n" "KV4K\n" "KV4T\n" "KV5V\n" "KV5WS\n" "KV5Y\n" "KV6O\n" "KV7DX\n" "KV7K\n" "KV7S\n" "KV8Q\n" "KV9O\n" "KV9R\n" "KV9W\n" "KW0H\n" "KW0U\n" "KW0V\n" "KW2A\n" "KW2G\n" "KW2HV\n" "KW2J\n" "KW2N\n" "KW2O\n" "KW3A\n" "KW3F\n" "KW3LO\n" "KW3U\n" "KW3W\n" "KW4CC\n" "KW4E\n" "KW4J\n" "KW4JS\n" "KW4T\n" "KW4TT\n" "KW4V\n" "KW4VA\n" "KW4WK\n" "KW5HP\n" "KW5K\n" "KW5USA\n" "KW6G\n" "KW6N\n" "KW6Q\n" "KW7A\n" "KW7E\n" "KW7I\n" "KW7JS\n" "KW7N\n" "KW7OS\n" "KW7Q\n" "KW7XX\n" "KW7Y\n" "KW8N\n" "KW8O\n" "KW8V\n" "KW9A\n" "KW9CAT\n" "KW9DX\n" "KW9M\n" "KW9N\n" "KW9R\n" "KX0R\n" "KX1E\n" "KX1G\n" "KX1X\n" "KX2A\n" "KX2B\n" "KX2H\n" "KX2P\n" "KX2S\n" "KX2X\n" "KX2Y\n" "KX3K\n" "KX3Q\n" "KX4D\n" "KX4G\n" "KX4O\n" "KX4P\n" "KX4R\n" "KX4X\n" "KX5A\n" "KX5RW\n" "KX5T\n" "KX5W\n" "KX6M\n" "KX6X\n" "KX7F\n" "KX7L\n" "KX7M\n" "KX7YT\n" "KX8A\n" "KX8D\n" "KX8K\n" "KX8X\n" "KX9DX\n" "KX9M\n" "KX9Q\n" "KX9X\n" "KY0O\n" "KY0R\n" "KY0W\n" "KY0Y\n" "KY1LAW\n" "KY1RK\n" "KY1Z\n" "KY2J\n" "KY2T\n" "KY3B\n" "KY3X\n" "KY4BP\n" "KY4CW\n" "KY4F\n" "KY4J\n" "KY4P\n" "KY4USA\n" "KY4Z\n" "KY5D\n" "KY5G\n" "KY5N\n" "KY5Q\n" "KY5R\n" "KY6J\n" "KY6LA\n" "KY7K\n" "KY7L\n" "KY7M\n" "KY7Q\n" "KY9KY\n" "KY9KYO\n" "KZ1A\n" "KZ1K\n" "KZ1M\n" "KZ1O\n" "KZ1W\n" "KZ1X\n" "KZ1Z\n" "KZ2I\n" "KZ2T\n" "KZ2V\n" "KZ3DX\n" "KZ3M\n" "KZ3Q\n" "KZ3W\n" "KZ3X\n" "KZ4D\n" "KZ4G\n" "KZ4USA\n" "KZ4V\n" "KZ4VT\n" "KZ4ZZ\n" "KZ5A\n" "KZ5AM\n" "KZ5D\n" "KZ5J\n" "KZ5JE\n" "KZ5MM\n" "KZ5OH\n" "KZ5OM\n" "KZ5P\n" "KZ5V\n" "KZ6D\n" "KZ7O\n" "KZ7Q\n" "KZ7X\n" "KZ8A\n" "KZ8E\n" "KZ8K\n" "KZ8ZZ\n" "KZ9O\n" "L20E\n" "L21D\n" "L25X\n" "L33M\n" "L44DX\n" "L46V\n" "L47H\n" "L55D\n" "L60DK\n" "L73D\n" "L73DX\n" "LA0CX\n" "LA0FA\n" "LA1BFA\n" "LA1DSA\n" "LA1EK\n" "LA1ENA\n" "LA1K\n" "LA1NSB\n" "LA1PHA\n" "LA1QDA\n" "LA1TPA\n" "LA1TPK\n" "LA1TUR\n" "LA1UKA\n" "LA1VFA\n" "LA1VNA\n" "LA1XFA\n" "LA1YE\n" "LA1YPA\n" "LA2008TSR\n" "LA2AB\n" "LA2FKA\n" "LA2GH\n" "LA2GN\n" "LA2GRA\n" "LA2HFA\n" "LA2IJ\n" "LA2MJA\n" "LA2MOA\n" "LA2O\n" "LA2OKA\n" "LA2PA\n" "LA2QM\n" "LA2RZ\n" "LA2TD\n" "LA2WRA\n" "LA2XPA\n" "LA3ANA\n" "LA3BO\n" "LA3BPA\n" "LA3HPA\n" "LA3RK\n" "LA3S\n" "LA3TK\n" "LA3WAA\n" "LA3YNA\n" "LA3YU\n" "LA3ZA\n" "LA3ZPA\n" "LA4CW\n" "LA4EI\n" "LA4EJ\n" "LA4EU\n" "LA4FNA\n" "LA4GHA\n" "LA4IR\n" "LA4NE\n" "LA4O\n" "LA4OGA\n" "LA4PM\n" "LA4RT\n" "LA4SGA\n" "LA4URA\n" "LA4WKA\n" "LA5EKA\n" "LA5FBA\n" "LA5FH\n" "LA5FJA\n" "LA5HE\n" "LA5HPA\n" "LA5IIA\n" "LA5LBA\n" "LA5LJA\n" "LA5MDA\n" "LA5PBA\n" "LA5PRA\n" "LA5SAA\n" "LA5SJA\n" "LA5TFA\n" "LA5UF\n" "LA5UJ\n" "LA5UKA\n" "LA5VK\n" "LA5WNA\n" "LA5YJ\n" "LA5YW\n" "LA5ZQ\n" "LA6ALA\n" "LA6BNA\n" "LA6CF\n" "LA6DW\n" "LA6FJA\n" "LA6HL\n" "LA6IHA\n" "LA6IRA\n" "LA6K\n" "LA6KOA\n" "LA6LDA\n" "LA6OP\n" "LA6PB\n" "LA6TP\n" "LA6VM\n" "LA6YEA\n" "LA6ZFA\n" "LA7AFA\n" "LA7CL\n" "LA7GIA\n" "LA7GNA\n" "LA7IJA\n" "LA7JO\n" "LA7NFA\n" "LA7OC\n" "LA7QI\n" "LA7QIA\n" "LA7RJ\n" "LA7RRA\n" "LA7SI\n" "LA7SKA\n" "LA7THA\n" "LA7TN\n" "LA7TO\n" "LA7VE\n" "LA7WCA\n" "LA7XK\n" "LA8AJA\n" "LA8AW\n" "LA8D\n" "LA8DW\n" "LA8HGA\n" "LA8KRA\n" "LA8NRA\n" "LA8OKA\n" "LA8OM\n" "LA8OOA\n" "LA8PDA\n" "LA8TIA\n" "LA8UHA\n" "LA8UL\n" "LA8WG\n" "LA8XM\n" "LA8ZIA\n" "LA9AJA\n" "LA9BM\n" "LA9DAA\n" "LA9DJA\n" "LA9DK\n" "LA9FFA\n" "LA9LMA\n" "LA9NM\n" "LA9QL\n" "LA9QNA\n" "LA9TJA\n" "LA9TY\n" "LA9VDA\n" "LA9VK\n" "LA9VPA\n" "LA9XKA\n" "LA9Z\n" "LB2TB\n" "LB3KB\n" "LB7Q\n" "LB9LE\n" "LB9RE\n" "LG5LG\n" "LN1T\n" "LN2HQ\n" "LN2L\n" "LN2T\n" "LN3F\n" "LN3R\n" "LN3Z\n" "LN4BBC\n" "LN5O\n" "LN7AZ\n" "LN8W\n" "LN9Z\n" "LO2F\n" "LO7D\n" "LO7H\n" "LP1H\n" "LP2F\n" "LP3U\n" "LQ0F\n" "LQ4D\n" "LQ5H\n" "LR1A\n" "LR1H\n" "LR1V\n" "LR2F\n" "LR4D\n" "LR4E\n" "LR6H\n" "LR7F\n" "LS1D\n" "LS2D\n" "LS2E\n" "LS4DX\n" "LT0D\n" "LT0H\n" "LT1A\n" "LT1D\n" "LT1F\n" "LT1K\n" "LT2F\n" "LT4S\n" "LT5D\n" "LT5H\n" "LT5X\n" "LT5Y\n" "LT7D\n" "LT7H\n" "LU1AEE\n" "LU1ALF\n" "LU1ARG\n" "LU1ARV\n" "LU1BJW\n" "LU1BR\n" "LU1BW\n" "LU1DCB\n" "LU1DK\n" "LU1DP\n" "LU1DZ\n" "LU1EDH\n" "LU1EJ\n" "LU1EWL\n" "LU1FDU\n" "LU1HF\n" "LU1HLH\n" "LU1IBL\n" "LU1ICX\n" "LU1MPK\n" "LU1MSD\n" "LU1NDC\n" "LU1QAH\n" "LU1QS\n" "LU1SF\n" "LU1UM\n" "LU1VM\n" "LU1WI\n" "LU1XS\n" "LU1YY\n" "LU2AH\n" "LU2BA\n" "LU2DGZ\n" "LU2DKT\n" "LU2DPW\n" "LU2DT\n" "LU2DVI/H\n" "LU2EE\n" "LU2EQF\n" "LU2FCB\n" "LU2FFD\n" "LU2FLN\n" "LU2NI\n" "LU2QC\n" "LU2UE\n" "LU2UF\n" "LU2VC\n" "LU3CQ\n" "LU3CT\n" "LU3DAT\n" "LU3DDH\n" "LU3DKV\n" "LU3DOC\n" "LU3DR\n" "LU3DX\n" "LU3DY\n" "LU3FID\n" "LU3FLV\n" "LU3HIP\n" "LU3HS\n" "LU3JVO\n" "LU3MAM\n" "LU3MCJ\n" "LU4AT\n" "LU4DPC\n" "LU4DQ\n" "LU4DX\n" "LU4DXU\n" "LU4EJS\n" "LU4FLJ\n" "LU4FPZ\n" "LU4FW\n" "LU4KC\n" "LU4MHQ\n" "LU4VEW\n" "LU4WG\n" "LU5CAB\n" "LU5EVK\n" "LU5FF\n" "LU5FII\n" "LU5FMC\n" "LU5FT\n" "LU5FZ/A\n" "LU5MT\n" "LU5OM\n" "LU5VV\n" "LU5WW\n" "LU5YF\n" "LU6AM\n" "LU6DAT\n" "LU6DK\n" "LU6DO\n" "LU6EF\n" "LU6EQT\n" "LU6ETB\n" "LU6EVD\n" "LU6FAH\n" "LU6FBJ\n" "LU6FEC\n" "LU6FN\n" "LU6FOV\n" "LU6FT\n" "LU6KA\n" "LU6QI\n" "LU6UBN\n" "LU6UO\n" "LU6WG\n" "LU6XQ/D\n" "LU7DNN\n" "LU7DSU\n" "LU7DSY\n" "LU7EE\n" "LU7FPA\n" "LU7FSM\n" "LU7FTS\n" "LU7FWV\n" "LU7HN\n" "LU7HW\n" "LU7KAT\n" "LU7MAL\n" "LU7MCJ\n" "LU7MSE\n" "LU7SN\n" "LU7VCH\n" "LU7YS\n" "LU7YW\n" "LU7YZ\n" "LU8ADX\n" "LU8DWR\n" "LU8DY\n" "LU8EEM\n" "LU8EGS\n" "LU8EHR\n" "LU8EOT\n" "LU8QT\n" "LU8SAN\n" "LU8YE\n" "LU9DA\n" "LU9DAG\n" "LU9DO\n" "LU9DTC\n" "LU9ESD\n" "LU9EY\n" "LU9FDG\n" "LU9FFZ\n" "LU9HP\n" "LU9MBY\n" "LU9MDH\n" "LV5V\n" "LV6D\n" "LW1DBG\n" "LW1DTZ\n" "LW1DX\n" "LW1E\n" "LW1EUD\n" "LW1EXU/D\n" "LW1HR\n" "LW2DFH\n" "LW3DC\n" "LW3DG\n" "LW3DIV\n" "LW3DN\n" "LW3EWZ\n" "LW3EX\n" "LW4DYI\n" "LW4EU\n" "LW4HBR\n" "LW5DFR\n" "LW5DR\n" "LW5EAE\n" "LW5EE\n" "LW5ET\n" "LW5HBR\n" "LW6DG\n" "LW6DW\n" "LW6EFR\n" "LW7DX\n" "LW7H\n" "LW7HE\n" "LW7HT\n" "LW8DQ\n" "LW9DHR\n" "LW9EOC\n" "LW9ETQ\n" "LX0HQ\n" "LX1A\n" "LX1DA\n" "LX1EA\n" "LX1ER\n" "LX1FC\n" "LX1HD\n" "LX1KC\n" "LX1KN\n" "LX1NO\n" "LX1SG\n" "LX1TO\n" "LX1UN\n" "LX30AK\n" "LX4A\n" "LX5T\n" "LX7I\n" "LX8DL\n" "LX8I\n" "LX8M\n" "LX8RTTY\n" "LX9EG\n" "LX9UN\n" "LY0HQ\n" "LY1AKM\n" "LY1BA\n" "LY1BX\n" "LY1C\n" "LY1CG\n" "LY1CM\n" "LY1CO\n" "LY1CT\n" "LY1CX\n" "LY1DJ\n" "LY1DT\n" "LY1FGP\n" "LY1FW\n" "LY1G\n" "LY1GK\n" "LY1K\n" "LY1M\n" "LY1MA\n" "LY1N\n" "LY1NDN\n" "LY1PM\n" "LY1R\n" "LY1RB\n" "LY1TR\n" "LY1XA\n" "LY1XM\n" "LY2A\n" "LY2AE\n" "LY2AO\n" "LY2AT\n" "LY2BAW\n" "LY2BBF\n" "LY2BIS\n" "LY2BKT\n" "LY2BNL\n" "LY2BOK\n" "LY2BOS\n" "LY2BUU\n" "LY2BVB\n" "LY2C\n" "LY2CG\n" "LY2CO\n" "LY2CV\n" "LY2CX\n" "LY2DM\n" "LY2DV\n" "LY2DX\n" "LY2DZ\n" "LY2F\n" "LY2FN\n" "LY2GV\n" "LY2GW\n" "LY2H\n" "LY2IJ\n" "LY2J\n" "LY2K\n" "LY2KM\n" "LY2KZ\n" "LY2L\n" "LY2LB\n" "LY2LE\n" "LY2LF\n" "LY2LU\n" "LY2MM\n" "LY2N\n" "LY2ND\n" "LY2NK\n" "LY2O\n" "LY2OF\n" "LY2OM\n" "LY2OO\n" "LY2OU\n" "LY2OX\n" "LY2PX\n" "LY2QT\n" "LY2RJ\n" "LY2SA\n" "LY2SL\n" "LY2T\n" "LY2TA\n" "LY2TS\n" "LY2VA\n" "LY2W\n" "LY2WJ\n" "LY2WN\n" "LY2X\n" "LY2XW\n" "LY2YR\n" "LY2ZZ\n" "LY3A\n" "LY3B\n" "LY3BB\n" "LY3BG\n" "LY3BM\n" "LY3BN\n" "LY3BY\n" "LY3CW\n" "LY3CY\n" "LY3ID\n" "LY3JM\n" "LY3KS\n" "LY3M\n" "LY3NX\n" "LY3O\n" "LY3P\n" "LY3QA\n" "LY3RA\n" "LY3S\n" "LY3SL\n" "LY3TW\n" "LY3UV\n" "LY3V\n" "LY3VD\n" "LY3W\n" "LY3X\n" "LY3ZM\n" "LY4A\n" "LY4AA\n" "LY4BF\n" "LY4BP\n" "LY4BR\n" "LY4CW\n" "LY4D\n" "LY4G\n" "LY4K\n" "LY4L\n" "LY4MM\n" "LY4OO\n" "LY4Q\n" "LY4R\n" "LY4T\n" "LY5A\n" "LY5G\n" "LY5R\n" "LY5W\n" "LY6A\n" "LY6M\n" "LY7A\n" "LY7M\n" "LY7Z\n" "LY8O\n" "LY9A\n" "LY9Y\n" "LZ/SQ9UM\n" "LZ09BR\n" "LZ09IPY\n" "LZ100SO\n" "LZ10ARDF\n" "LZ10RF\n" "LZ1195IR\n" "LZ170HD\n" "LZ17ARDF\n" "LZ180FT\n" "LZ1ABC\n" "LZ1AF\n" "LZ1AQ\n" "LZ1AZ\n" "LZ1BJ\n" "LZ1BJ/1\n" "LZ1BP\n" "LZ1BY\n" "LZ1CF\n" "LZ1CY\n" "LZ1DCD\n" "LZ1DM\n" "LZ1DNY\n" "LZ1DO\n" "LZ1DQ\n" "LZ1EO\n" "LZ1EP\n" "LZ1FH\n" "LZ1FI\n" "LZ1FJ\n" "LZ1GL\n" "LZ1HW\n" "LZ1IA\n" "LZ1IKY\n" "LZ1IQ\n" "LZ1JY\n" "LZ1JZ\n" "LZ1KP\n" "LZ1KSC\n" "LZ1KZA\n" "LZ1MC\n" "LZ1MG\n" "LZ1MS\n" "LZ1ND\n" "LZ1NG\n" "LZ1NJ\n" "LZ1NK\n" "LZ1NY\n" "LZ1NYK\n" "LZ1OI\n" "LZ1OJ\n" "LZ1ONK\n" "LZ1PJ\n" "LZ1PM\n" "LZ1PSH\n" "LZ1QB\n" "LZ1QI\n" "LZ1QN\n" "LZ1QV\n" "LZ1QZ\n" "LZ1RGM\n" "LZ1SDR\n" "LZ1VB\n" "LZ1VCT\n" "LZ1VQ\n" "LZ1VVV\n" "LZ1WJ\n" "LZ1XL\n" "LZ1YE\n" "LZ1YG\n" "LZ1YP\n" "LZ1YY\n" "LZ1ZC\n" "LZ1ZF\n" "LZ1ZJ\n" "LZ1ZM\n" "LZ1ZV\n" "LZ26ZA\n" "LZ2A\n" "LZ2AB\n" "LZ2AG\n" "LZ2AY\n" "LZ2BE\n" "LZ2CC\n" "LZ2CE\n" "LZ2CJ\n" "LZ2CWW\n" "LZ2DF\n" "LZ2EG\n" "LZ2ES\n" "LZ2FM\n" "LZ2FO\n" "LZ2FQ\n" "LZ2GS\n" "LZ2HA\n" "LZ2HM\n" "LZ2HN\n" "LZ2HR\n" "LZ2JA\n" "LZ2JR\n" "LZ2KAF\n" "LZ2KV\n" "LZ2LE\n" "LZ2LH\n" "LZ2LT\n" "LZ2MW\n" "LZ2NA\n" "LZ2NG\n" "LZ2NKM\n" "LZ2OV\n" "LZ2PB\n" "LZ2PEP\n" "LZ2PI\n" "LZ2PL\n" "LZ2PS\n" "LZ2RS\n" "LZ2SC\n" "LZ2SX\n" "LZ2UU\n" "LZ2UW\n" "LZ2UZ\n" "LZ2VP\n" "LZ2VU\n" "LZ2XF\n" "LZ2ZD\n" "LZ2ZF\n" "LZ2ZG\n" "LZ2ZY\n" "LZ3CB\n" "LZ3DX\n" "LZ3FN\n" "LZ3HI\n" "LZ3IW\n" "LZ3NY\n" "LZ3PZ\n" "LZ3RZ\n" "LZ3SD\n" "LZ3SM\n" "LZ3TL\n" "LZ3TY\n" "LZ3YV\n" "LZ3ZQ\n" "LZ3ZX\n" "LZ3ZZ\n" "LZ40ATSA\n" "LZ44WFF\n" "LZ4AE\n" "LZ4BU\n" "LZ4GL\n" "LZ4RR\n" "LZ4TL\n" "LZ4TX\n" "LZ4UU\n" "LZ5A\n" "LZ5F\n" "LZ5K\n" "LZ5R\n" "LZ5T\n" "LZ5VK\n" "LZ5XQ\n" "LZ5Z\n" "LZ5ZI\n" "LZ65P\n" "LZ6W\n" "LZ7G\n" "LZ7H\n" "LZ7HQ\n" "LZ7J\n" "LZ7S\n" "LZ7T\n" "LZ7X\n" "LZ8A\n" "LZ8E\n" "LZ8W\n" "LZ9A\n" "LZ9C\n" "LZ9R\n" "LZ9V\n" "LZ9W\n" "LZ9X\n" "M0AAA\n" "M0AAC\n" "M0AAS\n" "M0ACL\n" "M0ACM\n" "M0AEJ\n" "M0AEU\n" "M0AFE\n" "M0AFJ\n" "M0AGA\n" "M0AID\n" "M0AJM\n" "M0AMS\n" "M0AOI\n" "M0ASR\n" "M0AWS\n" "M0AWX\n" "M0AXD\n" "M0B\n" "M0BCT\n" "M0BGR\n" "M0BJL\n" "M0BJX\n" "M0BKH\n" "M0BKV\n" "M0BLF\n" "M0BMX\n" "M0BPQ\n" "M0BSV\n" "M0BUY\n" "M0BVE\n" "M0BVQ\n" "M0BXR\n" "M0BZU\n" "M0BZZ\n" "M0CAR\n" "M0CCQ\n" "M0CEF\n" "M0CES\n" "M0CFW\n" "M0CHK\n" "M0CJW\n" "M0CKE\n" "M0CKX\n" "M0CMH\n" "M0CNP\n" "M0COK\n" "M0COM\n" "M0COP\n" "M0CQE\n" "M0CSD\n" "M0CTR\n" "M0CUL\n" "M0CUS\n" "M0CVK\n" "M0CYR\n" "M0DCD\n" "M0DDT\n" "M0DEG\n" "M0DEP\n" "M0DGB\n" "M0DHO\n" "M0DIV\n" "M0DKN\n" "M0DLL\n" "M0DMA\n" "M0DMJ\n" "M0DMS\n" "M0DOL\n" "M0DOL/P\n" "M0DSK\n" "M0DUO\n" "M0DVV\n" "M0DWW\n" "M0DXR\n" "M0DXS\n" "M0DYI\n" "M0EBJ\n" "M0EDX\n" "M0EMM\n" "M0EVI\n" "M0FAQ\n" "M0FCR\n" "M0FJM\n" "M0FTL\n" "M0GAV\n" "M0GBK\n" "M0GBP\n" "M0GDX\n" "M0GEJ\n" "M0GHQ\n" "M0GIA/P\n" "M0GIZ\n" "M0GJH\n" "M0GKC\n" "M0GLP\n" "M0GME\n" "M0GMT\n" "M0GWS\n" "M0HDD\n" "M0HDK\n" "M0HEM\n" "M0HKB\n" "M0HRC\n" "M0HWK\n" "M0IAA\n" "M0IKE\n" "M0ILT\n" "M0INB\n" "M0IOD\n" "M0IPS\n" "M0ITY\n" "M0JME\n" "M0JMO\n" "M0JRA\n" "M0KAZ\n" "M0KOP\n" "M0KPB\n" "M0KSJ\n" "M0KTM\n" "M0KVP\n" "M0KZH\n" "M0LLW\n" "M0LMH\n" "M0LUV\n" "M0MAC\n" "M0MAD\n" "M0MCV\n" "M0MCX\n" "M0MDF\n" "M0MDR\n" "M0MGF\n" "M0MRB\n" "M0NDZ\n" "M0NKS\n" "M0NNH\n" "M0NOV\n" "M0NQN\n" "M0OIC\n" "M0OKT\n" "M0OVL\n" "M0OXD\n" "M0OXO\n" "M0PAR\n" "M0PCB\n" "M0PIE\n" "M0PNN\n" "M0POQ\n" "M0PSK\n" "M0PSW\n" "M0RBE\n" "M0RBG\n" "M0REX\n" "M0RGI\n" "M0RHS\n" "M0RIA\n" "M0RMW\n" "M0RNR\n" "M0RPD\n" "M0RSD\n" "M0RTI\n" "M0RYB\n" "M0SAD\n" "M0SAT\n" "M0SCG\n" "M0SDX\n" "M0SDY\n" "M0SEL\n" "M0SFR\n" "M0SLA/W9\n" "M0SUF\n" "M0TAZ\n" "M0TCA\n" "M0TDW\n" "M0TEF\n" "M0TFO\n" "M0TJU\n" "M0TLN\n" "M0TMW/P\n" "M0TUB\n" "M0TUL\n" "M0TVT\n" "M0TWW\n" "M0TZO\n" "M0UCK\n" "M0UNI\n" "M0URX\n" "M0USY\n" "M0UTD\n" "M0UTD/P\n" "M0VAA\n" "M0VBY\n" "M0VFC\n" "M0VIE\n" "M0VKC\n" "M0VKX\n" "M0VKY\n" "M0VPE\n" "M0WAY\n" "M0WBX\n" "M0WGI\n" "M0WKR\n" "M0WLF\n" "M0WTD\n" "M0WTF\n" "M0WTG\n" "M0WYB\n" "M0WYM\n" "M0XAT\n" "M0XDX\n" "M0XGB\n" "M0XIE\n" "M0XIK\n" "M0XJP\n" "M0XKD\n" "M0XLD\n" "M0XLT\n" "M0XSM\n" "M0XXT\n" "M0YCQ\n" "M0YCQ/P\n" "M0YEC\n" "M0YOM\n" "M0YYV\n" "M0ZAK\n" "M0ZDW\n" "M0ZJB\n" "M0ZRA\n" "M0ZWW\n" "M1A\n" "M1ACB\n" "M1ADX\n" "M1BYH\n" "M1CEC\n" "M1DDD\n" "M1DNC\n" "M1DSE/P\n" "M1DST\n" "M1DTJ\n" "M1EBV\n" "M1EYP\n" "M1EYP/P\n" "M1FCV\n" "M1HOG\n" "M1LMO\n" "M1PTR\n" "M1SLH\n" "M1SMH\n" "M1TZR\n" "M1VHT\n" "M1WDK\n" "M2W\n" "M2X\n" "M3CEC\n" "M3DOV\n" "M3ENF\n" "M3FDZ\n" "M3GWO\n" "M3HXS\n" "M3JFM\n" "M3OHA\n" "M3OIG\n" "M3ONL\n" "M3PBK\n" "M3PHP\n" "M3PSK\n" "M3PZT\n" "M3RCV\n" "M3TBV\n" "M3TLP\n" "M3UFB\n" "M3UNN\n" "M3UXJ\n" "M3UZV\n" "M3VAM\n" "M3VQZ\n" "M3W\n" "M3WAZ\n" "M3WNF\n" "M3WYX\n" "M3XAC\n" "M3XFL\n" "M3XIK\n" "M3XMC\n" "M3XYP\n" "M3YFL\n" "M3YOS\n" "M3ZWW\n" "M3ZXX\n" "M4A\n" "M4T\n" "M4U\n" "M5A\n" "M5ADZ\n" "M5AEF\n" "M5AEO\n" "M5AEX\n" "M5AFD\n" "M5AGV\n" "M5ALG\n" "M5ARC\n" "M5B\n" "M5BFL\n" "M5BFL/P\n" "M5DIK\n" "M5E\n" "M5FUN\n" "M5GUS\n" "M5ITE\n" "M5KJM\n" "M5LRO\n" "M5O\n" "M5T\n" "M5X\n" "M6CMG\n" "M6GCS\n" "M6HRS\n" "M6JAS\n" "M6KAH\n" "M6OJE\n" "M6RPG\n" "M6T\n" "M6W\n" "M7A\n" "M7T\n" "M8C\n" "M8M\n" "M9C\n" "M9W\n" "M9X\n" "MA0BQI\n" "MA0GPZ\n" "MA0RKT\n" "MA0XAU\n" "MA3YFT\n" "MC0SHL\n" "MD0CCE\n" "MD0MDI\n" "MD3YLX\n" "MD3ZFQ\n" "MD4K\n" "MD6V\n" "MD9Y\n" "MI0AYR\n" "MI0BPB\n" "MI0ENR\n" "MI0GRG\n" "MI0GTM\n" "MI0JFC\n" "MI0JZZ\n" "MI0LLL\n" "MI0M\n" "MI0MIX\n" "MI0MVP\n" "MI0SAI\n" "MI0SDR\n" "MI0TFK\n" "MI1SJM\n" "MI3OZX\n" "MI5JYK\n" "MI6GWA\n" "MJ/W1NN\n" "MJ0ASP\n" "MJ0CFW\n" "MJ4K\n" "MM0AMW\n" "MM0APF\n" "MM0BHX\n" "MM0BHY\n" "MM0BQI\n" "MM0BQN\n" "MM0BSM\n" "MM0CBL\n" "MM0CIN\n" "MM0DFV\n" "MM0DFZ\n" "MM0DVZ\n" "MM0DWF\n" "MM0DXH\n" "MM0EAX\n" "MM0FWG\n" "MM0GHM/P\n" "MM0GOR\n" "MM0GPZ\n" "MM0JOK\n" "MM0JVB\n" "MM0KBT\n" "MM0LGR\n" "MM0LID\n" "MM0MOC\n" "MM0MUK\n" "MM0NDX\n" "MM0Q\n" "MM0R\n" "MM0RKT\n" "MM0ROV\n" "MM0SAJ\n" "MM0SGQ\n" "MM0SJH\n" "MM0TFU\n" "MM0TOB\n" "MM0VTV\n" "MM0WHA\n" "MM0WNW\n" "MM0XAU\n" "MM0XDG\n" "MM0YEC\n" "MM1D\n" "MM2R\n" "MM3LLU\n" "MM3PDM\n" "MM3RCR\n" "MM3RDP\n" "MM3T\n" "MM3UOR\n" "MM3WEV\n" "MM3XXW\n" "MM3YCG\n" "MM3YFT\n" "MM3YIO\n" "MM5DWW\n" "MM5FUN\n" "MM6ADR\n" "MM6GLI\n" "MM6SOR\n" "MN0OCG/P\n" "MS0ZET\n" "MU/DL5SE\n" "MU/OZ7BQ\n" "MU0FAL\n" "MU0GSY\n" "MW0AUG\n" "MW0BYS\n" "MW0CBC\n" "MW0CRI\n" "MW0CVT\n" "MW0CWJ\n" "MW0DNF\n" "MW0GOV\n" "MW0HMV\n" "MW0IDX\n" "MW0JRX\n" "MW0JZE\n" "MW0LAO\n" "MW0MAU\n" "MW0MJB\n" "MW0MWZ\n" "MW0RZC\n" "MW0X\n" "MW0XMI\n" "MW0YDX\n" "MW0ZZK\n" "MW1LCR\n" "MW1MDH\n" "MW2I\n" "MW3WSC\n" "MW5A\n" "MW5ACN\n" "MW5D\n" "MW6SLW\n" "MW6VHF\n" "MW9W\n" "MX0ADJ\n" "MX1SWL/A\n" "MZ5B\n" "MZ8A\n" "N0ABA\n" "N0AC\n" "N0ADL\n" "N0AE\n" "N0AG\n" "N0AH\n" "N0AIE\n" "N0ANP\n" "N0AR\n" "N0ARU\n" "N0AT\n" "N0AV\n" "N0AX\n" "N0AZZ\n" "N0BB\n" "N0BDS\n" "N0BE\n" "N0BED\n" "N0BK\n" "N0BLG\n" "N0BM\n" "N0BOF\n" "N0BSS\n" "N0BUI\n" "N0CEL\n" "N0CKC\n" "N0CN\n" "N0CRL\n" "N0CU\n" "N0DFP\n" "N0DH\n" "N0DJY\n" "N0DNR\n" "N0DQS\n" "N0DWY\n" "N0EG\n" "N0ENQ\n" "N0EO\n" "N0EOP\n" "N0EQ\n" "N0EVH\n" "N0EZH\n" "N0FCD\n" "N0FP\n" "N0FTZ\n" "N0FV\n" "N0FW\n" "N0GBR\n" "N0GF\n" "N0GIC\n" "N0GMG\n" "N0GMT\n" "N0GOM\n" "N0GOS\n" "N0GWH\n" "N0GZ\n" "N0HD\n" "N0HF\n" "N0HIO\n" "N0HJZ\n" "N0HNQ\n" "N0HR\n" "N0HT\n" "N0HT/4\n" "N0IB\n" "N0IBD\n" "N0IBT\n" "N0IJ\n" "N0IJK\n" "N0IM\n" "N0IRM\n" "N0IRW\n" "N0IW\n" "N0JBF\n" "N0JG\n" "N0JK\n" "N0JL\n" "N0JTE\n" "N0JX\n" "N0JZ\n" "N0KBD\n" "N0KE\n" "N0KGM\n" "N0KK\n" "N0KM\n" "N0KMA\n" "N0KQ\n" "N0KV\n" "N0LEF\n" "N0LGU\n" "N0LIA\n" "N0LIE\n" "N0LLH\n" "N0LP\n" "N0LRI\n" "N0LSD\n" "N0LTX\n" "N0LY\n" "N0LZ\n" "N0MA\n" "N0MNO\n" "N0MSB\n" "N0NB\n" "N0NC\n" "N0NI\n" "N0NM\n" "N0NO\n" "N0NR\n" "N0NS\n" "N0OB\n" "N0OCT\n" "N0ODK\n" "N0OJ\n" "N0OK\n" "N0OP\n" "N0OST\n" "N0OU\n" "N0PB\n" "N0PC\n" "N0PFE\n" "N0PL\n" "N0PNQ\n" "N0PSJ\n" "N0PVZ\n" "N0QE\n" "N0QNL\n" "N0QO\n" "N0QP\n" "N0QW\n" "N0QX\n" "N0QXW\n" "N0RB\n" "N0RDJ\n" "N0RN\n" "N0RPI\n" "N0RPJ\n" "N0RR\n" "N0RT\n" "N0RU\n" "N0RUV\n" "N0RWR\n" "N0RZT\n" "N0SJ\n" "N0SM\n" "N0SMX\n" "N0SO\n" "N0SOX\n" "N0SRF\n" "N0SS\n" "N0SSC\n" "N0ST\n" "N0STL\n" "N0SWE\n" "N0SXX\n" "N0TA\n" "N0TG\n" "N0TK\n" "N0TMU\n" "N0TOP\n" "N0TT\n" "N0TU\n" "N0TUN\n" "N0TW\n" "N0TYE\n" "N0UA\n" "N0UB\n" "N0UD\n" "N0UJJ\n" "N0UN\n" "N0UNL\n" "N0UR\n" "N0URW\n" "N0UU\n" "N0UV\n" "N0UY\n" "N0VCY\n" "N0VD\n" "N0VLJ\n" "N0VLN\n" "N0VPL\n" "N0VR\n" "N0VRP\n" "N0VTZ\n" "N0VVH\n" "N0VY\n" "N0WAF\n" "N0WAR\n" "N0WE\n" "N0WFO\n" "N0WM\n" "N0XA\n" "N0XJO\n" "N0XM\n" "N0XR\n" "N0XT\n" "N0YD\n" "N0YE\n" "N0YKN\n" "N0YO\n" "N0YY\n" "N0ZA\n" "N0ZC\n" "N0ZGG\n" "N0ZK\n" "N0ZM\n" "N1AA\n" "N1AAU\n" "N1ABA\n" "N1ABF\n" "N1ABY\n" "N1AC\n" "N1ADY\n" "N1AIA\n" "N1AM\n" "N1AO\n" "N1AP\n" "N1API\n" "N1AU\n" "N1AW\n" "N1BAA\n" "N1BCL\n" "N1BFO\n" "N1BG\n" "N1BNC\n" "N1BQL\n" "N1BRU\n" "N1BSA\n" "N1BUG\n" "N1BY\n" "N1BZ\n" "N1CC\n" "N1CE\n" "N1CGP\n" "N1CKM\n" "N1CM\n" "N1CWR\n" "N1DC\n" "N1DCM\n" "N1DD\n" "N1DF\n" "N1DG\n" "N1DGF\n" "N1DJF\n" "N1DK\n" "N1DM\n" "N1DS\n" "N1EMC\n" "N1EO\n" "N1EOP\n" "N1EU\n" "N1EY\n" "N1EZO\n" "N1FD\n" "N1FDX\n" "N1FIO\n" "N1FJ\n" "N1FOJ\n" "N1FQ\n" "N1GB\n" "N1GC\n" "N1GDD\n" "N1GE\n" "N1GFS\n" "N1GKE\n" "N1GKX\n" "N1GLT\n" "N1GN\n" "N1GSA\n" "N1HCE\n" "N1HLZ\n" "N1HRA\n" "N1HT\n" "N1HTS\n" "N1HY\n" "N1IBM\n" "N1IER\n" "N1ILD\n" "N1IMW\n" "N1ITT\n" "N1IUN\n" "N1IVY\n" "N1IW\n" "N1IX\n" "N1IXF\n" "N1JAO\n" "N1JBH\n" "N1JD\n" "N1JDK\n" "N1JM\n" "N1JP\n" "N1JW\n" "N1KEZ\n" "N1KJW\n" "N1KOH\n" "N1KON\n" "N1KPY\n" "N1KR\n" "N1KW\n" "N1KWF\n" "N1LI\n" "N1LJG\n" "N1LN\n" "N1LQ\n" "N1LT\n" "N1LU\n" "N1MEO\n" "N1MGO\n" "N1MIW\n" "N1MJF\n" "N1MM\n" "N1MQ\n" "N1ND\n" "N1NK\n" "N1NKC\n" "N1NN\n" "N1NQZ\n" "N1NRK\n" "N1OFV\n" "N1OIG\n" "N1OWA\n" "N1OXA\n" "N1PGA\n" "N1PT\n" "N1QAE\n" "N1QEH\n" "N1QEQ\n" "N1QI\n" "N1QM\n" "N1QN\n" "N1QV\n" "N1QXV\n" "N1QY\n" "N1RA\n" "N1RB\n" "N1RFB\n" "N1RFK\n" "N1RK\n" "N1RNJ\n" "N1RR\n" "N1RX\n" "N1SDH\n" "N1SM\n" "N1SNB\n" "N1SPX\n" "N1SV\n" "N1SW\n" "N1SXL\n" "N1SZ\n" "N1TB\n" "N1TKS\n" "N1TM\n" "N1TO\n" "N1TQ\n" "N1UDY\n" "N1UED\n" "N1UK\n" "N1UR\n" "N1URA\n" "N1UW\n" "N1UZ\n" "N1VVV\n" "N1VXW\n" "N1WC\n" "N1WGX\n" "N1WK\n" "N1WON\n" "N1WPU\n" "N1WQ\n" "N1WR\n" "N1WRK\n" "N1WWE\n" "N1XIH/7\n" "N1XK\n" "N1XLG\n" "N1XQ\n" "N1XX\n" "N1XY\n" "N1YBX\n" "N1YC\n" "N1YE\n" "N1YF\n" "N1YNI\n" "N1YW\n" "N1YWB\n" "N1YX\n" "N1YXE\n" "N1ZJ\n" "N1ZN\n" "N1ZQ\n" "N1ZU\n" "N1ZX\n" "N1ZZ\n" "N2AA\n" "N2AB\n" "N2ADE\n" "N2AET\n" "N2AJ\n" "N2AK\n" "N2AMG\n" "N2AN\n" "N2ATA\n" "N2AUG\n" "N2AXX\n" "N2AYI\n" "N2BA\n" "N2BC\n" "N2BEE\n" "N2BEG\n" "N2BJ\n" "N2BJ/9\n" "N2BJV\n" "N2BMK\n" "N2BR\n" "N2BT\n" "N2BZP\n" "N2CEI\n" "N2CG\n" "N2CHD\n" "N2CJ\n" "N2CJO\n" "N2CK\n" "N2CQ\n" "N2CU\n" "N2CUA\n" "N2CW\n" "N2CYY\n" "N2DPF\n" "N2DVQ\n" "N2DW\n" "N2DWS\n" "N2EA\n" "N2ED\n" "N2EGO\n" "N2EIK\n" "N2EM\n" "N2EOC\n" "N2ESH\n" "N2ESP\n" "N2ETJ\n" "N2EX/4\n" "N2EY\n" "N2FBV\n" "N2FF\n" "N2FJ\n" "N2FNO\n" "N2FPJ\n" "N2FQ\n" "N2FT\n" "N2FY\n" "N2GA\n" "N2GC\n" "N2GDU\n" "N2GG\n" "N2GJ\n" "N2GM\n" "N2GRS\n" "N2GVB\n" "N2GWK\n" "N2HMM\n" "N2HN\n" "N2HO\n" "N2IC\n" "N2IEL\n" "N2IEN\n" "N2IMM\n" "N2ION\n" "N2IW\n" "N2IX\n" "N2IXD\n" "N2IXX\n" "N2JBA\n" "N2JDQ\n" "N2JEN\n" "N2JEX\n" "N2JF\n" "N2JJ\n" "N2JNZ\n" "N2JTZ\n" "N2JUG\n" "N2KA\n" "N2KHH\n" "N2KI\n" "N2KPB\n" "N2KRN\n" "N2KW\n" "N2KW/1\n" "N2KX\n" "N2LBR\n" "N2LEB\n" "N2LEC\n" "N2LH\n" "N2LJJ\n" "N2LK\n" "N2LL\n" "N2LQ\n" "N2LT\n" "N2MAD\n" "N2MCI\n" "N2MEE\n" "N2MF\n" "N2MGT\n" "N2MH\n" "N2MID\n" "N2MLP\n" "N2MM\n" "N2MO\n" "N2MTG\n" "N2MUN\n" "N2MZZ\n" "N2NC\n" "N2NDY\n" "N2NEP\n" "N2NF\n" "N2NFC\n" "N2NGW\n" "N2NHN\n" "N2NI\n" "N2NKP\n" "N2NL\n" "N2NNN\n" "N2NNY\n" "N2NO\n" "N2NOM\n" "N2NQ\n" "N2NS\n" "N2NT\n" "N2NVH\n" "N2OB\n" "N2OGK\n" "N2OMC\n" "N2OO\n" "N2OPW\n" "N2OPW/8\n" "N2OT\n" "N2OUV\n" "N2OZ\n" "N2PA\n" "N2PHI\n" "N2PK\n" "N2PKB\n" "N2PKP\n" "N2PL\n" "N2PP\n" "N2QLQ\n" "N2QMT\n" "N2QQF\n" "N2QT\n" "N2QT/4\n" "N2QZ\n" "N2RF\n" "N2RFA\n" "N2RHL\n" "N2RI\n" "N2RIT\n" "N2RJ\n" "N2RK\n" "N2RM\n" "N2RM/4\n" "N2RO\n" "N2RR\n" "N2RRA\n" "N2SLC\n" "N2SO\n" "N2SQW\n" "N2SS\n" "N2SU\n" "N2TEW\n" "N2TK\n" "N2TM\n" "N2TN\n" "N2TO\n" "N2TRX\n" "N2TTL\n" "N2TU\n" "N2UL\n" "N2UM\n" "N2UN\n" "N2UO\n" "N2US\n" "N2USM\n" "N2UT\n" "N2UU\n" "N2UZ\n" "N2VM\n" "N2VRA\n" "N2VT\n" "N2VW\n" "N2VYT\n" "N2WB\n" "N2WC\n" "N2WF\n" "N2WFK\n" "N2WK\n" "N2WKS\n" "N2WLG\n" "N2WLS\n" "N2WM\n" "N2WN\n" "N2WQ/VE3\n" "N2WSY\n" "N2WW\n" "N2WY\n" "N2XDR\n" "N2XNB\n" "N2XP\n" "N2XPW\n" "N2XQM\n" "N2XT\n" "N2XWV\n" "N2YB\n" "N2YBB\n" "N2YC\n" "N2YDD\n" "N2YET\n" "N2YHN\n" "N2YN\n" "N2YO\n" "N2YOA\n" "N2YVF\n" "N2YXW\n" "N2ZAK\n" "N2ZN\n" "N2ZUL\n" "N2ZX\n" "N2ZZ\n" "N3AAF\n" "N3AB\n" "N3AD\n" "N3ADF\n" "N3AE\n" "N3AF\n" "N3AFT\n" "N3AIU\n" "N3ALN\n" "N3AM\n" "N3AO\n" "N3AS\n" "N3ATQ\n" "N3AYY\n" "N3AZH\n" "N3BA\n" "N3BB\n" "N3BBF\n" "N3BC\n" "N3BHM\n" "N3BM\n" "N3BNA\n" "N3BUD\n" "N3BUO\n" "N3CAU\n" "N3CB\n" "N3CDA\n" "N3CHX\n" "N3CJD\n" "N3CO\n" "N3COB\n" "N3CR\n" "N3CRM\n" "N3CW\n" "N3CXV\n" "N3CY\n" "N3CZ\n" "N3DAP\n" "N3DBC\n" "N3DFK\n" "N3DG\n" "N3DG/2\n" "N3DNX\n" "N3DUE\n" "N3DXX\n" "N3EEI\n" "N3EFZ\n" "N3EMF\n" "N3EMZ\n" "N3EN\n" "N3ER\n" "N3EU\n" "N3FAW\n" "N3FD\n" "N3FES\n" "N3FIU\n" "N3FJP\n" "N3FKS\n" "N3FP\n" "N3FSC\n" "N3FSQ\n" "N3FX\n" "N3FZ\n" "N3GA\n" "N3GD\n" "N3GGT\n" "N3GH\n" "N3GJ\n" "N3GL\n" "N3GM\n" "N3GNW\n" "N3GS\n" "N3GSN\n" "N3GXX\n" "N3HBX\n" "N3HE\n" "N3HQB\n" "N3HU\n" "N3HYB\n" "N3ICK\n" "N3II\n" "N3IK\n" "N3IL\n" "N3INJ\n" "N3IQ\n" "N3IYX\n" "N3JAB\n" "N3JB\n" "N3JDQ\n" "N3JIX\n" "N3JJT\n" "N3JNX\n" "N3JON\n" "N3JT\n" "N3JW\n" "N3KAE\n" "N3KBF\n" "N3KCJ\n" "N3KHK\n" "N3KKM\n" "N3KN\n" "N3KR\n" "N3KRS\n" "N3KRX\n" "N3KS\n" "N3KTA\n" "N3KTV\n" "N3KUN\n" "N3KV\n" "N3LAZ\n" "N3LFC\n" "N3LH\n" "N3LL\n" "N3LWM\n" "N3MA\n" "N3ME\n" "N3MK\n" "N3MMH\n" "N3MON\n" "N3MRA\n" "N3MRV\n" "N3MVX\n" "N3MWR\n" "N3MX\n" "N3MZ\n" "N3NA\n" "N3ND\n" "N3NEP\n" "N3NR\n" "N3NRN\n" "N3NS\n" "N3NT\n" "N3NZ\n" "N3OA\n" "N3OC\n" "N3OJL\n" "N3OW\n" "N3OX\n" "N3PE\n" "N3PF\n" "N3PKC\n" "N3PPE\n" "N3QCM\n" "N3QE\n" "N3QO\n" "N3QQ\n" "N3QVB\n" "N3QW\n" "N3RC\n" "N3RCW\n" "N3RD\n" "N3RDV\n" "N3RG\n" "N3RJ\n" "N3RM\n" "N3RN\n" "N3RR\n" "N3RRR\n" "N3RS\n" "N3RW\n" "N3RWB\n" "N3SD\n" "N3SEO\n" "N3SL\n" "N3SMT\n" "N3SNZ\n" "N3SQD\n" "N3ST\n" "N3STZ\n" "N3SW\n" "N3SY\n" "N3TB\n" "N3TDE\n" "N3TG\n" "N3TH\n" "N3TIR\n" "N3TL\n" "N3TM\n" "N3TNQ\n" "N3TO\n" "N3TQU\n" "N3TR\n" "N3TUQ\n" "N3UA\n" "N3UB\n" "N3UC\n" "N3UGY\n" "N3UM\n" "N3UR\n" "N3US\n" "N3VBJ\n" "N3VJV\n" "N3VMD\n" "N3VOP\n" "N3VRO\n" "N3VS\n" "N3VYZ\n" "N3WD\n" "N3WG\n" "N3WJ\n" "N3WT\n" "N3WZR\n" "N3XF\n" "N3XL\n" "N3XLS\n" "N3XM/VE3\n" "N3XP\n" "N3XPD\n" "N3XRU\n" "N3XRV\n" "N3XUD\n" "N3XVU\n" "N3XX\n" "N3XZ\n" "N3YD\n" "N3YEA\n" "N3YH\n" "N3YIM\n" "N3YMS\n" "N3YW\n" "N3YWM\n" "N3YZ\n" "N3ZA\n" "N3ZBK\n" "N3ZD\n" "N3ZK\n" "N3ZL\n" "N3ZL/4\n" "N3ZN\n" "N3ZP\n" "N3ZU\n" "N3ZV\n" "N3ZZ\n" "N3ZZK\n" "N4AA\n" "N4AAI\n" "N4AB\n" "N4AC\n" "N4AF\n" "N4AGG\n" "N4AH\n" "N4AL\n" "N4ALN\n" "N4AO\n" "N4AOE\n" "N4APR\n" "N4AR\n" "N4ARO\n" "N4ARR\n" "N4ASX\n" "N4AU\n" "N4AVV\n" "N4AWU\n" "N4AX\n" "N4BCB\n" "N4BCC\n" "N4BCD\n" "N4BFR\n" "N4BG\n" "N4BG/2\n" "N4BH\n" "N4BLT\n" "N4BNO\n" "N4BP\n" "N4BPG\n" "N4BU\n" "N4BWB\n" "N4BWV\n" "N4CB\n" "N4CC\n" "N4CD\n" "N4CE\n" "N4CFI\n" "N4CJ\n" "N4COB\n" "N4CPA\n" "N4CPO\n" "N4CT\n" "N4CU\n" "N4CUS\n" "N4CV\n" "N4CW\n" "N4CW/1\n" "N4CWP\n" "N4CY\n" "N4DA\n" "N4DAG\n" "N4DE\n" "N4DJ\n" "N4DKD\n" "N4DL\n" "N4DMD\n" "N4DPU\n" "N4DT\n" "N4DTF\n" "N4DU\n" "N4DV\n" "N4DW\n" "N4DWK\n" "N4DXC\n" "N4DXI\n" "N4DXS\n" "N4DXY\n" "N4EA\n" "N4ECM\n" "N4ECW\n" "N4EDT\n" "N4EE\n" "N4EEB\n" "N4EK\n" "N4EL\n" "N4EMG\n" "N4ESS\n" "N4EX\n" "N4FCG\n" "N4FD\n" "N4FF\n" "N4FN\n" "N4FP\n" "N4FPS\n" "N4FR\n" "N4FW\n" "N4FX\n" "N4FY\n" "N4FZ\n" "N4GCP\n" "N4GEB\n" "N4GG\n" "N4GG/4\n" "N4GI\n" "N4GJ\n" "N4GK\n" "N4GN\n" "N4GO\n" "N4GOA\n" "N4GU\n" "N4GW\n" "N4HA\n" "N4HAF\n" "N4HAI\n" "N4HB\n" "N4HH\n" "N4HID\n" "N4HLF\n" "N4HN\n" "N4HPL\n" "N4HUF\n" "N4HXI\n" "N4IB\n" "N4ICF\n" "N4IG\n" "N4II\n" "N4IJ\n" "N4IL\n" "N4IM\n" "N4IOZ\n" "N4IQ\n" "N4IR\n" "N4IS\n" "N4JA\n" "N4JB\n" "N4JDB\n" "N4JDF\n" "N4JDX\n" "N4JED\n" "N4JF\n" "N4JG\n" "N4JH\n" "N4JIK\n" "N4JIK/5\n" "N4JKA\n" "N4JN\n" "N4JOW\n" "N4JR\n" "N4JRZ\n" "N4JT\n" "N4JTQ\n" "N4JVP\n" "N4KC\n" "N4KE\n" "N4KFT\n" "N4KG\n" "N4KGL\n" "N4KH\n" "N4KIT\n" "N4KJR\n" "N4KK\n" "N4KL\n" "N4KTM\n" "N4KW\n" "N4KZ\n" "N4LA\n" "N4LDM\n" "N4LF\n" "N4LKE\n" "N4LMN\n" "N4LPD\n" "N4LR\n" "N4LS\n" "N4LSP\n" "N4LT\n" "N4LU\n" "N4LV\n" "N4LVQ\n" "N4LW\n" "N4LZ\n" "N4LZL\n" "N4MB\n" "N4ME\n" "N4MF\n" "N4MIK\n" "N4MIO\n" "N4MJ\n" "N4MM\n" "N4MO\n" "N4MUH\n" "N4MWR\n" "N4MWY\n" "N4NAB\n" "N4NKA\n" "N4NM\n" "N4NN\n" "N4NO\n" "N4NOO\n" "N4NS\n" "N4NTO\n" "N4NTQ\n" "N4NW\n" "N4NX\n" "N4OA\n" "N4OFA\n" "N4OGW\n" "N4OI\n" "N4OO\n" "N4OQP\n" "N4OT\n" "N4OX\n" "N4OYT\n" "N4PB\n" "N4PD\n" "N4PEG\n" "N4PF\n" "N4PGL\n" "N4PJ\n" "N4PLR\n" "N4PN\n" "N4PQX\n" "N4PSE\n" "N4PTC\n" "N4PUM\n" "N4PY\n" "N4QA\n" "N4QB\n" "N4QK\n" "N4QLB\n" "N4QM\n" "N4QNT\n" "N4QQ\n" "N4QS\n" "N4QV\n" "N4QVM\n" "N4QWF\n" "N4QWZ\n" "N4QX\n" "N4RA\n" "N4RDX\n" "N4RI\n" "N4RJ\n" "N4RJL\n" "N4RLD\n" "N4RP\n" "N4RQ\n" "N4RR\n" "N4RS\n" "N4RSS\n" "N4RTD\n" "N4RU\n" "N4RV\n" "N4RVM\n" "N4RZ\n" "N4SAM\n" "N4SC\n" "N4SCS\n" "N4SEA\n" "N4SF\n" "N4SMM\n" "N4SOC\n" "N4SR\n" "N4SS\n" "N4ST\n" "N4TB\n" "N4TCP\n" "N4TD\n" "N4TDO\n" "N4TEF\n" "N4TG\n" "N4THG\n" "N4TIZ\n" "N4TJ\n" "N4TL\n" "N4TN\n" "N4TO\n" "N4TOL\n" "N4TP\n" "N4TRI\n" "N4TSC\n" "N4TT\n" "N4TTE\n" "N4TUT\n" "N4TV\n" "N4TX\n" "N4TZ\n" "N4UA\n" "N4UC\n" "N4UED\n" "N4UFP\n" "N4UJ\n" "N4UM\n" "N4UPX\n" "N4UQB\n" "N4URW\n" "N4UU\n" "N4UW\n" "N4VA\n" "N4VAN\n" "N4VI\n" "N4VN\n" "N4VS\n" "N4VV\n" "N4WBS\n" "N4WD\n" "N4WHK\n" "N4WJ\n" "N4WJW\n" "N4WMB\n" "N4WO\n" "N4WOT\n" "N4WP\n" "N4WPG\n" "N4WQB\n" "N4WR\n" "N4WW\n" "N4WZ\n" "N4XC\n" "N4XD\n" "N4XFA\n" "N4XFF\n" "N4XGI\n" "N4XL\n" "N4XM\n" "N4XO\n" "N4XR\n" "N4XU\n" "N4YBU\n" "N4YBW\n" "N4YC\n" "N4YDU\n" "N4YE\n" "N4YHC\n" "N4YM\n" "N4YSA\n" "N4YT\n" "N4YYV\n" "N4YZ\n" "N4ZA\n" "N4ZAK\n" "N4ZC\n" "N4ZI\n" "N4ZO\n" "N4ZQ\n" "N4ZR\n" "N4ZRL\n" "N4ZSA\n" "N4ZY\n" "N4ZZ\n" "N5AA\n" "N5ACK\n" "N5AF\n" "N5AN\n" "N5ATT\n" "N5AU\n" "N5AUA\n" "N5AW\n" "N5AW/0\n" "N5BA\n" "N5BE\n" "N5BF\n" "N5BNU\n" "N5BO\n" "N5BR\n" "N5BST\n" "N5CHA\n" "N5CJQ\n" "N5CMC\n" "N5CQ\n" "N5CRO\n" "N5CW\n" "N5DBK\n" "N5DD\n" "N5DF\n" "N5DG\n" "N5DGK\n" "N5DK\n" "N5DM\n" "N5DO\n" "N5DRB\n" "N5DT\n" "N5DTT\n" "N5DX\n" "N5DY\n" "N5EA\n" "N5EBD\n" "N5EEI\n" "N5EJK\n" "N5EN\n" "N5ER\n" "N5ESA\n" "N5ET\n" "N5EXS\n" "N5EZE\n" "N5FF\n" "N5FG\n" "N5FPW\n" "N5GD\n" "N5GE\n" "N5GH\n" "N5GL\n" "N5GY\n" "N5HA\n" "N5HEK\n" "N5HHS\n" "N5HI\n" "N5HMH\n" "N5HOT\n" "N5HSF\n" "N5IA\n" "N5IE\n" "N5II\n" "N5IIT\n" "N5IN\n" "N5IR\n" "N5IW\n" "N5JB\n" "N5JBD\n" "N5JC\n" "N5JED\n" "N5JJH\n" "N5JJZ\n" "N5JM\n" "N5JOA\n" "N5JPJ\n" "N5JR\n" "N5KA\n" "N5KAE\n" "N5KD\n" "N5KDV\n" "N5KE\n" "N5KEV\n" "N5KF\n" "N5KGV\n" "N5KGY\n" "N5KI\n" "N5KIP\n" "N5KLE\n" "N5KM\n" "N5KO\n" "N5KR\n" "N5KRC\n" "N5KTT\n" "N5KWN\n" "N5KXF\n" "N5KY\n" "N5LDD\n" "N5LFE\n" "N5LIV\n" "N5LNL\n" "N5LTM\n" "N5LUL\n" "N5LUQ\n" "N5LYJ\n" "N5LYJ/5\n" "N5LZ\n" "N5MEG\n" "N5MNX\n" "N5MOA\n" "N5MOC\n" "N5MT\n" "N5MU\n" "N5MV\n" "N5NA\n" "N5NK\n" "N5NN\n" "N5NOU\n" "N5NR\n" "N5NU\n" "N5OE\n" "N5OHL\n" "N5OK\n" "N5OL\n" "N5OP\n" "N5ORT\n" "N5OTI\n" "N5PA\n" "N5PAX\n" "N5PEF\n" "N5PHT\n" "N5PJ\n" "N5PJY\n" "N5PO\n" "N5PQ\n" "N5PR\n" "N5PT\n" "N5PU\n" "N5PYQ\n" "N5QJ\n" "N5QN\n" "N5QQ\n" "N5QS\n" "N5RA\n" "N5RGV\n" "N5RKD\n" "N5RKK\n" "N5RL\n" "N5RM\n" "N5RMS\n" "N5RN\n" "N5RP\n" "N5RP/W9\n" "N5RR\n" "N5RVT\n" "N5RZ\n" "N5RZK\n" "N5SAM\n" "N5SAN\n" "N5SJS\n" "N5SM\n" "N5SMQ\n" "N5SPE\n" "N5SQL\n" "N5SR\n" "N5SSH\n" "N5SV\n" "N5TEN\n" "N5TER\n" "N5TGL\n" "N5THN\n" "N5TJ\n" "N5TM\n" "N5TSP\n" "N5TU\n" "N5TW\n" "N5TWH\n" "N5TY\n" "N5UCF\n" "N5UKZ\n" "N5UL\n" "N5UM\n" "N5UR\n" "N5UV\n" "N5UWY\n" "N5UXT\n" "N5VA\n" "N5VAG\n" "N5VEI\n" "N5VEZ\n" "N5VI\n" "N5VK\n" "N5VR\n" "N5VSB\n" "N5VU\n" "N5VYS\n" "N5WA\n" "N5WBF\n" "N5WC\n" "N5WEB\n" "N5WJ\n" "N5WLA\n" "N5WMQ\n" "N5WNG\n" "N5WR\n" "N5WX\n" "N5WY\n" "N5XE\n" "N5XES\n" "N5XG\n" "N5XJ\n" "N5XM\n" "N5XR\n" "N5XU\n" "N5XZ\n" "N5YA\n" "N5YE\n" "N5YEN\n" "N5YF\n" "N5YPJ\n" "N5YRJ\n" "N5YT\n" "N5ZBI\n" "N5ZC\n" "N5ZGT\n" "N5ZK\n" "N5ZM\n" "N5ZMP\n" "N5ZV\n" "N5ZWS\n" "N5ZZ\n" "N6AA\n" "N6AB\n" "N6AD\n" "N6AE\n" "N6AJG\n" "N6AJR\n" "N6AN\n" "N6AQ\n" "N6AR\n" "N6ATD\n" "N6AW\n" "N6AWD\n" "N6AX\n" "N6BHX\n" "N6BM\n" "N6BOB\n" "N6BU\n" "N6BV\n" "N6BX\n" "N6BXO\n" "N6BY\n" "N6CCH\n" "N6CHU\n" "N6CK\n" "N6CMF\n" "N6CVA\n" "N6CY\n" "N6CY/KH6\n" "N6DA\n" "N6DAG\n" "N6DBS\n" "N6DE\n" "N6DG\n" "N6DIT\n" "N6DM\n" "N6DMV\n" "N6DQ\n" "N6DQ/C6A\n" "N6DSM\n" "N6DT\n" "N6DW\n" "N6DX\n" "N6DZ\n" "N6ED\n" "N6EE\n" "N6EEB\n" "N6EF\n" "N6EM\n" "N6EO\n" "N6EP\n" "N6ER\n" "N6ERD\n" "N6ET\n" "N6FB\n" "N6FD\n" "N6FMF\n" "N6FR\n" "N6FX\n" "N6GA\n" "N6GEO\n" "N6GK\n" "N6GL\n" "N6HA\n" "N6HC\n" "N6HE\n" "N6HH\n" "N6HI\n" "N6HK\n" "N6HRO\n" "N6HY\n" "N6IC\n" "N6IE\n" "N6IEF\n" "N6IFR\n" "N6IG\n" "N6ISY\n" "N6IV\n" "N6JC\n" "N6JN\n" "N6JOJ\n" "N6JRL\n" "N6JS\n" "N6JV\n" "N6JW\n" "N6KD\n" "N6KI\n" "N6KJ\n" "N6KK\n" "N6KL\n" "N6KM\n" "N6KN\n" "N6KOG\n" "N6KP\n" "N6KS\n" "N6KT\n" "N6KV\n" "N6KW\n" "N6KW/7\n" "N6KZ\n" "N6LC\n" "N6LHZ\n" "N6LL\n" "N6LN\n" "N6MA\n" "N6MEF\n" "N6MI\n" "N6ML\n" "N6MM\n" "N6MQL\n" "N6MSQ\n" "N6MSY\n" "N6MU\n" "N6MUF\n" "N6MW\n" "N6MWX\n" "N6MXU\n" "N6MZ\n" "N6NA\n" "N6NBB\n" "N6NC\n" "N6NCW\n" "N6ND\n" "N6NF\n" "N6NG\n" "N6NH\n" "N6NKJ\n" "N6NKT\n" "N6NM\n" "N6NO\n" "N6NPG\n" "N6NR\n" "N6NU\n" "N6NW\n" "N6NZ\n" "N6NZE\n" "N6OC\n" "N6OJ\n" "N6OO\n" "N6OPR\n" "N6OR\n" "N6OR/4\n" "N6ORB\n" "N6OU\n" "N6OX\n" "N6PC\n" "N6PE\n" "N6PEQ\n" "N6PF\n" "N6PHW\n" "N6PI\n" "N6PIA\n" "N6PN\n" "N6PNK\n" "N6PSE\n" "N6PYN\n" "N6PZ\n" "N6QEK\n" "N6QEK/VY1\n" "N6QI\n" "N6QQ\n" "N6QZS\n" "N6RA\n" "N6RBY\n" "N6RC\n" "N6RDN\n" "N6REG\n" "N6RI\n" "N6RJ\n" "N6RK\n" "N6RNO\n" "N6RO\n" "N6RSH\n" "N6RT\n" "N6RUX\n" "N6RV\n" "N6RW\n" "N6RXA\n" "N6RZ\n" "N6RZR\n" "N6SC\n" "N6SF\n" "N6SI\n" "N6SL\n" "N6SL/4\n" "N6SPB\n" "N6SPP\n" "N6SQ\n" "N6SS\n" "N6SUN\n" "N6TA\n" "N6TCZ\n" "N6TE\n" "N6TEM\n" "N6TH\n" "N6TI\n" "N6TJ\n" "N6TP\n" "N6TQS\n" "N6TR/7\n" "N6TT\n" "N6TU\n" "N6TV\n" "N6TW\n" "N6TZV\n" "N6UGJ\n" "N6UWW\n" "N6VDR\n" "N6VH\n" "N6VHF\n" "N6VI\n" "N6VM\n" "N6VNI\n" "N6VOC\n" "N6VR\n" "N6VX\n" "N6VXM\n" "N6VZ\n" "N6WB\n" "N6WBL\n" "N6WD\n" "N6WG\n" "N6WHK\n" "N6WIN\n" "N6WK\n" "N6WM\n" "N6WO\n" "N6WS\n" "N6WZ\n" "N6XG\n" "N6XI\n" "N6XT\n" "N6XXN\n" "N6YDP\n" "N6YEU\n" "N6YMM\n" "N6YVW\n" "N6ZE\n" "N6ZFO\n" "N6ZI\n" "N6ZM\n" "N6ZN\n" "N6ZS\n" "N7AAM\n" "N7AC\n" "N7AM\n" "N7AN\n" "N7AP\n" "N7APN\n" "N7AR\n" "N7AT\n" "N7AZ\n" "N7BAN\n" "N7BAT\n" "N7BBC\n" "N7BEF\n" "N7BK\n" "N7BLN\n" "N7BPA\n" "N7BRC\n" "N7BT\n" "N7BU\n" "N7BV\n" "N7BXX\n" "N7CAC\n" "N7CKJ\n" "N7CVZ\n" "N7CW\n" "N7DB\n" "N7DC\n" "N7DCR\n" "N7DD\n" "N7DF\n" "N7DK\n" "N7DLI\n" "N7DOM\n" "N7DRK\n" "N7DS\n" "N7DV\n" "N7EA\n" "N7EDK\n" "N7EG\n" "N7EIE\n" "N7EKD\n" "N7EL\n" "N7ELF\n" "N7ENN\n" "N7EO\n" "N7EPD\n" "N7ER\n" "N7ESU\n" "N7ET/DU7\n" "N7ETA\n" "N7ETC\n" "N7EXP\n" "N7FF\n" "N7FFL\n" "N7FJM\n" "N7FLT\n" "N7FMM\n" "N7FO\n" "N7FYO\n" "N7FYP/VY2\n" "N7GCO\n" "N7GK\n" "N7GMT\n" "N7GR\n" "N7GTE\n" "N7GTW\n" "N7GUO\n" "N7GVV\n" "N7HD\n" "N7HGH\n" "N7HJL\n" "N7HT\n" "N7ICK\n" "N7INV\n" "N7IPG\n" "N7IR\n" "N7IV\n" "N7IX\n" "N7IXI\n" "N7IZ\n" "N7JB\n" "N7JEC\n" "N7JI\n" "N7JO\n" "N7JQ\n" "N7JT\n" "N7JW\n" "N7JXS\n" "N7KA\n" "N7KCX\n" "N7KD\n" "N7KE\n" "N7KF\n" "N7KFL\n" "N7KMM\n" "N7KO\n" "N7KQ\n" "N7KR\n" "N7KRE\n" "N7KU\n" "N7LB\n" "N7LE\n" "N7LOX\n" "N7LQT\n" "N7LR\n" "N7LYR\n" "N7MAL\n" "N7MB\n" "N7MBL\n" "N7MQ\n" "N7MSI\n" "N7MW\n" "N7MZW\n" "N7NG\n" "N7NJO\n" "N7NKO\n" "N7NM\n" "N7NOG\n" "N7NSL\n" "N7NT\n" "N7NTQ\n" "N7NW\n" "N7ODM\n" "N7OG\n" "N7OLK\n" "N7ON\n" "N7OU\n" "N7PC\n" "N7PIB\n" "N7PP\n" "N7PV\n" "N7PWZ\n" "N7QAX\n" "N7QMT\n" "N7QNO\n" "N7QOZ\n" "N7QQ\n" "N7QS\n" "N7QU\n" "N7QU/5\n" "N7RBP\n" "N7RC\n" "N7RK\n" "N7RN\n" "N7RO\n" "N7RP\n" "N7RQ\n" "N7RT\n" "N7RU\n" "N7RVD\n" "N7RVN\n" "N7RYW\n" "N7SCL\n" "N7SGX\n" "N7TK\n" "N7TL\n" "N7TM\n" "N7TO\n" "N7TP\n" "N7TR\n" "N7TT\n" "N7TW\n" "N7TY\n" "N7UA\n" "N7UC\n" "N7UN\n" "N7UO\n" "N7UR\n" "N7US\n" "N7UVH\n" "N7UY\n" "N7VF\n" "N7VFF\n" "N7VJ\n" "N7VM\n" "N7VOE\n" "N7VPN\n" "N7VS\n" "N7WA\n" "N7WB\n" "N7WH\n" "N7WHB\n" "N7WI\n" "N7WO\n" "N7WR\n" "N7WS\n" "N7WX\n" "N7WZE\n" "N7XB\n" "N7XCZ\n" "N7XDX\n" "N7XG\n" "N7XM\n" "N7XR\n" "N7XRM\n" "N7XY\n" "N7YA\n" "N7YDX\n" "N7YP\n" "N7YQ\n" "N7YX\n" "N7ZA\n" "N7ZG\n" "N7ZN\n" "N8AA\n" "N8AAE\n" "N8AE\n" "N8AG\n" "N8AGU\n" "N8AJN\n" "N8AMM\n" "N8AP\n" "N8ATC\n" "N8AYY\n" "N8BB\n" "N8BC\n" "N8BE\n" "N8BEE\n" "N8BEG\n" "N8BHL\n" "N8BI\n" "N8BJQ\n" "N8BM\n" "N8BP\n" "N8BQV\n" "N8BR\n" "N8BTU\n" "N8BUS\n" "N8BV\n" "N8CAK\n" "N8CC\n" "N8CHR\n" "N8CHS\n" "N8CL\n" "N8CLB\n" "N8CMS\n" "N8CN\n" "N8CPA\n" "N8CT\n" "N8CX\n" "N8DC\n" "N8DCJ\n" "N8DE\n" "N8DEZ\n" "N8DGD\n" "N8DJX\n" "N8DNG\n" "N8DOD\n" "N8DP\n" "N8DRC\n" "N8DSG\n" "N8DSG/P\n" "N8DT\n" "N8DV\n" "N8DX\n" "N8EA\n" "N8ECI\n" "N8EHP\n" "N8EMR\n" "N8EN\n" "N8ERL\n" "N8ESW\n" "N8ET\n" "N8EW\n" "N8FDI\n" "N8FE\n" "N8FEB\n" "N8FF\n" "N8FGB\n" "N8FNR\n" "N8FRT\n" "N8FV\n" "N8GGI\n" "N8GIY\n" "N8GJK\n" "N8GOV\n" "N8GU\n" "N8GZ\n" "N8HAL\n" "N8HC\n" "N8HHG\n" "N8HKU\n" "N8HP\n" "N8HR\n" "N8HSO\n" "N8HTG\n" "N8HTW\n" "N8IE\n" "N8IGZ\n" "N8II\n" "N8IL\n" "N8IPO\n" "N8IR\n" "N8IRC\n" "N8IS\n" "N8IVN\n" "N8IW\n" "N8IWC\n" "N8JBG\n" "N8JE\n" "N8JF\n" "N8JK\n" "N8JVL\n" "N8KAM\n" "N8KC\n" "N8KCM\n" "N8KG\n" "N8KH\n" "N8KOJ\n" "N8KR\n" "N8KU\n" "N8KUE\n" "N8KV\n" "N8LCU\n" "N8LGL\n" "N8LJ\n" "N8LMT\n" "N8LP\n" "N8LRG\n" "N8MBZ\n" "N8MDP\n" "N8MHL\n" "N8MME\n" "N8MOX\n" "N8MPX\n" "N8MR\n" "N8MRC\n" "N8MWK\n" "N8MZ\n" "N8NA\n" "N8NAV\n" "N8NB\n" "N8NKC\n" "N8NM\n" "N8NN\n" "N8NOE\n" "N8NR\n" "N8NVL\n" "N8NWA\n" "N8NX\n" "N8NYI\n" "N8OC\n" "N8OCJ\n" "N8OEJ\n" "N8OGI\n" "N8OH\n" "N8OL\n" "N8OO\n" "N8OQQ\n" "N8OT\n" "N8OY\n" "N8PA\n" "N8PB\n" "N8PQ\n" "N8PR\n" "N8PS\n" "N8PVW\n" "N8PW\n" "N8PY\n" "N8QAZ\n" "N8QE\n" "N8QMU\n" "N8QWS\n" "N8RA\n" "N8RBC\n" "N8RGQ\n" "N8RMT\n" "N8RMZ\n" "N8RN\n" "N8RO\n" "N8RQJ\n" "N8RR\n" "N8RT\n" "N8SHZ\n" "N8SKB\n" "N8SM\n" "N8SNM\n" "N8SOB\n" "N8SR\n" "N8SS\n" "N8SSE\n" "N8STY\n" "N8TC\n" "N8TD\n" "N8TDL\n" "N8TL\n" "N8TP\n" "N8TR\n" "N8TWM\n" "N8TXI\n" "N8UBK\n" "N8UM\n" "N8UO\n" "N8UV\n" "N8UZE\n" "N8VEN\n" "N8VFJ\n" "N8VV\n" "N8VW\n" "N8VZ\n" "N8WAV\n" "N8WCR\n" "N8WJS\n" "N8WK\n" "N8WNA\n" "N8WRL\n" "N8WS\n" "N8WXQ\n" "N8XA\n" "N8XC\n" "N8XE\n" "N8XI\n" "N8XKO\n" "N8XMS\n" "N8XPQ\n" "N8XQM\n" "N8XTH\n" "N8XX\n" "N8YA\n" "N8YD\n" "N8YYS\n" "N8ZA\n" "N8ZB\n" "N8ZBA\n" "N8ZFH\n" "N9AB\n" "N9ABC\n" "N9ADG\n" "N9AF\n" "N9AG\n" "N9AI\n" "N9AJV\n" "N9AK\n" "N9AKR\n" "N9AMW\n" "N9AOL\n" "N9APE\n" "N9AU\n" "N9AUG\n" "N9AVY\n" "N9AW\n" "N9AX\n" "N9AZR\n" "N9AZZ\n" "N9BBE\n" "N9BL\n" "N9BMS\n" "N9BOR\n" "N9BSS\n" "N9BT\n" "N9BU\n" "N9BX\n" "N9CC\n" "N9CDX\n" "N9CHN\n" "N9CI\n" "N9CIQ\n" "N9CK\n" "N9CKL\n" "N9CM\n" "N9CO\n" "N9CX\n" "N9CXI\n" "N9DD\n" "N9DGK\n" "N9DJ\n" "N9DOA\n" "N9DR\n" "N9DT\n" "N9EAJ\n" "N9EAX\n" "N9EN\n" "N9EP\n" "N9ER\n" "N9ESR\n" "N9EVW\n" "N9FC\n" "N9FDE\n" "N9FN\n" "N9FTC/4\n" "N9GBB\n" "N9GC\n" "N9GEX\n" "N9GG\n" "N9GH\n" "N9GOC\n" "N9GOD\n" "N9GTC\n" "N9GUN\n" "N9GWO\n" "N9GXA\n" "N9GY\n" "N9HDE\n" "N9HF\n" "N9HH\n" "N9HNO\n" "N9HSB\n" "N9HZ\n" "N9IC\n" "N9ID\n" "N9IJ\n" "N9IO\n" "N9ISN\n" "N9IUA\n" "N9IVO\n" "N9IW\n" "N9IZ\n" "N9JCA\n" "N9JDQ\n" "N9JF\n" "N9JFW\n" "N9JW\n" "N9JZN\n" "N9KG\n" "N9KHR\n" "N9KIM\n" "N9KO\n" "N9KR\n" "N9KS\n" "N9KT\n" "N9KZ\n" "N9LA\n" "N9LAH\n" "N9LB\n" "N9LF\n" "N9LGP\n" "N9LJX\n" "N9LJY\n" "N9LPT\n" "N9LR\n" "N9LTV\n" "N9LYE\n" "N9LZY\n" "N9MHD\n" "N9MIW\n" "N9MKZ\n" "N9ML\n" "N9MM\n" "N9MR\n" "N9MSG\n" "N9MTT\n" "N9MW\n" "N9MXT\n" "N9MZF\n" "N9NA\n" "N9NB\n" "N9NC\n" "N9NDI\n" "N9NDP\n" "N9NE\n" "N9NF\n" "N9NM\n" "N9NS\n" "N9NT\n" "N9NTC\n" "N9OE\n" "N9OF\n" "N9OH\n" "N9OHW\n" "N9OI\n" "N9OK\n" "N9OL\n" "N9ONJ\n" "N9OOO\n" "N9OQW\n" "N9ORD\n" "N9OX\n" "N9OY\n" "N9PL\n" "N9PUZ\n" "N9PYS\n" "N9QK\n" "N9QQK\n" "N9QR\n" "N9QS\n" "N9QVQ\n" "N9RC\n" "N9RD\n" "N9RE\n" "N9REP\n" "N9REY\n" "N9RG\n" "N9RGE\n" "N9RJM\n" "N9RLI\n" "N9ROY\n" "N9RS\n" "N9RV\n" "N9RYM\n" "N9SB\n" "N9SCW\n" "N9SDT\n" "N9SF\n" "N9SJ\n" "N9SOR\n" "N9STL\n" "N9SW\n" "N9SZ\n" "N9TAX\n" "N9TF\n" "N9TGR\n" "N9TH\n" "N9TK\n" "N9TMU\n" "N9TMZ\n" "N9TTX\n" "N9TV\n" "N9UA\n" "N9UC\n" "N9UDO\n" "N9UE\n" "N9UFO\n" "N9UHF\n" "N9UHO\n" "N9UM\n" "N9UO\n" "N9US\n" "N9UUI\n" "N9UUP\n" "N9UX\n" "N9UY\n" "N9VA\n" "N9VAO\n" "N9VI\n" "N9VKZ\n" "N9VPR\n" "N9VPV\n" "N9WEW\n" "N9WFT\n" "N9WK\n" "N9WKW\n" "N9WL\n" "N9WQ\n" "N9WRG\n" "N9WVM\n" "N9WW\n" "N9XAK\n" "N9XBB\n" "N9XHU\n" "N9XO\n" "N9XR\n" "N9XRR\n" "N9XX\n" "N9XY\n" "N9YA\n" "N9YK\n" "N9YKE\n" "N9YN\n" "N9YUE\n" "N9YZA\n" "N9ZDD\n" "N9ZEW\n" "N9ZF\n" "N9ZI\n" "N9ZM\n" "N9ZOE\n" "NA0BR\n" "NA0CW\n" "NA0N\n" "NA0T\n" "NA1A\n" "NA1G\n" "NA1QP\n" "NA1R\n" "NA2AA\n" "NA2M\n" "NA2R\n" "NA2U\n" "NA2X\n" "NA3D\n" "NA3F\n" "NA3J/0\n" "NA3M\n" "NA3V\n" "NA4AR\n" "NA4BW\n" "NA4C\n" "NA4CW\n" "NA4D\n" "NA4K\n" "NA4M\n" "NA4M/5\n" "NA4NA\n" "NA4O\n" "NA4R\n" "NA4W\n" "NA5C\n" "NA5DX\n" "NA5G\n" "NA5Q\n" "NA5RC\n" "NA5TR\n" "NA5U\n" "NA5Z\n" "NA6G\n" "NA6Q\n" "NA7DX\n" "NA7EM\n" "NA7QP\n" "NA7RH\n" "NA7US\n" "NA7XX\n" "NA8M\n" "NA8SA\n" "NA8V\n" "NA8W\n" "NA9A\n" "NA9J\n" "NA9L\n" "NA9M\n" "NA9U\n" "NA9US\n" "NB0Z\n" "NB1HF\n" "NB1N\n" "NB1U\n" "NB2T\n" "NB3C\n" "NB3K\n" "NB3T\n" "NB4F\n" "NB4M\n" "NB5N\n" "NB7N\n" "NB7V\n" "NB8Q\n" "NC0B\n" "NC0O\n" "NC1C\n" "NC1I\n" "NC1T\n" "NC2O\n" "NC2W\n" "NC3P\n" "NC4AA\n" "NC4AR\n" "NC4CS\n" "NC4G\n" "NC4KW\n" "NC4MI\n" "NC4MM\n" "NC4RB\n" "NC4RW\n" "NC4S\n" "NC4VA\n" "NC4X\n" "NC5B\n" "NC5O\n" "NC5OW\n" "NC6CC\n" "NC6P\n" "NC6PT\n" "NC6Q\n" "NC6RJ\n" "NC6V\n" "NC6X\n" "NC7I\n" "NC7J\n" "NC7M\n" "NC7W\n" "NC8B\n" "NC8T\n" "NC9F\n" "ND0C\n" "ND0J\n" "ND0L\n" "ND0M\n" "ND0N\n" "ND0V\n" "ND1X\n" "ND2K\n" "ND2T\n" "ND3D\n" "ND3F\n" "ND3R\n" "ND4Q\n" "ND4V\n" "ND4X\n" "ND4Z\n" "ND5R\n" "ND5T\n" "ND6H\n" "ND6MM\n" "ND6P\n" "ND6S\n" "ND8DX\n" "ND8L\n" "ND8N\n" "ND9E\n" "ND9M\n" "ND9Z\n" "NE0DX\n" "NE0U\n" "NE0W\n" "NE1B\n" "NE1C\n" "NE1F\n" "NE1H\n" "NE1I\n" "NE1QP\n" "NE1RD\n" "NE2I\n" "NE2U\n" "NE2Z\n" "NE3F\n" "NE3H\n" "NE3I\n" "NE3R\n" "NE4M\n" "NE4S\n" "NE4W\n" "NE5D\n" "NE5DL\n" "NE5LL\n" "NE5S\n" "NE5W\n" "NE6I\n" "NE6LE\n" "NE6M\n" "NE6O\n" "NE6R\n" "NE7D\n" "NE7X\n" "NE8J\n" "NE8O\n" "NE8O/3\n" "NE8P\n" "NE8Z\n" "NE9H\n" "NE9U\n" "NE9Z\n" "NF0N\n" "NF0T\n" "NF1A\n" "NF1D\n" "NF1L\n" "NF1X\n" "NF2O\n" "NF4A\n" "NF4GA\n" "NF5P\n" "NF5T\n" "NF5Y\n" "NF5Z\n" "NF6A\n" "NF6P\n" "NF6R\n" "NF7E\n" "NF7R\n" "NF7T\n" "NF8J\n" "NF8M\n" "NF8R\n" "NF9D\n" "NF9V\n" "NG0G\n" "NG0K\n" "NG0M\n" "NG0T\n" "NG1F\n" "NG1G\n" "NG1O\n" "NG1Q\n" "NG2C\n" "NG2P\n" "NG2T\n" "NG2X\n" "NG3I\n" "NG3J\n" "NG3K\n" "NG3O\n" "NG3Q\n" "NG3R\n" "NG3U\n" "NG3V\n" "NG4D\n" "NG4L\n" "NG4P\n" "NG4Z\n" "NG5A\n" "NG5NG\n" "NG5X\n" "NG6S\n" "NG6X\n" "NG7A\n" "NG7M\n" "NG7X\n" "NG7Z\n" "NG8U\n" "NG9E\n" "NG9R\n" "NG9T\n" "NH2T\n" "NH6AB\n" "NH6JC\n" "NH6P\n" "NH6T/W4\n" "NH6WZ\n" "NH6YK\n" "NH7A\n" "NH7C\n" "NH7FY\n" "NH7O\n" "NH7QH\n" "NI0B\n" "NI0C\n" "NI0F\n" "NI0R\n" "NI1L\n" "NI1N\n" "NI2O\n" "NI3B\n" "NI3H\n" "NI3K\n" "NI3N\n" "NI4S\n" "NI4T\n" "NI5DX\n" "NI5F\n" "NI5L\n" "NI5O\n" "NI5R\n" "NI5T\n" "NI5W\n" "NI6J\n" "NI6P\n" "NI6Q\n" "NI6T\n" "NI6W\n" "NI7F\n" "NI7R\n" "NI7T\n" "NI8Z\n" "NI9C\n" "NI9H\n" "NI9K\n" "NI9Y\n" "NJ0IP\n" "NJ0U\n" "NJ1F\n" "NJ1H\n" "NJ1Q\n" "NJ1Q/1\n" "NJ1T\n" "NJ2AR\n" "NJ2BB\n" "NJ2F\n" "NJ2OM\n" "NJ2P\n" "NJ3K\n" "NJ3W\n" "NJ4F\n" "NJ4I\n" "NJ4M\n" "NJ4O\n" "NJ4U\n" "NJ4X\n" "NJ4Z\n" "NJ5DX\n" "NJ5O\n" "NJ5T\n" "NJ6D\n" "NJ6N\n" "NJ6P\n" "NJ8V\n" "NJ9D\n" "NJ9Z\n" "NK0S\n" "NK0Z\n" "NK1N\n" "NK1Z\n" "NK3U\n" "NK3Y\n" "NK4A\n" "NK4I\n" "NK4L\n" "NK4N\n" "NK5G\n" "NK5O\n" "NK5Q\n" "NK5Z\n" "NK6A\n" "NK7C\n" "NK7J\n" "NK7U\n" "NK7Z\n" "NK8I\n" "NK8Q\n" "NK9D\n" "NK9G\n" "NK9I\n" "NK9N\n" "NK9O\n" "NL7G\n" "NL7KF\n" "NL7QC\n" "NL7V\n" "NL7Y\n" "NL7Z\n" "NL8F\n" "NM1A\n" "NM1C\n" "NM1J\n" "NM1JY\n" "NM1W\n" "NM2D\n" "NM2L\n" "NM2O\n" "NM3N\n" "NM4K\n" "NM4M\n" "NM4O\n" "NM4V\n" "NM5C\n" "NM5M\n" "NM5NM\n" "NM5O\n" "NM5S\n" "NM5TF\n" "NM5U\n" "NM5WB\n" "NM5Y\n" "NM6E\n" "NM6E/W5\n" "NM6G\n" "NM6K\n" "NM6X\n" "NM7D\n" "NM7N\n" "NM7X\n" "NM8O\n" "NM9C\n" "NN0F\n" "NN0K\n" "NN0Q\n" "NN0TT\n" "NN1AA\n" "NN1N\n" "NN2E\n" "NN2L\n" "NN2RL\n" "NN2T\n" "NN2W\n" "NN3C\n" "NN3L\n" "NN3NN\n" "NN3Q\n" "NN3RP\n" "NN3W\n" "NN4AA\n" "NN4DF\n" "NN4F\n" "NN4FL\n" "NN4GG\n" "NN4K\n" "NN4MM\n" "NN4N\n" "NN4R\n" "NN4RH\n" "NN4RR\n" "NN4T\n" "NN4TO\n" "NN4TT\n" "NN4US\n" "NN4W\n" "NN4X\n" "NN4ZZ\n" "NN5J\n" "NN5K\n" "NN5T\n" "NN5V\n" "NN5Z\n" "NN6AA\n" "NN6C\n" "NN6CH\n" "NN6DX\n" "NN6EE\n" "NN6K\n" "NN6L\n" "NN6NN\n" "NN6R\n" "NN6T\n" "NN6W\n" "NN6XX\n" "NN7A\n" "NN7D\n" "NN7F\n" "NN7SS\n" "NN7ZZ\n" "NN8K\n" "NN8L\n" "NN8P\n" "NN8R\n" "NN8UU\n" "NN9K\n" "NN9Q\n" "NO2D\n" "NO2J\n" "NO2R\n" "NO2T\n" "NO2X\n" "NO3M\n" "NO4Q\n" "NO4S\n" "NO4Y\n" "NO5FD\n" "NO5G\n" "NO5LA\n" "NO5Q\n" "NO5W\n" "NO5X\n" "NO6F\n" "NO6T\n" "NO6X\n" "NO7B\n" "NO7T\n" "NO8C\n" "NO8D\n" "NO8DX\n" "NO8J\n" "NO8R\n" "NO9C\n" "NO9E\n" "NO9Z\n" "NP2B\n" "NP2I/AG9\n" "NP2KW\n" "NP2L\n" "NP2N\n" "NP2Q\n" "NP2SH\n" "NP2X\n" "NP3CW\n" "NP3D\n" "NP3HM\n" "NP3QE\n" "NP3U\n" "NP4A\n" "NP4BM\n" "NP4BW\n" "NP4DX\n" "NP4EG\n" "NP4G\n" "NP4KT\n" "NP4V\n" "NP4Z\n" "NQ0K\n" "NQ1W\n" "NQ2F\n" "NQ2W\n" "NQ3A\n" "NQ3I\n" "NQ3N\n" "NQ4A\n" "NQ4I\n" "NQ4K\n" "NQ4RP\n" "NQ4U\n" "NQ5D\n" "NQ5K\n" "NQ5L\n" "NQ5Z\n" "NQ6L\n" "NQ6P\n" "NQ7P\n" "NQ7R\n" "NR0E\n" "NR0L\n" "NR0T\n" "NR1I\n" "NR1R\n" "NR1X\n" "NR3I\n" "NR3R\n" "NR3X\n" "NR3Y\n" "NR4C\n" "NR4M\n" "NR4MM\n" "NR4N\n" "NR5M\n" "NR5R\n" "NR6O\n" "NR6TT\n" "NR7DX\n" "NR7Q\n" "NR7RR\n" "NR7T\n" "NR8I\n" "NR8U\n" "NR9A\n" "NR9A/0\n" "NR9B\n" "NR9B/9\n" "NR9W\n" "NS0I\n" "NS0M\n" "NS1E\n" "NS1G\n" "NS1L\n" "NS1S\n" "NS1T\n" "NS2O\n" "NS2X\n" "NS3A\n" "NS3Q\n" "NS3T\n" "NS3X\n" "NS4L\n" "NS4SC\n" "NS4SN\n" "NS5Z\n" "NS6C\n" "NS6T\n" "NS7B\n" "NS7E\n" "NS7K\n" "NS7O\n" "NS7P\n" "NS8G\n" "NS8O\n" "NS9I\n" "NT0F\n" "NT0L\n" "NT0V\n" "NT0Z\n" "NT1A\n" "NT1N\n" "NT2A\n" "NT2F\n" "NT3R\n" "NT4A\n" "NT4D\n" "NT4Q\n" "NT4TS\n" "NT4Y\n" "NT5C\n" "NT5O\n" "NT5R\n" "NT5V\n" "NT6AA\n" "NT6K\n" "NT6X\n" "NT8P\n" "NT8S\n" "NT8V\n" "NT8W\n" "NT9F\n" "NU0C\n" "NU0J\n" "NU0Q\n" "NU0V\n" "NU1AW\n" "NU1B\n" "NU1M\n" "NU2J\n" "NU2M\n" "NU3A\n" "NU3B\n" "NU3H\n" "NU4B\n" "NU4C\n" "NU4I\n" "NU4N\n" "NU4SC\n" "NU4Y\n" "NU5A\n" "NU5DE\n" "NU5K\n" "NU6C\n" "NU6L\n" "NU6S\n" "NU6T\n" "NU7DX\n" "NU7F\n" "NU7J\n" "NU7P\n" "NU7T\n" "NU8L\n" "NU8Z\n" "NV0P\n" "NV0S\n" "NV0U\n" "NV1N\n" "NV2G\n" "NV3V\n" "NV4A\n" "NV4B\n" "NV4G\n" "NV5E\n" "NV5H\n" "NV6C\n" "NV6R\n" "NV7A\n" "NV7E\n" "NV7P\n" "NV8N\n" "NV9X\n" "NV9Z\n" "NW0DX\n" "NW0G\n" "NW0Q\n" "NW1C\n" "NW1E\n" "NW1V\n" "NW2I\n" "NW3DC\n" "NW4J\n" "NW4N\n" "NW4T\n" "NW4V\n" "NW5U\n" "NW5X\n" "NW6H\n" "NW6P\n" "NW6R\n" "NW6S\n" "NW7D\n" "NW7E\n" "NW7I\n" "NW7O\n" "NW7US\n" "NW8F\n" "NW8U\n" "NW9S\n" "NX0I\n" "NX0X\n" "NX1C\n" "NX1P\n" "NX1Q\n" "NX1T\n" "NX1Y\n" "NX2PX\n" "NX2X\n" "NX3Y\n" "NX4C\n" "NX4D\n" "NX4N\n" "NX4O\n" "NX5D\n" "NX5M\n" "NX5O\n" "NX5Z\n" "NX6J\n" "NX6T\n" "NX7DX\n" "NX7F\n" "NX7TT\n" "NX7U\n" "NX8G\n" "NX8J\n" "NX9B\n" "NX9T\n" "NY0O\n" "NY0R\n" "NY0T\n" "NY0V\n" "NY1E\n" "NY1H\n" "NY1Q\n" "NY2U\n" "NY3A\n" "NY3B\n" "NY3C\n" "NY3DX\n" "NY3H\n" "NY4A\n" "NY4D\n" "NY4FL\n" "NY4I\n" "NY4JB\n" "NY4N\n" "NY4O\n" "NY4P\n" "NY4PD\n" "NY4S\n" "NY6DX\n" "NY6I\n" "NY6J\n" "NY6N\n" "NY6P\n" "NY6U\n" "NY6X\n" "NY6Y\n" "NY8K\n" "NY8T\n" "NY9H\n" "NY9S\n" "NZ0O\n" "NZ0R\n" "NZ0T\n" "NZ1D\n" "NZ1R\n" "NZ1U\n" "NZ3J\n" "NZ3M\n" "NZ4CW\n" "NZ4DX\n" "NZ4L\n" "NZ4O\n" "NZ4R\n" "NZ5A\n" "NZ5DX\n" "NZ5G\n" "NZ5L\n" "NZ5M\n" "NZ5N\n" "NZ5P\n" "NZ6K\n" "NZ6L\n" "NZ6P\n" "NZ6Q\n" "NZ8J\n" "NZ9R\n" "NZ9Z\n" "OA4AHW\n" "OA4AI\n" "OA4O\n" "OA4SS\n" "OA4TT\n" "OA4WW\n" "OA6/OE3NHW\n" "OC4HQ\n" "OD5NJ\n" "OD5O\n" "OD5T\n" "OD5TE\n" "OD5WPX\n" "OE1A\n" "OE1AGB\n" "OE1AZS\n" "OE1BKA\n" "OE1C\n" "OE1DWC\n" "OE1EHB\n" "OE1FSB\n" "OE1H\n" "OE1HFC\n" "OE1HHB\n" "OE1HMC\n" "OE1JEW\n" "OE1KBC\n" "OE1KDK\n" "OE1KLW\n" "OE1KTS\n" "OE1MBB\n" "OE1MCU\n" "OE1MHL\n" "OE1MOU\n" "OE1PEW\n" "OE1PMU\n" "OE1PPA\n" "OE1RGC\n" "OE1RKS\n" "OE1SF\n" "OE1SGU\n" "OE1SZW\n" "OE1TKW\n" "OE1TRB\n" "OE1UZ\n" "OE1WEU\n" "OE1WIU\n" "OE1XTU\n" "OE2BZL\n" "OE2DYL\n" "OE2GEN\n" "OE2GRL\n" "OE2IGP\n" "OE2IJL\n" "OE2KGL\n" "OE2KHM\n" "OE2KNN\n" "OE2LCM\n" "OE2M\n" "OE2MON\n" "OE2S\n" "OE2SCM\n" "OE2SNL\n" "OE2UKL\n" "OE2VDL\n" "OE2VEL\n" "OE2VLN\n" "OE2WUL\n" "OE2XWL\n" "OE3AKB\n" "OE3CHA\n" "OE3CHC\n" "OE3DIA\n" "OE3DMA\n" "OE3DSA\n" "OE3DSB\n" "OE3DWC\n" "OE3DXA\n" "OE3EHA\n" "OE3EMC\n" "OE3EVA\n" "OE3FLU\n" "OE3FPA\n" "OE3GBB\n" "OE3GCU\n" "OE3GSA\n" "OE3HPA\n" "OE3HPU\n" "OE3HTC\n" "OE3HWC\n" "OE3HZW\n" "OE3I\n" "OE3JAG\n" "OE3JS\n" "OE3JTB\n" "OE3JWC\n" "OE3K\n" "OE3KAB\n" "OE3KLU\n" "OE3KOA\n" "OE3MRA\n" "OE3NHW\n" "OE3O\n" "OE3OLW\n" "OE3PGW\n" "OE3PRU\n" "OE3REC\n" "OE3RTB\n" "OE3SGA\n" "OE3SGU\n" "OE3TL\n" "OE3WEU\n" "OE3WMA\n" "OE3WMW\n" "OE3WXU\n" "OE3ZK\n" "OE4A\n" "OE4AAC\n" "OE4HSB\n" "OE4PWW\n" "OE4RGC\n" "OE4RLC\n" "OE4VIE\n" "OE4WBW\n" "OE4WWL\n" "OE4XRK\n" "OE5AWL\n" "OE5BWN\n" "OE5CSP\n" "OE5CWO\n" "OE5CYL\n" "OE5DFP\n" "OE5DI\n" "OE5FBL\n" "OE5FDM\n" "OE5FIN\n" "OE5FZO\n" "OE5GA\n" "OE5GWP\n" "OE5HDN\n" "OE5HIL\n" "OE5HSN\n" "OE5JKL\n" "OE5KE\n" "OE5MSM\n" "OE5NGM\n" "OE5OHO\n" "OE5ORM\n" "OE5PEN\n" "OE5RI\n" "OE5SMU\n" "OE5T\n" "OE5UAL\n" "OE5WEL\n" "OE5WGL\n" "OE5XIL\n" "OE6AKD\n" "OE6BMG\n" "OE6CWL\n" "OE6FGG\n" "OE6GRG\n" "OE6HLF\n" "OE6HTG\n" "OE6HZG\n" "OE6IMD\n" "OE6KDG\n" "OE6KYG\n" "OE6LCF\n" "OE6LUG\n" "OE6MBG\n" "OE6MDF\n" "OE6MMF\n" "OE6SQD\n" "OE6TXG\n" "OE6WIG\n" "OE6WSF\n" "OE6Z\n" "OE7AJT\n" "OE7BJT\n" "OE7DDI\n" "OE7F\n" "OE7FMH\n" "OE7FRH\n" "OE7GJ\n" "OE7MFI\n" "OE7PKJ\n" "OE8ANK\n" "OE8DLK\n" "OE8GBK\n" "OE8GMK\n" "OE8GMQ\n" "OE8HAQ\n" "OE8HIK\n" "OE8KR\n" "OE8MKQ\n" "OE8NTK\n" "OE8Q\n" "OE8SKQ\n" "OE8SPW\n" "OE8WIU\n" "OE8XBH\n" "OE9ADW\n" "OE9GHV\n" "OE9GLV\n" "OE9GWI\n" "OE9HGV\n" "OE9HLH\n" "OE9ICI\n" "OE9MCV\n" "OE9MON\n" "OE9MWV\n" "OE9NRH\n" "OE9PTI\n" "OE9R\n" "OE9RJJ\n" "OE9SBD\n" "OE9SEI\n" "OE9SLH\n" "OE9WGI\n" "OE9WLJ\n" "OG0I\n" "OG0M\n" "OG0R\n" "OG0Z\n" "OG1M\n" "OG1T\n" "OG2A\n" "OG2M\n" "OG2O\n" "OG2P\n" "OG2U\n" "OG3A\n" "OG3M\n" "OG3R\n" "OG4T\n" "OG4X\n" "OG50F\n" "OG5A\n" "OG5B\n" "OG5M\n" "OG5OF\n" "OG5T\n" "OG6A\n" "OG6G\n" "OG6K\n" "OG6N\n" "OG6R\n" "OG7X\n" "OG8A\n" "OG8X\n" "OG9W\n" "OH/AB9OG\n" "OH/G1UZD\n" "OH0/OH2LRE\n" "OH0AL\n" "OH0B\n" "OH0E\n" "OH0EC\n" "OH0JFP\n" "OH0PM\n" "OH0R\n" "OH0RJ\n" "OH0V\n" "OH0X\n" "OH0Z\n" "OH1BGG\n" "OH1BOI\n" "OH1BV\n" "OH1EB\n" "OH1F\n" "OH1FFN\n" "OH1FJ\n" "OH1HD\n" "OH1HM\n" "OH1JO\n" "OH1JT\n" "OH1KF\n" "OH1KIO\n" "OH1LA\n" "OH1LEG\n" "OH1LEU\n" "OH1LQ\n" "OH1LWZ\n" "OH1MA\n" "OH1MAU\n" "OH1MLZ\n" "OH1MM\n" "OH1MN\n" "OH1MZ\n" "OH1ND\n" "OH1NM\n" "OH1NOA\n" "OH1NX\n" "OH1O\n" "OH1PY\n" "OH1QA\n" "OH1RX\n" "OH1SIC\n" "OH1TD\n" "OH1TIN\n" "OH1TN\n" "OH1TS\n" "OH1TX\n" "OH1UM\n" "OH1VR\n" "OH1WF\n" "OH1WR\n" "OH1XT\n" "OH1XX\n" "OH1XY\n" "OH1Z\n" "OH1ZE\n" "OH2AG\n" "OH2BAD\n" "OH2BAH\n" "OH2BBR\n" "OH2BBT\n" "OH2BC\n" "OH2BCD\n" "OH2BCK\n" "OH2BEC\n" "OH2BEJ\n" "OH2BEN\n" "OH2BF\n" "OH2BGD\n" "OH2BH\n" "OH2BJ\n" "OH2BLD\n" "OH2BLV\n" "OH2BMO\n" "OH2BN\n" "OH2BNX\n" "OH2BO\n" "OH2BP\n" "OH2BPA\n" "OH2BPU\n" "OH2BR\n" "OH2BS\n" "OH2BSI\n" "OH2BU\n" "OH2BUW\n" "OH2BV\n" "OH2CI\n" "OH2CK\n" "OH2CP\n" "OH2CW\n" "OH2DP\n" "OH2EI\n" "OH2EO\n" "OH2ET\n" "OH2EV\n" "OH2FS\n" "OH2FT\n" "OH2GI\n" "OH2HAN\n" "OH2HOD\n" "OH2HQ\n" "OH2JSR\n" "OH2K\n" "OH2KAD\n" "OH2KI\n" "OH2KK\n" "OH2KW\n" "OH2LE\n" "OH2LI\n" "OH2LIR\n" "OH2LNH\n" "OH2LP\n" "OH2LU\n" "OH2LYJ\n" "OH2LZI\n" "OH2MA\n" "OH2MFE\n" "OH2MM\n" "OH2MO\n" "OH2MQ\n" "OH2MZB\n" "OH2NC\n" "OH2NFN\n" "OH2NT\n" "OH2OT\n" "OH2PM\n" "OH2PQ\n" "OH2RH\n" "OH2RI\n" "OH2T\n" "OH2TM\n" "OH2U\n" "OH2VB\n" "OH2VZ\n" "OH2WI\n" "OH2XF\n" "OH2XP\n" "OH2XX\n" "OH2ZZ\n" "OH3BHL\n" "OH3BU\n" "OH3CT\n" "OH3DP\n" "OH3FLF\n" "OH3FM\n" "OH3GBS\n" "OH3GD\n" "OH3GIF\n" "OH3GZ\n" "OH3HS\n" "OH3I\n" "OH3JF\n" "OH3JP\n" "OH3JR\n" "OH3KAV\n" "OH3KQ\n" "OH3LB\n" "OH3LQK\n" "OH3MC\n" "OH3MEO\n" "OH3MF\n" "OH3MKH\n" "OH3MMF\n" "OH3NDH\n" "OH3OJ\n" "OH3P\n" "OH3QL\n" "OH3RF\n" "OH3RM\n" "OH3RU\n" "OH3SR\n" "OH3UU\n" "OH3VV\n" "OH3WD\n" "OH3WR\n" "OH3WW\n" "OH3XA\n" "OH3XR\n" "OH3YI\n" "OH4A\n" "OH4AB\n" "OH4BNP\n" "OH4E\n" "OH4EA\n" "OH4JK\n" "OH4JT\n" "OH4KA\n" "OH4LA\n" "OH4LBX\n" "OH4M\n" "OH4MDY\n" "OH4MFA\n" "OH4R\n" "OH4RF\n" "OH4TI\n" "OH4TY\n" "OH4XX\n" "OH5BM\n" "OH5CW\n" "OH5DA\n" "OH5HBA\n" "OH5JH\n" "OH5JJL\n" "OH5K\n" "OH5KW\n" "OH5LF\n" "OH5LP\n" "OH5N\n" "OH5NE\n" "OH5NQ\n" "OH5NZ\n" "OH5PT\n" "OH5TQ\n" "OH5TS\n" "OH5UFO\n" "OH5UQ\n" "OH5UX\n" "OH5VG\n" "OH5VT\n" "OH5XX\n" "OH5YU\n" "OH5YX\n" "OH5Z\n" "OH5ZZ\n" "OH6AC\n" "OH6BA\n" "OH6BG\n" "OH6CT\n" "OH6DX\n" "OH6EI\n" "OH6FMG\n" "OH6GAZ\n" "OH6GDX\n" "OH6GL\n" "OH6GUA\n" "OH6HOL\n" "OH6IU\n" "OH6JKW\n" "OH6JT\n" "OH6JYH\n" "OH6K\n" "OH6KZP\n" "OH6LEZ\n" "OH6LHB\n" "OH6LI\n" "OH6LOB\n" "OH6M\n" "OH6MBQ\n" "OH6MK\n" "OH6MKL\n" "OH6MM\n" "OH6MMC\n" "OH6MSZ\n" "OH6MW\n" "OH6NJ\n" "OH6NV\n" "OH6OS\n" "OH6P\n" "OH6R\n" "OH6RC\n" "OH6RE\n" "OH6RP\n" "OH6RX\n" "OH6TN\n" "OH6UE\n" "OH6VI\n" "OH6WI\n" "OH6XB\n" "OH6XY\n" "OH7AZL\n" "OH7BX\n" "OH7FAE\n" "OH7FF\n" "OH7FKV\n" "OH7HD\n" "OH7HM\n" "OH7HXH\n" "OH7JH\n" "OH7JHI\n" "OH7JJT\n" "OH7JL\n" "OH7JR\n" "OH7KBF\n" "OH7KD\n" "OH7KNM\n" "OH7M\n" "OH7MFO\n" "OH7MJU\n" "OH7MM\n" "OH7MN\n" "OH7MP\n" "OH7MS\n" "OH7MYK\n" "OH7N\n" "OH7NJ\n" "OH7R\n" "OH7RJ\n" "OH7UE\n" "OH7UG\n" "OH7WN\n" "OH7WW\n" "OH7XM\n" "OH7YN\n" "OH8A\n" "OH8CW\n" "OH8DR\n" "OH8F\n" "OH8FAL\n" "OH8FBD\n" "OH8FKU\n" "OH8GBO\n" "OH8GZN\n" "OH8GZQ\n" "OH8HTG\n" "OH8JSZ\n" "OH8KA\n" ; const char txt_master4[65520] = "OH8KTN\n" "OH8KVA\n" "OH8KVY\n" "OH8L\n" "OH8LQ\n" "OH8LXT\n" "OH8MBN\n" "OH8MJ\n" "OH8NC\n" "OH8OB\n" "OH8OR\n" "OH8R\n" "OH8SE\n" "OH8T\n" "OH8TA\n" "OH8TV\n" "OH8UL\n" "OH8US\n" "OH8VQ\n" "OH8WW\n" "OH8X\n" "OH9BS\n" "OH9GIT\n" "OH9KL\n" "OH9MDV\n" "OH9RP\n" "OH9VC\n" "OH9VL\n" "OH9W\n" "OI3V\n" "OI6X\n" "OJ0B\n" "OK1AA\n" "OK1AAZ\n" "OK1ABB\n" "OK1ABF\n" "OK1ACF\n" "OK1AD\n" "OK1ADM\n" "OK1AEZ\n" "OK1AHG\n" "OK1AHJ\n" "OK1AHV\n" "OK1AIJ\n" "OK1AIT\n" "OK1AJR\n" "OK1AJY\n" "OK1AK\n" "OK1AKB\n" "OK1AKJ\n" "OK1AL\n" "OK1AMM\n" "OK1AMU\n" "OK1AN\n" "OK1ANT\n" "OK1AOU\n" "OK1AOV\n" "OK1AOZ\n" "OK1APB\n" "OK1APV\n" "OK1AQW\n" "OK1ARO\n" "OK1ATH\n" "OK1ATX\n" "OK1AUG\n" "OK1AVG\n" "OK1AVY\n" "OK1AWG\n" "OK1AWH\n" "OK1AWU\n" "OK1AXB\n" "OK1AXG\n" "OK1AXX\n" "OK1AY\n" "OK1AYD\n" "OK1AYE\n" "OK1AYU\n" "OK1AYW\n" "OK1AYY\n" "OK1AZK\n" "OK1BA\n" "OK1BB\n" "OK1BET\n" "OK1BLU\n" "OK1BM\n" "OK1BMW\n" "OK1BN\n" "OK1CAM\n" "OK1CDJ\n" "OK1CF\n" "OK1CLD\n" "OK1CO\n" "OK1CQ\n" "OK1CRM\n" "OK1CSS\n" "OK1CW\n" "OK1CZ\n" "OK1DAM\n" "OK1DAU\n" "OK1DBE\n" "OK1DC\n" "OK1DCF\n" "OK1DDQ\n" "OK1DDV/P\n" "OK1DEC\n" "OK1DEK\n" "OK1DF\n" "OK1DG\n" "OK1DGU\n" "OK1DH\n" "OK1DHP\n" "OK1DI\n" "OK1DIG\n" "OK1DIX\n" "OK1DJD\n" "OK1DJS\n" "OK1DKA\n" "OK1DKO\n" "OK1DKR\n" "OK1DKZ\n" "OK1DLA\n" "OK1DLB\n" "OK1DM\n" "OK1DMP\n" "OK1DNJ\n" "OK1DO\n" "OK1DOF\n" "OK1DOL\n" "OK1DOM\n" "OK1DOR\n" "OK1DOT\n" "OK1DOY\n" "OK1DOZ\n" "OK1DQT\n" "OK1DRQ\n" "OK1DRU\n" "OK1DRX\n" "OK1DRY\n" "OK1DST\n" "OK1DSU\n" "OK1DSX\n" "OK1DTC\n" "OK1DTM\n" "OK1DTN\n" "OK1DUT\n" "OK1DVA\n" "OK1DVK\n" "OK1DVM\n" "OK1DWC\n" "OK1DWF\n" "OK1DWJ\n" "OK1DX\n" "OK1DXD\n" "OK1DXI\n" "OK1ED\n" "OK1EK\n" "OK1EP\n" "OK1ES\n" "OK1EV\n" "OK1FAB\n" "OK1FAI\n" "OK1FAK\n" "OK1FAN\n" "OK1FAO\n" "OK1FAQ\n" "OK1FAV\n" "OK1FBH\n" "OK1FC\n" "OK1FCA\n" "OK1FCR\n" "OK1FDR\n" "OK1FDY\n" "OK1FED\n" "OK1FEK\n" "OK1FFA\n" "OK1FFU\n" "OK1FFW\n" "OK1FGD\n" "OK1FGE\n" "OK1FGS\n" "OK1FGU\n" "OK1FHD\n" "OK1FHI\n" "OK1FIM\n" "OK1FIY\n" "OK1FKD\n" "OK1FKM\n" "OK1FLC\n" "OK1FLK\n" "OK1FLT\n" "OK1FMG\n" "OK1FMX\n" "OK1FNT\n" "OK1FOG\n" "OK1FP\n" "OK1FPG\n" "OK1FPQ\n" "OK1FPS\n" "OK1FQT\n" "OK1FRD\n" "OK1FRG\n" "OK1FRO\n" "OK1FSM\n" "OK1FTM\n" "OK1FUK\n" "OK1FV\n" "OK1FWW\n" "OK1FZM\n" "OK1GI\n" "OK1GK\n" "OK1GM\n" "OK1GS\n" "OK1GT\n" "OK1GTH\n" "OK1GU\n" "OK1HA\n" "OK1HAS\n" "OK1HC\n" "OK1HCD\n" "OK1HCG\n" "OK1HCU\n" "OK1HEH\n" "OK1HFP\n" "OK1HGM\n" "OK1HL\n" "OK1HMP\n" "OK1HRA\n" "OK1HWI\n" "OK1HX\n" "OK1IAS\n" "OK1IBP\n" "OK1IC\n" "OK1IEC\n" "OK1IEV\n" "OK1II\n" "OK1IPS\n" "OK1IR\n" "OK1ITK\n" "OK1IW\n" "OK1IWN\n" "OK1JDJ\n" "OK1JDR\n" "OK1JFP\n" "OK1JKR\n" "OK1JL\n" "OK1JMD\n" "OK1JMJ\n" "OK1JN\n" "OK1JOC\n" "OK1JOK\n" "OK1JR\n" "OK1JST\n" "OK1JVT\n" "OK1JXU\n" "OK1KAK\n" "OK1KC\n" "OK1KDO\n" "OK1KFB\n" "OK1KI\n" "OK1KJA\n" "OK1KJV\n" "OK1KL\n" "OK1KM\n" "OK1KMG\n" "OK1KMU\n" "OK1KOB\n" "OK1KSL\n" "OK1KT\n" "OK1KTI\n" "OK1KTT\n" "OK1KUO\n" "OK1KW\n" "OK1KZ\n" "OK1LO\n" "OK1LOL\n" "OK1LV\n" "OK1LX\n" "OK1MAC\n" "OK1MBZ\n" "OK1MCW\n" "OK1MDK\n" "OK1MGW\n" "OK1MIN\n" "OK1MIQ\n" "OK1MKD\n" "OK1MKI\n" "OK1MKU\n" "OK1MMN\n" "OK1MMU\n" "OK1MNI\n" "OK1MNV\n" "OK1MNW\n" "OK1MP\n" "OK1MQ\n" "OK1MRU\n" "OK1MSJ\n" "OK1MSL\n" "OK1MSP\n" "OK1MV\n" "OK1MYA\n" "OK1MZB\n" "OK1MZO\n" "OK1ND\n" "OK1NE\n" "OK1NG\n" "OK1NGC\n" "OK1NI\n" "OK1NL\n" "OK1NR\n" "OK1NU\n" "OK1NY\n" "OK1NZ\n" "OK1OA\n" "OK1ODX\n" "OK1OUE\n" "OK1PA\n" "OK1PD\n" "OK1PFM\n" "OK1PI\n" "OK1PR\n" "OK1PV\n" "OK1PW\n" "OK1Q\n" "OK1QM\n" "OK1RP\n" "OK1RR\n" "OK1RS\n" "OK1SD\n" "OK1SF\n" "OK1SI\n" "OK1SKJ\n" "OK1SMJ\n" "OK1SP\n" "OK1SX\n" "OK1T\n" "OK1TA\n" "OK1TC\n" "OK1TD\n" "OK1TFH\n" "OK1TIR\n" "OK1TN\n" "OK1TPW\n" "OK1TRA\n" "OK1UDJ\n" "OK1UG\n" "OK1UKV\n" "OK1ULE\n" "OK1UN\n" "OK1UNL\n" "OK1US\n" "OK1USU\n" "OK1UU\n" "OK1VAW\n" "OK1VD\n" "OK1VDJ\n" "OK1VEI\n" "OK1VFT\n" "OK1VHV\n" "OK1VKC\n" "OK1VPU\n" "OK1VRF\n" "OK1W\n" "OK1WCF\n" "OK1WF\n" "OK1WIP\n" "OK1WMJ\n" "OK1WT\n" "OK1X\n" "OK1XC\n" "OK1XPP\n" "OK1XQ\n" "OK1XR\n" "OK1XV\n" "OK1XW\n" "OK1XYZ\n" "OK1YC\n" "OK1YM\n" "OK1Z\n" "OK1ZCW\n" "OK1ZE\n" "OK1ZHS\n" "OK1ZHV\n" "OK1ZVL\n" "OK2ABU\n" "OK2AF\n" "OK2AJ\n" "OK2AN\n" "OK2AOP\n" "OK2ARD\n" "OK2BAQ\n" "OK2BBJ\n" "OK2BBQ\n" "OK2BDR\n" "OK2BEH\n" "OK2BEN\n" "OK2BFN\n" "OK2BGB\n" "OK2BGN\n" "OK2BH\n" "OK2BHD\n" "OK2BHL\n" "OK2BIQ\n" "OK2BIU\n" "OK2BJ\n" "OK2BJC\n" "OK2BJI\n" "OK2BJL\n" "OK2BK\n" "OK2BKL\n" "OK2BLD\n" "OK2BMC\n" "OK2BME\n" "OK2BMI\n" "OK2BMU\n" "OK2BNC\n" "OK2BND\n" "OK2BNF\n" "OK2BOB\n" "OK2BPK\n" "OK2BPU\n" "OK2BQ\n" "OK2BQZ\n" "OK2BRQ\n" "OK2BRS\n" "OK2BRV\n" "OK2BRX\n" "OK2BSQ\n" "OK2BTC\n" "OK2BTR\n" "OK2BTS\n" "OK2BTT\n" "OK2BUD\n" "OK2BUT\n" "OK2BUZ\n" "OK2BV\n" "OK2BWC\n" "OK2BWI\n" "OK2BWJ\n" "OK2BWK\n" "OK2BWM\n" "OK2BXA\n" "OK2BXE\n" "OK2BXU\n" "OK2BXW\n" "OK2BYW\n" "OK2BZ\n" "OK2BZE\n" "OK2BZM\n" "OK2CJM\n" "OK2CLW\n" "OK2CMW\n" "OK2COB\n" "OK2CQR\n" "OK2CSU\n" "OK2CVA\n" "OK2DW\n" "OK2EA\n" "OK2EC\n" "OK2EE\n" "OK2EI\n" "OK2EQ\n" "OK2ER\n" "OK2FB\n" "OK2FD\n" "OK2FN\n" "OK2FR\n" "OK2FYM\n" "OK2GG\n" "OK2GU\n" "OK2GX\n" "OK2GZ\n" "OK2HBR\n" "OK2HBY\n" "OK2HI\n" "OK2HIJ\n" "OK2HZ\n" "OK2ILD\n" "OK2JK\n" "OK2JNB\n" "OK2JOW\n" "OK2JS\n" "OK2KFK\n" "OK2KG\n" "OK2KJ\n" "OK2KJU\n" "OK2KO\n" "OK2KOJ\n" "OK2KPS\n" "OK2KR\n" "OK2KRT\n" "OK2KV\n" "OK2LI\n" "OK2LW\n" "OK2MBP\n" "OK2MJF\n" "OK2N\n" "OK2NA\n" "OK2NAJ\n" "OK2NMA\n" "OK2NO\n" "OK2OLD\n" "OK2OP\n" "OK2OV\n" "OK2OZL\n" "OK2PA\n" "OK2PAD\n" "OK2PAY\n" "OK2PBF\n" "OK2PBG\n" "OK2PCL\n" "OK2PCX\n" "OK2PDN\n" "OK2PDT\n" "OK2PEX\n" "OK2PF\n" "OK2PHI\n" "OK2PJW\n" "OK2PKT\n" "OK2PLH\n" "OK2PMA\n" "OK2PMF\n" "OK2PMS\n" "OK2PO\n" "OK2PQS\n" "OK2PRM\n" "OK2PTS\n" "OK2PVZ\n" "OK2PWJ\n" "OK2PWY\n" "OK2PX\n" "OK2PYA\n" "OK2PZ\n" "OK2QA\n" "OK2QX\n" "OK2RAC\n" "OK2RDI\n" "OK2RN\n" "OK2RRR\n" "OK2RU\n" "OK2RVM\n" "OK2RW\n" "OK2RZ\n" "OK2SA\n" "OK2SAI\n" "OK2SAR\n" "OK2SFO\n" "OK2SFP\n" "OK2SG\n" "OK2SGW\n" "OK2SGY\n" "OK2SI\n" "OK2SK\n" "OK2SKP\n" "OK2SLS\n" "OK2SPD\n" "OK2SSD\n" "OK2SVL\n" "OK2SW\n" "OK2SWD\n" "OK2TBC\n" "OK2TC\n" "OK2TDM\n" "OK2TEO\n" "OK2TPS\n" "OK2TRN\n" "OK2TS\n" "OK2U\n" "OK2UFB\n" "OK2UHP\n" "OK2UIN\n" "OK2UM\n" "OK2UVX\n" "OK2UZ\n" "OK2VA\n" "OK2VK\n" "OK2VWB\n" "OK2VX\n" "OK2VZE\n" "OK2W\n" "OK2WED\n" "OK2WKW\n" "OK2WM\n" "OK2WO\n" "OK2WY\n" "OK2WYK\n" "OK2XRW\n" "OK2YT\n" "OK2YZ\n" "OK2ZAK\n" "OK2ZAW\n" "OK2ZC\n" "OK2ZD\n" "OK2ZDL\n" "OK2ZI\n" "OK2ZO\n" "OK2ZU\n" "OK2ZV\n" "OK2ZW\n" "OK3AA\n" "OK3C\n" "OK3DN\n" "OK3KK\n" "OK3M\n" "OK3MAD\n" "OK3R\n" "OK3VM\n" "OK3W\n" "OK4AS\n" "OK4AZ\n" "OK4BX\n" "OK4DZ\n" "OK4FD\n" "OK4M\n" "OK4MM\n" "OK4N\n" "OK4PA\n" "OK4RQ\n" "OK4U\n" "OK4W\n" "OK5AA\n" "OK5AD\n" "OK5CW\n" "OK5IM\n" "OK5M\n" "OK5MK\n" "OK5MM\n" "OK5MN\n" "OK5OK\n" "OK5R\n" "OK5SA\n" "OK5SAZ\n" "OK5SWL\n" "OK5TFC\n" "OK5TK\n" "OK5TM\n" "OK5W\n" "OK5XX\n" "OK5ZH\n" "OK6AB\n" "OK6AY\n" "OK6CX\n" "OK6DJ\n" "OK6DX\n" "OK6K\n" "OK6MA\n" "OK6T\n" "OK6TW\n" "OK6Y\n" "OK7B\n" "OK7CM\n" "OK7CW\n" "OK7D\n" "OK7FL\n" "OK7GU\n" "OK7K\n" "OK7M\n" "OK7MD\n" "OK7MK\n" "OK7MT\n" "OK7N\n" "OK7O\n" "OK7PJ\n" "OK7PY\n" "OK7R\n" "OK7RJ\n" "OK7RY\n" "OK7SX\n" "OK7TB\n" "OK7U\n" "OK7WA\n" "OK7X\n" "OK7XX\n" "OK7Y\n" "OK8ACS\n" "OK8DCC\n" "OK8DD\n" "OK8DF\n" "OK8RA\n" "OK8RE\n" "OK8WW\n" "OK8YD\n" "OL0A\n" "OL0E\n" "OL0L\n" "OL0W\n" "OL16BND\n" "OL1A\n" "OL1B\n" "OL1C\n" "OL1M\n" "OL1S\n" "OL1X\n" "OL25LP\n" "OL26LP\n" "OL2A\n" "OL2N\n" "OL2T\n" "OL2U\n" "OL2X\n" "OL3A\n" "OL3M\n" "OL3R\n" "OL3X\n" "OL3Y\n" "OL3Z\n" "OL4A\n" "OL4M\n" "OL4W\n" "OL5K\n" "OL5M\n" "OL5Q\n" "OL5R\n" "OL5T\n" "OL5Y\n" "OL6M\n" "OL6P\n" "OL6W\n" "OL6X\n" "OL73NR\n" "OL7C\n" "OL7D\n" "OL7G\n" "OL7H\n" "OL7M\n" "OL7O\n" "OL7P\n" "OL7R\n" "OL7S\n" "OL7T\n" "OL8M\n" "OL8R\n" "OL8W\n" "OL9HQ\n" "OL9M\n" "OL9R\n" "OL9S\n" "OL9Z\n" "OM0A\n" "OM0ATP\n" "OM0M\n" "OM0R\n" "OM0TT\n" "OM0WR\n" "OM1ADM\n" "OM1AF\n" "OM1ATW\n" "OM1AW\n" "OM1AX\n" "OM1BM\n" "OM1HI\n" "OM1II\n" "OM1PD\n" "OM1TD\n" "OM1VA\n" "OM1XQ\n" "OM2AD\n" "OM2AK\n" "OM2ALA\n" "OM2AM\n" "OM2AW\n" "OM2BJ\n" "OM2CS\n" "OM2FY\n" "OM2IB\n" "OM2TB\n" "OM2VL\n" "OM2WX\n" "OM2XW\n" "OM2ZZ\n" "OM3AG\n" "OM3BA\n" "OM3BH\n" "OM3BY\n" "OM3CAQ\n" "OM3CDN\n" "OM3CEA\n" "OM3CGN\n" "OM3CHO\n" "OM3CPF\n" "OM3CUG\n" "OM3CW\n" "OM3DX\n" "OM3ED\n" "OM3EK\n" "OM3EQ\n" "OM3EY\n" "OM3FR\n" "OM3FZ\n" "OM3GI\n" "OM3IAG\n" "OM3ID\n" "OM3JA\n" "OM3JW\n" "OM3KFF\n" "OM3KJH\n" "OM3KWZ\n" "OM3KXX\n" "OM3KZA\n" "OM3LA\n" "OM3LK\n" "OM3LL\n" "OM3LS\n" "OM3LU\n" "OM3MB\n" "OM3MM\n" "OM3MV\n" "OM3NA\n" "OM3NI\n" "OM3OM\n" "OM3PA\n" "OM3PC\n" "OM3PQ\n" "OM3PR\n" "OM3QQ\n" "OM3R\n" "OM3RDX\n" "OM3RJB\n" "OM3RM\n" "OM3RMM\n" "OM3RRC\n" "OM3SEM\n" "OM3SG\n" "OM3SX\n" "OM3TB\n" "OM3TLE\n" "OM3TPN\n" "OM3TWM\n" "OM3TYC\n" "OM3TZO\n" "OM3X\n" "OM3YAD\n" "OM3YCA\n" "OM3YDX\n" "OM3YFT\n" "OM3ZBG\n" "OM3ZWA\n" "OM4A\n" "OM4AAS\n" "OM4ADR\n" "OM4ANJ\n" "OM4AY\n" "OM4CX\n" "OM4DA\n" "OM4DN\n" "OM4DU\n" "OM4DW\n" "OM4EX\n" "OM4F\n" "OM4J\n" "OM4JD\n" "OM4KW\n" "OM4PD\n" "OM4RF\n" "OM4TC\n" "OM4TW\n" "OM4W\n" "OM4WW\n" "OM4XA\n" "OM5AGM\n" "OM5ALC\n" "OM5CD\n" "OM5CM\n" "OM5CW\n" "OM5DP\n" "OM5DX\n" "OM5EA\n" "OM5FA\n" "OM5GU\n" "OM5KM\n" "OM5KP\n" "OM5LD\n" "OM5LR\n" "OM5M\n" "OM5MF\n" "OM5MO\n" "OM5MX\n" "OM5MZ\n" "OM5NA\n" "OM5NL\n" "OM5NU\n" "OM5RM\n" "OM5TX\n" "OM5UM\n" "OM5VS\n" "OM5X\n" "OM5ZW\n" "OM60KAP\n" "OM6A\n" "OM6AC\n" "OM6AL\n" "OM6AR\n" "OM6AT\n" "OM6AVK\n" "OM6CI\n" "OM6FM\n" "OM6JK\n" "OM6KW\n" "OM6MS\n" "OM6MT\n" "OM6MW\n" "OM6NM\n" "OM6P\n" "OM6PR\n" "OM6RK\n" "OM6SM\n" "OM6T\n" "OM6TC\n" "OM6TX\n" "OM7A\n" "OM7AB\n" "OM7AG\n" "OM7AT\n" "OM7AW\n" "OM7AX\n" "OM7CA\n" "OM7CG\n" "OM7CM\n" "OM7CW\n" "OM7DX\n" "OM7GW\n" "OM7KW\n" "OM7M\n" "OM7OB\n" "OM7OM\n" "OM7PY\n" "OM7RC\n" "OM7RR\n" "OM7RU\n" "OM7SR\n" "OM7TJ\n" "OM7TQ\n" "OM7YC\n" "OM7YL\n" "OM7ZM\n" "OM8A\n" "OM8AA\n" "OM8AHI\n" "OM8AMF\n" "OM8AQ\n" "OM8ART\n" "OM8AW\n" "OM8DD\n" "OM8FF\n" "OM8HG\n" "OM8JP\n" "OM8KW\n" "OM8LA\n" "OM8MM\n" "OM8ON\n" "OM8PG\n" "OM8RA\n" "OM8SL\n" "OM8TA\n" "OM9ACA\n" "OM9AJP\n" "OM9AMM\n" "ON1708M\n" "ON3AB\n" "ON3AD\n" "ON3AR\n" "ON3BZ\n" "ON3CCM\n" "ON3CQ\n" "ON3CYV\n" "ON3DI\n" "ON3DV\n" "ON3ED\n" "ON3EEF\n" "ON3EZ\n" "ON3FZT\n" "ON3GEO\n" "ON3GL\n" "ON3JF\n" "ON3JPA\n" "ON3KBY\n" "ON3KMJ\n" "ON3LBS\n" "ON3LX\n" "ON3ME\n" "ON3MI\n" "ON3MN\n" "ON3MT\n" "ON3ND\n" "ON3OG\n" "ON3OMD\n" "ON3OPA\n" "ON3OY\n" "ON3POL\n" "ON3RBJ\n" "ON3RPL\n" "ON3RR\n" "ON3TD\n" "ON3TO\n" "ON3URT\n" "ON3VBJ\n" "ON3VHF\n" "ON3VRT\n" "ON3VS\n" "ON3VW\n" "ON3VY\n" "ON3WAB\n" "ON3WJ\n" "ON3WLS\n" "ON3XXX\n" "ON3YV\n" "ON4ABL\n" "ON4ACW\n" "ON4AEF\n" "ON4AEK\n" "ON4AEM\n" "ON4AEY\n" "ON4AHF\n" "ON4ALJ\n" "ON4ALY\n" "ON4AMC\n" "ON4AMI\n" "ON4AMY\n" "ON4AN\n" "ON4ANL\n" "ON4ANL/P\n" "ON4AOI\n" "ON4ARJ\n" "ON4ARL\n" "ON4AST\n" "ON4ATA\n" "ON4ATW\n" "ON4AVG\n" "ON4AVZ\n" "ON4AWW\n" "ON4AXU\n" "ON4AYQ\n" "ON4AZL\n" "ON4BAG\n" "ON4BEN\n" "ON4BHP\n" "ON4BHQ\n" "ON4BR\n" "ON4BV\n" "ON4BX\n" "ON4CAB\n" "ON4CAS\n" "ON4CAU\n" "ON4CCC\n" "ON4CCN\n" "ON4CCU\n" "ON4CD\n" "ON4CDZ\n" "ON4CHK\n" "ON4CHN\n" "ON4CHP\n" "ON4CIS\n" "ON4CJR\n" "ON4CKE\n" "ON4CLF\n" "ON4CLQ\n" "ON4CP\n" "ON4CT\n" "ON4CZ\n" "ON4DA\n" "ON4DAP\n" "ON4DN\n" "ON4DY\n" "ON4ED\n" "ON4EI/EI\n" "ON4FG\n" "ON4FI\n" "ON4GG\n" "ON4GL\n" "ON4GO\n" "ON4HVO\n" "ON4IA\n" "ON4IBM\n" "ON4IG\n" "ON4IQ\n" "ON4IT\n" "ON4JM\n" "ON4JPB\n" "ON4KBZ\n" "ON4KCY\n" "ON4KEB\n" "ON4KEP\n" "ON4KGL\n" "ON4KLG\n" "ON4KMB\n" "ON4KML\n" "ON4KN\n" "ON4KSC\n" "ON4LBI\n" "ON4LCI\n" "ON4LCX\n" "ON4LDH\n" "ON4LDP\n" "ON4LDU\n" "ON4LEX\n" "ON4LFN\n" "ON4LG\n" "ON4LN\n" "ON4LO\n" "ON4LWX\n" "ON4MA\n" "ON4MW\n" "ON4ND\n" "ON4NOK\n" "ON4OL\n" "ON4OLE\n" "ON4ON\n" "ON4OS\n" "ON4PAL\n" "ON4PJA\n" "ON4PO\n" "ON4QX\n" "ON4RK\n" "ON4RO\n" "ON4SV\n" "ON4TC\n" "ON4TO\n" "ON4TOM\n" "ON4TTT\n" "ON4UN\n" "ON4UP\n" "ON4UQ\n" "ON4UW\n" "ON4VDV\n" "ON4VMA\n" "ON4VQ\n" "ON4WE\n" "ON4WIY\n" "ON4WW\n" "ON4XG\n" "ON4XJ\n" "ON4YN\n" "ON5AFB\n" "ON5ARY\n" "ON5CMB\n" "ON5DC\n" "ON5DH\n" "ON5DJ\n" "ON5EU\n" "ON5EX\n" "ON5GA\n" "ON5GF\n" "ON5GQ\n" "ON5GY\n" "ON5HF\n" "ON5HR\n" "ON5HY\n" "ON5JD\n" "ON5JT\n" "ON5KDX\n" "ON5KQ\n" "ON5LA\n" "ON5LGS\n" "ON5LO\n" "ON5MQ\n" "ON5NT\n" "ON5PO\n" "ON5QD\n" "ON5RA\n" "ON5RV\n" "ON5RZ\n" "ON5RZ/P\n" "ON5SD\n" "ON5SV\n" "ON5SY\n" "ON5TC\n" "ON5TO\n" "ON5TQ\n" "ON5UJ\n" "ON5UK\n" "ON5VL\n" "ON5WL\n" "ON5WQ\n" "ON5ZO\n" "ON65CLM\n" "ON6AB\n" "ON6BR\n" "ON6BU\n" "ON6DK\n" "ON6DP\n" "ON6EF\n" "ON6FC\n" "ON6FT\n" "ON6GV\n" "ON6HV\n" "ON6HZ\n" "ON6IP\n" "ON6LEO\n" "ON6LR\n" "ON6LS\n" "ON6LY\n" "ON6MG\n" "ON6MR\n" "ON6NL\n" "ON6NP\n" "ON6NW\n" "ON6OM\n" "ON6PF\n" "ON6PQ\n" "ON6PW\n" "ON6QG\n" "ON6QH\n" "ON6QO\n" "ON6QP\n" "ON6RJ\n" "ON6SA\n" "ON6SI\n" "ON6SM\n" "ON6SX\n" "ON6UC\n" "ON6UD\n" "ON6UF\n" "ON6UL\n" "ON6VL\n" "ON6WP\n" "ON6WR\n" "ON6XG\n" "ON6YH\n" "ON6YX\n" "ON6YYY\n" "ON6ZM\n" "ON6ZV\n" "ON769MS\n" "ON7AA\n" "ON7AAU\n" "ON7ARQ\n" "ON7BBR\n" "ON7BJ\n" "ON7BM\n" "ON7BT\n" "ON7CC\n" "ON7CD\n" "ON7CK\n" "ON7CL\n" "ON7CX\n" "ON7DDG\n" "ON7DR\n" "ON7DY\n" "ON7EE\n" "ON7EH\n" "ON7EQ\n" "ON7GB\n" "ON7GO\n" "ON7GR\n" "ON7HM\n" "ON7IDX\n" "ON7JA\n" "ON7JM\n" "ON7JV\n" "ON7KB\n" "ON7KC\n" "ON7KEC\n" "ON7NT\n" "ON7ON\n" "ON7PM\n" "ON7PP\n" "ON7PQ\n" "ON7PS\n" "ON7RU\n" "ON7SS\n" "ON7TG\n" "ON7TWA\n" "ON7UI\n" "ON7USB\n" "ON7UZ\n" "ON7VD\n" "ON7VMR\n" "ON7WB\n" "ON7WW\n" "ON7XD\n" "ON7YX\n" "ON7ZM\n" "ON8AJ\n" "ON8AM\n" "ON8AR\n" "ON8BB\n" "ON8BV\n" "ON8DM\n" "ON8EA\n" "ON8LDS\n" "ON8MT\n" "ON8NT\n" "ON8SL\n" "ON8VK\n" "ON8VM\n" "ON8VP\n" "ON8VT\n" "ON8WF\n" "ON8WW\n" "ON8XT\n" "ON8ZT\n" "ON9CCS\n" "ON9CSV\n" "OO0A\n" "OO2T\n" "OO4O\n" "OO4P\n" "OO4T\n" "OO5D\n" "OO5G\n" "OO5P\n" "OO5S\n" "OO5Z\n" "OO6C\n" "OO6U\n" "OO7K\n" "OO7W\n" "OO9O\n" "OP0HQ\n" "OP0P\n" "OP1A\n" "OP2A\n" "OP4A\n" "OP4B\n" "OP4D\n" "OP4F\n" "OP4K\n" "OP4L\n" "OP4T\n" "OP5N\n" "OP5T\n" "OP6A\n" "OP6T\n" "OP7A\n" "OP7B\n" "OQ3R\n" "OQ4A\n" "OQ4B\n" "OQ4T\n" "OQ4U\n" "OQ5A\n" "OQ5M\n" "OQ7Q\n" "OQ7T\n" "OR0A\n" "OR0OST\n" "OR1T\n" "OR1Z\n" "OR2A\n" "OR2F\n" "OR2M\n" "OR2R\n" "OR2T\n" "OR4A\n" "OR4R\n" "OR4U\n" "OR4W\n" "OR5EU\n" "OR5N\n" "OR6C\n" "OR7Z\n" "OS0S\n" "OS2A\n" "OS2T\n" "OS4U\n" "OS5N\n" "OS6C\n" "OS7A\n" "OS8A\n" "OT1A\n" "OT2A\n" "OT2B\n" "OT2C\n" "OT2X\n" "OT3A\n" "OT3T\n" "OT4A\n" "OT4P\n" "OT5A\n" "OT5P\n" "OT5T\n" "OT5W\n" "OT6E\n" "OT6T\n" "OT7E\n" "OT7G\n" "OT7N\n" "OT7T\n" "OT7X\n" "OU2P\n" "OU3A\n" "OU4O\n" "OU7X\n" "OV1A\n" "OV3X\n" "OV5A\n" "OX2A\n" "OX3XR\n" "OX5AA\n" "OX8XX\n" "OY1CT\n" "OY2J\n" "OY3AA\n" "OY3JE\n" "OY3QN\n" "OY4M\n" "OY6A\n" "OY9JD\n" "OY9R\n" "OZ0A\n" "OZ0MF\n" "OZ0MJ\n" "OZ0TE\n" "OZ0W\n" "OZ1AAR\n" "OZ1ACB\n" "OZ1ADL\n" "OZ1AGN\n" "OZ1AXG\n" "OZ1BCG\n" "OZ1BTE\n" "OZ1BXG\n" "OZ1BZJ\n" "OZ1CCM\n" "OZ1CJS\n" "OZ1CTK\n" "OZ1CWH\n" "OZ1DGQ\n" "OZ1DSD\n" "OZ1DYI/P\n" "OZ1DZ\n" "OZ1EDR\n" "OZ1FAO\n" "OZ1GCT\n" "OZ1GML\n" "OZ1HHH\n" "OZ1HQ\n" "OZ1HUE\n" "OZ1HYI\n" "OZ1IEZ\n" "OZ1IKW\n" "OZ1IKY\n" "OZ1ING\n" "OZ1JFK\n" "OZ1JTE\n" "OZ1JU\n" "OZ1JVX\n" "OZ1KEF\n" "OZ1KGV\n" "OZ1KJG\n" "OZ1KKH\n" "OZ1KSN\n" "OZ1KVM\n" "OZ1LCG\n" "OZ1LFI\n" "OZ1LNL\n" "OZ1LO\n" "OZ1LXJ\n" "OZ1NF\n" "OZ1XV\n" "OZ1ZE\n" "OZ2A\n" "OZ2ABI\n" "OZ2AKM\n" "OZ2AR\n" "OZ2BKK\n" "OZ2CVT\n" "OZ2DAN\n" "OZ2HT\n" "OZ2PBS\n" "OZ2RH\n" "OZ2SPACE\n" "OZ2TF\n" "OZ2U\n" "OZ3ABU\n" "OZ3ANT\n" "OZ3BJ\n" "OZ3EN\n" "OZ3SA\n" "OZ3SK\n" "OZ3SM\n" "OZ3SW\n" "OZ4ACK\n" "OZ4B\n" "OZ4CG\n" "OZ4EU\n" "OZ4FA\n" "OZ4FF\n" "OZ4M\n" "OZ4NA\n" "OZ4O\n" "OZ4RT\n" "OZ4UN\n" "OZ4VV\n" "OZ4VW\n" "OZ5AGJ\n" "OZ5BD\n" "OZ5D\n" "OZ5DSB\n" "OZ5DX\n" "OZ5E\n" "OZ5ESB\n" "OZ5EV\n" "OZ5GX\n" "OZ5HZ\n" "OZ5JC\n" "OZ5KU\n" "OZ5NJ\n" "OZ5RM\n" "OZ5TL\n" "OZ5UR\n" "OZ5W\n" "OZ5WQ\n" "OZ6ABL\n" "OZ6AGD\n" "OZ6AGX\n" "OZ6EI\n" "OZ6OM\n" "OZ6TL\n" "OZ7A\n" "OZ7AEI\n" "OZ7AKT\n" "OZ7AM\n" "OZ7BQ\n" "OZ7DK\n" "OZ7DN\n" "OZ7EA\n" "OZ7HAM\n" "OZ7HT\n" "OZ7IF\n" "OZ7KU\n" "OZ7NB\n" "OZ7OX\n" "OZ7RQ\n" "OZ7SMJ\n" "OZ7TTT\n" "OZ7UV\n" "OZ7X\n" "OZ7XE\n" "OZ7YL\n" "OZ7YY\n" "OZ8A\n" "OZ8ABE\n" "OZ8BZ\n" "OZ8CT\n" "OZ8EA\n" "OZ8PG\n" "OZ8PI\n" "OZ8SW\n" "OZ9KZ\n" "OZ9V\n" "P29CW\n" "P29NB\n" "P29TL\n" "P33W\n" "P39P\n" "P3F\n" "P3J\n" "P3M\n" "P3N\n" "P40A\n" "P40HQ\n" "P40K\n" "P40L\n" "P40LE\n" "P40N\n" "P40Q\n" "P40R\n" "P40TA\n" "P40V\n" "P40W\n" "P40Y\n" "P40YL\n" "P41M\n" "P41V\n" "P41YL\n" "P43A\n" "P43E\n" "P43JB\n" "P48AA\n" "P48ADI\n" "P49MR\n" "P49V\n" "P49X\n" "P49Y\n" "PA09CC\n" "PA0A\n" "PA0AA\n" "PA0ABM\n" "PA0ADP\n" "PA0AGA\n" "PA0AKN\n" "PA0ASD\n" "PA0ATG\n" "PA0ATY\n" "PA0AWH\n" "PA0B\n" "PA0BW\n" "PA0BWL\n" "PA0CAH\n" "PA0CGB\n" "PA0CKV\n" "PA0CMU\n" "PA0COR\n" "PA0CYW\n" "PA0DDB\n" "PA0DIN\n" "PA0DVD\n" "PA0DVM\n" "PA0ELS\n" "PA0EMO\n" "PA0END\n" "PA0FAW\n" "PA0FEI\n" "PA0FLE\n" "PA0GJV\n" "PA0GKO\n" "PA0GMM\n" "PA0GMS\n" "PA0GRU\n" "PA0HOR\n" "PA0HRM\n" "PA0HWB\n" "PA0IA\n" "PA0IJM\n" "PA0INA\n" "PA0JED\n" "PA0JHM\n" "PA0JNH\n" "PA0JSE\n" "PA0KT\n" "PA0LEG\n" "PA0LOU\n" "PA0LRK\n" "PA0LSK\n" "PA0M\n" "PA0MAW\n" "PA0MBD\n" "PA0MIR\n" "PA0MJM\n" "PA0O\n" "PA0PFW\n" "PA0PSA\n" "PA0PVW\n" "PA0QRB\n" "PA0QX\n" "PA0RBA\n" "PA0RBO\n" "PA0RDY\n" "PA0RHA\n" "PA0RRA\n" "PA0SAR\n" "PA0SDZ\n" "PA0SKP\n" "PA0SNG\n" "PA0SON\n" "PA0TCA\n" "PA0VAJ\n" "PA0VDV\n" "PA0VHA\n" "PA0VST\n" "PA0W\n" "PA0WDG\n" "PA0WKI\n" "PA0WLB\n" "PA0WMR\n" "PA0WRS\n" "PA0WTO\n" "PA0WYS\n" "PA100BEVER\n" "PA1A\n" "PA1AK\n" "PA1APW\n" "PA1AT\n" "PA1AW\n" "PA1B\n" "PA1BBO\n" "PA1BDO\n" "PA1BK\n" "PA1BOB\n" "PA1BR\n" "PA1BX\n" "PA1CC\n" "PA1CM\n" "PA1CPA\n" "PA1CW\n" "PA1DK\n" "PA1DV\n" "PA1FOC\n" "PA1FR\n" "PA1H\n" "PA1HCB\n" "PA1HEM\n" "PA1HR\n" "PA1JHP\n" "PA1K\n" "PA1M\n" "PA1MR\n" "PA1MV\n" "PA1MVL\n" "PA1NHZ\n" "PA1NL\n" "PA1PAT\n" "PA1PDM\n" "PA1PE\n" "PA1PT\n" "PA1PT/P\n" "PA1RF\n" "PA1RVL\n" "PA1T\n" "PA1TK\n" "PA1TO\n" "PA1TT\n" "PA1TX\n" "PA1UL\n" "PA1VC\n" "PA1W\n" "PA1WLB\n" "PA1X\n" "PA1XA\n" "PA2A\n" "PA2ALF\n" "PA2AM\n" "PA2AWU\n" "PA2C\n" "PA2CHM\n" "PA2CVD\n" "PA2DW\n" "PA2F\n" "PA2GJ\n" "PA2GP\n" "PA2IP\n" "PA2JWN\n" "PA2KHN\n" "PA2KW\n" "PA2LO\n" "PA2LS\n" "PA2MI\n" "PA2MRT\n" "PA2N\n" "PA2NJC\n" "PA2PCH\n" "PA2PDV\n" "PA2PKZ\n" "PA2PRU\n" "PA2R\n" "PA2REH\n" "PA2RU\n" "PA2RUS\n" "PA2SAM\n" "PA2SWL\n" "PA2TB\n" "PA2V\n" "PA2W\n" "PA2WO\n" "PA30IPA\n" "PA3A\n" "PA3AAV\n" "PA3ABH\n" "PA3ADJ\n" "PA3AFF\n" "PA3AGF\n" "PA3AIN\n" "PA3AJH\n" "PA3AJN\n" "PA3AJW\n" "PA3AKP\n" "PA3ALK\n" "PA3ALY\n" "PA3AM\n" "PA3ANN\n" "PA3AO\n" "PA3AQL\n" "PA3AQY\n" "PA3ARK\n" "PA3ARM\n" "PA3ATN\n" "PA3ATP\n" "PA3AWW\n" "PA3BFH\n" "PA3BFS\n" "PA3BGQ\n" "PA3BQC\n" "PA3BWD\n" "PA3BWK\n" "PA3BWS\n" "PA3C\n" "PA3CAL\n" "PA3CDN\n" "PA3CEV\n" "PA3CJF\n" "PA3CJP\n" "PA3CLQ\n" "PA3CMF\n" "PA3CNI\n" "PA3CSG\n" "PA3CTA\n" "PA3CUI\n" "PA3CVI\n" "PA3CVJ\n" "PA3CVR\n" "PA3DAT\n" "PA3DBH\n" "PA3DBS\n" "PA3DCX\n" "PA3DDP\n" "PA3DFG\n" "PA3DGH\n" "PA3DHR\n" "PA3DOB\n" "PA3DRL\n" "PA3DTR\n" "PA3DZF\n" "PA3EBP\n" "PA3ECJ\n" "PA3EEG\n" "PA3EKE\n" "PA3ELQ\n" "PA3EMN\n" "PA3EQO\n" "PA3ERY\n" "PA3ESO\n" "PA3EVY\n" "PA3EWG\n" "PA3EWP\n" "PA3EZC\n" "PA3FKN\n" "PA3FMC\n" "PA3FNB\n" "PA3FOE\n" "PA3FQA\n" "PA3FRD\n" "PA3FTX\n" "PA3FYG\n" "PA3FYI\n" "PA3GBI\n" "PA3GBQ\n" "PA3GCV\n" "PA3GDD\n" "PA3GDY\n" "PA3GEO\n" "PA3GGB\n" "PA3GGD\n" "PA3GGW\n" "PA3GJU\n" "PA3GMM\n" "PA3GPP\n" "PA3GPT\n" "PA3GQF\n" "PA3GQG\n" "PA3GVI\n" "PA3GWN\n" "PA3GXT\n" "PA3HAH\n" "PA3HCC\n" "PA3HCD\n" "PA3HCF\n" "PA3HFG\n" "PA3HFJ\n" "PA3HGF\n" "PA3HGP\n" "PA3HGY\n" "PA3HHE\n" "PA3HHT\n" "PA3HIJ\n" "PA3HK\n" "PA3HPY\n" "PA3HS\n" "PA3JD\n" "PA3JDV\n" "PA3KVE\n" "PA3MET\n" "PA3MM\n" "PA3MR\n" "PA3N\n" "PA3PCV\n" "PA3RB\n" "PA3RW\n" "PA3S\n" "PA3T\n" "PA3TON\n" "PA3TOP\n" "PA3WB\n" "PA3YH\n" "PA40MIR\n" "PA44N\n" "PA4AO\n" "PA4AR\n" "PA4B\n" "PA4CHE\n" "PA4DO\n" "PA4F\n" "PA4HF\n" "PA4JJ\n" "PA4LA\n" "PA4MRS\n" "PA4N\n" "PA4NIC\n" "PA4PS\n" "PA4SDV\n" "PA4T\n" "PA4VHF\n" "PA4WG\n" "PA50RNARS\n" "PA5A\n" "PA5CW\n" "PA5F\n" "PA5GU\n" "PA5HJ\n" "PA5J\n" "PA5JSB\n" "PA5KT\n" "PA5LV\n" "PA5MS\n" "PA5O\n" "PA5P\n" "PA5PR\n" "PA5RG\n" "PA5TT\n" "PA5V\n" "PA5VK\n" "PA5VL\n" "PA5W\n" "PA5WT\n" "PA5YL\n" "PA600MIR\n" "PA6HQ\n" "PA6OI\n" "PA6V\n" "PA6Z\n" "PA7A\n" "PA7BAS\n" "PA7CG\n" "PA7DW\n" "PA7F\n" "PA7FA\n" "PA7HPH\n" "PA7J\n" "PA7JM\n" "PA7JS\n" "PA7JWC\n" "PA7KG\n" "PA7LV\n" "PA7LZ\n" "PA7MM\n" "PA7N\n" "PA7OB\n" "PA7PA\n" "PA7PTT\n" "PA7PYR\n" "PA7RA\n" "PA7TWO\n" "PA7UL\n" "PA7WB\n" "PA7WW\n" "PA7YI\n" "PA7ZZ\n" "PA8F\n" "PA8KW\n" "PA8N\n" "PA8TWN\n" "PA9CC\n" "PA9CW\n" "PA9DD\n" "PA9HR\n" "PA9JO\n" "PA9LUC\n" "PA9M\n" "PA9MR\n" "PA9P\n" "PA9RD\n" "PA9RZ\n" "PB0ACU\n" "PB0AEX\n" "PB0AEZ\n" "PB0AMU\n" "PB0P\n" "PB1TT\n" "PB2JJ\n" "PB2T\n" "PB2X\n" "PB5T\n" "PB5WIM\n" "PB65BP\n" "PB6W\n" "PB7CW\n" "PB7XYL\n" "PC25DIG\n" "PC2A\n" "PC2C\n" "PC2F\n" "PC2J\n" "PC4T\n" "PC4U\n" "PC5M\n" "PC5W\n" "PC5WDB\n" "PC7R\n" "PC7T\n" "PC8E\n" "PD05CW\n" "PD0ADR\n" "PD0AG\n" "PD0ARI\n" "PD0BOR\n" "PD0DJB\n" "PD0DK\n" "PD0EJN\n" "PD0EMR\n" "PD0GAB\n" "PD0HD\n" "PD0HF\n" "PD0HM\n" "PD0HQF\n" "PD0JHM\n" "PD0JMH\n" "PD0JNG\n" "PD0LBH\n" "PD0LDC\n" "PD0LG\n" "PD0LGG\n" "PD0LUR\n" "PD0MBY\n" "PD0MD\n" "PD0MHZ\n" "PD0MLO\n" "PD0MM\n" "PD0MNF\n" "PD0OQV\n" "PD0OYF\n" "PD0PVL\n" "PD0RKA\n" "PD0RKC\n" "PD0ROC\n" "PD0RS\n" "PD0RXP\n" "PD0SCY\n" "PD0SV\n" "PD0TB\n" "PD0WR\n" "PD1ABO\n" "PD1AIH\n" "PD1AIV\n" "PD1ALW\n" "PD1ARM\n" "PD1D\n" "PD1DX\n" "PD1EHA\n" "PD1EN\n" "PD1EVL\n" "PD1KSA\n" "PD1MVL\n" "PD1RP\n" "PD1SA\n" "PD1TV\n" "PD1UAR\n" "PD2ATG\n" "PD2AVE\n" "PD2DX\n" "PD2EDR\n" "PD2GCM\n" "PD2GJS\n" "PD2GSP\n" "PD2HT\n" "PD2J\n" "PD2JAM\n" "PD2LLS\n" "PD2PKM\n" "PD2R\n" "PD2RKG\n" "PD2SO\n" "PD2YL\n" "PD3ALX\n" "PD3ATM\n" "PD3BVI\n" "PD3DX\n" "PD3EM\n" "PD3GO\n" "PD3GSN\n" "PD3GVA\n" "PD3HB\n" "PD3LHS\n" "PD3MDM\n" "PD4BAS\n" "PD4DX\n" "PD4HDB\n" "PD4JP\n" "PD4NYS\n" "PD4SAM\n" "PD4U\n" "PD4X\n" "PD5B\n" "PD5CW\n" "PD5DJ\n" "PD5GO\n" "PD5JFK\n" "PD5L\n" "PD5LKM\n" "PD5LO\n" "PD5MJF\n" "PD5RS\n" "PD5URK\n" "PD5X\n" "PD602YL\n" "PD6W\n" "PD7BZ\n" "PD7CJT\n" "PD7EAT\n" "PD7MER\n" "PD7RB\n" "PD7TWO\n" "PD9BM\n" "PD9DX\n" "PD9FDG\n" "PD9FER\n" "PD9FJ\n" "PD9GD\n" "PD9HVS\n" "PD9NR\n" "PD9W\n" "PD9Y\n" "PE0MVJ\n" "PE0NYJ\n" "PE0VT\n" "PE1AUV\n" "PE1B\n" "PE1CIM\n" "PE1CPJ\n" "PE1CVJ\n" "PE1CZG\n" "PE1DAB\n" "PE1DH\n" "PE1DTU\n" "PE1ER\n" "PE1EWR\n" "PE1FNW\n" "PE1FTV\n" "PE1FZK\n" "PE1GRJ\n" "PE1GWX\n" "PE1HB\n" "PE1HWO\n" "PE1IWT\n" "PE1JMN\n" "PE1JRP\n" "PE1KL\n" "PE1LGZ\n" "PE1LTY\n" "PE1LUB\n" "PE1MMZ\n" "PE1MPA\n" "PE1NAO\n" "PE1NBD\n" "PE1NCP\n" "PE1NGR\n" "PE1ODY\n" "PE1OLM\n" "PE1OPK\n" "PE1OUL\n" "PE1OXP\n" "PE1OXS\n" "PE1OYB\n" "PE1PGA\n" "PE1RDP\n" "PE1RF\n" "PE1RIK\n" "PE1RLF\n" "PE1RUS\n" "PE25KP\n" "PE2AE\n" "PE2CML\n" "PE2EMS\n" "PE2HD\n" "PE2HHN\n" "PE2JMR\n" "PE2KM\n" "PE2KP\n" "PE2KY\n" "PE2LZ\n" "PE2MC\n" "PE2MEV\n" "PE2RPS\n" "PE2T\n" "PE2TET\n" "PE3HG\n" "PE4AD\n" "PE4BAS\n" "PE5ENJ\n" "PE5T\n" "PE5TS\n" "PE7T\n" "PE7TG\n" "PE8ROB\n" "PE9GG\n" "PF0R\n" "PF0X\n" "PF1MO\n" "PF4T\n" "PF5X\n" "PF6WW\n" "PF7DKW\n" "PF7M\n" "PF7X\n" "PF9A\n" "PG1A\n" "PG1R\n" "PG2AA\n" "PG2D\n" "PG3N\n" "PG4DX\n" "PG4I\n" "PG5M\n" "PG6EL\n" "PG7A\n" "PG7V\n" "PH0AS\n" "PH0AW\n" "PH0JFL\n" "PH0Q\n" "PH100EL/P\n" "PH2A\n" "PH2M\n" "PH5C\n" "PH60PH\n" "PH7A\n" "PH7FE\n" "PH8GB\n" "PH9HB\n" "PI4AAG\n" "PI4AMF\n" "PI4AML\n" "PI4BRD\n" "PI4CC\n" "PI4CG\n" "PI4COM\n" "PI4D\n" "PI4DIG\n" "PI4DX\n" "PI4EDE\n" "PI4FRG\n" "PI4HQ\n" "PI4KGL\n" "PI4LWD\n" "PI4MRC\n" "PI4N\n" "PI4RCA\n" "PI4RCK\n" "PI4TIL\n" "PI4TUE\n" "PI4VHW\n" "PI4VPO\n" "PI4W\n" "PI4WLD\n" "PI4WNO\n" "PI4Z\n" "PI4ZI\n" "PI4ZOD\n" "PI65AAG\n" "PI65BRD\n" "PI9TP\n" "PJ2DX\n" "PJ2E\n" "PJ2HQ\n" "PJ2P\n" "PJ2T\n" "PJ4A\n" "PJ4E\n" "PJ4G\n" "PJ4K\n" "PJ4L\n" "PJ4LS\n" "PJ4NX\n" "PJ4R\n" "PJ4T\n" "PJ4X\n" "PJ5NA\n" "PJ7B\n" "PJ7MF\n" "PJ7UQ\n" "PP1CZ\n" "PP2RON\n" "PP5/OE9APV\n" "PP5AR\n" "PP5BI\n" "PP5BK\n" "PP5BZ\n" "PP5EG\n" "PP5IZ\n" "PP5JAK\n" "PP5JN\n" "PP5JY\n" "PP5KR\n" "PP5MQ\n" "PP5MS\n" "PP5TR\n" "PP5VK\n" "PP5VX\n" "PP5WG\n" "PP5XX\n" "PP7LL\n" "PP8ZAC\n" "PQ0F\n" "PQ4F\n" "PQ5B\n" "PR1T\n" "PR2B\n" "PR5D\n" "PR5W\n" "PR5Z\n" "PR7AA\n" "PR7AB\n" "PR7AF\n" "PR7AP\n" "PR7AR\n" "PR7AYE\n" "PR7CPK\n" "PR7DZ\n" "PR7GY\n" "PR7HR\n" "PR8ZX\n" "PS0F\n" "PS2T\n" "PS6T\n" "PS7DX\n" "PS7YL\n" "PS8CC\n" "PS8DX\n" "PS8ET\n" "PS8SP\n" "PT1A\n" "PT1Z\n" "PT2BW\n" "PT2CM\n" "PT2ZHA\n" "PT2ZXR\n" "PT3T\n" "PT4C\n" "PT5A\n" "PT5T\n" "PT5UN\n" "PT7AG\n" "PT7AZ\n" "PT7CG\n" "PT7DX\n" "PT7ZT\n" "PT8CWA\n" "PT8DX\n" "PT9PA\n" "PU1KGG\n" "PU1KYC\n" "PU2KLM\n" "PU2LEP\n" "PU2LGR\n" "PU2MJU\n" "PU2MTS\n" "PU2RKP\n" "PU2SDX\n" "PU2UEO\n" "PU2UTC\n" "PU2WDX\n" "PU3CAL\n" "PU3KNG\n" "PU3LYB\n" "PU3SVA\n" "PU4HUD\n" "PU5AAD\n" "PU5ATX\n" "PU5BIA\n" "PU5FJR\n" "PU5OGE\n" "PU5UAI\n" "PU8TEP\n" "PU9OSB\n" "PV2P\n" "PV8AA\n" "PV8ADI\n" "PV8DR\n" "PV8DX\n" "PV8RF\n" "PW1W\n" "PW2B\n" "PW2D\n" "PW2P\n" "PW5G\n" "PW7A\n" "PW7T\n" "PX2C\n" "PX2T\n" "PX5B\n" "PX5E\n" "PY0FF\n" "PY1CL\n" "PY1CMT\n" "PY1DHG\n" "PY1DX\n" "PY1HY\n" "PY1KN\n" "PY1ME\n" "PY1NB\n" "PY1NX\n" "PY1OW\n" "PY1RY\n" "PY1SX\n" "PY1WS\n" "PY1ZV\n" "PY2AAZ\n" "PY2AC\n" "PY2ADR\n" "PY2ARL\n" "PY2ASS\n" "PY2BK\n" "PY2BN\n" "PY2BRA\n" "PY2BRZ\n" "PY2BT\n" "PY2BW\n" "PY2DEZ\n" "PY2DJ\n" "PY2DU\n" "PY2DXX\n" "PY2DY\n" "PY2EB\n" "PY2EJ\n" "PY2EL\n" "PY2ELG\n" "PY2ESP\n" "PY2EU\n" "PY2EX\n" "PY2EYE\n" "PY2GA\n" "PY2GH\n" "PY2GMR\n" "PY2HAM\n" "PY2HL\n" "PY2HT\n" "PY2IAX\n" "PY2IQ\n" "PY2IU\n" "PY2KGB\n" "PY2KJ\n" "PY2KP\n" "PY2LEI\n" "PY2LSM\n" "PY2MNL\n" "PY2MPG\n" "PY2MR\n" "PY2MTS\n" "PY2MTV\n" "PY2NA\n" "PY2NB\n" "PY2NDX\n" "PY2NFE\n" "PY2NY\n" "PY2OE\n" "PY2OX\n" "PY2PT\n" "PY2QA\n" "PY2RDZ\n" "PY2RH\n" "PY2SBY\n" "PY2SEI\n" "PY2SEX\n" "PY2SF\n" "PY2SHF\n" "PY2SRB\n" "PY2TEL\n" "PY2TI\n" "PY2TIM\n" "PY2TO\n" "PY2UDX\n" "PY2UN\n" "PY2VA\n" "PY2VFU\n" "PY2VM\n" "PY2VZ\n" "PY2WAS\n" "PY2WB\n" "PY2WC\n" "PY2WL\n" "PY2XAT\n" "PY2XB\n" "PY2XC\n" "PY2XTA\n" "PY2YP\n" "PY2YU\n" "PY2ZA\n" "PY2ZK\n" "PY2ZR\n" "PY2ZXU\n" "PY2ZY\n" "PY3APY\n" "PY3ATR\n" "PY3AU\n" "PY3CAL\n" "PY3DX\n" "PY3EAM\n" "PY3FBI\n" "PY3FF\n" "PY3FOX\n" "PY3IP\n" "PY3KIM\n" "PY3KN\n" "PY3MHZ\n" "PY3NZ\n" "PY3OG\n" "PY3OL\n" "PY3OPP\n" "PY3PA\n" "PY3SB\n" "PY3TIO\n" "PY3UA\n" "PY3UEB\n" "PY3VB\n" "PY3VK\n" "PY3YD\n" "PY4BW\n" "PY4DEL\n" "PY4FQ\n" "PY4LH\n" "PY4OG\n" "PY4OY\n" "PY4UM\n" "PY4XX\n" "PY4ZF\n" "PY4ZO\n" "PY5AKW\n" "PY5AP\n" "PY5BH\n" "PY5BLG\n" "PY5CA\n" "PY5DC\n" "PY5EW\n" "PY5FB\n" "PY5FO\n" "PY5GA\n" "PY5IP\n" "PY5JO\n" "PY5KA\n" "PY5KD\n" "PY5KW\n" "PY5LF\n" "PY5MJ\n" "PY5QW\n" "PY5RB\n" "PY5TJ\n" "PY5XH\n" "PY5ZD\n" "PY5ZHP\n" "PY6HD\n" "PY6KW\n" "PY6KY\n" "PY6PRS\n" "PY7AHA\n" "PY7GK\n" "PY7OJ\n" "PY7RP\n" "PY7VI\n" "PY7XC\n" "PY7ZBK\n" "PY7ZY\n" "PY7ZZ\n" "PY8MGB\n" "PZ1AP\n" "PZ5M\n" "PZ5RA\n" "PZ5TT\n" "PZ5X\n" "PZ5Z\n" "R0HQ\n" "R100MAR\n" "R1ANB\n" "R1ANC\n" "R1ANP\n" "R1ANR\n" "R1ANY\n" "R2DW\n" "R3/AL1G\n" "R3/K5WA\n" "R3/K9GY\n" "R3/SM6LRR\n" "R3/UY0YU\n" "R3AA\n" "R3AR\n" "R3AT\n" "R3FF\n" "R3HQ\n" "R3K\n" "R3KM\n" "R3QX\n" "R3ZV\n" "R4/UN6P\n" "R4/UT5UDX\n" "R4WAA\n" "R5ACQ\n" "R6LA\n" "R7FF\n" "R7HF\n" "R7LV\n" "R85NN\n" "R8TX\n" "R9FM\n" "R9FT\n" "R9SA\n" "R9WW\n" "RA0AA\n" "RA0ACM\n" "RA0AM\n" "RA0ANO\n" "RA0AR\n" "RA0AY\n" "RA0BA\n" "RA0CAH\n" "RA0CL\n" "RA0CY\n" "RA0FLP\n" "RA0FU\n" "RA0FZ\n" "RA0JBL\n" "RA0JY\n" "RA0LE\n" "RA0LG\n" "RA0LL\n" "RA0LV\n" "RA0QC\n" "RA0QD\n" "RA0QQ\n" "RA0SF\n" "RA0SMS\n" "RA0SS\n" "RA0SU\n" "RA0UF\n" "RA0WHE\n" "RA0WU\n" "RA0ZN\n" "RA1AEI\n" "RA1AFR\n" "RA1AG\n" "RA1AGG\n" "RA1AGL\n" "RA1AGU\n" "RA1AIE\n" "RA1AIP\n" "RA1AKR\n" "RA1AL\n" "RA1ALZ\n" "RA1AOB\n" "RA1AOP\n" "RA1AR\n" "RA1AUW\n" "RA1AW\n" "RA1CF\n" "RA1CP\n" "RA1CW\n" "RA1OD\n" "RA1OGP\n" "RA1OHX\n" "RA1OJ\n" "RA1OW\n" "RA1OZ/1\n" "RA1QA\n" "RA1QAX\n" "RA1QCZ\n" "RA1QD\n" "RA1QDP\n" "RA1QFY\n" "RA1QG\n" "RA1QGK\n" "RA1QGO\n" "RA1QGW\n" "RA1QIH\n" "RA1QIT\n" "RA1QJA\n" "RA1QN\n" "RA1QQ\n" "RA1QR\n" "RA1QX\n" "RA1QY\n" "RA1TU\n" "RA1TV\n" "RA1WJ\n" "RA1WZ\n" "RA1ZZ/3\n" "RA2FAC\n" "RA2FB\n" "RA2FCE\n" "RA2FDX\n" "RA2FF\n" "RA2FG\n" "RA2FIA\n" "RA2FN\n" "RA2FU\n" "RA2FV\n" "RA2FX\n" "RA3AA\n" "RA3AD\n" "RA3AGF\n" "RA3AGN\n" "RA3AH\n" "RA3AJ\n" "RA3AN\n" "RA3ANI\n" "RA3APN\n" "RA3ATE\n" "RA3ATX\n" "RA3AUM\n" "RA3AV\n" "RA3AWO\n" "RA3AWW\n" "RA3AX\n" "RA3BB\n" "RA3BQ\n" "RA3BQ/3\n" "RA3BT\n" "RA3BZ\n" "RA3CM\n" "RA3CO\n" "RA3CQ\n" "RA3DA\n" "RA3DBK\n" "RA3DCT\n" "RA3DEQ\n" "RA3DGH\n" "RA3DH\n" "RA3DNC\n" "RA3DRC\n" "RA3DRI\n" "RA3DTH\n" "RA3DTN\n" "RA3DW\n" "RA3DX\n" "RA3DXU\n" "RA3EA\n" "RA3EC\n" "RA3ED\n" "RA3EF\n" "RA3EG\n" "RA3EM\n" "RA3EW\n" "RA3FC\n" "RA3FD\n" "RA3FF\n" "RA3FH\n" "RA3FO\n" "RA3GAS\n" "RA3GFG\n" "RA3GJ\n" "RA3GN\n" "RA3GP\n" "RA3ICK\n" "RA3ID\n" "RA3IS\n" "RA3LAL\n" "RA3LB\n" "RA3LBG\n" "RA3LDP\n" "RA3LG\n" "RA3LJ\n" "RA3LO\n" "RA3LZ\n" "RA3MAV\n" "RA3MB\n" "RA3MD\n" "RA3MQ\n" "RA3MR\n" "RA3MU\n" "RA3NAN\n" "RA3NC\n" "RA3NF\n" "RA3NK\n" "RA3NN\n" "RA3NU\n" "RA3NZ\n" "RA3OE\n" "RA3OO\n" "RA3OW\n" "RA3PQ\n" "RA3PS\n" "RA3PW\n" "RA3QG\n" "RA3QH\n" "RA3QJ\n" "RA3QN\n" "RA3QPT\n" "RA3QPY\n" "RA3QSY\n" "RA3RBL\n" "RA3RCL\n" "RA3RDW\n" "RA3RGD\n" "RA3RGQ\n" "RA3RIU\n" "RA3RK\n" "RA3RLP\n" "RA3RN\n" "RA3RNN\n" "RA3RPS\n" "RA3RUF\n" "RA3RVZ\n" "RA3SI\n" "RA3SL\n" "RA3SS\n" "RA3ST\n" "RA3SX\n" "RA3TA\n" "RA3TAC\n" "RA3THN\n" "RA3TJX\n" "RA3TT\n" "RA3TUE\n" "RA3TUT\n" "RA3TV\n" "RA3TVL\n" "RA3TYL\n" "RA3UAG\n" "RA3UF\n" "RA3UT\n" "RA3VE\n" "RA3VE/3\n" "RA3VFM\n" "RA3VGS\n" "RA3VHO\n" "RA3VKU\n" "RA3VLD\n" "RA3VMJ\n" "RA3VR\n" "RA3WCG\n" "RA3WEU\n" "RA3WJ\n" "RA3WP\n" "RA3WUG\n" "RA3XA\n" "RA3XAR\n" "RA3XCW\n" "RA3XCZ\n" "RA3XDX\n" "RA3XE\n" "RA3XEV\n" "RA3XI\n" "RA3XM\n" "RA3XO\n" "RA3XP\n" "RA3YAO\n" "RA3YBU\n" "RA3YC\n" "RA3YZ\n" "RA3ZA\n" "RA3ZC\n" "RA3ZH\n" "RA3ZOM\n" "RA3ZZ\n" "RA4AAJ\n" "RA4AAO\n" "RA4ACX\n" "RA4AFZ\n" "RA4AR\n" "RA4CA\n" "RA4CBN\n" "RA4CC\n" "RA4CKC\n" "RA4CP\n" "RA4CQ\n" "RA4CSP\n" "RA4CVT\n" "RA4CW\n" "RA4FAU\n" "RA4FDY\n" "RA4FJV\n" "RA4FP\n" "RA4FUN\n" "RA4FUT\n" "RA4FW\n" "RA4FWA\n" "RA4FY\n" "RA4HBS\n" "RA4HFE\n" "RA4HGN\n" "RA4HL\n" "RA4HMT\n" "RA4HO\n" "RA4HPA\n" "RA4HT\n" "RA4HX\n" "RA4LBS\n" "RA4LF\n" "RA4LK\n" "RA4LW\n" "RA4LZ\n" "RA4NCC\n" "RA4NF\n" "RA4NX\n" "RA4PD\n" "RA4PI\n" "RA4PKI\n" "RA4PNO\n" "RA4PO\n" "RA4POX\n" "RA4PR\n" "RA4PUT\n" "RA4RT\n" "RA4SE\n" "RA4ST\n" "RA4UAT\n" "RA4UF\n" "RA4UVK\n" "RA4WA\n" "RA4WC\n" "RA4YEW\n" "RA6AAW\n" "RA6ABC\n" "RA6AF\n" "RA6AMO\n" "RA6AQV\n" "RA6AR\n" "RA6ARI\n" "RA6AX\n" "RA6AZ\n" "RA6CU\n" "RA6CZ\n" "RA6DB\n" "RA6DE\n" "RA6DT\n" "RA6EE\n" "RA6FG\n" "RA6FHY\n" "RA6FP\n" "RA6FP/6\n" "RA6FPV\n" "RA6FQL\n" "RA6FRL\n" "RA6FSZ\n" "RA6FUZ\n" "RA6FV\n" "RA6FZ\n" "RA6GW\n" "RA6HCN\n" "RA6HDI\n" "RA6HJA\n" "RA6HJR\n" "RA6HPL\n" "RA6HSM\n" "RA6LBS\n" "RA6LOO\n" "RA6LW\n" "RA6MA\n" "RA6MQ\n" "RA6MS\n" "RA6MT\n" "RA6UAR\n" "RA6UH\n" "RA6XB\n" "RA6XE\n" "RA6XMF\n" "RA6XPG\n" "RA6XQQ\n" "RA6XR\n" "RA6XV\n" "RA6YBW\n" "RA6YDX\n" "RA6YJ\n" "RA7A\n" "RA9A\n" "RA9AAA\n" "RA9AB\n" "RA9AC\n" "RA9ACS\n" "RA9AE\n" "RA9AFZ\n" "RA9AKI\n" "RA9AMO\n" "RA9AN\n" "RA9AP\n" "RA9AU\n" "RA9AY\n" "RA9CB\n" "RA9CCO\n" "RA9CDW\n" "RA9CEX\n" "RA9CIN\n" "RA9CKM\n" "RA9CKQ\n" "RA9CMO\n" "RA9CNF\n" "RA9DR\n" "RA9DZ\n" "RA9FAA\n" "RA9FEL\n" "RA9FEU\n" "RA9FHL\n" "RA9FLW\n" "RA9FN\n" "RA9FR\n" "RA9FW\n" "RA9HL\n" "RA9HM\n" "RA9HO\n" "RA9JB\n" "RA9JBA\n" "RA9JG\n" "RA9JM\n" "RA9JP\n" "RA9JR\n" "RA9KM\n" "RA9KY\n" "RA9LE\n" "RA9LT\n" "RA9LZ\n" "RA9MC\n" "RA9MGX\n" "RA9MJ\n" "RA9MLR\n" "RA9MLX\n" "RA9MU\n" "RA9MX\n" "RA9OBG\n" "RA9QBQ\n" "RA9RR\n" "RA9SAS\n" "RA9SB\n" "RA9SC\n" "RA9SF\n" "RA9SG\n" "RA9SK\n" "RA9SKL\n" "RA9SN\n" "RA9SPF\n" "RA9ST\n" "RA9SUF\n" "RA9UAD\n" "RA9UAG\n" "RA9UGU\n" "RA9UIV/9\n" "RA9ULK\n" "RA9UN\n" "RA9USU/3\n" "RA9UT\n" "RA9WD\n" "RA9WU\n" "RA9WV\n" "RA9WW\n" "RA9XE\n" "RA9XF\n" "RA9XSL\n" "RA9XU\n" "RA9XV\n" "RA9YAI\n" "RA9YN\n" "RC3W\n" "RC4AA\n" "RC4Q\n" "RC7F\n" "RC8I\n" "RC9F\n" "RC9JWR\n" "RC9O\n" "RD0C\n" "RD1AL\n" "RD1AN\n" "RD1AW\n" "RD3A\n" "RD3AAD\n" "RD3AB\n" "RD3ABN\n" "RD3AD\n" "RD3AF\n" "RD3AJB\n" "RD3AL\n" "RD3AN\n" "RD3AP\n" "RD3ATT\n" "RD3AW\n" "RD3AY\n" "RD3BE\n" "RD3BV\n" "RD3BW\n" "RD3BY\n" "RD3BZ\n" "RD3DD\n" "RD3DG\n" "RD3DS\n" "RD3DT\n" "RD3DY\n" "RD3FF\n" "RD3FI\n" "RD3FT\n" "RD3FX\n" "RD3FY\n" "RD3MA\n" "RD3MM\n" "RD3MR\n" "RD3PM\n" "RD3PO\n" "RD3PX\n" "RD3QX\n" "RD3WA\n" "RD3WAR\n" "RD3WF\n" "RD3ZC\n" "RD3ZF\n" "RD3ZW\n" "RD4HD\n" "RD4HF\n" "RD4WA\n" "RD4WM\n" "RD6LP\n" "RD6MA\n" "RD6MF\n" "RD9CX\n" "RF3C\n" "RF3P\n" "RF3T\n" "RF4M\n" "RF4N\n" "RF4S\n" "RF9M\n" "RF9W\n" "RG3K\n" "RG6G\n" "RG9A\n" "RJ3AA\n" "RJ3AM\n" "RK0AB\n" "RK0BWW/0\n" "RK0LWW\n" "RK0QWT\n" "RK0QZ\n" "RK0SA\n" "RK0SK\n" "RK0SP\n" "RK0SXF\n" "RK0SXR\n" "RK0UN\n" "RK0UT\n" "RK1AA\n" "RK1AD\n" "RK1AM\n" "RK1AO\n" "RK1AR\n" "RK1AX\n" "RK1NA\n" "RK1NWA\n" "RK1OWA\n" "RK1OWZ\n" "RK1OZM\n" "RK1PWA/3\n" "RK1QWX\n" "RK2FWA\n" "RK2FWN\n" "RK2FXG\n" "RK3ANL\n" "RK3AO\n" "RK3AQW\n" "RK3AWA\n" "RK3AWE\n" "RK3AWK\n" "RK3AWL\n" "RK3AX\n" "RK3BA\n" "RK3BX\n" "RK3DH\n" "RK3DK\n" "RK3DOJ\n" "RK3DS\n" "RK3DSW\n" "RK3DT\n" "RK3DU\n" "RK3DWH\n" "RK3DWR\n" "RK3DXS\n" "RK3DXW\n" "RK3DXZ\n" "RK3DZB\n" "RK3DZD/P\n" "RK3DZF\n" "RK3DZH\n" "RK3ER\n" "RK3EWW\n" "RK3EXA\n" "RK3FJ\n" "RK3FM\n" "RK3FQ\n" "RK3FWA\n" "RK3FWE\n" "RK3FWI\n" "RK3FY\n" "RK3GWW\n" "RK3GYM\n" "RK3IM\n" "RK3IWB\n" "RK3K\n" "RK3MWC\n" "RK3MWD\n" "RK3MWI\n" "RK3MWL\n" "RK3MXT\n" "RK3MXT/P\n" "RK3PA\n" "RK3PWJ\n" "RK3QS\n" "RK3QWA\n" "RK3QWM\n" "RK3QWW\n" "RK3QY\n" "RK3QZ\n" "RK3RB\n" "RK3RWA\n" "RK3RX\n" "RK3RZM\n" "RK3SWB\n" "RK3SWS\n" "RK3TD\n" "RK3TS\n" "RK3VWA\n" "RK3VWB\n" "RK3XWO\n" "RK3YWW\n" "RK3YYQ\n" "RK3YZA\n" "RK3ZB\n" "RK3ZF\n" "RK3ZZ\n" "RK4CWQ\n" "RK4CYW\n" "RK4FAD\n" "RK4FB\n" "RK4FF\n" "RK4FM\n" "RK4FWX\n" "RK4HWW\n" "RK4HYT\n" "RK4LWA\n" "RK4NA\n" "RK4NAB\n" "RK4PA\n" "RK4PB\n" "RK4PK\n" "RK4SA\n" "RK4UWA\n" "RK4UWR\n" "RK4WWA\n" "RK4WWF\n" "RK4WWQ\n" "RK4YJ\n" "RK6AM\n" "RK6AQM\n" "RK6ASY\n" "RK6AWY\n" "RK6AX\n" "RK6AXS\n" "RK6BBZ\n" "RK6CC\n" "RK6CK\n" "RK6CM\n" "RK6DL\n" "RK6FS\n" "RK6FZ\n" "RK6HG\n" "RK6HWR\n" "RK6HWW\n" "RK6LC\n" "RK6LP\n" "RK6LWA\n" "RK6LZF\n" "RK6MY\n" "RK6XWA\n" "RK6YD\n" "RK6YY\n" "RK6YZZ\n" "RK8I\n" "RK9AA\n" "RK9ABJ\n" "RK9AD\n" "RK9AJZ\n" "RK9AK\n" "RK9AN\n" "RK9AWC\n" "RK9AWN\n" "RK9AWT\n" "RK9AX\n" "RK9AY\n" "RK9CWA\n" "RK9CWW\n" "RK9CYA\n" "RK9CZO\n" "RK9DC\n" "RK9DM\n" "RK9DO\n" "RK9DR\n" "RK9FBE\n" "RK9FWW\n" "RK9FYS\n" "RK9JWR\n" "RK9JWV\n" "RK9JWW\n" "RK9JXP\n" "RK9KWI\n" "RK9KWK\n" "RK9MWL\n" "RK9QWM\n" "RK9QWZ\n" "RK9SWM\n" "RK9SWY\n" "RK9UAC\n" "RK9UAH\n" "RK9UC\n" "RK9UE\n" "RK9UN\n" "RK9WZZ\n" "RK9XA\n" "RK9XM\n" "RK9XWA\n" "RK9XWO\n" "RK9XX\n" "RK9XXX\n" "RK9XZB\n" "RK9YWE\n" "RK9YWK\n" "RL3A\n" "RL3AA\n" "RL3AB\n" "RL3AF\n" "RL3AJ\n" "RL3AW\n" "RL3BB\n" "RL3BK\n" "RL3BK/3\n" "RL3BM\n" "RL3BN\n" "RL3BZ\n" "RL3DD\n" "RL3DE\n" "RL3DF\n" "RL3DJ\n" "RL3DR\n" "RL3DX\n" "RL3DZ\n" "RL3F\n" "RL3FA\n" "RL3FM\n" "RL3FO\n" "RL3FT\n" "RL3FZ\n" "RL3KO\n" "RL3QWA\n" "RL3WL\n" "RL3WX\n" "RL3ZI\n" "RL4R\n" "RL6YXX\n" "RL9AA\n" "RM3F\n" "RM3M\n" "RM3Q\n" "RM3Z\n" "RM4HZ\n" "RM5A\n" "RM5D\n" "RM7M\n" "RM8W\n" "RM9RZ\n" "RN0CF\n" "RN0CT\n" "RN0CW\n" "RN0JJ\n" "RN0JX\n" "RN0SA\n" "RN0SRR\n" "RN0SS\n" "RN1AI\n" "RN1AJ\n" "RN1AN\n" "RN1AO\n" "RN1AQ\n" "RN1CC\n" "RN1CW\n" "RN1CX\n" "RN1NA\n" "RN1NEB\n" "RN1NEO\n" "RN1NU\n" "RN1NW\n" "RN1NY\n" "RN1ON\n" "RN1TA\n" "RN1TN\n" "RN2FA\n" "RN2FQ\n" "RN3AAB\n" "RN3AAB/3\n" "RN3AC\n" "RN3ADV\n" "RN3AHL\n" "RN3AKK\n" "RN3AM\n" "RN3AMF\n" "RN3ANT\n" "RN3ARA\n" "RN3AU\n" "RN3AU/3\n" "RN3AW\n" "RN3AZ\n" "RN3BO\n" "RN3BU\n" "RN3BW\n" "RN3CT\n" "RN3DAO\n" "RN3DAZ\n" "RN3DBA\n" "RN3DDR\n" "RN3DFN\n" "RN3DFS\n" "RN3DKE\n" "RN3DWW\n" "RN3DY\n" "RN3FA\n" "RN3FR\n" "RN3FS\n" "RN3FY\n" "RN3GA\n" "RN3GE\n" "RN3GL\n" "RN3GM\n" "RN3KK\n" "RN3KL\n" "RN3LA\n" "RN3OA\n" "RN3OK\n" "RN3QIS\n" "RN3QKC\n" "RN3QLM\n" "RN3QN\n" "RN3QO\n" "RN3QP\n" "RN3QQ\n" "RN3QVG\n" "RN3QY\n" "RN3RA\n" "RN3REA\n" "RN3REY\n" "RN3RF\n" "RN3RFX\n" "RN3RQ\n" "RN3RX\n" "RN3T\n" "RN3TT\n" "RN3ZC\n" "RN3ZHV\n" "RN3ZIC\n" "RN3ZIN\n" "RN3ZJJ\n" "RN3ZKD\n" "RN3ZOB\n" "RN3ZQ\n" "RN3ZR\n" "RN3ZRJ\n" "RN3ZX\n" "RN4AAD\n" "RN4ACX\n" "RN4AK\n" "RN4AO\n" "RN4AT\n" "RN4AX\n" "RN4CA\n" "RN4CC\n" "RN4CU\n" "RN4CU/0\n" "RN4HA\n" "RN4HAB\n" "RN4HFJ\n" "RN4HGP\n" "RN4HIF\n" "RN4HJQ\n" "RN4HW\n" "RN4LL\n" "RN4LP\n" "RN4LR\n" "RN4NF\n" "RN4SC\n" "RN4SM\n" "RN4SN\n" "RN4SS\n" "RN4WA\n" "RN4ZT\n" "RN6A\n" "RN6AH\n" "RN6AI\n" "RN6AJ\n" "RN6AT\n" "RN6BM\n" "RN6BY\n" "RN6CD\n" "RN6DJ\n" "RN6DR\n" "RN6DV\n" "RN6FA\n" "RN6FJ\n" "RN6FK\n" "RN6FM\n" "RN6FZ\n" "RN6HDX\n" "RN6HZ\n" "RN6MA\n" "RN7A\n" "RN7F\n" "RN9AA\n" "RN9AA/9\n" "RN9AUF\n" "RN9AWU\n" "RN9CM\n" "RN9CWJ\n" "RN9HM\n" "RN9HT\n" "RN9MA\n" "RN9MZ\n" "RN9RF\n" "RN9RM\n" "RN9S\n" "RN9SXX\n" "RN9XA\n" "RO3DX\n" "RO3T\n" "RO4W\n" "RO7M\n" "RO8WA\n" "RO9O\n" "RP2F\n" "RP3AF\n" "RP3G\n" "RP3QUP\n" "RP4M\n" "RP65DXS\n" "RP65Z\n" "RP6A\n" "RP9RP\n" "RQ9I\n" "RS3A\n" "RT0C\n" "RT3A\n" "RT3F\n" "RT3M\n" "RT3T\n" "RT4D\n" "RT4F\n" "RT4M\n" "RT4RO\n" "RT4W\n" "RT6A\n" "RT7D\n" "RT8O\n" "RT9S\n" "RT9W\n" "RU0AB\n" "RU0AE\n" "RU0AI\n" "RU0AKB\n" "RU0ANW\n" "RU0AT\n" "RU0AW\n" "RU0LI\n" "RU0LL\n" "RU0LQ\n" "RU0SN\n" "RU0ST\n" "RU0SU\n" "RU0UA\n" "RU0UQ\n" "RU1A\n" "RU1AA\n" "RU1AB\n" "RU1AO\n" "RU1AT\n" "RU1QD\n" "RU1QQ\n" "RU1QY\n" "RU2FAA\n" "RU2FL\n" "RU2FM\n" "RU3AA\n" "RU3AL\n" "RU3AT\n" "RU3BU\n" "RU3DBR\n" "RU3DD\n" "RU3DG\n" "RU3DM\n" "RU3DU\n" "RU3DVR\n" "RU3DX\n" "RU3EJ\n" "RU3EQ\n" "RU3FF\n" "RU3FF/6\n" "RU3FN\n" "RU3FT\n" "RU3GA\n" "RU3GS\n" "RU3HD\n" "RU3KC\n" "RU3LA\n" "RU3MJ\n" "RU3MW\n" "RU3ON\n" "RU3OO\n" "RU3OP\n" "RU3OW\n" "RU3PU\n" "RU3PY\n" "RU3QR\n" "RU3QW\n" "RU3RM\n" "RU3RR\n" "RU3SD\n" "RU3SE\n" "RU3ST\n" "RU3TC\n" "RU3UB\n" "RU3UM\n" "RU3UN\n" "RU3UR\n" "RU3UW\n" "RU3VD\n" "RU3VV\n" "RU3WR\n" "RU3XB\n" "RU3XF\n" "RU3XK\n" "RU3XW\n" "RU3XY\n" "RU3XY/1\n" "RU3YA\n" "RU3ZV\n" "RU3ZX\n" "RU4AW\n" "RU4CD\n" "RU4CO\n" "RU4CS\n" "RU4FA\n" "RU4HP\n" "RU4HU\n" "RU4LM\n" "RU4PU\n" "RU4SM\n" "RU4SO\n" "RU4SS\n" "RU4SU\n" "RU4SW\n" "RU4UR\n" "RU4WD\n" "RU4YES\n" "RU5A\n" "RU6AM\n" "RU6AN\n" "RU6AR\n" "RU6AV\n" "RU6AX\n" "RU6BR\n" "RU6CH\n" "RU6CQ\n" "RU6CT\n" "RU6DX\n" "RU6FA\n" "RU6FC\n" "RU6FZ\n" "RU6HJ\n" "RU6LA\n" "RU6LG\n" "RU6LWZ\n" "RU6M\n" "RU6MD\n" "RU6MM/1\n" "RU6UR\n" "RU6YJ\n" "RU6YK\n" "RU6YY\n" "RU6YZ\n" "RU9AC\n" "RU9AT\n" "RU9AWA\n" "RU9AZ\n" "RU9BS\n" "RU9CC\n" "RU9CD\n" "RU9CI\n" "RU9CK\n" "RU9CM\n" "RU9CO\n" "RU9CWF\n" "RU9CWG\n" "RU9CX\n" "RU9CY\n" "RU9CZ\n" "RU9CZD\n" "RU9DD\n" "RU9HM\n" "RU9LA\n" "RU9MU\n" "RU9MX\n" "RU9SO\n" "RU9TO\n" "RU9UC\n" "RU9UG\n" "RU9UN\n" "RU9UWU\n" "RU9WB\n" "RU9WX\n" "RU9WZ\n" "RU9YF\n" "RV0AE\n" "RV0AL\n" "RV0AR\n" "RV0AU\n" "RV0AUI\n" "RV0CD\n" "RV0SR\n" "RV1AC\n" "RV1AE\n" "RV1AP\n" "RV1AQ\n" "RV1AT\n" "RV1CB\n" "RV1CC\n" "RV1OO\n" "RV2FW/1\n" "RV2FZ\n" "RV3ACA/3\n" "RV3AMV\n" "RV3AQN\n" "RV3ATS\n" "RV3AZ\n" "RV3BQ\n" "RV3BV\n" "RV3DB\n" "RV3DBG\n" "RV3DBK\n" "RV3DCZ\n" "RV3DHC\n" "RV3DND\n" "RV3DUT\n" "RV3EAK\n" "RV3F\n" "RV3FD\n" "RV3FF\n" "RV3FI\n" "RV3FM\n" "RV3FN\n" "RV3FU\n" "RV3GM\n" "RV3IC\n" "RV3ID\n" "RV3IG\n" "RV3LE\n" "RV3LO\n" "RV3LU\n" "RV3MA\n" "RV3MF\n" "RV3MI\n" "RV3ML\n" "RV3MR\n" "RV3NA\n" "RV3NB\n" "RV3PN\n" "RV3QJ\n" "RV3QO\n" "RV3QR\n" "RV3QX\n" "RV3RM\n" "RV3TG\n" "RV3WD\n" "RV3WT\n" "RV3YM\n" "RV3YN\n" "RV3YR\n" "RV3ZL\n" "RV3ZN\n" "RV3ZQ\n" "RV4AB\n" "RV4AP\n" "RV4CO\n" "RV4CT\n" "RV4CU\n" "RV4HC\n" "RV4HL\n" "RV4HV\n" "RV4LC\n" "RV4LS\n" "RV6AA/P\n" "RV6AAA\n" "RV6ACC\n" "RV6AF\n" "RV6AJ\n" "RV6AJJ\n" "RV6ALI\n" "RV6ARS\n" "RV6ASU\n" "RV6BC\n" "RV6BK\n" "RV6BO\n" "RV6FA\n" "RV6FG\n" "RV6HEO\n" "RV6HO\n" "RV6LA\n" "RV6LAF\n" "RV6LCI\n" "RV6LFE\n" "RV6LJK\n" "RV6LN\n" "RV6LO\n" "RV6LX\n" "RV6YB\n" "RV9AV\n" "RV9AZ\n" "RV9CBW\n" "RV9CM\n" "RV9CP\n" "RV9CPZ\n" "RV9CQ\n" "RV9CX\n" "RV9FQ\n" "RV9FT\n" "RV9JE\n" "RV9JR\n" "RV9LF\n" "RV9LM\n" "RV9LV\n" "RV9MA\n" "RV9MM\n" "RV9MN\n" "RV9MZ\n" "RV9OM\n" "RV9SQ\n" "RV9SV\n" "RV9UB\n" "RV9UD\n" "RV9UF\n" "RV9UP\n" "RV9WA\n" "RV9WB\n" "RV9WJ\n" "RV9WP\n" "RV9WZ\n" "RV9WZ/2\n" "RV9XE\n" "RV9XM\n" "RV9XO\n" "RV9XQ\n" "RV9YK\n" "RV9YP\n" "RV9YW\n" "RV9YZ\n" "RV9YZ/9\n" "RW0A\n" "RW0AA\n" "RW0AJ\n" "RW0AQ\n" "RW0AR\n" "RW0BG\n" "RW0BM\n" "RW0CF\n" "RW0CN\n" "RW0COA\n" "RW0CR\n" "RW0CV\n" "RW0CWA\n" "RW0LBM\n" "RW0LD\n" "RW0LL\n" "RW0LQ\n" "RW0LT\n" "RW0LZ\n" "RW0MM\n" "RW0SD\n" "RW0SP\n" "RW0SR\n" "RW0UB\n" "RW0UM\n" "RW0UU\n" "RW1AC\n" "RW1AI\n" "RW1AM\n" "RW1AU\n" "RW1CW\n" "RW1CX\n" "RW1QV\n" "RW1ZA\n" "RW2F\n" "RW2L\n" "RW2WR\n" "RW3AF\n" "RW3AFY\n" "RW3AI\n" "RW3DA\n" "RW3DC\n" "RW3DD\n" "RW3DF\n" "RW3DL\n" "RW3DOX\n" "RW3DU\n" "RW3DW\n" "RW3DY\n" "RW3FX\n" "RW3GU\n" "RW3LB\n" "RW3LL\n" "RW3LX\n" "RW3MA\n" "RW3MB\n" "RW3MW\n" "RW3PF\n" "RW3PK\n" "RW3PX\n" "RW3PZ\n" "RW3QF\n" "RW3QHN\n" "RW3QO\n" "RW3QW\n" "RW3RM\n" "RW3RQ\n" "RW3SB\n" "RW3SK\n" "RW3SU\n" "RW3SY\n" "RW3TA\n" "RW3TT\n" "RW3VA\n" "RW3VI\n" "RW3VM\n" "RW3VZ\n" "RW3WWW/1\n" "RW3WX\n" "RW3XB\n" "RW3XM\n" "RW3XN\n" "RW3XS\n" "RW3XX\n" "RW3XZ\n" "RW3YA\n" "RW3YW\n" "RW3ZA\n" "RW3ZC\n" "RW4AA/9\n" "RW4AD\n" "RW4AO\n" "RW4CBG\n" "RW4CHD\n" "RW4CLF\n" "RW4CY\n" "RW4FD\n" "RW4FE\n" "RW4FX\n" "RW4HB\n" "RW4HBG\n" "RW4HD\n" "RW4HFH\n" "RW4HM\n" "RW4HM/P\n" "RW4HO\n" "RW4HP\n" "RW4HT\n" "RW4LK\n" "RW4LQ\n" "RW4NH\n" "RW4NN\n" "RW4NO\n" "RW4NQ\n" "RW4NX\n" "RW4PK\n" "RW4PL\n" "RW4PP\n" "RW4PU\n" "RW4PY\n" "RW4W\n" "RW4WM\n" "RW4WN\n" "RW4WW\n" "RW4WY\n" "RW4WZ\n" "RW4YR\n" "RW4YY\n" "RW6AF\n" "RW6AH\n" "RW6AHO\n" "RW6ALB\n" "RW6AM\n" "RW6AMP\n" "RW6AN\n" "RW6ATJ\n" "RW6AX\n" "RW6BD\n" "RW6BJ\n" "RW6BN\n" "RW6CF\n" "RW6CR\n" "RW6CW\n" "RW6FO\n" "RW6FZ\n" "RW6HA\n" "RW6HA/6\n" "RW6HJV\n" "RW6HJV/6\n" "RW6HKF\n" "RW6HP\n" "RW6HPD\n" "RW6HX\n" "RW6LP\n" "RW6MBC\n" "RW6MII\n" "RW6MN\n" "RW6MT\n" "RW9AW\n" "RW9C\n" "RW9CD\n" "RW9CW\n" "RW9DW\n" "RW9DX\n" "RW9FWR\n" "RW9HA\n" "RW9IM\n" "RW9JD\n" "RW9JE\n" "RW9JZ\n" "RW9LL\n" "RW9MC\n" "RW9MZ\n" "RW9OC\n" "RW9OW\n" "RW9OWD\n" "RW9OWW\n" "RW9OX\n" "RW9QA\n" "RW9RA\n" "RW9RN\n" "RW9RO\n" "RW9RW\n" "RW9SZ\n" "RW9TA\n" "RW9TP\n" "RW9TR\n" "RW9UKU\n" "RW9UOB\n" "RW9USA\n" "RW9UU\n" "RW9UW\n" "RW9UX\n" "RW9UY\n" "RW9WA\n" "RW9WC\n" "RW9WT\n" "RW9WW\n" "RW9XF\n" "RW9YP\n" "RX0AK\n" "RX0AT\n" "RX0AW\n" "RX0QA\n" "RX0QWW\n" "RX0SA\n" "RX1AA\n" "RX1AO\n" "RX1AP\n" "RX1CD\n" "RX1CQ\n" "RX3AA\n" "RX3AEX\n" "RX3AGD\n" "RX3AGQ\n" "RX3AHR\n" "RX3AJ\n" "RX3ALL\n" "RX3AMG\n" "RX3AP\n" "RX3APM\n" "RX3ASQ\n" "RX3AT\n" "RX3AU\n" "RX3AW\n" "RX3BP\n" "RX3DBG\n" "RX3DBH\n" "RX3DFL\n" "RX3DIS\n" "RX3DN\n" "RX3DTM\n" "RX3DTN\n" "RX3DUE\n" "RX3FK\n" "RX3FS\n" "RX3FS/3\n" "RX3FT\n" "RX3MA\n" "RX3MM\n" "RX3MX\n" "RX3OM\n" "RX3PR\n" "RX3QDF\n" "RX3QFY\n" "RX3QP\n" "RX3RA\n" "RX3RB\n" "RX3RZ\n" "RX3VA\n" "RX3VF\n" "RX3XA\n" "RX3XP\n" "RX3ZE\n" "RX3ZX\n" "RX4AW\n" "RX4CD\n" "RX4HX\n" "RX4HZ\n" "RX4HZZ\n" "RX4WX\n" "RX4YY\n" "RX6ABL\n" "RX6AH\n" "RX6AIC\n" "RX6AKA\n" "RX6AM\n" "RX6AMV\n" "RX6AOB\n" "RX6AUE\n" "RX6AY\n" "RX6BH\n" "RX6BS\n" "RX6BZ\n" "RX6CC\n" "RX6DM\n" "RX6DQ\n" "RX6DX\n" "RX6FJ\n" "RX6HT\n" "RX6LD\n" "RX6LE\n" "RX6LN\n" "RX6LOL\n" "RX6MR\n" "RX9AF\n" "RX9AI\n" "RX9AM\n" "RX9AON\n" "RX9AX\n" "RX9CAZ\n" "RX9CCJ\n" "RX9CDQ\n" "RX9CJ\n" "RX9DJ\n" "RX9FB\n" "RX9FG\n" "RX9FJ\n" "RX9FM\n" "RX9FR\n" "RX9FW\n" "RX9JD\n" "RX9JM/9\n" "RX9JP\n" "RX9KD\n" "RX9LW\n" "RX9SA\n" "RX9SK\n" "RX9SL\n" "RX9SN\n" "RX9SR\n" "RX9SS\n" "RX9TL\n" "RX9TL/9\n" "RX9TX\n" "RX9UL/3\n" "RX9WN\n" "RX9WR\n" "RX9WX\n" "RY4I\n" "RY9C\n" "RZ0AF\n" "RZ0AM\n" "RZ0AWO\n" "RZ0CQ\n" "RZ0CWN\n" "RZ0LWA\n" "RZ0SB\n" "RZ0SN\n" "RZ0SO\n" "RZ0SR\n" "RZ0SZZ\n" "RZ0WWA\n" "RZ1AP\n" "RZ1AT\n" "RZ1AU\n" "RZ1AWG\n" "RZ1AWO\n" "RZ1AWT\n" "RZ1AWZ\n" "RZ1AZ\n" "RZ1OA\n" "RZ1OK\n" "RZ1OM\n" "RZ1ZZ\n" "RZ1ZZZ\n" "RZ3AAO\n" "RZ3ABC\n" "RZ3ABF\n" "RZ3AIA\n" "RZ3AIU\n" "RZ3AM\n" "RZ3AMW\n" "RZ3ARO\n" "RZ3ATE\n" "RZ3ATG\n" "RZ3AUL\n" "RZ3AV\n" "RZ3AWI\n" "RZ3AWM/3\n" "RZ3AXX\n" "RZ3AZ\n" "RZ3BY\n" "RZ3DA\n" "RZ3DC\n" "RZ3DH\n" "RZ3DJ\n" "RZ3DSN\n" "RZ3DX\n" "RZ3DXR\n" "RZ3DZ\n" "RZ3DZA\n" "RZ3DZF\n" "RZ3DZI\n" "RZ3EC\n" "RZ3EE\n" "RZ3EM\n" "RZ3EV\n" "RZ3FH\n" "RZ3FR\n" "RZ3FR/3\n" "RZ3FW\n" "RZ3GU\n" "RZ3GV\n" "RZ3LC\n" "RZ3LWW\n" "RZ3OV\n" "RZ3PS\n" "RZ3QL\n" "RZ3QS\n" "RZ3QWT\n" "RZ3QZ\n" "RZ3RM\n" "RZ3TXZ\n" "RZ3TZL\n" "RZ3TZZ\n" "RZ3VA\n" "RZ3VO\n" "RZ3VV\n" "RZ3XA\n" "RZ4AA\n" "RZ4AG\n" "RZ4AO\n" "RZ4AR\n" "RZ4AYN\n" "RZ4AZ\n" "RZ4CWW\n" "RZ4FA\n" "RZ4FB\n" "RZ4FO\n" "RZ4FWA\n" "RZ4FWE\n" "RZ4FZZ\n" "RZ4HL\n" "RZ4HO\n" "RZ4HWS\n" "RZ4HX\n" "RZ4HZW\n" "RZ4LA\n" "RZ4NXF\n" "RZ4PWL\n" "RZ4SWM\n" "RZ4WZ\n" "RZ6AD\n" "RZ6AK\n" "RZ6ARM\n" "RZ6AW\n" "RZ6BR\n" "RZ6BU\n" "RZ6FA\n" "RZ6FC\n" "RZ6HDX\n" "RZ6HF\n" "RZ6HV\n" "RZ6HWA\n" "RZ6HX\n" "RZ6LB\n" "RZ6LG\n" "RZ6LV\n" "RZ6LWZ\n" "RZ6LY\n" "RZ6MD\n" "RZ6MM\n" "RZ6MP\n" "RZ6YZ\n" "RZ9AE\n" "RZ9AN\n" "RZ9AW\n" "RZ9AY\n" "RZ9AZ\n" "RZ9CJ\n" "RZ9CW\n" "RZ9FN\n" "RZ9HA\n" "RZ9HG\n" "RZ9HK\n" "RZ9HT\n" "RZ9IR\n" "RZ9OJ\n" "RZ9OO\n" "RZ9OP\n" "RZ9OQ\n" "RZ9OS\n" "RZ9OW\n" "RZ9OWN\n" "RZ9OZO\n" "RZ9SR\n" "RZ9SWA\n" "RZ9SZ/9\n" "RZ9UGN\n" "RZ9UI\n" "RZ9UMA\n" "RZ9UO\n" "RZ9UWZ\n" "RZ9WU\n" "RZ9WXK\n" "RZ9YB\n" "RZ9YF\n" "S50A\n" "S50AL\n" "S50B\n" "S50C\n" "S50D\n" "S50E\n" "S50G\n" "S50HQ\n" "S50IPY\n" "S50J\n" "S50K\n" "S50L\n" "S50NV\n" "S50O\n" "S50R\n" "S50U\n" "S50X\n" "S50XX\n" "S51A\n" "S51AD\n" "S51AE\n" "S51AU\n" "S51AY\n" "S51BO\n" "S51CAB\n" "S51CK\n" "S51D\n" "S51DF\n" "S51DI\n" "S51DV\n" "S51DX\n" "S51EC\n" "S51EP\n" "S51F\n" "S51FB\n" "S51HU\n" "S51IS\n" "S51IV\n" "S51J\n" "S51JQ\n" "S51K\n" "S51KV\n" "S51LU\n" "S51M\n" "S51MA\n" "S51ME\n" "S51MF\n" "S51NM\n" "S51NP\n" "S51NR\n" "S51NY\n" "S51NZ\n" "S51OE\n" "S51RE\n" "S51RJ\n" "S51RU\n" "S51SK\n" "S51SL\n" "S51ST\n" "S51SX\n" "S51TA\n" "S51TC\n" "S51TJ\n" "S51TN\n" "S51U\n" "S51UJ\n" "S51V\n" "S51W\n" "S51WO\n" "S51WX\n" "S51XA\n" "S51Z\n" "S51ZG\n" "S51ZZ\n" "S520A\n" "S52AL\n" "S52AU\n" "S52AW\n" "S52BB\n" "S52BM\n" "S52BT\n" "S52C\n" "S52CC\n" "S52DX\n" "S52F\n" "S52FW\n" "S52GO\n" "S52GP\n" "S52IC\n" "S52ID\n" "S52LW\n" "S52MZ\n" "S52OP\n" "S52OT\n" "S52P\n" "S52Q\n" "S52QM\n" "S52R\n" "S52RA\n" "S52ST\n" "S52TJ\n" "S52W\n" "S52WW\n" "S52X\n" "S52ZW\n" "S53A\n" "S53AF\n" "S53AK\n" "S53APR\n" "S53AR\n" "S53AU\n" "S53BB\n" "S53BH\n" "S53CC\n" "S53DA\n" "S53DIJ\n" "S53DRA\n" "S53DX\n" "S53EA\n" "S53EJ\n" "S53EO\n" "S53F\n" "S53FO\n" "S53G\n" "S53M\n" "S53MM\n" "S53NW\n" "S53O\n" "S53P\n" "S53QD\n" "S53R\n" "S53RA\n" "S53S\n" "S53SL\n" "S53SO\n" "S53V\n" "S53VP\n" "S53W\n" "S53XX\n" "S54A\n" "S54AA\n" "S54AO\n" "S54E\n" "S54G\n" "S54K\n" "S54L\n" "S54O\n" "S54W\n" "S54X\n" "S55A\n" "S55DX\n" "S55M\n" "S55N\n" "S55O\n" "S55OO\n" "S55SL\n" "S55T\n" "S55VM\n" "S55Y\n" "S55Z\n" "S55ZZ\n" "S56A\n" "S56AA\n" "S56B\n" "S56C\n" "S56DX\n" "S56EPX\n" "S56G\n" "S56IHX\n" "S56M\n" "S56P\n" "S56PYZ\n" "S56SD\n" "S56WPF\n" "S56WRT\n" "S56WYB\n" "S56X\n" "S56Y\n" "S56ZZZ\n" "S57A\n" "S57AC\n" "S57AD\n" "S57AJ\n" "S57AL\n" "S57AM\n" "S57AT\n" "S57AW\n" "S57AY\n" "S57C\n" "S57CV\n" "S57CW\n" "S57D\n" "S57DX\n" "S57EA\n" "S57ESG\n" "S57ET\n" "S57F\n" "S57GM\n" "S57J\n" "S57JA\n" "S57JZ\n" "S57KV\n" "S57L\n" "S57LC\n" "S57LR\n" "S57M\n" "S57MM\n" "S57MPU\n" "S57NAW\n" "S57NCP\n" "S57NEA\n" "S57NL\n" "S57NTR\n" "S57NW\n" "S57O\n" "S57OWA\n" "S57PM\n" "S57PY\n" "S57Q\n" "S57RL\n" "S57RTH\n" "S57S\n" "S57SU\n" "S57T\n" "S57U\n" "S57UN\n" "S57VW\n" "S57WJ\n" "S57WO\n" "S57WW\n" "S57X\n" "S57XX\n" "S57YX\n" "S57Z\n" "S58A\n" "S58AA\n" "S58AB\n" "S58AL\n" "S58AW\n" "S58D\n" "S58DX\n" "S58FA\n" "S58G\n" "S58J\n" "S58M\n" "S58MU\n" "S58N\n" "S58O\n" "S58P\n" "S58Q\n" "S58R\n" "S58RU\n" "S58T\n" "S58WW\n" "S58X\n" "S59A\n" "S59AA\n" "S59ABC\n" "S59AKR\n" "S59AR\n" "S59AV\n" "S59D\n" "S59DBC\n" "S59DDR\n" "S59DEM\n" "S59DJK\n" "S59DKR\n" "S59DR\n" "S59EIJ\n" "S59EKL\n" "S59H\n" "S59KB\n" "S59KM\n" "S59MA\n" "S59N\n" "S59O\n" "S59PC\n" "S59SV\n" "S59T\n" "S59TI\n" "S59V\n" "S59W\n" "S59X\n" "S59Z\n" "S59ZB\n" "S59ZZ\n" "S5D\n" "S79MI\n" "SA0AEK\n" "SA0AQT\n" "SA0BDK\n" "SA1A\n" "SA3A\n" "SA3ANZ\n" "SA3BGM\n" "SA3V\n" "SA4A\n" "SA4AQW\n" "SA4Z\n" "SA5ACL\n" "SA5ACR\n" "SA5ATV\n" "SA6AIN\n" "SA6AQP\n" "SA6BET\n" "SA6G\n" "SA6W\n" "SA7AOI\n" "SA7AUH\n" "SA7J\n" "SB0M\n" "SB6A\n" "SC3A\n" "SC3DX\n" "SC3N\n" "SC7DX\n" "SD0MN\n" "SD3A\n" "SD3D\n" "SD40JZ\n" "SD7X\n" "SE0X\n" "SE2A\n" "SE2T\n" "SE5E\n" "SE5S\n" "SE5T\n" "SE6C\n" "SE6E\n" "SE6N\n" "SE6U\n" "SE6W\n" "SE6Y\n" "SE7A\n" "SE800M\n" "SF0D\n" "SF0L\n" "SF0X\n" "SF3A\n" "SF3E\n" "SF5X\n" "SF6D\n" "SF6DX\n" "SF7WT\n" "SG0M\n" "SG0X\n" "SG1A\n" "SG3O\n" "SG4G\n" "SG5A\n" "SG5W\n" "SG5X\n" "SG6A\n" "SG6T\n" "SG7A\n" "SG7YL\n" "SH3O\n" "SI0E\n" "SI0M\n" "SI3A\n" "SI4G\n" "SI5S\n" "SI5Y\n" "SI6A\n" "SI6GM\n" "SI6R\n" "SI7V\n" "SI9AM\n" "SJ0X\n" "SJ2W\n" "SJ4F\n" "SJ6A\n" "SJ7M\n" "SK0CT\n" "SK0HB\n" "SK0QO\n" "SK0X\n" "SK2T\n" "SK3A\n" "SK3GM\n" "SK3GW\n" "SK3W\n" "SK4RY\n" "SK4TL\n" "SK5A\n" "SK5AA\n" "SK6AW\n" "SK6D\n" "SK6HD\n" "SK7A\n" "SK7AX\n" "SK7DX\n" "SK7OA\n" "SK9HQ\n" "SL0W\n" "SL5ZP\n" "SM0A\n" "SM0AIG\n" "SM0BDS\n" "SM0BSB\n" "SM0BSO\n" "SM0BYD\n" "SM0DTK\n" "SM0EPO\n" "SM0FM\n" "SM0GYX\n" "SM0IFP\n" "SM0IMJ\n" "SM0JHF\n" "SM0KRN\n" "SM0KV\n" "SM0MXO\n" "SM0NZY\n" "SM0Q\n" "SM0R\n" "SM0S\n" "SM0W\n" "SM0XG\n" "SM0Y\n" "SM0YRJ\n" "SM1ALH\n" "SM2BJS\n" "SM2CEW\n" "SM2CVH\n" "SM2EKA\n" "SM2EKM\n" "SM2ELN\n" "SM2JEB\n" "SM2JUR\n" "SM2LIY\n" "SM2M\n" "SM2MZC\n" "SM2ODB\n" "SM2T\n" "SM3AF\n" "SM3B\n" "SM3BDZ\n" "SM3BFH\n" "SM3BIZ\n" "SM3C\n" "SM3CCM\n" "SM3CZS\n" "SM3D\n" "SM3DMP\n" "SM3DXC\n" "SM3EAE\n" "SM3ETC\n" "SM3EVR\n" "SM3FVW\n" "SM3GBA\n" "SM3GSK\n" "SM3KIF\n" "SM3LBP\n" "SM3NFB\n" "SM3NRY\n" "SM3OKC\n" "SM3PHM\n" "SM3PZG\n" "SM3Q\n" "SM3R\n" "SM3RAB\n" "SM3RL\n" "SM3SJN\n" "SM3TLG\n" "SM3UZU\n" "SM3VAC\n" "SM3X\n" "SM3YBP\n" "SM4AIO\n" "SM4ASX\n" "SM4ATA\n" "SM4AZQ\n" "SM4C\n" "SM4CAN\n" "SM4CTT\n" "SM4EMO\n" "SM4F\n" "SM4OEP\n" "SM4PBT\n" "SM4RGD\n" "SM4RLD\n" "SM4TU\n" "SM4WKT\n" "SM4XFP\n" "SM50BFJ\n" "SM5ACQ\n" "SM5AOG\n" "SM5APS\n" "SM5AQD\n" "SM5AQI\n" "SM5ARL\n" "SM5BAX\n" "SM5BJT\n" "SM5BMB\n" "SM5BOK\n" "SM5BRG\n" "SM5BSB\n" "SM5C\n" "SM5CAK\n" "SM5CBM\n" "SM5CCE\n" "SM5CEU\n" "SM5CIL\n" "SM5CJW\n" "SM5CNQ\n" "SM5COP\n" "SM5CSS\n" "SM5CZQ\n" "SM5D\n" "SM5DD\n" "SM5DFF\n" "SM5DJZ\n" "SM5DKK\n" "SM5DQE\n" "SM5DXR\n" "SM5DXT\n" "SM5DYC\n" "SM5EDX\n" "SM5EFX\n" "SM5EJN\n" "SM5ENX\n" "SM5EPO\n" "SM5FQQ\n" "SM5FUG\n" "SM5GMZ\n" "SM5HPB\n" "SM5IMO\n" "SM5INC\n" "SM5ISM\n" "SM5J\n" "SM5LWC/7\n" "SM5MEK\n" "SM5MX\n" "SM5NVF\n" "SM5OSZ\n" "SM5PEY/5\n" "SM5Q\n" "SM5QU\n" "SM5R\n" "SM5SIK\n" "SM5SRR\n" "SM5T\n" "SM5U\n" "SM5USK\n" "SM5V\n" "SM5YOC\n" "SM5ZBJ\n" "SM6A\n" "SM6AHU\n" "SM6ALF\n" "SM6AOU\n" "SM6BGG\n" "SM6BSK\n" "SM6C\n" "SM6CKU\n" "SM6CMU\n" "SM6CNN\n" "SM6CPY\n" "SM6CRM\n" "SM6CTQ\n" "SM6CUK\n" "SM6CVT\n" "SM6CWK\n" "SM6DER/7\n" "SM6DHU\n" "SM6DLY\n" "SM6E\n" "SM6EQO\n" "SM6FJY\n" "SM6FUD\n" "SM6GKT\n" "SM6GZ\n" "SM6IQD\n" "SM6JCC\n" "SM6JMZ\n" "SM6JWW\n" "SM6LIF\n" "SM6LJU\n" "SM6M\n" "SM6MCW\n" "SM6MIS\n" "SM6MSG\n" "SM6MVE\n" "SM6NET\n" "SM6NJK\n" "SM6NM\n" "SM6NOC\n" "SM6Q\n" "SM6TOL\n" "SM6U\n" "SM6V\n" "SM6VJA/P\n" "SM6VVT\n" "SM6W\n" "SM6WET\n" "SM6WZH\n" "SM6X\n" "SM6XKB\n" "SM6Z\n" "SM7ATL\n" "SM7AWQ\n" "SM7BGE\n" "SM7BHM\n" "SM7BIC\n" "SM7BJW\n" "SM7BQX\n" "SM7BVO\n" "SM7BZV\n" "SM7C\n" "SM7CBS\n" "SM7CIL\n" "SM7CQY\n" "SM7CTJ\n" "SM7CWI\n" "SM7DBN\n" "SM7DLK\n" "SM7DQV\n" "SM7DXQ\n" "SM7E\n" "SM7EH\n" "SM7EHU\n" "SM7GIB\n" "SM7GUY\n" "SM7GVF\n" "SM7HVQ\n" "SM7JKD\n" "SM7JNT\n" "SM7LPY\n" "SM7MPM\n" "SM7N\n" "SM7NGH\n" "SM7PEV\n" "SM7PXS\n" "SM7RPU\n" "SM7S\n" "SM7SJR\n" "SM7TZK\n" "SM7U\n" "SM7UFR\n" "SM7VZJ\n" "SM7VZX\n" "SM7YEA\n" "SM7YGZ\n" "SM7ZDI\n" "SN0HQ\n" "SN120OSP\n" "SN1918PR\n" "SN1A\n" "SN1C\n" "SN1I\n" "SN1J\n" "SN2009EM\n" "SN2B\n" "SN2F\n" "SN2I\n" "SN2J\n" "SN2K\n" "SN2L\n" "SN2M\n" "SN2MTBO\n" "SN2Q\n" "SN2S\n" "SN2U\n" "SN2Y\n" "SN2Z\n" "SN30J\n" "SN3A\n" "SN3B\n" "SN3C\n" "SN3O\n" "SN3Q\n" "SN3R\n" "SN3S\n" "SN3T\n" "SN3X\n" "SN40DVP\n" "SN40K\n" "SN4F\n" "SN4L\n" "SN4W\n" "SN50RS\n" "SN50RS/7\n" "SN50SPP\n" "SN51FBQ\n" "SN5B\n" "SN5E\n" "SN5G\n" "SN5I\n" "SN5J\n" "SN5N\n" "SN5Q\n" "SN5T\n" "SN5Z\n" "SN6C\n" "SN6G\n" "SN6K\n" "SN6Z\n" "SN7C\n" "SN7F\n" "SN7H\n" "SN7O\n" "SN7P\n" "SN7Q\n" "SN7T\n" "SN8B\n" "SN8C\n" "SN8F\n" "SN8J\n" "SN8M\n" "SN8R\n" "SN8W\n" "SN90SW\n" "SN9A\n" "SN9C\n" "SN9D\n" "SN9F\n" "SN9G\n" "SN9I\n" "SN9K\n" "SN9L\n" "SN9M\n" "SN9N\n" "SN9O\n" "SN9P\n" "SN9Q\n" "SN9R\n" "SN9U\n" "SN9V\n" "SN9Y\n" "SN9Z\n" "SO1EKO\n" "SO1TH\n" "SO1WE\n" "SO2D\n" "SO2I\n" "SO2W\n" "SO4M\n" "SO4R\n" "SO5A\n" "SO5S\n" "SO6C\n" "SO6I\n" "SO6V\n" "SO6X\n" "SO70M\n" "SO7O\n" "SO80J\n" "SO8A\n" "SO8B\n" "SO8L\n" "SO8N\n" "SO8O\n" "SO8R\n" "SO8T\n" "SO9A\n" "SO9C\n" "SO9D\n" "SO9G\n" "SO9L\n" "SO9Q\n" "SO9R\n" "SO9S\n" "SP0PZK\n" "SP0ZHG\n" "SP1ADY\n" "SP1AEN\n" "SP1BLE\n" "SP1CQZ\n" "SP1DMD\n" "SP1DPA\n" "SP1EG\n" "SP1F\n" "SP1FFC\n" "SP1GZF\n" "SP1HJK\n" "SP1I\n" "SP1II\n" "SP1JPQ/P\n" "SP1JXJ\n" "SP1KAA\n" "SP1KCJ\n" "SP1KQR\n" "SP1KRF\n" "SP1KV\n" "SP1KZE\n" "SP1MAB\n" "SP1MHZ\n" "SP1MVG\n" "SP1MVL\n" "SP1MWF\n" "SP1MWK\n" "SP1MWN\n" "SP1NQN\n" "SP1NY\n" "SP1O\n" "SP1PWP\n" "SP1QXK\n" "SP1QY\n" "SP1RFC\n" "SP1RKR\n" "SP1RKT\n" "SP1S\n" "SP2010CY\n" "SP2AEK\n" "SP2AJO\n" "SP2ALT\n" "SP2AOB\n" "SP2AQP\n" "SP2AVE\n" "SP2AYC\n" "SP2B\n" "SP2BKX\n" "SP2BLC\n" "SP2BNJ\n" "SP2CYK\n" "SP2DDX\n" "SP2DKI\n" "SP2DMB/3\n" "SP2DNI\n" "SP2DWA\n" "SP2DX\n" "SP2EPV\n" "SP2ESG\n" "SP2EWQ\n" "SP2EXE\n" "SP2EXN\n" "SP2FAP\n" "SP2FAV\n" "SP2FGO\n" "SP2FKE\n" "SP2FOV\n" "SP2FTL\n" "SP2FUD\n" "SP2FWC\n" "SP2GCE\n" "SP2GCJ\n" "SP2GJI\n" "SP2GJV\n" "SP2GLS\n" "SP2GMA\n" "SP2GTJ\n" "SP2GUV\n" "SP2GWH\n" "SP2HMN\n" "SP2HMT\n" "SP2HPD\n" "SP2HPM\n" "SP2HPM/7\n" "SP2HWW\n" "SP2HXY\n" "SP2IKP\n" "SP2ILQ\n" "SP2IU\n" "SP2IW\n" "SP2JGQ\n" "SP2JL\n" "SP2JLR\n" "SP2JMB\n" "SP2KAC\n" "SP2KDS\n" "SP2KPD\n" "SP2KRS\n" "SP2LNW\n" "SP2LQP\n" "SP2LUB\n" "SP2MHC\n" "SP2MKI\n" "SP2MKZ\n" "SP2OVQ\n" "SP2PAQ\n" "SP2PIK\n" "SP2QCU\n" "SP2QCW\n" "SP2QG\n" "SP2QOT\n" "SP2RXG\n" "SP2SGN\n" "SP2SV\n" "SP2SWI\n" "SP2UKB\n" "SP2US\n" "SP2UUU\n" "SP2UV\n" "SP2WGB\n" "SP2WLB\n" "SP2Y\n" "SP2YUV\n" "SP3AGE\n" "SP3AOT\n" "SP3AZO\n" "SP3BGD\n" "SP3BHG\n" "SP3BJK\n" "SP3BQ\n" "SP3BVI\n" "SP3C\n" "SP3CFM\n" "SP3CGK\n" "SP3CJS\n" "SP3CQP\n" "SP3CYY\n" "SP3DIK\n" "SP3DOF\n" "SP3DOI\n" "SP3DRM\n" "SP3DSC\n" "SP3DVG\n" "SP3EPK\n" "SP3EPX\n" "SP3EQE\n" "SP3FHV\n" "SP3FPF\n" "SP3FUK\n" "SP3FYX\n" "SP3FZN\n" "SP3GAX\n" "SP3GEM\n" "SP3GHK\n" "SP3GRQ\n" "SP3GTS\n" "SP3GXH\n" "SP3HBF\n" "SP3HC\n" "SP3HLM\n" "SP3HRN\n" "SP3HZG\n" "SP3IOE\n" "SP3J\n" "SP3JHY\n" "SP3JIA\n" "SP3JUN\n" "SP3KPN\n" "SP3LAU\n" "SP3LD\n" "SP3LGF\n" "SP3LPG\n" "SP3LPR\n" "SP3LWP\n" "SP3LYN\n" "SP3MEY\n" "SP3MGM\n" "SP3MY\n" "SP3NEN\n" "SP3NNH\n" "SP3OCC\n" "SP3OL\n" "SP3PJY\n" "SP3PL\n" "SP3POZ\n" "SP3QYQ\n" "SP3RBG\n" "SP3RNZ\n" "SP3SLO\n" "SP3SLU\n" "SP3SPK\n" "SP3VSE\n" "SP3VT\n" "SP3VZY\n" "SP3WW\n" "SP3XR\n" "SP3YM\n" "SP3ZIR\n" "SP40EIY\n" "SP4AAZ\n" "SP4AVG\n" "SP4AWE\n" "SP4BEU\n" "SP4BOS\n" "SP4BPH\n" "SP4BY\n" "SP4CGJ\n" "SP4CJA\n" "SP4CPB\n" "SP4CQU\n" "SP4CUF\n" "SP4DDS\n" "SP4DEU\n" "SP4DM\n" "SP4DNX\n" "SP4DZT\n" "SP4FMD\n" "SP4GDC\n" "SP4GFG\n" "SP4GHL\n" "SP4GL\n" "SP4ICD\n" "SP4ICP\n" "SP4INT\n" "SP4IRS\n" "SP4JAE\n" "SP4JCP\n" "SP4JCQ\n" "SP4JFR\n" "SP4JTJ\n" "SP4JWR\n" "SP4K\n" "SP4KNA\n" "SP4KSY\n" "SP4LVK\n" "SP4LXC\n" "SP4MPG\n" "SP4MPH\n" "SP4NKJ\n" "SP4NKU\n" "SP4OIC\n" "SP4OIZ\n" "SP4OZ\n" "SP4PBI\n" "SP4SHD\n" "SP4TBM\n" "SP4TKB\n" "SP4TKO\n" "SP4TKR\n" "SP4TXI\n" "SP4XQN\n" "SP4YPB\n" "SP4Z\n" "SP50AAZ\n" "SP50DXC\n" "SP50XR\n" "SP5ADX\n" "SP5AGU\n" "SP5AHR\n" "SP5AHY\n" "SP5AKG\n" "SP5APW\n" "SP5ATO\n" "SP5AUY\n" "SP5AZN\n" "SP5BB\n" "SP5BLI\n" "SP5BMU\n" "SP5BNB\n" "SP5BR\n" "SP5BUJ\n" "SP5CCC\n" "SP5CFD\n" "SP5CGN\n" "SP5CIB\n" "SP5CJQ\n" "SP5CJY\n" "SP5CNA\n" "SP5CQI\n" "SP5DDF\n" "SP5DDJ\n" "SP5DIR\n" "SP5DPD\n" "SP5DRE\n" "SP5DRH\n" "SP5EAF\n" "SP5EAQ\n" "SP5ECC\n" "SP5ELA\n" "SP5ELA/8\n" "SP5ELM\n" "SP5ELW\n" "SP5ENG\n" "SP5ENM\n" "SP5EOT\n" "SP5ES\n" "SP5EWX\n" "SP5EWX/7\n" "SP5EWY\n" "SP5FKW\n" "SP5GDY\n" "SP5GH\n" "SP5GMM\n" "SP5GQI\n" "SP5GRM\n" "SP5GRU\n" "SP5HFS\n" "SP5HRX\n" "SP5ICS\n" "SP5IT\n" "SP5IXS\n" "SP5JSZ\n" "SP5JTF\n" "SP5KCR\n" "SP5KDK\n" "SP5KW\n" "SP5LM\n" "SP5LS\n" "SP5MBA\n" "SP5MDB\n" "SP5NHK\n" "SP5NN\n" "SP5NVX\n" "SP5NZA\n" "SP5NZN\n" "SP5PBE\n" "SP5PSL\n" "SP5PX\n" "SP5SA\n" "SP5TAZ\n" "SP5UAR\n" "SP5VYI\n" "SP5WA\n" "SP5X\n" "SP5XO\n" "SP5XOR\n" "SP5XOV\n" "SP5XSD\n" "SP5XSL\n" "SP5XVY\n" "SP5YOC\n" "SP6A\n" "SP6AAT\n" "SP6AEG\n" "SP6ARE\n" "SP6AUI\n" "SP6AXW\n" "SP6BAA\n" "SP6BBE\n" "SP6BEN\n" "SP6BSL\n" "SP6BXM\n" "SP6BXP\n" "SP6CCI\n" "SP6CDK\n" "SP6CZ\n" "SP6DAY\n" "SP6DHH\n" "SP6DMI\n" "SP6DNZ\n" "SP6DVP\n" "SP6EF\n" "SP6EIY\n" "SP6EKS\n" "SP6EWB\n" "SP6FEK\n" "SP6FHU\n" "SP6FVP\n" "SP6FXY\n" "SP6GCU\n" "SP6GNJ\n" "SP6GTN\n" "SP6HEQ\n" "SP6IEQ\n" "SP6IHE\n" "SP6IXU\n" "SP6JIR\n" "SP6JOE\n" "SP6JQC\n" "SP6JZP\n" "SP6KCN\n" "SP6KEP\n" "SP6LK\n" "SP6LMQ\n" "SP6LUV\n" "SP6LV\n" "SP6M\n" "SP6MLX\n" "SP6MQO\n" "SP6NIC\n" "SP6NIK\n" "SP6NVK\n" "SP6NVN\n" "SP6OJE\n" "SP6OJG\n" "SP6OJK\n" "SP6OPZ\n" "SP6OUJ\n" "SP6OWY\n" "SP6PCL\n" "SP6PKO\n" "SP6PLH\n" "SP6PWT\n" "SP6QKP\n" "SP6QKX\n" "SP6QNU\n" "SP6RBO\n" "SP6RGC\n" "SP6RLF\n" "SP6RT\n" "SP6RYD\n" "SP6SOX\n" "SP6T\n" "SP6TGD\n" "SP6TGR\n" "SP6TRH\n" "SP6TRX\n" "SP6VWC\n" "SP6WM\n" "SP6XP\n" "SP6ZC\n" "SP7ASZ\n" "SP7ATY\n" "SP7AWG\n" "SP7BCA\n" "SP7BDS\n" "SP7CCB\n" "SP7CDH\n" "SP7CVW\n" "SP7DBI\n" "SP7DCS\n" "SP7EBM\n" "SP7EXJ\n" "SP7FBQ\n" "SP7FDV\n" "SP7FGA\n" "SP7FGP\n" "SP7FRO\n" "SP7HKK\n" "SP7HOA\n" "SP7HOV\n" "SP7HQ\n" "SP7IDX\n" "SP7IIT\n" "SP7ISV\n" "SP7IWA\n" "SP7IXT\n" "SP7JLH\n" "SP7JOA\n" "SP7JQQ\n" "SP7LI\n" "SP7LIE\n" "SP7MC\n" "SP7MFQ\n" "SP7MFR\n" "SP7MJL\n" "SP7MJX\n" "SP7MOC\n" "SP7MTF\n" "SP7MTU\n" "SP7NHS\n" "SP7OGP\n" "SP7Q\n" "SP7QHR\n" "SP7QJB\n" "SP7SZW\n" "SP7TES\n" "SP7TEX\n" "SP7TF\n" "SP80MVG\n" "SP8AG\n" "SP8AJK\n" "SP8AWL\n" "SP8BAB\n" "SP8BBK\n" "SP8BMF\n" "SP8BQL\n" "SP8BRQ\n" "SP8BVN\n" "SP8BVO\n" "SP8BWE\n" "SP8CGU\n" "SP8CNS\n" "SP8DIP\n" "SP8EDD\n" "SP8EEX\n" "SP8FHM\n" "SP8FNA\n" "SP8GSC\n" "SP8HDP\n" "SP8HKT\n" "SP8HPW\n" "SP8HWM\n" "SP8HXN\n" "SP8IIS\n" "SP8IOV\n" "SP8IQR\n" "SP8JMA\n" "SP8JPR\n" "SP8KEA\n" "SP8LBK\n" "SP8LNE\n" "SP8LXE\n" "SP8LZC\n" "SP8NCJ\n" "SP8NR\n" "SP8ONB\n" "SP8ONZ\n" "SP8OOB\n" "SP8QED\n" "SP8QJM\n" "SP8RX/1\n" "SP8SW\n" "SP8TDV\n" "SP8TJU\n" "SP8UFB\n" "SP8YB\n" "SP8YZZ\n" "SP9ADU\n" "SP9ADU/9\n" "SP9AJM\n" "SP9ATE\n" "SP9AUV\n" "SP9BGL\n" "SP9BGS\n" "SP9BMH\n" "SP9BNM\n" "SP9BRP\n" "SP9BXU\n" "SP9CLO\n" "SP9CLU\n" "SP9CQ\n" "SP9CTS\n" "SP9CTW\n" "SP9CTX\n" "SP9CV\n" "SP9CVY\n" "SP9CXN\n" "SP9CXX\n" "SP9DLY\n" "SP9DNO\n" "SP9DSD\n" "SP9DTE\n" "SP9DTE/1\n" "SP9DTH\n" "SP9DUX\n" "SP9EJH\n" "SP9EML\n" "SP9EVP\n" "SP9EWM\n" "SP9FKQ\n" "SP9FOW\n" "SP9FT\n" "SP9FWQ\n" "SP9FZC\n" "SP9GFI\n" "SP9GKJ\n" "SP9GKM\n" "SP9GPW\n" "SP9GR\n" "SP9GZQ\n" "SP9H\n" "SP9HVV\n" "SP9HZF\n" "SP9HZW\n" "SP9IBJ\n" "SP9IEK\n" "SP9IGY\n" "SP9IHP\n" "SP9IKN\n" "SP9IKS\n" "SP9IVD\n" "SP9IVQ\n" "SP9JKL\n" "SP9JPA\n" "SP9JQA\n" "SP9JZT\n" "SP9JZU\n" "SP9KAG\n" "SP9KDA\n" "SP9KRT\n" "SP9LAS\n" "SP9LDB\n" "SP9LDU\n" "SP9LJD\n" "SP9MAN\n" "SP9MDO\n" "SP9MDY\n" "SP9MZH\n" "SP9NH\n" "SP9NLI\n" "SP9NSV\n" "SP9NSV/7\n" "SP9NWN\n" "SP9ODM\n" "SP9ODM/8\n" "SP9ODY\n" "SP9OHL\n" "SP9OYB\n" "SP9PRO\n" "SP9PSJ\n" "SP9QJ\n" "SP9RHN\n" "SP9RI\n" "SP9RQH\n" "SP9RQJ\n" "SP9RTL\n" "SP9SDR\n" "SP9TTT\n" "SP9UPH\n" "SP9VJ\n" "SP9VRY\n" "SP9W\n" "SP9WAN\n" "SP9WTN\n" "SP9WZS\n" "SP9XCJ\n" "SQ1BHH\n" "SQ1DWR\n" "SQ1DWS\n" "SQ1EIA\n" "SQ1EIX\n" "SQ1EUG\n" "SQ1FYX\n" "SQ1K\n" "SQ1MNF\n" "SQ1NDW\n" "SQ1OD\n" "SQ1WO\n" "SQ2AJI\n" "SQ2BXI\n" "SQ2DYF\n" "SQ2EAN\n" "SQ2EEQ\n" "SQ2FRF\n" "SQ2GXO\n" "SQ2HL\n" "SQ2HNA\n" "SQ2LYF\n" "SQ2LYH\n" "SQ2LYS\n" "SQ2NNN\n" "SQ2RGB\n" "SQ2SAT\n" "SQ2TOM\n" "SQ2XC\n" "SQ3A\n" "SQ3AUA\n" "SQ3BDQ\n" "SQ3HMM\n" "SQ3HXH\n" "SQ3JVW\n" "SQ3LMY\n" "SQ3OGP\n" "SQ3OGZ\n" "SQ3RJP\n" "SQ3RX\n" "SQ3VAJ\n" "SQ3VV\n" "SQ3WW\n" "SQ4CTS\n" "SQ4FXM\n" "SQ4G\n" "SQ4HRN\n" "SQ4INW\n" "SQ4IOH\n" "SQ4MP\n" "SQ4OLP\n" "SQ5ALL\n" "SQ5ARG\n" "SQ5BUO\n" "SQ5EBM\n" "SQ5FWR\n" "SQ5GVY\n" "SQ5IZX\n" "SQ5JUP\n" "SQ5M\n" "SQ5NAE\n" "SQ5NPF\n" "SQ5NPX\n" "SQ5STS\n" "SQ5TA\n" "SQ5WAA\n" "SQ6ADL\n" "SQ6FHP\n" "SQ6ILC\n" "SQ6IYS\n" "SQ6LJA\n" "SQ6LJV\n" "SQ6MIH\n" "SQ6MS\n" "SQ6NDJ\n" "SQ6NES\n" "SQ6NTE\n" "SQ6NTM\n" "SQ6ODD\n" "SQ6OR\n" "SQ6OXC\n" "SQ6R\n" "SQ7B\n" "SQ7FPD\n" "SQ7HJZ\n" "SQ7IL\n" "SQ7MHN\n" "SQ7MPJ\n" "SQ7MZH\n" "SQ7NHT\n" "SQ7OTB\n" "SQ7VO\n" "SQ80UM\n" "SQ8GBG\n" "SQ8HNB\n" "SQ8IFG\n" "SQ8J\n" "SQ8JLA\n" "SQ8JLN\n" "SQ8JLU\n" "SQ8JMC\n" "SQ8JX\n" "SQ8LEC\n" "SQ8LSB\n" "SQ8LSC\n" "SQ8MHH\n" "SQ8TWP\n" "SQ9ANS\n" "SQ9AOR\n" "SQ9BDN\n" "SQ9C\n" "SQ9CAQ\n" "SQ9CND\n" "SQ9CWO\n" "SQ9DXN\n" "SQ9DXT\n" "SQ9E\n" "SQ9FCH\n" "SQ9FMU\n" "SQ9HQ\n" "SQ9HZM\n" "SQ9I\n" "SQ9IAJ\n" "SQ9IAU\n" "SQ9IDE\n" "SQ9IWT\n" "SQ9JKS\n" "SQ9JYK\n" "SQ9LOJ\n" "SQ9LOM\n" "SQ9LR\n" "SQ9MEE\n" "SQ9MEI\n" "SQ9MZ\n" "SQ9NIN\n" "SQ9NIS\n" "SQ9NKK\n" "SQ9NRY\n" "SQ9SX\n" "SQ9UM\n" "SQ9UM/6\n" "ST2AR\n" "ST2KSS\n" "ST2M\n" "ST2NH\n" "SU1KM\n" "SU1SK\n" "SU9HP\n" "SV0GU\n" "SV0XBA\n" "SV0XBM/9\n" "SV0XBN/9\n" "SV1/SV4LBA\n" "SV1ACK\n" "SV1AER\n" "SV1AIN\n" "SV1AIP\n" "SV1AOW\n" "SV1AVD\n" "SV1BDO/3\n" "SV1BGR\n" "SV1BJW\n" "SV1BJW/6\n" "SV1BTK\n" "SV1BUU\n" "SV1CAL\n" "SV1CEI\n" "SV1CIV\n" "SV1CQN\n" "SV1DOI\n" "SV1DOJ\n" "SV1DPI\n" "SV1DPP\n" "SV1DVZ\n" "SV1EBV\n" "SV1EEM\n" "SV1EML\n" "SV1EMM\n" "SV1ENG\n" "SV1ENM\n" "SV1ENV\n" "SV1EQU\n" "SV1EX\n" "SV1FJN\n" "SV1GRD\n" "SV1GRE\n" "SV1GSX\n" "SV1GYG\n" "SV1HEM\n" "SV1HER\n" "SV1HKD\n" "SV1IW\n" "SV1JA\n" "SV1JFT\n" "SV1JG\n" "SV1JGX\n" "SV1JMO\n" "SV1JRR\n" "SV1JSN\n" "SV1JSQ\n" "SV1KU\n" "SV1LK\n" "SV1LV\n" "SV1MF\n" "SV1MO\n" "SV1NJA\n" "SV1NK\n" "SV1NPC\n" "SV1OH\n" "SV1OZ\n" "SV1PL\n" "SV1PS\n" "SV1QN\n" "SV1QT\n" "SV1RK\n" "SV1UG\n" "SV1UT\n" "SV1VS\n" "SV1XV\n" "SV2AVP\n" "SV2BFL\n" "SV2BFN\n" "SV2BOH\n" "SV2CLJ/8\n" "SV2CUI\n" "SV2CWV\n" "SV2CXI\n" "SV2DCD\n" "SV2DFA\n" "SV2DGJ\n" "SV2FLQ\n" "SV2FWV\n" "SV2GJV\n" "SV2GNC\n" "SV2HRT\n" "SV2HWR\n" "SV2HXV\n" "SV2JAO\n" "SV2KBB\n" "SV2KBE\n" "SV2KBS\n" "SV2YC\n" "SV3/YO7CKQ/P\n" "SV3AQM\n" "SV3AQR\n" "SV3AWG\n" "SV3BEF\n" "SV3BSF\n" "SV3CYL\n" "SV3DCX\n" "SV3FUP\n" "SV3GKU\n" "SV3GLL\n" "SV3HHS\n" "SV3IBF\n" "SV3ICL\n" "SV3IDM\n" "SV3MSE\n" "SV3RF\n" "SV4AAQ\n" "SV4AFY\n" "SV4FFL\n" "SV4IMJ\n" "SV4IMJ/1\n" "SV5BYR\n" "SV5DKL\n" "SV5RW\n" "SV7BAY\n" "SV7BOD\n" "SV7BOT\n" "SV7CFJ\n" "SV7CUD\n" "SV7HVI\n" "SV7LNK\n" "SV7LNX\n" "SV7LOS\n" "SV7LPL\n" "SV7LWV/2\n" "SV7NHN\n" "SV8CRI\n" "SV8CS\n" "SV8CYR\n" "SV8DTD\n" "SV8EIU\n" "SV8EUV\n" "SV8FMY\n" "SV8KOM\n" "SV8RX\n" "SV8UM\n" "SV9AHZ\n" "SV9BAI\n" "SV9CJO\n" "SV9COL\n" "SV9CVY\n" "SV9DJO\n" "SV9DRU\n" "SV9GPV\n" "SV9MBH\n" "SV9OFS\n" "SX0HQ\n" "SX1L\n" "SX2CM\n" "SX5P\n" "SX5R\n" "SX8WT\n" "SX9JZ\n" "SY1RY\n" "SY2O\n" "SY2V\n" "SY43D\n" "SY7ISDE\n" "SY9A\n" "SY9M\n" "SZ1A\n" "SZ1SV\n" "SZ1TEIA\n" "SZ3P\n" "SZ6P\n" "SZ7SER\n" "T27A\n" "T32CXX\n" "T33ZZ\n" "T40C\n" "T42T\n" "T46A\n" "T46G\n" "T48K\n" "T6AG\n" "T70A\n" "T77C\n" "T77GO\n" "T77NC\n" "T77NM\n" "T77Q\n" "T88CI\n" "T88CJ\n" "T88YB\n" "T8CW\n" "T8IC\n" "TA0U\n" "TA1AN\n" "TA1BM\n" "TA1C/2\n" "TA1CM\n" "TA1CQ\n" "TA1CX\n" "TA1DX\n" "TA1ED\n" "TA1FA\n" "TA1HZ\n" "TA1KC\n" "TA1TR\n" "TA1ZK\n" "TA2AL\n" "TA2DS\n" "TA2EY\n" "TA2KK\n" "TA2RC\n" "TA2VO\n" "TA2ZAF\n" "TA2ZF\n" "TA3AX\n" "TA3BN\n" "TA3D\n" "TA3DJ\n" "TA3GO\n" "TA3J\n" "TA3KZ\n" "TA4AU\n" "TA4ZA\n" "TA7AO\n" "TA7EB\n" "TA7KA\n" "TC1DX\n" "TC2010CCE\n" "TC3EC\n" "TC4X\n" "TC7HQ\n" "TC7KA\n" "TC7M\n" "TC85TC\n" "TE1W\n" "TE2M\n" "TF1AM\n" "TF1CW\n" "TF2JB\n" "TF2WIN\n" "TF3AM\n" "TF3AO\n" "TF3CW\n" "TF3DC\n" "TF3DX\n" "TF3G\n" "TF3GB\n" "TF3GC\n" "TF3HP\n" "TF3HQ\n" "TF3IG\n" "TF3IGN\n" "TF3IRA\n" "TF3KX\n" "TF3KX/1\n" "TF3PPN\n" "TF3SG\n" "TF3US\n" "TF3VS\n" "TF3VS/P\n" "TF3W\n" "TF3Y\n" "TF3ZA\n" "TF4M\n" "TF4X\n" "TF6IF\n" "TF8GX\n" "TF8SM\n" "TG0AA\n" "TG9/IV3IYH\n" "TG9ADQ\n" "TG9AJR\n" "TG9ANF\n" "TG9AXF\n" "TG9CT\n" "TG9IRP\n" "TG9NX\n" "TG9SM\n" "TI0RC\n" "TI1R\n" "TI2CC\n" "TI2CLX\n" "TI2GBY\n" "TI2JCY\n" "TI2KAC\n" "TI2KWN\n" "TI2WMP\n" "TI4CF\n" "TI5/NP3D\n" "TI5/WW4LL\n" "TI5A\n" "TI5N\n" "TI7DBS\n" "TI8II\n" "TI8M\n" "TJ3SL\n" "TK5A\n" "TK5EP\n" "TK5IH\n" "TK5IX\n" "TK5MH\n" "TK5NJ\n" "TK5XN\n" "TK7P\n" "TK9E\n" "TK9R\n" "TL0A\n" "TM0C\n" "TM0HQ\n" "TM0R\n" "TM0T\n" "TM0TAN\n" "TM1C\n" "TM1O\n" "TM1W\n" "TM2B\n" "TM2MW\n" "TM2S\n" "TM2T\n" "TM2Y\n" "TM33E\n" "TM3R\n" "TM3S\n" "TM3T\n" "TM4D\n" "TM4P\n" "TM4Q\n" "TM4W\n" "TM57M\n" "TM5C\n" "TM5HV\n" "TM5KD\n" "TM5W\n" "TM6M\n" "TM6X\n" "TM77M\n" "TM7C\n" "TM7F\n" "TM7M\n" "TM7T\n" "TM7XX\n" "TM8ARP\n" "TM9FL\n" "TM9R\n" "TN5SN\n" "TO2HI\n" "TO2T\n" "TO3R\n" "TO4D\n" "TO4X\n" "TO5A\n" "TO5DX\n" "TO5T\n" "TO5X\n" "TO7A\n" "TO8Z\n" "TR8CA\n" "TS9A\n" "TT8JT\n" "TU2CI\n" "TX1B\n" "TX3A\n" "TY1MS\n" "U1BA\n" "U1BB\n" "U1BD\n" "U3DI\n" "U4MIR\n" "U5EX\n" "U5MZ\n" "UA0AAS\n" "UA0ABB\n" "UA0ABK\n" "UA0ACG\n" "UA0ADX\n" "UA0AGI\n" "UA0AKY\n" "UA0ANW\n" "UA0APV\n" "UA0AV\n" "UA0AYA\n" "UA0AZ\n" "UA0BA\n" "UA0CA\n" "UA0CB\n" "UA0CDC\n" "UA0CM\n" "UA0CMG\n" "UA0CNX\n" "UA0CS\n" "UA0CW\n" "UA0DAM\n" "UA0DC\n" "UA0FAI\n" "UA0FDX\n" "UA0FM\n" "UA0IBX\n" "UA0IDZ\n" "UA0IT\n" "UA0JF\n" "UA0JM\n" "UA0LCZ\n" "UA0LD\n" "UA0LDW\n" "UA0LDY\n" "UA0LH\n" "UA0LKD\n" "UA0LMO\n" "UA0LNO\n" "UA0LS\n" "UA0MF\n" "UA0NL\n" "UA0OA\n" "UA0OD\n" "UA0QBR\n" "UA0SBQ\n" "UA0SC\n" "UA0SDX\n" "UA0SE\n" "UA0SEP\n" "UA0SIK/0\n" "UA0SJ\n" "UA0SOX\n" "UA0SP\n" "UA0SR\n" "UA0SW\n" "UA0SWA\n" "UA0UV\n" "UA0VF\n" "UA0WAA\n" "UA0WF\n" "UA0WL\n" "UA0WW\n" "UA0YAY\n" "UA0YM\n" "UA0ZAL\n" "UA0ZAM\n" "UA0ZC\n" "UA0ZEO\n" "UA0ZS\n" "UA0ZV\n" "UA1AAF\n" "UA1AAR\n" "UA1AAU\n" "UA1ABO\n" "UA1ACC\n" "UA1ACG\n" "UA1ADZ\n" "UA1AFT\n" "UA1AFZ\n" "UA1AIK/1\n" "UA1AJ\n" "UA1AJW\n" "UA1AKE\n" "UA1AKJ\n" "UA1ANA\n" "UA1AQA\n" "UA1ASB\n" "UA1AUW\n" "UA1CAK\n" "UA1CE\n" "UA1CEC\n" "UA1CEG\n" "UA1CEI\n" "UA1CGF\n" "UA1CHJ\n" "UA1CJX\n" "UA1CKC\n" "UA1CT\n" "UA1CUR\n" "UA1HY\n" "UA1MU\n" "UA1NA\n" "UA1NFA\n" "UA1OAM\n" "UA1ODM\n" "UA1OEX\n" "UA1OIZ\n" "UA1OJL\n" "UA1OM\n" "UA1OMS\n" "UA1OMZ\n" "UA1OOX\n" "UA1ORK\n" "UA1ORL\n" "UA1ORT\n" "UA1QCE\n" "UA1QM\n" "UA1QV\n" "UA1QW\n" "UA1RG\n" "UA1TAN\n" "UA1TGQ\n" "UA1WA\n" "UA1WBV\n" "UA1WCF\n" "UA1WDG\n" "UA1WDX\n" "UA1WGV\n" ; const char txt_master5[65523] = "UA1ZCX\n" "UA1ZZ\n" "UA2AB\n" "UA2CZ\n" "UA2FBQ\n" "UA2FCB\n" "UA2FCT\n" "UA2FDM\n" "UA2FEK\n" "UA2FF\n" "UA2FFW\n" "UA2FFX/1\n" "UA2FGY\n" "UA2FHZ\n" "UA2FL\n" "UA2FT\n" "UA2FW\n" "UA2FZ\n" "UA3A/1\n" "UA3AAP\n" "UA3AB\n" "UA3ABJ\n" "UA3ACL\n" "UA3ADN\n" "UA3AFJ\n" "UA3AGU\n" "UA3AGW\n" "UA3AHA\n" "UA3AIF\n" "UA3AIU\n" "UA3AKI\n" "UA3AKO\n" "UA3ALS\n" "UA3AMZ\n" "UA3AO\n" "UA3AP\n" "UA3AQB\n" "UA3ASZ\n" "UA3AWA\n" "UA3BL\n" "UA3BM\n" "UA3BS\n" "UA3BX\n" "UA3BZ\n" "UA3CS\n" "UA3DA\n" "UA3DAM\n" "UA3DCE\n" "UA3DCI\n" "UA3DCM\n" "UA3DCU\n" "UA3DCW\n" "UA3DCZ\n" "UA3DDA\n" "UA3DFM\n" "UA3DFR\n" "UA3DFV\n" "UA3DGA\n" "UA3DJC\n" "UA3DK\n" "UA3DKN\n" "UA3DKT\n" "UA3DLD\n" "UA3DLL\n" "UA3DOM\n" "UA3DPM\n" "UA3DQK\n" "UA3DSS\n" "UA3DTS\n" "UA3DTT\n" "UA3DUJ\n" "UA3DUS\n" "UA3DUZ\n" "UA3DW\n" "UA3EAA\n" "UA3EAY\n" "UA3ECJ\n" "UA3EDQ\n" "UA3EKG\n" "UA3ERD\n" "UA3EUW\n" "UA3EVG\n" "UA3FDX\n" "UA3FO\n" "UA3FX\n" "UA3GAF\n" "UA3GBI\n" "UA3GH\n" "UA3GIE\n" "UA3GM\n" "UA3GTA\n" "UA3GTG\n" "UA3GVT\n" "UA3GX\n" "UA3GZ\n" "UA3HM\n" "UA3IAH\n" "UA3ICF\n" "UA3ICK\n" "UA3ICN\n" "UA3KA\n" "UA3KM\n" "UA3KW\n" "UA3LAR\n" "UA3LDU\n" "UA3LEO\n" "UA3LHL\n" "UA3LIA\n" "UA3LID\n" "UA3LIZ\n" "UA3LMR\n" "UA3LMR/3\n" "UA3LNM\n" "UA3LPF\n" "UA3LQQ\n" "UA3LQX\n" "UA3LTQ\n" "UA3MEG\n" "UA3MEJ\n" "UA3MHG\n" "UA3MIF\n" "UA3MKT\n" "UA3MNB\n" "UA3MOC\n" "UA3MOM\n" "UA3MSS\n" "UA3OQ\n" "UA3PAB\n" "UA3PAY\n" "UA3PB\n" "UA3PCP\n" "UA3PF\n" "UA3PM\n" "UA3PNO\n" "UA3PP\n" "UA3PPP\n" "UA3PT\n" "UA3PTW\n" "UA3PW\n" "UA3QAM\n" "UA3QBL\n" "UA3QCB\n" "UA3QDF\n" "UA3QFU\n" "UA3QFY\n" "UA3QG\n" "UA3QGT\n" "UA3QJJ\n" "UA3QKA\n" "UA3QLC\n" "UA3QLQ\n" "UA3QNS\n" "UA3QOS\n" "UA3QPA\n" "UA3QQ\n" "UA3QR\n" "UA3QU\n" "UA3QUO\n" "UA3QUP\n" "UA3QY\n" "UA3R\n" "UA3RAG\n" "UA3RAI\n" "UA3RAR\n" "UA3RAW\n" "UA3RC\n" "UA3RE\n" "UA3RJH\n" "UA3RLT\n" "UA3RN\n" "UA3RO\n" "UA3RW\n" "UA3SAO\n" "UA3SAQ\n" "UA3SBW\n" "UA3SKV\n" "UA3TAO\n" "UA3TCJ\n" "UA3TN\n" "UA3TT\n" "UA3TW\n" "UA3UAD\n" "UA3UBT\n" "UA3UCD\n" "UA3UDE\n" "UA3UHZ\n" "UA3UJP\n" "UA3UNP\n" "UA3URF\n" "UA3VFS\n" "UA3VJV\n" "UA3VLO\n" "UA3VQL\n" "UA3VVB\n" "UA3WCN\n" "UA3WHK\n" "UA3WT\n" "UA3XAC\n" "UA3XAG\n" "UA3XGM\n" "UA3YAA\n" "UA3YCX\n" "UA3YCZ\n" "UA3YDH\n" "UA3YFL\n" "UA3YQL\n" "UA3YY\n" "UA3ZJG\n" "UA4AAC\n" "UA4AGO\n" "UA4ALI\n" "UA4AMM\n" "UA4AMT\n" "UA4AN\n" "UA4ANZ\n" "UA4AP\n" "UA4AQL\n" "UA4ASE\n" "UA4AY\n" "UA4AZ\n" "UA4CBJ\n" "UA4CC\n" "UA4CCG\n" "UA4CDL\n" "UA4CGR\n" "UA4CIF\n" "UA4CK\n" "UA4CM\n" "UA4CNJ\n" "UA4CNZ\n" "UA4CR\n" "UA4CTE\n" "UA4FBG\n" "UA4FCO\n" "UA4FDL\n" "UA4FEN\n" "UA4FER\n" "UA4FHW\n" "UA4FJ\n" "UA4FRJ\n" "UA4FRL\n" "UA4FTA\n" "UA4FUW\n" "UA4HAM\n" "UA4HAU\n" "UA4HBW\n" "UA4HEJ\n" "UA4HIP\n" "UA4HJ\n" "UA4HOX\n" "UA4HRZ\n" "UA4HUR\n" "UA4IW\n" "UA4LA\n" "UA4LBK\n" "UA4LCH\n" "UA4LFK\n" "UA4LL\n" "UA4LM\n" "UA4LRN\n" "UA4LS\n" "UA4LU\n" "UA4LU/3\n" "UA4LW\n" "UA4LX\n" "UA4LY\n" "UA4M\n" "UA4NBA\n" "UA4NC\n" "UA4NCI\n" "UA4NEP\n" "UA4NF\n" "UA4NU\n" "UA4NW\n" "UA4NX\n" "UA4PAN\n" "UA4PAQ\n" "UA4PAY\n" "UA4PC\n" "UA4PCA\n" "UA4PCF\n" "UA4PCM\n" "UA4PF\n" "UA4PI\n" "UA4PK\n" "UA4PKN\n" "UA4PN\n" "UA4PNT\n" "UA4PNW\n" "UA4PO\n" "UA4PR\n" "UA4PT\n" "UA4PWR\n" "UA4QK\n" "UA4RF\n" "UA4RL\n" "UA4RW\n" "UA4RZ\n" "UA4SAW\n" "UA4SBZ\n" "UA4SJK\n" "UA4SKW\n" "UA4SN\n" "UA4UBW\n" "UA4UT\n" "UA4WAG\n" "UA4WAU\n" "UA4WAV\n" "UA4WAW\n" "UA4WCM\n" "UA4WI\n" "UA4WJ\n" "UA4WK\n" "UA4WKK\n" "UA4WKW\n" "UA4WL\n" "UA4WLI\n" "UA4WW\n" "UA4YA\n" "UA4YJJ\n" "UA6AA\n" "UA6AAY\n" "UA6ACA\n" "UA6AES\n" "UA6AF\n" "UA6AGE\n" "UA6AGK\n" "UA6AH\n" "UA6AIR\n" "UA6AIW\n" "UA6AK\n" "UA6AKD\n" "UA6ARR\n" "UA6AX\n" "UA6BFE\n" "UA6BJY\n" "UA6BJZ\n" "UA6BQ\n" "UA6BQN\n" "UA6BRD\n" "UA6BTV\n" "UA6CC\n" "UA6CE\n" "UA6CFD\n" "UA6CQ\n" "UA6CW\n" "UA6DX\n" "UA6EED\n" "UA6EHF\n" "UA6FF\n" "UA6FJ\n" "UA6FQ\n" "UA6FW\n" "UA6FZ\n" "UA6GE\n" "UA6GF\n" "UA6GG\n" "UA6GM\n" "UA6GO\n" "UA6GP\n" "UA6GR\n" "UA6GS\n" "UA6GU\n" "UA6GX\n" "UA6HFI\n" "UA6HHE\n" "UA6HLO\n" "UA6HLP\n" "UA6HMM\n" "UA6HO\n" "UA6HRX\n" "UA6HZ\n" "UA6IC\n" "UA6JCC\n" "UA6JD\n" "UA6JFG\n" "UA6JGG\n" "UA6JQ\n" "UA6LAH\n" "UA6LCJ\n" "UA6LCN\n" "UA6LDD\n" "UA6LF\n" "UA6LFQ\n" "UA6LJ\n" "UA6LJU\n" "UA6LLE\n" "UA6LN\n" "UA6LP\n" "UA6LPN\n" "UA6LPY\n" "UA6LTI\n" "UA6LUQ\n" "UA6LV\n" "UA6MA\n" "UA6MF\n" "UA6MM\n" "UA6NZ\n" "UA6PF/3\n" "UA6UDV\n" "UA6UEK\n" "UA6XDX\n" "UA6YH\n" "UA6YI\n" "UA6YIU\n" "UA6YN\n" "UA6YW\n" "UA7F\n" "UA7G\n" "UA8AA/5\n" "UA9AB\n" "UA9ACJ\n" "UA9ADW\n" "UA9AFS\n" "UA9AGX\n" "UA9AJ\n" "UA9AM\n" "UA9AOL\n" "UA9APA\n" "UA9AX\n" "UA9AYA\n" "UA9AZ\n" "UA9BA\n" "UA9BS\n" "UA9BX\n" "UA9BZ\n" "UA9CAX\n" "UA9CBM\n" "UA9CBO\n" "UA9CBR\n" "UA9CC\n" "UA9CCL\n" "UA9CDC\n" "UA9CDJ\n" "UA9CDV\n" "UA9CES\n" "UA9CEW\n" "UA9CGL\n" "UA9CHL\n" "UA9CIM\n" "UA9CL\n" "UA9CLB\n" "UA9CM\n" "UA9CMQ\n" "UA9CR\n" "UA9CSA\n" "UA9CTT\n" "UA9CUA\n" "UA9CVQ\n" "UA9DD\n" "UA9DR\n" "UA9FAR\n" "UA9FEG\n" "UA9FEX\n" "UA9FFV\n" "UA9FGJ\n" "UA9FGR\n" "UA9FKH\n" "UA9FM\n" "UA9FPQ\n" "UA9FQS\n" "UA9HN\n" "UA9HR\n" "UA9JDP\n" "UA9JFA\n" "UA9JFM/3\n" "UA9JFR\n" "UA9JJG\n" "UA9JKM\n" "UA9JLL\n" "UA9JMB\n" "UA9JSN\n" "UA9KAA\n" "UA9KAA/9\n" "UA9KB\n" "UA9KGG\n" "UA9KGH/1\n" "UA9KL\n" "UA9KW\n" "UA9KZ\n" "UA9LAO\n" "UA9LBQ\n" "UA9LP\n" "UA9LR\n" "UA9LT\n" "UA9MA\n" "UA9MC\n" "UA9MD\n" "UA9MDP\n" "UA9MFB\n" "UA9MGC\n" "UA9MHN\n" "UA9MI\n" "UA9MKF\n" "UA9MLT\n" "UA9MP\n" "UA9MR\n" "UA9MRX/3\n" "UA9MW\n" "UA9ND\n" "UA9NN\n" "UA9OA\n" "UA9OAI\n" "UA9OC\n" "UA9ODE\n" "UA9ODU\n" "UA9OG\n" "UA9OGF\n" "UA9OKM\n" "UA9OL\n" "UA9OLO\n" "UA9OMT\n" "UA9ONJ\n" "UA9ONJ/P\n" "UA9OQA\n" "UA9OQJ\n" "UA9OR\n" "UA9OSB\n" "UA9OV\n" "UA9OW\n" "UA9OZ\n" "UA9PC\n" "UA9PM\n" "UA9QA\n" "UA9QAE\n" "UA9QCP/3\n" "UA9QCQ\n" "UA9QCZ\n" "UA9QF\n" "UA9QG\n" "UA9QM\n" "UA9QQ\n" "UA9QT\n" "UA9SAW\n" "UA9SC\n" "UA9SG\n" "UA9SJR\n" "UA9SP\n" "UA9SUX\n" "UA9TF\n" "UA9TQ\n" "UA9TT\n" "UA9TW\n" "UA9TZ\n" "UA9UBL\n" "UA9UCK\n" "UA9UDX\n" "UA9UFL\n" "UA9UHN\n" "UA9UNG\n" "UA9UOI\n" "UA9UPG\n" "UA9UR\n" "UA9URF\n" "UA9UX\n" "UA9UZZ\n" "UA9WBX\n" "UA9WIK\n" "UA9WOB\n" "UA9WOU\n" "UA9WS\n" "UA9WTF\n" "UA9WZ\n" "UA9XBJ\n" "UA9XF\n" "UA9XHT/9\n" "UA9XK\n" "UA9XL\n" "UA9XLC\n" "UA9XMC\n" "UA9XS\n" "UA9XTL\n" "UA9XTN\n" "UA9XW\n" "UA9XZ\n" "UA9YAB\n" "UA9YAD\n" "UA9YBA\n" "UA9YE\n" "UA9YF\n" "UA9YJI\n" "UA9YTN\n" "UA9ZZ\n" "UD3D\n" "UE4CAC/P\n" "UE6LHT\n" "UE80MC\n" "UE80MD\n" "UE9CAP\n" "UE9WDA/6\n" "UF3CWR\n" "UI4I\n" "UI9I\n" "UK7AZ\n" "UK7F\n" "UK8AKK\n" "UK8AR\n" "UK8DAN\n" "UK8DT\n" "UK8OM\n" "UK8OWW\n" "UK8UC\n" "UK8UWG\n" "UK9AA\n" "UN/RX9TL\n" "UN0C\n" "UN0L\n" "UN1F\n" "UN1HQ\n" "UN1L\n" "UN1O\n" "UN2C\n" "UN2E\n" "UN3GX\n" "UN3M\n" "UN4L\n" "UN4PD\n" "UN4PG\n" "UN5C\n" "UN5J\n" "UN5P\n" "UN6G\n" "UN6GD\n" "UN6GK\n" "UN6LN\n" "UN6P\n" "UN6T\n" "UN7AB\n" "UN7AL\n" "UN7AM\n" "UN7BN\n" "UN7CAD\n" "UN7CH\n" "UN7CM\n" "UN7CN\n" "UN7ECA\n" "UN7EV\n" "UN7EW\n" "UN7EX\n" "UN7FDP\n" "UN7FW\n" "UN7GCE\n" "UN7IT\n" "UN7JX\n" "UN7LAN\n" "UN7LZ\n" "UN7MMM\n" "UN7P\n" "UN7PBY\n" "UN7PL\n" "UN7PV\n" "UN7QF\n" "UN7RL\n" "UN7TDB\n" "UN7TO\n" "UN7TW\n" "UN7TX\n" "UN8CB\n" "UN8FM\n" "UN8GA\n" "UN8GU\n" "UN8GV\n" "UN8L\n" "UN8LF\n" "UN8LWF\n" "UN8P\n" "UN8PIM\n" "UN8PT\n" "UN9GD\n" "UN9L\n" "UN9LU\n" "UN9PQ\n" "UO1P\n" "UO6P\n" "UP0G\n" "UP0L\n" "UP1G\n" "UP2F\n" "UP2L\n" "UP4L\n" "UP6P\n" "UP7A\n" "UP8A\n" "UP9L\n" "UQ70F\n" "UR0CB\n" "UR0EE\n" "UR0EG\n" "UR0EV\n" "UR0HQ\n" "UR0IM\n" "UR0IQ\n" "UR0MM\n" "UR0QX\n" "UR0VV\n" "UR0VX\n" "UR1HM\n" "UR1MI\n" "UR1MM\n" "UR1MN\n" "UR2ML\n" "UR2MM\n" "UR2MO\n" "UR2P\n" "UR2VA\n" "UR3AC\n" "UR3CKR\n" "UR3EO\n" "UR3GO\n" "UR3HC\n" "UR3IDD\n" "UR3IFD\n" "UR3IJI\n" "UR3IQO\n" "UR3LL\n" "UR3LPM\n" "UR3LTD\n" "UR3MM\n" "UR3PA\n" "UR3PDQ\n" "UR3PGW\n" "UR3QB\n" "UR3QCW\n" "UR3QM\n" "UR3QX\n" "UR3QXX\n" "UR3UX\n" "UR4CU\n" "UR4CWQ\n" "UR4EI\n" "UR4ES\n" "UR4EWT\n" "UR4EXF\n" "UR4EXS\n" "UR4FA\n" "UR4GU\n" "UR4IGP\n" "UR4IOR\n" "UR4IXM\n" "UR4IZ\n" "UR4LCB\n" "UR4LRG\n" "UR4LWC\n" "UR4MCK\n" "UR4MH\n" "UR4MKY\n" "UR4MS\n" "UR4MSF\n" "UR4MTJ\n" "UR4PWC\n" "UR4PWL\n" "UR4QQF\n" "UR4QRH\n" "UR4QX\n" "UR4U\n" "UR4UC\n" "UR4UDI\n" "UR4VWA\n" "UR4WG\n" "UR4WWT\n" "UR4Z\n" "UR4ZYD\n" "UR5AKU\n" "UR5ALU\n" "UR5AMK\n" "UR5AO\n" "UR5AS\n" "UR5AW\n" "UR5BO\n" "UR5CC\n" "UR5CSL\n" "UR5E\n" "UR5EAW\n" "UR5EDU\n" "UR5EFL\n" "UR5EIT\n" "UR5EJ\n" "UR5ELN\n" "UR5EPG\n" "UR5EPV\n" "UR5EQQ\n" "UR5ETN\n" "UR5EU\n" "UR5EUY\n" "UR5FBM\n" "UR5FCK\n" "UR5FCM\n" "UR5FEL\n" "UR5FEO\n" "UR5FS\n" "UR5GAW/A\n" "UR5GBW\n" "UR5HAC\n" "UR5IF\n" "UR5IFB\n" "UR5IFX\n" "UR5IHC\n" "UR5IHQ\n" "UR5II\n" "UR5IKN\n" "UR5IOK\n" "UR5IRM\n" "UR5KDX\n" "UR5KED\n" "UR5KHZ\n" "UR5LAK\n" "UR5LAM\n" "UR5LCV\n" "UR5LCZ\n" "UR5LF\n" "UR5LJD\n" "UR5LO\n" "UR5LY\n" "UR5MA\n" "UR5MAF\n" "UR5MBA\n" "UR5MBB\n" "UR5MD\n" "UR5MER\n" "UR5MF\n" "UR5MID\n" "UR5MM\n" "UR5MP\n" "UR5MQS\n" "UR5MW\n" "UR5MZ\n" "UR5NF\n" "UR5PG\n" "UR5QA\n" "UR5QU\n" "UR5QUM\n" "UR5RMD\n" "UR5RP\n" "UR5RZ\n" "UR5SFC\n" "UR5TGK\n" "UR5THM\n" "UR5TW\n" "UR5UBD\n" "UR5UBR\n" "UR5UC\n" "UR5UJ\n" "UR5UZ\n" "UR5VR\n" "UR5WCA\n" "UR5WCQ\n" "UR5WD\n" "UR5WDQ\n" "UR5WHQ\n" "UR5WHT\n" "UR5WMM\n" "UR5WX\n" "UR5XMM\n" "UR5ZMK\n" "UR5ZPV\n" "UR5ZSU\n" "UR5ZTH\n" "UR5ZVJ\n" "UR5ZVP\n" "UR6AJ\n" "UR6EO\n" "UR6F\n" "UR6GWZ\n" "UR6HCF\n" "UR6ID\n" "UR6IDX\n" "UR6IJ\n" "UR6IM\n" "UR6IMF\n" "UR6IS\n" "UR6LAF\n" "UR6MX\n" "UR6QA\n" "UR6QR\n" "UR6QS\n" "UR7CQ\n" "UR7CT\n" "UR7EC\n" "UR7EM\n" "UR7EP\n" "UR7EQ\n" "UR7EU\n" "UR7EW\n" "UR7EY\n" "UR7EZ\n" "UR7GG\n" "UR7GO\n" "UR7GW\n" "UR7HA\n" "UR7HCX\n" "UR7IKV\n" "UR7INK\n" "UR7IQJ\n" "UR7M\n" "UR7MA\n" "UR7MG\n" "UR7MZ\n" "UR7QC\n" "UR7QL\n" "UR7QM\n" "UR7R\n" "UR7TZ\n" "UR7UC\n" "UR7UD\n" "UR7UM\n" "UR7UT\n" "UR7VA\n" "UR7ZO\n" "UR8EQ\n" "UR8GM\n" "UR8GX\n" "UR8IDX\n" "UR8IF\n" "UR8IW\n" "UR8LV\n" "UR8MH\n" "UR8QQ\n" "UR8QR\n" "UR8RF\n" "UR9MB\n" "UR9MC\n" "UR9QQ\n" "US0CD\n" "US0GA\n" "US0GH\n" "US0HZ\n" "US0IJ\n" "US0IW\n" "US0KS\n" "US0KW\n" "US0LA\n" "US0LO\n" "US0LW\n" "US0MF\n" "US0MM\n" "US0MS\n" "US0NJ\n" "US0QG\n" "US0SY\n" "US0TA\n" "US0VA\n" "US0YA\n" "US0YW\n" "US0ZK\n" "US0ZZ\n" "US1GBH\n" "US1IT\n" "US1IV\n" "US1IW\n" "US1MM\n" "US1PM\n" "US1US\n" "US1UU\n" "US1UX\n" "US1VS\n" "US2IHS\n" "US2IR\n" "US2IW\n" "US2IZ\n" "US2LX\n" "US2MW\n" "US2WU\n" "US2YW\n" "US3IG\n" "US3IMZ\n" "US3IP\n" "US3IRX\n" "US3ITA\n" "US3IVN\n" "US3IZ\n" "US3LX\n" "US3QQ\n" "US3QW\n" "US3WD\n" "US4AS\n" "US4EG\n" "US4EX\n" "US4IDY\n" "US4IPC\n" "US4IPQ\n" "US4IQ\n" "US4IXT\n" "US4IYM\n" "US4L\n" "US4LGW\n" "US4LS\n" "US4MW\n" "US5CB\n" "US5CCO\n" "US5D\n" "US5DA\n" "US5E\n" "US5EEK\n" "US5ELM\n" "US5EVJ\n" "US5FA\n" "US5HI\n" "US5I\n" "US5IIM\n" "US5IND\n" "US5IQ\n" "US5ISV\n" "US5IVD\n" "US5LAE\n" "US5MPO\n" "US5MUW\n" "US5QRW\n" "US5UO\n" "US5VX\n" "US5WAM\n" "US5WCP\n" "US5WDT\n" "US5WE\n" "US5XD\n" "US5ZCW\n" "US6CQ\n" "US6EX\n" "US6IKF\n" "US6IKV\n" "US6IPD\n" "US6IQ\n" "US6IT\n" "US7AF\n" "US7IA\n" "US7IAU\n" "US7IB\n" "US7IGF\n" "US7IID\n" "US7IM\n" "US7IQZ\n" "US7IUF\n" "US7IVW\n" "US7IY\n" "US7LM\n" "US7ML\n" "US7MM\n" "US7QQ\n" "US7UX\n" "US7VL\n" "US7WW\n" "US8IB\n" "US8IBS\n" "US8ICA\n" "US8ICM\n" "US8IDX\n" "US8IM\n" "US8MX\n" "US8QQ\n" "US8UA\n" "US9PA\n" "UT/PA3BUD\n" "UT/RN3DAW\n" "UT0AZA\n" "UT0CK\n" "UT0EA\n" "UT0EL\n" "UT0EO\n" "UT0ET\n" "UT0IG\n" "UT0IL\n" "UT0IV\n" "UT0IW\n" "UT0L\n" "UT0MF\n" "UT0MG\n" "UT0NT\n" "UT0RM\n" "UT0U\n" "UT0VE\n" "UT0ZD\n" "UT1AA\n" "UT1AB\n" "UT1CC\n" "UT1CZ\n" "UT1DX\n" "UT1DZ\n" "UT1EA\n" "UT1HT\n" "UT1HZZ\n" "UT1IA\n" "UT1IF\n" "UT1IH\n" "UT1IK\n" "UT1IM\n" "UT1IR\n" "UT1PO\n" "UT1QL\n" "UT1S\n" "UT1UL\n" "UT1US\n" "UT1UW\n" "UT1UY\n" "UT1XX\n" "UT1YV\n" "UT2AA\n" "UT2AB\n" "UT2AU\n" "UT2EZ\n" "UT2FA\n" "UT2FF/A\n" "UT2HM\n" "UT2ID\n" "UT2IF\n" "UT2II\n" "UT2IO\n" "UT2IU\n" "UT2IV\n" "UT2IW\n" "UT2IY\n" "UT2LF\n" "UT2LU\n" "UT2LY\n" "UT2M\n" "UT2PL\n" "UT2PX\n" "UT2QQ\n" "UT2QT\n" "UT2RZ\n" "UT2UB\n" "UT2UN\n" "UT2UU\n" "UT2UZ\n" "UT2VU\n" "UT2XX\n" "UT3EG\n" "UT3EK\n" "UT3EV\n" "UT3EW\n" "UT3FM\n" "UT3HWW\n" "UT3I\n" "UT3IB\n" "UT3IJ\n" "UT3IK\n" "UT3IM\n" "UT3IW\n" "UT3IZ\n" "UT3L\n" "UT3MA\n" "UT3N\n" "UT3NA\n" "UT3NF\n" "UT3QN\n" "UT3QT\n" "UT3QU\n" "UT3RN\n" "UT3RS\n" "UT3SA\n" "UT3SO\n" "UT3UA\n" "UT3UV\n" "UT3UX\n" "UT3UY\n" "UT3UZ\n" "UT3WJ\n" "UT3WW\n" "UT3WX\n" "UT4CE\n" "UT4EK\n" "UT4EN\n" "UT4EO\n" "UT4EU\n" "UT4FJ\n" "UT4FM\n" "UT4HZ\n" "UT4IZ\n" "UT4MF\n" "UT4MW\n" "UT4MWA\n" "UT4NR\n" "UT4NW\n" "UT4NX\n" "UT4NY\n" "UT4NZ\n" "UT4PZ\n" "UT4Q\n" "UT4QV\n" "UT4UB\n" "UT4UBY\n" "UT4UF\n" "UT4UH\n" "UT4UO\n" "UT4UP\n" "UT4UQ\n" "UT4UW\n" "UT4VV\n" "UT4VW\n" "UT4WA\n" "UT4WT\n" "UT4XD\n" "UT4XU\n" "UT4ZG\n" "UT4ZX\n" "UT5A\n" "UT5AT\n" "UT5CB\n" "UT5CL\n" "UT5CY\n" "UT5DJ\n" "UT5DL\n" "UT5EA\n" "UT5ECZ\n" "UT5EL\n" "UT5EMU\n" "UT5EO\n" "UT5EPP\n" "UT5ERP\n" "UT5ERV\n" "UT5EUQ\n" "UT5HCW\n" "UT5HX\n" "UT5IA\n" "UT5ID\n" "UT5IF\n" "UT5IH\n" "UT5IM\n" "UT5IZ\n" "UT5IZO\n" "UT5JAJ\n" "UT5JCE\n" "UT5KL\n" "UT5KO\n" "UT5KTT\n" "UT5LO\n" "UT5MB\n" "UT5NWA\n" "UT5PH\n" "UT5PI\n" "UT5PQ\n" "UT5PW\n" "UT5PY\n" "UT5SA\n" "UT5SI\n" "UT5UA\n" "UT5UCP\n" "UT5UFT\n" "UT5UGR\n" "UT5UGS\n" "UT5UGW\n" "UT5UIA\n" "UT5UJ\n" "UT5UKA\n" "UT5UKY\n" "UT5ULB\n" "UT5ULX\n" "UT5UMY\n" "UT5UN\n" "UT5UNZ\n" "UT5UPN\n" "UT5UQN\n" "UT5UQV\n" "UT5URW\n" "UT5US\n" "UT5UT\n" "UT5UUV\n" "UT5UY\n" "UT5VX\n" "UT5XM\n" "UT5ZA\n" "UT5ZY\n" "UT6EC\n" "UT6EE\n" "UT6IS\n" "UT6LX\n" "UT7AXA\n" "UT7CH\n" "UT7CL\n" "UT7CR\n" "UT7DK\n" "UT7E\n" "UT7EE\n" "UT7EF\n" "UT7EG\n" "UT7EI\n" "UT7EJ\n" "UT7EM\n" "UT7EN\n" "UT7EV\n" "UT7EY\n" "UT7EZ\n" "UT7EZZ\n" "UT7FO\n" "UT7FP\n" "UT7HM\n" "UT7I\n" "UT7IA\n" "UT7IL\n" "UT7L\n" "UT7LA\n" "UT7LD\n" "UT7LM\n" "UT7LW\n" "UT7MA\n" "UT7MC\n" "UT7MD\n" "UT7MR\n" "UT7MW\n" "UT7ND\n" "UT7NF\n" "UT7NT\n" "UT7NW\n" "UT7NY\n" "UT7QB\n" "UT7QF\n" "UT7QL\n" "UT7TA\n" "UT7U\n" "UT7UJ\n" "UT7UT\n" "UT7UV\n" "UT7UW\n" "UT7UZ\n" "UT7VR\n" "UT7WZ\n" "UT7WZA\n" "UT7XX\n" "UT7Y\n" "UT7ZB\n" "UT8AL\n" "UT8AS\n" "UT8EL\n" "UT8EU\n" "UT8IA\n" "UT8IM\n" "UT8IO\n" "UT8IT\n" "UT8IV\n" "UT8L\n" "UT8LO\n" "UT8NT\n" "UT8QQ\n" "UT8RN\n" "UT8SQ\n" "UT9EL\n" "UT9FJ\n" "UT9IR\n" "UT9NA\n" "UU0A\n" "UU0JC\n" "UU0JM\n" "UU1AZ\n" "UU1CC\n" "UU1CW\n" "UU1DX\n" "UU1JE\n" "UU1K\n" "UU2AA\n" "UU2CW\n" "UU2J\n" "UU2JA\n" "UU2JG\n" "UU2JQ\n" "UU3JC\n" "UU3JX\n" "UU3W\n" "UU4J\n" "UU4JC\n" "UU4JDD\n" "UU4JGR\n" "UU4JMG\n" "UU4JO\n" "UU4JQE\n" "UU4JWA\n" "UU4JWC\n" "UU4JXI\n" "UU4JXM\n" "UU5A\n" "UU5AB\n" "UU5AF\n" "UU5AI\n" "UU5JAQ\n" "UU5JBO\n" "UU5JFP\n" "UU5JQV\n" "UU5JS\n" "UU5JZ\n" "UU5JZA\n" "UU5WW\n" "UU6JF\n" "UU6JJ\n" "UU7J\n" "UU7JD\n" "UU7JF\n" "UU7JM\n" "UU7JN\n" "UU7JR\n" "UU7JX\n" "UU8JK\n" "UU8JM\n" "UU8JY\n" "UU9CI\n" "UU9CW\n" "UU9JK\n" "UU9JQ\n" "UU9JR\n" "UV1GW\n" "UV2L\n" "UV3QF\n" "UV3RT\n" "UV5EEO\n" "UV5ERY\n" "UV5QAV\n" "UV5QQ\n" "UV5QR\n" "UV5U\n" "UV7QA\n" "UV8M\n" "UW0K\n" "UW0L\n" "UW1G\n" "UW1GZ\n" "UW1I\n" "UW1M\n" "UW1WU\n" "UW2F\n" "UW2I\n" "UW2M\n" "UW2N\n" "UW2Q\n" "UW2ZM\n" "UW3E\n" "UW3M\n" "UW3U\n" "UW4E\n" "UW4SU\n" "UW5M\n" "UW5Q\n" "UW5SW\n" "UW5U\n" "UW5W\n" "UW5ZM\n" "UW7CF\n" "UW7CN\n" "UW7F\n" "UW7LL\n" "UW7M\n" "UW7RV\n" "UW8I\n" "UW8M\n" "UW8SM\n" "UX0BB\n" "UX0FF\n" "UX0FY\n" "UX0HO\n" "UX0IK\n" "UX0IY\n" "UX0LL\n" "UX0LL/A\n" "UX0SX\n" "UX0UN\n" "UX0UW\n" "UX0ZL\n" "UX1AA\n" "UX1BZ\n" "UX1CW\n" "UX1HW\n" "UX1IB\n" "UX1IL\n" "UX1IM\n" "UX1MH\n" "UX1QQ\n" "UX1UF\n" "UX1UX\n" "UX2HB\n" "UX2IJ\n" "UX2IO\n" "UX2IQ\n" "UX2KA\n" "UX2MF\n" "UX2MK\n" "UX2QA\n" "UX2SB\n" "UX2X\n" "UX35A\n" "UX3HA\n" "UX3HX\n" "UX3IA\n" "UX3IO\n" "UX3IT\n" "UX3IV\n" "UX3IW\n" "UX3MF\n" "UX3MX\n" "UX3MZ\n" "UX3UN\n" "UX3ZW\n" "UX4E\n" "UX4FC\n" "UX4LA\n" "UX4U\n" "UX4UM\n" "UX5D\n" "UX5I\n" "UX5IO\n" "UX5IZ\n" "UX5MZ\n" "UX5NQ\n" "UX5OF\n" "UX5TQ\n" "UX5UO\n" "UX5VK\n" "UX6F\n" "UX6IA\n" "UX6IB\n" "UX6IR\n" "UX6VA\n" "UX7CQ\n" "UX7E\n" "UX7FC\n" "UX7FD\n" "UX7IB\n" "UX7IW\n" "UX7LL\n" "UX7MA\n" "UX7MM\n" "UX7MR\n" "UX7MX\n" "UX7QD\n" "UX7QJ\n" "UX7QV\n" "UX7U\n" "UX7UN\n" "UX8IR\n" "UX8IW\n" "UX8IX\n" "UX8IXX\n" "UX8ML\n" "UX8MM\n" "UX8ZA\n" "UY0CA\n" "UY0IR\n" "UY0IX\n" "UY0MM\n" "UY0ZA\n" "UY0ZG\n" "UY1HY\n" "UY1LS\n" "UY1U\n" "UY2IF\n" "UY2IG\n" "UY2IJ\n" "UY2IZ\n" "UY2MQ\n" "UY2RA\n" "UY2RZ\n" "UY2UA\n" "UY2UQ\n" "UY2UZ\n" "UY2VM\n" "UY2ZA\n" "UY2ZZ\n" "UY3AW\n" "UY3CC\n" "UY3LA\n" "UY3MW\n" "UY3QT\n" "UY3QW\n" "UY4F\n" "UY4WWA\n" "UY5AA\n" "UY5AB\n" "UY5AO\n" "UY5AP\n" "UY5AR\n" "UY5AX\n" "UY5BA\n" "UY5BC\n" "UY5BO\n" "UY5BT\n" "UY5EI\n" "UY5HF\n" "UY5LM\n" "UY5MB\n" "UY5ME\n" "UY5MR\n" "UY5QJ\n" "UY5QO\n" "UY5QZ\n" "UY5TE\n" "UY5TF\n" "UY5UO\n" "UY5UV\n" "UY5VA\n" "UY5YA\n" "UY5YB\n" "UY5ZI\n" "UY5ZZ\n" "UY5ZZ/A\n" "UY6IM\n" "UY7C\n" "UY7IO\n" "UY7IQ\n" "UY7LA\n" "UY7LM\n" "UY7LU\n" "UY7M\n" "UY7MM\n" "UY7QF\n" "UY7QN\n" "UY8IF\n" "UY8LM\n" "UY9IF\n" "UY9IM\n" "UY9IX\n" "UY9QY\n" "UZ0U\n" "UZ1G\n" "UZ1H\n" "UZ1RR\n" "UZ2FWB\n" "UZ2HZ\n" "UZ2I\n" "UZ2LL\n" "UZ2M\n" "UZ4E\n" "UZ4L\n" "UZ5I\n" "UZ5Q\n" "UZ5U\n" "UZ5UA\n" "UZ7HO\n" "UZ7M\n" "UZ7U\n" "UZ8I\n" "UZ8L\n" "V21MJ\n" "V25JK\n" "V25Y\n" "V25Z\n" "V26B\n" "V26E\n" "V26F\n" "V26G\n" "V26K\n" "V26M\n" "V31CW\n" "V31GW\n" "V31MD\n" "V31MU\n" "V31MW\n" "V31MX\n" "V31PT\n" "V31RI\n" "V31RR\n" "V31TB\n" "V31TP\n" "V31WA\n" "V31WO\n" "V31WV\n" "V31WVK\n" "V31YN\n" "V44KAI\n" "V47JA\n" "V47NT\n" "V48M\n" "V49A\n" "V51AS\n" "V51GB\n" "V51YJ\n" "V55X\n" "V63MY\n" "V73NS\n" "V85SS\n" "V8AQM\n" "VA1CC\n" "VA1CHP\n" "VA1IVY\n" "VA1MM\n" "VA1SEA\n" "VA1XBN\n" "VA2AAB\n" "VA2AAE\n" "VA2AM\n" "VA2AN\n" "VA2AY\n" "VA2BK\n" "VA2BN\n" "VA2BS\n" "VA2CT\n" "VA2EW\n" "VA2GU\n" "VA2KK\n" "VA2KT\n" "VA2LC\n" "VA2LGQ\n" "VA2MZ\n" "VA2PC\n" "VA2PR\n" "VA2PZ\n" "VA2RF\n" "VA2RIO\n" "VA2RM\n" "VA2RP\n" "VA2SG\n" "VA2TG\n" "VA2UP\n" "VA2UT\n" "VA2WDQ\n" "VA2WT\n" "VA2ZA\n" "VA2ZM\n" "VA2ZZ\n" "VA3AAO\n" "VA3ADW\n" "VA3AG\n" "VA3AM\n" "VA3ARK\n" "VA3ARS\n" "VA3ATT\n" "VA3BD\n" "VA3BI\n" "VA3BOH\n" "VA3CCO\n" "VA3CDX\n" "VA3CFK\n" "VA3CWT\n" "VA3DF\n" "VA3DN\n" "VA3DX\n" "VA3DZ\n" "VA3EBM\n" "VA3EC\n" "VA3ECO\n" "VA3FN\n" "VA3FP\n" "VA3GD\n" "VA3GFD\n" "VA3GGF\n" "VA3GKO\n" "VA3GL\n" "VA3GML\n" "VA3GUY\n" "VA3GVS\n" "VA3HIE\n" "VA3HJ\n" "VA3HP\n" "VA3HUN\n" "VA3IBL\n" "VA3IC\n" "VA3ICW\n" "VA3IX\n" "VA3JFF/W1\n" "VA3JWR\n" "VA3KA\n" "VA3KAI\n" "VA3KGS\n" "VA3KSF\n" "VA3MJR\n" "VA3MN\n" "VA3MO\n" "VA3NA\n" "VA3NN\n" "VA3NPL\n" "VA3NQ\n" "VA3NR\n" "VA3OBR\n" "VA3OC\n" "VA3OR\n" "VA3ORI\n" "VA3OX\n" "VA3PC\n" "VA3PEN\n" "VA3PL\n" "VA3QV\n" "VA3RDC\n" "VA3RJ\n" "VA3RKM\n" "VA3RNJ\n" "VA3SB\n" "VA3SK\n" "VA3STG\n" "VA3SWG\n" "VA3SX\n" "VA3THC\n" "VA3TPS\n" "VA3TSG\n" "VA3TTU\n" "VA3TV\n" "VA3TVW\n" "VA3VF\n" "VA3VO\n" "VA3VU\n" "VA3VW\n" "VA3VY\n" "VA3WL\n" "VA3WLD\n" "VA3WPV\n" "VA3WR\n" "VA3WU\n" "VA3WWC\n" "VA3XH\n" "VA3XQ\n" "VA3YOJ\n" "VA3YP\n" "VA3YT\n" "VA3YX\n" "VA3ZC\n" "VA3ZTZ\n" "VA3ZW\n" "VA3ZWT\n" "VA4DX\n" "VA4GD\n" "VA4HZ\n" "VA5DX\n" "VA5LF\n" "VA5RI\n" "VA6APB\n" "VA6AW\n" "VA6BSH\n" "VA6FZ\n" "VA6IK\n" "VA6MM\n" "VA6NJK\n" "VA6OZ\n" "VA6RAR\n" "VA6UK\n" "VA6XDX\n" "VA6ZZZ\n" "VA7AD\n" "VA7ALK\n" "VA7AM\n" "VA7AO\n" "VA7APK\n" "VA7AQ\n" "VA7BEC\n" "VA7BS\n" "VA7CAB\n" "VA7CE\n" "VA7CPC\n" "VA7CRO\n" "VA7CRZ\n" "VA7DER\n" "VA7DIN\n" "VA7DM\n" "VA7DX\n" "VA7DXC\n" "VA7DZ\n" "VA7FC\n" "VA7GAP\n" "VA7GEM\n" "VA7GG\n" "VA7HZ\n" "VA7IR\n" "VA7JC\n" "VA7JW\n" "VA7KO\n" "VA7MEV\n" "VA7MJR\n" "VA7MM\n" "VA7MT\n" "VA7ND\n" "VA7OA\n" "VA7OO\n" "VA7PGE\n" "VA7PX\n" "VA7RME\n" "VA7RMM\n" "VA7RN\n" "VA7RR\n" "VA7RY\n" "VA7ST\n" "VA7SW\n" "VA7TF\n" "VA7TT\n" "VA7VI\n" "VA7VJ\n" "VA7VV\n" "VA7VZZ\n" "VA7XB\n" "VA7XX\n" "VA7ZOO\n" "VC2A\n" "VC2E\n" "VC2W\n" "VC2Z\n" "VC3A\n" "VC3COPP\n" "VC3D\n" "VC3O\n" "VC3Y\n" "VC6R\n" "VC6T\n" "VC6X\n" "VC7C\n" "VE1/K3OMI\n" "VE1AHX\n" "VE1AI\n" "VE1AL\n" "VE1AOE\n" "VE1ARG\n" "VE1AWC\n" "VE1AYY\n" "VE1AZV\n" "VE1BB\n" "VE1BU\n" "VE1BVD\n" "VE1BZI\n" "VE1CJB\n" "VE1CTW\n" "VE1CZ\n" "VE1DC\n" "VE1DHD\n" "VE1DI\n" "VE1DT\n" "VE1DX\n" "VE1EP\n" "VE1FO/9\n" "VE1GW\n" "VE1IM\n" "VE1JF\n" "VE1JS\n" "VE1KF\n" "VE1KY\n" "VE1MC\n" "VE1NB\n" "VE1OP\n" "VE1QA\n" "VE1QY\n" "VE1RAR\n" "VE1RGB\n" "VE1RHP\n" "VE1RSM\n" "VE1SD\n" "VE1SK\n" "VE1SKY\n" "VE1SQ\n" "VE1TK\n" "VE1TRI\n" "VE1TT\n" "VE1UT\n" "VE1UY\n" "VE1WO\n" "VE1WT\n" "VE1XZ\n" "VE1YVN\n" "VE1YX\n" "VE1ZA\n" "VE1ZAC\n" "VE1ZD\n" "VE1ZJ\n" "VE1ZZ\n" "VE2ACP\n" "VE2AEJ\n" "VE2AFC\n" "VE2AHS\n" "VE2ARR\n" "VE2AWN\n" "VE2AWR\n" "VE2AWW\n" "VE2AXO\n" "VE2BDR\n" "VE2BQB\n" "VE2BR\n" "VE2BWL\n" "VE2CAQ\n" "VE2CPD\n" "VE2DC\n" "VE2DJC\n" "VE2DLC\n" "VE2DWA\n" "VE2DX\n" "VE2DXQ\n" "VE2DXY\n" "VE2EBL\n" "VE2EH\n" "VE2EKA\n" "VE2EWQ\n" "VE2EZD\n" "VE2FET\n" "VE2FFE\n" "VE2FK\n" "VE2FKZ\n" "VE2FU\n" "VE2FWW\n" "VE2FXL\n" "VE2GHI\n" "VE2GK\n" "VE2GLA\n" "VE2GSO\n" "VE2HAY\n" "VE2HLS\n" "VE2IM\n" "VE2JCW\n" "VE2JD\n" "VE2JMK\n" "VE2KH\n" "VE2LQ\n" "VE2LSF\n" "VE2LX\n" "VE2MAB\n" "VE2MRN\n" "VE2OJ\n" "VE2OPB\n" "VE2OTW\n" "VE2OWL\n" "VE2PC\n" "VE2PEP\n" "VE2PZ\n" "VE2QAU\n" "VE2QRA\n" "VE2QV\n" "VE2QV/3\n" "VE2QY\n" "VE2RA\n" "VE2RDQ\n" "VE2RO\n" "VE2RYY\n" "VE2SB\n" "VE2SBJ\n" "VE2SG\n" "VE2SHF\n" "VE2TBK\n" "VE2TG\n" "VE2TH\n" "VE2TKH\n" "VE2TZT\n" "VE2UMS\n" "VE2VIG\n" "VE2WKO\n" "VE2XAA\n" "VE2XAA/2\n" "VE2XX\n" "VE2YY\n" "VE2ZV\n" "VE2ZVZ\n" "VE3AAQ\n" "VE3ABG\n" "VE3ACA\n" "VE3AD\n" "VE3ADQ\n" "VE3AGC\n" "VE3AJ\n" "VE3AP\n" "VE3AR\n" "VE3ARF\n" "VE3AT\n" "VE3AWE\n" "VE3AXC\n" "VE3AZA\n" "VE3BDN\n" "VE3BHZ\n" "VE3BK\n" "VE3BKA\n" "VE3BLB\n" "VE3BNO\n" "VE3BVA\n" "VE3BW\n" "VE3BXI\n" "VE3BY\n" "VE3C\n" "VE3CAK\n" "VE3CCT\n" "VE3CFK\n" "VE3CG\n" "VE3CGC\n" "VE3CGR\n" "VE3CH\n" "VE3CKG\n" "VE3CLQ\n" "VE3CM\n" "VE3CMB\n" "VE3CNX\n" "VE3CPK\n" "VE3CPP\n" "VE3CR\n" "VE3CRG\n" "VE3CRO\n" "VE3CRU\n" "VE3CSJ\n" "VE3CSK\n" "VE3CTO\n" "VE3CUI\n" "VE3CW\n" "VE3CWO\n" "VE3CWP\n" "VE3CWU\n" "VE3CX\n" "VE3CXD\n" "VE3CXT\n" "VE3CZ\n" "VE3DBP\n" "VE3DC\n" "VE3DDG\n" "VE3DJX\n" "VE3DO\n" "VE3DPZ\n" "VE3DX\n" "VE3DZ\n" "VE3EBN\n" "VE3EDM\n" "VE3EDY\n" "VE3EFC\n" "VE3EGC\n" "VE3EJ\n" "VE3EK\n" "VE3EL\n" "VE3ELL\n" "VE3EN\n" "VE3ENG\n" "VE3EP\n" "VE3EWW\n" "VE3EXW\n" "VE3EXY\n" "VE3EY\n" "VE3EZP\n" "VE3FAS\n" "VE3FDK\n" "VE3FDT\n" "VE3FDX/W4\n" "VE3FGU\n" "VE3FH\n" "VE3FJ\n" "VE3FJB\n" "VE3FLT\n" "VE3FRJ\n" "VE3FRX\n" "VE3FSJ\n" "VE3FST\n" "VE3FTM\n" "VE3FU\n" "VE3FWF\n" "VE3FZ\n" "VE3GB\n" "VE3GFN\n" "VE3GIN\n" "VE3GJA\n" "VE3GLA\n" "VE3GLO\n" "VE3GLU\n" "VE3GN\n" "VE3GNB\n" "VE3GNO\n" "VE3GNX\n" "VE3GO\n" "VE3GPH\n" "VE3GPM\n" "VE3GSI\n" "VE3GYL\n" "VE3GZD\n" "VE3HG\n" "VE3HIA\n" "VE3HLS\n" "VE3HOL\n" "VE3HUR\n" "VE3HX\n" "VE3IAE\n" "VE3ICV\n" "VE3IDT\n" "VE3IFS/W2\n" "VE3IGJ\n" "VE3IIE\n" "VE3IKT\n" "VE3ILG\n" "VE3IN\n" "VE3IPS\n" "VE3IQ\n" "VE3ISO\n" "VE3IZZ\n" "VE3JAQ\n" "VE3JAS\n" "VE3JDF\n" "VE3JDF/W4\n" "VE3JI\n" "VE3JM\n" "VE3JSQ\n" "VE3KAO\n" "VE3KF\n" "VE3KI\n" "VE3KKB\n" "VE3KKQ\n" "VE3KL\n" "VE3KP\n" "VE3KPP\n" "VE3KQN\n" "VE3KWK\n" "VE3KZ\n" "VE3LC\n" "VE3LFJ\n" "VE3LFN\n" "VE3LKV\n" "VE3LLL\n" "VE3LR\n" "VE3LXL\n" "VE3LXV\n" "VE3MA\n" "VE3MCF\n" "VE3MCZ\n" "VE3MGY\n" "VE3MIA\n" "VE3MIH\n" "VE3MIS\n" "VE3MLK\n" "VE3MM\n" "VE3MMB\n" "VE3MMQ\n" "VE3MNE\n" "VE3MO\n" "VE3MS\n" "VE3MV\n" "VE3MWX\n" "VE3MXJ\n" "VE3NB\n" "VE3NCQ\n" "VE3NE\n" "VE3NLH\n" "VE3NOO\n" "VE3NPO\n" "VE3NQM\n" "VE3NRG\n" "VE3NYX\n" "VE3NYZ\n" "VE3NZ\n" "VE3OBU\n" "VE3OI\n" "VE3OIL\n" "VE3OKK\n" "VE3OM\n" "VE3OQM\n" "VE3OSC\n" "VE3OSZ\n" "VE3OU\n" "VE3OWO\n" "VE3OX\n" "VE3OZO\n" "VE3PA\n" "VE3PN\n" "VE3PST\n" "VE3PTC\n" "VE3PYJ\n" "VE3QAA\n" "VE3QBH\n" "VE3QDR\n" "VE3QN\n" "VE3QO\n" "VE3QRA\n" "VE3QT\n" "VE3RBE\n" "VE3RCN\n" "VE3RER\n" "VE3RHD\n" "VE3RIA\n" "VE3RM\n" "VE3RRH\n" "VE3RSA\n" "VE3RTU\n" "VE3RWA\n" "VE3RYI\n" "VE3RZ\n" "VE3SAO\n" "VE3SAQ\n" "VE3SCP\n" "VE3SIQ\n" "VE3SMA\n" "VE3SMN\n" "VE3SS\n" "VE3SSR\n" "VE3SSV\n" "VE3SUA\n" "VE3SUB\n" "VE3SWA\n" "VE3SXB\n" "VE3TA\n" "VE3TAZ\n" "VE3TC\n" "VE3TEI\n" "VE3TES\n" "VE3THX\n" "VE3TLT\n" "VE3TMG\n" "VE3TMT\n" "VE3TU\n" "VE3TV\n" "VE3TW\n" "VE3TWM\n" "VE3UEK\n" "VE3UK\n" "VE3UN\n" "VE3UTT\n" "VE3UUH\n" "VE3UWC\n" "VE3UZ\n" "VE3VA\n" "VE3VAW\n" "VE3VC\n" "VE3VID\n" "VE3VJ\n" "VE3VJC\n" "VE3VMJ\n" "VE3VO\n" "VE3VOE\n" "VE3VV\n" "VE3WBJ\n" "VE3WBR\n" "VE3WDM\n" "VE3WE\n" "VE3WEJ\n" "VE3WF\n" "VE3WIB\n" "VE3WKG\n" "VE3WLD\n" "VE3WRW\n" "VE3WZ\n" "VE3XAT\n" "VE3XB\n" "VE3XBR\n" "VE3XBX\n" "VE3XC\n" "VE3XD\n" "VE3XL\n" "VE3XN\n" "VE3YAA\n" "VE3YEN\n" "VE3YN\n" "VE3YRI\n" "VE3YV\n" "VE3YXO\n" "VE3YYK\n" "VE3ZI\n" "VE3ZIN\n" "VE3ZT\n" "VE3ZZ\n" "VE4AEO\n" "VE4AMU\n" "VE4BAE\n" "VE4BG\n" "VE4DRN\n" "VE4DS\n" "VE4DXX\n" "VE4EA\n" "VE4EAR\n" "VE4GF\n" "VE4GR\n" "VE4GV\n" "VE4IHF\n" "VE4JCJ\n" "VE4KT\n" "VE4ME/W4\n" "VE4MG\n" "VE4MT\n" "VE4RA\n" "VE4TV\n" "VE4XT\n" "VE4YU\n" "VE5AAD\n" "VE5BCS\n" "VE5CPU\n" "VE5DLM\n" "VE5FF\n" "VE5FN\n" "VE5FX\n" "VE5KC\n" "VE5MX\n" "VE5PM\n" "VE5PV\n" "VE5RI\n" "VE5SF\n" "VE5SMC\n" "VE5SWL\n" "VE5TLW\n" "VE5UA\n" "VE5UF\n" "VE5WI\n" "VE5ZC\n" "VE5ZG\n" "VE5ZX\n" "VE6ADS\n" "VE6AID\n" "VE6AML\n" "VE6AO\n" "VE6APL\n" "VE6AVK\n" "VE6AX\n" "VE6AXA\n" "VE6BBP\n" "VE6BF\n" "VE6BI\n" "VE6BIR\n" "VE6BIR/3\n" "VE6BP\n" "VE6CMV\n" "VE6CN\n" "VE6CNU\n" "VE6CPU\n" "VE6DC\n" "VE6DDD\n" "VE6DJT\n" "VE6DLH\n" "VE6DO\n" "VE6DXX\n" "VE6ECK\n" "VE6EPK\n" "VE6EX\n" "VE6EXE\n" "VE6EZ\n" "VE6EZ/7\n" "VE6FI\n" "VE6FN\n" "VE6FT\n" "VE6GGF\n" "VE6GJ\n" "VE6HII\n" "VE6HX\n" "VE6IM\n" "VE6IV\n" "VE6JC\n" "VE6JJO\n" "VE6JOY\n" "VE6JY\n" "VE6KC\n" "VE6KD\n" "VE6KK\n" "VE6LB\n" "VE6LDX\n" "VE6LE\n" "VE6MAA\n" "VE6MO\n" "VE6MRV\n" "VE6MRX\n" "VE6MV\n" "VE6NA\n" "VE6NC\n" "VE6NL\n" "VE6NU\n" "VE6OH\n" "VE6PG\n" "VE6PL\n" "VE6PR\n" "VE6RAC\n" "VE6RRD\n" "VE6RST\n" "VE6SF\n" "VE6SH\n" "VE6SKU\n" "VE6SKY\n" "VE6SQ\n" "VE6STP\n" "VE6SV\n" "VE6TA\n" "VE6TC\n" "VE6TCK\n" "VE6TD\n" "VE6TL\n" "VE6TN\n" "VE6TR\n" "VE6TRD\n" "VE6US\n" "VE6VK\n" "VE6WDE\n" "VE6WQ\n" "VE6WTF\n" "VE6WZ\n" "VE6YC\n" "VE6YV\n" "VE6ZC\n" "VE7ABC\n" "VE7AF\n" "VE7AFZ\n" "VE7AHA\n" "VE7AHT\n" "VE7AIJ\n" "VE7APF\n" "VE7AV\n" "VE7AX\n" "VE7AXU\n" "VE7BC\n" "VE7BCJ\n" "VE7BDO\n" "VE7BGP\n" "VE7BQ\n" "VE7BQO\n" "VE7BSM\n" "VE7BV\n" "VE7BZR\n" "VE7CA\n" "VE7CC\n" "VE7CF\n" "VE7CFZ\n" "VE7CML\n" "VE7CNA\n" "VE7CNW\n" "VE7CT\n" "VE7CUS\n" "VE7CV\n" "VE7CYY\n" "VE7DAO\n" "VE7DD\n" "VE7DHJ\n" "VE7DP\n" "VE7DSE\n" "VE7DX\n" "VE7DXE\n" "VE7DXH\n" "VE7EPP\n" "VE7FCO\n" "VE7FE\n" "VE7FEI\n" "VE7FI\n" "VE7FO\n" "VE7GBK\n" "VE7GL\n" "VE7GPZ\n" "VE7GTC\n" "VE7HA\n" "VE7HBS\n" "VE7HJ\n" "VE7HL\n" "VE7IAF\n" "VE7IG\n" "VE7IJJ\n" "VE7IN\n" "VE7IO\n" "VE7IO/7\n" "VE7IX\n" "VE7JKZ\n" "VE7JQ\n" "VE7JT\n" "VE7JZ\n" "VE7KB\n" "VE7KDU\n" "VE7KFM\n" "VE7KS\n" "VE7KWA\n" "VE7LGI\n" "VE7MID\n" "VE7MR\n" "VE7NA\n" "VE7NF\n" "VE7NGR\n" "VE7NI\n" "VE7NS\n" "VE7NSR\n" "VE7NX\n" "VE7ODS\n" "VE7OGO\n" "VE7ON\n" "VE7PTT\n" "VE7QC\n" "VE7RSV\n" "VE7SA\n" "VE7SAG\n" "VE7SCC\n" "VE7SK\n" "VE7SNC\n" "VE7SQ\n" "VE7SV\n" "VE7SZ\n" "VE7TGV\n" "VE7TK\n" "VE7TUG\n" "VE7UF\n" "VE7UQ\n" "VE7URS\n" "VE7VF\n" "VE7VR\n" "VE7VV\n" "VE7VZ\n" "VE7WEB\n" "VE7WU\n" "VE7WWW\n" "VE7WY\n" "VE7XF\n" "VE7XT\n" "VE7XV\n" "VE7YJ\n" "VE7YL\n" "VE7YU\n" "VE7ZR\n" "VE7ZTW\n" "VE7ZZF\n" "VE8DAV\n" "VE8DW\n" "VE8EV\n" "VE8GER\n" "VE8NSD\n" "VE9AA\n" "VE9CEH\n" "VE9CX\n" "VE9DX\n" "VE9EZ\n" "VE9GJ\n" "VE9GLF\n" "VE9GU\n" "VE9HF\n" "VE9IS\n" "VE9JT\n" "VE9KAR\n" "VE9ML\n" "VE9MOE\n" "VE9MY\n" "VE9NC\n" "VE9OX\n" "VE9QRP\n" "VE9ST\n" "VE9XA\n" "VE9XX\n" "VE9ZX\n" "VER20100809\n" "VK1CC\n" "VK1GG/VK2\n" "VK1MJ\n" "VK2ABK\n" "VK2ACC\n" "VK2AET\n" "VK2APG\n" "VK2AR\n" "VK2AWA\n" "VK2AWD\n" "VK2AYD\n" "VK2BCQ\n" "VK2BD\n" "VK2BJ\n" "VK2BNG\n" "VK2BPL\n" "VK2CA\n" "VK2CCC\n" "VK2DAG\n" "VK2DV\n" "VK2FAJM\n" "VK2FTZ\n" "VK2GKA\n" "VK2GR\n" "VK2GWK\n" "VK2HBG\n" "VK2HEW\n" "VK2HJW\n" "VK2HOT\n" "VK2HV\n" "VK2IA\n" "VK2IM\n" "VK2IR\n" "VK2JZD\n" "VK2KDP\n" "VK2KM\n" "VK2KPP\n" "VK2LAW\n" "VK2MDY\n" "VK2MWG\n" "VK2NA\n" "VK2NCD\n" "VK2NOS\n" "VK2NRB\n" "VK2NSS\n" "VK2NU\n" "VK2PN\n" "VK2SF\n" "VK2UZ\n" "VK2WAY\n" "VK2WGW\n" "VK2WTT\n" "VK2XF\n" "VK2XN\n" "VK2ZF\n" "VK2ZQ\n" "VK3ACT\n" "VK3AMA\n" "VK3AMK\n" "VK3AMZ\n" "VK3AVV\n" "VK3DWS\n" "VK3EGN\n" "VK3EW\n" "VK3FGRC\n" "VK3FM\n" "VK3FRC\n" "VK3FT\n" "VK3FY\n" "VK3GDM\n" "VK3GK\n" "VK3HE\n" "VK3HJ\n" "VK3HJA\n" "VK3HR\n" "VK3IO\n" "VK3JMB\n" "VK3KE\n" "VK3LB\n" "VK3LK\n" "VK3LM\n" "VK3MDX\n" "VK3MO\n" "VK3NDX\n" "VK3NI\n" "VK3PA\n" "VK3PTO\n" "VK3QI\n" "VK3TC\n" "VK3TDX\n" "VK3TZ\n" "VK3VBC\n" "VK3VIN\n" "VK3VT\n" "VK3VTH\n" "VK3WF\n" "VK3YB\n" "VK3YXC\n" "VK3ZJ\n" "VK4/NL8F\n" "VK4AAR\n" "VK4AAV\n" "VK4AN\n" "VK4ATH\n" "VK4BL\n" "VK4BU\n" "VK4BUI\n" "VK4CMV\n" "VK4CQ\n" "VK4CZ\n" "VK4DMP\n" "VK4DX\n" "VK4DZ\n" "VK4EJ\n" "VK4EMM\n" "VK4FJ\n" "VK4FNQ\n" "VK4FRAJ\n" "VK4GH\n" "VK4HAM\n" "VK4HDX\n" "VK4HFO\n" "VK4HG\n" "VK4IU\n" "VK4IZ\n" "VK4KAD\n" "VK4KEE\n" "VK4KKD\n" "VK4KW\n" "VK4LDX\n" "VK4LMB\n" "VK4MA\n" "VK4MIT\n" "VK4OQ\n" "VK4PN\n" "VK4QO\n" "VK4SN\n" "VK4SS\n" "VK4TBW\n" "VK4TI\n" "VK4TJF\n" "VK4TT\n" "VK4VDX\n" "VK4WI\n" "VK4WIL\n" "VK4WR\n" "VK4XA\n" "VK4XES\n" "VK4XY\n" "VK4YN\n" "VK4ZD\n" "VK4ZJR\n" "VK5BC\n" "VK5HRT\n" "VK5LA\n" "VK5MAV\n" "VK5NPR\n" "VK5SW\n" "VK6AA\n" "VK6AHR\n" "VK6AJ\n" "VK6ANC\n" "VK6APZ\n" "VK6ARW\n" "VK6BN\n" "VK6DU\n" "VK6DXI\n" "VK6EH\n" "VK6FDX\n" "VK6HD\n" "VK6HG\n" "VK6HZ\n" "VK6IR\n" "VK6JJ\n" "VK6LC\n" "VK6LK\n" "VK6LW\n" "VK6NC\n" "VK6NTE\n" "VK6RO\n" "VK6RZ\n" "VK6VR\n" "VK6VZ\n" "VK6WR\n" "VK6YS\n" "VK6ZN/5\n" "VK7AC\n" "VK7AD\n" "VK7FWAY\n" "VK7GK\n" "VK7GN\n" "VK7GZ\n" "VK7JB\n" "VK7ROY\n" "VK7TS\n" "VK7WI\n" "VK7XX\n" "VK7ZE\n" "VK7ZGK\n" "VK8AV\n" "VK8GMT/VK2\n" "VK8NSB\n" "VK8PDX\n" "VK9AA\n" "VK9DWX\n" "VK9LA\n" "VK9XW\n" "VO1AA\n" "VO1ABN\n" "VO1BB\n" "VO1BBN\n" "VO1BE\n" "VO1BQ\n" "VO1DD\n" "VO1DJT\n" "VO1FD\n" "VO1FU\n" "VO1FZ\n" "VO1GO\n" "VO1GXG\n" "VO1HE\n" "VO1HP\n" "VO1KVT\n" "VO1MP\n" "VO1NM\n" "VO1OR\n" "VO1SA\n" "VO1TA\n" "VO1TK\n" "VO1TTY\n" "VO1TX\n" "VO1UL\n" "VO1XT\n" "VO2/GM0TQJ\n" "VO2FF\n" "VO2NS\n" "VO3A\n" "VP2E\n" "VP2EC\n" "VP2ETN\n" "VP2MDG\n" "VP2MNK\n" "VP2MPR\n" "VP2VVA\n" "VP50V\n" "VP59V\n" "VP5CM\n" "VP5DF\n" "VP5DX\n" "VP5H\n" "VP5JM\n" "VP5T\n" "VP5W\n" "VP8BKF\n" "VP8DIF\n" "VP8DMH\n" "VP8KF\n" "VP8NO\n" "VP9/AA4V\n" "VP9/K3IRV\n" "VP9/K3TRM\n" "VP9/N1SNB\n" "VP9/W6PH\n" "VP9400I\n" "VP9AD\n" "VP9BO\n" "VP9HE\n" "VP9HW\n" "VP9I\n" "VQ5B\n" "VQ5V\n" "VQ90JC\n" "VQ99JC\n" "VQ9JC\n" "VQ9LA\n" "VQ9RD\n" "VQ9X\n" "VR2009EAG\n" "VR2AAW\n" "VR2C\n" "VR2CB\n" "VR2CD\n" "VR2HF\n" "VR2HK\n" "VR2IZ\n" "VR2JK\n" "VR2NN\n" "VR2PW\n" "VR2PX\n" "VR2UW\n" "VR2XLN\n" "VR2XMT\n" "VR2YQU\n" "VR2YYW\n" "VR2ZQZ/P\n" "VR2ZRE\n" "VU2BGS\n" "VU2DK\n" "VU2HFR\n" "VU2JOS\n" "VU2LBW\n" "VU2NKS\n" "VU2ORO\n" "VU2PAI\n" "VU2PEP\n" "VU2PTT\n" "VU2RCT\n" "VU2RMS\n" "VU2SWS\n" "VU2TS\n" "VU2UR\n" "VU3DJQ\n" "VU3DMP\n" "VU3USJ\n" "VU4MY\n" "VU4RG\n" "VU7NRO\n" "VU7SJ\n" "VX3AP\n" "VX3CW\n" "VX3CX\n" "VX3FH\n" "VX3JAQ\n" "VX3OI\n" "VX3RTU\n" "VX3RZ\n" "VX3S\n" "VX3XN\n" "VX6AO\n" "VX6AX\n" "VX6WQ\n" "VX7BC\n" "VX7CC\n" "VX7ZD\n" "VX9HF\n" "VX9NC\n" "VY0HL\n" "VY0PW\n" "VY1CQ\n" "VY1EI\n" "VY1WUD\n" "VY2EJ\n" "VY2GM\n" "VY2LI\n" "VY2MP\n" "VY2MT\n" "VY2OM\n" "VY2RAC\n" "VY2RG\n" "VY2RO\n" "VY2RU\n" "VY2RWM\n" "VY2SS\n" "VY2TT\n" "VY2ZM\n" "W0AAA\n" "W0AD\n" "W0AG\n" "W0AIH\n" "W0AMX\n" "W0AR\n" "W0ARK\n" "W0AV\n" "W0AVE\n" "W0AW\n" "W0AWL\n" "W0BBI\n" "W0BCA\n" "W0BE\n" "W0BF\n" "W0BH\n" "W0BKR\n" "W0BM\n" "W0BNW\n" "W0BR\n" "W0BUW\n" "W0BV\n" "W0BVR\n" "W0CAR\n" "W0CBH\n" "W0CCA\n" "W0CEM\n" "W0CGR\n" "W0CM\n" "W0CML\n" "W0CN\n" "W0CNN\n" "W0CO\n" "W0CP\n" "W0CQ\n" "W0CRC\n" "W0CZ\n" "W0CZE\n" "W0DC\n" "W0DD\n" "W0DET\n" "W0DF\n" "W0DHB\n" "W0DJH\n" "W0DLE\n" "W0DOX\n" "W0EAR\n" "W0EB\n" "W0ECS\n" "W0EEA\n" "W0EF\n" "W0EJ\n" "W0EK\n" "W0EKS\n" "W0ELT\n" "W0EM\n" "W0EOZ\n" "W0EP\n" "W0EPC\n" "W0ERE\n" "W0ERP\n" "W0ETT\n" "W0EWD\n" "W0EWM\n" "W0FE\n" "W0FF\n" "W0FK\n" "W0FL\n" "W0FLS\n" "W0FM\n" "W0FMS\n" "W0FRC\n" "W0FS\n" "W0FV\n" "W0GG\n" "W0GHZ\n" "W0GJ\n" "W0GLB\n" "W0GMO\n" "W0GXN\n" "W0GXQ\n" "W0GZR\n" "W0HBH\n" "W0HDC\n" "W0HJW\n" "W0HMS\n" "W0HR\n" "W0HT\n" "W0HW\n" "W0HXL\n" "W0HY\n" "W0ICY\n" "W0IF\n" "W0IJR\n" "W0IMD\n" "W0IS\n" "W0IVJ\n" "W0IW\n" "W0IYH\n" "W0IZ\n" "W0IZL\n" "W0JA\n" "W0JEC\n" "W0JEE\n" "W0JFR\n" "W0JH\n" "W0JIM\n" "W0JLC\n" "W0JPL\n" "W0JRP\n" "W0JX\n" "W0KC\n" "W0KIT\n" "W0KSD\n" "W0KT\n" "W0KU\n" "W0KVA\n" "W0LB\n" "W0LEO\n" "W0LFZ\n" "W0LGU\n" "W0LK\n" "W0LM\n" "W0LS\n" "W0LSD\n" "W0LTL\n" "W0LV\n" "W0LWU\n" "W0MA\n" "W0MF\n" "W0MHK\n" "W0MJN\n" "W0ML\n" "W0MM\n" "W0MN\n" "W0MOT\n" "W0MR\n" "W0MRM\n" "W0MRZ\n" "W0MSM\n" "W0MSR\n" "W0MTW\n" "W0MU\n" "W0NA\n" "W0NB\n" "W0NFD\n" "W0NFS\n" "W0NMD\n" "W0NN\n" "W0NO\n" "W0NT\n" "W0NTA\n" "W0NUH\n" "W0NV\n" "W0NZG\n" "W0ODS\n" "W0OF\n" "W0OJ\n" "W0OP\n" "W0OR\n" "W0OR/4\n" "W0OTM\n" "W0OTV\n" "W0OXJ\n" "W0PAN\n" "W0PB\n" "W0PC\n" "W0PI\n" "W0PPF\n" "W0PQ\n" "W0PR\n" "W0PRS\n" "W0PS\n" "W0PSS\n" "W0PTI\n" "W0PV\n" "W0PYZ\n" "W0QE\n" "W0QL\n" "W0QQ\n" "W0QQG\n" "W0RAA\n" "W0RC\n" "W0RDS\n" "W0RHT\n" "W0RI\n" "W0RIC\n" "W0RLI\n" "W0RO\n" "W0RSB\n" "W0RSP\n" "W0RSR\n" "W0RT\n" "W0RU\n" "W0RUN\n" "W0RX\n" "W0SD\n" "W0SHL\n" "W0SK\n" "W0SLW\n" "W0SM\n" "W0SO\n" "W0SRC\n" "W0STB\n" "W0SV\n" "W0TAW\n" "W0TF\n" "W0TL\n" "W0TLE\n" "W0TT\n" "W0TU\n" "W0TUP\n" "W0TVD\n" "W0TY\n" "W0UA\n" "W0UC\n" "W0UCE\n" "W0UD\n" "W0UO\n" "W0UOW\n" "W0UVC\n" "W0UY\n" "W0UY/5\n" "W0VB\n" "W0VD\n" "W0VHV\n" "W0VOM\n" "W0VX\n" "W0WLL\n" "W0WMU\n" "W0WN\n" "W0WOI\n" "W0WP\n" "W0WPL\n" "W0WQ\n" "W0WSP\n" "W0XG\n" "W0XL\n" "W0XV\n" "W0XXX\n" "W0YHE\n" "W0YJT\n" "W0YK\n" "W0YK/6\n" "W0YNI\n" "W0YR\n" "W0YRN\n" "W0YSE\n" "W0YV\n" "W0YVA\n" "W0YY\n" "W0YZZ\n" "W0ZA\n" "W0ZC\n" "W0ZD\n" "W0ZH\n" "W0ZKE\n" "W0ZP\n" "W0ZQ\n" "W0ZR\n" "W0ZS\n" "W0ZT\n" "W0ZTL\n" "W0ZU\n" "W0ZW\n" "W1/YO7ARY\n" "W1AAX\n" "W1ACC\n" "W1ACT\n" "W1AD\n" "W1AF\n" "W1AH\n" "W1AIU\n" "W1AJT\n" "W1AMF\n" "W1AMJ\n" "W1AN\n" "W1AO\n" "W1AR\n" "W1ASB\n" "W1ATA\n" "W1ATV\n" "W1AUV\n" "W1AVK\n" "W1AW\n" "W1AX\n" "W1BB\n" "W1BBQ\n" "W1BCD\n" "W1BEM\n" "W1BHC\n" "W1BJ\n" "W1BLT\n" "W1BNC\n" "W1BR\n" "W1BS\n" "W1BUZ\n" "W1BV\n" "W1BYH\n" "W1CBI\n" "W1CC\n" "W1CCE\n" "W1CCE/4\n" "W1CDX\n" "W1CKA\n" "W1CRK\n" "W1CRP\n" "W1CRS\n" "W1CSM\n" "W1CTN\n" "W1CU\n" "W1CVE\n" "W1CWU\n" "W1DAD\n" "W1DBD\n" "W1DDD\n" "W1DEO\n" "W1DF\n" "W1DFL\n" "W1DIG\n" "W1DMC\n" "W1DMD\n" "W1DMM\n" "W1DNK\n" "W1DNK/5\n" "W1DO\n" "W1DQ\n" "W1DSH\n" "W1DUW\n" "W1DWA\n" "W1DX\n" "W1DXH\n" "W1DY\n" "W1DYJ\n" "W1EAT\n" "W1EBI\n" "W1EBM\n" "W1ECH\n" "W1ECS\n" "W1ECT\n" "W1EEB\n" "W1EHQ\n" "W1EM\n" "W1EME\n" "W1END\n" "W1EQ\n" "W1EQO\n" "W1ES\n" "W1ESE\n" "W1EZY\n" "W1FA\n" "W1FH\n" "W1FJ\n" "W1FK\n" "W1FM\n" "W1FMO\n" "W1FMR\n" "W1FNB\n" "W1FP\n" "W1FQ\n" "W1FV\n" "W1GD\n" "W1GG\n" "W1GL\n" "W1GLO\n" "W1GQ\n" "W1GS\n" "W1GSH\n" "W1GUD\n" "W1GUE\n" "W1GUS\n" "W1GWN\n" "W1GX\n" "W1GXZ\n" "W1GY\n" "W1HBR\n" "W1HFD\n" "W1HFF\n" "W1HFN\n" "W1HI\n" "W1HIH\n" "W1HIJ\n" "W1HIS\n" "W1HJT\n" "W1HMD\n" "W1HPT\n" "W1HQ\n" "W1HR\n" "W1HT\n" "W1HY\n" "W1IBI\n" "W1IBQ\n" "W1IDL\n" "W1IE\n" "W1IG\n" "W1II\n" "W1IL\n" "W1IS\n" "W1IT\n" "W1ITT\n" "W1IZQ\n" "W1JA\n" "W1JCJ\n" "W1JCW\n" "W1JD\n" "W1JGS\n" "W1JJC\n" "W1JKS\n" "W1JMA\n" "W1JN\n" "W1JNZ\n" "W1JQ\n" "W1JR\n" "W1JSB\n" "W1JWC\n" "W1KDA\n" "W1KM\n" "W1KOK\n" "W1KQ\n" "W1KRS\n" "W1KRV\n" "W1KSI\n" "W1KSZ\n" "W1KT\n" "W1LDD\n" "W1LK\n" "W1LOZ\n" "W1LRY\n" "W1LWH\n" "W1LXA\n" "W1LY\n" "W1LZ\n" "W1MAD\n" "W1MAT\n" "W1MAW\n" "W1MD\n" "W1MHZ\n" "W1MIG\n" "W1MJ\n" "W1MJB\n" "W1MK\n" "W1MKY\n" "W1MLG\n" "W1MO\n" "W1MPF\n" "W1MSW\n" "W1MU\n" "W1MX\n" "W1MX/100\n" "W1NA\n" "W1NDY\n" "W1NG\n" "W1NK\n" "W1NN\n" "W1NQT\n" "W1NR\n" "W1NRB\n" "W1NRG\n" "W1NSK\n" "W1NT\n" "W1NY\n" "W1OHM\n" "W1OO\n" "W1OOO\n" "W1OP\n" "W1ORS\n" "W1OU\n" "W1OW\n" "W1OX\n" "W1OZ\n" "W1PBB\n" "W1PH\n" "W1PHB\n" "W1PID\n" "W1PMR\n" "W1PNS\n" "W1PR\n" "W1PX/4\n" "W1QA\n" "W1QG\n" "W1QH\n" "W1QK\n" "W1QLF\n" "W1QS\n" "W1RAN\n" "W1RDJ\n" "W1REP\n" "W1RET\n" "W1RH\n" "W1RKT\n" "W1RM\n" "W1RME\n" "W1RO\n" "W1RPG\n" "W1RQ\n" "W1RY\n" "W1RZ\n" "W1RZF\n" "W1SAM\n" "W1SD\n" "W1SGC\n" "W1SJ\n" "W1SKB\n" "W1SKU\n" "W1SLF\n" "W1SNE\n" "W1SOX\n" "W1SRB\n" "W1SRD\n" "W1SRG\n" "W1STT\n" "W1TAM\n" "W1TBR\n" "W1TI\n" "W1TJL\n" "W1TM\n" "W1TMS\n" "W1TO\n" "W1TR\n" "W1TRB\n" "W1TS\n" "W1TSM\n" "W1TSP\n" "W1TUM\n" "W1TW\n" "W1TY\n" "W1UD\n" "W1UE\n" "W1UF\n" "W1UJ\n" "W1UK\n" "W1UN\n" "W1UR\n" "W1URV\n" "W1UU\n" "W1VB\n" "W1VD\n" "W1VE\n" "W1VG\n" "W1VIV\n" "W1VO\n" "W1VRY\n" "W1VV\n" "W1WAT\n" "W1WBB\n" "W1WC\n" "W1WCG\n" "W1WEF\n" "W1WH\n" "W1WIU\n" "W1WLJ\n" "W1WLW\n" "W1WN\n" "W1WQM\n" "W1WRA\n" "W1WSN\n" "W1WTG\n" "W1WV\n" "W1WWW\n" "W1XH\n" "W1XP\n" "W1XT\n" "W1XV\n" "W1XW\n" "W1XX\n" "W1YK\n" "W1YL/4\n" "W1YM\n" "W1YN\n" "W1YRC\n" "W1YY\n" "W1YY/7\n" "W1ZA\n" "W1ZC\n" "W1ZD/7\n" "W1ZE\n" "W1ZGZ\n" "W1ZK\n" "W1ZM\n" "W1ZN\n" "W1ZO\n" "W1ZR\n" "W1ZS\n" "W1ZT\n" "W1ZX\n" "W1ZYX\n" "W1ZZ\n" "W2/CT1FMX\n" "W2/CT1GIF\n" "W2/E78WW\n" "W2/PY2AAZ\n" "W2AAB\n" "W2AAS\n" "W2ACY\n" "W2ACY/5\n" "W2ACY/7\n" "W2AD\n" "W2AFC\n" "W2AIV\n" "W2AN\n" "W2ARP\n" "W2AT\n" "W2AU\n" "W2AW\n" "W2AYM\n" "W2BC\n" "W2BEE\n" "W2BSN\n" "W2BVH\n" "W2BXA\n" "W2BZR\n" "W2BZY\n" "W2CCC\n" "W2CDO\n" "W2CG\n" "W2CO\n" "W2CR\n" "W2CUA\n" "W2CVW\n" "W2CXX\n" "W2DCM\n" "W2DEC\n" "W2DKM\n" "W2DLL\n" "W2DLT\n" "W2DNR\n" "W2DPT\n" "W2DWW\n" "W2DX\n" "W2DXE\n" "W2DZO\n" "W2EB\n" "W2EF\n" "W2EFI\n" "W2EG\n" "W2EJG\n" "W2EL\n" "W2EN\n" "W2EQ\n" "W2ESX\n" "W2EUA\n" "W2EVL\n" "W2EZB\n" "W2FA\n" "W2FAL\n" "W2FB\n" "W2FBS\n" "W2FCP\n" "W2FDJ\n" "W2FE\n" "W2FF\n" "W2FJA\n" "W2FKF\n" "W2FKN\n" "W2FMB\n" "W2FP\n" "W2FT\n" "W2FU\n" "W2FUI\n" "W2FV\n" "W2GB\n" "W2GD\n" "W2GDJ\n" "W2GEZ\n" "W2GFF\n" "W2GG\n" "W2GGC\n" "W2GGI\n" "W2GHD\n" "W2GJ\n" "W2GLE\n" "W2GPS\n" "W2GS\n" "W2GW\n" "W2HA\n" "W2HCB\n" "W2HDI\n" "W2HIY\n" "W2HKE\n" "W2HLI\n" "W2HTI\n" "W2HTS\n" "W2ID\n" "W2IF\n" "W2II\n" "W2IJ\n" "W2IKN\n" "W2IMX\n" "W2IQK\n" "W2IRT\n" "W2IUC\n" "W2IW\n" "W2IZN\n" "W2JB\n" "W2JD\n" "W2JEK\n" "W2JGQ\n" "W2JJ\n" "W2JLK\n" "W2JSJ\n" "W2JTM\n" "W2JU\n" "W2JU/1\n" "W2KD\n" "W2KFV\n" "W2KIM\n" "W2KJ\n" "W2KKJ\n" "W2KKZ\n" "W2KLS\n" "W2KN\n" "W2KP\n" "W2KQ\n" "W2KU\n" "W2KV\n" "W2KW\n" "W2KXD\n" "W2LB\n" "W2LC\n" "W2LE\n" "W2LHL\n" "W2LJ\n" "W2LK\n" "W2LO\n" "W2LP\n" "W2LPL\n" "W2LRO\n" "W2LRT\n" "W2LU\n" "W2LYL\n" "W2MAT\n" "W2MC\n" "W2MEB\n" "W2MF\n" "W2MFT\n" "W2MKW\n" "W2ML\n" "W2MM\n" "W2MMD\n" "W2MN\n" "W2MSK\n" "W2MV\n" "W2MXL\n" "W2MYA\n" "W2MYC\n" "W2NBJ\n" "W2NGC\n" "W2NJ\n" "W2NLS\n" "W2NO\n" "W2NQ\n" "W2NQ/7\n" "W2NRA\n" "W2NRD\n" "W2NY\n" "W2OB\n" "W2OIB\n" "W2OKM\n" "W2OL\n" "W2OO\n" "W2OR\n" "W2OSR\n" "W2OX\n" "W2OZO\n" "W2PA\n" "W2PHD\n" "W2PI\n" "W2PJ\n" "W2PK\n" "W2PM\n" "W2PSU\n" "W2PV\n" "W2PWS\n" "W2QF\n" "W2QM\n" "W2QO\n" "W2QQ\n" "W2RA\n" "W2RBA\n" "W2RD\n" "W2RDX\n" "W2RE\n" "W2REH\n" "W2RI\n" "W2RIJ\n" "W2RIP\n" "W2RK\n" "W2RLB\n" "W2RLK\n" "W2RM\n" "W2RON\n" "W2RQ\n" "W2RR\n" "W2RRT\n" "W2RS\n" "W2RST\n" "W2RTY\n" "W2RU\n" "W2RX\n" "W2RZS\n" "W2SF\n" "W2SH\n" "W2SM\n" "W2SMS\n" "W2SNX\n" "W2SON\n" "W2SR\n" "W2TA\n" "W2TB\n" "W2TDZ\n" "W2TIN\n" "W2TN\n" "W2TX\n" "W2TZ\n" "W2UB\n" "W2UDT\n" "W2UGZ\n" "W2UI\n" "W2UJ\n" "W2UP\n" "W2UQ\n" "W2VI\n" "W2VJN\n" "W2VK\n" "W2VKT\n" "W2VO\n" "W2VP\n" "W2VQ\n" "W2VS\n" "W2VT\n" "W2VTV\n" "W2VU\n" "W2VUF\n" "W2VV\n" "W2WC\n" "W2WD\n" "W2WG\n" "W2WO\n" "W2WP\n" "W2XB\n" "W2XI\n" "W2XL\n" "W2XM\n" "W2XS\n" "W2XYZ\n" "W2YC\n" "W2YE\n" "W2YJ\n" "W2YK\n" "W2YP\n" "W2YR\n" "W2YSL\n" "W2YT\n" "W2YX\n" "W2ZDP\n" "W2ZEP\n" "W2ZI\n" "W2ZKE\n" "W2ZQ\n" "W3ABT\n" "W3ACO\n" "W3AG\n" "W3AMB\n" "W3ANJ\n" "W3AO\n" "W3AS\n" "W3ASA\n" "W3AT\n" "W3AU\n" "W3AZ\n" "W3AZD\n" "W3BBO\n" "W3BC\n" "W3BE\n" "W3BEE\n" "W3BG\n" "W3BGN\n" "W3BJ\n" "W3BMW\n" "W3BP\n" "W3BRG\n" "W3BTX\n" "W3BUI\n" "W3BW\n" "W3BZN\n" "W3CB\n" "W3CC\n" "W3CEI\n" "W3CF\n" "W3CG\n" "W3CP\n" "W3CQ\n" "W3CQB\n" "W3CQH\n" "W3CRZ\n" "W3CSA\n" "W3CWE\n" "W3DA\n" "W3DAD\n" "W3DB\n" "W3DF\n" "W3DM\n" "W3DNA\n" "W3DP\n" "W3DQ\n" "W3DQN\n" "W3DQT\n" "W3DRY\n" "W3DSX\n" "W3DX\n" "W3DYA\n" "W3DZH\n" "W3EA\n" "W3EC\n" "W3EDP\n" "W3EEE\n" "W3EEK\n" "W3EF\n" "W3EFE\n" "W3EH\n" "W3EHT\n" "W3EJM\n" "W3EKT\n" "W3EL\n" "W3EP\n" "W3EQ\n" "W3ERC\n" "W3ERE\n" "W3EST\n" "W3EW\n" "W3EX\n" "W3FAF\n" "W3FF\n" "W3FI\n" "W3FQ\n" "W3FT\n" "W3FV\n" "W3FVT\n" "W3FW\n" "W3GAT\n" "W3GC\n" "W3GEG\n" "W3GG\n" "W3GH\n" "W3GK\n" "W3GLH\n" "W3GM\n" "W3GNQ\n" "W3GQ\n" "W3GRF\n" "W3GT\n" "W3GYK\n" "W3HAL\n" "W3HBA\n" "W3HDH\n" "W3HHN\n" "W3HKK\n" "W3HMR\n" "W3HNK\n" "W3HP\n" "W3HWY\n" "W3HZU\n" "W3IDT\n" "W3IHY\n" "W3II\n" "W3IK\n" "W3IL\n" "W3IP\n" "W3IQ\n" "W3IUU\n" "W3IZ\n" "W3JAA\n" "W3JBS\n" "W3JK\n" "W3JXP\n" "W3KB\n" "W3KDR\n" "W3KL\n" "W3KLG\n" "W3KM\n" "W3KS\n" "W3KWH\n" "W3LD\n" "W3LDG\n" "W3LJ\n" "W3LL\n" "W3LPL\n" "W3LR\n" "W3LSW\n" "W3MAT\n" "W3MC\n" "W3MEL\n" "W3MF\n" "W3MIK\n" "W3ML\n" "W3MR\n" "W3MRL\n" "W3MWR\n" "W3NF\n" "W3NJ\n" "W3NO\n" "W3NR\n" "W3NR/4\n" "W3NV\n" "W3NX\n" "W3OA\n" "W3OC\n" "W3OD\n" "W3ODJ\n" "W3OE\n" "W3OFD\n" "W3OFT\n" "W3OK\n" "W3OKC\n" "W3OU\n" "W3OUF\n" "W3PA\n" "W3PD\n" "W3PF\n" "W3PFC\n" "W3PG\n" "W3PH\n" "W3PMV\n" "W3PN\n" "W3PO\n" "W3PP\n" "W3PRL\n" "W3PV\n" "W3PX\n" "W3QK\n" "W3RA\n" "W3RCP\n" "W3RI\n" "W3RJ\n" "W3RLO\n" "W3RT\n" "W3SB\n" "W3SD\n" "W3SE\n" "W3SFG\n" "W3SM\n" "W3SO\n" "W3SON\n" "W3SQ\n" "W3TB\n" "W3TB/VP9\n" "W3TC\n" "W3TD\n" "W3TDF\n" "W3TMC\n" "W3TMS\n" "W3TMZ\n" "W3TN\n" "W3TNU\n" "W3TS\n" "W3TUA\n" "W3TZ\n" "W3UA\n" "W3UL\n" "W3UM\n" "W3UR\n" "W3USA\n" "W3UTD\n" "W3VT\n" "W3WC\n" "W3WH\n" "W3WKX\n" "W3WL\n" "W3WN\n" "W3WOT\n" "W3WPA\n" "W3WRL\n" "W3WTJ\n" "W3WW\n" "W3XB\n" "W3XG\n" "W3XX\n" "W3XY\n" "W3YJ\n" "W3YR\n" "W3YX\n" "W3YY\n" "W3YZM\n" "W3ZA\n" "W3ZF\n" "W3ZGD\n" "W3ZI\n" "W3ZL\n" "W3ZQI\n" "W3ZV\n" "W3ZYF\n" "W3ZZ\n" "W3ZZX\n" "W4/AL7HW\n" "W4/G3LIK\n" "W4/OH2MQ\n" "W4AA\n" "W4AAA\n" "W4AAM\n" "W4ABE\n" "W4AEJ\n" "W4AG\n" "W4AGS\n" "W4AJT\n" "W4AK\n" "W4AKO\n" "W4ALA\n" "W4AMP\n" "W4AMS\n" "W4AMW\n" "W4AN\n" "W4ANR\n" "W4AO\n" "W4ARM\n" "W4AS\n" "W4ASE\n" "W4ATK\n" "W4ATL\n" "W4ATM\n" "W4AU\n" "W4AUB\n" "W4AV\n" "W4AVV\n" "W4AWF\n" "W4AZR\n" "W4BAB\n" "W4BAI\n" "W4BAK\n" "W4BCG\n" "W4BCU\n" "W4BFB\n" "W4BGH\n" "W4BHJ\n" "W4BK\n" "W4BKV\n" "W4BLA\n" "W4BNM\n" "W4BNO\n" "W4BQF\n" "W4BTZ\n" "W4BUE\n" "W4BUW\n" "W4BW\n" "W4BXI\n" "W4CA\n" "W4CB\n" "W4CCS\n" "W4CDM\n" "W4CFF\n" "W4CHA\n" "W4CI\n" "W4CID\n" "W4CK\n" "W4CKD\n" "W4CLJ\n" "W4CM\n" "W4CMM\n" "W4COH\n" "W4CPO\n" "W4CQZ\n" "W4CU\n" "W4CWA\n" "W4CZ\n" "W4CZU\n" "W4DAN\n" "W4DAS\n" "W4DAT\n" "W4DBT\n" "W4DD\n" "W4DDR\n" "W4DF\n" "W4DFW\n" "W4DHX\n" "W4DJ\n" "W4DK\n" "W4DKB\n" "W4DKR\n" "W4DKS\n" "W4DL\n" "W4DLZ\n" "W4DN\n" "W4DNN\n" "W4DNQ\n" "W4DNT\n" "W4DR\n" "W4DTA\n" "W4DU\n" "W4DUG\n" "W4DUP\n" "W4DVG\n" "W4DYR\n" "W4EA\n" "W4EBA\n" "W4EDE\n" "W4EE\n" "W4EEH\n" "W4EF\n" "W4EI\n" "W4EIB\n" "W4EIP\n" "W4EJG\n" "W4ELP\n" "W4EMM\n" "W4ENN\n" "W4ERD\n" "W4ET\n" "W4ETB\n" "W4EW\n" "W4EY\n" "W4FCR\n" "W4FCU\n" "W4FDA\n" "W4FHC\n" "W4FI\n" "W4FIN\n" "W4FOA\n" "W4FOT\n" "W4FRA\n" "W4FT\n" "W4FUN\n" "W4FW\n" "W4FXE\n" "W4FXO\n" "W4GAC\n" "W4GBU\n" "W4GD\n" "W4GHD\n" "W4GHS\n" "W4GHW\n" "W4GIW\n" "W4GKA\n" "W4GKF\n" "W4GKM\n" "W4GKP\n" "W4GKR\n" "W4GKT\n" "W4GM\n" "W4GMH\n" "W4GMS\n" "W4GNS\n" "W4GRC\n" "W4GRV\n" "W4GV\n" "W4GWL\n" "W4HAK\n" "W4HG\n" "W4HGW\n" "W4HIJ\n" "W4HJ\n" "W4HLD\n" "W4HLN\n" "W4HMV\n" "W4HOD\n" "W4HQF\n" "W4HRC\n" "W4HSA\n" "W4HVW\n" "W4HX\n" "W4HYT\n" "W4HZ\n" "W4HZD\n" "W4IA\n" "W4IBI\n" "W4ID\n" "W4IDW\n" "W4IEI\n" "W4IFG\n" "W4IHI\n" "W4II\n" "W4ILC\n" "W4IM\n" "W4IOW\n" "W4IR\n" "W4IS\n" "W4ISI\n" "W4IT\n" "W4IU\n" "W4IX\n" "W4IY\n" "W4JAM\n" "W4JCM\n" "W4JHC\n" "W4JHU\n" "W4JKC\n" "W4JLS\n" "W4JME\n" "W4JMJ\n" "W4JNH\n" "W4JO\n" "W4JS\n" "W4JSI\n" "W4JVN\n" "W4JVY\n" "W4KA\n" "W4KAZ\n" "W4KD\n" "W4KDB\n" "W4KES\n" "W4KFA\n" "W4KFC\n" "W4KFH\n" "W4KIL\n" "W4KLY\n" "W4KN\n" "W4KP\n" "W4KPA\n" "W4KPG\n" "W4KRN\n" "W4KS\n" "W4KTR\n" "W4KVS\n" "W4KVW\n" "W4KW\n" "W4KZ\n" "W4LC\n" "W4LCL\n" "W4LDA\n" "W4LDE\n" "W4LHS\n" "W4LIA\n" "W4LJM\n" "W4LK\n" "W4LLX\n" "W4LLY\n" "W4LM\n" "W4LOS\n" "W4LQ\n" "W4LSC\n" "W4LT\n" "W4LWW\n" "W4MAL\n" "W4MAY\n" "W4MBD\n" "W4MCQ\n" "W4MEL\n" "W4MIR\n" "W4MJA\n" "W4ML\n" "W4MLB\n" "W4MLN\n" "W4MOT\n" "W4MPS\n" "W4MQC\n" "W4MR\n" "W4MY\n" "W4MYA\n" "W4NA\n" "W4NB\n" "W4NBS\n" "W4NBY\n" "W4NC\n" "W4NE\n" "W4NF\n" "W4NHJ\n" "W4NI\n" "W4NJK\n" "W4NL\n" "W4NLX\n" "W4NML\n" "W4NP\n" "W4NPX\n" "W4NSC\n" "W4NT\n" "W4NTI\n" "W4NUN\n" "W4NX\n" "W4NZ\n" "W4OC\n" "W4OCO\n" "W4OEQ\n" "W4OG\n" "W4OGG\n" "W4OI\n" "W4OJC\n" "W4OM\n" "W4OTN\n" "W4OV\n" "W4OX\n" "W4OY\n" "W4PA\n" "W4PBG\n" "W4PBU\n" "W4PC\n" "W4PDX\n" "W4PFM\n" "W4PG\n" "W4PGC\n" "W4PGM\n" "W4PHS\n" "W4PJ\n" "W4PJP\n" "W4PJW\n" "W4PK\n" "W4PL\n" "W4PM\n" "W4PR\n" "W4PTY\n" "W4PUX\n" "W4PV\n" "W4PVC\n" "W4PVT\n" "W4PY\n" "W4QF\n" "W4QG\n" "W4QJ\n" "W4QK\n" "W4QM\n" "W4QN\n" "W4QNW\n" "W4QO\n" "W4RAA\n" "W4RBO\n" "W4REG\n" "W4REM\n" "W4RG\n" "W4RIS\n" "W4RJ\n" "W4RK\n" "W4RK/0\n" "W4RKC\n" "W4RKZ\n" "W4RL\n" "W4RM\n" "W4RNK\n" "W4RQ\n" "W4RRE\n" "W4RU\n" "W4RVN\n" "W4RVU\n" "W4RX\n" "W4RYW\n" "W4SAA\n" "W4SAR\n" "W4SEC\n" "W4SES\n" "W4SHG\n" "W4SIG\n" "W4SJV\n" "W4SK\n" "W4SKI\n" "W4SKW\n" "W4SLT\n" "W4SO\n" "W4SOH\n" "W4SQL\n" "W4STB\n" "W4SUL\n" "W4SVO\n" "W4SVP\n" "W4SYV\n" "W4TAA\n" "W4TBB\n" "W4TD\n" "W4TDC\n" "W4TGB\n" "W4TGT\n" "W4TIJ\n" "W4TJE\n" "W4TJW\n" "W4TKI\n" "W4TME\n" "W4TMN\n" "W4TMO\n" "W4TMR\n" "W4TO\n" "W4TQ\n" "W4TRL\n" "W4TSP\n" "W4TUG\n" "W4TUN\n" "W4TVG\n" "W4UAL\n" "W4UAS\n" "W4UAT\n" "W4UBC\n" "W4UCZ\n" "W4UDX\n" "W4UE\n" "W4UEB\n" "W4UEF\n" "W4UFO\n" "W4UH\n" "W4UHF\n" "W4UK\n" "W4UNP\n" "W4UOR\n" "W4UP\n" "W4USC\n" "W4UT\n" "W4UUM\n" "W4UVA\n" "W4UX\n" "W4VAB\n" "W4VDW\n" "W4VES\n" "W4VG\n" "W4VGI\n" "W4VGX\n" "W4VHH\n" "W4VIC\n" "W4VJ\n" "W4VKU\n" "W4VQ\n" "W4VR\n" "W4VV\n" "W4VX\n" "W4WAM\n" "W4WFX\n" "W4WKN\n" "W4WL\n" "W4WLF\n" "W4WNT\n" "W4WQ\n" "W4WR\n" "W4WRL\n" "W4WRS\n" "W4WS\n" "W4WSW\n" "W4WTB\n" "W4WVP\n" "W4WWK\n" "W4WWV\n" "W4WX\n" "W4XD\n" "W4XDX\n" "W4XE\n" "W4XO\n" "W4XQ\n" "W4XW\n" "W4YA\n" "W4YCC\n" "W4YCZ\n" "W4YD\n" "W4YDY\n" "W4YE\n" "W4YFJ\n" "W4YHD\n" "W4YK\n" "W4YOK\n" "W4YWX\n" "W4ZAN\n" "W4ZE\n" "W4ZEW\n" "W4ZF\n" "W4ZGR\n" "W4ZJ\n" "W4ZKE\n" "W4ZLU\n" "W4ZPH\n" "W4ZPR\n" "W4ZV\n" "W4ZW\n" "W4ZYT\n" "W5ABC\n" "W5ACB\n" "W5AFW\n" "W5AG\n" "W5AJ\n" "W5AJD\n" "W5AK\n" "W5AO\n" "W5AP\n" "W5APS\n" "W5AQ\n" "W5ASP\n" "W5AT\n" "W5AU\n" "W5AZ\n" "W5BAK\n" "W5BEN\n" "W5BN\n" "W5BOL\n" "W5BRW\n" "W5CDX\n" "W5CF\n" "W5CHA\n" "W5CJF\n" "W5CN\n" "W5CPT\n" "W5CRD\n" "W5CU\n" "W5CUB\n" "W5CWQ\n" "W5CX\n" "W5DAC\n" "W5DAW\n" "W5DC\n" "W5DET\n" "W5DEZ\n" "W5DJT\n" "W5DKK\n" "W5DNT\n" "W5DPR\n" "W5DQ\n" "W5DWA\n" "W5EEA\n" "W5EK\n" "W5EMC\n" "W5EN\n" "W5EPW\n" "W5ERX\n" "W5ESE\n" "W5ETJ\n" "W5EZI\n" "W5FBK\n" "W5FIT\n" "W5FO\n" "W5FP\n" "W5FPT\n" "W5FWR\n" "W5FYR\n" "W5FZ\n" "W5GA\n" "W5GAI\n" "W5GCX\n" "W5GFI\n" "W5GFR\n" "W5GG\n" "W5GGO\n" "W5GHZ\n" "W5GI\n" "W5GJ\n" "W5GLW\n" "W5GN\n" "W5GT\n" "W5GWH\n" "W5GXV\n" "W5GZ\n" "W5HD\n" "W5HFF\n" "W5HNK\n" "W5HNS\n" "W5HPQ\n" "W5HY\n" "W5HYN\n" "W5IF\n" "W5IFP\n" "W5IHN\n" "W5IO\n" "W5IV\n" "W5IZ\n" "W5JAK\n" "W5JAO\n" "W5JAW\n" "W5JAY\n" "W5JBO\n" "W5JBV\n" "W5JDF\n" "W5JE\n" "W5JJ\n" "W5JK\n" "W5JLF\n" "W5JLH\n" "W5JLR\n" "W5JMW\n" "W5JNL\n" "W5JNP\n" "W5JQ\n" "W5JR\n" "W5JRT\n" "W5JZ\n" "W5KD\n" "W5KDJ\n" "W5KEB\n" "W5KFT\n" "W5KI\n" "W5KK\n" "W5KNE\n" "W5KNN\n" "W5KQ\n" "W5KRB\n" "W5KU\n" "W5KV\n" "W5LD\n" "W5LE\n" "W5LEO\n" "W5LJW\n" "W5LS\n" "W5LUA\n" "W5LW\n" "W5LXG\n" "W5MDC\n" "W5MET\n" "W5MF\n" "W5MIC\n" "W5MIL\n" "W5MJ\n" "W5MK\n" "W5MMX\n" "W5MPC\n" "W5MSR\n" "W5MT\n" "W5MX\n" "W5NUT\n" "W5NWR\n" "W5NYC\n" "W5OB\n" "W5OJT\n" "W5OM\n" "W5OMU\n" "W5ONX\n" "W5OOO\n" "W5OU\n" "W5OV\n" "W5PDW\n" "W5PEM\n" "W5PET\n" "W5PF\n" "W5PG\n" "W5PJR\n" "W5PJW\n" "W5PKE\n" "W5PO\n" "W5PQ\n" "W5PR\n" "W5PUF\n" "W5QLF\n" "W5QM\n" "W5QP\n" "W5RAW\n" "W5RCD\n" "W5RDW\n" "W5RE\n" "W5RI\n" "W5RJA\n" "W5ROS\n" "W5RQ\n" "W5RRP\n" "W5RU\n" "W5RW\n" "W5RY\n" "W5RYA\n" "W5RZ\n" "W5SG\n" "W5SGL\n" "W5SL\n" "W5SQA\n" "W5SV\n" "W5SWV\n" "W5SXD\n" "W5TA\n" "W5TAF\n" "W5TCR\n" "W5TCX\n" "W5TFW\n" "W5THT\n" "W5TM\n" "W5TMC\n" "W5TO\n" "W5TT\n" "W5TTE\n" "W5TUU\n" "W5TV\n" "W5TX\n" "W5TZC\n" "W5UC\n" "W5UD\n" "W5UE\n" "W5UFA\n" "W5UHQ\n" "W5UHQ/W8\n" "W5UM\n" "W5UN\n" "W5UW\n" "W5VAN\n" "W5VDM\n" "W5VE\n" "W5VEK\n" "W5VFO\n" "W5VGR\n" "W5VQ\n" "W5VX\n" "W5VY\n" "W5VYH\n" "W5VZF\n" "W5VZM\n" "W5WEE\n" "W5WFF\n" "W5WLA\n" "W5WM\n" "W5WMU\n" "W5WP\n" "W5WRE\n" "W5WRJ\n" "W5WSS\n" "W5WT\n" "W5WW\n" "W5WY\n" "W5WZ\n" "W5XB\n" "W5XC\n" "W5XD\n" "W5XN\n" "W5XU\n" "W5XX\n" "W5XZ\n" "W5YAA\n" "W5YC\n" "W5YD\n" "W5YDM\n" "W5YM\n" "W5YZ\n" "W5ZAX\n" "W5ZD\n" "W5ZE\n" "W5ZG\n" "W5ZH\n" "W5ZL\n" "W5ZN\n" "W5ZO\n" "W5ZPA\n" "W5ZQ\n" "W5ZR\n" "W5ZZ\n" "W6/VK2IMM\n" "W6AAN\n" "W6ABM\n" "W6AEA\n" "W6AEQ\n" "W6AFA\n" "W6AH\n" "W6AHB\n" "W6AMM\n" "W6AMY\n" "W6AQ\n" "W6ARU\n" "W6ASP\n" "W6AT\n" "W6ATV\n" "W6AUG\n" "W6AWS\n" "W6AYC\n" "W6BCQ\n" "W6BH\n" "W6BJH\n" "W6BK\n" "W6BN\n" "W6BO\n" "W6BSY\n" "W6BT\n" "W6BVB\n" "W6BWG\n" "W6BX\n" "W6BXQ\n" "W6BXQ/4\n" "W6CCP\n" "W6CS\n" "W6CT\n" "W6CWM\n" "W6CYX\n" "W6CZ\n" "W6DAW\n" "W6DCC\n" "W6DDB\n" "W6DDD\n" "W6DDX\n" "W6DEP\n" "W6DF\n" "W6DNE\n" "W6DOC\n" "W6DOE\n" "W6DOJ\n" "W6DPD\n" "W6DR\n" "W6DRX\n" "W6DSG\n" "W6DVS\n" "W6DW\n" "W6DXO\n" "W6DXW\n" "W6EA\n" "W6EB\n" "W6EJJ\n" "W6EM\n" "W6EMC\n" "W6ENZ\n" "W6EOD\n" "W6ERN\n" "W6EU\n" "W6EUF\n" "W6FA\n" "W6FB\n" "W6FEL\n" "W6FFH\n" "W6FG\n" "W6FH\n" "W6FI\n" "W6FTA\n" "W6FUV\n" "W6GA\n" "W6GBG\n" "W6GEE\n" "W6GL\n" "W6GMP\n" "W6GMT\n" "W6GMU\n" "W6GR\n" "W6GRT\n" "W6GRV\n" "W6GS\n" "W6GU\n" "W6GV\n" "W6GX\n" "W6HF\n" "W6HFM\n" "W6HG\n" "W6HGF\n" "W6HH\n" "W6HN\n" "W6HTC\n" "W6HTY\n" "W6HYK\n" "W6IA\n" "W6IGK\n" "W6IHG\n" "W6IHG/4\n" "W6II\n" "W6IJ\n" "W6IMF\n" "W6IS\n" "W6ISO\n" "W6IXP\n" "W6IYS\n" "W6IZT\n" "W6JAZ\n" "W6JD\n" "W6JJW\n" "W6JK\n" "W6JL\n" "W6JNU\n" "W6JOD\n" "W6JPC\n" "W6JTI\n" "W6JV\n" "W6JVA\n" "W6JXH\n" "W6JYT\n" "W6JYT/7\n" "W6JZH\n" "W6KA\n" "W6KAT\n" "W6KC\n" "W6KGP\n" "W6KH\n" "W6KJ\n" "W6KK\n" "W6KPC\n" "W6KW\n" "W6KY\n" "W6LAB\n" "W6LAR\n" "W6LD\n" "W6LED\n" "W6LEN\n" "W6LFB\n" "W6LG\n" "W6LGS\n" "W6LOL\n" "W6LW\n" "W6LX\n" "W6MAC\n" "W6MCA\n" "W6MIL\n" "W6ML\n" "W6MM\n" "W6MQI\n" "W6MUB\n" "W6MVW\n" "W6MY\n" "W6MZQ\n" "W6ND\n" "W6NEK\n" "W6NF\n" "W6NIA\n" "W6NL\n" "W6NOW\n" "W6NPR\n" "W6NRJ\n" "W6NRW\n" "W6NV\n" "W6NWF\n" "W6NWS\n" "W6NY\n" "W6OAR\n" "W6OAT\n" "W6OES\n" "W6OEZ\n" "W6OFM\n" "W6ONV\n" "W6OOL\n" "W6OP\n" "W6OPO\n" "W6OQI\n" "W6OR\n" "W6ORD\n" "W6OSP\n" "W6OTC\n" "W6OUL\n" "W6OWI\n" "W6OZI\n" "W6PBF\n" "W6PDX\n" "W6PH\n" "W6PJ\n" "W6POK\n" "W6PSA\n" "W6PU\n" "W6PZ\n" "W6QE\n" "W6QJI\n" "W6QO\n" "W6QU\n" "W6QUV\n" "W6RA\n" "W6RAR\n" "W6RBA\n" "W6RDG\n" "W6RE\n" "W6RFF\n" "W6RFU\n" "W6RGG\n" "W6RJ\n" "W6RK\n" "W6RKC\n" "W6RLK\n" "W6RLL\n" "W6RLL/7\n" "W6RMC\n" "W6RO\n" "W6RQ\n" "W6RQR\n" "W6RS\n" "W6RSP\n" "W6RTW\n" "W6RYI\n" "W6SA\n" "W6SA/7\n" "W6SAI\n" "W6SC\n" "W6SGJ/7\n" "W6SIY\n" "W6SJ\n" "W6SL\n" "W6SQC\n" "W6SR\n" "W6SW\n" "W6SX\n" "W6SZG\n" "W6SZN\n" "W6TA\n" "W6TAD\n" "W6TAI\n" "W6TAN\n" "W6TC\n" "W6TH\n" "W6TJ\n" "W6TJI\n" "W6TK\n" "W6TKV\n" "W6TMD\n" "W6TQG\n" "W6TRI\n" "W6TRI/9\n" "W6TTF\n" "W6TYG\n" "W6UB\n" "W6UDO\n" "W6UE\n" "W6UFO\n" "W6UM\n" "W6UQZ\n" "W6UR\n" "W6USN\n" "W6UW\n" "W6UX\n" "W6VAR\n" "W6VM\n" "W6VNQ\n" "W6VNR\n" "W6VPH\n" "W6VW\n" "W6VX\n" "W6VY\n" "W6WAR\n" "W6WB\n" "W6WGC\n" "W6WQC\n" "W6WRT\n" "W6WVW\n" "W6XB\n" "W6XI\n" "W6XK\n" "W6XLR\n" "W6XR\n" "W6XR/2\n" "W6XTC\n" "W6XU\n" "W6XX\n" "W6YA\n" "W6YDE\n" "W6YI\n" "W6YRA\n" "W6YV\n" "W6YX\n" "W6YXY\n" "W6ZEN\n" "W6ZL\n" "W6ZO\n" "W6ZR\n" "W6ZZ\n" "W7/KL7WP\n" "W7AAD\n" "W7ABC\n" "W7ACD\n" "W7ACX\n" "W7AFR\n" "W7AIT\n" "W7AK\n" "W7AL\n" "W7AML\n" "W7APE\n" "W7AQK\n" "W7ASF\n" "W7ASF/VY2\n" "W7ASU\n" "W7AT\n" "W7AUM\n" "W7AWA\n" "W7AWH\n" "W7AY\n" "W7AYN\n" "W7BBC\n" "W7BBQ\n" "W7BCC\n" "W7BEB\n" "W7BEM\n" "W7BG\n" "W7BIA\n" "W7BJB\n" "W7BJN\n" "W7BPM\n" "W7BQ\n" "W7BRS\n" "W7BV\n" "W7CA\n" "W7CAR\n" "W7CB\n" "W7CEG\n" "W7CEL\n" "W7CF\n" "W7CFR\n" "W7CM\n" "W7CNA\n" "W7CNL\n" "W7COH\n" "W7COM\n" "W7CPI\n" "W7CT\n" "W7CV\n" "W7CWR\n" "W7CXA\n" "W7DAO\n" "W7DCS\n" "W7DDD\n" "W7DEV\n" "W7DFO\n" "W7DG\n" "W7DK\n" "W7DMV\n" "W7DO\n" "W7DOC\n" "W7DPW\n" "W7DR\n" "W7DRA\n" "W7DTG\n" "W7DX\n" "W7EB\n" "W7ED\n" "W7EJ\n" "W7EKG\n" "W7EPA\n" "W7ESE\n" "W7EW\n" "W7EWG\n" "W7EXC\n" "W7EYE\n" "W7FB\n" "W7FF\n" "W7FFD\n" "W7FG\n" "W7FM\n" "W7FP\n" "W7FYW\n" "W7GAX\n" "W7GB\n" "W7GCM\n" "W7GET\n" "W7GH\n" "W7GKF\n" "W7GKF/6\n" "W7GLC\n" "W7GM\n" "W7GMC\n" "W7GN\n" "W7GO\n" "W7GS\n" "W7GSV\n" "W7GT\n" "W7GTH\n" "W7GTO\n" "W7GVE\n" "W7HB\n" "W7HJ\n" "W7HJ/4\n" "W7HO\n" "W7HPW\n" "W7HQC\n" "W7HS\n" "W7HWR\n" "W7HX\n" "W7HY\n" "W7IAN\n" "W7ID\n" "W7IDG\n" "W7IIT\n" "W7IJ\n" "W7IJN\n" "W7IMP\n" "W7IMU\n" "W7IN\n" "W7IU\n" "W7IUO\n" "W7IUV\n" "W7IVM\n" "W7IWB\n" "W7IX\n" "W7IY\n" "W7IZ\n" "W7IZL\n" "W7JAF\n" "W7JAM\n" "W7JAZ\n" "W7JDE\n" "W7JEN\n" "W7JFF\n" "W7JI\n" "W7JIF\n" "W7JK\n" "W7JLC\n" "W7JPI\n" "W7JQ\n" "W7JVN\n" "W7JW\n" "W7JY\n" "W7KAM\n" "W7KAT\n" "W7KB\n" "W7KBI\n" "W7KBM\n" "W7KEY\n" "W7KF\n" "W7KFY\n" "W7KKR\n" "W7KL\n" "W7KPL\n" "W7KQ\n" "W7KQU\n" "W7KQZ\n" "W7KTE\n" "W7KU\n" "W7KVN\n" "W7KZO\n" "W7LB\n" "W7LBN\n" "W7LD\n" "W7LEA\n" "W7LEB\n" "W7LGG\n" "W7LKG\n" "W7LNG\n" "W7LOU\n" "W7LR\n" "W7LRD\n" "W7LX\n" "W7MAD\n" "W7MAL\n" "W7MAP/5\n" "W7MD\n" "W7MDK\n" "W7MEM\n" "W7MEW\n" "W7MEX\n" "W7MFC\n" "W7MJJ\n" "W7MJM\n" "W7MM\n" "W7MPZ\n" "W7MRC\n" "W7MS\n" "W7MTL\n" "W7NAT\n" "W7NBH\n" "W7ND\n" "W7NE\n" "W7NEE\n" "W7NER\n" "W7NNN\n" "W7NO\n" "W7NP\n" "W7NUW\n" "W7NYG\n" "W7OE\n" "W7OIL\n" "W7OM\n" "W7ON\n" "W7OR\n" "W7OTV\n" "W7OU\n" "W7OXB\n" "W7OYW\n" "W7PEB\n" "W7PN\n" "W7POE\n" "W7PP\n" "W7PP/8\n" "W7PRO\n" "W7PSK\n" "W7PT\n" "W7PU\n" "W7QC\n" "W7QDM\n" "W7QEK\n" "W7QF\n" "W7QL\n" "W7QN\n" "W7QQQ\n" "W7QR\n" "W7RF\n" "W7RG\n" "W7RH\n" "W7RIP\n" "W7RJ\n" "W7RM\n" "W7RN\n" "W7RNF\n" "W7ROE\n" "W7RPT\n" "W7RRS\n" "W7RT\n" "W7RTL\n" "W7RTO\n" "W7RTX\n" "W7RV\n" "W7RY\n" "W7SCT\n" "W7SE\n" "W7SID\n" "W7SMW\n" "W7SNH\n" "W7SO\n" "W7SSO\n" "W7SST\n" "W7SUR\n" "W7SV\n" "W7SW\n" "W7SWL\n" "W7SX\n" "W7TAE\n" "W7THS\n" "W7THY\n" "W7TJ\n" "W7TMD\n" "W7TMT\n" "W7TNS\n" "W7TSQ\n" "W7TVC\n" "W7TVF\n" "W7TYN\n" "W7UA\n" "W7UDG\n" "W7UG\n" "W7ULV\n" "W7UPF\n" "W7UQ\n" "W7URX\n" "W7USA\n" "W7UT\n" "W7UV\n" "W7VJ\n" "W7VMI\n" "W7VO\n" "W7VP\n" "W7VS\n" "W7VSM\n" "W7VT\n" "W7VV\n" "W7VXS\n" "W7VY\n" "W7WA\n" "W7WEC\n" "W7WES\n" "W7WH\n" "W7WHO\n" "W7WHY\n" "W7WLL\n" "W7WMO\n" "W7WOF\n" "W7WPR\n" "W7WVF\n" "W7WW\n" "W7WWA\n" "W7XA\n" "W7XC\n" "W7XG\n" "W7XI\n" "W7XU\n" "W7XZ\n" "W7YA\n" "W7YAQ\n" "W7YED\n" "W7YES\n" "W7YKM\n" "W7YKN\n" "W7YM\n" "W7YMS\n" "W7YOW\n" "W7YOZ\n" "W7YP\n" "W7YS\n" "W7YV\n" "W7YVK\n" "W7YW\n" "W7YY\n" "W7ZAC\n" "W7ZB\n" "W7ZBS\n" "W7ZEB\n" "W7ZI\n" "W7ZJ\n" "W7ZMD\n" "W7ZOI\n" "W7ZQ\n" "W7ZR\n" "W7ZRC\n" "W7ZT\n" "W8/T98T\n" "W8/W1AW\n" "W8AAX\n" "W8AB\n" "W8AEF\n" "W8AEF/7\n" "W8AF\n" "W8AJS\n" "W8AKS\n" "W8AN\n" "W8ARC\n" "W8ASA\n" "W8AV\n" "W8AZA\n" "W8BAQ\n" "W8BAR\n" "W8BBM\n" "W8BBQ\n" "W8BC\n" "W8BD\n" "W8BFX\n" "W8BG\n" "W8BI\n" "W8BLA\n" "W8BTD\n" "W8BXG\n" "W8BZY\n" "W8CAA\n" "W8CAM\n" "W8CAR\n" "W8CCW\n" "W8CD\n" "W8CDA\n" "W8CJQ\n" "W8CO\n" "W8CT\n" "W8CZN\n" "W8DA\n" "W8DBF\n" "W8DC\n" "W8DCH\n" "W8DCQ\n" "W8DD\n" "W8DEO\n" "W8DEP\n" "W8DF\n" "W8DHG\n" "W8DJ\n" "W8DLD\n" "W8DM\n" "W8DN\n" "W8DO\n" "W8DQ\n" "W8DRZ\n" "W8DSN\n" "W8DW\n" "W8DX\n" "W8DYY\n" "W8EDU\n" "W8EGI\n" "W8EH\n" "W8EII\n" "W8EJK\n" "W8EL\n" "W8EMI\n" "W8EMT\n" "W8ERD\n" "W8ERN\n" "W8FAX\n" "W8FDN\n" "W8FEM\n" "W8FGX\n" "W8FJ\n" "W8FN\n" "W8FR\n" "W8FT\n" "W8FV\n" "W8GBH\n" "W8GC\n" "W8GEX\n" "W8GF\n" "W8GG\n" "W8GJ\n" "W8GNM\n" "W8GNM/8\n" "W8GOC\n" "W8GP\n" "W8GR\n" "W8GRP\n" "W8GTS\n" "W8GXB\n" "W8GXT\n" "W8HC\n" "W8HCS\n" "W8HF\n" "W8HFY\n" "W8HGH\n" "W8HMK\n" "W8HOM\n" "W8HPJ\n" "W8HW\n" "W8ID\n" "W8IDM\n" "W8ILC\n" "W8IM\n" "W8IQ\n" "W8ISZ\n" "W8IVF\n" "W8IW\n" "W8IZC\n" "W8JA\n" "W8JE\n" "W8JGU\n" "W8JH\n" "W8JI\n" "W8JJ\n" "W8JMF\n" "W8JRK\n" "W8JTM\n" "W8JTW\n" "W8JV\n" "W8JWA\n" "W8JWN\n" "W8JY\n" "W8KA\n" "W8KEN\n" "W8KER\n" "W8KHP\n" "W8KHP/4\n" "W8KJ\n" "W8KJP\n" "W8KNO\n" "W8KQE\n" "W8KR\n" "W8KRZ\n" "W8KTQ\n" "W8KV\n" "W8KX\n" "W8KZP\n" "W8LBZ\n" "W8LEW\n" "W8LGJ\n" "W8LGX\n" "W8LJB\n" "W8LKG\n" "W8LKU\n" "W8LM\n" "W8LO\n" "W8LQ\n" "W8LR\n" "W8LRL\n" "W8LRO\n" "W8LSV\n" "W8LU\n" "W8LVN\n" "W8LYJ\n" "W8MC\n" "W8MET\n" "W8MHW\n" "W8MIS\n" "W8MJ\n" "W8MKH\n" "W8MKR\n" "W8MLO\n" "W8MP\n" "W8MSK\n" "W8NA\n" "W8NBG\n" "W8NCN\n" "W8NDG\n" "W8NET\n" "W8NF\n" "W8NGA\n" "W8NIC\n" "W8NJR\n" "W8NNC\n" "W8NYK\n" "W8OEY\n" "W8OH\n" "W8OHT\n" "W8OI\n" "W8OKN\n" "W8OP\n" "W8OTY\n" "W8OU\n" "W8OV\n" "W8OWS\n" "W8OX\n" "W8OY/YO\n" "W8PBO\n" "W8PC\n" "W8PDI\n" "W8PEN\n" "W8PG\n" "W8PGW\n" "W8PI\n" "W8PN\n" "W8POF\n" "W8POF/4\n" "W8PT\n" "W8PU\n" "W8PWQ\n" "W8QGP\n" "W8QID\n" "W8QQC\n" "W8QQQ\n" "W8QW\n" "W8QY\n" "W8QZA\n" "W8RA\n" "W8RC\n" "W8RCY\n" "W8REG\n" "W8REW\n" "W8RHM\n" "W8RID\n" "W8RIT\n" "W8RJL\n" "W8RJM\n" "W8RSI\n" "W8RT\n" "W8RU\n" "W8SAN\n" "W8SAX\n" "W8SF\n" "W8SH\n" "W8SJ\n" "W8SOO\n" "W8SQ\n" "W8SY\n" "W8SYD\n" "W8SYR\n" "W8TE\n" "W8TIV\n" "W8TJ\n" "W8TK\n" "W8TM\n" "W8TN\n" "W8TOM\n" "W8TOP\n" "W8TRN\n" "W8TU\n" "W8TVQ\n" "W8TWA\n" "W8TZ\n" "W8UD\n" "W8UDX\n" "W8UDY\n" "W8UE\n" "W8UI\n" "W8UMD\n" "W8UMH\n" "W8UV\n" "W8UVZ\n" "W8VCK\n" "W8VE\n" "W8VI\n" "W8VM\n" "W8VO\n" "W8VS\n" "W8VSK\n" "W8VVE\n" "W8VVG\n" "W8VXH\n" "W8WA\n" "W8WCQ\n" "W8WD\n" "W8WEJ\n" "W8WFN\n" "W8WG\n" "W8WGT\n" "W8WH\n" "W8WHG\n" "W8WOJ\n" "W8WTL\n" "W8WTS\n" "W8WVM\n" "W8WVU\n" "W8WWC\n" "W8WY\n" "W8XC\n" "W8XD\n" "W8XP\n" "W8XR\n" "W8XY\n" "W8XZ\n" "W8YMO\n" "W8YU\n" "W8YY\n" "W8ZA\n" "W8ZC\n" "W8ZD\n" "W8ZHO\n" "W8ZM\n" "W8ZN\n" "W8ZR\n" "W8ZU\n" "W8ZZU\n" "W9/DM5TI\n" "W9/NP2I\n" "W9/UY5LW\n" "W9AAC\n" "W9ACE\n" "W9AEB\n" "W9AEM\n" "W9AKS\n" "W9AMX\n" "W9ANT\n" "W9APE\n" "W9AQ\n" "W9ATU\n" "W9AV\n" "W9AVM\n" "W9AZ\n" "W9BDN\n" "W9BF\n" "W9BGA\n" "W9BGJ\n" "W9BGX\n" "W9BHI\n" "W9BJ\n" "W9BK\n" "W9BLI\n" "W9BN\n" "W9BNO\n" "W9BOK\n" "W9BP\n" "W9BR\n" "W9BS\n" "W9BWR\n" "W9CA\n" "W9CC\n" "W9CF\n" "W9CJO\n" "W9CL\n" "W9CO\n" "W9COD\n" "W9CPI\n" "W9CPV\n" "W9CSX\n" "W9CYI\n" "W9DC\n" "W9DCO\n" "W9DEW\n" "W9DF\n" "W9DGI\n" "W9DHD\n" "W9DHQ\n" "W9DKB\n" "W9DKL\n" "W9DO\n" "W9DX\n" "W9DY\n" "W9DZ\n" "W9EAU\n" "W9EBK\n" "W9EBO\n" "W9EBY\n" "W9EEU\n" "W9EJB\n" "W9EVT\n" "W9EWZ\n" "W9EXY\n" "W9EYE\n" "W9FAM\n" "W9FBC\n" "W9FF\n" "W9FHA\n" "W9FPZ\n" "W9FR\n" "W9FW\n" "W9FX\n" "W9FY\n" "W9GD\n" "W9GE\n" "W9GG\n" "W9GIG\n" "W9GJG\n" "W9GKA\n" "W9GLG\n" "W9GM\n" "W9GMT\n" "W9GRS\n" "W9GT\n" "W9GVW\n" "W9HA\n" "W9HAK\n" "W9HB\n" "W9HHX\n" "W9HLY\n" "W9HM\n" "W9HPJ\n" "W9HR\n" "W9HT\n" "W9HW\n" "W9IIX\n" "W9IKU\n" "W9IL\n" "W9ILF\n" "W9ILY\n" "W9ILY/0\n" "W9ILY/9\n" "W9IND\n" "W9IP\n" "W9ITT\n" "W9ITV\n" "W9IU\n" "W9IW\n" "W9JA\n" "W9JAZ\n" "W9JDJ\n" "W9JGC\n" "W9JGV\n" "W9JH\n" "W9JI\n" "W9JIU\n" "W9JKF\n" "W9JL\n" "W9JPM\n" "W9JTL\n" "W9JUV\n" "W9JWC\n" "W9JXN\n" "W9KAY/5\n" "W9KB\n" "W9KHH\n" "W9KNI\n" "W9KQD\n" "W9KVR\n" "W9KXI\n" "W9KXQ\n" "W9KXT\n" "W9KY\n" "W9LC\n" "W9LD\n" "W9LDO\n" "W9LHG\n" "W9LIZ\n" "W9LL\n" "W9LLC\n" "W9LNQ\n" "W9LO\n" "W9LP\n" "W9LR\n" "W9LU\n" "W9LW\n" "W9LX\n" "W9LZE\n" "W9MAF\n" "W9MAK\n" "W9MBT\n" "W9MDG\n" "W9MG\n" "W9MHB\n" "W9MIM\n" "W9MK\n" "W9MM\n" "W9MMZ\n" "W9MOF\n" "W9MS\n" "W9MSE\n" "W9MSL\n" "W9MU\n" "W9MWV\n" "W9NG\n" "W9NGA\n" "W9NJY\n" "W9NPI\n" "W9NRC\n" "W9NTO\n" "W9NVK\n" "W9NWY\n" "W9NX\n" "W9NY\n" "W9OA\n" "W9OA/9\n" "W9OBQ\n" "W9OD\n" "W9OF\n" "W9OF/4\n" "W9OL\n" "W9OO\n" "W9OOT\n" "W9OP\n" "W9OSI\n" "W9OY\n" "W9PDS\n" "W9PH\n" "W9PIP\n" "W9PL\n" "W9PL/7\n" "W9PN\n" "W9PNP\n" "W9POC\n" "W9PRD\n" "W9PSE\n" "W9PT\n" "W9PZT\n" "W9QB\n" "W9QL\n" "W9QO\n" "W9QR\n" "W9QS\n" "W9RAM\n" "W9RC\n" "W9RE\n" "W9RGB\n" "W9RIG\n" "W9RIT\n" "W9RLL\n" "W9RM\n" "W9RN\n" "W9RNY\n" "W9ROB\n" "W9ROG\n" "W9RPM\n" "W9RR\n" "W9RSR\n" "W9RTB\n" "W9RUK\n" "W9RVR\n" "W9RWS\n" "W9SE\n" "W9SN\n" "W9SR\n" "W9SSS\n" "W9STG\n" "W9SU\n" "W9SUN\n" "W9SUS\n" "W9SZ\n" "W9TB\n" "W9THD\n" "W9TMW\n" "W9TN\n" "W9TRF\n" "W9TT\n" "W9TTT\n" "W9TTY\n" "W9TY\n" "W9UAL\n" "W9UBP\n" "W9UBT\n" "W9UCW\n" "W9UD\n" "W9UIH\n" "W9UK\n" "W9UM\n" "W9UUM\n" "W9UX\n" "W9VA\n" "W9VHL\n" "W9VNE\n" "W9VOX\n" "W9VQ\n" "W9VSA\n" "W9VT\n" "W9WE\n" "W9WGV\n" "W9WI\n" "W9WJ\n" "W9WLC\n" "W9WLX\n" "W9WS\n" "W9WTF\n" "W9XA\n" "W9XG\n" "W9XN\n" "W9XQ\n" "W9XS\n" "W9XT\n" "W9XX\n" "W9XY\n" "W9YA\n" "W9YK\n" "W9YNI\n" "W9YS\n" "W9YSX\n" "W9YT\n" "W9YYG\n" "W9YZG\n" "W9ZA\n" "W9ZJ\n" "W9ZJX\n" "W9ZR\n" "W9ZRX\n" "W9ZSJ\n" "W9ZT\n" "W9ZV\n" "WA0AAM\n" "WA0AAR\n" "WA0ACF\n" "WA0ASM\n" "WA0AUX\n" "WA0AVL\n" "WA0BJR\n" "WA0BNX\n" "WA0BZA\n" "WA0CED\n" "WA0CTZ\n" "WA0DDC\n" "WA0DEL\n" "WA0DKC\n" "WA0DYJ\n" "WA0EBZ\n" "WA0F\n" "WA0FAA\n" "WA0GNC\n" "WA0GUD\n" "WA0HHX\n" "WA0IAF\n" "WA0IIH\n" "WA0JCO\n" "WA0JH\n" "WA0JTL\n" "WA0KAQ\n" "WA0KDS\n" "WA0KLC\n" "WA0KNP\n" "WA0L\n" "WA0LJM\n" "WA0LPV\n" "WA0LRE\n" "WA0MHJ\n" "WA0N\n" "WA0OFM\n" "WA0OTO\n" "WA0PNB\n" "WA0QVC\n" "WA0RAD\n" "WA0RBW\n" "WA0ROI\n" "WA0RSX\n" "WA0SKN\n" "WA0SXV\n" "WA0USA\n" "WA0VPJ\n" "WA0WDV\n" "WA0WOV\n" "WA0WWW\n" "WA0YVH\n" "WA1APX\n" "WA1APX/8\n" "WA1AR\n" "WA1AWJ\n" "WA1BXY\n" "WA1DBR\n" "WA1DD\n" "WA1DJK\n" "WA1DRQ\n" "WA1EAJ\n" "WA1EHK\n" "WA1EOX\n" "WA1ESO\n" "WA1FCN\n" "WA1FOK\n" "WA1FVJ\n" "WA1FXK\n" "WA1GON\n" "WA1GOS\n" "WA1GS\n" "WA1HFF\n" "WA1IIE\n" "WA1IVN\n" "WA1JAE\n" "WA1JG\n" "WA1JMP\n" "WA1JWJ\n" "WA1KBE\n" "WA1KKM\n" "WA1LMC\n" "WA1LWS\n" "WA1MXT\n" "WA1NGH\n" "WA1NRQ\n" "WA1NTA\n" "WA1NVV\n" "WA1OLV\n" "WA1OUI\n" "WA1PMA\n" "WA1PMA/4\n" "WA1QDP\n" "WA1QYM\n" "WA1RCH\n" "WA1RF\n" "WA1RKS\n" "WA1RUS\n" "WA1SEO\n" "WA1SKQ\n" "WA1SYH\n" "WA1T\n" "WA1T/3\n" "WA1TAC\n" "WA1TDQ\n" "WA1TTL\n" "WA1UJU\n" "WA1VIL\n" "WA1VQY\n" "WA1YZN\n" "WA1Z\n" "WA1ZHM\n" "WA1ZJE\n" "WA1ZYX\n" "WA2AAW\n" "WA2ALY\n" "WA2AOG\n" "WA2ART\n" "WA2ASQ\n" "WA2ASQ/4\n" "WA2AXD\n" "WA2BAH\n" "WA2BCK\n" "WA2BEV\n" "WA2BJN\n" "WA2BKN\n" "WA2BMH\n" "WA2BSW\n" "WA2C\n" "WA2CAM\n" "WA2CG\n" "WA2CLP\n" "WA2DKJ\n" "WA2DX\n" "WA2EAJ\n" "WA2EGT\n" "WA2EKW\n" "WA2EMF\n" "WA2EQF\n" "WA2ETU\n" "WA2EXZ\n" "WA2FAX\n" "WA2FBN\n" "WA2FGK\n" "WA2GBF\n" "WA2GMT\n" "WA2GSX\n" "WA2HMM\n" "WA2HOM\n" "WA2HZO\n" "WA2IIE\n" "WA2JJQ\n" "WA2JJV\n" "WA2JLW\n" "WA2JQK\n" "WA2JVI\n" "WA2KBZ\n" "WA2KFS\n" "WA2KHO\n" "WA2LOT\n" "WA2LTH\n" "WA2LUY\n" "WA2LXE\n" "WA2MAV\n" "WA2MBP\n" "WA2MCR\n" "WA2MIS\n" "WA2MKM\n" "WA2NHA\n" "WA2NLL\n" "WA2NYY\n" "WA2OAX\n" "WA2OCG\n" "WA2OOB\n" "WA2PCS\n" "WA2PJZ\n" "WA2PNI\n" "WA2PYX\n" "WA2QBJ\n" "WA2QQF\n" "WA2RAS\n" "WA2RKO\n" "WA2RNY\n" "WA2RSX\n" "WA2RXS\n" "WA2RY\n" "WA2RZJ\n" "WA2SCB\n" "WA2SEI\n" "WA2SON\n" "WA2TDC\n" "WA2TMC\n" "WA2TPU\n" "WA2TVS\n" "WA2UAH\n" "WA2UBK\n" "WA2UNP\n" "WA2UPK\n" "WA2USA\n" "WA2USA/2\n" "WA2VCQ\n" "WA2VJL\n" "WA2VMO\n" "WA2VQF\n" "WA2VQV\n" "WA2VQW\n" "WA2VUN\n" "WA2VUY\n" "WA2VYA\n" "WA2VZQ\n" "WA2WGF\n" "WA2WMR\n" "WA2WZU\n" "WA2YSJ\n" "WA2ZOU\n" "WA2ZSK\n" "WA3A\n" "WA3AAN\n" "WA3AER\n" "WA3AFS\n" "WA3BTA\n" "WA3C\n" "WA3CUC\n" "WA3EKL\n" "WA3ELQ\n" "WA3EOQ\n" "WA3EQJ\n" "WA3ERQ\n" "WA3ETD\n" "WA3EYL\n" "WA3EZN\n" "WA3FAE\n" "WA3FRP\n" "WA3G\n" "WA3GFB\n" "WA3GFM\n" "WA3GGM\n" "WA3GNW\n" "WA3GYW\n" "WA3HAE\n" "WA3HDQ\n" "WA3HJJ\n" "WA3HJR\n" "WA3HOL\n" "WA3IDQ\n" "WA3IIA\n" "WA3IUO\n" "WA3IVV\n" "WA3JAT\n" "WA3JJT\n" "WA3JMV\n" "WA3KCP\n" "WA3KVN\n" "WA3KYY\n" "WA3LCO\n" "WA3LKT\n" "WA3LTJ\n" "WA3MKB\n" "WA3MKC\n" "WA3N\n" "WA3O\n" "WA3OFC\n" "WA3OFR\n" "WA3PAK\n" "WA3PBL\n" "WA3QMJ\n" "WA3QWT\n" "WA3RCA\n" "WA3RGH\n" "WA3RHW\n" "WA3RNC\n" "WA3RP\n" "WA3SES\n" "WA3SGZ\n" "WA3SKQ\n" "WA3SLN\n" "WA3SWJ\n" "WA3SXX\n" "WA3TRE\n" "WA3UCR\n" "WA3UTC\n" "WA3UYJ\n" "WA3V\n" "WA3WLH\n" "WA3WOM\n" "WA3YGQ\n" "WA3YMM\n" "WA3YQK\n" "WA3YUR\n" "WA3ZIC\n" "WA3ZII\n" "WA3ZMH\n" "WA3ZTR\n" "WA3ZWC\n" "WA4AN\n" "WA4APB\n" "WA4APG\n" "WA4ASJ\n" "WA4AU\n" "WA4AUL\n" "WA4BPJ\n" "WA4BUE\n" "WA4BVO\n" "WA4CAX\n" "WA4CEM\n" "WA4CGF\n" "WA4CM\n" "WA4CQG\n" "WA4CXI\n" "WA4DCL\n" "WA4DOU\n" "WA4DRM\n" "WA4DT\n" "WA4DX\n" "WA4ED\n" "WA4EEZ\n" "WA4EMU\n" "WA4ERU\n" "WA4EUL\n" "WA4FFW\n" "WA4FMA\n" "WA4FXT\n" "WA4FXX\n" "WA4GBU\n" "WA4GGK\n" "WA4GLH\n" "WA4GP\n" "WA4GQG\n" "WA4GZK\n" "WA4HBK\n" "WA4IAX\n" "WA4IIF\n" "WA4III\n" "WA4JA\n" "WA4JQS\n" "WA4JS\n" "WA4JUK\n" "WA4KPU\n" "WA4KSO\n" "WA4KXX\n" "WA4KYI\n" "WA4LKD\n" "WA4LOX\n" "WA4LR\n" "WA4MAE\n" "WA4MDP\n" "WA4MLD\n" "WA4MYO\n" "WA4NEL\n" "WA4NUF\n" "WA4NVE\n" "WA4OAB\n" "WA4OSD\n" "WA4OTD\n" "WA4PAM\n" "WA4PGM\n" "WA4PXP\n" "WA4RG\n" "WA4RTE\n" "WA4SM\n" "WA4SQM\n" "WA4SSG\n" "WA4STO\n" "WA4TII\n" "WA4TMJ\n" "WA4UIH\n" "WA4VKW\n" "WA4VMC\n" "WA4VVO\n" "WA4WKL\n" "WA4WLI\n" "WA4WQK\n" "WA4WTG\n" "WA4YBP\n" "WA4YJB\n" "WA4YYM\n" "WA4ZKF\n" "WA4ZNY\n" "WA4ZSQ\n" "WA4ZXV\n" "WA5ABR\n" "WA5AU\n" "WA5BDU\n" "WA5BKN\n" "WA5FWC\n" "WA5IEX\n" "WA5IYX\n" "WA5JAN\n" "WA5JEC\n" "WA5JUM\n" "WA5KGW\n" "WA5KMA\n" "WA5KSC\n" "WA5KTC\n" "WA5KWS\n" "WA5LFD\n" "WA5LLX\n" "WA5LOU\n" "WA5MS\n" "WA5MUF\n" "WA5NFC\n" "WA5NNO\n" "WA5NNV\n" "WA5NOM\n" "WA5OYU\n" "WA5PFJ\n" "WA5POK\n" "WA5RHG\n" "WA5RML\n" "WA5RNV\n" "WA5SOG\n" "WA5SPP\n" "WA5SWN\n" "WA5SYU\n" "WA5TRX\n" "WA5TYJ\n" "WA5UA\n" "WA5VGI\n" "WA5VQM\n" "WA5VRE\n" "WA5VSK\n" "WA5WFE\n" "WA5Y\n" "WA5YNB\n" "WA5ZKO\n" "WA5ZUP\n" "WA6AEE\n" "WA6APQ\n" "WA6BAI\n" "WA6BOB\n" "WA6CDO\n" "WA6CDR\n" "WA6CIE\n" "WA6DIL\n" "WA6ES\n" "WA6F\n" "WA6FFJ\n" "WA6FGV\n" "WA6GFR\n" "WA6HFP\n" "WA6HXD\n" "WA6HXW\n" "WA6HZY\n" "WA6IOQ\n" "WA6JJB\n" "WA6JRZ\n" "WA6KHK\n" "WA6KYR\n" "WA6L\n" "WA6LD\n" "WA6LDI\n" "WA6LIE\n" "WA6MEM\n" "WA6MQF\n" "WA6NHD\n" "WA6NHO\n" "WA6NOL\n" "WA6NUO\n" "WA6O\n" "WA6OJM\n" "WA6OWM\n" "WA6PHJ\n" "WA6PSI\n" "WA6PWP\n" "WA6PY\n" "WA6QHD\n" "WA6RIK\n" "WA6RSV\n" "WA6RUS\n" "WA6RZ\n" "WA6SCW\n" "WA6SJQ\n" "WA6ST\n" "WA6TLA\n" "WA6TLL\n" "WA6UDR\n" "WA6URY\n" "WA6UYO\n" "WA6WPG\n" "WA6WXD\n" "WA6YEE\n" "WA6YKU\n" "WA6ZTY\n" "WA7AA\n" "WA7ADK\n" "WA7AJ\n" "WA7AR\n" "WA7AVL\n" "WA7BME\n" "WA7CC\n" "WA7DX\n" "WA7ETH\n" "WA7HDI\n" "WA7HQD\n" "WA7HR\n" "WA7IPM\n" "WA7ITZ\n" "WA7JHQ\n" "WA7JT\n" "WA7JTM\n" "WA7KYI\n" "WA7LFJ\n" "WA7LK\n" "WA7LNC\n" "WA7LNW\n" "WA7LT\n" "WA7LZC\n" "WA7MMM\n" "WA7NB\n" "WA7NCL\n" "WA7ND\n" "WA7NPX\n" "WA7NUH\n" "WA7NWL\n" "WA7OB\n" "WA7OET\n" "WA7OFH\n" "WA7OJY\n" "WA7OZT\n" "WA7PRC\n" ; const char txt_master6[26674] = "WA7PVE\n" "WA7QCC\n" "WA7QQI\n" "WA7RCT\n" "WA7RF\n" "WA7RZW\n" "WA7SHP\n" "WA7SRZ\n" "WA7TOF\n" "WA7U\n" "WA7UR\n" "WA7UTM\n" "WA7WNJ\n" "WA7YAZ\n" "WA8ADA\n" "WA8ALV\n" "WA8BMY\n" "WA8CLT\n" "WA8DXB\n" "WA8EFK\n" "WA8FRD\n" "WA8FZZ\n" "WA8HSB\n" "WA8ICK\n" "WA8IHI\n" "WA8IQF\n" "WA8JBG\n" "WA8JOC\n" "WA8KAN\n" "WA8KAZ\n" "WA8KQQ\n" "WA8KSS\n" "WA8LOW\n" "WA8MCD\n" "WA8MGD\n" "WA8MTI\n" "WA8MVU\n" "WA8NJR\n" "WA8NLX\n" "WA8NSS\n" "WA8OIF\n" "WA8OJR\n" "WA8OLD\n" "WA8PGE\n" "WA8QNN\n" "WA8QYJ\n" "WA8QZS\n" "WA8RCK\n" "WA8RCN\n" "WA8REI\n" "WA8RPK\n" "WA8RRA\n" "WA8SDA\n" "WA8SDF\n" "WA8SHP\n" "WA8SSQ\n" "WA8TJL\n" "WA8TM\n" "WA8TWM\n" "WA8UEG\n" "WA8UMT\n" "WA8VSJ\n" "WA8VTD\n" "WA8VVG\n" "WA8WV\n" "WA8Y\n" "WA8YUZ\n" "WA8YVF\n" "WA8YXA\n" "WA8ZBT\n" "WA8ZDL\n" "WA9ACO\n" "WA9AFM\n" "WA9AFM/5\n" "WA9APL\n" "WA9AQN\n" "WA9AQQ\n" "WA9BLP\n" "WA9BXB\n" "WA9C\n" "WA9CWX\n" "WA9DKO\n" "WA9ETW\n" "WA9FBC\n" "WA9FET\n" "WA9FRU\n" "WA9FTU\n" "WA9FWT\n" "WA9HUP\n" "WA9HUX\n" "WA9IVH\n" "WA9JHH\n" "WA9JLV\n" "WA9JM\n" "WA9LEY\n" "WA9LJK\n" "WA9LKZ\n" "WA9LT\n" "WA9LYZ\n" "WA9MXQ\n" "WA9NBU\n" "WA9NJR\n" "WA9OEC\n" "WA9OUE\n" "WA9PWP\n" "WA9QNN\n" "WA9RVM\n" "WA9S\n" "WA9TOP\n" "WA9TZE\n" "WA9U\n" "WA9URF\n" "WA9VEE\n" "WA9WJJ\n" "WA9WSJ\n" "WA9YTQ\n" "WA9YYY\n" "WA9Z\n" "WA9ZBV\n" "WA9ZBW\n" "WA9ZES\n" "WA9ZPC\n" "WA9ZPL\n" "WA9ZWL/6\n" "WB0AJS\n" "WB0B\n" "WB0BLV\n" "WB0CFF\n" "WB0CJB\n" "WB0DAS\n" "WB0DJX\n" "WB0DUG\n" "WB0FNZ\n" "WB0GAG\n" "WB0GAZ\n" "WB0GBI\n" "WB0GGM\n" "WB0GKH\n" "WB0HHM\n" "WB0IEL\n" "WB0IOL\n" "WB0IWG\n" "WB0IZO\n" "WB0JDQ\n" "WB0KFM\n" "WB0KGN\n" "WB0KWJ\n" "WB0M\n" "WB0MCO\n" "WB0MNW\n" "WB0N\n" "WB0POH\n" "WB0PYF\n" "WB0QIR\n" "WB0QLU\n" "WB0QVB\n" "WB0RSH\n" "WB0RUR\n" "WB0SMS\n" "WB0SND\n" "WB0SOK\n" "WB0TEV\n" "WB0TRA\n" "WB0TSR\n" "WB0TUA\n" "WB0TVY\n" "WB0U\n" "WB0UKI\n" "WB0UKL\n" "WB0ULX\n" "WB0VAK\n" "WB0VBW\n" "WB0VHF\n" "WB0VHW\n" "WB0WIV\n" "WB0WKQ\n" "WB0WQS\n" "WB0YEA\n" "WB0YJT\n" "WB0YRM\n" "WB0YYE\n" "WB0ZNY\n" "WB1ABQ\n" "WB1ADR\n" "WB1AEL\n" "WB1COV\n" "WB1DX\n" "WB1EDI\n" "WB1FJH\n" "WB1FLA\n" "WB1FPA\n" "WB1FQW\n" "WB1FVY\n" "WB1GCM\n" "WB1GQR\n" "WB1HBQ\n" "WB1HJS\n" "WB1I\n" "WB1Z\n" "WB2AA\n" "WB2ABD\n" "WB2AIV\n" "WB2AMU\n" "WB2AQC\n" "WB2ART\n" "WB2ATZ\n" "WB2AZE\n" "WB2BTO\n" "WB2COY\n" "WB2DFC\n" "WB2ELD\n" "WB2FUE\n" "WB2GGM\n" "WB2GHC\n" "WB2HJV\n" "WB2HTO\n" "WB2HVF\n" "WB2IVN\n" "WB2JEP\n" "WB2JFP\n" "WB2JGD\n" "WB2JNA\n" "WB2JSM\n" "WB2JUF\n" "WB2KAO\n" "WB2KEC\n" "WB2KHE\n" "WB2KLD\n" "WB2KSK\n" "WB2KWF\n" "WB2L\n" "WB2LEB\n" "WB2MIC\n" "WB2MRX\n" "WB2MXJ\n" "WB2NJN\n" "WB2OFV\n" "WB2OQQ\n" "WB2PJH\n" "WB2PYD\n" "WB2QJ\n" "WB2RAT\n" "WB2REM\n" "WB2RFV\n" "WB2RGK\n" "WB2RHM\n" "WB2RIS\n" "WB2RRF\n" "WB2RTG\n" "WB2SCT\n" "WB2SIH\n" "WB2SUN\n" "WB2SXY\n" "WB2TFM\n" "WB2TJO\n" "WB2TPS\n" "WB2TQE\n" "WB2TSL\n" "WB2TSV/7\n" "WB2UFF\n" "WB2VSJ\n" "WB2WIK\n" "WB2WPM\n" "WB2Y\n" "WB2YHK\n" "WB2YIP\n" "WB2YZX\n" "WB2ZAB\n" "WB2ZAP\n" "WB2ZEI\n" "WB2ZEX\n" "WB3AFS\n" "WB3AGB\n" "WB3AGC\n" "WB3ANT\n" "WB3AVD\n" "WB3AVN\n" "WB3BDH\n" "WB3BEL\n" "WB3BGK\n" "WB3CJU\n" "WB3CQD\n" "WB3CQM\n" "WB3CSY\n" "WB3DOM\n" "WB3EHS\n" "WB3EML\n" "WB3ESR\n" "WB3FIZ\n" "WB3HLH\n" "WB3HUZ\n" "WB3IGR\n" "WB3IZF\n" "WB3JFS\n" "WB3JKQ\n" "WB3JVD\n" "WB3LGC\n" "WB3LTT\n" "WB3T\n" "WB4AEG\n" "WB4BYQ\n" "WB4C\n" "WB4CSK\n" "WB4CSW\n" "WB4DAN\n" "WB4DNL\n" "WB4FDT\n" "WB4FEV\n" "WB4FSF\n" "WB4FSV\n" "WB4FWQ\n" "WB4GLI\n" "WB4HDC\n" "WB4HDM\n" "WB4HUX\n" "WB4I\n" "WB4IUY\n" "WB4IZX\n" "WB4JFS\n" "WB4JJJ\n" "WB4JVR\n" "WB4K\n" "WB4KKT\n" "WB4KLI\n" "WB4KTF\n" "WB4KUU\n" "WB4KZW\n" "WB4LJX\n" "WB4LMH\n" "WB4MAK\n" "WB4MDX\n" "WB4MNK\n" "WB4MRF\n" "WB4MSG\n" "WB4NBE\n" "WB4NCW\n" "WB4NUM\n" "WB4OEE\n" "WB4OMM\n" "WB4OQF\n" "WB4PPW\n" "WB4PWZ\n" "WB4QNG\n" "WB4ROA\n" "WB4ROA/7\n" "WB4RRD\n" "WB4SGA\n" "WB4SLM\n" "WB4SQ\n" "WB4TDH\n" "WB4TLX\n" "WB4TOM\n" "WB4U\n" "WB4UIC\n" "WB4VSD\n" "WB4VVU\n" "WB4W\n" "WB4WMR\n" "WB4WXE\n" "WB4X\n" "WB4YBY\n" "WB4YDL\n" "WB4YDY\n" "WB4YZA\n" "WB4ZBI\n" "WB4ZPF\n" "WB5A\n" "WB5AAA\n" "WB5AAR\n" "WB5AHN\n" "WB5ANN\n" "WB5ASP\n" "WB5BKL\n" "WB5HOW\n" "WB5HQO\n" "WB5ISM\n" "WB5IUU\n" "WB5IZD\n" "WB5JID\n" "WB5K\n" "WB5KIA\n" "WB5LXJ\n" "WB5MFI\n" "WB5NMZ\n" "WB5NPW\n" "WB5ONA\n" "WB5OSD\n" "WB5PDZ\n" "WB5QCB\n" "WB5R\n" "WB5RYB\n" "WB5S\n" "WB5SGN\n" "WB5STU\n" "WB5TEQ\n" "WB5TKA\n" "WB5TKI\n" "WB5TOI\n" "WB5TTE\n" "WB5TUF\n" "WB5UFR\n" "WB5VZL\n" "WB5WAJ\n" "WB5XX\n" "WB5YYA\n" "WB6AAJ\n" "WB6BET\n" "WB6BFG\n" "WB6BOD\n" "WB6CMX\n" "WB6CYK\n" "WB6FWS\n" "WB6HGJ\n" "WB6HYH\n" "WB6I\n" "WB6IQY\n" "WB6IXS\n" "WB6IYM\n" "WB6JJJ\n" "WB6JSB\n" "WB6JVP\n" "WB6KWL\n" "WB6L\n" "WB6LIU\n" "WB6MBF\n" "WB6MIO\n" "WB6MMC\n" "WB6MRQ\n" "WB6NJA\n" "WB6NKJ\n" "WB6NVB\n" "WB6OJB\n" "WB6OKG\n" "WB6OWZ\n" "WB6QPG\n" "WB6QQU\n" "WB6REZ\n" "WB6RSE\n" "WB6TFD\n" "WB6TPF\n" "WB6Z\n" "WB6ZAM\n" "WB6ZHZ\n" "WB7ACV\n" "WB7AGN\n" "WB7AKE\n" "WB7B\n" "WB7D\n" "WB7DBJ\n" "WB7DFQ\n" "WB7DJR\n" "WB7ECS\n" "WB7ECS/4\n" "WB7FJG\n" "WB7NJV\n" "WB7OCV\n" "WB7OTL\n" "WB7OUZ\n" "WB7PMT\n" "WB7QCS\n" "WB7QXU\n" "WB7S\n" "WB7TIR\n" "WB7TVS\n" "WB7UZO\n" "WB8AFC\n" "WB8AKW\n" "WB8B\n" "WB8BOR\n" "WB8BPU\n" "WB8BZK\n" "WB8CEH\n" "WB8DEG\n" "WB8DNO\n" "WB8E\n" "WB8ENE\n" "WB8EYE\n" "WB8FLE\n" "WB8FSV\n" "WB8HWO\n" "WB8ICN\n" "WB8IMY\n" "WB8JAY\n" "WB8JUI\n" "WB8K\n" "WB8KRY\n" "WB8LCD\n" "WB8LZA\n" "WB8MIW\n" "WB8MKH\n" "WB8N\n" "WB8NBA\n" "WB8NUT\n" "WB8NWA\n" "WB8O\n" "WB8OWM\n" "WB8QLA\n" "WB8RFB\n" "WB8RTJ\n" "WB8SKP\n" "WB8TDA\n" "WB8TDG\n" "WB8TGY\n" "WB8TIJ\n" "WB8TLI\n" "WB8TNN\n" "WB8TSD\n" "WB8VGE\n" "WB8VQU\n" "WB8WKQ\n" "WB8WRP\n" "WB8WTZ\n" "WB8YJF\n" "WB8YJF/4\n" "WB8YQJ\n" "WB8YYY\n" "WB8ZOM\n" "WB8ZRL\n" "WB9AYW\n" "WB9CHY\n" "WB9CIF\n" "WB9DIF\n" "WB9DKL\n" "WB9DLC\n" "WB9EDP\n" "WB9EEE\n" "WB9EGZ\n" "WB9FCI\n" "WB9FIP\n" "WB9FIU\n" "WB9FQS\n" "WB9GYJ\n" "WB9HFK\n" "WB9IRF\n" "WB9IRJ\n" "WB9JNZ\n" "WB9JOX\n" "WB9KPT\n" "WB9L\n" "WB9LPW\n" "WB9LRK\n" "WB9LTY\n" "WB9LZR\n" "WB9MDS\n" "WB9MII\n" "WB9MMR\n" "WB9NMN\n" "WB9NOO\n" "WB9NRK\n" "WB9OJE\n" "WB9OKQ\n" "WB9ONU\n" "WB9PUB\n" "WB9PZB\n" "WB9QVR\n" "WB9RAS\n" "WB9RZY\n" "WB9SFM\n" "WB9TFH\n" "WB9TNF\n" "WB9TVY\n" "WB9UDJ\n" "WB9UGC\n" "WB9UGX\n" "WB9UQE\n" "WB9VGO\n" "WB9VKZ\n" "WB9VRP\n" "WB9WHQ\n" "WB9WKT\n" "WB9WOZ\n" "WB9YBI\n" "WB9YIG\n" "WB9YJE\n" "WB9YSD\n" "WB9Z\n" "WB9ZFN\n" "WC0A\n" "WC0B\n" "WC0L\n" "WC0N\n" "WC0U\n" "WC0V\n" "WC0W\n" "WC1M\n" "WC1T\n" "WC2C\n" "WC2K\n" "WC2L\n" "WC2W\n" "WC2Z\n" "WC3A\n" "WC3O\n" "WC3Q\n" "WC4B\n" "WC4CC\n" "WC4DC\n" "WC4E\n" "WC4H\n" "WC4I\n" "WC4KY\n" "WC4MBC\n" "WC4TX\n" "WC4U\n" "WC4V\n" "WC5B\n" "WC5C\n" "WC5M\n" "WC5N\n" "WC5P\n" "WC5T\n" "WC6DX\n" "WC6H\n" "WC7CW\n" "WC7Q\n" "WC7S\n" "WC7V\n" "WC7WB\n" "WC7X\n" "WC8VOA\n" "WC8W\n" "WC9B\n" "WC9C\n" "WD0AZW\n" "WD0BC\n" "WD0BGZ\n" "WD0BMR\n" "WD0BMS\n" "WD0CIV\n" "WD0DAI\n" "WD0DX\n" "WD0E\n" "WD0EDK\n" "WD0FAA\n" "WD0GTY\n" "WD0J\n" "WD0K\n" "WD0L\n" "WD0M\n" "WD0MR\n" "WD0T\n" "WD1V\n" "WD1W\n" "WD1X\n" "WD1Z\n" "WD2E\n" "WD2F\n" "WD3B\n" "WD3C\n" "WD4AB\n" "WD4ABO\n" "WD4AHZ\n" "WD4ASP\n" "WD4CBA\n" "WD4CJN\n" "WD4DC\n" "WD4DDU\n" "WD4DMZ\n" "WD4EBR\n" "WD4ELG\n" "WD4FNY\n" "WD4FNY/0\n" "WD4GBW\n" "WD4GEO\n" "WD4HIM\n" "WD4HXE\n" "WD4IXD\n" "WD4JJ\n" "WD4KGC\n" "WD4KTF\n" "WD4LAZ\n" "WD4LBR\n" "WD4LTF\n" "WD4LUR\n" "WD4LYV\n" "WD4MSM\n" "WD4OHD\n" "WD4OHM\n" "WD4OJM\n" "WD4PDZ\n" "WD4PTJ\n" "WD4SIG\n" "WD5AAM\n" "WD5ABC\n" "WD5ACR\n" "WD5BJT\n" "WD5BUC\n" "WD5CAW\n" "WD5COV\n" "WD5DBV\n" "WD5EAE\n" "WD5FUN\n" "WD5HIO\n" "WD5IQR\n" "WD5IYF\n" "WD5IYT\n" "WD5JB\n" "WD5JNC\n" "WD5K\n" "WD5KCX\n" "WD5R\n" "WD5T\n" "WD5USA\n" "WD6AHV\n" "WD6BGG\n" "WD6CKT\n" "WD6DBM\n" "WD6FTB\n" "WD6GFF\n" "WD6L\n" "WD7K\n" "WD7Y\n" "WD8AHR\n" "WD8ANZ\n" "WD8BAH\n" "WD8BBE\n" "WD8BCS\n" "WD8BIL\n" "WD8CJN\n" "WD8CQB\n" "WD8DSB\n" "WD8DYO\n" "WD8EOL\n" "WD8H\n" "WD8ICX\n" "WD8INF\n" "WD8IQJ\n" "WD8JJA\n" "WD8JOL\n" "WD8JP\n" "WD8KNC\n" "WD8KRV\n" "WD8M\n" "WD8MBE\n" "WD8NHA\n" "WD8NVN\n" "WD8OSE\n" "WD8OSV\n" "WD8OZS\n" "WD8PKF\n" "WD8QGE\n" "WD8QIJ\n" "WD8RIF\n" "WD8RUW\n" "WD8RWI\n" "WD8RYC\n" "WD8S\n" "WD8V\n" "WD9ABG\n" "WD9CHG\n" "WD9CIR\n" "WD9COM\n" "WD9DZV\n" "WD9EJK\n" "WD9EKA\n" "WD9EMI\n" "WD9F\n" "WD9FJL\n" "WD9FTZ\n" "WD9GJK\n" "WD9GMK\n" "WD9HDT\n" "WD9HSY\n" "WD9HYM\n" "WD9IDV\n" "WD9IOK\n" "WE0Q\n" "WE1H\n" "WE1P\n" "WE2N\n" "WE2Y\n" "WE3C\n" "WE3E\n" "WE3J\n" "WE3ST\n" "WE4H\n" "WE4M\n" "WE4Q\n" "WE4S\n" "WE5I\n" "WE5K\n" "WE5O\n" "WE6C\n" "WE6EZ\n" "WE6L\n" "WE6M\n" "WE6Z\n" "WE7G\n" "WE7K\n" "WE7P\n" "WE8P\n" "WE8R\n" "WE9A\n" "WE9M\n" "WE9N\n" "WE9R\n" "WE9V\n" "WF0GM\n" "WF1L\n" "WF2B\n" "WF2S\n" "WF2W\n" "WF3C\n" "WF3M\n" "WF3T\n" "WF4B\n" "WF4G\n" "WF4M\n" "WF4U\n" "WF4W\n" "WF5E\n" "WF5I\n" "WF5T\n" "WF5W\n" "WF5X\n" "WF6C\n" "WF6F\n" "WF6O\n" "WF7K\n" "WF7T\n" "WF7T/4\n" "WF8N\n" "WF8P\n" "WF9A\n" "WF9V\n" "WG0G\n" "WG0I\n" "WG0M\n" "WG0V\n" "WG1W\n" "WG1X\n" "WG2B\n" "WG2Y\n" "WG3J\n" "WG3U\n" "WG4F\n" "WG4M\n" "WG4MB\n" "WG4P\n" "WG5G\n" "WG5J\n" "WG7J\n" "WG7X\n" "WG7Y\n" "WG8DX\n" "WG8H\n" "WG8P\n" "WG8Y\n" "WG9L\n" "WH0AC\n" "WH0S\n" "WH2D\n" "WH2DX\n" "WH2X\n" "WH6C\n" "WH6OR\n" "WH6R\n" "WH7GM\n" "WH7TU\n" "WH7V\n" "WI0S\n" "WI0W\n" "WI0WA\n" "WI1G\n" "WI1I\n" "WI2E\n" "WI3K\n" "WI4A\n" "WI4DX\n" "WI4N\n" "WI4R\n" "WI4T\n" "WI5ND\n" "WI6I\n" "WI6J\n" "WI6T\n" "WI6Z\n" "WI7D\n" "WI7F\n" "WI7N\n" "WI8A\n" "WI8B\n" "WI8C\n" "WI8R\n" "WI9G\n" "WI9H\n" "WI9M\n" "WI9TOM\n" "WI9WI\n" "WI9Z\n" "WJ0X\n" "WJ1B\n" "WJ1R\n" "WJ2D\n" "WJ2O\n" "WJ2P\n" "WJ3A\n" "WJ3F\n" "WJ3P\n" "WJ4N\n" "WJ5C\n" "WJ5DX\n" "WJ5S\n" "WJ6O\n" "WJ6Y\n" "WJ7R\n" "WJ8E\n" "WJ8Y\n" "WJ9B\n" "WJ9X\n" "WK0DX\n" "WK0P\n" "WK1Q\n" "WK2G\n" "WK2H\n" "WK2S\n" "WK3N\n" "WK4F\n" "WK4P\n" "WK4Q\n" "WK4W\n" "WK4Y\n" "WK5T\n" "WK5X\n" "WK6C\n" "WK6I\n" "WK6S\n" "WK7P\n" "WK8A\n" "WK8U\n" "WK8V\n" "WK9H\n" "WL7BDO\n" "WL7E/W7\n" "WL7E/WZ7\n" "WL7O\n" "WL7SJ\n" "WL7UQ\n" "WM0F\n" "WM0G\n" "WM1G\n" "WM2H\n" "WM2Z\n" "WM3L\n" "WM3O\n" "WM3PEN\n" "WM3T\n" "WM4D\n" "WM4Q\n" "WM4R\n" "WM4RM\n" "WM5DX\n" "WM5R\n" "WM6A\n" "WM6DX\n" "WM7DX\n" "WM9DX\n" "WN0G\n" "WN0L\n" "WN1GIV\n" "WN1M\n" "WN1OTV\n" "WN1X\n" "WN2O\n" "WN2T\n" "WN2Y\n" "WN3N\n" "WN3R\n" "WN3USA\n" "WN4AT\n" "WN4DX\n" "WN4LTY\n" "WN4S\n" "WN4VCH\n" "WN5G\n" "WN5V\n" "WN6K\n" "WN6M\n" "WN6W\n" "WN7J\n" "WN7L\n" "WN7M\n" "WN7T\n" "WN7Y\n" "WN8P\n" "WN8R\n" "WN9E\n" "WN9ICB\n" "WN9J\n" "WN9M\n" "WN9O\n" "WN9P\n" "WO0Q\n" "WO1N\n" "WO2N\n" "WO2T\n" "WO2Y\n" "WO3P\n" "WO3Z\n" "WO4D\n" "WO4DX\n" "WO4O\n" "WO4R\n" "WO5D\n" "WO5I\n" "WO6M\n" "WO6T\n" "WO7U\n" "WO7Y\n" "WO8CC\n" "WO8J\n" "WO8J/7\n" "WO8USA\n" "WO8VET\n" "WO9S\n" "WO9U\n" "WO9Z\n" "WP2B\n" "WP2E\n" "WP2Z\n" "WP3C\n" "WP3EF\n" "WP3GW\n" "WP3R\n" "WP3UX\n" "WP4BH\n" "WP4CGH\n" "WP4CRG\n" "WP4D\n" "WP4DQK\n" "WP4EDD\n" "WP4I\n" "WP4JBG\n" "WP4L\n" "WP4NEG\n" "WP4NIX\n" "WP4NND\n" "WP4SK\n" "WP4U\n" "WP4WV\n" "WP4WW\n" "WQ0A\n" "WQ0B\n" "WQ1H\n" "WQ2N\n" "WQ3E\n" "WQ3T\n" "WQ3X\n" "WQ4L\n" "WQ5L\n" "WQ5O\n" "WQ6K\n" "WQ6O\n" "WQ6X\n" "WQ7A\n" "WQ7L\n" "WQ7X\n" "WQ8RP\n" "WQ8T\n" "WQ9E\n" "WQ9T\n" "WQ9Z\n" "WR1B\n" "WR1Q\n" "WR1TX\n" "WR2G\n" "WR2V\n" "WR3H\n" "WR3L\n" "WR3Z\n" "WR4AA\n" "WR4C\n" "WR4F\n" "WR4I\n" "WR4K\n" "WR4U\n" "WR5AW\n" "WR5G\n" "WR5U\n" "WR7DW\n" "WR7HE\n" "WR7K\n" "WR7Q\n" "WR8J\n" "WR8R\n" "WR9AN\n" "WR9L\n" "WR9Y\n" "WS0Z\n" "WS1F\n" "WS1L\n" "WS1V\n" "WS2E\n" "WS2L\n" "WS4C\n" "WS4F\n" "WS4H\n" "WS4NC\n" "WS4WW\n" "WS4Y\n" "WS5H\n" "WS5K\n" "WS6K\n" "WS6X\n" "WS6Z\n" "WS7I\n" "WS7L\n" "WS7N\n" "WS7V\n" "WS7X\n" "WS8D\n" "WS8M\n" "WS9E\n" "WS9J\n" "WS9M\n" "WS9M/2\n" "WS9M/4\n" "WS9V\n" "WS9W\n" "WT0A\n" "WT0AA\n" "WT0D\n" "WT0O\n" "WT1M\n" "WT2Z\n" "WT3Q\n" "WT4PF\n" "WT4Q\n" "WT4Y\n" "WT5K\n" "WT5L\n" "WT5N\n" "WT5R\n" "WT5U\n" "WT6A\n" "WT6G\n" "WT6K\n" "WT6P\n" "WT6TT\n" "WT6X\n" "WT7N\n" "WT7RC\n" "WT7TT\n" "WT8C\n" "WT8E\n" "WT8F\n" "WT8N\n" "WT8O\n" "WT9Q\n" "WT9U\n" "WU0L\n" "WU1E\n" "WU1ITU\n" "WU2L\n" "WU2S\n" "WU2X\n" "WU3A\n" "WU3H\n" "WU4G\n" "WU5E\n" "WU5PIG\n" "WU6CC\n" "WU7O\n" "WU7R\n" "WU8P\n" "WU8Q\n" "WU9B\n" "WV0T\n" "WV1M\n" "WV2NY\n" "WV2ZOW\n" "WV3U\n" "WV4I\n" "WV4V\n" "WV4Y\n" "WV5K\n" "WV5L\n" "WV6E\n" "WV6I\n" "WV6N\n" "WV7Q\n" "WV7Z\n" "WV8A\n" "WV8AA\n" "WV8USA\n" "WV9B\n" "WV9S\n" "WW0AL\n" "WW0E\n" "WW0H\n" "WW0WB\n" "WW1M\n" "WW1WW\n" "WW2DX\n" "WW2NC\n" "WW2NJ\n" "WW2P\n" "WW2PT\n" "WW2R\n" "WW2Y\n" "WW3A\n" "WW3DE\n" "WW3K\n" "WW3KP\n" "WW3Q\n" "WW3QB\n" "WW3S\n" "WW4B\n" "WW4CP\n" "WW4DM\n" "WW4E\n" "WW4GC\n" "WW4LL\n" "WW4R\n" "WW5AA\n" "WW5R\n" "WW5TT\n" "WW5W\n" "WW6D\n" "WW6O\n" "WW6P\n" "WW6USA\n" "WW7Q\n" "WW8O\n" "WW8OH\n" "WW9DX\n" "WW9R\n" "WX0B\n" "WX0V\n" "WX1MAN\n" "WX1O\n" "WX1S\n" "WX1V\n" "WX1X\n" "WX2F\n" "WX2N\n" "WX2T\n" "WX2U\n" "WX3A\n" "WX3B\n" "WX3G\n" "WX3SKY\n" "WX4CW\n" "WX4G\n" "WX4MLB\n" "WX4MM\n" "WX4QN\n" "WX4RM\n" "WX4TM\n" "WX4X\n" "WX5H\n" "WX5I\n" "WX5N\n" "WX5S\n" "WX5W\n" "WX6V\n" "WX6W\n" "WX6Y\n" "WX7B\n" "WX7E\n" "WX7G\n" "WX7L\n" "WX7P\n" "WX7T\n" "WX8G\n" "WX9C\n" "WX9EP\n" "WX9U\n" "WX9Z\n" "WY0B\n" "WY0L\n" "WY0V\n" "WY1H\n" "WY1U\n" "WY2G\n" "WY3A\n" "WY3P\n" "WY4A\n" "WY4J\n" "WY4Y\n" "WY5I\n" "WY6DX\n" "WY6K\n" "WY7DK\n" "WY7FD\n" "WY7I\n" "WY7KRA\n" "WY7LL\n" "WY7N\n" "WY7SS\n" "WY7USA\n" "WY8DX\n" "WY8I\n" "WY9N\n" "WZ1F\n" "WZ2T\n" "WZ3B\n" "WZ4F\n" "WZ4P\n" "WZ4Z\n" "WZ6T\n" "WZ6Z\n" "WZ7E\n" "WZ7M\n" "WZ7ZR\n" "WZ8D\n" "WZ8DX\n" "WZ8K\n" "WZ8P\n" "WZ8T\n" "WZ9B\n" "XE1AY\n" "XE1B\n" "XE1BY\n" "XE1CDF\n" "XE1CQ\n" "XE1CRG\n" "XE1CT\n" "XE1CWJ\n" "XE1EE\n" "XE1FAS\n" "XE1FSK\n" "XE1FZE\n" "XE1GRR\n" "XE1GZU\n" "XE1HJL\n" "XE1HJN\n" "XE1HON\n" "XE1IM\n" "XE1J\n" "XE1KK\n" "XE1L\n" "XE1LM\n" "XE1MEX\n" "XE1MM\n" "XE1MO\n" "XE1MW\n" "XE1NVA\n" "XE1NW\n" "XE1OK\n" "XE1R\n" "XE1RBV\n" "XE1RCS\n" "XE1REM\n" "XE1REW\n" "XE1RP\n" "XE1RZL\n" "XE1SAR\n" "XE1SAX\n" "XE1SGW\n" "XE1SVT\n" "XE1TD\n" "XE1TDX\n" "XE1TNC\n" "XE1TRP\n" "XE1USG\n" "XE1V\n" "XE1VY\n" "XE1XZQ\n" "XE1YJS\n" "XE1YYD\n" "XE1YZY\n" "XE1ZCQ\n" "XE1ZTW\n" "XE1ZW\n" "XE2AC\n" "XE2AI\n" "XE2ANT\n" "XE2AU\n" "XE2AUB\n" "XE2AUD\n" "XE2CQ\n" "XE2D\n" "XE2EJ\n" "XE2ES\n" "XE2EX\n" "XE2FGC\n" "XE2GAG\n" "XE2GG\n" "XE2HUM\n" "XE2HUQ\n" "XE2I\n" "XE2JA\n" "XE2K\n" "XE2MM\n" "XE2MVS\n" "XE2MX\n" "XE2NS\n" "XE2RC\n" "XE2RV\n" "XE2S\n" "XE2SIV\n" "XE2TH\n" "XE2TPJ\n" "XE2TZP\n" "XE2WK\n" "XE2WWW\n" "XE2YBG\n" "XE2YHR\n" "XE2YOM\n" "XE2YWH\n" "XE3D\n" "XE3DX\n" "XE3KGS\n" "XE3N\n" "XE3PMR\n" "XE3RR\n" "XF3PAS\n" "XQ1IDM\n" "XQ4CW\n" "XQ4EM\n" "XQ5C\n" "XQ5CIE\n" "XQ5CL\n" "XQ8GLQ\n" "XR1A\n" "XR3A\n" "XR3P\n" "XR6T\n" "XU7AAA\n" "XU7ACY\n" "XU7ADU\n" "XU7FMZ\n" "XU7KOH\n" "XU7MDY\n" "XU7TZG\n" "XU7XXX\n" "XV1X\n" "XV2MDY\n" "XV2RZ\n" "XV2W\n" "XV4BX\n" "XW1B\n" "XX9LT\n" "YB0AI\n" "YB0AJV\n" "YB0BCU\n" "YB0COU\n" "YB0COX\n" "YB0DPO\n" "YB0ECT\n" "YB0EIN\n" "YB0JIV\n" "YB0JK\n" "YB0KYM\n" "YB0MJY\n" "YB0MWM\n" "YB0NFL\n" "YB0PAH\n" "YB0ZZ\n" "YB1ALL\n" "YB1AQD\n" "YB1AR\n" "YB1C\n" "YB1CCF\n" "YB1CYD\n" "YB1KAR\n" "YB1MBA\n" "YB1NWP\n" "YB1PC\n" "YB1TJ\n" "YB1UUN\n" "YB1YCT\n" "YB2DDL\n" "YB2DX\n" "YB2ECG\n" "YB2LSR\n" "YB2OK\n" "YB2UTX\n" "YB3BOA\n" "YB3IZK\n" "YB3JBJ\n" "YB3MM\n" "YB3OX\n" "YB3TD\n" "YB3VK\n" "YB3XM\n" "YB41AR\n" "YB4IR\n" "YB5AQB\n" "YB5OUB\n" "YB6INU\n" "YB8EL\n" "YB8EXL\n" "YB8FL\n" "YC0COX\n" "YC0IEM\n" "YC1BRS\n" "YC1BYX\n" "YC1DYY\n" "YC1LA\n" "YC1UDK\n" "YC1URC\n" "YC2BG\n" "YC2EUZ\n" "YC2LEV\n" "YC2USI\n" "YC2WWW\n" "YC2YTH\n" "YC3TKH\n" "YC5OO\n" "YC5OUB\n" "YC5VB\n" "YC6BRS\n" "YC6CM\n" "YC6EN\n" "YC6JRT\n" "YC6NE\n" "YC8FEF\n" "YC9MDX\n" "YC9WIC\n" "YD1BJX\n" "YD1HUH\n" "YD1XUH\n" "YD2LEV\n" "YD3KWR\n" "YE0X\n" "YE1C\n" "YE1ZAL\n" "YE1ZAT\n" "YE2R\n" "YI9WV\n" "YJ0MM\n" "YK9Y\n" "YL/4L3A\n" "YL0A\n" "YL0Y\n" "YL1S\n" "YL1XN\n" "YL1YI\n" "YL1ZC\n" "YL1ZO\n" "YL1ZS\n" "YL1ZX\n" "YL2BJ\n" "YL2BR\n" "YL2CA\n" "YL2CF\n" "YL2CI\n" "YL2CR\n" "YL2CV\n" "YL2EC\n" "YL2GC\n" "YL2GC/P\n" "YL2GD\n" "YL2GP\n" "YL2GQG\n" "YL2GQT\n" "YL2GUV\n" "YL2HK\n" "YL2II\n" "YL2IP\n" "YL2IS\n" "YL2IU\n" "YL2JZ\n" "YL2KF\n" "YL2KO\n" "YL2LW\n" "YL2MR\n" "YL2MR/P\n" "YL2NK\n" "YL2NN\n" "YL2PA\n" "YL2PJ\n" "YL2PN\n" "YL2PP\n" "YL2QS\n" "YL2QV\n" "YL2SM\n" "YL2TB\n" "YL2TD\n" "YL2TQ\n" "YL2VW\n" "YL3AD\n" "YL3BZ\n" "YL3CU\n" "YL3DR\n" "YL3DW\n" "YL3DX\n" "YL3FP\n" "YL3FT\n" "YL3FW\n" "YL3FX\n" "YL3GDR\n" "YL3GFO\n" "YL3GFX\n" "YL3GGX\n" "YL3IZ\n" "YL4HQ\n" "YL4U\n" "YL5M\n" "YL5T\n" "YL5W\n" "YL6W\n" "YL7A\n" "YL7W\n" "YL7X\n" "YL8M\n" "YL90AIR\n" "YL90CP\n" "YL90PA\n" "YL9T\n" "YL9W\n" "YM2W\n" "YM3A\n" "YM3D\n" "YN2BQ\n" "YN2DD\n" "YN2EA\n" "YN2GY\n" "YN2NB\n" "YN2S\n" "YN2WW\n" "YN2Z\n" "YO/HA5BWW\n" "YO2ADQ\n" "YO2AMU\n" "YO2AOB\n" "YO2AQB\n" "YO2ARV\n" "YO2BB\n" "YO2BBX\n" "YO2BLX\n" "YO2BS\n" "YO2BV\n" "YO2CJX\n" "YO2CMI\n" "YO2DFA\n" "YO2GL\n" "YO2II\n" "YO2IS\n" "YO2IS/P\n" "YO2KCB\n" "YO2KDT\n" "YO2KJI\n" "YO2LAN\n" "YO2LAU\n" "YO2LEA\n" "YO2LEE\n" "YO2LFP\n" "YO2LGX\n" "YO2LHD\n" "YO2LIE\n" "YO2LIM\n" "YO2LIW\n" "YO2LRH\n" "YO2LXB\n" "YO2LXW\n" "YO2LYN\n" "YO2MAX\n" "YO2MBA\n" "YO2MCK\n" "YO2MHD\n" "YO2MHJ\n" "YO2MIL\n" "YO2MJI\n" "YO2MJZ\n" "YO2ODE\n" "YO2QY\n" "YO2R\n" "YO2RLC\n" "YO2RO\n" "YO2RR\n" "YO3AAJ\n" "YO3AIL\n" "YO3AIS\n" "YO3AK\n" "YO3APJ\n" "YO3BAP\n" "YO3BL\n" "YO3BZF\n" "YO3CBZ\n" "YO3CCC\n" "YO3CEN\n" "YO3CVG\n" "YO3CZW\n" "YO3DAC\n" "YO3DIU\n" "YO3DLK\n" "YO3FF\n" "YO3FFF\n" "YO3FLR\n" "YO3FN\n" "YO3FOM\n" "YO3FRI\n" "YO3FVR\n" "YO3GCL\n" "YO3GGO\n" "YO3GW\n" "YO3III\n" "YO3JF\n" "YO3JOS/P\n" "YO3JR\n" "YO3JV\n" "YO3JW\n" "YO3KIA\n" "YO3KPA\n" "YO3ND\n" "YO3RU\n" "YO3UA\n" "YO3VU\n" "YO3XX\n" "YO3YB\n" "YO3YV\n" "YO3YX\n" "YO3YZ\n" "YO3ZA\n" "YO4AAC\n" "YO4AB\n" "YO4ASD\n" "YO4ASG\n" "YO4ATW\n" "YO4AUL\n" "YO4AUP\n" "YO4AYE\n" "YO4AYL\n" "YO4BEX\n" "YO4BTB\n" "YO4CAH\n" "YO4CAS\n" "YO4CSL\n" "YO4CVT\n" "YO4CVV\n" "YO4DFT\n" "YO4DW\n" "YO4FTC\n" "YO4FTE\n" "YO4GHW\n" "YO4GNJ\n" "YO4HEK\n" "YO4KCC\n" "YO4MM\n" "YO4NA\n" "YO4PX\n" "YO4QZ\n" "YO4RIU\n" "YO4RIW\n" "YO4RSS\n" "YO4RST\n" "YO4SI\n" "YO4TMB\n" "YO4UQ\n" "YO4US\n" "YO4WZ\n" "YO50IE\n" "YO50IF\n" "YO5AEX\n" "YO5AIR\n" "YO5AJR\n" "YO5ALI\n" "YO5AM\n" "YO5AMF\n" "YO5BAT\n" "YO5BBO\n" "YO5BET\n" "YO5BEU\n" "YO5BJW\n" "YO5BQQ\n" "YO5BRE\n" "YO5BRZ\n" "YO5BTZ\n" "YO5BXI\n" "YO5BXK\n" "YO5BYV\n" "YO5CBN\n" "YO5CBX\n" "YO5CCQ\n" "YO5CCX\n" "YO5CRQ\n" "YO5CUQ\n" "YO5CZZ\n" "YO5DAS\n" "YO5DMB/P\n" "YO5FMT\n" "YO5IR\n" "YO5KAD\n" "YO5KDW\n" "YO5KDX\n" "YO5KOP\n" "YO5KTK\n" "YO5KUF\n" "YO5LN\n" "YO5NY\n" "YO5OAG\n" "YO5OCZ\n" "YO5ODL\n" "YO5ODT\n" "YO5OED\n" "YO5OEF\n" "YO5OET\n" "YO5OHC\n" "YO5OHO\n" "YO5OHY\n" "YO5OLD\n" "YO5OPH\n" "YO5PBF\n" "YO5PBG\n" "YO5PBW\n" "YO5PCY\n" "YO5PHQ\n" "YO5QBP\n" "YO5QCD\n" "YO5TP\n" "YO6ADW\n" "YO6AEI\n" "YO6AJI\n" "YO6BHN\n" "YO6BLU\n" "YO6BZL\n" "YO6CFB\n" "YO6DBL\n" "YO6EV\n" "YO6EX\n" "YO6EZ\n" "YO6FGZ\n" "YO6HSU\n" "YO6HVQ\n" "YO6KEA\n" "YO6KEI\n" "YO6KNE\n" "YO6KNY\n" "YO6LV\n" "YO6MK\n" "YO6MT\n" "YO6OAF\n" "YO6PEG\n" "YO6PHX\n" "YO6QT\n" "YO6UO\n" "YO6VCB\n" "YO7AHR\n" "YO7APA\n" "YO7AQF\n" "YO7ARY\n" "YO7ARY/W1\n" "YO7ARZ\n" "YO7AWZ\n" "YO7BGA\n" "YO7BGB\n" "YO7CVL\n" "YO7CWP\n" "YO7DAA\n" "YO7DO\n" "YO7FB\n" "YO7FT\n" "YO7HBY\n" "YO7HGM\n" "YO7HJM\n" "YO7KFA\n" "YO7KJX\n" "YO7LBX\n" "YO7LCB\n" "YO7LFV\n" "YO7LGI\n" "YO7LHC\n" "YO7LHU\n" "YO7LID\n" "YO7LKW\n" "YO7LTQ\n" "YO7LYM\n" "YO7MGG\n" "YO7NE\n" "YO7NW\n" "YO7VP\n" "YO7VT\n" "YO7WB\n" "YO8AXP\n" "YO8AZQ\n" "YO8BDQ\n" "YO8BFB\n" "YO8BFC\n" "YO8BGD\n" "YO8BPK\n" "YO8BPY\n" "YO8CJY\n" "YO8CLX\n" "YO8DDP\n" "YO8DOH\n" "YO8FR\n" "YO8FZ\n" "YO8GF\n" "YO8KAE\n" "YO8KGA\n" "YO8KGP\n" "YO8KIS\n" "YO8KOO\n" "YO8KOS\n" "YO8KRR\n" "YO8KVS\n" "YO8MF\n" "YO8MI\n" "YO8OH\n" "YO8OU\n" "YO8RAA\n" "YO8RFJ\n" "YO8RFS\n" "YO8RIJ\n" "YO8RIX\n" "YO8RKP\n" "YO8ROO\n" "YO8RQP\n" "YO8RZJ\n" "YO8SAI\n" "YO8SS\n" "YO8SSB\n" "YO8ST\n" "YO8STB\n" "YO8SXX\n" "YO8THG\n" "YO8TNB\n" "YO8TOH\n" "YO8WW\n" "YO9ABL\n" "YO9AFH\n" "YO9AFT\n" "YO9AGI\n" "YO9BCZ\n" "YO9BHI\n" "YO9BPX\n" "YO9BQW\n" "YO9BXC\n" "YO9BXE\n" "YO9BXZ\n" "YO9CB\n" "YO9CWY\n" "YO9CXE\n" "YO9CYM\n" "YO9DFQ\n" "YO9DL\n" "YO9FKN\n" "YO9FKU\n" "YO9FL\n" "YO9FNP\n" "YO9FWX\n" "YO9FYP\n" "YO9GJX\n" "YO9GMI\n" "YO9GSB\n" "YO9GVN\n" "YO9HG\n" "YO9HMB\n" "YO9HNH\n" "YO9HP\n" "YO9HPJ\n" "YO9IE\n" "YO9IF\n" "YO9IIF\n" "YO9IKW\n" "YO9ION\n" "YO9KPI\n" "YO9KPM\n" "YO9KVV\n" "YO9OC\n" "YO9SW\n" "YO9WF\n" "YO9XC\n" "YP0A\n" "YP1WFF\n" "YP2U\n" "YP2W\n" "YP2Y\n" "YP3A\n" "YP5Z\n" "YP6C\n" "YP7P\n" "YP8A\n" "YP8I\n" "YP8I/P\n" "YP9W\n" "YQ2ANT\n" "YQ5Q\n" "YQ6A\n" "YQ9W\n" "YR0HQ\n" "YR0R\n" "YR0WL\n" "YR1A\n" "YR1C\n" "YR1Z\n" "YR2TM\n" "YR2U\n" "YR2X\n" "YR2Y\n" "YR5N\n" "YR5O\n" "YR5S\n" "YR5T\n" "YR5Z\n" "YR6M\n" "YR7M\n" "YR80HCS\n" "YR8A\n" "YR8B\n" "YR8D\n" "YR8I\n" "YR8T\n" "YR8V\n" "YR90U\n" "YR9F\n" "YR9HQ\n" "YR9P\n" "YS1/W3MKT\n" "YS1GR\n" "YS1MAE\n" "YS1YS\n" "YS1ZC\n" "YS4M\n" "YS4RR\n" "YS4U\n" "YT09AU\n" "YT0A\n" "YT0HQ\n" "YT0I\n" "YT0T\n" "YT0W\n" "YT0Z\n" "YT1A\n" "YT1AA\n" "YT1AD\n" "YT1AU\n" "YT1BB\n" "YT1BX\n" "YT1CC\n" "YT1CS\n" "YT1DB\n" "YT1E\n" "YT1FM\n" "YT1HA\n" "YT1KC\n" "YT1LD\n" "YT1ML\n" "YT1MZ\n" "YT1Q\n" "YT1QQ\n" "YT1R\n" "YT1S\n" "YT1T\n" "YT1TA\n" "YT1TM\n" "YT1UM\n" "YT1UR\n" "YT1V\n" "YT1VM\n" "YT1VP\n" "YT1WS\n" "YT1ZA\n" "YT1ZZ\n" "YT2A\n" "YT2AA\n" "YT2AAA\n" "YT2ACA\n" "YT2B\n" "YT2EA\n" "YT2F\n" "YT2FA\n" "YT2ISM\n" "YT2L\n" "YT2PFR\n" "YT2RX\n" "YT2SMS\n" "YT2T\n" "YT2U\n" "YT2VPA\n" "YT2W\n" "YT2WW\n" "YT3A\n" "YT3AA\n" "YT3C\n" "YT3E\n" "YT3H\n" "YT3M\n" "YT3MA\n" "YT3PL\n" "YT3R\n" "YT3T\n" "YT3W\n" "YT40E\n" "YT40EC\n" "YT4A\n" "YT4RA\n" "YT4T\n" "YT4W\n" "YT5A\n" "YT5C\n" "YT5CC\n" "YT5CWW\n" "YT5M\n" "YT5N\n" "YT5RA\n" "YT5T\n" "YT5TT\n" "YT5W\n" "YT5Z\n" "YT7A\n" "YT7AT\n" "YT7AW\n" "YT7B\n" "YT7DQ\n" "YT7DX\n" "YT7EC\n" "YT7EE\n" "YT7IM\n" "YT7KF\n" "YT7KM\n" "YT7R\n" "YT7T\n" "YT7TA\n" "YT7W\n" "YT7XX\n" "YT7Z\n" "YT8A\n" "YT8AA\n" "YT8FG\n" "YT8T\n" "YT8TA\n" "YT8WW\n" "YT9A\n" "YT9C\n" "YT9T\n" "YT9X\n" "YU/HB9EDB\n" "YU/N8BO\n" "YU/NF5A\n" "YU09DW\n" "YU09RP\n" "YU0A\n" "YU0R\n" "YU0U\n" "YU0W\n" "YU140Z\n" "YU1AAQ\n" "YU1AAV\n" "YU1AB\n" "YU1ADO\n" "YU1AM\n" "YU1AR\n" "YU1ARC\n" "YU1ARL\n" "YU1AS\n" "YU1AST\n" "YU1AT\n" "YU1AU\n" "YU1B\n" "YU1BFG\n" "YU1BM\n" "YU1BN\n" "YU1CA\n" "YU1CC\n" "YU1DG\n" "YU1DW\n" "YU1DX\n" "YU1ED\n" "YU1EL\n" "YU1EO\n" "YU1EW\n" "YU1EX\n" "YU1EXY\n" "YU1FE\n" "YU1FG\n" "YU1FJK\n" "YU1FW\n" "YU1GN\n" "YU1GU\n" "YU1HC\n" "YU1HFG\n" "YU1HQR\n" "YU1IG\n" "YU1INO\n" "YU1IV\n" "YU1JF\n" "YU1JW\n" "YU1KA\n" "YU1KN\n" "YU1KT\n" "YU1KX\n" "YU1LA\n" "YU1LD\n" "YU1LM\n" "YU1MM\n" "YU1MS\n" "YU1NA\n" "YU1NGR\n" "YU1NR\n" "YU1NSK\n" "YU1NT\n" "YU1OTB\n" "YU1PC\n" "YU1PJ\n" "YU1QQ\n" "YU1QT\n" "YU1QU\n" "YU1R\n" "YU1RA\n" "YU1RE\n" "YU1RK\n" "YU1RP\n" "YU1RW\n" "YU1SB\n" "YU1SZ\n" "YU1TO\n" "YU1TR\n" "YU1UM\n" "YU1UN\n" "YU1UO\n" "YU1VG\n" "YU1W\n" "YU1WC\n" "YU1WN\n" "YU1WS\n" "YU1XO\n" "YU1XW\n" "YU1XX\n" "YU1YJ\n" "YU1YO\n" "YU1YV\n" "YU1ZM\n" "YU1ZZ\n" "YU25KN\n" "YU2A\n" "YU2AA\n" "YU2AVB\n" "YU2CV\n" "YU2DRA\n" "YU2DX\n" "YU2EF\n" "YU2EZ\n" "YU2FG\n" "YU2M\n" "YU2MBM\n" "YU2MMA\n" "YU2U\n" "YU3A\n" "YU3AA\n" "YU3FX\n" "YU3MMM\n" "YU3MUP\n" "YU3W\n" "YU3WW\n" "YU40A\n" "YU40AF\n" "YU40BM\n" "YU40FN\n" "YU40MM\n" "YU4A\n" "YU5A\n" "YU5B\n" "YU5C\n" "YU5GBT\n" "YU5M\n" "YU5MOL\n" "YU5R\n" "YU5RA\n" "YU5RY\n" "YU5T\n" "YU5W\n" "YU5ZM\n" "YU6A\n" "YU6DX\n" "YU7AE\n" "YU7AF\n" "YU7AU\n" "YU7AV\n" "YU7BB\n" "YU7BCD\n" "YU7BCL\n" "YU7BH\n" "YU7BL\n" "YU7D\n" "YU7DP\n" "YU7DX\n" "YU7DZ\n" "YU7EE\n" "YU7FN\n" "YU7FW\n" "YU7GM\n" "YU7GW\n" "YU7KG\n" "YU7KM\n" "YU7KW\n" "YU7LS\n" "YU7MM\n" "YU7NU\n" "YU7ONE\n" "YU7PG\n" "YU7RL\n" "YU7RQ\n" "YU7U\n" "YU7VX\n" "YU7W\n" "YU7WI\n" "YU7WW\n" "YU7YZ\n" "YU7ZEX\n" "YU7ZZ\n" "YU8A\n" "YU8AU\n" "YU8CW\n" "YU8EQ\n" "YU8FD\n" "YU8GD\n" "YU8JU\n" "YU8KN\n" "YU8NR\n" "YU8NU\n" "YU8QQ\n" "YU9A\n" "YU9DX\n" "YV1CTE\n" "YV1DIG\n" "YV1FM\n" "YV1JGT\n" "YV1NX\n" "YV1RDX\n" "YV2BYT\n" "YV2IF\n" "YV4A\n" "YV4AZ\n" "YV4BCD\n" "YV4CW\n" "YV4GD\n" "YV5AAX\n" "YV5AJ\n" "YV5AMH\n" "YV5BM\n" "YV5EAH\n" "YV5ER\n" "YV5IAL\n" "YV5JBI\n" "YV5JF\n" "YV5KG\n" "YV5KQA\n" "YV5LI\n" "YV5MSG\n" "YV5NWG\n" "YV5OIE\n" "YV5OK\n" "YV5VD\n" "YV5VE\n" "YV6BFE\n" "YV6BTF\n" "YV6BXN\n" "YV7QP\n" "YV8AD\n" "YW2LV\n" "YW4A\n" "YW4B\n" "YW4D\n" "YW4V\n" "YW5D\n" "YW5DX\n" "YW5L\n" "YW5NN\n" "YW5RTTY\n" "YW5RY\n" "YW5T\n" "YW5W\n" "YW7A\n" "YY1ALC\n" "YY1JGT\n" "YY1MTX\n" "YY1OKR\n" "YY4CVI\n" "YY4RN\n" "YY5AEA\n" "YY5ALO\n" "YY5CBK\n" "YY5EBV\n" "YY5GJC\n" "YY5LI\n" "YY6JAG\n" "Z21BB\n" "Z29KM\n" "Z30A\n" "Z30HQ\n" "Z30MCWG\n" "Z31A\n" "Z31CZ\n" "Z31MM\n" "Z32AJA\n" "Z32ID\n" "Z33A\n" "Z33F\n" "Z33Z\n" "Z35F\n" "Z35G\n" "Z35M\n" "Z35M/P\n" "Z35T\n" "Z35W\n" "Z35X\n" "Z36N\n" "Z36W\n" "Z37M\n" "Z39Z\n" "ZA0/I0SNY\n" "ZA0/I8LWL\n" "ZA0/IK7JWX\n" "ZA1FD\n" "ZA1FM\n" "ZB2BL\n" "ZB2EO\n" "ZB2X\n" "ZC4LI\n" "ZC4T\n" "ZC4TS\n" "ZC4VJ\n" "ZD8RH\n" "ZF1A\n" "ZF1EJ\n" "ZF2AE/ZF8\n" "ZF2AH\n" "ZF2AM\n" "ZF2BJ\n" "ZF2DF\n" "ZF2DO\n" "ZF2JT\n" "ZK2DF\n" "ZK2DL\n" "ZK2V\n" "ZL1AAO\n" "ZL1AAR\n" "ZL1AH\n" "ZL1AIH\n" "ZL1AIX\n" "ZL1ALA\n" "ZL1ALZ\n" "ZL1ANH\n" "ZL1AZE\n" "ZL1BIV\n" "ZL1BOQ\n" "ZL1BVB\n" "ZL1BYZ\n" "ZL1CDP\n" "ZL1CDX\n" "ZL1DK\n" "ZL1IRD\n" "ZL1JMC\n" "ZL1KMN\n" "ZL1NI\n" "ZL1OGX\n" "ZL1T\n" "ZL1TM\n" "ZL1V\n" "ZL2ACG\n" "ZL2AFT\n" "ZL2AGY\n" "ZL2AJ\n" "ZL2AL\n" "ZL2ALJ\n" "ZL2AOH\n" "ZL2AUA\n" "ZL2AUB\n" "ZL2AUJ\n" "ZL2AZ\n" "ZL2BAB\n" "ZL2BR\n" "ZL2CV\n" "ZL2FT\n" "ZL2G\n" "ZL2GR\n" "ZL2IFB\n" "ZL2JKY\n" "ZL2JU\n" "ZL2LF\n" "ZL2MF\n" "ZL2MM\n" "ZL2OK\n" "ZL2ST\n" "ZL2UN\n" "ZL2UO\n" "ZL3A\n" "ZL3AB\n" "ZL3DMC\n" "ZL3DXT\n" "ZL3GA\n" "ZL3IO\n" "ZL3IX\n" "ZL3JT\n" "ZL3NB\n" "ZL3PAH\n" "ZL3SV\n" "ZL3TE\n" "ZL4A\n" "ZL4AD\n" "ZL4AS\n" "ZL4CR\n" "ZL4DH\n" "ZL4DX\n" "ZL4IG\n" "ZL4JB\n" "ZL4NG\n" "ZL4NR\n" "ZL4NX\n" "ZL4PW\n" "ZL4QJ\n" "ZL4QS\n" "ZL4WW\n" "ZL6HQ\n" "ZM1A\n" "ZM1K\n" "ZM2A\n" "ZM2AGY\n" "ZM2B\n" "ZM2M\n" "ZM2RR\n" "ZM3A\n" "ZM3T\n" "ZM4A\n" "ZM4G\n" "ZM4M\n" "ZM4T\n" "ZP0R\n" "ZP5AA\n" "ZP5CGL\n" "ZP5DPA\n" "ZP5KO\n" "ZP5MAL\n" "ZP6/N3BNA\n" "ZP6DEM\n" "ZP6VLA\n" "ZP6VT\n" "ZP7NIA\n" "ZP8VAO\n" "ZP9EH\n" "ZR1ADI\n" "ZS10WCS\n" "ZS1A\n" "ZS1AAX\n" "ZS1AJ\n" "ZS1EL\n" "ZS1IL\n" "ZS1JX\n" "ZS1JY\n" "ZS1OLI\n" "ZS1REC\n" "ZS1RJQ\n" "ZS1ROY\n" "ZS1SA\n" "ZS1SR\n" "ZS1WE\n" "ZS1XUK\n" "ZS1ZY\n" "ZS2BS\n" "ZS2DL\n" "ZS2EZ\n" "ZS2I\n" "ZS2NF\n" "ZS2Y\n" "ZS3AOR\n" "ZS3D\n" "ZS3Y\n" "ZS4BS\n" "ZS4JAN\n" "ZS4S\n" "ZS4TX\n" "ZS4U\n" "ZS5NK\n" "ZS5ZZ\n" "ZS6AKU\n" "ZS6BAF\n" "ZS6BB\n" "ZS6BQI\n" "ZS6BRZ\n" "ZS6C\n" "ZS6JPY\n" "ZS6JR\n" "ZS6ME\n" "ZS6PMS\n" "ZS6PVT\n" "ZS6RF\n" "ZS6RJ\n" "ZS6WN\n" "ZS6WR\n" "ZS9T\n" "ZS9X\n" "ZS9Z\n" "ZT2V\n" "ZV2A\n" "ZV2C\n" "ZV2K\n" "ZV2V\n" "ZV5E\n" "ZV5O\n" "ZW2B\n" "ZW2C\n" "ZW3F\n" "ZW4O\n" "ZW5B\n" "ZW5D\n" "ZW5HQ\n" "ZW5R\n" "ZW5UN\n" "ZW7A\n" "ZW8T\n" "ZX2B\n" "ZX2X\n" "ZX5B\n" "ZX5J\n" "ZX5ZZ\n" "ZX7A\n" "ZX7C\n" "ZX7U\n" "ZY2C\n" "ZY5Z\n" "ZY7C\n" "ZZ5Z\n" "ZZ6Z\n" "KH6/N0CO\n" "KH6/W6PH\n" "F/G4BJM\n" "F/DJ7JC\n" "IM0/IK0FMB\n" "ZZ5Z\n" "HA7VK\n" "CR3E\n" ; const char txt_titlpage[8182] = "\n" "\n" "\n" " \n" " \n" " \n" " $PCall - $TName\n" " \n" " \n" " \n" " \n" "

Contest log

\n" "
\n" "
\n" " \n" " Category:\n" " \n" " $PSectName\n" "
\n" "
\n" " Sheet Nr. 1 of $NoOfPages Pg\n" "
\n" "
\n" "
\n" " \n" " Band:\n" " \n" " $PBand\n" "
\n" "
\n" " \n" " WW-Locator:\n" " \n" " $PWWLo\n" "
\n" "
\n" "
\n" "
\n" " Call\n" " used: $PCall\n" "
\n" "
\n" "
\n" " Contest:\n" " $TDate - $TName\n" "
\n" "
\n" "
\n" " \n" " Contest QTH:\n" " \n" " $PAddr1 $Paddr2\n" "
\n" "
\n" "
\n" " \n" " First operator name:\n" " \n" " $RName\n" "
\n" "
\n" " \n" " Call:\n" " \n" " $RCall\n" "
\n" "
\n" "
\n" "
\n" " \n" " Address:\n" " \n" " $RAddr1 $RAddr2 $RPoCo $RCity\n" "
\n" "
\n" " \n" " Other operators:\n" " \n" " $MOpe1 $MOpe2\n" "
\n" "
\n" "
\n" " \n" " Transmitter:\n" " \n" " $TXEq\n" "
\n" "
\n" " \n" " Output:\n" " \n" " $SPowe\n" "
\n" "
\n" "
\n" "
\n" "
\n" " \n" " Receiver:\n" " \n" " $RXEq\n" "
\n" "
\n" " \n" " Preamp:\n" " \n" " $SPreamp\n" "
\n" "
\n" "
\n" "
\n" "
\n" " \n" " Antennas:\n" " \n" " $RAnte\n" "
\n" "
\n" " \n" " AGL;ASL:\n" " \n" " $SAntH\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " \n" " Sum of\n" " QSO\n" " 's:\n" " \n" " $CQSOs\n" "
\n" "
\n" " \n" " Average\n" " km/QSO\n" " \n" " $CAvg\n" "
\n" "
\n" "
\n" "
\n" "
\n" " \n" " Best\n" " DX - km\n" " :\n" " \n" " $CODXQRB\n" "
\n" "
\n" " \n" " Call:\n" " \n" " $CODXCall\n" " \n" " Locator:\n" " \n" " $CODXLoc\n" "
\n" "
\n" "
\n" "
\n" " \n" " Countries worked:\n" " \n" " $CDXCCs\n" "
\n" "
\n" " \n" " Total sum of points:\n" " \n" " $CToSc\n" "
\n" "
\n" "
\n" " Declaration:\n" "
\n" "
\n" " I hereby certify that this station was operated within the rules and spirit of the contest and within the terms of the license.\n" "
\n" "
\n" "
\n" "
\n" " Date:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " First op. signature:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " Contest manager:\n" "
\n" "
\n" "
\n" " Call:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " Locator:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " Section:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " Claimed score:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " QSOs:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " Correction:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " Final score:\n" "
\n" "
\n" "
\n" "
\n" "
\n" "
\n" " \n" "\n" ; const char txt_tucnakcw[8829] = "OL4K JO70TQ 20120707 CEHIJKLMN\n" "OK2VZK JN89SS 20120707 E\n" "OK2MEU JN89RX 20120707 CE\n" "OL4N JO60VR 20120707 C\n" "OK2UYZ JN89XX 20120707 E\n" "OL9W JN99CL 20120707 CEGHIJKLM\n" "OK2KOE JN89SV 20120707 CE\n" "OK2EZ JN99BS 20120707 C\n" "OK2OAS JN89DO 20120707 CEK\n" "OK1ASA JN79SR 20120707 C\n" "OK2PGO JN89GF 20120707 C\n" "OK2RSC JN89QE 20120707 CEG\n" "OK2RSC JN89QH 20120707 CEG\n" "OK7CM JO70KK 20120707 EG\n" "OK1EM JO70DP 20120707 CEGIJKLMN\n" "OK2KG JN89JI 20120707 CE\n" "OK1KCR JN79VS 20120707 C\n" "OK2KYZ JO80NB 20120707 CEGHIJK\n" "OK2KOJ JN89DL 20120707 C\n" "OK1KNC JO60IH 20120707 C\n" "OK1KNF JN69MJ 20120707 E\n" "OK1JHM JO70CO 20120707 CLMNOP\n" "OK2BUC JN99BN 20120707 C\n" "OK1ZVP JO60LJ 20120707 K\n" "OK2KEA JN89EJ 20120707 CEG\n" "OK2KZB JN99AK 20120707 CE\n" "OK2BHL/P JN88WX 20120707 E\n" "OK2BEN JN79XN 20120707 C\n" "OK1DJS JO70FB 20120707 C\n" "OK1OPT JN69NX 20120707 CEG\n" "OK1VAM/P JO60LJ 20120707 K\n" "OK7ST JO70DP 20120707 E\n" "OK2VG JN99DN 20120707 CEGK\n" "OK2PWY JO80HB 20120707 K\n" "OK2PHB JN89QU 20120707 E\n" "OK1CJH JO70UF 20120707 CEI\n" "OK1FAN JO70AD 20120707 CE\n" "OK2KJU JN89SJ 20120707 CE\n" "OK1AIG JO70NN 20120707 E\n" "OK2MAJ JN89SG 20120707 C\n" "OK1FC JN79CP 20120707 C\n" "OK1DEU JO80DD 20120707 G\n" "OK1UDQ JO70NO 20120707 C\n" "OK1KIR JO60PM 20120707 GHIJKL\n" "OK1VEC JN69NX 20120707 K\n" "OK2KPD JO80UB 20120707 E\n" "OK2QI JO80OC 20120707 IJLM\n" "OK2DGB JN79RL 20120707 G\n" "OK2AQ JN89FV 20120707 K\n" "OK1XFJ JN69GX 20120707 C\n" "OK2PCE JN88JU 20120707 C\n" "OK1RCA JN69QJ 20120707 C\n" "OK2RDI JN88WX 20120707 CE\n" "OK1KDO JN69KK 20120707 C\n" "OK1VUB JO70KK 20120707 C\n" "OK1VEI JN69JJ 20120707 GHLM\n" "OK2BPR JN99FU 20120707 KLM\n" "OK1DPO JO70CH 20120707 CEG\n" "OK1KOB JO70UK 20120707 C\n" "OK2VX JO80JB 20120707 C\n" "OK2OHA JN89SO 20120707 CEG\n" "OK1VUF JO70DP 20120707 E\n" "OK2BFF JO80HB 20120707 LM\n" "OK2VZ JN89SM 20120707 CE\n" "OK2RTI JN89FL 20120707 C\n" "OK2SJJ JN89FL 20120707 E\n" "OL5Z JN89AR 20120707 C\n" "OK5K JN89VP 20120707 EGK\n" "OK1VM JO60VR 20120707 IJKL\n" "OK5XT JO70UK 20120707 C\n" "OK1DPX JN79AQ 20120707 C\n" "OK1JDJ JO70AQ 20120707 C\n" "OK2KPS JN89WH 20120707 C\n" "OK1OAZ JO70FC 20120707 C\n" "OK1KTW JN89IW 20120707 CEG\n" "OK2TKE JN89JJ 20120707 C\n" "OK5T JO70BK 20120707 C\n" "OK1DKX JN79GB 20120707 G\n" "OK1AV JO70BN 20120707 C\n" "OK2UFU JN79VL 20120707 C\n" "OK1KJO JO60OK 20120707 C\n" "OL1B JO80IB 20120707 CEG\n" "OK2SUK JN89TO 20120707 EG\n" "OL1C JO60UQ 20120707 CE\n" "OK1MAC JN79IO 20120707 GH\n" "OK5Z JN89AK 20120707 CEGHIJKL\n" "OK2PNQ JN99EL 20120707 EGH\n" "OK5AJA JO70EQ 20120707 CE\n" "OK2VLT JN99CS 20120707 C\n" "OK1KEL JO70OP 20120707 C\n" "OK1STJ JN69WI 20120707 C\n" "OK2SEX JN99CV 20120707 C\n" "OK2BLH JN89EC 20120707 CQ\n" "OK1KJV JO60UA 20120707 CE\n" "OK2BS JN89LW 20120707 CEG\n" "OK1KEO JN79GS 20120707 C\n" "OK1KPA JN79US 20120707 CEGHKLM\n" "OK1KEP JO70OR 20120707 CEG\n" "OK1FHA JO60RA 20120707 EG\n" "OK6TT JO80CI 20120707 C\n" "OK1KPB JN79AP 20120707 C\n" "OK1XBF JN69MJ 20120707 C\n" "OK2KLD JN89PU 20120707 C\n" "OK2ZTK JN89QP 20120707 GH\n" "OK1LX JN69IO 20120707 C\n" "OK1KUO JO80FF 20120707 CEGHI\n" "OK1NWD JN69UJ 20120707 E\n" "OK1FHI JO70GS 20120707 C\n" "OK1GHZ JN79JT 20120707 C\n" "OK1KPI JN69XJ 20120707 CEG\n" "OK2KGB JN79QJ 20120707 C\n" "OK1RF JN79KM 20120707 C\n" "OK1KKD JO60WD 20120707 EGHIJKL\n" "OK2TAS JN99BN 20120707 C\n" "OK1KUW JN69KT 20120707 C\n" "OK1UFF JO60XR 20120707 CEGHKL\n" "OK1VVP JN79DO 20120707 C\n" "OL7C JO60JJ 20120707 C\n" "OL1Z JN88AU 20120707 CE\n" "OK1KKI JN79NF 20120707 CE\n" "OK6R JN79OW 20120707 C\n" "OK1WT JO60RA 20120707 C\n" "OK1FMY JO70FA 20120707 E\n" "OK1KFB JN79BC 20120707 E\n" "OK6T JO80BJ 20120707 C\n" "OK1CVX JO60WA 20120707 C\n" "OK1AKE JO70AM 20120707 CE\n" "OL7G JN78DR 20120707 C\n" "OK2KLS JN89PR 20120707 C\n" "OK1KKL JO70PO 20120707 CEGHIJKLMN\n" "OK4DL JN89CX 20120707 C\n" "OK1OHK JO80EG 20120707 CE\n" "OK1UFL JO70SQ 20120707 IJKLMN\n" "OK2HPI JN89UE 20120707 K\n" "OK1XHD JN79IW 20120707 C\n" "OK1KFH JN69VN 20120707 C\n" "OL2C JN88JX 20120707 CG\n" "OL7M JO80FG 20120707 E\n" "OK1AKL JO70FA 20120707 C\n" "OK1IEI JO70EC 20120707 CEGHK\n" "OK1KAD JO60KI 20120707 CEG\n" "OK1WGW JO60WP 20120707 CE\n" "OL7Q JN99FN 20120707 EHKM\n" "OK2SAR JN89LX 20120707 CEG\n" "OL2J JN79TI 20120707 C\n" "OK2BMJ JN89VC 20120707 C\n" "OK1CD JO70FC 20120707 C\n" "OK2KWS JN89PV 20120707 CE\n" "OK2ILA JN89LD 20120707 E\n" "OK2BRX JN89QU 20120707 C\n" "OK1ROZ JN69VP 20120707 C\n" "OK2A JO60JJ 20120707 EGK\n" "OK6PS JN89SV 20120707 CE\n" "OK1KQI JO80CH 20120707 C\n" "OK1MBT JO70CO 20120707 CMNOP\n" "OK2C JN99AJ 20120707 CEGHIJKLM\n" "OK1KVR JO70UO 20120707 C\n" "OK1DRX JN79DW 20120707 CE\n" "OK2RVM JN79XS 20120707 CE\n" "OK7N JN69WR 20120707 C\n" "OK1VRF JN69OK 20120707 E\n" "OK7O JN69OU 20120707 C\n" "OK2G JN99BK 20120707 CE\n" "OK1VBN JN79HA 20120707 E\n" "OK1JKT JO60RN 20120707 K\n" "OK1CR JN69HT 20120707 C\n" "OK1KLH JN79EF 20120707 C\n" "OK1JAH JN79OQ 20120707 C\n" "OK1UGI JN69QV 20120707 C\n" "OK2RAS JN99FP 20120707 C\n" "OK2M JN69UN 20120707 CEGHIJKLMN\n" "OK1KLL JN79IW 20120707 CEG\n" "OK1NH JN69UH 20120707 C\n" "OK1IA JO70UP 20120707 EGHIJKLM\n" "OK2IGL JN89LD 20120707 C\n" "OK1CZ JO70EC 20120707 CEG\n" "OK2VNQ JN99EL 20120707 CE\n" "OK1AIY/P JO60LJ 20120707 GHIJLMN\n" "OK1KLU JO60EG 20120707 CE\n" "OK1VHF JO70EB 20120707 CEKL\n" "OK1YA JN79IO 20120707 IJL\n" "OK2BSP JN99AK 20120707 CE\n" "OK2FKF JN89KL 20120707 C\n" "OK2KCN JN89OI 20120707 C\n" "OK2YT JN88JX 20120707 E\n" "OK1VRY JN79FP 20120707 C\n" "OK2IRE JN99IM 20120707 C\n" "OK1FDY JO70AQ 20120707 C\n" "OK2SRO JN89SM 20120707 CE\n" "OK1MHW JN79VS 20120707 E\n" "OK7RA JO60LJ 20120707 LM\n" "OK7RB JO60RB 20120707 GLM\n" "OK2PVF JN99JQ 20120707 C\n" "OK2BDA JN99EU 20120707 CE\n" "OK2TT JO80IA 20120707 JK\n" "OK1RKS JO70FB 20120707 E\n" "S59GS JN75NP 20120707 CEG\n" "OK1TF JN89AR 20120707 C\n" "OK2TX JN89UD 20120707 C\n" "OK1DDA JO60HE 20120707 C\n" "OK1DSZ JN69RI 20120707 C\n" "OK2JI JN89MW 20120707 EG\n" "OK1TI JO70DP 20120707 CG\n" "OK2JK JN89HE 20120707 C\n" "OL3Y JN69JJ 20120707 C\n" "OK1KMG JN89IW 20120707 CEG\n" "OK2UDE JN89JS 20120707 E\n" "OL3Z JN79FX 20120707 CEG\n" "OK1VSJ JN69IS 20120707 C\n" "OK1KHA JO80BJ 20120707 C\n" "OK1AMD JO70ND 20120707 C\n" "OK2VJC JN99CM 20120707 LM\n" "OK1BMW JO70EI 20120707 CE\n" "OK1ARO JN79LS 20120707 CE\n" "OK1FEN JO70NA 20120707 CEGJK\n" "OL4A JO60RN 20120707 C\n" "OK2HBR JN89PP 20120707 CE\n" "OK1RAR JN79CX 20120707 C\n" "OK1KMP JO70SM 20120707 C\n" "OK2MZL JN89SN 20120707 CE\n" "OK1KHI JN69JJ 20120707 E\n" "OK1KRY JN69ER 20120707 EGK\n" "OK2KYJ JN89QQ 20120707 CEG\n" "OK1KCB JN79GB 20120707 CE\n" "OK5AMA JO70EQ 20120707 CE\n" "OK1KHK JO70WE 20120707 C\n" "OK2KYK JN89NB 20120707 C\n" "OK1KHL JO80AC 20120707 C\n" "OK2DEY JN99EU 20120707 CE\n" "OK2OAJ JN99BU 20120707 C\n" "OK1IBB JN69MJ 20120707 E\n" "OK2SSJ JN89WW 20120707 CE\n" ; const char txt_tucnaknames[61343] = "DK2DTF\tDrahomir\n" "OK1AAC\tOldrich\n" "OK1AAF\tRudolf\n" "OK1AAI\tZdenek\n" "OK1AA\tLudek\n" "OK1AAM\tPetr\n" "OK1AAP\tAles\n" "OK1AAU\tFrantisek\n" "OK1AAZ\tJosef\n" "OK1ABA\tJosef\n" "OK1ABF\tVladimir\n" "OK1ABG\tVaclav\n" "OK1ABR\tAntonin\n" "OK1ACE\tVaclav\n" "OK1ACF\tZdenek\n" "OK1ACK\tJiri\n" "OK1ACO\tJiri\n" "OK1ACP\tLubos\n" "OK1ACS\tVaclav\n" "OK1ADA\tAlena\n" "OK1AD\tLadislav\n" "OK1ADM\tVaclav\n" "OK1ADO\tFrantisek\n" "OK1ADR\tJuraj\n" "OK1ADT\tPavel\n" "OK1ADY\tJozef\n" "OK1AEB\tKarel\n" "OK1AEM\tJosef\n" "OK1AEU\tMartin\n" "OK1AEV\tPavel\n" "OK1AEW\tJaroslav\n" "OK1AEY\tBozetech\n" "OK1AE\tZdenek\n" "OK1AEZ\tJiri\n" "OK1AFI\tVladimir\n" "OK1AFJ\tErvin\n" "OK1AFO\tAntonin\n" "OK1AFR\tRostislav\n" "OK1AFU\tJan\n" "OK1AFV\tVladislav\n" "OK1AGC\tAles\n" "OK1AGE\tStanislav\n" "OK1AGM\tJosef\n" "OK1AGR\tVlasta\n" "OK1AGS\tMiroslav\n" "OK1AG\tZdenek\n" "OK1AHB\tAntonin\n" "OK1AHG\tJan\n" "OK1AHJ\tJaroslav\n" "OK1AHM\tLubomir\n" "OK1AHO\tPribin\n" "OK1AHV\tBeda\n" "OK1AHX\tStanislav\n" "OK1AHY\tOldrich\n" "OK1AIC\tStanislav\n" "OK1AIG\tMiroslav\n" "OK1AIJ\tKarel\n" "OK1AIK\tZdenek\n" "OK1AIL\tMiloslav\n" "OK1AI\tLubomir\n" "OK1AIM\tVaclav\n" "OK1AIT\tJaromir\n" "OK1AIX\tOldrich\n" "OK1AIY\tPavel\n" "OK1AIZ\tMiloslav\n" "OK1AJD\tVladimir\n" "OK1AJJ\tJosef\n" "OK1AJL\tJosef\n" "OK1AJ\tPetr\n" "OK1AJR\tVaclav\n" "OK1AJU\tJiri\n" "OK1AJY\tStanislav\n" "OK1AKF\tCestmir\n" "OK1AKI\tPetr\n" "OK1AKJ\tFrantisek\n" "OK1AKM\tRadek\n" "OK1AKU\tStepan\n" "OK1AK\tVlastimil\n" "OK1ALA\tVaclav\n" "OK1ALB\tJaroslav\n" "OK1ALG\tVaclav\n" "OK1AL\tKarel\n" "OK1ALK\tHana\n" "OK1ALL\tVaclav\n" "OK1ALM\tJaroslav\n" "OK1ALR\tKarel\n" "OK1ALU\tBohumil\n" "OK1ALY\tIvan\n" "OK1ALZ\tJosef\n" "OK1AMD\tMilos\n" "OK1AME\tMilan\n" "OK1AMF\tFrantisek\n" "OK1A\tMilan\n" "OK1AMJ\tJaroslav\n" "OK1AMO\tVladimir\n" "OK1AMP\tFrantisek\n" "OK1AMT\tPavel\n" "OK1AMU\tJiri\n" "OK1AMY\tAlek\n" "OK1ANA\tVaclav\n" "OK1ANJ\tJindrich\n" "OK1ANM\tStanislav\n" "OK1ANN\tVladimir\n" "OK1ANO\tJosef\n" "OK1ANR\tVaclav\n" "OK1ANS\tIvan\n" "OK1ANT\tVaclav\n" "OK1ANV\tVaclav\n" "OK1ANY\tJosef\n" "OK1AO\tAdolf\n" "OK1AOF\tIvo\n" "OK1AOT\tAdolf\n" "OK1AOU\tJaroslav\n" "OK1AOV\tJiri\n" "OK1AOZ\tJiri\n" "OK1APB\tLubos\n" "OK1APC\tJosef\n" "OK1APE\tAlois\n" "OK1APF\tJiri\n" "OK1APG\tJiri\n" "OK1API\tJosef\n" "OK1APR\tJan\n" "OK1APS\tJan\n" "OK1APT\tMiroslav\n" "OK1APU\tMojmir\n" "OK1APV\tAntonin\n" "OK1APW\tMiroslav\n" "OK1APY\tPetr\n" "OK1APZ\tEmil\n" "OK1AQB\tJan\n" "OK1AQL\tJindrich\n" "OK1AQN\tMiroslav\n" "OK1AQO\tJosef\n" "OK1AQT\tVladimir\n" "OK1AQW\tZdenek\n" "OK1ARA\tJiri\n" "OK1ARE\tPetr\n" "OK1ARI\tJaroslava\n" "OK1ARN\tJiri\n" "OK1ARO\tBohumil\n" "OK1ARQ\tJosef\n" "OK1AR\tZdenek\n" "OK1ASG\tAntonin\n" "OK1ASJ\tJaroslav\n" "OK1ASK\tJana\n" "OK1AS\tLudovit\n" "OK1ASR\tJosef\n" "OK1ATC\tKarel\n" "OK1ATI\tJaroslav\n" "OK1AT\tJiri\n" "OK1ATL\tPetr\n" "OK1ATN\tStanislav\n" "OK1ATP\tJaroslav\n" "OK1ATR\tDalibor\n" "OK1ATW\tJosef\n" "OK1ATX\tJan\n" "OK1ATY\tJaromir\n" "OK1AUB\tVladislav\n" "OK1AUC\tJosef\n" "OK1AUE\tMiloslav\n" "OK1AUK\tJozef\n" "OK1AUN\tVaclav\n" "OK1AUO\tTomas\n" "OK1AUP\tVaclav\n" "OK1AU\tStanislav\n" "OK1AUV\tVladimir\n" "OK1AUX\tBedrich\n" "OK1AUZ\tZdenek\n" "OK1AVI\tJiri\n" "OK1AVO\tJaroslav\n" "OK1AVP\tJan\n" "OK1AVR\tJan\n" "OK1AVV\tJiri\n" "OK1AVY\tDobroslav\n" "OK1AWC\tMiroslav\n" "OK1AWG\tJosef\n" "OK1AWH\tBohuslav\n" "OK1AWJ\tJaroslav\n" "OK1AWK\tMilos\n" "OK1AWO\tStanislav\n" "OK1AW\tPavel\n" "OK1AWR\tJiri\n" "OK1AWU\tMilos\n" "OK1AXA\tLadislav\n" "OK1AXB\tJosef\n" "OK1AXD\tVit\n" "OK1AXG\tBohumil\n" "OK1AXK\tJan\n" "OK1AXL\tJosef\n" "OK1AXX\tPavel\n" "OK1AYA\tSilvestr\n" "OK1AYB\tVaclav\n" "OK1AYD\tJosef\n" "OK1AYE\tJiri\n" "OK1AYF\tVladimir\n" "OK1AY\tJosef\n" "OK1AYN\tVladislav\n" "OK1AYR\tJan\n" "OK1AYU\tPetr\n" "OK1AYV\tFrantisek\n" "OK1AYW\tVaclav\n" "OK1AYY\tJaroslav\n" "OK1AYZ\tPavel\n" "OK1AZD\tEmil\n" "OK1AZR\tBohdan\n" "OK1BAF\tJan\n" "OK1BAH\tJiri\n" "OK1BA\tKarel\n" "OK1BB\tJaroslav\n" "OK1BC\tRobert\n" "OK1BET\tMiroslav\n" "OK1BF\tRoman\n" "OK1BI\tJiri\n" "OK1BJH\tJosef\n" "OK1BKO\tRadek\n" "OK1BLU\tMilan\n" "OK1BN\tPetr\n" "OK1BO\tMikulas\n" "OK1BPO\tPetr\n" "OK1BQT\tVlastimil\n" "OK1BTW\tJiri\n" "OK1BU\tJindrich\n" "OK1BWF\tLadislav\n" "OK1BYR\tMartin\n" "OK1BZ\tJaroslav\n" "OK1CAG\tMilan\n" "OK1CAM\tOlga\n" "OK1CAP\tAles\n" "OK1CAU\tLubos\n" "OK1CAV\tJiri\n" "OK1CBB\tJan\n" "OK1CBI\tMiloslav\n" "OK1CB\tJozef\n" "OK1CBM\tMichal\n" "OK1CBR\tRoman\n" "OK1CC\tKarel\n" "OK1CCK\tZdenek\n" "OK1CCM\tJan\n" "OK1CCS\tJosef\n" "OK1CDA\tVladimir\n" "OK1CDE\tPetr\n" "OK1CDF\tVladimir\n" "OK1CDG\tMilan\n" "OK1CD\tKarel\n" "OK1CDS\tDaniel\n" "OK1CDT\tJakub\n" "OK1CDU\tPetr\n" "OK1CEI\tVlastimil\n" "OK1CF\tKarel\n" "OK1CFK\tFrantisek\n" "OK1CGA\tMartin\n" "OK1CGQ\tPavel\n" "OK1CID\tStanislav\n" "OK1CIG\tZdenek\n" "OK1CI\tJosef\n" "OK1CIS\tJiri\n" "OK1CJB\tJaroslav\n" "OK1CJH\tJan\n" "OK1CJ\tJaroslav\n" "OK1CJJ\tJan\n" "OK1CJN\tJiri\n" "OK1CJS\tJaroslav\n" "OK1CJT\tJosef\n" "OK1CKF\tFrantisek\n" "OK1CKH\tVladimir\n" "OK1CKV\tVaclav\n" "OK1CLA\tLudek\n" "OK1CLD\tOndrej\n" "OK1CLO\tLadislav\n" "OK1CLR\tLudvik\n" "OK1CLT\tLibor\n" "OK1CLZ\tZdenek\n" "OK1CMA\tMartin\n" "OK1CMD\tLubos\n" "OK1CMJ\tJosef\n" "OK1CMQ\tGabriel\n" "OK1CMU\tPetr\n" "OK1CMV\tVaclav\n" "OK1CNM\tJaroslav\n" "OK1CNN\tVaclav\n" "OK1CO\tJiri\n" "OK1COM\tJan\n" "OK1COT\tOndrej\n" "OK1CPB\tLibor\n" "OK1CP\tIvan\n" "OK1CPR\tRadek\n" "OK1CPS\tArnost\n" "OK1CPU\tMiloslav\n" "OK1CR\tFrantisek\n" "OK1CRM\tPavol\n" "OK1CRS\tPavel\n" "OK1CRX\tKatarina\n" "OK1CS\tEmil\n" "OK1CSS\tStepan\n" "OK1CTA\tTomas\n" "OK1CTB\tBedrich\n" "OK1CT\tMilos\n" "OK1CTM\tPavel\n" "OK1CTT\tRostislav\n" "OK1CU\tVitezslav\n" "OK1CUV\tZdenek\n" "OK1CVC\tVaclav\n" "OK1CVM\tMartina\n" "OK1CVP\tVaclav\n" "OK1CW\tVladimir\n" "OK1CYB\tLenka\n" "OK1CYC\tMiroslav\n" "OK1DAE\tPetr\n" "OK1DAH\tJan\n" "OK1DAI\tAntonin\n" "OK1DAK\tVladimir\n" "OK1DAM\tJosef\n" "OK1DAR\tJiri\n" "OK1DAU\tJaroslav\n" "OK1DAV\tOldrich\n" "OK1DBF\tOtakar\n" "OK1DBK\tJan\n" "OK1DBL\tAlexander\n" "OK1DBQ\tMilan\n" "OK1DBS\tDavid\n" "OK1DBT\tZdenek\n" "OK1DBU\tIvan\n" "OK1DCA\tAndre\n" "OK1DCB\tFrantisek\n" "OK1DC\tDusan\n" "OK1DCF\tLadislav\n" "OK1DCI\tJiri\n" "OK1DCK\tLadislav\n" "OK1DCM\tJiri\n" "OK1DCP\tFrantisek\n" "OK1DCS\tVaclav\n" "OK1DCU\tJaroslav\n" "OK1DCV\tFrantisek\n" "OK1DCX\tVojtech\n" "OK1DDA\tFrantisek\n" "OK1DDB\tJan\n" "OK1DDC\tJindrich\n" "OK1DDD\tKarel\n" "OK1DDJ\tKarel\n" "OK1DDQ\tJiri\n" "OK1DDV\tVladimir\n" "OK1DDX\tVaclav\n" "OK1DEC\tJosef\n" "OK1DEF\tZdenek\n" "OK1DEK\tJaromir\n" "OK1DEM\tJosef\n" "OK1DEP\tRadoslav\n" "OK1DEU\tRoman\n" "OK1DEZ\tJiri\n" "OK1DFC\tZdenek\n" "OK1DFE\tEva\n" "OK1DF\tFrantisek\n" "OK1DFK\tFrantisek\n" "OK1DFR\tPavel\n" "OK1DFT\tAntonin\n" "OK1DG\tKarel\n" "OK1DGT\tZdenek\n" "OK1DGU\tVladimir\n" "OK1DGV\tMilos\n" "OK1DGY\tJindrich\n" "OK1DHA\tJiri\n" "OK1DHJ\tJan\n" "OK1DHN\tVladimir\n" "OK1DHP\tPetr\n" "OK1DHR\tHilbert\n" "OK1DH\tRobert\n" "OK1DHZ\tKarel\n" "OK1DIB\tAdolf\n" "OK1DID\tVladimir\n" "OK1DIE\tPetr\n" "OK1DIK\tKarel\n" "OK1DIL\tAlois\n" "OK1DIN\tPavel\n" "OK1DIP\tMiloslav\n" "OK1DIX\tLadislav\n" "OK1DJD\tJosef\n" "OK1DJE\tJosef\n" "OK1DJL\tJosef\n" "OK1DJO\tMartin\n" "OK1DJS\tJan\n" "OK1DJT\tTomas\n" "OK1DJW\tJiri\n" "OK1DKA\tBohuslav\n" "OK1DKB\tRudolf\n" "OK1DKK\tJan\n" "OK1DKM\tMilos\n" "OK1DKO\tKarel\n" "OK1DKR\tRudolf\n" "OK1DKU\tVladimir\n" "OK1DKX\tJaroslav\n" "OK1DLA\tLudek\n" "OK1DLB\tMilos\n" "OK1DLS\tMiloslav\n" "OK1DLX\tMiroslav\n" "OK1DLY\tLadislav\n" "OK1DLZ\tLubos\n" "OK1DMB\tMilos\n" "OK1DMD\tHelena\n" "OK1DMM\tMilos\n" "OK1DM\tOtakar\n" "OK1DMP\tMilan\n" "OK1DMQ\tDrahomir\n" "OK1DMT\tZdenek\n" "OK1DMW\tMilena\n" "OK1DMZ\tJaroslav\n" "OK1DNJ\tJaroslav\n" "OK1DNL\tJiri\n" "OK1DNM\tMilan\n" "OK1DNQ\tVlasta\n" "OK1DNS\tMichal\n" "OK1DNT\tDenis\n" "OK1DNU\tBohuslav\n" "OK1DN\tVaclav\n" "OK1DNV\tVaclav\n" "OK1DNW\tJaroslav\n" "OK1DNZ\tPavel\n" "OK1DOA\tJosef\n" "OK1DOB\tOtakar\n" "OK1DOF\tPetr\n" "OK1DOH\tJan\n" "OK1DO\tJiri\n" "OK1DOL\tLibor\n" "OK1DOM\tMiroslav\n" "OK1DOR\tAntonin\n" "OK1DOS\tZdenek\n" "OK1DOU\tMiloslav\n" "OK1DOW\tVojta\n" "OK1DOY\tZdenek\n" "OK1DOZ\tBedrich\n" "OK1DPA\tLadislav\n" "OK1DPF\tPetr\n" "OK1DPO\tJosef\n" "OK1DP\tPetr\n" "OK1DPQ\tPetr\n" "OK1DPR\tIvan\n" "OK1DPU\tJan\n" "OK1DPV\tPavel\n" "OK1DPX\tPetr\n" "OK1DQA\tMartin\n" "OK1DQP\tAles\n" "OK1DQR\tFrantisek\n" "OK1DQT\tJiri\n" "OK1DRD\tMiroslav\n" "OK1DRG\tEduard\n" "OK1DRH\tJiri\n" "OK1DR\tJiri\n" "OK1DRJ\tJiri\n" "OK1DRQ\tPavel\n" "OK1DRX\tJiri\n" "OK1DRZ\tRostislav\n" "OK1DSA\tRoman\n" "OK1DSD\tDaniel\n" "OK1DSF\tKarel\n" "OK1DS\tLeona\n" "OK1DSN\tMichal\n" "OK1DSP\tBretislav\n" "OK1DSS\tSieghard\n" "OK1DST\tAlexandr\n" "OK1DSX\tJaroslav\n" "OK1DSZ\tZdenek\n" "OK1DTM\tJosef\n" "OK1DTN\tRudolf\n" "OK1DTP\tDavid\n" "OK1DTU\tPetr\n" "OK1DTX\tVera\n" "OK1DT\tZdenek\n" "OK1DUB\tMiroslav\n" "OK1DUG\tPetr\n" "OK1DU\tLibor\n" "OK1DUO\tJaroslav\n" "OK1DUS\tMartin\n" "OK1DUT\tJiri\n" "OK1DUV\tJiri\n" "OK1DVA\tOlga\n" "OK1DVB\tVaclav\n" "OK1DVG\tVaclav\n" "OK1DVK\tVojtech\n" "OK1DVN\tVojtech\n" "OK1DVP\tValdemar\n" "OK1DVU\tStanislav\n" "OK1DVW\tAlois\n" "OK1DVX\tLadislav\n" "OK1DVZ\tZdenek\n" "OK1DWC\tMilan\n" "OK1DWD\tJarmila\n" "OK1DWF\tKarel\n" "OK1DWJ\tAles\n" "OK1DXE\tVaclav\n" "OK1DXF\tRostislav\n" "OK1DXI\tMiloslav\n" "OK1DXJ\tLudvik\n" "OK1DXK\tJiri\n" "OK1DXL\tJiri\n" "OK1DXM\tJaromir\n" "OK1DXO\tZbynek\n" "OK1DX\tPavel\n" "OK1DXR\tPavel\n" "OK1DXT\tAntonin\n" "OK1DY\tKamil\n" "OK1DYW\tHelena\n" "OK1DYX\tMarie\n" "OK1DZA\tZdenka\n" "OK1DZG\tJiri\n" "OK1DZH\tHelena\n" "OK1DZM\tMichal\n" "OK1DZR\tLudek\n" "OK1EA\tVlastimil\n" "OK1EC\tRadek\n" "OK1ED\tJan\n" "OK1EE\tMartin\n" "OK1EG\tVladimir\n" "OK1EK\tFrantisek\n" "OK1ELA\tMartin\n" "OK1EM\tEdvin\n" "OK1EO\tJaroslav\n" "OK1EP\tKarel\n" "OK1EQ\tPetr\n" "OK1ES\tJosef\n" "OK1ET\tPetr\n" "OK1EVA\tEva\n" "OK1EV\tJan\n" "OK1EY\tPavel\n" "OK1FAC\tLubos\n" "OK1FAG\tJiri\n" "OK1FAH\tJosef\n" "OK1FAI\tVaclav\n" "OK1FA\tJaroslav\n" "OK1FAK\tSvojmir\n" "OK1FAM\tLudvik\n" "OK1FAN\tFrantisek\n" "OK1FAO\tJiri\n" "OK1FAP\tBohumil\n" "OK1FAT\tMiroslav\n" "OK1FAU\tJaroslav\n" "OK1FAY\tZdenek\n" "OK1FBE\tVaclav\n" "OK1FBH\tKarel\n" "OK1FBI\tLudek\n" "OK1FBL\tJosefa\n" "OK1FBO\tKarel\n" "OK1FBU\tDusan\n" "OK1FBW\tMarcel\n" "OK1FCA\tStanislav\n" "OK1FCB\tJiri\n" "OK1FCF\tJiri\n" "OK1FCJ\tPetr\n" "OK1FCK\tPetr\n" "OK1FCR\tVladimir\n" "OK1FCS\tVaclav\n" "OK1FCT\tJosef\n" "OK1FCX\tRadovan\n" "OK1FDC\tFrantisek\n" "OK1FDE\tRadoslav\n" "OK1FDH\tPavel\n" "OK1FDN\tFrantisek\n" "OK1FDR\tRadim\n" "OK1FDS\tDalibor\n" "OK1FD\tVaclav\n" "OK1FDY\tRudolf\n" "OK1FDZ\tPavel\n" "OK1FED\tJosef\n" "OK1FEK\tJaroslav\n" "OK1FEN\tRobert\n" "OK1FET\tVladimir\n" "OK1FFE\tJosef\n" "OK1FFH\tMojmir\n" "OK1FF\tPetr\n" "OK1FFP\tJindrich\n" "OK1FFR\tRudolf\n" "OK1FFS\tPetr\n" "OK1FFU\tPetr\n" "OK1FFV\tJaromir\n" "OK1FFW\tPavel\n" "OK1FFY\tHelena\n" "OK1FGA\tJosef\n" "OK1FGB\tBohuslav\n" "OK1FGD\tLubos\n" "OK1FGE\tVladimir\n" "OK1FGF\tJirina\n" "OK1FGH\tMiroslav\n" "OK1FGN\tKarel\n" "OK1FGS\tKarel\n" "OK1FGU\tRudolf\n" "OK1FGY\tJosef\n" "OK1FGZ\tLadislav\n" "OK1FHA\tFrantisek\n" "OK1FHD\tJosef\n" "OK1FHE\tEduard\n" "OK1FHF\tFrantisek\n" "OK1FHG\tPetr\n" "OK1FHI\tRadek\n" "OK1FHP\tFrantisek\n" "OK1FHT\tFrantisek\n" "OK1FII\tVladimir\n" "OK1FIK\tVladislav\n" "OK1FIM\tVlastimil\n" "OK1FIP\tPetr\n" "OK1FIR\tVaclav\n" "OK1FI\tVaclav\n" "OK1FIV\tIvan\n" "OK1FIY\tZdenek\n" "OK1FJB\tJan\n" "OK1FJD\tDavid\n" "OK1FJJ\tJosef\n" "OK1FJK\tJan\n" "OK1FJN\tJosef\n" "OK1FJP\tJindrich\n" "OK1FJS\tJaroslav\n" "OK1FJW\tBohuslav\n" "OK1FJX\tJindrich\n" "OK1FJY\tPavel\n" "OK1FKD\tJosef\n" "OK1FKF\tKarel\n" "OK1FK\tFrantisek\n" "OK1FKH\tJaroslav\n" "OK1FKL\tKarel\n" "OK1FKR\tJosef\n" "OK1FKV\tPetr\n" "OK1FLB\tVladimir\n" "OK1FLC\tMichal\n" "OK1FL\tJosef\n" "OK1FLK\tVladimir\n" "OK1FLR\tLadislav\n" "OK1FLT\tLubomir\n" "OK1FLX\tMartin\n" "OK1FLY\tKarel\n" "OK1FMD\tMartin\n" "OK1FMF\tMilan\n" "OK1FMG\tVitezslav\n" "OK1FMJ\tJosef\n" "OK1FML\tLadislav\n" "OK1FM\tMilan\n" "OK1FMM\tMilan\n" "OK1FMS\tMartin\n" "OK1FMU\tJiri\n" "OK1FMW\tLadislav\n" "OK1FMX\tMilan\n" "OK1FMY\tMilos\n" "OK1FNA\tVladimir\n" "OK1FNI\tMiloslav\n" "OK1FNN\tMarek\n" "OK1FNS\tZlata\n" "OK1FNT\tTomas\n" "OK1FNV\tJiri\n" "OK1FNX\tVladimir\n" "OK1FOD\tOldrich\n" "OK1FOG\tJan\n" "OK1FOM\tVaclav\n" "OK1FOU\tJindrich\n" "OK1FOX\tJiri\n" "OK1FPA\tPetr\n" "OK1FPD\tPetr\n" "OK1FPE\tMartin\n" "OK1FP\tFrantisek\n" "OK1FPG\tJiri\n" "OK1FPL\tLiboslav\n" "OK1FPM\tMiroslav\n" "OK1FPQ\tLadislav\n" "OK1FPR\tMilos\n" "OK1FPS\tPavel\n" "OK1FQB\tAles\n" "OK1FQC\tMiroslav\n" "OK1FQK\tLibor\n" "OK1FQT\tKarel\n" "OK1FRA\tJosef\n" "OK1FRE\tFrantisek\n" "OK1FR\tFrantisek\n" "OK1FRG\tPetr\n" "OK1FRI\tIvo\n" "OK1FRJ\tJosef\n" "OK1FRN\tMartin\n" "OK1FRO\tFrantisek\n" "OK1FRT\tLadislav\n" "OK1FRU\tPavel\n" "OK1FRZ\tVladimir\n" "OK1FSM\tJiri\n" "OK1FST\tStefan\n" "OK1FSX\tTomas\n" "OK1FTC\tTomas\n" "OK1FTD\tMichael\n" "OK1FTG\tKarel\n" "OK1FTH\tPavel\n" "OK1FT\tJiri\n" "OK1FTJ\tJiri\n" "OK1FTK\tAntonin\n" "OK1FTM\tJaroslav\n" "OK1FTS\tJaroslav\n" "OK1FTV\tVladimir\n" "OK1FTW\tJiri\n" "OK1FUA\tMartin\n" "OK1FUK\tKamil\n" "OK1FUN\tJan\n" "OK1FUU\tMichal\n" "OK1FUW\tJaroslav\n" "OK1FVI\tVitezslav\n" "OK1FVJ\tJiri\n" "OK1FVN\tJakub\n" "OK1FVS\tVaclav\n" "OK1FVU\tVladimir\n" "OK1FV\tVaclav\n" "OK1FVV\tVladimir\n" "OK1FWA\tLadislav\n" "OK1FWF\tFrantisek\n" "OK1FWI\tPavel\n" "OK1FWO\tOndrej\n" "OK1FWQ\tJosef\n" "OK1FWS\tJozef\n" "OK1FWT\tFrantisek\n" "OK1FWU\tDana\n" "OK1FWW\tMiroslav\n" "OK1FXF\tTomas\n" "OK1FXG\tMartin\n" "OK1FXK\tVitezslav\n" "OK1FYY\tVladimir\n" "OK1FZH\tZdenek\n" "OK1FZJ\tJosef\n" "OK1FZK\tZdenek\n" "OK1FZT\tJan\n" "OK1GEO\tJiri\n" "OK1GET\tDavid\n" "OK1GF\tZdenek\n" "OK1GHZ\tMichal\n" "OK1GI\tVojtech\n" "OK1GKO\tKurt\n" "OK1GK\tPavel\n" "OK1GLB\tJiri\n" "OK1GMB\tBohumil\n" "OK1GM\tPetr\n" "OK1GMR\tMilan\n" "OK1GPC\tStanislav\n" "OK1GP\tGerhard\n" "OK1GSB\tJan\n" "OK1GS\tMiroslav\n" "OK1GTH\tTomas\n" "OK1GT\tJiri\n" "OK1GU\tPavel\n" "OK1GV\tMiroslav\n" "OK1HAB\tJosef\n" "OK1HAI\tAlois\n" "OK1HAK\tMilan\n" "OK1HAL\tJitka\n" "OK1HAN\tFrantisek\n" "OK1HAS\tLudek\n" "OK1HAY\tAlois\n" "OK1HBB\tJiri\n" "OK1HBJ\tJosef\n" "OK1HBM\tMiroslav\n" "OK1HB\tRudolf\n" "OK1HBT\tPetr\n" "OK1HCA\tAlois\n" "OK1HCC\tVaclav\n" "OK1HCD\tStanislav\n" "OK1HCF\tOtakar\n" "OK1HCG\tKarel\n" "OK1HC\tVlastimil\n" "OK1HCW\tHana\n" "OK1HDF\tDalibor\n" "OK1HDR\tJan\n" "OK1HEH\tEduard\n" "OK1HFE\tJiri\n" "OK1HFP\tFrantisek\n" "OK1HGB\tBedrich\n" "OK1HH\tFrantisek\n" "OK1HIL\tJan\n" "OK1HI\tLukas\n" "OK1HIR\tJindriska\n" "OK1HJI\tJiri\n" "OK1HJP\tJaroslav\n" "OK1HJS\tJaroslav\n" "OK1HJV\tJaromir\n" "OK1HJZ\tJiri\n" "OK1HKF\tJaroslav\n" "OK1HK\tRudolf\n" "OK1HKW\tFrantisek\n" "OK1HLB\tLadislav\n" "OK1HLE\tJaroslav\n" "OK1HL\tJaroslav\n" "OK1HLS\tLadislav\n" "OK1HMB\tMichal\n" "OK1HMD\tMartin\n" "OK1HMN\tMartin\n" "OK1HMO\tMichal\n" "OK1HMP\tMartin\n" "OK1HMV\tMichal\n" "OK1HOC\tPetr\n" "OK1HP\tPetr\n" "OK1HPP\tPetr\n" "OK1HPS\tMiroslav\n" "OK1HPX\tPetr\n" "OK1HRA\tDaniel\n" "OK1HSF\tPetr\n" "OK1HSJ\tJan\n" "OK1HSL\tStefan\n" "OK1HSV\tStanislav\n" "OK1HTM\tPetra\n" "OK1HT\tPetr\n" "OK1HTP\tHana\n" "OK1HTV\tTomas\n" "OK1HWB\tMichal\n" "OK1HWI\tMilan\n" "OK1HWS\tRudolf\n" "OK1HWU\tJiri\n" "OK1HX\tJaroslav\n" "OK1HXZ\tPetr\n" "OK1HYN\tHynek\n" "OK1HZ\tJan\n" "OK1CHC\tJiri\n" "OK1CHE\tJiri\n" "OK1CH\tJan\n" "OK1CHL\tMiroslav\n" "OK1CHM\tJan\n" "OK1IA\tJan\n" "OK1IAL\tPavel\n" "OK1IAO\tJaroslav\n" "OK1IAS\tVaclav\n" "OK1IAT\tJosef\n" "OK1IAY\tMiroslav\n" "OK1IBB\tFrantisek\n" "OK1IBK\tBohumil\n" "OK1IBL\tVaclav\n" "OK1IBM\tPetr\n" "OK1IBQ\tKarel\n" "OK1ICQ\tTomas\n" "OK1IC\tTomas\n" "OK1ICW\tMichal\n" "OK1ID\tDaniel\n" "OK1IDP\tZbynek\n" "OK1IDZ\tZdenek\n" "OK1IEC\tJiri\n" "OK1IEF\tVitezslav\n" "OK1IEI\tIvan\n" "OK1IE\tJan\n" "OK1IES\tEmanuel\n" "OK1IFE\tStanislav\n" "OK1IF\tMilan\n" "OK1IFT\tMartin\n" "OK1IFZ\tFrantisek\n" "OK1IGO\tPetr\n" "OK1IGZ\tZdenek\n" "OK1IHB\tDarina\n" "OK1IHG\tHana\n" "OK1IHJ\tKarel\n" "OK1IHR\tRobert\n" "OK1IHZ\tZdenek\n" "OK1II\tJan\n" "OK1IIJ\tJan\n" "OK1IIK\tIvana\n" "OK1IIN\tAlexej\n" "OK1IIV\tIvo\n" "OK1IJC\tMilan\n" "OK1IJK\tKarel\n" "OK1IJS\tJosef\n" "OK1IJV\tJaroslav\n" "OK1IKE\tJiri\n" "OK1IKP\tKarel\n" "OK1IKQ\tPetr\n" "OK1IK\tVladimir\n" "OK1ILB\tLadislav\n" "OK1IL\tIvan\n" "OK1IMC\tMilan\n" "OK1IME\tOta\n" "OK1IM\tJiri\n" "OK1IMV\tVladislav\n" "OK1INE\tMiroslav\n" "OK1ING\tPavel\n" "OK1INO\tDavid\n" "OK1IN\tPetr\n" "OK1INT\tFrantisek\n" "OK1IOA\tJaroslav\n" "OK1IO\tJiri\n" "OK1IOK\tOldrich\n" "OK1IPE\tEduard\n" "OK1IPS\tPavel\n" "OK1IPT\tJosef\n" "OK1IPV\tPetr\n" "OK1IQN\tKarel\n" "OK1IRZ\tJaroslav\n" "OK1ISC\tIvo\n" "OK1ISH\tStanislav\n" "OK1ISW\tPavel\n" "OK1ITK\tPetr\n" "OK1IUO\tAlexandr\n" "OK1IUS\tZdenek\n" "OK1IVF\tVaclav\n" "OK1IVI\tIvana\n" "OK1IVO\tJan\n" "OK1IVP\tVaclav\n" "OK1IVU\tVladimir\n" "OK1IVW\tVlastimil\n" "OK1IVZ\tVladislav\n" "OK1IWI\tJaromir\n" "OK1IW\tMilan\n" "OK1IWN\tJan\n" "OK1IWP\tAlena\n" "OK1IWR\tRadek\n" "OK1IWS\tWolfgang\n" "OK1IZK\tEliska\n" "OK1JAE\tJiri\n" "OK1JAF\tFrantisek\n" "OK1JAG\tJaroslav\n" "OK1JAM\tLadislav\n" "OK1JAX\tPavel\n" "OK1JBK\tPavel\n" "OK1JBO\tBozena\n" "OK1JCF\tPavel\n" "OK1JCI\tJiri\n" "OK1JC\tJan\n" "OK1JCQ\tJaroslav\n" "OK1JDF\tJiri\n" "OK1JD\tJan\n" "OK1JDJ\tJiri\n" "OK1JDR\tJan\n" "OK1JDU\tJosef\n" "OK1JDZ\tStanislav\n" "OK1JEE\tBohumil\n" "OK1JEG\tFrantisek\n" "OK1JEK\tZdenek\n" "OK1JFC\tFrantisek\n" "OK1JFF\tPetr\n" "OK1JFH\tJosef\n" "OK1JFP\tPavel\n" "OK1JFR\tJirka\n" "OK1JGM\tMiroslav\n" "OK1JHF\tJosef\n" "OK1JHH\tHelena\n" "OK1JH\tJiri\n" "OK1JHM\tMilan\n" "OK1JHQ\tJaroslav\n" "OK1JHU\tJaroslav\n" "OK1JHV\tJaroslav\n" "OK1JIA\tJiri\n" "OK1JIC\tJiri\n" "OK1JIG\tJiri\n" "OK1JIM\tJaroslav\n" "OK1JIR\tJiri\n" "OK1JIX\tJosef\n" "OK1JJ\tJiri\n" "OK1JJT\tJana\n" "OK1JKA\tAdam\n" "OK1JK\tJan\n" "OK1JKM\tMiloslav\n" "OK1JKN\tBohuslav\n" "OK1JKP\tPetr\n" "OK1JKR\tZdenek\n" "OK1JKT\tKarel\n" "OK1JKU\tPavel\n" "OK1JLO\tMartin\n" "OK1JLX\tAlex\n" "OK1JLZ\tVladimir\n" "OK1JMA\tMartin\n" "OK1JMB\tMiroslav\n" "OK1JMD\tMartin\n" "OK1JME\tArnost\n" "OK1JM\tJiri\n" "OK1JMJ\tMiroslav\n" "OK1JMK\tMaxim\n" "OK1JMO\tMiroslav\n" "OK1JMP\tPetr\n" "OK1JMS\tMilan\n" "OK1JMW\tPavel\n" "OK1JMZ\tZdenek\n" "OK1JNB\tJan\n" "OK1JNU\tVaclav\n" "OK1JNW\tLukas\n" "OK1JOL\tJindrich\n" "OK1JON\tJaromir\n" "OK1JOY\tMiroslav\n" "OK1JPB\tPetr\n" "OK1JPH\tJiri\n" "OK1JPO\tPetr\n" "OK1JPP\tPetr\n" "OK1JQD\tJaroslav\n" "OK1JQP\tJaroslav\n" "OK1JRA\tTomas\n" "OK1JR\tStanislav\n" "OK1JRU\tKarel\n" "OK1JRZ\tRudolf\n" "OK1JSA\tStefan\n" "OK1JSF\tJaromir\n" "OK1JSI\tIvan\n" "OK1JSL\tJaroslav\n" "OK1JST\tJiri\n" "OK1JSV\tStepan\n" "OK1JTA\tJiri\n" "OK1JTC\tJiri\n" "OK1JTH\tJosef\n" "OK1JTM\tMikulas\n" "OK1JTV\tTomas\n" "OK1JTZ\tLibor\n" "OK1JVA\tJiri\n" "OK1JV\tJiri\n" "OK1JVP\tVilibald\n" "OK1JVS\tVaclav\n" "OK1JVT\tVaclav\n" "OK1JVU\tMarie\n" "OK1JVX\tMilan\n" "OK1JVY\tJaroslav\n" "OK1JWV\tVladimir\n" "OK1JXD\tJosef\n" "OK1JX\tMarek\n" "OK1JXU\tPetr\n" "OK1JXX\tJosef\n" "OK1JY\tJaroslav\n" "OK1JYL\tJana\n" "OK1JYT\tJaroslav\n" "OK1JZI\tJiri\n" "OK1JZ\tJiri\n" "OK1JZN\tZdenek\n" "OK1JZS\tZdenek\n" "OK1JZV\tZdenek\n" "OK1KA\tJosef\n" "OK1KBI\tDDM\n" "OK1KC\tJosef\n" "OK1KD\tIvo\n" "OK1KF\tVaclav\n" "OK1KH\tOtto\n" "OK1KI\tMilada\n" "OK1KIX\tOldrich\n" "OK1KJ\tMiroslav\n" "OK1KK\tRoman\n" "OK1KKT\tTanvald\n" "OK1KM\tKarel\n" "OK1KN\tJaromir\n" "OK1KO\tVladimir\n" "OK1KR\tRoman\n" "OK1KT\tVratislav\n" "OK1KV\tMarek\n" "OK1KW\tMilan\n" "OK1KX\tKarel\n" "OK1KZ\tPavel\n" "OK1LAH\tLadislav\n" "OK1LA\tLadislav\n" "OK1LAT\tIvo\n" "OK1LBB\tPavel\n" "OK1LBO\tJaroslav\n" "OK1LCD\tRadka\n" "OK1LD\tJiri\n" "OK1LDX\tPavel\n" "OK1LEO\tAlice\n" "OK1LH\tTomas\n" "OK1LL\tIvan\n" "OK1LM\tMiloslav\n" "OK1LO\tLadislav\n" "OK1LOL\tMichal\n" "OK1LPD\tMichal\n" "OK1LTV\tLibor\n" "OK1LUB\tLubomir\n" "OK1LU\tJosef\n" "OK1LUK\tLukas\n" "OK1LV\tLadislav\n" "OK1LX\tPeter\n" "OK1LY\tFrantisek\n" "OK1LZA\tLucie\n" "OK1LZ\tZdenek\n" "OK1MAF\tLadislav\n" "OK1MAG\tKarel\n" "OK1MA\tJiri\n" "OK1MAJ\tOndrej\n" "OK1MAM\tVlastimil\n" "OK1MAQ\tJan\n" "OK1MAS\tRudolf\n" "OK1MAV\tJaroslav\n" "OK1MAW\tVladimir\n" "OK1MAY\tJosef\n" "OK1MBL\tLubomir\n" "OK1MB\tMilan\n" "OK1MBR\tRudolf\n" "OK1MBT\tMiroslav\n" "OK1MBU\tZdenek\n" "OK1MBW\tPetr\n" "OK1MBZ\tZdenek\n" "OK1MCN\tKarel\n" "OK1MCS\tPavel\n" "OK1MCV\tFrantisek\n" "OK1MCW\tMartin\n" "OK1MDA\tJiri\n" "OK1MDE\tMiroslav\n" "OK1MDJ\tJiri\n" "OK1MDK\tJosef\n" "OK1MDM\tJan\n" "OK1MD\tMlados\n" "OK1MDX\tStanislav\n" "OK1MEF\tPetr\n" "OK1MEH\tMiroslav\n" "OK1MEK\tKarel\n" "OK1MEP\tPavel\n" "OK1MES\tJiri\n" "OK1MFF\tFrantisek\n" "OK1MFG\tPetr\n" "OK1MFH\tMartin\n" "OK1MFJ\tJindrich\n" "OK1MFK\tFrantisek\n" "OK1MFL\tLubomir\n" "OK1MFM\tFrantisek\n" "OK1MFS\tFrantisek\n" "OK1MGA\tPetr\n" "OK1MGO\tJiri\n" "OK1MGQ\tLeos\n" "OK1MGS\tMilos\n" "OK1MGW\tPetr\n" "OK1MGX\tVratislav\n" "OK1MHG\tPetr\n" "OK1MHN\tHana\n" "OK1MHW\tLukas\n" "OK1MHZ\tMiloslav\n" "OK1MCH\tZdenek\n" "OK1MIC\tLubor\n" "OK1MIE\tMiloslav\n" "OK1MIG\tJosef\n" "OK1MI\tKarel\n" "OK1MIK\tJaroslav\n" "OK1MIN\tPavel\n" "OK1MIQ\tJan\n" "OK1MIU\tBohumil\n" "OK1MJA\tJan\n" "OK1MJH\tJaroslav\n" "OK1MJ\tMiroslav\n" "OK1MJS\tJaromir\n" "OK1MJV\tJan\n" "OK1MJW\tJan\n" "OK1MKA\tVaclav\n" "OK1MKB\tKarel\n" "OK1MKD\tJosef\n" "OK1MKH\tMartin\n" "OK1MKJ\tJosef\n" "OK1MKL\tPavel\n" "OK1MKU\tKarel\n" "OK1MKX\tJaroslav\n" "OK1MKZ\tZdenek\n" "OK1MLF\tLadislav\n" "OK1MLG\tLadislav\n" "OK1MLP\tKarel\n" "OK1MLX\tPavel\n" "OK1MMI\tPetra\n" "OK1MMK\tMiroslav\n" "OK1MMU\tMiroslav\n" "OK1MMX\tAlexandr\n" "OK1MNA\tJosef\n" "OK1MNC\tJosef\n" "OK1MNH\tStanislav\n" "OK1MNI\tMiroslav\n" "OK1MN\tPavel\n" "OK1MNR\tJosef\n" "OK1MNV\tJan\n" "OK1MNW\tJindrich\n" "OK1MOC\tLubomir\n" "OK1MOD\tJaroslav\n" "OK1MO\tJiri\n" "OK1MOP\tMartin\n" "OK1MOS\tJiri\n" "OK1MOW\tIvan\n" "OK1MOY\tOtto\n" "OK1MPD\tMartin\n" "OK1MPF\tMartin\n" "OK1MPI\tMartin\n" "OK1MP\tMilos\n" "OK1MPO\tPetr\n" "OK1MPR\tRoman\n" "OK1MPU\tMiroslav\n" "OK1MPX\tZbynek\n" "OK1MPY\tPetr\n" "OK1MQY\tErhard\n" "OK1MRA\tJiri\n" "OK1MRC\tJan\n" "OK1MRE\tRudolf\n" "OK1MRI\tMilos\n" "OK1MRL\tRoman\n" "OK1MR\tMilan\n" "OK1MRM\tMiroslav\n" "OK1MRN\tRadek\n" "OK1MRS\tVladimir\n" "OK1MRZ\tZdenek\n" "OK1MSB\tBohuslav\n" "OK1MSD\tJiri\n" "OK1MSJ\tJiri\n" "OK1MSL\tStanislav\n" "OK1MSP\tStanislav\n" "OK1MSQ\tJosef\n" "OK1MSR\tJiri\n" "OK1MST\tJaroslav\n" "OK1MSV\tJiri\n" "OK1MTA\tVaclav\n" "OK1MT\tJan\n" "OK1MTQ\tMiroslav\n" "OK1MTX\tZdenek\n" "OK1MTZ\tMichal\n" "OK1MUA\tBretislav\n" "OK1MUC\tFrantisek\n" "OK1MUF\tJan\n" "OK1MUK\tKarel\n" "OK1MU\tPavel\n" "OK1MVG\tVit\n" "OK1MVJ\tVojtech\n" "OK1MVK\tVaclav\n" "OK1MV\tMarek\n" "OK1MVN\tVratislav\n" "OK1MVP\tVaclav\n" "OK1MVS\tVaclav\n" "OK1MVV\tVladimir\n" "OK1MVW\tMarie\n" "OK1MWA\tVaclav\n" "OK1MWC\tHelena\n" "OK1MW\tMartin\n" "OK1MWM\tMiloslav\n" "OK1MWW\tJiri\n" "OK1MXM\tJiri\n" "OK1MXX\tFrantisek\n" "OK1MYL\tDagmar\n" "OK1MYM\tMiroslav\n" "OK1MY\tPavel\n" "OK1MZB\tZdenek\n" "OK1MZ\tMilan\n" "OK1MZM\tMilos\n" "OK1MZN\tMilos\n" "OK1MZO\tJiri\n" "OK1MZT\tZdenek\n" "OK1NAS\tMiroslav\n" "OK1NAT\tMichal\n" "OK1NAW\tJaromir\n" "OK1ND\tMiroslav\n" "OK1NE\tJulius\n" "OK1NFA\tJan\n" "OK1NF\tJan\n" "OK1NGC\tMiroslav\n" "OK1NG\tJaromir\n" "OK1NH\tJaroslav\n" "OK1NHR\tJan\n" "OK1NIK\tKarel\n" "OK1NIL\tVaclav\n" "OK1NI\tMilan\n" "OK1NIP\tIvan\n" "OK1NIT\tVladimir\n" "OK1NJA\tJana\n" "OK1NJB\tMichal\n" "OK1NJC\tJiri\n" "OK1NJP\tPavel\n" "OK1NL\tMilan\n" "OK1NMI\tIvo\n" "OK1NMJ\tJiri\n" "OK1NMP\tMiroslav\n" "OK1NMR\tZdenek\n" "OK1NMW\tJiri\n" "OK1NOC\tJiri\n" "OK1NOP\tJosef\n" "OK1NOR\tJindrich\n" "OK1NPA\tPetr\n" "OK1NPF\tRoman\n" "OK1NP\tJan\n" "OK1NR\tJan\n" "OK1NS\tPetr\n" "OK1NSX\tJaroslav\n" "OK1NT\tAntonin\n" "OK1NU\tJan\n" "OK1NUN\tMichael\n" "OK1NVJ\tJiri\n" "OK1NVO\tJosef\n" "OK1NWD\tPetr\n" "OK1NW\tZdenek\n" "OK1NYD\tPavel\n" "OK1NZ\tJaroslav\n" "OK1NZJ\tZdenek\n" "OK1NZV\tVera\n" "OK1OA\tJiri\n" "OK1OAZ\tradioclub:\n" "OK1OB\tStefan\n" "OK1OH\tFrantisek\n" "OK1OHK\tDDM\n" "OK1OK\tMirka\n" "OK1OS\tOtakar\n" "OK1OW\tZdenka\n" "OK1OX\tMiroslav\n" "OK1PAA\tJosef\n" "OK1PAI\tIvo\n" "OK1PA\tPetr\n" "OK1PBB\tBohumil\n" "OK1PBO\tPavel\n" "OK1PBP\tPavel\n" "OK1PC\tPavel\n" "OK1PD\tJosef\n" "OK1PFA\tJosef\n" "OK1PFE\tPetr\n" "OK1PFH\tJan\n" "OK1PFM\tPetr\n" "OK1PF\tPetr\n" "OK1PGS\tFrantisek\n" "OK1PH\tJindrich\n" "OK1PHM\tPetr\n" "OK1PHP\tPetr\n" "OK1PHU\tPavel\n" "OK1PHX\tPetr\n" "OK1PHZ\tPetr\n" "OK1PII\tPetr\n" "OK1PI\tIvan\n" "OK1PJB\tJiri\n" "OK1PJP\tPavel\n" "OK1PJX\tPavel\n" "OK1PKO\tPavel\n" "OK1PK\tPavel\n" "OK1PL\tJan\n" "OK1PLS\tVladimir\n" "OK1PMA\tPavel\n" "OK1PMR\tTomas\n" "OK1PNA\tMichal\n" "OK1PO\tOtakar\n" "OK1POS\tOldrich\n" "OK1POY\tVaclav\n" "OK1PPJ\tPetr\n" "OK1PP\tPetr\n" "OK1PPT\tPetr\n" "OK1PRI\tPavel\n" "OK1PR\tIvan\n" "OK1PRR\tPetr\n" "OK1PSH\tPetr\n" "OK1PSY\tVaclav\n" "OK1PTB\tPetr\n" "OK1PUJ\tJan\n" "OK1PUK\tMichal\n" "OK1PUL\tPavel\n" "OK1PUP\tAlena\n" "OK1PV\tVojtech\n" "OK1PW\tRudolf\n" "OK1QF\tFrantisek\n" "OK1QO\tJan\n" "OK1QS\tJiri\n" "OK1QT\tJiri\n" "OK1QW\tHerbert\n" "OK1RA\tSlavomil\n" "OK1RAY\tAlois\n" "OK1RD\tJaroslav\n" "OK1RF\tJiri\n" "OK1RH\tVaclav\n" "OK1RK\tDavid\n" "OK1RO\tJan\n" "OK1RP\tPetr\n" "OK1RR\tMartin\n" "OK1RSM\tRosomaci\n" "OK1RV\tJosef\n" "OK1RW\tJiri\n" "OK1RY\tJaroslav\n" "OK1RZ\tRostislav\n" "OK1SAB\tMiroslav\n" "OK1SA\tBohumil\n" "OK1SAO\tPetr\n" "OK1SAT\tRichard\n" "OK1SBV\tVladimir\n" "OK1SCB\tJan\n" "OK1SC\tJan\n" "OK1SDE\tDalibor\n" "OK1SD\tStanislav\n" "OK1SEL\tMiroslav\n" "OK1SF\tBedrich\n" "OK1SFR\tPavel\n" "OK1SFT\tFrantisek\n" "OK1SFW\tFrantisek\n" "OK1SGI\tMichal\n" "OK1SHF\tZdenek\n" "OK1SIB\tJan\n" "OK1SI\tIvo\n" "OK1SIT\tBretislav\n" "OK1SJL\tJosef\n" "OK1SKD\tKarel\n" "OK1SKJ\tJiri\n" "OK1SLM\tLibor\n" "OK1SLY\tLubos\n" "OK1SMH\tMichaela\n" "OK1SMN\tMarian\n" "OK1SMU\tJan\n" "OK1SMY\tMiroslav\n" "OK1SNE\tJiri\n" "OK1SNR\tStanislav\n" "OK1SOA\tKarel\n" "OK1SOX\tMilan\n" "OK1SP\tJulius\n" "OK1SPL\tSlava\n" "OK1SPV\tPavla\n" "OK1SPX\tJindrich\n" "OK1SPY\tJiri\n" "OK1SQK\tKarel\n" "OK1SQT\tSimona\n" "OK1SRD\tJosef\n" "OK1SRT\tRadek\n" "OK1STJ\tPavel\n" "OK1ST\tMartin\n" "OK1STN\tJiri\n" "OK1STO\tPavel\n" "OK1STS\tPetr\n" "OK1STW\tStanislav\n" "OK1STX\tPavel\n" "OK1SVB\tVladimir\n" "OK1SVF\tStanislav\n" "OK1SVH\tAlena\n" "OK1SVV\tVlastimil\n" "OK1SX\tMilan\n" "OK1SY\tJosef\n" "OK1SYM\tTomas\n" "OK1SYN\tJan\n" "OK1SZA\tJan\n" "OK1TAI\tKarel\n" "OK1TA\tKarel\n" "OK1TAL\tLadislav\n" "OK1TAM\tSvatoslav\n" "OK1TAN\tAntonin\n" "OK1TAO\tOtakar\n" "OK1TAV\tPavel\n" "OK1TBA\tVlastimil\n" "OK1TBT\tTomas\n" "OK1TCF\tAntonin\n" "OK1TC\tJaroslav\n" "OK1TCM\tJakub\n" "OK1TCN\tViktor\n" "OK1TDD\tAntonin\n" "OK1TDE\tEmil\n" "OK1TDF\tTomas\n" "OK1TDI\tJiri\n" "OK1TD\tJiri\n" "OK1TDO\tDaniel\n" "OK1TDS\tPavel\n" "OK1TDU\tDavid\n" "OK1TEB\tPavel\n" "OK1TEH\tMatej\n" "OK1TE\tJan\n" "OK1TEM\tJarmila\n" "OK1TEP\tTomas\n" "OK1TFD\tFrantisek\n" "OK1TFH\tIvan\n" "OK1TF\tJosef\n" "OK1TGA\tVaclav\n" "OK1TGI\tIgor\n" "OK1TGN\tTomas\n" "OK1THA\tPetr\n" "OK1THK\tJaroslav\n" "OK1THR\tMiloslav\n" "OK1THX\tMilan\n" "OK1TIC\tJan\n" "OK1TI\tKarel\n" "OK1TIM\tPavel\n" "OK1TIR\tKarel\n" "OK1TIZ\tZdenek\n" "OK1TJC\tJosef\n" "OK1TJD\tDimitrij\n" "OK1TJE\tMichal\n" "OK1TJH\tJan\n" "OK1TJI\tJiri\n" "OK1TJJ\tJiri\n" "OK1TJO\tTomas\n" "OK1TJT\tJindrich\n" "OK1TKC\tJosef\n" "OK1TKM\tLeo\n" "OK1TKO\tAndrej\n" "OK1TKR\tMiroslav\n" "OK1TKZ\tJan\n" "OK1TLB\tVaclav\n" "OK1TLJ\tJiri\n" "OK1TLT\tTomas\n" "OK1TMI\tMilos\n" "OK1TMJ\tMichal\n" "OK1TML\tMichal\n" "OK1TMT\tMartina\n" "OK1TNM\tRudolf\n" "OK1TN\tSlavomir\n" "OK1TO\tOtakar\n" "OK1TOT\tOndrej\n" "OK1TOV\tOtakar\n" "OK1TOX\tLeo\n" "OK1TOZ\tJan\n" "OK1TPC\tJosef\n" "OK1TPG\tVladimir\n" "OK1TPI\tJaroslav\n" "OK1TPK\tPeter\n" "OK1TPL\tTomas\n" "OK1TPW\tIvan\n" "OK1TQ\tJosef\n" "OK1TRA\tJiri\n" "OK1TRD\tLibor\n" "OK1TRJ\tMichal\n" "OK1TR\tRenata\n" "OK1TRW\tFedor\n" "OK1TTL\tTomas\n" "OK1TTP\tJosef\n" "OK1TUD\tJaroslav\n" "OK1TUK\tJaroslav\n" "OK1TUV\tLudovit\n" "OK1TVA\tVeronika\n" "OK1TVD\tVladimir\n" "OK1TVK\tJindrich\n" "OK1TVL\tLibor\n" "OK1TVM\tVaclav\n" "OK1TVR\tVilem\n" "OK1TXW\tCenek\n" "OK1TYM\tJiri\n" "OK1TYR\tIvo\n" "OK1TY\tZdenek\n" "OK1TZA\tZdenek\n" "OK1TZD\tPetra\n" "OK1TZL\tMartin\n" "OK1TZW\tMartin\n" "OK1TZX\tVladislav\n" "OK1UAH\tPavel\n" "OK1UA\tVlastimil\n" "OK1UBA\tMartin\n" "OK1UBB\tBohumil\n" "OK1UBL\tLadislav\n" "OK1UBO\tJiri\n" "OK1UBP\tPavel\n" "OK1UBR\tFrantisek\n" "OK1UDF\tKarel\n" "OK1UDJ\tJiri\n" "OK1UDK\tAntonin\n" "OK1UDQ\tMiroslav\n" "OK1UDS\tJosef\n" "OK1UDX\tStefan\n" "OK1UEA\tMiroslav\n" "OK1UEB\tJiri\n" "OK1UEC\tMilan\n" "OK1UEH\tErvin\n" "OK1UEI\tAleksandar\n" "OK1UEK\tOndrej\n" "OK1UEM\tMartin\n" "OK1UES\tJaroslava\n" "OK1UFC\tMira\n" "OK1UFE\tVladimir\n" "OK1UFL\tMiloslav\n" "OK1UFM\tRoman\n" "OK1UGA\tMartin\n" "OK1UGD\tTomas\n" "OK1UGE\tPavel\n" "OK1UGH\tMiroslav\n" "OK1UGI\tJindrich\n" "OK1UGK\tJosef\n" "OK1UG\tPavel\n" "OK1UHQ\tLadislav\n" "OK1UJA\tIvana\n" "OK1UJB\tJosef\n" "OK1UJG\tVlasta\n" "OK1UJL\tSvatoslav\n" "OK1UJP\tJiri\n" "OK1UJQ\tVladislav\n" "OK1UJX\tJana\n" "OK1UKS\tKarel\n" "OK1UKV\tJaroslav\n" "OK1UKZ\tZdenek\n" "OK1ULE\tLeos\n" "OK1ULK\tIvan\n" "OK1ULL\tPetr\n" "OK1ULU\tAles\n" "OK1UMB\tMiroslav\n" "OK1UME\tKarel\n" "OK1UMI\tEduarda\n" "OK1UML\tLenka\n" "OK1UMR\tMarcela\n" "OK1UNG\tArnost\n" "OK1UN\tLubomir\n" "OK1UNZ\tZdenek\n" "OK1UOM\tStanislav\n" "OK1UOZ\tPavel\n" "OK1UPB\tPavel\n" "OK1UPE\tPetr\n" "OK1UPU\tZdenek\n" "OK1UPZ\tZdenek\n" "OK1UQM\tMiroslav\n" "OK1UQP\tJosef\n" "OK1URM\tMartin\n" "OK1URO\tMilan\n" "OK1URT\tTomas\n" "OK1US\tJiri\n" "OK1USJ\tJitka\n" "OK1USK\tJozef\n" "OK1USS\tStanislav\n" "OK1USU\tJiri\n" "OK1USW\tLadislav\n" "OK1UTK\tLadislav\n" "OK1UTX\tFrantisek\n" "OK1UU\tJan\n" "OK1UUK\tEduard\n" "OK1UVE\tVaclav\n" "OK1UVG\tVaclav\n" "OK1UVJ\tJosef\n" "OK1UVU\tMiroslav\n" "OK1UWE\tSiegfried\n" "OK1UWW\tKarel\n" "OK1UXH\tVlastislav\n" "OK1UXT\tIvo\n" "OK1UX\tVaclav\n" "OK1UYM\tFrantisek\n" "OK1UYR\tMartin\n" "OK1UZB\tOskar\n" "OK1UZE\tZdenek\n" "OK1UZR\tZdenek\n" "OK1UZW\tZdenek\n" "OK1VAK\tVaclav\n" "OK1VAM\tJan\n" "OK1VBD\tVojtech\n" "OK1VBN\tJosef\n" "OK1VBQ\tRudolf\n" "OK1VBS\tPavel\n" "OK1VB\tVaclav\n" "OK1VCB\tTomas\n" "OK1VCF\tTomas\n" "OK1VCO\tJan\n" "OK1VCP\tVitezslav\n" "OK1VDF\tJaroslav\n" "OK1VDJ\tBedrich\n" "OK1VDS\tZdenek\n" "OK1VD\tVaclav\n" "OK1VDX\tStanislav\n" "OK1VEA\tLudvik\n" "OK1VEC\tJiri\n" "OK1VEH\tBohumir\n" "OK1VEI\tPavel\n" "OK1VEL\tJaroslav\n" "OK1VEN\tPetr\n" "OK1VEY\tSvetozar\n" "OK1VFC\tVitezslav\n" "OK1VGJ\tJan\n" "OK1VGS\tZdenek\n" "OK1VHF\tMilan\n" "OK1VHN\tDenis\n" "OK1VHQ\tMarcel\n" "OK1VHV\tJosef\n" "OK1VIB\tMilan\n" "OK1VIT\tJiri\n" "OK1VIU\tJosef\n" "OK1VJB\tJosef\n" "OK1VJH\tJosef\n" "OK1VJL\tJiri\n" "OK1VJU\tEva\n" "OK1VJV\tJaromir\n" "OK1VKC\tJosef\n" "OK1VKJ\tJosef\n" "OK1VKK\tFrantisek\n" "OK1VKL\tJiri\n" "OK1VKQ\tVaclav\n" "OK1VKX\tDusan\n" "OK1VKZ\tZdenek\n" "OK1VLA\tVladimir\n" "OK1VLC\tArnost\n" "OK1VLG\tLubomir\n" "OK1VLK\tOldrich\n" "OK1VLR\tLubomir\n" "OK1VMF\tVitezslav\n" "OK1VMK\tMiroslav\n" "OK1VM\tMichal\n" "OK1VNI\tMichal\n" "OK1VNT\tJaromir\n" "OK1VOC\tStanislav\n" "OK1VOF\tAlexandr\n" "OK1VOR\tVladimir\n" "OK1VOT\tMiloslav\n" "OK1VOV\tVaclav\n" "OK1VOZ\tMarie\n" "OK1VPD\tJosef\n" "OK1VPO\tMilos\n" "OK1VPR\tJiri\n" "OK1VPS\tJaroslava\n" "OK1VPT\tLudvik\n" "OK1VPU\tJaroslav\n" "OK1VPV\tJaroslav\n" "OK1VPY\tJan\n" "OK1VPZ\tVladimir\n" "OK1VQC\tMilan\n" "OK1VRF\tVaclav\n" "OK1VRI\tRichard\n" "OK1VR\tJindra\n" "OK1VRL\tZdenka\n" "OK1VRN\tAugust\n" "OK1VRV\tVaclav\n" "OK1VRW\tLudek\n" "OK1VRY\tLudvik\n" "OK1VSA\tAlexandr\n" "OK1VSG\tStanislav\n" "OK1VSL\tLudek\n" "OK1VSV\tSonja\n" "OK1VTG\tFrantisek\n" "OK1VTJ\tJiri\n" "OK1VTL\tPetr\n" "OK1VTO\tFrantisek\n" "OK1VT\tPavel\n" "OK1VTR\tVladimir\n" "OK1VTV\tRoman\n" "OK1VUA\tOttomar\n" "OK1VUB\tBohumil\n" "OK1VUC\tJan\n" "OK1VUM\tMiloslav\n" "OK1VU\tVaclav\n" "OK1VVC\tBohuslav\n" "OK1VVH\tJaroslav\n" "OK1VVS\tVladimir\n" "OK1VVV\tJan\n" "OK1VW\tJiri\n" "OK1VXB\tLadislav\n" "OK1VXI\tPetr\n" "OK1VYC\tFrantisek\n" "OK1VYK\tJiri\n" "OK1VYL\tLotka\n" "OK1VYM\tMarie\n" "OK1VYP\tJitka\n" "OK1VYR\tVaclav\n" "OK1VZA\tOtakar\n" "OK1VZ\tKarel\n" "OK1VZL\tOtakar\n" "OK1VZP\tZdenka\n" "OK1VZV\tBohuslav\n" "OK1VZZ\tZuzana\n" "OK1WA\tOldrich\n" "OK1WAV\tJaroslav\n" "OK1WCF\tMartin\n" "OK1WEN\tVaclav\n" "OK1WFE\tJosef\n" "OK1WF\tJaroslav\n" "OK1WGW\tJaroslav\n" "OK1WIP\tMiroslav\n" "OK1WJA\tPetr\n" "OK1WJB\tJaroslav\n" "OK1WJV\tJaroslav\n" "OK1WJW\tJosef\n" "OK1WLH\tJosef\n" "OK1WLM\tMilan\n" "OK1WMB\tVladimir\n" "OK1WMJ\tJan\n" "OK1WMK\tMarek\n" "OK1WMR\tMichal\n" "OK1WMV\tVaclav\n" "OK1WNB\tJaroslav\n" "OK1WN\tStanislav\n" "OK1WPM\tPetra\n" "OK1WQ\tVladislav\n" "OK1WRA\tMatej\n" "OK1WRM\tRoman\n" "OK1WRZ\tJan\n" "OK1WS\tLibor\n" "OK1WSL\tJosef\n" "OK1WT\tVladimir\n" "OK1WUA\tBoris\n" "OK1WU\tJiri\n" "OK1WVR\tVaclav\n" "OK1WVS\tVlastimil\n" "OK1WVV\tJan\n" "OK1WWJ\tPavel\n" "OK1WW\tJulek\n" "OK1WWV\tPetr\n" "OK1WXA\tPavlina\n" "OK1WZ\tJosef\n" "OK1WZV\tZbynek\n" "OK1XA\tJakub\n" "OK1XAV\tOtakar\n" "OK1XBF\tPavel\n" "OK1XBK\tJiri\n" "OK1XC\tJosef\n" "OK1XDK\tDavid\n" "OK1XDN\tDaniel\n" "OK1XDR\tJiri\n" "OK1XDY\tJosef\n" "OK1XEB\tPavel\n" "OK1XE\tEmil\n" "OK1XEM\tMichal\n" "OK1XEN\tMartin\n" "OK1XET\tPavel\n" "OK1XEV\tVit\n" "OK1XEW\tLukas\n" "OK1XFA\tJaroslav\n" "OK1XFI\tLibor\n" "OK1XFJ\tJan\n" "OK1XFL\tBedrich\n" "OK1XFO\tMilan\n" "OK1XGA\tJan\n" "OK1XGI\tMiroslav\n" "OK1XGL\tPetr\n" "OK1XGP\tJan\n" "OK1XHD\tJosef\n" "OK1XHE\tFrantisek\n" "OK1XHI\tZdenek\n" "OK1XH\tMilan\n" "OK1XHV\tJan\n" "OK1XCH\tJan\n" "OK1XIN\tVaclav\n" "OK1XJB\tViera\n" "OK1XJD\tMartin\n" "OK1XJF\tJiri\n" "OK1XJ\tJiri\n" "OK1XJL\tJosef\n" "OK1XJN\tJaroslav\n" "OK1XJP\tJiri\n" "OK1XKV\tVladimir\n" "OK1XL\tLadislav\n" "OK1XLS\tMilan\n" "OK1XMS\tRichard\n" "OK1XMV\tStanislav\n" "OK1XNC\tFrantisek\n" "OK1XNG\tVaclav\n" "OK1XNP\tPavel\n" "OK1XOD\tAles\n" "OK1XOE\tTomas\n" "OK1XO\tJosef\n" "OK1XOR\tKarel\n" "OK1XOT\tTomas\n" "OK1XOX\tAles\n" "OK1XPA\tPetr\n" "OK1XPB\tPavel\n" "OK1XPF\tMiroslav\n" "OK1XPH\tJiri\n" "OK1XPJ\tPetr\n" "OK1XP\tOtakar\n" "OK1XPP\tPavel\n" "OK1XQA\tJaroslava\n" "OK1XQC\tFrantisek\n" "OK1XQD\tVaclav\n" "OK1XR\tJindrich\n" "OK1XRM\tJaroslav\n" "OK1XS\tRoman\n" "OK1XSW\tMiroslav\n" "OK1XTF\tFrantisek\n" "OK1XT\tJiri\n" "OK1XTM\tMiloslav\n" "OK1XTR\tTomislav\n" "OK1XUB\tJaroslav\n" "OK1XU\tJan\n" "OK1XUJ\tJosef\n" "OK1XV\tJosef\n" "OK1XVW\tVaclav\n" "OK1XW\tViktor\n" "OK1XWW\tJulius\n" "OK1XXB\tZdenek\n" "OK1XX\tJan\n" "OK1XXL\tPetr\n" "OK1XY\tLadislav\n" "OK1XYZ\tOldrich\n" "OK1XZB\tZdenek\n" "OK1XZS\tZdenek\n" "OK1YA\tPremysl\n" "OK1YB\tVera\n" "OK1YC\tMartin\n" "OK1YI\tJan\n" "OK1YK\tJaromir\n" "OK1YLB\tJiri\n" "OK1YL\tPetra\n" "OK1YM\tOldrich\n" "OK1YO\tImrich\n" "OK1YX\tPavel\n" "OK1YZN\tLadislav\n" "OK1ZA\tArnost\n" "OK1ZAD\tJiri\n" "OK1ZAJ\tPavel\n" "OK1ZAT\tPavel\n" "OK1ZBD\tKarel\n" "OK1ZBK\tKarel\n" "OK1ZCJ\tJaroslav\n" "OK1ZDA\tLubos\n" "OK1ZDE\tZdenek\n" "OK1ZDT\tZdenek\n" "OK1ZDX\tJan\n" "OK1ZD\tZdenek\n" "OK1ZED\tJiri\n" "OK1ZES\tZdenek\n" "OK1ZE\tVaclav\n" "OK1ZFP\tFrantisek\n" "OK1ZGA\tVladimir\n" "OK1ZH\tLadislav\n" "OK1ZHS\tJan\n" "OK1ZHU\tZdenek\n" "OK1ZHV\tVojtech\n" "OK1ZJA\tZdenek\n" "OK1ZJB\tJosef\n" "OK1ZJH\tJiri\n" "OK1ZJJ\tJana\n" "OK1ZJL\tJiri\n" "OK1ZJN\tJiri\n" "OK1ZJP\tJakub\n" "OK1ZJV\tJiri\n" "OK1ZK\tJan\n" "OK1ZKJ\tJaroslav\n" "OK1ZKL\tLadislav\n" "OK1ZKN\tJaroslav\n" "OK1ZKQ\tVlastimil\n" "OK1ZLM\tLadislav\n" "OK1ZMD\tMilan\n" "OK1ZMH\tJan\n" "OK1ZMJ\tJana\n" "OK1ZML\tMilan\n" "OK1ZMO\tOtto\n" "OK1ZMS\tMartin\n" "OK1ZMX\tZdenek\n" "OK1ZN\tJaromir\n" "OK1ZOR\tOtakar\n" "OK1ZOZ\tDavid\n" "OK1ZPC\tZdenek\n" "OK1ZP\tJosef\n" "OK1ZPJ\tZdenek\n" "OK1ZPT\tPetr\n" "OK1ZRA\tZdenek\n" "OK1ZSR\tJuraj\n" "OK1ZSV\tVladimir\n" "OK1ZTO\tOldrich\n" "OK1ZUB\tVojtech\n" "OK1ZVA\tVlastimil\n" "OK1ZVL\tVladimir\n" "OK1ZVP\tPetr\n" "OK1ZVS\tVlastimil\n" "OK1ZWF\tJiri\n" "OK1ZW\tMarek\n" "OK1ZX\tJan\n" "OK1ZY\tJan\n" "OK1ZZX\tVladimir\n" "OK1ZZ\tZbynek\n" "OK1ZZZ\tKarel\n" "OK2ABH\tPetr\n" "OK2AB\tRostislav\n" "OK2ABU\tZdenek\n" "OK2ACM\tMarek\n" "OK2ADI\tPetr\n" "OK2AF\tMilan\n" "OK2AIA\tPetr\n" "OK2AIS\tAles\n" "OK2AJ\tSlavomir\n" "OK2AK\tAles\n" "OK2ALP\tAles\n" "OK2AM\tMiloslav\n" "OK2AN\tVaclav\n" "OK2AOP\tJiri\n" "OK2APY\tAlena\n" "OK2AQA\tMarcel\n" "OK2ARD\tDaniel\n" "OK2AR\tJan\n" "OK2ARK\tRudolf\n" "OK2ARM\tJosef\n" "OK2ARP\tRadomir\n" "OK2ATC\tAntonin\n" "OK2AT\tVladimir\n" "OK2AVA\tJiri\n" "OK2AZ\tAntonin\n" "OK2BA\tJan\n" "OK2BAQ\tJaroslav\n" "OK2BAT\tJiri\n" "OK2BAV\tJaroslav\n" "OK2BBA\tJan\n" "OK2BBB\tFrantisek\n" "OK2BBD\tZdenek\n" "OK2BBI\tZdenka\n" "OK2BBJ\tJosef\n" "OK2BBR\tVlastimil\n" "OK2BCF\tMilan\n" "OK2BCI\tLubomir\n" "OK2BCN\tPravoslav\n" "OK2BC\tVilem\n" "OK2BCW\tJaroslav\n" "OK2BDA\tVilem\n" "OK2BDB\tJosef\n" "OK2BDF\tJiri\n" "OK2BDR\tJan\n" "OK2BDS\tLudvik\n" "OK2BDU\tMilan\n" "OK2BDX\tVladimir\n" "OK2BEA\tMiroslav\n" "OK2BEH\tZdenek\n" "OK2BEJ\tVlastimil\n" "OK2BEM\tJan\n" "OK2BEN\tLubos\n" "OK2BEO\tIvan\n" "OK2BET\tJaroslav\n" "OK2BEW\tKarel\n" "OK2BFH\tJan\n" "OK2BFI\tSvatopluk\n" "OK2BFK\tVladimir\n" "OK2BFN\tTomas\n" "OK2BF\tStanislav\n" "OK2BFU\tMilan\n" "OK2BFY\tJosef\n" "OK2BGA\tVladimir\n" "OK2BGB\tLudvik\n" "OK2BGK\tFrantisek\n" "OK2BGN\tStanislav\n" "OK2BGO\tAntonin\n" "OK2BGW\tIvo\n" "OK2BHD\tZdenek\n" "OK2BHE\tMiloslav\n" "OK2BHK\tIvan\n" "OK2BHL\tJiri\n" "OK2BHM\tErich\n" "OK2BHS\tVaclav\n" "OK2BH\tZdenek\n" "OK2BHZ\tZbigniew\n" "OK2BIC\tMilan\n" "OK2BIJ\tLibor\n" "OK2BIK\tJaroslav\n" "OK2BIQ\tJan\n" "OK2BIT\tLadislav\n" "OK2BIU\tJan\n" "OK2BIW\tVaclav\n" "OK2BIX\tVladimir\n" "OK2BJC\tJan\n" "OK2BJG\tOndrej\n" "OK2BJI\tMiloslav\n" "OK2BJJ\tJan\n" "OK2BJK\tJaroslav\n" "OK2BJM\tJosef\n" "OK2BJQ\tRostislav\n" "OK2BJR\tMiloslav\n" "OK2BJS\tJaromir\n" "OK2BJ\tSlavomir\n" "OK2BJT\tStefan\n" "OK2BJW\tJaroslav\n" "OK2BJX\tJan\n" "OK2BKA\tCestmir\n" "OK2BKE\tJiri\n" "OK2BKF\tMiloslav\n" "OK2BKJ\tJosef\n" "OK2BK\tJosef\n" "OK2BKK\tBohuslav\n" "OK2BKL\tMiroslav\n" "OK2BKN\tVladimir\n" "OK2BKP\tAntonin\n" "OK2BKQ\tJan\n" "OK2BKU\tOndrej\n" "OK2BLB\tJosef\n" "OK2BL\tBohumil\n" "OK2BLD\tLadislav\n" "OK2BLH\tKarel\n" "OK2BLO\tJosef\n" "OK2BLR\tLadislav\n" "OK2BLS\tZdenek\n" "OK2BMA\tPavel\n" "OK2BMC\tMilan\n" "OK2BMD\tLidmila\n" "OK2BME\tPavel\n" "OK2BMI\tMilan\n" "OK2BMJ\tMilan\n" "OK2BMU\tIvan\n" "OK2BMV\tMarek\n" "OK2BMZ\tZdenka\n" "OK2BNA\tMagda\n" "OK2BNC\tJiri\n" "OK2BND\tJan\n" "OK2BNF\tStanislav\n" "OK2BNG\tJan\n" "OK2BNP\tJaroslav\n" "OK2BNT\tLadislav\n" "OK2BN\tVladimir\n" "OK2BOB\tBohumil\n" "OK2BOF\tEdvard\n" "OK2BOG\tLadislav\n" "OK2BON\tStepan\n" "OK2BOR\tFrantisek\n" "OK2BOS\tKarel\n" "OK2BOV\tRudolf\n" "OK2BOZ\tOndrej\n" "OK2BPA\tMiroslav\n" "OK2BPB\tVit\n" "OK2BPG\tJosef\n" "OK2BPH\tZdenek\n" "OK2BPI\tJaroslav\n" "OK2BPK\tJosef\n" "OK2BPL\tMichal\n" "OK2BPN\tJaroslav\n" "OK2BPR\tEduard\n" "OK2BPV\tStanislav\n" "OK2BPW\tSvatomir\n" "OK2BPX\tAntonin\n" "OK2BQC\tJaroslav\n" "OK2BQ\tFrantisek\n" "OK2BQM\tStanislav\n" "OK2BQR\tFrantisek\n" "OK2BQU\tEmil\n" "OK2BQY\tJiri\n" "OK2BQZ\tJaroslav\n" "OK2BRA\tKarel\n" "OK2BRD\tJiri\n" "OK2BRJ\tPetr\n" "OK2BRO\tLudek\n" "OK2BRQ\tIvan\n" "OK2BRS\tIvan\n" "OK2BRV\tVaclav\n" "OK2BRW\tDalibor\n" "OK2BRX\tVojtech\n" "OK2BRY\tMilos\n" "OK2BRZ\tPavel\n" "OK2BSB\tAdolf\n" "OK2BS\tBohuslav\n" "OK2BSE\tMilan\n" "OK2BSH\tMiroslav\n" "OK2BSK\tMilan\n" "OK2BSL\tLadislav\n" "OK2BSN\tDalibor\n" "OK2BSO\tPetr\n" "OK2BSP\tJaroslav\n" "OK2BSQ\tJaroslav\n" "OK2BST\tDusan\n" "OK2BSV\tLadislav\n" "OK2BSY\tPetr\n" "OK2BTA\tOldrich\n" "OK2BTB\tMiroslav\n" "OK2BTC\tJaroslav\n" "OK2BTE\tAlois\n" "OK2BTI\tJaroslav\n" "OK2BTJ\tMiroslav\n" "OK2BTK\tPetr\n" "OK2BTQ\tJan\n" "OK2BTR\tOldrich\n" "OK2BTS\tJosef\n" "OK2BTT\tFrantisek\n" "OK2BTU\tKarel\n" "OK2BTY\tJiri\n" "OK2BTZ\tAntonin\n" "OK2BUB\tMiroslav\n" "OK2BUD\tAlois\n" "OK2BUE\tJosef\n" "OK2BUH\tMiroslav\n" "OK2BUN\tMilan\n" "OK2BUP\tJaroslav\n" "OK2BU\tRadek\n" "OK2BUS\tJaroslav\n" "OK2BUT\tJan\n" "OK2BUX\tStanislav\n" "OK2BUZ\tFrantisek\n" "OK2BVA\tIvan\n" "OK2BVB\tMilan\n" "OK2BVC\tJan\n" "OK2BVE\tJosef\n" "OK2BVF\tKarel\n" "OK2BVS\tJirina\n" "OK2BVT\tPetr\n" "OK2BVY\tVaclav\n" "OK2BWC\tZdenek\n" "OK2BWJ\tPetr\n" "OK2BWK\tLeopold\n" "OK2BWM\tVlastimil\n" "OK2BWQ\tLadislav\n" "OK2BWR\tLadislav\n" "OK2BWT\tJaroslav\n" "OK2BWU\tSvatoslav\n" "OK2BWZ\tHelena\n" "OK2BXA\tJosef\n" "OK2BXE\tDrahomir\n" "OK2BXF\tMichal\n" "OK2BXG\tPetr\n" "OK2BXI\tPavel\n" "OK2BXM\tMiroslav\n" "OK2BXU\tDaniel\n" "OK2BXW\tJaromir\n" "OK2BX\tZdenek\n" "OK2BXZ\tPetr\n" "OK2BYH\tRoman\n" "OK2BYW\tMilan\n" "OK2BZE\tMilan\n" "OK2BZ\tJosef\n" "OK2BZM\tZdenek\n" "OK2BZQ\tMartin\n" "OK2BZW\tKarel\n" "OK2BZY\tJosef\n" "OK2BZZ\tMilada\n" "OK2CDI\tVaclav\n" "OK2CD\tMilan\n" "OK2CDR\tJan\n" "OK2CEU\tBozena\n" "OK2CFM\tMartin\n" "OK2CJM\tMarie\n" "OK2CKC\tJindrich\n" "OK2CKJ\tJosef\n" "OK2CL\tAlois\n" "OK2CLL\tKarel\n" "OK2CLW\tMilan\n" "OK2CME\tCestmir\n" "OK2CMW\tMilan\n" "OK2CMX\tOndrej\n" "OK2CMZ\tMartin\n" "OK2CNI\tPavel\n" "OK2COD\tMarian\n" "OK2COS\tOldrich\n" "OK2CPD\tJosef\n" "OK2CPG\tPavel\n" "OK2CPV\tPetr\n" "OK2CQR\tPetr\n" "OK2CRB\tRadomir\n" "OK2CRK\tRadoslav\n" "OK2CR\tRoman\n" "OK2CRT\tPetr\n" "OK2CSU\tMarian\n" "OK2CTS\tJaromir\n" "OK2CVA\tAntonin\n" "OK2CVH\tVladimir\n" "OK2CV\tVladimir\n" "OK2DAB\tJiri\n" "OK2DAJ\tJiri\n" "OK2DAN\tMiroslav\n" "OK2DAS\tKarel\n" "OK2DA\tZdenek\n" "OK2DCL\tOtto\n" "OK2DC\tZdenek\n" "OK2DDS\tDavid\n" "OK2DE\tJiri\n" "OK2DEY\tBronislav\n" "OK2DGB\tVladimir\n" "OK2DGF\tJosef\n" "OK2DGG\tJitka\n" "OK2DJD\tJiri\n" "OK2DJ\tMichal\n" "OK2DL\tMarek\n" "OK2DRK\tRudolf\n" "OK2DRL\tJan\n" "OK2DTF\tDrahomir\n" "OK2DTI\tProkop\n" "OK2DUS\tDusan\n" "OK2DV\tDalibor\n" "OK2DVS\tVilem\n" "OK2DW\tAntonin\n" "OK2DX\tPavel\n" "OK2EAM\tMichal\n" "OK2EA\tVitezslav\n" "OK2EC\tStepan\n" "OK2EE\tMartin\n" "OK2EI\tJaroslav\n" "OK2EK\tEmil\n" "OK2EMH\tVitezslav\n" "OK2ER\tOldrich\n" "OK2EW\tJiri\n" "OK2EZ\tMartin\n" "OK2FA\tPetr\n" "OK2FB\tPavel\n" "OK2FBY\tMiroslav\n" "OK2FC\tAlexandr\n" "OK2FEI\tPetr\n" "OK2FF\tFrantisek\n" "OK2FH\tFrantisek\n" "OK2FJ\tFrantisek\n" "OK2FJI\tJiri\n" "OK2FKC\tLubos\n" "OK2FKF\tMartin\n" "OK2FLI\tFrantisek\n" "OK2FM\tFrantisek\n" "OK2FPN\tPetr\n" "OK2FR\tPavel\n" "OK2FRP\tPavel\n" "OK2FSC\tCestmir\n" "OK2FSE\tFrantisek\n" "OK2FUG\tMiroslav\n" "OK2FYM\tLadislav\n" "OK2GA\tStepan\n" "OK2GD\tTomas\n" "OK2GG\tJaroslav\n" "OK2GJ\tVladimir\n" "OK2GL\tVincenc\n" "OK2GM\tMartin\n" "OK2GPS\tJaroslav\n" "OK2GQG\tJitka\n" "OK2GTI\tDavid\n" "OK2GU\tAugustin\n" "OK2GX\tStanislav\n" "OK2HAD\tFrantisek\n" "OK2HAP\tMilan\n" "OK2HAZ\tMichal\n" "OK2HBF\tJiri\n" "OK2HBR\tZdenek\n" "OK2HBY\tKamil\n" "OK2HDL\tAntonin\n" "OK2HDQ\tVladimir\n" "OK2HFC\tStanislav\n" "OK2HF\tPetr\n" "OK2HHF\tFrantisek\n" "OK2HH\tJakub\n" "OK2HIJ\tJiri\n" "OK2HI\tKarel\n" "OK2HJ\tJaroslav\n" "OK2HJJ\tJaroslav\n" "OK2HJL\tJan\n" "OK2HJO\tJosef\n" "OK2HJS\tJiri\n" "OK2HKP\tIvan\n" "OK2HL\tJan\n" "OK2HME\tBohumil\n" "OK2HMF\tMilan\n" "OK2HM\tMilan\n" "OK2HMS\tMilan\n" "OK2HPA\tPetr\n" "OK2HPH\tVladimir\n" "OK2HPI\tPavel\n" "OK2HRL\tLukas\n" "OK2HSB\tSvatohor\n" "OK2HSR\tRobert\n" "OK2HWP\tMilan\n" "OK2HW\tVladimir\n" "OK2HY\tJiri\n" "OK2HZ\tJaromir\n" "OK2CHB\tHugo\n" "OK2CHI\tLenka\n" "OK2CHO\tPetr\n" "OK2IAW\tJosef\n" "OK2IBS\tVladimir\n" "OK2IBT\tPetr\n" "OK2ICF\tKvetoslava\n" "OK2ICP\tPetr\n" "OK2IDB\tMartin\n" "OK2ID\tTomas\n" "OK2IDW\tDrahoslav\n" "OK2IEA\tPetr\n" "OK2IEN\tLudek\n" "OK2IGG\tMichal\n" "OK2IGL\tVojtech\n" "OK2IJF\tJiri\n" "OK2IJH\tJaroslav\n" "OK2IJL\tJiri\n" "OK2IKL\tLadislav\n" "OK2IKY\tJaromir\n" "OK2ILA\tJan\n" "OK2ILD\tZbynek\n" "OK2IL\tHubert\n" "OK2IMH\tMilan\n" "OK2IM\tMartin\n" "OK2IMO\tJarmil\n" "OK2INI\tMartina\n" "OK2INW\tVitezslav\n" "OK2IOV\tVladimir\n" "OK2IOZ\tZbynek\n" "OK2IPL\tLadislav\n" "OK2IPP\tPavel\n" "OK2IPW\tAdam\n" "OK2IPZ\tPetr\n" "OK2IQT\tVladimir\n" "OK2IRE\tMiroslav\n" "OK2IRO\tPavel\n" "OK2ISI\tVera\n" "OK2ITI\tMichaela\n" "OK2IUH\tZdenek\n" "OK2IVB\tJiri\n" "OK2IVK\tKarel\n" "OK2IWO\tIvo\n" "OK2IWU\tIvana\n" "OK2IXO\tOldrich\n" "OK2IZJ\tJan\n" "OK2JAF\tFrantisek\n" "OK2JAJ\tAntonin\n" "OK2JA\tVaclav\n" "OK2JBC\tMarie\n" "OK2JBI\tJaromir\n" "OK2JC\tJan\n" "OK2JCJ\tJaroslav\n" "OK2JDH\tDalibor\n" "OK2JES\tJan\n" "OK2JEW\tVlastimil\n" "OK2JEY\tJiri\n" "OK2JFS\tFrantisek\n" "OK2JGD\tJan\n" "OK2JGF\tJan\n" "OK2JGI\tJan\n" "OK2JGK\tJaroslav\n" "OK2JHG\tJiri\n" "OK2JHJ\tJaroslav\n" "OK2JHR\tJaromir\n" "OK2JI\tJaroslav\n" "OK2JIQ\tJiri\n" "OK2JJA\tJan\n" "OK2JJQ\tMarek\n" "OK2JK\tJan\n" "OK2JKN\tPremysl\n" "OK2JKO\tJan\n" "OK2JKQ\tPetr\n" "OK2JMA\tKarel\n" "OK2JML\tLubomir\n" "OK2JNB\tJaroslav\n" "OK2JO\tJiri\n" "OK2JOV\tJaroslava\n" "OK2JOW\tJiri\n" "OK2JOZ\tEmil\n" "OK2JPF\tFrantiska\n" "OK2JP\tJindrich\n" "OK2JQR\tFrantisek\n" "OK2JRQ\tJaroslav\n" "OK2JS\tJan\n" "OK2JSO\tJan\n" "OK2JSY\tJarda\n" "OK2JTF\tJiri\n" "OK2JT\tJiri\n" "OK2JUA\tAntonin\n" "OK2JUB\tJaromir\n" "OK2JU\tJaroslav\n" "OK2JV\tJirka\n" "OK2JZR\tJindrich\n" "OK2JZZ\tZdenek\n" "OK2KE\tJaroslav\n" "OK2KFU\tJosef\n" "OK2KG\tJiri\n" "OK2KH\tKatka\n" "OK2KJ\tJosef\n" "OK2KOV\tPalackeho\n" "OK2KP\tJiri\n" "OK2KR\tStanislav\n" "OK2KV\tVladimir\n" "OK2KY\tFrantisek\n" "OK2LA\tJindrich\n" "OK2LC\tLubomir\n" "OK2LDH\tLudvik\n" "OK2LET\tVitezslav\n" "OK2LF\tFrantisek\n" "OK2LI\tJiri\n" "OK2LMJ\tMilos\n" "OK2LMK\tLubomir\n" "OK2LM\tMiroslav\n" "OK2LMX\tMiroslav\n" "OK2LS\tFrantisek\n" "OK2LST\tLubomir\n" "OK2LT\tLubomir\n" "OK2LW\tJosef\n" "OK2LZ\tVladimir\n" "OK2MAJ\tJana\n" "OK2MA\tMarcel\n" "OK2MAP\tDalibor\n" "OK2MBN\tBohumir\n" "OK2MBO\tZdenek\n" "OK2MBP\tJiri\n" "OK2MCD\tPavel\n" "OK2MCJ\tRadmila\n" "OK2MCL\tLukas\n" "OK2MCT\tMiroslav\n" "OK2MDI\tMilan\n" "OK2MDK\tMiroslav\n" "OK2MDQ\tMilan\n" "OK2MDU\tBohumil\n" "OK2MED\tPetr\n" "OK2MEU\tMiroslav\n" "OK2ME\tZdenek\n" "OK2MEZ\tPavel\n" "OK2MFA\tLubomir\n" "OK2MGB\tJan\n" "OK2MG\tMiroslav\n" "OK2MHS\tStanislav\n" "OK2MI\tAlexandr\n" "OK2MIC\tJiri\n" "OK2MIG\tMilan\n" "OK2MII\tBretislav\n" "OK2MIT\tPetr\n" "OK2MJF\tMichal\n" "OK2MJI\tMilan\n" "OK2MJY\tJiri\n" "OK2MKS\tMichal\n" "OK2ML\tMilos\n" "OK2MMD\tDavid\n" "OK2MMG\tMilos\n" "OK2MMQ\tJindrich\n" "OK2MMV\tMarie\n" "OK2MND\tKaterina\n" "OK2MNM\tMartin\n" "OK2MOA\tJan\n" "OK2MO\tMarcel\n" "OK2MOO\tMiroslav\n" "OK2MPB\tPetr\n" "OK2MRJ\tAles\n" "OK2MR\tMartin\n" "OK2MRP\tAdam\n" "OK2MRT\tPetr\n" "OK2MSS\tKarel\n" "OK2MSW\tZdenek\n" "OK2MTM\tTomas\n" "OK2MTV\tVladimir\n" "OK2MTW\tMartin\n" "OK2MUF\tMichal\n" "OK2MV\tMarek\n" "OK2MVZ\tVadim\n" "OK2MWK\tKarel\n" "OK2MXL\tJaroslav\n" "OK2MZL\tMartin\n" "OK2MZR\tMilan\n" "OK2NAJ\tJiri\n" "OK2NA\tPavel\n" "OK2NB\tPetr\n" "OK2NCA\tAdam\n" "OK2NCZ\tZdenek\n" "OK2NDT\tStanislav\n" "OK2NET\tPetr\n" "OK2NID\tMiroslav\n" "OK2NJE\tEduard\n" "OK2NMA\tRadek\n" "OK2NM\tZdenek\n" "OK2NMZ\tMarek\n" "OK2NO\tJaroslav\n" "OK2NPN\tPetr\n" "OK2NTA\tRoman\n" "OK2NZ\tZdenek\n" "OK2OG\tJaroslav\n" "OK2OJ\tJiri\n" "OK2ON\tRadek\n" "OK2OP\tJiri\n" "OK2OR\tRudolf\n" "OK2OT\tJaromir\n" "OK2OU\tArnost\n" "OK2PAD\tZdenek\n" "OK2PA\tJanus\n" "OK2PAJ\tVladimir\n" "OK2PAK\tVladimir\n" "OK2PAL\tPavel\n" "OK2PAS\tJosef\n" "OK2PAU\tPavel\n" "OK2PAV\tPavel\n" "OK2PAX\tJaroslav\n" "OK2PBF\tMiloslav\n" "OK2PBG\tLadislav\n" "OK2PBH\tLadislav\n" "OK2PBK\tRadomir\n" "OK2PBL\tJiri\n" "OK2PBR\tVilibald\n" "OK2PBS\tMartin\n" "OK2PBT\tVaclav\n" "OK2PBV\tBretislav\n" "OK2PBW\tPetr\n" "OK2PCE\tJan\n" "OK2PCL\tRudolf\n" "OK2PCS\tFrantisek\n" "OK2PCU\tJaroslav\n" "OK2PCY\tJosef\n" "OK2PDB\tPavel\n" "OK2PDC\tJosef\n" "OK2PDE\tJiri\n" "OK2PDH\tKarel\n" "OK2PDK\tJan\n" "OK2PDN\tJosef\n" "OK2PDU\tJosef\n" "OK2PDW\tJan\n" "OK2PDY\tFrantisek\n" "OK2PEB\tEduard\n" "OK2PEC\tJaroslav\n" "OK2PE\tKarel\n" "OK2PEM\tJiri\n" "OK2PER\tJosef\n" "OK2PES\tVasek\n" "OK2PET\tPetr\n" "OK2PEX\tAntonin\n" "OK2PEY\tMilos\n" "OK2PEZ\tJan\n" "OK2PFA\tBohumil\n" "OK2PFY\tJiri\n" "OK2PGJ\tJiri\n" "OK2PGT\tAntonin\n" "OK2PHC\tZdenek\n" "OK2PHI\tAlois\n" "OK2PHK\tPeter\n" "OK2PHQ\tJan\n" "OK2PIC\tOldrich\n" "OK2PIM\tDalibor\n" "OK2PIP\tPavel\n" "OK2PIR\tJiri\n" "OK2PIW\tVasil\n" "OK2PIX\tRadek\n" "OK2PJE\tKarel\n" "OK2PJF\tFrantisek\n" "OK2PJH\tJan\n" "OK2PJ\tJan\n" "OK2PJJ\tJan\n" "OK2PJM\tJakub\n" "OK2PJO\tJosef\n" "OK2PJT\tMichal\n" "OK2PJW\tLadislav\n" "OK2PKD\tLudek\n" "OK2PKH\tBretislav\n" "OK2PK\tJosef\n" "OK2PKL\tAntonin\n" "OK2PKM\tLibor\n" "OK2PKO\tVlastimil\n" "OK2PKS\tGunter\n" "OK2PKT\tRoman\n" "OK2PKX\tPavel\n" "OK2PKY\tJiri\n" "OK2PLD\tVladimir\n" "OK2PLH\tZdenka\n" "OK2PLI\tJitka\n" "OK2PLK\tLudek\n" "OK2PLL\tLev\n" "OK2PLV\tLeo\n" "OK2PMA\tPavel\n" "OK2PMF\tMilan\n" "OK2PMG\tMiloslav\n" "OK2PM\tKarel\n" "OK2PMP\tMilan\n" "OK2PMR\tJiri\n" "OK2PMS\tJiri\n" "OK2PMT\tPetr\n" "OK2PMV\tVaclav\n" "OK2PMX\tPetr\n" "OK2PNQ\tTomas\n" "OK2POB\tMartin\n" "OK2POE\tPetr\n" "OK2POH\tOldrich\n" "OK2POI\tJiri\n" "OK2PO\tJosef\n" "OK2PPH\tPetr\n" "OK2PPK\tPavel\n" "OK2PPM\tPetr\n" "OK2PPP\tVladimir\n" "OK2PQH\tVlastislav\n" "OK2PQP\tRene\n" "OK2PQS\tRobert\n" "OK2PRF\tJaroslav\n" "OK2PRM\tRudolf\n" "OK2PRP\tPetr\n" "OK2PRQ\tBohumil\n" "OK2PRW\tRadim\n" "OK2PSA\tPavel\n" "OK2PSB\tPetr\n" "OK2PSC\tSlavomir\n" "OK2PSE\tPavel\n" "OK2PSJ\tJan\n" "OK2PS\tPavel\n" "OK2PST\tJosef\n" "OK2PSV\tStanislav\n" "OK2PTA\tOndrej\n" "OK2PTC\tLibor\n" "OK2PTD\tPetr\n" "OK2PTH\tMiroslav\n" "OK2PTJ\tJaroslav\n" "OK2PTK\tMilos\n" "OK2PTL\tLudvik\n" "OK2PTM\tAntonin\n" "OK2PTP\tVratislav\n" "OK2PTS\tVaclav\n" "OK2PTT\tJan\n" "OK2PTU\tZdenek\n" "OK2PTZ\tTomas\n" "OK2PUH\tPremysl\n" "OK2PUX\tZdenek\n" "OK2PVC\tJan\n" "OK2PVD\tKarel\n" "OK2PVF\tRostislav\n" "OK2PVG\tVitezslav\n" "OK2PVH\tMiroslav\n" "OK2PV\tJosef\n" "OK2PVL\tPavel\n" "OK2PVO\tVladislav\n" "OK2PVS\tVlastimil\n" "OK2PVZ\tPavel\n" "OK2PWA\tPetr\n" "OK2PWB\tVaclav\n" "OK2PWD\tJosef\n" "OK2PWJ\tPetr\n" "OK2PWL\tKarel\n" "OK2PWM\tPremysl\n" "OK2PWX\tJaroslav\n" "OK2PX\tAlois\n" "OK2PXD\tZdenek\n" "OK2PXW\tRadek\n" "OK2PXX\tOtakar\n" "OK2PYA\tRobert\n" "OK2PYD\tFrantisek\n" "OK2PYL\tJaroslava\n" "OK2PZF\tZdenek\n" "OK2PZL\tPetr\n" "OK2PZO\tVladimir\n" "OK2PZ\tVojtech\n" "OK2QA\tRudolf\n" "OK2QX\tJiri\n" "OK2RA\tRadek\n" "OK2RF\tRene\n" "OK2RI\tJiri\n" "OK2RL\tRichard\n" "OK2RN\tLeo\n" "OK2RPA\tERA a.s.\n" "OK2RP\tRoman\n" "OK2RS\tRudolf\n" "OK2RU\tRaimund\n" "OK2RX\tVladimir\n" "OK2RZ\tJiri\n" "OK2SAD\tMilan\n" "OK2SAI\tHenryk\n" "OK2SA\tJosef\n" "OK2SAQ\tJaroslav\n" "OK2SAR\tMiroslav\n" "OK2SAU\tJaroslav\n" "OK2SBX\tJitka\n" "OK2SCS\tKarel\n" "OK2SDH\tDagmar\n" "OK2SDX\tFrantisek\n" "OK2SET\tEmil\n" "OK2SEV\tMilan\n" "OK2SFI\tJosef\n" "OK2SFO\tFrantisek\n" "OK2SFP\tJaroslav\n" "OK2SGC\tJiri\n" "OK2SG\tStanislav\n" "OK2SGW\tZdenek\n" "OK2SHB\tHugo\n" "OK2SHH\tStepan\n" "OK2SIA\tMiroslav\n" "OK2SIG\tOndrej\n" "OK2SI\tJaroslav\n" "OK2SIN\tJaromir\n" "OK2SIR\tIvo\n" "OK2SJC\tJosef\n" "OK2SJF\tMarek\n" "OK2SJI\tJiri\n" "OK2SJ\tJiri\n" "OK2SJJ\tJaroslav\n" "OK2SJK\tKarel\n" "OK2SJP\tPavel\n" "OK2SJS\tJan\n" "OK2SK\tFrantisek\n" "OK2SKI\tRostislav\n" "OK2SKO\tOto\n" "OK2SKP\tPetr\n" "OK2SKT\tJiri\n" "OK2SLC\tJaroslav\n" "OK2SLJ\tJozef\n" "OK2SLS\tKarel\n" "OK2SMA\tLudvik\n" "OK2SMI\tJosef\n" "OK2SMK\tEduard\n" "OK2SML\tLubomir\n" "OK2SMS\tBohumil\n" "OK2SND\tHana\n" "OK2SO\tMiloslav\n" "OK2SON\tOndrej\n" "OK2SPA\tAntonin\n" "OK2SPD\tPetr\n" "OK2SPE\tStefan\n" "OK2SPO\tJan\n" "OK2SPQ\tPetr\n" "OK2SPS\tPetr\n" "OK2SPW\tStanislav\n" "OK2SPZ\tJosef\n" "OK2SQR\tEduard\n" "OK2SRI\tRadek\n" "OK2SRO\tJan\n" "OK2SR\tRudolf\n" "OK2SSD\tJosef\n" "OK2SS\tJiri\n" "OK2SSJ\tJiri\n" "OK2STA\tAntonin\n" "OK2STD\tJan\n" "OK2STF\tJiri\n" "OK2STH\tTomas\n" "OK2STK\tJosef\n" "OK2STM\tMilan\n" "OK2STP\tJaroslav\n" "OK2STV\tPetr\n" "OK2SUA\tKarel\n" "OK2SU\tFrantisek\n" "OK2SUP\tJosef\n" "OK2SV\tJosef\n" "OK2SVL\tJaroslav\n" "OK2SVM\tStanislav\n" "OK2SVO\tOldrich\n" "OK2SVP\tVaclav\n" "OK2SWD\tDusan\n" "OK2SY\tMiroslav\n" "OK2SYS\tJosef\n" "OK2SYZ\tJan\n" "OK2SZD\tZbynek\n" "OK2SZL\tSvatopluk\n" "OK2SZ\tZdenek\n" "OK2TAB\tJosef\n" "OK2TAJ\tAlois\n" "OK2TAP\tRadek\n" "OK2TAR\tViktor\n" "OK2TAS\tPavel\n" "OK2TB\tBedrich\n" "OK2TBC\tKamil\n" "OK2TBE\tTomas\n" "OK2TBS\tLucie\n" "OK2TCJ\tJan\n" "OK2TCS\tAles\n" "OK2TC\tStanislav\n" "OK2TCW\tTomas\n" "OK2TDM\tMilan\n" "OK2TDR\tRichard\n" "OK2TEJ\tRadim\n" "OK2TEL\tJiri\n" "OK2TEO\tRostislav\n" "OK2TFO\tFrantisek\n" "OK2TGE\tTomas\n" "OK2TGM\tTomas\n" "OK2TIH\tVeronika\n" "OK2TIQ\tOldrich\n" "OK2TIT\tPetr\n" "OK2TJG\tJindrich\n" "OK2TJL\tJiri\n" "OK2TJS\tJosef\n" "OK2TKE\tBohumir\n" "OK2TKM\tTomas\n" "OK2TM\tMiroslav\n" "OK2TMO\tMilan\n" "OK2TN\tMiroslav\n" "OK2TOD\tOldrich\n" "OK2TOP\tOndrej\n" "OK2TOR\tPremysl\n" "OK2TPQ\tTomas\n" "OK2TPS\tVlastimil\n" "OK2TPU\tPetr\n" "OK2TQA\tPetr\n" "OK2TQI\tJosef\n" "OK2TRN\tPavel\n" "OK2TRV\tRadovan\n" "OK2TRW\tJiri\n" "OK2TRZ\tRadomir\n" "OK2TSE\tMilan\n" "OK2TSF\tTomas\n" "OK2TS\tJaroslav\n" "OK2TSL\tLubomir\n" "OK2TSN\tJiri\n" "OK2TSV\tLadislav\n" "OK2TT\tJan\n" "OK2TUH\tJiri\n" "OK2TWM\tMartin\n" "OK2UA\tJaroslava\n" "OK2UBW\tPavel\n" "OK2UCB\tKarel\n" "OK2UCC\tJiri\n" "OK2UCQ\tMilan\n" "OK2UDE\tJan\n" "OK2UDP\tBohumil\n" "OK2UEV\tMiroslav\n" "OK2UFB\tRostislav\n" "OK2UFJ\tMiroslav\n" "OK2UFO\tJan\n" "OK2UFT\tPavel\n" "OK2UFU\tVladimir\n" "OK2UFX\tJosef\n" "OK2UFY\tJan\n" "OK2UGG\tJiri\n" "OK2UGS\tMiroslav\n" "OK2UHF\tZdenek\n" "OK2UHG\tMiroslav\n" "OK2UHN\tLeos\n" "OK2UHP\tPetr\n" "OK2UIN\tJosef\n" "OK2UIZ\tIvo\n" "OK2UJC\tJan\n" "OK2UJS\tJosef\n" "OK2UKG\tRoman\n" "OK2UKQ\tPetr\n" "OK2ULP\tLadislav\n" "OK2ULQ\tPetr\n" "OK2UMD\tKarel\n" "OK2UM\tJiri\n" "OK2UMM\tMiroslav\n" "OK2UMP\tMartin\n" "OK2UNM\tMieczyslaw\n" "OK2UNS\tMiloslav\n" "OK2UOK\tVladimir\n" "OK2UPG\tJaroslav\n" "OK2UPJ\tPetr\n" "OK2UPP\tPetr\n" "OK2UQ\tEmil\n" "OK2UQF\tKarel\n" "OK2UQL\tGabriel\n" "OK2UQQ\tRadek\n" "OK2URD\tVladimir\n" "OK2URF\tJaroslav\n" "OK2UR\tMilan\n" "OK2USG\tMilan\n" "OK2USM\tMiroslav\n" "OK2UVR\tRadek\n" "OK2UVX\tOldrich\n" "OK2UWD\tEmil\n" "OK2UWH\tKarel\n" "OK2UWJ\tJosef\n" "OK2UWQ\tRobert\n" "OK2UXO\tVladimir\n" "OK2UYG\tKarel\n" "OK2UYU\tJaromir\n" "OK2UYZ\tMiroslav\n" "OK2UZD\tZdenek\n" "OK2UZ\tJindrich\n" "OK2UZL\tLudek\n" "OK2UZS\tZdenek\n" "OK2UZX\tJosef\n" "OK2VA\tMiloslav\n" "OK2VAS\tVaclav\n" "OK2VAZ\tOskar\n" "OK2VBZ\tRadek\n" "OK2VCR\tZdenek\n" "OK2VCT\tJiri\n" "OK2VED\tOldrich\n" "OK2VF\tFrantisek\n" "OK2VFR\tPetr\n" "OK2VGC\tMiloslav\n" "OK2VGD\tVladimir\n" "OK2VGZ\tJiri\n" "OK2VJD\tTomas\n" "OK2VJQ\tJosef\n" "OK2VKF\tJaroslav\n" "OK2VK\tFrantisek\n" "OK2VKK\tKarel\n" "OK2VLJ\tRudolf\n" "OK2VLT\tJaroslav\n" "OK2VLY\tMartin\n" "OK2VMC\tAntonin\n" "OK2VMG\tJiri\n" "OK2VMJ\tZdenek\n" "OK2VNA\tRostislav\n" "OK2VNC\tIvo\n" "OK2VND\tLudvik\n" "OK2VNO\tVladimir\n" "OK2VNQ\tLudek\n" "OK2VN\tVladimir\n" "OK2VOB\tOskar\n" "OK2VOM\tJiri\n" "OK2VOP\tPetr\n" "OK2VPA\tVlastimil\n" "OK2VPI\tJosef\n" "OK2VPX\tJan\n" "OK2VQF\tPeter\n" "OK2VQG\tJosef\n" "OK2VSF\tFerdinand\n" "OK2VSJ\tJosef\n" "OK2VSO\tOldrich\n" "OK2VSU\tVaclav\n" "OK2VTD\tJosef\n" "OK2VTZ\tDanuse\n" "OK2VUH\tJosef\n" "OK2VVN\tVilem\n" "OK2VWB\tWieslaw\n" "OK2VWE\tTomas\n" "OK2VWF\tMilan\n" "OK2VWM\tMilan\n" "OK2VWX\tIvo\n" "OK2VXH\tJindrich\n" "OK2VXJ\tVlastimil\n" "OK2VX\tLadislav\n" "OK2VXL\tJan\n" "OK2VXV\tBohuslav\n" "OK2VYG\tAlexandr\n" "OK2VYJ\tAntonin\n" "OK2VYM\tRadomir\n" "OK2VZE\tMiroslav\n" "OK2VZF\tPetr\n" "OK2VZK\tVlastimil\n" "OK2VZ\tVeronika\n" "OK2WAZ\tDominik\n" "OK2WB\tJan\n" "OK2WDA\tIvana\n" "OK2WD\tEmil\n" "OK2WDT\tLukas\n" "OK2WED\tPetr\n" "OK2WF\tFrantisek\n" "OK2WFW\tKarel\n" "OK2WGR\tPetr\n" "OK2WHG\tViktor\n" "OK2WHT\tStanislav\n" "OK2WH\tVit\n" "OK2WHV\tVaclav\n" "OK2WID\tZdenek\n" "OK2WI\tNevenka\n" "OK2WK\tAntonin\n" "OK2WKF\tVera\n" "OK2WKM\tMilan\n" "OK2WKW\tKarel\n" "OK2WMC\tMichal\n" "OK2WM\tKarel\n" "OK2WMW\tRadek\n" "OK2WN\tIvan\n" "OK2WNR\tRichard\n" "OK2WO\tJosef\n" "OK2WPA\tAntonin\n" "OK2WTF\tPetr\n" "OK2WTM\tPetr\n" "OK2WTT\tJiri\n" "OK2WTW\tPavel\n" "OK2WVH\tVaclav\n" "OK2WW\tBernard\n" "OK2WWW\tOndrej\n" "OK2WX\tVladimir\n" "OK2WXZ\tVaclav\n" "OK2WY\tJiri\n" "OK2WYK\tMartin\n" "OK2WZN\tRostislav\n" "OK2XAF\tJaroslav\n" "OK2XAG\tRudolf\n" "OK2XAP\tAntonin\n" "OK2XAS\tAlois\n" "OK2XCG\tWladyslaw\n" "OK2XCO\tBorivoj\n" "OK2XDU\tJiri\n" "OK2XFR\tFelix\n" "OK2XFU\tMilan\n" "OK2XHK\tKarel\n" "OK2XHR\tJaroslav\n" "OK2XID\tKarel\n" "OK2XIT\tJan\n" "OK2XKM\tMagda\n" "OK2XLB\tMarian\n" "OK2XMM\tMiroslav\n" "OK2XMT\tMilan\n" "OK2XMW\tRadim\n" "OK2XQG\tLudmila\n" "OK2XRW\tRichard\n" "OK2XSZ\tZdenek\n" "OK2XTJ\tJan\n" "OK2XUM\tMilan\n" "OK2XVM\tVladimir\n" "OK2XVX\tVladimir\n" "OK2XWH\tMartin\n" "OK2XYN\tAles\n" "OK2XY\tPavel\n" "OK2XZ\tDusan\n" "OK2YJ\tJaroslav\n" "OK2YN\tJosef\n" "OK2YP\tVaclav\n" "OK2YT\tRadek\n" "OK2YZ\tJaroslav\n" "OK2ZAA\tZdenek\n" "OK2ZAE\tJan\n" "OK2ZAK\tAntonin\n" "OK2ZAR\tPetr\n" "OK2ZA\tRudlof\n" "OK2ZAW\tJan\n" "OK2ZAZ\tJiri\n" "OK2ZBO\tVera\n" "OK2ZB\tZdenek\n" "OK2ZCB\tMartin\n" "OK2ZC\tLudek\n" "OK2ZDL\tJan\n" "OK2ZD\tZbynek\n" "OK2ZEJ\tJakub\n" "OK2ZEL\tEmil\n" "OK2ZEO\tRoman\n" "OK2ZFB\tFilip\n" "OK2ZF\tZdenek\n" "OK2ZI\tKarel\n" "OK2ZIL\tJakub\n" "OK2ZIO\tKarel\n" "OK2ZKO\tZdenek\n" "OK2ZLA\tVladislav\n" "OK2ZLD\tPavel\n" "OK2ZLK\tZbynek\n" "OK2ZMA\tMiroslav\n" "OK2ZMB\tMilan\n" "OK2ZMI\tMiroslav\n" "OK2ZM\tMiroslav\n" "OK2ZNE\tEduard\n" "OK2ZN\tPetr\n" "OK2ZNT\tPetr\n" "OK2ZOW\tZbynek\n" "OK2ZPS\tPavel\n" "OK2ZQ\tAlois\n" "OK2ZR\tPetr\n" "OK2ZS\tJaroslav\n" "OK2ZT\tJan\n" "OK2ZTU\tMartin\n" "OK2ZTV\tJaroslav\n" "OK2ZTW\tRoman\n" "OK2ZU\tVojtech\n" "OK2ZUZ\tMiloslav\n" "OK2ZVN\tLadislav\n" "OK2ZV\tVit\n" "OK2ZW\tZdeno\n" "OK2ZYZ\tPetr\n" "OK2ZZJ\tJosef\n" "OK3AA\tMilan\n" "OK3BR\tBohumil\n" "OK3C\tLudek\n" "OK3CV\tSvatopluk\n" "OK3DHD\tJan\n" "OK3DU\tMilan\n" "OK3FJ\tJiri\n" "OK3JM\tJan\n" "OK3JOZ\tPetr\n" "OK3KLM\tMichal\n" "OK3KT\tKarel\n" "OK3KW\tKarel\n" "OK3MAD\tMartin\n" "OK3MK\tMiroslav\n" "OK3MN\tMilan\n" "OK3MO\tOta\n" "OK3MP\tRichard\n" "OK3MZ\tMiroslav\n" "OK3ON\tOndrej\n" "OK3OPA\tRudolf\n" "OK3PJ\tPetr\n" "OK3PS\tPeter\n" "OK3RM\tZdenek\n" "OK3SJ\tJosef\n" "OK3SM\tOldrich\n" "OK3TT\tTomas\n" "OK3VO\tVojtech\n" "OK3WW\tMilos\n" "OK3YL\tAndrea\n" "OK4AA\tVladimir\n" "OK4AZ\tIvan\n" "OK4BB\tBorivoj\n" "OK4DIG\tJan\n" "OK4DL\tLadislav\n" "OK4DZ\tDavid\n" "OK4FD\tFrantisek\n" "OK4JM\tJosef\n" "OK4JR\tJaroslav\n" "OK4KOP\tDavid\n" "OK4MM\tJaroslav\n" "OK4M\tStanislav\n" "OK4MT\tMilos\n" "OK4NCA\tVaclav\n" "OK4PY\tPavel\n" "OK4PZ\tPetr\n" "OK4RQ\tPavel\n" "OK4SEA\tRobert\n" "OK4TO\tTomas\n" "OK4TP\tTomas\n" "OK4TX\tLukas\n" "OK4VSA\tVit\n" "OK4ZW\tZdenek\n" "OK5AA\tPavel\n" "OK5AB\tFrantisek\n" "OK5AJA\tVojtech\n" "OK5A\tJiri\n" "OK5AMA\tArnold\n" "OK5AR\tMarie\n" "OK5ATY\tJarmila\n" "OK5AW\tMilos\n" "OK5DX\tSlavomir\n" "OK5E\tERA a.s.\n" "OK5EPC\tPavel\n" "OK5ET\tMartin\n" "OK5FS\tFrantisek\n" "OK5IB\tIvan\n" "OK5IM\tJiri\n" "OK5JM\tJaroslav\n" "OK5JP\tJiri\n" "OK5KL\tLubos\n" "OK5KM\tViktor\n" "OK5MAD\tJan\n" "OK5MAX\tAdam\n" "OK5MK\tMartin\n" "OK5MN\tJan\n" "OK5NN\tJiri\n" "OK5OK\tJiri\n" "OK5OM\tOtakar\n" "OK5QZ\tAles\n" "OK5RP\tPetr\n" "OK5RS\tRadek\n" "OK5RV\tJosef\n" "OK5SE\tJirka\n" "OK5TK\tPetr\n" "OK5TR\tMarek\n" "OK5TT\tJan\n" "OK5TVR\tTomas\n" "OK5TX\tJarda\n" "OK5US\tJaromir\n" "OK5WW\tJindrich\n" "OK5XM\tJan\n" "OK5XT\tJiri\n" "OK5YL\tZdenka\n" "OK5YY\tMartin\n" "OK5ZH\tJan\n" "OK5ZS\tZdenek\n" "OK6AB\tRadek\n" "OK6AD\tJosef\n" "OK6AM\tTomas\n" "OK6AR\tZdenka\n" "OK6AZ\tPavel\n" "OK6CPU\tPetr\n" "OK6FK\tFilip\n" "OK6LEO\tLeos\n" "OK6MA\tMarek\n" "OK6MM\tVaclav\n" "OK6PM\tPetr\n" "OK6PS\tPetr\n" "OK6TT\tZdenek\n" "OK6TW\tLibor\n" "OK6VM\tVaclav\n" "OK6WW\tVaclav\n" "OK7AJ\tAntonin\n" "OK7AP\tJiri\n" "OK7AR\tAlena\n" "OK7CM\tAntonin\n" "OK7CW\tJiri\n" "OK7DA\tVladimir\n" "OK7DM\tJiri\n" "OK7DX\tJan\n" "OK7FR\tPavel\n" "OK7FSB\tStanislav\n" "OK7FW\tFranta\n" "OK7GU\tMilan\n" "OK7IS\tIvo\n" "OK7IW\tIva\n" "OK7JP\tJosef\n" "OK7L\tVaclav\n" "OK7LW\tLibor\n" "OK7MD\tMilan\n" "OK7MS\tMartin\n" "OK7MT\tMichal\n" "OK7NV\tJiri\n" "OK7OK\tDarius\n" "OK7PB\tPetr\n" "OK7PM\tPavel\n" "OK7PP\tPavel\n" "OK7PY\tPavel\n" "OK7RA\tJiri\n" "OK7RB\tLudek\n" "OK7RJ\tJiri\n" "OK7RP\tRoman\n" "OK7SE\tMichael\n" "OK7SS\tTomas\n" "OK7ST\tKarel\n" "OK7TC\tJaroslav\n" "OK7VE\tPavel\n" "OK7VV\tBohuslav\n" "OK7WA\tFrantisek\n" "OK7WW\tZdenek\n" "OK8ACS\tTilo\n" "OK8AFF\tJoachim\n" "OK8APJ\tTorsten\n" "OK8AXA\tLibor\n" "OK8CC\tWolf\n" "OK8CS\tKamil\n" "OK8CW\tPavel\n" "OK8DBD\tWolfgang\n" "OK8DD\tRoman\n" "OK8DF\tDietmar\n" "OK8DL\tGerhard\n" "OK8EJT\tDavide\n" "OK8ENK\tJohn\n" "OK8FHP\tZb. Jerzy\n" "OK8GA\tStefan\n" "OK8HA\tMiklos\n" "OK8HIT\tRobert\n" "OK8JV\tJens\n" "OK8LAW\tZdzislaw\n" "OK8LHH\tLucien\n" "OK8MRU\tAndrzey\n" "OK8MSE\tMilutin\n" "OK8OK\tStanislav\n" "OK8PKM\tBoguslaw\n" "OK8RF\tRichard\n" "OK8SAX\tDieter\n" "OK8TNA\tJan\n" "OK8VI\tFrank\n" "OK8XB\tSteve\n" "OK8ZAG\tFerdinand\n" "OK9AMR\tMiroslav\n" "OK9ATD\tJan\n" "OK9BAR\tMartina\n" "OK9BAU\tMiroslav\n" "OK9BVT\tTomas\n" "OK9CPU\tPetr\n" "OK9DAL\tTomas\n" "OK9DAM\tDagmar\n" "OK9DDS\tDavid\n" "OK9DTZ\tDavid\n" "OK9FER\tMiroslav\n" "OK9FFZ\tFrantisek\n" "OK9FMH\tFilip\n" "OK9FSB\tStanislav\n" "OK9GOG\tMartin\n" "OK9HAG\tMarek\n" "OK9HEL\tVaclav\n" "OK9JAR\tJaroslav\n" "OK9JL\tJiri\n" "OK9JLJ\tLudek\n" "OK9KKV\tKarel\n" "OK9MVM\tDaniel\n" "OK9PDK\tJosef\n" "OK9PJE\tKarel\n" "OK9SON\tOndrej\n" "OK9SWL\tMartin\n" "OK9TMZ\tTomas\n" "OK9TVR\tTomas\n" "OK9UKI\tMilan\n" "OK9VCH\tJosef\n" "OK9XPM\tMichal\n" "OK9ZJI\tJakub\n" "OK9ZOB\tLubos\n" "OL0M\tOndrej\n" "OL16B\tKarel\n" "OL5QRP\tJaroslav\n" "OM0ATV\tJano\n" "OM1AKU\tKarol\n" "OM1BM\tMiroslav\n" "OM1DK\tDaniel\n" "OM1PF\tPeter\n" "OM1UW\tRobo\n" "OM2AJK\tJozef\n" "OM2ALD\tPeter\n" "OM2DT\tDusan\n" "OM2IB\tJano\n" "OM2RC\tRoman\n" "OM2RL\tLadislav\n" "OM2YW\tNaty\n" "OM3CLS\tVladimir\n" "OM3CPW\tStanislav\n" "OM3CQF\tDraho\n" "OM3PA\tPeter\n" "OM3RM\tTibor\n" "OM3TGE\tJan\n" "OM3WKX\tMikulas\n" "OM3WMA\tVlado\n" "OM3WOR\tJozef\n" "OM4ADM\tMartin\n" "OM4AJK\tJuro\n" "OM4CW\tVladimir\n" "OM4MX\tMilan\n" "OM5AW\tJozef\n" "OM5MX\tPavel\n" "OM6ABA\tJozef\n" "OM6ABF\tFilip\n" "OM6APR\tRoman\n" "OM6DC\tTomas\n" "OM6TX\tPeter\n" "OM7AC\tIgor\n" "OM7KW\tStevo\n" ; const char txt_tucnakrc[20886] = "# This file is generated automatically. Edit only at your own risk!\n" "\n" "pcall = \"\"\n" "pwwlo = \"\"\n" "pexch = \"\"\n" "operator = \"\"\n" "global_operator = 1\n" "\n" "padr1 = \"\"\n" "padr2 = \"\"\n" "pclub = \"\"\n" "\n" "rname = \"\"\n" "rcall = \"\"\n" "radr1 = \"\"\n" "radr2 = \"\"\n" "rpoco = \"\"\n" "rcity = \"\"\n" "rcoun = \"\"\n" "rphon = \"\"\n" "rhbbs = \"\"\n" "\n" "default_rs = \"59\"\n" "default_rst = \"599\"\n" "qsop_method = 1\n" "total_method = 1\n" "\n" "as_disk_qso = 1\n" "as_disk_min = 15\n" "as_disk_fsync = 1\n" "as_floppy_qso = 4\n" "as_floppy_min = 40\n" "as_floppy_fsync = 0\n" "as_mount_floppy = 0\n" "as_floppy_path = \"\"\n" "as_mount_cmd = \"\"\n" "\n" "net_if_ignore = \"yam0 bcsf0 ax0\"\n" "net_ip_ignore = \"\"\n" "net_ip_announce = \"\"\n" "trace_bcast = 0\n" "trace_sock = 0\n" "trace_recv = 0\n" "trace_send = 0\n" "trace_qsos = 0\n" "trace_sdev = 0\n" "language= 0\n" "\n" "cwda_type = 1\n" "cwda_device_s = \"/dev/parport0\"\n" "cwda_hostname = \"127.0.0.1\"\n" "cwda_udp_port = 6789\n" "cwda_speed = 26\n" "cwda_weight = 0\n" "cwda_minwpm = 10\n" "cwda_maxwpm = 41\n" "cwda_spk = 0\n" "cwda_leadin = 0\n" "cwda_vid = 0xa600\n" "cwda_pid = 0xe110\n" "cwda_autgive = 0\n" "\n" "wk_wk2 = 0\n" "wk_usepot = 1\n" "wk_usebut = 1\n" "wk_keymode = 1\n" "wk_swap = 0\n" "\n" "ssbd_type = 3\n" "ssbd_record = 1\n" "ssbd_maxmin = 15\n" "ssbd_diskfree = 10\n" "ssbd_format = 0x10020\n" "ssbd_channels = 1\n" "ssbd_samplerate = 8000\n" "ssbd_plev = -1\n" "ssbd_rlev = -1\n" "ssbd_template = \"$t/../record/%Y%m%d/%H/%H.%M.%S_$S_$V_$E.wav\"\n" "\n" "ssbd_dsp = \"/dev/dsp\"\n" "ssbd_maxfrag = 0\n" "ssbd_mixer = \"/dev/mixer\"\n" "ssbd_oss_src = \"\"\n" "\n" "ssbd_pcm_play = \"plughw:0,0\"\n" "ssbd_pcm_rec = \"plughw:0,0\"\n" "ssbd_period_time = 0\n" "ssbd_buffer_time = 0\n" "ssbd_alsa_mixer = \"hw:0\"\n" "ssbd_alsa_src = \"Mic\"\n" "\n" "ssbd_hostname = \"127.0.0.1\"\n" "ssbd_udp_port = 7890\n" "\n" "\n" "ROTAR = 0\n" " rot_desc = \"First rotar A\"\n" " rot_type = 0\n" " rot_filename = \"/dev/ttyUSB0\"\n" " rot_hostname = \"\"\n" " rot_port = 55555\n" " rot_vid = 0xa600\n" " rot_pid = 0xe112\n" " rot_serial = \"\"\n" " rot_timeout_ms = 300\n" " rot_beamwidth = 20\n" " rot_saddr = 240\n" " rot_model = 0\n" " rot_rem_rotstr = \"A\"\n" "\n" "\n" "rig_filename = \"/dev/ttyS0\"\n" "rig_model = 0\n" "rig_speed = 0\n" "rig_civaddr = 0x58\n" "rig_lo = 0.000000\n" "rig_ssbcw_shift = 800\n" "rig_poll_ms = 0\n" "rig_qrg_r2t = 0\n" "rig_qrg_t2r = 0\n" "rig_mode_t2r = 1\n" "rig_clr_rit = 0\n" "rig_verbose = 0\n" "\n" "loglines = 3\n" "skedshift = 5\n" "skedcount = 5\n" "startband = \"145 MHz\"\n" "gfx_x = 954\n" "gfx_y = 672\n" "fontheight = 16\n" "slashkey = \"\"\n" "ntpq = 0\n" "dssaver = 1\n" "\n" "dxc_host = \"nagano.cz\"\n" "dxc_port = 41112\n" "dxc_user = \"\"\n" "dxc_pass = \"\"\n" "kst_user = \"\"\n" "kst_pass = \"\"\n" "kst_name = \"\"\n" "\n" "CQ = 0\n" " cw_str = \"test $mc $mc $mc $mc test\"\n" " cw_speed = 0\n" " cw_repeat = 1\n" " cw_ts = 70\n" " cw_allowifundef = 1\n" " ssb_file = \"~/tucnak/cq/$MC_$O.wav\"\n" " ssb_ts = 70\n" " ssb_repeat = 1\n" "\n" "CQ = 1\n" " cw_str = \"test $mc $mc test\"\n" " cw_speed = 0\n" " cw_repeat = 0\n" " cw_ts = 70\n" " cw_allowifundef = 1\n" " ssb_file = \"~/tucnak/cq/$MC_$O.wav\"\n" " ssb_ts = 70\n" " ssb_repeat = 0\n" "\n" "CQ = 2\n" " cw_str = \"$c $mr $mn $mw k\"\n" " cw_speed = 0\n" " cw_repeat = 0\n" " cw_ts = 30\n" " cw_allowifundef = 0\n" " ssb_file = \"\"\n" " ssb_ts = 300\n" " ssb_repeat = 1\n" "\n" "CQ = 3\n" " cw_str = \"qrz?\"\n" " cw_speed = 0\n" " cw_repeat = 0\n" " cw_ts = 30\n" " cw_allowifundef = 0\n" " ssb_file = \"\"\n" " ssb_ts = 30\n" " ssb_repeat = 0\n" "\n" "CQ = 4\n" " cw_str = \"cfm test $mc\"\n" " cw_speed = 0\n" " cw_repeat = 0\n" " cw_ts = 30\n" " cw_allowifundef = 0\n" " ssb_file = \"\"\n" " ssb_ts = 30\n" " ssb_repeat = 1\n" "\n" "CQ = 5\n" " cw_str = \"de $MC $MC $MC K\"\n" " cw_speed = 0\n" " cw_repeat = 0\n" " cw_ts = 30\n" " cw_allowifundef = 0\n" " ssb_file = \"\"\n" " ssb_ts = 30\n" " ssb_repeat = 1\n" "\n" "\n" "TERM = \"cons25\"\n" " term_mode = 2\n" " term_m11_hack = 1\n" " term_restrict_852 = 0\n" " term_col = 1\n" " term_utf_8_io = 0\n" " term_charset = 0\n" "\n" "TERM = \"cygwin\"\n" " term_mode = 2\n" " term_m11_hack = 1\n" " term_restrict_852 = 0\n" " term_col = 1\n" " term_utf_8_io = 0\n" " term_charset = 2\n" "\n" "TERM = \"screen\"\n" " term_mode = 1\n" " term_m11_hack = 1\n" " term_restrict_852 = 0\n" " term_col = 1\n" " term_utf_8_io = 0\n" " term_charset = 2\n" "\n" "TERM = \"xterm\"\n" " term_mode = 1\n" " term_m11_hack = 1\n" " term_restrict_852 = 0\n" " term_col = 1\n" " term_utf_8_io = 0\n" " term_charset = 2\n" "\n" "TERM = \"linux\"\n" " term_mode = 1\n" " term_m11_hack = 1\n" " term_restrict_852 = 0\n" " term_col = 1\n" " term_utf_8_io = 0\n" " term_charset = 2\n" "\n" "TERM = \"sdl\"\n" " term_mode = 1\n" " term_m11_hack = 1\n" " term_restrict_852 = 0\n" " term_col = 1\n" " term_utf_8_io = 0\n" " term_charset = 2\n" "\n" "\n" "SUBWIN = 0 #QSOs\n" " sw_type = 0\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 1 #Sked\n" " sw_type = 5\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 2 #Talk\n" " sw_type = 3\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 3 #DXC\n" " sw_type = 4\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 4 #Unfi\n" " sw_type = 7\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 5 #Stat\n" " sw_type = 8\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 6 #KST\n" " sw_type = 15\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 7 #Shell\n" " sw_type = 2\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 8 #Map\n" " sw_type = 9\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 9 #Scope\n" " sw_type = 10\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "SUBWIN = 10 #QRV\n" " sw_type = 11\n" " sw_command = \"\"\n" " sw_autorun = \"\"\n" " sw_respawn_time = 5\n" "\n" "\n" "PBAND = \"50 MHz\"\n" " bandchar = \"a\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 50000\n" " qrg_max = 52000\n" " adifband = \"6m\"\n" " cbrband = \"6M\"\n" " stfband = 6\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"70 MHz\"\n" " bandchar = \"b\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 70025\n" " qrg_max = 70500\n" " adifband = \"4m\"\n" " cbrband = \"4M\"\n" " stfband = 4\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"145 MHz\"\n" " bandchar = \"c\"\n" " qrv = 1\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"01\"\n" " ok_section_multi = \"02\"\n" " qrg_min = 144000\n" " qrg_max = 146000\n" " adifband = \"2m\"\n" " cbrband = \"2M\"\n" " stfband = 2\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xfe\n" "\n" "PBAND = \"220 MHz\"\n" " bandchar = \"d\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 220000\n" " qrg_max = 222000\n" " adifband = \"1.25m\"\n" " cbrband = \"222\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"435 MHz\"\n" " bandchar = \"e\"\n" " qrv = 1\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"03\"\n" " ok_section_multi = \"04\"\n" " qrg_min = 430000\n" " qrg_max = 440000\n" " adifband = \"70cm\"\n" " cbrband = \"432\"\n" " stfband = 70\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xfd\n" "\n" "PBAND = \"902 MHz\"\n" " bandchar = \"f\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 900000\n" " qrg_max = 902000\n" " adifband = \"35cm\"\n" " cbrband = \"902\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"1,3 GHz\"\n" " bandchar = \"g\"\n" " qrv = 1\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"05\"\n" " ok_section_multi = \"06\"\n" " qrg_min = 1240000\n" " qrg_max = 1300000\n" " adifband = \"23cm\"\n" " cbrband = \"1.2G\"\n" " stfband = 23\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xfb\n" "\n" "PBAND = \"2,3 GHz\"\n" " bandchar = \"h\"\n" " qrv = 1\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"07\"\n" " ok_section_multi = \"08\"\n" " qrg_min = 2300000\n" " qrg_max = 2450000\n" " adifband = \"13cm\"\n" " cbrband = \"2.3G\"\n" " stfband = 13\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xf7\n" "\n" "PBAND = \"3,4 GHz\"\n" " bandchar = \"i\"\n" " qrv = 1\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"09\"\n" " ok_section_multi = \"10\"\n" " qrg_min = 3400000\n" " qrg_max = 3410000\n" " adifband = \"9cm\"\n" " cbrband = \"3.4G\"\n" " stfband = 9\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xef\n" "\n" "PBAND = \"5,7 GHz\"\n" " bandchar = \"j\"\n" " qrv = 1\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"11\"\n" " ok_section_multi = \"12\"\n" " qrg_min = 5650000\n" " qrg_max = 5850000\n" " adifband = \"6cm\"\n" " cbrband = \"5.7G\"\n" " stfband = 6\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xdf\n" "\n" "PBAND = \"10 GHz\"\n" " bandchar = \"k\"\n" " qrv = 1\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"13\"\n" " ok_section_multi = \"14\"\n" " qrg_min = 10000000\n" " qrg_max = 10500000\n" " adifband = \"3cm\"\n" " cbrband = \"10G\"\n" " stfband = 3\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xbf\n" "\n" "PBAND = \"24 GHz\"\n" " bandchar = \"l\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"15\"\n" " ok_section_multi = \"16\"\n" " qrg_min = 24000000\n" " qrg_max = 24250000\n" " adifband = \"1.25cm\"\n" " cbrband = \"24G\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0x7f\n" "\n" "PBAND = \"47 GHz\"\n" " bandchar = \"m\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"17\"\n" " ok_section_multi = \"18\"\n" " qrg_min = 47000000\n" " qrg_max = 47200000\n" " adifband = \"6mm\"\n" " cbrband = \"47G\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"76 GHz\"\n" " bandchar = \"n\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"19\"\n" " ok_section_multi = \"20\"\n" " qrg_min = 75500000\n" " qrg_max = 76000000\n" " adifband = \"4mm\"\n" " cbrband = \"75G\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"120 GHz\"\n" " bandchar = \"o\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 120000000\n" " qrg_max = 130000000\n" " adifband = \"2.5mm\"\n" " cbrband = \"119G\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"144 GHz\"\n" " bandchar = \"p\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 142000000\n" " qrg_max = 149000000\n" " adifband = \"2mm\"\n" " cbrband = \"142G\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"248 GHz\"\n" " bandchar = \"q\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 241000000\n" " qrg_max = 250000000\n" " adifband = \"1mm\"\n" " cbrband = \"241G\"\n" " stfband = 0\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0xff\n" "\n" "PBAND = \"1,8 MHz\"\n" " bandchar = \"u\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 1800\n" " qrg_max = 2000\n" " adifband = \"160m\"\n" " cbrband = \"160M\"\n" " stfband = 160\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0x01\n" "\n" "PBAND = \"3,5 MHz\"\n" " bandchar = \"v\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 3500\n" " qrg_max = 4000\n" " adifband = \"80m\"\n" " cbrband = \"80M\"\n" " stfband = 80\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0x02\n" "\n" "PBAND = \"7 MHz\"\n" " bandchar = \"w\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 7000\n" " qrg_max = 7300\n" " adifband = \"40m\"\n" " cbrband = \"40M\"\n" " stfband = 40\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0x03\n" "\n" "PBAND = \"14 MHz\"\n" " bandchar = \"x\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 14000\n" " qrg_max = 14350\n" " adifband = \"20m\"\n" " cbrband = \"20M\"\n" " stfband = 20\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0x05\n" "\n" "PBAND = \"21 MHz\"\n" " bandchar = \"y\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 21000\n" " qrg_max = 21450\n" " adifband = \"15m\"\n" " cbrband = \"15M\"\n" " stfband = 15\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0x07\n" "\n" "PBAND = \"28 MHz\"\n" " bandchar = \"z\"\n" " qrv = 0\n" " psect = 0\n" " readonly = 0\n" "\n" " stxeq = \"\"\n" " spowe = \"\"\n" " srxeq = \"\"\n" " sante = \"\"\n" " santh = \"\"\n" " mope1 = \"\"\n" " mope2 = \"\"\n" " remarks = \"\"\n" "\n" " ok_section_single = \"\"\n" " ok_section_multi = \"\"\n" " qrg_min = 28000\n" " qrg_max = 29700\n" " adifband = \"10m\"\n" " cbrband = \"10M\"\n" " stfband = 10\n" " skedqrg = \"\"\n" " band_lo = 0.000000\n" " band_sw = 0x09\n" "\n" ; const char txt_tucnakdw[36295] = "# 1th row - The official prefix of the DXCC\n" "# 2nd row - The list of WWL in the DXCC (separated by a gap).\n" "# Lists commence at the SW of the DXC (in most cases).\n" "# \n" "# 3rd row - The most effective WWL from JN69UO \n" "# - Criterion over-ridden to internationalise the file.\n" "# 3rd row - WWL/DXC defaults (where practical), additions and updates\n" "# G1OGY: 20191111 & 20201225\n" "#\n" "# There is a free row between DXCC's \n" "#\n" "# The list of DXCC in 'tucnakdw.dat':\n" "# 1A 3A 4J 4L 4O 4U1I 4U1V 5B 9A 9H C3 CT3 CT CU DU DL E7 EA6\n" "# EA8 EA9 EA EI ER ES EU F GD GI GJ GM GU GW G HB0 HB \n" "# HG HV IS IT9 I JW JX LA LX LY LZ OE OH0 OH OJ0 OK OM ON \n" "# OY OZ PA S5 SM SP SV5 SV9 SV TA T7 TF TK UA2 UR UA \n" "# YL YO YU Z3 ZA ZB\n" "#\n" "#\n" "# F4CIB added K & VE 9Y PJ2 PJ4 YV(partially) IH9\n" "# G1OGY [Nov2019]: 1A correction, EA# call areas, EK, EL, SM# call areas.\n" "# [Dec2020]: JA# & VK# call areas, 3V, 3W, 3X, 5N, 5T, 5U, 5V, 6W, \n" "# 7O, 7X, 8P, 9G, 9K, 9L, 9N, 9Y, A4, A5, A6, A7, A9, \n" "# C5, D4, E3, E4, ET, FG, FM7, F08, HC, HH, HI, HK, HL, \n" "# HP, HR, HZ, J2, J3, J5, J6, J7, J8, JY, OD, P4, P5, \n" "# SO, ST, SU, TG, TI, TT, TU, TY, TZ, V3, VU, XE, XT,\n" "# YK, YN, YS, YV (completed), Z8, ZL\n" "# \n" "# `defaults` for DXCs\n" "# \n" "\n" "# Sovereign Military Order of Malta (Rome, Italy)\n" "1A\n" "JN61\n" "\n" "# Monaco\n" "3A\n" "JN33\n" "JN33RR\n" "\n" "# Tunisia\n" "3V\n" "JM33 JM34 JM40 JM41 JM42 JM43 JM44 JM45 JM46 JM47 JM50 JM51 JM52 JM53 JM54 JM55 JM56 JM57\n" "JM56 \n" "\n" "# Vietnam\n" "3W\n" "OJ28 OJ29 OJ39 OK10 OK19 OK20 OK21 OK27 OK28 OK29 OK30 OK31 OK32 OK33 OK34 OK35 OK36 OK37 OK38 OK39 OL10 OL11 OL12 OL20 OL21 OL22 OL23 OL30 OL31 OL32 OL41\n" "\n" "# Guinea\n" "3X\n" "IJ29 IJ39 IJ48 IJ49 IJ57 IJ58 IJ59 IJ68 IJ69 IK20 IK21 IK30 IK31 IK32 IK40 IK41 IK42 IK50 IK51 IK52 IK60\n" "\n" "# Azerbaijan\n" "4J2\n" "LM28 LM29 LM38 LM39\n" "LM29\n" "\n" "4J\n" "LM29 LM38 LM39 LM48 LM49 LN20 LN21 LN30 LN31 LN40 LN41 LN50\n" "LN30\n" "\n" "# Georgia\n" "4L\n" "LN01 LN02 LN03 LN11 LN12 LN13 LN21 LN22 LN31 LN32\n" "LN01 LN21\n" "\n" "# Montenegro\n" "4O\n" "JN91 JN92 JN93 KN02 KN03\n" "JN92\n" "\n" "# United Nations\n" "4U1I\n" "JN36\n" "\n" "4U1V\n" "JN88\n" "\n" "# Israel\n" "4X\n" "KM70 KM71 KM72 KM73 KL79\n" "\n" "# Cyprus\n" "5B\n" "KM64 KM65 KM74 KM75\n" "\n" "# Nigeria\n" "5N\n" "JJ16 JJ17 JJ18 JJ19 JJ24 JJ25 JJ26 JJ27 JJ28 JJ29 JJ34 JJ35 JJ36 JJ37 JJ38 JJ39 JJ44 JJ45 JJ46 JJ47 JJ48 JJ49 JJ56 JJ57 JJ58 JJ59 JJ67 JJ68 JJ69 JK10 JK11 JK12 JK20 JK21 JK22 JK23 JK30 JK31 JK32 JK33 JK40 JK41 JK42 JK43 JK50 JK51 JK52 JK53 JK60 JK61 JK62 JK63 JK71 JK72 JK73\n" "JJ16 JJ39\n" "\n" "# Mauritania\n" "5T\n" "IK16 IK17 IK18 IK19 IK26 IK27 IK28 IK29 IK34 IK35 IK36 IK37 IK38 IK39 IK44 IK45 IK46 IK47 IK48 IK49 IK55 IK56 IK57 IK58 IK59 IK65 IK66 IK67 IK68 IK69 IK75 IK76 IK77 IK78 IK79 IL10 IL11 IL20 IL21 IL31 IL32 IL33 IL40 IL41 IL42 IL43 IL44 IL45 IL50 IL51 IL52 IL53 IL54 IL55 IL56 IL57 IL60 IL61 IL62 IL63 IL64 IL65 IL66 IL75\n" "\n" "# Niger\n" "5U\n" "JK02 JK03 JK04 JK05 JK11 JK12 JK13 JK14 JK15 JK22 JK23 JK24 JK25 JK26 JK27 JK28 JK29 JK33 JK34 JK35 JK36 JK37 JK38 JK39 JK42 JK43 JK44 JK45 JK46 JK47 JK48 JK49 JK53 JK54 JK55 JK56 JK57 JK58 JK59BJK63 JK64 JK65 JK66 JK67 JK68 JK69 JK75 JK76 JK77 JK78 JK78 JL30 JL31 JL40 JL41 JL50 JL51 JL52 JL53 JL60 JL61 JL62 JL63 JL70 JL71 JL72\n" "JK13\n" "\n" "# Togo\n" "5V\n" "IK90 JJ06 JJ07 JJ08 JJ09 JK00 JK01\n" "\n" "# Senegal\n" "6W\n" "IK12 IK13 IK14 IK15 IK16 IK22 IK23 IK24 IK25 IK26 IK32 IK33 IK34 IK35 IK42 IK43 IK44\n" "IK14\n" "\n" "# Jamaica\n" "6Y\n" "FK08 FK17 FK18\n" "FK18\n" "\n" "# Yemen\n" "7O\n" "LK12 LK13 LK14 LK15 LK16 LK17 LK22 LK23 LK24 LK25 LK26 LK27 LK33 LK34 LK35 LK36 LK37 LK43 LK44 LK45 LK46 LK47 LK48 LK54 LK55 LK56 LK57 LK58 LK62 LK65 LK66 LK67 LK68 LK72\n" "LK25\n" "\n" "# Algeria\n" "7X\n" "IL57 IL58 IL66 IL67 IL68 IL69 IL75 IL76 IL77 IL78 IL79 IL83 IL84 IL85 IL86 IL87 IL88 IL89 IL91 IL92 IL93 IL94 IL95 IL96 IL97 IL98 IL99 IM70 IM80 IM81 IM82 IN84 IM85 IM90 IM91 IM92 IM93 IM94 IM95 JK19 JK29 JK39 JL00 JL01 JL02 JL03 JL04 JL05 JL06 JL07 JL08 JL09 JL10 JL11 JL12 JL13 JL14 JL15 JL16 JL17 JL18 JL19 JL20 JL21 JL22 JL23 JL24 JL25 JL26 JL27 JL28 JL29 JL30 JL31 JL32 JL33 JL34 JL35 JL36 JL37 JL38 JL39 JL41 JL42 JL43 JL44 JL45 JL46 JL47 JL48 JL49 JL52 JL53 JL54 JM00 JM01 JM02 JM03 JM04 JM05 JM06 JM10 JM11 JM12 JM13 JM14 JM15 JM16 JM20 JM21 JM22 JM23 JM24 JM25 JM26 JM30 JM31 JM32 JM33 JM34 JM35 JM36 JM37 JM40 JM41 JM42 JM43 JM44 JM45 JM46\n" "\n" "# Barbados\n" "8P\n" "GK03\n" "\n" "# Croatia\n" "9A\n" "JN64 JN65 JN72 JN73 JN74 JN75 JN76 JN82 JN83 JN84 JN85 JN86 JN92 JN94 JN95\n" "JN85 JN83\n" "\n" "# Ghana\n" "9G\n" "IJ79 IJ84 IJ85 IJ86 IJ87 IJ88 IJ89 IJ94 IJ95 IJ96 IJ97 IJ98 IJ99 IK70 IK71 IK72 IK73 IK80 IK81 IK82 IK83 IK84 IK90 IK91 IK92 IK93 IK94 IK95 JJ05 JJ06 JJ07 JJ08 JJ09 JK00\n" "IJ95\n" "\n" "# Malta\n" "9H\n" "JM75 JM76\n" "\n" "# Kuwait\n" "9K\n" "LL38 LL39 LL48 LL49 LM30 LM40\n" "LL39\n" "\n" "# Sierra Leone\n" "9L\n" "IJ37 IJ38 IJ39 IJ46 IJ47 IJ48 IJ49\n" "IJ38\n" "\n" "# Nepal\n" "9N\n" "NL07 NL08 NL09 NL17 NL18 NL19 NL26 NL27 NL28 NL29 NL36 NL37 NL38 NL46 NL47 NM00 NM10\n" "\n" "# Trinidad & Tobago\n" "9Y\n" "FK90 FK91\n" "\n" "# Oman\n" "A4\n" "LK66 LK67 LK68 LK69 LK76 LK77 LK78 LK79 LK87 LK88 LK89\n" "LL70 LL71 LL72 LL73 LL74 LL80 LL81 LL82 LL83 LL84 LL85 LL86 LL90 LL91 LL92 LL93\n" "LL93\n" "\n" "# Bhutan\n" "A5\n" "NL46 NL47 NL48 NL56 NL57 NL58 NL66 NL67\n" "NL47\n" "\n" "# UAE\n" "A6\n" "LL53 LL54 LL62 LL63 LL64 LL72 LL73 LL74 LL75 LL84 LL85 LL86\n" "LL75\n" "\n" "# Qatar\n" "A7\n" "LL54 LL55\n" "LL55\n" "\n" "# Bahrein\n" "A9\n" "LL55 LL56\n" "LL56\n" "\n" "# Andorra\n" "C3\n" "JN02\n" "\n" "# The Gambia\n" "C5\n" "IK13 1K23 IK33\n" "IK13\n" "\n" "# Bahamas\n" "C6\n" "FL04 FL05 FL06 FL13 FL14 FL15 FL16 FL22 FL23 FL24 FL30 FL31 FL32 FL33\n" "FL04 FL32\n" "\n" "# Cuba\n" "CO\n" "EL71 EL72 EL81 EL82 EL83 EL91 EL92 EL93 FL00 FL01 FL02 FL10 FL11 FL20 FL21 FK19 FK29 \n" "EL83 FL20\n" "\n" "# Morocco\n" "CN\n" "IL37 IL38 IL47 IL48 IL49 IL57 IL58 IL59 IL69 IL79 IM50 IM51 IM52 IM53 IM60 IM61 IM62 IM63 IM64 IM65 IM70 IM71 IM72 IM73 IM74 IM75 IM80 IM81 IM82 IM83 IM84 IM85 IM92 IM93 IM94\n" "IM63\n" "\n" "# Madeira\n" "CT3\n" "IM12 IM13\n" "\n" "# Portugal\n" "CT\n" "IM56 IM57 IM58 IM59 IM66 IM67 IM68 IM69 IN50 IN51 IN52 IN60 IN61\n" "IN50 IM57 \n" "\n" "# Azores\n" "CU\n" "HM49 HM58 HM59 HM68 HM69 HM76 HM77\n" "HM59\n" "\n" "# Cape Verde\n" "D4\n" "HK74 HK75 HK76 HK77 HK84 HK85 HK86\n" "HK76MU \n" "\n" "# Manila, Philippines\n" "DU\n" "PK04\n" "\n" "# Germany\n" "DL\n" "JN37 JN38 JN39 JN47 JN48 JN49 JN57 JN58 JN59 JN67 JN68 JN69 JO20 JO21 JO30 JO31 JO32 JO33 JO34 JO40 JO41 JO42 JO43 JO44 JO50 JO51 JO52 JO53 JO54 JO60 JO61 JO62 JO63 JO64 JO70 JO71 JO72 JO73 JO74\n" "JO31LE JO43WK\n" "\n" "# Eritrea\n" "E3\n" "KK84 KK85 KK86 KK87 KK94 KK95 KK96 KK97 LK02 LK03 LK05 LK05 LK06 LK12 LK13\n" "\n" "# 'Palestine'\n" "E4\n" "KM71 KM72\n" "\n" "# Bosnia & Herzegovena\n" "E7\n" "JN74 JN75 JN82 JN83 JN84 JN85 JN92 JN93 JN94 JN95\n" "JN83 JN94IR \n" "\n" "# Spain by Call Area\n" "EA1\n" "IN52 IN53 IN60 IN61 IN62 IN63 IN70 IN71 IN72 IN73 IN80 IN81 IN82 IN83 IN91 IN92\n" "IN82 IN63\n" "\n" "EA2\n" "IN82 IN83 IN90 IN91 IN92 IN93 JN01 JN02 \n" "IN91\n" "\n" "EA3\n" "JN00 JN01 JN02 JN11 JN12 JN00\n" "JN01\n" "\n" "EA4\n" "IM68 IM69 IM78 IM79 IM88 IM89 IN60 IN80 IN81 IN90 IN91\n" "IN80\n" "\n" "EA5\n" "IM87 IM88 IM89 IM97 IM98 IM99 IN90 JN00\n" "IM98\n" "\n" "EA6\n" "JM08 JM09 JM19 JM29 JN10 JN20\n" "JN19\n" "\n" "EA7\n" "IM66 IM67 IM68 IM76 IM77 IM78 IM86 IM87 IM88 IM96 IM97\n" "IM76 IM87\n" "\n" "EA8\n" "IL18 IL27 IL28 IL38 IL39\n" "IL18 IL28GD\n" "\n" "EA9\n" "IM75 IM85\n" "\n" "## Superceeded by District lists ['OGY]\n" "# EA\n" "# IM66 IM67 IM68 IM69 IM75 IM76 IM77 IM78 IM79 IM86 IM87 IM88 IM89 IM96 IM97 IM98 IM99 IN51 IN52 IN53 IN60 IN61 IN62 IN63 IN70 IN71 IN72 IN73 IN80 IN81 IN82 IN83 IN90 IN91 IN92 IN93 JM08 JM09 JN00 JN01 JN02 JN11 JN12\n" "# IN63 JN02\n" "\n" "# Eire\n" "EI\n" "IO41 IO42 IO43 IO44 IO51 IO52 IO53 IO54 IO55 IO61 IO62 IO63 IO64 IO65\n" "IO51 IO63\n" "\n" "# Armenia\n" "EK\n" "LN10 LN11 LN20 LN21 LM29 LM38 LM39\n" "LN20\n" "\n" "# Liberia\n" "EL\n" "IJ46 IJ47 IJ48 IJ54 IJ55 IJ56 IJ57 IJ64 IJ65 IJ66\n" "IJ46\n" "\n" "# Moldova\n" "ER\n" "KN36 KN37 KN38 KN45 KN46 KN47 KN48 KN56\n" "KN47\n" "\n" "# Estonia\n" "ES\n" "KO07 KO08 KO17 KO18 KO19 KO27 KO28 KO29 KO37 KO38 KO39 KO49\n" "KO29 KO38\n" "\n" "# Ethiopia\n" "ET\n" "KJ67 KJ68 KJ74 KJ75 KJ76 KJ77 KJ78 KJ79 KJ83 KJ84 KJ85 KJ86 KJ87 KJ88 KJ89 KJ93 KJ94 KJ95 KJ96 KJ97 KJ98 KJ99 KK70 KK71 KK72 KK80 KK81 KK82 KK83 KK84 KK90 KK91 KK92 KK93 KK94 LJ04 LJ05 LJ06 LJ07 LJ08 LJ09 LJ14 LJ15 LJ16 LJ17 LJ18 LJ19 LK00 LK01 LK02 LK03 LK04 LK10 LK12\n" "KJ99\n" "\n" "# Belarus\n" "EU\n" "KO11 KO12 KO13 KO21 KO22 KO23 KO24 KO31 KO32 KO33 KO34 KO35 KO36 KO41 KO42 KO43 KO44 KO45 KO46 KO51 KO52 KO53 KO54 KO55 KO63\n" "KO33 \n" "\n" "# France\n" "F\n" "IN77 IN78 IN86 IN87 IN88 IN92 IN93 IN94 IN95 IN96 IN97 IN98 IN99 JN02 JN03 JN04 JN05 JN06 JN07 JN08 JN09 JN12 JN13 JN14 JN15 JN16 JN17 JN18 JN19 JN23 JN24 JN25 JN26 JN27 JN28 JN29 JN32 JN33 JN34 JN35 JN36 JN37 JN38 JN39 JN48 JO00 JO01 JO10 JO11 JO20\n" "JN27 IN95\n" "\n" "# Guadeloupe\n" "FG\n" "FK95 FK96\n" "\n" "# Martinique\n" "FM7\n" "FK94\n" "\n" "# Clipperton Island\n" "FO8X\n" "DK50JG DK50JH\n" "\n" "\n" "# Isle of Man\n" "GD\n" "IO74\n" "\n" "# N. Ireland\n" "GI\n" "IO54 IO64 IO65 IO74 IO75\n" "IO74\n" "\n" "# Jersey\n" "GJ\n" "IN89\n" "\n" "# Scotland\n" "GM\n" "IO57 IO65 IO66 IO67 IO68 IO74 IO75 IO76 IO77 IO78 IO84 IO85 IO86 IO87 IO88 IO89 IO95 IO97 IO99 IP90\n" "IO75 IO87\n" "\n" "# Guernsey\n" "GU\n" "IN89\n" "IN89RL\n" "\n" "# Wales\n" "GW\n" "IO71 IO72 IO73 IO81 IO82 IO83\n" "IO81 IO83\n" "\n" "# England\n" "G\n" "IN69 IN79 IO70 IO71 IO80 IO81 IO82 IO83 IO84 IO85 IO90 IO91 IO92 IO93 IO94 IO95 JO00 JO01 JO02 JO03\n" "JO01 IO93\n" "\n" "# Hungary\n" "HA\n" "JN85 JN86 JN87 JN95 JN96 JN97 JN98 KN06 KN07 KN08 KN17 KN18\n" "JN97RV \n" "\n" "# Switzerland\n" "HB\n" "JN35 JN36 JN37 JN45 JN46 JN47 JN56\n" "JN47HD\n" "\n" "# Liechtenstein\n" "HB0\n" "JN47\n" "JN47SB\n" "\n" "# Ecuador\n" "HC\n" "EI95 EI96 EI97 EI98 EI99 EJ90 FI04 FI05 FI06 FI07 FI08 FI09 FI16 FI17 FI18 FI19 FI27 FI28 FI29 FJ00 FJ01 FJ10 FJ20\n" "\n" "# Galapagos Islands\n" "HC8\n" "EI48 EI49 EI58 EI59 EJ31 EJ40 EJ41 EJ50\n" "\n" "# Haiti\n" "HH\n" "FK28 FK38 FK39 FK48 FK49 FL30\n" "\n" "# Columbia\n" "HK\n" "FI28 FI29 FI37 FI38 FI39 FI45 FI46 FI47 FI48 FI49 FI55 FI56 FI57 FI58 FI59 FJ00 FJ01 FJ02 FJ10 FJ11 FJ12 FJ13 FJ14 FJ15 FJ16 FJ17 FJ18 FJ19 FJ20 FJ21 FJ22 FJ23 FJ24 FJ25 FJ26 FJ27 FJ28 FJ29 FJ30 FJ31 FJ32 FJ33 FJ34 FJ35 FJ36 FJ37 FJ38 FJ39 FJ40 FJ41 FJ42 FJ43 FJ44 FJ45 FJ46 FJ47 FJ50 FJ51 FJ52 FJ53 FJ54 FJ55 FJ56 FJ61 FJ62 FJ63 FJ64 FJ65 FJ66 FK20 FK21 FK30 FK31 FK32 FK41 FK42\n" "\n" "# Columbia (Offshore Islands, N & W)\n" "HK0\n" "EK92 EK93 EK94 FK05 EJ93 EJ94\n" "\n" "# Dominican Republic\n" "HI\n" "FK47 FK48 FK49 FK58 FK59\n" "FK58\n" "\n" "# Panama\n" "HP\n" "EJ88 EJ89 EJ97 EJ98 EJ99 FJ07 FJ08 FJ09 FJ17 FJ18 FJ19 \n" "\n" "# Honduras\n" "HR\n" "EK53 EK54 EK55 EK63 EK64 EK65 EK73 EK74 EK75 EK84 EK85\n" "\n" "HR6\n" "EK66 EK76 EK87\n" "\n" "# Vatican City\n" "HV\n" "JN61\n" "JN61FV\n" "\n" "#South Korea\n" "HL\n" "PM24 PM27 PM33 PM34 PM35 PM36 PM37 PM38 PM44 PM45 PM46 PM47 PM48\n" "PM37\n" "\n" "# Saudi Arabia\n" "HZ\n" "KL77 KL78 KL79 KL84 KL85 KL86 KL87 KL88 KL89 KL90 KL91 KL92 KL93 KL94 KL95 KL96 KL97 KL98 KL99 KM80 KM81 KM90 KM91 KM92 LK06 LK07 LK08 LK09 LK16 LK17 LK18 LK19 LK27 LK28 LK29 LK36 LK37 LK38 LK39 LK48 LK49 LK58 LK59 LK69 LK79 LL00 LL01 LL02 LL03 LL04 LL05 LL06 LL07 LL08 LL09 LL10 LL11 LL12 LL13 LL14 LL15 LL16 LL17 LL18 LL19 LL20 LL21 LL22 LL23 LL24 LL25 LL26 LL27 LL28 LL29 LL30 LL31 LL32 LL33 LL34 LL35 LL36 LL37 LL38 LL39 LL40 LL41 LL42 LL43 LL44 LL45 LL46 LL47 LL48 LL50 LL51 LL52 LL53 LL54 LL55 LL56 LL60 LL61 LL62 LL63 LL70 LL71 LL72 LM00 LM01 LM10 LM11\n" "LL34 KL91 \n" "\n" "# Pelagie Islands\n" "IG9\n" "JM65\n" "\n" "# Pantellaria Island\n" "IH9\n" "JM56 JM66\n" "\n" "# Sardinia\n" "IS\n" "JM48 JM49 JN40 JN41\n" "JN40\n" "\n" "# Sicily\n" "IT9\n" "JM67 JM68 JM76 JM77 JM78\n" "JM77 JM68\n" "\n" "# Italy\n" "I\n" "JM77 JM78 JM79 JM87 JM88 JM89 JM99 JN33 JN34 JN35 JN43 JN44 JN45 JN46 JN51 JN52 JN53 JN54 JN55 JN56 JN57 JN60 JN61 JN62 JN63 JN64 JN65 JN66 JN67 JN70 JN71 JN72 JN80 JN81 JN90\n" "JN54XA\n" "\n" "# Djibouti\n" "J2\n" "LK00 LK01 LK10 LK11 LK12\n" "LK11\n" "\n" "# Grenada\n" "J3\n" "FK91 FK92\n" "\n" "# Guinea Bissau\n" "J5\n" "IK11 IK12 IK20 IK21 IK22 IK31 IK32\n" "IK21\n" "\n" "# St Lucia\n" "J6\n" "FK93 FK94\n" "\n" "# Dominica\n" "J7\n" "FK95\n" "\n" "# Saint Vincent & Grenadines\n" "J8\n" "FK92 FK93\n" "\n" "# Japan (by Call Area)\n" "JA0\n" "PM85 PM86 PM87 PM95 PM96 PM97 PM98\n" "PM97\n" "\n" "JA1\n" "PM93 PM94 PM95 PM96 PM97 QM05 QM06 QM07\n" "PM95\n" "\n" "JA2\n" "PM83 PM84 PM85 PM86 PM94 PM95\n" "PM85\n" "\n" "JA3\n" "PM73 PM74 PM75 PM84 PM85\n" "PM74\n" "\n" "JA4\n" "PM53 PM54 PM63 PM64 PM65 PM66 PM74 PM75\n" "PM64\n" "\n" "JA5\n" "PM53 PM62 PM63 PM64 PM73 PM74\n" "\n" "JA6\n" "PL47 PL48 PL49 PM40 PM41 PM42 PM43 PM44 PM50 PM51 PM52 PM53\n" "PM53\n" "\n" "JA7\n" "PM96 PM97 PM98 PM99 PN90 QM06 QM07 QM08 QM09 QM19 QN00 QN01\n" "QM08\n" "\n" "JA8\n" "PN91 PN92 QN01 QN02 QN03 QN04 QN05 QN11 QN12 QN13 QN14 QN15 QN22 QN23 QN24\n" "QN03\n" "\n" "JA9\n" "PM75 PM85 PM86 PM87\n" "\n" "JD1\n" "PL80 QL04 QL05 QL07 QL16 QL17\n" "\n" "JR6\n" "PL14 PL24 PL35 PL36 PL37 PL46 PL55\n" "\n" "# Japan (superceded by Call Area lists)['OGY]\n" "# JA\n" "# PM40 PM41 PM42 PM43 PM44 PM50 PM51 PM52 PM53 PM54 PM62 PM63 PM64 PM65 PM66 PM73 PM74 PM75 PM76 PM83 PM84 PM85 PM86 PM87 PM93 PM94 PM95 PM96 PM97 PM98 PM99 PN90 PN91 PN92 QM05 QM06 QM07 QM08 QM09 QM19 QN00 QN01 QN02 QN03 QN04 QN05 QN11 QN12 QN13 QN14 QN15 QN22 QN23 QN24 \n" "# PM53 PM95\n" "\n" "# Svalbard (Spitsbergen)\n" "JW\n" "JQ58 JQ59 JQ67 JQ68 JQ69 JQ76 JQ77 JQ78 JQ79 JQ86 JQ87 JQ88 JQ89 JQ97 JQ98 JQ99 KQ07 KQ08 KQ09 KQ17 KQ18 KQ19 KQ27 KQ29 KQ38 KQ39 KQ48 KQ58 JR70 JR80 JR90 KR00 KR10 KR20 KR30 KR40 KR50 KR60 KR80\n" "JQ78 KQ29\n" "\n" "# Jan Mayen\n" "JX\n" "IQ50 IQ51\n" "\n" "# Jordan\n" "JY\n" "KL79 KL89 KM70 KM71 KM72 KM80 KM81 KM82 KM91 KM92 KM93\n" "KM71\n" "\n" "# USA\n" "K\n" "CM86 CM87 CM88 CM89 CM93 CM94 CM95 CM96 CM97 CM98 CM99 CN70 CN71 CN72 CN73 CN74 CN75 CN76 CN77 CN78 CN80 CN81 CN82 CN83 CN84 CN85 CN86 CN87 CN88 CN90 CN91 CN92 CN93 CN94 CN95 CN96 CN97 CN98 DL79 DL88 DL89 DL98 DL99 DM03 DM04 DM05 DM06 DM07 DM08 DM09 DM12 DM13 DM14 DM15 DM16 DM17 DM18 DM19 DM22 DM23 DM24 DM25 DM26 DM27 DM28 DM29 DM31 DM32 DM33 DM34 DM35 DM36 DM37 DM38 DM39 DM41 DM42 DM43 DM44 DM45 DM46 DM47 DM48 DM49 DM51 DM52 DM53 DM54 DM55 DM56 DM57 DM58 DM59 DM61 DM62 DM63 DM64 DM65 DM66 DM67 DM68 DM69 DM70 DM71 DM72 DM73 DM74 DM75 DM76 DM77 DM78 DM79 DM80 DM81 DM82 DM83 DM84 DM85 DM86 DM87 DM88 DM89 DM90 DM91 DM92 DM93 DM94 DM95 DM96 DM97 DM98 DM99 DN00 DN01 DN02 DN03 DN04 DN05 DN06 DN07 DN08 DN10 DN11 DN12 DN13 DN14 DN15 DN16 DN17 DN18 DN20 DN21 DN22 DN23 DN24 DN25 DN26 DN27 DN28 DN30 DN31 DN32 DN33 DN34 DN35 DN36 DN37 DN38 DN40 DN41 DN42 DN43 DN44 DN45 DN46 DN47 DN48 DN50 DN51 DN52 DN53 DN54 DN55 DN56 DN57 DN58 DN60 DN61 DN62 DN63 DN64 DN65 DN66 DN67 DN68 DN70 DN71 DN72 DN73 DN74 DN75 DN76 DN77 DN78 DN80 DN81 DN82 DN83 DN84 DN85 DN86 DN87 DN88 DN90 DN91 DN92 DN93 DN94 DN95 DN96 DN97 DN98 EL06 EL07 EL08 EL09 EL15 EL16 EL17 EL18 EL19 EL28 EL29 EL39 EL49 EL59 EL79 EL86 EL87 EL88 EL89 EL95 EL96 EL97 EL98 EL99 EM00 EM01 EM02 EM03 EM04 EM05 EM06 EM07 EM08 EM09 EM10 EM11 EM12 EM13 EM14 EM15 EM16 EM17 EM18 EM19 EM20 EM21 EM22 EM23 EM24 EM25 EM26 EM27 EM28 EM29 EM30 EM31 EM32 EM33 EM34 EM35 EM36 EM37 EM38 EM39 EM40 EM41 EM42 EM43 EM44 EM45 EM46 EM47 EM48 EM49 EM50 EM51 EM52 EM53 EM54 EM55 EM56 EM57 EM58 EM59 EM60 EM61 EM62 EM63 EM64 EM65 EM66 EM67 EM68 EM69 EM70 EM71 EM72 EM73 EM74 EM75 EM76 EM77 EM78 EM79 EM80 EM81 EM82 EM83 EM84 EM85 EM86 EM87 EM88 EM89 EM90 EM91 EM92 EM93 EM94 EM95 EM96 EM97 EM98 EM99 EN00 EN01 EN02 EN03 EN04 EN05 EN06 EN07 EN08 EN10 EN11 EN12 EN13 EN14 EN15 EN16 EN17 EN18 EN20 EN21 EN22 EN23 EN24 EN25 EN26 EN27 EN28 EN29 EN30 EN31 EN32 EN33 EN34 EN35 EN36 EN37 EN38 EN40 EN41 EN42 EN43 EN44 EN45 EN46 EN47 EN48 EN50 EN51 EN52 EN53 EN54 EN55 EN56 EN57 EN58 EN60 EN61 EN62 EN63 EN64 EN65 EN66 EN67 EN68 EN70 EN71 EN72 EN73 EN74 EN75 EN76 EN77 EN78 EN80 EN81 EN82 EN83 EN84 EN85 EN86 EN90 EN91 EN92 EN93 EN94 EN95 EN96 FM02 FM03 FM04 FM05 FM06 FM07 FM08 FM09 FM13 FM14 FM15 FM16 FM17 FM18 FM19 FM25 FM26 FM27 FM28 FM29 FM39 FN00 FN01 FN02 FN03 FN04 FN05 FN10 FN11 FN12 FN13 FN14 FN20 FN21 FN22 FN23 FN24 FN30 FN31 FN32 FN33 FN34 FN40 FN41 FN42 FN43 FN44 FN45 FN46 FN51 FN52 FN53 FN54 FN55 FN56 FN57 FN64 FN65 FN66 FN67 \n" "\n" "# Guantanamo Bay\n" "KG4\n" "FL20\n" "\n" "# Navassa Is\n" "KP1\n" "FK28\n" "\n" "# US Virgin Is\n" "KP2\n" "FK77\n" "\n" "# Puerto Rico\n" "KP3\n" "FK67 FK68 FK77 FK78\n" "FK68\n" "\n" "# Desecheo Is\n" "KP5\n" "FK68\n" "\n" "# Norway\n" "LA\n" "JO28 JO29 JO37 JO38 JO39 JO48 JO49 JO58 JO59 JO69 JP20 JP21 JP22 JP30 JP31 JP32 JP33 JP40 JP41 JP42 JP43 JP44 JP50 JP51 JP52 JP53 JP54 JP55 JP60 JP61 JP62 JP63 JP64 JP65 JP66 JP67 JP68 JP74 JP75 JP76 JP77 JP78 JP79 JP86 JP87 JP88 JP89 JP98 JP99 JQ90 KP08 KP09 KP18 KP19 KP28 KP29 KP39 KP48 KP49 KP59 KQ00 KQ10 KQ20 KQ21 KQ30 KQ31 KQ40 KQ50\n" "JO59 JP20\n" "\n" "# Luxembourg\n" "LX\n" "JN29 JN39 JO20 JO30\n" "JN29VX \n" "\n" "# Lithuania\n" "LY\n" "KO05 KO06 KO13 KO14 KO15 KO16 KO23 KO24 KO25 KO26 KO34 KO35\n" "KO24 KO05\n" "\n" "# Bulgaria\n" "LZ\n" "KN11 KN12 KN13 KN14 KN21 KN22 KN23 KN31 KN32 KN33 KN34 KN43\n" "KN12 KN35\n" "\n" "# Lebanon\n" "OD\n" "KM73 KM74 KM83 KM84\n" "KM73\n" "\n" "# Austria\n" "OE\n" "JN46 JN47 JN56 JN57 JN66 JN67 JN68 JN76 JN77 JN78 JN86 JN87 JN88\n" "JN88DC JN68PC\n" "\n" "# Aland Island\n" "OH0\n" "JP90 KP00\n" "\n" "# Finland\n" "OH\n" "KO19 KO29 KP00 KP01 KP02 KP03 KP08 KP09 KP10 KP11 KP12 KP13 KP14 KP16 KP17 KP18 KP19 KP20 KP21 KP22 KP23 KP24 KP25 KP26 KP27 KP28 KP29 KP30 KP31 KP32 KP33 KP34 KP35 KP36 KP37 KP38 KP39 KP40 KP41 KP42 KP43 KP44 KP45 KP46 KP47 KP48 KP49 KP51 KP52 KP53 KP54 KP55 KQ30\n" "\n" "# Market Reef\n" "OJ0\n" "JP90\n" "\n" "# Czechia\n" "OK\n" "JN68 JN69 JN78 JN79 JN88 JN89 JN98 JN99 JO60 JO70 JO71 JO80 JO90\n" "JN89JM JO80IA\n" "\n" "# Slovakia\n" "OM\n" "JN87 JN88 JN89 JN97 JN98 JN99 KN08 KN09 KN18 KN19\n" "JN98EP JN88RG\n" "\n" "# Belgium\n" "ON\n" "JN29 JO10 JO11 JO20 JO21 JO30\n" "JO20JU \n" "\n" "# Faroe Islands\n" "OY\n" "IP61 IP62\n" "\n" "# Denmark\n" "OZ\n" "JO44 JO45 JO46 JO47 JO54 JO55 JO56 JO57 JO64 JO65 JO66 JO74 JO75\n" "JO46 JO55\n" "\n" "# Aruba\n" "P4\n" "FK52\n" "\n" "# North Korea\n" "P5\n" "PM27 PM28 PM29 PM37 PM38 PM39 PM48 PN20 PN30 PN31 PN40 PN41 PN42 PN52\n" "PM28\n" "\n" "# Netherlands\n" "PA\n" "JO11 JO20 JO21 JO22 JO23 JO30 JO31 JO32 JO33\n" "JO21GV JO33\n" "\n" "# Netherlands Antilles\n" "PJ2\n" "FK52\n" "\n" "PJ4\n" "FK52\n" "\n" "# Western Sahara (non-ITU)\n" "S0\n" "IL10 IL11 IL12 IL13 IL21 IL22 IL23 IL24 IL25 IL26 IL31 IL32 IL33 IL34 IL35 IL36 IL37 IL46 IL47 IL56 IL57\n" "\n" "# Slovenia\n" "S5\n" "JN65 JN66 JN75 JN76 JN86\n" "JN65 JN76KO\n" "\n" "# Sweden, by District\n" "SM0 \n" "JO88 JO89 JO99 JP90\n" "JO99\n" "\n" "SM1\n" "JO96 JO97\n" "\n" "SM2\n" "JP75 JP76 JP84 JP85 JP86 JP87 JP88 JP93 JP94 JP95 JP96 JP97 JP98 KP03 KP04 KP05 KP06 KP07 KP08 KP09 KP15 KP16 KP17 KP18\n" "JP96\n" "\n" "SM3\n" "JP62 JP63 JP64 JP71 JP72 JP73 JP80 JP81 JP82 JP84 JP92 JP93\n" "JP73\n" "\n" "SM4\n" "JO68 JO69 JO78 JO79 JP60 JP61 JP62 JP70 JP71\n" "JO69\n" "\n" "SM5\n" "JO77 JO78 JO79 JO88 JO89 JP80\n" "JO78 JO89\n" "\n" "SM6\n" "JO58 JO59 JO66 JO67 JO68 JO78\n" "JO67\n" "\n" "SM7\n" "JO65 JO66 JO67 JO75 JO76 JO77 JO86 JO87\n" "JO65 JO76\n" "\n" "## Superceded by District lists ['OGY]\n" "# SM\n" "# JO57 JO58 JO59 JO65 JO66 JO67 JO68 JO69 JO75 JO76 JO77 JO78 JO79 JO86 JO87 JO88 JO89 JO96 JO97 JO98 JO99 JP53 JP60 JP61 JP62 JP63 JP64 JP70 JP71 JP72 JP73 JP74 JP75 JP76 JP80 JP81 JP82 JP83 JP84 JP85 JP86 JP87 JP88 JP90 JP92 JP93 JP94 JP95 JP96 JP97 JP98 KP03 KP04 KP05 KP06 KP07 KP08 KP09 KP15 KP16 KP17 KP18 KP25 KP26\n" "# JO65 JO89\n" "\n" "# Poland\n" "SP\n" "JN89 JN99 JO70 JO71 JO72 JO73 JO74 JO80 JO81 JO82 JO83 JO84 JO90 JO91 JO92 JO93 JO94 KN09 KN19 KO00 KO01 KO02 KO03 KO04 KO10 KO11 KO12 KO13 KO14 KO20\n" "JO73 JO91\n" "\n" "# Sudan (EXCL. Disputed areas, Dec 2020)\n" "ST\n" "KJ19 KJ29 KJ49 KJ59 KJ69 KJ79 KK02 KK03 KK10 KK11 KK12 KK13 KK14 KK15 KK20 KK21 KK22 KK23 KK24 KK25 KK26 KK27 KK28 KK29 KK30 KK31 KK32 KK33 KK34 KK35 KK36 KK37 KK38 KK39 KK40 KK41 KK42 KK43 KK44 KK45 KK46 KK47 KK48 KK49 KK50 KK51 KK52 KK53 KK54 KK55 KK56 KK57 KK58 KK59 KK60 KK61 KK62 KK63 KK64 KK65 KK66 KK67 KK68 KK69 KK70 KK71 KK72 KK73 KK74 KK75 KK76 KK77 KK78 KK79 KK82 KK83 KK84 KK85 KK86 KK87 KK88 KK89 KK98 KL20 KL21 KL30 KL31 KL40 KL41 KL50 KL51 KL60 KL61 KL70 KL71 KL80 KL81\n" "KK65\n" "\n" "# Egypt\n" "SU\n" "KL22 KL23 KL24 KL25 KL26 KL27 KL28 KL29 KL32 KL33 KL34 KL35 KL36 KL37 KL38 KL39 KL42 KL43 KL44 KL45 KL46 KL47 KL48 KL49 KL52 KL53 KL54 KL55 KL56 KL57 KL58 KL59 KL61 KL62 KL63 KL64 KL65 KL66 KL67 KL68 KL69 KL71 KL72 KL73 KL74 KL75 KL76 KL77 KL78 KL79 KL80 KL81 KL82 KM20 KM21 KM30 KM31 KM40 KM41 KM50 KM51 KM60 KM61 KM70 KM71\n" "KM50\n" "\n" "# Rhodes etc\n" "SV5\n" "KM35 KM36 KM45 KM46\n" "KM36\n" "\n" "# Crete\n" "SV9\n" "KM15 KM24 KM25 KM34 KM35\n" "KM25\n" "\n" "# Greece\n" "SV\n" "JM99 KM06 KM07 KM08 KM09 KM16 KM17 KM18 KM19 KM26 KM27 KM28 KM29 KM36 KM37 KM38 KM39 KN00 KN01 KN10 KN11 KN20 KN21 KN30 KN31\n" "\n" "# San Marino\n" "T7\n" "JN63\n" "\n" "# Turkey\n" "TA\n" "KM27 KM28 KM29 KM35 KM36 KM37 KM38 KM39 KM46 KM47 KM48 KM49 KM56 KM57 KM58 KM59 KM64 KM65 KM66 KM67 KM68 KM69 KM74 KM75 KM76 KM77 KM78 KM79 KM85 KM86 KM87 KM88 KM89 KM96 KM97 KM98 KM99 KN20 KN30 KN32 KN40 KN41 KN50 KN51 KN60 KN61 KN62 KN70 KN71 KN72 KN80 KN81 KN90 KN91 LM06 LM07 LM08 LM09 LM17 LM18 LM19 LM26 LM27 LM28 LM29 LN00 LN01 LN10 LN11 LN20\n" "KM69JX\n" "\n" "TA1\n" "KN30 KN31 KN32 KN40 KN41 KN42\n" "KN31\n" "\n" "# Costa Rica\n" "TI\n" "EJ79 EJ88 EJ89 EK70 EK80\n" "\n" "# Cocos Island\n" "TI9\n" "EJ65\n" "\n" "# Iceland\n" "TF\n" "HP74 HP75 HP83 HP84 HP85 HP86 HP93 HP94 HP95 HP96 IP03 IP04 IP05 IP06 IP13 IP14 IP15 IP16 IP24 IP25 IP26 IP34 IP35\n" "HP94 IP25\n" "\n" "# Guatamala\n" "TG\n" "EK34 EK35 EK43 EK44 EK45 EK46 EK47 EK53 EK54 EK55 EK56 EK57\n" "EK44\n" "\n" "# Corsica\n" "TK\n" "JN41 JN42 JN43\n" "JN41 JN43\n" "\n" "# Chad\n" "TT\n" "IK63 IK64 JJ77 JJ78 JJ79 JJ87 JJ88 JJ89 JJ98 JJ99 JK70 JK71 JK72 JK73 JK74 JK75 JK76 JK77 JK78 JK79 JK80 JK81 JK82 JK83 JK84 JK85 JK86 JK87 JK88 JK89 JK90 JK91 JK92 JK93 JK94 JK95 JK96 JK97 JK98 JK99 JL70 JL71 JL72 JL73 KJ09 KK00 KK01 KK02 KK03 KK04 KK05 KK06 KK07 KK08 KK09 KK10 KK11 KK12 KK13 KK14 KK15 KK16 KK17 KK18 KK19 KL00 KL01 KL10\n" "\n" "# Ivory Coast\n" "TU\n" "IJ56 IJ57 IJ58 IJ59 IJ64 IJ65 IJ66 IJ67 IJ68 IJ69 IJ74 IJ75 IJ76 IJ77 IJ78 IJ79 IJ85 IJ86 IJ87 IJ88 IJ89 IK50 IK60 IK70\n" "IJ76\n" "\n" "# Benin\n" "TY\n" "JJ06 JJ07 JJ08 JJ09 JJ16 JJ17 JJ18 JJ19 JK00 JK01 JK10 JK11 JK12\n" "JJ16\n" "\n" "# Mali\n" "TZ\n" "IK33 IK34 IK42 IK43 IK44 IK45 IK50 IK51 IK52 IK53 IK54 IK55 IK60 IK61 IK62 IK63 IK64 IK65 IK70 IK71 IK72 IK73 IK74 IK75 IK76 IK77 IK78 IK79 I883 IK84 IK85 IK86 IK87 IK88 IK89 IK94 IK95 IK96 IK97 IK98 IK99 IL60 IL61 IL62 IL63 IL64 IL70 IL71 IL72 IL73 IL74 IL80 IL81 IL82 IL83 IL90 IL91 IL92 IL93 JK04 JK05 JK06 JK07 JK08 JK09 JK15 JK16 JK17 JK18 JK19 JK26 JK27 JK28 JK29 JL00 JL01 JL10 \n" "IK62\n" "\n" "# Kalingrad\n" "UA2\n" "JO94 KO04 KO05 KO14 KO15\n" "\n" "# Ukraine\n" "UR\n" "KN17 KN18 KN19 KN27 KN28 KN29 KN37 KN38 KN39 KN45 KN46 KN47 KN48 KN49 KN55 KN56 KN57 KN58 KN59 KN64 KN65 KN66 KN67 KN68 KN69 KN74 KN75 KN76 KN77 KN78 KN79 KN84 KN85 KN86 KN87 KN88 KN89 KN96 KN97 KN98 KN99 KO10 KO11 KO20 KO21 KO30 KO31 KO40 KO41 KO50 KO51 KO52 KO60 KO61 KO62 KO70 KO71 KO72 KO80 KO90 LN08 LN09\n" "\n" "# Russia\n" "UA\n" "KN84 KN85 KN86 KN89 KN93 KN94 KN95 KN96 KN97 KN98 KN99 KO36 KO37 KO38 KO39 KO45 KO46 KO47 KO48 KO49 KO52 KO53 KO54 KO55 KO56 KO57 KO58 KO62 KO63 KO64 KO65 KO66 KO67 KO68 KO69 KO70 KO71 KO72 KO73 KO74 KO75 KO76 KO77 KO78 KO79 KO80 KO81 KO82 KO83 KO84 KO85 KO86 KO87 KO88 KO89 KO90 KO91 KO92 KO93 KO94 KO95 KO96 KO97 KO98 KO99 LN03 LN04 LN05 LN06 LN07 LN08 LN09 LN12 LN13 LN14 LN15 LN16 LN17 LN18 LN19 LN22 LN23 LN24 LN25 LN26 LN27 LN28 LN29 LN31 LN32 LN33 LN34 LN35 LN36 LN37 LN38 LN39 LN41 LN42 LN43 LN44 LN45 LN46 LN47 LN49 LO00 LO01 LO02 LO03 LO04 LO05 LO06 LO07 LO08 LO09 LO10 LO11 LO12 LO13 LO14 LO15 LO16 LO17 LO18 LO19 LO20 LO21 LO22 LO23 LO24 LO25 LO26 LO27 LO28 LO29 LO90 LO91 LO92 LO93 LO94 LO95 LO96 LO97 LO98 LO99\n" "\n" "# Belize\n" "V3\n" "EK55 EK56 EK57 EK58 EK67 EK68\n" "EK57\n" "\n" "# Canada\n" "VE\n" "BP90 BP91 BP92 BP93 BP94 BP95 BP96 BP97 BP98 BP99 CN69 CN78 CN79 CN88 CN89 CN99 CO09 CO19 CO29 CO32 CO33 CO34 CO37 CO38 CO39 CO42 CO43 CO44 CO45 CO46 CO47 CO48 CO49 CO50 CO51 CO52 CO53 CO54 CO55 CO56 CO57 CO58 CO59 CO60 CO61 CO62 CO63 CO64 CO65 CO66 CO67 CO68 CO69 CO70 CO71 CO72 CO73 CO74 CO75 CO76 CO77 CO78 CO79 CO80 CO81 CO82 CO83 CO84 CO85 CO86 CO87 CO88 CO89 CO90 CO91 CO92 CO93 CO94 CO95 CO96 CO97 CO98 CO99 CP00 CP01 CP02 CP03 CP04 CP05 CP06 CP07 CP08 CP09 CP10 CP11 CP12 CP13 CP14 CP15 CP16 CP17 CP18 CP19 CP20 CP21 CP22 CP23 CP24 CP25 CP26 CP27 CP28 CP29 CP30 CP31 CP32 CP33 CP34 CP35 CP36 CP37 CP38 CP39 CP40 CP41 CP42 CP43 CP44 CP45 CP46 CP47 CP48 CP49 CP50 CP51 CP52 CP53 CP54 CP55 CP56 CP57 CP58 CP59 CP60 CP61 CP62 CP63 CP64 CP65 CP66 CP67 CP68 CP69 CP70 CP71 CP72 CP73 CP74 CP75 CP76 CP77 CP78 CP79 CP80 CP81 CP82 CP83 CP84 CP85 CP86 CP87 CP88 CP89 CP90 CP91 CP92 CP93 CP94 CP95 CP96 CP97 CP98 CP99 CQ40 CQ50 CQ60 CQ71 CQ72 CQ73 CQ74 CQ81 CQ82 CQ83 CQ84 CQ91 CQ92 CQ93 CQ94 DN09 DN19 DN29 DN39 DN49 DN59 DN69 DN79 DN89 DN99 DO00 DO01 DO02 DO03 DO04 DO05 DO06 DO07 DO08 DO09 DO10 DO11 DO12 DO13 DO14 DO15 DO16 DO17 DO18 DO19 DO20 DO21 DO22 DO23 DO24 DO25 DO26 DO27 DO28 DO29 DO30 DO31 DO32 DO33 DO34 DO35 DO36 DO37 DO38 DO39 DO40 DO41 DO42 DO43 DO44 DO45 DO46 DO47 DO48 DO49 DO50 DO51 DO52 DO53 DO54 DO55 DO56 DO57 DO58 DO59 DO60 DO61 DO62 DO63 DO64 DO65 DO66 DO67 DO68 DO69 DO70 DO71 DO72 DO73 DO74 DO75 DO76 DO77 DO78 DO79 DO80 DO81 DO82 DO83 DO84 DO85 DO86 DO87 DO88 DO89 DO90 DO91 DO92 DO93 DO94 DO95 DO96 DO97 DO98 DO99 DP00 DP01 DP02 DP03 DP04 DP05 DP06 DP07 DP08 DP09 DP10 DP11 DP12 DP13 DP14 DP15 DP16 DP17 DP18 DP19 DP20 DP21 DP22 DP23 DP24 DP25 DP26 DP27 DP28 DP29 DP30 DP31 DP32 DP33 DP34 DP35 DP36 DP37 DP38 DP39 DP40 DP41 DP42 DP43 DP44 DP45 DP46 DP47 DP48 DP49 DP50 DP51 DP52 DP53 DP54 DP55 DP56 DP57 DP58 DP59 DP60 DP61 DP62 DP63 DP64 DP65 DP66 DP67 DP68 DP69 DP70 DP71 DP72 DP73 DP74 DP75 DP76 DP77 DP78 DP79 DP80 DP81 DP82 DP83 DP84 DP85 DP86 DP87 DP88 DP89 DP90 DP91 DP92 DP93 DP94 DP95 DP96 DP97 DP98 DP99 DQ00 DQ01 DQ02 DQ03 DQ04 DQ10 DQ11 DQ12 DQ13 DQ14 DQ20 DQ21 DQ22 DQ23 DQ24 DQ30 DQ31 DQ32 DQ33 DQ34 DQ40 DQ41 DQ42 DQ43 DQ44 DQ50 DQ51 DQ52 DQ53 DQ54 DQ60 DQ61 DQ62 DQ63 DQ64 DQ70 DQ71 DQ72 DQ73 DQ74 DQ80 DQ81 DQ82 DQ83 DQ84 DQ90 DQ91 DQ92 DQ93 DQ94 EN09 EN19 EN28 EN29 EN38 EN39 EN48 EN49 EN58 EN59 EN68 EN69 EN76 EN77 EN78 EN79 EN82 EN83 EN85 EN86 EN87 EN88 EN89 EN92 EN93 EN94 EN95 EN96 EN97 EN98 EN99 EO00 EO01 EO02 EO03 EO04 EO05 EO06 EO07 EO08 EO09 EO10 EO11 EO12 EO13 EO14 EO15 EO16 EO17 EO18 EO19 EO20 EO21 EO22 EO23 EO24 EO25 EO26 EO27 EO28 EO29 EO30 EO31 EO32 EO33 EO34 EO35 EO36 EO37 EO38 EO40 EO41 EO42 EO43 EO44 EO45 EO46 EO47 EO50 EO51 EO52 EO53 EO54 EO55 EO56 EO57 EO60 EO61 EO62 EO63 EO64 EO65 EO66 EO70 EO71 EO72 EO73 EO74 EO75 EO80 EO81 EO82 EO83 EO84 EO85 EO90 EO91 EO92 EP00 EP01 EP02 EP03 EP04 EP05 EP06 EP07 EP08 EP09 EP10 EP11 EP12 EP13 EP14 EP15 EP16 EP17 EP18 EP19 EP20 EP21 EP22 EP23 EP24 EP25 EP26 EP27 EP28 EP29 EP30 EP31 EP32 EP33 EP34 EP35 EP36 EP37 EP38 EP39 EP40 EP41 EP42 EP43 EP44 EP45 EP46 EP47 EP48 EP49 EP50 EP51 EP52 EP53 EP54 EP55 EP56 EP57 EP58 EP59 EP60 EP61 EP62 EP63 EP64 EP65 EP66 EP67 EP68 EP69 EP70 EP71 EP72 EP73 EP74 EP75 EP76 EP77 EP78 EP79 EP80 EP81 EP82 EP83 EP84 EP85 EP86 EP87 EP88 EP89 EP90 EP91 EP92 EP93 EP94 EP95 EP96 EP97 EP98 EP99 EQ00 EQ01 EQ02 EQ03 EQ04 EQ10 EQ11 EQ12 EQ13 EQ14 EQ20 EQ21 EQ22 EQ23 EQ24 EQ30 EQ31 EQ32 EQ33 EQ34 EQ40 EQ41 EQ42 EQ43 EQ44 EQ50 EQ51 EQ52 EQ53 EQ54 EQ60 EQ61 EQ62 EQ63 EQ64 EQ70 EQ71 EQ72 EQ73 EQ74 EQ80 EQ81 EQ82 EQ83 EQ84 EQ90 EQ91 EQ92 EQ93 EQ94 FN02 FN03 FN04 FN05 FN06 FN07 FN08 FN09 FN13 FN14 FN15 FN16 FN17 FN18 FN19 FN24 FN25 FN26 FN27 FN28 FN29 FN34 FN35 FN36 FN37 FN38 FN39 FN44 FN45 FN46 FN47 FN48 FN49 FN56 FN57 FN58 FN59 FN65 FN66 FN67 FN68 FN69 FN73 FN74 FN75 FN76 FN77 FN78 FN79 FN84 FN85 FN86 FN89 FN94 FN95 FN96 FN99 FO01 FO02 FO03 FO04 FO05 FO09 FO10 FO11 FO12 FO13 FO14 FO15 FO17 FO18 FO19 FO20 FO21 FO22 FO24 FO25 FO26 FO27 FO28 FO29 FO30 FO31 FO32 FO33 FO34 FO35 FO36 FO37 FO38 FO39 FO40 FO41 FO42 FO43 FO44 FO45 FO46 FO47 FO48 FO49 FO50 FO51 FO52 FO53 FO54 FO55 FO56 FO57 FO58 FO59 FO61 FO62 FO63 FO64 FO65 FO66 FO67 FO68 FO69 FO70 FO71 FO72 FO73 FO74 FO75 FO76 FO77 FO84 FO85 FO86 FO87 FO96 FO97 FQ00 FQ01 FQ02 FQ10 FQ11 FQ12 FQ20 FQ21 FQ22 FQ30 FQ31 FQ40 FQ41 FQ50 FQ60 GN07 GN08 GN09 GN17 GN18 GN19 GN27 GN28 GN29 GN36 GN37 GN38 GN39 GO00 GO01 GO02 GO03 GO04 GO05 GO10 GO11 GO12 GO13 GO14 GO20 GO21 GO22 GO23\n" "\n" "# Newfoundland & Labrador, Canada\n" "VO\n" "GN07 GN08 GN09 GN17 GN18 GN19 GN27 GN28 GN29 GN36 GN37 GN38 GN39 GO00 GO01 GO02 GO03 GO04 GO05 GO10 GO11 GO12 GO13 GO14 GO20 GO21 GO22 GO23\n" "\n" "# Australia (by Call Area)\n" "\n" "# External Territory\n" "VK0\n" "MD66 MD67 OD95\n" "\n" "# Capital Territory / Jarvis Bay\n" "VK1\n" "QF44 QF54\n" "\n" "# New South Wales \n" "VK2\n" "QF06 QF07 QF08 QF09 QF14 QF15 QF16 QF17 QF18 QF19 QF23 QF24 QF25 QF26 QF27 QF28 QF29 QF33 QF34 QF35 QF36 QF37 QF38 QF39 QF42 QF43 QF44 QF45 QF46 QF47 QF48 QF49 QF52 QF53 QF54 QF55 QF56 QF57 QF58 QF59 QF67 QF68 QF69\n" "\n" "# Victoria\n" "VK3\n" "QF01 QF02 QF03 QF04 QFO5 QF11 QF12 QF13 QF14 QF15 QF21 QF22 QF23 QF24 QF30 QF31 QF32 QF33 QF34 QF42 QF43\n" "\n" "# Queensland\n" "VK4\n" "PG94 PG95 PG96 PG97 PG98 PG99 PH90 PH91 PH92 PH93 QG01 QG02 QG03 QG04 QG05 QG06 QG07 QG08 QG09 QG11 QG12 QG13 QG14 QG15 QG16 QG17 QG18 QG19 QG21 QG22 QG23 QG24 QG25 QG26 QG27 QG28 QG29 QG31 QG32 QG33 QG34 QG35 QG36 QG37 QG38 QG39 QG41 QG42 QG43 QG44 QG45 QG46 QG47 QG48 QG49 QG50 QG51 QG52 QG53 QG54 QG55 QG56 QG57 QG58 QG61 QG62 QG63 QG64 QG65 QH00 QH01 QH02 QH03 QH04 QH05 QH06 QH07 QH08 QH10 QH11 QH12 QH13 QH14 QH15 QH16 QH17 QH18 QH19 QH20 QH21 QH22 QH23 QH24 QH25 QH30 QH31 QH32 QH40 QI10\n" "\n" "# South Australia\n" "VK5\n" "PF48 PF49 PF58 PF59 PF67 PF68 PF69 PF74 PF75 PF76 PF77 PF78 PF79 PF83 PF84 PF85 PF86 PF87 PF88 PF89 PF92 PF93 PF94 PF95 PF96 PF97 PF98 PF99 PG40 PG41 PG42 PG43 PG50 PG51 PG52 PG53 PG60 PG61 PG62 PG63 PG70 PG71 PG72 PG73 PG80 PG81 PG82 PG83 PG90 PG91 PG92 PG93 QF01 QF02 QF03 QF04 QFO5 QF06 QF07 QF08 QF09 QG00 QG01 QG02 QG03\n" "\n" "# Western Australia\n" "VK6\n" "OF75 OF76 OF77 OF78 OF79 OF84 OF85 OF86 OF87 OF88 OF89 0F94 OF95 OF96 OF97 OF98 OF99 OG62 OG63 OG64 OG65 OG66 OG67 OG68 OG70 OG71 OG72 OG73 OG74 OG75 OG76 OG77 OG78 OG79 OG80 OG81 OG82 OG83 OG84 OG85 OG86 OG87 OG88 OG89 OG90 OG91 OG92 OG93 OG94 OG95 OG96 OG97 OG98 OG99 OH90 PF06 PF07 PF08 PF09 PF15 PF16 PF17 PF18 PF19 PF26 PF27 PF28 PF29 PF37 PF38 PF39 PF47 PF48 PF49 PG00 PG01 PG02 PG03 PG04 PG05 PG06 PG07 PG08 PG09 PG10 PG11 PG12 PG13 PG14 PG15 PG16 PG17 PG18 PG19 PG20 PG21 PG22 PG23 PG24 PG25 PG26 PG27 PG28 PG29 PG30 PG31 PG32 PG33 PG34 PG35 PG36 PG37 PG38 PG39 PG40 PG41 PG42 PG43 PG44 PG45 PG46 PG47 PG48 PG49 PH00 PH01 PH10 PH11 PH12 PH13 PH14 PH17 PH20 PH21 PH22 PH23 PH24 PH25 PH30 PH31 PH32 PH33 PH34 PH35 PH36 PH40 PH41 PH42 PH43 PH44 PH45\n" "\n" "# Tasmania\n" "VK7\n" "QE19 QE26 QE27 QE28 QE29 QE36 QE37 QE38 QE39 QE46 QE47 QE48 QE49 QF10 QF20 QF30 QF40\n" "\n" "# Northern Territory\n" "VK8\n" "PG44 PG45 PG46 PG47 PG48 PG49 PG54 PG55 PG56 PG57 PG58 PG59 PG64 PG65 PG66 PG67 PG68 PG69 PG74 PG75 PG76 PG77 PG78 PG79 PG84 PG85 PG86 PG87 PG88 PG89 PH40 PH41 PH42 PH43 PH44 PH45 PH46 PH50 PH51 PH52 PH53 PH54 PH55 PH56 PH57 PH58 PH60 PH61 PH62 PH63 PH64 PH65 PH66 PH67 PH68 PH69 PH70 PH71 PH72 PH73 PH74 PH75 PH76 PH77 PH78 PH80 PH81 PH82 PH83 PH84 PH85 PH86 PH87 PH88 PH89\n" "\n" "# External Territories\n" "VK9\n" "NH87 NH88 OH29 QH43 QH72 RG30\n" "\n" "# Lord Howe Is\n" "VK9L\n" "QF98\n" "\n" "# Turks & Caicos Is\n" "VP5\n" "FL31 FL41\n" "\n" "# India\n" "VU\n" "MJ88 MJ89 MJ98 MJ99 MK64 MK65 MK66 MK67 MK68 MK69 MK70 MK71 MK72 MK73 MK74 MK75 MK76 MK77 MK78 MK79 MK80 MK81 MK82 MK83 MK84 MK85 MK86 MK87 MK88 MK89 MK90 MK91 MK92 MK93 MK94 MK95 MK96 MK97 MK98 MK99 ML41 ML42 ML43 ML44 ML46 ML47 ML50 ML51 LM52 ML53 ML54 ML55 ML56 ML57 ML58 ML60 ML61 ML62 ML63 ML64 ML65 ML66 ML67 ML68 ML69 ML70 ML71 ML72 ML73 ML74 ML75 ML76 ML77 ML78 ML79 ML80 ML81 ML82 ML83 ML84 ML85 ML86 ML87 ML88 ML89 ML90 ML91 ML92 ML93 ML94 ML95 ML96 ML97 ML98 ML99 MM60 MM63 MM64 MM70 MM71 MM72 MM73 MM74 MM80 MM81 MM82 MM83 MM84 MM85 MM90 MM91 MM92 MM93 MM94 MM95 NK02 NK03 NK04 NK05 NK06 NK07 NK08 NK09 NK16 NK17 NK18 NK19 NK28 NK29 NK39 NL00 NL01 NL02 NL03 NL04 NL05 NL06 NL07 NL08 NL09 NL10 NL11 NL12 NL13 NL14 NL15 NL16 NL17 NL20 NL21 NL22 NL23 NL24 NL25 NL26 NL27 NL30 NL31 NL32 NL33 NL34 NL35 NL36 NL41 NL42 NL43 NL44 NL45 NL46 NL47 NL48 NL52 NL53 NL54 NL55 NL56 NL57 NL61 NL62 NL63 NL64 NL65 NL66 NL67 NL68 NL73 NL74 NL75 NL76 NL77 NL78 NL79 NL87 NL88 NL89 NM00 \n" "\n" "# Mexico (Mainland)\n" "XE\n" "DK78 DK79 DK87 DK88 DK89 DK96 DK97 DK98 DK99 DL26 DL27 DL28 DL29 DL34 DL35 DL36 DL37 DL38 DL39 DL42 DL43 DL44 DL45 DL46 DL47 DL48 DL49 DL52 DL53 DL54 DL55 DL56 DL57 DL58 DL59 DL61 DL62 DL63 DL64 DL65 DL66 DL67 DL68 DL69 DL70 DL71 DL72 DL73 DL74 DL75 DL76 DL77 DL78 DL79 DL80 DL81 DL82 DL83 DL84 DL85 DL86 DL87 DL88 DL89 DL90 DL91 DL92 DL93 DL94 DL95 DL96 DL97 DL98 DL99 DM10 DM11 DM12 DM20 DM21 DM22 DM30 DM31 DM40 DM41 DM50 DM51 DM60 DM61 DM70 DM71 EK06 EK07 EK08 EK09 EK15 EK16 EK17 EK18 EK19 EK25 EK26 EK27 EK28 EK34 EK35 EK36 EK37 EK38 EK45 EK46 EK47 EK48 EK49 EK57 EK58 EK59 EK68 EK69 EL00 EL01 EL02 EL03 EL04 EL05 EL06 EL07 EL10 EL11 EL12 EL13 EL14 EL15 EL40 EL41 EL50 EL51 EL60 EL61\n" "\n" "# Mexico (Islands) [Best guess]\n" "XF1\n" "DL08 DL09 DL38 DL39\n" "\n" "XF2\n" "EL30 EL40 EL42 EL52\n" "\n" "XF3\n" "EK68 EL60\n" "\n" "XF4\n" "DK28 DK38 DK39 DK48 DK49\n" "\n" "# Burkina Faso\n" "XT\n" "IJ79 IJ89 IK70 IK71 IK72 IK73 IK80 IK81 IK82 IK83 IK91 IK92 IK93 IK94 IK95 JK01 JK02 JK03 JK04\n" "\n" "# Syria\n" "YK\n" "KM72 KM73 KM74 KM75 KM82 KM83 KM84 KM85 KM86 KM93 KM94 KM95 KM96 LM04 LM05 LM06 LM16 LM17\n" "KM83\n" "\n" "# Latvia\n" "YL\n" "KO06 KO07 KO16 KO17 KO25 KO26 KO27 KO35 KO36 KO37 KO46\n" "KO26\n" "\n" "# Nicaragua\n" "YN\n" "EK61 EK62 EK63 EK64 EK70 EK71 EK72 EK73 EK74 EK80 EK81 EK82 EK83 EK84 EK85\n" "EK62\n" "\n" "# Romania\n" "YO\n" "KN04 KN05 KN06 KN07 KN13 KN14 KN15 KN16 KN17 KN18 KN23 KN24 KN25 KN26 KN27 KN33 KN34 KN35 KN36 KN37 KN38 KN43 KN44 KN45 KN46\n" "KN34 KN05PS\n" "\n" "# El Salvador\n" "YS\n" "EK43 EK53 EK54 EK63\n" "\n" "# Serbia\n" "YU\n" "JN93 JN94 JN95 JN96 KN02 KN03 KN04 KN05 KN06 KN12 KN13 KN14\n" "KN05 KN34\n" "\n" "# Venezuela\n" "YV\n" "FJ37 FJ38 FJ39 FJ47 FJ48 FJ49 FJ56 FJ57 FJ58 FJ59 FJ60 FJ61 FJ62 FJ63 FJ64 FJ65 FJ66 FJ67 FJ68 FJ69 FJ70 FJ71 FJ72 FJ73 FJ74 FJ75 FJ76 FJ77 FJ78 FJ79 FJ82 FJ83 FJ84 FJ85 FJ86 FJ87 FJ88 FJ89 FJ94 FJ95 FJ96 FJ97 FJ98 FJ99 FK30 FK31 FK32 FK40 FK41 FK42 FK50 FK51 FK52 FK60 FK70 FK80 GJ08\n" "FK40 FK60\n" "\n" "# N. Macedonia\n" "Z3\n" "KN00 KN01 KN02 KN11 KN12\n" "KN01\n" "\n" "# South Sudan (EXCL. Disputed areas, Dec 2020)\n" "Z8\n" "KJ27 KJ28 KJ29 KJ34 KJ35 KJ36 KJ37 KJ38 KJ39 KJ44 KJ45 KJ 46 KJ47 KJ48 KJ49 KJ53 KJ54 KJ55 KJ56 KJ57 KJ58 KJ59 KJ63 KJ64 KJ65 KJ66 KJ67 KJ68 KJ69 KJ74 KJ75 KJ76 KJ77 KJ78 KJ79 KK40 KK50 KK60 KK61 KK62\n" "KJ54\n" "\n" "# Albania\n" "ZA\n" "JM99 JN90 JN91 JN92 KM09 KN00 KN01 KN02\n" "JN91\n" "\n" "# Gibraltar\n" "ZB\n" "IM76\n" "\n" "# UK Bases, Cyprus\n" "ZC\n" "KM64 KM65\n" "\n" "# Cayman Is\n" "ZF\n" "EK99 FK09\n" "\n" "# New Zealand\n" "ZL\n" "AE15 AE16 RE32 RE33 RE34 RE35 RE42 RE43 RE44 RE45 RE46 RE53 RE54 RE55 RE56 RE57 RE58 RE65 RE66 RE67 RE68 RE69 RE78 RE79 RE88 RE89 RF60 RF63 RF64 RF65 RF70 RF71 RF72 RF73 RF74\n" "\n" "\n" ; const char txt_tucnakwiz[15796] = "[Region I Standard Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=ABCEGHIJKLMNOPQ\n" "\n" "[Region I Std test 59 expert]\n" "pexch=\n" "tttype=3\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=0\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=CEGHIJKLMN\n" "\n" "[I. subregionalni zavod]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=CEGHIJKLMN\n" "\n" "[II. subregionalni zavod]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=CEGHIJKLMN\n" "\n" "[Microwave contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=GHIJKLMN\n" "\n" "[III. subregionalni zavod]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=CEGHIJKLMN\n" "\n" "[IARU Region I. VHF Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=C\n" "\n" "[IARU Region I. UHF Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=EGHIJKLMN\n" "\n" "[Marconi memorial/A1 Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=C\n" "\n" "[OK VHF Activity Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=1\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=4\n" "total_method=1\n" "bands=CEGHIJKLMN\n" "\n" "[FM pohar]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=4\n" "total_method=1\n" "bands=CEGHIJKLMN\n" "\n" "[OK Easter Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=CEGHIJKLMN\n" "\n" "[OK X-MAS Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=C\n" "\n" "[AGCW VHF/UHF Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=1\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=2\n" "excname=AGCW\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=CE\n" "\n" "[RSGB M1-type Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=1\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=2\n" "excname=RSGBDC\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=1\n" "qsop_method=12\n" "total_method=2\n" "bands=BC\n" "\n" "[RSGB M2-type Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=1\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=0\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=2\n" "total_method=1\n" "bands=ABCEG\n" "\n" "[RSGB M3-type Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=1\n" "wwlcfm=1\n" "excused=1\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=2\n" "excname=RSGBDC\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=1\n" "qsop_method=12\n" "total_method=2\n" "bands=ACE\n" "\n" "[RSGB M4-type Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=1\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=0\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=1\n" "qsop_method=2\n" "total_method=2\n" "bands=ABCEK\n" "\n" "[RSGB M5-type Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=1\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=0\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=17\n" "total_method=2\n" "bands=ABCEK\n" "\n" "[SSB Liga]\n" "pexch=\n" "rstused=1\n" "tttype=2\n" "qsoused=0\n" "wwlused=0\n" "qsomult=1\n" "qsoglob=1\n" "qsop_method=1\n" "wwlbonu=0\n" "wwlmult=0\n" "dxcbonu=0\n" "dxcmult=0\n" "excbonu=0\n" "excmult=1\n" "total_method=1\n" "excused=1\n" "exctype=2\n" "excname=OKRES\n" "exccfm=0\n" "defrstr=1\n" "bands=V\n" "\n" "[SOTA/GMA/FF]\n" "pexch=\n" "tttype=2\n" "qsoused=0\n" "qsomult=0\n" "qsoglob=1\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=2\n" "excbonu=0\n" "excmult=10\n" "exccfm=0\n" "exctype=0\n" "excname=summit ref\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=21\n" "total_method=4\n" "bands=WXACE\n" "\n" "[CQ WW DX Contest]\n" "pexch=\n" "tttype=4\n" "qsoused=0\n" "qsomult=1\n" "qsoglob=1\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=1\n" "excbonu=0\n" "excmult=1\n" "exccfm=0\n" "exctype=3\n" "excname=WAZ\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=1\n" "qsop_method=13\n" "total_method=3\n" "bands=UVWXYZ\n" "\n" "[CQ WW WPX Contest]\n" "pexch=\n" "tttype=3\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=1\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=0\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "prefmult=1\n" "qsop_method=14\n" "total_method=3\n" "bands=UVWXYZ\n" "\n" "[UKSMG Summer Contest]\n" "pexch=\n" "tttype=4\n" "qsoused=2\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "excused=1\n" "excbonu=0\n" "excmult=0\n" "exccfm=0\n" "exctype=1\n" "excname=SUMMER\n" "excmult=1\n" "rstused=1\n" "defrstr=0\n" "dxcmult=0\n" "qsop_method=12\n" "total_method=1\n" "bands=A\n" "\n" "[ARRL VHF Contest]\n" "pexch=\n" "tttype=3\n" "qsoused=0\n" "qsomult=0\n" "qsoglob=1\n" "wwlused=3\n" "wwlbonu=0\n" "wwlmult=1\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=0\n" "exctype=0\n" "excname=\n" "rstused=0\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=15\n" "total_method=4\n" "bands=ABCDEFGHIJKLMNOPQ\n" "\n" "[ARRL Internat. DX Contest]\n" "pexch=\n" "tttype=2\n" "qsoused=0\n" "qsomult=3\n" "qsoglob=1\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=1\n" "excbonu=0\n" "excmult=1\n" "exccfm=0\n" "exctype=2\n" "excname=USACA\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=2\n" "total_method=3\n" "bands=UVWXYZ\n" "\n" "[Championat de France THF]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=16\n" "total_method=1\n" "bands=CEGHIJKLMNOPQ\n" "\n" "[OK-OM DX Contest - OK stn.]\n" "pexch=\n" "rstused=1\n" "tttype=3\n" "qsoused=1\n" "wwlused=0\n" "qsomult=1\n" "qsoglob=1\n" "qsop_method=14\n" "wwlbonu=0\n" "wwlmult=0\n" "dxcbonu=0\n" "dxcmult=0\n" "excbonu=0\n" "excmult=1\n" "total_method=3\n" "excused=2\n" "exctype=0\n" "excname=OKRES\n" "exccfm=1\n" "defrstr=1\n" "bands=UVWXYZ\n" "\n" "[Nordic Activity Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=2\n" "qsomult=1\n" "qsomult_h=4\n" "qsomult_i=9\n" "qsomult_j=16\n" "qsomult_k=25\n" "qsomult_l=36\n" "qsomult_m=49\n" "qsomult_n=64\n" "qsomult_o=81\n" "qsomult_p=100\n" "qsomult_q=121\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=500\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=ABCEGHIJKLKMNOPQZ\n" "\n" "[DARC 10m Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=0\n" "qsoglob=0\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=1\n" "excbonu=0\n" "excmult=1\n" "exccfm=0\n" "exctype=5\n" "excname=DOK\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=1\n" "qsop_method=21\n" "total_method=1\n" "bands=Z\n" "\n" "[DARC 2m Education Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=1\n" "qsop_method=1\n" "total_method=1\n" "bands=C\n" "\n" "[DARC Easter Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=0\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=2\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=5\n" "excname=DOK\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=1\n" "prefmult=1\n" "qsop_method=1\n" "total_method=3\n" "bands=VW\n" "\n" "[DARC Koeln-Aachen-Contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=2\n" "excname=KAC\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=2\n" "total_method=1\n" "bands=CEVZ\n" "\n" "[DARC VHF,UHF,Microwave]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=2\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=2\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=ABCEGHIJKLKMNOPQZ\n" "\n" "[Westphalia-North Activity]\n" "pexch=\n" "tttype=2\n" "qsoused=2\n" "qsomult=1\n" "qsoglob=1\n" "wwlused=2\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=2\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=5\n" "excname=WNA\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=19\n" "total_method=4\n" "bands=CE\n" "\n" "[Westphalia-South Activity]\n" "pexch=\n" "tttype=2\n" "qsoused=2\n" "qsomult=1\n" "qsoglob=1\n" "wwlused=2\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=2\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=5\n" "excname=WSA\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=19\n" "total_method=4\n" "bands=CE\n" "\n" "[R-Contest]\n" "pexch=\n" "tttype=2\n" "qsoused=2\n" "qsomult=1\n" "qsoglob=1\n" "wwlused=2\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=2\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=5\n" "excname=RCONT\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=21\n" "total_method=4\n" "bands=CEG\n" "\n" "[Ruhrgebiets Contest]\n" "pexch=\n" "tttype=2\n" "qsoused=2\n" "qsomult=1\n" "qsoglob=1\n" "wwlused=2\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=2\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=5\n" "excname=LCONT\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=21\n" "total_method=4\n" "bands=CEVW\n" "\n" "[ON Contest, UBA Section MCL (Mechelen)]\n" "pexch=\n" "tttype=3\n" "qsoused=1\n" "qsomult=3\n" "qsoglob=1\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=1\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=2\n" "excname=uba\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=2\n" "total_method=1\n" "bands=ACV\n" "\n" "[Contest Lombardia]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "prefmult=1\n" "qsop_method=20\n" "total_method=1\n" "bands=C\n" "\n" "[Moon contest]\n" "pexch=\n" "tttype=1\n" "qsoused=1\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=1\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=1\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=1\n" "excname=QTH\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=22\n" "total_method=1\n" "bands=ACE\n" "\n" "[CUC contest]\n" "pexch=\n" "tttype=3\n" "qsoused=1\n" "qsomult=0\n" "qsoglob=1\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=0\n" "excused=0\n" "excbonu=10\n" "excmult=0\n" "exccfm=0\n" "exctype=0\n" "excname=NR\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=21\n" "total_method=4\n" "bands=VW\n" "\n" "[Paleni carodejnic]\n" "pexch=YL OHEN\n" "tttype=1\n" "qsoused=2\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=2\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=2\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=1\n" "excname=bonus\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=2\n" "total_method=1\n" "bands=VC\n" "\n" "[ARI DX]\n" "pexch=\n" "tttype=3\n" "qsoused=2\n" "qsomult=1\n" "qsoglob=1\n" "wwlused=0\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=2\n" "excbonu=0\n" "excmult=1\n" "exccfm=1\n" "exctype=2\n" "excname=ARI\n" "rstused=1\n" "defrstr=1\n" "dxcbonu=0\n" "dxcmult=1\n" "qsop_method=14\n" "total_method=3\n" "bands=UVWXYZ \n" "\n" "[Expedition]\n" "pexch=\n" "tttype=1\n" "qsoused=0\n" "qsomult=1\n" "qsoglob=0\n" "wwlused=2\n" "wwlbonu=0\n" "wwlmult=0\n" "wwlcfm=1\n" "excused=0\n" "excbonu=0\n" "excmult=0\n" "exccfm=1\n" "exctype=0\n" "excname=\n" "rstused=1\n" "defrstr=0\n" "dxcbonu=0\n" "dxcmult=0\n" "qsop_method=1\n" "total_method=1\n" "bands=ABCEGHIJKLMNOPQUVWXYZ\n" ; const char txt_tucnakvexcari[377] = "AL AT BI CN GE IM NO SP SV TO VB VC\n" "AO\n" "BG BS CO CR LC LO MB MI MN PV SO VA\n" "BL PD RO TV VE VI VR\n" "BZ TN\n" "GO PN TS UD\n" "BO FC FE MO PC PR RA RE RN\n" "AR FI GR LI LU MS PI PO PT SI\n" "AN AP AQ CH FM MC PE PU TE\n" "BA BR BT FG LE MT TA\n" "AV BN CB CE CS CZ IS KR NA PZ RC SA VV\n" "FR LT PG RI RM TR VT\n" "AG CL CT EN ME PA RG SR TP\n" "CA NU OR SS SU\n" ; const char txt_tucnakvexckac[247] = "DVG KA YLG\n" "G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 G14 G15 G16 G17 G18\n" "G19 G20 G21 G22 G23 G24 G25 G26 G27 G28 G29 G33 G34 G35 G36 G37 G38 G40\n" "G41 G43 G44 G45 G46 G47 G48 G49 G50 G51 G53 G54 G55 G56 G73\n" "Z12 Z32 Z37\n" ; const char txt_tucnakvexcdok[4711] = "A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 A33 A34 A35 A36 A37 A39 A40 A41 A43 A44 A45 A46 A47 A48 A50 A52 A53 A55\n" "B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 B32 B33 B34 B35 B36 B37 B38 B39 B40 B41 B42 B43\n" "C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 C31 C32 C33 C34 C35 C36 C37\n" "D01 D02 D03 D04 D05 D06 D07 D08 D09 D10 D11 D12 D13 D14 D15 D16 D17 D19 D20 D21 D23 D24 D25 D26 D27\n" "E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E15 E16 E17 E18 E19 E20 E21 E22 E23 E24 E25 E26 E27 E28 E29 E30 E31 E32 E33 E34 E35 E36 E37 E38 E39\n" "F01 F02 F03 F04 F05 F06 F07 F08 F09 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 F51 F52 F53 F54 F55 F56 F57 F58 F59 F60 F61 F62 F63 F64 F65 F66 F67 F68 F69 F70 F71 F72 F73 F74 F75 F76\n" "G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 G14 G15 G16 G17 G18 G19 G20 G21 G22 G23 G24 G25 G26 G27 G28 G29 G31 G32 G33 G34 G35 G36 G37 G38 G40 G41 G42 G43 G44 G45 G46 G47 G48 G49 G50 G51 G52 G53 G54 G55 G56 G74\n" "H01 H02 H03 H04 H05 H06 H07 H08 H09 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 H25 H27 H28 H29 H30 H31 H32 H33 H34 H35 H36 H37 H38 H39 H40 H41 H42 H43 H44 H45 H46 H47 H48 H49 H50 H51 H52 H53 H54 H55 H56 H57 H59 H60 H61 H62 H63 H64 H65 H66\n" "I01 I02 I03 I04 I05 I06 I07 I08 I09 I10 I11 I12 I13 I14 I15 I16 I17 I18 I19 I20 I21 I22 I23 I24 I25 I26 I27 I28 I29 I30 I31 I32 I33 I34 I35 I36 I37 I38 I39 I40 I41 I42 I43 I44 I45 I46 I47 I48 I49 I50 I51 I52 I53 I54 I55 I56 I57 I58\n" "K01 K02 K03 K04 K05 K06 K07 K08 K09 K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 K30 K31 K32 K33 K34 K35 K36 K38 K39 K40 K41 K42 K43 K44 K45 K46 K47 K48 K49 K50 K51 K52 K53 K54 K55 K56 K57\n" "L01 L02 L03 L04 L05 L06 L07 L08 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L22 L23 L24 L26 L27 L29 L30 L31\n" "M01 M02 M03 M04 M05 M06 M07 M08 M09 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M27 M28 M29 M30 M31 M32 M33 M34 M35\n" "N01 N02 N03 N04 N05 N06 N07 N08 N09 N10 N11 N12 N13 N14 N15 N16 N17 N18 N19 N20 N21 N22 N23 N24 N25 N26 N28 N29 N30 N31 N32 N33 N34 N35 N36 N37 N38 N39 N40 N41 N42 N43 N44 N45 N46 N47 N48 N49 N50 N51 N52 N53 N54 N55 N56 N57 N58 N59 N60 N61 N62\n" "O01 O02 O03 O04 O05 O06 O07 O08 O09 O10 O11 O12 O13 O14 O15 O16 O17 O18 O19 O20 O21 O22 O23 O24 O25 O26 O27 O28 O29 O30 O31 O32 O33 O34 O35 O36 O37 O38 O39 O40 O41 O42 O43 O44 O45 O46 O47 O48 O49 O51 O52 O53 O54 O55\n" "P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31 P32 P33 P34 P35 P36 P37 P38 P39 P40 P42 P43 P44 P45 P46 P47 P48 P49 P50 P51 P52 P53 P54 P55 P56 P57 P59 P60 P61 P62\n" "Q01 Q02 Q03 Q04 Q05 Q06 Q07 Q08 Q09 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21\n" "R01 R02 R03 R04 R05 R06 R07 R08 R09 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 R30 R31 R32 R33 R34\n" "S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 S12 S13 S14 S15 S16 S18 S19 S20 S21 S22 S24 S25 S26 S27 S28 S29 S30 S31 S32 S33 S34 S35 S36 S37 S38 S41 S42 S43 S44 S45 S46 S47 S48 S49 S50 S51 S52 S53 S54 S55 S56 S57 S58 S59 S60 S62 S63 S64 S65 S66 S69 S70 \n" "T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20 T21\n" "U01 U02 U03 U04 U05 U06 U07 U08 U09 U10 U11 U12 U13 U14 U15 U16 U17 U18 U19 U20 U21 U22 U23 U24 U25 U26 U27 U28 U29 U30 \n" "V01 V02 V03 V04 V05 V06 V07 V08 V09 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V22 V23 V24 V25 V26 V27 V28 V29 V30\n" "W01 W02 W03 W04 W05 W06 W07 W08 W09 W10 W11 W12 W13 W14 W15 W17 W18 W19 W20 W21 W22 W23 W24 W26 W27 W28 W29 W30 W31 W32 W33 W34 W35 W36 W37 W38\n" "X01 X02 X03 X04 X05 X06 X07 X08 X09 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X27 X28 X29 X30 X31 X32 X33 X34 X35 X36 X37 X38 X39 X40 X41 X42 X43 X44 X45 X46 X47 X48\n" "Y01 Y02 Y03 Y04 Y05 Y06 Y07 Y08 Y09 Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17 Y18 Y19 Y20 Y21 Y22 Y24 Y25 Y26 Y27 Y28 Y30 Y33 Y34 Y35 Y36 Y37 Y38 Y39 Y40 Y41 Y42 Y43\n" "Z01 Z02 Z03 Z04 Z05 Z06 Z07 Z08 Z09 Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17 Z18 Z19 Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27 Z28 Z29 Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37 Z38 Z39 Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47 Z48 Z49 Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57 Z58 Z59 Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67 Z68 Z69 Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77 Z78 Z79 Z81 Z82 Z83 Z84 Z85 Z86 Z87 Z88 Z89 Z90 Z91 Z92 Z93 Z94 \n" ; const char txt_tucnakvexcagcw[10] = "A B C\n" ; const char txt_tucnakvexcokres[725] = "APA APB APC APD APE APF APG APH API APJ\n" "BBN BBE BKD BKO BKH BME BMB BNY BPZ BPV BPB BRA\n" "CBU CCK CJH CPE CPI CPR CST CTA\n" "DDO DCH DKV DKL DPM DPJ DPS DRO DSO DTA\n" "ECL EDE ECH EJA ELI ELT ELO EMO ETE EUL \n" "FHB FHK FCR FJI FNA FPA FRK FSE FSV FTR FUO\n" "GBL GBM GBV GBR GHO GJI GKR GPR GTR GUH GVY GZL GZN GZS\n" "HBR HFM HJE HKA HNJ HOL HOP HOS HPR HSU HVS\n" "BAA BAB BAC BAD BAE MAL PEZ SEN\n" "TRN DST GAL HLO PIE SEA SKA\n" "TNC BAN ILA MYJ NMV PAR PBY PRI PUC\n" "NIT KOM LVC NZA SAL TOP ZMO\n" "ZIL BYT CAD DKU KNM LMI MAR NAM RUZ TTE TVR\n" "BBY BRE DET KRU LUC POL REV RSO VKR ZVO ZAR ZIH BST\n" "KEA KEB KEC KED KEO GEL MIC ROZ SOB SNV TRE\n" "PRE BAR HUM KEZ LEV POP SAB SNI SLU STR SVI VRT MED\n" ; const char txt_tucnakvexcrsgbdc[429] = "AB AL BA BB BD BH BL BM BN\n" "BR BS BT CA CB CF CH CM CO \n" "CR CT CV CW DA DD DE DG DH\n" "DL DN DT DY EC EH EL EN EX\n" "FK FY GL GS GU GY HA HD HG\n" "HP HR HS HU HX IG IM IP IV\n" "JE KA KT KW KY LA LD LE LL\n" "LN LP LS LU ME MK ML MR NE\n" "NG NL NN NP NR NW OL OX PA\n" "PE PH PL PO PR RG RH RM SA\n" "SD SE SG SK SL SM SN SO SP\n" "SR SS ST SW SY TA TD TF TN\n" "TQ TR TS TW UB WA WC WD WF\n" "WL WN WR WS WV YO ZE\n" ; const char txt_tucnakvexcuba[617] = "AAA \tHAC \tPHI \n" "ACC \tHCC \tRAC \n" "ALT \tHOB \tRAF \n" "ARA \tHRT \tRAM \n" "ARC \tIPR \tRAT \n" "AST \tKSD \tRBO \n" "ATH \tKTK \tRCA \n" "ATO \tLGE \tRCB \n" "BDX \tLIR \tRCN \n" "BFA \tLLV \tREM \n" "BLW \tLUS \tRST \n" "BRC \tLVN \tRSX \n" "BSE \tMCL \tSNW \n" "BTS \tMLB \tTHN \n" "BXE \tMNS \tTLS \n" "CDZ \tMTT \tTRA \n" "CLR \tMWV \tTRC \n" "CPN \tNBT \tTWS \n" "CRD \tNLB \tUBA \n" "DNZ \tNMR \tVHF \n" "DRC \tNNV \tWLD \n" "DST \tNOK \tWRA \n" "EKO \tNOL \tWRC \n" "ERA \tODE \tWTN \n" "GBN \tONZ \tWTO \n" "GBX \tORA \tXXX \n" "GDV \tOSA \tZLB \n" "GNT \tOSB \tZLZ \n" "GTM \tOST \tZTM \n" "XXX\n" ; const char txt_tucnakvexcusaca[496] = "AB \n" "AL\n" "ALB \n" "ALT \n" "AR\n" "AZ\n" "BC \n" "CA\n" "CO\n" "CT\n" "DC\n" "DE\n" "FL\n" "GA\n" "IA\n" "ID\n" "IL\n" "IN\n" "KS\n" "KY\n" "LA\n" "LAB\n" "MA\n" "MAN \n" "MB \n" "MD\n" "ME\n" "MI\n" "MN\n" "MO\n" "MS\n" "MT\n" "NB\n" "NC\n" "ND\n" "NE\n" "NF \n" "NH\n" "NJ\n" "NM\n" "NS\n" "NV\n" "NWT \n" "NY\n" "OH\n" "OK\n" "ON \n" "OR\n" "PA\n" "PEI\n" "PQ \n" "QC \n" "QU\n" "RI\n" "SC\n" "SD\n" "SK \n" "TN\n" "TX\n" "UT\n" "VA\n" "VT\n" "WA\n" "WI\n" "WV\n" "WY\n" "YT\n" "YU\n" ; const char txt_tucnakvexcwna[247] = "N01 N02 N04 N05 N06 N08 N09 N10 N11 N12 N13 N14 N15 N16 N17 N18 N19 N20 N21 N22 N23 N24 N25 N26 N28 N29 N30 N32 N33 N34 N35 N38 N39 N40 N41 N42 N43 N44 N46 N47 N48 N49 N50 N51 N52 N53 N59 N60 N61 N62\n" "DVN\n" "WN\n" "YLN\n" "Z14 Z34 Z41 Z60\n" ; const char txt_tucnakvexcwsa[238] = "DVO DWS \n" "O01 O02 O03 O04 O05 O06 O08 O09 O10 O11 O12 O14 O15 O16 O17 O18 O19 O22 O23 O25 O26 O27 O28 O29 O30 O32 O33 O34 O35 O36 O37 O38 O39 O40 O41 O42 O43 O44 O45 O46 O47 O48 O49 O51 O52 O53 O54 O55\n" "YLO \n" "Z03 Z38 Z92 Z93\n" ; const char txt_tucnakvexcrcont[201] = "ARDFR\n" "BY\n" "CM86\n" "DIG\n" "DVR\n" "R01 R02 R03 R04 R05 R06 R07 R09 R10 R11 R12 R13 R14 R15 R16 R17 R19 R20 R21 R22 R24 R25 R26 R27 R29 R31 R32 R33 R34 R55 R57\n" "RDP\n" "XRAY XX\n" "YL YLR\n" ; const char txt_tucnakvexclcont[161] = "DRG\n" "DVL\n" "L01 L02 L03 L04 L05 L06 L07 L08 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L22 L23 L24 L26 L29 L30 L31 L33\n" "YLL\n" "Z40 Z45 Z59 Z63 Z81 \n" ; const char txt_update_deb[804] = "#!/bin/sh\n" "\n" "echo \"*** This is upgrade script for Tucnak\"\n" "echo \"*** Please follow instructions below\"\n" "echo \"\"\n" "\n" "echo \"sudo LANG= LC_ALL= dpkg -i '$1' '$2'\"\n" "LANG= LC_ALL= sudo dpkg -i \"$1\" \"$2\"\n" "if test x\"$?\" = x\"0\" ; then\n" " echo \"*** Seems OK. Please restart Tucnak\"\n" " exit 0\n" "else\n" " echo \"*** sudo returns $?, falling to su\"\n" "fi\n" "\n" "\n" "echo \"*** Please enter root's password\"\n" "echo su -l -c dpkg -i \"$1\" \"$2\" root\n" "su -l -c \"dpkg -i \\\"$1\\\" \\\"$2\\\"\" root\n" "if test x\"$?\" = x\"0\" ; then\n" " echo \"*** Seems OK. Please restart Tucnak\"\n" " exit 0\n" "else\n" " echo \"*** su returns $?, giving up\"\n" " echo \"*** Please run as root: dpkg -i '$1' '$2'\"\n" " exit 1\n" "fi\n" "\n" ; const char txt_update_eee[414] = "#!/bin/sh\n" "\n" "echo \"*** This is upgrade script for Tucnak\"\n" "echo \"*** Please follow instructions bellow\"\n" "echo \"\"\n" " \n" "cd $HOME\n" "echo \"tar xvzf '$2' tucnak/tucnak\"\n" "tar xvzf '$2' tucnak/tucnak\n" "\n" "if test x\"$?\" = x\"0\" ; then\n" " echo \"*** Seems OK. Please restart Tucnak\"\n" " exit 0\n" "else\n" " echo \"*** tar returns $?, giving up\"\n" "fi\n" "\n" "\n" ; tucnak-4.32/src/sndpipe.c0000644000175000017500000000460112460207027012246 00000000000000/* Tucnak - VHF contest log Copyright (C) 2014-2015 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "fifo.h" #include "language2.h" #include "sndpipe.h" int sndpipe_open(struct dsp *dsp, int rec){ dbg("sndpipe_open(%s)\n", rec?"record":"playback"); zg_free0(dsp->name); dsp->name = g_strdup("sndpipe"); dsp->samples = dsp->frames * dsp->channels; dsp->bytes = dsp->samples * sizeof(short); if (!dsp->pipe_opened){ if (z_pipe(dsp->pipe) < 0){ log_addf(VTEXT(T_CANT_OPEN_SOUND_PIPE)); goto err; } dsp->pipe_opened = 1; } z_sock_nonblock(dsp->pipe[0], 1); //log_addf("sndpipe opened, rate=%d, bufsize=%df %ds %db", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); dbg("sndpipe opened, rate=%d, bufsize=%df %ds %db\n", dsp->speed, dsp->frames, dsp->samples, dsp->bytes); goto x; err:; sndpipe_close(dsp); x:; return 0; } int sndpipe_close(struct dsp *dsp){ dbg("sndpipe_close()\n"); dsp->reset(dsp); z_pipe_close(dsp->pipe[0]); z_pipe_close(dsp->pipe[1]); dsp->pipe_opened = 0; dsp->pipe_opened_for_play = 0; return 0; } int sndpipe_write(struct dsp *dsp, void *data, int frames){ int ret; int bytes = (frames * dsp->bytes) / dsp->frames; ret = z_pipe_write(dsp->pipe[1], data, bytes); if (ret > 0) ret = (ret * dsp->frames) / dsp->bytes; return ret; } int sndpipe_read(struct dsp *dsp, void *data, int frames){ int ret; int bytes = (frames * dsp->bytes) / dsp->frames; ret = z_pipe_read(dsp->pipe[0], data, bytes); if (ret < 0){ if (z_sock_wouldblock(z_sock_errno)) return -EWOULDBLOCK; } if (ret > 0) ret = (ret * dsp->frames) / dsp->bytes; return ret; } int sndpipe_reset(struct dsp *dsp){ return 0; } int sndpipe_sync(struct dsp *dsp){ return 0; } #ifdef HAVE_SNDFILE int sndpipe_set_format(struct dsp *dsp, SF_INFO *sfinfo, int ret){ dsp->speed = sfinfo->samplerate; dsp->channels = sfinfo->channels; dsp->frames = 0; return 0; } #endif int sndpipe_set_sdr_format(struct dsp *dsp, int frames, int speed, int rec){ dsp->speed = speed; dsp->channels = 2; dsp->frames = frames; if (dsp->speed != 0) dsp->period_time = frames * 1000 / dsp->speed; return 0; } tucnak-4.32/src/soundwrapper.c0000644000175000017500000000471013310023325013326 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifdef HAVE_CONFIG_H #include "../config.h" #endif #include #include #include #include #include #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef HAVE_SYS_KD_H #include #endif #include #include #ifdef HAVE_UNISTD_H #include #endif #ifdef KIOCSOUND int main(int argc, char *argv[]){ int ret, fd, freq, arg; int quiet = 0; if (argc > 1 && strcmp(argv[1], "-q") == 0) quiet = 1; fd=open("/dev/console", O_WRONLY|O_SYNC); if (fd<0) { if (!quiet) fprintf(stderr, "Can't open /dev/console, error %d %s\n", errno, strerror(errno)); return 1; } if (argc > 1){ freq = atoi(argv[1]); if (freq){ arg=1193180/freq; if (!quiet) printf("%d\n", 1193180/arg); }else arg=0; ret=ioctl(fd, KIOCSOUND, arg); if (ret){ close(fd); if (!quiet) fprintf(stderr, "Can't run IOCTL KIOCSOUND, error %d %s\n", errno, strerror(errno)); return 1; } close(fd); return 0; } while(1){ ret=read(0, &freq, sizeof(freq)); if (ret!=sizeof(freq)){ close(fd); if (ret>0 && !quiet) fprintf(stderr, "Can't read %d bytes from /dev/console (only %d), error %d %s\n", (int)sizeof(freq), ret, errno, strerror(errno)); return 1; } if (freq==-1) break; if ((freq!=0 && freq<50) || freq>20000) continue; if (freq) arg=1193180/freq; else arg=0; ret=ioctl(fd, KIOCSOUND, arg); if (ret){ close(fd); if (!quiet) fprintf(stderr, "Can't run IOCTL KIOCSOUND, error %d %s\n", errno, strerror(errno)); return 1; } } close(fd); return 0; } #else #ifdef WIN32 #include int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ main(0, NULL); } #endif int main(int argc, char *argv[]){ fprintf(stderr, "ioctl(KIOCSOUND) not supported on this system\n"); return 0; } #endif tucnak-4.32/src/menu3.c0000644000175000017500000007454014000322113011626 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2021 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "bfu.h" #include "control.h" #include "cwdb.h" #include "ebw.h" #include "edi.h" #include "excdb.h" #include "fifo.h" #include "hf.h" #include "inputln.h" #include "kbd.h" #include "main.h" #include "menu.h" #include "namedb.h" #include "net.h" #include "qrvdb.h" #include "qsodb.h" #include "session.h" #include "stats.h" #include "subwin.h" #include "terminal.h" #include "tregex.h" #include "trig.h" #include "zosk.h" /*********************** DUPLICATE CALLSIGN *********************************/ void duplicate_callsign_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_buttons_width(term, dlg->items +0, 1, &max); min_buttons_width(term, dlg->items +0, 1, &min); max_buttons_width(term, dlg->items +1, 1, &max); min_buttons_width(term, dlg->items +1, 1, &min); max_buttons_width(term, dlg->items +2, 1, &max); min_buttons_width(term, dlg->items +2, 1, &min); max_buttons_width(term, dlg->items +3, 1, &max); min_buttons_width(term, dlg->items +3, 1, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB; if (w < 1) w = 1; rw = 0; y++; dlg_format_buttons(NULL, term, dlg->items +0, 1, 0, &y, w, &rw, AL_CENTER); dlg_format_buttons(NULL, term, dlg->items +1, 1, 0, &y, w, &rw, AL_CENTER); dlg_format_buttons(NULL, term, dlg->items +2, 1, 0, &y, w, &rw, AL_CENTER); dlg_format_buttons(NULL, term, dlg->items +3, 1, 0, &y, w, &rw, AL_CENTER); y++; w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_buttons(term, term, dlg->items +0, 1, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER); dlg_format_buttons(term, term, dlg->items +1, 1, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER); dlg_format_buttons(term, term, dlg->items +2, 1, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER); dlg_format_buttons(term, term, dlg->items +3, 1, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER); y++; /* dlg_format_text(term, term, contest_options1_msg[3], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);*/ /* dlg_format_field(term, term, &dlg->items[3], dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT);*/ /* y++;*/ /* dlg_format_text(term, term, contest_options1_msg[4], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT); dlg_format_field(term, term, &dlg->items[4], dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); dlg_format_text(term, term, contest_options1_msg[4], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT); dlg_format_field(term, term, &dlg->items[4], dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); y++;*/ } int dlg_clear_tmpqsos(struct dialog_data *dlg, struct dialog_item_data *di){ clear_tmpqsos(aband,1); return cancel_dialog(dlg,di); } /* todo prototyp */ int dlg_edit_qso(struct dialog_data *dlg, struct dialog_item_data *di){ edit_qso((struct qso *)dlg->dlg->refresh_data); clear_tmpqsos(aband, 1); return cancel_dialog(dlg,di); } int dlg_mark_as_error(struct dialog_data *dlg, struct dialog_item_data *di){ struct qso *qso; qso = (struct qso*) dlg->dlg->refresh_data; qso_mark_as_error(aband, atoi(qso->qsonrs)-1); recalc_stats(aband); aband->dupe_qso = NULL; ADD_TMPQSO_STRING(aband, callsign, qso->callsign, 1, ucallsign); wkd_tmpqso(aband, WT_CALLSIGN, qso->callsign); return cancel_dialog(dlg,di); } int dlg_store_as_dupe(struct dialog_data *dlg, struct dialog_item_data *di){ struct qso *qso; aband->dupe_qso = NULL; qso = (struct qso*) dlg->dlg->refresh_data; aband->tmpqsos[0].dupe = 1; ADD_TMPQSO_STRING(aband, callsign, qso->callsign, 1, ucallsign); TMPQ.ucallsign=1; if (!TMPQ.ulocator) add_tmpqso_locator(aband, qso->locator, 0, 0); wkd_tmpqso(aband, WT_CALLSIGN, qso->callsign); wkd_tmpqso(aband, WT_LOCATOR, qso->locator); return cancel_dialog(dlg,di); } void duplicate_callsign(struct qso *qso) { struct dialog *d; int i; #ifdef Z_HAVE_SDL if (gses->osk){ zosk_free(gses->osk); gses->osk = NULL; sdl_force_redraw(); } #endif if (!(d = g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_DUPE_QSO); d->fn = duplicate_callsign_fn; d->refresh = (void (*)(void *))dlg_clear_tmpqsos; d->refresh_data = (void *)qso; d->items[i=0].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = dlg_clear_tmpqsos; d->items[i].text = VTEXT(T_CLEAR_THIS_QSO); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = dlg_edit_qso; d->items[i].text = VTEXT(T_EDIT_OLD_QSO); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = dlg_mark_as_error; d->items[i].text = VTEXT(T_MARK_OLD_QSO); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = dlg_store_as_dupe; d->items[i].text = VTEXT(T_STORE_AS_DUPE); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /**************************** EDIT ***********************************/ void menu_add_error(void *arg){ add_error(aband, ""); } /*********************** CHOP - Change operator *************************/ static char op[EQSO_LEN]; static int global_operator; char *chop_msg[] = { CTEXT(T_CALLSIGN), /* 0 */ CTEXT(T_GLOBAL_OPERATOR), "", /* OK */ /* 9 */ "", /* Cancel */ }; void chop(struct band *band, char *op){ gchar *c; g_free(band->operator_); band->operator_ = fixsemi(g_strdup(op)); c = g_strconcat("O ", op, NULL); add_swap(band, c); g_free(c); wkd_tmpqso(band, WT_OPERATOR, op); } void refresh_chop(void *xxx){ int i; z_str_uc(op); /*if (!regcmp(op,"^([0-9][A-Z]|[A-Z]{1,2}[0-9]?)[0-9]{1,4}[A-Z]{1,4}$")==0){ errbox(VTEXT(T_BAD_CALL), 0); return; } */ cfg->global_operator = global_operator; if (global_operator){ for (i=0; ibands->len; i++){ struct band *b; b=(struct band *)g_ptr_array_index(ctest->bands, i); chop(b, op); } }else{ chop(aband, op); } redraw_later(); } void chop_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_group_width(term, chop_msg + 0, dlg->items + 0, 1, &max); min_group_width(term, chop_msg + 0, dlg->items + 0, 1, &min); max_group_width(term, chop_msg + 1, dlg->items + 1, 1, &max); min_group_width(term, chop_msg + 1, dlg->items + 1, 1, &min); max_buttons_width(term, dlg->items + 2, 2, &max); min_buttons_width(term, dlg->items + 2, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB - 8 ) w = dlg->win->term->x - 2 * DIALOG_LB - 8; if (w < 1) w = 1; rw = 0; y ++; dlg_format_group(NULL, term, chop_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); y++; dlg_format_group(NULL, term, chop_msg + 1, dlg->items + 1, 1, 0, &y, w, &rw); y++; dlg_format_buttons(NULL, term, dlg->items + 2, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_group(term, term, chop_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_group(term, term, chop_msg + 1, dlg->items + 1, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_buttons(term, term, dlg->items + 2, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } void menu_chop(void *arg){ struct dialog *d; int i; if (!ctest || !aband) return; fixsemi(aband->operator_); safe_strncpy0(op, aband->operator_, EQSO_LEN); global_operator=cfg->global_operator; if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 10 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 10 * sizeof(struct dialog_item)); d->title = VTEXT(T_CHOP); d->fn = chop_fn; d->refresh = (void (*)(void *))refresh_chop; d->items[i=0].type = D_FIELD; d->items[i].dlen = EQSO_LEN; d->items[i].data = op; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&global_operator; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /*********************** SKEDQRG - Change QRG for sked *************************/ void do_skedqrg(struct session *ses, char *qrg){ gchar *c; if (!qrg) return; g_free(aband->skedqrg); aband->skedqrg = fixsemi(g_strdup(qrg)); c = g_strconcat("G ", qrg, NULL); add_swap(aband, c); g_free(c); c = g_strdup_printf("RG %s;%s\n",aband->pband,qrg); rel_write_all(c); g_free(c); redraw_later(); } void menu_skedqrg(void *arg){ static char qrg[20]; if (!ctest || !aband) return; fixsemi(aband->skedqrg); safe_strncpy0(qrg, aband->skedqrg, 20); input_field(NULL, VTEXT(T_SKED_QRG), VTEXT(T_N_SKED_QRG), VTEXT(T_OK), VTEXT(T_CANCEL), NULL, NULL, 20, qrg, 0, 0, NULL, (void (*)(void *, char *)) do_skedqrg, NULL, 0); } /******************** FILL OPERATORS **************************/ // arg==0 -> fill only when empty, don't save (from edi export) // arg==1 -> overwrite ops, save (from menu) void menu_fillop(void *arg){ struct band *b; struct qso *q; int i,j,k; gchar *c; GString *gs,*gs1,*gs2; GPtrArray *calls; if (!ctest) return; for (i=0; ibands->len; i++){ b = (struct band *)g_ptr_array_index(ctest->bands,i); if (GPOINTER_TO_INT(arg) == 0 && strlen(b->mope1) != 0) continue; calls=g_ptr_array_new(); for (j=0;jqsos->len;j++){ q=(struct qso *)g_ptr_array_index(b->qsos,j); for (k=0;klen;k++){ if (strcmp(q->operator_,(char*)g_ptr_array_index(calls,k))==0) break; } if (k==calls->len) g_ptr_array_add(calls, q->operator_); } zg_ptr_array_qsort(calls, z_compare_string); gs1=g_string_sized_new(100); gs2=g_string_sized_new(100); gs=gs1; for (k=0; klen;k++){ c=(char*)g_ptr_array_index(calls, k); if (gs->len+2+strlen(c) >= 50) gs=gs2; g_string_append(gs, ";"); g_string_append(gs, c); } g_ptr_array_free(calls,TRUE); /* don't free items! */ if (gs1->len) g_string_erase(gs1,0,1); if (gs2->len) g_string_erase(gs2,0,1); g_free(b->mope1); b->mope1=g_strdup(gs1->str); g_string_free(gs1,TRUE); g_free(b->mope2); b->mope2=g_strdup(gs2->str); g_string_free(gs2,TRUE); } if (GPOINTER_TO_INT(arg) != 0){ save_all_bands_txt(0); } } /******************** RECALC ALL QRB and QTF **************************/ void menu_recalc_qrb(void *arg){ if (ctest) recalc_all_qrbqtf(ctest); qrv_recalc_wkd(qrv); qrv_recalc_qrbqtf(qrv); qrv_recalc_gst(qrv); } /******************** UPDATE C_W ******************************/ void menu_cw_update_contest(void *arg){ gchar *s; int ret; update_cw_from_ctest(cw, ctest); s = g_strconcat(tucnak_dir, "/tucnakcw", NULL); z_wokna(s); ret=save_cw_into_file(cw, s); if (ret){ errbox(VTEXT(T_CANT_WRITE), ret); }else{ log_addf(VTEXT(T_SAVED_S), s); } g_free(s); } void menu_cw_update_band(void *arg){ gchar *s; int ret; update_cw_from_band(cw, aband); s = g_strconcat(tucnak_dir, "/tucnakcw", NULL); z_wokna(s); ret=save_cw_into_file(cw, s); if (ret){ errbox(VTEXT(T_CANT_WRITE), ret); }else{ log_addf(VTEXT(T_SAVED_S), s); } g_free(s); } /******************** UPDATE EXC ******************************/ void menu_exc_update_contest(void *arg){ gchar *s, *ename; int ret; if (!ctest) return; dbg("menu_exc_update_contest(%s)\n", ctest->excname); if (!ctest->excname || !*ctest->excname) return; ename = g_strdup(ctest->excname); z_str_lc(ename); update_exc_from_ctest(excdb, ctest); s = g_strconcat(tucnak_dir, "/tucnakexc", ename, NULL); z_wokna(s); ret=save_exc_into_file(excdb, s); if (ret){ errbox(VTEXT(T_CANT_WRITE), ret); }else{ log_addf(VTEXT(T_SAVED_S), s); } g_free(s); } void menu_exc_update_band(void *arg){ gchar *s, *ename; int ret; if (!ctest) return; dbg("menu_exc_update_band(%s)\n", ctest->excname); if (!ctest->excname || !*ctest->excname) return; ename = g_strdup(ctest->excname); z_str_lc(ename); update_exc_from_band(excdb, aband); s = g_strconcat(tucnak_dir, "/tucnakexc", ename, NULL); z_wokna(s); ret=save_exc_into_file(excdb, s); if (ret){ errbox(VTEXT(T_CANT_WRITE), ret); }else{ log_addf(VTEXT(T_SAVED_S), s); } g_free(s); } void menu_import_ebw(void *arg){ int ret; ret=read_ebw_files(cw, namedb); if (ret!=0) return; save_cw(cw, 1); save_namedb(namedb, 1); } /******************** AUTOSAVE *******************************/ #define AS_LEN 5 /*char as_disk_aq_str[AS_LEN], as_disk_am_str[AS_LEN]; gint as_disk_fsync;*/ char as_floppy_aq_str[AS_LEN], as_floppy_am_str[AS_LEN]; gint as_floppy_fsync; gint as_mount; char as_floppy_path[MAX_STR_LEN]; char as_mount_cmd[MAX_STR_LEN]; void refresh_autosave(void *xxx) { /* STORE_SINT(cfg,as_disk_aq); STORE_SINT(cfg,as_disk_am); STORE_INT (cfg,as_disk_fsync); */ STORE_SINT(cfg,as_floppy_aq); STORE_SINT(cfg,as_floppy_am); STORE_INT (cfg,as_floppy_fsync); STORE_INT (cfg,as_mount); STORE_STR(cfg,as_floppy_path); STORE_STR(cfg,as_mount_cmd); dbg("refresh_autosave\n"); } char *autosave_msg[] = { #if 0 CTEXT(T_SAVE_AQ), /* 0 */ CTEXT(T_SAVE_AM), CTEXT(T_FSYNC), #endif CTEXT(T_SAVE_AQF), /* 0 */ CTEXT(T_SAVE_AMF), CTEXT(T_FSYNC), CTEXT(T_DO_MOUNT), CTEXT(T_FLOPPY_PATH), /* 5 */ CTEXT(T_MOUNT_CMD), "", /* OK */ /* 9 */ "", /* Cancel */ }; void autosave_fn(struct dialog_data *dlg) { struct terminal *term = dlg->win->term; int max = 0, min = 0; int w, rw; int y = -1; max_group_width(term, autosave_msg + 0, dlg->items + 0, 1, &max); min_group_width(term, autosave_msg + 0, dlg->items + 0, 1, &min); max_group_width(term, autosave_msg + 1, dlg->items + 1, 1, &max); min_group_width(term, autosave_msg + 1, dlg->items + 1, 1, &min); max_group_width(term, autosave_msg + 2, dlg->items + 2, 1, &max); min_group_width(term, autosave_msg + 2, dlg->items + 2, 1, &min); max_group_width(term, autosave_msg + 3, dlg->items + 3, 1, &max); min_group_width(term, autosave_msg + 3, dlg->items + 3, 1, &min); max_group_width(term, autosave_msg + 4, dlg->items + 4, 1, &max); min_group_width(term, autosave_msg + 4, dlg->items + 4, 1, &min); max_group_width(term, autosave_msg + 5, dlg->items + 5, 1, &max); min_group_width(term, autosave_msg + 5, dlg->items + 5, 1, &min); /* max_group_width(term, autosave_msg + 6, dlg->items + 6, 1, &max); min_group_width(term, autosave_msg + 6, dlg->items + 6, 1, &min); max_group_width(term, autosave_msg + 7, dlg->items + 7, 1, &max); min_group_width(term, autosave_msg + 7, dlg->items + 7, 1, &min); max_group_width(term, autosave_msg + 8, dlg->items + 8, 1, &max); min_group_width(term, autosave_msg + 8, dlg->items + 8, 1, &min); */ max_buttons_width(term, dlg->items + 6, 2, &max); min_buttons_width(term, dlg->items + 6, 2, &min); w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB; if (w > max) w = max; if (w < min) w = min; if (w > dlg->win->term->x - 2 * DIALOG_LB - 8 ) w = dlg->win->term->x - 2 * DIALOG_LB - 8; if (w < 1) w = 1; rw = 0; y ++; dlg_format_group(NULL, term, autosave_msg + 0, dlg->items + 0, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, autosave_msg + 1, dlg->items + 1, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, autosave_msg + 2, dlg->items + 2, 1, 0, &y, w, &rw); y++; dlg_format_group(NULL, term, autosave_msg + 3, dlg->items + 3, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, autosave_msg + 4, dlg->items + 4, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, autosave_msg + 5, dlg->items + 5, 1, 0, &y, w, &rw); /* y++; dlg_format_group(NULL, term, autosave_msg + 6, dlg->items + 6, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, autosave_msg + 7, dlg->items + 7, 1, 0, &y, w, &rw); dlg_format_group(NULL, term, autosave_msg + 8, dlg->items + 8, 1, 0, &y, w, &rw); */ y++; dlg_format_buttons(NULL, term, dlg->items + 6, 2, 0, &y, w, &rw, AL_LEFT); w = rw; dlg->xw = w + 2 * DIALOG_LB; dlg->yw = y + 2 * DIALOG_TB; center_dlg(dlg); draw_dlg(dlg); y = dlg->y + DIALOG_TB; y++; dlg_format_group(term, term, autosave_msg + 0, dlg->items + 0, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, autosave_msg + 1, dlg->items + 1, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, autosave_msg + 2, dlg->items + 2, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); y++; dlg_format_group(term, term, autosave_msg + 3, dlg->items + 3, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, autosave_msg + 4, dlg->items + 4, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, autosave_msg + 5, dlg->items + 5, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); /* y++; dlg_format_group(term, term, autosave_msg + 6, dlg->items + 6, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, autosave_msg + 7, dlg->items + 7, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); dlg_format_group(term, term, autosave_msg + 8, dlg->items + 8, 1, dlg->x + DIALOG_LB, &y, w, AL_LEFT); */ y++; dlg_format_buttons(term, term, dlg->items + 6, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_LEFT); } void menu_autosave(void *arg) { struct dialog *d; int i; dbg("menu_autosave\n"); /* snprint(as_disk_aq_str,AS_LEN, cfg->as_disk_aq); snprint(as_disk_am_str, AS_LEN, cfg->as_disk_am); as_disk_fsync = cfg->as_disk_fsync;*/ g_snprintf(as_floppy_aq_str, AS_LEN, "%d", cfg->as_floppy_aq); g_snprintf(as_floppy_am_str, AS_LEN, "%d", cfg->as_floppy_am); as_floppy_fsync = cfg->as_floppy_fsync; as_mount = cfg->as_mount; safe_strncpy0(as_floppy_path, cfg->as_floppy_path, MAX_STR_LEN); safe_strncpy0(as_mount_cmd, cfg->as_mount_cmd, MAX_STR_LEN); if (!(d = (struct dialog *)g_malloc(sizeof(struct dialog) + 55 * sizeof(struct dialog_item)))) return; memset(d, 0, sizeof(struct dialog) + 55 * sizeof(struct dialog_item)); d->title = VTEXT(T_AUTOSAVE_OPTS); d->fn = autosave_fn; d->refresh = (void (*)(void *))refresh_autosave; /* d->items[i=0].type = D_FIELD; d->items[i].dlen = AS_LEN; d->items[i].data = as_disk_aq_str; d->items[++i].type = D_FIELD; d->items[i].dlen = AS_LEN; d->items[i].data = as_disk_am_str; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (void *)&as_disk_fsync; */ d->items[i=0].type = D_FIELD; d->items[i].dlen = AS_LEN; d->items[i].data = as_floppy_aq_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 10000; d->items[++i].type = D_FIELD; d->items[i].dlen = AS_LEN; d->items[i].data = as_floppy_am_str; d->items[i].fn = check_number; d->items[i].gid = 0; d->items[i].gnum = 10000; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&as_floppy_fsync; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 0; d->items[i].gnum = 1; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&as_mount; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = as_floppy_path; d->items[i].maxl = 20; d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = as_mount_cmd; d->items[i].maxl = 20; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /******************** ADD SUBWIN *******************************/ int asw_type; char asw_cmd[MAX_STR_LEN]; char asw_respawn_str[MAX_STR_LEN]; void refresh_add_sw(void *arg){ int where_ = -1; struct subwin *asw = (struct subwin *)arg; struct subwin *newsw; dbg("refresh_add_sw\n"); { zg_ptr_array_foreach(struct subwin *, subwin, gses->subwins) { if (subwin != asw) continue; where_ = subwin_i; break; } } newsw = new_subwin((enum sw_type)asw_type, where_); if (newsw){ struct event ev = { EV_RESIZE, 0, 0, 0, 0, 0}; if (gses->ontop == asw) gses->ontop = newsw; if (asw){ newsw->ontop = asw->ontop; newsw->ontop2 = asw->ontop2; newsw->focused = asw->focused; } sw_default_func(newsw, &ev, 1); } if (asw) free_subwin(asw); } void menu_add_subwin(void *arg){ struct dialog *d; int i, change; change = GPOINTER_TO_INT(arg); if (!change){ asw_type = SWT_SHELL; } safe_strncpy0(asw_cmd, "/bin/sh", MAX_STR_LEN); g_snprintf(asw_respawn_str, MAX_STR_LEN, "%d", 10); d = g_new0(struct dialog, 20); if (!change){ d->title = VTEXT(T_ADD_SUBWIN); }else{ d->title = VTEXT(T_CHANGE_TYPE); d->refresh_data = gses->ontop; } d->fn = dlg_pf_fn; d->refresh = refresh_add_sw; i = -1; d->y0 = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_KST; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_KST); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_SHELL; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_SHELL); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_QSOS; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_QSOS); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_HF; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_HF); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_QRV; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_QRV); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_LOG; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_LOG); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_PLAYER; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_SW_PLAYER); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_CHART; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_SW_CHART); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_SKED; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_SKEDS); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_TALK; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_TALK); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_DXC; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_DXC); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_UNFI; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_UNFI); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_STAT; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_STAT); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_MAP; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_MAP); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_SCOPE; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_SCOPE); d->items[i].wrap = 1; d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_SDR; d->items[i].dlen = sizeof(int); d->items[i].data = (char *)&asw_type; d->items[i].msg = CTEXT(T_SDR); d->items[i].wrap = 1; /*d->items[++i].type = D_CHECKBOX; d->items[i].gid = 1; d->items[i].gnum = SWT_SWAP; d->items[i].dlen = sizeof(int); d->items[i].data = (void *)&asw_type; d->items[i].msg = CTEXT(T_SWAP); d->items[i].wrap = 1; */ if (!change){ d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = asw_cmd; d->items[i].msg = CTEXT(T_CMD); d->items[i].wrap = 1; } /*d->items[++i].type = D_FIELD; d->items[i].dlen = MAX_STR_LEN; d->items[i].data = asw_respawn_str; d->items[i].msg = CTEXT(T_RESPAWN); d->items[i].wrap = 1; */ d->items[i].wrap++; d->items[++i].type = D_BUTTON; d->items[i].gid = B_ENTER; d->items[i].fn = ok_dialog; d->items[i].text = VTEXT(T_OK); d->items[++i].type = D_BUTTON; d->items[i].gid = B_ESC; d->items[i].fn = cancel_dialog; d->items[i].text = VTEXT(T_CANCEL); d->items[i].align = AL_BUTTONS; d->items[i].wrap = 1; d->items[++i].type = D_END; do_dialog(d, getml(d, NULL)); } /********************* CLOSE SUBWIN ***********************/ void menu_close_subwin(void *arg){ struct subwin *sw; sw = find_sw_ontop(); if (!sw) return; g_ptr_array_remove(gses->subwins, sw); free_subwin(sw); if (sw == gses->ontop2) sw_totop_next(0, 1); sw_totop_next(0, 0); redraw_later(); } /********************* SPLIT SUBWIN ***********************/ void menu_split_subwin(void *arg){ cfg->splitheight = 10; resize_terminal(NULL); } void menu_remove_split(void *arg){ cfg->splitheight = 0; resize_terminal(NULL); } /******************* UNFINISHED REMARK *************/ void do_unfinished(struct session *ses, char *remark){ GString *gs; if (!ctest || !aband) return; gs = g_string_sized_new(80); if (TMPQ.callsign && TMPQ.ucallsign){ if (strlen(remark)>10){ gchar *c; remark[17]='\0'; c = g_strdup_printf("%s %s", remark, TMPQ.callsign); g_string_append_printf(gs, "%-24s", c); g_free(c); }else{ g_string_append_printf(gs, "%-10s %-13s", remark, TMPQ.callsign); } }else{ remark[24]='\0'; g_string_append_printf(gs, "%-24s",remark); } g_string_append_printf(gs, "%5s%4s %5s%4s", TMPQ.rsts?TMPQ.rsts:"---", TMPQ.qsonrs?TMPQ.qsonrs: "---", TMPQ.rstr?TMPQ.rstr:"---", TMPQ.qsonrr?TMPQ.qsonrr:"---"); if (TMPQ.locator && TMPQ.ulocator){ g_string_append_printf(gs, " %-8s %7d %3d", TMPQ.locator, (int)TMPQ.qrb, TMPQ.qtf); } #ifdef HAVE_HAMLIB if (gtrigs->trigs->len > 0){ g_string_append_printf(gs, " %1.1f", gtrigs->qrg/1000.0); } #endif fifo_addf(aband->unfi, gs->str); g_string_free(gs, 1); add_error(aband, remark);/* before clear_tmpqsos! */ clear_tmpqsos(aband, 1); clear_inputline(aband->il); get_cw_qs(aband->il->cdata); /* clears */ get_band_qs(aband, aband->il->cdata); get_hf_dxc(aband->il->cdata); redraw_later(); } void menu_unfinished(void *arg){ static char remark[40]; int max; if (TMPQ.callsign && TMPQ.ucallsign) max=1+17; else max=1+24; if (!ctest || !aband) return; strcpy(remark, ""); input_field(NULL, VTEXT(T_UNFI_QSO), VTEXT(T_N_REMARK), VTEXT(T_OK), VTEXT(T_CANCEL), NULL, NULL, max, remark, 0, 0, NULL, (void (*)(void *, char *)) do_unfinished, NULL, 0); } tucnak-4.32/src/excdb.c0000644000175000017500000003562714125266066011715 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2020 Ladislav Vaiz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "excdb.h" #include "dwdb.h" #include "language2.h" #include "main.h" #include "stats.h" #include "tsdl.h" //#include struct excdb *excdb; static gchar *exc_next; static gchar *cxe_next; struct excdb *init_exc(void){ struct excdb *excdb; progress(VTEXT(T_INIT_EXCDB)); excdb = g_new0(struct excdb, 1); excdb->exc = g_hash_table_new(g_str_hash, g_str_equal); excdb->cxe = g_hash_table_new(g_str_hash, g_str_equal); excdb->vexc = g_hash_table_new(g_str_hash, g_str_equal); excdb->vexcia = z_ptr_array_new(); exc_next = NULL; cxe_next = NULL; excdb->latest = 0; excdb->excname = g_strdup(""); return excdb; } gboolean free_exc_item(gpointer key, gpointer value, gpointer user_data){ struct exc_item *exci; g_free(key); exci = (struct exc_item *)value; if (exci->exc0) g_free(exci->exc0); if (exci->exc1) g_free(exci->exc1); g_free(value); return TRUE; } gboolean free_cxe_item(gpointer key, gpointer value, gpointer user_data){ struct cxe_item *wci; g_free(key); wci = (struct cxe_item *)value; if (wci->call0) g_free(wci->call0); if (wci->call1) g_free(wci->call1); g_free(value); return TRUE; } gboolean free_vexc_item(gpointer key, gpointer value, gpointer user_data){ if (key) g_free(key); return TRUE; } void clear_exc(struct excdb *excdb){ // dbg("clear_exc()\n"); z_ptr_array_free_all(excdb->vexcia); excdb->vexcia = z_ptr_array_new(); g_hash_table_foreach_remove(excdb->vexc, free_vexc_item, NULL); g_hash_table_foreach_remove(excdb->cxe, free_cxe_item, NULL); g_hash_table_foreach_remove(excdb->exc, free_exc_item, NULL); zg_free0(excdb->excname); } void free_exc(struct excdb *excdb){ progress(VTEXT(T_FREE_EXCDB)); clear_exc(excdb); z_ptr_array_free_all(excdb->vexcia); g_hash_table_destroy(excdb->vexc); g_hash_table_destroy(excdb->cxe); g_hash_table_destroy(excdb->exc); g_free(excdb); } gint get_exc_size(struct excdb *excdb){ return g_hash_table_size(excdb->exc); } gint get_cxe_size(struct excdb *excdb){ return g_hash_table_size(excdb->cxe); } gint get_vexc_size(struct excdb *excdb){ return g_hash_table_size(excdb->vexc); } #define EXC_DELIM " \t\r\n" void load_one_exc(struct excdb *excdb, gchar *s){ gchar *call, *exc, *stamp_str; char *token_ptr; z_str_uc(s); call = strtok_r(s, EXC_DELIM, &token_ptr); if (!call) return; exc = strtok_r(NULL, EXC_DELIM, &token_ptr); if (!exc) return; stamp_str = strtok_r(NULL, EXC_DELIM, &token_ptr); if (!stamp_str) return; add_exc(excdb, call, exc, atoi(stamp_str)); add_cxe(excdb, exc, call, atoi(stamp_str)); } int load_exc_from_file(struct excdb *excdb, gchar *filename){ FILE *f; GString *gs; f = fopen(filename, "rt"); if (!f) return -1; gs = g_string_sized_new(256); while(1){ if (!zfile_fgets(gs, f, 1)) break; g_strstrip(gs->str); load_one_exc(excdb,gs->str); } fclose(f); g_string_free(gs, 1); return 0; } void load_one_vexc(struct excdb *excdb, gchar *s){ gchar *vexc; char *token_ptr; z_str_uc(s); for (vexc = strtok_r(s, EXC_DELIM, &token_ptr); vexc != NULL; vexc = strtok_r(NULL, EXC_DELIM, &token_ptr)){ if (!*vexc) continue; if (g_hash_table_lookup(excdb->vexc, vexc) != NULL) continue; z_str_uc(vexc); g_hash_table_insert(excdb->vexc, g_strdup(vexc), (void*)1); } } int load_vexc_from_file(struct excdb *excdb, gchar *filename){ FILE *f; GString *gs; f = fopen(filename, "rt"); if (!f) return -1; gs = g_string_sized_new(256); while(1){ if (!zfile_fgets(gs, f, 1)) break; g_strstrip(gs->str); load_one_vexc(excdb, gs->str); } fclose(f); g_string_free(gs, 1); return 0; } int load_vexc_from_mem(struct excdb *excdb, const char *file, const long int len){ GString *gs; long int pos; gs = g_string_sized_new(256); pos = 0; while(1){ if (!zfile_mgets(gs, file, &pos, len, 0)) break; g_strstrip(gs->str); load_one_vexc(excdb, gs->str); } g_string_free(gs, 1); return 0; } void read_exc_files(struct excdb *excdb, enum exctype exctype, gchar *excname){ gchar *s, *ename; int ret, i; //dbg("read_exc_files(%d, %s)\n", exctype, excname); if (!excname || !*excname) return; excdb->exctype = exctype; ename = g_strdup(excname); z_str_uc(ename); zg_free0(excdb->excname); excdb->excname = g_strdup(ename); z_str_lc(ename); s = g_strconcat(tucnak_dir, "/tucnakexc", ename, NULL); z_wokna(s); ret = load_exc_from_file(excdb, s); dbg(" %s %d\n", s, ret); g_free(s); s = g_strconcat(tucnak_dir, "/tucnakvexc", ename, NULL); z_wokna(s); ret = load_vexc_from_file(excdb, s); dbg(" %s %d\n", s, ret); g_free(s); if (ret<0){ dbg("disk loading failed, try to load memory defaults '%s'\n", ename); if (strcasecmp(ename, "agcw")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcagcw, sizeof(txt_tucnakvexcagcw)); } if (strcasecmp(ename, "okres")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcokres, sizeof(txt_tucnakvexcokres)); } if (strcasecmp(ename, "rsgbdc")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcrsgbdc, sizeof(txt_tucnakvexcrsgbdc)); } if (strcasecmp(ename, "usaca")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcusaca, sizeof(txt_tucnakvexcusaca)); } if (strcasecmp(ename, "kac")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexckac, sizeof(txt_tucnakvexckac)); } if (strcasecmp(ename, "dok")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcdok, sizeof(txt_tucnakvexcdok)); } if (strcasecmp(ename, "wna")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcwna, sizeof(txt_tucnakvexcwna)); } if (strcasecmp(ename, "wsa")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcwsa, sizeof(txt_tucnakvexcwsa)); } if (strcasecmp(ename, "rcont")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcrcont, sizeof(txt_tucnakvexcrcont)); } if (strcasecmp(ename, "lcont")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexclcont, sizeof(txt_tucnakvexclcont)); } if (strcasecmp(ename, "uba")==0) { ret = load_vexc_from_mem(excdb, txt_tucnakvexcuba, sizeof(txt_tucnakvexcuba)); } dbg(" %s %d\n", ename, ret); } g_free(ename); // set vexcia switch(excdb->exctype){ case EXC_MULTIPLIED: case EXC_VERIFIED: g_hash_table_foreach(excdb->vexc, exc_ia_verified, (gpointer) excdb->vexcia); break; case EXC_WAZ: // g_hash_table_foreach(dw->dw, exc_ia_waz, (gpointer) excdb->vexcia); for (i=1; i<=40; i++) z_ptr_array_add(excdb->vexcia, g_strdup_printf("%02d", i)); break; case EXC_ITU: // g_hash_table_foreach(dw->dw, exc_ia_itu, (gpointer) excdb->vexcia); for (i=1; i<=90; i++) z_ptr_array_add(excdb->vexcia, g_strdup_printf("%02d", i)); break; default: break; } z_ptr_array_qsort(excdb->vexcia, z_compare_string); z_ptr_array_uniq(excdb->vexcia, z_compare_string, TRUE); } void exc_ia_verified(gpointer key, gpointer value, gpointer user_data){ gchar *exc = (gchar *) key; ZPtrArray *vexcia = (ZPtrArray *) user_data; char s[10]; if (strcasecmp(ctest->excname, "USACA")==0){ strcpy(s, exc); usaca_multiple_exc(s); if (strcmp(s, exc) != 0) return; // QC, MAN, ALB, ALT, YU } z_ptr_array_add(vexcia, g_strdup(exc)); } /*void exc_ia_waz(gpointer key, gpointer value, gpointer user_data){ struct dw_item *dwi = (struct dw_item*) value; GIndexArray *vexcia = (GIndexArray *) user_data; z_ptr_array_add(vexcia, g_strdup_printf("%02d", dwi->waz)); } void exc_ia_itu(gpointer key, gpointer value, gpointer user_data){ struct dw_item *dwi = (struct dw_item*) value; GIndexArray *vexcia = (GIndexArray *) user_data; z_ptr_array_add(vexcia, g_strdup_printf("%02d", dwi->itu)); } */ void save_one_exc(gpointer key, gpointer value, gpointer user_data){ GString *gs; gchar *call; struct exc_item *exci; gs = (GString *) user_data; call = (gchar *) key; exci = (struct exc_item *) value; if (exci->exc0) g_string_append_printf(gs, "%-14s %-6s %08d\n", call, exci->exc0, exci->stamp0); if (exci->exc1) g_string_append_printf(gs, "%-14s %-6s %08d\n", call, exci->exc1, exci->stamp1); } int save_exc_string(struct excdb *excdb, GString *gs){ g_hash_table_foreach(excdb->exc, save_one_exc, (gpointer) gs); return 0; } int save_exc_into_file(struct excdb *excdb, gchar *filename){ FILE *f; GString *gs; int ret; f = fopen(filename, "wt"); /* FIXME swp first */ if (!f) { return errno; } gs=g_string_sized_new(100000); save_exc_string(excdb, gs); ret = fprintf(f,"%s",gs->str) != gs->len ? errno: 0; fclose(f); g_string_free(gs,TRUE); return ret; } void add_exc(struct excdb *excdb, gchar *call, gchar *exc, gint stamp){ struct exc_item *exci; if (stamp<0) return; if (stamp>excdb->latest) excdb->latest=stamp; exci = g_hash_table_lookup(excdb->exc, call); if (!exci){ exci = g_new0(struct exc_item, 1); g_hash_table_insert(excdb->exc, g_strdup(call), exci); } if (stamp < exci->stamp1) return; if (stamp < exci->stamp0){ if (strcasecmp(exci->exc0, exc)==0) return; if (exci->exc1) g_free(exci->exc1); exci->exc1 = g_strdup(exc); exci->stamp1 = stamp; return; } if (exci->exc0 && strcasecmp(exci->exc0, exc)==0) { exci->stamp0 = stamp; return; } if (exci->exc1) g_free(exci->exc1); exci->exc1 = exci->exc0; exci->stamp1 = exci->stamp0; exci->exc0 = g_strdup(exc); exci->stamp0 = stamp; } void add_cxe(struct excdb *excdb, gchar *exc, gchar *call, gint stamp){ struct cxe_item *wci; if (stamp<0) return; if (stamp>excdb->latest) excdb->latest=stamp; wci = g_hash_table_lookup(excdb->cxe, exc); if (!wci){ wci = g_new0(struct cxe_item, 1); g_hash_table_insert(excdb->cxe, g_strdup(exc), wci); } if (stamp < wci->stamp1) return; if (stamp < wci->stamp0){ if (strcasecmp(wci->call0, call)==0) return; if (wci->call1) g_free(wci->call1); wci->call1 = g_strdup(call); wci->stamp1 = stamp; return; } if (wci->call0 && strcasecmp(wci->call0, call)==0) { wci->stamp0 = stamp; return; } if (wci->call1) g_free(wci->call1); wci->call1 = wci->call0; wci->stamp1 = wci->stamp0; wci->call0 = g_strdup(call); wci->stamp0 = stamp; } gchar *find_exc_by_call(struct excdb *excdb, const gchar *call){ struct exc_item *exci; struct dw_item *dwi; static char s[20]; if (!call) return exc_next; exc_next = NULL; exci = g_hash_table_lookup(excdb->exc, call); if (exci) { exc_next = exci->exc1; return exci->exc0; } switch(excdb->exctype){ case EXC_WAZ: dwi = get_dw_item_by_call(dw, call); if (!dwi) return NULL; g_snprintf(s, 20, "%02d", dwi->waz); return s; case EXC_ITU: dwi = get_dw_item_by_call(dw, call); if (!dwi) return NULL; g_snprintf(s, 20, "%02d", dwi->itu); return s; default: break; } return NULL; } gchar *find_exc_by_call_newer(struct excdb *excdb, gchar *call, int maxstamp){ struct exc_item *exci; exci = g_hash_table_lookup(excdb->exc, call); if (!exci) return NULL; if (exci->stamp0 > maxstamp) return exci->exc0; if (exci->stamp1 > maxstamp) return exci->exc1; return NULL; } gchar *find_call_by_exc(struct excdb *excdb, gchar *exc){ struct cxe_item *wci; if (!excdb) return cxe_next; cxe_next = NULL; wci = g_hash_table_lookup(excdb->cxe, exc); if (!wci) return NULL; cxe_next = wci->call1; return wci->call0; } int is_valid_vexc(struct excdb *excdb, gchar *vexc){ gchar *s; int ret; switch (ctest->exctype){ case EXC_FREE: case EXC_MULTIPLIED: return 1; case EXC_VERIFIED: s = g_strdup(vexc); z_str_uc(s); ret = g_hash_table_lookup(excdb->vexc, s) != NULL; g_free(s); return ret; case EXC_WAZ: case EXC_ITU: return 1; } return 0; } void update_exc_from_band(struct excdb *excdb, struct band *band){ int i; struct qso *q; stats_thread_join(band); for (i=0; iqsos->len; i++){ q = (struct qso *)g_ptr_array_index(band->qsos, i); if (q->error) continue; if (!q->callsign || !q->exc || !q->date_str) continue; add_exc(excdb, q->callsign, q->exc, atoi(q->date_str)); add_cxe(excdb, q->exc, q->callsign, atoi(q->date_str)); } } void update_exc_from_ctest(struct excdb *excdb, struct contest *ctest){ int i; struct band *band; if (!ctest) return; for (i=0; ibands->len; i++){ band = (struct band *) g_ptr_array_index(ctest->bands, i); update_exc_from_band(excdb, band); } } struct rsgbdc{ char *name; int maxcount; }; static struct rsgbdc rsgbdc[] = { {"AB", 3 }, {"BT", 6 }, {"DD", 3 }, {"DG", 3 }, {"EH", 3 }, {"FK", 3 }, {"GS", 3 }, {"HS", 3 }, {"IV", 3 }, {"KA", 3 }, {"KY", 3 }, {"PA", 3 }, {"PH", 3 }, {"TD", 3 }, {"ZE", 3 }, {NULL, 0 } }; int rsgbdc_maxcount(char *exc){ struct rsgbdc *p; for (p=rsgbdc; p->name != NULL; p++){ if (strcasecmp(p->name, exc) != 0) continue; return p->maxcount; } return 1; } void usaca_multiple_exc(char *s){ if (strcasecmp(s, "QC")==0) { strcpy(s, "PQ"); return; } if (strcasecmp(s, "MAN")==0) { strcpy(s, "MB"); return; } if (strcasecmp(s, "ALB")==0) { strcpy(s, "AB"); return; } if (strcasecmp(s, "ALT")==0) { strcpy(s, "AB"); return; } if (strcasecmp(s, "YU")==0) { strcpy(s, "YT"); return; } } tucnak-4.32/src/language.c0000644000175000017500000001020114035370711012361 00000000000000/* Tucnak - VHF contest log Copyright (C) 2002-2006 Ladislav Vaiz and authors of web browser Links 0.96 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #include "header.h" #include "charsets.h" #include "codepage.h" #include "language.h" #include "tsdl.h" #include "terminal.h" struct translation { int code; char *name; }; struct translation_desc { struct translation *t; }; char dummyarray[T__N_TEXTS]; #ifdef Z_ANDROIDxtest #include "langascii.inc" #else #include "language.inc" #endif static char **translation_array[N_LANGUAGES][N_CODEPAGES]; int current_language; static int current_lang_charset; void init_trans(void) { int i, j; for (i = 0; i < N_LANGUAGES; i++) for (j = 0; j < N_CODEPAGES; j++) translation_array[i][j] = NULL; current_language = 0; current_lang_charset = 0; translations[0].t=translation_english; } void shutdown_trans(void) { int i, j, k; for (i = 0; i < N_LANGUAGES; i++){ for (j = 0; j < N_CODEPAGES; j++) { if (translation_array[i][j]) { for (k = 0; k < T__N_TEXTS; k++) { if (translation_array[i][j][k]) g_free(translation_array[i][j][k]); } g_free(translation_array[i][j]); } } } } char *get_text_translation(char *text) { char **current_tra; char *trn = NULL; //dbg("get_text_translation('%s') spec=%p\n", text, term->spec); //dbg("get_text_translation('%s') charset=%d\n", text, term->spec->charset); if (text < dummyarray || text > dummyarray + T__N_TEXTS) return text; //dbg("--------get_text_translation(%d)\n", text - dummyarray); if ((current_tra = translation_array[current_language][term->spec->charset])) { if ((trn = current_tra[text - dummyarray])) return trn; tr: trn = g_strdup(translation_english[text - dummyarray].name); current_tra[text - dummyarray] = trn; } else { if (current_lang_charset && term->spec->charset != current_lang_charset) { if ((current_tra = translation_array[current_language][term->spec->charset] = (char **)g_malloc(sizeof (char **) * T__N_TEXTS))) { memset(current_tra, 0, sizeof (char **) * T__N_TEXTS); goto tr; } } if (!(trn = translations[current_language].t[text - dummyarray].name)) { trn = translations[current_language].t[text - dummyarray].name = translation_english[text - dummyarray].name; /* modifying translation structure */ } } //dbg("trn=%p\n", trn); //dbg("trn='%s'", trn); //dbg("return\n"); return trn; } char *get_english_translation(char *text) { if (text < dummyarray || text > dummyarray + T__N_TEXTS) return text; return translation_english[text - dummyarray].name; } int n_languages(void) { return N_LANGUAGES; } char *language_name(int l) { return translations[l].t[T__LANGUAGE].name; } void set_language(int l) { int i; char *cp; dbg("set_language charset=%d language=%d\n", current_lang_charset, current_language); for (i = 0; i < T__N_TEXTS; i++){ // dbg(" i=%d ;l=%d; tr[..]=%d \n", i,l,translations[l].t[i].code); if (translations[l].t[i].code != i) { zinternal("Bad table for language %s (%d!=%d). Run script fixlang.pl or maybe add this language into this script.", translations[l].t[T__LANGUAGE].name, translations[l].t[i].code, i); return; } } current_language = l; cp = translations[l].t[T__CHAR_SET].name; dbg("codepage=%s\n", cp); i = get_cp_index(cp); if (i == -1) { zinternal("Unknown charset for language %s.", translations[l].t[T__LANGUAGE].name); i = 0; } current_lang_charset = i; dbg("return charset=%d language=%d\n", current_lang_charset, current_language); #ifdef Z_HAVE_SDL if (sdl && term && term->spec){ term->spec->charset = i; } #endif } tucnak-4.32/README0000644000175000017500000000002311277513163010531 00000000000000See directory doc/ tucnak-4.32/share/0000755000175000017500000000000014125271147011036 500000000000000tucnak-4.32/share/tac2tuc.pl0000755000175000017500000001120711277513162012665 00000000000000#!/usr/bin/perl # Convert TACLog C_W file Text format to tucnak C_W file format # Copyleft 2008 Dave Gilligan, G1OGY. ############################################################################# # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # http://www.m1cro.org.uk/Members/G1OGY/GNU-GPL.html # # Succinctly: If it breaks - you get to keep all the pieces. # ############################################################################# $prog = "TAC2tuc"; $version = "V 0.01"; $datestring="[20080713]"; $auth = "Author:G1OGY "; $arights="Licenced under GNU GPL."; # define Usage die "\n\"$prog\" $version $datestring $auth $arights Usage: $prog inputfile.ext [outputfile.ext] \"$prog\" requires an INPUT file name argument and optionally, an OUTPUT file name. The user must have previously converted the TACLog .C_W file to text-mode using C_W.exe (see the TACLog manual). A raw column format of: CALL LOC LOC2 DATE is expected, separated by \"WhiteSpace\". Even though the TACLog formating of the text input to C_W.EXE is critical, for this program the amount of \"WhiteSpace\" is unimportant; thus this program will deal with any list otherwise derived. But NO blank lines nor Column Headers are allowed! Note that there is no way to determine a valid QSO date for LOC2. Consequently, the QSO Date for LOC2 will be set to 12 December 1901 (for want of a more auspicious occasion) thus ensuring that LOC takes place-precedence over LOC2. Default OUTPUT file is \"tac2tuc.cw\" in the `current` directory.\n" unless @ARGV; # define local variables my ($rawfile)=$ARGV[0]; my ($yesterdate)="19011212"; # main Banner(); if ($ARGV[1] ne "") { open (C_WFORMAT,">$ARGV[1]") || die "\nCannot Create Output file: \"$ARGV[1]\"!\n"; } else { open (C_WFORMAT,">tac2tuc.cw") || die "\nCannot Create Output file: \"tac2tuc.cw\"!\n"; } open (RAWLIST, "$rawfile") || die "\nInput File not Found\! Check the path : \n$!"; print "\nWorking...\n"; while () { # read the input and write a delimited output to an array chomp; ($call,$loc,$loc2,$qsodate) = split; # deal with call loc date unless ($qsodate) { unless ($loc2 =~ m/\D^*/i) { $qsodate=$loc2; $loc2=""; } } # deal with single/twin locators and add the delimiter if ($loc2 =~ m/\D^*/i) { push (@returndata, ($call.";".$loc.";".$qsodate)); push (@returndata, ($call.";".$loc2.";".$yesterdate)); } else { push (@returndata, ($call.";".$loc.";".$qsodate)); } } # break out into individual vars again to write the correctly # formatted output file foreach $record (@returndata) { ($call,$loc,$qsodate) = split (/;/,$record); write (C_WFORMAT); } # clean up close (RAWLIST); close (C_WFORMAT); # output format format C_WFORMAT = @<<<<<<<<<<<<<<@<<<<<<@<<<<<<< $call,$loc,$qsodate . # end_of_format Credits(); ############################################################################################ # Banner sub Banner { print ("\n\"$prog\" $version $datestring $auth\n $arights\n"); print ("\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"); } ############################################################################################ # Credits sub Credits { print ("\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"); print (" Credits: "); print ("\n \"$prog\" is written against \"ActivePerl v5.6\" and compiled \n"); print (" - where relevant - with \"Perl2exe\" by Indigostar Software.\n\n"); print (" \"$prog\": GNU General Public Licence applies.\n"); print ("\n"); print ("\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"); } ############################################################################################ __END__tucnak-4.32/share/applications/0000755000175000017500000000000014125271147013524 500000000000000tucnak-4.32/share/applications/tucnak.desktop0000644000175000017500000000101012525065637016323 00000000000000[Desktop Entry] # The format of this file is specified at # http://freedesktop.org/Standards/desktop-entry-spec # The entries are in the order they are listed in version 1.0 # for registered categories see http://standards.freedesktop.org/menu-spec/1.0/apa.html Encoding=UTF-8 Type=Application Version=1.0 Name=Tucnak Name[cs]=Tučňák Comment=VHF Contest Logger Comment[cs]=Závodní deník pro VKV Icon=/usr/share/pixmaps/tucnak.png Exec=/usr/bin/tucnak Terminal=false Categories=Network;HamRadio StartupNotify=false tucnak-4.32/share/applications/Makefile.am0000644000175000017500000000017212412213757015500 00000000000000datarootdir = @datarootdir@ : EXTRA_DIST=$(share_DATA) sharedir = $(datadir)/applications share_DATA = tucnak.desktop tucnak-4.32/share/applications/Makefile.in0000644000175000017500000003411614125266462015522 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = share/applications ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(sharedir)" DATA = $(share_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = $(share_DATA) sharedir = $(datadir)/applications share_DATA = tucnak.desktop all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu share/applications/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu share/applications/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-shareDATA: $(share_DATA) @$(NORMAL_INSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(sharedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(sharedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sharedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(sharedir)" || exit $$?; \ done uninstall-shareDATA: @$(NORMAL_UNINSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(sharedir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(sharedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-shareDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-shareDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-shareDATA install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-shareDATA .PRECIOUS: Makefile : # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/share/Makefile.am0000644000175000017500000000022412525350275013012 00000000000000datarootdir = @datarootdir@ SUBDIRS=applications pixmaps EXTRA_DIST=$(share_DATA) tac2tuc.pl sharedir = $(datadir)/tucnak share_DATA = README tucnak-4.32/share/README0000644000175000017500000000020011277513162011627 00000000000000These files are NOT used by Tucnak. It contain they compiled-in. Files are for you, you can modify they and place to ~/tucnak . tucnak-4.32/share/Makefile.in0000644000175000017500000005046714125266462013043 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = share ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(sharedir)" DATA = $(share_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs \ README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ SUBDIRS = applications pixmaps EXTRA_DIST = $(share_DATA) tac2tuc.pl sharedir = $(datadir)/tucnak share_DATA = README all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu share/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu share/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-shareDATA: $(share_DATA) @$(NORMAL_INSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(sharedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(sharedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sharedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(sharedir)" || exit $$?; \ done uninstall-shareDATA: @$(NORMAL_UNINSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(sharedir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(sharedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-shareDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-shareDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-shareDATA install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-shareDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/share/pixmaps/0000755000175000017500000000000014125271147012517 500000000000000tucnak-4.32/share/pixmaps/tucnak.xpm0000644000175000017500000001243112412214006014437 00000000000000/* XPM */ static char *tucnak[] = { /* columns rows colors chars-per-pixel */ "32 32 195 2", " c #000000", ". c #06090B", "X c #0C0000", "o c #0E0C04", "O c #090B0C", "+ c #0D131B", "@ c #140300", "# c #160F0B", "$ c #1F0700", "% c #1F0B00", "& c #121517", "* c #141618", "= c #17181A", "- c #1A1C1E", "; c #1C1F20", ": c #1E2325", "> c #220400", ", c #231604", "< c #20160B", "1 c #291000", "2 c #392712", "3 c #212324", "4 c #252C2F", "5 c #292B2B", "6 c #272D30", "7 c #2A2C31", "8 c #2D3032", "9 c #342D2E", "0 c #313335", "q c #32373A", "w c #32393C", "e c #383A3C", "r c #393F42", "t c #3B4043", "y c #3D4348", "u c #442300", "i c #4E2B01", "p c #533920", "a c #64240D", "s c #642E05", "d c #6A2A02", "f c #783108", "g c #764B18", "h c #424445", "j c #424549", "k c #434A4D", "l c #4A4C4D", "z c #454C50", "x c #4B5155", "c c #4D5559", "v c #505355", "b c #50555A", "n c #53595E", "m c #5E5E5F", "M c #565E63", "N c #595F62", "B c #5C6165", "V c #5E6368", "C c #64615D", "Z c #61666A", "A c #61696D", "S c #68696A", "D c #6A6C71", "F c #6A7174", "G c #6E7679", "H c #737576", "J c #737678", "K c #767C81", "L c #7A7E82", "P c #7C8084", "I c #B53718", "U c #87742D", "Y c #9D6D2E", "T c #A55E10", "R c #BE771D", "E c #997C5D", "W c #C35E12", "Q c #CD5A11", "! c #D76D19", "~ c #EB5E2C", "^ c #E5681F", "/ c #E7730E", "( c #E77B07", ") c #E47C1B", "_ c #F1640E", "` c #F17216", "' c #F2781F", "] c #F9731C", "[ c #FF7812", "{ c #EF6B3B", "} c #F17C24", "| c #C36C4F", " . c #B98157", ".. c #DE8200", "X. c #D49129", "o. c #E58D15", "O. c #F38712", "+. c #FF9D00", "@. c #F79113", "#. c #F6931D", "$. c #F79A1A", "%. c #F89B15", "&. c #FD991F", "*. c #F38320", "=. c #F98A20", "-. c #F79920", ";. c #F59A2A", ":. c #FF9023", ">. c #F1903A", ",. c #F1A605", "<. c #F5A10E", "1. c #F9A402", "2. c #FAAC02", "3. c #FDAF0B", "4. c #F8A113", "5. c #FFA51C", "6. c #FFA812", "7. c #FFB803", "8. c #FAA523", "9. c #D3BC56", "0. c #DEAC61", "q. c #D4B97B", "w. c #F88F67", "e. c #FFB35A", "r. c #FCB168", "t. c #FFBF71", "y. c #FFC600", "u. c #FDC21B", "i. c #FFD400", "p. c #FFD911", "a. c #FFC426", "s. c #FFE532", "d. c #DAC252", "f. c #FFDB5A", "g. c #F1D778", "h. c #FFE476", "j. c #FFEB75", "k. c #828383", "l. c #85888E", "z. c #888A8F", "x. c #888D92", "c. c #8B9093", "v. c #9C8987", "b. c #94979B", "n. c #9C9FA5", "m. c #9EA6AC", "M. c #B09C89", "N. c #B1A180", "B. c #A2A4A4", "V. c #A4A5A8", "C. c #A6A8AB", "Z. c #ABACAC", "A. c #AFB0B1", "S. c #B3AAAE", "D. c #B1B4B6", "F. c #B1B3B8", "G. c #B5B9BB", "H. c #BDBDBD", "J. c #B4B4C4", "K. c #BEBFC4", "L. c #C4AF92", "P. c #F3AA86", "I. c #F7BE83", "U. c #F8B897", "Y. c #F3B9A4", "T. c #E6C286", "R. c #F8C69D", "E. c #F3C5A5", "W. c #F8CEB9", "Q. c #FFDCA8", "!. c #FFFDB4", "~. c #C6C9CA", "^. c #C9CCCC", "/. c #CACCD0", "(. c #DCCCC7", "). c #D1D1D2", "_. c #D5D7D8", "`. c #D3D8DA", "'. c #D9DADD", "]. c #DCDEE4", "[. c #D9DEED", "{. c #F9DFCD", "}. c #FFDFD8", "|. c #FDE2D8", " X c #E5E6E6", ".X c #E3E5E9", "XX c #E4E8ED", "oX c #E2EBF3", "OX c #F2EBE6", "+X c #FFEEEC", "@X c #FFFFE4", "#X c #F1F5FC", "$X c #F3F8F9", "%X c #FEFEFE", "&X c None", /* pixels */ "&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X &X&X&X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X : k z * &X&X&X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X h 7 x A J & &X&X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X&X . Z.%Xc w j c e &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X&X v C OXD M XX^.5 &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X o N.M.Q.0.g {.%Xj &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X U %X@Xj.p.y.+.| z &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X d.!.f.u.,.X. .v.z &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X 9.g.q.L.S.J.oX.Xt &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X * $X#X[.XX$X%X%X%Xt &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X m %X%X%X%X%X%X%X%Xk &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X H.%X%X%X%X%X%X%X%Xx &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X 0 %X%X%X%X%X%X%X%X%XB . &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X Z.%X%X%X%X%X%X%X%X XB 7 &X&X&X&X&X&X&X", "&X&X&X&X&X&X&X&X&X h %X%X%X%X%X%X%X%X%XG.x n . &X&X&X&X&X&X", "&X&X&X&X&X&X&X&X . _.%X%X%X%X%X%X%X%X%XF k V q &X&X&X&X&X", "&X&X&X&X&X&X&X .%X%X%X%X%X%X%X%X%XG.r z M D + &X&X&X&X&X", "&X&X&X&X&X&X O x r #X%X%X%X%X%X%X%X%X Xy c x c F V &X&X&X&X", "&X&X&X&X - /.P K.%X%X%X%X%X%X%X%X%Xx B B y c V l.r &X&X&X&X", "&X&X&X&X - '. XH %X%X%X%X%X%X%X%X%XS N x.q r x B J l.O &X&X&X", "&X&X&X O ~.%XA.J %X%X%X%X%X%X%X%X).8 D.r 3 w z M F n.l &X&X&X", "&X&X x V.m 5 l %X$X$X%X%X|.%X%XC.h P O 4 D b.F.K c.L &X&X", "&X&X . B.e.I.%XR.` U.%X_.3 - 6 C./.).%Xc.P z.. &X&X", "&X&X < 1.8.E.&.O.W.%X%Xt e '.].'.%X%Xc.L S &X&X", "&X&X&X&X&X&X&X , 2.2.@.%.} Y.P.w.(.$X%X X%X%X%XG K 0 &X&X", "&X&X&X&X&X&X&X&X @ <.3.4.$.' } _ ~ +X%X%X%X%X%X~.M x &X&X", "&X&X&X&X&X&X&X&X&X o.6.$.-.=.] { }.%X%X%X%X%X`.N t . &X&X&X", "&X&X&X&X&X&X&X&X&X&XT 5.-.=.^ a 9 K A.^./.m.Z 7 + &X&X&X&X", "&X&X&X&X&X&X&X&X&X&X1 ) ! f X # p Y R s &X&X&X&X&X", "&X&X&X&X&X&X&X&X&X&X &X 2 E T.h.s.i.7...d &X&X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X&Xu ;.t.r.>.a.7./ Q ( [ I &X&X&X", "&X&X&X&X&X&X&X&X&X&X&X&X&X&X&X&Xi i % $ W d X @ > &X&X&X" }; tucnak-4.32/share/pixmaps/Makefile.am0000644000175000017500000000017312412213773014472 00000000000000datarootdir = @datarootdir@ EXTRA_DIST=$(share_DATA) sharedir = $(datadir)/pixmaps share_DATA = tucnak.png tucnak.xpm tucnak-4.32/share/pixmaps/tucnak.png0000644000175000017500000000376412412214000014422 00000000000000PNG  IHDR szz pHYs  gAMA|Q cHRMz%u0`:o_FjIDATxb?S,>ę@̌O^bahJYE=U f&&KgϘ|L (^JH3@1Qh]9dbDŋ  JoU{vdPRVbxûw߿ϠTČ  Jkw&o3ȋ0(*i0,ZǷ 5@̇"L|<,i~Z >: 18gPxA3cc)) g@1 Kt'.ǀFe8w@,^"7D22poÿ<&z e F @8@ ~batG Y0ga`Tc3gaD@8_T\BBvÏ? dٙx ~}pg%T  $(x Dj.b8 9!b1|T2;99T 1>uD 8/^00113hj뀸>%vG'gސ`_{ -]Vv.D8}ԩDvێ ߿ge32EC : 9@qAUe9:A˷p)`Mv/P*zbÌpqq{-CϞ1D'3 2 ))I/3,7P(b &=MJFvZ?By`{@@ _>}fPUdS@ lΐܷw8Ç }vN.?bmmm+׮0 ?f _ '7oP >Bw@67/_EKTΜ;9Do`W^e8v8CPPM޽}?š/@ψ1888pg! &e;ógO*._ >_#='W12>s`05gf caL&f ^@,  {YXAg@ #3EK9}86"?vL\_QY忌u]KW.\N򿺱GW&P +@\{@63}g`˕f&Q`)5j0@~2,Z_v"X@G15$@!;2#: Vff#3y \L 1~v֧v211<{AJRn```8~(4>3'gB xjo3|%Ǡ lAj^)IqOfx.\8 w`DLQOo_2dg 6`S(24V˜mIf0<|a +Py m:p( ? LYP+ B+ de[wpq ߿@O# @b);Gzyf>10^ F@ *D@1~n[-Q/>E ˶7@ @ Hi3Ar_h>fBj)Z Ϭ}P^S#`&{Y: @u< \EAccD.Uw3|?F/^9w)og;}  (v6C$n>pSAtIPӟ,{Wk&"a( L:0{ @XIENDB`tucnak-4.32/share/pixmaps/Makefile.in0000644000175000017500000003407714125266462014523 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = share/pixmaps ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(sharedir)" DATA = $(share_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = $(share_DATA) sharedir = $(datadir)/pixmaps share_DATA = tucnak.png tucnak.xpm all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu share/pixmaps/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu share/pixmaps/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-shareDATA: $(share_DATA) @$(NORMAL_INSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(sharedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(sharedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sharedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(sharedir)" || exit $$?; \ done uninstall-shareDATA: @$(NORMAL_UNINSTALL) @list='$(share_DATA)'; test -n "$(sharedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(sharedir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(sharedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-shareDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-shareDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-shareDATA install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-shareDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/intl/0000755000175000017500000000000014125271147010702 500000000000000tucnak-4.32/intl/french.lng0000644000175000017500000012062314001016240012555 00000000000000T__CHAR_SET, "iso8859-1", T__LANGUAGE, "Franais", T_ABOUT, "A propos", T_BAD_NUMBER, "Mauvais nombre", T_BAD_STRING, "Mauvaise chane", T_BASIC_HELP, "Presser F10 pour le menu.\nAmusez vous bien.", T_BLOCK_CURSOR, "Curseur bloc", T_CANCEL, "Annuler", T_CHARACTER_SET, "Codage de caractres", T_COLOR, "Couleur", T_COPYING, "Copying", T_DIFFERENCE, "diffrence", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Voulez vous rellement quitter Tucnak?", T_EMPTY_STRING_NOT_ALLOWED, "Chane vide non autorise", T_ERROR, "Erreur", T_WARNING, "Avertissement", T_EXIT, "Quitter", T_EXIT_TUCNAK, "Quitter Tucnak", T_FILE, "Fichier", T_FULL_SCREEN, "Plein cran", T_HELP, "Aide", T_HK_ABOUT, "A", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "A", T_HK_COPYING, "C", T_HK_EXIT, "Q", T_HK_FILE, "F", T_HK_FULL_SCREEN, "F", T_HK_HELP, "H", T_HK_LANGUAGE, "L", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "S", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "W", T_HK_XTERM, "X", T_KOI8R_FRAMES, "Cadres KOI8-R", T_LANGUAGE, "Langue", T_LAST, "dernier", T_LINUX_OR_OS2_FRAMES, "Cadres Linux ou OS/2", T_MEMORY_INFO, "Info mmoire", T_NO_FRAMES, "Aucun cadre", T_NO, "Non", T_NUMBER_EXPECTED, "Nombre attendu dans le champ", T_NUMBER_OUT_OF_RANGE, "Nombre hors domaine", T_OK, "OK", T_OS_SHELL, "OS shell", T_RESTRICT_FRAMES_IN_CP850_852, "Restreindre les cadres en cp850/852", T_UTF_8_IO, "UTF-8 Entre/Sortie", T_SCREEN, "Ecran", T_SETUP, "Setup", T_TERMINAL_OPTIONS, "Options terminal", T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nLog contest V/U/SHF similaire TACLOG", T_TWTERM, "Twterm", T_USE_11M, "Utiliser ^[[11m", T_VT_100_FRAMES, "Cadres VT 100", T_WELCOME1, "Bienvenue dans Tucnak!", T_WELCOME2, "Veuillez saisir votr indicatif et votre locator:", T_WELCOME, "Bienvenue", T_XTERM, "Xterm", T_YES, "Oui", T_CANT_APPEND_S, "Ne peut concatner le fichier %s", T_CANT_WRITE, "Ne peut crire dans le fichier", T_CANT_WRITE_S, "Ne peut crire dans le fichier %s", T_CANT_READ, "Ne peut lire depuis le fichier", T_CANT_READ_S, "Ne peut lire depuis le fichier %s", T_SAVED_S, "%s enregistr", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - vitesse cw ", T_CANT_OPEN_S, "Ne peut ouvrir %s", T_CANT_LOCK, "Ne peut vrouiller", T_CANT_LOCK_S, "Ne peut vrouiller %s", T_LOADING_CTEST_S, "*** Chargement contest %s", T_NO_FILES, "Aucun fichier dans le rpertoire", T_BAND_EXIST_SS, "ATTENTION! La bande %s (%s) existe dj", T_BAND_NOT_OPEN, "Bande non active dans ce contest", T_NO_BANDS, "Aucune bande charger", T_CANT_SET_GR_S, "Ne peut mettre aucun mode graphique-%s", T_GCALL, "Indicatif: %s", T_GWWL, "WWL: %s", T_GQRB, "QRB: %d km", T_GQTF, "QTF: %d", T_GSEN, "Trns: %s %s", T_GRCV, "Reu: %s %s", T_GTIM, "Time: %s", T_GOPE, "Op: %s", T_GREM, "Rem: %s", T_GWKD, "Wkd: %d", T_GINC, "revenu: %d", T_GLON, "Lon:%7.2f %-6s", T_GLAT, "Lat:%7.2f %-6s", T_GLOC, "Loc: %s", T__PLESE_WAIT_, " ATTENDRE svp ", T__RO_BAND, " BANDE LECTURE-SEULE", T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.", T_CTEST_ACTIVE, "Contest dj actif ", T_NO_CTESTS, "Aucun contest", T_NO_CCLOSE, "Aucun contest fermer", T_REALLY, "Vraiment?", T_CLOSE_CTEST, "Voulez vous vraiment fermer ce contest?", T_GUI_LD, "IHM: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw lments, %d wc lments, dernier %d\n", T_EXC, "Exc: %s %d exc items, %d cxe items, latest %d\n", T_VEXC, "Verified EXC: %d items\n", T_DWI, "D_W: %d prfixes, %d DXCCs, %d WWLs\n", T_NAMES, "Noms: %d noms\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Mmoire:", T_NMY, " Mien: ", T_NGLOBAL, "Global: ", T_NMASTER, "Matre: ", T_NREMOTE, "Remote: ", T_NSLAVES, "\nEsclaves:\n", T_NINFO, "Info rseau", T_NO_BANDS_QRV, "QRV aucune bande", T_NO_BANDS_CONF, "Aucune bande configure", T_NOT_AVAILABLE, "Non disponible", T_ADD_SUBWIN, "Ajoute sous-fentre", T_HK_ADD_SUBWIN, "A", T_CLOSE_SUBWIN, "Ferme sous-fentre", T_HK_CLOSE_SUBWIN, "F", T_HK_NINFO, "N", T_NEW, "Nouveau", T_HK_NEW, "N", T_NEW_WIZZ, "Nouveau depuis assistant", T_HK_NEW_WIZZ, "V", T_NEW_NET, "New from network", T_HK_NEW_NET, "T", T_OPEN, "Ouvrir", T_HK_OPEN, "O", T_SAVE, "Enregistrer", T_HK_SAVE, "E", T_EXPORT_EDI, "Exporter en EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Exporter en rapport", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Exporter en ADIF", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Export as ADIF", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Exporter en HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Export as MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Importer EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Importer ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Importer swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Import list", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Options contest", T_HK_CONTEST_OP, "O", T_CLOSE_CONTEST, "Fermer contest", T_HK_CLOSE_CONTEST, "F", T_ADD_ERROR, "Ajouter ERROR", T_HK_ADD_ERROR, "E", T_CHOP, "Changer d'oprateur", T_HK_CHOP, "O", T_CW_CTEST, "Mettre jour C_W depuis contest", T_HK_CW_CTEST, "C", T_CW_BAND, "Mettre jour C_W depuis la bande", T_HK_CW_BAND, "B", T_EXC_CTEST, "Update EXC DB from contest", T_HK_EXC_CTEST, "P", T_EXC_BAND, "Update EXC DB from band", T_HK_EXC_BAND, "D", T_IMPORT_EBW, "Importer base de donne DL8EBW", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "Aucun contest", T_NO_PEERS, "Aucun pairs trouvs", T_NO_MASTER, "Matre undisponible!", T_CTEST_DEF, "Contest par dfaut", T_HK_CTEST_DEF, "O", T_BAND_DEF, "Bande par dfaut", T_HK_BAND_DEF, "B", T_HK_RESPOP, "P", T_CW_DAEMON, "Manip CW", T_HK_CW_DAEMON, "M", T_CW_CQ, "CW CQ", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB CQ", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Auto-enregistrement", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Chargement cfg depuis rseau", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Chargement C_W depuis rseau", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Enregistrement configuration", T_HK_SAVE_CFG, "F", T_CONTEST, "Contest", T_HK_CONTEST, "C", T_EDIT, "Edition", T_HK_EDIT, "E", T_BANDS, "Bandes", T_HK_BANDS, "B", T_SUBWINS, "Sous-fentres", T_HK_SUBWINS, "W", T_BAND_SETTINGS_SC, "Band settings for band %c %s", T_QRV_ON_THIS_BAND, "QRV sur cette bande", T_QRV_IN_THIS_CTEST, "QRV dans ce contest", T_READ_ONLY, "Lecture-seule", T_MULTI, "Multi", T_SINGLE, "Single", T_CHECK, "Check", T_TXEQUIP, " TX Equip:", T_POWER, "Puissance:", T_RXEQUIP, " RX Equip:", T_ANTENNA, " Antenne:", T_AGLASL, " AGL;ASL:", T_OPS, "Oprateurs:", T_SPACES1, " ", T_REMARKS, "Remarques:", T_OK_SECTION_SINGLE, "Single category in OK", T_OK_SECTION_MULTI, "Multi category in OK", T_QRG_MIN, "Band boundary from", T_QRG_MAX, "to [kHz]", T_ADIFBAND, "ADIF band name", T_SKEDQRG, "QRG for skeds (free form)", T_BAND_LO, "Transverter's LO QRG [Hz]", T_BANDSW, "Band switch value", T_RESPOP, "Oprateur responsable", T_NAME, " Nom:", T_CALLSIGN, " Indicatif:", T_ADDRESS, " Adresse:", T_POSTCODE, "Code Postal:", T_CITY, " Ville:", T_COUNTRY, " Pays:", T_PHONE, " Tlphone:", T_BBSEMAIL, " BBS/Email:", T_QP0, " --aucun-- ", T_QP1, " 1 QSOp*QSOp_m (Std. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK activity)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltic)", T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (district codes)", T_QP13, "13 Continent (CQ WW DX Contest)", T_QP14, "14 Continent+band (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --aucun-- ", T_TP1, " 1 Multiplicatif (Std. IARU)", T_TP2, " 2 Additif (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "Nouveau Contest", T_CANT_TRUNC, "Ne peut troncaturer le fichier desc", T_NAME_OF_CTEST, "Nom du contest:", T_CALL_OF_CTEST, "Indicatif dans le contest:", T_CLUB_ST, "Station du club:", T_YOURWWL, "Votre WWL:", T_YOUREXC, "Votre EXC:", T_DATE_OF_CTEST, "Date du contest:", T_QSOUSED, "QSO NR utilis", T_QSOPM, " QSOp multi:", T_WWLUSED, "WWL utilis ", T_WWLB, "WWL bonus:", T_WWLM, "WWL multi:", T_EXCUSED, "EXC used", T_EXCB, " EXC bonus:", T_EXCM, "EXC multi:", T_EXCNAME, "EXC name:", T_PREFM, "PREF multi:", T_DXCB, "DXC bonus:", T_DXCM, "DXC multi:", T_RSTUSED, "RST Utilis ", T_DEFRS, "RS par dfaut:", T_DEFRST, "Def RST:", T_ALSORSTR, "Also for RST-R", T_QP_CALC, " QSOp calc:", T_TO_CALC, "Total calc:", T_EDI_PROP, "EDI prop", T_RESPOP2, "Op responsable", T_EDIT_QSO_CD, "Edite QSO %c: %03d", T_CALLSIGN2, "Indicatif:", T_CLUB, " Club:", T_PADR1, " PAdr1:", T_PADR2, " PAdr2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Operator:", T_DATE, " Date:", T_MODE, " Mode:", T_RSTS, " RSTs:", T_RSTR, " RSTr:", T_QSONRS, "QSO sent:", T_QSONRR, "QSO rcvd:", T_OPTEXCH, " OptExch:", T_WWL, " WWL:", T_REMARK, "Remarque:", T_QRV2, " QRV on:", T_WKD, " WKD:", T_SEND_SKED, "Envoi sked", T_SELECT, "Slectionne", T_QRG, " QRG:", T_WE_CALL, " On appelle", T_BAND, " Bande:", T_TIME, " Time:", T_DUPE_QSO, "QSO dupliqu!", T_CLEAR_THIS_QSO, "Nettoyer ce QSO", T_EDIT_OLD_QSO, "Edite ancien QSO", T_MARK_OLD_QSO, "Marque ancien QSO comme ERROR", T_STORE_AS_DUPE, "Enregistre comme DUPE", T_BAD_CALL, "Ca ne ressemble pas un indicatif", T_N_CALLSIGN, "\nIndicatif:", T_AUTOSAVE_OPTS, "Options auto-enregistrement", T_SAVE_AQ, "Enregistre sur disque aprs QSO: ", T_SAVE_AM, "Enregistre sur disque aprs minutes:", T_FSYNC, "Fsync", T_SAVE_AQF, "Enregistre sur disquette aprs QSO: ", T_SAVE_AMF, "Enregistre sur disquette aprs minutes:", T_DO_MOUNT, "Monter si absent de /etc/mtab (inutilis)", T_FLOPPY_PATH, "Chemin de disquette:", T_MOUNT_CMD, "Commande de montage: ", T_SW_SHELL, "Shell", T_SW_QSOS, "QSOs", T_SW_LOG, "Log", T_SW_TALK, "Talk", T_SW_SKED, "Sked", T_SW_UNFI, "Part.", T_SW_DXC, "DXC", T_SW_STAT, "Stat", T_SW_MAP, "Carte", T_SW_SCOPE, "Scope", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Player", T_SW_CHART, "Chart", T_SHELL, "Shell", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Talk", T_SKEDS, "Skeds", T_UNFI, "QSOs non finis", T_DXC, "DX Cluster", T_STAT, "Statistiques", T_SWAP, "Swap (N/A)", T_MAP, "Carte graphique", T_SCOPE, "Scope", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Commande", T_RESPAWN, "Relance [sec]:", T_UNFI_QSO, "QSO non fini", T_N_REMARK, "\nRemarque:", T_NO_CQ, "Aucun CQ dfini", T_TEXT, "Texte:", T_SPEED, "Vitesse [WPM]:", T_REPEAT, "Rpte", T_DELAY, "Dlai [0.1s]:", T_ALLOW_UNDEF, "Autorise si qq lments indfinis", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Nom de fichier:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "Port UDP:", T_DEVICE, "Priphrique manip:", T_INIT_SPEED, "Vitesse initiale [WPM]:", T_INIT_WEIGHT, "Weight (30-70):", T_WPMFROM, "WPM Range from", T_WPMTO, "to", T_USE_SPK, "Utilise le haut-parleur", T_LEADIN, "PTT lead in [ms]", T_AUTGIVE, "Run mode aut. give after [chars]", T_IGN_IFACE_S, "Ignore l'interface %-5s", T_IGN_ADDR_S, "Ignore l'adresse %s", T_ADD_IFACE_SSD, "Ajoute l'interface=%-5s BCAST=%s:%d", T_FORCED_ADDR, "Force l'adresse %s", T_TIMESKEW, "ATTENTION! Variation de temps %d dtecte par rapport %s:%d !\n", T_DISCONNECTING_SD, "Dconnection de %s:%d", T_ACCEPTED_SD, "Accept %s:%d (%s)", T_CONNECTING_SD, "Connection %s:%d", T_CONNECTED_SD, "Connect %s:%d", T_DISCONNECTED_SD, "Dconnect de %s:%d", T_LOADED_CFG_SSSS, "Chargement config pour %s %s (%s,%s)", T_LOADED_CW, "Donne C_W charge", T_PEER_NOT_FOUND, "ERREUR! Correspondant %s non trouv", T_CANT_CREATE_HOME_S, "Ne peut crer le rpertoire %s", T_CANT_LOAD_CFG, "Ne peut charger la configuration!\nProgramme ne peut fonctionner correctement!", T_ERR_RC, "Encontr quelques erreurs dans le fichier de config!\nCe fichier a peut-tre t enregistr avec un version plus rcente de Tucnak!\nN'enregistrez pas votre configuration sinon vous perdriez vos donnes!", T_SES_QTR, " QTR ", T_SES_QRA, " CALL ", T_SES_RST, " RST-S-No RST-R-No ", T_SES_QTH, " QTH ", T_SES_QRB, " Pts/QRB QTF ", T_SES_FLG, " Flg ", T_SES_OPE, " Oper. ", T_SES_EXC, " Exch ", T_SES_REM, " Remarque ", T_SES_WELCOME, "Bienvenue dans Tucnak! ", T_SES_PRESS_F10, "Presser F10 pour le menu.", T_SES_HAVE_FUN, "Amusez vous bien.", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG", T_SES_AVG, " MOY: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " WWLs: %d", T_SF_WWLS_UNDER, "-------------", T_SF_EXCS, " EXCs: %d", T_SF_EXCS_UNDER, "-------------", T_SF_MISS_EXCS, " Missing EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " DXCCs: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " WKD WWLs: %d", T_SF_WKD_WWLS_UNDER, "-----------------", T_SF_QSO_WWL4, " QSOS en WWL4s: %d", T_SF_QSO_WWL4_UNDER, "----------------------", T_SF_STATS_BAND, " Statistiques pour la bande %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Contest: %s", T_SF_ALLBQSOS, "All bands QSOs: %d", T_SF_ALLBQSOP, "All bands QSOp: %d", T_SF_ALLBPTS, "All bands pts: %d", T_SF_QSOS, "QSOs: %d", T_SF_VQSO, "Valid QSOs: %d", T_SF_QSOP, "QSO points: %d", T_SF_PTS, "Points: %d", T_SF_AVG_PTS, "Moyenne pts/QSO: %5.2f", T_SF_AVG_QSOP, "Moyenne qsop/QSO: %5.2f", T_BAND_RO, "Bande en lecture-seule", T_THIS_BAND, "Cette bande", T_OTHER_BANDS, "Autres bandes", T_CW_DB, "C_W base de donnes", T_PROC_EXITED, "*** Processus s'est termin\n", T_WE_CALL2, "on appelle", T_WE_LISTEN, "on coute", T_QSL, "QSL promise", T_RECORD, "Enregistre trafic", T_MAXMIN, " Dure max d'enregistrement", T_TEMPLATE, "Patron du nom de fichier", T_PCM8, "8 bit PCM", T_PCM16, "16 bit PCM", T_ULAW, "mu-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Canaux", T_SAMPLERATE, "Frquence d'chantillonage", T_FILLOP, "Renseigner oprateurs", T_HK_FILLOP, "N", T_RECAQRB, "Recalc QRB,QTF", T_HK_RECAQRB, "R", T_NETWORK, "Rseau & trace", T_HK_NETWORK, "E", T_IF_IGNORE, "Ignore interfaces:", T_IP_IGNORE, " Ignore rseaux:", T_IP_ANNOUNCE, "Annonce au rseau:", T_TRACE_BCAST, "Trace broadcasts ", T_TRACE_SOCK, "Trace sockets", T_TRACE_RECV, "Trace donnes reues", T_TRACE_SEND, "Trace donnes envoyes", T_TRACE_QSOS, "Trace QSOs", T_TRACE_SDEV, "Trace rotars", T_NOT_MOUNTED_S, "Non mont %s", T_RECSRC_NONE, "Ne pas dfinir", T_RECSRC_MIC, "Microphone", T_RECSRC_LINE, "Entre ligne", T_NEW_CALL, "Nouveau!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV sur %s", T_SKED_QRG, "QRG pour skeds", T_HK_SKED_QRG, "Q", T_N_SKED_QRG, "\nQRG pour skeds:", T_GRAB_BAND, "Rcupre contrle bande", T_HK_GRAB_BAND, "P", T_FORCE_RUN, "Force mode RUN", T_HK_FORCE_RUN, "U", T_EXPORT_STATS, "Exporter Statistiques", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX QSOs:", T_SF_TOP_DX_UNDER, "-------------------", T_ROTAR, "Rotator", T_HK_ROTAR, "R", T_AZIMUTH, " Azimuth", T_ELEVATION, "Elvation", T_CH_SPY, "Espionne", T_HK_CH_SPY, "S", T_CH_ENDSPY, "Fin espionnage", T_HK_CH_ENDSPY, "F", T_EXPORT_TITLPAGE, "Exporter page de titre", T_HK_EXPORT_TITLPAGE, "P", T_BREAK_RECORD, "Arrte l'enregistrement", T_HK_BREAK_RECORD, "A", T_GLOBAL_OPERATOR, "Changer pour toutes bandes", T_GLOBAL_OPERATOR2, "Global", T_MAXFRAG, "Nombre max de fragments (>=2)", T_PLAY_LAST, "Joue dernier chantillon", T_HK_PLAY_LAST, "J", T_MISCOPTS, "Options diverses", T_HK_MISCOPTS, "P", T_LOGLINES, "Lignes log: ", T_SKEDSHIFT, "Dcalage sked (minutes): ", T_STARTBAND, "Band de dpart: ", T_GFX_X_CH, "Rsolution cran (cars):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Rsolution cran (pixels):", T_GFX_Y_PX, "x", T_CALL_INFO, "Info indicatif", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSOs/heure: %d", T_SF_QSOP_HOUR, "Points/heure: %d", T_SF_QSOP_50QSO, "Points/50 QSOs: %d", T_SF_HOURS, " Heures", T_SF_HOURS_UNDER, "---------", T_SF_HOURS_TITLE, "Heures Points QSOs MOY pts/QSO", T_QSO_CHECK, "QSO vrification", T_HK_QSO_CHECK, "Q", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Espace disque minimum [MiB]", T_FORMAT, "Format enregistrement", T_PCM_PLAY, "Priphrique playback Alsa", T_PCM_REC, "Priphrique capture Alsa", T_PERIOD, "Priode [ms]", T_BUFFER, "Temps buffer [ms]", T_ALSA_MIXER, "Priphrique mixeur Alsa", T_CAPTURE, "Source capture", T_DSP, "OSS DSP", T_MIXER, "OSS mixeur", T_RECSRC, "Source enregistrement", T_PA_PLAY, "Portaudio playback device", T_PA_REC, "Portaudio capture device", T_HOSTNAME, "Hte:", T_SLASHKEY, "Slash key", T_FIXQRG, "Fix QRG", T_HK_FIXQRG, "X", T_ENTER_QRG, "Enter accurate QRG [Hz]", T_BAD_QRG, "Bad frequency", T_CALLSIGN3, "Callsign", T_CALLSIGN_KST, "KST station's callsign:", T_CANT_INIT_WINKEY_S, "Can't init winkey on %s", T_WINKEYOPTS, "Winkey options", T_WK_WK2, "Winkey2 fast initialization", T_WK_USEPOT, "Use speed pot", T_WK_USEBUT, "Use buttons", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Bug", T_WK_SWAP, "Paddle swap (left handled)", T_RIGOPTS, "Rig options", T_HK_RIGOPTS, "G", T_RIG_DEVICE, "Device:", T_RIG_MODEL, "Hamlib model", T_RIG_SPEED, "Baudrate: ", T_RIG_CIV, "CIV address (hex)", T_RIG_FREQSHIFT, "Freq. shift SSB->CW", T_RIG_CHOOSE, "Choose", T_ROTAROPTS, "Rotar options", T_HK_ROTAROPTS, "I", T_DSSAVER, "Disable screensaver", T_DESC, "Description", T_ROT_NONE, "None", T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys", T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI", T_ROT_HAMLIB, "Hamlib (N/A)", T_ROT_REMOTE, "Remote (N/A)", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Serial #", T_ROT_ADD, "Add new rotator", T_HK_ROT_ADD, "W", T_ROT_REMOVE, "Remove rotator", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "Beam width", T_SADDR, "Communication address:", T_MODEL, "Model:", T_ROT_REM_ROTSTR, "Rotator letter for remote", T_QSOGLOB, "Global QSO NR", T_PREFGLOB, "Global prefix", T_NOT_RECORDING_S, "Not recording - %s", T_SKEDCOUNT, "Sked count in popup: ", T_FONTHEIGHT, "Font height (16-32): ", T_RIG_POLL_MS, "Rig poll interval [ms]: ", T_RIG_QRG_R2T, "Set band from radio", T_RIG_QRG_T2R, "Change band on radio", T_RIG_MODE_T2R, "Change mode on radio", T_RUN_MODE, "Run mode", T_HK_RUN_MODE, "M", T_SP_MODE, "S&P mode", T_HK_SP_MODE, "M", T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save", T_RIG_DEBUG, "Debug rig", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Band QSO Point Mult", T_HF_SUM, "Sum:", T_HF_LAST, "Last Q-%s P-%s", T_EVEN, "TX even", T_HK_EVEN, "v", T_ODD, "TX odd", T_HK_ODD, "d", T_1ST, "TX 1st", T_HK_1ST, "1", T_2ND, "TX 2nd", T_HK_2ND, "2", T_HF_SCORE, "Score:", T_EXPMODE, "Expedition mode", T_TTTYPE, "Only digits mean", T_ROT_POLL_MS, "Poll interval [ms]:", T_VERSION, "Version", T_HK_VERSION, "V", T_REMOTE_HOST, " Remote host name:", T_REMOTE_PORT, " Remote TCP port:", T_REMOTE_PASS, " Remote Password:", T_STARTING_AC, "Starting AS", T_STOPPING_AC, "Stopping AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Speed:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Durat: %ld", T_EXPORTING_S, "Exporting %s", T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s", T_EXPORTING, "Exporting ...", T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables", T_LOADING_CHARTS, "Loading charts", T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control", T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in", T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi", T_CANT_CREATE_PIPE, "Can't create pipe", T_TERMINATING_CWDAEMON, "Terminating CW/PTT control", T_INIT_CWDB, "Initializing WWL database", T_TERM_CWDB, "Terminating WWL database", T_LOADING_CWDB, "Loading WWL database", T_QRV_ON, "QRV on: ", T_CANT_INIT_FTDI, "Can't init ftdi library for davac4", T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s", T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s", T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s", T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s", T_INIT_SOUNDCARD, "Initializing soundcard", T_NO_OSS, "OSS support not compiled in", T_NO_ALSA, "Alsa support not compiled in", T_NO_PORTAUDIO, "portaudio support not compiled in", T_NO_SNDFILE, "Libsndfile support not compiled in", T_NO_SNDPIPE, "Sndpipe support not compiled in", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Initializing DXCC database", T_FREE_DWDB, "Terminating DXCC database", T_LOAD_DWDB, "Loading DXCC database", T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n", T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n", T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n", T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n", T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n", T_CALL_ON_BAND_S, "Callsign on band %s is %s\n", T_LOCATOR_ON_BAND, "Locator on band %s is %s\n", T_QSO_CHECK_LIST, " Tucnak QSO check list\n", T_CALL_SN, " Call: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Date: %s\n", T_CHECKING_S, "Checking %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Seems to be O.K.\n", T_CW_NOT_FOUND, "C_W: %s not found\n", T_0X_NOT_IN_DB, " 0x (not in database)", T_NAME_IS, "Name: %s's name is %s\n", T_NAME_UNKNOWN, "Name: %s's name is unknown\n", T_INIT_DXC, "Initializing DXcluster database", T_FREE_DXC, "Terminating DXcluster database", T_HK_SELECT, "S", T_HIDE, "Hide", T_HK_HIDE, "H", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Use", T_HK_USE, "U", T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n", T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n", T_HOST_RESOLVED, "*** Host resolved ", T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n", T_CONNECTING_TO, "*** Connecting to %s ***\n", T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n", T_CONNECTED_SOCKET, "*** Connected socket %d ***\n", T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n", T_DISCONNECTED, "\n*** Disconnected ***\n", T_RESOLVING, "*** Resolving %s ***\n", T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s", T_SAVED, "Saved '%s'", T_LOADING_CONTEST, "Loading contest %s", T_LOADING_LOGFILE, "Loading logfile", T_LOADING_TALK, "Loading talk", T_SEARCH_FILES, "Search for contest files", T_LOADING_BAND, "Loading band %s", T_LOADING_SPY, "Loading spy", T_LOADING_HICALLS, "Loading hicalls", T_LOADING_QRV, "Loading qrv", T_LOADING_CHART, "Loading chart", T_SAVING_CONTEST, "Saving contest", T_UPD_INT_DATA, "Updating internal data", T_CALC_STATS, "Calculating statistics", T_ANN_OVER_NET, "Announcing over network", T_ACTIVATING_BAND, "Activating band %s", T_UPDATING_WKD, "Updating worked calls", T_UPDATING_QRBQTF, "Updating QRB&QTF", T_UPDATING_GAIN, "Updating gain chart", T_SEN_OVER_NET, "Sending info over network", T_INIT_EXCDB, "Initializing exchange database", T_FREE_EXCDB, "Terminating exchange database", T_INIT_FFT, "Initializing FFT analyse", T_FREE_FFT, "Terminating FFT analyse", T_INIT_ROTAR, "Initializing rotator control", T_FREE_ROTAR, "Terminating rotator control", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Points", T_AVG, "AVG", T_INIT_HTTPD, "Initializing HTTP server", T_FREE_HTTPD, "Terminating HTTP server", T_NO_CONTEST_OPENED, "

No contest opened

\n", T_NO_CONTEST_OPENED2, "No contest opened", T_STATS, "Statistics", T_BAND_NOT_FOUND, "Band not found", T_BAND_C_NOT_FOUND, "

Band %c not found

", T_QSOS_IN_DATABASE, "qsos in database", T_TUCNAK_ONLINE_LOG, "Tucnak online log", T_DATE2, "Date", T_UTC, "UTC", T_CALL, "Call", T_CALL_NOT_FOUND, "Call not found", T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d", T_FREE_TERM, "Terminating terminal", T_TERM_KEYMAPS, "Terminating keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh mistake", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Ask for sked", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Message", T_HK_MESSAGE, "M", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n", T_RESOLVED, "*** Resolved ", T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n", T_SENDING_SH_US, "*** Sending /sh us ...\n", T_SKIP_LINE, "Skip line %d '%s'", T_CANT_CREATE_HOME, "Can't create home directory '%s'", T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s", T_INIT_MAP, "Initializing polar map", T_DISABLE_SAVER, "Disabling screensaver", T_STARTING_TUCNAK, "Starting Tucnak", T_FREE_MAP, "Terminating polar map", T_INIT_MASTERDB, "Initializing master database", T_FREE_MASTERDB, "Terminating master database", T_LOAD_MASTERDB, "Loading master database", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s", T_DIRECTORY_SCAN, "Directory scan", T_V3_COMPATIBILITY, " (v3 compatibility)", T_RELOAD_INTERFACES, "Reload interfaces", T_SET_READONLY, "Set read-only", T_CHANGE_TYPE, "Change type", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Open connection", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Kill connection", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Export to text file", T_ADD_CONTEST, "Add contest", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Add file(s)", T_HK_ADD_FILES, "F", T_ADD_CONTESTS, "Add contests", T_HK_ADD_CONTESTS, "O", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Int.error test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Dump RW bands and hashes", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Update Tucnak", T_HK_UPDATE, "U", T_SETTINGS, "Settings", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "Voip spy", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "End voip spy", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest is old, spy is not available", T_NETWORK_SCAN, "Network scan", T_HTTPD_OPTIONS, "HTTPD options", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter options", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR options", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Other:", T_NONE, "None ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "Unused ", T_USED_6, "Used (6)", T_OPT_6, "Opt. (6)", T_USED_4, "Used (4)", T_OPT_4, "Opt. (4)", T_FREE, "Free ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Verified", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Confirm WWL", T_CONFIRM_EXC, "Confirm EXC", T_FONT_SIZE, "Font size: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, " SLOVHF user:", T_SDR, "SDR", T_PARPORT, "parport", T_TTYS, "ttys", T_TTYSSINGLE, "ttys single pin", T_AUDIO_SUBSYSTEM, "Audio subsystem:", T_PLAYBACK_VOLUME, "Playback volume", T_CAPTURE_VOLUME, "Capture volume", T_ENABLE_REMOTE_CONNECT, "Enable remote connect", T_TRACE_RIG, "Trace rig", T_TRACE_KEYS, "Trace keys", T_SAVE_RESTART, "You must save configuration and restart Tucnak", T_FULLSCREEN, "Fullscreen", T_TOUCH, "Use touch control", T_ALT_QWER, "Alt turns QWER.. to 1234..", T_NO_LOCKS, "No device locks", T_PORTRAIT_ORIENTATION, "Portrait orientation", T_REVERSE, "Reverse", T_CHOOSE_RIG, "Choose rig", T_RIG_D, "Rig %d", T_NEW_RIG, "New rig", T_ENABLED, "Enabled", T_SET_PTT_ON_RADIO, "Set PTT on radio", T_DISABLED, " (disabled)", T_ADD_RIG, "Add rig", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Enable", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Show private information", T_REFRESH, "Refresh interval:", T_LOAD_FROM_NET, "Load from network", T_LOAD_CWDB, "Load C_W database", T_LOAD_NAMEDB, "Load Name database", T_LOAD_QRVDB, "Load QRV database", T_READONLY_BANDS, "Read-only bands", T_ENABLE_AC, "Enable AS", T_AC_URL, "Alternative URL for flightradar data", T_K_FACTOR, "Troposphere k_factor", T_AC_AREA_WIDTH, "Reflection area width in km", T_AC_EL_ANGLE, "Minimal elevation angle", T_AC_MAX_EL_ANGLE, "Maximal elevation angle", T_AC_MIN_DURATION, "Minimal reflection duration in sec", T_AC_MAX_DIFF, "Max difference of incidence and reflection angles", T_BAD_NUMBER_RANGE, "Bad number range", T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate", T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder", T_NO_DEVICE, "No device", T_IQ_SOURCE, "IQ source:", T_WAV_FILE, "WAV file", T_WAV_FILE_NAME, "WAV file name", T_AF_OUTPUT, "AF output:", T_AF_SAMPLE_RATE, "AF sample rate", T_BLOCK_SIZE, " Block size", T_CW_FILTER, " CW filter", T_TO_HZ, "to [Hz]", T_SSB_FILTER, " SSB filter", T_INIT_NAMEDB, "Initializing name database", T_FREE_NAMEDB, "Terminating name database", T_LOAD_NAMEDB2, "Loading name database", T_INIT_NET, "Initializing network", T_FREE_NET, "Terminating network", T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops", T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s", T_TIME_WAS_SET, "Time was set", T_FAILED_TO_SET_TIME, "Failed to set time", T_INIT, "INIT", T_CONNECTING, "CONNECTING", T_CONNECTED, "CONNECTED", T_WAIT_ACK, "WAIT_ACK", T_DISCONNECTED2, "DISCONNECTED", T_DEAD, "DEAD", T_LONG_XFER, "LONG_XFER", T_AUTHENTICATED_USER_S, "Authenticated user %s", T_BAD_AUTHENTICATION_S, "Bad authentication %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT", T_LONG_TRANSFER_FINISHED, "Long transfer finished", T_INIT_NTP, "Initializing NTP monitor", T_FREE_NTP, "Terminating NTP monitor", T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP", T_INIT_SPEAKER, "Initializing PC speaker", T_FREE_SPEAKER, "Terminating PC speaker", T_CANT_PLAY, "Can't play %s - %s", T_CANT_SEEK_TO_END, "Can't seek to end %s - %s", T_CANT_SEEK_TO_START, "Can't seek to start %s - %s", T_CANT_OPEN, "Can't open %s %s", T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Can't set %s to EPP mode %s", T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s", T_CANT_CLAIM, "Can't claim %s %s", T_INIT_QRVDB, "Initializing QRV database", T_FREE_QRVDB, "Terminating QRV database", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Loading qrvs", T_UNSPECIFIED, "unspecified", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n", T_FOUND_D_ERRORS, "Found %d error%s while reading %s", T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net", T_REGISTRATED_ROTATORS, "Registrated rotators:", T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n", T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread", T_INIT_ROTARS2, "Initializing rotators", T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n", T_ROTAR_ERROR_S, "Rotar error: %s", T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe", T_CANT_READ_FROM, "Can't read from", T_CANT_WRITE_TO, "Can't write to", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Bad update file name", T_CANT_EXECUTE_INSTALLER, "Can't execute installer, ", T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed", T_UPDATE_FAILED, "Update failed", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply.", T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s", T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install.", T_NO_NEW_VER, "No new version available.", T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests...", T_CHOOSE_CONTEST, "Choose contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload", T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form...", T_ALL_EDI_FILES_PROCESSED, "All EDI files processed.", T_UPLOADING_LOG_FILE_S, "Uploading log file %s ...", T_UPLOADING_BAND_S, "Uploading band %s", T_CONFIRMING_LOG, "Confirming log...", T_RESULT_ERROR, "*** Result: ERROR please read error message above", T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s", T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores...", T_LOGS_UPLOADED, "Logs uploaded.", T_HTTP_STATUS, "HTTP status: ", T_LOG_UPLOAD, "Log upload", T_VOIP_NO_INITIALIZED, "VOIP no initialized", T_PAGE_NAME, "Page name", T_OVERWRITE_EXISTING_FILES, "Overwrite existing files", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Password", T_EXPORT_MAP, "Export map", T_EXPORT_CHART, "Export chart", T_MEDIAWIKI_UPLOAD2, "Mediawiki upload", T_BAD_AUTH_USER, "Bad auth user %s != %s", T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame", T_CANT_GET_FMTS, "Can't get supported audio formats: %s", T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s", T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s", T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s", T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s", T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s", T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s", T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s", T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d", T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s", T_RECORD2, "record", T_PLAYBACK, "playback", T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s", T_CANT_STOP_PA, "Can't stop PortAudio stream: %s", T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s", T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\"", T_CANT_SET_STROBE, "Can't set parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error", T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n", T_INIT_SERIAL_DEVICES, "Initializing serial devices", T_BAD_CHECKSUM, "Bad checksum", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Bad response", T_UNKNOWN_FUNCTION, "Unknown function", T_UNKNOWN_ERROR_CODE, "Unknown error code", T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n", T_WAIT_FOR_SDR_THR, "Waiting for SDR thread", T_QSO_REQ_FROM_SP, " QSO request from S&P ", T_QSO_REQ_SENT, " QSO request sent to RUN ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Location unknown", T_DEGREE, "deg", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe", T_INIT_SSB_CQ, "Initializing SSB CQ", T_FREE_SSB_CQ, "Terminating SSB CQ", T_NO_FILE, "No file specified", T_UNSUP_CHANNELS, "Unsupported number of channels = %d", T_FLOAT_UNSUPP, "Float point files are not supported", T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing", T_REC_DISABLED, "recording disabled", T_CONTEST_TOO_OLD, "contest too old", T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Error writing file %s: %s", T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording", T_NO_DISK_SPACE, "Not enough free disk space for file", T_CANT_PLAY_FILE, "Can't play file %s - %s", T_CANT_WRITE_SS, "Can't write to file %s - %s", T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded", T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template", T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n", T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***", T_LOADING_S, "Loading %s", T_INVALID_WINDOW_TYPE, "invalid window type %d\n", T_INIT_RIG, "Initializing rig control %d", T_RIG_ERROR, "Rig error: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n", T_FREE_RIG, "Terminating rig control %d", T_WAIT_FOR_RIG_THR, "Waiting for rig thread", T_INVALID_PARAM, "Invalid param.", T_RIG_INVALID_CONFIG, "Invalid config.", T_RIG_NOT_ENOUGH_MEM, "Not enough mem.", T_RIG_NOT_IMPLEMENTED, "Not implemented", T_RIG_COMM_TIMEOUT, "Comm. timeout", T_RIG_IO_ERROR, "IO error", T_RIG_INTERNAL_ERROR, "Internal error", T_PROTOCOL_ERROR, "Protocol error", T_RIG_COMMAND_REJECT, "Command reject.", T_RIG_ARG_TRUNCATED, "Arg. truncated", T_RIG_F_NOT_AVAILABLE, "F not available", T_RIG_VFO_NOT_TARGET, "VFO not target.", T_RIG_ERROR_ON_BUS, "Error on bus", T_RIG_BUS_COLLISION, "Bus collision", T_RIG_INVALID_ARG, "Invalid arg.", T_RIG_INVALID_VFO, "Invalid VFO", T_RIG_ARG_OUT_OF_DOM, "Arg out of dom.", T_ERROR_D, "Error %d", T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)", T_CANT_SET_GRAPHICS2, "Can't set graphics mode", T_WAIT_SDL_THR, "Waiting for SDL event thread", T_FREE_GRAPHICS, "Terminating graphics", T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s", T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s", T_CANT_READ_LOG_FILE, "Can't read log file %s", T_CANT_UPLOAD_LOG, "Can't upload log: %s", T_CANT_CONFIRM_LOG, "Can't confirm log: %s", T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s", T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Date:", T_QSOS2, "QSOs:", T_POINTS2, "Points:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Can't upload file: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s", T_FILE_ALREADY_EXISTS, "File already exists: %s", T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s", T_CANT_EDIT_PAGE, "Can't edit page: %s", T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s", T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s", T_EDITING_CONTEST_PAGE, "Editing contest page...", T_ALL_DONE, "All done.", T_UPLOADING_FILE, "Uploading file %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s", T_QUERYING_EDIT_TOKEN, "Querying edit token", T_CANT_LOGIN, "Can't log in (2): %s", T_CANT_LOGIN2, "Can't log in (2), wiki says: %s", T_CANT_LOGIN1, "Can't log in (1): %s", T_LOGGING_IN, "Logging in...", T_EXPORTING_FILES, "Exporting files...", T_INIT_WIZZ, "Initializing contest wizard", T_FREE_WIZZ, "Terminating contest wizard", T_LOAD_WIZZ_DATA, "Loading contest wizard data", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Contest phase", T_HK_PHASE, "H", T_ENTER_PHASE, "New contest phase: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/fixlang.pl0000755000175000017500000000422612535256054012621 00000000000000#!/usr/bin/perl -w use Data::Dumper; open (FD, "english.lng") or die; while($s=){ chomp($s); die if ($s!~/^([0-9A-Z_]+),.*?(".*")/); $english{$1}=$2; push @keys,$1; } close(FD); fix("czech", \%english); if (@ARGV>0){ print "exiting...\n"; exit(0); } open (FD, "czech.lng") or die; while($s=){ chomp($s); die if ($s!~/^([0-9A-Z_]+),.*?(".*")/); $czech{$1}=$2; } close(FD); fix("slovak", \%czech); fix("german", \%english); fix("portuguese", \%english); fix("french", \%english); fix("castellano", \%english); fix("polish", \%english); fix("italian", \%english); parsesources(); sub fix { my ($name, $parent)=@_; my ($key, $value); my (%lng); print "Fixing $name\n"; open (FD, "$name.lng") or die; while($s=){ chomp($s); die if ($s!~/^([0-9A-Z_]+),.*?(".*")/); $lng{$1}=$2; } close(FD); open (FD, ">$name.lng") or die; foreach $key (@keys){ if (defined($lng{$key})){ $value=$lng{$key}; }else{ print "undefined key '$key'\n" if (!defined($$parent{$key})); $value=$$parent{$key}; } print FD "$key, $value,\n"; } close(FD); } sub parsesources{ my ($f, $file, $s, $reg, $key, $unused,$contents); my (%used); opendir(DD, "../src") or die; foreach $f (readdir(DD)){ $file="../src/$f"; next if (! -f $file); next if ($file!~/\.c$/ && $file!~/\.h$/); next if ($file=~/language\.h$/); next if ($file=~/\/del_/); # print Dumper($file); open(FD, $file) or die; $contents=""; while ($s=){ $contents.=$s; } foreach $key (@keys){ $reg="$key"; if ($contents=~/$reg/m){ $used{$key}=1; } } close(FD); } closedir(DD); $unused=""; foreach $key (@keys){ next if ($key=~/^T__/); next if (defined($used{$key})); if (length($unused)>0) { $unused.=", "; } $unused.=$key; } if (length($unused)>0) { print "Unused keys: $unused\n"; } } tucnak-4.32/intl/gen-intl0000755000175000017500000000237514021105702012260 00000000000000#!/bin/sh export LC_ALL=C echo echo Generating language table. languages=`cat index.txt` if [ -n "$languages" ]; then ( n=0 echo '/* Automatoticaly generated by gen-intl */' for i in $languages; do echo -n $i" " 1>&2 echo echo 'struct translation translation_'$i' [] = {' echo ' {0, NULL},' cat $i.lng | sed 's/^\(.*\),/ \{\1\},/' echo ' {0, NULL}' echo '};' n=`expr $n + 1` done echo echo 'struct translation_desc translations [] = {' for i in $languages; do echo ' {translation_'$i'},' done echo ' {NULL}' echo '};' echo ( echo '/* Automaticaly generated by gen-intl */' echo echo '#define N_LANGUAGES '$n echo # cat english.lng | grep '^T_' | (cat; echo T__N_TEXTS) | sed 's/,.*//' | cat -n | sed 's/^\([^T]*\)\(.*\)$/#define \2 \1/' cat english.lng | grep '^T_' | (cat; echo "T__N_TEXTS, number of texts,") | cat -n | sed 's/ *\([0-9]*\)[ \t]*\([^,]*\),\(.*\),/#define \2 \1 \/\/\3/' ) | sed 's/ //g' > language.h ) | sed 's/ //g' > ../src/language.inc echo if [ -f ../src/language.h ]; then cmp -s language.h ../src/language.h if [ $? = 0 ]; then echo Same header else echo New header mv language.h ../src fi else mv language.h ../src fi rm -f ../src/language.o language.h echo Done. fi echo true tucnak-4.32/intl/polish.lng0000644000175000017500000012034414001016257012616 00000000000000T__CHAR_SET, "iso8859-2", T__LANGUAGE, "Polish", T_ABOUT, "O programie", T_BAD_NUMBER, "Zy numer", T_BAD_STRING, "Zy cig znakw", T_BASIC_HELP, "Menu nacinij F10.", T_BLOCK_CURSOR, "Blokowy kursor", T_CANCEL, "Anuluj", T_CHARACTER_SET, "Zestaw znakw", T_COLOR, "Kolor", T_COPYING, "Kopiowanie", T_DIFFERENCE, "rnica", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Czy napewno chcesz wyj z programu Tucnak?", T_EMPTY_STRING_NOT_ALLOWED, "Niedozwolony pusty cig znakw", T_ERROR, "Bd", T_WARNING, "Uwaga", T_EXIT, "Wyjcie", T_EXIT_TUCNAK, "Wyjcie z Tucnak", T_FILE, "Plik", T_FULL_SCREEN, "Peny ekran", T_HELP, "Pomoc", T_HK_ABOUT, "A", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "H", T_HK_COPYING, "C", T_HK_EXIT, "W", T_HK_FILE, "F", T_HK_FULL_SCREEN, "F", T_HK_HELP, "H", T_HK_LANGUAGE, "L", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "S", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "W", T_HK_XTERM, "X", T_KOI8R_FRAMES, "Ramka KOI8-R", T_LANGUAGE, "Jzyk", T_LAST, "ostatni", T_LINUX_OR_OS2_FRAMES, "Ramka Linux lub OS/2", T_MEMORY_INFO, "Informacja o pamici", T_NO_FRAMES, "Brak ramki", T_NO, "Nie", T_NUMBER_EXPECTED, "W tym polu tylko numer", T_NUMBER_OUT_OF_RANGE, "Numer poza zakresem", T_OK, "OK", T_OS_SHELL, "Wiersz polece", T_RESTRICT_FRAMES_IN_CP850_852, "Ochrona ramki w cp850/852", T_UTF_8_IO, "UTF-8 Wejcie/Wyjcie", T_SCREEN, "Ekran", T_SETUP, "Ustawienia", T_TERMINAL_OPTIONS, "Opcje terminala", T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nPodobny do TACLOGu-dziennik cznoci V/U/SHF", T_TWTERM, "Twterm", T_USE_11M, "Uyj ^[[11m", T_VT_100_FRAMES, "Ramka VT 100", T_WELCOME1, "Witamy w Tucnak!", T_WELCOME2, "Wprowad swj znak i lokator:", T_WELCOME, "Witaj", T_XTERM, "Xterm", T_YES, "Tak", T_CANT_APPEND_S, "Nie mona doda pliku %s", T_CANT_WRITE, "Nie mona zapisa pliku", T_CANT_WRITE_S, "Nie mona zapisa do pliku %s", T_CANT_READ, "Nie mona odczyta pliku", T_CANT_READ_S, "Nie mona odczyta z pliku %s", T_SAVED_S, "Zapisano %s", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - szybko CW ", T_CANT_OPEN_S, "Nie mona otworzy %s", T_CANT_LOCK, "Nie mona zablokowa", T_CANT_LOCK_S, "Nie mona zablokowa %s", T_LOADING_CTEST_S, "*** Wczytanie zawodw %s", T_NO_FILES, "Brak plikw w katalogu", T_BAND_EXIST_SS, "UWAGA! Pasmo %s (%s) istnieje", T_BAND_NOT_OPEN, "Pasmo nie jest aktywne w tych zawodach", T_NO_BANDS, "Brak pasm do wczytania", T_CANT_SET_GR_S, "Nie mona ustawi adnego trybu graficznego-%s", T_GCALL, "Znak: %s", T_GWWL, "WWL: %s", T_GQRB, "Odlego: %d km", T_GQTF, "Kierunek: %d", T_GSEN, "Wysano: %s %s", T_GRCV, "Odebrano: %s %s", T_GTIM, "Czas: %s", T_GOPE, "Operator: %s", T_GREM, "Uwagi: %s", T_GWKD, "Wkd: %d", T_GINC, "income: %d", T_GLON, "Lon:%7.2f %-6s", T_GLAT, "Lat:%7.2f %-6s", T_GLOC, "Loc: %s", T__PLESE_WAIT_, " Prosz czeka ", T__RO_BAND, " PASMO TYLKO DO ODCZYTU", T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.", T_CTEST_ACTIVE, "Log zawodw jest ju aktywny ", T_NO_CTESTS, "Brak logu zawodw", T_NO_CCLOSE, "No contest to close", T_REALLY, "Really?", T_CLOSE_CTEST, "Czy napewno chcesz zamkn dziennik zawodw?", T_GUI_LD, "GUI: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw wpisw, %d wc wpisw, ostatni %d\n", T_EXC, "Exc: %s %d exc wpisw, %d cxe wpisw, ostatni %d\n", T_VEXC, "Zweryfikowano EXC: %d wpisw\n", T_DWI, "D_W: %d prefiksy, %d DXCCs, %d WWLs\n", T_NAMES, "Imiona: %d imion\n", T_MASTER, "Gowny: %d calls\n", T_MEMS, "Pami:", T_NMY, " Mj: ", T_NGLOBAL, "Oglny: ", T_NMASTER, "Gwny: ", T_NREMOTE, "Zdalny: ", T_NSLAVES, "\nPodrzdny:\n", T_NINFO, "Informacja o sieci", T_NO_BANDS_QRV, "Pasmo nie jest aktywne", T_NO_BANDS_CONF, "Pasmo nie jest skonfigurowane", T_NOT_AVAILABLE, "Niedostpne", T_ADD_SUBWIN, "Dodaj okno", T_HK_ADD_SUBWIN, "D", T_CLOSE_SUBWIN, "Zamknij okno", T_HK_CLOSE_SUBWIN, "Z", T_HK_NINFO, "I", T_NEW, "Nowy", T_HK_NEW, "N", T_NEW_WIZZ, "Nowy z kreatora", T_HK_NEW_WIZZ, "K", T_NEW_NET, "Nowy z sieci", T_HK_NEW_NET, "S", T_OPEN, "Otwrz", T_HK_OPEN, "O", T_SAVE, "Zapisz", T_HK_SAVE, "Z", T_EXPORT_EDI, "Eksport do EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Eksport jako Raport", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Eksport do ADIF", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Eksport do Cabrillo", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Eksport do HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Eksport jako MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Import EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Import ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Import swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Import list", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Ustawienia zawodw", T_HK_CONTEST_OP, "U", T_CLOSE_CONTEST, "Zamknij log zawodw", T_HK_CLOSE_CONTEST, "K", T_ADD_ERROR, "Dodaj Bd", T_HK_ADD_ERROR, "B", T_CHOP, "Zmiana opertora", T_HK_CHOP, "O", T_CW_CTEST, "Aktualizacja C_W z logu", T_HK_CW_CTEST, "A", T_CW_BAND, "Aktualizacja C_W z pasma", T_HK_CW_BAND, "P", T_EXC_CTEST, "Aktualizacja EXC DB z logu", T_HK_EXC_CTEST, "E", T_EXC_BAND, "Aktualizacja EXC DB z pasma", T_HK_EXC_BAND, "X", T_IMPORT_EBW, "Import bazy DL8EBW", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "Log nie jest aktywny", T_NO_PEERS, "Nie znaleziono uytkownikw", T_NO_MASTER, "Komputer gwny jest niedostpny!", T_CTEST_DEF, "Domyle ustawienia zawodw", T_HK_CTEST_DEF, "Z", T_BAND_DEF, "Domylne ustawienia dla pasma", T_HK_BAND_DEF, "P", T_HK_RESPOP, "P", T_CW_DAEMON, "Kluczowanie CW", T_HK_CW_DAEMON, "K", T_CW_CQ, "CW CQ", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB CQ", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Autozapis", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Pobranie ustawie z sieci", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Pobieranie C_W z sieci", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Zapisz konfiguracj", T_HK_SAVE_CFG, "F", T_CONTEST, "Zawody", T_HK_CONTEST, "Z", T_EDIT, "Edycja", T_HK_EDIT, "E", T_BANDS, "Pasma", T_HK_BANDS, "B", T_SUBWINS, "Okna", T_HK_SUBWINS, "O", T_BAND_SETTINGS_SC, "Ustawienia dla pasma %c %s", T_QRV_ON_THIS_BAND, "QRV na tym pamie", T_QRV_IN_THIS_CTEST, "QRV w tych zawodach", T_READ_ONLY, "Tylko do odczytu", T_MULTI, "Multi", T_SINGLE, "Single", T_CHECK, "Check", T_TXEQUIP, " Nadajnik:", T_POWER, " Moc:", T_RXEQUIP, "Odbiornik:", T_ANTENNA, " Antena:", T_AGLASL, "Wys.ziem/morze:", T_OPS, "Operatorzy:", T_SPACES1, " ", T_REMARKS, " Uwagi:", T_OK_SECTION_SINGLE, "Kategoria Single w OK", T_OK_SECTION_MULTI, "Kategoria Multi w OK", T_QRG_MIN, "Zakres pasma od", T_QRG_MAX, "do [kHz]", T_ADIFBAND, "Nazwa pasma w ADIF", T_SKEDQRG, "Czst. do skedw (dowolny form.)", T_BAND_LO, "LO Transwertera[Hz]:", T_BANDSW, "Przecznik pasm", T_RESPOP, "Operatorzy ", T_NAME, " Imie:", T_CALLSIGN, " Znak:", T_ADDRESS, " Adres:", T_POSTCODE, " Kod poczt.:", T_CITY, " Miasto:", T_COUNTRY, " Kraj:", T_PHONE, " Telefon:", T_BBSEMAIL, " BBS/Email:", T_QP0, " --nic -- ", T_QP1, " 1 QSOp*QSOp_m (Std. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK activity)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltic)", T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (district codes)", T_QP13, "13 Continent (CQ WW DX Contest)", T_QP14, "14 Continent+band (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --nic -- ", T_TP1, " 1 Multiplicative (Std. IARU)", T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "Nowe zawody", T_CANT_TRUNC, "Nie mona skrci pliku", T_NAME_OF_CTEST, " Nazwa zawodw:", T_CALL_OF_CTEST, " Znak w zawodach:", T_CLUB_ST, "Znak klubowy:", T_YOURWWL, "Twj WWL:", T_YOUREXC, "Twj EXC:", T_DATE_OF_CTEST, "Data zawodw:", T_QSOUSED, "Wymiana nr QSO", T_QSOPM, " QSOp mnonik:", T_WWLUSED, "Wymiana WWL", T_WWLB, "Bonus WWL:", T_WWLM, "WWL mnonik:", T_EXCUSED, "Wymiana EXC", T_EXCB, " Bonus EXC:", T_EXCM, "EXC mnonik:", T_EXCNAME, "Nazwa EXC: ", T_PREFM, "Mnonik PREF:", T_DXCB, " Bonus DXC:", T_DXCM, "Mnonik DXC:", T_RSTUSED, "Wymiana RST", T_DEFRS, "Domylny RS:", T_DEFRST, "Dom. RST:", T_ALSORSTR, "Rwnie dla RST-R", T_QP_CALC, " Sposb liczenia QSOp:", T_TO_CALC, "Sposb sumowania:", T_EDI_PROP, "EDI informacje", T_RESPOP2, "Operator odp.", T_EDIT_QSO_CD, "Edycja QSO %c: %03d", T_CALLSIGN2, "Znak:", T_CLUB, " Klub:", T_PADR1, " PAdr1:", T_PADR2, " PAdr2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Operator:", T_DATE, " Data:", T_MODE, " Modul.:", T_RSTS, " RSTs:", T_RSTR, " RSTr:", T_QSONRS, "QSO wys:", T_QSONRR, "QSO odeb:", T_OPTEXCH, " OptExch:", T_WWL, " WWL:", T_REMARK, " Uwagi:", T_QRV2, " QRV na:", T_WKD, " WKD:", T_SEND_SKED, "Wylij sked", T_SELECT, "Zaznacz", T_QRG, " QRG:", T_WE_CALL, " Woamy", T_BAND, " Pasmo:", T_TIME, " Czas:", T_DUPE_QSO, "QSO powtrzone!", T_CLEAR_THIS_QSO, "Wyczy to QSO", T_EDIT_OLD_QSO, "Edytuj poprzednie QSO", T_MARK_OLD_QSO, "Zaznacz QSO jako Bd", T_STORE_AS_DUPE, "Zapisz jako powtrzone", T_BAD_CALL, "To nie wyglda jak znak wywoawczy", T_N_CALLSIGN, "\nZanak:", T_AUTOSAVE_OPTS, "Opcje autozapisu", T_SAVE_AQ, "Zapis na dysku po kadym QSO:", T_SAVE_AM, "Zapis na dysku po minutach:", T_FSYNC, "Synchronizuj cache z dyskiem", T_SAVE_AQF, "Zapis na dyskietce po QSO: ", T_SAVE_AMF, "Zapis na dyskietk po minutach:", T_DO_MOUNT, "Zamontuj jesli nie ma /etc/mtab (nieuywane)", T_FLOPPY_PATH, "cieka do dyskietki:", T_MOUNT_CMD, "Polecenie montowania: ", T_SW_SHELL, "Powoka", T_SW_QSOS, "QSOs", T_SW_LOG, "Log", T_SW_TALK, "Rozmowa", T_SW_SKED, "Sked", T_SW_UNFI, "Niedo", T_SW_DXC, "DXC", T_SW_STAT, "Stat", T_SW_MAP, "Map", T_SW_SCOPE, "Spekt", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Odtwarzacz", T_SW_CHART, "Wykres", T_SHELL, "Powoka", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Rozmowa", T_SKEDS, "Skedy", T_UNFI, "Niedokoczone QSO", T_DXC, "DX Cluster", T_STAT, "Statystyki", T_SWAP, "Swap (N/A)", T_MAP, "Graficzna mapa", T_SCOPE, "Spektrum", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Polecenie", T_RESPAWN, "Respawn [sec]:", T_UNFI_QSO, "Niedokoczone QSO", T_N_REMARK, "\nUwagi:", T_NO_CQ, "Nie zdefiniowano CQ", T_TEXT, "Tekst:", T_SPEED, "Prdko [WPM]:", T_REPEAT, "Powtrka", T_DELAY, "Opnienie [0.1s]:", T_ALLOW_UNDEF, "Niektre pozycje nie s zdefiniowane", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Nazwa pliku:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "UDP port:", T_DEVICE, "Urzdzenie kluczujce:", T_INIT_SPEED, "Prdko pocztkowa[WPM]:", T_INIT_WEIGHT, "Szeroko (30-70):", T_WPMFROM, "Przedzia WPM od", T_WPMTO, "do", T_USE_SPK, "Uyj gonika", T_LEADIN, "Opnienie PTT[ms]", T_AUTGIVE, "uruchom tryb automatyczny po[znak]", T_IGN_IFACE_S, "Ignoruj interfejs %-5s", T_IGN_ADDR_S, "Ignoruj adres %s", T_ADD_IFACE_SSD, "Dodano interfejs=%-5s BCAST=%s:%d", T_FORCED_ADDR, "Przejmij adres %s", T_TIMESKEW, "UWAGA! Przedzia czasu %d ponowna detekcja %s:%d !\n", T_DISCONNECTING_SD, "Rozczono z %s:%d", T_ACCEPTED_SD, "Zaakceptowano %s:%d (%s)", T_CONNECTING_SD, "czenie z %s:%d", T_CONNECTED_SD, "Poczono do %s:%d", T_DISCONNECTED_SD, "Rozczono z %s:%d", T_LOADED_CFG_SSSS, "Pobrano konfiguracj z %s %s (%s,%s)", T_LOADED_CW, "Pobrano dane C_W", T_PEER_NOT_FOUND, "BD! Uytkownik %s nie znaleziony", T_CANT_CREATE_HOME_S, "Nie mona utworzy katalogu %s", T_CANT_LOAD_CFG, "Nie mona pobra konfiguracji!\nProgram nie bdzie dziaa prawidowo!", T_ERR_RC, "Wykryto kilka bdw w pliku konfiguracyjnym!\nPrawdopodobnie plik ten nie zosta utworzony przez Tucnak!\nNie zapisuj konfiguracji, bo moesz utraci dane!", T_SES_QTR, " QTR ", T_SES_QRA, " ZNAK ", T_SES_RST, " RST-S-No RST-R-No ", T_SES_QTH, " QTH ", T_SES_QRB, " Pts/QRB QTF ", T_SES_FLG, " Flg ", T_SES_OPE, " Oper. ", T_SES_EXC, " Exch ", T_SES_REM, " Uwagi ", T_SES_WELCOME, "Witam w Tucnak! ", T_SES_PRESS_F10, "Nacinij F10 aby uruchomi menu.", T_SES_HAVE_FUN, "Miej zabawy", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Suma -p AVG", T_SES_AVG, " AVG: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " WWLs: %d", T_SF_WWLS_UNDER, "-------------", T_SF_EXCS, " EXCs: %d", T_SF_EXCS_UNDER, "-------------", T_SF_MISS_EXCS, " Brakuje EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " DXCCs: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " WKD WWLs: %d", T_SF_WKD_WWLS_UNDER, "-----------------", T_SF_QSO_WWL4, " QSOS in WWL4s: %d", T_SF_QSO_WWL4_UNDER, "----------------------", T_SF_STATS_BAND, " Statystyka dla pasma %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Zawody : %s", T_SF_ALLBQSOS, "Wszystkie pasma QSOs: %d", T_SF_ALLBQSOP, "Wszystkie pasma QSOp: %d", T_SF_ALLBPTS, "Wszystkie pasma pkt: %d", T_SF_QSOS, "QSOs: %d", T_SF_VQSO, "Valid QSOs: %d", T_SF_QSOP, "QSO punkty: %d", T_SF_PTS, "Punkty: %d", T_SF_AVG_PTS, "rednia pkt/QSO: %5.2f", T_SF_AVG_QSOP, "rednia qsop/QSO: %5.2f", T_BAND_RO, "Pasmo tylko do odczytu", T_THIS_BAND, "Pasmo", T_OTHER_BANDS, "Inne pasmo", T_CW_DB, "Baza C_W", T_PROC_EXITED, "*** Proces zakoczony\n", T_WE_CALL2, "woamy", T_WE_LISTEN, "suchamy", T_QSL, "Obiecana karta QSL", T_RECORD, "Lista nagra", T_MAXMIN, " Max. czas zapisu", T_TEMPLATE, "Maska nazwy nagrywanego pliku", T_PCM8, "8 bit PCM", T_PCM16, "16 bit PCM", T_ULAW, "mu-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Kanay", T_SAMPLERATE, "Ilo prbek", T_FILLOP, "Fill operators", T_HK_FILLOP, "L", T_RECAQRB, "Przelicz QRB,QTF", T_HK_RECAQRB, "R", T_NETWORK, "Sie & trasa", T_HK_NETWORK, "K", T_IF_IGNORE, "Ignoruj interfejs:", T_IP_IGNORE, " Ignoruj sie:", T_IP_ANNOUNCE, "Opublikuj w sieci:", T_TRACE_BCAST, "Ruch w sieci ", T_TRACE_SOCK, "Ruch na socketach", T_TRACE_RECV, "Odebrane dane", T_TRACE_SEND, "Wysane dane", T_TRACE_QSOS, "Wprowadzane QSOs ", T_TRACE_SDEV, "Sterowanie rotorem", T_NOT_MOUNTED_S, "Nie zamontowano %s", T_RECSRC_NONE, "Nie ustawiono", T_RECSRC_MIC, "Mikrofon", T_RECSRC_LINE, "Wejcie liniowe", T_NEW_CALL, "Nowy!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV on %s", T_SKED_QRG, "QRG dla skeda", T_HK_SKED_QRG, "D", T_N_SKED_QRG, "\nQRG dla skeda:", T_GRAB_BAND, "Grab band control", T_HK_GRAB_BAND, "G", T_FORCE_RUN, "Wymu tryb RUN", T_HK_FORCE_RUN, "U", T_EXPORT_STATS, "Eksport statystyk", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX QSOs:", T_SF_TOP_DX_UNDER, "-------------------", T_ROTAR, "Rotor", T_HK_ROTAR, "R", T_AZIMUTH, " Azymut", T_ELEVATION, "Elewacja", T_CH_SPY, "Podgld", T_HK_CH_SPY, "G", T_CH_ENDSPY, "Koniec podgldu", T_HK_CH_ENDSPY, "K", T_EXPORT_TITLPAGE, "Eksport strony tytuowej", T_HK_EXPORT_TITLPAGE, "P", T_BREAK_RECORD, "Przerwij nagrywanie", T_HK_BREAK_RECORD, "Y", T_GLOBAL_OPERATOR, "Zmie na wszystkich pasmach", T_GLOBAL_OPERATOR2, "Globalny", T_MAXFRAG, "Max. ilo fragmentw (>=2)", T_PLAY_LAST, "Odtwrz ostatni przykad", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Inne opcje", T_HK_MISCOPTS, "N", T_LOGLINES, "Linii w logu: ", T_SKEDSHIFT, "Opnienie skeda(minuty): ", T_STARTBAND, "Uruchomiono pasmo: ", T_GFX_X_CH, "Rozdzielczo ekranu(znakw):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Rozdzielczo ekranu (piksele):", T_GFX_Y_PX, "x", T_CALL_INFO, "Informacja o znaku", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSO/godz: %d", T_SF_QSOP_HOUR, "Punkty/godz: %d", T_SF_QSOP_50QSO, "Punkty/50 QSO: %d", T_SF_HOURS, " Godziny", T_SF_HOURS_UNDER, "---------", T_SF_HOURS_TITLE, "Godziny Punkty QSO R. pkt/QSO", T_QSO_CHECK, "Sprawd QSO", T_HK_QSO_CHECK, "D", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Minimalna wielko przestrzeni na dysku [MiB]", T_FORMAT, "Format nagrania", T_PCM_PLAY, "Urzdzenie odtwarzajce Alsa", T_PCM_REC, "Urzdzenie nagrywajce Alsa", T_PERIOD, "Cykl [ms]", T_BUFFER, "Czas buforowania ms]", T_ALSA_MIXER, "Urzdzenie miksujce Alsa", T_CAPTURE, "Urzdzenie przechwytujce", T_DSP, "OSS DSP", T_MIXER, "OSS mikser", T_RECSRC, "rdo nagrania", T_PA_PLAY, "Urzdzenie dtwarzajce Portaudio", T_PA_REC, "Urzdzenie nagrywajce Portaudio", T_HOSTNAME, "Nazwa hosta:", T_SLASHKEY, "Klawisz ukonika", T_FIXQRG, "Korekta QRG", T_HK_FIXQRG, "G", T_ENTER_QRG, "Wrwnanie QRG [Hz]", T_BAD_QRG, "Za czstotliwo", T_CALLSIGN3, "Znak", T_CALLSIGN_KST, "Znak na czacie KST:", T_CANT_INIT_WINKEY_S, "Nie mog zainicjowa winkey na %s", T_WINKEYOPTS, "Opcje Winkey", T_WK_WK2, "Szybka inicjalizacja Winkey2", T_WK_USEPOT, "Uyj prdkoci", T_WK_USEBUT, "Uyj klawiszy", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Klucz rczny", T_WK_SWAP, "Paddle swap (left handled)", T_RIGOPTS, "Radio", T_HK_RIGOPTS, "R", T_RIG_DEVICE, "Port:", T_RIG_MODEL, "Hamlib model: ", T_RIG_SPEED, "Prdko: ", T_RIG_CIV, "Adres CIV (hex):", T_RIG_FREQSHIFT, "Przes. czst. SSB->CW", T_RIG_CHOOSE, "Wybierz", T_ROTAROPTS, "Opcje rotora", T_HK_ROTAROPTS, "T", T_DSSAVER, "Wycz wygaszacz", T_DESC, "Opis", T_ROT_NONE, "Brak", T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys", T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI", T_ROT_HAMLIB, "Hamlib", T_ROT_REMOTE, "Zdalny", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Serial #", T_ROT_ADD, "Dodaj rotor", T_HK_ROT_ADD, "D", T_ROT_REMOVE, "Usu rotor", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "Szeroko wizki:", T_SADDR, "Adres do komunikacji:", T_MODEL, "Model:", T_ROT_REM_ROTSTR, "Rotor zostanie pniej usunity", T_QSOGLOB, "Globalny NR QSO", T_PREFGLOB, "Globalne PREF", T_NOT_RECORDING_S, "Nie nagrano - %s", T_SKEDCOUNT, "Ilo linii w oknie Sked: ", T_FONTHEIGHT, "Wielko czcionki (16-32): ", T_RIG_POLL_MS, "Czas odpytywania radia [ms]: ", T_RIG_QRG_R2T, "Ustaw pasmo z radia", T_RIG_QRG_T2R, "Zmie pasmo w radiu", T_RIG_MODE_T2R, "Zmie modulacj w radiu", T_RUN_MODE, "Tryb aut.", T_HK_RUN_MODE, "U", T_SP_MODE, "S&P tryb", T_HK_SP_MODE, "Y", T_RIG_CLR_RIT, "Wyczy RIT", T_RIG_DEBUG, "Debugowanie radia", T_HF_RATE, "Prdko: %3d/10 %3d/60", T_HF_BAND, "Pasmo QSO Punkt Mult", T_HF_SUM, "Sum:", T_HF_LAST, "Ostatnie Q-%s P-%s", T_EVEN, "TX eVen", T_HK_EVEN, "V", T_ODD, "TX oDd", T_HK_ODD, "D", T_1ST, "TX 1st", T_HK_1ST, "1", T_2ND, "TX 2nd", T_HK_2ND, "2", T_HF_SCORE, "Wynik:", T_EXPMODE, "Tryb ekspedycja", T_TTTYPE, "Tylko cyfry", T_ROT_POLL_MS, "Czas odpytywania [ms]:", T_VERSION, "Wersja", T_HK_VERSION, "J", T_REMOTE_HOST, " Adres serwera:", T_REMOTE_PORT, "Port TCP serwera:", T_REMOTE_PASS, "Haso do serwera:", T_STARTING_AC, "Starting AS", T_STOPPING_AC, "Stopping AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Speed:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Durat: %ld", T_EXPORTING_S, "Exporting %s", T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s", T_EXPORTING, "Exporting ...", T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables", T_LOADING_CHARTS, "Loading charts", T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control", T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in", T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi", T_CANT_CREATE_PIPE, "Can't create pipe", T_TERMINATING_CWDAEMON, "Terminating CW/PTT control", T_INIT_CWDB, "Initializing WWL database", T_TERM_CWDB, "Terminating WWL database", T_LOADING_CWDB, "Loading WWL database", T_QRV_ON, "QRV on: ", T_CANT_INIT_FTDI, "Can't init ftdi library for davac4", T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s", T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s", T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s", T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s", T_INIT_SOUNDCARD, "Initializing soundcard", T_NO_OSS, "OSS support not compiled in", T_NO_ALSA, "Alsa support not compiled in", T_NO_PORTAUDIO, "portaudio support not compiled in", T_NO_SNDFILE, "Libsndfile support not compiled in", T_NO_SNDPIPE, "Sndpipe support not compiled in", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Initializing DXCC database", T_FREE_DWDB, "Terminating DXCC database", T_LOAD_DWDB, "Loading DXCC database", T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n", T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n", T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n", T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n", T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n", T_CALL_ON_BAND_S, "Callsign on band %s is %s\n", T_LOCATOR_ON_BAND, "Locator on band %s is %s\n", T_QSO_CHECK_LIST, " Tucnak QSO check list\n", T_CALL_SN, " Call: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Date: %s\n", T_CHECKING_S, "Checking %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Seems to be O.K.\n", T_CW_NOT_FOUND, "C_W: %s not found\n", T_0X_NOT_IN_DB, " 0x (not in database)", T_NAME_IS, "Name: %s's name is %s\n", T_NAME_UNKNOWN, "Name: %s's name is unknown\n", T_INIT_DXC, "Initializing DXcluster database", T_FREE_DXC, "Terminating DXcluster database", T_HK_SELECT, "S", T_HIDE, "Hide", T_HK_HIDE, "H", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Use", T_HK_USE, "U", T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n", T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n", T_HOST_RESOLVED, "*** Host resolved ", T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n", T_CONNECTING_TO, "*** Connecting to %s ***\n", T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n", T_CONNECTED_SOCKET, "*** Connected socket %d ***\n", T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n", T_DISCONNECTED, "\n*** Disconnected ***\n", T_RESOLVING, "*** Resolving %s ***\n", T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s", T_SAVED, "Saved '%s'", T_LOADING_CONTEST, "Loading contest %s", T_LOADING_LOGFILE, "Loading logfile", T_LOADING_TALK, "Loading talk", T_SEARCH_FILES, "Search for contest files", T_LOADING_BAND, "Loading band %s", T_LOADING_SPY, "Loading spy", T_LOADING_HICALLS, "Loading hicalls", T_LOADING_QRV, "Loading qrv", T_LOADING_CHART, "Loading chart", T_SAVING_CONTEST, "Saving contest", T_UPD_INT_DATA, "Updating internal data", T_CALC_STATS, "Calculating statistics", T_ANN_OVER_NET, "Announcing over network", T_ACTIVATING_BAND, "Activating band %s", T_UPDATING_WKD, "Updating worked calls", T_UPDATING_QRBQTF, "Updating QRB&QTF", T_UPDATING_GAIN, "Updating gain chart", T_SEN_OVER_NET, "Sending info over network", T_INIT_EXCDB, "Initializing exchange database", T_FREE_EXCDB, "Terminating exchange database", T_INIT_FFT, "Initializing FFT analyse", T_FREE_FFT, "Terminating FFT analyse", T_INIT_ROTAR, "Initializing rotator control", T_FREE_ROTAR, "Terminating rotator control", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Points", T_AVG, "AVG", T_INIT_HTTPD, "Initializing HTTP server", T_FREE_HTTPD, "Terminating HTTP server", T_NO_CONTEST_OPENED, "

No contest opened

\n", T_NO_CONTEST_OPENED2, "No contest opened", T_STATS, "Statistics", T_BAND_NOT_FOUND, "Band not found", T_BAND_C_NOT_FOUND, "

Band %c not found

", T_QSOS_IN_DATABASE, "qsos in database", T_TUCNAK_ONLINE_LOG, "Tucnak online log", T_DATE2, "Date", T_UTC, "UTC", T_CALL, "Call", T_CALL_NOT_FOUND, "Call not found", T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d", T_FREE_TERM, "Terminating terminal", T_TERM_KEYMAPS, "Terminating keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh mistake", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Ask for sked", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Message", T_HK_MESSAGE, "M", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n", T_RESOLVED, "*** Resolved ", T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n", T_SENDING_SH_US, "*** Sending /sh us ...\n", T_SKIP_LINE, "Skip line %d '%s'", T_CANT_CREATE_HOME, "Can't create home directory '%s'", T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s", T_INIT_MAP, "Initializing polar map", T_DISABLE_SAVER, "Disabling screensaver", T_STARTING_TUCNAK, "Starting Tucnak", T_FREE_MAP, "Terminating polar map", T_INIT_MASTERDB, "Initializing master database", T_FREE_MASTERDB, "Terminating master database", T_LOAD_MASTERDB, "Loading master database", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s", T_DIRECTORY_SCAN, "Directory scan", T_V3_COMPATIBILITY, " (v3 compatibility)", T_RELOAD_INTERFACES, "Reload interfaces", T_SET_READONLY, "Set read-only", T_CHANGE_TYPE, "Change type", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Open connection", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Kill connection", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Export to text file", T_ADD_CONTEST, "Add contest", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Add file(s)", T_HK_ADD_FILES, "F", T_ADD_CONTESTS, "Add contests", T_HK_ADD_CONTESTS, "O", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Int.error test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Dump RW bands and hashes", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Update Tucnak", T_HK_UPDATE, "U", T_SETTINGS, "Settings", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "Voip spy", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "End voip spy", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest is old, spy is not available", T_NETWORK_SCAN, "Network scan", T_HTTPD_OPTIONS, "HTTPD options", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter options", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR options", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Other:", T_NONE, "None ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "Unused ", T_USED_6, "Used (6)", T_OPT_6, "Opt. (6)", T_USED_4, "Used (4)", T_OPT_4, "Opt. (4)", T_FREE, "Free ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Verified", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Confirm WWL", T_CONFIRM_EXC, "Confirm EXC", T_FONT_SIZE, "Font size: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, " SLOVHF user:", T_SDR, "SDR", T_PARPORT, "parport", T_TTYS, "ttys", T_TTYSSINGLE, "ttys single pin", T_AUDIO_SUBSYSTEM, "Audio subsystem:", T_PLAYBACK_VOLUME, "Playback volume", T_CAPTURE_VOLUME, "Capture volume", T_ENABLE_REMOTE_CONNECT, "Enable remote connect", T_TRACE_RIG, "Trace rig", T_TRACE_KEYS, "Trace keys", T_SAVE_RESTART, "You must save configuration and restart Tucnak", T_FULLSCREEN, "Fullscreen", T_TOUCH, "Use touch control", T_ALT_QWER, "Alt turns QWER.. to 1234..", T_NO_LOCKS, "No device locks", T_PORTRAIT_ORIENTATION, "Portrait orientation", T_REVERSE, "Reverse", T_CHOOSE_RIG, "Choose rig", T_RIG_D, "Rig %d", T_NEW_RIG, "New rig", T_ENABLED, "Enabled", T_SET_PTT_ON_RADIO, "Set PTT on radio", T_DISABLED, " (disabled)", T_ADD_RIG, "Add rig", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Enable", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Show private information", T_REFRESH, "Refresh interval:", T_LOAD_FROM_NET, "Load from network", T_LOAD_CWDB, "Load C_W database", T_LOAD_NAMEDB, "Load Name database", T_LOAD_QRVDB, "Load QRV database", T_READONLY_BANDS, "Read-only bands", T_ENABLE_AC, "Enable AS", T_AC_URL, "Alternative URL for flightradar data", T_K_FACTOR, "Troposphere k_factor", T_AC_AREA_WIDTH, "Reflection area width in km", T_AC_EL_ANGLE, "Minimal elevation angle", T_AC_MAX_EL_ANGLE, "Maximal elevation angle", T_AC_MIN_DURATION, "Minimal reflection duration in sec", T_AC_MAX_DIFF, "Max difference of incidence and reflection angles", T_BAD_NUMBER_RANGE, "Bad number range", T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate", T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder", T_NO_DEVICE, "No device", T_IQ_SOURCE, "IQ source:", T_WAV_FILE, "WAV file", T_WAV_FILE_NAME, "WAV file name", T_AF_OUTPUT, "AF output:", T_AF_SAMPLE_RATE, "AF sample rate", T_BLOCK_SIZE, " Block size", T_CW_FILTER, " CW filter", T_TO_HZ, "to [Hz]", T_SSB_FILTER, " SSB filter", T_INIT_NAMEDB, "Initializing name database", T_FREE_NAMEDB, "Terminating name database", T_LOAD_NAMEDB2, "Loading name database", T_INIT_NET, "Initializing network", T_FREE_NET, "Terminating network", T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops", T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s", T_TIME_WAS_SET, "Time was set", T_FAILED_TO_SET_TIME, "Failed to set time", T_INIT, "INIT", T_CONNECTING, "CONNECTING", T_CONNECTED, "CONNECTED", T_WAIT_ACK, "WAIT_ACK", T_DISCONNECTED2, "DISCONNECTED", T_DEAD, "DEAD", T_LONG_XFER, "LONG_XFER", T_AUTHENTICATED_USER_S, "Authenticated user %s", T_BAD_AUTHENTICATION_S, "Bad authentication %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT", T_LONG_TRANSFER_FINISHED, "Long transfer finished", T_INIT_NTP, "Initializing NTP monitor", T_FREE_NTP, "Terminating NTP monitor", T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP", T_INIT_SPEAKER, "Initializing PC speaker", T_FREE_SPEAKER, "Terminating PC speaker", T_CANT_PLAY, "Can't play %s - %s", T_CANT_SEEK_TO_END, "Can't seek to end %s - %s", T_CANT_SEEK_TO_START, "Can't seek to start %s - %s", T_CANT_OPEN, "Can't open %s %s", T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Can't set %s to EPP mode %s", T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s", T_CANT_CLAIM, "Can't claim %s %s", T_INIT_QRVDB, "Initializing QRV database", T_FREE_QRVDB, "Terminating QRV database", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Loading qrvs", T_UNSPECIFIED, "unspecified", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n", T_FOUND_D_ERRORS, "Found %d error%s while reading %s", T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net", T_REGISTRATED_ROTATORS, "Registrated rotators:", T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n", T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread", T_INIT_ROTARS2, "Initializing rotators", T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n", T_ROTAR_ERROR_S, "Rotar error: %s", T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe", T_CANT_READ_FROM, "Can't read from", T_CANT_WRITE_TO, "Can't write to", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Bad update file name", T_CANT_EXECUTE_INSTALLER, "Can't execute installer, ", T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed", T_UPDATE_FAILED, "Update failed", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply.", T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s", T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install.", T_NO_NEW_VER, "No new version available.", T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests...", T_CHOOSE_CONTEST, "Choose contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload", T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form...", T_ALL_EDI_FILES_PROCESSED, "All EDI files processed.", T_UPLOADING_LOG_FILE_S, "Uploading log file %s ...", T_UPLOADING_BAND_S, "Uploading band %s", T_CONFIRMING_LOG, "Confirming log...", T_RESULT_ERROR, "*** Result: ERROR please read error message above", T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s", T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores...", T_LOGS_UPLOADED, "Logs uploaded.", T_HTTP_STATUS, "HTTP status: ", T_LOG_UPLOAD, "Log upload", T_VOIP_NO_INITIALIZED, "VOIP no initialized", T_PAGE_NAME, "Page name", T_OVERWRITE_EXISTING_FILES, "Overwrite existing files", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Password", T_EXPORT_MAP, "Export map", T_EXPORT_CHART, "Export chart", T_MEDIAWIKI_UPLOAD2, "Mediawiki upload", T_BAD_AUTH_USER, "Bad auth user %s != %s", T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame", T_CANT_GET_FMTS, "Can't get supported audio formats: %s", T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s", T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s", T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s", T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s", T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s", T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s", T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s", T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d", T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s", T_RECORD2, "record", T_PLAYBACK, "playback", T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s", T_CANT_STOP_PA, "Can't stop PortAudio stream: %s", T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s", T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\"", T_CANT_SET_STROBE, "Can't set parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error", T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n", T_INIT_SERIAL_DEVICES, "Initializing serial devices", T_BAD_CHECKSUM, "Bad checksum", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Bad response", T_UNKNOWN_FUNCTION, "Unknown function", T_UNKNOWN_ERROR_CODE, "Unknown error code", T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n", T_WAIT_FOR_SDR_THR, "Waiting for SDR thread", T_QSO_REQ_FROM_SP, " QSO request from S&P ", T_QSO_REQ_SENT, " QSO request sent to RUN ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Location unknown", T_DEGREE, "deg", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe", T_INIT_SSB_CQ, "Initializing SSB CQ", T_FREE_SSB_CQ, "Terminating SSB CQ", T_NO_FILE, "No file specified", T_UNSUP_CHANNELS, "Unsupported number of channels = %d", T_FLOAT_UNSUPP, "Float point files are not supported", T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing", T_REC_DISABLED, "recording disabled", T_CONTEST_TOO_OLD, "contest too old", T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Error writing file %s: %s", T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording", T_NO_DISK_SPACE, "Not enough free disk space for file", T_CANT_PLAY_FILE, "Can't play file %s - %s", T_CANT_WRITE_SS, "Can't write to file %s - %s", T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded", T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template", T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n", T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***", T_LOADING_S, "Loading %s", T_INVALID_WINDOW_TYPE, "invalid window type %d\n", T_INIT_RIG, "Initializing rig control %d", T_RIG_ERROR, "Rig error: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n", T_FREE_RIG, "Terminating rig control %d", T_WAIT_FOR_RIG_THR, "Waiting for rig thread", T_INVALID_PARAM, "Invalid param.", T_RIG_INVALID_CONFIG, "Invalid config.", T_RIG_NOT_ENOUGH_MEM, "Not enough mem.", T_RIG_NOT_IMPLEMENTED, "Not implemented", T_RIG_COMM_TIMEOUT, "Comm. timeout", T_RIG_IO_ERROR, "IO error", T_RIG_INTERNAL_ERROR, "Internal error", T_PROTOCOL_ERROR, "Protocol error", T_RIG_COMMAND_REJECT, "Command reject.", T_RIG_ARG_TRUNCATED, "Arg. truncated", T_RIG_F_NOT_AVAILABLE, "F not available", T_RIG_VFO_NOT_TARGET, "VFO not target.", T_RIG_ERROR_ON_BUS, "Error on bus", T_RIG_BUS_COLLISION, "Bus collision", T_RIG_INVALID_ARG, "Invalid arg.", T_RIG_INVALID_VFO, "Invalid VFO", T_RIG_ARG_OUT_OF_DOM, "Arg out of dom.", T_ERROR_D, "Error %d", T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)", T_CANT_SET_GRAPHICS2, "Can't set graphics mode", T_WAIT_SDL_THR, "Waiting for SDL event thread", T_FREE_GRAPHICS, "Terminating graphics", T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s", T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s", T_CANT_READ_LOG_FILE, "Can't read log file %s", T_CANT_UPLOAD_LOG, "Can't upload log: %s", T_CANT_CONFIRM_LOG, "Can't confirm log: %s", T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s", T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Date:", T_QSOS2, "QSOs:", T_POINTS2, "Points:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Can't upload file: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s", T_FILE_ALREADY_EXISTS, "File already exists: %s", T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s", T_CANT_EDIT_PAGE, "Can't edit page: %s", T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s", T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s", T_EDITING_CONTEST_PAGE, "Editing contest page...", T_ALL_DONE, "All done.", T_UPLOADING_FILE, "Uploading file %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s", T_QUERYING_EDIT_TOKEN, "Querying edit token", T_CANT_LOGIN, "Can't log in (2): %s", T_CANT_LOGIN2, "Can't log in (2), wiki says: %s", T_CANT_LOGIN1, "Can't log in (1): %s", T_LOGGING_IN, "Logging in...", T_EXPORTING_FILES, "Exporting files...", T_INIT_WIZZ, "Initializing contest wizard", T_FREE_WIZZ, "Terminating contest wizard", T_LOAD_WIZZ_DATA, "Loading contest wizard data", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Contest phase", T_HK_PHASE, "H", T_ENTER_PHASE, "New contest phase: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/gen-conly0000755000175000017500000000116214021105702012427 00000000000000#!/bin/sh export LC_ALL=C echo echo Generating language table. languages=`cat index.txt` if [ -n "$languages" ]; then ( n=0 echo '/* Automatoticaly generated by gen-intl */' for i in $languages; do echo -n $i" " 1>&2 echo echo 'struct translation translation_'$i' [] = {' echo ' {0, NULL},' cat $i.lng | sed 's/^\(.*\),/ \{\1\},/' echo ' {0, NULL}' echo '};' n=`expr $n + 1` done echo echo 'struct translation_desc translations [] = {' for i in $languages; do echo ' {translation_'$i'},' done echo ' {NULL}' echo '};' echo ) | sed 's/ //g' > ../src/language.inc rm -f ../src/language.o echo echo Done. fi echo tucnak-4.32/intl/Makefile.am0000644000175000017500000000055713766666473012711 00000000000000datarootdir = @datarootdir@ INTL=castellano.lng czech.lng english.lng french.lng german.lng italian.lng polish.lng portuguese.lng slovak.lng EXTRA_DIST = $(INTL) fixlang.pl gen-conly gen-intl index.txt all: ../src/language.inc ../src/langascii.inc ../src/language.inc: $(INTL) ./fixlang.pl ./gen-intl ../src/langascii.inc: $(INTL) ./fixlang.pl ./gen-intl tucnak-4.32/intl/german.lng0000644000175000017500000012510714001016245012570 00000000000000T__CHAR_SET, "iso8859-2", T__LANGUAGE, "German", T_ABOUT, "ber...", T_BAD_NUMBER, "Ungltige Zahl", T_BAD_STRING, "Ungltiger Text", T_BASIC_HELP, "Drcke F10 fr Men.\nViel Spa!", T_BLOCK_CURSOR, "Blockiere Cursor", T_CANCEL, "Abbrechen", T_CHARACTER_SET, "Zeichensatz", T_COLOR, "Farbe", T_COPYING, "Lizenz", T_DIFFERENCE, "Unterschied", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Mchten sie Tucnak wirklich verlassen?", T_EMPTY_STRING_NOT_ALLOWED, "Leerer Text nicht erlaubt!", T_ERROR, "Fehler", T_WARNING, "Warnung", T_EXIT, "Verlassen", T_EXIT_TUCNAK, "Tucnak verlassen", T_FILE, "Datei", T_FULL_SCREEN, "Vollbild", T_HELP, "Hilfe", T_HK_ABOUT, ".", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "Z", T_HK_COPYING, "K", T_HK_EXIT, "E", T_HK_FILE, "D", T_HK_FULL_SCREEN, "V", T_HK_HELP, "H", T_HK_LANGUAGE, "S", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "B", T_HK_SETUP, "E", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "F", T_HK_XTERM, "X", T_KOI8R_FRAMES, "KOI8-R Rahmen", T_LANGUAGE, "Sprache", T_LAST, "letzte", T_LINUX_OR_OS2_FRAMES, "Linux oder OS/2 Rahmen", T_MEMORY_INFO, "Speicherinfo", T_NO_FRAMES, "Keine Rahmen", T_NO, "Nein", T_NUMBER_EXPECTED, "Zahl im Feld erwartet", T_NUMBER_OUT_OF_RANGE, "Zahl auerhalb des gltigen Bereichs", T_OK, "OK", T_OS_SHELL, "Betriebssystem-Fenster", T_RESTRICT_FRAMES_IN_CP850_852, "Beschrnke Rahmen in cp850/852", T_UTF_8_IO, "UTF-8 Ein-/Ausgabe", T_SCREEN, "Bildschirm", T_SETUP, "Einstellungen", T_TERMINAL_OPTIONS, "Terminal-Optionen", T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-hnliches V/U/SHF Contest Log", T_TWTERM, "Twterm", T_USE_11M, "Benutze ^[[11m", T_VT_100_FRAMES, "VT 100 Rahmen", T_WELCOME1, "Willkommen bei Tucnak!", T_WELCOME2, "Geben Sie bitte Ihre Rufzeichen und Locator ein:", T_WELCOME, "Willkommen", T_XTERM, "Xterm", T_YES, "Ja", T_CANT_APPEND_S, "Kann nicht an Datei %s anfgen!", T_CANT_WRITE, "Kann nicht in Datei schreiben!", T_CANT_WRITE_S, "Kann nicht in Datei %s schreiben!", T_CANT_READ, "Kann nicht aus Datei lesen!", T_CANT_READ_S, "Kann nicht aus Datei %s lesen!", T_SAVED_S, "%s gespeichert", T__CW_, " CW ", T_CWW_KEYS, " Bildauf +, Bildab - CW Geschwindigkeit ", T_CANT_OPEN_S, "Kann %s nicht ffnen!", T_CANT_LOCK, "Kann nicht sperren!", T_CANT_LOCK_S, "Kann %s nicht sperren!", T_LOADING_CTEST_S, "*** Lade Contest %s", T_NO_FILES, "Keine Dateien im Verzeichnis!", T_BAND_EXIST_SS, "WARNUNG! Band %s (%s) existiert bereits", T_BAND_NOT_OPEN, "Band ist in diesem Contest nicht aktiv", T_NO_BANDS, "Keine Bnder zu laden", T_CANT_SET_GR_S, "Kann keinen Grafik-Modus setzen-%s", T_GCALL, "Rufzeichen: %s", T_GWWL, "Locator: %s", T_GQRB, "QRB: %d km", T_GQTF, "QTF: %d", T_GSEN, "Ges.: %s %s", T_GRCV, "Empf.: %s %s", T_GTIM, "Zeit: %s", T_GOPE, "Op: %s", T_GREM, "Bem.: %s", T_GWKD, "Wkd: %d", T_GINC, "income: %d", T_GLON, "Lnge:%7.2f %-6s", T_GLAT, "Breite:%7.2f %-6s", T_GLOC, "Loc: %s", T__PLESE_WAIT_, " Bitte warten ", T__RO_BAND, " SWL-Band", T_COPYING_VER, "Das ultimative Contestlog - Unerlsslich wie gewohnt\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nDieses Programm ist freie Software. Sie knnen es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation verffentlicht, weitergeben und/oder modifizieren, entweder gem Version 2 der Lizenz oder (nach Ihrer Option) jeder spteren Version. Die Verffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe . ", T_CTEST_ACTIVE, "Contest ist bereits aktiv ", T_NO_CTESTS, "Keine Conteste", T_NO_CCLOSE, "Kein Contest zum Schlieen", T_REALLY, "Wirklich?", T_CLOSE_CTEST, "Mchten Sie diesen Contest wirklich schlieen?", T_GUI_LD, "GUI: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw Elemente, %d wc Elemente, letztes %d\n", T_EXC, "Exc: %s %d exc Elemente, %d cxe Elemente, letztes %d\n", T_VEXC, "Besttigte EXC: %d Elemente\n", T_DWI, "D_W: %d Prfixe, %d Lnder, %d Locator\n", T_NAMES, "Namen: %d Namen\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Speicher:", T_NMY, " Mein: ", T_NGLOBAL, "Global: ", T_NMASTER, "Master: ", T_NREMOTE, "Remote: ", T_NSLAVES, "\nSlaves:\n", T_NINFO, "Netzwerk Info", T_NO_BANDS_QRV, "Keine Bnder QRV", T_NO_BANDS_CONF, "Keine Bnder konfiguriert", T_NOT_AVAILABLE, "Nicht verfgbar", T_ADD_SUBWIN, "Fge Fenster hinzu", T_HK_ADD_SUBWIN, "F", T_CLOSE_SUBWIN, "Schliee Fenster", T_HK_CLOSE_SUBWIN, "S", T_HK_NINFO, "N", T_NEW, "Neu...", T_HK_NEW, "N", T_NEW_WIZZ, "Neu mit Assistent", T_HK_NEW_WIZZ, "A", T_NEW_NET, "Neu vom Netzwerk...", T_HK_NEW_NET, "T", T_OPEN, "ffnen", T_HK_OPEN, "F", T_SAVE, "Speichern", T_HK_SAVE, "S", T_EXPORT_EDI, "Exportiere als EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Exportiere als Report", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Exportiere als ADIF", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Exportiere als CBR", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Exportiere als HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Exportiere als MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Importiere EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Importiere ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Importiere Swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Importiere Liste", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Contestoptionen", T_HK_CONTEST_OP, "O", T_CLOSE_CONTEST, "Schliee Contest", T_HK_CLOSE_CONTEST, "K", T_ADD_ERROR, "Fge FEHLER hinzu", T_HK_ADD_ERROR, "F", T_CHOP, "Wechsle Operator", T_HK_CHOP, "O", T_CW_CTEST, "Aktualisiere C_W von Contest", T_HK_CW_CTEST, "C", T_CW_BAND, "Aktualisiere C_W von Band", T_HK_CW_BAND, "B", T_EXC_CTEST, "Aktualisiere EXC DB vom Contest", T_HK_EXC_CTEST, "P", T_EXC_BAND, "Aktualisiere EXC DB vom Band", T_HK_EXC_BAND, "D", T_IMPORT_EBW, "Importiere DL8EBW Datenbank", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "Kein Contest", T_NO_PEERS, "Keine Peers gefunden", T_NO_MASTER, "Master ist nicht verfgbar!", T_CTEST_DEF, "Contestvorgaben", T_HK_CTEST_DEF, "V", T_BAND_DEF, "Bandvorgaben", T_HK_BAND_DEF, "B", T_HK_RESPOP, "P", T_CW_DAEMON, "CW Interface", T_HK_CW_DAEMON, "E", T_CW_CQ, "CW CQ", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB CQ", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Auto. speichern", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Lade cfg vom Netz", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Lade C_W vom Netz", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Speichere Konfiguration", T_HK_SAVE_CFG, "S", T_CONTEST, "Contest", T_HK_CONTEST, "K", T_EDIT, "Editieren", T_HK_EDIT, "E", T_BANDS, "Bnder", T_HK_BANDS, "B", T_SUBWINS, "Fenster", T_HK_SUBWINS, "F", T_BAND_SETTINGS_SC, "Bandeinstellungen fr Band %c %s", T_QRV_ON_THIS_BAND, "QRV auf diesem Band", T_QRV_IN_THIS_CTEST, "QRV in diesem Contest", T_READ_ONLY, "Nur SWL", T_MULTI, "Mehrmann", T_SINGLE, "Einmann", T_CHECK, "Kontrolllog", T_TXEQUIP, " TX Ausrstung:", T_POWER, " Leistung:", T_RXEQUIP, " RX Ausrstung:", T_ANTENNA, " Antenne:", T_AGLASL, " AGL;ASL:", T_OPS, " Operator:", T_SPACES1, " ", T_REMARKS, " Bemerkungen:", T_OK_SECTION_SINGLE, "Klasse fr Einmann-Kategorie: ", T_OK_SECTION_MULTI, "Klasse fr Mehrmann-Kategorie:", T_QRG_MIN, "Bandgrenzen von", T_QRG_MAX, "bis [kHz]", T_ADIFBAND, "ADIF Bandname", T_SKEDQRG, "QRG fr skeds (freies Format)", T_BAND_LO, "Transverter LO QRG [Hz]", T_BANDSW, "Wert fr Bandwechsel", T_RESPOP, "Verantwortlicher OP", T_NAME, " Name:", T_CALLSIGN, " Rufzeichen:", T_ADDRESS, " Adresse:", T_POSTCODE, " PLZ:", T_CITY, " Stadt:", T_COUNTRY, " Land:", T_PHONE, " Telefon:", T_BBSEMAIL, " BBS/Email:", T_QP0, " --kein -- ", T_QP1, " 1 QSOp*QSOp_m (Std. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK activity)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltic)", T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (district codes)", T_QP13, "13 Continent (CQ WW DX Contest)", T_QP14, "14 Continent+band (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 pro QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --kein -- ", T_TP1, " 1 Multiplikativ (Std. IARU)", T_TP2, " 2 Additiv (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "Neuer Contest", T_CANT_TRUNC, "Kann desc Datei nicht abschneiden", T_NAME_OF_CTEST, "Name des Contests:", T_CALL_OF_CTEST, "Rufzeichen im Contest:", T_CLUB_ST, "Clubstation:", T_YOURWWL, " Locator:", T_YOUREXC, " Austausch:", T_DATE_OF_CTEST, "Datum des Contests:", T_QSOUSED, "QSO-Nr. benutzt", T_QSOPM, " QSOp Multiplikator:", T_WWLUSED, "Locator benutzt", T_WWLB, "Locator Bonus:", T_WWLM, "Locator Multiplikator:", T_EXCUSED, "Austausch benutzt", T_EXCB, "Austausch Bonus:", T_EXCM, "Austausch Multiplikator:", T_EXCNAME, "Austausch Name:", T_PREFM, "PREF Multi:", T_DXCB, "DXCC Bonus:", T_DXCM, "DXCC Multiplikator:", T_RSTUSED, "RST benutzt ", T_DEFRS, "Vorgabe RS:", T_DEFRST, "Vorgabe RST:", T_ALSORSTR, "Auch fr RST-R", T_QP_CALC, "Kalkulation QSOp:", T_TO_CALC, "Kalkulation Total:", T_EDI_PROP, "EDI Eigenschaften", T_RESPOP2, "Verantwortlicher OP", T_EDIT_QSO_CD, "Editiere QSO %c: %03d", T_CALLSIGN2, "Rufzeichen:", T_CLUB, " Club:", T_PADR1, " Adresse 1:", T_PADR2, " Adresse 2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, " Operator:", T_DATE, " Datum:", T_MODE, " Mode:", T_RSTS, " RSTs:", T_RSTR, " RSTr:", T_QSONRS, "QSO-Nr s:", T_QSONRR, "QSO-Nr r:", T_OPTEXCH, " Austausch:", T_WWL, "Locator:", T_REMARK, "Anmerkung:", T_QRV2, " QRV on:", T_WKD, " WKD:", T_SEND_SKED, "Sende Sked", T_SELECT, "Auswhlen", T_QRG, " Frequenz:", T_WE_CALL, " Wir rufen", T_BAND, " Band:", T_TIME, " Zeit:", T_DUPE_QSO, "Doppel-QSO!", T_CLEAR_THIS_QSO, "Lsche dieses QSO", T_EDIT_OLD_QSO, "Editiere altes QSO", T_MARK_OLD_QSO, "Markiere altes QSO als FEHLER", T_STORE_AS_DUPE, "Speichere als DUPE", T_BAD_CALL, "Dies scheint kein Rufzeichen zu sein", T_N_CALLSIGN, "\nRufzeichen:", T_AUTOSAVE_OPTS, "Optionen autom. speichern", T_SAVE_AQ, "Speichere auf Festplatte nach QSOs:", T_SAVE_AM, "Speichere auf Festplatte nach Minuten:", T_FSYNC, "Fsync", T_SAVE_AQF, "Speichere auf Diskette nach QSOs:", T_SAVE_AMF, "Speichere auf Diskette nach Minuten:", T_DO_MOUNT, "Mount falls nicht in /etc/mtab (unbenutzt)", T_FLOPPY_PATH, "Pfad zur Diskette:", T_MOUNT_CMD, "Mount Befehl: ", T_SW_SHELL, "Shell", T_SW_QSOS, "QSOs", T_SW_LOG, "Log", T_SW_TALK, "Talk", T_SW_SKED, "Sked", T_SW_UNFI, "Leer", T_SW_DXC, "DXCl", T_SW_STAT, "Stat", T_SW_MAP, "Karte", T_SW_SCOPE, "Scope", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Player", T_SW_CHART, "Chart", T_SHELL, "Shell", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Talk", T_SKEDS, "Skeds", T_UNFI, "Unvollstndige QSOs", T_DXC, "DX Cluster", T_STAT, "Statistik", T_SWAP, "Swap (N/A)", T_MAP, "Grafische Karte", T_SCOPE, "Scope", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Kommando", T_RESPAWN, "Neu starten [Sek]:", T_UNFI_QSO, "Unvollstndiges QSO", T_N_REMARK, "\nBemerkung:", T_NO_CQ, "Kein CQ definiert", T_TEXT, "Text:", T_SPEED, "Geschw. [WPM]:", T_REPEAT, "Wiederholen", T_DELAY, "Verzgerung [0.1s]:", T_ALLOW_UNDEF, "Erlauben falls einige Eintrge undefiniert sind", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Pfad:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "UDP Port:", T_DEVICE, "Keyer:", T_INIT_SPEED, "Startgeschw. [WPM]:", T_INIT_WEIGHT, "Gewichtung (30-70):", T_WPMFROM, "WPM-Bereich von", T_WPMTO, "bis", T_USE_SPK, "Benutze Lautsprecher", T_LEADIN, "PTT-Verzgerung in [ms]", T_AUTGIVE, "Run mode aut. give after [chars]", T_IGN_IFACE_S, "Ignoriere Interface %-5s", T_IGN_ADDR_S, "Ignoriere Adresse %s", T_ADD_IFACE_SSD, "Interface=%-5s BCAST=%s:%d hinzugefgt", T_FORCED_ADDR, "Erzwinge Adresse %s", T_TIMESKEW, "WARNUNG! Zeitabweichung %d entdeckt gegen %s:%d !\n", T_DISCONNECTING_SD, "Trennen von %s:%d", T_ACCEPTED_SD, "Akzeptiere %s:%d (%s)", T_CONNECTING_SD, "Verbinden mit %s:%d", T_CONNECTED_SD, "Verbunden mit %s:%d", T_DISCONNECTED_SD, "Getrennt von %s:%d", T_LOADED_CFG_SSSS, "Konfiguration geladen fr %s %s (%s,%s)", T_LOADED_CW, "C_W Data geladen", T_PEER_NOT_FOUND, "FEHLER! Peer %s nicht gefunden", T_CANT_CREATE_HOME_S, "Kann Verzeichnis %s nicht erstellen", T_CANT_LOAD_CFG, "Kann Konfiguration nicht laden!\nProgramm kann nicht richtig arbeiten!", T_ERR_RC, "Einige Fehler beim Einlesen der Konfigurationsdatei gefunden!\nDiese Datei wurde vielleicht mit einer neueren Version gespeichert!\nKonfiguration nicht speichern, sonst knnen Daten verloren gehen!", T_SES_QTR, " QTR ", T_SES_QRA, " RUFZ. ", T_SES_RST, " RST-S-Nr RST-R-Nr ", T_SES_QTH, " LOC ", T_SES_QRB, " Pkt/QRB QTF ", T_SES_FLG, " Flg ", T_SES_OPE, " Oper. ", T_SES_EXC, " Exch ", T_SES_REM, " Bemerkung ", T_SES_WELCOME, "Willkommen bei Tucnak! ", T_SES_PRESS_F10, "Drcke F10 fr das Men.", T_SES_HAVE_FUN, "Viel Spa.", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "QSOs QSO-P. EXCH LOCs DXCCs Tot.P. AVG", T_SES_AVG, " Sch: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " LOCs: %d", T_SF_WWLS_UNDER, "-------------", T_SF_EXCS, " EXCs: %d", T_SF_EXCS_UNDER, "-------------", T_SF_MISS_EXCS, " Missing EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " DXCCs: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " gearb. LOCs: %d", T_SF_WKD_WWLS_UNDER, "-----------------", T_SF_QSO_WWL4, " QSOs in LOCs: %d", T_SF_QSO_WWL4_UNDER, "----------------------", T_SF_STATS_BAND, " Statistik fr Band %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Contest: %s", T_SF_ALLBQSOS, " QSOs aller Bnder: %d", T_SF_ALLBQSOP, " QSOp aller Bnder: %d", T_SF_ALLBPTS, "Punkte aller Bnder: %d", T_SF_QSOS, "QSOs: %d", T_SF_VQSO, "Valid QSOs: %d", T_SF_QSOP, "QSO-Punkte: %d", T_SF_PTS, "Punkte: %d", T_SF_AVG_PTS, "Durchschn. Pkt/QSO: %5.2f", T_SF_AVG_QSOP, "Durchschn. QSO-P/QSO: %5.2f", T_BAND_RO, "Band ist nur SWL", T_THIS_BAND, "Dieses Band", T_OTHER_BANDS, "Andere Bnder", T_CW_DB, "C_W Datenbank", T_PROC_EXITED, "*** Prozess beendet\n", T_WE_CALL2, "Wir rufen", T_WE_LISTEN, "wir hren", T_QSL, "QSL versprochen", T_RECORD, "Audio aufnehmen", T_MAXMIN, " Max. Aufnahmezeit", T_TEMPLATE, "Vorgabe fr Dateiname der Aufnahme:", T_PCM8, "8 Bit PCM", T_PCM16, "16 Bit PCM", T_ULAW, "u-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Kanle", T_SAMPLERATE, "Abtastrate", T_FILLOP, "Operator eintragen", T_HK_FILLOP, "O", T_RECAQRB, "QRB,QTF neu berechnen", T_HK_RECAQRB, "Q", T_NETWORK, "Netzwerk & Verfolgung", T_HK_NETWORK, "K", T_IF_IGNORE, "Ignoriere Interfaces:", T_IP_IGNORE, " Ignoriere Netzwerke:", T_IP_ANNOUNCE, " Senden an Netze:", T_TRACE_BCAST, "Verfolge Broadcasts ", T_TRACE_SOCK, "Verfolge Sockets", T_TRACE_RECV, "Verfolge empf. Daten", T_TRACE_SEND, "Verfolge ges. Daten", T_TRACE_QSOS, "Verfolge QSOs ", T_TRACE_SDEV, "Trace rotars ", T_NOT_MOUNTED_S, "Nicht gemountet: %s", T_RECSRC_NONE, "Nicht setzen", T_RECSRC_MIC, "Mikrofon", T_RECSRC_LINE, "Line in", T_NEW_CALL, "Neu!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV auf %s", T_SKED_QRG, "QRG fr skeds", T_HK_SKED_QRG, "F", T_N_SKED_QRG, "\nQRG fur skeds:", T_GRAB_BAND, "Schnapp Bandkontrolle", T_HK_GRAB_BAND, "G", T_FORCE_RUN, "Erzwinge RUN-Mode", T_HK_FORCE_RUN, "R", T_EXPORT_STATS, "Exportiere Statistiken", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX QSOs:", T_SF_TOP_DX_UNDER, "-------------------", T_ROTAR, "Rotor", T_HK_ROTAR, "R", T_AZIMUTH, " Azimut", T_ELEVATION, "Elevation", T_CH_SPY, "Spioniere...", T_HK_CH_SPY, "S", T_CH_ENDSPY, "Spionieren beenden", T_HK_CH_ENDSPY, "P", T_EXPORT_TITLPAGE, "Exportiere Titelseite", T_HK_EXPORT_TITLPAGE, "L", T_BREAK_RECORD, "Stoppe Aufzeichnung", T_HK_BREAK_RECORD, "B", T_GLOBAL_OPERATOR, "Fr alle Bnder ndern", T_GLOBAL_OPERATOR2, "Global", T_MAXFRAG, "Max. Nr. von Teilen (>=2)", T_PLAY_LAST, "Spiele letzte Aufzeichnung", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Verschiedene Optionen", T_HK_MISCOPTS, "P", T_LOGLINES, "Logzeilen: ", T_SKEDSHIFT, "Sked-Verzgerung (Minuten): ", T_STARTBAND, "Anfangsband: ", T_GFX_X_CH, "Bildschirmauflsung (Zeichen):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Bildschirmauflsung (Pixel): ", T_GFX_Y_PX, "x", T_CALL_INFO, "Rufzeicheninformationen", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSOs/Stunde: %d", T_SF_QSOP_HOUR, "Punkte/Stunde: %d", T_SF_QSOP_50QSO, "Punkte/50 QSOs: %d", T_SF_HOURS, " Stunden", T_SF_HOURS_UNDER, "---------", T_SF_HOURS_TITLE, "Stunde Punkte QSOs AVG pts/QSO", T_QSO_CHECK, "QSO-Kontrolle", T_HK_QSO_CHECK, "K", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Minimaler freier Festplattenspeicher [MiB]", T_FORMAT, "Aufzeichnungsformat", T_PCM_PLAY, "Alsa Abspielgert", T_PCM_REC, "Alsa Aufzeichengert", T_PERIOD, "Wiederholzeit [ms]", T_BUFFER, "Bufferzeit [ms]", T_ALSA_MIXER, "Alsa Mixergert", T_CAPTURE, "Ausgabegert", T_DSP, "Pfad zu /dev/dsp", T_MIXER, "Pfad zu /dev/mixer", T_RECSRC, "Aufnahmequelle", T_PA_PLAY, "Portaudio playback device", T_PA_REC, "Portaudio capture device", T_HOSTNAME, "Hostname:", T_SLASHKEY, "Schrgstrich-Taste", T_FIXQRG, "Fix QRG", T_HK_FIXQRG, "X", T_ENTER_QRG, "Genaue Frequenz eingeben [Hz]", T_BAD_QRG, "Falsche Frequenz", T_CALLSIGN3, "Rufzeichen", T_CALLSIGN_KST, "KST-Stationsrufzeichen:", T_CANT_INIT_WINKEY_S, "Kann winkey nicht finden auf %s", T_WINKEYOPTS, "Winkey-Optionen", T_WK_WK2, "Winkey2 Schnellinitialisierung", T_WK_USEPOT, "Benutze Geschwindigkeitspoti", T_WK_USEBUT, "Benutze Knpfe", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Bug", T_WK_SWAP, "Paddle swap (linkshndig)", T_RIGOPTS, "Funkgertoptionen", T_HK_RIGOPTS, "G", T_RIG_DEVICE, "Gert:", T_RIG_MODEL, "Hamlib modell", T_RIG_SPEED, "Baudrate:", T_RIG_CIV, "CIV-Adresse (hex)", T_RIG_FREQSHIFT, "Freq.versatz SSB->CW", T_RIG_CHOOSE, "Whlen", T_ROTAROPTS, "Rotoroptionen", T_HK_ROTAROPTS, "I", T_DSSAVER, "Deaktiviere Bildschirmschoner", T_DESC, "Beschreibung", T_ROT_NONE, "Kein", T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys", T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI", T_ROT_HAMLIB, "Hamlib (N/A)", T_ROT_REMOTE, "Remote (N/A)", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Serien-#", T_ROT_ADD, "Neuer Rotor...", T_HK_ROT_ADD, "W", T_ROT_REMOVE, "Entferne Rotor", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "Beambreite", T_SADDR, "Kommunikationsadresse:", T_MODEL, "Modell:", T_ROT_REM_ROTSTR, "Rotor-Buchstabe fr Remote", T_QSOGLOB, "Globale QSO NR", T_PREFGLOB, "Globaler Prefix", T_NOT_RECORDING_S, "Nicht am Aufzeichnen - %s", T_SKEDCOUNT, "Sked Zhler im Popup: ", T_FONTHEIGHT, "Schriftgre(16-32): ", T_RIG_POLL_MS, "Abfrage Zyklus [ms]: ", T_RIG_QRG_R2T, "Setze Band vom TRX", T_RIG_QRG_T2R, "Wechsel Band am TRX", T_RIG_MODE_T2R, "Wechsel Mode am TRX", T_RUN_MODE, "Run mode", T_HK_RUN_MODE, "M", T_SP_MODE, "S&P mode", T_HK_SP_MODE, "M", T_RIG_CLR_RIT, "RIT lschen beim RUN-QSO sichern", T_RIG_DEBUG, "TRX debuggen", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Band QSO Point Mult", T_HF_SUM, "Sum:", T_HF_LAST, "Last Q-%s P-%s", T_EVEN, "Sende gerade Minute", T_HK_EVEN, "g", T_ODD, "Sende ungerade Minute", T_HK_ODD, "u", T_1ST, "Sende 1. Hlfte", T_HK_1ST, "1", T_2ND, "Sende 2. Hlfte", T_HK_2ND, "2", T_HF_SCORE, "Punkte:", T_EXPMODE, "Expeditions Modus", T_TTTYPE, "nur Ziffern meinen", T_ROT_POLL_MS, "Abfrage Zyklus [ms]:", T_VERSION, "Version", T_HK_VERSION, "V", T_REMOTE_HOST, "Name des entf. PC:", T_REMOTE_PORT, "entf. PC TCP port:", T_REMOTE_PASS, "entf. PC Passwort:", T_STARTING_AC, "Starte AS", T_STOPPING_AC, "Beende AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Tempo:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Dauer: %ld", T_EXPORTING_S, "Exportiere %s", T_CANT_OPEN_ALSA_PCM_S_S, "Kann Alsa PCM '%s': %s nicht ffnen", T_EXPORTING, "Exportiere ...", T_TERMINATING_CONVERSION_TABLES, "Beende Konvertierungstabellen", T_LOADING_CHARTS, "Lade Grafiken", T_INITIALIZING_CWPTT_CONTROL, "Initialisiere CW/PTT Steuerung", T_NO_PPDEV, "Untersttzung fr ppdev/inpout ist nicht einkompiliert", T_NO_DAVAC4_SUPPORT, "Untersttzung fr ist nicht einkompiliert, prfe libftdi", T_CANT_CREATE_PIPE, "Kann keine Pipe erzeugen", T_TERMINATING_CWDAEMON, "Beende CW/PTT Steuerung", T_INIT_CWDB, "Initialisiere WWL Datenbank", T_TERM_CWDB, "Beende WWL Datenbank", T_LOADING_CWDB, "Lade WWL Datenbank", T_QRV_ON, "QRV auf: ", T_CANT_INIT_FTDI, "Kann ftdi Bibliothek fr davac4 nicht initialisieren", T_CANT_OPEN_DAVAC4, "Kann davac4 Gert %04x:%04x nicht ffnen, Fehler=%d %s", T_CANT_SET_BAUDRATE, "Kann Baudrate fr davac4 nicht setzen, Fehler=%d %s", T_CANT_ENABLE_BITBANG, "Kann bitbang nicht aktivieren, Fehler=%d %s", T_CANT_WRITE_TO_DAVAC4, "Kann nicht auf davac4 schreiben, Fehler=%d %s", T_INIT_SOUNDCARD, "Initialisiere Soundkarte", T_NO_OSS, "OSS Untersttzung nicht einkompiliert", T_NO_ALSA, "Alsa Untersttzung nicht einkompiliert", T_NO_PORTAUDIO, "portaudio Untersttzung nicht einkompiliert", T_NO_SNDFILE, "Libsndfile Untersttzung nicht einkompiliert", T_NO_SNDPIPE, "Sndpipe Untersttzung nicht einkompiliert", T_TERMINATING_SOUNDCARD, "Beende Soundkarte", T_INIT_DWDB, "Initialisiere DXCC Datenbank", T_FREE_DWDB, "Beende DXCC Datenbank", T_LOAD_DWDB, "Lade DXCC Datenbank", T_CALLSIGN_UNKNOWN, "Rufzeichen unbekannt in namedb und C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "unbekanntes DXCC Prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix und langer wwl passen nicht zusammen\n", T_KNOWN_CALL_UNK_LOC, "Bekanntes Rufzeichen von unbekanntem Lokator\n", T_CALL_WITHOUT_P, "Rufzeichen ist ohne /P, aber existiert in C_W mit /P\n", T_CALL_WITHOUT_D, "Rufzeichen ist ohne /%d, aber existiert in C_W mit /%d\n", T_CALL_IS_WITH_P_AND, "Rufzeichen ist mit /P, aber exisitert in C_W ohne /P oder CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "hnliches Rufzeichen von diesem Lokator bekannt. Vielleicht %s?\n", T_CALL_ON_BAND_S, "Rufzeichen auf Band %s ist %s\n", T_LOCATOR_ON_BAND, "Locator auf Band %s ist %s\n", T_QSO_CHECK_LIST, " Tucnak QSO Checkliste\n", T_CALL_SN, "Rufzeichen: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Datum: %s\n", T_CHECKING_S, " Prfe %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Scheint OK zu sein\n", T_CW_NOT_FOUND, "C_W: %s nicht gefunden\n", T_0X_NOT_IN_DB, " 0x (nicht in Datenbank)", T_NAME_IS, "Name: %s's Name ist %s\n", T_NAME_UNKNOWN, "Name: %s's Name ist unbekannt\n", T_INIT_DXC, "Initialisiere DXcluster Datenbank", T_FREE_DXC, "Beende DXcluster Datenbank", T_HK_SELECT, "S", T_HIDE, "Vertecken", T_HK_HIDE, "v", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Nutze", T_HK_USE, "N", T_BAD_DXC_PORT, "*** Falscher DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Drcke ENTER fr Verbindung mit DXC ***\n", T_CANT_RESOLVE, "*** Kann %s nicht auflsen: %s ***\n", T_HOST_RESOLVED, "*** Rechnername aufgelst ", T_CANT_CREATE_SOCKET, "*** Kann keinen Socket erzeugen. %s ***\n", T_CONNECTING_TO, "*** Verbinde mit %s ***\n", T_CANT_CONNECT_TO, "*** Kann nicht mit %s verbinden, %s ***\n", T_CONNECTED_SOCKET, "*** Socket %d verbunden ***\n", T_ERROR_READING_SOCKET, "*** Fehler beim Lesen vom Socket: %s ***\n", T_DISCONNECTED, "\n*** Getrennt ***\n", T_RESOLVING, "*** Lse %s auf ***\n", T_LOADED_LOCS_NAMES, "%d Locatoren und %d Namen von %s geladen", T_SAVED, "Saved '%s'", T_LOADING_CONTEST, "Lade Contest %s", T_LOADING_LOGFILE, "Lade Logdatei", T_LOADING_TALK, "Lade Talk", T_SEARCH_FILES, "Suche nach Contest Dateien", T_LOADING_BAND, "Lade Band %s", T_LOADING_SPY, "Lade Spion", T_LOADING_HICALLS, "Lade hicalls", T_LOADING_QRV, "Lade qrv", T_LOADING_CHART, "Lade Karte", T_SAVING_CONTEST, "Sichere Contest", T_UPD_INT_DATA, "Aktualisiere interne Daten", T_CALC_STATS, "Berechne Statistiken", T_ANN_OVER_NET, "Melde ber Netzwerk", T_ACTIVATING_BAND, "Aktiviere Band %s", T_UPDATING_WKD, "Aktualisiere gearbeitete Rufzeichen", T_UPDATING_QRBQTF, "Aktualisiere QRB&QTF", T_UPDATING_GAIN, "Aktualisiere Gain-Karte", T_SEN_OVER_NET, "Sende Info ber Netzwerk", T_INIT_EXCDB, "Aktualisiere Austausch-Datenbank", T_FREE_EXCDB, "Beende Austausch-Datenbank", T_INIT_FFT, "Initialisiere FFT-Analyse", T_FREE_FFT, "Beende FFT-Analyse", T_INIT_ROTAR, "Initialisiere Rotor-Steuerung", T_FREE_ROTAR, "Beende Rotor-Steuerung", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Punkte", T_AVG, "AVG", T_INIT_HTTPD, "Initialisiere HTTP Server", T_FREE_HTTPD, "Beende HTTP Server", T_NO_CONTEST_OPENED, "

Kein Contest geffnet

\n", T_NO_CONTEST_OPENED2, "Kein Contest geffnet", T_STATS, "Statistiken", T_BAND_NOT_FOUND, "Band nicht gefunden", T_BAND_C_NOT_FOUND, "

Band %c nicht gefunden

", T_QSOS_IN_DATABASE, "QSOs in Datenbank", T_TUCNAK_ONLINE_LOG, "Tucnak online Log", T_DATE2, "Datum", T_UTC, "UTC", T_CALL, "Rufzeichen", T_CALL_NOT_FOUND, "Rufzeichen nicht gefunden", T_CANT_LOAD_INPOUT, "Kann inpout32.dll nicht laden, Fehler %d", T_FREE_TERM, "Beende Terminal", T_TERM_KEYMAPS, "Beende keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh, ein Fehler", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Bitte um Sked", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Nachricht", T_HK_MESSAGE, "N", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Es ist verboten Zahlen ber KST zu senden\n", T_RESOLVED, "*** aufgelst ", T_ENTER_TO_CONNECT_KST, "\n*** Drcke ENTER fr Verbindung mit ON4KST ***\n", T_SENDING_SH_US, "*** Sende uns /sh ...\n", T_SKIP_LINE, "berspringe Zeile %d '%s'", T_CANT_CREATE_HOME, "Kann kein Heimatverzeichnis anlegen '%s'", T_MUST_BE_DIR_MODE, "'%s' muss ein Verzeichnis sein (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak Verzeichnis ist %s", T_INIT_MAP, "Initialisiere Polar-Karte", T_DISABLE_SAVER, "deaktiviere Bildschirmschoner", T_STARTING_TUCNAK, "Starte Tucnak", T_FREE_MAP, "Beende Polar-Karte", T_INIT_MASTERDB, "Initialisiere Master-Datenbank", T_FREE_MASTERDB, "Beende Master-Datenbank", T_LOAD_MASTERDB, "Lade Master-Datenbank", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN Version: %s\nLibzia SVN Version: %s", T_DIRECTORY_SCAN, "Verzeichnis Scan", T_V3_COMPATIBILITY, " (V3 Komatibilitt)", T_RELOAD_INTERFACES, "Lade Schnittstellen neu", T_SET_READONLY, "Setze auf SWL", T_CHANGE_TYPE, "Wechsel Typ", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "ffne Verbindung", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Beende Verbindung", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Exportiere in Text-Datei", T_ADD_CONTEST, "Fge Contest hinzu", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Fge Dateien hinzu", T_HK_ADD_FILES, "D", T_ADD_CONTESTS, "Fge Conteste hinzu", T_HK_ADD_CONTESTS, "C", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash Test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Fehler int. Test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Sichere RW Bnder and Rauten", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Tucnak Update", T_HK_UPDATE, "U", T_SETTINGS, "Einstellungen", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload auf vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload auf MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "VoIP Spionage", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "Beende VoIP Spionage", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest ist alt, Spionage nicht verfgbar", T_NETWORK_SCAN, "Netzwerk Scan", T_HTTPD_OPTIONS, "HTTPD Optionen", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter Optionen", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR Optionen", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter Optionen", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Andere:", T_NONE, "keine ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "n. verw.", T_USED_6, "verw.(6)", T_OPT_6, "opt. (6)", T_USED_4, "verw. (4)", T_OPT_4, "opt. (4)", T_FREE, "frei ", T_MULTIPLIED, "multipl.", T_VERIFIED, "geprft ", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Bestt. WWL", T_CONFIRM_EXC, "Bestt. EXC", T_FONT_SIZE, "Schriftgre: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, " SLOVHF user:", T_SDR, "SDR", T_PARPORT, "Parallelport", T_TTYS, "Comports", T_TTYSSINGLE, "Comports single pin", T_AUDIO_SUBSYSTEM, "Audio Subsystem:", T_PLAYBACK_VOLUME, "Wiedergabelautstrke", T_CAPTURE_VOLUME, "Aufnahmelautstrke", T_ENABLE_REMOTE_CONNECT, "Aktiviere Fernverbindung", T_TRACE_RIG, "Trace TRX", T_TRACE_KEYS, "Trace Tasten", T_SAVE_RESTART, "Bitte Konfiguration speichern und Tucnak neu starten", T_FULLSCREEN, "Vollbild", T_TOUCH, "Nutze Touch Steuerung", T_ALT_QWER, "Alt wechselt QWER.. zu 1234..", T_NO_LOCKS, "Keine gesperrten Gerte", T_PORTRAIT_ORIENTATION, "Hochformat", T_REVERSE, "Umkehr", T_CHOOSE_RIG, "Whle TRX", T_RIG_D, "TRX %d", T_NEW_RIG, "Neuer TRX", T_ENABLED, "Aktiviert", T_SET_PTT_ON_RADIO, "Setze PTT am TRX", T_DISABLED, " (deaktiviert)", T_ADD_RIG, "neuer TRX", T_REMOVE_RIG, "entferne TRX", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Aktiviere", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Zeige private Informationen", T_REFRESH, "Aktualisierungsintervall:", T_LOAD_FROM_NET, "Lade vom Netzwerk", T_LOAD_CWDB, "Lade C_W Datenbank", T_LOAD_NAMEDB, "Lade Namen Datenbank", T_LOAD_QRVDB, "Lade QRV Datenbank", T_READONLY_BANDS, "SWL Bnder", T_ENABLE_AC, "Aktiviere AS", T_AC_URL, "Alternative URL fr Flugradar Daten", T_K_FACTOR, "Troposphren k-Faktor", T_AC_AREA_WIDTH, "Breite Reflexionsgebiet in km", T_AC_EL_ANGLE, "Minimaler Elevationswinkel", T_AC_MAX_EL_ANGLE, "Maximaler Elevationswinkel", T_AC_MIN_DURATION, "Minimale Reflektionsdauer in sek", T_AC_MAX_DIFF, "Maximaler Unterschied zwischen Ein- und Ausfallswinkeln", T_BAD_NUMBER_RANGE, "ungltiger Zahlenbereich", T_AF_SRATE_GREATER_SRATE, "AF Sampling-Rate kann nicht grer sein als Sampling-Rate", T_SRATE_DIVISIBLE, "Sampling-Rate muss ohne Rest durch AF Sampling-Rate teilbar sein", T_NO_DEVICE, "kein Gert", T_IQ_SOURCE, "IQ Quelle:", T_WAV_FILE, "WAV Datei", T_WAV_FILE_NAME, "WAV Dateiname", T_AF_OUTPUT, "AF Leistung:", T_AF_SAMPLE_RATE, "AF Sampling-Rate", T_BLOCK_SIZE, "Block Gre", T_CW_FILTER, " CW Filter", T_TO_HZ, "bis [Hz]", T_SSB_FILTER, " SSB Filter", T_INIT_NAMEDB, "Initialisiere Namen Datenbank", T_FREE_NAMEDB, "Beende Namen Datenbank", T_LOAD_NAMEDB2, "Lade Namen Datenbank", T_INIT_NET, "Initialisiere Netzwerk", T_FREE_NET, "Beende Netzwerk", T_ONLY_55555_CAN_REMOTE, "Nur tucnak auf Port 55555 kann auf FernPC verbinden um Namensschleifen zu vermeiden", T_CANT_CONNECT_TO_MYSELF_LO, "Kann nicht zu mir selber verbinden (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Kann nicht zu mir selber verbinden (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Kann FernPC nicht parsen %s", T_TIME_WAS_SET, "Zeit wurde gesetzt", T_FAILED_TO_SET_TIME, "Zeit konnte nicht gesetzt werden", T_INIT, "INITIALISIERE", T_CONNECTING, "VERBINDE", T_CONNECTED, "VERBUNDEN", T_WAIT_ACK, "WARTE AUF BESTTIGUNG", T_DISCONNECTED2, "GETRENNT", T_DEAD, "TOT", T_LONG_XFER, "LANGER TRANSFER", T_AUTHENTICATED_USER_S, "Authentifizierter Benutzer %s", T_BAD_AUTHENTICATION_S, "Falsche Authentifizierung %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Langer Transfer gestartet, bitte warten", T_LONG_TRANSFER_FINISHED, "Langer Transfer beendet", T_INIT_NTP, "Initialisiere NTP Monitor", T_FREE_NTP, "Beende NTP Monitor", T_NO_NTP, "Warnung! Die Zeit auf diesem PC ist nicht synchronisiert, bitte nutze NTP", T_INIT_SPEAKER, "Initialisiere PC Laustsprecher", T_FREE_SPEAKER, "Beende PC Lautsprecher", T_CANT_PLAY, "Kann %s - %s nicht wiedergeben", T_CANT_SEEK_TO_END, "Kann nicht ans Ende von %s - %s springen", T_CANT_SEEK_TO_START, "Kann nicht zum Anfang von %s - %s springen", T_CANT_OPEN, "Kann %s %s nicht ffnen", T_TIP_MKNOD, "Tipp: Probiere als root auszufhren: \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tipp: Probiere als root auszufhren: \"chmod a+rw %s\"", T_CANT_SET_EPP, "Kann %s nicht in EPP Modus setzen %s", T_CANT_EXCLUSIVE_ACCESS, "Habe keinen exklusiven Zugriff auf %s %s", T_CANT_CLAIM, "Kann %s %s nicht belegen", T_INIT_QRVDB, "Initialisiere QRV Datenbank", T_FREE_QRVDB, "Beende QRV Datenbank", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Lade QRVs", T_UNSPECIFIED, "unspezifiziert", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "fge Fehler fr Band %c, QSOnr %d hinzu\n", T_FOUND_D_ERRORS, "Habe %d Fehler%s beim Lesen von %s gefunden", T_FOUND_D_ERRORS_RC_NET, "Habe %d Fehler beim Lesen vom Netz gefunden", T_REGISTRATED_ROTATORS, "Registrierte Rotoren:", T_UNSUPPORTED_ROTATOR, "nicht untersttzter Rotor-Type %d\n", T_WAIT_HL_ROT_THREAD, "Warte auf hamlib Rotor Prozess", T_INIT_ROTARS2, "Initialisiere Rotoren", T_UNKNOWN_ROTAR, "Unbekannter Rotor '%s'\n", T_ROTAR_ERROR_S, "Rotor Fehler: %s", T_CANT_RECORD_FROM_SDR_DSP, "Kann nicht vom SDR DSP aufnehmen", T_CANT_PLAY_TO_SDR_DSP, "Kann nicht auf SDR DSP wiedergeben", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Kann SDR Soundpipe nicht ffnen (Wiedergabe)", T_CANT_READ_FROM, "Kann nicht lesen von", T_CANT_WRITE_TO, "Kann nicht schreibne auf", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Drcker ENTER fr Verbindung mit ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Falscher Dateiname fr Update", T_CANT_EXECUTE_INSTALLER, "Kann Installer nicht ausfhren, ", T_UPDATE_OF_TUCNAK_FAILED, "Fehler bei Tucnak Update", T_UPDATE_FAILED, "Update abgebrochen", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Fehler bei Tucnak Update, kann Antwort nicht auswerten.", T_UPDATE_OF_TUCNAK_FAILED_S, "Fehler bei Tucnak Update. %s", T_NEW_VERSION_AVAIL, "Neue Version %s ist verfgbar. Installation ber Men Datei, Tucnak Update.", T_NO_NEW_VER, "Keine neue Version verfgbar.", T_READING_LIST_OF_OPENED_CONTESTS, "Lese Liste geffneter Conteste...", T_CHOOSE_CONTEST, "Whle Contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "Kein Contest fr Upload verfgbar", T_OBTAINING_CONTEST_WEB_FORM, "Erhalte Contest Web-Formular...", T_ALL_EDI_FILES_PROCESSED, "Alle EDI-Dateien bearbeitet.", T_UPLOADING_LOG_FILE_S, "Logdatei %s wird hochgeladen ...", T_UPLOADING_BAND_S, "Lade hoch von Band %s", T_CONFIRMING_LOG, "Besttige Log...", T_RESULT_ERROR, "*** Ergebnis: FEHLER. Bitte obenstehende Fehlermeldung beachten", T_LOG_IS_NOT_VALID, "Log ist ungltig. Bitte Fehlermeldung prfen und wiederholen: %s", T_DOWNLOADING_CLAIMED_SCORES, "Download beanspruchter Punkte...", T_LOGS_UPLOADED, "Logs hochgeladen.", T_HTTP_STATUS, "HTTP Status: ", T_LOG_UPLOAD, "Log Upload", T_VOIP_NO_INITIALIZED, "VoIP nicht initialisiert", T_PAGE_NAME, "Seitenname", T_OVERWRITE_EXISTING_FILES, "berschreibe bestehende Dateien", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Passwort", T_EXPORT_MAP, "Exportiere Karte", T_EXPORT_CHART, "Exportier Grafik", T_MEDIAWIKI_UPLOAD2, "Mediawiki Upload", T_BAD_AUTH_USER, "Falscher Benutzername %s != %s", T_BAD_AUTH_PASS, "Falsches Passwort %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest ist nicht der Geliche: FORMAT des AC Rahmens", T_CANT_GET_FMTS, "Kann keine untersttzten Audioformate holen: %s", T_CANT_SET_FMT, "Kann Audioformat %d nicht setzen, Empfehlung %d: %s", T_CANT_SET_FMT_RET, "Kann empfohlenes Audioformat nicht setzen %d, Rckmeldung %d: %s", T_CANT_SET_FALLBACK, "Kann Notfall Audio %d nicht setzen, Rckmeldung %d: %s", T_CANT_SET_CHANNELS, "Kann Kanle %d nicht setzen, Empfehlung %d: %s", T_CANT_SET_CHANNELS_RET, "Kann empfohlende Kanle %d nicht setzen, Rckmeldung %d: %s", T_CANT_SET_RATE, "Kann Sample-Rate %d nicht setzen, Empfehlung %d: %s", T_CANT_SET_RATE_RET, "Kann empfohlene Sample-Rate %d nicht setzen, Rckmeldung %d: %s", T_CANT_SET_BLOCK_SIZE, "Kann Blockgre %d nicht setzen: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unbekanntes PortAudio Gert %d", T_CANT_OPEN_PA_STREAM, "Kann PortAudio Stream %d fr %s nicht ffnen: %s", T_RECORD2, "Aufnahme", T_PLAYBACK, "Wiedergabe", T_CANT_PA_STREAM, "Fehler bei %s PortAudio Stream %d: %s", T_CANT_STOP_PA, "Kann PortAudio Stream nicht stoppen: %s", T_CANT_CLOSE_PA, "Kann PortAudio Stream nicht schlieen: %s", T_TIP_RMMOD, "Tipp: Probiere als root auszufhren: \"rmmod lp\"", T_TIP_KILL_LSOF, "Tipp: oder tte Prozess in : \"lsof %s\"", T_CANT_SET_STROBE, "Kann Parallelport_STROBE nicht setzen %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Rotornummer %d unbekannt oder Initialisierungsfehler", T_CANT_CREATE_HL_ROT_THR, "Kann keinen hamlib Rotor-Thread anlegen\n", T_INIT_SERIAL_DEVICES, "Initialisiere serielle Gerte", T_BAD_CHECKSUM, "Falsche Prfsumme", T_TIMEOUT2, "Zeitberschreitung", T_BAD_RESPONSE, "falsche Antwort", T_UNKNOWN_FUNCTION, "Unbekannte Funktion", T_UNKNOWN_ERROR_CODE, "Unbekannter Fehlercode", T_CANT_CREATE_SDR_THR, "Kann keinen SDR-Thread anlegen\n", T_WAIT_FOR_SDR_THR, "Warte auf SDR-Thread", T_QSO_REQ_FROM_SP, " QSO Anfrage von S&P ", T_QSO_REQ_SENT, " QSO Anfrage an RUN gesendet ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Unbekannter Ort", T_DEGREE, "Grad", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Kann Datei '%s' nicht ffnen: %s", T_CANT_OPEN_SOUND_PIPE, "Kann Sound-Pipe nicht ffnen", T_INIT_SSB_CQ, "Initialisiere SSB CQ", T_FREE_SSB_CQ, "Beende SSB CQ", T_NO_FILE, "Keine Datei ausgewhlt", T_UNSUP_CHANNELS, "nicht untersttzte Nummer von Kanlen = %d", T_FLOAT_UNSUPP, "Fliekommadateien sind nicht untersttzt", T_CANT_OPEN_DSP_PLAY, "Kann DSP %s nicht zur Wiedergabe ffnen", T_REC_DISABLED, "Aufnahme deaktiviert", T_CONTEST_TOO_OLD, "Contest zu alt", T_NO_FREE_DISK_SPACE, "Nicht genug freier Plattenspeicher fr %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Fehler beim Schreibne von %s: %s", T_CANT_OPEN_DSP_REC, "Kann DSP %s nicht zur Aufnahme ffnen", T_NO_DISK_SPACE, "Nicht genug freier Plattenspeicher fr Datei", T_CANT_PLAY_FILE, "Kann Datei nicht wiedergeben %s - %s", T_CANT_WRITE_SS, "Kann nicht in Datei schreiben %s - %s", T_NO_LAST_SAMPLE_RECORDED, "Kein letztes Sample aufgenommen", T_NO_MACRO_IN_TEMPLATE, "Kein Makro %% in SSBD Vorlage", T_NEW_WINDOWS_3, "Hinweis: Seit Version 3.00 gibt es spezielle Fensterarten fr DX cluster und ON4KST Chat.\nDamit hast Du besseren Komfort und mehr Funktionalitt\n\n", T_ENTER_TO_DXC2, "*** Drcker ENTER fr Verbindung mit DXC ***", T_LOADING_S, "Lade %s", T_INVALID_WINDOW_TYPE, "ungltige Fensterart %d\n", T_INIT_RIG, "Initialisiere TRX Steuerung %d", T_RIG_ERROR, "TRX Fehler: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Kann keinen TRX Thread anlegen\n", T_FREE_RIG, "Beende TRX Steuerung %d", T_WAIT_FOR_RIG_THR, "Warte auf TRX Thread", T_INVALID_PARAM, "unzul. Parameter", T_RIG_INVALID_CONFIG, "unzul. Konfig", T_RIG_NOT_ENOUGH_MEM, "zu wenig Speicher", T_RIG_NOT_IMPLEMENTED, "nicht implementiert", T_RIG_COMM_TIMEOUT, "Comm. Zeitberschreitung", T_RIG_IO_ERROR, "I/O Fehler", T_RIG_INTERNAL_ERROR, "Interner Fehler", T_PROTOCOL_ERROR, "Protokoll Fehler", T_RIG_COMMAND_REJECT, "Kommando verweigert", T_RIG_ARG_TRUNCATED, "Arg. abgeschnitten", T_RIG_F_NOT_AVAILABLE, "F nicht verfgbar", T_RIG_VFO_NOT_TARGET, "VFO nicht Ziel.", T_RIG_ERROR_ON_BUS, "Bus-Fehler", T_RIG_BUS_COLLISION, "Bus-Kollision", T_RIG_INVALID_ARG, "unzul. Arg.", T_RIG_INVALID_VFO, "unzul. VFO", T_RIG_ARG_OUT_OF_DOM, "Arg ausserh. dom.", T_ERROR_D, "Fehler %d", T_CANT_SET_GRAPHICS1, "Grafikmodus nicht setzbar (SDL_Init)", T_CANT_SET_GRAPHICS2, "Grafikmodus nicht setzbar", T_WAIT_SDL_THR, "Warte auf SDL Event Thread", T_FREE_GRAPHICS, "Beende Grafik", T_CANT_GET_LIST_OF_CONTESTS, "Kann nicht Contestliste holen: %s", T_CANT_GET_UPLOAD_FORM, "Bekomme kein Upload Formular: %s", T_CANT_READ_LOG_FILE, "Kann Logfile nicht lesen %s", T_CANT_UPLOAD_LOG, "Kann Log nicht hochladen: %s", T_CANT_CONFIRM_LOG, "Kann Log nicht besttigen: %s", T_CANT_GET_CLAIMED_SCORES, "Kann beanspruchte Punkte nicht holen: %s", T_ANT_OPEN_DSP_PLAY, "Kann DSP %s nicht fr Wiedergabe ffnen", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Datum:", T_QSOS2, "QSOs:", T_POINTS2, "Punkte:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 Calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Kann Datei nicht hochladen: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Kann Seite nicht hochladen, Wiki antwortet: %s", T_FILE_ALREADY_EXISTS, "Datei existiert bereits: %s", T_CANT_UPLOAD_PAGE_RET, "Kann Seite nicht hochladen, Wiki antwortet: %s", T_CANT_EDIT_PAGE, "Kann Seite nicht editieren: %s", T_CANT_EDIT_PAGE_RET, "Kann Seite nicht editieren, Wiki antwortet: %s", T_CANT_EDIT_PAGE_RET2, "Kann Seite nicht editieren, Wiki antwortet %s", T_EDITING_CONTEST_PAGE, "Editiere Contest Seite ...", T_ALL_DONE, "Alles erledigt.", T_UPLOADING_FILE, "Lade Datei %s hoch ...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unbekannte Datei zum Upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Kann Edit-Token nicht abfragen: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Kann Edit-Token nicht abfragen, Wiki antwortet: %s", T_QUERYING_EDIT_TOKEN, "Frage Edit-Token ab", T_CANT_LOGIN, "Anmeldefehler (2): %s", T_CANT_LOGIN2, "Anmeldefehler (2), Wiki antwortet: %s", T_CANT_LOGIN1, "Anmeldefehler (1): %s", T_LOGGING_IN, "Anmeldung...", T_EXPORTING_FILES, "Exportiere Dateien...", T_INIT_WIZZ, "Initialisiere Contest Assistent", T_FREE_WIZZ, "Beende Contest Assistent", T_LOAD_WIZZ_DATA, "Lade Contest Assistent Daten", T_ADIF_EXPORT_MODE, "ADIF Export fehlerhafter QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Contest phase", T_HK_PHASE, "H", T_ENTER_PHASE, "New contest phase: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/english.lng0000644000175000017500000011745414001016234012754 00000000000000T__CHAR_SET, "us-ascii", T__LANGUAGE, "English", T_ABOUT, "About", T_BAD_NUMBER, "Bad number", T_BAD_STRING, "Bad string", T_BASIC_HELP, "Press F10 for menu.\nHave fun.", T_BLOCK_CURSOR, "Block cursor", T_CANCEL, "Cancel", T_CHARACTER_SET, "Character set", T_COLOR, "Color", T_COPYING, "Copying", T_DIFFERENCE, "difference", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Do you really want to exit Tucnak?", T_EMPTY_STRING_NOT_ALLOWED, "Empty string not allowed", T_ERROR, "Error", T_WARNING, "Warning", T_EXIT, "Exit", T_EXIT_TUCNAK, "Exit Tucnak", T_FILE, "File", T_FULL_SCREEN, "Full screen", T_HELP, "Help", T_HK_ABOUT, "A", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "H", T_HK_COPYING, "C", T_HK_EXIT, "X", T_HK_FILE, "F", T_HK_FULL_SCREEN, "F", T_HK_HELP, "H", T_HK_LANGUAGE, "L", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "S", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "W", T_HK_XTERM, "X", T_KOI8R_FRAMES, "KOI8-R frames", T_LANGUAGE, "Language", T_LAST, "last", T_LINUX_OR_OS2_FRAMES, "Linux or OS/2 frames", T_MEMORY_INFO, "Memory info", T_NO_FRAMES, "No frames", T_NO, "No", T_NUMBER_EXPECTED, "Number expected in field", T_NUMBER_OUT_OF_RANGE, "Number out of range", T_OK, "OK", T_OS_SHELL, "OS shell", T_RESTRICT_FRAMES_IN_CP850_852, "Restrict frames in cp850/852", T_UTF_8_IO, "UTF-8 Input/Output", T_SCREEN, "Screen", T_SETUP, "Setup", T_TERMINAL_OPTIONS, "Terminal options", T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-like V/U/SHF contest log", T_TWTERM, "Twterm", T_USE_11M, "Use ^[[11m", T_VT_100_FRAMES, "VT 100 frames", T_WELCOME1, "Welcome to Tucnak!", T_WELCOME2, "Please enter your callsign and locator:", T_WELCOME, "Welcome", T_XTERM, "Xterm", T_YES, "Yes", T_CANT_APPEND_S, "Can't append to file %s", T_CANT_WRITE, "Can't write to file", T_CANT_WRITE_S, "Can't write to file %s", T_CANT_READ, "Can't read from file", T_CANT_READ_S, "Can't read from file %s", T_SAVED_S, "Saved %s", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - cw speed ", T_CANT_OPEN_S, "Can't open %s", T_CANT_LOCK, "Can't lock", T_CANT_LOCK_S, "Can't lock %s", T_LOADING_CTEST_S, "*** Loading contest %s", T_NO_FILES,"No files in directory", T_BAND_EXIST_SS, "WARNING! Band %s (%s) already exist", T_BAND_NOT_OPEN, "Band is not active in this contest", T_NO_BANDS, "No bands to load", T_CANT_SET_GR_S, "Can't set any graphics mode-%s", T_GCALL, "Call: %s", T_GWWL, "WWL: %s", T_GQRB, "QRB: %d km", T_GQTF, "QTF: %d deg", T_GSEN, "Sent: %s %s", T_GRCV, "Rcvd: %s %s", T_GTIM, "Time: %s", T_GOPE, "Op: %s", T_GREM, "Rem: %s", T_GWKD, "Wkd: %d", T_GINC, "income: %d", T_GLON, "Lon:%7.2f %-6s", T_GLAT, "Lat:%7.2f %-6s", T_GLOC, "Loc: %s", T__PLESE_WAIT_, " Please WAIT ", T__RO_BAND, " READ-ONLY BAND", T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.", T_CTEST_ACTIVE, "Contest is already active ", T_NO_CTESTS, "No contests", T_NO_CCLOSE, "No contest to close", T_REALLY, "Really?", T_CLOSE_CTEST, "Do you really want to close this contest?", T_GUI_LD, "GUI: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw items, %d wc items, latest %d\n", T_EXC, "Exc: %s %d exc items, %d cxe items, latest %d\n", T_VEXC, "Verified EXC: %d items\n", T_DWI, "D_W: %d prefixes, %d DXCCs, %d WWLs\n", T_NAMES, "Names: %d names\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Memory:", T_NMY, " My: ", T_NGLOBAL, "Global: ", T_NMASTER, "Master: ", T_NREMOTE, "Remote: ", T_NSLAVES, "\nSlaves:\n", T_NINFO, "Network info", T_NO_BANDS_QRV, "No bands QRV", T_NO_BANDS_CONF, "No bands configured", T_NOT_AVAILABLE, "Not available", T_ADD_SUBWIN, "Add subwin", T_HK_ADD_SUBWIN, "A", T_CLOSE_SUBWIN, "Close subwin", T_HK_CLOSE_SUBWIN, "C", T_HK_NINFO, "N", T_NEW, "New", T_HK_NEW, "N", T_NEW_WIZZ, "New from wizard", T_HK_NEW_WIZZ, "W", T_NEW_NET, "New from network", T_HK_NEW_NET, "T", T_OPEN, "Open", T_HK_OPEN, "O", T_SAVE, "Save", T_HK_SAVE, "S", T_EXPORT_EDI, "Export as EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Export as report", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Export as ADIF", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Export as Cabrillo", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Export as HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Export as MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Import EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Import ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Import swap", T_HK_IMPORT_SWAP, "", T_IMPORT_LIST, "Import list", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Contest options", T_HK_CONTEST_OP, "O", T_CLOSE_CONTEST, "Close contest", T_HK_CLOSE_CONTEST, "C", T_ADD_ERROR, "Add ERROR", T_HK_ADD_ERROR, "E", T_CHOP, "Change operator", T_HK_CHOP, "O", T_CW_CTEST, "Update C_W from contest", T_HK_CW_CTEST, "C", T_CW_BAND, "Update C_W from band", T_HK_CW_BAND, "B", T_EXC_CTEST, "Update EXC DB from contest", T_HK_EXC_CTEST, "A", T_EXC_BAND, "Update EXC DB from band", T_HK_EXC_BAND, "T", T_IMPORT_EBW, "Import DL8EBW database", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "No contest", T_NO_PEERS, "No peers found", T_NO_MASTER, "Master is not available!", T_CTEST_DEF, "Contest defaults", T_HK_CTEST_DEF, "O", T_BAND_DEF, "Band defaults", T_HK_BAND_DEF, "B", T_HK_RESPOP, "P", T_CW_DAEMON, "CW keying", T_HK_CW_DAEMON, "E", T_CW_CQ, "CW CQ", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB CQ", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Autosave", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Load cfg from net", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Load C_W from net", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Save configuration", T_HK_SAVE_CFG, "F", T_CONTEST, "Contest", T_HK_CONTEST, "C", T_EDIT, "Edit", T_HK_EDIT, "E", T_BANDS, "Bands", T_HK_BANDS, "B", T_SUBWINS, "Subwins", T_HK_SUBWINS, "W", T_BAND_SETTINGS_SC, "Band settings for band %c %s", T_QRV_ON_THIS_BAND, "QRV on this band", T_QRV_IN_THIS_CTEST, "QRV in this contest", T_READ_ONLY, "Read-only", T_MULTI, "Multi", T_SINGLE, "Single", T_CHECK, "Check", T_TXEQUIP, " TX Equip:", T_POWER, " Power:", T_RXEQUIP, " RX Equip:", T_ANTENNA, " Antenna:", T_AGLASL, " AGL;ASL:", T_OPS, "Operators:", T_SPACES1, " ", T_REMARKS, " Remarks:", T_OK_SECTION_SINGLE, "Single category in OK", T_OK_SECTION_MULTI, "Multi category in OK", T_QRG_MIN, "Band boundary from", T_QRG_MAX, "to [kHz]", T_ADIFBAND, "ADIF band name", T_SKEDQRG, "QRG for skeds (free form)", T_BAND_LO, "Transverter's LO QRG [Hz]:", T_BANDSW, "Band switch value", T_RESPOP, "Responsible operator", T_NAME, " Name:", T_CALLSIGN, " Callsign:", T_ADDRESS, " Address:", T_POSTCODE, "Postal Code:", T_CITY, " City:", T_COUNTRY, " Country:", T_PHONE, " Phone:", T_BBSEMAIL, " E-mail:", T_QP0, " --none -- ", T_QP1, " 1 QSOp*QSOp_m (Std. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK activity)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltic)", T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (district codes)", T_QP13, "13 Continent (CQ WW DX Contest)", T_QP14, "14 Continent+band (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --none -- ", T_TP1, " 1 Multiplicative (Std. IARU)", T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "New Contest", T_CANT_TRUNC, "Can't truncate desc file", T_NAME_OF_CTEST, "Name of the contest:", T_CALL_OF_CTEST, "Callsign in contest:", T_CLUB_ST, "Club station:", T_YOURWWL, "Your WWL:", T_YOUREXC, "Your EXC:", T_DATE_OF_CTEST, "Date of contest:", T_QSOUSED, "QSO NR used", T_QSOPM, " QSOp multi:", T_WWLUSED, "WWL used ", T_WWLB, "WWL bonus:", T_WWLM, "WWL multi:", T_EXCUSED, "EXC used", T_EXCB, " EXC bonus:", T_EXCM, "EXC multi:", T_EXCNAME, " EXC name: ", T_PREFM, "PREF multi:", T_DXCB, " DXC bonus:", T_DXCM, "DXC multi:", T_RSTUSED, "RST Used ", T_DEFRS, "Default RS:", T_DEFRST, "Def RST:", T_ALSORSTR, "Also for RST-R", T_QP_CALC, " QSOp calc:", T_TO_CALC, "Total calc:", T_EDI_PROP, "EDI prop", T_RESPOP2, "Responsible op", T_EDIT_QSO_CD, "Edit QSO %c: %03d", T_CALLSIGN2, "Callsign:", T_CLUB, " Club:", T_PADR1, " PAdr1:", T_PADR2, " PAdr2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Operator:", T_DATE, " Date:", T_MODE, " Mode:", T_RSTS, " RSTs:", T_RSTR, " RSTr:", T_QSONRS, "QSO sent:", T_QSONRR, "QSO rcvd:", T_OPTEXCH, " OptExch:", T_WWL, " WWL:", T_REMARK, " Remark:", T_QRV2, " QRV on:", T_WKD, " WKD:", T_SEND_SKED, "Send sked", T_SELECT, "Select", T_QRG, " QRG:", T_WE_CALL, " We call", T_BAND, " Band:", T_TIME, " Time:", T_DUPE_QSO, "Duplicate QSO!", T_CLEAR_THIS_QSO, "Clear this QSO", T_EDIT_OLD_QSO, "Edit old QSO", T_MARK_OLD_QSO, "Mark old QSO as ERROR", T_STORE_AS_DUPE, "Store as DUPE", T_BAD_CALL, "This does not look like a callsign", T_N_CALLSIGN, "\nCallsign:", T_AUTOSAVE_OPTS, "Autosave options", T_SAVE_AQ, "Save to disk after QSO: ", T_SAVE_AM, "Save to disk after minutes:", T_FSYNC, "Fsync", T_SAVE_AQF, "Save to floppy after QSO: ", T_SAVE_AMF, "Save to floppy after minutes:", T_DO_MOUNT, "Mount if not in /etc/mtab (unused)", T_FLOPPY_PATH, "Path to floppy:", T_MOUNT_CMD, "Mount command: ", T_SW_SHELL, "Shell", T_SW_QSOS, "QSOs", T_SW_LOG, "Log", T_SW_TALK, "Talk", T_SW_SKED, "Sked", T_SW_UNFI, "Unfi", T_SW_DXC, "DXC", T_SW_STAT, "Stat", T_SW_MAP, "Map", T_SW_SCOPE, "Scope", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Player", T_SW_CHART, "Chart", T_SHELL, "Shell", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Talk", T_SKEDS, "Skeds", T_UNFI, "Unfinished QSOs", T_DXC, "DX Cluster", T_STAT, "Statistics", T_SWAP, "Swap (N/A)", T_MAP, "Graphics map", T_SCOPE, "Scope", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Command", T_RESPAWN, "Respawn [sec]:", T_UNFI_QSO, "Unfinished QSO", T_N_REMARK, "\nRemark:", T_NO_CQ, "No CQ defined", T_TEXT, "Text:", T_SPEED, "Speed [WPM]:", T_REPEAT, "Repeat", T_DELAY, "Delay [0.1s]:", T_ALLOW_UNDEF, "Allow if some item is undefined", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Filename:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "UDP port:", T_DEVICE, "Keying device:", T_INIT_SPEED, "Initial speed [WPM]:", T_INIT_WEIGHT, "Weight (30-70):", T_WPMFROM, "WPM Range from", T_WPMTO, "to", T_USE_SPK, "Use speaker", T_LEADIN, "PTT lead in [ms]", T_AUTGIVE, "Run mode aut. give after [chars]", T_IGN_IFACE_S, "Ignoring interface %-5s", T_IGN_ADDR_S, "Ignoring address %s", T_ADD_IFACE_SSD, "Added interface=%-5s BCAST=%s:%d", T_FORCED_ADDR, "Forced address %s", T_TIMESKEW, "WARNING! Time skew %d detected against %s:%d !\n", T_DISCONNECTING_SD, "Disconnecting from %s:%d", T_ACCEPTED_SD, "Accepted %s:%d (%s)", T_CONNECTING_SD, "Connecting to %s:%d" , T_CONNECTED_SD, "Connected to %s:%d", T_DISCONNECTED_SD, "Disconnected from %s:%d", T_LOADED_CFG_SSSS, "Loaded config for %s %s (%s,%s)", T_LOADED_CW, "Loaded C_W data", T_PEER_NOT_FOUND, "ERROR! Peer %s not found", T_CANT_CREATE_HOME_S, "Cannot create directory %s", T_CANT_LOAD_CFG, "Can't load configuration!\nProgram cannot work properly!", T_ERR_RC, "Found some errors parsing config file!\nThis file was probably saved with newer Tucnak!\nDon't save your configuration unless you can loose data!", T_SES_QTR, " QTR ", T_SES_QRA, " CALL ", T_SES_RST, " RST-S-No RST-R-No ", T_SES_QTH, " QTH ", T_SES_QRB, " Pts/QRB QTF ", T_SES_FLG, " Flg ", T_SES_OPE, " Oper. ", T_SES_EXC, " Exch ", T_SES_REM, " Remark ", T_SES_WELCOME, "Welcome to Tucnak! ", T_SES_PRESS_F10, "Press F10 for menu.", T_SES_HAVE_FUN, "Have fun.", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG", T_SES_AVG, " AVG: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " WWLs: %d", T_SF_WWLS_UNDER, "-------------", T_SF_EXCS, " EXCs: %d", T_SF_EXCS_UNDER, "-------------", T_SF_MISS_EXCS, " Missing EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " DXCCs: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " WKD WWLs: %d", T_SF_WKD_WWLS_UNDER, "-----------------", T_SF_QSO_WWL4, " QSOS in WWL4s: %d", T_SF_QSO_WWL4_UNDER, "----------------------", T_SF_STATS_BAND, " Statistics for band %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Contest: %s", T_SF_ALLBQSOS, "All bands QSOs: %d", T_SF_ALLBQSOP, "All bands QSOp: %d", T_SF_ALLBPTS, "All bands pts: %d", T_SF_QSOS, "QSOs: %d", T_SF_VQSO, "Valid QSOs: %d", T_SF_QSOP, "QSO points: %d", T_SF_PTS, "Points: %d", T_SF_AVG_PTS, "Average pts/QSO: %5.2f", T_SF_AVG_QSOP, "Average qsop/QSO: %5.2f", T_BAND_RO, "Band is read-only", T_THIS_BAND, "This band", T_OTHER_BANDS, "Other bands", T_CW_DB, "C_W database", T_PROC_EXITED, "*** Process exited\n", T_WE_CALL2, "we call", T_WE_LISTEN, "we listen", T_QSL, "QSL promised", T_RECORD, "Record traffic", T_MAXMIN, " Max. record duration", T_TEMPLATE, "Template for recorded filename", T_PCM8, "8 bit PCM", T_PCM16, "16 bit PCM", T_ULAW, "mu-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Channels", T_SAMPLERATE, "Sample rate", T_FILLOP, "Fill operators", T_HK_FILLOP, "L", T_RECAQRB, "Recalc QRB,QTF", T_HK_RECAQRB, "R", T_NETWORK, "Network & trace", T_HK_NETWORK, "K", T_IF_IGNORE, "Ignore interfaces:", T_IP_IGNORE, " Ignore networks:", T_IP_ANNOUNCE, " Announce to nets:", T_TRACE_BCAST, "Trace broadcasts ", T_TRACE_SOCK, "Trace sockets", T_TRACE_RECV, "Trace received data", T_TRACE_SEND, "Trace sent data", T_TRACE_QSOS, "Trace QSOs ", T_TRACE_SDEV, "Trace rotars ", T_NOT_MOUNTED_S, "Not mounted %s", T_RECSRC_NONE, "Don't set", T_RECSRC_MIC, "Microphone", T_RECSRC_LINE, "Line in", T_NEW_CALL, "New!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV on %s", T_SKED_QRG, "QRG for skeds", T_HK_SKED_QRG, "F", T_N_SKED_QRG, "\nQRG for skeds:", T_GRAB_BAND, "Grab band control", T_HK_GRAB_BAND, "G", T_FORCE_RUN, "Force RUN mode", T_HK_FORCE_RUN, "U", T_EXPORT_STATS, "Export Statistics", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX QSOs:", T_SF_TOP_DX_UNDER, "-------------------", T_ROTAR, "Rotator", T_HK_ROTAR, "R", T_AZIMUTH, " Azimuth", T_ELEVATION, "Elevation", T_CH_SPY, "Spy", T_HK_CH_SPY, "S", T_CH_ENDSPY, "Spy end", T_HK_CH_ENDSPY, "P", T_EXPORT_TITLPAGE, "Export title page", T_HK_EXPORT_TITLPAGE, "P", T_BREAK_RECORD, "Break record", T_HK_BREAK_RECORD, "B", T_GLOBAL_OPERATOR, "Change for all bands", T_GLOBAL_OPERATOR2, "Global", T_MAXFRAG, "Max. num of fragments (>=2)", T_PLAY_LAST, "Play last sample", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Miscellaneous options", T_HK_MISCOPTS, "M", T_LOGLINES, "Log lines: ", T_SKEDSHIFT, "Sked shift (minutes): ", T_STARTBAND, "Starting band: ", T_GFX_X_CH, "Screen resolution (chars):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Screen resolution (pixels):", T_GFX_Y_PX, "x", T_CALL_INFO, "Callsign info", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSOs/hour: %d", T_SF_QSOP_HOUR, "Points/hour: %d", T_SF_QSOP_50QSO, "Points/50 QSOs: %d", T_SF_HOURS, " Hours", T_SF_HOURS_UNDER, "---------", T_SF_HOURS_TITLE, "Hours Points QSOs AVG pts/QSO", T_QSO_CHECK, "QSO check", T_HK_QSO_CHECK, "K", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Minimal disk free space [MiB]", T_FORMAT, "Record format", T_PCM_PLAY, "Alsa playback device", T_PCM_REC, "Alsa capture device", T_PERIOD, "Period time [ms]", T_BUFFER, "Buffer time [ms]", T_ALSA_MIXER, "Alsa mixer device", T_CAPTURE, "Capture source", T_DSP, "OSS DSP", T_MIXER, "OSS mixer", T_RECSRC, "Record source", T_PA_PLAY, "Portaudio playback device", T_PA_REC, "Portaudio capture device", T_HOSTNAME, "Hostname:", T_SLASHKEY, "Slash key", T_FIXQRG, "Fix QRG", T_HK_FIXQRG, "X", T_ENTER_QRG, "Enter accurate QRG [Hz]", T_BAD_QRG, "Bad frequency", T_CALLSIGN3, "Callsign", T_CALLSIGN_KST, "KST station's callsign:", T_CANT_INIT_WINKEY_S, "Can't init winkey on %s", T_WINKEYOPTS, "Winkey options", T_WK_WK2, "Winkey2 fast initialization", T_WK_USEPOT, "Use speed pot", T_WK_USEBUT, "Use buttons", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Bug", T_WK_SWAP, "Paddle swap (left handled)", T_RIGOPTS, "Rig options", T_HK_RIGOPTS, "G", T_RIG_DEVICE, "Device:", T_RIG_MODEL, "Rig model: ", T_RIG_SPEED, "Baudrate: ", T_RIG_CIV, "CIV address (hex):", T_RIG_FREQSHIFT, "Freq. shift SSB->CW", T_RIG_CHOOSE, "Choose", T_ROTAROPTS, "Rotar options", T_HK_ROTAROPTS, "I", T_DSSAVER, "Disable screensaver", T_DESC, "Description", T_ROT_NONE, "None", T_ROT_OK1ZIA_TTYS, "OK1ZIA serial", T_ROT_OK1ZIA_FTDI, "OK1ZIA USB", T_ROT_HAMLIB, "Hamlib", T_ROT_REMOTE, "Remote", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Serial #", T_ROT_ADD, "Add new rotator", T_HK_ROT_ADD, "W", T_ROT_REMOVE, "Remove rotator", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "Beam width:", T_SADDR, "Communication address:", T_MODEL, "Hamlib model:", T_ROT_REM_ROTSTR, "Rotator letter for remote", T_QSOGLOB, "Global QSO NR", T_PREFGLOB, "Global PREF", T_NOT_RECORDING_S, "Not recording - %s", T_SKEDCOUNT, "Sked count in popup: ", T_FONTHEIGHT, "Font height (16-32): ", T_RIG_POLL_MS, "Rig poll interval [ms]: ", T_RIG_QRG_R2T, "Set band from radio", T_RIG_QRG_T2R, "Change band on radio", T_RIG_MODE_T2R, "Change mode on radio", T_RUN_MODE, "Run mode", T_HK_RUN_MODE, "U", T_SP_MODE, "S&P mode", T_HK_SP_MODE, "M", T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save", T_RIG_DEBUG, "Debug rig", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Band QSO Point Mult", T_HF_SUM, "Sum:", T_HF_LAST, "Last Q-%s P-%s", T_EVEN, "TX eVen", T_HK_EVEN, "N", T_ODD, "TX oDd", T_HK_ODD, "D", T_1ST, "TX 1st", T_HK_1ST, "1", T_2ND, "TX 2nd", T_HK_2ND, "2", T_HF_SCORE, "Score:", T_EXPMODE, "Expedition mode", T_TTTYPE, "Only digits mean", T_ROT_POLL_MS, "Poll interval [ms]:", T_VERSION, "Version", T_HK_VERSION, "V", T_REMOTE_HOST, " Remote host name:", T_REMOTE_PORT, " Remote TCP port:", T_REMOTE_PASS, " Remote Password:", T_STARTING_AC, "Starting AS", T_STOPPING_AC, "Stopping AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Speed:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Durat: %ld", T_EXPORTING_S, "Exporting %s", T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s", T_EXPORTING, "Exporting ...", T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables", T_LOADING_CHARTS, "Loading charts", T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control", T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in", T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi", T_CANT_CREATE_PIPE, "Can't create pipe", T_TERMINATING_CWDAEMON, "Terminating CW/PTT control", T_INIT_CWDB, "Initializing WWL database", T_TERM_CWDB, "Terminating WWL database", T_LOADING_CWDB, "Loading WWL database", T_QRV_ON, "QRV on: ", T_CANT_INIT_FTDI, "Can't init ftdi library for davac4", T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s", T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s", T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s", T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s", T_INIT_SOUNDCARD, "Initializing soundcard", T_NO_OSS, "OSS support not compiled in", T_NO_ALSA, "Alsa support not compiled in", T_NO_PORTAUDIO, "portaudio support not compiled in", T_NO_SNDFILE, "Libsndfile support not compiled in", T_NO_SNDPIPE, "Sndpipe support not compiled in", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Initializing DXCC database", T_FREE_DWDB, "Terminating DXCC database", T_LOAD_DWDB, "Loading DXCC database", T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n", T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n", T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n", T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n", T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n", T_CALL_ON_BAND_S, "Callsign on band %s is %s\n", T_LOCATOR_ON_BAND, "Locator on band %s is %s\n", T_QSO_CHECK_LIST, " Tucnak QSO check list\n", T_CALL_SN, " Call: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Date: %s\n", T_CHECKING_S, "Checking %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Seems to be O.K.\n", T_CW_NOT_FOUND, "C_W: %s not found\n", T_0X_NOT_IN_DB, " 0x (not in database)", T_NAME_IS, "Name: %s's name is %s\n", T_NAME_UNKNOWN, "Name: %s's name is unknown\n", T_INIT_DXC, "Initializing DXcluster", T_FREE_DXC, "Terminating DXcluster", T_HK_SELECT, "S", T_HIDE, "Hide", T_HK_HIDE, "H", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Use", T_HK_USE, "U", T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n", T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n", T_HOST_RESOLVED, "*** Host resolved ", T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n", T_CONNECTING_TO, "*** Connecting to %s ***\n", T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n", T_CONNECTED_SOCKET, "*** Connected socket %d ***\n", T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n", T_DISCONNECTED, "\n*** Disconnected ***\n", T_RESOLVING, "*** Resolving %s ***\n", T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s", T_SAVED, "Saved %s", T_LOADING_CONTEST, "Loading contest %s", T_LOADING_LOGFILE, "Loading logfile", T_LOADING_TALK, "Loading talk", T_SEARCH_FILES, "Search for contest files", T_LOADING_BAND, "Loading band %s", T_LOADING_SPY, "Loading spy", T_LOADING_HICALLS, "Loading hicalls", T_LOADING_QRV, "Loading qrv", T_LOADING_CHART, "Loading chart", T_SAVING_CONTEST, "Saving contest", T_UPD_INT_DATA, "Updating internal data", T_CALC_STATS, "Calculating statistics", T_ANN_OVER_NET, "Announcing over network", T_ACTIVATING_BAND, "Activating band %s", T_UPDATING_WKD, "Updating worked calls", T_UPDATING_QRBQTF, "Updating QRB&QTF", T_UPDATING_GAIN, "Updating gain chart", T_SEN_OVER_NET, "Sending info over network", T_INIT_EXCDB, "Initializing exchange database", T_FREE_EXCDB, "Terminating exchange database", T_INIT_FFT, "Initializing FFT analyse", T_FREE_FFT, "Terminating FFT analyse", T_INIT_ROTAR, "Initializing rotator control", T_FREE_ROTAR, "Terminating rotator control", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Points", T_AVG, "AVG", T_INIT_HTTPD, "Initializing HTTP server", T_FREE_HTTPD, "Terminating HTTP server", T_NO_CONTEST_OPENED, "

No contest opened

\n", T_NO_CONTEST_OPENED2, "No contest opened", T_STATS, "Statistics", T_BAND_NOT_FOUND, "Band not found", T_BAND_C_NOT_FOUND, "

Band %c not found

", T_QSOS_IN_DATABASE, "qsos in database", T_TUCNAK_ONLINE_LOG, "Tucnak online log", T_DATE2, "Date", T_UTC, "UTC", T_CALL, "Call", T_CALL_NOT_FOUND, "Call not found", T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d", T_FREE_TERM, "Terminating terminal", T_TERM_KEYMAPS, "Terminating keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh mistake", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Sked - ask for", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Message", T_HK_MESSAGE, "M", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n", T_RESOLVED, "*** Resolved ", T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n", T_SENDING_SH_US, "*** Sending /sh us ...\n", T_SKIP_LINE, "Skip line %d '%s'", T_CANT_CREATE_HOME, "Can't create home directory '%s'", T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s", T_INIT_MAP, "Initializing polar map", T_DISABLE_SAVER, "Disabling screensaver", T_STARTING_TUCNAK, "Starting Tucnak", T_FREE_MAP, "Terminating polar map", T_INIT_MASTERDB, "Initializing master database", T_FREE_MASTERDB, "Terminating master database", T_LOAD_MASTERDB, "Loading master database", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s", T_DIRECTORY_SCAN, "Directory scan", T_V3_COMPATIBILITY, " (v3 compatibility)", T_RELOAD_INTERFACES, "Reload interfaces", T_SET_READONLY, "Set read-only", T_CHANGE_TYPE, "Change type", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Open connection", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Kill connection", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Export to text file", T_ADD_CONTEST, "Add contest", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Add file(s)", T_HK_ADD_FILES, "F", T_ADD_CONTESTS, "Add contests", T_HK_ADD_CONTESTS, "O", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Int.error test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Dump RW bands and hashes", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Update Tucnak", T_HK_UPDATE, "U", T_SETTINGS, "Settings", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "Voip spy", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "End voip spy", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest is old, spy is not available", T_NETWORK_SCAN, "Network scan", T_HTTPD_OPTIONS, "HTTPD options", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter options", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR options", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Other:", T_NONE, "None ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "Unused ", T_USED_6, "Used (6)", T_OPT_6, "Opt. (6)", T_USED_4, "Used (4)", T_OPT_4, "Opt. (4)", T_FREE, "Free ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Verified", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Confirm WWL", T_CONFIRM_EXC, "Confirm EXC", T_FONT_SIZE, "Font size: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, " SLOVHF user:", T_SDR, "SDR", T_PARPORT, "parport", T_TTYS, "ttys", T_TTYSSINGLE, "ttys single pin", T_AUDIO_SUBSYSTEM, "Audio subsystem:", T_PLAYBACK_VOLUME, "Playback volume", T_CAPTURE_VOLUME, "Capture volume", T_ENABLE_REMOTE_CONNECT, "Enable remote connect", T_TRACE_RIG, "Trace rig", T_TRACE_KEYS, "Trace keys", T_SAVE_RESTART, "You must save configuration and restart Tucnak", T_FULLSCREEN, "Fullscreen", T_TOUCH, "Use touch control", T_ALT_QWER, "Alt turns QWER.. to 1234..", T_NO_LOCKS, "No device locks", T_PORTRAIT_ORIENTATION, "Portrait orientation", T_REVERSE, "Reverse", T_CHOOSE_RIG, "Choose rig", T_RIG_D, "Rig %d", T_NEW_RIG, "New rig", T_ENABLED, "Enabled", T_SET_PTT_ON_RADIO, "Set PTT on radio", T_DISABLED, " (disabled)", T_ADD_RIG, "Add rig", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Enable", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Show private information", T_REFRESH, "Refresh interval:", T_LOAD_FROM_NET, "Load from network", T_LOAD_CWDB, "Load C_W database", T_LOAD_NAMEDB, "Load Name database", T_LOAD_QRVDB, "Load QRV database", T_READONLY_BANDS, "Read-only bands", T_ENABLE_AC, "Enable AS", T_AC_URL, "Alternative URL for flightradar data", T_K_FACTOR, "Troposphere k_factor", T_AC_AREA_WIDTH, "Reflection area width in km", T_AC_EL_ANGLE, "Minimal elevation angle", T_AC_MAX_EL_ANGLE, "Maximal elevation angle", T_AC_MIN_DURATION, "Minimal reflection duration in sec", T_AC_MAX_DIFF, "Max difference of incidence and reflection angles", T_BAD_NUMBER_RANGE, "Bad number range", T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate", T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder", T_NO_DEVICE, "No device", T_IQ_SOURCE, "IQ source:", T_WAV_FILE, "WAV file", T_WAV_FILE_NAME, "WAV file name", T_AF_OUTPUT, "AF output:", T_AF_SAMPLE_RATE, "AF sample rate", T_BLOCK_SIZE, " Block size", T_CW_FILTER, " CW filter", T_TO_HZ, "to [Hz]", T_SSB_FILTER, " SSB filter", T_INIT_NAMEDB, "Initializing name database", T_FREE_NAMEDB, "Terminating name database", T_LOAD_NAMEDB2, "Loading name database", T_INIT_NET, "Initializing network", T_FREE_NET, "Terminating network", T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops", T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s", T_TIME_WAS_SET, "Time was set", T_FAILED_TO_SET_TIME, "Failed to set time", T_INIT, "INIT", T_CONNECTING, "CONNECTING", T_CONNECTED, "CONNECTED", T_WAIT_ACK, "WAIT_ACK", T_DISCONNECTED2, "DISCONNECTED", T_DEAD, "DEAD", T_LONG_XFER, "LONG_XFER", T_AUTHENTICATED_USER_S, "Authenticated user %s", T_BAD_AUTHENTICATION_S, "Bad authentication %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT", T_LONG_TRANSFER_FINISHED, "Long transfer finished", T_INIT_NTP, "Initializing NTP monitor", T_FREE_NTP, "Terminating NTP monitor", T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP", T_INIT_SPEAKER, "Initializing PC speaker", T_FREE_SPEAKER, "Terminating PC speaker", T_CANT_PLAY, "Can't play %s - %s", T_CANT_SEEK_TO_END, "Can't seek to end %s - %s", T_CANT_SEEK_TO_START, "Can't seek to start %s - %s", T_CANT_OPEN, "Can't open %s %s", T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Can't set %s to EPP mode %s", T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s", T_CANT_CLAIM, "Can't claim %s %s", T_INIT_QRVDB, "Initializing QRV database", T_FREE_QRVDB, "Terminating QRV database", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Loading qrvs", T_UNSPECIFIED, "unspecified", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n", T_FOUND_D_ERRORS, "Found %d error%s while reading %s", T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net", T_REGISTRATED_ROTATORS, "Registrated rotators:", T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n", T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread", T_INIT_ROTARS2, "Initializing rotators", T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n", T_ROTAR_ERROR_S, "Rotar error: %s", T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe", T_CANT_READ_FROM, "Can't read from", T_CANT_WRITE_TO, "Can't write to", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Bad update file name", T_CANT_EXECUTE_INSTALLER, "Can't execute installer, ", T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed", T_UPDATE_FAILED, "Update failed", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply.", T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s", T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install.", T_NO_NEW_VER, "No new version available.", T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests...", T_CHOOSE_CONTEST, "Choose contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload", T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form...", T_ALL_EDI_FILES_PROCESSED, "All EDI files processed.", T_UPLOADING_LOG_FILE_S, "Uploading log file %s ...", T_UPLOADING_BAND_S, "Uploading band %s", T_CONFIRMING_LOG, "Confirming log...", T_RESULT_ERROR, "*** Result: ERROR please read error message above", T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s", T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores...", T_LOGS_UPLOADED, "Logs uploaded.", T_HTTP_STATUS, "HTTP status: ", T_LOG_UPLOAD, "Log upload", T_VOIP_NO_INITIALIZED, "VOIP no initialized", T_PAGE_NAME, "Page name", T_OVERWRITE_EXISTING_FILES, "Overwrite existing files", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Password", T_EXPORT_MAP, "Export map", T_EXPORT_CHART, "Export chart", T_MEDIAWIKI_UPLOAD2, "Mediawiki upload", T_BAD_AUTH_USER, "Bad auth user %s != %s", T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame", T_CANT_GET_FMTS, "Can't get supported audio formats: %s", T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s", T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s", T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s", T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s", T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s", T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s", T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s", T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d", T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s", T_RECORD2, "record", T_PLAYBACK, "playback", T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s", T_CANT_STOP_PA, "Can't stop PortAudio stream: %s", T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s", T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\"", T_CANT_SET_STROBE, "Can't set parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error", T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n", T_INIT_SERIAL_DEVICES, "Initializing serial devices", T_BAD_CHECKSUM, "Bad checksum", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Bad response", T_UNKNOWN_FUNCTION, "Unknown function", T_UNKNOWN_ERROR_CODE, "Unknown error code", T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n", T_WAIT_FOR_SDR_THR, "Waiting for SDR thread", T_QSO_REQ_FROM_SP, " QSO request from S&P ", T_QSO_REQ_SENT, " QSO request sent to RUN ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Location unknown", T_DEGREE, "deg", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe", T_INIT_SSB_CQ, "Initializing SSB CQ", T_FREE_SSB_CQ, "Terminating SSB CQ", T_NO_FILE, "No file specified", T_UNSUP_CHANNELS, "Unsupported number of channels = %d", T_FLOAT_UNSUPP, "Float point files are not supported", T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing", T_REC_DISABLED, "recording disabled", T_CONTEST_TOO_OLD, "contest too old", T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Error writing file %s: %s", T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording", T_NO_DISK_SPACE, "Not enough free disk space for file", T_CANT_PLAY_FILE, "Can't play file %s - %s", T_CANT_WRITE_SS, "Can't write to file %s - %s", T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded", T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template", T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n", T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***", T_LOADING_S, "Loading %s", T_INVALID_WINDOW_TYPE, "invalid window type %d\n", T_INIT_RIG, "Initializing rig control %d", T_RIG_ERROR, "Rig error: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n", T_FREE_RIG, "Terminating rig control %d", T_WAIT_FOR_RIG_THR, "Waiting for rig thread", T_INVALID_PARAM, "Invalid param.", T_RIG_INVALID_CONFIG, "Invalid config.", T_RIG_NOT_ENOUGH_MEM, "Not enough mem.", T_RIG_NOT_IMPLEMENTED, "Not implemented", T_RIG_COMM_TIMEOUT, "Comm. timeout", T_RIG_IO_ERROR, "IO error", T_RIG_INTERNAL_ERROR, "Internal error", T_PROTOCOL_ERROR, "Protocol error", T_RIG_COMMAND_REJECT, "Command reject.", T_RIG_ARG_TRUNCATED, "Arg. truncated", T_RIG_F_NOT_AVAILABLE, "F not available", T_RIG_VFO_NOT_TARGET, "VFO not target.", T_RIG_ERROR_ON_BUS, "Error on bus", T_RIG_BUS_COLLISION, "Bus collision", T_RIG_INVALID_ARG, "Invalid arg.", T_RIG_INVALID_VFO, "Invalid VFO", T_RIG_ARG_OUT_OF_DOM, "Arg out of dom.", T_ERROR_D, "Error %d", T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)", T_CANT_SET_GRAPHICS2, "Can't set graphics mode", T_WAIT_SDL_THR, "Waiting for SDL event thread", T_FREE_GRAPHICS, "Terminating graphics", T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s", T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s", T_CANT_READ_LOG_FILE, "Can't read log file %s", T_CANT_UPLOAD_LOG, "Can't upload log: %s", T_CANT_CONFIRM_LOG, "Can't confirm log: %s", T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s", T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Date:", T_QSOS2, "QSOs:", T_POINTS2, "Points:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Can't upload file: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s", T_FILE_ALREADY_EXISTS, "File already exists: %s", T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s", T_CANT_EDIT_PAGE, "Can't edit page: %s", T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s", T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s", T_EDITING_CONTEST_PAGE, "Editing contest page...", T_ALL_DONE, "All done.", T_UPLOADING_FILE, "Uploading file %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s", T_QUERYING_EDIT_TOKEN, "Querying edit token", T_CANT_LOGIN, "Can't log in (2): %s", T_CANT_LOGIN2, "Can't log in (2), wiki says: %s", T_CANT_LOGIN1, "Can't log in (1): %s", T_LOGGING_IN, "Logging in...", T_EXPORTING_FILES, "Exporting files...", T_INIT_WIZZ, "Initializing contest wizard", T_FREE_WIZZ, "Terminating contest wizard", T_LOAD_WIZZ_DATA, "Loading contest wizard data", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Contest phase", T_HK_PHASE, "H", T_ENTER_PHASE, "New contest phase: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/czech.lng0000644000175000017500000012323414001016230012404 00000000000000T__CHAR_SET, "iso8859-2", T__LANGUAGE, "Czech", T_ABOUT, "O programu", T_BAD_NUMBER, "Chybn slo", T_BAD_STRING, "Chybn etzec", T_BASIC_HELP, "Stiskni F10 pro vstup do menu.", T_BLOCK_CURSOR, "Blokov kurzor", T_CANCEL, "Zruit", T_CHARACTER_SET, "Znakov sada", T_COLOR, "Barviky", T_COPYING, "Koprovn", T_DIFFERENCE, "rozdl", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Opravdu chce ukonit Tuka?", T_EMPTY_STRING_NOT_ALLOWED, "Przdn etzec nen povolen", T_ERROR, "Chyba", T_WARNING, "Varovn", T_EXIT, "mitec", T_EXIT_TUCNAK, "Ukonen Tuka", T_FILE, "Soubor", T_FULL_SCREEN, "Cel obrazovka", T_HELP, "Pomoc", T_HK_ABOUT, "O", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "Z", T_HK_COPYING, "P", T_HK_EXIT, "E", T_HK_FILE, "S", T_HK_FULL_SCREEN, "C", T_HK_HELP, "C", T_HK_LANGUAGE, "J", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "N", T_HK_TERMINAL_OPTIONS, "E", T_HK_TWTERM, "T", T_HK_WINDOW, "O", T_HK_XTERM, "X", T_KOI8R_FRAMES, "Rmeky KOI8-R", T_LANGUAGE, "Jazyk", T_LAST, "posledn", T_LINUX_OR_OS2_FRAMES, "Rmeky typu Linux nebo OS/2", T_MEMORY_INFO, "Informace o pamti", T_NO_FRAMES, "Bez rmek", T_NO, "Ne", T_NUMBER_EXPECTED, "Oekvm slo", T_NUMBER_OUT_OF_RANGE, "islo je mimo rozsah", T_OK, "OK", T_OS_SHELL, "Pkazov dka", T_RESTRICT_FRAMES_IN_CP850_852, "Omezen rmeky v cp850/852", T_UTF_8_IO, "UTF-8 vstup/vstup", T_SCREEN, "Screen", T_SETUP, "Nastaven", T_TERMINAL_OPTIONS, "Nastaven terminlu", T_TUCNAK__TACLOG_LIKE, "Tuk " VERSION_STRING "\n\nTACLOGu podobn denk pro VKV/mikrovlnn zvody", T_TWTERM, "Twterm", T_USE_11M, "Pouvat ^[[11m", T_VT_100_FRAMES, "Rmeky VT 100", T_WELCOME1, "Vt T Tuk!", T_WELCOME2, "Prosm zadej svou znaku a loktor:", T_WELCOME, "Vtej", T_XTERM, "Xterm", T_YES, "Ano", T_CANT_APPEND_S, "Nelze pidat na konec souboru %s", T_CANT_WRITE, "Nelze zapsat do souboru", T_CANT_WRITE_S, "Nelze zapsat do souboru %s", T_CANT_READ, "Nelze pesto soubor", T_CANT_READ_S, "Nelze pest soubor %s", T_SAVED_S, "Uloeno %s", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - rychlost CW ", T_CANT_OPEN_S, "Nelze otevt %s", T_CANT_LOCK, "Nelze zamknout soubor", T_CANT_LOCK_S, "Nelze zamknout soubor %s", T_LOADING_CTEST_S, "*** Naten zvod %s", T_NO_FILES, "Neexistuj dn soubory", T_BAND_EXIST_SS, "POZOR! Psmo %s (%s) u existuje", T_BAND_NOT_OPEN, "Psmo nen v tomto zvodu aktivni", T_NO_BANDS, "Neexistuji dn psma", T_CANT_SET_GR_S, "Nelze nastavit grafick md %s", T_GCALL, "Znaka: %s", T_GWWL, "Loktor: %s", T_GQRB, "Vzdlen.: %d km", T_GQTF, "hel: %d st", T_GSEN, "Odeslno: %s %s", T_GRCV, "Pijato: %s %s", T_GTIM, "as: %s", T_GOPE, "Opertor: %s", T_GREM, "Poznmka: %s", T_GWKD, "Wkd: %d", T_GINC, "Zisk azim:%d", T_GLON, "Dl: %7.2f %-6s", T_GLAT, ": %7.2f %-6s", T_GLOC, "Lok: %s", T__PLESE_WAIT_, " Prosm o chvli strpen ", T__RO_BAND, " PSMO POUZE KE TEN", T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVerze " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nTento program je svobodn software; me ho it a/nebo pozmovat podle ustanoven Obecn veejn licence GNU, vydan Free Software Foundation; a to verze 2 a ve tto licence.", T_CTEST_ACTIVE, "Ji existuje aktivn zvod ", T_NO_CTESTS, "dn zvody", T_NO_CCLOSE, "Nen co zavrat", T_REALLY, "Opravdu?", T_CLOSE_CTEST, "Opravdu chce zavt tento zvod?", T_GUI_LD, "Uiv. prosted: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw poloek, %d wc poloek, posledn %d\n", T_EXC, "Exc: %s %d exc poloek, %d exc poloek, posledn %d\n", T_VEXC, "Kontrolovan EXC: %d poloek\n", T_DWI, "D_W: %d prefix, %d zem DXCC, %d tverc\n", T_NAMES, "Names: %d jmen\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Pam:", T_NMY, " J: %s:%d\n", T_NGLOBAL, "Hlav.f: %s:%d\n", T_NMASTER, " f: ", T_NREMOTE, "Vzdlen: ", T_NSLAVES, "\nPodzen:\n", T_NINFO, "Sov informace", T_NO_BANDS_QRV, "dn aktivn psma", T_NO_BANDS_CONF, "dn psma", T_NOT_AVAILABLE, "Nepstupn", T_ADD_SUBWIN, "Pidat okno", T_HK_ADD_SUBWIN, "P", T_CLOSE_SUBWIN, "Zavt okno", T_HK_CLOSE_SUBWIN, "Z", T_HK_NINFO, "S", T_NEW, "Nov", T_HK_NEW, "N", T_NEW_WIZZ, "Prvodce novm zvodem", T_HK_NEW_WIZZ, "P", T_NEW_NET, "Nov ze st", T_HK_NEW_NET, "S", T_OPEN, "Otevt", T_HK_OPEN, "O", T_SAVE, "Uloit", T_HK_SAVE, "U", T_EXPORT_EDI, "Exportovat do EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Exportovat do reportu (VKVPA)", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Exportovat do ADIFu", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Exportovat do CBR", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Exportovat do HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Exportovat do MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Importovat EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Importovat ADIF", T_HK_IMPORT_ADIF, "F", T_IMPORT_SWAP, "Importovat swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Import txt seznamu", T_HK_IMPORT_LIST, "X", T_CONTEST_OP, "Nastaven zvodu", T_HK_CONTEST_OP, "N", T_CLOSE_CONTEST, "Zavt zvod", T_HK_CLOSE_CONTEST, "Z", T_ADD_ERROR, "Pidat chybn spojen", T_HK_ADD_ERROR, "H", T_CHOP, "Zmna opertora", T_HK_CHOP, "O", T_CW_CTEST, "Aktualizovat C_W ze zvodu", T_HK_CW_CTEST, "C", T_CW_BAND, "Aktualizovat C_W z psma", T_HK_CW_BAND, "B", T_EXC_CTEST, "Aktualizovat EXC ze zvodu", T_HK_EXC_CTEST, "P", T_EXC_BAND, "Aktualizovat EXC z psma", T_HK_EXC_BAND, "D", T_IMPORT_EBW, "Importovat DL8EBW databzi", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "Zvod nen", T_NO_PEERS, "Dal Tuci nenalezeni", T_NO_MASTER, "f je nedostupn!", T_CTEST_DEF, "Nastaven zvodu", T_HK_CTEST_DEF, "Z", T_BAND_DEF, "Nastaven psem", T_HK_BAND_DEF, "P", T_HK_RESPOP, "V", T_CW_DAEMON, "Klovn CW", T_HK_CW_DAEMON, "K", T_CW_CQ, "CW vzvy", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB vzvy", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Automatick ukldn", T_HK_AUTOSAVE, "M", T_LOAD_CFG_NET, "Nast nastaven ze st", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Nast C_W ze st", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Uloit nastaven", T_HK_SAVE_CFG, "U", T_CONTEST, "Zvod", T_HK_CONTEST, "Z", T_EDIT, "Edit", T_HK_EDIT, "E", T_BANDS, "Psma", T_HK_BANDS, "B", T_SUBWINS, "Okna", T_HK_SUBWINS, "O", T_BAND_SETTINGS_SC, "Nastaven pro psmo %c %s", T_QRV_ON_THIS_BAND, "QRV na tomto psmu", T_QRV_IN_THIS_CTEST, "QRV v tomto zvod", T_READ_ONLY, "Pouze ke ten", T_MULTI, "Multi", T_SINGLE, "Single", T_CHECK, "Check", T_TXEQUIP, " Vys. zazen:", T_POWER, " Vkon:", T_RXEQUIP, " Pjm. zaz.:", T_ANTENNA, " Antna:", T_AGLASL, "vka zem;moe:", T_OPS, " Opertoi:", T_SPACES1, " ", T_REMARKS, " Poznmky:", T_OK_SECTION_SINGLE, "Kategorie Single v OK", T_OK_SECTION_MULTI, "Kategorie Multi v OK", T_QRG_MIN, "Hranice psma od", T_QRG_MAX, "do [kHz]", T_ADIFBAND, "Nzev psma pro ADIF", T_SKEDQRG, "Frek. pro skedy (lib. formt)", T_BAND_LO, "LO transvertoru [Hz]", T_BANDSW, "Hodnota pepnae psem", T_RESPOP, "Zodpovdn opertor", T_NAME, "Jmno Pjm:", T_CALLSIGN, " Znaka:", T_ADDRESS, " Adresa:", T_POSTCODE, " PS:", T_CITY, " Msto:", T_COUNTRY, " Stt:", T_PHONE, " Telefon:", T_BBSEMAIL, " E-mail:", T_QP0, " --nic -- ", T_QP1, " 1 QSOp*QSOp_m (Standardn IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK Provozn aktiv)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltsk zvody)", T_QP9, " 9 WWL_dist*QSOp_m (Baltsk & seversk poln den)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (distrikty)", T_QP13, "13 kontinent (CQ WW DX Contest)", T_QP14, "14 kontinent+psmo (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --none -- ", T_TP1, " 1 Nsoben (Std. IARU)", T_TP2, " 2 Stan (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "Nov zvod", T_CANT_TRUNC, "Nelze zkrtit soubor s popisem zvodu", T_NAME_OF_CTEST, "Nzev zvodu:", T_CALL_OF_CTEST, "Znaka v zvodu:", T_CLUB_ST, "Klubov znaka:", T_YOURWWL, "Tvj WWL:", T_YOUREXC, "Tvj EXC:", T_DATE_OF_CTEST, "Datum zvodu:", T_QSOUSED, "QSO NR pouito", T_QSOPM, " QSOp nsob.:", T_WWLUSED, "WWL pouito", T_WWLB, "WWL bonus:", T_WWLM, "WWL nsob.:", T_EXCUSED, "EXC pouito", T_EXCB, " EXC bonus:", T_EXCM, "EXC nsob.:", T_EXCNAME, " EXC jmno:", T_PREFM, "PREF nsob:", T_DXCB, " DXC bonus:", T_DXCM, "DXC nsob.:", T_RSTUSED, "RST pouito", T_DEFRS, " Pednast.RS:", T_DEFRST, "Pednast.RST:", T_ALSORSTR, "Tak pro RST-R", T_QP_CALC, " Vpoet QSOp:", T_TO_CALC, "Vpoet celku:", T_EDI_PROP, "EDI poloky", T_RESPOP2, "Odpovdn opertor", T_EDIT_QSO_CD, "Editace spojen %c: %03d", T_CALLSIGN2, " Znaka:", T_CLUB, " Klub:", T_PADR1, " PAdr1:", T_PADR2, " PAdr2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Opertor:", T_DATE, " Datum:", T_MODE, " Md:", T_RSTS, "Odes.RST:", T_RSTR, "Pij.RST:", T_QSONRS, "Ode.spoj:", T_QSONRR, "Pi.spoj:", T_OPTEXCH, " OptExch:", T_WWL, " tverec:", T_REMARK, "Poznmka:", T_QRV2, " QRV on:", T_WKD, " WKD:", T_SEND_SKED, "Poslat sked", T_SELECT, "Vbr ", T_QRG, "Frekvence:", T_WE_CALL, "J volm", T_BAND, " Psmo:", T_TIME, " as:", T_DUPE_QSO, "Duplicitn QSO!", T_CLEAR_THIS_QSO, "Smazat toto QSO", T_EDIT_OLD_QSO, "Editovat star QSO", T_MARK_OLD_QSO, "Oznait star QSO jako ERROR", T_STORE_AS_DUPE, "Uloit toto jako DUPE", T_BAD_CALL, "Tohle nevypad jako znaka", T_N_CALLSIGN, "\nZnaka:", T_AUTOSAVE_OPTS, "Automatick ukldn", T_SAVE_AQ, "Uloit na disk po potu spojen: ", T_SAVE_AM, "Uloit na disk po potu minut: ", T_FSYNC, "Synchronizovat cache s diskem", T_SAVE_AQF, "Uloit na disketu po potu spojen: ", T_SAVE_AMF, "Uloit na disketu po potu minut: ", T_DO_MOUNT, "Pipojit disketu pokud nen v /etc/mtab (N/A)", T_FLOPPY_PATH, "Cesta k disket:", T_MOUNT_CMD, "Pkaz pro pipojen (N/A): ", T_SW_SHELL, "Pk", T_SW_QSOS, "Spoj", T_SW_LOG, "Log", T_SW_TALK, "Talk", T_SW_SKED, "Sked", T_SW_UNFI, "Nedok", T_SW_DXC, "DXC", T_SW_STAT, "Stat", T_SW_MAP, "Mapa", T_SW_SCOPE, "Osc", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Peh", T_SW_CHART, "Graf", T_SHELL, "Pkazov dek", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Talk (rozhovor)", T_SKEDS, "Skedy (dumluven spojen)", T_UNFI, "Nedokonen spojen", T_DXC, "DX Cluster", T_STAT, "Statistiky", T_SWAP, "Swap (N/A)", T_MAP, "Grafick mapa", T_SCOPE, "Osciloskop", T_QRV, "QRV list", T_HF, "KV spojen", T_KST, "KST chat", T_CMD, "Pkaz", T_RESPAWN, "Znovusputn [sek]:", T_UNFI_QSO, "Nedokonen spojen", T_N_REMARK, "\nPoznmka:", T_NO_CQ, "Neexistuj dn vzvy", T_TEXT, "Text:", T_SPEED, "Rychlost [WPM]:", T_REPEAT, "Opakovn", T_DELAY, "ekn [0.1s]:", T_ALLOW_UNDEF, "Povolit i kdy je nkter poloka nevyplnn", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Soubor:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "UDP port:", T_DEVICE, "Klovac zazen:", T_INIT_SPEED, "Poten rychlost [WPM]:", T_INIT_WEIGHT, "Vha CW (30-70):", T_WPMFROM, "Rychlost WPM od", T_WPMTO, "do", T_USE_SPK, "Pout PC speaker", T_LEADIN, "Pedstih PTT [ms]", T_AUTGIVE, "V reimu Run dvat po [znaky]", T_IGN_IFACE_S, "Ignoruji sov rozhran %-5s", T_IGN_ADDR_S, "Ignoruji adresu %s", T_ADD_IFACE_SSD, "Pidno rozhran=%-5s vesmr=%s:%d", T_FORCED_ADDR, "Adresa navc %s", T_TIMESKEW, "POZOR! Detekovn pli velk rozdl asu %d oproti %s:%d !\n", T_DISCONNECTING_SD, "Odpojuji od %s:%d", T_ACCEPTED_SD, "Akceptovno spojen od %s:%d (%s)", T_CONNECTING_SD, "Pipojuji k %s:%d", T_CONNECTED_SD, "Pipojeno k %s:%d", T_DISCONNECTED_SD, "Odpojen od %s:%d", T_LOADED_CFG_SSSS, "Nateno nastaven pro %s %s (%s,%s)", T_LOADED_CW, "Natena C_W databze", T_PEER_NOT_FOUND, "CHYBA! Tuk %s nenalzen", T_CANT_CREATE_HOME_S, "Nelze vytvoit adres %s", T_CANT_LOAD_CFG, "Nelze nast konfiguraci!\nProgram neme pracovat sprvn!", T_ERR_RC, "Dolo k chyb pi ten konfigurku!\nSoubor byl pravdpodobn uloen novjm Tukem !\nRadji neukldej konfiguraci nebo pijde o data v konfigurku!", T_SES_QTR, " as ", T_SES_QRA, " Znaka ", T_SES_RST, " RST-O- RST-P- ", T_SES_QTH, " tverec ", T_SES_QRB, "Body/vzd hel", T_SES_FLG, " Pzn", T_SES_OPE, " Oper ", T_SES_EXC, " Exch ", T_SES_REM, " Poznmka ", T_SES_WELCOME, "Vt t Tuk! ", T_SES_PRESS_F10, "Stiskni F10 pro vstup do menu. ", T_SES_HAVE_FUN, "Uij si.", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "Spoj Spoj-b OptX Locs Zem Celkem-b Prm", T_SES_AVG, "Prm: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " tverce: %d", T_SF_WWLS_UNDER, "----------------", T_SF_EXCS, " EXC poloky: %d", T_SF_EXCS_UNDER, "--------------------", T_SF_MISS_EXCS, " Chybjc EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " Prefixy: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " Zem DXCC: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " Dlan loktory: %d", T_SF_WKD_WWLS_UNDER, "----------------------", T_SF_QSO_WWL4, " Spojen do velkch loktor: %d", T_SF_QSO_WWL4_UNDER, "-----------------------------------", T_SF_STATS_BAND, " Statistiky pro psmo %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Zvod: %s", T_SF_ALLBQSOS, "Spojen na vech psmech: %d", T_SF_ALLBQSOP, "Body za spojen na vech psmech: %d", T_SF_ALLBPTS, "Celkov poet bod: %d", T_SF_QSOS, "Spojen: %d", T_SF_VQSO, "Platn spojen: %d", T_SF_QSOP, "Body za spojen: %d", T_SF_PTS, "Body: %d", T_SF_AVG_PTS, "Prmer bod/spojen: %5.2f", T_SF_AVG_QSOP, "Prmr bod za spojen/spojen: %5.2f", T_BAND_RO, "Psmo je pouze ke ten", T_THIS_BAND, "Toto psmo", T_OTHER_BANDS, "Ostatn psma", T_CW_DB, "C_W databze", T_PROC_EXITED, "*** Proces skonil\n", T_WE_CALL2, "my volme", T_WE_LISTEN, "my poslouchme", T_QSL, "Slben QSL", T_RECORD, " Nahrvn provozu", T_MAXMIN, "Max. doba nahrvn", T_TEMPLATE, "ablona pro nahrvan soubor", T_PCM8, "8 bitov PCM", T_PCM16, "16 bitov PCM", T_ULAW, "u-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Poet kanl", T_SAMPLERATE, "Vzorkovac frekvence", T_FILLOP, "Vypl znaky opertor", T_HK_FILLOP, "V", T_RECAQRB, "Pepoti QRB,QTF", T_HK_RECAQRB, "P", T_NETWORK, "S a trasovn", T_HK_NETWORK, "T", T_IF_IGNORE, "Ignorovat interfejsy:", T_IP_IGNORE, " Ignorovat podst:", T_IP_ANNOUNCE, " Annoncovat do st:", T_TRACE_BCAST, "Trasovat broadcasty ", T_TRACE_SOCK, "Trasovat sockety", T_TRACE_RECV, "Trasovat pijat data", T_TRACE_SEND, "Trasovat odeslan data", T_TRACE_QSOS, "Trasovat spojen", T_TRACE_SDEV, "Trace rotars", T_NOT_MOUNTED_S, "Svazek nepipojen %s", T_RECSRC_NONE, "Nenastavovat", T_RECSRC_MIC, "Mikrofon", T_RECSRC_LINE, "Linkov vstup", T_NEW_CALL, "Nov!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV na %s", T_SKED_QRG, "QRG pro skedy", T_HK_SKED_QRG, "G", T_N_SKED_QRG, "\nQRG pro skedy:", T_GRAB_BAND, "Pevzt psmo", T_HK_GRAB_BAND, "P", T_FORCE_RUN, "RUN md nsiln", T_HK_FORCE_RUN, "R", T_EXPORT_STATS, "Exportovat statistiky", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX spojen:", T_SF_TOP_DX_UNDER, "----------------------", T_ROTAR, "Rottor", T_HK_ROTAR, "R", T_AZIMUTH, " Azimut", T_ELEVATION, "Elevace", T_CH_SPY, "pehovn", T_HK_CH_SPY, "E", T_CH_ENDSPY, "Konec pehovn", T_HK_CH_ENDSPY, "N", T_EXPORT_TITLPAGE, "Exportovat tituln strnku", T_HK_EXPORT_TITLPAGE, "L", T_BREAK_RECORD, "Ukonit nahrvn", T_HK_BREAK_RECORD, "U", T_GLOBAL_OPERATOR, "Zmnit na vech psmech", T_GLOBAL_OPERATOR2, "Globln", T_MAXFRAG, "Max. poet fragment (>=2)", T_PLAY_LAST, "Pehrt posledn nahrvku", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Rzn nastaven", T_HK_MISCOPTS, "R", T_LOGLINES, "dky logu: ", T_SKEDSHIFT, "Posuv skedu (minuty): ", T_STARTBAND, "Psmo po startu: ", T_GFX_X_CH, "Rozlien (znaky):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Rozlien (body):", T_GFX_Y_PX, "x", T_CALL_INFO, "Informace o znace", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSO/hod: %d", T_SF_QSOP_HOUR, "Body/hod: %d", T_SF_QSOP_50QSO, "Body/posl. 50 QSO: %d", T_SF_HOURS, " Hodiny", T_SF_HOURS_UNDER, "----------", T_SF_HOURS_TITLE, "Hodiny Body Spojen prmr bod/QSO", T_QSO_CHECK, "Kontrola spojen", T_HK_QSO_CHECK, "K", T_AUDIO, "Audio", T_HK_AUDIO, "A", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Minimln msto na disku [MiB]", T_FORMAT, "Formt zznamu", T_PCM_PLAY, "Alsa pehrvn", T_PCM_REC, "Alsa zznam", T_PERIOD, "Trvn periody [ms]", T_BUFFER, "Trvn bufferu [ms]", T_ALSA_MIXER, "Alsa mixer", T_CAPTURE, "Zdroj zznamu", T_DSP, "Cesta k /dev/dsp", T_MIXER, "Cesta k /dev/mixer", T_RECSRC, "Zdroj pro zznam", T_PA_PLAY, "Portaudio pehrvn", T_PA_REC, "Portaudio zznam", T_HOSTNAME, "Jmno stroje:", T_SLASHKEY, "Klvesa pro lomtko", T_FIXQRG, "Kalibrovat frekvenci", T_HK_FIXQRG, "K", T_ENTER_QRG, "Zadej pesnou frekvenci QRG [Hz]", T_BAD_QRG, "Chybn zadan frekvence", T_CALLSIGN3, "Znaka", T_CALLSIGN_KST, "Znaka stanice na KST:", T_CANT_INIT_WINKEY_S, "Nelze inicializovat winkey na %s", T_WINKEYOPTS, "Nastaven Winkey", T_WK_WK2, "Rychl inicializace Winkey2", T_WK_USEPOT, "Pout potenciometr", T_WK_USEBUT, "Pout tlatka", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Run kl", T_WK_SWAP, "Prohodit pastiku (levk)", T_RIGOPTS, "Rdio", T_HK_RIGOPTS, "I", T_RIG_DEVICE, "Port:", T_RIG_MODEL, "Hamlib model", T_RIG_SPEED, "Baudov rychlost: ", T_RIG_CIV, "Adresa CI-V (hex)", T_RIG_FREQSHIFT, "Frek. posun SSB->CW", T_RIG_CHOOSE, "Vybrat", T_ROTAROPTS, "Rottory", T_HK_ROTAROPTS, "O", T_DSSAVER, "Vypnout spoi obrazovky", T_DESC, "Popis", T_ROT_NONE, "Nic", T_ROT_OK1ZIA_TTYS, "OK1ZIA sr. port", T_ROT_OK1ZIA_FTDI, "OK1ZIA USB", T_ROT_HAMLIB, "Hamlib", T_ROT_REMOTE, "Remote", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Sr. slo #", T_ROT_ADD, "Pidat nov rottor", T_HK_ROT_ADD, "P", T_ROT_REMOVE, "Smazat rottor", T_HK_ROT_REMOVE, "S", T_TIMEOUT, "asov limit:", T_BEAMWIDTH, "ka laloku", T_SADDR, "Komunikan adresa:", T_MODEL, "Model:", T_ROT_REM_ROTSTR, "Psmeno pro vzdlen rottor", T_QSOGLOB, "Globln slo spojen", T_PREFGLOB, "Globl prefix", T_NOT_RECORDING_S, "Nezaznamenv se - %s", T_SKEDCOUNT, "Poet sked v popup okn: ", T_FONTHEIGHT, "Vka fontu (16-32): ", T_RIG_POLL_MS, "Interval dotaz [ms]: ", T_RIG_QRG_R2T, "Zmnit psmo z rdia", T_RIG_QRG_T2R, "Zmnit psmo na rdiu", T_RIG_MODE_T2R, "Zmnit md na rdiu", T_RUN_MODE, "Run md", T_HK_RUN_MODE, "U", T_SP_MODE, "Vyhledvac md", T_HK_SP_MODE, "V", T_RIG_CLR_RIT, "Smazat RIT po uloen QSO v reimu Run", T_RIG_DEBUG, "Chybov vpis rdia", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Psmo QSO Body Nso", T_HF_SUM, "Sum:", T_HF_LAST, "Posl. Q-%s B-%s", T_EVEN, "TX sud", T_HK_EVEN, "S", T_ODD, "TX lich", T_HK_ODD, "L", T_1ST, "TX prvn periodu", T_HK_1ST, "P", T_2ND, "TX druh perioda", T_HK_2ND, "D", T_HF_SCORE, "Skre:", T_EXPMODE, "Expedin md", T_TTTYPE, "Jen slice jsou", T_ROT_POLL_MS, "Interval dotaz [ms]:", T_VERSION, "Verze", T_HK_VERSION, "V", T_REMOTE_HOST, " Vzdlen stroj:", T_REMOTE_PORT, "Vzdlen TCP port:", T_REMOTE_PASS, " Vzdlen heslo:", T_STARTING_AC, "Spoutm A/C", T_STOPPING_AC, "Ukonuji A/C", T_ASL_5D_M, "Vka: %5d m", T_SPEED4D_KMH, "Rychlost:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Trvn: %ld", T_EXPORTING_S, "Exportuji %s", T_CANT_OPEN_ALSA_PCM_S_S, "Nelze otevt zvukovku Alsa '%s': %s", T_EXPORTING, "Exportuji ...", T_TERMINATING_CONVERSION_TABLES, "Ukonuji konverzn tabulky", T_LOADING_CHARTS, "Natm grafy", T_INITIALIZING_CWPTT_CONTROL, "Inicializuji klovn CW/PTT", T_NO_PPDEV, "Nen zakompilovna podpora pro klovn paralelnm portem", T_NO_DAVAC4_SUPPORT, "Nen zakompilovna podpora pro Dva 4, zkontrolujte libftdi", T_CANT_CREATE_PIPE, "Nelze vytvoit rouru", T_TERMINATING_CWDAEMON, "Ukonuji klovn CW/PTT", T_INIT_CWDB, "Inicializuji databazi loktor", T_TERM_CWDB, "Ukonuji databzi loktor", T_LOADING_CWDB, "Natm databzi loktor", T_QRV_ON, "QRV na: ", T_CANT_INIT_FTDI, "Chyba pi inicializaci knihovny libftdi pro Dva 4", T_CANT_OPEN_DAVAC4, "Nemohu otevt USB zazen %04x:%04x pro Dva 4, chyba %d %s", T_CANT_SET_BAUDRATE, "Nemohu nastavit rychlost pro Dva 4, chyba=%d %s", T_CANT_ENABLE_BITBANG, "Nemohu zapnout bitbang reim, chyba=%d %s", T_CANT_WRITE_TO_DAVAC4, "Chyba pi zpisu do Dvae 4, chyba=%d %s", T_INIT_SOUNDCARD, "Inicializuji zvukovou kartu", T_NO_OSS, "Podpora OSS nen zakompilovna", T_NO_ALSA, "Podpora Alsa nen zakompilovna", T_NO_PORTAUDIO, "Podpora Portaudio nen zakompilovna", T_NO_SNDFILE, "Podpora Libsndfile nen zakompilovna", T_NO_SNDPIPE, "Podpora pro Sndpipe nen zakompilovna", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Inicializuji DXCC databzi", T_FREE_DWDB, "Ukonen DXCC databzi", T_LOAD_DWDB, "Natm DXCC databzi", T_CALLSIGN_UNKNOWN, "Znaka je neznm v C_W databzi\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Neznm DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Nesouhlas prefix and velk loktor\n", T_KNOWN_CALL_UNK_LOC, "Znm znaka z neznmho loktoru\n", T_CALL_WITHOUT_P, "Znaka je bez /P a v C_W existuje znaka s /P\n", T_CALL_WITHOUT_D, "Znaka je bez /%d a v C_W existuje znaka s /%d\n", T_CALL_IS_WITH_P_AND, "Znaka je s /P a v C_W existuje znaka bez /P nebo CEPT prefixu\n", T_OTHER_SIMILAR_CALL_KNOWN, "Nalezeny dal podobn znaky z tohoto loktoru. Mon %s?\n", T_CALL_ON_BAND_S, "Znaka na psmu %s je %s\n", T_LOCATOR_ON_BAND, "Loktor na psmu %s je %s\n", T_QSO_CHECK_LIST, " Tuk - vpis kontroly spojen\n", T_CALL_SN, " Znaka: %s\n", T_CONTEST_SN, " Zvod: %s\n", T_DATE_SN, " Datum: %s\n", T_CHECKING_S, "Kontroluji %s", T_BAND_C_SN, " Psmo %c %s\n", T_SEEMS_TO_BE_OK, "Zd se bt O.K.\n", T_CW_NOT_FOUND, "C_W: %s nenalezen\n", T_0X_NOT_IN_DB, " 0x (nen v databzi)", T_NAME_IS, "Jmno: %s - jmno je %s\n", T_NAME_UNKNOWN, "Name: %s - jmno neznm\n", T_INIT_DXC, "Inicializuji DX cluster", T_FREE_DXC, "Ukonuji DX cluster", T_HK_SELECT, "V", T_HIDE, "Skrt", T_HK_HIDE, "S", T_INFO, "Informace", T_HK_INFO, "I", T_USE, "Pout", T_HK_USE, "P", T_BAD_DXC_PORT, "*** Chybn TCP port pro DX cluster %s ***\n", T_ENTER_TO_DXC, "\n*** Stiskni ENTER pro pipojen k DXC ***\n", T_CANT_RESOLVE, "*** Nemohu zjistit IP adresu %s: %s ***\n", T_HOST_RESOLVED, "*** IP adresa zjitna ", T_CANT_CREATE_SOCKET, "*** Nemohu vytvoit soket. %s ***\n", T_CONNECTING_TO, "*** Pipojuji k %s ***\n", T_CANT_CONNECT_TO, "*** Nemohu se pipojit k %s, %s ***\n", T_CONNECTED_SOCKET, "*** Pipojuji k soketu %d ***\n", T_ERROR_READING_SOCKET, "*** Chyba pi ten soketu: %s ***\n", T_DISCONNECTED, "\n*** Odpojeno ***\n", T_RESOLVING, "*** Zjiuji IP adresu %s ***\n", T_LOADED_LOCS_NAMES, "Nateno %d loktor a %d jmen z %s", T_SAVED, "Uloeno %s", T_LOADING_CONTEST, "Natm zvod %s", T_LOADING_LOGFILE, "Natm log", T_LOADING_TALK, "Natm talk", T_SEARCH_FILES, "Vyhledvm soubory se zvodem", T_LOADING_BAND, "Natm psmo %s", T_LOADING_SPY, "Natm mrovn", T_LOADING_HICALLS, "Natm zvraznn", T_LOADING_QRV, "Natm QRV databzi", T_LOADING_CHART, "Natm grafy", T_SAVING_CONTEST, "Ukldm zvod", T_UPD_INT_DATA, "Aktualizuji intern data", T_CALC_STATS, "Vypotvm statistiky", T_ANN_OVER_NET, "Anoncuji po sti", T_ACTIVATING_BAND, "Aktivuji psmo %s", T_UPDATING_WKD, "Aktualizuji dlan znaky", T_UPDATING_QRBQTF, "Aktualizuji vzdlenosti a azimuty", T_UPDATING_GAIN, "Aktualizuji graf zisku", T_SEN_OVER_NET, "Poslm informaci po sti", T_INIT_EXCDB, "Spoutm EXC databzi", T_FREE_EXCDB, "Ukonuji EXC databzi", T_INIT_FFT, "Spoutm Fourierovu analzu", T_FREE_FFT, "Ukonuji Fourierovu analzu", T_INIT_ROTAR, "Spoutm rottory", T_FREE_ROTAR, "Ukonuji rottory", T_LOCATOR, "Loktor:", T_BAND2, "Psmo", T_POINTS, "Body", T_AVG, "Prmr", T_INIT_HTTPD, "Spoutm HTTP server", T_FREE_HTTPD, "Ukonuji HTTP server", T_NO_CONTEST_OPENED, "

dn zvod nen oteven

\n", T_NO_CONTEST_OPENED2, "dn zvod nen oteven", T_STATS, "Statistiky", T_BAND_NOT_FOUND, "Psmo nenalezeno", T_BAND_C_NOT_FOUND, "

Psmo %c nenalezeno

", T_QSOS_IN_DATABASE, "spojen v databzi", T_TUCNAK_ONLINE_LOG, "Tuk - online log", T_DATE2, "Datum", T_UTC, "UTC", T_CALL, "Znaka", T_CALL_NOT_FOUND, "Znaka nenalezena", T_CANT_LOAD_INPOUT, "Chyba pi natn inpout32.dll, chyba %d", T_FREE_TERM, "Ukonuji terminl", T_TERM_KEYMAPS, "Ukonuji mapovn klves", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AkKST", T_HK_ACKST, "A", T_MISTAKE, "Omyl", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Sked - dost", T_HK_ASK_FOR_SKED, "S", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Zprva", T_HK_MESSAGE, "Z", T_AC_INFO, "AS informace", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Posln sel po KST je zakzno\n", T_RESOLVED, "*** IP adresa zjitna ", T_ENTER_TO_CONNECT_KST, "\n*** Stiskni ENTER pro pipojen k ON4KST ***\n", T_SENDING_SH_US, "*** Poslm /sh us ...\n", T_SKIP_LINE, "Peskakuji dek %d '%s'", T_CANT_CREATE_HOME, "Chyba pi vytven domovskho adrese '%s'", T_MUST_BE_DIR_MODE, "'%s' mus bt adres (md 0%oo)", T_TUCNAK_DIRECTORY_IS, "Adres Tuka je %s", T_INIT_MAP, "Spoutm polrn mapu", T_DISABLE_SAVER, "Vypnm eti obrazovky", T_STARTING_TUCNAK, "Startuji Tuka", T_FREE_MAP, "Ukonuji polrn mapu", T_INIT_MASTERDB, "Spoutm master databzi", T_FREE_MASTERDB, "Ukonuji master databzi", T_LOAD_MASTERDB, "Natm master databzi", T_TUCNAK_SVN_LIBZIA_SVN, "Tuk SVN verze: %s\nLibzia SVN verze: %s", T_DIRECTORY_SCAN, "Natn adrese", T_V3_COMPATIBILITY, " (kompatibilita s v3)", T_RELOAD_INTERFACES, "Nast rozhran", T_SET_READONLY, "Psma pouze ke ten", T_CHANGE_TYPE, "Zmnit typ", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Otevt pipojen", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Ukonit pipojen", T_HK_KILL_CONNECTION, "U", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Exportovat do TXT", T_ADD_CONTEST, "Pidat zvod", T_HK_ADD_CONTEST, "P", T_ADD_FILES, "Pidat soubor(y)", T_HK_ADD_FILES, "S", T_ADD_CONTESTS, "Pidat zvody", T_HK_ADD_CONTESTS, "Z", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Test reakce na pd", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Test vnitn chyby", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Uloit hashe spojen", T_HK_DUMP_RW_BANDS, "H", T_UPDATE, "Aktualizovat program", T_HK_UPDATE, "A", T_SETTINGS, "Nastaven", T_HK_SETTINGS, "N", T_UPLOAD_TO_VHFNET, "Nahrt denky na Moravany", T_HK_UPLOAD_TO_VHFNET, "M", T_UPLOAD_TO_SLOVHF, "Nahrt live skre na slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Nahrt report na MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "O", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "VOIP mrovn", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "Konec VOIP mrovn", T_HK_END_VOIP_SPY, "K", T_OLD_TEST_NO_SPY, "Zvod je star, nelze mrovat", T_NETWORK_SCAN, "Skenuji s", T_HTTPD_OPTIONS, "Nastaven HTTPD", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Letadla (AS)", T_HK_AC_OPTIONS, "L", T_SDR_OPTIONS, "SDR nastaven", T_HK_SDR_OPTIONS, "a", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Jin:", T_NONE, "Nic ", T_RSTS2, "RST-Od", T_RSTR2, "RST-P", T_QSONRR2, "QSO-P", T_EXC2, "EXC", T_UNUSED, "Nepouit", T_USED_6, "Poui.(6)", T_OPT_6, "Volit.(6)", T_USED_4, "Poui.(4)", T_OPT_4, "Volit.(4)", T_FREE, "Voln ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Oven", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Potvrdit WWL", T_CONFIRM_EXC, "Potvrdit EXC", T_FONT_SIZE, "Velikost fontu: ", T_DXC_HOSTNAME, "DXC stroj:", T_TCP_PORT, "TCP port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC uivatel:", T_PASSWORD, "Heslo:", T_KST_USERNAME, "KST uivatel:", T_KST_YOURNAME, "KST jmno:", T_SLOVHF_USER, "SLOVHF uiv.:", T_SDR, "SDR", T_PARPORT, "paraleln", T_TTYS, "sriov", T_TTYSSINGLE, "sriov 1 pin", T_AUDIO_SUBSYSTEM, "Audio subsystm:", T_PLAYBACK_VOLUME, "Hlasitost pehrvn", T_CAPTURE_VOLUME, "Hlasitost zznamu", T_ENABLE_REMOTE_CONNECT, "Povolit pipojen ke vzdlenmu", T_TRACE_RIG, "Trasovat rdio", T_TRACE_KEYS, "Trasovat klvesy", T_SAVE_RESTART, "Muste uloit konfiguraci a restartovat Tuka", T_FULLSCREEN, "Na celou obrazovku", T_TOUCH, "Dotykov ovldn", T_ALT_QWER, "Alt pepne QWER.. na 1234..", T_NO_LOCKS, "Nezamykat porty", T_PORTRAIT_ORIENTATION, "Orientace na vku", T_REVERSE, "Obrcen", T_CHOOSE_RIG, "Vybrat rdio", T_RIG_D, "Rdio %d", T_NEW_RIG, "Nov rdio", T_ENABLED, "Povoleno", T_SET_PTT_ON_RADIO, "Zapnout PTT na rdiu", T_DISABLED, " (zakzno)", T_ADD_RIG, "Pidat rdio", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rottor %d", T_ENABLE, "Povolit", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Zobrazit privtn informace", T_REFRESH, "Interval obnoven", T_LOAD_FROM_NET, "Nast ze st", T_LOAD_CWDB, "Nast C_W databzi", T_LOAD_NAMEDB, "Nast databzi jmen", T_LOAD_QRVDB, "Nast QRV databzi", T_READONLY_BANDS, "Psma pouze ke ten", T_ENABLE_AC, "Povolit AS", T_AC_URL, "Alternativn URL pro data z radaru", T_K_FACTOR, "K_faktor troposfry", T_AC_AREA_WIDTH, "ka odrazn oblasti v km", T_AC_EL_ANGLE, "Minimln hel elevace", T_AC_MAX_EL_ANGLE, "Maximln hel elevace", T_AC_MIN_DURATION, "Minimln doba odraz [s]", T_AC_MAX_DIFF, "Max. rozdl odrazovch hl", T_BAD_NUMBER_RANGE, "Chybn rozsah sla", T_AF_SRATE_GREATER_SRATE, "Vzork. kmit. audia neme bt vy ne vzork. kmitoet", T_SRATE_DIVISIBLE, "Vzork. kmitoet mus bt dliteln audio vzork. kmitotem", T_NO_DEVICE, "dn zazen", T_IQ_SOURCE, "Zroj IQ signlu:", T_WAV_FILE, "Soubor WAV", T_WAV_FILE_NAME, "Jmno WAV souboru", T_AF_OUTPUT, "Audio vstup:", T_AF_SAMPLE_RATE, "Vzork. kmit. audia", T_BLOCK_SIZE, " Velikost bloku", T_CW_FILTER, " CW filtr od", T_TO_HZ, "do [Hz]", T_SSB_FILTER, " SSB filtr", T_INIT_NAMEDB, "Spoutm databzi jmen", T_FREE_NAMEDB, "Ukonuji databzi jmen", T_LOAD_NAMEDB2, "Natm databzi jmen", T_INIT_NET, "Spoutm s", T_FREE_NET, "Ukonuji s", T_ONLY_55555_CAN_REMOTE, "Pouze Tuk s portem 55555 se me pipojit ke vzdlenmu kvli prevenci routovacch smyek", T_CANT_CONNECT_TO_MYSELF_LO, "Nemohu se pipojit sm na sebe (rozhran lo)", T_CANT_CONNECT_TO_MYSELF, "Nemohu se pipojit sm na sebe (rozhran %s)", T_CANT_PARSE_REMOTE_HOST_S, "Nelze zjistit IP adresu vzdlenho Tuka %s", T_TIME_WAS_SET, "as byl nastaven", T_FAILED_TO_SET_TIME, "Chyba pi nastaven asu", T_INIT, "INICIALIZUJI", T_CONNECTING, "PIPOJUJI", T_CONNECTED, "PIPOJENO", T_WAIT_ACK, "EK.POTVRZ", T_DISCONNECTED2, "ODPOJENO", T_DEAD, "MRTV", T_LONG_XFER, "DLOUH.PENOS", T_AUTHENTICATED_USER_S, "Oven uivatel %s", T_BAD_AUTHENTICATION_S, "Chyba oven %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Zaal dlouh penos, prosm EKEJTE", T_LONG_TRANSFER_FINISHED, "Dlouh penos dobhl", T_INIT_NTP, "Spoutm monitorovn NTP", T_FREE_NTP, "Ukonuji monitorovn NTP", T_NO_NTP, "POZOR! as na tomto stroji nen synchronizovn. Prosm pouijte NTP.", T_INIT_SPEAKER, "Spoutm PC speaker", T_FREE_SPEAKER, "Ukonuji PC speaker", T_CANT_PLAY, "Chyba pi pehrvn %s - %s", T_CANT_SEEK_TO_END, "Chyba pi nastaven ukazatele na konec souboru %s - %s", T_CANT_SEEK_TO_START, "Chyba pi nastaven ukazatele na zatek souboru %s - %s", T_CANT_OPEN, "Chyba pi oteven %s %s", T_TIP_MKNOD, "Tip: spuste jako root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: spoute jako root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Chyba pi pepnut %s do EPP mdu %s", T_CANT_EXCLUSIVE_ACCESS, "Chyba exkluzivnho pstupu k %s %s", T_CANT_CLAIM, "Nelze zabrat %s %s", T_INIT_QRVDB, "Spoutm QRV databzi", T_FREE_QRVDB, "Ukonuji QRV databzi", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AkKst", T_START, "Start", T_DUR, "Trv", T_NR, "s", T_TEXT2, "Text", T_16_SORT, "1-6: azen, ", T_A_ALL, "A: ve", T_ENTER_SPACE_EDIT, ", Enter, Mezera, E: editovat, Insert, Delete, U: obnovit, /: hledat", T_LOAD_QRVS, "Natm QRV", T_UNSPECIFIED, "nespecifikovno", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBo CWp", T_CWS_SSBR, "CWo SSBp", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "Pidna chyba na psmo %c, slo spojen %d\n", T_FOUND_D_ERRORS, "Dolo k %d chybm%s pi ten %s", T_FOUND_D_ERRORS_RC_NET, "Dolo k %d chybm pi ten konfigurace ze st", T_REGISTRATED_ROTATORS, "Registrovan rottory:", T_UNSUPPORTED_ROTATOR, "Nepodporovan typ rottoru %d\n", T_WAIT_HL_ROT_THREAD, "ekm na vlkno hamlib rottoru", T_INIT_ROTARS2, "Spoutm rottory", T_UNKNOWN_ROTAR, "Neznm rottor '%s'\n", T_ROTAR_ERROR_S, "Chyba rottoru: %s", T_CANT_RECORD_FROM_SDR_DSP, "Chyba zznamu ze SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Chyba pehrvn na SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Chyba oteven (pehrvn) virtuln zvukovky", T_CANT_READ_FROM, "Chyba ten z", T_CANT_WRITE_TO, "Chyba zpisu do", T_MULTIPLIED_WWLS_D, " Nsobiov loktory: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Aktualizace", T_ENTER_TO_KST, "*** Stiskni ENTER pro pipojen k ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Chybn jmno aktualizanho balku", T_CANT_EXECUTE_INSTALLER, "Chyba sputn instaltoru, ", T_UPDATE_OF_TUCNAK_FAILED, "Aktualizace Tuka selhala", T_UPDATE_FAILED, "Aktualizace selhala", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Aktualizace selhala, neznm formt odpovdi.", T_UPDATE_OF_TUCNAK_FAILED_S, "Aktualizace Tuka selhala. %s", T_NEW_VERSION_AVAIL, "K dispozici je nov verze %s. Aktualizujte v menu Soubor, Aktualizace.", T_NO_NEW_VER, "Novj verze nen k dispozici.", T_READING_LIST_OF_OPENED_CONTESTS, "tu seznam otevench zvod...", T_CHOOSE_CONTEST, "Vybrat zvod", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "Neexistuje zvod k uploadu", T_OBTAINING_CONTEST_WEB_FORM, "Zskvm formul zvodu...", T_ALL_EDI_FILES_PROCESSED, "Vechny EDI soubory byly zpracovny.", T_UPLOADING_LOG_FILE_S, "Uploaduji soubor denku %s ...", T_UPLOADING_BAND_S, "Uploaduji psmo %s", T_CONFIRMING_LOG, "Potvrzuji denk...", T_RESULT_ERROR, "*** CHYBA, prosm pette si chybov hlen ve", T_LOG_IS_NOT_VALID, "Denk nen platn. Prosm zkontrolujte chybov hlen a opakujte: %s", T_DOWNLOADING_CLAIMED_SCORES, "Natm nahlen vsledky...", T_LOGS_UPLOADED, "Upload denk dokonen.", T_HTTP_STATUS, "Stav HTTP: ", T_LOG_UPLOAD, "Upload denku", T_VOIP_NO_INITIALIZED, "VOIP nebylo inicializovno", T_PAGE_NAME, "Nzev strnky", T_OVERWRITE_EXISTING_FILES, "Pepsat existujc soubory", T_SITE_URL, "URL webovch strnek", T_USERNAME, "Uivatel", T_PASSWORD2, " Heslo", T_EXPORT_MAP, "Exportovat mapu", T_EXPORT_CHART, "Exportovat graf", T_MEDIAWIKI_UPLOAD2, "Upload na Mediawiki", T_BAD_AUTH_USER, "Chybn uivatel %s != %s", T_BAD_AUTH_PASS, "Chybn heslo %s != %s\n", T_CTEST_NOT_SAME_AC, "Zvody nejsou stejn: Formt AC paketu", T_CANT_GET_FMTS, "Chyba pi zjitn podporovanch audio formt: %s", T_CANT_SET_FMT, "Chyba pi nastaven audio formtu %d, doporuen %d: %s", T_CANT_SET_FMT_RET, "Chyba pi nastaven doporuenho audio formtu %d, vsledek %d: %s", T_CANT_SET_FALLBACK, "Chyba pi nastaven nouzovho audio formtu %d, vsledek %d: %s", T_CANT_SET_CHANNELS, "Chyba pi nastaven kanl %d, doporueno je %d: %s", T_CANT_SET_CHANNELS_RET, "Chyba pi nastaven doporuench kanl %d, vsledek %d: %s", T_CANT_SET_RATE, "Chyba pi nastaven vzorkovn %d, doporueno %d: %s", T_CANT_SET_RATE_RET, "Chyba pi nastaven doporuenho vzorkovn %d, vledek %d: %s", T_CANT_SET_BLOCK_SIZE, "Chyba pi nastaven velikosti bloku %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Neznm zazen PortAudio %d", T_CANT_OPEN_PA_STREAM, "Chyba pi oteven zazen PortAudio %d pro %s: %s", T_RECORD2, "zznam", T_PLAYBACK, "pehrvn", T_CANT_PA_STREAM, "Chyba %s zazen PortAudio %d: %s", T_CANT_STOP_PA, "Chyba pi zastaven zazen PortAudio: %s", T_CANT_CLOSE_PA, "Chyba pi zaven zazen PortAudio: %s", T_TIP_RMMOD, "Tip: zkuste spustit jako root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: nebo zabijte procesy vypsan \"lsof %s\"", T_CANT_SET_STROBE, "Chyba pi nastaven parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Neznm slo rottoru %d nebo chyba inicializace", T_CANT_CREATE_HL_ROT_THR, "Nelze vytvoit vlkno pro rottor\n", T_INIT_SERIAL_DEVICES, "Spoutm sriov zazen", T_BAD_CHECKSUM, "Chybn kontr. souet", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Chybn odpov", T_UNKNOWN_FUNCTION, "Neznm funkce", T_UNKNOWN_ERROR_CODE, "Neznm chybov kd", T_CANT_CREATE_SDR_THR, "Chyba pi vytven vlkna pro SDR\n", T_WAIT_FOR_SDR_THR, "ekm na ukonen vlkna SDR", T_QSO_REQ_FROM_SP, " dost o QSO od S&P ", T_QSO_REQ_SENT, " dost o QSO poslna RUNu ", T_GO, " Je! ", T_LOCATION_UNKNOWN, "Neznm poloha", T_DEGREE, "st.", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s v %-6s (%dkm, %d%s) v %s %s", T_CANT_OPEN_FILE_S_S, "Chyba pi oteven souboru '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Chyba pi oteven zvukov roury", T_INIT_SSB_CQ, "Spoutm SSB vzvy", T_FREE_SSB_CQ, "Spoutm SSB vzvy", T_NO_FILE, "Soubor nebyl specifikovn", T_UNSUP_CHANNELS, "Nepodporovan poet kanl = %d", T_FLOAT_UNSUPP, "Soubory v plovouc dov rce nejsou podporovny", T_CANT_OPEN_DSP_PLAY, "Chyba pi pehrvn na DSP %s", T_REC_DISABLED, "zznam zakzn", T_CONTEST_TOO_OLD, "zvod je pli star", T_NO_FREE_DISK_SPACE, "Nedostatek volnho msta na disku pro %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Chyba pi zpisu do souboru %s: %s", T_CANT_OPEN_DSP_REC, "Chyba pi zznamu z DSP %s", T_NO_DISK_SPACE, "Nedostatek volnho msta na disku pro soubor", T_CANT_PLAY_FILE, "Chyba pi pehrt souboru %s - %s", T_CANT_WRITE_SS, "Chyba pi zpisu do souboru %s - %s", T_NO_LAST_SAMPLE_RECORDED, "Neexistuje dn posledn nahrvka", T_NO_MACRO_IN_TEMPLATE, "V SSB ablon chyb makro %%", T_NEW_WINDOWS_3, "Pozor, od verze 3.00 existuj typy oken speciln pro DX cluster a ON4KST.\nPoskytuj mnohem lep funknost ne shell.\n\n", T_ENTER_TO_DXC2, "*** Stiskni ENTER pro pipoje k DXC ***", T_LOADING_S, "Natm %s", T_INVALID_WINDOW_TYPE, "Chybn typ okna %d\n", T_INIT_RIG, "Spoutm ovldn rdia %d", T_RIG_ERROR, "Chyba rdia: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Chyba pi vytven vlkna pro rdio\n", T_FREE_RIG, "Ukonuji ovldn rdia %d", T_WAIT_FOR_RIG_THR, "ekm na vlkno rdia", T_INVALID_PARAM, "Neplat.parametr", T_RIG_INVALID_CONFIG, "Chy.konfigurace", T_RIG_NOT_ENOUGH_MEM, "Nedostat.pamti", T_RIG_NOT_IMPLEMENTED, "Neimplementovn", T_RIG_COMM_TIMEOUT, "Timeout pkazu", T_RIG_IO_ERROR, "Chyba I/O ", T_RIG_INTERNAL_ERROR, "Vnitn chyba ", T_PROTOCOL_ERROR, "Chyba protokolu", T_RIG_COMMAND_REJECT, "Pkaz odmtnut", T_RIG_ARG_TRUNCATED, "Argume. zkrcen", T_RIG_F_NOT_AVAILABLE, "Funk.nedostupn", T_RIG_VFO_NOT_TARGET, "VFO neexistuje ", T_RIG_ERROR_ON_BUS, "Ch. na sbrnici", T_RIG_BUS_COLLISION, "Kolize sbrnice", T_RIG_INVALID_ARG, "Neplat.argument", T_RIG_INVALID_VFO, "Chybn VFO ", T_RIG_ARG_OUT_OF_DOM, "Arg.mimo domnu", T_ERROR_D, "Chyba %d", T_CANT_SET_GRAPHICS1, "Chyba pi nastaven grafickho reimu (SDL_Init)", T_CANT_SET_GRAPHICS2, "Chyba pi nastaven grafickho reimu", T_WAIT_SDL_THR, "ekm na SDL vlkno", T_FREE_GRAPHICS, "Ukonuji grafick reim", T_CANT_GET_LIST_OF_CONTESTS, "Chyba pi stahovn seznamu zvod: %s", T_CANT_GET_UPLOAD_FORM, "Chyba pi stahovn formule: %s", T_CANT_READ_LOG_FILE, "Chyba pi ten souboru s denkem %s", T_CANT_UPLOAD_LOG, "Chyba pi uploadu denku: %s", T_CANT_CONFIRM_LOG, "Chyba pi potvrzen denku: %s", T_CANT_GET_CLAIMED_SCORES, "Chyba pi stahovn deklarovanch vsledk: %s", T_ANT_OPEN_DSP_PLAY, "Chyba pi pehrvn na DSP %s", T_CALL2, "Znaka:", T_QTH, "QTH:", T_DATE3, "Datum:", T_QSOS2, "Spojens:", T_POINTS2, "Body:", T_WWLS, "Loktory:", T_DXCCS, "DXCC:", T_AVG2, "Prm:", T_PTSQSO, "bod/qso", T_TOP_10_CALLS, "Top 10 znaek", T_OPERATOR2, "Opertor", T_MODE2, "Md", T_TOP_10_WWLS, "Top 10 loktor", T_CANT_UPLOAD_FILE_S, "Chyba pi uploadu souboru: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Chyba pi uploadu strnky, wiki vrtila: %s", T_FILE_ALREADY_EXISTS, "Soubor ji existuje: %s", T_CANT_UPLOAD_PAGE_RET, "Chyba pi uploadu strnky, wiki vrtila: %s", T_CANT_EDIT_PAGE, "Chyba pi editaci strnky: %s", T_CANT_EDIT_PAGE_RET, "Chyba pi editaci strnky, wiki vrtila: %s", T_CANT_EDIT_PAGE_RET2, "Chyba pi editaci strnky, wiki vrtila: %s", T_EDITING_CONTEST_PAGE, "Edituji strnku se zvodem...", T_ALL_DONE, "Ve dokoneno.", T_UPLOADING_FILE, "Uploaduji soubor %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Neznm soubor pro upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Chyba pi zskvn editanho tokenu: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Chyba pi zskvn editanho tokenu, wiki vrtila: %s", T_QUERYING_EDIT_TOKEN, "Zskvm editan token", T_CANT_LOGIN, "Chyba pi pihlen (2): %s", T_CANT_LOGIN2, "Chyba pi pihlen (2), wiki vrtila: %s", T_CANT_LOGIN1, "Chyba pi pihlen (1): %s", T_LOGGING_IN, "Pihlauji...", T_EXPORTING_FILES, "Exportuji soubory...", T_INIT_WIZZ, "Spoutm contest wizard", T_FREE_WIZZ, "Terminating prvodce zvody", T_LOAD_WIZZ_DATA, "Natm data pro prvodce zvody", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Fze zvodu", T_HK_PHASE, "F", T_ENTER_PHASE, "Nov fze zvodu: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/italian.lng0000644000175000017500000012077614001016251012744 00000000000000T__CHAR_SET, "us-ascii", T__LANGUAGE, "Italiano", T_ABOUT, "A proposito", T_BAD_NUMBER, "Numero errato", T_BAD_STRING, "Stringa errata", T_BASIC_HELP, "Premi F10 per il menu.\nBuon divertimento.", T_BLOCK_CURSOR, "Blocco cursore", T_CANCEL, "Cancella", T_CHARACTER_SET, "Set di caratteri", T_COLOR, "Colore", T_COPYING, "Copiando", T_DIFFERENCE, "differenza", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Vuoi veramente uscire da Tucnak?", T_EMPTY_STRING_NOT_ALLOWED, "Stringa vuota non permessa", T_ERROR, "Errore", T_WARNING, "Attenzione", T_EXIT, "Uscita", T_EXIT_TUCNAK, "Esci da Tucnak", T_FILE, "File", T_FULL_SCREEN, "Schermo pieno", T_HELP, "Aiuto", T_HK_ABOUT, "A", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "H", T_HK_COPYING, "C", T_HK_EXIT, "X", T_HK_FILE, "F", T_HK_FULL_SCREEN, "F", T_HK_HELP, "H", T_HK_LANGUAGE, "L", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "S", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "W", T_HK_XTERM, "X", T_KOI8R_FRAMES, "Cornici KOI8-R", T_LANGUAGE, "Lingua", T_LAST, "Ultimo", T_LINUX_OR_OS2_FRAMES, "Cornici Linux o OS/2", T_MEMORY_INFO, "Informazioni sulla Memoria", T_NO_FRAMES, "Senza Cornici", T_NO, "No", T_NUMBER_EXPECTED, "Numero di campi attesi", T_NUMBER_OUT_OF_RANGE, "Numero fuori intervallo", T_OK, "OK", T_OS_SHELL, "OS shell", T_RESTRICT_FRAMES_IN_CP850_852, "Limita le Cornici a cp850/852", T_UTF_8_IO, "UTF-8 Input/Output", T_SCREEN, "Schermo", T_SETUP, "Impostazioni", T_TERMINAL_OPTIONS, "Opzioni Terminale", T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-like V/U/SHF contest log", T_TWTERM, "Twterm", T_USE_11M, "Use ^[[11m", T_VT_100_FRAMES, "Cornici VT 100", T_WELCOME1, "Benvenuti su Tucnak!", T_WELCOME2, "Per piacere inserici il tuo nominativo ed il locatore:", T_WELCOME, "Benvenuto", T_XTERM, "Xterm", T_YES, "S", T_CANT_APPEND_S, "Non riesco ad aggiungere al file %s", T_CANT_WRITE, "Non riesco a scrivere sul file", T_CANT_WRITE_S, " Non riesco a scrivere sul file %s", T_CANT_READ, "Non riesco a leggere dal file", T_CANT_READ_S, " Non riesco a leggere dal file %s", T_SAVED_S, "Salvato %s", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - velocit cw ", T_CANT_OPEN_S, "Non riesco ad aprire %s", T_CANT_LOCK, "Non riesco a bloccare", T_CANT_LOCK_S, " Non riesco a bloccare %s", T_LOADING_CTEST_S, "*** Sto caricando il contest %s", T_NO_FILES, "Nessun file nella directory", T_BAND_EXIST_SS, "ATTENZIONE! La banda %s (%s) esiste gi", T_BAND_NOT_OPEN, "La banda non attiva in questo contest", T_NO_BANDS, "Nessuna banda da caricare", T_CANT_SET_GR_S, "Non riesco ad impostare la modalit grafica-%s", T_GCALL, "Nominativo: %s", T_GWWL, "WWL: %s", T_GQRB, "QRB: %d km", T_GQTF, "QTF: %d", T_GSEN, "Inv.: %s %s", T_GRCV, "Ric.: %s %s", T_GTIM, "Ora: %s", T_GOPE, "Op: %s", T_GREM, "Rem: %s", T_GWKD, "Lav.: %d", T_GINC, "guadagno: %d", T_GLON, "Lon:%7.2f %-6s", T_GLAT, "Lat:%7.2f %-6s", T_GLOC, "Loc: %s", T__PLESE_WAIT_, " ATTENDERE prego ", T__RO_BAND, " BANDA IN SOLA LETTURA", T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersione " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nQuesto programma software libero; puoi ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License versione 2 pubblicata dalla Free Software Foundation.", T_CTEST_ACTIVE, "Il contest gi attivo ", T_NO_CTESTS, "Nessun contest", T_NO_CCLOSE, "Nessun contest da chiudere", T_REALLY, "Davvero?", T_CLOSE_CTEST, "Vuoi veramente chiudere questo contest?", T_GUI_LD, "GUI: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d oggetti cw, %d oggetti wc, ultimo %d\n", T_EXC, "Exc: %s %d oggetti exc, %d oggetti cxe, ultimo %d\n", T_VEXC, "EXC Verificati: %d oggetti\n", T_DWI, "D_W: %d prefissi, %d DXCCs, %d WWLs\n", T_NAMES, "Nomi: %d nomi\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Memoria:", T_NMY, " My: ", T_NGLOBAL, "Globale: ", T_NMASTER, "Master: ", T_NREMOTE, "Remote: ", T_NSLAVES, "\nSlaves:\n", T_NINFO, "Info sulla rete", T_NO_BANDS_QRV, "Nessuna banda QRV", T_NO_BANDS_CONF, "Nessuna banda configurata", T_NOT_AVAILABLE, "Non disponibile", T_ADD_SUBWIN, "Aggiugi sottofinestra", T_HK_ADD_SUBWIN, "A", T_CLOSE_SUBWIN, "Chiudi sottofinestra", T_HK_CLOSE_SUBWIN, "C", T_HK_NINFO, "N", T_NEW, "Nuovo", T_HK_NEW, "N", T_NEW_WIZZ, "Nuovo da wizard", T_HK_NEW_WIZZ, "W", T_NEW_NET, "Nuovo da rete", T_HK_NEW_NET, "T", T_OPEN, "Apri", T_HK_OPEN, "O", T_SAVE, "Salva", T_HK_SAVE, "S", T_EXPORT_EDI, "Esporta come EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Esporta come report", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Esporta come ADIF", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Esporta come Cabrillo", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Esporta come HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Esporta come MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Importa EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Importa ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Importa swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Importa lista", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Opzioni contest", T_HK_CONTEST_OP, "O", T_CLOSE_CONTEST, "Chiudi contest", T_HK_CLOSE_CONTEST, "C", T_ADD_ERROR, "Aggiungi ERRORE", T_HK_ADD_ERROR, "E", T_CHOP, "Cambia operatore", T_HK_CHOP, "O", T_CW_CTEST, "Aggiorna C_W da contest", T_HK_CW_CTEST, "C", T_CW_BAND, "Aggiorna C_W da banda", T_HK_CW_BAND, "B", T_EXC_CTEST, "Aggiorna l'EXC DB da contest", T_HK_EXC_CTEST, "A", T_EXC_BAND, "Aggiorna l'EXC DB da banda", T_HK_EXC_BAND, "T", T_IMPORT_EBW, "Importa database DL8EBW", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "Nessun contest", T_NO_PEERS, "Nessun peer trovato", T_NO_MASTER, "Il master non disponibile!", T_CTEST_DEF, "Contest defaults", T_HK_CTEST_DEF, "O", T_BAND_DEF, "Bande standard", T_HK_BAND_DEF, "B", T_HK_RESPOP, "P", T_CW_DAEMON, "Manipolazione CW", T_HK_CW_DAEMON, "E", T_CW_CQ, "CW CQ", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB CQ", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Salvataggio automatico", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Carica cfg dalla rete", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Carica C_W dalla rete", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Salva la configurazione", T_HK_SAVE_CFG, "F", T_CONTEST, "Contest", T_HK_CONTEST, "C", T_EDIT, "Modifica", T_HK_EDIT, "E", T_BANDS, "Bande", T_HK_BANDS, "B", T_SUBWINS, "Sottofinestra", T_HK_SUBWINS, "W", T_BAND_SETTINGS_SC, "Impostazioni per la banda %c %s", T_QRV_ON_THIS_BAND, "QRV su questa banda", T_QRV_IN_THIS_CTEST, "QRV in questo contest", T_READ_ONLY, "Sola-lettura", T_MULTI, "Multi", T_SINGLE, "Singolo", T_CHECK, "Controllo", T_TXEQUIP, " TX Appar:", T_POWER, " Poten:", T_RXEQUIP, " RX Appar:", T_ANTENNA, " Antenna:", T_AGLASL, " AGL;ASL:", T_OPS, "Operatori:", T_SPACES1, " ", T_REMARKS, " Commenti:", T_OK_SECTION_SINGLE, "Categoria singolo in OK", T_OK_SECTION_MULTI, "Categoria Multi in OK", T_QRG_MIN, "Limiti di banda da", T_QRG_MAX, "a [kHz]", T_ADIFBAND, "Nome banda ADIF", T_SKEDQRG, "QRG per sked (formato libero)", T_BAND_LO, "Transverter LO QRG [Hz]:", T_BANDSW, "Valore di cambio banda", T_RESPOP, "Operatore responsible", T_NAME, " Nome:", T_CALLSIGN, " Nominativo:", T_ADDRESS, " Indirizzo:", T_POSTCODE, "Cod.postale:", T_CITY, " Citt:", T_COUNTRY, " Paese:", T_PHONE, " Telefono:", T_BBSEMAIL, " BBS/Email:", T_QP0, " -nessuno- ", T_QP1, " 1 QSOp*QSOp_m (Std. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK activity)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltic)", T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (district codes)", T_QP13, "13 Continente (CQ WW DX Contest)", T_QP14, "14 Continente+banda (CQ WW WPX Contest)", T_QP15, "15 Banda VHF (ARRL VHF)", T_QP16, "16 QSOp *4 se F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --none -- ", T_TP1, " 1 Moltiplicativo (Std. IARU)", T_TP2, " 2 Additivo (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. tut. bande (CQ WW DX Contest)", T_TP4, " 4 Tutte le bande ins.(ARRL VHF)", T_NEW_CTEST, "Nuovo Contest", T_CANT_TRUNC, "Non posso troncare il file desc", T_NAME_OF_CTEST, "Nome del contest:", T_CALL_OF_CTEST, "Nominativo nel contest:", T_CLUB_ST, "Stazione Club :", T_YOURWWL, "Tuo WWL:", T_YOUREXC, "Tuo EXC:", T_DATE_OF_CTEST, "Data del contest:", T_QSOUSED, "NR QSO usato", T_QSOPM, " QSOp multi:", T_WWLUSED, "WWL usato ", T_WWLB, "Bonus WWL:", T_WWLM, "WWL molt.:", T_EXCUSED, "EXC usato", T_EXCB, " EXC bonus:", T_EXCM, "EXC molt.:", T_EXCNAME, " nome EXC: ", T_PREFM, "PREF molt.:", T_DXCB, " DXC bonus:", T_DXCM, "DXC multi:", T_RSTUSED, "RST Usato ", T_DEFRS, "RS Standard:", T_DEFRST, "Def RST:", T_ALSORSTR, "Anche per RST-R", T_QP_CALC, " QSOp calc:", T_TO_CALC, "Totale calc:", T_EDI_PROP, "EDI prop", T_RESPOP2, "Operatore resp.", T_EDIT_QSO_CD, "Modifica QSO %c: %03d", T_CALLSIGN2, "Callsign:", T_CLUB, " Club:", T_PADR1, " PInd1:", T_PADR2, " PInd2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Operator:", T_DATE, " Data:", T_MODE, " Modo:", T_RSTS, " RSTs:", T_RSTR, " RSTr:", T_QSONRS, "QSO inv.:", T_QSONRR, "QSO ric.:", T_OPTEXCH, " OptExch:", T_WWL, " WWL:", T_REMARK, "Commenti:", T_QRV2, " QRV su:", T_WKD, " WKD:", T_SEND_SKED, "Sked inv.", T_SELECT, "Selez.", T_QRG, " QRG:", T_WE_CALL, "Chiamiamo", T_BAND, " Banda:", T_TIME, " Ora:", T_DUPE_QSO, "QSO Doppio!", T_CLEAR_THIS_QSO, "Cancella questo QSO", T_EDIT_OLD_QSO, "Modifica vecchio QSO", T_MARK_OLD_QSO, "Segna vecchio QSO come ERRORE", T_STORE_AS_DUPE, "Salva come DUPE", T_BAD_CALL, "Questo non sembra un nominativo", T_N_CALLSIGN, "\nNominativo:", T_AUTOSAVE_OPTS, "Opzioni salvataggio automatico", T_SAVE_AQ, "Salva su disco dopo il QSO: ", T_SAVE_AM, "Salva su disco dopo minuti:", T_FSYNC, "Fsync", T_SAVE_AQF, "Salva su floppy dopo il QSO: ", T_SAVE_AMF, "Salva su floppy dopo minuti::", T_DO_MOUNT, "Monta se non gi in /etc/mtab (non usato)", T_FLOPPY_PATH, "Percorso per il floppy:", T_MOUNT_CMD, "Comando monta: ", T_SW_SHELL, "Shell", T_SW_QSOS, "QSOs", T_SW_LOG, "Log", T_SW_TALK, "Talk", T_SW_SKED, "Sked", T_SW_UNFI, "Unfi", T_SW_DXC, "DXC", T_SW_STAT, "Stat", T_SW_MAP, "Mappa", T_SW_SCOPE, "Scope", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Player", T_SW_CHART, "Chart", T_SHELL, "Shell", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Talk", T_SKEDS, "Skeds", T_UNFI, "QSO non terminati", T_DXC, "DX Cluster", T_STAT, "Statistiche", T_SWAP, "Scambia (N/A)", T_MAP, "Mappa grafica", T_SCOPE, "Scope", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Comando", T_RESPAWN, "Respawn [sec]:", T_UNFI_QSO, "QSO non terminati", T_N_REMARK, "\nCommenti:", T_NO_CQ, "Nessun CQ definito", T_TEXT, "Testo:", T_SPEED, "Velocit [WPM]:", T_REPEAT, "Ripeti", T_DELAY, "Ritardo [0.1s]:", T_ALLOW_UNDEF, "Permetti se qualche oggetto non definito", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "NomeFile:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "Porta UDP:", T_DEVICE, "Keying device:", T_INIT_SPEED, "Velocit iniziale [WPM]:", T_INIT_WEIGHT, "Peso (30-70):", T_WPMFROM, "Inervallo WPM da", T_WPMTO, "a", T_USE_SPK, "Usa altoparlante", T_LEADIN, "PTT lead in [ms]", T_AUTGIVE, "Run mode aut. give after [chars]", T_IGN_IFACE_S, "Ignorando l'interfaccia %-5s", T_IGN_ADDR_S, "Ignorando l'indirizzo %s", T_ADD_IFACE_SSD, "Aggiunta interfaccia=%-5s BCAST=%s:%d", T_FORCED_ADDR, "Forzato indirizzo %s", T_TIMESKEW, "WARNING! Slittamento temporale %d rilevato rispetto a %s:%d !\n", T_DISCONNECTING_SD, "Disconnessione da %s:%d", T_ACCEPTED_SD, "Accettato %s:%d (%s)", T_CONNECTING_SD, "Connessione a %s:%d", T_CONNECTED_SD, "Connesso a %s:%d", T_DISCONNECTED_SD, "Disconnesso da %s:%d", T_LOADED_CFG_SSSS, "Caricata configurazione per %s %s (%s,%s)", T_LOADED_CW, "Caricati dati C_W", T_PEER_NOT_FOUND, "ERRORE! Peer %s non trovato", T_CANT_CREATE_HOME_S, "Non posso creare la directory %s", T_CANT_LOAD_CFG, "Non posso caricare la configurazione!\nIl programma non funziona correttamente!", T_ERR_RC, "Trovati errori nel file di configurazione!\nQuesto file stato probabilmente salvato con una versione pi nuova di Tucnak!\nNon salvare la tua configurazione a meno che non sia disposto a perdere i dati!", T_SES_QTR, " QTR ", T_SES_QRA, " CALL ", T_SES_RST, " RST-S-No RST-R-No ", T_SES_QTH, " QTH ", T_SES_QRB, " Pts/QRB QTF ", T_SES_FLG, " Flg ", T_SES_OPE, " Oper. ", T_SES_EXC, " Exch ", T_SES_REM, " Commento ", T_SES_WELCOME, "Benvenuto su Tucnak! ", T_SES_PRESS_F10, "Premi F10 per il menu.", T_SES_HAVE_FUN, "Buon Divertimento.", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG", T_SES_AVG, " AVG: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " WWLs: %d", T_SF_WWLS_UNDER, "-------------", T_SF_EXCS, " EXCs: %d", T_SF_EXCS_UNDER, "-------------", T_SF_MISS_EXCS, " EXC mancanti: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " DXCCs: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " WKD WWLs: %d", T_SF_WKD_WWLS_UNDER, "-----------------", T_SF_QSO_WWL4, " QSOS in WWL4s: %d", T_SF_QSO_WWL4_UNDER, "----------------------", T_SF_STATS_BAND, " Statistiche per banda %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Contest: %s", T_SF_ALLBQSOS, "QSO tutte le bande: %d", T_SF_ALLBQSOP, "QSOp tutte le bande: %d", T_SF_ALLBPTS, "Punti tutte le bande: %d", T_SF_QSOS, "QSO: %d", T_SF_VQSO, "Valid QSOs: %d", T_SF_QSOP, "Punti QSO: %d", T_SF_PTS, "Punti: %d", T_SF_AVG_PTS, "Media punti/QSO: %5.2f", T_SF_AVG_QSOP, "Media qsop/QSO: %5.2f", T_BAND_RO, "La banda in sola-lettura", T_THIS_BAND, "Questa banda", T_OTHER_BANDS, "Altre bande", T_CW_DB, "database C_W", T_PROC_EXITED, "*** Processo terminato\n", T_WE_CALL2, "chiamiamo", T_WE_LISTEN, "ascoltiamo", T_QSL, "QSL promessa", T_RECORD, "Registra traffico", T_MAXMIN, " Durata Max. registrazione", T_TEMPLATE, "Template per nome file registrato", T_PCM8, "8 bit PCM", T_PCM16, "16 bit PCM", T_ULAW, "mu-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Canali", T_SAMPLERATE, "Frequenza campionamento", T_FILLOP, "Fill operators", T_HK_FILLOP, "L", T_RECAQRB, "Ricalcolo QRB,QTF", T_HK_RECAQRB, "R", T_NETWORK, "Rete & tracciatura", T_HK_NETWORK, "K", T_IF_IGNORE, "Ignora interfacce:", T_IP_IGNORE, "Ignora reti:", T_IP_ANNOUNCE, "Annuncia verso le reti:", T_TRACE_BCAST, "Traccia i broadcast ", T_TRACE_SOCK, "Traccia i socket", T_TRACE_RECV, "Traccia i dati ricevuti", T_TRACE_SEND, "Traccia i dati inviati", T_TRACE_QSOS, "Traccia i QSOs ", T_TRACE_SDEV, "Traccia i rotori ", T_NOT_MOUNTED_S, "Non montato %s", T_RECSRC_NONE, "Non impostare", T_RECSRC_MIC, "Microfono", T_RECSRC_LINE, "Line in", T_NEW_CALL, "Nuovo!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV su %s", T_SKED_QRG, "QRG per sked", T_HK_SKED_QRG, "F", T_N_SKED_QRG, "\nQRG per sked:", T_GRAB_BAND, "Prendi il controllo della banda", T_HK_GRAB_BAND, "G", T_FORCE_RUN, "Forza il modo RUNe", T_HK_FORCE_RUN, "U", T_EXPORT_STATS, "Esporta Statistiche", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX QSOs:", T_SF_TOP_DX_UNDER, "-------------------", T_ROTAR, "Rotore", T_HK_ROTAR, "R", T_AZIMUTH, " Azimuth", T_ELEVATION, "Elevazione", T_CH_SPY, "Spy", T_HK_CH_SPY, "S", T_CH_ENDSPY, "Spy end", T_HK_CH_ENDSPY, "P", T_EXPORT_TITLPAGE, "Esporta title page", T_HK_EXPORT_TITLPAGE, "P", T_BREAK_RECORD, "Break record", T_HK_BREAK_RECORD, "B", T_GLOBAL_OPERATOR, "Cambia per tutte le bande", T_GLOBAL_OPERATOR2, "Globale", T_MAXFRAG, "Max. num di frammenti (>=2)", T_PLAY_LAST, "Riproduci l'ultimo campione", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Opzioni varie", T_HK_MISCOPTS, "M", T_LOGLINES, "Linee di log: ", T_SKEDSHIFT, "Intervallo sked (minuti): ", T_STARTBAND, "Banda iniziale: ", T_GFX_X_CH, "Risoluzione schermo (chars):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Risoluzione schermo (pixels):", T_GFX_Y_PX, "x", T_CALL_INFO, "Info nominativo", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSO/ora: %d", T_SF_QSOP_HOUR, "Punti/ora: %d", T_SF_QSOP_50QSO, "Punti/50 QSOs: %d", T_SF_HOURS, " Ore", T_SF_HOURS_UNDER, "---------", T_SF_HOURS_TITLE, "Ore Punti QSO media pti/QSO", T_QSO_CHECK, "QSO check", T_HK_QSO_CHECK, "K", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Spazio disco libero minimo [MiB]", T_FORMAT, "Formato registrazione", T_PCM_PLAY, "Dispositivo riproduzione Alsa", T_PCM_REC, "Dispositivo cattura Alsa", T_PERIOD, "Durata periodo [ms]", T_BUFFER, "Durata buffer [ms]", T_ALSA_MIXER, "Dispositivo mixer Alsa", T_CAPTURE, "Fonte di cattura", T_DSP, "OSS DSP", T_MIXER, "OSS mixer", T_RECSRC, "Fonte di registrazione", T_PA_PLAY, "Dispositivo riproduzione Portaudio", T_PA_REC, "Dispositivo cattura Portaudio", T_HOSTNAME, "Hostname:", T_SLASHKEY, "Slash key", T_FIXQRG, "Aggiusta QRG", T_HK_FIXQRG, "X", T_ENTER_QRG, "Immetti QRG [Hz] accurato", T_BAD_QRG, "Frequenza sbagliata", T_CALLSIGN3, "Nominativo", T_CALLSIGN_KST, "Nominativo stazione KST:", T_CANT_INIT_WINKEY_S, "Non posso inizializzare winkey su %s", T_WINKEYOPTS, "Opzioni Winkey", T_WK_WK2, "Inizializzazione veloce Winkey2", T_WK_USEPOT, "Usa potenz. velocit", T_WK_USEBUT, "Usa bottoni", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Bug", T_WK_SWAP, "Scambia Paddle (mancini)", T_RIGOPTS, "Opzioni apparato", T_HK_RIGOPTS, "G", T_RIG_DEVICE, "Apparato:", T_RIG_MODEL, "Modello apparato: ", T_RIG_SPEED, "Baudrate: ", T_RIG_CIV, "Indirizzo CIV (hex):", T_RIG_FREQSHIFT, "Shift freq. SSB->CW", T_RIG_CHOOSE, "Scegli", T_ROTAROPTS, "Opzioni rotore", T_HK_ROTAROPTS, "I", T_DSSAVER, "Disabilita salva schermo", T_DESC, "Descrizione", T_ROT_NONE, "Nessuno", T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys", T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI", T_ROT_HAMLIB, "Hamlib", T_ROT_REMOTE, "Remote", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Seriale #", T_ROT_ADD, "Aggiungi nuovo rotore", T_HK_ROT_ADD, "W", T_ROT_REMOVE, "Rimuovi rotore", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "Beam width:", T_SADDR, "Indirizzo comunicazione:", T_MODEL, "Hamlib modello:", T_ROT_REM_ROTSTR, "Lettera Rotore per comando", T_QSOGLOB, "NR QSO globale ", T_PREFGLOB, "PREF globale ", T_NOT_RECORDING_S, "Non sto registrando - %s", T_SKEDCOUNT, "Contatore di sked in popup: ", T_FONTHEIGHT, "Altezza font (16-32): ", T_RIG_POLL_MS, "Intervallo poll apparato [ms]: ", T_RIG_QRG_R2T, "Imposta banda dalla radio", T_RIG_QRG_T2R, "Cambia banda sulla radio", T_RIG_MODE_T2R, "Cambia modo sulla radio", T_RUN_MODE, "Modo Run", T_HK_RUN_MODE, "U", T_SP_MODE, "Modo S&P", T_HK_SP_MODE, "M", T_RIG_CLR_RIT, "C RIT quando salva QSO in RUN", T_RIG_DEBUG, "Debug rig", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Band Punti QSO Mult", T_HF_SUM, "Somma:", T_HF_LAST, "Ultimo Q-%s P-%s", T_EVEN, "TX eVen", T_HK_EVEN, "N", T_ODD, "TX oDd", T_HK_ODD, "D", T_1ST, "TX 1", T_HK_1ST, "1", T_2ND, "TX 2", T_HK_2ND, "2", T_HF_SCORE, "Punteggio:", T_EXPMODE, "Modo Spedizione", T_TTTYPE, "Only digits mean", T_ROT_POLL_MS, "Poll interval [ms]:", T_VERSION, "Versione", T_HK_VERSION, "V", T_REMOTE_HOST, " Remote host name:", T_REMOTE_PORT, " Remote TCP port:", T_REMOTE_PASS, " Remote Password:", T_STARTING_AC, "Starting AS", T_STOPPING_AC, "Stopping AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Speed:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Durat: %ld", T_EXPORTING_S, "Exporting %s", T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s", T_EXPORTING, "Exporting ...", T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables", T_LOADING_CHARTS, "Loading charts", T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control", T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in", T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi", T_CANT_CREATE_PIPE, "Can't create pipe", T_TERMINATING_CWDAEMON, "Terminating CW/PTT control", T_INIT_CWDB, "Initializing WWL database", T_TERM_CWDB, "Terminating WWL database", T_LOADING_CWDB, "Loading WWL database", T_QRV_ON, "QRV on: ", T_CANT_INIT_FTDI, "Can't init ftdi library for davac4", T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s", T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s", T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s", T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s", T_INIT_SOUNDCARD, "Initializing soundcard", T_NO_OSS, "OSS support not compiled in", T_NO_ALSA, "Alsa support not compiled in", T_NO_PORTAUDIO, "portaudio support not compiled in", T_NO_SNDFILE, "Libsndfile support not compiled in", T_NO_SNDPIPE, "Sndpipe support not compiled in", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Initializing DXCC database", T_FREE_DWDB, "Terminating DXCC database", T_LOAD_DWDB, "Loading DXCC database", T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n", T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n", T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n", T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n", T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n", T_CALL_ON_BAND_S, "Callsign on band %s is %s\n", T_LOCATOR_ON_BAND, "Locator on band %s is %s\n", T_QSO_CHECK_LIST, " Tucnak QSO check list\n", T_CALL_SN, " Call: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Date: %s\n", T_CHECKING_S, "Checking %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Seems to be O.K.\n", T_CW_NOT_FOUND, "C_W: %s not found\n", T_0X_NOT_IN_DB, " 0x (not in database)", T_NAME_IS, "Name: %s's name is %s\n", T_NAME_UNKNOWN, "Name: %s's name is unknown\n", T_INIT_DXC, "Initializing DXcluster", T_FREE_DXC, "Terminating DXcluster", T_HK_SELECT, "S", T_HIDE, "Hide", T_HK_HIDE, "H", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Use", T_HK_USE, "U", T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n", T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n", T_HOST_RESOLVED, "*** Host resolved ", T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n", T_CONNECTING_TO, "*** Connecting to %s ***\n", T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n", T_CONNECTED_SOCKET, "*** Connected socket %d ***\n", T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n", T_DISCONNECTED, "\n*** Disconnected ***\n", T_RESOLVING, "*** Resolving %s ***\n", T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s", T_SAVED, "Saved %s", T_LOADING_CONTEST, "Loading contest %s", T_LOADING_LOGFILE, "Loading logfile", T_LOADING_TALK, "Loading talk", T_SEARCH_FILES, "Search for contest files", T_LOADING_BAND, "Loading band %s", T_LOADING_SPY, "Loading spy", T_LOADING_HICALLS, "Loading hicalls", T_LOADING_QRV, "Loading qrv", T_LOADING_CHART, "Loading chart", T_SAVING_CONTEST, "Saving contest", T_UPD_INT_DATA, "Updating internal data", T_CALC_STATS, "Calculating statistics", T_ANN_OVER_NET, "Announcing over network", T_ACTIVATING_BAND, "Activating band %s", T_UPDATING_WKD, "Updating worked calls", T_UPDATING_QRBQTF, "Updating QRB&QTF", T_UPDATING_GAIN, "Updating gain chart", T_SEN_OVER_NET, "Sending info over network", T_INIT_EXCDB, "Initializing exchange database", T_FREE_EXCDB, "Terminating exchange database", T_INIT_FFT, "Initializing FFT analyse", T_FREE_FFT, "Terminating FFT analyse", T_INIT_ROTAR, "Initializing rotator control", T_FREE_ROTAR, "Terminating rotator control", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Points", T_AVG, "AVG", T_INIT_HTTPD, "Initializing HTTP server", T_FREE_HTTPD, "Terminating HTTP server", T_NO_CONTEST_OPENED, "

No contest opened

\n", T_NO_CONTEST_OPENED2, "No contest opened", T_STATS, "Statistics", T_BAND_NOT_FOUND, "Band not found", T_BAND_C_NOT_FOUND, "

Band %c not found

", T_QSOS_IN_DATABASE, "qsos in database", T_TUCNAK_ONLINE_LOG, "Tucnak online log", T_DATE2, "Date", T_UTC, "UTC", T_CALL, "Call", T_CALL_NOT_FOUND, "Call not found", T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d", T_FREE_TERM, "Terminating terminal", T_TERM_KEYMAPS, "Terminating keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh mistake", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Ask for sked", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Message", T_HK_MESSAGE, "M", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n", T_RESOLVED, "*** Resolved ", T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n", T_SENDING_SH_US, "*** Sending /sh us ...\n", T_SKIP_LINE, "Skip line %d '%s'", T_CANT_CREATE_HOME, "Can't create home directory '%s'", T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s", T_INIT_MAP, "Initializing polar map", T_DISABLE_SAVER, "Disabling screensaver", T_STARTING_TUCNAK, "Starting Tucnak", T_FREE_MAP, "Terminating polar map", T_INIT_MASTERDB, "Initializing master database", T_FREE_MASTERDB, "Terminating master database", T_LOAD_MASTERDB, "Loading master database", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s", T_DIRECTORY_SCAN, "Directory scan", T_V3_COMPATIBILITY, " (v3 compatibility)", T_RELOAD_INTERFACES, "Reload interfaces", T_SET_READONLY, "Set read-only", T_CHANGE_TYPE, "Change type", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Open connection", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Kill connection", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Export to text file", T_ADD_CONTEST, "Add contest", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Add file(s)", T_HK_ADD_FILES, "F", T_ADD_CONTESTS, "Add contests", T_HK_ADD_CONTESTS, "O", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Int.error test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Dump RW bands and hashes", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Update Tucnak", T_HK_UPDATE, "U", T_SETTINGS, "Settings", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "Voip spy", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "End voip spy", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest is old, spy is not available", T_NETWORK_SCAN, "Network scan", T_HTTPD_OPTIONS, "HTTPD options", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter options", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR options", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Other:", T_NONE, "None ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "Unused ", T_USED_6, "Used (6)", T_OPT_6, "Opt. (6)", T_USED_4, "Used (4)", T_OPT_4, "Opt. (4)", T_FREE, "Free ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Verified", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Confirm WWL", T_CONFIRM_EXC, "Confirm EXC", T_FONT_SIZE, "Font size: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, " SLOVHF user:", T_SDR, "SDR", T_PARPORT, "parport", T_TTYS, "ttys", T_TTYSSINGLE, "ttys single pin", T_AUDIO_SUBSYSTEM, "Audio subsystem:", T_PLAYBACK_VOLUME, "Playback volume", T_CAPTURE_VOLUME, "Capture volume", T_ENABLE_REMOTE_CONNECT, "Enable remote connect", T_TRACE_RIG, "Trace rig", T_TRACE_KEYS, "Trace keys", T_SAVE_RESTART, "You must save configuration and restart Tucnak", T_FULLSCREEN, "Fullscreen", T_TOUCH, "Use touch control", T_ALT_QWER, "Alt turns QWER.. to 1234..", T_NO_LOCKS, "No device locks", T_PORTRAIT_ORIENTATION, "Portrait orientation", T_REVERSE, "Reverse", T_CHOOSE_RIG, "Choose rig", T_RIG_D, "Rig %d", T_NEW_RIG, "New rig", T_ENABLED, "Enabled", T_SET_PTT_ON_RADIO, "Set PTT on radio", T_DISABLED, " (disabled)", T_ADD_RIG, "Add rig", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Enable", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Show private information", T_REFRESH, "intervallo di aggiornamento:", T_LOAD_FROM_NET, "Load from network", T_LOAD_CWDB, "Load C_W database", T_LOAD_NAMEDB, "Load Name database", T_LOAD_QRVDB, "Load QRV database", T_READONLY_BANDS, "Read-only bands", T_ENABLE_AC, "Enable AS", T_AC_URL, "Alternative URL for flightradar data", T_K_FACTOR, "Troposphere k_factor", T_AC_AREA_WIDTH, "Reflection area width in km", T_AC_EL_ANGLE, "Minimal elevation angle", T_AC_MAX_EL_ANGLE, "Maximal elevation angle", T_AC_MIN_DURATION, "Minimal reflection duration in sec", T_AC_MAX_DIFF, "Max difference of incidence and reflection angles", T_BAD_NUMBER_RANGE, "Bad number range", T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate", T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder", T_NO_DEVICE, "No device", T_IQ_SOURCE, "IQ source:", T_WAV_FILE, "WAV file", T_WAV_FILE_NAME, "WAV file name", T_AF_OUTPUT, "AF output:", T_AF_SAMPLE_RATE, "AF sample rate", T_BLOCK_SIZE, " Block size", T_CW_FILTER, " CW filter", T_TO_HZ, "to [Hz]", T_SSB_FILTER, " SSB filter", T_INIT_NAMEDB, "Initializing name database", T_FREE_NAMEDB, "Terminating name database", T_LOAD_NAMEDB2, "Loading name database", T_INIT_NET, "Initializing network", T_FREE_NET, "Terminating network", T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops", T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s", T_TIME_WAS_SET, "Time was set", T_FAILED_TO_SET_TIME, "Failed to set time", T_INIT, "INIT", T_CONNECTING, "CONNECTING", T_CONNECTED, "CONNECTED", T_WAIT_ACK, "WAIT_ACK", T_DISCONNECTED2, "DISCONNECTED", T_DEAD, "DEAD", T_LONG_XFER, "LONG_XFER", T_AUTHENTICATED_USER_S, "Authenticated user %s", T_BAD_AUTHENTICATION_S, "Bad authentication %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT", T_LONG_TRANSFER_FINISHED, "Long transfer finished", T_INIT_NTP, "Initializing NTP monitor", T_FREE_NTP, "Terminating NTP monitor", T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP", T_INIT_SPEAKER, "Initializing PC speaker", T_FREE_SPEAKER, "Terminating PC speaker", T_CANT_PLAY, "Can't play %s - %s", T_CANT_SEEK_TO_END, "Can't seek to end %s - %s", T_CANT_SEEK_TO_START, "Can't seek to start %s - %s", T_CANT_OPEN, "Can't open %s %s", T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Can't set %s to EPP mode %s", T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s", T_CANT_CLAIM, "Can't claim %s %s", T_INIT_QRVDB, "Initializing QRV database", T_FREE_QRVDB, "Terminating QRV database", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Loading qrvs", T_UNSPECIFIED, "unspecified", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n", T_FOUND_D_ERRORS, "Found %d error%s while reading %s", T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net", T_REGISTRATED_ROTATORS, "Registrated rotators:", T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n", T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread", T_INIT_ROTARS2, "Initializing rotators", T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n", T_ROTAR_ERROR_S, "Rotar error: %s", T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe", T_CANT_READ_FROM, "Can't read from", T_CANT_WRITE_TO, "Can't write to", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Bad update file name", T_CANT_EXECUTE_INSTALLER, "Can't execute installer, ", T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed", T_UPDATE_FAILED, "Update failed", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply.", T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s", T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install.", T_NO_NEW_VER, "No new version available.", T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests...", T_CHOOSE_CONTEST, "Choose contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload", T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form...", T_ALL_EDI_FILES_PROCESSED, "All EDI files processed.", T_UPLOADING_LOG_FILE_S, "Uploading log file %s ...", T_UPLOADING_BAND_S, "Uploading band %s", T_CONFIRMING_LOG, "Confirming log...", T_RESULT_ERROR, "*** Result: ERROR please read error message above", T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s", T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores...", T_LOGS_UPLOADED, "Logs uploaded.", T_HTTP_STATUS, "HTTP status: ", T_LOG_UPLOAD, "Log upload", T_VOIP_NO_INITIALIZED, "VOIP no initialized", T_PAGE_NAME, "Page name", T_OVERWRITE_EXISTING_FILES, "Overwrite existing files", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Password", T_EXPORT_MAP, "Export map", T_EXPORT_CHART, "Export chart", T_MEDIAWIKI_UPLOAD2, "Mediawiki upload", T_BAD_AUTH_USER, "Bad auth user %s != %s", T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame", T_CANT_GET_FMTS, "Can't get supported audio formats: %s", T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s", T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s", T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s", T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s", T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s", T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s", T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s", T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d", T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s", T_RECORD2, "record", T_PLAYBACK, "playback", T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s", T_CANT_STOP_PA, "Can't stop PortAudio stream: %s", T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s", T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\"", T_CANT_SET_STROBE, "Can't set parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error", T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n", T_INIT_SERIAL_DEVICES, "Initializing serial devices", T_BAD_CHECKSUM, "Bad checksum", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Bad response", T_UNKNOWN_FUNCTION, "Unknown function", T_UNKNOWN_ERROR_CODE, "Unknown error code", T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n", T_WAIT_FOR_SDR_THR, "Waiting for SDR thread", T_QSO_REQ_FROM_SP, " QSO request from S&P ", T_QSO_REQ_SENT, " QSO request sent to RUN ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Location unknown", T_DEGREE, "deg", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe", T_INIT_SSB_CQ, "Initializing SSB CQ", T_FREE_SSB_CQ, "Terminating SSB CQ", T_NO_FILE, "No file specified", T_UNSUP_CHANNELS, "Unsupported number of channels = %d", T_FLOAT_UNSUPP, "Float point files are not supported", T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing", T_REC_DISABLED, "recording disabled", T_CONTEST_TOO_OLD, "contest too old", T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Error writing file %s: %s", T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording", T_NO_DISK_SPACE, "Not enough free disk space for file", T_CANT_PLAY_FILE, "Can't play file %s - %s", T_CANT_WRITE_SS, "Can't write to file %s - %s", T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded", T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template", T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n", T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***", T_LOADING_S, "Loading %s", T_INVALID_WINDOW_TYPE, "invalid window type %d\n", T_INIT_RIG, "Initializing rig control %d", T_RIG_ERROR, "Rig error: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n", T_FREE_RIG, "Terminating rig control %d", T_WAIT_FOR_RIG_THR, "Waiting for rig thread", T_INVALID_PARAM, "Invalid param.", T_RIG_INVALID_CONFIG, "Invalid config.", T_RIG_NOT_ENOUGH_MEM, "Not enough mem.", T_RIG_NOT_IMPLEMENTED, "Not implemented", T_RIG_COMM_TIMEOUT, "Comm. timeout", T_RIG_IO_ERROR, "IO error", T_RIG_INTERNAL_ERROR, "Internal error", T_PROTOCOL_ERROR, "Protocol error", T_RIG_COMMAND_REJECT, "Command reject.", T_RIG_ARG_TRUNCATED, "Arg. truncated", T_RIG_F_NOT_AVAILABLE, "F not available", T_RIG_VFO_NOT_TARGET, "VFO not target.", T_RIG_ERROR_ON_BUS, "Error on bus", T_RIG_BUS_COLLISION, "Bus collision", T_RIG_INVALID_ARG, "Invalid arg.", T_RIG_INVALID_VFO, "Invalid VFO", T_RIG_ARG_OUT_OF_DOM, "Arg out of dom.", T_ERROR_D, "Error %d", T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)", T_CANT_SET_GRAPHICS2, "Can't set graphics mode", T_WAIT_SDL_THR, "Waiting for SDL event thread", T_FREE_GRAPHICS, "Terminating graphics", T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s", T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s", T_CANT_READ_LOG_FILE, "Can't read log file %s", T_CANT_UPLOAD_LOG, "Can't upload log: %s", T_CANT_CONFIRM_LOG, "Can't confirm log: %s", T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s", T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Date:", T_QSOS2, "QSOs:", T_POINTS2, "Points:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Can't upload file: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s", T_FILE_ALREADY_EXISTS, "File already exists: %s", T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s", T_CANT_EDIT_PAGE, "Can't edit page: %s", T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s", T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s", T_EDITING_CONTEST_PAGE, "Editing contest page...", T_ALL_DONE, "All done.", T_UPLOADING_FILE, "Uploading file %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s", T_QUERYING_EDIT_TOKEN, "Querying edit token", T_CANT_LOGIN, "Can't log in (2): %s", T_CANT_LOGIN2, "Can't log in (2), wiki says: %s", T_CANT_LOGIN1, "Can't log in (1): %s", T_LOGGING_IN, "Logging in...", T_EXPORTING_FILES, "Exporting files...", T_INIT_WIZZ, "Initializing contest wizard", T_FREE_WIZZ, "Terminating contest wizard", T_LOAD_WIZZ_DATA, "Loading contest wizard data", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Contest phase", T_HK_PHASE, "H", T_ENTER_PHASE, "New contest phase: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/castellano.lng0000644000175000017500000012061414001016224013437 00000000000000T__CHAR_SET, "us-ascii", T__LANGUAGE, "Castellano", T_ABOUT, "Acerca", T_BAD_NUMBER, "Numero incorrecto", T_BAD_STRING, "Texto incorrecto", T_BASIC_HELP, "Presione F10 para menu.\nDiviertase!", T_BLOCK_CURSOR, "Block cursor", T_CANCEL, "Cancelar", T_CHARACTER_SET, "Juego de caracteres", T_COLOR, "Color", T_COPYING, "Copy", T_DIFFERENCE, "diferencia", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Quieres salir de Tucnak?", T_EMPTY_STRING_NOT_ALLOWED, "No se permiten textos vacios", T_ERROR, "Error", T_WARNING, "Cuidado", T_EXIT, "Salir", T_EXIT_TUCNAK, "Salir de Tucnak", T_FILE, "Archivo", T_FULL_SCREEN, "Pantalla Completa", T_HELP, "Ayuda", T_HK_ABOUT, "A", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "H", T_HK_COPYING, "C", T_HK_EXIT, "X", T_HK_FILE, "F", T_HK_FULL_SCREEN, "F", T_HK_HELP, "H", T_HK_LANGUAGE, "L", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "S", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "W", T_HK_XTERM, "X", T_KOI8R_FRAMES, "KOI8-R frames", T_LANGUAGE, "Lenguaje", T_LAST, "ultimo", T_LINUX_OR_OS2_FRAMES, "Entorno OS/2 o Linux", T_MEMORY_INFO, "Info de memoria", T_NO_FRAMES, "No frames", T_NO, "No", T_NUMBER_EXPECTED, "Se esperaba un numero en el campo", T_NUMBER_OUT_OF_RANGE, "Numero fuera de rango", T_OK, "OK", T_OS_SHELL, "OS shell", T_RESTRICT_FRAMES_IN_CP850_852, "Restrict frames in cp850/852", T_UTF_8_IO, "UTF-8 Entrada/Salida", T_SCREEN, "Pantalla", T_SETUP, "Setup", T_TERMINAL_OPTIONS, "Opciones de terminal", T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nTACLOG-like V/U/SHF contest log", T_TWTERM, "Twterm", T_USE_11M, "Use ^[[11m", T_VT_100_FRAMES, "VT 100 frames", T_WELCOME1, "Bienvenido a Tucnak!", T_WELCOME2, "Por favor, ingrese su licencia y los proximos campos de datos:", T_WELCOME, "Bienvenido", T_XTERM, "Xterm", T_YES, "Si", T_CANT_APPEND_S, "No puedo abrir el archivo %s", T_CANT_WRITE, "No puedo escribir el archivo", T_CANT_WRITE_S, "No puedo escribir al archivo %s", T_CANT_READ, "No puedo leer desde el archivo", T_CANT_READ_S, "No puedo leer desde el archivo %s", T_SAVED_S, "Salvado %s", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - velocidad cw ", T_CANT_OPEN_S, "No puedo abrir %s", T_CANT_LOCK, "No se puede lockear", T_CANT_LOCK_S, "No puedo lockear %s", T_LOADING_CTEST_S, "*** Cargando concurso %s", T_NO_FILES, "No hay archivos en el directorio", T_BAND_EXIST_SS, "CUIDADO! Banda %s (%s) ya existe", T_BAND_NOT_OPEN, "Banda no activa en este concurso", T_NO_BANDS, "No bandas a cargar", T_CANT_SET_GR_S, "No puedo setear modo grafico-%s", T_GCALL, "Licencia: %s", T_GWWL, "Locator: %s", T_GQRB, "QRB: %d km", T_GQTF, "QTF: %d", T_GSEN, "Enviado: %s %s", T_GRCV, "Recibido: %s %s", T_GTIM, "Hora: %s", T_GOPE, "Op: %s", T_GREM, "Notas: %s", T_GWKD, "Wkd: %d", T_GINC, "ingreso: %d", T_GLON, "Lon:%7.2f %-6s", T_GLAT, "Lat:%7.2f %-6s", T_GLOC, "Loc: %s", T__PLESE_WAIT_, " Por favor, espere", T__RO_BAND, " BANDA DE SOLO LECTURA", T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVersion " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.", T_CTEST_ACTIVE, "El concurso ya esta activo", T_NO_CTESTS, "No concursos", T_NO_CCLOSE, "No hay concurso para cerrar", T_REALLY, "Realmente?", T_CLOSE_CTEST, "Quieres cerrar realmente este concurso?", T_GUI_LD, "GUI: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw items, %d wc items, ultimo %d\n", T_EXC, "Exc: %s %d exc items, %d cxe items, ultimo %d\n", T_VEXC, "Verificados EXC: %d items\n", T_DWI, "D_W: %d prefijos, %d DXCCs, %d WWLs\n", T_NAMES, "Nombre: %d nombres\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Memoria:", T_NMY, " Yo: ", T_NGLOBAL, "Global: ", T_NMASTER, "Master: ", T_NREMOTE, "Remote: ", T_NSLAVES, "\nSlaves:\n", T_NINFO, "Network info", T_NO_BANDS_QRV, "No hay bandas QRV", T_NO_BANDS_CONF, "No hay bandas configuradas", T_NOT_AVAILABLE, "No disponible", T_ADD_SUBWIN, "Add subwin", T_HK_ADD_SUBWIN, "A", T_CLOSE_SUBWIN, "Close subwin", T_HK_CLOSE_SUBWIN, "C", T_HK_NINFO, "N", T_NEW, "Nuevo", T_HK_NEW, "N", T_NEW_WIZZ, "Nuevo desde el ayudante", T_HK_NEW_WIZZ, "W", T_NEW_NET, "Nuevo desde la red", T_HK_NEW_NET, "T", T_OPEN, "Abrir", T_HK_OPEN, "O", T_SAVE, "Salvar", T_HK_SAVE, "S", T_EXPORT_EDI, "Exportar como EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Exportar como report", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Exportar como ADIF", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Export as ADIF", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Exportar como HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Export as MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Importar EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Importar ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Importar swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Import list", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Opciones del concurso", T_HK_CONTEST_OP, "O", T_CLOSE_CONTEST, "Cerrar concurso", T_HK_CLOSE_CONTEST, "C", T_ADD_ERROR, "Add ERROR", T_HK_ADD_ERROR, "E", T_CHOP, "Cambiar concurso", T_HK_CHOP, "O", T_CW_CTEST, "Actualizar C_W desde el concurso", T_HK_CW_CTEST, "C", T_CW_BAND, "Actualizar C_W desde bandas", T_HK_CW_BAND, "B", T_EXC_CTEST, "Actualizar EXC DB desde el concurso", T_HK_EXC_CTEST, "A", T_EXC_BAND, "Actualizar EXC DB desde bandas", T_HK_EXC_BAND, "T", T_IMPORT_EBW, "Importar base de datos DL8EBW", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "No concurso", T_NO_PEERS, "No encontre peers", T_NO_MASTER, "Master no esta disponible!", T_CTEST_DEF, "Defaults de concursos", T_HK_CTEST_DEF, "O", T_BAND_DEF, "Defaults de bandas", T_HK_BAND_DEF, "B", T_HK_RESPOP, "P", T_CW_DAEMON, "CW keying", T_HK_CW_DAEMON, "E", T_CW_CQ, "CW CQ", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB CQ", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Autosalvar", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Cargar cfg desde net", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Cargar C_W desde net", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Salvar configuracion", T_HK_SAVE_CFG, "F", T_CONTEST, "Concurso", T_HK_CONTEST, "C", T_EDIT, "Editar", T_HK_EDIT, "E", T_BANDS, "Bandas", T_HK_BANDS, "B", T_SUBWINS, "Subwins", T_HK_SUBWINS, "W", T_BAND_SETTINGS_SC, "Seteo de bandas para banda %c %s", T_QRV_ON_THIS_BAND, "QRV sobre esta banda", T_QRV_IN_THIS_CTEST, "QRV en este concurso", T_READ_ONLY, "Solo lectura", T_MULTI, "Multi", T_SINGLE, "Single", T_CHECK, "Check", T_TXEQUIP, " TX Equip:", T_POWER, " Power:", T_RXEQUIP, " RX Equip:", T_ANTENNA, " Antena:", T_AGLASL, " AGL;ASL:", T_OPS, "Operadores:", T_SPACES1, " ", T_REMARKS, " Notas:", T_OK_SECTION_SINGLE, "Categoria single es OK", T_OK_SECTION_MULTI, "Multi categoria es OK", T_QRG_MIN, "Extremos de banda desde", T_QRG_MAX, "a [kHz]", T_ADIFBAND, "ADIF nombre de banda", T_SKEDQRG, "QRG para skeds (texto libre)", T_BAND_LO, "Transverter's LO QRG [Hz]", T_BANDSW, "Band switch value", T_RESPOP, "Operador responsable", T_NAME, " Nombre:", T_CALLSIGN, " Licencia:", T_ADDRESS, " Direccion:", T_POSTCODE, " Cod.Postal:", T_CITY, " Ciudad:", T_COUNTRY, " Pais:", T_PHONE, " Telefono:", T_BBSEMAIL, " BBS/Email:", T_QP0, " -- nada -- ", T_QP1, " 1 QSOp*QSOp_m (Std. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK activity)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltic)", T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (district codes)", T_QP13, "13 Continent (CQ WW DX Contest)", T_QP14, "14 Continent+band (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " -- nada -- ", T_TP1, " 1 Multiplicative (Std. IARU)", T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "Nuevo concurso", T_CANT_TRUNC, "No puedo truncar la descrip. del archivo", T_NAME_OF_CTEST, "Nombre del concurso:", T_CALL_OF_CTEST, "Licencia en el concurso:", T_CLUB_ST, "Radio Club:", T_YOURWWL, "Su Locator:", T_YOUREXC, "SU EXC:", T_DATE_OF_CTEST, "Fecha del concurso:", T_QSOUSED, "QSO NR usado", T_QSOPM, " QSOp multi:", T_WWLUSED, "Locator used ", T_WWLB, "WWL bonus:", T_WWLM, "WWL multi:", T_EXCUSED, "EXC usado", T_EXCB, " EXC bonus:", T_EXCM, "EXC multi:", T_EXCNAME, " EXC nombre: ", T_PREFM, "PREF multi:", T_DXCB, " DXC bonus:", T_DXCM, "DXC multi:", T_RSTUSED, "RST Usado ", T_DEFRS, "Default RS:", T_DEFRST, "Def RST:", T_ALSORSTR, "Tamb. para RST-R", T_QP_CALC, " QSOp calc:", T_TO_CALC, "Total calc:", T_EDI_PROP, "EDI prop", T_RESPOP2, "Op. responsable", T_EDIT_QSO_CD, "Editar QSO %c: %03d", T_CALLSIGN2, "Licencia:", T_CLUB, " Club:", T_PADR1, " Direc.1:", T_PADR2, " Direc.2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Operador:", T_DATE, " Fecha:", T_MODE, " Modo:", T_RSTS, " RSTs:", T_RSTR, " RSTr:", T_QSONRS, "QSO env.:", T_QSONRR, "QSO rec.:", T_OPTEXCH, " OptExch:", T_WWL, " Locator:", T_REMARK, " Notas:", T_QRV2, " QRV on:", T_WKD, " WKD:", T_SEND_SKED, "Sked enviado", T_SELECT, "Seleccionar", T_QRG, " QRG:", T_WE_CALL, " Llamamos", T_BAND, " Banda:", T_TIME, " Hora:", T_DUPE_QSO, "QSO duplicado!", T_CLEAR_THIS_QSO, "Limpiar este QSO", T_EDIT_OLD_QSO, "Editar QSO viejo", T_MARK_OLD_QSO, "Marcar QSO viejo como ERROR", T_STORE_AS_DUPE, "Almacenar como DUP", T_BAD_CALL, "Esto no parece ser una licencia!", T_N_CALLSIGN, "\nLicencia:", T_AUTOSAVE_OPTS, "Opciones de Autosalvado", T_SAVE_AQ, "Salvar al disco luego del QSO:", T_SAVE_AM, "Salvar al disco luego de minutos:", T_FSYNC, "Fsync", T_SAVE_AQF, "Salvar al disquette luego del QSO: ", T_SAVE_AMF, "Salvar al disquette luego de minutos:", T_DO_MOUNT, "Mount no esta en /etc/mtab (no usado)", T_FLOPPY_PATH, "Path al disquette:", T_MOUNT_CMD, "Comando de montar: ", T_SW_SHELL, "Shell", T_SW_QSOS, "QSOs", T_SW_LOG, "Log", T_SW_TALK, "Talk", T_SW_SKED, "Sked", T_SW_UNFI, "Unfi", T_SW_DXC, "DXC", T_SW_STAT, "Stat", T_SW_MAP, "Map", T_SW_SCOPE, "Scope", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Player", T_SW_CHART, "Chart", T_SHELL, "Shell", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Talk", T_SKEDS, "Skeds", T_UNFI, "QSOs no finalizados", T_DXC, "DX Cluster", T_STAT, "Stadisticas", T_SWAP, "Swap (N/A)", T_MAP, "Mapa grafico", T_SCOPE, "Scope", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Comando", T_RESPAWN, "Respawn [sec]:", T_UNFI_QSO, "QSO no finalizado", T_N_REMARK, "\nNota:", T_NO_CQ, "No hay CQ definido", T_TEXT, "Texto:", T_SPEED, "Velocidad [WPM]:", T_REPEAT, "Repetir", T_DELAY, "Retardo [0.1s]:", T_ALLOW_UNDEF, "Pemitir aunque algun item no este definido", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Archivo:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "UDP port:", T_DEVICE, "Dispositivo de Keying:", T_INIT_SPEED, "Velocidad inicial [WPM]:", T_INIT_WEIGHT, "Peso:", T_WPMFROM, "WPM Rango desde", T_WPMTO, "a", T_USE_SPK, "Use parlante", T_LEADIN, "PTT retardo in [ms]", T_AUTGIVE, "Run mode aut. give after [chars]", T_IGN_IFACE_S, "Ignorando interface %-5s", T_IGN_ADDR_S, "Ignorando address %s", T_ADD_IFACE_SSD, "Adicionando interface=%-5s BCAST=%s:%d", T_FORCED_ADDR, "Forzando la direccion %s", T_TIMESKEW, "CUIDADO! Desfasaje de tiempo %d detectado con %s:%d !\n", T_DISCONNECTING_SD, "Desconectando de %s:%d", T_ACCEPTED_SD, "Aceptando %s:%d (%s)", T_CONNECTING_SD, "Conectando a %s:%d", T_CONNECTED_SD, "Conectado a %s:%d", T_DISCONNECTED_SD, "Desconectado de %s:%d", T_LOADED_CFG_SSSS, "Config cargado para %s %s (%s,%s)", T_LOADED_CW, "Cargado datos C_W data", T_PEER_NOT_FOUND, "ERROR! Peer %s no encontrado", T_CANT_CREATE_HOME_S, "No puedo crear el directorio %s", T_CANT_LOAD_CFG, "No puedo cargar la configuracion!\nEl programa no trabajara correctamente!", T_ERR_RC, "Se encontraron algunos errores mientras se examinaba el archivo de configuracion!\nEste archivo fue probablemente guardado con una nueva version de Tucnak!\nNo salve su configuracion a no ser que quiera perder datos!", T_SES_QTR, " QTR ", T_SES_QRA, " CALL ", T_SES_RST, " RST-S-No RST-R-No ", T_SES_QTH, " QTH ", T_SES_QRB, " Pts/QRB QTF ", T_SES_FLG, " Flg ", T_SES_OPE, " Oper. ", T_SES_EXC, " Exch ", T_SES_REM, " Notas ", T_SES_WELCOME, "Bienvenido a Tucnak! ", T_SES_PRESS_F10, "Presione F10 para menu.", T_SES_HAVE_FUN, "Tenga suerte.", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p PROM", T_SES_AVG, " AVG: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " WWLs: %d", T_SF_WWLS_UNDER, "-------------", T_SF_EXCS, " EXCs: %d", T_SF_EXCS_UNDER, "-------------", T_SF_MISS_EXCS, " Missing EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " DXCCs: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " WKD WWLs: %d", T_SF_WKD_WWLS_UNDER, "-----------------", T_SF_QSO_WWL4, " QSOS en WWL4s: %d", T_SF_QSO_WWL4_UNDER, "----------------------", T_SF_STATS_BAND, " Estadisticas para banda %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Concurso: %s", T_SF_ALLBQSOS, "QSO's en todas las bandas: %d", T_SF_ALLBQSOP, "QSOp en todas las bandas: %d", T_SF_ALLBPTS, "Puntos en todas las bandas: %d", T_SF_QSOS, "QSOs: %d", T_SF_VQSO, "Valid QSOs: %d", T_SF_QSOP, "QSO puntos: %d", T_SF_PTS, "Puntos: %d", T_SF_AVG_PTS, "Promedio pts/QSO: %5.2f", T_SF_AVG_QSOP, "Promedio qsop/QSO: %5.2f", T_BAND_RO, "Banda es solo lectura", T_THIS_BAND, "Esta banda", T_OTHER_BANDS, "Otras bandas", T_CW_DB, "C_W base de datos", T_PROC_EXITED, "*** Saliendo del proceso\n", T_WE_CALL2, "Llamando", T_WE_LISTEN, "Escuchando", T_QSL, "QSL prometida", T_RECORD, "Grabando trafico", T_MAXMIN, " Max. duracion de grabacion", T_TEMPLATE, "Mascar para el nombre de archivo grabado", T_PCM8, "8 bit PCM", T_PCM16, "16 bit PCM", T_ULAW, "mu-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Canales", T_SAMPLERATE, "Sample rate", T_FILLOP, "Fill operators", T_HK_FILLOP, "L", T_RECAQRB, "Recalcule QRB,QTF", T_HK_RECAQRB, "R", T_NETWORK, "Network & trace", T_HK_NETWORK, "K", T_IF_IGNORE, "Ignore interfaces:", T_IP_IGNORE, " Ignore networks:", T_IP_ANNOUNCE, " Anuncie a nets:", T_TRACE_BCAST, "Trace broadcasts ", T_TRACE_SOCK, "Trace sockets", T_TRACE_RECV, "Trace datos recibidos", T_TRACE_SEND, "Trace datos enviados", T_TRACE_QSOS, "Trace QSOs", T_TRACE_SDEV, "Trace rotars", T_NOT_MOUNTED_S, "No montado %s", T_RECSRC_NONE, "No seteado", T_RECSRC_MIC, "Microfono", T_RECSRC_LINE, "Line in", T_NEW_CALL, "Nuevo!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV en %s", T_SKED_QRG, "QRG para skeds", T_HK_SKED_QRG, "F", T_N_SKED_QRG, "\nQRG para skeds:", T_GRAB_BAND, "Grab control de banda", T_HK_GRAB_BAND, "G", T_FORCE_RUN, "Forzar mode RUN", T_HK_FORCE_RUN, "U", T_EXPORT_STATS, "Exportar estadisticas", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX QSOs:", T_SF_TOP_DX_UNDER, "-------------------", T_ROTAR, "Rotor", T_HK_ROTAR, "R", T_AZIMUTH, " Azimuth", T_ELEVATION, "Elevacion", T_CH_SPY, "Espiar", T_HK_CH_SPY, "S", T_CH_ENDSPY, "Finalizar espiar", T_HK_CH_ENDSPY, "P", T_EXPORT_TITLPAGE, "Exportar titulo de la pagina", T_HK_EXPORT_TITLPAGE, "P", T_BREAK_RECORD, "Cortar registro", T_HK_BREAK_RECORD, "B", T_GLOBAL_OPERATOR, "Cambiar para todas las bandas", T_GLOBAL_OPERATOR2, "Global", T_MAXFRAG, "Max. num de fragmentos (>=2)", T_PLAY_LAST, "Escuchar el ultimo ejemplo", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Opciones miscelaneas", T_HK_MISCOPTS, "P", T_LOGLINES, "Log lineas: ", T_SKEDSHIFT, "Sked shift (minutes): ", T_STARTBAND, "Comenzando en banda: ", T_GFX_X_CH, "Resolucion de pantalla (chars):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Resolucion de pantalla (pixels):", T_GFX_Y_PX, "x", T_CALL_INFO, "Info de la licencia", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSOs/hora: %d", T_SF_QSOP_HOUR, "Puntos/hora: %d", T_SF_QSOP_50QSO, "Puntos/50 QSOs: %d", T_SF_HOURS, " Horas", T_SF_HOURS_UNDER, "---------", T_SF_HOURS_TITLE, "Horas Puntos QSOs PROMpts/QSO", T_QSO_CHECK, "QSO check", T_HK_QSO_CHECK, "K", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Espacio minimo libre en disco [MiB]", T_FORMAT, "Formato de la grabacion", T_PCM_PLAY, "Dispositivo Alsa de audio", T_PCM_REC, "Dispositivo Alsa de captura", T_PERIOD, "Periodo de tiempo [ms]", T_BUFFER, "Buffer de tiempo [ms]", T_ALSA_MIXER, "Dispositivo Alsa mezclador", T_CAPTURE, "Fuente de captura", T_DSP, "OSS DSP", T_MIXER, "OSS mixer", T_RECSRC, "Fuente de registro", T_PA_PLAY, "Portaudio playback device", T_PA_REC, "Portaudio capture device", T_HOSTNAME, "Hostname:", T_SLASHKEY, "Slash key", T_FIXQRG, "Fix QRG", T_HK_FIXQRG, "X", T_ENTER_QRG, "Ingrese QRG exacta [Hz]", T_BAD_QRG, "Frecuencia incorrecta", T_CALLSIGN3, "Licencia", T_CALLSIGN_KST, "KST licencia de la estacion:", T_CANT_INIT_WINKEY_S, "No puedo iniciar winkey en %s", T_WINKEYOPTS, "Opciones Winkey", T_WK_WK2, "Winkey2 inicializacion rapida", T_WK_USEPOT, "Use speed pot", T_WK_USEBUT, "Usar botones", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Bug", T_WK_SWAP, "Paddle swap (left handled)", T_RIGOPTS, "Opciones del equipo", T_HK_RIGOPTS, "G", T_RIG_DEVICE, "Dispositivo:", T_RIG_MODEL, "Hamlib modelo", T_RIG_SPEED, "Baudrate: ", T_RIG_CIV, "CIV direccion (hex)", T_RIG_FREQSHIFT, "Corrimiento de freq.SSB->CW", T_RIG_CHOOSE, "Elija", T_ROTAROPTS, "Opciones del rotor", T_HK_ROTAROPTS, "I", T_DSSAVER, "Desactivar salva pantalla", T_DESC, "Descripcion", T_ROT_NONE, "Nada", T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys", T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI", T_ROT_HAMLIB, "Hamlib", T_ROT_REMOTE, "Remoto", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Serial #", T_ROT_ADD, "Adicionar un rotor nuevo", T_HK_ROT_ADD, "W", T_ROT_REMOVE, "Eliminar rotor", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "Ancho del beam:", T_SADDR, "Comunicacion address:", T_MODEL, "Modelo:", T_ROT_REM_ROTSTR, "Letra del rotor para remoto", T_QSOGLOB, "Global QSO NR", T_PREFGLOB, "Global PREF", T_NOT_RECORDING_S, "No grabando - %s", T_SKEDCOUNT, "Sked count in popup: ", T_FONTHEIGHT, "Font height (16-32): ", T_RIG_POLL_MS, "Rig poll interval [ms]: ", T_RIG_QRG_R2T, "Set band from radio", T_RIG_QRG_T2R, "Change band on radio", T_RIG_MODE_T2R, "Change mode on radio", T_RUN_MODE, "Run mode", T_HK_RUN_MODE, "M", T_SP_MODE, "S&P mode", T_HK_SP_MODE, "M", T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save", T_RIG_DEBUG, "Debug rig", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Band QSO Point Mult", T_HF_SUM, "Sum:", T_HF_LAST, "Last Q-%s P-%s", T_EVEN, "TX even", T_HK_EVEN, "v", T_ODD, "TX odd", T_HK_ODD, "d", T_1ST, "TX 1st", T_HK_1ST, "1", T_2ND, "TX 2nd", T_HK_2ND, "2", T_HF_SCORE, "Score:", T_EXPMODE, "Expedition mode", T_TTTYPE, "Only digits mean", T_ROT_POLL_MS, "Poll interval [ms]:", T_VERSION, "Version", T_HK_VERSION, "V", T_REMOTE_HOST, " Remote host name:", T_REMOTE_PORT, " Remote TCP port:", T_REMOTE_PASS, " Remote Password:", T_STARTING_AC, "Starting AS", T_STOPPING_AC, "Stopping AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Speed:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Durat: %ld", T_EXPORTING_S, "Exporting %s", T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s", T_EXPORTING, "Exporting ...", T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables", T_LOADING_CHARTS, "Loading charts", T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control", T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in", T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi", T_CANT_CREATE_PIPE, "Can't create pipe", T_TERMINATING_CWDAEMON, "Terminating CW/PTT control", T_INIT_CWDB, "Initializing WWL database", T_TERM_CWDB, "Terminating WWL database", T_LOADING_CWDB, "Loading WWL database", T_QRV_ON, "QRV on: ", T_CANT_INIT_FTDI, "Can't init ftdi library for davac4", T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s", T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s", T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s", T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s", T_INIT_SOUNDCARD, "Initializing soundcard", T_NO_OSS, "OSS support not compiled in", T_NO_ALSA, "Alsa support not compiled in", T_NO_PORTAUDIO, "portaudio support not compiled in", T_NO_SNDFILE, "Libsndfile support not compiled in", T_NO_SNDPIPE, "Sndpipe support not compiled in", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Initializing DXCC database", T_FREE_DWDB, "Terminating DXCC database", T_LOAD_DWDB, "Loading DXCC database", T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n", T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n", T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n", T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n", T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n", T_CALL_ON_BAND_S, "Callsign on band %s is %s\n", T_LOCATOR_ON_BAND, "Locator on band %s is %s\n", T_QSO_CHECK_LIST, " Tucnak QSO check list\n", T_CALL_SN, " Call: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Date: %s\n", T_CHECKING_S, "Checking %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Seems to be O.K.\n", T_CW_NOT_FOUND, "C_W: %s not found\n", T_0X_NOT_IN_DB, " 0x (not in database)", T_NAME_IS, "Name: %s's name is %s\n", T_NAME_UNKNOWN, "Name: %s's name is unknown\n", T_INIT_DXC, "Initializing DXcluster database", T_FREE_DXC, "Terminating DXcluster database", T_HK_SELECT, "S", T_HIDE, "Hide", T_HK_HIDE, "H", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Use", T_HK_USE, "U", T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n", T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n", T_HOST_RESOLVED, "*** Host resolved ", T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n", T_CONNECTING_TO, "*** Connecting to %s ***\n", T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n", T_CONNECTED_SOCKET, "*** Connected socket %d ***\n", T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n", T_DISCONNECTED, "\n*** Disconnected ***\n", T_RESOLVING, "*** Resolving %s ***\n", T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s", T_SAVED, "Saved '%s'", T_LOADING_CONTEST, "Loading contest %s", T_LOADING_LOGFILE, "Loading logfile", T_LOADING_TALK, "Loading talk", T_SEARCH_FILES, "Search for contest files", T_LOADING_BAND, "Loading band %s", T_LOADING_SPY, "Loading spy", T_LOADING_HICALLS, "Loading hicalls", T_LOADING_QRV, "Loading qrv", T_LOADING_CHART, "Loading chart", T_SAVING_CONTEST, "Saving contest", T_UPD_INT_DATA, "Updating internal data", T_CALC_STATS, "Calculating statistics", T_ANN_OVER_NET, "Announcing over network", T_ACTIVATING_BAND, "Activating band %s", T_UPDATING_WKD, "Updating worked calls", T_UPDATING_QRBQTF, "Updating QRB&QTF", T_UPDATING_GAIN, "Updating gain chart", T_SEN_OVER_NET, "Sending info over network", T_INIT_EXCDB, "Initializing exchange database", T_FREE_EXCDB, "Terminating exchange database", T_INIT_FFT, "Initializing FFT analyse", T_FREE_FFT, "Terminating FFT analyse", T_INIT_ROTAR, "Initializing rotator control", T_FREE_ROTAR, "Terminating rotator control", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Points", T_AVG, "AVG", T_INIT_HTTPD, "Initializing HTTP server", T_FREE_HTTPD, "Terminating HTTP server", T_NO_CONTEST_OPENED, "

No contest opened

\n", T_NO_CONTEST_OPENED2, "No contest opened", T_STATS, "Statistics", T_BAND_NOT_FOUND, "Band not found", T_BAND_C_NOT_FOUND, "

Band %c not found

", T_QSOS_IN_DATABASE, "qsos in database", T_TUCNAK_ONLINE_LOG, "Tucnak online log", T_DATE2, "Date", T_UTC, "UTC", T_CALL, "Call", T_CALL_NOT_FOUND, "Call not found", T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d", T_FREE_TERM, "Terminating terminal", T_TERM_KEYMAPS, "Terminating keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh mistake", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Ask for sked", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Message", T_HK_MESSAGE, "M", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n", T_RESOLVED, "*** Resolved ", T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n", T_SENDING_SH_US, "*** Sending /sh us ...\n", T_SKIP_LINE, "Skip line %d '%s'", T_CANT_CREATE_HOME, "Can't create home directory '%s'", T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s", T_INIT_MAP, "Initializing polar map", T_DISABLE_SAVER, "Disabling screensaver", T_STARTING_TUCNAK, "Starting Tucnak", T_FREE_MAP, "Terminating polar map", T_INIT_MASTERDB, "Initializing master database", T_FREE_MASTERDB, "Terminating master database", T_LOAD_MASTERDB, "Loading master database", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s", T_DIRECTORY_SCAN, "Directory scan", T_V3_COMPATIBILITY, " (v3 compatibility)", T_RELOAD_INTERFACES, "Reload interfaces", T_SET_READONLY, "Set read-only", T_CHANGE_TYPE, "Change type", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Open connection", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Kill connection", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Export to text file", T_ADD_CONTEST, "Add contest", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Add file(s)", T_HK_ADD_FILES, "F", T_ADD_CONTESTS, "Add contests", T_HK_ADD_CONTESTS, "O", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Int.error test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Dump RW bands and hashes", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Update Tucnak", T_HK_UPDATE, "U", T_SETTINGS, "Settings", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "Voip spy", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "End voip spy", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest is old, spy is not available", T_NETWORK_SCAN, "Network scan", T_HTTPD_OPTIONS, "HTTPD options", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter options", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR options", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Other:", T_NONE, "None ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "Unused ", T_USED_6, "Used (6)", T_OPT_6, "Opt. (6)", T_USED_4, "Used (4)", T_OPT_4, "Opt. (4)", T_FREE, "Free ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Verified", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Confirm WWL", T_CONFIRM_EXC, "Confirm EXC", T_FONT_SIZE, "Font size: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, " SLOVHF user:", T_SDR, "SDR", T_PARPORT, "parport", T_TTYS, "ttys", T_TTYSSINGLE, "ttys single pin", T_AUDIO_SUBSYSTEM, "Audio subsystem:", T_PLAYBACK_VOLUME, "Playback volume", T_CAPTURE_VOLUME, "Capture volume", T_ENABLE_REMOTE_CONNECT, "Enable remote connect", T_TRACE_RIG, "Trace rig", T_TRACE_KEYS, "Trace keys", T_SAVE_RESTART, "You must save configuration and restart Tucnak", T_FULLSCREEN, "Fullscreen", T_TOUCH, "Use touch control", T_ALT_QWER, "Alt turns QWER.. to 1234..", T_NO_LOCKS, "No device locks", T_PORTRAIT_ORIENTATION, "Portrait orientation", T_REVERSE, "Reverse", T_CHOOSE_RIG, "Choose rig", T_RIG_D, "Rig %d", T_NEW_RIG, "New rig", T_ENABLED, "Enabled", T_SET_PTT_ON_RADIO, "Set PTT on radio", T_DISABLED, " (disabled)", T_ADD_RIG, "Add rig", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Enable", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Show private information", T_REFRESH, "Refresh interval:", T_LOAD_FROM_NET, "Load from network", T_LOAD_CWDB, "Load C_W database", T_LOAD_NAMEDB, "Load Name database", T_LOAD_QRVDB, "Load QRV database", T_READONLY_BANDS, "Read-only bands", T_ENABLE_AC, "Enable AS", T_AC_URL, "Alternative URL for flightradar data", T_K_FACTOR, "Troposphere k_factor", T_AC_AREA_WIDTH, "Reflection area width in km", T_AC_EL_ANGLE, "Minimal elevation angle", T_AC_MAX_EL_ANGLE, "Maximal elevation angle", T_AC_MIN_DURATION, "Minimal reflection duration in sec", T_AC_MAX_DIFF, "Max difference of incidence and reflection angles", T_BAD_NUMBER_RANGE, "Bad number range", T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate", T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder", T_NO_DEVICE, "No device", T_IQ_SOURCE, "IQ source:", T_WAV_FILE, "WAV file", T_WAV_FILE_NAME, "WAV file name", T_AF_OUTPUT, "AF output:", T_AF_SAMPLE_RATE, "AF sample rate", T_BLOCK_SIZE, " Block size", T_CW_FILTER, " CW filter", T_TO_HZ, "to [Hz]", T_SSB_FILTER, " SSB filter", T_INIT_NAMEDB, "Initializing name database", T_FREE_NAMEDB, "Terminating name database", T_LOAD_NAMEDB2, "Loading name database", T_INIT_NET, "Initializing network", T_FREE_NET, "Terminating network", T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops", T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s", T_TIME_WAS_SET, "Time was set", T_FAILED_TO_SET_TIME, "Failed to set time", T_INIT, "INIT", T_CONNECTING, "CONNECTING", T_CONNECTED, "CONNECTED", T_WAIT_ACK, "WAIT_ACK", T_DISCONNECTED2, "DISCONNECTED", T_DEAD, "DEAD", T_LONG_XFER, "LONG_XFER", T_AUTHENTICATED_USER_S, "Authenticated user %s", T_BAD_AUTHENTICATION_S, "Bad authentication %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT", T_LONG_TRANSFER_FINISHED, "Long transfer finished", T_INIT_NTP, "Initializing NTP monitor", T_FREE_NTP, "Terminating NTP monitor", T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP", T_INIT_SPEAKER, "Initializing PC speaker", T_FREE_SPEAKER, "Terminating PC speaker", T_CANT_PLAY, "Can't play %s - %s", T_CANT_SEEK_TO_END, "Can't seek to end %s - %s", T_CANT_SEEK_TO_START, "Can't seek to start %s - %s", T_CANT_OPEN, "Can't open %s %s", T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Can't set %s to EPP mode %s", T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s", T_CANT_CLAIM, "Can't claim %s %s", T_INIT_QRVDB, "Initializing QRV database", T_FREE_QRVDB, "Terminating QRV database", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Loading qrvs", T_UNSPECIFIED, "unspecified", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n", T_FOUND_D_ERRORS, "Found %d error%s while reading %s", T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net", T_REGISTRATED_ROTATORS, "Registrated rotators:", T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n", T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread", T_INIT_ROTARS2, "Initializing rotators", T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n", T_ROTAR_ERROR_S, "Rotar error: %s", T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe", T_CANT_READ_FROM, "Can't read from", T_CANT_WRITE_TO, "Can't write to", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Bad update file name", T_CANT_EXECUTE_INSTALLER, "Can't execute installer, ", T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed", T_UPDATE_FAILED, "Update failed", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply.", T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s", T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install.", T_NO_NEW_VER, "No new version available.", T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests...", T_CHOOSE_CONTEST, "Choose contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload", T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form...", T_ALL_EDI_FILES_PROCESSED, "All EDI files processed.", T_UPLOADING_LOG_FILE_S, "Uploading log file %s ...", T_UPLOADING_BAND_S, "Uploading band %s", T_CONFIRMING_LOG, "Confirming log...", T_RESULT_ERROR, "*** Result: ERROR please read error message above", T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s", T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores...", T_LOGS_UPLOADED, "Logs uploaded.", T_HTTP_STATUS, "HTTP status: ", T_LOG_UPLOAD, "Log upload", T_VOIP_NO_INITIALIZED, "VOIP no initialized", T_PAGE_NAME, "Page name", T_OVERWRITE_EXISTING_FILES, "Overwrite existing files", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Password", T_EXPORT_MAP, "Export map", T_EXPORT_CHART, "Export chart", T_MEDIAWIKI_UPLOAD2, "Mediawiki upload", T_BAD_AUTH_USER, "Bad auth user %s != %s", T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame", T_CANT_GET_FMTS, "Can't get supported audio formats: %s", T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s", T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s", T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s", T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s", T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s", T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s", T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s", T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d", T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s", T_RECORD2, "record", T_PLAYBACK, "playback", T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s", T_CANT_STOP_PA, "Can't stop PortAudio stream: %s", T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s", T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\"", T_CANT_SET_STROBE, "Can't set parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error", T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n", T_INIT_SERIAL_DEVICES, "Initializing serial devices", T_BAD_CHECKSUM, "Bad checksum", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Bad response", T_UNKNOWN_FUNCTION, "Unknown function", T_UNKNOWN_ERROR_CODE, "Unknown error code", T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n", T_WAIT_FOR_SDR_THR, "Waiting for SDR thread", T_QSO_REQ_FROM_SP, " QSO request from S&P ", T_QSO_REQ_SENT, " QSO request sent to RUN ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Location unknown", T_DEGREE, "deg", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe", T_INIT_SSB_CQ, "Initializing SSB CQ", T_FREE_SSB_CQ, "Terminating SSB CQ", T_NO_FILE, "No file specified", T_UNSUP_CHANNELS, "Unsupported number of channels = %d", T_FLOAT_UNSUPP, "Float point files are not supported", T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing", T_REC_DISABLED, "recording disabled", T_CONTEST_TOO_OLD, "contest too old", T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Error writing file %s: %s", T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording", T_NO_DISK_SPACE, "Not enough free disk space for file", T_CANT_PLAY_FILE, "Can't play file %s - %s", T_CANT_WRITE_SS, "Can't write to file %s - %s", T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded", T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template", T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n", T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***", T_LOADING_S, "Loading %s", T_INVALID_WINDOW_TYPE, "invalid window type %d\n", T_INIT_RIG, "Initializing rig control %d", T_RIG_ERROR, "Rig error: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n", T_FREE_RIG, "Terminating rig control %d", T_WAIT_FOR_RIG_THR, "Waiting for rig thread", T_INVALID_PARAM, "Invalid param.", T_RIG_INVALID_CONFIG, "Invalid config.", T_RIG_NOT_ENOUGH_MEM, "Not enough mem.", T_RIG_NOT_IMPLEMENTED, "Not implemented", T_RIG_COMM_TIMEOUT, "Comm. timeout", T_RIG_IO_ERROR, "IO error", T_RIG_INTERNAL_ERROR, "Internal error", T_PROTOCOL_ERROR, "Protocol error", T_RIG_COMMAND_REJECT, "Command reject.", T_RIG_ARG_TRUNCATED, "Arg. truncated", T_RIG_F_NOT_AVAILABLE, "F not available", T_RIG_VFO_NOT_TARGET, "VFO not target.", T_RIG_ERROR_ON_BUS, "Error on bus", T_RIG_BUS_COLLISION, "Bus collision", T_RIG_INVALID_ARG, "Invalid arg.", T_RIG_INVALID_VFO, "Invalid VFO", T_RIG_ARG_OUT_OF_DOM, "Arg out of dom.", T_ERROR_D, "Error %d", T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)", T_CANT_SET_GRAPHICS2, "Can't set graphics mode", T_WAIT_SDL_THR, "Waiting for SDL event thread", T_FREE_GRAPHICS, "Terminating graphics", T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s", T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s", T_CANT_READ_LOG_FILE, "Can't read log file %s", T_CANT_UPLOAD_LOG, "Can't upload log: %s", T_CANT_CONFIRM_LOG, "Can't confirm log: %s", T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s", T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Date:", T_QSOS2, "QSOs:", T_POINTS2, "Points:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Can't upload file: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s", T_FILE_ALREADY_EXISTS, "File already exists: %s", T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s", T_CANT_EDIT_PAGE, "Can't edit page: %s", T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s", T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s", T_EDITING_CONTEST_PAGE, "Editing contest page...", T_ALL_DONE, "All done.", T_UPLOADING_FILE, "Uploading file %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s", T_QUERYING_EDIT_TOKEN, "Querying edit token", T_CANT_LOGIN, "Can't log in (2): %s", T_CANT_LOGIN2, "Can't log in (2), wiki says: %s", T_CANT_LOGIN1, "Can't log in (1): %s", T_LOGGING_IN, "Logging in...", T_EXPORTING_FILES, "Exporting files...", T_INIT_WIZZ, "Initializing contest wizard", T_FREE_WIZZ, "Terminating contest wizard", T_LOAD_WIZZ_DATA, "Loading contest wizard data", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Contest phase", T_HK_PHASE, "H", T_ENTER_PHASE, "New contest phase: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/Makefile.in0000644000175000017500000003017414125266462012700 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = intl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ INTL = castellano.lng czech.lng english.lng french.lng german.lng italian.lng polish.lng portuguese.lng slovak.lng EXTRA_DIST = $(INTL) fixlang.pl gen-conly gen-intl index.txt all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu intl/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu intl/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile all: ../src/language.inc ../src/langascii.inc ../src/language.inc: $(INTL) ./fixlang.pl ./gen-intl ../src/langascii.inc: $(INTL) ./fixlang.pl ./gen-intl # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/intl/slovak.lng0000644000175000017500000012077014001016267012623 00000000000000T__CHAR_SET, "iso8859-2", T__LANGUAGE, "Slovak", T_ABOUT, "O programe", T_BAD_NUMBER, "Chybn slo", T_BAD_STRING, "Chybn reazec", T_BASIC_HELP, "Stla F10 pre vstup do menu.", T_BLOCK_CURSOR, "Blokov kurzor", T_CANCEL, "Zrui", T_CHARACTER_SET, "Znakov sada", T_COLOR, "Farbiky", T_COPYING, "Koprovanie", T_DIFFERENCE, "rozdiel", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Urite chce ukonit Tuka?", T_EMPTY_STRING_NOT_ALLOWED, "Przdny reazec nie je povolen", T_ERROR, "Chyba", T_WARNING, "Varovanie", T_EXIT, "Koniec", T_EXIT_TUCNAK, "Ukonenie Tuka", T_FILE, "Sbor", T_FULL_SCREEN, "Cel obrazovka", T_HELP, "Pomoc", T_HK_ABOUT, "O", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "Z", T_HK_COPYING, "P", T_HK_EXIT, "E", T_HK_FILE, "S", T_HK_FULL_SCREEN, "C", T_HK_HELP, "P", T_HK_LANGUAGE, "J", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "S", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "O", T_HK_XTERM, "X", T_KOI8R_FRAMES, "Rmeky KOI8-R", T_LANGUAGE, "Jazyk", T_LAST, "posledn", T_LINUX_OR_OS2_FRAMES, "Rmeky typu Linux alebo OS/2", T_MEMORY_INFO, "Informcie o pamti", T_NO_FRAMES, "Bez rmekov", T_NO, "Nie", T_NUMBER_EXPECTED, "Oakvm slo", T_NUMBER_OUT_OF_RANGE, "islo je mimo rozsah", T_OK, "OK", T_OS_SHELL, "Prkazov riadok", T_RESTRICT_FRAMES_IN_CP850_852, "Ohranien rmeky v cp850/852", T_UTF_8_IO, "UTF-8 Vstup/Vstup", T_SCREEN, "Screen", T_SETUP, "Nastavenia", T_TERMINAL_OPTIONS, "Nastavenia terminlu", T_TUCNAK__TACLOG_LIKE, "Tuk " VERSION_STRING "\n\nTACLOGu podobn dennk pre VKV/mikrovlnn preteky", T_TWTERM, "Twterm", T_USE_11M, "Pouva ^[[11m", T_VT_100_FRAMES, "Rmeky VT 100", T_WELCOME1, "Vt T Tuk!", T_WELCOME2, "Prosm zadaj svoju znaku a loktor:", T_WELCOME, "Vitaj", T_XTERM, "Xterm", T_YES, "no", T_CANT_APPEND_S, "Nemono prida na koniec sboru %s", T_CANT_WRITE, "Nemono zapsa do sboru", T_CANT_WRITE_S, "Nemono zapsa do sboru %s", T_CANT_READ, "Nemono preta sbor", T_CANT_READ_S, "Nemono preta sbor %s", T_SAVED_S, "Uloen %s", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - rchlos CW ", T_CANT_OPEN_S, "Nemono otvori %s", T_CANT_LOCK, "Nemono zamkn sbor", T_CANT_LOCK_S, "Nemono zamkn sbor %s", T_LOADING_CTEST_S, "*** Natan pretek %s", T_NO_FILES, "Neexistuj iadn sbory", T_BAND_EXIST_SS, "POZOR! Psmo %s (%s) u existuje", T_BAND_NOT_OPEN, "Psmo nie je v tomto preteku aktvne", T_NO_BANDS, "Neexistuj iadn psma", T_CANT_SET_GR_S, "Nemono nastavi grafick md-%s", T_GCALL, "Znacka: %s", T_GWWL, "Stvorec: %s", T_GQRB, "Vzdial.: %d km", T_GQTF, "Uhol: %d st", T_GSEN, "Odoslane: %s %s", T_GRCV, "Prijate: %s %s", T_GTIM, "Cas: %s", T_GOPE, "Operator: %s", T_GREM, "Pozn: %s", T_GWKD, "Wkd: %d", T_GINC, "Zisk azim:%d", T_GLON, "Dlz: %7.2f %-6s", T_GLAT, "Sir: %7.2f %-6s", T_GLOC, "Lok: %s", T__PLESE_WAIT_, " Prosim o chvilu strpenia ", T__RO_BAND, " PSMO LEN PRE TANIE", T_COPYING_VER, "The ultimate contestlog - necessary as known\n\nVerzia " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nTento program je slobodn softvr; me ho it a/alebo pozmeova poda ustanoven Obecnej verejnej licencie GNU, vydanej Free Software Foundation; a to verzie 2 a vyej tejto licencie.", T_CTEST_ACTIVE, "U existuje aktvny pretek ", T_NO_CTESTS, "iadn preteky", T_NO_CCLOSE, "Nie je o zavrie", T_REALLY, "Urite?", T_CLOSE_CTEST, "Naozaj chce zavrie tento pretek?", T_GUI_LD, "Uv. prostredie: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw poloiek, %d wc poloiek, posledn %d\n", T_EXC, "Exc: %s %d exc poloek, %d exc poloek, posledn %d\n", T_VEXC, "Kontrolovan EXC: %d poloek\n", T_DWI, "D_W: %d prefixov, %d zem DXCC, %d tvorcov\n", T_NAMES, "Names: %d mien\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Pam:", T_NMY, " Ja: ", T_NGLOBAL, "Hl.f: ", T_NMASTER, " f: ", T_NREMOTE, "Remote: ", T_NSLAVES, "\nPodriaden:\n", T_NINFO, "Sieov informcie", T_NO_BANDS_QRV, "iadn aktvne psma", T_NO_BANDS_CONF, "iadn psma", T_NOT_AVAILABLE, "Nedostupn", T_ADD_SUBWIN, "Prida okno", T_HK_ADD_SUBWIN, "P", T_CLOSE_SUBWIN, "Zavrie okno", T_HK_CLOSE_SUBWIN, "Z", T_HK_NINFO, "S", T_NEW, "Nov", T_HK_NEW, "N", T_NEW_WIZZ, "Sprievodca novm pretekom", T_HK_NEW_WIZZ, "P", T_NEW_NET, "Nov ze st", T_HK_NEW_NET, "S", T_OPEN, "Otvori", T_HK_OPEN, "O", T_SAVE, "Uloi", T_HK_SAVE, "U", T_EXPORT_EDI, "Exportova do EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Exportova do reportu (VKVPA)", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Exportova do ADIFu", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Export as ADIF", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Exportova do HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Export as MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Importova EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Importovat ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Importovat swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Import list", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Voby poas preteku", T_HK_CONTEST_OP, "O", T_CLOSE_CONTEST, "Zavrie pretek", T_HK_CLOSE_CONTEST, "Z", T_ADD_ERROR, "Prida chybn spojenie", T_HK_ADD_ERROR, "E", T_CHOP, "Zmena opertora", T_HK_CHOP, "O", T_CW_CTEST, "Aktualizova C_W z preteku", T_HK_CW_CTEST, "C", T_CW_BAND, "Aktualizova C_W z psma", T_HK_CW_BAND, "B", T_EXC_CTEST, "Aktualizovat EXC ze zvodu", T_HK_EXC_CTEST, "P", T_EXC_BAND, "Aktualizovat EXC z psma", T_HK_EXC_BAND, "D", T_IMPORT_EBW, "Importova DL8EBW db.", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "iadn pretek", T_NO_PEERS, "al Tuci nenjden", T_NO_MASTER, "f je nedostupn!", T_CTEST_DEF, "Nastavenie preteku", T_HK_CTEST_DEF, "R", T_BAND_DEF, "Nastavenie psiem", T_HK_BAND_DEF, "P", T_HK_RESPOP, "O", T_CW_DAEMON, "Klovn CW", T_HK_CW_DAEMON, "M", T_CW_CQ, "CW vzvy", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB vzvy", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Automatick ukladanie", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Nata nastavenie zo siete", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Nata C_W zo siete", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Uloi nastavenia", T_HK_SAVE_CFG, "U", T_CONTEST, "Pretek", T_HK_CONTEST, "R", T_EDIT, "Edit", T_HK_EDIT, "E", T_BANDS, "Psma", T_HK_BANDS, "P", T_SUBWINS, "Okn", T_HK_SUBWINS, "O", T_BAND_SETTINGS_SC, "Nastavenie pre psmo %c %s", T_QRV_ON_THIS_BAND, "QRV na tomto psme", T_QRV_IN_THIS_CTEST, "QRV v tomto preteku", T_READ_ONLY, "Len na tanie", T_MULTI, "Multi", T_SINGLE, "Single", T_CHECK, "Check", T_TXEQUIP, " Vys. zariadenie:", T_POWER, " Vkon:", T_RXEQUIP, " Prm. zariad.:", T_ANTENNA, " Antna:", T_AGLASL, " vka zem;more:", T_OPS, " Opertori:", T_SPACES1, " ", T_REMARKS, " Poznmky:", T_OK_SECTION_SINGLE, "Kategorie Single v OK", T_OK_SECTION_MULTI, "Kategorie Multi v OK", T_QRG_MIN, "Hranice psma od", T_QRG_MAX, "do [kHz]", T_ADIFBAND, "Nzev psma pro ADIF", T_SKEDQRG, "Frek. pro skedy (lib. formt)", T_BAND_LO, "LO transvertoru [Hz]", T_BANDSW, "Hodnota prepinace pasem", T_RESPOP, "Zodpovedn opertor", T_NAME, "Meno Priezv:", T_CALLSIGN, " Znaka:", T_ADDRESS, " Adresa:", T_POSTCODE, " PS:", T_CITY, " Mesto:", T_COUNTRY, " Zem:", T_PHONE, " Telefn:", T_BBSEMAIL, " BBS/E-mail:", T_QP0, " --ni -- ", T_QP1, " 1 QSOp*QSOp_m (Stand. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK VKVPA)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltsk preteky)", T_QP9, " 9 WWL_dist*QSOp_m (Baltsk & seversk poln de)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (distrikty)", T_QP13, "13 kontinent (CQ WW DX Contest)", T_QP14, "14 kontinent+psmo (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --none -- ", T_TP1, " 1 Nsoben (Std. IARU)", T_TP2, " 2 Stan (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "Nov pretek", T_CANT_TRUNC, "Nemono skrti sbor s popisom preteku", T_NAME_OF_CTEST, " Nzov preteku: ", T_CALL_OF_CTEST, "Znaka v preteku: ", T_CLUB_ST, "Klub. znaka:", T_YOURWWL, "Tvoj WWL:", T_YOUREXC, "Tvoj EXC:", T_DATE_OF_CTEST, "Dtum preteku:", T_QSOUSED, "QSO NR pouit", T_QSOPM, " QSOp ns.:", T_WWLUSED, "WWL pouit", T_WWLB, "WWL bonus:", T_WWLM, " WWL ns.: ", T_EXCUSED, "EXC pouit", T_EXCB, " EXC bonus:", T_EXCM, " EXC ns.: ", T_EXCNAME, "EXC jmno:", T_PREFM, "PREF nsob:", T_DXCB, " DXC bonus:", T_DXCM, " DXC ns.: ", T_RSTUSED, "RST pouit", T_DEFRS, " Ben RS: ", T_DEFRST, "Ben RST:", T_ALSORSTR, "Tak pro RST-R", T_QP_CALC, " Vpoet QSOp:", T_TO_CALC, "Vpoet celku:", T_EDI_PROP, "EDI poloky", T_RESPOP2, "Zodpovedn opertor", T_EDIT_QSO_CD, "Editcia spojen %c: %03d", T_CALLSIGN2, " Znaka:", T_CLUB, " Klub:", T_PADR1, " PAdr1:", T_PADR2, " PAdr2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Opertor:", T_DATE, " Dtum:", T_MODE, " Md:", T_RSTS, "Odos.RST:", T_RSTR, "Prij.RST:", T_QSONRS, "Odos.s:", T_QSONRR, "Prij.s:", T_OPTEXCH, " OptExch:", T_WWL, " tvorec:", T_REMARK, "Poznmka:", T_QRV2, " QRV on:", T_WKD, " WKD:", T_SEND_SKED, "Posla sked", T_SELECT, "Vber ", T_QRG, "Frekvencia:", T_WE_CALL, "J volm", T_BAND, " Psmo:", T_TIME, " as:", T_DUPE_QSO, "Duplicitn QSO!", T_CLEAR_THIS_QSO, "Zmaza toto QSO", T_EDIT_OLD_QSO, "Editova star QSO", T_MARK_OLD_QSO, "Oznait star QSO ako ERROR", T_STORE_AS_DUPE, "Uloit toto ako DUPE", T_BAD_CALL, "Toto nevyzer ako znaka", T_N_CALLSIGN, "\nZnaka:", T_AUTOSAVE_OPTS, "Automatick ukladanie", T_SAVE_AQ, "Uloi na disk po pote spojen: ", T_SAVE_AM, "Uloi na disk po pote mint: ", T_FSYNC, "Synchronizova cache s diskom", T_SAVE_AQF, "Uloi na disketu po pote spojen: ", T_SAVE_AMF, "Uloi na disketu po pote mint: ", T_DO_MOUNT, "Pripoji disketu pokia nie je v /etc/mtab (N/A)", T_FLOPPY_PATH, "Cesta k diskete:", T_MOUNT_CMD, "Prkaz pre pripojenie (N/A): ", T_SW_SHELL, "Prk", T_SW_QSOS, "Spoj", T_SW_LOG, "Log", T_SW_TALK, "Kec", T_SW_SKED, "Sked", T_SW_UNFI, "Nedok", T_SW_DXC, "Clust", T_SW_STAT, "Stat", T_SW_MAP, "Mapa", T_SW_SCOPE, "Osc", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Player", T_SW_CHART, "Chart", T_SHELL, "Prkazov riadok", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Kec (rozhovor)", T_SKEDS, "Skedy (dohovoren spojenia)", T_UNFI, "Nedokonen spojenia", T_DXC, "DX Cluster", T_STAT, "tatistiky", T_SWAP, "Swap (N/A)", T_MAP, "Graphick mapa", T_SCOPE, "Osciloskop", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Prkaz", T_RESPAWN, "Znovuspustenie [sek]:", T_UNFI_QSO, "Nedokonen spojenie", T_N_REMARK, "\nPoznmka:", T_NO_CQ, "Neexistuj iadn vzvy", T_TEXT, "Text:", T_SPEED, "Rchlos [WPM]:", T_REPEAT, "Opakovanie", T_DELAY, "akanie [0.1s]:", T_ALLOW_UNDEF, "Povoli aj ke je niektor poloka neznma", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Sbor:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, " UDP port:", T_DEVICE, "Kovacie zariadenie:", T_INIT_SPEED, "Poiaton rchlos [WPM]:", T_INIT_WEIGHT, "Vha (30-70)", T_WPMFROM, "Rychlost WPM od", T_WPMTO, "do", T_USE_SPK, "Poui speaker (reprk)", T_LEADIN, "Pedstih PTT [ms]", T_AUTGIVE, "Run mode aut. give after [chars]", T_IGN_IFACE_S, "Ignorujem sieov rozhranie %-5s", T_IGN_ADDR_S, "Ignorujem adresu %s", T_ADD_IFACE_SSD, "Pridan rozhranie=%-5s vesmer=%s:%d", T_FORCED_ADDR, "Adresa naviac %s", T_TIMESKEW, "POZOR! Detegovan prli vek rozdiel asu %d oproti %s:%d !\n", T_DISCONNECTING_SD, "Odpjam od %s:%d", T_ACCEPTED_SD, "Akceptovan spojenie od %s:%d (%s)", T_CONNECTING_SD, "Pripjam k %s:%d", T_CONNECTED_SD, "Pripojen k %s:%d", T_DISCONNECTED_SD, "Odpojen od %s:%d", T_LOADED_CFG_SSSS, "Natan nastavenie pre %s %s (%s,%s)", T_LOADED_CW, "Natan C_W databza", T_PEER_NOT_FOUND, "CHYBA! Tuk %s nenjden", T_CANT_CREATE_HOME_S, "Nemono vytvori adresr %s", T_CANT_LOAD_CFG, "Nemono nata konfigurciu!\nProgram neme pracova sprvne!", T_ERR_RC, "Dolo k chybe pri tan konfigurku!\nSbor bol pravdepodobne uloen novm Tukom !\nRadej neukladaj konfigurciu inak prde o dta v konfigurku!", T_SES_QTR, " as ", T_SES_QRA, " Znaka ", T_SES_RST, " RST-O- RST-P- ", T_SES_QTH, " tvorec ", T_SES_QRB, "Body/vzd Uhol", T_SES_FLG, " Przn", T_SES_OPE, " Oper ", T_SES_EXC, " Exch ", T_SES_REM, " Poznmka ", T_SES_WELCOME, "Vta a Tuk! ", T_SES_PRESS_F10, "Sta F10 pre vstup do menu. ", T_SES_HAVE_FUN, "Uvaj si :-)", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "Spoj Spoj-b OptX Locs Zeme Celkom-b AVG", T_SES_AVG, "Priem: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " tvorce: %d", T_SF_WWLS_UNDER, "----------------", T_SF_EXCS, " EXC poloky: %d", T_SF_EXCS_UNDER, "--------------------", T_SF_MISS_EXCS, " Missing EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " Zeme: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " Roben tvorce: %d", T_SF_WKD_WWLS_UNDER, "----------------------", T_SF_QSO_WWL4, " Spojenia do vekch tvorcov: %d", T_SF_QSO_WWL4_UNDER, "-----------------------------------", T_SF_STATS_BAND, " tatistiky pre psmo %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Contest: %s", T_SF_ALLBQSOS, "All bands QSOs: %d", T_SF_ALLBQSOP, "All bands QSOp: %d", T_SF_ALLBPTS, "All bands pts: %d", T_SF_QSOS, "QSOs: %d", T_SF_VQSO, "Platn spojen: %d", T_SF_QSOP, "QSO points: %d", T_SF_PTS, "Points: %d", T_SF_AVG_PTS, "Priemer bodov/spojenia: %5.2f", T_SF_AVG_QSOP, "Priemer bodov za spojenie/spojenia: %5.2f", T_BAND_RO, "Psmo je len na tanie", T_THIS_BAND, "Toto psmo", T_OTHER_BANDS, "Ostatn psma", T_CW_DB, "C_W databza", T_PROC_EXITED, "*** Proces skonil\n", T_WE_CALL2, "my volme", T_WE_LISTEN, "my povame", T_QSL, "Sben QSL", T_RECORD, "Nahrvanie prevdzky", T_MAXMIN, " Max. doba nahrvn", T_TEMPLATE, "ablona pre nahrvan sbor", T_PCM8, "8 bitov PCM", T_PCM16, "16 bitov PCM", T_ULAW, "u-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Poet kanlov", T_SAMPLERATE, " Vzorkovacia frekvencia", T_FILLOP, "Vypl znaky opertorov", T_HK_FILLOP, "V", T_RECAQRB, "Prepotaj QRB,QTF", T_HK_RECAQRB, "R", T_NETWORK, "Sie a trasovanie", T_HK_NETWORK, "E", T_IF_IGNORE, " Ignorova zariadenia:", T_IP_IGNORE, " Ignorova podsiete:", T_IP_ANNOUNCE, " Annoncova do siet:", T_TRACE_BCAST, "Trasova broadcasty ", T_TRACE_SOCK, "Trasova sockety", T_TRACE_RECV, "Trasova prijat dta", T_TRACE_SEND, "Trasova odoslan dta", T_TRACE_QSOS, "Trasova spojenia", T_TRACE_SDEV, "Trace rotars", T_NOT_MOUNTED_S, "Zvzok nepripojen %s", T_RECSRC_NONE, "Nenastavova", T_RECSRC_MIC, "Mikrofn", T_RECSRC_LINE, "Linkov vstup", T_NEW_CALL, "Nov!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV na %s", T_SKED_QRG, "QRG pre skedy", T_HK_SKED_QRG, "G", T_N_SKED_QRG, "\nQRG pre skedy:", T_GRAB_BAND, "Prevzia psmo", T_HK_GRAB_BAND, "P", T_FORCE_RUN, "RUN md nsiln", T_HK_FORCE_RUN, "R", T_EXPORT_STATS, "Exportova statistiky", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX spojenie:", T_SF_TOP_DX_UNDER, "----------------------", T_ROTAR, "Rotator", T_HK_ROTAR, "R", T_AZIMUTH, " Azimut", T_ELEVATION, "Elevace", T_CH_SPY, "pehovn", T_HK_CH_SPY, "P", T_CH_ENDSPY, "Konec pehovn", T_HK_CH_ENDSPY, "K", T_EXPORT_TITLPAGE, "Exportovat tituln strnku", T_HK_EXPORT_TITLPAGE, "L", T_BREAK_RECORD, "Peruit nahrvn", T_HK_BREAK_RECORD, "P", T_GLOBAL_OPERATOR, "Zmnit na vech psmech", T_GLOBAL_OPERATOR2, "Globln", T_MAXFRAG, "Max. poet fragment (>=2)", T_PLAY_LAST, "Play last sample", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Rzn nastaven", T_HK_MISCOPTS, "R", T_LOGLINES, "dky logu: ", T_SKEDSHIFT, "Posuv skedu (minuty): ", T_STARTBAND, "Psmo po startu: ", T_GFX_X_CH, "Rozlien (znaky):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Rozlien (body):", T_GFX_Y_PX, "x", T_CALL_INFO, "Informace o znace", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSO/hod: %d", T_SF_QSOP_HOUR, "Body/hod: %d", T_SF_QSOP_50QSO, "Body/posl. 50 QSO: %d", T_SF_HOURS, " Hodiny", T_SF_HOURS_UNDER, "----------", T_SF_HOURS_TITLE, "Hodiny Body Spojen prmr box/QSO", T_QSO_CHECK, "Kontrola spojen", T_HK_QSO_CHECK, "K", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "Minimln msto na disku [MiB]", T_FORMAT, "Formt nahrvn", T_PCM_PLAY, "Alsa pehrvn", T_PCM_REC, "Alsa zznam", T_PERIOD, "Period time [ms]", T_BUFFER, "Buffer time [ms]", T_ALSA_MIXER, "Alsa mixer", T_CAPTURE, "Zdroj zznamu", T_DSP, "Cesta k /dev/dsp", T_MIXER, "Cesta k /dev/mixer", T_RECSRC, "Record source", T_PA_PLAY, "Portaudio playback device", T_PA_REC, "Portaudio capture device", T_HOSTNAME, "Stroj:", T_SLASHKEY, "Klvesa pro lomtko", T_FIXQRG, "Opravit QRG", T_HK_FIXQRG, "v", T_ENTER_QRG, "Zadej pesnou frekvenci QRG [Hz]", T_BAD_QRG, "Chybn zadan frekvence", T_CALLSIGN3, "Znaka", T_CALLSIGN_KST, "Znaka stanice na KST:", T_CANT_INIT_WINKEY_S, "Nelze inicializovat winkey na %s", T_WINKEYOPTS, "Nastaven Winkey", T_WK_WK2, "Rychl inicializace Winkey2", T_WK_USEPOT, "Pout potenciometr", T_WK_USEBUT, "Pout tlatka", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Run kl", T_WK_SWAP, "Prohodit pastiku (levk)", T_RIGOPTS, "Rdio", T_HK_RIGOPTS, "R", T_RIG_DEVICE, "Device:", T_RIG_MODEL, "Model", T_RIG_SPEED, "Baudrate: ", T_RIG_CIV, "CIV address (hex)", T_RIG_FREQSHIFT, "Freq. shift SSB->CW", T_RIG_CHOOSE, "Choose", T_ROTAROPTS, "Rottory", T_HK_ROTAROPTS, "I", T_DSSAVER, "Vypnout spoi obrazovky", T_DESC, "Popis", T_ROT_NONE, "None", T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys", T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI", T_ROT_HAMLIB, "Hamlib (N/A)", T_ROT_REMOTE, "Remote (N/A)", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Serial #", T_ROT_ADD, "Add new rotator", T_HK_ROT_ADD, "W", T_ROT_REMOVE, "Remove rotator", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "ka laloku", T_SADDR, "Communication address:", T_MODEL, "Model:", T_ROT_REM_ROTSTR, "Rotator letter for remote", T_QSOGLOB, "Global QSO NR", T_PREFGLOB, "Global prefix", T_NOT_RECORDING_S, "Not recording - %s", T_SKEDCOUNT, "Poet sked v popup okn: ", T_FONTHEIGHT, "Vka fontu (16-32): ", T_RIG_POLL_MS, "Rig poll interval [ms]: ", T_RIG_QRG_R2T, "Set band from radio", T_RIG_QRG_T2R, "Change band on radio", T_RIG_MODE_T2R, "Change mode on radio", T_RUN_MODE, "Run mode", T_HK_RUN_MODE, "M", T_SP_MODE, "S&P mode", T_HK_SP_MODE, "M", T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save", T_RIG_DEBUG, "Debug rig", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Band QSO Point Mult", T_HF_SUM, "Sum:", T_HF_LAST, "Last Q-%s P-%s", T_EVEN, "TX even", T_HK_EVEN, "v", T_ODD, "TX odd", T_HK_ODD, "d", T_1ST, "TX 1st", T_HK_1ST, "1", T_2ND, "TX 2nd", T_HK_2ND, "2", T_HF_SCORE, "Score:", T_EXPMODE, "Expedition mode", T_TTTYPE, "Only digits mean", T_ROT_POLL_MS, "Poll interval [ms]:", T_VERSION, "Version", T_HK_VERSION, "V", T_REMOTE_HOST, " Remote host name:", T_REMOTE_PORT, " Remote TCP port:", T_REMOTE_PASS, " Remote Password:", T_STARTING_AC, "Starting AS", T_STOPPING_AC, "Stopping AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Speed:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Durat: %ld", T_EXPORTING_S, "Exporting %s", T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s", T_EXPORTING, "Exporting ...", T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables", T_LOADING_CHARTS, "Loading charts", T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control", T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in", T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi", T_CANT_CREATE_PIPE, "Can't create pipe", T_TERMINATING_CWDAEMON, "Terminating CW/PTT control", T_INIT_CWDB, "Initializing WWL database", T_TERM_CWDB, "Terminating WWL database", T_LOADING_CWDB, "Loading WWL database", T_QRV_ON, "QRV on: ", T_CANT_INIT_FTDI, "Can't init ftdi library for davac4", T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s", T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s", T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s", T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s", T_INIT_SOUNDCARD, "Initializing soundcard", T_NO_OSS, "OSS support not compiled in", T_NO_ALSA, "Alsa support not compiled in", T_NO_PORTAUDIO, "portaudio support not compiled in", T_NO_SNDFILE, "Libsndfile support not compiled in", T_NO_SNDPIPE, "Sndpipe support not compiled in", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Initializing DXCC database", T_FREE_DWDB, "Terminating DXCC database", T_LOAD_DWDB, "Loading DXCC database", T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n", T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n", T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n", T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n", T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n", T_CALL_ON_BAND_S, "Callsign on band %s is %s\n", T_LOCATOR_ON_BAND, "Locator on band %s is %s\n", T_QSO_CHECK_LIST, " Tucnak QSO check list\n", T_CALL_SN, " Call: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Date: %s\n", T_CHECKING_S, "Checking %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Seems to be O.K.\n", T_CW_NOT_FOUND, "C_W: %s not found\n", T_0X_NOT_IN_DB, " 0x (not in database)", T_NAME_IS, "Name: %s's name is %s\n", T_NAME_UNKNOWN, "Name: %s's name is unknown\n", T_INIT_DXC, "Initializing DXcluster database", T_FREE_DXC, "Terminating DXcluster database", T_HK_SELECT, "S", T_HIDE, "Hide", T_HK_HIDE, "H", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Use", T_HK_USE, "U", T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n", T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n", T_HOST_RESOLVED, "*** Host resolved ", T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n", T_CONNECTING_TO, "*** Connecting to %s ***\n", T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n", T_CONNECTED_SOCKET, "*** Connected socket %d ***\n", T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n", T_DISCONNECTED, "\n*** Disconnected ***\n", T_RESOLVING, "*** Resolving %s ***\n", T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s", T_SAVED, "Saved '%s'", T_LOADING_CONTEST, "Loading contest %s", T_LOADING_LOGFILE, "Loading logfile", T_LOADING_TALK, "Loading talk", T_SEARCH_FILES, "Search for contest files", T_LOADING_BAND, "Loading band %s", T_LOADING_SPY, "Loading spy", T_LOADING_HICALLS, "Loading hicalls", T_LOADING_QRV, "Loading qrv", T_LOADING_CHART, "Loading chart", T_SAVING_CONTEST, "Saving contest", T_UPD_INT_DATA, "Updating internal data", T_CALC_STATS, "Calculating statistics", T_ANN_OVER_NET, "Announcing over network", T_ACTIVATING_BAND, "Activating band %s", T_UPDATING_WKD, "Updating worked calls", T_UPDATING_QRBQTF, "Updating QRB&QTF", T_UPDATING_GAIN, "Updating gain chart", T_SEN_OVER_NET, "Sending info over network", T_INIT_EXCDB, "Initializing exchange database", T_FREE_EXCDB, "Terminating exchange database", T_INIT_FFT, "Initializing FFT analyse", T_FREE_FFT, "Terminating FFT analyse", T_INIT_ROTAR, "Initializing rotator control", T_FREE_ROTAR, "Terminating rotator control", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Points", T_AVG, "AVG", T_INIT_HTTPD, "Initializing HTTP server", T_FREE_HTTPD, "Terminating HTTP server", T_NO_CONTEST_OPENED, "

No contest opened

\n", T_NO_CONTEST_OPENED2, "No contest opened", T_STATS, "Statistics", T_BAND_NOT_FOUND, "Band not found", T_BAND_C_NOT_FOUND, "

Band %c not found

", T_QSOS_IN_DATABASE, "qsos in database", T_TUCNAK_ONLINE_LOG, "Tucnak online log", T_DATE2, "Date", T_UTC, "UTC", T_CALL, "Call", T_CALL_NOT_FOUND, "Call not found", T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d", T_FREE_TERM, "Terminating terminal", T_TERM_KEYMAPS, "Terminating keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh mistake", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Ask for sked", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Message", T_HK_MESSAGE, "M", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n", T_RESOLVED, "*** Resolved ", T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n", T_SENDING_SH_US, "*** Sending /sh us ...\n", T_SKIP_LINE, "Skip line %d '%s'", T_CANT_CREATE_HOME, "Can't create home directory '%s'", T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s", T_INIT_MAP, "Initializing polar map", T_DISABLE_SAVER, "Disabling screensaver", T_STARTING_TUCNAK, "Starting Tucnak", T_FREE_MAP, "Terminating polar map", T_INIT_MASTERDB, "Initializing master database", T_FREE_MASTERDB, "Terminating master database", T_LOAD_MASTERDB, "Loading master database", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s", T_DIRECTORY_SCAN, "Directory scan", T_V3_COMPATIBILITY, " (v3 compatibility)", T_RELOAD_INTERFACES, "Reload interfaces", T_SET_READONLY, "Set read-only", T_CHANGE_TYPE, "Change type", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Open connection", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Kill connection", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Export to text file", T_ADD_CONTEST, "Add contest", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Add file(s)", T_HK_ADD_FILES, "F", T_ADD_CONTESTS, "Add contests", T_HK_ADD_CONTESTS, "O", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Int.error test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Dump RW bands and hashes", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Update Tucnak", T_HK_UPDATE, "U", T_SETTINGS, "Settings", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Nahrt live skre na slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "Voip spy", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "End voip spy", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest is old, spy is not available", T_NETWORK_SCAN, "Network scan", T_HTTPD_OPTIONS, "HTTPD options", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter options", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR options", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Other:", T_NONE, "None ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "Unused ", T_USED_6, "Used (6)", T_OPT_6, "Opt. (6)", T_USED_4, "Used (4)", T_OPT_4, "Opt. (4)", T_FREE, "Free ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Verified", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Confirm WWL", T_CONFIRM_EXC, "Confirm EXC", T_FONT_SIZE, "Font size: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, "SLOVHF uiv.:", T_SDR, "SDR", T_PARPORT, "parport", T_TTYS, "sriov", T_TTYSSINGLE, "sriov 1 pin", T_AUDIO_SUBSYSTEM, "Audio subsystem:", T_PLAYBACK_VOLUME, "Playback volume", T_CAPTURE_VOLUME, "Capture volume", T_ENABLE_REMOTE_CONNECT, "Enable remote connect", T_TRACE_RIG, "Trace rig", T_TRACE_KEYS, "Trace keys", T_SAVE_RESTART, "You must save configuration and restart Tucnak", T_FULLSCREEN, "Fullscreen", T_TOUCH, "Use touch control", T_ALT_QWER, "Alt turns QWER.. to 1234..", T_NO_LOCKS, "No device locks", T_PORTRAIT_ORIENTATION, "Portrait orientation", T_REVERSE, "Reverse", T_CHOOSE_RIG, "Choose rig", T_RIG_D, "Rig %d", T_NEW_RIG, "New rig", T_ENABLED, "Enabled", T_SET_PTT_ON_RADIO, "Set PTT on radio", T_DISABLED, " (disabled)", T_ADD_RIG, "Add rig", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Enable", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Show private information", T_REFRESH, "Refresh interval:", T_LOAD_FROM_NET, "Load from network", T_LOAD_CWDB, "Load C_W database", T_LOAD_NAMEDB, "Load Name database", T_LOAD_QRVDB, "Load QRV database", T_READONLY_BANDS, "Read-only bands", T_ENABLE_AC, "Enable AS", T_AC_URL, "Alternative URL for flightradar data", T_K_FACTOR, "Troposphere k_factor", T_AC_AREA_WIDTH, "Reflection area width in km", T_AC_EL_ANGLE, "Minimal elevation angle", T_AC_MAX_EL_ANGLE, "Maximal elevation angle", T_AC_MIN_DURATION, "Minimal reflection duration in sec", T_AC_MAX_DIFF, "Max difference of incidence and reflection angles", T_BAD_NUMBER_RANGE, "Bad number range", T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate", T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder", T_NO_DEVICE, "No device", T_IQ_SOURCE, "IQ source:", T_WAV_FILE, "WAV file", T_WAV_FILE_NAME, "WAV file name", T_AF_OUTPUT, "AF output:", T_AF_SAMPLE_RATE, "AF sample rate", T_BLOCK_SIZE, " Block size", T_CW_FILTER, " CW filter", T_TO_HZ, "to [Hz]", T_SSB_FILTER, " SSB filter", T_INIT_NAMEDB, "Initializing name database", T_FREE_NAMEDB, "Terminating name database", T_LOAD_NAMEDB2, "Loading name database", T_INIT_NET, "Initializing network", T_FREE_NET, "Terminating network", T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops", T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s", T_TIME_WAS_SET, "Time was set", T_FAILED_TO_SET_TIME, "Failed to set time", T_INIT, "INIT", T_CONNECTING, "CONNECTING", T_CONNECTED, "CONNECTED", T_WAIT_ACK, "WAIT_ACK", T_DISCONNECTED2, "DISCONNECTED", T_DEAD, "DEAD", T_LONG_XFER, "LONG_XFER", T_AUTHENTICATED_USER_S, "Authenticated user %s", T_BAD_AUTHENTICATION_S, "Bad authentication %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT", T_LONG_TRANSFER_FINISHED, "Long transfer finished", T_INIT_NTP, "Initializing NTP monitor", T_FREE_NTP, "Terminating NTP monitor", T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP", T_INIT_SPEAKER, "Initializing PC speaker", T_FREE_SPEAKER, "Terminating PC speaker", T_CANT_PLAY, "Can't play %s - %s", T_CANT_SEEK_TO_END, "Can't seek to end %s - %s", T_CANT_SEEK_TO_START, "Can't seek to start %s - %s", T_CANT_OPEN, "Can't open %s %s", T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Can't set %s to EPP mode %s", T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s", T_CANT_CLAIM, "Can't claim %s %s", T_INIT_QRVDB, "Initializing QRV database", T_FREE_QRVDB, "Terminating QRV database", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Loading qrvs", T_UNSPECIFIED, "unspecified", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n", T_FOUND_D_ERRORS, "Found %d error%s while reading %s", T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net", T_REGISTRATED_ROTATORS, "Registrated rotators:", T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n", T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread", T_INIT_ROTARS2, "Initializing rotators", T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n", T_ROTAR_ERROR_S, "Rotar error: %s", T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe", T_CANT_READ_FROM, "Can't read from", T_CANT_WRITE_TO, "Can't write to", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Bad update file name", T_CANT_EXECUTE_INSTALLER, "Can't execute installer, ", T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed", T_UPDATE_FAILED, "Update failed", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply.", T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s", T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install.", T_NO_NEW_VER, "No new version available.", T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests...", T_CHOOSE_CONTEST, "Choose contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload", T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form...", T_ALL_EDI_FILES_PROCESSED, "All EDI files processed.", T_UPLOADING_LOG_FILE_S, "Uploading log file %s ...", T_UPLOADING_BAND_S, "Uploading band %s", T_CONFIRMING_LOG, "Confirming log...", T_RESULT_ERROR, "*** Result: ERROR please read error message above", T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s", T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores...", T_LOGS_UPLOADED, "Logs uploaded.", T_HTTP_STATUS, "HTTP status: ", T_LOG_UPLOAD, "Log upload", T_VOIP_NO_INITIALIZED, "VOIP no initialized", T_PAGE_NAME, "Page name", T_OVERWRITE_EXISTING_FILES, "Overwrite existing files", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Password", T_EXPORT_MAP, "Export map", T_EXPORT_CHART, "Export chart", T_MEDIAWIKI_UPLOAD2, "Mediawiki upload", T_BAD_AUTH_USER, "Bad auth user %s != %s", T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame", T_CANT_GET_FMTS, "Can't get supported audio formats: %s", T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s", T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s", T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s", T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s", T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s", T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s", T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s", T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d", T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s", T_RECORD2, "record", T_PLAYBACK, "playback", T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s", T_CANT_STOP_PA, "Can't stop PortAudio stream: %s", T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s", T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\"", T_CANT_SET_STROBE, "Can't set parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error", T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n", T_INIT_SERIAL_DEVICES, "Initializing serial devices", T_BAD_CHECKSUM, "Bad checksum", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Bad response", T_UNKNOWN_FUNCTION, "Unknown function", T_UNKNOWN_ERROR_CODE, "Unknown error code", T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n", T_WAIT_FOR_SDR_THR, "Waiting for SDR thread", T_QSO_REQ_FROM_SP, " QSO request from S&P ", T_QSO_REQ_SENT, " QSO request sent to RUN ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Location unknown", T_DEGREE, "deg", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe", T_INIT_SSB_CQ, "Initializing SSB CQ", T_FREE_SSB_CQ, "Terminating SSB CQ", T_NO_FILE, "No file specified", T_UNSUP_CHANNELS, "Unsupported number of channels = %d", T_FLOAT_UNSUPP, "Float point files are not supported", T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing", T_REC_DISABLED, "recording disabled", T_CONTEST_TOO_OLD, "contest too old", T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Error writing file %s: %s", T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording", T_NO_DISK_SPACE, "Not enough free disk space for file", T_CANT_PLAY_FILE, "Can't play file %s - %s", T_CANT_WRITE_SS, "Can't write to file %s - %s", T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded", T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template", T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n", T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***", T_LOADING_S, "Loading %s", T_INVALID_WINDOW_TYPE, "invalid window type %d\n", T_INIT_RIG, "Initializing rig control %d", T_RIG_ERROR, "Rig error: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n", T_FREE_RIG, "Terminating rig control %d", T_WAIT_FOR_RIG_THR, "Waiting for rig thread", T_INVALID_PARAM, "Invalid param.", T_RIG_INVALID_CONFIG, "Invalid config.", T_RIG_NOT_ENOUGH_MEM, "Not enough mem.", T_RIG_NOT_IMPLEMENTED, "Not implemented", T_RIG_COMM_TIMEOUT, "Comm. timeout", T_RIG_IO_ERROR, "IO error", T_RIG_INTERNAL_ERROR, "Internal error", T_PROTOCOL_ERROR, "Protocol error", T_RIG_COMMAND_REJECT, "Command reject.", T_RIG_ARG_TRUNCATED, "Arg. truncated", T_RIG_F_NOT_AVAILABLE, "F not available", T_RIG_VFO_NOT_TARGET, "VFO not target.", T_RIG_ERROR_ON_BUS, "Error on bus", T_RIG_BUS_COLLISION, "Bus collision", T_RIG_INVALID_ARG, "Invalid arg.", T_RIG_INVALID_VFO, "Invalid VFO", T_RIG_ARG_OUT_OF_DOM, "Arg out of dom.", T_ERROR_D, "Error %d", T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)", T_CANT_SET_GRAPHICS2, "Can't set graphics mode", T_WAIT_SDL_THR, "Waiting for SDL event thread", T_FREE_GRAPHICS, "Terminating graphics", T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s", T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s", T_CANT_READ_LOG_FILE, "Can't read log file %s", T_CANT_UPLOAD_LOG, "Can't upload log: %s", T_CANT_CONFIRM_LOG, "Can't confirm log: %s", T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s", T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Date:", T_QSOS2, "QSOs:", T_POINTS2, "Points:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Can't upload file: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s", T_FILE_ALREADY_EXISTS, "File already exists: %s", T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s", T_CANT_EDIT_PAGE, "Can't edit page: %s", T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s", T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s", T_EDITING_CONTEST_PAGE, "Editing contest page...", T_ALL_DONE, "All done.", T_UPLOADING_FILE, "Uploading file %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s", T_QUERYING_EDIT_TOKEN, "Querying edit token", T_CANT_LOGIN, "Can't log in (2): %s", T_CANT_LOGIN2, "Can't log in (2), wiki says: %s", T_CANT_LOGIN1, "Can't log in (1): %s", T_LOGGING_IN, "Logging in...", T_EXPORTING_FILES, "Exporting files...", T_INIT_WIZZ, "Initializing contest wizard", T_FREE_WIZZ, "Terminating contest wizard", T_LOAD_WIZZ_DATA, "Loading contest wizard data", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Fze zvodu", T_HK_PHASE, "F", T_ENTER_PHASE, "Nov fze zvodu: ", T_PHASE_E, " Phase:", tucnak-4.32/intl/index.txt0000644000175000017500000000011012504016651012456 00000000000000english czech slovak german portuguese french castellano polish italian tucnak-4.32/intl/portuguese.lng0000644000175000017500000012114714001016263013521 00000000000000T__CHAR_SET, "iso8859-1", T__LANGUAGE, "Portugus", T_ABOUT, "Acerca", T_BAD_NUMBER, "Nmero errado", T_BAD_STRING, "String errada", T_BASIC_HELP, "Prima F10 para ter o menu.\nDivirta-se.", T_BLOCK_CURSOR, "Cursor de bloco", T_CANCEL, "Cancelar", T_CHARACTER_SET, "Definio de caracter", T_COLOR, "Cor", T_COPYING, "Licena", T_DIFFERENCE, "diferena", T_DO_YOU_REALLY_WANT_TO_EXIT_TUCNAK, "Quer mesmo sair do Tucnak?", T_EMPTY_STRING_NOT_ALLOWED, "String vazia no permitida", T_ERROR, "Erro", T_WARNING, "Aviso", T_EXIT, "Sair", T_EXIT_TUCNAK, "Sair do Tucnak", T_FILE, "Ficheiro", T_FULL_SCREEN, "Monitor completo", T_HELP, "Ajuda", T_HK_ABOUT, "A", T_HK_BEOS_TERMINAL, "B", T_HK_CHARACTER_SET, "H", T_HK_COPYING, "C", T_HK_EXIT, "X", T_HK_FILE, "F", T_HK_FULL_SCREEN, "F", T_HK_HELP, "H", T_HK_LANGUAGE, "L", T_HK_MEMORY_INFO, "M", T_HK_OS_SHELL, "O", T_HK_SCREEN, "S", T_HK_SETUP, "S", T_HK_TERMINAL_OPTIONS, "T", T_HK_TWTERM, "T", T_HK_WINDOW, "W", T_HK_XTERM, "X", T_KOI8R_FRAMES, "KOI8-R frames", T_LANGUAGE, "Linguagem", T_LAST, "ltimo", T_LINUX_OR_OS2_FRAMES, "Linux ou OS/2 frames", T_MEMORY_INFO, "Informao da memria", T_NO_FRAMES, "No h frames", T_NO, "No", T_NUMBER_EXPECTED, "Esperado nmero no campo", T_NUMBER_OUT_OF_RANGE, "Nmero fora de alcance", T_OK, "OK", T_OS_SHELL, "OS shell", T_RESTRICT_FRAMES_IN_CP850_852, "Frames restringidas em cp850/852", T_UTF_8_IO, "UTF-8 Input/Output", T_SCREEN, "Monitor", T_SETUP, "Definies", T_TERMINAL_OPTIONS, "Opes do terminal", T_TUCNAK__TACLOG_LIKE, "Tucnak " VERSION_STRING "\n\nComo o programa de concursos de V/U/SHF TACLOG", T_TWTERM, "Twterm", T_USE_11M, "Usar ^[[11m", T_VT_100_FRAMES, "VT 100 frames", T_WELCOME1, "Bem vindo ao Tucnak!", T_WELCOME2, "Digite seu indicativo e localizador:", T_WELCOME, "Bem vindo", T_XTERM, "Xterm", T_YES, "Sim", T_CANT_APPEND_S, "No posso anexar ao ficheiro %s", T_CANT_WRITE, "No posso escrever para o ficheiro", T_CANT_WRITE_S, "No posso escrever para o ficheiro %s", T_CANT_READ, "No posso ler desde o ficheiro", T_CANT_READ_S, "No posso ler desde o ficheiro %s", T_SAVED_S, "Guardado %s", T__CW_, " CW ", T_CWW_KEYS, " PgUp +, PgDn - velocidade do cw ", T_CANT_OPEN_S, "No posso abrir %s", T_CANT_LOCK, "No posso fechar", T_CANT_LOCK_S, "No posso fechar %s", T_LOADING_CTEST_S, "*** A carregar o concurso %s", T_NO_FILES, "Nenhuns ficheiros na directoria", T_BAND_EXIST_SS, "AVISO! A banda %s (%s) j existe", T_BAND_NOT_OPEN, "A banda no est activa neste concurso", T_NO_BANDS, "Nenhumas bandas para carregar", T_CANT_SET_GR_S, "No posso definir modos grficos-%s", T_GCALL, "Indicativo: %s", T_GWWL, "WWL: %s", T_GQRB, "QRB: %d km", T_GQTF, "QTF: %d", T_GSEN, "Sent: %s %s", T_GRCV, "Rcvd: %s %s", T_GTIM, "Time: %s", T_GOPE, "Op: %s", T_GREM, "Rem: %s", T_GWKD, "Wkd: %d", T_GINC, "income: %d", T_GLON, "Lon:%7.2f %-6s", T_GLAT, "Lat:%7.2f %-6s", T_GLOC, "Loc: %s", T__PLESE_WAIT_, " Por favor ESPERE ", T__RO_BAND, " BANDA SO PARA LER", T_COPYING_VER, "O ltimo programa de concurso - to necessrio como conhecido\n\nVerso " VERSION_STRING "\n\n(C) Ladislav Vaiz, OK1ZIA\n\nEste programa software livre; voc pode redistribuir e/ou modific-lo debaixo dos termos da licena GNU General Public License verso 2 como publicado pelo Free Software Foundation.", T_CTEST_ACTIVE, "O concurso j est activo ", T_NO_CTESTS, "Nenhum concurso", T_NO_CCLOSE, "Nenhum concurso para fechar", T_REALLY, "De certeza?", T_CLOSE_CTEST, "Quer mesmo fechar este concurso?", T_GUI_LD, "GUI: %ld ", T_SBRK, "sbrk: %ld", T_CWI, "C_W: %d cw items, %d wc items, ltimo %d\n", T_EXC, "Exc: %s %d exc items, %d cxe items, ltimo %d\n", T_VEXC, "Verified EXC: %d items\n", T_DWI, "D_W: %d prefixos, %d DXCCs, %d WWLs\n", T_NAMES, "Nomes: %d nomes\n", T_MASTER, "Master: %d calls\n", T_MEMS, "Memria:", T_NMY, " Meu: ", T_NGLOBAL, "Global: ", T_NMASTER, "Master: ", T_NREMOTE, "Remote: ", T_NSLAVES, "\nSlaves:\n", T_NINFO, "Informao da rede", T_NO_BANDS_QRV, "Nenhumas bandas QRV", T_NO_BANDS_CONF, "Nenhumas bandas configuradas", T_NOT_AVAILABLE, "No disponvel", T_ADD_SUBWIN, "Adicionar subwin", T_HK_ADD_SUBWIN, "A", T_CLOSE_SUBWIN, "Fechar subwin", T_HK_CLOSE_SUBWIN, "C", T_HK_NINFO, "N", T_NEW, "Novo", T_HK_NEW, "N", T_NEW_WIZZ, "Novo desde os exemplos", T_HK_NEW_WIZZ, "W", T_NEW_NET, "Novo desde a rede", T_HK_NEW_NET, "T", T_OPEN, "Abrir", T_HK_OPEN, "O", T_SAVE, "Guardar", T_HK_SAVE, "S", T_EXPORT_EDI, "Exportar como EDI", T_HK_EXPORT_EDI, "E", T_EXPORT_REPORT, "Exportar como reporte", T_HK_EXPORT_REPORT, "R", T_EXPORT_ADIF, "Exportar como ADIF", T_HK_EXPORT_ADIF, "A", T_EXPORT_SOTA, "Export as SOTA", T_HK_EXPORT_SOTA, "S", T_EXPORT_CBR, "Export as ADIF", T_HK_EXPORT_CBR, "B", T_EXPORT_STF, "Export as STF", T_HK_EXPORT_STF, "F", T_EXPORT_HTML, "Exportar como HTML", T_HK_EXPORT_HTML, "H", T_EXPORT_WIKI, "Export as MediaWiki", T_HK_EXPORT_WIKI, "W", T_IMPORT_EDI, "Importar EDI", T_HK_IMPORT_EDI, "I", T_IMPORT_ADIF, "Importar ADIF", T_HK_IMPORT_ADIF, "M", T_IMPORT_SWAP, "Importar swap", T_HK_IMPORT_SWAP, "S", T_IMPORT_LIST, "Import list", T_HK_IMPORT_LIST, "L", T_CONTEST_OP, "Opes do concurso", T_HK_CONTEST_OP, "O", T_CLOSE_CONTEST, "Fechar concurso", T_HK_CLOSE_CONTEST, "C", T_ADD_ERROR, "Adicionar ERRO", T_HK_ADD_ERROR, "E", T_CHOP, "Mudar de operador", T_HK_CHOP, "O", T_CW_CTEST, "Actualizar o C_W desde um concurso", T_HK_CW_CTEST, "C", T_CW_BAND, "Actualizar o C_W desde a banda", T_HK_CW_BAND, "B", T_EXC_CTEST, "Actualizar o EXC DB desde o concurso", T_HK_EXC_CTEST, "P", T_EXC_BAND, "Actualizar o EXC DB desde a banda", T_HK_EXC_BAND, "D", T_IMPORT_EBW, "Importar a database de DL8EBW", T_HK_IMPORT_EBW, "W", T_NO_CTEST, "Nenhum concurso", T_NO_PEERS, "Nenhuns peers encontrados", T_NO_MASTER, "O master no est disponvel!", T_CTEST_DEF, "Configurao do concurso", T_HK_CTEST_DEF, "O", T_BAND_DEF, "A banda por defeito", T_HK_BAND_DEF, "B", T_HK_RESPOP, "P", T_CW_DAEMON, "Chave de CW", T_HK_CW_DAEMON, "E", T_CW_CQ, "CW CQ", T_HK_CW_CQ, "C", T_SSB_CQ, "SSB CQ", T_HK_SSB_CQ, "S", T_AUTOSAVE, "Auto guardar", T_HK_AUTOSAVE, "U", T_LOAD_CFG_NET, "Carregar a cfg desde a net", T_HK_LOAD_CFG_NET, "N", T_LOAD_CW_NET, "Carregar o C_W desde a net", T_HK_LOAD_CW_NET, "W", T_SAVE_CFG, "Guardar a configurao", T_HK_SAVE_CFG, "F", T_CONTEST, "Concurso", T_HK_CONTEST, "C", T_EDIT, "Editar", T_HK_EDIT, "E", T_BANDS, "Bandas", T_HK_BANDS, "B", T_SUBWINS, "Subwins", T_HK_SUBWINS, "W", T_BAND_SETTINGS_SC, "As definies da banda por banda %c %s", T_QRV_ON_THIS_BAND, "QRV nesta banda", T_QRV_IN_THIS_CTEST, "QRV neste concurso", T_READ_ONLY, "So ler", T_MULTI, "Multi", T_SINGLE, "Szinho", T_CHECK, "Verificar", T_TXEQUIP, " equip de TX:", T_POWER, " potncia:", T_RXEQUIP, " equip de RX:", T_ANTENNA, " antena:", T_AGLASL, " AGL;ASL:", T_OPS, "operadores:", T_SPACES1, " ", T_REMARKS, " anotaes:", T_OK_SECTION_SINGLE, "Categoria single em OK", T_OK_SECTION_MULTI, "Categoria multi em OK", T_QRG_MIN, "Limite da banda desde", T_QRG_MAX, "para [kHz]", T_ADIFBAND, "Nome da banda em ADIF", T_SKEDQRG, "QRG para skeds (formato livre)", T_BAND_LO, "Transverter's LO QRG [Hz]", T_BANDSW, "Band switch value", T_RESPOP, "Operador responsvel", T_NAME, " nome:", T_CALLSIGN, " indicativo:", T_ADDRESS, " endereo:", T_POSTCODE, "cdigo postal:", T_CITY, " cidade:", T_COUNTRY, " pas:", T_PHONE, " telefone:", T_BBSEMAIL, " BBS/Email:", T_QP0, " --nenhum -- ", T_QP1, " 1 QSOp*QSOp_m (Std. IARU)", T_QP2, " 2 QSOp_m (UK VHF activity, ARRL party)", T_QP3, " 3 RSGB_ring*QSOp_m (RSGB Backpacker)", T_QP4, " 4 WWL_ring*QSOp_m (OK activity)", T_QP5, " 5 St_miles*QSOp_m", T_QP6, " 6 QSOp_m +1 per CW (CQ WW VHF)", T_QP7, " 7 WWL_dist*QSOp_m (OH-SM)", T_QP8, " 8 WWL_dist*QSOp_m (Baltic)", T_QP9, " 9 WWL_dist*QSOp_m (Baltic & Nordic fieldday)", T_QP10, "10 QSOp_m *5 if Gx (UK cumulative)", T_QP11, "11 QSOp_m *3 if F (F 50MHz)", T_QP12, "12 RSGB DC (district codes)", T_QP13, "13 Continent (CQ WW DX Contest)", T_QP14, "14 Continent+band (CQ WW WPX Contest)", T_QP15, "15 VHF Band (ARRL VHF, CQ VHF)", T_QP16, "16 QSOp *4 if F (Champ. de France)", T_QP17, "17 QSOp*WWLmult if G (RSGB M5)", T_QP18, "18 QSOp*WWLm 2x if G (RSGB M7)", T_QP19, "19 CW 6, SSB 4, FM 2 (WNA/WSA)", T_QP20, "20 WWL_ring*QSOp_m (Contest Lombardia)", T_QP21, "21 1 per QSO CW/SSB (R-Contest)", T_QP22, "22 QSOp (PH+CW+DIGI) (Moon contest)", T_TP0, " --none -- ", T_TP1, " 1 Multiplicative (Std. IARU)", T_TP2, " 2 Additive (RSGB Backpacker, VRZA, Sicily)", T_TP3, " 3 Mult. all bands (CQ WW DX Contest)", T_TP4, " 4 All bands togeth. (ARRL VHF)", T_NEW_CTEST, "Novo concurso", T_CANT_TRUNC, "No posso mutilar o ficheiro de desc", T_NAME_OF_CTEST, "Nome do concurso:", T_CALL_OF_CTEST, "Indicativo no concurso:", T_CLUB_ST, "Estao do clube:", T_YOURWWL, "A sua quadrcula:", T_YOUREXC, "O seu EXC:", T_DATE_OF_CTEST, "Data do concurso:", T_QSOUSED, "QSO NR usado", T_QSOPM, " QSOp multi:", T_WWLUSED, "Quadrcula usada ", T_WWLB, "Bnus da quadrcula:", T_WWLM, "Multi da quadrcula:", T_EXCUSED, "EXC usada", T_EXCB, " Bnus do EXC:", T_EXCM, "Multi do EXC:", T_EXCNAME, "EXC name:", T_PREFM, "PREF multi:", T_DXCB, "DXC bnus:", T_DXCM, "DXC multi:", T_RSTUSED, "RST usado ", T_DEFRS, "RS por defeito:", T_DEFRST, "Def RST:", T_ALSORSTR, "Also for RST-R", T_QP_CALC, " QSOp calc:", T_TO_CALC, "Total calc:", T_EDI_PROP, "EDI prop", T_RESPOP2, "Op responsvel", T_EDIT_QSO_CD, "Editar QSO %c: %03d", T_CALLSIGN2, "Indicativo:", T_CLUB, " Clube:", T_PADR1, " PAdr1:", T_PADR2, " PAdr2:", T_RS, " RS:", T_RST, " RST:", T_OPERATOR, "Operador:", T_DATE, " Data:", T_MODE, " Modo:", T_RSTS, " RSTs:", T_RSTR, " RSTr:", T_QSONRS, "QSO enviado:", T_QSONRR, "QSO recebido:", T_OPTEXCH, " OptExch:", T_WWL, " WWL:", T_REMARK, " Anotao:", T_QRV2, " QRV on:", T_WKD, " WKD:", T_SEND_SKED, "Enviar sked", T_SELECT, "Seleccionado", T_QRG, " QRG:", T_WE_CALL, " Ns chamamos", T_BAND, " Banda:", T_TIME, " Tempo:", T_DUPE_QSO, "QSO duplicado!", T_CLEAR_THIS_QSO, "Limpar este QSO", T_EDIT_OLD_QSO, "Editar QSO antigo", T_MARK_OLD_QSO, "Marcar qso antigo como ERRO", T_STORE_AS_DUPE, "Guardar como DUPE", T_BAD_CALL, "Isto no parece um indicativo", T_N_CALLSIGN, "\nIndicativo:", T_AUTOSAVE_OPTS, "Opes de auto-guardar", T_SAVE_AQ, "Guardar para o disco depois do QSO: ", T_SAVE_AM, "Guardar no disco depois dos minutos:", T_FSYNC, "Fsync", T_SAVE_AQF, "Guardar na disquete depois do QSO: ", T_SAVE_AMF, "Guardar na disquete depois dos minutos:", T_DO_MOUNT, "Montar se no em /etc/mtab (no usado)", T_FLOPPY_PATH, "Caminho para a disquete:", T_MOUNT_CMD, "Comando de montar: ", T_SW_SHELL, "Shell", T_SW_QSOS, "QSOs", T_SW_LOG, "Log", T_SW_TALK, "Falar", T_SW_SKED, "Sked", T_SW_UNFI, "Unfi", T_SW_DXC, "DXC", T_SW_STAT, "Stat", T_SW_MAP, "Mapa", T_SW_SCOPE, "Scope", T_SW_QRV, "QRV", T_SW_HF, "HF", T_SW_PLAYER, "Player", T_SW_CHART, "Chart", T_SHELL, "Shell", T_QSOS, "QSOs", T_LOG, "Log", T_TALK, "Falar", T_SKEDS, "Skeds", T_UNFI, "QSO no concludo QSOs", T_DXC, "DX Cluster", T_STAT, "Estatsticas", T_SWAP, "Mudar (N/A)", T_MAP, "Mapa grfico", T_SCOPE, "Scope", T_QRV, "QRV", T_HF, "HF", T_KST, "KST", T_CMD, "Comando", T_RESPAWN, "Respawn [sec]:", T_UNFI_QSO, "QSO no acabado", T_N_REMARK, "\nAnotao:", T_NO_CQ, "Nenhum CQ definido", T_TEXT, "Texto:", T_SPEED, "Velocidade [WPM]:", T_REPEAT, "Repetir", T_DELAY, "Atraso [0.1s]:", T_ALLOW_UNDEF, "Permitir se o mesmo item est indefinido", T_CW_DSCS, "CW%d (%s) %c %s", T_FILENAME, "Ficheiro:", T_SSB_DSCS, "SSB%d (%s) %c %s", T_UDPPORT, "Porta UDP:", T_DEVICE, "Mecanismo de telegrafia:", T_INIT_SPEED, "Velocidade inicial [WPM]:", T_INIT_WEIGHT, "Peso (30-70):", T_WPMFROM, "Alcance WPM de", T_WPMTO, "para", T_USE_SPK, "Usar altifalante", T_LEADIN, " Presena do PTT em [ms]", T_AUTGIVE, "Run mode aut. give after [chars]", T_IGN_IFACE_S, "Ignorar o interface %-5s", T_IGN_ADDR_S, "Ignorar o endereo %s", T_ADD_IFACE_SSD, "Interface adicionado=%-5s BCAST=%s:%d", T_FORCED_ADDR, "Endereo forcado %s", T_TIMESKEW, "AVISO! O tempo de skew %d detectado outra vez %s:%d !\n", T_DISCONNECTING_SD, "A desligar desde %s:%d", T_ACCEPTED_SD, "Aceitado %s:%d (%s)", T_CONNECTING_SD, "A ligar a %s:%d", T_CONNECTED_SD, "Ligado a %s:%d", T_DISCONNECTED_SD, "A desligar desde %s:%d", T_LOADED_CFG_SSSS, "A carregar a config para %s %s (%s,%s)", T_LOADED_CW, "C_W data carregada", T_PEER_NOT_FOUND, "ERRO! Peer %s no encontrado", T_CANT_CREATE_HOME_S, "No posso criar a directoria %s", T_CANT_LOAD_CFG, "No posso carregar a configurao!\nO programa no vai trabalhar devidamente!", T_ERR_RC, "Encontrados alguns erros de parsing no ficheiro de config!\nEste ficheiro foi provavelmente guardado no novo Tucnak!\nNo guarde a sua configurao a pois pode perder todos os seus elementos!", T_SES_QTR, " QTR ", T_SES_QRA, " CALL ", T_SES_RST, " RST-S-No RST-R-No ", T_SES_QTH, " QTH ", T_SES_QRB, " Pts/QRB QTF ", T_SES_FLG, " Flg ", T_SES_OPE, " Oper. ", T_SES_EXC, " Exch ", T_SES_REM, " Aviso ", T_SES_WELCOME, "Bem vindo ao Tucnak! ", T_SES_PRESS_F10, "Premir F10 para o menu.", T_SES_HAVE_FUN, "Divirta-se.", T_SES_URL, "http://tucnak.nagano.cz ", T_SES_ODX, "ODX: ", T_SES_ODX_DATA, "%s %s %d km (%s)", T_SES_STAT_TIT, "QSOs QSO-p OptX WWLs DXCCs Total-p AVG", T_SES_AVG, " AVG: %5.2f", T_SES_WPM, " WPM:%2d %02d%% %s", T_SF_WWLS, " WWLs: %d", T_SF_WWLS_UNDER, "-------------", T_SF_EXCS, " EXCs: %d", T_SF_EXCS_UNDER, "-------------", T_SF_MISS_EXCS, " Missing EXCs: %d", T_SF_MISS_EXCS_UNDER, "---------------------", T_SF_PREFS, " PREFs: %d", T_SF_PREFS_UNDER, "-------------", T_SF_DXCS, " DXCCs: %d", T_SF_DXCS_UNDER, "-------------", T_SF_WKD_WWLS, " WKD WWLs: %d", T_SF_WKD_WWLS_UNDER, "-----------------", T_SF_QSO_WWL4, " QSOS em WWL4s: %d", T_SF_QSO_WWL4_UNDER, "----------------------", T_SF_STATS_BAND, " Estatsticas para a banda %s", T_SF_STATS_BAND_UNDER, "===============================", T_SF_CONTEST, "Contest: %s", T_SF_ALLBQSOS, "All bands QSOs: %d", T_SF_ALLBQSOP, "All bands QSOp: %d", T_SF_ALLBPTS, "All bands pts: %d", T_SF_QSOS, "QSOs: %d", T_SF_VQSO, "Valid QSOs: %d", T_SF_QSOP, "QSO points: %d", T_SF_PTS, "Points: %d", T_SF_AVG_PTS, "Mdia pts/QSO: %5.2f", T_SF_AVG_QSOP, "Mdia qsop/QSO: %5.2f", T_BAND_RO, "A banda s para ler", T_THIS_BAND, "Esta banda", T_OTHER_BANDS, "Outras bandas", T_CW_DB, "C_W database", T_PROC_EXITED, "*** Processo sado\n", T_WE_CALL2, "ns chamamos", T_WE_LISTEN, "ns escutamos", T_QSL, "QSL prometido", T_RECORD, "Trfego registado", T_MAXMIN, " Max. durao da gravao", T_TEMPLATE, "Template para o ficheiro registado", T_PCM8, "8 bit PCM", T_PCM16, "16 bit PCM", T_ULAW, "u-law", T_ALAW, "A-law", T_IMAADPCM, "IMA ADPCM", T_MSADPCM, "MS ADPCM", T_GSM610, "GSM 6.10", T_CHANNELS, "Canais", T_SAMPLERATE, "Velocidade de exemplo", T_FILLOP, "Preencher operadores", T_HK_FILLOP, "L", T_RECAQRB, "Recalc QRB,QTF", T_HK_RECAQRB, "R", T_NETWORK, "Rede & registar", T_HK_NETWORK, "K", T_IF_IGNORE, "Interfaces ignorados:", T_IP_IGNORE, " Redes ignoradas:", T_IP_ANNOUNCE, " Anunciar para as nets:", T_TRACE_BCAST, "Registar transmisses ", T_TRACE_SOCK, "Registar sockets", T_TRACE_RECV, "Registar data recebida", T_TRACE_SEND, "Registar data enviada", T_TRACE_QSOS, "Registar QSOs", T_TRACE_SDEV, "Trace rotars", T_NOT_MOUNTED_S, "No est montada %s", T_RECSRC_NONE, "No definido", T_RECSRC_MIC, "Microfone", T_RECSRC_LINE, "Line in", T_NEW_CALL, "Novo!", T_HK_NEW_CALL, "n", T_QRV_ON_S, "QRV em %s", T_SKED_QRG, "QRG para skeds", T_HK_SKED_QRG, "F", T_N_SKED_QRG, "\nQRG para skeds:", T_GRAB_BAND, "Gravar controle da banda", T_HK_GRAB_BAND, "G", T_FORCE_RUN, "Forar modo RUN", T_HK_FORCE_RUN, "U", T_EXPORT_STATS, "Exportar estatsticas", T_HK_EXPORT_STATS, "T", T_SF_TOP_DX, " TOP %d DX QSOs:", T_SF_TOP_DX_UNDER, "-------------------", T_ROTAR, "Rotor", T_HK_ROTAR, "R", T_AZIMUTH, " Azimute", T_ELEVATION, "Elevao", T_CH_SPY, "Espiar", T_HK_CH_SPY, "S", T_CH_ENDSPY, "Fim de espiar", T_HK_CH_ENDSPY, "P", T_EXPORT_TITLPAGE, "Exportar a pgina do ttulo", T_HK_EXPORT_TITLPAGE, "P", T_BREAK_RECORD, "Gravao cortada", T_HK_BREAK_RECORD, "B", T_GLOBAL_OPERATOR, "Mudar para todas as bandas", T_GLOBAL_OPERATOR2, "Global", T_MAXFRAG, "Max. nm de fragmentos (>=2)", T_PLAY_LAST, "Repetir ltimo exemplo", T_HK_PLAY_LAST, "P", T_MISCOPTS, "Opes variadas", T_HK_MISCOPTS, "P", T_LOGLINES, "Linhas do registo: ", T_SKEDSHIFT, "Intervalo do contacto (minutos): ", T_STARTBAND, "Banda para comear: ", T_GFX_X_CH, "Resoluo do monitor (cars):", T_GFX_Y_CH, "x", T_GFX_X_PX, "Resoluo do monitor (pixels):", T_GFX_Y_PX, "x", T_CALL_INFO, "Informao do indicativo", T_HK_CALL_INFO, "I", T_SF_QSO_HOUR, "QSOs/hora: %d", T_SF_QSOP_HOUR, "Pontos/hora: %d", T_SF_QSOP_50QSO, "Pontos/50 QSOs: %d", T_SF_HOURS, " Horas", T_SF_HOURS_UNDER, "---------", T_SF_HOURS_TITLE, "Horas Pontos QSOs AVG pts/QSO", T_QSO_CHECK, "QSO check", T_HK_QSO_CHECK, "K", T_AUDIO, "Audio", T_HK_AUDIO, "D", T_ALSA, "Alsa", T_OSS, "OSS", T_PORTAUDIO, "PortAudio", T_DISKFREE, "O minimo espao de disco disponivel [MiB]", T_FORMAT, "Formato de gravao", T_PCM_PLAY, "Dispositivo de som Alsa", T_PCM_REC, "Dispositivo de captura Alsa", T_PERIOD, "Periodo de tempo [ms]", T_BUFFER, "Tempo de buffer [ms]", T_ALSA_MIXER, "Dispositivo misturador Alsa", T_CAPTURE, "Fonte de captura", T_DSP, "Caminho para o /dev/dsp", T_MIXER, "Caminho para o /dev/mixer", T_RECSRC, "Fonte de leitura", T_PA_PLAY, "Portaudio playback device", T_PA_REC, "Portaudio capture device", T_HOSTNAME, "Hostname:", T_SLASHKEY, "Chave slash", T_FIXQRG, "Reparar QRG", T_HK_FIXQRG, "X", T_ENTER_QRG, "Escrever a QRG correcta [Hz]", T_BAD_QRG, "Frequncia errada", T_CALLSIGN3, "Indicativo", T_CALLSIGN_KST, "Indicativo da estao KST:", T_CANT_INIT_WINKEY_S, "No posso iniciar a winkey em %s", T_WINKEYOPTS, "Opes da Winkey", T_WK_WK2, "Inicializao rdida da Winkey2", T_WK_USEPOT, "Use o potnciometro de velocidade", T_WK_USEBUT, "Use os butes", T_WK_KM_B, "Curtis-B", T_WK_KM_A, "Curtis-A", T_WK_KM_U, "Ultimatic", T_WK_KM_G, "Bug", T_WK_SWAP, "Mudana da paddle ( esquerda)", T_RIGOPTS, "Opes do equipamento", T_HK_RIGOPTS, "G", T_RIG_DEVICE, "Device:", T_RIG_MODEL, "Rig model", T_RIG_SPEED, "Baudrate: ", T_RIG_CIV, "CIV address (hex)", T_RIG_FREQSHIFT, "Freq. shift SSB->CW", T_RIG_CHOOSE, "Choose", T_ROTAROPTS, "Rotar options", T_HK_ROTAROPTS, "I", T_DSSAVER, "Desactivar o screensaver", T_DESC, "Description", T_ROT_NONE, "None", T_ROT_OK1ZIA_TTYS, "OK1ZIA ttys", T_ROT_OK1ZIA_FTDI, "OK1ZIA FTDI", T_ROT_HAMLIB, "Hamlib (N/A)", T_ROT_REMOTE, "Remote (N/A)", T_ROT_VID, "VID:", T_ROT_PID, "PID:", T_ROT_SERIAL, "Serial #", T_ROT_ADD, "Add new rotator", T_HK_ROT_ADD, "W", T_ROT_REMOVE, "Remove rotator", T_HK_ROT_REMOVE, "R", T_TIMEOUT, "Timeout:", T_BEAMWIDTH, "Beam width", T_SADDR, "Communication address:", T_MODEL, "Model:", T_ROT_REM_ROTSTR, "Rotator letter for remote", T_QSOGLOB, "Global QSO NR", T_PREFGLOB, "Global prefix", T_NOT_RECORDING_S, "Not recording - %s", T_SKEDCOUNT, "Sked count in popup: ", T_FONTHEIGHT, "Font height (16-32): ", T_RIG_POLL_MS, "Rig poll interval [ms]: ", T_RIG_QRG_R2T, "Set band from radio", T_RIG_QRG_T2R, "Change band on radio", T_RIG_MODE_T2R, "Change mode on radio", T_RUN_MODE, "Run mode", T_HK_RUN_MODE, "M", T_SP_MODE, "S&P mode", T_HK_SP_MODE, "M", T_RIG_CLR_RIT, "Clear RIT on RUN's QSO save", T_RIG_DEBUG, "Debug rig", T_HF_RATE, "Rate: %3d/10 %3d/60", T_HF_BAND, "Band QSO Point Mult", T_HF_SUM, "Sum:", T_HF_LAST, "Last Q-%s P-%s", T_EVEN, "TX even", T_HK_EVEN, "v", T_ODD, "TX odd", T_HK_ODD, "d", T_1ST, "TX 1st", T_HK_1ST, "1", T_2ND, "TX 2nd", T_HK_2ND, "2", T_HF_SCORE, "Score:", T_EXPMODE, "Expedition mode", T_TTTYPE, "Only digits mean", T_ROT_POLL_MS, "Poll interval [ms]:", T_VERSION, "Version", T_HK_VERSION, "V", T_REMOTE_HOST, " Remote host name:", T_REMOTE_PORT, " Remote TCP port:", T_REMOTE_PASS, " Remote Password:", T_STARTING_AC, "Starting AS", T_STOPPING_AC, "Stopping AS", T_ASL_5D_M, "ASL: %5d m", T_SPEED4D_KMH, "Speed:%4d km/h", T_AC_START, "Start: %02d:%02d %02ldm%02ld", T_AC_DURAT_LD, "Durat: %ld", T_EXPORTING_S, "Exporting %s", T_CANT_OPEN_ALSA_PCM_S_S, "Can't open alsa PCM '%s': %s", T_EXPORTING, "Exporting ...", T_TERMINATING_CONVERSION_TABLES, "Terminating conversion tables", T_LOADING_CHARTS, "Loading charts", T_INITIALIZING_CWPTT_CONTROL, "Initializing CW/PTT control", T_NO_PPDEV, "Support for ppdev/inpout isn't compiled in", T_NO_DAVAC4_SUPPORT, "Support for davac4 isn't compiled in, check for libftdi", T_CANT_CREATE_PIPE, "Can't create pipe", T_TERMINATING_CWDAEMON, "Terminating CW/PTT control", T_INIT_CWDB, "Initializing WWL database", T_TERM_CWDB, "Terminating WWL database", T_LOADING_CWDB, "Loading WWL database", T_QRV_ON, "QRV on: ", T_CANT_INIT_FTDI, "Can't init ftdi library for davac4", T_CANT_OPEN_DAVAC4, "Can't open davac4 device %04x:%04x, error=%d %s", T_CANT_SET_BAUDRATE, "Can't set baudrate for davac4, error=%d %s", T_CANT_ENABLE_BITBANG, "Can't enable bitbang, error=%d %s", T_CANT_WRITE_TO_DAVAC4, "Can't write to davac4, error=%d %s", T_INIT_SOUNDCARD, "Initializing soundcard", T_NO_OSS, "OSS support not compiled in", T_NO_ALSA, "Alsa support not compiled in", T_NO_PORTAUDIO, "portaudio support not compiled in", T_NO_SNDFILE, "Libsndfile support not compiled in", T_NO_SNDPIPE, "Sndpipe support not compiled in", T_TERMINATING_SOUNDCARD, "Terminating soundcard", T_INIT_DWDB, "Initializing DXCC database", T_FREE_DWDB, "Terminating DXCC database", T_LOAD_DWDB, "Loading DXCC database", T_CALLSIGN_UNKNOWN, "Callsign unknown in namedb and C_W\n", T_CROSSMODE_QSO_N, "Crossmode QSO ?\n", T_UNKNOWN_DXCC_PREFIXN, "Unknown DXCC prefix\n", T_PREFIX_AND_BIG_WWL, "Prefix and big wwl don't match\n", T_KNOWN_CALL_UNK_LOC, "Known call from unknown locator\n", T_CALL_WITHOUT_P, "Call is without /P and in C_W exists call with /P\n", T_CALL_WITHOUT_D, "Call is without /%d and in C_W exists call with /%d\n", T_CALL_IS_WITH_P_AND, "Call is with /P and in C_W exists call without /P or CEPT prefix\n", T_OTHER_SIMILAR_CALL_KNOWN, "Other similar call known from this locator. Maybe %s?\n", T_CALL_ON_BAND_S, "Callsign on band %s is %s\n", T_LOCATOR_ON_BAND, "Locator on band %s is %s\n", T_QSO_CHECK_LIST, " Tucnak QSO check list\n", T_CALL_SN, " Call: %s\n", T_CONTEST_SN, "Contest: %s\n", T_DATE_SN, " Date: %s\n", T_CHECKING_S, "Checking %s", T_BAND_C_SN, " Band %c %s\n", T_SEEMS_TO_BE_OK, "Seems to be O.K.\n", T_CW_NOT_FOUND, "C_W: %s not found\n", T_0X_NOT_IN_DB, " 0x (not in database)", T_NAME_IS, "Name: %s's name is %s\n", T_NAME_UNKNOWN, "Name: %s's name is unknown\n", T_INIT_DXC, "Initializing DXcluster database", T_FREE_DXC, "Terminating DXcluster database", T_HK_SELECT, "S", T_HIDE, "Hide", T_HK_HIDE, "H", T_INFO, "Info", T_HK_INFO, "I", T_USE, "Use", T_HK_USE, "U", T_BAD_DXC_PORT, "*** Incorrect DXC TCP port %s ***\n", T_ENTER_TO_DXC, "\n*** Press ENTER to connect to DXC ***\n", T_CANT_RESOLVE, "*** Can't resolve %s: %s ***\n", T_HOST_RESOLVED, "*** Host resolved ", T_CANT_CREATE_SOCKET, "*** Can't create socket. %s ***\n", T_CONNECTING_TO, "*** Connecting to %s ***\n", T_CANT_CONNECT_TO, "*** Can't connect to %s, %s ***\n", T_CONNECTED_SOCKET, "*** Connected socket %d ***\n", T_ERROR_READING_SOCKET, "*** Error reading socket: %s ***\n", T_DISCONNECTED, "\n*** Disconnected ***\n", T_RESOLVING, "*** Resolving %s ***\n", T_LOADED_LOCS_NAMES, "Loaded %d locators and %d names from %s", T_SAVED, "Saved '%s'", T_LOADING_CONTEST, "Loading contest %s", T_LOADING_LOGFILE, "Loading logfile", T_LOADING_TALK, "Loading talk", T_SEARCH_FILES, "Search for contest files", T_LOADING_BAND, "Loading band %s", T_LOADING_SPY, "Loading spy", T_LOADING_HICALLS, "Loading hicalls", T_LOADING_QRV, "Loading qrv", T_LOADING_CHART, "Loading chart", T_SAVING_CONTEST, "Saving contest", T_UPD_INT_DATA, "Updating internal data", T_CALC_STATS, "Calculating statistics", T_ANN_OVER_NET, "Announcing over network", T_ACTIVATING_BAND, "Activating band %s", T_UPDATING_WKD, "Updating worked calls", T_UPDATING_QRBQTF, "Updating QRB&QTF", T_UPDATING_GAIN, "Updating gain chart", T_SEN_OVER_NET, "Sending info over network", T_INIT_EXCDB, "Initializing exchange database", T_FREE_EXCDB, "Terminating exchange database", T_INIT_FFT, "Initializing FFT analyse", T_FREE_FFT, "Terminating FFT analyse", T_INIT_ROTAR, "Initializing rotator control", T_FREE_ROTAR, "Terminating rotator control", T_LOCATOR, "Locator:", T_BAND2, "Band", T_POINTS, "Points", T_AVG, "AVG", T_INIT_HTTPD, "Initializing HTTP server", T_FREE_HTTPD, "Terminating HTTP server", T_NO_CONTEST_OPENED, "

No contest opened

\n", T_NO_CONTEST_OPENED2, "No contest opened", T_STATS, "Statistics", T_BAND_NOT_FOUND, "Band not found", T_BAND_C_NOT_FOUND, "

Band %c not found

", T_QSOS_IN_DATABASE, "qsos in database", T_TUCNAK_ONLINE_LOG, "Tucnak online log", T_DATE2, "Date", T_UTC, "UTC", T_CALL, "Call", T_CALL_NOT_FOUND, "Call not found", T_CANT_LOAD_INPOUT, "Can't load inpout32.dll, error %d", T_FREE_TERM, "Terminating terminal", T_TERM_KEYMAPS, "Terminating keymaps", T_QRB, "QRB", T_HK_QRB, "B", T_QTF, "QTF", T_HK_QTF, "F", T_ACKST, "AcKST", T_HK_ACKST, "A", T_MISTAKE, "Oh mistake", T_HK_MISTAKE, "O", T_ASK_FOR_SKED, "Ask for sked", T_HK_ASK_FOR_SKED, "K", T_ASK_FOR_SKED_B, "Sked - calling you", T_HK_ASK_FOR_SKED_B, "C", T_MESSAGE, "Message", T_HK_MESSAGE, "M", T_AC_INFO, "AS info", T_HK_AC_INFO, "A", T_NO_SEND_NUMS, "*** Sending numbers over KST is prohibited\n", T_RESOLVED, "*** Resolved ", T_ENTER_TO_CONNECT_KST, "\n*** Press ENTER to connect to ON4KST ***\n", T_SENDING_SH_US, "*** Sending /sh us ...\n", T_SKIP_LINE, "Skip line %d '%s'", T_CANT_CREATE_HOME, "Can't create home directory '%s'", T_MUST_BE_DIR_MODE, "'%s' must be directory (mode 0%oo)", T_TUCNAK_DIRECTORY_IS, "Tucnak directory is %s", T_INIT_MAP, "Initializing polar map", T_DISABLE_SAVER, "Disabling screensaver", T_STARTING_TUCNAK, "Starting Tucnak", T_FREE_MAP, "Terminating polar map", T_INIT_MASTERDB, "Initializing master database", T_FREE_MASTERDB, "Terminating master database", T_LOAD_MASTERDB, "Loading master database", T_TUCNAK_SVN_LIBZIA_SVN, "Tucnak SVN version: %s\nLibzia SVN version: %s", T_DIRECTORY_SCAN, "Directory scan", T_V3_COMPATIBILITY, " (v3 compatibility)", T_RELOAD_INTERFACES, "Reload interfaces", T_SET_READONLY, "Set read-only", T_CHANGE_TYPE, "Change type", T_HK_CHANGE_TYPE, "T", T_OPEN_CONNECTION, "Open connection", T_HK_OPEN_CONNECTION, "O", T_KILL_CONNECTION, "Kill connection", T_HK_KILL_CONNECTION, "K", T_HK_EXPORT_TO_TEXT_FILE, "E", T_EXPORT_TO_TEXT_FILE, "Export to text file", T_ADD_CONTEST, "Add contest", T_HK_ADD_CONTEST, "O", T_ADD_FILES, "Add file(s)", T_HK_ADD_FILES, "F", T_ADD_CONTESTS, "Add contests", T_HK_ADD_CONTESTS, "O", T_ALTC, "Alt+%c", T_CTRLC, "Ctrl+%c", T_CTRLP, "Ctrl+P", T_CRASH_TEST, "Crash test", T_HK_CRASH_TEST, "C", T_INTERROR_TEST, "Int.error test", T_HK_INTERNAL_TEST, "I", T_DUMP_RW_BANDS, "Dump RW bands and hashes", T_HK_DUMP_RW_BANDS, "D", T_UPDATE, "Update Tucnak", T_HK_UPDATE, "U", T_SETTINGS, "Settings", T_HK_SETTINGS, "S", T_UPLOAD_TO_VHFNET, "Upload to vhfcontest.net", T_HK_UPLOAD_TO_VHFNET, "V", T_UPLOAD_TO_SLOVHF, "Upload live score to slovhf.net", T_HK_UPLOAD_TO_SLOVHF, "S", T_MEDIAWIKI_UPLOAD, "Upload to MediaWiki", T_HK_MEDIAWIKI_UPLOAD, "U", T_SOTA_UPLOAD_LOG, "Upload to SOTALog", T_HK_SOTA_UPLOAD_LOG, "D", T_SEND_SOTA_SPOT, "Send SOTA spot", T_HK_SEND_SOTA_SPOT, "N", T_VOIP_SPY, "Voip spy", T_HK_VOIP_SPY, "V", T_END_VOIP_SPY, "End voip spy", T_HK_END_VOIP_SPY, "Y", T_OLD_TEST_NO_SPY, "Contest is old, spy is not available", T_NETWORK_SCAN, "Network scan", T_HTTPD_OPTIONS, "HTTPD options", T_HK_HTTP_OPTIONS, "H", T_AC_OPTIONS, "Aircraft scatter options", T_HK_AC_OPTIONS, "P", T_SDR_OPTIONS, "SDR options", T_HK_SDR_OPTIONS, "R", T_RAIN_OPTIONS, "Rain scatter options", T_HK_RAIN_OPTIONS, "A", T_OTHER, "Other:", T_NONE, "None ", T_RSTS2, "RST-S", T_RSTR2, "RST-R", T_QSONRR2, "QSONR-R", T_EXC2, "EXC", T_UNUSED, "Unused ", T_USED_6, "Used (6)", T_OPT_6, "Opt. (6)", T_USED_4, "Used (4)", T_OPT_4, "Opt. (4)", T_FREE, "Free ", T_MULTIPLIED, "Multipl.", T_VERIFIED, "Verified", T_WAZ, "WAZ ", T_ITU, "ITU ", T_WWL2, "WWL:", T_CONFIRM_WWL, "Confirm WWL", T_CONFIRM_EXC, "Confirm EXC", T_FONT_SIZE, "Font size: ", T_DXC_HOSTNAME, "DXC Hostname:", T_TCP_PORT, "TCP Port:", T_SOTA_USERNAME, "SOTA Username:", T_DXC_USERNAME, "DXC Username:", T_PASSWORD, "Password:", T_KST_USERNAME, "KST Username:", T_KST_YOURNAME, "KST Yourname:", T_SLOVHF_USER, " SLOVHF user:", T_SDR, "SDR", T_PARPORT, "parport", T_TTYS, "ttys", T_TTYSSINGLE, "ttys single pin", T_AUDIO_SUBSYSTEM, "Audio subsystem:", T_PLAYBACK_VOLUME, "Playback volume", T_CAPTURE_VOLUME, "Capture volume", T_ENABLE_REMOTE_CONNECT, "Enable remote connect", T_TRACE_RIG, "Trace rig", T_TRACE_KEYS, "Trace keys", T_SAVE_RESTART, "You must save configuration and restart Tucnak", T_FULLSCREEN, "Fullscreen", T_TOUCH, "Use touch control", T_ALT_QWER, "Alt turns QWER.. to 1234..", T_NO_LOCKS, "No device locks", T_PORTRAIT_ORIENTATION, "Portrait orientation", T_REVERSE, "Reverse", T_CHOOSE_RIG, "Choose rig", T_RIG_D, "Rig %d", T_NEW_RIG, "New rig", T_ENABLED, "Enabled", T_SET_PTT_ON_RADIO, "Set PTT on radio", T_DISABLED, " (disabled)", T_ADD_RIG, "Add rig", T_REMOVE_RIG, "Remove rig", T_ROTATOR_D, "Rotator %d", T_ENABLE, "Enable", T_TCP_PORT2, "TCP port:", T_PRIVATE, "Show private information", T_REFRESH, "Refresh interval:", T_LOAD_FROM_NET, "Load from network", T_LOAD_CWDB, "Load C_W database", T_LOAD_NAMEDB, "Load Name database", T_LOAD_QRVDB, "Load QRV database", T_READONLY_BANDS, "Read-only bands", T_ENABLE_AC, "Enable AS", T_AC_URL, "Alternative URL for flightradar data", T_K_FACTOR, "Troposphere k_factor", T_AC_AREA_WIDTH, "Reflection area width in km", T_AC_EL_ANGLE, "Minimal elevation angle", T_AC_MAX_EL_ANGLE, "Maximal elevation angle", T_AC_MIN_DURATION, "Minimal reflection duration in sec", T_AC_MAX_DIFF, "Max difference of incidence and reflection angles", T_BAD_NUMBER_RANGE, "Bad number range", T_AF_SRATE_GREATER_SRATE, "AF sample rate can't be greater than sample rate", T_SRATE_DIVISIBLE, "Sample rate must be divisible by AF sample rate without remainder", T_NO_DEVICE, "No device", T_IQ_SOURCE, "IQ source:", T_WAV_FILE, "WAV file", T_WAV_FILE_NAME, "WAV file name", T_AF_OUTPUT, "AF output:", T_AF_SAMPLE_RATE, "AF sample rate", T_BLOCK_SIZE, " Block size", T_CW_FILTER, " CW filter", T_TO_HZ, "to [Hz]", T_SSB_FILTER, " SSB filter", T_INIT_NAMEDB, "Initializing name database", T_FREE_NAMEDB, "Terminating name database", T_LOAD_NAMEDB2, "Loading name database", T_INIT_NET, "Initializing network", T_FREE_NET, "Terminating network", T_ONLY_55555_CAN_REMOTE, "Only tucnak with port 55555 can connect to remote to prevent routing loops", T_CANT_CONNECT_TO_MYSELF_LO, "Can't connect to myself (interface lo)", T_CANT_CONNECT_TO_MYSELF, "Can't connect to myself (interface %s)", T_CANT_PARSE_REMOTE_HOST_S, "Can't parse remote host %s", T_TIME_WAS_SET, "Time was set", T_FAILED_TO_SET_TIME, "Failed to set time", T_INIT, "INIT", T_CONNECTING, "CONNECTING", T_CONNECTED, "CONNECTED", T_WAIT_ACK, "WAIT_ACK", T_DISCONNECTED2, "DISCONNECTED", T_DEAD, "DEAD", T_LONG_XFER, "LONG_XFER", T_AUTHENTICATED_USER_S, "Authenticated user %s", T_BAD_AUTHENTICATION_S, "Bad authentication %s", T_LONG_TRANSFER_STARTED_PLEASE_WAIT, "Long transfer started, please WAIT", T_LONG_TRANSFER_FINISHED, "Long transfer finished", T_INIT_NTP, "Initializing NTP monitor", T_FREE_NTP, "Terminating NTP monitor", T_NO_NTP, "Warning! Time on this machine is not synchronized. Please use NTP", T_INIT_SPEAKER, "Initializing PC speaker", T_FREE_SPEAKER, "Terminating PC speaker", T_CANT_PLAY, "Can't play %s - %s", T_CANT_SEEK_TO_END, "Can't seek to end %s - %s", T_CANT_SEEK_TO_START, "Can't seek to start %s - %s", T_CANT_OPEN, "Can't open %s %s", T_TIP_MKNOD, "Tip: try to run as root \"mknod %s c 99 %d; chmod a+rw %s\"", T_TIP_CHMOD, "Tip: try to run as root \"chmod a+rw %s\"", T_CANT_SET_EPP, "Can't set %s to EPP mode %s", T_CANT_EXCLUSIVE_ACCESS, "Can't exclusive access to %s %s", T_CANT_CLAIM, "Can't claim %s %s", T_INIT_QRVDB, "Initializing QRV database", T_FREE_QRVDB, "Terminating QRV database", T_WWL3, "WWL", T_WKD2, "WKD", T_ACKST2, "AcKst", T_START, "Start", T_DUR, "Dur", T_NR, "NR", T_TEXT2, "Text", T_16_SORT, "1-6: sort, ", T_A_ALL, "A: all", T_ENTER_SPACE_EDIT, ", Enter, Space, E: edit, Insert, Delete, U: undel, /: search", T_LOAD_QRVS, "Loading qrvs", T_UNSPECIFIED, "unspecified", T_SSB, "SSB", T_CW, "CW", T_SSBS_CWR, "SSBs CWr", T_CWS_SSBR, "CWs SSBr", T_AM, "AM", T_FM, "FM", T_RTTY, "RTTY", T_SSTV, "SSTV", T_ATV, "ATV", T_ADDED_ERROR, "added ERROR for band %c, qsonr %d\n", T_FOUND_D_ERRORS, "Found %d error%s while reading %s", T_FOUND_D_ERRORS_RC_NET, "Found %d error(s) while reading config from net", T_REGISTRATED_ROTATORS, "Registrated rotators:", T_UNSUPPORTED_ROTATOR, "Unsupported rotator type %d\n", T_WAIT_HL_ROT_THREAD, "Waiting for hamlib rotator thread", T_INIT_ROTARS2, "Initializing rotators", T_UNKNOWN_ROTAR, "Unknown rotar '%s'\n", T_ROTAR_ERROR_S, "Rotar error: %s", T_CANT_RECORD_FROM_SDR_DSP, "Can't record from SDR DSP", T_CANT_PLAY_TO_SDR_DSP, "Can't play to SDR DSP", T_CANT_OPEN_PLAY_SDR_SOUNDPIPE, "Can't open (play) SDR soundpipe", T_CANT_READ_FROM, "Can't read from", T_CANT_WRITE_TO, "Can't write to", T_MULTIPLIED_WWLS_D, " Multiplied WWLs: %d", T_HYPHENS1, "-----------------------", T_UPDATE2, "Update", T_ENTER_TO_KST, "*** Press ENTER to connect to ON4KST ***", T_BAD_UPDATE_FILE_NAME, "Bad update file name", T_CANT_EXECUTE_INSTALLER, "Can't execute installer, ", T_UPDATE_OF_TUCNAK_FAILED, "Update of Tucnak failed", T_UPDATE_FAILED, "Update failed", T_UPDATE_OF_TUCNAK_FAILED_CANT_PARSE_REPLY, "Update of Tucnak failed, can't parse reply.", T_UPDATE_OF_TUCNAK_FAILED_S, "Update of Tucnak failed. %s", T_NEW_VERSION_AVAIL, "New version %s is available. Use Menu File, Update Tucnak to install.", T_NO_NEW_VER, "No new version available.", T_READING_LIST_OF_OPENED_CONTESTS, "Reading list of opened contests...", T_CHOOSE_CONTEST, "Choose contest", T_NO_CONTEST_AVAILABLE_FOR_UPLOAD, "No contest available for upload", T_OBTAINING_CONTEST_WEB_FORM, "Obtaining contest web form...", T_ALL_EDI_FILES_PROCESSED, "All EDI files processed.", T_UPLOADING_LOG_FILE_S, "Uploading log file %s ...", T_UPLOADING_BAND_S, "Uploading band %s", T_CONFIRMING_LOG, "Confirming log...", T_RESULT_ERROR, "*** Result: ERROR please read error message above", T_LOG_IS_NOT_VALID, "Log is not valid. Please verify error messages and repeat: %s", T_DOWNLOADING_CLAIMED_SCORES, "Downloading claimed scores...", T_LOGS_UPLOADED, "Logs uploaded.", T_HTTP_STATUS, "HTTP status: ", T_LOG_UPLOAD, "Log upload", T_VOIP_NO_INITIALIZED, "VOIP no initialized", T_PAGE_NAME, "Page name", T_OVERWRITE_EXISTING_FILES, "Overwrite existing files", T_SITE_URL, "Site URL", T_USERNAME, "Username", T_PASSWORD2, " Password", T_EXPORT_MAP, "Export map", T_EXPORT_CHART, "Export chart", T_MEDIAWIKI_UPLOAD2, "Mediawiki upload", T_BAD_AUTH_USER, "Bad auth user %s != %s", T_BAD_AUTH_PASS, "Bad auth pass %s != %s\n", T_CTEST_NOT_SAME_AC, "Contest is not the same: FORMAT of AC frame", T_CANT_GET_FMTS, "Can't get supported audio formats: %s", T_CANT_SET_FMT, "Can't set audio format %d, recommended %d: %s", T_CANT_SET_FMT_RET, "Can't set recommended audio format %d, return %d: %s", T_CANT_SET_FALLBACK, "Can't set fallback audio %d, return %d: %s", T_CANT_SET_CHANNELS, "Can't set channels %d, recommended %d: %s", T_CANT_SET_CHANNELS_RET, "Can't set recommended channels %d, return %d: %s", T_CANT_SET_RATE, "Can't set samplerate %d, recommended %d: %s", T_CANT_SET_RATE_RET, "Can't set recommended samplerate %d, return %d: %s", T_CANT_SET_BLOCK_SIZE, "Can't set block size %d: %s", T_UNKNOWN_PORTAUDIO_DEV, "Unknown portaudio device %d", T_CANT_OPEN_PA_STREAM, "Can't open PortAudio stream %d for %s: %s", T_RECORD2, "record", T_PLAYBACK, "playback", T_CANT_PA_STREAM, "Can't %s PortAudio stream %d: %s", T_CANT_STOP_PA, "Can't stop PortAudio stream: %s", T_CANT_CLOSE_PA, "Can't close PortAudio stream: %s", T_TIP_RMMOD, "Tip: try to run as root \"rmmod lp\"", T_TIP_KILL_LSOF, "Tip: or kill process listed in \"lsof %s\"", T_CANT_SET_STROBE, "Can't set parport_STROBE %s", T_UNKNOWN_ROTNR_OR_INIT_ERROR, "Unknown rotator number %d or initialization error", T_CANT_CREATE_HL_ROT_THR, "Can't create hamlib rotar thread\n", T_INIT_SERIAL_DEVICES, "Initializing serial devices", T_BAD_CHECKSUM, "Bad checksum", T_TIMEOUT2, "Timeout", T_BAD_RESPONSE, "Bad response", T_UNKNOWN_FUNCTION, "Unknown function", T_UNKNOWN_ERROR_CODE, "Unknown error code", T_CANT_CREATE_SDR_THR, "Can't create SDR thread\n", T_WAIT_FOR_SDR_THR, "Waiting for SDR thread", T_QSO_REQ_FROM_SP, " QSO request from S&P ", T_QSO_REQ_SENT, " QSO request sent to RUN ", T_GO, " GO! ", T_LOCATION_UNKNOWN, "Location unknown", T_DEGREE, "deg", T_SKED_FORMAT, "%6s@%s: %s %-9s %-13s in %-6s (%dkm, %d%s) at %s %s", T_CANT_OPEN_FILE_S_S, "Can't open file '%s': %s", T_CANT_OPEN_SOUND_PIPE, "Can't open sound pipe", T_INIT_SSB_CQ, "Initializing SSB CQ", T_FREE_SSB_CQ, "Terminating SSB CQ", T_NO_FILE, "No file specified", T_UNSUP_CHANNELS, "Unsupported number of channels = %d", T_FLOAT_UNSUPP, "Float point files are not supported", T_CANT_OPEN_DSP_PLAY, "Can't open DSP %s for playing", T_REC_DISABLED, "recording disabled", T_CONTEST_TOO_OLD, "contest too old", T_NO_FREE_DISK_SPACE, "Not enough free disk space for %s: %d<%d (MiB)", T_ERROR_WRITING_FILE, "Error writing file %s: %s", T_CANT_OPEN_DSP_REC, "Can't open DSP %s for recording", T_NO_DISK_SPACE, "Not enough free disk space for file", T_CANT_PLAY_FILE, "Can't play file %s - %s", T_CANT_WRITE_SS, "Can't write to file %s - %s", T_NO_LAST_SAMPLE_RECORDED, "No last sample recorded", T_NO_MACRO_IN_TEMPLATE, "No macro %% in SSBD template", T_NEW_WINDOWS_3, "Note: Since version 3.00 there are specific window types for DX cluster and ON4KST chat.\nThey will give you better comfort and functionality.\n\n", T_ENTER_TO_DXC2, "*** Press ENTER to connect to DXC ***", T_LOADING_S, "Loading %s", T_INVALID_WINDOW_TYPE, "invalid window type %d\n", T_INIT_RIG, "Initializing rig control %d", T_RIG_ERROR, "Rig error: %s (%s)", T_CANT_CREATE_RIG_THREAD, "Can't create trig thread\n", T_FREE_RIG, "Terminating rig control %d", T_WAIT_FOR_RIG_THR, "Waiting for rig thread", T_INVALID_PARAM, "Invalid param.", T_RIG_INVALID_CONFIG, "Invalid config.", T_RIG_NOT_ENOUGH_MEM, "Not enough mem.", T_RIG_NOT_IMPLEMENTED, "Not implemented", T_RIG_COMM_TIMEOUT, "Comm. timeout", T_RIG_IO_ERROR, "IO error", T_RIG_INTERNAL_ERROR, "Internal error", T_PROTOCOL_ERROR, "Protocol error", T_RIG_COMMAND_REJECT, "Command reject.", T_RIG_ARG_TRUNCATED, "Arg. truncated", T_RIG_F_NOT_AVAILABLE, "F not available", T_RIG_VFO_NOT_TARGET, "VFO not target.", T_RIG_ERROR_ON_BUS, "Error on bus", T_RIG_BUS_COLLISION, "Bus collision", T_RIG_INVALID_ARG, "Invalid arg.", T_RIG_INVALID_VFO, "Invalid VFO", T_RIG_ARG_OUT_OF_DOM, "Arg out of dom.", T_ERROR_D, "Error %d", T_CANT_SET_GRAPHICS1, "Can't set graphics mode (SDL_Init)", T_CANT_SET_GRAPHICS2, "Can't set graphics mode", T_WAIT_SDL_THR, "Waiting for SDL event thread", T_FREE_GRAPHICS, "Terminating graphics", T_CANT_GET_LIST_OF_CONTESTS, "Can't get list of contests: %s", T_CANT_GET_UPLOAD_FORM, "Can't get upload form: %s", T_CANT_READ_LOG_FILE, "Can't read log file %s", T_CANT_UPLOAD_LOG, "Can't upload log: %s", T_CANT_CONFIRM_LOG, "Can't confirm log: %s", T_CANT_GET_CLAIMED_SCORES, "Can't get claimed scores: %s", T_ANT_OPEN_DSP_PLAY, "an't open DSP %s for playing", T_CALL2, "Call:", T_QTH, "QTH:", T_DATE3, "Date:", T_QSOS2, "QSOs:", T_POINTS2, "Points:", T_WWLS, "WWLs:", T_DXCCS, "DXCCs:", T_AVG2, "AVG:", T_PTSQSO, "pts/qso", T_TOP_10_CALLS, "Top 10 calls", T_OPERATOR2, "Operator", T_MODE2, "Mode", T_TOP_10_WWLS, "Top 10 WWLs", T_CANT_UPLOAD_FILE_S, "Can't upload file: %s", T_CANT_UPLOAD_PAGE_WIKI_RET, "Can't upload page, wiki returns: %s", T_FILE_ALREADY_EXISTS, "File already exists: %s", T_CANT_UPLOAD_PAGE_RET, "Can't upload page, wiki returns result: %s", T_CANT_EDIT_PAGE, "Can't edit page: %s", T_CANT_EDIT_PAGE_RET, "Can't edit page, wiki returns: %s", T_CANT_EDIT_PAGE_RET2, "Can't edit page, wiki returns result: %s", T_EDITING_CONTEST_PAGE, "Editing contest page...", T_ALL_DONE, "All done.", T_UPLOADING_FILE, "Uploading file %s...", T_UNKNOWN_FILE_FOR_UPLOAD, "Unknown file for upload: %s", T_CANT_QUERY_EDIT_TOKEN, "Can't query edit token: %s", T_CANT_QUERY_EDIT_TOKEN_RET, "Can't query edit token, wiki returns: %s", T_QUERYING_EDIT_TOKEN, "Querying edit token", T_CANT_LOGIN, "Can't log in (2): %s", T_CANT_LOGIN2, "Can't log in (2), wiki says: %s", T_CANT_LOGIN1, "Can't log in (1): %s", T_LOGGING_IN, "Logging in...", T_EXPORTING_FILES, "Exporting files...", T_INIT_WIZZ, "Initializing contest wizard", T_FREE_WIZZ, "Terminating contest wizard", T_LOAD_WIZZ_DATA, "Loading contest wizard data", T_ADIF_EXPORT_MODE, "ADIF export erroneous QSOs", T_LOGDIR_PATH, "Subdirectory for logs", T_PHASE, "Contest phase", T_HK_PHASE, "H", T_ENTER_PHASE, "New contest phase: ", T_PHASE_E, " Phase:", tucnak-4.32/INSTALL0000644000175000017500000003661012632516463010717 00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell command `./configure && make && make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. tucnak-4.32/trywithout0000755000175000017500000000377312524113053012046 00000000000000#!/bin/bash set -e set -x CPUS=`grep ^processor /proc/cpuinfo | wc -l` cd ../libzia ./configure --enable-pedantic >/dev/null make clean >/dev/null make -j$CPUS >/dev/null cd ../tucnak ./configure --enable-pedantic >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-sndfile >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-alsa >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --with-portaudio >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-hamlib >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-fftw3 >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --with-gpm >/dev/null make clean >/dev/null make -j$CPUS >/dev/null cd ../libzia ./configure --without-sdl --without-png --without-ftdi -without-bfd >/dev/null make clean >/dev/null make -j$CPUS >/dev/null cd ../tucnak ./configure >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-sndfile >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-alsa >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --with-portaudio >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-hamlib >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-fftw3 >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --with-gpm >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-sndfile --without-alsa >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-sndfile --with-portaudio >/dev/null make clean >/dev/null make -j$CPUS >/dev/null ./configure --without-sndfile --without-fftw3 >/dev/null make clean >/dev/null make -j$CPUS >/dev/null # # standard settings # cd ../libzia ./configure >/dev/null make clean >/dev/null make -j$CPUS >/dev/null cd ../tucnak ./configure >/dev/null make clean >/dev/null make -j$CPUS >/dev/null echo OK tucnak-4.32/Makefile.in0000644000175000017500000007332514125266462011737 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = srcup CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docsdir)" DATA = $(docs_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/srcup.in AUTHORS COPYING ChangeLog INSTALL NEWS \ README TODO compile config.guess config.sub depcomp install-sh \ missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ SUBDIRS = android data doc intl pkg share src win32 MAINTAINERCLEANFILES = aclocal.m4 config.h.in configure Makefile.in stamp-h.in EXTRA_DIST = COPYING INSTALL eee.sh leaks mingw rebuild svnver svnver.sh trywithout docsdir = $(datadir)/tucnak/doc docs_DATA = AUTHORS ChangeLog TODO stamp = `date +%Y%m%d_%H%M%S` specfile = $(top_srcdir)/pkg/tucnak.spec all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 srcup: $(top_builddir)/config.status $(srcdir)/srcup.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-docsDATA: $(docs_DATA) @$(NORMAL_INSTALL) @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsdir)" || exit $$?; \ done uninstall-docsDATA: @$(NORMAL_UNINSTALL) @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(docsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-docsDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-docsDATA .MAKE: $(am__recursive_targets) all install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-docsDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-am uninstall uninstall-am uninstall-docsDATA .PRECIOUS: Makefile tucnak.d: make -C src tucnak.d distd: dist echo $(distdir) # mv $(distdir).tar.gz $(distdir).tar.gz alpha: dist echo $(distdir) mv $(distdir).tar.gz $(distdir)-alpha.tar.gz rsync -atuvxz --partial --progress $(distdir)-alpha.tar.gz ok1zia@nagano.cz::ok1zia/public_html/tucnak/ threadsafe: grep -nE '\|\|\|\|\|\'\ '|\|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\'\ '|\|\|\|\|\|\'\ '|\|\|\|\|\|\'\ '|\|\' src/*.c src/*.h nagup: rsync -atuvxz --partial --progress tucnak*.tar.gz ok1zia@nagano.cz::ok1zia/public_html/tucnak/ ver: @echo $(VERSION) deb: dpkg-buildpackage -b -rfakeroot -us -uc -tc mv ../$(PACKAGE)_$(VERSION)* . rpm: dist if test x$(HAVE_RPM_PACKAGING) = xyes ; then \ cp $(top_srcdir)/$(distdir).tar.gz $(RPM_SOURCESDIR) ; \ rpmbuild -bb --clean --rmsource $(specfile) ; \ mv $(RPM_SOURCESDIR)/../RPMS/*/$(distdir)-1$(RPM_RELEASE).*.rpm . ; \ else \ echo "Error: RPM executable and/or source directory not found." ; \ echo "Package build abandoned." ; \ fi srpm: dist if test x$(HAVE_RPM_PACKAGING) = xyes ; then \ cp $(top_srcdir)/$(distdir).tar.gz $(RPM_SOURCESDIR) ; \ rpmbuild -bs --clean --rmsource $(specfile) ; \ mv $(RPM_SOURCESDIR)/../SRPMS/$(distdir)-1$(RPM_RELEASE).src.rpm . ;\ else \ echo "Error: RPM executable and/or source directory not found." ;\ echo "Package build abandoned." ; \ fi lines: n=`cat src/*.[ch] ../libzia/include/*.h ../libzia/src/*.c | wc -l` ;echo Total=$$n, zia=$$(($$n-21228)) ctags: (cd src; ctags -R . ../../libzia/include ../../libzia/src /usr/include/SDL /usr/include/glib-2.0/glib) tucver: vim -o configure.ac debian/changelog debian/control ../libzia/configure.ac ../libzia/debian/changelog # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/win32/0000755000175000017500000000000014125271150010670 500000000000000tucnak-4.32/win32/tucnak-cygwin.nsi.in0000644000175000017500000001150711652245213014522 00000000000000; tucnak.nsi ; ; Install script for Nullsoft Scriptable Install System (NSIS), http://nsis.sf.net ; ;-------------------------------- LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf" ; The name of the installer Name "Tucnak @PACKAGE_VERSION@" ; The file to write OutFile "TucnakCygwin-@PACKAGE_VERSION@.exe" ; The default installation directory InstallDir "c:\tucnak" ; Registry key to check for directory (so if you install again, it will ; overwrite the old one automatically) InstallDirRegKey HKLM "Software\OK1ZIA\tucnak" "Install_Dir" Icon "tucnak.ico" UninstallIcon "tucnak.ico" Crccheck on XPStyle on AutoCloseWindow on ;-------------------------------- ; Pages Page components Page directory Page instfiles UninstPage uninstConfirm UninstPage instfiles ;-------------------------------- ; The stuff to install Section "Install Tucnak" SectionIn 1 2 RO ; Set output path to the installation directory. SetOutPath $INSTDIR ; Put file there File "..\src\tucnak.exe" File "tucnak.bat" File "tucnak.ico" File "inpout32.dll" File "..\doc\README.win32" ; File "c:\cygwin\bin\uname.exe" File "c:\cygwin\bin\sh.exe" File "c:\cygwin\bin\cygglib-2.0-0.dll" File "c:\cygwin\bin\cyggthread-2.0-0.dll" ; File "c:\cygwin\bin\cyghamlib-2.dll" File "c:\cygwin\bin\cygiconv-2.dll" File "c:\cygwin\bin\cygintl-3.dll" File "c:\cygwin\bin\cygintl-8.dll" ; pro sh.exe, gdb.exe File "c:\cygwin\bin\cygncurses-9.dll" ; pro sh.exe File "c:\cygwin\bin\cygreadline6.dll" ; pro sh.exe File "c:\cygwin\bin\cygsndfile-1.dll" File "c:\cygwin\bin\cygusb0.dll" File "c:\cygwin\bin\cygwin1.dll" ; File "c:\cygwin\lib\hamlib-*.dll" ; Delete "$OUTDIR\hamlib-dummy.dll" ; causes relocation problem ; File "c:\cygwin\bin\rigctl.exe" File "c:\cygwin\bin\gdb.exe" File "c:\cygwin\bin\tcl84.dll" File "c:\cygwin\bin\tk84.dll" File "c:\cygwin\bin\cygncurses-8.dll" ; Write the installation path into the registry WriteRegStr HKLM Software\OK1ZIA\tucnak "install_dir" "$INSTDIR" ; Write the uninstall keys for Windows WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tucnak" "DisplayName" "Tucnak" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tucnak" "UninstallString" '"$INSTDIR\uninstall.exe"' WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tucnak" "NoModify" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tucnak" "NoRepair" 1 WriteUninstaller "uninstall.exe" SectionEnd ; Optional section (can be disabled by the user) Section "Create shortcut in menu Start" CreateDirectory "$SMPROGRAMS\OK1ZIA" CreateShortCut "$SMPROGRAMS\OK1ZIA\Tucnak.lnk" "$INSTDIR\tucnak.bat" "" "$INSTDIR\tucnak.ico" 0 CreateShortCut "$SMPROGRAMS\OK1ZIA\Uninstall Tucnak.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 SectionEnd Section "Create shortcut in Desktop" CreateShortCut "$DESKTOP\Tucnak.lnk" "$INSTDIR\tucnak.bat" "" "$INSTDIR\tucnak.ico" 0 SectionEnd Section "Run Tucnak" Exec "$INSTDIR\tucnak.bat" SectionEnd ;-------------------------------- ; Uninstaller Section "Uninstall" ; Remove registry keys DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tucnak" DeleteRegValue HKLM "Software\OK1ZIA\tucnak" "install_dir" DeleteRegKey /ifempty HKLM "Software\OK1ZIA\tucnak" ; Remove files and uninstaller Delete "$INSTDIR\tucnak.exe" Delete "$INSTDIR\tucnak.bat" Delete "$INSTDIR\tucnak.ico" Delete "$INSTDIR\inpout32.dll" Delete "$INSTDIR\README.win32" Delete "$INSTDIR\uname.exe" Delete "$INSTDIR\sh.exe" Delete "$INSTDIR\cygglib-2.0-0.dll" Delete "$INSTDIR\cyggthread-2.0-0.dll" Delete "$INSTDIR\cyghamlib-2.dll" Delete "$INSTDIR\cygiconv-2.dll" Delete "$INSTDIR\cygintl-3.dll" Delete "$INSTDIR\cygintl-8.dll" ; pro sh.exe Delete "$INSTDIR\cygncurses-8.dll" ; pro sh.exe Delete "$INSTDIR\cygncurses-9.dll" ; pro sh.exe Delete "$INSTDIR\cygreadline6.dll" ; pro sh.exe Delete "$INSTDIR\cygsndfile-1.dll" Delete "$INSTDIR\cygusb0.dll" Delete "$INSTDIR\cygwin1.dll" Delete "$INSTDIR\uninstall.exe" Delete "$INSTDIR\hamlib-*.dll" Delete "$INSTDIR\rigctl.exe" Delete "$INSTDIR\gdb.exe" Delete "$INSTDIR\tcl84.dll" Delete "$INSTDIR\tk84.dll" Delete "$INSTDIR\cygncurses-8.dll" Delete "$SMPROGRAMS\OK1ZIA\Tucnak.lnk" Delete "$SMPROGRAMS\OK1ZIA\Uninstall Tucnak.lnk" Delete "$DESKTOP\Tucnak.lnk" ; Remove directories used RMDir "$SMPROGRAMS\OK1ZIA" RMDir "$INSTDIR" SectionEnd tucnak-4.32/win32/Makefile.am0000644000175000017500000000017113714263312012647 00000000000000datarootdir = @datarootdir@ EXTRA_DIST = tucnak.bat tucnak.ico tucnak-cygwin.nsi.in tucnak-msvc.nsi.in tucnak-msvc.nsi tucnak-4.32/win32/nagup.bat.in0000644000175000017500000000012012524341151013010 00000000000000rsync -atuvx Tucnak-@VERSION@.exe ok1zia@nagano.cz::ok1zia/public_html/tucnak/ tucnak-4.32/win32/tucnak-msvc.nsi.in0000644000175000017500000001677114114415530014177 00000000000000; tucnak-msvc.nsi ; ; Install script for Nullsoft Scriptable Install System (NSIS), http://nsis.sf.net ; ;-------------------------------- LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf" ; The name of the installer Name "Tucnak @PACKAGE_VERSION@" ; The file to write OutFile "Tucnak-@PACKAGE_VERSION@.exe" ; The default installation directory InstallDir "$PROGRAMFILES\Tucnak" ; Registry key to check for directory (so if you install again, it will ; overwrite the old one automatically) InstallDirRegKey HKLM "Software\OK1ZIA\Tucnak" "Install_Dir" Icon "tucnak.ico" UninstallIcon "tucnak.ico" Crccheck on XPStyle on AutoCloseWindow true ;-------------------------------- ; Pages Page components Page directory Page instfiles UninstPage uninstConfirm UninstPage instfiles ;-------------------------------- ; The stuff to install Section "Install Tucnak" SectionIn 1 2 RO ; Set output path to the installation directory. SetOutPath $INSTDIR ; Put file there File "..\Release\tucnak.exe" File "..\Release\tucnak.pdb" ; File "..\Release\libftdi.dll" ; File "..\Release\libpng.dll" ; File "..\Release\libzia.dll" ; File "iconv.dll" File "inpout32.dll" File "intl.dll" File "libfftw3-3.dll" File "libglib-2.0-0.dll" File "libgthread-2.0-0.dll" File "libhamlib-4.dll" File "libgcc_s_sjlj-1.dll" File "libwinpthread-1.dll" File "libiconv2.dll" File "libsndfile-1.dll" File "libusb-1.0.dll" File "libpng.dll" File "msvcr120.dll" File "portaudio_x86.dll" File "SDL2.dll" File "tucnak.ico" File "zlib1.dll" File "libhogweed-6.dll" File "libgmp-10.dll" File "libgnutls-30.dll" File "libnettle-8.dll" File "rigctl.exe" File "rigctld.exe" File "rotctl.exe" ;SetOutPath "$INSTDIR\libusb" ;File "libusb\Davac4.inf" ;File "libusb\Digital_analyser.inf" ;File "libusb\HdKeyb.inf" ;File "libusb\Rotar4.inf" ;File "libusb\FUNcube_Dongle.inf" ;File "libusb\Installer_x64.exe" ;File "libusb\Installer_x86.exe" ;File "libusb\testlibusb.exe" ;File "libusb\testlibusb-win.exe" ;SetOutPath "$INSTDIR\libusb\amd64" ;File "libusb\amd64\libusb0.dll" ;File "libusb\amd64\libusb0.sys" ;SetOutPath "$INSTDIR\libusb\ia64" ;File "libusb\ia64\libusb0.dll" ;File "libusb\ia64\libusb0.sys" ;SetOutPath "$INSTDIR\libusb\x86" ;File "libusb\x86\libusb0_x86.dll" ;File "libusb\x86\libusb0.sys" ; Write the installation path into the registry WriteRegStr HKLM Software\OK1ZIA\tucnak "Install_Dir" "$INSTDIR" ; Write the uninstall keys for Windows WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "DisplayName" "Tucnak" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "UninstallString" '"$INSTDIR\uninstall.exe"' WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "NoModify" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "NoRepair" 1 WriteUninstaller "uninstall.exe" SetOutPath $INSTDIR SectionEnd ; Optional section (can be disabled by the user) Section "Create shortcut in menu Start" SetShellVarContext all CreateDirectory "$SMPROGRAMS\OK1ZIA" CreateShortCut "$SMPROGRAMS\OK1ZIA\Tucnak.lnk" "$INSTDIR\tucnak.exe" "" "$INSTDIR\tucnak.ico" 0 CreateShortCut "$SMPROGRAMS\OK1ZIA\Uninstall Tucnak.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 SetShellVarContext current CreateShortCut "$SMPROGRAMS\OK1ZIA\Tucnak data.lnk" "$WINDIR\explorer.exe" '/e="$APPDATA\Tucnak"' "$INSTDIR\tucnak.ico" 0 SectionEnd Section "Create shortcuts in Desktop" SetShellVarContext current CreateShortCut "$DESKTOP\Tucnak.lnk" "$INSTDIR\tucnak.exe" "" "$INSTDIR\tucnak.ico" 0 CreateShortCut "$DESKTOP\Tucnak data.lnk" "$WINDIR\explorer.exe" '/e="$APPDATA\Tucnak"' "$INSTDIR\tucnak.ico" 0 SectionEnd ;Section "Create symbolic links in C:\" ; System::Call "advapi32::GetUserName(t .r0, *i ${NSIS_MAX_STRLEN} r1) i.r2" ; ExecWait '"mklink" /d "c:\Tucnak-$0" "$APPDATA\Tucnak"' $0 ; DetailPrint "some program returned $0" ; ExecWait '"mklink" "c:\Tucnak-Program" "$INSTDIR\tucnak.exe"' $0 ; DetailPrint "some program returned $0" ;SectionEnd Section "Run Tucnak" Exec "$INSTDIR\tucnak.exe" SectionEnd ;-------------------------------- ; Uninstaller Section "Uninstall" ; Remove registry keys DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" DeleteRegValue HKLM "Software\OK1ZIA\Tucnak" "Install_Dir" DeleteRegKey /ifempty HKLM "Software\OK1ZIA\Tucnak" ; Remove files and uninstaller Delete "$INSTDIR\tucnak.exe" Delete "$INSTDIR\tucnak.pdb" Delete "$INSTDIR\tucnak.dmp" ; can be copied here for crash analyse ; Delete "$INSTDIR\libftdi.dll" ; Delete "$INSTDIR\libzia.dll" Delete "$INSTDIR\iconv.dll" Delete "$INSTDIR\inpout32.dll" Delete "$INSTDIR\intl.dll" Delete "$INSTDIR\libfftw3-3.dll" Delete "$INSTDIR\libhamlib-2.dll" Delete "$INSTDIR\libhamlib-4.dll" Delete "$INSTDIR\hamlib-*.dll" Delete "$INSTDIR\libgcc_s_sjlj-1.dll" Delete "$INSTDIR\libwinpthread-1.dll" Delete "$INSTDIR\libglib-2.0-0.dll" Delete "$INSTDIR\libgthread-1.0-0.dll" Delete "$INSTDIR\libgthread-2.0-0.dll" Delete "$INSTDIR\libiconv2.dll" Delete "$INSTDIR\libsndfile-1.dll" Delete "$INSTDIR\libusb0.dll" Delete "$INSTDIR\libusb-1.0.dll" Delete "$INSTDIR\libpng.dll" Delete "$INSTDIR\msvcr100.dll" Delete "$INSTDIR\msvcr100d.dll" Delete "$INSTDIR\msvcr120.dll" Delete "$INSTDIR\portaudio_x86.dll" Delete "$INSTDIR\SDL2.dll" Delete "$INSTDIR\SDL.dll" Delete "$INSTDIR\tucnak.ico" Delete "$INSTDIR\uninstall.exe" Delete "$INSTDIR\zlib1.dll" Delete "$INSTDIR\rigctl.exe" Delete "$INSTDIR\rigctld.exe" Delete "$INSTDIR\rotctl.exe" Delete "$INSTDIR\libusb\Davac4.inf" Delete "$INSTDIR\libusb\Digital_analyser.inf" Delete "$INSTDIR\libusb\HdKeyb.inf" Delete "$INSTDIR\libusb\Rotar4.inf" Delete "$INSTDIR\libusb\FUNcube_Dongle.inf" Delete "$INSTDIR\libusb\Installer_x64.exe" Delete "$INSTDIR\libusb\Installer_x86.exe" Delete "$INSTDIR\libusb\testlibusb.exe" Delete "$INSTDIR\libusb\testlibusb-win.exe" Delete "$INSTDIR\libusb\amd64\libusb0.dll" Delete "$INSTDIR\libusb\amd64\libusb0.sys" Rmdir "$INSTDIR\libusb\amd64" Delete "$INSTDIR\libusb\ia64\libusb0.dll" Delete "$INSTDIR\libusb\ia64\libusb0.sys" Rmdir "$INSTDIR\libusb\ia64" Delete "$INSTDIR\libusb\x86\libusb0_x86.dll" Delete "$INSTDIR\libusb\x86\libusb0.sys" Rmdir "$INSTDIR\libusb\x86" Rmdir "$INSTDIR\libusb" SetShellVarContext all Delete "$SMPROGRAMS\OK1ZIA\Tucnak.lnk" Delete "$SMPROGRAMS\OK1ZIA\Uninstall Tucnak.lnk" SetShellVarContext current Delete "$SMPROGRAMS\OK1ZIA\Tucnak data.lnk" SetShellVarContext current Delete "$DESKTOP\Tucnak.lnk" Delete "$DESKTOP\Tucnak data.lnk" ; Remove directories used RMDir "$SMPROGRAMS\OK1ZIA" RMDir "$INSTDIR" SectionEnd tucnak-4.32/win32/tucnak.ico0000644000175000017500000030253612261526225012607 00000000000000 hV  00 %f@@ (B; (6}(  4[]$Lt rY/i#c5b!KGz'9JOTC UWh/&  ;i640q}'5:Z~sEDByvrcb`^WUR74/hd_xusm WSMIE>yun/-,d,+(okg[WOTOLY7CCAZVO q>;6QCBA('##">vvY'! 17:_ Ghda`WNg`Y J*( @ +MY+O }Vk^)j nDMl"~#D(*qh:&sZ{x7@M!'9]|v2,jp )M|m1xv  9S.mw.d!^#h $d.-4}ujec1** H s;kb_XC@9 5  xd,^c_XTPK #$|gyvn{v621,-~\7  # BA?;:9}xqljJPZr$#! 0-'{GUSPa_],+)KJHFEC| /,%rmi|w}k Ŀxwu10.B?9'%;81PMFb^WuqjMKIvusjihda_;81C@9TPJc_W|v 4VTPgb]gb]HC;8i OOM<;:HD>YUMUPJ\WPuqjdb^/>:4TPIb^Wrlh\ tqkMIBkg`:72CBAVRK^YS>1gb\1/+552d`Zi9WTO6_^^NKF iEB<Vx{ĴDA<RZ)WOKDA-tuOlPKE €aKvHEC\VSP]adrkng]V++) VTO?;5JFBXTP>:86FEC41-UPImiayuqY($!LIBNKEi????(0` QsXGg $7} aP<;$V5t*P *}G/,:IZ[+ lg:RK.vI~M=6)3z&C/c0m%C*X7_5Z4' NiNV.6$@s&>v 89%  5LdQk`$ !#`B25Uw(bGy)K g4&Mr'Fe`rtV*&Q<==6t=x   #)=X5^1W 7 [*m:48:=?5f$6e+'khbHA8=7.:6. ~&30169;;<;tzyvqdaZZWR+)&}$ %;/3%-47:;;;3n^}|jg`{wq?<9o'0E**/69;8273tcvrl{wq{v.,* =& #F]&,376NsL2w6aupj|yy  !Ga,7*5.wzvp@>< PaE1!  7LNd)2Ifed~ztgeb  )> "G$E-+.-+875rpm}w +    a<;y<97%#LICy   rpn|zxVTR;9731/`^['% :71IG@xup}~ 7 /-+,*).-+;83@=6JG@PMG`]WwtnZXW ^~ .-+431$#!=:3MJCZVPda[mictpj|w21/  QPN=<;vut'%"jfaKHB[XRgc]qmgzvp|sqoa RQOaa^_\Xfc][XRjf`spj|xr#"  +*(hgfWUPYVP{v`\Vlhbvrl~zt^\Z 4L XWVutsURLfb[{ujganjdxtn}wspm{  )(&FC: `ys*g"Nrllj,*(2D>;vxooVMFwwu {zyec]SQM.-+*)&B%$ iifGD>ZWQ_\X_]Ya^Z.,*t"!IHFVSLqmgyuoz{xu= 0.*C@ r  Z ??????(@ kTvX*@wucVI<4-ZY<-,5?JV[= /+462(}"iV@f@i4x9/58q%L)Q"C+[3r(=.F3S3T3rm 5C4oiM:7:F&$=};q:k=m:x//Al?f,OPP`jU( '"=b:[\!51" 2d8?yV* +=:5u'S 5WE\     8U=mU[F7.M0c<+wi<979<>9v(Q"  )(&542BA?BA?=96-)!&!,2<2Db.Cl'= Y) 6ܿ:3679;<=7g$6_+)%XVUoleHC8IC:D@9,*' h/ (n381.569;;;<9nMhkhcWTMd`[NKF! m,0c9*,268:;;;;:oa|_[Urnhif`*)& a /4#*.468:;;;;7jQs}zukhbzvotpk+*( D M,t+&+157:;;:;;6i`olfwsmyspl}"] .{"(-468;=zD86:5`vrk}w`]Z =[..//574meAo\~uqkz-,)cA.} >G-262mYXWyuo|b_]   S`Q>0#* .s%b*54F !}w} { wf^ 4.({1*AC/63IHF)'%"!{(&% j  H.{84.sSRPfdb*(#khd~y6420USQ?=;  BA?Qg! 1.*41+ROI{v31/ #!YWU?><0/- ?>:/-'<94A>8IF?qni~y"! dP ljh'&$0.(>;5FC^[Tspjmicnjdvrl}ys}GEC! NKEgc]kgaplgxtn~ztmjg(w$#"c`[^[Uif`rniyuo~x{*)'ic XWV\YRkhbspjzvp}LIF fc^micvrl{uqni L .-+khbwsm}w@>: I |zzjga{wqokf Jmic{uKHD) kjivsmwsm(&$ s" ~xda\<4 }||}QNJ+*)A?; e 862   XWV42/ l! y10- ^= }ys1/- S \YW|xr42/ Mm ?E;PZyļ{u762 J  WiC{`G5C_z<:7 J IXlyL BcB@= KE (.AzQ"HknwGEC L  {S HwXe}NLI M p'-X~S!"`^\YTRN K bfhYS|(Q;< G 874¾(1;MJE@>:llj('%>( OMJlkgXWU10.20- 4 *)'52-LIDPNK_][aa_QPN2/-hec=;9 &  EDB31-if`micjf`eb\plh%$" g BA>SRQ962ie_olfwtn|vlif )'$420VSMjf`rnhxtn|v)(& > 53.URLea[khbspj{wq|}y642+*&OLGfc]qnhqnh]ZU('$ u#")'%"! #Y ??????????( &D\ikhb\VOGA:401=)Ih6};<<3n1[}rbQ@3*%%'+05:@FLRVWM7 -I20-'oW0H {wsnie`]^i.m;;<<<3 #;<};{;y9s1e,X,V1`7g;l=l=j=i>g>f>f>f>f>f>f,gQ2V61hwQ:;;;;;;;;9IK53=y;y;w;w;u;s;rf>f>f>f9_?$ 13=uQ<:;;9K`M4'fe;a.J7  4I5QtaM8! (>eEB<640  t]A%/ǥ;<62466789:;;;;;z;wge:cSw_[Ulhbomgtpjxsm{wq}ysDB>d@ /A[;8"$(+,/356689:;;;;;;;;;;=p>e6`c~{vhd^pmguqkxtn{wq}w}w974uU. 3OE_93!%)+,0356789:;;;;;;;;;;=o>f6`wmicqnhvrlxtn{wq|v~xuq$"  fA 5X(c:+#'*,.146678::;;;;;;;;;;=m>e8azpmgwrlyuo|xr|v{fda|R* 6g *m:"!%(+,/356679:;};v;t;t;~;;;;;<>f;dqrnhwsmzvp~zt~x~LIG a95n+q:"&*+-146678:;x:vAx`M}gg>g>f;ctpj{wq|vz][X  S**h,w:  4<:0,1456689z?zZ|AiY{plf}ys}w{ ]3   !P+s; &<;;:/.3566896sqmg}ys~x}LJH p: &--(# 7 *n;39OxH5-035678/o}/., {wq}ysy~pnl~@,HWYSKB90(!0  (f; 7JW/.246674V }|xry)'%DLktzuqjc[SJ@92.+.:v 1a~>221E.0466773m$#!vtr|wqz;97  F zuoic_[X[f 81,I65%08E7014668.p&%#!  dc_|xq{PNL  Er }zyz T29;;6dn6225672oo=<:-,*mlj" "!'%"+)$HFB~zs|hfe A@[ZX79;;>V:878:{5r[!  jig!#!(&#-+&.,'860{u~usq < %_7;:XD:<;|;z3qn #!$")'$.,'1/*63.41*pmiy}w~{z 4  qpn{B[A9};|9x<5JG@yuozÿusq +e hfd}{LKIaKJH  BA?+)%/-(31,850<:3@=7EB;C@9ifa¿½yun{jgfd" - gecige864 RQOA@> SQPEC@'&!0.)52-:71=:5B?8FC;5C@9GD=JG@OLESPJWTNXUOspk}w<:8 . 7eca GFD \[YLJF,*%74/;92?<6DA:HE>KHAPMFTQKXUO\YSa]Web\ie_|v}wz¿#"    )(&UTR  NLJ74/63-<93@=7DA:HE>LIBPMGTQKYUO]ZTa^Xeb\jf`nkeroiwsmyuo}ys|w{hfd I :97 431531heb74.=:4A>8EB;IF?MJCQNHURLZVP^[Ub_Yfc]kgaolfspjwsmyuo~zt}x};:8  $ Z dda ;:8"!OLG<:3B?9FCyxv B@=tqlEC;KHAQNGTQKYVP^ZTa^Xeb\jf`okeroiwsmyuo}ys}w|JHF! @"!xwuDCA'%!ljgeb\KHAQNHURLZWQ_[Ub_Yfc]kgaplfsoiwsmyuo~zt~x}IAEDA430" 31,~\YSROHVSM[XR`\Vc`Zgd^lhbqmgtpjxtnzvp{uy~?>< 7FED.,(('!<:5}URLVSM\XR`\Vc`Zhd^micpnhuqkxtn{wq{uzxvt@3[ZY,*%/,'HD?rniURL]YSa]Wda[ie_njdqoivrlxtn|xr|v{420   )]\[&%#mli/,'63-PNH}~xgc][XRb^Xeb\jf`okesoiwsmyuo}ys}w|^\Z #  <;:jigGFDZWS30*=:4WTN{z|vrl_\Vb_Ygc]lhbpmgtqkxtnzvp{u~y~ Tv('%KHC960B?8]ZT{{y|v|xrgd^b_Yhd^micqnhurlxtn{wq|vz653ENNLrrq >=;B?9B?8FCKHAie_}ysyuowsmqmggd^jf`okesoiwsmxtn}ys~x|#"  lj553ba` fc^GD=MJCROHnjdvrlsoispiie_kgaolfspjxtnyuo~zt}x}A@=!  ( SRPNKDMJBROIYVPnkeroiqmgjf`lhbpmgtqkxtnzvp{u~ygdb PFC;SPIWTNa^Xplfmicie_micqnhuqkxtn{wq|vz(&$ F('%~|wKHAXUO]ZTgb]jg`jf`njeroiwrlxtn|xr}w{LJH %   _^]YVQVSM]ZTb_Yfc\jf`nkeroiwsmyuo}ys}w|qnj [lTQK^[Ub`Zdb\kgaolfspjwsmzvp~zt~x~*)' K 653a^X^ZTc`Zhd^micpmgupjxtnzvp{uyLJG@ rrq~y^[Tda[ie_njdqnhvrlxtn{wq|vnjf! ^[Uea[jf`nkernhvrlyuo|xr}w{A>; 1 7664lidda[kgaolfsoiwsmyuo}ys{ifa |ttsqa]Wmicqnhuqkxtnzvp|v|v:85)('%^YSmjdqnhuqkxtn{wq}wgd` n fedrnhkhbroivrlxtn|xr~x1/-,`he^soiwsmyuo|vkhc n  NNMea[tpjxtnyuo{C@=>A eb\tpjxtn|xrxto&%" & 0/-pngtpjxtn~xWTP_ '}yssoizuo~zt:95 2DCBrnh|xrolf(&$ (  (rng{ua^Yb  ZYXrng~ztPNJ < J rngzvpA>;  4 ssqrnhvrm21. -#"!soisoi%#!i( <vqkqnhM$  ONLwslpmgH fytnokfDzvolhc  @542|xqgd_  <.}~zsc_[ : onm|v{u]ZW 8^ EDCyuo}w_]Y 6&%#¿sohyda] 5 uqj{hfa |5E cffz¿xtm|mje y4  k>`|wq}spk w4s>eVG8/49Ql}w{u~wso t4#!#u`G0#(5:=Vvtpi~xzvst5w`J-%6;xAu^~{xtnz}zvu5 J |xbI/ +:k>dHlf|}ysz|xw5 _qzaK1*=g=eMnt|u{{x6u 8?cycM3*>e>eMkwyy~#" y6 {dN3-Ab:d]qv(&$z6 IU|fN5:mAfC`DFR}u,*({5 I 6}fP6.{Chveec8630/,|4K}gQ9+?jq320ZWS430z4q,*(QqRB:`*C}~ 975 u3!#Oq9ouLFl)=z$< )('"! _\Z=;8 o1 vut!,hrUT=|PON -,*B@>:97i/# ?><320IGE\[[)(&,+)964b+ NML}}{42032/\(  ) 875MLK JIG*)%)(&rrp('%TRO#" T$ }{z3311/+XTN42/AA?bb`431~ L. UTS" ZVPb_Y]ZTCA='%"FDByus B874bbaTQKda[eb\jf`plfkhb\YTNLHHFBJGCXURkhd^[X 7!EDBUTSROIeb\fc]kgaplftpjxtnyuo~zt~x}0., .qA@>)(&ROJeb\gc]lhbpmgtqkxtnzvp{u~y~ n# $#'%# #!WTNfc]hd^micqnhurlxtn{wq|vzURPP *)%!++)ssq_^\/.*b_Yeb\ie_njdrnhvrlxtn|xr}w{|z! *G20+31,LHCfb\fc]jf`okesoiwsmxtn}ys~x|=;9  {q30+KHA=;6862MKF`\Vb_Ygc]kgaolfspjxtnyuo~zt}x}QOL+ z('"NKEWTN[WQ_\Vc`Zhd^lhbpmgtqkxtnzvp{u~yPOL sFC>\YS`]Wda[ie_mjdqnhuqkxtn{wq|v{|w?>;w%$!MJEeb\jf`nkeroiwrlxtn}ys{u]ZU! D#!<:6PMIZXS]YTRPK@>: W^<|  Ah|pS (???>???<?????????tucnak-4.32/win32/tucnak.bat0000644000175000017500000000015111277513163012572 00000000000000@echo off set HOME=c:\ set CYGWIN=codepage:oem c: cd \tucnak tucnak.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 tucnak-4.32/win32/tucnak-msvc.nsi0000644000175000017500000001673714125267033013601 00000000000000; tucnak-msvc.nsi ; ; Install script for Nullsoft Scriptable Install System (NSIS), http://nsis.sf.net ; ;-------------------------------- LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf" ; The name of the installer Name "Tucnak 4.32" ; The file to write OutFile "Tucnak-4.32.exe" ; The default installation directory InstallDir "$PROGRAMFILES\Tucnak" ; Registry key to check for directory (so if you install again, it will ; overwrite the old one automatically) InstallDirRegKey HKLM "Software\OK1ZIA\Tucnak" "Install_Dir" Icon "tucnak.ico" UninstallIcon "tucnak.ico" Crccheck on XPStyle on AutoCloseWindow true ;-------------------------------- ; Pages Page components Page directory Page instfiles UninstPage uninstConfirm UninstPage instfiles ;-------------------------------- ; The stuff to install Section "Install Tucnak" SectionIn 1 2 RO ; Set output path to the installation directory. SetOutPath $INSTDIR ; Put file there File "..\Release\tucnak.exe" File "..\Release\tucnak.pdb" ; File "..\Release\libftdi.dll" ; File "..\Release\libpng.dll" ; File "..\Release\libzia.dll" ; File "iconv.dll" File "inpout32.dll" File "intl.dll" File "libfftw3-3.dll" File "libglib-2.0-0.dll" File "libgthread-2.0-0.dll" File "libhamlib-4.dll" File "libgcc_s_sjlj-1.dll" File "libwinpthread-1.dll" File "libiconv2.dll" File "libsndfile-1.dll" File "libusb-1.0.dll" File "libpng.dll" File "msvcr120.dll" File "portaudio_x86.dll" File "SDL2.dll" File "tucnak.ico" File "zlib1.dll" File "libhogweed-6.dll" File "libgmp-10.dll" File "libgnutls-30.dll" File "libnettle-8.dll" File "rigctl.exe" File "rigctld.exe" File "rotctl.exe" ;SetOutPath "$INSTDIR\libusb" ;File "libusb\Davac4.inf" ;File "libusb\Digital_analyser.inf" ;File "libusb\HdKeyb.inf" ;File "libusb\Rotar4.inf" ;File "libusb\FUNcube_Dongle.inf" ;File "libusb\Installer_x64.exe" ;File "libusb\Installer_x86.exe" ;File "libusb\testlibusb.exe" ;File "libusb\testlibusb-win.exe" ;SetOutPath "$INSTDIR\libusb\amd64" ;File "libusb\amd64\libusb0.dll" ;File "libusb\amd64\libusb0.sys" ;SetOutPath "$INSTDIR\libusb\ia64" ;File "libusb\ia64\libusb0.dll" ;File "libusb\ia64\libusb0.sys" ;SetOutPath "$INSTDIR\libusb\x86" ;File "libusb\x86\libusb0_x86.dll" ;File "libusb\x86\libusb0.sys" ; Write the installation path into the registry WriteRegStr HKLM Software\OK1ZIA\tucnak "Install_Dir" "$INSTDIR" ; Write the uninstall keys for Windows WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "DisplayName" "Tucnak" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "UninstallString" '"$INSTDIR\uninstall.exe"' WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "NoModify" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" "NoRepair" 1 WriteUninstaller "uninstall.exe" SetOutPath $INSTDIR SectionEnd ; Optional section (can be disabled by the user) Section "Create shortcut in menu Start" SetShellVarContext all CreateDirectory "$SMPROGRAMS\OK1ZIA" CreateShortCut "$SMPROGRAMS\OK1ZIA\Tucnak.lnk" "$INSTDIR\tucnak.exe" "" "$INSTDIR\tucnak.ico" 0 CreateShortCut "$SMPROGRAMS\OK1ZIA\Uninstall Tucnak.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 SetShellVarContext current CreateShortCut "$SMPROGRAMS\OK1ZIA\Tucnak data.lnk" "$WINDIR\explorer.exe" '/e="$APPDATA\Tucnak"' "$INSTDIR\tucnak.ico" 0 SectionEnd Section "Create shortcuts in Desktop" SetShellVarContext current CreateShortCut "$DESKTOP\Tucnak.lnk" "$INSTDIR\tucnak.exe" "" "$INSTDIR\tucnak.ico" 0 CreateShortCut "$DESKTOP\Tucnak data.lnk" "$WINDIR\explorer.exe" '/e="$APPDATA\Tucnak"' "$INSTDIR\tucnak.ico" 0 SectionEnd ;Section "Create symbolic links in C:\" ; System::Call "advapi32::GetUserName(t .r0, *i ${NSIS_MAX_STRLEN} r1) i.r2" ; ExecWait '"mklink" /d "c:\Tucnak-$0" "$APPDATA\Tucnak"' $0 ; DetailPrint "some program returned $0" ; ExecWait '"mklink" "c:\Tucnak-Program" "$INSTDIR\tucnak.exe"' $0 ; DetailPrint "some program returned $0" ;SectionEnd Section "Run Tucnak" Exec "$INSTDIR\tucnak.exe" SectionEnd ;-------------------------------- ; Uninstaller Section "Uninstall" ; Remove registry keys DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tucnak" DeleteRegValue HKLM "Software\OK1ZIA\Tucnak" "Install_Dir" DeleteRegKey /ifempty HKLM "Software\OK1ZIA\Tucnak" ; Remove files and uninstaller Delete "$INSTDIR\tucnak.exe" Delete "$INSTDIR\tucnak.pdb" Delete "$INSTDIR\tucnak.dmp" ; can be copied here for crash analyse ; Delete "$INSTDIR\libftdi.dll" ; Delete "$INSTDIR\libzia.dll" Delete "$INSTDIR\iconv.dll" Delete "$INSTDIR\inpout32.dll" Delete "$INSTDIR\intl.dll" Delete "$INSTDIR\libfftw3-3.dll" Delete "$INSTDIR\libhamlib-2.dll" Delete "$INSTDIR\libhamlib-4.dll" Delete "$INSTDIR\hamlib-*.dll" Delete "$INSTDIR\libgcc_s_sjlj-1.dll" Delete "$INSTDIR\libwinpthread-1.dll" Delete "$INSTDIR\libglib-2.0-0.dll" Delete "$INSTDIR\libgthread-1.0-0.dll" Delete "$INSTDIR\libgthread-2.0-0.dll" Delete "$INSTDIR\libiconv2.dll" Delete "$INSTDIR\libsndfile-1.dll" Delete "$INSTDIR\libusb0.dll" Delete "$INSTDIR\libusb-1.0.dll" Delete "$INSTDIR\libpng.dll" Delete "$INSTDIR\msvcr100.dll" Delete "$INSTDIR\msvcr100d.dll" Delete "$INSTDIR\msvcr120.dll" Delete "$INSTDIR\portaudio_x86.dll" Delete "$INSTDIR\SDL2.dll" Delete "$INSTDIR\SDL.dll" Delete "$INSTDIR\tucnak.ico" Delete "$INSTDIR\uninstall.exe" Delete "$INSTDIR\zlib1.dll" Delete "$INSTDIR\rigctl.exe" Delete "$INSTDIR\rigctld.exe" Delete "$INSTDIR\rotctl.exe" Delete "$INSTDIR\libusb\Davac4.inf" Delete "$INSTDIR\libusb\Digital_analyser.inf" Delete "$INSTDIR\libusb\HdKeyb.inf" Delete "$INSTDIR\libusb\Rotar4.inf" Delete "$INSTDIR\libusb\FUNcube_Dongle.inf" Delete "$INSTDIR\libusb\Installer_x64.exe" Delete "$INSTDIR\libusb\Installer_x86.exe" Delete "$INSTDIR\libusb\testlibusb.exe" Delete "$INSTDIR\libusb\testlibusb-win.exe" Delete "$INSTDIR\libusb\amd64\libusb0.dll" Delete "$INSTDIR\libusb\amd64\libusb0.sys" Rmdir "$INSTDIR\libusb\amd64" Delete "$INSTDIR\libusb\ia64\libusb0.dll" Delete "$INSTDIR\libusb\ia64\libusb0.sys" Rmdir "$INSTDIR\libusb\ia64" Delete "$INSTDIR\libusb\x86\libusb0_x86.dll" Delete "$INSTDIR\libusb\x86\libusb0.sys" Rmdir "$INSTDIR\libusb\x86" Rmdir "$INSTDIR\libusb" SetShellVarContext all Delete "$SMPROGRAMS\OK1ZIA\Tucnak.lnk" Delete "$SMPROGRAMS\OK1ZIA\Uninstall Tucnak.lnk" SetShellVarContext current Delete "$SMPROGRAMS\OK1ZIA\Tucnak data.lnk" SetShellVarContext current Delete "$DESKTOP\Tucnak.lnk" Delete "$DESKTOP\Tucnak data.lnk" ; Remove directories used RMDir "$SMPROGRAMS\OK1ZIA" RMDir "$INSTDIR" SectionEnd tucnak-4.32/win32/Makefile.in0000644000175000017500000003064114125266462012673 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = win32 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = nagup.bat tucnak-cygwin.nsi tucnak-msvc.nsi CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/nagup.bat.in \ $(srcdir)/tucnak-cygwin.nsi.in $(srcdir)/tucnak-msvc.nsi.in \ $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ HAMLIB_CFLAGS = @HAMLIB_CFLAGS@ HAMLIB_LIBS = @HAMLIB_LIBS@ HAVE_MAKE = @HAVE_MAKE@ HAVE_PKGCONFIG = @HAVE_PKGCONFIG@ HAVE_RPM = @HAVE_RPM@ HAVE_RPM_PACKAGING = @HAVE_RPM_PACKAGING@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBRTLSDR_CFLAGS = @LIBRTLSDR_CFLAGS@ LIBRTLSDR_LIBS = @LIBRTLSDR_LIBS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RPM_RELEASE = @RPM_RELEASE@ RPM_SOURCESDIR = @RPM_SOURCESDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ SNDFILE_LIBS = @SNDFILE_LIBS@ STRIP = @STRIP@ TUCNAK_LDADD = @TUCNAK_LDADD@ VERSION = @VERSION@ VERSIONCODE = @VERSIONCODE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zia_CFLAGS = @zia_CFLAGS@ zia_LIBS = @zia_LIBS@ EXTRA_DIST = tucnak.bat tucnak.ico tucnak-cygwin.nsi.in tucnak-msvc.nsi.in tucnak-msvc.nsi all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu win32/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu win32/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): nagup.bat: $(top_builddir)/config.status $(srcdir)/nagup.bat.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ tucnak-cygwin.nsi: $(top_builddir)/config.status $(srcdir)/tucnak-cygwin.nsi.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ tucnak-msvc.nsi: $(top_builddir)/config.status $(srcdir)/tucnak-msvc.nsi.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: tucnak-4.32/svnver.sh0000755000175000017500000000077012762347033011545 00000000000000#!/bin/sh svnver=`svnversion -n . 2>/dev/null` if test "$?" != "0"; then exit 0 fi if test "$svnver" = "exported"; then # svn 1.6 exit 0 fi if test "$svnver" = "Unversioned directory"; then # svn 1.8 exit 0 fi echo "#define T_SVNVER \"$svnver\"" > src/svnversion.tmp echo $svnver > svnver cmp -s src/svnversion.h src/svnversion.tmp if test $? = 0; then echo Keep svnversion $svnver exit 0 fi echo Updating svnversion to $svnver mv src/svnversion.tmp src/svnversion.h exit 0 tucnak-4.32/TODO0000644000175000017500000000005512416702502010337 00000000000000TODO is handled by author's proprietary tool tucnak-4.32/mingw0000755000175000017500000000212113126153456010721 00000000000000#!/bin/bash set -e tucnak() { export CFLAGS="-I$BASE/include" export LDFLAGS="-L$BASE/lib" ./configure --host=$HOST --prefix=$BASE --without-gpm --without-alsa --with-portaudio -with-pkg=nsis #--without-sdl --without-png --without-sndfile --without-fftw3 make clean rm -f src/tucnak src/tucnak.exe touch data/svnversion.exe ./svnver.sh make -C src -j$CPUS tucnak.exe V=1 if [ -f src/tucnak ]; then mv src/tucnak src/tucnak.exe; fi (PATH=$OLDPATH; unset CC; unset CFLAGS; unset LDFLAGS; unset HOST; unset BASE; unset CPUS; which gcc; set > _SET; echo && cd src && gcc map2d.c -o map2d) make tucnak.d make install cp win32/tucnak-mingw.nsi $BASE/bin cp win32/tucnak.ico $BASE/bin cp win32/inpout32.dll $BASE/bin cp /usr/lib/gcc/i686-w64-mingw32/4.9-win32/libgcc_s_sjlj-1.dll echo } HOST=i586-mingw32msvc BASE=$HOME/cross/$HOST CPUS=`grep ^processor /proc/cpuinfo | wc -l` mkdir -p $BASE/build export OLDPATH=$PATH export PATH=/usr/$HOST/bin:$BASE/bin:$PATH export CC=$HOST-gcc export PKG_CONFIG=$BASE/bin/pkg-config tucnak tucnak-4.32/ChangeLog0000644000175000017500000017145514125266066011447 00000000000000 =4.32= 2020-09-30 * Ruhrgebiets Contest, TNX to DF2ET * Alt+A crash, TNX to OK2SLC * Linux interfaces bug fixed, TNX to G1OGY =4.31= 2020-09-14 * Hamlib 4.3.1 in windows package :-)) * IARU band names update, TNX to OK5ZS * Linux double Alt+M fix, TNX to IZ3GME * Linux winkey timeout fix, TNX to IZ3GME * KST messages "CALL MSG" showed in bottom log * Fixed border redraw after locator change =4.30= 2021-06-29 * DARC 2m Education Contest in wizzard * Rainviewer Web Mercator projection fix * AS info above clouds in map * AS tracking hysteresis +-1deg * Fixed DNS crash * Hamlib 4.2 fix, TNX to KF5OIM =4.29= 2021-05-23 * Paleni carodejnic partial support, TNX to OK4DJ * ARI DX partial support, TNX to OK4DJ * ADIF TX_PWR, TNX DF2ET * Airscatter plane tracking by rotator * Hamlib rotator elevation and baudrate support * Rainviewer support, TNX to RT5D * Fixed gnutls error messages * KST & -> & * Removed qsop_method total_method debug message =4.28= 2021-04-21 * Fixed meteox load, TNX OK4DJ * Map context menu on right click to turn rotator * Fixed crash before QSO edit, TNX to OK1PKO =4.27= 2021-04-13 * tucnaknames update, TNX to OK4DJ * HTML code in separate columns, TNX to DF2ET * DARC Easter Contest, TNX to DF2ET * Fixed crash after QSO edit, TNX to OK1ELE * Fixed Android 4.1 library order, TNX to OK1PKO * Sums across all bands in HTML report, TNX to DF2ET * Fixed android locale characters problem =4.26= 2021-02-26 * SOTA and DXC update, TNX to OK2MUF * GTK2 -> GTK3 for libzia messagebox * Changed i18n generation not to require ISO8859-2 locales * Fixed free() bug under Linux, TNX to OK3TV * Fixed some problems reported by Valgrind * Ctrl+Up/Down arrows emulate PageUp/PageDown =4.25= 2021-01-20 * AC HTTP fix, TNX M0KOV, OZ9GE * Moon contest full support (in QTH use minus instead of spaces, only english chars) * Fixed Contest Lombardia points * TNX to OK5ZS for precise testing * chmi.cz fix (HTTPS) * TLS (HTTPS) support using GNUTLS * Re-arranged Contest options, TNX to OK1MZM * Support for contest phases, TNX to OK6RP, OK5ZS * STF export, TNX to DF2ET * Tucnakdw update, TNX to G1OGY * ICAO DB update, TNX to G1OGY * Fixed text file load without trailing CRLF, TNX to OK1MZM * Fixed ICAO DB, TNX to G1OGY * Fixed zsdl variable, TNX to DF2ET * SOTA export, TNX to OK2MUF * Directory to store logs, TNX to DF2ET * Adif ERROR export choices, TNX to DF2ET =4.24= 2020-11-16 * New Debian maintainer OK3ON * Fixed QRV window crash, TNX to OK1MZM * Skips wkd WWL in KST list * Fixed map update after contest open/close, TNX to OK1MZM * Tmpqsos context menu, added infos also for fifo context menu * Scatterpoint detect * Fixed bug in tmpqsos * Renamed A/C to AS * Support for SDL2 * Detected SIOCGIFHWADDR for MacOs, TNX to SQ2JUL * Fixed ASCII texts conversion for Android, TNX to OK5ZS =4.23= 2020-09-15 * Fixed crash on file choose (EDI import), TNX to G1OGY * R-Contest, TNX to DF2ET * BSD style -Wl,-map * KST menu to select call when text scrolls fast * SDL events in same thread on MacOs, TNX to SQ2JUL * ADIF items update, TNX to DF2ET * Fixed hamlib rotar * Trace hamlib rotars * ` toggles split VFOs MAIN/SUB, TNX to OK1FIK =4.22= 2020-08-10 * New hamlib 3.3 in windows package, TNX to OK2WO, OZ9GE * Fixed tucnakdw prefixes recognition (SK6), TNX to OZ9GE * JO57 is SM6 * Libzia.pc * Increased rotator timeout ranges * Replaced obsolete glib macros * New config.guess and config.sub for aarch64 * All c and h files are in utf-8 * New libbfd macros support * Support for detailed tucnakdw, TNX to OK2WO * QRG in QSOs window for M7IMF * Do not print open hdkeyb error mesage * Fixed crash under terminal with long name * DARC VHF UHF uW contest, TNX to DF2ET =4.21= 2020-04-21 * EXC len 20 characters * KST message from right click in log (bottom of screen) * Rig error message showed * Fixed rig device lock * COM keying on single pin * GCC warning fixes * Autoconf obsolete macro remove, TNX to OK2JRQ * Some files in UTF-8, TNX to OK2JRQ * Next fix for update_deb.sh, TNX to G1OGY =4.20= 2020-01-29 * Fixed update_deb.sh, TNX to G1OGY * GCC-10 fixes, TNX to Robert-André Mauchin * Tucnakdw update, TNX to G1OGY * WSA multipliers update, TNX to DF2ET * Fixed broken libpng.dll, TNX to OZ9GE =4.19= 2020-01-10 * FSF address update, TNX to OK2JRQ * WNA multipliers update, TNX to DF2ET * HTTP server refresh, TNX to DF2ET * K7FRY's locator map, TNX to G1OGY * Different EXC length, TNX to DF2ET * Fixes for OpenBSD * Some warning fixes * MacOS build, TNX to Vitaliy UT4UAZ * Fixed build under FreeBSD 12.0 * Optional exchange in Cabrillo, TNX to DF2ET * Fixed msvcr120.dll, TNX to OK1CDJ, OK5ZS =4.18= 2019-09-04 * Fixed startup crash on Debian i386, TNX G1OGY =4.17= 2019-09-01 * Valid QSO count for OK2WO * Changed export extension ADIF->ADI * Fixed wifi interface name under Windows * New libpng.dll * Removed battery support under Windows * Switch to VS2013 (toolset v120_xp) * Fixed battery state detection win32 =4.16= 2019-04-17 * Removed libusb0 under windows * Contest Lombardia support * Removed vhfcontest.net support * Do not mark DUPE in expedition mode =4.15= 2018-11-13 * Us-ascii strings in Android to prevent charset-relate crash >= 7.0 * Worked WWLs in map displayed red * WWL in KST users list, missing WWL multipliers displayed green * SSID support for ON4KST chat * PTT tail * 59* (numeric keypad) is RST-S, TNX to OK5ZS * Updated wetteronline rain map (site change) =4.14= 2018-07-07 * Quiet mode for soundwrapper * Uninstall cleanup on Windows * Fixed "QRM" from remote rotator. TNX to OK1XDF * Upgraded libftdi to 1.4 under MSVC * Back to VS2010 for WinXP * Cabrillo EXC indent =4.13= 2018-05-06 * Fixed new gcc warnings * KST dark yellow of worked call, also not selected * Lowered priority of A/C thread * Compute A/C for whole QRV list * Fixed crash on Android 7, TNX to OK1USW * Fixed KST sort by NR * Improved RIG timeout * Fixed RIT read from rig * MSVC120 (VS1013) * Plane type and wingspan in map * KST /sh us sent after connect * QRV list rework * KST QRB filter * Ask for sked B =4.12= 2018-03-04 * KST color for station worked on actual band (dark yellow) * KST color - station worked on all read-write bands is dark grey * Fixed KST A/C info, call with -number =4.11= 2017-10-04 * X-QSO: in cabrillo, TNX to DO2HG * German translation of program, TNX to DO2HG * ON UBA contest in wizzard, TNX to DO2HG * claimed live score to slovhf.net * removed KST debug dump, TNX to G1OGY =4.10= 2017-08-30 * Rainscatter does not show low intensity rain * New band multipliers for NAC * Fx macros in CW window, TNX to DL5YBZ * Fixed rotctld filename, TNX to DL4PD * Fixed crash in DXC, TNX to DL4PD * Fixed mingw compile * Fixed compile errors witout SDL, TNX to OK1CDJ =4.09= 2017-02-15 * Fixed Spy crash, TNX to OK1CT * Fixed hamlib rotator, TNX to OZ1CT * Fixed update crash, TNX to DJ0QZ * Fixed startup crash in text mode * Fixes for FreeBSD 10.2 * Updated WNA/WSA scoring in support files =4.08= 2016-08-10 * Support for Multiplied exchanges * Support for WNA and WSA Westphalia Activity * DOKs in validated EXCs * A/C smaller planes on smaller zoom * JA in tucnakdw * SDR without SDL * Fixed localization crashes in SDL init * Rainscatter maps * Menu Set Mode for AM/FM/RTTY =4.07= 2016-04-29 * Fixed A/C feed load interrupt under minimal altitude * A/C feed URL got from server * Fixed text in the "Only digits mean" button =4.06= 2016-03-11 * Summary dialog before vhfcontest.net upload * Stats WWL radius * Fixed qsoglob in tucnakwiz for SSB Liga * Fixed tucnakrc crash after downgrade * Fixes for clang 3.5 * Fixed many rig PTT problems, TNX to G4ZTR * Fixed race condition in rig initialization * New rig option Force handshake NONE, TNX to G4ZTR * Hamlib 3.1~git in windows package * Fixed bug in first start in textmode * Compile fixes for probably bug in gcc 4.6 * Support for libftdi 1.0 * Fixed bug in QSO trace under windows, TNX to SP6LTC =4.05= 2015-10-12 * Koel-Achen contest wizzard and EXC data, TNX to DL4PD * Fixed bug in QRB compute JN54KP-JN54KP, TNX to IU4APB * Ctrl+Up/Down in bandmap tunes rig to next spot * Use in DXC window sets rig frequency * Fixed AC start time display, TNX to OK3MAD * Inverse display * Fixed "ZC4:" bug in tucnakdw, TNX to DL7BST * Fixed unifinished QSO without qsonr, TNX to DL7BST * DXCC multipliers in HF window * Included txt2inc.pl and master.scp, TNX to DL7BST =4.04= 2015-08-07 * Fixed rebuild scripts and libiberty detection * Removed Crash test and Int.error test also from v4, TNX to SP2FRY * Fixed italian translation, TNX to IK4XQT * AC's sorted in z-order * Fixed translations =4.03= 2015-06-04 * RSGB M7 support for G4ZTR * Official Tucnak package in Debian, TNX to G8TMV * tac2tuc.pl removed from install * Modifications of build system to satisfy Debian's pbuild * Fixed menu name, TNX to OZ1PIF * Fixed A/C info without known locator * Fixed A/C info crash, sw->zoom was not set =4.02= 2015-05-12 * Fixed A/C freeze under WinXP, TNX to OZ9GE =4.01= 2015-05-11 * Fixed bug in cor recalc on WinXP, TNX to OZ9GE * Fixed A/C WWL update, TNX to OK1MZM * Fixed update output parse =4.00= 2015-05-09 * KST dump skip * Fixes for development on Jessie * Fixed missing WWLs in stats window, tnx to OZ9GE * Fixed Sun position jun-sep * Talk offline transfer * Updated Czech translation * Fixed scroll when searching in KST/DXC * Fixed QSO hash, can cause bad call highlight in KST/DXC * Fixed layout update in text mode after Misc options * Fixed and optimized cor recalculation * Airplane position is in the center of sign * Fixed new format of A/C feed * Updated KST server IP list * Show ! in DXC when call brings new EXC multiplier * Fixed CI-V address, TNX to OK1CDJ * Allow up to 4 digits and letters in callsign * Fixed crash when adding chart without opened contest, TNX to IZ3GME (ex IW3IKN). * Fixed gen-conly script * Italian translation, TNX to IK1RAC * Anti-aliased qso cross in map * Fixed cabrillo frequency and header, TNX to OK1UGE * New countries in tucnakdw, TNX to F4CIB * Remove branch number from package names * Fixed lintian errors and some warnings * Fixed characters typed with right alt keyboard layout switch * Optimized layout of OSK * A/C info plot instead of QSO info * Crossing A/C are blue * Fixed http upload of long files (>cca 100kB) * Fixed crash in wiki upload * Set higher priority to cwdaemon thread on windows * Fixed crash in main_msg_handled (CW:!) * Fixed compile with some version of libbfd =3.28= 2014-09-29 * Window highlight searches for whole words * Allow to use non-call as operator * Fixed too many open files bug in SSB CQ * Fixed mediawiki upload credentials * Reverse portrait and landscape mode on Android * Lower mouse accuracy needed for menu separators and borders, TNX to OK1MZM =3.27= 2014-08-31 * Fixed KST A/C map crash, TNX to SP3IYM * Fixed crash in vhfcontestnet upload * Ask for sked and Message open OSK * Fixed Alt+PNK in KST within OSK =3.26= 2014-08-14 * Fixed crash in QRV window redraw, TNX to OZ7Z =3.25= 2014-08-14 * Reload interfaces button in Network info * Spy shows error when contest is long * Android notification and service * Fixed crash on Android 4.4 KitKat, TNX to my wife Bara * Fixed OSK KST Alt+K, Ctrl+K, TNX to OK1MZM * Fixed OSK size, OSK close button click area, out of OSK clicks pass, TNX to OK1MZM * QRV list create in menu Subwins->Add contest * Wiki report upload to mediawiki site * EDI log upload to www.vfhcontest.net * Fixed HF Edit QSO bug, TNX to F5NLG * Removed Crash test and Int.error test, TNX to DL4DZ * hamlib uses win32 api for FUNcube * SDR right button drag tunes radio * Fixed many SDR bugs =3.24= 2014-06-12 * Experimental support for SDR * Fixed wifi UDP negotiation on Android * Fixed band change tucnak->radio * Fixed rig lock problem * Translate 0xd8 to 0 in KST * Fixed spy and contest load when remote node is connected * Fixed bad comparison in initialization, TNX to David Binderman * Fixed gain display of QTF=8, tnx to OZ9GE * Anti-aliased map in HTML/wiki exports and over HTTP * Speed up window resizing * Remember maximized state under Windows * Fixed crash causet by too small application window * Bigger font allowed in on screen keyboard * Bigger font for higher resolution at startup * Window maximized at startup * Open web browser with WWL in Call info * Do not preload checkboxes in Load from network dialog when loading from same host * Autorepeat in OSK * Inputline history works in OSK * Show battery state * Support for arbitrary category (PSect in EDI) * Fixed ftdi_usb_get_strings detection under 'nixes and msvc * Fixed multipliers in CQSOs EDI line, TNX to OZ1FF * Fixes in Scope/FFT window * Fixed hamlib configure path * Fixed redraw of focus rectangle around window =3.23= 2013-12-28 * New windows icon resolutions * Seconds marks in Player window * Send locator to KST during connect chat * Experimental focus rectangle around window * Experimental portrait orientation under Android * Support for RSGB M5-type contests * Fixed external tucnakwiz load under windows * Fixed many SSB CQ and recording issues * Fixed FFT redraw after ssbd file format change * Fixed wav play fail under Android * Accelerated vertical window scroll under Android * Fixed scope window flashing when recording * Fixed device lockfile delete * Fixed serial port detect under Android =3.22= 2013-11-05 * Serial port detection in Info * Battery state in Info * Close button in on screen keyboard * Drag menu selection by mouse/touch * Location update by click on Android * Fixed lockfile path on Arch linux, TNX to DF4OR * Playing SSB CQ on Android * Android API back to 4 (Android 1.6) * Fixed shift in on screen keyboard * Fixed under cursor nummer-ended call recognition in KST/DXC * Fixed spy state request after contest load * Fixed screen layout with spy activated * Inputline history in touch mode * On screen keyboard capslock * Fixed settings on Android * Save/restore state on Android after apps switch * Fixed menu Window->Open connection * On screen keyboard replace Fn with star * On screen keyboard swap comma and question mark * On screen keyboard shows same case size as it writes * Shake on end of scroll in windows * Reversed QSO scroll direction, no QSO highlight * Faster window scroll in touch mode =3.21= 2013-09-03 * Disable screensaver on Android (off by default) * New touch keyboard symbols * Geolocation in Info on Android * Actual locator in new contest on Android * Fixed swap import, TNX to OK1HRA * Ignored spy lines in old contest * Fixed screen layout after Log lines change * Removed >< in A/C result * QSOs cursor jumps to last qso when window is activated * Scroll in search results in kst and dxc windows * Use of call (kst, dxc, sked, qrv) adds call to inputline history * Fixed Shift+F3 in contest * Set PTT over CAT * Fixed rig_open error reporting * Get locator also from QRV database * Change font in first Contest def dialog * Fixed NAC on 70MHz * Fixed A/C load (included in 3.20-android) =3.20= 2013-06-14 * Fixed crash after TAB in text mode, tnx to OK1HRA * Fixed database load in New contest from net over slow link * Fixed negative float number read from tucnakrc * rigctl.exe and rigctld.exe in msvc package * Hamlib 1.2.15.3-zia in msvc package * Fixed tucnakwiz load * NAC is also on 70MHz, TNX to OZ1FF * Fixed shell close under Win32 * Fix QRG decimal dots in QRG * Rotar description on main screen * Select in QRV window * Testing support for A/C prediction * Fixed Home in Chart window under linux * Support for serial numbers for FTDI converters * Many fixes and improvements in rig control * Fixed crash in file unlock * Improved rig trace * Alt+F10 maximize/restore window under msvc/mingw * Improved settings under msvc =3.19 2013-04-28 * Automake silent rules * File libzia*.so.d moved to /usr/lib/libzia * Fixed CQ repeat timer, TNX to OK2WO * Removed OS Shell in SDL mode, TNX to OK2WO * Can select menu item checbox also by mouse/touch * Close OSK before DUPE dialog * Ctrl+Y clears also OSK inputline * Fixed platform trailing 'x' =3.18= 2013-04-24 * Initial locator load on android * Fixed -d argument under msvc and mings * Fixed bug in SWP load (unbelievable, must be here many years) * Sndfile is optional * Disabled rotar description in menu * Update for EEE * Again fixed checkbox in Shell menu item * Fixed Invalid option message * Fixed empty space redraw in text mode * Fixed Bad auth message * Probably fixed crash of deb's tucnak on wheezy, TNX to OK1TKP * New option No device locks * Removed use of deprecated GMemChunk * Fixed most of warnings for gcc 4.7 * Improved sound latency * Fixed hamlib debug mode (OR of enabled rigs) * Export to text file for KST and DXC windows * Dump RW bands and hashes for diagnostics of problem caught in March contest * Export as EDI fill operators when field is empty * In touch mode screenshot is without keyboard * Show stars instead of KST password * Distribute RIT over rigs * QRG can be entered without contest * Experimental support for more rigs * Fixed up arrow in QSOs window with Show All on * Add contest and Add files menu items in Chart subwin/context menu =3.17= 2013-02-25 * Fixed secondary DXCC prefix recognition * Fixed crash in empty QRV list using mouse wheel, TNX to OZ9F * Fixed worked QSO color after QSO edit * CEPT prefix and suffix sensitive QRV list (tnx to G1OGY) * Support for debug info from dynamic libzia * Fixed checkbox in Shell menu item =3.16= 2013-01-09 * Winkey over TCP/IP * Fixed internal error message, TNX to OK1CDJ * Removed QRB QSO check warning * DXCC name in call info * Enter without contest runs call info * Fixed libzia compile --without-gtk * Fixed TUCNAK_DEBUG variable (broken since 3.00) * Removed support for winkey+davac4 (never 100% working) * Fixed unix shell echo without PTY * Idea: OSK keeps worked QSO visible * Support for libsndfile (no SSB CQ/rec now) under android * Support for hamlib under android * Confirm call/exc/wwl by mouse click * Android key trace * Android menu key opens menu * Rewritten parts of mouse handling code for drag window scroll * In touch mode DXC/KST click always shows context menu * Swap ENTER and BS on OS keyboard * Released public beta od android * Map icons Home, Zoom in, Zoom out * Touch control * New font 18x32 * Private release of beta Android * Scroll DXC bandmap using Shift+Arrows, PageUp, PageDown, Home * Frequency in QRV list takes only needed space * Higlighted line in bandmap and qrv list changed from inverse to [...] * Polish language file, TNX to SP5QWB * Fixed sound type without portaudio * Uploaded transitional debian package tucnak2 -> tucnak3 * Insert in chart window chooses contest instead of file * Settings and Info in Help menu (corresponds to -s and -i command line arguments) * Improved network contest load with long databases over slow links * Re-arranged Network and Trace dialog * Fixed remote connect to local host * Fixed ] in talk window * OK? at end of Ask for sked * Fixed crash in wiki export in text mode * --with-pkg configure argument * Fixed platform and machine type under mingw =3.15= 2012-10-25 * Own update system for deb.i386, deb.amd64 and msvc * Inputline history increased to 30 items * Right click in title of QRV part of KST window choose optional QRV column * When QRV sort is by QTF or KST, the QTF is shown in QRV part of KST window * Can clicn to QRV column headers in QRV window to sort items * Can click to QRV column headers in KST window to sort items * Support for mouse in QRV part of KST window * Support for incorrect KST /CQ command recognition '> (0) (CALL) ...' * Improved search in KST window (no right move, highlight search pattern) * Accidentaly entered 2-7 numbers in KST are processed as contest exchange (RST,NR) * Fixed accidental kill when shell is terminated under linux * Fixed codepage od DNS errors under msc/mingw * Fixed socket connected handler in KST, DXC (should not happen in real life) * Operator change mark in chart, operator show in title * Removed old New from net * Removed old spy * Mass R-O band set Bands->Set read-only * QRV info showed instead of top log line to save space * QRV info show also for dupe * Ctrl+L under SDL switches to 24G. Without SDL means terminal redraw. * Fixed SSID-calls add to C_W * Fixed chart points axis description * Changed font for msie in httpd =3.14= 2012-10-04 * Fixed contest load with 0 points * Fixed new cty.dat load, tnx to 9A4ZM =3.13= 2012-10-03 * Fixed right click out of windows titles * QTF in QRV window right aligned * Allow reverse sort in QRV window * Fixed crash in New Contest, tnx to SP5QWB * Fixed alternative slash key in QRV window, tnx to 9A4ZM * Updated cty.dat (2O12L) * Libzia-ver.so.d distributet, not working =3.12= 2012-10-01 * Fixed debian build --without-bfd * Fixed libzia's settins include in deb * Band multiplier for NAC * Alternative priority set to 50 (tucnak2 has 40) * Remote host is resolved * Fixed resolve error handle under platforms with getaddrinfo * Must not enter first two letters of locator (60LJ is JO60LJ for stn. from JN69) * Removed direct backtrace from internal_error * Fixed tucnak.d and bfd_open path * Autosave and floppy save fixes, TNX to OZ7Z * Platform and version to crash messageboxes's titles =3.11= 2012-09-21 * Left click on window tab shows context menu same as Subwins * Run mode stat next to WPM indicator * New hotkey Ctrl+R, tnx to 9A4ZM * Use speaker hidden under windows * Fixed text in tucnak3.desktop * QRV list transferred by New From Network * Fixed network reconnect when remote is connected * Enter in log window adds empty line for * Fixed accidental stdin close in winkey/rotator * New option net_remote_enable * Fixed color of lowercase KST call * Removed debugging of P3 command * Page Up in QSOs window wraps to end of list, TNX to OK1XDF * Fixed heap corruption after twice sf_close() when recording device cannot be opened * Binary zloc in libzia/src * Deb dependency to libzia of same version * Use -release in libzia creation =3.10= 2012-08-28 * Removed libbfd from debian build because binutils versions incompatibility * Fixed crash after tab in welcome dialog probably only under msvc/mingw =3.09= 2012-08-28 * Backtrace uses map file under mingw * Updated backtrace for msvc * Fixed winkey also under msvc/mingw =3.08= 2012-08-14 * Fixed winkey, TNX to OK1HRA * Unhandled Exception under mingw * Fixed compile under OpenSuse due broken binutils-devel * Platform in window title and on some next places * Fixed impout.dll for paralel port under mingw * Included settings from libzia * Fixed parameter parse (-i) under msvc/mingw * Example tucnaknames and tucnakcw in binary * Enter in Welcome dialog does not run Language choose =3.07= 2012-08-07 * Can be compiled under mingw, not tested * Fixed IPV6 resolving, tnx to CT1DRB * Fixed -liberty compile on OpenSuse, tnx to CT1DRB * SDL keyboard delay/rate taken from system under MSVC * Fixed operator send for Network Info * Fixed jump to first QSO in QSOs findow when first fucused * Fixed WAV search after Ctrl+P in QSOs window under MSVC * $E in default ssbd_template * Repeated play in Player window * Fixed subwin inputlines position without resize * Thread names for debugging * Band name in QSO info * Suspicious chars ?! are red * QSO check after call/locator enter * Maybe fixed rig QRG resend after band change =3.06= 2012-07-25 * Probably fixed fftw but not released * Msvc version uses Release build to improve speed * Fixed X11/putty mouse handle for coordinates>94 * Fixed RBN call selection in DXC window * Fixed background on gnome-terminal * Fixed DXC spots in HF window * Fixed Shell window under Linux * Code cleanup * Httpd options dialog * Fixed httpd SO_REUSEADDR * Fixed DXC spot parse =3.05= 2012-07-18 * Fullscreen Ctrl+F11 * Font change Ctrl+, Ctrl-, Ctrl0 * New font 8x13 * Disabled portaudio in linux build because ubuntu segfault in Pa_Initialize * Speedup: calls are not compared using regular expressions * Speedup: calls are hold also in hash * Oh mistake and Ask for sked in KST window * QSOs from all bands in QSOs window =3.04= 2012-07-03 * Fixed Tucnak data.lnk * Window title is Tucnak instead of tucnak3 * New contest from network (flood) * New spy method (flood) * Fixed operator load from contest files * Connection to remote tucnak * Kill connection in Subwin menu =3.03= 2012-06-18 (R1724) * red highlight of 73-like KST messages * turn on SSBWAY pin also during CW CQ to allow CQ on more band simultaneously * dark yellow calls in subwin only when worked on all read-write bands * fixed crash when sdl cannot be initialized * kst logged QRV stations from QRV list * fixed accidental QRV list sort change when subwin is leaved with Alt+number * changed color of qsos and qso gain in map subwin * svn version (revision) compiled-in in binary * fixed crash after contest wizard, TNX to OK3MAD * call selection and right mouse in qrv subwin * QSO window does not loose focus when switched to it * QSO window does not switch to last QSO when focused =3.02= 2012-05-09 (R1637) * fixed SSID'ized call info and call use in KST and DXC * fixed crash after home key in KST and DXC * fixed crash in quicksearch * fixed Diskfree text in audio dialog * fixed dxc_host delete * link with libzia can be static or dynamic * fixed new contest crash bug =3.01= 2012-05-02 * fixed fftw sample count handle * updated libfftw3 3.3.1 to pl1 for msvc * qrg entry in khz (.144300) * bandmap in dxc window * new key l in map * disable screensaver under msvc * format of -i * libusb in installer * fixed time_t 64bit bug, tnx to G1OGY * highlighted item in sked window, enter send to worked qso * hamlib rotator fix, tnx to OK1HRA * rotator poll interval * fixed slow chart redraw without qsos * portautio must be at least version 0.19 * fixed soundwrapper argc bug, tnx to DL1JBE * wider beamwidth in map * sked dialog rewrite, removed we_call and skedshift * charts are per band * loading of txt into chart loads also other bands * qso gain in for photo * alt+f4 closes tucnak under windows * progress indicator during exports and qso check * chart points axis value round * chart time axis extremes snapped to hours * removed charset menu * newline adter map image in wiki export * fixed portable calls in KST, DXC * QRB, QTF in Call info * removed Not mounted message when no floppy is defined * fixed floppy save under msvc =3.00= * first test - march contest 2012 OK2M * change SDL key repeat * azimuthal star in map * simplyfied first contest options * (untested) support for hamlib rotators * fixed names after Alt+C, tnx to OK1MZM/YL * macro $J * exact qrg in cabrillo, tnx to OK2CQR * fixed rig qrg set after band switch * kst reads cwdb and namedb from /sh us command * double font height * readonly flag in bands menu * set default rst-s after band change * fixed race condition in eventpipe mutex create * mast icon in map * fixed map for photo feature * fixed sconn free bug * fixed chart file not found message * hdkeyb is started only with rotar(s) * removed dump on Ctrl+L * fixed sdev error messages handling * fixed lockfile delete after keying device close * fixed crossmode warning in qso check * show wkd info from qrv list * fixed chart.c compile under msvc * fixed bug in CW speed using winkey. TNX to DL5YBZ * fixed font draw with height!=16 under graphic windows * wkd, qrv in qso info * alt+k accepts usernames like call-2 and call/p * ctrl+k does not add (CALL) * rst in edit qso saved as uppercase * network info for -i * actual band selected in band menu * show more chars of cw cq in menu * fixed minor bug in wiki and html export * fixed crash in wiki export without sdl * fixed crash in macro $B without contest * common code moved to libzia * split header.h into more smaller headers * memory allocations only from glib * removed cba_t * forked v3 =2.41= 2011-05-25 * released as tribute to Douglas Adams. Don't panic! * fixed trace_sock * fixed udev script - usb_device -> usb * fixed some gcc warnings * html/http/wiki exports map and chart as png * http server for contest progress presentation * changed fifo time format to HH:MM * fixed wiki map description * fixed volume indicator flicker * fixed trace condition * show chart files without sdl * fixed grid & boundaries in map, tnx to DG6MAN * libgpm is disabled by default * fixed player and chart windows add * fixed network interfaces detect * ignored duplicate $GLIB_CFLAGS, $GLIB_LIBS in configure.in * new macros in tucnak -s =2.40= 2011-04-05 * added _cv_ in autoconf cached variables * updated missing script * fixed iconv detection * fixed tucnakrc load under WIN32 * sdev trace * trace rewrite * split master db into more strings * rewritten cbr items choice for OKOM DX * compile under msvc and ming but unusable at this time * fixed qrv edit/insert (should overwrite another item) * added player (and chart) window types in Add subwin * removed testing code for Ctrl+P in main inputline * experiments with waterfall palette and filtering * frequency axis in fft scope * frequency argument in soundwrapper for testing * tab complete file in file import * chart subwin * fixed cursor position in inputline history alt+h * degree sign in C_W quick search * fixed alt+letter in qrv search * rig error code instead of qrg * changed rig debug level * fixed rigs with unsupported rig_get_vfo() * +1/-1 alloc bugs detection with --enable-leak-debug * fixed qrv insert from keyboard * fixed text upcase in qrv insert/edit =2.39= 2011-02-25 * fixed ftdi_context portability between libftdi versions * qso gain diagram * qrv gain diagram respects worked count * qrv item insert * qrv item edit * new contest loads ~/tucnak/qrv * fixed qrv points drawing when mouse move =2.38= 2011-02-20 * fixed bug in map window during contest load * fixed memory alloc problem in master db * degree sign as hexa constant 0xb0 * rewritten qrv database * fixed master database comment filter * increased length of contest option numbers, tnx to RU2FM * calls from master database are never deleted * fixed contest date in contest options * qso check warning if exists remark * fixed qsonr in cabrillo output, tnx to OK1HRA * fixed avg unit pts/km in wiki and html output * fixed compile without various --without combinations * removed forgotten font13x24.png create * QRG in edit QSO * correct size of screenshots in HTML export * fixed runmode CQ without hamlib, tnx to DL1JBE * fixed Ctrl+3 to Ctrl+9 under SDL * wav player seems to be usable =2.37= 2010-10-27 * two letters input moved to unresolved area * fixed some minors in runmode, tnx to OK3MAD * fixed soundwrapper sound frequency * rewritten runmode for A1/MMC * fixed runmode CQ only in CW mode (TNX to OK1HRA/TC03W) * fixed runmode TU * skeleton for wiki publish * fixed TU give in run mode * > for qrb>average in qsocheck * changed delay between hamlib rig calls for slow radios * fixed string truncate in inputline insert * rig freq read reads from actual VFO * rig mode change keeps bandwidth * fixed autogive=0 * expedition mode =2.36= 2010-09-27 * fixed rig ID choose * fixed segv in loading of contest with HF window and > 6 active bands * do not add 'similar call' to qsocheck when this call is also worked * set rig handshake to none (default for TS850 is CTS/RTS) * set rig timeout to 500ms (480s is unusable) * gdb and rigctl under cygwin * fixed cygncurses-9 dependency for sh.exe under cygwin * updated tucnakdw (4X, ZC4, many UA) * improved edit qso time parsing * autogive mode after some typed chars * macro $B * bell sign for character 7 under sdl * in macro $I dots are replaced by question marks * added baudrate for rig control * fixed R9SA parsing as report (tnx to OK1HRA) * WAZ and ITU in HF window * rewritten exc list in HF window * master call database * fixed SFI parse * "live" QSO list in HF window * enlarged layout of HF window * updated UA wwls in tucnakdw * fixed missing excs display * argument -m sets time from master PC * 'c' key for center screen to QTH * 'p' key for photo in map * fixed second part of CQSOs for method 16 * summery table with links to bands in html export * fixed buffer and period time to ms (was us) * similar calls are computed using Levenshtein distance * cleared qso check message * fixed top10 formatting for qrb>=1000 km * reverted to old udev rule style (for lenny) * fixed memory leaks in dwdb.c, rotar.c =2.35= 2010-06-30 * fixed crash in fft calculation * support for Championnat de France THF * alt-j: short access for A/C and M/S cq * qrv list save * configure checks for make * fixed large qso number display in global QSO mode, tnx to DL5YBZ * support for prefixes with slash (3D2/C) * fixed crash after IT9x call (* in prefix in cty.dat), tnx to DL5YBZ * fixed $MN macro, tnx to OK1HRA (GL in WPX!) * send CW2 and save QSO also after QSONR * list import * support for odd/even/1st/2nd TX (A/C, M/S) * fixed suid of soundwrapper * updated cty.dat * SYSFS{} changed to ATTR{} for new udev versions =2.34= 2010-04-26 * changed time separator from . to : * four digits are QSO number, not month and day of month * deb package uses suided soundwrapper * macro $I * fixed statistics calculation after loading of contest * added frequency to adif export * fixed exchange output in cabrillo and adif export * changed format of ChangeLog to Mediawiki source format * get back generated debian/changelog, it seems we have no DEB maintainer =2.33= 2010-02-18 * fixed usaca multiple names * rit clear after qso save in run mode * support for ARRL International DX Contest * fixed ARRL VHF scoring * turned off cq repeat for cwdaemon * rig changes: poll interval, mode and band transfer 20100213: 2.32 cabrillo export for ARRL VHF contests fixed leak debug on AMD64 fixed double rig_cleanup() fixed using of non-serial ports in hamlib (f.e. rpc.rigd, type 1901) rover (/R) are not dupe when are in different big wwl fixed EDI properties dialog script for Asus EEE binary and optimized configuration updated tucnakrc (HF bands, windows) 20100101; 2.31 fixed crash if mode is changed without FFT window. TNX to DF4OR crossmode test in QSO check 20091130: 2.30 fixed device locking under cygwin, tnx to G1OGY 20091103: 2.29 fixed corrupted contest date display in Open contest from net fixed tucnakdw; JN89 is in OM fixed cwdaemon and sdev double freeing recording level has filtered DC CW window holds PTT all time it is opened removed debugging show of 1's under volume indicator fixed (null) display in empty qrv list speeded up sdl key repeat removed delayed screen redraw fixed KST new call upcase DX network command sends only valid spots, no KST or other garbage fixed rig qrg display (mode switch worked) fixed ebw db import error message 20090921: 2.28 added font scale, height 16 to 32 pixels removed double font support updated display format of sked sked popup window updated German translation, tnx to DK1HJ directories are created with rights 0777 (& umask) frequency spectrum display (depends on libfftw3) 20090809: 2.27 changed GHz bands 120->122, 144->134. You need to change it in your tucnakrc! created local svn repository added 4O-YU and HV boundaries to map qsocheck checks unknown DXCC prefix cor is calculated in thread updated tucnakdw, synced with lx 1.36 automatic spacing of windows titles to fit screen fixed timeout in sconn_ftdi_read fixed bug in free_ssbd (cwda keeps not null but freed) optimized screen redraw on slow computers ptt lead-in delay for winkey qrv list 20090423: 2.26 castellano translation, tnx to LU9JMG! changed cw weight sense from obscure cwdaemon type to logical winkey type (30..70) fixed operator handling via network, causes bad operator name in Network monitor dxc shows only unmaked qsos configurable band switching rig freq can be entered by .300 (means 300 kHz, MHz are unchanged) new macro $e ('code' string when contest code was entered during file recording) rewritten parts of sdev stuff (rotator) rewritten rig control to threads fixed long delay at program exit (caused by rotator ttys) fixed DX cluster spot handling when no zulu time is present on the end. Tnx to DK2ZO support for winkey+davac4 at same time (experimental) fixed negative number read from tucnakrc*. Affected are ssbd_plev and ssbd_rlev fixed davac4 opening when an error occur ssbd use threads instead of processes scope subwin fixed rig_ssbcw_shift, was constant value 660 Hz fixed buggy usb_info(), tnx to OK1CED fixed missing ftdi_usb_get_strings() in libftdi 0.7, tnx to OK1CED fixed bug in menu_rotar_delete 20090222: 2.25 fixed compile bug without SDL (rotar.c sw_map_update_rotar) fixed minor bug in sndfile configuration 20090212: 2.24 removed unused experimental sdldyn code updated tucnakdw, tnx to OM4AA! data/sortdw.pl show rotar azimuth on map support for ftdi and remote rotator fixed '59001' input. Bad regexp. Tnx to G1OGY! fixed rotator serial port setup, tnx to hamlib RSGB variants M1-M4 in tucakwiz, tnx to G1OGY! 20081221: 2.23 changed RSGB contest scoring (dxcmult=1, total_method=2) fixed EDI export (EXC count) first support of rotator options dialog (not done!) first support for global QSO NR fixed bug in clear_tmpqsos, can cause segfault fixed compilation problem without hamlib, tnx to DL1JBE added new easier way to create dialogs contest name, qsos, qsop, total pts in statistics window total method 3 for cq ww dx contest, counts al bands together fixed defrstr at dialog load cq ww dx contest scoring show band name in meters for hf bands tucnakwiz fixes 20081213: 2.22 reworked tucnakwiz format to have same items as data files removed gen-conly, automatized intl creation rsts entered as 59, or 599, rstr entered as 59' or 599' qsonrr entered as 001; rewritten parts of exc qso inputline restricted only to valid chars fixed old (fix QRG first blind support of winkey vhf database is also loaded from ~/tucnak/vhf.dbf time is running when dialogs are opened tab closes cw window fixed cw window cursor delete old characters in cw window fixed break of played characters in cw window 20081013: 2.16 hotfix for segfault after network problem 20081002: 2.15 slash can be mapped to other character and vice versa double size of font fixed "bug that cannot happen" - crash when TCP connection is closed and more lines is in input buffer (rdbuf). Happens mostly on slow computers and/or under heavy load. first support for dynamic load of libsdl fixed frequency display > 2^31Hz removed forgotten debug sleep(10) after sigpipe 20080904: 2.14 probably fixed alsa bug (EINTR instead EPIPE) limited alsa recovery to 5 times band limitations in wizzard fill rst-r exc database reworked optional exchange types limited display of OE to 4 chars. stored size is unlimited AVG statistics moved right to Total-Points found bug in rc loading - can cause crash with new items in tucnakrc simplyfied rotator code using process removed thread-unsafe getpwuid rig control using hamlib skeds are sepparated by band. Removed sked file, data is in txt files ntp synchronization check and warnings ggsend band equipment for active contest over net kill subwin shells with SIGKILL under cygwin remember spypeers in spy file remember file:line of last mutex locks (for deadlock debug) fixed DXC crash when bandchars are not consequent spy peers are showed on all bands spy can spy all read-write bands sent RST doesn't change to default after mode change when it was entered by operator trace_xxx's write only to debug log and log files, not to screen text QRV on is showed red QRV bands in call info shift+arrows and zoom keys do fine zoom/shift alt+k in shell inputlines fill /CQ CALL command for ON4KST chat talk works across different contests or without contest 20080713: 2.13 fixed crash in alt+i without contest runtime glibc version in settings and tucnak -i removed spaces from variables bellow CFLAGS, LDFLAGS and LIBS in settings ld -z now when supported fixed crash in cwdaemon_send_defaults(), tnx to OK1HRA fixed overwriting of edi when ok_section_* is no set fixed compiler warning in free_keymaps() fixed !rotars crash after SIGTERM added share/tac2tuc.pl by G1OGY fixed loading of ~/tucnak/tucnakdw and ~/tucnak/cty.dat, tnx to G1OGY fixed optimalisation show in settings fill sked QRG when target band is changed ppdev present in settings data sizes and endianity in settings qrv on bands are taken from all bands, not only from higher bands qrv on bands doesn't show already worked stations tucnak -i shows program version contest close breaks recording handled select() EINTR in cwdaemon thread cygwin version in settings updated E7 and CN in tucnakdw (G1OGY) in qsocheck/call info all qsos has "call is without /p" flag snapshot has bandchar in filename html image uses bandchar in image links html exports shows own locator libgpmg1 is showed in settings as optional 20080703: 2.12 removed uname.exe from NSI alsa recording continue after buffer overrun removed KST "watchdog" 64px startup icon removed defrc.c replaced by data/tucnakrc configure shows library versions fixed some gcc-4.3 warnings fixed CT3, added CN and E7 in tucnakdw, tnx to G1OGY updated share/applications/tucnak2.desktop 20080620: 2.11 actual cty.dat externa cwdaemon support again qso check compares exact callsigns (/p) and locators on other bands statistics window shows odx per hours fixed screenshot in 8 and 16 bpp, tnx to OK2FUG PA tune function Alt+T in CW mode fixed bandchars beginning with "W" (lost item in arrays) fixed possibly ambiguous parentheses in ADDQSO 20080605: 2.10 fixed "59," crash, tnx G1OGY for inspiration removed gmtime(), replaced with gmtime_r() qsocheck.txt is ignoring older C_W items than 2 years for /P and similar checks time of qso in qsocheck.txt fixed missing newline in qsocheck.txt QSO mode in TOP10 columns titles for hours part in stats window fixed macro $V - it was same as $C increased length of screen resolution textboxes in misc options fixed reversed polarity of ssbway signal in davac4 20080502: 2.09 hotplug scripts for davac4 usb device support for davac4 by using libftdi wildcard '?' same as '.' support for parallel port under cygwin using inpout32.dll 20080227: 2.08 install script for NSIS support for cygwin reworked SSBD dialog, changed to Audio menu.c section in header.h split to menu1..menu5 scandir taked from glibc because of ambiguous prototype shift+backspace is same as backspace updated debian/*, tnx PG4I QSO check sets suspicous callsign (?/! as next to locator) QSO check in menu call information dialog Alt+I added highlight regexps for DX cluster fixed accidental band activating with Alt+letter map zoom by keys +/- has center in map center not mouse cursor new hotkey Ctrl+P for playing last recorded sample fixed recording when CW macro is undefined or SSB wav file is not found fixed quicksearch drawing without contest disabled first rotator in defrc fixed gses inputline position when resized in contest added penguin icon 64x64 updated cty.dat to 1710 new statistics qso points and qso count by hours wwl and dxc statistics show qso points and qso count new statistics qso/hour, points/hour, points/50 qso text wwl 'maps' showed only when scoring is 4 added 'watchdog' for PTT keying improved suspicious callsign indication removed bandchar from screenshot filenames updated make deb highlighting in KST shell uses dark yellow when call is already worked initialized 4th argument of snd_pcm_hw_params_set_buffer_time_near Special SEGV handling with minimal memory access Fixed recording of prepared contest 20071102: 2.07 fixed sw->minq after band change screenshot on key F1, Alt+F1 updated portuguese translation watchdog for shell inputlines 20071003: 2.06 fixed qsonrs replication in spy fixed insane chars in DXC window fixed dialog Contest options 1 20070830: 2.05 fixed boundary drawing in map new cty.dat fixed ttyS lockfile problem verbose DSP errors colorized call highlighting 20070808: 2.04 dialog misc options contest defaults stored in uppercase operator is sent over network when no contest is active added operator to tucnakrc(.local) handled unicode keyboard events, respect keyboard layout 20070706: 2.03 improved library detection debian package tips in configure basic alsa support fixed qsos on map logged when map inactive playing last recorded sample disabling compile optimalisation as configure option fixed name for second tmpqso call added km unit for tmpqso qrb added degrees sign in graphics mode fixed negative rotar address close fds 3-1023 before executing shell Fill operators moved to menu Contest Fill operators saves all bands 20070531: 2.02 removed debug line in qso replication - bad arguments leak debug only on configure demand - probably fails on AMD64 20070517: 2.01 released especially for Micinka & Lizinka probably fixed alt+letter with capslock new option Max fragment count 20070422: 2.00 independency on external files - only one binary is sufficient for running contest better handling of arguments on non-32bit architectures integrated functionality of cwdaemon, ssbd and ssbm subwins are functional without contest many many work forked branch 2 20061002: 1.30 fixed open mode for txt and edi files (CRCRLF under windoze) fixed makecol error without HAVE_SDL fixed minor bugs in Mark as error and Save as dupe added takeoff saving into tucnakrc fixed inputline position after new spy adding 20060829: 1.29 takeoff profile to map updated cty.dat added operator call peer selection dialog (C_W and cfg over net) added operator call to network info dialog rewritten qso spy removed cwdaemon_g.c added copyright information to source files portuguese translation, tnx to CT1DRB found allowC1Printable feature in xterm, disabling was useless don't show characters 127-159 (control chars for xterm) higlighting of raw call (without /P etc) QRV info showed in quicksearch improved QRV info about station improved regexp for WWC highlight info about same contest in network info dialog 20060623: 1.28 fixed buggy ptrarray alocation, tnx to OK1HRA removed cwdb hash hack added title page export 20060612: 1.27 fixed star drawing in map fixed border drawing in map fixed font to be iso8859-2 new spy mode shows full inputline fixed band loading from multiple rc files delay to rotar communication to prevent high cpu load fixed "(null)" write to tucnakrc default band in contest fixed bug in rel_write_almost_all - if (conn_prod_state) fixed signed/unsigned chars for gcc-4.0 Unfinished QSO add information from tmpqso Fixed QRV station on new contest (!ctest->tdate) Resets cwdaemon and ssbd after SIGSEGV 20060503: 1.26 Fixed key P in map Key T in map Fixed bug in main loop - timers and jobs were affected Show seconds Help for map hotkeys Call highlighting for WWC and WWC via KST QRV stations in polar map Beamwidth of antenna in polar map Fixes satisfies -Wpointer-arith and -Wstrict-prototypes 20060427: 1.25 Removing of expired DXC spots every 5 minutes Rotator dialog Fixed timers Fixed ESC in polar map Extended callsign regexps Fill operators back in menu Mark qso as not confirmed when qso with same call arrives from net Fixed desc file after contest options Fixed shell chars 0x84 and 0x85 WM icon Fixed map title Support for GPM 20060205: 1.24 Show RUN's TX state and call on S&P and vice versa Rotator fixes TOP 10 and statistics export by OM4AA 20050828: 1.23 RUN can TX (no CQ) when passed band control (to say QRL) time of stored qso cannot be older than last qso on band basic mouse support RUN+S&P together on one band fixed edi import fixed libpng detection sked QRG definition using Alt+F variable count of status lines fixed sked time and added configuration option for sked tikme shift change in statistics causes dirty band for saving removed saving .txt files after amount of qsos. Files are saved immediatelly. qso replication fixes 20050630: 1.22 removed DARC contest from tucnakwiz because of bad calculation method added ser_id to txt file fixed next bug in QSO replication 20050626: 1.21 fixed CRITICAL bug in QSO replication search for locator on other bands QRB rounding bug, thanks to OM4AA EDI import fixed, reported by OM4AA Gentoo ebuild files by Florian Evers Subwin configuration (not in menu yet) Fixed ssb_repeat 20050523: 1.20 Improved QRV message Bug in updating stats over net. Thanks to Stefan DL1ELY Exotic callsign entry with trailing slash Updates mode of QSO if report(s) edited Quicksearch shown regardless active subwin (tab) Recalculation of tmpqsos when locator is changed Bug in intl files (time skew net.c). THX2OM4AA II.subregional 20050313: 1.19 fixes for cygwin possibility to enter call like IW3RUA/IV3 fixed optional exchange display 20050311: 1.18 unwanted release of 1.18 :-) optional exchange by Marco IW3IKN fixed QRV bands Warning if received unknown callsign Changed saving to ~/tucnak/$T/log ADIF import, fixes in export 20050304: 1.17 I.subregional tomorrow... libpng for snapshots Fixes for AMD64 Fixes for -ansi Unused code clean Band character in snapshot filename Propagation modes in ADIF export Experimental rotator control, show direction in map Show date of latest C_W item in Memory info Remark and operator in tmpqsos Corrected QSO plotting in map DARC VHF/UHF/SHF contest. Thanks to DF1MA fixed some bugs in CW & SSB CQs 200411xx: 1.16 MMC after contest probably fixed very old bug with empty default RS&RST at IARU UHF contest fixed bug in ssb cq macro expanding 20040819: 1.15 Slovak translation & UTF-8, thanks to Michal Karas, OM4AA 20040818: 1.14 DL8EBW database import 20040805: 1.13 fixed bug in quicksearch of C_W show callsign in ERROR qso unfinished qso adds ERROR lines in Shell subwin containing <*call*> are highlighted (convers PM) keying and CQ are available under graphics (ESC,TAB,Fx) tucnak reads global config only if no user config exists Alt+1 turns focus to inputline qso repliacation fixes, INCOMPATIBLE change III. subregional 20040703: indication of running CQ's in left of main inputline fixed bad myid recognition added dependencies for .deb fixed SIGWINCH & inputline bug DX spots spreads over network Added some debug stuff for QSOs and DXC Microwave contest, some crashes 20040602: 1.10 fixed SSB CQ IARU II.subregional contest 20040501: 1.09 Fixed bad resizing of subwins with inputline Band map 20040320: 1.08 Code cleanup, program can be compiled with -Wall -Wpedantic -ansi Added correct IARU QSO points rounding (THX to OZ2M) Fixed crash in contest options save (THX to OK1MZM) 20040314: 1.07 Show operator and remark in QSO window (if terminal width>80) Show QRB/QTF in quicksearch Highlight operator's call/suffix in windows Fixed disabled input in talk Added --disable-glib[12] to configure Support for glib 2.x Shift+Arrows moves map with smaller step highlighted worked WWLs in polar map added my locator to "report" output format 20040215: 1.06 upadated documentation fixed minor bugs added some statistics to HTML export fixed HTML export to be valid HTML 4.01 big WWL names in polar map graphics screen save (F1) added Recalc QRB,QTF item in menu Edit recalculate QRB,QTF after changing QTH during contest fixed minor bugs in graphics screen redrawing Ctrl+P shows the polar map fixed autosave of QSOs arriving from net gfx window can be closed by WM icon fixed ADIF export to be compatible with TACLOG HTML export 20031123: 1.05 fixed 8bit color depth fixed network serial bug, INCOMPATIBLE change! log subwin doesn't scroll up when we look inside added horizontal scroll [ and ] to qsos and log subwins 20031115: 1.04 fixed hw2qrbqtf added M as multipath report (59M) log and subwin movement by [ and ] speed up polar map drawing (but there are some problems) added macros $D and $T fixed segfault pressing F4 rewritten graphics to use SDL instead of Allegro 20031020: 1.03 Fixed some packaging problems 20031013: 1.02 Setup->Network & trace Edit->Fill operators Alt+H = inputline history rewritten and rearranged dialog Edit QSO accelerated convergention of master choose traffic recording try to find locator also for raw call and call/p extended call-wwl handling #REMARK adds remark to qso 'r' in QSOs subwin mean there is remark fixed bad repaint when DUPE call is entered enter of 'q' toggle QSL PROMISED flag ~/tucnak/tucnakrc.local done Czech translation all translatable strings moved to intl/english.lng some minor fixes for -Wall fixed bug in destroy_bitmap (GRRRR!!) add File->Open/Close graphics window 20030927: 1.01 ignored unknown options in tucnakrc load C_W from net load configuration from net implemented other methods (7-11) implemented statute miles method (where is used?) (nr 5) implemented RSGB WWL ring (it's really correct?) (nr 3) ADIF export graphics polar map tab aborts CQ's unresolved items such as OK1ZIAV, 1160, OK1ZIA/B... showed upon inputline fixed bugs in tucnakdw for DXCC "G" and JO81 first support for ssbd 20030826: first public announce on Packet Radio 20030824: 1.00 fork()=0; getpid()=1.00; 20030824: 0.32 completed documentation some minor changes added make deb 20030819: 0.31 fixed QRV now added menu Subwin send AC after Contest->Contest options fixed net problem when only lo exists .12 means 12 only minutes 4 numbers in input mean month and day of month 20030817: OK activity contest without UFB 20030816: 0.30 Added screen save/restore in xterm Fixed bad readonly handling Semicolon in some items converted to colon (for network protocol) Rewritten macros like STORE_STR INCOMPATIBLE change in network format Added variable TUCNAK_DEBUG Term specifications written to tucnakrc Fixed bug in refresh_cwdaemon Fixed CW keying problem Added docs to /usr/local/share/doc Swap ASL and AGL texts Disabled debug by default, use -d or --debug to turn on Fixes for -Wall Xterm title setting Alpe adria VHF contest 20030801: 0.29 Removed socket debugging (it seems to be stable) Load [/etc/|~/]tucnakwiz too Alt+U do not add ERRROR QSO Fixed many bugs bear on permissions Network info show ID instead of TCP port Menu->Network replaced with Menu->File->Network info Stats subwin doesn't seek to end Fixed bug loading unfinished QSOs Added fifo length checking Fixed multiple CQ with same number Fixed string+1 bug in qth() Log, talk and skeds are saved/loaded NNXX replace 4 last letters in wwl X,XX,XXX replace suffix/last letters in wwl Added error checktig to .edi and .txt saving Fixed lock leak when there is no bands to load Tmpqsos clearing added to swap Detecting time skew 20030722: 0.28 Asynchronous C_W search (allow keying on slow machine) Fixed bug in scandir's return value Dialog "EDI properties (PAdr1,2)" Dialog "Contest defaults" Done configuration saving Fixed empty default_rs(t) OK activity contest 20030719: 0.27 divide qrv bands in Setup->Band options added mode number to edi file (there was 0 before) optimized saving to disk and statistics calculation fixed error saving replicated QSOs call/suffix highlighting in shell subwin user can send Ctrl+char via ^V char (like the vim) in shell subwin fixed multiple band definition bug save/load contest remarks (combine to one line) quicksearch displays band where the station was made added average pts/qso fixed cursor position in inputlines TAB allows keying wherever in program turn off console screensaver (maybe APM) and VESA powersaving features 20030706: Field day without fatal bugs 20030620: 0.26 suspicious characters ?,! in tmpqsos mean the same as in qsos fixed "Mark as ERROR" distribution fixed select() bug 20030618: 0.25 First attempt to be stable release TACLOG import Save configuration Added subwin with some statistics 20030518: 0.24 Added wildcard '.' to match any char in quick search Save operator change to swap QSO loading from swap ("Q ") Fixed desc file NULL problem Fixed band settings when contest is active OK VHF activity contest without problem PA4TU accepts my patch for cwdaemon 0.5beta, thanx Joop! EDI and TXT using \r\n instead of \n Sked is displayed on this tucnak's instance too 20030506: 0.23 Fixed multiple saving when loading Swap loading Update ~/tucnak/*/desc if call or tname changed Added chars ! and ? to locator when is suspicious Fixed bug in st->first_date when an ERROR exists Add subwin: added SKED & UNFInished save unfinished QSOs to .txt unfinished QSOs separated to bands added remark to unfinished QSO quick search searchs in other bands only if they exist fixed bug in net->myid when there is no interface II. subregional ctest - I must downgrade to 0.20 ($#@!#) 20030427: 0.22 added quick seach in other bands fixed some memory leaks and multiple free() fixed buf when !cfg->cwda_hostname fixed bug in Contest->Open wizz: don't add same contest twice F3 opens contest if not open 20030424: 0.21 don't use SO_REUSEADDR under cygwin (so more tucnak's can't bind the same tcp port) fixed BIG memory leak in use of g_ptr_array_free (Grrrr!) 20030419: 0.20 fixed scandir prototype (really?) support for cwdaemon-0.2.2-zia 20030404: 0.19 contest options during contest added contest wizard unfinished QSOs swapped and confirmed item is written to swap fixed NULL contest name in net_send_ac() extended remark size in sked to 60 chars prepare contest (specify date of ctest) rewritten contest options dialog: removed WWL type added Exc, QSO used, QSOp multi added "wizard" for qsop and total calculation methods sked to (higher) band fixed D_W again added /E, /J 20030319: 0.18 fixed D_W bug when central wwls are used fixed cursor in QSOs subwin added C_W update from contest or one band read tucnakcw and tucnakdw from ~/tucnak F3 turns off "immediate search" fixed band change during "immediate search" show qrb and qtf in duplicate qso 20030317: 0.17 updated call-wwl crosscheck talk: call@band: text time in log and shell subwins inputline history 20030303: 0.16 show READ-ONLY in inputline when band is r-o show operator makes ODX fixed replication of '(null)' fixed bad net->myid /p and similar switches with and without /p highlighting of subwin when new data arrives 20030301: 0.15 first big beta test (IARU VHF OK1ORU) some small contests (OK VHF activity) 20030226: 0.14 20030224: 0.13 20030216: 0.12 20030211: 0.11 20030115: 0.10 20021213: 0.09 20021211: 0.08 20021205: 0.07 20021125: 0.06 20021121: 0.05 20021120: 0.04 oldest source tarball 20021014 created project tucnak-4.32/missing0000755000175000017500000001533012632516463011261 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2013-10-28.13; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: tucnak-4.32/srcup.in0000644000175000017500000000056112412214255011334 00000000000000#!/bin/bash set -e OPTS='-atuvx' echo '' echo -n 'Password for rsync://ok1zia@nagano.cz: ' stty -echo read RSYNC_PASSWORD stty echo export RSYNC_PASSWORD cd ../libzia make dist rsync $OPTS libzia-@VERSION@.tar.gz ok1zia@nagano.cz::ok1zia/public_html/tucnak/ cd ../tucnak make dist rsync $OPTS @PACKAGE@-@VERSION@.tar.gz ok1zia@nagano.cz::ok1zia/public_html/tucnak/ tucnak-4.32/rebuild0000755000175000017500000000110013455565046011231 00000000000000#!/bin/bash set -x CPUS=`grep ^processor /proc/cpuinfo | wc -l` echo CPUS=$CPUS automake --add-missing -c autoreconf automake --add-missing -c ./configure make -j$CPUS #rm -f config.log config.cache config.h #aclocal #automake --add-missing #automake -c -a #automake doc/Makefile #automake intl/Makefile #automake pkg/Makefile #automake src/Makefile #automake win32/Makefile #dirs=`grep ^SUBDIRS Makefile.am|sed 's/.*=//'` #for dir in $dirs; do # echo automake $dir/Makefile # automake $dir/Makefile #done # #autoconf && ./configure && make clean && make -j$CPUS tucnak-4.32/eee.sh0000755000175000017500000000146112043471047010751 00000000000000#!/bin/bash # This script creates package for use on Asus EEE (Xandros) # Must be run on Debian Etch or older system # On EEE simply download and unpack file in home directory # then press Ctrl+Alt+T to start console and run tucnak/tucnak set -e cd ../libzia ./configure --without-ftdi make cd ../tucnak #./configure --without-gpm --without-ftdi --without-hamlib --without-fftw3 ./configure --without-gpm --with-pkg=eee make VER=`make ver` rm -rf eee mkdir eee cd eee mkdir tucnak cp ../src/tucnak tucnak sed 's/gfx_x *=.*/gfx_x = 792/' <../data/tucnakrc >1 sed 's/gfx_y *=.*/gfx_y = 416/' <1 >2 sed 's/loglines *=.*/loglines = 1/' <2 >3 sed 's/cwda_type *=.*/cwda_type = 0/' <3 >tucnak/tucnakrc F="tucnak3-eee-$VER.tar.gz" tar czf ../$F tucnak echo $F created cd .. rm -rf eee tucnak-4.32/COPYING0000644000175000017500000004311113620450051010677 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. tucnak-4.32/config.guess0000644000175000017500000013623213700111025012162 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2019 Free Software Foundation, Inc. timestamp='2019-07-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. tmp= # shellcheck disable=SC2172 trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 set_cc_for_build() { : "${TMPDIR=/tmp}" # shellcheck disable=SC2039 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } dummy=$tmp/dummy case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ,,) echo "int x;" > "$dummy.c" for driver in cc gcc c89 c99 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD="$driver" break fi done if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac } # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu set_cc_for_build cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" # If ldd exists, use it to detect musl libc. if command -v ldd >/dev/null && \ ldd --version 2>&1 | grep -q ^musl then LIBC=musl fi ;; esac # Note: order is significant - the case branches are not exclusive. case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ "/sbin/$sysctl" 2>/dev/null || \ "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine="${arch}${endian}"-unknown ;; *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "$machine-${os}${release}${abi-}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" exit ;; *:MidnightBSD:*:*) echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; *:OS108:*:*) echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) echo "$UNAME_MACHINE"-unknown-sortix exit ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) echo mips-dec-osf1 exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ [ "$TARGET_BINARY_INTERFACE"x = x ] then echo m88k-dg-dgux"$UNAME_RELEASE" else echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` case "$UNAME_MACHINE" in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if [ "$HP_ARCH" = "" ]; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ "$HP_ARCH" = hppa2.0w ] then set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo "$UNAME_MACHINE"-unknown-osf1mk else echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; arm:FreeBSD:*:*) UNAME_PROCESSOR=`uname -p` set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi else echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf fi exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) case "$UNAME_MACHINE" in x86) echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; i*:UWIN*:*) echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-pc-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; *:Minix:*:*) echo "$UNAME_MACHINE"-unknown-minix exit ;; aarch64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef mips #undef mipsel #undef mips64 #undef mips64el #if ${IS_GLIBC} && defined(_ABI64) LIBCABI=gnuabi64 #else #if ${IS_GLIBC} && defined(_ABIN32) LIBCABI=gnuabin32 #else LIBCABI=${LIBC} #endif #endif #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa64r6 #else #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa32r6 #else #if defined(__mips64) CPU=mips64 #else CPU=mips #endif #endif #endif #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) MIPS_ENDIAN= #else MIPS_ENDIAN= #endif #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; xtensa*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv"$UNAME_RELEASE" else echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac if command -v xcode-select > /dev/null 2> /dev/null && \ ! xcode-select --print-path > /dev/null 2> /dev/null ; then # Avoid executing cc if there is no toolchain installed as # cc will be a stub that puts up a graphical alert # prompting the user to install developer tools. CC_FOR_BUILD=no_compiler_found else set_cc_for_build fi if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then # uname -m returns i386 or x86_64 UNAME_PROCESSOR=$UNAME_MACHINE fi echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk"$UNAME_RELEASE" exit ;; NSV-*:NONSTOP_KERNEL:*:*) echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; *:Unleashed:*:*) echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" exit ;; esac # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" < #include #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #include #if defined(_SIZE_T_) || defined(SIGLOST) #include #endif #endif #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) #if !defined (ultrix) #include #if defined (BSD) #if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); #else #if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); #else printf ("vax-dec-bsd\n"); exit (0); #endif #endif #else printf ("vax-dec-bsd\n"); exit (0); #endif #else #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname un; uname (&un); printf ("vax-dec-ultrix%s\n", un.release); exit (0); #else printf ("vax-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname *un; uname (&un); printf ("mips-dec-ultrix%s\n", un.release); exit (0); #else printf ("mips-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 </dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: