From: temporary <agnieszka kurdemamdosc.pl>
Subject: Re: czesc jest ...
temporary wrote:
>
> czesc
>
> jaki jest najlepsazy aparat fotrograficzny
>
> aha.
> [OT]
> pl.foto
>
> basia
najlepsza jest lustrzanka
mario
From: temporary <agnieszka kurdemamdosc.pl>
Subject: Re: fghfgh
frehar wrote:
> fghfgh
shgtfdgjhdfghjdgd
:)
From: "Kamil P." <no email.void>
Subject: ak
ak
--
Pozdrawiam Kamil P.
From: "Kamil P." <no email.void>
Subject: Re: czesc jest ...
temporary wrote:
> temporary wrote:
>>
>> czesc
>>
>> jaki jest najlepsazy aparat fotrograficzny
>>
>> aha.
>> [OT]
>> pl.foto
>>
>> basia
>
> najlepsza jest lustrzanka
>
> mario
kopytko
--
Pozdrawiam Kamil P.
From: Pajarito <akalla sjdkd.pl>
Subject: 1... 2... 3... test mikrofonu
Slychac cos?
From: tsurmacz spamfilter.ict.pwr.wroc.pl
Subject: ### Witamy w pl.test ### DO NOT IGNORE THIS POSTING!
Posted-By: auto-faq 3.1.1.2
Archive-name: pl-test-faq
*****************************************************************************
PONIZSZE INFORMACJE SA BARDZO WAZNE - PRZECZYTAJ JE, JEZELI WYSLALES DO
GRUPY pl.test JAKIS TEST, ABY SPRAWDZIC, CZY ZOSTAL ON WYSLANY POPRAWNIE!
*****************************************************************************
Witamy w grupie pl.test! (i nie tylko)
Grupy pl.test, oraz inne - takie jak pwr.test, umk.test itp. stworzone
sa specjalnie w celu umozliwienia wszystkim testowania konfiguracji
czytnikow news (a takze serwerow).
Jesli wyslales artykul w jednej z tych grup, powinien sie on pojawic na
serwerze w ciagu kilku minut. Jesli nie ma go - sprawdz, czy masz we
wlasciwy sposob ustawiony adres serwera news. W systemach unixowych
czestym bledem jest brak ustawienia zmiennej srodowiskowej NNTPSERVER.
Czytniki news czesto radza sobie bez niej, jesli wylacznie czytaja news,
natomiast jest ona potrzebna, by newsy mozna bylo wysylac. Problemem moze
tez byc wpisywana przez czytnik news zawartosc pola From: - problem ten
jest opisany ponizej.
Jesli artykul pojawil sie, to polowe sukcesu masz juz za soba. Teraz
powinienes obejrzec caly artykul (wlacznie z naglowkami! - jesli uzywasz
tin-a, nacisnij ctrl-H czytajac artykul) i zwroc uwage na nastepujace
rzeczy:
1. Czy twoj adres w polu From: jest poprawny?
Adres powinien byc w pelnej postaci tzn. np. user host.domain.net
Czesto zdarza sie, ze adres ten zawiera po prostu nazwe uzytkownika
(np. 'user' lub niepelna nazwe hosta ('user host'). Na takie listy
nie da sie odpowiedziec emailem! Jesli adres nie jest poprawny, a
news wyslales z komputera PC lub za pomoca programu Netscape, zmien
ten adres w konfiguracji programu wysylajacego news. Jesli wysylales
news z systemu UNIX (np. uzywajac tin. nn, rn itp.) popros
administratora systemu, by to poprawil. Niektore czytniki news w
systemach UNIX pozwalaja na ustawienie w odpowiednich plikach
konfiguracyjnych zawartosci naglowkow, w szczegolnosci From: i
Reply-To:. Jezeli z obawy przed spamem wpisujesz nieistniejacy
adres e-mail, wpisz przybajmniej istniejaca nazwe hosta,
dopisujac cos przy nazwie uzytkownika, a takze wpisz istniejacy i
poprawny adres Reply-To:.
Czesto pojawiajacy sie adres user PROBLEM_WITH_INEWS_GATEWAY_FILE
oznacza zla konfiguracje czytnika tin na Linuxach - nalezy poprosic
administratora systemu o poprawienie. Podobnie, jesli adres ten to
"Put Your Name Here", you somehost.somedomain, itp. itd.
W nowszych dystrybucjach (Slackware 2.3 i RedHat) na odmiane jest to
"user I_should_put_my_domain_in_etc_NNTP_INEWS_DOMAIN". Tekst ten
to zawartosc pliku /etc/NNTP_INEWS_DOMAIN, do ktorego nalezy wpisac
pelna nazwe komputera.
Jesli wyslales artykul do pl.test i twoj adres jest poprawny,
najpozniej nastepnego dnia powinienes poczta elektroniczna otrzymac
list z "automatycznej odpowiadaczki", mowiacy, ze list Twoj dotarl
poprawnie do serwera news.pdi.lodz.pl. Jesli w przyszlosci chcesz
uniknac automatycznych odpowiedzi, wysylajac list do pl.test umiesc
w polu 'Subject:' slowo 'ignore' lub 'ignoruj'.
Odpowiedz od wspomnianego programu mozesz uzyskac nawet wtedy, gdy Twoj
adres JEST EWIDENTNIE BLEDNY, lecz poprawny adres udalo sie wyciagnac
z pola 'Nntp-Posting-Host:' naglowka. Jesli wiec otrzymales
automatyczna odpowiedz, mimo wszystko sprawdz zawartosc pola 'From:'
w wyslanym artykule (lub naglowkach otrzymanych w automatycznej
odpowiedzi).
Gdzie to poprawic:
TIN: Makefile przed kompilacja - opcja NNTP_INEWS_DOMAIN.
Domyslnie jest to ustawione na "/etc/mailname", co
oznacza, ze w takim pliku nalezy wpisac nazwe komputera
pojawiajaca sie w polu From:. Mozna tez zamiast pliku
podac wprost "NNTP_INEWS_DOMAIN=pelna.nazwa.komputera".
Przy okazji warto zdefiniwac tez "NNTP_DEFAULT_SERVER".
Czesto ustawony jest on na "/etc/nntpserver" lub
"/etc/news/server" i wtedy wystarczy jedynie w tym pliku
wpisac nazwe serwera news. Mozna to zmienic takze w plikach
konfiguracyjnych w ~/.tin/tinrc.
RedHat Linux 3.0.3: /etc/HOSTNAME
PINE: /usr/local/lib/pine.conf /usr/local/lib/pine.conf.fixed
~/.pinerc. Nalezy poprawic opcje:
# Sets domain part of From: and local addresses in outgoing mail.
user-domain=
dopisujac w niej pelna nazwe komputera, np.:
user-domain=jakis.host.pl
NETSCAPE: Nalezy wybrac kolejno opcje:
Options/Preferences/Mail and News/Your Email
i tam wpisac pelny adres, wraz z nazwa uzytkownika.
Niektore systemy, takie jak SunOS, Solaris lub Linux maja tez
problemy z funkcja gethostname(), ktora nie zwraca pelnej nazwy
hosta (z doklejona domena), lecz tylko skrocona. PRZYKLADOWO -
jesli zamiast uzytkownik tester.domena.pl pojawia sie sama nazwa
hosta (czyli tylko uzytkownik tester), to pomoc moze edycja pliku
/etc/hosts i wpisanie w nim najpierw pelnego adresu, a dopiero potem
skroconego, np. tak:
127.0.0.1 localhost
123.45.6.78 tester.domena.pl tester
I jedna uwaga na koniec. Nawet jezeli udalo Ci sie wyslac artykul z
blednie wypelnionym polem From:, to nie oznacza ze tak ma zostac, bo
po co tracic czas na poprawianie... Nowsze wersje serwerow news nie
przyjmuja juz takich artykulow, oznajmiajac "441 Posting failed".
Jezeli w pewnym momencie wysylanie newsow przestalo Ci dzialac -
sprawdz jeszcze raz zawartosc From: - moze na serwerze, z ktorego
korzystasz, pojawila sie nowsza wersja oprogramowania... :-)
Jesli chcesz uzywac adresu zmodyfikowanego tak, by spammerzy nie
mogli go latwo wyciagnac z twoich listow, zadbaj chociaz, by adres
hosta/domeny, ktory podajesz byl poprawny. Czyli zmien tylko nazwe
uzytkownika, albo (jesli masz takie mozliwosci) utworz specjalna
domene, ktora nie przyjmuje poczty, ale jest poprawnie zarejestrowana w
systemie DNS. Jezeli twoim adresem pocztowym jest user abc.def.ghi.pl,
podaj swoj adres w postaci user_NO_SPAM abc.def.ghi.pl lub utworz
specjalna poddomene typu spamtrap.abc.def.ghi.pl, nospam.abc.def.ghi.pl
itp. Domena powinna miec zarejestrowany rekord MX wskazujacy na system,
ktory taka poczte przyjmie, ale odbije. W takim przypadku dobrym
zwyczajem jest umieszczenie wlasciwego adresu email w polu Reply-To:.
2. Czy pole 'Organization:' jest wypelnione poprawnie
Jesli nie ma go w ogole, ryzykujesz ze niektore z systemow
znajdujacych sie "po drodze" w newsach lub e-mailu (niektore grupy
istnieja rownolegle w news i jako listy dyskusyjne) dopisza wlasne
pole 'Organization:'.
Gdzie to poprawic?
PINE: /usr/local/lib/pine.conf /usr/local/lib/pine.conf.fixed
~/.pinerc (np. opcja "customized-hdrs")
TIN: /etc/organization lub opcja w Makefile podczas
kompilacji.
NETSCAPE: Options/Preferences/Mail and News/Your Organization
3. Czy data jest poprawna.
Jesli na pierwszy rzut oka nie zgadza sie ona o godzine lub dwie -
sprawdz dokladniej. Jesli wyslales o 15:00 z komputera w Polsce, a
data w naglowku wyglada na '13:00 +0000' lub '13:00 GMT' to wszystko
jest w porzadku, bo nasz czas letni to GMT+2. Tak wiec 15:00 czasu
GMT+2 to wlasnie 13:00 czasu GMT. Jesli jest '15:00 MET DST', to
takze wszystko jest ok. choc lepiej by bylo, gdyby taka data zostala
przedstawiona jako '15:00 +0200'. Kilkuminutowa rozbieznoscia z
czasem oficjalnym mozesz sie nie przejmowac, natomiast jesli data
jest z PRZYSZLOSCI lub DALEKIEJ PRZESZLOSCI, to bedziesz mial
problemy z prawidlowa propagacja artykulu.
Artykuly "z przyszlosci" sa generalnie przez serwery odrzucane z
komunikatem "Bad date" lub "NNTP Error 441 Article posted in the
future." Artykuly starsze niz 10-14 dni nie sa przyjmowane z
komunikatem "Too old". Artykuly z data spozniajaca sie pare dni
zostana przyjete, ale istnieje ryzyko, ze zanim dotra do wszystkich
serwerow news, zdaza zostac zakwalifikowane jako "Too old".
Gdzie to poprawic:
Komputery PC - zwykle wystarczy poprawic zle ustawiona date (komenda
'date') lub poprzez ustawienie zmiennej 'TZ' zdefiniowac
strefe czasowa. Dla Polski powinno to byc 'TZ=+0200'
latem (gdy obowiazuje czas letni), a TZ=+0100 od konca
pazdziernika do konca marca.
Komputery UNIX - nalezy skontaktowac sie z administratorem i
"wyprostowac" problem strefy czasowej. Zwykle polega to
na utworzeniu odpowiedniego dowiazania symbolicznego w
katalogu /etc lub /etc/share/timezones powodujacego
wlasciwe ustawienie zmiennej srodowiskowej TZ (dla
wszystkich programow) po zrebootowaniu systemu.
4. Czy pole 'Distribution:' ma wlasciwa zawartosc.
Standardowo, moze go w ogole nie byc, moze byc puste lub moze
zawierac slowo 'world' ('Distribution: world'). Jesli sam nie
dopisywales innej dystrybucji (np. 'pl'), lecz czytnik news lub serwer
to za ciebie zrobil, to skontaktuj sie z administratorem news (na
serwerze z ktorego korzystasz) i powiedz mu o tym.
Jesli sprawdziles te cztery punkty i wszystko gra (Szczegolnie punkty
1. i 3. !!!), to nie powinienes miec zadnych problemow z wysylaniem
artykulow news.
Uwagi ogolne dotyczace konfigurowania czytnikow.
Czytniki UNIX
Czytniki news pracujace w systemie UNIX maja dwa sposoby ustalania
danych takich, jak adres komputera, czy innych, wspomnianych tu,
parametrow. Moga dane te uzyskac za pomoca funkcji systemowych (np.
gethostname() lub z plikow konfiguracyjnych i zmiennych srodowiskowych.
Praktycznie wszystkie korzystaja z metody drugiej, wspomagajac sie
pierwsza tylko wtedy, gdy brak pliku konfiguracyjnego i zadne ze
sprawdzanych zmiennych srodowiskowych nie sa ustawione. Problem
tylko z jakich plikow i zmiennych korzystaja.
To mozna jednak sprobowac sprawdzic samemu, przeszukujac skompilowany
program. Sluzy do tego komenda 'strings'. Jesli wiec programem, z ktorym
nie mozemy sobie poradzic jest tin, znajdujacy sie w /usr/local/bin,
sprobowac mozemy w ten sposob:
strings /usr/local/bin/tin | more
lub
strings /usr/local/bin/tin | sort | more
a nastepnie poszukac wszystkiego, co wyglada na nazwy plikow (znaki "/"
w nazwie, nazwy zwykle samymi malymi literami, obecnosc "etc" itp.) lub
zmienne srodowiskowe (nazwy wielkimi literami z ew. znakiem podkreslenia).
Byc moze w ten sposob uda sie uniknac rekompilacji programu tylko po
to, by znalezc gdzie powinny zostac umieszczone jego pliki konfiguracyjne.
A jesli nawet to zawiedzie, zawsze pozostaje mozliwosc uruchomienia
sledzenia wykonywania programu i wszystkich funkcji systemowych przez
niego wywolywanych - sluza do tego programy strace (na wiekszosci
systemow) lub truss (Solaris). Mozna wiec uruchomic na przyklad:
strace tin |& less
i poszukac odwolan do funkcji open(), za pomoca ktorej najprawdopodobniej
program otwiera plik konfiguracyjny lub stat() lub fstat(), za pomoca
ktorego moze sprawdzac, czy plik istnieje (jesli szuka go w kilku
miejscach).
Powodzenia!
Czytniki w systemie MS-Windows
Najczesciej wystepujacym problemem jest tutaj niewlasciwe kodowanie
polskich znakow diakrytycznych, czyli literek a (a z ogonkiem), c (c z
kreseczka) itd. Jedynym poprawnym standardem uznawanym w internecie do
transmisji listow po polsku jest ISO-8859-2. Inne standardy opisuja inne
jezyki - ISO-8859-1 np. opisuje zestaw znakow potrzebnych do zakodowania
znakow specjalnych wystepujacych w jezykach zachodnioeuropejskich
(np. niemieckim, francuskim itp.).
Innym problemem jest takze wysylanie dodatkow w postaci zalacznikow
HTML lub binarnych (oslawiony MS-TNEF Microsoft exploitera). Aby
listy byly mozliwe do odczytania przez wszystkich uzytkownikow
usenet news nalezy takie opcje wylaczyc.
Poprawne wysylanie listow po polsku w Netscape jest dosc pokretne:
1. nalezy ustawic kodowanie ISO-8859-2
2. nalezy wlaczyc tworzenie listow w HTML (!)
3. ustawic konwersje z HTML do zwyklych plikow tekstowych (plain
text).
Ostatnie dwa punkty nalezy ustawic znajdujac opcje Edit->Preferences->Mail,
nastepnie Groups->Messages i ustawiajac "By default, send rich text (HTML)
messages", po czym naciskajac przycisk "more options" i zaznaczajac w
opcjach "always convert the message to Plain Text".
Wiecej informacji o tym jak wylaczyc wysylanie listow jako HTML w
roznych przegladarkach i programach pocztowych mozna znalezc pod adresem
http://expita.com/nomime.html
-------------------------------------------------------------------
(c) 1997-2002, Tomasz Surmacz (tsurmacz ict.pwr.wroc.pl), 26.06.2002
Artykul ten wysylany jest automatycznie w grupie pl.test i innych
lokalnych polskich grupach *.test raz na tydzien, w nadziei, ze pomoze
w konfigurowaniu czytnikow news przez wszystkich uzytkownikow systemu
USENET NEWS.
Uwagi na jego temat sa BARDZO MILE WIDZIANE (na powyzszy adres). Np.
chetnie dolacze gotowe wzorce postepowania w przypadku "standardowych"
bledow typu PROBLEM_WITH_INEWS_GATEWAY_FILE. Jesli miales tego typu
problem i udalo ci sie go rozwiazac - NAPISZ! Po co kolejna osoba ma
tracic czas na rozwiazywanie dokladnie tych samych problemow?...
$Id: pl-test-faq.pl,v 1.2 1998/01/19 01:09:03 ts Exp ts $
From: "aaa" <aaa aaa.aaa>
Subject: tesc
tesc
From: zeef48 hotmail.com (Yiddish is For Ever-Jewish Music)
Subject: (Yiddish is for Ever poste) [1/1] - "09 Baby Yar.mp3" 48 jewish songs by Jacqui Sussholz (01/16)
=ybegin part=1 line=128 size=3917008 name=09 Baby Yar.mp3
=ypart begin=1 end=249600
sn]-***R+X~s~\***3***l£J~zo[***:***tJ}€~kvl***=}***JJp ~|mu***0***ZbY[`~o|***/***[ccZ~myx***3***T
£myww***n****dYY‘‘‘X£WW X74JJpJ£~oxm***;***sJ^XaX[X]Z****************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
**************************************************************