<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&ksnapshot;">
  <!ENTITY package "kdegraphics">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Polish "INCLUDE"
> <!-- change language only here -->
]>

<book lang="&language;">

<bookinfo>
<title
>Podręcznik użytkownika aplikacji &ksnapshot-mianownik;</title>

<authorgroup>
<author
><firstname
>Richard</firstname
> <othername
>J.</othername
> <surname
>Moore</surname
> <affiliation
> <address
>&Richard.J.Moore.mail;</address>
</affiliation>
</author>

<author
><firstname
>Robert</firstname
> <othername
>L.</othername
> <surname
>McCormick</surname
> <affiliation
> <address
>&Robert.L.McCormick.mail;</address>
</affiliation>
</author>

<author
><firstname
>Brad</firstname
> <surname
>Hards</surname
> <affiliation
> <address
>&Brad.Hards.mail;</address>
</affiliation>
</author>

<othercredit role="reviewer"
><firstname
>Lauri</firstname
> <surname
>Watts</surname
> <affiliation
> <address
>&Lauri.Watts.mail;</address>
</affiliation>
<contrib
>Poprawki</contrib>
</othercredit>

<othercredit role="developer"
><firstname
>Richard</firstname
> <othername
>J</othername
> <surname
>Moore</surname
> <affiliation
> <address
>&Richard.J.Moore.mail;</address>
</affiliation>
<contrib
>Developer</contrib>
</othercredit>

<othercredit role="developer"
><firstname
>Matthias</firstname
> <surname
>Ettrich</surname
> <affiliation
> <address
>&Matthias.Ettrich.mail;</address>
</affiliation>
<contrib
>Developer</contrib>
</othercredit>

<othercredit role="translator"
><firstname
>Suse</firstname
><surname
>Polska</surname
><affiliation
><address
><email
>suse@suse.pl</email
></address
></affiliation
><contrib
>Polskie tłumaczenie</contrib
></othercredit
> <othercredit role="translator"
><firstname
>Maciej</firstname
><surname
>Wikło</surname
><affiliation
><address
><email
>maciej.wiklo@wp.pl</email
></address
></affiliation
><contrib
>Polskie tłumaczenie</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>1997-2000</year>
<holder
>&Richard.J.Moore;</holder>
</copyright>

<copyright>
<year
>2000</year>
<holder
>&Matthias.Ettrich;</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2006-07-05</date>
<releaseinfo
>0.7</releaseinfo>

<abstract>
<para
>&ksnapshot-mianownik; są prostym w obsłudze apletem do robienia zrzutów ekranu. Przy ich pomocy możesz przechwytywać obrazy całego pulpitu, pojedynczego okna, albo tylko fragmentu okna. Możesz je później zapisać w różnorodnych formatach.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>KSnapshot</keyword>
<keyword
>kdegraphics</keyword>
<keyword
>zrzuty ekranu</keyword>
<keyword
>przechwytywanie ekranu</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Wprowadzenie</title>

<para
>&ksnapshot-mianownik; są prostym w obsłudze apletem do robienia zrzutów ekranu. Przy ich pomocy możesz przechwytywać obrazy całego pulpitu, pojedynczego okna, albo tylko fragmentu okna. Możesz je później zapisać w różnorodnych formatach.</para>

<para
>Jakiekolwiek problemy lub sugestie związane z aplikacją zgłaszaj do <ulink url="http://bugs.kde.org/wizard.cgi"
>Systemu śledzenia błędów &kde;</ulink
></para>

</chapter>

<chapter id="using-ksapshot">
<title
>Korzystanie z &ksnapshot-dopelniacz;</title>

<para
>Ten rozdział opisuje sposób korzystania z &ksnapshot-dopelniacz; do robienia zrzutów ekranu.</para>

<sect1 id="starting">
<title
>Uruchamianie &ksnapshot-dopelniacz;</title>

<para
>&ksnapshot-mianownik; mogą być uruchomione na jeden z wielu sposobów, wymienionych poniżej.</para>

<itemizedlist>
<listitem>
<para
>Możesz uruchomić &ksnapshot-biernik;, wybierając z <menuchoice
> <guimenu
>Menu K</guimenu
><guisubmenu
>Programy</guisubmenu
> <guisubmenu
>Grafika</guisubmenu
> <guimenuitem
>&ksnapshot-mianownik; (Program do zrzutów ekranu)</guimenuitem
></menuchoice
>. </para
></listitem>
<listitem>
<para
>Możesz uruchomić &ksnapshot-dopelniacz; wpisując, co następuje, w wierszu poleceń:</para>
<screen width="40"
><prompt
>%</prompt
> <command
>ksnapshot &amp;</command
>
</screen>
</listitem>
<listitem
><para
>Linia polecenia &krunner; (wywołana przez <keycombo action="simul"
>&Alt;<keycap
>F2</keycap
></keycombo
>) może również służyć do uruchomienia &ksnapshot-dopelniacz;</para
></listitem>
</itemizedlist>

<para
>Jak tylko uruchomisz &ksnapshot-mianownik;, zobaczysz takie okno: <mediaobject>
<imageobject>
<imagedata fileref="window.png" format="PNG"/>
</imageobject>
<textobject
><phrase
>Okno podglądu &ksnapshot-dopelniacz;</phrase>
</textobject>
</mediaobject>
</para>

</sect1>

<sect1 id="taking-snapshot">
<title
>Robienie zrzutu ekranu</title>

<para
>&ksnapshot-mianownik; przechwytują widok pulpitu natychmiast po uruchomieniu, ale jeszcze przed wyświetleniem się na ekranie. To pozwala na szybkie tworzenie zrzutów ekranu.</para>

<para
>Zrzut ekranu, zrobiony przez &ksnapshot-biernik; jest wyświetlany w oknie podglądu, które znajduje się w górnej części okna aplikacji &ksnapshot-mianownik;. Poniżej znajduje się przykładowe okno podglądu &ksnapshot-dopelniacz;. Podgląd będzie się różnił, w zależności od tego, co było wyświetlone na pulpicie.</para>

<mediaobject>
<imageobject>
<imagedata fileref="preview.png" format="PNG"/>
</imageobject>
<textobject
><phrase
>Okno podglądu &ksnapshot-dopelniacz;</phrase>
</textobject>
</mediaobject>

<para
>Zrzut zapisać można, klikając na przycisku <guibutton
>Zapisz jako...</guibutton
>. Zostanie wtedy otwarte standardowe okno zapisywania &kde;, gdzie można wybrać nazwę pliku, położenie i format wykonanego zrzutu. Jeśli wykonano więcej niż jeden zrzut ekranu, nazwa pliku jest automatycznie dopasowana, aby uniknąć nadpisywania poprzednich zrzutów. Możesz jednak zmienić nazwę pliku na jakąkolwiek inną, również na nazwę poprzednio zapisanego zrzutu. </para>

<para
>Aby dokonać zrzutu pojedynczego okna, z rozwijanej listy <guilabel
>Tryb zrzutów</guilabel
> wybierz <guilabel
>Okno pod kursorem</guilabel
>, a następnie kliknij przycisk <guibutton
>Nowy zrzut</guibutton
>.</para>

<para
>W zależności od ustawienia w oknie <guilabel
>Opóźnienie:</guilabel
>, możesz albo uzyskać krzyżyk, jako wskaźnik myszy (dla opcji <guilabel
>Bez opóźnienia</guilabel
>), albo pracować ze zwykłym kursorem dopóki nie minie określony czas i nie zostanie zrobiony zrzut.</para>

<para
>Przy wybranej opcji <guilabel
>Bez opóźnienia</guilabel
>, zrzut jest robiony natychmiast, gdy tylko klikniesz na oknie.</para>

<para
>&ksnapshot-mianownik; wyświetlą nowy zrzut w obszarze podglądu. Możesz teraz wybrać, czy zapisać zrzut (klikając na <guibutton
>Zapisz jako ...</guibutton
>), czy zrobić nowy, wciskając przycisk <guibutton
>Nowy zrzut</guibutton
>.</para>

<para
>Aby zrobić nowy zrzut całego pulpitu, z listy rozwijanej wybierz opcję <guilabel
>Pełny ekran</guilabel
>, a następnie kliknij przycisk <guibutton
>Nowy zrzut</guibutton
>, dzięki czemu &ksnapshot-mianownik; przechwycą cały pulpit.</para>

<para
>Aby zrobić nowy zrzut całego pulpitu, z rozwijanej listy wybierz <guilabel
>Obszar</guilabel
> i ustaw <guilabel
>Opóźnienie</guilabel
> na <guilabel
>Bez opóźnienia</guilabel
>, a następnie kliknij przycisk <guibutton
>Nowy zrzut</guibutton
>. Kursor myszy zmieni się w krzyżyk, który umożliwi zaznaczenie obszaru do przechwycenia. </para>

<para
>Aby wykonać nowy zrzut fragmentu okna, z rozwijanej listy wybierz <guilabel
>Część okna</guilabel
> i kliknij przycisk <guibutton
>Nowy zrzut</guibutton
>. Jeśli wybrana jest opcja <guilabel
>Bez opóźnienia</guilabel
>, kursor myszy zmieni się w krzyżyk, a pojedyncze kliknięcie lewym przyciskiem myszy wewnątrz okna spowoduje podświetlenie fragmentu okna czerwoną linią i wykonanie zrzutu. </para>

</sect1>

<sect1 id="additional-features">
<title
>Cechy dodatkowe</title>

<sect2 id="delay">
<title
>Opóźnienie</title>

<para
>Opcja <guilabel
>Opóźnienie:</guilabel
> pozwala na określenie czasu, w sekundach, jaki upłynie między kliknięciem na przycisk <guibutton
>Nowy zrzut</guibutton
>, a momentem dokonania przez aplikację zrzutu.</para>

<para
>Jeśli określiłeś opóźnienie, nie musisz klikać myszą, aby dokonać zrzutu. To umożliwia Ci np. otworzenie menu rozwijanego i zrobienie jego zdjęcia.</para>

</sect2>

<sect2 id="window-decoration">
<title
>Wyłącz dekorację okna</title>

<para
><guilabel
>Dołącz dekorację okna</guilabel
> jest ustawione domyślnie w trybie <guilabel
>Okno pod kursorem</guilabel
>.</para>

<para
>Jeśli chcesz dokonać tylko zrzutu aplikacji, bez otaczających dekoracji okna, zdezaktywuj tą opcję i dokonaj nowego zrzutu.</para>

</sect2>
<!-- not in 4.1
<sect2 id="print-snapshot">
<title
>Print</title>

<para
>When you want to print your snapshot from the preview, just click
<guibutton
>Print...</guibutton
> and you get the standard &kde; Print dialog, from
where you can directly print your snapshot.</para>
</sect2>
-->
<sect2 id="copy-snapshot">
<title
>Kopiuj do schowka</title>

<para
>Jeśli chcesz edytować swój zrzut ekranu w programie do przeglądania lub edycji grafiki bez zapisywania obrazka, kliknij <guibutton
>Kopiuj do schowka</guibutton
> i wklej obrazek do odpowiedniego programu.</para>
</sect2>


<sect2 id="bottom-buttons">
<title
>Przyciski</title>

<para
>Na dole okna &ksnapshot-dopelniacz; znajdują się dwa dodatkowe przyciski. Ich funkcje są opisane poniżej.</para>

<variablelist>
<varlistentry>
<term
><guibutton
>Pomoc</guibutton
></term>
<listitem
><para
>Otwiera menu, w którym możesz znaleźć <guimenuitem
>Podręcznik użytkownika aplikacji &ksnapshot-mianownik;</guimenuitem
>, złożyć raport o błędzie, zmienić język programu lub uzyskać informacje <guimenuitem
>o &kde;</guimenuitem
> i <guimenuitem
>o aplikacji &ksnapshot-mianownik;</guimenuitem
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Zamknij</guibutton
></term>
<listitem
><para
>Zamyka aplikację &ksnapshot-mianownik;.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>
</sect1>
</chapter>

<chapter id="dcop">

<title
>Interfejs &DBus;</title>
<!--
kdedev@rebutia:~/svn$ qdbus org.kde.ksnapshot-10484
/
/KDebug
/KSnapshot
/MainApplication
kdedev@rebutia:~/svn$ qdbus org.kde.ksnapshot-10484 /
method QString org.freedesktop.DBus.Introspectable.Introspect()

kdedev@rebutia:~/svn$ qdbus org.kde.ksnapshot-10484 /KSnapshot
method void org.kde.ksnapshot.slotGrab()
method void org.kde.ksnapshot.slotOpen(QString application)
method void org.kde.ksnapshot.slotSave()
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()

kdedev@rebutia:~/svn$ qdbus org.kde.ksnapshot-10484 /MainApplication
method void org.kde.KApplication.quit()
method void org.kde.KApplication.reparseConfiguration()
method void org.kde.KApplication.updateUserTimestamp()
method void org.kde.KApplication.updateUserTimestamp(int time)
property readwrite int com.trolltech.Qt.QApplication.cursorFlashTime
property readwrite int com.trolltech.Qt.QApplication.doubleClickInterval
property readwrite QSize com.trolltech.Qt.QApplication.globalStrut
property readwrite int com.trolltech.Qt.QApplication.keyboardInputInterval
property readwrite bool com.trolltech.Qt.QApplication.quitOnLastWindowClosed
property readwrite int com.trolltech.Qt.QApplication.startDragDistance
property readwrite int com.trolltech.Qt.QApplication.startDragTime
property readwrite QString com.trolltech.Qt.QApplication.styleSheet
property readwrite int com.trolltech.Qt.QApplication.wheelScrollLines
property readwrite QString com.trolltech.Qt.QCoreApplication.applicationName
property readwrite QString com.trolltech.Qt.QCoreApplication.applicationVersion
property readwrite QString com.trolltech.Qt.QCoreApplication.organizationDomain
property readwrite QString com.trolltech.Qt.QCoreApplication.organizationName
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()

kdedev@rebutia:~/svn$ qdbus org.kde.ksnapshot-10484 /KDebug
method void org.kde.KDebug.notifyKDebugConfigChanged()
method void org.kde.KDebug.printBacktrace()
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()
-->
<para
>&ksnapshot-mianownik; obsługuje skrypty. Mechanizm ten korzysta z interfejsu &DBus;. Ten rozdział wyjaśnia różne wywołania &DBus;, których można używać, oraz podaje przykłady ich użycia.</para>

<para
>Jak we wszystkich wywołaniach &DBus; musisz podać program, który ma być wykorzystany, oraz dany interfejs. Dla &ksnapshot-dopelniacz; należy podać nazwę programu, czyli <literal
>ksnapshot-</literal
> wraz z numerem procesu.</para>
<!-- dbus-launch ksnapshot-->
<!-- ksnapshot qdbus org.kde.ksnapshot-20985-->
<para
>Aby uruchomić &ksnapshot-biernik; i uzyskać poprawny argument, użyj <command
>dcopstart ksnapshot</command
>, co zwraca argument (jak <computeroutput
>ksnapshot-20594</computeroutput
>) w standardowym wyjściu.</para>

<para
>Możesz pobrać listę dostępnych interfejsów &DCOP;, używając poprawnych argumentów, jak w poniższym przykładzie: <screen width="60"
><prompt
>$</prompt
> <command
>dcop `dcopstart ksnapshot` interface</command
><computeroutput>
QCStringList interfaces()
QCStringList functions()
QString url()
void slotGrab()
void slotPrint()
void slotSave()
bool save(QString filename)
void slotSaveAs()
void slotCopy()
void setTime(int newTime)
int timeout()
void setURL(QString newURL)
void setGrabMode(int grab)
int grabMode()
void slotMovePointer(int x,int y)
void exit()
</computeroutput
>
</screen>
</para>

<para
>W poniższych przykładach procesem jest zawsze <computeroutput
>ksnapshot-23151</computeroutput
>. </para>

<sect1 id="dcop-settings">

<title
>Dostęp &DCOP; do ustawień</title>

<para
>Dla każdego ustawienia, które możesz kontrolować za pomocą &GUI-dopelniacz;, możesz uzyskać stan danego ustawienia i zmienić to ustawienie za pomocą &DCOP;. </para>

<para
>Bieżący tryb zrzutów możesz uzyskać, używając <literal
>grabMode</literal
>, jak poniżej: <screen width="60">
<prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface grabMode</command>
</screen
>Spowoduje to zwrócenie <computeroutput
>0</computeroutput
> dla przechwytywania całego ekranu, <computeroutput
>1</computeroutput
> dla okna lub <computeroutput
>2</computeroutput
> dla obszaru. </para>

<para
>Możesz ustawić tryb zrzutów, używając <literal
>setGrabMode</literal
>, co wymaga argumentu identyfikującego wymagany trybu (jak dla <literal
>grabMode</literal
>). Możesz więc ustawić tryb przechwytywania okna (<command
>1</command
>), używając: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface setGrabMode 1</command
>
</screen>
</para>

<para
>Możesz uzyskać bieżące ustawienia opóźnienia, używając <literal
>timeout</literal
>, jak poniżej: <screen width="60">
<prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface timeout</command>
</screen
> Spowoduje to zwrócenie ustawienia opóźnienia w sekundach lub wartości zero dla braku opóźnienia (przechwytywania kliknięciem). </para>

<para
>Możesz zmienić ustawienia opóźnienia, używając <literal
>setTime</literal
>, co wymaga argumentu identyfikującego okres opóźnienia. Możesz więc ustawić 4-sekundowe opóźnienie, używając: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface setTime 4</command
>
</screen>
</para>

<para
>Możesz uzyskać informacje o ścieżce zapisu zrzutów, używając <literal
>url</literal
>, jak poniżej: <screen width="60">
<prompt
>$</prompt
><command
>dcop ksnapshot-23151 interface url</command>
</screen
> Spowoduje to zwrócenie nazwy pliku w postaci adresu &URL; (np. <computeroutput
>file:///home/bradh/test2.png</computeroutput
>). </para>

<para
>Możesz ustawić ścieżkę zapisu, używając <literal
>setURL</literal
>, co wymaga argumentu identyfikującego nową ścieżkę. Możesz więc ustawić ścieżkę na <literal
>file:///home/bradh/snapshot.jpg</literal
>, używając: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface setURL file:///home/bradh/snapshot.jpg</command
>
</screen>
</para>

</sect1>

<sect1 id="dcop-snapshot">
<title
>Wykonywanie zrzutów ekranu z &DCOP;</title>

<para
>Aby wykonać zrzut ekranu z &DCOP;, należy użyć <literal
>slotGrab</literal
>, jak poniżej: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface slotGrab</command
>
</screen>
</para>

<para
>Zostanie wykonany zrzut ekranu przy użyciu bieżącego trybu zrzutów i ustawień opóźnienia (jak opisano powyżej). Jeśli chcesz zapisać zrzut ekranu, możesz użyć określonej liczby wywołań. Jeśli chcesz zapisać obrazek do bieżącej ścieżki (zwróconej przez <literal
>url</literal
> lub zmienionej za pomocą <literal
>setURL</literal
>), możesz użyć <literal
>slotSave</literal
>, jak poniżej: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface slotSave</command
>
</screen>
</para>

<para
>Jeśli chcesz zezwolić użytkownikowi na określenie nazwy pliku (i ścieżki), możesz użyć <literal
>slotSaveAs</literal
>, co spowoduje pojawienie się standardowego okna zapisu pliku &kde;.</para>

<para
>Jeśli chcesz zapisać obrazek pod inną nazwą (lub ścieżką) bez zmieniania ścieżki za pomocą <literal
>setURL</literal
>, możesz użyć <literal
>save</literal
>, podając jednocześnie adres żądany &URL; jako argument. Jeśli więc chcesz zapisać zrzut ekranu do <filename
>file:///tmp/tempshot.png</filename
>, wykonaj: <screen width="60">
<prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface save file:///tmp/tempshot.png</command>
</screen
> Spowoduje to zwrócenie prawdy, jeśli zrzut zostanie poprawnie zapisany lub fałszu w przeciwnym wypadku. Zauważ również, że jeśli plik już istnieje, powinno pojawić się standardowe okno &kde;, pozwalające decydować o tym, czy nadpisać istniejący plik, czy zapisać go pod inną nazwą. </para>

<para
>Oprócz zapisywania zrzutu, możesz również skopiować go do schowka, używając <literal
>slotCopy</literal
>, jak poniżej: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface slotCopy</command
>
</screen>
</para>

<para
>Jeśli potrzebujesz wybrać okno, które może nie być pod kursorem myszy, użyj <literal
>slotMovePointer</literal
>, podając pozycję x (w pikselach) oraz pozycję y (również w pikselach) jako argumenty. Aby więc przenieść kursor myszy do lewego górnego rogu ekrany (0,0), wykonaj: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface slotMoveMouse 0 0</command
>
</screen>
</para>
</sect1>

<sect1 id="dcop-print">
<title
>Drukowanie zrzutów z &DCOP;</title>

<para
>Możesz wydrukować bieżący zrzut ekranu (który może, ale nie musi być zapisany), używając <literal
>printSlot</literal
>, jak poniżej: <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface slotPrint</command
>
</screen>
</para>

<para
>Zostanie wywołane normalne okno drukowania &kde;, które może wymagać interakcji użytkownika. </para>

</sect1>

<sect1 id="dcop-exit">
<title
>Kontrola programu z &DCOP;</title>

<para
>Możesz zakończyć pracę programu &ksnapshot-mianownik;, używając <literal
>exit</literal
>, jak poniżej. <screen width="60"
><prompt
>$</prompt
> <command
>dcop ksnapshot-23151 interface exit</command
>
</screen>
</para>

</sect1>

</chapter>

<chapter id="credits">

<title
>Autorzy i licencja</title>

<para
>Prawa autorskie</para>
<itemizedlist>
<listitem
><para
>1997-2000 &Richard.J.Moore; &Richard.J.Moore.mail;</para
></listitem>
<listitem
><para
>2000 &Matthias.Ettrich; &Matthias.Ettrich.mail;</para
></listitem>
</itemizedlist>

<para
>Dokumentacja bazuje na oryginale, copyright 1997-2000 &Richard.J.Moore; &Richard.J.Moore.mail;</para>
<para
>Suse Polska<email
>suse@suse.pl</email
></para
><para
>Maciej Wikło<email
>maciej.wiklo@wp.pl</email
></para
> 
&underFDL; &underGPL; </chapter>

&documentation.index;
</book>

<!--
Local Variables:
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
End:
-->




